From 2ca5e1a973a4ce3b32217757a1bfdaa9258bc24c Mon Sep 17 00:00:00 2001 From: Developer Experience team at Ignite Date: Mon, 16 Dec 2024 20:53:54 +0100 Subject: [PATCH 01/99] Initialized with Ignite CLI --- Dockerfile | 57 - Makefile | 35 - cardchain/.github/workflows/release.yml | 53 + cardchain/.gitignore | 6 + {app => cardchain/app}/app.go | 275 +- {app => cardchain/app}/encoding.go | 2 +- {app => cardchain/app}/export.go | 22 +- {app => cardchain/app}/genesis.go | 0 {app => cardchain/app}/params/encoding.go | 0 {app => cardchain/app}/simulation_test.go | 40 +- .../cmd/cardchaind}/cmd/config.go | 2 +- .../cmd/cardchaind}/cmd/genaccounts.go | 0 .../cmd/cardchaind}/cmd/root.go | 7 +- .../cmd/cardchaind}/main.go | 5 +- cardchain/config.yml | 21 + cardchain/docs/docs.go | 40 + {docs => cardchain/docs}/static/openapi.yml | 41589 +++++++--------- cardchain/docs/template/index.tpl | 28 + go.mod => cardchain/go.mod | 123 +- cardchain/go.sum | 1686 + .../proto/cardchain/cardchain/genesis.proto | 12 + .../proto/cardchain/cardchain}/params.proto | 4 +- .../proto/cardchain/cardchain/query.proto | 26 + cardchain/proto/cardchain/cardchain/tx.proto | 7 + readme.md => cardchain/readme.md | 22 +- .../testutil/keeper/cardchain.go | 8 +- .../testutil}/network/network.go | 17 +- .../testutil}/nullify/nullify.go | 0 .../testutil}/sample/sample.go | 0 cardchain/tools/tools.go | 11 + .../x/cardchain}/client/cli/query.go | 8 +- .../x}/cardchain/client/cli/query_params.go | 2 +- .../x/cardchain}/client/cli/tx.go | 3 +- .../x/cardchain}/genesis.go | 15 +- cardchain/x/cardchain/genesis_test.go | 29 + cardchain/x/cardchain/keeper/keeper.go | 46 + .../x}/cardchain/keeper/msg_server.go | 2 +- .../x}/cardchain/keeper/msg_server_test.go | 6 +- .../x/cardchain}/keeper/params.go | 2 +- .../x}/cardchain/keeper/params_test.go | 4 +- .../x/cardchain/keeper/query.go | 2 +- .../x/cardchain}/keeper/query_params.go | 2 +- .../x/cardchain/keeper/query_params_test.go | 4 +- .../x/cardchain}/module.go | 9 +- .../x/cardchain}/module_simulation.go | 14 +- .../x}/cardchain/simulation/helpers.go | 0 .../x/cardchain}/types/codec.go | 7 - cardchain/x/cardchain/types/errors.go | 12 + .../x/cardchain}/types/expected_keepers.go | 0 .../x/cardchain}/types/genesis.go | 6 +- cardchain/x/cardchain/types/genesis.pb.go | 319 + .../x}/cardchain/types/genesis_test.go | 16 +- .../x/cardchain}/types/keys.go | 4 +- .../x/cardchain}/types/params.go | 0 .../x/cardchain}/types/params.pb.go | 33 +- cardchain/x/cardchain/types/query.pb.go | 536 + cardchain/x/cardchain/types/query.pb.gw.go | 153 + .../x/cardchain}/types/tx.pb.go | 29 +- .../x/cardchain}/types/types.go | 0 config.yml | 107 - config/nginx-test.conf | 137 - config/nginx.conf | 139 - docker-compose.yml | 39 - docker-run.sh | 113 - docker-stop-and-export.sh | 18 - docs/docs.go | 6 - go.sum | 3962 -- goat/Dockerfile | 20 - goat/app.js | 59 - goat/package-lock.json | 813 - goat/package.json | 16 - ignite | 36 - peer_nodes.json | 20 - proto/buf.lock | 23 - proto/buf.yaml | 11 - proto/cardchain/cardchain/card.proto | 88 - .../cardchain/copyright_proposal.proto | 13 - proto/cardchain/cardchain/council.proto | 42 - .../cardchain/early_access_proposal.proto | 11 - proto/cardchain/cardchain/encounters.proto | 21 - proto/cardchain/cardchain/genesis.proto | 39 - proto/cardchain/cardchain/image.proto | 9 - proto/cardchain/cardchain/match.proto | 32 - .../cardchain/match_reporter_proposal.proto | 11 - proto/cardchain/cardchain/num.proto | 9 - proto/cardchain/cardchain/params.proto | 35 - proto/cardchain/cardchain/query.proto | 332 - .../cardchain/cardchain/running_average.proto | 8 - proto/cardchain/cardchain/sell_offer.proto | 21 - proto/cardchain/cardchain/server.proto | 11 - proto/cardchain/cardchain/set.proto | 51 - proto/cardchain/cardchain/set_proposal.proto | 11 - proto/cardchain/cardchain/tx.proto | 467 - proto/cardchain/cardchain/user.proto | 63 - proto/cardchain/cardchain/voting.proto | 37 - proto/cardchain/cardchain/zealy.proto | 10 - proto/cardchain/featureflag/flag.proto | 10 - proto/cardchain/featureflag/genesis.proto | 16 - proto/cardchain/featureflag/proposal.proto | 11 - proto/cardchain/featureflag/query.proto | 58 - proto/cardchain/featureflag/tx.proto | 7 - scripts/backupGenesis.sh | 4 - scripts/buildlaunch-node.sh | 9 - scripts/card_rarities.tsv | 121 - scripts/card_starters.tsv | 72 - scripts/cardchaindconfig-testnet.json | 7 - scripts/createUser.sh | 7 - scripts/download_genesis.py | 15 - scripts/genesis_balances.tsv | 201 - scripts/keys/exporthex.sh | 3 - scripts/migrate_with_data.py | 167 - scripts/old/full_setup.sh | 3 - scripts/old/import_old_genesis.py | 67 - scripts/paramchange.json | 12 - scripts/paramchange/paramchange.json | 12 - scripts/paramchange/submitproposal.sh | 8 - scripts/paramchange/vote.sh | 9 - scripts/register_faucet.sh | 27 - scripts/sets/add-artwork.sh | 7 - scripts/sets/add-cards.sh | 153 - scripts/sets/buy-booster-pack.sh | 7 - scripts/sets/card-rarity.sh | 153 - scripts/sets/create-set.sh | 3 - scripts/sets/finalize-set.sh | 11 - scripts/sets/howto.txt | 27 - scripts/sets/story.sh | 7 - scripts/sets/vote.sh | 9 - scripts/tests/test_council.sh | 29 - scripts/tests/test_reporting.sh | 11 - scripts/tests/test_setup.sh | 17 - scripts/validators/craft_genesis_balances.js | 30 - scripts/validators/genesis_balances.tsv | 1 - scripts/validators/get_delegators.sh | 12 - .../validators/merged_genesis_balances.tsv | 201 - scripts/validators/package-lock.json | 21 - scripts/validators/package.json | 5 - .../validators/snapshots/airdrop05.01.24.tsv | 57 - .../validators/snapshots/airdrop16.04.24.tsv | 66 - .../validators/snapshots/airdrop28.02.24.tsv | 67 - .../validators/snapshots/genesis_balances.tsv | 162 - scripts/validators/validator_snapshot.py | 111 - scripts/zealy.tsv | 68 - testutil/keeper/cardchain.go | 84 - types/denom.go | 17 - .../generic_type_keeper.go | 137 - .../keyworded_generic_type_keeper.go | 60 - x/cardchain/client/cli/query.go | 73 - .../client/cli/query_q_account_from_zealy.go | 46 - x/cardchain/client/cli/query_q_card.go | 46 - .../client/cli/query_q_card_content.go | 51 - .../client/cli/query_q_card_contents.go | 54 - .../client/cli/query_q_cardchain_info.go | 42 - x/cardchain/client/cli/query_q_cards.go | 145 - x/cardchain/client/cli/query_q_council.go | 50 - x/cardchain/client/cli/query_q_encounter.go | 50 - .../cli/query_q_encounter_with_image.go | 50 - x/cardchain/client/cli/query_q_encounters.go | 42 - .../cli/query_q_encounters_with_image.go | 42 - x/cardchain/client/cli/query_q_match.go | 50 - x/cardchain/client/cli/query_q_matches.go | 92 - x/cardchain/client/cli/query_q_sell_offer.go | 50 - x/cardchain/client/cli/query_q_sell_offers.go | 89 - x/cardchain/client/cli/query_q_server.go | 50 - x/cardchain/client/cli/query_q_set.go | 50 - x/cardchain/client/cli/query_q_sets.go | 73 - x/cardchain/client/cli/query_q_user.go | 46 - .../client/cli/query_q_voting_results.go | 42 - .../client/cli/query_rarity_distribution.go | 42 - .../client/cli/submit_copyright_proposal.go | 59 - .../cli/submit_early_access_proposal.go | 64 - .../cli/submit_match_reporter_proposal.go | 54 - x/cardchain/client/cli/submit_set_proposal.go | 56 - x/cardchain/client/cli/tx.go | 82 - x/cardchain/client/cli/tx_add_artwork.go | 53 - .../client/cli/tx_add_artwork_to_set.go | 48 - x/cardchain/client/cli/tx_add_card_to_set.go | 51 - .../client/cli/tx_add_contributor_to_set.go | 48 - x/cardchain/client/cli/tx_add_story_to_set.go | 48 - .../client/cli/tx_apoint_match_reporter.go | 42 - x/cardchain/client/cli/tx_buy_card.go | 46 - x/cardchain/client/cli/tx_buy_card_scheme.go | 46 - x/cardchain/client/cli/tx_buy_set.go | 47 - x/cardchain/client/cli/tx_change_alias.go | 42 - x/cardchain/client/cli/tx_change_artist.go | 48 - .../client/cli/tx_commit_council_response.go | 61 - x/cardchain/client/cli/tx_confirm_match.go | 55 - .../client/cli/tx_connect_zealy_account.go | 42 - x/cardchain/client/cli/tx_create_council.go | 46 - .../client/cli/tx_create_sell_offer.go | 52 - x/cardchain/client/cli/tx_create_set.go | 54 - x/cardchain/client/cli/tx_createuser.go | 44 - .../client/cli/tx_disinvite_early_access.go | 42 - x/cardchain/client/cli/tx_donate_to_card.go | 53 - x/cardchain/client/cli/tx_encounter_close.go | 53 - x/cardchain/client/cli/tx_encounter_create.go | 56 - x/cardchain/client/cli/tx_encounter_do.go | 47 - x/cardchain/client/cli/tx_finalize_set.go | 46 - .../client/cli/tx_invite_early_access.go | 42 - x/cardchain/client/cli/tx_msg_open_match.go | 56 - x/cardchain/client/cli/tx_multi_vote_card.go | 40 - .../client/cli/tx_open_booster_pack.go | 46 - .../client/cli/tx_register_for_council.go | 40 - .../client/cli/tx_remove_card_from_set.go | 51 - .../cli/tx_remove_contributor_from_set.go | 48 - .../client/cli/tx_remove_sell_offer.go | 46 - x/cardchain/client/cli/tx_report_match.go | 63 - x/cardchain/client/cli/tx_restart_council.go | 46 - .../client/cli/tx_reveal_council_response.go | 50 - .../cli/tx_rewoke_council_registration.go | 40 - .../client/cli/tx_save_card_content.go | 66 - x/cardchain/client/cli/tx_set_card_rarity.go | 60 - x/cardchain/client/cli/tx_set_profile_card.go | 46 - x/cardchain/client/cli/tx_set_set_artist.go | 48 - x/cardchain/client/cli/tx_set_set_name.go | 48 - .../client/cli/tx_set_set_story_writer.go | 47 - .../client/cli/tx_set_user_biography.go | 42 - x/cardchain/client/cli/tx_set_user_website.go | 42 - .../client/cli/tx_transfer_booster_pack.go | 48 - x/cardchain/client/cli/tx_transfer_card.go | 48 - x/cardchain/client/cli/tx_vote_card.go | 53 - x/cardchain/client/cli/util.go | 7 - x/cardchain/client/proposal_handler.go | 12 - x/cardchain/genesis.go | 137 - x/cardchain/genesis_test.go | 42 - x/cardchain/handler.go | 153 - x/cardchain/keeper/airdrops.go | 35 - x/cardchain/keeper/arrays.go | 16 - x/cardchain/keeper/arrays_test.go | 18 - x/cardchain/keeper/card.go | 57 - x/cardchain/keeper/card_test.go | 56 - x/cardchain/keeper/coin.go | 106 - x/cardchain/keeper/coin_test.go | 36 - x/cardchain/keeper/council.go | 142 - x/cardchain/keeper/council_test.go | 46 - x/cardchain/keeper/early_access.go | 17 - x/cardchain/keeper/grpc_query_params.go | 19 - x/cardchain/keeper/grpc_query_q_card.go | 62 - .../keeper/grpc_query_q_card_content.go | 41 - .../keeper/grpc_query_q_cardchain_info.go | 30 - x/cardchain/keeper/grpc_query_q_cards.go | 260 - x/cardchain/keeper/grpc_query_q_council.go | 22 - x/cardchain/keeper/grpc_query_q_match.go | 22 - x/cardchain/keeper/grpc_query_q_matches.go | 82 - x/cardchain/keeper/grpc_query_q_sell_offer.go | 22 - .../keeper/grpc_query_q_sell_offers.go | 83 - x/cardchain/keeper/grpc_query_q_server.go | 20 - x/cardchain/keeper/grpc_query_q_set.go | 36 - x/cardchain/keeper/grpc_query_q_sets.go | 67 - x/cardchain/keeper/grpc_query_q_user.go | 26 - .../keeper/grpc_query_q_voting_results.go | 22 - .../keeper/grpc_query_rarity_distribution.go | 24 - x/cardchain/keeper/incentives.go | 49 - x/cardchain/keeper/incentives_test.go | 27 - x/cardchain/keeper/keeper.go | 365 - x/cardchain/keeper/match.go | 235 - x/cardchain/keeper/match_test.go | 75 - x/cardchain/keeper/msg_server_add_artwork.go | 43 - .../keeper/msg_server_add_artwork_to_set.go | 35 - .../keeper/msg_server_add_card_to_set.go | 61 - .../msg_server_add_contributor_to_set.go | 36 - .../keeper/msg_server_add_story_to_set.go | 33 - .../msg_server_apoint_match_reporter.go | 14 - x/cardchain/keeper/msg_server_buy_card.go | 44 - .../keeper/msg_server_buy_card_scheme.go | 50 - x/cardchain/keeper/msg_server_buy_set.go | 61 - x/cardchain/keeper/msg_server_change_alias.go | 28 - .../keeper/msg_server_change_artist.go | 35 - .../msg_server_commit_council_response.go | 73 - .../keeper/msg_server_confirm_match.go | 50 - .../msg_server_connect_zealy_account.go | 40 - .../keeper/msg_server_create_council.go | 83 - .../keeper/msg_server_create_sell_offer.go | 46 - x/cardchain/keeper/msg_server_create_set.go | 38 - x/cardchain/keeper/msg_server_createuser.go | 16 - .../msg_server_disinvite_early_access.go | 41 - .../keeper/msg_server_donate_to_card.go | 25 - .../keeper/msg_server_encounter_close.go | 52 - .../keeper/msg_server_encounter_create.go | 81 - x/cardchain/keeper/msg_server_encounter_do.go | 41 - x/cardchain/keeper/msg_server_finalize_set.go | 62 - .../keeper/msg_server_invite_early_access.go | 48 - .../keeper/msg_server_msg_open_match.go | 35 - .../keeper/msg_server_multi_vote_card.go | 27 - .../keeper/msg_server_open_booster_pack.go | 73 - .../keeper/msg_server_register_for_council.go | 58 - .../keeper/msg_server_remove_card_from_set.go | 34 - .../msg_server_remove_contributor_from_set.go | 42 - .../keeper/msg_server_remove_sell_offer.go | 37 - x/cardchain/keeper/msg_server_report_match.go | 45 - .../keeper/msg_server_restart_council.go | 32 - .../msg_server_reveal_council_response.go | 76 - .../msg_server_rewoke_council_registration.go | 28 - .../keeper/msg_server_save_card_content.go | 73 - .../keeper/msg_server_set_card_rarity.go | 27 - .../keeper/msg_server_set_profile_card.go | 33 - .../keeper/msg_server_set_set_artist.go | 24 - x/cardchain/keeper/msg_server_set_set_name.go | 24 - .../keeper/msg_server_set_set_story_writer.go | 24 - .../keeper/msg_server_set_user_biography.go | 28 - .../keeper/msg_server_set_user_website.go | 28 - .../msg_server_transfer_booster_pack.go | 49 - .../keeper/msg_server_transfer_card.go | 52 - x/cardchain/keeper/msg_server_vote_card.go | 30 - x/cardchain/keeper/params.go | 21 - x/cardchain/keeper/pools.go | 34 - x/cardchain/keeper/pools_test.go | 36 - .../keeper/query_q_account_from_zealy.go | 25 - x/cardchain/keeper/query_q_card_contents.go | 32 - x/cardchain/keeper/query_q_encounter.go | 22 - .../keeper/query_q_encounter_with_image.go | 25 - x/cardchain/keeper/query_q_encounters.go | 22 - .../keeper/query_q_encounters_with_image.go | 31 - x/cardchain/keeper/sell_offer_test.go | 25 - x/cardchain/keeper/server.go | 32 - x/cardchain/keeper/server_test.go | 22 - x/cardchain/keeper/set.go | 125 - x/cardchain/keeper/set_test.go | 39 - x/cardchain/keeper/user.go | 137 - x/cardchain/keeper/user_test.go | 28 - x/cardchain/keeper/vote_right.go | 95 - x/cardchain/keeper/voting.go | 87 - x/cardchain/keeper/zealy.go | 47 - x/cardchain/module.go | 180 - x/cardchain/module_simulation.go | 780 - x/cardchain/proposal_handler.go | 101 - x/cardchain/simulation/add_artwork.go | 29 - x/cardchain/simulation/add_artwork_to_set.go | 29 - x/cardchain/simulation/add_card_to_set.go | 29 - .../simulation/add_contributor_to_set.go | 29 - x/cardchain/simulation/add_story_to_set.go | 29 - .../simulation/apoint_match_reporter.go | 29 - x/cardchain/simulation/buy_card.go | 29 - x/cardchain/simulation/buy_card_scheme.go | 29 - x/cardchain/simulation/buy_set.go | 29 - x/cardchain/simulation/change_alias.go | 29 - x/cardchain/simulation/change_artist.go | 29 - .../simulation/commit_council_response.go | 29 - x/cardchain/simulation/confirm_match.go | 29 - .../simulation/connect_zealy_account.go | 29 - x/cardchain/simulation/create_council.go | 29 - x/cardchain/simulation/create_sell_offer.go | 29 - x/cardchain/simulation/create_set.go | 29 - x/cardchain/simulation/createuser.go | 29 - .../simulation/disinvite_early_access.go | 29 - x/cardchain/simulation/donate_to_card.go | 29 - x/cardchain/simulation/encounter_close.go | 29 - x/cardchain/simulation/encounter_create.go | 29 - x/cardchain/simulation/encounter_do.go | 29 - x/cardchain/simulation/finalize_set.go | 29 - x/cardchain/simulation/invite_early_access.go | 29 - x/cardchain/simulation/msg_open_match.go | 29 - x/cardchain/simulation/multi_vote_card.go | 29 - x/cardchain/simulation/open_booster_pack.go | 29 - .../simulation/register_for_council.go | 29 - .../simulation/remove_card_from_set.go | 29 - .../simulation/remove_contributor_from_set.go | 29 - x/cardchain/simulation/remove_sell_offer.go | 29 - x/cardchain/simulation/report_match.go | 29 - x/cardchain/simulation/restart_council.go | 29 - .../simulation/reveal_council_response.go | 29 - .../simulation/rewoke_council_registration.go | 29 - x/cardchain/simulation/save_card_content.go | 29 - x/cardchain/simulation/set_card_rarity.go | 29 - x/cardchain/simulation/set_profile_card.go | 29 - x/cardchain/simulation/set_set_artist.go | 29 - x/cardchain/simulation/set_set_name.go | 29 - .../simulation/set_set_story_writer.go | 29 - x/cardchain/simulation/set_user_biography.go | 29 - x/cardchain/simulation/set_user_website.go | 29 - .../simulation/transfer_booster_pack.go | 29 - x/cardchain/simulation/transfer_card.go | 29 - x/cardchain/simulation/vote_card.go | 29 - x/cardchain/types/card.go | 10 - x/cardchain/types/card.pb.go | 2224 - x/cardchain/types/codec.go | 228 - x/cardchain/types/copyright_proposal.pb.go | 459 - x/cardchain/types/council.pb.go | 1163 - x/cardchain/types/early_access_proposal.pb.go | 478 - x/cardchain/types/encounters.pb.go | 997 - x/cardchain/types/errors.go | 38 - x/cardchain/types/expected_keepers.go | 28 - x/cardchain/types/feature_flags.go | 8 - x/cardchain/types/genesis.go | 20 - x/cardchain/types/genesis.pb.go | 1198 - x/cardchain/types/image.pb.go | 316 - x/cardchain/types/keys.go | 35 - x/cardchain/types/match.pb.go | 1162 - .../types/match_reporter_proposal.pb.go | 422 - x/cardchain/types/message_add_artwork.go | 58 - x/cardchain/types/message_add_artwork_test.go | 40 - .../types/message_add_artwork_to_set.go | 54 - .../types/message_add_artwork_to_set_test.go | 40 - x/cardchain/types/message_add_card_to_set.go | 48 - .../types/message_add_card_to_set_test.go | 40 - .../types/message_add_contributor_to_set.go | 48 - .../message_add_contributor_to_set_test.go | 40 - x/cardchain/types/message_add_story_to_set.go | 48 - .../types/message_add_story_to_set_test.go | 40 - .../types/message_apoint_match_reporter.go | 47 - .../message_apoint_match_reporter_test.go | 40 - x/cardchain/types/message_buy_card.go | 47 - x/cardchain/types/message_buy_card_scheme.go | 48 - .../types/message_buy_card_scheme_test.go | 40 - x/cardchain/types/message_buy_card_test.go | 40 - x/cardchain/types/message_buy_set.go | 47 - x/cardchain/types/message_buy_set_test.go | 40 - x/cardchain/types/message_change_alias.go | 46 - .../types/message_change_alias_test.go | 40 - x/cardchain/types/message_change_artist.go | 48 - .../types/message_change_artist_test.go | 40 - .../types/message_commit_council_response.go | 49 - .../message_commit_council_response_test.go | 40 - x/cardchain/types/message_confirm_match.go | 49 - .../types/message_confirm_match_test.go | 40 - .../types/message_connect_zealy_account.go | 46 - .../message_connect_zealy_account_test.go | 40 - x/cardchain/types/message_create_council.go | 47 - .../types/message_create_council_test.go | 40 - .../types/message_create_sell_offer.go | 48 - .../types/message_create_sell_offer_test.go | 40 - x/cardchain/types/message_create_set.go | 50 - x/cardchain/types/message_create_set_test.go | 40 - x/cardchain/types/message_createuser.go | 56 - x/cardchain/types/message_createuser_test.go | 40 - .../types/message_disinvite_early_access.go | 46 - .../message_disinvite_early_access_test.go | 40 - x/cardchain/types/message_donate_to_card.go | 48 - .../types/message_donate_to_card_test.go | 40 - x/cardchain/types/message_encounter_close.go | 48 - .../types/message_encounter_close_test.go | 40 - x/cardchain/types/message_encounter_create.go | 65 - .../types/message_encounter_create_test.go | 40 - x/cardchain/types/message_encounter_do.go | 47 - .../types/message_encounter_do_test.go | 40 - x/cardchain/types/message_finalize_set.go | 47 - .../types/message_finalize_set_test.go | 40 - .../types/message_invite_early_access.go | 46 - .../types/message_invite_early_access_test.go | 40 - x/cardchain/types/message_msg_open_match.go | 49 - .../types/message_msg_open_match_test.go | 40 - x/cardchain/types/message_multi_vote_card.go | 46 - .../types/message_multi_vote_card_test.go | 40 - .../types/message_open_booster_pack.go | 47 - .../types/message_open_booster_pack_test.go | 40 - .../types/message_register_for_council.go | 46 - .../message_register_for_council_test.go | 40 - .../types/message_remove_card_from_set.go | 48 - .../message_remove_card_from_set_test.go | 40 - .../message_remove_contributor_from_set.go | 48 - ...essage_remove_contributor_from_set_test.go | 40 - .../types/message_remove_sell_offer.go | 47 - .../types/message_remove_sell_offer_test.go | 40 - x/cardchain/types/message_report_match.go | 50 - .../types/message_report_match_test.go | 40 - x/cardchain/types/message_restart_council.go | 47 - .../types/message_restart_council_test.go | 40 - .../types/message_reveal_council_response.go | 49 - .../message_reveal_council_response_test.go | 40 - .../message_rewoke_council_registration.go | 46 - ...essage_rewoke_council_registration_test.go | 40 - .../types/message_save_card_content.go | 50 - .../types/message_save_card_content_test.go | 40 - x/cardchain/types/message_set_card_rarity.go | 54 - .../types/message_set_card_rarity_test.go | 40 - x/cardchain/types/message_set_profile_card.go | 47 - .../types/message_set_profile_card_test.go | 40 - x/cardchain/types/message_set_set_artist.go | 48 - .../types/message_set_set_artist_test.go | 40 - x/cardchain/types/message_set_set_name.go | 47 - .../types/message_set_set_name_test.go | 40 - .../types/message_set_set_story_writer.go | 48 - .../message_set_set_story_writer_test.go | 40 - .../types/message_set_user_biography.go | 47 - .../types/message_set_user_biography_test.go | 40 - x/cardchain/types/message_set_user_website.go | 47 - .../types/message_set_user_website_test.go | 40 - .../types/message_transfer_booster_pack.go | 48 - .../message_transfer_booster_pack_test.go | 40 - x/cardchain/types/message_transfer_card.go | 48 - .../types/message_transfer_card_test.go | 40 - x/cardchain/types/message_vote_card.go | 48 - x/cardchain/types/message_vote_card_test.go | 40 - x/cardchain/types/num.pb.go | 298 - x/cardchain/types/params.go | 335 - x/cardchain/types/params.pb.go | 1242 - x/cardchain/types/proposal.go | 75 - x/cardchain/types/query.pb.go | 10115 ---- x/cardchain/types/query.pb.gw.go | 2164 - x/cardchain/types/running_average.pb.go | 376 - x/cardchain/types/sell_offer.pb.go | 526 - x/cardchain/types/server.pb.go | 387 - x/cardchain/types/set.pb.go | 2142 - x/cardchain/types/set_proposal.pb.go | 405 - x/cardchain/types/tx.pb.go | 20310 -------- x/cardchain/types/types.go | 75 - x/cardchain/types/user.pb.go | 2573 - x/cardchain/types/voting.pb.go | 1135 - x/cardchain/types/zealy.pb.go | 366 - x/featureflag/client/cli/query_params.go | 34 - x/featureflag/client/cli/query_q_flag.go | 47 - x/featureflag/client/cli/query_q_flags.go | 42 - .../client/cli/submit_flag_enable_proposal.go | 53 - x/featureflag/client/proposal_handler.go | 9 - x/featureflag/genesis_test.go | 47 - x/featureflag/keeper/keeper.go | 109 - x/featureflag/keeper/module_instace.go | 33 - x/featureflag/keeper/msg_server.go | 17 - x/featureflag/keeper/msg_server_test.go | 16 - x/featureflag/keeper/params_test.go | 18 - x/featureflag/keeper/query.go | 7 - x/featureflag/keeper/query_params_test.go | 21 - x/featureflag/keeper/query_q_flag.go | 22 - x/featureflag/keeper/query_q_flags.go | 22 - x/featureflag/proposal_handler.go | 38 - x/featureflag/simulation/helpers.go | 15 - x/featureflag/types/errors.go | 12 - x/featureflag/types/flag.pb.go | 409 - x/featureflag/types/genesis.pb.go | 506 - x/featureflag/types/genesis_test.go | 84 - x/featureflag/types/key_flags.go | 23 - x/featureflag/types/proposal.go | 27 - x/featureflag/types/proposal.pb.go | 474 - x/featureflag/types/query.pb.go | 1325 - x/featureflag/types/query.pb.gw.go | 341 - 524 files changed, 22199 insertions(+), 103277 deletions(-) delete mode 100644 Dockerfile delete mode 100644 Makefile create mode 100644 cardchain/.github/workflows/release.yml create mode 100644 cardchain/.gitignore rename {app => cardchain/app}/app.go (77%) rename {app => cardchain/app}/encoding.go (95%) rename {app => cardchain/app}/export.go (92%) rename {app => cardchain/app}/genesis.go (100%) rename {app => cardchain/app}/params/encoding.go (100%) rename {app => cardchain/app}/simulation_test.go (61%) rename {cmd/Cardchaind => cardchain/cmd/cardchaind}/cmd/config.go (94%) rename {cmd/Cardchaind => cardchain/cmd/cardchaind}/cmd/genaccounts.go (100%) rename {cmd/Cardchaind => cardchain/cmd/cardchaind}/cmd/root.go (98%) rename {cmd/Cardchaind => cardchain/cmd/cardchaind}/main.go (76%) create mode 100644 cardchain/config.yml create mode 100644 cardchain/docs/docs.go rename {docs => cardchain/docs}/static/openapi.yml (96%) create mode 100644 cardchain/docs/template/index.tpl rename go.mod => cardchain/go.mod (59%) create mode 100644 cardchain/go.sum create mode 100644 cardchain/proto/cardchain/cardchain/genesis.proto rename {proto/cardchain/featureflag => cardchain/proto/cardchain/cardchain}/params.proto (56%) create mode 100644 cardchain/proto/cardchain/cardchain/query.proto create mode 100644 cardchain/proto/cardchain/cardchain/tx.proto rename readme.md => cardchain/readme.md (51%) rename testutil/keeper/featureflag.go => cardchain/testutil/keeper/cardchain.go (85%) rename {testutil => cardchain/testutil}/network/network.go (86%) rename {testutil => cardchain/testutil}/nullify/nullify.go (100%) rename {testutil => cardchain/testutil}/sample/sample.go (100%) create mode 100644 cardchain/tools/tools.go rename {x/featureflag => cardchain/x/cardchain}/client/cli/query.go (80%) rename {x => cardchain/x}/cardchain/client/cli/query_params.go (91%) rename {x/featureflag => cardchain/x/cardchain}/client/cli/tx.go (92%) rename {x/featureflag => cardchain/x/cardchain}/genesis.go (60%) create mode 100644 cardchain/x/cardchain/genesis_test.go create mode 100644 cardchain/x/cardchain/keeper/keeper.go rename {x => cardchain/x}/cardchain/keeper/msg_server.go (83%) rename {x => cardchain/x}/cardchain/keeper/msg_server_test.go (58%) rename {x/featureflag => cardchain/x/cardchain}/keeper/params.go (84%) rename {x => cardchain/x}/cardchain/keeper/params_test.go (67%) rename x/cardchain/keeper/grpc_query.go => cardchain/x/cardchain/keeper/query.go (51%) rename {x/featureflag => cardchain/x/cardchain}/keeper/query_params.go (88%) rename x/cardchain/keeper/grpc_query_params_test.go => cardchain/x/cardchain/keeper/query_params_test.go (78%) rename {x/featureflag => cardchain/x/cardchain}/module.go (96%) rename {x/featureflag => cardchain/x/cardchain}/module_simulation.go (84%) rename {x => cardchain/x}/cardchain/simulation/helpers.go (100%) rename {x/featureflag => cardchain/x/cardchain}/types/codec.go (72%) create mode 100644 cardchain/x/cardchain/types/errors.go rename {x/featureflag => cardchain/x/cardchain}/types/expected_keepers.go (100%) rename {x/featureflag => cardchain/x/cardchain}/types/genesis.go (87%) create mode 100644 cardchain/x/cardchain/types/genesis.pb.go rename {x => cardchain/x}/cardchain/types/genesis_test.go (66%) rename {x/featureflag => cardchain/x/cardchain}/types/keys.go (84%) rename {x/featureflag => cardchain/x/cardchain}/types/params.go (100%) rename {x/featureflag => cardchain/x/cardchain}/types/params.pb.go (79%) create mode 100644 cardchain/x/cardchain/types/query.pb.go create mode 100644 cardchain/x/cardchain/types/query.pb.gw.go rename {x/featureflag => cardchain/x/cardchain}/types/tx.pb.go (61%) rename {x/featureflag => cardchain/x/cardchain}/types/types.go (100%) delete mode 100644 config.yml delete mode 100644 config/nginx-test.conf delete mode 100644 config/nginx.conf delete mode 100644 docker-compose.yml delete mode 100755 docker-run.sh delete mode 100644 docker-stop-and-export.sh delete mode 100644 docs/docs.go delete mode 100644 go.sum delete mode 100644 goat/Dockerfile delete mode 100644 goat/app.js delete mode 100644 goat/package-lock.json delete mode 100644 goat/package.json delete mode 100755 ignite delete mode 100644 peer_nodes.json delete mode 100644 proto/buf.lock delete mode 100644 proto/buf.yaml delete mode 100644 proto/cardchain/cardchain/card.proto delete mode 100644 proto/cardchain/cardchain/copyright_proposal.proto delete mode 100644 proto/cardchain/cardchain/council.proto delete mode 100644 proto/cardchain/cardchain/early_access_proposal.proto delete mode 100644 proto/cardchain/cardchain/encounters.proto delete mode 100644 proto/cardchain/cardchain/genesis.proto delete mode 100644 proto/cardchain/cardchain/image.proto delete mode 100644 proto/cardchain/cardchain/match.proto delete mode 100644 proto/cardchain/cardchain/match_reporter_proposal.proto delete mode 100644 proto/cardchain/cardchain/num.proto delete mode 100644 proto/cardchain/cardchain/params.proto delete mode 100644 proto/cardchain/cardchain/query.proto delete mode 100644 proto/cardchain/cardchain/running_average.proto delete mode 100644 proto/cardchain/cardchain/sell_offer.proto delete mode 100644 proto/cardchain/cardchain/server.proto delete mode 100644 proto/cardchain/cardchain/set.proto delete mode 100644 proto/cardchain/cardchain/set_proposal.proto delete mode 100644 proto/cardchain/cardchain/tx.proto delete mode 100644 proto/cardchain/cardchain/user.proto delete mode 100644 proto/cardchain/cardchain/voting.proto delete mode 100644 proto/cardchain/cardchain/zealy.proto delete mode 100644 proto/cardchain/featureflag/flag.proto delete mode 100644 proto/cardchain/featureflag/genesis.proto delete mode 100644 proto/cardchain/featureflag/proposal.proto delete mode 100644 proto/cardchain/featureflag/query.proto delete mode 100644 proto/cardchain/featureflag/tx.proto delete mode 100755 scripts/backupGenesis.sh delete mode 100644 scripts/buildlaunch-node.sh delete mode 100644 scripts/card_rarities.tsv delete mode 100644 scripts/card_starters.tsv delete mode 100644 scripts/cardchaindconfig-testnet.json delete mode 100755 scripts/createUser.sh delete mode 100644 scripts/download_genesis.py delete mode 100644 scripts/genesis_balances.tsv delete mode 100644 scripts/keys/exporthex.sh delete mode 100755 scripts/migrate_with_data.py delete mode 100755 scripts/old/full_setup.sh delete mode 100755 scripts/old/import_old_genesis.py delete mode 100644 scripts/paramchange.json delete mode 100644 scripts/paramchange/paramchange.json delete mode 100644 scripts/paramchange/submitproposal.sh delete mode 100644 scripts/paramchange/vote.sh delete mode 100644 scripts/register_faucet.sh delete mode 100644 scripts/sets/add-artwork.sh delete mode 100644 scripts/sets/add-cards.sh delete mode 100644 scripts/sets/buy-booster-pack.sh delete mode 100644 scripts/sets/card-rarity.sh delete mode 100644 scripts/sets/create-set.sh delete mode 100644 scripts/sets/finalize-set.sh delete mode 100644 scripts/sets/howto.txt delete mode 100644 scripts/sets/story.sh delete mode 100644 scripts/sets/vote.sh delete mode 100755 scripts/tests/test_council.sh delete mode 100755 scripts/tests/test_reporting.sh delete mode 100755 scripts/tests/test_setup.sh delete mode 100644 scripts/validators/craft_genesis_balances.js delete mode 100644 scripts/validators/genesis_balances.tsv delete mode 100644 scripts/validators/get_delegators.sh delete mode 100644 scripts/validators/merged_genesis_balances.tsv delete mode 100644 scripts/validators/package-lock.json delete mode 100644 scripts/validators/package.json delete mode 100644 scripts/validators/snapshots/airdrop05.01.24.tsv delete mode 100644 scripts/validators/snapshots/airdrop16.04.24.tsv delete mode 100644 scripts/validators/snapshots/airdrop28.02.24.tsv delete mode 100644 scripts/validators/snapshots/genesis_balances.tsv delete mode 100644 scripts/validators/validator_snapshot.py delete mode 100755 scripts/zealy.tsv delete mode 100644 testutil/keeper/cardchain.go delete mode 100644 types/denom.go delete mode 100644 types/generic_type_keeper/generic_type_keeper.go delete mode 100644 types/generic_type_keeper/keyworded_generic_type_keeper.go delete mode 100644 x/cardchain/client/cli/query.go delete mode 100644 x/cardchain/client/cli/query_q_account_from_zealy.go delete mode 100644 x/cardchain/client/cli/query_q_card.go delete mode 100644 x/cardchain/client/cli/query_q_card_content.go delete mode 100644 x/cardchain/client/cli/query_q_card_contents.go delete mode 100644 x/cardchain/client/cli/query_q_cardchain_info.go delete mode 100644 x/cardchain/client/cli/query_q_cards.go delete mode 100644 x/cardchain/client/cli/query_q_council.go delete mode 100644 x/cardchain/client/cli/query_q_encounter.go delete mode 100644 x/cardchain/client/cli/query_q_encounter_with_image.go delete mode 100644 x/cardchain/client/cli/query_q_encounters.go delete mode 100644 x/cardchain/client/cli/query_q_encounters_with_image.go delete mode 100644 x/cardchain/client/cli/query_q_match.go delete mode 100644 x/cardchain/client/cli/query_q_matches.go delete mode 100644 x/cardchain/client/cli/query_q_sell_offer.go delete mode 100644 x/cardchain/client/cli/query_q_sell_offers.go delete mode 100644 x/cardchain/client/cli/query_q_server.go delete mode 100644 x/cardchain/client/cli/query_q_set.go delete mode 100644 x/cardchain/client/cli/query_q_sets.go delete mode 100644 x/cardchain/client/cli/query_q_user.go delete mode 100644 x/cardchain/client/cli/query_q_voting_results.go delete mode 100644 x/cardchain/client/cli/query_rarity_distribution.go delete mode 100644 x/cardchain/client/cli/submit_copyright_proposal.go delete mode 100644 x/cardchain/client/cli/submit_early_access_proposal.go delete mode 100644 x/cardchain/client/cli/submit_match_reporter_proposal.go delete mode 100644 x/cardchain/client/cli/submit_set_proposal.go delete mode 100644 x/cardchain/client/cli/tx.go delete mode 100644 x/cardchain/client/cli/tx_add_artwork.go delete mode 100644 x/cardchain/client/cli/tx_add_artwork_to_set.go delete mode 100644 x/cardchain/client/cli/tx_add_card_to_set.go delete mode 100644 x/cardchain/client/cli/tx_add_contributor_to_set.go delete mode 100644 x/cardchain/client/cli/tx_add_story_to_set.go delete mode 100644 x/cardchain/client/cli/tx_apoint_match_reporter.go delete mode 100644 x/cardchain/client/cli/tx_buy_card.go delete mode 100644 x/cardchain/client/cli/tx_buy_card_scheme.go delete mode 100644 x/cardchain/client/cli/tx_buy_set.go delete mode 100644 x/cardchain/client/cli/tx_change_alias.go delete mode 100644 x/cardchain/client/cli/tx_change_artist.go delete mode 100644 x/cardchain/client/cli/tx_commit_council_response.go delete mode 100644 x/cardchain/client/cli/tx_confirm_match.go delete mode 100644 x/cardchain/client/cli/tx_connect_zealy_account.go delete mode 100644 x/cardchain/client/cli/tx_create_council.go delete mode 100644 x/cardchain/client/cli/tx_create_sell_offer.go delete mode 100644 x/cardchain/client/cli/tx_create_set.go delete mode 100644 x/cardchain/client/cli/tx_createuser.go delete mode 100644 x/cardchain/client/cli/tx_disinvite_early_access.go delete mode 100644 x/cardchain/client/cli/tx_donate_to_card.go delete mode 100644 x/cardchain/client/cli/tx_encounter_close.go delete mode 100644 x/cardchain/client/cli/tx_encounter_create.go delete mode 100644 x/cardchain/client/cli/tx_encounter_do.go delete mode 100644 x/cardchain/client/cli/tx_finalize_set.go delete mode 100644 x/cardchain/client/cli/tx_invite_early_access.go delete mode 100644 x/cardchain/client/cli/tx_msg_open_match.go delete mode 100644 x/cardchain/client/cli/tx_multi_vote_card.go delete mode 100644 x/cardchain/client/cli/tx_open_booster_pack.go delete mode 100644 x/cardchain/client/cli/tx_register_for_council.go delete mode 100644 x/cardchain/client/cli/tx_remove_card_from_set.go delete mode 100644 x/cardchain/client/cli/tx_remove_contributor_from_set.go delete mode 100644 x/cardchain/client/cli/tx_remove_sell_offer.go delete mode 100644 x/cardchain/client/cli/tx_report_match.go delete mode 100644 x/cardchain/client/cli/tx_restart_council.go delete mode 100644 x/cardchain/client/cli/tx_reveal_council_response.go delete mode 100644 x/cardchain/client/cli/tx_rewoke_council_registration.go delete mode 100644 x/cardchain/client/cli/tx_save_card_content.go delete mode 100644 x/cardchain/client/cli/tx_set_card_rarity.go delete mode 100644 x/cardchain/client/cli/tx_set_profile_card.go delete mode 100644 x/cardchain/client/cli/tx_set_set_artist.go delete mode 100644 x/cardchain/client/cli/tx_set_set_name.go delete mode 100644 x/cardchain/client/cli/tx_set_set_story_writer.go delete mode 100644 x/cardchain/client/cli/tx_set_user_biography.go delete mode 100644 x/cardchain/client/cli/tx_set_user_website.go delete mode 100644 x/cardchain/client/cli/tx_transfer_booster_pack.go delete mode 100644 x/cardchain/client/cli/tx_transfer_card.go delete mode 100644 x/cardchain/client/cli/tx_vote_card.go delete mode 100644 x/cardchain/client/cli/util.go delete mode 100644 x/cardchain/client/proposal_handler.go delete mode 100644 x/cardchain/genesis.go delete mode 100644 x/cardchain/genesis_test.go delete mode 100644 x/cardchain/handler.go delete mode 100644 x/cardchain/keeper/airdrops.go delete mode 100644 x/cardchain/keeper/arrays.go delete mode 100644 x/cardchain/keeper/arrays_test.go delete mode 100644 x/cardchain/keeper/card.go delete mode 100644 x/cardchain/keeper/card_test.go delete mode 100644 x/cardchain/keeper/coin.go delete mode 100644 x/cardchain/keeper/coin_test.go delete mode 100644 x/cardchain/keeper/council.go delete mode 100644 x/cardchain/keeper/council_test.go delete mode 100644 x/cardchain/keeper/early_access.go delete mode 100644 x/cardchain/keeper/grpc_query_params.go delete mode 100644 x/cardchain/keeper/grpc_query_q_card.go delete mode 100644 x/cardchain/keeper/grpc_query_q_card_content.go delete mode 100644 x/cardchain/keeper/grpc_query_q_cardchain_info.go delete mode 100644 x/cardchain/keeper/grpc_query_q_cards.go delete mode 100644 x/cardchain/keeper/grpc_query_q_council.go delete mode 100644 x/cardchain/keeper/grpc_query_q_match.go delete mode 100644 x/cardchain/keeper/grpc_query_q_matches.go delete mode 100644 x/cardchain/keeper/grpc_query_q_sell_offer.go delete mode 100644 x/cardchain/keeper/grpc_query_q_sell_offers.go delete mode 100644 x/cardchain/keeper/grpc_query_q_server.go delete mode 100644 x/cardchain/keeper/grpc_query_q_set.go delete mode 100644 x/cardchain/keeper/grpc_query_q_sets.go delete mode 100644 x/cardchain/keeper/grpc_query_q_user.go delete mode 100644 x/cardchain/keeper/grpc_query_q_voting_results.go delete mode 100644 x/cardchain/keeper/grpc_query_rarity_distribution.go delete mode 100644 x/cardchain/keeper/incentives.go delete mode 100644 x/cardchain/keeper/incentives_test.go delete mode 100644 x/cardchain/keeper/keeper.go delete mode 100644 x/cardchain/keeper/match.go delete mode 100644 x/cardchain/keeper/match_test.go delete mode 100644 x/cardchain/keeper/msg_server_add_artwork.go delete mode 100644 x/cardchain/keeper/msg_server_add_artwork_to_set.go delete mode 100644 x/cardchain/keeper/msg_server_add_card_to_set.go delete mode 100644 x/cardchain/keeper/msg_server_add_contributor_to_set.go delete mode 100644 x/cardchain/keeper/msg_server_add_story_to_set.go delete mode 100644 x/cardchain/keeper/msg_server_apoint_match_reporter.go delete mode 100644 x/cardchain/keeper/msg_server_buy_card.go delete mode 100644 x/cardchain/keeper/msg_server_buy_card_scheme.go delete mode 100644 x/cardchain/keeper/msg_server_buy_set.go delete mode 100644 x/cardchain/keeper/msg_server_change_alias.go delete mode 100644 x/cardchain/keeper/msg_server_change_artist.go delete mode 100644 x/cardchain/keeper/msg_server_commit_council_response.go delete mode 100644 x/cardchain/keeper/msg_server_confirm_match.go delete mode 100644 x/cardchain/keeper/msg_server_connect_zealy_account.go delete mode 100644 x/cardchain/keeper/msg_server_create_council.go delete mode 100644 x/cardchain/keeper/msg_server_create_sell_offer.go delete mode 100644 x/cardchain/keeper/msg_server_create_set.go delete mode 100644 x/cardchain/keeper/msg_server_createuser.go delete mode 100644 x/cardchain/keeper/msg_server_disinvite_early_access.go delete mode 100644 x/cardchain/keeper/msg_server_donate_to_card.go delete mode 100644 x/cardchain/keeper/msg_server_encounter_close.go delete mode 100644 x/cardchain/keeper/msg_server_encounter_create.go delete mode 100644 x/cardchain/keeper/msg_server_encounter_do.go delete mode 100644 x/cardchain/keeper/msg_server_finalize_set.go delete mode 100644 x/cardchain/keeper/msg_server_invite_early_access.go delete mode 100644 x/cardchain/keeper/msg_server_msg_open_match.go delete mode 100644 x/cardchain/keeper/msg_server_multi_vote_card.go delete mode 100644 x/cardchain/keeper/msg_server_open_booster_pack.go delete mode 100644 x/cardchain/keeper/msg_server_register_for_council.go delete mode 100644 x/cardchain/keeper/msg_server_remove_card_from_set.go delete mode 100644 x/cardchain/keeper/msg_server_remove_contributor_from_set.go delete mode 100644 x/cardchain/keeper/msg_server_remove_sell_offer.go delete mode 100644 x/cardchain/keeper/msg_server_report_match.go delete mode 100644 x/cardchain/keeper/msg_server_restart_council.go delete mode 100644 x/cardchain/keeper/msg_server_reveal_council_response.go delete mode 100644 x/cardchain/keeper/msg_server_rewoke_council_registration.go delete mode 100644 x/cardchain/keeper/msg_server_save_card_content.go delete mode 100644 x/cardchain/keeper/msg_server_set_card_rarity.go delete mode 100644 x/cardchain/keeper/msg_server_set_profile_card.go delete mode 100644 x/cardchain/keeper/msg_server_set_set_artist.go delete mode 100644 x/cardchain/keeper/msg_server_set_set_name.go delete mode 100644 x/cardchain/keeper/msg_server_set_set_story_writer.go delete mode 100644 x/cardchain/keeper/msg_server_set_user_biography.go delete mode 100644 x/cardchain/keeper/msg_server_set_user_website.go delete mode 100644 x/cardchain/keeper/msg_server_transfer_booster_pack.go delete mode 100644 x/cardchain/keeper/msg_server_transfer_card.go delete mode 100644 x/cardchain/keeper/msg_server_vote_card.go delete mode 100644 x/cardchain/keeper/params.go delete mode 100644 x/cardchain/keeper/pools.go delete mode 100644 x/cardchain/keeper/pools_test.go delete mode 100644 x/cardchain/keeper/query_q_account_from_zealy.go delete mode 100644 x/cardchain/keeper/query_q_card_contents.go delete mode 100644 x/cardchain/keeper/query_q_encounter.go delete mode 100644 x/cardchain/keeper/query_q_encounter_with_image.go delete mode 100644 x/cardchain/keeper/query_q_encounters.go delete mode 100644 x/cardchain/keeper/query_q_encounters_with_image.go delete mode 100644 x/cardchain/keeper/sell_offer_test.go delete mode 100644 x/cardchain/keeper/server.go delete mode 100644 x/cardchain/keeper/server_test.go delete mode 100644 x/cardchain/keeper/set.go delete mode 100644 x/cardchain/keeper/set_test.go delete mode 100644 x/cardchain/keeper/user.go delete mode 100644 x/cardchain/keeper/user_test.go delete mode 100644 x/cardchain/keeper/vote_right.go delete mode 100644 x/cardchain/keeper/voting.go delete mode 100644 x/cardchain/keeper/zealy.go delete mode 100644 x/cardchain/module.go delete mode 100644 x/cardchain/module_simulation.go delete mode 100644 x/cardchain/proposal_handler.go delete mode 100644 x/cardchain/simulation/add_artwork.go delete mode 100644 x/cardchain/simulation/add_artwork_to_set.go delete mode 100644 x/cardchain/simulation/add_card_to_set.go delete mode 100644 x/cardchain/simulation/add_contributor_to_set.go delete mode 100644 x/cardchain/simulation/add_story_to_set.go delete mode 100644 x/cardchain/simulation/apoint_match_reporter.go delete mode 100644 x/cardchain/simulation/buy_card.go delete mode 100644 x/cardchain/simulation/buy_card_scheme.go delete mode 100644 x/cardchain/simulation/buy_set.go delete mode 100644 x/cardchain/simulation/change_alias.go delete mode 100644 x/cardchain/simulation/change_artist.go delete mode 100644 x/cardchain/simulation/commit_council_response.go delete mode 100644 x/cardchain/simulation/confirm_match.go delete mode 100644 x/cardchain/simulation/connect_zealy_account.go delete mode 100644 x/cardchain/simulation/create_council.go delete mode 100644 x/cardchain/simulation/create_sell_offer.go delete mode 100644 x/cardchain/simulation/create_set.go delete mode 100644 x/cardchain/simulation/createuser.go delete mode 100644 x/cardchain/simulation/disinvite_early_access.go delete mode 100644 x/cardchain/simulation/donate_to_card.go delete mode 100644 x/cardchain/simulation/encounter_close.go delete mode 100644 x/cardchain/simulation/encounter_create.go delete mode 100644 x/cardchain/simulation/encounter_do.go delete mode 100644 x/cardchain/simulation/finalize_set.go delete mode 100644 x/cardchain/simulation/invite_early_access.go delete mode 100644 x/cardchain/simulation/msg_open_match.go delete mode 100644 x/cardchain/simulation/multi_vote_card.go delete mode 100644 x/cardchain/simulation/open_booster_pack.go delete mode 100644 x/cardchain/simulation/register_for_council.go delete mode 100644 x/cardchain/simulation/remove_card_from_set.go delete mode 100644 x/cardchain/simulation/remove_contributor_from_set.go delete mode 100644 x/cardchain/simulation/remove_sell_offer.go delete mode 100644 x/cardchain/simulation/report_match.go delete mode 100644 x/cardchain/simulation/restart_council.go delete mode 100644 x/cardchain/simulation/reveal_council_response.go delete mode 100644 x/cardchain/simulation/rewoke_council_registration.go delete mode 100644 x/cardchain/simulation/save_card_content.go delete mode 100644 x/cardchain/simulation/set_card_rarity.go delete mode 100644 x/cardchain/simulation/set_profile_card.go delete mode 100644 x/cardchain/simulation/set_set_artist.go delete mode 100644 x/cardchain/simulation/set_set_name.go delete mode 100644 x/cardchain/simulation/set_set_story_writer.go delete mode 100644 x/cardchain/simulation/set_user_biography.go delete mode 100644 x/cardchain/simulation/set_user_website.go delete mode 100644 x/cardchain/simulation/transfer_booster_pack.go delete mode 100644 x/cardchain/simulation/transfer_card.go delete mode 100644 x/cardchain/simulation/vote_card.go delete mode 100644 x/cardchain/types/card.go delete mode 100644 x/cardchain/types/card.pb.go delete mode 100644 x/cardchain/types/codec.go delete mode 100644 x/cardchain/types/copyright_proposal.pb.go delete mode 100644 x/cardchain/types/council.pb.go delete mode 100644 x/cardchain/types/early_access_proposal.pb.go delete mode 100644 x/cardchain/types/encounters.pb.go delete mode 100644 x/cardchain/types/errors.go delete mode 100644 x/cardchain/types/expected_keepers.go delete mode 100644 x/cardchain/types/feature_flags.go delete mode 100644 x/cardchain/types/genesis.go delete mode 100644 x/cardchain/types/genesis.pb.go delete mode 100644 x/cardchain/types/image.pb.go delete mode 100644 x/cardchain/types/keys.go delete mode 100644 x/cardchain/types/match.pb.go delete mode 100644 x/cardchain/types/match_reporter_proposal.pb.go delete mode 100644 x/cardchain/types/message_add_artwork.go delete mode 100644 x/cardchain/types/message_add_artwork_test.go delete mode 100644 x/cardchain/types/message_add_artwork_to_set.go delete mode 100644 x/cardchain/types/message_add_artwork_to_set_test.go delete mode 100644 x/cardchain/types/message_add_card_to_set.go delete mode 100644 x/cardchain/types/message_add_card_to_set_test.go delete mode 100644 x/cardchain/types/message_add_contributor_to_set.go delete mode 100644 x/cardchain/types/message_add_contributor_to_set_test.go delete mode 100644 x/cardchain/types/message_add_story_to_set.go delete mode 100644 x/cardchain/types/message_add_story_to_set_test.go delete mode 100644 x/cardchain/types/message_apoint_match_reporter.go delete mode 100644 x/cardchain/types/message_apoint_match_reporter_test.go delete mode 100644 x/cardchain/types/message_buy_card.go delete mode 100644 x/cardchain/types/message_buy_card_scheme.go delete mode 100644 x/cardchain/types/message_buy_card_scheme_test.go delete mode 100644 x/cardchain/types/message_buy_card_test.go delete mode 100644 x/cardchain/types/message_buy_set.go delete mode 100644 x/cardchain/types/message_buy_set_test.go delete mode 100644 x/cardchain/types/message_change_alias.go delete mode 100644 x/cardchain/types/message_change_alias_test.go delete mode 100644 x/cardchain/types/message_change_artist.go delete mode 100644 x/cardchain/types/message_change_artist_test.go delete mode 100644 x/cardchain/types/message_commit_council_response.go delete mode 100644 x/cardchain/types/message_commit_council_response_test.go delete mode 100644 x/cardchain/types/message_confirm_match.go delete mode 100644 x/cardchain/types/message_confirm_match_test.go delete mode 100644 x/cardchain/types/message_connect_zealy_account.go delete mode 100644 x/cardchain/types/message_connect_zealy_account_test.go delete mode 100644 x/cardchain/types/message_create_council.go delete mode 100644 x/cardchain/types/message_create_council_test.go delete mode 100644 x/cardchain/types/message_create_sell_offer.go delete mode 100644 x/cardchain/types/message_create_sell_offer_test.go delete mode 100644 x/cardchain/types/message_create_set.go delete mode 100644 x/cardchain/types/message_create_set_test.go delete mode 100644 x/cardchain/types/message_createuser.go delete mode 100644 x/cardchain/types/message_createuser_test.go delete mode 100644 x/cardchain/types/message_disinvite_early_access.go delete mode 100644 x/cardchain/types/message_disinvite_early_access_test.go delete mode 100644 x/cardchain/types/message_donate_to_card.go delete mode 100644 x/cardchain/types/message_donate_to_card_test.go delete mode 100644 x/cardchain/types/message_encounter_close.go delete mode 100644 x/cardchain/types/message_encounter_close_test.go delete mode 100644 x/cardchain/types/message_encounter_create.go delete mode 100644 x/cardchain/types/message_encounter_create_test.go delete mode 100644 x/cardchain/types/message_encounter_do.go delete mode 100644 x/cardchain/types/message_encounter_do_test.go delete mode 100644 x/cardchain/types/message_finalize_set.go delete mode 100644 x/cardchain/types/message_finalize_set_test.go delete mode 100644 x/cardchain/types/message_invite_early_access.go delete mode 100644 x/cardchain/types/message_invite_early_access_test.go delete mode 100644 x/cardchain/types/message_msg_open_match.go delete mode 100644 x/cardchain/types/message_msg_open_match_test.go delete mode 100644 x/cardchain/types/message_multi_vote_card.go delete mode 100644 x/cardchain/types/message_multi_vote_card_test.go delete mode 100644 x/cardchain/types/message_open_booster_pack.go delete mode 100644 x/cardchain/types/message_open_booster_pack_test.go delete mode 100644 x/cardchain/types/message_register_for_council.go delete mode 100644 x/cardchain/types/message_register_for_council_test.go delete mode 100644 x/cardchain/types/message_remove_card_from_set.go delete mode 100644 x/cardchain/types/message_remove_card_from_set_test.go delete mode 100644 x/cardchain/types/message_remove_contributor_from_set.go delete mode 100644 x/cardchain/types/message_remove_contributor_from_set_test.go delete mode 100644 x/cardchain/types/message_remove_sell_offer.go delete mode 100644 x/cardchain/types/message_remove_sell_offer_test.go delete mode 100644 x/cardchain/types/message_report_match.go delete mode 100644 x/cardchain/types/message_report_match_test.go delete mode 100644 x/cardchain/types/message_restart_council.go delete mode 100644 x/cardchain/types/message_restart_council_test.go delete mode 100644 x/cardchain/types/message_reveal_council_response.go delete mode 100644 x/cardchain/types/message_reveal_council_response_test.go delete mode 100644 x/cardchain/types/message_rewoke_council_registration.go delete mode 100644 x/cardchain/types/message_rewoke_council_registration_test.go delete mode 100644 x/cardchain/types/message_save_card_content.go delete mode 100644 x/cardchain/types/message_save_card_content_test.go delete mode 100644 x/cardchain/types/message_set_card_rarity.go delete mode 100644 x/cardchain/types/message_set_card_rarity_test.go delete mode 100644 x/cardchain/types/message_set_profile_card.go delete mode 100644 x/cardchain/types/message_set_profile_card_test.go delete mode 100644 x/cardchain/types/message_set_set_artist.go delete mode 100644 x/cardchain/types/message_set_set_artist_test.go delete mode 100644 x/cardchain/types/message_set_set_name.go delete mode 100644 x/cardchain/types/message_set_set_name_test.go delete mode 100644 x/cardchain/types/message_set_set_story_writer.go delete mode 100644 x/cardchain/types/message_set_set_story_writer_test.go delete mode 100644 x/cardchain/types/message_set_user_biography.go delete mode 100644 x/cardchain/types/message_set_user_biography_test.go delete mode 100644 x/cardchain/types/message_set_user_website.go delete mode 100644 x/cardchain/types/message_set_user_website_test.go delete mode 100644 x/cardchain/types/message_transfer_booster_pack.go delete mode 100644 x/cardchain/types/message_transfer_booster_pack_test.go delete mode 100644 x/cardchain/types/message_transfer_card.go delete mode 100644 x/cardchain/types/message_transfer_card_test.go delete mode 100644 x/cardchain/types/message_vote_card.go delete mode 100644 x/cardchain/types/message_vote_card_test.go delete mode 100644 x/cardchain/types/num.pb.go delete mode 100644 x/cardchain/types/params.go delete mode 100644 x/cardchain/types/params.pb.go delete mode 100644 x/cardchain/types/proposal.go delete mode 100644 x/cardchain/types/query.pb.go delete mode 100644 x/cardchain/types/query.pb.gw.go delete mode 100644 x/cardchain/types/running_average.pb.go delete mode 100644 x/cardchain/types/sell_offer.pb.go delete mode 100644 x/cardchain/types/server.pb.go delete mode 100644 x/cardchain/types/set.pb.go delete mode 100644 x/cardchain/types/set_proposal.pb.go delete mode 100644 x/cardchain/types/tx.pb.go delete mode 100644 x/cardchain/types/types.go delete mode 100644 x/cardchain/types/user.pb.go delete mode 100644 x/cardchain/types/voting.pb.go delete mode 100644 x/cardchain/types/zealy.pb.go delete mode 100644 x/featureflag/client/cli/query_params.go delete mode 100644 x/featureflag/client/cli/query_q_flag.go delete mode 100644 x/featureflag/client/cli/query_q_flags.go delete mode 100644 x/featureflag/client/cli/submit_flag_enable_proposal.go delete mode 100644 x/featureflag/client/proposal_handler.go delete mode 100644 x/featureflag/genesis_test.go delete mode 100644 x/featureflag/keeper/keeper.go delete mode 100644 x/featureflag/keeper/module_instace.go delete mode 100644 x/featureflag/keeper/msg_server.go delete mode 100644 x/featureflag/keeper/msg_server_test.go delete mode 100644 x/featureflag/keeper/params_test.go delete mode 100644 x/featureflag/keeper/query.go delete mode 100644 x/featureflag/keeper/query_params_test.go delete mode 100644 x/featureflag/keeper/query_q_flag.go delete mode 100644 x/featureflag/keeper/query_q_flags.go delete mode 100644 x/featureflag/proposal_handler.go delete mode 100644 x/featureflag/simulation/helpers.go delete mode 100644 x/featureflag/types/errors.go delete mode 100644 x/featureflag/types/flag.pb.go delete mode 100644 x/featureflag/types/genesis.pb.go delete mode 100644 x/featureflag/types/genesis_test.go delete mode 100644 x/featureflag/types/key_flags.go delete mode 100644 x/featureflag/types/proposal.go delete mode 100644 x/featureflag/types/proposal.pb.go delete mode 100644 x/featureflag/types/query.pb.go delete mode 100644 x/featureflag/types/query.pb.gw.go diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 88656d28..00000000 --- a/Dockerfile +++ /dev/null @@ -1,57 +0,0 @@ - -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 if [ $(uname -m) = "x86_64" ]; then \ - wget https://go.dev/dl/go1.21.3.linux-amd64.tar.gz; \ - tar -xvf go1.21.3.linux-amd64.tar.gz; \ - rm /usr/local/go -rf; \ - mv go /usr/local; \ - elif [ $(uname -m) = "aarch64" ]; then \ - wget https://go.dev/dl/go1.21.3.linux-arm64.tar.gz; \ - tar -xvf go1.21.3.linux-arm64.tar.gz; \ - rm /usr/local/go -rf; \ - mv go /usr/local; \ - else \ - echo "what the hell is your OS? Go will not work that way."; \ - fi - - -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 - -COPY --chown=tendermint:tendermint . . - -RUN ignite chain build -RUN ignite chain init - -RUN mv $HOME/.Cardchain $HOME/.cardchaind - -COPY scripts/download_genesis.py download_genesis.py -RUN python3 download_genesis.py -RUN mv genesis.json $HOME/.cardchaind/config/genesis.json - -RUN chmod +x ./docker-run.sh -ENTRYPOINT bash docker-run.sh diff --git a/Makefile b/Makefile deleted file mode 100644 index a063c970..00000000 --- a/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -############################################################################### -### Build ### -############################################################################### - -# Default target -all: install - -# Build directory -BUILDDIR := ./build - -# Build the project -build: go.sum $(BUILDDIR)/ - @echo "Warning: Building without version information" - @echo "Warning: To build with version info and defaults please use './ignite chain build'" - go build -tags=ledger -mod=readonly -o $(BUILDDIR)/ ./... - -# Create the build directory -$(BUILDDIR)/: - mkdir -p $(BUILDDIR)/ - -# Install binary to ~/go/bin/ -install: build - cp $(BUILDDIR)/cardchaind ~/go/bin/ - -# Verify dependencies -go.sum: go.mod - @echo "Ensure dependencies have not been modified ..." >&2 - @go mod verify - -# Clean build directory -clean: - rm -rf $(BUILDDIR)/ - -# Phony targets -.PHONY: all build install clean diff --git a/cardchain/.github/workflows/release.yml b/cardchain/.github/workflows/release.yml new file mode 100644 index 00000000..8d4b1708 --- /dev/null +++ b/cardchain/.github/workflows/release.yml @@ -0,0 +1,53 @@ +# This workflow is useful if you want to automate the process of: +# +# a) Creating a new prelease when you push a new tag with a "v" prefix (version). +# +# This type of prerelease is meant to be used for production: alpha, beta, rc, etc. types of releases. +# After the prerelease is created, you need to make your changes on the release page at the relevant +# Github page and publish your release. +# +# b) Creating/updating the "latest" prerelease when you push to your default branch. +# +# This type of prelease is useful to make your bleeding-edge binaries available to advanced users. +# +# The workflow will not run if there is no tag pushed with a "v" prefix and no change pushed to your +# default branch. +on: push + +jobs: + might_release: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Prepare Release Variables + id: vars + uses: ignite/cli/actions/release/vars@main + + - name: Issue Release Assets + uses: ignite/cli/actions/cli@main + if: ${{ steps.vars.outputs.should_release == 'true' }} + with: + args: chain build --release --release.prefix ${{ steps.vars.outputs.tarball_prefix }} -t linux:amd64 -t darwin:amd64 -t darwin:arm64 + + - name: Delete the "latest" Release + uses: dev-drprasad/delete-tag-and-release@v0.2.0 + if: ${{ steps.vars.outputs.is_release_type_latest == 'true' }} + with: + tag_name: ${{ steps.vars.outputs.tag_name }} + delete_release: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Publish the Release + uses: softprops/action-gh-release@v1 + if: ${{ steps.vars.outputs.should_release == 'true' }} + with: + tag_name: ${{ steps.vars.outputs.tag_name }} + files: release/* + prerelease: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/cardchain/.gitignore b/cardchain/.gitignore new file mode 100644 index 00000000..0d0535f6 --- /dev/null +++ b/cardchain/.gitignore @@ -0,0 +1,6 @@ +vue/node_modules +vue/dist +release/ +.idea/ +.vscode/ +.DS_Store diff --git a/app/app.go b/cardchain/app/app.go similarity index 77% rename from app/app.go rename to cardchain/app/app.go index cf1f266d..24dd4b4b 100644 --- a/app/app.go +++ b/cardchain/app/app.go @@ -3,13 +3,12 @@ package app import ( "fmt" "io" - "math" - "net/http" "os" "path/filepath" "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/client" + nodeservice "github.com/cosmos/cosmos-sdk/client/grpc/node" "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" @@ -17,11 +16,10 @@ import ( "github.com/cosmos/cosmos-sdk/server/config" servertypes "github.com/cosmos/cosmos-sdk/server/types" "github.com/cosmos/cosmos-sdk/simapp" + storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" "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" authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" @@ -105,30 +103,18 @@ import ( tmos "github.com/tendermint/tendermint/libs/os" dbm "github.com/tendermint/tm-db" - "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" + cardchainmodule "cardchain/x/cardchain" + cardchainmodulekeeper "cardchain/x/cardchain/keeper" + cardchainmoduletypes "cardchain/x/cardchain/types" // this line is used by starport scaffolding # stargate/app/moduleImport + + appparams "cardchain/app/params" + "cardchain/docs" ) const ( - AccountAddressPrefix = "cc" + AccountAddressPrefix = "cosmos" Name = "cardchain" - BondDenom = "ubpf" - // epochBlockTime defines how many blocks are one buffnerf epoch - epochBlockTime = 120000 // this is 1 week with 5s block time - // epochBlockTime = 5 // this is great for debugging ) // this line is used by starport scaffolding # stargate/wasm/app/enabledProposals @@ -144,11 +130,6 @@ func getGovProposalHandlers() []govclient.ProposalHandler { upgradeclient.LegacyCancelProposalHandler, ibcclientclient.UpdateClientProposalHandler, ibcclientclient.UpgradeProposalHandler, - cardchainclient.CopyrightProposalHandler, - cardchainclient.MatchReporterProposalHandler, - cardchainclient.SetProposalHandler, - cardchainclient.EarlyAccessProposalHandler, - featureflagclient.ProposalHandler, // this line is used by starport scaffolding # stargate/app/govProposalHandler ) @@ -184,21 +165,19 @@ var ( ica.AppModuleBasic{}, vesting.AppModuleBasic{}, cardchainmodule.AppModuleBasic{}, - featureflagmodule.AppModuleBasic{}, // this line is used by starport scaffolding # stargate/app/moduleBasic ) // module account permissions 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}, - govtypes.ModuleName: {authtypes.Burner}, - ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner}, - cardchainmoduletypes.ModuleName: {authtypes.Minter, authtypes.Burner, authtypes.Staking}, + 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}, + govtypes.ModuleName: {authtypes.Burner}, + ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner}, // this line is used by starport scaffolding # stargate/app/maccPerms } ) @@ -214,7 +193,7 @@ func init() { panic(err) } - DefaultNodeHome = filepath.Join(userHomeDir, "."+Name+"d") + DefaultNodeHome = filepath.Join(userHomeDir, "."+Name) } // App extends an ABCI application, but with most of its parameters exported. @@ -236,6 +215,7 @@ type App struct { // keepers AccountKeeper authkeeper.AccountKeeper + AuthzKeeper authzkeeper.Keeper BankKeeper bankkeeper.Keeper CapabilityKeeper *capabilitykeeper.Keeper StakingKeeper stakingkeeper.Keeper @@ -248,7 +228,6 @@ type App struct { ParamsKeeper paramskeeper.Keeper IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly EvidenceKeeper evidencekeeper.Keeper - AuthzKeeper authzkeeper.Keeper TransferKeeper ibctransferkeeper.Keeper ICAHostKeeper icahostkeeper.Keeper FeeGrantKeeper feegrantkeeper.Keeper @@ -260,8 +239,6 @@ type App struct { ScopedICAHostKeeper capabilitykeeper.ScopedKeeper CardchainKeeper cardchainmodulekeeper.Keeper - - FeatureflagKeeper featureflagmodulekeeper.Keeper // this line is used by starport scaffolding # stargate/app/keeperDeclaration // mm is the module manager @@ -302,17 +279,11 @@ func New( keys := sdk.NewKVStoreKeys( 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, 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, cardchainmoduletypes.ZealyStoreKey, - cardchainmoduletypes.EncountersStoreKey, - featureflagmoduletypes.StoreKey, + minttypes.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey, govtypes.StoreKey, + paramstypes.StoreKey, ibchost.StoreKey, upgradetypes.StoreKey, feegrant.StoreKey, evidencetypes.StoreKey, + ibctransfertypes.StoreKey, icahosttypes.StoreKey, capabilitytypes.StoreKey, group.StoreKey, + icacontrollertypes.StoreKey, + cardchainmoduletypes.StoreKey, // this line is used by starport scaffolding # stargate/app/storeKey ) tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey) @@ -349,8 +320,8 @@ func New( // 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) + scopedICAHostKeeper := app.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName) // this line is used by starport scaffolding # stargate/app/scopedKeeper // add keepers @@ -364,9 +335,9 @@ func New( ) app.AuthzKeeper = authzkeeper.NewKeeper( - keys[authzkeeper.StoreKey], + keys[authz.ModuleName], appCodec, - app.BaseApp.MsgServiceRouter(), + app.MsgServiceRouter(), app.AccountKeeper, ) @@ -375,10 +346,10 @@ func New( keys[banktypes.StoreKey], app.AccountKeeper, app.GetSubspace(banktypes.ModuleName), - app.ModuleAccountAddrs(), + app.BlockedModuleAccountAddrs(), ) - stakingKeeper := stakingkeeper.NewKeeper( + app.StakingKeeper = stakingkeeper.NewKeeper( appCodec, keys[stakingtypes.StoreKey], app.AccountKeeper, @@ -390,7 +361,7 @@ func New( appCodec, keys[minttypes.StoreKey], app.GetSubspace(minttypes.ModuleName), - &stakingKeeper, + &app.StakingKeeper, app.AccountKeeper, app.BankKeeper, authtypes.FeeCollectorName, @@ -402,13 +373,14 @@ func New( app.GetSubspace(distrtypes.ModuleName), app.AccountKeeper, app.BankKeeper, - &stakingKeeper, + &app.StakingKeeper, authtypes.FeeCollectorName, ) + app.SlashingKeeper = slashingkeeper.NewKeeper( appCodec, keys[slashingtypes.StoreKey], - &stakingKeeper, + &app.StakingKeeper, app.GetSubspace(slashingtypes.ModuleName), ) @@ -447,12 +419,6 @@ func New( authtypes.NewModuleAddress(govtypes.ModuleName).String(), ) - // register the staking hooks - // NOTE: stakingKeeper above is passed by reference, so that it will contain these hooks - app.StakingKeeper = *stakingKeeper.SetHooks( - stakingtypes.NewMultiStakingHooks(app.DistrKeeper.Hooks(), app.SlashingKeeper.Hooks()), - ) - // ... other modules keepers // Create IBC Keeper @@ -509,49 +475,13 @@ func New( // 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.SetsStoreKey], - keys[cardchainmoduletypes.SellOffersStoreKey], - keys[cardchainmoduletypes.PoolsStoreKey], - keys[cardchainmoduletypes.CouncilsStoreKey], - keys[cardchainmoduletypes.RunningAveragesStoreKey], - keys[cardchainmoduletypes.ImagesStoreKey], - keys[cardchainmoduletypes.ServersStoreKey], - keys[cardchainmoduletypes.ZealyStoreKey], - keys[cardchainmoduletypes.EncountersStoreKey], - 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 := 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(ibcclienttypes.RouterKey, ibcclient.NewClientProposalHandler(app.IBCKeeper.ClientKeeper)) - govConfig := govtypes.DefaultConfig() app.GovKeeper = govkeeper.NewKeeper( appCodec, @@ -559,12 +489,24 @@ func New( app.GetSubspace(govtypes.ModuleName), app.AccountKeeper, app.BankKeeper, - &stakingKeeper, + &app.StakingKeeper, govRouter, app.MsgServiceRouter(), govConfig, ) + app.CardchainKeeper = *cardchainmodulekeeper.NewKeeper( + appCodec, + keys[cardchainmoduletypes.StoreKey], + keys[cardchainmoduletypes.MemStoreKey], + app.GetSubspace(cardchainmoduletypes.ModuleName), + ) + cardchainModule := cardchainmodule.NewAppModule(appCodec, app.CardchainKeeper, app.AccountKeeper, app.BankKeeper) + + // this line is used by starport scaffolding # stargate/app/keeperDefinition + + /**** IBC Routing ****/ + // Sealing prevents other modules from creating scoped sub-keepers app.CapabilityKeeper.Seal() @@ -572,15 +514,32 @@ func New( ibcRouter := ibcporttypes.NewRouter() ibcRouter.AddRoute(icahosttypes.SubModuleName, icaHostIBCModule). AddRoute(ibctransfertypes.ModuleName, transferIBCModule) - // this line is used by starport scaffolding # ibc/app/router app.IBCKeeper.SetRouter(ibcRouter) - /**** Module Options ****/ + /**** Module Hooks ****/ + + // register hooks after all modules have been initialized + + app.StakingKeeper.SetHooks( + stakingtypes.NewMultiStakingHooks( + // insert staking hooks receivers here + app.DistrKeeper.Hooks(), + app.SlashingKeeper.Hooks(), + ), + ) + + app.GovKeeper.SetHooks( + govtypes.NewMultiGovHooks( + // insert governance hooks receivers here + ), + ) + + /**** Module Options ****/ // NOTE: we may consider parsing `appOpts` inside module constructors. For the moment // we prefer to be more strict in what arguments the modules expect. - var skipGenesisInvariants = cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants)) + skipGenesisInvariants := cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants)) // NOTE: Any module instantiated in the module manager that is later modified // must be passed by reference here. @@ -610,7 +569,6 @@ func New( transferModule, icaModule, cardchainModule, - featureflagModule, // this line is used by starport scaffolding # stargate/app/appModule ) @@ -641,7 +599,6 @@ func New( paramstypes.ModuleName, vestingtypes.ModuleName, cardchainmoduletypes.ModuleName, - featureflagmoduletypes.ModuleName, // this line is used by starport scaffolding # stargate/app/beginBlockers ) @@ -667,7 +624,6 @@ func New( upgradetypes.ModuleName, vestingtypes.ModuleName, cardchainmoduletypes.ModuleName, - featureflagmoduletypes.ModuleName, // this line is used by starport scaffolding # stargate/app/endBlockers ) @@ -698,18 +654,17 @@ func New( upgradetypes.ModuleName, vestingtypes.ModuleName, cardchainmoduletypes.ModuleName, - featureflagmoduletypes.ModuleName, // this line is used by starport scaffolding # stargate/app/initGenesis ) - // This registers denomtypes - globtypes.RegisterNativeCoinUnits() + // Uncomment if you want to set a custom migration order here. + // app.mm.SetOrderMigrations(custom order) 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())) + app.mm.RegisterServices(app.configurator) // create the simulation manager and define the order of the modules for deterministic simulations app.sm = module.NewSimulationManager( @@ -729,7 +684,6 @@ func New( ibc.NewAppModule(app.IBCKeeper), transferModule, cardchainModule, - featureflagModule, // this line is used by starport scaffolding # stargate/app/appModule ) app.sm.RegisterStoreDecoders() @@ -753,7 +707,7 @@ func New( }, ) if err != nil { - panic(fmt.Errorf("failed to create AnteHandler: %s", err)) + panic(fmt.Errorf("failed to create AnteHandler: %w", err)) } app.SetAnteHandler(anteHandler) @@ -777,9 +731,6 @@ func New( // Name returns the name of the App func (app *App) Name() string { return app.BaseApp.Name() } -// GetBaseApp returns the base app of the application -func (app App) GetBaseApp() *baseapp.BaseApp { return app.BaseApp } - // BeginBlocker application updates every begin block func (app *App) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock { return app.mm.BeginBlock(ctx, req) @@ -787,65 +738,6 @@ func (app *App) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.R // EndBlocker application updates every end block func (app *App) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock { - // update the price of card auction (currently 1% decay per block) - if app.LastBlockHeight()%app.CardchainKeeper.GetParams(ctx).CardAuctionPriceReductionPeriod == 0 { - price := app.CardchainKeeper.GetCardAuctionPrice(ctx) - newprice := price.Sub(cardchainmodulekeeper.QuoCoin(price, 100)) - if !newprice.IsLT(sdk.NewInt64Coin("ucredits", 1000000)) { // stop at 1 credit - app.CardchainKeeper.SetCardAuctionPrice(ctx, newprice) - } - app.CardchainKeeper.Logger(ctx).Info(fmt.Sprintf(":: CardAuctionPrice: %s", app.CardchainKeeper.GetCardAuctionPrice(ctx))) - } - - // automated nerf/buff happens here - if app.LastBlockHeight()%epochBlockTime == 0 { - cardchainmodule.UpdateNerfLevels(ctx, app.CardchainKeeper) - matchesEnabled, _ := app.CardchainKeeper.FeatureFlagModuleInstance.Get(ctx, string(cardchainmoduletypes.FeatureFlagName_Matches)) - if matchesEnabled { // Only give voterigths to all users, when matches are not anabled - app.CardchainKeeper.AddVoteRightsToAllUsers(ctx) - } - } - - if app.LastBlockHeight()%500 == 0 { //HourlyFaucet - app.CardchainKeeper.DistributeHourlyFaucet(ctx) - - incentives := cardchainmodulekeeper.QuoCoin(*app.CardchainKeeper.Pools.Get(ctx, cardchainmodulekeeper.PublicPoolKey), 10) - app.CardchainKeeper.SubPoolCredits(ctx, cardchainmodulekeeper.PublicPoolKey, incentives) - winnersIncentives := cardchainmodulekeeper.MulCoinFloat(incentives, float64(app.CardchainKeeper.GetWinnerIncentives(ctx))) - balancersIncentives := cardchainmodulekeeper.MulCoinFloat(incentives, float64(app.CardchainKeeper.GetBalancerIncentives(ctx))) - app.CardchainKeeper.Logger(ctx).Info(fmt.Sprintf(":: Incentives (w, b): %s, %s", winnersIncentives, balancersIncentives)) - app.CardchainKeeper.AddPoolCredits(ctx, cardchainmodulekeeper.WinnersPoolKey, winnersIncentives) - app.CardchainKeeper.AddPoolCredits(ctx, cardchainmodulekeeper.BalancersPoolKey, balancersIncentives) - app.CardchainKeeper.Logger(ctx).Info(fmt.Sprintf(":: PublicPool: %s", app.CardchainKeeper.Pools.Get(ctx, cardchainmodulekeeper.PublicPoolKey))) - } - - // Setting running averages - if app.LastBlockHeight()%500 == 0 { - iter := app.CardchainKeeper.RunningAverages.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - idx, average := iter.Value() - average.Arr = append(average.Arr, 0) - if len(average.Arr) > 24 { - average.Arr = average.Arr[1:] - } - app.CardchainKeeper.RunningAverages.Set(ctx, app.CardchainKeeper.RunningAverages.KeyWords[idx], average) - } - } - - err := app.CardchainKeeper.CheckTrial(ctx) - if err != nil { - app.CardchainKeeper.Logger(ctx).Error(fmt.Sprintf("%s", err)) - } - - // Checks for empty pools - for idx, coin := range app.CardchainKeeper.Pools.GetAll(ctx) { - if coin.IsLT(sdk.NewInt64Coin(coin.Denom, 0)) { - app.CardchainKeeper.Logger(ctx).Error(fmt.Sprintf(":: %s: %v", app.CardchainKeeper.Pools.KeyWords[idx], coin)) - } - } - - app.CardchainKeeper.MatchWorker(ctx) - return app.mm.EndBlock(ctx, req) } @@ -855,20 +747,6 @@ func (app *App) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.Res if err := tmjson.Unmarshal(req.AppStateBytes, &genesisState); err != nil { panic(err) } - - // initialize CardScheme Id, Auction price and public pool - app.CardchainKeeper.SetCardAuctionPrice(ctx, sdk.NewInt64Coin("ucredits", 10000000)) - - for _, key := range app.CardchainKeeper.Pools.KeyWords { - pool := sdk.NewInt64Coin("ucredits", int64(1000*math.Pow(10, 6))) - app.CardchainKeeper.Pools.Set(ctx, key, &pool) - } - - for _, key := range app.CardchainKeeper.RunningAverages.KeyWords { - avg := cardchainmoduletypes.RunningAverage{[]int64{0}} - app.CardchainKeeper.RunningAverages.Set(ctx, key, &avg) - } - app.UpgradeKeeper.SetModuleVersionMap(ctx, app.mm.GetVersionMap()) return app.mm.InitGenesis(ctx, app.appCodec, genesisState) } @@ -955,13 +833,14 @@ func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig authtx.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) // Register new tendermint queries routes from grpc-gateway. tmservice.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) + // Register node gRPC service for grpc-gateway. + nodeservice.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) - // Register legacy and grpc-gateway routes for all modules. + // Register grpc-gateway routes for all modules. ModuleBasics.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) // register app's OpenAPI routes. - apiSvr.Router.Handle("/static/openapi.yml", http.FileServer(http.FS(docs.Docs))) - apiSvr.Router.HandleFunc("/", openapiconsole.Handler(Name, "/static/openapi.yml")) + docs.RegisterOpenAPIService(Name, apiSvr.Router) } // RegisterTxService implements the Application.RegisterTxService method. @@ -979,6 +858,11 @@ func (app *App) RegisterTendermintService(clientCtx client.Context) { ) } +// RegisterNodeService implements the Application.RegisterNodeService method. +func (app *App) RegisterNodeService(clientCtx client.Context) { + nodeservice.RegisterNodeService(clientCtx, app.GRPCQueryRouter()) +} + // GetMaccPerms returns a copy of the module account permissions func GetMaccPerms() map[string][]string { dupMaccPerms := make(map[string][]string) @@ -1005,7 +889,6 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino 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/cardchain/app/encoding.go similarity index 95% rename from app/encoding.go rename to cardchain/app/encoding.go index 32622944..6f39efd6 100644 --- a/app/encoding.go +++ b/cardchain/app/encoding.go @@ -6,7 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/std" "github.com/cosmos/cosmos-sdk/x/auth/tx" - "github.com/DecentralCardGame/Cardchain/app/params" + "cardchain/app/params" ) // makeEncodingConfig creates an EncodingConfig for an amino based test configuration. diff --git a/app/export.go b/cardchain/app/export.go similarity index 92% rename from app/export.go rename to cardchain/app/export.go index 41dcc83d..4f09d80a 100644 --- a/app/export.go +++ b/cardchain/app/export.go @@ -4,13 +4,12 @@ import ( "encoding/json" "log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - servertypes "github.com/cosmos/cosmos-sdk/server/types" sdk "github.com/cosmos/cosmos-sdk/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" "github.com/cosmos/cosmos-sdk/x/staking" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" ) // ExportAppStateAndValidators exports the state of the application for a genesis @@ -18,7 +17,6 @@ import ( func (app *App) ExportAppStateAndValidators( forZeroHeight bool, jailAllowedAddrs []string, ) (servertypes.ExportedApp, error) { - // as if they could withdraw from the start of the next block ctx := app.NewContext(true, tmproto.Header{Height: app.LastBlockHeight()}) @@ -50,8 +48,7 @@ func (app *App) ExportAppStateAndValidators( // prepare for fresh start at zero height // NOTE zero height genesis is a temporary feature which will be deprecated -// -// in favour of export at a block height +// in favour of export at a block height func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []string) { applyAllowedAddrs := false @@ -111,14 +108,23 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str feePool.CommunityPool = feePool.CommunityPool.Add(scraps...) app.DistrKeeper.SetFeePool(ctx, feePool) - app.DistrKeeper.Hooks().AfterValidatorCreated(ctx, val.GetOperator()) + err := app.DistrKeeper.Hooks().AfterValidatorCreated(ctx, val.GetOperator()) + if err != nil { + panic(err) + } return false }) // reinitialize all delegations for _, del := range dels { - app.DistrKeeper.Hooks().BeforeDelegationCreated(ctx, del.GetDelegatorAddr(), del.GetValidatorAddr()) - app.DistrKeeper.Hooks().AfterDelegationModified(ctx, del.GetDelegatorAddr(), del.GetValidatorAddr()) + err := app.DistrKeeper.Hooks().BeforeDelegationCreated(ctx, del.GetDelegatorAddr(), del.GetValidatorAddr()) + if err != nil { + panic(err) + } + err = app.DistrKeeper.Hooks().AfterDelegationModified(ctx, del.GetDelegatorAddr(), del.GetValidatorAddr()) + if err != nil { + panic(err) + } } // reset context height diff --git a/app/genesis.go b/cardchain/app/genesis.go similarity index 100% rename from app/genesis.go rename to cardchain/app/genesis.go diff --git a/app/params/encoding.go b/cardchain/app/params/encoding.go similarity index 100% rename from app/params/encoding.go rename to cardchain/app/params/encoding.go diff --git a/app/simulation_test.go b/cardchain/app/simulation_test.go similarity index 61% rename from app/simulation_test.go rename to cardchain/app/simulation_test.go index 714bc7a2..738b356f 100644 --- a/app/simulation_test.go +++ b/cardchain/app/simulation_test.go @@ -5,38 +5,21 @@ import ( "testing" "time" - "github.com/DecentralCardGame/Cardchain/app" - "github.com/cosmos/cosmos-sdk/baseapp" - "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/simapp" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" simulationtypes "github.com/cosmos/cosmos-sdk/types/simulation" "github.com/cosmos/cosmos-sdk/x/simulation" "github.com/stretchr/testify/require" - "github.com/tendermint/spm/cosmoscmd" abci "github.com/tendermint/tendermint/abci/types" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" tmtypes "github.com/tendermint/tendermint/types" + + "cardchain/app" ) func init() { simapp.GetSimulatorFlags() } -type SimApp interface { - cosmoscmd.App - GetBaseApp() *baseapp.BaseApp - AppCodec() codec.Codec - SimulationManager() *module.SimulationManager - ModuleAccountAddrs() map[string]bool - Name() string - LegacyAmino() *codec.LegacyAmino - BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock - EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock - InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain -} - var defaultConsensusParams = &abci.ConsensusParams{ Block: &abci.BlockParams{ MaxBytes: 200000, @@ -56,7 +39,7 @@ var defaultConsensusParams = &abci.ConsensusParams{ // BenchmarkSimulation run the chain simulation // Running using starport command: -// `starport chain simulate -v --numBlocks 200 --blockSize 50` +// `ignite chain simulate -v --numBlocks 200 --blockSize 50` // Running as go benchmark test: // `go test -benchmem -run=^$ -bench ^BenchmarkSimulation ./app -NumBlocks=200 -BlockSize 50 -Commit=true -Verbose=true -Enabled=true` func BenchmarkSimulation(b *testing.B) { @@ -72,7 +55,7 @@ func BenchmarkSimulation(b *testing.B) { require.NoError(b, err) }) - encoding := cosmoscmd.MakeEncodingConfig(app.ModuleBasics) + encoding := app.MakeEncodingConfig() app := app.New( logger, @@ -86,24 +69,21 @@ func BenchmarkSimulation(b *testing.B) { simapp.EmptyAppOptions{}, ) - simApp, ok := app.(SimApp) - require.True(b, ok, "can't use simapp") - // Run randomized simulations _, simParams, simErr := simulation.SimulateFromSeed( b, os.Stdout, - simApp.GetBaseApp(), - simapp.AppStateFn(simApp.AppCodec(), simApp.SimulationManager()), + app.BaseApp, + simapp.AppStateFn(app.AppCodec(), app.SimulationManager()), simulationtypes.RandomAccounts, - simapp.SimulationOperations(simApp, simApp.AppCodec(), config), - simApp.ModuleAccountAddrs(), + simapp.SimulationOperations(app, app.AppCodec(), config), + app.ModuleAccountAddrs(), config, - simApp.AppCodec(), + app.AppCodec(), ) // export state and simParams before the simulation error is checked - err = simapp.CheckExportSimulation(simApp, config, simParams) + err = simapp.CheckExportSimulation(app, config, simParams) require.NoError(b, err) require.NoError(b, simErr) diff --git a/cmd/Cardchaind/cmd/config.go b/cardchain/cmd/cardchaind/cmd/config.go similarity index 94% rename from cmd/Cardchaind/cmd/config.go rename to cardchain/cmd/cardchaind/cmd/config.go index 0b3a1ee1..c15ca1be 100644 --- a/cmd/Cardchaind/cmd/config.go +++ b/cardchain/cmd/cardchaind/cmd/config.go @@ -3,7 +3,7 @@ package cmd import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/DecentralCardGame/Cardchain/app" + "cardchain/app" ) func initSDKConfig() { diff --git a/cmd/Cardchaind/cmd/genaccounts.go b/cardchain/cmd/cardchaind/cmd/genaccounts.go similarity index 100% rename from cmd/Cardchaind/cmd/genaccounts.go rename to cardchain/cmd/cardchaind/cmd/genaccounts.go diff --git a/cmd/Cardchaind/cmd/root.go b/cardchain/cmd/cardchaind/cmd/root.go similarity index 98% rename from cmd/Cardchaind/cmd/root.go rename to cardchain/cmd/cardchaind/cmd/root.go index 99319599..afaa6a7f 100644 --- a/cmd/Cardchaind/cmd/root.go +++ b/cardchain/cmd/cardchaind/cmd/root.go @@ -33,11 +33,10 @@ import ( 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" + "cardchain/app" + appparams "cardchain/app/params" ) // NewRootCmd creates a new root command for a Cosmos SDK application @@ -55,7 +54,7 @@ func NewRootCmd() (*cobra.Command, appparams.EncodingConfig) { rootCmd := &cobra.Command{ Use: app.Name + "d", - Short: "Start cardchaind node", + Short: "Start cardchain node", PersistentPreRunE: func(cmd *cobra.Command, _ []string) error { // set the default command outputs cmd.SetOut(cmd.OutOrStdout()) diff --git a/cmd/Cardchaind/main.go b/cardchain/cmd/cardchaind/main.go similarity index 76% rename from cmd/Cardchaind/main.go rename to cardchain/cmd/cardchaind/main.go index e2a8c0b7..c242c9a5 100644 --- a/cmd/Cardchaind/main.go +++ b/cardchain/cmd/cardchaind/main.go @@ -3,10 +3,11 @@ package main 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" + + "cardchain/app" + "cardchain/cmd/cardchaind/cmd" ) func main() { diff --git a/cardchain/config.yml b/cardchain/config.yml new file mode 100644 index 00000000..868e0e1f --- /dev/null +++ b/cardchain/config.yml @@ -0,0 +1,21 @@ +version: 1 +accounts: +- name: alice + coins: + - 20000token + - 200000000stake +- name: bob + coins: + - 10000token + - 100000000stake +client: + openapi: + path: docs/static/openapi.yml +faucet: + name: bob + coins: + - 5token + - 100000stake +validators: +- name: alice + bonded: 100000000stake diff --git a/cardchain/docs/docs.go b/cardchain/docs/docs.go new file mode 100644 index 00000000..1ba96c79 --- /dev/null +++ b/cardchain/docs/docs.go @@ -0,0 +1,40 @@ +package docs + +import ( + "embed" + httptemplate "html/template" + "net/http" + + "github.com/gorilla/mux" +) + +const ( + apiFile = "/static/openapi.yml" + indexFile = "template/index.tpl" +) + +//go:embed static +var Static embed.FS + +//go:embed template +var template embed.FS + +func RegisterOpenAPIService(appName string, rtr *mux.Router) { + rtr.Handle(apiFile, http.FileServer(http.FS(Static))) + rtr.HandleFunc("/", handler(appName)) +} + +// handler returns an http handler that servers OpenAPI console for an OpenAPI spec at specURL. +func handler(title string) http.HandlerFunc { + t, _ := httptemplate.ParseFS(template, indexFile) + + return func(w http.ResponseWriter, req *http.Request) { + t.Execute(w, struct { + Title string + URL string + }{ + title, + apiFile, + }) + } +} diff --git a/docs/static/openapi.yml b/cardchain/docs/static/openapi.yml similarity index 96% rename from docs/static/openapi.yml rename to cardchain/docs/static/openapi.yml index 77ad615f..fba514c7 100644 --- a/docs/static/openapi.yml +++ b/cardchain/docs/static/openapi.yml @@ -4,6 +4,42 @@ info: name: '' description: '' paths: + /cardchain/cardchain/params: + get: + summary: Parameters queries the parameters of the module. + operationId: CardchainCardchainParams + responses: + '200': + description: A successful response. + schema: + 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. + 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/auth/v1beta1/accounts: get: summary: Accounts returns all the existing accounts @@ -5030,6 +5066,41 @@ paths: type: string tags: - Query + /cosmos/base/node/v1beta1/config: + get: + summary: Config queries for the operator configuration. + operationId: CosmosBaseNodeV1Beta1Config + responses: + '200': + description: A successful response. + schema: + type: object + properties: + minimum_gas_price: + type: string + description: >- + ConfigResponse defines the response structure for the Config gRPC + query. + 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: + - Service /cosmos/base/tendermint/v1beta1/abci_query: get: summary: >- @@ -18855,329 +18926,6 @@ paths: 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. @@ -32869,88 +32617,23 @@ paths: format: int64 tags: - Query - /DecentralCardGame/Cardchain/cardchain/params: + /ibc/apps/interchain_accounts/controller/v1/owners/{owner}/connections/{connection_id}: get: - summary: Parameters queries the parameters of the module. - operationId: DecentralCardGameCardchainCardchainParams + 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: - params: - description: params holds all the parameters of this module. - type: object - properties: - votingRightsExpirationTime: - type: string - format: int64 - setSize: - type: string - format: uint64 - setPrice: - type: string - 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 + address: + type: string description: >- - QueryParamsResponse is response type for the Query/Params RPC - method. + QueryInterchainAccountResponse the response type for the + Query/InterchainAccount RPC method. default: description: An unexpected error response. schema: @@ -32968,21 +32651,207 @@ 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: owner + in: path + required: true + type: string + - name: connection_id + in: path + required: true + type: string tags: - Query - /DecentralCardGame/Cardchain/cardchain/q_account_from_zealy/{zealyId}: + /ibc/apps/interchain_accounts/controller/v1/params: get: - summary: Queries a list of QAccountFromZealy items. - operationId: DecentralCardGameCardchainCardchainQAccountFromZealy + summary: Params queries all parameters of the ICA controller submodule. + operationId: IbcApplicationsInterchainAccountsControllerV1Params responses: '200': description: A successful response. schema: type: object properties: - address: - type: string + 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. default: description: An unexpected error response. schema: @@ -33000,86 +32869,203 @@ 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: zealyId - in: path - required: true - type: string + 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 - /DecentralCardGame/Cardchain/cardchain/q_card/{cardId}: + /ibc/apps/interchain_accounts/host/v1/params: get: - summary: Queries a list of QCard items. - operationId: DecentralCardGameCardchainCardchainQCard + summary: Params queries all parameters of the ICA host submodule. + operationId: IbcApplicationsInterchainAccountsHostV1Params 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 - - adventureItem - 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 + 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: @@ -33098,27 +33084,26 @@ paths: '@type': type: string additionalProperties: {} - parameters: - - name: cardId - in: path - required: true - type: string tags: - Query - /DecentralCardGame/Cardchain/cardchain/q_card_content/{cardId}: + /ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address: get: - summary: Queries a list of QCardContent items. - operationId: DecentralCardGameCardchainCardchainQCardContent + 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: - content: - type: string - hash: + escrow_address: type: string + title: the escrow account address + description: >- + QueryEscrowAddressResponse is the response type of the + EscrowAddress RPC method. default: description: An unexpected error response. schema: @@ -33136,96 +33121,205 @@ 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: cardId - in: path - required: true - type: string - format: uint64 - tags: - - Query - /DecentralCardGame/Cardchain/cardchain/q_card_contents/{cardIds}: - get: - summary: Queries a list of QCardContents items. - operationId: DecentralCardGameCardchainCardchainQCardContents - responses: - '200': - description: A successful response. - schema: - type: object - properties: - cards: - type: array - items: - 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: cardIds + - name: channel_id + description: unique channel identifier in: path required: true - type: array - items: - type: string - format: uint64 - collectionFormat: csv - minItems: 1 + type: string + - name: port_id + description: unique port identifier + in: path + required: true + type: string tags: - Query - /DecentralCardGame/Cardchain/cardchain/q_cardchain_info: + /ibc/apps/transfer/v1/denom_hashes/{trace}: get: - summary: Queries a list of QCardchainInfo items. - operationId: DecentralCardGameCardchainCardchainQCardchainInfo + summary: DenomHash queries a denomination hash information. + operationId: IbcApplicationsTransferV1DenomHash 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: + hash: type: string - format: uint64 + description: hash (in hex format) of the denomination trace information. + description: >- + QueryDenomHashResponse is the response type for the + Query/DenomHash RPC + + method. default: description: An unexpected error response. schema: @@ -33243,24 +33337,237 @@ 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: trace + description: The denomination trace ([port_id]/[channel_id])+/[denom] + in: path + required: true + type: string tags: - Query - /DecentralCardGame/Cardchain/cardchain/q_cards: + /ibc/apps/transfer/v1/denom_traces: get: - summary: Queries a list of QCards items. - operationId: DecentralCardGameCardchainCardchainQCards + summary: DenomTraces queries all denomination traces. + operationId: IbcApplicationsTransferV1DenomTraces responses: '200': description: A successful response. schema: type: object properties: - cardsList: + denom_traces: type: array items: - type: string - format: uint64 + 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: @@ -33278,214 +33585,264 @@ 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: owner - in: query - required: false - type: string - - name: statuses - in: query - required: false - type: array - items: - type: string - enum: - - scheme - - prototype - - trial - - permanent - - suspended - - banned - - bannedSoon - - bannedVerySoon - - none - - adventureItem - collectionFormat: multi - - name: cardTypes - in: query - required: false - type: array - items: - type: string - enum: - - place - - action - - entity - - headquarter - collectionFormat: multi - - name: classes - in: query - required: false - type: array - items: - type: string - enum: - - nature - - culture - - mysticism - - technology - collectionFormat: multi - - name: sortBy - in: query - required: false - type: string - - name: nameContains + 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 - - name: keywordsContains + 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: notesContains + 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: onlyStarterCard - in: query - required: false - type: boolean - - name: onlyBalanceAnchors + 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: rarities - in: query - required: false - type: array - items: - type: string - enum: - - common - - uncommon - - rare - - exceptional - - unique - collectionFormat: multi - - name: multiClassOnly + - 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_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: - - councilOpen - - councilCreated - - councilClosed - - commited - - revealed - - suggestionsMade - default: councilOpen - 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_encounter/{id}: + /ibc/apps/transfer/v1/denom_traces/{hash}: get: - summary: Queries a list of QEncounter items. - operationId: DecentralCardGameCardchainCardchainQEncounter + summary: DenomTrace queries a denomination trace information. + operationId: IbcApplicationsTransferV1DenomTrace responses: '200': description: A successful response. schema: type: object properties: - encounter: + denom_trace: + description: >- + denom_trace returns the requested denomination trace + information. type: object properties: - Id: - type: string - format: uint64 - Drawlist: - type: array - items: - type: string - format: uint64 - proven: - type: boolean - owner: - type: string - parameters: - type: object - additionalProperties: - type: string - imageId: + path: type: string - format: uint64 - name: + 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: >- + QueryDenomTraceResponse is the response type for the + Query/DenomTrace RPC + + method. default: description: An unexpected error response. schema: @@ -33503,117 +33860,215 @@ 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: id + - 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 - format: uint64 tags: - Query - /DecentralCardGame/Cardchain/cardchain/q_encounter_with_image/{id}: + /ibc/apps/transfer/v1/params: get: - summary: Queries a list of QEncounterWithImage items. - operationId: DecentralCardGameCardchainCardchainQEncounterWithImage + summary: Params queries all parameters of the ibc-transfer module. + operationId: IbcApplicationsTransferV1Params responses: '200': description: A successful response. schema: type: object properties: - encounter: + params: + description: params defines the parameters of the module. type: object properties: - encounter: - type: object - properties: - Id: - type: string - format: uint64 - Drawlist: - type: array - items: - type: string - format: uint64 - proven: - type: boolean - owner: - type: string - parameters: - type: object - additionalProperties: - type: string - imageId: - type: string - format: uint64 - name: - type: string - image: - type: string - format: byte - 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_encounters: - get: - summary: Queries a list of QEncounters items. - operationId: DecentralCardGameCardchainCardchainQEncounters - responses: - '200': - description: A successful response. - schema: - type: object - properties: - encounters: - type: array - items: - type: object - properties: - Id: - type: string - format: uint64 - Drawlist: - type: array - items: - type: string - format: uint64 - proven: - type: boolean - owner: - type: string - parameters: - type: object - additionalProperties: - type: string - imageId: - type: string - format: uint64 - name: - type: string + send_enabled: + type: boolean + description: >- + send_enabled enables or disables all cross-chain token + transfers from this + + chain. + receive_enabled: + type: boolean + description: >- + receive_enabled enables or disables all cross-chain token + transfers to this + + chain. + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. default: description: An unexpected error response. schema: @@ -33631,325 +34086,327 @@ 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" + } tags: - Query - /DecentralCardGame/Cardchain/cardchain/q_encounters_with_image: + /ibc/core/channel/v1/channels: get: - summary: Queries a list of QEncountersWithImage items. - operationId: DecentralCardGameCardchainCardchainQEncountersWithImage + summary: Channels queries all the IBC channels of a chain. + operationId: IbcCoreChannelV1Channels responses: '200': description: A successful response. schema: type: object properties: - encounters: + channels: type: array items: type: object properties: - encounter: + 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: - Id: - type: string - format: uint64 - Drawlist: - type: array - items: - type: string - format: uint64 - proven: - type: boolean - owner: - type: string - parameters: - type: object - additionalProperties: - type: string - imageId: + port_id: type: string - format: uint64 - name: + description: >- + port on the counterparty chain which owns the other + end of the channel. + channel_id: type: string - image: + 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 - format: byte - 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': + title: >- + opaque channel version, which is agreed upon during the + handshake + port_id: type: string - additionalProperties: {} - 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: + 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: - 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 - deck: - type: array - items: - type: string - format: uint64 - votedCards: - type: array - items: - type: object - properties: - cardId: - type: string - format: uint64 - voteType: - type: string - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - 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: + revision_number: type: string - playedCards: - type: array - items: - type: string - format: uint64 - confirmed: - type: boolean - outcome: + format: uint64 + title: the revision that the client is currently on + revision_height: 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 - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - 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: matchId - in: path - required: true - type: string - format: uint64 - tags: - - Query - /DecentralCardGame/Cardchain/cardchain/q_matches: - get: - summary: Queries a list of QMatches items. - operationId: DecentralCardGameCardchainCardchainQMatches - responses: - '200': - description: A successful response. - schema: - type: object - properties: - 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 - 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 - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - 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 - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - outcome: - type: string - enum: - - AWon - - BWon - - Draw - - Aborted - default: AWon - coinsDistributed: - type: boolean - serverConfirmed: - type: boolean + 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. default: description: An unexpected error response. schema: @@ -33967,79 +34424,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: {} + 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 + - 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: uint64 - - name: timestampUp + 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: containsUsers - in: query - required: false - type: array - items: - type: string - collectionFormat: multi - - name: reporter - in: query - required: false - type: string - - name: outcome + - 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 - enum: - - AWon - - BWon - - Draw - - Aborted - default: AWon - - name: cardsPlayed + 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: array - items: - type: string - format: uint64 - collectionFormat: multi - - name: ignore.outcome + 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_sell_offer/{sellOfferId}: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}: get: - summary: Queries a list of QSellOffer items. - operationId: DecentralCardGameCardchainCardchainQSellOffer + summary: Channel queries an IBC Channel. + operationId: IbcCoreChannelV1Channel 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: + 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 + + modules on separate blockchains, which has at least one end + capable of + + sending packets and one end capable of receiving packets. + proof: type: string - enum: - - open - - sold - - removed - default: open + 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 + description: >- + QueryChannelResponse is the response type for the Query/Channel + RPC 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: @@ -34057,51 +34793,423 @@ 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 + - name: port_id + description: port unique identifier in: path required: true type: string - format: uint64 tags: - Query - /DecentralCardGame/Cardchain/cardchain/q_sell_offers/{status}: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state: get: - summary: Queries a list of QSellOffers items. - operationId: DecentralCardGameCardchainCardchainQSellOffers + 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: - 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 + 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 + 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: @@ -34119,166 +35227,408 @@ 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 - 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: port_id + description: port unique identifier in: path required: true type: string - format: uint64 tags: - Query - /DecentralCardGame/Cardchain/cardchain/q_set/{setId}: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}: get: - summary: Queries a list of QSet items. - operationId: DecentralCardGameCardchainCardchainQSet + 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: - 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 - contributorsDistribution: - type: array - items: - type: object - properties: - addr: - type: string - q: - type: integer - format: int64 - payment: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + 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 - 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. - Rarities: - type: array - items: - type: object - properties: - R: - type: array - items: - type: string - format: uint64 + 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" + } + 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 + + 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: @@ -34296,30 +35646,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: setId + - 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: 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_sets/{status}/{ignoreStatus}: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence: get: - summary: Queries a list of QSets items. - operationId: DecentralCardGameCardchainCardchainQSets + summary: >- + NextSequenceReceive returns the next receive sequence for a given + channel. + operationId: IbcCoreChannelV1NextSequenceReceive responses: '200': description: A successful response. schema: type: object properties: - setIds: - type: array - items: - type: string - format: uint64 + 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 + + gets reset + title: |- + QuerySequenceResponse is the request type for the + Query/QueryNextSequenceReceiveResponse RPC method default: description: An unexpected error response. schema: @@ -34337,513 +35908,62 @@ paths: 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_user/{address}: - get: - summary: Queries a list of QUser items. - operationId: DecentralCardGameCardchainCardchainQUser - responses: - '200': - description: A successful response. - schema: - type: object - properties: - 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 - CouncilStatus: - type: string - enum: - - available - - unavailable - - openCouncil - - startedCouncil - default: available - 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 - votableCards: - type: array - items: - type: string - format: uint64 - votedCards: - type: array - items: - type: string - format: uint64 - earlyAccess: - type: object - properties: - active: - type: boolean - invitedByUser: - type: string - invitedUser: - type: string - OpenEncounters: - type: array - items: - type: string - format: uint64 - WonEncounters: - 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: 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: - 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 - 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/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: Parameters queries the parameters of the module. - operationId: DecentralCardGameCardchainFeatureflagParams - responses: - '200': - description: A successful response. - schema: - 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. - 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: - Module: - type: string - Name: - type: string - Set: - 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: module - in: path - required: true - type: string - - name: name - in: path - required: true - type: string - tags: - - Query - /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: - flags: - type: array - items: - type: object - properties: - Module: - type: string - Name: - type: string - Set: - 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: {} - tags: - - Query - /ibc/apps/interchain_accounts/controller/v1/owners/{owner}/connections/{connection_id}: - get: - 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: - address: - type: string - description: >- - QueryInterchainAccountResponse the response type for the - Query/InterchainAccount 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. + 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 @@ -34957,38 +36077,122 @@ paths: "value": "1.212s" } parameters: - - name: owner + - name: channel_id + description: channel unique identifier in: path required: true type: string - - name: connection_id + - name: port_id + description: port unique identifier in: path required: true type: string tags: - Query - /ibc/apps/interchain_accounts/controller/v1/params: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements: get: - summary: Params queries all parameters of the ICA controller submodule. - operationId: IbcApplicationsInterchainAccountsControllerV1Params + summary: >- + PacketAcknowledgements returns all the packet acknowledgements + associated + + with a channel. + operationId: IbcCoreChannelV1PacketAcknowledgements responses: '200': description: A successful response. schema: type: object properties: - params: - description: params defines the parameters of the module. + 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 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. + 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: @@ -35174,73 +36378,138 @@ 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: 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 + - 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/apps/interchain_accounts/host/v1/params: - get: - summary: Params queries all parameters of the ICA host submodule. - operationId: IbcApplicationsInterchainAccountsHostV1Params - responses: - '200': - description: A successful response. - schema: - 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. - 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 - /ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}: get: - summary: >- - EscrowAddress returns the escrow address for a particular port and - channel id. - operationId: IbcApplicationsTransferV1EscrowAddress + summary: PacketAcknowledgement queries a stored packet acknowledgement hash. + operationId: IbcCoreChannelV1PacketAcknowledgement responses: '200': description: A successful response. schema: type: object properties: - escrow_address: + acknowledgement: type: string - title: the escrow account address - description: >- - QueryEscrowAddressResponse is the response type of the - EscrowAddress RPC method. + 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: >- + 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: @@ -35428,35 +36697,125 @@ paths: } parameters: - name: channel_id - description: unique channel identifier + description: channel unique identifier in: path required: true type: string - name: port_id - description: unique port identifier + 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/apps/transfer/v1/denom_hashes/{trace}: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments: get: - summary: DenomHash queries a denomination hash information. - operationId: IbcApplicationsTransferV1DenomHash + summary: |- + PacketCommitments returns all the packet commitments hashes associated + with a channel. + operationId: IbcCoreChannelV1PacketCommitments responses: '200': description: A successful response. schema: 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 + commitments: + 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 - method. + 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: |- + QueryPacketCommitmentsResponse is the request type for the + Query/QueryPacketCommitments RPC method default: description: An unexpected error response. schema: @@ -35643,68 +37002,126 @@ paths: "value": "1.212s" } parameters: - - name: trace - description: The denomination trace ([port_id]/[channel_id])+/[denom] + - 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 - /ibc/apps/transfer/v1/denom_traces: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks: get: - summary: DenomTraces queries all denomination traces. - operationId: IbcApplicationsTransferV1DenomTraces + 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: - denom_traces: + sequences: 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: string + format: uint64 + title: list of unreceived acknowledgement sequences + height: + title: query block height type: object properties: - next_key: + revision_number: 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: + format: uint64 + title: the revision that the client is currently on + revision_height: type: string format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping - was set, its value is undefined otherwise - description: >- - QueryConnectionsResponse is the response type for the - Query/DenomTraces RPC + RevisionNumber the same. However some consensus algorithms may + choose to - method. + 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: @@ -35891,95 +37308,80 @@ 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 + - name: channel_id + description: channel unique identifier + 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: port_id + description: port 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 - - 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 + - name: packet_ack_sequences + description: list of acknowledgement sequences + in: path + required: true + type: array + items: + type: string + format: uint64 + collectionFormat: csv + minItems: 1 tags: - Query - /ibc/apps/transfer/v1/denom_traces/{hash}: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets: get: - summary: DenomTrace queries a denomination trace information. - operationId: IbcApplicationsTransferV1DenomTrace + 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: - denom_trace: - description: >- - denom_trace returns the requested denomination trace - information. + sequences: + type: array + items: + type: string + format: uint64 + title: list of unreceived packet sequences + height: + title: query block height type: object properties: - path: + revision_number: type: string - description: >- - path defines the chain of port/channel identifiers used - for tracing the - - source of the fungible token. - base_denom: + format: uint64 + title: the revision that the client is currently on + revision_height: type: string - description: base denomination of the relayed fungible token. - description: >- - QueryDenomTraceResponse is the response type for the - Query/DenomTrace RPC + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping - 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: |- + QueryUnreceivedPacketsResponse is the response type for the + Query/UnreceivedPacketCommitments RPC method default: description: An unexpected error response. schema: @@ -36166,46 +37568,83 @@ paths: "value": "1.212s" } parameters: - - name: hash - description: >- - hash (in hex format) or denom (full denom with ibc prefix) of the - denomination trace information. + - 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: 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/apps/transfer/v1/params: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}: get: - summary: Params queries all parameters of the ibc-transfer module. - operationId: IbcApplicationsTransferV1Params + summary: PacketCommitment queries a stored packet commitment hash. + operationId: IbcCoreChannelV1PacketCommitment responses: '200': description: A successful response. schema: type: object properties: - params: - description: params defines the parameters of the module. + 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: - 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. - description: >- - QueryParamsResponse is the response type for the Query/Params RPC - method. + 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: @@ -36391,129 +37830,48 @@ 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: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}: get: - summary: Channels queries all the IBC channels of a chain. - operationId: IbcCoreChannelV1Channels + 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: - 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: >- - 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 + 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 type: object properties: revision_number: @@ -36541,9 +37899,14 @@ paths: RevisionHeight gets reset - description: >- - QueryChannelsResponse is the response type for the Query/Channels - RPC method. + 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: @@ -36730,154 +38093,147 @@ 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 + - name: channel_id + description: channel unique identifier + in: path + required: true 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: port_id + description: port unique identifier + 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: sequence + description: packet sequence + 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 - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}: + /ibc/core/channel/v1/connections/{connection}/channels: get: - summary: Channel queries an IBC Channel. - operationId: IbcCoreChannelV1Channel + summary: |- + ConnectionChannels queries all the channels associated with a connection + end. + operationId: IbcCoreChannelV1ConnectionChannels 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: + 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. + 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: + - 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: channel end on the counterparty chain - connection_hops: - type: array - items: + title: >- + list of connection identifiers, in order, along which + packets sent on + + this channel will travel + version: type: string - title: >- - list of connection identifiers, in order, along which - packets sent on + 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 - this channel will travel - version: + identifier fields. + description: list of channels associated with a connection. + 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: >- - opaque channel version, which is agreed upon during the - handshake + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise description: >- - Channel defines pipeline for exactly-once packet delivery - between specific + PageResponse is to be embedded in gRPC response messages where + the - modules on separate blockchains, which has at least one end - capable of + corresponding request message has used PageRequest. - 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 + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + height: + title: query block height type: object properties: revision_number: @@ -36905,14 +38261,9 @@ paths: RevisionHeight gets reset - description: >- - QueryChannelResponse is the response type for the Query/Channel - RPC method. - - Besides the Channel end, it includes a proof and the height from - which the - - proof was retrieved. + title: |- + QueryConnectionChannelsResponse is the Response type for the + Query/QueryConnectionChannels RPC method default: description: An unexpected error response. schema: @@ -37099,254 +38450,303 @@ paths: "value": "1.212s" } parameters: - - name: channel_id - description: channel unique identifier + - name: connection + description: connection unique 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/client_states: get: - summary: >- - ChannelClientState queries for the client state for the channel - associated - - with the provided channel identifiers. - operationId: IbcCoreChannelV1ChannelClientState + summary: ClientStates queries all the IBC light clients of a chain. + operationId: IbcCoreClientV1ClientStates 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: - title: client state - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type - of the serialized + client_states: + type: array + items: + 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 + 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" - } - description: >- - IdentifiedClientState defines a client state with an - additional client + { + "@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 - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved + identifier field. + description: list of stored ClientStates of the chain. + 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 + title: >- + total is total number of results available if + PageRequest.count_total - reset the height in certain conditions e.g. hard forks, - state-machine + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the - breaking changes In these cases, the RevisionNumber is - incremented so that + corresponding request message has used PageRequest. - height continues to be monitonically increasing even as the - RevisionHeight + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + description: >- + QueryClientStatesResponse is the response type for the + Query/ClientStates RPC - gets reset - title: |- - QueryChannelClientStateResponse is the Response type for the - Query/QueryChannelClientState RPC method + method. default: description: An unexpected error response. schema: @@ -37533,32 +38933,76 @@ 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 + 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/client_states/{client_id}: get: - summary: |- - ChannelConsensusState queries for the consensus state for the channel - associated with the provided channel identifiers. - operationId: IbcCoreChannelV1ChannelConsensusState + summary: ClientState queries an IBC light client. + operationId: IbcCoreClientV1ClientState responses: '200': description: A successful response. schema: type: object properties: - consensus_state: - title: consensus state associated with the channel + client_state: + title: client state associated with the request identifier type: object properties: '@type': @@ -37727,9 +39171,6 @@ paths: "@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 @@ -37763,9 +39204,14 @@ paths: RevisionHeight gets reset - title: |- - QueryChannelClientStateResponse is the Response type for the - Query/QueryChannelClientState RPC method + description: >- + 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: @@ -37952,82 +39398,30 @@ 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: 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 + - name: client_id + description: client state unique identifier in: path required: true type: string - format: uint64 tags: - Query - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence: + /ibc/core/client/v1/client_status/{client_id}: get: - summary: >- - NextSequenceReceive returns the next receive sequence for a given - channel. - operationId: IbcCoreChannelV1NextSequenceReceive + summary: Status queries the status of an IBC client. + operationId: IbcCoreClientV1ClientStatus responses: '200': description: A successful response. schema: type: object properties: - next_sequence_receive: - type: string - format: uint64 - title: next sequence receive number - proof: + status: 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 + description: >- + QueryClientStatusResponse is the response type for the + Query/ClientStatus RPC - gets reset - title: |- - QuerySequenceResponse is the request type for the - Query/QueryNextSequenceReceiveResponse RPC method + method. It returns the current status of the IBC client. default: description: An unexpected error response. schema: @@ -38214,61 +39608,241 @@ 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 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/consensus_states/{client_id}: get: - summary: >- - PacketAcknowledgements returns all the packet acknowledgements - associated - - with a channel. - operationId: IbcCoreChannelV1PacketAcknowledgements + summary: |- + ConsensusStates queries all the consensus state associated with a given + client. + operationId: IbcCoreClientV1ConsensusStates responses: '200': description: A successful response. schema: type: object properties: - acknowledgements: + consensus_states: 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 + 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 - packet commitments, acknowledgements, and receipts. + RevisionNumber the same. However some consensus + algorithms may choose to - Caller is responsible for knowing the context necessary to - interpret this + reset the height in certain conditions e.g. hard forks, + state-machine - state as a commitment, acknowledgement, or a receipt. + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as + the RevisionHeight + + 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 @@ -38298,38 +39872,9 @@ paths: 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 + QueryConsensusStatesResponse is the response type for the + Query/ConsensusStates RPC method default: description: An unexpected error response. schema: @@ -38516,13 +40061,8 @@ 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 @@ -38582,71 +40122,90 @@ paths: 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/consensus_states/{client_id}/heights: get: - summary: PacketAcknowledgement queries a stored packet acknowledgement hash. - operationId: IbcCoreChannelV1PacketAcknowledgement + summary: >- + 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: - 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 + 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: - 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 - title: >- - QueryPacketAcknowledgementResponse defines the client query - response for a + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the - packet which also 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: |- + QueryConsensusStateHeightsResponse is the response type for the + Query/ConsensusStateHeights RPC method default: description: An unexpected error response. schema: @@ -38833,402 +40392,261 @@ 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 - - name: sequence - description: packet sequence - 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 + 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: + /ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}: get: - summary: |- - PacketCommitments returns all the packet commitments hashes associated - with a channel. - operationId: IbcCoreChannelV1PacketCommitments + 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: - commitments: - 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 - 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 + consensus_state: + title: >- + consensus state associated with the client identifier at the + given height 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: |- - QueryPacketCommitmentsResponse is the request type for the - Query/QueryPacketCommitments 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 + 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". - - - - JSON - - ==== + } + ... + 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: 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. + The JSON representation of an `Any` value uses the regular - It is less efficient than using key. Only one of offset or key - should + representation of the deserialized, embedded message, with an - 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. + additional field `@type` which contains the type URL. Example: - 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 + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - a count of the total number of items available for pagination in - UIs. + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - count_total is only respected when offset is used. It is ignored - when key + If the embedded message type is well-known and has a custom + JSON - 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. + representation, that representation will be embedded adding a + field + `value` which holds the custom JSON in addition to the `@type` - 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_ack_sequences}/unreceived_acks: - get: - summary: >- - UnreceivedAcks returns all the unreceived IBC acknowledgements - associated + field. Example (for message [google.protobuf.Duration][]): - with a channel and sequences. - operationId: IbcCoreChannelV1UnreceivedAcks - responses: - '200': - description: A successful response. - schema: - type: object - properties: - sequences: - type: array - items: - type: string - format: uint64 - title: list of unreceived acknowledgement sequences - height: - title: query block height + { + "@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: revision_number: @@ -39256,9 +40674,11 @@ paths: RevisionHeight gets reset - title: |- - QueryUnreceivedAcksResponse is the response type for the - Query/UnreceivedAcks RPC method + title: >- + QueryConsensusStateResponse is the response type for the + Query/ConsensusState + + RPC method default: description: An unexpected error response. schema: @@ -39445,80 +40865,60 @@ 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 + - name: revision_number + description: consensus state revision number in: path required: true type: string - - name: packet_ack_sequences - description: list of acknowledgement sequences + format: uint64 + - name: revision_height + description: consensus state revision height in: path required: true - type: array - items: - type: string - format: uint64 - collectionFormat: csv - minItems: 1 + 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}/packet_commitments/{packet_commitment_sequences}/unreceived_packets: + /ibc/core/client/v1/params: get: - summary: >- - UnreceivedPackets returns all the unreceived IBC packets associated with - a - - channel and sequences. - operationId: IbcCoreChannelV1UnreceivedPackets + summary: ClientParams queries all parameters of the ibc client submodule. + operationId: IbcCoreClientV1ClientParams 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 + params: + description: params defines the parameters of the module. 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 + 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: |- - QueryUnreceivedPacketsResponse is the response type for the - Query/UnreceivedPacketCommitments RPC method + method. default: description: An unexpected error response. schema: @@ -39704,84 +41104,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: 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/client/v1/upgraded_client_states: get: - summary: PacketCommitment queries a stored packet commitment hash. - operationId: IbcCoreChannelV1PacketCommitment + summary: UpgradedClientState queries an Upgraded IBC light client. + operationId: IbcCoreClientV1UpgradedClientState responses: '200': description: A successful response. schema: type: object properties: - 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 + upgraded_client_state: + title: client 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. - 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: >- - QueryPacketCommitmentResponse defines the client query response - for a packet - which also includes a proof and the height from which the proof - was + Example 1: Pack and unpack a message in C++. - retrieved + 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: @@ -39967,83 +41474,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: 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_receipts/{sequence}: + /ibc/core/client/v1/upgraded_consensus_states: get: - summary: >- - PacketReceipt queries if a given packet sequence has been received on - the - - queried chain - operationId: IbcCoreChannelV1PacketReceipt + summary: UpgradedConsensusState queries an Upgraded IBC consensus state. + operationId: IbcCoreClientV1UpgradedConsensusState 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 + 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. - 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: >- - QueryPacketReceiptResponse defines the client query response for a - packet - receipt which also includes a proof, and the height from which the - proof was + Example 1: Pack and unpack a message in C++. - retrieved + 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: |- + QueryUpgradedConsensusStateResponse is the response type for the + Query/UpgradedConsensusState RPC method. default: description: An unexpected error response. schema: @@ -40229,164 +41844,47 @@ 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/connections/{connection}/channels: + /ibc/core/connection/v1/client_connections/{client_id}: get: summary: |- - ConnectionChannels queries all the channels associated with a connection - end. - operationId: IbcCoreChannelV1ConnectionChannels + ClientConnections queries the connection paths associated with a client + state. + operationId: IbcCoreConnectionV1ClientConnections responses: '200': description: A successful response. schema: type: object properties: - channels: + connection_paths: 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: + 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: + 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. - - - 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 channels associated with a connection. - 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 + RevisionNumber the same. However some consensus algorithms may + choose to reset the height in certain conditions e.g. hard forks, state-machine @@ -40399,8 +41897,8 @@ paths: gets reset title: |- - QueryConnectionChannelsResponse is the Response type for the - Query/QueryConnectionChannels RPC method + QueryClientConnectionsResponse is the response type for the + Query/ClientConnections RPC method default: description: An unexpected error response. schema: @@ -40587,269 +42085,110 @@ paths: "value": "1.212s" } parameters: - - name: connection - description: connection 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 - - 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/client/v1/client_states: + /ibc/core/connection/v1/connections: get: - summary: ClientStates queries all the IBC light clients of a chain. - operationId: IbcCoreClientV1ClientStates + summary: Connections queries all the IBC connections of a chain. + operationId: IbcCoreConnectionV1Connections responses: '200': description: A successful response. schema: type: object properties: - client_states: + connections: type: array items: type: object properties: + id: + type: string + description: connection identifier. client_id: type: string - title: client identifier - client_state: - title: client state + 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: - '@type': + client_id: 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 + identifies the client on the counterparty chain + associated with a given - representation, that representation will be embedded - adding a field + connection. + connection_id: + type: string + description: >- + identifies the connection end on the counterparty + chain associated with a - `value` which holds the custom JSON in addition to the - `@type` + 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. - field. Example (for message - [google.protobuf.Duration][]): + The constructed key from the Path and the key will + be append(Path.KeyPath, - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + append(Path.KeyPrefix, key...)) + delay_period: + type: string + format: uint64 + description: delay period associated with this connection. description: >- - IdentifiedClientState defines a client state with an - additional client + IdentifiedConnection defines a connection with additional + connection identifier field. - description: list of stored ClientStates of the chain. + description: list of stored connections of the chain. pagination: title: pagination response type: object @@ -40879,9 +42218,38 @@ paths: 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: >- - QueryClientStatesResponse is the response type for the - Query/ClientStates RPC + QueryConnectionsResponse is the response type for the + Query/Connections RPC method. default: @@ -41128,186 +42496,109 @@ paths: type: boolean tags: - Query - /ibc/core/client/v1/client_states/{client_id}: + /ibc/core/connection/v1/connections/{connection_id}: get: - summary: ClientState queries an IBC light client. - operationId: IbcCoreClientV1ClientState + summary: Connection queries an IBC connection end. + operationId: IbcCoreConnectionV1Connection responses: '200': description: A successful response. schema: type: object properties: - client_state: - title: client state associated with the request identifier + connection: + title: connection associated with the request identifier type: object properties: - '@type': + client_id: 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 + 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 fully qualified name of the type (as in + the connection handshake. + description: >- + IBC version which can be utilised to determine encodings + or protocols for - `path/google.protobuf.Duration`). The name should be in a - canonical form + 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 - (e.g., leading "." is not accepted). + 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. - 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. + 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 - Schemes other than `http`, `https` (or the empty scheme) - might be + packet-verification NOTE: delay period logic is only + implemented by some - used with implementation specific semantics. - additionalProperties: {} + clients. 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 + ConnectionEnd defines a stateful object on a chain connected + to another - `value` which holds the custom JSON in addition to the `@type` + separate one. - field. Example (for message [google.protobuf.Duration][]): + NOTE: there must only be 2 defined ConnectionEnds to establish - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + a connection between two chains. proof: type: string format: byte @@ -41342,10 +42633,10 @@ paths: gets reset description: >- - QueryClientStateResponse is the response type for the - Query/ClientState RPC + QueryConnectionResponse is the response type for the + Query/Connection RPC - method. Besides the client state, it includes a proof and the + method. Besides the connection end, it includes a proof and the height from which the proof was retrieved. @@ -41535,30 +42826,247 @@ paths: "value": "1.212s" } parameters: - - name: client_id - description: client state unique identifier + - name: connection_id + description: connection unique identifier in: path required: true type: string tags: - Query - /ibc/core/client/v1/client_status/{client_id}: + /ibc/core/connection/v1/connections/{connection_id}/client_state: get: - summary: Status queries the status of an IBC client. - operationId: IbcCoreClientV1ClientStatus + summary: |- + ConnectionClientState queries the client state associated with the + connection. + operationId: IbcCoreConnectionV1ConnectionClientState responses: '200': description: A successful response. schema: type: object properties: - status: + 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 - description: >- - QueryClientStatusResponse is the response type for the - Query/ClientStatus RPC + 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 - method. It returns the current status of the IBC client. + 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: |- + QueryConnectionClientStateResponse is the response type for the + Query/ConnectionClientState RPC method default: description: An unexpected error response. schema: @@ -41745,273 +43253,234 @@ paths: "value": "1.212s" } parameters: - - name: client_id - description: client unique identifier + - name: connection_id + description: connection identifier in: path required: true type: string tags: - Query - /ibc/core/client/v1/consensus_states/{client_id}: + /ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}: get: summary: |- - ConsensusStates queries all the consensus state associated with a given - client. - operationId: IbcCoreClientV1ConsensusStates + ConnectionConsensusState queries the consensus state associated with the + connection. + operationId: IbcCoreConnectionV1ConnectionConsensusState 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 + 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 - RevisionNumber the same. However some consensus - algorithms may choose to + protocol buffer message. This string must contain at least - reset the height in certain conditions e.g. hard forks, - state-machine + one "/" character. The last segment of the URL's path must + represent - breaking changes In these cases, the RevisionNumber is - incremented so that + the fully qualified name of the type (as in - height continues to be monitonically increasing even as - the RevisionHeight + `path/google.protobuf.Duration`). The name should be in a + canonical form - 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 + (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: - - - * 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. + 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" - } - description: >- - ConsensusStateWithHeight defines a consensus state with an - additional height + field. Example (for message [google.protobuf.Duration][]): - field. - title: consensus states associated with the identifier - pagination: - title: pagination response + { + "@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: - next_key: + revision_number: 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: + format: uint64 + title: the revision that the client is currently on + revision_height: type: string format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise + title: the height within the given revision description: >- - PageResponse is to be embedded in gRPC response messages where - the + Normally the RevisionHeight is incremented at each height + while keeping - corresponding request message has used PageRequest. + RevisionNumber the same. However some consensus algorithms may + choose to - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } + 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: |- - QueryConsensusStatesResponse is the response type for the - Query/ConsensusStates RPC method + QueryConnectionConsensusStateResponse is the response type for the + Query/ConnectionConsensusState RPC method default: description: An unexpected error response. schema: @@ -42198,151 +43667,52 @@ paths: "value": "1.212s" } parameters: - - name: client_id - description: client 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 - - 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/client/v1/consensus_states/{client_id}/heights: + /ibc/core/connection/v1/params: get: - summary: >- - ConsensusStateHeights queries the height of every consensus states - associated with a given client. - operationId: IbcCoreClientV1ConsensusStateHeights + summary: ConnectionParams queries all parameters of the ibc connection submodule. + operationId: IbcCoreConnectionV1ConnectionParams responses: '200': description: A successful response. schema: 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 + params: + description: params defines the parameters of the module. 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: + max_expected_time_per_block: 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 + description: >- + maximum expected time per block (in nanoseconds), used to + enforce block delay. This parameter should reflect the - corresponding request message has used PageRequest. + largest amount of time that the chain might reasonably + take to produce the next block under normal operating - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - title: |- - QueryConsensusStateHeightsResponse is the response type for the - Query/ConsensusStateHeights RPC method + 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: @@ -42528,7168 +43898,3677 @@ paths: "@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. + tags: + - Query +definitions: + cardchain.cardchain.Params: + type: object + description: Params defines the parameters for the module. + cardchain.cardchain.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. + google.protobuf.Any: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - It is less efficient than using key. Only one of offset or key - should + protocol buffer message. This string must contain at least - 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. + one "/" character. The last segment of the URL's path must represent - 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 + the fully qualified name of the type (as in - a count of the total number of items available for pagination in - UIs. + `path/google.protobuf.Duration`). The name should be in a canonical + form - count_total is only respected when offset is used. It is ignored - when key + (e.g., leading "." is not accepted). - 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. + In practice, teams usually precompile into the binary all types that + they - Since: cosmos-sdk 0.43 - 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 + expect it to use in the context of Any. However, for URLs which use + the - a given height. - operationId: IbcCoreClientV1ConsensusState - responses: - '200': - description: A successful response. - schema: - type: object - properties: - consensus_state: - title: >- - consensus state associated with the client identifier at the - given height - 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 - 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" + } + 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 - 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" - } - 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 + scheme `http`, `https`, or no scheme, one can optionally set up + a type - RevisionNumber the same. However some consensus algorithms may - choose to + server that maps type URLs to message definitions as follows: - reset the height in certain conditions e.g. hard forks, - state-machine - breaking changes In these cases, the RevisionNumber is - incremented so that + * If no scheme is provided, `https` is assumed. - height continues to be monitonically increasing even as the - RevisionHeight + * 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.) - gets reset - title: >- - QueryConsensusStateResponse is the response type for the - Query/ConsensusState + Note: this functionality is not currently available in the + official - 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 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" + } + cosmos.auth.v1beta1.AddressBytesToStringResponse: + type: object + properties: + address_string: + type: string + description: >- + AddressBytesToStringResponse is the response type for AddressString rpc + method. - name "y.z". + 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. - JSON + 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. - ==== + 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 - 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" - } - 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 + server that maps type URLs to message definitions as follows: - ConsensusState - in: query - required: false - type: boolean - tags: - - Query - /ibc/core/client/v1/params: - get: - summary: ClientParams queries all parameters of the ibc client submodule. - operationId: IbcCoreClientV1ClientParams - responses: - '200': - description: A successful response. - schema: - type: object - properties: - 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 - 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 + * 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: >- + 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 - expect it to use in the context of Any. However, for - URLs which use the + protocol buffer message. This string must contain at least - scheme `http`, `https`, or no scheme, one can optionally - set up a type + one "/" character. The last segment of the URL's path must + represent - server that maps type URLs to message definitions as - follows: + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a + canonical form - * If no scheme is provided, `https` is assumed. + (e.g., leading "." is not accepted). - * 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 + In practice, teams usually precompile into the binary all types + that they - protobuf release, and it is not used for type URLs - beginning with + expect it to use in the context of Any. However, for URLs which + use the - type.googleapis.com. + scheme `http`, `https`, or no scheme, one can optionally set up + a type + server that maps type URLs to message definitions as follows: - 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 + * If no scheme is provided, `https` is assumed. - URL that describes the type of the serialized message. + * 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 library provides support to pack/unpack Any values - in the form + protobuf release, and it is not used for type URLs beginning + with - of utility functions or additional generated methods of the - Any type. + type.googleapis.com. - Example 1: Pack and unpack a message in C++. + Schemes other than `http`, `https` (or the empty scheme) might + be - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a - Example 2: Pack and unpack a message in Java. + URL that describes the type of the serialized message. - 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. + Protobuf library provides support to pack/unpack Any values in the + form - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + of utility functions or additional generated methods of the Any + type. - 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 { - ... - } + Example 1: Pack and unpack a message in C++. - The pack methods provided by protobuf library will by - default use + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + Example 2: Pack and unpack a message in Java. - methods only use the fully qualified type name after the - last '/' + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + Example 3: Pack and unpack a message in Python. - name "y.z". + 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 { + ... + } - 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" - } - 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: - title: client state associated with the request identifier - 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: 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 - expect it to use in the context of Any. However, for URLs - which use the + was set, its value is undefined otherwise + description: >- + QueryAccountsResponse is the response type for the Query/Accounts RPC + method. - 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 + 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 + 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 - Example 3: Pack and unpack a message in Python. + 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.DESCRIPTOR): - any.Unpack(foo) - ... + URL that describes the type of the serialized message. - 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" - } - 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 + The JSON representation of an `Any` value uses the regular - one "/" character. The last segment of the URL's path - must represent + representation of the deserialized, embedded message, with an - the fully qualified name of the type (as in + additional field `@type` which contains the type URL. Example: - `path/google.protobuf.Duration`). The name should be in - a canonical form + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - (e.g., leading "." is not accepted). + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + If the embedded message type is well-known and has a custom JSON - In practice, teams usually precompile into the binary - all types that they + representation, that representation will be embedded adding a field - expect it to use in the context of Any. However, for - URLs which use the + `value` which holds the custom JSON in addition to the `@type` - scheme `http`, `https`, or no scheme, one can optionally - set up a type + field. Example (for message [google.protobuf.Duration][]): - server that maps type URLs to message definitions as - follows: + { + "@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 - * 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 - Example 3: Pack and unpack a message in Python. + 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.DESCRIPTOR): - any.Unpack(foo) - ... + URL that describes the type of the serialized message. - 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" - } - 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: - type: object - properties: - upgraded_consensus_state: - title: Consensus state associated with the request identifier - 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 + The JSON representation of an `Any` value uses the regular - one "/" character. The last segment of the URL's path must - represent + representation of the deserialized, embedded message, with an - the fully qualified name of the type (as in + additional field `@type` which contains the type URL. Example: - `path/google.protobuf.Duration`). The name should be in a - canonical form + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - (e.g., leading "." is not accepted). + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + If the embedded message type is well-known and has a custom JSON - In practice, teams usually precompile into the binary all - types that they + representation, that representation will be embedded adding a field - expect it to use in the context of Any. However, for URLs - which use the + `value` which holds the custom JSON in addition to the `@type` - scheme `http`, `https`, or no scheme, one can optionally - set up a type + field. Example (for message [google.protobuf.Duration][]): - server that maps type URLs to message definitions as - follows: + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + QueryModuleAccountsResponse is the response type for the + Query/ModuleAccounts RPC method. - * If no scheme is provided, `https` is assumed. + 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. - * 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 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 - Note: this functionality is not currently available in the - official + a count of the total number of items available for pagination in UIs. - protobuf release, and it is not used for type URLs - beginning with + count_total is only respected when offset is used. It is ignored when + key - type.googleapis.com. + is set. + reverse: + type: boolean + description: >- + reverse is set to true if results are to be returned in the descending + order. - Schemes other than `http`, `https` (or the empty scheme) - might be + 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. - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + 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 - 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" - } - description: |- - QueryUpgradedConsensusStateResponse is the response type for the - Query/UpgradedConsensusState 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: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + { + "@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 - URL that describes the type of the serialized message. + 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. + 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 - 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" - } - 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: - type: object - properties: - connection_paths: - type: array - items: - 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: - 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 + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - RevisionNumber the same. However some consensus algorithms may - choose to + Example 4: Pack and unpack a message in Go - reset the height in certain conditions e.g. hard forks, - state-machine + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - breaking changes In these cases, the RevisionNumber is - incremented so that + The pack methods provided by protobuf library will by default use - height continues to be monitonically increasing even as the - RevisionHeight + 'type.googleapis.com/full.type.name' as the type URL and the unpack - 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: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + methods only use the fully qualified type name after the last '/' - protocol buffer message. This string must contain at - least + in the type URL, for example "foo.bar.com/x/y.z" will yield type - one "/" character. The last segment of the URL's path - must represent + name "y.z". - 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). + JSON + ==== - In practice, teams usually precompile into the binary - all types that they + The JSON representation of an `Any` value uses the regular - 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: + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: - * If no scheme is provided, `https` is assumed. + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - * 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.) + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - Note: this functionality is not currently available in - the official + If the embedded message type is well-known and has a custom JSON - protobuf release, and it is not used for type URLs - beginning with + representation, that representation will be embedded adding a field - type.googleapis.com. + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): - Schemes other than `http`, `https` (or the empty scheme) - might be + { + "@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. - used with implementation specific semantics. - additionalProperties: {} + 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 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: - type: object - properties: - connections: - type: array - items: - 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 + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - the connection handshake. - title: >- - IBC version which can be utilised to determine encodings - or protocols for + The pack methods provided by protobuf library will by default + use - 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 + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty - chain associated with a + methods only use the fully qualified type name after the last + '/' - 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. + in the type URL, for example "foo.bar.com/x/y.z" will yield type - The constructed key from the Path and the key will - be append(Path.KeyPath, + name "y.z". - 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 + JSON - 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 + The JSON representation of an `Any` value uses the regular - RevisionNumber the same. However some consensus algorithms may - choose to + representation of the deserialized, embedded message, with an - reset the height in certain conditions e.g. hard forks, - state-machine + additional field `@type` which contains the type URL. Example: - breaking changes In these cases, the RevisionNumber is - incremented so that + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - height continues to be monitonically increasing even as the - RevisionHeight + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - gets reset - description: >- - QueryConnectionsResponse is the response type for the - Query/Connections RPC + If the embedded message type is well-known and has a custom JSON - 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, 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" + } + expiration: + type: string + format: date-time + title: >- + GrantAuthorization extends a grant with both the addresses of the + grantee and granter. - `path/google.protobuf.Duration`). The name should be in - a canonical form + 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 - (e.g., leading "." is not accepted). + 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 + 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 - - 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" - } - 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. + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - It is less efficient than using key. Only one of offset or key - should + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - 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 the embedded message type is well-known and has a custom JSON - 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 + representation, that representation will be embedded adding a + field - a count of the total number of items available for pagination in - UIs. + `value` which holds the custom JSON in addition to the `@type` - count_total is only respected when offset is used. It is ignored - when key + field. Example (for message [google.protobuf.Duration][]): - 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. + { + "@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 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 - Since: cosmos-sdk 0.43 - 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: - 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 + 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 - the connection handshake. - description: >- - IBC version which can be utilised to determine encodings - or protocols for + protocol buffer message. This string must contain at least - 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 + one "/" character. The last segment of the URL's path must + represent - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty - chain associated with a + the fully qualified name of the type (as in - 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. + `path/google.protobuf.Duration`). The name should be in a + canonical form - The constructed key from the Path and the key will be - append(Path.KeyPath, + (e.g., leading "." is not accepted). - 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 + In practice, teams usually precompile into the binary all + types that they - clients. - description: >- - ConnectionEnd defines a stateful object on a chain connected - to another + expect it to use in the context of Any. However, for URLs + which use the - separate one. + scheme `http`, `https`, or no scheme, one can optionally set + up a type - NOTE: there must only be 2 defined ConnectionEnds to establish + server that maps type URLs to message definitions as + follows: - 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: - 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 + * If no scheme is provided, `https` is assumed. - reset the height in certain conditions e.g. hard forks, - state-machine + * 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.) - breaking changes In these cases, the RevisionNumber is - incremented so that + Note: this functionality is not currently available in the + official - height continues to be monitonically increasing even as the - RevisionHeight + protobuf release, and it is not used for type URLs beginning + with - gets reset - description: >- - QueryConnectionResponse is the response type for the - Query/Connection RPC + type.googleapis.com. - 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: - 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 + Schemes other than `http`, `https` (or the empty scheme) + might be - protocol buffer message. This string must contain at - least + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - one "/" character. The last segment of the URL's path - must represent + URL that describes the type of the serialized message. - the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in - a canonical form + Protobuf library provides support to pack/unpack Any values in + the form - (e.g., leading "." is not accepted). + of utility functions or additional generated methods of the Any + type. - In practice, teams usually precompile into the binary - all types that they + Example 1: Pack and unpack a message in C++. - expect it to use in the context of Any. However, for - URLs which use the + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - 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": + } - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + If the embedded message type is well-known and has a custom JSON - Example 4: Pack and unpack a message in Go + representation, that representation will be embedded adding a + field - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + `value` which holds the custom JSON in addition to the `@type` - The pack methods provided by protobuf library will by - default use + field. Example (for message [google.protobuf.Duration][]): - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + { + "@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 - methods only use the fully qualified type name after the - last '/' + doesn't have a time expiration (other conditions in + `authorization` - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + 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 - name "y.z". + 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. + 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 + raise the base_denom to in order to equal the given DenomUnit's denom - JSON + 1 denom = 10^exponent base_denom - ==== + (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' + with - The JSON representation of an `Any` value uses the regular + 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. - representation of the deserialized, embedded message, with - an + 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 - additional field `@type` which contains the type URL. - Example: + raise the base_denom to in order to equal the given DenomUnit's + denom - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + 1 denom = 10^exponent base_denom - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + (e.g. with a base_denom of uatom, one can create a DenomUnit of + 'atom' with - If the embedded message type is well-known and has a custom - JSON + 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 - representation, that representation will be embedded adding - a field + be the same as the display. - `value` which holds the custom JSON in addition to the - `@type` - field. Example (for message [google.protobuf.Duration][]): + Since: cosmos-sdk 0.43 + uri: + type: string + description: >- + URI to a document (on or off-chain) that contains additional + information. Optional. - { - "@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: - 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: - 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 + 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 - one "/" character. The last segment of the URL's path - must represent + the document didn't change. Optional. - 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 + 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. - (e.g., leading "." is not accepted). + 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 + 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. - In practice, teams usually precompile into the binary - all types that they + 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 - expect it to use in the context of Any. However, for - URLs which use the + was set, its value is undefined otherwise + description: >- + QueryAllBalancesResponse is the response type for the Query/AllBalances + RPC - scheme `http`, `https`, or no scheme, one can - optionally set up a type + 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 - server that maps type URLs to message definitions as - follows: + raise the base_denom to in order to equal the given + DenomUnit's denom + 1 denom = 10^exponent base_denom - * If no scheme is provided, `https` is assumed. + (e.g. with a base_denom of uatom, one can create a DenomUnit + of 'atom' with - * 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.) + 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 - Note: this functionality is not currently available in - the official + be the same as the display. - protobuf release, and it is not used for type URLs - beginning with - 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 + 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 - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + the document didn't change. Optional. - URL that describes the type of the serialized message. + Since: cosmos-sdk 0.46 + description: >- + QueryDenomMetadataResponse is the response type for the + Query/DenomMetadata RPC - Protobuf library provides support to pack/unpack Any - values in the form + 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 - of utility functions or additional generated methods of - the Any type. + particular denominated token. It contains the account address and + account + balance of the denominated token. - 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 + 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 - Example 2: Pack and unpack a message in Java. + was set, its value is undefined otherwise + description: >- + QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC + query. - 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 + 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 - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + raise the base_denom to in order to equal the given + DenomUnit's denom - Example 4: Pack and unpack a message in Go + 1 denom = 10^exponent base_denom - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + (e.g. with a base_denom of uatom, one can create a + DenomUnit of 'atom' with - The pack methods provided by protobuf library will by - default use + 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 - 'type.googleapis.com/full.type.name' as the type URL and - the unpack + be the same as the display. - 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 + Since: cosmos-sdk 0.43 + uri: + type: string + description: >- + URI to a document (on or off-chain) that contains additional + information. Optional. - name "y.z". + 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 document didn't change. Optional. - JSON - ==== + 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 - The JSON representation of an `Any` value uses the regular + was set, its value is undefined otherwise + description: >- + QueryDenomsMetadataResponse is the response type for the + Query/DenomsMetadata RPC - representation of the deserialized, embedded message, with - an + 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 - additional field `@type` which contains the type URL. - Example: + 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. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + 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 - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + was set, its value is undefined otherwise + description: >- + QuerySpendableBalancesResponse defines the gRPC response structure for + querying - If the embedded message type is well-known and has a - custom JSON + an account's spendable balances. - representation, that representation will be embedded - adding a field - `value` which holds the custom JSON in addition to the - `@type` + 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. - field. Example (for message [google.protobuf.Duration][]): + 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. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - IdentifiedClientState defines a client state with an - additional client + 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 - 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 + was set, its value is undefined otherwise + title: >- + QueryTotalSupplyResponse is the response type for the Query/TotalSupply + RPC - RevisionNumber the same. However some consensus algorithms may - choose to + 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. - reset the height in certain conditions e.g. hard forks, - state-machine + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + cosmos.base.node.v1beta1.ConfigResponse: + type: object + properties: + minimum_gas_price: + type: string + description: ConfigResponse defines the response structure for the Config gRPC query. + 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 - breaking changes In these cases, the RevisionNumber is - incremented so that + be arbitrary format, providing nessecary data for example + neighbouring node - height continues to be monitonically increasing even as the - RevisionHeight + hash. - 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 - - 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": - } + Note: This type is a duplicate of the ProofOp proto type defined + in - If the embedded message type is well-known and has a custom - JSON + Tendermint. + description: |- + ProofOps is Merkle proof defined by the list of ProofOps. - representation, that representation will be embedded adding - a field + 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. - `value` which holds the custom JSON in addition to the - `@type` + 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, - 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 - 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: + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: type: object properties: - consensus_state: - title: consensus state associated with the channel + hash: + type: string + 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 + 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. - `path/google.protobuf.Duration`). The name should be in a - canonical form + In Tendermint, this type is `bytes`, but in the SDK, we convert it + to a Bech32 string - (e.g., leading "." is not accepted). + for better UX. - In practice, teams usually precompile into the binary all - types that they + 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. - expect it to use in the context of Any. However, for URLs - which use the + NOTE: not all txs here are valid. We're just agreeing on the + order first. - scheme `http`, `https`, or no scheme, one can optionally - set up a type + 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. - 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 + 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. - * If no scheme is provided, `https` is assumed. + - 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 - * 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.) + 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: this functionality is not currently available in the - official + including all blockchain data structures and + the rules of the application's - 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" - } - client_id: + 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 - title: client ID associated with the consensus state - proof: + 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: + total: + type: integer + format: int64 + hash: type: string format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved + 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: - 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 - - 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 + Consensus captures the consensus rules for processing a block + in the blockchain, - height continues to be monitonically increasing even as the - RevisionHeight + including all blockchain data structures and the rules of the + application's - 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: + state transition machine. + chain_id: 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: 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 - /ibc/core/connection/v1/params: - get: - summary: ConnectionParams queries all parameters of the ibc connection submodule. - operationId: IbcCoreConnectionV1ConnectionParams - responses: - '200': - description: A successful response. - schema: - type: object - properties: - params: - description: params defines the parameters of the module. + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: type: object properties: - max_expected_time_per_block: + hash: type: string - format: uint64 - description: >- - maximum expected time per block (in nanoseconds), used to - enforce block delay. This parameter should reflect the + 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. - largest amount of time that the chain might reasonably - take to produce the next block under normal operating + NOTE: not all txs here are valid. We're just agreeing on the + order first. - 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: + 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)) { - ... - } + 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. - Example 2: Pack and unpack a message in Java. + - 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 - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + 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. - Example 3: Pack and unpack a message in Python. + - 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 - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + 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, - 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 -definitions: - cosmos.auth.v1beta1.AddressBytesToStringResponse: - type: object - properties: - address_string: - type: string - description: >- - AddressBytesToStringResponse is the response type for AddressString rpc - method. - - - 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. - - - 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. - - 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 - - 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: >- - 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 { - ... - } - - 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" - } - 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. - - - 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 - - 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: >- - 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 - - 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: >- - QueryModuleAccountsResponse is the response type for the - Query/ModuleAccounts RPC method. - - - 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. - - 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 - - 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. - reverse: - type: boolean - description: >- - reverse is set to true if results are to be returned in the descending - order. - - - 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 - - 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" - } - 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 - - 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: - 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. - 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 - - 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: >- - 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: >- - 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: >- - 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: >- - 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 - - 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: >- - 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 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: >- - 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 - - 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: - 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. - - 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 - - raise the base_denom to in order to equal the given DenomUnit's denom - - 1 denom = 10^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: - 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 - - raise the base_denom to in order to equal the given DenomUnit's - denom - - 1 denom = 10^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. - - - Since: cosmos-sdk 0.43 - uri: - type: string - description: >- - URI to a document (on or off-chain) that contains additional - information. Optional. - - - 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 document didn't change. Optional. - - - 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. - - 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 - - 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. - - 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: >- - QueryAllBalancesResponse is the response type for the Query/AllBalances - RPC - - 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 - - raise the base_denom to in order to equal the given - DenomUnit's denom - - 1 denom = 10^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. - - - Since: cosmos-sdk 0.43 - uri: - type: string - description: >- - URI to a document (on or off-chain) that contains additional - information. Optional. - - - 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 document didn't change. Optional. - - - Since: cosmos-sdk 0.46 - description: >- - QueryDenomMetadataResponse is the response type for the - Query/DenomMetadata RPC - - 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 - - particular denominated token. It contains the account address and - account - - balance of the denominated token. - - - Since: cosmos-sdk 0.46 - 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: >- - QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC - query. - - - 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 - - 1 denom = 10^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. - - - Since: cosmos-sdk 0.43 - uri: - type: string - description: >- - URI to a document (on or off-chain) that contains additional - information. Optional. - - - 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 document didn't change. Optional. - - - 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 - - was set, its value is undefined otherwise - description: >- - QueryDenomsMetadataResponse is the response type for the - Query/DenomsMetadata RPC - - 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 - - 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 - - was set, its value is undefined otherwise - description: >- - QuerySpendableBalancesResponse defines the gRPC response structure for - querying - - an account's spendable balances. - - - 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. - - 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. - - 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 - - was set, its value is undefined otherwise - title: >- - QueryTotalSupplyResponse is the response type for the Query/TotalSupply - RPC - - 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. - - 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 - - be arbitrary format, providing nessecary data for example - neighbouring node - - hash. - - - Note: This type is a duplicate of the ProofOp proto type defined - in - - Tendermint. - description: |- - ProofOps is Merkle proof defined by the list of ProofOps. - - 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. - - 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. - - 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. - cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse: - 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 + including all blockchain data structures + and the rules of the application's state transition machine. chain_id: @@ -54807,1210 +52686,523 @@ definitions: 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. - - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - tendermint.types.Validator: - 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 - tendermint.types.ValidatorSet: - 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.Vote: - 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. - 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, - - 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. - - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - cosmos.distribution.v1beta1.DelegationDelegatorReward: - 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. - 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: - 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: 'Since: cosmos-sdk 0.46' - description: >- - MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward - response type. - cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse: - 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: 'Since: cosmos-sdk 0.46' - 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: - 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. - cosmos.distribution.v1beta1.QueryDelegationRewardsResponse: - 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. - 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 - 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. - 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: - 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. - cosmos.distribution.v1beta1.QueryValidatorCommissionResponse: - 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 - cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse: - type: object - properties: - rewards: - type: object - properties: - rewards: + 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: - denom: + block_id_flag: type: string - amount: + 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: >- - 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. + 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: >- - ValidatorOutstandingRewards represents outstanding (un-withdrawn) - rewards - - for a validator inexpensive to track, allows simple sanity checks. + 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: |- - QueryValidatorOutstandingRewardsResponse is the response type for the - Query/ValidatorOutstandingRewards RPC method. - cosmos.distribution.v1beta1.QueryValidatorSlashesResponse: + SignedMsgType is a type of signed message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + tendermint.types.Validator: 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. + address: + type: string + format: byte + pub_key: type: object properties: - next_key: + ed25519: 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: + secp256k1: 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: + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + tendermint.types.ValidatorSet: type: object properties: - commission: + validators: type: array items: type: object properties: - denom: - type: string - amount: + address: 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: |- - 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: + 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 - amount: + format: int64 + proposer_priority: 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. - cosmos.distribution.v1beta1.ValidatorSlashEvent: - type: object - properties: - validator_period: - type: string - format: uint64 - fraction: + 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 - 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: + format: int64 + tendermint.types.Vote: type: object properties: - hash: + type: 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 '/' - - 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][]): + 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.protobuf.Duration", - "value": "1.212s" - } - description: evidence returns all evidences. - pagination: - description: pagination defines the pagination in the response. + - 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: - next_key: + hash: 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: + 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. + tendermint.version.Consensus: 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: {} + block: + type: string + format: uint64 + app: + type: string + format: uint64 description: >- - QueryEvidenceResponse is the response type for the Query/Evidence RPC - method. - cosmos.feegrant.v1beta1.Grant: + 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. + cosmos.crisis.v1beta1.MsgVerifyInvariantResponse: + type: object + description: MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type. + cosmos.base.v1beta1.DecCoin: type: object properties: - granter: + denom: type: string - description: >- - granter is the address of the user granting an allowance of their - funds. - grantee: + amount: 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. - + 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: + 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. - used with implementation specific semantics. - additionalProperties: {} - title: Grant is stored in the KVStore to record a grant with full context - cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse: + 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: >- - MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response + MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type. - cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse: + cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse: type: object description: >- - MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse - response type. - cosmos.feegrant.v1beta1.QueryAllowanceResponse: + MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response + type. + cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse: 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 + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - used with implementation specific semantics. - additionalProperties: {} - title: Grant is stored in the KVStore to record a grant with full context + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + title: 'Since: cosmos-sdk 0.46' description: >- - QueryAllowanceResponse is the response type for the Query/Allowance RPC - method. - cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse: + MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward + response type. + cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse: type: object properties: - allowances: + amount: type: array items: type: object properties: - granter: + denom: type: string - description: >- - granter is the address of the user granting an allowance of - their funds. - grantee: + amount: 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 + description: |- + Coin defines a token with a denomination and an amount. - was set, its value is undefined otherwise + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + title: 'Since: cosmos-sdk 0.46' description: >- - QueryAllowancesByGranterResponse is the response type for the - Query/AllowancesByGranter RPC method. - - - Since: cosmos-sdk 0.46 - cosmos.feegrant.v1beta1.QueryAllowancesResponse: + MsgWithdrawValidatorCommissionResponse defines the + Msg/WithdrawValidatorCommission response type. + cosmos.distribution.v1beta1.Params: type: object properties: - allowances: + 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: - granter: + denom: type: string - description: >- - granter is the address of the user granting an allowance of - their funds. - grantee: + amount: 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). + 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 - In practice, teams usually precompile into the binary all - types that they + RPC method. + cosmos.distribution.v1beta1.QueryDelegationRewardsResponse: + 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. - expect it to use in the context of Any. However, for URLs - which use the + 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 + amount: + type: string + description: >- + DecCoin defines a token with a denomination and a decimal + 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 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. - * If no scheme is provided, `https` is assumed. + 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: + 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. + cosmos.distribution.v1beta1.QueryValidatorCommissionResponse: + 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. - * 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 Dec which implements the custom + method - protobuf release, and it is not used for type URLs beginning - with + 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: + 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.googleapis.com. + NOTE: The amount field is an Dec which implements the custom + method - Schemes other than `http`, `https` (or the empty scheme) - might be + signatures required by gogoproto. + description: >- + ValidatorOutstandingRewards represents outstanding (un-withdrawn) + rewards - 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. + 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: + 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 an pagination for the response. + description: pagination defines the pagination in the response. type: object properties: next_key: @@ -56028,18 +53220,13 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: >- - QueryAllowancesResponse is the response type for the Query/Allowances RPC - method. - cosmos.gov.v1.Deposit: + description: |- + QueryValidatorSlashesResponse is the response type for the + Query/ValidatorSlashes RPC method. + cosmos.distribution.v1beta1.ValidatorAccumulatedCommission: type: object properties: - proposal_id: - type: string - format: uint64 - depositor: - type: string - amount: + commission: type: array items: type: object @@ -56049,17 +53236,17 @@ 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: |- - Deposit defines an amount deposited by an account address to an active - proposal. - cosmos.gov.v1.DepositParams: + 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: - min_deposit: + rewards: type: array items: type: object @@ -56069,46 +53256,38 @@ 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: 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: + description: |- + ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards + for a validator inexpensive to track, allows simple sanity checks. + cosmos.distribution.v1beta1.ValidatorSlashEvent: type: object properties: - proposal_id: + validator_period: 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: + 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: - id: + hash: type: string - format: uint64 - messages: + 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 @@ -56160,874 +53339,450 @@ definitions: 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. - 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 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. - cosmos.gov.v1.QueryParamsResponse: - 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. - cosmos.gov.v1.QueryProposalResponse: - 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 + 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" + } + 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 - name "y.z". + 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: >- + 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" - } - 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. + * 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.) - - 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 + Note: this functionality is not currently available in the + official - querying a proposal via gRPC, this field is not populated until - the + protobuf release, and it is not used for type URLs beginning with - 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. + type.googleapis.com. - NOTE: The amount field is an Int which implements the custom - method + Schemes other than `http`, `https` (or the empty scheme) might be - 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. + used with implementation specific semantics. + additionalProperties: {} description: >- - QueryProposalResponse is the response type for the Query/Proposal RPC + QueryEvidenceResponse is the response type for the Query/Evidence RPC method. - cosmos.gov.v1.QueryProposalsResponse: + cosmos.feegrant.v1beta1.Grant: 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 + 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 + 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: {} + 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: + 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: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. + A URL/resource name that uniquely identifies the type of the + serialized + protocol buffer message. This string must contain at least - Protobuf library provides support to pack/unpack Any values in - the form + one "/" character. The last segment of the URL's path must + represent - of utility functions or additional generated methods of the - Any type. + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a + canonical form - Example 1: Pack and unpack a message in C++. + (e.g., leading "." is not accepted). - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - Example 2: Pack and unpack a message in Java. + In practice, teams usually precompile into the binary all + types that they - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + expect it to use in the context of Any. However, for URLs + which use the - Example 3: Pack and unpack a message in Python. + scheme `http`, `https`, or no scheme, one can optionally set + up a type - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + server that maps type URLs to message definitions as follows: - 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 { - ... - } + * If no scheme is provided, `https` is assumed. - The pack methods provided by protobuf library will by default - use + * 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.) - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + Note: this functionality is not currently available in the + official - methods only use the fully qualified type name after the last - '/' + protobuf release, and it is not used for type URLs beginning + with - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + type.googleapis.com. - name "y.z". + 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 + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - JSON + protocol buffer message. This string must contain at least - ==== + one "/" character. The last segment of the URL's path must + represent - The JSON representation of an `Any` value uses the regular + the fully qualified name of the type (as in - representation of the deserialized, embedded message, with an + `path/google.protobuf.Duration`). The name should be in a + canonical form - additional field `@type` which contains the type URL. Example: + (e.g., leading "." is not accepted). - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + In practice, teams usually precompile into the binary all + types that they - If the embedded message type is well-known and has a custom - JSON + expect it to use in the context of Any. However, for URLs + which use the - representation, that representation will be embedded adding a - field + scheme `http`, `https`, or no scheme, one can optionally set + up a type - `value` which holds the custom JSON in addition to the `@type` + server that maps type URLs to message definitions as + follows: - 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. + * If no scheme is provided, `https` is assumed. - - 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 + * 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.) - querying a proposal via gRPC, this field is not populated until - the + Note: this functionality is not currently available in the + official - 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. + protobuf release, and it is not used for type URLs beginning + with + type.googleapis.com. - 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. + 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 the pagination in the response. + description: pagination defines an pagination for the response. type: object properties: next_key: @@ -57045,117 +53800,96 @@ definitions: PageRequest.count_total 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: - 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. - 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: - 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. + QueryAllowancesByGranterResponse is the response type for the + Query/AllowancesByGranter RPC method. - - 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. - cosmos.gov.v1.QueryVotesResponse: + + Since: cosmos-sdk 0.46 + cosmos.feegrant.v1beta1.QueryAllowancesResponse: type: object properties: - votes: + allowances: type: array items: type: object properties: - proposal_id: + granter: type: string - format: uint64 - voter: + description: >- + granter is the address of the user granting an allowance of + their funds. + grantee: 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. + 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 - - 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. + 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 the pagination in the response. + description: pagination defines an pagination for the response. type: object properties: next_key: @@ -57173,128 +53907,10 @@ 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.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: - - 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: - voting_period: - type: string - 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: + QueryAllowancesResponse is the response type for the Query/Allowances RPC + method. + cosmos.gov.v1.Deposit: type: object properties: proposal_id: @@ -57319,7 +53935,7 @@ definitions: description: |- Deposit defines an amount deposited by an account address to an active proposal. - cosmos.gov.v1beta1.DepositParams: + cosmos.gov.v1.DepositParams: type: object properties: min_deposit: @@ -57344,188 +53960,195 @@ definitions: value: 2 months. description: DepositParams defines the params for deposits on governance proposals. - cosmos.gov.v1beta1.MsgDepositResponse: + cosmos.gov.v1.MsgDepositResponse: type: object description: MsgDepositResponse defines the Msg/Deposit response type. - cosmos.gov.v1beta1.MsgSubmitProposalResponse: + 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.v1beta1.MsgVoteResponse: + cosmos.gov.v1.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: + cosmos.gov.v1.MsgVoteWeightedResponse: + type: object + description: MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. + cosmos.gov.v1.Proposal: type: object properties: - proposal_id: + 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 + 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 + 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" - } + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } status: type: string enum: @@ -57557,13 +54180,13 @@ definitions: proposal's voting period has ended. type: object properties: - 'yes': + yes_count: type: string - abstain: + abstain_count: type: string - 'no': + no_count: type: string - no_with_veto: + no_with_veto_count: type: string submit_time: type: string @@ -57591,8 +54214,11 @@ definitions: 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.v1beta1.ProposalStatus: + cosmos.gov.v1.ProposalStatus: type: string enum: - PROPOSAL_STATUS_UNSPECIFIED @@ -57616,7 +54242,7 @@ definitions: been rejected. - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has failed. - cosmos.gov.v1beta1.QueryDepositResponse: + cosmos.gov.v1.QueryDepositResponse: type: object properties: deposit: @@ -57648,7 +54274,7 @@ definitions: description: >- QueryDepositResponse is the response type for the Query/Deposit RPC method. - cosmos.gov.v1beta1.QueryDepositsResponse: + cosmos.gov.v1.QueryDepositsResponse: type: object properties: deposits: @@ -57705,7 +54331,7 @@ definitions: description: >- QueryDepositsResponse is the response type for the Query/Deposits RPC method. - cosmos.gov.v1beta1.QueryParamsResponse: + cosmos.gov.v1.QueryParamsResponse: type: object properties: voting_params: @@ -57749,197 +54375,200 @@ definitions: 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. - cosmos.gov.v1beta1.QueryProposalResponse: + cosmos.gov.v1.QueryProposalResponse: type: object properties: proposal: type: object properties: - proposal_id: + 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 + 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 + 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" - } + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } status: type: string enum: @@ -57974,13 +54603,13 @@ definitions: proposal's voting period has ended. type: object properties: - 'yes': + yes_count: type: string - abstain: + abstain_count: type: string - 'no': + no_count: type: string - no_with_veto: + no_with_veto_count: type: string submit_time: type: string @@ -58011,11 +54640,14 @@ definitions: 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.v1beta1.QueryProposalsResponse: + cosmos.gov.v1.QueryProposalsResponse: type: object properties: proposals: @@ -58023,176 +54655,180 @@ definitions: items: type: object properties: - proposal_id: + 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 + 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 + 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" - } + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } status: type: string enum: @@ -58228,13 +54864,13 @@ definitions: proposal's voting period has ended. type: object properties: - 'yes': + yes_count: type: string - abstain: + abstain_count: type: string - 'no': + no_count: type: string - no_with_veto: + no_with_veto_count: type: string submit_time: type: string @@ -58265,6 +54901,9 @@ definitions: 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. @@ -58288,25 +54927,25 @@ definitions: description: |- QueryProposalsResponse is the response type for the Query/Proposals RPC method. - cosmos.gov.v1beta1.QueryTallyResultResponse: + cosmos.gov.v1.QueryTallyResultResponse: type: object properties: tally: description: tally defines the requested tally. type: object properties: - 'yes': + yes_count: type: string - abstain: + abstain_count: type: string - 'no': + no_count: type: string - no_with_veto: + no_with_veto_count: type: string description: >- QueryTallyResultResponse is the response type for the Query/Tally RPC method. - cosmos.gov.v1beta1.QueryVoteResponse: + cosmos.gov.v1.QueryVoteResponse: type: object properties: vote: @@ -58318,23 +54957,6 @@ definitions: 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: @@ -58360,13 +54982,12 @@ definitions: - 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: 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.v1beta1.QueryVotesResponse: + cosmos.gov.v1.QueryVotesResponse: type: object properties: votes: @@ -58379,23 +55000,6 @@ definitions: 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: @@ -58421,11 +55025,10 @@ definitions: - 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: 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. @@ -58449,1077 +55052,516 @@ 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. - - - 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: - 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 - 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: >- - 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: + description: QueryVotesResponse is the response type for the Query/Votes RPC method. + cosmos.gov.v1.TallyParams: + type: object + properties: + quorum: type: string - description: metadata is any arbitrary metadata to attached to the group policy. - version: + description: |- + Minimum percentage of total stake needed to vote for a result to be + considered valid. + threshold: 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: + Minimum proportion of Yes votes for proposal to pass. Default value: + 0.5. + veto_threshold: 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: + 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: - address: + yes_count: type: string - description: address is the member's account address. - weight: + abstain_count: type: string - description: weight is the member's voting weight that should be greater than 0. - metadata: + no_count: type: string - description: metadata is any arbitrary metadata attached to the member. - added_at: + no_with_veto_count: 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: + description: TallyResult defines a standard tally for a governance proposal. + cosmos.gov.v1.Vote: type: object properties: - address: + proposal_id: type: string - description: address is the member's account address. - weight: + format: uint64 + voter: type: string - description: weight is the member's voting weight that should be greater than 0. + 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 attached to the member. + description: metadata is any arbitrary metadata to attached to the vote. 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: + 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: + - 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: - address: + voting_period: 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: + description: Length of the voting period. + description: VotingParams defines the params for voting on governance proposals. + cosmos.gov.v1.WeightedVoteOption: type: object properties: - group_id: + option: 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: + 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: - group_id: + proposal_id: type: string format: uint64 - description: group_id is the unique ID of the newly created group with policy. - group_policy_address: + depositor: 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: + 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.v1beta1.DepositParams: type: object properties: - result: - description: result is the final result of the proposal execution. + 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 - 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: + 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: MsgLeaveGroupResponse is the Msg/LeaveGroup response type. - cosmos.group.v1.MsgSubmitProposalResponse: + description: MsgDepositResponse defines the Msg/Deposit response type. + cosmos.gov.v1beta1.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: + description: MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. + cosmos.gov.v1beta1.MsgVoteResponse: type: object - description: MsgVoteResponse is the Msg/Vote response type. - cosmos.group.v1.MsgWithdrawProposalResponse: + description: MsgVoteResponse defines the Msg/Vote response type. + cosmos.gov.v1beta1.MsgVoteWeightedResponse: type: object - description: MsgWithdrawProposalResponse is the Msg/WithdrawProposal response type. - cosmos.group.v1.Proposal: + description: |- + MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. + + Since: cosmos-sdk 0.43 + cosmos.gov.v1beta1.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: + proposal_id: 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. + content: 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': 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. + 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" - } - 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 + Protobuf library provides support to pack/unpack Any values in the + form - for a group policy to decide upon. + of utility functions or additional generated methods of the Any type. - 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. + Example 1: Pack and unpack a message in C++. - - 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. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - - 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: - 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 + Example 2: Pack and unpack a message in Java. - would break existing proposals. Whenever any members weight is - changed, + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - or any member is added or removed this version is incremented and - will + Example 3: Pack and unpack a message in Python. - 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. - 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: - 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 + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - was set, its value is undefined otherwise - description: QueryGroupMembersResponse is the Query/GroupMembersResponse response type. - cosmos.group.v1.QueryGroupPoliciesByAdminResponse: - 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 + Example 4: Pack and unpack a message in Go - 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 + 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: {} - 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": "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: - next_key: + 'yes': 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: + abstain: 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. - cosmos.group.v1.QueryGroupPoliciesByGroupResponse: - type: object - properties: - group_policies: + '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: - 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: + denom: type: string - description: >- - metadata is any arbitrary metadata to attached to the group - policy. - version: + amount: 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: - + description: |- + Coin defines a token with a denomination and an amount. - * If no scheme is provided, `https` is assumed. + 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. - * 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.) + - 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: + 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: this functionality is not currently available in the - official - protobuf release, and it is not used for type URLs beginning - with + NOTE: The amount field is an Int which implements the custom + method - type.googleapis.com. + 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: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Schemes other than `http`, `https` (or the empty scheme) - might be + NOTE: The amount field is an Int which implements the custom + method - 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. + signatures required by gogoproto. 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. + Deposit defines an amount deposited by an account address to an + active + + proposal. pagination: description: pagination defines the pagination in the response. type: object @@ -59540,40 +55582,81 @@ definitions: was set, its value is undefined otherwise description: >- - QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup - response type. - cosmos.group.v1.QueryGroupPolicyInfoResponse: + QueryDepositsResponse is the response type for the Query/Deposits RPC + method. + cosmos.gov.v1beta1.QueryParamsResponse: type: object properties: - info: - description: info is the GroupPolicyInfo for the group policy. + voting_params: + description: voting_params defines the parameters related to voting. type: object properties: - address: + voting_period: type: string - description: address is the account address of group policy. - group_id: + 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 - format: uint64 - description: group_id is the unique ID of the group. - admin: + 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: admin is the account address of the group admin. - metadata: + format: byte + description: >- + Minimum percentage of total stake needed to vote for a result to + be + considered valid. + threshold: type: string + format: byte description: >- - metadata is any arbitrary metadata to attached to the group - policy. - version: + Minimum proportion of Yes votes for proposal to pass. Default + value: 0.5. + veto_threshold: type: string - format: uint64 + format: byte 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. + 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: + type: string + format: uint64 + content: type: object properties: '@type': @@ -59632,325 +55715,197 @@ definitions: 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: - 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 + `Any` contains an arbitrary serialized protocol buffer message + along with a - would break existing proposals. Whenever any members weight is - changed, + URL that describes the type of the serialized message. - 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 + Protobuf library provides support to pack/unpack Any values in the + form - was set, its value is undefined otherwise - description: >- - QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response - type. - cosmos.group.v1.QueryGroupsByMemberResponse: - 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 + of utility functions or additional generated methods of the Any + type. - would break existing proposals. Whenever any members weight is - changed, - or any member is added or removed this version is incremented - and will + Example 1: Pack and unpack a message in C++. - 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 + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - was set, its value is undefined otherwise - description: QueryGroupsByMemberResponse is the Query/GroupsByMember response type. - cosmos.group.v1.QueryGroupsResponse: - 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 + Example 2: Pack and unpack a message in Java. - would break existing proposals. Whenever any members weight is - changed, + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - or any member is added or removed this version is incremented - and will + Example 3: Pack and unpack a message in Python. - 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 + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - was set, its value is undefined otherwise - description: |- - QueryGroupsResponse is the Query/Groups response type. + Example 4: Pack and unpack a message in Go - Since: cosmos-sdk 0.47.1 - cosmos.group.v1.QueryProposalResponse: - 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. + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - 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. + The pack methods provided by protobuf library will by default use - When a decision policy is changed, existing proposals from - previous policy + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - versions will become invalid with the `ABORTED` status. + methods only use the fully qualified type name after the last '/' - This field is here for informational purposes only. + 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: - 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_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_ABORTED - - PROPOSAL_STATUS_WITHDRAWN + - 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 contains the sums of all weighted votes for - this - - proposal for each vote option. It is empty at submission, and only + final_tally_result is the final tally result of the proposal. When - populated after tallying, at voting period end or at proposal - execution, + querying a proposal via gRPC, this field is not populated until + the - whichever happens first. + proposal's voting period has ended. type: object properties: - yes_count: + 'yes': type: string - description: yes_count is the weighted sum of yes votes. - abstain_count: + abstain: type: string - description: abstain_count is the weighted sum of abstainers. - no_count: + 'no': type: string - description: no_count is the weighted sum of no votes. - no_with_veto_count: + no_with_veto: type: string - description: no_with_veto_count is the weighted sum of veto. - voting_period_end: + submit_time: 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 + 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. - 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 + NOTE: The amount field is an Int which implements the custom + method - accordingly updated. - executor_result: - description: >- - executor_result is the final result of the proposal execution. - Initial value is NotRun. + signatures required by gogoproto. + voting_start_time: 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: + 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': @@ -60117,313 +56072,79 @@ definitions: "@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: - 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_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_ABORTED - - PROPOSAL_STATUS_WITHDRAWN + - 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 contains the sums of all weighted votes for - this - - proposal for each vote option. It is empty at submission, and - only + final_tally_result is the final tally result of the proposal. + When - populated after tallying, at voting period end or at proposal - execution, + querying a proposal via gRPC, this field is not populated until + the - whichever happens first. + proposal's voting period has ended. type: object properties: - yes_count: + 'yes': type: string - description: yes_count is the weighted sum of yes votes. - abstain_count: + abstain: type: string - description: abstain_count is the weighted sum of abstainers. - no_count: + 'no': type: string - description: no_count is the weighted sum of no votes. - no_with_veto_count: + no_with_veto: type: string - description: no_with_veto_count is the weighted sum of veto. - voting_period_end: + submit_time: 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. + deposit_end_time: 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: + format: date-time + total_deposit: type: array items: type: object properties: - '@type': + denom: + type: string + amount: 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 + Coin defines a token with a denomination and an amount. - for a group policy to decide upon. - A proposal consists of a set of `sdk.Msg`s that will be executed if - the proposal + NOTE: The amount field is an Int which implements the custom + method - passes as well as some optional metadata associated with the - proposal. - description: proposals are the proposals with given group policy. + 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 @@ -60443,118 +56164,88 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: >- - QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy - response type. - cosmos.group.v1.QueryTallyResultResponse: + description: |- + QueryProposalsResponse is the response type for the Query/Proposals RPC + method. + cosmos.gov.v1beta1.QueryTallyResultResponse: type: object properties: tally: description: tally defines the requested tally. type: object properties: - yes_count: + 'yes': type: string - description: yes_count is the weighted sum of yes votes. - abstain_count: + abstain: type: string - description: abstain_count is the weighted sum of abstainers. - no_count: + 'no': type: string - description: no_count is the weighted sum of no votes. - no_with_veto_count: + no_with_veto: 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: + description: >- + QueryTallyResultResponse is the response type for the Query/Tally RPC + method. + cosmos.gov.v1beta1.QueryVoteResponse: type: object properties: vote: - description: vote is the vote with given proposal_id and voter. + description: vote defined the queried 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: >- - 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 + option: + description: >- + Deprecated: Prefer to use `options` instead. This field is set in + queries - was set, its value is undefined otherwise - description: QueryVotesByProposalResponse is the Query/VotesByProposal response type. - cosmos.group.v1.QueryVotesByVoterResponse: + 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. + cosmos.gov.v1beta1.QueryVotesResponse: type: object properties: votes: @@ -60565,12 +56256,17 @@ definitions: 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. + 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 @@ -60579,15 +56275,40 @@ definitions: - 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. + 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 @@ -60607,35 +56328,58 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: QueryVotesByVoterResponse is the Query/VotesByVoter response type. - cosmos.group.v1.TallyResult: + description: QueryVotesResponse is the response type for the Query/Votes RPC method. + cosmos.gov.v1beta1.TallyParams: type: object properties: - yes_count: + quorum: type: string - description: yes_count is the weighted sum of yes votes. - abstain_count: + format: byte + description: |- + Minimum percentage of total stake needed to vote for a result to be + considered valid. + threshold: type: string - description: abstain_count is the weighted sum of abstainers. - no_count: + format: byte + description: >- + Minimum proportion of Yes votes for proposal to pass. Default value: + 0.5. + veto_threshold: type: string - description: no_count is the weighted sum of no votes. - no_with_veto_count: + 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 - 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: + 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 - 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. + 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 @@ -60644,15 +56388,40 @@ definitions: - 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: + 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 @@ -60661,489 +56430,1029 @@ definitions: - VOTE_OPTION_NO - VOTE_OPTION_NO_WITH_VETO default: VOTE_OPTION_UNSPECIFIED - description: |- - VoteOption enumerates the valid vote options for a given proposal. + description: >- + VoteOption enumerates the valid vote options for a given governance + proposal. - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will - return an error. + - 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.mint.v1beta1.Params: + 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: + 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 + 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: >- + 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: + '@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. + cosmos.group.v1.Member: + 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: |- + 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: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: + id: type: string - title: maximum annual change in inflation rate - inflation_max: + format: uint64 + description: id is the unique id of the proposal. + group_policy_address: type: string - title: maximum inflation rate - inflation_min: + description: group_policy_address is the account address of group policy. + metadata: type: string - title: minimum inflation rate - goal_bonded: + 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 - title: goal of percent bonded atoms - blocks_per_year: + format: date-time + description: submit_time is a timestamp specifying when a proposal was submitted. + group_version: 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: + 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: 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: + 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 - 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. + 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: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: - type: string - title: maximum annual change in inflation rate - inflation_max: + yes_count: type: string - title: maximum inflation rate - inflation_min: + description: yes_count is the weighted sum of yes votes. + abstain_count: type: string - title: minimum inflation rate - goal_bonded: + description: abstain_count is the weighted sum of abstainers. + no_count: type: string - title: goal of percent bonded atoms - blocks_per_year: + description: no_count is the weighted sum of no votes. + no_with_veto_count: 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: + description: no_with_veto_count is the weighted sum of veto. + voting_period_end: type: string - title: >- - uri for the class metadata stored off chain. It can define schema for - Class and NFT `Data` attributes. Optional - uri_hash: + 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 - 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 + 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 + 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" - } - description: Class defines the class of the nft type. - cosmos.nft.v1beta1.MsgSendResponse: + { + "@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. + 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 - description: MsgSendResponse defines the Msg/Send response type. - cosmos.nft.v1beta1.NFT: + 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. + cosmos.group.v1.QueryGroupMembersResponse: 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 + 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: - '@type': + next_key: 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 + 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 + description: QueryGroupMembersResponse is the Query/GroupMembersResponse response type. + cosmos.group.v1.QueryGroupPoliciesByAdminResponse: + 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 - server that maps type URLs to message definitions as follows: + 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 - * 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 - Example 3: Pack and unpack a message in Python. + 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 - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + was set, its value is undefined otherwise + description: >- + QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin + response type. + cosmos.group.v1.QueryGroupPoliciesByGroupResponse: + 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 - Example 4: Pack and unpack a message in Go + 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 - 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: {} + 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 - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: NFT defines the NFT. - cosmos.nft.v1beta1.QueryBalanceResponse: - type: object - properties: - amount: - type: string - format: uint64 - title: QueryBalanceResponse is the response type for the Query/Balance RPC method - cosmos.nft.v1beta1.QueryClassResponse: + was set, its value is undefined otherwise + description: >- + QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup + response type. + cosmos.group.v1.QueryGroupPolicyInfoResponse: type: object properties: - class: + info: + description: info is the GroupPolicyInfo for the group policy. type: object properties: - id: - type: string - title: >- - id defines the unique identifier of the NFT classification, - similar to the contract address of ERC721 - name: + address: type: string - title: >- - name defines the human-readable name of the NFT classification. - Optional - symbol: + description: address is the account address of group policy. + group_id: type: string - title: symbol is an abbreviated name for nft classification. Optional - description: + format: uint64 + description: group_id is the unique ID of the group. + admin: type: string - title: description is a brief description of nft classification. Optional - uri: + description: admin is the account address of the group admin. + metadata: type: string - title: >- - uri for the class metadata stored off chain. It can define schema - for Class and NFT `Data` attributes. Optional - uri_hash: + description: >- + metadata is any arbitrary metadata to attached to the group + policy. + version: 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 + 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': @@ -61202,148 +57511,259 @@ 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 + 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: + 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 - representation, that representation will be embedded adding a - field + would break existing proposals. Whenever any members weight is + changed, - `value` which holds the custom JSON in addition to the `@type` + or any member is added or removed this version is incremented + and will - field. Example (for message [google.protobuf.Duration][]): + 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 - { - "@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: + was set, its value is undefined otherwise + description: >- + QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response + type. + cosmos.group.v1.QueryGroupsByMemberResponse: type: object properties: - classes: + groups: 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: + format: uint64 + description: id is the unique ID of the group. + admin: type: string - title: >- - name defines the human-readable name of the NFT classification. - Optional - symbol: + description: admin is the account address of the group's admin. + metadata: type: string - title: symbol is an abbreviated name for nft classification. Optional - description: + description: metadata is any arbitrary metadata to attached to the group. + version: type: string + format: uint64 title: >- - description is a brief description of nft classification. - Optional - uri: + 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 - title: >- - uri for the class metadata stored off chain. It can define - schema for Class and NFT `Data` attributes. Optional - uri_hash: + description: total_weight is the sum of the group members' weights. + created_at: 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 + 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. + cosmos.group.v1.QueryProposalResponse: + 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': @@ -61510,985 +57930,1233 @@ definitions: "@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 - cosmos.nft.v1beta1.QueryNFTResponse: + 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: - 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': + 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: >- - A URL/resource name that uniquely identifies the type of the - serialized + 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. - protocol buffer message. This string must contain at least + 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. - one "/" character. The last segment of the URL's path must - represent + When a decision policy is changed, existing proposals from + previous policy - the fully qualified name of the type (as in + versions will become invalid with the `ABORTED` status. - `path/google.protobuf.Duration`). The name should be in a - canonical form + 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 - (e.g., leading "." is not accepted). + proposal for each vote option. It is empty at submission, and + only + populated after tallying, at voting period end or at proposal + execution, - In practice, teams usually precompile into the binary all - types that they + 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. - expect it to use in the context of Any. However, for URLs - which use the + Unless a successfull MsgExec is called before (to execute a + proposal whose - scheme `http`, `https`, or no scheme, one can optionally set - up a type + tally is successful before the voting period ends), tallying + will be done - server that maps type URLs to message definitions as follows: + 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 - * 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 + + (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 - 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: >- + 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 - If the embedded message type is well-known and has a custom JSON + for a group policy to decide upon. - representation, that representation will be embedded adding a - field + A proposal consists of a set of `sdk.Msg`s that will be executed if + the proposal - `value` which holds the custom JSON in addition to the `@type` + 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 - field. Example (for message [google.protobuf.Duration][]): + 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 - { - "@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: + was set, its value is undefined otherwise + description: QueryVotesByProposalResponse is the Query/VotesByProposal response type. + cosmos.group.v1.QueryVotesByVoterResponse: type: object properties: - nfts: + votes: type: array items: type: object properties: - class_id: + proposal_id: type: string - title: >- - class_id associated with the NFT, similar to the contract - address of ERC721 - id: + format: uint64 + description: proposal is the unique ID of the proposal. + voter: type: string - title: id is a unique identifier of the NFT - uri: + description: voter is the account address of the voter. + option: + description: option is the voter's choice on the proposal. type: string - title: uri for the NFT metadata stored off chain - uri_hash: + 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 - 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 + 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 - protocol buffer message. This string must contain at least + was set, its value is undefined otherwise + 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. - one "/" character. The last segment of the URL's path must - represent + - 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.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. + 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': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - the fully qualified name of the type (as in + protocol buffer message. This string must contain at least - `path/google.protobuf.Duration`). The name should be in a - canonical form + one "/" character. The last segment of the URL's path must + represent - (e.g., leading "." is not accepted). + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a + canonical form - In practice, teams usually precompile into the binary all - types that they + (e.g., leading "." is not accepted). - 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 + In practice, teams usually precompile into the binary all types + that they - server that maps type URLs to message definitions as - follows: + 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 - * If no scheme is provided, `https` is assumed. + server that maps type URLs to message definitions as follows: - * 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 + * If no scheme is provided, `https` is assumed. - protobuf release, and it is not used for type URLs beginning - with + * 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.) - type.googleapis.com. + Note: this functionality is not currently available in the + official + protobuf release, and it is not used for type URLs beginning with - Schemes other than `http`, `https` (or the empty scheme) - might be + type.googleapis.com. - 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. + 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 - Protobuf library provides support to pack/unpack Any values in - the form + URL that describes the type of the serialized message. - of utility functions or additional generated methods of the Any - type. + Protobuf library provides support to pack/unpack Any values in the + form - Example 1: Pack and unpack a message in C++. + of utility functions or additional generated methods of the Any type. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - Example 2: Pack and unpack a message in Java. + Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - 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) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - Example 4: Pack and unpack a message in Go + Example 3: Pack and unpack a message in Python. - 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.DESCRIPTOR): + any.Unpack(foo) + ... - The pack methods provided by protobuf library will by default - use + Example 4: Pack and unpack a message in Go - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - methods only use the fully qualified type name after the last - '/' + The pack methods provided by protobuf library will by default use - in the type URL, for example "foo.bar.com/x/y.z" will yield type + 'type.googleapis.com/full.type.name' as the type URL and the unpack - name "y.z". + 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 + JSON - representation of the deserialized, embedded message, with an + ==== - additional field `@type` which contains the type URL. Example: + The JSON representation of an `Any` value uses the regular - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + representation of the deserialized, embedded message, with an - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + additional field `@type` which contains the type URL. Example: - If the embedded message type is well-known and has a custom JSON + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - representation, that representation will be embedded adding a - field + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - `value` which holds the custom JSON in addition to the `@type` + If the embedded message type is well-known and has a custom JSON - field. Example (for message [google.protobuf.Duration][]): + representation, that representation will be embedded adding a field - { - "@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 + `value` which holds the custom JSON in addition to the `@type` - 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. + field. Example (for message [google.protobuf.Duration][]): - 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": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: Class defines the class of the nft type. + cosmos.nft.v1beta1.MsgSendResponse: type: object - properties: - owner: - type: string - title: QueryOwnerResponse is the response type for the Query/Owner RPC method - cosmos.nft.v1beta1.QuerySupplyResponse: + description: MsgSendResponse defines the Msg/Send response type. + cosmos.nft.v1beta1.NFT: type: object properties: - amount: + class_id: type: string - format: uint64 - title: QuerySupplyResponse is the response type for the Query/Supply RPC method - cosmos.params.v1beta1.ParamChange: - type: object - properties: - subspace: + title: >- + class_id associated with the NFT, similar to the contract address of + ERC721 + id: type: string - key: + title: id is a unique identifier of the NFT + uri: type: string - value: + title: uri for the NFT metadata stored off chain + uri_hash: type: string - description: |- - ParamChange defines an individual parameter change, for use in - ParameterChangeProposal. - cosmos.params.v1beta1.QueryParamsResponse: - type: object - properties: - param: - description: param defines the queried parameter. + 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: - subspace: - type: string - key: - type: string - value: + '@type': 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 + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - the subspace. + 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 - description: |- - QuerySubspacesResponse defines the response types for querying for all - registered subspaces and all keys for a subspace. + the fully qualified name of the type (as in - 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. + `path/google.protobuf.Duration`). The name should be in a + canonical form - Since: cosmos-sdk 0.46 - cosmos.slashing.v1beta1.MsgUnjailResponse: - type: object - title: MsgUnjailResponse defines the Msg/Unjail response type - cosmos.slashing.v1beta1.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. - cosmos.slashing.v1beta1.QueryParamsResponse: - 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 - cosmos.slashing.v1beta1.QuerySigningInfoResponse: - 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 + (e.g., leading "." is not accepted). - 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 + In practice, teams usually precompile into the binary all types + that they - 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. + expect it to use in the context of Any. However, for URLs which + use the - Note that `Sum(MissedBlocksBitArray)` always equals - `MissedBlocksCounter`. + 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: >- - ValidatorSigningInfo defines a validator's signing info for monitoring - their + `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 - liveness activity. - title: >- - QuerySigningInfoResponse is the response type for the Query/SigningInfo - RPC + 'type.googleapis.com/full.type.name' as the type URL and the unpack - method - cosmos.slashing.v1beta1.QuerySigningInfosResponse: - 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 + methods only use the fully qualified type name after the last '/' - in a block and may have signed a precommit or not. This in - conjunction with the + in the type URL, for example "foo.bar.com/x/y.z" will yield type - `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 + name "y.z". - 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 + JSON - 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 + The JSON representation of an `Any` value uses the regular - method - cosmos.slashing.v1beta1.ValidatorSigningInfo: - 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. - cosmos.staking.v1beta1.BondStatus: - type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - description: |- - BondStatus is the status of a validator. + representation, that representation will be embedded adding a field - - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status. - - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded. - - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding. - - BOND_STATUS_BONDED: BONDED defines a validator that is bonded. - cosmos.staking.v1beta1.Commission: - 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. - description: Commission defines commission parameters for a given validator. - cosmos.staking.v1beta1.CommissionRates: - 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. - description: >- - CommissionRates defines the initial commission rates to be used for - creating + `value` which holds the custom JSON in addition to the `@type` - a validator. - cosmos.staking.v1beta1.Delegation: + 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 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: + amount: 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. - cosmos.staking.v1beta1.DelegationResponse: + format: uint64 + title: QueryBalanceResponse is the response type for the Query/Balance RPC method + cosmos.nft.v1beta1.QueryClassResponse: type: object properties: - delegation: + class: type: object properties: - delegator_address: + id: type: string - description: delegator_address is the bech32-encoded address of the delegator. - validator_address: + title: >- + id defines the unique identifier of the NFT classification, + similar to the contract address of ERC721 + name: type: string - description: validator_address is the bech32-encoded address of the validator. - shares: + title: >- + name defines the human-readable name of the NFT classification. + Optional + symbol: 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: + title: symbol is an abbreviated name for nft classification. Optional + description: type: string - amount: + title: description is a brief description of nft classification. Optional + uri: 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. - cosmos.staking.v1beta1.Description: - 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. - description: Description defines a validator description. - cosmos.staking.v1beta1.HistoricalInfo: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info + 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: - block: - type: string - format: uint64 - app: + '@type': type: string - format: uint64 + 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: >- - Consensus captures the consensus rules for processing a block in - the blockchain, + `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: - 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: + + 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 + cosmos.nft.v1beta1.QueryClassesResponse: + type: object + properties: + classes: type: array items: type: object properties: - operator_address: + id: 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. + 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': @@ -62549,379 +59217,114 @@ definitions: 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. + `Any` contains an arbitrary serialized protocol buffer message + along with a + URL that describes the type of the serialized message. - 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 + Protobuf library provides support to pack/unpack Any values in + the form - a decrease in the exchange rate, allowing correct calculation of - future + of utility functions or additional generated methods of the Any + type. - undelegations without iterating over delegators. When coins are - delegated to - this validator, the validator is credited with a delegation whose - number of + Example 1: Pack and unpack a message in C++. - bond shares is based on the amount of coins delegated divided by the - current + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - exchange rate. Voting power can be calculated as total bonded shares + Example 2: Pack and unpack a message in Java. - multiplied by exchange rate. - description: >- - HistoricalInfo contains header and validator information for a given - block. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - It is stored as part of staking module's state, which persists the `n` - most + Example 3: Pack and unpack a message in Python. - recent HistoricalInfo + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - (`n` is set by the staking module's `historical_entries` parameter). - cosmos.staking.v1beta1.MsgBeginRedelegateResponse: - type: object - properties: - completion_time: - 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. - cosmos.staking.v1beta1.MsgDelegateResponse: - type: object - description: MsgDelegateResponse defines the Msg/Delegate response type. - cosmos.staking.v1beta1.MsgEditValidatorResponse: - type: object - description: MsgEditValidatorResponse defines the Msg/EditValidator response type. - cosmos.staking.v1beta1.MsgUndelegateResponse: - type: object - properties: - completion_time: - type: string - format: date-time - description: MsgUndelegateResponse defines the Msg/Undelegate response type. - cosmos.staking.v1beta1.Params: - 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. - 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 - properties: - not_bonded_tokens: - type: string - bonded_tokens: - type: string - description: |- - Pool is used for tracking bonded and not-bonded token supply of the bond - denomination. - cosmos.staking.v1beta1.QueryDelegationResponse: - type: object - properties: - delegation_response: - description: delegation_responses defines the delegation info of a delegation. - 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 + Example 4: Pack and unpack a message in Go - owned by one delegator, and is associated with the voting power of - one + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - validator. - balance: - 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 + '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 + methods only use the fully qualified type name after the last + '/' - signatures required by gogoproto. - description: >- - QueryDelegationResponse is response type for the Query/Delegation RPC - method. - cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse: - 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 + in the type URL, for example "foo.bar.com/x/y.z" will yield type - owned by one delegator, and is associated with the voting power - of one + name "y.z". - 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 + JSON - 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 + The JSON representation of an `Any` value uses the regular - was set, its value is undefined otherwise - description: |- - QueryDelegatorDelegationsResponse is response type for the - Query/DelegatorDelegations RPC method. - cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse: - 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. + representation of the deserialized, embedded message, with an - unbonding delegation entries - description: >- - UnbondingDelegation stores all of a single delegator's unbonding - bonds + additional field `@type` which contains the type URL. Example: - for a single validator in an time-ordered list. + 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: - description: pagination defines the pagination in the response. type: object properties: next_key: @@ -62939,25 +59342,37 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: |- - QueryUnbondingDelegatorDelegationsResponse is response type for the - Query/UnbondingDelegatorDelegations RPC method. - cosmos.staking.v1beta1.QueryDelegatorValidatorResponse: + 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: - validator: - description: validator defines the validator info. + nft: type: object properties: - operator_address: + class_id: 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. + 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': @@ -63016,120 +59431,136 @@ definitions: 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. + `Any` contains an arbitrary serialized protocol buffer message + along with a + URL that describes the type of the serialized message. - Since: cosmos-sdk 0.46 - description: |- - QueryDelegatorValidatorResponse response type for the - Query/DelegatorValidator RPC method. - cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse: + + 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 + cosmos.nft.v1beta1.QueryNFTsResponse: type: object properties: - validators: + nfts: type: array items: type: object properties: - operator_address: + class_id: 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. + 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': @@ -63177,738 +59608,386 @@ definitions: 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: 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. - cosmos.staking.v1beta1.QueryHistoricalInfoResponse: - 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: - 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: - 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 + official - protocol buffer message. This string must contain at - least + protobuf release, and it is not used for type URLs beginning + with - one "/" character. The last segment of the URL's path - must represent + type.googleapis.com. - the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in - a canonical form + Schemes other than `http`, `https` (or the empty scheme) + might be - (e.g., leading "." is not accepted). + 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. - 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 + Protobuf library provides support to pack/unpack Any values in + the form - scheme `http`, `https`, or no scheme, one can optionally - set up a type + of utility functions or additional generated methods of the Any + type. - server that maps type URLs to message definitions as - follows: + Example 1: Pack and unpack a message in C++. - * If no scheme is provided, `https` is assumed. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - * 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 2: Pack and unpack a message in Java. - Note: this functionality is not currently available in - the official + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - protobuf release, and it is not used for type URLs - beginning with + Example 3: Pack and unpack a message in Python. - type.googleapis.com. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + Example 4: Pack and unpack a message in Go - Schemes other than `http`, `https` (or the empty scheme) - might be + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - 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. + 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 - description: >- - Validator defines a validator, together with the total amount of - the + methods only use the fully qualified type name after the last + '/' - Validator's bond shares and their exchange rate to coins. - Slashing results in + in the type URL, for example "foo.bar.com/x/y.z" will yield type - a decrease in the exchange rate, allowing correct calculation of - future + name "y.z". - 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 + JSON - 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 + The JSON representation of an `Any` value uses the regular - method. - cosmos.staking.v1beta1.QueryParamsResponse: - type: object - properties: - params: - description: params holds all the parameters of this module. + 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: - 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: + next_key: type: string - description: bond_denom defines the bondable coin denomination. - min_commission_rate: + 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: >- - 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: + 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 + cosmos.nft.v1beta1.QueryOwnerResponse: type: object properties: - pool: - description: pool defines the pool info. + owner: + type: string + title: QueryOwnerResponse is the response type for the Query/Owner RPC method + cosmos.nft.v1beta1.QuerySupplyResponse: + type: object + properties: + amount: + type: string + format: uint64 + title: QuerySupplyResponse is the response type for the Query/Supply RPC method + cosmos.params.v1beta1.ParamChange: + type: object + properties: + subspace: + type: string + key: + type: string + value: + type: string + description: |- + ParamChange defines an individual parameter change, for use in + ParameterChangeProposal. + cosmos.params.v1beta1.QueryParamsResponse: + type: object + properties: + param: + description: param defines the queried parameter. type: object properties: - not_bonded_tokens: + subspace: type: string - bonded_tokens: + key: type: string - description: QueryPoolResponse is response type for the Query/Pool RPC method. - cosmos.staking.v1beta1.QueryRedelegationsResponse: + value: + type: string + description: QueryParamsResponse is response type for the Query/Params RPC method. + cosmos.params.v1beta1.QuerySubspacesResponse: type: object properties: - redelegation_responses: + subspaces: 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. - - 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: + subspace: + type: string + keys: 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 + type: string + description: >- + Subspace defines a parameter subspace name and all the keys that + exist for - contains a balance in addition to shares which is more - suitable for client + the subspace. - responses. - description: >- - RedelegationResponse is equivalent to a Redelegation except that its - entries - contain a balance in addition to shares which is more suitable for - client + Since: cosmos-sdk 0.46 + description: |- + QuerySubspacesResponse defines the response types for querying for all + registered subspaces and all keys for a subspace. - responses. - pagination: - description: pagination defines the pagination in the response. + 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 + cosmos.slashing.v1beta1.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. + cosmos.slashing.v1beta1.QueryParamsResponse: + type: object + properties: + params: type: object properties: - next_key: + signed_blocks_window: 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: + format: int64 + min_signed_per_window: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryRedelegationsResponse is response type for the Query/Redelegations - RPC - - method. - cosmos.staking.v1beta1.QueryUnbondingDelegationResponse: + 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 + cosmos.slashing.v1beta1.QuerySigningInfoResponse: type: object properties: - unbond: - description: unbond defines the unbonding information of a delegation. + val_signing_info: + title: val_signing_info is the signing info of requested val cons address type: object properties: - delegator_address: + address: type: string - description: delegator_address is the bech32-encoded address of the delegator. - validator_address: + start_height: 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. + 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 - unbonding delegation entries - description: |- - QueryDelegationResponse is response type for the Query/UnbondingDelegation - RPC method. - cosmos.staking.v1beta1.QueryValidatorDelegationsResponse: + 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 + cosmos.slashing.v1beta1.QuerySigningInfosResponse: type: object properties: - delegation_responses: + info: 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. + 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: >- - Delegation represents the bond with tokens held by an account. - It is + Index which is incremented each time the validator was a bonded - owned by one delegator, and is associated with the voting power - of one + in a block and may have signed a precommit or not. This in + conjunction with the - validator. - balance: - type: object - properties: - denom: - type: string - amount: - type: string + `SignedBlocksWindow` param determines the index in the + `MissedBlocksBitArray`. + jailed_until: + type: string + format: date-time description: >- - Coin defines a token with a denomination and an amount. - + 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 - NOTE: The amount field is an Int which implements the custom - method + 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. - signatures required by gogoproto. + Note that `Sum(MissedBlocksBitArray)` always equals + `MissedBlocksCounter`. description: >- - DelegationResponse is equivalent to Delegation except that it - contains a + ValidatorSigningInfo defines a validator's signing info for + monitoring their - balance in addition to shares which is more suitable for client - responses. + liveness activity. + title: info is the signing info of all validators pagination: - description: pagination defines the pagination in the response. type: object properties: next_key: @@ -63926,257 +60005,290 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - title: |- - QueryValidatorDelegationsResponse is response type for the - Query/ValidatorDelegations RPC method - cosmos.staking.v1beta1.QueryValidatorResponse: - type: object - properties: - validator: - description: validator defines the validator info. - 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: - + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. - * If no scheme is provided, `https` is assumed. + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + title: >- + QuerySigningInfosResponse is the response type for the Query/SigningInfos + RPC - * 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.) + method + cosmos.slashing.v1beta1.ValidatorSigningInfo: + 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 - Note: this functionality is not currently available in the - official + in a block and may have signed a precommit or not. This in conjunction + with the - protobuf release, and it is not used for type URLs beginning - with + `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 - type.googleapis.com. + 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 - Schemes other than `http`, `https` (or the empty scheme) might - be + liveness activity. + cosmos.staking.v1beta1.BondStatus: + type: string + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + description: |- + BondStatus is the status of a validator. - 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: + - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status. + - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded. + - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding. + - BOND_STATUS_BONDED: BONDED defines a validator that is bonded. + cosmos.staking.v1beta1.Commission: + 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: tokens define the delegated tokens (incl. self-delegation). - delegator_shares: + description: rate is the commission rate charged to delegators, as a fraction. + max_rate: 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: + max_rate defines the maximum commission rate which validator can + ever charge, as a fraction. + max_change_rate: type: string - format: int64 description: >- - unbonding_height defines, if unbonding, the height at which this - validator has begun unbonding. - unbonding_time: + 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. + description: Commission defines commission parameters for a given validator. + cosmos.staking.v1beta1.CommissionRates: + 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. + description: >- + CommissionRates defines the initial commission rates to be used for + creating + + a validator. + cosmos.staking.v1beta1.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. + cosmos.staking.v1beta1.DelegationResponse: + type: object + properties: + delegation: + type: object + properties: + delegator_address: 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. + 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. + cosmos.staking.v1beta1.Description: + 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. + description: Description defines a validator description. + cosmos.staking.v1beta1.HistoricalInfo: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info 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: + block: + type: string + format: uint64 + app: type: string - format: date-time - description: update_time is the last time the commission rate was changed. - min_self_delegation: - type: string + format: uint64 description: >- - min_self_delegation is the validator's self declared minimum self - delegation. + 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.46 - title: QueryValidatorResponse is response type for the Query/Validator RPC method - cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse: - 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: + 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: - creation_height: - type: string + total: + type: integer 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: + hash: 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: + format: byte + title: PartsetHeader + last_commit_hash: 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: + 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 - - was set, its value is undefined otherwise - description: |- - QueryValidatorUnbondingDelegationsResponse is response type for the - Query/ValidatorUnbondingDelegations RPC method. - cosmos.staking.v1beta1.QueryValidatorsResponse: - type: object - properties: - validators: + 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 @@ -64345,2480 +60457,2554 @@ definitions: 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: validators contains all the queried validators. - 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 - title: >- - QueryValidatorsResponse is response type for the Query/Validators RPC - method - cosmos.staking.v1beta1.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. - cosmos.staking.v1beta1.RedelegationEntry: - 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. - cosmos.staking.v1beta1.RedelegationEntryResponse: - 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. - cosmos.staking.v1beta1.RedelegationResponse: - 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. - - 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: >- - RedelegationResponse is equivalent to a Redelegation except that its - entries - - contain a balance in addition to shares which is more suitable for client - - responses. - cosmos.staking.v1beta1.UnbondingDelegation: - 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. - - unbonding delegation entries - description: |- - UnbondingDelegation stores all of a single delegator's unbonding bonds - for a single validator in an time-ordered list. - cosmos.staking.v1beta1.UnbondingDelegationEntry: - 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. - cosmos.staking.v1beta1.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: - 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 + Since: cosmos-sdk 0.46 + description: >- + Validator defines a validator, together with the total amount of the - server that maps type URLs to message definitions as follows: + Validator's bond shares and their exchange rate to coins. Slashing + results in + a decrease in the exchange rate, allowing correct calculation of + future - * If no scheme is provided, `https` is assumed. + undelegations without iterating over delegators. When coins are + delegated to - * 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.) + this validator, the validator is credited with a delegation whose + number of - Note: this functionality is not currently available in the - official + bond shares is based on the amount of coins delegated divided by the + current - protobuf release, and it is not used for type URLs beginning with + exchange rate. Voting power can be calculated as total bonded shares - type.googleapis.com. + multiplied by exchange rate. + description: >- + HistoricalInfo contains header and validator information for a given + block. + It is stored as part of staking module's state, which persists the `n` + most - Schemes other than `http`, `https` (or the empty scheme) might be + recent HistoricalInfo - 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: + (`n` is set by the staking module's `historical_entries` parameter). + cosmos.staking.v1beta1.MsgBeginRedelegateResponse: + type: object + properties: + completion_time: type: string - description: tokens define the delegated tokens (incl. self-delegation). - delegator_shares: + 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. + cosmos.staking.v1beta1.MsgDelegateResponse: + type: object + description: MsgDelegateResponse defines the Msg/Delegate response type. + cosmos.staking.v1beta1.MsgEditValidatorResponse: + type: object + description: MsgEditValidatorResponse defines the Msg/EditValidator response type. + cosmos.staking.v1beta1.MsgUndelegateResponse: + type: object + properties: + completion_time: 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: + format: date-time + description: MsgUndelegateResponse defines the Msg/Undelegate response type. + cosmos.staking.v1beta1.Params: + 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: >- - unbonding_height defines, if unbonding, the height at which this - validator has begun unbonding. - unbonding_time: + 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 - 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. + 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 + properties: + not_bonded_tokens: + type: string + bonded_tokens: + type: string + description: |- + Pool is used for tracking bonded and not-bonded token supply of the bond + denomination. + cosmos.staking.v1beta1.QueryDelegationResponse: + type: object + properties: + delegation_response: + description: delegation_responses defines the delegation info of a delegation. type: object properties: - commission_rates: - description: >- - commission_rates defines the initial commission rates to be used - for creating a validator. + delegation: type: object properties: - rate: + delegator_address: type: string description: >- - rate is the commission rate charged to delegators, as a - fraction. - max_rate: + delegator_address is the bech32-encoded address of the + delegator. + validator_address: type: string description: >- - max_rate defines the maximum commission rate which validator - can ever charge, as a fraction. - max_change_rate: + validator_address is the bech32-encoded address of the + validator. + shares: 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 + description: shares define the delegation shares received. + description: >- + Delegation represents the bond with tokens held by an account. It + is - undelegations without iterating over delegators. When coins are delegated - to + owned by one delegator, and is associated with the voting power of + one - this validator, the validator is credited with a delegation whose number - of + validator. + balance: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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 + NOTE: The amount field is an Int which implements the custom + method - multiplied by exchange rate. - cosmos.base.abci.v1beta1.ABCIMessageLog: + signatures required by gogoproto. + description: >- + QueryDelegationResponse is response type for the Query/Delegation RPC + method. + cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse: type: object properties: - msg_index: - type: integer - format: int64 - log: - type: string - events: + delegation_responses: 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 + 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 - 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 + owned by one delegator, and is associated with the voting power + of one - length prefixed in order to separate data from multiple message - executions. + validator. + balance: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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: + 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. + cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse: + type: object + properties: + unbonding_responses: type: array items: type: object properties: - type: + delegator_address: type: string - attributes: + 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: - key: + creation_height: type: string - format: byte - value: + format: int64 + description: >- + creation_height is the height which the unbonding took + place. + completion_time: 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); - } + 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. - Example 3: Pack and unpack a message in Python. + unbonding delegation entries + description: >- + UnbondingDelegation stores all of a single delegator's unbonding + bonds - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + 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 - Example 4: Pack and unpack a message in Go + was set, its value is undefined otherwise + description: |- + QueryUnbondingDelegatorDelegationsResponse is response type for the + Query/UnbondingDelegatorDelegations RPC method. + cosmos.staking.v1beta1.QueryDelegatorValidatorResponse: + type: object + properties: + validator: + description: validator defines the validator info. + 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 - 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: {} + 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. - { - "@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: Result is the union of ResponseFormat and ResponseCheckTx. - cosmos.base.abci.v1beta1.StringEvent: - 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. + Since: cosmos-sdk 0.46 description: |- - StringEvent defines en Event object wrapper where all the attributes - contain key/value pairs that are strings instead of raw bytes. - cosmos.base.abci.v1beta1.TxResponse: + QueryDelegatorValidatorResponse response type for the + Query/DelegatorValidator RPC method. + cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse: 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: + validators: type: array items: type: object properties: - msg_index: - type: integer - format: int64 - log: + operator_address: 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 + 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 + 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: {} - timestamp: - type: string - description: >- - Time of the previous block. For heights > 1, it's the weighted median - of + 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. - 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. + Since: cosmos-sdk 0.46 description: >- - Event allows application developers to attach additional information - to + Validator defines a validator, together with the total amount of the - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and - ResponseDeliverTx. + Validator's bond shares and their exchange rate to coins. Slashing + results in - Later, transactions may be queried using these events. - description: >- - Events defines all the events emitted by processing a transaction. - Note, + a decrease in the exchange rate, allowing correct calculation of + future - these events include those emitted by processing all the messages and - those + undelegations without iterating over delegators. When coins are + delegated to - emitted from the ante. Whereas Logs contains the events, with + this validator, the validator is credited with a delegation whose + number of - additional metadata, emitted only by processing the messages. + 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 - Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 - description: >- - TxResponse defines a structure containing relevant tx data and metadata. - The + 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 - tags are stringified and the log is JSON decoded. - cosmos.crypto.multisig.v1beta1.CompactBitArray: - type: object - properties: - extra_bits_stored: - type: integer - format: int64 - elems: - type: string - format: byte - description: |- - CompactBitArray is an implementation of a space efficient bit array. - This is used to ensure that the encoded data takes up a minimal amount of - space after proto encoding. - This is not thread safe, and is not intended for concurrent usage. - cosmos.tx.signing.v1beta1.SignMode: - type: string - enum: - - 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 + was set, its value is undefined otherwise 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. - - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - 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. 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. - - 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: + QueryDelegatorValidatorsResponse is response type for the + Query/DelegatorValidators RPC method. + cosmos.staking.v1beta1.QueryHistoricalInfoResponse: 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 - number - - and order of elements must match the required signers from TxBody's - - messages. The first element is the primary signer and the one which - pays - - the fee. - fee: - description: >- - Fee is the fee and gas limit for the transaction. The first signer is - the - - primary signer and the one which pays the fee. The fee can be - calculated - - based on the cost of evaluating the body and doing signature - verification - - of the signers. This can be estimated via simulation. + hist: + description: hist defines the historical info at the given height. type: object properties: - amount: + 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: + 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: - denom: - type: string - amount: + operator_address: 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. - 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 + the fully qualified name of the type (as in - 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. + `path/google.protobuf.Duration`). The name should be in + a canonical form - the payer must be a tx signer (and thus have signed this field in - AuthInfo). + (e.g., leading "." is not accepted). - 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 + In practice, teams usually precompile into the binary + all types that they - not support fee grants, this will fail - tip: - description: >- - Tip is the optional tip used for transactions fees paid in another - denom. + 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 - This field is ignored if the chain didn't enable tips, i.e. didn't add - the + server that maps type URLs to message definitions as + follows: - `TipDecorator` in its posthandler. + * If no scheme is provided, `https` is assumed. - Since: cosmos-sdk 0.46 - type: object - properties: - amount: - type: array - items: - type: object - properties: - 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.) + + 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 - amount: + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + tokens: type: string - description: >- - Coin defines a token with a denomination and an amount. + 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. - NOTE: The amount field is an Int 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: 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. - cosmos.tx.v1beta1.BroadcastMode: - 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. + Validator's bond shares and their exchange rate to coins. + Slashing results in - - 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. - cosmos.tx.v1beta1.BroadcastTxRequest: - 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 - description: >- - BroadcastMode specifies the broadcast mode for the TxService.Broadcast - RPC method. + a decrease in the exchange rate, allowing correct calculation of + future + + undelegations without iterating over delegators. When coins are + delegated to - - 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: + 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. + cosmos.staking.v1beta1.QueryParamsResponse: type: object properties: - tx_response: - description: tx_response is the queried TxResponses. + params: + description: params holds all the parameters of this module. type: object properties: - height: + unbonding_time: type: string + description: unbonding_time is the time duration of unbonding. + max_validators: + type: integer format: int64 - title: The block height - txhash: - type: string - description: The transaction hash. - codespace: - type: string - title: Namespace for the Code - code: + description: max_validators is the maximum number of validators. + max_entries: type: integer format: int64 - description: Response code. - data: + 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: Result bytes, if any. - raw_log: + description: bond_denom defines the bondable coin denomination. + min_commission_rate: type: string - description: |- - The output of the application's logger (raw string). May be - non-deterministic. - logs: - type: array - items: + 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 + 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. + cosmos.staking.v1beta1.QueryRedelegationsResponse: + type: object + properties: + redelegation_responses: + type: array + items: + type: object + properties: + redelegation: type: object properties: - msg_index: - type: integer - format: int64 - log: + delegator_address: type: string - events: + 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: - type: + creation_height: 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. + 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: >- - 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 + RedelegationEntry defines a redelegation object with + relevant metadata. + description: |- + entries are the redelegation entries. - execution. + redelegation entries 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 + Redelegation contains the list of a particular delegator's + redelegating bonds - protobuf release, and it is not used for type URLs beginning - with + 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 - type.googleapis.com. + contains a balance in addition to shares which is more + suitable for client + responses. + description: >- + RedelegationResponse is equivalent to a Redelegation except that its + entries - Schemes other than `http`, `https` (or the empty scheme) might - be + contain a balance in addition to shares which is more suitable for + client - used with implementation specific semantics. - additionalProperties: {} - timestamp: + responses. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: type: string - description: >- - Time of the previous block. For heights > 1, it's the weighted - median of + 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 timestamps of the valid votes in the block.LastCommit. For - height == 1, + was set, its value is undefined otherwise + description: >- + QueryRedelegationsResponse is response type for the Query/Redelegations + RPC - it's genesis time. - events: + method. + cosmos.staking.v1beta1.QueryUnbondingDelegationResponse: + type: object + properties: + unbond: + description: unbond defines the unbonding information of a 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. + entries: type: array items: type: object properties: - type: + creation_height: 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. + 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: >- - 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. - + UnbondingDelegationEntry defines an unbonding object with + relevant metadata. + description: |- + entries are the unbonding delegation entries. - Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + unbonding delegation entries description: |- - BroadcastTxResponse is the response type for the - Service.BroadcastTx method. - cosmos.tx.v1beta1.Fee: + QueryDelegationResponse is response type for the Query/UnbondingDelegation + RPC method. + cosmos.staking.v1beta1.QueryValidatorDelegationsResponse: type: object properties: - amount: + delegation_responses: 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. + 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 - the payer must be a tx signer (and thus have signed this field in - AuthInfo). + owned by one delegator, and is associated with the voting power + of one - 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 + validator. + balance: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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 + NOTE: The amount field is an Int which implements the custom + method - gas to be used by the transaction. The ratio yields an effective - "gasprice", + signatures required by gogoproto. + description: >- + DelegationResponse is equivalent to Delegation except that it + contains a - which must be above some miminum to be accepted into the mempool. - cosmos.tx.v1beta1.GetBlockWithTxsResponse: - type: object - properties: - txs: - type: array - items: - type: object - $ref: '#/definitions/cosmos.tx.v1beta1.Tx' - description: txs are the transactions in the block. - block_id: + balance in addition to shares which is more suitable for client + responses. + 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 - block: + 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 + title: |- + QueryValidatorDelegationsResponse is response type for the + Query/ValidatorDelegations RPC method + cosmos.staking.v1beta1.QueryValidatorResponse: + type: object + properties: + validator: + description: validator defines the validator info. type: object properties: - header: + 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: - 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': 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 + A URL/resource name that uniquely identifies the type of the + serialized - 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. + protocol buffer message. This string must contain at least - - 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 + one "/" character. The last segment of the URL's path must + represent - 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, + the fully qualified name of the type (as in - including all blockchain data structures - and the rules of the application's + `path/google.protobuf.Duration`). The name should be in a + canonical form - 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: + (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: - height: + moniker: type: string - format: int64 - round: - type: integer - format: int32 - block_id: + 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: - hash: + rate: 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: + 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 + cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse: + 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. + + 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: |- + QueryValidatorUnbondingDelegationsResponse is response type for the + Query/ValidatorUnbondingDelegations RPC method. + cosmos.staking.v1beta1.QueryValidatorsResponse: + type: object + properties: + validators: + 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: - 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: + rate: type: string - format: byte - timestamp: + description: >- + rate is the commission rate charged to delegators, as a + fraction. + max_rate: type: string - format: date-time - signature: + description: >- + max_rate defines the maximum commission rate which + validator can ever charge, as a fraction. + max_change_rate: 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: >- + 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: validators contains all the queried validators. pagination: - description: pagination defines a pagination for the response. + 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 + title: >- + QueryValidatorsResponse is response type for the Query/Validators RPC + method + cosmos.staking.v1beta1.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. + cosmos.staking.v1beta1.RedelegationEntry: + 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. + cosmos.staking.v1beta1.RedelegationEntryResponse: + type: object + properties: + redelegation_entry: type: object properties: - next_key: + creation_height: 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: + format: int64 + description: >- + creation_height defines the height which the redelegation took + place. + completion_time: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise + 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: >- - GetBlockWithTxsResponse is the response type for the - Service.GetBlockWithTxs method. + RedelegationEntryResponse is equivalent to a RedelegationEntry except that + it + contains a balance in addition to shares which is more suitable for client - Since: cosmos-sdk 0.45.2 - cosmos.tx.v1beta1.GetTxResponse: + responses. + cosmos.staking.v1beta1.RedelegationResponse: type: object properties: - tx: - $ref: '#/definitions/cosmos.tx.v1beta1.Tx' - description: tx is the queried transaction. - tx_response: - description: tx_response is the queried TxResponses. + redelegation: type: object properties: - height: - type: string - format: int64 - title: The block height - txhash: - type: string - description: The transaction hash. - codespace: + delegator_address: type: string - title: Namespace for the Code - code: - type: integer - format: int64 - description: Response code. - data: + description: delegator_address is the bech32-encoded address of the delegator. + validator_src_address: type: string - description: Result bytes, if any. - raw_log: + description: >- + validator_src_address is the validator redelegation source + operator address. + validator_dst_address: type: string - description: |- - The output of the application's logger (raw string). May be - non-deterministic. - logs: + description: >- + validator_dst_address is the validator redelegation destination + operator address. + entries: type: array items: type: object properties: - msg_index: - type: integer + creation_height: + type: string format: int64 - log: + description: >- + creation_height defines the height which the redelegation + took place. + completion_time: 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 + 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: >- + RedelegationResponse is equivalent to a Redelegation except that its + entries + + contain a balance in addition to shares which is more suitable for client + + responses. + cosmos.staking.v1beta1.UnbondingDelegation: + 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. + + unbonding delegation entries + description: |- + UnbondingDelegation stores all of a single delegator's unbonding bonds + for a single validator in an time-ordered list. + cosmos.staking.v1beta1.UnbondingDelegationEntry: + 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. + cosmos.staking.v1beta1.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: + 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. + 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 - strings instead of raw bytes. - description: >- - StringEvent defines en Event object wrapper where all the - attributes + length prefixed in order to separate data from multiple message + executions. - contain key/value pairs that are strings instead of raw - bytes. - description: >- - Events contains a slice of Event objects that were emitted - during some + Deprecated. This field is still populated, but prefer msg_response + instead - 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 + 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: >- - A URL/resource name that uniquely identifies the type of the - serialized + EventAttribute is a single key-value pair, associated with an + event. + description: >- + Event allows application developers to attach additional information + to - protocol buffer message. This string must contain at least + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. - one "/" character. The last segment of the URL's path must - represent + Later, transactions may be queried using these events. + description: >- + Events contains a slice of Event objects that were emitted during + message - the fully qualified name of the type (as in + 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 - `path/google.protobuf.Duration`). The name should be in a - canonical form + protocol buffer message. This string must contain at least - (e.g., leading "." is not accepted). + one "/" character. The last segment of the URL's path must + represent + the fully qualified name of the type (as in - In practice, teams usually precompile into the binary all - types that they + `path/google.protobuf.Duration`). The name should be in a + canonical form - expect it to use in the context of Any. However, for URLs - which use the + (e.g., leading "." is not accepted). - scheme `http`, `https`, or no scheme, one can optionally set - up a type - server that maps type URLs to message definitions as follows: + 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 - * If no scheme is provided, `https` is assumed. + scheme `http`, `https`, or no scheme, one can optionally set up + a 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.) + server that maps type URLs to message definitions as follows: - Note: this functionality is not currently available in the - official - protobuf release, and it is not used for type URLs beginning - with + * If no scheme is provided, `https` is assumed. - type.googleapis.com. + * 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 - Schemes other than `http`, `https` (or the empty scheme) might - be + protobuf release, and it is not used for type URLs beginning + with - used with implementation specific semantics. - additionalProperties: {} - timestamp: - type: string - description: >- - Time of the previous block. For heights > 1, it's the weighted - median of + type.googleapis.com. - 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 + Schemes other than `http`, `https` (or the empty scheme) might + be - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and - ResponseDeliverTx. + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a - Later, transactions may be queried using these events. - description: >- - Events defines all the events emitted by processing a transaction. - Note, + URL that describes the type of the serialized message. - these events include those emitted by processing all the messages - and those - emitted from the ante. Whereas Logs contains the events, with + Protobuf library provides support to pack/unpack Any values in the + form - additional metadata, emitted only by processing the messages. + of utility functions or additional generated methods of the Any + type. - Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 - description: GetTxResponse is the response type for the Service.GetTx method. - cosmos.tx.v1beta1.GetTxsEventResponse: - type: object - properties: - txs: - type: array - items: - type: object - $ref: '#/definitions/cosmos.tx.v1beta1.Tx' - description: txs is the list of queried transactions. - tx_responses: - type: array - items: - 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 + Example 1: Pack and unpack a message in C++. - strings instead of raw bytes. - description: >- - StringEvent defines en Event object wrapper where all - the attributes + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - contain key/value pairs that are strings instead of raw - bytes. - description: >- - Events contains a slice of Event objects that were emitted - during some + Example 2: Pack and unpack a message in Java. - 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 + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - protocol buffer message. This string must contain at least + Example 3: Pack and unpack a message in Python. - 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: {} - timestamp: - type: string - description: >- - Time of the previous block. For heights > 1, it's the weighted - median of + If the embedded message type is well-known and has a custom JSON - the timestamps of the valid votes in the block.LastCommit. For - height == 1, + representation, that representation will be embedded adding a field - it's genesis time. + `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: Result is the union of ResponseFormat and ResponseCheckTx. + cosmos.base.abci.v1beta1.StringEvent: + 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. + cosmos.base.abci.v1beta1.TxResponse: + 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: @@ -66833,411 +63019,540 @@ definitions: 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. + Attribute defines an attribute wrapper where the key and + value are + + strings instead of raw bytes. description: >- - Event allows application developers to attach additional - information to + StringEvent defines en Event object wrapper where all the + attributes - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and - ResponseDeliverTx. + 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 - Later, transactions may be queried using these events. - description: >- - Events defines all the events emitted by processing a - transaction. Note, + protocol buffer message. This string must contain at least - these events include those emitted by processing all the - messages and those + one "/" character. The last segment of the URL's path must + represent - emitted from the ante. Whereas Logs contains the events, with + the fully qualified name of the type (as in - additional metadata, emitted only by processing the messages. + `path/google.protobuf.Duration`). The name should be in a + canonical form + (e.g., leading "." is not accepted). - 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: tx_responses is the list of queried TxResponses. - pagination: - 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 - 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 + In practice, teams usually precompile into the binary all types + that they - 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. - cosmos.tx.v1beta1.ModeInfo: - type: object - properties: - single: - title: single represents a single signer - type: object - properties: - mode: - title: mode is the signing mode of the single signer - type: string - enum: - - 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. + 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 - This enum should be considered a registry of all known sign modes + server that maps type URLs to message definitions as follows: - in the Cosmos ecosystem. Apps are not expected to support all - known - sign modes. Apps that would like to support custom sign modes are + * If no scheme is provided, `https` is assumed. - encouraged to open a small PR against this file to add a new case + * 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.) - to this SignMode enum describing their sign mode so that different + Note: this functionality is not currently available in the + official - apps have a consistent version of this enum. + protobuf release, and it is not used for type URLs beginning with - - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be - rejected. - - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - 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 + type.googleapis.com. - 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 + Schemes other than `http`, `https` (or the empty scheme) might be - for adding Tips in transactions. + 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, - 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. - - 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 + 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. - Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum - variant, + Later, transactions may be queried using these events. + description: >- + Events defines all the events emitted by processing a transaction. + Note, - but is not implemented on the SDK by default. To enable EIP-191, - you need + these events include those emitted by processing all the messages and + those - to pass a custom `TxConfig` that has an implementation of + emitted from the ante. Whereas Logs contains the events, with - `SignModeHandler` for EIP-191. The SDK may decide to fully support + additional metadata, emitted only by processing the messages. - EIP-191 in the future. + Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + description: >- + TxResponse defines a structure containing relevant tx data and metadata. + The - Since: cosmos-sdk 0.45.2 - multi: - $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi' - title: multi represents a nested multisig signer - description: ModeInfo describes the signing mode of a single or nested multisig signer. - cosmos.tx.v1beta1.ModeInfo.Multi: + tags are stringified and the log is JSON decoded. + cosmos.crypto.multisig.v1beta1.CompactBitArray: type: object properties: - bitarray: - title: bitarray specifies which keys within the multisig are signing - type: object - properties: - extra_bits_stored: - type: integer - format: int64 - elems: - type: string - format: byte - description: >- - CompactBitArray is an implementation of a space efficient bit array. + extra_bits_stored: + type: integer + format: int64 + elems: + type: string + format: byte + description: |- + CompactBitArray is an implementation of a space efficient bit array. + This is used to ensure that the encoded data takes up a minimal amount of + space after proto encoding. + This is not thread safe, and is not intended for concurrent usage. + cosmos.tx.signing.v1beta1.SignMode: + type: string + enum: + - 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 is used to ensure that the encoded data takes up a minimal amount - of + 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. - space after proto encoding. + - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be + rejected. + - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is + 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. 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. - This is not thread safe, and is not intended for concurrent usage. - mode_infos: + 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. + - 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.ModeInfo' - title: |- - mode_infos is the corresponding modes of the signers of the multisig - which could include nested multisig public keys - title: Multi is the mode info for a multisig public key - cosmos.tx.v1beta1.ModeInfo.Single: - type: object - properties: - mode: - title: mode is the signing mode of the single signer - type: string - enum: - - 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 + $ref: '#/definitions/cosmos.tx.v1beta1.SignerInfo' description: >- - SignMode represents a signing mode with its own security guarantees. + signer_infos defines the signing modes for the required signers. The + number + and order of elements must match the required signers from TxBody's - This enum should be considered a registry of all known sign modes + messages. The first element is the primary signer and the one which + pays - in the Cosmos ecosystem. Apps are not expected to support all known + the fee. + fee: + description: >- + Fee is the fee and gas limit for the transaction. The first signer is + the - sign modes. Apps that would like to support custom sign modes are + primary signer and the one which pays the fee. The fee can be + calculated - encouraged to open a small PR against this file to add a new case + based on the cost of evaluating the body and doing signature + verification - to this SignMode enum describing their sign mode so that different + of the signers. This can be estimated via simulation. + 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. - apps have a consistent version of this enum. - - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be - rejected. - - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - 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 + NOTE: The amount field is an Int which implements the custom + method - 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 + 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 - require signers signing over other signers' `signer_info`. It also - allows + 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. - for adding Tips in transactions. + 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 - 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. - - 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 + 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 + tip: + description: >- + Tip is the optional tip used for transactions fees paid in another + denom. - 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 + This field is ignored if the chain didn't enable tips, i.e. didn't add + the - to pass a custom `TxConfig` that has an implementation of + `TipDecorator` in its posthandler. - `SignModeHandler` for EIP-191. The SDK may decide to fully support - EIP-191 in the future. + 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. - 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 - future - cosmos.tx.v1beta1.OrderBy: + 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. + cosmos.tx.v1beta1.BroadcastMode: type: string enum: - - ORDER_BY_UNSPECIFIED - - ORDER_BY_ASC - - ORDER_BY_DESC - default: ORDER_BY_UNSPECIFIED + - BROADCAST_MODE_UNSPECIFIED + - BROADCAST_MODE_BLOCK + - BROADCAST_MODE_SYNC + - BROADCAST_MODE_ASYNC + default: BROADCAST_MODE_UNSPECIFIED description: >- - - 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 - title: OrderBy defines the sorting order - cosmos.tx.v1beta1.SignerInfo: + 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. + cosmos.tx.v1beta1.BroadcastTxRequest: type: object properties: - public_key: + 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 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 \ + BroadcastMode specifies the broadcast mode for the TxService.Broadcast + RPC method. - signer address for this position and lookup the public key. + - 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: - '@type': + height: type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + 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 - protocol buffer message. This string must contain at least + strings instead of raw bytes. + description: >- + StringEvent defines en Event object wrapper where all the + attributes - one "/" character. The last segment of the URL's path must - represent + contain key/value pairs that are strings instead of raw + bytes. + description: >- + Events contains a slice of Event objects that were emitted + during some - the fully qualified name of the type (as in + 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 - `path/google.protobuf.Duration`). The name should be in a - canonical form + protocol buffer message. This string must contain at least - (e.g., leading "." is not accepted). + one "/" character. The last segment of the URL's path must + represent + the fully qualified name of the type (as in - In practice, teams usually precompile into the binary all types - that they + `path/google.protobuf.Duration`). The name should be in a + canonical form - expect it to use in the context of Any. However, for URLs which - use the + (e.g., leading "." is not accepted). - scheme `http`, `https`, or no scheme, one can optionally set up a - type - server that maps type URLs to message definitions as follows: + 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 - * If no scheme is provided, `https` is assumed. + scheme `http`, `https`, or no scheme, one can optionally set + up a 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.) + server that maps type URLs to message definitions as follows: - Note: this functionality is not currently available in the - official - protobuf release, and it is not used for type URLs beginning with + * If no scheme is provided, `https` is assumed. - type.googleapis.com. + * 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 - Schemes other than `http`, `https` (or the empty scheme) might be + protobuf release, and it is not used for type URLs beginning + with - used with implementation specific semantics. - additionalProperties: {} - mode_info: - $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo' - title: |- - mode_info describes the signing mode of the signer and is a nested - structure to support nested multisig pubkey's - sequence: - type: string - format: uint64 - description: >- - sequence is the sequence of the account, which describes the + type.googleapis.com. - number of committed transactions signed by a given address. It is used - to - prevent replay attacks. - description: |- - SignerInfo describes the public key and signing mode of a single top-level - signer. - cosmos.tx.v1beta1.SimulateRequest: - type: object - properties: - tx: - $ref: '#/definitions/cosmos.tx.v1beta1.Tx' - description: |- - tx is the transaction to simulate. - Deprecated. Send raw tx bytes instead. - tx_bytes: - type: string - format: byte - description: |- - tx_bytes is the raw transaction. + Schemes other than `http`, `https` (or the empty scheme) might + be - Since: cosmos-sdk 0.43 - description: |- - SimulateRequest is the request type for the Service.Simulate - RPC method. - cosmos.tx.v1beta1.SimulateResponse: - 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: + used with implementation specific semantics. + additionalProperties: {} + timestamp: 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. + Time of the previous block. For heights > 1, it's the weighted + median of - Deprecated. This field is still populated, but prefer msg_response - instead + the timestamps of the valid votes in the block.LastCommit. For + height == 1, - because it also contains the Msg response typeURL. - log: - type: string - description: >- - Log contains the log information from message or handler - execution. + it's genesis time. events: type: array items: @@ -67271,604 +63586,982 @@ definitions: 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); - } + Events defines all the events emitted by processing a transaction. + Note, - Example 3: Pack and unpack a message in Python. + these events include those emitted by processing all the messages + and those - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + emitted from the ante. Whereas Logs contains the events, with - Example 4: Pack and unpack a message in Go + additional metadata, emitted only by processing the messages. - 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 + 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. - '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. + 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 - methods only use the fully qualified type name after the last - '/' + 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. - in the type URL, for example "foo.bar.com/x/y.z" will yield type + the payer must be a tx signer (and thus have signed this field in + AuthInfo). - name "y.z". + 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 - JSON + 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: + 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: + 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, - 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 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" - } + 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 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: >- - msg_responses contains the Msg handler responses type packed in - Anys. - + 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 - 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. + was set, its value is undefined otherwise + description: >- + GetBlockWithTxsResponse is the response type for the + Service.GetBlockWithTxs method. - 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: + Since: cosmos-sdk 0.45.2 + cosmos.tx.v1beta1.GetTxResponse: type: object properties: - body: - title: body is the processable content of the transaction + tx: + $ref: '#/definitions/cosmos.tx.v1beta1.Tx' + description: tx is the queried transaction. + tx_response: + description: tx_response is the queried TxResponses. type: object properties: - messages: + 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: - '@type': + msg_index: + type: integer + format: int64 + log: 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. + 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 - Schemes other than `http`, `https` (or the empty scheme) - might be + contain key/value pairs that are strings instead of raw + bytes. + description: >- + Events contains a slice of Event objects that were emitted + during some - used with implementation specific semantics. - additionalProperties: {} + execution. 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". - + 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 - 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" - } - description: >- - messages is a list of messages to be executed. The required - signers of + * 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.) - those messages define the number and order of elements in - AuthInfo's + Note: this functionality is not currently available in the + official - signer_infos and Tx's signatures. Each required signer address is - added to + protobuf release, and it is not used for type URLs beginning + with - the list only the first time it occurs. + type.googleapis.com. - By convention, the first required signer (usually from the first - message) - is referred to as the primary signer and pays the fee for the - whole + Schemes other than `http`, `https` (or the empty scheme) might + be - transaction. - memo: + used with implementation specific semantics. + additionalProperties: {} + timestamp: type: string description: >- - memo is any arbitrary note/comment to be added to the transaction. + Time of the previous block. For heights > 1, it's the weighted + median of - WARNING: in clients, any publicly exposed text should not be - called memo, + the timestamps of the valid votes in the block.LastCommit. For + height == 1, - but should be called `note` instead (see - https://github.com/cosmos/cosmos-sdk/issues/9122). - timeout_height: - type: string - format: uint64 - title: |- - timeout is the block height after which this transaction will not - be processed by the chain - extension_options: + it's genesis time. + events: type: array items: type: object properties: - '@type': + 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: {} + 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: >- - `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 + Event allows application developers to attach additional + information to - additional field `@type` which contains the type URL. Example: + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Later, transactions may be queried using these events. + description: >- + Events defines all the events emitted by processing a transaction. + Note, - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + these events include those emitted by processing all the messages + and those - If the embedded message type is well-known and has a custom JSON + emitted from the ante. Whereas Logs contains the events, with - representation, that representation will be embedded adding a - field + additional metadata, emitted only by processing the messages. - `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + description: GetTxResponse is the response type for the Service.GetTx method. + cosmos.tx.v1beta1.GetTxsEventResponse: + type: object + properties: + txs: + type: array + items: + type: object + $ref: '#/definitions/cosmos.tx.v1beta1.Tx' + description: txs is the list of queried transactions. + tx_responses: + type: array + items: + 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 - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: >- - extension_options are arbitrary options that can be added by - chains + strings instead of raw bytes. + description: >- + StringEvent defines en Event object wrapper where all + the attributes - when the default options are not sufficient. If any of these are - present + contain key/value pairs that are strings instead of raw + bytes. + description: >- + Events contains a slice of Event objects that were emitted + during some - and can't be handled, the transaction will be rejected - non_critical_extension_options: - type: array - items: + 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': @@ -67929,2568 +64622,2200 @@ definitions: used with implementation specific semantics. additionalProperties: {} + timestamp: + type: string 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 - - ==== + Time of the previous block. For heights > 1, it's the weighted + median of - The JSON representation of an `Any` value uses the regular + the timestamps of the valid votes in the block.LastCommit. For + height == 1, - representation of the deserialized, embedded message, with an + 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 - additional field `@type` which contains the type URL. Example: + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Later, transactions may be queried using these events. + description: >- + Events defines all the events emitted by processing a + transaction. Note, - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + these events include those emitted by processing all the + messages and those - If the embedded message type is well-known and has a custom JSON + emitted from the ante. Whereas Logs contains the events, with - representation, that representation will be embedded adding a - field + additional metadata, emitted only by processing the messages. - `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + description: >- + TxResponse defines a structure containing relevant tx data and + metadata. The - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + tags are stringified and the log is JSON decoded. + description: tx_responses is the list of queried TxResponses. + pagination: + 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 + 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: >- - extension_options are arbitrary options that can be added by - chains - - when the default options are not sufficient. If any of these are - present - - and can't be handled, they will be ignored - description: TxBody is the body of a transaction that all signers sign over. - auth_info: - $ref: '#/definitions/cosmos.tx.v1beta1.AuthInfo' - title: |- - auth_info is the authorization related content of the transaction, - specifically signers, signer modes and fee - signatures: - type: array - items: - type: string - format: byte - description: >- - signatures is a list of signatures that matches the length and order - of - - AuthInfo's signer_infos to allow connecting signature meta information - like + total is total number of results available if + PageRequest.count_total - public key and signing mode by position. - description: Tx is the standard type used for broadcasting transactions. - cosmos.tx.v1beta1.TxBody: + 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. + cosmos.tx.v1beta1.ModeInfo: type: object properties: - 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) - ... + single: + title: single represents a single signer + type: object + properties: + mode: + title: mode is the signing mode of the single signer + type: string + enum: + - 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. - 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 { - ... - } + This enum should be considered a registry of all known sign modes - The pack methods provided by protobuf library will by default use + in the Cosmos ecosystem. Apps are not expected to support all + known - 'type.googleapis.com/full.type.name' as the type URL and the unpack + sign modes. Apps that would like to support custom sign modes are - methods only use the fully qualified type name after the last '/' + encouraged to open a small PR against this file to add a new case - in the type URL, for example "foo.bar.com/x/y.z" will yield type + to this SignMode enum describing their sign mode so that different - name "y.z". + apps have a consistent version of this enum. + - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be + rejected. + - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is + 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. 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 - JSON + require signers signing over other signers' `signer_info`. It also + allows - ==== + for adding Tips in transactions. - The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an + 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. + - 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 - additional field `@type` which contains the type URL. Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum + variant, - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + but is not implemented on the SDK by default. To enable EIP-191, + you need - If the embedded message type is well-known and has a custom JSON + to pass a custom `TxConfig` that has an implementation of - representation, that representation will be embedded adding a field + `SignModeHandler` for EIP-191. The SDK may decide to fully support - `value` which holds the custom JSON in addition to the `@type` + EIP-191 in the future. - field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + Since: cosmos-sdk 0.45.2 + multi: + $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi' + title: multi represents a nested multisig signer + description: ModeInfo describes the signing mode of a single or nested multisig signer. + cosmos.tx.v1beta1.ModeInfo.Multi: + type: object + properties: + bitarray: + title: bitarray specifies which keys within the multisig are signing + type: object + properties: + extra_bits_stored: + type: integer + format: int64 + elems: + type: string + format: byte description: >- - messages is a list of messages to be executed. The required signers of - - those messages define the number and order of elements in AuthInfo's - - signer_infos and Tx's signatures. Each required signer address is - added to - - the list only the first time it occurs. - - By convention, the first required signer (usually from the first - message) - - is referred to as the primary signer and pays the fee for the whole + CompactBitArray is an implementation of a space efficient bit array. - transaction. - memo: - type: string - description: >- - memo is any arbitrary note/comment to be added to the transaction. + This is used to ensure that the encoded data takes up a minimal amount + of - WARNING: in clients, any publicly exposed text should not be called - memo, + space after proto encoding. - but should be called `note` instead (see - https://github.com/cosmos/cosmos-sdk/issues/9122). - timeout_height: - type: string - format: uint64 - title: |- - timeout is the block height after which this transaction will not - be processed by the chain - extension_options: + This is not thread safe, and is not intended for concurrent usage. + mode_infos: 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 + $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo' + title: |- + mode_infos is the corresponding modes of the signers of the multisig + which could include nested multisig public keys + title: Multi is the mode info for a multisig public key + cosmos.tx.v1beta1.ModeInfo.Single: + type: object + properties: + mode: + title: mode is the signing mode of the single signer + type: string + enum: + - 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. - the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in a - canonical form + This enum should be considered a registry of all known sign modes - (e.g., leading "." is not accepted). + in the Cosmos ecosystem. Apps are not expected to support all known + sign modes. Apps that would like to support custom sign modes are - In practice, teams usually precompile into the binary all types - that they + encouraged to open a small PR against this file to add a new case - expect it to use in the context of Any. However, for URLs which - use the + to this SignMode enum describing their sign mode so that different - scheme `http`, `https`, or no scheme, one can optionally set up - a type + apps have a consistent version of this enum. - server that maps type URLs to message definitions as follows: + - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be + rejected. + - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is + 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. 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 - * If no scheme is provided, `https` is assumed. + require signers signing over other signers' `signer_info`. It also + allows - * 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.) + for adding Tips in transactions. - Note: this functionality is not currently available in the - official - protobuf release, and it is not used for type URLs beginning - with + 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. + - 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 - type.googleapis.com. + Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, - Schemes other than `http`, `https` (or the empty scheme) might - be + but is not implemented on the SDK by default. To enable EIP-191, you + need - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a + to pass a custom `TxConfig` that has an implementation of - URL that describes the type of the serialized message. + `SignModeHandler` for EIP-191. The SDK may decide to fully support + EIP-191 in the future. - Protobuf library provides support to pack/unpack Any values in the - form - of utility functions or additional generated methods of the Any - type. + 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 + future + cosmos.tx.v1beta1.OrderBy: + type: string + enum: + - ORDER_BY_UNSPECIFIED + - ORDER_BY_ASC + - ORDER_BY_DESC + default: ORDER_BY_UNSPECIFIED + description: >- + - 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 + title: OrderBy defines the sorting order + cosmos.tx.v1beta1.SignerInfo: + 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 \ - Example 1: Pack and unpack a message in C++. + signer address for this position and lookup the public key. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + protocol buffer message. This string must contain at least - Example 2: Pack and unpack a message in Java. + one "/" character. The last segment of the URL's path must + represent - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + the fully qualified name of the type (as in - Example 3: Pack and unpack a message in Python. + `path/google.protobuf.Duration`). The name should be in a + canonical form - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + (e.g., leading "." is not accepted). - 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 { - ... - } + In practice, teams usually precompile into the binary all types + that they - The pack methods provided by protobuf library will by default use + expect it to use in the context of Any. However, for URLs which + use the - 'type.googleapis.com/full.type.name' as the type URL and the unpack + scheme `http`, `https`, or no scheme, one can optionally set up a + type - methods only use the fully qualified type name after the last '/' + server that maps type URLs to message definitions as follows: - in the type URL, for example "foo.bar.com/x/y.z" will yield type - 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.) + Note: this functionality is not currently available in the + official - JSON + protobuf release, and it is not used for type URLs beginning with - ==== + type.googleapis.com. - The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an + Schemes other than `http`, `https` (or the empty scheme) might be - additional field `@type` which contains the type URL. Example: + used with implementation specific semantics. + additionalProperties: {} + mode_info: + $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo' + title: |- + mode_info describes the signing mode of the signer and is a nested + structure to support nested multisig pubkey's + sequence: + type: string + format: uint64 + description: >- + sequence is the sequence of the account, which describes the - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + number of committed transactions signed by a given address. It is used + to - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + prevent replay attacks. + description: |- + SignerInfo describes the public key and signing mode of a single top-level + signer. + cosmos.tx.v1beta1.SimulateRequest: + type: object + properties: + tx: + $ref: '#/definitions/cosmos.tx.v1beta1.Tx' + description: |- + tx is the transaction to simulate. + Deprecated. Send raw tx bytes instead. + tx_bytes: + type: string + format: byte + description: |- + tx_bytes is the raw transaction. - If the embedded message type is well-known and has a custom JSON + Since: cosmos-sdk 0.43 + description: |- + SimulateRequest is the request type for the Service.Simulate + RPC method. + cosmos.tx.v1beta1.SimulateResponse: + 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 - representation, that representation will be embedded adding a field + length prefixed in order to separate data from multiple message + executions. - `value` which holds the custom JSON in addition to the `@type` + Deprecated. This field is still populated, but prefer msg_response + instead - field. Example (for message [google.protobuf.Duration][]): + 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 - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: >- - extension_options are arbitrary options that can be added by chains + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. - when the default options are not sufficient. If any of these are - present + Later, transactions may be queried using these events. + description: >- + Events contains a slice of Event objects that were emitted during + message - and can't be handled, the transaction will be rejected - non_critical_extension_options: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + 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 + 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" - } - title: >- - extension_options are arbitrary options that can be added by chains + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + msg_responses contains the Msg handler responses type packed in + Anys. - when the default options are not sufficient. If any of these are - present - and can't be handled, they will be ignored - description: TxBody is the body of a transaction that all signers sign over. - tendermint.abci.Event: + Since: cosmos-sdk 0.46 + description: |- + SimulateResponse is the response type for the + Service.SimulateRPC method. + cosmos.tx.v1beta1.Tip: type: object properties: - type: - type: string - attributes: + amount: type: array items: type: object properties: - key: + denom: type: string - format: byte - value: + amount: 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. + description: |- + Coin defines a token with a denomination and an amount. - Later, transactions may be queried using these events. - tendermint.abci.EventAttribute: - 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. - cosmos.upgrade.v1beta1.ModuleVersion: - type: object - properties: - name: - type: string - title: name of the app module - version: + 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 - format: uint64 - title: consensus version of the app module - description: |- - 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 + title: tipper is the address of the account paying for the tip description: |- - MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type. + Tip is the tip used for meta-transactions. Since: cosmos-sdk 0.46 - cosmos.upgrade.v1beta1.Plan: + cosmos.tx.v1beta1.Tx: type: object properties: - name: - type: string - description: >- - Sets the name for the upgrade. This name will be used by the upgraded + body: + title: body is the processable content of the transaction + type: object + properties: + messages: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - version of the software to apply any special "on-upgrade" commands - during + protocol buffer message. This string must contain at least - the first BeginBlock method after the upgrade is applied. It is also - used + one "/" character. The last segment of the URL's path must + represent - to detect whether a software version can handle a given upgrade. If no + the fully qualified name of the type (as in - upgrade handler with this name has been set in the software, it will - be + `path/google.protobuf.Duration`). The name should be in a + canonical form - assumed that the software is out-of-date when the upgrade Time or - Height is + (e.g., leading "." is not accepted). - 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. + In practice, teams usually precompile into the binary all + types that they - 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 + expect it to use in the context of Any. However, for URLs + which use the - moved to the IBC module in the sub module 02-client. + scheme `http`, `https`, or no scheme, one can optionally set + up a type - 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 + 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 + * If no scheme is provided, `https` is assumed. - the fully qualified name of the type (as in + * 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.) - `path/google.protobuf.Duration`). The name should be in a - canonical form + Note: this functionality is not currently available in the + official - (e.g., leading "." is not accepted). + protobuf release, and it is not used for type URLs beginning + with + type.googleapis.com. - 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 + Schemes other than `http`, `https` (or the empty scheme) + might be - scheme `http`, `https`, or no scheme, one can optionally set up a - type + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - server that maps type URLs to message definitions as follows: + URL that describes the type of the serialized message. - * If no scheme is provided, `https` is assumed. + Protobuf library provides support to pack/unpack Any values in + the 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.) + of utility functions or additional generated methods of the Any + type. - Note: this functionality is not currently available in the - official - protobuf release, and it is not used for type URLs beginning with + Example 1: Pack and unpack a message in C++. - type.googleapis.com. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + Example 2: Pack and unpack a message in Java. - Schemes other than `http`, `https` (or the empty scheme) might be + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - used with implementation specific semantics. - additionalProperties: {} - description: >- - Plan specifies information about a planned upgrade and when it should - occur. - cosmos.upgrade.v1beta1.QueryAppliedPlanResponse: - type: object - properties: - height: - type: string - format: int64 - description: height is the block height at which the plan was applied. - description: >- - QueryAppliedPlanResponse is the response type for the Query/AppliedPlan - RPC + Example 3: Pack and unpack a message in Python. - 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: - plan: - description: plan is the current upgrade plan. - type: object - properties: - name: - type: string + 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: >- - Sets the name for the upgrade. This name will be used by the - upgraded + messages is a list of messages to be executed. The required + signers of - version of the software to apply any special "on-upgrade" commands - during + those messages define the number and order of elements in + AuthInfo's - the first BeginBlock method after the upgrade is applied. It is - also used + signer_infos and Tx's signatures. Each required signer address is + added to - to detect whether a software version can handle a given upgrade. - If no + the list only the first time it occurs. - upgrade handler with this name has been set in the software, it - will be + By convention, the first required signer (usually from the first + message) - assumed that the software is out-of-date when the upgrade Time or - Height is + is referred to as the primary signer and pays the fee for the + whole - reached and the software will exit. - time: + transaction. + memo: type: string - format: date-time description: >- - Deprecated: Time based upgrades have been deprecated. Time based - upgrade logic + memo is any arbitrary note/comment to be added to the transaction. - has been removed from the SDK. + WARNING: in clients, any publicly exposed text should not be + called memo, - 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: + but should be called `note` instead (see + https://github.com/cosmos/cosmos-sdk/issues/9122). + timeout_height: type: string - title: >- - Any application specific upgrade info to be included on-chain + format: uint64 + title: |- + timeout is the block height after which this transaction will not + be processed by the chain + extension_options: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - 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 + protocol buffer message. This string must contain at least - moved to the IBC module in the sub module 02-client. + one "/" character. The last segment of the URL's path must + represent - 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 + the fully qualified name of the type (as in - protocol buffer message. This string must contain at least + `path/google.protobuf.Duration`). The name should be in a + canonical form - one "/" character. The last segment of the URL's path must - represent + (e.g., leading "." is not accepted). - the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in a - canonical form + 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. + - (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: >- - QueryCurrentPlanResponse is the response type for the Query/CurrentPlan - RPC + in the type URL, for example "foo.bar.com/x/y.z" will yield type - method. - cosmos.upgrade.v1beta1.QueryModuleVersionsResponse: - 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. + name "y.z". - 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. + JSON - Since: cosmos-sdk 0.43 - cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse: - type: object - properties: - upgraded_consensus_state: - type: string - format: byte - title: 'Since: cosmos-sdk 0.43' - description: >- - QueryUpgradedConsensusStateResponse is the response type for the - Query/UpgradedConsensusState + ==== - RPC method. - cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse: - type: object - description: >- - MsgCreateVestingAccountResponse defines the - Msg/CreatePeriodicVestingAccount + The JSON representation of an `Any` value uses the regular - response type. + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: - Since: cosmos-sdk 0.46 - cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse: - type: object - description: >- - MsgCreatePermanentLockedAccountResponse defines the - Msg/CreatePermanentLockedAccount response type. + 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 - 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. + If the embedded message type is well-known and has a custom JSON - 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.AddrWithQuantity: - type: object - properties: - addr: - type: string - q: - type: integer - format: int64 - payment: - 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 - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - DecentralCardGame.cardchain.cardchain.AirDrops: - type: object - properties: - vote: - type: boolean - create: - type: boolean - buy: - type: boolean - play: - type: boolean - user: - type: boolean - DecentralCardGame.cardchain.cardchain.BoosterPack: - 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 - DecentralCardGame.cardchain.cardchain.CStatus: - type: string - enum: - - design - - finalized - - active - - archived - default: design - DecentralCardGame.cardchain.cardchain.CardClass: - type: string - enum: - - nature - - culture - - mysticism - - technology - default: nature - DecentralCardGame.cardchain.cardchain.CardRarity: - type: string - enum: - - common - - uncommon - - rare - - exceptional - - unique - default: common - DecentralCardGame.cardchain.cardchain.CardType: - type: string - enum: - - place - - action - - entity - - headquarter - default: place - DecentralCardGame.cardchain.cardchain.CouncelingStatus: - type: string - enum: - - councilOpen - - councilCreated - - councilClosed - - commited - - revealed - - suggestionsMade - default: councilOpen - DecentralCardGame.cardchain.cardchain.Council: - 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: - - councilOpen - - councilCreated - - councilClosed - - commited - - revealed - - suggestionsMade - default: councilOpen - trialStart: - type: string - format: uint64 - DecentralCardGame.cardchain.cardchain.CouncilStatus: - type: string - enum: - - available - - unavailable - - openCouncil - - startedCouncil - default: available - DecentralCardGame.cardchain.cardchain.EarlyAccess: - type: object - properties: - active: - type: boolean - invitedByUser: - type: string - invitedUser: - type: string - DecentralCardGame.cardchain.cardchain.Encounter: - type: object - properties: - Id: - type: string - format: uint64 - Drawlist: - type: array - items: - type: string - format: uint64 - proven: - type: boolean - owner: - type: string - parameters: - type: object - additionalProperties: - type: string - imageId: - type: string - format: uint64 - name: - type: string - DecentralCardGame.cardchain.cardchain.EncounterWithImage: - type: object - properties: - encounter: - type: object - properties: - Id: - type: string - format: uint64 - Drawlist: - type: array - items: - type: string - format: uint64 - proven: - type: boolean - owner: - type: string - parameters: - type: object - additionalProperties: - type: string - imageId: - type: string - format: uint64 - name: - type: string - image: - type: string - format: byte - DecentralCardGame.cardchain.cardchain.IgnoreMatches: - type: object - properties: - outcome: - type: boolean - DecentralCardGame.cardchain.cardchain.IgnoreSellOffers: - type: object - properties: - status: - type: boolean - card: - type: boolean - DecentralCardGame.cardchain.cardchain.InnerRarities: - type: object - properties: - R: - type: array - items: - type: string - format: uint64 - DecentralCardGame.cardchain.cardchain.Match: - 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 - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - 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 - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - outcome: - type: string - enum: - - AWon - - BWon - - Draw - - Aborted - default: AWon - coinsDistributed: - type: boolean - serverConfirmed: - type: boolean - DecentralCardGame.cardchain.cardchain.MatchPlayer: - 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 - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - DecentralCardGame.cardchain.cardchain.MsgAddArtworkResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgAddArtworkToSetResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgAddCardToSetResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgAddContributorToSetResponse: - type: object - 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 - properties: - cardId: - type: string - format: uint64 - DecentralCardGame.cardchain.cardchain.MsgChangeAliasResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgChangeArtistResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgCommitCouncilResponseResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgConfirmMatchResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgConnectZealyAccountResponse: - 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.MsgDisinviteEarlyAccessResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgDonateToCardResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgEncounterCloseResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgEncounterCreateResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgEncounterDoResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgFinalizeSetResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgInviteEarlyAccessResponse: - 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.MsgRemoveCardFromSetResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgRemoveContributorFromSetResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgRemoveSellOfferResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgReportMatchResponse: - type: object - properties: - matchId: - type: string - format: uint64 - DecentralCardGame.cardchain.cardchain.MsgRestartCouncilResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgRevealCouncilResponseResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgRewokeCouncilRegistrationResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgSaveCardContentResponse: - type: object - properties: - airdropClaimed: - type: boolean - DecentralCardGame.cardchain.cardchain.MsgSetCardRarityResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgSetProfileCardResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgSetSetArtistResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgSetSetNameResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgSetSetStoryWriterResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgSetUserBiographyResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgSetUserWebsiteResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgTransferBoosterPackResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgTransferCardResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgVoteCardResponse: - type: object - properties: - airdropClaimed: - type: boolean - DecentralCardGame.cardchain.cardchain.Outcome: - type: string - enum: - - AWon - - BWon - - Draw - - Aborted - default: AWon - DecentralCardGame.cardchain.cardchain.OutpCard: - 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 - - adventureItem - 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 - DecentralCardGame.cardchain.cardchain.OutpSet: - 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 - contributorsDistribution: - type: array - items: - type: object - properties: - addr: - type: string - q: - type: integer - format: int64 - payment: + `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" + } + title: >- + extension_options are arbitrary options that can be added by + chains + + when the default options are not sufficient. If any of these are + present + + and can't be handled, the transaction will be rejected + non_critical_extension_options: + 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: >- - Coin defines a token with a denomination and an amount. + `Any` contains an arbitrary serialized protocol buffer message + along with a + URL that describes the type of the serialized message. - NOTE: The amount field is an Int which implements the custom - method - signatures required by gogoproto. - Rarities: + 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" + } + title: >- + extension_options are arbitrary options that can be added by + chains + + when the default options are not sufficient. If any of these are + present + + and can't be handled, they will be ignored + description: TxBody is the body of a transaction that all signers sign over. + auth_info: + $ref: '#/definitions/cosmos.tx.v1beta1.AuthInfo' + title: |- + auth_info is the authorization related content of the transaction, + specifically signers, signer modes and fee + signatures: type: array items: - type: object - properties: - R: - type: array - items: - type: string - format: uint64 - DecentralCardGame.cardchain.cardchain.Params: - type: object - properties: - votingRightsExpirationTime: - type: string - format: int64 - setSize: - type: string - format: uint64 - setPrice: - type: string - 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: Params defines the parameters for the module. - DecentralCardGame.cardchain.cardchain.QueryParamsResponse: - type: object - properties: - params: - description: params holds all the parameters of this module. - type: object - properties: - votingRightsExpirationTime: - type: string - format: int64 - setSize: - type: string - format: uint64 - setPrice: - type: string - 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. - DecentralCardGame.cardchain.cardchain.QueryQAccountFromZealyResponse: - type: object - properties: - address: - type: string - DecentralCardGame.cardchain.cardchain.QueryQCardContentResponse: - type: object - properties: - content: - type: string - hash: - type: string - DecentralCardGame.cardchain.cardchain.QueryQCardContentsResponse: + type: string + format: byte + description: >- + signatures is a list of signatures that matches the length and order + of + + AuthInfo's signer_infos to allow connecting signature meta information + like + + public key and signing mode by position. + description: Tx is the standard type used for broadcasting transactions. + cosmos.tx.v1beta1.TxBody: type: object properties: - cards: + messages: type: array items: type: object properties: - content: - type: string - hash: + '@type': type: string - DecentralCardGame.cardchain.cardchain.QueryQCardchainInfoResponse: - 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: + 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 messages to be executed. The required signers of + + those messages define the number and order of elements in AuthInfo's + + signer_infos and Tx's signatures. Each required signer address is + added to + + the list only the first time it occurs. + + By convention, the first required signer (usually from the first + message) + + is referred to as the primary signer and pays the fee for the whole + + transaction. + memo: type: string - format: uint64 - lastCardModified: + description: >- + memo is any arbitrary note/comment to be added to the transaction. + + WARNING: in clients, any publicly exposed text should not be called + memo, + + but should be called `note` instead (see + https://github.com/cosmos/cosmos-sdk/issues/9122). + timeout_height: type: string format: uint64 - DecentralCardGame.cardchain.cardchain.QueryQCardsResponse: - type: object - properties: - cardsList: - type: array - items: - type: string - format: uint64 - DecentralCardGame.cardchain.cardchain.QueryQEncounterResponse: - type: object - properties: - encounter: - type: object - properties: - Id: - type: string - format: uint64 - Drawlist: - type: array - items: - type: string - format: uint64 - proven: - type: boolean - owner: - type: string - parameters: - type: object - additionalProperties: - type: string - imageId: - type: string - format: uint64 - name: - type: string - DecentralCardGame.cardchain.cardchain.QueryQEncounterWithImageResponse: - type: object - properties: - encounter: - type: object - properties: - encounter: - type: object - properties: - Id: - type: string - format: uint64 - Drawlist: - type: array - items: - type: string - format: uint64 - proven: - type: boolean - owner: - type: string - parameters: - type: object - additionalProperties: - type: string - imageId: - type: string - format: uint64 - name: - type: string - image: - type: string - format: byte - DecentralCardGame.cardchain.cardchain.QueryQEncountersResponse: - type: object - properties: - encounters: - type: array - items: - type: object - properties: - Id: - type: string - format: uint64 - Drawlist: - type: array - items: - type: string - format: uint64 - proven: - type: boolean - owner: - type: string - parameters: - type: object - additionalProperties: - type: string - imageId: - type: string - format: uint64 - name: - type: string - DecentralCardGame.cardchain.cardchain.QueryQEncountersWithImageResponse: - type: object - properties: - encounters: - type: array - items: - type: object - properties: - encounter: - type: object - properties: - Id: - type: string - format: uint64 - Drawlist: - type: array - items: - type: string - format: uint64 - proven: - type: boolean - owner: - type: string - parameters: - type: object - additionalProperties: - type: string - imageId: - type: string - format: uint64 - name: - type: string - image: - type: string - format: byte - DecentralCardGame.cardchain.cardchain.QueryQMatchesResponse: - type: object - properties: - matchesList: - type: array - items: - type: string - format: uint64 - matches: + title: |- + timeout is the block height after which this transaction will not + be processed by the chain + extension_options: 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 - deck: - type: array - items: - type: string - format: uint64 - votedCards: - type: array - items: - type: object - properties: - cardId: - type: string - format: uint64 - voteType: - type: string - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - 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 - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - outcome: + '@type': type: string - enum: - - AWon - - BWon - - Draw - - Aborted - default: AWon - coinsDistributed: - type: boolean - serverConfirmed: - type: boolean - DecentralCardGame.cardchain.cardchain.QueryQSellOffersResponse: - type: object - properties: - sellOffersIds: - type: array - items: - type: string - format: uint64 - sellOffers: + 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" + } + title: >- + extension_options are arbitrary options that can be added by chains + + when the default options are not sufficient. If any of these are + present + + and can't be handled, the transaction will be rejected + non_critical_extension_options: type: array items: type: object properties: - seller: - type: string - buyer: - type: string - card: - type: string - format: uint64 - price: - type: string - status: + '@type': type: string - enum: - - open - - sold - - removed - default: open - DecentralCardGame.cardchain.cardchain.QueryQSetsResponse: - type: object - properties: - setIds: - type: array - items: - type: string - format: uint64 - DecentralCardGame.cardchain.cardchain.QueryQVotingResultsResponse: - 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: - 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 - DecentralCardGame.cardchain.cardchain.QueryRarityDistributionResponse: + 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" + } + title: >- + extension_options are arbitrary options that can be added by chains + + when the default options are not sufficient. If any of these are + present + + and can't be handled, they will be ignored + description: TxBody is the body of a transaction that all signers sign over. + tendermint.abci.Event: type: object properties: - current: - type: array - items: - type: integer - format: int64 - wanted: + type: + type: string + attributes: type: array items: - type: integer - format: int64 - DecentralCardGame.cardchain.cardchain.Response: - type: string - enum: - - 'Yes' - - 'No' - - Suggestion - default: 'Yes' - DecentralCardGame.cardchain.cardchain.SellOffer: + 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. + tendermint.abci.EventAttribute: type: object properties: - seller: - type: string - buyer: - type: string - card: - type: string - format: uint64 - price: + key: type: string - status: + format: byte + value: type: string - enum: - - open - - sold - - removed - default: open - DecentralCardGame.cardchain.cardchain.SellOfferStatus: - type: string - enum: - - open - - sold - - removed - default: open - DecentralCardGame.cardchain.cardchain.Server: + 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 properties: - reporter: - type: string - invalidReports: + name: type: string - format: uint64 - validReports: + title: name of the app module + version: type: string format: uint64 - DecentralCardGame.cardchain.cardchain.SingleVote: + title: consensus version of the app module + description: |- + ModuleVersion specifies a module and its consensus version. + + Since: cosmos-sdk 0.43 + cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse: type: object - properties: - cardId: - type: string - format: uint64 - voteType: - type: string - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - DecentralCardGame.cardchain.cardchain.Status: - type: string - enum: - - scheme - - prototype - - trial - - permanent - - suspended - - banned - - bannedSoon - - bannedVerySoon - - none - - adventureItem - default: scheme - DecentralCardGame.cardchain.cardchain.User: + 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: - 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 - CouncilStatus: + name: type: string - enum: - - available - - unavailable - - openCouncil - - startedCouncil - default: available - ReportMatches: - type: boolean - profileCard: + 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: 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: + 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 - biography: + format: int64 + description: |- + The height at which the upgrade must be performed. + Only used if Time is not set. + info: type: string - votableCards: - type: array - items: - type: string - format: uint64 - votedCards: - type: array - items: - type: string - format: uint64 - earlyAccess: + 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: - active: - type: boolean - invitedByUser: - type: string - invitedUser: + '@type': type: string - OpenEncounters: - type: array - items: - type: string - format: uint64 - WonEncounters: - type: array - items: - type: string - format: uint64 - DecentralCardGame.cardchain.cardchain.VoteType: - type: string - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - DecentralCardGame.cardchain.cardchain.VotingResult: + 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: >- + Plan specifies information about a planned upgrade and when it should + occur. + cosmos.upgrade.v1beta1.QueryAppliedPlanResponse: 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: + height: type: string - DecentralCardGame.cardchain.cardchain.VotingResults: + format: int64 + description: height is the block height at which the plan was applied. + description: >- + QueryAppliedPlanResponse is the response type for the Query/AppliedPlan + RPC + + method. + cosmos.upgrade.v1beta1.QueryAuthorityResponse: type: object properties: - totalVotes: - type: string - format: uint64 - totalFairEnoughVotes: - type: string - format: uint64 - totalOverpoweredVotes: - type: string - format: uint64 - totalUnderpoweredVotes: - type: string - format: uint64 - totalInappropriateVotes: + address: type: string - format: uint64 - cardResults: + description: 'Since: cosmos-sdk 0.46' + title: QueryAuthorityResponse is the response type for Query/Authority + cosmos.upgrade.v1beta1.QueryCurrentPlanResponse: + 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 + + 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: + 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. + cosmos.upgrade.v1beta1.QueryModuleVersionsResponse: + type: object + properties: + module_versions: type: array items: type: object properties: - cardId: - type: string - format: uint64 - fairEnoughVotes: - type: string - format: uint64 - overpoweredVotes: - type: string - format: uint64 - underpoweredVotes: + name: type: string - format: uint64 - inappropriateVotes: + title: name of the app module + version: type: string format: uint64 - result: - type: string - notes: - type: string - DecentralCardGame.cardchain.cardchain.WrapClearResponse: - type: object - properties: - user: - type: string - response: - type: string - enum: - - 'Yes' - - 'No' - - Suggestion - default: 'Yes' - suggestion: - type: string - DecentralCardGame.cardchain.cardchain.WrapHashResponse: - type: object - properties: - user: - type: string - hash: - type: string - DecentralCardGame.cardchain.featureflag.Flag: + 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 + cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse: type: object properties: - Module: - type: string - Name: + upgraded_consensus_state: type: string - Set: - type: boolean - DecentralCardGame.cardchain.featureflag.Params: + format: byte + title: 'Since: cosmos-sdk 0.43' + description: >- + QueryUpgradedConsensusStateResponse is the response type for the + Query/UpgradedConsensusState + + RPC method. + cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse: type: object - description: Params defines the parameters for the module. - DecentralCardGame.cardchain.featureflag.QueryParamsResponse: + description: >- + MsgCreateVestingAccountResponse defines the + Msg/CreatePeriodicVestingAccount + + response type. + + + Since: cosmos-sdk 0.46 + cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse: 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: + description: >- + MsgCreatePermanentLockedAccountResponse defines the + Msg/CreatePermanentLockedAccount response type. + + + Since: cosmos-sdk 0.46 + cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse: type: object - properties: - flag: - type: object - properties: - Module: - type: string - Name: - type: string - Set: - type: boolean - DecentralCardGame.cardchain.featureflag.QueryQFlagsResponse: + description: >- + MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount + response type. + cosmos.vesting.v1beta1.Period: type: object properties: - flags: + length: + type: string + format: int64 + amount: type: array items: type: object properties: - Module: + denom: type: string - Name: + amount: type: string - Set: - type: boolean + 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. ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse: type: object properties: diff --git a/cardchain/docs/template/index.tpl b/cardchain/docs/template/index.tpl new file mode 100644 index 00000000..ec098e82 --- /dev/null +++ b/cardchain/docs/template/index.tpl @@ -0,0 +1,28 @@ + + + + + {{ .Title }} + + + + +
+ + + + + +Footer +© 2022 GitHub, Inc. +Footer navigation diff --git a/go.mod b/cardchain/go.mod similarity index 59% rename from go.mod rename to cardchain/go.mod index 8e966f53..c060af3f 100644 --- a/go.mod +++ b/cardchain/go.mod @@ -1,90 +1,86 @@ -module github.com/DecentralCardGame/Cardchain +module cardchain -go 1.23 +go 1.22.7 + +toolchain go1.23.4 require ( - cosmossdk.io/errors v1.0.0-beta.7 - github.com/DecentralCardGame/cardobject v0.5.3 - github.com/cosmos/cosmos-sdk v0.46.15 + github.com/cosmos/cosmos-sdk v0.46.7 github.com/cosmos/ibc-go/v6 v6.1.0 github.com/gogo/protobuf v1.3.3 github.com/golang/protobuf v1.5.4 github.com/gorilla/mux v1.8.0 github.com/grpc-ecosystem/grpc-gateway v1.16.0 + github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 + github.com/regen-network/cosmos-proto v0.3.1 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.29 + github.com/stretchr/testify v1.8.1 + github.com/tendermint/tendermint v0.34.24 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-20241118233622-e639e219e697 + google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e google.golang.org/grpc v1.68.0 gopkg.in/yaml.v2 v2.4.0 ) require ( - cloud.google.com/go v0.112.1 // indirect + cloud.google.com/go v0.104.0 // indirect cloud.google.com/go/compute/metadata v0.5.0 // indirect - cloud.google.com/go/iam v1.1.6 // indirect - cloud.google.com/go/storage v1.38.0 // indirect - cosmossdk.io/math v1.0.0-rc.0 // indirect + cloud.google.com/go/iam v0.4.0 // indirect + cloud.google.com/go/storage v1.23.0 // indirect + cosmossdk.io/errors v1.0.0-beta.7 // indirect + cosmossdk.io/math v1.0.0-beta.3 // 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/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // 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/aws/aws-sdk-go v1.40.45 // 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/btcec/v2 v2.3.2 // indirect + github.com/btcsuite/btcd v0.22.1 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.3.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/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/cosmos/iavl v0.19.4 // indirect + github.com/cosmos/ledger-cosmos-go v0.12.1 // 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.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.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.4 // indirect + github.com/felixge/httpsnoop v1.0.1 // indirect github.com/fsnotify/fsnotify v1.6.0 // 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.1 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect - github.com/go-logr/logr v1.4.1 // indirect - github.com/go-logr/stdr v1.2.2 // 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/glog v1.2.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/btree v1.0.1 // indirect github.com/google/orderedcode v0.0.1 // indirect - github.com/google/s2a-go v0.1.7 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.2 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect + github.com/googleapis/gax-go/v2 v2.6.0 // indirect + github.com/googleapis/go-type-adapters v1.0.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect @@ -92,87 +88,78 @@ require ( github.com/gtank/merlin v0.1.1 // indirect github.com/gtank/ristretto255 v0.1.2 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-getter v1.7.0 // indirect + github.com/hashicorp/go-getter v1.6.1 // 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-20220222234857-c00d1f31bab3 // indirect - github.com/iancoleman/orderedmap v0.2.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/klauspost/compress v1.16.0 // indirect - github.com/lib/pq v1.10.7 // indirect + github.com/klauspost/compress v1.15.11 // indirect + github.com/lib/pq v1.10.6 // 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/mattn/go-isatty v0.0.16 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // 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/go-testing-interface v1.14.1 // indirect + github.com/mitchellh/go-testing-interface v1.0.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mtibben/percent v0.2.1 // 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/pelletier/go-toml/v2 v2.0.5 // 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.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/prometheus/client_golang v1.12.2 // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/common v0.34.0 // indirect + github.com/prometheus/procfs v0.8.0 // indirect github.com/rakyll/statik v0.1.7 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/regen-network/cosmos-proto v0.3.1 // indirect + github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/rs/cors v1.8.2 // indirect - github.com/rs/zerolog v1.29.1 // indirect + github.com/rs/zerolog v1.27.0 // 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/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/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // 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/tidwall/btree v1.5.0 // indirect - github.com/ulikunitz/xz v0.5.10 // indirect + github.com/ulikunitz/xz v0.5.8 // indirect github.com/zondax/hid v0.9.1 // indirect - github.com/zondax/ledger-go v0.14.1 // indirect + github.com/zondax/ledger-go v0.14.0 // indirect go.etcd.io/bbolt v1.3.6 // indirect - go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.24.0 // indirect - go.opentelemetry.io/otel/metric v1.24.0 // indirect - go.opentelemetry.io/otel/trace v1.24.0 // indirect + go.opencensus.io v0.23.0 // indirect golang.org/x/crypto v0.27.0 // indirect + golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect golang.org/x/net v0.29.0 // indirect golang.org/x/oauth2 v0.24.0 // indirect golang.org/x/sync v0.9.0 // indirect golang.org/x/sys v0.25.0 // indirect golang.org/x/term v0.24.0 // indirect golang.org/x/text v0.20.0 // indirect - golang.org/x/time v0.5.0 // indirect - google.golang.org/api v0.169.0 // indirect - google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect + google.golang.org/api v0.102.0 // indirect + google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.35.2 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - nhooyr.io/websocket v1.8.7 // indirect + nhooyr.io/websocket v1.8.6 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) -// 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 +replace ( + github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 + github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 +) diff --git a/cardchain/go.sum b/cardchain/go.sum new file mode 100644 index 00000000..12a5a072 --- /dev/null +++ b/cardchain/go.sum @@ -0,0 +1,1686 @@ +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.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= +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.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.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 h1:gSmWO7DY1vOm0MVU6DNXM11BWHHsTUmsC5cv1fuW5X8= +cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +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/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= +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/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= +cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= +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/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.4.0 h1:YBYU00SCDzZJdHqVc4I5d6lsklcYIjQZa1YmEz4jlSE= +cloud.google.com/go/iam v0.4.0/go.mod h1:cbaZxyScUhxl7ZAkNWiALgihfP75wS/fUsVNaa1r3vA= +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= +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 h1:wWRIaDURQA8xxHguFCshYepGlrWIrbBnAmc7wfg07qY= +cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= +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-beta.3 h1:TbZxSopz2LqjJ7aXYfn7nJSb8vNaBklW6BLpcei1qwM= +cosmossdk.io/math v1.0.0-beta.3/go.mod h1:3LYasri3Zna4XpbrTNdKsWmD5fHHkaNAod/mNT9XdE4= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= +filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +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.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= +github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= +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/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/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +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.3.3/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.5.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +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/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/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.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.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.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/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/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +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/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.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/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.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.40.45 h1:QN1nsY27ssD/JmW4s83qmSb+uL6DG4GmCDzjmJB4xUI= +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.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= +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/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/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/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/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.0.20201114000516-e9c7a5ac6401/go.mod h1:Sv4JPQ3/M+teHz9Bo5jBpkNcP0x6r7rdihlNL/7tTAs= +github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= +github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= +github.com/btcsuite/btcd/btcec/v2 v2.1.2/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= +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/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-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/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +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.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.1/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/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +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/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/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.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/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/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/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/coinbase/kryptology v1.8.0/go.mod h1:RYXOAPdzOGUe3qlSFkMGn58i3xUA8hmxYHksuq+8ciI= +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/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/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= +github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= +github.com/coreos/etcd v3.3.10+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-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +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.46.7 h1:dkGy9y2ewgqvawrUOuWb2oz3MdotVduokyreXC4bS0s= +github.com/cosmos/cosmos-sdk v0.46.7/go.mod h1:fqKqz39U5IlEFb4nbQ72951myztsDzFKKDtffYJ63nk= +github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 h1:iKclrn3YEOwk4jQHT2ulgzuXyxmzmPczUalMwW4XH9k= +github.com/cosmos/cosmos-sdk/ics23/go v0.8.0/go.mod h1:2a4dBq88TUoqoWAU5eu0lGvpFP3wWDPgdHPargtyw30= +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/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= +github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= +github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok= +github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= +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.12.1 h1:sMBxza5p/rNK/06nBSNmsI/WDqI0pVJFVNihy1Y984w= +github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= +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.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/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= +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-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 v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= +github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= +github.com/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/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.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/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 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/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +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/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +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.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +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/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 v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= +github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +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 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.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/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= +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-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/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +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-20190710130421-bcb5799ab5e5/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/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= +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/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +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/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 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/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/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-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/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-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-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +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-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-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +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= +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-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/gofrs/uuid v3.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/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/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.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= +github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/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/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/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +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/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +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= +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/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.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +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 h1:Q75Upo5UN4JbPFURXZ8nLKYUvF85dyFRop/vQ0Rv+64= +github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= +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 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= +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-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-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/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +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 h1:y8Yozv7SZtlU//QXbezB6QkpuE6jMD2/gfzk4AftXjs= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +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.6.0 h1:SXk3ABtQYDT/OH8jAyvEOQ58mgawq5C4o/4/89qN2ZU= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= +github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= +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/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +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.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/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +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.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/grpc-ecosystem/grpc-gateway/v2 v2.24.0 h1:TmHmbvxPmaegwhDubVz0lICL0J5Ka2vwTzhoePEXsGE= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0/go.mod h1:qztMSjm835F2bXf+5HKAPIS5qsmQDqZna/PgVt4rWtI= +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.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.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-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.6.1 h1:NASsgP4q6tL94WH6nJxKWj8As2H/2kop/bB1d8JMyRY= +github.com/hashicorp/go-getter v1.6.1/go.mod h1:IZCrswsZPeWv9IkVnLElzRU/gz/QPi6pZHn4tv6vbwA= +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-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-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.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.2.0/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.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/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +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/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= +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/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +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/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/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.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/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/jackpal/go-nat-pmp v1.0.2/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.12.1-0.20220721211354-060cc04fc18b h1:izTof8BKh/nE1wrKOrloNA5q4odOarjf+Xpe+4qow98= +github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= +github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +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/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 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/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/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/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= +github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +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.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= +github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= +github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/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/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.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +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/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/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/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/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= +github.com/lib/pq v1.10.6/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/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= +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.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= +github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +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/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= +github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= +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.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +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-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.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.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +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.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= +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/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= +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.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/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 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= +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.4.1/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/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +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-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 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/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/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/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/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +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/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/neilotoole/errgroup v0.1.6/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +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.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +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 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +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 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +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.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= +github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= +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/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.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +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/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= +github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= +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/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.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.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= +github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +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/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/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.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= +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/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 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.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.12.2 h1:51L9cDoUHVrXx4zWYlcLQIZ+d+VXHgqnYKkIuq4g/34= +github.com/prometheus/client_golang v1.12.2/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.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.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.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.34.0 h1:RBmGO9d/FVjqHT0yUGQwBJhkwKV+wPCn7KGpvfab0uE= +github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= +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.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.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/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= +github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= +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-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/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.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.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +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/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= +github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= +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/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +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/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +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/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+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.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.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +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/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.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.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= +github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +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.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 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.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= +github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= +github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= +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/handy v0.0.0-20190108123426-d5acb3125c2a/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.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 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/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +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/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/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.24 h1:879MKKJWYYPJEMMKME+DWUTY4V9f/FBpnZDI82ky+4k= +github.com/tendermint/tendermint v0.34.24/go.mod h1:rXVrl4OYzmIa1I91av3iLv2HS0fGSiucyW9J4aMTpKI= +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/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.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.4/go.mod h1:098SZ494YoMWPmMO6ct4dcFnqxwj9r/gF0Etp19pSNM= +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/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= +github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/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/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.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.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= +github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +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/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +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/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +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/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.1 h1:gQe66rtmyZ8VeGFcOpbuH3r7erYtNEAezCAYu8LdkJo= +github.com/zondax/hid v0.9.1/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= +github.com/zondax/ledger-go v0.14.0 h1:dlMC7aO8Wss1CxBq2I96kZ69Nh1ligzbs8UWOtq/AsA= +github.com/zondax/ledger-go v0.14.0/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +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.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 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= +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/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +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= +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-20190909091759-094676da4a83/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-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-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +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-20210711020723-a769d52b0f97/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.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= +golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= +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-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/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA= +golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= +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/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.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.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-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-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-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-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-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-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-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-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/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-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.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= +golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= +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-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.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= +golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +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/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.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= +golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +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-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-20190726091711-fc99dfbffb4e/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-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-20191026070338-33540a1f6037/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-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-20200122134326-e047566fdf82/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-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/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-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-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-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-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-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-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-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-20210908233432-aa78b53d3365/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-20211019181941-9d821ace8654/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-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-20220328115105-d36c6a25d886/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-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-20220517195934-5e4e11fc645e/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-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= +golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +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/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM= +golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8= +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/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= +golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +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-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/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-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-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-20200108203644-89082a384178/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-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-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-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/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.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +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.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +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/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.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +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.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +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.102.0 h1:JxJl2qQ85fRMPNvlZY/enexbxpCjLwGhZUtgfGeQ51I= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +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 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +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-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= +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-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-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-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-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-20210924002016-3dee208752a0/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-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-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-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-20221024183307-1bc688fe9f3e h1:S9GbmC1iCgvbLyAokVCwiO6tVIrU9Y7c5oMx1V/ki/Y= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +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.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.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= +google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= +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.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.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= +google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +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/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.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/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/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= +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= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= +nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= +nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +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/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +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= diff --git a/cardchain/proto/cardchain/cardchain/genesis.proto b/cardchain/proto/cardchain/cardchain/genesis.proto new file mode 100644 index 00000000..fc8e75ee --- /dev/null +++ b/cardchain/proto/cardchain/cardchain/genesis.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package cardchain.cardchain; + +import "gogoproto/gogo.proto"; +import "cardchain/cardchain/params.proto"; + +option go_package = "cardchain/x/cardchain/types"; + +// GenesisState defines the cardchain module's genesis state. +message GenesisState { + Params params = 1 [(gogoproto.nullable) = false]; +} diff --git a/proto/cardchain/featureflag/params.proto b/cardchain/proto/cardchain/cardchain/params.proto similarity index 56% rename from proto/cardchain/featureflag/params.proto rename to cardchain/proto/cardchain/cardchain/params.proto index 74e4ebdf..c6d825a4 100644 --- a/proto/cardchain/featureflag/params.proto +++ b/cardchain/proto/cardchain/cardchain/params.proto @@ -1,9 +1,9 @@ syntax = "proto3"; -package DecentralCardGame.cardchain.featureflag; +package cardchain.cardchain; import "gogoproto/gogo.proto"; -option go_package = "github.com/DecentralCardGame/Cardchain/x/featureflag/types"; +option go_package = "cardchain/x/cardchain/types"; // Params defines the parameters for the module. message Params { diff --git a/cardchain/proto/cardchain/cardchain/query.proto b/cardchain/proto/cardchain/cardchain/query.proto new file mode 100644 index 00000000..4afc70fc --- /dev/null +++ b/cardchain/proto/cardchain/cardchain/query.proto @@ -0,0 +1,26 @@ +syntax = "proto3"; +package cardchain.cardchain; + +import "gogoproto/gogo.proto"; +import "google/api/annotations.proto"; +import "cosmos/base/query/v1beta1/pagination.proto"; +import "cardchain/cardchain/params.proto"; + +option go_package = "cardchain/x/cardchain/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 = "/cardchain/cardchain/params"; + } +} + +// 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]; +} \ No newline at end of file diff --git a/cardchain/proto/cardchain/cardchain/tx.proto b/cardchain/proto/cardchain/cardchain/tx.proto new file mode 100644 index 00000000..fc2619b2 --- /dev/null +++ b/cardchain/proto/cardchain/cardchain/tx.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package cardchain.cardchain; + +option go_package = "cardchain/x/cardchain/types"; + +// Msg defines the Msg service. +service Msg {} \ No newline at end of file diff --git a/readme.md b/cardchain/readme.md similarity index 51% rename from readme.md rename to cardchain/readme.md index 6565592d..f5f56e25 100644 --- a/readme.md +++ b/cardchain/readme.md @@ -1,21 +1,21 @@ # cardchain -**cardchain** is a blockchain built using Cosmos SDK and Tendermint and created with [Starport](https://starport.com). +**cardchain** is a blockchain built using Cosmos SDK and Tendermint and created with [Ignite CLI](https://ignite.com/cli). ## Get started ``` -starport chain serve +ignite chain serve ``` `serve` command installs dependencies, builds, initializes, and starts your blockchain in development. ### Configure -Your blockchain in development can be configured with `config.yml`. To learn more, see the [Starport docs](https://docs.starport.com). +Your blockchain in development can be configured with `config.yml`. To learn more, see the [Ignite CLI docs](https://docs.ignite.com). ### Web Frontend -Starport has scaffolded a Vue.js-based web app in the `vue` directory. Run the following commands to install dependencies and start the app: +Ignite CLI has scaffolded a Vue.js-based web app in the `vue` directory. Run the following commands to install dependencies and start the app: ``` cd vue @@ -23,7 +23,7 @@ npm install npm run serve ``` -The frontend app is built using the `@starport/vue` and `@starport/vuex` packages. For details, see the [monorepo for Starport front-end development](https://github.com/tendermint/vue). +The frontend app is built using the `@starport/vue` and `@starport/vuex` packages. For details, see the [monorepo for Ignite front-end development](https://github.com/ignite/web). ## Release To release a new version of your blockchain, create and push a new tag with `v` prefix. A new draft release with the configured targets will be created. @@ -39,14 +39,14 @@ After a draft release is created, make your final changes from the release page To install the latest version of your blockchain node's binary, execute the following command on your machine: ``` -curl https://get.starport.com/DecentralCardGame/Cardchain@latest! | sudo bash +curl https://get.ignite.com/username/cardchain@latest! | sudo bash ``` -`DecentralCardGame/Cardchain` should match the `username` and `repo_name` of the Github repository to which the source code was pushed. Learn more about [the install process](https://github.com/allinbits/starport-installer). +`username/cardchain` should match the `username` and `repo_name` of the Github repository to which the source code was pushed. Learn more about [the install process](https://github.com/allinbits/starport-installer). ## Learn more -- [Starport](https://starport.com) -- [Tutorials](https://docs.starport.com/guide) -- [Starport docs](https://docs.starport.com) +- [Ignite CLI](https://ignite.com/cli) +- [Tutorials](https://docs.ignite.com/guide) +- [Ignite CLI docs](https://docs.ignite.com) - [Cosmos SDK docs](https://docs.cosmos.network) -- [Developer Chat](https://discord.gg/H6wGTY8sxw) +- [Developer Chat](https://discord.gg/ignite) diff --git a/testutil/keeper/featureflag.go b/cardchain/testutil/keeper/cardchain.go similarity index 85% rename from testutil/keeper/featureflag.go rename to cardchain/testutil/keeper/cardchain.go index f01def9e..dec8eec3 100644 --- a/testutil/keeper/featureflag.go +++ b/cardchain/testutil/keeper/cardchain.go @@ -3,8 +3,8 @@ package keeper import ( "testing" - "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" - "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "cardchain/x/cardchain/keeper" + "cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/store" @@ -17,7 +17,7 @@ import ( tmdb "github.com/tendermint/tm-db" ) -func FeatureflagKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { +func CardchainKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { storeKey := sdk.NewKVStoreKey(types.StoreKey) memStoreKey := storetypes.NewMemoryStoreKey(types.MemStoreKey) @@ -34,7 +34,7 @@ func FeatureflagKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { types.Amino, storeKey, memStoreKey, - "FeatureflagParams", + "CardchainParams", ) k := keeper.NewKeeper( cdc, diff --git a/testutil/network/network.go b/cardchain/testutil/network/network.go similarity index 86% rename from testutil/network/network.go rename to cardchain/testutil/network/network.go index e8e3ee3b..12045762 100644 --- a/testutil/network/network.go +++ b/cardchain/testutil/network/network.go @@ -5,20 +5,20 @@ import ( "testing" "time" + "cardchain/app" + "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" + pruningtypes "github.com/cosmos/cosmos-sdk/pruning/types" servertypes "github.com/cosmos/cosmos-sdk/server/types" "github.com/cosmos/cosmos-sdk/simapp" - storetypes "github.com/cosmos/cosmos-sdk/store/types" "github.com/cosmos/cosmos-sdk/testutil/network" sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/tendermint/spm/cosmoscmd" + "github.com/stretchr/testify/require" tmrand "github.com/tendermint/tendermint/libs/rand" tmdb "github.com/tendermint/tm-db" - - "github.com/DecentralCardGame/Cardchain/app" ) type ( @@ -38,7 +38,8 @@ func New(t *testing.T, configs ...network.Config) *network.Network { } else { cfg = configs[0] } - net := network.New(t, cfg) + net, err := network.New(t, t.TempDir(), cfg) + require.NoError(t, err) t.Cleanup(net.Cleanup) return net } @@ -46,7 +47,7 @@ func New(t *testing.T, configs ...network.Config) *network.Network { // DefaultConfig will initialize config for the network with custom application, // genesis and single validator. All other parameters are inherited from cosmos-sdk/testutil/network.DefaultConfig func DefaultConfig() network.Config { - encoding := cosmoscmd.MakeEncodingConfig(app.ModuleBasics) + encoding := app.MakeEncodingConfig() return network.Config{ Codec: encoding.Marshaler, TxConfig: encoding.TxConfig, @@ -58,7 +59,7 @@ func DefaultConfig() network.Config { val.Ctx.Logger, tmdb.NewMemDB(), nil, true, map[int64]bool{}, val.Ctx.Config.RootDir, 0, encoding, simapp.EmptyAppOptions{}, - baseapp.SetPruning(storetypes.NewPruningOptionsFromString(val.AppConfig.Pruning)), + baseapp.SetPruning(pruningtypes.NewPruningOptionsFromString(val.AppConfig.Pruning)), baseapp.SetMinGasPrices(val.AppConfig.MinGasPrices), ) }, @@ -71,7 +72,7 @@ func DefaultConfig() network.Config { AccountTokens: sdk.TokensFromConsensusPower(1000, sdk.DefaultPowerReduction), StakingTokens: sdk.TokensFromConsensusPower(500, sdk.DefaultPowerReduction), BondedTokens: sdk.TokensFromConsensusPower(100, sdk.DefaultPowerReduction), - PruningStrategy: storetypes.PruningOptionNothing, + PruningStrategy: pruningtypes.PruningOptionNothing, CleanupDir: true, SigningAlgo: string(hd.Secp256k1Type), KeyringOptions: []keyring.Option{}, diff --git a/testutil/nullify/nullify.go b/cardchain/testutil/nullify/nullify.go similarity index 100% rename from testutil/nullify/nullify.go rename to cardchain/testutil/nullify/nullify.go diff --git a/testutil/sample/sample.go b/cardchain/testutil/sample/sample.go similarity index 100% rename from testutil/sample/sample.go rename to cardchain/testutil/sample/sample.go diff --git a/cardchain/tools/tools.go b/cardchain/tools/tools.go new file mode 100644 index 00000000..8495e2dc --- /dev/null +++ b/cardchain/tools/tools.go @@ -0,0 +1,11 @@ +//go:build tools + +package tools + +import ( + _ "github.com/regen-network/cosmos-proto/protoc-gen-gocosmos" + _ "github.com/golang/protobuf/protoc-gen-go" + _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway" + _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger" + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2" +) diff --git a/x/featureflag/client/cli/query.go b/cardchain/x/cardchain/client/cli/query.go similarity index 80% rename from x/featureflag/client/cli/query.go rename to cardchain/x/cardchain/client/cli/query.go index a53f2b63..ff383906 100644 --- a/x/featureflag/client/cli/query.go +++ b/cardchain/x/cardchain/client/cli/query.go @@ -10,12 +10,12 @@ import ( // "github.com/cosmos/cosmos-sdk/client/flags" // sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "cardchain/x/cardchain/types" ) // GetQueryCmd returns the cli query commands for this module func GetQueryCmd(queryRoute string) *cobra.Command { - // Group featureflag queries under a subcommand + // Group cardchain queries under a subcommand cmd := &cobra.Command{ Use: types.ModuleName, Short: fmt.Sprintf("Querying commands for the %s module", types.ModuleName), @@ -25,10 +25,6 @@ func GetQueryCmd(queryRoute string) *cobra.Command { } cmd.AddCommand(CmdQueryParams()) - cmd.AddCommand(CmdQFlag()) - - cmd.AddCommand(CmdQFlags()) - // this line is used by starport scaffolding # 1 return cmd diff --git a/x/cardchain/client/cli/query_params.go b/cardchain/x/cardchain/client/cli/query_params.go similarity index 91% rename from x/cardchain/client/cli/query_params.go rename to cardchain/x/cardchain/client/cli/query_params.go index bba90233..66fc895c 100644 --- a/x/cardchain/client/cli/query_params.go +++ b/cardchain/x/cardchain/client/cli/query_params.go @@ -3,7 +3,7 @@ package cli import ( "context" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/spf13/cobra" diff --git a/x/featureflag/client/cli/tx.go b/cardchain/x/cardchain/client/cli/tx.go similarity index 92% rename from x/featureflag/client/cli/tx.go rename to cardchain/x/cardchain/client/cli/tx.go index 2be23c44..ddd6b084 100644 --- a/x/featureflag/client/cli/tx.go +++ b/cardchain/x/cardchain/client/cli/tx.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" // "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "cardchain/x/cardchain/types" ) var ( @@ -29,6 +29,7 @@ func GetTxCmd() *cobra.Command { SuggestionsMinimumDistance: 2, RunE: client.ValidateCmd, } + // this line is used by starport scaffolding # 1 return cmd diff --git a/x/featureflag/genesis.go b/cardchain/x/cardchain/genesis.go similarity index 60% rename from x/featureflag/genesis.go rename to cardchain/x/cardchain/genesis.go index c8a7a71c..31cb489a 100644 --- a/x/featureflag/genesis.go +++ b/cardchain/x/cardchain/genesis.go @@ -1,8 +1,8 @@ -package featureflag +package cardchain import ( - "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" - "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "cardchain/x/cardchain/keeper" + "cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -10,21 +10,12 @@ import ( 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 diff --git a/cardchain/x/cardchain/genesis_test.go b/cardchain/x/cardchain/genesis_test.go new file mode 100644 index 00000000..031be221 --- /dev/null +++ b/cardchain/x/cardchain/genesis_test.go @@ -0,0 +1,29 @@ +package cardchain_test + +import ( + "testing" + + keepertest "cardchain/testutil/keeper" + "cardchain/testutil/nullify" + "cardchain/x/cardchain" + "cardchain/x/cardchain/types" + "github.com/stretchr/testify/require" +) + +func TestGenesis(t *testing.T) { + genesisState := types.GenesisState{ + Params: types.DefaultParams(), + + // this line is used by starport scaffolding # genesis/test/state + } + + k, ctx := keepertest.CardchainKeeper(t) + cardchain.InitGenesis(ctx, *k, genesisState) + got := cardchain.ExportGenesis(ctx, *k) + require.NotNil(t, got) + + nullify.Fill(&genesisState) + nullify.Fill(got) + + // this line is used by starport scaffolding # genesis/test/assert +} diff --git a/cardchain/x/cardchain/keeper/keeper.go b/cardchain/x/cardchain/keeper/keeper.go new file mode 100644 index 00000000..644979b9 --- /dev/null +++ b/cardchain/x/cardchain/keeper/keeper.go @@ -0,0 +1,46 @@ +package keeper + +import ( + "fmt" + + "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" + + "cardchain/x/cardchain/types" +) + +type ( + Keeper struct { + cdc codec.BinaryCodec + storeKey storetypes.StoreKey + memKey storetypes.StoreKey + paramstore paramtypes.Subspace + } +) + +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, + } +} + +func (k Keeper) Logger(ctx sdk.Context) log.Logger { + return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) +} diff --git a/x/cardchain/keeper/msg_server.go b/cardchain/x/cardchain/keeper/msg_server.go similarity index 83% rename from x/cardchain/keeper/msg_server.go rename to cardchain/x/cardchain/keeper/msg_server.go index 2654fde2..80a30c48 100644 --- a/x/cardchain/keeper/msg_server.go +++ b/cardchain/x/cardchain/keeper/msg_server.go @@ -1,7 +1,7 @@ package keeper import ( - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "cardchain/x/cardchain/types" ) type msgServer struct { diff --git a/x/cardchain/keeper/msg_server_test.go b/cardchain/x/cardchain/keeper/msg_server_test.go similarity index 58% rename from x/cardchain/keeper/msg_server_test.go rename to cardchain/x/cardchain/keeper/msg_server_test.go index 988c7fc1..09d61a2a 100644 --- a/x/cardchain/keeper/msg_server_test.go +++ b/cardchain/x/cardchain/keeper/msg_server_test.go @@ -4,9 +4,9 @@ import ( "context" "testing" - keepertest "github.com/DecentralCardGame/Cardchain/testutil/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + keepertest "cardchain/testutil/keeper" + "cardchain/x/cardchain/keeper" + "cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) diff --git a/x/featureflag/keeper/params.go b/cardchain/x/cardchain/keeper/params.go similarity index 84% rename from x/featureflag/keeper/params.go rename to cardchain/x/cardchain/keeper/params.go index c088544b..4be06d62 100644 --- a/x/featureflag/keeper/params.go +++ b/cardchain/x/cardchain/keeper/params.go @@ -1,7 +1,7 @@ package keeper import ( - "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) diff --git a/x/cardchain/keeper/params_test.go b/cardchain/x/cardchain/keeper/params_test.go similarity index 67% rename from x/cardchain/keeper/params_test.go rename to cardchain/x/cardchain/keeper/params_test.go index 373495ed..a605af0b 100644 --- a/x/cardchain/keeper/params_test.go +++ b/cardchain/x/cardchain/keeper/params_test.go @@ -3,8 +3,8 @@ package keeper_test import ( "testing" - testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + testkeeper "cardchain/testutil/keeper" + "cardchain/x/cardchain/types" "github.com/stretchr/testify/require" ) diff --git a/x/cardchain/keeper/grpc_query.go b/cardchain/x/cardchain/keeper/query.go similarity index 51% rename from x/cardchain/keeper/grpc_query.go rename to cardchain/x/cardchain/keeper/query.go index a16cea65..5394fe4a 100644 --- a/x/cardchain/keeper/grpc_query.go +++ b/cardchain/x/cardchain/keeper/query.go @@ -1,7 +1,7 @@ package keeper import ( - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "cardchain/x/cardchain/types" ) var _ types.QueryServer = Keeper{} diff --git a/x/featureflag/keeper/query_params.go b/cardchain/x/cardchain/keeper/query_params.go similarity index 88% rename from x/featureflag/keeper/query_params.go rename to cardchain/x/cardchain/keeper/query_params.go index 899a8323..bd3ff441 100644 --- a/x/featureflag/keeper/query_params.go +++ b/cardchain/x/cardchain/keeper/query_params.go @@ -3,7 +3,7 @@ package keeper import ( "context" - "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" diff --git a/x/cardchain/keeper/grpc_query_params_test.go b/cardchain/x/cardchain/keeper/query_params_test.go similarity index 78% rename from x/cardchain/keeper/grpc_query_params_test.go rename to cardchain/x/cardchain/keeper/query_params_test.go index 27944655..200fd7f8 100644 --- a/x/cardchain/keeper/grpc_query_params_test.go +++ b/cardchain/x/cardchain/keeper/query_params_test.go @@ -3,8 +3,8 @@ package keeper_test import ( "testing" - testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + testkeeper "cardchain/testutil/keeper" + "cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/require" ) diff --git a/x/featureflag/module.go b/cardchain/x/cardchain/module.go similarity index 96% rename from x/featureflag/module.go rename to cardchain/x/cardchain/module.go index 3c05056c..205f836f 100644 --- a/x/featureflag/module.go +++ b/cardchain/x/cardchain/module.go @@ -1,10 +1,9 @@ -package featureflag +package cardchain import ( "context" "encoding/json" "fmt" - // this line is used by starport scaffolding # 1 "github.com/grpc-ecosystem/grpc-gateway/runtime" @@ -12,9 +11,9 @@ import ( 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" + "cardchain/x/cardchain/client/cli" + "cardchain/x/cardchain/keeper" + "cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" diff --git a/x/featureflag/module_simulation.go b/cardchain/x/cardchain/module_simulation.go similarity index 84% rename from x/featureflag/module_simulation.go rename to cardchain/x/cardchain/module_simulation.go index 6099047c..cdf65c5e 100644 --- a/x/featureflag/module_simulation.go +++ b/cardchain/x/cardchain/module_simulation.go @@ -1,11 +1,11 @@ -package featureflag +package cardchain import ( "math/rand" - "github.com/DecentralCardGame/Cardchain/testutil/sample" - featureflagsimulation "github.com/DecentralCardGame/Cardchain/x/featureflag/simulation" - "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "cardchain/testutil/sample" + cardchainsimulation "cardchain/x/cardchain/simulation" + "cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/baseapp" simappparams "github.com/cosmos/cosmos-sdk/simapp/params" sdk "github.com/cosmos/cosmos-sdk/types" @@ -17,7 +17,7 @@ import ( // avoid unused import issue var ( _ = sample.AccAddress - _ = featureflagsimulation.FindAccount + _ = cardchainsimulation.FindAccount _ = simappparams.StakePerAccount _ = simulation.MsgEntryKind _ = baseapp.Paramspace @@ -33,11 +33,11 @@ func (AppModule) GenerateGenesisState(simState *module.SimulationState) { for i, acc := range simState.Accounts { accs[i] = acc.Address.String() } - featureflagGenesis := types.GenesisState{ + cardchainGenesis := types.GenesisState{ Params: types.DefaultParams(), // this line is used by starport scaffolding # simapp/module/genesisState } - simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&featureflagGenesis) + simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&cardchainGenesis) } // ProposalContents doesn't return any content functions for governance proposals diff --git a/x/cardchain/simulation/helpers.go b/cardchain/x/cardchain/simulation/helpers.go similarity index 100% rename from x/cardchain/simulation/helpers.go rename to cardchain/x/cardchain/simulation/helpers.go diff --git a/x/featureflag/types/codec.go b/cardchain/x/cardchain/types/codec.go similarity index 72% rename from x/featureflag/types/codec.go rename to cardchain/x/cardchain/types/codec.go index d3fcaca1..844157a8 100644 --- a/x/featureflag/types/codec.go +++ b/cardchain/x/cardchain/types/codec.go @@ -3,24 +3,17 @@ 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) } diff --git a/cardchain/x/cardchain/types/errors.go b/cardchain/x/cardchain/types/errors.go new file mode 100644 index 00000000..e6204657 --- /dev/null +++ b/cardchain/x/cardchain/types/errors.go @@ -0,0 +1,12 @@ +package types + +// DONTCOVER + +import ( + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +// x/cardchain module sentinel errors +var ( + ErrSample = sdkerrors.Register(ModuleName, 1100, "sample error") +) diff --git a/x/featureflag/types/expected_keepers.go b/cardchain/x/cardchain/types/expected_keepers.go similarity index 100% rename from x/featureflag/types/expected_keepers.go rename to cardchain/x/cardchain/types/expected_keepers.go diff --git a/x/featureflag/types/genesis.go b/cardchain/x/cardchain/types/genesis.go similarity index 87% rename from x/featureflag/types/genesis.go rename to cardchain/x/cardchain/types/genesis.go index b07218ab..0af9b441 100644 --- a/x/featureflag/types/genesis.go +++ b/cardchain/x/cardchain/types/genesis.go @@ -1,5 +1,9 @@ package types +import ( +// this line is used by starport scaffolding # genesis/types/import +) + // DefaultIndex is the default global index const DefaultIndex uint64 = 1 @@ -14,8 +18,6 @@ func DefaultGenesis() *GenesisState { // 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/cardchain/x/cardchain/types/genesis.pb.go b/cardchain/x/cardchain/types/genesis.pb.go new file mode 100644 index 00000000..1acbcf96 --- /dev/null +++ b/cardchain/x/cardchain/types/genesis.pb.go @@ -0,0 +1,319 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/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 cardchain module's genesis state. +type GenesisState struct { + Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` +} + +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_c4e78aa6e403ddd4, []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 init() { + proto.RegisterType((*GenesisState)(nil), "cardchain.cardchain.GenesisState") +} + +func init() { proto.RegisterFile("cardchain/cardchain/genesis.proto", fileDescriptor_c4e78aa6e403ddd4) } + +var fileDescriptor_c4e78aa6e403ddd4 = []byte{ + // 169 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4c, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xd2, 0x53, 0xf3, 0x52, 0x8b, 0x33, 0x8b, 0xf5, + 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0x12, 0x7a, 0x70, 0x96, 0x94, 0x48, 0x7a, 0x7e, + 0x7a, 0x3e, 0x58, 0x5e, 0x1f, 0xc4, 0x82, 0x28, 0x95, 0x52, 0xc0, 0x66, 0x5a, 0x41, 0x62, 0x51, + 0x62, 0x2e, 0xd4, 0x30, 0x25, 0x4f, 0x2e, 0x1e, 0x77, 0x88, 0xe9, 0xc1, 0x25, 0x89, 0x25, 0xa9, + 0x42, 0x96, 0x5c, 0x6c, 0x10, 0x79, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x6e, 0x23, 0x69, 0x3d, 0x2c, + 0xb6, 0xe9, 0x05, 0x80, 0x95, 0x38, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x10, 0x04, 0xd5, 0xe0, 0x64, + 0x7a, 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, 0xd2, 0x08, 0xcb, 0x2b, 0x90, + 0x1c, 0x52, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, 0x06, 0x76, 0x88, 0x31, 0x20, 0x00, 0x00, 0xff, + 0xff, 0x34, 0x24, 0xcb, 0xd6, 0xfa, 0x00, 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 + { + 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)) + 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 + 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/cardchain/types/genesis_test.go b/cardchain/x/cardchain/types/genesis_test.go similarity index 66% rename from x/cardchain/types/genesis_test.go rename to cardchain/x/cardchain/types/genesis_test.go index 9bddfff5..bbb35c40 100644 --- a/x/cardchain/types/genesis_test.go +++ b/cardchain/x/cardchain/types/genesis_test.go @@ -3,18 +3,10 @@ package types_test import ( "testing" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "cardchain/x/cardchain/types" "github.com/stretchr/testify/require" ) -var someMatch = types.Match{ - 100, - "cc1cyezs5v34utk48l3mgm8v8ll2d286xhs7apu0d", - "cc1cyezs5v34utk48l3mgm8v8ll2d286xhs7apu0d", - "cc1cyezs5v34utk48l3mgm8v8ll2d286xhs7apu0d", - types.Outcome_AWon, -} - func TestGenesisState_Validate(t *testing.T) { for _, tc := range []struct { desc string @@ -27,13 +19,9 @@ func TestGenesisState_Validate(t *testing.T) { valid: true, }, { - desc: "valid genesis state", + desc: "valid genesis state", genState: &types.GenesisState{ - Matches: []*types.Match{ - &someMatch, - &someMatch, - }, // this line is used by starport scaffolding # types/genesis/validField }, valid: true, diff --git a/x/featureflag/types/keys.go b/cardchain/x/cardchain/types/keys.go similarity index 84% rename from x/featureflag/types/keys.go rename to cardchain/x/cardchain/types/keys.go index cf1e18ce..12b299ec 100644 --- a/x/featureflag/types/keys.go +++ b/cardchain/x/cardchain/types/keys.go @@ -2,7 +2,7 @@ package types const ( // ModuleName defines the module name - ModuleName = "featureflag" + ModuleName = "cardchain" // StoreKey defines the primary module store key StoreKey = ModuleName @@ -11,7 +11,7 @@ const ( RouterKey = ModuleName // MemStoreKey defines the in-memory store key - MemStoreKey = "mem_featureflag" + MemStoreKey = "mem_cardchain" ) func KeyPrefix(p string) []byte { diff --git a/x/featureflag/types/params.go b/cardchain/x/cardchain/types/params.go similarity index 100% rename from x/featureflag/types/params.go rename to cardchain/x/cardchain/types/params.go diff --git a/x/featureflag/types/params.pb.go b/cardchain/x/cardchain/types/params.pb.go similarity index 79% rename from x/featureflag/types/params.pb.go rename to cardchain/x/cardchain/types/params.pb.go index 761b8a2a..5b6f4620 100644 --- a/x/featureflag/types/params.pb.go +++ b/cardchain/x/cardchain/types/params.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/featureflag/params.proto +// source: cardchain/cardchain/params.proto package types @@ -30,7 +30,7 @@ type Params struct { func (m *Params) Reset() { *m = Params{} } func (*Params) ProtoMessage() {} func (*Params) Descriptor() ([]byte, []int) { - return fileDescriptor_c9ce917ea43e1573, []int{0} + return fileDescriptor_8843e481ee664a23, []int{0} } func (m *Params) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -60,26 +60,21 @@ func (m *Params) XXX_DiscardUnknown() { var xxx_messageInfo_Params proto.InternalMessageInfo func init() { - proto.RegisterType((*Params)(nil), "DecentralCardGame.cardchain.featureflag.Params") + proto.RegisterType((*Params)(nil), "cardchain.cardchain.Params") } -func init() { - proto.RegisterFile("cardchain/featureflag/params.proto", fileDescriptor_c9ce917ea43e1573) -} +func init() { proto.RegisterFile("cardchain/cardchain/params.proto", fileDescriptor_8843e481ee664a23) } -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, +var fileDescriptor_8843e481ee664a23 = []byte{ + // 127 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, 0x47, 0xb0, 0x0a, 0x12, 0x8b, 0x12, 0x73, 0x8b, 0xf5, 0x0a, + 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xe2, 0x7a, 0x70, 0x96, 0x94, 0x48, 0x7a, 0x7e, 0x7a, + 0x3e, 0x58, 0x5e, 0x1f, 0xc4, 0x82, 0x28, 0x55, 0xe2, 0xe3, 0x62, 0x0b, 0x00, 0x6b, 0xb5, 0x62, + 0x99, 0xb1, 0x40, 0x9e, 0xc1, 0xc9, 0xf4, 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, 0xa4, 0x11, 0x96, 0x55, 0x20, 0x59, 0x5c, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, 0x06, 0x36, + 0xcd, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xf0, 0x3c, 0x14, 0x02, 0x9c, 0x00, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { diff --git a/cardchain/x/cardchain/types/query.pb.go b/cardchain/x/cardchain/types/query.pb.go new file mode 100644 index 00000000..8ed23879 --- /dev/null +++ b/cardchain/x/cardchain/types/query.pb.go @@ -0,0 +1,536 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/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_e1bdbfeb9d7f6cfd, []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_e1bdbfeb9d7f6cfd, []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{} +} + +func init() { + proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") +} + +func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } + +var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ + // 282 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x0a, 0x4b, 0x53, 0x8b, 0x2a, 0xf5, 0x0a, 0x8a, + 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xc2, 0x7a, 0x70, 0x96, 0x94, 0x48, 0x7a, 0x7e, 0x7a, 0x3e, + 0x58, 0x5e, 0x1f, 0xc4, 0x82, 0x28, 0x95, 0x92, 0x49, 0xcf, 0xcf, 0x4f, 0xcf, 0x49, 0xd5, 0x4f, + 0x2c, 0xc8, 0xd4, 0x4f, 0xcc, 0xcb, 0xcb, 0x2f, 0x49, 0x2c, 0xc9, 0xcc, 0xcf, 0x2b, 0x86, 0xca, + 0x6a, 0x25, 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, 0x27, 0x25, 0x16, 0xa7, 0x42, 0x6c, 0xd0, 0x2f, + 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x2f, 0x48, 0x4c, 0xcf, 0xcc, 0x03, 0x2b, 0x86, 0xaa, + 0x55, 0xc0, 0xe6, 0xaa, 0x82, 0xc4, 0xa2, 0xc4, 0x5c, 0xa8, 0x69, 0x4a, 0x22, 0x5c, 0x42, 0x81, + 0x20, 0x33, 0x02, 0xc0, 0x82, 0x41, 0xa9, 0x85, 0xa5, 0xa9, 0xc5, 0x25, 0x4a, 0x01, 0x5c, 0xc2, + 0x28, 0xa2, 0xc5, 0x05, 0xf9, 0x79, 0xc5, 0xa9, 0x42, 0x96, 0x5c, 0x6c, 0x10, 0xcd, 0x12, 0x8c, + 0x0a, 0x8c, 0x1a, 0xdc, 0x46, 0xd2, 0x7a, 0x58, 0x3c, 0xa5, 0x07, 0xd1, 0xe4, 0xc4, 0x72, 0xe2, + 0x9e, 0x3c, 0x43, 0x10, 0x54, 0x83, 0x51, 0x17, 0x23, 0x17, 0x2b, 0xd8, 0x48, 0xa1, 0x06, 0x46, + 0x2e, 0x36, 0x88, 0x12, 0x21, 0x75, 0xac, 0xfa, 0x31, 0xdd, 0x23, 0xa5, 0x41, 0x58, 0x21, 0xc4, + 0x89, 0x4a, 0xca, 0x4d, 0x97, 0x9f, 0x4c, 0x66, 0x92, 0x15, 0x92, 0xd6, 0xc7, 0xed, 0x75, 0x27, + 0xd3, 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, 0x92, 0x46, 0xa8, 0xad, 0x40, + 0xd2, 0x57, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, 0x06, 0x0e, 0x32, 0x63, 0x40, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x9f, 0x9b, 0xed, 0xb4, 0xec, 0x01, 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) +} + +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, "/cardchain.cardchain.Query/Params", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// QueryServer is the server API for Query service. +type QueryServer interface { + // Parameters queries the parameters of the module. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, 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 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: "/cardchain.cardchain.Query/Params", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Query_serviceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.cardchain.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/cardchain/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 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 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 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/cardchain/x/cardchain/types/query.pb.gw.go b/cardchain/x/cardchain/types/query.pb.gw.go new file mode 100644 index 00000000..f0e7c8f1 --- /dev/null +++ b/cardchain/x/cardchain/types/query.pb.gw.go @@ -0,0 +1,153 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: cardchain/cardchain/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 + +} + +// 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()...) + + }) + + 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()...) + + }) + + return nil +} + +var ( + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 0, 2, 1}, []string{"cardchain", "params"}, "", runtime.AssumeColonVerbOpt(true))) +) + +var ( + forward_Query_Params_0 = runtime.ForwardResponseMessage +) diff --git a/x/featureflag/types/tx.pb.go b/cardchain/x/cardchain/types/tx.pb.go similarity index 61% rename from x/featureflag/types/tx.pb.go rename to cardchain/x/cardchain/types/tx.pb.go index d585b9a4..babd459a 100644 --- a/x/featureflag/types/tx.pb.go +++ b/cardchain/x/cardchain/types/tx.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/featureflag/tx.proto +// source: cardchain/cardchain/tx.proto package types @@ -23,20 +23,17 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -func init() { proto.RegisterFile("cardchain/featureflag/tx.proto", fileDescriptor_b6585a6310f99dc0) } +func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } -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, +var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ + // 103 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x4a, 0x2a, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, + 0x85, 0x84, 0xe1, 0x62, 0x7a, 0x70, 0x96, 0x11, 0x2b, 0x17, 0xb3, 0x6f, 0x71, 0xba, 0x93, 0xe9, + 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, + 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x49, 0x23, 0x4c, 0xaa, 0x40, 0x36, + 0xb5, 0xb2, 0x20, 0xb5, 0x38, 0x89, 0x0d, 0x6c, 0xb2, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x25, + 0xeb, 0x23, 0xea, 0x79, 0x00, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -74,9 +71,9 @@ func RegisterMsgServer(s grpc1.Server, srv MsgServer) { } var _Msg_serviceDesc = grpc.ServiceDesc{ - ServiceName: "DecentralCardGame.cardchain.featureflag.Msg", + ServiceName: "cardchain.cardchain.Msg", HandlerType: (*MsgServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{}, - Metadata: "cardchain/featureflag/tx.proto", + Metadata: "cardchain/cardchain/tx.proto", } diff --git a/x/featureflag/types/types.go b/cardchain/x/cardchain/types/types.go similarity index 100% rename from x/featureflag/types/types.go rename to cardchain/x/cardchain/types/types.go diff --git a/config.yml b/config.yml deleted file mode 100644 index f10a4c0b..00000000 --- a/config.yml +++ /dev/null @@ -1,107 +0,0 @@ -version: 1 -build: - main: cmd/Cardchaind/ - binary: "cardchaind" - proto: - path: proto - third_party_paths: - - third_party/proto - - proto_vendor -accounts: - - name: alice - coins: - - 1000000000000ucredits - - 1000000000ubpf - - name: bob - coins: - - 10000000000000ucredits - - 10000000000ubpf -faucet: - name: bob - coins: - - 5000000ucredits - - 5000000ubpf - coins_max: - - 5000000ucredits - - 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: - app_state: - bank: - denom_metadata: - - base: ubpf - denom_units: - - aliases: [microbpf] - denom: ubpf - exponent: 0 - - aliases: [millibpf] - denom: mbpf - exponent: 3 - - aliases: [] - denom: bpf - exponent: 6 - description: The native staking token of the CrowdControlNetwork. - display: bpf - name: Burning Pitchfork - symbol: BPF - cardchain: - params: - airDropMaxBlockHeight: "10000000" - crisis: - constant_fee: - amount: "1000" - denom: ubpf - distribution: - params: - community_tax: "0.020000000000000000" - gov: - deposit_params: - max_deposit_period: 172800s - min_deposit: - - amount: "10000000" - denom: ubpf - tally_params: - quorum: "0.100000000000000000" - threshold: "0.500000000000000000" - veto_threshold: "0.334000000000000000" - voting_params: - voting_period: 300s - mint: - params: - mint_denom: ubpf - slashing: - params: - min_signed_per_window: "0.05" - signed_blocks_window: "30000" - slash_fraction_downtime: "0" - staking: - params: - bond_denom: ubpf - chain_id: carddevnet-12 -validators: - - name: alice - bonded: 5000000ubpf - app: - api: - address: 0.0.0.0:1317 - grpc: - address: :9090 - config: - consensus: - create_empty_blocks: "false" - timeout_commit: 5s - moniker: yesyoulikeCC - p2p: - laddr: 0.0.0.0:26656 - rpc: - laddr: 0.0.0.0:26657 - pprof_laddr: :6061 diff --git a/config/nginx-test.conf b/config/nginx-test.conf deleted file mode 100644 index 61a97ae6..00000000 --- a/config/nginx-test.conf +++ /dev/null @@ -1,137 +0,0 @@ - -server { - listen 443 http2; - listen [::]:443 http2; - server_name cardchain.crowdcontrol.network; - #ssl_certificate /etc/letsencrypt/live/cardchain.crowdcontrol.network/fullchain.pem; - #ssl_certificate_key /etc/letsencrypt/live/cardchain.crowdcontrol.network/privkey.pem; - - # Improve HTTPS performance with session resumption - ssl_session_cache shared:SSL:10m; - ssl_session_timeout 10m; - - # Enable server-side protection against BEAST attacks - ssl_protocols TLSv1.2; - ssl_prefer_server_ciphers on; - ssl_ciphers "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384"; - - # RFC-7919 recommended: https://wiki.mozilla.org/Security/Server_Side_TLS#ffdhe4096 - ssl_dhparam /etc/nginx/ssl/dhparam-4096.pem; - ssl_ecdh_curve secp521r1:secp384r1; - - # Aditional Security Headers - # ref: https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; - - # ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options - add_header X-Frame-Options DENY always; - - # ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options - add_header X-Content-Type-Options nosniff always; - - # ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection - add_header X-Xss-Protection "1; mode=block" always; - - # Enable OCSP stapling - # ref. http://blog.mozilla.org/security/2013/07/29/ocsp-stapling-in-firefox - ssl_stapling on; - ssl_stapling_verify on; - ssl_trusted_certificate /etc/letsencrypt/live/cardchain.crowdcontrol.network/fullchain.pem; - #resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] valid=300s; # Cloudflare - resolver 127.0.0.11; - resolver_timeout 5s; - - location ~ ^/cosmos(/.*)?$ { - # 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:1317$1$is_args$args; - } - - location ~ ^/grpc(/.*)?$ { - grpc_pass grpcs://blockchain:9090$1$is_args$args; - } - - location ~ ^/grpc2(/.*)?$ { - grpc_pass grpcs://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; - 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_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - 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_set_header X-forwarded-proto $scheme; - proxy_intercept_errors on; - proxy_pass http://blockchain:26657$1$is_args$args; - } - - location ~ ^/faucet(/.*)?$ { - # 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-Methods' '*' always; - add_header 'Access-Control-Allow-Headers' '*' 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:4500$1$is_args$args; - } - - location /files/ { - add_header 'Access-Control-Allow-Origin' '*' always; - add_header 'Access-Control-Allow-Credentials' 'true' always; - add_header 'Access-Control-Allow-Methods' '*' always; - add_header 'Access-Control-Allow-Headers' '*' always; - add_header 'Access-Control-Max-Age' 1728000 always; - - root /; - } - - location /goat/ { - add_header 'Access-Control-Allow-Origin' '*' always; - add_header 'Access-Control-Allow-Credentials' 'true' always; - add_header 'Access-Control-Allow-Methods' '*' always; - add_header 'Access-Control-Allow-Headers' '*' always; - add_header 'Access-Control-Max-Age' 1728000 always; - - 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://goat:31337; - } -} diff --git a/config/nginx.conf b/config/nginx.conf deleted file mode 100644 index 2d813cc8..00000000 --- a/config/nginx.conf +++ /dev/null @@ -1,139 +0,0 @@ - -server { - listen 443 ssl http2; - listen [::]:443 ssl http2; - server_name cardchain.crowdcontrol.network; - ssl_certificate /etc/letsencrypt/live/cardchain.crowdcontrol.network/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/cardchain.crowdcontrol.network/privkey.pem; - - # Improve HTTPS performance with session resumption - ssl_session_cache shared:SSL:10m; - ssl_session_timeout 10m; - - # Enable server-side protection against BEAST attacks - ssl_protocols TLSv1.2; - ssl_prefer_server_ciphers on; - ssl_ciphers "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384"; - - # RFC-7919 recommended: https://wiki.mozilla.org/Security/Server_Side_TLS#ffdhe4096 - ssl_dhparam /etc/nginx/ssl/dhparam-4096.pem; - ssl_ecdh_curve secp521r1:secp384r1; - - # Aditional Security Headers - # ref: https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; - - # ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options - add_header X-Frame-Options DENY always; - - # ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options - add_header X-Content-Type-Options nosniff always; - - # ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection - add_header X-Xss-Protection "1; mode=block" always; - - # Enable OCSP stapling - # ref. http://blog.mozilla.org/security/2013/07/29/ocsp-stapling-in-firefox - ssl_stapling on; - ssl_stapling_verify on; - ssl_trusted_certificate /etc/letsencrypt/live/cardchain.crowdcontrol.network/fullchain.pem; - #resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] valid=300s; # Cloudflare - resolver 127.0.0.11; - resolver_timeout 5s; - - location ~ ^/cosmos(/.*)?$ { - # 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:1317$1$is_args$args; - } - - location ~ ^/grpc(/.*)?$ { - grpc_pass grpcs://blockchain:9090$1$is_args$args; - } - - location ~ ^/grpc2(/.*)?$ { - grpc_pass grpcs://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; - 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_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - 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_set_header X-forwarded-proto $scheme; - proxy_intercept_errors on; - proxy_pass http://blockchain:26657$1$is_args$args; - } - - location ~ ^/faucet(/.*)?$ { - # 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-Methods' '*' always; - add_header 'Access-Control-Allow-Headers' '*' 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:4500$1$is_args$args; - } - - location /files/ { - add_header 'Access-Control-Allow-Origin' '*' always; - add_header 'Access-Control-Allow-Credentials' 'true' always; - add_header 'Access-Control-Allow-Methods' '*' always; - add_header 'Access-Control-Allow-Headers' '*' always; - add_header 'Access-Control-Max-Age' 1728000 always; - - root /; - } - - location /goat/ { - rewrite ^/goat/(.*)$ /$1 break; - - add_header 'Access-Control-Allow-Origin' '*' always; - add_header 'Access-Control-Allow-Credentials' 'true' always; - add_header 'Access-Control-Allow-Methods' '*' always; - add_header 'Access-Control-Allow-Headers' '*' always; - add_header 'Access-Control-Max-Age' 1728000 always; - - 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://goat:31337; - } -} diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 6c82f9c8..00000000 --- a/docker-compose.yml +++ /dev/null @@ -1,39 +0,0 @@ -version: '3' -services: - - blockchain: - build: . - command: ./docker-run.sh - volumes: - - ./backup:/backup - - ./docker-run.sh:/home/tendermint/docker-run.sh - ports: - - 26657:26657 - - 26658:26658 - - 1317:1317 - - 9090:9090 - - 9091:9091 - - 4500:4500 - - goat: - build: ./goat/ - ports: - - 31337:31337 - - herd: - image: nginx:latest - container_name: herd - volumes: - - /etc/letsencrypt/live/cardchain.crowdcontrol.network/fullchain.pem:/etc/letsencrypt/live/cardchain.crowdcontrol.network/fullchain.pem - - /etc/letsencrypt/live/cardchain.crowdcontrol.network/privkey.pem:/etc/letsencrypt/live/cardchain.crowdcontrol.network/privkey.pem - - ./config/nginx.conf:/etc/nginx/conf.d/default.conf - - /etc/nginx/ssl/dhparam-4096.pem:/etc/nginx/ssl/dhparam-4096.pem - - ./files/:/files/ - ports: - - 80:80 - - 81:81 - - 443:443 - command: /bin/bash -c "exec nginx -g 'daemon off;'" - depends_on: - - blockchain - - goat diff --git a/docker-run.sh b/docker-run.sh deleted file mode 100755 index 8985acce..00000000 --- a/docker-run.sh +++ /dev/null @@ -1,113 +0,0 @@ -#!/bin/bash - -#set -eo pipefail - -echo -e "\033[0;32mfasten your seatbelts\033[0m" -FAUCET_SECRET_KEY="0x6F1f5bd93f3D59d6eed1d5ec40E29C1821029759" -USE_SNAP=false - -if [ -z "$FAUCET_SECRET_KEY" ] -then - echo -e "\033[0;31mNO SECRET KEY FOR FAUCET CONFIGURED! \033[0m" - exit 1 -fi - -#we can derive the peer id from the rpc -mapfile -t peers < <( - jq -r '.peers[]' peer_nodes.json -) - -for item in "${peers[@]}"; do - echo "peers: ${item}" -done - -mapfile -t rpcs < <( - jq -r '.rpcs[]' peer_nodes.json -) - -echo "peers" $peers - -for i in "${!rpcs[@]}"; do - if curl --output /dev/null --silent --head --fail --connect-timeout 5 ${rpcs[$i]}; then - echo "URL exists: ${rpcs[$i]}" - PEER_ID=$(curl -s ${rpcs[$i]}"/status" | jq -r .result.node_info.id) - - PEERS=$PEER_ID"@"${peers[$i]} - break - else - echo "not reachable $i" - fi -done -if [ -z "$PEERS" ] -then - echo -e "\033[0;31mNo PEERS available\033[0m" - exit -fi - -SEEDS="" -echo "peers is:" $PEERS -sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.cardchaind/config/config.toml - -if [ -z $USE_SNAP ] -then - - mapfile -t snap_rpcs < <( - jq -r '.snap_rpcs[]' peer_nodes.json - ) - - 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" - exit - fi - - 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/.cardchaind/config/config.toml ; \ - -fi - -# 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/.cardchaind/config/config.toml -sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.cardchaind/config/app.toml -sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.cardchaind/config/app.toml -sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.cardchaind/config/app.toml -sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.cardchaind/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 - -echo -e "\033[0;32mstarting Blockchain\033[0m" -cardchaind start - -# 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 deleted file mode 100644 index 8b0b3d0c..00000000 --- a/docker-stop-and-export.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/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 - -docker-compose exec blockchain pkill cardchaind - -while $(docker-compose exec blockchain pkill -0 cardchaind); do - sleep 1 -done - -echo "writing backup" - -# no longer necessary -#sh ./scripts/backupGenesis.sh diff --git a/docs/docs.go b/docs/docs.go deleted file mode 100644 index 1167d565..00000000 --- a/docs/docs.go +++ /dev/null @@ -1,6 +0,0 @@ -package docs - -import "embed" - -//go:embed static -var Docs embed.FS diff --git a/go.sum b/go.sum deleted file mode 100644 index dd0cb740..00000000 --- a/go.sum +++ /dev/null @@ -1,3962 +0,0 @@ -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= -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.60.0/go.mod h1:yw2G51M9IfRboUH61Us8GqCeF1PzPblB823Mn2q2eAU= -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.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.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= -cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= -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/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/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= -cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= -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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= -cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= -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/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/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/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/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/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/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/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/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/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/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= -cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= -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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= -cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= -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/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/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/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/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/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/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= -cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= -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/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= -cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= -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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/spanner v1.7.0/go.mod h1:sd3K2gZ9Fd0vMPLXzeCrF6fq4i63Q7aTLW/lBIfBkIk= -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/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.38.0 h1:Az68ZRGlnNTpIBbLjSMIV2BDcwwXYlRlQzis0llkpJg= -cloud.google.com/go/storage v1.38.0/go.mod h1:tlUADB0mAb9BgYls9lq+8MGkfzOXuLrnHXlpHmvFJoY= -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/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/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= -cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= -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/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/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/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= -cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= -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/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/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/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/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/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/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= -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/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/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 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/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/DataDog/zstd v1.5.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= -github.com/DecentralCardGame/cardobject v0.5.3 h1:Ama1q0ij7iFV6ZcOtaH3n4DbmmPojlC6QR7G+Md5sPE= -github.com/DecentralCardGame/cardobject v0.5.3/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.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.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/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/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/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/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.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/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/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/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/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.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/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/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/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/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/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.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.46.15 h1:50QSEO4ZU9QUHJ8Ul9N/o/hn/IE5dL7DwL/OY1wcoMg= -github.com/cosmos/cosmos-sdk v0.46.15/go.mod h1:9MRixWsgoJ2UmVsCRRePtENFPP3cM+gTC5azEpxgllo= -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/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.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/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-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/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/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/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-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/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/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/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/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/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/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= -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/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= -github.com/felixge/httpsnoop v1.0.4/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/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/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/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/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/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -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/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-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= -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.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= -github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= -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= -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 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= -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/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= -github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -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/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/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= -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/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/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/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= -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-20200507031123-427632fa3b1c/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-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.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= -github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= -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/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.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.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= -github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -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.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA= -github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= -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/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= -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/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.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.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= -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/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-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.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/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/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/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/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/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/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/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.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= -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/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/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -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/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/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/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/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/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/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/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/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.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.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.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/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.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/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.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/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.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/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/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-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/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/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/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.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/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -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/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.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/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.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/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/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/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -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.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/go.mod h1:DC6/m53jtQzr/NFmMNEu0rxf18/ktVoVtMrnDD5pN+U= -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/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/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= -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/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/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/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/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/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/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= -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.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/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= -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/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -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 v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= -go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= -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/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= -go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= -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 v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw= -go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= -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/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= -go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= -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-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-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.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= -golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= -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= -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/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= -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/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.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -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= -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-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= -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-20200602114024-627f9648deb9/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-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-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.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= -golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= -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= -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-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.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= -golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= -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= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/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/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.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -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= -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-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= -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-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-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.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.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -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-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.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM= -golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8= -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= -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/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.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= -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.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= -golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= -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= -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-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= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -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= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-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= -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-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= -golang.org/x/tools v0.0.0-20200624225443-88f3c62a19ff/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200625211823-6506e20df31f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200626171337-aa94e735be7f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200630154851-b2d8b0336632/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200706234117-b22de6825cf7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/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-20200812195022-5ae4c3c160a0/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-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= -golang.org/x/tools v0.0.0-20201114224030-61ea331ec02b/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201118003311-bd56c0adb394/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-20201230224404-63754364767c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210101214203-2dba1e4ea05c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -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.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -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/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= -golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -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= -google.golang.org/api v0.10.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.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= -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.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.169.0 h1:QwWPy71FgMWqJN/l6jVlFHUa29a7dcUy02I8o799nPY= -google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= -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/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= -google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/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-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= -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-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= -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-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-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-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-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= -google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= -google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697 h1:pgr/4QbFyktUv9CtQ/Fq4gzEE6/Xs7iCXbktaGzLHbQ= -google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697/go.mod h1:+D9ySVjN8nY8YCVjc5O7PZDIdZporIDY3KaGfJunh88= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 h1:LWZqQOEjDyONlF1H6afSWpAL/znlREo2tHfLoe+8LMA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= -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.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= -google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= -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/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -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.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= -google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -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/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.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= -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.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= -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= -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= -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/goat/Dockerfile b/goat/Dockerfile deleted file mode 100644 index 4134d69b..00000000 --- a/goat/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -# Use the official Node.js image as the base image -FROM node:16.14.0-alpine - -# Set the working directory -WORKDIR /usr/src/app - -# Copy package.json and package-lock.json -COPY package*.json ./ - -# Install dependencies -RUN npm install - -# Copy the application files -COPY . . - -# Expose the port -EXPOSE 31337 - -# Start the application -CMD [ "node", "app.js" ] \ No newline at end of file diff --git a/goat/app.js b/goat/app.js deleted file mode 100644 index ae6f43f5..00000000 --- a/goat/app.js +++ /dev/null @@ -1,59 +0,0 @@ -const express = require('express'); -const axios = require('axios'); -const querystring = require('node:querystring'); - -const app = express(); -const PORT = process.env.PORT || 31337; - -const fetchUser = code => { - let query = querystring.stringify({ - 'client_id': '1242405621815316502', - 'client_secret': 'SdY9h2ilQb42AKV3dL8pscd9vcvUc0Bo', - 'grant_type': 'authorization_code', - 'code': code, - 'redirect_uri': 'https://crowdcontrol.network/#/discord', - 'scope': 'identify' - }) - let headers = { - 'Content-Type': 'application/x-www-form-urlencoded' - } - - return axios.post('https://discordapp.com/api/oauth2/token', query, headers) - .then(token => { - return axios.get(`https://discordapp.com/api/users/@me`, { - headers: { - "Authorization": "Bearer " + token.data.access_token, - } - }) - }) - -} - -app.get('/', (req, res) => { - if (!req.query.code) { - throw new Error('No code provided - you must provide a token code from Discord') - } - - console.log("code", req.query.code) - - return fetchUser(req.query.code) - .then(user => { - console.log("response", user.data) - console.log("status", user.status, user.statusText); - res.send(user.data); - }) - .catch(err => { - console.error(err.response) - res.status(500).send(err.message) - }) - -}); - -app.listen(PORT, () => { - console.log(`Server running on port ${PORT}`); -}); - - - - - diff --git a/goat/package-lock.json b/goat/package-lock.json deleted file mode 100644 index bba86d09..00000000 --- a/goat/package-lock.json +++ /dev/null @@ -1,813 +0,0 @@ -{ - "name": "goat", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "goat", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "axios": "^1.7.2", - "express": "^4.19.2", - "query-string": "^9.0.0" - } - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/axios": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", - "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.4.1.tgz", - "integrity": "sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==", - "engines": { - "node": ">=14.16" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.6.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/filter-obj": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", - "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/query-string": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-9.0.0.tgz", - "integrity": "sha512-4EWwcRGsO2H+yzq6ddHcVqkCQ2EFUSfDMEjF8ryp8ReymyZhIuaFRGLomeOQLkrzacMHoyky2HW0Qe30UbzkKw==", - "dependencies": { - "decode-uri-component": "^0.4.1", - "filter-obj": "^5.1.0", - "split-on-first": "^3.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/split-on-first": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-3.0.0.tgz", - "integrity": "sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - } - } -} diff --git a/goat/package.json b/goat/package.json deleted file mode 100644 index 5fc45c15..00000000 --- a/goat/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "goat", - "version": "1.0.0", - "description": "", - "main": "app.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "axios": "^1.7.2", - "express": "^4.19.2" - } -} diff --git a/ignite b/ignite deleted file mode 100755 index 678688eb..00000000 --- a/ignite +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash - -# Ingite wrapper to ensure ignite version compatibility -# 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.26.2" - - -if [[ $1 == "--path" ]]; then - path=$2 - - if ! [ -f $path ]; then - echo "[Wrapper] Path '$path' was not found" - exit 1 - fi - - args=${@:3} -else - path=$(which ignite) - if [[ $? != 0 ]]; then - echo "[Wrapper] Error: No ignite binary found" - exit 1 - fi - args=$@ -fi - -version=$($path version | grep -E "Ignite CLI version:" | awk '{print $NF}') -if [[ $version != $IGNITE_VERSION ]]; then - echo "[Wrapper] Error: No matching ignite version found, required is $IGNITE_VERSION but $version was found" - exit 1 -fi - -echo "[Wrapper] Using $path $IGNITE_VERSION" - -$path $args diff --git a/peer_nodes.json b/peer_nodes.json deleted file mode 100644 index 3091d67f..00000000 --- a/peer_nodes.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "rpcs": [ - "http://202.61.225.157:20057", - "https://cardchain-testnet-rpc.itrocket.net", - "http://crowd.rpc.t.stavr.tech:21207", - "https://rpc-testnet-cardchain.nodeist.net" - ], - "peers": [ - "202.61.225.157:20056", - "cardchain-testnet-peer.itrocket.net:31656", - "crowd.peer.stavr.tech:21206", - "rpc-testnet-cardchain.nodeist.net:26656" - ], - "snap_rpcs": [ - "http://202.61.225.157:26657", - "https://cardchain-testnet-rpc.itrocket.net:443", - "http://crowd.rpc.t.stavr.tech:21207", - "https://rpc-testnet-cardchain.nodeist.net:443" - ] -} diff --git a/proto/buf.lock b/proto/buf.lock deleted file mode 100644 index 6d72688e..00000000 --- a/proto/buf.lock +++ /dev/null @@ -1,23 +0,0 @@ -# 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 deleted file mode 100644 index d9cb21d8..00000000 --- a/proto/buf.yaml +++ /dev/null @@ -1,11 +0,0 @@ -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 deleted file mode 100644 index 080d4528..00000000 --- a/proto/cardchain/cardchain/card.proto +++ /dev/null @@ -1,88 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -import "gogoproto/gogo.proto"; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message Card { - - string owner = 1; - string artist = 2; - bytes content = 3; - uint64 image_id = 4; - bool fullArt = 5; - string notes = 6; - Status status = 7; - string votePool = 8 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; - repeated string voters = 14; - uint64 fairEnoughVotes = 9; - uint64 overpoweredVotes = 10; - uint64 underpoweredVotes = 11; - uint64 inappropriateVotes = 12; - int64 nerflevel = 13; - bool balanceAnchor = 15; - bool starterCard = 16; - CardRarity rarity = 17; -} - -message OutpCard { - - string owner = 1; - string artist = 2; - string content = 3; - string image = 4; - bool fullArt = 5; - string notes = 6; - Status status = 7; - string votePool = 8 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; - repeated string voters = 14; - uint64 fairEnoughVotes = 9; - uint64 overpoweredVotes = 10; - uint64 underpoweredVotes = 11; - uint64 inappropriateVotes = 12; - int64 nerflevel = 13; - bool balanceAnchor = 15; - string hash = 16; - bool starterCard = 17; - CardRarity rarity = 18; -} - -enum Status { - scheme = 0; - prototype = 1; - trial = 2; - permanent = 3; - suspended = 4; - banned = 5; - bannedSoon = 6; - bannedVerySoon = 7; - none = 8; - adventureItem = 9; -} - -enum CardRarity { - common = 0; - uncommon = 1; - rare = 2; - exceptional = 3; - unique = 4; -} - -enum CardClass { - nature = 0; - culture = 1; - mysticism = 2; - technology = 3; -} - -enum CardType { - place = 0; - action = 1; - entity = 2; - headquarter = 3; -} - -message TimeStamp { - uint64 timeStamp = 1; -} diff --git a/proto/cardchain/cardchain/copyright_proposal.proto b/proto/cardchain/cardchain/copyright_proposal.proto deleted file mode 100644 index 48fab1f0..00000000 --- a/proto/cardchain/cardchain/copyright_proposal.proto +++ /dev/null @@ -1,13 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -import "gogoproto/gogo.proto"; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message CopyrightProposal { - string title = 1; - string description = 2; - string link = 3; - uint64 cardId = 4; -} diff --git a/proto/cardchain/cardchain/council.proto b/proto/cardchain/cardchain/council.proto deleted file mode 100644 index 8aa7d2bb..00000000 --- a/proto/cardchain/cardchain/council.proto +++ /dev/null @@ -1,42 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -import "gogoproto/gogo.proto"; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message Council { - uint64 cardId = 1; - repeated string voters = 2; - repeated WrapHashResponse hashResponses = 3; - repeated WrapClearResponse clearResponses = 4; - string treasury = 5 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; - CouncelingStatus status = 6; - uint64 trialStart = 7; -} - -message WrapClearResponse { - string user = 1; - Response response = 2; - string suggestion = 3; -} - -message WrapHashResponse { - string user = 1; - string hash = 2; -} - -enum Response { - Yes = 0; - No = 1; - Suggestion = 2; -} - -enum CouncelingStatus { - councilOpen = 0; - councilCreated = 1; - councilClosed = 2; - commited = 3; - revealed = 4; - suggestionsMade = 5; -} diff --git a/proto/cardchain/cardchain/early_access_proposal.proto b/proto/cardchain/cardchain/early_access_proposal.proto deleted file mode 100644 index 5be561c0..00000000 --- a/proto/cardchain/cardchain/early_access_proposal.proto +++ /dev/null @@ -1,11 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message EarlyAccessProposal { - string title = 1; - string description = 2; - string link = 3; - repeated string users = 4; -} diff --git a/proto/cardchain/cardchain/encounters.proto b/proto/cardchain/cardchain/encounters.proto deleted file mode 100644 index 49d426d0..00000000 --- a/proto/cardchain/cardchain/encounters.proto +++ /dev/null @@ -1,21 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -import "gogoproto/gogo.proto"; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message Encounter { - uint64 Id = 1; - repeated uint64 Drawlist = 2; - bool proven = 3; - string owner = 4; - map parameters = 5; - uint64 imageId = 6; - string name = 7; -} - -message EncounterWithImage { - Encounter encounter = 1; - bytes image = 2; -} diff --git a/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto deleted file mode 100644 index 4c09a3ac..00000000 --- a/proto/cardchain/cardchain/genesis.proto +++ /dev/null @@ -1,39 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -import "gogoproto/gogo.proto"; -import "cardchain/cardchain/params.proto"; -import "cardchain/cardchain/card.proto"; -import "cardchain/cardchain/user.proto"; -import "cardchain/cardchain/match.proto"; -import "cardchain/cardchain/set.proto"; -import "cardchain/cardchain/sell_offer.proto"; -import "cardchain/cardchain/running_average.proto"; -import "cardchain/cardchain/council.proto"; -import "cardchain/cardchain/image.proto"; -import "cardchain/cardchain/server.proto"; -import "cardchain/cardchain/zealy.proto"; -import "cosmos/base/v1beta1/coin.proto"; -// this line is used by starport scaffolding # genesis/proto/import - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -// GenesisState defines the cardchain module's genesis state. -message GenesisState { - Params params = 1 [(gogoproto.nullable) = false]; - repeated Card cardRecords = 2; - repeated User users = 3; - repeated string addresses = 4; - repeated Match matches = 6; - 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"];; - repeated Council councils = 12; - repeated RunningAverage RunningAverages = 13; - repeated Image images = 14; - repeated Server Servers = 15; - TimeStamp lastCardModified = 16; - repeated Zealy zealys = 17; - // this line is used by starport scaffolding # genesis/proto/state -} diff --git a/proto/cardchain/cardchain/image.proto b/proto/cardchain/cardchain/image.proto deleted file mode 100644 index 07307510..00000000 --- a/proto/cardchain/cardchain/image.proto +++ /dev/null @@ -1,9 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message Image { - - bytes image = 1; -} diff --git a/proto/cardchain/cardchain/match.proto b/proto/cardchain/cardchain/match.proto deleted file mode 100644 index a5a68ea8..00000000 --- a/proto/cardchain/cardchain/match.proto +++ /dev/null @@ -1,32 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; -import "cardchain/cardchain/voting.proto"; - -message Match { - - uint64 timestamp = 1; - string reporter = 2; - MatchPlayer playerA = 3; - MatchPlayer playerB = 4; - Outcome outcome = 7; - bool coinsDistributed = 10; - bool serverConfirmed = 8; -} - -message MatchPlayer { - string addr = 1; - 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/match_reporter_proposal.proto b/proto/cardchain/cardchain/match_reporter_proposal.proto deleted file mode 100644 index dc7f7d56..00000000 --- a/proto/cardchain/cardchain/match_reporter_proposal.proto +++ /dev/null @@ -1,11 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message MatchReporterProposal { - - string title = 1; - string description = 2; - string reporter = 3; -} diff --git a/proto/cardchain/cardchain/num.proto b/proto/cardchain/cardchain/num.proto deleted file mode 100644 index bded118c..00000000 --- a/proto/cardchain/cardchain/num.proto +++ /dev/null @@ -1,9 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message Num { - - uint64 num = 1; -} diff --git a/proto/cardchain/cardchain/params.proto b/proto/cardchain/cardchain/params.proto deleted file mode 100644 index 42b30c3f..00000000 --- a/proto/cardchain/cardchain/params.proto +++ /dev/null @@ -1,35 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -import "gogoproto/gogo.proto"; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -// Params defines the parameters for the module. -message Params { - option (gogoproto.goproto_stringer) = false; - int64 votingRightsExpirationTime = 1; - 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"];; - string inflationRate = 10; - uint64 raresPerPack = 11; - uint64 commonsPerPack = 12; - uint64 unCommonsPerPack = 13; - uint64 trialPeriod = 14; - int64 gameVoteRatio = 15; - int64 cardAuctionPriceReductionPeriod = 16; - string airDropValue = 17 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; - int64 airDropMaxBlockHeight = 18; - 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 deleted file mode 100644 index 37757866..00000000 --- a/proto/cardchain/cardchain/query.proto +++ /dev/null @@ -1,332 +0,0 @@ -syntax = "proto3"; - -package DecentralCardGame.cardchain.cardchain; - -import "gogoproto/gogo.proto"; -import "google/api/annotations.proto"; -import "cosmos/base/query/v1beta1/pagination.proto"; -import "cardchain/cardchain/params.proto"; -import "cardchain/cardchain/voting.proto"; -import "cardchain/cardchain/card.proto"; -import "cardchain/cardchain/user.proto"; -import "cardchain/cardchain/match.proto"; -import "cardchain/cardchain/set.proto"; -import "cardchain/cardchain/sell_offer.proto"; -import "cardchain/cardchain/council.proto"; -import "cardchain/cardchain/encounters.proto"; -import "cardchain/cardchain/server.proto"; -import "cardchain/cardchain/tx.proto"; - -// this line is used by starport scaffolding # 1 - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/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/cardchain/params"; - } - - // Queries a list of QCard items. - rpc QCard(QueryQCardRequest) returns (OutpCard) { - 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}"; - } - - // Queries a list of QUser items. - rpc QUser(QueryQUserRequest) returns (User) { - 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"; - } - - // Queries a list of QVotingResults items. - rpc QVotingResults(QueryQVotingResultsRequest) - returns (QueryQVotingResultsResponse) { - option (google.api.http).get = - "/DecentralCardGame/Cardchain/cardchain/q_voting_results"; - } - - // Queries a list of QCards items. - rpc QCards(QueryQCardsRequest) returns (QueryQCardsResponse) { - option (google.api.http).get = - "/DecentralCardGame/Cardchain/cardchain/q_cards"; - } - - // Queries a list of QMatch items. - rpc QMatch(QueryQMatchRequest) returns (Match) { - option (google.api.http).get = - "/DecentralCardGame/Cardchain/cardchain/q_match/{matchId}"; - } - - // Queries a list of QSet items. - rpc QSet(QueryQSetRequest) returns (OutpSet) { - option (google.api.http).get = - "/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}"; - } - - // Queries a list of QCouncil items. - rpc QCouncil(QueryQCouncilRequest) returns (Council) { - option (google.api.http).get = - "/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"; - } - - // Queries a list of QSellOffers items. - rpc QSellOffers(QueryQSellOffersRequest) returns (QueryQSellOffersResponse) { - option (google.api.http).get = - "/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}"; - } - - // 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/{setId}"; - } - - // this line is used by starport scaffolding # 2 - - // Queries a list of QCardContents items. - rpc QCardContents(QueryQCardContentsRequest) - returns (QueryQCardContentsResponse) { - option (google.api.http).get = - "/DecentralCardGame/Cardchain/cardchain/q_card_contents/{cardIds}"; - } - - // Queries a list of QAccountFromZealy items. - rpc QAccountFromZealy(QueryQAccountFromZealyRequest) - returns (QueryQAccountFromZealyResponse) { - option (google.api.http).get = - "/DecentralCardGame/Cardchain/cardchain/q_account_from_zealy/{zealyId}"; - } - - // Queries a list of QEncounters items. - rpc QEncounters(QueryQEncountersRequest) returns (QueryQEncountersResponse) { - option (google.api.http).get = - "/DecentralCardGame/Cardchain/cardchain/q_encounters"; - } - - // Queries a list of QEncounter items. - rpc QEncounter(QueryQEncounterRequest) returns (QueryQEncounterResponse) { - option (google.api.http).get = - "/DecentralCardGame/Cardchain/cardchain/q_encounter/{id}"; - } - - // Queries a list of QEncountersWithImage items. - rpc QEncountersWithImage(QueryQEncountersWithImageRequest) - returns (QueryQEncountersWithImageResponse) { - option (google.api.http).get = - "/DecentralCardGame/Cardchain/cardchain/q_encounters_with_image"; - } - - // Queries a list of QEncounterWithImage items. - rpc QEncounterWithImage(QueryQEncounterWithImageRequest) - returns (QueryQEncounterWithImageResponse) { - option (google.api.http).get = - "/DecentralCardGame/Cardchain/cardchain/q_encounter_with_image/{id}"; - } -} -// 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 QueryQCardRequest { string cardId = 1; } - -message QueryQCardContentRequest { uint64 cardId = 1; } - -message QueryQCardContentResponse { - string content = 1; - string hash = 2; -} - -message QueryQUserRequest { string address = 1; } - -message QueryQCardchainInfoRequest {} - -message QueryQCardchainInfoResponse { - string cardAuctionPrice = 1 [ - (gogoproto.nullable) = false, - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin" - ]; - repeated uint64 activeSets = 2; - uint64 cardsNumber = 3; - uint64 matchesNumber = 4; - uint64 sellOffersNumber = 5; - uint64 councilsNumber = 6; - uint64 lastCardModified = 7; -} - -message QueryQVotingResultsRequest {} - -message QueryQVotingResultsResponse { VotingResults lastVotingResults = 1; } - -message QueryQCardsRequest { - string owner = 1; - repeated Status statuses = 2; - repeated CardType cardTypes = 3; - repeated CardClass classes = 4; - string sortBy = 5; - string nameContains = 6; - string keywordsContains = 7; - string notesContains = 8; - bool onlyStarterCard = 9; - bool onlyBalanceAnchors = 10; - repeated CardRarity rarities = 11; - bool multiClassOnly = 12; -} - -message QueryQCardsResponse { repeated uint64 cardsList = 1; } - -message QueryQMatchRequest { uint64 matchId = 1; } - -message QueryQSetRequest { uint64 setId = 1; } - -message QueryQSellOfferRequest { uint64 sellOfferId = 1; } - -message QueryQCouncilRequest { uint64 councilId = 1; } - -message QueryQMatchesRequest { - uint64 timestampDown = 1; - uint64 timestampUp = 2; - repeated string containsUsers = 3; - string reporter = 4; - Outcome outcome = 5; - repeated uint64 cardsPlayed = 6; - IgnoreMatches ignore = 7; -} - -message IgnoreMatches { bool outcome = 1; } - -message QueryQMatchesResponse { - repeated uint64 matchesList = 1; - repeated Match matches = 2; -} - -/* - message QueryQSellOffersRequest { - message Query { - string priceDown = 1; - string priceUp = 2; - string seller = 3; - string buyer = 4; - uint64 card = 5; - SellOfferStatus status = 6; - } - Query query = 1; -} - */ -message QueryQSellOffersRequest { - string priceDown = 1; - string priceUp = 2; - string seller = 3; - string buyer = 4; - uint64 card = 5; - SellOfferStatus status = 6; - IgnoreSellOffers ignore = 7; -} - -message IgnoreSellOffers { - bool status = 1; - bool card = 2; -} - -message QueryQSellOffersResponse { - repeated uint64 sellOffersIds = 1; - repeated SellOffer sellOffers = 2; -} - -message QueryQServerRequest { uint64 id = 1; } - -message QueryQServerResponse {} - -message QueryQSetsRequest { - CStatus status = 1; - bool ignoreStatus = 2; - repeated string contributors = 3; - repeated uint64 containsCards = 4; - string owner = 5; -} - -message QueryQSetsResponse { repeated uint64 setIds = 1; } - -message QueryRarityDistributionRequest { uint64 setId = 1; } - -message QueryRarityDistributionResponse { - repeated uint32 current = 1; - repeated uint32 wanted = 2; -} - -// this line is used by starport scaffolding # 3 -message QueryQCardContentsRequest { repeated uint64 cardIds = 1; } - -message QueryQCardContentsResponse { - repeated QueryQCardContentResponse cards = 1; -} - -message QueryQAccountFromZealyRequest { string zealyId = 1; } - -message QueryQAccountFromZealyResponse { string address = 1; } - -message QueryQEncountersRequest {} - -message QueryQEncountersResponse { repeated Encounter encounters = 1; } - -message QueryQEncounterRequest { uint64 id = 1; } - -message QueryQEncounterResponse { Encounter encounter = 1; } - -message QueryQEncountersWithImageRequest {} - -message QueryQEncountersWithImageResponse { - repeated EncounterWithImage encounters = 1; -} - -message QueryQEncounterWithImageRequest { uint64 id = 1; } - -message QueryQEncounterWithImageResponse { EncounterWithImage encounter = 1; } diff --git a/proto/cardchain/cardchain/running_average.proto b/proto/cardchain/cardchain/running_average.proto deleted file mode 100644 index d9ec61d9..00000000 --- a/proto/cardchain/cardchain/running_average.proto +++ /dev/null @@ -1,8 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message RunningAverage { - repeated int64 arr = 1; -} diff --git a/proto/cardchain/cardchain/sell_offer.proto b/proto/cardchain/cardchain/sell_offer.proto deleted file mode 100644 index 5035bfa4..00000000 --- a/proto/cardchain/cardchain/sell_offer.proto +++ /dev/null @@ -1,21 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -import "gogoproto/gogo.proto"; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message SellOffer { - - string seller = 1; - string buyer = 2; - uint64 card = 3; - string price = 4 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; - SellOfferStatus status = 5; -} - -enum SellOfferStatus { - open = 0; - sold = 1; - removed = 2; -} diff --git a/proto/cardchain/cardchain/server.proto b/proto/cardchain/cardchain/server.proto deleted file mode 100644 index 27a06eb5..00000000 --- a/proto/cardchain/cardchain/server.proto +++ /dev/null @@ -1,11 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message Server { - - string reporter = 1; - uint64 invalidReports = 2; - uint64 validReports = 3; -} diff --git a/proto/cardchain/cardchain/set.proto b/proto/cardchain/cardchain/set.proto deleted file mode 100644 index 3b474c56..00000000 --- a/proto/cardchain/cardchain/set.proto +++ /dev/null @@ -1,51 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -import "cosmos/base/v1beta1/coin.proto"; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message Set { - string name = 1; - repeated uint64 cards = 2; - string artist = 3; - string storyWriter = 4; - repeated string contributors = 5; - string story = 6; - uint64 artworkId = 7; - CStatus status = 8; - int64 timeStamp = 9; - repeated AddrWithQuantity contributorsDistribution = 10; - repeated InnerRarities Rarities = 11; -} - -message InnerRarities { - repeated uint64 R = 1; -} - -message OutpSet { - string name = 1; - repeated uint64 cards = 2; - string artist = 3; - string storyWriter = 4; - repeated string contributors = 5; - string story = 6; - string artwork = 7; - CStatus status = 8; - int64 timeStamp = 9; - repeated AddrWithQuantity contributorsDistribution = 10; - repeated InnerRarities Rarities = 11; -} - -enum CStatus { - design = 0; - finalized = 1; - active = 2; - archived = 3; -} - -message AddrWithQuantity { - string addr = 1; - uint32 q = 2; - cosmos.base.v1beta1.Coin payment = 3; -} diff --git a/proto/cardchain/cardchain/set_proposal.proto b/proto/cardchain/cardchain/set_proposal.proto deleted file mode 100644 index 87745939..00000000 --- a/proto/cardchain/cardchain/set_proposal.proto +++ /dev/null @@ -1,11 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message SetProposal { - - string title = 1; - string description = 2; - uint64 setId = 3; -} diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto deleted file mode 100644 index 717a42b0..00000000 --- a/proto/cardchain/cardchain/tx.proto +++ /dev/null @@ -1,467 +0,0 @@ -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 - -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 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); - rpc ChangeAlias(MsgChangeAlias) returns (MsgChangeAliasResponse); - rpc InviteEarlyAccess(MsgInviteEarlyAccess) - returns (MsgInviteEarlyAccessResponse); - rpc DisinviteEarlyAccess(MsgDisinviteEarlyAccess) - returns (MsgDisinviteEarlyAccessResponse); - rpc ConnectZealyAccount(MsgConnectZealyAccount) - returns (MsgConnectZealyAccountResponse); - rpc EncounterCreate(MsgEncounterCreate) returns (MsgEncounterCreateResponse); - rpc EncounterDo(MsgEncounterDo) returns (MsgEncounterDoResponse); - rpc EncounterClose(MsgEncounterClose) returns (MsgEncounterCloseResponse); -} -message MsgCreateuser { - string creator = 1; - string newUser = 2; - string alias = 3; -} - -message MsgCreateuserResponse {} - -message MsgBuyCardScheme { - 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; - VoteType voteType = 3; - } - - message MsgVoteCardResponse { bool airdropClaimed = 1; } - - message MsgSaveCardContent { - string creator = 1; - uint64 cardId = 2; - bytes content = 3; - - // bytes image = 4; - // string fullArt = 5; - string notes = 4; - string artist = 5; - bool balanceAnchor = 6; - } - - message MsgSaveCardContentResponse { bool airdropClaimed = 1; } - - message MsgTransferCard { - string creator = 1; - uint64 cardId = 2; - string receiver = 4; - } - - 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" - ]; - } - - message MsgDonateToCardResponse {} - - message MsgAddArtwork { - string creator = 1; - uint64 cardId = 2; - bytes image = 3; - bool fullArt = 4; - } - - message MsgAddArtworkResponse {} - - message MsgChangeArtist { - string creator = 1; - uint64 cardID = 2; - string artist = 3; - } - - message MsgChangeArtistResponse {} - - message MsgRegisterForCouncil { string creator = 1; } - - message MsgRegisterForCouncilResponse {} - - message MsgReportMatch { - string creator = 1; - uint64 matchId = 2; - repeated uint64 playedCardsA = 3; - repeated uint64 playedCardsB = 4; - Outcome outcome = 5; - } - - message MsgReportMatchResponse { uint64 matchId = 1; } - - message MsgApointMatchReporter { - string creator = 1; - string reporter = 2; - } - - message MsgApointMatchReporterResponse {} - - message MsgCreateSet { - string creator = 1; - string name = 2; - string artist = 3; - string storyWriter = 4; - repeated string contributors = 5; - } - - message MsgCreateSetResponse {} - - message MsgAddCardToSet { - string creator = 1; - uint64 setId = 2; - uint64 cardId = 3; - } - - message MsgAddCardToSetResponse {} - - message MsgFinalizeSet { - string creator = 1; - uint64 setId = 2; - } - - message MsgFinalizeSetResponse {} - - message MsgBuyBoosterPack { - string creator = 1; - uint64 setId = 2; - } - - message MsgBuyBoosterPackResponse { bool airdropClaimed = 1; } - - message MsgRemoveCardFromSet { - string creator = 1; - uint64 setId = 2; - uint64 cardId = 3; - } - - message MsgRemoveCardFromSetResponse {} - - message MsgRemoveContributorFromSet { - string creator = 1; - uint64 setId = 2; - string user = 3; - } - - message MsgRemoveContributorFromSetResponse {} - - message MsgAddContributorToSet { - string creator = 1; - uint64 setId = 2; - string user = 3; - } - - 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" - ]; - } - - message MsgCreateSellOfferResponse {} - - message MsgBuyCard { - string creator = 1; - uint64 sellOfferId = 2; - } - - message MsgBuyCardResponse {} - - message MsgRemoveSellOffer { - string creator = 1; - uint64 sellOfferId = 2; - } - - message MsgRemoveSellOfferResponse {} - - message MsgAddArtworkToSet { - string creator = 1; - uint64 setId = 2; - bytes image = 3; - } - - message MsgAddArtworkToSetResponse {} - - message MsgAddStoryToSet { - string creator = 1; - uint64 setId = 2; - string story = 3; - } - - message MsgAddStoryToSetResponse {} - - message MsgSetCardRarity { - string creator = 1; - uint64 cardId = 2; - uint64 setId = 3; - CardRarity rarity = 4; - } - - message MsgSetCardRarityResponse {} - - message MsgCreateCouncil { - string creator = 1; - uint64 cardId = 2; - } - - message MsgCreateCouncilResponse {} - - // Add revision - message MsgCommitCouncilResponse { - string creator = 1; - string response = 2; - uint64 councilId = 3; - string suggestion = 4; - } - - message MsgCommitCouncilResponseResponse {} - - message MsgRevealCouncilResponse { - string creator = 1; - Response response = 2; - string secret = 3; - uint64 councilId = 4; - } - - message MsgRevealCouncilResponseResponse {} - - message MsgRestartCouncil { - string creator = 1; - uint64 councilId = 2; - } - - message MsgRestartCouncilResponse {} - - message MsgRewokeCouncilRegistration { string creator = 1; } - - message MsgRewokeCouncilRegistrationResponse {} - - message MsgConfirmMatch { - string creator = 1; - uint64 matchId = 2; - Outcome outcome = 3; - repeated SingleVote votedCards = 4; - } - - message MsgConfirmMatchResponse {} - - message MsgSetProfileCard { - string creator = 1; - uint64 cardId = 2; - } - - message MsgSetProfileCardResponse {} - - message MsgOpenBoosterPack { - string creator = 1; - uint64 boosterPackId = 2; - } - - message MsgOpenBoosterPackResponse { repeated uint64 cardIds = 1; } - - message MsgTransferBoosterPack { - string creator = 1; - uint64 boosterPackId = 2; - string receiver = 3; - } - - message MsgTransferBoosterPackResponse {} - - message MsgSetSetStoryWriter { - string creator = 1; - uint64 setId = 2; - string storyWriter = 3; - } - - message MsgSetSetStoryWriterResponse {} - - message MsgSetSetArtist { - string creator = 1; - uint64 setId = 2; - string artist = 3; - } - - message MsgSetSetArtistResponse {} - - message MsgSetUserWebsite { - string creator = 1; - string website = 2; - } - - message MsgSetUserWebsiteResponse {} - - message MsgSetUserBiography { - string creator = 1; - string biography = 2; - } - - 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 {} - - message MsgChangeAlias { - string creator = 1; - string alias = 2; - } - - message MsgChangeAliasResponse {} - - message MsgInviteEarlyAccess { - string creator = 1; - string user = 2; - } - - message MsgInviteEarlyAccessResponse {} - - message MsgDisinviteEarlyAccess { - string creator = 1; - string user = 2; - } - - message MsgDisinviteEarlyAccessResponse {} - - message MsgConnectZealyAccount { - string creator = 1; - string zealyId = 2; - } - - message MsgConnectZealyAccountResponse {} - - message MsgEncounterCreate { - string creator = 1; - string name = 2; - repeated uint64 Drawlist = 3; - map parameters = 4; - bytes image = 5; - } - - message MsgEncounterCreateResponse {} - - message MsgEncounterDo { - string creator = 1; - uint64 encounterId = 2; - string user = 3; - } - - message MsgEncounterDoResponse {} - - message MsgEncounterClose { - string creator = 1; - uint64 encounterId = 2; - string user = 3; - bool won = 4; - } - - message MsgEncounterCloseResponse {} diff --git a/proto/cardchain/cardchain/user.proto b/proto/cardchain/cardchain/user.proto deleted file mode 100644 index 97381f70..00000000 --- a/proto/cardchain/cardchain/user.proto +++ /dev/null @@ -1,63 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; -import "cardchain/cardchain/voting.proto"; - -message User { - - string alias = 1; - repeated uint64 ownedCardSchemes = 2; - repeated uint64 ownedPrototypes = 3; - repeated uint64 cards = 4; - CouncilStatus CouncilStatus = 6; - bool ReportMatches = 7; - uint64 profileCard = 8; - AirDrops airDrops = 9; - repeated BoosterPack boosterPacks = 10; - string website = 11; - string biography = 12; - repeated uint64 votableCards = 13; - repeated uint64 votedCards = 14; - EarlyAccess earlyAccess = 15; - repeated uint64 OpenEncounters = 16; - repeated uint64 WonEncounters = 17; -} - -enum CouncilStatus { - available = 0; - unavailable = 1; - openCouncil = 2; - startedCouncil = 3; -} - -message EarlyAccess { - bool active = 1; - string invitedByUser = 2; - string invitedUser = 3; -} - -message BoosterPack { - 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 { - bool vote = 1; - bool create = 2; - bool buy = 3; - bool play = 4; - bool user = 5; -} - -enum AirDrop { - play = 0; - vote = 1; - create = 2; - buy = 3; - user = 4; -} diff --git a/proto/cardchain/cardchain/voting.proto b/proto/cardchain/cardchain/voting.proto deleted file mode 100644 index 33fce137..00000000 --- a/proto/cardchain/cardchain/voting.proto +++ /dev/null @@ -1,37 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message VotingResults { - - uint64 totalVotes = 1; - uint64 totalFairEnoughVotes = 2; - uint64 totalOverpoweredVotes = 3; - uint64 totalUnderpoweredVotes = 4; - uint64 totalInappropriateVotes = 5; - 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; - VoteType voteType = 2; -} - -enum VoteType { - fairEnough = 0; - inappropriate = 1; - overpowered = 2; - underpowered = 3; -} \ No newline at end of file diff --git a/proto/cardchain/cardchain/zealy.proto b/proto/cardchain/cardchain/zealy.proto deleted file mode 100644 index d803f0c8..00000000 --- a/proto/cardchain/cardchain/zealy.proto +++ /dev/null @@ -1,10 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message Zealy { - - string address = 1; - string zealyId = 2; -} diff --git a/proto/cardchain/featureflag/flag.proto b/proto/cardchain/featureflag/flag.proto deleted file mode 100644 index 4228afb5..00000000 --- a/proto/cardchain/featureflag/flag.proto +++ /dev/null @@ -1,10 +0,0 @@ -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 deleted file mode 100644 index 9122578c..00000000 --- a/proto/cardchain/featureflag/genesis.proto +++ /dev/null @@ -1,16 +0,0 @@ -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/proposal.proto b/proto/cardchain/featureflag/proposal.proto deleted file mode 100644 index a9ac994c..00000000 --- a/proto/cardchain/featureflag/proposal.proto +++ /dev/null @@ -1,11 +0,0 @@ -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 deleted file mode 100644 index 993b8346..00000000 --- a/proto/cardchain/featureflag/query.proto +++ /dev/null @@ -1,58 +0,0 @@ -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 deleted file mode 100644 index 9790cb68..00000000 --- a/proto/cardchain/featureflag/tx.proto +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100755 index ccd72c36..00000000 --- a/scripts/backupGenesis.sh +++ /dev/null @@ -1,4 +0,0 @@ -now=$(date +"%d.%m.%Y") - -mkdir ~/genesis$now -cp backup/genesis$now.json ~/genesis$now diff --git a/scripts/buildlaunch-node.sh b/scripts/buildlaunch-node.sh deleted file mode 100644 index 2718baec..00000000 --- a/scripts/buildlaunch-node.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash -parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P ) - -cd "$parent_path" - -docker-compose build --no-cache -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 deleted file mode 100644 index e5db43fa..00000000 --- a/scripts/card_rarities.tsv +++ /dev/null @@ -1,121 +0,0 @@ -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 deleted file mode 100644 index 2724c384..00000000 --- a/scripts/card_starters.tsv +++ /dev/null @@ -1,72 +0,0 @@ -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/cardchaindconfig-testnet.json b/scripts/cardchaindconfig-testnet.json deleted file mode 100644 index d7f7a0e2..00000000 --- a/scripts/cardchaindconfig-testnet.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "chain-id": "carddevnet-2", - "keyring-backend": "test", - "output": "text", - "node": "tcp://lxgr.xyz:26657", - "broadcast-mode": "block" -} diff --git a/scripts/createUser.sh b/scripts/createUser.sh deleted file mode 100755 index 8d0ab6f5..00000000 --- a/scripts/createUser.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -ARGS="--node tcp://localhost:26657 --gas auto" - -cardchaind keys add $1 - -cardchaind tx cardchain createuser $(cardchaind keys show $1 --address) $1 --from alice $ARGS diff --git a/scripts/download_genesis.py b/scripts/download_genesis.py deleted file mode 100644 index da526c26..00000000 --- a/scripts/download_genesis.py +++ /dev/null @@ -1,15 +0,0 @@ -import json -import requests -import tendermint_chunked_genesis_download as tcgd - -with open('peer_nodes.json', 'r') as f: - data = json.load(f) - -for url in data['rpcs']: - try: - page = requests.get(url) - print(url, page.status_code) - tcgd.download_genesis(url) - break - except (requests.exceptions.HTTPError, requests.exceptions.ConnectionError): - print("Error") \ No newline at end of file diff --git a/scripts/genesis_balances.tsv b/scripts/genesis_balances.tsv deleted file mode 100644 index d03e835e..00000000 --- a/scripts/genesis_balances.tsv +++ /dev/null @@ -1,201 +0,0 @@ -Address Balance -cc1pfhx45ajlpk85sfn3mwyfvznct2tdeuv7vv7v6 100 -cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 500 -cc1p3kejss5t4zugkaffpdm65h0lvv4847rpfhdwt 200 -cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 800 -cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 1100 -cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 1200 -cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 1000 -cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 600 -cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 1000 -cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 600 -cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 600 -cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 1000 -cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 400 -cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 1000 -cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 1000 -cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 600 -cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 1000 -cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 400 -cc1v32ggu70yw6mwh7zeyaz7a9n0znkk34ypsc59h 100 -cc1vnyum3ntr4ejhhekfd5ke5ul74rcgcx5ku5xes 100 -cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 900 -cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 800 -cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 700 -cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 1000 -cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 300 -cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 4100 -cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 1100 -cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 300 -cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 1000 -cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 500 -cc1r9zywgy53xg093ssdfkr9agudnyfzpmmc5hdhu 100 -cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 400 -cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 400 -cc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v 400 -cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 1000 -cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 1000 -cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 700 -cc1cve8ft5d7hmccz7ehc8qxzrc0cq9s6egg5zd9k 200 -cc1cey5d65p9k5y66e8vttur4mn9cr0nmc9jfde4y 100 -cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 300 -cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 600 -cc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt 300 -cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 1000 -cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 800 -cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 1000 -cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 800 -cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 900 -cc1un7clms2rsg99842ywkacjg4y6duspqp4u5vze 100 -cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 1000 -cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 800 -cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 900 -cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 300 -cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 900 -cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 1000 -cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 800 -cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 900 -cc1lcd6ueqfq2h934vhzxclzzgla3nrd646m3v0hv 100 -cc198ppn5ezf3zt90a6uawcskvy407vrduzzfzqh0 100 -cc1x3xdfj8gsam2872y7ykrn4q9u2l64n2mx6x3ud 100 -cc1xe80y8xsse2ty60cgaetny443tmr95thj2whsf 100 -cc1895x9k0yz7fwqe69dgkz8m9wuajn9wz42hap4t 100 -cc18xuf9hngrey0xe2dljxt9mjwksr42qcsz00ytn 100 -cc1gfvfexqjhz660fwqfpyhutenzk788un29zh2xe 100 -cc1ga6vrq6tw3lgvs7z5lr76j4mv6wt745cf2mr6v 100 -cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 300 -cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk 200 -cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 200 -cc1dn50kpwc8vxajpllam4l62zk4g37x2m0c7qgs9 100 -cc1whlxz73h8t22ytsdzm04aknlxm2gz04ugcy4eq 200 -cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 300 -cc139rf2wl9mxa348tnr957ev7c4x85jjln9am59l 100 -cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 700 -cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 500 -cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 300 -cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 700 -cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha 200 -cc15lwe6hczz9czh2msktksn7mvjsl5t8gz9zzl3l 200 -cc1has2wgz58xw0sfaa60z437dl3vs7u52gmury3y 100 -cc1e7rmfv2vlkn830396tl07jhqh822z0wd8x7k6j 100 -cc1m2gy6xkjdwyk6dkvkryckzg5emhmmnxpqxcgez 100 -cc1mv33hfvvu5pkajc6ear846yclcewceynehj2uj 100 -cc17d4ua8vww2znmzg2w0h65qy7fpqpa25ktmflyg 100 -cc19z20ne3ef575dgfk5ff67xtu0uup8yuj36629j 100 -cc1xaxmxvrhtsnemgcw2lc3mh3lwffk5h730wqacy 100 -cc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m 200 -cc1se7v7c8gslwckfnzmj8halgd67fqfgnnjhzuey 100 -cc1n485ndjsz04nka8q79u3e79u3k5tp5ltfhk2nl 100 -cc1k2g0l077raf7jyn5phqkh8y30eah6lgscv0x8z 100 -cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 400 -cc1cdcsjndsm8ddmd6av7f4zwwn6fqtq34pls4t40 100 -cc16mm2pqdtts8rttlgwg74zcnwg7jfhvxcawn0md 100 -cc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq 200 -cc1axcus06j2k6e359pgplu7w69pp276tgpzra5tf 100 -cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz 357759 -cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn 56000 -cc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur 21850 -cc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86 4900 -cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 500 -cc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4 18850 -cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk 82350 -cc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f 5000 -cc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k 1000 -cc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8 10000 -cc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3 1500 -cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s 48000 -cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 3100 -cc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c 1400 -cc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7 100 -cc1vuzh99j2ggdf3c2rzkwursvp2jx9r4u7mvuj8h 100 -cc1mp77nu88lx3760lzpqf868s49ezdpg7gfljkun 300 -cc1uzvzgt04gg4t70jquhdxa9mgyzkc88m3czxdps 100 -cc1x4yvn76pveqwej9gy3pcxqst5z66p4e2wzg70a 100 -cc1jdxal827zlmpjpdu75v9zcuda4gfudryxql2ze 200 -cc1w6sdrxkys6qq94mdm5eawk2aqfhcs55hld7tad 100 -cc1k4xdq5n5t0wmlttn3n05rlk2wrftfp3vs8997n 300 -cc1vh452a3zyyqkngfffsf9cvj8nzhrf0a8zxu6hn 100 -cc12j8wxashnunc7pvh8ep383sy55rk086wn6m62l 100 -cc177vpk4unx4d5pwsrwj4kd2jqq0xya9k9ztk8u7 100 -cc1qa8t2ed87x8tgdwyw2tcgxpsg4stvn4w64rtna 100 -cc1ekdz6rlnh4sx02wnwhdzheqq4l7pgvptjn2yu9 300 -cc1nfn9yev2ry0nmh0r5akpym58udmevt75pume5s 300 -cc1dwjsqp2psjyyaujxmwv76e6dk767tuamhxx0t2 600 -cc147zd6esmydn05pjwghzxmp2lztk0562gal3qnp 300 -cc19u8dpw8jp4mcelpelhp3pkam2sxzr6gdz8y3zt 200 -cc18dnnlpy3l6j7v0pekf73xxm6kh3z7chhpp6xev 400 -cc1ehad6hausea0qc8t3amxlpqs5rx2c05zmds3k9 200 -cc1tnxxhkf3s8apvf34270vde7t9u59t6xxq9xsac 100 -cc1fss98cftj6g8h24yzxfhq2q0hr06n3u5ca62zf 100 -cc1wwg5f8x6c6dsucm22xkfppus6ul76ck9w3m7mc 100 -cc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h 100 -cc1ep8qq32hh7ndtdcztgd2rrzlq8dcmvmmantevt 100 -cc1wkuexd8n4lvd6032p4yuwnuf4cctd8m9cph6j5 300 -cc1cy0ulsvus9ar70xst9x75cy4grxheqj88fk6vx 200 -cc1jwavmmr75p25ay6atyaw4yw2pveywag8yz0rrw 100 -cc1unulf3ezmkwjdgcmvskkc3anf3phw8fh8krxv7 100 -cc13rvr4c369rhw63pjxcjvjpjy5ck9mm6pajz87r 200 -cc1klpp6q7dzd3mafjve3f3ejt4c5y5nfeldt57j7 100 -cc1g76zzp0neeulx9p7cvfh00vz2eq5d04v26ntsg 200 -cc1vwg80fptuqmn0e3tnnqcgd0sm3u3a2s09qtq5m 400 -cc13ycv4yp4u58xk9gghwlfjkey2y9smezpezd4x4 100 -cc1c4smhzxtlzarjgrnueetdcjm3kjq3kx4sfkk3j 500 -cc1q8zrfyv7muv7aflr5xzn069zfumy4xs8w6a3xn 100 -cc14jzqhuk7s0c2ytspgrnq3ljqfxq5fjynr5q2zm 100 -cc1prnmjqvp2080lgugjle0492ratxa387npjgz37 200 -cc1qrjt6rsmn9qvs52suyujhuu8qp7a3520es7xy4 300 -cc1slj7amnmemt0t0f8uahnnyv2ztdwuc30sxgdku 100 -cc10zh0cdzdzxz8449v0pg4a2f32yueq8szrkw9qc 100 -cc12jwxqch0xv6yn5e5jlyszqae43vzsag7xemygj 100 -cc12jzf6x8qe77ephgx0cs0q276g2ptapzlr4k2ew 100 -cc12l3zzykqyuunf9nlh2kkmugr09euy5hd5lcgws 100 -cc13h9d5z77sfksv6uweheg38669g270puzkw5pwx 100 -cc13p9cvq5atl2cagnjsxsm72vnyfkfnngulj28g3 100 -cc13sany3heekznx5d2yur3v7rxj3f00ma6jv5eqq 100 -cc146dmvlqxrcwa2h6ulg34l84wg07pmycyfsr0mq 100 -cc14va4c3sfpxyapjjgl9mguwr82zc6v4f4tzellx 100 -cc154pwgwvec6m3746wdgqwct7qw7vw3ujvw6uw0r 100 -cc15nxn2qs00y367qw3789dc089kv2dmdakcva2ud 100 -cc17p0qlp5j6de7tjr0fuu8xyp708d292tvx8wrek 200 -cc18cpvvupy2xd8s6xurnzfh7z7c3ystll8kplyxc 100 -cc19hwl8xvvk0fsu5lyakum22wstkdclfh82nlt3t 100 -cc1a9kvywsn2fpuvtsjq4yk0p048ds7ejv4xdk23x 300 -cc1cqd0ka6td2tr7ulfd3ynggk0njspcp5827x3hn 300 -cc1cvaf96kz8jz8u4435p0yrjgel0t8zgz33p2cpe 100 -cc1d5cpaahz23nanxd69aeag44xecp0fu0a5flfus 100 -cc1dwx5cq7q53mlvkyjpgpwafyktk76qnxtaxm9j3 100 -cc1f6u85enm6dfq8y7rqyfq2550eztcjh9ud7vjr6 100 -cc1f8s69xmkm9e0uxjr9ylg0rfxukfzgwldphv5y9 200 -cc1fse4rke7mvveasnss47ztngwl4hwg7gm7egl5u 100 -cc1h5ejeeas7v85q80k7p6hxaqyu8c8kn6lnav72k 100 -cc1h7upe2prq8hdhzukyhpg9ec7njmmw3e5u8dmts 100 -cc1hjjv4h3l2x77vrv0ypvcu6twuy0tfnx8s8yj6k 100 -cc1hmsev8vpg60h67plrwvx2tmx3xzwfednjvl2fz 100 -cc1jjenfqlk00swjpn8vwd93rzx0guxg3tmrgsw90 200 -cc1jpucyzqw96sdpkqqkhz2k6qqte08ev88yy3jja 100 -cc1jxqhq2kskfzyhhm4acy8cd68ph5az54t0tdyud 200 -cc1kg85kh7pamfnj2j3k4g0y93nwkpj4txfvxk86d 100 -cc1m8lsz20hms79we5yn5ckml30kgg5mu6deslxym 100 -cc1mjqmlxa8aze6mduq4ucyvtdjttc78dgtt0secn 200 -cc1n44vc78vjmuvpfcaxarzta8wsutrh08cy36u3v 100 -cc1pjpaf9af7kh83kk7z4wgxyaw6772qggajzkt7x 100 -cc1py6acxj4d2l4694kyqj34mwhgr5f04pyn2wac5 100 -cc1qu6hwj678c5tm0j7q52rda8w8ftjes5cw9axu5 100 -cc1rhdpj0vrfmdfxwntj8evmncdhc35xp0edsnczk 100 -cc1u7wrw08y8wm0m8ev9c5tu62fk9jwa2vst6ajfa 100 -cc1vg2kwnamjp0q0rdcsq2n8wkp0sx7c042ehuwek 100 -cc1vknmv3g5vfg96276m3nuzg3temqthz0exru50z 100 -cc1wlmkgs6mckzphx42pxm8xaxwd9q997y2dzcphp 200 -cc1x2m6chcf68ujqqcsm8smu2ycfltf3cf486t2x8 100 -cc1xwcl8277d39q75q6eear3y8m8ymrapmtsf5wty 100 -cc1yc2zwyh6v545nv5sgh7gv340nlc7x5wf0kyu53 100 -cc1yll7qpdep4h7vg8na8jfwvfluy50j5damm6ua2 100 -cc13v8pucmwnnmhlkh2ajyhdezh3ktap3uuzradg0 100 -cc182n9vgjdqjxc59lluf599s07m0ptlr0effrapu 100 -cc1jxyvvt3kym3paa6v0j7jlp3ldtfcsgsltvd79t 100 -cc1lghgn9xghujw82jy3fskpzzd9faxkse2dkejfh 100 -cc1p9653c8puaum26fxnmm85xumflakn22uj4sxqt 100 -cc1s9arxcl3y57aeavu0qx4v97720wm4cpudte0g4 100 -cc1zvgued20j7ltucwduwe2tsvhfwxdpu4lcla2tz 100 -cc10xzsrcxr6y0e52nvwxrf30892mnsc8zsges8fy 100 -cc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0 200 \ No newline at end of file diff --git a/scripts/keys/exporthex.sh b/scripts/keys/exporthex.sh deleted file mode 100644 index 1d8a929e..00000000 --- a/scripts/keys/exporthex.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -cardchaind keys export $1 --unsafe --unarmored-hex \ No newline at end of file diff --git a/scripts/migrate_with_data.py b/scripts/migrate_with_data.py deleted file mode 100755 index 5c91b17d..00000000 --- a/scripts/migrate_with_data.py +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/env python3 - -import sys -import json -import csv -import os - -args = sys.argv - -assert len(args) == 3, f"Error: Syntax: {args[0]} [old_genesis] [new_genesis]" - -__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] - - -# early access, boosterpacks, airdrop from zealy - -airdrop_accs = [] -boosterpack_accs = [] -early_access_addr = ["cc14km80077s0hch3sh38wh2hfk7kxfau4456r3ej", "cc1tmhtms6ahkrxltx3hkmmf2dteqj4pv0thwhdxa"] -with open(os.path.join(__location__, "./zealy.tsv"), "r", encoding="utf8") as zealy_file: - tsv_reader = csv.DictReader(zealy_file, delimiter="\t") - for entry in tsv_reader: - airdrop_accs.append((entry["CCAddress"], entry["Airdrop"])) - boosterpack_accs.append([entry["CCAddress"], entry["BoosterPacks"]]) - if entry["EarlyAccessToGame"] == "TRUE": - early_access_addr.append(entry["CCAddress"]) - -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.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) - -# 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] = {} - -if new_dict["app_state"]["cardchain"]["cardRecords"]: - # 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] -new_dict["app_state"]["cardchain"]["params"] = params - -# set balanceAnchor, for alpha creator true, for all others false, deactivated because already fine for most cards -# 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"]): - # 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": - bpf = 0 - # use real bpf value for genesisAddresses - for acc in genesisAccs: - if acc[0] == addr: - bpf += int(acc[1]) * 1000000 - # zealy airdrop - for acc in airdrop_accs: - if acc[0] == addr: - bpf += int(acc[1]) * 1000000 - - # use flat value for all others (TODO ON LAUNCH THIS SHOULD BE 0) - if bpf < 5000000: - bpf = 5000000 - - i["coins"][idx]["amount"] = str(bpf) - - # 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 - -# Remove deprecated voteRights from users and more shenanigans like booster packs and early access -for addr, user in zip(new_dict["app_state"]["cardchain"]["addresses"], new_dict["app_state"]["cardchain"]["users"]): - - if "voteRights" in user: - del user["voteRights"] - - for entry in boosterpack_accs: - if entry[0] == addr: - num_packs = int(entry[1]) - for x in range(num_packs): - user["boosterPacks"].append({'dropRatiosPerPack': ['150', '50', '1'], 'raritiesPerPack': ['4', '2', '1'], 'setId': '1', 'timeStamp': '0'}) - - user["earlyAccess"] = user.get( - "earlyAccess", - {"active": False, "invitedUser": "", "invitedByUser": ""} - ) # add earlyAccess - if addr in early_access_addr: - user["earlyAccess"]["active"] = True - -with open(file_path_new, "w") as file: - json.dump(new_dict, file, indent=2) diff --git a/scripts/old/full_setup.sh b/scripts/old/full_setup.sh deleted file mode 100755 index de0f266b..00000000 --- a/scripts/old/full_setup.sh +++ /dev/null @@ -1,3 +0,0 @@ -yes | ./test_council.sh -yes | cardchaind tx bank send alice $(cardchaind keys show "Cooler Typ" --address) 2000000000000000000000000000000000000000000000000000000ucredits -./import_old_genesis.py ./genesis9mar.json diff --git a/scripts/old/import_old_genesis.py b/scripts/old/import_old_genesis.py deleted file mode 100755 index 1ab5b361..00000000 --- a/scripts/old/import_old_genesis.py +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env python3 -""" -Imports a old genesis' cards into cardchain -get_card_content has to be build first -""" - -import json -import sys -import os -import ctypes -from requester import requester - -artist = "Cooler Artist".encode("utf-8") -creator = "Cooler Typ".encode("utf-8") - -noah_jannik = { - "cosmos1aka9p2tc2td923044ve0508xnn8zuaftc2knxd": "cc13jx3az0ajw938t4k0kw2gtyw0vnjs54spedvky".encode("utf-8"), # noah - "cosmos15ymvugyn9r0h5e44627aclzp9se3dstnwm9syg": "cc14km80077s0hch3sh38wh2hfk7kxfau4456r3ej".encode("utf-8") # jannik -} - -def register_cards(card_records, address_records): - bid = "80000000000000000000000000000000ucredits".encode("utf-8") - cards = [c for c in card_records if c["Content"] not in ["", "e30=", None] and c["Image"] not in ["", None]] - for i, card in enumerate(cards): - # artist = address_records[card["Owner"]].strip().encode("utf-8") - requester.make_buy_card_scheme_request(creator, bid) - - content = card["Content"].encode('utf-8') - notes = card['Notes'].encode("utf-8") - id = i+8 - requester.make_save_card_content_request(creator, id, content, notes, artist) - - artwork = card["Image"].encode("utf-8") - full_art = card["FullArt"] - requester.make_add_artwork_request(artist, id, artwork, full_art) - - transfer_user = noah_jannik.get(card["Owner"]) - - if transfer_user is not None: - requester.make_transfer_card_request(creator, id, transfer_user) - - # requester.make_transfer_card_request(creator, i+1, artist) - - -def register_users(user_records, address_records): - user_aliases = [""] - for user in user_records: - alias = user["Alias"].strip() - if alias in user_aliases: - continue - os.system(f"Cardchaind keys add '{alias}'") - print("") - requester.make_create_user_request("alice".encode("utf-8"), alias.encode("utf-8")) - user_aliases.append(alias) - - -if __name__ == "__main__": - with open(sys.argv[1], "r") as file: - records = json.load(file)["app_state"]["cardservice"] - - card_records = records["card_records"] - user_records = records["users"] - address_records = records["addresses"] - user_dict = {address_records[i]: user["Alias"] for i, user in enumerate(user_records)} - - #register_users(user_records, address_records) - register_cards(card_records, user_dict) diff --git a/scripts/paramchange.json b/scripts/paramchange.json deleted file mode 100644 index 180197ba..00000000 --- a/scripts/paramchange.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "title": "Param change commonsPerPack: 4", - "description": "We want to change the commonsPerPack", - "changes": [ - { - "subspace": "cardchain", - "key": "CommonsPerPack", - "value": "4" - } - ], - "deposit": "10000000ubpf" -} diff --git a/scripts/paramchange/paramchange.json b/scripts/paramchange/paramchange.json deleted file mode 100644 index 4fba0645..00000000 --- a/scripts/paramchange/paramchange.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "title": "Param change setSize: 135", - "description": "We want to change the set size", - "changes": [ - { - "subspace": "cardchain", - "key": "SetSize", - "value": "135" - } - ], - "deposit": "10000000ubpf" -} \ No newline at end of file diff --git a/scripts/paramchange/submitproposal.sh b/scripts/paramchange/submitproposal.sh deleted file mode 100644 index c04dc237..00000000 --- a/scripts/paramchange/submitproposal.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/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 - -cardchaind q gov proposals \ No newline at end of file diff --git a/scripts/paramchange/vote.sh b/scripts/paramchange/vote.sh deleted file mode 100644 index 8b794a8b..00000000 --- a/scripts/paramchange/vote.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/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 deleted file mode 100644 index df40de5b..00000000 --- a/scripts/register_faucet.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash -parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P ) - -cd "$parent_path" - -mapfile -t rpcs < <( - jq -r '.rpcs[]' ../peer_nodes.json -) - -for i in "${!rpcs[@]}"; do - if curl --output /dev/null --silent --head --fail --connect-timeout 5 ${rpcs[$i]}; then - echo "URL exists: ${rpcs[$i]}" - RPC=${rpcs[$i]} - - break - else - echo "not reachable $i" - fi -done -if [ -z "$RPC" ] -then - echo -e "\033[0;31mNo RPC available\033[0m" - exit -fi - -cardchaind tx cardchain createuser $(cat ../backup/faucetaddress.txt) faucet --from jannik --gas auto --node $RPC - diff --git a/scripts/sets/add-artwork.sh b/scripts/sets/add-artwork.sh deleted file mode 100644 index 7ed61547..00000000 --- a/scripts/sets/add-artwork.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/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 deleted file mode 100644 index d23a3a15..00000000 --- a/scripts/sets/add-cards.sh +++ /dev/null @@ -1,153 +0,0 @@ -#!/usr/bin/env bash -if [ $# -lt 1 ]; then - echo 1>&2 "Please specify set id via argument" - exit 2 -fi - -#technology -cardchaind tx cardchain add-card-to-set $1 71 --from jannik -cardchaind tx cardchain add-card-to-set $1 44 --from jannik -cardchaind tx cardchain add-card-to-set $1 142 --from jannik -cardchaind tx cardchain add-card-to-set $1 143 --from jannik -cardchaind tx cardchain add-card-to-set $1 252 --from jannik -cardchaind tx cardchain add-card-to-set $1 45 --from jannik -cardchaind tx cardchain add-card-to-set $1 25 --from jannik -cardchaind tx cardchain add-card-to-set $1 27 --from jannik -cardchaind tx cardchain add-card-to-set $1 51 --from jannik -cardchaind tx cardchain add-card-to-set $1 54 --from jannik -cardchaind tx cardchain add-card-to-set $1 225 --from jannik -cardchaind tx cardchain add-card-to-set $1 140 --from jannik -cardchaind tx cardchain add-card-to-set $1 46 --from jannik -cardchaind tx cardchain add-card-to-set $1 53 --from jannik -cardchaind tx cardchain add-card-to-set $1 55 --from jannik -cardchaind tx cardchain add-card-to-set $1 56 --from jannik -cardchaind tx cardchain add-card-to-set $1 67 --from jannik -cardchaind tx cardchain add-card-to-set $1 85 --from jannik -cardchaind tx cardchain add-card-to-set $1 299 --from jannik -cardchaind tx cardchain add-card-to-set $1 167 --from jannik -cardchaind tx cardchain add-card-to-set $1 191 --from jannik -cardchaind tx cardchain add-card-to-set $1 52 --from jannik -cardchaind tx cardchain add-card-to-set $1 247 --from jannik -cardchaind tx cardchain add-card-to-set $1 43 --from jannik -cardchaind tx cardchain add-card-to-set $1 62 --from jannik -cardchaind tx cardchain add-card-to-set $1 284 --from jannik -cardchaind tx cardchain add-card-to-set $1 59 --from jannik -cardchaind tx cardchain add-card-to-set $1 139 --from jannik -cardchaind tx cardchain add-card-to-set $1 253 --from jannik -cardchaind tx cardchain add-card-to-set $1 381 --from jannik -cardchaind tx cardchain add-card-to-set $1 412 --from jannik -#nature -cardchaind tx cardchain add-card-to-set $1 407 --from jannik -cardchaind tx cardchain add-card-to-set $1 73 --from jannik -cardchaind tx cardchain add-card-to-set $1 411 --from jannik -cardchaind tx cardchain add-card-to-set $1 154 --from jannik -cardchaind tx cardchain add-card-to-set $1 147 --from jannik -cardchaind tx cardchain add-card-to-set $1 156 --from jannik -cardchaind tx cardchain add-card-to-set $1 0 --from jannik -cardchaind tx cardchain add-card-to-set $1 155 --from jannik -cardchaind tx cardchain add-card-to-set $1 122 --from jannik -cardchaind tx cardchain add-card-to-set $1 464 --from jannik -cardchaind tx cardchain add-card-to-set $1 77 --from jannik -cardchaind tx cardchain add-card-to-set $1 246 --from jannik -cardchaind tx cardchain add-card-to-set $1 119 --from jannik -cardchaind tx cardchain add-card-to-set $1 75 --from jannik -cardchaind tx cardchain add-card-to-set $1 149 --from jannik -cardchaind tx cardchain add-card-to-set $1 112 --from jannik -cardchaind tx cardchain add-card-to-set $1 380 --from jannik -cardchaind tx cardchain add-card-to-set $1 227 --from jannik -cardchaind tx cardchain add-card-to-set $1 63 --from jannik -cardchaind tx cardchain add-card-to-set $1 64 --from jannik -cardchaind tx cardchain add-card-to-set $1 21 --from jannik -cardchaind tx cardchain add-card-to-set $1 254 --from jannik -cardchaind tx cardchain add-card-to-set $1 108 --from jannik -cardchaind tx cardchain add-card-to-set $1 74 --from jannik -cardchaind tx cardchain add-card-to-set $1 28 --from jannik -cardchaind tx cardchain add-card-to-set $1 125 --from jannik -cardchaind tx cardchain add-card-to-set $1 397 --from jannik -cardchaind tx cardchain add-card-to-set $1 159 --from jannik -cardchaind tx cardchain add-card-to-set $1 410 --from jannik -cardchaind tx cardchain add-card-to-set $1 158 --from jannik -#mysticism -cardchaind tx cardchain add-card-to-set $1 47 --from jannik -cardchaind tx cardchain add-card-to-set $1 36 --from jannik -cardchaind tx cardchain add-card-to-set $1 65 --from jannik -cardchaind tx cardchain add-card-to-set $1 95 --from jannik -cardchaind tx cardchain add-card-to-set $1 100 --from jannik -cardchaind tx cardchain add-card-to-set $1 17 --from jannik -cardchaind tx cardchain add-card-to-set $1 23 --from jannik -cardchaind tx cardchain add-card-to-set $1 216 --from jannik -cardchaind tx cardchain add-card-to-set $1 101 --from jannik -cardchaind tx cardchain add-card-to-set $1 103 --from jannik -cardchaind tx cardchain add-card-to-set $1 18 --from jannik -cardchaind tx cardchain add-card-to-set $1 223 --from jannik -cardchaind tx cardchain add-card-to-set $1 12 --from jannik -cardchaind tx cardchain add-card-to-set $1 222 --from jannik -cardchaind tx cardchain add-card-to-set $1 232 --from jannik -cardchaind tx cardchain add-card-to-set $1 97 --from jannik -cardchaind tx cardchain add-card-to-set $1 33 --from jannik -cardchaind tx cardchain add-card-to-set $1 98 --from jannik -cardchaind tx cardchain add-card-to-set $1 150 --from jannik -cardchaind tx cardchain add-card-to-set $1 66 --from jannik -cardchaind tx cardchain add-card-to-set $1 42 --from jannik -cardchaind tx cardchain add-card-to-set $1 114 --from jannik -cardchaind tx cardchain add-card-to-set $1 151 --from jannik -cardchaind tx cardchain add-card-to-set $1 168 --from jannik -cardchaind tx cardchain add-card-to-set $1 135 --from jannik -cardchaind tx cardchain add-card-to-set $1 99 --from jannik -cardchaind tx cardchain add-card-to-set $1 24 --from jannik -cardchaind tx cardchain add-card-to-set $1 102 --from jannik -cardchaind tx cardchain add-card-to-set $1 104 --from jannik -cardchaind tx cardchain add-card-to-set $1 224 --from jannik -#culture -cardchaind tx cardchain add-card-to-set $1 255 --from jannik -cardchaind tx cardchain add-card-to-set $1 41 --from jannik -cardchaind tx cardchain add-card-to-set $1 8 --from jannik -cardchaind tx cardchain add-card-to-set $1 84 --from jannik -cardchaind tx cardchain add-card-to-set $1 83 --from jannik -cardchaind tx cardchain add-card-to-set $1 15 --from jannik -cardchaind tx cardchain add-card-to-set $1 256 --from jannik -cardchaind tx cardchain add-card-to-set $1 107 --from jannik -cardchaind tx cardchain add-card-to-set $1 50 --from jannik -cardchaind tx cardchain add-card-to-set $1 170 --from jannik -cardchaind tx cardchain add-card-to-set $1 109 --from jannik -cardchaind tx cardchain add-card-to-set $1 105 --from jannik -cardchaind tx cardchain add-card-to-set $1 372 --from jannik -cardchaind tx cardchain add-card-to-set $1 9 --from jannik -cardchaind tx cardchain add-card-to-set $1 10 --from jannik -cardchaind tx cardchain add-card-to-set $1 49 --from jannik -cardchaind tx cardchain add-card-to-set $1 110 --from jannik -cardchaind tx cardchain add-card-to-set $1 248 --from jannik -cardchaind tx cardchain add-card-to-set $1 38 --from jannik -cardchaind tx cardchain add-card-to-set $1 86 --from jannik -cardchaind tx cardchain add-card-to-set $1 19 --from jannik -cardchaind tx cardchain add-card-to-set $1 14 --from jannik -cardchaind tx cardchain add-card-to-set $1 123 --from jannik -cardchaind tx cardchain add-card-to-set $1 31 --from jannik -cardchaind tx cardchain add-card-to-set $1 20 --from jannik -cardchaind tx cardchain add-card-to-set $1 141 --from jannik -cardchaind tx cardchain add-card-to-set $1 257 --from jannik -cardchaind tx cardchain add-card-to-set $1 16 --from jannik -cardchaind tx cardchain add-card-to-set $1 138 --from jannik -# multi class -cardchaind tx cardchain add-card-to-set $1 562 --from jannik -cardchaind tx cardchain add-card-to-set $1 189 --from jannik -cardchaind tx cardchain add-card-to-set $1 152 --from jannik -cardchaind tx cardchain add-card-to-set $1 126 --from jannik -cardchaind tx cardchain add-card-to-set $1 514 --from jannik -cardchaind tx cardchain add-card-to-set $1 379 --from jannik -cardchaind tx cardchain add-card-to-set $1 238 --from jannik -cardchaind tx cardchain add-card-to-set $1 128 --from jannik -cardchaind tx cardchain add-card-to-set $1 118 --from jannik -cardchaind tx cardchain add-card-to-set $1 13 --from jannik -cardchaind tx cardchain add-card-to-set $1 132 --from jannik -cardchaind tx cardchain add-card-to-set $1 87 --from jannik -cardchaind tx cardchain add-card-to-set $1 29 --from jannik -cardchaind tx cardchain add-card-to-set $1 1 --from jannik -cardchaind tx cardchain add-card-to-set $1 397 --from jannik -cardchaind tx cardchain add-card-to-set $1 131 --from jannik -cardchaind tx cardchain add-card-to-set $1 129 --from jannik -cardchaind tx cardchain add-card-to-set $1 120 --from jannik -cardchaind tx cardchain add-card-to-set $1 507 --from jannik -cardchaind tx cardchain add-card-to-set $1 215 --from jannik -cardchaind tx cardchain add-card-to-set $1 124 --from jannik -cardchaind tx cardchain add-card-to-set $1 115 --from jannik \ No newline at end of file diff --git a/scripts/sets/buy-booster-pack.sh b/scripts/sets/buy-booster-pack.sh deleted file mode 100644 index aa27fbfa..00000000 --- a/scripts/sets/buy-booster-pack.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -if [ $# -lt 1 ]; then - echo 1>&2 "Please specify set id via argument" - exit 2 -fi - -cardchaind tx cardchain buy-booster-pack 1 --from jannik --gas auto \ No newline at end of file diff --git a/scripts/sets/card-rarity.sh b/scripts/sets/card-rarity.sh deleted file mode 100644 index 377739ed..00000000 --- a/scripts/sets/card-rarity.sh +++ /dev/null @@ -1,153 +0,0 @@ -#!/usr/bin/env bash -if [ $# -lt 1 ]; then - echo 1>&2 "Please specify set id via argument" - exit 2 -fi - -#technology -cardchaind tx cardchain set-card-rarity 71 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 44 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 142 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 143 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 252 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 45 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 25 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 27 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 51 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 54 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 225 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 140 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 46 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 53 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 55 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 56 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 67 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 85 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 299 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 167 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 191 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 52 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 247 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 43 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 62 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 284 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 59 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 139 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 253 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 381 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 412 $1 rare --from jannik -#nature -cardchaind tx cardchain set-card-rarity 407 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 73 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 411 $1 common --from jannik SHIT -cardchaind tx cardchain set-card-rarity 154 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 147 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 156 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 0 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 155 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 122 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 464 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 77 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 246 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 119 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 75 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 149 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 112 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 380 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 227 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 63 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 64 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 21 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 254 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 108 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 74 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 28 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 125 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 397 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 159 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 410 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 158 $1 uncommon --from jannik -#mysticism -cardchaind tx cardchain set-card-rarity 47 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 36 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 65 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 95 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 100 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 17 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 23 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 216 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 101 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 103 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 18 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 223 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 12 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 222 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 232 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 97 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 33 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 98 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 150 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 66 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 42 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 114 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 151 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 168 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 135 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 99 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 24 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 102 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 104 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 224 $1 rare --from jannik -#culture -cardchaind tx cardchain set-card-rarity 255 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 41 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 8 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 84 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 83 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 15 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 256 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 107 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 50 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 170 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 109 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 105 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 372 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 9 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 10 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 49 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 110 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 248 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 38 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 86 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 19 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 14 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 123 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 31 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 20 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 141 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 257 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 16 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 138 $1 uncommon --from jannik -# multi class -cardchaind tx cardchain set-card-rarity 562 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 189 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 152 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 126 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 514 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 379 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 238 $1 common --from jannik -cardchaind tx cardchain set-card-rarity 128 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 118 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 13 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 132 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 87 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 29 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 1 $1 uncommon --from jannik -cardchaind tx cardchain set-card-rarity 397 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 131 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 129 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 120 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 507 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 215 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 124 $1 rare --from jannik -cardchaind tx cardchain set-card-rarity 115 $1 rare --from jannik \ No newline at end of file diff --git a/scripts/sets/create-set.sh b/scripts/sets/create-set.sh deleted file mode 100644 index cb3b97af..00000000 --- a/scripts/sets/create-set.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -cardchaind tx cardchain create-set alpha cc14km80077s0hch3sh38wh2hfk7kxfau4456r3ej cc14km80077s0hch3sh38wh2hfk7kxfau4456r3ej [] --from jannik \ No newline at end of file diff --git a/scripts/sets/finalize-set.sh b/scripts/sets/finalize-set.sh deleted file mode 100644 index 8a47be13..00000000 --- a/scripts/sets/finalize-set.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/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 gov submit-legacy-proposal set-proposal 1 10000000ubpf --from jannik --gas auto - -cardchaind q gov proposals \ No newline at end of file diff --git a/scripts/sets/howto.txt b/scripts/sets/howto.txt deleted file mode 100644 index 26363f9b..00000000 --- a/scripts/sets/howto.txt +++ /dev/null @@ -1,27 +0,0 @@ -1. voting power to jannik -> delegate to validator -cardchaind q staking validators -cardchaind tx staking delegate ccvaloper1c2htcglks224ua32qd4p95p4ydumd0zaq9y3sj 5000000ubpf --from jannik - -2. set size adjust? => paramchange folder - -3. -bash create-set.sh -cardchaind query cardchain q-sets design "[]" "[]" "" - -4. -yes | bash add-cards.sh 1 - -5. -yes | bash card-rarity.sh 1 - -6. -bash story.sh - -7. -bash add-artwork.sh - -8. -bash finalize-set.sh - -9. -bash vote.sh \ No newline at end of file diff --git a/scripts/sets/story.sh b/scripts/sets/story.sh deleted file mode 100644 index 4b918b4c..00000000 --- a/scripts/sets/story.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/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 deleted file mode 100644 index ec1013bc..00000000 --- a/scripts/sets/vote.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/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/tests/test_council.sh b/scripts/tests/test_council.sh deleted file mode 100755 index a1fc54ee..00000000 --- a/scripts/tests/test_council.sh +++ /dev/null @@ -1,29 +0,0 @@ -./test_setup.sh - -ARGS="--node tcp://localhost:26659 --gas 8000000" - -for i in {0..5} -do -./createUser.sh $i -done - -cardchaind tx cardchain create-council 0 --from "Cooler Typ" $ARGS - -for i in {0..5} -do -cardchaind tx cardchain register-for-council --from $i $ARGS -done - -for i in {0..5} -do -cardchaind tx cardchain commit-council-response 0 Yes $i "" --from $i $ARGS -done - -cardchaind q cardchain q-council 0 $ARGS - -for i in {0..5} -do -cardchaind tx cardchain reveal-council-response 0 Yes $i --from $i $ARGS -done - -cardchaind q cardchain q-council 0 $ARGS diff --git a/scripts/tests/test_reporting.sh b/scripts/tests/test_reporting.sh deleted file mode 100755 index 0b93a866..00000000 --- a/scripts/tests/test_reporting.sh +++ /dev/null @@ -1,11 +0,0 @@ -#./createUser.sh player1 -#./createUser.sh player2 -#./createUser.sh reporter1 - -NUM=43 - -cardchaind tx cardchain open-match `cardchaind keys show player1 --address` `cardchaind keys show player2 --address` "[1,2,3,7,8,624]" "[4,5,6,10,11,12,672]" --from reporter1 --gas auto - -cardchaind tx cardchain confirm-match $NUM BWon "[{\"cardId\": 672, \"voteType\": 3}]" --from player1 --gas auto -cardchaind tx cardchain confirm-match $NUM BWon "[{\"cardId\": 624, \"voteType\": 2}]" --from player2 --gas auto -cardchaind tx cardchain report-match $NUM "[2,3,8,624]" "[4,5,6,12,672]" BWon --from reporter1 --gas auto \ No newline at end of file diff --git a/scripts/tests/test_setup.sh b/scripts/tests/test_setup.sh deleted file mode 100755 index 8d7b7d45..00000000 --- a/scripts/tests/test_setup.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/bash - -ARGS="--node tcp://localhost:26659" - -cardchaind keys add "Cooler Typ" - -cardchaind keys add "Cooler Artist" - -cardchaind tx cardchain createuser $(cardchaind keys show "Cooler Typ" --address) "Cooler Typ" --from alice $ARGS - -cardchaind tx cardchain createuser $(cardchaind keys show "Cooler Artist" --address) "Cooler Artist" --from alice $ARGS - -cardchaind tx cardchain buy-card-scheme 8000000000ucredits --from "Cooler Typ" $ARGS - -cardchaind tx cardchain save-card-content 0 '{"Entity":{"CardName":"Yees","CastingCost":13,"Class":{"Nature":false,"Mysticism":false,"Technology":true,"Culture":true},"Abilities":[{"Pay":{"ManaAmount":2,"Effects":[{"Arm":{"Target":"RANDOM","Amount":{"SimpleIntValue":3}}}]}}],"Attack":10,"Health":10,"FlavourText":"-.-","Tags":["SPIRIT"],"Keywords":["[\"Periodic\", \"Ravage\"]"],"RulesTexts":["This could be your RulesText",""]}}' "no notes" "$(cardchaind keys show "Cooler Artist" --address)" --from "Cooler Typ" --gas 99000000 $ARGS - -cardchaind tx cardchain add-artwork 0 "data:image/jpeg;base64,$(base64 ./pic.jpg)" true --from "Cooler Artist" --gas 990000000 $ARGS diff --git a/scripts/validators/craft_genesis_balances.js b/scripts/validators/craft_genesis_balances.js deleted file mode 100644 index a1f4f957..00000000 --- a/scripts/validators/craft_genesis_balances.js +++ /dev/null @@ -1,30 +0,0 @@ -const fs = require('node:fs'); -const R = require('ramda'); - - -const testFolder = './snapshots/'; -let files = fs.readdirSync(testFolder); - -let data = []; -files.forEach(file => { - let content = fs.readFileSync('snapshots/'+file, "utf8"); - let contentArray = R.map(R.split('\t'), R.split('\n', content)) - data = R.append(contentArray, data) -}); - -let dataObj = {} -data.forEach(file => { - let fileObj = {} - file.forEach(entry => { - if (dataObj[entry[0]]) dataObj[entry[0]] += parseInt(entry[1]) - else dataObj[entry[0]] = parseInt(entry[1]) - }) -}) - -saveableData = [] -R.mapObjIndexed((val, key) => saveableData.push(key+"\t"+val), dataObj) -saveableData = saveableData.join("\n") - -console.log(saveableData) -fs.writeFileSync("merged_genesis_balances.tsv", saveableData); - diff --git a/scripts/validators/genesis_balances.tsv b/scripts/validators/genesis_balances.tsv deleted file mode 100644 index 8264dff2..00000000 --- a/scripts/validators/genesis_balances.tsv +++ /dev/null @@ -1 +0,0 @@ -"cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn\t56000\ncc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur\t21850\ncc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86\t4900\ncc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2\t500\ncc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4\t18850\ncc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk\t82350\ncc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f\t5000\ncc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k\t1000\ncc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8\t10000\ncc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3\t1500\ncc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s\t48000\ncc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys\t3000\ncc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c\t1400\ncc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j\t100\ncc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw\t600\ncc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7\t100\ncc1vuzh99j2ggdf3c2rzkwursvp2jx9r4u7mvuj8h\t100\ncc1mp77nu88lx3760lzpqf868s49ezdpg7gfljkun\t300\ncc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy\t700\ncc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q\t800\ncc1uzvzgt04gg4t70jquhdxa9mgyzkc88m3czxdps\t100\ncc1x4yvn76pveqwej9gy3pcxqst5z66p4e2wzg70a\t100\ncc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx\t700\ncc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64\t500\ncc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8\t100\ncc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d\t700\ncc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp\t700\ncc1jdxal827zlmpjpdu75v9zcuda4gfudryxql2ze\t200\ncc1w6sdrxkys6qq94mdm5eawk2aqfhcs55hld7tad\t100\ncc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x\t200\ncc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp\t500\ncc1k4xdq5n5t0wmlttn3n05rlk2wrftfp3vs8997n\t300\ncc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj\t300\ncc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06\t500\ncc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk\t700\ncc1vh452a3zyyqkngfffsf9cvj8nzhrf0a8zxu6hn\t100\ncc12j8wxashnunc7pvh8ep383sy55rk086wn6m62l\t100\ncc177vpk4unx4d5pwsrwj4kd2jqq0xya9k9ztk8u7\t100\ncc1qa8t2ed87x8tgdwyw2tcgxpsg4stvn4w64rtna\t100\ncc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq\t100\ncc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4\t500\ncc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w\t700\ncc1ekdz6rlnh4sx02wnwhdzheqq4l7pgvptjn2yu9\t300\ncc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r\t600\ncc1nfn9yev2ry0nmh0r5akpym58udmevt75pume5s\t300\ncc1dwjsqp2psjyyaujxmwv76e6dk767tuamhxx0t2\t600\ncc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele\t700\ncc147zd6esmydn05pjwghzxmp2lztk0562gal3qnp\t300\ncc19u8dpw8jp4mcelpelhp3pkam2sxzr6gdz8y3zt\t200\ncc18dnnlpy3l6j7v0pekf73xxm6kh3z7chhpp6xev\t400\ncc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe\t300\ncc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla\t700\ncc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j\t700\ncc1ehad6hausea0qc8t3amxlpqs5rx2c05zmds3k9\t200\ncc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa\t1000\ncc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl\t100\ncc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys\t100\ncc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj\t800\ncc1tnxxhkf3s8apvf34270vde7t9u59t6xxq9xsac\t100\ncc1fss98cftj6g8h24yzxfhq2q0hr06n3u5ca62zf\t100\ncc1wwg5f8x6c6dsucm22xkfppus6ul76ck9w3m7mc\t100\ncc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf\t500\ncc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23\t500\ncc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk\t400\ncc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h\t100\ncc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8\t700\ncc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu\t700\ncc1ep8qq32hh7ndtdcztgd2rrzlq8dcmvmmantevt\t100\ncc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57\t400\ncc1wkuexd8n4lvd6032p4yuwnuf4cctd8m9cph6j5\t300\ncc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g\t700\ncc1cy0ulsvus9ar70xst9x75cy4grxheqj88fk6vx\t200\ncc1jwavmmr75p25ay6atyaw4yw2pveywag8yz0rrw\t100\ncc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25\t600\ncc1unulf3ezmkwjdgcmvskkc3anf3phw8fh8krxv7\t100\ncc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k\t3800\ncc13rvr4c369rhw63pjxcjvjpjy5ck9mm6pajz87r\t200\ncc1klpp6q7dzd3mafjve3f3ejt4c5y5nfeldt57j7\t100\ncc1g76zzp0neeulx9p7cvfh00vz2eq5d04v26ntsg\t200\ncc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x\t600\ncc1vwg80fptuqmn0e3tnnqcgd0sm3u3a2s09qtq5m\t400\ncc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k\t700\ncc13ycv4yp4u58xk9gghwlfjkey2y9smezpezd4x4\t100\ncc1c4smhzxtlzarjgrnueetdcjm3kjq3kx4sfkk3j\t500\ncc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz\t700\ncc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz\t600\ncc1q8zrfyv7muv7aflr5xzn069zfumy4xs8w6a3xn\t100\ncc14jzqhuk7s0c2ytspgrnq3ljqfxq5fjynr5q2zm\t100\ncc1prnmjqvp2080lgugjle0492ratxa387npjgz37\t200\ncc1qrjt6rsmn9qvs52suyujhuu8qp7a3520es7xy4\t300\ncc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y\t500\ncc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz\t700\ncc1slj7amnmemt0t0f8uahnnyv2ztdwuc30sxgdku\t100\ncc10zh0cdzdzxz8449v0pg4a2f32yueq8szrkw9qc\t100\ncc12jwxqch0xv6yn5e5jlyszqae43vzsag7xemygj\t100\ncc12jzf6x8qe77ephgx0cs0q276g2ptapzlr4k2ew\t100\ncc12l3zzykqyuunf9nlh2kkmugr09euy5hd5lcgws\t100\ncc13h9d5z77sfksv6uweheg38669g270puzkw5pwx\t100\ncc13p9cvq5atl2cagnjsxsm72vnyfkfnngulj28g3\t100\ncc13sany3heekznx5d2yur3v7rxj3f00ma6jv5eqq\t100\ncc146dmvlqxrcwa2h6ulg34l84wg07pmycyfsr0mq\t100\ncc14va4c3sfpxyapjjgl9mguwr82zc6v4f4tzellx\t100\ncc154pwgwvec6m3746wdgqwct7qw7vw3ujvw6uw0r\t100\ncc15nxn2qs00y367qw3789dc089kv2dmdakcva2ud\t100\ncc17p0qlp5j6de7tjr0fuu8xyp708d292tvx8wrek\t200\ncc18cpvvupy2xd8s6xurnzfh7z7c3ystll8kplyxc\t100\ncc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk\t300\ncc19hwl8xvvk0fsu5lyakum22wstkdclfh82nlt3t\t100\ncc1a9kvywsn2fpuvtsjq4yk0p048ds7ejv4xdk23x\t300\ncc1cqd0ka6td2tr7ulfd3ynggk0njspcp5827x3hn\t300\ncc1cvaf96kz8jz8u4435p0yrjgel0t8zgz33p2cpe\t100\ncc1d5cpaahz23nanxd69aeag44xecp0fu0a5flfus\t100\ncc1dwx5cq7q53mlvkyjpgpwafyktk76qnxtaxm9j3\t100\ncc1f6u85enm6dfq8y7rqyfq2550eztcjh9ud7vjr6\t100\ncc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr\t200\ncc1f8s69xmkm9e0uxjr9ylg0rfxukfzgwldphv5y9\t200\ncc1fse4rke7mvveasnss47ztngwl4hwg7gm7egl5u\t100\ncc1h5ejeeas7v85q80k7p6hxaqyu8c8kn6lnav72k\t100\ncc1h7upe2prq8hdhzukyhpg9ec7njmmw3e5u8dmts\t100\ncc1hjjv4h3l2x77vrv0ypvcu6twuy0tfnx8s8yj6k\t100\ncc1hmsev8vpg60h67plrwvx2tmx3xzwfednjvl2fz\t100\ncc1jjenfqlk00swjpn8vwd93rzx0guxg3tmrgsw90\t200\ncc1jpucyzqw96sdpkqqkhz2k6qqte08ev88yy3jja\t100\ncc1jxqhq2kskfzyhhm4acy8cd68ph5az54t0tdyud\t200\ncc1kg85kh7pamfnj2j3k4g0y93nwkpj4txfvxk86d\t100\ncc1m8lsz20hms79we5yn5ckml30kgg5mu6deslxym\t100\ncc1mjqmlxa8aze6mduq4ucyvtdjttc78dgtt0secn\t200\ncc1n44vc78vjmuvpfcaxarzta8wsutrh08cy36u3v\t100\ncc1pjpaf9af7kh83kk7z4wgxyaw6772qggajzkt7x\t100\ncc1py6acxj4d2l4694kyqj34mwhgr5f04pyn2wac5\t100\ncc1qu6hwj678c5tm0j7q52rda8w8ftjes5cw9axu5\t100\ncc1rhdpj0vrfmdfxwntj8evmncdhc35xp0edsnczk\t100\ncc1u7wrw08y8wm0m8ev9c5tu62fk9jwa2vst6ajfa\t100\ncc1vg2kwnamjp0q0rdcsq2n8wkp0sx7c042ehuwek\t100\ncc1vknmv3g5vfg96276m3nuzg3temqthz0exru50z\t100\ncc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz\t200\ncc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z\t100\ncc1wlmkgs6mckzphx42pxm8xaxwd9q997y2dzcphp\t200\ncc1x2m6chcf68ujqqcsm8smu2ycfltf3cf486t2x8\t100\ncc1xwcl8277d39q75q6eear3y8m8ymrapmtsf5wty\t100\ncc1yc2zwyh6v545nv5sgh7gv340nlc7x5wf0kyu53\t100\ncc1yll7qpdep4h7vg8na8jfwvfluy50j5damm6ua2\t100\ncc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn\t300\ncc13v8pucmwnnmhlkh2ajyhdezh3ktap3uuzradg0\t100\ncc182n9vgjdqjxc59lluf599s07m0ptlr0effrapu\t100\ncc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv\t300\ncc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g\t400\ncc1jxyvvt3kym3paa6v0j7jlp3ldtfcsgsltvd79t\t100\ncc1lghgn9xghujw82jy3fskpzzd9faxkse2dkejfh\t100\ncc1p9653c8puaum26fxnmm85xumflakn22uj4sxqt\t100\ncc1s9arxcl3y57aeavu0qx4v97720wm4cpudte0g4\t100\ncc1zvgued20j7ltucwduwe2tsvhfwxdpu4lcla2tz\t100\ncc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf\t300\ncc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m\t100\ncc10xzsrcxr6y0e52nvwxrf30892mnsc8zsges8fy\t100\ncc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v\t200\ncc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5\t200\ncc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt\t200\ncc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92\t200\ncc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f\t200\ncc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0\t200" \ No newline at end of file diff --git a/scripts/validators/get_delegators.sh b/scripts/validators/get_delegators.sh deleted file mode 100644 index ec5b2c3e..00000000 --- a/scripts/validators/get_delegators.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/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/scripts/validators/merged_genesis_balances.tsv b/scripts/validators/merged_genesis_balances.tsv deleted file mode 100644 index d03e835e..00000000 --- a/scripts/validators/merged_genesis_balances.tsv +++ /dev/null @@ -1,201 +0,0 @@ -Address Balance -cc1pfhx45ajlpk85sfn3mwyfvznct2tdeuv7vv7v6 100 -cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 500 -cc1p3kejss5t4zugkaffpdm65h0lvv4847rpfhdwt 200 -cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 800 -cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 1100 -cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 1200 -cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 1000 -cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 600 -cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 1000 -cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 600 -cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 600 -cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 1000 -cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 400 -cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 1000 -cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 1000 -cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 600 -cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 1000 -cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 400 -cc1v32ggu70yw6mwh7zeyaz7a9n0znkk34ypsc59h 100 -cc1vnyum3ntr4ejhhekfd5ke5ul74rcgcx5ku5xes 100 -cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 900 -cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 800 -cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 700 -cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 1000 -cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 300 -cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 4100 -cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 1100 -cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 300 -cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 1000 -cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 500 -cc1r9zywgy53xg093ssdfkr9agudnyfzpmmc5hdhu 100 -cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 400 -cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 400 -cc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v 400 -cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 1000 -cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 1000 -cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 700 -cc1cve8ft5d7hmccz7ehc8qxzrc0cq9s6egg5zd9k 200 -cc1cey5d65p9k5y66e8vttur4mn9cr0nmc9jfde4y 100 -cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 300 -cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 600 -cc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt 300 -cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 1000 -cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 800 -cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 1000 -cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 800 -cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 900 -cc1un7clms2rsg99842ywkacjg4y6duspqp4u5vze 100 -cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 1000 -cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 800 -cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 900 -cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 300 -cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 900 -cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 1000 -cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 800 -cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 900 -cc1lcd6ueqfq2h934vhzxclzzgla3nrd646m3v0hv 100 -cc198ppn5ezf3zt90a6uawcskvy407vrduzzfzqh0 100 -cc1x3xdfj8gsam2872y7ykrn4q9u2l64n2mx6x3ud 100 -cc1xe80y8xsse2ty60cgaetny443tmr95thj2whsf 100 -cc1895x9k0yz7fwqe69dgkz8m9wuajn9wz42hap4t 100 -cc18xuf9hngrey0xe2dljxt9mjwksr42qcsz00ytn 100 -cc1gfvfexqjhz660fwqfpyhutenzk788un29zh2xe 100 -cc1ga6vrq6tw3lgvs7z5lr76j4mv6wt745cf2mr6v 100 -cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 300 -cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk 200 -cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 200 -cc1dn50kpwc8vxajpllam4l62zk4g37x2m0c7qgs9 100 -cc1whlxz73h8t22ytsdzm04aknlxm2gz04ugcy4eq 200 -cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 300 -cc139rf2wl9mxa348tnr957ev7c4x85jjln9am59l 100 -cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 700 -cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 500 -cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 300 -cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 700 -cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha 200 -cc15lwe6hczz9czh2msktksn7mvjsl5t8gz9zzl3l 200 -cc1has2wgz58xw0sfaa60z437dl3vs7u52gmury3y 100 -cc1e7rmfv2vlkn830396tl07jhqh822z0wd8x7k6j 100 -cc1m2gy6xkjdwyk6dkvkryckzg5emhmmnxpqxcgez 100 -cc1mv33hfvvu5pkajc6ear846yclcewceynehj2uj 100 -cc17d4ua8vww2znmzg2w0h65qy7fpqpa25ktmflyg 100 -cc19z20ne3ef575dgfk5ff67xtu0uup8yuj36629j 100 -cc1xaxmxvrhtsnemgcw2lc3mh3lwffk5h730wqacy 100 -cc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m 200 -cc1se7v7c8gslwckfnzmj8halgd67fqfgnnjhzuey 100 -cc1n485ndjsz04nka8q79u3e79u3k5tp5ltfhk2nl 100 -cc1k2g0l077raf7jyn5phqkh8y30eah6lgscv0x8z 100 -cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 400 -cc1cdcsjndsm8ddmd6av7f4zwwn6fqtq34pls4t40 100 -cc16mm2pqdtts8rttlgwg74zcnwg7jfhvxcawn0md 100 -cc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq 200 -cc1axcus06j2k6e359pgplu7w69pp276tgpzra5tf 100 -cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz 357759 -cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn 56000 -cc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur 21850 -cc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86 4900 -cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 500 -cc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4 18850 -cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk 82350 -cc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f 5000 -cc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k 1000 -cc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8 10000 -cc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3 1500 -cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s 48000 -cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 3100 -cc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c 1400 -cc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7 100 -cc1vuzh99j2ggdf3c2rzkwursvp2jx9r4u7mvuj8h 100 -cc1mp77nu88lx3760lzpqf868s49ezdpg7gfljkun 300 -cc1uzvzgt04gg4t70jquhdxa9mgyzkc88m3czxdps 100 -cc1x4yvn76pveqwej9gy3pcxqst5z66p4e2wzg70a 100 -cc1jdxal827zlmpjpdu75v9zcuda4gfudryxql2ze 200 -cc1w6sdrxkys6qq94mdm5eawk2aqfhcs55hld7tad 100 -cc1k4xdq5n5t0wmlttn3n05rlk2wrftfp3vs8997n 300 -cc1vh452a3zyyqkngfffsf9cvj8nzhrf0a8zxu6hn 100 -cc12j8wxashnunc7pvh8ep383sy55rk086wn6m62l 100 -cc177vpk4unx4d5pwsrwj4kd2jqq0xya9k9ztk8u7 100 -cc1qa8t2ed87x8tgdwyw2tcgxpsg4stvn4w64rtna 100 -cc1ekdz6rlnh4sx02wnwhdzheqq4l7pgvptjn2yu9 300 -cc1nfn9yev2ry0nmh0r5akpym58udmevt75pume5s 300 -cc1dwjsqp2psjyyaujxmwv76e6dk767tuamhxx0t2 600 -cc147zd6esmydn05pjwghzxmp2lztk0562gal3qnp 300 -cc19u8dpw8jp4mcelpelhp3pkam2sxzr6gdz8y3zt 200 -cc18dnnlpy3l6j7v0pekf73xxm6kh3z7chhpp6xev 400 -cc1ehad6hausea0qc8t3amxlpqs5rx2c05zmds3k9 200 -cc1tnxxhkf3s8apvf34270vde7t9u59t6xxq9xsac 100 -cc1fss98cftj6g8h24yzxfhq2q0hr06n3u5ca62zf 100 -cc1wwg5f8x6c6dsucm22xkfppus6ul76ck9w3m7mc 100 -cc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h 100 -cc1ep8qq32hh7ndtdcztgd2rrzlq8dcmvmmantevt 100 -cc1wkuexd8n4lvd6032p4yuwnuf4cctd8m9cph6j5 300 -cc1cy0ulsvus9ar70xst9x75cy4grxheqj88fk6vx 200 -cc1jwavmmr75p25ay6atyaw4yw2pveywag8yz0rrw 100 -cc1unulf3ezmkwjdgcmvskkc3anf3phw8fh8krxv7 100 -cc13rvr4c369rhw63pjxcjvjpjy5ck9mm6pajz87r 200 -cc1klpp6q7dzd3mafjve3f3ejt4c5y5nfeldt57j7 100 -cc1g76zzp0neeulx9p7cvfh00vz2eq5d04v26ntsg 200 -cc1vwg80fptuqmn0e3tnnqcgd0sm3u3a2s09qtq5m 400 -cc13ycv4yp4u58xk9gghwlfjkey2y9smezpezd4x4 100 -cc1c4smhzxtlzarjgrnueetdcjm3kjq3kx4sfkk3j 500 -cc1q8zrfyv7muv7aflr5xzn069zfumy4xs8w6a3xn 100 -cc14jzqhuk7s0c2ytspgrnq3ljqfxq5fjynr5q2zm 100 -cc1prnmjqvp2080lgugjle0492ratxa387npjgz37 200 -cc1qrjt6rsmn9qvs52suyujhuu8qp7a3520es7xy4 300 -cc1slj7amnmemt0t0f8uahnnyv2ztdwuc30sxgdku 100 -cc10zh0cdzdzxz8449v0pg4a2f32yueq8szrkw9qc 100 -cc12jwxqch0xv6yn5e5jlyszqae43vzsag7xemygj 100 -cc12jzf6x8qe77ephgx0cs0q276g2ptapzlr4k2ew 100 -cc12l3zzykqyuunf9nlh2kkmugr09euy5hd5lcgws 100 -cc13h9d5z77sfksv6uweheg38669g270puzkw5pwx 100 -cc13p9cvq5atl2cagnjsxsm72vnyfkfnngulj28g3 100 -cc13sany3heekznx5d2yur3v7rxj3f00ma6jv5eqq 100 -cc146dmvlqxrcwa2h6ulg34l84wg07pmycyfsr0mq 100 -cc14va4c3sfpxyapjjgl9mguwr82zc6v4f4tzellx 100 -cc154pwgwvec6m3746wdgqwct7qw7vw3ujvw6uw0r 100 -cc15nxn2qs00y367qw3789dc089kv2dmdakcva2ud 100 -cc17p0qlp5j6de7tjr0fuu8xyp708d292tvx8wrek 200 -cc18cpvvupy2xd8s6xurnzfh7z7c3ystll8kplyxc 100 -cc19hwl8xvvk0fsu5lyakum22wstkdclfh82nlt3t 100 -cc1a9kvywsn2fpuvtsjq4yk0p048ds7ejv4xdk23x 300 -cc1cqd0ka6td2tr7ulfd3ynggk0njspcp5827x3hn 300 -cc1cvaf96kz8jz8u4435p0yrjgel0t8zgz33p2cpe 100 -cc1d5cpaahz23nanxd69aeag44xecp0fu0a5flfus 100 -cc1dwx5cq7q53mlvkyjpgpwafyktk76qnxtaxm9j3 100 -cc1f6u85enm6dfq8y7rqyfq2550eztcjh9ud7vjr6 100 -cc1f8s69xmkm9e0uxjr9ylg0rfxukfzgwldphv5y9 200 -cc1fse4rke7mvveasnss47ztngwl4hwg7gm7egl5u 100 -cc1h5ejeeas7v85q80k7p6hxaqyu8c8kn6lnav72k 100 -cc1h7upe2prq8hdhzukyhpg9ec7njmmw3e5u8dmts 100 -cc1hjjv4h3l2x77vrv0ypvcu6twuy0tfnx8s8yj6k 100 -cc1hmsev8vpg60h67plrwvx2tmx3xzwfednjvl2fz 100 -cc1jjenfqlk00swjpn8vwd93rzx0guxg3tmrgsw90 200 -cc1jpucyzqw96sdpkqqkhz2k6qqte08ev88yy3jja 100 -cc1jxqhq2kskfzyhhm4acy8cd68ph5az54t0tdyud 200 -cc1kg85kh7pamfnj2j3k4g0y93nwkpj4txfvxk86d 100 -cc1m8lsz20hms79we5yn5ckml30kgg5mu6deslxym 100 -cc1mjqmlxa8aze6mduq4ucyvtdjttc78dgtt0secn 200 -cc1n44vc78vjmuvpfcaxarzta8wsutrh08cy36u3v 100 -cc1pjpaf9af7kh83kk7z4wgxyaw6772qggajzkt7x 100 -cc1py6acxj4d2l4694kyqj34mwhgr5f04pyn2wac5 100 -cc1qu6hwj678c5tm0j7q52rda8w8ftjes5cw9axu5 100 -cc1rhdpj0vrfmdfxwntj8evmncdhc35xp0edsnczk 100 -cc1u7wrw08y8wm0m8ev9c5tu62fk9jwa2vst6ajfa 100 -cc1vg2kwnamjp0q0rdcsq2n8wkp0sx7c042ehuwek 100 -cc1vknmv3g5vfg96276m3nuzg3temqthz0exru50z 100 -cc1wlmkgs6mckzphx42pxm8xaxwd9q997y2dzcphp 200 -cc1x2m6chcf68ujqqcsm8smu2ycfltf3cf486t2x8 100 -cc1xwcl8277d39q75q6eear3y8m8ymrapmtsf5wty 100 -cc1yc2zwyh6v545nv5sgh7gv340nlc7x5wf0kyu53 100 -cc1yll7qpdep4h7vg8na8jfwvfluy50j5damm6ua2 100 -cc13v8pucmwnnmhlkh2ajyhdezh3ktap3uuzradg0 100 -cc182n9vgjdqjxc59lluf599s07m0ptlr0effrapu 100 -cc1jxyvvt3kym3paa6v0j7jlp3ldtfcsgsltvd79t 100 -cc1lghgn9xghujw82jy3fskpzzd9faxkse2dkejfh 100 -cc1p9653c8puaum26fxnmm85xumflakn22uj4sxqt 100 -cc1s9arxcl3y57aeavu0qx4v97720wm4cpudte0g4 100 -cc1zvgued20j7ltucwduwe2tsvhfwxdpu4lcla2tz 100 -cc10xzsrcxr6y0e52nvwxrf30892mnsc8zsges8fy 100 -cc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0 200 \ No newline at end of file diff --git a/scripts/validators/package-lock.json b/scripts/validators/package-lock.json deleted file mode 100644 index 301d0bbe..00000000 --- a/scripts/validators/package-lock.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "validators", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "dependencies": { - "ramda": "^0.30.1" - } - }, - "node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - } - } -} diff --git a/scripts/validators/package.json b/scripts/validators/package.json deleted file mode 100644 index 0c5a99ba..00000000 --- a/scripts/validators/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "dependencies": { - "ramda": "^0.30.1" - } -} diff --git a/scripts/validators/snapshots/airdrop05.01.24.tsv b/scripts/validators/snapshots/airdrop05.01.24.tsv deleted file mode 100644 index baa39f0c..00000000 --- a/scripts/validators/snapshots/airdrop05.01.24.tsv +++ /dev/null @@ -1,57 +0,0 @@ -cc1pfhx45ajlpk85sfn3mwyfvznct2tdeuv7vv7v6 100 -cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 100 -cc1p3kejss5t4zugkaffpdm65h0lvv4847rpfhdwt 100 -cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 100 -cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 100 -cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 100 -cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 100 -cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 100 -cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 100 -cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 100 -cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 100 -cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 100 -cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 100 -cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 100 -cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 100 -cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 100 -cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 100 -cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 100 -cc1v32ggu70yw6mwh7zeyaz7a9n0znkk34ypsc59h 100 -cc1vnyum3ntr4ejhhekfd5ke5ul74rcgcx5ku5xes 100 -cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 100 -cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 100 -cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 100 -cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 100 -cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 100 -cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 100 -cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 100 -cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 100 -cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 100 -cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 100 -cc1r9zywgy53xg093ssdfkr9agudnyfzpmmc5hdhu 100 -cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 100 -cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 100 -cc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v 100 -cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 100 -cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 100 -cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 100 -cc1cve8ft5d7hmccz7ehc8qxzrc0cq9s6egg5zd9k 100 -cc1cey5d65p9k5y66e8vttur4mn9cr0nmc9jfde4y 100 -cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 100 -cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 100 -cc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt 100 -cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 100 -cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 100 -cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 100 -cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 100 -cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 100 -cc1un7clms2rsg99842ywkacjg4y6duspqp4u5vze 100 -cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 100 -cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 100 -cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 100 -cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 100 -cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 100 -cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 100 -cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 100 -cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 100 -cc1lcd6ueqfq2h934vhzxclzzgla3nrd646m3v0hv 100 \ No newline at end of file diff --git a/scripts/validators/snapshots/airdrop16.04.24.tsv b/scripts/validators/snapshots/airdrop16.04.24.tsv deleted file mode 100644 index c423be77..00000000 --- a/scripts/validators/snapshots/airdrop16.04.24.tsv +++ /dev/null @@ -1,66 +0,0 @@ -cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 100 -cc1p3kejss5t4zugkaffpdm65h0lvv4847rpfhdwt 100 -cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 100 -cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 100 -cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 100 -cc198ppn5ezf3zt90a6uawcskvy407vrduzzfzqh0 100 -cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 100 -cc1x3xdfj8gsam2872y7ykrn4q9u2l64n2mx6x3ud 100 -cc1xe80y8xsse2ty60cgaetny443tmr95thj2whsf 100 -cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 100 -cc1895x9k0yz7fwqe69dgkz8m9wuajn9wz42hap4t 100 -cc18xuf9hngrey0xe2dljxt9mjwksr42qcsz00ytn 100 -cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 100 -cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 100 -cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 100 -cc1gfvfexqjhz660fwqfpyhutenzk788un29zh2xe 100 -cc1ga6vrq6tw3lgvs7z5lr76j4mv6wt745cf2mr6v 100 -cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 100 -cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 100 -cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 100 -cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 100 -cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 100 -cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk 100 -cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 100 -cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 100 -cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 100 -cc1dn50kpwc8vxajpllam4l62zk4g37x2m0c7qgs9 100 -cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 100 -cc1whlxz73h8t22ytsdzm04aknlxm2gz04ugcy4eq 100 -cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 100 -cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 100 -cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 100 -cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 100 -cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 100 -cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 100 -cc139rf2wl9mxa348tnr957ev7c4x85jjln9am59l 100 -cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 100 -cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 100 -cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 100 -cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 100 -cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 100 -cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 100 -cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha 100 -cc15lwe6hczz9czh2msktksn7mvjsl5t8gz9zzl3l 100 -cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 100 -cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 100 -cc1has2wgz58xw0sfaa60z437dl3vs7u52gmury3y 100 -cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 100 -cc1cve8ft5d7hmccz7ehc8qxzrc0cq9s6egg5zd9k 100 -cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 100 -cc1e7rmfv2vlkn830396tl07jhqh822z0wd8x7k6j 100 -cc1m2gy6xkjdwyk6dkvkryckzg5emhmmnxpqxcgez 100 -cc1mv33hfvvu5pkajc6ear846yclcewceynehj2uj 100 -cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 100 -cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 100 -cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 100 -cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 100 -cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 100 -cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 100 -cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 100 -cc17d4ua8vww2znmzg2w0h65qy7fpqpa25ktmflyg 100 -cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 100 -cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 100 -cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 100 -cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 100 -cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 100 \ No newline at end of file diff --git a/scripts/validators/snapshots/airdrop28.02.24.tsv b/scripts/validators/snapshots/airdrop28.02.24.tsv deleted file mode 100644 index d7f300b5..00000000 --- a/scripts/validators/snapshots/airdrop28.02.24.tsv +++ /dev/null @@ -1,67 +0,0 @@ -cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 100 -cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 100 -cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 100 -cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 100 -cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 100 -cc19z20ne3ef575dgfk5ff67xtu0uup8yuj36629j 100 -cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 100 -cc1xaxmxvrhtsnemgcw2lc3mh3lwffk5h730wqacy 100 -cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 100 -cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 100 -cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 100 -cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 100 -cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 100 -cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 100 -cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 100 -cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 100 -cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 100 -cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 100 -cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk 100 -cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 100 -cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 100 -cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 100 -cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 100 -cc1whlxz73h8t22ytsdzm04aknlxm2gz04ugcy4eq 100 -cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 100 -cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 100 -cc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m 100 -cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 100 -cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 100 -cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 100 -cc1se7v7c8gslwckfnzmj8halgd67fqfgnnjhzuey 100 -cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 100 -cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 100 -cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 100 -cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 100 -cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 100 -cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 100 -cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 100 -cc1n485ndjsz04nka8q79u3e79u3k5tp5ltfhk2nl 100 -cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha 100 -cc15lwe6hczz9czh2msktksn7mvjsl5t8gz9zzl3l 100 -cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 100 -cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 100 -cc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v 100 -cc1k2g0l077raf7jyn5phqkh8y30eah6lgscv0x8z 100 -cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 100 -cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 100 -cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 100 -cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 100 -cc1cdcsjndsm8ddmd6av7f4zwwn6fqtq34pls4t40 100 -cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 100 -cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 100 -cc16mm2pqdtts8rttlgwg74zcnwg7jfhvxcawn0md 100 -cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 100 -cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 100 -cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 100 -cc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq 100 -cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 100 -cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 100 -cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 100 -cc1axcus06j2k6e359pgplu7w69pp276tgpzra5tf 100 -cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 100 -cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 100 -cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 100 -cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 100 -cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 100 -cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 100 \ No newline at end of file diff --git a/scripts/validators/snapshots/genesis_balances.tsv b/scripts/validators/snapshots/genesis_balances.tsv deleted file mode 100644 index 0eddf814..00000000 --- a/scripts/validators/snapshots/genesis_balances.tsv +++ /dev/null @@ -1,162 +0,0 @@ -cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz 357759 -cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn 56000 -cc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur 21850 -cc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86 4900 -cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 500 -cc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4 18850 -cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk 82350 -cc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f 5000 -cc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k 1000 -cc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8 10000 -cc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3 1500 -cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s 48000 -cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 3000 -cc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c 1400 -cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 100 -cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 600 -cc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7 100 -cc1vuzh99j2ggdf3c2rzkwursvp2jx9r4u7mvuj8h 100 -cc1mp77nu88lx3760lzpqf868s49ezdpg7gfljkun 300 -cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 700 -cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 800 -cc1uzvzgt04gg4t70jquhdxa9mgyzkc88m3czxdps 100 -cc1x4yvn76pveqwej9gy3pcxqst5z66p4e2wzg70a 100 -cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 700 -cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 500 -cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 100 -cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 700 -cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 700 -cc1jdxal827zlmpjpdu75v9zcuda4gfudryxql2ze 200 -cc1w6sdrxkys6qq94mdm5eawk2aqfhcs55hld7tad 100 -cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 200 -cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 500 -cc1k4xdq5n5t0wmlttn3n05rlk2wrftfp3vs8997n 300 -cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 300 -cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 500 -cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 700 -cc1vh452a3zyyqkngfffsf9cvj8nzhrf0a8zxu6hn 100 -cc12j8wxashnunc7pvh8ep383sy55rk086wn6m62l 100 -cc177vpk4unx4d5pwsrwj4kd2jqq0xya9k9ztk8u7 100 -cc1qa8t2ed87x8tgdwyw2tcgxpsg4stvn4w64rtna 100 -cc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq 100 -cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 500 -cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 700 -cc1ekdz6rlnh4sx02wnwhdzheqq4l7pgvptjn2yu9 300 -cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 600 -cc1nfn9yev2ry0nmh0r5akpym58udmevt75pume5s 300 -cc1dwjsqp2psjyyaujxmwv76e6dk767tuamhxx0t2 600 -cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 700 -cc147zd6esmydn05pjwghzxmp2lztk0562gal3qnp 300 -cc19u8dpw8jp4mcelpelhp3pkam2sxzr6gdz8y3zt 200 -cc18dnnlpy3l6j7v0pekf73xxm6kh3z7chhpp6xev 400 -cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 300 -cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 700 -cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 700 -cc1ehad6hausea0qc8t3amxlpqs5rx2c05zmds3k9 200 -cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 1000 -cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 100 -cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 100 -cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 800 -cc1tnxxhkf3s8apvf34270vde7t9u59t6xxq9xsac 100 -cc1fss98cftj6g8h24yzxfhq2q0hr06n3u5ca62zf 100 -cc1wwg5f8x6c6dsucm22xkfppus6ul76ck9w3m7mc 100 -cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 500 -cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 500 -cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 400 -cc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h 100 -cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 700 -cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 700 -cc1ep8qq32hh7ndtdcztgd2rrzlq8dcmvmmantevt 100 -cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 400 -cc1wkuexd8n4lvd6032p4yuwnuf4cctd8m9cph6j5 300 -cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 700 -cc1cy0ulsvus9ar70xst9x75cy4grxheqj88fk6vx 200 -cc1jwavmmr75p25ay6atyaw4yw2pveywag8yz0rrw 100 -cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 600 -cc1unulf3ezmkwjdgcmvskkc3anf3phw8fh8krxv7 100 -cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 3800 -cc13rvr4c369rhw63pjxcjvjpjy5ck9mm6pajz87r 200 -cc1klpp6q7dzd3mafjve3f3ejt4c5y5nfeldt57j7 100 -cc1g76zzp0neeulx9p7cvfh00vz2eq5d04v26ntsg 200 -cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 600 -cc1vwg80fptuqmn0e3tnnqcgd0sm3u3a2s09qtq5m 400 -cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 700 -cc13ycv4yp4u58xk9gghwlfjkey2y9smezpezd4x4 100 -cc1c4smhzxtlzarjgrnueetdcjm3kjq3kx4sfkk3j 500 -cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 700 -cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 600 -cc1q8zrfyv7muv7aflr5xzn069zfumy4xs8w6a3xn 100 -cc14jzqhuk7s0c2ytspgrnq3ljqfxq5fjynr5q2zm 100 -cc1prnmjqvp2080lgugjle0492ratxa387npjgz37 200 -cc1qrjt6rsmn9qvs52suyujhuu8qp7a3520es7xy4 300 -cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 500 -cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 700 -cc1slj7amnmemt0t0f8uahnnyv2ztdwuc30sxgdku 100 -cc10zh0cdzdzxz8449v0pg4a2f32yueq8szrkw9qc 100 -cc12jwxqch0xv6yn5e5jlyszqae43vzsag7xemygj 100 -cc12jzf6x8qe77ephgx0cs0q276g2ptapzlr4k2ew 100 -cc12l3zzykqyuunf9nlh2kkmugr09euy5hd5lcgws 100 -cc13h9d5z77sfksv6uweheg38669g270puzkw5pwx 100 -cc13p9cvq5atl2cagnjsxsm72vnyfkfnngulj28g3 100 -cc13sany3heekznx5d2yur3v7rxj3f00ma6jv5eqq 100 -cc146dmvlqxrcwa2h6ulg34l84wg07pmycyfsr0mq 100 -cc14va4c3sfpxyapjjgl9mguwr82zc6v4f4tzellx 100 -cc154pwgwvec6m3746wdgqwct7qw7vw3ujvw6uw0r 100 -cc15nxn2qs00y367qw3789dc089kv2dmdakcva2ud 100 -cc17p0qlp5j6de7tjr0fuu8xyp708d292tvx8wrek 200 -cc18cpvvupy2xd8s6xurnzfh7z7c3ystll8kplyxc 100 -cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 300 -cc19hwl8xvvk0fsu5lyakum22wstkdclfh82nlt3t 100 -cc1a9kvywsn2fpuvtsjq4yk0p048ds7ejv4xdk23x 300 -cc1cqd0ka6td2tr7ulfd3ynggk0njspcp5827x3hn 300 -cc1cvaf96kz8jz8u4435p0yrjgel0t8zgz33p2cpe 100 -cc1d5cpaahz23nanxd69aeag44xecp0fu0a5flfus 100 -cc1dwx5cq7q53mlvkyjpgpwafyktk76qnxtaxm9j3 100 -cc1f6u85enm6dfq8y7rqyfq2550eztcjh9ud7vjr6 100 -cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 200 -cc1f8s69xmkm9e0uxjr9ylg0rfxukfzgwldphv5y9 200 -cc1fse4rke7mvveasnss47ztngwl4hwg7gm7egl5u 100 -cc1h5ejeeas7v85q80k7p6hxaqyu8c8kn6lnav72k 100 -cc1h7upe2prq8hdhzukyhpg9ec7njmmw3e5u8dmts 100 -cc1hjjv4h3l2x77vrv0ypvcu6twuy0tfnx8s8yj6k 100 -cc1hmsev8vpg60h67plrwvx2tmx3xzwfednjvl2fz 100 -cc1jjenfqlk00swjpn8vwd93rzx0guxg3tmrgsw90 200 -cc1jpucyzqw96sdpkqqkhz2k6qqte08ev88yy3jja 100 -cc1jxqhq2kskfzyhhm4acy8cd68ph5az54t0tdyud 200 -cc1kg85kh7pamfnj2j3k4g0y93nwkpj4txfvxk86d 100 -cc1m8lsz20hms79we5yn5ckml30kgg5mu6deslxym 100 -cc1mjqmlxa8aze6mduq4ucyvtdjttc78dgtt0secn 200 -cc1n44vc78vjmuvpfcaxarzta8wsutrh08cy36u3v 100 -cc1pjpaf9af7kh83kk7z4wgxyaw6772qggajzkt7x 100 -cc1py6acxj4d2l4694kyqj34mwhgr5f04pyn2wac5 100 -cc1qu6hwj678c5tm0j7q52rda8w8ftjes5cw9axu5 100 -cc1rhdpj0vrfmdfxwntj8evmncdhc35xp0edsnczk 100 -cc1u7wrw08y8wm0m8ev9c5tu62fk9jwa2vst6ajfa 100 -cc1vg2kwnamjp0q0rdcsq2n8wkp0sx7c042ehuwek 100 -cc1vknmv3g5vfg96276m3nuzg3temqthz0exru50z 100 -cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 200 -cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 100 -cc1wlmkgs6mckzphx42pxm8xaxwd9q997y2dzcphp 200 -cc1x2m6chcf68ujqqcsm8smu2ycfltf3cf486t2x8 100 -cc1xwcl8277d39q75q6eear3y8m8ymrapmtsf5wty 100 -cc1yc2zwyh6v545nv5sgh7gv340nlc7x5wf0kyu53 100 -cc1yll7qpdep4h7vg8na8jfwvfluy50j5damm6ua2 100 -cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 300 -cc13v8pucmwnnmhlkh2ajyhdezh3ktap3uuzradg0 100 -cc182n9vgjdqjxc59lluf599s07m0ptlr0effrapu 100 -cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 300 -cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 400 -cc1jxyvvt3kym3paa6v0j7jlp3ldtfcsgsltvd79t 100 -cc1lghgn9xghujw82jy3fskpzzd9faxkse2dkejfh 100 -cc1p9653c8puaum26fxnmm85xumflakn22uj4sxqt 100 -cc1s9arxcl3y57aeavu0qx4v97720wm4cpudte0g4 100 -cc1zvgued20j7ltucwduwe2tsvhfwxdpu4lcla2tz 100 -cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 300 -cc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m 100 -cc10xzsrcxr6y0e52nvwxrf30892mnsc8zsges8fy 100 -cc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v 200 -cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 200 -cc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt 200 -cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 200 -cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 200 -cc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0 200 \ No newline at end of file diff --git a/scripts/validators/validator_snapshot.py b/scripts/validators/validator_snapshot.py deleted file mode 100644 index 0bd76f74..00000000 --- a/scripts/validators/validator_snapshot.py +++ /dev/null @@ -1,111 +0,0 @@ -import requests -import bech32 -import csv -import hashlib -import base64 -import bech32 -from datetime import datetime - -api = "http://202.61.225.157:1317/" -pagination_limit = 150 -uptime_percentage = 0.8 -signing_window = 30000 - -def get_validator_info(api_url, params, signing_info): - try: - response = requests.get(api_url, params=params) - - # Check if the request was successful (status code 200) - if response.status_code == 200: - data = response.json() - - # Extract ccvaloper and pubkey and convert them to address and ccvalcons - validators_info = [] - for validator in data.get("validators", []): - valoperaddress = validator.get("operator_address") - address = convert_valoper_address(valoperaddress) - consensus_pubkey = validator.get("consensus_pubkey", {}).get("key") - valconsaddress = convert_pubkey_valcons(consensus_pubkey) - - # filter validators by uptime by matching signing_info to validator_info - for validator in signing_info: - if valconsaddress == validator[0] and ((1 - int(validator[1])/signing_window)> uptime_percentage): - validators_info.append([valoperaddress, address, consensus_pubkey, valconsaddress, (1 - int(validator[1])/signing_window)]) - - - return validators_info - else: - print(f"Error: {response.status_code} - {response.text}") - return None - - except requests.RequestException as e: - print(f"An error occurred: {e}") - return None - -def get_signing_info(api_url, params): - try: - response = requests.get(api_url, params=params) - - # Check if the request was successful (status code 200) - if response.status_code == 200: - data = response.json() - - # Extracting ccvalcons and missed blocks, this is needed to evaluate uptime of validators - signing_info = [] - for validator in data.get("info", []): - address = validator.get("address") - missed_blocks_counter = validator.get("missed_blocks_counter") - signing_info.append([address, missed_blocks_counter]) - - return signing_info - else: - print(f"Error: {response.status_code} - {response.text}") - return None - - except requests.RequestException as e: - print(f"An error occurred while getting the validator signing info: {e}") - return None - -# Convert ccvaloper to cc address -def convert_valoper_address(address): - _, data = bech32.bech32_decode(address) - return bech32.bech32_encode("cc", data) - -# Convert pubkey to ccvalcons -def convert_pubkey_valcons(pubkey): - data = hashlib.sha256(base64.b64decode(pubkey)).digest()[:20] - return bech32.bech32_encode("ccvalcons", bech32.convertbits(data, 8, 5)) - -def main(): - api_url_sign = api + "cosmos/slashing/v1beta1/signing_infos" - params_sign = { - "pagination.limit": pagination_limit - } - - api_url_val = api + "cosmos/staking/v1beta1/validators" - params_val = { - "status": "BOND_STATUS_BONDED", - "pagination.limit": pagination_limit - } - - signing_info = get_signing_info(api_url_sign, params_sign) - - validator_info = get_validator_info(api_url_val, params_val, signing_info) - - if validator_info is not None: - - # Append the current date to the file name - current_date = datetime.now().strftime("%Y_%m_%d") - file_name = f"validator_info_{current_date}.tsv" - - # Write the converted addresses to a TSV file - with open(file_name, mode="w", newline="") as tsv_file: - tsv_writer = csv.writer(tsv_file, delimiter='\t') - - for validator in validator_info: - tsv_writer.writerow(validator) - - print(f"Snapshot written to {file_name}") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/scripts/zealy.tsv b/scripts/zealy.tsv deleted file mode 100755 index 9e649420..00000000 --- a/scripts/zealy.tsv +++ /dev/null @@ -1,68 +0,0 @@ -CCAddress EarlyAccessToGame BoosterPacks Airdrop Credits -cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks TRUE 0 20 -cc10vl2ma5mnsalf3nmq3a50njlcccdxzkthpyw6a TRUE 2 100 20 -cc12qv7fl840uekmvvxc745048p4ngrn2dyms8j5n TRUE 0 0 10 -cc12r9ftz68ze7c7s9ywewy8ug3harnfpy25auj8s TRUE 2 150 20 -cc13yxz7e07kllz9hzsghrutmvggem9m8xqfajyuh TRUE 1 80 20 -cc140zwm203xeu885hckvurz46mu00ugsk4cg6wnf TRUE 1 80 20 -cc1484f0rayg6ackhjqtc786r96sd46fnwgyvgvsp TRUE 0 0 10 -cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 TRUE 0 0 10 -cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha TRUE 0 0 10 -cc183ret5jld325hj0kpsm08wq9nu0nvfl6y3wspa TRUE 0 0 10 -cc18htpt4u8ttyxwy090yxjaw27vq2qxfs7lng77d TRUE 2 150 20 -cc18jd8x7wvewadpcgkhafy9x2vf9zupzdvcs5v0p TRUE 3 200 20 -cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy TRUE 0 0 10 -cc1dn50kpwc8vxajpllam4l62zk4g37x2m0c7qgs9 TRUE 0 20 10 -cc1f283sl8q27j45qskshrysy6n3m9t656ayfl5v5 TRUE 3 250 20 -cc1fa3uq6t3stngjpzz8406ygl6jdvayk56j3kyu3 TRUE 1 80 20 -cc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h TRUE 0 30 10 -cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp TRUE 1 50 10 -cc1fys60cv37pkga725vctp7gekch5jc94w8xnme3 TRUE 1 80 20 -cc1gpzff8zagwcauacgez9fehcwaveewlm2u96tnh TRUE 1 50 10 -cc1has2wgz58xw0sfaa60z437dl3vs7u52gmury3y TRUE 1 50 20 -cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k TRUE 0 30 10 -cc1lp7kkawahs5779zqxm78u26x5nyxaddats3l0f TRUE 2 100 20 -cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys TRUE 0 30 20 -cc1mkqsckk0qavvnskshfgwhuq0hvd9vrwzzta4vc TRUE 0 30 10 -cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d TRUE 2 180 20 -cc1nd37jcen8j7q9kkaf7w852ew3wlmf3s0uxz8nj TRUE 1 50 20 -cc1nd40jtjv5w463jgl9g6cfpyd3y6aws644p6gjp TRUE 1 80 20 -cc1nvmkqttunypn96qk4yx4eyfepkfppxf7kzrrcc TRUE 1 80 20 -cc1pm0c5d2fjn9tvd7cpwc28t4xhjuqxvlreg2ml5 TRUE 2 150 20 -cc1pxwlx23n5taxttz6x8lkfl3nmvhkp3p77cfzyz TRUE 0 30 10 -cc1q29qepu2ywsyjghg3vh9nljmkzc4mux2lnlcjz TRUE 1 80 20 -cc1rcxy6kk828m48utyyauxg29umxgn6s5pvn0674 TRUE 1 50 20 -cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu TRUE 0 30 20 -cc1svkkpzsqs6h897emc2q2agnlf2c05a5wuxhtu6 TRUE 3 200 20 -cc1symmz8dn7usd5js5uddf4wfa0g4w3dt9pklnfu TRUE 1 80 20 -cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k TRUE 1 50 10 -cc1szw62mcf646hzj60qxlrfsrx3j57wdz5yvgz7 TRUE 0 50 10 -cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk TRUE 1 50 10 -cc1vsknh04kly7lntt8lt909qjwfsa7k7hhwn9rxz TRUE 1 130 20 -cc1w86yyvxvdzdh2fl296g9v0mvwqdx66d0l0jr92 TRUE 1 80 20 -cc1wjvl60fy6x39amqfyqnu607sn0f8998a0euvw8 TRUE 2 100 20 -cc1x6ftcjwljlt7rh03j93wtzazqzqeqwc2tlzpas TRUE 0 0 10 -cc1xngsk4kdhhaev9mqezzpgqxejcus5xrk8486ay TRUE 2 150 10 -cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz TRUE 3 200 10 -cc1yyc302aevlh8egsvy7fse22ssu3tp7dyuvalsu TRUE 2 150 10 -cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz TRUE 0 0 0 -cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn TRUE 0 0 0 -cc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur TRUE 0 0 0 -cc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86 TRUE 0 0 0 -cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 TRUE 0 0 0 -cc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4 TRUE 0 0 0 -cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk TRUE 0 0 0 -cc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f TRUE 0 0 0 -cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa TRUE 0 0 0 -cc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k TRUE 0 0 0 -cc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8 TRUE 0 0 0 -cc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3 TRUE 0 0 0 -cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s TRUE 0 0 0 -cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys TRUE 0 0 0 -cc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c TRUE 0 0 0 -cc1qcs945m3w63jt2j3gzyruf0hn6uxyz794pq7kp TRUE 0 0 0 -cc1srje7py2jx3auvr2xtxm5987m6zy2q4ymzuclp TRUE 0 0 0 -cc1lkalq9k0xanaucgpzg9qaxsur4t6rdxz2vaw4s TRUE 0 0 0 -cc1kj43gk60acq6afycz8q902472vttfwvtxsdlxj TRUE 0 0 0 -cc14km80077s0hch3sh38wh2hfk7kxfau4456r3ej TRUE 0 0 0 -cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk TRUE 0 0 0 \ No newline at end of file diff --git a/testutil/keeper/cardchain.go b/testutil/keeper/cardchain.go deleted file mode 100644 index 5534430d..00000000 --- a/testutil/keeper/cardchain.go +++ /dev/null @@ -1,84 +0,0 @@ -package keeper - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/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 CardchainKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { - storeKey := sdk.NewKVStoreKey(types.StoreKey) - usersStoreKey := sdk.NewKVStoreKey(types.UsersStoreKey) - cardsStoreKey := sdk.NewKVStoreKey(types.CardsStoreKey) - matchesStoreKey := sdk.NewKVStoreKey(types.MatchesStoreKey) - setsStoreKey := sdk.NewKVStoreKey(types.SetsStoreKey) - internalStoreKey := sdk.NewKVStoreKey(types.InternalStoreKey) - sellOffersStoreKey := sdk.NewKVStoreKey(types.SellOffersStoreKey) - poolsStoreKey := sdk.NewKVStoreKey(types.PoolsStoreKey) - serversStoreKey := sdk.NewKVStoreKey(types.ServersStoreKey) - zealyStoreKey := sdk.NewKVStoreKey(types.ZealyStoreKey) - encountersStoreKey := sdk.NewKVStoreKey(types.EncountersStoreKey) - runningAveragesStoreKey := sdk.NewKVStoreKey(types.RunningAveragesStoreKey) - councilsStoreKey := sdk.NewKVStoreKey(types.CouncilsStoreKey) - - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) - stateStore.MountStoreWithDB(storeKey, sdk.StoreTypeIAVL, db) - stateStore.MountStoreWithDB(usersStoreKey, sdk.StoreTypeIAVL, db) - stateStore.MountStoreWithDB(cardsStoreKey, sdk.StoreTypeIAVL, db) - stateStore.MountStoreWithDB(matchesStoreKey, 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) - stateStore.MountStoreWithDB(serversStoreKey, sdk.StoreTypeIAVL, db) - stateStore.MountStoreWithDB(zealyStoreKey, sdk.StoreTypeIAVL, db) - stateStore.MountStoreWithDB(councilsStoreKey, sdk.StoreTypeIAVL, db) - stateStore.MountStoreWithDB(runningAveragesStoreKey, sdk.StoreTypeIAVL, db) - require.NoError(t, stateStore.LoadLatestVersion()) - - registry := codectypes.NewInterfaceRegistry() - cdc := codec.NewProtoCodec(registry) - - paramsSubspace := typesparams.NewSubspace(cdc, - types.Amino, - storeKey, - internalStoreKey, - "CardchainParams", - ) - k := keeper.NewKeeper( - cdc, - usersStoreKey, - cardsStoreKey, - matchesStoreKey, - setsStoreKey, - sellOffersStoreKey, - poolsStoreKey, - councilsStoreKey, - runningAveragesStoreKey, - serversStoreKey, - zealyStoreKey, - internalStoreKey, - paramsSubspace, - nil, // That's why minting fails - ) - - ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) - - // Initialize params - k.SetParams(ctx, types.DefaultParams()) - - return k, ctx -} diff --git a/types/denom.go b/types/denom.go deleted file mode 100644 index 9914e7f0..00000000 --- a/types/denom.go +++ /dev/null @@ -1,17 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" -) - -const ( - bpf = "bpf" // 1 (base denom unit) - mbpf = "mbpf" // 10^-3 (milli) - ubpf = "ubpf" // 10^-6 (micro) -) - -func RegisterNativeCoinUnits() { - _ = sdk.RegisterDenom(bpf, sdk.OneDec()) - _ = sdk.RegisterDenom(mbpf, sdk.NewDecWithPrec(1, 3)) - _ = sdk.RegisterDenom(ubpf, sdk.NewDecWithPrec(1, 6)) -} diff --git a/types/generic_type_keeper/generic_type_keeper.go b/types/generic_type_keeper/generic_type_keeper.go deleted file mode 100644 index f8a8cb78..00000000 --- a/types/generic_type_keeper/generic_type_keeper.go +++ /dev/null @@ -1,137 +0,0 @@ -package generic_type_keeper - -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" -) - -// ItemIterator is a generic wrapper for sdk.KVStorePrefixIterator that provides unmarshaling of objects -type ItemIterator[T codec.ProtoMarshaler] struct { - iter sdk.Iterator - gtk *GenericTypeKeeper[T] - idx *uint64 -} - -// Valid is a wrapper for sdk.KVStorePrefixIterator.Valid -func (i ItemIterator[T]) Valid() bool { - return i.iter.Valid() -} - -// Next is a wrapper for sdk.KVStorePrefixIterator.Next -func (i ItemIterator[T]) Next() { - i.iter.Next() - *i.idx++ -} - -// Value is a wrapper for sdk.KVStorePrefixIterator.Value but returns object and index -func (i ItemIterator[T]) Value() (uint64, T) { - var gotten T = i.gtk.getEmpty() - i.gtk.cdc.MustUnmarshal(i.iter.Value(), gotten) - - return *i.idx, gotten -} - -// GetEmpty Just returns a empty object of a certain type -func GetEmpty[A any]() *A { - var obj A - return &obj -} - -type GenericTypeKeeper[T codec.ProtoMarshaler] struct { - 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 storetypes.StoreKey, internalKey storetypes.StoreKey, cdc codec.BinaryCodec, getEmpty func() T) GenericTypeKeeper[T] { - gtk := GenericTypeKeeper[T]{ - Key: key, - InternalKey: internalKey, - cdc: cdc, - name: fmt.Sprintf("%T", getEmpty()), - getEmpty: getEmpty, - } - return gtk -} - -// Get Gets an object from store -func (gtk GenericTypeKeeper[T]) Get(ctx sdk.Context, id uint64) T { - store := ctx.KVStore(gtk.Key) - bz := store.Get(sdk.Uint64ToBigEndian(id)) - - gotten := gtk.getEmpty() - gtk.cdc.MustUnmarshal(bz, gotten) - return gotten -} - -// Set Sets an object in store -func (gtk GenericTypeKeeper[T]) Set(ctx sdk.Context, id uint64, new T) { - store := ctx.KVStore(gtk.Key) - store.Set(sdk.Uint64ToBigEndian(id), gtk.cdc.MustMarshal(new)) - num := gtk.GetNum(ctx) - if id == num { - gtk.setNum(ctx, num+1) - } -} - -// GetNum Returns the number of items stored, way more performant than GetNumber -func (gtk GenericTypeKeeper[T]) GetNum(ctx sdk.Context) uint64 { - store := ctx.KVStore(gtk.InternalKey) - bz := store.Get([]byte(gtk.name)) - var num types.Num - gtk.cdc.MustUnmarshal(bz, &num) - return num.Num -} - -// setNum Sets thenumber of items stored -func (gtk GenericTypeKeeper[T]) setNum(ctx sdk.Context, _num uint64) { - store := ctx.KVStore(gtk.InternalKey) - var num = types.Num{Num: _num} - store.Set([]byte(gtk.name), gtk.cdc.MustMarshal(&num)) -} - -// GetIterator Returns an iterator for all objects -func (gtk GenericTypeKeeper[T]) GetIterator(ctx sdk.Context) sdk.Iterator { - store := ctx.KVStore(gtk.Key) - return sdk.KVStorePrefixIterator(store, nil) -} - -// GetAll Gets all objs from store -- use GetItemIterator instead -func (gtk GenericTypeKeeper[T]) GetAll(ctx sdk.Context) (all []T) { - iterator := gtk.GetIterator(ctx) - for ; iterator.Valid(); iterator.Next() { - - var gotten T = gtk.getEmpty() - gtk.cdc.MustUnmarshal(iterator.Value(), gotten) - - all = append(all, gotten) - } - return -} - -// GetItemIterator Gets all objs from store -func (gtk GenericTypeKeeper[T]) GetItemIterator(ctx sdk.Context) ItemIterator[T] { - iterator := gtk.GetIterator(ctx) - var num uint64 = 0 - return ItemIterator[T]{ - iter: iterator, - gtk: >k, - idx: &num, - } -} - -// GetNumber Gets the number of all objs in store -- deprecated, don't use -func (gtk GenericTypeKeeper[T]) GetNumber(ctx sdk.Context) (id uint64) { - iterator := gtk.GetIterator(ctx) - for ; iterator.Valid(); iterator.Next() { - id++ - } - return -} diff --git a/types/generic_type_keeper/keyworded_generic_type_keeper.go b/types/generic_type_keeper/keyworded_generic_type_keeper.go deleted file mode 100644 index 2c0cf784..00000000 --- a/types/generic_type_keeper/keyworded_generic_type_keeper.go +++ /dev/null @@ -1,60 +0,0 @@ -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" -) - -type KeywordedGenericTypeKeeper[T codec.ProtoMarshaler] struct { - GenericTypeKeeper[T] - KeyWords []string -} - -// NewKGTK Returns a new KeywordedGenericTypeKeeper -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, - } - return gtk -} - -// Get Gets an object from store -func (gtk KeywordedGenericTypeKeeper[T]) Get(ctx sdk.Context, keyword string) T { - if !slices.Contains(gtk.KeyWords, keyword) { - panic("Unknown keyword: " + keyword) - } - - store := ctx.KVStore(gtk.Key) - bz := store.Get([]byte(keyword)) - - gotten := gtk.getEmpty() - gtk.cdc.MustUnmarshal(bz, gotten) - return gotten -} - -// Set Sets an object in store -func (gtk KeywordedGenericTypeKeeper[T]) Set(ctx sdk.Context, keyword string, new T) { - if !slices.Contains(gtk.KeyWords, keyword) { - panic("Unknown keyword: " + keyword) - } - - store := ctx.KVStore(gtk.Key) - store.Set([]byte(keyword), gtk.cdc.MustMarshal(new)) -} - -// GetAll Gets all objs from store -func (gtk KeywordedGenericTypeKeeper[T]) GetAll(ctx sdk.Context) (all []T) { - for _, keyWord := range gtk.KeyWords { - all = append(all, gtk.Get(ctx, keyWord)) - } - return -} - -// GetNumber Gets the number of all objs in store -func (gtk KeywordedGenericTypeKeeper[T]) GetNumber(ctx sdk.Context) (id uint64) { - return uint64(len(gtk.KeyWords)) -} diff --git a/x/cardchain/client/cli/query.go b/x/cardchain/client/cli/query.go deleted file mode 100644 index 6f73ae86..00000000 --- a/x/cardchain/client/cli/query.go +++ /dev/null @@ -1,73 +0,0 @@ -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/cardchain/types" -) - -// GetQueryCmd returns the cli query commands for this module -func GetQueryCmd(queryRoute string) *cobra.Command { - // Group cardchain 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(CmdQCard()) - - cmd.AddCommand(CmdQCardContent()) - - cmd.AddCommand(CmdQUser()) - - cmd.AddCommand(CmdQCardchainInfo()) - - cmd.AddCommand(CmdQVotingResults()) - - cmd.AddCommand(CmdQCards()) - - cmd.AddCommand(CmdQMatch()) - - cmd.AddCommand(CmdQSet()) - - cmd.AddCommand(CmdQSellOffer()) - - cmd.AddCommand(CmdQCouncil()) - - cmd.AddCommand(CmdQMatches()) - - cmd.AddCommand(CmdQSellOffers()) - - cmd.AddCommand(CmdQServer()) - - cmd.AddCommand(CmdQSets()) - - cmd.AddCommand(CmdRarityDistribution()) - - cmd.AddCommand(CmdQCardContents()) - - cmd.AddCommand(CmdQAccountFromZealy()) - - cmd.AddCommand(CmdQEncounters()) - - cmd.AddCommand(CmdQEncounter()) - - cmd.AddCommand(CmdQEncountersWithImage()) - - cmd.AddCommand(CmdQEncounterWithImage()) - - // this line is used by starport scaffolding # 1 - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_account_from_zealy.go b/x/cardchain/client/cli/query_q_account_from_zealy.go deleted file mode 100644 index e3f9a997..00000000 --- a/x/cardchain/client/cli/query_q_account_from_zealy.go +++ /dev/null @@ -1,46 +0,0 @@ -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/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQAccountFromZealy() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-account-from-zealy [zealy-id]", - Short: "Query q_account_from_zealy", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - reqZealyId := args[0] - - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQAccountFromZealyRequest{ - - ZealyId: reqZealyId, - } - - res, err := queryClient.QAccountFromZealy(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_card.go b/x/cardchain/client/cli/query_q_card.go deleted file mode 100644 index 396052ea..00000000 --- a/x/cardchain/client/cli/query_q_card.go +++ /dev/null @@ -1,46 +0,0 @@ -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/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQCard() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-card [card-id]", - Short: "Query qCard", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - reqCardId := args[0] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQCardRequest{ - - CardId: reqCardId, - } - - res, err := queryClient.QCard(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_card_content.go b/x/cardchain/client/cli/query_q_card_content.go deleted file mode 100644 index b8c42ebb..00000000 --- a/x/cardchain/client/cli/query_q_card_content.go +++ /dev/null @@ -1,51 +0,0 @@ -package cli - -import ( - "strconv" - - "github.com/spf13/cast" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQCardContent() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-card-content [card-id]", - Short: "Query qCardContent", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - reqCardId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQCardContentRequest{ - - CardId: reqCardId, - } - - res, err := queryClient.QCardContent(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_card_contents.go b/x/cardchain/client/cli/query_q_card_contents.go deleted file mode 100644 index 3b253465..00000000 --- a/x/cardchain/client/cli/query_q_card_contents.go +++ /dev/null @@ -1,54 +0,0 @@ -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/spf13/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQCardContents() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-card-contents [card-ids]", - Short: "Query q_card_contents", - Args: cobra.MinimumNArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - var reqCardIds []uint64 - for _, id := range args[0:] { - convId, err := cast.ToUint64E(id) - if err != nil { - return err - } - reqCardIds = append(reqCardIds, convId) - } - - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQCardContentsRequest{ - - CardIds: reqCardIds, - } - - res, err := queryClient.QCardContents(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_cardchain_info.go b/x/cardchain/client/cli/query_q_cardchain_info.go deleted file mode 100644 index cede3054..00000000 --- a/x/cardchain/client/cli/query_q_cardchain_info.go +++ /dev/null @@ -1,42 +0,0 @@ -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/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQCardchainInfo() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-cardchain-info", - Short: "Query qCardchainInfo", - Args: cobra.ExactArgs(0), - RunE: func(cmd *cobra.Command, args []string) (err error) { - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQCardchainInfoRequest{} - - res, err := queryClient.QCardchainInfo(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_cards.go b/x/cardchain/client/cli/query_q_cards.go deleted file mode 100644 index 0b8ce68f..00000000 --- a/x/cardchain/client/cli/query_q_cards.go +++ /dev/null @@ -1,145 +0,0 @@ -package cli - -import ( - "fmt" - "strconv" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQCards() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-cards [owner] [statuses] [card-types] [classes] [rarities] [sort-by] [name-contains] [keywords-contains] [notes-contains] [startercards-only] [balance-achors-only]", - Short: "Query qCards", - Args: cobra.ExactArgs(11), - RunE: func(cmd *cobra.Command, args []string) (err error) { - reqOwner := args[0] - var reqOnlyStarterCards bool - var reqOnlyBalanceAnchors bool - var statuses []string - var reqStatuses []types.Status - - err = getJsonArg(args[1], &statuses) - if err != nil { - return err - } - - for _, status := range statuses { - s, ok := types.Status_value[status] - if !ok { - return fmt.Errorf("invalid status %s", status) - } - reqStatuses = append(reqStatuses, types.Status(s)) - } - - var cardTypes []string - var reqCardTypes []types.CardType - - err = getJsonArg(args[2], &cardTypes) - if err != nil { - return err - } - - for _, cardType := range cardTypes { - s, ok := types.CardType_value[cardType] - if !ok { - return fmt.Errorf("invalid class %s", cardType) - } - reqCardTypes = append(reqCardTypes, types.CardType(s)) - } - - var classes []string - var reqClasses []types.CardClass - - err = getJsonArg(args[3], &classes) - if err != nil { - return err - } - - for _, class := range classes { - s, ok := types.CardClass_value[class] - if !ok { - return fmt.Errorf("invalid class %s", class) - } - reqClasses = append(reqClasses, types.CardClass(s)) - } - - var rarities []string - var reqRarities []types.CardRarity - - err = getJsonArg(args[4], &rarities) - if err != nil { - return err - } - - for _, rarity := range rarities { - s, ok := types.CardRarity_value[rarity] - if !ok { - return fmt.Errorf("invalid rarity %s", rarity) - } - reqRarities = append(reqRarities, types.CardRarity(s)) - } - - reqSortBy := args[5] - reqNameContains := args[6] - reqKeywordsContains := args[7] - reqNotesContains := args[8] - - switch args[9] { - case "yes": - reqOnlyStarterCards = true - case "no": - reqOnlyStarterCards = false - default: - return fmt.Errorf("arg 'only-startercard' has to be either yes or no but not %s", args[8]) - } - - switch args[10] { - case "yes": - reqOnlyBalanceAnchors = true - case "no": - reqOnlyBalanceAnchors = false - default: - return fmt.Errorf("arg 'balance-achors-only' has to be either yes or no but not %s", args[8]) - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQCardsRequest{ - - Owner: reqOwner, - Statuses: reqStatuses, - CardTypes: reqCardTypes, - Classes: reqClasses, - Rarities: reqRarities, - SortBy: reqSortBy, - NameContains: reqNameContains, - KeywordsContains: reqKeywordsContains, - NotesContains: reqNotesContains, - OnlyStarterCard: reqOnlyStarterCards, - OnlyBalanceAnchors: reqOnlyBalanceAnchors, - } - - res, err := queryClient.QCards(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_council.go b/x/cardchain/client/cli/query_q_council.go deleted file mode 100644 index 6168f4a2..00000000 --- a/x/cardchain/client/cli/query_q_council.go +++ /dev/null @@ -1,50 +0,0 @@ -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/spf13/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQCouncil() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-council [council-id]", - Short: "Query qCouncil", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - reqCouncilId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQCouncilRequest{ - - CouncilId: reqCouncilId, - } - - res, err := queryClient.QCouncil(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_encounter.go b/x/cardchain/client/cli/query_q_encounter.go deleted file mode 100644 index 47a8c917..00000000 --- a/x/cardchain/client/cli/query_q_encounter.go +++ /dev/null @@ -1,50 +0,0 @@ -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/spf13/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQEncounter() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-encounter [id]", - Short: "Query q_encounter", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - reqId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQEncounterRequest{ - - Id: reqId, - } - - res, err := queryClient.QEncounter(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_encounter_with_image.go b/x/cardchain/client/cli/query_q_encounter_with_image.go deleted file mode 100644 index b2d49eb2..00000000 --- a/x/cardchain/client/cli/query_q_encounter_with_image.go +++ /dev/null @@ -1,50 +0,0 @@ -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/spf13/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQEncounterWithImage() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-encounter-with-image [id]", - Short: "Query q_encounter_with_image", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - reqId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQEncounterWithImageRequest{ - - Id: reqId, - } - - res, err := queryClient.QEncounterWithImage(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_encounters.go b/x/cardchain/client/cli/query_q_encounters.go deleted file mode 100644 index af5c00d3..00000000 --- a/x/cardchain/client/cli/query_q_encounters.go +++ /dev/null @@ -1,42 +0,0 @@ -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/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQEncounters() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-encounters", - Short: "Query q_encounters", - 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.QueryQEncountersRequest{} - - res, err := queryClient.QEncounters(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_encounters_with_image.go b/x/cardchain/client/cli/query_q_encounters_with_image.go deleted file mode 100644 index 9d643b16..00000000 --- a/x/cardchain/client/cli/query_q_encounters_with_image.go +++ /dev/null @@ -1,42 +0,0 @@ -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/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQEncountersWithImage() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-encounters-with-image", - Short: "Query q_encounters_with_image", - 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.QueryQEncountersWithImageRequest{} - - res, err := queryClient.QEncountersWithImage(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_match.go b/x/cardchain/client/cli/query_q_match.go deleted file mode 100644 index a44592c1..00000000 --- a/x/cardchain/client/cli/query_q_match.go +++ /dev/null @@ -1,50 +0,0 @@ -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/spf13/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQMatch() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-match [match-id]", - Short: "Query qMatch", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - reqMatchId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQMatchRequest{ - - MatchId: reqMatchId, - } - - res, err := queryClient.QMatch(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_matches.go b/x/cardchain/client/cli/query_q_matches.go deleted file mode 100644 index 4218ab78..00000000 --- a/x/cardchain/client/cli/query_q_matches.go +++ /dev/null @@ -1,92 +0,0 @@ -package cli - -import ( - "encoding/json" - "fmt" - "strconv" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/spf13/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQMatches() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-matches [timestamp-down] [timestamp-up] [contains-users] [card-played] [reporter] [outcome]", - Short: "Query qMatches", - Args: cobra.ExactArgs(6), - RunE: func(cmd *cobra.Command, args []string) (err error) { - ignore := types.NewIgnoreMatches() - var ( - reqTimestampDown, reqTimestampUp uint64 - reqOutcome types.Outcome - argCards []uint64 - reqContainsUsers []string - ) - - if args[0] != "" && args[1] != "" { - reqTimestampDown, err = cast.ToUint64E(args[0]) - if err != nil { - return err - } - reqTimestampUp, err = cast.ToUint64E(args[1]) - if err != nil { - return err - } - } - - err = json.Unmarshal([]byte(args[2]), &reqContainsUsers) - if err != nil { - return err - } - if len(reqContainsUsers) > 2 { - return fmt.Errorf("there can only be 2 players involved in a match, not %d", len(reqContainsUsers)) - } - - err = json.Unmarshal([]byte(args[3]), &argCards) - if err != nil { - return err - } - - reqReporter := args[4] - - if args[5] == "" { - ignore.Outcome = true - } else { - reqOutcome = types.Outcome(types.Outcome_value[args[5]]) - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQMatchesRequest{ - TimestampDown: reqTimestampDown, - TimestampUp: reqTimestampUp, - ContainsUsers: reqContainsUsers, - CardsPlayed: argCards, - Reporter: reqReporter, - Outcome: reqOutcome, - Ignore: &ignore, - } - - res, err := queryClient.QMatches(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_sell_offer.go b/x/cardchain/client/cli/query_q_sell_offer.go deleted file mode 100644 index 5a2b582f..00000000 --- a/x/cardchain/client/cli/query_q_sell_offer.go +++ /dev/null @@ -1,50 +0,0 @@ -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/spf13/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQSellOffer() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-sell-offer [sell-offer-id]", - Short: "Query qSellOffer", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - reqSellOfferId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQSellOfferRequest{ - - SellOfferId: reqSellOfferId, - } - - res, err := queryClient.QSellOffer(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_sell_offers.go b/x/cardchain/client/cli/query_q_sell_offers.go deleted file mode 100644 index 9871c82c..00000000 --- a/x/cardchain/client/cli/query_q_sell_offers.go +++ /dev/null @@ -1,89 +0,0 @@ -package cli - -import ( - "strconv" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/spf13/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQSellOffers() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-sell-offers [price-down] [price-up] [seller] [buyer] [card] [status]", - Short: "Query qSellOffers", - Args: cobra.ExactArgs(6), - RunE: func(cmd *cobra.Command, args []string) (err error) { - ignore := types.NewIgnoreSellOffers() - reqPriceDown := "0ucredits" - reqPriceUp := "0ucredits" - var ( - reqCard uint64 - ) - - if args[0] != "" && args[1] != "" { - reqPriceDownRaw, err := sdk.ParseCoinNormalized(args[0]) - if err != nil { - return err - } - reqPriceUpRaw, err := sdk.ParseCoinNormalized(args[1]) - if err != nil { - return err - } - reqPriceDown = reqPriceDownRaw.String() - reqPriceUp = reqPriceUpRaw.String() - } - - reqSeller := args[2] - reqBuyer := args[3] - - if args[4] == "" { - ignore.Card = true - } else { - reqCard, err = cast.ToUint64E(args[4]) - if err != nil { - return err - } - } - - if args[5] == "" { - ignore.Status = true - } - reqStatus := types.SellOfferStatus(types.SellOfferStatus_value[args[5]]) - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQSellOffersRequest{ - - PriceDown: reqPriceDown, - PriceUp: reqPriceUp, - Seller: reqSeller, - Buyer: reqBuyer, - Card: reqCard, - Status: reqStatus, - Ignore: &ignore, - } - - res, err := queryClient.QSellOffers(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_server.go b/x/cardchain/client/cli/query_q_server.go deleted file mode 100644 index 2efe45a4..00000000 --- a/x/cardchain/client/cli/query_q_server.go +++ /dev/null @@ -1,50 +0,0 @@ -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/spf13/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQServer() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-server [id]", - Short: "Query qServer", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - reqId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQServerRequest{ - - Id: reqId, - } - - res, err := queryClient.QServer(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_set.go b/x/cardchain/client/cli/query_q_set.go deleted file mode 100644 index a8d2145c..00000000 --- a/x/cardchain/client/cli/query_q_set.go +++ /dev/null @@ -1,50 +0,0 @@ -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/spf13/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQSet() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-set [set-id]", - Short: "Query qSet", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - reqSetId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQSetRequest{ - - SetId: reqSetId, - } - - res, err := queryClient.QSet(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_sets.go b/x/cardchain/client/cli/query_q_sets.go deleted file mode 100644 index 567fe9fb..00000000 --- a/x/cardchain/client/cli/query_q_sets.go +++ /dev/null @@ -1,73 +0,0 @@ -package cli - -import ( - "encoding/json" - "slices" - "strconv" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQSets() *cobra.Command { - cmd := &cobra.Command{ - 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 !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 - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQSetsRequest{ - - Status: reqStatus, - IgnoreStatus: ignoreStatus, - Contributors: argContributors, - ContainsCards: argContainsCards, - Owner: args[3], - } - - res, err := queryClient.QSets(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_user.go b/x/cardchain/client/cli/query_q_user.go deleted file mode 100644 index 5ecfb20a..00000000 --- a/x/cardchain/client/cli/query_q_user.go +++ /dev/null @@ -1,46 +0,0 @@ -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/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQUser() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-user [address]", - Short: "Query qUser", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - reqAddress := args[0] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQUserRequest{ - - Address: reqAddress, - } - - res, err := queryClient.QUser(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_q_voting_results.go b/x/cardchain/client/cli/query_q_voting_results.go deleted file mode 100644 index 431dfb5a..00000000 --- a/x/cardchain/client/cli/query_q_voting_results.go +++ /dev/null @@ -1,42 +0,0 @@ -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/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdQVotingResults() *cobra.Command { - cmd := &cobra.Command{ - Use: "q-voting-results", - Short: "Query qVotingResults", - Args: cobra.ExactArgs(0), - RunE: func(cmd *cobra.Command, args []string) (err error) { - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryQVotingResultsRequest{} - - res, err := queryClient.QVotingResults(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/query_rarity_distribution.go b/x/cardchain/client/cli/query_rarity_distribution.go deleted file mode 100644 index f615f130..00000000 --- a/x/cardchain/client/cli/query_rarity_distribution.go +++ /dev/null @@ -1,42 +0,0 @@ -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/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdRarityDistribution() *cobra.Command { - cmd := &cobra.Command{ - Use: "rarity-distribution", - Short: "Query rarityDistribution", - Args: cobra.ExactArgs(0), - RunE: func(cmd *cobra.Command, args []string) (err error) { - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryRarityDistributionRequest{} - - res, err := queryClient.RarityDistribution(cmd.Context(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(res) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/cardchain/client/cli/submit_copyright_proposal.go b/x/cardchain/client/cli/submit_copyright_proposal.go deleted file mode 100644 index c1a275de..00000000 --- a/x/cardchain/client/cli/submit_copyright_proposal.go +++ /dev/null @@ -1,59 +0,0 @@ -package cli - -import ( - "strconv" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "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/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdSubmitCopyrightProposal() *cobra.Command { - cmd := &cobra.Command{ - 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]) - if err != nil { - return err - } - argDeposit := args[1] - argDescription := args[2] - argLink := args[3] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - from := clientCtx.GetFromAddress() - proposal := types.CopyrightProposal{ - Title: "Copyright violation `" + args[0] + "`", - Description: argDescription, - Link: argLink, - CardId: argCardId, - } - - 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/cardchain/client/cli/submit_early_access_proposal.go b/x/cardchain/client/cli/submit_early_access_proposal.go deleted file mode 100644 index b94b43c8..00000000 --- a/x/cardchain/client/cli/submit_early_access_proposal.go +++ /dev/null @@ -1,64 +0,0 @@ -package cli - -import ( - "strconv" - "strings" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "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 CmdSubmitEarlyAccessProposal() *cobra.Command { - cmd := &cobra.Command{ - Use: "early-access-proposal [deposit] [description] [link] [users...]", - Short: "Propose EarlyAccessProposal", - Args: cobra.MinimumNArgs(4), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argDeposit := args[0] - argDescription := args[1] - argLink := args[2] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - users := args[3:] - - for _, addr := range users { - _, err = sdk.AccAddressFromBech32(addr) - if err != nil { - return err - } - } - - from := clientCtx.GetFromAddress() - proposal := types.EarlyAccessProposal{ - Title: "Early access proposal for: " + strings.Join(users, ", "), - Description: argDescription, - Link: argLink, - Users: users, - } - - 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/cardchain/client/cli/submit_match_reporter_proposal.go b/x/cardchain/client/cli/submit_match_reporter_proposal.go deleted file mode 100644 index f8c66c99..00000000 --- a/x/cardchain/client/cli/submit_match_reporter_proposal.go +++ /dev/null @@ -1,54 +0,0 @@ -package cli - -import ( - "strconv" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "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 CmdSubmitMatchReporterProposal() *cobra.Command { - cmd := &cobra.Command{ - 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] - argDescription := args[1] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - argReporter := clientCtx.GetFromAddress().String() - - from := clientCtx.GetFromAddress() - proposal := types.MatchReporterProposal{ - Title: "Match Reporter Request `" + argReporter + "`", - Description: argDescription, - Reporter: argReporter, - } - - 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/cardchain/client/cli/submit_set_proposal.go b/x/cardchain/client/cli/submit_set_proposal.go deleted file mode 100644 index 0c960969..00000000 --- a/x/cardchain/client/cli/submit_set_proposal.go +++ /dev/null @@ -1,56 +0,0 @@ -package cli - -import ( - "strconv" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "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/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdSubmitSetProposal() *cobra.Command { - cmd := &cobra.Command{ - Use: "set-proposal [set-id] [deposit]", - Short: "Propose SetProposal", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argSetId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argDeposit := args[1] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - from := clientCtx.GetFromAddress() - 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) - 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/cardchain/client/cli/tx.go b/x/cardchain/client/cli/tx.go deleted file mode 100644 index 298e7b52..00000000 --- a/x/cardchain/client/cli/tx.go +++ /dev/null @@ -1,82 +0,0 @@ -package cli - -import ( - "fmt" - "time" - - "github.com/spf13/cobra" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/client" -) - -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, - } - - cmd.AddCommand(CmdCreateuser()) - cmd.AddCommand(CmdBuyCardScheme()) - cmd.AddCommand(CmdVoteCard()) - cmd.AddCommand(CmdSaveCardContent()) - cmd.AddCommand(CmdTransferCard()) - cmd.AddCommand(CmdDonateToCard()) - cmd.AddCommand(CmdAddArtwork()) - cmd.AddCommand(CmdChangeArtist()) - cmd.AddCommand(CmdRegisterForCouncil()) - cmd.AddCommand(CmdReportMatch()) - cmd.AddCommand(CmdApointMatchReporter()) - 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(CmdAddArtworkToSet()) - cmd.AddCommand(CmdAddStoryToSet()) - cmd.AddCommand(CmdSetCardRarity()) - cmd.AddCommand(CmdCreateCouncil()) - cmd.AddCommand(CmdCommitCouncilResponse()) - cmd.AddCommand(CmdRevealCouncilResponse()) - cmd.AddCommand(CmdRestartCouncil()) - cmd.AddCommand(CmdRewokeCouncilRegistration()) - cmd.AddCommand(CmdConfirmMatch()) - cmd.AddCommand(CmdSetProfileCard()) - cmd.AddCommand(CmdOpenBoosterPack()) - cmd.AddCommand(CmdTransferBoosterPack()) - cmd.AddCommand(CmdSetSetStoryWriter()) - cmd.AddCommand(CmdSetSetArtist()) - cmd.AddCommand(CmdSetUserWebsite()) - cmd.AddCommand(CmdSetUserBiography()) - cmd.AddCommand(CmdMultiVoteCard()) - cmd.AddCommand(CmdMsgOpenMatch()) - cmd.AddCommand(CmdSetSetName()) - cmd.AddCommand(CmdChangeAlias()) - cmd.AddCommand(CmdInviteEarlyAccess()) - cmd.AddCommand(CmdDisinviteEarlyAccess()) - cmd.AddCommand(CmdConnectZealyAccount()) - cmd.AddCommand(CmdEncounterCreate()) - cmd.AddCommand(CmdEncounterDo()) - cmd.AddCommand(CmdEncounterClose()) - // this line is used by starport scaffolding # 1 - - return cmd -} diff --git a/x/cardchain/client/cli/tx_add_artwork.go b/x/cardchain/client/cli/tx_add_artwork.go deleted file mode 100644 index be3ef989..00000000 --- a/x/cardchain/client/cli/tx_add_artwork.go +++ /dev/null @@ -1,53 +0,0 @@ -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 CmdAddArtwork() *cobra.Command { - cmd := &cobra.Command{ - Use: "add-artwork [card-id] [image] [full-art]", - Short: "Broadcast message AddArtwork", - Args: cobra.ExactArgs(3), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCardId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argImage := []byte(args[1]) - argFullArt, err := cast.ToBoolE(args[2]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgAddArtwork( - clientCtx.GetFromAddress().String(), - argCardId, - argImage, - argFullArt, - ) - 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_add_artwork_to_set.go b/x/cardchain/client/cli/tx_add_artwork_to_set.go deleted file mode 100644 index acad7158..00000000 --- a/x/cardchain/client/cli/tx_add_artwork_to_set.go +++ /dev/null @@ -1,48 +0,0 @@ -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 CmdAddArtworkToSet() *cobra.Command { - cmd := &cobra.Command{ - 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) { - argSetId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argImage := []byte(args[1]) - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgAddArtworkToSet( - clientCtx.GetFromAddress().String(), - argSetId, - argImage, - ) - 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_add_card_to_set.go b/x/cardchain/client/cli/tx_add_card_to_set.go deleted file mode 100644 index b1456268..00000000 --- a/x/cardchain/client/cli/tx_add_card_to_set.go +++ /dev/null @@ -1,51 +0,0 @@ -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 CmdAddCardToSet() *cobra.Command { - cmd := &cobra.Command{ - 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) { - argSetId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argCardId, err := cast.ToUint64E(args[1]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgAddCardToSet( - clientCtx.GetFromAddress().String(), - argSetId, - argCardId, - ) - 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_add_contributor_to_set.go b/x/cardchain/client/cli/tx_add_contributor_to_set.go deleted file mode 100644 index b00013e5..00000000 --- a/x/cardchain/client/cli/tx_add_contributor_to_set.go +++ /dev/null @@ -1,48 +0,0 @@ -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 CmdAddContributorToSet() *cobra.Command { - cmd := &cobra.Command{ - 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) { - argSetId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argUser := args[1] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgAddContributorToSet( - clientCtx.GetFromAddress().String(), - argSetId, - argUser, - ) - 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_add_story_to_set.go b/x/cardchain/client/cli/tx_add_story_to_set.go deleted file mode 100644 index 9bc0d979..00000000 --- a/x/cardchain/client/cli/tx_add_story_to_set.go +++ /dev/null @@ -1,48 +0,0 @@ -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 CmdAddStoryToSet() *cobra.Command { - cmd := &cobra.Command{ - 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) { - argSetId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argStory := args[1] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgAddStoryToSet( - clientCtx.GetFromAddress().String(), - argSetId, - argStory, - ) - 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_apoint_match_reporter.go b/x/cardchain/client/cli/tx_apoint_match_reporter.go deleted file mode 100644 index fab23cf2..00000000 --- a/x/cardchain/client/cli/tx_apoint_match_reporter.go +++ /dev/null @@ -1,42 +0,0 @@ -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 CmdApointMatchReporter() *cobra.Command { - cmd := &cobra.Command{ - Use: "apoint-match-reporter [reporter]", - Short: "Broadcast message apointMatchReporter", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argReporter := args[0] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgApointMatchReporter( - clientCtx.GetFromAddress().String(), - argReporter, - ) - 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_buy_card.go b/x/cardchain/client/cli/tx_buy_card.go deleted file mode 100644 index c50f0d46..00000000 --- a/x/cardchain/client/cli/tx_buy_card.go +++ /dev/null @@ -1,46 +0,0 @@ -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 CmdBuyCard() *cobra.Command { - cmd := &cobra.Command{ - Use: "buy-card [sell-offer-id]", - Short: "Broadcast message BuyCard", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argSellOfferId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgBuyCard( - clientCtx.GetFromAddress().String(), - argSellOfferId, - ) - 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_buy_card_scheme.go b/x/cardchain/client/cli/tx_buy_card_scheme.go deleted file mode 100644 index dc98081a..00000000 --- a/x/cardchain/client/cli/tx_buy_card_scheme.go +++ /dev/null @@ -1,46 +0,0 @@ -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" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdBuyCardScheme() *cobra.Command { - cmd := &cobra.Command{ - Use: "buy-card-scheme [bid]", - Short: "Broadcast message BuyCardScheme", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argBid, err := sdk.ParseCoinNormalized(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgBuyCardScheme( - clientCtx.GetFromAddress().String(), - argBid, - ) - 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_buy_set.go b/x/cardchain/client/cli/tx_buy_set.go deleted file mode 100644 index b6657db4..00000000 --- a/x/cardchain/client/cli/tx_buy_set.go +++ /dev/null @@ -1,47 +0,0 @@ -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 CmdBuyBoosterPack() *cobra.Command { - cmd := &cobra.Command{ - Use: "buy-booster-pack [set-id]", - Short: "Broadcast message BuyBoosterPack", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - - argSetId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgBuyBoosterPack( - clientCtx.GetFromAddress().String(), - argSetId, - ) - 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_change_alias.go b/x/cardchain/client/cli/tx_change_alias.go deleted file mode 100644 index 376ad62d..00000000 --- a/x/cardchain/client/cli/tx_change_alias.go +++ /dev/null @@ -1,42 +0,0 @@ -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 CmdChangeAlias() *cobra.Command { - cmd := &cobra.Command{ - Use: "change-alias [alias]", - Short: "Broadcast message changeAlias", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argAlias := args[0] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgChangeAlias( - clientCtx.GetFromAddress().String(), - argAlias, - ) - 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_change_artist.go b/x/cardchain/client/cli/tx_change_artist.go deleted file mode 100644 index 86ad9e7f..00000000 --- a/x/cardchain/client/cli/tx_change_artist.go +++ /dev/null @@ -1,48 +0,0 @@ -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 CmdChangeArtist() *cobra.Command { - cmd := &cobra.Command{ - Use: "change-artist [card-id] [artist]", - Short: "Broadcast message ChangeArtist", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCardID, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argArtist := args[1] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgChangeArtist( - clientCtx.GetFromAddress().String(), - argCardID, - argArtist, - ) - 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_commit_council_response.go b/x/cardchain/client/cli/tx_commit_council_response.go deleted file mode 100644 index d16dd383..00000000 --- a/x/cardchain/client/cli/tx_commit_council_response.go +++ /dev/null @@ -1,61 +0,0 @@ -package cli - -import ( - "fmt" - "strconv" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "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 CmdCommitCouncilResponse() *cobra.Command { - cmd := &cobra.Command{ - Use: "commit-council-response [councilId] [response] [secret] [suggestion]", - Short: "Broadcast message CommitCouncilResponse", - Args: cobra.MinimumNArgs(3), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCouncilId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - suggestion := "" - responseEnum := types.Response(types.Response_value[args[1]]) - hashStringResponse := keeper.GetResponseHash(responseEnum, args[2]) - - if responseEnum == types.Response_Suggestion { - if len(args) > 4 { - return fmt.Errorf("you have to make a suggestion wen voting suggestion!") - } - suggestion = args[3] - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgCommitCouncilResponse( - clientCtx.GetFromAddress().String(), - hashStringResponse, - argCouncilId, - suggestion, - ) - 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_confirm_match.go b/x/cardchain/client/cli/tx_confirm_match.go deleted file mode 100644 index fb0d21eb..00000000 --- a/x/cardchain/client/cli/tx_confirm_match.go +++ /dev/null @@ -1,55 +0,0 @@ -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/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdConfirmMatch() *cobra.Command { - cmd := &cobra.Command{ - Use: "confirm-match [match-id] [outcome] [votes]", - Short: "Broadcast message confirmMatch", - Args: cobra.ExactArgs(3), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argMatchId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argOutcome := types.Outcome(types.Outcome_value[args[1]]) - var argVotes []*types.SingleVote - err = json.Unmarshal([]byte(args[2]), &argVotes) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgConfirmMatch( - clientCtx.GetFromAddress().String(), - argMatchId, - argVotes, - argOutcome, - ) - 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_connect_zealy_account.go b/x/cardchain/client/cli/tx_connect_zealy_account.go deleted file mode 100644 index c57cc94f..00000000 --- a/x/cardchain/client/cli/tx_connect_zealy_account.go +++ /dev/null @@ -1,42 +0,0 @@ -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 CmdConnectZealyAccount() *cobra.Command { - cmd := &cobra.Command{ - Use: "connect-zealy-account [zealy-id]", - Short: "Broadcast message connectZealyAccount", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argZealyId := args[0] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgConnectZealyAccount( - clientCtx.GetFromAddress().String(), - argZealyId, - ) - 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_create_council.go b/x/cardchain/client/cli/tx_create_council.go deleted file mode 100644 index b1fde49d..00000000 --- a/x/cardchain/client/cli/tx_create_council.go +++ /dev/null @@ -1,46 +0,0 @@ -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 CmdCreateCouncil() *cobra.Command { - cmd := &cobra.Command{ - Use: "create-council [card-id]", - Short: "Broadcast message CreateCouncil", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCardId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgCreateCouncil( - clientCtx.GetFromAddress().String(), - argCardId, - ) - 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_create_sell_offer.go b/x/cardchain/client/cli/tx_create_sell_offer.go deleted file mode 100644 index df0d3744..00000000 --- a/x/cardchain/client/cli/tx_create_sell_offer.go +++ /dev/null @@ -1,52 +0,0 @@ -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" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/spf13/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdCreateSellOffer() *cobra.Command { - cmd := &cobra.Command{ - Use: "create-sell-offer [card] [price]", - Short: "Broadcast message CreateSellOffer", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCard, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argPrice, err := sdk.ParseCoinNormalized(args[1]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgCreateSellOffer( - clientCtx.GetFromAddress().String(), - argCard, - argPrice, - ) - 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_create_set.go b/x/cardchain/client/cli/tx_create_set.go deleted file mode 100644 index f44c7ff9..00000000 --- a/x/cardchain/client/cli/tx_create_set.go +++ /dev/null @@ -1,54 +0,0 @@ -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 CmdCreateSet() *cobra.Command { - cmd := &cobra.Command{ - 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] - var argContributors []string - argArtist := args[1] - argStoryWriter := args[2] - - err = json.Unmarshal([]byte(args[3]), &argContributors) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgCreateSet( - clientCtx.GetFromAddress().String(), - argName, - argArtist, - argStoryWriter, - argContributors, - ) - 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_createuser.go b/x/cardchain/client/cli/tx_createuser.go deleted file mode 100644 index 16288b66..00000000 --- a/x/cardchain/client/cli/tx_createuser.go +++ /dev/null @@ -1,44 +0,0 @@ -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 CmdCreateuser() *cobra.Command { - cmd := &cobra.Command{ - Use: "createuser [newuser] [alias]", - Short: "Broadcast message createuser", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argNewuser := args[0] - argAlias := args[1] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgCreateuser( - clientCtx.GetFromAddress().String(), - argNewuser, - argAlias, - ) - 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_disinvite_early_access.go b/x/cardchain/client/cli/tx_disinvite_early_access.go deleted file mode 100644 index 55052a3c..00000000 --- a/x/cardchain/client/cli/tx_disinvite_early_access.go +++ /dev/null @@ -1,42 +0,0 @@ -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 CmdDisinviteEarlyAccess() *cobra.Command { - cmd := &cobra.Command{ - Use: "disinvite-early-access [user]", - Short: "Broadcast message disinviteEarlyAccess", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argUser := args[0] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgDisinviteEarlyAccess( - clientCtx.GetFromAddress().String(), - argUser, - ) - 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_donate_to_card.go b/x/cardchain/client/cli/tx_donate_to_card.go deleted file mode 100644 index 53c38974..00000000 --- a/x/cardchain/client/cli/tx_donate_to_card.go +++ /dev/null @@ -1,53 +0,0 @@ -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" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/spf13/cast" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdDonateToCard() *cobra.Command { - cmd := &cobra.Command{ - Use: "donate-to-card [card-id] [amount]", - Short: "Broadcast message DonateToCard", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCardId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - argAmount, err := sdk.ParseCoinNormalized(args[1]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgDonateToCard( - clientCtx.GetFromAddress().String(), - argCardId, - argAmount, - ) - 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_encounter_close.go b/x/cardchain/client/cli/tx_encounter_close.go deleted file mode 100644 index 42373b95..00000000 --- a/x/cardchain/client/cli/tx_encounter_close.go +++ /dev/null @@ -1,53 +0,0 @@ -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 CmdEncounterClose() *cobra.Command { - cmd := &cobra.Command{ - Use: "encounter-close [encounter-id] [user] [won]", - Short: "Broadcast message EncounterClose", - Args: cobra.ExactArgs(3), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argEncounterId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - argWon, err := cast.ToBoolE(args[2]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgEncounterClose( - clientCtx.GetFromAddress().String(), - argEncounterId, - args[1], - argWon, - ) - 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_encounter_create.go b/x/cardchain/client/cli/tx_encounter_create.go deleted file mode 100644 index 69d6135a..00000000 --- a/x/cardchain/client/cli/tx_encounter_create.go +++ /dev/null @@ -1,56 +0,0 @@ -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 CmdEncounterCreate() *cobra.Command { - cmd := &cobra.Command{ - Use: "encounter-create [name] [drawlist] [parameters] [image]", - Short: "Broadcast message EncounterCreate", - Args: cobra.ExactArgs(4), - RunE: func(cmd *cobra.Command, args []string) (err error) { - var reqDrawlist []uint64 - err = json.Unmarshal([]byte(args[1]), &reqDrawlist) - if err != nil { - return err - } - - var reqParameters map[string]string - err = json.Unmarshal([]byte(args[2]), &reqParameters) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgEncounterCreate( - clientCtx.GetFromAddress().String(), - args[0], - reqDrawlist, - reqParameters, - []byte(args[3]), - ) - 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_encounter_do.go b/x/cardchain/client/cli/tx_encounter_do.go deleted file mode 100644 index b2afac86..00000000 --- a/x/cardchain/client/cli/tx_encounter_do.go +++ /dev/null @@ -1,47 +0,0 @@ -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 CmdEncounterDo() *cobra.Command { - cmd := &cobra.Command{ - Use: "encounter-do [encounter-id] [user]", - Short: "Broadcast message EncounterDo", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argEncounterId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgEncounterDo( - clientCtx.GetFromAddress().String(), - argEncounterId, - args[1], - ) - 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_finalize_set.go b/x/cardchain/client/cli/tx_finalize_set.go deleted file mode 100644 index 5e6e33b7..00000000 --- a/x/cardchain/client/cli/tx_finalize_set.go +++ /dev/null @@ -1,46 +0,0 @@ -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 CmdFinalizeSet() *cobra.Command { - cmd := &cobra.Command{ - Use: "finalize-set [set-id]", - Short: "Broadcast message FinalizeSet", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argSetId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgFinalizeSet( - clientCtx.GetFromAddress().String(), - argSetId, - ) - 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_invite_early_access.go b/x/cardchain/client/cli/tx_invite_early_access.go deleted file mode 100644 index 7b3411e3..00000000 --- a/x/cardchain/client/cli/tx_invite_early_access.go +++ /dev/null @@ -1,42 +0,0 @@ -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 CmdInviteEarlyAccess() *cobra.Command { - cmd := &cobra.Command{ - Use: "invite-early-access [user]", - Short: "Broadcast message inviteEarlyAccess", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argUser := args[0] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgInviteEarlyAccess( - clientCtx.GetFromAddress().String(), - argUser, - ) - 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_msg_open_match.go b/x/cardchain/client/cli/tx_msg_open_match.go deleted file mode 100644 index c14747d6..00000000 --- a/x/cardchain/client/cli/tx_msg_open_match.go +++ /dev/null @@ -1,56 +0,0 @@ -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 deleted file mode 100644 index 3b47bc83..00000000 --- a/x/cardchain/client/cli/tx_multi_vote_card.go +++ /dev/null @@ -1,40 +0,0 @@ -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_open_booster_pack.go b/x/cardchain/client/cli/tx_open_booster_pack.go deleted file mode 100644 index 0ea94816..00000000 --- a/x/cardchain/client/cli/tx_open_booster_pack.go +++ /dev/null @@ -1,46 +0,0 @@ -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 CmdOpenBoosterPack() *cobra.Command { - cmd := &cobra.Command{ - Use: "open-booster-pack [booster-pack-id]", - Short: "Broadcast message OpenBoosterPack", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argBoosterPackId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgOpenBoosterPack( - clientCtx.GetFromAddress().String(), - argBoosterPackId, - ) - 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_register_for_council.go b/x/cardchain/client/cli/tx_register_for_council.go deleted file mode 100644 index cecb956f..00000000 --- a/x/cardchain/client/cli/tx_register_for_council.go +++ /dev/null @@ -1,40 +0,0 @@ -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 CmdRegisterForCouncil() *cobra.Command { - cmd := &cobra.Command{ - Use: "register-for-council", - Short: "Broadcast message RegisterForCouncil", - 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.NewMsgRegisterForCouncil( - 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_set.go b/x/cardchain/client/cli/tx_remove_card_from_set.go deleted file mode 100644 index c782ef11..00000000 --- a/x/cardchain/client/cli/tx_remove_card_from_set.go +++ /dev/null @@ -1,51 +0,0 @@ -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 CmdRemoveCardFromSet() *cobra.Command { - cmd := &cobra.Command{ - 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) { - argSetId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argCardId, err := cast.ToUint64E(args[1]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgRemoveCardFromSet( - clientCtx.GetFromAddress().String(), - argSetId, - argCardId, - ) - 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_contributor_from_set.go b/x/cardchain/client/cli/tx_remove_contributor_from_set.go deleted file mode 100644 index 028371ea..00000000 --- a/x/cardchain/client/cli/tx_remove_contributor_from_set.go +++ /dev/null @@ -1,48 +0,0 @@ -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 CmdRemoveContributorFromSet() *cobra.Command { - cmd := &cobra.Command{ - 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) { - argSetId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argUser := args[1] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgRemoveContributorFromSet( - clientCtx.GetFromAddress().String(), - argSetId, - argUser, - ) - 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_sell_offer.go b/x/cardchain/client/cli/tx_remove_sell_offer.go deleted file mode 100644 index 3b0379ff..00000000 --- a/x/cardchain/client/cli/tx_remove_sell_offer.go +++ /dev/null @@ -1,46 +0,0 @@ -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 CmdRemoveSellOffer() *cobra.Command { - cmd := &cobra.Command{ - Use: "remove-sell-offer [sell-offer-id]", - Short: "Broadcast message RemoveSellOffer", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argSellOfferId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgRemoveSellOffer( - clientCtx.GetFromAddress().String(), - argSellOfferId, - ) - 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_report_match.go b/x/cardchain/client/cli/tx_report_match.go deleted file mode 100644 index d0e96718..00000000 --- a/x/cardchain/client/cli/tx_report_match.go +++ /dev/null @@ -1,63 +0,0 @@ -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 CmdReportMatch() *cobra.Command { - cmd := &cobra.Command{ - Use: "report-match [match-id] [cards-a] [cards-b] [outcome]", - Short: "Broadcast message ReportMatch", - Args: cobra.ExactArgs(4), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argMatchId, err := strconv.Atoi(args[0]) - if err != nil { - return err - } - - var argCardsA []uint64 - var argCardsB []uint64 - - err = json.Unmarshal([]byte(args[1]), &argCardsA) - if err != nil { - return err - } - err = json.Unmarshal([]byte(args[2]), &argCardsB) - if err != nil { - return err - } - - argOutcome := types.Outcome(types.Outcome_value[args[3]]) - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgReportMatch( - clientCtx.GetFromAddress().String(), - uint64(argMatchId), - argCardsA, - argCardsB, - argOutcome, - ) - 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_restart_council.go b/x/cardchain/client/cli/tx_restart_council.go deleted file mode 100644 index c08b815c..00000000 --- a/x/cardchain/client/cli/tx_restart_council.go +++ /dev/null @@ -1,46 +0,0 @@ -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 CmdRestartCouncil() *cobra.Command { - cmd := &cobra.Command{ - Use: "restart-council [council-id]", - Short: "Broadcast message RestartCouncil", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCouncilId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgRestartCouncil( - clientCtx.GetFromAddress().String(), - argCouncilId, - ) - 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_reveal_council_response.go b/x/cardchain/client/cli/tx_reveal_council_response.go deleted file mode 100644 index 0fae663e..00000000 --- a/x/cardchain/client/cli/tx_reveal_council_response.go +++ /dev/null @@ -1,50 +0,0 @@ -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 CmdRevealCouncilResponse() *cobra.Command { - cmd := &cobra.Command{ - Use: "reveal-council-response [councilId] [response] [secret]", - Short: "Broadcast message RevealCouncilResponse", - Args: cobra.ExactArgs(3), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCouncilId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argResponse := types.Response(types.Response_value[args[1]]) - argSecret := args[2] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgRevealCouncilResponse( - clientCtx.GetFromAddress().String(), - argResponse, - argSecret, - argCouncilId, - ) - 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_rewoke_council_registration.go b/x/cardchain/client/cli/tx_rewoke_council_registration.go deleted file mode 100644 index 18761e27..00000000 --- a/x/cardchain/client/cli/tx_rewoke_council_registration.go +++ /dev/null @@ -1,40 +0,0 @@ -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 CmdRewokeCouncilRegistration() *cobra.Command { - cmd := &cobra.Command{ - Use: "rewoke-council-registration", - Short: "Broadcast message RewokeCouncilRegistration", - 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.NewMsgRewokeCouncilRegistration( - 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_save_card_content.go b/x/cardchain/client/cli/tx_save_card_content.go deleted file mode 100644 index e94c8a78..00000000 --- a/x/cardchain/client/cli/tx_save_card_content.go +++ /dev/null @@ -1,66 +0,0 @@ -package cli - -import ( - "encoding/json" - "strconv" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/DecentralCardGame/cardobject/keywords" - "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 CmdSaveCardContent() *cobra.Command { - cmd := &cobra.Command{ - Use: "save-card-content [card-id] [content] [notes] [artist]", - Short: "Broadcast message SaveCardContent", - Args: cobra.ExactArgs(4), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCardId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - cardobj, err := keywords.Unmarshal([]byte(args[1])) - if err != nil { - return err - } - - cardbytes, err := json.Marshal(cardobj) - if err != nil { - return err - } - - argNotes := args[2] - argArtist := args[3] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgSaveCardContent( - clientCtx.GetFromAddress().String(), - argCardId, - cardbytes, - // argImage, - // argFullArt, - argNotes, - argArtist, - ) - 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_card_rarity.go b/x/cardchain/client/cli/tx_set_card_rarity.go deleted file mode 100644 index 40244118..00000000 --- a/x/cardchain/client/cli/tx_set_card_rarity.go +++ /dev/null @@ -1,60 +0,0 @@ -package cli - -import ( - "fmt" - "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" - "golang.org/x/exp/maps" -) - -var _ = strconv.Itoa(0) - -func CmdSetCardRarity() *cobra.Command { - cmd := &cobra.Command{ - 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) { - argCardId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argSetId, err := cast.ToUint64E(args[1]) - if err != nil { - return err - } - 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 { - return err - } - - msg := types.NewMsgSetCardRarity( - clientCtx.GetFromAddress().String(), - argCardId, - argSetId, - argRarity, - ) - 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_profile_card.go b/x/cardchain/client/cli/tx_set_profile_card.go deleted file mode 100644 index b39ef894..00000000 --- a/x/cardchain/client/cli/tx_set_profile_card.go +++ /dev/null @@ -1,46 +0,0 @@ -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 CmdSetProfileCard() *cobra.Command { - cmd := &cobra.Command{ - Use: "set-profile-card [card-id]", - Short: "Broadcast message setProfileCard", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCardId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgSetProfileCard( - clientCtx.GetFromAddress().String(), - argCardId, - ) - 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_set_artist.go b/x/cardchain/client/cli/tx_set_set_artist.go deleted file mode 100644 index c38d6be3..00000000 --- a/x/cardchain/client/cli/tx_set_set_artist.go +++ /dev/null @@ -1,48 +0,0 @@ -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 CmdSetSetArtist() *cobra.Command { - cmd := &cobra.Command{ - Use: "set-set-artist [set-id] [artist]", - Short: "Broadcast message setSetArtist", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argSetId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argArtist := args[1] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgSetSetArtist( - clientCtx.GetFromAddress().String(), - argSetId, - argArtist, - ) - 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_set_name.go b/x/cardchain/client/cli/tx_set_set_name.go deleted file mode 100644 index bcaa953b..00000000 --- a/x/cardchain/client/cli/tx_set_set_name.go +++ /dev/null @@ -1,48 +0,0 @@ -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_set_story_writer.go b/x/cardchain/client/cli/tx_set_set_story_writer.go deleted file mode 100644 index c71a2cfd..00000000 --- a/x/cardchain/client/cli/tx_set_set_story_writer.go +++ /dev/null @@ -1,47 +0,0 @@ -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 CmdSetSetStoryWriter() *cobra.Command { - cmd := &cobra.Command{ - Use: "set-set-story-writer [set-id]", - Short: "Broadcast message setSetStoryWriter", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argSetId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgSetSetStoryWriter( - clientCtx.GetFromAddress().String(), - argSetId, - args[1], - ) - 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_user_biography.go b/x/cardchain/client/cli/tx_set_user_biography.go deleted file mode 100644 index 79397f26..00000000 --- a/x/cardchain/client/cli/tx_set_user_biography.go +++ /dev/null @@ -1,42 +0,0 @@ -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 CmdSetUserBiography() *cobra.Command { - cmd := &cobra.Command{ - Use: "set-user-biography [biography]", - Short: "Broadcast message setUserBiography", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argBiography := args[0] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgSetUserBiography( - clientCtx.GetFromAddress().String(), - argBiography, - ) - 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_user_website.go b/x/cardchain/client/cli/tx_set_user_website.go deleted file mode 100644 index 8c94e201..00000000 --- a/x/cardchain/client/cli/tx_set_user_website.go +++ /dev/null @@ -1,42 +0,0 @@ -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 CmdSetUserWebsite() *cobra.Command { - cmd := &cobra.Command{ - Use: "set-user-website [website]", - Short: "Broadcast message setUserWebsite", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argWebsite := args[0] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgSetUserWebsite( - clientCtx.GetFromAddress().String(), - argWebsite, - ) - 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_transfer_booster_pack.go b/x/cardchain/client/cli/tx_transfer_booster_pack.go deleted file mode 100644 index 4bd45b39..00000000 --- a/x/cardchain/client/cli/tx_transfer_booster_pack.go +++ /dev/null @@ -1,48 +0,0 @@ -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 CmdTransferBoosterPack() *cobra.Command { - cmd := &cobra.Command{ - Use: "transfer-booster-pack [booster-pack-id] [receiver]", - Short: "Broadcast message TransferBoosterPack", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argBoosterPackId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argReceiver := args[1] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgTransferBoosterPack( - clientCtx.GetFromAddress().String(), - argBoosterPackId, - argReceiver, - ) - 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_transfer_card.go b/x/cardchain/client/cli/tx_transfer_card.go deleted file mode 100644 index 30ffbfa9..00000000 --- a/x/cardchain/client/cli/tx_transfer_card.go +++ /dev/null @@ -1,48 +0,0 @@ -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 CmdTransferCard() *cobra.Command { - cmd := &cobra.Command{ - Use: "transfer-card [card-id] [receiver]", - Short: "Broadcast message TransferCard", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCardId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argReceiver := args[1] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgTransferCard( - clientCtx.GetFromAddress().String(), - argCardId, - argReceiver, - ) - 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_vote_card.go b/x/cardchain/client/cli/tx_vote_card.go deleted file mode 100644 index 8e907f92..00000000 --- a/x/cardchain/client/cli/tx_vote_card.go +++ /dev/null @@ -1,53 +0,0 @@ -package cli - -import ( - "fmt" - "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" - "golang.org/x/exp/maps" -) - -var _ = strconv.Itoa(0) - -func CmdVoteCard() *cobra.Command { - cmd := &cobra.Command{ - Use: "vote-card [card-id] [vote-type]", - Short: "Broadcast message VoteCard", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCardId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argVoteType, found := types.VoteType_value[args[1]] - if !found { - return fmt.Errorf("vote-type has to be in %s", maps.Keys(types.VoteType_value)) - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgVoteCard( - clientCtx.GetFromAddress().String(), - argCardId, - types.VoteType(argVoteType), - ) - 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/util.go b/x/cardchain/client/cli/util.go deleted file mode 100644 index e0834d34..00000000 --- a/x/cardchain/client/cli/util.go +++ /dev/null @@ -1,7 +0,0 @@ -package cli - -import "encoding/json" - -func getJsonArg[T any](from string, into *T) error { - return json.Unmarshal([]byte(from), into) -} diff --git a/x/cardchain/client/proposal_handler.go b/x/cardchain/client/proposal_handler.go deleted file mode 100644 index 198f3bd0..00000000 --- a/x/cardchain/client/proposal_handler.go +++ /dev/null @@ -1,12 +0,0 @@ -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) -var EarlyAccessProposalHandler = govclient.NewProposalHandler(cli.CmdSubmitEarlyAccessProposal) diff --git a/x/cardchain/genesis.go b/x/cardchain/genesis.go deleted file mode 100644 index c59bdded..00000000 --- a/x/cardchain/genesis.go +++ /dev/null @@ -1,137 +0,0 @@ -package cardchain - -import ( - "encoding/json" - "fmt" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/DecentralCardGame/cardobject/cardobject" - "github.com/DecentralCardGame/cardobject/keywords" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// InitGenesis initializes the capability 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 - for id := range genState.Users { - address, _ := sdk.AccAddressFromBech32(genState.Addresses[id]) - k.SetUser(ctx, address, *genState.Users[id]) - } - for id, match := range genState.Matches { - k.Matches.Set(ctx, uint64(id), match) - } - for id, council := range genState.Councils { - k.Councils.Set(ctx, uint64(id), council) - } - for id, sellOffer := range genState.SellOffers { - k.SellOffers.Set(ctx, uint64(id), sellOffer) - } - for id, image := range genState.Images { - k.Images.Set(ctx, uint64(id), image) - } - for id, server := range genState.Servers { - k.Servers.Set(ctx, uint64(id), server) - } - for id, pool := range genState.Pools { - k.Pools.Set(ctx, k.Pools.KeyWords[id], pool) - } - for idx, average := range genState.RunningAverages { - k.RunningAverages.Set(ctx, k.RunningAverages.KeyWords[idx], average) - } - if genState.CardAuctionPrice.Denom != "" { - k.SetCardAuctionPrice(ctx, genState.CardAuctionPrice) - } - if genState.LastCardModified != nil { - k.SetLastCardModified(ctx, *genState.LastCardModified) - } - for _, zealy := range genState.Zealys { - k.SetZealy(ctx, zealy.ZealyId, *zealy) - } - k.Logger(ctx).Info("reading cards with id:") - for currId, record := range genState.CardRecords { - if len(record.Content) != 0 { - _, err := keywords.Unmarshal(record.Content) - - if err != nil { - k.Logger(ctx).Info(fmt.Sprintf("Failed to read %d :\n\t%s\n\t%s\n-----", currId, err.Error(), record.Content)) - var card keywords.Card - json.Unmarshal(record.Content, &card) - - switch card.GetType() { - case cardobject.ENTITYTYPE: - card.Entity.Abilities.Clear() - case cardobject.PLACETYPE: - card.Place.Abilities.Clear() - case cardobject.HEADQUARTERTYPE: - card.Headquarter.Abilities.Clear() - case cardobject.ACTIONTYPE: - card.Action.Effects.Clear() - } - jsonBytes, _ := json.Marshal(card) - record.Content = jsonBytes - } - } - - k.Cards.Set(ctx, uint64(currId), record) - } - k.Logger(ctx).Info("Params", genState.Params) - if genState.Params.AirDropValue.Denom == "" { - defaultParams := types.DefaultParams() - 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) - for id, set := range genState.Sets { - if set.Status == types.CStatus_active || set.Status == types.CStatus_finalized { - set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) - set.Rarities = k.GetCardRaritiesInSet(ctx, set) - } - k.Sets.Set(ctx, uint64(id), set) - } -} - -// ExportGenesis returns the capability module's exported genesis. -func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { - // this line is used by starport scaffolding # genesis/module/export - 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) - sets := k.Sets.GetAll(ctx) - images := k.Images.GetAll(ctx) - servers := k.Servers.GetAll(ctx) - users, accAddresses := k.GetAllUsers(ctx) - zealys, _ := k.GetAllZealys(ctx) - var addresses []string - for _, addr := range accAddresses { - addresses = append(addresses, addr.String()) - } - return &types.GenesisState{ - Params: params, - CardRecords: records, - Users: users, - Matches: matches, - Sets: sets, - SellOffers: sellOffers, - Pools: pools, - Councils: councils, - Addresses: addresses, - CardAuctionPrice: cardAuctionPrice, - Images: images, - RunningAverages: runningAverages, - Servers: servers, - LastCardModified: &lastCardModified, - Zealys: zealys, - } -} diff --git a/x/cardchain/genesis_test.go b/x/cardchain/genesis_test.go deleted file mode 100644 index 2858ac7d..00000000 --- a/x/cardchain/genesis_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package cardchain_test - -import ( - "testing" - - keepertest "github.com/DecentralCardGame/Cardchain/testutil/keeper" - "github.com/DecentralCardGame/Cardchain/testutil/nullify" - "github.com/DecentralCardGame/Cardchain/x/cardchain" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/stretchr/testify/require" -) - -var someMatch = types.Match{ - 100, - "cc1cyezs5v34utk48l3mgm8v8ll2d286xhs7apu0d", - "cc1cyezs5v34utk48l3mgm8v8ll2d286xhs7apu0d", - "cc1cyezs5v34utk48l3mgm8v8ll2d286xhs7apu0d", - types.Outcome_AWon, -} - -func TestGenesis(t *testing.T) { - genesisState := types.GenesisState{ - Params: types.DefaultParams(), - - Matches: []*types.Match{ - &someMatch, - &someMatch, - }, - // this line is used by starport scaffolding # genesis/test/state - } - - k, ctx := keepertest.CardchainKeeper(t) - cardchain.InitGenesis(ctx, *k, genesisState) - got := cardchain.ExportGenesis(ctx, *k) - require.NotNil(t, got) - - nullify.Fill(&genesisState) - nullify.Fill(got) - - require.ElementsMatch(t, genesisState.Matches, got.Matches) - // this line is used by starport scaffolding # genesis/test/assert -} diff --git a/x/cardchain/handler.go b/x/cardchain/handler.go deleted file mode 100644 index e6f40f38..00000000 --- a/x/cardchain/handler.go +++ /dev/null @@ -1,153 +0,0 @@ -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" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -// NewHandler ... -func NewHandler(k keeper.Keeper) sdk.Handler { - msgServer := keeper.NewMsgServerImpl(k) - - return func(ctx sdk.Context, msg sdk.Msg) (*sdk.Result, error) { - ctx = ctx.WithEventManager(sdk.NewEventManager()) - - switch msg := msg.(type) { - case *types.MsgAddArtwork: - res, err := msgServer.AddArtwork(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgBuyCardScheme: - res, err := msgServer.BuyCardScheme(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgVoteCard: - res, err := msgServer.VoteCard(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgSaveCardContent: - res, err := msgServer.SaveCardContent(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgTransferCard: - res, err := msgServer.TransferCard(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgDonateToCard: - res, err := msgServer.DonateToCard(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgCreateuser: - res, err := msgServer.Createuser(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgChangeArtist: - res, err := msgServer.ChangeArtist(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgRegisterForCouncil: - res, err := msgServer.RegisterForCouncil(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgReportMatch: - res, err := msgServer.ReportMatch(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - // 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.MsgCreateSet: - res, err := msgServer.CreateSet(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgAddCardToSet: - res, err := msgServer.AddCardToSet(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgFinalizeSet: - res, err := msgServer.FinalizeSet(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgBuyBoosterPack: - res, err := msgServer.BuyBoosterPack(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgRemoveCardFromSet: - res, err := msgServer.RemoveCardFromSet(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgRemoveContributorFromSet: - res, err := msgServer.RemoveContributorFromSet(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - 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) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgBuyCard: - res, err := msgServer.BuyCard(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgRemoveSellOffer: - res, err := msgServer.RemoveSellOffer(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgAddArtworkToSet: - res, err := msgServer.AddArtworkToSet(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - 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) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgCreateCouncil: - res, err := msgServer.CreateCouncil(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgCommitCouncilResponse: - res, err := msgServer.CommitCouncilResponse(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgRevealCouncilResponse: - res, err := msgServer.RevealCouncilResponse(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgRestartCouncil: - res, err := msgServer.RestartCouncil(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgRewokeCouncilRegistration: - res, err := msgServer.RewokeCouncilRegistration(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgConfirmMatch: - res, err := msgServer.ConfirmMatch(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgSetProfileCard: - res, err := msgServer.SetProfileCard(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgOpenBoosterPack: - res, err := msgServer.OpenBoosterPack(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgTransferBoosterPack: - res, err := msgServer.TransferBoosterPack(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgSetSetStoryWriter: - res, err := msgServer.SetSetStoryWriter(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - 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) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgSetUserBiography: - res, err := msgServer.SetUserBiography(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - // this line is used by starport scaffolding # 1 - default: - errMsg := fmt.Sprintf("unrecognized %s message type: %T", types.ModuleName, msg) - return nil, sdkerrors.Wrap(errors.ErrUnknownRequest, errMsg) - } - } -} - -// apply nerf levels and remove inappropriate cards - -func UpdateNerfLevels(ctx sdk.Context, keeper keeper.Keeper) sdk.Result { - - buffbois, nerfbois, _, banbois := keeper.GetOPandUPCards(ctx) - keeper.NerfBuffCards(ctx, buffbois, true) - keeper.NerfBuffCards(ctx, nerfbois, false) - keeper.UpdateBanStatus(ctx, banbois) - - keeper.ResetAllVotes(ctx) - keeper.RemoveExpiredVoteRights(ctx) - - return sdk.Result{} -} diff --git a/x/cardchain/keeper/airdrops.go b/x/cardchain/keeper/airdrops.go deleted file mode 100644 index a3e612ef..00000000 --- a/x/cardchain/keeper/airdrops.go +++ /dev/null @@ -1,35 +0,0 @@ -package keeper - -import ( - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// ClaimAirDrop claims a given airdrop -func (k Keeper) ClaimAirDrop(ctx sdk.Context, user *User, airdrop types.AirDrop) (ret bool) { - params := k.GetParams(ctx) - - // Ensures AirDrops is set - if user.AirDrops == nil { - user.AirDrops = &types.AirDrops{} - } - - if ctx.BlockHeight() > params.AirDropMaxBlockHeight { - return - } - - airdrops := []*bool{ - &user.AirDrops.Play, &user.AirDrops.Vote, &user.AirDrops.Create, - &user.AirDrops.Buy, &user.AirDrops.User, - } - - choosen := airdrops[int(airdrop)] - if !*choosen { - // Coin transfer happens here - k.MintCoinsToAddr(ctx, user.Addr, sdk.Coins{params.AirDropValue}) - ret = true - *choosen = true - } - - return -} diff --git a/x/cardchain/keeper/arrays.go b/x/cardchain/keeper/arrays.go deleted file mode 100644 index e134227c..00000000 --- a/x/cardchain/keeper/arrays.go +++ /dev/null @@ -1,16 +0,0 @@ -package keeper - -import ( - "slices" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" -) - -func PopItemFromArr[E comparable](item E, arr []E) ([]E, error) { - idx := slices.Index(arr, item) - if idx == -1 { - return arr, types.ErrCardNotThere - } - arr = slices.Delete(arr, idx, idx+1) - return arr, nil -} diff --git a/x/cardchain/keeper/arrays_test.go b/x/cardchain/keeper/arrays_test.go deleted file mode 100644 index a186938a..00000000 --- a/x/cardchain/keeper/arrays_test.go +++ /dev/null @@ -1,18 +0,0 @@ -package keeper_test - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/stretchr/testify/require" -) - -func TestArrays(t *testing.T) { - // UintItemInArr - uintList := []uint64{1, 5, 8, 9, 4} - - // PopItemFromArr - arr, err := keeper.PopItemFromArr(9, uintList) - require.EqualValues(t, []uint64{1, 5, 8, 4}, arr) - require.EqualValues(t, nil, err) -} diff --git a/x/cardchain/keeper/card.go b/x/cardchain/keeper/card.go deleted file mode 100644 index 8d8d730f..00000000 --- a/x/cardchain/keeper/card.go +++ /dev/null @@ -1,57 +0,0 @@ -package keeper - -import ( - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// GetCardAuctionPrice Returns the current price of the card scheme auction -func (k Keeper) GetCardAuctionPrice(ctx sdk.Context) (price sdk.Coin) { - store := ctx.KVStore(k.InternalStoreKey) - bz := store.Get([]byte("currentCardSchemeAuctionPrice")) - k.cdc.MustUnmarshal(bz, &price) - return -} - -// SetCardAuctionPrice Sets the current price of the card scheme auction -func (k Keeper) SetCardAuctionPrice(ctx sdk.Context, price sdk.Coin) { - store := ctx.KVStore(k.InternalStoreKey) - 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) - user.OwnedCardSchemes = append(user.OwnedCardSchemes, cardId) - k.SetUser(ctx, address, user) -} - -// SetCardToTrial Sets a card to trial -func (k Keeper) SetCardToTrial(ctx sdk.Context, cardId uint64, votePool sdk.Coin) { - card := k.Cards.Get(ctx, cardId) - card.ResetVotes() - card.VotePool = card.VotePool.Add(votePool) - card.Status = types.Status_trial - k.Cards.Set(ctx, cardId, card) - k.SetLastCardModifiedNow(ctx) -} diff --git a/x/cardchain/keeper/card_test.go b/x/cardchain/keeper/card_test.go deleted file mode 100644 index 0e17e83c..00000000 --- a/x/cardchain/keeper/card_test.go +++ /dev/null @@ -1,56 +0,0 @@ -package keeper_test - -import ( - "testing" - - testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/stretchr/testify/require" -) - -// Sets up a Card -func setUpCard(ctx sdk.Context, k *keeper.Keeper) types.Card { - addr, err := sdk.AccAddressFromBech32("cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf") - if err != nil { - panic(err) - } - card := types.NewCard(addr) - card.Artist = addr.String() - - k.Cards.Set(ctx, 0, &card) - return card -} - -func TestCard(t *testing.T) { - k, ctx := testkeeper.CardchainKeeper(t) - card := setUpCard(ctx, k) - - require.EqualValues(t, card, *k.Cards.Get(ctx, 0)) - require.EqualValues(t, []*types.Card{&card}, k.Cards.GetAll(ctx)) - require.EqualValues(t, 1, k.Cards.GetNumber(ctx)) -} - -func TestCardAuctionPrice(t *testing.T) { - k, ctx := testkeeper.CardchainKeeper(t) - - coin1 := sdk.NewInt64Coin("ucredits", 156) - - k.SetCardAuctionPrice(ctx, coin1) - - require.EqualValues(t, coin1, k.GetCardAuctionPrice(ctx)) -} - -func TestSetCardToTrial(t *testing.T) { - k, ctx := testkeeper.CardchainKeeper(t) - card := setUpCard(ctx, k) - - votePool := sdk.NewInt64Coin("ucredits", 10000) - k.SetCardToTrial(ctx, 0, votePool) - card = *k.Cards.Get(ctx, 0) - - require.EqualValues(t, votePool, card.VotePool) - require.EqualValues(t, types.Status_trial, card.Status) - require.EqualValues(t, *new([]string), card.Voters) -} diff --git a/x/cardchain/keeper/coin.go b/x/cardchain/keeper/coin.go deleted file mode 100644 index b60adfee..00000000 --- a/x/cardchain/keeper/coin.go +++ /dev/null @@ -1,106 +0,0 @@ -package keeper - -import ( - "math/big" - - sdkerrors "cosmossdk.io/errors" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// 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)), - } -} - -// MulCoinFloat multiplies a Coin with a float -func MulCoinFloat(coin sdk.Coin, amt float64) sdk.Coin { - amount := big.NewFloat(amt) - oldAmount := new(big.Float).SetInt(coin.Amount.BigInt()) - oldAmount.Mul(amount, oldAmount) - var newAmount big.Int - oldAmount.Int(&newAmount) - return sdk.Coin{ - 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)), - } -} - -// MintCoinsToAddr adds coins to an Account -func (k Keeper) MintCoinsToAddr(ctx sdk.Context, addr sdk.AccAddress, amounts sdk.Coins) error { - coinMint := types.CoinsIssuerName - // mint coins to minter module account - err := k.BankKeeper.MintCoins(ctx, coinMint, amounts) - if err != nil { - return err - } - // send coins to the address - err = k.BankKeeper.SendCoinsFromModuleToAccount(ctx, coinMint, addr, amounts) - if err != nil { - return err - } - return nil -} - -// BurnCoinsFromAddr removes Coins from an Account -func (k Keeper) BurnCoinsFromAddr(ctx sdk.Context, addr sdk.AccAddress, amounts sdk.Coins) error { - coinMint := types.CoinsIssuerName - // send coins to the module - err := k.BankKeeper.SendCoinsFromAccountToModule(ctx, addr, coinMint, amounts) - if err != nil { - return err - } - // burn coins from minter module account - err = k.BankKeeper.BurnCoins(ctx, coinMint, amounts) - if err != nil { - return err - } - return nil -} - -// MintCoinsToString adds coins to an Account -func (k Keeper) MintCoinsToString(ctx sdk.Context, user string, amounts sdk.Coins) error { - addr, err := sdk.AccAddressFromBech32(user) - if err != nil { - return sdkerrors.Wrap(types.ErrInvalidAccAddress, "Unable to convert to AccAddress") - } - err = k.MintCoinsToAddr(ctx, addr, amounts) - if err != nil { - return err - } - return nil -} - -// BurnCoinsFromString adds coins to an Account -func (k Keeper) BurnCoinsFromString(ctx sdk.Context, user string, amounts sdk.Coins) error { - addr, err := sdk.AccAddressFromBech32(user) - if err != nil { - return sdkerrors.Wrap(types.ErrInvalidAccAddress, "Unable to convert to AccAddress") - } - err = k.BurnCoinsFromAddr(ctx, addr, amounts) - if err != nil { - return err - } - return nil -} - -// TransferFromCoin Transfers coins from a certain pool to a coin -func (k Keeper) TransferFromCoin(ctx sdk.Context, addr string, pool *sdk.Coin, coin sdk.Coin) error { - err := k.MintCoinsToString(ctx, addr, sdk.Coins{coin}) - if err != nil { - return err - } - *pool = pool.Sub(coin) - return nil -} diff --git a/x/cardchain/keeper/coin_test.go b/x/cardchain/keeper/coin_test.go deleted file mode 100644 index 8c0a755a..00000000 --- a/x/cardchain/keeper/coin_test.go +++ /dev/null @@ -1,36 +0,0 @@ -package keeper_test - -import ( - "testing" - - // testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/stretchr/testify/require" -) - -func TestCoins(t *testing.T) { - // k, ctx := testkeeper.CardchainKeeper(t) - coin1 := sdk.NewInt64Coin("ucredits", 10) - coin2 := sdk.NewInt64Coin("ucredits", 20) - coin3 := sdk.NewInt64Coin("ucredits", 15) - - // Mulcoin - require.EqualValues(t, coin2, keeper.MulCoin(coin1, 2)) - require.NotEqualValues(t, coin2, keeper.MulCoin(coin1, 3)) - // QuoCoin - require.EqualValues(t, coin1, keeper.QuoCoin(coin2, 2)) - require.NotEqualValues(t, coin1, keeper.QuoCoin(coin2, 3)) - // MulCoinFloat - require.EqualValues(t, coin3, keeper.MulCoinFloat(coin1, 1.5)) - require.NotEqualValues(t, coin3, keeper.MulCoinFloat(coin1, 2.5)) - - // // MintCoinsToAddr won't be tested as of now, because of a panic somewhere - // addr, err := sdk.AccAddressFromBech32("cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf") - // if err != nil { - // panic(err) - // } - // - // err = k.MintCoinsToAddr(ctx, addr, sdk.Coins{coin1}) - // require.EqualValues(t, nil, err) -} diff --git a/x/cardchain/keeper/council.go b/x/cardchain/keeper/council.go deleted file mode 100644 index 4e8f3c86..00000000 --- a/x/cardchain/keeper/council.go +++ /dev/null @@ -1,142 +0,0 @@ -package keeper - -import ( - "crypto/sha256" - "encoding/hex" - "fmt" - "sort" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// GetResponseHash generates a hash form a response and a secret -func GetResponseHash(response types.Response, secret string) string { - clearResponse := response.String() + secret - hashResponse := sha256.Sum256([]byte(clearResponse)) - hashStringResponse := hex.EncodeToString(hashResponse[:]) - return hashStringResponse -} - -// GetCouncilPartiedVoters Sorts the voters of a council in approvers, deniers and suggestors -func GetCouncilPartiedVoters(responses []*types.WrapClearResponse) (approvers []string, deniers []string, suggestors []string) { - for _, response := range responses { - switch response.Response { - case types.Response_Yes: - approvers = append(approvers, response.User) - case types.Response_No: - deniers = append(deniers, response.User) - case types.Response_Suggestion: - suggestors = append(suggestors, response.User) - } - } - return -} - -// TryEvaluate Tries to evaluate the council decision -func (k Keeper) TryEvaluate(ctx sdk.Context, council *types.Council) error { - collateralDeposit := k.GetParams(ctx).CollateralDeposit - bounty := MulCoin(collateralDeposit, 2) - votePool := MulCoin(collateralDeposit, 5) - - if len(council.ClearResponses) == 5 { - approvers, deniers, suggestors := GetCouncilPartiedVoters(council.ClearResponses) - nrYes, nrNo, nrSuggestion := len(approvers), len(deniers), len(suggestors) - - if nrNo == nrYes || nrSuggestion > nrNo || nrSuggestion > nrYes { - council.Status = types.CouncelingStatus_suggestionsMade - return nil - } else if nrNo > nrYes { - for _, user := range deniers { - err := k.TransferFromCoin(ctx, user, &council.Treasury, bounty) - if err != nil { - return err - } - } - k.AddPoolCredits(ctx, PublicPoolKey, council.Treasury) - council.Treasury = council.Treasury.Sub(council.Treasury) - council.Status = types.CouncelingStatus_councilClosed - } else if nrNo < nrYes { - k.SetCardToTrial(ctx, council.CardId, votePool) - council.TrialStart = uint64(ctx.BlockHeight()) - council.Treasury = council.Treasury.Sub(votePool) - } - for _, addr := range council.Voters { - user, err := k.GetUserFromString(ctx, addr) - if err != nil { - return err - } - user.CouncilStatus = types.CouncilStatus_available - user.Cards = append(user.Cards, council.CardId) - k.SetUserFromUser(ctx, user) - } - } - return nil -} - -// CheckTrial Checks for councils that shouldn't be in trial anymore -func (k Keeper) CheckTrial(ctx sdk.Context) error { - collateralDeposit := k.GetParams(ctx).CollateralDeposit - iter := k.Councils.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - idx, council := iter.Value() - if council.Status == types.CouncelingStatus_revealed { - if council.TrialStart+k.GetParams(ctx).TrialPeriod <= uint64(ctx.BlockHeight()) { - card := k.Cards.Get(ctx, council.CardId) - - var ( - group []string - amt int64 - ) - - approvers, deniers, _ := GetCouncilPartiedVoters(council.ClearResponses) - - votes := []uint64{card.FairEnoughVotes, card.OverpoweredVotes, card.UnderpoweredVotes, card.InappropriateVotes} - sort.Slice(votes, func(i, j int) bool { - return votes[i] < votes[j] - }) - if votes[len(votes)-1] == 0 { - council.TrialStart = uint64(ctx.BlockHeight()) - 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 - amt = 3 - } - - k.Logger(ctx).Debug(fmt.Sprintf(":: Card Set to %s", card.Status.String())) - - bounty := MulCoin(collateralDeposit, amt) - for _, user := range group { - err := k.TransferFromCoin(ctx, user, &council.Treasury, bounty) - if err != nil { - return nil - } - } - k.AddPoolCredits(ctx, PublicPoolKey, council.Treasury) - council.Treasury = council.Treasury.Sub(council.Treasury) - - incentive := QuoCoin(card.VotePool, int64(len(card.Voters))) - for _, user := range card.Voters { - err := k.MintCoinsToString(ctx, user, sdk.Coins{incentive}) - if err != nil { - return nil - } - } - card.VotePool = card.VotePool.Sub(card.VotePool) - council.Status = types.CouncelingStatus_councilClosed - - k.Councils.Set(ctx, idx, council) - k.Cards.Set(ctx, council.CardId, card) - } - } - } - return nil -} diff --git a/x/cardchain/keeper/council_test.go b/x/cardchain/keeper/council_test.go deleted file mode 100644 index 0a5811d0..00000000 --- a/x/cardchain/keeper/council_test.go +++ /dev/null @@ -1,46 +0,0 @@ -package keeper_test - -import ( - "testing" - - testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/stretchr/testify/require" -) - -func TestCouncil(t *testing.T) { - k, ctx := testkeeper.CardchainKeeper(t) - council := types.Council{ - CardId: 0, - Treasury: sdk.NewInt64Coin("credits", 10), - Status: types.CouncelingStatus_councilCreated, - } - - k.Councils.Set(ctx, 0, &council) - - require.EqualValues(t, council, *k.Councils.Get(ctx, 0)) - require.EqualValues(t, []*types.Council{&council}, k.Councils.GetAll(ctx)) - require.EqualValues(t, 1, k.Councils.GetNumber(ctx)) -} - -func TestResponseHash(t *testing.T) { - hash := keeper.GetResponseHash(types.Response_Suggestion, "0") - require.EqualValues(t, "20042f9326d18c469ae50aacb957247cca54101925022b8f463270bf266e756b", hash) -} - -func TestGetCouncilPartiedVoters(t *testing.T) { - responses := []*types.WrapClearResponse{ - {"abc", types.Response_Yes, ""}, - {"def", types.Response_Yes, ""}, - {"ghi", types.Response_No, ""}, - {"jkl", types.Response_No, ""}, - {"mno", types.Response_Yes, ""}, - {"pqr", types.Response_Suggestion, "bla"}, - } - a, d, s := keeper.GetCouncilPartiedVoters(responses) - require.EqualValues(t, []string{"abc", "def", "mno"}, a) - require.EqualValues(t, []string{"ghi", "jkl"}, d) - require.EqualValues(t, []string{"pqr"}, s) -} diff --git a/x/cardchain/keeper/early_access.go b/x/cardchain/keeper/early_access.go deleted file mode 100644 index 237962fb..00000000 --- a/x/cardchain/keeper/early_access.go +++ /dev/null @@ -1,17 +0,0 @@ -package keeper - -import ( - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" -) - -func removeEarlyAccessFromUser(invited *User) { - invited.EarlyAccess.Active = false - invited.EarlyAccess.InvitedByUser = "" -} - -func AddEarlyAccessToUser(user *User, inviter string) { - user.EarlyAccess = &types.EarlyAccess{ - Active: true, - InvitedByUser: inviter, - } -} diff --git a/x/cardchain/keeper/grpc_query_params.go b/x/cardchain/keeper/grpc_query_params.go deleted file mode 100644 index e2a2d862..00000000 --- a/x/cardchain/keeper/grpc_query_params.go +++ /dev/null @@ -1,19 +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) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - ctx := sdk.UnwrapSDKContext(c) - - return &types.QueryParamsResponse{Params: k.GetParams(ctx)}, nil -} diff --git a/x/cardchain/keeper/grpc_query_q_card.go b/x/cardchain/keeper/grpc_query_q_card.go deleted file mode 100644 index f93e3fdd..00000000 --- a/x/cardchain/keeper/grpc_query_q_card.go +++ /dev/null @@ -1,62 +0,0 @@ -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" - "github.com/cosmos/cosmos-sdk/types/errors" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -func (k Keeper) QCard(goCtx context.Context, req *types.QueryQCardRequest) (*types.OutpCard, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - // Start of query code - cardId, err := strconv.ParseUint(req.CardId, 10, 64) - if err != nil { - return nil, sdkerrors.Wrap(errors.ErrUnknownRequest, "could not parse cardId") - } - - card := k.Cards.Get(ctx, cardId) - if card == nil { - 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, - Artist: card.Artist, - Content: string(card.Content), - Image: string(image.Image), - FullArt: card.FullArt, - Notes: card.Notes, - Status: card.Status, - VotePool: card.VotePool, - Voters: card.Voters, - FairEnoughVotes: card.FairEnoughVotes, - OverpoweredVotes: card.OverpoweredVotes, - 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 deleted file mode 100644 index 2219a2cd..00000000 --- a/x/cardchain/keeper/grpc_query_q_card_content.go +++ /dev/null @@ -1,41 +0,0 @@ -package keeper - -import ( - "context" - "crypto/md5" - "encoding/hex" - - "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" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -func (k Keeper) QCardContent(goCtx context.Context, req *types.QueryQCardContentRequest) (*types.QueryQCardContentResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - return k.GetContentResponseFromId(ctx, req.CardId) -} - -func (k Keeper) GetContentResponseFromId(ctx sdk.Context, id uint64) (resp *types.QueryQCardContentResponse, err error) { - card := k.Cards.Get(ctx, id) - if &card == nil { - 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[:]) - - return &types.QueryQCardContentResponse{ - Content: string(card.Content), - Hash: hash, - }, nil -} diff --git a/x/cardchain/keeper/grpc_query_q_cardchain_info.go b/x/cardchain/keeper/grpc_query_q_cardchain_info.go deleted file mode 100644 index ff959776..00000000 --- a/x/cardchain/keeper/grpc_query_q_cardchain_info.go +++ /dev/null @@ -1,30 +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) QCardchainInfo(goCtx context.Context, req *types.QueryQCardchainInfoRequest) (*types.QueryQCardchainInfoResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - price := k.GetCardAuctionPrice(ctx) - - return &types.QueryQCardchainInfoResponse{ - 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 deleted file mode 100644 index 16cd2680..00000000 --- a/x/cardchain/keeper/grpc_query_q_cards.go +++ /dev/null @@ -1,260 +0,0 @@ -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" - "github.com/cosmos/cosmos-sdk/types/errors" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -type Result struct { - Id uint64 - Value string - Num int -} - -func (k Keeper) QCards(goCtx context.Context, req *types.QueryQCardsRequest) (*types.QueryQCardsResponse, error) { - var ( - cardsList []uint64 - results []Result - ) - - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - checkName := func(cardName cardobject.CardName) bool { - if req.NameContains != "" && !strings.Contains(strings.ToLower(string(cardName)), strings.ToLower(req.NameContains)) { - return false - } - return true - } - checkAbilities := func(cardAbilities string) bool { - if strings.Contains(strings.ToLower(cardAbilities), strings.ToLower(req.KeywordsContains)) { - return true - } - return false - } - checkClasses := func(cardobjClass cardobject.Class) bool { - if len(req.Classes) == 0 { - return true - } - if !req.MultiClassOnly { - if bool(cardobjClass.Mysticism) && slices.Contains(req.Classes, types.CardClass_mysticism) { - return true - } - if bool(cardobjClass.Nature) && slices.Contains(req.Classes, types.CardClass_nature) { - return true - } - if bool(cardobjClass.Technology) && slices.Contains(req.Classes, types.CardClass_technology) { - return true - } - if bool(cardobjClass.Culture) && slices.Contains(req.Classes, types.CardClass_culture) { - return true - } - return false - } else { - if bool(cardobjClass.Mysticism) != slices.Contains(req.Classes, types.CardClass_mysticism) { - return false - } - if bool(cardobjClass.Nature) != slices.Contains(req.Classes, types.CardClass_nature) { - return false - } - if bool(cardobjClass.Technology) != slices.Contains(req.Classes, types.CardClass_technology) { - return false - } - if bool(cardobjClass.Culture) != slices.Contains(req.Classes, types.CardClass_culture) { - return false - } - return true - } - } - - iterator := k.Cards.GetItemIterator(ctx) - - for ; iterator.Valid(); iterator.Next() { - idx, gottenCard := iterator.Value() - - // filter for starterCards - if req.OnlyStarterCard && !gottenCard.StarterCard { - continue - } - - // filter for balance anchors - if req.OnlyBalanceAnchors && !gottenCard.BalanceAnchor { - continue - } - - // then check if a status constrain was given and skip the card if it has the wrong status - if len(req.Statuses) != 0 { - if !slices.Contains(req.Statuses, gottenCard.Status) { - continue - } - } else { - // first skip all cards with irrelevant status - if gottenCard.Status == types.Status_none || gottenCard.Status == types.Status_scheme { - continue - } - } - - // rarity - if len(req.Rarities) != 0 && !slices.Contains(req.Rarities, gottenCard.Rarity) { - continue - } - - // then check if an owner constrain was given and skip the card if it has the wrong owner - if req.Owner != "" { - if gottenCard.Owner != req.Owner { - continue - } - } - - // then check if the notes should contain something and skip the card if it does not - if req.NotesContains != "" { - if !strings.Contains(gottenCard.Notes, req.NotesContains) { - continue - } - } - - // lastly check if this is a special request and skip the card if it does not meet it - if req.NameContains != "" || len(req.CardTypes) != 0 || req.SortBy != "" || len(req.Classes) != 0 || req.KeywordsContains != "" { - cardobj, err := keywords.Unmarshal(gottenCard.Content) - if err != nil { - return nil, sdkerrors.Wrap(errors.ErrJSONMarshal, err.Error()+" cardid="+strconv.FormatUint(idx, 10)) - } - - if cardobj.Action != nil { - if len(req.CardTypes) != 0 && !slices.Contains(req.CardTypes, types.CardType_action) { - continue - } - if !checkClasses(cardobj.Action.Class) { - continue - } - if !checkName(cardobj.Action.CardName) { - continue - } - if req.KeywordsContains != "" { - jsonStr, _ := json.Marshal(cardobj.Action.Effects) - if !checkAbilities(string(jsonStr)) { - continue - } - } - if req.SortBy == "Name" { - results = append(results, Result{idx, string(cardobj.Action.CardName), 0}) - } else if req.SortBy == "CastingCost" { - results = append(results, Result{idx, "", int(cardobj.Action.CastingCost)}) - } else if req.SortBy == "Id" { - cardsList = append(cardsList, idx) - } - } - if cardobj.Entity != nil { - if len(req.CardTypes) != 0 && !slices.Contains(req.CardTypes, types.CardType_entity) { - continue - } - if !checkClasses(cardobj.Entity.Class) { - continue - } - if !checkName(cardobj.Entity.CardName) { - continue - } - if req.KeywordsContains != "" { - jsonStr, _ := json.Marshal(cardobj.Entity.Abilities) - if !checkAbilities(string(jsonStr)) { - continue - } - } - if req.SortBy == "Name" { - results = append(results, Result{idx, string(cardobj.Entity.CardName), 0}) - } else if req.SortBy == "CastingCost" { - results = append(results, Result{idx, "", int(cardobj.Entity.CastingCost)}) - } else if req.SortBy == "Id" { - cardsList = append(cardsList, idx) - } - } - if cardobj.Headquarter != nil { - if len(req.CardTypes) != 0 && !slices.Contains(req.CardTypes, types.CardType_headquarter) { - continue - } - if !checkClasses(cardobj.Headquarter.Class) { - continue - } - if !checkName(cardobj.Headquarter.CardName) { - continue - } - if req.KeywordsContains != "" { - jsonStr, _ := json.Marshal(cardobj.Headquarter.Abilities) - if !checkAbilities(string(jsonStr)) { - continue - } - } - if req.SortBy == "Name" { - results = append(results, Result{idx, string(cardobj.Headquarter.CardName), 0}) - } else if req.SortBy == "CastingCost" { - results = append(results, Result{idx, "", int(cardobj.Headquarter.Delay)}) - } else if req.SortBy == "Id" { - cardsList = append(cardsList, idx) - } - } - if cardobj.Place != nil { - if len(req.CardTypes) != 0 && !slices.Contains(req.CardTypes, types.CardType_place) { - continue - } - if !checkName(cardobj.Place.CardName) { - continue - } - if !checkClasses(cardobj.Place.Class) { - continue - } - if req.KeywordsContains != "" { - jsonStr, _ := json.Marshal(cardobj.Place.Abilities) - if !checkAbilities(string(jsonStr)) { - continue - } - } - if req.SortBy == "Name" { - results = append(results, Result{idx, string(cardobj.Place.CardName), 0}) - } else if req.SortBy == "CastingCost" { - results = append(results, Result{idx, "", int(cardobj.Place.CastingCost)}) - } else if req.SortBy == "Id" { - cardsList = append(cardsList, idx) - } - } - } - // finally if all checks were passed and unsorted, add the card - if req.SortBy == "" { - cardsList = append(cardsList, idx) - } - } - - if req.SortBy == "Name" { - sort.Slice(results[:], func(i, j int) bool { - return results[i].Value < results[j].Value - }) - for _, val := range results { - cardsList = append(cardsList, val.Id) - } - } - if req.SortBy == "CastingCost" { - sort.Slice(results[:], func(i, j int) bool { - return results[i].Num < results[j].Num - }) - for _, val := range results { - cardsList = append(cardsList, val.Id) - } - } - - return &types.QueryQCardsResponse{CardsList: cardsList}, nil -} diff --git a/x/cardchain/keeper/grpc_query_q_council.go b/x/cardchain/keeper/grpc_query_q_council.go deleted file mode 100644 index a9276174..00000000 --- a/x/cardchain/keeper/grpc_query_q_council.go +++ /dev/null @@ -1,22 +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) QCouncil(goCtx context.Context, req *types.QueryQCouncilRequest) (*types.Council, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - council := k.Councils.Get(ctx, req.CouncilId) - - return council, nil -} diff --git a/x/cardchain/keeper/grpc_query_q_match.go b/x/cardchain/keeper/grpc_query_q_match.go deleted file mode 100644 index e737c4e7..00000000 --- a/x/cardchain/keeper/grpc_query_q_match.go +++ /dev/null @@ -1,22 +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) QMatch(goCtx context.Context, req *types.QueryQMatchRequest) (*types.Match, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - match := k.Matches.Get(ctx, req.MatchId) - - return match, nil -} diff --git a/x/cardchain/keeper/grpc_query_q_matches.go b/x/cardchain/keeper/grpc_query_q_matches.go deleted file mode 100644 index 219c06a3..00000000 --- a/x/cardchain/keeper/grpc_query_q_matches.go +++ /dev/null @@ -1,82 +0,0 @@ -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) QMatches(goCtx context.Context, req *types.QueryQMatchesRequest) (*types.QueryQMatchesResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - var ( - matchesList []*types.Match - matchIds []uint64 - ) - - if req.Ignore == nil { - newIgnore := types.NewIgnoreMatches() - req.Ignore = &newIgnore - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - iter := k.Matches.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - allUsersInMatch := true - allCardsInMatch := true - - // Checks for timestamp - idx, match := iter.Value() - if req.TimestampUp != 0 || req.TimestampDown != 0 { - if !(req.TimestampDown <= match.Timestamp && match.Timestamp <= req.TimestampUp) { - continue - } - } - - // Checks for outcome - if !req.Ignore.Outcome { - if req.Outcome != match.Outcome { - continue - } - } - - // Checks for users contained in the match - for _, user := range req.ContainsUsers { - if !slices.Contains([]string{match.PlayerA.Addr, match.PlayerB.Addr}, user) { - allUsersInMatch = false - } - } - if !allUsersInMatch { - continue - } - - // Checks for card contained in the match - for _, card := range req.CardsPlayed { - if !slices.Contains(append(match.PlayerA.PlayedCards, match.PlayerB.PlayedCards...), card) { - allCardsInMatch = false - } - } - if !allCardsInMatch { - continue - } - - // Checks for reporter - if req.Reporter != "" { - if match.Reporter != req.Reporter { - continue - } - } - - matchIds = append(matchIds, idx) - matchesList = append(matchesList, match) - } - - return &types.QueryQMatchesResponse{MatchesList: matchIds, Matches: matchesList}, nil -} diff --git a/x/cardchain/keeper/grpc_query_q_sell_offer.go b/x/cardchain/keeper/grpc_query_q_sell_offer.go deleted file mode 100644 index 1b64cd06..00000000 --- a/x/cardchain/keeper/grpc_query_q_sell_offer.go +++ /dev/null @@ -1,22 +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) QSellOffer(goCtx context.Context, req *types.QueryQSellOfferRequest) (*types.SellOffer, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - sellOffer := k.SellOffers.Get(ctx, req.SellOfferId) - - return sellOffer, nil -} diff --git a/x/cardchain/keeper/grpc_query_q_sell_offers.go b/x/cardchain/keeper/grpc_query_q_sell_offers.go deleted file mode 100644 index 78b35a5d..00000000 --- a/x/cardchain/keeper/grpc_query_q_sell_offers.go +++ /dev/null @@ -1,83 +0,0 @@ -package keeper - -import ( - "context" - - sdkerrors "cosmossdk.io/errors" - "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) QSellOffers(goCtx context.Context, req *types.QueryQSellOffersRequest) (*types.QueryQSellOffersResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - var ( - sellOfferIds []uint64 - sellOffersList []*types.SellOffer - ) - - if req.Ignore == nil { - newIgnore := types.NewIgnoreSellOffers() - req.Ignore = &newIgnore - } - - iter := k.SellOffers.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - idx, sellOffer := iter.Value() - // Checks for price - if req.PriceUp != "" && req.PriceDown != "" { - // Conversion to coins - priceUp, err := sdk.ParseCoinNormalized(req.PriceUp) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrConversion, err.Error()) - } - priceDown, err := sdk.ParseCoinNormalized(req.PriceDown) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrConversion, err.Error()) - } - - if !(sellOffer.Price.IsGTE(priceDown) && priceUp.IsGTE(sellOffer.Price)) { - continue - } - } - - // Checks for seller - if req.Seller != "" { - if req.Seller != sellOffer.Seller { - continue - } - } - - // Checks for buyer - if req.Buyer != "" { - if req.Buyer != sellOffer.Buyer { - continue - } - } - - // Checks for Status - if !req.Ignore.Status { - if req.Status != sellOffer.Status { - continue - } - } - - // Checks for Card - if !req.Ignore.Card { - if req.Card != sellOffer.Card { - continue - } - } - - sellOffersList = append(sellOffersList, sellOffer) - sellOfferIds = append(sellOfferIds, idx) - } - - return &types.QueryQSellOffersResponse{SellOffersIds: sellOfferIds, SellOffers: sellOffersList}, nil -} diff --git a/x/cardchain/keeper/grpc_query_q_server.go b/x/cardchain/keeper/grpc_query_q_server.go deleted file mode 100644 index c9c094aa..00000000 --- a/x/cardchain/keeper/grpc_query_q_server.go +++ /dev/null @@ -1,20 +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) QServer(goCtx context.Context, req *types.QueryQServerRequest) (*types.Server, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - return k.Servers.Get(ctx, req.Id), nil -} diff --git a/x/cardchain/keeper/grpc_query_q_set.go b/x/cardchain/keeper/grpc_query_q_set.go deleted file mode 100644 index 82d2f07b..00000000 --- a/x/cardchain/keeper/grpc_query_q_set.go +++ /dev/null @@ -1,36 +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) 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, - ContributorsDistribution: set.ContributorsDistribution, - Rarities: set.Rarities, - }, nil -} diff --git a/x/cardchain/keeper/grpc_query_q_sets.go b/x/cardchain/keeper/grpc_query_q_sets.go deleted file mode 100644 index de1b3e53..00000000 --- a/x/cardchain/keeper/grpc_query_q_sets.go +++ /dev/null @@ -1,67 +0,0 @@ -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 = true - allCardsInSet bool = true - ) - - ctx := sdk.UnwrapSDKContext(goCtx) - - iter := k.Sets.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - idx, set := iter.Value() - - // 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 deleted file mode 100644 index d4d12311..00000000 --- a/x/cardchain/keeper/grpc_query_q_user.go +++ /dev/null @@ -1,26 +0,0 @@ -package keeper - -import ( - "context" - - sdkerrors "cosmossdk.io/errors" - "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) QUser(goCtx context.Context, req *types.QueryQUserRequest) (*types.User, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - user, err := k.GetUserFromString(ctx, req.Address) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrConversion, err.Error()) - } - - return &user.User, nil -} diff --git a/x/cardchain/keeper/grpc_query_q_voting_results.go b/x/cardchain/keeper/grpc_query_q_voting_results.go deleted file mode 100644 index 2a583442..00000000 --- a/x/cardchain/keeper/grpc_query_q_voting_results.go +++ /dev/null @@ -1,22 +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) QVotingResults(goCtx context.Context, req *types.QueryQVotingResultsRequest) (*types.QueryQVotingResultsResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - vResults := k.GetLastVotingResults(ctx) - - return &types.QueryQVotingResultsResponse{LastVotingResults: &vResults}, nil -} diff --git a/x/cardchain/keeper/grpc_query_rarity_distribution.go b/x/cardchain/keeper/grpc_query_rarity_distribution.go deleted file mode 100644 index b99fd9b1..00000000 --- a/x/cardchain/keeper/grpc_query_rarity_distribution.go +++ /dev/null @@ -1,24 +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) RarityDistribution(goCtx context.Context, req *types.QueryRarityDistributionRequest) (*types.QueryRarityDistributionResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - 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/incentives.go b/x/cardchain/keeper/incentives.go deleted file mode 100644 index 769ab3bb..00000000 --- a/x/cardchain/keeper/incentives.go +++ /dev/null @@ -1,49 +0,0 @@ -package keeper - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// Keys to access RunningAverages -const ( - Games24ValueKey = "games/24h" - Votes24ValueKey = "votes/24h" -) - -// GetWinnerIncentives calculates incentives for the winners pool -func (k Keeper) GetWinnerIncentives(ctx sdk.Context) float32 { - games := float32(k.GetGames(ctx)) - votes := float32(k.GetVotes(ctx)) - gVR := float32(k.GetParams(ctx).GameVoteRatio) / 100 - return games / (votes*gVR + games) -} - -// GetBalancerIncentives calculates incentives for the ballancers pool -func (k Keeper) GetBalancerIncentives(ctx sdk.Context) float32 { - games := float32(k.GetGames(ctx)) - votes := float32(k.GetVotes(ctx)) - gVR := float32(k.GetParams(ctx).GameVoteRatio) / 100 - return (votes * gVR) / (votes*gVR + games) -} - -// GetRunningAverageTotal Sums up a certain running average -func (k Keeper) GetRunningAverageTotal(ctx sdk.Context, key string) (num int64) { - runningAverage := k.RunningAverages.Get(ctx, key) - for _, val := range runningAverage.Arr { - num += val - } - if num == 0 { - num = 1 - } - return -} - -// GetGames Gets the number of games played in the last 24 hours -func (k Keeper) GetGames(ctx sdk.Context) int64 { - return k.GetRunningAverageTotal(ctx, Games24ValueKey) -} - -// GetVotes Gets the number of votes made in the last 24 hours -func (k Keeper) GetVotes(ctx sdk.Context) int64 { - return k.GetRunningAverageTotal(ctx, Votes24ValueKey) -} diff --git a/x/cardchain/keeper/incentives_test.go b/x/cardchain/keeper/incentives_test.go deleted file mode 100644 index 3399d807..00000000 --- a/x/cardchain/keeper/incentives_test.go +++ /dev/null @@ -1,27 +0,0 @@ -package keeper_test - -import ( - "testing" - - testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/stretchr/testify/require" -) - -func TestIncentives(t *testing.T) { - k, ctx := testkeeper.CardchainKeeper(t) - runningAverage := types.RunningAverage{Arr: []int64{1, 5, 7}} - var clearRunningAverage types.RunningAverage - params := types.DefaultParams() - - k.SetParams(ctx, params) - k.RunningAverages.Set(ctx, keeper.Games24ValueKey, &runningAverage) - - require.EqualValues(t, runningAverage, *k.RunningAverages.Get(ctx, keeper.Games24ValueKey)) - require.EqualValues(t, []*types.RunningAverage{&runningAverage, &clearRunningAverage}, k.RunningAverages.GetAll(ctx)) - require.EqualValues(t, 13, k.GetGames(ctx)) - require.EqualValues(t, 1, k.GetVotes(ctx)) - require.EqualValues(t, float32(0.98484848484848484848484848484848), k.GetWinnerIncentives(ctx)) - require.EqualValues(t, float32(0.01515151515151515151515151515152), k.GetBalancerIncentives(ctx)) -} diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go deleted file mode 100644 index f7e61909..00000000 --- a/x/cardchain/keeper/keeper.go +++ /dev/null @@ -1,365 +0,0 @@ -package keeper - -import ( - "encoding/json" - "fmt" - "sort" - - ffKeeper "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" - "github.com/cosmos/cosmos-sdk/types/errors" - - gtk "github.com/DecentralCardGame/Cardchain/types/generic_type_keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "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" - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "github.com/tendermint/tendermint/libs/log" -) - -// Keeper Yeah the keeper -type Keeper struct { - cdc codec.BinaryCodec // The wire codec for binary encoding/decoding. - UsersStoreKey storetypes.StoreKey - zealyStoreKey storetypes.StoreKey - InternalStoreKey storetypes.StoreKey - paramstore paramtypes.Subspace - - Cards gtk.GenericTypeKeeper[*types.Card] - Councils gtk.GenericTypeKeeper[*types.Council] - SellOffers gtk.GenericTypeKeeper[*types.SellOffer] - 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] - Encounters gtk.GenericTypeKeeper[*types.Encounter] - - FeatureFlagModuleInstance ffKeeper.ModuleInstance - BankKeeper types.BankKeeper -} - -// NewKeeper Constructor for Keeper -func NewKeeper( - cdc codec.BinaryCodec, - usersStoreKey, - 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, - zealyStoreKey storetypes.StoreKey, - encountersStoreKey storetypes.StoreKey, - internalStoreKey storetypes.StoreKey, - ps paramtypes.Subspace, - - featureFlagKeeper types.FeatureFlagKeeper, - bankKeeper types.BankKeeper, -) *Keeper { - // set KeyTable if it has not already been set - if !ps.HasKeyTable() { - ps = ps.WithKeyTable(types.ParamKeyTable()) - } - - return &Keeper{ - cdc: cdc, - UsersStoreKey: usersStoreKey, - zealyStoreKey: zealyStoreKey, - InternalStoreKey: internalStoreKey, - paramstore: ps, - - 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]), - 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]), - Encounters: gtk.NewGTK[*types.Encounter](encountersStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Encounter]), - - FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), - BankKeeper: bankKeeper, - } -} - -// Logger Tendermint logger for logging in the cosmos log -func (k Keeper) Logger(ctx sdk.Context) log.Logger { - return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) -} - -// TransferSchemeToCard Makes a users cardscheme a card -func (k Keeper) TransferSchemeToCard(ctx sdk.Context, cardId uint64, user *User) (err error) { - user.OwnedCardSchemes, err = PopItemFromArr(cardId, user.OwnedCardSchemes) - if err != nil { - return errors.ErrUnauthorized - } - - user.OwnedPrototypes = append(user.OwnedPrototypes, cardId) - return nil -} - -type candidate struct { - id uint64 - votes int64 -} - -// SetLastVotingResults Sets the last voting results -func (k Keeper) SetLastVotingResults(ctx sdk.Context, results types.VotingResults) { - store := ctx.KVStore(k.InternalStoreKey) - store.Set([]byte("lastVotingResults"), k.cdc.MustMarshal(&results)) -} - -// GetLastVotingResults Returns the current price of the card scheme auction -func (k Keeper) GetLastVotingResults(ctx sdk.Context) (results types.VotingResults) { - store := ctx.KVStore(k.InternalStoreKey) - bz := store.Get([]byte("lastVotingResults")) - k.cdc.MustUnmarshal(bz, &results) - return -} - -// 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) - - cardobj, err := keywords.Unmarshal(buffCard.Content) - if err != nil { - 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 { - update -= 1 - } else { - update += 1 - } - // only apply the buffed/nerfed value if the new value validates without error - if update.ValidateType(nil) == nil { - *cost = update - } - } - - if cardobj.Action != nil { - buffnerfCost(&cardobj.Action.CastingCost) - } - if cardobj.Entity != nil { - buffnerfCost(&cardobj.Entity.CastingCost) - } - if cardobj.Place != nil { - buffnerfCost(&cardobj.Place.CastingCost) - } - if cardobj.Headquarter != nil { - updateHealth := cardobj.Headquarter.Health - updateDelay := cardobj.Headquarter.Delay - if buff { - updateDelay -= 1 - updateHealth += 1 - } else { - updateDelay += 1 - updateHealth -= 1 - } - if updateDelay.ValidateType(nil) == nil { - cardobj.Headquarter.Delay = updateDelay - } - if updateHealth.ValidateType(nil) == nil { - cardobj.Headquarter.Health = updateHealth - } - } - - cardJSON, _ := json.Marshal(cardobj) - buffCard.Content = cardJSON - - if buff { - buffCard.Nerflevel -= 1 - } else { - buffCard.Nerflevel += 1 - } - - k.Cards.Set(ctx, val, buffCard) - } -} - -// UpdateBanStatus Bans cards -func (k Keeper) UpdateBanStatus(ctx sdk.Context, newBannedIds []uint64) { - var err error - // go through all cards and find already marked cards - iter := k.Cards.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - idx, gottenCard := iter.Value() - if gottenCard.Status == types.Status_bannedVerySoon { - gottenUser, _ := k.GetUserFromString(ctx, gottenCard.Owner) - - // remove the card from the Cards store - var emptyCard types.Card - k.Cards.Set(ctx, idx, &emptyCard) - - // remove the card from the ownedCards of the owner - gottenUser.OwnedPrototypes, err = PopItemFromArr(idx, gottenUser.OwnedPrototypes) - if err == nil { - k.SetUserFromUser(ctx, gottenUser) - } else { - k.Logger(ctx).Error(fmt.Sprintf("trying to delete card id: %d of owner %s but does not exist", idx, gottenUser.Addr)) - } - } else if gottenCard.Status == types.Status_bannedSoon { - gottenCard.Status = types.Status_bannedVerySoon - k.Cards.Set(ctx, idx, gottenCard) - } - } - - // mark freshly banned cards - for _, id := range newBannedIds { - banCard := k.Cards.Get(ctx, id) - banCard.Status = types.Status_bannedSoon - k.Cards.Set(ctx, id, banCard) - } - - if len(newBannedIds) > 0 { - k.SetLastCardModifiedNow(ctx) - } -} - -// GetOPandUPCards Gets OP and UP cards -func (k Keeper) GetOPandUPCards(ctx sdk.Context) (buffbois []uint64, nerfbois []uint64, fairbois []uint64, banbois []uint64) { - var OPcandidates []candidate - var UPcandidates []candidate - var IAcandidates []candidate - - //var votingResults VotingResults - votingResults := types.NewVotingResults() - - var uUP float64 = 0 - var uOP float64 = 0 - - // go through all cards and collect candidates - iter := k.Cards.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - id, gottenCard := iter.Value() - - nettoOP := int64(gottenCard.OverpoweredVotes - gottenCard.FairEnoughVotes - gottenCard.UnderpoweredVotes) - nettoUP := int64(gottenCard.UnderpoweredVotes - gottenCard.FairEnoughVotes - gottenCard.OverpoweredVotes) - nettoIA := int64(gottenCard.InappropriateVotes - gottenCard.FairEnoughVotes - gottenCard.OverpoweredVotes - gottenCard.UnderpoweredVotes) - - votingResults.TotalFairEnoughVotes += gottenCard.FairEnoughVotes - votingResults.TotalOverpoweredVotes += gottenCard.OverpoweredVotes - votingResults.TotalUnderpoweredVotes += gottenCard.UnderpoweredVotes - votingResults.TotalInappropriateVotes += gottenCard.InappropriateVotes - votingResults.TotalVotes += gottenCard.FairEnoughVotes + gottenCard.OverpoweredVotes + gottenCard.UnderpoweredVotes + gottenCard.InappropriateVotes - - // all candidates are added to the results log - if nettoIA > 0 || nettoOP > 0 || nettoUP > 0 { - votingResults.CardResults = append(votingResults.CardResults, &types.VotingResult{ - CardId: id, - FairEnoughVotes: gottenCard.FairEnoughVotes, - OverpoweredVotes: gottenCard.OverpoweredVotes, - UnderpoweredVotes: gottenCard.UnderpoweredVotes, - InappropriateVotes: gottenCard.InappropriateVotes, - Result: "fair_enough", - }) - - // sort candidates into the specific arrays - if nettoIA > 1 { - IAcandidates = append(IAcandidates, candidate{id: id, votes: nettoIA}) - } else if nettoOP > 0 { - uOP += float64(nettoOP) - OPcandidates = append(OPcandidates, candidate{id: id, votes: nettoOP}) - } else if nettoUP > 0 { - uUP += float64(nettoUP) - UPcandidates = append(UPcandidates, candidate{id: id, votes: nettoUP}) - } - } - } - - // go through all OP candidates and calculate the cutoff value and collect all above this value - if len(OPcandidates) > 0 { - // µ is the average, so it must be divided by n, but we can do this only after all cards are counted - uOP /= float64(len(OPcandidates)) - - sort.Slice(OPcandidates, func(i, j int) bool { - return OPcandidates[i].votes < OPcandidates[j].votes - }) - - var giniOPsum float64 - for i := 1; i <= len(OPcandidates); i++ { - giniOPsum += float64(OPcandidates[i-1].votes) * float64(2*i-len(OPcandidates)-1) - } - - giniOP := giniOPsum / float64(len(OPcandidates)*len(OPcandidates)) / uOP - cutvalue := giniOP * float64(OPcandidates[len(OPcandidates)-1].votes) - - for i := 0; i < len(OPcandidates); i++ { - if float64(OPcandidates[i].votes) > cutvalue { - nerfbois = append(nerfbois, OPcandidates[i].id) - } else { - fairbois = append(fairbois, OPcandidates[i].id) - } - } - } - // go through all UP candidates and calculate the cutoff value and collect all above this value - if len(UPcandidates) > 0 { - uUP /= float64(len(UPcandidates)) - - sort.Slice(UPcandidates, func(i, j int) bool { - return UPcandidates[i].votes < UPcandidates[j].votes - }) - - var giniUPsum float64 - for i := 1; i <= len(UPcandidates); i++ { - giniUPsum += float64(UPcandidates[i-1].votes) * float64(2*i-len(UPcandidates)-1) - } - - giniUP := giniUPsum / float64(len(UPcandidates)*len(UPcandidates)) / uUP - cutvalue := giniUP * float64(UPcandidates[len(UPcandidates)-1].votes) - - for i := 0; i < len(UPcandidates); i++ { - if float64(UPcandidates[i].votes) > cutvalue { - buffbois = append(buffbois, UPcandidates[i].id) - } else { - fairbois = append(fairbois, UPcandidates[i].id) - } - } - } - // go through all IA candidates and collect them (there is no cutoff here) - if len(IAcandidates) > 0 { - for i := 0; i < len(IAcandidates); i++ { - banbois = append(banbois, IAcandidates[i].id) - } - } - - // add the result to the voting log - allBois := [][]uint64{buffbois, nerfbois, banbois} - boisCodes := []string{"buff", "nerf", "ban"} - - for i := 0; i < len(votingResults.CardResults); i++ { - for idx, boisCode := range boisCodes { - for _, bois := range allBois[idx] { - if votingResults.CardResults[i].CardId == bois { - votingResults.CardResults[i].Result = boisCode - } - } - } - } - - // and save the log - k.SetLastVotingResults(ctx, votingResults) - - return -} diff --git a/x/cardchain/keeper/match.go b/x/cardchain/keeper/match.go deleted file mode 100644 index 339cd44a..00000000 --- a/x/cardchain/keeper/match.go +++ /dev/null @@ -1,235 +0,0 @@ -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" -) - -// SetMatchReporter Makes a user a match reporter -func (k Keeper) SetMatchReporter(ctx sdk.Context, address string) error { - reporter, err := k.GetUserFromString(ctx, address) - if err != nil { - return err - } - reporter.ReportMatches = true - - k.SetUserFromUser(ctx, reporter) - 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) - amountA = sdk.NewInt64Coin("ucredits", 0) - amountB = sdk.NewInt64Coin("ucredits", 0) - - if outcome == types.Outcome_AWon { - amountA = reward - } else if outcome == types.Outcome_BWon { - amountB = reward - } else if outcome == types.Outcome_Draw { - amountA = QuoCoin(reward, 2) - amountB = QuoCoin(reward, 2) - } - if outcome != types.Outcome_Aborted { - k.SubPoolCredits(ctx, WinnersPoolKey, reward) - } - return -} - -// 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.GTE(sdk.NewInt(1000000)) { - return sdk.NewInt64Coin(reward.Denom, 1000000) - } - 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) { - for _, player := range []string{match.PlayerA.Addr, match.PlayerB.Addr} { - var address sdk.AccAddress - address, err = sdk.AccAddressFromBech32(player) - if err != nil { - err = sdkerrors.Wrap(types.ErrInvalidAccAddress, "Invalid player") - return - } - addresses = append(addresses, address) - } - - return -} - -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) - 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(errors.ErrInsufficientFunds, err.Error()) - } - k.SubPoolCredits(ctx, WinnersPoolKey, amounts[idx]) - - user, err := k.GetUser(ctx, address) - if err != nil { - return err - } - userObj := User{Addr: address, User: user} - k.ClaimAirDrop(ctx, &userObj, types.AirDrop_play) - k.SetUserFromUser(ctx, userObj) - } - } - - games := k.RunningAverages.Get(ctx, Games24ValueKey) - games.Arr[len(games.Arr)-1]++ - k.RunningAverages.Set(ctx, Games24ValueKey, games) - - match.CoinsDistributed = true - - if outcome != types.Outcome_Aborted { - for _, address := range addresses { - user, err := k.GetUser(ctx, address) - if err != nil { - return sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - k.SetUser(ctx, address, user) - } - } - - return nil -} - -// GetOutcome Get's the outcome of a match -func (k Keeper) GetOutcome(ctx sdk.Context, match types.Match) (outcome types.Outcome, err error) { - // majority based vote - outcomes := []types.Outcome{match.Outcome, match.PlayerA.Outcome, match.PlayerB.Outcome} - slices.Sort(outcomes) - switch outcomes[1] { - case outcomes[0], outcomes[2]: - outcome = outcomes[1] - default: - if match.PlayerA.Confirmed && match.PlayerB.Confirmed { - outcome = types.Outcome_Aborted - } else { - err = fmt.Errorf("not enought votes for decision") - } - } - 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 { - k.Logger(ctx).Error(":: Error while voting, skipping, " + err.Error()) - } - - 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 _, card := range otherPlayerCards { - k.AddVoteRightToUser(ctx, &users[idx].User, card) - } - - for _, vote := range player.VotedCards { - if slices.Contains(otherPlayerCards, vote.CardId) { - cleanedVotes = append(cleanedVotes, vote) - } - } - - err = k.multiVote(ctx, users[idx], cleanedVotes) - if err != nil { - return err - } - k.SetUserFromUser(ctx, *users[idx]) - } - return nil -} - -func (k Keeper) MatchWorker(ctx sdk.Context) { - now := uint64(ctx.BlockHeight()) - matchWorkerDelay := k.GetParams(ctx).MatchWorkerDelay - 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+matchWorkerDelay < now { - err := k.HandleMatchOutcome(ctx, match) - if err != nil { - k.Logger(ctx).Error(fmt.Sprintf(":: Error with matchWorker: %s", err)) - match.Outcome = types.Outcome_Aborted - match.CoinsDistributed = true - } - k.Matches.Set(ctx, id, match) - } - } - } -} diff --git a/x/cardchain/keeper/match_test.go b/x/cardchain/keeper/match_test.go deleted file mode 100644 index 7640b02c..00000000 --- a/x/cardchain/keeper/match_test.go +++ /dev/null @@ -1,75 +0,0 @@ -package keeper_test - -import ( - "testing" - - testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/stretchr/testify/require" -) - -func TestMatches(t *testing.T) { - k, ctx := testkeeper.CardchainKeeper(t) - setUpCard(ctx, k) - SetUpPools(ctx, *k) - match := types.Match{ - Reporter: "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", - PlayerA: types.NewMatchPlayer("cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", []uint64{1, 2, 3}), - PlayerB: types.NewMatchPlayer("cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", []uint64{5, 6, 7}), - Outcome: types.Outcome_AWon, - } - params := types.DefaultParams() - - k.SetParams(ctx, params) - k.Matches.Set(ctx, 0, &match) - k.Matches.Set(ctx, 1, &match) - - 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()) - - 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) - 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) - 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) - require.EqualValues(t, sdk.NewInt64Coin("ucredits", 0), amountA) - require.EqualValues(t, sdk.NewInt64Coin("ucredits", 0), amountB) - - 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) - require.NotEqualValues(t, nil, err) - - outcome, err := k.GetOutcome(ctx, match) - require.EqualValues(t, nil, err) - require.EqualValues(t, types.Outcome_Aborted, outcome) - - match.PlayerA.Confirmed = true - match.PlayerA.Outcome = types.Outcome_BWon - outcome, err = k.GetOutcome(ctx, match) - require.NotEqualValues(t, nil, err) - - match.PlayerB.Confirmed = true - match.PlayerB.Outcome = types.Outcome_AWon - outcome, err = k.GetOutcome(ctx, match) - require.EqualValues(t, nil, err) - require.EqualValues(t, types.Outcome_AWon, outcome) -} diff --git a/x/cardchain/keeper/msg_server_add_artwork.go b/x/cardchain/keeper/msg_server_add_artwork.go deleted file mode 100644 index 7b8046db..00000000 --- a/x/cardchain/keeper/msg_server_add_artwork.go +++ /dev/null @@ -1,43 +0,0 @@ -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" -) - -func (k msgServer) AddArtwork(goCtx context.Context, msg *types.MsgAddArtwork) (*types.MsgAddArtworkResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - card := k.Cards.Get(ctx, msg.CardId) - image := k.Images.Get(ctx, card.ImageId) - - councilEnabled, err := k.FeatureFlagModuleInstance.Get(ctx, string(types.FeatureFlagName_Council)) - if err != nil { - return nil, err - } - - if councilEnabled && card.Status != types.Status_prototype && card.Status != types.Status_scheme { - return nil, sdkerrors.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype to be changeable") - } - - if card.Artist != msg.Creator { - return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect Artist") - } - - card.FullArt = msg.FullArt - image.Image = msg.Image - - if card.Status == types.Status_suspended { - card.Status = types.Status_permanent - } - - k.Cards.Set(ctx, msg.CardId, card) - k.Images.Set(ctx, card.ImageId, image) - - return &types.MsgAddArtworkResponse{}, 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 deleted file mode 100644 index e67c99c2..00000000 --- a/x/cardchain/keeper/msg_server_add_artwork_to_set.go +++ /dev/null @@ -1,35 +0,0 @@ -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) 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 - } - - 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_set.go b/x/cardchain/keeper/msg_server_add_card_to_set.go deleted file mode 100644 index 9eca5043..00000000 --- a/x/cardchain/keeper/msg_server_add_card_to_set.go +++ /dev/null @@ -1,61 +0,0 @@ -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_set.go b/x/cardchain/keeper/msg_server_add_contributor_to_set.go deleted file mode 100644 index c0c7c043..00000000 --- a/x/cardchain/keeper/msg_server_add_contributor_to_set.go +++ /dev/null @@ -1,36 +0,0 @@ -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_set.go b/x/cardchain/keeper/msg_server_add_story_to_set.go deleted file mode 100644 index 5e7695ac..00000000 --- a/x/cardchain/keeper/msg_server_add_story_to_set.go +++ /dev/null @@ -1,33 +0,0 @@ -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_apoint_match_reporter.go b/x/cardchain/keeper/msg_server_apoint_match_reporter.go deleted file mode 100644 index 55e80010..00000000 --- a/x/cardchain/keeper/msg_server_apoint_match_reporter.go +++ /dev/null @@ -1,14 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func (k msgServer) ApointMatchReporter(goCtx context.Context, msg *types.MsgApointMatchReporter) (*types.MsgApointMatchReporterResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - return &types.MsgApointMatchReporterResponse{}, k.SetMatchReporter(ctx, msg.Reporter) -} diff --git a/x/cardchain/keeper/msg_server_buy_card.go b/x/cardchain/keeper/msg_server_buy_card.go deleted file mode 100644 index 9f324b26..00000000 --- a/x/cardchain/keeper/msg_server_buy_card.go +++ /dev/null @@ -1,44 +0,0 @@ -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) BuyCard(goCtx context.Context, msg *types.MsgBuyCard) (*types.MsgBuyCardResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - buyer, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - - sellOffer := k.SellOffers.Get(ctx, msg.SellOfferId) - - sellerAddr, err := sdk.AccAddressFromBech32(sellOffer.Seller) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrInvalidAccAddress, "Unable to convert to AccAddress") - } - - if sellOffer.Status != types.SellOfferStatus_open || sellOffer.Seller == "" { - return nil, sdkerrors.Wrapf(types.ErrNoOpenSellOffer, "Status: %v", sellOffer.Status) - } - - err = k.BankKeeper.SendCoins(ctx, buyer.Addr, sellerAddr, sdk.Coins{sellOffer.Price}) - if err != nil { - return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, err.Error()) - } - - buyer.Cards = append(buyer.Cards, sellOffer.Card) - sellOffer.Buyer = msg.Creator - sellOffer.Status = types.SellOfferStatus_sold - - k.SellOffers.Set(ctx, msg.SellOfferId, sellOffer) - k.SetUserFromUser(ctx, buyer) - - return &types.MsgBuyCardResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_buy_card_scheme.go b/x/cardchain/keeper/msg_server_buy_card_scheme.go deleted file mode 100644 index a5527f17..00000000 --- a/x/cardchain/keeper/msg_server_buy_card_scheme.go +++ /dev/null @@ -1,50 +0,0 @@ -package keeper - -import ( - "context" - "math" - - 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) BuyCardScheme(goCtx context.Context, msg *types.MsgBuyCardScheme) (*types.MsgBuyCardSchemeResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - currId := k.Cards.GetNum(ctx) - price := k.GetCardAuctionPrice(ctx) - bid := msg.Bid - - buyer, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrInvalidAccAddress, "Unable to convert to AccAddress") - } - - if bid.IsLT(price) { // Checks if the bid is less than price - 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(errors.ErrInsufficientFunds, "Buyer does not have enough coins %s", err) - } - - k.AddPoolCredits(ctx, PublicPoolKey, price) - if price.Amount.Mul(sdk.NewInt(2)).LT(sdk.NewInt(int64(math.Pow(10, 12)))) { - k.SetCardAuctionPrice(ctx, price.Add(price)) - } - - newCard := types.NewCard(buyer) - newCard.ImageId = k.Images.GetNum(ctx) - image := types.Image{} - - k.Cards.Set(ctx, currId, &newCard) - k.Images.Set(ctx, newCard.ImageId, &image) - k.AddOwnedCardScheme(ctx, currId, buyer) - - return &types.MsgBuyCardSchemeResponse{ - CardId: currId, - }, nil -} diff --git a/x/cardchain/keeper/msg_server_buy_set.go b/x/cardchain/keeper/msg_server_buy_set.go deleted file mode 100644 index 4e5181b5..00000000 --- a/x/cardchain/keeper/msg_server_buy_set.go +++ /dev/null @@ -1,61 +0,0 @@ -package keeper - -import ( - "context" - "fmt" - "strconv" - - 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) BuyBoosterPack(goCtx context.Context, msg *types.MsgBuyBoosterPack) (*types.MsgBuyBoosterPackResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - params := k.GetParams(ctx) - - creator, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - - set := k.Sets.Get(ctx, msg.SetId) - - if set.Status != types.CStatus_active { - return nil, types.ErrNoActiveSet - } - - boosterPack := types.NewBoosterPack( - ctx, - msg.SetId, - []uint64{params.CommonsPerPack, params.UnCommonsPerPack, params.RaresPerPack}, - []uint64{params.RareDropRatio, params.ExceptionalDropRatio, params.UniqueDropRatio}, - ) - - // payment - for _, contrib := range set.ContributorsDistribution { - contribAddr, err := sdk.AccAddressFromBech32(contrib.Addr) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrInvalidAccAddress, "Unable to convert to AccAddress") - } - - err = k.BankKeeper.SendCoins(ctx, creator.Addr, contribAddr, sdk.Coins{*contrib.Payment}) - if err != nil { - return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, err.Error()) - } - } - - claimedAirdrop := k.ClaimAirDrop(ctx, &creator, types.AirDrop_buy) - creator.BoosterPacks = append(creator.BoosterPacks, &boosterPack) - - k.SetUserFromUser(ctx, creator) - - inflationRate, err := strconv.ParseFloat(params.InflationRate, 8) - pPool := k.Pools.Get(ctx, PublicPoolKey) - newPool := MulCoinFloat(*pPool, inflationRate) - k.Pools.Set(ctx, PublicPoolKey, &newPool) - k.Logger(ctx).Info(fmt.Sprintf(":: PublicPool: %s", newPool)) - - return &types.MsgBuyBoosterPackResponse{AirdropClaimed: claimedAirdrop}, nil -} diff --git a/x/cardchain/keeper/msg_server_change_alias.go b/x/cardchain/keeper/msg_server_change_alias.go deleted file mode 100644 index 72d1acde..00000000 --- a/x/cardchain/keeper/msg_server_change_alias.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" -) - -func (k msgServer) ChangeAlias(goCtx context.Context, msg *types.MsgChangeAlias) (*types.MsgChangeAliasResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - user, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, err - } - - err = checkAliasLimit(msg.Alias) - if err != nil { - return nil, err - } - - user.Alias = msg.Alias - - k.SetUserFromUser(ctx, user) - - return &types.MsgChangeAliasResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_change_artist.go b/x/cardchain/keeper/msg_server_change_artist.go deleted file mode 100644 index d4868f06..00000000 --- a/x/cardchain/keeper/msg_server_change_artist.go +++ /dev/null @@ -1,35 +0,0 @@ -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) ChangeArtist(goCtx context.Context, msg *types.MsgChangeArtist) (*types.MsgChangeArtistResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - card := k.Cards.Get(ctx, msg.CardID) - - if card.Status != types.Status_prototype { - return nil, sdkerrors.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype to be changeable") - } - - if card.Owner != msg.Creator { - return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect Owner") - } - - newArtist, err := sdk.AccAddressFromBech32(msg.Artist) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrInvalidAccAddress, "Invalid Artist address") - } - - card.Artist = newArtist.String() - - k.Cards.Set(ctx, msg.CardID, card) - - return &types.MsgChangeArtistResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_commit_council_response.go b/x/cardchain/keeper/msg_server_commit_council_response.go deleted file mode 100644 index db6cb965..00000000 --- a/x/cardchain/keeper/msg_server_commit_council_response.go +++ /dev/null @@ -1,73 +0,0 @@ -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) CommitCouncilResponse(goCtx context.Context, msg *types.MsgCommitCouncilResponse) (*types.MsgCommitCouncilResponseResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - collateralDeposit := k.GetParams(ctx).CollateralDeposit - - creator, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - - council := k.Councils.Get(ctx, msg.CouncilId) - if !slices.Contains(council.Voters, msg.Creator) { - return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Invalid Voter") - } - - if council.Status != types.CouncelingStatus_councilCreated { - return nil, sdkerrors.Wrapf(types.ErrCouncilStatus, "Have '%s', want '%s'", council.Status.String(), types.CouncelingStatus_councilCreated.String()) - } - - var allreadyVoted []string - for _, response := range council.HashResponses { - allreadyVoted = append(allreadyVoted, response.User) - } - - if slices.Contains(allreadyVoted, msg.Creator) { - return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Allready voted") - } - - resp := types.WrapHashResponse{ - 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, - } - council.ClearResponses = append(council.ClearResponses, &clearResp) - } - - if len(council.HashResponses) == 5 { - council.Status = types.CouncelingStatus_commited - } - - err = k.BurnCoinsFromAddr(ctx, creator.Addr, sdk.Coins{collateralDeposit}) - if err != nil { - return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, "Voter does not have enough coins") - } - council.Treasury = council.Treasury.Add(collateralDeposit) - - err = k.TryEvaluate(ctx, council) - if err != nil { - return nil, err - } - - k.Councils.Set(ctx, msg.CouncilId, council) - - return &types.MsgCommitCouncilResponseResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_confirm_match.go b/x/cardchain/keeper/msg_server_confirm_match.go deleted file mode 100644 index 34c36e26..00000000 --- a/x/cardchain/keeper/msg_server_confirm_match.go +++ /dev/null @@ -1,50 +0,0 @@ -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) ConfirmMatch(goCtx context.Context, msg *types.MsgConfirmMatch) (*types.MsgConfirmMatchResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - var ( - player *types.MatchPlayer - ) - - match := k.Matches.Get(ctx, msg.MatchId) - - switch msg.Creator { - case match.PlayerA.Addr: - player = match.PlayerA - case match.PlayerB.Addr: - player = match.PlayerB - default: - return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Didn't participate in match") - } - - if player.Confirmed { - return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Already reported") - } - if match.Outcome == types.Outcome_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 - match.Timestamp = uint64(ctx.BlockHeight()) - - err := k.TryHandleMatchOutcome(ctx, match) - if err != nil { - return nil, err - } - - k.Matches.Set(ctx, msg.MatchId, match) - - return &types.MsgConfirmMatchResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_connect_zealy_account.go b/x/cardchain/keeper/msg_server_connect_zealy_account.go deleted file mode 100644 index be9fb401..00000000 --- a/x/cardchain/keeper/msg_server_connect_zealy_account.go +++ /dev/null @@ -1,40 +0,0 @@ -package keeper - -import ( - "context" - - sdkerrors "cosmossdk.io/errors" - "github.com/cosmos/cosmos-sdk/types/errors" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func (k msgServer) ConnectZealyAccount(goCtx context.Context, msg *types.MsgConnectZealyAccount) (*types.MsgConnectZealyAccountResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - _, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, msg.Creator) - } - - _, err = k.GetZealy(ctx, msg.ZealyId) - if err == nil { - return nil, sdkerrors.Wrapf(errors.ErrUnauthorized, "ZealyId `%s` is already registered", msg.ZealyId) - } - - iterator := k.GetZealyIterator(ctx) - for ; iterator.Valid(); iterator.Next() { - - var gotten types.Zealy - k.cdc.MustUnmarshal(iterator.Value(), &gotten) - - if gotten.Address == msg.Creator { - return nil, sdkerrors.Wrapf(errors.ErrUnauthorized, "User `%s` has already registered a zealyId", msg.Creator) - } - } - - k.SetZealy(ctx, msg.ZealyId, types.Zealy{Address: msg.Creator, ZealyId: msg.ZealyId}) - - return &types.MsgConnectZealyAccountResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_create_council.go b/x/cardchain/keeper/msg_server_create_council.go deleted file mode 100644 index 73a88047..00000000 --- a/x/cardchain/keeper/msg_server_create_council.go +++ /dev/null @@ -1,83 +0,0 @@ -package keeper - -import ( - "context" - "math/rand" - - 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) CreateCouncil(goCtx context.Context, msg *types.MsgCreateCouncil) (*types.MsgCreateCouncilResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - rand.Seed(ctx.BlockTime().Unix()) - - creator, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - - card := k.Cards.Get(ctx, msg.CardId) - //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(errors.ErrUnauthorized, "Incorrect Creator") - } - - var possibleVoters []User - var fiveVoters []User - var voters []string - var status types.CouncelingStatus - collateralDeposit := k.GetParams(ctx).CollateralDeposit - treasury := MulCoin(collateralDeposit, 10) - councilId := k.Councils.GetNum(ctx) - users, addresses := k.GetAllUsers(ctx) - - for idx, user := range users { - if user.CouncilStatus == types.CouncilStatus_available { - possibleVoters = append(possibleVoters, User{*user, addresses[idx]}) - } - } - - rand.Shuffle(len(possibleVoters), func(i, j int) { - possibleVoters[i], possibleVoters[j] = possibleVoters[j], possibleVoters[i] - }) - - if len(possibleVoters) < 5 { - status = types.CouncelingStatus_councilOpen - fiveVoters = possibleVoters - } else { - status = types.CouncelingStatus_councilCreated - fiveVoters = possibleVoters[:5] - } - - err = k.BurnCoinsFromAddr(ctx, creator.Addr, sdk.Coins{treasury}) - if err != nil { - return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, "Creator does not have enough coins") - } - - for _, user := range fiveVoters { - if status == types.CouncelingStatus_councilOpen { - user.CouncilStatus = types.CouncilStatus_openCouncil - } else { - user.CouncilStatus = types.CouncilStatus_startedCouncil - } - k.SetUserFromUser(ctx, user) - voters = append(voters, user.Addr.String()) - } - - council := types.Council{ - CardId: msg.CardId, - Voters: voters, - Treasury: treasury, - Status: status, - } - - k.Councils.Set(ctx, councilId, &council) - - return &types.MsgCreateCouncilResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_create_sell_offer.go b/x/cardchain/keeper/msg_server_create_sell_offer.go deleted file mode 100644 index cbe90b4b..00000000 --- a/x/cardchain/keeper/msg_server_create_sell_offer.go +++ /dev/null @@ -1,46 +0,0 @@ -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" -) - -func (k msgServer) CreateSellOffer(goCtx context.Context, msg *types.MsgCreateSellOffer) (*types.MsgCreateSellOfferResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - creator, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - 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) - } - creator.Cards = newCards - - sellOfferId := k.SellOffers.GetNum(ctx) - sellOffer := types.SellOffer{ - Seller: msg.Creator, - Buyer: "", - Card: msg.Card, - Price: msg.Price, - Status: types.SellOfferStatus_open, - } - - k.SellOffers.Set(ctx, sellOfferId, &sellOffer) - k.SetUserFromUser(ctx, creator) - - return &types.MsgCreateSellOfferResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_create_set.go b/x/cardchain/keeper/msg_server_create_set.go deleted file mode 100644 index ff3b0c84..00000000 --- a/x/cardchain/keeper/msg_server_create_set.go +++ /dev/null @@ -1,38 +0,0 @@ -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_createuser.go b/x/cardchain/keeper/msg_server_createuser.go deleted file mode 100644 index bb90731f..00000000 --- a/x/cardchain/keeper/msg_server_createuser.go +++ /dev/null @@ -1,16 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func (k msgServer) Createuser(goCtx context.Context, msg *types.MsgCreateuser) (*types.MsgCreateuserResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - err := k.CreateUser(ctx, msg.GetNewUserAddr(), msg.Alias) - - return &types.MsgCreateuserResponse{}, err -} diff --git a/x/cardchain/keeper/msg_server_disinvite_early_access.go b/x/cardchain/keeper/msg_server_disinvite_early_access.go deleted file mode 100644 index 362ab0fa..00000000 --- a/x/cardchain/keeper/msg_server_disinvite_early_access.go +++ /dev/null @@ -1,41 +0,0 @@ -package keeper - -import ( - "context" - - sdkerrors "cosmossdk.io/errors" - "github.com/cosmos/cosmos-sdk/types/errors" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func (k msgServer) DisinviteEarlyAccess(goCtx context.Context, msg *types.MsgDisinviteEarlyAccess) (*types.MsgDisinviteEarlyAccessResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - inviter, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, err - } - - if inviter.EarlyAccess == nil || !inviter.EarlyAccess.Active || inviter.EarlyAccess.InvitedByUser != "" { - return nil, sdkerrors.Wrapf(errors.ErrUnauthorized, "inviter has to be enroled in early access to invite users") - } - - invited, err := k.GetUserFromString(ctx, msg.User) - if err != nil { - return nil, err - } - - if invited.EarlyAccess == nil || !invited.EarlyAccess.Active || invited.EarlyAccess.InvitedByUser != msg.Creator || inviter.EarlyAccess.InvitedUser != msg.User { - return nil, sdkerrors.Wrapf(errors.ErrUnauthorized, "invited user has not been invited to early access by the creator") - } - - inviter.EarlyAccess.InvitedUser = "" - removeEarlyAccessFromUser(&invited) - - k.SetUserFromUser(ctx, inviter) - k.SetUserFromUser(ctx, invited) - - return &types.MsgDisinviteEarlyAccessResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_donate_to_card.go b/x/cardchain/keeper/msg_server_donate_to_card.go deleted file mode 100644 index 6009b017..00000000 --- a/x/cardchain/keeper/msg_server_donate_to_card.go +++ /dev/null @@ -1,25 +0,0 @@ -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) DonateToCard(goCtx context.Context, msg *types.MsgDonateToCard) (*types.MsgDonateToCardResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - 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(errors.ErrInsufficientFunds, "Donator does not have enough coins") - } - - card := k.Cards.Get(ctx, msg.CardId) - card.VotePool = card.VotePool.Add(msg.Amount) - k.Cards.Set(ctx, msg.CardId, card) - - return &types.MsgDonateToCardResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_encounter_close.go b/x/cardchain/keeper/msg_server_encounter_close.go deleted file mode 100644 index ce6ad744..00000000 --- a/x/cardchain/keeper/msg_server_encounter_close.go +++ /dev/null @@ -1,52 +0,0 @@ -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) EncounterClose(goCtx context.Context, msg *types.MsgEncounterClose) (*types.MsgEncounterCloseResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - reporter, err := k.GetMsgCreator(ctx, msg) - if err != nil { - return nil, err - } - - if !reporter.ReportMatches { - return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "unauthorized reporter") - } - - user, err := k.GetUserFromString(ctx, msg.User) - if err != nil { - return nil, err - } - - index := slices.Index(user.OpenEncounters, msg.EncounterId) - - if index == -1 { - return nil, sdkerrors.Wrapf(errors.ErrUnauthorized, "encounter %d isn't open for user", msg.EncounterId) - } - - user.OpenEncounters = append(user.OpenEncounters[:index], user.OpenEncounters[index+1:]...) - - if msg.Won { - user.WonEncounters = append(user.WonEncounters, msg.EncounterId) - // TODO: Treasury reward here - - encounter := k.Encounters.Get(ctx, msg.EncounterId) - if !encounter.Proven { - encounter.Proven = true - k.Encounters.Set(ctx, msg.EncounterId, encounter) - } - } - - k.SetUserFromUser(ctx, user) - - return &types.MsgEncounterCloseResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_encounter_create.go b/x/cardchain/keeper/msg_server_encounter_create.go deleted file mode 100644 index 57909595..00000000 --- a/x/cardchain/keeper/msg_server_encounter_create.go +++ /dev/null @@ -1,81 +0,0 @@ -package keeper - -import ( - "context" - "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" - "github.com/cosmos/cosmos-sdk/x/group/errors" -) - -func (k msgServer) EncounterCreate(goCtx context.Context, msg *types.MsgEncounterCreate) (*types.MsgEncounterCreateResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - creator, err := k.GetMsgCreator(ctx, msg) - if err != nil { - return nil, err - } - - err = k.validateDrawlist(ctx, msg, &creator) - if err != nil { - return nil, err - } - - id := k.Encounters.GetNum(ctx) - imageId := k.Images.GetNum(ctx) - - encounter := types.Encounter{ - Id: id, - Drawlist: msg.Drawlist, - Proven: false, - Owner: msg.Creator, - Parameters: msg.Parameters, - ImageId: imageId, - } - - k.Images.Set(ctx, imageId, &types.Image{Image: msg.Image}) - k.Encounters.Set(ctx, id, &encounter) - k.SetUserFromUser(ctx, creator) - - return &types.MsgEncounterCreateResponse{}, nil -} - -func (k Keeper) validateDrawlist(ctx sdk.Context, msg *types.MsgEncounterCreate, creator *User) error { - for idx, cardId := range msg.Drawlist { - card := k.Cards.Get(ctx, cardId) - - if card.Owner != msg.Creator { - index := slices.Index(creator.Cards, cardId) - if index != -1 { - creator.Cards = append(creator.Cards[:index], creator.Cards[index+1:]...) - } else { - return sdkerrors.Wrapf( - errors.ErrUnauthorized, - "creator has to own all cards, doesnt own '%d'", cardId, - ) - } - } - - cardObj, err := keywords.Unmarshal(card.Content) - if err != nil { - return err - } - - if idx == 0 && cardObj.GetType() != cardobject.HEADQUARTERTYPE { - return sdkerrors.Wrapf( - types.ErrInvalidData, - "first card has to be Headquarter but is: %s", cardObj.GetType(), - ) - } else if cardObj.GetType() == cardobject.HEADQUARTERTYPE { - return sdkerrors.Wrapf( - types.ErrInvalidData, - "only first card can be headquartter but card-%d is ", idx, - ) - } - } - return nil -} diff --git a/x/cardchain/keeper/msg_server_encounter_do.go b/x/cardchain/keeper/msg_server_encounter_do.go deleted file mode 100644 index 90c94b99..00000000 --- a/x/cardchain/keeper/msg_server_encounter_do.go +++ /dev/null @@ -1,41 +0,0 @@ -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/x/group/errors" -) - -func (k msgServer) EncounterDo(goCtx context.Context, msg *types.MsgEncounterDo) (*types.MsgEncounterDoResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - reporter, err := k.GetMsgCreator(ctx, msg) - if err != nil { - return nil, err - } - - if !reporter.ReportMatches { - return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "unauthorized reporter") - } - - maxId := k.Encounters.GetNum(ctx) - if msg.EncounterId >= maxId { - return nil, sdkerrors.Wrap(types.ErrInvalidData, "encounter doesnt exist") - } - - // TODO: Treasury fee here - - user, err := k.GetUserFromString(ctx, msg.User) - if err != nil { - return nil, err - } - - user.OpenEncounters = append(user.OpenEncounters, msg.EncounterId) - - k.SetUserFromUser(ctx, user) - - return &types.MsgEncounterDoResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_finalize_set.go b/x/cardchain/keeper/msg_server_finalize_set.go deleted file mode 100644 index 00b149e3..00000000 --- a/x/cardchain/keeper/msg_server_finalize_set.go +++ /dev/null @@ -1,62 +0,0 @@ -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 - set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) - set.Rarities = k.GetCardRaritiesInSet(ctx, set) - - k.Sets.Set(ctx, msg.SetId, set) - - return &types.MsgFinalizeSetResponse{}, nil -} - -func (k Keeper) GetCardRaritiesInSet(ctx sdk.Context, set *types.Set) []*types.InnerRarities { - var rarityNums []*types.InnerRarities = make([]*types.InnerRarities, 5) - for idx := range rarityNums { - rarityNums[idx] = &types.InnerRarities{} - } - for _, cardId := range set.Cards { - card := k.Cards.Get(ctx, cardId) - rarityNums[int(card.Rarity)].R = append(rarityNums[int(card.Rarity)].R, cardId) - } - return rarityNums[:] -} diff --git a/x/cardchain/keeper/msg_server_invite_early_access.go b/x/cardchain/keeper/msg_server_invite_early_access.go deleted file mode 100644 index cdf197b1..00000000 --- a/x/cardchain/keeper/msg_server_invite_early_access.go +++ /dev/null @@ -1,48 +0,0 @@ -package keeper - -import ( - "context" - - sdkerrors "cosmossdk.io/errors" - "github.com/cosmos/cosmos-sdk/types/errors" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func (k msgServer) InviteEarlyAccess(goCtx context.Context, msg *types.MsgInviteEarlyAccess) (*types.MsgInviteEarlyAccessResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - inviter, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, err - } - - if inviter.EarlyAccess == nil || !inviter.EarlyAccess.Active || inviter.EarlyAccess.InvitedByUser != "" { - return nil, sdkerrors.Wrapf(errors.ErrUnauthorized, "inviter has to be enroled in early access to invite users") - } - - if inviter.EarlyAccess.InvitedUser != "" { - oldInvitee, _ := k.GetUserFromString(ctx, inviter.EarlyAccess.InvitedUser) - removeEarlyAccessFromUser(&oldInvitee) - k.SetUserFromUser(ctx, oldInvitee) - } - - invited, err := k.GetUserFromString(ctx, msg.User) - if err != nil { - return nil, err - } - - if invited.EarlyAccess != nil && invited.EarlyAccess.Active { - return nil, sdkerrors.Wrapf(errors.ErrUnauthorized, "invited user is already enroled in early access") - } - - AddEarlyAccessToUser(&invited, msg.Creator) - - inviter.EarlyAccess.InvitedUser = msg.User - - k.SetUserFromUser(ctx, inviter) - k.SetUserFromUser(ctx, invited) - - return &types.MsgInviteEarlyAccessResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_msg_open_match.go b/x/cardchain/keeper/msg_server_msg_open_match.go deleted file mode 100644 index a446e8c7..00000000 --- a/x/cardchain/keeper/msg_server_msg_open_match.go +++ /dev/null @@ -1,35 +0,0 @@ -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 deleted file mode 100644 index eaac1a19..00000000 --- a/x/cardchain/keeper/msg_server_multi_vote_card.go +++ /dev/null @@ -1,27 +0,0 @@ -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) - 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 deleted file mode 100644 index 3f9d2fca..00000000 --- a/x/cardchain/keeper/msg_server_open_booster_pack.go +++ /dev/null @@ -1,73 +0,0 @@ -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" -) - -func (k msgServer) OpenBoosterPack(goCtx context.Context, msg *types.MsgOpenBoosterPack) (*types.MsgOpenBoosterPackResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - creator, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - - if uint64(len(creator.BoosterPacks)) <= msg.BoosterPackId { - return nil, sdkerrors.Wrapf( - types.ErrBoosterPack, - "BoosterPackId %d is not in list length %d", - msg.BoosterPackId, - len(creator.BoosterPacks), - ) - } - rand.Seed(ctx.BlockTime().Unix() + int64(len(creator.BoosterPacks))) - - var ( - cardsList []uint64 - cleanedRatios [3]uint64 - ) - pack := creator.BoosterPacks[msg.BoosterPackId] - set := k.Sets.Get(ctx, pack.SetId) - - for idx, ratio := range pack.DropRatiosPerPack { - if len(set.Rarities[idx+2].R) == 0 { - cleanedRatios[idx] = 0 - } else { - cleanedRatios[idx] = ratio - } - } - - for idx, num := range pack.RaritiesPerPack { - for i := 0; i < int(num); i++ { - if idx != 2 { - cardsList = append(cardsList, set.Rarities[idx].R[rand.Intn(len(set.Rarities[idx].R))]) - } 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, set.Rarities[j].R[rand.Intn(len(set.Rarities[j].R))]) - } - } - } - - creator.Cards = append(creator.Cards, cardsList...) - creator.BoosterPacks = slices.Delete( - creator.BoosterPacks, - int(msg.BoosterPackId), - int(msg.BoosterPackId+1), - ) - - k.SetUserFromUser(ctx, creator) - - return &types.MsgOpenBoosterPackResponse{CardIds: cardsList}, nil -} diff --git a/x/cardchain/keeper/msg_server_register_for_council.go b/x/cardchain/keeper/msg_server_register_for_council.go deleted file mode 100644 index 1e476e36..00000000 --- a/x/cardchain/keeper/msg_server_register_for_council.go +++ /dev/null @@ -1,58 +0,0 @@ -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) RegisterForCouncil(goCtx context.Context, msg *types.MsgRegisterForCouncil) (*types.MsgRegisterForCouncilResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - user, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - - if user.CouncilStatus != types.CouncilStatus_unavailable { - return nil, sdkerrors.Wrapf(types.ErrInvalidUserStatus, "%s", user.CouncilStatus.String()) - } - - iter := k.Councils.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - idx, council := iter.Value() - if council.Status == types.CouncelingStatus_councilOpen { - council.Voters = append(council.Voters, msg.Creator) - if len(council.Voters) == 5 { - council.Status = types.CouncelingStatus_councilCreated - } - for _, addr := range council.Voters { - usr, err := k.GetUserFromString(ctx, addr) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - if len(council.Voters) == 5 { - usr.CouncilStatus = types.CouncilStatus_startedCouncil - } else { - usr.CouncilStatus = types.CouncilStatus_openCouncil - } - k.SetUserFromUser(ctx, usr) - } - k.Councils.Set(ctx, idx, council) - break - } - } - - user, err = k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - if user.CouncilStatus == types.CouncilStatus_unavailable { - user.CouncilStatus = types.CouncilStatus_available - } - k.SetUserFromUser(ctx, user) - - return &types.MsgRegisterForCouncilResponse{}, 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 deleted file mode 100644 index 9444d574..00000000 --- a/x/cardchain/keeper/msg_server_remove_card_from_set.go +++ /dev/null @@ -1,34 +0,0 @@ -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_set.go b/x/cardchain/keeper/msg_server_remove_contributor_from_set.go deleted file mode 100644 index b02e2c78..00000000 --- a/x/cardchain/keeper/msg_server_remove_contributor_from_set.go +++ /dev/null @@ -1,42 +0,0 @@ -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 deleted file mode 100644 index 562a92fe..00000000 --- a/x/cardchain/keeper/msg_server_remove_sell_offer.go +++ /dev/null @@ -1,37 +0,0 @@ -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) RemoveSellOffer(goCtx context.Context, msg *types.MsgRemoveSellOffer) (*types.MsgRemoveSellOfferResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - creator, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - - sellOffer := k.SellOffers.Get(ctx, msg.SellOfferId) - - if sellOffer.Seller != msg.Creator { - return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect Seller") - } - - if sellOffer.Status != types.SellOfferStatus_open { - return nil, sdkerrors.Wrapf(types.ErrNoOpenSellOffer, "Status: %v", sellOffer.Status) - } - - sellOffer.Status = types.SellOfferStatus_removed - creator.Cards = append(creator.Cards, sellOffer.Card) - - k.SellOffers.Set(ctx, msg.SellOfferId, sellOffer) - k.SetUserFromUser(ctx, creator) - - return &types.MsgRemoveSellOfferResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_report_match.go b/x/cardchain/keeper/msg_server_report_match.go deleted file mode 100644 index a173e786..00000000 --- a/x/cardchain/keeper/msg_server_report_match.go +++ /dev/null @@ -1,45 +0,0 @@ -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) 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(errors.ErrUnauthorized, "Incorrect Reporter") - } - 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") - } - - match.PlayerA.PlayedCards = msg.PlayedCardsA - match.PlayerB.PlayedCards = msg.PlayedCardsB - match.Outcome = msg.Outcome - match.ServerConfirmed = true - match.Timestamp = uint64(ctx.BlockHeight()) - - err = k.TryHandleMatchOutcome(ctx, match) - if err != nil { - return nil, err - } - - 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 deleted file mode 100644 index df38863f..00000000 --- a/x/cardchain/keeper/msg_server_restart_council.go +++ /dev/null @@ -1,32 +0,0 @@ -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) RestartCouncil(goCtx context.Context, msg *types.MsgRestartCouncil) (*types.MsgRestartCouncilResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - council := k.Councils.Get(ctx, msg.CouncilId) - card := k.Cards.Get(ctx, council.CardId) - if card.Owner != msg.Creator { - return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Invalid Owner") - } - - if council.Status != types.CouncelingStatus_suggestionsMade { - return nil, sdkerrors.Wrapf(types.ErrCouncilStatus, "Have '%s', want '%s'", council.Status.String(), types.CouncelingStatus_suggestionsMade.String()) - } - - council.ClearResponses = []*types.WrapClearResponse{} - council.HashResponses = []*types.WrapHashResponse{} - council.Status = types.CouncelingStatus_councilCreated - - k.Councils.Set(ctx, msg.CouncilId, council) - - return &types.MsgRestartCouncilResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_reveal_council_response.go b/x/cardchain/keeper/msg_server_reveal_council_response.go deleted file mode 100644 index 6997cff7..00000000 --- a/x/cardchain/keeper/msg_server_reveal_council_response.go +++ /dev/null @@ -1,76 +0,0 @@ -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) RevealCouncilResponse(goCtx context.Context, msg *types.MsgRevealCouncilResponse) (*types.MsgRevealCouncilResponseResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - collateralDeposit := k.GetParams(ctx).CollateralDeposit - - creator, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - - council := k.Councils.Get(ctx, msg.CouncilId) - if !slices.Contains(council.Voters, msg.Creator) { - return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Invalid Voter") - } - - if council.Status != types.CouncelingStatus_commited { - return nil, sdkerrors.Wrapf(types.ErrCouncilStatus, "Have '%s', want '%s'", council.Status.String(), types.CouncelingStatus_commited.String()) - } - - var allreadyVoted []string - for _, response := range council.ClearResponses { - allreadyVoted = append(allreadyVoted, response.User) - } - - if slices.Contains(allreadyVoted, msg.Creator) { - return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Already voted") - } - - hashStringResponse := GetResponseHash(msg.Response, msg.Secret) - var originalHash string - - for _, hash := range council.HashResponses { - if hash.User == msg.Creator { - originalHash = hash.Hash - break - } - } - - if originalHash != hashStringResponse { - return nil, types.ErrBadReveal - } - - resp := types.WrapClearResponse{User: msg.Creator, Response: msg.Response} - council.ClearResponses = append(council.ClearResponses, &resp) - - if len(council.ClearResponses) == 5 { - council.Status = types.CouncelingStatus_revealed - } - - err = k.BurnCoinsFromAddr(ctx, creator.Addr, sdk.Coins{collateralDeposit}) - if err != nil { - return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, "Voter does not have enough coins") - } - council.Treasury = council.Treasury.Add(collateralDeposit) - - err = k.TryEvaluate(ctx, council) - if err != nil { - return nil, err - } - - k.Councils.Set(ctx, msg.CouncilId, council) - - return &types.MsgRevealCouncilResponseResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_rewoke_council_registration.go b/x/cardchain/keeper/msg_server_rewoke_council_registration.go deleted file mode 100644 index 913f3323..00000000 --- a/x/cardchain/keeper/msg_server_rewoke_council_registration.go +++ /dev/null @@ -1,28 +0,0 @@ -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) RewokeCouncilRegistration(goCtx context.Context, msg *types.MsgRewokeCouncilRegistration) (*types.MsgRewokeCouncilRegistrationResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - user, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - - if user.CouncilStatus != types.CouncilStatus_available { - return nil, sdkerrors.Wrapf(types.ErrInvalidUserStatus, "%s", user.CouncilStatus.String()) - } - - user.CouncilStatus = types.CouncilStatus_unavailable - - k.SetUserFromUser(ctx, user) - - return &types.MsgRewokeCouncilRegistrationResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_save_card_content.go b/x/cardchain/keeper/msg_server_save_card_content.go deleted file mode 100644 index 2c90833f..00000000 --- a/x/cardchain/keeper/msg_server_save_card_content.go +++ /dev/null @@ -1,73 +0,0 @@ -package keeper - -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" - "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()) - } - - // Checks card status - if councilEnabled && card.Status != types.Status_prototype && card.Status != types.Status_scheme { - return nil, sdkerrors.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype or scheme to be changeable") - } - - if card.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(errors.ErrUnauthorized, "Incorrect Owner") - } - - cardobj, err := keywords.Unmarshal([]byte(msg.Content)) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrCardobject, err.Error()) - - } - - card.Content, err = json.Marshal(cardobj) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrCardobject, err.Error()) - } - - 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(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) - - // Sets correct state - if councilEnabled { - card.Status = types.Status_prototype - } else { - card.Status = types.Status_permanent - } - k.Cards.Set(ctx, msg.CardId, card) - k.SetLastCardModifiedNow(ctx) - - 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 deleted file mode 100644 index a27371d7..00000000 --- a/x/cardchain/keeper/msg_server_set_card_rarity.go +++ /dev/null @@ -1,27 +0,0 @@ -package keeper - -import ( - "context" - "slices" - - sdkerrors "cosmossdk.io/errors" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - 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) - set := k.Sets.Get(ctx, msg.SetId) - - if set.Contributors[0] != msg.Creator || !slices.Contains(set.Cards, msg.CardId) { - return nil, sdkerrors.Wrap(sdkerrors2.ErrUnauthorized, "Incorrect Creator") - } - - card.Rarity = msg.Rarity - k.Cards.Set(ctx, msg.CardId, card) - - return &types.MsgSetCardRarityResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_set_profile_card.go b/x/cardchain/keeper/msg_server_set_profile_card.go deleted file mode 100644 index 51dbb569..00000000 --- a/x/cardchain/keeper/msg_server_set_profile_card.go +++ /dev/null @@ -1,33 +0,0 @@ -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) SetProfileCard(goCtx context.Context, msg *types.MsgSetProfileCard) (*types.MsgSetProfileCardResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - user, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, err - } - - card := k.Cards.Get(ctx, msg.CardId) - if card.Owner != msg.Creator { - 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(errors.ErrUnauthorized, "The card has to be playable") - } - - user.ProfileCard = msg.CardId - - k.SetUserFromUser(ctx, user) - - return &types.MsgSetProfileCardResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_set_set_artist.go b/x/cardchain/keeper/msg_server_set_set_artist.go deleted file mode 100644 index 77a28d4f..00000000 --- a/x/cardchain/keeper/msg_server_set_set_artist.go +++ /dev/null @@ -1,24 +0,0 @@ -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 deleted file mode 100644 index bff444a5..00000000 --- a/x/cardchain/keeper/msg_server_set_set_name.go +++ /dev/null @@ -1,24 +0,0 @@ -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 deleted file mode 100644 index a2129645..00000000 --- a/x/cardchain/keeper/msg_server_set_set_story_writer.go +++ /dev/null @@ -1,24 +0,0 @@ -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 deleted file mode 100644 index 05539586..00000000 --- a/x/cardchain/keeper/msg_server_set_user_biography.go +++ /dev/null @@ -1,28 +0,0 @@ -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) SetUserBiography(goCtx context.Context, msg *types.MsgSetUserBiography) (*types.MsgSetUserBiographyResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - user, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, err - } - - if len(msg.Biography) > 400 { - return nil, sdkerrors.Wrap(types.ErrStringLength, "Website length exceded 400 chars") - } - - user.Biography = msg.Biography - - k.SetUserFromUser(ctx, user) - - return &types.MsgSetUserBiographyResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_set_user_website.go b/x/cardchain/keeper/msg_server_set_user_website.go deleted file mode 100644 index e12ca40e..00000000 --- a/x/cardchain/keeper/msg_server_set_user_website.go +++ /dev/null @@ -1,28 +0,0 @@ -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) SetUserWebsite(goCtx context.Context, msg *types.MsgSetUserWebsite) (*types.MsgSetUserWebsiteResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - user, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, err - } - - if len(msg.Website) > 50 { - return nil, sdkerrors.Wrap(types.ErrStringLength, "Website length exceded 50 chars") - } - - user.Website = msg.Website - - k.SetUserFromUser(ctx, user) - - return &types.MsgSetUserWebsiteResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_transfer_booster_pack.go b/x/cardchain/keeper/msg_server_transfer_booster_pack.go deleted file mode 100644 index 0f2992d0..00000000 --- a/x/cardchain/keeper/msg_server_transfer_booster_pack.go +++ /dev/null @@ -1,49 +0,0 @@ -package keeper - -import ( - "context" - "slices" - - sdkerrors "cosmossdk.io/errors" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func (k msgServer) TransferBoosterPack(goCtx context.Context, msg *types.MsgTransferBoosterPack) (*types.MsgTransferBoosterPackResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - creator, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - - receiver, err := k.GetUserFromString(ctx, msg.Receiver) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - - if uint64(len(creator.BoosterPacks)) <= msg.BoosterPackId { - return nil, sdkerrors.Wrapf( - types.ErrBoosterPack, - "BoosterPackId %d is not in list length %d", - msg.BoosterPackId, - len(creator.BoosterPacks), - ) - } - - receiver.BoosterPacks = append( - receiver.BoosterPacks, - creator.BoosterPacks[msg.BoosterPackId], - ) - - creator.BoosterPacks = slices.Delete( - creator.BoosterPacks, - int(msg.BoosterPackId), - int(msg.BoosterPackId+1), - ) - - k.SetUserFromUser(ctx, creator) - k.SetUserFromUser(ctx, receiver) - - return &types.MsgTransferBoosterPackResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_transfer_card.go b/x/cardchain/keeper/msg_server_transfer_card.go deleted file mode 100644 index fdbfc847..00000000 --- a/x/cardchain/keeper/msg_server_transfer_card.go +++ /dev/null @@ -1,52 +0,0 @@ -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) TransferCard(goCtx context.Context, msg *types.MsgTransferCard) (*types.MsgTransferCardResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - // if the vote right is valid, get the Card - card := k.Cards.Get(ctx, msg.CardId) - creator, err := k.GetUserFromString(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - receiver, err := k.GetUserFromString(ctx, msg.Receiver) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) - } - - if card.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(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(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(errors.ErrUnauthorized, err.Error()) - } - receiver.OwnedPrototypes = append(receiver.OwnedPrototypes, msg.CardId) - } - - card.Owner = msg.Receiver - k.Cards.Set(ctx, msg.CardId, card) - k.SetUserFromUser(ctx, creator) - k.SetUserFromUser(ctx, receiver) - - return &types.MsgTransferCardResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_vote_card.go b/x/cardchain/keeper/msg_server_vote_card.go deleted file mode 100644 index 684a4937..00000000 --- a/x/cardchain/keeper/msg_server_vote_card.go +++ /dev/null @@ -1,30 +0,0 @@ -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) VoteCard(goCtx context.Context, msg *types.MsgVoteCard) (*types.MsgVoteCardResponse, 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.voteCard(ctx, &voter, msg.CardId, msg.VoteType) - if err != nil { - return nil, err - } - - k.incVotesAverageBy(ctx, 1) - - claimedAirdrop := k.ClaimAirDrop(ctx, &voter, types.AirDrop_vote) - k.SetUserFromUser(ctx, voter) - - return &types.MsgVoteCardResponse{AirdropClaimed: claimedAirdrop}, nil -} diff --git a/x/cardchain/keeper/params.go b/x/cardchain/keeper/params.go deleted file mode 100644 index 17a04898..00000000 --- a/x/cardchain/keeper/params.go +++ /dev/null @@ -1,21 +0,0 @@ -package keeper - -import ( - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// GetParams get all parameters as types.Params --- Keep this -// func (k Keeper) GetParams(ctx sdk.Context) types.Params { -// return types.NewParams() -// } - -func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) { - k.paramstore.GetParamSet(ctx, ¶ms) - return -} - -// SetParams set the params -func (k Keeper) SetParams(ctx sdk.Context, params types.Params) { - k.paramstore.SetParamSet(ctx, ¶ms) -} diff --git a/x/cardchain/keeper/pools.go b/x/cardchain/keeper/pools.go deleted file mode 100644 index d82eb77b..00000000 --- a/x/cardchain/keeper/pools.go +++ /dev/null @@ -1,34 +0,0 @@ -package keeper - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// Keys to access pools -const ( - PublicPoolKey = "public" - WinnersPoolKey = "winners" - BalancersPoolKey = "balancers" -) - -// AddPoolCredits Adds ucredits to a pool -func (k Keeper) AddPoolCredits(ctx sdk.Context, poolName string, amount sdk.Coin) { - pool := k.Pools.Get(ctx, poolName) - newPool := pool.Add(amount) - k.Pools.Set(ctx, poolName, &newPool) -} - -// SubPoolCredits Subtracts ucredits from a pool -func (k Keeper) SubPoolCredits(ctx sdk.Context, poolName string, amount sdk.Coin) { - pool := k.Pools.Get(ctx, poolName) - newPool := pool.Sub(amount) - k.Pools.Set(ctx, poolName, &newPool) -} - -// DistributeHourlyFaucet distributes hourly faucet -func (k Keeper) DistributeHourlyFaucet(ctx sdk.Context) { - pool := k.Pools.Get(ctx, PublicPoolKey) - if pool.Amount.LT(sdk.NewInt(1_000_000_000_000_000)) { - k.AddPoolCredits(ctx, PublicPoolKey, k.GetParams(ctx).HourlyFaucet) - } -} diff --git a/x/cardchain/keeper/pools_test.go b/x/cardchain/keeper/pools_test.go deleted file mode 100644 index 3f73979e..00000000 --- a/x/cardchain/keeper/pools_test.go +++ /dev/null @@ -1,36 +0,0 @@ -package keeper_test - -import ( - "testing" - - testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" - // "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/stretchr/testify/require" -) - -func SetUpPools(ctx sdk.Context, k keeper.Keeper) (sdk.Coin, sdk.Coin, sdk.Coin) { - pool := sdk.NewInt64Coin("ucredits", 10) - pool1 := sdk.NewInt64Coin("ucredits", 2000000) - pool2 := sdk.NewInt64Coin("ucredits", 12) - k.Pools.Set(ctx, keeper.PublicPoolKey, &pool) - k.Pools.Set(ctx, keeper.WinnersPoolKey, &pool1) - k.Pools.Set(ctx, keeper.BalancersPoolKey, &pool2) - - return pool, pool1, pool2 -} - -func TestPools(t *testing.T) { - k, ctx := testkeeper.CardchainKeeper(t) - pool, pool1, pool2 := SetUpPools(ctx, *k) - - require.EqualValues(t, pool, *k.Pools.Get(ctx, keeper.PublicPoolKey)) - require.EqualValues(t, []*sdk.Coin{&pool, &pool1, &pool2}, k.Pools.GetAll(ctx)) - - k.AddPoolCredits(ctx, keeper.PublicPoolKey, sdk.NewInt64Coin("ucredits", 2)) - require.EqualValues(t, sdk.NewInt64Coin("ucredits", 12), *k.Pools.Get(ctx, keeper.PublicPoolKey)) - - k.SubPoolCredits(ctx, keeper.PublicPoolKey, sdk.NewInt64Coin("ucredits", 3)) - require.EqualValues(t, sdk.NewInt64Coin("ucredits", 9), *k.Pools.Get(ctx, keeper.PublicPoolKey)) -} diff --git a/x/cardchain/keeper/query_q_account_from_zealy.go b/x/cardchain/keeper/query_q_account_from_zealy.go deleted file mode 100644 index 2d3f2105..00000000 --- a/x/cardchain/keeper/query_q_account_from_zealy.go +++ /dev/null @@ -1,25 +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) QAccountFromZealy(goCtx context.Context, req *types.QueryQAccountFromZealyRequest) (*types.QueryQAccountFromZealyResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - zealy, err := k.GetZealy(ctx, req.ZealyId) - if err != nil { - return nil, err - } - - return &types.QueryQAccountFromZealyResponse{Address: zealy.Address}, nil -} diff --git a/x/cardchain/keeper/query_q_card_contents.go b/x/cardchain/keeper/query_q_card_contents.go deleted file mode 100644 index 85dd8047..00000000 --- a/x/cardchain/keeper/query_q_card_contents.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" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -func (k Keeper) QCardContents(goCtx context.Context, req *types.QueryQCardContentsRequest) (*types.QueryQCardContentsResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - var resps []*types.QueryQCardContentResponse - - for _, cardId := range req.CardIds { - resp, err := k.GetContentResponseFromId(ctx, cardId) - if err != nil { - return nil, err - } - resps = append(resps, resp) - } - - return &types.QueryQCardContentsResponse{ - Cards: resps, - }, nil -} diff --git a/x/cardchain/keeper/query_q_encounter.go b/x/cardchain/keeper/query_q_encounter.go deleted file mode 100644 index a3c5b089..00000000 --- a/x/cardchain/keeper/query_q_encounter.go +++ /dev/null @@ -1,22 +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) QEncounter(goCtx context.Context, req *types.QueryQEncounterRequest) (*types.QueryQEncounterResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - encounter := k.Encounters.Get(ctx, req.Id) - - return &types.QueryQEncounterResponse{Encounter: encounter}, nil -} diff --git a/x/cardchain/keeper/query_q_encounter_with_image.go b/x/cardchain/keeper/query_q_encounter_with_image.go deleted file mode 100644 index a5bc704f..00000000 --- a/x/cardchain/keeper/query_q_encounter_with_image.go +++ /dev/null @@ -1,25 +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) QEncounterWithImage(goCtx context.Context, req *types.QueryQEncounterWithImageRequest) (*types.QueryQEncounterWithImageResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - encounter := k.Encounters.Get(ctx, req.Id) - - return &types.QueryQEncounterWithImageResponse{Encounter: &types.EncounterWithImage{ - Encounter: encounter, - Image: k.Images.Get(ctx, encounter.ImageId).Image, - }}, nil -} diff --git a/x/cardchain/keeper/query_q_encounters.go b/x/cardchain/keeper/query_q_encounters.go deleted file mode 100644 index d68f9813..00000000 --- a/x/cardchain/keeper/query_q_encounters.go +++ /dev/null @@ -1,22 +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) QEncounters(goCtx context.Context, req *types.QueryQEncountersRequest) (*types.QueryQEncountersResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - encounters := k.Encounters.GetAll(ctx) - - return &types.QueryQEncountersResponse{Encounters: encounters}, nil -} diff --git a/x/cardchain/keeper/query_q_encounters_with_image.go b/x/cardchain/keeper/query_q_encounters_with_image.go deleted file mode 100644 index a9ed204c..00000000 --- a/x/cardchain/keeper/query_q_encounters_with_image.go +++ /dev/null @@ -1,31 +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) QEncountersWithImage(goCtx context.Context, req *types.QueryQEncountersWithImageRequest) (*types.QueryQEncountersWithImageResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - var encountersWithImage []*types.EncounterWithImage - - encounters := k.Encounters.GetAll(ctx) - - for _, encounter := range encounters { - encountersWithImage = append(encountersWithImage, &types.EncounterWithImage{ - Encounter: encounter, - Image: k.Images.Get(ctx, encounter.ImageId).Image, - }) - } - - return &types.QueryQEncountersWithImageResponse{Encounters: encountersWithImage}, nil -} diff --git a/x/cardchain/keeper/sell_offer_test.go b/x/cardchain/keeper/sell_offer_test.go deleted file mode 100644 index 34177d8e..00000000 --- a/x/cardchain/keeper/sell_offer_test.go +++ /dev/null @@ -1,25 +0,0 @@ -package keeper_test - -import ( - "testing" - - testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/stretchr/testify/require" -) - -func TestSellOffer(t *testing.T) { - k, ctx := testkeeper.CardchainKeeper(t) - setUpCard(ctx, k) - sellOffer := types.SellOffer{ - Seller: "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", - Price: sdk.NewInt64Coin("ucredits", 3), - Status: types.SellOfferStatus_open, - } - k.SellOffers.Set(ctx, 0, &sellOffer) - - require.EqualValues(t, 1, k.SellOffers.GetNumber(ctx)) - require.EqualValues(t, sellOffer, *k.SellOffers.Get(ctx, 0)) - require.EqualValues(t, []*types.SellOffer{&sellOffer}, k.SellOffers.GetAll(ctx)) -} diff --git a/x/cardchain/keeper/server.go b/x/cardchain/keeper/server.go deleted file mode 100644 index 234f9c9e..00000000 --- a/x/cardchain/keeper/server.go +++ /dev/null @@ -1,32 +0,0 @@ -package keeper - -import ( - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// GetServerId Gets the number of a certain server by it's reporters address -func (k Keeper) GetServerId(ctx sdk.Context, addr string) uint64 { - for idx, server := range k.Servers.GetAll(ctx) { - if server.Reporter == addr { - return uint64(idx) - } - } - id := k.Servers.GetNumber(ctx) - server := types.Server{Reporter: addr} - k.Servers.Set(ctx, id, &server) - return id -} - -// ReportServerMatch Adds a number of reports to the server record -func (k Keeper) ReportServerMatch(ctx sdk.Context, addr string, num uint64, isValid bool) { - id := k.GetServerId(ctx, addr) - server := k.Servers.Get(ctx, id) - switch isValid { - case true: - server.ValidReports += num - case false: - server.InvalidReports += num - } - k.Servers.Set(ctx, id, server) -} diff --git a/x/cardchain/keeper/server_test.go b/x/cardchain/keeper/server_test.go deleted file mode 100644 index 2f25cdb2..00000000 --- a/x/cardchain/keeper/server_test.go +++ /dev/null @@ -1,22 +0,0 @@ -package keeper_test - -import ( - "testing" - - testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/stretchr/testify/require" -) - -func TestServers(t *testing.T) { - k, ctx := testkeeper.CardchainKeeper(t) - - require.EqualValues(t, 0, k.GetServerId(ctx, "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf")) - require.EqualValues(t, types.Server{Reporter: "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf"}, *k.Servers.Get(ctx, 0)) - - k.ReportServerMatch(ctx, "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", 1, true) - require.EqualValues(t, types.Server{Reporter: "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", ValidReports: 1}, *k.Servers.Get(ctx, 0)) - - k.ReportServerMatch(ctx, "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", 2, false) - require.EqualValues(t, types.Server{Reporter: "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", ValidReports: 1, InvalidReports: 2}, *k.Servers.Get(ctx, 0)) -} diff --git a/x/cardchain/keeper/set.go b/x/cardchain/keeper/set.go deleted file mode 100644 index 424d49ef..00000000 --- a/x/cardchain/keeper/set.go +++ /dev/null @@ -1,125 +0,0 @@ -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) -} - -// GetContributorDistribution Returns an array of all contributors of a set in their respective frequencies -func (k Keeper) GetContributorDistribution(ctx sdk.Context, set types.Set) []*types.AddrWithQuantity { - params := k.GetParams(ctx) - contribs := []*types.AddrWithQuantity{{Addr: set.StoryWriter, Q: 2}, {Addr: set.Artist, Q: 2}, {Addr: set.Contributors[0], Q: 4}} - for _, cardId := range set.Cards { - var card = k.Cards.Get(ctx, cardId) - if card.Owner != "" { - for _, addr := range []string{card.Owner, card.Artist} { - incQ(&contribs, addr) - } - } - } - - var amount uint32 - for _, contrib := range contribs { - amount += contrib.Q - } - - var payment = QuoCoin(params.SetPrice, int64(amount)) - for _, contrib := range contribs { - p := MulCoin(payment, int64(contrib.Q)) - contrib.Payment = &p - } - - return contribs -} - -func incQ(addrsWithQ *[]*types.AddrWithQuantity, addr string) { - for _, addrWithQ := range *addrsWithQ { - if addrWithQ.Addr == addr { - addrWithQ.Q += 1 - return - } - } - *addrsWithQ = append(*addrsWithQ, &types.AddrWithQuantity{Addr: addr, Q: 1}) -} - -// 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/set_test.go b/x/cardchain/keeper/set_test.go deleted file mode 100644 index b1e93b04..00000000 --- a/x/cardchain/keeper/set_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package keeper_test - -import ( - "testing" - - testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - - // sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/stretchr/testify/require" -) - -func TestSet(t *testing.T) { - k, ctx := testkeeper.CardchainKeeper(t) - setUpCard(ctx, k) - set := types.Set{ - Name: "Coll set", - Cards: []uint64{0}, - Artist: "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", - Contributors: []string{"cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf"}, - StoryWriter: "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", - Story: "Bla bli blub", - Status: types.CStatus_active, - TimeStamp: 100, - } - - var contribs []string - for i := 0; i < 10; i++ { - contribs = append(contribs, "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf") - } - - k.Sets.Set(ctx, 0, &set) - - 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 deleted file mode 100644 index 5650e1d6..00000000 --- a/x/cardchain/keeper/user.go +++ /dev/null @@ -1,137 +0,0 @@ -package keeper - -import ( - sdkerrors "cosmossdk.io/errors" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -type MsgWithCreator interface { - GetSigners() []sdk.AccAddress -} - -const MAX_ALIAS_LEN = 25 - -// User Combines types.User and it's account address for better usability -type User struct { - types.User - Addr sdk.AccAddress -} - -// CreateUser Creates a new user -func (k Keeper) CreateUser(ctx sdk.Context, addr sdk.AccAddress, alias string) error { - // check if user already exists - _, err := k.GetUser(ctx, addr) - if err != nil { - err = k.InitUser(ctx, addr, alias) - if err != nil { - return err - } - } else { - return types.ErrUserAlreadyExists - } - return nil -} - -// InitUser Initializes a new user -func (k Keeper) InitUser(ctx sdk.Context, address sdk.AccAddress, alias string) error { - if alias == "" { - alias = "newbie" - } - newUser := types.NewUser() - err := checkAliasLimit(alias) - if err != nil { - return err - } - newUser.Alias = alias - 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.VotableCards = k.GetAllVotableCards(ctx) - } - - userObj := User{newUser, address} - k.ClaimAirDrop(ctx, &userObj, types.AirDrop_user) - k.SetUserFromUser(ctx, userObj) - return nil -} - -// GetUser Gets a user from store -func (k Keeper) GetUser(ctx sdk.Context, address sdk.AccAddress) (types.User, error) { - store := ctx.KVStore(k.UsersStoreKey) - bz := store.Get(address) - var gottenUser types.User - - if bz == nil { - return gottenUser, sdkerrors.Wrap(types.ErrUserDoesNotExist, "Address not in store") - } - - k.cdc.MustUnmarshal(bz, &gottenUser) - return gottenUser, nil -} - -func (k Keeper) GetMsgCreator(ctx sdk.Context, msg MsgWithCreator) (user User, err error) { - user.Addr = msg.GetSigners()[0] - - user.User, err = k.GetUser(ctx, user.Addr) - return -} - -// GetUserFromString Gets a user from store, but instead of taking an accountaddress it takes a string and returns a User struct (defined above) -func (k Keeper) GetUserFromString(ctx sdk.Context, addr string) (user User, err error) { - user.Addr, err = sdk.AccAddressFromBech32(addr) - if err != nil { - return user, sdkerrors.Wrap(types.ErrInvalidAccAddress, "Unable to convert to AccAddress") - } - user.User, err = k.GetUser(ctx, user.Addr) - if err != nil { - return - } - return -} - -// SetUser Sets a user in store -func (k Keeper) SetUser(ctx sdk.Context, address sdk.AccAddress, userData types.User) { - store := ctx.KVStore(k.UsersStoreKey) - store.Set(address, k.cdc.MustMarshal(&userData)) -} - -// SetUserFromUser Sets a user in store, but takes a User struct as defined above -func (k Keeper) SetUserFromUser(ctx sdk.Context, user User) { - k.SetUser(ctx, user.Addr, user.User) -} - -// GetUsersIterator Returns an iterator for all users -func (k Keeper) GetUsersIterator(ctx sdk.Context) sdk.Iterator { - store := ctx.KVStore(k.UsersStoreKey) - return sdk.KVStorePrefixIterator(store, nil) -} - -// GetAllUsers Gets all users from store -func (k Keeper) GetAllUsers(ctx sdk.Context) (allUsers []*types.User, allAddresses []sdk.AccAddress) { - iterator := k.GetUsersIterator(ctx) - for ; iterator.Valid(); iterator.Next() { - - var gottenUser types.User - k.cdc.MustUnmarshal(iterator.Value(), &gottenUser) - - allUsers = append(allUsers, &gottenUser) - allAddresses = append(allAddresses, iterator.Key()) - } - return -} - -func checkAliasLimit(alias string) error { - if len(alias) > MAX_ALIAS_LEN { - return sdkerrors.Wrapf(types.InvalidAlias, "alias is too long (%d) maximum is %d", len(alias), MAX_ALIAS_LEN) - } - - return nil -} diff --git a/x/cardchain/keeper/user_test.go b/x/cardchain/keeper/user_test.go deleted file mode 100644 index 6b295e0e..00000000 --- a/x/cardchain/keeper/user_test.go +++ /dev/null @@ -1,28 +0,0 @@ -package keeper_test - -// Won't test until bankkeeper works -// import ( -// "testing" -// -// testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" -// "github.com/DecentralCardGame/Cardchain/x/cardchain/types" -// sdk "github.com/cosmos/cosmos-sdk/types" -// "github.com/stretchr/testify/require" -// ) -// -// func TestSellOffer(t *testing.T) { -// k, ctx := testkeeper.CardchainKeeper(t) -// setUpCard(ctx, k) -// sellOffer := types.SellOffer { -// "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", -// "", -// 0, -// sdk.NewInt64Coin("ucredits", 3), -// types.SellOfferStatus_open, -// } -// k.SellOffers.Set(ctx, 1, sellOffer) -// -// require.EqualValues(t, 1, k.SellOffers.GetNumber(ctx)) -// require.EqualValues(t, sellOffer, k.SellOffers.Get(ctx, 0)) -// require.EqualValues(t, []*types.SellOffer{&sellOffer}, k.SellOffers.GetAll(ctx)) -// } diff --git a/x/cardchain/keeper/vote_right.go b/x/cardchain/keeper/vote_right.go deleted file mode 100644 index c18a956b..00000000 --- a/x/cardchain/keeper/vote_right.go +++ /dev/null @@ -1,95 +0,0 @@ -package keeper - -import ( - "slices" - - sdkerrors "cosmossdk.io/errors" - "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) - - pool := k.Pools.Get(ctx, BalancersPoolKey) - reward := QuoCoin(*pool, params.VotePoolFraction) - if reward.Amount.GTE(sdk.NewInt(params.VotingRewardCap)) { - return sdk.NewInt64Coin(reward.Denom, params.VotingRewardCap) - } - return reward -} - -// AddVoteRightToUser Adds a voteright for a certain card to a certain user -func (k Keeper) AddVoteRightToUser(ctx sdk.Context, user *types.User, cardId uint64) { - card := k.Cards.Get(ctx, cardId) - if !card.BalanceAnchor { - if !slices.Contains(user.VotableCards, cardId) && !slices.Contains(user.VotedCards, cardId) { - user.VotableCards = append(user.VotableCards, cardId) - } - } -} - -// AddVoteRightsToAllUsers Adds voterights to all cards to all users -func (k Keeper) AddVoteRightsToAllUsers(ctx sdk.Context) { - votables := k.GetAllVotableCards(ctx) - allUsers, allAddrs := k.GetAllUsers(ctx) - for idx, user := range allUsers { - user.VotableCards = votables - k.SetUser(ctx, allAddrs[idx], *user) - } -} - -// RegisterVote Removes a voteright from a user -func (k Keeper) RegisterVote(voter *User, cardId uint64) error { - var rightsIndex = slices.Index(voter.VotableCards, cardId) - - // check if voting rights are true - if rightsIndex < 0 { - return sdkerrors.Wrap(types.ErrVoterHasNoVotingRights, "No Voting Rights") - } - voter.VotableCards = slices.Delete(voter.VotableCards, rightsIndex, rightsIndex+1) - voter.VotedCards = append(voter.VotedCards, cardId) - return nil -} - -// GetAllVotableCards Gets the voterights to all cards -func (k Keeper) GetAllVotableCards(ctx sdk.Context) (votables []uint64) { - iter := k.Cards.GetItemIterator(ctx) - - for ; iter.Valid(); iter.Next() { - // here only give right if card is not a scheme or banished - idx, gottenCard := iter.Value() - if !gottenCard.BalanceAnchor { - switch gottenCard.Status { - case types.Status_permanent, types.Status_trial: - votables = append(votables, idx) - } - } - } - return -} - -// RemoveExpiredVoteRights Removes all expied voteRights -func (k Keeper) RemoveExpiredVoteRights(ctx sdk.Context) { - allUsers, allAddrs := k.GetAllUsers(ctx) - - for idx, user := range allUsers { - user.VotableCards = []uint64{} - user.VotedCards = []uint64{} - k.SetUser(ctx, allAddrs[idx], *user) - } -} - -// ResetAllVotes Resets all cards votes -func (k Keeper) ResetAllVotes(ctx sdk.Context) { - iter := k.Cards.GetItemIterator(ctx) - - for ; iter.Valid(); iter.Next() { - idx, resetCard := iter.Value() - if resetCard.Status != types.Status_trial { - resetCard.ResetVotes() - } - k.Cards.Set(ctx, uint64(idx), resetCard) - } -} diff --git a/x/cardchain/keeper/voting.go b/x/cardchain/keeper/voting.go deleted file mode 100644 index 3546f541..00000000 --- a/x/cardchain/keeper/voting.go +++ /dev/null @@ -1,87 +0,0 @@ -package keeper - -import ( - "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 Keeper) voteCard( - ctx sdk.Context, - voter *User, - cardId uint64, - voteType types.VoteType, -) error { - // 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") - } - - err := k.RegisterVote(voter, cardId) - if err != nil { - return err - } - - switch voteType { - case types.VoteType_fairEnough: - card.FairEnoughVotes++ - case types.VoteType_inappropriate: - card.InappropriateVotes++ - case types.VoteType_overpowered: - card.OverpoweredVotes++ - case types.VoteType_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) - 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) error { - var n = 0 - - for i, vote := range votes { - err := k.voteCard(ctx, voter, vote.CardId, vote.VoteType) - if err != nil { - return err - } - n = i - } - - k.incVotesAverageBy(ctx, int64(n+1)) - - return nil -} diff --git a/x/cardchain/keeper/zealy.go b/x/cardchain/keeper/zealy.go deleted file mode 100644 index 47e6dac2..00000000 --- a/x/cardchain/keeper/zealy.go +++ /dev/null @@ -1,47 +0,0 @@ -package keeper - -import ( - "fmt" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// SetZealy Sets a zealy id -func (k Keeper) SetZealy(ctx sdk.Context, zealyId string, zealy types.Zealy) { - store := ctx.KVStore(k.zealyStoreKey) - store.Set([]byte(zealyId), k.cdc.MustMarshal(&zealy)) -} - -// GetZealy Gets a zealy from store -func (k Keeper) GetZealy(ctx sdk.Context, zealyId string) (zealy types.Zealy, err error) { - store := ctx.KVStore(k.zealyStoreKey) - bz := store.Get([]byte(zealyId)) - - if bz == nil { - err = fmt.Errorf("zealyId `%s` not in store", zealyId) - } else { - k.cdc.MustUnmarshal(bz, &zealy) - } - return -} - -// GetZealyIterator Returns an iterator for all zealys -func (k Keeper) GetZealyIterator(ctx sdk.Context) sdk.Iterator { - store := ctx.KVStore(k.zealyStoreKey) - return sdk.KVStorePrefixIterator(store, nil) -} - -// GetAllZealys Gets all zealys from store -func (k Keeper) GetAllZealys(ctx sdk.Context) (allZealys []*types.Zealy, allZealyIds []string) { - iterator := k.GetZealyIterator(ctx) - for ; iterator.Valid(); iterator.Next() { - - var gotten types.Zealy - k.cdc.MustUnmarshal(iterator.Value(), &gotten) - - allZealys = append(allZealys, &gotten) - allZealyIds = append(allZealyIds, string(iterator.Key())) - } - return -} diff --git a/x/cardchain/module.go b/x/cardchain/module.go deleted file mode 100644 index b0a92f84..00000000 --- a/x/cardchain/module.go +++ /dev/null @@ -1,180 +0,0 @@ -package cardchain - -import ( - "context" - "encoding/json" - "fmt" - - // this line is used by starport scaffolding # 1 - - "github.com/gorilla/mux" - "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/spf13/cobra" - - abci "github.com/tendermint/tendermint/abci/types" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/client/cli" - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/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 for the capability module. -type AppModuleBasic struct { - cdc codec.BinaryCodec -} - -func NewAppModuleBasic(cdc codec.BinaryCodec) AppModuleBasic { - return AppModuleBasic{cdc: cdc} -} - -// Name returns the capability module's name. -func (AppModuleBasic) Name() string { - return types.ModuleName -} - -func (AppModuleBasic) RegisterCodec(cdc *codec.LegacyAmino) { - types.RegisterCodec(cdc) -} - -func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { - types.RegisterCodec(cdc) -} - -// RegisterInterfaces registers the module's interface types -func (a AppModuleBasic) RegisterInterfaces(reg cdctypes.InterfaceRegistry) { - // reg.RegisterCustomTypeURL(types.CopyrightProposal{}, "DecentralCardGame.cardchain.cardchain.CopyrightProposal", "cardchain/copyright_proposal.proto") - types.RegisterInterfaces(reg) -} - -// DefaultGenesis returns the capability module's default genesis state. -func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage { - return cdc.MustMarshalJSON(types.DefaultGenesis()) -} - -// ValidateGenesis performs genesis state validation for the capability module. -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() -} - -// RegisterRESTRoutes registers the capability module's REST service handlers. -func (AppModuleBasic) RegisterRESTRoutes(clientCtx client.Context, rtr *mux.Router) { -} - -// 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)) - // this line is used by starport scaffolding # 2 -} - -// GetTxCmd returns the capability module's root tx command. -func (a AppModuleBasic) GetTxCmd() *cobra.Command { - return cli.GetTxCmd() -} - -// GetQueryCmd returns the capability module's root query command. -func (AppModuleBasic) GetQueryCmd() *cobra.Command { - return cli.GetQueryCmd(types.StoreKey) -} - -// ---------------------------------------------------------------------------- -// AppModule -// ---------------------------------------------------------------------------- - -// AppModule implements the AppModule interface for the capability module. -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, - } -} - -// Name returns the capability module's name. -func (am AppModule) Name() string { - return am.AppModuleBasic.Name() -} - -// Route returns the capability module's message routing key. -func (am AppModule) Route() sdk.Route { - return sdk.NewRoute(types.RouterKey, NewHandler(am.keeper)) -} - -// QuerierRoute returns the capability module's query routing key. -func (AppModule) QuerierRoute() string { return types.QuerierRoute } - -// LegacyQuerierHandler returns the capability module's Querier. -func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *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.RegisterQueryServer(cfg.QueryServer(), am.keeper) - types.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper)) // Needed for registering routes -} - -// RegisterInvariants registers the capability module's invariants. -func (am AppModule) RegisterInvariants(_ sdk.InvariantRegistry) {} - -// InitGenesis performs the capability 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 capability 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 implements ConsensusVersion. -func (AppModule) ConsensusVersion() uint64 { return 2 } - -// BeginBlock executes all ABCI BeginBlock logic respective to the capability module. -func (am AppModule) BeginBlock(_ sdk.Context, _ abci.RequestBeginBlock) {} - -// EndBlock executes all ABCI EndBlock logic respective to the capability module. It -// returns no validator updates. -func (am AppModule) EndBlock(_ sdk.Context, _ abci.RequestEndBlock) []abci.ValidatorUpdate { - return []abci.ValidatorUpdate{} -} diff --git a/x/cardchain/module_simulation.go b/x/cardchain/module_simulation.go deleted file mode 100644 index 8023581b..00000000 --- a/x/cardchain/module_simulation.go +++ /dev/null @@ -1,780 +0,0 @@ -package cardchain - -import ( - "math/rand" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - cardchainsimulation "github.com/DecentralCardGame/Cardchain/x/cardchain/simulation" - "github.com/DecentralCardGame/Cardchain/x/cardchain/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 - _ = cardchainsimulation.FindAccount - _ = simappparams.StakePerAccount - _ = simulation.MsgEntryKind - _ = baseapp.Paramspace -) - -const ( - opWeightMsgCreateuser = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgCreateuser int = 100 - - opWeightMsgBuyCardScheme = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgBuyCardScheme int = 100 - - opWeightMsgVoteCard = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgVoteCard int = 100 - - opWeightMsgSaveCardContent = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgSaveCardContent int = 100 - - opWeightMsgTransferCard = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgTransferCard int = 100 - - opWeightMsgDonateToCard = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgDonateToCard int = 100 - - opWeightMsgAddArtwork = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgAddArtwork int = 100 - - opWeightMsgSubmitCopyrightProposal = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgSubmitCopyrightProposal int = 100 - - opWeightMsgChangeArtist = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgChangeArtist int = 100 - - opWeightMsgRegisterForCouncil = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgRegisterForCouncil int = 100 - - opWeightMsgReportMatch = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgReportMatch int = 100 - - opWeightMsgSubmitMatchReporterProposal = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgSubmitMatchReporterProposal int = 100 - - opWeightMsgApointMatchReporter = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgApointMatchReporter int = 100 - - opWeightMsgCreateSet = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgCreateSet int = 100 - - opWeightMsgAddCardToSet = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgAddCardToSet int = 100 - - opWeightMsgFinalizeSet = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgFinalizeSet int = 100 - - opWeightMsgBuyBoosterPack = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgBuyBoosterPack int = 100 - - opWeightMsgRemoveCardFromSet = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgRemoveCardFromSet int = 100 - - opWeightMsgRemoveContributorFromSet = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgRemoveContributorFromSet int = 100 - - opWeightMsgAddContributorToSet = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgAddContributorToSet int = 100 - - opWeightMsgSubmitSetProposal = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgSubmitSetProposal int = 100 - - opWeightMsgCreateSellOffer = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgCreateSellOffer int = 100 - - opWeightMsgBuyCard = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgBuyCard int = 100 - - opWeightMsgRemoveSellOffer = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgRemoveSellOffer int = 100 - - opWeightMsgAddArtworkToSet = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgAddArtworkToSet int = 100 - - opWeightMsgAddStoryToSet = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgAddStoryToSet int = 100 - - opWeightMsgSetCardRarity = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgSetCardRarity int = 100 - - opWeightMsgCreateCouncil = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgCreateCouncil int = 100 - - opWeightMsgCommitCouncilResponse = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgCommitCouncilResponse int = 100 - - opWeightMsgRevealCouncilResponse = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgRevealCouncilResponse int = 100 - - opWeightMsgRestartCouncil = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgRestartCouncil int = 100 - - opWeightMsgRewokeCouncilRegistration = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgRewokeCouncilRegistration int = 100 - - opWeightMsgConfirmMatch = "op_weight_msg_create_chain" - // TODO: Determine the simulation weight value - defaultWeightMsgConfirmMatch int = 100 - - opWeightMsgSetProfileCard = "op_weight_msg_set_profile_card" - // TODO: Determine the simulation weight value - defaultWeightMsgSetProfileCard int = 100 - - opWeightMsgOpenBoosterPack = "op_weight_msg_open_booster_pack" - // TODO: Determine the simulation weight value - defaultWeightMsgOpenBoosterPack int = 100 - - opWeightMsgTransferBoosterPack = "op_weight_msg_transfer_booster_pack" - // TODO: Determine the simulation weight value - defaultWeightMsgTransferBoosterPack int = 100 - - opWeightMsgSetSetStoryWriter = "op_weight_msg_set_set_story_writer" - // TODO: Determine the simulation weight value - defaultWeightMsgSetSetStoryWriter int = 100 - - opWeightMsgSetSetArtist = "op_weight_msg_set_set_artist" - // TODO: Determine the simulation weight value - defaultWeightMsgSetSetArtist int = 100 - - opWeightMsgSetUserWebsite = "op_weight_msg_set_user_website" - // TODO: Determine the simulation weight value - defaultWeightMsgSetUserWebsite int = 100 - - opWeightMsgSetUserBiography = "op_weight_msg_set_user_biography" - // 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 - - opWeightMsgChangeAlias = "op_weight_msg_change_alias" - // TODO: Determine the simulation weight value - defaultWeightMsgChangeAlias int = 100 - - opWeightMsgInviteEarlyAccess = "op_weight_msg_invite_early_access" - // TODO: Determine the simulation weight value - defaultWeightMsgInviteEarlyAccess int = 100 - - opWeightMsgDisinviteEarlyAccess = "op_weight_msg_disinvite_early_access" - // TODO: Determine the simulation weight value - defaultWeightMsgDisinviteEarlyAccess int = 100 - - opWeightMsgConnectZealyAccount = "op_weight_msg_connect_zealy_account" - // TODO: Determine the simulation weight value - defaultWeightMsgConnectZealyAccount int = 100 - - opWeightMsgEncounterCreate = "op_weight_msg_encounter_create" - // TODO: Determine the simulation weight value - defaultWeightMsgEncounterCreate int = 100 - - opWeightMsgEncounterDo = "op_weight_msg_encounter_do" - // TODO: Determine the simulation weight value - defaultWeightMsgEncounterDo int = 100 - - opWeightMsgEncounterClose = "op_weight_msg_encounter_close" - // TODO: Determine the simulation weight value - defaultWeightMsgEncounterClose int = 100 - - // 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() - } - cardchainGenesis := types.GenesisState{ - // this line is used by starport scaffolding # simapp/module/genesisState - } - simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&cardchainGenesis) -} - -// 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) - - var weightMsgCreateuser int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCreateuser, &weightMsgCreateuser, nil, - func(_ *rand.Rand) { - weightMsgCreateuser = defaultWeightMsgCreateuser - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgCreateuser, - cardchainsimulation.SimulateMsgCreateuser(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgBuyCardScheme int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgBuyCardScheme, &weightMsgBuyCardScheme, nil, - func(_ *rand.Rand) { - weightMsgBuyCardScheme = defaultWeightMsgBuyCardScheme - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgBuyCardScheme, - cardchainsimulation.SimulateMsgBuyCardScheme(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgVoteCard int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgVoteCard, &weightMsgVoteCard, nil, - func(_ *rand.Rand) { - weightMsgVoteCard = defaultWeightMsgVoteCard - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgVoteCard, - cardchainsimulation.SimulateMsgVoteCard(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgSaveCardContent int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSaveCardContent, &weightMsgSaveCardContent, nil, - func(_ *rand.Rand) { - weightMsgSaveCardContent = defaultWeightMsgSaveCardContent - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgSaveCardContent, - cardchainsimulation.SimulateMsgSaveCardContent(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgTransferCard int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgTransferCard, &weightMsgTransferCard, nil, - func(_ *rand.Rand) { - weightMsgTransferCard = defaultWeightMsgTransferCard - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgTransferCard, - cardchainsimulation.SimulateMsgTransferCard(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgDonateToCard int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgDonateToCard, &weightMsgDonateToCard, nil, - func(_ *rand.Rand) { - weightMsgDonateToCard = defaultWeightMsgDonateToCard - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgDonateToCard, - cardchainsimulation.SimulateMsgDonateToCard(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgAddArtwork int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddArtwork, &weightMsgAddArtwork, nil, - func(_ *rand.Rand) { - weightMsgAddArtwork = defaultWeightMsgAddArtwork - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgAddArtwork, - cardchainsimulation.SimulateMsgAddArtwork(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgChangeArtist int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgChangeArtist, &weightMsgChangeArtist, nil, - func(_ *rand.Rand) { - weightMsgChangeArtist = defaultWeightMsgChangeArtist - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgChangeArtist, - cardchainsimulation.SimulateMsgChangeArtist(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgRegisterForCouncil int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgRegisterForCouncil, &weightMsgRegisterForCouncil, nil, - func(_ *rand.Rand) { - weightMsgRegisterForCouncil = defaultWeightMsgRegisterForCouncil - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgRegisterForCouncil, - cardchainsimulation.SimulateMsgRegisterForCouncil(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgReportMatch int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgReportMatch, &weightMsgReportMatch, nil, - func(_ *rand.Rand) { - weightMsgReportMatch = defaultWeightMsgReportMatch - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgReportMatch, - cardchainsimulation.SimulateMsgReportMatch(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgApointMatchReporter int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgApointMatchReporter, &weightMsgApointMatchReporter, nil, - func(_ *rand.Rand) { - weightMsgApointMatchReporter = defaultWeightMsgApointMatchReporter - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgApointMatchReporter, - cardchainsimulation.SimulateMsgApointMatchReporter(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgCreateSet int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCreateSet, &weightMsgCreateSet, nil, - func(_ *rand.Rand) { - weightMsgCreateSet = defaultWeightMsgCreateSet - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgCreateSet, - cardchainsimulation.SimulateMsgCreateSet(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgAddCardToSet int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddCardToSet, &weightMsgAddCardToSet, nil, - func(_ *rand.Rand) { - weightMsgAddCardToSet = defaultWeightMsgAddCardToSet - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgAddCardToSet, - cardchainsimulation.SimulateMsgAddCardToSet(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgFinalizeSet int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgFinalizeSet, &weightMsgFinalizeSet, nil, - func(_ *rand.Rand) { - weightMsgFinalizeSet = defaultWeightMsgFinalizeSet - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgFinalizeSet, - cardchainsimulation.SimulateMsgFinalizeSet(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgBuyBoosterPack int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgBuyBoosterPack, &weightMsgBuyBoosterPack, nil, - func(_ *rand.Rand) { - weightMsgBuyBoosterPack = defaultWeightMsgBuyBoosterPack - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgBuyBoosterPack, - cardchainsimulation.SimulateMsgBuyBoosterPack(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgRemoveCardFromSet int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgRemoveCardFromSet, &weightMsgRemoveCardFromSet, nil, - func(_ *rand.Rand) { - weightMsgRemoveCardFromSet = defaultWeightMsgRemoveCardFromSet - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgRemoveCardFromSet, - cardchainsimulation.SimulateMsgRemoveCardFromSet(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgRemoveContributorFromSet int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgRemoveContributorFromSet, &weightMsgRemoveContributorFromSet, nil, - func(_ *rand.Rand) { - weightMsgRemoveContributorFromSet = defaultWeightMsgRemoveContributorFromSet - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgRemoveContributorFromSet, - cardchainsimulation.SimulateMsgRemoveContributorFromSet(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgAddContributorToSet int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddContributorToSet, &weightMsgAddContributorToSet, nil, - func(_ *rand.Rand) { - weightMsgAddContributorToSet = defaultWeightMsgAddContributorToSet - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgAddContributorToSet, - cardchainsimulation.SimulateMsgAddContributorToSet(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgCreateSellOffer int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCreateSellOffer, &weightMsgCreateSellOffer, nil, - func(_ *rand.Rand) { - weightMsgCreateSellOffer = defaultWeightMsgCreateSellOffer - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgCreateSellOffer, - cardchainsimulation.SimulateMsgCreateSellOffer(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgBuyCard int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgBuyCard, &weightMsgBuyCard, nil, - func(_ *rand.Rand) { - weightMsgBuyCard = defaultWeightMsgBuyCard - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgBuyCard, - cardchainsimulation.SimulateMsgBuyCard(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgRemoveSellOffer int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgRemoveSellOffer, &weightMsgRemoveSellOffer, nil, - func(_ *rand.Rand) { - weightMsgRemoveSellOffer = defaultWeightMsgRemoveSellOffer - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgRemoveSellOffer, - cardchainsimulation.SimulateMsgRemoveSellOffer(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgAddArtworkToSet int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddArtworkToSet, &weightMsgAddArtworkToSet, nil, - func(_ *rand.Rand) { - weightMsgAddArtworkToSet = defaultWeightMsgAddArtworkToSet - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgAddArtworkToSet, - cardchainsimulation.SimulateMsgAddArtworkToSet(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgAddStoryToSet int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddStoryToSet, &weightMsgAddStoryToSet, nil, - func(_ *rand.Rand) { - weightMsgAddStoryToSet = defaultWeightMsgAddStoryToSet - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgAddStoryToSet, - cardchainsimulation.SimulateMsgAddStoryToSet(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgSetCardRarity int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSetCardRarity, &weightMsgSetCardRarity, nil, - func(_ *rand.Rand) { - weightMsgSetCardRarity = defaultWeightMsgSetCardRarity - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgSetCardRarity, - cardchainsimulation.SimulateMsgSetCardRarity(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgCreateCouncil int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCreateCouncil, &weightMsgCreateCouncil, nil, - func(_ *rand.Rand) { - weightMsgCreateCouncil = defaultWeightMsgCreateCouncil - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgCreateCouncil, - cardchainsimulation.SimulateMsgCreateCouncil(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgCommitCouncilResponse int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCommitCouncilResponse, &weightMsgCommitCouncilResponse, nil, - func(_ *rand.Rand) { - weightMsgCommitCouncilResponse = defaultWeightMsgCommitCouncilResponse - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgCommitCouncilResponse, - cardchainsimulation.SimulateMsgCommitCouncilResponse(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgRevealCouncilResponse int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgRevealCouncilResponse, &weightMsgRevealCouncilResponse, nil, - func(_ *rand.Rand) { - weightMsgRevealCouncilResponse = defaultWeightMsgRevealCouncilResponse - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgRevealCouncilResponse, - cardchainsimulation.SimulateMsgRevealCouncilResponse(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgRestartCouncil int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgRestartCouncil, &weightMsgRestartCouncil, nil, - func(_ *rand.Rand) { - weightMsgRestartCouncil = defaultWeightMsgRestartCouncil - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgRestartCouncil, - cardchainsimulation.SimulateMsgRestartCouncil(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgRewokeCouncilRegistration int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgRewokeCouncilRegistration, &weightMsgRewokeCouncilRegistration, nil, - func(_ *rand.Rand) { - weightMsgRewokeCouncilRegistration = defaultWeightMsgRewokeCouncilRegistration - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgRewokeCouncilRegistration, - cardchainsimulation.SimulateMsgRewokeCouncilRegistration(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgConfirmMatch int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgConfirmMatch, &weightMsgConfirmMatch, nil, - func(_ *rand.Rand) { - weightMsgConfirmMatch = defaultWeightMsgConfirmMatch - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgConfirmMatch, - cardchainsimulation.SimulateMsgConfirmMatch(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgSetProfileCard int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSetProfileCard, &weightMsgSetProfileCard, nil, - func(_ *rand.Rand) { - weightMsgSetProfileCard = defaultWeightMsgSetProfileCard - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgSetProfileCard, - cardchainsimulation.SimulateMsgSetProfileCard(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgOpenBoosterPack int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgOpenBoosterPack, &weightMsgOpenBoosterPack, nil, - func(_ *rand.Rand) { - weightMsgOpenBoosterPack = defaultWeightMsgOpenBoosterPack - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgOpenBoosterPack, - cardchainsimulation.SimulateMsgOpenBoosterPack(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgTransferBoosterPack int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgTransferBoosterPack, &weightMsgTransferBoosterPack, nil, - func(_ *rand.Rand) { - weightMsgTransferBoosterPack = defaultWeightMsgTransferBoosterPack - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgTransferBoosterPack, - cardchainsimulation.SimulateMsgTransferBoosterPack(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgSetSetStoryWriter int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSetSetStoryWriter, &weightMsgSetSetStoryWriter, nil, - func(_ *rand.Rand) { - weightMsgSetSetStoryWriter = defaultWeightMsgSetSetStoryWriter - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgSetSetStoryWriter, - cardchainsimulation.SimulateMsgSetSetStoryWriter(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgSetSetArtist int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSetSetArtist, &weightMsgSetSetArtist, nil, - func(_ *rand.Rand) { - weightMsgSetSetArtist = defaultWeightMsgSetSetArtist - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgSetSetArtist, - cardchainsimulation.SimulateMsgSetSetArtist(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgSetUserWebsite int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSetUserWebsite, &weightMsgSetUserWebsite, nil, - func(_ *rand.Rand) { - weightMsgSetUserWebsite = defaultWeightMsgSetUserWebsite - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgSetUserWebsite, - cardchainsimulation.SimulateMsgSetUserWebsite(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgSetUserBiography int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSetUserBiography, &weightMsgSetUserBiography, nil, - func(_ *rand.Rand) { - weightMsgSetUserBiography = defaultWeightMsgSetUserBiography - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgSetUserBiography, - 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), - )) - - var weightMsgChangeAlias int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgChangeAlias, &weightMsgChangeAlias, nil, - func(_ *rand.Rand) { - weightMsgChangeAlias = defaultWeightMsgChangeAlias - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgChangeAlias, - cardchainsimulation.SimulateMsgChangeAlias(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgInviteEarlyAccess int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgInviteEarlyAccess, &weightMsgInviteEarlyAccess, nil, - func(_ *rand.Rand) { - weightMsgInviteEarlyAccess = defaultWeightMsgInviteEarlyAccess - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgInviteEarlyAccess, - cardchainsimulation.SimulateMsgInviteEarlyAccess(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgDisinviteEarlyAccess int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgDisinviteEarlyAccess, &weightMsgDisinviteEarlyAccess, nil, - func(_ *rand.Rand) { - weightMsgDisinviteEarlyAccess = defaultWeightMsgDisinviteEarlyAccess - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgDisinviteEarlyAccess, - cardchainsimulation.SimulateMsgDisinviteEarlyAccess(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgConnectZealyAccount int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgConnectZealyAccount, &weightMsgConnectZealyAccount, nil, - func(_ *rand.Rand) { - weightMsgConnectZealyAccount = defaultWeightMsgConnectZealyAccount - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgConnectZealyAccount, - cardchainsimulation.SimulateMsgConnectZealyAccount(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgEncounterCreate int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgEncounterCreate, &weightMsgEncounterCreate, nil, - func(_ *rand.Rand) { - weightMsgEncounterCreate = defaultWeightMsgEncounterCreate - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgEncounterCreate, - cardchainsimulation.SimulateMsgEncounterCreate(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgEncounterDo int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgEncounterDo, &weightMsgEncounterDo, nil, - func(_ *rand.Rand) { - weightMsgEncounterDo = defaultWeightMsgEncounterDo - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgEncounterDo, - cardchainsimulation.SimulateMsgEncounterDo(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgEncounterClose int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgEncounterClose, &weightMsgEncounterClose, nil, - func(_ *rand.Rand) { - weightMsgEncounterClose = defaultWeightMsgEncounterClose - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgEncounterClose, - cardchainsimulation.SimulateMsgEncounterClose(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 deleted file mode 100644 index 555b7730..00000000 --- a/x/cardchain/proposal_handler.go +++ /dev/null @@ -1,101 +0,0 @@ -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" - "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.CopyrightProposal: - return handleCopyrightProposal(ctx, k, c) - case *types.MatchReporterProposal: - return handleMatchReporterProposal(ctx, k, c) - case *types.SetProposal: - return handleSetProposal(ctx, k, c) - case *types.EarlyAccessProposal: - return handleEarlyAccessProposal(ctx, k, c) - - default: - return sdkerrors.Wrapf(errors.ErrUnknownRequest, "unrecognized proposal content type: %T", c) - } - } -} - -func handleMatchReporterProposal(ctx sdk.Context, k keeper.Keeper, p *types.MatchReporterProposal) error { - return k.SetMatchReporter(ctx, p.Reporter) -} - -func handleCopyrightProposal(ctx sdk.Context, k keeper.Keeper, p *types.CopyrightProposal) error { - card := k.Cards.Get(ctx, p.CardId) - image := k.Images.Get(ctx, card.ImageId) - - image.Image = []byte{} - 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 handleSetProposal(ctx sdk.Context, k keeper.Keeper, p *types.SetProposal) error { - set := k.Sets.Get(ctx, p.SetId) - - if set.Status != types.CStatus_finalized { - return sdkerrors.Wrapf(types.ErrSetNotInDesign, "Set status is %s but should be finalized", set.Status) - } - - 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(activeSets, func(i, j int) bool { - return activeSets[i].Set.TimeStamp < activeSets[j].Set.TimeStamp - }, - ) - yeetStruct := activeSets[0] - yeetStruct.Set.Status = types.CStatus_archived - k.Sets.Set(ctx, yeetStruct.Id, yeetStruct.Set) - } - - set.Status = types.CStatus_active - set.TimeStamp = ctx.BlockHeight() - - k.Sets.Set(ctx, p.SetId, set) - - return nil -} - -func handleEarlyAccessProposal(ctx sdk.Context, k keeper.Keeper, p *types.EarlyAccessProposal) error { - for _, addr := range p.Users { - user, err := k.GetUserFromString(ctx, addr) - if err != nil { - return err - } - - keeper.AddEarlyAccessToUser(&user, "") - - k.SetUserFromUser(ctx, user) - } - - return nil -} - -type sortStruct struct { - Id uint64 - Set *types.Set -} diff --git a/x/cardchain/simulation/add_artwork.go b/x/cardchain/simulation/add_artwork.go deleted file mode 100644 index a87c419d..00000000 --- a/x/cardchain/simulation/add_artwork.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 SimulateMsgAddArtwork( - 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.MsgAddArtwork{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the AddArtwork simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddArtwork simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/add_artwork_to_set.go b/x/cardchain/simulation/add_artwork_to_set.go deleted file mode 100644 index a740e5c8..00000000 --- a/x/cardchain/simulation/add_artwork_to_set.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 SimulateMsgAddArtworkToSet( - 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.MsgAddArtworkToSet{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the AddArtworkToSet simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddArtworkToSet simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/add_card_to_set.go b/x/cardchain/simulation/add_card_to_set.go deleted file mode 100644 index 48ac4dce..00000000 --- a/x/cardchain/simulation/add_card_to_set.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 SimulateMsgAddCardToSet( - 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.MsgAddCardToSet{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the AddCardToSet simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddCardToSet simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/add_contributor_to_set.go b/x/cardchain/simulation/add_contributor_to_set.go deleted file mode 100644 index f9dfb601..00000000 --- a/x/cardchain/simulation/add_contributor_to_set.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 SimulateMsgAddContributorToSet( - 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.MsgAddContributorToSet{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the AddContributorToSet simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddContributorToSet simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/add_story_to_set.go b/x/cardchain/simulation/add_story_to_set.go deleted file mode 100644 index d3d6dc64..00000000 --- a/x/cardchain/simulation/add_story_to_set.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 SimulateMsgAddStoryToSet( - 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.MsgAddStoryToSet{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the AddStoryToSet simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddStoryToSet simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/apoint_match_reporter.go b/x/cardchain/simulation/apoint_match_reporter.go deleted file mode 100644 index 5bc2f59c..00000000 --- a/x/cardchain/simulation/apoint_match_reporter.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 SimulateMsgApointMatchReporter( - 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.MsgApointMatchReporter{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the ApointMatchReporter simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "ApointMatchReporter simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/buy_card.go b/x/cardchain/simulation/buy_card.go deleted file mode 100644 index 1820de2c..00000000 --- a/x/cardchain/simulation/buy_card.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 SimulateMsgBuyCard( - 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.MsgBuyCard{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the BuyCard simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "BuyCard simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/buy_card_scheme.go b/x/cardchain/simulation/buy_card_scheme.go deleted file mode 100644 index f004ad08..00000000 --- a/x/cardchain/simulation/buy_card_scheme.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 SimulateMsgBuyCardScheme( - 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.MsgBuyCardScheme{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the BuyCardScheme simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "BuyCardScheme simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/buy_set.go b/x/cardchain/simulation/buy_set.go deleted file mode 100644 index b8bad8cb..00000000 --- a/x/cardchain/simulation/buy_set.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 SimulateMsgBuyBoosterPack( - 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.MsgBuyBoosterPack{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the BuyBoosterPack simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "BuyBoosterPack simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/change_alias.go b/x/cardchain/simulation/change_alias.go deleted file mode 100644 index 98572adc..00000000 --- a/x/cardchain/simulation/change_alias.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 SimulateMsgChangeAlias( - 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.MsgChangeAlias{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the ChangeAlias simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "ChangeAlias simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/change_artist.go b/x/cardchain/simulation/change_artist.go deleted file mode 100644 index bcf26ae6..00000000 --- a/x/cardchain/simulation/change_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 SimulateMsgChangeArtist( - 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.MsgChangeArtist{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the ChangeArtist simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "ChangeArtist simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/commit_council_response.go b/x/cardchain/simulation/commit_council_response.go deleted file mode 100644 index e0f3ffa4..00000000 --- a/x/cardchain/simulation/commit_council_response.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 SimulateMsgCommitCouncilResponse( - 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.MsgCommitCouncilResponse{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the CommitCouncilResponse simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "CommitCouncilResponse simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/confirm_match.go b/x/cardchain/simulation/confirm_match.go deleted file mode 100644 index 36695796..00000000 --- a/x/cardchain/simulation/confirm_match.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 SimulateMsgConfirmMatch( - 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.MsgConfirmMatch{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the ConfirmMatch simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "ConfirmMatch simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/connect_zealy_account.go b/x/cardchain/simulation/connect_zealy_account.go deleted file mode 100644 index fd011dbc..00000000 --- a/x/cardchain/simulation/connect_zealy_account.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 SimulateMsgConnectZealyAccount( - 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.MsgConnectZealyAccount{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the ConnectZealyAccount simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "ConnectZealyAccount simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/create_council.go b/x/cardchain/simulation/create_council.go deleted file mode 100644 index 2b56f602..00000000 --- a/x/cardchain/simulation/create_council.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 SimulateMsgCreateCouncil( - 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.MsgCreateCouncil{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the CreateCouncil simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "CreateCouncil simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/create_sell_offer.go b/x/cardchain/simulation/create_sell_offer.go deleted file mode 100644 index 834583f5..00000000 --- a/x/cardchain/simulation/create_sell_offer.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 SimulateMsgCreateSellOffer( - 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.MsgCreateSellOffer{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the CreateSellOffer simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "CreateSellOffer simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/create_set.go b/x/cardchain/simulation/create_set.go deleted file mode 100644 index 80b8e098..00000000 --- a/x/cardchain/simulation/create_set.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 SimulateMsgCreateSet( - 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.MsgCreateSet{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the CreateSet simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "CreateSet simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/createuser.go b/x/cardchain/simulation/createuser.go deleted file mode 100644 index b83edd80..00000000 --- a/x/cardchain/simulation/createuser.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 SimulateMsgCreateuser( - 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.MsgCreateuser{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the Createuser simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "Createuser simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/disinvite_early_access.go b/x/cardchain/simulation/disinvite_early_access.go deleted file mode 100644 index 21249a60..00000000 --- a/x/cardchain/simulation/disinvite_early_access.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 SimulateMsgDisinviteEarlyAccess( - 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.MsgDisinviteEarlyAccess{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the DisinviteEarlyAccess simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "DisinviteEarlyAccess simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/donate_to_card.go b/x/cardchain/simulation/donate_to_card.go deleted file mode 100644 index 328a866d..00000000 --- a/x/cardchain/simulation/donate_to_card.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 SimulateMsgDonateToCard( - 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.MsgDonateToCard{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the DonateToCard simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "DonateToCard simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/encounter_close.go b/x/cardchain/simulation/encounter_close.go deleted file mode 100644 index 630fe108..00000000 --- a/x/cardchain/simulation/encounter_close.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 SimulateMsgEncounterClose( - 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.MsgEncounterClose{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the EncounterClose simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "EncounterClose simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/encounter_create.go b/x/cardchain/simulation/encounter_create.go deleted file mode 100644 index c779a80e..00000000 --- a/x/cardchain/simulation/encounter_create.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 SimulateMsgEncounterCreate( - 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.MsgEncounterCreate{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the EncounterCreate simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "EncounterCreate simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/encounter_do.go b/x/cardchain/simulation/encounter_do.go deleted file mode 100644 index 3cac5812..00000000 --- a/x/cardchain/simulation/encounter_do.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 SimulateMsgEncounterDo( - 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.MsgEncounterDo{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the EncounterDo simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "EncounterDo simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/finalize_set.go b/x/cardchain/simulation/finalize_set.go deleted file mode 100644 index cd915aed..00000000 --- a/x/cardchain/simulation/finalize_set.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 SimulateMsgFinalizeSet( - 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.MsgFinalizeSet{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the FinalizeSet simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "FinalizeSet simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/invite_early_access.go b/x/cardchain/simulation/invite_early_access.go deleted file mode 100644 index e7a6ef01..00000000 --- a/x/cardchain/simulation/invite_early_access.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 SimulateMsgInviteEarlyAccess( - 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.MsgInviteEarlyAccess{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the InviteEarlyAccess simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "InviteEarlyAccess simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/msg_open_match.go b/x/cardchain/simulation/msg_open_match.go deleted file mode 100644 index 6479acc6..00000000 --- a/x/cardchain/simulation/msg_open_match.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 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 deleted file mode 100644 index 86520652..00000000 --- a/x/cardchain/simulation/multi_vote_card.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 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/open_booster_pack.go b/x/cardchain/simulation/open_booster_pack.go deleted file mode 100644 index 92e36102..00000000 --- a/x/cardchain/simulation/open_booster_pack.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 SimulateMsgOpenBoosterPack( - 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.MsgOpenBoosterPack{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the OpenBoosterPack simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "OpenBoosterPack simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/register_for_council.go b/x/cardchain/simulation/register_for_council.go deleted file mode 100644 index 347e3ebb..00000000 --- a/x/cardchain/simulation/register_for_council.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 SimulateMsgRegisterForCouncil( - 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.MsgRegisterForCouncil{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the RegisterForCouncil simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "RegisterForCouncil simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/remove_card_from_set.go b/x/cardchain/simulation/remove_card_from_set.go deleted file mode 100644 index 94fbb2ff..00000000 --- a/x/cardchain/simulation/remove_card_from_set.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 SimulateMsgRemoveCardFromSet( - 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.MsgRemoveCardFromSet{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the RemoveCardFromSet simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "RemoveCardFromSet simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/remove_contributor_from_set.go b/x/cardchain/simulation/remove_contributor_from_set.go deleted file mode 100644 index 523f50e5..00000000 --- a/x/cardchain/simulation/remove_contributor_from_set.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 SimulateMsgRemoveContributorFromSet( - 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.MsgRemoveContributorFromSet{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the RemoveContributorFromSet simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "RemoveContributorFromSet simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/remove_sell_offer.go b/x/cardchain/simulation/remove_sell_offer.go deleted file mode 100644 index 219ff434..00000000 --- a/x/cardchain/simulation/remove_sell_offer.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 SimulateMsgRemoveSellOffer( - 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.MsgRemoveSellOffer{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the RemoveSellOffer simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "RemoveSellOffer simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/report_match.go b/x/cardchain/simulation/report_match.go deleted file mode 100644 index ddf4cb5d..00000000 --- a/x/cardchain/simulation/report_match.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 SimulateMsgReportMatch( - 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.MsgReportMatch{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the ReportMatch simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "ReportMatch simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/restart_council.go b/x/cardchain/simulation/restart_council.go deleted file mode 100644 index f9c1c606..00000000 --- a/x/cardchain/simulation/restart_council.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 SimulateMsgRestartCouncil( - 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.MsgRestartCouncil{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the RestartCouncil simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "RestartCouncil simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/reveal_council_response.go b/x/cardchain/simulation/reveal_council_response.go deleted file mode 100644 index 4989f03b..00000000 --- a/x/cardchain/simulation/reveal_council_response.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 SimulateMsgRevealCouncilResponse( - 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.MsgRevealCouncilResponse{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the RevealCouncilResponse simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "RevealCouncilResponse simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/rewoke_council_registration.go b/x/cardchain/simulation/rewoke_council_registration.go deleted file mode 100644 index 053357dd..00000000 --- a/x/cardchain/simulation/rewoke_council_registration.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 SimulateMsgRewokeCouncilRegistration( - 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.MsgRewokeCouncilRegistration{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the RewokeCouncilRegistration simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "RewokeCouncilRegistration simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/save_card_content.go b/x/cardchain/simulation/save_card_content.go deleted file mode 100644 index 7546469a..00000000 --- a/x/cardchain/simulation/save_card_content.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 SimulateMsgSaveCardContent( - 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.MsgSaveCardContent{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the SaveCardContent simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SaveCardContent simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/set_card_rarity.go b/x/cardchain/simulation/set_card_rarity.go deleted file mode 100644 index 04ffc591..00000000 --- a/x/cardchain/simulation/set_card_rarity.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 SimulateMsgSetCardRarity( - 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.MsgSetCardRarity{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the SetCardRarity simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SetCardRarity simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/set_profile_card.go b/x/cardchain/simulation/set_profile_card.go deleted file mode 100644 index 50b4bb6d..00000000 --- a/x/cardchain/simulation/set_profile_card.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 SimulateMsgSetProfileCard( - 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.MsgSetProfileCard{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the SetProfileCard simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SetProfileCard simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/set_set_artist.go b/x/cardchain/simulation/set_set_artist.go deleted file mode 100644 index d69a11e1..00000000 --- a/x/cardchain/simulation/set_set_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 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 deleted file mode 100644 index 7f8377a1..00000000 --- a/x/cardchain/simulation/set_set_name.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 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 deleted file mode 100644 index 82901c70..00000000 --- a/x/cardchain/simulation/set_set_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 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/set_user_biography.go b/x/cardchain/simulation/set_user_biography.go deleted file mode 100644 index 8cb9e600..00000000 --- a/x/cardchain/simulation/set_user_biography.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 SimulateMsgSetUserBiography( - 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.MsgSetUserBiography{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the SetUserBiography simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SetUserBiography simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/set_user_website.go b/x/cardchain/simulation/set_user_website.go deleted file mode 100644 index 9b25e65f..00000000 --- a/x/cardchain/simulation/set_user_website.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 SimulateMsgSetUserWebsite( - 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.MsgSetUserWebsite{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the SetUserWebsite simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SetUserWebsite simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/transfer_booster_pack.go b/x/cardchain/simulation/transfer_booster_pack.go deleted file mode 100644 index 0351afa0..00000000 --- a/x/cardchain/simulation/transfer_booster_pack.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 SimulateMsgTransferBoosterPack( - 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.MsgTransferBoosterPack{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the TransferBoosterPack simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "TransferBoosterPack simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/transfer_card.go b/x/cardchain/simulation/transfer_card.go deleted file mode 100644 index 9c05ca50..00000000 --- a/x/cardchain/simulation/transfer_card.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 SimulateMsgTransferCard( - 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.MsgTransferCard{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the TransferCard simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "TransferCard simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/vote_card.go b/x/cardchain/simulation/vote_card.go deleted file mode 100644 index 9d83f433..00000000 --- a/x/cardchain/simulation/vote_card.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 SimulateMsgVoteCard( - 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.MsgVoteCard{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the VoteCard simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "VoteCard simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/types/card.go b/x/cardchain/types/card.go deleted file mode 100644 index a020da83..00000000 --- a/x/cardchain/types/card.go +++ /dev/null @@ -1,10 +0,0 @@ -package types - -// ResetVotes resets a cards votes -func (card *Card) ResetVotes() { - card.Voters = []string{} - card.FairEnoughVotes = 0 - card.OverpoweredVotes = 0 - card.UnderpoweredVotes = 0 - card.InappropriateVotes = 0 -} diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go deleted file mode 100644 index b7a6e681..00000000 --- a/x/cardchain/types/card.pb.go +++ /dev/null @@ -1,2224 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/card.proto - -package types - -import ( - fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "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 - -type Status int32 - -const ( - Status_scheme Status = 0 - Status_prototype Status = 1 - Status_trial Status = 2 - Status_permanent Status = 3 - Status_suspended Status = 4 - Status_banned Status = 5 - Status_bannedSoon Status = 6 - Status_bannedVerySoon Status = 7 - Status_none Status = 8 - Status_adventureItem Status = 9 -) - -var Status_name = map[int32]string{ - 0: "scheme", - 1: "prototype", - 2: "trial", - 3: "permanent", - 4: "suspended", - 5: "banned", - 6: "bannedSoon", - 7: "bannedVerySoon", - 8: "none", - 9: "adventureItem", -} - -var Status_value = map[string]int32{ - "scheme": 0, - "prototype": 1, - "trial": 2, - "permanent": 3, - "suspended": 4, - "banned": 5, - "bannedSoon": 6, - "bannedVerySoon": 7, - "none": 8, - "adventureItem": 9, -} - -func (x Status) String() string { - return proto.EnumName(Status_name, int32(x)) -} - -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 CardClass int32 - -const ( - CardClass_nature CardClass = 0 - CardClass_culture CardClass = 1 - CardClass_mysticism CardClass = 2 - CardClass_technology CardClass = 3 -) - -var CardClass_name = map[int32]string{ - 0: "nature", - 1: "culture", - 2: "mysticism", - 3: "technology", -} - -var CardClass_value = map[string]int32{ - "nature": 0, - "culture": 1, - "mysticism": 2, - "technology": 3, -} - -func (x CardClass) String() string { - return proto.EnumName(CardClass_name, int32(x)) -} - -func (CardClass) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_a360ffd2377ddc30, []int{2} -} - -type CardType int32 - -const ( - CardType_place CardType = 0 - CardType_action CardType = 1 - CardType_entity CardType = 2 - CardType_headquarter CardType = 3 -) - -var CardType_name = map[int32]string{ - 0: "place", - 1: "action", - 2: "entity", - 3: "headquarter", -} - -var CardType_value = map[string]int32{ - "place": 0, - "action": 1, - "entity": 2, - "headquarter": 3, -} - -func (x CardType) String() string { - return proto.EnumName(CardType_name, int32(x)) -} - -func (CardType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_a360ffd2377ddc30, []int{3} -} - -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"` - Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` - ImageId uint64 `protobuf:"varint,4,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` - FullArt bool `protobuf:"varint,5,opt,name=fullArt,proto3" json:"fullArt,omitempty"` - Notes string `protobuf:"bytes,6,opt,name=notes,proto3" json:"notes,omitempty"` - Status Status `protobuf:"varint,7,opt,name=status,proto3,enum=DecentralCardGame.cardchain.cardchain.Status" json:"status,omitempty"` - VotePool github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,8,opt,name=votePool,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"votePool"` - Voters []string `protobuf:"bytes,14,rep,name=voters,proto3" json:"voters,omitempty"` - FairEnoughVotes uint64 `protobuf:"varint,9,opt,name=fairEnoughVotes,proto3" json:"fairEnoughVotes,omitempty"` - OverpoweredVotes uint64 `protobuf:"varint,10,opt,name=overpoweredVotes,proto3" json:"overpoweredVotes,omitempty"` - 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{} } -func (m *Card) String() string { return proto.CompactTextString(m) } -func (*Card) ProtoMessage() {} -func (*Card) Descriptor() ([]byte, []int) { - return fileDescriptor_a360ffd2377ddc30, []int{0} -} -func (m *Card) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Card) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Card.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 *Card) XXX_Merge(src proto.Message) { - xxx_messageInfo_Card.Merge(m, src) -} -func (m *Card) XXX_Size() int { - return m.Size() -} -func (m *Card) XXX_DiscardUnknown() { - xxx_messageInfo_Card.DiscardUnknown(m) -} - -var xxx_messageInfo_Card proto.InternalMessageInfo - -func (m *Card) GetOwner() string { - if m != nil { - return m.Owner - } - return "" -} - -func (m *Card) GetArtist() string { - if m != nil { - return m.Artist - } - return "" -} - -func (m *Card) GetContent() []byte { - if m != nil { - return m.Content - } - return nil -} - -func (m *Card) GetImageId() uint64 { - if m != nil { - return m.ImageId - } - return 0 -} - -func (m *Card) GetFullArt() bool { - if m != nil { - return m.FullArt - } - return false -} - -func (m *Card) GetNotes() string { - if m != nil { - return m.Notes - } - return "" -} - -func (m *Card) GetStatus() Status { - if m != nil { - return m.Status - } - return Status_scheme -} - -func (m *Card) GetVoters() []string { - if m != nil { - return m.Voters - } - return nil -} - -func (m *Card) GetFairEnoughVotes() uint64 { - if m != nil { - return m.FairEnoughVotes - } - return 0 -} - -func (m *Card) GetOverpoweredVotes() uint64 { - if m != nil { - return m.OverpoweredVotes - } - return 0 -} - -func (m *Card) GetUnderpoweredVotes() uint64 { - if m != nil { - return m.UnderpoweredVotes - } - return 0 -} - -func (m *Card) GetInappropriateVotes() uint64 { - if m != nil { - return m.InappropriateVotes - } - return 0 -} - -func (m *Card) GetNerflevel() int64 { - if m != nil { - return m.Nerflevel - } - 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"` - Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` - Image string `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` - FullArt bool `protobuf:"varint,5,opt,name=fullArt,proto3" json:"fullArt,omitempty"` - Notes string `protobuf:"bytes,6,opt,name=notes,proto3" json:"notes,omitempty"` - Status Status `protobuf:"varint,7,opt,name=status,proto3,enum=DecentralCardGame.cardchain.cardchain.Status" json:"status,omitempty"` - VotePool github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,8,opt,name=votePool,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"votePool"` - Voters []string `protobuf:"bytes,14,rep,name=voters,proto3" json:"voters,omitempty"` - FairEnoughVotes uint64 `protobuf:"varint,9,opt,name=fairEnoughVotes,proto3" json:"fairEnoughVotes,omitempty"` - OverpoweredVotes uint64 `protobuf:"varint,10,opt,name=overpoweredVotes,proto3" json:"overpoweredVotes,omitempty"` - 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{} } -func (m *OutpCard) String() string { return proto.CompactTextString(m) } -func (*OutpCard) ProtoMessage() {} -func (*OutpCard) Descriptor() ([]byte, []int) { - return fileDescriptor_a360ffd2377ddc30, []int{1} -} -func (m *OutpCard) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OutpCard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OutpCard.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 *OutpCard) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutpCard.Merge(m, src) -} -func (m *OutpCard) XXX_Size() int { - return m.Size() -} -func (m *OutpCard) XXX_DiscardUnknown() { - xxx_messageInfo_OutpCard.DiscardUnknown(m) -} - -var xxx_messageInfo_OutpCard proto.InternalMessageInfo - -func (m *OutpCard) GetOwner() string { - if m != nil { - return m.Owner - } - return "" -} - -func (m *OutpCard) GetArtist() string { - if m != nil { - return m.Artist - } - return "" -} - -func (m *OutpCard) GetContent() string { - if m != nil { - return m.Content - } - return "" -} - -func (m *OutpCard) GetImage() string { - if m != nil { - return m.Image - } - return "" -} - -func (m *OutpCard) GetFullArt() bool { - if m != nil { - return m.FullArt - } - return false -} - -func (m *OutpCard) GetNotes() string { - if m != nil { - return m.Notes - } - return "" -} - -func (m *OutpCard) GetStatus() Status { - if m != nil { - return m.Status - } - return Status_scheme -} - -func (m *OutpCard) GetVoters() []string { - if m != nil { - return m.Voters - } - return nil -} - -func (m *OutpCard) GetFairEnoughVotes() uint64 { - if m != nil { - return m.FairEnoughVotes - } - return 0 -} - -func (m *OutpCard) GetOverpoweredVotes() uint64 { - if m != nil { - return m.OverpoweredVotes - } - return 0 -} - -func (m *OutpCard) GetUnderpoweredVotes() uint64 { - if m != nil { - return m.UnderpoweredVotes - } - return 0 -} - -func (m *OutpCard) GetInappropriateVotes() uint64 { - if m != nil { - return m.InappropriateVotes - } - return 0 -} - -func (m *OutpCard) GetNerflevel() int64 { - if m != nil { - return m.Nerflevel - } - 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.RegisterEnum("DecentralCardGame.cardchain.cardchain.CardClass", CardClass_name, CardClass_value) - proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.CardType", CardType_name, CardType_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{ - // 792 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x55, 0x4f, 0x8f, 0xdb, 0x44, - 0x14, 0x8f, 0x37, 0x8e, 0x63, 0xbf, 0xfd, 0x37, 0x3b, 0x5a, 0x21, 0x83, 0x50, 0x6a, 0x55, 0x20, - 0x42, 0x44, 0x13, 0x01, 0x17, 0x4e, 0x48, 0x6d, 0xa8, 0xd0, 0x0a, 0x21, 0x90, 0xb7, 0xea, 0x81, - 0x0b, 0x9a, 0x8c, 0xdf, 0xc6, 0x23, 0xec, 0x19, 0x77, 0x66, 0x9c, 0x36, 0xdf, 0x82, 0x2b, 0x5f, - 0x81, 0xef, 0xc0, 0xbd, 0xc7, 0x1e, 0x11, 0x87, 0x0a, 0xed, 0x7e, 0x11, 0x34, 0xe3, 0xec, 0x66, - 0xbb, 0x8b, 0x50, 0xa5, 0xbd, 0xa1, 0x9e, 0xf2, 0x7e, 0x6f, 0xde, 0xfb, 0xbd, 0xbc, 0xf9, 0xfd, - 0x6c, 0xc3, 0x88, 0x33, 0x5d, 0xf0, 0x92, 0x09, 0x39, 0x7b, 0x33, 0x9a, 0x36, 0x5a, 0x59, 0x45, - 0x3f, 0xfe, 0x06, 0x39, 0x4a, 0xab, 0x59, 0x35, 0x67, 0xba, 0xf8, 0x96, 0xd5, 0x38, 0xbd, 0xaa, - 0xdb, 0x46, 0x1f, 0x1c, 0x2f, 0xd5, 0x52, 0xf9, 0x8e, 0x99, 0x8b, 0xba, 0xe6, 0xfb, 0xbf, 0x0f, - 0x20, 0x74, 0x6d, 0xf4, 0x18, 0x06, 0xea, 0xb9, 0x44, 0x9d, 0x06, 0x59, 0x30, 0x4e, 0xf2, 0x0e, - 0xd0, 0xf7, 0x20, 0x62, 0xda, 0x0a, 0x63, 0xd3, 0x1d, 0x9f, 0xde, 0x20, 0x9a, 0xc2, 0x90, 0x2b, - 0x69, 0x51, 0xda, 0xb4, 0x9f, 0x05, 0xe3, 0xbd, 0xfc, 0x12, 0xd2, 0xf7, 0x21, 0x16, 0x35, 0x5b, - 0xe2, 0xcf, 0xa2, 0x48, 0xc3, 0x2c, 0x18, 0x87, 0xf9, 0xd0, 0xe3, 0x93, 0xc2, 0x35, 0x9d, 0xb5, - 0x55, 0xf5, 0x50, 0xdb, 0x74, 0x90, 0x05, 0xe3, 0x38, 0xbf, 0x84, 0x6e, 0xb8, 0x54, 0x16, 0x4d, - 0x1a, 0x75, 0xc3, 0x3d, 0xa0, 0x8f, 0x21, 0x32, 0x96, 0xd9, 0xd6, 0xa4, 0xc3, 0x2c, 0x18, 0x1f, - 0x7c, 0xf1, 0x60, 0xfa, 0x56, 0x9b, 0x4e, 0x4f, 0x7d, 0x53, 0xbe, 0x69, 0xa6, 0xdf, 0x41, 0xbc, - 0x52, 0x16, 0x7f, 0x54, 0xaa, 0x4a, 0x63, 0xc7, 0xff, 0x68, 0xf6, 0xf2, 0xf5, 0xbd, 0xde, 0x5f, - 0xaf, 0xef, 0x7d, 0xb2, 0x14, 0xb6, 0x6c, 0x17, 0x53, 0xae, 0xea, 0x19, 0x57, 0xa6, 0x56, 0x66, - 0xf3, 0xf3, 0xc0, 0x14, 0xbf, 0xcc, 0xec, 0xba, 0x41, 0x33, 0x9d, 0x2b, 0x21, 0xf3, 0x2b, 0x02, - 0x77, 0x21, 0x2e, 0xd6, 0x26, 0x3d, 0xc8, 0xfa, 0xee, 0x42, 0x3a, 0x44, 0xc7, 0x70, 0x78, 0xc6, - 0x84, 0x7e, 0x2c, 0x55, 0xbb, 0x2c, 0x9f, 0xfa, 0x5d, 0x12, 0xbf, 0xfd, 0xcd, 0x34, 0x9d, 0x00, - 0x51, 0x2b, 0xd4, 0x8d, 0x7a, 0x8e, 0x1a, 0x8b, 0xae, 0x14, 0x7c, 0xe9, 0xad, 0x3c, 0xfd, 0x0c, - 0x8e, 0x5a, 0x59, 0xdc, 0x28, 0xde, 0xf5, 0xc5, 0xb7, 0x0f, 0xe8, 0x14, 0xa8, 0x90, 0xac, 0x69, - 0xb4, 0x6a, 0xb4, 0x60, 0x16, 0xbb, 0xf2, 0x3d, 0x5f, 0xfe, 0x2f, 0x27, 0xf4, 0x43, 0x48, 0x24, - 0xea, 0xb3, 0x0a, 0x57, 0x58, 0xa5, 0xfb, 0x59, 0x30, 0xee, 0xe7, 0xdb, 0x04, 0xfd, 0x08, 0xf6, - 0x17, 0xac, 0x62, 0x92, 0xe3, 0x43, 0xc9, 0x4b, 0xa5, 0xd3, 0x43, 0xaf, 0xd9, 0x9b, 0x49, 0x9a, - 0xc1, 0xae, 0xb1, 0x4c, 0x5b, 0xd4, 0x4e, 0x92, 0x94, 0xf8, 0x9a, 0xeb, 0x29, 0x7a, 0x02, 0x91, - 0x66, 0x5a, 0xd8, 0x75, 0x7a, 0xe4, 0x55, 0xfc, 0xfc, 0x2d, 0x55, 0x74, 0x87, 0xb9, 0x6f, 0xcc, - 0x37, 0x04, 0xf7, 0xff, 0x18, 0x40, 0xfc, 0x43, 0x6b, 0x9b, 0xbb, 0x1b, 0x36, 0xd9, 0x1a, 0xf6, - 0x18, 0x06, 0xde, 0xa0, 0xde, 0xad, 0x49, 0xde, 0x81, 0x77, 0x5e, 0xfd, 0x1f, 0x7a, 0x95, 0x42, - 0x58, 0x32, 0x53, 0x7a, 0x93, 0x26, 0xb9, 0x8f, 0x6f, 0xfa, 0xf7, 0xe8, 0xbf, 0xfc, 0x4b, 0xef, - 0xea, 0xdf, 0x4f, 0x21, 0x79, 0x22, 0x6a, 0x3c, 0xb5, 0xac, 0x6e, 0xdc, 0x46, 0xf6, 0x12, 0x78, - 0x0f, 0x87, 0xf9, 0x36, 0x31, 0xf9, 0x2d, 0x80, 0xa8, 0xf3, 0x06, 0x05, 0x88, 0x0c, 0x2f, 0xb1, - 0x46, 0xd2, 0xa3, 0xfb, 0x90, 0xf8, 0xf7, 0xb6, 0xd3, 0x9b, 0x04, 0x34, 0x81, 0x81, 0xd5, 0x82, - 0x55, 0x64, 0xc7, 0x9f, 0xa0, 0xae, 0x99, 0x44, 0x69, 0x49, 0xdf, 0x41, 0xd3, 0x9a, 0x06, 0x65, - 0x81, 0x05, 0x09, 0x1d, 0xc7, 0x82, 0x49, 0x89, 0x05, 0x19, 0xd0, 0x03, 0x80, 0x2e, 0x3e, 0x55, - 0x4a, 0x92, 0x88, 0x52, 0x38, 0xe8, 0xf0, 0x53, 0xd4, 0x6b, 0x9f, 0x1b, 0xd2, 0x18, 0x42, 0xa9, - 0x24, 0x92, 0x98, 0x1e, 0xc1, 0x3e, 0x2b, 0x56, 0x28, 0x6d, 0xab, 0xf1, 0xc4, 0x62, 0x4d, 0x92, - 0xc9, 0xf7, 0x00, 0xdb, 0xe5, 0x1c, 0x35, 0x57, 0x75, 0xad, 0x24, 0xe9, 0xd1, 0x3d, 0x88, 0x5b, - 0xb9, 0x41, 0x81, 0x23, 0xd1, 0x4c, 0x23, 0xd9, 0xa1, 0x87, 0xb0, 0x8b, 0x2f, 0x38, 0x36, 0x56, - 0x28, 0xc9, 0x2a, 0xd2, 0x77, 0x4d, 0xad, 0x14, 0xcf, 0x5a, 0x24, 0xe1, 0x64, 0x0e, 0x89, 0xa3, - 0x9b, 0x57, 0xcc, 0xf8, 0x65, 0x25, 0x73, 0xb3, 0x48, 0x8f, 0xee, 0xc2, 0x90, 0xb7, 0x95, 0x07, - 0x81, 0x5b, 0xa8, 0x5e, 0x1b, 0x2b, 0xb8, 0x30, 0x35, 0xd9, 0x71, 0x4b, 0x58, 0xe4, 0xa5, 0x54, - 0x95, 0x5a, 0xae, 0x49, 0x7f, 0xf2, 0x35, 0xc4, 0x8e, 0xe4, 0xc9, 0xba, 0x41, 0x77, 0x2b, 0x4d, - 0xc5, 0xb8, 0xa3, 0x00, 0x88, 0x18, 0x77, 0x53, 0x49, 0xe0, 0x62, 0x94, 0x56, 0xd8, 0x75, 0xf7, - 0x87, 0x4a, 0x64, 0xc5, 0xb3, 0xd6, 0xeb, 0x4c, 0xfa, 0x8f, 0xf2, 0x97, 0xe7, 0xa3, 0xe0, 0xd5, - 0xf9, 0x28, 0xf8, 0xfb, 0x7c, 0x14, 0xfc, 0x7a, 0x31, 0xea, 0xbd, 0xba, 0x18, 0xf5, 0xfe, 0xbc, - 0x18, 0xf5, 0x7e, 0xfa, 0xea, 0xda, 0x83, 0x77, 0x4b, 0xf9, 0xd9, 0xfc, 0xea, 0x8b, 0xfc, 0xe2, - 0xda, 0xd7, 0xd9, 0x3f, 0x8e, 0x8b, 0xc8, 0x4b, 0xf5, 0xe5, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, - 0xc3, 0xca, 0x6a, 0x0a, 0xc1, 0x07, 0x00, 0x00, -} - -func (m *Card) 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 *Card) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Card) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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]) - copy(dAtA[i:], m.Voters[iNdEx]) - i = encodeVarintCard(dAtA, i, uint64(len(m.Voters[iNdEx]))) - i-- - dAtA[i] = 0x72 - } - } - if m.Nerflevel != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.Nerflevel)) - i-- - dAtA[i] = 0x68 - } - if m.InappropriateVotes != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.InappropriateVotes)) - i-- - dAtA[i] = 0x60 - } - if m.UnderpoweredVotes != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.UnderpoweredVotes)) - i-- - dAtA[i] = 0x58 - } - if m.OverpoweredVotes != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.OverpoweredVotes)) - i-- - dAtA[i] = 0x50 - } - if m.FairEnoughVotes != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.FairEnoughVotes)) - i-- - dAtA[i] = 0x48 - } - { - size := m.VotePool.Size() - i -= size - if _, err := m.VotePool.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintCard(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x42 - if m.Status != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.Status)) - i-- - dAtA[i] = 0x38 - } - if len(m.Notes) > 0 { - i -= len(m.Notes) - copy(dAtA[i:], m.Notes) - i = encodeVarintCard(dAtA, i, uint64(len(m.Notes))) - i-- - dAtA[i] = 0x32 - } - if m.FullArt { - i-- - if m.FullArt { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x28 - } - if m.ImageId != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.ImageId)) - i-- - dAtA[i] = 0x20 - } - if len(m.Content) > 0 { - i -= len(m.Content) - copy(dAtA[i:], m.Content) - i = encodeVarintCard(dAtA, i, uint64(len(m.Content))) - i-- - dAtA[i] = 0x1a - } - if len(m.Artist) > 0 { - i -= len(m.Artist) - copy(dAtA[i:], m.Artist) - i = encodeVarintCard(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x12 - } - if len(m.Owner) > 0 { - i -= len(m.Owner) - copy(dAtA[i:], m.Owner) - i = encodeVarintCard(dAtA, i, uint64(len(m.Owner))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *OutpCard) 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 *OutpCard) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *OutpCard) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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]) - copy(dAtA[i:], m.Voters[iNdEx]) - i = encodeVarintCard(dAtA, i, uint64(len(m.Voters[iNdEx]))) - i-- - dAtA[i] = 0x72 - } - } - if m.Nerflevel != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.Nerflevel)) - i-- - dAtA[i] = 0x68 - } - if m.InappropriateVotes != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.InappropriateVotes)) - i-- - dAtA[i] = 0x60 - } - if m.UnderpoweredVotes != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.UnderpoweredVotes)) - i-- - dAtA[i] = 0x58 - } - if m.OverpoweredVotes != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.OverpoweredVotes)) - i-- - dAtA[i] = 0x50 - } - if m.FairEnoughVotes != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.FairEnoughVotes)) - i-- - dAtA[i] = 0x48 - } - { - size := m.VotePool.Size() - i -= size - if _, err := m.VotePool.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintCard(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x42 - if m.Status != 0 { - i = encodeVarintCard(dAtA, i, uint64(m.Status)) - i-- - dAtA[i] = 0x38 - } - if len(m.Notes) > 0 { - i -= len(m.Notes) - copy(dAtA[i:], m.Notes) - i = encodeVarintCard(dAtA, i, uint64(len(m.Notes))) - i-- - dAtA[i] = 0x32 - } - if m.FullArt { - i-- - if m.FullArt { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x28 - } - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintCard(dAtA, i, uint64(len(m.Image))) - i-- - dAtA[i] = 0x22 - } - if len(m.Content) > 0 { - i -= len(m.Content) - copy(dAtA[i:], m.Content) - i = encodeVarintCard(dAtA, i, uint64(len(m.Content))) - i-- - dAtA[i] = 0x1a - } - if len(m.Artist) > 0 { - i -= len(m.Artist) - copy(dAtA[i:], m.Artist) - i = encodeVarintCard(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x12 - } - if len(m.Owner) > 0 { - i -= len(m.Owner) - copy(dAtA[i:], m.Owner) - i = encodeVarintCard(dAtA, i, uint64(len(m.Owner))) - i-- - dAtA[i] = 0xa - } - 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 - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Card) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovCard(uint64(l)) - } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovCard(uint64(l)) - } - l = len(m.Content) - if l > 0 { - n += 1 + l + sovCard(uint64(l)) - } - if m.ImageId != 0 { - n += 1 + sovCard(uint64(m.ImageId)) - } - if m.FullArt { - n += 2 - } - l = len(m.Notes) - if l > 0 { - n += 1 + l + sovCard(uint64(l)) - } - if m.Status != 0 { - n += 1 + sovCard(uint64(m.Status)) - } - l = m.VotePool.Size() - n += 1 + l + sovCard(uint64(l)) - if m.FairEnoughVotes != 0 { - n += 1 + sovCard(uint64(m.FairEnoughVotes)) - } - if m.OverpoweredVotes != 0 { - n += 1 + sovCard(uint64(m.OverpoweredVotes)) - } - if m.UnderpoweredVotes != 0 { - n += 1 + sovCard(uint64(m.UnderpoweredVotes)) - } - if m.InappropriateVotes != 0 { - n += 1 + sovCard(uint64(m.InappropriateVotes)) - } - if m.Nerflevel != 0 { - n += 1 + sovCard(uint64(m.Nerflevel)) - } - if len(m.Voters) > 0 { - for _, s := range m.Voters { - l = len(s) - 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 -} - -func (m *OutpCard) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovCard(uint64(l)) - } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovCard(uint64(l)) - } - l = len(m.Content) - if l > 0 { - n += 1 + l + sovCard(uint64(l)) - } - l = len(m.Image) - if l > 0 { - n += 1 + l + sovCard(uint64(l)) - } - if m.FullArt { - n += 2 - } - l = len(m.Notes) - if l > 0 { - n += 1 + l + sovCard(uint64(l)) - } - if m.Status != 0 { - n += 1 + sovCard(uint64(m.Status)) - } - l = m.VotePool.Size() - n += 1 + l + sovCard(uint64(l)) - if m.FairEnoughVotes != 0 { - n += 1 + sovCard(uint64(m.FairEnoughVotes)) - } - if m.OverpoweredVotes != 0 { - n += 1 + sovCard(uint64(m.OverpoweredVotes)) - } - if m.UnderpoweredVotes != 0 { - n += 1 + sovCard(uint64(m.UnderpoweredVotes)) - } - if m.InappropriateVotes != 0 { - n += 1 + sovCard(uint64(m.InappropriateVotes)) - } - if m.Nerflevel != 0 { - n += 1 + sovCard(uint64(m.Nerflevel)) - } - if len(m.Voters) > 0 { - for _, s := range m.Voters { - l = len(s) - 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 -} - -func sovCard(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozCard(x uint64) (n int) { - return sovCard(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Card) 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: Card: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Card: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Owner", 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.Owner = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - 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 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.Artist = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - 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 ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthCard - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthCard - } - 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 != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ImageId", wireType) - } - m.ImageId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ImageId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - 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 ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.FullArt = bool(v != 0) - case 6: - 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 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.Notes = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - m.Status = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Status |= Status(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VotePool", 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 - } - if err := m.VotePool.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 9: - 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 ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.FairEnoughVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 10: - 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 ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OverpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 11: - 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 ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.UnderpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 12: - 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 ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.InappropriateVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 13: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Nerflevel", wireType) - } - m.Nerflevel = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Nerflevel |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 14: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Voters", 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.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:]) - 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 *OutpCard) 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: OutpCard: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: OutpCard: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Owner", 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.Owner = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - 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 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.Artist = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Content", 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.Content = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Image", 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.Image = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - 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 ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.FullArt = bool(v != 0) - case 6: - 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 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.Notes = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - m.Status = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Status |= Status(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VotePool", 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 - } - if err := m.VotePool.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 9: - 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 ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.FairEnoughVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 10: - 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 ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OverpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 11: - 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 ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.UnderpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 12: - 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 ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.InappropriateVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 13: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Nerflevel", wireType) - } - m.Nerflevel = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Nerflevel |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 14: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Voters", 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.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:]) - 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 skipCard(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, ErrIntOverflowCard - } - 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, ErrIntOverflowCard - } - 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, ErrIntOverflowCard - } - 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, ErrInvalidLengthCard - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupCard - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthCard - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthCard = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowCard = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupCard = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go deleted file mode 100644 index e7a5ac6e..00000000 --- a/x/cardchain/types/codec.go +++ /dev/null @@ -1,228 +0,0 @@ -package types - -import ( - "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/msgservice" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" -) - -func RegisterCodec(cdc *codec.LegacyAmino) { - cdc.RegisterConcrete(&MsgCreateuser{}, "cardchain/Createuser", nil) - cdc.RegisterConcrete(&MsgBuyCardScheme{}, "cardchain/BuyCardScheme", nil) - cdc.RegisterConcrete(&MsgVoteCard{}, "cardchain/VoteCard", nil) - cdc.RegisterConcrete(&MsgSaveCardContent{}, "cardchain/SaveCardContent", nil) - cdc.RegisterConcrete(&MsgTransferCard{}, "cardchain/TransferCard", nil) - cdc.RegisterConcrete(&MsgDonateToCard{}, "cardchain/DonateToCard", nil) - cdc.RegisterConcrete(&MsgAddArtwork{}, "cardchain/AddArtwork", nil) - cdc.RegisterConcrete(&CopyrightProposal{}, "cardchain/CopyrightProposal", nil) - cdc.RegisterConcrete(&EarlyAccessProposal{}, "cardchain/EarlyAccessProposal", nil) - cdc.RegisterConcrete(&MatchReporterProposal{}, "cardchain/MatchReporterProposal", 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(&MsgApointMatchReporter{}, "cardchain/ApointMatchReporter", 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(&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) - cdc.RegisterConcrete(&MsgRevealCouncilResponse{}, "cardchain/RevealCouncilResponse", nil) - cdc.RegisterConcrete(&MsgRestartCouncil{}, "cardchain/RestartCouncil", nil) - cdc.RegisterConcrete(&MsgRewokeCouncilRegistration{}, "cardchain/RewokeCouncilRegistration", nil) - cdc.RegisterConcrete(&MsgConfirmMatch{}, "cardchain/ConfirmMatch", nil) - cdc.RegisterConcrete(&MsgSetProfileCard{}, "cardchain/SetProfileCard", nil) - cdc.RegisterConcrete(&MsgOpenBoosterPack{}, "cardchain/OpenBoosterPack", nil) - cdc.RegisterConcrete(&MsgTransferBoosterPack{}, "cardchain/TransferBoosterPack", 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) - cdc.RegisterConcrete(&MsgChangeAlias{}, "cardchain/ChangeAlias", nil) - cdc.RegisterConcrete(&MsgInviteEarlyAccess{}, "cardchain/InviteEarlyAccess", nil) - cdc.RegisterConcrete(&MsgDisinviteEarlyAccess{}, "cardchain/DisinviteEarlyAccess", nil) - cdc.RegisterConcrete(&MsgConnectZealyAccount{}, "cardchain/ConnectZealyAccount", nil) - cdc.RegisterConcrete(&MsgEncounterCreate{}, "cardchain/EncounterCreate", nil) - cdc.RegisterConcrete(&MsgEncounterDo{}, "cardchain/EncounterDo", nil) - cdc.RegisterConcrete(&MsgEncounterClose{}, "cardchain/EncounterClose", nil) - // this line is used by starport scaffolding # 2 -} - -func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgCreateuser{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgBuyCardScheme{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgVoteCard{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSaveCardContent{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgTransferCard{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgDonateToCard{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgAddArtwork{}, - ) - registry.RegisterImplementations((*govtypes.Content)(nil), - &CopyrightProposal{}, - ) - registry.RegisterImplementations((*govtypes.Content)(nil), - &MatchReporterProposal{}, - ) - registry.RegisterImplementations((*govtypes.Content)(nil), - &SetProposal{}, - ) - registry.RegisterImplementations((*govtypes.Content)(nil), - &EarlyAccessProposal{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgChangeArtist{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgRegisterForCouncil{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgReportMatch{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgApointMatchReporter{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgCreateSet{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgAddCardToSet{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgFinalizeSet{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgBuyBoosterPack{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgRemoveCardFromSet{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgRemoveContributorFromSet{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgAddContributorToSet{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgCreateSellOffer{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgBuyCard{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgRemoveSellOffer{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgAddArtworkToSet{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgAddStoryToSet{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSetCardRarity{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgCreateCouncil{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgCommitCouncilResponse{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgRevealCouncilResponse{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgRestartCouncil{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgRewokeCouncilRegistration{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgConfirmMatch{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSetProfileCard{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgOpenBoosterPack{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgTransferBoosterPack{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSetSetStoryWriter{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSetSetArtist{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSetUserWebsite{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSetUserBiography{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgMultiVoteCard{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgOpenMatch{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSetSetName{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgChangeAlias{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgInviteEarlyAccess{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgDisinviteEarlyAccess{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgConnectZealyAccount{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgEncounterCreate{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgEncounterDo{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgEncounterClose{}, - ) - // this line is used by starport scaffolding # 3 - - msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) -} - -var ( - Amino = codec.NewLegacyAmino() - ModuleCdc = codec.NewProtoCodec(cdctypes.NewInterfaceRegistry()) -) diff --git a/x/cardchain/types/copyright_proposal.pb.go b/x/cardchain/types/copyright_proposal.pb.go deleted file mode 100644 index 0e0c3248..00000000 --- a/x/cardchain/types/copyright_proposal.pb.go +++ /dev/null @@ -1,459 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/copyright_proposal.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 - -type CopyrightProposal 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"` - Link string `protobuf:"bytes,3,opt,name=link,proto3" json:"link,omitempty"` - CardId uint64 `protobuf:"varint,4,opt,name=cardId,proto3" json:"cardId,omitempty"` -} - -func (m *CopyrightProposal) Reset() { *m = CopyrightProposal{} } -func (m *CopyrightProposal) String() string { return proto.CompactTextString(m) } -func (*CopyrightProposal) ProtoMessage() {} -func (*CopyrightProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_48a3a807ac2154f2, []int{0} -} -func (m *CopyrightProposal) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *CopyrightProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_CopyrightProposal.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 *CopyrightProposal) XXX_Merge(src proto.Message) { - xxx_messageInfo_CopyrightProposal.Merge(m, src) -} -func (m *CopyrightProposal) XXX_Size() int { - return m.Size() -} -func (m *CopyrightProposal) XXX_DiscardUnknown() { - xxx_messageInfo_CopyrightProposal.DiscardUnknown(m) -} - -var xxx_messageInfo_CopyrightProposal proto.InternalMessageInfo - -func (m *CopyrightProposal) GetTitle() string { - if m != nil { - return m.Title - } - return "" -} - -func (m *CopyrightProposal) GetDescription() string { - if m != nil { - return m.Description - } - return "" -} - -func (m *CopyrightProposal) GetLink() string { - if m != nil { - return m.Link - } - return "" -} - -func (m *CopyrightProposal) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func init() { - proto.RegisterType((*CopyrightProposal)(nil), "DecentralCardGame.cardchain.cardchain.CopyrightProposal") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/copyright_proposal.proto", fileDescriptor_48a3a807ac2154f2) -} - -var fileDescriptor_48a3a807ac2154f2 = []byte{ - // 238 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x49, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0x62, 0xe5, 0x17, 0x54, 0x16, 0x65, 0xa6, 0x67, 0x94, - 0xc4, 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, 0x75, 0x21, 0x58, 0x52, 0x22, 0xe9, 0xf9, 0xe9, 0xf9, 0x60, 0x1d, 0xfa, - 0x20, 0x16, 0x44, 0xb3, 0x52, 0x39, 0x97, 0xa0, 0x33, 0xcc, 0xe0, 0x00, 0xa8, 0xb9, 0x42, 0x22, - 0x5c, 0xac, 0x25, 0x99, 0x25, 0x39, 0xa9, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0x10, 0x8e, - 0x90, 0x02, 0x17, 0x77, 0x4a, 0x6a, 0x71, 0x72, 0x51, 0x66, 0x41, 0x49, 0x66, 0x7e, 0x9e, 0x04, - 0x13, 0x58, 0x0e, 0x59, 0x48, 0x48, 0x88, 0x8b, 0x25, 0x27, 0x33, 0x2f, 0x5b, 0x82, 0x19, 0x2c, - 0x05, 0x66, 0x0b, 0x89, 0x71, 0xb1, 0x81, 0xdc, 0xe0, 0x99, 0x22, 0xc1, 0xa2, 0xc0, 0xa8, 0xc1, - 0x12, 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, 0x86, 0xd7, 0xf4, 0x9d, - 0xe1, 0x01, 0x52, 0x81, 0x14, 0x38, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, 0x3f, 0x19, - 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x2a, 0x8b, 0x2d, 0xce, 0x40, 0x01, 0x00, 0x00, -} - -func (m *CopyrightProposal) 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 *CopyrightProposal) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *CopyrightProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CardId != 0 { - i = encodeVarintCopyrightProposal(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x20 - } - if len(m.Link) > 0 { - i -= len(m.Link) - copy(dAtA[i:], m.Link) - i = encodeVarintCopyrightProposal(dAtA, i, uint64(len(m.Link))) - i-- - dAtA[i] = 0x1a - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = encodeVarintCopyrightProposal(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 = encodeVarintCopyrightProposal(dAtA, i, uint64(len(m.Title))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintCopyrightProposal(dAtA []byte, offset int, v uint64) int { - offset -= sovCopyrightProposal(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *CopyrightProposal) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Title) - if l > 0 { - n += 1 + l + sovCopyrightProposal(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + sovCopyrightProposal(uint64(l)) - } - l = len(m.Link) - if l > 0 { - n += 1 + l + sovCopyrightProposal(uint64(l)) - } - if m.CardId != 0 { - n += 1 + sovCopyrightProposal(uint64(m.CardId)) - } - return n -} - -func sovCopyrightProposal(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozCopyrightProposal(x uint64) (n int) { - return sovCopyrightProposal(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *CopyrightProposal) 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 ErrIntOverflowCopyrightProposal - } - 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: CopyrightProposal: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CopyrightProposal: 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 ErrIntOverflowCopyrightProposal - } - 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 ErrInvalidLengthCopyrightProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthCopyrightProposal - } - 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 ErrIntOverflowCopyrightProposal - } - 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 ErrInvalidLengthCopyrightProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthCopyrightProposal - } - 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 Link", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCopyrightProposal - } - 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 ErrInvalidLengthCopyrightProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthCopyrightProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Link = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - 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 ErrIntOverflowCopyrightProposal - } - 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 := skipCopyrightProposal(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthCopyrightProposal - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipCopyrightProposal(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, ErrIntOverflowCopyrightProposal - } - 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, ErrIntOverflowCopyrightProposal - } - 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, ErrIntOverflowCopyrightProposal - } - 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, ErrInvalidLengthCopyrightProposal - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupCopyrightProposal - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthCopyrightProposal - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthCopyrightProposal = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowCopyrightProposal = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupCopyrightProposal = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/council.pb.go b/x/cardchain/types/council.pb.go deleted file mode 100644 index 78a4afd0..00000000 --- a/x/cardchain/types/council.pb.go +++ /dev/null @@ -1,1163 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/council.proto - -package types - -import ( - fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "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 - -type Response int32 - -const ( - Response_Yes Response = 0 - Response_No Response = 1 - Response_Suggestion Response = 2 -) - -var Response_name = map[int32]string{ - 0: "Yes", - 1: "No", - 2: "Suggestion", -} - -var Response_value = map[string]int32{ - "Yes": 0, - "No": 1, - "Suggestion": 2, -} - -func (x Response) String() string { - return proto.EnumName(Response_name, int32(x)) -} - -func (Response) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_fcd39b22a840d084, []int{0} -} - -type CouncelingStatus int32 - -const ( - CouncelingStatus_councilOpen CouncelingStatus = 0 - CouncelingStatus_councilCreated CouncelingStatus = 1 - CouncelingStatus_councilClosed CouncelingStatus = 2 - CouncelingStatus_commited CouncelingStatus = 3 - CouncelingStatus_revealed CouncelingStatus = 4 - CouncelingStatus_suggestionsMade CouncelingStatus = 5 -) - -var CouncelingStatus_name = map[int32]string{ - 0: "councilOpen", - 1: "councilCreated", - 2: "councilClosed", - 3: "commited", - 4: "revealed", - 5: "suggestionsMade", -} - -var CouncelingStatus_value = map[string]int32{ - "councilOpen": 0, - "councilCreated": 1, - "councilClosed": 2, - "commited": 3, - "revealed": 4, - "suggestionsMade": 5, -} - -func (x CouncelingStatus) String() string { - return proto.EnumName(CouncelingStatus_name, int32(x)) -} - -func (CouncelingStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_fcd39b22a840d084, []int{1} -} - -type Council struct { - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` - Voters []string `protobuf:"bytes,2,rep,name=voters,proto3" json:"voters,omitempty"` - HashResponses []*WrapHashResponse `protobuf:"bytes,3,rep,name=hashResponses,proto3" json:"hashResponses,omitempty"` - ClearResponses []*WrapClearResponse `protobuf:"bytes,4,rep,name=clearResponses,proto3" json:"clearResponses,omitempty"` - Treasury github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,5,opt,name=treasury,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"treasury"` - Status CouncelingStatus `protobuf:"varint,6,opt,name=status,proto3,enum=DecentralCardGame.cardchain.cardchain.CouncelingStatus" json:"status,omitempty"` - TrialStart uint64 `protobuf:"varint,7,opt,name=trialStart,proto3" json:"trialStart,omitempty"` -} - -func (m *Council) Reset() { *m = Council{} } -func (m *Council) String() string { return proto.CompactTextString(m) } -func (*Council) ProtoMessage() {} -func (*Council) Descriptor() ([]byte, []int) { - return fileDescriptor_fcd39b22a840d084, []int{0} -} -func (m *Council) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Council) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Council.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 *Council) XXX_Merge(src proto.Message) { - xxx_messageInfo_Council.Merge(m, src) -} -func (m *Council) XXX_Size() int { - return m.Size() -} -func (m *Council) XXX_DiscardUnknown() { - xxx_messageInfo_Council.DiscardUnknown(m) -} - -var xxx_messageInfo_Council proto.InternalMessageInfo - -func (m *Council) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *Council) GetVoters() []string { - if m != nil { - return m.Voters - } - return nil -} - -func (m *Council) GetHashResponses() []*WrapHashResponse { - if m != nil { - return m.HashResponses - } - return nil -} - -func (m *Council) GetClearResponses() []*WrapClearResponse { - if m != nil { - return m.ClearResponses - } - return nil -} - -func (m *Council) GetStatus() CouncelingStatus { - if m != nil { - return m.Status - } - return CouncelingStatus_councilOpen -} - -func (m *Council) GetTrialStart() uint64 { - if m != nil { - return m.TrialStart - } - return 0 -} - -type WrapClearResponse struct { - User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` - Response Response `protobuf:"varint,2,opt,name=response,proto3,enum=DecentralCardGame.cardchain.cardchain.Response" json:"response,omitempty"` - Suggestion string `protobuf:"bytes,3,opt,name=suggestion,proto3" json:"suggestion,omitempty"` -} - -func (m *WrapClearResponse) Reset() { *m = WrapClearResponse{} } -func (m *WrapClearResponse) String() string { return proto.CompactTextString(m) } -func (*WrapClearResponse) ProtoMessage() {} -func (*WrapClearResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_fcd39b22a840d084, []int{1} -} -func (m *WrapClearResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *WrapClearResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_WrapClearResponse.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 *WrapClearResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_WrapClearResponse.Merge(m, src) -} -func (m *WrapClearResponse) XXX_Size() int { - return m.Size() -} -func (m *WrapClearResponse) XXX_DiscardUnknown() { - xxx_messageInfo_WrapClearResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_WrapClearResponse proto.InternalMessageInfo - -func (m *WrapClearResponse) GetUser() string { - if m != nil { - return m.User - } - return "" -} - -func (m *WrapClearResponse) GetResponse() Response { - if m != nil { - return m.Response - } - return Response_Yes -} - -func (m *WrapClearResponse) GetSuggestion() string { - if m != nil { - return m.Suggestion - } - return "" -} - -type WrapHashResponse struct { - User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` - Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` -} - -func (m *WrapHashResponse) Reset() { *m = WrapHashResponse{} } -func (m *WrapHashResponse) String() string { return proto.CompactTextString(m) } -func (*WrapHashResponse) ProtoMessage() {} -func (*WrapHashResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_fcd39b22a840d084, []int{2} -} -func (m *WrapHashResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *WrapHashResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_WrapHashResponse.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 *WrapHashResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_WrapHashResponse.Merge(m, src) -} -func (m *WrapHashResponse) XXX_Size() int { - return m.Size() -} -func (m *WrapHashResponse) XXX_DiscardUnknown() { - xxx_messageInfo_WrapHashResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_WrapHashResponse proto.InternalMessageInfo - -func (m *WrapHashResponse) GetUser() string { - if m != nil { - return m.User - } - return "" -} - -func (m *WrapHashResponse) GetHash() string { - if m != nil { - return m.Hash - } - return "" -} - -func init() { - proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.Response", Response_name, Response_value) - proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.CouncelingStatus", CouncelingStatus_name, CouncelingStatus_value) - proto.RegisterType((*Council)(nil), "DecentralCardGame.cardchain.cardchain.Council") - proto.RegisterType((*WrapClearResponse)(nil), "DecentralCardGame.cardchain.cardchain.WrapClearResponse") - proto.RegisterType((*WrapHashResponse)(nil), "DecentralCardGame.cardchain.cardchain.WrapHashResponse") -} - -func init() { proto.RegisterFile("cardchain/cardchain/council.proto", fileDescriptor_fcd39b22a840d084) } - -var fileDescriptor_fcd39b22a840d084 = []byte{ - // 520 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xcd, 0x6e, 0xd3, 0x40, - 0x10, 0xc7, 0xed, 0x38, 0xcd, 0xc7, 0x94, 0xa6, 0xdb, 0x05, 0x21, 0x8b, 0x83, 0x1b, 0x22, 0x21, - 0xa2, 0x22, 0x6c, 0x09, 0x0e, 0x54, 0x1c, 0x6b, 0x24, 0x40, 0x08, 0x2a, 0x6d, 0x0e, 0x08, 0x24, - 0x24, 0xb6, 0xf6, 0xc8, 0xb1, 0x70, 0xbc, 0xd1, 0xee, 0xba, 0xa2, 0xe2, 0x25, 0x38, 0xf0, 0x30, - 0x3c, 0x42, 0x8f, 0x3d, 0x22, 0x0e, 0x15, 0x4a, 0x5e, 0x04, 0x79, 0x6b, 0x1c, 0x93, 0x72, 0x08, - 0x27, 0xcf, 0x8e, 0x67, 0x7e, 0xfb, 0x9f, 0x99, 0x1d, 0xb8, 0x1b, 0x71, 0x19, 0x47, 0x53, 0x9e, - 0xe6, 0x41, 0xc3, 0x12, 0x45, 0x1e, 0xa5, 0x99, 0x3f, 0x97, 0x42, 0x0b, 0x7a, 0xef, 0x19, 0x46, - 0x98, 0x6b, 0xc9, 0xb3, 0x90, 0xcb, 0xf8, 0x39, 0x9f, 0xa1, 0x5f, 0x87, 0xae, 0xac, 0x3b, 0xb7, - 0x12, 0x91, 0x08, 0x93, 0x11, 0x94, 0xd6, 0x55, 0xf2, 0xe8, 0xbb, 0x03, 0xdd, 0xf0, 0x0a, 0x47, - 0x6f, 0x43, 0xa7, 0x0c, 0x7f, 0x19, 0xbb, 0xf6, 0xd0, 0x1e, 0xb7, 0x59, 0x75, 0x2a, 0xfd, 0xa7, - 0x42, 0xa3, 0x54, 0x6e, 0x6b, 0xe8, 0x8c, 0xfb, 0xac, 0x3a, 0xd1, 0x0f, 0xb0, 0x33, 0xe5, 0x6a, - 0xca, 0x50, 0xcd, 0x45, 0xae, 0x50, 0xb9, 0xce, 0xd0, 0x19, 0x6f, 0x3f, 0x7a, 0xe2, 0x6f, 0x24, - 0xc8, 0x7f, 0x2b, 0xf9, 0xfc, 0x45, 0x23, 0x9f, 0xfd, 0x4d, 0xa3, 0x1f, 0x61, 0x10, 0x65, 0xc8, - 0xe5, 0x8a, 0xdf, 0x36, 0xfc, 0xc3, 0xff, 0xe0, 0x87, 0x4d, 0x00, 0x5b, 0xe3, 0xd1, 0x57, 0xd0, - 0xd3, 0x12, 0xb9, 0x2a, 0xe4, 0x99, 0xbb, 0x35, 0xb4, 0xc7, 0xfd, 0xa3, 0xe0, 0xfc, 0x72, 0xdf, - 0xfa, 0x79, 0xb9, 0x7f, 0x3f, 0x49, 0xf5, 0xb4, 0x38, 0xf1, 0x23, 0x31, 0x0b, 0x22, 0xa1, 0x66, - 0x42, 0x55, 0x9f, 0x87, 0x2a, 0xfe, 0x14, 0xe8, 0xb3, 0x39, 0x2a, 0x3f, 0x14, 0x69, 0xce, 0x6a, - 0x00, 0x3d, 0x86, 0x8e, 0xd2, 0x5c, 0x17, 0xca, 0xed, 0x0c, 0xed, 0xf1, 0x60, 0xe3, 0x36, 0x98, - 0xee, 0x63, 0x96, 0xe6, 0xc9, 0xc4, 0xa4, 0xb3, 0x0a, 0x43, 0x3d, 0x00, 0x2d, 0x53, 0x9e, 0x4d, - 0x34, 0x97, 0xda, 0xed, 0x9a, 0x91, 0x34, 0x3c, 0xa3, 0x6f, 0x36, 0xec, 0x5d, 0xab, 0x91, 0x52, - 0x68, 0x17, 0x0a, 0xa5, 0x19, 0x61, 0x9f, 0x19, 0xbb, 0xac, 0x53, 0x56, 0xff, 0xdd, 0x96, 0x11, - 0x17, 0x6c, 0x28, 0xae, 0x6e, 0x5d, 0x0d, 0x28, 0x65, 0xa9, 0x22, 0x49, 0x50, 0xe9, 0x54, 0xe4, - 0xae, 0x63, 0xae, 0x69, 0x78, 0x46, 0x4f, 0x81, 0xac, 0x4f, 0xf6, 0x9f, 0xa2, 0x28, 0xb4, 0xcb, - 0x79, 0x1b, 0x41, 0x7d, 0x66, 0xec, 0x83, 0x07, 0xd0, 0xab, 0x73, 0xba, 0xe0, 0xbc, 0x43, 0x45, - 0x2c, 0xda, 0x81, 0xd6, 0x1b, 0x41, 0x6c, 0x3a, 0x00, 0x98, 0xd4, 0xd7, 0x90, 0xd6, 0xc1, 0x17, - 0x20, 0xeb, 0xbd, 0xa3, 0xbb, 0xb0, 0x5d, 0x2d, 0xc7, 0xf1, 0x1c, 0x73, 0x62, 0x51, 0x0a, 0x83, - 0xca, 0x11, 0x4a, 0xe4, 0x1a, 0x63, 0x62, 0xd3, 0x3d, 0xd8, 0xf9, 0xe3, 0xcb, 0x84, 0xc2, 0x98, - 0xb4, 0xe8, 0x0d, 0xe8, 0x45, 0x62, 0x36, 0x4b, 0xcb, 0x00, 0xa7, 0x3c, 0x49, 0x3c, 0x45, 0x9e, - 0x61, 0x4c, 0xda, 0xf4, 0x26, 0xec, 0xae, 0xca, 0x53, 0xaf, 0x79, 0x8c, 0x64, 0xeb, 0x88, 0x9d, - 0x2f, 0x3c, 0xfb, 0x62, 0xe1, 0xd9, 0xbf, 0x16, 0x9e, 0xfd, 0x75, 0xe9, 0x59, 0x17, 0x4b, 0xcf, - 0xfa, 0xb1, 0xf4, 0xac, 0xf7, 0x87, 0x8d, 0xa7, 0x73, 0xad, 0xc9, 0x41, 0x58, 0x2f, 0xf1, 0xe7, - 0xc6, 0x42, 0x9b, 0x07, 0x75, 0xd2, 0x31, 0x2b, 0xf9, 0xf8, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x65, 0xe1, 0xac, 0xb6, 0xf4, 0x03, 0x00, 0x00, -} - -func (m *Council) 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 *Council) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Council) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.TrialStart != 0 { - i = encodeVarintCouncil(dAtA, i, uint64(m.TrialStart)) - i-- - dAtA[i] = 0x38 - } - if m.Status != 0 { - i = encodeVarintCouncil(dAtA, i, uint64(m.Status)) - i-- - dAtA[i] = 0x30 - } - { - size := m.Treasury.Size() - i -= size - if _, err := m.Treasury.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintCouncil(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x2a - if len(m.ClearResponses) > 0 { - for iNdEx := len(m.ClearResponses) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.ClearResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintCouncil(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - } - } - if len(m.HashResponses) > 0 { - for iNdEx := len(m.HashResponses) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.HashResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintCouncil(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } - } - if len(m.Voters) > 0 { - for iNdEx := len(m.Voters) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Voters[iNdEx]) - copy(dAtA[i:], m.Voters[iNdEx]) - i = encodeVarintCouncil(dAtA, i, uint64(len(m.Voters[iNdEx]))) - i-- - dAtA[i] = 0x12 - } - } - if m.CardId != 0 { - i = encodeVarintCouncil(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *WrapClearResponse) 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 *WrapClearResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *WrapClearResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Suggestion) > 0 { - i -= len(m.Suggestion) - copy(dAtA[i:], m.Suggestion) - i = encodeVarintCouncil(dAtA, i, uint64(len(m.Suggestion))) - i-- - dAtA[i] = 0x1a - } - if m.Response != 0 { - i = encodeVarintCouncil(dAtA, i, uint64(m.Response)) - i-- - dAtA[i] = 0x10 - } - if len(m.User) > 0 { - i -= len(m.User) - copy(dAtA[i:], m.User) - i = encodeVarintCouncil(dAtA, i, uint64(len(m.User))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *WrapHashResponse) 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 *WrapHashResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *WrapHashResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintCouncil(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0x12 - } - if len(m.User) > 0 { - i -= len(m.User) - copy(dAtA[i:], m.User) - i = encodeVarintCouncil(dAtA, i, uint64(len(m.User))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintCouncil(dAtA []byte, offset int, v uint64) int { - offset -= sovCouncil(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Council) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CardId != 0 { - n += 1 + sovCouncil(uint64(m.CardId)) - } - if len(m.Voters) > 0 { - for _, s := range m.Voters { - l = len(s) - n += 1 + l + sovCouncil(uint64(l)) - } - } - if len(m.HashResponses) > 0 { - for _, e := range m.HashResponses { - l = e.Size() - n += 1 + l + sovCouncil(uint64(l)) - } - } - if len(m.ClearResponses) > 0 { - for _, e := range m.ClearResponses { - l = e.Size() - n += 1 + l + sovCouncil(uint64(l)) - } - } - l = m.Treasury.Size() - n += 1 + l + sovCouncil(uint64(l)) - if m.Status != 0 { - n += 1 + sovCouncil(uint64(m.Status)) - } - if m.TrialStart != 0 { - n += 1 + sovCouncil(uint64(m.TrialStart)) - } - return n -} - -func (m *WrapClearResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.User) - if l > 0 { - n += 1 + l + sovCouncil(uint64(l)) - } - if m.Response != 0 { - n += 1 + sovCouncil(uint64(m.Response)) - } - l = len(m.Suggestion) - if l > 0 { - n += 1 + l + sovCouncil(uint64(l)) - } - return n -} - -func (m *WrapHashResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.User) - if l > 0 { - n += 1 + l + sovCouncil(uint64(l)) - } - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovCouncil(uint64(l)) - } - return n -} - -func sovCouncil(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozCouncil(x uint64) (n int) { - return sovCouncil(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Council) 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 ErrIntOverflowCouncil - } - 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: Council: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Council: 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 ErrIntOverflowCouncil - } - 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 Voters", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCouncil - } - 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 ErrInvalidLengthCouncil - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthCouncil - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Voters = append(m.Voters, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HashResponses", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCouncil - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthCouncil - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthCouncil - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.HashResponses = append(m.HashResponses, &WrapHashResponse{}) - if err := m.HashResponses[len(m.HashResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ClearResponses", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCouncil - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthCouncil - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthCouncil - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ClearResponses = append(m.ClearResponses, &WrapClearResponse{}) - if err := m.ClearResponses[len(m.ClearResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Treasury", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCouncil - } - 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 ErrInvalidLengthCouncil - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthCouncil - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Treasury.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - m.Status = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCouncil - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Status |= CouncelingStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TrialStart", wireType) - } - m.TrialStart = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCouncil - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TrialStart |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipCouncil(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthCouncil - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *WrapClearResponse) 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 ErrIntOverflowCouncil - } - 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: WrapClearResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: WrapClearResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - 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 ErrIntOverflowCouncil - } - 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 ErrInvalidLengthCouncil - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthCouncil - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.User = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) - } - m.Response = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCouncil - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Response |= Response(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - 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 ErrIntOverflowCouncil - } - 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 ErrInvalidLengthCouncil - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthCouncil - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Suggestion = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipCouncil(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthCouncil - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *WrapHashResponse) 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 ErrIntOverflowCouncil - } - 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: WrapHashResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: WrapHashResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - 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 ErrIntOverflowCouncil - } - 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 ErrInvalidLengthCouncil - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthCouncil - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.User = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - 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 ErrIntOverflowCouncil - } - 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 ErrInvalidLengthCouncil - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthCouncil - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipCouncil(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthCouncil - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipCouncil(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, ErrIntOverflowCouncil - } - 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, ErrIntOverflowCouncil - } - 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, ErrIntOverflowCouncil - } - 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, ErrInvalidLengthCouncil - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupCouncil - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthCouncil - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthCouncil = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowCouncil = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupCouncil = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/early_access_proposal.pb.go b/x/cardchain/types/early_access_proposal.pb.go deleted file mode 100644 index b5ad576e..00000000 --- a/x/cardchain/types/early_access_proposal.pb.go +++ /dev/null @@ -1,478 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/early_access_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 EarlyAccessProposal 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"` - Link string `protobuf:"bytes,3,opt,name=link,proto3" json:"link,omitempty"` - Users []string `protobuf:"bytes,4,rep,name=users,proto3" json:"users,omitempty"` -} - -func (m *EarlyAccessProposal) Reset() { *m = EarlyAccessProposal{} } -func (m *EarlyAccessProposal) String() string { return proto.CompactTextString(m) } -func (*EarlyAccessProposal) ProtoMessage() {} -func (*EarlyAccessProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_b6079dc574ce6130, []int{0} -} -func (m *EarlyAccessProposal) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *EarlyAccessProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_EarlyAccessProposal.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 *EarlyAccessProposal) XXX_Merge(src proto.Message) { - xxx_messageInfo_EarlyAccessProposal.Merge(m, src) -} -func (m *EarlyAccessProposal) XXX_Size() int { - return m.Size() -} -func (m *EarlyAccessProposal) XXX_DiscardUnknown() { - xxx_messageInfo_EarlyAccessProposal.DiscardUnknown(m) -} - -var xxx_messageInfo_EarlyAccessProposal proto.InternalMessageInfo - -func (m *EarlyAccessProposal) GetTitle() string { - if m != nil { - return m.Title - } - return "" -} - -func (m *EarlyAccessProposal) GetDescription() string { - if m != nil { - return m.Description - } - return "" -} - -func (m *EarlyAccessProposal) GetLink() string { - if m != nil { - return m.Link - } - return "" -} - -func (m *EarlyAccessProposal) GetUsers() []string { - if m != nil { - return m.Users - } - return nil -} - -func init() { - proto.RegisterType((*EarlyAccessProposal)(nil), "DecentralCardGame.cardchain.cardchain.EarlyAccessProposal") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/early_access_proposal.proto", fileDescriptor_b6079dc574ce6130) -} - -var fileDescriptor_b6079dc574ce6130 = []byte{ - // 229 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4f, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0x43, 0x62, 0xa5, 0x26, 0x16, 0xe5, 0x54, 0xc6, 0x27, 0x26, 0x27, - 0xa7, 0x16, 0x17, 0xc7, 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, 0x35, 0x22, 0x58, 0x4a, 0xe5, 0x5c, 0xc2, 0xae, 0x20, - 0x53, 0x1c, 0xc1, 0x86, 0x04, 0x40, 0xcd, 0x10, 0x12, 0xe1, 0x62, 0x2d, 0xc9, 0x2c, 0xc9, 0x49, - 0x95, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x82, 0x70, 0x84, 0x14, 0xb8, 0xb8, 0x53, 0x52, 0x8b, - 0x93, 0x8b, 0x32, 0x0b, 0x4a, 0x32, 0xf3, 0xf3, 0x24, 0x98, 0xc0, 0x72, 0xc8, 0x42, 0x42, 0x42, - 0x5c, 0x2c, 0x39, 0x99, 0x79, 0xd9, 0x12, 0xcc, 0x60, 0x29, 0x30, 0x1b, 0x64, 0x56, 0x69, 0x71, - 0x6a, 0x51, 0xb1, 0x04, 0x8b, 0x02, 0x33, 0xc8, 0x2c, 0x30, 0xc7, 0x29, 0xe8, 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, 0x2c, 0xd2, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, - 0xf3, 0x73, 0xf5, 0x31, 0x3c, 0xa1, 0xef, 0x0c, 0xf7, 0x7d, 0x05, 0x52, 0x48, 0x94, 0x54, 0x16, - 0xa4, 0x16, 0x27, 0xb1, 0x81, 0xbd, 0x6e, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0xb1, 0x18, 0x4b, - 0x88, 0x2d, 0x01, 0x00, 0x00, -} - -func (m *EarlyAccessProposal) 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 *EarlyAccessProposal) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *EarlyAccessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Users) > 0 { - for iNdEx := len(m.Users) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Users[iNdEx]) - copy(dAtA[i:], m.Users[iNdEx]) - i = encodeVarintEarlyAccessProposal(dAtA, i, uint64(len(m.Users[iNdEx]))) - i-- - dAtA[i] = 0x22 - } - } - if len(m.Link) > 0 { - i -= len(m.Link) - copy(dAtA[i:], m.Link) - i = encodeVarintEarlyAccessProposal(dAtA, i, uint64(len(m.Link))) - i-- - dAtA[i] = 0x1a - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = encodeVarintEarlyAccessProposal(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 = encodeVarintEarlyAccessProposal(dAtA, i, uint64(len(m.Title))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintEarlyAccessProposal(dAtA []byte, offset int, v uint64) int { - offset -= sovEarlyAccessProposal(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *EarlyAccessProposal) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Title) - if l > 0 { - n += 1 + l + sovEarlyAccessProposal(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + sovEarlyAccessProposal(uint64(l)) - } - l = len(m.Link) - if l > 0 { - n += 1 + l + sovEarlyAccessProposal(uint64(l)) - } - if len(m.Users) > 0 { - for _, s := range m.Users { - l = len(s) - n += 1 + l + sovEarlyAccessProposal(uint64(l)) - } - } - return n -} - -func sovEarlyAccessProposal(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozEarlyAccessProposal(x uint64) (n int) { - return sovEarlyAccessProposal(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *EarlyAccessProposal) 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 ErrIntOverflowEarlyAccessProposal - } - 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: EarlyAccessProposal: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: EarlyAccessProposal: 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 ErrIntOverflowEarlyAccessProposal - } - 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 ErrInvalidLengthEarlyAccessProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEarlyAccessProposal - } - 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 ErrIntOverflowEarlyAccessProposal - } - 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 ErrInvalidLengthEarlyAccessProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEarlyAccessProposal - } - 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 Link", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEarlyAccessProposal - } - 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 ErrInvalidLengthEarlyAccessProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEarlyAccessProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Link = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Users", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEarlyAccessProposal - } - 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 ErrInvalidLengthEarlyAccessProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEarlyAccessProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Users = append(m.Users, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipEarlyAccessProposal(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthEarlyAccessProposal - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipEarlyAccessProposal(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, ErrIntOverflowEarlyAccessProposal - } - 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, ErrIntOverflowEarlyAccessProposal - } - 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, ErrIntOverflowEarlyAccessProposal - } - 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, ErrInvalidLengthEarlyAccessProposal - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupEarlyAccessProposal - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthEarlyAccessProposal - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthEarlyAccessProposal = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowEarlyAccessProposal = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupEarlyAccessProposal = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/encounters.pb.go b/x/cardchain/types/encounters.pb.go deleted file mode 100644 index 54f4a0fe..00000000 --- a/x/cardchain/types/encounters.pb.go +++ /dev/null @@ -1,997 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/encounters.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 - -type Encounter struct { - Id uint64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` - Drawlist []uint64 `protobuf:"varint,2,rep,packed,name=Drawlist,proto3" json:"Drawlist,omitempty"` - Proven bool `protobuf:"varint,3,opt,name=proven,proto3" json:"proven,omitempty"` - Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` - Parameters map[string]string `protobuf:"bytes,5,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - ImageId uint64 `protobuf:"varint,6,opt,name=imageId,proto3" json:"imageId,omitempty"` - Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` -} - -func (m *Encounter) Reset() { *m = Encounter{} } -func (m *Encounter) String() string { return proto.CompactTextString(m) } -func (*Encounter) ProtoMessage() {} -func (*Encounter) Descriptor() ([]byte, []int) { - return fileDescriptor_bd29899b36e899bc, []int{0} -} -func (m *Encounter) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Encounter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Encounter.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 *Encounter) XXX_Merge(src proto.Message) { - xxx_messageInfo_Encounter.Merge(m, src) -} -func (m *Encounter) XXX_Size() int { - return m.Size() -} -func (m *Encounter) XXX_DiscardUnknown() { - xxx_messageInfo_Encounter.DiscardUnknown(m) -} - -var xxx_messageInfo_Encounter proto.InternalMessageInfo - -func (m *Encounter) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} - -func (m *Encounter) GetDrawlist() []uint64 { - if m != nil { - return m.Drawlist - } - return nil -} - -func (m *Encounter) GetProven() bool { - if m != nil { - return m.Proven - } - return false -} - -func (m *Encounter) GetOwner() string { - if m != nil { - return m.Owner - } - return "" -} - -func (m *Encounter) GetParameters() map[string]string { - if m != nil { - return m.Parameters - } - return nil -} - -func (m *Encounter) GetImageId() uint64 { - if m != nil { - return m.ImageId - } - return 0 -} - -func (m *Encounter) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -type EncounterWithImage struct { - Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` - Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` -} - -func (m *EncounterWithImage) Reset() { *m = EncounterWithImage{} } -func (m *EncounterWithImage) String() string { return proto.CompactTextString(m) } -func (*EncounterWithImage) ProtoMessage() {} -func (*EncounterWithImage) Descriptor() ([]byte, []int) { - return fileDescriptor_bd29899b36e899bc, []int{1} -} -func (m *EncounterWithImage) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *EncounterWithImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_EncounterWithImage.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 *EncounterWithImage) XXX_Merge(src proto.Message) { - xxx_messageInfo_EncounterWithImage.Merge(m, src) -} -func (m *EncounterWithImage) XXX_Size() int { - return m.Size() -} -func (m *EncounterWithImage) XXX_DiscardUnknown() { - xxx_messageInfo_EncounterWithImage.DiscardUnknown(m) -} - -var xxx_messageInfo_EncounterWithImage proto.InternalMessageInfo - -func (m *EncounterWithImage) GetEncounter() *Encounter { - if m != nil { - return m.Encounter - } - return nil -} - -func (m *EncounterWithImage) GetImage() []byte { - if m != nil { - return m.Image - } - return nil -} - -func init() { - proto.RegisterType((*Encounter)(nil), "DecentralCardGame.cardchain.cardchain.Encounter") - proto.RegisterMapType((map[string]string)(nil), "DecentralCardGame.cardchain.cardchain.Encounter.ParametersEntry") - proto.RegisterType((*EncounterWithImage)(nil), "DecentralCardGame.cardchain.cardchain.EncounterWithImage") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/encounters.proto", fileDescriptor_bd29899b36e899bc) -} - -var fileDescriptor_bd29899b36e899bc = []byte{ - // 371 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x52, 0xcf, 0x6a, 0xe2, 0x40, - 0x1c, 0x76, 0x92, 0xf8, 0x27, 0xe3, 0xb2, 0xbb, 0x0c, 0xb2, 0x0c, 0x1e, 0x42, 0x90, 0x5d, 0xc8, - 0x29, 0x59, 0xdc, 0x8b, 0x2c, 0x14, 0x4a, 0x55, 0x4a, 0x2e, 0xa5, 0xcc, 0xa5, 0xd0, 0x53, 0xc7, - 0x64, 0x88, 0xa1, 0x66, 0x26, 0x8c, 0xa3, 0xd6, 0x3e, 0x45, 0x1f, 0xa6, 0x0f, 0xd1, 0xa3, 0xc7, - 0x1e, 0x8b, 0xbe, 0x48, 0xc9, 0xa4, 0x46, 0x69, 0x2f, 0xed, 0xed, 0xfb, 0x60, 0x7e, 0xdf, 0x1f, - 0xe6, 0x83, 0xbf, 0x23, 0x2a, 0xe3, 0x68, 0x4a, 0x53, 0x1e, 0x1c, 0x10, 0xe3, 0x91, 0x58, 0x70, - 0xc5, 0xe4, 0xdc, 0xcf, 0xa5, 0x50, 0x02, 0xfd, 0x19, 0xb1, 0x88, 0x71, 0x25, 0xe9, 0x6c, 0x48, - 0x65, 0x7c, 0x4e, 0x33, 0xe6, 0x57, 0xaf, 0x0f, 0xa8, 0xdb, 0x49, 0x44, 0x22, 0xf4, 0x45, 0x50, - 0xa0, 0xf2, 0xb8, 0xf7, 0x68, 0x40, 0x7b, 0xbc, 0x57, 0x44, 0xdf, 0xa1, 0x11, 0xc6, 0x18, 0xb8, - 0xc0, 0xb3, 0x88, 0x11, 0xc6, 0xa8, 0x0b, 0x5b, 0x23, 0x49, 0x57, 0xb3, 0x74, 0xae, 0xb0, 0xe1, - 0x9a, 0x9e, 0x45, 0x2a, 0x8e, 0x7e, 0xc1, 0x46, 0x2e, 0xc5, 0x92, 0x71, 0x6c, 0xba, 0xc0, 0x6b, - 0x91, 0x37, 0x86, 0x3a, 0xb0, 0x2e, 0x56, 0x9c, 0x49, 0x6c, 0xb9, 0xc0, 0xb3, 0x49, 0x49, 0xd0, - 0x0d, 0x84, 0x39, 0x95, 0x34, 0x63, 0x45, 0x70, 0x5c, 0x77, 0x4d, 0xaf, 0xdd, 0x3f, 0xf5, 0x3f, - 0x95, 0xdc, 0xaf, 0xf2, 0xf9, 0x97, 0x95, 0xc4, 0x98, 0x2b, 0xb9, 0x26, 0x47, 0x9a, 0x08, 0xc3, - 0x66, 0x9a, 0xd1, 0x84, 0x85, 0x31, 0x6e, 0xe8, 0x02, 0x7b, 0x8a, 0x10, 0xb4, 0x38, 0xcd, 0x18, - 0x6e, 0xea, 0x40, 0x1a, 0x77, 0x4f, 0xe0, 0x8f, 0x77, 0x62, 0xe8, 0x27, 0x34, 0x6f, 0xd9, 0x5a, - 0xb7, 0xb7, 0x49, 0x01, 0x8b, 0x2a, 0x4b, 0x3a, 0x5b, 0x30, 0x6c, 0x94, 0x55, 0x34, 0xf9, 0x6f, - 0x0c, 0x40, 0xef, 0x1e, 0xa2, 0x2a, 0xd5, 0x55, 0xaa, 0xa6, 0x61, 0x61, 0x85, 0x2e, 0xa0, 0x5d, - 0xfd, 0x8e, 0xd6, 0x69, 0xf7, 0xff, 0x7e, 0xb5, 0x23, 0x39, 0x48, 0x14, 0xfe, 0xba, 0x83, 0xf6, - 0xff, 0x46, 0x4a, 0x72, 0x46, 0x9e, 0xb6, 0x0e, 0xd8, 0x6c, 0x1d, 0xf0, 0xb2, 0x75, 0xc0, 0xc3, - 0xce, 0xa9, 0x6d, 0x76, 0x4e, 0xed, 0x79, 0xe7, 0xd4, 0xae, 0x07, 0x49, 0xaa, 0xa6, 0x8b, 0x89, - 0x1f, 0x89, 0x2c, 0xf8, 0x60, 0x1b, 0x0c, 0xab, 0x09, 0xdd, 0x1d, 0xcd, 0x49, 0xad, 0x73, 0x36, - 0x9f, 0x34, 0xf4, 0x1a, 0xfe, 0xbd, 0x06, 0x00, 0x00, 0xff, 0xff, 0x4a, 0xed, 0xc1, 0xe3, 0x72, - 0x02, 0x00, 0x00, -} - -func (m *Encounter) 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 *Encounter) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Encounter) 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 = encodeVarintEncounters(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0x3a - } - if m.ImageId != 0 { - i = encodeVarintEncounters(dAtA, i, uint64(m.ImageId)) - i-- - dAtA[i] = 0x30 - } - if len(m.Parameters) > 0 { - for k := range m.Parameters { - v := m.Parameters[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarintEncounters(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarintEncounters(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarintEncounters(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x2a - } - } - if len(m.Owner) > 0 { - i -= len(m.Owner) - copy(dAtA[i:], m.Owner) - i = encodeVarintEncounters(dAtA, i, uint64(len(m.Owner))) - i-- - dAtA[i] = 0x22 - } - if m.Proven { - i-- - if m.Proven { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x18 - } - if len(m.Drawlist) > 0 { - dAtA2 := make([]byte, len(m.Drawlist)*10) - var j1 int - for _, num := range m.Drawlist { - 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 = encodeVarintEncounters(dAtA, i, uint64(j1)) - i-- - dAtA[i] = 0x12 - } - if m.Id != 0 { - i = encodeVarintEncounters(dAtA, i, uint64(m.Id)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *EncounterWithImage) 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 *EncounterWithImage) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *EncounterWithImage) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintEncounters(dAtA, i, uint64(len(m.Image))) - i-- - dAtA[i] = 0x12 - } - if m.Encounter != nil { - { - size, err := m.Encounter.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEncounters(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintEncounters(dAtA []byte, offset int, v uint64) int { - offset -= sovEncounters(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Encounter) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Id != 0 { - n += 1 + sovEncounters(uint64(m.Id)) - } - if len(m.Drawlist) > 0 { - l = 0 - for _, e := range m.Drawlist { - l += sovEncounters(uint64(e)) - } - n += 1 + sovEncounters(uint64(l)) + l - } - if m.Proven { - n += 2 - } - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovEncounters(uint64(l)) - } - if len(m.Parameters) > 0 { - for k, v := range m.Parameters { - _ = k - _ = v - mapEntrySize := 1 + len(k) + sovEncounters(uint64(len(k))) + 1 + len(v) + sovEncounters(uint64(len(v))) - n += mapEntrySize + 1 + sovEncounters(uint64(mapEntrySize)) - } - } - if m.ImageId != 0 { - n += 1 + sovEncounters(uint64(m.ImageId)) - } - l = len(m.Name) - if l > 0 { - n += 1 + l + sovEncounters(uint64(l)) - } - return n -} - -func (m *EncounterWithImage) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Encounter != nil { - l = m.Encounter.Size() - n += 1 + l + sovEncounters(uint64(l)) - } - l = len(m.Image) - if l > 0 { - n += 1 + l + sovEncounters(uint64(l)) - } - return n -} - -func sovEncounters(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozEncounters(x uint64) (n int) { - return sovEncounters(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Encounter) 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 ErrIntOverflowEncounters - } - 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: Encounter: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Encounter: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - m.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType == 0 { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Drawlist = append(m.Drawlist, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthEncounters - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthEncounters - } - 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.Drawlist) == 0 { - m.Drawlist = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Drawlist = append(m.Drawlist, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Drawlist", wireType) - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Proven", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Proven = bool(v != 0) - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - 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 ErrInvalidLengthEncounters - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEncounters - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Owner = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Parameters", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEncounters - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEncounters - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Parameters == nil { - m.Parameters = make(map[string]string) - } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - 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 ErrIntOverflowEncounters - } - 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 ErrInvalidLengthEncounters - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthEncounters - } - if postStringIndexmapkey > l { - return io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var stringLenmapvalue uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapvalue := int(stringLenmapvalue) - if intStringLenmapvalue < 0 { - return ErrInvalidLengthEncounters - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthEncounters - } - if postStringIndexmapvalue > l { - return io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := skipEncounters(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthEncounters - } - if (iNdEx + skippy) > postIndex { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - m.Parameters[mapkey] = mapvalue - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ImageId", wireType) - } - m.ImageId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ImageId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 7: - 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 ErrIntOverflowEncounters - } - 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 ErrInvalidLengthEncounters - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEncounters - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipEncounters(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthEncounters - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *EncounterWithImage) 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 ErrIntOverflowEncounters - } - 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: EncounterWithImage: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: EncounterWithImage: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Encounter", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEncounters - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEncounters - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Encounter == nil { - m.Encounter = &Encounter{} - } - if err := m.Encounter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounters - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEncounters - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEncounters - } - 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 := skipEncounters(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthEncounters - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipEncounters(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, ErrIntOverflowEncounters - } - 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, ErrIntOverflowEncounters - } - 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, ErrIntOverflowEncounters - } - 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, ErrInvalidLengthEncounters - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupEncounters - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthEncounters - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthEncounters = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowEncounters = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupEncounters = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/errors.go b/x/cardchain/types/errors.go deleted file mode 100644 index a3260e71..00000000 --- a/x/cardchain/types/errors.go +++ /dev/null @@ -1,38 +0,0 @@ -package types - -// DONTCOVER - -import ( - 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") - 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") - InvalidAlias = sdkerrors.Register(ModuleName, 26, "Invalid alias") - ErrInvalidData = sdkerrors.Register(ModuleName, 27, "Invalid data in transaction") -) diff --git a/x/cardchain/types/expected_keepers.go b/x/cardchain/types/expected_keepers.go deleted file mode 100644 index cdecce9b..00000000 --- a/x/cardchain/types/expected_keepers.go +++ /dev/null @@ -1,28 +0,0 @@ -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" -) - -// 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 -} - -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 - MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error - BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error - SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error - SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error - SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error - // Methods imported from bank should be defined here -} diff --git a/x/cardchain/types/feature_flags.go b/x/cardchain/types/feature_flags.go deleted file mode 100644 index b4b816f4..00000000 --- a/x/cardchain/types/feature_flags.go +++ /dev/null @@ -1,8 +0,0 @@ -package types - -type FeatureFlagName string - -const ( - FeatureFlagName_Council FeatureFlagName = "council" - FeatureFlagName_Matches FeatureFlagName = "matches" -) diff --git a/x/cardchain/types/genesis.go b/x/cardchain/types/genesis.go deleted file mode 100644 index 56921182..00000000 --- a/x/cardchain/types/genesis.go +++ /dev/null @@ -1,20 +0,0 @@ -package types - -// DefaultIndex is the default capability global index -const DefaultIndex uint64 = 1 - -// DefaultGenesis returns the default Capability 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 { - // this line is used by starport scaffolding # genesis/types/validate - - return gs.Params.Validate() -} diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go deleted file mode 100644 index 3151738a..00000000 --- a/x/cardchain/types/genesis.pb.go +++ /dev/null @@ -1,1198 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/genesis.proto - -package types - -import ( - fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - types "github.com/cosmos/cosmos-sdk/types" - _ "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 cardchain module's genesis state. -type GenesisState struct { - Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` - CardRecords []*Card `protobuf:"bytes,2,rep,name=cardRecords,proto3" json:"cardRecords,omitempty"` - 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"` - 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"` - Councils []*Council `protobuf:"bytes,12,rep,name=councils,proto3" json:"councils,omitempty"` - 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"` - Zealys []*Zealy `protobuf:"bytes,17,rep,name=zealys,proto3" json:"zealys,omitempty"` -} - -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_c4e78aa6e403ddd4, []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) GetCardRecords() []*Card { - if m != nil { - return m.CardRecords - } - return nil -} - -func (m *GenesisState) GetUsers() []*User { - if m != nil { - return m.Users - } - return nil -} - -func (m *GenesisState) GetAddresses() []string { - if m != nil { - return m.Addresses - } - return nil -} - -func (m *GenesisState) GetMatches() []*Match { - if m != nil { - return m.Matches - } - return nil -} - -func (m *GenesisState) GetSets() []*Set { - if m != nil { - return m.Sets - } - return nil -} - -func (m *GenesisState) GetSellOffers() []*SellOffer { - if m != nil { - return m.SellOffers - } - return nil -} - -func (m *GenesisState) GetPools() []*types.Coin { - if m != nil { - return m.Pools - } - return nil -} - -func (m *GenesisState) GetCouncils() []*Council { - if m != nil { - return m.Councils - } - return nil -} - -func (m *GenesisState) GetRunningAverages() []*RunningAverage { - if m != nil { - return m.RunningAverages - } - return nil -} - -func (m *GenesisState) GetImages() []*Image { - if m != nil { - return m.Images - } - return nil -} - -func (m *GenesisState) GetServers() []*Server { - if m != nil { - return m.Servers - } - return nil -} - -func (m *GenesisState) GetLastCardModified() *TimeStamp { - if m != nil { - return m.LastCardModified - } - return nil -} - -func (m *GenesisState) GetZealys() []*Zealy { - if m != nil { - return m.Zealys - } - return nil -} - -func init() { - proto.RegisterType((*GenesisState)(nil), "DecentralCardGame.cardchain.cardchain.GenesisState") -} - -func init() { proto.RegisterFile("cardchain/cardchain/genesis.proto", fileDescriptor_c4e78aa6e403ddd4) } - -var fileDescriptor_c4e78aa6e403ddd4 = []byte{ - // 634 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0xdf, 0x4e, 0x13, 0x41, - 0x14, 0xc6, 0x5b, 0x81, 0x42, 0xa7, 0x28, 0x38, 0xf1, 0x62, 0x24, 0xba, 0x54, 0xa3, 0xb1, 0xfe, - 0x61, 0x57, 0x30, 0x26, 0x5e, 0x99, 0xf0, 0x27, 0x12, 0x35, 0x44, 0x32, 0xd5, 0x1b, 0x34, 0x21, - 0xd3, 0xdd, 0xc3, 0x32, 0x71, 0x77, 0xa7, 0x99, 0x33, 0x25, 0xe2, 0x53, 0xf8, 0x58, 0x5c, 0x92, - 0x78, 0x63, 0xbc, 0x20, 0x06, 0x5e, 0xc4, 0xcc, 0xec, 0xd2, 0x56, 0xd9, 0x90, 0xe5, 0xaa, 0x93, - 0x9e, 0xef, 0xfb, 0xcd, 0xcc, 0x9e, 0xef, 0x0c, 0xb9, 0x17, 0x0a, 0x1d, 0x85, 0xfb, 0x42, 0x66, - 0xc1, 0x68, 0x15, 0x43, 0x06, 0x28, 0xd1, 0xef, 0x6b, 0x65, 0x14, 0x7d, 0xb8, 0x01, 0x21, 0x64, - 0x46, 0x8b, 0x64, 0x5d, 0xe8, 0x68, 0x53, 0xa4, 0xe0, 0x0f, 0xa5, 0xa3, 0xd5, 0xc2, 0xad, 0x58, - 0xc5, 0xca, 0x39, 0x02, 0xbb, 0xca, 0xcd, 0x0b, 0xed, 0x32, 0x7e, 0x5f, 0x68, 0x91, 0x16, 0xf8, - 0x05, 0xaf, 0x4c, 0x61, 0x57, 0x97, 0xd5, 0x07, 0x08, 0xba, 0xa8, 0x2f, 0x96, 0xd5, 0x53, 0x61, - 0xc2, 0xfd, 0x42, 0x70, 0xb7, 0x4c, 0x80, 0x60, 0x8a, 0xf2, 0x83, 0xf2, 0x72, 0x92, 0xec, 0xaa, - 0xbd, 0xbd, 0xe1, 0x2e, 0x8f, 0xcb, 0x54, 0x7a, 0x90, 0x65, 0x32, 0x8b, 0x77, 0xc5, 0x01, 0x68, - 0x11, 0x43, 0x21, 0x2d, 0xfd, 0xa4, 0xa1, 0x1a, 0x64, 0xa1, 0x4c, 0x2e, 0x3b, 0xb3, 0x4c, 0x47, - 0x8c, 0x76, 0xf9, 0xa1, 0xf4, 0xc1, 0xe5, 0xd7, 0xfe, 0x0e, 0x22, 0x39, 0x1c, 0x7e, 0x37, 0x85, - 0xa9, 0xc2, 0xa0, 0x27, 0x10, 0x82, 0x83, 0xe5, 0x1e, 0x18, 0xb1, 0x1c, 0x84, 0x4a, 0x66, 0x79, - 0xfd, 0xfe, 0xcf, 0x19, 0x32, 0xbb, 0x99, 0x37, 0xba, 0x6b, 0x84, 0x01, 0xfa, 0x9e, 0x34, 0xf2, - 0xc6, 0xb0, 0x7a, 0xbb, 0xde, 0x69, 0xad, 0x2c, 0xf9, 0x95, 0x1a, 0xef, 0x6f, 0x3b, 0xd3, 0xda, - 0xe4, 0xd1, 0xc9, 0x62, 0x8d, 0x17, 0x08, 0xba, 0x45, 0x5a, 0x56, 0xc1, 0x21, 0x54, 0x3a, 0x42, - 0x76, 0xad, 0x3d, 0xd1, 0x69, 0xad, 0x3c, 0xad, 0x48, 0xb4, 0x45, 0x3e, 0xee, 0xa7, 0xab, 0x64, - 0xca, 0xb6, 0x1c, 0xd9, 0xc4, 0x95, 0x40, 0x9f, 0x10, 0x34, 0xcf, 0x9d, 0xf4, 0x0e, 0x69, 0x8a, - 0x28, 0xd2, 0x80, 0x08, 0xc8, 0x26, 0xdb, 0x13, 0x9d, 0x26, 0x1f, 0xfd, 0x41, 0xdf, 0x90, 0x69, - 0x97, 0x19, 0x40, 0xd6, 0x70, 0x5b, 0x3c, 0xab, 0xb8, 0xc5, 0x96, 0x75, 0xf1, 0x73, 0x33, 0x7d, - 0x4d, 0x26, 0x11, 0x0c, 0xb2, 0x69, 0x07, 0x79, 0x52, 0x11, 0xd2, 0x05, 0xc3, 0x9d, 0x8f, 0x6e, - 0x13, 0x62, 0xb3, 0xf7, 0xc1, 0x46, 0x0f, 0xd9, 0x8c, 0xa3, 0x3c, 0xaf, 0x4c, 0x29, 0x8c, 0x7c, - 0x8c, 0x41, 0x03, 0x32, 0xd5, 0x57, 0x2a, 0x41, 0xd6, 0x74, 0xb0, 0xdb, 0x7e, 0x9e, 0x0b, 0xdf, - 0xe6, 0xc2, 0x2f, 0x72, 0xe1, 0xaf, 0x2b, 0x99, 0xf1, 0x5c, 0x47, 0x3f, 0x93, 0x79, 0xcb, 0x5c, - 0x1d, 0x84, 0x46, 0xaa, 0x6c, 0x5b, 0xcb, 0x10, 0x58, 0xab, 0x5d, 0xef, 0x34, 0xd7, 0x02, 0xdb, - 0xe2, 0xdf, 0x27, 0x8b, 0x8f, 0x62, 0x69, 0xf6, 0x07, 0x3d, 0x3f, 0x54, 0x69, 0x50, 0xa4, 0x2c, - 0xff, 0x59, 0xc2, 0xe8, 0x6b, 0x60, 0x0e, 0xfb, 0x80, 0x39, 0xf1, 0x02, 0x88, 0xbe, 0x23, 0x33, - 0xc5, 0x28, 0x20, 0x9b, 0x75, 0x07, 0xf2, 0xab, 0x86, 0x22, 0xb7, 0xf1, 0xa1, 0x9f, 0xee, 0x92, - 0x39, 0x9e, 0x4f, 0xe0, 0x6a, 0x3e, 0x80, 0xc8, 0xae, 0x3b, 0xe4, 0xcb, 0x8a, 0xc8, 0x7f, 0xdd, - 0xfc, 0x7f, 0x1a, 0xdd, 0x20, 0x0d, 0x37, 0x94, 0xc8, 0x6e, 0x5c, 0x29, 0x13, 0x6f, 0xad, 0x89, - 0x17, 0x5e, 0xba, 0x49, 0xa6, 0xbb, 0x6e, 0x72, 0x91, 0xcd, 0x39, 0xcc, 0x52, 0xe5, 0x7e, 0x5a, - 0x17, 0x3f, 0x77, 0xd3, 0x2f, 0x64, 0x3e, 0x11, 0x68, 0xac, 0x67, 0x4b, 0x45, 0x72, 0x4f, 0x42, - 0xc4, 0xe6, 0xdd, 0xa8, 0x56, 0x4d, 0xc8, 0x47, 0x99, 0x42, 0xd7, 0x88, 0xb4, 0xcf, 0x2f, 0x90, - 0xec, 0x65, 0xdd, 0xf3, 0x81, 0xec, 0xe6, 0x95, 0x2e, 0xbb, 0x63, 0x4d, 0xbc, 0xf0, 0xae, 0xf1, - 0xa3, 0x53, 0xaf, 0x7e, 0x7c, 0xea, 0xd5, 0xff, 0x9c, 0x7a, 0xf5, 0x1f, 0x67, 0x5e, 0xed, 0xf8, - 0xcc, 0xab, 0xfd, 0x3a, 0xf3, 0x6a, 0x3b, 0xaf, 0xc6, 0x42, 0x73, 0x81, 0x1c, 0xac, 0x0f, 0xdf, - 0xb0, 0x6f, 0x63, 0xef, 0x99, 0x8b, 0x52, 0xaf, 0xe1, 0x1e, 0xac, 0x17, 0x7f, 0x03, 0x00, 0x00, - 0xff, 0xff, 0xae, 0x6a, 0x8d, 0xa2, 0xac, 0x06, 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.Zealys) > 0 { - for iNdEx := len(m.Zealys) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Zealys[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x8a - } - } - 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-- { - { - size, err := m.Servers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x7a - } - } - if len(m.Images) > 0 { - for iNdEx := len(m.Images) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Images[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x72 - } - } - if len(m.RunningAverages) > 0 { - for iNdEx := len(m.RunningAverages) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.RunningAverages[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x6a - } - } - if len(m.Councils) > 0 { - for iNdEx := len(m.Councils) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Councils[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x62 - } - } - { - size := m.CardAuctionPrice.Size() - i -= size - if _, err := m.CardAuctionPrice.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x5a - if len(m.Pools) > 0 { - for iNdEx := len(m.Pools) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Pools[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x4a - } - } - if len(m.SellOffers) > 0 { - for iNdEx := len(m.SellOffers) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.SellOffers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x42 - } - } - if len(m.Sets) > 0 { - for iNdEx := len(m.Sets) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Sets[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x3a - } - } - if len(m.Matches) > 0 { - for iNdEx := len(m.Matches) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Matches[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x32 - } - } - if len(m.Addresses) > 0 { - for iNdEx := len(m.Addresses) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Addresses[iNdEx]) - copy(dAtA[i:], m.Addresses[iNdEx]) - i = encodeVarintGenesis(dAtA, i, uint64(len(m.Addresses[iNdEx]))) - i-- - dAtA[i] = 0x22 - } - } - if len(m.Users) > 0 { - for iNdEx := len(m.Users) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Users[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } - } - if len(m.CardRecords) > 0 { - for iNdEx := len(m.CardRecords) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.CardRecords[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - 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.CardRecords) > 0 { - for _, e := range m.CardRecords { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.Users) > 0 { - for _, e := range m.Users { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.Addresses) > 0 { - for _, s := range m.Addresses { - l = len(s) - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.Matches) > 0 { - for _, e := range m.Matches { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.Sets) > 0 { - for _, e := range m.Sets { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.SellOffers) > 0 { - for _, e := range m.SellOffers { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.Pools) > 0 { - for _, e := range m.Pools { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - l = m.CardAuctionPrice.Size() - n += 1 + l + sovGenesis(uint64(l)) - if len(m.Councils) > 0 { - for _, e := range m.Councils { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.RunningAverages) > 0 { - for _, e := range m.RunningAverages { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.Images) > 0 { - for _, e := range m.Images { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.Servers) > 0 { - for _, e := range m.Servers { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if m.LastCardModified != nil { - l = m.LastCardModified.Size() - n += 2 + l + sovGenesis(uint64(l)) - } - if len(m.Zealys) > 0 { - for _, e := range m.Zealys { - l = e.Size() - n += 2 + l + sovGenesis(uint64(l)) - } - } - 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 CardRecords", 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 - } - m.CardRecords = append(m.CardRecords, &Card{}) - if err := m.CardRecords[len(m.CardRecords)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Users", 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 - } - m.Users = append(m.Users, &User{}) - if err := m.Users[len(m.Users)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - 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 ErrInvalidLengthGenesis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Addresses = append(m.Addresses, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Matches", 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 - } - m.Matches = append(m.Matches, &Match{}) - if err := m.Matches[len(m.Matches)-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 Sets", 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 - } - m.Sets = append(m.Sets, &Set{}) - if err := m.Sets[len(m.Sets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SellOffers", 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 - } - m.SellOffers = append(m.SellOffers, &SellOffer{}) - if err := m.SellOffers[len(m.SellOffers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pools", 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 - } - m.Pools = append(m.Pools, &types.Coin{}) - if err := m.Pools[len(m.Pools)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CardAuctionPrice", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - 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 ErrInvalidLengthGenesis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.CardAuctionPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Councils", 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 - } - m.Councils = append(m.Councils, &Council{}) - if err := m.Councils[len(m.Councils)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 13: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RunningAverages", 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 - } - m.RunningAverages = append(m.RunningAverages, &RunningAverage{}) - if err := m.RunningAverages[len(m.RunningAverages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 14: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Images", 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 - } - m.Images = append(m.Images, &Image{}) - if err := m.Images[len(m.Images)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Servers", 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 - } - m.Servers = append(m.Servers, &Server{}) - if err := m.Servers[len(m.Servers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - 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 - case 17: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Zealys", 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 - } - m.Zealys = append(m.Zealys, &Zealy{}) - if err := m.Zealys[len(m.Zealys)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - 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/cardchain/types/image.pb.go b/x/cardchain/types/image.pb.go deleted file mode 100644 index bfa88a8d..00000000 --- a/x/cardchain/types/image.pb.go +++ /dev/null @@ -1,316 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/image.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 Image struct { - Image []byte `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"` -} - -func (m *Image) Reset() { *m = Image{} } -func (m *Image) String() string { return proto.CompactTextString(m) } -func (*Image) ProtoMessage() {} -func (*Image) Descriptor() ([]byte, []int) { - return fileDescriptor_b6b2c1057391213a, []int{0} -} -func (m *Image) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Image) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Image.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 *Image) XXX_Merge(src proto.Message) { - xxx_messageInfo_Image.Merge(m, src) -} -func (m *Image) XXX_Size() int { - return m.Size() -} -func (m *Image) XXX_DiscardUnknown() { - xxx_messageInfo_Image.DiscardUnknown(m) -} - -var xxx_messageInfo_Image proto.InternalMessageInfo - -func (m *Image) GetImage() []byte { - if m != nil { - return m.Image - } - return nil -} - -func init() { - proto.RegisterType((*Image)(nil), "DecentralCardGame.cardchain.cardchain.Image") -} - -func init() { proto.RegisterFile("cardchain/cardchain/image.proto", fileDescriptor_b6b2c1057391213a) } - -var fileDescriptor_b6b2c1057391213a = []byte{ - // 155 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x32, 0x73, 0x13, 0xd3, 0x53, 0xf5, 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, 0x0a, 0x11, 0x2c, 0x25, 0x59, 0x2e, 0x56, 0x4f, - 0x90, 0x2e, 0x21, 0x11, 0x2e, 0x56, 0xb0, 0x76, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x9e, 0x20, 0x08, - 0xc7, 0x29, 0xe8, 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, 0x2c, 0xd2, 0x33, - 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x31, 0xac, 0xd2, 0x77, 0x86, 0xbb, 0xa9, - 0x02, 0xc9, 0x7d, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, 0x07, 0x1a, 0x03, 0x02, 0x00, - 0x00, 0xff, 0xff, 0x15, 0xff, 0x6d, 0xf0, 0xc3, 0x00, 0x00, 0x00, -} - -func (m *Image) 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 *Image) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Image) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintImage(dAtA, i, uint64(len(m.Image))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintImage(dAtA []byte, offset int, v uint64) int { - offset -= sovImage(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Image) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Image) - if l > 0 { - n += 1 + l + sovImage(uint64(l)) - } - return n -} - -func sovImage(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozImage(x uint64) (n int) { - return sovImage(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Image) 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 ErrIntOverflowImage - } - 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: Image: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Image: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowImage - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthImage - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthImage - } - 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 := skipImage(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthImage - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipImage(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, ErrIntOverflowImage - } - 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, ErrIntOverflowImage - } - 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, ErrIntOverflowImage - } - 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, ErrInvalidLengthImage - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupImage - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthImage - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthImage = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowImage = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupImage = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/keys.go b/x/cardchain/types/keys.go deleted file mode 100644 index ccc35b76..00000000 --- a/x/cardchain/types/keys.go +++ /dev/null @@ -1,35 +0,0 @@ -package types - -const ( - // ModuleName defines the module name - ModuleName = "cardchain" - - // StoreKey defines the primary module store key - StoreKey = ModuleName - CardsStoreKey = "Cards" - UsersStoreKey = "Users" - MatchesStoreKey = "Matches" - SetsStoreKey = "Sets" - SellOffersStoreKey = "SellOffers" - PoolsStoreKey = "Pools" - CouncilsStoreKey = "Councils" - ServersStoreKey = "Servers" - ZealyStoreKey = "Zealy" - EncountersStoreKey = "Encounters" - InternalStoreKey = "Internal" - RunningAveragesStoreKey = "RunningAverages" - ImagesStoreKey = "Images" - - // RouterKey is the message route for slashing - RouterKey = ModuleName - - // QuerierRoute defines the module's query routing key - QuerierRoute = ModuleName - - // MemStoreKey defines the in-memory store key - // MemStoreKey = "mem_cardchain" -) - -func KeyPrefix(p string) []byte { - return []byte(p) -} diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go deleted file mode 100644 index 9d689d14..00000000 --- a/x/cardchain/types/match.pb.go +++ /dev/null @@ -1,1162 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/match.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 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"` - PlayerA *MatchPlayer `protobuf:"bytes,3,opt,name=playerA,proto3" json:"playerA,omitempty"` - 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{} } -func (m *Match) String() string { return proto.CompactTextString(m) } -func (*Match) ProtoMessage() {} -func (*Match) Descriptor() ([]byte, []int) { - return fileDescriptor_f49b609716516c9f, []int{0} -} -func (m *Match) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Match) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Match.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 *Match) XXX_Merge(src proto.Message) { - xxx_messageInfo_Match.Merge(m, src) -} -func (m *Match) XXX_Size() int { - return m.Size() -} -func (m *Match) XXX_DiscardUnknown() { - xxx_messageInfo_Match.DiscardUnknown(m) -} - -var xxx_messageInfo_Match proto.InternalMessageInfo - -func (m *Match) GetTimestamp() uint64 { - if m != nil { - return m.Timestamp - } - return 0 -} - -func (m *Match) GetReporter() string { - if m != nil { - return m.Reporter - } - return "" -} - -func (m *Match) GetPlayerA() *MatchPlayer { - if m != nil { - return m.PlayerA - } - return nil -} - -func (m *Match) GetPlayerB() *MatchPlayer { - if m != nil { - return m.PlayerB - } - return nil -} - -func (m *Match) GetOutcome() Outcome { - if m != nil { - return m.Outcome - } - return Outcome_AWon -} - -func (m *Match) GetCoinsDistributed() bool { - if m != nil { - return m.CoinsDistributed - } - 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"` - 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{} } -func (m *MatchPlayer) String() string { return proto.CompactTextString(m) } -func (*MatchPlayer) ProtoMessage() {} -func (*MatchPlayer) Descriptor() ([]byte, []int) { - return fileDescriptor_f49b609716516c9f, []int{1} -} -func (m *MatchPlayer) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MatchPlayer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MatchPlayer.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 *MatchPlayer) XXX_Merge(src proto.Message) { - xxx_messageInfo_MatchPlayer.Merge(m, src) -} -func (m *MatchPlayer) XXX_Size() int { - return m.Size() -} -func (m *MatchPlayer) XXX_DiscardUnknown() { - xxx_messageInfo_MatchPlayer.DiscardUnknown(m) -} - -var xxx_messageInfo_MatchPlayer proto.InternalMessageInfo - -func (m *MatchPlayer) GetAddr() string { - if m != nil { - return m.Addr - } - return "" -} - -func (m *MatchPlayer) GetPlayedCards() []uint64 { - if m != nil { - return m.PlayedCards - } - return nil -} - -func (m *MatchPlayer) GetConfirmed() bool { - if m != nil { - return m.Confirmed - } - return false -} - -func (m *MatchPlayer) GetOutcome() Outcome { - if m != nil { - return m.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") -} - -func init() { proto.RegisterFile("cardchain/cardchain/match.proto", fileDescriptor_f49b609716516c9f) } - -var fileDescriptor_f49b609716516c9f = []byte{ - // 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) { - 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 *Match) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Match) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CoinsDistributed { - i-- - if m.CoinsDistributed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - 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-- - dAtA[i] = 0x38 - } - if m.PlayerB != nil { - { - size, err := m.PlayerB.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintMatch(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - } - if m.PlayerA != nil { - { - size, err := m.PlayerA.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintMatch(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } - if len(m.Reporter) > 0 { - i -= len(m.Reporter) - copy(dAtA[i:], m.Reporter) - i = encodeVarintMatch(dAtA, i, uint64(len(m.Reporter))) - i-- - dAtA[i] = 0x12 - } - if m.Timestamp != 0 { - i = encodeVarintMatch(dAtA, i, uint64(m.Timestamp)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *MatchPlayer) 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 *MatchPlayer) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MatchPlayer) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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-- - dAtA[i] = 0x20 - } - if m.Confirmed { - i-- - if m.Confirmed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x18 - } - if len(m.PlayedCards) > 0 { - dAtA6 := make([]byte, len(m.PlayedCards)*10) - var j5 int - for _, num := range m.PlayedCards { - for num >= 1<<7 { - dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j5++ - } - dAtA6[j5] = uint8(num) - j5++ - } - i -= j5 - copy(dAtA[i:], dAtA6[:j5]) - i = encodeVarintMatch(dAtA, i, uint64(j5)) - i-- - dAtA[i] = 0x12 - } - if len(m.Addr) > 0 { - i -= len(m.Addr) - copy(dAtA[i:], m.Addr) - i = encodeVarintMatch(dAtA, i, uint64(len(m.Addr))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintMatch(dAtA []byte, offset int, v uint64) int { - offset -= sovMatch(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Match) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Timestamp != 0 { - n += 1 + sovMatch(uint64(m.Timestamp)) - } - l = len(m.Reporter) - if l > 0 { - n += 1 + l + sovMatch(uint64(l)) - } - if m.PlayerA != nil { - l = m.PlayerA.Size() - n += 1 + l + sovMatch(uint64(l)) - } - if m.PlayerB != nil { - l = m.PlayerB.Size() - n += 1 + l + sovMatch(uint64(l)) - } - if m.Outcome != 0 { - n += 1 + sovMatch(uint64(m.Outcome)) - } - if m.ServerConfirmed { - n += 2 - } - if m.CoinsDistributed { - n += 2 - } - return n -} - -func (m *MatchPlayer) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Addr) - if l > 0 { - n += 1 + l + sovMatch(uint64(l)) - } - if len(m.PlayedCards) > 0 { - l = 0 - for _, e := range m.PlayedCards { - l += sovMatch(uint64(e)) - } - n += 1 + sovMatch(uint64(l)) + l - } - if m.Confirmed { - n += 2 - } - 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 -} - -func sovMatch(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozMatch(x uint64) (n int) { - return sovMatch(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Match) 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 ErrIntOverflowMatch - } - 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: Match: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Match: 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 ErrIntOverflowMatch - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Timestamp |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reporter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowMatch - } - 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 ErrInvalidLengthMatch - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthMatch - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Reporter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerA", 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 - } - if m.PlayerA == nil { - m.PlayerA = &MatchPlayer{} - } - if err := m.PlayerA.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerB", 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 - } - if m.PlayerB == nil { - m.PlayerB = &MatchPlayer{} - } - if err := m.PlayerB.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) - } - m.Outcome = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowMatch - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Outcome |= Outcome(b&0x7F) << shift - if b < 0x80 { - 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) - } - 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.CoinsDistributed = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := skipMatch(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthMatch - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MatchPlayer) 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 ErrIntOverflowMatch - } - 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: MatchPlayer: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MatchPlayer: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowMatch - } - 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 ErrInvalidLengthMatch - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthMatch - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Addr = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - 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.PlayedCards = append(m.PlayedCards, 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.PlayedCards) == 0 { - m.PlayedCards = 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.PlayedCards = append(m.PlayedCards, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field PlayedCards", wireType) - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Confirmed", 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.Confirmed = bool(v != 0) - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) - } - m.Outcome = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowMatch - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Outcome |= Outcome(b&0x7F) << shift - if b < 0x80 { - 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:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthMatch - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipMatch(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, ErrIntOverflowMatch - } - 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, ErrIntOverflowMatch - } - 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, ErrIntOverflowMatch - } - 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, ErrInvalidLengthMatch - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupMatch - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthMatch - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthMatch = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowMatch = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupMatch = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/match_reporter_proposal.pb.go b/x/cardchain/types/match_reporter_proposal.pb.go deleted file mode 100644 index 2e3ceb42..00000000 --- a/x/cardchain/types/match_reporter_proposal.pb.go +++ /dev/null @@ -1,422 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/match_reporter_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 MatchReporterProposal 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"` - Reporter string `protobuf:"bytes,3,opt,name=reporter,proto3" json:"reporter,omitempty"` -} - -func (m *MatchReporterProposal) Reset() { *m = MatchReporterProposal{} } -func (m *MatchReporterProposal) String() string { return proto.CompactTextString(m) } -func (*MatchReporterProposal) ProtoMessage() {} -func (*MatchReporterProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_5f42125af27677dc, []int{0} -} -func (m *MatchReporterProposal) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MatchReporterProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MatchReporterProposal.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 *MatchReporterProposal) XXX_Merge(src proto.Message) { - xxx_messageInfo_MatchReporterProposal.Merge(m, src) -} -func (m *MatchReporterProposal) XXX_Size() int { - return m.Size() -} -func (m *MatchReporterProposal) XXX_DiscardUnknown() { - xxx_messageInfo_MatchReporterProposal.DiscardUnknown(m) -} - -var xxx_messageInfo_MatchReporterProposal proto.InternalMessageInfo - -func (m *MatchReporterProposal) GetTitle() string { - if m != nil { - return m.Title - } - return "" -} - -func (m *MatchReporterProposal) GetDescription() string { - if m != nil { - return m.Description - } - return "" -} - -func (m *MatchReporterProposal) GetReporter() string { - if m != nil { - return m.Reporter - } - return "" -} - -func init() { - proto.RegisterType((*MatchReporterProposal)(nil), "DecentralCardGame.cardchain.cardchain.MatchReporterProposal") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/match_reporter_proposal.proto", fileDescriptor_5f42125af27677dc) -} - -var fileDescriptor_5f42125af27677dc = []byte{ - // 215 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x32, 0x4c, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x72, 0x13, 0x4b, 0x92, 0x33, 0xe2, 0x8b, 0x52, - 0x0b, 0xf2, 0x8b, 0x4a, 0x52, 0x8b, 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, 0x5a, 0x11, 0x2c, 0xa5, 0x6c, 0x2e, - 0x51, 0x5f, 0x90, 0x39, 0x41, 0x50, 0x63, 0x02, 0xa0, 0xa6, 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, 0x25, 0x99, 0xf9, 0x79, 0x12, 0x4c, 0x60, 0x39, 0x64, - 0x21, 0x21, 0x29, 0x2e, 0x0e, 0x98, 0x93, 0x24, 0x98, 0xc1, 0xd2, 0x70, 0xbe, 0x53, 0xd0, 0x89, - 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, - 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x59, 0xa4, 0x67, 0x96, 0x64, 0x94, 0x26, - 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0x63, 0x38, 0x5c, 0xdf, 0x19, 0xee, 0xe7, 0x0a, 0x24, 0xff, 0x97, - 0x54, 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, 0xbd, 0x6b, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0xaa, - 0x3c, 0x6d, 0x58, 0x23, 0x01, 0x00, 0x00, -} - -func (m *MatchReporterProposal) 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 *MatchReporterProposal) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MatchReporterProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Reporter) > 0 { - i -= len(m.Reporter) - copy(dAtA[i:], m.Reporter) - i = encodeVarintMatchReporterProposal(dAtA, i, uint64(len(m.Reporter))) - i-- - dAtA[i] = 0x1a - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = encodeVarintMatchReporterProposal(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 = encodeVarintMatchReporterProposal(dAtA, i, uint64(len(m.Title))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintMatchReporterProposal(dAtA []byte, offset int, v uint64) int { - offset -= sovMatchReporterProposal(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *MatchReporterProposal) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Title) - if l > 0 { - n += 1 + l + sovMatchReporterProposal(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + sovMatchReporterProposal(uint64(l)) - } - l = len(m.Reporter) - if l > 0 { - n += 1 + l + sovMatchReporterProposal(uint64(l)) - } - return n -} - -func sovMatchReporterProposal(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozMatchReporterProposal(x uint64) (n int) { - return sovMatchReporterProposal(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *MatchReporterProposal) 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 ErrIntOverflowMatchReporterProposal - } - 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: MatchReporterProposal: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MatchReporterProposal: 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 ErrIntOverflowMatchReporterProposal - } - 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 ErrInvalidLengthMatchReporterProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthMatchReporterProposal - } - 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 ErrIntOverflowMatchReporterProposal - } - 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 ErrInvalidLengthMatchReporterProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthMatchReporterProposal - } - 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 Reporter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowMatchReporterProposal - } - 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 ErrInvalidLengthMatchReporterProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthMatchReporterProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Reporter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipMatchReporterProposal(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthMatchReporterProposal - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipMatchReporterProposal(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, ErrIntOverflowMatchReporterProposal - } - 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, ErrIntOverflowMatchReporterProposal - } - 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, ErrIntOverflowMatchReporterProposal - } - 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, ErrInvalidLengthMatchReporterProposal - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupMatchReporterProposal - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthMatchReporterProposal - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthMatchReporterProposal = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowMatchReporterProposal = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupMatchReporterProposal = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/message_add_artwork.go b/x/cardchain/types/message_add_artwork.go deleted file mode 100644 index a70e6186..00000000 --- a/x/cardchain/types/message_add_artwork.go +++ /dev/null @@ -1,58 +0,0 @@ -package types - -import ( - fmt "fmt" - - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const ArtworkMaxSize = 500000 - -const TypeMsgAddArtwork = "add_artwork" - -var _ sdk.Msg = &MsgAddArtwork{} - -func NewMsgAddArtwork(creator string, cardId uint64, image []byte, fullArt bool) *MsgAddArtwork { - return &MsgAddArtwork{ - Creator: creator, - CardId: cardId, - Image: image, - FullArt: fullArt, - } -} - -func (msg *MsgAddArtwork) Route() string { - return RouterKey -} - -func (msg *MsgAddArtwork) Type() string { - return TypeMsgAddArtwork -} - -func (msg *MsgAddArtwork) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgAddArtwork) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgAddArtwork) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - - if len(msg.Image) > ArtworkMaxSize { - return sdkerrors.Wrap(ErrImageSizeExceeded, fmt.Sprint(len(msg.Image))) - } - - return nil -} diff --git a/x/cardchain/types/message_add_artwork_test.go b/x/cardchain/types/message_add_artwork_test.go deleted file mode 100644 index cd24cab5..00000000 --- a/x/cardchain/types/message_add_artwork_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgAddArtwork_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgAddArtwork - err error - }{ - { - name: "invalid address", - msg: MsgAddArtwork{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgAddArtwork{ - 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 deleted file mode 100644 index 99afb955..00000000 --- a/x/cardchain/types/message_add_artwork_to_set.go +++ /dev/null @@ -1,54 +0,0 @@ -package types - -import ( - fmt "fmt" - - 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) - } - - if len(msg.Image) > ArtworkMaxSize { - return sdkerrors.Wrap(ErrImageSizeExceeded, fmt.Sprint(len(msg.Image))) - } - return nil -} diff --git a/x/cardchain/types/message_add_artwork_to_set_test.go b/x/cardchain/types/message_add_artwork_to_set_test.go deleted file mode 100644 index 38a9b4cf..00000000 --- a/x/cardchain/types/message_add_artwork_to_set_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgAddArtworkToSet_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgAddArtworkToSet - err error - }{ - { - name: "invalid address", - msg: MsgAddArtworkToSet{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgAddArtworkToSet{ - 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_card_to_set.go b/x/cardchain/types/message_add_card_to_set.go deleted file mode 100644 index c9c61cc9..00000000 --- a/x/cardchain/types/message_add_card_to_set.go +++ /dev/null @@ -1,48 +0,0 @@ -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_set_test.go b/x/cardchain/types/message_add_card_to_set_test.go deleted file mode 100644 index 1032e704..00000000 --- a/x/cardchain/types/message_add_card_to_set_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgAddCardToSet_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgAddCardToSet - err error - }{ - { - name: "invalid address", - msg: MsgAddCardToSet{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgAddCardToSet{ - 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 deleted file mode 100644 index 12ff15ab..00000000 --- a/x/cardchain/types/message_add_contributor_to_set.go +++ /dev/null @@ -1,48 +0,0 @@ -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 deleted file mode 100644 index 9c5e5d00..00000000 --- a/x/cardchain/types/message_add_contributor_to_set_test.go +++ /dev/null @@ -1,40 +0,0 @@ -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_set.go b/x/cardchain/types/message_add_story_to_set.go deleted file mode 100644 index caa136be..00000000 --- a/x/cardchain/types/message_add_story_to_set.go +++ /dev/null @@ -1,48 +0,0 @@ -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 deleted file mode 100644 index c0484d95..00000000 --- a/x/cardchain/types/message_add_story_to_set_test.go +++ /dev/null @@ -1,40 +0,0 @@ -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 deleted file mode 100644 index cc780fb1..00000000 --- a/x/cardchain/types/message_apoint_match_reporter.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgApointMatchReporter = "apoint_match_reporter" - -var _ sdk.Msg = &MsgApointMatchReporter{} - -func NewMsgApointMatchReporter(creator string, reporter string) *MsgApointMatchReporter { - return &MsgApointMatchReporter{ - Creator: creator, - Reporter: reporter, - } -} - -func (msg *MsgApointMatchReporter) Route() string { - return RouterKey -} - -func (msg *MsgApointMatchReporter) Type() string { - return TypeMsgApointMatchReporter -} - -func (msg *MsgApointMatchReporter) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgApointMatchReporter) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgApointMatchReporter) 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_apoint_match_reporter_test.go b/x/cardchain/types/message_apoint_match_reporter_test.go deleted file mode 100644 index bef5c873..00000000 --- a/x/cardchain/types/message_apoint_match_reporter_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgApointMatchReporter_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgApointMatchReporter - err error - }{ - { - name: "invalid address", - msg: MsgApointMatchReporter{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgApointMatchReporter{ - 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_buy_card.go b/x/cardchain/types/message_buy_card.go deleted file mode 100644 index d65fada6..00000000 --- a/x/cardchain/types/message_buy_card.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgBuyCard = "buy_card" - -var _ sdk.Msg = &MsgBuyCard{} - -func NewMsgBuyCard(creator string, sellOfferId uint64) *MsgBuyCard { - return &MsgBuyCard{ - Creator: creator, - SellOfferId: sellOfferId, - } -} - -func (msg *MsgBuyCard) Route() string { - return RouterKey -} - -func (msg *MsgBuyCard) Type() string { - return TypeMsgBuyCard -} - -func (msg *MsgBuyCard) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgBuyCard) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgBuyCard) 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_card_scheme.go b/x/cardchain/types/message_buy_card_scheme.go deleted file mode 100644 index d961f094..00000000 --- a/x/cardchain/types/message_buy_card_scheme.go +++ /dev/null @@ -1,48 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgBuyCardScheme = "buy_card_scheme" - -var _ sdk.Msg = &MsgBuyCardScheme{} - -func NewMsgBuyCardScheme(creator string, bid sdk.Coin) *MsgBuyCardScheme { - return &MsgBuyCardScheme{ - Creator: creator, - Bid: bid, - } -} - -func (msg *MsgBuyCardScheme) Route() string { - return RouterKey -} - -func (msg *MsgBuyCardScheme) Type() string { - return TypeMsgBuyCardScheme -} - -func (msg *MsgBuyCardScheme) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -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(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 deleted file mode 100644 index 394ffa91..00000000 --- a/x/cardchain/types/message_buy_card_scheme_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgBuyCardScheme_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgBuyCardScheme - err error - }{ - { - name: "invalid address", - msg: MsgBuyCardScheme{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgBuyCardScheme{ - 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_buy_card_test.go b/x/cardchain/types/message_buy_card_test.go deleted file mode 100644 index 4871ea55..00000000 --- a/x/cardchain/types/message_buy_card_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgBuyCard_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgBuyCard - err error - }{ - { - name: "invalid address", - msg: MsgBuyCard{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgBuyCard{ - 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_buy_set.go b/x/cardchain/types/message_buy_set.go deleted file mode 100644 index 0fd13e74..00000000 --- a/x/cardchain/types/message_buy_set.go +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index 370abb7b..00000000 --- a/x/cardchain/types/message_buy_set_test.go +++ /dev/null @@ -1,40 +0,0 @@ -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_alias.go b/x/cardchain/types/message_change_alias.go deleted file mode 100644 index 9d1ed0f5..00000000 --- a/x/cardchain/types/message_change_alias.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 TypeMsgChangeAlias = "change_alias" - -var _ sdk.Msg = &MsgChangeAlias{} - -func NewMsgChangeAlias(creator string, alias string) *MsgChangeAlias { - return &MsgChangeAlias{ - Creator: creator, - Alias: alias, - } -} - -func (msg *MsgChangeAlias) Route() string { - return RouterKey -} - -func (msg *MsgChangeAlias) Type() string { - return TypeMsgChangeAlias -} - -func (msg *MsgChangeAlias) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgChangeAlias) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgChangeAlias) 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_change_alias_test.go b/x/cardchain/types/message_change_alias_test.go deleted file mode 100644 index 96beea8a..00000000 --- a/x/cardchain/types/message_change_alias_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 TestMsgChangeAlias_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgChangeAlias - err error - }{ - { - name: "invalid address", - msg: MsgChangeAlias{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgChangeAlias{ - 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 deleted file mode 100644 index 20e01a8a..00000000 --- a/x/cardchain/types/message_change_artist.go +++ /dev/null @@ -1,48 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgChangeArtist = "change_artist" - -var _ sdk.Msg = &MsgChangeArtist{} - -func NewMsgChangeArtist(creator string, cardID uint64, artist string) *MsgChangeArtist { - return &MsgChangeArtist{ - Creator: creator, - CardID: cardID, - Artist: artist, - } -} - -func (msg *MsgChangeArtist) Route() string { - return RouterKey -} - -func (msg *MsgChangeArtist) Type() string { - return TypeMsgChangeArtist -} - -func (msg *MsgChangeArtist) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgChangeArtist) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgChangeArtist) 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_change_artist_test.go b/x/cardchain/types/message_change_artist_test.go deleted file mode 100644 index 2e720c72..00000000 --- a/x/cardchain/types/message_change_artist_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgChangeArtist_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgChangeArtist - err error - }{ - { - name: "invalid address", - msg: MsgChangeArtist{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgChangeArtist{ - 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_commit_council_response.go b/x/cardchain/types/message_commit_council_response.go deleted file mode 100644 index 65c062df..00000000 --- a/x/cardchain/types/message_commit_council_response.go +++ /dev/null @@ -1,49 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgCommitCouncilResponse = "commit_council_response" - -var _ sdk.Msg = &MsgCommitCouncilResponse{} - -func NewMsgCommitCouncilResponse(creator string, response string, councilId uint64, suggestion string) *MsgCommitCouncilResponse { - return &MsgCommitCouncilResponse{ - Creator: creator, - Response: response, - CouncilId: councilId, - Suggestion: suggestion, - } -} - -func (msg *MsgCommitCouncilResponse) Route() string { - return RouterKey -} - -func (msg *MsgCommitCouncilResponse) Type() string { - return TypeMsgCommitCouncilResponse -} - -func (msg *MsgCommitCouncilResponse) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgCommitCouncilResponse) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgCommitCouncilResponse) 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_commit_council_response_test.go b/x/cardchain/types/message_commit_council_response_test.go deleted file mode 100644 index 8199b181..00000000 --- a/x/cardchain/types/message_commit_council_response_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgCommitCouncilResponse_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgCommitCouncilResponse - err error - }{ - { - name: "invalid address", - msg: MsgCommitCouncilResponse{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgCommitCouncilResponse{ - 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_confirm_match.go b/x/cardchain/types/message_confirm_match.go deleted file mode 100644 index c8fa297e..00000000 --- a/x/cardchain/types/message_confirm_match.go +++ /dev/null @@ -1,49 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgConfirmMatch = "confirm_match" - -var _ sdk.Msg = &MsgConfirmMatch{} - -func NewMsgConfirmMatch(creator string, matchId uint64, votedCards []*SingleVote, outcome Outcome) *MsgConfirmMatch { - return &MsgConfirmMatch{ - Creator: creator, - MatchId: matchId, - Outcome: outcome, - VotedCards: votedCards, - } -} - -func (msg *MsgConfirmMatch) Route() string { - return RouterKey -} - -func (msg *MsgConfirmMatch) Type() string { - return TypeMsgConfirmMatch -} - -func (msg *MsgConfirmMatch) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgConfirmMatch) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgConfirmMatch) 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_confirm_match_test.go b/x/cardchain/types/message_confirm_match_test.go deleted file mode 100644 index 60a05156..00000000 --- a/x/cardchain/types/message_confirm_match_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgConfirmMatch_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgConfirmMatch - err error - }{ - { - name: "invalid address", - msg: MsgConfirmMatch{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgConfirmMatch{ - 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_connect_zealy_account.go b/x/cardchain/types/message_connect_zealy_account.go deleted file mode 100644 index 5555f84e..00000000 --- a/x/cardchain/types/message_connect_zealy_account.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 TypeMsgConnectZealyAccount = "connect_zealy_account" - -var _ sdk.Msg = &MsgConnectZealyAccount{} - -func NewMsgConnectZealyAccount(creator string, zealyId string) *MsgConnectZealyAccount { - return &MsgConnectZealyAccount{ - Creator: creator, - ZealyId: zealyId, - } -} - -func (msg *MsgConnectZealyAccount) Route() string { - return RouterKey -} - -func (msg *MsgConnectZealyAccount) Type() string { - return TypeMsgConnectZealyAccount -} - -func (msg *MsgConnectZealyAccount) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgConnectZealyAccount) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgConnectZealyAccount) 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_connect_zealy_account_test.go b/x/cardchain/types/message_connect_zealy_account_test.go deleted file mode 100644 index 25be52f1..00000000 --- a/x/cardchain/types/message_connect_zealy_account_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 TestMsgConnectZealyAccount_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgConnectZealyAccount - err error - }{ - { - name: "invalid address", - msg: MsgConnectZealyAccount{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgConnectZealyAccount{ - 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_create_council.go b/x/cardchain/types/message_create_council.go deleted file mode 100644 index 5aadd9a4..00000000 --- a/x/cardchain/types/message_create_council.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgCreateCouncil = "create_council" - -var _ sdk.Msg = &MsgCreateCouncil{} - -func NewMsgCreateCouncil(creator string, cardId uint64) *MsgCreateCouncil { - return &MsgCreateCouncil{ - Creator: creator, - CardId: cardId, - } -} - -func (msg *MsgCreateCouncil) Route() string { - return RouterKey -} - -func (msg *MsgCreateCouncil) Type() string { - return TypeMsgCreateCouncil -} - -func (msg *MsgCreateCouncil) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgCreateCouncil) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgCreateCouncil) 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_council_test.go b/x/cardchain/types/message_create_council_test.go deleted file mode 100644 index 607e7987..00000000 --- a/x/cardchain/types/message_create_council_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgCreateCouncil_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgCreateCouncil - err error - }{ - { - name: "invalid address", - msg: MsgCreateCouncil{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgCreateCouncil{ - 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_create_sell_offer.go b/x/cardchain/types/message_create_sell_offer.go deleted file mode 100644 index 4e9bd33a..00000000 --- a/x/cardchain/types/message_create_sell_offer.go +++ /dev/null @@ -1,48 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgCreateSellOffer = "create_sell_offer" - -var _ sdk.Msg = &MsgCreateSellOffer{} - -func NewMsgCreateSellOffer(creator string, card uint64, price sdk.Coin) *MsgCreateSellOffer { - return &MsgCreateSellOffer{ - Creator: creator, - Card: card, - Price: price, - } -} - -func (msg *MsgCreateSellOffer) Route() string { - return RouterKey -} - -func (msg *MsgCreateSellOffer) Type() string { - return TypeMsgCreateSellOffer -} - -func (msg *MsgCreateSellOffer) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgCreateSellOffer) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgCreateSellOffer) 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_sell_offer_test.go b/x/cardchain/types/message_create_sell_offer_test.go deleted file mode 100644 index 1fb520d3..00000000 --- a/x/cardchain/types/message_create_sell_offer_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgCreateSellOffer_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgCreateSellOffer - err error - }{ - { - name: "invalid address", - msg: MsgCreateSellOffer{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgCreateSellOffer{ - 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_create_set.go b/x/cardchain/types/message_create_set.go deleted file mode 100644 index ea924166..00000000 --- a/x/cardchain/types/message_create_set.go +++ /dev/null @@ -1,50 +0,0 @@ -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 deleted file mode 100644 index b8fc6411..00000000 --- a/x/cardchain/types/message_create_set_test.go +++ /dev/null @@ -1,40 +0,0 @@ -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 deleted file mode 100644 index 2568eb6f..00000000 --- a/x/cardchain/types/message_createuser.go +++ /dev/null @@ -1,56 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgCreateuser = "createuser" - -var _ sdk.Msg = &MsgCreateuser{} - -func NewMsgCreateuser(creator string, newuser string, alias string) *MsgCreateuser { - return &MsgCreateuser{ - Creator: creator, - NewUser: newuser, - Alias: alias, - } -} - -func (msg *MsgCreateuser) Route() string { - return RouterKey -} - -func (msg *MsgCreateuser) Type() string { - return TypeMsgCreateuser -} - -func (msg *MsgCreateuser) GetNewUserAddr() sdk.AccAddress { - user, err := sdk.AccAddressFromBech32(msg.NewUser) - if err != nil { - panic(err) - } - return user -} - -func (msg *MsgCreateuser) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgCreateuser) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgCreateuser) 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_createuser_test.go b/x/cardchain/types/message_createuser_test.go deleted file mode 100644 index 8ca9c5b7..00000000 --- a/x/cardchain/types/message_createuser_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgCreateuser_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgCreateuser - err error - }{ - { - name: "invalid address", - msg: MsgCreateuser{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgCreateuser{ - 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_disinvite_early_access.go b/x/cardchain/types/message_disinvite_early_access.go deleted file mode 100644 index 6f7803af..00000000 --- a/x/cardchain/types/message_disinvite_early_access.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 TypeMsgDisinviteEarlyAccess = "disinvite_early_access" - -var _ sdk.Msg = &MsgDisinviteEarlyAccess{} - -func NewMsgDisinviteEarlyAccess(creator string, user string) *MsgDisinviteEarlyAccess { - return &MsgDisinviteEarlyAccess{ - Creator: creator, - User: user, - } -} - -func (msg *MsgDisinviteEarlyAccess) Route() string { - return RouterKey -} - -func (msg *MsgDisinviteEarlyAccess) Type() string { - return TypeMsgDisinviteEarlyAccess -} - -func (msg *MsgDisinviteEarlyAccess) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgDisinviteEarlyAccess) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgDisinviteEarlyAccess) 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_disinvite_early_access_test.go b/x/cardchain/types/message_disinvite_early_access_test.go deleted file mode 100644 index 4da142f6..00000000 --- a/x/cardchain/types/message_disinvite_early_access_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 TestMsgDisinviteEarlyAccess_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgDisinviteEarlyAccess - err error - }{ - { - name: "invalid address", - msg: MsgDisinviteEarlyAccess{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgDisinviteEarlyAccess{ - 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_donate_to_card.go b/x/cardchain/types/message_donate_to_card.go deleted file mode 100644 index b54ef0fe..00000000 --- a/x/cardchain/types/message_donate_to_card.go +++ /dev/null @@ -1,48 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgDonateToCard = "donate_to_card" - -var _ sdk.Msg = &MsgDonateToCard{} - -func NewMsgDonateToCard(creator string, cardId uint64, amount sdk.Coin) *MsgDonateToCard { - return &MsgDonateToCard{ - Creator: creator, - CardId: cardId, - Amount: amount, - } -} - -func (msg *MsgDonateToCard) Route() string { - return RouterKey -} - -func (msg *MsgDonateToCard) Type() string { - return TypeMsgDonateToCard -} - -func (msg *MsgDonateToCard) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgDonateToCard) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgDonateToCard) 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_donate_to_card_test.go b/x/cardchain/types/message_donate_to_card_test.go deleted file mode 100644 index 194c8305..00000000 --- a/x/cardchain/types/message_donate_to_card_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgDonateToCard_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgDonateToCard - err error - }{ - { - name: "invalid address", - msg: MsgDonateToCard{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgDonateToCard{ - 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_encounter_close.go b/x/cardchain/types/message_encounter_close.go deleted file mode 100644 index b379aae7..00000000 --- a/x/cardchain/types/message_encounter_close.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 TypeMsgEncounterClose = "encounter_close" - -var _ sdk.Msg = &MsgEncounterClose{} - -func NewMsgEncounterClose(creator string, encounterId uint64, user string, won bool) *MsgEncounterClose { - return &MsgEncounterClose{ - Creator: creator, - EncounterId: encounterId, - User: user, - Won: won, - } -} - -func (msg *MsgEncounterClose) Route() string { - return RouterKey -} - -func (msg *MsgEncounterClose) Type() string { - return TypeMsgEncounterClose -} - -func (msg *MsgEncounterClose) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgEncounterClose) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgEncounterClose) 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_encounter_close_test.go b/x/cardchain/types/message_encounter_close_test.go deleted file mode 100644 index 8b51e895..00000000 --- a/x/cardchain/types/message_encounter_close_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 TestMsgEncounterClose_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgEncounterClose - err error - }{ - { - name: "invalid address", - msg: MsgEncounterClose{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgEncounterClose{ - 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_encounter_create.go b/x/cardchain/types/message_encounter_create.go deleted file mode 100644 index fa21cc8e..00000000 --- a/x/cardchain/types/message_encounter_create.go +++ /dev/null @@ -1,65 +0,0 @@ -package types - -import ( - fmt "fmt" - - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgEncounterCreate = "encounter_create" - -var _ sdk.Msg = &MsgEncounterCreate{} - -func NewMsgEncounterCreate(creator string, name string, drawlist []uint64, parameters map[string]string, image []byte) *MsgEncounterCreate { - return &MsgEncounterCreate{ - Creator: creator, - Name: name, - Drawlist: drawlist, - Parameters: parameters, - Image: image, - } -} - -func (msg *MsgEncounterCreate) Route() string { - return RouterKey -} - -func (msg *MsgEncounterCreate) Type() string { - return TypeMsgEncounterCreate -} - -func (msg *MsgEncounterCreate) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgEncounterCreate) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgEncounterCreate) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - - if len(msg.Drawlist) != 40 { - return sdkerrors.Wrapf(ErrInvalidData, "invalid drawlist length, must be 40 is '%d'", len(msg.Drawlist)) - } - - if msg.Name == "" { - return sdkerrors.Wrap(ErrInvalidData, "encounter needs a name") - } - - if len(msg.Image) > ArtworkMaxSize { - return sdkerrors.Wrap(ErrImageSizeExceeded, fmt.Sprint(len(msg.Image))) - } - - return nil -} diff --git a/x/cardchain/types/message_encounter_create_test.go b/x/cardchain/types/message_encounter_create_test.go deleted file mode 100644 index e76ac6bd..00000000 --- a/x/cardchain/types/message_encounter_create_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 TestMsgEncounterCreate_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgEncounterCreate - err error - }{ - { - name: "invalid address", - msg: MsgEncounterCreate{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgEncounterCreate{ - 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_encounter_do.go b/x/cardchain/types/message_encounter_do.go deleted file mode 100644 index 5cac8356..00000000 --- a/x/cardchain/types/message_encounter_do.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 TypeMsgEncounterDo = "encounter_do" - -var _ sdk.Msg = &MsgEncounterDo{} - -func NewMsgEncounterDo(creator string, encounterId uint64, user string) *MsgEncounterDo { - return &MsgEncounterDo{ - Creator: creator, - EncounterId: encounterId, - User: user, - } -} - -func (msg *MsgEncounterDo) Route() string { - return RouterKey -} - -func (msg *MsgEncounterDo) Type() string { - return TypeMsgEncounterDo -} - -func (msg *MsgEncounterDo) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgEncounterDo) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgEncounterDo) 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_encounter_do_test.go b/x/cardchain/types/message_encounter_do_test.go deleted file mode 100644 index fedad6a7..00000000 --- a/x/cardchain/types/message_encounter_do_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 TestMsgEncounterDo_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgEncounterDo - err error - }{ - { - name: "invalid address", - msg: MsgEncounterDo{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgEncounterDo{ - 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_finalize_set.go b/x/cardchain/types/message_finalize_set.go deleted file mode 100644 index b232a164..00000000 --- a/x/cardchain/types/message_finalize_set.go +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index 9121e7e3..00000000 --- a/x/cardchain/types/message_finalize_set_test.go +++ /dev/null @@ -1,40 +0,0 @@ -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_invite_early_access.go b/x/cardchain/types/message_invite_early_access.go deleted file mode 100644 index fe242d82..00000000 --- a/x/cardchain/types/message_invite_early_access.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 TypeMsgInviteEarlyAccess = "invite_early_access" - -var _ sdk.Msg = &MsgInviteEarlyAccess{} - -func NewMsgInviteEarlyAccess(creator string, user string) *MsgInviteEarlyAccess { - return &MsgInviteEarlyAccess{ - Creator: creator, - User: user, - } -} - -func (msg *MsgInviteEarlyAccess) Route() string { - return RouterKey -} - -func (msg *MsgInviteEarlyAccess) Type() string { - return TypeMsgInviteEarlyAccess -} - -func (msg *MsgInviteEarlyAccess) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgInviteEarlyAccess) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgInviteEarlyAccess) 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_invite_early_access_test.go b/x/cardchain/types/message_invite_early_access_test.go deleted file mode 100644 index 72a0951b..00000000 --- a/x/cardchain/types/message_invite_early_access_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 TestMsgInviteEarlyAccess_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgInviteEarlyAccess - err error - }{ - { - name: "invalid address", - msg: MsgInviteEarlyAccess{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgInviteEarlyAccess{ - 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 deleted file mode 100644 index ebd88a4d..00000000 --- a/x/cardchain/types/message_msg_open_match.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 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_msg_open_match_test.go b/x/cardchain/types/message_msg_open_match_test.go deleted file mode 100644 index ea6cf567..00000000 --- a/x/cardchain/types/message_msg_open_match_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 TestMsgOpenMatch_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgOpenMatch - err error - }{ - { - name: "invalid address", - msg: MsgOpenMatch{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgOpenMatch{ - 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_multi_vote_card.go b/x/cardchain/types/message_multi_vote_card.go deleted file mode 100644 index 77c89e49..00000000 --- a/x/cardchain/types/message_multi_vote_card.go +++ /dev/null @@ -1,46 +0,0 @@ -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 deleted file mode 100644 index 9dc82004..00000000 --- a/x/cardchain/types/message_multi_vote_card_test.go +++ /dev/null @@ -1,40 +0,0 @@ -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 deleted file mode 100644 index 1d6b4c61..00000000 --- a/x/cardchain/types/message_open_booster_pack.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgOpenBoosterPack = "open_booster_pack" - -var _ sdk.Msg = &MsgOpenBoosterPack{} - -func NewMsgOpenBoosterPack(creator string, boosterPackId uint64) *MsgOpenBoosterPack { - return &MsgOpenBoosterPack{ - Creator: creator, - BoosterPackId: boosterPackId, - } -} - -func (msg *MsgOpenBoosterPack) Route() string { - return RouterKey -} - -func (msg *MsgOpenBoosterPack) Type() string { - return TypeMsgOpenBoosterPack -} - -func (msg *MsgOpenBoosterPack) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgOpenBoosterPack) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgOpenBoosterPack) 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_open_booster_pack_test.go b/x/cardchain/types/message_open_booster_pack_test.go deleted file mode 100644 index 0921ebab..00000000 --- a/x/cardchain/types/message_open_booster_pack_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgOpenBoosterPack_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgOpenBoosterPack - err error - }{ - { - name: "invalid address", - msg: MsgOpenBoosterPack{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgOpenBoosterPack{ - 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_register_for_council.go b/x/cardchain/types/message_register_for_council.go deleted file mode 100644 index 7e3d186c..00000000 --- a/x/cardchain/types/message_register_for_council.go +++ /dev/null @@ -1,46 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgRegisterForCouncil = "register_for_council" - -var _ sdk.Msg = &MsgRegisterForCouncil{} - -func NewMsgRegisterForCouncil(creator string) *MsgRegisterForCouncil { - return &MsgRegisterForCouncil{ - Creator: creator, - } -} - -func (msg *MsgRegisterForCouncil) Route() string { - return RouterKey -} - -func (msg *MsgRegisterForCouncil) Type() string { - return TypeMsgRegisterForCouncil -} - -func (msg *MsgRegisterForCouncil) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgRegisterForCouncil) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgRegisterForCouncil) 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_register_for_council_test.go b/x/cardchain/types/message_register_for_council_test.go deleted file mode 100644 index 66cf6382..00000000 --- a/x/cardchain/types/message_register_for_council_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgRegisterForCouncil_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgRegisterForCouncil - err error - }{ - { - name: "invalid address", - msg: MsgRegisterForCouncil{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgRegisterForCouncil{ - 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 deleted file mode 100644 index 99cc98f6..00000000 --- a/x/cardchain/types/message_remove_card_from_set.go +++ /dev/null @@ -1,48 +0,0 @@ -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 deleted file mode 100644 index 79518ffd..00000000 --- a/x/cardchain/types/message_remove_card_from_set_test.go +++ /dev/null @@ -1,40 +0,0 @@ -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_set.go b/x/cardchain/types/message_remove_contributor_from_set.go deleted file mode 100644 index 76047d16..00000000 --- a/x/cardchain/types/message_remove_contributor_from_set.go +++ /dev/null @@ -1,48 +0,0 @@ -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_remove_contributor_from_set_test.go b/x/cardchain/types/message_remove_contributor_from_set_test.go deleted file mode 100644 index 1ffde038..00000000 --- a/x/cardchain/types/message_remove_contributor_from_set_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgRemoveContributorFromSet_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgRemoveContributorFromSet - err error - }{ - { - name: "invalid address", - msg: MsgRemoveContributorFromSet{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgRemoveContributorFromSet{ - 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_sell_offer.go b/x/cardchain/types/message_remove_sell_offer.go deleted file mode 100644 index 1fdcf74c..00000000 --- a/x/cardchain/types/message_remove_sell_offer.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgRemoveSellOffer = "remove_sell_offer" - -var _ sdk.Msg = &MsgRemoveSellOffer{} - -func NewMsgRemoveSellOffer(creator string, sellOfferId uint64) *MsgRemoveSellOffer { - return &MsgRemoveSellOffer{ - Creator: creator, - SellOfferId: sellOfferId, - } -} - -func (msg *MsgRemoveSellOffer) Route() string { - return RouterKey -} - -func (msg *MsgRemoveSellOffer) Type() string { - return TypeMsgRemoveSellOffer -} - -func (msg *MsgRemoveSellOffer) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgRemoveSellOffer) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgRemoveSellOffer) 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_sell_offer_test.go b/x/cardchain/types/message_remove_sell_offer_test.go deleted file mode 100644 index fa4d8ba9..00000000 --- a/x/cardchain/types/message_remove_sell_offer_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgRemoveSellOffer_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgRemoveSellOffer - err error - }{ - { - name: "invalid address", - msg: MsgRemoveSellOffer{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgRemoveSellOffer{ - 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_report_match.go b/x/cardchain/types/message_report_match.go deleted file mode 100644 index e536b125..00000000 --- a/x/cardchain/types/message_report_match.go +++ /dev/null @@ -1,50 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgReportMatch = "report_match" - -var _ sdk.Msg = &MsgReportMatch{} - -func NewMsgReportMatch(creator string, matchId uint64, cardsA []uint64, cardsB []uint64, outcome Outcome) *MsgReportMatch { - return &MsgReportMatch{ - Creator: creator, - MatchId: matchId, - PlayedCardsA: cardsA, - PlayedCardsB: cardsB, - Outcome: outcome, - } -} - -func (msg *MsgReportMatch) Route() string { - return RouterKey -} - -func (msg *MsgReportMatch) Type() string { - return TypeMsgReportMatch -} - -func (msg *MsgReportMatch) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgReportMatch) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgReportMatch) 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_report_match_test.go b/x/cardchain/types/message_report_match_test.go deleted file mode 100644 index 5945be8e..00000000 --- a/x/cardchain/types/message_report_match_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgReportMatch_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgReportMatch - err error - }{ - { - name: "invalid address", - msg: MsgReportMatch{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgReportMatch{ - 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_restart_council.go b/x/cardchain/types/message_restart_council.go deleted file mode 100644 index 170d6ea3..00000000 --- a/x/cardchain/types/message_restart_council.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgRestartCouncil = "restart_council" - -var _ sdk.Msg = &MsgRestartCouncil{} - -func NewMsgRestartCouncil(creator string, councilId uint64) *MsgRestartCouncil { - return &MsgRestartCouncil{ - Creator: creator, - CouncilId: councilId, - } -} - -func (msg *MsgRestartCouncil) Route() string { - return RouterKey -} - -func (msg *MsgRestartCouncil) Type() string { - return TypeMsgRestartCouncil -} - -func (msg *MsgRestartCouncil) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgRestartCouncil) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgRestartCouncil) 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_restart_council_test.go b/x/cardchain/types/message_restart_council_test.go deleted file mode 100644 index e497957c..00000000 --- a/x/cardchain/types/message_restart_council_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgRestartCouncil_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgRestartCouncil - err error - }{ - { - name: "invalid address", - msg: MsgRestartCouncil{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgRestartCouncil{ - 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_reveal_council_response.go b/x/cardchain/types/message_reveal_council_response.go deleted file mode 100644 index b4712ee0..00000000 --- a/x/cardchain/types/message_reveal_council_response.go +++ /dev/null @@ -1,49 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgRevealCouncilResponse = "reveal_council_response" - -var _ sdk.Msg = &MsgRevealCouncilResponse{} - -func NewMsgRevealCouncilResponse(creator string, response Response, secret string, councilId uint64) *MsgRevealCouncilResponse { - return &MsgRevealCouncilResponse{ - Creator: creator, - Response: response, - Secret: secret, - CouncilId: councilId, - } -} - -func (msg *MsgRevealCouncilResponse) Route() string { - return RouterKey -} - -func (msg *MsgRevealCouncilResponse) Type() string { - return TypeMsgRevealCouncilResponse -} - -func (msg *MsgRevealCouncilResponse) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgRevealCouncilResponse) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgRevealCouncilResponse) 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_reveal_council_response_test.go b/x/cardchain/types/message_reveal_council_response_test.go deleted file mode 100644 index 678c123c..00000000 --- a/x/cardchain/types/message_reveal_council_response_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgRevealCouncilResponse_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgRevealCouncilResponse - err error - }{ - { - name: "invalid address", - msg: MsgRevealCouncilResponse{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgRevealCouncilResponse{ - 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_rewoke_council_registration.go b/x/cardchain/types/message_rewoke_council_registration.go deleted file mode 100644 index 76652620..00000000 --- a/x/cardchain/types/message_rewoke_council_registration.go +++ /dev/null @@ -1,46 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgRewokeCouncilRegistration = "rewoke_council_registration" - -var _ sdk.Msg = &MsgRewokeCouncilRegistration{} - -func NewMsgRewokeCouncilRegistration(creator string) *MsgRewokeCouncilRegistration { - return &MsgRewokeCouncilRegistration{ - Creator: creator, - } -} - -func (msg *MsgRewokeCouncilRegistration) Route() string { - return RouterKey -} - -func (msg *MsgRewokeCouncilRegistration) Type() string { - return TypeMsgRewokeCouncilRegistration -} - -func (msg *MsgRewokeCouncilRegistration) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgRewokeCouncilRegistration) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgRewokeCouncilRegistration) 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_rewoke_council_registration_test.go b/x/cardchain/types/message_rewoke_council_registration_test.go deleted file mode 100644 index 749e15db..00000000 --- a/x/cardchain/types/message_rewoke_council_registration_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgRewokeCouncilRegistration_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgRewokeCouncilRegistration - err error - }{ - { - name: "invalid address", - msg: MsgRewokeCouncilRegistration{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgRewokeCouncilRegistration{ - 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_save_card_content.go b/x/cardchain/types/message_save_card_content.go deleted file mode 100644 index 51512f74..00000000 --- a/x/cardchain/types/message_save_card_content.go +++ /dev/null @@ -1,50 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgSaveCardContent = "save_card_content" - -var _ sdk.Msg = &MsgSaveCardContent{} - -func NewMsgSaveCardContent(creator string, cardId uint64, content []byte, notes string, artist string) *MsgSaveCardContent { - return &MsgSaveCardContent{ - Creator: creator, - CardId: cardId, - Content: content, - Notes: notes, - Artist: artist, - } -} - -func (msg *MsgSaveCardContent) Route() string { - return RouterKey -} - -func (msg *MsgSaveCardContent) Type() string { - return TypeMsgSaveCardContent -} - -func (msg *MsgSaveCardContent) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgSaveCardContent) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgSaveCardContent) 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_save_card_content_test.go b/x/cardchain/types/message_save_card_content_test.go deleted file mode 100644 index caf1e227..00000000 --- a/x/cardchain/types/message_save_card_content_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgSaveCardContent_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgSaveCardContent - err error - }{ - { - name: "invalid address", - msg: MsgSaveCardContent{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgSaveCardContent{ - 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_card_rarity.go b/x/cardchain/types/message_set_card_rarity.go deleted file mode 100644 index a4ab8fca..00000000 --- a/x/cardchain/types/message_set_card_rarity.go +++ /dev/null @@ -1,54 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgSetCardRarity = "set_card_rarity" - -var _ sdk.Msg = &MsgSetCardRarity{} - -func NewMsgSetCardRarity(creator string, cardId uint64, setId uint64, rarity CardRarity) *MsgSetCardRarity { - return &MsgSetCardRarity{ - Creator: creator, - CardId: cardId, - SetId: setId, - Rarity: rarity, - } -} - -func (msg *MsgSetCardRarity) Route() string { - return RouterKey -} - -func (msg *MsgSetCardRarity) Type() string { - return TypeMsgSetCardRarity -} - -func (msg *MsgSetCardRarity) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgSetCardRarity) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgSetCardRarity) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - 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 deleted file mode 100644 index c7f21b99..00000000 --- a/x/cardchain/types/message_set_card_rarity_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgSetCardRarity_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgSetCardRarity - err error - }{ - { - name: "invalid address", - msg: MsgSetCardRarity{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgSetCardRarity{ - 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 deleted file mode 100644 index aa5f82dc..00000000 --- a/x/cardchain/types/message_set_profile_card.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgSetProfileCard = "set_profile_card" - -var _ sdk.Msg = &MsgSetProfileCard{} - -func NewMsgSetProfileCard(creator string, cardId uint64) *MsgSetProfileCard { - return &MsgSetProfileCard{ - Creator: creator, - CardId: cardId, - } -} - -func (msg *MsgSetProfileCard) Route() string { - return RouterKey -} - -func (msg *MsgSetProfileCard) Type() string { - return TypeMsgSetProfileCard -} - -func (msg *MsgSetProfileCard) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgSetProfileCard) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgSetProfileCard) 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_profile_card_test.go b/x/cardchain/types/message_set_profile_card_test.go deleted file mode 100644 index cc2d6d07..00000000 --- a/x/cardchain/types/message_set_profile_card_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgSetProfileCard_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgSetProfileCard - err error - }{ - { - name: "invalid address", - msg: MsgSetProfileCard{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgSetProfileCard{ - 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_artist.go b/x/cardchain/types/message_set_set_artist.go deleted file mode 100644 index e8ce531a..00000000 --- a/x/cardchain/types/message_set_set_artist.go +++ /dev/null @@ -1,48 +0,0 @@ -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 deleted file mode 100644 index 4db4ad47..00000000 --- a/x/cardchain/types/message_set_set_artist_test.go +++ /dev/null @@ -1,40 +0,0 @@ -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 deleted file mode 100644 index b0cb29d9..00000000 --- a/x/cardchain/types/message_set_set_name.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 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_set_set_name_test.go b/x/cardchain/types/message_set_set_name_test.go deleted file mode 100644 index 9cbf4260..00000000 --- a/x/cardchain/types/message_set_set_name_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 TestMsgSetSetName_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgSetSetName - err error - }{ - { - name: "invalid address", - msg: MsgSetSetName{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgSetSetName{ - 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_story_writer.go b/x/cardchain/types/message_set_set_story_writer.go deleted file mode 100644 index e8a04aea..00000000 --- a/x/cardchain/types/message_set_set_story_writer.go +++ /dev/null @@ -1,48 +0,0 @@ -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 deleted file mode 100644 index 4babf281..00000000 --- a/x/cardchain/types/message_set_set_story_writer_test.go +++ /dev/null @@ -1,40 +0,0 @@ -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 deleted file mode 100644 index 50a39e78..00000000 --- a/x/cardchain/types/message_set_user_biography.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgSetUserBiography = "set_user_biography" - -var _ sdk.Msg = &MsgSetUserBiography{} - -func NewMsgSetUserBiography(creator string, biography string) *MsgSetUserBiography { - return &MsgSetUserBiography{ - Creator: creator, - Biography: biography, - } -} - -func (msg *MsgSetUserBiography) Route() string { - return RouterKey -} - -func (msg *MsgSetUserBiography) Type() string { - return TypeMsgSetUserBiography -} - -func (msg *MsgSetUserBiography) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgSetUserBiography) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgSetUserBiography) 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_user_biography_test.go b/x/cardchain/types/message_set_user_biography_test.go deleted file mode 100644 index a6ee84dd..00000000 --- a/x/cardchain/types/message_set_user_biography_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgSetUserBiography_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgSetUserBiography - err error - }{ - { - name: "invalid address", - msg: MsgSetUserBiography{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgSetUserBiography{ - 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_website.go b/x/cardchain/types/message_set_user_website.go deleted file mode 100644 index 939a777b..00000000 --- a/x/cardchain/types/message_set_user_website.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgSetUserWebsite = "set_user_website" - -var _ sdk.Msg = &MsgSetUserWebsite{} - -func NewMsgSetUserWebsite(creator string, website string) *MsgSetUserWebsite { - return &MsgSetUserWebsite{ - Creator: creator, - Website: website, - } -} - -func (msg *MsgSetUserWebsite) Route() string { - return RouterKey -} - -func (msg *MsgSetUserWebsite) Type() string { - return TypeMsgSetUserWebsite -} - -func (msg *MsgSetUserWebsite) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgSetUserWebsite) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgSetUserWebsite) 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_user_website_test.go b/x/cardchain/types/message_set_user_website_test.go deleted file mode 100644 index d7385d9a..00000000 --- a/x/cardchain/types/message_set_user_website_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgSetUserWebsite_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgSetUserWebsite - err error - }{ - { - name: "invalid address", - msg: MsgSetUserWebsite{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgSetUserWebsite{ - 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 deleted file mode 100644 index bf628d96..00000000 --- a/x/cardchain/types/message_transfer_booster_pack.go +++ /dev/null @@ -1,48 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgTransferBoosterPack = "transfer_booster_pack" - -var _ sdk.Msg = &MsgTransferBoosterPack{} - -func NewMsgTransferBoosterPack(creator string, boosterPackId uint64, receiver string) *MsgTransferBoosterPack { - return &MsgTransferBoosterPack{ - Creator: creator, - BoosterPackId: boosterPackId, - Receiver: receiver, - } -} - -func (msg *MsgTransferBoosterPack) Route() string { - return RouterKey -} - -func (msg *MsgTransferBoosterPack) Type() string { - return TypeMsgTransferBoosterPack -} - -func (msg *MsgTransferBoosterPack) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgTransferBoosterPack) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgTransferBoosterPack) 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_transfer_booster_pack_test.go b/x/cardchain/types/message_transfer_booster_pack_test.go deleted file mode 100644 index 7c2ac31f..00000000 --- a/x/cardchain/types/message_transfer_booster_pack_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgTransferBoosterPack_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgTransferBoosterPack - err error - }{ - { - name: "invalid address", - msg: MsgTransferBoosterPack{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgTransferBoosterPack{ - 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_card.go b/x/cardchain/types/message_transfer_card.go deleted file mode 100644 index c6d606bd..00000000 --- a/x/cardchain/types/message_transfer_card.go +++ /dev/null @@ -1,48 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgTransferCard = "transfer_card" - -var _ sdk.Msg = &MsgTransferCard{} - -func NewMsgTransferCard(creator string, cardId uint64, receiver string) *MsgTransferCard { - return &MsgTransferCard{ - Creator: creator, - CardId: cardId, - Receiver: receiver, - } -} - -func (msg *MsgTransferCard) Route() string { - return RouterKey -} - -func (msg *MsgTransferCard) Type() string { - return TypeMsgTransferCard -} - -func (msg *MsgTransferCard) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgTransferCard) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgTransferCard) 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_transfer_card_test.go b/x/cardchain/types/message_transfer_card_test.go deleted file mode 100644 index 1c4b5ae8..00000000 --- a/x/cardchain/types/message_transfer_card_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgTransferCard_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgTransferCard - err error - }{ - { - name: "invalid address", - msg: MsgTransferCard{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgTransferCard{ - 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_vote_card.go b/x/cardchain/types/message_vote_card.go deleted file mode 100644 index fdaa621a..00000000 --- a/x/cardchain/types/message_vote_card.go +++ /dev/null @@ -1,48 +0,0 @@ -package types - -import ( - sdkerrors "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgVoteCard = "vote_card" - -var _ sdk.Msg = &MsgVoteCard{} - -func NewMsgVoteCard(creator string, cardId uint64, voteType VoteType) *MsgVoteCard { - return &MsgVoteCard{ - Creator: creator, - CardId: cardId, - VoteType: voteType, - } -} - -func (msg *MsgVoteCard) Route() string { - return RouterKey -} - -func (msg *MsgVoteCard) Type() string { - return TypeMsgVoteCard -} - -func (msg *MsgVoteCard) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgVoteCard) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgVoteCard) 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_vote_card_test.go b/x/cardchain/types/message_vote_card_test.go deleted file mode 100644 index cae806fe..00000000 --- a/x/cardchain/types/message_vote_card_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgVoteCard_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgVoteCard - err error - }{ - { - name: "invalid address", - msg: MsgVoteCard{ - Creator: "invalid_address", - }, - err: errors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgVoteCard{ - 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/num.pb.go b/x/cardchain/types/num.pb.go deleted file mode 100644 index db2feb73..00000000 --- a/x/cardchain/types/num.pb.go +++ /dev/null @@ -1,298 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/num.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 Num struct { - Num uint64 `protobuf:"varint,1,opt,name=num,proto3" json:"num,omitempty"` -} - -func (m *Num) Reset() { *m = Num{} } -func (m *Num) String() string { return proto.CompactTextString(m) } -func (*Num) ProtoMessage() {} -func (*Num) Descriptor() ([]byte, []int) { - return fileDescriptor_be8334ccfa5e94e5, []int{0} -} -func (m *Num) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Num) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Num.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 *Num) XXX_Merge(src proto.Message) { - xxx_messageInfo_Num.Merge(m, src) -} -func (m *Num) XXX_Size() int { - return m.Size() -} -func (m *Num) XXX_DiscardUnknown() { - xxx_messageInfo_Num.DiscardUnknown(m) -} - -var xxx_messageInfo_Num proto.InternalMessageInfo - -func (m *Num) GetNum() uint64 { - if m != nil { - return m.Num - } - return 0 -} - -func init() { - proto.RegisterType((*Num)(nil), "DecentralCardGame.cardchain.cardchain.Num") -} - -func init() { proto.RegisterFile("cardchain/cardchain/num.proto", fileDescriptor_be8334ccfa5e94e5) } - -var fileDescriptor_be8334ccfa5e94e5 = []byte{ - // 154 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4d, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xf2, 0x4a, 0x73, 0xf5, 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, 0xca, 0x10, 0x2c, 0x25, 0x71, 0x2e, 0x66, 0xbf, 0xd2, 0x5c, - 0x21, 0x01, 0x2e, 0xe6, 0xbc, 0xd2, 0x5c, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x10, 0xd3, - 0x29, 0xe8, 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, 0x2c, 0xd2, 0x33, 0x4b, - 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x31, 0x2c, 0xd1, 0x77, 0x86, 0xbb, 0xa5, 0x02, - 0xc9, 0x5d, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, 0xa7, 0x19, 0x03, 0x02, 0x00, 0x00, - 0xff, 0xff, 0x45, 0x8f, 0x11, 0xfb, 0xbb, 0x00, 0x00, 0x00, -} - -func (m *Num) 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 *Num) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Num) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Num != 0 { - i = encodeVarintNum(dAtA, i, uint64(m.Num)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintNum(dAtA []byte, offset int, v uint64) int { - offset -= sovNum(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Num) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Num != 0 { - n += 1 + sovNum(uint64(m.Num)) - } - return n -} - -func sovNum(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozNum(x uint64) (n int) { - return sovNum(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Num) 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 ErrIntOverflowNum - } - 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: Num: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Num: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Num", wireType) - } - m.Num = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNum - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Num |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipNum(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthNum - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipNum(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, ErrIntOverflowNum - } - 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, ErrIntOverflowNum - } - 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, ErrIntOverflowNum - } - 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, ErrInvalidLengthNum - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupNum - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthNum - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthNum = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowNum = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupNum = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/params.go b/x/cardchain/types/params.go deleted file mode 100644 index d82ab967..00000000 --- a/x/cardchain/types/params.go +++ /dev/null @@ -1,335 +0,0 @@ -package types - -import ( - "fmt" - "math" - "strconv" - - sdk "github.com/cosmos/cosmos-sdk/types" - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "gopkg.in/yaml.v2" -) - -var _ paramtypes.ParamSet = (*Params)(nil) - -const DefaultMatchWorkerDelay = 170 - -// 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{ - VotingRightsExpirationTime: 86000, - 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))), - WinnerReward: int64(math.Pow(10, 6)), - VotePoolFraction: 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, - CommonsPerPack: 9, - UnCommonsPerPack: 3, - TrialPeriod: 14 * 24 * 500, - GameVoteRatio: 20, // This is a fixed point number and will be devided by 100 when used - CardAuctionPriceReductionPeriod: 20, - AirDropValue: sdk.NewInt64Coin("ubpf", int64(5*math.Pow(10, 6))), - AirDropMaxBlockHeight: 5000000, - MatchWorkerDelay: DefaultMatchWorkerDelay, - RareDropRatio: 150, - ExceptionalDropRatio: 50, - UniqueDropRatio: 1, - } -} - -// 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{ - paramtypes.NewParamSetPair([]byte("VotingRightsExpirationTime"), &p.VotingRightsExpirationTime, validateVotingRightsExpirationTime), - 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("InflationRate"), &p.InflationRate, validateInflationRate), - paramtypes.NewParamSetPair([]byte("RaresPerPack"), &p.RaresPerPack, validatePerPack), - paramtypes.NewParamSetPair([]byte("CommonsPerPack"), &p.CommonsPerPack, validatePerPack), - paramtypes.NewParamSetPair([]byte("UnCommonsPerPack"), &p.UnCommonsPerPack, validatePerPack), - paramtypes.NewParamSetPair([]byte("TrialPeriod"), &p.TrialPeriod, validateTrialPeriod), - paramtypes.NewParamSetPair([]byte("GameVoteRatio"), &p.GameVoteRatio, validateGameVoteRatio), - 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), - } -} - -// 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) -} - -func validateVotingRightsExpirationTime(i interface{}) error { - v, ok := i.(int64) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - - if v == 0 { - return fmt.Errorf("invalid VotingRightsExpirationTime: %d", v) - } - - return nil -} - -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 SetSize: %d", v) - } - - return nil -} - -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 SetPrice: %v", v) - } - - return nil -} - -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 ActiveSetsAmount: %d", v) - } - - return nil -} - -func validateTrialPeriod(i interface{}) error { - v, ok := i.(uint64) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - - if v == 0 { - return fmt.Errorf("invalid TrialPeriod: %d", v) - } - - return nil -} - -func validatePerPack(i interface{}) error { - v, ok := i.(uint64) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - - if v == 0 { - return fmt.Errorf("invalid number per pack: %d", v) - } - - return nil -} - -func validateGameVoteRatio(i interface{}) error { - v, ok := i.(int64) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - - if v == 0 { - return fmt.Errorf("invalid GameVoteRatio: %d", v) - } - - return nil -} - -func validateCardAuctionPriceReductionPeriod(i interface{}) error { - v, ok := i.(int64) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - - if v == 0 { - return fmt.Errorf("invalid CardAuctionPriceReductionPeriod: %d", v) - } - - return nil -} - -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 SetCreationFee: %v", v) - } - - return nil -} - -func validateAirDropValue(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 AirDropValue: %v", v) - } - - return nil -} - -func validateCollateralDeposit(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 CollateralDeposit: %v", v) - } - - return nil -} - -func validateWinnerReward(i interface{}) error { - v, ok := i.(int64) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - - if v == 0 { - return fmt.Errorf("invalid WinnerReward: %d", v) - } - - return nil -} - -func validateVoterReward(i interface{}) error { - v, ok := i.(int64) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - - if v == 0 { - return fmt.Errorf("invalid VoterReward: %d", v) - } - - return nil -} - -func validateAirDropMaxBlockHeight(i interface{}) error { - v, ok := i.(int64) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - - if v < 0 { - return fmt.Errorf("invalid AirDropMaxBlockHeight: %d", v) - } - - return nil -} - -func validateHourlyFaucet(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 HourlyFaucet: %v", v) - } - - return nil -} - -func validateInflationRate(i interface{}) error { - v, ok := i.(string) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - _, err := strconv.ParseFloat(v, 8) - if err != nil { - return fmt.Errorf("invalid parameter: %d", err) - } - 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 deleted file mode 100644 index 27303621..00000000 --- a/x/cardchain/types/params.pb.go +++ /dev/null @@ -1,1242 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/params.proto - -package types - -import ( - fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "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 { - VotingRightsExpirationTime int64 `protobuf:"varint,1,opt,name=votingRightsExpirationTime,proto3" json:"votingRightsExpirationTime,omitempty"` - 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"` - InflationRate string `protobuf:"bytes,10,opt,name=inflationRate,proto3" json:"inflationRate,omitempty"` - RaresPerPack uint64 `protobuf:"varint,11,opt,name=raresPerPack,proto3" json:"raresPerPack,omitempty"` - CommonsPerPack uint64 `protobuf:"varint,12,opt,name=commonsPerPack,proto3" json:"commonsPerPack,omitempty"` - UnCommonsPerPack uint64 `protobuf:"varint,13,opt,name=unCommonsPerPack,proto3" json:"unCommonsPerPack,omitempty"` - TrialPeriod uint64 `protobuf:"varint,14,opt,name=trialPeriod,proto3" json:"trialPeriod,omitempty"` - GameVoteRatio int64 `protobuf:"varint,15,opt,name=gameVoteRatio,proto3" json:"gameVoteRatio,omitempty"` - CardAuctionPriceReductionPeriod int64 `protobuf:"varint,16,opt,name=cardAuctionPriceReductionPeriod,proto3" json:"cardAuctionPriceReductionPeriod,omitempty"` - AirDropValue github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,17,opt,name=airDropValue,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"airDropValue"` - AirDropMaxBlockHeight int64 `protobuf:"varint,18,opt,name=airDropMaxBlockHeight,proto3" json:"airDropMaxBlockHeight,omitempty"` - 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{} } -func (*Params) ProtoMessage() {} -func (*Params) Descriptor() ([]byte, []int) { - return fileDescriptor_8843e481ee664a23, []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 (m *Params) GetVotingRightsExpirationTime() int64 { - if m != nil { - return m.VotingRightsExpirationTime - } - return 0 -} - -func (m *Params) GetSetSize() uint64 { - if m != nil { - return m.SetSize - } - return 0 -} - -func (m *Params) GetActiveSetsAmount() uint64 { - if m != nil { - return m.ActiveSetsAmount - } - return 0 -} - -func (m *Params) GetWinnerReward() int64 { - if m != nil { - return m.WinnerReward - } - return 0 -} - -func (m *Params) GetInflationRate() string { - if m != nil { - return m.InflationRate - } - return "" -} - -func (m *Params) GetRaresPerPack() uint64 { - if m != nil { - return m.RaresPerPack - } - return 0 -} - -func (m *Params) GetCommonsPerPack() uint64 { - if m != nil { - return m.CommonsPerPack - } - return 0 -} - -func (m *Params) GetUnCommonsPerPack() uint64 { - if m != nil { - return m.UnCommonsPerPack - } - return 0 -} - -func (m *Params) GetTrialPeriod() uint64 { - if m != nil { - return m.TrialPeriod - } - return 0 -} - -func (m *Params) GetGameVoteRatio() int64 { - if m != nil { - return m.GameVoteRatio - } - return 0 -} - -func (m *Params) GetCardAuctionPriceReductionPeriod() int64 { - if m != nil { - return m.CardAuctionPriceReductionPeriod - } - return 0 -} - -func (m *Params) GetAirDropMaxBlockHeight() int64 { - if m != nil { - return m.AirDropMaxBlockHeight - } - return 0 -} - -func (m *Params) GetVotePoolFraction() int64 { - if m != nil { - return m.VotePoolFraction - } - return 0 -} - -func (m *Params) GetVotingRewardCap() int64 { - if m != nil { - return m.VotingRewardCap - } - 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") -} - -func init() { proto.RegisterFile("cardchain/cardchain/params.proto", fileDescriptor_8843e481ee664a23) } - -var fileDescriptor_8843e481ee664a23 = []byte{ - // 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) { - 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 - 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-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0xa0 - } - { - size := m.TrialVoteReward.Size() - i -= size - if _, err := m.TrialVoteReward.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintParams(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x9a - if m.AirDropMaxBlockHeight != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.AirDropMaxBlockHeight)) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x90 - } - { - size := m.AirDropValue.Size() - i -= size - if _, err := m.AirDropValue.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintParams(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x8a - if m.CardAuctionPriceReductionPeriod != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.CardAuctionPriceReductionPeriod)) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x80 - } - if m.GameVoteRatio != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.GameVoteRatio)) - i-- - dAtA[i] = 0x78 - } - if m.TrialPeriod != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.TrialPeriod)) - i-- - dAtA[i] = 0x70 - } - if m.UnCommonsPerPack != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.UnCommonsPerPack)) - i-- - dAtA[i] = 0x68 - } - if m.CommonsPerPack != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.CommonsPerPack)) - i-- - dAtA[i] = 0x60 - } - if m.RaresPerPack != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.RaresPerPack)) - i-- - dAtA[i] = 0x58 - } - if len(m.InflationRate) > 0 { - i -= len(m.InflationRate) - copy(dAtA[i:], m.InflationRate) - i = encodeVarintParams(dAtA, i, uint64(len(m.InflationRate))) - i-- - dAtA[i] = 0x52 - } - { - size := m.HourlyFaucet.Size() - i -= size - if _, err := m.HourlyFaucet.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintParams(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x4a - if m.VotingRewardCap != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.VotingRewardCap)) - i-- - dAtA[i] = 0x40 - } - if m.WinnerReward != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.WinnerReward)) - i-- - dAtA[i] = 0x38 - } - { - size := m.CollateralDeposit.Size() - i -= size - if _, err := m.CollateralDeposit.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintParams(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x32 - { - size := m.SetCreationFee.Size() - i -= size - if _, err := m.SetCreationFee.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintParams(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x2a - if m.ActiveSetsAmount != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.ActiveSetsAmount)) - i-- - dAtA[i] = 0x20 - } - { - size := m.SetPrice.Size() - i -= size - if _, err := m.SetPrice.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintParams(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - if m.SetSize != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.SetSize)) - i-- - dAtA[i] = 0x10 - } - if m.VotingRightsExpirationTime != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.VotingRightsExpirationTime)) - i-- - dAtA[i] = 0x8 - } - 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 - if m.VotingRightsExpirationTime != 0 { - n += 1 + sovParams(uint64(m.VotingRightsExpirationTime)) - } - if m.SetSize != 0 { - n += 1 + sovParams(uint64(m.SetSize)) - } - l = m.SetPrice.Size() - n += 1 + l + sovParams(uint64(l)) - if m.ActiveSetsAmount != 0 { - n += 1 + sovParams(uint64(m.ActiveSetsAmount)) - } - l = m.SetCreationFee.Size() - n += 1 + l + sovParams(uint64(l)) - l = m.CollateralDeposit.Size() - n += 1 + l + sovParams(uint64(l)) - if m.WinnerReward != 0 { - n += 1 + sovParams(uint64(m.WinnerReward)) - } - if m.VotingRewardCap != 0 { - n += 1 + sovParams(uint64(m.VotingRewardCap)) - } - l = m.HourlyFaucet.Size() - n += 1 + l + sovParams(uint64(l)) - l = len(m.InflationRate) - if l > 0 { - n += 1 + l + sovParams(uint64(l)) - } - if m.RaresPerPack != 0 { - n += 1 + sovParams(uint64(m.RaresPerPack)) - } - if m.CommonsPerPack != 0 { - n += 1 + sovParams(uint64(m.CommonsPerPack)) - } - if m.UnCommonsPerPack != 0 { - n += 1 + sovParams(uint64(m.UnCommonsPerPack)) - } - if m.TrialPeriod != 0 { - n += 1 + sovParams(uint64(m.TrialPeriod)) - } - if m.GameVoteRatio != 0 { - n += 1 + sovParams(uint64(m.GameVoteRatio)) - } - if m.CardAuctionPriceReductionPeriod != 0 { - n += 2 + sovParams(uint64(m.CardAuctionPriceReductionPeriod)) - } - l = m.AirDropValue.Size() - n += 2 + l + sovParams(uint64(l)) - if m.AirDropMaxBlockHeight != 0 { - n += 2 + sovParams(uint64(m.AirDropMaxBlockHeight)) - } - l = m.TrialVoteReward.Size() - n += 2 + l + sovParams(uint64(l)) - 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 -} - -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 { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field VotingRightsExpirationTime", wireType) - } - m.VotingRightsExpirationTime = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.VotingRightsExpirationTime |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SetSize", wireType) - } - m.SetSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SetSize |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SetPrice", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - 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 ErrInvalidLengthParams - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthParams - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - 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 ActiveSetsAmount", wireType) - } - m.ActiveSetsAmount = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ActiveSetsAmount |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SetCreationFee", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - 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 ErrInvalidLengthParams - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthParams - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.SetCreationFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CollateralDeposit", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - 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 ErrInvalidLengthParams - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthParams - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.CollateralDeposit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field WinnerReward", wireType) - } - m.WinnerReward = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.WinnerReward |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field VotingRewardCap", wireType) - } - m.VotingRewardCap = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.VotingRewardCap |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HourlyFaucet", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - 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 ErrInvalidLengthParams - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthParams - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.HourlyFaucet.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InflationRate", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - 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 ErrInvalidLengthParams - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthParams - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.InflationRate = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 11: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RaresPerPack", wireType) - } - m.RaresPerPack = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.RaresPerPack |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 12: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CommonsPerPack", wireType) - } - m.CommonsPerPack = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CommonsPerPack |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 13: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field UnCommonsPerPack", wireType) - } - m.UnCommonsPerPack = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.UnCommonsPerPack |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 14: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TrialPeriod", wireType) - } - m.TrialPeriod = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TrialPeriod |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 15: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field GameVoteRatio", wireType) - } - m.GameVoteRatio = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.GameVoteRatio |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 16: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardAuctionPriceReductionPeriod", wireType) - } - m.CardAuctionPriceReductionPeriod = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CardAuctionPriceReductionPeriod |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 17: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AirDropValue", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - 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 ErrInvalidLengthParams - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthParams - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.AirDropValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 18: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AirDropMaxBlockHeight", wireType) - } - m.AirDropMaxBlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.AirDropMaxBlockHeight |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 19: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TrialVoteReward", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - 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 ErrInvalidLengthParams - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthParams - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.TrialVoteReward.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 20: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field VotePoolFraction", wireType) - } - m.VotePoolFraction = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.VotePoolFraction |= int64(b&0x7F) << shift - if b < 0x80 { - 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:]) - 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/cardchain/types/proposal.go b/x/cardchain/types/proposal.go deleted file mode 100644 index 21f1931d..00000000 --- a/x/cardchain/types/proposal.go +++ /dev/null @@ -1,75 +0,0 @@ -package types - -import ( - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" -) - -// Module name for minting coins -const CoinsIssuerName = "cardchain" - -const ( - // ProposalTypeChange defines the type for a ParameterChangeProposal - ProposalTypeCopyright = "Copyright" - ProposalTypeMatchReporter = "MatchReporter" - ProposalTypeSet = "Set" - ProposalTypeEarlyAccess = "EarlyAccess" -) - -func (c *CopyrightProposal) ProposalRoute() string { return RouterKey } - -func (c *CopyrightProposal) ProposalType() string { return ProposalTypeCopyright } - -func (c *CopyrightProposal) ValidateBasic() error { - err := govtypes.ValidateAbstract(c) - if err != nil { - return err - } - // TODO More validation - return nil -} - -func (c *MatchReporterProposal) ProposalRoute() string { return RouterKey } - -func (c *MatchReporterProposal) ProposalType() string { return ProposalTypeMatchReporter } - -func (c *MatchReporterProposal) ValidateBasic() error { - err := govtypes.ValidateAbstract(c) - if err != nil { - return err - } - // TODO More validation - return nil -} - -func (c *SetProposal) ProposalRoute() string { return RouterKey } - -func (c *SetProposal) ProposalType() string { return ProposalTypeSet } - -func (c *SetProposal) ValidateBasic() error { - err := govtypes.ValidateAbstract(c) - if err != nil { - return err - } - // TODO More validation - return nil -} - -func (c *EarlyAccessProposal) ProposalRoute() string { return RouterKey } - -func (c *EarlyAccessProposal) ProposalType() string { return ProposalTypeEarlyAccess } - -func (c *EarlyAccessProposal) ValidateBasic() error { - err := govtypes.ValidateAbstract(c) - if err != nil { - return err - } - // TODO More validation - return nil -} - -func init() { - govtypes.RegisterProposalType(ProposalTypeCopyright) - govtypes.RegisterProposalType(ProposalTypeMatchReporter) - govtypes.RegisterProposalType(ProposalTypeSet) - govtypes.RegisterProposalType(ProposalTypeEarlyAccess) -} diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go deleted file mode 100644 index 59a536d2..00000000 --- a/x/cardchain/types/query.pb.go +++ /dev/null @@ -1,10115 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/query.proto - -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/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_e1bdbfeb9d7f6cfd, []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_e1bdbfeb9d7f6cfd, []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 QueryQCardRequest struct { - CardId string `protobuf:"bytes,1,opt,name=cardId,proto3" json:"cardId,omitempty"` -} - -func (m *QueryQCardRequest) Reset() { *m = QueryQCardRequest{} } -func (m *QueryQCardRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQCardRequest) ProtoMessage() {} -func (*QueryQCardRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{2} -} -func (m *QueryQCardRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQCardRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQCardRequest.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 *QueryQCardRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCardRequest.Merge(m, src) -} -func (m *QueryQCardRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQCardRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCardRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQCardRequest proto.InternalMessageInfo - -func (m *QueryQCardRequest) GetCardId() string { - if m != nil { - return m.CardId - } - return "" -} - -type QueryQCardContentRequest struct { - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` -} - -func (m *QueryQCardContentRequest) Reset() { *m = QueryQCardContentRequest{} } -func (m *QueryQCardContentRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQCardContentRequest) ProtoMessage() {} -func (*QueryQCardContentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{3} -} -func (m *QueryQCardContentRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQCardContentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQCardContentRequest.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 *QueryQCardContentRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCardContentRequest.Merge(m, src) -} -func (m *QueryQCardContentRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQCardContentRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCardContentRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQCardContentRequest proto.InternalMessageInfo - -func (m *QueryQCardContentRequest) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -type QueryQCardContentResponse struct { - Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` - Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` -} - -func (m *QueryQCardContentResponse) Reset() { *m = QueryQCardContentResponse{} } -func (m *QueryQCardContentResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQCardContentResponse) ProtoMessage() {} -func (*QueryQCardContentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{4} -} -func (m *QueryQCardContentResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQCardContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQCardContentResponse.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 *QueryQCardContentResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCardContentResponse.Merge(m, src) -} -func (m *QueryQCardContentResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQCardContentResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCardContentResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQCardContentResponse proto.InternalMessageInfo - -func (m *QueryQCardContentResponse) GetContent() string { - if m != nil { - return m.Content - } - return "" -} - -func (m *QueryQCardContentResponse) GetHash() string { - if m != nil { - return m.Hash - } - return "" -} - -type QueryQUserRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` -} - -func (m *QueryQUserRequest) Reset() { *m = QueryQUserRequest{} } -func (m *QueryQUserRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQUserRequest) ProtoMessage() {} -func (*QueryQUserRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{5} -} -func (m *QueryQUserRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQUserRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQUserRequest.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 *QueryQUserRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQUserRequest.Merge(m, src) -} -func (m *QueryQUserRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQUserRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQUserRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQUserRequest proto.InternalMessageInfo - -func (m *QueryQUserRequest) GetAddress() string { - if m != nil { - return m.Address - } - return "" -} - -type QueryQCardchainInfoRequest struct { -} - -func (m *QueryQCardchainInfoRequest) Reset() { *m = QueryQCardchainInfoRequest{} } -func (m *QueryQCardchainInfoRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQCardchainInfoRequest) ProtoMessage() {} -func (*QueryQCardchainInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{6} -} -func (m *QueryQCardchainInfoRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQCardchainInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQCardchainInfoRequest.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 *QueryQCardchainInfoRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCardchainInfoRequest.Merge(m, src) -} -func (m *QueryQCardchainInfoRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQCardchainInfoRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCardchainInfoRequest.DiscardUnknown(m) -} - -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"` - 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{} } -func (m *QueryQCardchainInfoResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQCardchainInfoResponse) ProtoMessage() {} -func (*QueryQCardchainInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{7} -} -func (m *QueryQCardchainInfoResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQCardchainInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQCardchainInfoResponse.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 *QueryQCardchainInfoResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCardchainInfoResponse.Merge(m, src) -} -func (m *QueryQCardchainInfoResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQCardchainInfoResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCardchainInfoResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQCardchainInfoResponse proto.InternalMessageInfo - -func (m *QueryQCardchainInfoResponse) GetActiveSets() []uint64 { - if m != nil { - return m.ActiveSets - } - return nil -} - -func (m *QueryQCardchainInfoResponse) GetCardsNumber() uint64 { - if m != nil { - return m.CardsNumber - } - return 0 -} - -func (m *QueryQCardchainInfoResponse) GetMatchesNumber() uint64 { - if m != nil { - return m.MatchesNumber - } - return 0 -} - -func (m *QueryQCardchainInfoResponse) GetSellOffersNumber() uint64 { - if m != nil { - return m.SellOffersNumber - } - return 0 -} - -func (m *QueryQCardchainInfoResponse) GetCouncilsNumber() uint64 { - if m != nil { - return m.CouncilsNumber - } - return 0 -} - -func (m *QueryQCardchainInfoResponse) GetLastCardModified() uint64 { - if m != nil { - return m.LastCardModified - } - return 0 -} - -type QueryQVotingResultsRequest struct { -} - -func (m *QueryQVotingResultsRequest) Reset() { *m = QueryQVotingResultsRequest{} } -func (m *QueryQVotingResultsRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQVotingResultsRequest) ProtoMessage() {} -func (*QueryQVotingResultsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{8} -} -func (m *QueryQVotingResultsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQVotingResultsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQVotingResultsRequest.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 *QueryQVotingResultsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQVotingResultsRequest.Merge(m, src) -} -func (m *QueryQVotingResultsRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQVotingResultsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQVotingResultsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQVotingResultsRequest proto.InternalMessageInfo - -type QueryQVotingResultsResponse struct { - LastVotingResults *VotingResults `protobuf:"bytes,1,opt,name=lastVotingResults,proto3" json:"lastVotingResults,omitempty"` -} - -func (m *QueryQVotingResultsResponse) Reset() { *m = QueryQVotingResultsResponse{} } -func (m *QueryQVotingResultsResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQVotingResultsResponse) ProtoMessage() {} -func (*QueryQVotingResultsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{9} -} -func (m *QueryQVotingResultsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQVotingResultsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQVotingResultsResponse.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 *QueryQVotingResultsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQVotingResultsResponse.Merge(m, src) -} -func (m *QueryQVotingResultsResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQVotingResultsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQVotingResultsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQVotingResultsResponse proto.InternalMessageInfo - -func (m *QueryQVotingResultsResponse) GetLastVotingResults() *VotingResults { - if m != nil { - return m.LastVotingResults - } - return nil -} - -type QueryQCardsRequest struct { - Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` - Statuses []Status `protobuf:"varint,2,rep,packed,name=statuses,proto3,enum=DecentralCardGame.cardchain.cardchain.Status" json:"statuses,omitempty"` - CardTypes []CardType `protobuf:"varint,3,rep,packed,name=cardTypes,proto3,enum=DecentralCardGame.cardchain.cardchain.CardType" json:"cardTypes,omitempty"` - Classes []CardClass `protobuf:"varint,4,rep,packed,name=classes,proto3,enum=DecentralCardGame.cardchain.cardchain.CardClass" json:"classes,omitempty"` - SortBy string `protobuf:"bytes,5,opt,name=sortBy,proto3" json:"sortBy,omitempty"` - 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"` - OnlyBalanceAnchors bool `protobuf:"varint,10,opt,name=onlyBalanceAnchors,proto3" json:"onlyBalanceAnchors,omitempty"` - Rarities []CardRarity `protobuf:"varint,11,rep,packed,name=rarities,proto3,enum=DecentralCardGame.cardchain.cardchain.CardRarity" json:"rarities,omitempty"` - MultiClassOnly bool `protobuf:"varint,12,opt,name=multiClassOnly,proto3" json:"multiClassOnly,omitempty"` -} - -func (m *QueryQCardsRequest) Reset() { *m = QueryQCardsRequest{} } -func (m *QueryQCardsRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQCardsRequest) ProtoMessage() {} -func (*QueryQCardsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{10} -} -func (m *QueryQCardsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQCardsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQCardsRequest.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 *QueryQCardsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCardsRequest.Merge(m, src) -} -func (m *QueryQCardsRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQCardsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCardsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQCardsRequest proto.InternalMessageInfo - -func (m *QueryQCardsRequest) GetOwner() string { - if m != nil { - return m.Owner - } - return "" -} - -func (m *QueryQCardsRequest) GetStatuses() []Status { - if m != nil { - return m.Statuses - } - return nil -} - -func (m *QueryQCardsRequest) GetCardTypes() []CardType { - if m != nil { - return m.CardTypes - } - return nil -} - -func (m *QueryQCardsRequest) GetClasses() []CardClass { - if m != nil { - return m.Classes - } - return nil -} - -func (m *QueryQCardsRequest) GetSortBy() string { - if m != nil { - return m.SortBy - } - return "" -} - -func (m *QueryQCardsRequest) GetNameContains() string { - if m != nil { - return m.NameContains - } - return "" -} - -func (m *QueryQCardsRequest) GetKeywordsContains() string { - if m != nil { - return m.KeywordsContains - } - return "" -} - -func (m *QueryQCardsRequest) GetNotesContains() string { - if m != nil { - return m.NotesContains - } - return "" -} - -func (m *QueryQCardsRequest) GetOnlyStarterCard() bool { - if m != nil { - return m.OnlyStarterCard - } - return false -} - -func (m *QueryQCardsRequest) GetOnlyBalanceAnchors() bool { - if m != nil { - return m.OnlyBalanceAnchors - } - return false -} - -func (m *QueryQCardsRequest) GetRarities() []CardRarity { - if m != nil { - return m.Rarities - } - return nil -} - -func (m *QueryQCardsRequest) GetMultiClassOnly() bool { - if m != nil { - return m.MultiClassOnly - } - return false -} - -type QueryQCardsResponse struct { - CardsList []uint64 `protobuf:"varint,1,rep,packed,name=cardsList,proto3" json:"cardsList,omitempty"` -} - -func (m *QueryQCardsResponse) Reset() { *m = QueryQCardsResponse{} } -func (m *QueryQCardsResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQCardsResponse) ProtoMessage() {} -func (*QueryQCardsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{11} -} -func (m *QueryQCardsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQCardsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQCardsResponse.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 *QueryQCardsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCardsResponse.Merge(m, src) -} -func (m *QueryQCardsResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQCardsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCardsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQCardsResponse proto.InternalMessageInfo - -func (m *QueryQCardsResponse) GetCardsList() []uint64 { - if m != nil { - return m.CardsList - } - return nil -} - -type QueryQMatchRequest struct { - MatchId uint64 `protobuf:"varint,1,opt,name=matchId,proto3" json:"matchId,omitempty"` -} - -func (m *QueryQMatchRequest) Reset() { *m = QueryQMatchRequest{} } -func (m *QueryQMatchRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQMatchRequest) ProtoMessage() {} -func (*QueryQMatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{12} -} -func (m *QueryQMatchRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQMatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQMatchRequest.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 *QueryQMatchRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQMatchRequest.Merge(m, src) -} -func (m *QueryQMatchRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQMatchRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQMatchRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQMatchRequest proto.InternalMessageInfo - -func (m *QueryQMatchRequest) GetMatchId() uint64 { - if m != nil { - return m.MatchId - } - return 0 -} - -type QueryQSetRequest struct { - SetId uint64 `protobuf:"varint,1,opt,name=setId,proto3" json:"setId,omitempty"` -} - -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{13} -} -func (m *QueryQSetRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQSetRequest.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 *QueryQSetRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQSetRequest.Merge(m, src) -} -func (m *QueryQSetRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQSetRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQSetRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQSetRequest proto.InternalMessageInfo - -func (m *QueryQSetRequest) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -type QueryQSellOfferRequest struct { - SellOfferId uint64 `protobuf:"varint,1,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` -} - -func (m *QueryQSellOfferRequest) Reset() { *m = QueryQSellOfferRequest{} } -func (m *QueryQSellOfferRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQSellOfferRequest) ProtoMessage() {} -func (*QueryQSellOfferRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{14} -} -func (m *QueryQSellOfferRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQSellOfferRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQSellOfferRequest.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 *QueryQSellOfferRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQSellOfferRequest.Merge(m, src) -} -func (m *QueryQSellOfferRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQSellOfferRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQSellOfferRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQSellOfferRequest proto.InternalMessageInfo - -func (m *QueryQSellOfferRequest) GetSellOfferId() uint64 { - if m != nil { - return m.SellOfferId - } - return 0 -} - -type QueryQCouncilRequest struct { - CouncilId uint64 `protobuf:"varint,1,opt,name=councilId,proto3" json:"councilId,omitempty"` -} - -func (m *QueryQCouncilRequest) Reset() { *m = QueryQCouncilRequest{} } -func (m *QueryQCouncilRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQCouncilRequest) ProtoMessage() {} -func (*QueryQCouncilRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{15} -} -func (m *QueryQCouncilRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQCouncilRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQCouncilRequest.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 *QueryQCouncilRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCouncilRequest.Merge(m, src) -} -func (m *QueryQCouncilRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQCouncilRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCouncilRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQCouncilRequest proto.InternalMessageInfo - -func (m *QueryQCouncilRequest) GetCouncilId() uint64 { - if m != nil { - return m.CouncilId - } - return 0 -} - -type QueryQMatchesRequest struct { - TimestampDown uint64 `protobuf:"varint,1,opt,name=timestampDown,proto3" json:"timestampDown,omitempty"` - TimestampUp uint64 `protobuf:"varint,2,opt,name=timestampUp,proto3" json:"timestampUp,omitempty"` - ContainsUsers []string `protobuf:"bytes,3,rep,name=containsUsers,proto3" json:"containsUsers,omitempty"` - Reporter string `protobuf:"bytes,4,opt,name=reporter,proto3" json:"reporter,omitempty"` - Outcome Outcome `protobuf:"varint,5,opt,name=outcome,proto3,enum=DecentralCardGame.cardchain.cardchain.Outcome" json:"outcome,omitempty"` - CardsPlayed []uint64 `protobuf:"varint,6,rep,packed,name=cardsPlayed,proto3" json:"cardsPlayed,omitempty"` - Ignore *IgnoreMatches `protobuf:"bytes,7,opt,name=ignore,proto3" json:"ignore,omitempty"` -} - -func (m *QueryQMatchesRequest) Reset() { *m = QueryQMatchesRequest{} } -func (m *QueryQMatchesRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQMatchesRequest) ProtoMessage() {} -func (*QueryQMatchesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{16} -} -func (m *QueryQMatchesRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQMatchesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQMatchesRequest.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 *QueryQMatchesRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQMatchesRequest.Merge(m, src) -} -func (m *QueryQMatchesRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQMatchesRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQMatchesRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQMatchesRequest proto.InternalMessageInfo - -func (m *QueryQMatchesRequest) GetTimestampDown() uint64 { - if m != nil { - return m.TimestampDown - } - return 0 -} - -func (m *QueryQMatchesRequest) GetTimestampUp() uint64 { - if m != nil { - return m.TimestampUp - } - return 0 -} - -func (m *QueryQMatchesRequest) GetContainsUsers() []string { - if m != nil { - return m.ContainsUsers - } - return nil -} - -func (m *QueryQMatchesRequest) GetReporter() string { - if m != nil { - return m.Reporter - } - return "" -} - -func (m *QueryQMatchesRequest) GetOutcome() Outcome { - if m != nil { - return m.Outcome - } - return Outcome_AWon -} - -func (m *QueryQMatchesRequest) GetCardsPlayed() []uint64 { - if m != nil { - return m.CardsPlayed - } - return nil -} - -func (m *QueryQMatchesRequest) GetIgnore() *IgnoreMatches { - if m != nil { - return m.Ignore - } - return nil -} - -type IgnoreMatches struct { - Outcome bool `protobuf:"varint,1,opt,name=outcome,proto3" json:"outcome,omitempty"` -} - -func (m *IgnoreMatches) Reset() { *m = IgnoreMatches{} } -func (m *IgnoreMatches) String() string { return proto.CompactTextString(m) } -func (*IgnoreMatches) ProtoMessage() {} -func (*IgnoreMatches) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{17} -} -func (m *IgnoreMatches) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *IgnoreMatches) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_IgnoreMatches.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 *IgnoreMatches) XXX_Merge(src proto.Message) { - xxx_messageInfo_IgnoreMatches.Merge(m, src) -} -func (m *IgnoreMatches) XXX_Size() int { - return m.Size() -} -func (m *IgnoreMatches) XXX_DiscardUnknown() { - xxx_messageInfo_IgnoreMatches.DiscardUnknown(m) -} - -var xxx_messageInfo_IgnoreMatches proto.InternalMessageInfo - -func (m *IgnoreMatches) GetOutcome() bool { - if m != nil { - return m.Outcome - } - return false -} - -type QueryQMatchesResponse struct { - MatchesList []uint64 `protobuf:"varint,1,rep,packed,name=matchesList,proto3" json:"matchesList,omitempty"` - Matches []*Match `protobuf:"bytes,2,rep,name=matches,proto3" json:"matches,omitempty"` -} - -func (m *QueryQMatchesResponse) Reset() { *m = QueryQMatchesResponse{} } -func (m *QueryQMatchesResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQMatchesResponse) ProtoMessage() {} -func (*QueryQMatchesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{18} -} -func (m *QueryQMatchesResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQMatchesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQMatchesResponse.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 *QueryQMatchesResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQMatchesResponse.Merge(m, src) -} -func (m *QueryQMatchesResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQMatchesResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQMatchesResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQMatchesResponse proto.InternalMessageInfo - -func (m *QueryQMatchesResponse) GetMatchesList() []uint64 { - if m != nil { - return m.MatchesList - } - return nil -} - -func (m *QueryQMatchesResponse) GetMatches() []*Match { - if m != nil { - return m.Matches - } - return nil -} - -// message QueryQSellOffersRequest { -// message Query { -// string priceDown = 1; -// string priceUp = 2; -// string seller = 3; -// string buyer = 4; -// uint64 card = 5; -// SellOfferStatus status = 6; -// } -// Query query = 1; -// } -type QueryQSellOffersRequest struct { - PriceDown string `protobuf:"bytes,1,opt,name=priceDown,proto3" json:"priceDown,omitempty"` - PriceUp string `protobuf:"bytes,2,opt,name=priceUp,proto3" json:"priceUp,omitempty"` - Seller string `protobuf:"bytes,3,opt,name=seller,proto3" json:"seller,omitempty"` - Buyer string `protobuf:"bytes,4,opt,name=buyer,proto3" json:"buyer,omitempty"` - Card uint64 `protobuf:"varint,5,opt,name=card,proto3" json:"card,omitempty"` - Status SellOfferStatus `protobuf:"varint,6,opt,name=status,proto3,enum=DecentralCardGame.cardchain.cardchain.SellOfferStatus" json:"status,omitempty"` - Ignore *IgnoreSellOffers `protobuf:"bytes,7,opt,name=ignore,proto3" json:"ignore,omitempty"` -} - -func (m *QueryQSellOffersRequest) Reset() { *m = QueryQSellOffersRequest{} } -func (m *QueryQSellOffersRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQSellOffersRequest) ProtoMessage() {} -func (*QueryQSellOffersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{19} -} -func (m *QueryQSellOffersRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQSellOffersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQSellOffersRequest.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 *QueryQSellOffersRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQSellOffersRequest.Merge(m, src) -} -func (m *QueryQSellOffersRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQSellOffersRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQSellOffersRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQSellOffersRequest proto.InternalMessageInfo - -func (m *QueryQSellOffersRequest) GetPriceDown() string { - if m != nil { - return m.PriceDown - } - return "" -} - -func (m *QueryQSellOffersRequest) GetPriceUp() string { - if m != nil { - return m.PriceUp - } - return "" -} - -func (m *QueryQSellOffersRequest) GetSeller() string { - if m != nil { - return m.Seller - } - return "" -} - -func (m *QueryQSellOffersRequest) GetBuyer() string { - if m != nil { - return m.Buyer - } - return "" -} - -func (m *QueryQSellOffersRequest) GetCard() uint64 { - if m != nil { - return m.Card - } - return 0 -} - -func (m *QueryQSellOffersRequest) GetStatus() SellOfferStatus { - if m != nil { - return m.Status - } - return SellOfferStatus_open -} - -func (m *QueryQSellOffersRequest) GetIgnore() *IgnoreSellOffers { - if m != nil { - return m.Ignore - } - return nil -} - -type IgnoreSellOffers struct { - Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` - Card bool `protobuf:"varint,2,opt,name=card,proto3" json:"card,omitempty"` -} - -func (m *IgnoreSellOffers) Reset() { *m = IgnoreSellOffers{} } -func (m *IgnoreSellOffers) String() string { return proto.CompactTextString(m) } -func (*IgnoreSellOffers) ProtoMessage() {} -func (*IgnoreSellOffers) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{20} -} -func (m *IgnoreSellOffers) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *IgnoreSellOffers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_IgnoreSellOffers.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 *IgnoreSellOffers) XXX_Merge(src proto.Message) { - xxx_messageInfo_IgnoreSellOffers.Merge(m, src) -} -func (m *IgnoreSellOffers) XXX_Size() int { - return m.Size() -} -func (m *IgnoreSellOffers) XXX_DiscardUnknown() { - xxx_messageInfo_IgnoreSellOffers.DiscardUnknown(m) -} - -var xxx_messageInfo_IgnoreSellOffers proto.InternalMessageInfo - -func (m *IgnoreSellOffers) GetStatus() bool { - if m != nil { - return m.Status - } - return false -} - -func (m *IgnoreSellOffers) GetCard() bool { - if m != nil { - return m.Card - } - return false -} - -type QueryQSellOffersResponse struct { - SellOffersIds []uint64 `protobuf:"varint,1,rep,packed,name=sellOffersIds,proto3" json:"sellOffersIds,omitempty"` - SellOffers []*SellOffer `protobuf:"bytes,2,rep,name=sellOffers,proto3" json:"sellOffers,omitempty"` -} - -func (m *QueryQSellOffersResponse) Reset() { *m = QueryQSellOffersResponse{} } -func (m *QueryQSellOffersResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQSellOffersResponse) ProtoMessage() {} -func (*QueryQSellOffersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{21} -} -func (m *QueryQSellOffersResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQSellOffersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQSellOffersResponse.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 *QueryQSellOffersResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQSellOffersResponse.Merge(m, src) -} -func (m *QueryQSellOffersResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQSellOffersResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQSellOffersResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQSellOffersResponse proto.InternalMessageInfo - -func (m *QueryQSellOffersResponse) GetSellOffersIds() []uint64 { - if m != nil { - return m.SellOffersIds - } - return nil -} - -func (m *QueryQSellOffersResponse) GetSellOffers() []*SellOffer { - if m != nil { - return m.SellOffers - } - return nil -} - -type QueryQServerRequest struct { - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (m *QueryQServerRequest) Reset() { *m = QueryQServerRequest{} } -func (m *QueryQServerRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQServerRequest) ProtoMessage() {} -func (*QueryQServerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{22} -} -func (m *QueryQServerRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQServerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQServerRequest.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 *QueryQServerRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQServerRequest.Merge(m, src) -} -func (m *QueryQServerRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQServerRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQServerRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQServerRequest proto.InternalMessageInfo - -func (m *QueryQServerRequest) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} - -type QueryQServerResponse struct { -} - -func (m *QueryQServerResponse) Reset() { *m = QueryQServerResponse{} } -func (m *QueryQServerResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQServerResponse) ProtoMessage() {} -func (*QueryQServerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{23} -} -func (m *QueryQServerResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQServerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQServerResponse.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 *QueryQServerResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQServerResponse.Merge(m, src) -} -func (m *QueryQServerResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQServerResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQServerResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQServerResponse proto.InternalMessageInfo - -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"` - ContainsCards []uint64 `protobuf:"varint,4,rep,packed,name=containsCards,proto3" json:"containsCards,omitempty"` - Owner string `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"` -} - -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{24} -} -func (m *QueryQSetsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQSetsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQSetsRequest.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 *QueryQSetsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQSetsRequest.Merge(m, src) -} -func (m *QueryQSetsRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQSetsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQSetsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQSetsRequest proto.InternalMessageInfo - -func (m *QueryQSetsRequest) GetStatus() CStatus { - if m != nil { - return m.Status - } - return CStatus_design -} - -func (m *QueryQSetsRequest) GetIgnoreStatus() bool { - if m != nil { - return m.IgnoreStatus - } - return false -} - -func (m *QueryQSetsRequest) GetContributors() []string { - if m != nil { - return m.Contributors - } - return nil -} - -func (m *QueryQSetsRequest) GetContainsCards() []uint64 { - if m != nil { - return m.ContainsCards - } - return nil -} - -func (m *QueryQSetsRequest) GetOwner() string { - if m != nil { - return m.Owner - } - return "" -} - -type QueryQSetsResponse struct { - SetIds []uint64 `protobuf:"varint,1,rep,packed,name=setIds,proto3" json:"setIds,omitempty"` -} - -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{25} -} -func (m *QueryQSetsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQSetsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQSetsResponse.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 *QueryQSetsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQSetsResponse.Merge(m, src) -} -func (m *QueryQSetsResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQSetsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQSetsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQSetsResponse proto.InternalMessageInfo - -func (m *QueryQSetsResponse) GetSetIds() []uint64 { - if m != nil { - return m.SetIds - } - return nil -} - -type QueryRarityDistributionRequest struct { - SetId uint64 `protobuf:"varint,1,opt,name=setId,proto3" json:"setId,omitempty"` -} - -func (m *QueryRarityDistributionRequest) Reset() { *m = QueryRarityDistributionRequest{} } -func (m *QueryRarityDistributionRequest) String() string { return proto.CompactTextString(m) } -func (*QueryRarityDistributionRequest) ProtoMessage() {} -func (*QueryRarityDistributionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{26} -} -func (m *QueryRarityDistributionRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryRarityDistributionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryRarityDistributionRequest.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 *QueryRarityDistributionRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryRarityDistributionRequest.Merge(m, src) -} -func (m *QueryRarityDistributionRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryRarityDistributionRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryRarityDistributionRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryRarityDistributionRequest proto.InternalMessageInfo - -func (m *QueryRarityDistributionRequest) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -type QueryRarityDistributionResponse struct { - 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{} } -func (m *QueryRarityDistributionResponse) String() string { return proto.CompactTextString(m) } -func (*QueryRarityDistributionResponse) ProtoMessage() {} -func (*QueryRarityDistributionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{27} -} -func (m *QueryRarityDistributionResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryRarityDistributionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryRarityDistributionResponse.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 *QueryRarityDistributionResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryRarityDistributionResponse.Merge(m, src) -} -func (m *QueryRarityDistributionResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryRarityDistributionResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryRarityDistributionResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryRarityDistributionResponse proto.InternalMessageInfo - -func (m *QueryRarityDistributionResponse) GetCurrent() []uint32 { - if m != nil { - return m.Current - } - return nil -} - -func (m *QueryRarityDistributionResponse) GetWanted() []uint32 { - if m != nil { - return m.Wanted - } - return nil -} - -// this line is used by starport scaffolding # 3 -type QueryQCardContentsRequest struct { - CardIds []uint64 `protobuf:"varint,1,rep,packed,name=cardIds,proto3" json:"cardIds,omitempty"` -} - -func (m *QueryQCardContentsRequest) Reset() { *m = QueryQCardContentsRequest{} } -func (m *QueryQCardContentsRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQCardContentsRequest) ProtoMessage() {} -func (*QueryQCardContentsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{28} -} -func (m *QueryQCardContentsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQCardContentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQCardContentsRequest.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 *QueryQCardContentsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCardContentsRequest.Merge(m, src) -} -func (m *QueryQCardContentsRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQCardContentsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCardContentsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQCardContentsRequest proto.InternalMessageInfo - -func (m *QueryQCardContentsRequest) GetCardIds() []uint64 { - if m != nil { - return m.CardIds - } - return nil -} - -type QueryQCardContentsResponse struct { - Cards []*QueryQCardContentResponse `protobuf:"bytes,1,rep,name=cards,proto3" json:"cards,omitempty"` -} - -func (m *QueryQCardContentsResponse) Reset() { *m = QueryQCardContentsResponse{} } -func (m *QueryQCardContentsResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQCardContentsResponse) ProtoMessage() {} -func (*QueryQCardContentsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{29} -} -func (m *QueryQCardContentsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQCardContentsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQCardContentsResponse.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 *QueryQCardContentsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCardContentsResponse.Merge(m, src) -} -func (m *QueryQCardContentsResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQCardContentsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCardContentsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQCardContentsResponse proto.InternalMessageInfo - -func (m *QueryQCardContentsResponse) GetCards() []*QueryQCardContentResponse { - if m != nil { - return m.Cards - } - return nil -} - -type QueryQAccountFromZealyRequest struct { - ZealyId string `protobuf:"bytes,1,opt,name=zealyId,proto3" json:"zealyId,omitempty"` -} - -func (m *QueryQAccountFromZealyRequest) Reset() { *m = QueryQAccountFromZealyRequest{} } -func (m *QueryQAccountFromZealyRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQAccountFromZealyRequest) ProtoMessage() {} -func (*QueryQAccountFromZealyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{30} -} -func (m *QueryQAccountFromZealyRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQAccountFromZealyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQAccountFromZealyRequest.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 *QueryQAccountFromZealyRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQAccountFromZealyRequest.Merge(m, src) -} -func (m *QueryQAccountFromZealyRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQAccountFromZealyRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQAccountFromZealyRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQAccountFromZealyRequest proto.InternalMessageInfo - -func (m *QueryQAccountFromZealyRequest) GetZealyId() string { - if m != nil { - return m.ZealyId - } - return "" -} - -type QueryQAccountFromZealyResponse struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` -} - -func (m *QueryQAccountFromZealyResponse) Reset() { *m = QueryQAccountFromZealyResponse{} } -func (m *QueryQAccountFromZealyResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQAccountFromZealyResponse) ProtoMessage() {} -func (*QueryQAccountFromZealyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{31} -} -func (m *QueryQAccountFromZealyResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQAccountFromZealyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQAccountFromZealyResponse.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 *QueryQAccountFromZealyResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQAccountFromZealyResponse.Merge(m, src) -} -func (m *QueryQAccountFromZealyResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQAccountFromZealyResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQAccountFromZealyResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQAccountFromZealyResponse proto.InternalMessageInfo - -func (m *QueryQAccountFromZealyResponse) GetAddress() string { - if m != nil { - return m.Address - } - return "" -} - -type QueryQEncountersRequest struct { -} - -func (m *QueryQEncountersRequest) Reset() { *m = QueryQEncountersRequest{} } -func (m *QueryQEncountersRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQEncountersRequest) ProtoMessage() {} -func (*QueryQEncountersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{32} -} -func (m *QueryQEncountersRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQEncountersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQEncountersRequest.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 *QueryQEncountersRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQEncountersRequest.Merge(m, src) -} -func (m *QueryQEncountersRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQEncountersRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQEncountersRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQEncountersRequest proto.InternalMessageInfo - -type QueryQEncountersResponse struct { - Encounters []*Encounter `protobuf:"bytes,1,rep,name=encounters,proto3" json:"encounters,omitempty"` -} - -func (m *QueryQEncountersResponse) Reset() { *m = QueryQEncountersResponse{} } -func (m *QueryQEncountersResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQEncountersResponse) ProtoMessage() {} -func (*QueryQEncountersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{33} -} -func (m *QueryQEncountersResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQEncountersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQEncountersResponse.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 *QueryQEncountersResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQEncountersResponse.Merge(m, src) -} -func (m *QueryQEncountersResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQEncountersResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQEncountersResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQEncountersResponse proto.InternalMessageInfo - -func (m *QueryQEncountersResponse) GetEncounters() []*Encounter { - if m != nil { - return m.Encounters - } - return nil -} - -type QueryQEncounterRequest struct { - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (m *QueryQEncounterRequest) Reset() { *m = QueryQEncounterRequest{} } -func (m *QueryQEncounterRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQEncounterRequest) ProtoMessage() {} -func (*QueryQEncounterRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{34} -} -func (m *QueryQEncounterRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQEncounterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQEncounterRequest.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 *QueryQEncounterRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQEncounterRequest.Merge(m, src) -} -func (m *QueryQEncounterRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQEncounterRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQEncounterRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQEncounterRequest proto.InternalMessageInfo - -func (m *QueryQEncounterRequest) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} - -type QueryQEncounterResponse struct { - Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` -} - -func (m *QueryQEncounterResponse) Reset() { *m = QueryQEncounterResponse{} } -func (m *QueryQEncounterResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQEncounterResponse) ProtoMessage() {} -func (*QueryQEncounterResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{35} -} -func (m *QueryQEncounterResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQEncounterResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQEncounterResponse.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 *QueryQEncounterResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQEncounterResponse.Merge(m, src) -} -func (m *QueryQEncounterResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQEncounterResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQEncounterResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQEncounterResponse proto.InternalMessageInfo - -func (m *QueryQEncounterResponse) GetEncounter() *Encounter { - if m != nil { - return m.Encounter - } - return nil -} - -type QueryQEncountersWithImageRequest struct { -} - -func (m *QueryQEncountersWithImageRequest) Reset() { *m = QueryQEncountersWithImageRequest{} } -func (m *QueryQEncountersWithImageRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQEncountersWithImageRequest) ProtoMessage() {} -func (*QueryQEncountersWithImageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{36} -} -func (m *QueryQEncountersWithImageRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQEncountersWithImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQEncountersWithImageRequest.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 *QueryQEncountersWithImageRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQEncountersWithImageRequest.Merge(m, src) -} -func (m *QueryQEncountersWithImageRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQEncountersWithImageRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQEncountersWithImageRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQEncountersWithImageRequest proto.InternalMessageInfo - -type QueryQEncountersWithImageResponse struct { - Encounters []*EncounterWithImage `protobuf:"bytes,1,rep,name=encounters,proto3" json:"encounters,omitempty"` -} - -func (m *QueryQEncountersWithImageResponse) Reset() { *m = QueryQEncountersWithImageResponse{} } -func (m *QueryQEncountersWithImageResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQEncountersWithImageResponse) ProtoMessage() {} -func (*QueryQEncountersWithImageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{37} -} -func (m *QueryQEncountersWithImageResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQEncountersWithImageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQEncountersWithImageResponse.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 *QueryQEncountersWithImageResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQEncountersWithImageResponse.Merge(m, src) -} -func (m *QueryQEncountersWithImageResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQEncountersWithImageResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQEncountersWithImageResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQEncountersWithImageResponse proto.InternalMessageInfo - -func (m *QueryQEncountersWithImageResponse) GetEncounters() []*EncounterWithImage { - if m != nil { - return m.Encounters - } - return nil -} - -type QueryQEncounterWithImageRequest struct { - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (m *QueryQEncounterWithImageRequest) Reset() { *m = QueryQEncounterWithImageRequest{} } -func (m *QueryQEncounterWithImageRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQEncounterWithImageRequest) ProtoMessage() {} -func (*QueryQEncounterWithImageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{38} -} -func (m *QueryQEncounterWithImageRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQEncounterWithImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQEncounterWithImageRequest.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 *QueryQEncounterWithImageRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQEncounterWithImageRequest.Merge(m, src) -} -func (m *QueryQEncounterWithImageRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryQEncounterWithImageRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQEncounterWithImageRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQEncounterWithImageRequest proto.InternalMessageInfo - -func (m *QueryQEncounterWithImageRequest) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} - -type QueryQEncounterWithImageResponse struct { - Encounter *EncounterWithImage `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` -} - -func (m *QueryQEncounterWithImageResponse) Reset() { *m = QueryQEncounterWithImageResponse{} } -func (m *QueryQEncounterWithImageResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQEncounterWithImageResponse) ProtoMessage() {} -func (*QueryQEncounterWithImageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{39} -} -func (m *QueryQEncounterWithImageResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryQEncounterWithImageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryQEncounterWithImageResponse.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 *QueryQEncounterWithImageResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQEncounterWithImageResponse.Merge(m, src) -} -func (m *QueryQEncounterWithImageResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryQEncounterWithImageResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQEncounterWithImageResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryQEncounterWithImageResponse proto.InternalMessageInfo - -func (m *QueryQEncounterWithImageResponse) GetEncounter() *EncounterWithImage { - if m != nil { - return m.Encounter - } - return nil -} - -func init() { - proto.RegisterType((*QueryParamsRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryParamsRequest") - proto.RegisterType((*QueryParamsResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryParamsResponse") - proto.RegisterType((*QueryQCardRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardRequest") - proto.RegisterType((*QueryQCardContentRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardContentRequest") - proto.RegisterType((*QueryQCardContentResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardContentResponse") - proto.RegisterType((*QueryQUserRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQUserRequest") - proto.RegisterType((*QueryQCardchainInfoRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardchainInfoRequest") - proto.RegisterType((*QueryQCardchainInfoResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardchainInfoResponse") - proto.RegisterType((*QueryQVotingResultsRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQVotingResultsRequest") - proto.RegisterType((*QueryQVotingResultsResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQVotingResultsResponse") - 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((*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") - proto.RegisterType((*IgnoreMatches)(nil), "DecentralCardGame.cardchain.cardchain.IgnoreMatches") - proto.RegisterType((*QueryQMatchesResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQMatchesResponse") - proto.RegisterType((*QueryQSellOffersRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQSellOffersRequest") - proto.RegisterType((*IgnoreSellOffers)(nil), "DecentralCardGame.cardchain.cardchain.IgnoreSellOffers") - 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((*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((*QueryQCardContentsRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardContentsRequest") - proto.RegisterType((*QueryQCardContentsResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardContentsResponse") - proto.RegisterType((*QueryQAccountFromZealyRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQAccountFromZealyRequest") - proto.RegisterType((*QueryQAccountFromZealyResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQAccountFromZealyResponse") - proto.RegisterType((*QueryQEncountersRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQEncountersRequest") - proto.RegisterType((*QueryQEncountersResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQEncountersResponse") - proto.RegisterType((*QueryQEncounterRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQEncounterRequest") - proto.RegisterType((*QueryQEncounterResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQEncounterResponse") - proto.RegisterType((*QueryQEncountersWithImageRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQEncountersWithImageRequest") - proto.RegisterType((*QueryQEncountersWithImageResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQEncountersWithImageResponse") - proto.RegisterType((*QueryQEncounterWithImageRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQEncounterWithImageRequest") - proto.RegisterType((*QueryQEncounterWithImageResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQEncounterWithImageResponse") -} - -func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } - -var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2307 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x1a, 0x5d, 0x6f, 0x1b, 0xc7, - 0xd1, 0x27, 0x53, 0x1f, 0x5c, 0x59, 0xaa, 0xbd, 0x51, 0x5d, 0x86, 0x75, 0x64, 0x65, 0xeb, 0xb4, - 0x6a, 0x12, 0xf3, 0x6c, 0xd9, 0x96, 0x25, 0xd9, 0x91, 0xad, 0x4f, 0x5b, 0x69, 0x64, 0xcb, 0xa7, - 0x26, 0x41, 0xd3, 0x07, 0xe2, 0x44, 0xae, 0xa4, 0x43, 0xc8, 0x3b, 0xfa, 0x76, 0x69, 0x85, 0x25, - 0x58, 0xa0, 0xfd, 0x05, 0x45, 0xfb, 0x3b, 0x8a, 0x02, 0x6d, 0xd1, 0x3e, 0x15, 0x7d, 0x35, 0xd0, - 0x3c, 0x04, 0x28, 0x0a, 0xa4, 0x79, 0x70, 0x0b, 0xbb, 0xef, 0x46, 0xfb, 0x0b, 0x8a, 0x9d, 0xdd, - 0xbd, 0x0f, 0xf2, 0x24, 0xdc, 0x9d, 0x9e, 0x74, 0x3b, 0x3b, 0x33, 0x37, 0xdf, 0x37, 0x33, 0x22, - 0xba, 0x5c, 0xb3, 0xfd, 0x7a, 0xed, 0xd0, 0x76, 0x5c, 0x33, 0x7c, 0x7a, 0xda, 0xa6, 0x7e, 0xa7, - 0xd2, 0xf2, 0x3d, 0xee, 0xe1, 0x77, 0xd6, 0x69, 0x8d, 0xba, 0xdc, 0xb7, 0x1b, 0x6b, 0xb6, 0x5f, - 0x7f, 0x60, 0x37, 0x69, 0x25, 0x40, 0x0c, 0x9f, 0xca, 0x53, 0x07, 0xde, 0x81, 0x07, 0x14, 0xa6, - 0x78, 0x92, 0xc4, 0xe5, 0x4b, 0x07, 0x9e, 0x77, 0xd0, 0xa0, 0xa6, 0xdd, 0x72, 0x4c, 0xdb, 0x75, - 0x3d, 0x6e, 0x73, 0xc7, 0x73, 0x99, 0xba, 0x7d, 0xb7, 0xe6, 0xb1, 0xa6, 0xc7, 0xcc, 0x3d, 0x9b, - 0x51, 0xf9, 0x4e, 0xf3, 0xd9, 0xf5, 0x3d, 0xca, 0xed, 0xeb, 0x66, 0xcb, 0x3e, 0x70, 0x5c, 0x40, - 0x56, 0xb8, 0x33, 0x49, 0x72, 0xb6, 0x6c, 0xdf, 0x6e, 0xb2, 0x93, 0x30, 0x9e, 0x79, 0xdc, 0x71, - 0x0f, 0x14, 0xc6, 0x74, 0x12, 0x86, 0x78, 0x3a, 0xe9, 0xbe, 0xcd, 0xa8, 0xaf, 0xee, 0x13, 0x6d, - 0xd5, 0xb4, 0x79, 0xed, 0x50, 0x21, 0xbc, 0x95, 0x84, 0xc0, 0x28, 0x57, 0xd7, 0x57, 0x92, 0xaf, - 0x1b, 0x8d, 0xaa, 0xb7, 0xbf, 0x1f, 0xbc, 0xe5, 0xed, 0x44, 0x29, 0xbd, 0xb6, 0x5b, 0x73, 0x1a, - 0x27, 0x31, 0xa2, 0xae, 0x40, 0xe2, 0xd4, 0x3f, 0xd1, 0x20, 0x8c, 0xfa, 0xcf, 0x82, 0x57, 0x5d, - 0x4a, 0xc2, 0xe0, 0x5f, 0xc8, 0x5b, 0x32, 0x85, 0xf0, 0x13, 0xe1, 0x94, 0x1d, 0xb0, 0xb2, 0x45, - 0x9f, 0xb6, 0x29, 0xe3, 0x64, 0x0f, 0xbd, 0x11, 0x83, 0xb2, 0x96, 0xe7, 0x32, 0x8a, 0x7f, 0x84, - 0x46, 0xa4, 0x37, 0x4a, 0xc6, 0x8c, 0x31, 0x3b, 0x3e, 0x77, 0xb5, 0x92, 0x2a, 0x6e, 0x2a, 0x92, - 0xcd, 0x6a, 0xe1, 0xf9, 0x8b, 0xcb, 0x67, 0x2c, 0xc5, 0x82, 0xbc, 0x87, 0x2e, 0xc0, 0x3b, 0x9e, - 0x08, 0x52, 0xf5, 0x62, 0x7c, 0x11, 0x8d, 0x08, 0xb2, 0xad, 0x3a, 0xbc, 0xa1, 0x68, 0xa9, 0x13, - 0x99, 0x43, 0xa5, 0x10, 0x79, 0xcd, 0x73, 0x39, 0x75, 0x79, 0x32, 0x4d, 0x21, 0xa0, 0xd9, 0x42, - 0x6f, 0x26, 0xd0, 0x28, 0x55, 0x4a, 0x68, 0xb4, 0x26, 0x41, 0xea, 0x4d, 0xfa, 0x88, 0x31, 0x2a, - 0x1c, 0xda, 0xec, 0xb0, 0x34, 0x04, 0x60, 0x78, 0x26, 0x57, 0xb5, 0xac, 0x1f, 0x33, 0xea, 0xeb, - 0xf7, 0x96, 0xd0, 0xa8, 0x5d, 0xaf, 0xfb, 0x94, 0x31, 0xcd, 0x42, 0x1d, 0xc9, 0x25, 0x54, 0x0e, - 0xdf, 0x0c, 0x26, 0xd8, 0x72, 0xf7, 0x3d, 0x6d, 0xdc, 0x97, 0x43, 0xe8, 0xbb, 0x89, 0xd7, 0x4a, - 0xb4, 0x9f, 0xa2, 0xf3, 0x42, 0x83, 0x95, 0x76, 0x4d, 0xa4, 0xc6, 0x8e, 0xef, 0xd4, 0xa8, 0x7c, - 0xc1, 0xaa, 0x29, 0x0c, 0xf8, 0xcd, 0x8b, 0xcb, 0x3f, 0x38, 0x70, 0xf8, 0x61, 0x7b, 0xaf, 0x52, - 0xf3, 0x9a, 0xa6, 0x4a, 0x2f, 0xf9, 0xe7, 0x2a, 0xab, 0x7f, 0x6e, 0xf2, 0x4e, 0x8b, 0xb2, 0xca, - 0x9a, 0xe7, 0xb8, 0xd6, 0x00, 0x23, 0x3c, 0x8d, 0x90, 0x5d, 0xe3, 0xce, 0x33, 0xba, 0x4b, 0x39, - 0x2b, 0x0d, 0xcd, 0x9c, 0x9d, 0x2d, 0x58, 0x11, 0x08, 0x9e, 0x41, 0xe3, 0x82, 0x86, 0x3d, 0x6a, - 0x37, 0xf7, 0xa8, 0x5f, 0x3a, 0x0b, 0x16, 0x8d, 0x82, 0xf0, 0x15, 0x34, 0x01, 0xe9, 0x40, 0x35, - 0x4e, 0x01, 0x70, 0xe2, 0x40, 0xfc, 0x2e, 0x3a, 0x2f, 0x82, 0xfe, 0xb1, 0x88, 0x79, 0x8d, 0x38, - 0x0c, 0x88, 0x03, 0x70, 0xfc, 0x7d, 0x34, 0xa9, 0x42, 0x5f, 0x63, 0x8e, 0x00, 0x66, 0x1f, 0x54, - 0xf0, 0x6c, 0xd8, 0x8c, 0x0b, 0xab, 0x6d, 0x7b, 0x75, 0x67, 0xdf, 0xa1, 0xf5, 0xd2, 0xa8, 0xe4, - 0xd9, 0x0f, 0x0f, 0x5d, 0xf0, 0x09, 0x14, 0x07, 0x8b, 0xb2, 0x76, 0x83, 0x07, 0xf1, 0xfd, 0x0b, - 0x43, 0xbb, 0xa0, 0xef, 0x5a, 0xb9, 0x60, 0x0f, 0x5d, 0x10, 0x1c, 0x63, 0x97, 0x2a, 0xe6, 0x6f, - 0xa6, 0x8c, 0xf9, 0x38, 0xe3, 0x41, 0x76, 0xe4, 0x75, 0x41, 0xa5, 0x1e, 0x84, 0x81, 0x16, 0x0d, - 0x4f, 0xa1, 0x61, 0xef, 0xc8, 0xa5, 0xbe, 0x8a, 0x29, 0x79, 0xc0, 0x5b, 0x68, 0x8c, 0x71, 0x9b, - 0xb7, 0x19, 0x95, 0x4e, 0x9b, 0x4c, 0x9d, 0x7b, 0xbb, 0x40, 0x66, 0x05, 0xe4, 0x78, 0x1b, 0x15, - 0xc5, 0xed, 0x8f, 0x45, 0x94, 0x94, 0xce, 0x02, 0x2f, 0x33, 0x25, 0xaf, 0x35, 0x45, 0x67, 0x85, - 0x1c, 0xf0, 0x87, 0x68, 0xb4, 0xd6, 0xb0, 0x99, 0x10, 0xac, 0x00, 0xcc, 0xae, 0x65, 0x60, 0xb6, - 0x26, 0x28, 0x2d, 0xcd, 0x40, 0x64, 0x32, 0xf3, 0x7c, 0xbe, 0xda, 0x81, 0x50, 0x29, 0x5a, 0xea, - 0x84, 0x09, 0x3a, 0xe7, 0xda, 0x4d, 0x2a, 0x72, 0xd8, 0x76, 0x5c, 0x06, 0xe1, 0x51, 0xb4, 0x62, - 0x30, 0x11, 0x1c, 0x9f, 0xd3, 0xce, 0x91, 0xe7, 0xd7, 0x59, 0x80, 0x37, 0x0a, 0x78, 0x03, 0x70, - 0x11, 0xc2, 0xae, 0xc7, 0x69, 0x88, 0x38, 0x06, 0x88, 0x71, 0x20, 0x9e, 0x45, 0xdf, 0xf2, 0xdc, - 0x46, 0x67, 0x97, 0xdb, 0x3e, 0xa7, 0xbe, 0x10, 0xb7, 0x54, 0x9c, 0x31, 0x66, 0xc7, 0xac, 0x7e, - 0x30, 0xae, 0x20, 0x2c, 0x40, 0xab, 0x76, 0xc3, 0x76, 0x6b, 0x74, 0xc5, 0xad, 0x1d, 0x7a, 0x3e, - 0x2b, 0x21, 0x40, 0x4e, 0xb8, 0xc1, 0xdb, 0x68, 0xcc, 0xb7, 0x7d, 0x87, 0x3b, 0x94, 0x95, 0xc6, - 0xc1, 0x68, 0xd7, 0x33, 0x18, 0xcd, 0x12, 0xa4, 0x1d, 0x2b, 0x60, 0x21, 0xf2, 0xa7, 0xd9, 0x6e, - 0x70, 0x07, 0xac, 0xf9, 0xd8, 0x6d, 0x74, 0x4a, 0xe7, 0xe0, 0xd5, 0x7d, 0x50, 0x72, 0x43, 0x55, - 0x75, 0x1d, 0x70, 0x2a, 0xd8, 0x2f, 0xc9, 0x80, 0x60, 0x1f, 0x39, 0x4c, 0x14, 0x43, 0x51, 0x11, - 0x42, 0x00, 0xa9, 0xe8, 0x28, 0xdd, 0x16, 0xf9, 0x1d, 0xa9, 0x7d, 0x90, 0xef, 0x41, 0xd1, 0xd5, - 0x47, 0x32, 0x8b, 0xce, 0x4b, 0xfc, 0x5d, 0xca, 0x23, 0x31, 0xcd, 0x28, 0x0f, 0x70, 0xe5, 0x81, - 0x2c, 0xa1, 0x8b, 0x1a, 0x53, 0x15, 0x04, 0x8d, 0x3f, 0x83, 0xc6, 0x83, 0x22, 0x11, 0x50, 0x45, - 0x41, 0xe4, 0x26, 0x9a, 0x52, 0xaa, 0xc8, 0x12, 0xa1, 0x29, 0x85, 0x2e, 0x12, 0x12, 0xd0, 0x85, - 0x00, 0xf2, 0xcd, 0x90, 0x26, 0xdb, 0x96, 0xc5, 0x4a, 0x93, 0x5d, 0x41, 0x13, 0xdc, 0x69, 0x52, - 0xc6, 0xed, 0x66, 0x6b, 0xdd, 0x3b, 0x72, 0x15, 0x69, 0x1c, 0x28, 0xc4, 0x0a, 0x00, 0x1f, 0xb7, - 0xe0, 0x03, 0x51, 0xb0, 0xa2, 0x20, 0xc1, 0xa7, 0xa6, 0xc2, 0x47, 0x7c, 0x29, 0x64, 0x7e, 0x15, - 0xad, 0x38, 0x10, 0x97, 0xd1, 0x98, 0x4f, 0x5b, 0x9e, 0x08, 0x1f, 0x28, 0x9e, 0x45, 0x2b, 0x38, - 0xe3, 0x87, 0x68, 0xd4, 0x6b, 0xf3, 0x9a, 0xd7, 0xa4, 0x90, 0x03, 0x93, 0x73, 0x95, 0x94, 0x91, - 0xf1, 0x58, 0x52, 0x59, 0x9a, 0x3c, 0xa8, 0xe4, 0x3b, 0x0d, 0xbb, 0x43, 0xeb, 0xa5, 0x11, 0x70, - 0x6c, 0x14, 0x84, 0x3f, 0x42, 0x23, 0xce, 0x81, 0xeb, 0xf9, 0x14, 0x12, 0x25, 0x7d, 0x69, 0xdb, - 0x02, 0x22, 0x6d, 0x42, 0xc5, 0x83, 0xfc, 0x10, 0x4d, 0xc4, 0x2e, 0x44, 0x8c, 0x68, 0x55, 0x0c, - 0x88, 0x47, 0x7d, 0x14, 0xe5, 0xf7, 0xdb, 0x7d, 0x7e, 0x50, 0xb1, 0x38, 0x83, 0xc6, 0xd5, 0x77, - 0x24, 0x12, 0x8d, 0x51, 0x10, 0xde, 0x54, 0x91, 0xa7, 0x0a, 0xe1, 0xf8, 0xdc, 0xfb, 0x29, 0xa5, - 0x96, 0xf1, 0xab, 0x89, 0xc9, 0x1f, 0x87, 0xd0, 0x77, 0xfa, 0xc2, 0x8f, 0x45, 0xa2, 0xa8, 0x25, - 0xbe, 0x96, 0x41, 0x28, 0x14, 0xad, 0x10, 0x20, 0xf4, 0x82, 0x83, 0x0a, 0x81, 0xa2, 0xa5, 0x8f, - 0x50, 0xbf, 0x68, 0xa3, 0xa1, 0xbe, 0x9b, 0xa2, 0x7e, 0xc1, 0x49, 0xc4, 0xff, 0x5e, 0xbb, 0x13, - 0x78, 0x5b, 0x1e, 0x44, 0xa3, 0x21, 0xa4, 0x53, 0x9f, 0x45, 0x78, 0xc6, 0x8f, 0xd0, 0x88, 0x2c, - 0xd4, 0x50, 0xe3, 0x26, 0xe7, 0xe6, 0xd3, 0x56, 0x79, 0xad, 0x83, 0x2a, 0xf7, 0x8a, 0x0b, 0x7e, - 0xdc, 0xe7, 0xe2, 0xdb, 0x99, 0x5c, 0x1c, 0xb1, 0x8c, 0xf6, 0xf2, 0x32, 0x3a, 0xdf, 0x7f, 0x07, - 0x6a, 0x4b, 0xa1, 0xa5, 0x9f, 0xf5, 0xcb, 0xb5, 0x82, 0x43, 0x00, 0x85, 0x67, 0xf2, 0x6b, 0x43, - 0x77, 0x72, 0x51, 0xb3, 0x2b, 0xef, 0x5f, 0x41, 0x13, 0x61, 0x73, 0xb0, 0x55, 0x67, 0xca, 0xff, - 0x71, 0x20, 0xde, 0x41, 0x28, 0x04, 0xa8, 0x20, 0xb8, 0x96, 0xd5, 0x4e, 0x56, 0x84, 0x07, 0x79, - 0x47, 0x17, 0xc6, 0x5d, 0x68, 0x9c, 0x75, 0x18, 0x4c, 0xa2, 0x21, 0x47, 0x57, 0x91, 0x21, 0xa7, - 0x4e, 0x2e, 0xea, 0xea, 0xa1, 0xd1, 0xa4, 0xd8, 0xe4, 0x5f, 0x86, 0x6e, 0x0f, 0x45, 0x0b, 0xa5, - 0xa9, 0x37, 0x63, 0x56, 0x49, 0x9f, 0xc8, 0x6b, 0x7d, 0x2e, 0x24, 0xe8, 0x9c, 0xb4, 0xbd, 0x84, - 0x2b, 0x6b, 0xc6, 0x60, 0x02, 0x47, 0x94, 0x18, 0xdf, 0xd9, 0x6b, 0x73, 0x2f, 0x28, 0x3b, 0x31, - 0x58, 0xb4, 0x36, 0x41, 0xfd, 0x87, 0xcf, 0x75, 0xc1, 0x8a, 0x03, 0xc3, 0xf6, 0x63, 0x38, 0xd2, - 0x7e, 0x90, 0xf7, 0xf5, 0x47, 0x40, 0x2a, 0xa8, 0xdc, 0x05, 0xe1, 0xce, 0x43, 0x3f, 0xa9, 0x13, - 0x99, 0x47, 0xd3, 0x80, 0x2d, 0x3f, 0x54, 0xeb, 0x0e, 0x93, 0x42, 0x38, 0x9e, 0x7b, 0xf2, 0x07, - 0x61, 0x17, 0x5d, 0x3e, 0x96, 0x2e, 0xd2, 0xb6, 0xb7, 0x7d, 0x5f, 0xb6, 0xed, 0x67, 0x67, 0x27, - 0x2c, 0x7d, 0x14, 0xc2, 0x1c, 0xd9, 0x2e, 0xa7, 0x75, 0x88, 0x88, 0x09, 0x4b, 0x9d, 0xc8, 0xad, - 0x84, 0x29, 0x80, 0x45, 0x3e, 0x63, 0x72, 0x58, 0xd0, 0x2a, 0xe8, 0x23, 0xe1, 0xd1, 0x16, 0x3e, - 0x24, 0x53, 0x62, 0x7c, 0x82, 0x86, 0xa1, 0x90, 0x02, 0xd5, 0xf8, 0xdc, 0xfd, 0x94, 0xae, 0x3d, - 0x76, 0x1c, 0xb1, 0x24, 0x3b, 0xb2, 0x88, 0xde, 0x92, 0x38, 0x2b, 0x35, 0x98, 0xf3, 0x36, 0x7d, - 0xaf, 0xf9, 0x19, 0xb5, 0x1b, 0x9d, 0x88, 0xc0, 0x3f, 0x13, 0xe7, 0x60, 0x40, 0xd2, 0x47, 0xb2, - 0xa4, 0x8c, 0x9e, 0x40, 0x1a, 0xda, 0xee, 0x98, 0x79, 0xe5, 0x4d, 0x5d, 0x0a, 0x37, 0x82, 0xf1, - 0x52, 0x77, 0xca, 0x0d, 0x9d, 0xae, 0xd1, 0x2b, 0xc5, 0x70, 0x07, 0xa1, 0x70, 0x1e, 0x55, 0xa6, - 0x48, 0x9b, 0x88, 0x01, 0x3b, 0x2b, 0xc2, 0x83, 0xcc, 0xea, 0x96, 0x20, 0xbc, 0x3e, 0x26, 0x17, - 0x9d, 0x01, 0x91, 0x03, 0xb1, 0x1e, 0xa1, 0x62, 0xc0, 0x52, 0x35, 0xed, 0xd9, 0xa5, 0x0a, 0x59, - 0x10, 0x82, 0x66, 0xfa, 0x4d, 0xf0, 0xa9, 0xc3, 0x0f, 0xb7, 0x9a, 0xf6, 0x01, 0xd5, 0x66, 0xfa, - 0x39, 0x7a, 0xfb, 0x04, 0x1c, 0x25, 0xd8, 0x4f, 0x12, 0xec, 0xb5, 0x98, 0x55, 0xb2, 0x90, 0x6d, - 0xd4, 0x70, 0xd7, 0x55, 0xea, 0x3c, 0x49, 0xc0, 0x3b, 0xc6, 0x82, 0xdd, 0x01, 0xb5, 0x06, 0x25, - 0xfe, 0x74, 0xd0, 0x94, 0xa7, 0x10, 0x38, 0xe4, 0x35, 0xf7, 0xe5, 0xf7, 0xd0, 0x30, 0xbc, 0x1d, - 0xff, 0xc9, 0x40, 0x23, 0x72, 0x3f, 0x80, 0x17, 0xb3, 0xa4, 0x51, 0x6c, 0x61, 0x51, 0x5e, 0xca, - 0x43, 0xaa, 0xca, 0xf7, 0xad, 0x5f, 0xfe, 0xfd, 0x3f, 0xbf, 0x19, 0x32, 0xf1, 0x55, 0x73, 0x80, - 0x87, 0xb9, 0x76, 0xec, 0x42, 0x0a, 0xff, 0xde, 0x40, 0xc3, 0x90, 0xcb, 0x78, 0x21, 0x73, 0xfa, - 0x6b, 0xb1, 0xcd, 0xf4, 0xcd, 0x5d, 0x4b, 0x20, 0x90, 0x65, 0x90, 0x75, 0x01, 0xcf, 0xa7, 0x94, - 0xf5, 0x69, 0x55, 0x3c, 0x9b, 0x5d, 0x59, 0xd6, 0x7a, 0xf8, 0x9f, 0x06, 0x3a, 0x17, 0x2d, 0x40, - 0xf8, 0x5e, 0xfe, 0xd2, 0x25, 0x55, 0x38, 0x75, 0xed, 0x23, 0x9b, 0xa0, 0xd3, 0x7d, 0xbc, 0x9c, - 0x49, 0xa7, 0xaa, 0xda, 0xd7, 0x84, 0xba, 0xfd, 0x4e, 0x38, 0x44, 0x74, 0xd8, 0x19, 0x1d, 0x12, - 0xd9, 0xe9, 0x94, 0xdf, 0x4b, 0x49, 0x29, 0x68, 0xc8, 0x3d, 0x10, 0x7c, 0x11, 0xdf, 0x4e, 0x2d, - 0x78, 0x9b, 0x51, 0xdf, 0xec, 0xaa, 0xb2, 0xdb, 0xc3, 0x5f, 0x1b, 0x68, 0x32, 0xbe, 0x04, 0xc2, - 0x2b, 0x99, 0xcd, 0xd9, 0xbf, 0x5f, 0x2a, 0xaf, 0x9e, 0x86, 0x85, 0xf2, 0x49, 0x76, 0xd5, 0x82, - 0xe7, 0xaa, 0x23, 0xf4, 0x00, 0xd5, 0x62, 0x0b, 0x8f, 0x8c, 0xaa, 0x25, 0xed, 0x6d, 0x32, 0xaa, - 0x96, 0xb8, 0xdb, 0xc9, 0xa1, 0x9a, 0xdc, 0x2f, 0x57, 0x7d, 0xa5, 0xc7, 0x9f, 0x0d, 0x34, 0x22, - 0x47, 0xe8, 0x6c, 0x15, 0x2b, 0xb6, 0xe7, 0xc9, 0x56, 0xb1, 0xe2, 0x13, 0x3b, 0x99, 0x07, 0x15, - 0xae, 0xe1, 0x4a, 0x26, 0xef, 0x30, 0xfc, 0x07, 0x21, 0x39, 0xcc, 0x41, 0x19, 0x25, 0x8f, 0xce, - 0xfe, 0xe5, 0x4c, 0x03, 0x17, 0xb9, 0x0f, 0xb2, 0x2e, 0xe1, 0x85, 0xd4, 0xb2, 0xc2, 0x84, 0x66, - 0x76, 0xd5, 0x42, 0xa1, 0x87, 0x7f, 0x6b, 0xa0, 0x82, 0x68, 0x3c, 0xf1, 0xed, 0x4c, 0x32, 0x87, - 0xfb, 0x87, 0x72, 0x86, 0x19, 0xba, 0xb5, 0x4b, 0x39, 0xb9, 0x0b, 0x32, 0xcf, 0xe3, 0x9b, 0xa9, - 0x65, 0x66, 0x94, 0x9b, 0x5d, 0xe8, 0x62, 0x7b, 0xf8, 0xb9, 0x81, 0x50, 0x38, 0xdd, 0xe0, 0x0f, - 0x32, 0x4a, 0x1d, 0xdf, 0x85, 0x94, 0x33, 0x4f, 0x36, 0x64, 0x0b, 0xa4, 0x5f, 0xc3, 0x2b, 0x19, - 0xa4, 0xd7, 0xff, 0x9e, 0x10, 0x4a, 0x04, 0x5b, 0x96, 0x1e, 0xfe, 0x8b, 0x81, 0xc6, 0xf4, 0x8a, - 0x05, 0xdf, 0xc9, 0x16, 0xb1, 0xb1, 0xc5, 0x4c, 0x6a, 0x17, 0x28, 0x32, 0xb2, 0x0e, 0x4a, 0x2c, - 0xe3, 0xbb, 0xe9, 0x43, 0x5c, 0x52, 0x9a, 0xdd, 0x60, 0xdf, 0xd3, 0xc3, 0x7f, 0x15, 0xf2, 0xeb, - 0x7d, 0xc4, 0x9d, 0xec, 0x21, 0x1f, 0x6c, 0x88, 0xca, 0x77, 0xf3, 0x11, 0xab, 0x84, 0x5d, 0x00, - 0x6d, 0xe6, 0xf0, 0xb5, 0x6c, 0x49, 0x40, 0x19, 0xfe, 0x87, 0x81, 0xc6, 0x23, 0xa3, 0x32, 0x5e, - 0xce, 0x17, 0x4d, 0x81, 0x1e, 0xf7, 0x72, 0xd3, 0x2b, 0x55, 0x36, 0x40, 0x95, 0x7b, 0xf8, 0x83, - 0x1c, 0xd1, 0xc5, 0xcc, 0xae, 0x1c, 0x6a, 0x7b, 0xa2, 0x7b, 0x1a, 0x55, 0x73, 0x34, 0x5e, 0xca, - 0x28, 0x53, 0x64, 0x46, 0x2f, 0xa7, 0x5e, 0x83, 0x03, 0x55, 0xae, 0xcc, 0x16, 0x84, 0x66, 0xd7, - 0xa9, 0xf7, 0xf0, 0xdf, 0x44, 0x87, 0x01, 0xff, 0x26, 0x59, 0xc8, 0x5a, 0x8a, 0x02, 0x07, 0x2c, - 0xe6, 0xa0, 0x54, 0xa6, 0xdf, 0x06, 0xe1, 0x1f, 0xe0, 0x8d, 0x2c, 0x65, 0x29, 0xb4, 0xb9, 0xd9, - 0x8d, 0xee, 0x0c, 0x7a, 0xf8, 0xb5, 0x81, 0xf0, 0xe0, 0xa8, 0x8d, 0x37, 0xb2, 0x08, 0x78, 0xec, - 0x88, 0x5f, 0xde, 0x3c, 0x2d, 0x1b, 0xa5, 0xf4, 0x87, 0xa0, 0xf4, 0x3a, 0x5e, 0x4d, 0xa9, 0x34, - 0x6c, 0xc5, 0x3b, 0xd5, 0x7a, 0x84, 0x57, 0x50, 0x99, 0x5f, 0x18, 0x68, 0x22, 0x36, 0xd0, 0xe3, - 0xdc, 0xdd, 0x6b, 0xe0, 0xcf, 0x95, 0x53, 0x70, 0x50, 0x2a, 0x3e, 0x04, 0x15, 0x57, 0xf1, 0xfd, - 0x5c, 0x0d, 0x30, 0xd3, 0x1d, 0xb0, 0x74, 0xe9, 0x85, 0x81, 0x05, 0x00, 0x5e, 0xcf, 0x24, 0xe2, - 0x31, 0xab, 0x87, 0xf2, 0xc6, 0x29, 0xb9, 0xe4, 0x0e, 0x62, 0x5b, 0xb2, 0xaa, 0xee, 0xfb, 0x5e, - 0xb3, 0x0a, 0xeb, 0x0e, 0xb3, 0xab, 0xb6, 0x1e, 0x90, 0x92, 0xe3, 0x91, 0xa1, 0x3b, 0x63, 0x7d, - 0x1c, 0xd8, 0x77, 0x64, 0xac, 0x8f, 0x83, 0x4b, 0x11, 0x72, 0x07, 0xf4, 0xbb, 0x85, 0x6f, 0xa4, - 0xd6, 0x2f, 0x1c, 0xe3, 0xf1, 0x97, 0xa2, 0x75, 0x08, 0x98, 0x66, 0x6c, 0x1d, 0xfa, 0x77, 0x26, - 0xe5, 0xe5, 0xbc, 0xe4, 0xb9, 0x3b, 0xe5, 0x40, 0x15, 0x59, 0x2f, 0xff, 0x6b, 0xa0, 0xa9, 0xa4, - 0x8d, 0x08, 0x7e, 0x90, 0xd3, 0xca, 0xfd, 0x4b, 0x8d, 0xf2, 0xc3, 0xd3, 0x33, 0xca, 0x3d, 0x85, - 0x86, 0x7e, 0xab, 0x1e, 0x39, 0xfc, 0xb0, 0xea, 0x80, 0x6a, 0xff, 0x33, 0xd0, 0x1b, 0x09, 0x2b, - 0x15, 0xbc, 0x99, 0x4f, 0xd2, 0x01, 0x8d, 0x1f, 0x9c, 0x9a, 0x4f, 0xce, 0xc2, 0x1a, 0x51, 0x38, - 0xa2, 0x2f, 0x38, 0x7a, 0xd5, 0x7a, 0xfe, 0x72, 0xda, 0xf8, 0xea, 0xe5, 0xb4, 0xf1, 0xef, 0x97, - 0xd3, 0xc6, 0xaf, 0x5e, 0x4d, 0x9f, 0xf9, 0xea, 0xd5, 0xf4, 0x99, 0xaf, 0x5f, 0x4d, 0x9f, 0xf9, - 0x6c, 0x21, 0xf2, 0x53, 0x85, 0x93, 0xde, 0xf3, 0x45, 0xf4, 0xc7, 0x29, 0x9d, 0x16, 0x65, 0x7b, - 0x23, 0xf0, 0x03, 0x95, 0x1b, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x11, 0x60, 0xe9, 0x8d, 0xbd, - 0x24, 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 QCard items. - QCard(ctx context.Context, in *QueryQCardRequest, opts ...grpc.CallOption) (*OutpCard, error) - // Queries a list of QCardContent items. - QCardContent(ctx context.Context, in *QueryQCardContentRequest, opts ...grpc.CallOption) (*QueryQCardContentResponse, error) - // Queries a list of QUser items. - QUser(ctx context.Context, in *QueryQUserRequest, opts ...grpc.CallOption) (*User, error) - // Queries a list of QCardchainInfo items. - QCardchainInfo(ctx context.Context, in *QueryQCardchainInfoRequest, opts ...grpc.CallOption) (*QueryQCardchainInfoResponse, error) - // Queries a list of QVotingResults items. - QVotingResults(ctx context.Context, in *QueryQVotingResultsRequest, opts ...grpc.CallOption) (*QueryQVotingResultsResponse, error) - // Queries a list of QCards items. - 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 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. - QCouncil(ctx context.Context, in *QueryQCouncilRequest, opts ...grpc.CallOption) (*Council, error) - // Queries a list of QMatches items. - QMatches(ctx context.Context, in *QueryQMatchesRequest, opts ...grpc.CallOption) (*QueryQMatchesResponse, error) - // Queries a list of QSellOffers items. - 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 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 QCardContents items. - QCardContents(ctx context.Context, in *QueryQCardContentsRequest, opts ...grpc.CallOption) (*QueryQCardContentsResponse, error) - // Queries a list of QAccountFromZealy items. - QAccountFromZealy(ctx context.Context, in *QueryQAccountFromZealyRequest, opts ...grpc.CallOption) (*QueryQAccountFromZealyResponse, error) - // Queries a list of QEncounters items. - QEncounters(ctx context.Context, in *QueryQEncountersRequest, opts ...grpc.CallOption) (*QueryQEncountersResponse, error) - // Queries a list of QEncounter items. - QEncounter(ctx context.Context, in *QueryQEncounterRequest, opts ...grpc.CallOption) (*QueryQEncounterResponse, error) - // Queries a list of QEncountersWithImage items. - QEncountersWithImage(ctx context.Context, in *QueryQEncountersWithImageRequest, opts ...grpc.CallOption) (*QueryQEncountersWithImageResponse, error) - // Queries a list of QEncounterWithImage items. - QEncounterWithImage(ctx context.Context, in *QueryQEncounterWithImageRequest, opts ...grpc.CallOption) (*QueryQEncounterWithImageResponse, 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.cardchain.Query/Params", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QCard(ctx context.Context, in *QueryQCardRequest, opts ...grpc.CallOption) (*OutpCard, error) { - out := new(OutpCard) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QCard", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QCardContent(ctx context.Context, in *QueryQCardContentRequest, opts ...grpc.CallOption) (*QueryQCardContentResponse, error) { - out := new(QueryQCardContentResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QCardContent", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QUser(ctx context.Context, in *QueryQUserRequest, opts ...grpc.CallOption) (*User, error) { - out := new(User) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QUser", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QCardchainInfo(ctx context.Context, in *QueryQCardchainInfoRequest, opts ...grpc.CallOption) (*QueryQCardchainInfoResponse, error) { - out := new(QueryQCardchainInfoResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QCardchainInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QVotingResults(ctx context.Context, in *QueryQVotingResultsRequest, opts ...grpc.CallOption) (*QueryQVotingResultsResponse, error) { - out := new(QueryQVotingResultsResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QVotingResults", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QCards(ctx context.Context, in *QueryQCardsRequest, opts ...grpc.CallOption) (*QueryQCardsResponse, error) { - out := new(QueryQCardsResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QCards", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QMatch(ctx context.Context, in *QueryQMatchRequest, opts ...grpc.CallOption) (*Match, error) { - out := new(Match) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QMatch", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -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 - } - return out, nil -} - -func (c *queryClient) QSellOffer(ctx context.Context, in *QueryQSellOfferRequest, opts ...grpc.CallOption) (*SellOffer, error) { - out := new(SellOffer) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QSellOffer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QCouncil(ctx context.Context, in *QueryQCouncilRequest, opts ...grpc.CallOption) (*Council, error) { - out := new(Council) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QCouncil", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QMatches(ctx context.Context, in *QueryQMatchesRequest, opts ...grpc.CallOption) (*QueryQMatchesResponse, error) { - out := new(QueryQMatchesResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QMatches", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QSellOffers(ctx context.Context, in *QueryQSellOffersRequest, opts ...grpc.CallOption) (*QueryQSellOffersResponse, error) { - out := new(QueryQSellOffersResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QSellOffers", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QServer(ctx context.Context, in *QueryQServerRequest, opts ...grpc.CallOption) (*Server, error) { - out := new(Server) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QServer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -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 - } - return out, nil -} - -func (c *queryClient) RarityDistribution(ctx context.Context, in *QueryRarityDistributionRequest, opts ...grpc.CallOption) (*QueryRarityDistributionResponse, error) { - out := new(QueryRarityDistributionResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/RarityDistribution", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QCardContents(ctx context.Context, in *QueryQCardContentsRequest, opts ...grpc.CallOption) (*QueryQCardContentsResponse, error) { - out := new(QueryQCardContentsResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QCardContents", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QAccountFromZealy(ctx context.Context, in *QueryQAccountFromZealyRequest, opts ...grpc.CallOption) (*QueryQAccountFromZealyResponse, error) { - out := new(QueryQAccountFromZealyResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QAccountFromZealy", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QEncounters(ctx context.Context, in *QueryQEncountersRequest, opts ...grpc.CallOption) (*QueryQEncountersResponse, error) { - out := new(QueryQEncountersResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QEncounters", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QEncounter(ctx context.Context, in *QueryQEncounterRequest, opts ...grpc.CallOption) (*QueryQEncounterResponse, error) { - out := new(QueryQEncounterResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QEncounter", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QEncountersWithImage(ctx context.Context, in *QueryQEncountersWithImageRequest, opts ...grpc.CallOption) (*QueryQEncountersWithImageResponse, error) { - out := new(QueryQEncountersWithImageResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QEncountersWithImage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) QEncounterWithImage(ctx context.Context, in *QueryQEncounterWithImageRequest, opts ...grpc.CallOption) (*QueryQEncounterWithImageResponse, error) { - out := new(QueryQEncounterWithImageResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QEncounterWithImage", 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 QCard items. - QCard(context.Context, *QueryQCardRequest) (*OutpCard, error) - // Queries a list of QCardContent items. - QCardContent(context.Context, *QueryQCardContentRequest) (*QueryQCardContentResponse, error) - // Queries a list of QUser items. - QUser(context.Context, *QueryQUserRequest) (*User, error) - // Queries a list of QCardchainInfo items. - QCardchainInfo(context.Context, *QueryQCardchainInfoRequest) (*QueryQCardchainInfoResponse, error) - // Queries a list of QVotingResults items. - QVotingResults(context.Context, *QueryQVotingResultsRequest) (*QueryQVotingResultsResponse, error) - // Queries a list of QCards items. - QCards(context.Context, *QueryQCardsRequest) (*QueryQCardsResponse, error) - // Queries a list of QMatch items. - QMatch(context.Context, *QueryQMatchRequest) (*Match, 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. - QCouncil(context.Context, *QueryQCouncilRequest) (*Council, error) - // Queries a list of QMatches items. - QMatches(context.Context, *QueryQMatchesRequest) (*QueryQMatchesResponse, error) - // Queries a list of QSellOffers items. - QSellOffers(context.Context, *QueryQSellOffersRequest) (*QueryQSellOffersResponse, error) - // Queries a list of QServer items. - QServer(context.Context, *QueryQServerRequest) (*Server, 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 QCardContents items. - QCardContents(context.Context, *QueryQCardContentsRequest) (*QueryQCardContentsResponse, error) - // Queries a list of QAccountFromZealy items. - QAccountFromZealy(context.Context, *QueryQAccountFromZealyRequest) (*QueryQAccountFromZealyResponse, error) - // Queries a list of QEncounters items. - QEncounters(context.Context, *QueryQEncountersRequest) (*QueryQEncountersResponse, error) - // Queries a list of QEncounter items. - QEncounter(context.Context, *QueryQEncounterRequest) (*QueryQEncounterResponse, error) - // Queries a list of QEncountersWithImage items. - QEncountersWithImage(context.Context, *QueryQEncountersWithImageRequest) (*QueryQEncountersWithImageResponse, error) - // Queries a list of QEncounterWithImage items. - QEncounterWithImage(context.Context, *QueryQEncounterWithImageRequest) (*QueryQEncounterWithImageResponse, 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) QCard(ctx context.Context, req *QueryQCardRequest) (*OutpCard, error) { - return nil, status.Errorf(codes.Unimplemented, "method QCard not implemented") -} -func (*UnimplementedQueryServer) QCardContent(ctx context.Context, req *QueryQCardContentRequest) (*QueryQCardContentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QCardContent not implemented") -} -func (*UnimplementedQueryServer) QUser(ctx context.Context, req *QueryQUserRequest) (*User, error) { - return nil, status.Errorf(codes.Unimplemented, "method QUser not implemented") -} -func (*UnimplementedQueryServer) QCardchainInfo(ctx context.Context, req *QueryQCardchainInfoRequest) (*QueryQCardchainInfoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QCardchainInfo not implemented") -} -func (*UnimplementedQueryServer) QVotingResults(ctx context.Context, req *QueryQVotingResultsRequest) (*QueryQVotingResultsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QVotingResults not implemented") -} -func (*UnimplementedQueryServer) QCards(ctx context.Context, req *QueryQCardsRequest) (*QueryQCardsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QCards not implemented") -} -func (*UnimplementedQueryServer) QMatch(ctx context.Context, req *QueryQMatchRequest) (*Match, error) { - return nil, status.Errorf(codes.Unimplemented, "method QMatch 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") -} -func (*UnimplementedQueryServer) QCouncil(ctx context.Context, req *QueryQCouncilRequest) (*Council, error) { - return nil, status.Errorf(codes.Unimplemented, "method QCouncil not implemented") -} -func (*UnimplementedQueryServer) QMatches(ctx context.Context, req *QueryQMatchesRequest) (*QueryQMatchesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QMatches not implemented") -} -func (*UnimplementedQueryServer) QSellOffers(ctx context.Context, req *QueryQSellOffersRequest) (*QueryQSellOffersResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QSellOffers not implemented") -} -func (*UnimplementedQueryServer) QServer(ctx context.Context, req *QueryQServerRequest) (*Server, error) { - return nil, status.Errorf(codes.Unimplemented, "method QServer 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") -} -func (*UnimplementedQueryServer) QCardContents(ctx context.Context, req *QueryQCardContentsRequest) (*QueryQCardContentsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QCardContents not implemented") -} -func (*UnimplementedQueryServer) QAccountFromZealy(ctx context.Context, req *QueryQAccountFromZealyRequest) (*QueryQAccountFromZealyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QAccountFromZealy not implemented") -} -func (*UnimplementedQueryServer) QEncounters(ctx context.Context, req *QueryQEncountersRequest) (*QueryQEncountersResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QEncounters not implemented") -} -func (*UnimplementedQueryServer) QEncounter(ctx context.Context, req *QueryQEncounterRequest) (*QueryQEncounterResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QEncounter not implemented") -} -func (*UnimplementedQueryServer) QEncountersWithImage(ctx context.Context, req *QueryQEncountersWithImageRequest) (*QueryQEncountersWithImageResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QEncountersWithImage not implemented") -} -func (*UnimplementedQueryServer) QEncounterWithImage(ctx context.Context, req *QueryQEncounterWithImageRequest) (*QueryQEncounterWithImageResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QEncounterWithImage 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.cardchain.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_QCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQCardRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QCard(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QCard", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QCard(ctx, req.(*QueryQCardRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QCardContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQCardContentRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QCardContent(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QCardContent", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QCardContent(ctx, req.(*QueryQCardContentRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQUserRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QUser(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QUser", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QUser(ctx, req.(*QueryQUserRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QCardchainInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQCardchainInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QCardchainInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QCardchainInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QCardchainInfo(ctx, req.(*QueryQCardchainInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QVotingResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQVotingResultsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QVotingResults(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QVotingResults", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QVotingResults(ctx, req.(*QueryQVotingResultsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QCards_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQCardsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QCards(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QCards", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QCards(ctx, req.(*QueryQCardsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QMatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQMatchRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QMatch(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QMatch", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QMatch(ctx, req.(*QueryQMatchRequest)) - } - return interceptor(ctx, in, info, handler) -} - -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).QSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QSet(ctx, req.(*QueryQSetRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QSellOffer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQSellOfferRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QSellOffer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QSellOffer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QSellOffer(ctx, req.(*QueryQSellOfferRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QCouncil_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQCouncilRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QCouncil(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QCouncil", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QCouncil(ctx, req.(*QueryQCouncilRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QMatches_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQMatchesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QMatches(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QMatches", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QMatches(ctx, req.(*QueryQMatchesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QSellOffers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQSellOffersRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QSellOffers(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QSellOffers", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QSellOffers(ctx, req.(*QueryQSellOffersRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQServerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QServer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QServer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QServer(ctx, req.(*QueryQServerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -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).QSets(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QSets", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QSets(ctx, req.(*QueryQSetsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_RarityDistribution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryRarityDistributionRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).RarityDistribution(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/RarityDistribution", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).RarityDistribution(ctx, req.(*QueryRarityDistributionRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QCardContents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQCardContentsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QCardContents(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QCardContents", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QCardContents(ctx, req.(*QueryQCardContentsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QAccountFromZealy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQAccountFromZealyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QAccountFromZealy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QAccountFromZealy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QAccountFromZealy(ctx, req.(*QueryQAccountFromZealyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QEncounters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQEncountersRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QEncounters(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QEncounters", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QEncounters(ctx, req.(*QueryQEncountersRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QEncounter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQEncounterRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QEncounter(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QEncounter", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QEncounter(ctx, req.(*QueryQEncounterRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QEncountersWithImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQEncountersWithImageRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QEncountersWithImage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QEncountersWithImage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QEncountersWithImage(ctx, req.(*QueryQEncountersWithImageRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_QEncounterWithImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQEncounterWithImageRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).QEncounterWithImage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QEncounterWithImage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QEncounterWithImage(ctx, req.(*QueryQEncounterWithImageRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _Query_serviceDesc = grpc.ServiceDesc{ - ServiceName: "DecentralCardGame.cardchain.cardchain.Query", - HandlerType: (*QueryServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Params", - Handler: _Query_Params_Handler, - }, - { - MethodName: "QCard", - Handler: _Query_QCard_Handler, - }, - { - MethodName: "QCardContent", - Handler: _Query_QCardContent_Handler, - }, - { - MethodName: "QUser", - Handler: _Query_QUser_Handler, - }, - { - MethodName: "QCardchainInfo", - Handler: _Query_QCardchainInfo_Handler, - }, - { - MethodName: "QVotingResults", - Handler: _Query_QVotingResults_Handler, - }, - { - MethodName: "QCards", - Handler: _Query_QCards_Handler, - }, - { - MethodName: "QMatch", - Handler: _Query_QMatch_Handler, - }, - { - MethodName: "QSet", - Handler: _Query_QSet_Handler, - }, - { - MethodName: "QSellOffer", - Handler: _Query_QSellOffer_Handler, - }, - { - MethodName: "QCouncil", - Handler: _Query_QCouncil_Handler, - }, - { - MethodName: "QMatches", - Handler: _Query_QMatches_Handler, - }, - { - MethodName: "QSellOffers", - Handler: _Query_QSellOffers_Handler, - }, - { - MethodName: "QServer", - Handler: _Query_QServer_Handler, - }, - { - MethodName: "QSets", - Handler: _Query_QSets_Handler, - }, - { - MethodName: "RarityDistribution", - Handler: _Query_RarityDistribution_Handler, - }, - { - MethodName: "QCardContents", - Handler: _Query_QCardContents_Handler, - }, - { - MethodName: "QAccountFromZealy", - Handler: _Query_QAccountFromZealy_Handler, - }, - { - MethodName: "QEncounters", - Handler: _Query_QEncounters_Handler, - }, - { - MethodName: "QEncounter", - Handler: _Query_QEncounter_Handler, - }, - { - MethodName: "QEncountersWithImage", - Handler: _Query_QEncountersWithImage_Handler, - }, - { - MethodName: "QEncounterWithImage", - Handler: _Query_QEncounterWithImage_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cardchain/cardchain/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 *QueryQCardRequest) 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 *QueryQCardRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQCardRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.CardId) > 0 { - i -= len(m.CardId) - copy(dAtA[i:], m.CardId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.CardId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryQCardContentRequest) 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 *QueryQCardContentRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQCardContentRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CardId != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryQCardContentResponse) 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 *QueryQCardContentResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQCardContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0x12 - } - if len(m.Content) > 0 { - i -= len(m.Content) - copy(dAtA[i:], m.Content) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Content))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryQUserRequest) 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 *QueryQUserRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQUserRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryQCardchainInfoRequest) 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 *QueryQCardchainInfoRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQCardchainInfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *QueryQCardchainInfoResponse) 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 *QueryQCardchainInfoResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQCardchainInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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-- - dAtA[i] = 0x30 - } - if m.SellOffersNumber != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.SellOffersNumber)) - i-- - dAtA[i] = 0x28 - } - if m.MatchesNumber != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.MatchesNumber)) - i-- - dAtA[i] = 0x20 - } - if m.CardsNumber != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.CardsNumber)) - i-- - dAtA[i] = 0x18 - } - if len(m.ActiveSets) > 0 { - dAtA3 := make([]byte, len(m.ActiveSets)*10) - var j2 int - for _, num := range m.ActiveSets { - for num >= 1<<7 { - dAtA3[j2] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j2++ - } - dAtA3[j2] = uint8(num) - j2++ - } - i -= j2 - copy(dAtA[i:], dAtA3[:j2]) - i = encodeVarintQuery(dAtA, i, uint64(j2)) - i-- - dAtA[i] = 0x12 - } - { - size := m.CardAuctionPrice.Size() - i -= size - if _, err := m.CardAuctionPrice.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *QueryQVotingResultsRequest) 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 *QueryQVotingResultsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQVotingResultsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *QueryQVotingResultsResponse) 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 *QueryQVotingResultsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQVotingResultsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.LastVotingResults != nil { - { - size, err := m.LastVotingResults.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 *QueryQCardsRequest) 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 *QueryQCardsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQCardsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.MultiClassOnly { - i-- - if m.MultiClassOnly { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x60 - } - if len(m.Rarities) > 0 { - dAtA6 := make([]byte, len(m.Rarities)*10) - var j5 int - for _, num := range m.Rarities { - for num >= 1<<7 { - dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j5++ - } - dAtA6[j5] = uint8(num) - j5++ - } - i -= j5 - copy(dAtA[i:], dAtA6[:j5]) - i = encodeVarintQuery(dAtA, i, uint64(j5)) - i-- - dAtA[i] = 0x5a - } - if m.OnlyBalanceAnchors { - i-- - if m.OnlyBalanceAnchors { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x50 - } - 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) - i = encodeVarintQuery(dAtA, i, uint64(len(m.NotesContains))) - i-- - dAtA[i] = 0x42 - } - if len(m.KeywordsContains) > 0 { - i -= len(m.KeywordsContains) - copy(dAtA[i:], m.KeywordsContains) - i = encodeVarintQuery(dAtA, i, uint64(len(m.KeywordsContains))) - i-- - dAtA[i] = 0x3a - } - if len(m.NameContains) > 0 { - i -= len(m.NameContains) - copy(dAtA[i:], m.NameContains) - i = encodeVarintQuery(dAtA, i, uint64(len(m.NameContains))) - i-- - dAtA[i] = 0x32 - } - if len(m.SortBy) > 0 { - i -= len(m.SortBy) - copy(dAtA[i:], m.SortBy) - i = encodeVarintQuery(dAtA, i, uint64(len(m.SortBy))) - i-- - dAtA[i] = 0x2a - } - if len(m.Classes) > 0 { - dAtA8 := make([]byte, len(m.Classes)*10) - var j7 int - for _, num := range m.Classes { - for num >= 1<<7 { - dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j7++ - } - dAtA8[j7] = uint8(num) - j7++ - } - i -= j7 - copy(dAtA[i:], dAtA8[:j7]) - i = encodeVarintQuery(dAtA, i, uint64(j7)) - i-- - dAtA[i] = 0x22 - } - if len(m.CardTypes) > 0 { - dAtA10 := make([]byte, len(m.CardTypes)*10) - var j9 int - for _, num := range m.CardTypes { - for num >= 1<<7 { - dAtA10[j9] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j9++ - } - dAtA10[j9] = uint8(num) - j9++ - } - i -= j9 - copy(dAtA[i:], dAtA10[:j9]) - i = encodeVarintQuery(dAtA, i, uint64(j9)) - i-- - dAtA[i] = 0x1a - } - if len(m.Statuses) > 0 { - dAtA12 := make([]byte, len(m.Statuses)*10) - var j11 int - for _, num := range m.Statuses { - 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 = encodeVarintQuery(dAtA, i, uint64(j11)) - i-- - dAtA[i] = 0x12 - } - if len(m.Owner) > 0 { - i -= len(m.Owner) - copy(dAtA[i:], m.Owner) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Owner))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryQCardsResponse) 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 *QueryQCardsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQCardsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.CardsList) > 0 { - dAtA14 := make([]byte, len(m.CardsList)*10) - var j13 int - for _, num := range m.CardsList { - for num >= 1<<7 { - dAtA14[j13] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j13++ - } - dAtA14[j13] = uint8(num) - j13++ - } - i -= j13 - copy(dAtA[i:], dAtA14[:j13]) - i = encodeVarintQuery(dAtA, i, uint64(j13)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryQMatchRequest) 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 *QueryQMatchRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQMatchRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.MatchId != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.MatchId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryQSetRequest) 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 *QueryQSetRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQSetRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.SetId != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.SetId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryQSellOfferRequest) 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 *QueryQSellOfferRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQSellOfferRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.SellOfferId != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.SellOfferId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryQCouncilRequest) 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 *QueryQCouncilRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQCouncilRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CouncilId != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.CouncilId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryQMatchesRequest) 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 *QueryQMatchesRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQMatchesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Ignore != nil { - { - size, err := m.Ignore.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x3a - } - if len(m.CardsPlayed) > 0 { - dAtA17 := make([]byte, len(m.CardsPlayed)*10) - var j16 int - for _, num := range m.CardsPlayed { - for num >= 1<<7 { - dAtA17[j16] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j16++ - } - dAtA17[j16] = uint8(num) - j16++ - } - i -= j16 - copy(dAtA[i:], dAtA17[:j16]) - i = encodeVarintQuery(dAtA, i, uint64(j16)) - i-- - dAtA[i] = 0x32 - } - if m.Outcome != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Outcome)) - i-- - dAtA[i] = 0x28 - } - if len(m.Reporter) > 0 { - i -= len(m.Reporter) - copy(dAtA[i:], m.Reporter) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Reporter))) - i-- - dAtA[i] = 0x22 - } - if len(m.ContainsUsers) > 0 { - for iNdEx := len(m.ContainsUsers) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.ContainsUsers[iNdEx]) - copy(dAtA[i:], m.ContainsUsers[iNdEx]) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ContainsUsers[iNdEx]))) - i-- - dAtA[i] = 0x1a - } - } - if m.TimestampUp != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.TimestampUp)) - i-- - dAtA[i] = 0x10 - } - if m.TimestampDown != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.TimestampDown)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *IgnoreMatches) 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 *IgnoreMatches) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *IgnoreMatches) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Outcome { - i-- - if m.Outcome { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryQMatchesResponse) 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 *QueryQMatchesResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQMatchesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Matches) > 0 { - for iNdEx := len(m.Matches) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Matches[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } - if len(m.MatchesList) > 0 { - dAtA19 := make([]byte, len(m.MatchesList)*10) - var j18 int - for _, num := range m.MatchesList { - for num >= 1<<7 { - dAtA19[j18] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j18++ - } - dAtA19[j18] = uint8(num) - j18++ - } - i -= j18 - copy(dAtA[i:], dAtA19[:j18]) - i = encodeVarintQuery(dAtA, i, uint64(j18)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryQSellOffersRequest) 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 *QueryQSellOffersRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQSellOffersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Ignore != nil { - { - size, err := m.Ignore.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x3a - } - if m.Status != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Status)) - i-- - dAtA[i] = 0x30 - } - if m.Card != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Card)) - i-- - dAtA[i] = 0x28 - } - if len(m.Buyer) > 0 { - i -= len(m.Buyer) - copy(dAtA[i:], m.Buyer) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Buyer))) - i-- - dAtA[i] = 0x22 - } - if len(m.Seller) > 0 { - i -= len(m.Seller) - copy(dAtA[i:], m.Seller) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Seller))) - i-- - dAtA[i] = 0x1a - } - if len(m.PriceUp) > 0 { - i -= len(m.PriceUp) - copy(dAtA[i:], m.PriceUp) - i = encodeVarintQuery(dAtA, i, uint64(len(m.PriceUp))) - i-- - dAtA[i] = 0x12 - } - if len(m.PriceDown) > 0 { - i -= len(m.PriceDown) - copy(dAtA[i:], m.PriceDown) - i = encodeVarintQuery(dAtA, i, uint64(len(m.PriceDown))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *IgnoreSellOffers) 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 *IgnoreSellOffers) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *IgnoreSellOffers) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Card { - i-- - if m.Card { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x10 - } - if m.Status { - i-- - if m.Status { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryQSellOffersResponse) 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 *QueryQSellOffersResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQSellOffersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.SellOffers) > 0 { - for iNdEx := len(m.SellOffers) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.SellOffers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } - if len(m.SellOffersIds) > 0 { - dAtA22 := make([]byte, len(m.SellOffersIds)*10) - var j21 int - for _, num := range m.SellOffersIds { - for num >= 1<<7 { - dAtA22[j21] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j21++ - } - dAtA22[j21] = uint8(num) - j21++ - } - i -= j21 - copy(dAtA[i:], dAtA22[:j21]) - i = encodeVarintQuery(dAtA, i, uint64(j21)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryQServerRequest) 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 *QueryQServerRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQServerRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Id != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Id)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryQServerResponse) 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 *QueryQServerResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQServerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *QueryQSetsRequest) 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 *QueryQSetsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQSetsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Owner) > 0 { - i -= len(m.Owner) - copy(dAtA[i:], m.Owner) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Owner))) - i-- - dAtA[i] = 0x2a - } - if len(m.ContainsCards) > 0 { - dAtA24 := make([]byte, len(m.ContainsCards)*10) - var j23 int - for _, num := range m.ContainsCards { - for num >= 1<<7 { - dAtA24[j23] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j23++ - } - dAtA24[j23] = uint8(num) - j23++ - } - i -= j23 - copy(dAtA[i:], dAtA24[:j23]) - i = encodeVarintQuery(dAtA, i, uint64(j23)) - i-- - dAtA[i] = 0x22 - } - if len(m.Contributors) > 0 { - for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Contributors[iNdEx]) - copy(dAtA[i:], m.Contributors[iNdEx]) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Contributors[iNdEx]))) - i-- - dAtA[i] = 0x1a - } - } - if m.IgnoreStatus { - i-- - if m.IgnoreStatus { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x10 - } - if m.Status != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Status)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryQSetsResponse) 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 *QueryQSetsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQSetsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.SetIds) > 0 { - dAtA26 := make([]byte, len(m.SetIds)*10) - var j25 int - for _, num := range m.SetIds { - for num >= 1<<7 { - dAtA26[j25] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j25++ - } - dAtA26[j25] = uint8(num) - j25++ - } - i -= j25 - copy(dAtA[i:], dAtA26[:j25]) - i = encodeVarintQuery(dAtA, i, uint64(j25)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryRarityDistributionRequest) 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 *QueryRarityDistributionRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryRarityDistributionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.SetId != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.SetId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryRarityDistributionResponse) 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 *QueryRarityDistributionResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryRarityDistributionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Wanted) > 0 { - dAtA28 := make([]byte, len(m.Wanted)*10) - var j27 int - for _, num := range m.Wanted { - for num >= 1<<7 { - dAtA28[j27] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j27++ - } - dAtA28[j27] = uint8(num) - j27++ - } - i -= j27 - copy(dAtA[i:], dAtA28[:j27]) - i = encodeVarintQuery(dAtA, i, uint64(j27)) - i-- - dAtA[i] = 0x12 - } - if len(m.Current) > 0 { - dAtA30 := make([]byte, len(m.Current)*10) - var j29 int - for _, num := range m.Current { - for num >= 1<<7 { - dAtA30[j29] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j29++ - } - dAtA30[j29] = uint8(num) - j29++ - } - i -= j29 - copy(dAtA[i:], dAtA30[:j29]) - i = encodeVarintQuery(dAtA, i, uint64(j29)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryQCardContentsRequest) 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 *QueryQCardContentsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQCardContentsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.CardIds) > 0 { - dAtA32 := make([]byte, len(m.CardIds)*10) - var j31 int - for _, num := range m.CardIds { - for num >= 1<<7 { - dAtA32[j31] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j31++ - } - dAtA32[j31] = uint8(num) - j31++ - } - i -= j31 - copy(dAtA[i:], dAtA32[:j31]) - i = encodeVarintQuery(dAtA, i, uint64(j31)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryQCardContentsResponse) 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 *QueryQCardContentsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQCardContentsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Cards) > 0 { - for iNdEx := len(m.Cards) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Cards[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 (m *QueryQAccountFromZealyRequest) 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 *QueryQAccountFromZealyRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQAccountFromZealyRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ZealyId) > 0 { - i -= len(m.ZealyId) - copy(dAtA[i:], m.ZealyId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ZealyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryQAccountFromZealyResponse) 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 *QueryQAccountFromZealyResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQAccountFromZealyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryQEncountersRequest) 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 *QueryQEncountersRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQEncountersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *QueryQEncountersResponse) 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 *QueryQEncountersResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQEncountersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Encounters) > 0 { - for iNdEx := len(m.Encounters) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Encounters[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 (m *QueryQEncounterRequest) 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 *QueryQEncounterRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQEncounterRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Id != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Id)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryQEncounterResponse) 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 *QueryQEncounterResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQEncounterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Encounter != nil { - { - size, err := m.Encounter.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 *QueryQEncountersWithImageRequest) 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 *QueryQEncountersWithImageRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQEncountersWithImageRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *QueryQEncountersWithImageResponse) 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 *QueryQEncountersWithImageResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQEncountersWithImageResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Encounters) > 0 { - for iNdEx := len(m.Encounters) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Encounters[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 (m *QueryQEncounterWithImageRequest) 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 *QueryQEncounterWithImageRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQEncounterWithImageRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Id != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Id)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryQEncounterWithImageResponse) 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 *QueryQEncounterWithImageResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryQEncounterWithImageResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Encounter != nil { - { - size, err := m.Encounter.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 *QueryQCardRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.CardId) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryQCardContentRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CardId != 0 { - n += 1 + sovQuery(uint64(m.CardId)) - } - return n -} - -func (m *QueryQCardContentResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Content) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryQUserRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Address) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryQCardchainInfoRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *QueryQCardchainInfoResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.CardAuctionPrice.Size() - n += 1 + l + sovQuery(uint64(l)) - if len(m.ActiveSets) > 0 { - l = 0 - for _, e := range m.ActiveSets { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - if m.CardsNumber != 0 { - n += 1 + sovQuery(uint64(m.CardsNumber)) - } - if m.MatchesNumber != 0 { - n += 1 + sovQuery(uint64(m.MatchesNumber)) - } - if m.SellOffersNumber != 0 { - n += 1 + sovQuery(uint64(m.SellOffersNumber)) - } - if m.CouncilsNumber != 0 { - n += 1 + sovQuery(uint64(m.CouncilsNumber)) - } - if m.LastCardModified != 0 { - n += 1 + sovQuery(uint64(m.LastCardModified)) - } - return n -} - -func (m *QueryQVotingResultsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *QueryQVotingResultsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.LastVotingResults != nil { - l = m.LastVotingResults.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryQCardsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if len(m.Statuses) > 0 { - l = 0 - for _, e := range m.Statuses { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - if len(m.CardTypes) > 0 { - l = 0 - for _, e := range m.CardTypes { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - if len(m.Classes) > 0 { - l = 0 - for _, e := range m.Classes { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - l = len(m.SortBy) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.NameContains) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.KeywordsContains) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.NotesContains) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.OnlyStarterCard { - n += 2 - } - if m.OnlyBalanceAnchors { - n += 2 - } - if len(m.Rarities) > 0 { - l = 0 - for _, e := range m.Rarities { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - if m.MultiClassOnly { - n += 2 - } - return n -} - -func (m *QueryQCardsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.CardsList) > 0 { - l = 0 - for _, e := range m.CardsList { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - return n -} - -func (m *QueryQMatchRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.MatchId != 0 { - n += 1 + sovQuery(uint64(m.MatchId)) - } - return n -} - -func (m *QueryQSetRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.SetId != 0 { - n += 1 + sovQuery(uint64(m.SetId)) - } - return n -} - -func (m *QueryQSellOfferRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.SellOfferId != 0 { - n += 1 + sovQuery(uint64(m.SellOfferId)) - } - return n -} - -func (m *QueryQCouncilRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CouncilId != 0 { - n += 1 + sovQuery(uint64(m.CouncilId)) - } - return n -} - -func (m *QueryQMatchesRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.TimestampDown != 0 { - n += 1 + sovQuery(uint64(m.TimestampDown)) - } - if m.TimestampUp != 0 { - n += 1 + sovQuery(uint64(m.TimestampUp)) - } - if len(m.ContainsUsers) > 0 { - for _, s := range m.ContainsUsers { - l = len(s) - n += 1 + l + sovQuery(uint64(l)) - } - } - l = len(m.Reporter) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Outcome != 0 { - n += 1 + sovQuery(uint64(m.Outcome)) - } - if len(m.CardsPlayed) > 0 { - l = 0 - for _, e := range m.CardsPlayed { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - if m.Ignore != nil { - l = m.Ignore.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *IgnoreMatches) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Outcome { - n += 2 - } - return n -} - -func (m *QueryQMatchesResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.MatchesList) > 0 { - l = 0 - for _, e := range m.MatchesList { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - if len(m.Matches) > 0 { - for _, e := range m.Matches { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QueryQSellOffersRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.PriceDown) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.PriceUp) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.Seller) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.Buyer) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Card != 0 { - n += 1 + sovQuery(uint64(m.Card)) - } - if m.Status != 0 { - n += 1 + sovQuery(uint64(m.Status)) - } - if m.Ignore != nil { - l = m.Ignore.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *IgnoreSellOffers) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Status { - n += 2 - } - if m.Card { - n += 2 - } - return n -} - -func (m *QueryQSellOffersResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.SellOffersIds) > 0 { - l = 0 - for _, e := range m.SellOffersIds { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - if len(m.SellOffers) > 0 { - for _, e := range m.SellOffers { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QueryQServerRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Id != 0 { - n += 1 + sovQuery(uint64(m.Id)) - } - return n -} - -func (m *QueryQServerResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *QueryQSetsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Status != 0 { - n += 1 + sovQuery(uint64(m.Status)) - } - if m.IgnoreStatus { - n += 2 - } - if len(m.Contributors) > 0 { - for _, s := range m.Contributors { - l = len(s) - n += 1 + l + sovQuery(uint64(l)) - } - } - if len(m.ContainsCards) > 0 { - l = 0 - for _, e := range m.ContainsCards { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryQSetsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.SetIds) > 0 { - l = 0 - for _, e := range m.SetIds { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - return n -} - -func (m *QueryRarityDistributionRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.SetId != 0 { - n += 1 + sovQuery(uint64(m.SetId)) - } - return n -} - -func (m *QueryRarityDistributionResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Current) > 0 { - l = 0 - for _, e := range m.Current { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - if len(m.Wanted) > 0 { - l = 0 - for _, e := range m.Wanted { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - return n -} - -func (m *QueryQCardContentsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.CardIds) > 0 { - l = 0 - for _, e := range m.CardIds { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } - return n -} - -func (m *QueryQCardContentsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Cards) > 0 { - for _, e := range m.Cards { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QueryQAccountFromZealyRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ZealyId) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryQAccountFromZealyResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Address) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryQEncountersRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *QueryQEncountersResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Encounters) > 0 { - for _, e := range m.Encounters { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QueryQEncounterRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Id != 0 { - n += 1 + sovQuery(uint64(m.Id)) - } - return n -} - -func (m *QueryQEncounterResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Encounter != nil { - l = m.Encounter.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryQEncountersWithImageRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *QueryQEncountersWithImageResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Encounters) > 0 { - for _, e := range m.Encounters { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - return n -} - -func (m *QueryQEncounterWithImageRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Id != 0 { - n += 1 + sovQuery(uint64(m.Id)) - } - return n -} - -func (m *QueryQEncounterWithImageResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Encounter != nil { - l = m.Encounter.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 *QueryQCardRequest) 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: QueryQCardRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCardRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", 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.CardId = 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 *QueryQCardContentRequest) 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: QueryQCardContentRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCardContentRequest: 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 ErrIntOverflowQuery - } - 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 := 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 *QueryQCardContentResponse) 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: QueryQCardContentResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCardContentResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Content", 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.Content = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - 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 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.Hash = 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 *QueryQUserRequest) 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: QueryQUserRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQUserRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", 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.Address = 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 *QueryQCardchainInfoRequest) 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: QueryQCardchainInfoRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCardchainInfoRequest: 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 *QueryQCardchainInfoResponse) 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: QueryQCardchainInfoResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCardchainInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CardAuctionPrice", 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 - } - if err := m.CardAuctionPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType == 0 { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.ActiveSets = append(m.ActiveSets, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - 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.ActiveSets) == 0 { - m.ActiveSets = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.ActiveSets = append(m.ActiveSets, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field ActiveSets", wireType) - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardsNumber", wireType) - } - m.CardsNumber = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CardsNumber |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MatchesNumber", wireType) - } - m.MatchesNumber = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.MatchesNumber |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SellOffersNumber", wireType) - } - m.SellOffersNumber = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SellOffersNumber |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CouncilsNumber", wireType) - } - m.CouncilsNumber = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CouncilsNumber |= uint64(b&0x7F) << shift - if b < 0x80 { - 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:]) - 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 *QueryQVotingResultsRequest) 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: QueryQVotingResultsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQVotingResultsRequest: 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 *QueryQVotingResultsResponse) 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: QueryQVotingResultsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQVotingResultsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastVotingResults", 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.LastVotingResults == nil { - m.LastVotingResults = &VotingResults{} - } - if err := m.LastVotingResults.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 *QueryQCardsRequest) 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: QueryQCardsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCardsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Owner", 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.Owner = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType == 0 { - var v Status - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= Status(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Statuses = append(m.Statuses, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var elementCount int - if elementCount != 0 && len(m.Statuses) == 0 { - m.Statuses = make([]Status, 0, elementCount) - } - for iNdEx < postIndex { - var v Status - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= Status(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Statuses = append(m.Statuses, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Statuses", wireType) - } - case 3: - if wireType == 0 { - var v CardType - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= CardType(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.CardTypes = append(m.CardTypes, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var elementCount int - if elementCount != 0 && len(m.CardTypes) == 0 { - m.CardTypes = make([]CardType, 0, elementCount) - } - for iNdEx < postIndex { - var v CardType - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= CardType(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.CardTypes = append(m.CardTypes, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field CardTypes", wireType) - } - case 4: - if wireType == 0 { - var v CardClass - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= CardClass(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Classes = append(m.Classes, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var elementCount int - if elementCount != 0 && len(m.Classes) == 0 { - m.Classes = make([]CardClass, 0, elementCount) - } - for iNdEx < postIndex { - var v CardClass - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= CardClass(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Classes = append(m.Classes, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Classes", wireType) - } - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SortBy", 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.SortBy = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NameContains", 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.NameContains = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field KeywordsContains", 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.KeywordsContains = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NotesContains", 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.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) - case 10: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OnlyBalanceAnchors", 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.OnlyBalanceAnchors = bool(v != 0) - case 11: - if wireType == 0 { - var v CardRarity - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= CardRarity(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Rarities = append(m.Rarities, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var elementCount int - if elementCount != 0 && len(m.Rarities) == 0 { - m.Rarities = make([]CardRarity, 0, elementCount) - } - for iNdEx < postIndex { - var v CardRarity - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= CardRarity(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Rarities = append(m.Rarities, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Rarities", wireType) - } - case 12: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MultiClassOnly", 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.MultiClassOnly = bool(v != 0) - 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 *QueryQCardsResponse) 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: QueryQCardsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCardsResponse: 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 ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.CardsList = append(m.CardsList, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - 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.CardsList) == 0 { - m.CardsList = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.CardsList = append(m.CardsList, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field CardsList", wireType) - } - 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 *QueryQMatchRequest) 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: QueryQMatchRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQMatchRequest: 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 ErrIntOverflowQuery - } - 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 := 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 *QueryQSetRequest) 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: QueryQSetRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - 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 SetId", wireType) - } - m.SetId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - 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 := 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 *QueryQSellOfferRequest) 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: QueryQSellOfferRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQSellOfferRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) - } - m.SellOfferId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SellOfferId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 *QueryQCouncilRequest) 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: QueryQCouncilRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCouncilRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - 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 ErrIntOverflowQuery - } - 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 := 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 *QueryQMatchesRequest) 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: QueryQMatchesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQMatchesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TimestampDown", wireType) - } - m.TimestampDown = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TimestampDown |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TimestampUp", wireType) - } - m.TimestampUp = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TimestampUp |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ContainsUsers", 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.ContainsUsers = append(m.ContainsUsers, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reporter", 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.Reporter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) - } - m.Outcome = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Outcome |= Outcome(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType == 0 { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.CardsPlayed = append(m.CardsPlayed, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - 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.CardsPlayed) == 0 { - m.CardsPlayed = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.CardsPlayed = append(m.CardsPlayed, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field CardsPlayed", wireType) - } - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ignore", 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.Ignore == nil { - m.Ignore = &IgnoreMatches{} - } - if err := m.Ignore.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 *IgnoreMatches) 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: IgnoreMatches: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: IgnoreMatches: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Outcome", 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.Outcome = bool(v != 0) - 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 *QueryQMatchesResponse) 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: QueryQMatchesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQMatchesResponse: 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 ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.MatchesList = append(m.MatchesList, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - 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.MatchesList) == 0 { - m.MatchesList = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.MatchesList = append(m.MatchesList, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field MatchesList", wireType) - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Matches", 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.Matches = append(m.Matches, &Match{}) - if err := m.Matches[len(m.Matches)-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 (m *QueryQSellOffersRequest) 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: QueryQSellOffersRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQSellOffersRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PriceDown", 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.PriceDown = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PriceUp", 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.PriceUp = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Seller", 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.Seller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Buyer", 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.Buyer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) - } - m.Card = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Card |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - m.Status = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Status |= SellOfferStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ignore", 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.Ignore == nil { - m.Ignore = &IgnoreSellOffers{} - } - if err := m.Ignore.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 *IgnoreSellOffers) 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: IgnoreSellOffers: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: IgnoreSellOffers: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", 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.Status = bool(v != 0) - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Card", 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.Card = bool(v != 0) - 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 *QueryQSellOffersResponse) 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: QueryQSellOffersResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQSellOffersResponse: 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 ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.SellOffersIds = append(m.SellOffersIds, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - 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.SellOffersIds) == 0 { - m.SellOffersIds = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.SellOffersIds = append(m.SellOffersIds, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field SellOffersIds", wireType) - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SellOffers", 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.SellOffers = append(m.SellOffers, &SellOffer{}) - if err := m.SellOffers[len(m.SellOffers)-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 (m *QueryQServerRequest) 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: QueryQServerRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQServerRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - m.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 *QueryQServerResponse) 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: QueryQServerResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQServerResponse: 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 *QueryQSetsRequest) 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: QueryQSetsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQSetsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - m.Status = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Status |= CStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IgnoreStatus", 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.IgnoreStatus = bool(v != 0) - case 3: - 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 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.Contributors = append(m.Contributors, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 4: - if wireType == 0 { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.ContainsCards = append(m.ContainsCards, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - 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.ContainsCards) == 0 { - m.ContainsCards = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.ContainsCards = append(m.ContainsCards, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field ContainsCards", wireType) - } - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Owner", 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.Owner = 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 *QueryQSetsResponse) 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: QueryQSetsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQSetsResponse: 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 ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.SetIds = append(m.SetIds, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - 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.SetIds) == 0 { - m.SetIds = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.SetIds = append(m.SetIds, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field SetIds", wireType) - } - 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 *QueryRarityDistributionRequest) 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: QueryRarityDistributionRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryRarityDistributionRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - 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 ErrIntOverflowQuery - } - 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 := 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 *QueryRarityDistributionResponse) 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: QueryRarityDistributionResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryRarityDistributionResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType == 0 { - var v uint32 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Current = append(m.Current, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - 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.Current) == 0 { - m.Current = make([]uint32, 0, elementCount) - } - for iNdEx < postIndex { - var v uint32 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Current = append(m.Current, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) - } - case 2: - if wireType == 0 { - var v uint32 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Wanted = append(m.Wanted, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - 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.Wanted) == 0 { - m.Wanted = make([]uint32, 0, elementCount) - } - for iNdEx < postIndex { - var v uint32 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Wanted = append(m.Wanted, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Wanted", wireType) - } - 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 *QueryQCardContentsRequest) 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: QueryQCardContentsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCardContentsRequest: 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 ErrIntOverflowQuery - } - 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 ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - 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 ErrIntOverflowQuery - } - 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 := 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 *QueryQCardContentsResponse) 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: QueryQCardContentsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCardContentsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Cards", 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.Cards = append(m.Cards, &QueryQCardContentResponse{}) - if err := m.Cards[len(m.Cards)-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 (m *QueryQAccountFromZealyRequest) 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: QueryQAccountFromZealyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQAccountFromZealyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ZealyId", 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.ZealyId = 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 *QueryQAccountFromZealyResponse) 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: QueryQAccountFromZealyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQAccountFromZealyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", 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.Address = 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 *QueryQEncountersRequest) 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: QueryQEncountersRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQEncountersRequest: 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 *QueryQEncountersResponse) 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: QueryQEncountersResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQEncountersResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Encounters", 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.Encounters = append(m.Encounters, &Encounter{}) - if err := m.Encounters[len(m.Encounters)-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 (m *QueryQEncounterRequest) 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: QueryQEncounterRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQEncounterRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - m.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 *QueryQEncounterResponse) 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: QueryQEncounterResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQEncounterResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Encounter", 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.Encounter == nil { - m.Encounter = &Encounter{} - } - if err := m.Encounter.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 *QueryQEncountersWithImageRequest) 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: QueryQEncountersWithImageRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQEncountersWithImageRequest: 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 *QueryQEncountersWithImageResponse) 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: QueryQEncountersWithImageResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQEncountersWithImageResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Encounters", 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.Encounters = append(m.Encounters, &EncounterWithImage{}) - if err := m.Encounters[len(m.Encounters)-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 (m *QueryQEncounterWithImageRequest) 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: QueryQEncounterWithImageRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQEncounterWithImageRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - m.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 *QueryQEncounterWithImageResponse) 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: QueryQEncounterWithImageResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQEncounterWithImageResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Encounter", 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.Encounter == nil { - m.Encounter = &EncounterWithImage{} - } - if err := m.Encounter.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/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go deleted file mode 100644 index 153b6f92..00000000 --- a/x/cardchain/types/query.pb.gw.go +++ /dev/null @@ -1,2164 +0,0 @@ -// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. -// source: cardchain/cardchain/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_QCard_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCardRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["cardId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardId") - } - - protoReq.CardId, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardId", err) - } - - msg, err := client.QCard(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QCard_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCardRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["cardId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardId") - } - - protoReq.CardId, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardId", err) - } - - msg, err := server.QCard(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QCardContent_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCardContentRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["cardId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardId") - } - - protoReq.CardId, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardId", err) - } - - msg, err := client.QCardContent(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QCardContent_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCardContentRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["cardId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardId") - } - - protoReq.CardId, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardId", err) - } - - msg, err := server.QCardContent(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QUser_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQUserRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["address"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "address") - } - - protoReq.Address, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "address", err) - } - - msg, err := client.QUser(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QUser_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQUserRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["address"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "address") - } - - protoReq.Address, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "address", err) - } - - msg, err := server.QUser(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QCardchainInfo_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCardchainInfoRequest - var metadata runtime.ServerMetadata - - msg, err := client.QCardchainInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QCardchainInfo_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCardchainInfoRequest - var metadata runtime.ServerMetadata - - msg, err := server.QCardchainInfo(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QVotingResults_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQVotingResultsRequest - var metadata runtime.ServerMetadata - - msg, err := client.QVotingResults(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QVotingResults_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQVotingResultsRequest - var metadata runtime.ServerMetadata - - msg, err := server.QVotingResults(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Query_QCards_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Query_QCards_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCardsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_QCards_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.QCards(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QCards_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCardsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_QCards_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.QCards(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QMatch_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQMatchRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["matchId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "matchId") - } - - protoReq.MatchId, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "matchId", err) - } - - msg, err := client.QMatch(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QMatch_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQMatchRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["matchId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "matchId") - } - - protoReq.MatchId, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "matchId", err) - } - - msg, err := server.QMatch(ctx, &protoReq) - return msg, metadata, err - -} - -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 ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["setId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") - } - - protoReq.SetId, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) - } - - msg, err := client.QSet(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -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 ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["setId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") - } - - protoReq.SetId, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) - } - - msg, err := server.QSet(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QSellOffer_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQSellOfferRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["sellOfferId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sellOfferId") - } - - protoReq.SellOfferId, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sellOfferId", err) - } - - msg, err := client.QSellOffer(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QSellOffer_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQSellOfferRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["sellOfferId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sellOfferId") - } - - protoReq.SellOfferId, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sellOfferId", err) - } - - msg, err := server.QSellOffer(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QCouncil_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCouncilRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["councilId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "councilId") - } - - protoReq.CouncilId, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "councilId", err) - } - - msg, err := client.QCouncil(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QCouncil_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCouncilRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["councilId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "councilId") - } - - protoReq.CouncilId, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "councilId", err) - } - - msg, err := server.QCouncil(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Query_QMatches_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Query_QMatches_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQMatchesRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_QMatches_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.QMatches(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QMatches_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQMatchesRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_QMatches_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.QMatches(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Query_QSellOffers_0 = &utilities.DoubleArray{Encoding: map[string]int{"status": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} -) - -func request_Query_QSellOffers_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQSellOffersRequest - var metadata runtime.ServerMetadata - - var ( - val string - e int32 - ok bool - err error - _ = err - ) - - val, ok = pathParams["status"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "status") - } - - e, err = runtime.Enum(val, SellOfferStatus_value) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "status", err) - } - - protoReq.Status = SellOfferStatus(e) - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_QSellOffers_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.QSellOffers(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QSellOffers_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQSellOffersRequest - var metadata runtime.ServerMetadata - - var ( - val string - e int32 - ok bool - err error - _ = err - ) - - val, ok = pathParams["status"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "status") - } - - e, err = runtime.Enum(val, SellOfferStatus_value) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "status", err) - } - - protoReq.Status = SellOfferStatus(e) - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_QSellOffers_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.QSellOffers(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QServer_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQServerRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := client.QServer(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QServer_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQServerRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := server.QServer(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - 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_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 ( - val string - e int32 - ok bool - err error - _ = err - ) - - val, ok = pathParams["status"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "status") - } - - e, err = runtime.Enum(val, CStatus_value) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "status", err) - } - - protoReq.Status = CStatus(e) - - val, ok = pathParams["ignoreStatus"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ignoreStatus") - } - - protoReq.IgnoreStatus, err = runtime.Bool(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ignoreStatus", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - 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.QSets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -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 ( - val string - e int32 - ok bool - err error - _ = err - ) - - val, ok = pathParams["status"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "status") - } - - e, err = runtime.Enum(val, CStatus_value) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "status", err) - } - - protoReq.Status = CStatus(e) - - val, ok = pathParams["ignoreStatus"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ignoreStatus") - } - - protoReq.IgnoreStatus, err = runtime.Bool(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ignoreStatus", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - 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.QSets(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_RarityDistribution_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryRarityDistributionRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["setId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") - } - - protoReq.SetId, err = runtime.Uint64(val) - - if err != nil { - 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)) - return msg, metadata, err - -} - -func local_request_Query_RarityDistribution_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryRarityDistributionRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["setId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") - } - - protoReq.SetId, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) - } - - msg, err := server.RarityDistribution(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QCardContents_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCardContentsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["cardIds"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardIds") - } - - protoReq.CardIds, err = runtime.Uint64Slice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardIds", err) - } - - msg, err := client.QCardContents(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QCardContents_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCardContentsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["cardIds"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardIds") - } - - protoReq.CardIds, err = runtime.Uint64Slice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardIds", err) - } - - msg, err := server.QCardContents(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QAccountFromZealy_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQAccountFromZealyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["zealyId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "zealyId") - } - - protoReq.ZealyId, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "zealyId", err) - } - - msg, err := client.QAccountFromZealy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QAccountFromZealy_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQAccountFromZealyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["zealyId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "zealyId") - } - - protoReq.ZealyId, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "zealyId", err) - } - - msg, err := server.QAccountFromZealy(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QEncounters_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQEncountersRequest - var metadata runtime.ServerMetadata - - msg, err := client.QEncounters(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QEncounters_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQEncountersRequest - var metadata runtime.ServerMetadata - - msg, err := server.QEncounters(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QEncounter_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQEncounterRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := client.QEncounter(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QEncounter_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQEncounterRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := server.QEncounter(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QEncountersWithImage_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQEncountersWithImageRequest - var metadata runtime.ServerMetadata - - msg, err := client.QEncountersWithImage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QEncountersWithImage_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQEncountersWithImageRequest - var metadata runtime.ServerMetadata - - msg, err := server.QEncountersWithImage(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Query_QEncounterWithImage_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQEncounterWithImageRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := client.QEncounterWithImage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_QEncounterWithImage_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQEncounterWithImageRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := server.QEncounterWithImage(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_QCard_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_QCard_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_QCard_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QCardContent_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_QCardContent_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_QCardContent_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QUser_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_QUser_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_QUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QCardchainInfo_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_QCardchainInfo_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_QCardchainInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QVotingResults_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_QVotingResults_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_QVotingResults_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QCards_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_QCards_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_QCards_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QMatch_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_QMatch_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_QMatch_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - 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 - 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_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 { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_QSet_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QSellOffer_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_QSellOffer_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_QSellOffer_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QCouncil_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_QCouncil_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_QCouncil_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QMatches_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_QMatches_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_QMatches_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QSellOffers_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_QSellOffers_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_QSellOffers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QServer_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_QServer_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_QServer_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - 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 - 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_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 { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_QSets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_RarityDistribution_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_RarityDistribution_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_RarityDistribution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QCardContents_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_QCardContents_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_QCardContents_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QAccountFromZealy_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_QAccountFromZealy_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_QAccountFromZealy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QEncounters_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_QEncounters_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_QEncounters_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QEncounter_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_QEncounter_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_QEncounter_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QEncountersWithImage_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_QEncountersWithImage_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_QEncountersWithImage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QEncounterWithImage_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_QEncounterWithImage_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_QEncounterWithImage_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_QCard_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_QCard_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_QCard_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QCardContent_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_QCardContent_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_QCardContent_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QUser_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_QUser_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_QUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QCardchainInfo_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_QCardchainInfo_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_QCardchainInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QVotingResults_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_QVotingResults_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_QVotingResults_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QCards_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_QCards_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_QCards_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QMatch_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_QMatch_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_QMatch_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - 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) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - 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_QSet_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QSellOffer_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_QSellOffer_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_QSellOffer_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QCouncil_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_QCouncil_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_QCouncil_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QMatches_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_QMatches_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_QMatches_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QSellOffers_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_QSellOffers_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_QSellOffers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QServer_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_QServer_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_QServer_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - 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) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - 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_QSets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_RarityDistribution_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_RarityDistribution_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_RarityDistribution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QCardContents_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_QCardContents_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_QCardContents_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QAccountFromZealy_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_QAccountFromZealy_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_QAccountFromZealy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QEncounters_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_QEncounters_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_QEncounters_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QEncounter_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_QEncounter_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_QEncounter_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QEncountersWithImage_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_QEncountersWithImage_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_QEncountersWithImage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_QEncounterWithImage_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_QEncounterWithImage_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_QEncounterWithImage_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", "cardchain", "params"}, "", 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, 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, 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, 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, 2, 2, 3}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_voting_results"}, "", runtime.AssumeColonVerbOpt(true))) - - pattern_Query_QCards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_cards"}, "", 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_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, 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, 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, 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, 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, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_server", "id"}, "", 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", "setId"}, "", runtime.AssumeColonVerbOpt(true))) - - pattern_Query_QCardContents_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_contents", "cardIds"}, "", runtime.AssumeColonVerbOpt(true))) - - pattern_Query_QAccountFromZealy_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_account_from_zealy", "zealyId"}, "", runtime.AssumeColonVerbOpt(true))) - - pattern_Query_QEncounters_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_encounters"}, "", runtime.AssumeColonVerbOpt(true))) - - pattern_Query_QEncounter_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_encounter", "id"}, "", runtime.AssumeColonVerbOpt(true))) - - pattern_Query_QEncountersWithImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_encounters_with_image"}, "", runtime.AssumeColonVerbOpt(true))) - - pattern_Query_QEncounterWithImage_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_encounter_with_image", "id"}, "", runtime.AssumeColonVerbOpt(true))) -) - -var ( - forward_Query_Params_0 = runtime.ForwardResponseMessage - - forward_Query_QCard_0 = runtime.ForwardResponseMessage - - forward_Query_QCardContent_0 = runtime.ForwardResponseMessage - - forward_Query_QUser_0 = runtime.ForwardResponseMessage - - forward_Query_QCardchainInfo_0 = runtime.ForwardResponseMessage - - forward_Query_QVotingResults_0 = runtime.ForwardResponseMessage - - forward_Query_QCards_0 = runtime.ForwardResponseMessage - - forward_Query_QMatch_0 = runtime.ForwardResponseMessage - - forward_Query_QSet_0 = runtime.ForwardResponseMessage - - forward_Query_QSellOffer_0 = runtime.ForwardResponseMessage - - forward_Query_QCouncil_0 = runtime.ForwardResponseMessage - - forward_Query_QMatches_0 = runtime.ForwardResponseMessage - - forward_Query_QSellOffers_0 = runtime.ForwardResponseMessage - - forward_Query_QServer_0 = runtime.ForwardResponseMessage - - forward_Query_QSets_0 = runtime.ForwardResponseMessage - - forward_Query_RarityDistribution_0 = runtime.ForwardResponseMessage - - forward_Query_QCardContents_0 = runtime.ForwardResponseMessage - - forward_Query_QAccountFromZealy_0 = runtime.ForwardResponseMessage - - forward_Query_QEncounters_0 = runtime.ForwardResponseMessage - - forward_Query_QEncounter_0 = runtime.ForwardResponseMessage - - forward_Query_QEncountersWithImage_0 = runtime.ForwardResponseMessage - - forward_Query_QEncounterWithImage_0 = runtime.ForwardResponseMessage -) diff --git a/x/cardchain/types/running_average.pb.go b/x/cardchain/types/running_average.pb.go deleted file mode 100644 index 3efbb865..00000000 --- a/x/cardchain/types/running_average.pb.go +++ /dev/null @@ -1,376 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/running_average.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 RunningAverage struct { - Arr []int64 `protobuf:"varint,1,rep,packed,name=arr,proto3" json:"arr,omitempty"` -} - -func (m *RunningAverage) Reset() { *m = RunningAverage{} } -func (m *RunningAverage) String() string { return proto.CompactTextString(m) } -func (*RunningAverage) ProtoMessage() {} -func (*RunningAverage) Descriptor() ([]byte, []int) { - return fileDescriptor_a520f579564035a6, []int{0} -} -func (m *RunningAverage) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *RunningAverage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_RunningAverage.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 *RunningAverage) XXX_Merge(src proto.Message) { - xxx_messageInfo_RunningAverage.Merge(m, src) -} -func (m *RunningAverage) XXX_Size() int { - return m.Size() -} -func (m *RunningAverage) XXX_DiscardUnknown() { - xxx_messageInfo_RunningAverage.DiscardUnknown(m) -} - -var xxx_messageInfo_RunningAverage proto.InternalMessageInfo - -func (m *RunningAverage) GetArr() []int64 { - if m != nil { - return m.Arr - } - return nil -} - -func init() { - proto.RegisterType((*RunningAverage)(nil), "DecentralCardGame.cardchain.cardchain.RunningAverage") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/running_average.proto", fileDescriptor_a520f579564035a6) -} - -var fileDescriptor_a520f579564035a6 = []byte{ - // 169 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4c, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x8a, 0x4a, 0xf3, 0xf2, 0x32, 0xf3, 0xd2, 0xe3, - 0x13, 0xcb, 0x52, 0x8b, 0x12, 0xd3, 0x53, 0xf5, 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, 0x5a, 0x10, 0x2c, 0x25, 0x25, 0x2e, 0xbe, 0x20, 0x88, 0x7e, 0x47, 0x88, 0x76, 0x21, - 0x01, 0x2e, 0xe6, 0xc4, 0xa2, 0x22, 0x09, 0x46, 0x05, 0x66, 0x0d, 0xe6, 0x20, 0x10, 0xd3, 0x29, - 0xe8, 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, 0x2c, 0xd2, 0x33, 0x4b, 0x32, - 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x31, 0xec, 0xd3, 0x77, 0x86, 0x3b, 0xb1, 0x02, 0xc9, - 0xb9, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, 0x57, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, - 0xff, 0xca, 0xab, 0xae, 0x1c, 0xd2, 0x00, 0x00, 0x00, -} - -func (m *RunningAverage) 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 *RunningAverage) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *RunningAverage) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Arr) > 0 { - dAtA2 := make([]byte, len(m.Arr)*10) - var j1 int - for _, num1 := range m.Arr { - num := uint64(num1) - 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 = encodeVarintRunningAverage(dAtA, i, uint64(j1)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintRunningAverage(dAtA []byte, offset int, v uint64) int { - offset -= sovRunningAverage(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *RunningAverage) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Arr) > 0 { - l = 0 - for _, e := range m.Arr { - l += sovRunningAverage(uint64(e)) - } - n += 1 + sovRunningAverage(uint64(l)) + l - } - return n -} - -func sovRunningAverage(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozRunningAverage(x uint64) (n int) { - return sovRunningAverage(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *RunningAverage) 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 ErrIntOverflowRunningAverage - } - 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: RunningAverage: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: RunningAverage: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType == 0 { - var v int64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowRunningAverage - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Arr = append(m.Arr, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowRunningAverage - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthRunningAverage - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthRunningAverage - } - 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.Arr) == 0 { - m.Arr = make([]int64, 0, elementCount) - } - for iNdEx < postIndex { - var v int64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowRunningAverage - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Arr = append(m.Arr, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Arr", wireType) - } - default: - iNdEx = preIndex - skippy, err := skipRunningAverage(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthRunningAverage - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipRunningAverage(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, ErrIntOverflowRunningAverage - } - 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, ErrIntOverflowRunningAverage - } - 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, ErrIntOverflowRunningAverage - } - 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, ErrInvalidLengthRunningAverage - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupRunningAverage - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthRunningAverage - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthRunningAverage = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowRunningAverage = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupRunningAverage = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go deleted file mode 100644 index a5198792..00000000 --- a/x/cardchain/types/sell_offer.pb.go +++ /dev/null @@ -1,526 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/sell_offer.proto - -package types - -import ( - fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "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 - -type SellOfferStatus int32 - -const ( - SellOfferStatus_open SellOfferStatus = 0 - SellOfferStatus_sold SellOfferStatus = 1 - SellOfferStatus_removed SellOfferStatus = 2 -) - -var SellOfferStatus_name = map[int32]string{ - 0: "open", - 1: "sold", - 2: "removed", -} - -var SellOfferStatus_value = map[string]int32{ - "open": 0, - "sold": 1, - "removed": 2, -} - -func (x SellOfferStatus) String() string { - return proto.EnumName(SellOfferStatus_name, int32(x)) -} - -func (SellOfferStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_18dbd9a8240e28bf, []int{0} -} - -type SellOffer struct { - Seller string `protobuf:"bytes,1,opt,name=seller,proto3" json:"seller,omitempty"` - Buyer string `protobuf:"bytes,2,opt,name=buyer,proto3" json:"buyer,omitempty"` - Card uint64 `protobuf:"varint,3,opt,name=card,proto3" json:"card,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,4,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"price"` - Status SellOfferStatus `protobuf:"varint,5,opt,name=status,proto3,enum=DecentralCardGame.cardchain.cardchain.SellOfferStatus" json:"status,omitempty"` -} - -func (m *SellOffer) Reset() { *m = SellOffer{} } -func (m *SellOffer) String() string { return proto.CompactTextString(m) } -func (*SellOffer) ProtoMessage() {} -func (*SellOffer) Descriptor() ([]byte, []int) { - return fileDescriptor_18dbd9a8240e28bf, []int{0} -} -func (m *SellOffer) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *SellOffer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_SellOffer.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 *SellOffer) XXX_Merge(src proto.Message) { - xxx_messageInfo_SellOffer.Merge(m, src) -} -func (m *SellOffer) XXX_Size() int { - return m.Size() -} -func (m *SellOffer) XXX_DiscardUnknown() { - xxx_messageInfo_SellOffer.DiscardUnknown(m) -} - -var xxx_messageInfo_SellOffer proto.InternalMessageInfo - -func (m *SellOffer) GetSeller() string { - if m != nil { - return m.Seller - } - return "" -} - -func (m *SellOffer) GetBuyer() string { - if m != nil { - return m.Buyer - } - return "" -} - -func (m *SellOffer) GetCard() uint64 { - if m != nil { - return m.Card - } - return 0 -} - -func (m *SellOffer) GetStatus() SellOfferStatus { - if m != nil { - return m.Status - } - return SellOfferStatus_open -} - -func init() { - proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.SellOfferStatus", SellOfferStatus_name, SellOfferStatus_value) - proto.RegisterType((*SellOffer)(nil), "DecentralCardGame.cardchain.cardchain.SellOffer") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/sell_offer.proto", fileDescriptor_18dbd9a8240e28bf) -} - -var fileDescriptor_18dbd9a8240e28bf = []byte{ - // 324 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x91, 0x41, 0x4b, 0x02, 0x41, - 0x14, 0xc7, 0x77, 0x6c, 0xb5, 0x9c, 0xa0, 0x64, 0x90, 0x58, 0x3a, 0xac, 0x12, 0x45, 0x12, 0xb4, - 0x0b, 0x06, 0xd1, 0x59, 0x8b, 0x6e, 0x05, 0xeb, 0xad, 0x4b, 0xac, 0xbb, 0x4f, 0x5d, 0x9a, 0xdd, - 0xb7, 0xcc, 0x8c, 0x91, 0xdf, 0xa2, 0x8f, 0xe5, 0xd1, 0x63, 0x74, 0x90, 0xd0, 0x3e, 0x48, 0xcc, - 0x28, 0xab, 0xd4, 0xa5, 0xd3, 0xfc, 0xde, 0xcc, 0xfb, 0xff, 0x99, 0xff, 0x7b, 0xf4, 0x34, 0x0a, - 0x45, 0x1c, 0x8d, 0xc2, 0x24, 0xf3, 0x37, 0x24, 0x81, 0xf3, 0x67, 0x1c, 0x0c, 0x40, 0x78, 0xb9, - 0x40, 0x85, 0xec, 0xec, 0x16, 0x22, 0xc8, 0x94, 0x08, 0x79, 0x37, 0x14, 0xf1, 0x7d, 0x98, 0x82, - 0x57, 0x74, 0x6f, 0xe8, 0xb8, 0x3e, 0xc4, 0x21, 0x1a, 0x85, 0xaf, 0x69, 0x25, 0x3e, 0xf9, 0x26, - 0xb4, 0xda, 0x03, 0xce, 0x1f, 0xb5, 0x21, 0x3b, 0xa2, 0x15, 0x6d, 0x0f, 0xc2, 0x21, 0x4d, 0xd2, - 0xaa, 0x06, 0xeb, 0x8a, 0xd5, 0x69, 0xb9, 0x3f, 0x9e, 0x80, 0x70, 0x4a, 0xe6, 0x7a, 0x55, 0x30, - 0x46, 0x6d, 0x6d, 0xef, 0xec, 0x34, 0x49, 0xcb, 0x0e, 0x0c, 0xb3, 0x3b, 0x5a, 0xce, 0x45, 0x12, - 0x81, 0x63, 0xeb, 0xce, 0x8e, 0x3f, 0x9d, 0x37, 0xac, 0xcf, 0x79, 0xe3, 0x7c, 0x98, 0xa8, 0xd1, - 0xb8, 0xef, 0x45, 0x98, 0xfa, 0x11, 0xca, 0x14, 0xe5, 0xfa, 0xb8, 0x94, 0xf1, 0x8b, 0xaf, 0x26, - 0x39, 0x48, 0xaf, 0x8b, 0x49, 0x16, 0xac, 0xd4, 0xec, 0x81, 0x56, 0xa4, 0x0a, 0xd5, 0x58, 0x3a, - 0xe5, 0x26, 0x69, 0x1d, 0xb4, 0xaf, 0xbd, 0x7f, 0x85, 0xf4, 0x8a, 0x28, 0x3d, 0xa3, 0x0e, 0xd6, - 0x2e, 0x17, 0x6d, 0x7a, 0xf8, 0xeb, 0x89, 0xed, 0x51, 0x1b, 0x73, 0xc8, 0x6a, 0x96, 0x26, 0x89, - 0x3c, 0xae, 0x11, 0xb6, 0x4f, 0x77, 0x05, 0xa4, 0xf8, 0x0a, 0x71, 0xad, 0xd4, 0x09, 0xa6, 0x0b, - 0x97, 0xcc, 0x16, 0x2e, 0xf9, 0x5a, 0xb8, 0xe4, 0x7d, 0xe9, 0x5a, 0xb3, 0xa5, 0x6b, 0x7d, 0x2c, - 0x5d, 0xeb, 0xe9, 0x66, 0x2b, 0xcd, 0x9f, 0x7f, 0xf9, 0xdd, 0x62, 0x55, 0x6f, 0x5b, 0x6b, 0x33, - 0x19, 0xfb, 0x15, 0x33, 0xf5, 0xab, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x47, 0xf9, 0x67, - 0xda, 0x01, 0x00, 0x00, -} - -func (m *SellOffer) 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 *SellOffer) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *SellOffer) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Status != 0 { - i = encodeVarintSellOffer(dAtA, i, uint64(m.Status)) - i-- - dAtA[i] = 0x28 - } - { - size := m.Price.Size() - i -= size - if _, err := m.Price.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintSellOffer(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - if m.Card != 0 { - i = encodeVarintSellOffer(dAtA, i, uint64(m.Card)) - i-- - dAtA[i] = 0x18 - } - if len(m.Buyer) > 0 { - i -= len(m.Buyer) - copy(dAtA[i:], m.Buyer) - i = encodeVarintSellOffer(dAtA, i, uint64(len(m.Buyer))) - i-- - dAtA[i] = 0x12 - } - if len(m.Seller) > 0 { - i -= len(m.Seller) - copy(dAtA[i:], m.Seller) - i = encodeVarintSellOffer(dAtA, i, uint64(len(m.Seller))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintSellOffer(dAtA []byte, offset int, v uint64) int { - offset -= sovSellOffer(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *SellOffer) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Seller) - if l > 0 { - n += 1 + l + sovSellOffer(uint64(l)) - } - l = len(m.Buyer) - if l > 0 { - n += 1 + l + sovSellOffer(uint64(l)) - } - if m.Card != 0 { - n += 1 + sovSellOffer(uint64(m.Card)) - } - l = m.Price.Size() - n += 1 + l + sovSellOffer(uint64(l)) - if m.Status != 0 { - n += 1 + sovSellOffer(uint64(m.Status)) - } - return n -} - -func sovSellOffer(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozSellOffer(x uint64) (n int) { - return sovSellOffer(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *SellOffer) 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 ErrIntOverflowSellOffer - } - 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: SellOffer: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: SellOffer: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Seller", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSellOffer - } - 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 ErrInvalidLengthSellOffer - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSellOffer - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Seller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Buyer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSellOffer - } - 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 ErrInvalidLengthSellOffer - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSellOffer - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Buyer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) - } - m.Card = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSellOffer - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Card |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSellOffer - } - 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 ErrInvalidLengthSellOffer - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSellOffer - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - m.Status = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSellOffer - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Status |= SellOfferStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipSellOffer(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthSellOffer - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipSellOffer(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, ErrIntOverflowSellOffer - } - 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, ErrIntOverflowSellOffer - } - 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, ErrIntOverflowSellOffer - } - 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, ErrInvalidLengthSellOffer - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupSellOffer - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthSellOffer - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthSellOffer = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowSellOffer = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupSellOffer = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/server.pb.go b/x/cardchain/types/server.pb.go deleted file mode 100644 index d58c774c..00000000 --- a/x/cardchain/types/server.pb.go +++ /dev/null @@ -1,387 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/server.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 Server struct { - Reporter string `protobuf:"bytes,1,opt,name=reporter,proto3" json:"reporter,omitempty"` - InvalidReports uint64 `protobuf:"varint,2,opt,name=invalidReports,proto3" json:"invalidReports,omitempty"` - ValidReports uint64 `protobuf:"varint,3,opt,name=validReports,proto3" json:"validReports,omitempty"` -} - -func (m *Server) Reset() { *m = Server{} } -func (m *Server) String() string { return proto.CompactTextString(m) } -func (*Server) ProtoMessage() {} -func (*Server) Descriptor() ([]byte, []int) { - return fileDescriptor_0c97a602669201df, []int{0} -} -func (m *Server) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Server) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Server.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 *Server) XXX_Merge(src proto.Message) { - xxx_messageInfo_Server.Merge(m, src) -} -func (m *Server) XXX_Size() int { - return m.Size() -} -func (m *Server) XXX_DiscardUnknown() { - xxx_messageInfo_Server.DiscardUnknown(m) -} - -var xxx_messageInfo_Server proto.InternalMessageInfo - -func (m *Server) GetReporter() string { - if m != nil { - return m.Reporter - } - return "" -} - -func (m *Server) GetInvalidReports() uint64 { - if m != nil { - return m.InvalidReports - } - return 0 -} - -func (m *Server) GetValidReports() uint64 { - if m != nil { - return m.ValidReports - } - return 0 -} - -func init() { - proto.RegisterType((*Server)(nil), "DecentralCardGame.cardchain.cardchain.Server") -} - -func init() { proto.RegisterFile("cardchain/cardchain/server.proto", fileDescriptor_0c97a602669201df) } - -var fileDescriptor_0c97a602669201df = []byte{ - // 197 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, 0x47, 0xb0, 0x8a, 0x53, 0x8b, 0xca, 0x52, 0x8b, 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, 0x2a, 0x11, 0x2c, 0xa5, 0x02, 0x2e, 0xb6, - 0x60, 0xb0, 0x36, 0x21, 0x29, 0x2e, 0x8e, 0xa2, 0xd4, 0x82, 0xfc, 0xa2, 0x92, 0xd4, 0x22, 0x09, - 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, 0x38, 0x5f, 0x48, 0x8d, 0x8b, 0x2f, 0x33, 0xaf, 0x2c, 0x31, - 0x27, 0x33, 0x25, 0x08, 0x2c, 0x54, 0x2c, 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0x12, 0x84, 0x26, 0x2a, - 0xa4, 0xc4, 0xc5, 0x83, 0xa2, 0x8a, 0x19, 0xac, 0x0a, 0x45, 0xcc, 0x29, 0xe8, 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, 0x2c, 0xd2, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, - 0xf3, 0x73, 0xf5, 0x31, 0x5c, 0xaf, 0xef, 0x0c, 0xf7, 0x67, 0x05, 0x92, 0x9f, 0x4b, 0x2a, 0x0b, - 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x7e, 0x36, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x96, 0x75, - 0x98, 0x17, 0x01, 0x00, 0x00, -} - -func (m *Server) 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 *Server) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Server) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.ValidReports != 0 { - i = encodeVarintServer(dAtA, i, uint64(m.ValidReports)) - i-- - dAtA[i] = 0x18 - } - if m.InvalidReports != 0 { - i = encodeVarintServer(dAtA, i, uint64(m.InvalidReports)) - i-- - dAtA[i] = 0x10 - } - if len(m.Reporter) > 0 { - i -= len(m.Reporter) - copy(dAtA[i:], m.Reporter) - i = encodeVarintServer(dAtA, i, uint64(len(m.Reporter))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintServer(dAtA []byte, offset int, v uint64) int { - offset -= sovServer(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Server) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Reporter) - if l > 0 { - n += 1 + l + sovServer(uint64(l)) - } - if m.InvalidReports != 0 { - n += 1 + sovServer(uint64(m.InvalidReports)) - } - if m.ValidReports != 0 { - n += 1 + sovServer(uint64(m.ValidReports)) - } - return n -} - -func sovServer(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozServer(x uint64) (n int) { - return sovServer(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Server) 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 ErrIntOverflowServer - } - 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: Server: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Server: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reporter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowServer - } - 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 ErrInvalidLengthServer - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthServer - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Reporter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field InvalidReports", wireType) - } - m.InvalidReports = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowServer - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.InvalidReports |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidReports", wireType) - } - m.ValidReports = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowServer - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ValidReports |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipServer(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthServer - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipServer(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, ErrIntOverflowServer - } - 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, ErrIntOverflowServer - } - 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, ErrIntOverflowServer - } - 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, ErrInvalidLengthServer - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupServer - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthServer - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthServer = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowServer = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupServer = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go deleted file mode 100644 index ac8c8222..00000000 --- a/x/cardchain/types/set.pb.go +++ /dev/null @@ -1,2142 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/set.proto - -package types - -import ( - fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - 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 CStatus int32 - -const ( - CStatus_design CStatus = 0 - CStatus_finalized CStatus = 1 - CStatus_active CStatus = 2 - CStatus_archived CStatus = 3 -) - -var CStatus_name = map[int32]string{ - 0: "design", - 1: "finalized", - 2: "active", - 3: "archived", -} - -var CStatus_value = map[string]int32{ - "design": 0, - "finalized": 1, - "active": 2, - "archived": 3, -} - -func (x CStatus) String() string { - return proto.EnumName(CStatus_name, int32(x)) -} - -func (CStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_4433f04964645edd, []int{0} -} - -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"` - StoryWriter string `protobuf:"bytes,4,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` - Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` - Story string `protobuf:"bytes,6,opt,name=story,proto3" json:"story,omitempty"` - ArtworkId uint64 `protobuf:"varint,7,opt,name=artworkId,proto3" json:"artworkId,omitempty"` - Status CStatus `protobuf:"varint,8,opt,name=status,proto3,enum=DecentralCardGame.cardchain.cardchain.CStatus" json:"status,omitempty"` - TimeStamp int64 `protobuf:"varint,9,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` - ContributorsDistribution []*AddrWithQuantity `protobuf:"bytes,10,rep,name=contributorsDistribution,proto3" json:"contributorsDistribution,omitempty"` - Rarities []*InnerRarities `protobuf:"bytes,11,rep,name=Rarities,proto3" json:"Rarities,omitempty"` -} - -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 *Set) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Set) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Set.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 *Set) XXX_Merge(src proto.Message) { - xxx_messageInfo_Set.Merge(m, src) -} -func (m *Set) XXX_Size() int { - return m.Size() -} -func (m *Set) XXX_DiscardUnknown() { - xxx_messageInfo_Set.DiscardUnknown(m) -} - -var xxx_messageInfo_Set proto.InternalMessageInfo - -func (m *Set) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *Set) GetCards() []uint64 { - if m != nil { - return m.Cards - } - return nil -} - -func (m *Set) GetArtist() string { - if m != nil { - return m.Artist - } - return "" -} - -func (m *Set) GetStoryWriter() string { - if m != nil { - return m.StoryWriter - } - return "" -} - -func (m *Set) GetContributors() []string { - if m != nil { - return m.Contributors - } - return nil -} - -func (m *Set) GetStory() string { - if m != nil { - return m.Story - } - return "" -} - -func (m *Set) GetArtworkId() uint64 { - if m != nil { - return m.ArtworkId - } - return 0 -} - -func (m *Set) GetStatus() CStatus { - if m != nil { - return m.Status - } - return CStatus_design -} - -func (m *Set) GetTimeStamp() int64 { - if m != nil { - return m.TimeStamp - } - return 0 -} - -func (m *Set) GetContributorsDistribution() []*AddrWithQuantity { - if m != nil { - return m.ContributorsDistribution - } - return nil -} - -func (m *Set) GetRarities() []*InnerRarities { - if m != nil { - return m.Rarities - } - return nil -} - -type InnerRarities struct { - R []uint64 `protobuf:"varint,1,rep,packed,name=R,proto3" json:"R,omitempty"` -} - -func (m *InnerRarities) Reset() { *m = InnerRarities{} } -func (m *InnerRarities) String() string { return proto.CompactTextString(m) } -func (*InnerRarities) ProtoMessage() {} -func (*InnerRarities) Descriptor() ([]byte, []int) { - return fileDescriptor_4433f04964645edd, []int{1} -} -func (m *InnerRarities) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *InnerRarities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_InnerRarities.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 *InnerRarities) XXX_Merge(src proto.Message) { - xxx_messageInfo_InnerRarities.Merge(m, src) -} -func (m *InnerRarities) XXX_Size() int { - return m.Size() -} -func (m *InnerRarities) XXX_DiscardUnknown() { - xxx_messageInfo_InnerRarities.DiscardUnknown(m) -} - -var xxx_messageInfo_InnerRarities proto.InternalMessageInfo - -func (m *InnerRarities) GetR() []uint64 { - if m != nil { - return m.R - } - return nil -} - -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"` - StoryWriter string `protobuf:"bytes,4,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` - Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` - Story string `protobuf:"bytes,6,opt,name=story,proto3" json:"story,omitempty"` - Artwork string `protobuf:"bytes,7,opt,name=artwork,proto3" json:"artwork,omitempty"` - Status CStatus `protobuf:"varint,8,opt,name=status,proto3,enum=DecentralCardGame.cardchain.cardchain.CStatus" json:"status,omitempty"` - TimeStamp int64 `protobuf:"varint,9,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` - ContributorsDistribution []*AddrWithQuantity `protobuf:"bytes,10,rep,name=contributorsDistribution,proto3" json:"contributorsDistribution,omitempty"` - Rarities []*InnerRarities `protobuf:"bytes,11,rep,name=Rarities,proto3" json:"Rarities,omitempty"` -} - -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{2} -} -func (m *OutpSet) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OutpSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OutpSet.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 *OutpSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutpSet.Merge(m, src) -} -func (m *OutpSet) XXX_Size() int { - return m.Size() -} -func (m *OutpSet) XXX_DiscardUnknown() { - xxx_messageInfo_OutpSet.DiscardUnknown(m) -} - -var xxx_messageInfo_OutpSet proto.InternalMessageInfo - -func (m *OutpSet) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *OutpSet) GetCards() []uint64 { - if m != nil { - return m.Cards - } - return nil -} - -func (m *OutpSet) GetArtist() string { - if m != nil { - return m.Artist - } - return "" -} - -func (m *OutpSet) GetStoryWriter() string { - if m != nil { - return m.StoryWriter - } - return "" -} - -func (m *OutpSet) GetContributors() []string { - if m != nil { - return m.Contributors - } - return nil -} - -func (m *OutpSet) GetStory() string { - if m != nil { - return m.Story - } - return "" -} - -func (m *OutpSet) GetArtwork() string { - if m != nil { - return m.Artwork - } - return "" -} - -func (m *OutpSet) GetStatus() CStatus { - if m != nil { - return m.Status - } - return CStatus_design -} - -func (m *OutpSet) GetTimeStamp() int64 { - if m != nil { - return m.TimeStamp - } - return 0 -} - -func (m *OutpSet) GetContributorsDistribution() []*AddrWithQuantity { - if m != nil { - return m.ContributorsDistribution - } - return nil -} - -func (m *OutpSet) GetRarities() []*InnerRarities { - if m != nil { - return m.Rarities - } - return nil -} - -type AddrWithQuantity struct { - Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` - Q uint32 `protobuf:"varint,2,opt,name=q,proto3" json:"q,omitempty"` - Payment *types.Coin `protobuf:"bytes,3,opt,name=payment,proto3" json:"payment,omitempty"` -} - -func (m *AddrWithQuantity) Reset() { *m = AddrWithQuantity{} } -func (m *AddrWithQuantity) String() string { return proto.CompactTextString(m) } -func (*AddrWithQuantity) ProtoMessage() {} -func (*AddrWithQuantity) Descriptor() ([]byte, []int) { - return fileDescriptor_4433f04964645edd, []int{3} -} -func (m *AddrWithQuantity) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AddrWithQuantity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AddrWithQuantity.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 *AddrWithQuantity) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddrWithQuantity.Merge(m, src) -} -func (m *AddrWithQuantity) XXX_Size() int { - return m.Size() -} -func (m *AddrWithQuantity) XXX_DiscardUnknown() { - xxx_messageInfo_AddrWithQuantity.DiscardUnknown(m) -} - -var xxx_messageInfo_AddrWithQuantity proto.InternalMessageInfo - -func (m *AddrWithQuantity) GetAddr() string { - if m != nil { - return m.Addr - } - return "" -} - -func (m *AddrWithQuantity) GetQ() uint32 { - if m != nil { - return m.Q - } - return 0 -} - -func (m *AddrWithQuantity) GetPayment() *types.Coin { - if m != nil { - return m.Payment - } - return nil -} - -func init() { - proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.CStatus", CStatus_name, CStatus_value) - proto.RegisterType((*Set)(nil), "DecentralCardGame.cardchain.cardchain.Set") - proto.RegisterType((*InnerRarities)(nil), "DecentralCardGame.cardchain.cardchain.InnerRarities") - proto.RegisterType((*OutpSet)(nil), "DecentralCardGame.cardchain.cardchain.OutpSet") - proto.RegisterType((*AddrWithQuantity)(nil), "DecentralCardGame.cardchain.cardchain.AddrWithQuantity") -} - -func init() { proto.RegisterFile("cardchain/cardchain/set.proto", fileDescriptor_4433f04964645edd) } - -var fileDescriptor_4433f04964645edd = []byte{ - // 534 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x54, 0x4f, 0x8b, 0x13, 0x4f, - 0x10, 0x4d, 0xef, 0x64, 0x93, 0x9d, 0x4a, 0xf2, 0x23, 0x34, 0x3f, 0xa4, 0x15, 0x77, 0x18, 0x02, - 0xc2, 0xe0, 0x61, 0x86, 0xcd, 0x0a, 0x7a, 0x12, 0x34, 0x8b, 0xb2, 0x27, 0xb5, 0x73, 0x58, 0xf0, - 0xd6, 0x99, 0x69, 0x37, 0x8d, 0x3b, 0xdd, 0xd9, 0xee, 0x4a, 0x34, 0x7e, 0x0a, 0x3f, 0x96, 0xc7, - 0x3d, 0x7a, 0x94, 0xe4, 0xee, 0x67, 0x90, 0x99, 0xc9, 0xbf, 0x55, 0x84, 0x78, 0xf3, 0xe0, 0xad, - 0xaa, 0xba, 0x5e, 0xbd, 0xa6, 0xea, 0xf1, 0xe0, 0x38, 0x15, 0x36, 0x4b, 0xc7, 0x42, 0xe9, 0x64, - 0x1b, 0x39, 0x89, 0xf1, 0xc4, 0x1a, 0x34, 0xf4, 0xc1, 0x99, 0x4c, 0xa5, 0x46, 0x2b, 0xae, 0x06, - 0xc2, 0x66, 0x2f, 0x45, 0x2e, 0xe3, 0x4d, 0xdb, 0x36, 0xba, 0x17, 0xa4, 0xc6, 0xe5, 0xc6, 0x25, - 0x23, 0xe1, 0x64, 0x32, 0x3b, 0x19, 0x49, 0x14, 0x27, 0x49, 0x6a, 0x94, 0xae, 0xc6, 0xf4, 0xbe, - 0x7b, 0xe0, 0x0d, 0x25, 0x52, 0x0a, 0x75, 0x2d, 0x72, 0xc9, 0x48, 0x48, 0x22, 0x9f, 0x97, 0x31, - 0xfd, 0x1f, 0x0e, 0x8b, 0x41, 0x8e, 0x1d, 0x84, 0x5e, 0x54, 0xe7, 0x55, 0x42, 0xef, 0x40, 0x43, - 0x58, 0x54, 0x0e, 0x99, 0x57, 0xf6, 0xae, 0x32, 0x1a, 0x42, 0xcb, 0xa1, 0xb1, 0xf3, 0x0b, 0xab, - 0x50, 0x5a, 0x56, 0x2f, 0x1f, 0x77, 0x4b, 0xb4, 0x07, 0xed, 0xd4, 0x68, 0xb4, 0x6a, 0x34, 0x45, - 0x63, 0x1d, 0x3b, 0x0c, 0xbd, 0xc8, 0xe7, 0xb7, 0x6a, 0x05, 0x67, 0x09, 0x61, 0x8d, 0x12, 0x5f, - 0x25, 0xf4, 0x3e, 0xf8, 0xc2, 0xe2, 0x07, 0x63, 0xdf, 0x9f, 0x67, 0xac, 0x19, 0x92, 0xa8, 0xce, - 0xb7, 0x05, 0xfa, 0x02, 0x1a, 0x0e, 0x05, 0x4e, 0x1d, 0x3b, 0x0a, 0x49, 0xf4, 0x5f, 0x3f, 0x8e, - 0xf7, 0xda, 0x4d, 0x3c, 0x18, 0x96, 0x28, 0xbe, 0x42, 0x17, 0x2c, 0xa8, 0x72, 0x39, 0x44, 0x91, - 0x4f, 0x98, 0x1f, 0x92, 0xc8, 0xe3, 0xdb, 0x02, 0x75, 0xc0, 0x76, 0x7f, 0x7a, 0xa6, 0x5c, 0x15, - 0x2b, 0xa3, 0x19, 0x84, 0x5e, 0xd4, 0xea, 0x3f, 0xde, 0x93, 0xf7, 0x59, 0x96, 0xd9, 0x0b, 0x85, - 0xe3, 0x37, 0x53, 0xa1, 0x51, 0xe1, 0x9c, 0xff, 0x76, 0x30, 0x7d, 0x0d, 0x47, 0x5c, 0x58, 0x85, - 0x4a, 0x3a, 0xd6, 0x2a, 0x49, 0x1e, 0xed, 0x49, 0x72, 0xae, 0xb5, 0xb4, 0x6b, 0x2c, 0xdf, 0x4c, - 0xe9, 0x1d, 0x43, 0xe7, 0xd6, 0x13, 0x6d, 0x03, 0xe1, 0x8c, 0x94, 0x17, 0x26, 0xbc, 0xd0, 0x43, - 0xf3, 0xd5, 0x14, 0x27, 0x7f, 0xbf, 0x26, 0x18, 0x34, 0x57, 0x12, 0x28, 0x15, 0xe1, 0xf3, 0x75, - 0xfa, 0x4f, 0x0f, 0x7f, 0xa2, 0x07, 0x05, 0xdd, 0x9f, 0xf9, 0x8b, 0xc3, 0x8b, 0x2c, 0xb3, 0xeb, - 0xc3, 0x17, 0x71, 0x21, 0x93, 0x6b, 0x76, 0x10, 0x92, 0xa8, 0xc3, 0xc9, 0x35, 0x3d, 0x85, 0xe6, - 0x44, 0xcc, 0x73, 0xa9, 0xab, 0x8b, 0xb7, 0xfa, 0x77, 0xe3, 0xca, 0x68, 0xe2, 0xc2, 0x68, 0xe2, - 0x95, 0xd1, 0xc4, 0x03, 0xa3, 0x34, 0x5f, 0x77, 0x3e, 0x7c, 0x0a, 0xcd, 0xd5, 0x8a, 0x29, 0x40, - 0x23, 0x93, 0x4e, 0x5d, 0xea, 0x6e, 0x8d, 0x76, 0xc0, 0x7f, 0xa7, 0xb4, 0xb8, 0x52, 0x9f, 0x64, - 0xd6, 0x25, 0xc5, 0x93, 0x48, 0x51, 0xcd, 0x64, 0xf7, 0x80, 0xb6, 0xe1, 0x48, 0xd8, 0x74, 0xac, - 0x66, 0x32, 0xeb, 0x7a, 0xcf, 0xf9, 0x97, 0x45, 0x40, 0x6e, 0x16, 0x01, 0xf9, 0xb6, 0x08, 0xc8, - 0xe7, 0x65, 0x50, 0xbb, 0x59, 0x06, 0xb5, 0xaf, 0xcb, 0xa0, 0xf6, 0xf6, 0xc9, 0xa5, 0xc2, 0xf1, - 0x74, 0x14, 0xa7, 0x26, 0x4f, 0x7e, 0x59, 0x47, 0x32, 0xd8, 0xd8, 0xe7, 0xc7, 0x1d, 0x2b, 0xc5, - 0xf9, 0x44, 0xba, 0x51, 0xa3, 0xb4, 0xc1, 0xd3, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xdc, 0xf5, - 0x5a, 0x15, 0x6e, 0x05, 0x00, 0x00, -} - -func (m *Set) 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 *Set) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Set) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Rarities) > 0 { - for iNdEx := len(m.Rarities) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Rarities[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintSet(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x5a - } - } - if len(m.ContributorsDistribution) > 0 { - for iNdEx := len(m.ContributorsDistribution) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.ContributorsDistribution[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintSet(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x52 - } - } - if m.TimeStamp != 0 { - i = encodeVarintSet(dAtA, i, uint64(m.TimeStamp)) - i-- - dAtA[i] = 0x48 - } - if m.Status != 0 { - i = encodeVarintSet(dAtA, i, uint64(m.Status)) - i-- - dAtA[i] = 0x40 - } - if m.ArtworkId != 0 { - 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 = encodeVarintSet(dAtA, i, uint64(len(m.Story))) - i-- - dAtA[i] = 0x32 - } - if len(m.Contributors) > 0 { - for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Contributors[iNdEx]) - copy(dAtA[i:], m.Contributors[iNdEx]) - i = encodeVarintSet(dAtA, i, uint64(len(m.Contributors[iNdEx]))) - i-- - dAtA[i] = 0x2a - } - } - if len(m.StoryWriter) > 0 { - i -= len(m.StoryWriter) - copy(dAtA[i:], 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 = encodeVarintSet(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x1a - } - if len(m.Cards) > 0 { - dAtA2 := make([]byte, len(m.Cards)*10) - var j1 int - for _, num := range m.Cards { - 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 = encodeVarintSet(dAtA, i, uint64(j1)) - i-- - dAtA[i] = 0x12 - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarintSet(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *InnerRarities) 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 *InnerRarities) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *InnerRarities) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.R) > 0 { - dAtA4 := make([]byte, len(m.R)*10) - var j3 int - for _, num := range m.R { - 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 = encodeVarintSet(dAtA, i, uint64(j3)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *OutpSet) 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 *OutpSet) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *OutpSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Rarities) > 0 { - for iNdEx := len(m.Rarities) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Rarities[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintSet(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x5a - } - } - if len(m.ContributorsDistribution) > 0 { - for iNdEx := len(m.ContributorsDistribution) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.ContributorsDistribution[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintSet(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x52 - } - } - if m.TimeStamp != 0 { - i = encodeVarintSet(dAtA, i, uint64(m.TimeStamp)) - i-- - dAtA[i] = 0x48 - } - if m.Status != 0 { - 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 = 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 = encodeVarintSet(dAtA, i, uint64(len(m.Story))) - i-- - dAtA[i] = 0x32 - } - if len(m.Contributors) > 0 { - for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Contributors[iNdEx]) - copy(dAtA[i:], m.Contributors[iNdEx]) - i = encodeVarintSet(dAtA, i, uint64(len(m.Contributors[iNdEx]))) - i-- - dAtA[i] = 0x2a - } - } - if len(m.StoryWriter) > 0 { - i -= len(m.StoryWriter) - copy(dAtA[i:], 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 = encodeVarintSet(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x1a - } - if len(m.Cards) > 0 { - dAtA6 := make([]byte, len(m.Cards)*10) - var j5 int - for _, num := range m.Cards { - for num >= 1<<7 { - dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j5++ - } - dAtA6[j5] = uint8(num) - j5++ - } - i -= j5 - copy(dAtA[i:], dAtA6[:j5]) - i = encodeVarintSet(dAtA, i, uint64(j5)) - i-- - dAtA[i] = 0x12 - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarintSet(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *AddrWithQuantity) 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 *AddrWithQuantity) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AddrWithQuantity) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Payment != nil { - { - size, err := m.Payment.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintSet(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } - if m.Q != 0 { - i = encodeVarintSet(dAtA, i, uint64(m.Q)) - i-- - dAtA[i] = 0x10 - } - if len(m.Addr) > 0 { - i -= len(m.Addr) - copy(dAtA[i:], m.Addr) - i = encodeVarintSet(dAtA, i, uint64(len(m.Addr))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintSet(dAtA []byte, offset int, v uint64) int { - offset -= sovSet(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Set) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Name) - if l > 0 { - n += 1 + l + sovSet(uint64(l)) - } - if len(m.Cards) > 0 { - l = 0 - for _, e := range m.Cards { - l += sovSet(uint64(e)) - } - n += 1 + sovSet(uint64(l)) + l - } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovSet(uint64(l)) - } - l = len(m.StoryWriter) - if l > 0 { - n += 1 + l + sovSet(uint64(l)) - } - if len(m.Contributors) > 0 { - for _, s := range m.Contributors { - l = len(s) - n += 1 + l + sovSet(uint64(l)) - } - } - l = len(m.Story) - if l > 0 { - n += 1 + l + sovSet(uint64(l)) - } - if m.ArtworkId != 0 { - n += 1 + sovSet(uint64(m.ArtworkId)) - } - if m.Status != 0 { - n += 1 + sovSet(uint64(m.Status)) - } - if m.TimeStamp != 0 { - n += 1 + sovSet(uint64(m.TimeStamp)) - } - if len(m.ContributorsDistribution) > 0 { - for _, e := range m.ContributorsDistribution { - l = e.Size() - n += 1 + l + sovSet(uint64(l)) - } - } - if len(m.Rarities) > 0 { - for _, e := range m.Rarities { - l = e.Size() - n += 1 + l + sovSet(uint64(l)) - } - } - return n -} - -func (m *InnerRarities) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.R) > 0 { - l = 0 - for _, e := range m.R { - l += sovSet(uint64(e)) - } - n += 1 + sovSet(uint64(l)) + l - } - return n -} - -func (m *OutpSet) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Name) - if l > 0 { - n += 1 + l + sovSet(uint64(l)) - } - if len(m.Cards) > 0 { - l = 0 - for _, e := range m.Cards { - l += sovSet(uint64(e)) - } - n += 1 + sovSet(uint64(l)) + l - } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovSet(uint64(l)) - } - l = len(m.StoryWriter) - if l > 0 { - n += 1 + l + sovSet(uint64(l)) - } - if len(m.Contributors) > 0 { - for _, s := range m.Contributors { - l = len(s) - n += 1 + l + sovSet(uint64(l)) - } - } - l = len(m.Story) - if l > 0 { - n += 1 + l + sovSet(uint64(l)) - } - l = len(m.Artwork) - if l > 0 { - n += 1 + l + sovSet(uint64(l)) - } - if m.Status != 0 { - n += 1 + sovSet(uint64(m.Status)) - } - if m.TimeStamp != 0 { - n += 1 + sovSet(uint64(m.TimeStamp)) - } - if len(m.ContributorsDistribution) > 0 { - for _, e := range m.ContributorsDistribution { - l = e.Size() - n += 1 + l + sovSet(uint64(l)) - } - } - if len(m.Rarities) > 0 { - for _, e := range m.Rarities { - l = e.Size() - n += 1 + l + sovSet(uint64(l)) - } - } - return n -} - -func (m *AddrWithQuantity) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Addr) - if l > 0 { - n += 1 + l + sovSet(uint64(l)) - } - if m.Q != 0 { - n += 1 + sovSet(uint64(m.Q)) - } - if m.Payment != nil { - l = m.Payment.Size() - n += 1 + l + sovSet(uint64(l)) - } - return n -} - -func sovSet(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozSet(x uint64) (n int) { - return sovSet(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Set) 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 ErrIntOverflowSet - } - 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: Set: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Set: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - 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 ErrIntOverflowSet - } - 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 ErrInvalidLengthSet - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType == 0 { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Cards = append(m.Cards, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthSet - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - 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.Cards) == 0 { - m.Cards = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Cards = append(m.Cards, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Cards", wireType) - } - 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 ErrIntOverflowSet - } - 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 ErrInvalidLengthSet - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - 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 ErrIntOverflowSet - } - 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 ErrInvalidLengthSet - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - 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 ErrIntOverflowSet - } - 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 ErrInvalidLengthSet - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Contributors = append(m.Contributors, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 6: - 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 ErrIntOverflowSet - } - 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 ErrInvalidLengthSet - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Story = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ArtworkId", wireType) - } - m.ArtworkId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ArtworkId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - m.Status = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Status |= CStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 9: - 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 ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TimeStamp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ContributorsDistribution", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthSet - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ContributorsDistribution = append(m.ContributorsDistribution, &AddrWithQuantity{}) - if err := m.ContributorsDistribution[len(m.ContributorsDistribution)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Rarities", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthSet - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Rarities = append(m.Rarities, &InnerRarities{}) - if err := m.Rarities[len(m.Rarities)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipSet(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthSet - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *InnerRarities) 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 ErrIntOverflowSet - } - 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: InnerRarities: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: InnerRarities: 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 ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.R = append(m.R, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthSet - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - 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.R) == 0 { - m.R = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.R = append(m.R, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field R", wireType) - } - default: - iNdEx = preIndex - skippy, err := skipSet(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthSet - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *OutpSet) 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 ErrIntOverflowSet - } - 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: OutpSet: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: OutpSet: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - 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 ErrIntOverflowSet - } - 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 ErrInvalidLengthSet - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType == 0 { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Cards = append(m.Cards, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthSet - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - 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.Cards) == 0 { - m.Cards = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Cards = append(m.Cards, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Cards", wireType) - } - 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 ErrIntOverflowSet - } - 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 ErrInvalidLengthSet - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - 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 ErrIntOverflowSet - } - 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 ErrInvalidLengthSet - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - 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 ErrIntOverflowSet - } - 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 ErrInvalidLengthSet - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Contributors = append(m.Contributors, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 6: - 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 ErrIntOverflowSet - } - 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 ErrInvalidLengthSet - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Story = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Artwork", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - 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 ErrInvalidLengthSet - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Artwork = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 8: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - m.Status = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Status |= CStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 9: - 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 ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TimeStamp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ContributorsDistribution", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthSet - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ContributorsDistribution = append(m.ContributorsDistribution, &AddrWithQuantity{}) - if err := m.ContributorsDistribution[len(m.ContributorsDistribution)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Rarities", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthSet - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Rarities = append(m.Rarities, &InnerRarities{}) - if err := m.Rarities[len(m.Rarities)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipSet(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthSet - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AddrWithQuantity) 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 ErrIntOverflowSet - } - 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: AddrWithQuantity: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AddrWithQuantity: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - 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 ErrInvalidLengthSet - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Addr = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Q", wireType) - } - m.Q = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Q |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Payment", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthSet - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Payment == nil { - m.Payment = &types.Coin{} - } - if err := m.Payment.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipSet(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthSet - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipSet(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, ErrIntOverflowSet - } - 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, ErrIntOverflowSet - } - 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, ErrIntOverflowSet - } - 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, ErrInvalidLengthSet - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupSet - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthSet - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - 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 deleted file mode 100644 index b163f496..00000000 --- a/x/cardchain/types/set_proposal.pb.go +++ /dev/null @@ -1,405 +0,0 @@ -// 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 deleted file mode 100644 index cdeb4a7e..00000000 --- a/x/cardchain/types/tx.pb.go +++ /dev/null @@ -1,20310 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/tx.proto - -package types - -import ( - context "context" - fmt "fmt" - 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" - 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 - -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"` - Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` -} - -func (m *MsgCreateuser) Reset() { *m = MsgCreateuser{} } -func (m *MsgCreateuser) String() string { return proto.CompactTextString(m) } -func (*MsgCreateuser) ProtoMessage() {} -func (*MsgCreateuser) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{0} -} -func (m *MsgCreateuser) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCreateuser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCreateuser.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 *MsgCreateuser) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateuser.Merge(m, src) -} -func (m *MsgCreateuser) XXX_Size() int { - return m.Size() -} -func (m *MsgCreateuser) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateuser.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCreateuser proto.InternalMessageInfo - -func (m *MsgCreateuser) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgCreateuser) GetNewUser() string { - if m != nil { - return m.NewUser - } - return "" -} - -func (m *MsgCreateuser) GetAlias() string { - if m != nil { - return m.Alias - } - return "" -} - -type MsgCreateuserResponse struct { -} - -func (m *MsgCreateuserResponse) Reset() { *m = MsgCreateuserResponse{} } -func (m *MsgCreateuserResponse) String() string { return proto.CompactTextString(m) } -func (*MsgCreateuserResponse) ProtoMessage() {} -func (*MsgCreateuserResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{1} -} -func (m *MsgCreateuserResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCreateuserResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCreateuserResponse.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 *MsgCreateuserResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateuserResponse.Merge(m, src) -} -func (m *MsgCreateuserResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgCreateuserResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateuserResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCreateuserResponse proto.InternalMessageInfo - -type MsgBuyCardScheme struct { - 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{} } -func (m *MsgBuyCardScheme) String() string { return proto.CompactTextString(m) } -func (*MsgBuyCardScheme) ProtoMessage() {} -func (*MsgBuyCardScheme) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{2} -} -func (m *MsgBuyCardScheme) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgBuyCardScheme) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgBuyCardScheme.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 *MsgBuyCardScheme) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBuyCardScheme.Merge(m, src) -} -func (m *MsgBuyCardScheme) XXX_Size() int { - return m.Size() -} -func (m *MsgBuyCardScheme) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBuyCardScheme.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgBuyCardScheme proto.InternalMessageInfo - -type MsgBuyCardSchemeResponse struct { - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` -} - -func (m *MsgBuyCardSchemeResponse) Reset() { *m = MsgBuyCardSchemeResponse{} } -func (m *MsgBuyCardSchemeResponse) String() string { return proto.CompactTextString(m) } -func (*MsgBuyCardSchemeResponse) ProtoMessage() {} -func (*MsgBuyCardSchemeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{3} -} -func (m *MsgBuyCardSchemeResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgBuyCardSchemeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgBuyCardSchemeResponse.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 *MsgBuyCardSchemeResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBuyCardSchemeResponse.Merge(m, src) -} -func (m *MsgBuyCardSchemeResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgBuyCardSchemeResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBuyCardSchemeResponse.DiscardUnknown(m) -} - -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"` - VoteType VoteType `protobuf:"varint,3,opt,name=voteType,proto3,enum=DecentralCardGame.cardchain.cardchain.VoteType" json:"voteType,omitempty"` -} - -func (m *MsgVoteCard) Reset() { *m = MsgVoteCard{} } -func (m *MsgVoteCard) String() string { return proto.CompactTextString(m) } -func (*MsgVoteCard) ProtoMessage() {} -func (*MsgVoteCard) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{4} -} -func (m *MsgVoteCard) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgVoteCard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgVoteCard.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 *MsgVoteCard) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgVoteCard.Merge(m, src) -} -func (m *MsgVoteCard) XXX_Size() int { - return m.Size() -} -func (m *MsgVoteCard) XXX_DiscardUnknown() { - xxx_messageInfo_MsgVoteCard.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgVoteCard proto.InternalMessageInfo - -func (m *MsgVoteCard) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgVoteCard) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *MsgVoteCard) GetVoteType() VoteType { - if m != nil { - return m.VoteType - } - return VoteType_fairEnough -} - -type MsgVoteCardResponse struct { - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` -} - -func (m *MsgVoteCardResponse) Reset() { *m = MsgVoteCardResponse{} } -func (m *MsgVoteCardResponse) String() string { return proto.CompactTextString(m) } -func (*MsgVoteCardResponse) ProtoMessage() {} -func (*MsgVoteCardResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{5} -} -func (m *MsgVoteCardResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgVoteCardResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgVoteCardResponse.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 *MsgVoteCardResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgVoteCardResponse.Merge(m, src) -} -func (m *MsgVoteCardResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgVoteCardResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgVoteCardResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgVoteCardResponse proto.InternalMessageInfo - -func (m *MsgVoteCardResponse) GetAirdropClaimed() bool { - if m != nil { - return m.AirdropClaimed - } - return false -} - -type MsgSaveCardContent 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"` - 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"` - BalanceAnchor bool `protobuf:"varint,6,opt,name=balanceAnchor,proto3" json:"balanceAnchor,omitempty"` -} - -func (m *MsgSaveCardContent) Reset() { *m = MsgSaveCardContent{} } -func (m *MsgSaveCardContent) String() string { return proto.CompactTextString(m) } -func (*MsgSaveCardContent) ProtoMessage() {} -func (*MsgSaveCardContent) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{6} -} -func (m *MsgSaveCardContent) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSaveCardContent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSaveCardContent.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 *MsgSaveCardContent) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSaveCardContent.Merge(m, src) -} -func (m *MsgSaveCardContent) XXX_Size() int { - return m.Size() -} -func (m *MsgSaveCardContent) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSaveCardContent.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSaveCardContent proto.InternalMessageInfo - -func (m *MsgSaveCardContent) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgSaveCardContent) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *MsgSaveCardContent) GetContent() []byte { - if m != nil { - return m.Content - } - return nil -} - -func (m *MsgSaveCardContent) GetNotes() string { - if m != nil { - return m.Notes - } - return "" -} - -func (m *MsgSaveCardContent) GetArtist() string { - if m != nil { - return m.Artist - } - 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"` -} - -func (m *MsgSaveCardContentResponse) Reset() { *m = MsgSaveCardContentResponse{} } -func (m *MsgSaveCardContentResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSaveCardContentResponse) ProtoMessage() {} -func (*MsgSaveCardContentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{7} -} -func (m *MsgSaveCardContentResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSaveCardContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSaveCardContentResponse.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 *MsgSaveCardContentResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSaveCardContentResponse.Merge(m, src) -} -func (m *MsgSaveCardContentResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgSaveCardContentResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSaveCardContentResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSaveCardContentResponse proto.InternalMessageInfo - -func (m *MsgSaveCardContentResponse) GetAirdropClaimed() bool { - if m != nil { - return m.AirdropClaimed - } - return false -} - -type MsgTransferCard 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"` - Receiver string `protobuf:"bytes,4,opt,name=receiver,proto3" json:"receiver,omitempty"` -} - -func (m *MsgTransferCard) Reset() { *m = MsgTransferCard{} } -func (m *MsgTransferCard) String() string { return proto.CompactTextString(m) } -func (*MsgTransferCard) ProtoMessage() {} -func (*MsgTransferCard) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{8} -} -func (m *MsgTransferCard) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgTransferCard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgTransferCard.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 *MsgTransferCard) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgTransferCard.Merge(m, src) -} -func (m *MsgTransferCard) XXX_Size() int { - return m.Size() -} -func (m *MsgTransferCard) XXX_DiscardUnknown() { - xxx_messageInfo_MsgTransferCard.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgTransferCard proto.InternalMessageInfo - -func (m *MsgTransferCard) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgTransferCard) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *MsgTransferCard) GetReceiver() string { - if m != nil { - return m.Receiver - } - return "" -} - -type MsgTransferCardResponse struct { -} - -func (m *MsgTransferCardResponse) Reset() { *m = MsgTransferCardResponse{} } -func (m *MsgTransferCardResponse) String() string { return proto.CompactTextString(m) } -func (*MsgTransferCardResponse) ProtoMessage() {} -func (*MsgTransferCardResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{9} -} -func (m *MsgTransferCardResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgTransferCardResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgTransferCardResponse.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 *MsgTransferCardResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgTransferCardResponse.Merge(m, src) -} -func (m *MsgTransferCardResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgTransferCardResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgTransferCardResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgTransferCardResponse proto.InternalMessageInfo - -type MsgDonateToCard 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"` - Amount github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,3,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"amount"` -} - -func (m *MsgDonateToCard) Reset() { *m = MsgDonateToCard{} } -func (m *MsgDonateToCard) String() string { return proto.CompactTextString(m) } -func (*MsgDonateToCard) ProtoMessage() {} -func (*MsgDonateToCard) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{10} -} -func (m *MsgDonateToCard) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgDonateToCard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgDonateToCard.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 *MsgDonateToCard) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgDonateToCard.Merge(m, src) -} -func (m *MsgDonateToCard) XXX_Size() int { - return m.Size() -} -func (m *MsgDonateToCard) XXX_DiscardUnknown() { - xxx_messageInfo_MsgDonateToCard.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgDonateToCard proto.InternalMessageInfo - -func (m *MsgDonateToCard) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgDonateToCard) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -type MsgDonateToCardResponse struct { -} - -func (m *MsgDonateToCardResponse) Reset() { *m = MsgDonateToCardResponse{} } -func (m *MsgDonateToCardResponse) String() string { return proto.CompactTextString(m) } -func (*MsgDonateToCardResponse) ProtoMessage() {} -func (*MsgDonateToCardResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{11} -} -func (m *MsgDonateToCardResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgDonateToCardResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgDonateToCardResponse.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 *MsgDonateToCardResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgDonateToCardResponse.Merge(m, src) -} -func (m *MsgDonateToCardResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgDonateToCardResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgDonateToCardResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgDonateToCardResponse proto.InternalMessageInfo - -type MsgAddArtwork 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"` - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` - FullArt bool `protobuf:"varint,4,opt,name=fullArt,proto3" json:"fullArt,omitempty"` -} - -func (m *MsgAddArtwork) Reset() { *m = MsgAddArtwork{} } -func (m *MsgAddArtwork) String() string { return proto.CompactTextString(m) } -func (*MsgAddArtwork) ProtoMessage() {} -func (*MsgAddArtwork) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{12} -} -func (m *MsgAddArtwork) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgAddArtwork) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgAddArtwork.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 *MsgAddArtwork) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddArtwork.Merge(m, src) -} -func (m *MsgAddArtwork) XXX_Size() int { - return m.Size() -} -func (m *MsgAddArtwork) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddArtwork.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgAddArtwork proto.InternalMessageInfo - -func (m *MsgAddArtwork) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgAddArtwork) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *MsgAddArtwork) GetImage() []byte { - if m != nil { - return m.Image - } - return nil -} - -func (m *MsgAddArtwork) GetFullArt() bool { - if m != nil { - return m.FullArt - } - return false -} - -type MsgAddArtworkResponse struct { -} - -func (m *MsgAddArtworkResponse) Reset() { *m = MsgAddArtworkResponse{} } -func (m *MsgAddArtworkResponse) String() string { return proto.CompactTextString(m) } -func (*MsgAddArtworkResponse) ProtoMessage() {} -func (*MsgAddArtworkResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{13} -} -func (m *MsgAddArtworkResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgAddArtworkResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgAddArtworkResponse.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 *MsgAddArtworkResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddArtworkResponse.Merge(m, src) -} -func (m *MsgAddArtworkResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgAddArtworkResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddArtworkResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgAddArtworkResponse 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"` - Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,omitempty"` -} - -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{14} -} -func (m *MsgChangeArtist) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgChangeArtist) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgChangeArtist.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 *MsgChangeArtist) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgChangeArtist.Merge(m, src) -} -func (m *MsgChangeArtist) XXX_Size() int { - return m.Size() -} -func (m *MsgChangeArtist) XXX_DiscardUnknown() { - xxx_messageInfo_MsgChangeArtist.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgChangeArtist proto.InternalMessageInfo - -func (m *MsgChangeArtist) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgChangeArtist) GetCardID() uint64 { - if m != nil { - return m.CardID - } - return 0 -} - -func (m *MsgChangeArtist) GetArtist() string { - if m != nil { - return m.Artist - } - return "" -} - -type MsgChangeArtistResponse struct { -} - -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{15} -} -func (m *MsgChangeArtistResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgChangeArtistResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgChangeArtistResponse.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 *MsgChangeArtistResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgChangeArtistResponse.Merge(m, src) -} -func (m *MsgChangeArtistResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgChangeArtistResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgChangeArtistResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgChangeArtistResponse proto.InternalMessageInfo - -type MsgRegisterForCouncil struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` -} - -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{16} -} -func (m *MsgRegisterForCouncil) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRegisterForCouncil) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRegisterForCouncil.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 *MsgRegisterForCouncil) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRegisterForCouncil.Merge(m, src) -} -func (m *MsgRegisterForCouncil) XXX_Size() int { - return m.Size() -} -func (m *MsgRegisterForCouncil) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRegisterForCouncil.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRegisterForCouncil proto.InternalMessageInfo - -func (m *MsgRegisterForCouncil) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -type MsgRegisterForCouncilResponse struct { -} - -func (m *MsgRegisterForCouncilResponse) Reset() { *m = MsgRegisterForCouncilResponse{} } -func (m *MsgRegisterForCouncilResponse) String() string { return proto.CompactTextString(m) } -func (*MsgRegisterForCouncilResponse) ProtoMessage() {} -func (*MsgRegisterForCouncilResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{17} -} -func (m *MsgRegisterForCouncilResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRegisterForCouncilResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRegisterForCouncilResponse.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 *MsgRegisterForCouncilResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRegisterForCouncilResponse.Merge(m, src) -} -func (m *MsgRegisterForCouncilResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgRegisterForCouncilResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRegisterForCouncilResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRegisterForCouncilResponse proto.InternalMessageInfo - -type MsgReportMatch 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"` - 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{18} -} -func (m *MsgReportMatch) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgReportMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgReportMatch.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 *MsgReportMatch) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgReportMatch.Merge(m, src) -} -func (m *MsgReportMatch) XXX_Size() int { - return m.Size() -} -func (m *MsgReportMatch) XXX_DiscardUnknown() { - xxx_messageInfo_MsgReportMatch.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgReportMatch proto.InternalMessageInfo - -func (m *MsgReportMatch) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgReportMatch) GetMatchId() uint64 { - if m != nil { - return m.MatchId - } - return 0 -} - -func (m *MsgReportMatch) GetPlayedCardsA() []uint64 { - if m != nil { - return m.PlayedCardsA - } - return nil -} - -func (m *MsgReportMatch) GetPlayedCardsB() []uint64 { - if m != nil { - return m.PlayedCardsB - } - return nil -} - -func (m *MsgReportMatch) GetOutcome() Outcome { - if m != nil { - return m.Outcome - } - return Outcome_AWon -} - -type MsgReportMatchResponse struct { - MatchId uint64 `protobuf:"varint,1,opt,name=matchId,proto3" json:"matchId,omitempty"` -} - -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{19} -} -func (m *MsgReportMatchResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgReportMatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgReportMatchResponse.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 *MsgReportMatchResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgReportMatchResponse.Merge(m, src) -} -func (m *MsgReportMatchResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgReportMatchResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgReportMatchResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgReportMatchResponse proto.InternalMessageInfo - -func (m *MsgReportMatchResponse) GetMatchId() uint64 { - if m != nil { - return m.MatchId - } - return 0 -} - -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"` -} - -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{20} -} -func (m *MsgApointMatchReporter) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgApointMatchReporter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgApointMatchReporter.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 *MsgApointMatchReporter) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgApointMatchReporter.Merge(m, src) -} -func (m *MsgApointMatchReporter) XXX_Size() int { - return m.Size() -} -func (m *MsgApointMatchReporter) XXX_DiscardUnknown() { - xxx_messageInfo_MsgApointMatchReporter.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgApointMatchReporter proto.InternalMessageInfo - -func (m *MsgApointMatchReporter) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgApointMatchReporter) GetReporter() string { - if m != nil { - return m.Reporter - } - return "" -} - -type MsgApointMatchReporterResponse struct { -} - -func (m *MsgApointMatchReporterResponse) Reset() { *m = MsgApointMatchReporterResponse{} } -func (m *MsgApointMatchReporterResponse) String() string { return proto.CompactTextString(m) } -func (*MsgApointMatchReporterResponse) ProtoMessage() {} -func (*MsgApointMatchReporterResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{21} -} -func (m *MsgApointMatchReporterResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgApointMatchReporterResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgApointMatchReporterResponse.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 *MsgApointMatchReporterResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgApointMatchReporterResponse.Merge(m, src) -} -func (m *MsgApointMatchReporterResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgApointMatchReporterResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgApointMatchReporterResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgApointMatchReporterResponse proto.InternalMessageInfo - -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"` - StoryWriter string `protobuf:"bytes,4,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` - Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` -} - -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 *MsgCreateSet) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCreateSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCreateSet.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 *MsgCreateSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateSet.Merge(m, src) -} -func (m *MsgCreateSet) XXX_Size() int { - return m.Size() -} -func (m *MsgCreateSet) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateSet.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCreateSet proto.InternalMessageInfo - -func (m *MsgCreateSet) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgCreateSet) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *MsgCreateSet) GetArtist() string { - if m != nil { - return m.Artist - } - return "" -} - -func (m *MsgCreateSet) GetStoryWriter() string { - if m != nil { - return m.StoryWriter - } - return "" -} - -func (m *MsgCreateSet) GetContributors() []string { - if m != nil { - return m.Contributors - } - return nil -} - -type MsgCreateSetResponse struct { -} - -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 *MsgCreateSetResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCreateSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCreateSetResponse.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 *MsgCreateSetResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateSetResponse.Merge(m, src) -} -func (m *MsgCreateSetResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgCreateSetResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateSetResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCreateSetResponse proto.InternalMessageInfo - -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 *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 *MsgAddCardToSet) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgAddCardToSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgAddCardToSet.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 *MsgAddCardToSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddCardToSet.Merge(m, src) -} -func (m *MsgAddCardToSet) XXX_Size() int { - return m.Size() -} -func (m *MsgAddCardToSet) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddCardToSet.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgAddCardToSet proto.InternalMessageInfo - -func (m *MsgAddCardToSet) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgAddCardToSet) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -func (m *MsgAddCardToSet) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -type MsgAddCardToSetResponse struct { -} - -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 *MsgAddCardToSetResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgAddCardToSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgAddCardToSetResponse.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 *MsgAddCardToSetResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddCardToSetResponse.Merge(m, src) -} -func (m *MsgAddCardToSetResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgAddCardToSetResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddCardToSetResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgAddCardToSetResponse proto.InternalMessageInfo - -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 *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 *MsgFinalizeSet) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgFinalizeSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgFinalizeSet.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 *MsgFinalizeSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgFinalizeSet.Merge(m, src) -} -func (m *MsgFinalizeSet) XXX_Size() int { - return m.Size() -} -func (m *MsgFinalizeSet) XXX_DiscardUnknown() { - xxx_messageInfo_MsgFinalizeSet.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgFinalizeSet proto.InternalMessageInfo - -func (m *MsgFinalizeSet) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgFinalizeSet) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -type MsgFinalizeSetResponse struct { -} - -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 *MsgFinalizeSetResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgFinalizeSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgFinalizeSetResponse.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 *MsgFinalizeSetResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgFinalizeSetResponse.Merge(m, src) -} -func (m *MsgFinalizeSetResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgFinalizeSetResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgFinalizeSetResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgFinalizeSetResponse proto.InternalMessageInfo - -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 *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 *MsgBuyBoosterPack) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgBuyBoosterPack) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgBuyBoosterPack.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 *MsgBuyBoosterPack) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBuyBoosterPack.Merge(m, src) -} -func (m *MsgBuyBoosterPack) XXX_Size() int { - return m.Size() -} -func (m *MsgBuyBoosterPack) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBuyBoosterPack.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgBuyBoosterPack proto.InternalMessageInfo - -func (m *MsgBuyBoosterPack) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgBuyBoosterPack) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -type MsgBuyBoosterPackResponse struct { - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` -} - -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 *MsgBuyBoosterPackResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgBuyBoosterPackResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgBuyBoosterPackResponse.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 *MsgBuyBoosterPackResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBuyBoosterPackResponse.Merge(m, src) -} -func (m *MsgBuyBoosterPackResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgBuyBoosterPackResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBuyBoosterPackResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgBuyBoosterPackResponse proto.InternalMessageInfo - -func (m *MsgBuyBoosterPackResponse) GetAirdropClaimed() bool { - if m != nil { - return m.AirdropClaimed - } - return false -} - -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 *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 *MsgRemoveCardFromSet) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRemoveCardFromSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRemoveCardFromSet.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 *MsgRemoveCardFromSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveCardFromSet.Merge(m, src) -} -func (m *MsgRemoveCardFromSet) XXX_Size() int { - return m.Size() -} -func (m *MsgRemoveCardFromSet) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveCardFromSet.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRemoveCardFromSet proto.InternalMessageInfo - -func (m *MsgRemoveCardFromSet) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgRemoveCardFromSet) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -func (m *MsgRemoveCardFromSet) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -type MsgRemoveCardFromSetResponse struct { -} - -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 *MsgRemoveCardFromSetResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRemoveCardFromSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRemoveCardFromSetResponse.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 *MsgRemoveCardFromSetResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveCardFromSetResponse.Merge(m, src) -} -func (m *MsgRemoveCardFromSetResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgRemoveCardFromSetResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveCardFromSetResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRemoveCardFromSetResponse proto.InternalMessageInfo - -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 *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 *MsgRemoveContributorFromSet) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRemoveContributorFromSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRemoveContributorFromSet.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 *MsgRemoveContributorFromSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveContributorFromSet.Merge(m, src) -} -func (m *MsgRemoveContributorFromSet) XXX_Size() int { - return m.Size() -} -func (m *MsgRemoveContributorFromSet) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveContributorFromSet.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRemoveContributorFromSet proto.InternalMessageInfo - -func (m *MsgRemoveContributorFromSet) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgRemoveContributorFromSet) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -func (m *MsgRemoveContributorFromSet) GetUser() string { - if m != nil { - return m.User - } - return "" -} - -type MsgRemoveContributorFromSetResponse struct { -} - -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 *MsgRemoveContributorFromSetResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRemoveContributorFromSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRemoveContributorFromSetResponse.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 *MsgRemoveContributorFromSetResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveContributorFromSetResponse.Merge(m, src) -} -func (m *MsgRemoveContributorFromSetResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgRemoveContributorFromSetResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveContributorFromSetResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRemoveContributorFromSetResponse proto.InternalMessageInfo - -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 *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 *MsgAddContributorToSet) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgAddContributorToSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgAddContributorToSet.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 *MsgAddContributorToSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddContributorToSet.Merge(m, src) -} -func (m *MsgAddContributorToSet) XXX_Size() int { - return m.Size() -} -func (m *MsgAddContributorToSet) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddContributorToSet.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgAddContributorToSet proto.InternalMessageInfo - -func (m *MsgAddContributorToSet) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgAddContributorToSet) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -func (m *MsgAddContributorToSet) GetUser() string { - if m != nil { - return m.User - } - return "" -} - -type MsgAddContributorToSetResponse struct { -} - -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 *MsgAddContributorToSetResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgAddContributorToSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgAddContributorToSetResponse.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 *MsgAddContributorToSetResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddContributorToSetResponse.Merge(m, src) -} -func (m *MsgAddContributorToSetResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgAddContributorToSetResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddContributorToSetResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgAddContributorToSetResponse 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{36} -} -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 { -} - -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{37} -} -func (m *MsgCreateSellOfferResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCreateSellOfferResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCreateSellOfferResponse.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 *MsgCreateSellOfferResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateSellOfferResponse.Merge(m, src) -} -func (m *MsgCreateSellOfferResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgCreateSellOfferResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateSellOfferResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCreateSellOfferResponse proto.InternalMessageInfo - -type MsgBuyCard struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` -} - -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{38} -} -func (m *MsgBuyCard) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgBuyCard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgBuyCard.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 *MsgBuyCard) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBuyCard.Merge(m, src) -} -func (m *MsgBuyCard) XXX_Size() int { - return m.Size() -} -func (m *MsgBuyCard) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBuyCard.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgBuyCard proto.InternalMessageInfo - -func (m *MsgBuyCard) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgBuyCard) GetSellOfferId() uint64 { - if m != nil { - return m.SellOfferId - } - return 0 -} - -type MsgBuyCardResponse struct { -} - -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{39} -} -func (m *MsgBuyCardResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgBuyCardResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgBuyCardResponse.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 *MsgBuyCardResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBuyCardResponse.Merge(m, src) -} -func (m *MsgBuyCardResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgBuyCardResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBuyCardResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgBuyCardResponse proto.InternalMessageInfo - -type MsgRemoveSellOffer struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` -} - -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{40} -} -func (m *MsgRemoveSellOffer) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRemoveSellOffer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRemoveSellOffer.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 *MsgRemoveSellOffer) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveSellOffer.Merge(m, src) -} -func (m *MsgRemoveSellOffer) XXX_Size() int { - return m.Size() -} -func (m *MsgRemoveSellOffer) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveSellOffer.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRemoveSellOffer proto.InternalMessageInfo - -func (m *MsgRemoveSellOffer) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgRemoveSellOffer) GetSellOfferId() uint64 { - if m != nil { - return m.SellOfferId - } - return 0 -} - -type MsgRemoveSellOfferResponse struct { -} - -func (m *MsgRemoveSellOfferResponse) Reset() { *m = MsgRemoveSellOfferResponse{} } -func (m *MsgRemoveSellOfferResponse) String() string { return proto.CompactTextString(m) } -func (*MsgRemoveSellOfferResponse) ProtoMessage() {} -func (*MsgRemoveSellOfferResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{41} -} -func (m *MsgRemoveSellOfferResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRemoveSellOfferResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRemoveSellOfferResponse.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 *MsgRemoveSellOfferResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveSellOfferResponse.Merge(m, src) -} -func (m *MsgRemoveSellOfferResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgRemoveSellOfferResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveSellOfferResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRemoveSellOfferResponse proto.InternalMessageInfo - -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 *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 *MsgAddArtworkToSet) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgAddArtworkToSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgAddArtworkToSet.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 *MsgAddArtworkToSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddArtworkToSet.Merge(m, src) -} -func (m *MsgAddArtworkToSet) XXX_Size() int { - return m.Size() -} -func (m *MsgAddArtworkToSet) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddArtworkToSet.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgAddArtworkToSet proto.InternalMessageInfo - -func (m *MsgAddArtworkToSet) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgAddArtworkToSet) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -func (m *MsgAddArtworkToSet) GetImage() []byte { - if m != nil { - return m.Image - } - return nil -} - -type MsgAddArtworkToSetResponse struct { -} - -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 *MsgAddArtworkToSetResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgAddArtworkToSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgAddArtworkToSetResponse.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 *MsgAddArtworkToSetResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddArtworkToSetResponse.Merge(m, src) -} -func (m *MsgAddArtworkToSetResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgAddArtworkToSetResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddArtworkToSetResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgAddArtworkToSetResponse proto.InternalMessageInfo - -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 *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 *MsgAddStoryToSet) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgAddStoryToSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgAddStoryToSet.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 *MsgAddStoryToSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddStoryToSet.Merge(m, src) -} -func (m *MsgAddStoryToSet) XXX_Size() int { - return m.Size() -} -func (m *MsgAddStoryToSet) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddStoryToSet.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgAddStoryToSet proto.InternalMessageInfo - -func (m *MsgAddStoryToSet) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgAddStoryToSet) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -func (m *MsgAddStoryToSet) GetStory() string { - if m != nil { - return m.Story - } - return "" -} - -type MsgAddStoryToSetResponse struct { -} - -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 *MsgAddStoryToSetResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgAddStoryToSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgAddStoryToSetResponse.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 *MsgAddStoryToSetResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddStoryToSetResponse.Merge(m, src) -} -func (m *MsgAddStoryToSetResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgAddStoryToSetResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddStoryToSetResponse.DiscardUnknown(m) -} - -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"` - 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{46} -} -func (m *MsgSetCardRarity) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetCardRarity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetCardRarity.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 *MsgSetCardRarity) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetCardRarity.Merge(m, src) -} -func (m *MsgSetCardRarity) XXX_Size() int { - return m.Size() -} -func (m *MsgSetCardRarity) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetCardRarity.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetCardRarity proto.InternalMessageInfo - -func (m *MsgSetCardRarity) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgSetCardRarity) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *MsgSetCardRarity) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -func (m *MsgSetCardRarity) GetRarity() CardRarity { - if m != nil { - return m.Rarity - } - return CardRarity_common -} - -type MsgSetCardRarityResponse struct { -} - -func (m *MsgSetCardRarityResponse) Reset() { *m = MsgSetCardRarityResponse{} } -func (m *MsgSetCardRarityResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSetCardRarityResponse) ProtoMessage() {} -func (*MsgSetCardRarityResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{47} -} -func (m *MsgSetCardRarityResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetCardRarityResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetCardRarityResponse.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 *MsgSetCardRarityResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetCardRarityResponse.Merge(m, src) -} -func (m *MsgSetCardRarityResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgSetCardRarityResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetCardRarityResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetCardRarityResponse proto.InternalMessageInfo - -type MsgCreateCouncil 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"` -} - -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{48} -} -func (m *MsgCreateCouncil) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCreateCouncil) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCreateCouncil.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 *MsgCreateCouncil) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateCouncil.Merge(m, src) -} -func (m *MsgCreateCouncil) XXX_Size() int { - return m.Size() -} -func (m *MsgCreateCouncil) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateCouncil.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCreateCouncil proto.InternalMessageInfo - -func (m *MsgCreateCouncil) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgCreateCouncil) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -type MsgCreateCouncilResponse struct { -} - -func (m *MsgCreateCouncilResponse) Reset() { *m = MsgCreateCouncilResponse{} } -func (m *MsgCreateCouncilResponse) String() string { return proto.CompactTextString(m) } -func (*MsgCreateCouncilResponse) ProtoMessage() {} -func (*MsgCreateCouncilResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{49} -} -func (m *MsgCreateCouncilResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCreateCouncilResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCreateCouncilResponse.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 *MsgCreateCouncilResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateCouncilResponse.Merge(m, src) -} -func (m *MsgCreateCouncilResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgCreateCouncilResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateCouncilResponse.DiscardUnknown(m) -} - -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"` - CouncilId uint64 `protobuf:"varint,3,opt,name=councilId,proto3" json:"councilId,omitempty"` - Suggestion string `protobuf:"bytes,4,opt,name=suggestion,proto3" json:"suggestion,omitempty"` -} - -func (m *MsgCommitCouncilResponse) Reset() { *m = MsgCommitCouncilResponse{} } -func (m *MsgCommitCouncilResponse) String() string { return proto.CompactTextString(m) } -func (*MsgCommitCouncilResponse) ProtoMessage() {} -func (*MsgCommitCouncilResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{50} -} -func (m *MsgCommitCouncilResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCommitCouncilResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCommitCouncilResponse.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 *MsgCommitCouncilResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCommitCouncilResponse.Merge(m, src) -} -func (m *MsgCommitCouncilResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgCommitCouncilResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCommitCouncilResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCommitCouncilResponse proto.InternalMessageInfo - -func (m *MsgCommitCouncilResponse) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgCommitCouncilResponse) GetResponse() string { - if m != nil { - return m.Response - } - return "" -} - -func (m *MsgCommitCouncilResponse) GetCouncilId() uint64 { - if m != nil { - return m.CouncilId - } - return 0 -} - -func (m *MsgCommitCouncilResponse) GetSuggestion() string { - if m != nil { - return m.Suggestion - } - return "" -} - -type MsgCommitCouncilResponseResponse struct { -} - -func (m *MsgCommitCouncilResponseResponse) Reset() { *m = MsgCommitCouncilResponseResponse{} } -func (m *MsgCommitCouncilResponseResponse) String() string { return proto.CompactTextString(m) } -func (*MsgCommitCouncilResponseResponse) ProtoMessage() {} -func (*MsgCommitCouncilResponseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{51} -} -func (m *MsgCommitCouncilResponseResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCommitCouncilResponseResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCommitCouncilResponseResponse.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 *MsgCommitCouncilResponseResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCommitCouncilResponseResponse.Merge(m, src) -} -func (m *MsgCommitCouncilResponseResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgCommitCouncilResponseResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCommitCouncilResponseResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCommitCouncilResponseResponse proto.InternalMessageInfo - -type MsgRevealCouncilResponse struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Response Response `protobuf:"varint,2,opt,name=response,proto3,enum=DecentralCardGame.cardchain.cardchain.Response" json:"response,omitempty"` - Secret string `protobuf:"bytes,3,opt,name=secret,proto3" json:"secret,omitempty"` - CouncilId uint64 `protobuf:"varint,4,opt,name=councilId,proto3" json:"councilId,omitempty"` -} - -func (m *MsgRevealCouncilResponse) Reset() { *m = MsgRevealCouncilResponse{} } -func (m *MsgRevealCouncilResponse) String() string { return proto.CompactTextString(m) } -func (*MsgRevealCouncilResponse) ProtoMessage() {} -func (*MsgRevealCouncilResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{52} -} -func (m *MsgRevealCouncilResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRevealCouncilResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRevealCouncilResponse.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 *MsgRevealCouncilResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRevealCouncilResponse.Merge(m, src) -} -func (m *MsgRevealCouncilResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgRevealCouncilResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRevealCouncilResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRevealCouncilResponse proto.InternalMessageInfo - -func (m *MsgRevealCouncilResponse) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgRevealCouncilResponse) GetResponse() Response { - if m != nil { - return m.Response - } - return Response_Yes -} - -func (m *MsgRevealCouncilResponse) GetSecret() string { - if m != nil { - return m.Secret - } - return "" -} - -func (m *MsgRevealCouncilResponse) GetCouncilId() uint64 { - if m != nil { - return m.CouncilId - } - return 0 -} - -type MsgRevealCouncilResponseResponse struct { -} - -func (m *MsgRevealCouncilResponseResponse) Reset() { *m = MsgRevealCouncilResponseResponse{} } -func (m *MsgRevealCouncilResponseResponse) String() string { return proto.CompactTextString(m) } -func (*MsgRevealCouncilResponseResponse) ProtoMessage() {} -func (*MsgRevealCouncilResponseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{53} -} -func (m *MsgRevealCouncilResponseResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRevealCouncilResponseResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRevealCouncilResponseResponse.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 *MsgRevealCouncilResponseResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRevealCouncilResponseResponse.Merge(m, src) -} -func (m *MsgRevealCouncilResponseResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgRevealCouncilResponseResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRevealCouncilResponseResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRevealCouncilResponseResponse proto.InternalMessageInfo - -type MsgRestartCouncil struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` -} - -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{54} -} -func (m *MsgRestartCouncil) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRestartCouncil) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRestartCouncil.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 *MsgRestartCouncil) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRestartCouncil.Merge(m, src) -} -func (m *MsgRestartCouncil) XXX_Size() int { - return m.Size() -} -func (m *MsgRestartCouncil) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRestartCouncil.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRestartCouncil proto.InternalMessageInfo - -func (m *MsgRestartCouncil) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgRestartCouncil) GetCouncilId() uint64 { - if m != nil { - return m.CouncilId - } - return 0 -} - -type MsgRestartCouncilResponse struct { -} - -func (m *MsgRestartCouncilResponse) Reset() { *m = MsgRestartCouncilResponse{} } -func (m *MsgRestartCouncilResponse) String() string { return proto.CompactTextString(m) } -func (*MsgRestartCouncilResponse) ProtoMessage() {} -func (*MsgRestartCouncilResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{55} -} -func (m *MsgRestartCouncilResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRestartCouncilResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRestartCouncilResponse.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 *MsgRestartCouncilResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRestartCouncilResponse.Merge(m, src) -} -func (m *MsgRestartCouncilResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgRestartCouncilResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRestartCouncilResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRestartCouncilResponse proto.InternalMessageInfo - -type MsgRewokeCouncilRegistration struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` -} - -func (m *MsgRewokeCouncilRegistration) Reset() { *m = MsgRewokeCouncilRegistration{} } -func (m *MsgRewokeCouncilRegistration) String() string { return proto.CompactTextString(m) } -func (*MsgRewokeCouncilRegistration) ProtoMessage() {} -func (*MsgRewokeCouncilRegistration) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{56} -} -func (m *MsgRewokeCouncilRegistration) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRewokeCouncilRegistration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRewokeCouncilRegistration.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 *MsgRewokeCouncilRegistration) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRewokeCouncilRegistration.Merge(m, src) -} -func (m *MsgRewokeCouncilRegistration) XXX_Size() int { - return m.Size() -} -func (m *MsgRewokeCouncilRegistration) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRewokeCouncilRegistration.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRewokeCouncilRegistration proto.InternalMessageInfo - -func (m *MsgRewokeCouncilRegistration) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -type MsgRewokeCouncilRegistrationResponse struct { -} - -func (m *MsgRewokeCouncilRegistrationResponse) Reset() { *m = MsgRewokeCouncilRegistrationResponse{} } -func (m *MsgRewokeCouncilRegistrationResponse) String() string { return proto.CompactTextString(m) } -func (*MsgRewokeCouncilRegistrationResponse) ProtoMessage() {} -func (*MsgRewokeCouncilRegistrationResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{57} -} -func (m *MsgRewokeCouncilRegistrationResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRewokeCouncilRegistrationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRewokeCouncilRegistrationResponse.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 *MsgRewokeCouncilRegistrationResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRewokeCouncilRegistrationResponse.Merge(m, src) -} -func (m *MsgRewokeCouncilRegistrationResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgRewokeCouncilRegistrationResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRewokeCouncilRegistrationResponse.DiscardUnknown(m) -} - -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"` - 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{58} -} -func (m *MsgConfirmMatch) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgConfirmMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgConfirmMatch.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 *MsgConfirmMatch) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgConfirmMatch.Merge(m, src) -} -func (m *MsgConfirmMatch) XXX_Size() int { - return m.Size() -} -func (m *MsgConfirmMatch) XXX_DiscardUnknown() { - xxx_messageInfo_MsgConfirmMatch.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgConfirmMatch proto.InternalMessageInfo - -func (m *MsgConfirmMatch) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgConfirmMatch) GetMatchId() uint64 { - if m != nil { - return m.MatchId - } - return 0 -} - -func (m *MsgConfirmMatch) GetOutcome() Outcome { - if m != nil { - return m.Outcome - } - return Outcome_AWon -} - -func (m *MsgConfirmMatch) GetVotedCards() []*SingleVote { - if m != nil { - return m.VotedCards - } - return nil -} - -type MsgConfirmMatchResponse struct { -} - -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{59} -} -func (m *MsgConfirmMatchResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgConfirmMatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgConfirmMatchResponse.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 *MsgConfirmMatchResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgConfirmMatchResponse.Merge(m, src) -} -func (m *MsgConfirmMatchResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgConfirmMatchResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgConfirmMatchResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgConfirmMatchResponse proto.InternalMessageInfo - -type MsgSetProfileCard 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"` -} - -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{60} -} -func (m *MsgSetProfileCard) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetProfileCard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetProfileCard.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 *MsgSetProfileCard) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetProfileCard.Merge(m, src) -} -func (m *MsgSetProfileCard) XXX_Size() int { - return m.Size() -} -func (m *MsgSetProfileCard) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetProfileCard.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetProfileCard proto.InternalMessageInfo - -func (m *MsgSetProfileCard) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgSetProfileCard) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -type MsgSetProfileCardResponse struct { -} - -func (m *MsgSetProfileCardResponse) Reset() { *m = MsgSetProfileCardResponse{} } -func (m *MsgSetProfileCardResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSetProfileCardResponse) ProtoMessage() {} -func (*MsgSetProfileCardResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{61} -} -func (m *MsgSetProfileCardResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetProfileCardResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetProfileCardResponse.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 *MsgSetProfileCardResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetProfileCardResponse.Merge(m, src) -} -func (m *MsgSetProfileCardResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgSetProfileCardResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetProfileCardResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetProfileCardResponse proto.InternalMessageInfo - -type MsgOpenBoosterPack 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"` -} - -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{62} -} -func (m *MsgOpenBoosterPack) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgOpenBoosterPack) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgOpenBoosterPack.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 *MsgOpenBoosterPack) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgOpenBoosterPack.Merge(m, src) -} -func (m *MsgOpenBoosterPack) XXX_Size() int { - return m.Size() -} -func (m *MsgOpenBoosterPack) XXX_DiscardUnknown() { - xxx_messageInfo_MsgOpenBoosterPack.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgOpenBoosterPack proto.InternalMessageInfo - -func (m *MsgOpenBoosterPack) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgOpenBoosterPack) GetBoosterPackId() uint64 { - if m != nil { - return m.BoosterPackId - } - return 0 -} - -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{63} -} -func (m *MsgOpenBoosterPackResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgOpenBoosterPackResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgOpenBoosterPackResponse.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 *MsgOpenBoosterPackResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgOpenBoosterPackResponse.Merge(m, src) -} -func (m *MsgOpenBoosterPackResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgOpenBoosterPackResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgOpenBoosterPackResponse.DiscardUnknown(m) -} - -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"` - Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` -} - -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{64} -} -func (m *MsgTransferBoosterPack) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgTransferBoosterPack) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgTransferBoosterPack.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 *MsgTransferBoosterPack) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgTransferBoosterPack.Merge(m, src) -} -func (m *MsgTransferBoosterPack) XXX_Size() int { - return m.Size() -} -func (m *MsgTransferBoosterPack) XXX_DiscardUnknown() { - xxx_messageInfo_MsgTransferBoosterPack.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgTransferBoosterPack proto.InternalMessageInfo - -func (m *MsgTransferBoosterPack) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgTransferBoosterPack) GetBoosterPackId() uint64 { - if m != nil { - return m.BoosterPackId - } - return 0 -} - -func (m *MsgTransferBoosterPack) GetReceiver() string { - if m != nil { - return m.Receiver - } - return "" -} - -type MsgTransferBoosterPackResponse struct { -} - -func (m *MsgTransferBoosterPackResponse) Reset() { *m = MsgTransferBoosterPackResponse{} } -func (m *MsgTransferBoosterPackResponse) String() string { return proto.CompactTextString(m) } -func (*MsgTransferBoosterPackResponse) ProtoMessage() {} -func (*MsgTransferBoosterPackResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{65} -} -func (m *MsgTransferBoosterPackResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgTransferBoosterPackResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgTransferBoosterPackResponse.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 *MsgTransferBoosterPackResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgTransferBoosterPackResponse.Merge(m, src) -} -func (m *MsgTransferBoosterPackResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgTransferBoosterPackResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgTransferBoosterPackResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgTransferBoosterPackResponse proto.InternalMessageInfo - -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 *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 *MsgSetSetStoryWriter) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetSetStoryWriter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetSetStoryWriter.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 *MsgSetSetStoryWriter) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetSetStoryWriter.Merge(m, src) -} -func (m *MsgSetSetStoryWriter) XXX_Size() int { - return m.Size() -} -func (m *MsgSetSetStoryWriter) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetSetStoryWriter.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetSetStoryWriter proto.InternalMessageInfo - -func (m *MsgSetSetStoryWriter) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgSetSetStoryWriter) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -func (m *MsgSetSetStoryWriter) GetStoryWriter() string { - if m != nil { - return m.StoryWriter - } - return "" -} - -type MsgSetSetStoryWriterResponse struct { -} - -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 *MsgSetSetStoryWriterResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetSetStoryWriterResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetSetStoryWriterResponse.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 *MsgSetSetStoryWriterResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetSetStoryWriterResponse.Merge(m, src) -} -func (m *MsgSetSetStoryWriterResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgSetSetStoryWriterResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetSetStoryWriterResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetSetStoryWriterResponse proto.InternalMessageInfo - -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 *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 *MsgSetSetArtist) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetSetArtist) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetSetArtist.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 *MsgSetSetArtist) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetSetArtist.Merge(m, src) -} -func (m *MsgSetSetArtist) XXX_Size() int { - return m.Size() -} -func (m *MsgSetSetArtist) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetSetArtist.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetSetArtist proto.InternalMessageInfo - -func (m *MsgSetSetArtist) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgSetSetArtist) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -func (m *MsgSetSetArtist) GetArtist() string { - if m != nil { - return m.Artist - } - return "" -} - -type MsgSetSetArtistResponse struct { -} - -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 *MsgSetSetArtistResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetSetArtistResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetSetArtistResponse.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 *MsgSetSetArtistResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetSetArtistResponse.Merge(m, src) -} -func (m *MsgSetSetArtistResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgSetSetArtistResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetSetArtistResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetSetArtistResponse proto.InternalMessageInfo - -type MsgSetUserWebsite struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Website string `protobuf:"bytes,2,opt,name=website,proto3" json:"website,omitempty"` -} - -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{70} -} -func (m *MsgSetUserWebsite) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetUserWebsite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetUserWebsite.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 *MsgSetUserWebsite) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetUserWebsite.Merge(m, src) -} -func (m *MsgSetUserWebsite) XXX_Size() int { - return m.Size() -} -func (m *MsgSetUserWebsite) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetUserWebsite.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetUserWebsite proto.InternalMessageInfo - -func (m *MsgSetUserWebsite) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgSetUserWebsite) GetWebsite() string { - if m != nil { - return m.Website - } - return "" -} - -type MsgSetUserWebsiteResponse struct { -} - -func (m *MsgSetUserWebsiteResponse) Reset() { *m = MsgSetUserWebsiteResponse{} } -func (m *MsgSetUserWebsiteResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSetUserWebsiteResponse) ProtoMessage() {} -func (*MsgSetUserWebsiteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{71} -} -func (m *MsgSetUserWebsiteResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetUserWebsiteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetUserWebsiteResponse.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 *MsgSetUserWebsiteResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetUserWebsiteResponse.Merge(m, src) -} -func (m *MsgSetUserWebsiteResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgSetUserWebsiteResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetUserWebsiteResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetUserWebsiteResponse proto.InternalMessageInfo - -type MsgSetUserBiography struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Biography string `protobuf:"bytes,2,opt,name=biography,proto3" json:"biography,omitempty"` -} - -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{72} -} -func (m *MsgSetUserBiography) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetUserBiography) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetUserBiography.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 *MsgSetUserBiography) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetUserBiography.Merge(m, src) -} -func (m *MsgSetUserBiography) XXX_Size() int { - return m.Size() -} -func (m *MsgSetUserBiography) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetUserBiography.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetUserBiography proto.InternalMessageInfo - -func (m *MsgSetUserBiography) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgSetUserBiography) GetBiography() string { - if m != nil { - return m.Biography - } - return "" -} - -type MsgSetUserBiographyResponse struct { -} - -func (m *MsgSetUserBiographyResponse) Reset() { *m = MsgSetUserBiographyResponse{} } -func (m *MsgSetUserBiographyResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSetUserBiographyResponse) ProtoMessage() {} -func (*MsgSetUserBiographyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{73} -} -func (m *MsgSetUserBiographyResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetUserBiographyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetUserBiographyResponse.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 *MsgSetUserBiographyResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetUserBiographyResponse.Merge(m, src) -} -func (m *MsgSetUserBiographyResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgSetUserBiographyResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetUserBiographyResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetUserBiographyResponse proto.InternalMessageInfo - -// 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 (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 xxx_messageInfo_MsgMultiVoteCard proto.InternalMessageInfo - -func (m *MsgMultiVoteCard) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgMultiVoteCard) GetVotes() []*SingleVote { - if m != nil { - return m.Votes - } - return nil -} - -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 - -type MsgChangeAlias struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Alias string `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"` -} - -func (m *MsgChangeAlias) Reset() { *m = MsgChangeAlias{} } -func (m *MsgChangeAlias) String() string { return proto.CompactTextString(m) } -func (*MsgChangeAlias) ProtoMessage() {} -func (*MsgChangeAlias) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{80} -} -func (m *MsgChangeAlias) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgChangeAlias) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgChangeAlias.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 *MsgChangeAlias) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgChangeAlias.Merge(m, src) -} -func (m *MsgChangeAlias) XXX_Size() int { - return m.Size() -} -func (m *MsgChangeAlias) XXX_DiscardUnknown() { - xxx_messageInfo_MsgChangeAlias.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgChangeAlias proto.InternalMessageInfo - -func (m *MsgChangeAlias) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgChangeAlias) GetAlias() string { - if m != nil { - return m.Alias - } - return "" -} - -type MsgChangeAliasResponse struct { -} - -func (m *MsgChangeAliasResponse) Reset() { *m = MsgChangeAliasResponse{} } -func (m *MsgChangeAliasResponse) String() string { return proto.CompactTextString(m) } -func (*MsgChangeAliasResponse) ProtoMessage() {} -func (*MsgChangeAliasResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{81} -} -func (m *MsgChangeAliasResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgChangeAliasResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgChangeAliasResponse.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 *MsgChangeAliasResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgChangeAliasResponse.Merge(m, src) -} -func (m *MsgChangeAliasResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgChangeAliasResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgChangeAliasResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgChangeAliasResponse proto.InternalMessageInfo - -type MsgInviteEarlyAccess struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` -} - -func (m *MsgInviteEarlyAccess) Reset() { *m = MsgInviteEarlyAccess{} } -func (m *MsgInviteEarlyAccess) String() string { return proto.CompactTextString(m) } -func (*MsgInviteEarlyAccess) ProtoMessage() {} -func (*MsgInviteEarlyAccess) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{82} -} -func (m *MsgInviteEarlyAccess) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgInviteEarlyAccess) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgInviteEarlyAccess.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 *MsgInviteEarlyAccess) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgInviteEarlyAccess.Merge(m, src) -} -func (m *MsgInviteEarlyAccess) XXX_Size() int { - return m.Size() -} -func (m *MsgInviteEarlyAccess) XXX_DiscardUnknown() { - xxx_messageInfo_MsgInviteEarlyAccess.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgInviteEarlyAccess proto.InternalMessageInfo - -func (m *MsgInviteEarlyAccess) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgInviteEarlyAccess) GetUser() string { - if m != nil { - return m.User - } - return "" -} - -type MsgInviteEarlyAccessResponse struct { -} - -func (m *MsgInviteEarlyAccessResponse) Reset() { *m = MsgInviteEarlyAccessResponse{} } -func (m *MsgInviteEarlyAccessResponse) String() string { return proto.CompactTextString(m) } -func (*MsgInviteEarlyAccessResponse) ProtoMessage() {} -func (*MsgInviteEarlyAccessResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{83} -} -func (m *MsgInviteEarlyAccessResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgInviteEarlyAccessResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgInviteEarlyAccessResponse.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 *MsgInviteEarlyAccessResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgInviteEarlyAccessResponse.Merge(m, src) -} -func (m *MsgInviteEarlyAccessResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgInviteEarlyAccessResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgInviteEarlyAccessResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgInviteEarlyAccessResponse proto.InternalMessageInfo - -type MsgDisinviteEarlyAccess struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` -} - -func (m *MsgDisinviteEarlyAccess) Reset() { *m = MsgDisinviteEarlyAccess{} } -func (m *MsgDisinviteEarlyAccess) String() string { return proto.CompactTextString(m) } -func (*MsgDisinviteEarlyAccess) ProtoMessage() {} -func (*MsgDisinviteEarlyAccess) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{84} -} -func (m *MsgDisinviteEarlyAccess) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgDisinviteEarlyAccess) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgDisinviteEarlyAccess.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 *MsgDisinviteEarlyAccess) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgDisinviteEarlyAccess.Merge(m, src) -} -func (m *MsgDisinviteEarlyAccess) XXX_Size() int { - return m.Size() -} -func (m *MsgDisinviteEarlyAccess) XXX_DiscardUnknown() { - xxx_messageInfo_MsgDisinviteEarlyAccess.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgDisinviteEarlyAccess proto.InternalMessageInfo - -func (m *MsgDisinviteEarlyAccess) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgDisinviteEarlyAccess) GetUser() string { - if m != nil { - return m.User - } - return "" -} - -type MsgDisinviteEarlyAccessResponse struct { -} - -func (m *MsgDisinviteEarlyAccessResponse) Reset() { *m = MsgDisinviteEarlyAccessResponse{} } -func (m *MsgDisinviteEarlyAccessResponse) String() string { return proto.CompactTextString(m) } -func (*MsgDisinviteEarlyAccessResponse) ProtoMessage() {} -func (*MsgDisinviteEarlyAccessResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{85} -} -func (m *MsgDisinviteEarlyAccessResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgDisinviteEarlyAccessResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgDisinviteEarlyAccessResponse.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 *MsgDisinviteEarlyAccessResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgDisinviteEarlyAccessResponse.Merge(m, src) -} -func (m *MsgDisinviteEarlyAccessResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgDisinviteEarlyAccessResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgDisinviteEarlyAccessResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgDisinviteEarlyAccessResponse proto.InternalMessageInfo - -type MsgConnectZealyAccount struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - ZealyId string `protobuf:"bytes,2,opt,name=zealyId,proto3" json:"zealyId,omitempty"` -} - -func (m *MsgConnectZealyAccount) Reset() { *m = MsgConnectZealyAccount{} } -func (m *MsgConnectZealyAccount) String() string { return proto.CompactTextString(m) } -func (*MsgConnectZealyAccount) ProtoMessage() {} -func (*MsgConnectZealyAccount) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{86} -} -func (m *MsgConnectZealyAccount) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgConnectZealyAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgConnectZealyAccount.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 *MsgConnectZealyAccount) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgConnectZealyAccount.Merge(m, src) -} -func (m *MsgConnectZealyAccount) XXX_Size() int { - return m.Size() -} -func (m *MsgConnectZealyAccount) XXX_DiscardUnknown() { - xxx_messageInfo_MsgConnectZealyAccount.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgConnectZealyAccount proto.InternalMessageInfo - -func (m *MsgConnectZealyAccount) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgConnectZealyAccount) GetZealyId() string { - if m != nil { - return m.ZealyId - } - return "" -} - -type MsgConnectZealyAccountResponse struct { -} - -func (m *MsgConnectZealyAccountResponse) Reset() { *m = MsgConnectZealyAccountResponse{} } -func (m *MsgConnectZealyAccountResponse) String() string { return proto.CompactTextString(m) } -func (*MsgConnectZealyAccountResponse) ProtoMessage() {} -func (*MsgConnectZealyAccountResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{87} -} -func (m *MsgConnectZealyAccountResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgConnectZealyAccountResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgConnectZealyAccountResponse.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 *MsgConnectZealyAccountResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgConnectZealyAccountResponse.Merge(m, src) -} -func (m *MsgConnectZealyAccountResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgConnectZealyAccountResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgConnectZealyAccountResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgConnectZealyAccountResponse proto.InternalMessageInfo - -type MsgEncounterCreate 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"` - Drawlist []uint64 `protobuf:"varint,3,rep,packed,name=Drawlist,proto3" json:"Drawlist,omitempty"` - Parameters map[string]string `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Image []byte `protobuf:"bytes,5,opt,name=image,proto3" json:"image,omitempty"` -} - -func (m *MsgEncounterCreate) Reset() { *m = MsgEncounterCreate{} } -func (m *MsgEncounterCreate) String() string { return proto.CompactTextString(m) } -func (*MsgEncounterCreate) ProtoMessage() {} -func (*MsgEncounterCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{88} -} -func (m *MsgEncounterCreate) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgEncounterCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgEncounterCreate.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 *MsgEncounterCreate) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEncounterCreate.Merge(m, src) -} -func (m *MsgEncounterCreate) XXX_Size() int { - return m.Size() -} -func (m *MsgEncounterCreate) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEncounterCreate.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgEncounterCreate proto.InternalMessageInfo - -func (m *MsgEncounterCreate) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgEncounterCreate) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *MsgEncounterCreate) GetDrawlist() []uint64 { - if m != nil { - return m.Drawlist - } - return nil -} - -func (m *MsgEncounterCreate) GetParameters() map[string]string { - if m != nil { - return m.Parameters - } - return nil -} - -func (m *MsgEncounterCreate) GetImage() []byte { - if m != nil { - return m.Image - } - return nil -} - -type MsgEncounterCreateResponse struct { -} - -func (m *MsgEncounterCreateResponse) Reset() { *m = MsgEncounterCreateResponse{} } -func (m *MsgEncounterCreateResponse) String() string { return proto.CompactTextString(m) } -func (*MsgEncounterCreateResponse) ProtoMessage() {} -func (*MsgEncounterCreateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{89} -} -func (m *MsgEncounterCreateResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgEncounterCreateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgEncounterCreateResponse.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 *MsgEncounterCreateResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEncounterCreateResponse.Merge(m, src) -} -func (m *MsgEncounterCreateResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgEncounterCreateResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEncounterCreateResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgEncounterCreateResponse proto.InternalMessageInfo - -type MsgEncounterDo struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - EncounterId uint64 `protobuf:"varint,2,opt,name=encounterId,proto3" json:"encounterId,omitempty"` - User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` -} - -func (m *MsgEncounterDo) Reset() { *m = MsgEncounterDo{} } -func (m *MsgEncounterDo) String() string { return proto.CompactTextString(m) } -func (*MsgEncounterDo) ProtoMessage() {} -func (*MsgEncounterDo) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{90} -} -func (m *MsgEncounterDo) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgEncounterDo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgEncounterDo.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 *MsgEncounterDo) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEncounterDo.Merge(m, src) -} -func (m *MsgEncounterDo) XXX_Size() int { - return m.Size() -} -func (m *MsgEncounterDo) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEncounterDo.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgEncounterDo proto.InternalMessageInfo - -func (m *MsgEncounterDo) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgEncounterDo) GetEncounterId() uint64 { - if m != nil { - return m.EncounterId - } - return 0 -} - -func (m *MsgEncounterDo) GetUser() string { - if m != nil { - return m.User - } - return "" -} - -type MsgEncounterDoResponse struct { -} - -func (m *MsgEncounterDoResponse) Reset() { *m = MsgEncounterDoResponse{} } -func (m *MsgEncounterDoResponse) String() string { return proto.CompactTextString(m) } -func (*MsgEncounterDoResponse) ProtoMessage() {} -func (*MsgEncounterDoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{91} -} -func (m *MsgEncounterDoResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgEncounterDoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgEncounterDoResponse.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 *MsgEncounterDoResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEncounterDoResponse.Merge(m, src) -} -func (m *MsgEncounterDoResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgEncounterDoResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEncounterDoResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgEncounterDoResponse proto.InternalMessageInfo - -type MsgEncounterClose struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - EncounterId uint64 `protobuf:"varint,2,opt,name=encounterId,proto3" json:"encounterId,omitempty"` - User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` - Won bool `protobuf:"varint,4,opt,name=won,proto3" json:"won,omitempty"` -} - -func (m *MsgEncounterClose) Reset() { *m = MsgEncounterClose{} } -func (m *MsgEncounterClose) String() string { return proto.CompactTextString(m) } -func (*MsgEncounterClose) ProtoMessage() {} -func (*MsgEncounterClose) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{92} -} -func (m *MsgEncounterClose) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgEncounterClose) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgEncounterClose.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 *MsgEncounterClose) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEncounterClose.Merge(m, src) -} -func (m *MsgEncounterClose) XXX_Size() int { - return m.Size() -} -func (m *MsgEncounterClose) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEncounterClose.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgEncounterClose proto.InternalMessageInfo - -func (m *MsgEncounterClose) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgEncounterClose) GetEncounterId() uint64 { - if m != nil { - return m.EncounterId - } - return 0 -} - -func (m *MsgEncounterClose) GetUser() string { - if m != nil { - return m.User - } - return "" -} - -func (m *MsgEncounterClose) GetWon() bool { - if m != nil { - return m.Won - } - return false -} - -type MsgEncounterCloseResponse struct { -} - -func (m *MsgEncounterCloseResponse) Reset() { *m = MsgEncounterCloseResponse{} } -func (m *MsgEncounterCloseResponse) String() string { return proto.CompactTextString(m) } -func (*MsgEncounterCloseResponse) ProtoMessage() {} -func (*MsgEncounterCloseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{93} -} -func (m *MsgEncounterCloseResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgEncounterCloseResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgEncounterCloseResponse.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 *MsgEncounterCloseResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEncounterCloseResponse.Merge(m, src) -} -func (m *MsgEncounterCloseResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgEncounterCloseResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEncounterCloseResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgEncounterCloseResponse 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") - proto.RegisterType((*MsgChangeAlias)(nil), "DecentralCardGame.cardchain.cardchain.MsgChangeAlias") - proto.RegisterType((*MsgChangeAliasResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgChangeAliasResponse") - proto.RegisterType((*MsgInviteEarlyAccess)(nil), "DecentralCardGame.cardchain.cardchain.MsgInviteEarlyAccess") - proto.RegisterType((*MsgInviteEarlyAccessResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgInviteEarlyAccessResponse") - proto.RegisterType((*MsgDisinviteEarlyAccess)(nil), "DecentralCardGame.cardchain.cardchain.MsgDisinviteEarlyAccess") - proto.RegisterType((*MsgDisinviteEarlyAccessResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgDisinviteEarlyAccessResponse") - proto.RegisterType((*MsgConnectZealyAccount)(nil), "DecentralCardGame.cardchain.cardchain.MsgConnectZealyAccount") - proto.RegisterType((*MsgConnectZealyAccountResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgConnectZealyAccountResponse") - proto.RegisterType((*MsgEncounterCreate)(nil), "DecentralCardGame.cardchain.cardchain.MsgEncounterCreate") - proto.RegisterMapType((map[string]string)(nil), "DecentralCardGame.cardchain.cardchain.MsgEncounterCreate.ParametersEntry") - proto.RegisterType((*MsgEncounterCreateResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgEncounterCreateResponse") - proto.RegisterType((*MsgEncounterDo)(nil), "DecentralCardGame.cardchain.cardchain.MsgEncounterDo") - proto.RegisterType((*MsgEncounterDoResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgEncounterDoResponse") - proto.RegisterType((*MsgEncounterClose)(nil), "DecentralCardGame.cardchain.cardchain.MsgEncounterClose") - proto.RegisterType((*MsgEncounterCloseResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgEncounterCloseResponse") -} - -func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } - -var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2720 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x5b, 0xcd, 0x6f, 0x1c, 0xb7, - 0x15, 0xd7, 0x68, 0x25, 0x59, 0xa2, 0x1d, 0xd9, 0x9e, 0x28, 0xce, 0x7a, 0xe2, 0x48, 0xca, 0x34, - 0x49, 0x7d, 0xe9, 0xaa, 0x96, 0xbf, 0x24, 0xbb, 0xaa, 0xb3, 0x1f, 0xb2, 0xe3, 0xba, 0x8a, 0xdd, - 0x95, 0x93, 0x34, 0x6e, 0xd0, 0x76, 0x34, 0x4b, 0xad, 0x06, 0xda, 0x1d, 0x6e, 0x39, 0x5c, 0x29, - 0x6b, 0xa0, 0x40, 0x81, 0x02, 0x45, 0x03, 0x18, 0x6d, 0x51, 0xb4, 0x40, 0xd1, 0x02, 0x81, 0x7b, - 0xe8, 0x25, 0x40, 0x6f, 0x05, 0xfa, 0x2f, 0xe4, 0x98, 0x53, 0x51, 0xf4, 0x90, 0x16, 0xf6, 0xa5, - 0x7f, 0x42, 0x8f, 0x05, 0x3f, 0x86, 0x43, 0xce, 0xce, 0x8e, 0x96, 0x23, 0x03, 0x01, 0xb2, 0xe4, - 0xf0, 0xf7, 0xde, 0x23, 0xf9, 0xc8, 0xf7, 0x1e, 0x7f, 0x16, 0xb8, 0xe0, 0x7b, 0xb8, 0xe5, 0xef, - 0x79, 0x41, 0xb8, 0x92, 0xfc, 0x22, 0x9f, 0x54, 0x7a, 0x18, 0x11, 0x64, 0xbf, 0xd5, 0x80, 0x3e, - 0x0c, 0x09, 0xf6, 0x3a, 0x75, 0x0f, 0xb7, 0xee, 0x78, 0x5d, 0x58, 0x91, 0xa3, 0x92, 0x5f, 0xce, - 0x42, 0x1b, 0xb5, 0x11, 0x43, 0xac, 0xd0, 0x5f, 0x1c, 0xec, 0xbc, 0x91, 0x25, 0xda, 0x47, 0xfd, - 0xd0, 0x0f, 0x3a, 0x62, 0xc8, 0x52, 0xd6, 0x90, 0xae, 0x47, 0xfc, 0x3d, 0x31, 0x60, 0x39, 0x6b, - 0xc0, 0x01, 0x22, 0x41, 0xd8, 0x16, 0x23, 0x16, 0x33, 0xb5, 0x78, 0xb8, 0x25, 0xbf, 0xa3, 0xa8, - 0x8b, 0xa2, 0x95, 0x1d, 0x2f, 0x82, 0x2b, 0x07, 0x97, 0x76, 0x20, 0xf1, 0x2e, 0xad, 0xf8, 0x28, - 0x08, 0xf9, 0x77, 0xf7, 0x23, 0xf0, 0xd2, 0x56, 0xd4, 0xae, 0x63, 0xe8, 0x11, 0xd8, 0x8f, 0x20, - 0xb6, 0xcb, 0xe0, 0x84, 0x4f, 0x5b, 0x08, 0x97, 0xad, 0x65, 0xeb, 0xe2, 0x5c, 0x33, 0x6e, 0xd2, - 0x2f, 0x21, 0x3c, 0x7c, 0x3f, 0x82, 0xb8, 0x3c, 0xc9, 0xbf, 0x88, 0xa6, 0xbd, 0x00, 0xa6, 0xbd, - 0x4e, 0xe0, 0x45, 0xe5, 0x12, 0xeb, 0xe7, 0x0d, 0xf7, 0x55, 0xf0, 0x8a, 0x26, 0xba, 0x09, 0xa3, - 0x1e, 0x0a, 0x23, 0xe8, 0xfe, 0xce, 0x02, 0x67, 0xb6, 0xa2, 0x76, 0xad, 0x3f, 0xa0, 0xcb, 0xba, - 0xed, 0xef, 0xc1, 0x2e, 0xcc, 0xd1, 0xfb, 0x31, 0x28, 0xed, 0x04, 0x2d, 0xa6, 0xf3, 0xe4, 0xea, - 0xf9, 0x0a, 0x9f, 0x50, 0x85, 0x4e, 0xa8, 0x22, 0x26, 0x54, 0xa9, 0xa3, 0x20, 0xac, 0xad, 0x7c, - 0xf1, 0xd5, 0xd2, 0xc4, 0xe7, 0xff, 0x5e, 0xfa, 0x7a, 0x3b, 0x20, 0x7b, 0xfd, 0x9d, 0x8a, 0x8f, - 0xba, 0x2b, 0x62, 0xf6, 0xfc, 0x7f, 0xdf, 0x88, 0x5a, 0xfb, 0x2b, 0x64, 0xd0, 0x83, 0x11, 0x03, - 0x34, 0xa9, 0xd8, 0x1b, 0xb3, 0xbf, 0x7c, 0xba, 0x34, 0xf1, 0xdf, 0xa7, 0x4b, 0x13, 0xee, 0x2a, - 0x28, 0xa7, 0xad, 0x8a, 0x4d, 0xb6, 0xcf, 0x81, 0x19, 0xba, 0xa8, 0x77, 0x5b, 0xcc, 0xb8, 0xa9, - 0xa6, 0x68, 0xb9, 0x4f, 0x2c, 0x70, 0x72, 0x2b, 0x6a, 0x7f, 0x80, 0x08, 0xa4, 0xa8, 0x9c, 0x59, - 0x24, 0x12, 0x26, 0x55, 0x09, 0xf6, 0x3d, 0x30, 0x7b, 0x80, 0x08, 0x7c, 0x38, 0xe8, 0x41, 0xb6, - 0x7c, 0xf3, 0xab, 0x2b, 0x95, 0xb1, 0xdc, 0xae, 0xf2, 0x81, 0x80, 0x35, 0xa5, 0x00, 0x77, 0x03, - 0xbc, 0xac, 0x58, 0x23, 0xad, 0x7f, 0x1b, 0xcc, 0x7b, 0x01, 0x6e, 0x61, 0xd4, 0xab, 0x77, 0xbc, - 0xa0, 0x0b, 0xf9, 0x2c, 0x66, 0x9b, 0xa9, 0x5e, 0xf7, 0x6f, 0x16, 0xb0, 0xb7, 0xa2, 0xf6, 0xb6, - 0x77, 0xc0, 0xf0, 0x75, 0x14, 0x12, 0x18, 0x92, 0x02, 0x93, 0xa2, 0x08, 0x0e, 0x66, 0x73, 0x3a, - 0xd5, 0x8c, 0x9b, 0xd4, 0x55, 0x42, 0x44, 0x60, 0x54, 0x9e, 0xe2, 0xae, 0xc2, 0x1a, 0x54, 0x8e, - 0x87, 0x49, 0x10, 0x91, 0xf2, 0x34, 0xeb, 0x16, 0x2d, 0xfb, 0x4d, 0xf0, 0xd2, 0x8e, 0xd7, 0xf1, - 0x42, 0x1f, 0x56, 0x43, 0x7f, 0x0f, 0xe1, 0xf2, 0x0c, 0xb3, 0x5b, 0xef, 0x74, 0x1b, 0xc0, 0x19, - 0xb6, 0xda, 0x78, 0xf2, 0x3f, 0x02, 0xa7, 0xb7, 0xa2, 0xf6, 0x43, 0xec, 0x85, 0xd1, 0x2e, 0xc4, - 0x05, 0x77, 0xd3, 0x01, 0xb3, 0x18, 0xfa, 0x30, 0x38, 0x80, 0x58, 0xcc, 0x50, 0xb6, 0xdd, 0xf3, - 0xe0, 0xd5, 0x94, 0x02, 0x79, 0x22, 0x9e, 0x58, 0x4c, 0x79, 0x03, 0x85, 0x1e, 0x81, 0x0f, 0x51, - 0x41, 0xe5, 0x77, 0xc0, 0x8c, 0xd7, 0x45, 0x7d, 0xb1, 0xe8, 0x73, 0xfc, 0x40, 0xfc, 0xeb, 0xab, - 0xf1, 0x0f, 0x84, 0x80, 0x0b, 0x4b, 0x55, 0x6b, 0xa4, 0xa5, 0x3f, 0x61, 0xf7, 0x45, 0xb5, 0xd5, - 0xaa, 0x62, 0x72, 0x88, 0xf0, 0x7e, 0x01, 0x33, 0x17, 0xc0, 0x74, 0xd0, 0xf5, 0xda, 0x50, 0xb8, - 0x06, 0x6f, 0x50, 0x39, 0xbb, 0xfd, 0x4e, 0xa7, 0x8a, 0x09, 0x5b, 0xb8, 0xd9, 0x66, 0xdc, 0x14, - 0xf7, 0x48, 0xa2, 0x52, 0xda, 0xf2, 0x03, 0xb6, 0x68, 0xf5, 0x3d, 0x2f, 0x6c, 0xc3, 0x2a, 0x77, - 0x98, 0xa3, 0xad, 0x69, 0x68, 0xd6, 0x34, 0x14, 0xd7, 0x2b, 0xa9, 0xae, 0x27, 0xd6, 0x40, 0x15, - 0x2e, 0xf5, 0x5e, 0x62, 0x06, 0x35, 0x61, 0x3b, 0x88, 0x08, 0xc4, 0xb7, 0x11, 0xae, 0xf3, 0x5b, - 0x7d, 0xb4, 0x76, 0x77, 0x09, 0xbc, 0x9e, 0x09, 0x91, 0x32, 0xff, 0x61, 0x81, 0x79, 0x36, 0xa2, - 0x87, 0x30, 0xd9, 0xa2, 0x21, 0x20, 0xff, 0x26, 0x66, 0x51, 0x42, 0x2e, 0x6d, 0xdc, 0xb4, 0x5d, - 0x70, 0xaa, 0xd7, 0xf1, 0x06, 0xb0, 0x45, 0x37, 0x2d, 0xaa, 0x96, 0x4b, 0xcb, 0xa5, 0x8b, 0x53, - 0x4d, 0xad, 0x2f, 0x35, 0xa6, 0x56, 0x9e, 0x1a, 0x1a, 0x53, 0xb3, 0xdf, 0x05, 0x27, 0x50, 0x9f, - 0xf8, 0xa8, 0x0b, 0xd9, 0x89, 0x9c, 0x5f, 0xad, 0x8c, 0x79, 0x29, 0xdd, 0xe7, 0xa8, 0x66, 0x0c, - 0x77, 0x57, 0xc1, 0x39, 0x7d, 0x5e, 0xf2, 0x60, 0x2a, 0xb3, 0xb0, 0xb4, 0x59, 0xb8, 0xef, 0x31, - 0x4c, 0xb5, 0x87, 0x82, 0x30, 0xc6, 0x50, 0x78, 0x6e, 0x74, 0x62, 0x27, 0x8f, 0x8f, 0x12, 0xe1, - 0x49, 0xb6, 0xdd, 0x65, 0xb0, 0x98, 0x2d, 0x4f, 0x2e, 0xff, 0x1f, 0x2d, 0x70, 0x4a, 0x06, 0xab, - 0x6d, 0x98, 0xe7, 0x48, 0x36, 0x98, 0x0a, 0xbd, 0x2e, 0x14, 0x4a, 0xd8, 0xef, 0x51, 0x4e, 0x64, - 0x2f, 0x83, 0x93, 0x11, 0x41, 0x78, 0xf0, 0x21, 0x0e, 0x88, 0xbc, 0x11, 0xd4, 0x2e, 0xba, 0x19, - 0xf4, 0x6a, 0xc4, 0xc1, 0x4e, 0x9f, 0x20, 0x1c, 0x95, 0xa7, 0x97, 0x4b, 0x17, 0xe7, 0x9a, 0x5a, - 0x9f, 0x7b, 0x0e, 0x2c, 0xa8, 0xb6, 0x49, 0xa3, 0x3f, 0x62, 0xfe, 0x5f, 0x6d, 0xb1, 0x4d, 0x7b, - 0x88, 0xf2, 0xcd, 0x5e, 0x00, 0xd3, 0x11, 0x24, 0xd2, 0x63, 0x78, 0x43, 0x39, 0xa3, 0x25, 0x2d, - 0xae, 0x71, 0xef, 0x57, 0x45, 0x4b, 0xad, 0xef, 0x30, 0x47, 0xbd, 0x1d, 0x84, 0x5e, 0x27, 0x78, - 0x0c, 0x0b, 0x28, 0x75, 0xcb, 0x6c, 0x7b, 0x15, 0x09, 0x52, 0x76, 0x1d, 0x9c, 0xe5, 0x21, 0xb8, - 0x86, 0x10, 0x3d, 0x28, 0x0f, 0x3c, 0x7f, 0xdf, 0x58, 0x7c, 0x1d, 0x9c, 0x1f, 0x12, 0x62, 0x1c, - 0x0d, 0x7e, 0xc8, 0xd6, 0xbc, 0x09, 0xbb, 0x88, 0x47, 0x95, 0xdb, 0x18, 0x75, 0x5f, 0xe4, 0x02, - 0x2f, 0x82, 0x0b, 0x59, 0xf2, 0xe5, 0x4a, 0x78, 0xe0, 0xb5, 0xe4, 0x7b, 0xe2, 0x0c, 0x45, 0xcd, - 0xb0, 0xc1, 0x14, 0x4d, 0xc1, 0x84, 0x7b, 0xb2, 0xdf, 0xee, 0x5b, 0xe0, 0x6b, 0x39, 0x2a, 0xa4, - 0x25, 0x1f, 0xf3, 0xc3, 0xd8, 0x6a, 0x29, 0x63, 0x8a, 0x39, 0x5b, 0x96, 0x11, 0xe2, 0x68, 0x0e, - 0x4b, 0x97, 0xfa, 0x3f, 0xe5, 0x49, 0x49, 0xec, 0xfe, 0x9d, 0xce, 0xfd, 0xdd, 0xdd, 0xdc, 0x9b, - 0xc0, 0x06, 0x53, 0x74, 0x91, 0x85, 0x6e, 0xf6, 0xdb, 0xde, 0x04, 0xd3, 0x3d, 0x1c, 0xf8, 0xb0, - 0x68, 0x64, 0xe4, 0x68, 0xf7, 0x02, 0xcb, 0x34, 0x52, 0xa6, 0x48, 0x4b, 0xdf, 0x05, 0x20, 0x49, - 0x20, 0x73, 0x0c, 0xa4, 0xb7, 0x42, 0x0c, 0x96, 0x6b, 0xa4, 0x76, 0xb9, 0x0b, 0x6c, 0xca, 0x42, - 0x92, 0x94, 0xff, 0x80, 0xf5, 0xf2, 0x0d, 0x1b, 0x67, 0x21, 0x8e, 0xd6, 0xc3, 0xe7, 0x93, 0x92, - 0x28, 0xf5, 0x3d, 0x62, 0xfa, 0x92, 0xc0, 0x5b, 0x6c, 0xd7, 0x33, 0xc3, 0xbd, 0xd0, 0x9c, 0x92, - 0x2d, 0x35, 0x7f, 0x9f, 0x15, 0x08, 0xd5, 0x56, 0x6b, 0x9b, 0x5e, 0x95, 0x85, 0xf5, 0xb2, 0x8b, - 0x36, 0x2e, 0x4a, 0x58, 0xc3, 0x75, 0x58, 0x92, 0xaf, 0x49, 0x96, 0x5a, 0xff, 0xc2, 0xeb, 0x92, - 0x6d, 0x48, 0xd8, 0xb2, 0x7b, 0x38, 0x20, 0x83, 0x62, 0xf9, 0x0d, 0x37, 0xa7, 0xa4, 0x9a, 0x73, - 0x17, 0xcc, 0x60, 0x26, 0x91, 0x45, 0x81, 0xf9, 0xd5, 0x4b, 0x63, 0x06, 0xd4, 0xc4, 0x94, 0xa6, - 0x10, 0x20, 0xe6, 0xa0, 0x99, 0x29, 0xe7, 0xd0, 0x60, 0x53, 0xe0, 0x1e, 0x7a, 0x64, 0x5a, 0x32, - 0x6a, 0x0a, 0x42, 0x83, 0x26, 0x45, 0x6a, 0xf8, 0x95, 0xc5, 0x3f, 0xa2, 0x6e, 0x37, 0x20, 0xa9, - 0x8f, 0x47, 0xc5, 0x67, 0x3e, 0x2a, 0x89, 0xcf, 0x02, 0x75, 0x01, 0xcc, 0x89, 0xc2, 0x58, 0xae, - 0x5a, 0xd2, 0x61, 0x2f, 0x02, 0x10, 0xf5, 0xdb, 0x6d, 0x18, 0x91, 0x00, 0x85, 0x22, 0x86, 0x2a, - 0x3d, 0xae, 0x0b, 0x96, 0x47, 0xd9, 0x23, 0x8d, 0xfe, 0x3b, 0x37, 0xba, 0x09, 0x0f, 0xa0, 0xd7, - 0x19, 0xdf, 0xe8, 0x7b, 0x29, 0xa3, 0xc7, 0x2f, 0xce, 0xa4, 0x05, 0xc9, 0x2c, 0xcf, 0x81, 0x99, - 0x08, 0xfa, 0x18, 0xca, 0x24, 0x81, 0xb7, 0xf4, 0xd9, 0x4f, 0xa5, 0x66, 0x2f, 0x66, 0x97, 0x69, - 0xb8, 0x9c, 0xdd, 0x3d, 0x16, 0x36, 0x9b, 0x30, 0x22, 0x1e, 0x26, 0x47, 0xef, 0xba, 0xa6, 0x70, - 0x32, 0xad, 0xf0, 0x35, 0x16, 0x3e, 0x75, 0x61, 0x52, 0xd3, 0x9a, 0x08, 0x5b, 0x87, 0x68, 0x3f, - 0x71, 0x0c, 0x9a, 0xd4, 0x62, 0x8f, 0xee, 0x45, 0x4e, 0x06, 0xfc, 0x36, 0x78, 0x33, 0x0f, 0x29, - 0x35, 0x3c, 0xe3, 0xa5, 0x50, 0x1d, 0x85, 0xbb, 0x01, 0xee, 0x16, 0xcf, 0x84, 0x95, 0x0c, 0xb6, - 0x74, 0xac, 0x0c, 0xd6, 0xfe, 0x1e, 0x00, 0xb4, 0xc0, 0xe6, 0xa9, 0x31, 0xcb, 0x96, 0x4f, 0x8e, - 0x7d, 0x7a, 0xb7, 0x83, 0xb0, 0xdd, 0x81, 0xb4, 0x20, 0x6f, 0x2a, 0x42, 0xe2, 0xe2, 0x42, 0x99, - 0xa3, 0x9c, 0xff, 0x26, 0xdb, 0xcb, 0x6d, 0x48, 0x1e, 0x60, 0xb4, 0x1b, 0x74, 0x0a, 0x3e, 0x2b, - 0x88, 0x5d, 0xd4, 0xc5, 0x48, 0x1d, 0x0f, 0xd9, 0xc5, 0x7e, 0xbf, 0x07, 0xc3, 0xf1, 0xf2, 0x2c, - 0x5a, 0x86, 0x27, 0x03, 0xa5, 0x2e, 0xbd, 0xd3, 0xbd, 0xc6, 0xae, 0xf4, 0x94, 0x54, 0xed, 0x90, - 0x31, 0xd3, 0xa2, 0xb2, 0xc5, 0x0a, 0x8e, 0xb8, 0xe9, 0x12, 0x96, 0x60, 0xc4, 0x75, 0xf1, 0x0b, - 0xb4, 0x48, 0xab, 0xc6, 0x4b, 0xa9, 0x6a, 0x9c, 0x27, 0x1e, 0x19, 0x5a, 0xe5, 0x2a, 0xed, 0xb1, - 0x14, 0x70, 0x1b, 0x12, 0xfa, 0x9f, 0x92, 0xb2, 0x9b, 0x06, 0xa2, 0x54, 0x11, 0x50, 0x1a, 0x2a, - 0x02, 0x44, 0x32, 0x38, 0xa4, 0x29, 0x95, 0xe8, 0xf3, 0xef, 0x47, 0x16, 0xba, 0x23, 0xf3, 0xd0, - 0x9c, 0x32, 0x57, 0x15, 0x2d, 0xb5, 0xde, 0x89, 0x3d, 0xf1, 0xfd, 0x08, 0xe2, 0x0f, 0xe1, 0x4e, - 0x14, 0x10, 0x98, 0x7f, 0x14, 0x0f, 0xf9, 0xa0, 0xf8, 0x79, 0x50, 0x34, 0x13, 0x5f, 0x54, 0x04, - 0x49, 0x2d, 0x5b, 0xec, 0xc9, 0x4a, 0x7c, 0xac, 0x05, 0xa8, 0x8d, 0xbd, 0xde, 0xde, 0x20, 0xff, - 0xf6, 0xda, 0x89, 0x87, 0x09, 0x4d, 0x49, 0x87, 0xfb, 0x3a, 0xcb, 0x9b, 0xd3, 0xe2, 0xa4, 0xb6, - 0x3e, 0x0b, 0x8f, 0x5b, 0xfd, 0x0e, 0x09, 0xc6, 0x78, 0xb3, 0xbb, 0x03, 0xa6, 0x0f, 0xd8, 0x63, - 0xd5, 0x64, 0xd1, 0x43, 0xcf, 0xf1, 0x22, 0x9e, 0x6a, 0x6a, 0xa5, 0x49, 0x4f, 0x79, 0xe9, 0x49, - 0xcf, 0xcd, 0x18, 0xb7, 0x1d, 0xab, 0xd2, 0x71, 0x35, 0x5e, 0x62, 0xd1, 0x4c, 0xbe, 0xd4, 0xc4, - 0xfe, 0xc6, 0x4d, 0xea, 0x7d, 0x62, 0x50, 0x03, 0xfa, 0xfb, 0xa2, 0xd8, 0x57, 0xbb, 0x92, 0x11, - 0x35, 0x36, 0x62, 0x5a, 0x1d, 0xc1, 0xba, 0xdc, 0x6f, 0xb2, 0x93, 0x20, 0x2d, 0x1c, 0xa3, 0x82, - 0xdf, 0x66, 0xcf, 0x44, 0xdc, 0xad, 0xde, 0xf3, 0x72, 0x9f, 0x77, 0x47, 0xd6, 0x0a, 0xac, 0xca, - 0x2e, 0x25, 0x55, 0xb6, 0x78, 0x08, 0x4a, 0x84, 0xa6, 0x4a, 0x52, 0xf1, 0x56, 0xd3, 0x09, 0xbc, - 0x28, 0x5f, 0x1d, 0x7f, 0xab, 0x9e, 0x54, 0xdf, 0xaa, 0x79, 0x49, 0xaa, 0x48, 0x50, 0x12, 0x2a, - 0x3a, 0xf7, 0xbb, 0xe1, 0x41, 0x40, 0xe0, 0xa6, 0x87, 0x3b, 0x83, 0xaa, 0xef, 0xc3, 0x28, 0xca, - 0xaf, 0x3f, 0xfa, 0xc9, 0x23, 0x39, 0x2f, 0x73, 0xf8, 0x09, 0x1f, 0x92, 0xa2, 0x9c, 0x35, 0xf6, - 0xe2, 0x16, 0x44, 0xc1, 0x31, 0x15, 0xbd, 0x01, 0x96, 0x46, 0x08, 0x92, 0xba, 0xbe, 0xcb, 0xe7, - 0x8a, 0xc2, 0x10, 0xfa, 0xe4, 0x11, 0xf4, 0xd8, 0x00, 0xd4, 0xcf, 0x7d, 0xe8, 0x2d, 0x83, 0x13, - 0x8f, 0xe9, 0x48, 0xb1, 0x4d, 0x73, 0xcd, 0xb8, 0x29, 0xee, 0xd1, 0x0c, 0x69, 0x52, 0xdf, 0x67, - 0x93, 0x2c, 0xdc, 0x6c, 0x86, 0xac, 0x1b, 0x62, 0x9e, 0x56, 0x1a, 0xbe, 0xb0, 0x38, 0x60, 0xb6, - 0x81, 0xbd, 0xc3, 0x0e, 0xbf, 0xc1, 0xa8, 0x87, 0xca, 0xb6, 0x1d, 0x00, 0xd0, 0xf3, 0xb0, 0xd7, - 0x85, 0x04, 0xe2, 0x38, 0x40, 0xdf, 0x1d, 0xf3, 0xac, 0x0e, 0x1b, 0x56, 0x79, 0x20, 0x65, 0x6d, - 0x86, 0x04, 0x0f, 0x9a, 0x8a, 0xf0, 0xa4, 0x98, 0x99, 0x56, 0x8a, 0x19, 0x67, 0x03, 0x9c, 0x4e, - 0x81, 0xec, 0x33, 0xa0, 0xb4, 0x0f, 0x07, 0x62, 0x66, 0xf4, 0x27, 0x85, 0x1e, 0x78, 0x9d, 0x7e, - 0x3c, 0x2d, 0xde, 0xb8, 0x31, 0xb9, 0x66, 0x89, 0x5a, 0x28, 0x65, 0x86, 0x5c, 0xbe, 0x1f, 0x33, - 0xe7, 0x96, 0x5f, 0x1b, 0x28, 0xbf, 0xe2, 0x83, 0xf1, 0xc0, 0xa4, 0xe2, 0x53, 0xba, 0x32, 0x6b, - 0x70, 0xee, 0xfc, 0x8a, 0x06, 0xe5, 0xba, 0x3c, 0xab, 0x59, 0xd6, 0x41, 0xb9, 0xe9, 0x72, 0x21, - 0xf5, 0x74, 0xa9, 0x0e, 0x45, 0x62, 0x3f, 0xdb, 0xa4, 0x3f, 0x45, 0xc0, 0xd0, 0xd5, 0xc6, 0x36, - 0xad, 0xfe, 0xef, 0x0a, 0x28, 0x6d, 0x45, 0x6d, 0xfb, 0x67, 0x16, 0x00, 0x0a, 0x6f, 0x75, 0x65, - 0xfc, 0x0d, 0x4f, 0x50, 0xce, 0xb7, 0x8a, 0xa0, 0xe4, 0xfd, 0xf7, 0xa9, 0x05, 0x5e, 0xd2, 0x59, - 0xac, 0xeb, 0xe3, 0xcb, 0xd3, 0x80, 0xce, 0xad, 0x82, 0x40, 0x69, 0xcb, 0x63, 0x30, 0x2b, 0x23, - 0xda, 0xea, 0xf8, 0xc2, 0x62, 0x8c, 0x73, 0xc3, 0x1c, 0x23, 0x75, 0xff, 0xda, 0x02, 0xa7, 0xd3, - 0xa4, 0xd1, 0xfa, 0xf8, 0xf2, 0x52, 0x50, 0xa7, 0x5a, 0x18, 0x2a, 0x2d, 0xfa, 0x85, 0x05, 0x4e, - 0x69, 0x54, 0xce, 0xb5, 0xf1, 0x65, 0xaa, 0x38, 0xe7, 0xdb, 0xc5, 0x70, 0x9a, 0x21, 0x1a, 0xad, - 0x63, 0x60, 0x88, 0x8a, 0x33, 0x31, 0x24, 0x8b, 0xb8, 0x61, 0xc7, 0x45, 0xa1, 0x6d, 0x0c, 0x8e, - 0x4b, 0x82, 0x32, 0x39, 0x2e, 0xc3, 0x7c, 0x0d, 0x5b, 0x0b, 0x8d, 0xad, 0x31, 0x58, 0x0b, 0x15, - 0x67, 0xb2, 0x16, 0x59, 0x04, 0x8e, 0xfd, 0x07, 0x0b, 0xd8, 0x19, 0xf4, 0x8d, 0xc1, 0xec, 0x86, - 0xd1, 0x4e, 0xe3, 0x38, 0x68, 0x69, 0xda, 0xcf, 0x2d, 0x70, 0x52, 0x25, 0x81, 0xae, 0x9a, 0x48, - 0x95, 0x30, 0x67, 0xa3, 0x10, 0x4c, 0x5a, 0xf1, 0x27, 0x0b, 0xbc, 0x9c, 0x45, 0xbf, 0x18, 0x88, - 0xcd, 0x80, 0x3b, 0x9b, 0xc7, 0x82, 0x4b, 0xeb, 0x7e, 0x0a, 0xe6, 0x12, 0xa2, 0xe6, 0xb2, 0xe9, - 0x0d, 0xbe, 0x0d, 0x89, 0x73, 0xb3, 0x00, 0x48, 0x73, 0x63, 0x8d, 0x74, 0xb9, 0x66, 0x74, 0x2a, - 0x24, 0xce, 0xc4, 0x8d, 0xb3, 0x98, 0x18, 0xe6, 0x2b, 0x2a, 0x0f, 0x63, 0xe0, 0x2b, 0x0a, 0xcc, - 0xc4, 0x57, 0x32, 0x38, 0x1b, 0xfb, 0x89, 0x05, 0xe6, 0x53, 0x8c, 0xcd, 0x9a, 0x51, 0x30, 0x53, - 0x90, 0xce, 0x3b, 0x45, 0x91, 0xd2, 0x9c, 0xdf, 0x5b, 0xe0, 0xec, 0x30, 0x6d, 0x73, 0xd3, 0xe4, - 0x3c, 0xa4, 0xc0, 0x4e, 0xfd, 0x18, 0x60, 0x69, 0xd7, 0xe7, 0x16, 0x28, 0x8f, 0xa4, 0x73, 0x6a, - 0xc6, 0x1a, 0x86, 0x64, 0x38, 0xdf, 0x39, 0xbe, 0x0c, 0xfd, 0xfc, 0x67, 0x30, 0x3e, 0x1b, 0x66, - 0x1e, 0x9b, 0x82, 0x1b, 0x9d, 0xff, 0xd1, 0x8c, 0x10, 0x4b, 0x37, 0xd2, 0x74, 0xd0, 0xba, 0xf9, - 0x89, 0x16, 0x50, 0x93, 0x74, 0x63, 0x04, 0xf3, 0x63, 0x1f, 0x82, 0x13, 0x31, 0xed, 0x73, 0xc9, - 0x38, 0x91, 0x73, 0xd6, 0x8d, 0x21, 0xda, 0x52, 0xa4, 0x09, 0xa1, 0x75, 0x53, 0x47, 0x28, 0xb4, - 0x14, 0x23, 0x48, 0x23, 0x66, 0x51, 0x9a, 0x32, 0x5a, 0x2f, 0x92, 0x36, 0x70, 0x97, 0xa9, 0x16, - 0x86, 0x6a, 0x59, 0xba, 0x4e, 0x25, 0x5d, 0x37, 0x12, 0x9a, 0x00, 0x4d, 0xb2, 0xf4, 0x4c, 0x8a, - 0x89, 0xd9, 0xa2, 0xf3, 0x4b, 0x06, 0xb6, 0x68, 0x40, 0x13, 0x5b, 0x32, 0xa9, 0x22, 0x66, 0x8b, - 0x4e, 0x14, 0x5d, 0x37, 0x3d, 0x09, 0x71, 0xee, 0x73, 0xab, 0x20, 0x50, 0xda, 0xf2, 0x67, 0x0b, - 0xbc, 0x92, 0xcd, 0x28, 0x99, 0x88, 0xce, 0x12, 0xe0, 0xdc, 0x39, 0xa6, 0x00, 0xcd, 0xc6, 0x6c, - 0x02, 0xe9, 0x96, 0xc9, 0xb1, 0xc9, 0x10, 0x60, 0x62, 0x63, 0x2e, 0x13, 0xc4, 0x82, 0x71, 0x8a, - 0x07, 0x5a, 0x33, 0x91, 0xad, 0x22, 0x4d, 0x82, 0x71, 0x36, 0x5d, 0x64, 0xff, 0xd5, 0x02, 0xe7, - 0x47, 0x93, 0x45, 0x46, 0x71, 0x75, 0x84, 0x10, 0xe7, 0xde, 0x0b, 0x10, 0xa2, 0x57, 0x28, 0x2a, - 0xf3, 0x64, 0x52, 0xa1, 0x28, 0x38, 0xa3, 0x0a, 0x25, 0x83, 0x05, 0x62, 0xfb, 0x98, 0xe2, 0x80, - 0xd6, 0x8c, 0xce, 0xbb, 0x82, 0x34, 0xd9, 0xc7, 0x6c, 0xc2, 0x88, 0x5d, 0xea, 0x69, 0xba, 0xc8, - 0xe0, 0x52, 0x4f, 0x41, 0x4d, 0x2e, 0xf5, 0x51, 0x74, 0x12, 0xcd, 0x50, 0xb2, 0x28, 0xa3, 0x0d, - 0xf3, 0x7a, 0x5d, 0xb5, 0x6c, 0xf3, 0x58, 0x70, 0x2d, 0x09, 0x1d, 0x26, 0x8e, 0x6e, 0x1a, 0xed, - 0x83, 0x0e, 0x36, 0x49, 0x42, 0x47, 0x12, 0x49, 0xcc, 0xbf, 0x35, 0x1a, 0xe9, 0x9a, 0xa9, 0x54, - 0xf3, 0x0a, 0x3c, 0x8b, 0x5b, 0x8a, 0xfd, 0x5b, 0x65, 0x96, 0xcc, 0xfc, 0x5b, 0x41, 0x1a, 0xfa, - 0x77, 0x06, 0x09, 0x65, 0xff, 0xd6, 0x02, 0x67, 0x86, 0x28, 0xa8, 0x1b, 0xc6, 0x62, 0x25, 0xd6, - 0xa9, 0x15, 0xc7, 0x6a, 0xf1, 0x59, 0x67, 0xaa, 0x0c, 0xe2, 0xb3, 0x06, 0x34, 0x89, 0xcf, 0x99, - 0x24, 0x15, 0x2d, 0xb9, 0x13, 0x82, 0xea, 0xb2, 0xd9, 0xf1, 0xe5, 0x37, 0xe2, 0xcd, 0x02, 0x20, - 0xed, 0xf1, 0x4a, 0x21, 0x93, 0xae, 0x98, 0x7a, 0x1f, 0x45, 0x99, 0x3c, 0x5e, 0x0d, 0x73, 0x4c, - 0xac, 0xd8, 0x56, 0x19, 0xa6, 0xab, 0xc6, 0x6f, 0x50, 0x14, 0x66, 0x52, 0x6c, 0x67, 0xb0, 0x51, - 0xec, 0x62, 0x19, 0xe6, 0xa2, 0x0c, 0xd6, 0x76, 0x08, 0x6c, 0x72, 0xb1, 0x8c, 0xe4, 0xaf, 0xec, - 0xcf, 0x2c, 0xb0, 0x90, 0xc9, 0x5e, 0x99, 0x3c, 0x5b, 0x66, 0xe0, 0x9d, 0xdb, 0xc7, 0xc3, 0x6b, - 0xf1, 0x22, 0x8b, 0xf2, 0xda, 0x30, 0x0a, 0xd4, 0x69, 0xb8, 0x49, 0xbc, 0xc8, 0xa1, 0xc8, 0x58, - 0x7c, 0x4d, 0xf3, 0x63, 0xeb, 0x85, 0x19, 0x2c, 0x93, 0xf8, 0x3a, 0x82, 0x75, 0x62, 0xee, 0xae, - 0x72, 0x4e, 0x57, 0x0b, 0x88, 0x6c, 0x20, 0x13, 0x77, 0xcf, 0xe0, 0x9f, 0x58, 0x98, 0x48, 0xb1, - 0x4f, 0x6b, 0x45, 0xe6, 0x46, 0x91, 0x26, 0x61, 0x22, 0x9b, 0x7a, 0xaa, 0x35, 0xbf, 0x78, 0xb6, - 0x68, 0x7d, 0xf9, 0x6c, 0xd1, 0xfa, 0xcf, 0xb3, 0x45, 0xeb, 0x37, 0xcf, 0x17, 0x27, 0xbe, 0x7c, - 0xbe, 0x38, 0xf1, 0xcf, 0xe7, 0x8b, 0x13, 0x8f, 0xd6, 0x94, 0x7f, 0x48, 0x3a, 0xa4, 0x65, 0xa5, - 0x2e, 0xff, 0x32, 0xeb, 0x13, 0xf5, 0xcf, 0xcc, 0x06, 0x3d, 0x18, 0xed, 0xcc, 0xb0, 0xbf, 0xc3, - 0xba, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9c, 0xf1, 0xd6, 0x7b, 0x8a, 0x36, 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 { - Createuser(ctx context.Context, in *MsgCreateuser, opts ...grpc.CallOption) (*MsgCreateuserResponse, error) - BuyCardScheme(ctx context.Context, in *MsgBuyCardScheme, opts ...grpc.CallOption) (*MsgBuyCardSchemeResponse, error) - VoteCard(ctx context.Context, in *MsgVoteCard, opts ...grpc.CallOption) (*MsgVoteCardResponse, error) - SaveCardContent(ctx context.Context, in *MsgSaveCardContent, opts ...grpc.CallOption) (*MsgSaveCardContentResponse, error) - 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) - 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) - ApointMatchReporter(ctx context.Context, in *MsgApointMatchReporter, opts ...grpc.CallOption) (*MsgApointMatchReporterResponse, 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) - 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) - RevealCouncilResponse(ctx context.Context, in *MsgRevealCouncilResponse, opts ...grpc.CallOption) (*MsgRevealCouncilResponseResponse, error) - RestartCouncil(ctx context.Context, in *MsgRestartCouncil, opts ...grpc.CallOption) (*MsgRestartCouncilResponse, error) - RewokeCouncilRegistration(ctx context.Context, in *MsgRewokeCouncilRegistration, opts ...grpc.CallOption) (*MsgRewokeCouncilRegistrationResponse, error) - ConfirmMatch(ctx context.Context, in *MsgConfirmMatch, opts ...grpc.CallOption) (*MsgConfirmMatchResponse, error) - 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) - 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) - ChangeAlias(ctx context.Context, in *MsgChangeAlias, opts ...grpc.CallOption) (*MsgChangeAliasResponse, error) - InviteEarlyAccess(ctx context.Context, in *MsgInviteEarlyAccess, opts ...grpc.CallOption) (*MsgInviteEarlyAccessResponse, error) - DisinviteEarlyAccess(ctx context.Context, in *MsgDisinviteEarlyAccess, opts ...grpc.CallOption) (*MsgDisinviteEarlyAccessResponse, error) - ConnectZealyAccount(ctx context.Context, in *MsgConnectZealyAccount, opts ...grpc.CallOption) (*MsgConnectZealyAccountResponse, error) - EncounterCreate(ctx context.Context, in *MsgEncounterCreate, opts ...grpc.CallOption) (*MsgEncounterCreateResponse, error) - EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) - EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) -} - -type msgClient struct { - cc grpc1.ClientConn -} - -func NewMsgClient(cc grpc1.ClientConn) MsgClient { - return &msgClient{cc} -} - -func (c *msgClient) Createuser(ctx context.Context, in *MsgCreateuser, opts ...grpc.CallOption) (*MsgCreateuserResponse, error) { - out := new(MsgCreateuserResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/Createuser", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) BuyCardScheme(ctx context.Context, in *MsgBuyCardScheme, opts ...grpc.CallOption) (*MsgBuyCardSchemeResponse, error) { - out := new(MsgBuyCardSchemeResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/BuyCardScheme", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) VoteCard(ctx context.Context, in *MsgVoteCard, opts ...grpc.CallOption) (*MsgVoteCardResponse, error) { - out := new(MsgVoteCardResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/VoteCard", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) SaveCardContent(ctx context.Context, in *MsgSaveCardContent, opts ...grpc.CallOption) (*MsgSaveCardContentResponse, error) { - out := new(MsgSaveCardContentResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SaveCardContent", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) TransferCard(ctx context.Context, in *MsgTransferCard, opts ...grpc.CallOption) (*MsgTransferCardResponse, error) { - out := new(MsgTransferCardResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/TransferCard", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) DonateToCard(ctx context.Context, in *MsgDonateToCard, opts ...grpc.CallOption) (*MsgDonateToCardResponse, error) { - out := new(MsgDonateToCardResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/DonateToCard", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) AddArtwork(ctx context.Context, in *MsgAddArtwork, opts ...grpc.CallOption) (*MsgAddArtworkResponse, error) { - out := new(MsgAddArtworkResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/AddArtwork", 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...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) RegisterForCouncil(ctx context.Context, in *MsgRegisterForCouncil, opts ...grpc.CallOption) (*MsgRegisterForCouncilResponse, error) { - out := new(MsgRegisterForCouncilResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/RegisterForCouncil", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) ReportMatch(ctx context.Context, in *MsgReportMatch, opts ...grpc.CallOption) (*MsgReportMatchResponse, error) { - out := new(MsgReportMatchResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/ReportMatch", 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...) - if err != nil { - return nil, err - } - return out, nil -} - -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) 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) 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) 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) 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) 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) 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 - } - return out, nil -} - -func (c *msgClient) CreateSellOffer(ctx context.Context, in *MsgCreateSellOffer, opts ...grpc.CallOption) (*MsgCreateSellOfferResponse, error) { - out := new(MsgCreateSellOfferResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/CreateSellOffer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) BuyCard(ctx context.Context, in *MsgBuyCard, opts ...grpc.CallOption) (*MsgBuyCardResponse, error) { - out := new(MsgBuyCardResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/BuyCard", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) RemoveSellOffer(ctx context.Context, in *MsgRemoveSellOffer, opts ...grpc.CallOption) (*MsgRemoveSellOfferResponse, error) { - out := new(MsgRemoveSellOfferResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/RemoveSellOffer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -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) 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 - } - return out, nil -} - -func (c *msgClient) SetCardRarity(ctx context.Context, in *MsgSetCardRarity, opts ...grpc.CallOption) (*MsgSetCardRarityResponse, error) { - out := new(MsgSetCardRarityResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SetCardRarity", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) CreateCouncil(ctx context.Context, in *MsgCreateCouncil, opts ...grpc.CallOption) (*MsgCreateCouncilResponse, error) { - out := new(MsgCreateCouncilResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/CreateCouncil", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) CommitCouncilResponse(ctx context.Context, in *MsgCommitCouncilResponse, opts ...grpc.CallOption) (*MsgCommitCouncilResponseResponse, error) { - out := new(MsgCommitCouncilResponseResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/CommitCouncilResponse", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) RevealCouncilResponse(ctx context.Context, in *MsgRevealCouncilResponse, opts ...grpc.CallOption) (*MsgRevealCouncilResponseResponse, error) { - out := new(MsgRevealCouncilResponseResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/RevealCouncilResponse", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) RestartCouncil(ctx context.Context, in *MsgRestartCouncil, opts ...grpc.CallOption) (*MsgRestartCouncilResponse, error) { - out := new(MsgRestartCouncilResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/RestartCouncil", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) RewokeCouncilRegistration(ctx context.Context, in *MsgRewokeCouncilRegistration, opts ...grpc.CallOption) (*MsgRewokeCouncilRegistrationResponse, error) { - out := new(MsgRewokeCouncilRegistrationResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/RewokeCouncilRegistration", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) ConfirmMatch(ctx context.Context, in *MsgConfirmMatch, opts ...grpc.CallOption) (*MsgConfirmMatchResponse, error) { - out := new(MsgConfirmMatchResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/ConfirmMatch", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) SetProfileCard(ctx context.Context, in *MsgSetProfileCard, opts ...grpc.CallOption) (*MsgSetProfileCardResponse, error) { - out := new(MsgSetProfileCardResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SetProfileCard", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) OpenBoosterPack(ctx context.Context, in *MsgOpenBoosterPack, opts ...grpc.CallOption) (*MsgOpenBoosterPackResponse, error) { - out := new(MsgOpenBoosterPackResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/OpenBoosterPack", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) TransferBoosterPack(ctx context.Context, in *MsgTransferBoosterPack, opts ...grpc.CallOption) (*MsgTransferBoosterPackResponse, error) { - out := new(MsgTransferBoosterPackResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/TransferBoosterPack", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -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) 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 - } - return out, nil -} - -func (c *msgClient) SetUserWebsite(ctx context.Context, in *MsgSetUserWebsite, opts ...grpc.CallOption) (*MsgSetUserWebsiteResponse, error) { - out := new(MsgSetUserWebsiteResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SetUserWebsite", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) SetUserBiography(ctx context.Context, in *MsgSetUserBiography, opts ...grpc.CallOption) (*MsgSetUserBiographyResponse, error) { - out := new(MsgSetUserBiographyResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SetUserBiography", in, out, opts...) - if err != nil { - return nil, err - } - 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 -} - -func (c *msgClient) ChangeAlias(ctx context.Context, in *MsgChangeAlias, opts ...grpc.CallOption) (*MsgChangeAliasResponse, error) { - out := new(MsgChangeAliasResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/ChangeAlias", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) InviteEarlyAccess(ctx context.Context, in *MsgInviteEarlyAccess, opts ...grpc.CallOption) (*MsgInviteEarlyAccessResponse, error) { - out := new(MsgInviteEarlyAccessResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/InviteEarlyAccess", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) DisinviteEarlyAccess(ctx context.Context, in *MsgDisinviteEarlyAccess, opts ...grpc.CallOption) (*MsgDisinviteEarlyAccessResponse, error) { - out := new(MsgDisinviteEarlyAccessResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/DisinviteEarlyAccess", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) ConnectZealyAccount(ctx context.Context, in *MsgConnectZealyAccount, opts ...grpc.CallOption) (*MsgConnectZealyAccountResponse, error) { - out := new(MsgConnectZealyAccountResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/ConnectZealyAccount", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) EncounterCreate(ctx context.Context, in *MsgEncounterCreate, opts ...grpc.CallOption) (*MsgEncounterCreateResponse, error) { - out := new(MsgEncounterCreateResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/EncounterCreate", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) { - out := new(MsgEncounterDoResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/EncounterDo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) { - out := new(MsgEncounterCloseResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/EncounterClose", 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) - BuyCardScheme(context.Context, *MsgBuyCardScheme) (*MsgBuyCardSchemeResponse, error) - VoteCard(context.Context, *MsgVoteCard) (*MsgVoteCardResponse, error) - SaveCardContent(context.Context, *MsgSaveCardContent) (*MsgSaveCardContentResponse, error) - TransferCard(context.Context, *MsgTransferCard) (*MsgTransferCardResponse, error) - DonateToCard(context.Context, *MsgDonateToCard) (*MsgDonateToCardResponse, error) - AddArtwork(context.Context, *MsgAddArtwork) (*MsgAddArtworkResponse, error) - ChangeArtist(context.Context, *MsgChangeArtist) (*MsgChangeArtistResponse, error) - RegisterForCouncil(context.Context, *MsgRegisterForCouncil) (*MsgRegisterForCouncilResponse, error) - ReportMatch(context.Context, *MsgReportMatch) (*MsgReportMatchResponse, error) - ApointMatchReporter(context.Context, *MsgApointMatchReporter) (*MsgApointMatchReporterResponse, 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) - 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) - RevealCouncilResponse(context.Context, *MsgRevealCouncilResponse) (*MsgRevealCouncilResponseResponse, error) - RestartCouncil(context.Context, *MsgRestartCouncil) (*MsgRestartCouncilResponse, error) - RewokeCouncilRegistration(context.Context, *MsgRewokeCouncilRegistration) (*MsgRewokeCouncilRegistrationResponse, error) - ConfirmMatch(context.Context, *MsgConfirmMatch) (*MsgConfirmMatchResponse, error) - SetProfileCard(context.Context, *MsgSetProfileCard) (*MsgSetProfileCardResponse, error) - OpenBoosterPack(context.Context, *MsgOpenBoosterPack) (*MsgOpenBoosterPackResponse, error) - TransferBoosterPack(context.Context, *MsgTransferBoosterPack) (*MsgTransferBoosterPackResponse, 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) - ChangeAlias(context.Context, *MsgChangeAlias) (*MsgChangeAliasResponse, error) - InviteEarlyAccess(context.Context, *MsgInviteEarlyAccess) (*MsgInviteEarlyAccessResponse, error) - DisinviteEarlyAccess(context.Context, *MsgDisinviteEarlyAccess) (*MsgDisinviteEarlyAccessResponse, error) - ConnectZealyAccount(context.Context, *MsgConnectZealyAccount) (*MsgConnectZealyAccountResponse, error) - EncounterCreate(context.Context, *MsgEncounterCreate) (*MsgEncounterCreateResponse, error) - EncounterDo(context.Context, *MsgEncounterDo) (*MsgEncounterDoResponse, error) - EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) -} - -// UnimplementedMsgServer can be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} - -func (*UnimplementedMsgServer) Createuser(ctx context.Context, req *MsgCreateuser) (*MsgCreateuserResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Createuser not implemented") -} -func (*UnimplementedMsgServer) BuyCardScheme(ctx context.Context, req *MsgBuyCardScheme) (*MsgBuyCardSchemeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BuyCardScheme not implemented") -} -func (*UnimplementedMsgServer) VoteCard(ctx context.Context, req *MsgVoteCard) (*MsgVoteCardResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method VoteCard not implemented") -} -func (*UnimplementedMsgServer) SaveCardContent(ctx context.Context, req *MsgSaveCardContent) (*MsgSaveCardContentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SaveCardContent not implemented") -} -func (*UnimplementedMsgServer) TransferCard(ctx context.Context, req *MsgTransferCard) (*MsgTransferCardResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method TransferCard not implemented") -} -func (*UnimplementedMsgServer) DonateToCard(ctx context.Context, req *MsgDonateToCard) (*MsgDonateToCardResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DonateToCard not implemented") -} -func (*UnimplementedMsgServer) AddArtwork(ctx context.Context, req *MsgAddArtwork) (*MsgAddArtworkResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddArtwork not implemented") -} -func (*UnimplementedMsgServer) ChangeArtist(ctx context.Context, req *MsgChangeArtist) (*MsgChangeArtistResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ChangeArtist not implemented") -} -func (*UnimplementedMsgServer) RegisterForCouncil(ctx context.Context, req *MsgRegisterForCouncil) (*MsgRegisterForCouncilResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RegisterForCouncil not implemented") -} -func (*UnimplementedMsgServer) ReportMatch(ctx context.Context, req *MsgReportMatch) (*MsgReportMatchResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ReportMatch not implemented") -} -func (*UnimplementedMsgServer) ApointMatchReporter(ctx context.Context, req *MsgApointMatchReporter) (*MsgApointMatchReporterResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ApointMatchReporter not implemented") -} -func (*UnimplementedMsgServer) CreateSet(ctx context.Context, req *MsgCreateSet) (*MsgCreateSetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateSet not implemented") -} -func (*UnimplementedMsgServer) AddCardToSet(ctx context.Context, req *MsgAddCardToSet) (*MsgAddCardToSetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddCardToSet not implemented") -} -func (*UnimplementedMsgServer) FinalizeSet(ctx context.Context, req *MsgFinalizeSet) (*MsgFinalizeSetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method FinalizeSet not implemented") -} -func (*UnimplementedMsgServer) BuyBoosterPack(ctx context.Context, req *MsgBuyBoosterPack) (*MsgBuyBoosterPackResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BuyBoosterPack not implemented") -} -func (*UnimplementedMsgServer) RemoveCardFromSet(ctx context.Context, req *MsgRemoveCardFromSet) (*MsgRemoveCardFromSetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveCardFromSet not implemented") -} -func (*UnimplementedMsgServer) RemoveContributorFromSet(ctx context.Context, req *MsgRemoveContributorFromSet) (*MsgRemoveContributorFromSetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveContributorFromSet 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") -} -func (*UnimplementedMsgServer) BuyCard(ctx context.Context, req *MsgBuyCard) (*MsgBuyCardResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BuyCard not implemented") -} -func (*UnimplementedMsgServer) RemoveSellOffer(ctx context.Context, req *MsgRemoveSellOffer) (*MsgRemoveSellOfferResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveSellOffer not implemented") -} -func (*UnimplementedMsgServer) AddArtworkToSet(ctx context.Context, req *MsgAddArtworkToSet) (*MsgAddArtworkToSetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddArtworkToSet 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") -} -func (*UnimplementedMsgServer) CreateCouncil(ctx context.Context, req *MsgCreateCouncil) (*MsgCreateCouncilResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateCouncil not implemented") -} -func (*UnimplementedMsgServer) CommitCouncilResponse(ctx context.Context, req *MsgCommitCouncilResponse) (*MsgCommitCouncilResponseResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CommitCouncilResponse not implemented") -} -func (*UnimplementedMsgServer) RevealCouncilResponse(ctx context.Context, req *MsgRevealCouncilResponse) (*MsgRevealCouncilResponseResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RevealCouncilResponse not implemented") -} -func (*UnimplementedMsgServer) RestartCouncil(ctx context.Context, req *MsgRestartCouncil) (*MsgRestartCouncilResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RestartCouncil not implemented") -} -func (*UnimplementedMsgServer) RewokeCouncilRegistration(ctx context.Context, req *MsgRewokeCouncilRegistration) (*MsgRewokeCouncilRegistrationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RewokeCouncilRegistration not implemented") -} -func (*UnimplementedMsgServer) ConfirmMatch(ctx context.Context, req *MsgConfirmMatch) (*MsgConfirmMatchResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ConfirmMatch not implemented") -} -func (*UnimplementedMsgServer) SetProfileCard(ctx context.Context, req *MsgSetProfileCard) (*MsgSetProfileCardResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetProfileCard not implemented") -} -func (*UnimplementedMsgServer) OpenBoosterPack(ctx context.Context, req *MsgOpenBoosterPack) (*MsgOpenBoosterPackResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method OpenBoosterPack not implemented") -} -func (*UnimplementedMsgServer) TransferBoosterPack(ctx context.Context, req *MsgTransferBoosterPack) (*MsgTransferBoosterPackResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method TransferBoosterPack not implemented") -} -func (*UnimplementedMsgServer) SetSetStoryWriter(ctx context.Context, req *MsgSetSetStoryWriter) (*MsgSetSetStoryWriterResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetSetStoryWriter 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") -} -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 (*UnimplementedMsgServer) ChangeAlias(ctx context.Context, req *MsgChangeAlias) (*MsgChangeAliasResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ChangeAlias not implemented") -} -func (*UnimplementedMsgServer) InviteEarlyAccess(ctx context.Context, req *MsgInviteEarlyAccess) (*MsgInviteEarlyAccessResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method InviteEarlyAccess not implemented") -} -func (*UnimplementedMsgServer) DisinviteEarlyAccess(ctx context.Context, req *MsgDisinviteEarlyAccess) (*MsgDisinviteEarlyAccessResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DisinviteEarlyAccess not implemented") -} -func (*UnimplementedMsgServer) ConnectZealyAccount(ctx context.Context, req *MsgConnectZealyAccount) (*MsgConnectZealyAccountResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ConnectZealyAccount not implemented") -} -func (*UnimplementedMsgServer) EncounterCreate(ctx context.Context, req *MsgEncounterCreate) (*MsgEncounterCreateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EncounterCreate not implemented") -} -func (*UnimplementedMsgServer) EncounterDo(ctx context.Context, req *MsgEncounterDo) (*MsgEncounterDoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EncounterDo not implemented") -} -func (*UnimplementedMsgServer) EncounterClose(ctx context.Context, req *MsgEncounterClose) (*MsgEncounterCloseResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EncounterClose not implemented") -} - -func RegisterMsgServer(s grpc1.Server, srv MsgServer) { - s.RegisterService(&_Msg_serviceDesc, srv) -} - -func _Msg_Createuser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCreateuser) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).Createuser(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/Createuser", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).Createuser(ctx, req.(*MsgCreateuser)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_BuyCardScheme_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgBuyCardScheme) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).BuyCardScheme(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/BuyCardScheme", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).BuyCardScheme(ctx, req.(*MsgBuyCardScheme)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_VoteCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgVoteCard) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).VoteCard(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/VoteCard", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).VoteCard(ctx, req.(*MsgVoteCard)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_SaveCardContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSaveCardContent) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).SaveCardContent(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SaveCardContent", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SaveCardContent(ctx, req.(*MsgSaveCardContent)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_TransferCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgTransferCard) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).TransferCard(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/TransferCard", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).TransferCard(ctx, req.(*MsgTransferCard)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_DonateToCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgDonateToCard) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).DonateToCard(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/DonateToCard", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).DonateToCard(ctx, req.(*MsgDonateToCard)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_AddArtwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgAddArtwork) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).AddArtwork(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddArtwork", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddArtwork(ctx, req.(*MsgAddArtwork)) - } - 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 { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).ChangeArtist(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/ChangeArtist", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ChangeArtist(ctx, req.(*MsgChangeArtist)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_RegisterForCouncil_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRegisterForCouncil) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).RegisterForCouncil(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/RegisterForCouncil", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).RegisterForCouncil(ctx, req.(*MsgRegisterForCouncil)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_ReportMatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgReportMatch) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).ReportMatch(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/ReportMatch", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ReportMatch(ctx, req.(*MsgReportMatch)) - } - 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 { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).ApointMatchReporter(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/ApointMatchReporter", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ApointMatchReporter(ctx, req.(*MsgApointMatchReporter)) - } - return interceptor(ctx, in, info, handler) -} - -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).CreateSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/CreateSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CreateSet(ctx, req.(*MsgCreateSet)) - } - return interceptor(ctx, in, info, handler) -} - -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).AddCardToSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddCardToSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddCardToSet(ctx, req.(*MsgAddCardToSet)) - } - return interceptor(ctx, in, info, handler) -} - -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).FinalizeSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/FinalizeSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).FinalizeSet(ctx, req.(*MsgFinalizeSet)) - } - return interceptor(ctx, in, info, handler) -} - -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).BuyBoosterPack(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/BuyBoosterPack", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).BuyBoosterPack(ctx, req.(*MsgBuyBoosterPack)) - } - return interceptor(ctx, in, info, handler) -} - -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).RemoveCardFromSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/RemoveCardFromSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).RemoveCardFromSet(ctx, req.(*MsgRemoveCardFromSet)) - } - return interceptor(ctx, in, info, handler) -} - -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).RemoveContributorFromSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/RemoveContributorFromSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).RemoveContributorFromSet(ctx, req.(*MsgRemoveContributorFromSet)) - } - return interceptor(ctx, in, info, handler) -} - -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).AddContributorToSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddContributorToSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddContributorToSet(ctx, req.(*MsgAddContributorToSet)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_CreateSellOffer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCreateSellOffer) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CreateSellOffer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/CreateSellOffer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CreateSellOffer(ctx, req.(*MsgCreateSellOffer)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_BuyCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgBuyCard) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).BuyCard(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/BuyCard", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).BuyCard(ctx, req.(*MsgBuyCard)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_RemoveSellOffer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRemoveSellOffer) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).RemoveSellOffer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/RemoveSellOffer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).RemoveSellOffer(ctx, req.(*MsgRemoveSellOffer)) - } - return interceptor(ctx, in, info, handler) -} - -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).AddArtworkToSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddArtworkToSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddArtworkToSet(ctx, req.(*MsgAddArtworkToSet)) - } - return interceptor(ctx, in, info, handler) -} - -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).AddStoryToSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddStoryToSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddStoryToSet(ctx, req.(*MsgAddStoryToSet)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_SetCardRarity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetCardRarity) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).SetCardRarity(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SetCardRarity", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetCardRarity(ctx, req.(*MsgSetCardRarity)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_CreateCouncil_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCreateCouncil) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CreateCouncil(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/CreateCouncil", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CreateCouncil(ctx, req.(*MsgCreateCouncil)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_CommitCouncilResponse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCommitCouncilResponse) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CommitCouncilResponse(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/CommitCouncilResponse", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CommitCouncilResponse(ctx, req.(*MsgCommitCouncilResponse)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_RevealCouncilResponse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRevealCouncilResponse) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).RevealCouncilResponse(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/RevealCouncilResponse", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).RevealCouncilResponse(ctx, req.(*MsgRevealCouncilResponse)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_RestartCouncil_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRestartCouncil) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).RestartCouncil(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/RestartCouncil", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).RestartCouncil(ctx, req.(*MsgRestartCouncil)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_RewokeCouncilRegistration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRewokeCouncilRegistration) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).RewokeCouncilRegistration(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/RewokeCouncilRegistration", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).RewokeCouncilRegistration(ctx, req.(*MsgRewokeCouncilRegistration)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_ConfirmMatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgConfirmMatch) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).ConfirmMatch(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/ConfirmMatch", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ConfirmMatch(ctx, req.(*MsgConfirmMatch)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_SetProfileCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetProfileCard) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).SetProfileCard(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SetProfileCard", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetProfileCard(ctx, req.(*MsgSetProfileCard)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_OpenBoosterPack_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgOpenBoosterPack) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).OpenBoosterPack(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/OpenBoosterPack", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).OpenBoosterPack(ctx, req.(*MsgOpenBoosterPack)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_TransferBoosterPack_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgTransferBoosterPack) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).TransferBoosterPack(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/TransferBoosterPack", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).TransferBoosterPack(ctx, req.(*MsgTransferBoosterPack)) - } - return interceptor(ctx, in, info, handler) -} - -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).SetSetStoryWriter(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SetSetStoryWriter", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetSetStoryWriter(ctx, req.(*MsgSetSetStoryWriter)) - } - return interceptor(ctx, in, info, handler) -} - -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).SetSetArtist(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SetSetArtist", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetSetArtist(ctx, req.(*MsgSetSetArtist)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_SetUserWebsite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetUserWebsite) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).SetUserWebsite(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SetUserWebsite", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetUserWebsite(ctx, req.(*MsgSetUserWebsite)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_SetUserBiography_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetUserBiography) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).SetUserBiography(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SetUserBiography", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetUserBiography(ctx, req.(*MsgSetUserBiography)) - } - 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) -} - -func _Msg_ChangeAlias_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgChangeAlias) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).ChangeAlias(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/ChangeAlias", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ChangeAlias(ctx, req.(*MsgChangeAlias)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_InviteEarlyAccess_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgInviteEarlyAccess) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).InviteEarlyAccess(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/InviteEarlyAccess", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).InviteEarlyAccess(ctx, req.(*MsgInviteEarlyAccess)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_DisinviteEarlyAccess_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgDisinviteEarlyAccess) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).DisinviteEarlyAccess(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/DisinviteEarlyAccess", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).DisinviteEarlyAccess(ctx, req.(*MsgDisinviteEarlyAccess)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_ConnectZealyAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgConnectZealyAccount) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).ConnectZealyAccount(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/ConnectZealyAccount", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ConnectZealyAccount(ctx, req.(*MsgConnectZealyAccount)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_EncounterCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgEncounterCreate) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).EncounterCreate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/EncounterCreate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).EncounterCreate(ctx, req.(*MsgEncounterCreate)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_EncounterDo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgEncounterDo) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).EncounterDo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/EncounterDo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).EncounterDo(ctx, req.(*MsgEncounterDo)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_EncounterClose_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgEncounterClose) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).EncounterClose(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/EncounterClose", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).EncounterClose(ctx, req.(*MsgEncounterClose)) - } - return interceptor(ctx, in, info, handler) -} - -var _Msg_serviceDesc = grpc.ServiceDesc{ - ServiceName: "DecentralCardGame.cardchain.cardchain.Msg", - HandlerType: (*MsgServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Createuser", - Handler: _Msg_Createuser_Handler, - }, - { - MethodName: "BuyCardScheme", - Handler: _Msg_BuyCardScheme_Handler, - }, - { - MethodName: "VoteCard", - Handler: _Msg_VoteCard_Handler, - }, - { - MethodName: "SaveCardContent", - Handler: _Msg_SaveCardContent_Handler, - }, - { - MethodName: "TransferCard", - Handler: _Msg_TransferCard_Handler, - }, - { - MethodName: "DonateToCard", - Handler: _Msg_DonateToCard_Handler, - }, - { - MethodName: "AddArtwork", - Handler: _Msg_AddArtwork_Handler, - }, - { - MethodName: "ChangeArtist", - Handler: _Msg_ChangeArtist_Handler, - }, - { - MethodName: "RegisterForCouncil", - Handler: _Msg_RegisterForCouncil_Handler, - }, - { - MethodName: "ReportMatch", - Handler: _Msg_ReportMatch_Handler, - }, - { - MethodName: "ApointMatchReporter", - Handler: _Msg_ApointMatchReporter_Handler, - }, - { - MethodName: "CreateSet", - Handler: _Msg_CreateSet_Handler, - }, - { - MethodName: "AddCardToSet", - Handler: _Msg_AddCardToSet_Handler, - }, - { - MethodName: "FinalizeSet", - Handler: _Msg_FinalizeSet_Handler, - }, - { - MethodName: "BuyBoosterPack", - Handler: _Msg_BuyBoosterPack_Handler, - }, - { - MethodName: "RemoveCardFromSet", - Handler: _Msg_RemoveCardFromSet_Handler, - }, - { - MethodName: "RemoveContributorFromSet", - Handler: _Msg_RemoveContributorFromSet_Handler, - }, - { - MethodName: "AddContributorToSet", - Handler: _Msg_AddContributorToSet_Handler, - }, - { - MethodName: "CreateSellOffer", - Handler: _Msg_CreateSellOffer_Handler, - }, - { - MethodName: "BuyCard", - Handler: _Msg_BuyCard_Handler, - }, - { - MethodName: "RemoveSellOffer", - Handler: _Msg_RemoveSellOffer_Handler, - }, - { - MethodName: "AddArtworkToSet", - Handler: _Msg_AddArtworkToSet_Handler, - }, - { - MethodName: "AddStoryToSet", - Handler: _Msg_AddStoryToSet_Handler, - }, - { - MethodName: "SetCardRarity", - Handler: _Msg_SetCardRarity_Handler, - }, - { - MethodName: "CreateCouncil", - Handler: _Msg_CreateCouncil_Handler, - }, - { - MethodName: "CommitCouncilResponse", - Handler: _Msg_CommitCouncilResponse_Handler, - }, - { - MethodName: "RevealCouncilResponse", - Handler: _Msg_RevealCouncilResponse_Handler, - }, - { - MethodName: "RestartCouncil", - Handler: _Msg_RestartCouncil_Handler, - }, - { - MethodName: "RewokeCouncilRegistration", - Handler: _Msg_RewokeCouncilRegistration_Handler, - }, - { - MethodName: "ConfirmMatch", - Handler: _Msg_ConfirmMatch_Handler, - }, - { - MethodName: "SetProfileCard", - Handler: _Msg_SetProfileCard_Handler, - }, - { - MethodName: "OpenBoosterPack", - Handler: _Msg_OpenBoosterPack_Handler, - }, - { - MethodName: "TransferBoosterPack", - Handler: _Msg_TransferBoosterPack_Handler, - }, - { - MethodName: "SetSetStoryWriter", - Handler: _Msg_SetSetStoryWriter_Handler, - }, - { - MethodName: "SetSetArtist", - Handler: _Msg_SetSetArtist_Handler, - }, - { - MethodName: "SetUserWebsite", - Handler: _Msg_SetUserWebsite_Handler, - }, - { - MethodName: "SetUserBiography", - Handler: _Msg_SetUserBiography_Handler, - }, - { - MethodName: "MultiVoteCard", - Handler: _Msg_MultiVoteCard_Handler, - }, - { - MethodName: "OpenMatch", - Handler: _Msg_OpenMatch_Handler, - }, - { - MethodName: "SetSetName", - Handler: _Msg_SetSetName_Handler, - }, - { - MethodName: "ChangeAlias", - Handler: _Msg_ChangeAlias_Handler, - }, - { - MethodName: "InviteEarlyAccess", - Handler: _Msg_InviteEarlyAccess_Handler, - }, - { - MethodName: "DisinviteEarlyAccess", - Handler: _Msg_DisinviteEarlyAccess_Handler, - }, - { - MethodName: "ConnectZealyAccount", - Handler: _Msg_ConnectZealyAccount_Handler, - }, - { - MethodName: "EncounterCreate", - Handler: _Msg_EncounterCreate_Handler, - }, - { - MethodName: "EncounterDo", - Handler: _Msg_EncounterDo_Handler, - }, - { - MethodName: "EncounterClose", - Handler: _Msg_EncounterClose_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cardchain/cardchain/tx.proto", -} - -func (m *MsgCreateuser) 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 *MsgCreateuser) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateuser) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Alias) > 0 { - i -= len(m.Alias) - copy(dAtA[i:], m.Alias) - i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) - i-- - dAtA[i] = 0x1a - } - if len(m.NewUser) > 0 { - i -= len(m.NewUser) - copy(dAtA[i:], m.NewUser) - i = encodeVarintTx(dAtA, i, uint64(len(m.NewUser))) - 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 *MsgCreateuserResponse) 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 *MsgCreateuserResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateuserResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgBuyCardScheme) 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 *MsgBuyCardScheme) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgBuyCardScheme) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - 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) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgBuyCardSchemeResponse) 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 *MsgBuyCardSchemeResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgBuyCardSchemeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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 -} - -func (m *MsgVoteCard) 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 *MsgVoteCard) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgVoteCard) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.VoteType != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.VoteType)) - i-- - dAtA[i] = 0x18 - } - 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 *MsgVoteCardResponse) 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 *MsgVoteCardResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgVoteCardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *MsgSaveCardContent) 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 *MsgSaveCardContent) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSaveCardContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x2a - } - if len(m.Notes) > 0 { - i -= len(m.Notes) - copy(dAtA[i:], m.Notes) - i = encodeVarintTx(dAtA, i, uint64(len(m.Notes))) - i-- - dAtA[i] = 0x22 - } - if len(m.Content) > 0 { - i -= len(m.Content) - copy(dAtA[i:], m.Content) - i = encodeVarintTx(dAtA, i, uint64(len(m.Content))) - 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 *MsgSaveCardContentResponse) 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 *MsgSaveCardContentResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSaveCardContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *MsgTransferCard) 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 *MsgTransferCard) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgTransferCard) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Receiver) > 0 { - i -= len(m.Receiver) - copy(dAtA[i:], m.Receiver) - i = encodeVarintTx(dAtA, i, uint64(len(m.Receiver))) - i-- - dAtA[i] = 0x22 - } - 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 *MsgTransferCardResponse) 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 *MsgTransferCardResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgTransferCardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgDonateToCard) 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 *MsgDonateToCard) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgDonateToCard) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size := m.Amount.Size() - i -= size - if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintTx(dAtA, i, uint64(size)) - } - 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 *MsgDonateToCardResponse) 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 *MsgDonateToCardResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgDonateToCardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgAddArtwork) 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 *MsgAddArtwork) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgAddArtwork) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.FullArt { - i-- - if m.FullArt { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 - } - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) - 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 *MsgAddArtworkResponse) 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 *MsgAddArtworkResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgAddArtworkResponse) 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) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgChangeArtist) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgChangeArtist) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Artist) > 0 { - i -= len(m.Artist) - copy(dAtA[i:], m.Artist) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - 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 *MsgChangeArtistResponse) 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 *MsgChangeArtistResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgChangeArtistResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgRegisterForCouncil) 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 *MsgRegisterForCouncil) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRegisterForCouncil) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - 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 *MsgRegisterForCouncilResponse) 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 *MsgRegisterForCouncilResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRegisterForCouncilResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgReportMatch) 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 *MsgReportMatch) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgReportMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Outcome != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) - i-- - dAtA[i] = 0x28 - } - if len(m.PlayedCardsB) > 0 { - dAtA3 := make([]byte, len(m.PlayedCardsB)*10) - var j2 int - for _, num := range m.PlayedCardsB { - for num >= 1<<7 { - dAtA3[j2] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j2++ - } - 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.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 m.MatchId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) - 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 *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 *MsgApointMatchReporter) 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 *MsgApointMatchReporter) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgApointMatchReporter) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Reporter) > 0 { - i -= len(m.Reporter) - copy(dAtA[i:], m.Reporter) - i = encodeVarintTx(dAtA, i, uint64(len(m.Reporter))) - 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 *MsgApointMatchReporterResponse) 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 *MsgApointMatchReporterResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgApointMatchReporterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgCreateSet) 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 *MsgCreateSet) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Contributors) > 0 { - for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Contributors[iNdEx]) - copy(dAtA[i:], m.Contributors[iNdEx]) - i = encodeVarintTx(dAtA, i, uint64(len(m.Contributors[iNdEx]))) - i-- - dAtA[i] = 0x2a - } - } - if len(m.StoryWriter) > 0 { - i -= len(m.StoryWriter) - copy(dAtA[i:], m.StoryWriter) - i = encodeVarintTx(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 = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x1a - } - 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 - } - 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 *MsgCreateSetResponse) 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 *MsgCreateSetResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgAddCardToSet) 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 *MsgAddCardToSet) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgAddCardToSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x18 - } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) - 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 *MsgAddCardToSetResponse) 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 *MsgAddCardToSetResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgAddCardToSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgFinalizeSet) 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 *MsgFinalizeSet) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgFinalizeSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) - 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 *MsgFinalizeSetResponse) 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 *MsgFinalizeSetResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgFinalizeSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgBuyBoosterPack) 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 *MsgBuyBoosterPack) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgBuyBoosterPack) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) - 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 *MsgBuyBoosterPackResponse) 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 *MsgBuyBoosterPackResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgBuyBoosterPackResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *MsgRemoveCardFromSet) 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 *MsgRemoveCardFromSet) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRemoveCardFromSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x18 - } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) - 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 *MsgRemoveCardFromSetResponse) 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 *MsgRemoveCardFromSetResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRemoveCardFromSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgRemoveContributorFromSet) 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 *MsgRemoveContributorFromSet) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRemoveContributorFromSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.User) > 0 { - i -= len(m.User) - copy(dAtA[i:], m.User) - i = encodeVarintTx(dAtA, i, uint64(len(m.User))) - i-- - 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) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgRemoveContributorFromSetResponse) 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 *MsgRemoveContributorFromSetResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRemoveContributorFromSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgAddContributorToSet) 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 *MsgAddContributorToSet) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgAddContributorToSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.User) > 0 { - i -= len(m.User) - copy(dAtA[i:], m.User) - i = encodeVarintTx(dAtA, i, uint64(len(m.User))) - i-- - 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) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgAddContributorToSetResponse) 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 *MsgAddContributorToSetResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgAddContributorToSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgCreateSellOffer) 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 *MsgCreateSellOffer) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateSellOffer) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size := m.Price.Size() - i -= size - if _, err := m.Price.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - if m.Card != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Card)) - 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 *MsgCreateSellOfferResponse) 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 *MsgCreateSellOfferResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateSellOfferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgBuyCard) 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 *MsgBuyCard) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgBuyCard) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.SellOfferId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SellOfferId)) - 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 *MsgBuyCardResponse) 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 *MsgBuyCardResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgBuyCardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgRemoveSellOffer) 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 *MsgRemoveSellOffer) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRemoveSellOffer) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.SellOfferId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SellOfferId)) - 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 *MsgRemoveSellOfferResponse) 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 *MsgRemoveSellOfferResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRemoveSellOfferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgAddArtworkToSet) 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 *MsgAddArtworkToSet) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgAddArtworkToSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) - i-- - 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) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgAddArtworkToSetResponse) 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 *MsgAddArtworkToSetResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgAddArtworkToSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgAddStoryToSet) 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 *MsgAddStoryToSet) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgAddStoryToSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Story) > 0 { - i -= len(m.Story) - copy(dAtA[i:], m.Story) - i = encodeVarintTx(dAtA, i, uint64(len(m.Story))) - i-- - 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) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgAddStoryToSetResponse) 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 *MsgAddStoryToSetResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgAddStoryToSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgSetCardRarity) 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 *MsgSetCardRarity) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSetCardRarity) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Rarity != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Rarity)) - i-- - dAtA[i] = 0x20 - } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) - i-- - dAtA[i] = 0x18 - } - 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 *MsgSetCardRarityResponse) 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 *MsgSetCardRarityResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSetCardRarityResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgCreateCouncil) 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 *MsgCreateCouncil) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateCouncil) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - 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 *MsgCreateCouncilResponse) 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 *MsgCreateCouncilResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateCouncilResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgCommitCouncilResponse) 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 *MsgCommitCouncilResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCommitCouncilResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Suggestion) > 0 { - i -= len(m.Suggestion) - copy(dAtA[i:], m.Suggestion) - i = encodeVarintTx(dAtA, i, uint64(len(m.Suggestion))) - i-- - dAtA[i] = 0x22 - } - if m.CouncilId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) - i-- - dAtA[i] = 0x18 - } - if len(m.Response) > 0 { - i -= len(m.Response) - copy(dAtA[i:], m.Response) - i = encodeVarintTx(dAtA, i, uint64(len(m.Response))) - 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 *MsgCommitCouncilResponseResponse) 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 *MsgCommitCouncilResponseResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCommitCouncilResponseResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgRevealCouncilResponse) 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 *MsgRevealCouncilResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRevealCouncilResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CouncilId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) - i-- - dAtA[i] = 0x20 - } - if len(m.Secret) > 0 { - i -= len(m.Secret) - copy(dAtA[i:], m.Secret) - i = encodeVarintTx(dAtA, i, uint64(len(m.Secret))) - i-- - dAtA[i] = 0x1a - } - if m.Response != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Response)) - 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 *MsgRevealCouncilResponseResponse) 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 *MsgRevealCouncilResponseResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRevealCouncilResponseResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgRestartCouncil) 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 *MsgRestartCouncil) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRestartCouncil) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CouncilId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) - 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 *MsgRestartCouncilResponse) 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 *MsgRestartCouncilResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRestartCouncilResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgRewokeCouncilRegistration) 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 *MsgRewokeCouncilRegistration) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRewokeCouncilRegistration) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - 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 *MsgRewokeCouncilRegistrationResponse) 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 *MsgRewokeCouncilRegistrationResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRewokeCouncilRegistrationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgConfirmMatch) 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 *MsgConfirmMatch) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgConfirmMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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-- - dAtA[i] = 0x18 - } - if m.MatchId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) - 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 *MsgConfirmMatchResponse) 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 *MsgConfirmMatchResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgConfirmMatchResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgSetProfileCard) 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 *MsgSetProfileCard) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSetProfileCard) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - 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 *MsgSetProfileCardResponse) 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 *MsgSetProfileCardResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSetProfileCardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgOpenBoosterPack) 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 *MsgOpenBoosterPack) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgOpenBoosterPack) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.BoosterPackId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.BoosterPackId)) - 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 *MsgOpenBoosterPackResponse) 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 *MsgOpenBoosterPackResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgOpenBoosterPackResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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 -} - -func (m *MsgTransferBoosterPack) 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 *MsgTransferBoosterPack) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgTransferBoosterPack) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Receiver) > 0 { - i -= len(m.Receiver) - copy(dAtA[i:], m.Receiver) - i = encodeVarintTx(dAtA, i, uint64(len(m.Receiver))) - i-- - dAtA[i] = 0x1a - } - if m.BoosterPackId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.BoosterPackId)) - 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 *MsgTransferBoosterPackResponse) 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 *MsgTransferBoosterPackResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgTransferBoosterPackResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgSetSetStoryWriter) 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 *MsgSetSetStoryWriter) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSetSetStoryWriter) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.StoryWriter) > 0 { - i -= len(m.StoryWriter) - copy(dAtA[i:], m.StoryWriter) - i = encodeVarintTx(dAtA, i, uint64(len(m.StoryWriter))) - i-- - 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) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgSetSetStoryWriterResponse) 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 *MsgSetSetStoryWriterResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSetSetStoryWriterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgSetSetArtist) 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 *MsgSetSetArtist) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSetSetArtist) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Artist) > 0 { - i -= len(m.Artist) - copy(dAtA[i:], m.Artist) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - i-- - 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) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgSetSetArtistResponse) 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 *MsgSetSetArtistResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSetSetArtistResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgSetUserWebsite) 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 *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 *MsgOpenMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - 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 - } - 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 *MsgOpenMatchResponse) 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 *MsgOpenMatchResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -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 *MsgSetSetName) 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 *MsgSetSetName) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSetSetName) 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 = encodeVarintTx(dAtA, i, uint64(len(m.Name))) - i-- - 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) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgSetSetNameResponse) 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 *MsgSetSetNameResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSetSetNameResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgChangeAlias) 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 *MsgChangeAlias) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgChangeAlias) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Alias) > 0 { - i -= len(m.Alias) - copy(dAtA[i:], m.Alias) - i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) - 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 *MsgChangeAliasResponse) 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 *MsgChangeAliasResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgChangeAliasResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgInviteEarlyAccess) 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 *MsgInviteEarlyAccess) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgInviteEarlyAccess) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.User) > 0 { - i -= len(m.User) - copy(dAtA[i:], m.User) - i = encodeVarintTx(dAtA, i, uint64(len(m.User))) - 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 *MsgInviteEarlyAccessResponse) 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 *MsgInviteEarlyAccessResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgInviteEarlyAccessResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgDisinviteEarlyAccess) 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 *MsgDisinviteEarlyAccess) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgDisinviteEarlyAccess) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.User) > 0 { - i -= len(m.User) - copy(dAtA[i:], m.User) - i = encodeVarintTx(dAtA, i, uint64(len(m.User))) - 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 *MsgDisinviteEarlyAccessResponse) 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 *MsgDisinviteEarlyAccessResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgDisinviteEarlyAccessResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgConnectZealyAccount) 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 *MsgConnectZealyAccount) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgConnectZealyAccount) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ZealyId) > 0 { - i -= len(m.ZealyId) - copy(dAtA[i:], m.ZealyId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ZealyId))) - 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 *MsgConnectZealyAccountResponse) 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 *MsgConnectZealyAccountResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgConnectZealyAccountResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgEncounterCreate) 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 *MsgEncounterCreate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgEncounterCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) - i-- - dAtA[i] = 0x2a - } - if len(m.Parameters) > 0 { - for k := range m.Parameters { - v := m.Parameters[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarintTx(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarintTx(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarintTx(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x22 - } - } - if len(m.Drawlist) > 0 { - dAtA13 := make([]byte, len(m.Drawlist)*10) - var j12 int - for _, num := range m.Drawlist { - for num >= 1<<7 { - dAtA13[j12] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j12++ - } - dAtA13[j12] = uint8(num) - j12++ - } - i -= j12 - copy(dAtA[i:], dAtA13[:j12]) - i = encodeVarintTx(dAtA, i, uint64(j12)) - i-- - dAtA[i] = 0x1a - } - 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 - } - 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 *MsgEncounterCreateResponse) 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 *MsgEncounterCreateResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgEncounterCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgEncounterDo) 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 *MsgEncounterDo) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgEncounterDo) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.User) > 0 { - i -= len(m.User) - copy(dAtA[i:], m.User) - i = encodeVarintTx(dAtA, i, uint64(len(m.User))) - i-- - dAtA[i] = 0x1a - } - if m.EncounterId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.EncounterId)) - 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 *MsgEncounterDoResponse) 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 *MsgEncounterDoResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgEncounterDoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgEncounterClose) 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 *MsgEncounterClose) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgEncounterClose) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Won { - i-- - if m.Won { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 - } - if len(m.User) > 0 { - i -= len(m.User) - copy(dAtA[i:], m.User) - i = encodeVarintTx(dAtA, i, uint64(len(m.User))) - i-- - dAtA[i] = 0x1a - } - if m.EncounterId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.EncounterId)) - 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 *MsgEncounterCloseResponse) 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 *MsgEncounterCloseResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgEncounterCloseResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *MsgCreateuser) 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.NewUser) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Alias) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgCreateuserResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgBuyCardScheme) 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 = m.Bid.Size() - n += 1 + l + sovTx(uint64(l)) - return n -} - -func (m *MsgBuyCardSchemeResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) - } - return n -} - -func (m *MsgVoteCard) 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)) - } - if m.VoteType != 0 { - n += 1 + sovTx(uint64(m.VoteType)) - } - return n -} - -func (m *MsgVoteCardResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AirdropClaimed { - n += 2 - } - return n -} - -func (m *MsgSaveCardContent) 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.Content) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Notes) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.BalanceAnchor { - n += 2 - } - return n -} - -func (m *MsgSaveCardContentResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AirdropClaimed { - n += 2 - } - return n -} - -func (m *MsgTransferCard) 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.Receiver) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgTransferCardResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgDonateToCard) 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 = m.Amount.Size() - n += 1 + l + sovTx(uint64(l)) - return n -} - -func (m *MsgDonateToCardResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgAddArtwork) 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.Image) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.FullArt { - n += 2 - } - return n -} - -func (m *MsgAddArtworkResponse) 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 - } - 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.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgChangeArtistResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgRegisterForCouncil) 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)) - } - return n -} - -func (m *MsgRegisterForCouncilResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgReportMatch) 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.MatchId != 0 { - n += 1 + sovTx(uint64(m.MatchId)) - } - if len(m.PlayedCardsA) > 0 { - l = 0 - for _, e := range m.PlayedCardsA { - l += sovTx(uint64(e)) - } - n += 1 + sovTx(uint64(l)) + l - } - if len(m.PlayedCardsB) > 0 { - l = 0 - for _, e := range m.PlayedCardsB { - l += sovTx(uint64(e)) - } - n += 1 + sovTx(uint64(l)) + l - } - if m.Outcome != 0 { - n += 1 + sovTx(uint64(m.Outcome)) - } - return n -} - -func (m *MsgReportMatchResponse) 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 *MsgApointMatchReporter) 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)) - } - return n -} - -func (m *MsgApointMatchReporterResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgCreateSet) 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.Name) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.StoryWriter) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if len(m.Contributors) > 0 { - for _, s := range m.Contributors { - l = len(s) - n += 1 + l + sovTx(uint64(l)) - } - } - return n -} - -func (m *MsgCreateSetResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgAddCardToSet) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) - } - return n -} - -func (m *MsgAddCardToSetResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgFinalizeSet) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - return n -} - -func (m *MsgFinalizeSetResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgBuyBoosterPack) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - return n -} - -func (m *MsgBuyBoosterPackResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AirdropClaimed { - n += 2 - } - return n -} - -func (m *MsgRemoveCardFromSet) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) - } - return n -} - -func (m *MsgRemoveCardFromSetResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgRemoveContributorFromSet) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - l = len(m.User) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgRemoveContributorFromSetResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgAddContributorToSet) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - l = len(m.User) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgAddContributorToSetResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgCreateSellOffer) 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.Card != 0 { - n += 1 + sovTx(uint64(m.Card)) - } - l = m.Price.Size() - n += 1 + l + sovTx(uint64(l)) - return n -} - -func (m *MsgCreateSellOfferResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgBuyCard) 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.SellOfferId != 0 { - n += 1 + sovTx(uint64(m.SellOfferId)) - } - return n -} - -func (m *MsgBuyCardResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgRemoveSellOffer) 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.SellOfferId != 0 { - n += 1 + sovTx(uint64(m.SellOfferId)) - } - return n -} - -func (m *MsgRemoveSellOfferResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgAddArtworkToSet) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - l = len(m.Image) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgAddArtworkToSetResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgAddStoryToSet) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - l = len(m.Story) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgAddStoryToSetResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgSetCardRarity) 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)) - } - if m.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - if m.Rarity != 0 { - n += 1 + sovTx(uint64(m.Rarity)) - } - return n -} - -func (m *MsgSetCardRarityResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgCreateCouncil) 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)) - } - return n -} - -func (m *MsgCreateCouncilResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgCommitCouncilResponse) 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.Response) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.CouncilId != 0 { - n += 1 + sovTx(uint64(m.CouncilId)) - } - l = len(m.Suggestion) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgCommitCouncilResponseResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgRevealCouncilResponse) 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.Response != 0 { - n += 1 + sovTx(uint64(m.Response)) - } - l = len(m.Secret) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.CouncilId != 0 { - n += 1 + sovTx(uint64(m.CouncilId)) - } - return n -} - -func (m *MsgRevealCouncilResponseResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgRestartCouncil) 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.CouncilId != 0 { - n += 1 + sovTx(uint64(m.CouncilId)) - } - return n -} - -func (m *MsgRestartCouncilResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgRewokeCouncilRegistration) 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)) - } - return n -} - -func (m *MsgRewokeCouncilRegistrationResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgConfirmMatch) 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.MatchId != 0 { - n += 1 + sovTx(uint64(m.MatchId)) - } - 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 -} - -func (m *MsgConfirmMatchResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgSetProfileCard) 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)) - } - return n -} - -func (m *MsgSetProfileCardResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgOpenBoosterPack) 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.BoosterPackId != 0 { - n += 1 + sovTx(uint64(m.BoosterPackId)) - } - return n -} - -func (m *MsgOpenBoosterPackResponse) Size() (n int) { - if m == nil { - return 0 - } - 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 -} - -func (m *MsgTransferBoosterPack) 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.BoosterPackId != 0 { - n += 1 + sovTx(uint64(m.BoosterPackId)) - } - l = len(m.Receiver) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgTransferBoosterPackResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgSetSetStoryWriter) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - l = len(m.StoryWriter) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgSetSetStoryWriterResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgSetSetArtist) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgSetSetArtistResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgSetUserWebsite) 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.Website) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgSetUserWebsiteResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -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 - } - var l int - _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - 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 *MsgSetSetNameResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgChangeAlias) 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.Alias) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgChangeAliasResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgInviteEarlyAccess) 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.User) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgInviteEarlyAccessResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgDisinviteEarlyAccess) 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.User) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgDisinviteEarlyAccessResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgConnectZealyAccount) 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.ZealyId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgConnectZealyAccountResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgEncounterCreate) 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.Name) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if len(m.Drawlist) > 0 { - l = 0 - for _, e := range m.Drawlist { - l += sovTx(uint64(e)) - } - n += 1 + sovTx(uint64(l)) + l - } - if len(m.Parameters) > 0 { - for k, v := range m.Parameters { - _ = k - _ = v - mapEntrySize := 1 + len(k) + sovTx(uint64(len(k))) + 1 + len(v) + sovTx(uint64(len(v))) - n += mapEntrySize + 1 + sovTx(uint64(mapEntrySize)) - } - } - l = len(m.Image) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgEncounterCreateResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgEncounterDo) 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.EncounterId != 0 { - n += 1 + sovTx(uint64(m.EncounterId)) - } - l = len(m.User) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgEncounterDoResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgEncounterClose) 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.EncounterId != 0 { - n += 1 + sovTx(uint64(m.EncounterId)) - } - l = len(m.User) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.Won { - n += 2 - } - return n -} - -func (m *MsgEncounterCloseResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *MsgCreateuser) 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: MsgCreateuser: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateuser: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NewUser", 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.NewUser = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Alias", 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.Alias = 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 *MsgCreateuserResponse) 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: MsgCreateuserResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateuserResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgBuyCardScheme) 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: MsgBuyCardScheme: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBuyCardScheme: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgBuyCardSchemeResponse) 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: MsgBuyCardSchemeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - 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:]) - 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 *MsgVoteCard) 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: MsgVoteCard: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgVoteCard: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field VoteType", wireType) - } - m.VoteType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.VoteType |= VoteType(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 *MsgVoteCardResponse) 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: MsgVoteCardResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgVoteCardResponse: 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 *MsgSaveCardContent) 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: MsgSaveCardContent: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSaveCardContent: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: - 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 - 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:]) - 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: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Receiver", 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.Receiver = 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 *MsgTransferCardResponse) 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: MsgTransferCardResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgTransferCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgDonateToCard) 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: MsgDonateToCard: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDonateToCard: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", 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 - } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgDonateToCardResponse) 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: MsgDonateToCardResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDonateToCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgAddArtwork) 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: MsgAddArtwork: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddArtwork: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Image", 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.Image = append(m.Image[:0], dAtA[iNdEx:postIndex]...) - if m.Image == nil { - m.Image = []byte{} - } - 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:]) - 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 *MsgAddArtworkResponse) 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: MsgAddArtworkResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddArtworkResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgChangeArtist) 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: MsgChangeArtist: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgChangeArtist: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: - 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 *MsgChangeArtistResponse) 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: MsgChangeArtistResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgChangeArtistResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgRegisterForCouncil) 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: MsgRegisterForCouncil: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRegisterForCouncil: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = 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 *MsgRegisterForCouncilResponse) 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: MsgRegisterForCouncilResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRegisterForCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgReportMatch) 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: MsgReportMatch: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgReportMatch: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - 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 - } - } - case 3: - 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.PlayedCardsA = append(m.PlayedCardsA, 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.PlayedCardsA) == 0 { - m.PlayedCardsA = 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.PlayedCardsA = append(m.PlayedCardsA, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsA", wireType) - } - 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.PlayedCardsB = append(m.PlayedCardsB, 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.PlayedCardsB) == 0 { - m.PlayedCardsB = 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.PlayedCardsB = append(m.PlayedCardsB, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsB", wireType) - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) - } - m.Outcome = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Outcome |= Outcome(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 *MsgReportMatchResponse) 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: MsgReportMatchResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgReportMatchResponse: 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:]) - 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 *MsgApointMatchReporter) 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: MsgApointMatchReporter: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgApointMatchReporter: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reporter", 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.Reporter = 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 *MsgApointMatchReporterResponse) 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: MsgApointMatchReporterResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgApointMatchReporterResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCreateSet) 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: MsgCreateSet: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSet: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = 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 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.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 - 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 *MsgCreateSetResponse) 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: MsgCreateSetResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgAddCardToSet) 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: MsgAddCardToSet: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddCardToSet: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 != 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:]) - 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 - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - 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 - } - 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 Creator", 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.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 - } - } - 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 *MsgFinalizeSetResponse) 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: MsgFinalizeSetResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgFinalizeSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgBuyBoosterPack) 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: MsgBuyBoosterPack: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBuyBoosterPack: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 - } - } - 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 *MsgBuyBoosterPackResponse) 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: MsgBuyBoosterPackResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - 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:]) - 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 *MsgRemoveCardFromSet) 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: MsgRemoveCardFromSet: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRemoveCardFromSet: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 != 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:]) - 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 *MsgRemoveCardFromSetResponse) 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: MsgRemoveCardFromSetResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRemoveCardFromSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgRemoveContributorFromSet) 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: MsgRemoveContributorFromSet: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRemoveContributorFromSet: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 User", 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.User = 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 *MsgRemoveContributorFromSetResponse) 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: MsgRemoveContributorFromSetResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRemoveContributorFromSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgAddContributorToSet) 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: MsgAddContributorToSet: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddContributorToSet: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 User", 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.User = 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 *MsgAddContributorToSetResponse) 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: MsgAddContributorToSetResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddContributorToSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCreateSellOffer) 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: MsgCreateSellOffer: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSellOffer: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) - } - m.Card = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Card |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", 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 - } - if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCreateSellOfferResponse) 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: MsgCreateSellOfferResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSellOfferResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgBuyCard) 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: MsgBuyCard: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBuyCard: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) - } - m.SellOfferId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SellOfferId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 *MsgBuyCardResponse) 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: MsgBuyCardResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBuyCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgRemoveSellOffer) 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: MsgRemoveSellOffer: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRemoveSellOffer: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) - } - m.SellOfferId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SellOfferId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 *MsgRemoveSellOfferResponse) 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: MsgRemoveSellOfferResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRemoveSellOfferResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgAddArtworkToSet) 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: MsgAddArtworkToSet: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddArtworkToSet: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 Image", 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.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:]) - 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 *MsgAddArtworkToSetResponse) 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: MsgAddArtworkToSetResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddArtworkToSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgAddStoryToSet) 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: MsgAddStoryToSet: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddStoryToSet: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 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:]) - 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 *MsgAddStoryToSetResponse) 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: MsgAddStoryToSetResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddStoryToSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgSetCardRarity) 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: MsgSetCardRarity: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCardRarity: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: - 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 - } - } - 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 *MsgSetCardRarityResponse) 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: MsgSetCardRarityResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCardRarityResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCreateCouncil) 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: MsgCreateCouncil: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateCouncil: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 - } - } - 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 *MsgCreateCouncilResponse) 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: MsgCreateCouncilResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCommitCouncilResponse) 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: MsgCommitCouncilResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCommitCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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:]) - 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 *MsgCommitCouncilResponseResponse) 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: MsgCommitCouncilResponseResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCommitCouncilResponseResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgRevealCouncilResponse) 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: MsgRevealCouncilResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRevealCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) - } - m.Response = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Response |= Response(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Secret", 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.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:]) - 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 *MsgRevealCouncilResponseResponse) 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: MsgRevealCouncilResponseResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRevealCouncilResponseResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgRestartCouncil) 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: MsgRestartCouncil: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRestartCouncil: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - 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:]) - 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 *MsgRestartCouncilResponse) 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: MsgRestartCouncilResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRestartCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgRewokeCouncilRegistration) 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: MsgRewokeCouncilRegistration: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRewokeCouncilRegistration: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = 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 *MsgRewokeCouncilRegistrationResponse) 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: MsgRewokeCouncilRegistrationResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRewokeCouncilRegistrationResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgConfirmMatch) 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: MsgConfirmMatch: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgConfirmMatch: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - 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 - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) - } - m.Outcome = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Outcome |= Outcome(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - 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 ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - 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:]) - 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 *MsgConfirmMatchResponse) 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: MsgConfirmMatchResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgConfirmMatchResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgSetProfileCard) 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: MsgSetProfileCard: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetProfileCard: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 - } - } - 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 *MsgSetProfileCardResponse) 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: MsgSetProfileCardResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetProfileCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgOpenBoosterPack) 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: MsgOpenBoosterPack: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgOpenBoosterPack: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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:]) - 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 *MsgOpenBoosterPackResponse) 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: MsgOpenBoosterPackResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - 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:]) - 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 *MsgTransferBoosterPack) 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: MsgTransferBoosterPack: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgTransferBoosterPack: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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) - } - 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.Receiver = 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 *MsgTransferBoosterPackResponse) 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: MsgTransferBoosterPackResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgTransferBoosterPackResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgSetSetStoryWriter) 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: MsgSetSetStoryWriter: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetSetStoryWriter: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 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:]) - 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 *MsgSetSetStoryWriterResponse) 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: MsgSetSetStoryWriterResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetSetStoryWriterResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgSetSetArtist) 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: MsgSetSetArtist: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetSetArtist: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 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 *MsgSetSetArtistResponse) 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: MsgSetSetArtistResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetSetArtistResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgSetUserWebsite) 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: MsgSetUserWebsite: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetUserWebsite: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Website", 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.Website = 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 *MsgSetUserWebsiteResponse) 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: MsgSetUserWebsiteResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetUserWebsiteResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgSetUserBiography) 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: MsgSetUserBiography: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetUserBiography: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Biography", 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.Biography = 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 *MsgSetUserBiographyResponse) 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: MsgSetUserBiographyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetUserBiographyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgMultiVoteCard) 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: MsgMultiVoteCard: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMultiVoteCard: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Votes", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - 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 - 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 *MsgMultiVoteCardResponse) 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: MsgMultiVoteCardResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMultiVoteCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgOpenMatch) 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: MsgOpenMatch: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgOpenMatch: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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) - } - 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:]) - 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 *MsgOpenMatchResponse) 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: MsgOpenMatchResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - 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:]) - 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 *MsgSetSetName) 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: MsgSetSetName: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetSetName: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 Name", 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.Name = 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 *MsgSetSetNameResponse) 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: MsgSetSetNameResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetSetNameResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgChangeAlias) 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: MsgChangeAlias: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgChangeAlias: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Alias", 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.Alias = 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 *MsgChangeAliasResponse) 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: MsgChangeAliasResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgChangeAliasResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgInviteEarlyAccess) 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: MsgInviteEarlyAccess: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInviteEarlyAccess: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - 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 - } - 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.User = 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 *MsgInviteEarlyAccessResponse) 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: MsgInviteEarlyAccessResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInviteEarlyAccessResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgDisinviteEarlyAccess) 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: MsgDisinviteEarlyAccess: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDisinviteEarlyAccess: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - 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 - } - 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.User = 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 *MsgDisinviteEarlyAccessResponse) 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: MsgDisinviteEarlyAccessResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDisinviteEarlyAccessResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgConnectZealyAccount) 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: MsgConnectZealyAccount: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgConnectZealyAccount: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ZealyId", 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.ZealyId = 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 *MsgConnectZealyAccountResponse) 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: MsgConnectZealyAccountResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgConnectZealyAccountResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgEncounterCreate) 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: MsgEncounterCreate: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEncounterCreate: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = 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 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.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - 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.Drawlist = append(m.Drawlist, 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.Drawlist) == 0 { - m.Drawlist = 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.Drawlist = append(m.Drawlist, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Drawlist", wireType) - } - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Parameters", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Parameters == nil { - m.Parameters = make(map[string]string) - } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := 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) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - 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 ErrInvalidLengthTx - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthTx - } - if postStringIndexmapkey > l { - return io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var stringLenmapvalue uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapvalue := int(stringLenmapvalue) - if intStringLenmapvalue < 0 { - return ErrInvalidLengthTx - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthTx - } - if postStringIndexmapvalue > l { - return io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > postIndex { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - m.Parameters[mapkey] = mapvalue - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Image", 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.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:]) - 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 *MsgEncounterCreateResponse) 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: MsgEncounterCreateResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEncounterCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgEncounterDo) 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: MsgEncounterDo: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEncounterDo: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field EncounterId", wireType) - } - m.EncounterId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.EncounterId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 - } - 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.User = 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 *MsgEncounterDoResponse) 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: MsgEncounterDoResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEncounterDoResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgEncounterClose) 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: MsgEncounterClose: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEncounterClose: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field EncounterId", wireType) - } - m.EncounterId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.EncounterId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 - } - 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.User = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Won", 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.Won = 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 *MsgEncounterCloseResponse) 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: MsgEncounterCloseResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEncounterCloseResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipTx(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTx - } - 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, ErrIntOverflowTx - } - 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, ErrIntOverflowTx - } - 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, ErrInvalidLengthTx - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupTx - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthTx - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthTx = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowTx = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/types.go b/x/cardchain/types/types.go deleted file mode 100644 index 4788cf31..00000000 --- a/x/cardchain/types/types.go +++ /dev/null @@ -1,75 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" -) - -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, setId uint64, raritiesPerPack []uint64, dropRatiosPerPack []uint64) BoosterPack { - return BoosterPack{ - SetId: setId, - RaritiesPerPack: raritiesPerPack, - TimeStamp: ctx.BlockHeight(), - DropRatiosPerPack: dropRatiosPerPack, - } -} - -func NewIgnoreMatches() IgnoreMatches { - return IgnoreMatches{ - false, - } -} - -func NewIgnoreSellOffers() IgnoreSellOffers { - return IgnoreSellOffers{ - false, - false, - } -} - -// NewUser Constructor for User -func NewUser() User { - return User{ - Alias: "newPlayer", - Cards: []uint64{}, - OwnedCardSchemes: []uint64{}, - OwnedPrototypes: []uint64{}, - CouncilStatus: CouncilStatus_unavailable, - ReportMatches: false, - AirDrops: &AirDrops{}, - EarlyAccess: &EarlyAccess{}, - } -} - -// NewCard Constructor for Card -func NewCard(owner sdk.AccAddress) Card { - return Card{ - Owner: owner.String(), - Notes: "", - FullArt: true, - Status: Status_scheme, - VotePool: sdk.NewInt64Coin("ucredits", 0), - } -} - -// NewVotingResults Constructor for VoteResults -func NewVotingResults() VotingResults { - return VotingResults{ - TotalVotes: 0, - TotalFairEnoughVotes: 0, - TotalOverpoweredVotes: 0, - TotalUnderpoweredVotes: 0, - TotalInappropriateVotes: 0, - CardResults: []*VotingResult{}, - Notes: "none", - } -} diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go deleted file mode 100644 index 8c620ada..00000000 --- a/x/cardchain/types/user.pb.go +++ /dev/null @@ -1,2573 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/user.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 CouncilStatus int32 - -const ( - CouncilStatus_available CouncilStatus = 0 - CouncilStatus_unavailable CouncilStatus = 1 - CouncilStatus_openCouncil CouncilStatus = 2 - CouncilStatus_startedCouncil CouncilStatus = 3 -) - -var CouncilStatus_name = map[int32]string{ - 0: "available", - 1: "unavailable", - 2: "openCouncil", - 3: "startedCouncil", -} - -var CouncilStatus_value = map[string]int32{ - "available": 0, - "unavailable": 1, - "openCouncil": 2, - "startedCouncil": 3, -} - -func (x CouncilStatus) String() string { - return proto.EnumName(CouncilStatus_name, int32(x)) -} - -func (CouncilStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_eb1a13ac65ffc756, []int{0} -} - -type AirDrop int32 - -const ( - AirDrop_play AirDrop = 0 - AirDrop_vote AirDrop = 1 - AirDrop_create AirDrop = 2 - AirDrop_buy AirDrop = 3 - AirDrop_user AirDrop = 4 -) - -var AirDrop_name = map[int32]string{ - 0: "play", - 1: "vote", - 2: "create", - 3: "buy", - 4: "user", -} - -var AirDrop_value = map[string]int32{ - "play": 0, - "vote": 1, - "create": 2, - "buy": 3, - "user": 4, -} - -func (x AirDrop) String() string { - return proto.EnumName(AirDrop_name, int32(x)) -} - -func (AirDrop) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_eb1a13ac65ffc756, []int{1} -} - -type User struct { - Alias string `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"` - OwnedCardSchemes []uint64 `protobuf:"varint,2,rep,packed,name=ownedCardSchemes,proto3" json:"ownedCardSchemes,omitempty"` - OwnedPrototypes []uint64 `protobuf:"varint,3,rep,packed,name=ownedPrototypes,proto3" json:"ownedPrototypes,omitempty"` - Cards []uint64 `protobuf:"varint,4,rep,packed,name=cards,proto3" json:"cards,omitempty"` - CouncilStatus CouncilStatus `protobuf:"varint,6,opt,name=CouncilStatus,proto3,enum=DecentralCardGame.cardchain.cardchain.CouncilStatus" json:"CouncilStatus,omitempty"` - ReportMatches bool `protobuf:"varint,7,opt,name=ReportMatches,proto3" json:"ReportMatches,omitempty"` - ProfileCard uint64 `protobuf:"varint,8,opt,name=profileCard,proto3" json:"profileCard,omitempty"` - AirDrops *AirDrops `protobuf:"bytes,9,opt,name=airDrops,proto3" json:"airDrops,omitempty"` - BoosterPacks []*BoosterPack `protobuf:"bytes,10,rep,name=boosterPacks,proto3" json:"boosterPacks,omitempty"` - Website string `protobuf:"bytes,11,opt,name=website,proto3" json:"website,omitempty"` - Biography string `protobuf:"bytes,12,opt,name=biography,proto3" json:"biography,omitempty"` - VotableCards []uint64 `protobuf:"varint,13,rep,packed,name=votableCards,proto3" json:"votableCards,omitempty"` - VotedCards []uint64 `protobuf:"varint,14,rep,packed,name=votedCards,proto3" json:"votedCards,omitempty"` - EarlyAccess *EarlyAccess `protobuf:"bytes,15,opt,name=earlyAccess,proto3" json:"earlyAccess,omitempty"` - OpenEncounters []uint64 `protobuf:"varint,16,rep,packed,name=OpenEncounters,proto3" json:"OpenEncounters,omitempty"` - WonEncounters []uint64 `protobuf:"varint,17,rep,packed,name=WonEncounters,proto3" json:"WonEncounters,omitempty"` -} - -func (m *User) Reset() { *m = User{} } -func (m *User) String() string { return proto.CompactTextString(m) } -func (*User) ProtoMessage() {} -func (*User) Descriptor() ([]byte, []int) { - return fileDescriptor_eb1a13ac65ffc756, []int{0} -} -func (m *User) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *User) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_User.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 *User) XXX_Merge(src proto.Message) { - xxx_messageInfo_User.Merge(m, src) -} -func (m *User) XXX_Size() int { - return m.Size() -} -func (m *User) XXX_DiscardUnknown() { - xxx_messageInfo_User.DiscardUnknown(m) -} - -var xxx_messageInfo_User proto.InternalMessageInfo - -func (m *User) GetAlias() string { - if m != nil { - return m.Alias - } - return "" -} - -func (m *User) GetOwnedCardSchemes() []uint64 { - if m != nil { - return m.OwnedCardSchemes - } - return nil -} - -func (m *User) GetOwnedPrototypes() []uint64 { - if m != nil { - return m.OwnedPrototypes - } - return nil -} - -func (m *User) GetCards() []uint64 { - if m != nil { - return m.Cards - } - return nil -} - -func (m *User) GetCouncilStatus() CouncilStatus { - if m != nil { - return m.CouncilStatus - } - return CouncilStatus_available -} - -func (m *User) GetReportMatches() bool { - if m != nil { - return m.ReportMatches - } - return false -} - -func (m *User) GetProfileCard() uint64 { - if m != nil { - return m.ProfileCard - } - return 0 -} - -func (m *User) GetAirDrops() *AirDrops { - if m != nil { - return m.AirDrops - } - return nil -} - -func (m *User) GetBoosterPacks() []*BoosterPack { - if m != nil { - return m.BoosterPacks - } - return nil -} - -func (m *User) GetWebsite() string { - if m != nil { - return m.Website - } - return "" -} - -func (m *User) GetBiography() string { - if m != nil { - return m.Biography - } - return "" -} - -func (m *User) GetVotableCards() []uint64 { - if m != nil { - return m.VotableCards - } - return nil -} - -func (m *User) GetVotedCards() []uint64 { - if m != nil { - return m.VotedCards - } - return nil -} - -func (m *User) GetEarlyAccess() *EarlyAccess { - if m != nil { - return m.EarlyAccess - } - return nil -} - -func (m *User) GetOpenEncounters() []uint64 { - if m != nil { - return m.OpenEncounters - } - return nil -} - -func (m *User) GetWonEncounters() []uint64 { - if m != nil { - return m.WonEncounters - } - return nil -} - -type EarlyAccess struct { - Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"` - InvitedByUser string `protobuf:"bytes,2,opt,name=invitedByUser,proto3" json:"invitedByUser,omitempty"` - InvitedUser string `protobuf:"bytes,3,opt,name=invitedUser,proto3" json:"invitedUser,omitempty"` -} - -func (m *EarlyAccess) Reset() { *m = EarlyAccess{} } -func (m *EarlyAccess) String() string { return proto.CompactTextString(m) } -func (*EarlyAccess) ProtoMessage() {} -func (*EarlyAccess) Descriptor() ([]byte, []int) { - return fileDescriptor_eb1a13ac65ffc756, []int{1} -} -func (m *EarlyAccess) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *EarlyAccess) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_EarlyAccess.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 *EarlyAccess) XXX_Merge(src proto.Message) { - xxx_messageInfo_EarlyAccess.Merge(m, src) -} -func (m *EarlyAccess) XXX_Size() int { - return m.Size() -} -func (m *EarlyAccess) XXX_DiscardUnknown() { - xxx_messageInfo_EarlyAccess.DiscardUnknown(m) -} - -var xxx_messageInfo_EarlyAccess proto.InternalMessageInfo - -func (m *EarlyAccess) GetActive() bool { - if m != nil { - return m.Active - } - return false -} - -func (m *EarlyAccess) GetInvitedByUser() string { - if m != nil { - return m.InvitedByUser - } - return "" -} - -func (m *EarlyAccess) GetInvitedUser() string { - if m != nil { - return m.InvitedUser - } - return "" -} - -type BoosterPack struct { - 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{} } -func (m *BoosterPack) String() string { return proto.CompactTextString(m) } -func (*BoosterPack) ProtoMessage() {} -func (*BoosterPack) Descriptor() ([]byte, []int) { - return fileDescriptor_eb1a13ac65ffc756, []int{2} -} -func (m *BoosterPack) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *BoosterPack) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_BoosterPack.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 *BoosterPack) XXX_Merge(src proto.Message) { - xxx_messageInfo_BoosterPack.Merge(m, src) -} -func (m *BoosterPack) XXX_Size() int { - return m.Size() -} -func (m *BoosterPack) XXX_DiscardUnknown() { - xxx_messageInfo_BoosterPack.DiscardUnknown(m) -} - -var xxx_messageInfo_BoosterPack proto.InternalMessageInfo - -func (m *BoosterPack) GetSetId() uint64 { - if m != nil { - return m.SetId - } - return 0 -} - -func (m *BoosterPack) GetTimeStamp() int64 { - if m != nil { - return m.TimeStamp - } - return 0 -} - -func (m *BoosterPack) GetRaritiesPerPack() []uint64 { - if m != nil { - return m.RaritiesPerPack - } - 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"` - Buy bool `protobuf:"varint,3,opt,name=buy,proto3" json:"buy,omitempty"` - Play bool `protobuf:"varint,4,opt,name=play,proto3" json:"play,omitempty"` - User bool `protobuf:"varint,5,opt,name=user,proto3" json:"user,omitempty"` -} - -func (m *AirDrops) Reset() { *m = AirDrops{} } -func (m *AirDrops) String() string { return proto.CompactTextString(m) } -func (*AirDrops) ProtoMessage() {} -func (*AirDrops) Descriptor() ([]byte, []int) { - return fileDescriptor_eb1a13ac65ffc756, []int{3} -} -func (m *AirDrops) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AirDrops) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AirDrops.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 *AirDrops) XXX_Merge(src proto.Message) { - xxx_messageInfo_AirDrops.Merge(m, src) -} -func (m *AirDrops) XXX_Size() int { - return m.Size() -} -func (m *AirDrops) XXX_DiscardUnknown() { - xxx_messageInfo_AirDrops.DiscardUnknown(m) -} - -var xxx_messageInfo_AirDrops proto.InternalMessageInfo - -func (m *AirDrops) GetVote() bool { - if m != nil { - return m.Vote - } - return false -} - -func (m *AirDrops) GetCreate() bool { - if m != nil { - return m.Create - } - return false -} - -func (m *AirDrops) GetBuy() bool { - if m != nil { - return m.Buy - } - return false -} - -func (m *AirDrops) GetPlay() bool { - if m != nil { - return m.Play - } - return false -} - -func (m *AirDrops) GetUser() bool { - if m != nil { - return m.User - } - return false -} - -func init() { - proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.CouncilStatus", CouncilStatus_name, CouncilStatus_value) - proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.AirDrop", AirDrop_name, AirDrop_value) - proto.RegisterType((*User)(nil), "DecentralCardGame.cardchain.cardchain.User") - proto.RegisterType((*EarlyAccess)(nil), "DecentralCardGame.cardchain.cardchain.EarlyAccess") - proto.RegisterType((*BoosterPack)(nil), "DecentralCardGame.cardchain.cardchain.BoosterPack") - proto.RegisterType((*AirDrops)(nil), "DecentralCardGame.cardchain.cardchain.AirDrops") -} - -func init() { proto.RegisterFile("cardchain/cardchain/user.proto", fileDescriptor_eb1a13ac65ffc756) } - -var fileDescriptor_eb1a13ac65ffc756 = []byte{ - // 705 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xcd, 0x6e, 0x13, 0x3f, - 0x10, 0xc0, 0xb3, 0xd9, 0x6d, 0xb3, 0x99, 0x6d, 0xd2, 0xad, 0xf5, 0xd7, 0x5f, 0x16, 0x42, 0xab, - 0x55, 0x04, 0x68, 0x55, 0xa1, 0x44, 0x0a, 0x1c, 0x38, 0x70, 0xe9, 0x97, 0x10, 0x42, 0x88, 0xca, - 0x2d, 0x20, 0xf5, 0xe6, 0x6c, 0x4c, 0x63, 0x91, 0xac, 0x57, 0xb6, 0x93, 0x92, 0xb7, 0xe0, 0xca, - 0x1b, 0x71, 0xec, 0x91, 0x23, 0x6a, 0x9f, 0x80, 0x37, 0x40, 0xf6, 0x6e, 0x92, 0x4d, 0xca, 0x21, - 0xb7, 0x99, 0x9f, 0xe7, 0xd3, 0x33, 0x36, 0x44, 0x29, 0x95, 0xc3, 0x74, 0x44, 0x79, 0xd6, 0x5b, - 0x49, 0x53, 0xc5, 0x64, 0x37, 0x97, 0x42, 0x0b, 0xf4, 0xf4, 0x94, 0xa5, 0x2c, 0xd3, 0x92, 0x8e, - 0x4f, 0xa8, 0x1c, 0xbe, 0xa1, 0x13, 0xd6, 0x5d, 0xda, 0xad, 0xa4, 0x47, 0xf1, 0xbf, 0xc2, 0xcc, - 0x84, 0xe6, 0xd9, 0x75, 0x11, 0xa8, 0xf3, 0x67, 0x07, 0xbc, 0x8f, 0x8a, 0x49, 0xf4, 0x1f, 0xec, - 0xd0, 0x31, 0xa7, 0x0a, 0x3b, 0xb1, 0x93, 0x34, 0x49, 0xa1, 0xa0, 0x43, 0x08, 0xc5, 0x4d, 0xc6, - 0x86, 0x26, 0xcb, 0x45, 0x3a, 0x62, 0x13, 0xa6, 0x70, 0x3d, 0x76, 0x13, 0x8f, 0x3c, 0xe0, 0x28, - 0x81, 0x7d, 0xcb, 0xce, 0x4d, 0x60, 0x3d, 0xcf, 0x99, 0xc2, 0xae, 0x35, 0xdd, 0xc4, 0x26, 0x97, - 0x29, 0x47, 0x61, 0xcf, 0x9e, 0x17, 0x0a, 0xba, 0x82, 0xd6, 0x89, 0x98, 0x66, 0x29, 0x1f, 0x5f, - 0x68, 0xaa, 0xa7, 0x0a, 0xef, 0xc6, 0x4e, 0xd2, 0xee, 0xbf, 0xec, 0x6e, 0xd5, 0x6b, 0x77, 0xcd, - 0x97, 0xac, 0x87, 0x42, 0x4f, 0xa0, 0x45, 0x58, 0x2e, 0xa4, 0x7e, 0x4f, 0x75, 0x3a, 0x62, 0x0a, - 0x37, 0x62, 0x27, 0xf1, 0xc9, 0x3a, 0x44, 0x31, 0x04, 0xb9, 0x14, 0x5f, 0xf8, 0x98, 0x99, 0x4c, - 0xd8, 0x8f, 0x9d, 0xc4, 0x23, 0x55, 0x84, 0xde, 0x81, 0x4f, 0xb9, 0x3c, 0x95, 0x22, 0x57, 0xb8, - 0x19, 0x3b, 0x49, 0xd0, 0xef, 0x6d, 0x59, 0xde, 0x51, 0xe9, 0x46, 0x96, 0x01, 0xd0, 0x27, 0xd8, - 0x1b, 0x08, 0xa1, 0x34, 0x93, 0xe7, 0x34, 0xfd, 0xaa, 0x30, 0xc4, 0x6e, 0x12, 0xf4, 0xfb, 0x5b, - 0x06, 0x3c, 0x5e, 0xb9, 0x92, 0xb5, 0x38, 0x08, 0x43, 0xe3, 0x86, 0x0d, 0x14, 0xd7, 0x0c, 0x07, - 0x76, 0x98, 0x0b, 0x15, 0x3d, 0x86, 0xe6, 0x80, 0x8b, 0x6b, 0x49, 0xf3, 0xd1, 0x1c, 0xef, 0xd9, - 0xb3, 0x15, 0x40, 0x1d, 0xd8, 0x9b, 0x09, 0x4d, 0x07, 0x45, 0xaf, 0x0a, 0xb7, 0xec, 0x74, 0xd6, - 0x18, 0x8a, 0x00, 0x66, 0x42, 0x17, 0x83, 0x57, 0xb8, 0x6d, 0x2d, 0x2a, 0x04, 0x5d, 0x42, 0xc0, - 0xa8, 0x1c, 0xcf, 0x8f, 0xd2, 0x94, 0x29, 0x85, 0xf7, 0xed, 0x1d, 0x6d, 0xdb, 0xd2, 0xd9, 0xca, - 0x93, 0x54, 0xc3, 0xa0, 0x67, 0xd0, 0xfe, 0x90, 0xb3, 0xec, 0x2c, 0x4b, 0xc5, 0x34, 0xd3, 0x4c, - 0x2a, 0x1c, 0xda, 0xcc, 0x1b, 0xd4, 0x8c, 0xf9, 0xb3, 0xa8, 0x9a, 0x1d, 0x58, 0xb3, 0x75, 0xd8, - 0x99, 0x40, 0x50, 0xc9, 0x84, 0xfe, 0x87, 0x5d, 0x9a, 0x6a, 0x3e, 0x63, 0x76, 0xf5, 0x7d, 0x52, - 0x6a, 0x26, 0x18, 0xcf, 0x66, 0x5c, 0xb3, 0xe1, 0xf1, 0xdc, 0x3c, 0x11, 0x5c, 0xb7, 0x17, 0xb6, - 0x0e, 0xcd, 0xce, 0x94, 0xc0, 0xda, 0xb8, 0xd6, 0xa6, 0x8a, 0x3a, 0x3f, 0x1c, 0x08, 0x2a, 0xc3, - 0x32, 0xdb, 0xaf, 0x98, 0x7e, 0x3b, 0xb4, 0xe9, 0x3c, 0x52, 0x28, 0x66, 0x34, 0x9a, 0x4f, 0xd8, - 0x85, 0xa6, 0x93, 0xdc, 0x66, 0x72, 0xc9, 0x0a, 0x98, 0xb7, 0x25, 0xa9, 0xe4, 0x9a, 0x33, 0x75, - 0x5e, 0x84, 0x59, 0xbc, 0xad, 0x0d, 0x8c, 0x9e, 0xc3, 0xc1, 0x50, 0x8a, 0x9c, 0x50, 0xcd, 0xc5, - 0xd2, 0xb6, 0x78, 0x67, 0x0f, 0x0f, 0x3a, 0x39, 0xf8, 0x8b, 0xc5, 0x44, 0x08, 0x3c, 0x33, 0xc8, - 0xf2, 0x16, 0xac, 0x6c, 0xee, 0x26, 0x95, 0x8c, 0x6a, 0x66, 0x4b, 0xf2, 0x49, 0xa9, 0xa1, 0x10, - 0xdc, 0xc1, 0x74, 0x6e, 0xbb, 0xf5, 0x89, 0x11, 0x8d, 0x77, 0x3e, 0xa6, 0x73, 0xec, 0x15, 0xde, - 0x46, 0x36, 0xcc, 0xfc, 0x59, 0x78, 0xa7, 0x60, 0x46, 0x3e, 0xbc, 0xdc, 0x78, 0xe5, 0xa8, 0x05, - 0x4d, 0x3a, 0xa3, 0x7c, 0x6c, 0x76, 0x2c, 0xac, 0xa1, 0x7d, 0x08, 0xa6, 0xd9, 0x0a, 0x38, 0x06, - 0x88, 0x9c, 0x65, 0xa5, 0x53, 0x58, 0x47, 0x08, 0xda, 0x4a, 0x53, 0x69, 0x56, 0xae, 0x64, 0xee, - 0xe1, 0x6b, 0x68, 0x94, 0x7d, 0x20, 0xbf, 0x28, 0x24, 0xac, 0x19, 0xc9, 0x34, 0x11, 0x3a, 0x08, - 0x16, 0x6d, 0x84, 0x75, 0xd4, 0xb0, 0xa5, 0x87, 0xae, 0x39, 0x36, 0x15, 0x85, 0xde, 0x31, 0xf9, - 0x79, 0x17, 0x39, 0xb7, 0x77, 0x91, 0xf3, 0xfb, 0x2e, 0x72, 0xbe, 0xdf, 0x47, 0xb5, 0xdb, 0xfb, - 0xa8, 0xf6, 0xeb, 0x3e, 0xaa, 0x5d, 0xbd, 0xba, 0xe6, 0x7a, 0x34, 0x1d, 0x74, 0x53, 0x31, 0xe9, - 0x3d, 0xd8, 0xe1, 0xde, 0xc9, 0xf2, 0x4f, 0xfd, 0x56, 0xf9, 0x5f, 0xed, 0x1f, 0x37, 0xd8, 0xb5, - 0xff, 0xeb, 0x8b, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xcd, 0xe0, 0xd1, 0x12, 0xca, 0x05, 0x00, - 0x00, -} - -func (m *User) 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 *User) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *User) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.WonEncounters) > 0 { - dAtA2 := make([]byte, len(m.WonEncounters)*10) - var j1 int - for _, num := range m.WonEncounters { - 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 = encodeVarintUser(dAtA, i, uint64(j1)) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x8a - } - if len(m.OpenEncounters) > 0 { - dAtA4 := make([]byte, len(m.OpenEncounters)*10) - var j3 int - for _, num := range m.OpenEncounters { - 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 = encodeVarintUser(dAtA, i, uint64(j3)) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x82 - } - if m.EarlyAccess != nil { - { - size, err := m.EarlyAccess.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintUser(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x7a - } - if len(m.VotedCards) > 0 { - dAtA7 := make([]byte, len(m.VotedCards)*10) - var j6 int - for _, num := range m.VotedCards { - 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 = encodeVarintUser(dAtA, i, uint64(j6)) - i-- - dAtA[i] = 0x72 - } - if len(m.VotableCards) > 0 { - dAtA9 := make([]byte, len(m.VotableCards)*10) - var j8 int - for _, num := range m.VotableCards { - 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 = encodeVarintUser(dAtA, i, uint64(j8)) - i-- - dAtA[i] = 0x6a - } - if len(m.Biography) > 0 { - i -= len(m.Biography) - copy(dAtA[i:], m.Biography) - i = encodeVarintUser(dAtA, i, uint64(len(m.Biography))) - i-- - dAtA[i] = 0x62 - } - if len(m.Website) > 0 { - i -= len(m.Website) - copy(dAtA[i:], m.Website) - i = encodeVarintUser(dAtA, i, uint64(len(m.Website))) - i-- - dAtA[i] = 0x5a - } - if len(m.BoosterPacks) > 0 { - for iNdEx := len(m.BoosterPacks) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.BoosterPacks[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintUser(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x52 - } - } - if m.AirDrops != nil { - { - size, err := m.AirDrops.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintUser(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x4a - } - if m.ProfileCard != 0 { - i = encodeVarintUser(dAtA, i, uint64(m.ProfileCard)) - i-- - dAtA[i] = 0x40 - } - if m.ReportMatches { - i-- - if m.ReportMatches { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x38 - } - if m.CouncilStatus != 0 { - i = encodeVarintUser(dAtA, i, uint64(m.CouncilStatus)) - i-- - dAtA[i] = 0x30 - } - if len(m.Cards) > 0 { - dAtA12 := make([]byte, len(m.Cards)*10) - var j11 int - for _, num := range m.Cards { - 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] = 0x22 - } - if len(m.OwnedPrototypes) > 0 { - dAtA14 := make([]byte, len(m.OwnedPrototypes)*10) - var j13 int - for _, num := range m.OwnedPrototypes { - for num >= 1<<7 { - dAtA14[j13] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j13++ - } - dAtA14[j13] = uint8(num) - j13++ - } - i -= j13 - copy(dAtA[i:], dAtA14[:j13]) - i = encodeVarintUser(dAtA, i, uint64(j13)) - i-- - dAtA[i] = 0x1a - } - if len(m.OwnedCardSchemes) > 0 { - dAtA16 := make([]byte, len(m.OwnedCardSchemes)*10) - var j15 int - for _, num := range m.OwnedCardSchemes { - for num >= 1<<7 { - dAtA16[j15] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j15++ - } - dAtA16[j15] = uint8(num) - j15++ - } - i -= j15 - copy(dAtA[i:], dAtA16[:j15]) - i = encodeVarintUser(dAtA, i, uint64(j15)) - i-- - dAtA[i] = 0x12 - } - if len(m.Alias) > 0 { - i -= len(m.Alias) - copy(dAtA[i:], m.Alias) - i = encodeVarintUser(dAtA, i, uint64(len(m.Alias))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *EarlyAccess) 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 *EarlyAccess) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *EarlyAccess) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.InvitedUser) > 0 { - i -= len(m.InvitedUser) - copy(dAtA[i:], m.InvitedUser) - i = encodeVarintUser(dAtA, i, uint64(len(m.InvitedUser))) - i-- - dAtA[i] = 0x1a - } - if len(m.InvitedByUser) > 0 { - i -= len(m.InvitedByUser) - copy(dAtA[i:], m.InvitedByUser) - i = encodeVarintUser(dAtA, i, uint64(len(m.InvitedByUser))) - i-- - dAtA[i] = 0x12 - } - if m.Active { - i-- - if m.Active { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *BoosterPack) 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 *BoosterPack) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *BoosterPack) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.DropRatiosPerPack) > 0 { - dAtA18 := make([]byte, len(m.DropRatiosPerPack)*10) - var j17 int - for _, num := range m.DropRatiosPerPack { - for num >= 1<<7 { - dAtA18[j17] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j17++ - } - dAtA18[j17] = uint8(num) - j17++ - } - i -= j17 - copy(dAtA[i:], dAtA18[:j17]) - i = encodeVarintUser(dAtA, i, uint64(j17)) - i-- - dAtA[i] = 0x22 - } - if len(m.RaritiesPerPack) > 0 { - dAtA20 := make([]byte, len(m.RaritiesPerPack)*10) - var j19 int - for _, num := range m.RaritiesPerPack { - for num >= 1<<7 { - dAtA20[j19] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j19++ - } - dAtA20[j19] = uint8(num) - j19++ - } - i -= j19 - copy(dAtA[i:], dAtA20[:j19]) - i = encodeVarintUser(dAtA, i, uint64(j19)) - i-- - dAtA[i] = 0x1a - } - if m.TimeStamp != 0 { - i = encodeVarintUser(dAtA, i, uint64(m.TimeStamp)) - i-- - dAtA[i] = 0x10 - } - if m.SetId != 0 { - i = encodeVarintUser(dAtA, i, uint64(m.SetId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *AirDrops) 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 *AirDrops) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AirDrops) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.User { - i-- - if m.User { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x28 - } - if m.Play { - i-- - if m.Play { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 - } - if m.Buy { - i-- - if m.Buy { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x18 - } - if m.Create { - i-- - if m.Create { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x10 - } - if m.Vote { - i-- - if m.Vote { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintUser(dAtA []byte, offset int, v uint64) int { - offset -= sovUser(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *User) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Alias) - if l > 0 { - n += 1 + l + sovUser(uint64(l)) - } - if len(m.OwnedCardSchemes) > 0 { - l = 0 - for _, e := range m.OwnedCardSchemes { - l += sovUser(uint64(e)) - } - n += 1 + sovUser(uint64(l)) + l - } - if len(m.OwnedPrototypes) > 0 { - l = 0 - for _, e := range m.OwnedPrototypes { - l += sovUser(uint64(e)) - } - n += 1 + sovUser(uint64(l)) + l - } - if len(m.Cards) > 0 { - l = 0 - for _, e := range m.Cards { - l += sovUser(uint64(e)) - } - n += 1 + sovUser(uint64(l)) + l - } - if m.CouncilStatus != 0 { - n += 1 + sovUser(uint64(m.CouncilStatus)) - } - if m.ReportMatches { - n += 2 - } - if m.ProfileCard != 0 { - n += 1 + sovUser(uint64(m.ProfileCard)) - } - if m.AirDrops != nil { - l = m.AirDrops.Size() - n += 1 + l + sovUser(uint64(l)) - } - if len(m.BoosterPacks) > 0 { - for _, e := range m.BoosterPacks { - l = e.Size() - n += 1 + l + sovUser(uint64(l)) - } - } - l = len(m.Website) - if l > 0 { - n += 1 + l + sovUser(uint64(l)) - } - l = len(m.Biography) - if l > 0 { - n += 1 + l + sovUser(uint64(l)) - } - if len(m.VotableCards) > 0 { - l = 0 - for _, e := range m.VotableCards { - l += sovUser(uint64(e)) - } - n += 1 + sovUser(uint64(l)) + l - } - if len(m.VotedCards) > 0 { - l = 0 - for _, e := range m.VotedCards { - l += sovUser(uint64(e)) - } - n += 1 + sovUser(uint64(l)) + l - } - if m.EarlyAccess != nil { - l = m.EarlyAccess.Size() - n += 1 + l + sovUser(uint64(l)) - } - if len(m.OpenEncounters) > 0 { - l = 0 - for _, e := range m.OpenEncounters { - l += sovUser(uint64(e)) - } - n += 2 + sovUser(uint64(l)) + l - } - if len(m.WonEncounters) > 0 { - l = 0 - for _, e := range m.WonEncounters { - l += sovUser(uint64(e)) - } - n += 2 + sovUser(uint64(l)) + l - } - return n -} - -func (m *EarlyAccess) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Active { - n += 2 - } - l = len(m.InvitedByUser) - if l > 0 { - n += 1 + l + sovUser(uint64(l)) - } - l = len(m.InvitedUser) - if l > 0 { - n += 1 + l + sovUser(uint64(l)) - } - return n -} - -func (m *BoosterPack) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.SetId != 0 { - n += 1 + sovUser(uint64(m.SetId)) - } - if m.TimeStamp != 0 { - n += 1 + sovUser(uint64(m.TimeStamp)) - } - if len(m.RaritiesPerPack) > 0 { - l = 0 - for _, e := range m.RaritiesPerPack { - l += sovUser(uint64(e)) - } - 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 -} - -func (m *AirDrops) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Vote { - n += 2 - } - if m.Create { - n += 2 - } - if m.Buy { - n += 2 - } - if m.Play { - n += 2 - } - if m.User { - n += 2 - } - return n -} - -func sovUser(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozUser(x uint64) (n int) { - return sovUser(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *User) 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 ErrIntOverflowUser - } - 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: User: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: User: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Alias", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - 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 ErrInvalidLengthUser - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthUser - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Alias = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - 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.OwnedCardSchemes = append(m.OwnedCardSchemes, 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.OwnedCardSchemes) == 0 { - m.OwnedCardSchemes = 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.OwnedCardSchemes = append(m.OwnedCardSchemes, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field OwnedCardSchemes", wireType) - } - case 3: - 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.OwnedPrototypes = append(m.OwnedPrototypes, 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.OwnedPrototypes) == 0 { - m.OwnedPrototypes = 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.OwnedPrototypes = append(m.OwnedPrototypes, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field OwnedPrototypes", 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.Cards = append(m.Cards, 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.Cards) == 0 { - m.Cards = 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.Cards = append(m.Cards, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Cards", wireType) - } - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CouncilStatus", wireType) - } - m.CouncilStatus = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CouncilStatus |= CouncilStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ReportMatches", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.ReportMatches = bool(v != 0) - case 8: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ProfileCard", wireType) - } - m.ProfileCard = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ProfileCard |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AirDrops", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthUser - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthUser - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.AirDrops == nil { - m.AirDrops = &AirDrops{} - } - if err := m.AirDrops.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BoosterPacks", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthUser - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthUser - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.BoosterPacks = append(m.BoosterPacks, &BoosterPack{}) - if err := m.BoosterPacks[len(m.BoosterPacks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Website", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - 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 ErrInvalidLengthUser - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthUser - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Website = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Biography", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - 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 ErrInvalidLengthUser - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthUser - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Biography = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 13: - 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.VotableCards = append(m.VotableCards, 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.VotableCards) == 0 { - m.VotableCards = 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.VotableCards = append(m.VotableCards, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field VotableCards", wireType) - } - case 14: - 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.VotedCards = append(m.VotedCards, 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.VotedCards) == 0 { - m.VotedCards = 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.VotedCards = append(m.VotedCards, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) - } - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EarlyAccess", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthUser - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthUser - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.EarlyAccess == nil { - m.EarlyAccess = &EarlyAccess{} - } - if err := m.EarlyAccess.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 16: - 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.OpenEncounters = append(m.OpenEncounters, 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.OpenEncounters) == 0 { - m.OpenEncounters = 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.OpenEncounters = append(m.OpenEncounters, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field OpenEncounters", wireType) - } - case 17: - 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.WonEncounters = append(m.WonEncounters, 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.WonEncounters) == 0 { - m.WonEncounters = 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.WonEncounters = append(m.WonEncounters, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field WonEncounters", wireType) - } - default: - iNdEx = preIndex - skippy, err := skipUser(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthUser - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *EarlyAccess) 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 ErrIntOverflowUser - } - 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: EarlyAccess: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: EarlyAccess: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Active", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Active = bool(v != 0) - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InvitedByUser", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - 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 ErrInvalidLengthUser - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthUser - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.InvitedByUser = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InvitedUser", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - 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 ErrInvalidLengthUser - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthUser - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.InvitedUser = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipUser(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthUser - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BoosterPack) 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 ErrIntOverflowUser - } - 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: BoosterPack: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BoosterPack: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - 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 ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SetId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - 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 ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TimeStamp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - 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.RaritiesPerPack = append(m.RaritiesPerPack, 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.RaritiesPerPack) == 0 { - m.RaritiesPerPack = 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.RaritiesPerPack = append(m.RaritiesPerPack, v) - } - } 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:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthUser - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AirDrops) 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 ErrIntOverflowUser - } - 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: AirDrops: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AirDrops: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Vote = bool(v != 0) - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Create", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Create = bool(v != 0) - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Buy", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Buy = bool(v != 0) - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Play", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Play = bool(v != 0) - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUser - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.User = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := skipUser(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthUser - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipUser(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, ErrIntOverflowUser - } - 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, ErrIntOverflowUser - } - 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, ErrIntOverflowUser - } - 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, ErrInvalidLengthUser - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupUser - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthUser - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthUser = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowUser = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupUser = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go deleted file mode 100644 index 9a0ce7c4..00000000 --- a/x/cardchain/types/voting.pb.go +++ /dev/null @@ -1,1135 +0,0 @@ -// 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 VoteType int32 - -const ( - VoteType_fairEnough VoteType = 0 - VoteType_inappropriate VoteType = 1 - VoteType_overpowered VoteType = 2 - VoteType_underpowered VoteType = 3 -) - -var VoteType_name = map[int32]string{ - 0: "fairEnough", - 1: "inappropriate", - 2: "overpowered", - 3: "underpowered", -} - -var VoteType_value = map[string]int32{ - "fairEnough": 0, - "inappropriate": 1, - "overpowered": 2, - "underpowered": 3, -} - -func (x VoteType) String() string { - return proto.EnumName(VoteType_name, int32(x)) -} - -func (VoteType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_39c6bcdea6f40fbf, []int{0} -} - -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 VoteType `protobuf:"varint,2,opt,name=voteType,proto3,enum=DecentralCardGame.cardchain.cardchain.VoteType" 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() VoteType { - if m != nil { - return m.VoteType - } - return VoteType_fairEnough -} - -func init() { - proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.VoteType", VoteType_name, VoteType_value) - proto.RegisterType((*VotingResults)(nil), "DecentralCardGame.cardchain.cardchain.VotingResults") - proto.RegisterType((*VotingResult)(nil), "DecentralCardGame.cardchain.cardchain.VotingResult") - proto.RegisterType((*SingleVote)(nil), "DecentralCardGame.cardchain.cardchain.SingleVote") -} - -func init() { proto.RegisterFile("cardchain/cardchain/voting.proto", fileDescriptor_39c6bcdea6f40fbf) } - -var fileDescriptor_39c6bcdea6f40fbf = []byte{ - // 435 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcf, 0x6e, 0xd3, 0x40, - 0x10, 0xc6, 0xb3, 0x49, 0x1b, 0xca, 0xa4, 0x7f, 0xdc, 0x51, 0x29, 0x39, 0x59, 0x56, 0x24, 0x24, - 0xab, 0x42, 0xb6, 0x94, 0x22, 0xd4, 0x33, 0xe5, 0x8f, 0x2a, 0x0e, 0x20, 0x43, 0x7b, 0xe0, 0xb6, - 0xb5, 0x17, 0xc7, 0x92, 0xbb, 0x6b, 0xd6, 0xeb, 0x40, 0xdf, 0x82, 0xc7, 0xe2, 0xd8, 0x23, 0x47, - 0x94, 0xbc, 0x01, 0x27, 0x8e, 0x28, 0x63, 0x93, 0x98, 0xc6, 0x96, 0x72, 0xdb, 0x99, 0x6f, 0xbe, - 0xf5, 0x7e, 0x3f, 0x6b, 0xc0, 0x09, 0xb9, 0x8e, 0xc2, 0x09, 0x4f, 0xa4, 0xbf, 0x3a, 0x4d, 0x95, - 0x49, 0x64, 0xec, 0x65, 0x5a, 0x19, 0x85, 0x4f, 0x5e, 0x8a, 0x50, 0x48, 0xa3, 0x79, 0x7a, 0xce, - 0x75, 0xf4, 0x86, 0xdf, 0x08, 0x6f, 0x39, 0xb9, 0x3a, 0x8d, 0xfe, 0x74, 0x61, 0xef, 0x8a, 0x7c, - 0x81, 0xc8, 0x8b, 0xd4, 0xe4, 0x68, 0x03, 0x18, 0x65, 0x78, 0x7a, 0xa5, 0x8c, 0xc8, 0x87, 0xcc, - 0x61, 0xee, 0x56, 0x50, 0xeb, 0xe0, 0x18, 0x8e, 0xa8, 0x7a, 0xcd, 0x13, 0xfd, 0x4a, 0xaa, 0x22, - 0x9e, 0x94, 0x93, 0x5d, 0x9a, 0x6c, 0xd4, 0xf0, 0x19, 0x3c, 0xa2, 0xfe, 0xbb, 0xa9, 0xd0, 0x99, - 0xfa, 0x2a, 0xb4, 0x88, 0x4a, 0x53, 0x8f, 0x4c, 0xcd, 0x22, 0x3e, 0x87, 0x63, 0x12, 0x2e, 0x65, - 0x74, 0xcf, 0xb6, 0x45, 0xb6, 0x16, 0x15, 0xcf, 0xe0, 0x31, 0x29, 0x17, 0x92, 0x67, 0x99, 0x56, - 0x99, 0x4e, 0xb8, 0x11, 0xa5, 0x71, 0x9b, 0x8c, 0x6d, 0x32, 0x5e, 0xc2, 0x60, 0x81, 0xa6, 0x42, - 0x31, 0xec, 0x3b, 0x3d, 0x77, 0x30, 0x3e, 0xf5, 0x36, 0x42, 0xe9, 0xd5, 0x31, 0x06, 0xf5, 0x7b, - 0xf0, 0x08, 0xb6, 0x25, 0x7d, 0xfe, 0x81, 0xc3, 0xdc, 0x87, 0x41, 0x59, 0x8c, 0x7e, 0x33, 0xd8, - 0xad, 0x7b, 0xf0, 0x18, 0xfa, 0x0b, 0xd7, 0x45, 0x54, 0x51, 0xaf, 0x2a, 0x74, 0xe1, 0xe0, 0x73, - 0x23, 0xec, 0xfb, 0x6d, 0x3c, 0x01, 0x4b, 0x35, 0x23, 0x5e, 0xeb, 0xe3, 0x53, 0x38, 0x2c, 0x5a, - 0xc0, 0xae, 0x0b, 0xe8, 0x01, 0x26, 0x6d, 0x38, 0x1b, 0x94, 0x45, 0x16, 0x4d, 0xa9, 0x86, 0x7d, - 0xca, 0x5c, 0x55, 0xa3, 0x2f, 0x00, 0x1f, 0x12, 0x19, 0xa7, 0x34, 0xd6, 0x9a, 0xf8, 0x2d, 0xec, - 0x4c, 0x95, 0x11, 0x1f, 0x6f, 0x33, 0x41, 0x51, 0xf7, 0xc7, 0xfe, 0xe6, 0x3f, 0x81, 0x6c, 0xc1, - 0xf2, 0x82, 0x93, 0xf7, 0xb0, 0xf3, 0xaf, 0x8b, 0xfb, 0x00, 0x2b, 0x66, 0x56, 0x07, 0x0f, 0x61, - 0xef, 0xbf, 0xc7, 0x5b, 0x0c, 0x0f, 0x60, 0x50, 0x63, 0x65, 0x75, 0xd1, 0x82, 0xdd, 0x3a, 0x0f, - 0xab, 0xf7, 0x22, 0xf8, 0x31, 0xb3, 0xd9, 0xdd, 0xcc, 0x66, 0xbf, 0x66, 0x36, 0xfb, 0x3e, 0xb7, - 0x3b, 0x77, 0x73, 0xbb, 0xf3, 0x73, 0x6e, 0x77, 0x3e, 0x9d, 0xc5, 0x89, 0x99, 0x14, 0xd7, 0x5e, - 0xa8, 0x6e, 0xfc, 0xb5, 0x07, 0xfb, 0xe7, 0xcb, 0x55, 0xfd, 0x56, 0x5b, 0x5b, 0x73, 0x9b, 0x89, - 0xfc, 0xba, 0x4f, 0x6b, 0x7b, 0xfa, 0x37, 0x00, 0x00, 0xff, 0xff, 0x60, 0xbd, 0x8d, 0x3e, 0xda, - 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 m.VoteType != 0 { - i = encodeVarintVoting(dAtA, i, uint64(m.VoteType)) - 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)) - } - if m.VoteType != 0 { - n += 1 + sovVoting(uint64(m.VoteType)) - } - 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 != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field VoteType", wireType) - } - m.VoteType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVoting - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.VoteType |= VoteType(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/zealy.pb.go b/x/cardchain/types/zealy.pb.go deleted file mode 100644 index 9be91a0e..00000000 --- a/x/cardchain/types/zealy.pb.go +++ /dev/null @@ -1,366 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/zealy.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 Zealy struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - ZealyId string `protobuf:"bytes,2,opt,name=zealyId,proto3" json:"zealyId,omitempty"` -} - -func (m *Zealy) Reset() { *m = Zealy{} } -func (m *Zealy) String() string { return proto.CompactTextString(m) } -func (*Zealy) ProtoMessage() {} -func (*Zealy) Descriptor() ([]byte, []int) { - return fileDescriptor_1558e1909559da0f, []int{0} -} -func (m *Zealy) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Zealy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Zealy.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 *Zealy) XXX_Merge(src proto.Message) { - xxx_messageInfo_Zealy.Merge(m, src) -} -func (m *Zealy) XXX_Size() int { - return m.Size() -} -func (m *Zealy) XXX_DiscardUnknown() { - xxx_messageInfo_Zealy.DiscardUnknown(m) -} - -var xxx_messageInfo_Zealy proto.InternalMessageInfo - -func (m *Zealy) GetAddress() string { - if m != nil { - return m.Address - } - return "" -} - -func (m *Zealy) GetZealyId() string { - if m != nil { - return m.ZealyId - } - return "" -} - -func init() { - proto.RegisterType((*Zealy)(nil), "DecentralCardGame.cardchain.cardchain.Zealy") -} - -func init() { proto.RegisterFile("cardchain/cardchain/zealy.proto", fileDescriptor_1558e1909559da0f) } - -var fileDescriptor_1558e1909559da0f = []byte{ - // 172 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xaa, 0x52, 0x13, 0x73, 0x2a, 0xf5, 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, 0x0a, 0x11, 0x2c, 0x25, 0x6b, 0x2e, 0xd6, 0x28, - 0x90, 0x2e, 0x21, 0x09, 0x2e, 0xf6, 0xc4, 0x94, 0x94, 0xa2, 0xd4, 0xe2, 0x62, 0x09, 0x46, 0x05, - 0x46, 0x0d, 0xce, 0x20, 0x18, 0x17, 0x24, 0x03, 0x36, 0xd8, 0x33, 0x45, 0x82, 0x09, 0x22, 0x03, - 0xe5, 0x3a, 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, 0xf4, 0x9d, 0xe1, 0x2e, - 0xae, 0x40, 0x72, 0x7d, 0x49, 0x65, 0x41, 0x6a, 0x71, 0x12, 0x1b, 0xd8, 0xf9, 0xc6, 0x80, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x60, 0x21, 0x6b, 0x02, 0xe1, 0x00, 0x00, 0x00, -} - -func (m *Zealy) 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 *Zealy) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Zealy) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ZealyId) > 0 { - i -= len(m.ZealyId) - copy(dAtA[i:], m.ZealyId) - i = encodeVarintZealy(dAtA, i, uint64(len(m.ZealyId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintZealy(dAtA, i, uint64(len(m.Address))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintZealy(dAtA []byte, offset int, v uint64) int { - offset -= sovZealy(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Zealy) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Address) - if l > 0 { - n += 1 + l + sovZealy(uint64(l)) - } - l = len(m.ZealyId) - if l > 0 { - n += 1 + l + sovZealy(uint64(l)) - } - return n -} - -func sovZealy(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozZealy(x uint64) (n int) { - return sovZealy(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Zealy) 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 ErrIntOverflowZealy - } - 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: Zealy: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Zealy: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowZealy - } - 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 ErrInvalidLengthZealy - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthZealy - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ZealyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowZealy - } - 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 ErrInvalidLengthZealy - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthZealy - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ZealyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipZealy(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthZealy - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipZealy(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, ErrIntOverflowZealy - } - 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, ErrIntOverflowZealy - } - 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, ErrIntOverflowZealy - } - 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, ErrInvalidLengthZealy - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupZealy - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthZealy - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthZealy = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowZealy = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupZealy = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/featureflag/client/cli/query_params.go b/x/featureflag/client/cli/query_params.go deleted file mode 100644 index 00cbb498..00000000 --- a/x/featureflag/client/cli/query_params.go +++ /dev/null @@ -1,34 +0,0 @@ -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 deleted file mode 100644 index 3689fa50..00000000 --- a/x/featureflag/client/cli/query_q_flag.go +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index 9625bcfd..00000000 --- a/x/featureflag/client/cli/query_q_flags.go +++ /dev/null @@ -1,42 +0,0 @@ -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 deleted file mode 100644 index 77ffceae..00000000 --- a/x/featureflag/client/cli/submit_flag_enable_proposal.go +++ /dev/null @@ -1,53 +0,0 @@ -package cli - -import ( - "strconv" - - "github.com/DecentralCardGame/Cardchain/x/featureflag/types" - - "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/proposal_handler.go b/x/featureflag/client/proposal_handler.go deleted file mode 100644 index bdfd8174..00000000 --- a/x/featureflag/client/proposal_handler.go +++ /dev/null @@ -1,9 +0,0 @@ -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_test.go b/x/featureflag/genesis_test.go deleted file mode 100644 index f70df928..00000000 --- a/x/featureflag/genesis_test.go +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index 6de1437a..00000000 --- a/x/featureflag/keeper/keeper.go +++ /dev/null @@ -1,109 +0,0 @@ -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 deleted file mode 100644 index 46ba6a72..00000000 --- a/x/featureflag/keeper/module_instace.go +++ /dev/null @@ -1,33 +0,0 @@ -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 deleted file mode 100644 index e4b569be..00000000 --- a/x/featureflag/keeper/msg_server.go +++ /dev/null @@ -1,17 +0,0 @@ -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 deleted file mode 100644 index 90c69699..00000000 --- a/x/featureflag/keeper/msg_server_test.go +++ /dev/null @@ -1,16 +0,0 @@ -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_test.go b/x/featureflag/keeper/params_test.go deleted file mode 100644 index 5dbcb43a..00000000 --- a/x/featureflag/keeper/params_test.go +++ /dev/null @@ -1,18 +0,0 @@ -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 deleted file mode 100644 index 98fa1054..00000000 --- a/x/featureflag/keeper/query.go +++ /dev/null @@ -1,7 +0,0 @@ -package keeper - -import ( - "github.com/DecentralCardGame/Cardchain/x/featureflag/types" -) - -var _ types.QueryServer = Keeper{} diff --git a/x/featureflag/keeper/query_params_test.go b/x/featureflag/keeper/query_params_test.go deleted file mode 100644 index 2b175bba..00000000 --- a/x/featureflag/keeper/query_params_test.go +++ /dev/null @@ -1,21 +0,0 @@ -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 deleted file mode 100644 index b7f281e3..00000000 --- a/x/featureflag/keeper/query_q_flag.go +++ /dev/null @@ -1,22 +0,0 @@ -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 deleted file mode 100644 index 5189d2eb..00000000 --- a/x/featureflag/keeper/query_q_flags.go +++ /dev/null @@ -1,22 +0,0 @@ -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/proposal_handler.go b/x/featureflag/proposal_handler.go deleted file mode 100644 index 43ff81c2..00000000 --- a/x/featureflag/proposal_handler.go +++ /dev/null @@ -1,38 +0,0 @@ -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 deleted file mode 100644 index 92c437c0..00000000 --- a/x/featureflag/simulation/helpers.go +++ /dev/null @@ -1,15 +0,0 @@ -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/errors.go b/x/featureflag/types/errors.go deleted file mode 100644 index d82f2c67..00000000 --- a/x/featureflag/types/errors.go +++ /dev/null @@ -1,12 +0,0 @@ -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/flag.pb.go b/x/featureflag/types/flag.pb.go deleted file mode 100644 index 971cb752..00000000 --- a/x/featureflag/types/flag.pb.go +++ /dev/null @@ -1,409 +0,0 @@ -// 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.pb.go b/x/featureflag/types/genesis.pb.go deleted file mode 100644 index 414ae0e1..00000000 --- a/x/featureflag/types/genesis.pb.go +++ /dev/null @@ -1,506 +0,0 @@ -// 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 deleted file mode 100644 index 7c83ee99..00000000 --- a/x/featureflag/types/genesis_test.go +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 98d31b87..00000000 --- a/x/featureflag/types/key_flags.go +++ /dev/null @@ -1,23 +0,0 @@ -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/proposal.go b/x/featureflag/types/proposal.go deleted file mode 100644 index aef07a0a..00000000 --- a/x/featureflag/types/proposal.go +++ /dev/null @@ -1,27 +0,0 @@ -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 deleted file mode 100644 index b9989389..00000000 --- a/x/featureflag/types/proposal.pb.go +++ /dev/null @@ -1,474 +0,0 @@ -// 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 deleted file mode 100644 index 8572ee15..00000000 --- a/x/featureflag/types/query.pb.go +++ /dev/null @@ -1,1325 +0,0 @@ -// 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 deleted file mode 100644 index 944986a1..00000000 --- a/x/featureflag/types/query.pb.gw.go +++ /dev/null @@ -1,341 +0,0 @@ -// 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 -) From e8b319d64ed6f19d27aa2268f0663b9fd8da5de3 Mon Sep 17 00:00:00 2001 From: Developer Experience team at Ignite Date: Mon, 16 Dec 2024 20:55:02 +0100 Subject: [PATCH 02/99] Initialized with Ignite CLI From 556342cb498544ccc90b594c439c0080aae5466d Mon Sep 17 00:00:00 2001 From: Developer Experience team at Ignite Date: Mon, 16 Dec 2024 20:56:18 +0100 Subject: [PATCH 03/99] Initialized with Ignite CLI --- .github/workflows/release.yml | 8 +-- .gitignore | 5 -- {cardchain/app => app}/app.go | 0 {cardchain/app => app}/encoding.go | 0 {cardchain/app => app}/export.go | 0 {cardchain/app => app}/genesis.go | 0 {cardchain/app => app}/params/encoding.go | 0 {cardchain/app => app}/simulation_test.go | 0 cardchain/.github/workflows/release.yml | 53 ------------------- cardchain/.gitignore | 6 --- .../cmd => cmd}/cardchaind/cmd/config.go | 0 .../cmd => cmd}/cardchaind/cmd/genaccounts.go | 0 {cardchain/cmd => cmd}/cardchaind/cmd/root.go | 0 {cardchain/cmd => cmd}/cardchaind/main.go | 0 cardchain/config.yml => config.yml | 0 {cardchain/docs => docs}/docs.go | 0 {cardchain/docs => docs}/static/openapi.yml | 0 {cardchain/docs => docs}/template/index.tpl | 0 cardchain/go.mod => go.mod | 0 cardchain/go.sum => go.sum | 0 .../cardchain/cardchain/genesis.proto | 0 .../cardchain/cardchain/params.proto | 0 .../cardchain/cardchain/query.proto | 0 .../cardchain/cardchain/tx.proto | 0 cardchain/readme.md => readme.md | 0 .../testutil => testutil}/keeper/cardchain.go | 0 .../testutil => testutil}/network/network.go | 0 .../testutil => testutil}/nullify/nullify.go | 0 .../testutil => testutil}/sample/sample.go | 0 {cardchain/tools => tools}/tools.go | 0 .../x => x}/cardchain/client/cli/query.go | 0 .../cardchain/client/cli/query_params.go | 0 {cardchain/x => x}/cardchain/client/cli/tx.go | 0 {cardchain/x => x}/cardchain/genesis.go | 0 {cardchain/x => x}/cardchain/genesis_test.go | 0 {cardchain/x => x}/cardchain/keeper/keeper.go | 0 .../x => x}/cardchain/keeper/msg_server.go | 0 .../cardchain/keeper/msg_server_test.go | 0 {cardchain/x => x}/cardchain/keeper/params.go | 0 .../x => x}/cardchain/keeper/params_test.go | 0 {cardchain/x => x}/cardchain/keeper/query.go | 0 .../x => x}/cardchain/keeper/query_params.go | 0 .../cardchain/keeper/query_params_test.go | 0 {cardchain/x => x}/cardchain/module.go | 0 .../x => x}/cardchain/module_simulation.go | 0 .../x => x}/cardchain/simulation/helpers.go | 0 {cardchain/x => x}/cardchain/types/codec.go | 0 {cardchain/x => x}/cardchain/types/errors.go | 0 .../cardchain/types/expected_keepers.go | 0 {cardchain/x => x}/cardchain/types/genesis.go | 0 .../x => x}/cardchain/types/genesis.pb.go | 0 .../x => x}/cardchain/types/genesis_test.go | 0 {cardchain/x => x}/cardchain/types/keys.go | 0 {cardchain/x => x}/cardchain/types/params.go | 0 .../x => x}/cardchain/types/params.pb.go | 0 .../x => x}/cardchain/types/query.pb.go | 0 .../x => x}/cardchain/types/query.pb.gw.go | 0 {cardchain/x => x}/cardchain/types/tx.pb.go | 0 {cardchain/x => x}/cardchain/types/types.go | 0 59 files changed, 4 insertions(+), 68 deletions(-) rename {cardchain/app => app}/app.go (100%) rename {cardchain/app => app}/encoding.go (100%) rename {cardchain/app => app}/export.go (100%) rename {cardchain/app => app}/genesis.go (100%) rename {cardchain/app => app}/params/encoding.go (100%) rename {cardchain/app => app}/simulation_test.go (100%) delete mode 100644 cardchain/.github/workflows/release.yml delete mode 100644 cardchain/.gitignore rename {cardchain/cmd => cmd}/cardchaind/cmd/config.go (100%) rename {cardchain/cmd => cmd}/cardchaind/cmd/genaccounts.go (100%) rename {cardchain/cmd => cmd}/cardchaind/cmd/root.go (100%) rename {cardchain/cmd => cmd}/cardchaind/main.go (100%) rename cardchain/config.yml => config.yml (100%) rename {cardchain/docs => docs}/docs.go (100%) rename {cardchain/docs => docs}/static/openapi.yml (100%) rename {cardchain/docs => docs}/template/index.tpl (100%) rename cardchain/go.mod => go.mod (100%) rename cardchain/go.sum => go.sum (100%) rename {cardchain/proto => proto}/cardchain/cardchain/genesis.proto (100%) rename {cardchain/proto => proto}/cardchain/cardchain/params.proto (100%) rename {cardchain/proto => proto}/cardchain/cardchain/query.proto (100%) rename {cardchain/proto => proto}/cardchain/cardchain/tx.proto (100%) rename cardchain/readme.md => readme.md (100%) rename {cardchain/testutil => testutil}/keeper/cardchain.go (100%) rename {cardchain/testutil => testutil}/network/network.go (100%) rename {cardchain/testutil => testutil}/nullify/nullify.go (100%) rename {cardchain/testutil => testutil}/sample/sample.go (100%) rename {cardchain/tools => tools}/tools.go (100%) rename {cardchain/x => x}/cardchain/client/cli/query.go (100%) rename {cardchain/x => x}/cardchain/client/cli/query_params.go (100%) rename {cardchain/x => x}/cardchain/client/cli/tx.go (100%) rename {cardchain/x => x}/cardchain/genesis.go (100%) rename {cardchain/x => x}/cardchain/genesis_test.go (100%) rename {cardchain/x => x}/cardchain/keeper/keeper.go (100%) rename {cardchain/x => x}/cardchain/keeper/msg_server.go (100%) rename {cardchain/x => x}/cardchain/keeper/msg_server_test.go (100%) rename {cardchain/x => x}/cardchain/keeper/params.go (100%) rename {cardchain/x => x}/cardchain/keeper/params_test.go (100%) rename {cardchain/x => x}/cardchain/keeper/query.go (100%) rename {cardchain/x => x}/cardchain/keeper/query_params.go (100%) rename {cardchain/x => x}/cardchain/keeper/query_params_test.go (100%) rename {cardchain/x => x}/cardchain/module.go (100%) rename {cardchain/x => x}/cardchain/module_simulation.go (100%) rename {cardchain/x => x}/cardchain/simulation/helpers.go (100%) rename {cardchain/x => x}/cardchain/types/codec.go (100%) rename {cardchain/x => x}/cardchain/types/errors.go (100%) rename {cardchain/x => x}/cardchain/types/expected_keepers.go (100%) rename {cardchain/x => x}/cardchain/types/genesis.go (100%) rename {cardchain/x => x}/cardchain/types/genesis.pb.go (100%) rename {cardchain/x => x}/cardchain/types/genesis_test.go (100%) rename {cardchain/x => x}/cardchain/types/keys.go (100%) rename {cardchain/x => x}/cardchain/types/params.go (100%) rename {cardchain/x => x}/cardchain/types/params.pb.go (100%) rename {cardchain/x => x}/cardchain/types/query.pb.go (100%) rename {cardchain/x => x}/cardchain/types/query.pb.gw.go (100%) rename {cardchain/x => x}/cardchain/types/tx.pb.go (100%) rename {cardchain/x => x}/cardchain/types/types.go (100%) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index af3a3000..8d4b1708 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,16 +25,16 @@ jobs: - name: Prepare Release Variables id: vars - uses: ignite/cli/actions/release/vars@v0.26.1 + uses: ignite/cli/actions/release/vars@main - name: Issue Release Assets - uses: ignite/cli/actions/cli@v0.26.1 + uses: ignite/cli/actions/cli@main if: ${{ steps.vars.outputs.should_release == 'true' }} with: - args: chain build --release --release.prefix ${{ steps.vars.outputs.tarball_prefix }} -t linux:amd64 -t darwin:amd64 --yes + args: chain build --release --release.prefix ${{ steps.vars.outputs.tarball_prefix }} -t linux:amd64 -t darwin:amd64 -t darwin:arm64 - name: Delete the "latest" Release - uses: dev-drprasad/delete-tag-and-release@v0.2.1 + uses: dev-drprasad/delete-tag-and-release@v0.2.0 if: ${{ steps.vars.outputs.is_release_type_latest == 'true' }} with: tag_name: ${{ steps.vars.outputs.tag_name }} diff --git a/.gitignore b/.gitignore index 5c711589..0d0535f6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,6 @@ -/backup vue/node_modules vue/dist -/vue release/ .idea/ .vscode/ .DS_Store -/build -/cs -/goat/node_modules \ No newline at end of file diff --git a/cardchain/app/app.go b/app/app.go similarity index 100% rename from cardchain/app/app.go rename to app/app.go diff --git a/cardchain/app/encoding.go b/app/encoding.go similarity index 100% rename from cardchain/app/encoding.go rename to app/encoding.go diff --git a/cardchain/app/export.go b/app/export.go similarity index 100% rename from cardchain/app/export.go rename to app/export.go diff --git a/cardchain/app/genesis.go b/app/genesis.go similarity index 100% rename from cardchain/app/genesis.go rename to app/genesis.go diff --git a/cardchain/app/params/encoding.go b/app/params/encoding.go similarity index 100% rename from cardchain/app/params/encoding.go rename to app/params/encoding.go diff --git a/cardchain/app/simulation_test.go b/app/simulation_test.go similarity index 100% rename from cardchain/app/simulation_test.go rename to app/simulation_test.go diff --git a/cardchain/.github/workflows/release.yml b/cardchain/.github/workflows/release.yml deleted file mode 100644 index 8d4b1708..00000000 --- a/cardchain/.github/workflows/release.yml +++ /dev/null @@ -1,53 +0,0 @@ -# This workflow is useful if you want to automate the process of: -# -# a) Creating a new prelease when you push a new tag with a "v" prefix (version). -# -# This type of prerelease is meant to be used for production: alpha, beta, rc, etc. types of releases. -# After the prerelease is created, you need to make your changes on the release page at the relevant -# Github page and publish your release. -# -# b) Creating/updating the "latest" prerelease when you push to your default branch. -# -# This type of prelease is useful to make your bleeding-edge binaries available to advanced users. -# -# The workflow will not run if there is no tag pushed with a "v" prefix and no change pushed to your -# default branch. -on: push - -jobs: - might_release: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Prepare Release Variables - id: vars - uses: ignite/cli/actions/release/vars@main - - - name: Issue Release Assets - uses: ignite/cli/actions/cli@main - if: ${{ steps.vars.outputs.should_release == 'true' }} - with: - args: chain build --release --release.prefix ${{ steps.vars.outputs.tarball_prefix }} -t linux:amd64 -t darwin:amd64 -t darwin:arm64 - - - name: Delete the "latest" Release - uses: dev-drprasad/delete-tag-and-release@v0.2.0 - if: ${{ steps.vars.outputs.is_release_type_latest == 'true' }} - with: - tag_name: ${{ steps.vars.outputs.tag_name }} - delete_release: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Publish the Release - uses: softprops/action-gh-release@v1 - if: ${{ steps.vars.outputs.should_release == 'true' }} - with: - tag_name: ${{ steps.vars.outputs.tag_name }} - files: release/* - prerelease: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/cardchain/.gitignore b/cardchain/.gitignore deleted file mode 100644 index 0d0535f6..00000000 --- a/cardchain/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -vue/node_modules -vue/dist -release/ -.idea/ -.vscode/ -.DS_Store diff --git a/cardchain/cmd/cardchaind/cmd/config.go b/cmd/cardchaind/cmd/config.go similarity index 100% rename from cardchain/cmd/cardchaind/cmd/config.go rename to cmd/cardchaind/cmd/config.go diff --git a/cardchain/cmd/cardchaind/cmd/genaccounts.go b/cmd/cardchaind/cmd/genaccounts.go similarity index 100% rename from cardchain/cmd/cardchaind/cmd/genaccounts.go rename to cmd/cardchaind/cmd/genaccounts.go diff --git a/cardchain/cmd/cardchaind/cmd/root.go b/cmd/cardchaind/cmd/root.go similarity index 100% rename from cardchain/cmd/cardchaind/cmd/root.go rename to cmd/cardchaind/cmd/root.go diff --git a/cardchain/cmd/cardchaind/main.go b/cmd/cardchaind/main.go similarity index 100% rename from cardchain/cmd/cardchaind/main.go rename to cmd/cardchaind/main.go diff --git a/cardchain/config.yml b/config.yml similarity index 100% rename from cardchain/config.yml rename to config.yml diff --git a/cardchain/docs/docs.go b/docs/docs.go similarity index 100% rename from cardchain/docs/docs.go rename to docs/docs.go diff --git a/cardchain/docs/static/openapi.yml b/docs/static/openapi.yml similarity index 100% rename from cardchain/docs/static/openapi.yml rename to docs/static/openapi.yml diff --git a/cardchain/docs/template/index.tpl b/docs/template/index.tpl similarity index 100% rename from cardchain/docs/template/index.tpl rename to docs/template/index.tpl diff --git a/cardchain/go.mod b/go.mod similarity index 100% rename from cardchain/go.mod rename to go.mod diff --git a/cardchain/go.sum b/go.sum similarity index 100% rename from cardchain/go.sum rename to go.sum diff --git a/cardchain/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto similarity index 100% rename from cardchain/proto/cardchain/cardchain/genesis.proto rename to proto/cardchain/cardchain/genesis.proto diff --git a/cardchain/proto/cardchain/cardchain/params.proto b/proto/cardchain/cardchain/params.proto similarity index 100% rename from cardchain/proto/cardchain/cardchain/params.proto rename to proto/cardchain/cardchain/params.proto diff --git a/cardchain/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto similarity index 100% rename from cardchain/proto/cardchain/cardchain/query.proto rename to proto/cardchain/cardchain/query.proto diff --git a/cardchain/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto similarity index 100% rename from cardchain/proto/cardchain/cardchain/tx.proto rename to proto/cardchain/cardchain/tx.proto diff --git a/cardchain/readme.md b/readme.md similarity index 100% rename from cardchain/readme.md rename to readme.md diff --git a/cardchain/testutil/keeper/cardchain.go b/testutil/keeper/cardchain.go similarity index 100% rename from cardchain/testutil/keeper/cardchain.go rename to testutil/keeper/cardchain.go diff --git a/cardchain/testutil/network/network.go b/testutil/network/network.go similarity index 100% rename from cardchain/testutil/network/network.go rename to testutil/network/network.go diff --git a/cardchain/testutil/nullify/nullify.go b/testutil/nullify/nullify.go similarity index 100% rename from cardchain/testutil/nullify/nullify.go rename to testutil/nullify/nullify.go diff --git a/cardchain/testutil/sample/sample.go b/testutil/sample/sample.go similarity index 100% rename from cardchain/testutil/sample/sample.go rename to testutil/sample/sample.go diff --git a/cardchain/tools/tools.go b/tools/tools.go similarity index 100% rename from cardchain/tools/tools.go rename to tools/tools.go diff --git a/cardchain/x/cardchain/client/cli/query.go b/x/cardchain/client/cli/query.go similarity index 100% rename from cardchain/x/cardchain/client/cli/query.go rename to x/cardchain/client/cli/query.go diff --git a/cardchain/x/cardchain/client/cli/query_params.go b/x/cardchain/client/cli/query_params.go similarity index 100% rename from cardchain/x/cardchain/client/cli/query_params.go rename to x/cardchain/client/cli/query_params.go diff --git a/cardchain/x/cardchain/client/cli/tx.go b/x/cardchain/client/cli/tx.go similarity index 100% rename from cardchain/x/cardchain/client/cli/tx.go rename to x/cardchain/client/cli/tx.go diff --git a/cardchain/x/cardchain/genesis.go b/x/cardchain/genesis.go similarity index 100% rename from cardchain/x/cardchain/genesis.go rename to x/cardchain/genesis.go diff --git a/cardchain/x/cardchain/genesis_test.go b/x/cardchain/genesis_test.go similarity index 100% rename from cardchain/x/cardchain/genesis_test.go rename to x/cardchain/genesis_test.go diff --git a/cardchain/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go similarity index 100% rename from cardchain/x/cardchain/keeper/keeper.go rename to x/cardchain/keeper/keeper.go diff --git a/cardchain/x/cardchain/keeper/msg_server.go b/x/cardchain/keeper/msg_server.go similarity index 100% rename from cardchain/x/cardchain/keeper/msg_server.go rename to x/cardchain/keeper/msg_server.go diff --git a/cardchain/x/cardchain/keeper/msg_server_test.go b/x/cardchain/keeper/msg_server_test.go similarity index 100% rename from cardchain/x/cardchain/keeper/msg_server_test.go rename to x/cardchain/keeper/msg_server_test.go diff --git a/cardchain/x/cardchain/keeper/params.go b/x/cardchain/keeper/params.go similarity index 100% rename from cardchain/x/cardchain/keeper/params.go rename to x/cardchain/keeper/params.go diff --git a/cardchain/x/cardchain/keeper/params_test.go b/x/cardchain/keeper/params_test.go similarity index 100% rename from cardchain/x/cardchain/keeper/params_test.go rename to x/cardchain/keeper/params_test.go diff --git a/cardchain/x/cardchain/keeper/query.go b/x/cardchain/keeper/query.go similarity index 100% rename from cardchain/x/cardchain/keeper/query.go rename to x/cardchain/keeper/query.go diff --git a/cardchain/x/cardchain/keeper/query_params.go b/x/cardchain/keeper/query_params.go similarity index 100% rename from cardchain/x/cardchain/keeper/query_params.go rename to x/cardchain/keeper/query_params.go diff --git a/cardchain/x/cardchain/keeper/query_params_test.go b/x/cardchain/keeper/query_params_test.go similarity index 100% rename from cardchain/x/cardchain/keeper/query_params_test.go rename to x/cardchain/keeper/query_params_test.go diff --git a/cardchain/x/cardchain/module.go b/x/cardchain/module.go similarity index 100% rename from cardchain/x/cardchain/module.go rename to x/cardchain/module.go diff --git a/cardchain/x/cardchain/module_simulation.go b/x/cardchain/module_simulation.go similarity index 100% rename from cardchain/x/cardchain/module_simulation.go rename to x/cardchain/module_simulation.go diff --git a/cardchain/x/cardchain/simulation/helpers.go b/x/cardchain/simulation/helpers.go similarity index 100% rename from cardchain/x/cardchain/simulation/helpers.go rename to x/cardchain/simulation/helpers.go diff --git a/cardchain/x/cardchain/types/codec.go b/x/cardchain/types/codec.go similarity index 100% rename from cardchain/x/cardchain/types/codec.go rename to x/cardchain/types/codec.go diff --git a/cardchain/x/cardchain/types/errors.go b/x/cardchain/types/errors.go similarity index 100% rename from cardchain/x/cardchain/types/errors.go rename to x/cardchain/types/errors.go diff --git a/cardchain/x/cardchain/types/expected_keepers.go b/x/cardchain/types/expected_keepers.go similarity index 100% rename from cardchain/x/cardchain/types/expected_keepers.go rename to x/cardchain/types/expected_keepers.go diff --git a/cardchain/x/cardchain/types/genesis.go b/x/cardchain/types/genesis.go similarity index 100% rename from cardchain/x/cardchain/types/genesis.go rename to x/cardchain/types/genesis.go diff --git a/cardchain/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go similarity index 100% rename from cardchain/x/cardchain/types/genesis.pb.go rename to x/cardchain/types/genesis.pb.go diff --git a/cardchain/x/cardchain/types/genesis_test.go b/x/cardchain/types/genesis_test.go similarity index 100% rename from cardchain/x/cardchain/types/genesis_test.go rename to x/cardchain/types/genesis_test.go diff --git a/cardchain/x/cardchain/types/keys.go b/x/cardchain/types/keys.go similarity index 100% rename from cardchain/x/cardchain/types/keys.go rename to x/cardchain/types/keys.go diff --git a/cardchain/x/cardchain/types/params.go b/x/cardchain/types/params.go similarity index 100% rename from cardchain/x/cardchain/types/params.go rename to x/cardchain/types/params.go diff --git a/cardchain/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go similarity index 100% rename from cardchain/x/cardchain/types/params.pb.go rename to x/cardchain/types/params.pb.go diff --git a/cardchain/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go similarity index 100% rename from cardchain/x/cardchain/types/query.pb.go rename to x/cardchain/types/query.pb.go diff --git a/cardchain/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go similarity index 100% rename from cardchain/x/cardchain/types/query.pb.gw.go rename to x/cardchain/types/query.pb.gw.go diff --git a/cardchain/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go similarity index 100% rename from cardchain/x/cardchain/types/tx.pb.go rename to x/cardchain/types/tx.pb.go diff --git a/cardchain/x/cardchain/types/types.go b/x/cardchain/types/types.go similarity index 100% rename from cardchain/x/cardchain/types/types.go rename to x/cardchain/types/types.go From 6d279e204f3067c0b275630da093ede08949fb91 Mon Sep 17 00:00:00 2001 From: Developer Experience team at Ignite Date: Mon, 16 Dec 2024 21:00:23 +0100 Subject: [PATCH 04/99] Initialized with Ignite CLI --- app/app.go | 10 +- app/encoding.go | 2 +- app/simulation_test.go | 2 +- cmd/cardchaind/cmd/config.go | 2 +- cmd/cardchaind/cmd/root.go | 4 +- cmd/cardchaind/main.go | 4 +- docs/static/openapi.yml | 932 ++++++++++++------------ go.mod | 2 +- proto/cardchain/cardchain/genesis.proto | 4 +- proto/cardchain/cardchain/params.proto | 4 +- proto/cardchain/cardchain/query.proto | 6 +- proto/cardchain/cardchain/tx.proto | 4 +- readme.md | 4 +- testutil/keeper/cardchain.go | 4 +- testutil/network/network.go | 2 +- x/cardchain/client/cli/query.go | 2 +- x/cardchain/client/cli/query_params.go | 2 +- x/cardchain/client/cli/tx.go | 2 +- x/cardchain/genesis.go | 4 +- x/cardchain/genesis_test.go | 8 +- x/cardchain/keeper/keeper.go | 2 +- x/cardchain/keeper/msg_server.go | 2 +- x/cardchain/keeper/msg_server_test.go | 6 +- x/cardchain/keeper/params.go | 2 +- x/cardchain/keeper/params_test.go | 4 +- x/cardchain/keeper/query.go | 2 +- x/cardchain/keeper/query_params.go | 2 +- x/cardchain/keeper/query_params_test.go | 4 +- x/cardchain/module.go | 6 +- x/cardchain/module_simulation.go | 6 +- x/cardchain/types/genesis.pb.go | 24 +- x/cardchain/types/genesis_test.go | 2 +- x/cardchain/types/params.pb.go | 19 +- x/cardchain/types/query.pb.go | 46 +- x/cardchain/types/query.pb.gw.go | 2 +- x/cardchain/types/tx.pb.go | 16 +- 36 files changed, 579 insertions(+), 570 deletions(-) diff --git a/app/app.go b/app/app.go index 24dd4b4b..e7b664c1 100644 --- a/app/app.go +++ b/app/app.go @@ -103,13 +103,13 @@ import ( tmos "github.com/tendermint/tendermint/libs/os" dbm "github.com/tendermint/tm-db" - cardchainmodule "cardchain/x/cardchain" - cardchainmodulekeeper "cardchain/x/cardchain/keeper" - cardchainmoduletypes "cardchain/x/cardchain/types" + cardchainmodule "github.com/DecentralCardGame/cardchain/x/cardchain" + cardchainmodulekeeper "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" + cardchainmoduletypes "github.com/DecentralCardGame/cardchain/x/cardchain/types" // this line is used by starport scaffolding # stargate/app/moduleImport - appparams "cardchain/app/params" - "cardchain/docs" + appparams "github.com/DecentralCardGame/cardchain/app/params" + "github.com/DecentralCardGame/cardchain/docs" ) const ( diff --git a/app/encoding.go b/app/encoding.go index 6f39efd6..b40981e3 100644 --- a/app/encoding.go +++ b/app/encoding.go @@ -6,7 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/std" "github.com/cosmos/cosmos-sdk/x/auth/tx" - "cardchain/app/params" + "github.com/DecentralCardGame/cardchain/app/params" ) // makeEncodingConfig creates an EncodingConfig for an amino based test configuration. diff --git a/app/simulation_test.go b/app/simulation_test.go index 738b356f..3778a757 100644 --- a/app/simulation_test.go +++ b/app/simulation_test.go @@ -13,7 +13,7 @@ import ( tmproto "github.com/tendermint/tendermint/proto/tendermint/types" tmtypes "github.com/tendermint/tendermint/types" - "cardchain/app" + "github.com/DecentralCardGame/cardchain/app" ) func init() { diff --git a/cmd/cardchaind/cmd/config.go b/cmd/cardchaind/cmd/config.go index c15ca1be..54217956 100644 --- a/cmd/cardchaind/cmd/config.go +++ b/cmd/cardchaind/cmd/config.go @@ -3,7 +3,7 @@ package cmd import ( sdk "github.com/cosmos/cosmos-sdk/types" - "cardchain/app" + "github.com/DecentralCardGame/cardchain/app" ) func initSDKConfig() { diff --git a/cmd/cardchaind/cmd/root.go b/cmd/cardchaind/cmd/root.go index afaa6a7f..dffc3715 100644 --- a/cmd/cardchaind/cmd/root.go +++ b/cmd/cardchaind/cmd/root.go @@ -35,8 +35,8 @@ import ( dbm "github.com/tendermint/tm-db" // this line is used by starport scaffolding # root/moduleImport - "cardchain/app" - appparams "cardchain/app/params" + "github.com/DecentralCardGame/cardchain/app" + appparams "github.com/DecentralCardGame/cardchain/app/params" ) // NewRootCmd creates a new root command for a Cosmos SDK application diff --git a/cmd/cardchaind/main.go b/cmd/cardchaind/main.go index c242c9a5..f02cec18 100644 --- a/cmd/cardchaind/main.go +++ b/cmd/cardchaind/main.go @@ -6,8 +6,8 @@ import ( "github.com/cosmos/cosmos-sdk/server" svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" - "cardchain/app" - "cardchain/cmd/cardchaind/cmd" + "github.com/DecentralCardGame/cardchain/app" + "github.com/DecentralCardGame/cardchain/cmd/cardchaind/cmd" ) func main() { diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index fba514c7..e7d0064d 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -4,42 +4,6 @@ info: name: '' description: '' paths: - /cardchain/cardchain/params: - get: - summary: Parameters queries the parameters of the module. - operationId: CardchainCardchainParams - responses: - '200': - description: A successful response. - schema: - 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. - 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/auth/v1beta1/accounts: get: summary: Accounts returns all the existing accounts @@ -32617,6 +32581,42 @@ paths: 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 + 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 /ibc/apps/interchain_accounts/controller/v1/owners/{owner}/connections/{connection_id}: get: summary: >- @@ -43901,466 +43901,133 @@ paths: tags: - Query definitions: - cardchain.cardchain.Params: - type: object - description: Params defines the parameters for the module. - cardchain.cardchain.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. - google.protobuf.Any: + cosmos.auth.v1beta1.AddressBytesToStringResponse: type: object properties: - '@type': + address_string: 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)) { - ... - } + AddressBytesToStringResponse is the response type for AddressString rpc + method. - 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. + 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. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + 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. - 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.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 - The pack methods provided by protobuf library will by default use + protocol buffer message. This string must contain at least - 'type.googleapis.com/full.type.name' as the type URL and the unpack + one "/" character. The last segment of the URL's path must + represent - methods only use the fully qualified type name after the last '/' + the fully qualified name of the type (as in - in the type URL, for example "foo.bar.com/x/y.z" will yield type + `path/google.protobuf.Duration`). The name should be in a + canonical form - name "y.z". + (e.g., leading "." is not accepted). + In practice, teams usually precompile into the binary all types + that they - JSON + 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 - The JSON representation of an `Any` value uses the regular + server that maps type URLs to message definitions as follows: - representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: + * If no scheme is provided, `https` is assumed. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + * 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.) - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + Note: this functionality is not currently available in the + official - If the embedded message type is well-known and has a custom JSON + protobuf release, and it is not used for type URLs beginning with - representation, that representation will be embedded adding a field + type.googleapis.com. - `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + Schemes other than `http`, `https` (or the empty scheme) might be - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - google.rpc.Status: + 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: - 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" - } - cosmos.auth.v1beta1.AddressBytesToStringResponse: - type: object - properties: - address_string: - type: string - description: >- - AddressBytesToStringResponse is the response type for AddressString rpc - method. - - - 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. - - - 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. - - 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 - - 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: >- - QueryAccountResponse is the response type for the Query/Account RPC - method. - cosmos.auth.v1beta1.QueryAccountsResponse: - type: object - properties: - accounts: + accounts: type: array items: type: object @@ -44982,6 +44649,329 @@ definitions: 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 + + 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" + } + 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 + + 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: type: object properties: @@ -66816,6 +66806,16 @@ definitions: 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.Params: + type: object + description: Params defines the parameters for the module. + decentralcardgame.cardchain.cardchain.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. ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse: type: object properties: diff --git a/go.mod b/go.mod index c060af3f..b4aa26a4 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module cardchain +module github.com/DecentralCardGame/cardchain go 1.22.7 diff --git a/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto index fc8e75ee..821c6452 100644 --- a/proto/cardchain/cardchain/genesis.proto +++ b/proto/cardchain/cardchain/genesis.proto @@ -1,10 +1,10 @@ syntax = "proto3"; -package cardchain.cardchain; +package decentralcardgame.cardchain.cardchain; import "gogoproto/gogo.proto"; import "cardchain/cardchain/params.proto"; -option go_package = "cardchain/x/cardchain/types"; +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // GenesisState defines the cardchain module's genesis state. message GenesisState { diff --git a/proto/cardchain/cardchain/params.proto b/proto/cardchain/cardchain/params.proto index c6d825a4..0053c7ac 100644 --- a/proto/cardchain/cardchain/params.proto +++ b/proto/cardchain/cardchain/params.proto @@ -1,9 +1,9 @@ syntax = "proto3"; -package cardchain.cardchain; +package decentralcardgame.cardchain.cardchain; import "gogoproto/gogo.proto"; -option go_package = "cardchain/x/cardchain/types"; +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // Params defines the parameters for the module. message Params { diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 4afc70fc..e691055d 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -1,18 +1,18 @@ syntax = "proto3"; -package cardchain.cardchain; +package decentralcardgame.cardchain.cardchain; import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; import "cardchain/cardchain/params.proto"; -option go_package = "cardchain/x/cardchain/types"; +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/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 = "/cardchain/cardchain/params"; + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/params"; } } diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index fc2619b2..63af8c5c 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -1,7 +1,7 @@ syntax = "proto3"; -package cardchain.cardchain; +package decentralcardgame.cardchain.cardchain; -option go_package = "cardchain/x/cardchain/types"; +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // Msg defines the Msg service. service Msg {} \ No newline at end of file diff --git a/readme.md b/readme.md index f5f56e25..62463a4a 100644 --- a/readme.md +++ b/readme.md @@ -39,9 +39,9 @@ After a draft release is created, make your final changes from the release page To install the latest version of your blockchain node's binary, execute the following command on your machine: ``` -curl https://get.ignite.com/username/cardchain@latest! | sudo bash +curl https://get.ignite.com/DecentralCardGame/cardchain@latest! | sudo bash ``` -`username/cardchain` should match the `username` and `repo_name` of the Github repository to which the source code was pushed. Learn more about [the install process](https://github.com/allinbits/starport-installer). +`DecentralCardGame/cardchain` should match the `username` and `repo_name` of the Github repository to which the source code was pushed. Learn more about [the install process](https://github.com/allinbits/starport-installer). ## Learn more diff --git a/testutil/keeper/cardchain.go b/testutil/keeper/cardchain.go index dec8eec3..4b245c40 100644 --- a/testutil/keeper/cardchain.go +++ b/testutil/keeper/cardchain.go @@ -3,8 +3,8 @@ package keeper import ( "testing" - "cardchain/x/cardchain/keeper" - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/store" diff --git a/testutil/network/network.go b/testutil/network/network.go index 12045762..ee5b314e 100644 --- a/testutil/network/network.go +++ b/testutil/network/network.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "cardchain/app" + "github.com/DecentralCardGame/cardchain/app" "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/crypto/hd" diff --git a/x/cardchain/client/cli/query.go b/x/cardchain/client/cli/query.go index ff383906..ed2bc793 100644 --- a/x/cardchain/client/cli/query.go +++ b/x/cardchain/client/cli/query.go @@ -10,7 +10,7 @@ import ( // "github.com/cosmos/cosmos-sdk/client/flags" // sdk "github.com/cosmos/cosmos-sdk/types" - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) // GetQueryCmd returns the cli query commands for this module diff --git a/x/cardchain/client/cli/query_params.go b/x/cardchain/client/cli/query_params.go index 66fc895c..7f85e537 100644 --- a/x/cardchain/client/cli/query_params.go +++ b/x/cardchain/client/cli/query_params.go @@ -3,7 +3,7 @@ package cli import ( "context" - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/spf13/cobra" diff --git a/x/cardchain/client/cli/tx.go b/x/cardchain/client/cli/tx.go index ddd6b084..fd92b849 100644 --- a/x/cardchain/client/cli/tx.go +++ b/x/cardchain/client/cli/tx.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" // "github.com/cosmos/cosmos-sdk/client/flags" - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) var ( diff --git a/x/cardchain/genesis.go b/x/cardchain/genesis.go index 31cb489a..206b414b 100644 --- a/x/cardchain/genesis.go +++ b/x/cardchain/genesis.go @@ -1,8 +1,8 @@ package cardchain import ( - "cardchain/x/cardchain/keeper" - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) diff --git a/x/cardchain/genesis_test.go b/x/cardchain/genesis_test.go index 031be221..398961b8 100644 --- a/x/cardchain/genesis_test.go +++ b/x/cardchain/genesis_test.go @@ -3,10 +3,10 @@ package cardchain_test import ( "testing" - keepertest "cardchain/testutil/keeper" - "cardchain/testutil/nullify" - "cardchain/x/cardchain" - "cardchain/x/cardchain/types" + keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/testutil/nullify" + "github.com/DecentralCardGame/cardchain/x/cardchain" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" "github.com/stretchr/testify/require" ) diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index 644979b9..afa32161 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -9,7 +9,7 @@ import ( paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" "github.com/tendermint/tendermint/libs/log" - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) type ( diff --git a/x/cardchain/keeper/msg_server.go b/x/cardchain/keeper/msg_server.go index 80a30c48..3d1a0b5a 100644 --- a/x/cardchain/keeper/msg_server.go +++ b/x/cardchain/keeper/msg_server.go @@ -1,7 +1,7 @@ package keeper import ( - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) type msgServer struct { diff --git a/x/cardchain/keeper/msg_server_test.go b/x/cardchain/keeper/msg_server_test.go index 09d61a2a..3c8c0a73 100644 --- a/x/cardchain/keeper/msg_server_test.go +++ b/x/cardchain/keeper/msg_server_test.go @@ -4,9 +4,9 @@ import ( "context" "testing" - keepertest "cardchain/testutil/keeper" - "cardchain/x/cardchain/keeper" - "cardchain/x/cardchain/types" + keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) diff --git a/x/cardchain/keeper/params.go b/x/cardchain/keeper/params.go index 4be06d62..c4c398c6 100644 --- a/x/cardchain/keeper/params.go +++ b/x/cardchain/keeper/params.go @@ -1,7 +1,7 @@ package keeper import ( - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) diff --git a/x/cardchain/keeper/params_test.go b/x/cardchain/keeper/params_test.go index a605af0b..e913f82f 100644 --- a/x/cardchain/keeper/params_test.go +++ b/x/cardchain/keeper/params_test.go @@ -3,8 +3,8 @@ package keeper_test import ( "testing" - testkeeper "cardchain/testutil/keeper" - "cardchain/x/cardchain/types" + testkeeper "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" "github.com/stretchr/testify/require" ) diff --git a/x/cardchain/keeper/query.go b/x/cardchain/keeper/query.go index 5394fe4a..7c2edb15 100644 --- a/x/cardchain/keeper/query.go +++ b/x/cardchain/keeper/query.go @@ -1,7 +1,7 @@ package keeper import ( - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) var _ types.QueryServer = Keeper{} diff --git a/x/cardchain/keeper/query_params.go b/x/cardchain/keeper/query_params.go index bd3ff441..58692cc4 100644 --- a/x/cardchain/keeper/query_params.go +++ b/x/cardchain/keeper/query_params.go @@ -3,7 +3,7 @@ package keeper import ( "context" - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" diff --git a/x/cardchain/keeper/query_params_test.go b/x/cardchain/keeper/query_params_test.go index 200fd7f8..22b1111e 100644 --- a/x/cardchain/keeper/query_params_test.go +++ b/x/cardchain/keeper/query_params_test.go @@ -3,8 +3,8 @@ package keeper_test import ( "testing" - testkeeper "cardchain/testutil/keeper" - "cardchain/x/cardchain/types" + testkeeper "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/require" ) diff --git a/x/cardchain/module.go b/x/cardchain/module.go index 205f836f..9ed55832 100644 --- a/x/cardchain/module.go +++ b/x/cardchain/module.go @@ -11,9 +11,9 @@ import ( abci "github.com/tendermint/tendermint/abci/types" - "cardchain/x/cardchain/client/cli" - "cardchain/x/cardchain/keeper" - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/client/cli" + "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" diff --git a/x/cardchain/module_simulation.go b/x/cardchain/module_simulation.go index cdf65c5e..075b38f4 100644 --- a/x/cardchain/module_simulation.go +++ b/x/cardchain/module_simulation.go @@ -3,9 +3,9 @@ package cardchain import ( "math/rand" - "cardchain/testutil/sample" - cardchainsimulation "cardchain/x/cardchain/simulation" - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/testutil/sample" + cardchainsimulation "github.com/DecentralCardGame/cardchain/x/cardchain/simulation" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/baseapp" simappparams "github.com/cosmos/cosmos-sdk/simapp/params" sdk "github.com/cosmos/cosmos-sdk/types" diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 1acbcf96..adb70bad 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -69,24 +69,26 @@ func (m *GenesisState) GetParams() Params { } func init() { - proto.RegisterType((*GenesisState)(nil), "cardchain.cardchain.GenesisState") + proto.RegisterType((*GenesisState)(nil), "decentralcardgame.cardchain.cardchain.GenesisState") } func init() { proto.RegisterFile("cardchain/cardchain/genesis.proto", fileDescriptor_c4e78aa6e403ddd4) } var fileDescriptor_c4e78aa6e403ddd4 = []byte{ - // 169 bytes of a gzipped FileDescriptorProto + // 207 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4c, 0x4e, 0x2c, 0x4a, 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xd2, 0x53, 0xf3, 0x52, 0x8b, 0x33, 0x8b, 0xf5, - 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0x12, 0x7a, 0x70, 0x96, 0x94, 0x48, 0x7a, 0x7e, - 0x7a, 0x3e, 0x58, 0x5e, 0x1f, 0xc4, 0x82, 0x28, 0x95, 0x52, 0xc0, 0x66, 0x5a, 0x41, 0x62, 0x51, - 0x62, 0x2e, 0xd4, 0x30, 0x25, 0x4f, 0x2e, 0x1e, 0x77, 0x88, 0xe9, 0xc1, 0x25, 0x89, 0x25, 0xa9, - 0x42, 0x96, 0x5c, 0x6c, 0x10, 0x79, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x6e, 0x23, 0x69, 0x3d, 0x2c, - 0xb6, 0xe9, 0x05, 0x80, 0x95, 0x38, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x10, 0x04, 0xd5, 0xe0, 0x64, - 0x7a, 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, 0xd2, 0x08, 0xcb, 0x2b, 0x90, - 0x1c, 0x52, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, 0x06, 0x76, 0x88, 0x31, 0x20, 0x00, 0x00, 0xff, - 0xff, 0x34, 0x24, 0xcb, 0xd6, 0xfa, 0x00, 0x00, 0x00, + 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x53, 0x52, 0x93, 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, + 0x40, 0x2a, 0xd2, 0x13, 0x73, 0x53, 0xf5, 0xe0, 0x4a, 0x11, 0x2c, 0x29, 0x91, 0xf4, 0xfc, 0xf4, + 0x7c, 0xb0, 0x0e, 0x7d, 0x10, 0x0b, 0xa2, 0x59, 0x4a, 0x01, 0x9b, 0xf9, 0x05, 0x89, 0x45, 0x89, + 0xb9, 0x50, 0xe3, 0x95, 0xa2, 0xb9, 0x78, 0xdc, 0x21, 0xf6, 0x05, 0x97, 0x24, 0x96, 0xa4, 0x0a, + 0x79, 0x73, 0xb1, 0x41, 0xe4, 0x25, 0x18, 0x15, 0x18, 0x35, 0xb8, 0x8d, 0x74, 0xf5, 0x88, 0xb2, + 0x5f, 0x2f, 0x00, 0xac, 0xc9, 0x89, 0xe5, 0xc4, 0x3d, 0x79, 0x86, 0x20, 0xa8, 0x11, 0x4e, 0x41, + 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x84, 0xc7, 0x72, + 0x0c, 0x17, 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, 0x10, 0x65, 0x91, 0x9e, 0x59, 0x92, 0x51, + 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0xef, 0x02, 0xb3, 0xc0, 0x39, 0xb1, 0x28, 0xc5, 0x3d, 0x31, + 0x37, 0x15, 0xc9, 0xad, 0x15, 0x48, 0xec, 0x92, 0xca, 0x82, 0xd4, 0xe2, 0x24, 0x36, 0xb0, 0xbb, + 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe1, 0xb9, 0x0f, 0xdd, 0x3b, 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/cardchain/types/genesis_test.go b/x/cardchain/types/genesis_test.go index bbb35c40..eb6495b7 100644 --- a/x/cardchain/types/genesis_test.go +++ b/x/cardchain/types/genesis_test.go @@ -3,7 +3,7 @@ package types_test import ( "testing" - "cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" "github.com/stretchr/testify/require" ) diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index 5b6f4620..9b935bac 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -60,21 +60,24 @@ func (m *Params) XXX_DiscardUnknown() { var xxx_messageInfo_Params proto.InternalMessageInfo func init() { - proto.RegisterType((*Params)(nil), "cardchain.cardchain.Params") + proto.RegisterType((*Params)(nil), "decentralcardgame.cardchain.cardchain.Params") } func init() { proto.RegisterFile("cardchain/cardchain/params.proto", fileDescriptor_8843e481ee664a23) } var fileDescriptor_8843e481ee664a23 = []byte{ - // 127 bytes of a gzipped FileDescriptorProto + // 165 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, 0x47, 0xb0, 0x0a, 0x12, 0x8b, 0x12, 0x73, 0x8b, 0xf5, 0x0a, - 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xe2, 0x7a, 0x70, 0x96, 0x94, 0x48, 0x7a, 0x7e, 0x7a, - 0x3e, 0x58, 0x5e, 0x1f, 0xc4, 0x82, 0x28, 0x55, 0xe2, 0xe3, 0x62, 0x0b, 0x00, 0x6b, 0xb5, 0x62, - 0x99, 0xb1, 0x40, 0x9e, 0xc1, 0xc9, 0xf4, 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, 0xa4, 0x11, 0x96, 0x55, 0x20, 0x59, 0x5c, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, 0x06, 0x36, - 0xcd, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xf0, 0x3c, 0x14, 0x02, 0x9c, 0x00, 0x00, 0x00, + 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x53, 0x52, 0x93, 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x40, + 0x0a, 0xd2, 0x13, 0x73, 0x53, 0xf5, 0xe0, 0x2a, 0x11, 0x2c, 0x29, 0x91, 0xf4, 0xfc, 0xf4, 0x7c, + 0xb0, 0x0e, 0x7d, 0x10, 0x0b, 0xa2, 0x59, 0x89, 0x8f, 0x8b, 0x2d, 0x00, 0x6c, 0x98, 0x15, 0xcb, + 0x8c, 0x05, 0xf2, 0x0c, 0x4e, 0x41, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, + 0x91, 0x1c, 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x17, 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, 0x10, + 0x65, 0x91, 0x9e, 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0xef, 0x02, 0xb3, 0xd1, + 0x39, 0xb1, 0x28, 0xc5, 0x3d, 0x31, 0x37, 0x15, 0xc9, 0x6d, 0x15, 0x48, 0xec, 0x92, 0xca, 0x82, + 0xd4, 0xe2, 0x24, 0x36, 0xb0, 0x55, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfa, 0x5b, 0x35, + 0x3b, 0xcb, 0x00, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 8ed23879..5b4e5954 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -114,32 +114,34 @@ func (m *QueryParamsResponse) GetParams() Params { } func init() { - proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") - proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") + proto.RegisterType((*QueryParamsRequest)(nil), "decentralcardgame.cardchain.cardchain.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "decentralcardgame.cardchain.cardchain.QueryParamsResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 282 bytes of a gzipped FileDescriptorProto + // 320 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0x4e, 0x2c, 0x4a, 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x0a, 0x4b, 0x53, 0x8b, 0x2a, 0xf5, 0x0a, 0x8a, - 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xc2, 0x7a, 0x70, 0x96, 0x94, 0x48, 0x7a, 0x7e, 0x7a, 0x3e, - 0x58, 0x5e, 0x1f, 0xc4, 0x82, 0x28, 0x95, 0x92, 0x49, 0xcf, 0xcf, 0x4f, 0xcf, 0x49, 0xd5, 0x4f, - 0x2c, 0xc8, 0xd4, 0x4f, 0xcc, 0xcb, 0xcb, 0x2f, 0x49, 0x2c, 0xc9, 0xcc, 0xcf, 0x2b, 0x86, 0xca, - 0x6a, 0x25, 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, 0x27, 0x25, 0x16, 0xa7, 0x42, 0x6c, 0xd0, 0x2f, - 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x2f, 0x48, 0x4c, 0xcf, 0xcc, 0x03, 0x2b, 0x86, 0xaa, - 0x55, 0xc0, 0xe6, 0xaa, 0x82, 0xc4, 0xa2, 0xc4, 0x5c, 0xa8, 0x69, 0x4a, 0x22, 0x5c, 0x42, 0x81, - 0x20, 0x33, 0x02, 0xc0, 0x82, 0x41, 0xa9, 0x85, 0xa5, 0xa9, 0xc5, 0x25, 0x4a, 0x01, 0x5c, 0xc2, - 0x28, 0xa2, 0xc5, 0x05, 0xf9, 0x79, 0xc5, 0xa9, 0x42, 0x96, 0x5c, 0x6c, 0x10, 0xcd, 0x12, 0x8c, - 0x0a, 0x8c, 0x1a, 0xdc, 0x46, 0xd2, 0x7a, 0x58, 0x3c, 0xa5, 0x07, 0xd1, 0xe4, 0xc4, 0x72, 0xe2, - 0x9e, 0x3c, 0x43, 0x10, 0x54, 0x83, 0x51, 0x17, 0x23, 0x17, 0x2b, 0xd8, 0x48, 0xa1, 0x06, 0x46, - 0x2e, 0x36, 0x88, 0x12, 0x21, 0x75, 0xac, 0xfa, 0x31, 0xdd, 0x23, 0xa5, 0x41, 0x58, 0x21, 0xc4, - 0x89, 0x4a, 0xca, 0x4d, 0x97, 0x9f, 0x4c, 0x66, 0x92, 0x15, 0x92, 0xd6, 0xc7, 0xed, 0x75, 0x27, - 0xd3, 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, 0x92, 0x46, 0xa8, 0xad, 0x40, - 0xd2, 0x57, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, 0x06, 0x0e, 0x32, 0x63, 0x40, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x9f, 0x9b, 0xed, 0xb4, 0xec, 0x01, 0x00, 0x00, + 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x53, 0x52, 0x93, 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x40, 0xf2, + 0xe9, 0x89, 0xb9, 0xa9, 0x7a, 0x70, 0x85, 0x08, 0x96, 0x94, 0x48, 0x7a, 0x7e, 0x7a, 0x3e, 0x58, + 0x87, 0x3e, 0x88, 0x05, 0xd1, 0x2c, 0x25, 0x93, 0x9e, 0x9f, 0x9f, 0x9e, 0x93, 0xaa, 0x9f, 0x58, + 0x90, 0xa9, 0x9f, 0x98, 0x97, 0x97, 0x5f, 0x92, 0x58, 0x92, 0x99, 0x9f, 0x57, 0x0c, 0x95, 0xd5, + 0x4a, 0xce, 0x2f, 0xce, 0xcd, 0x2f, 0xd6, 0x4f, 0x4a, 0x2c, 0x4e, 0x85, 0xd8, 0xa9, 0x5f, 0x66, + 0x98, 0x94, 0x5a, 0x92, 0x68, 0xa8, 0x5f, 0x90, 0x98, 0x9e, 0x99, 0x07, 0x56, 0x0c, 0x55, 0xab, + 0x80, 0xcd, 0x9d, 0x05, 0x89, 0x45, 0x89, 0xb9, 0x50, 0xd3, 0x94, 0x44, 0xb8, 0x84, 0x02, 0x41, + 0x66, 0x04, 0x80, 0x05, 0x83, 0x52, 0x0b, 0x4b, 0x53, 0x8b, 0x4b, 0x94, 0x92, 0xb8, 0x84, 0x51, + 0x44, 0x8b, 0x0b, 0xf2, 0xf3, 0x8a, 0x53, 0x85, 0xbc, 0xb9, 0xd8, 0x20, 0x9a, 0x25, 0x18, 0x15, + 0x18, 0x35, 0xb8, 0x8d, 0x74, 0xf5, 0x88, 0xf2, 0xa6, 0x1e, 0xc4, 0x18, 0x27, 0x96, 0x13, 0xf7, + 0xe4, 0x19, 0x82, 0xa0, 0x46, 0x18, 0x1d, 0x60, 0xe4, 0x62, 0x05, 0x5b, 0x22, 0xb4, 0x8d, 0x91, + 0x8b, 0x0d, 0xa2, 0x44, 0xc8, 0x92, 0x48, 0x13, 0x31, 0xdd, 0x2c, 0x65, 0x45, 0x8e, 0x56, 0x88, + 0xc7, 0x94, 0x4c, 0x9b, 0x2e, 0x3f, 0x99, 0xcc, 0xa4, 0x2f, 0xa4, 0xab, 0xef, 0x02, 0x33, 0xc3, + 0x39, 0xb1, 0x28, 0xc5, 0x3d, 0x31, 0x37, 0x55, 0x1f, 0x77, 0x10, 0x3a, 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, 0x2e, 0x5e, 0x23, 0x2b, 0x90, 0xd8, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0xe0, + 0x78, 0x31, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x6f, 0x0e, 0x2d, 0x28, 0x63, 0x02, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -168,7 +170,7 @@ func NewQueryClient(cc grpc1.ClientConn) QueryClient { func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Params", in, out, opts...) + err := c.cc.Invoke(ctx, "/decentralcardgame.cardchain.cardchain.Query/Params", in, out, opts...) if err != nil { return nil, err } @@ -203,7 +205,7 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cardchain.cardchain.Query/Params", + FullMethod: "/decentralcardgame.cardchain.cardchain.Query/Params", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) @@ -212,7 +214,7 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf } var _Query_serviceDesc = grpc.ServiceDesc{ - ServiceName: "cardchain.cardchain.Query", + ServiceName: "decentralcardgame.cardchain.cardchain.Query", HandlerType: (*QueryServer)(nil), Methods: []grpc.MethodDesc{ { diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index f0e7c8f1..385ab997 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -145,7 +145,7 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie } var ( - pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 0, 2, 1}, []string{"cardchain", "params"}, "", runtime.AssumeColonVerbOpt(true))) + 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))) ) var ( diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index babd459a..2ef99912 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -26,14 +26,16 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 103 bytes of a gzipped FileDescriptorProto + // 141 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0x4e, 0x2c, 0x4a, 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x4a, 0x2a, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, - 0x85, 0x84, 0xe1, 0x62, 0x7a, 0x70, 0x96, 0x11, 0x2b, 0x17, 0xb3, 0x6f, 0x71, 0xba, 0x93, 0xe9, - 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, - 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x49, 0x23, 0x4c, 0xaa, 0x40, 0x36, - 0xb5, 0xb2, 0x20, 0xb5, 0x38, 0x89, 0x0d, 0x6c, 0xb2, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x25, - 0xeb, 0x23, 0xea, 0x79, 0x00, 0x00, 0x00, + 0x85, 0x54, 0x53, 0x52, 0x93, 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x40, 0x92, 0xe9, 0x89, 0xb9, + 0xa9, 0x7a, 0x70, 0x55, 0x08, 0x96, 0x11, 0x2b, 0x17, 0xb3, 0x6f, 0x71, 0xba, 0x53, 0xd0, 0x89, + 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, + 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x59, 0xa4, 0x67, 0x96, 0x64, 0x94, 0x26, + 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xbb, 0xc0, 0x8c, 0x74, 0x4e, 0x2c, 0x4a, 0x71, 0x4f, 0xcc, 0x4d, + 0x45, 0xb2, 0xb8, 0x02, 0xd9, 0x11, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, 0x87, 0x18, 0x03, + 0x02, 0x00, 0x00, 0xff, 0xff, 0x88, 0x30, 0xd7, 0xab, 0xa8, 0x00, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -71,7 +73,7 @@ func RegisterMsgServer(s grpc1.Server, srv MsgServer) { } var _Msg_serviceDesc = grpc.ServiceDesc{ - ServiceName: "cardchain.cardchain.Msg", + ServiceName: "decentralcardgame.cardchain.cardchain.Msg", HandlerType: (*MsgServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{}, From 589d6a9e6812ae17be7685b4090a4fb007e01e16 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 16 Dec 2024 21:23:22 +0100 Subject: [PATCH 05/99] feat(#242): Added base --- gen.sh | 6 +++++ proto/cardchain/cardchain/voting.proto | 37 ++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100755 gen.sh create mode 100644 proto/cardchain/cardchain/voting.proto diff --git a/gen.sh b/gen.sh new file mode 100755 index 00000000..afa0c3d2 --- /dev/null +++ b/gen.sh @@ -0,0 +1,6 @@ +#!/usr/bin/sh + +#ignite scaffold message UserCreate newUser:string alias:string +#ignite scaffold message CardSchemeBuy bid:coin --response cardId:uint +#ignite scaffold message CardSaveContent cardId:uint content:string notes:string artist:string balanceAnchor:bool --response airdropClaimed:bool +ignite scaffold message CardVote cardId:uint voteType:VoteType --response airdropClaimed:bool diff --git a/proto/cardchain/cardchain/voting.proto b/proto/cardchain/cardchain/voting.proto new file mode 100644 index 00000000..2824500c --- /dev/null +++ b/proto/cardchain/cardchain/voting.proto @@ -0,0 +1,37 @@ +syntax = "proto3"; +package decentralCardGame.cardchain.cardchain; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message VotingResults { + + uint64 totalVotes = 1; + uint64 totalFairEnoughVotes = 2; + uint64 totalOverpoweredVotes = 3; + uint64 totalUnderpoweredVotes = 4; + uint64 totalInappropriateVotes = 5; + 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; + VoteType voteType = 2; +} + +enum VoteType { + fairEnough = 0; + inappropriate = 1; + overpowered = 2; + underpowered = 3; +} From 884412c44492dc8fdd35e3b4b97eed4965a8513f Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 16 Dec 2024 21:35:25 +0100 Subject: [PATCH 06/99] feat(#242): Small voting commit --- gen.sh | 2 +- proto/cardchain/cardchain/voting.proto | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gen.sh b/gen.sh index afa0c3d2..b203a988 100755 --- a/gen.sh +++ b/gen.sh @@ -3,4 +3,4 @@ #ignite scaffold message UserCreate newUser:string alias:string #ignite scaffold message CardSchemeBuy bid:coin --response cardId:uint #ignite scaffold message CardSaveContent cardId:uint content:string notes:string artist:string balanceAnchor:bool --response airdropClaimed:bool -ignite scaffold message CardVote cardId:uint voteType:VoteType --response airdropClaimed:bool +ignite scaffold message CardVote vote:SingleVote --response airdropClaimed:bool diff --git a/proto/cardchain/cardchain/voting.proto b/proto/cardchain/cardchain/voting.proto index 2824500c..5d7193c8 100644 --- a/proto/cardchain/cardchain/voting.proto +++ b/proto/cardchain/cardchain/voting.proto @@ -1,5 +1,5 @@ syntax = "proto3"; -package decentralCardGame.cardchain.cardchain; +package decentralcardgame.cardchain.cardchain; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; From 66852ee4d49b32f161473abb4d83bde4bb9276a5 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 16 Dec 2024 21:37:53 +0100 Subject: [PATCH 07/99] feat(#242): First generated txs --- docs/static/openapi.yml | 40 + gen.sh | 6 +- proto/cardchain/cardchain/tx.proto | 44 +- x/cardchain/client/cli/tx.go | 6 +- .../client/cli/tx_card_save_content.go | 57 + x/cardchain/client/cli/tx_card_scheme_buy.go | 46 + x/cardchain/client/cli/tx_card_vote.go | 48 + x/cardchain/client/cli/tx_user_create.go | 44 + .../keeper/msg_server_card_save_content.go | 17 + .../keeper/msg_server_card_scheme_buy.go | 17 + x/cardchain/keeper/msg_server_card_vote.go | 18 + x/cardchain/keeper/msg_server_user_create.go | 17 + x/cardchain/module_simulation.go | 62 +- x/cardchain/simulation/card_save_content.go | 29 + x/cardchain/simulation/card_scheme_buy.go | 29 + x/cardchain/simulation/card_vote.go | 29 + x/cardchain/simulation/user_create.go | 29 + x/cardchain/types/codec.go | 22 +- .../types/message_card_save_content.go | 50 + .../types/message_card_save_content_test.go | 40 + x/cardchain/types/message_card_scheme_buy.go | 46 + .../types/message_card_scheme_buy_test.go | 40 + x/cardchain/types/message_card_vote.go | 47 + x/cardchain/types/message_card_vote_test.go | 40 + x/cardchain/types/message_user_create.go | 47 + x/cardchain/types/message_user_create_test.go | 40 + x/cardchain/types/tx.pb.go | 2026 ++++++++++++++++- x/cardchain/types/voting.pb.go | 1135 +++++++++ 28 files changed, 4049 insertions(+), 22 deletions(-) create mode 100644 x/cardchain/client/cli/tx_card_save_content.go create mode 100644 x/cardchain/client/cli/tx_card_scheme_buy.go create mode 100644 x/cardchain/client/cli/tx_card_vote.go create mode 100644 x/cardchain/client/cli/tx_user_create.go create mode 100644 x/cardchain/keeper/msg_server_card_save_content.go create mode 100644 x/cardchain/keeper/msg_server_card_scheme_buy.go create mode 100644 x/cardchain/keeper/msg_server_card_vote.go create mode 100644 x/cardchain/keeper/msg_server_user_create.go create mode 100644 x/cardchain/simulation/card_save_content.go create mode 100644 x/cardchain/simulation/card_scheme_buy.go create mode 100644 x/cardchain/simulation/card_vote.go create mode 100644 x/cardchain/simulation/user_create.go create mode 100644 x/cardchain/types/message_card_save_content.go create mode 100644 x/cardchain/types/message_card_save_content_test.go create mode 100644 x/cardchain/types/message_card_scheme_buy.go create mode 100644 x/cardchain/types/message_card_scheme_buy_test.go create mode 100644 x/cardchain/types/message_card_vote.go create mode 100644 x/cardchain/types/message_card_vote_test.go create mode 100644 x/cardchain/types/message_user_create.go create mode 100644 x/cardchain/types/message_user_create_test.go create mode 100644 x/cardchain/types/voting.pb.go diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index e7d0064d..2db5b413 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -66806,6 +66806,24 @@ definitions: 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.MsgCardSaveContentResponse: + type: object + properties: + airdropClaimed: + type: boolean + decentralcardgame.cardchain.cardchain.MsgCardSchemeBuyResponse: + type: object + properties: + cardId: + type: string + format: uint64 + decentralcardgame.cardchain.cardchain.MsgCardVoteResponse: + type: object + properties: + airdropClaimed: + type: boolean + decentralcardgame.cardchain.cardchain.MsgUserCreateResponse: + type: object decentralcardgame.cardchain.cardchain.Params: type: object description: Params defines the parameters for the module. @@ -66816,6 +66834,28 @@ definitions: description: params holds all the parameters of this module. type: object description: QueryParamsResponse is response type for the Query/Params RPC method. + decentralcardgame.cardchain.cardchain.SingleVote: + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string + enum: + - fairEnough + - inappropriate + - overpowered + - underpowered + default: fairEnough + decentralcardgame.cardchain.cardchain.VoteType: + type: string + enum: + - fairEnough + - inappropriate + - overpowered + - underpowered + default: fairEnough ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse: type: object properties: diff --git a/gen.sh b/gen.sh index b203a988..ad801a38 100755 --- a/gen.sh +++ b/gen.sh @@ -1,6 +1,6 @@ #!/usr/bin/sh -#ignite scaffold message UserCreate newUser:string alias:string -#ignite scaffold message CardSchemeBuy bid:coin --response cardId:uint -#ignite scaffold message CardSaveContent cardId:uint content:string notes:string artist:string balanceAnchor:bool --response airdropClaimed:bool +ignite scaffold message UserCreate newUser:string alias:string +ignite scaffold message CardSchemeBuy bid:coin --response cardId:uint +ignite scaffold message CardSaveContent cardId:uint content:string notes:string artist:string balanceAnchor:bool --response airdropClaimed:bool ignite scaffold message CardVote vote:SingleVote --response airdropClaimed:bool diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 63af8c5c..06fccfcc 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -1,7 +1,49 @@ syntax = "proto3"; + package decentralcardgame.cardchain.cardchain; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; +import "cardchain/cardchain/voting.proto"; +import "cosmos/base/v1beta1/coin.proto"; +import "gogoproto/gogo.proto"; + // Msg defines the Msg service. -service Msg {} \ No newline at end of file +service Msg { + rpc UserCreate(MsgUserCreate) returns (MsgUserCreateResponse); + rpc CardSchemeBuy(MsgCardSchemeBuy) returns (MsgCardSchemeBuyResponse); + rpc CardSaveContent(MsgCardSaveContent) returns (MsgCardSaveContentResponse); + rpc CardVote(MsgCardVote) returns (MsgCardVoteResponse); +} +message MsgUserCreate { + string creator = 1; + string newUser = 2; + string alias = 3; +} + +message MsgUserCreateResponse {} + +message MsgCardSchemeBuy { + string creator = 1; + cosmos.base.v1beta1.Coin bid = 2 [ (gogoproto.nullable) = false ]; +} + +message MsgCardSchemeBuyResponse { uint64 cardId = 1; } + +message MsgCardSaveContent { + string creator = 1; + uint64 cardId = 2; + string content = 3; + string notes = 4; + string artist = 5; + bool balanceAnchor = 6; +} + +message MsgCardSaveContentResponse { bool airdropClaimed = 1; } + +message MsgCardVote { + string creator = 1; + SingleVote vote = 2; +} + +message MsgCardVoteResponse { bool airdropClaimed = 1; } diff --git a/x/cardchain/client/cli/tx.go b/x/cardchain/client/cli/tx.go index fd92b849..d7e73bf0 100644 --- a/x/cardchain/client/cli/tx.go +++ b/x/cardchain/client/cli/tx.go @@ -30,7 +30,11 @@ func GetTxCmd() *cobra.Command { RunE: client.ValidateCmd, } - // this line is used by starport scaffolding # 1 + cmd.AddCommand(CmdUserCreate()) + cmd.AddCommand(CmdCardSchemeBuy()) + cmd.AddCommand(CmdCardSaveContent()) + cmd.AddCommand(CmdCardVote()) +// this line is used by starport scaffolding # 1 return cmd } diff --git a/x/cardchain/client/cli/tx_card_save_content.go b/x/cardchain/client/cli/tx_card_save_content.go new file mode 100644 index 00000000..d8ed4f77 --- /dev/null +++ b/x/cardchain/client/cli/tx_card_save_content.go @@ -0,0 +1,57 @@ +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 CmdCardSaveContent() *cobra.Command { + cmd := &cobra.Command{ + Use: "card-save-content [card-id] [content] [notes] [artist] [balance-anchor]", + Short: "Broadcast message CardSaveContent", + Args: cobra.ExactArgs(5), + RunE: func(cmd *cobra.Command, args []string) (err error) { + argCardId, err := cast.ToUint64E(args[0]) + if err != nil { + return err + } + argContent := args[1] + argNotes := args[2] + argArtist := args[3] + argBalanceAnchor, err := cast.ToBoolE(args[4]) + if err != nil { + return err + } + + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + msg := types.NewMsgCardSaveContent( + clientCtx.GetFromAddress().String(), + argCardId, + argContent, + argNotes, + argArtist, + argBalanceAnchor, + ) + 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_card_scheme_buy.go b/x/cardchain/client/cli/tx_card_scheme_buy.go new file mode 100644 index 00000000..601ef20b --- /dev/null +++ b/x/cardchain/client/cli/tx_card_scheme_buy.go @@ -0,0 +1,46 @@ +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" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdCardSchemeBuy() *cobra.Command { + cmd := &cobra.Command{ + Use: "card-scheme-buy [bid]", + Short: "Broadcast message CardSchemeBuy", + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) (err error) { + argBid, err := sdk.ParseCoinNormalized(args[0]) + if err != nil { + return err + } + + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + msg := types.NewMsgCardSchemeBuy( + clientCtx.GetFromAddress().String(), + argBid, + ) + 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_card_vote.go b/x/cardchain/client/cli/tx_card_vote.go new file mode 100644 index 00000000..b67683d5 --- /dev/null +++ b/x/cardchain/client/cli/tx_card_vote.go @@ -0,0 +1,48 @@ +package cli + +import ( + "strconv" + + "encoding/json" + "github.com/spf13/cobra" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/client/tx" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" +) + +var _ = strconv.Itoa(0) + +func CmdCardVote() *cobra.Command { + cmd := &cobra.Command{ + Use: "card-vote [vote]", + Short: "Broadcast message CardVote", + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) (err error) { + argVote := new(types.SingleVote) + err = json.Unmarshal([]byte(args[0]), argVote) + if err != nil { + return err + } + + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + msg := types.NewMsgCardVote( + clientCtx.GetFromAddress().String(), + argVote, + + ) + if err := msg.ValidateBasic(); err != nil { + return err + } + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + flags.AddTxFlagsToCmd(cmd) + + return cmd +} \ No newline at end of file diff --git a/x/cardchain/client/cli/tx_user_create.go b/x/cardchain/client/cli/tx_user_create.go new file mode 100644 index 00000000..2d9bad0e --- /dev/null +++ b/x/cardchain/client/cli/tx_user_create.go @@ -0,0 +1,44 @@ +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 CmdUserCreate() *cobra.Command { + cmd := &cobra.Command{ + Use: "user-create [new-user] [alias]", + Short: "Broadcast message UserCreate", + Args: cobra.ExactArgs(2), + RunE: func(cmd *cobra.Command, args []string) (err error) { + argNewUser := args[0] + argAlias := args[1] + + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + msg := types.NewMsgUserCreate( + clientCtx.GetFromAddress().String(), + argNewUser, + argAlias, + ) + 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/keeper/msg_server_card_save_content.go b/x/cardchain/keeper/msg_server_card_save_content.go new file mode 100644 index 00000000..77499b72 --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_save_content.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CardSaveContent(goCtx context.Context, msg *types.MsgCardSaveContent) (*types.MsgCardSaveContentResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCardSaveContentResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_card_scheme_buy.go b/x/cardchain/keeper/msg_server_card_scheme_buy.go new file mode 100644 index 00000000..4874750e --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_scheme_buy.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CardSchemeBuy(goCtx context.Context, msg *types.MsgCardSchemeBuy) (*types.MsgCardSchemeBuyResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCardSchemeBuyResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_card_vote.go b/x/cardchain/keeper/msg_server_card_vote.go new file mode 100644 index 00000000..4c4e627a --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_vote.go @@ -0,0 +1,18 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + + +func (k msgServer) CardVote(goCtx context.Context, msg *types.MsgCardVote) (*types.MsgCardVoteResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCardVoteResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_user_create.go b/x/cardchain/keeper/msg_server_user_create.go new file mode 100644 index 00000000..9551a5f8 --- /dev/null +++ b/x/cardchain/keeper/msg_server_user_create.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) UserCreate(goCtx context.Context, msg *types.MsgUserCreate) (*types.MsgUserCreateResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgUserCreateResponse{}, nil +} diff --git a/x/cardchain/module_simulation.go b/x/cardchain/module_simulation.go index 075b38f4..ebcfab78 100644 --- a/x/cardchain/module_simulation.go +++ b/x/cardchain/module_simulation.go @@ -24,7 +24,23 @@ var ( ) const ( -// this line is used by starport scaffolding # simapp/module/const + opWeightMsgUserCreate = "op_weight_msg_user_create" + // TODO: Determine the simulation weight value + defaultWeightMsgUserCreate int = 100 + + opWeightMsgCardSchemeBuy = "op_weight_msg_card_scheme_buy" + // TODO: Determine the simulation weight value + defaultWeightMsgCardSchemeBuy int = 100 + + opWeightMsgCardSaveContent = "op_weight_msg_card_save_content" + // TODO: Determine the simulation weight value + defaultWeightMsgCardSaveContent int = 100 + + opWeightMsgCardVote = "op_weight_msg_card_vote" + // TODO: Determine the simulation weight value + defaultWeightMsgCardVote int = 100 + + // this line is used by starport scaffolding # simapp/module/const ) // GenerateGenesisState creates a randomized GenState of the module @@ -58,6 +74,50 @@ func (am AppModule) RegisterStoreDecoder(_ sdk.StoreDecoderRegistry) {} func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation { operations := make([]simtypes.WeightedOperation, 0) + var weightMsgUserCreate int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgUserCreate, &weightMsgUserCreate, nil, + func(_ *rand.Rand) { + weightMsgUserCreate = defaultWeightMsgUserCreate + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgUserCreate, + cardchainsimulation.SimulateMsgUserCreate(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCardSchemeBuy int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCardSchemeBuy, &weightMsgCardSchemeBuy, nil, + func(_ *rand.Rand) { + weightMsgCardSchemeBuy = defaultWeightMsgCardSchemeBuy + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardSchemeBuy, + cardchainsimulation.SimulateMsgCardSchemeBuy(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCardSaveContent int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCardSaveContent, &weightMsgCardSaveContent, nil, + func(_ *rand.Rand) { + weightMsgCardSaveContent = defaultWeightMsgCardSaveContent + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardSaveContent, + cardchainsimulation.SimulateMsgCardSaveContent(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCardVote int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCardVote, &weightMsgCardVote, nil, + func(_ *rand.Rand) { + weightMsgCardVote = defaultWeightMsgCardVote + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardVote, + cardchainsimulation.SimulateMsgCardVote(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations diff --git a/x/cardchain/simulation/card_save_content.go b/x/cardchain/simulation/card_save_content.go new file mode 100644 index 00000000..fcc7f8ce --- /dev/null +++ b/x/cardchain/simulation/card_save_content.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 SimulateMsgCardSaveContent( + 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.MsgCardSaveContent{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CardSaveContent simulation + + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "CardSaveContent simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/card_scheme_buy.go b/x/cardchain/simulation/card_scheme_buy.go new file mode 100644 index 00000000..e6439960 --- /dev/null +++ b/x/cardchain/simulation/card_scheme_buy.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 SimulateMsgCardSchemeBuy( + 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.MsgCardSchemeBuy{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CardSchemeBuy simulation + + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "CardSchemeBuy simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/card_vote.go b/x/cardchain/simulation/card_vote.go new file mode 100644 index 00000000..b9a54113 --- /dev/null +++ b/x/cardchain/simulation/card_vote.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 SimulateMsgCardVote( + 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.MsgCardVote{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CardVote simulation + + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "CardVote simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/user_create.go b/x/cardchain/simulation/user_create.go new file mode 100644 index 00000000..95775fcb --- /dev/null +++ b/x/cardchain/simulation/user_create.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 SimulateMsgUserCreate( + 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.MsgUserCreate{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the UserCreate simulation + + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "UserCreate simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 844157a8..33b34792 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -3,16 +3,32 @@ package types import ( "github.com/cosmos/cosmos-sdk/codec" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" - // this line is used by starport scaffolding # 1 + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" ) func RegisterCodec(cdc *codec.LegacyAmino) { - // this line is used by starport scaffolding # 2 + cdc.RegisterConcrete(&MsgUserCreate{}, "cardchain/UserCreate", nil) + cdc.RegisterConcrete(&MsgCardSchemeBuy{}, "cardchain/CardSchemeBuy", nil) + cdc.RegisterConcrete(&MsgCardSaveContent{}, "cardchain/CardSaveContent", nil) + cdc.RegisterConcrete(&MsgCardVote{}, "cardchain/CardVote", nil) +// this line is used by starport scaffolding # 2 } func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { - // this line is used by starport scaffolding # 3 + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgUserCreate{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardSchemeBuy{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardSaveContent{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardVote{}, +) +// this line is used by starport scaffolding # 3 msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) } diff --git a/x/cardchain/types/message_card_save_content.go b/x/cardchain/types/message_card_save_content.go new file mode 100644 index 00000000..6650abf5 --- /dev/null +++ b/x/cardchain/types/message_card_save_content.go @@ -0,0 +1,50 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgCardSaveContent = "card_save_content" + +var _ sdk.Msg = &MsgCardSaveContent{} + +func NewMsgCardSaveContent(creator string, cardId uint64, content string, notes string, artist string, balanceAnchor bool) *MsgCardSaveContent { + return &MsgCardSaveContent{ + Creator: creator, + CardId: cardId, + Content: content, + Notes: notes, + Artist: artist, + BalanceAnchor: balanceAnchor, + } +} + +func (msg *MsgCardSaveContent) Route() string { + return RouterKey +} + +func (msg *MsgCardSaveContent) Type() string { + return TypeMsgCardSaveContent +} + +func (msg *MsgCardSaveContent) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgCardSaveContent) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgCardSaveContent) 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_card_save_content_test.go b/x/cardchain/types/message_card_save_content_test.go new file mode 100644 index 00000000..35bd8c19 --- /dev/null +++ b/x/cardchain/types/message_card_save_content_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCardSaveContent_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardSaveContent + err error + }{ + { + name: "invalid address", + msg: MsgCardSaveContent{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardSaveContent{ + 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_card_scheme_buy.go b/x/cardchain/types/message_card_scheme_buy.go new file mode 100644 index 00000000..75794aba --- /dev/null +++ b/x/cardchain/types/message_card_scheme_buy.go @@ -0,0 +1,46 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgCardSchemeBuy = "card_scheme_buy" + +var _ sdk.Msg = &MsgCardSchemeBuy{} + +func NewMsgCardSchemeBuy(creator string, bid sdk.Coin) *MsgCardSchemeBuy { + return &MsgCardSchemeBuy{ + Creator: creator, + Bid: bid, + } +} + +func (msg *MsgCardSchemeBuy) Route() string { + return RouterKey +} + +func (msg *MsgCardSchemeBuy) Type() string { + return TypeMsgCardSchemeBuy +} + +func (msg *MsgCardSchemeBuy) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgCardSchemeBuy) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgCardSchemeBuy) 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_card_scheme_buy_test.go b/x/cardchain/types/message_card_scheme_buy_test.go new file mode 100644 index 00000000..cdf8a8f2 --- /dev/null +++ b/x/cardchain/types/message_card_scheme_buy_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCardSchemeBuy_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardSchemeBuy + err error + }{ + { + name: "invalid address", + msg: MsgCardSchemeBuy{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardSchemeBuy{ + 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_card_vote.go b/x/cardchain/types/message_card_vote.go new file mode 100644 index 00000000..4fb490ef --- /dev/null +++ b/x/cardchain/types/message_card_vote.go @@ -0,0 +1,47 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgCardVote = "card_vote" + +var _ sdk.Msg = &MsgCardVote{} + +func NewMsgCardVote(creator string, vote *SingleVote) *MsgCardVote { + return &MsgCardVote{ + Creator: creator, + Vote: vote, + } +} + +func (msg *MsgCardVote) Route() string { + return RouterKey +} + +func (msg *MsgCardVote) Type() string { + return TypeMsgCardVote +} + +func (msg *MsgCardVote) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgCardVote) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgCardVote) 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_card_vote_test.go b/x/cardchain/types/message_card_vote_test.go new file mode 100644 index 00000000..51172d18 --- /dev/null +++ b/x/cardchain/types/message_card_vote_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" + "github.com/DecentralCardGame/cardchain/testutil/sample" +) + +func TestMsgCardVote_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardVote + err error + }{ + { + name: "invalid address", + msg: MsgCardVote{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardVote{ + 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_user_create.go b/x/cardchain/types/message_user_create.go new file mode 100644 index 00000000..f9d08386 --- /dev/null +++ b/x/cardchain/types/message_user_create.go @@ -0,0 +1,47 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgUserCreate = "user_create" + +var _ sdk.Msg = &MsgUserCreate{} + +func NewMsgUserCreate(creator string, newUser string, alias string) *MsgUserCreate { + return &MsgUserCreate{ + Creator: creator, + NewUser: newUser, + Alias: alias, + } +} + +func (msg *MsgUserCreate) Route() string { + return RouterKey +} + +func (msg *MsgUserCreate) Type() string { + return TypeMsgUserCreate +} + +func (msg *MsgUserCreate) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgUserCreate) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgUserCreate) 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_user_create_test.go b/x/cardchain/types/message_user_create_test.go new file mode 100644 index 00000000..1b8695e7 --- /dev/null +++ b/x/cardchain/types/message_user_create_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgUserCreate_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgUserCreate + err error + }{ + { + name: "invalid address", + msg: MsgUserCreate{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgUserCreate{ + 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/tx.pb.go b/x/cardchain/types/tx.pb.go index 2ef99912..eab6228b 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,10 +6,16 @@ package types import ( context "context" fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" 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. @@ -23,19 +29,472 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +type MsgUserCreate 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"` + Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` +} + +func (m *MsgUserCreate) Reset() { *m = MsgUserCreate{} } +func (m *MsgUserCreate) String() string { return proto.CompactTextString(m) } +func (*MsgUserCreate) ProtoMessage() {} +func (*MsgUserCreate) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{0} +} +func (m *MsgUserCreate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUserCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUserCreate.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 *MsgUserCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUserCreate.Merge(m, src) +} +func (m *MsgUserCreate) XXX_Size() int { + return m.Size() +} +func (m *MsgUserCreate) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUserCreate.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUserCreate proto.InternalMessageInfo + +func (m *MsgUserCreate) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgUserCreate) GetNewUser() string { + if m != nil { + return m.NewUser + } + return "" +} + +func (m *MsgUserCreate) GetAlias() string { + if m != nil { + return m.Alias + } + return "" +} + +type MsgUserCreateResponse struct { +} + +func (m *MsgUserCreateResponse) Reset() { *m = MsgUserCreateResponse{} } +func (m *MsgUserCreateResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUserCreateResponse) ProtoMessage() {} +func (*MsgUserCreateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{1} +} +func (m *MsgUserCreateResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUserCreateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUserCreateResponse.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 *MsgUserCreateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUserCreateResponse.Merge(m, src) +} +func (m *MsgUserCreateResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUserCreateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUserCreateResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUserCreateResponse proto.InternalMessageInfo + +type MsgCardSchemeBuy struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Bid types.Coin `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid"` +} + +func (m *MsgCardSchemeBuy) Reset() { *m = MsgCardSchemeBuy{} } +func (m *MsgCardSchemeBuy) String() string { return proto.CompactTextString(m) } +func (*MsgCardSchemeBuy) ProtoMessage() {} +func (*MsgCardSchemeBuy) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{2} +} +func (m *MsgCardSchemeBuy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardSchemeBuy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardSchemeBuy.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 *MsgCardSchemeBuy) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardSchemeBuy.Merge(m, src) +} +func (m *MsgCardSchemeBuy) XXX_Size() int { + return m.Size() +} +func (m *MsgCardSchemeBuy) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardSchemeBuy.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardSchemeBuy proto.InternalMessageInfo + +func (m *MsgCardSchemeBuy) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgCardSchemeBuy) GetBid() types.Coin { + if m != nil { + return m.Bid + } + return types.Coin{} +} + +type MsgCardSchemeBuyResponse struct { + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (m *MsgCardSchemeBuyResponse) Reset() { *m = MsgCardSchemeBuyResponse{} } +func (m *MsgCardSchemeBuyResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardSchemeBuyResponse) ProtoMessage() {} +func (*MsgCardSchemeBuyResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{3} +} +func (m *MsgCardSchemeBuyResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardSchemeBuyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardSchemeBuyResponse.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 *MsgCardSchemeBuyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardSchemeBuyResponse.Merge(m, src) +} +func (m *MsgCardSchemeBuyResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardSchemeBuyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardSchemeBuyResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardSchemeBuyResponse proto.InternalMessageInfo + +func (m *MsgCardSchemeBuyResponse) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +type MsgCardSaveContent 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"` + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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 *MsgCardSaveContent) Reset() { *m = MsgCardSaveContent{} } +func (m *MsgCardSaveContent) String() string { return proto.CompactTextString(m) } +func (*MsgCardSaveContent) ProtoMessage() {} +func (*MsgCardSaveContent) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{4} +} +func (m *MsgCardSaveContent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardSaveContent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardSaveContent.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 *MsgCardSaveContent) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardSaveContent.Merge(m, src) +} +func (m *MsgCardSaveContent) XXX_Size() int { + return m.Size() +} +func (m *MsgCardSaveContent) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardSaveContent.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardSaveContent proto.InternalMessageInfo + +func (m *MsgCardSaveContent) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgCardSaveContent) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +func (m *MsgCardSaveContent) GetContent() string { + if m != nil { + return m.Content + } + return "" +} + +func (m *MsgCardSaveContent) GetNotes() string { + if m != nil { + return m.Notes + } + return "" +} + +func (m *MsgCardSaveContent) GetArtist() string { + if m != nil { + return m.Artist + } + return "" +} + +func (m *MsgCardSaveContent) GetBalanceAnchor() bool { + if m != nil { + return m.BalanceAnchor + } + return false +} + +type MsgCardSaveContentResponse struct { + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (m *MsgCardSaveContentResponse) Reset() { *m = MsgCardSaveContentResponse{} } +func (m *MsgCardSaveContentResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardSaveContentResponse) ProtoMessage() {} +func (*MsgCardSaveContentResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{5} +} +func (m *MsgCardSaveContentResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardSaveContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardSaveContentResponse.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 *MsgCardSaveContentResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardSaveContentResponse.Merge(m, src) +} +func (m *MsgCardSaveContentResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardSaveContentResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardSaveContentResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardSaveContentResponse proto.InternalMessageInfo + +func (m *MsgCardSaveContentResponse) GetAirdropClaimed() bool { + if m != nil { + return m.AirdropClaimed + } + return false +} + +type MsgCardVote struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Vote *SingleVote `protobuf:"bytes,2,opt,name=vote,proto3" json:"vote,omitempty"` +} + +func (m *MsgCardVote) Reset() { *m = MsgCardVote{} } +func (m *MsgCardVote) String() string { return proto.CompactTextString(m) } +func (*MsgCardVote) ProtoMessage() {} +func (*MsgCardVote) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{6} +} +func (m *MsgCardVote) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardVote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardVote.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 *MsgCardVote) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardVote.Merge(m, src) +} +func (m *MsgCardVote) XXX_Size() int { + return m.Size() +} +func (m *MsgCardVote) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardVote.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardVote proto.InternalMessageInfo + +func (m *MsgCardVote) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgCardVote) GetVote() *SingleVote { + if m != nil { + return m.Vote + } + return nil +} + +type MsgCardVoteResponse struct { + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (m *MsgCardVoteResponse) Reset() { *m = MsgCardVoteResponse{} } +func (m *MsgCardVoteResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardVoteResponse) ProtoMessage() {} +func (*MsgCardVoteResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{7} +} +func (m *MsgCardVoteResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardVoteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardVoteResponse.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 *MsgCardVoteResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardVoteResponse.Merge(m, src) +} +func (m *MsgCardVoteResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardVoteResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardVoteResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardVoteResponse proto.InternalMessageInfo + +func (m *MsgCardVoteResponse) GetAirdropClaimed() bool { + if m != nil { + return m.AirdropClaimed + } + return false +} + +func init() { + proto.RegisterType((*MsgUserCreate)(nil), "decentralcardgame.cardchain.cardchain.MsgUserCreate") + proto.RegisterType((*MsgUserCreateResponse)(nil), "decentralcardgame.cardchain.cardchain.MsgUserCreateResponse") + proto.RegisterType((*MsgCardSchemeBuy)(nil), "decentralcardgame.cardchain.cardchain.MsgCardSchemeBuy") + proto.RegisterType((*MsgCardSchemeBuyResponse)(nil), "decentralcardgame.cardchain.cardchain.MsgCardSchemeBuyResponse") + proto.RegisterType((*MsgCardSaveContent)(nil), "decentralcardgame.cardchain.cardchain.MsgCardSaveContent") + proto.RegisterType((*MsgCardSaveContentResponse)(nil), "decentralcardgame.cardchain.cardchain.MsgCardSaveContentResponse") + proto.RegisterType((*MsgCardVote)(nil), "decentralcardgame.cardchain.cardchain.MsgCardVote") + proto.RegisterType((*MsgCardVoteResponse)(nil), "decentralcardgame.cardchain.cardchain.MsgCardVoteResponse") +} + func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 141 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x4a, 0x2a, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, - 0x85, 0x54, 0x53, 0x52, 0x93, 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x40, 0x92, 0xe9, 0x89, 0xb9, - 0xa9, 0x7a, 0x70, 0x55, 0x08, 0x96, 0x11, 0x2b, 0x17, 0xb3, 0x6f, 0x71, 0xba, 0x53, 0xd0, 0x89, - 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, - 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x59, 0xa4, 0x67, 0x96, 0x64, 0x94, 0x26, - 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xbb, 0xc0, 0x8c, 0x74, 0x4e, 0x2c, 0x4a, 0x71, 0x4f, 0xcc, 0x4d, - 0x45, 0xb2, 0xb8, 0x02, 0xd9, 0x11, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, 0x87, 0x18, 0x03, - 0x02, 0x00, 0x00, 0xff, 0xff, 0x88, 0x30, 0xd7, 0xab, 0xa8, 0x00, 0x00, 0x00, + // 557 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xcd, 0x8a, 0xd3, 0x50, + 0x14, 0x6e, 0xa6, 0x9d, 0x5a, 0xcf, 0x50, 0x95, 0x38, 0x6a, 0x0c, 0x12, 0x4b, 0x50, 0x99, 0x55, + 0x42, 0xab, 0xe0, 0x0f, 0x8a, 0x4c, 0x3b, 0x22, 0x2e, 0xba, 0xc9, 0xa0, 0xa0, 0x1b, 0xb9, 0x49, + 0x0e, 0x69, 0xa0, 0xb9, 0xb7, 0xdc, 0x7b, 0xa7, 0xce, 0xb8, 0x72, 0xeb, 0x4a, 0x9f, 0xc1, 0x67, + 0xf0, 0x21, 0x66, 0x39, 0x4b, 0x57, 0x22, 0xed, 0x8b, 0xc8, 0xcd, 0x5f, 0x7f, 0x94, 0xd2, 0x76, + 0x77, 0x7e, 0xf2, 0x7d, 0xe7, 0x3b, 0x27, 0x1f, 0x17, 0xee, 0x04, 0x84, 0x87, 0xc1, 0x80, 0xc4, + 0xd4, 0x9d, 0x45, 0xf2, 0xd4, 0x19, 0x71, 0x26, 0x99, 0x7e, 0x3f, 0xc4, 0x00, 0xa9, 0xe4, 0x64, + 0xa8, 0x9a, 0x11, 0x49, 0xd0, 0x29, 0xbf, 0x9a, 0x45, 0x66, 0xeb, 0x7f, 0x24, 0x63, 0x26, 0x63, + 0x1a, 0x65, 0x44, 0xa6, 0x15, 0x30, 0x91, 0x30, 0xe1, 0xfa, 0x44, 0xa0, 0x3b, 0x6e, 0xfb, 0x28, + 0x49, 0xdb, 0x0d, 0x58, 0x4c, 0xf3, 0xfe, 0x7e, 0xc4, 0x22, 0x96, 0x86, 0xae, 0x8a, 0xb2, 0xaa, + 0xfd, 0x1e, 0x9a, 0x7d, 0x11, 0xbd, 0x15, 0xc8, 0x7b, 0x1c, 0x89, 0x44, 0xdd, 0x80, 0x4b, 0x81, + 0x8a, 0x18, 0x37, 0xb4, 0x96, 0x76, 0x70, 0xd9, 0x2b, 0x52, 0xd5, 0xa1, 0xf8, 0x49, 0x7d, 0x6a, + 0xec, 0x64, 0x9d, 0x3c, 0xd5, 0xf7, 0x61, 0x97, 0x0c, 0x63, 0x22, 0x8c, 0x6a, 0x5a, 0xcf, 0x12, + 0xfb, 0x16, 0xdc, 0x58, 0xa0, 0xf6, 0x50, 0x8c, 0x18, 0x15, 0x68, 0x7f, 0x84, 0x6b, 0x7d, 0x11, + 0xf5, 0x08, 0x0f, 0x8f, 0x83, 0x01, 0x26, 0xd8, 0x3d, 0x39, 0x5b, 0x31, 0xb6, 0x0d, 0x55, 0x3f, + 0x0e, 0xd3, 0x91, 0x7b, 0x9d, 0xdb, 0x4e, 0xb6, 0xa5, 0xa3, 0xb6, 0x74, 0xf2, 0x2d, 0x9d, 0x1e, + 0x8b, 0x69, 0xb7, 0x76, 0xfe, 0xfb, 0x6e, 0xc5, 0x53, 0xdf, 0xda, 0x1d, 0x30, 0x96, 0x07, 0x14, + 0xc3, 0xf5, 0x9b, 0x50, 0x57, 0x07, 0x7c, 0x13, 0xa6, 0x73, 0x6a, 0x5e, 0x9e, 0xd9, 0x3f, 0x35, + 0xd0, 0x0b, 0x10, 0x19, 0x63, 0x8f, 0x51, 0x89, 0x54, 0xae, 0xd0, 0x35, 0x23, 0xda, 0x99, 0x27, + 0x4a, 0x11, 0x19, 0x38, 0x3f, 0x47, 0x91, 0xaa, 0x33, 0x51, 0x26, 0x51, 0x18, 0xb5, 0xec, 0x4c, + 0x69, 0xa2, 0x78, 0x08, 0x97, 0xb1, 0x90, 0xc6, 0x6e, 0x5a, 0xce, 0x33, 0xfd, 0x1e, 0x34, 0x7d, + 0x32, 0x24, 0x34, 0xc0, 0x43, 0x1a, 0x0c, 0x18, 0x37, 0xea, 0x2d, 0xed, 0xa0, 0xe1, 0x2d, 0x16, + 0xed, 0x23, 0x30, 0xff, 0x55, 0x5d, 0x2e, 0xfb, 0x00, 0xae, 0x90, 0x98, 0x87, 0x9c, 0x8d, 0x7a, + 0x43, 0x12, 0x27, 0x98, 0x2d, 0xdd, 0xf0, 0x96, 0xaa, 0x36, 0x85, 0xbd, 0x9c, 0xe5, 0x1d, 0x5b, + 0xe9, 0x81, 0x57, 0x50, 0x1b, 0x33, 0x89, 0xf9, 0xdf, 0x68, 0x3b, 0x6b, 0x99, 0xd7, 0x39, 0x8e, + 0x69, 0x34, 0x44, 0x45, 0xed, 0xa5, 0x70, 0xfb, 0x05, 0x5c, 0x9f, 0x9b, 0xb7, 0xa9, 0xdc, 0xce, + 0x8f, 0x1a, 0x54, 0xfb, 0x22, 0xd2, 0xbf, 0x68, 0x00, 0x73, 0xd6, 0x7d, 0xb4, 0xa6, 0x9c, 0x05, + 0x57, 0x9a, 0xcf, 0xb7, 0x41, 0x95, 0x92, 0xbf, 0x6a, 0xd0, 0x5c, 0x74, 0xf2, 0xe3, 0xf5, 0xf9, + 0x16, 0x80, 0xe6, 0xcb, 0x2d, 0x81, 0xa5, 0x96, 0x6f, 0x1a, 0x5c, 0x5d, 0xf6, 0xef, 0xd3, 0x0d, + 0x49, 0x67, 0x50, 0xf3, 0x70, 0x6b, 0x68, 0xa9, 0xe8, 0x33, 0x34, 0x4a, 0x53, 0x75, 0x36, 0xa3, + 0x53, 0x18, 0xf3, 0xd9, 0xe6, 0x98, 0x62, 0x76, 0xd7, 0x3b, 0x9f, 0x58, 0xda, 0xc5, 0xc4, 0xd2, + 0xfe, 0x4c, 0x2c, 0xed, 0xfb, 0xd4, 0xaa, 0x5c, 0x4c, 0xad, 0xca, 0xaf, 0xa9, 0x55, 0xf9, 0xf0, + 0x24, 0x8a, 0xe5, 0xe0, 0xc4, 0x77, 0x02, 0x96, 0xb8, 0x47, 0x05, 0xbf, 0xc2, 0xbf, 0x26, 0x09, + 0xce, 0x3d, 0xaf, 0xa7, 0xf3, 0xef, 0xf5, 0xd9, 0x08, 0x85, 0x5f, 0x4f, 0x1f, 0xcd, 0x87, 0x7f, + 0x03, 0x00, 0x00, 0xff, 0xff, 0x90, 0xcc, 0x92, 0xef, 0xd3, 0x05, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -50,6 +509,10 @@ const _ = grpc.SupportPackageIsVersion4 // // 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 { + UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) + CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) + CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) } type msgClient struct { @@ -60,22 +523,1559 @@ func NewMsgClient(cc grpc1.ClientConn) MsgClient { return &msgClient{cc} } +func (c *msgClient) UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) { + out := new(MsgUserCreateResponse) + err := c.cc.Invoke(ctx, "/decentralcardgame.cardchain.cardchain.Msg/UserCreate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) { + out := new(MsgCardSchemeBuyResponse) + err := c.cc.Invoke(ctx, "/decentralcardgame.cardchain.cardchain.Msg/CardSchemeBuy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) { + out := new(MsgCardSaveContentResponse) + err := c.cc.Invoke(ctx, "/decentralcardgame.cardchain.cardchain.Msg/CardSaveContent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) { + out := new(MsgCardVoteResponse) + err := c.cc.Invoke(ctx, "/decentralcardgame.cardchain.cardchain.Msg/CardVote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { + UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) + CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) + CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. type UnimplementedMsgServer struct { } +func (*UnimplementedMsgServer) UserCreate(ctx context.Context, req *MsgUserCreate) (*MsgUserCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserCreate not implemented") +} +func (*UnimplementedMsgServer) CardSchemeBuy(ctx context.Context, req *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSchemeBuy not implemented") +} +func (*UnimplementedMsgServer) CardSaveContent(ctx context.Context, req *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSaveContent not implemented") +} +func (*UnimplementedMsgServer) CardVote(ctx context.Context, req *MsgCardVote) (*MsgCardVoteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") +} + func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) } +func _Msg_UserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUserCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UserCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/decentralcardgame.cardchain.cardchain.Msg/UserCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UserCreate(ctx, req.(*MsgUserCreate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardSchemeBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSchemeBuy) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardSchemeBuy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/decentralcardgame.cardchain.cardchain.Msg/CardSchemeBuy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSchemeBuy(ctx, req.(*MsgCardSchemeBuy)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardSaveContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSaveContent) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardSaveContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/decentralcardgame.cardchain.cardchain.Msg/CardSaveContent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSaveContent(ctx, req.(*MsgCardSaveContent)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardVote) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardVote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/decentralcardgame.cardchain.cardchain.Msg/CardVote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardVote(ctx, req.(*MsgCardVote)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "decentralcardgame.cardchain.cardchain.Msg", HandlerType: (*MsgServer)(nil), - Methods: []grpc.MethodDesc{}, - Streams: []grpc.StreamDesc{}, - Metadata: "cardchain/cardchain/tx.proto", + Methods: []grpc.MethodDesc{ + { + MethodName: "UserCreate", + Handler: _Msg_UserCreate_Handler, + }, + { + MethodName: "CardSchemeBuy", + Handler: _Msg_CardSchemeBuy_Handler, + }, + { + MethodName: "CardSaveContent", + Handler: _Msg_CardSaveContent_Handler, + }, + { + MethodName: "CardVote", + Handler: _Msg_CardVote_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/cardchain/tx.proto", +} + +func (m *MsgUserCreate) 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 *MsgUserCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Alias) > 0 { + i -= len(m.Alias) + copy(dAtA[i:], m.Alias) + i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) + i-- + dAtA[i] = 0x1a + } + if len(m.NewUser) > 0 { + i -= len(m.NewUser) + copy(dAtA[i:], m.NewUser) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewUser))) + 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 *MsgUserCreateResponse) 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 *MsgUserCreateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUserCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCardSchemeBuy) 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 *MsgCardSchemeBuy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSchemeBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + 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) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgCardSchemeBuyResponse) 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 *MsgCardSchemeBuyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSchemeBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = 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 +} + +func (m *MsgCardSaveContent) 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 *MsgCardSaveContent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSaveContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = 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) + i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x2a + } + if len(m.Notes) > 0 { + i -= len(m.Notes) + copy(dAtA[i:], m.Notes) + i = encodeVarintTx(dAtA, i, uint64(len(m.Notes))) + i-- + dAtA[i] = 0x22 + } + if len(m.Content) > 0 { + i -= len(m.Content) + copy(dAtA[i:], m.Content) + i = encodeVarintTx(dAtA, i, uint64(len(m.Content))) + 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 *MsgCardSaveContentResponse) 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 *MsgCardSaveContentResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSaveContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgCardVote) 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 *MsgCardVote) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Vote != nil { + { + size, err := m.Vote.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 *MsgCardVoteResponse) 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 *MsgCardVoteResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardVoteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUserCreate) 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.NewUser) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Alias) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUserCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardSchemeBuy) 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 = m.Bid.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgCardSchemeBuyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgCardSaveContent) 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.Content) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Notes) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.BalanceAnchor { + n += 2 + } + return n +} + +func (m *MsgCardSaveContentResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgCardVote) 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.Vote != nil { + l = m.Vote.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardVoteResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *MsgUserCreate) 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: MsgUserCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewUser", 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.NewUser = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Alias", 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.Alias = 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 *MsgUserCreateResponse) 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: MsgUserCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUserCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardSchemeBuy) 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: MsgCardSchemeBuy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSchemeBuy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardSchemeBuyResponse) 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: MsgCardSchemeBuyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSchemeBuyResponse: 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:]) + 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 *MsgCardSaveContent) 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: MsgCardSaveContent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSaveContent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Content", 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.Content = string(dAtA[iNdEx:postIndex]) + 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 + 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:]) + 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 *MsgCardSaveContentResponse) 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: MsgCardSaveContentResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSaveContentResponse: 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 *MsgCardVote) 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: MsgCardVote: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardVote: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Vote == nil { + m.Vote = &SingleVote{} + } + if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardVoteResponse) 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: MsgCardVoteResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardVoteResponse: 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 skipTx(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, ErrIntOverflowTx + } + 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, ErrIntOverflowTx + } + 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, ErrIntOverflowTx + } + 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, ErrInvalidLengthTx + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupTx + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthTx + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthTx = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowTx = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupTx = 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..7c25ac9e --- /dev/null +++ b/x/cardchain/types/voting.pb.go @@ -0,0 +1,1135 @@ +// 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 VoteType int32 + +const ( + VoteType_fairEnough VoteType = 0 + VoteType_inappropriate VoteType = 1 + VoteType_overpowered VoteType = 2 + VoteType_underpowered VoteType = 3 +) + +var VoteType_name = map[int32]string{ + 0: "fairEnough", + 1: "inappropriate", + 2: "overpowered", + 3: "underpowered", +} + +var VoteType_value = map[string]int32{ + "fairEnough": 0, + "inappropriate": 1, + "overpowered": 2, + "underpowered": 3, +} + +func (x VoteType) String() string { + return proto.EnumName(VoteType_name, int32(x)) +} + +func (VoteType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_39c6bcdea6f40fbf, []int{0} +} + +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 VoteType `protobuf:"varint,2,opt,name=voteType,proto3,enum=decentralcardgame.cardchain.cardchain.VoteType" 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() VoteType { + if m != nil { + return m.VoteType + } + return VoteType_fairEnough +} + +func init() { + proto.RegisterEnum("decentralcardgame.cardchain.cardchain.VoteType", VoteType_name, VoteType_value) + proto.RegisterType((*VotingResults)(nil), "decentralcardgame.cardchain.cardchain.VotingResults") + proto.RegisterType((*VotingResult)(nil), "decentralcardgame.cardchain.cardchain.VotingResult") + proto.RegisterType((*SingleVote)(nil), "decentralcardgame.cardchain.cardchain.SingleVote") +} + +func init() { proto.RegisterFile("cardchain/cardchain/voting.proto", fileDescriptor_39c6bcdea6f40fbf) } + +var fileDescriptor_39c6bcdea6f40fbf = []byte{ + // 438 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcf, 0x6e, 0xd3, 0x40, + 0x10, 0xc6, 0xb3, 0x49, 0x1b, 0xca, 0xa4, 0x7f, 0xdc, 0x51, 0x29, 0x39, 0x59, 0x51, 0x24, 0x24, + 0xab, 0x42, 0x8e, 0x94, 0x22, 0xd4, 0x33, 0x7f, 0x55, 0x71, 0x00, 0x19, 0xda, 0x03, 0xb7, 0xad, + 0xbd, 0x38, 0x96, 0x9c, 0x5d, 0xb3, 0x5e, 0x07, 0xfa, 0x16, 0x3c, 0x16, 0xc7, 0x1e, 0x39, 0xa2, + 0xe4, 0x0d, 0x38, 0x71, 0x44, 0x1e, 0xbb, 0xcd, 0xd2, 0xda, 0x52, 0x6f, 0x33, 0xf3, 0xcd, 0xb7, + 0xde, 0xef, 0x67, 0x2d, 0x8c, 0x42, 0xae, 0xa3, 0x70, 0xc6, 0x13, 0x39, 0x59, 0x57, 0x0b, 0x65, + 0x12, 0x19, 0xfb, 0x99, 0x56, 0x46, 0xe1, 0x93, 0x48, 0x84, 0x42, 0x1a, 0xcd, 0xd3, 0x72, 0x21, + 0xe6, 0x73, 0xe1, 0xdf, 0x6c, 0xae, 0xab, 0xf1, 0xdf, 0x2e, 0xec, 0x9c, 0x93, 0x2f, 0x10, 0x79, + 0x91, 0x9a, 0x1c, 0x5d, 0x00, 0xa3, 0x0c, 0x4f, 0xcf, 0x95, 0x11, 0xf9, 0x90, 0x8d, 0x98, 0xb7, + 0x11, 0x58, 0x13, 0x9c, 0xc2, 0x01, 0x75, 0x6f, 0x78, 0xa2, 0x5f, 0x4b, 0x55, 0xc4, 0xb3, 0x6a, + 0xb3, 0x4b, 0x9b, 0x8d, 0x1a, 0x3e, 0x83, 0x47, 0x34, 0x7f, 0xbf, 0x10, 0x3a, 0x53, 0xdf, 0x84, + 0x16, 0x51, 0x65, 0xea, 0x91, 0xa9, 0x59, 0xc4, 0xe7, 0x70, 0x48, 0xc2, 0x99, 0x8c, 0x6e, 0xd9, + 0x36, 0xc8, 0xd6, 0xa2, 0xe2, 0x09, 0x3c, 0x26, 0xe5, 0x54, 0xf2, 0x2c, 0xd3, 0x2a, 0xd3, 0x09, + 0x37, 0xa2, 0x32, 0x6e, 0x92, 0xb1, 0x4d, 0xc6, 0x33, 0x18, 0x94, 0x68, 0x6a, 0x14, 0xc3, 0xfe, + 0xa8, 0xe7, 0x0d, 0xa6, 0xc7, 0xfe, 0xbd, 0x50, 0xfa, 0x36, 0xc6, 0xc0, 0x3e, 0x07, 0x0f, 0x60, + 0x53, 0xd2, 0xe7, 0x1f, 0x8c, 0x98, 0xf7, 0x30, 0xa8, 0x9a, 0xf1, 0x1f, 0x06, 0xdb, 0xb6, 0x07, + 0x0f, 0xa1, 0x5f, 0xba, 0x4e, 0xa3, 0x9a, 0x7a, 0xdd, 0xa1, 0x07, 0x7b, 0x5f, 0x1a, 0x61, 0xdf, + 0x1e, 0xe3, 0x11, 0x38, 0xaa, 0x19, 0xf1, 0x9d, 0x39, 0x3e, 0x85, 0xfd, 0xa2, 0x05, 0xec, 0x5d, + 0x01, 0x7d, 0xc0, 0xa4, 0x0d, 0x67, 0x83, 0x52, 0x66, 0xd1, 0x94, 0x6a, 0xd8, 0xa7, 0xcc, 0x75, + 0x37, 0xfe, 0x0a, 0xf0, 0x31, 0x91, 0x71, 0x4a, 0x6b, 0xad, 0x89, 0xdf, 0xc1, 0xd6, 0x42, 0x19, + 0xf1, 0xe9, 0x32, 0x13, 0x14, 0x75, 0x77, 0x3a, 0xb9, 0xff, 0x4f, 0x20, 0x5b, 0x70, 0x73, 0xc0, + 0xd1, 0x07, 0xd8, 0xba, 0x9e, 0xe2, 0x2e, 0xc0, 0x9a, 0x99, 0xd3, 0xc1, 0x7d, 0xd8, 0xf9, 0xef, + 0xf2, 0x0e, 0xc3, 0x3d, 0x18, 0x58, 0xac, 0x9c, 0x2e, 0x3a, 0xb0, 0x6d, 0xf3, 0x70, 0x7a, 0x2f, + 0x82, 0x9f, 0x4b, 0x97, 0x5d, 0x2d, 0x5d, 0xf6, 0x7b, 0xe9, 0xb2, 0x1f, 0x2b, 0xb7, 0x73, 0xb5, + 0x72, 0x3b, 0xbf, 0x56, 0x6e, 0xe7, 0xf3, 0x49, 0x9c, 0x98, 0x59, 0x71, 0xe1, 0x87, 0x6a, 0x3e, + 0x79, 0x75, 0x7d, 0xe1, 0x97, 0x5c, 0x47, 0x6f, 0xf9, 0x5c, 0x58, 0x4f, 0xf5, 0xbb, 0x55, 0x9b, + 0xcb, 0x4c, 0xe4, 0x17, 0x7d, 0x7a, 0xb6, 0xc7, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x03, + 0xd1, 0xa2, 0xda, 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 m.VoteType != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.VoteType)) + 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)) + } + if m.VoteType != 0 { + n += 1 + sovVoting(uint64(m.VoteType)) + } + 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 != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field VoteType", wireType) + } + m.VoteType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.VoteType |= VoteType(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") +) From 6ec4e284d644cc036803257c8d41c5904e9a0bda Mon Sep 17 00:00:00 2001 From: Developer Experience team at Ignite Date: Mon, 16 Dec 2024 21:39:37 +0100 Subject: [PATCH 08/99] Initialized with Ignite CLI --- .github/workflows/release.yml | 16 +- .gitignore | 3 + Makefile | 109 + api/cardchain/cardchain/genesis.pulsar.go | 600 + .../cardchain/module/module.pulsar.go | 583 + api/cardchain/cardchain/params.pulsar.go | 503 + api/cardchain/cardchain/query.pulsar.go | 1016 + api/cardchain/cardchain/query_grpc.pb.go | 112 + api/cardchain/cardchain/tx.pulsar.go | 1094 + api/cardchain/cardchain/tx_grpc.pb.go | 114 + app/app.go | 1048 +- app/app_config.go | 303 + app/config.go | 19 + app/encoding.go | 35 - app/export.go | 135 +- app/genesis.go | 9 +- app/genesis_account.go | 47 + app/ibc.go | 207 + app/params/encoding.go | 16 - app/sim_bench_test.go | 150 + app/sim_test.go | 430 + app/simulation_test.go | 93 - buf.work.yaml | 3 + cmd/cardchaind/cmd/commands.go | 190 + cmd/cardchaind/cmd/config.go | 73 +- cmd/cardchaind/cmd/genaccounts.go | 192 - cmd/cardchaind/cmd/root.go | 364 +- cmd/cardchaind/cmd/testnet.go | 262 + cmd/cardchaind/cmd/testnet_multi_node.go | 537 + cmd/cardchaind/main.go | 16 +- config.yml | 9 +- docs/docs.go | 2 +- docs/static/openapi.yml | 71467 +--------------- gen.sh | 6 - go.mod | 304 +- go.sum | 1176 +- proto/buf.gen.gogo.yaml | 18 + proto/buf.gen.pulsar.yaml | 23 + proto/buf.gen.sta.yaml | 15 + proto/buf.gen.swagger.yaml | 14 + proto/buf.gen.ts.yaml | 18 + proto/buf.lock | 43 + proto/buf.yaml | 25 + proto/cardchain/cardchain/genesis.proto | 9 +- proto/cardchain/cardchain/module/module.proto | 14 + proto/cardchain/cardchain/params.proto | 9 +- proto/cardchain/cardchain/query.proto | 8 +- proto/cardchain/cardchain/tx.proto | 65 +- proto/cardchain/cardchain/voting.proto | 37 - readme.md | 13 +- testutil/keeper/cardchain.go | 49 +- testutil/network/network.go | 86 +- tools/tools.go | 9 +- x/cardchain/client/cli/query.go | 31 - x/cardchain/client/cli/query_params.go | 34 - x/cardchain/client/cli/tx.go | 40 - .../client/cli/tx_card_save_content.go | 57 - x/cardchain/client/cli/tx_card_scheme_buy.go | 46 - x/cardchain/client/cli/tx_card_vote.go | 48 - x/cardchain/client/cli/tx_user_create.go | 44 - x/cardchain/keeper/keeper.go | 51 +- .../keeper/msg_server_card_save_content.go | 17 - .../keeper/msg_server_card_scheme_buy.go | 17 - x/cardchain/keeper/msg_server_card_vote.go | 18 - x/cardchain/keeper/msg_server_test.go | 14 +- x/cardchain/keeper/msg_server_user_create.go | 17 - x/cardchain/keeper/msg_update_params.go | 23 + x/cardchain/keeper/msg_update_params_test.go | 64 + x/cardchain/keeper/params.go | 27 +- x/cardchain/keeper/params_test.go | 10 +- x/cardchain/keeper/query_params.go | 3 +- x/cardchain/keeper/query_params_test.go | 13 +- x/cardchain/module/autocli.go | 35 + x/cardchain/{ => module}/genesis.go | 9 +- x/cardchain/{ => module}/genesis_test.go | 6 +- x/cardchain/{ => module}/module.go | 159 +- x/cardchain/module/simulation.go | 59 + x/cardchain/module_simulation.go | 124 - x/cardchain/simulation/card_save_content.go | 29 - x/cardchain/simulation/card_scheme_buy.go | 29 - x/cardchain/simulation/card_vote.go | 29 - x/cardchain/simulation/user_create.go | 29 - x/cardchain/types/codec.go | 30 +- x/cardchain/types/errors.go | 5 +- x/cardchain/types/expected_keepers.go | 17 +- x/cardchain/types/genesis.go | 2 - x/cardchain/types/genesis.pb.go | 34 +- x/cardchain/types/genesis_test.go | 5 +- x/cardchain/types/keys.go | 7 +- .../types/message_card_save_content.go | 50 - .../types/message_card_save_content_test.go | 40 - x/cardchain/types/message_card_scheme_buy.go | 46 - .../types/message_card_scheme_buy_test.go | 40 - x/cardchain/types/message_card_vote.go | 47 - x/cardchain/types/message_card_vote_test.go | 40 - x/cardchain/types/message_user_create.go | 47 - x/cardchain/types/message_user_create_test.go | 40 - x/cardchain/types/msg_update_params.go | 21 + x/cardchain/types/params.go | 7 - x/cardchain/types/params.pb.go | 55 +- x/cardchain/types/query.pb.go | 64 +- x/cardchain/types/query.pb.gw.go | 2 +- x/cardchain/types/tx.pb.go | 2085 +- x/cardchain/types/voting.pb.go | 1135 - 104 files changed, 8796 insertions(+), 77803 deletions(-) create mode 100644 Makefile create mode 100644 api/cardchain/cardchain/genesis.pulsar.go create mode 100644 api/cardchain/cardchain/module/module.pulsar.go create mode 100644 api/cardchain/cardchain/params.pulsar.go create mode 100644 api/cardchain/cardchain/query.pulsar.go create mode 100644 api/cardchain/cardchain/query_grpc.pb.go create mode 100644 api/cardchain/cardchain/tx.pulsar.go create mode 100644 api/cardchain/cardchain/tx_grpc.pb.go create mode 100644 app/app_config.go create mode 100644 app/config.go delete mode 100644 app/encoding.go create mode 100644 app/genesis_account.go create mode 100644 app/ibc.go delete mode 100644 app/params/encoding.go create mode 100644 app/sim_bench_test.go create mode 100644 app/sim_test.go delete mode 100644 app/simulation_test.go create mode 100644 buf.work.yaml create mode 100644 cmd/cardchaind/cmd/commands.go delete mode 100644 cmd/cardchaind/cmd/genaccounts.go create mode 100644 cmd/cardchaind/cmd/testnet.go create mode 100644 cmd/cardchaind/cmd/testnet_multi_node.go delete mode 100755 gen.sh create mode 100644 proto/buf.gen.gogo.yaml create mode 100644 proto/buf.gen.pulsar.yaml create mode 100644 proto/buf.gen.sta.yaml create mode 100644 proto/buf.gen.swagger.yaml create mode 100644 proto/buf.gen.ts.yaml create mode 100644 proto/buf.lock create mode 100644 proto/buf.yaml create mode 100644 proto/cardchain/cardchain/module/module.proto delete mode 100644 proto/cardchain/cardchain/voting.proto delete mode 100644 x/cardchain/client/cli/query.go delete mode 100644 x/cardchain/client/cli/query_params.go delete mode 100644 x/cardchain/client/cli/tx.go delete mode 100644 x/cardchain/client/cli/tx_card_save_content.go delete mode 100644 x/cardchain/client/cli/tx_card_scheme_buy.go delete mode 100644 x/cardchain/client/cli/tx_card_vote.go delete mode 100644 x/cardchain/client/cli/tx_user_create.go delete mode 100644 x/cardchain/keeper/msg_server_card_save_content.go delete mode 100644 x/cardchain/keeper/msg_server_card_scheme_buy.go delete mode 100644 x/cardchain/keeper/msg_server_card_vote.go delete mode 100644 x/cardchain/keeper/msg_server_user_create.go create mode 100644 x/cardchain/keeper/msg_update_params.go create mode 100644 x/cardchain/keeper/msg_update_params_test.go create mode 100644 x/cardchain/module/autocli.go rename x/cardchain/{ => module}/genesis.go (83%) rename x/cardchain/{ => module}/genesis_test.go (80%) rename x/cardchain/{ => module}/module.go (57%) create mode 100644 x/cardchain/module/simulation.go delete mode 100644 x/cardchain/module_simulation.go delete mode 100644 x/cardchain/simulation/card_save_content.go delete mode 100644 x/cardchain/simulation/card_scheme_buy.go delete mode 100644 x/cardchain/simulation/card_vote.go delete mode 100644 x/cardchain/simulation/user_create.go delete mode 100644 x/cardchain/types/message_card_save_content.go delete mode 100644 x/cardchain/types/message_card_save_content_test.go delete mode 100644 x/cardchain/types/message_card_scheme_buy.go delete mode 100644 x/cardchain/types/message_card_scheme_buy_test.go delete mode 100644 x/cardchain/types/message_card_vote.go delete mode 100644 x/cardchain/types/message_card_vote_test.go delete mode 100644 x/cardchain/types/message_user_create.go delete mode 100644 x/cardchain/types/message_user_create_test.go create mode 100644 x/cardchain/types/msg_update_params.go delete mode 100644 x/cardchain/types/voting.pb.go diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8d4b1708..0d472b42 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,7 @@ # # This type of prelease is useful to make your bleeding-edge binaries available to advanced users. # -# The workflow will not run if there is no tag pushed with a "v" prefix and no change pushed to your +# The workflow will not run if there is no tag pushed with a "v" prefix and no change pushed to your # default branch. on: push @@ -22,19 +22,21 @@ jobs: uses: actions/checkout@v2 with: fetch-depth: 0 - - - name: Prepare Release Variables + + - name: Prepare Release Variables id: vars uses: ignite/cli/actions/release/vars@main - - name: Issue Release Assets + - name: Issue Release Assets uses: ignite/cli/actions/cli@main if: ${{ steps.vars.outputs.should_release == 'true' }} with: - args: chain build --release --release.prefix ${{ steps.vars.outputs.tarball_prefix }} -t linux:amd64 -t darwin:amd64 -t darwin:arm64 + args: chain build --release --release.prefix ${{ steps.vars.outputs.tarball_prefix }} -t linux:amd64 -t darwin:amd64 -t darwin:arm64 -y + env: + DO_NOT_TRACK: 1 - 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 }} @@ -48,6 +50,6 @@ jobs: with: tag_name: ${{ steps.vars.outputs.tag_name }} files: release/* - prerelease: true + prerelease: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 0d0535f6..c4ba55dc 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ release/ .idea/ .vscode/ .DS_Store +*.dot +*.log +*.ign diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..424a8d59 --- /dev/null +++ b/Makefile @@ -0,0 +1,109 @@ +BRANCH := $(shell git rev-parse --abbrev-ref HEAD) +COMMIT := $(shell git log -1 --format='%H') +APPNAME := cardchain + +# don't override user values +ifeq (,$(VERSION)) + VERSION := $(shell git describe --exact-match 2>/dev/null) + # if VERSION is empty, then populate it with branch's name and raw commit hash + ifeq (,$(VERSION)) + VERSION := $(BRANCH)-$(COMMIT) + endif +endif + +# Update the ldflags with the app, client & server names +ldflags = -X github.com/cosmos/cosmos-sdk/version.Name=$(APPNAME) \ + -X github.com/cosmos/cosmos-sdk/version.AppName=$(APPNAME)d \ + -X github.com/cosmos/cosmos-sdk/version.Version=$(VERSION) \ + -X github.com/cosmos/cosmos-sdk/version.Commit=$(COMMIT) + +BUILD_FLAGS := -ldflags '$(ldflags)' + +############## +### Test ### +############## + +test-unit: + @echo Running unit tests... + @go test -mod=readonly -v -timeout 30m ./... + +test-race: + @echo Running unit tests with race condition reporting... + @go test -mod=readonly -v -race -timeout 30m ./... + +test-cover: + @echo Running unit tests and creating coverage report... + @go test -mod=readonly -v -timeout 30m -coverprofile=$(COVER_FILE) -covermode=atomic ./... + @go tool cover -html=$(COVER_FILE) -o $(COVER_HTML_FILE) + @rm $(COVER_FILE) + +bench: + @echo Running unit tests with benchmarking... + @go test -mod=readonly -v -timeout 30m -bench=. ./... + +test: govet govulncheck test-unit + +.PHONY: test test-unit test-race test-cover bench + +################# +### Install ### +################# + +all: install + +install: + @echo "--> ensure dependencies have not been modified" + @go mod verify + @echo "--> installing $(APPNAME)d" + @go install $(BUILD_FLAGS) -mod=readonly ./cmd/$(APPNAME)d + +.PHONY: all install + +################## +### Protobuf ### +################## + +# Use this proto-image if you do not want to use Ignite for generating proto files +protoVer=0.15.1 +protoImageName=ghcr.io/cosmos/proto-builder:$(protoVer) +protoImage=$(DOCKER) run --rm -v $(CURDIR):/workspace --workdir /workspace $(protoImageName) + +proto-gen: + @echo "Generating protobuf files..." + @ignite generate proto-go --yes + +.PHONY: proto-gen + +################# +### Linting ### +################# + +golangci_lint_cmd=golangci-lint +golangci_version=v1.61.0 + +lint: + @echo "--> Running linter" + @go install github.com/golangci/golangci-lint/cmd/golangci-lint@$(golangci_version) + @$(golangci_lint_cmd) run ./... --timeout 15m + +lint-fix: + @echo "--> Running linter and fixing issues" + @go install github.com/golangci/golangci-lint/cmd/golangci-lint@$(golangci_version) + @$(golangci_lint_cmd) run ./... --fix --timeout 15m + +.PHONY: lint lint-fix + +################### +### Development ### +################### + +govet: + @echo Running go vet... + @go vet ./... + +govulncheck: + @echo Running govulncheck... + @go install golang.org/x/vuln/cmd/govulncheck@latest + @govulncheck ./... + +.PHONY: govet govulncheck \ No newline at end of file diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go new file mode 100644 index 00000000..6468855f --- /dev/null +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -0,0 +1,600 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +var ( + md_GenesisState protoreflect.MessageDescriptor + fd_GenesisState_params protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_genesis_proto_init() + md_GenesisState = File_cardchain_cardchain_genesis_proto.Messages().ByName("GenesisState") + fd_GenesisState_params = md_GenesisState.Fields().ByName("params") +} + +var _ protoreflect.Message = (*fastReflection_GenesisState)(nil) + +type fastReflection_GenesisState GenesisState + +func (x *GenesisState) ProtoReflect() protoreflect.Message { + return (*fastReflection_GenesisState)(x) +} + +func (x *GenesisState) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_genesis_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_GenesisState_messageType fastReflection_GenesisState_messageType +var _ protoreflect.MessageType = fastReflection_GenesisState_messageType{} + +type fastReflection_GenesisState_messageType struct{} + +func (x fastReflection_GenesisState_messageType) Zero() protoreflect.Message { + return (*fastReflection_GenesisState)(nil) +} +func (x fastReflection_GenesisState_messageType) New() protoreflect.Message { + return new(fastReflection_GenesisState) +} +func (x fastReflection_GenesisState_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_GenesisState +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_GenesisState) Descriptor() protoreflect.MessageDescriptor { + return md_GenesisState +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_GenesisState) Type() protoreflect.MessageType { + return _fastReflection_GenesisState_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_GenesisState) New() protoreflect.Message { + return new(fastReflection_GenesisState) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_GenesisState) Interface() protoreflect.ProtoMessage { + return (*GenesisState)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_GenesisState) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Params != nil { + value := protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + if !f(fd_GenesisState_params, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_GenesisState) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.GenesisState.params": + return x.Params != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) + } + panic(fmt.Errorf("message cardchain.cardchain.GenesisState does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GenesisState) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.GenesisState.params": + x.Params = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) + } + panic(fmt.Errorf("message cardchain.cardchain.GenesisState does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_GenesisState) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.GenesisState.params": + value := x.Params + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) + } + panic(fmt.Errorf("message cardchain.cardchain.GenesisState does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GenesisState) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.GenesisState.params": + x.Params = value.Message().Interface().(*Params) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) + } + panic(fmt.Errorf("message cardchain.cardchain.GenesisState does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GenesisState) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.GenesisState.params": + if x.Params == nil { + x.Params = new(Params) + } + return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) + } + panic(fmt.Errorf("message cardchain.cardchain.GenesisState does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_GenesisState) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.GenesisState.params": + m := new(Params) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) + } + panic(fmt.Errorf("message cardchain.cardchain.GenesisState does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_GenesisState) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.GenesisState", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_GenesisState) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GenesisState) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_GenesisState) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*GenesisState) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Params != nil { + l = options.Size(x.Params) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*GenesisState) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Params != nil { + encoded, err := options.Marshal(x.Params) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*GenesisState) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GenesisState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GenesisState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Params == nil { + x.Params = &Params{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/genesis.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// GenesisState defines the cardchain module's genesis state. +type GenesisState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // params defines all the parameters of the module. + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *GenesisState) Reset() { + *x = GenesisState{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_genesis_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenesisState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenesisState) ProtoMessage() {} + +// Deprecated: Use GenesisState.ProtoReflect.Descriptor instead. +func (*GenesisState) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_genesis_proto_rawDescGZIP(), []int{0} +} + +func (x *GenesisState) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +var File_cardchain_cardchain_genesis_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_genesis_proto_rawDesc = []byte{ + 0x0a, 0x21, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, + 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x42, 0xd4, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, + 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, + 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, + 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_genesis_proto_rawDescOnce sync.Once + file_cardchain_cardchain_genesis_proto_rawDescData = file_cardchain_cardchain_genesis_proto_rawDesc +) + +func file_cardchain_cardchain_genesis_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_genesis_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_genesis_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_genesis_proto_rawDescData) + }) + return file_cardchain_cardchain_genesis_proto_rawDescData +} + +var file_cardchain_cardchain_genesis_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_genesis_proto_goTypes = []interface{}{ + (*GenesisState)(nil), // 0: cardchain.cardchain.GenesisState + (*Params)(nil), // 1: cardchain.cardchain.Params +} +var file_cardchain_cardchain_genesis_proto_depIdxs = []int32{ + 1, // 0: cardchain.cardchain.GenesisState.params:type_name -> cardchain.cardchain.Params + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_genesis_proto_init() } +func file_cardchain_cardchain_genesis_proto_init() { + if File_cardchain_cardchain_genesis_proto != nil { + return + } + file_cardchain_cardchain_params_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_genesis_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenesisState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_genesis_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_genesis_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_genesis_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_genesis_proto_msgTypes, + }.Build() + File_cardchain_cardchain_genesis_proto = out.File + file_cardchain_cardchain_genesis_proto_rawDesc = nil + file_cardchain_cardchain_genesis_proto_goTypes = nil + file_cardchain_cardchain_genesis_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go new file mode 100644 index 00000000..dead9881 --- /dev/null +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -0,0 +1,583 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package module + +import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/cosmos/app/v1alpha1" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +var ( + md_Module protoreflect.MessageDescriptor + fd_Module_authority protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_module_module_proto_init() + md_Module = File_cardchain_cardchain_module_module_proto.Messages().ByName("Module") + fd_Module_authority = md_Module.Fields().ByName("authority") +} + +var _ protoreflect.Message = (*fastReflection_Module)(nil) + +type fastReflection_Module Module + +func (x *Module) ProtoReflect() protoreflect.Message { + return (*fastReflection_Module)(x) +} + +func (x *Module) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_module_module_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Module_messageType fastReflection_Module_messageType +var _ protoreflect.MessageType = fastReflection_Module_messageType{} + +type fastReflection_Module_messageType struct{} + +func (x fastReflection_Module_messageType) Zero() protoreflect.Message { + return (*fastReflection_Module)(nil) +} +func (x fastReflection_Module_messageType) New() protoreflect.Message { + return new(fastReflection_Module) +} +func (x fastReflection_Module_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Module +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Module) Descriptor() protoreflect.MessageDescriptor { + return md_Module +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Module) Type() protoreflect.MessageType { + return _fastReflection_Module_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Module) New() protoreflect.Message { + return new(fastReflection_Module) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Module) Interface() protoreflect.ProtoMessage { + return (*Module)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Module) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_Module_authority, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Module) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.module.Module.authority": + return x.Authority != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.module.Module")) + } + panic(fmt.Errorf("message cardchain.cardchain.module.Module does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Module) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.module.Module.authority": + x.Authority = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.module.Module")) + } + panic(fmt.Errorf("message cardchain.cardchain.module.Module does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Module) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.module.Module.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.module.Module")) + } + panic(fmt.Errorf("message cardchain.cardchain.module.Module does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Module) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.module.Module.authority": + x.Authority = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.module.Module")) + } + panic(fmt.Errorf("message cardchain.cardchain.module.Module does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Module) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.module.Module.authority": + panic(fmt.Errorf("field authority of message cardchain.cardchain.module.Module is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.module.Module")) + } + panic(fmt.Errorf("message cardchain.cardchain.module.Module does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Module) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.module.Module.authority": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.module.Module")) + } + panic(fmt.Errorf("message cardchain.cardchain.module.Module does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Module) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.module.Module", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Module) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Module) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Module) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Module) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Module) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Module) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Module) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Module: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Module: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/module/module.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Module is the config object for the module. +type Module struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority defines the custom module authority. If not set, defaults to the governance module. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` +} + +func (x *Module) Reset() { + *x = Module{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_module_module_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Module) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Module) ProtoMessage() {} + +// Deprecated: Use Module.ProtoReflect.Descriptor instead. +func (*Module) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_module_module_proto_rawDescGZIP(), []int{0} +} + +func (x *Module) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +var File_cardchain_cardchain_module_module_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_module_module_proto_rawDesc = []byte{ + 0x0a, 0x27, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2f, 0x6d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x1a, 0x20, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x70, + 0x70, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x3a, + 0x3a, 0xba, 0xc0, 0x96, 0xda, 0x01, 0x34, 0x0a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x78, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0xfe, 0x01, 0x0a, 0x1e, + 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x0b, + 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x4d, 0xaa, 0x02, 0x1a, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0xca, 0x02, 0x1a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x4d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0xe2, 0x02, 0x26, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_module_module_proto_rawDescOnce sync.Once + file_cardchain_cardchain_module_module_proto_rawDescData = file_cardchain_cardchain_module_module_proto_rawDesc +) + +func file_cardchain_cardchain_module_module_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_module_module_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_module_module_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_module_module_proto_rawDescData) + }) + return file_cardchain_cardchain_module_module_proto_rawDescData +} + +var file_cardchain_cardchain_module_module_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_module_module_proto_goTypes = []interface{}{ + (*Module)(nil), // 0: cardchain.cardchain.module.Module +} +var file_cardchain_cardchain_module_module_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_module_module_proto_init() } +func file_cardchain_cardchain_module_module_proto_init() { + if File_cardchain_cardchain_module_module_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_module_module_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Module); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_module_module_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_module_module_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_module_module_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_module_module_proto_msgTypes, + }.Build() + File_cardchain_cardchain_module_module_proto = out.File + file_cardchain_cardchain_module_module_proto_rawDesc = nil + file_cardchain_cardchain_module_module_proto_goTypes = nil + file_cardchain_cardchain_module_module_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go new file mode 100644 index 00000000..e1114a45 --- /dev/null +++ b/api/cardchain/cardchain/params.pulsar.go @@ -0,0 +1,503 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +var ( + md_Params protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_params_proto_init() + md_Params = File_cardchain_cardchain_params_proto.Messages().ByName("Params") +} + +var _ protoreflect.Message = (*fastReflection_Params)(nil) + +type fastReflection_Params Params + +func (x *Params) ProtoReflect() protoreflect.Message { + return (*fastReflection_Params)(x) +} + +func (x *Params) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_params_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Params_messageType fastReflection_Params_messageType +var _ protoreflect.MessageType = fastReflection_Params_messageType{} + +type fastReflection_Params_messageType struct{} + +func (x fastReflection_Params_messageType) Zero() protoreflect.Message { + return (*fastReflection_Params)(nil) +} +func (x fastReflection_Params_messageType) New() protoreflect.Message { + return new(fastReflection_Params) +} +func (x fastReflection_Params_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Params +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Params) Descriptor() protoreflect.MessageDescriptor { + return md_Params +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Params) Type() protoreflect.MessageType { + return _fastReflection_Params_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Params) New() protoreflect.Message { + return new(fastReflection_Params) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Params) Interface() protoreflect.ProtoMessage { + return (*Params)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Params")) + } + panic(fmt.Errorf("message cardchain.cardchain.Params does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Params")) + } + panic(fmt.Errorf("message cardchain.cardchain.Params does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Params")) + } + panic(fmt.Errorf("message cardchain.cardchain.Params does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Params")) + } + panic(fmt.Errorf("message cardchain.cardchain.Params does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Params")) + } + panic(fmt.Errorf("message cardchain.cardchain.Params does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Params")) + } + panic(fmt.Errorf("message cardchain.cardchain.Params does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Params) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.Params", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Params) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Params) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Params) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Params) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Params) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Params) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Params: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/params.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Params defines the parameters for the module. +type Params struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Params) Reset() { + *x = Params{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_params_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Params) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Params) ProtoMessage() {} + +// Deprecated: Use Params.ProtoReflect.Descriptor instead. +func (*Params) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_params_proto_rawDescGZIP(), []int{0} +} + +var File_cardchain_cardchain_params_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_params_proto_rawDesc = []byte{ + 0x0a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, + 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x2f, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x25, 0xe8, 0xa0, 0x1f, 0x01, + 0x8a, 0xe7, 0xb0, 0x2a, 0x1c, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x42, 0xd3, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0b, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, + 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, + 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_params_proto_rawDescOnce sync.Once + file_cardchain_cardchain_params_proto_rawDescData = file_cardchain_cardchain_params_proto_rawDesc +) + +func file_cardchain_cardchain_params_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_params_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_params_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_params_proto_rawDescData) + }) + return file_cardchain_cardchain_params_proto_rawDescData +} + +var file_cardchain_cardchain_params_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_params_proto_goTypes = []interface{}{ + (*Params)(nil), // 0: cardchain.cardchain.Params +} +var file_cardchain_cardchain_params_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_params_proto_init() } +func file_cardchain_cardchain_params_proto_init() { + if File_cardchain_cardchain_params_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_params_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Params); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_params_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_params_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_params_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_params_proto_msgTypes, + }.Build() + File_cardchain_cardchain_params_proto = out.File + file_cardchain_cardchain_params_proto_rawDesc = nil + file_cardchain_cardchain_params_proto_goTypes = nil + file_cardchain_cardchain_params_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go new file mode 100644 index 00000000..dd2bbea8 --- /dev/null +++ b/api/cardchain/cardchain/query.pulsar.go @@ -0,0 +1,1016 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" + _ "cosmossdk.io/api/cosmos/base/query/v1beta1" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +var ( + md_QueryParamsRequest protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryParamsRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryParamsRequest") +} + +var _ protoreflect.Message = (*fastReflection_QueryParamsRequest)(nil) + +type fastReflection_QueryParamsRequest QueryParamsRequest + +func (x *QueryParamsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryParamsRequest)(x) +} + +func (x *QueryParamsRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryParamsRequest_messageType fastReflection_QueryParamsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryParamsRequest_messageType{} + +type fastReflection_QueryParamsRequest_messageType struct{} + +func (x fastReflection_QueryParamsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryParamsRequest)(nil) +} +func (x fastReflection_QueryParamsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryParamsRequest) +} +func (x fastReflection_QueryParamsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryParamsRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryParamsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryParamsRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryParamsRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryParamsRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryParamsRequest) New() protoreflect.Message { + return new(fastReflection_QueryParamsRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryParamsRequest) Interface() protoreflect.ProtoMessage { + return (*QueryParamsRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryParamsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryParamsRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryParamsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryParamsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryParamsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryParamsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryParamsRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryParamsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryParamsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryParamsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryParamsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryParamsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryParamsRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryParamsRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryParamsRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryParamsRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryParamsRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryParamsRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryParamsRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryParamsResponse protoreflect.MessageDescriptor + fd_QueryParamsResponse_params protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryParamsResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryParamsResponse") + fd_QueryParamsResponse_params = md_QueryParamsResponse.Fields().ByName("params") +} + +var _ protoreflect.Message = (*fastReflection_QueryParamsResponse)(nil) + +type fastReflection_QueryParamsResponse QueryParamsResponse + +func (x *QueryParamsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryParamsResponse)(x) +} + +func (x *QueryParamsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryParamsResponse_messageType fastReflection_QueryParamsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryParamsResponse_messageType{} + +type fastReflection_QueryParamsResponse_messageType struct{} + +func (x fastReflection_QueryParamsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryParamsResponse)(nil) +} +func (x fastReflection_QueryParamsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryParamsResponse) +} +func (x fastReflection_QueryParamsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryParamsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryParamsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryParamsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryParamsResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryParamsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryParamsResponse) New() protoreflect.Message { + return new(fastReflection_QueryParamsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryParamsResponse) Interface() protoreflect.ProtoMessage { + return (*QueryParamsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryParamsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Params != nil { + value := protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + if !f(fd_QueryParamsResponse_params, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryParamsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryParamsResponse.params": + return x.Params != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryParamsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryParamsResponse.params": + x.Params = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryParamsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryParamsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryParamsResponse.params": + value := x.Params + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryParamsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryParamsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryParamsResponse.params": + x.Params = value.Message().Interface().(*Params) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryParamsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryParamsResponse.params": + if x.Params == nil { + x.Params = new(Params) + } + return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryParamsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryParamsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryParamsResponse.params": + m := new(Params) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryParamsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryParamsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryParamsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryParamsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryParamsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryParamsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryParamsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Params != nil { + l = options.Size(x.Params) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryParamsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Params != nil { + encoded, err := options.Marshal(x.Params) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryParamsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Params == nil { + x.Params = &Params{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/query.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// QueryParamsRequest is request type for the Query/Params RPC method. +type QueryParamsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryParamsRequest) Reset() { + *x = QueryParamsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsRequest) ProtoMessage() {} + +// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. +func (*QueryParamsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{0} +} + +// QueryParamsResponse is response type for the Query/Params RPC method. +type QueryParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // params holds all the parameters of this module. + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *QueryParamsResponse) Reset() { + *x = QueryParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsResponse) ProtoMessage() {} + +// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. +func (*QueryParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{1} +} + +func (x *QueryParamsResponse) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_query_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, + 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x32, 0x9c, 0x01, 0x0a, 0x05, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_query_proto_rawDescOnce sync.Once + file_cardchain_cardchain_query_proto_rawDescData = file_cardchain_cardchain_query_proto_rawDesc +) + +func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_query_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_query_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_query_proto_rawDescData) + }) + return file_cardchain_cardchain_query_proto_rawDescData +} + +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ + (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest + (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse + (*Params)(nil), // 2: cardchain.cardchain.Params +} +var file_cardchain_cardchain_query_proto_depIdxs = []int32{ + 2, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 0, // 1: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 1, // 2: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 2, // [2:3] is the sub-list for method output_type + 1, // [1:2] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_query_proto_init() } +func file_cardchain_cardchain_query_proto_init() { + if File_cardchain_cardchain_query_proto != nil { + return + } + file_cardchain_cardchain_params_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryParamsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryParamsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_cardchain_cardchain_query_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_query_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_query_proto_msgTypes, + }.Build() + File_cardchain_cardchain_query_proto = out.File + file_cardchain_cardchain_query_proto_rawDesc = nil + file_cardchain_cardchain_query_proto_goTypes = nil + file_cardchain_cardchain_query_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go new file mode 100644 index 00000000..209e296a --- /dev/null +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -0,0 +1,112 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: cardchain/cardchain/query.proto + +package cardchain + +import ( + context "context" + + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + Query_Params_FullMethodName = "/cardchain.cardchain.Query/Params" +) + +// QueryClient is the client API for Query service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type QueryClient interface { + // Parameters queries the parameters of the module. + Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) +} + +type queryClient struct { + cc grpc.ClientConnInterface +} + +func NewQueryClient(cc grpc.ClientConnInterface) 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, Query_Params_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// QueryServer is the server API for Query service. +// All implementations must embed UnimplementedQueryServer +// for forward compatibility +type QueryServer interface { + // Parameters queries the parameters of the module. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + mustEmbedUnimplementedQueryServer() +} + +// UnimplementedQueryServer must be embedded to have forward compatible implementations. +type UnimplementedQueryServer struct { +} + +func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") +} +func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} + +// UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to QueryServer will +// result in compilation errors. +type UnsafeQueryServer interface { + mustEmbedUnimplementedQueryServer() +} + +func RegisterQueryServer(s grpc.ServiceRegistrar, 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: Query_Params_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Query_ServiceDesc is the grpc.ServiceDesc for Query service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Query_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.cardchain.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/cardchain/query.proto", +} diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go new file mode 100644 index 00000000..f48592bf --- /dev/null +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -0,0 +1,1094 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" + _ "cosmossdk.io/api/cosmos/msg/v1" + _ "github.com/cosmos/cosmos-proto" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +var ( + md_MsgUpdateParams protoreflect.MessageDescriptor + fd_MsgUpdateParams_authority protoreflect.FieldDescriptor + fd_MsgUpdateParams_params protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgUpdateParams = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgUpdateParams") + fd_MsgUpdateParams_authority = md_MsgUpdateParams.Fields().ByName("authority") + fd_MsgUpdateParams_params = md_MsgUpdateParams.Fields().ByName("params") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateParams)(nil) + +type fastReflection_MsgUpdateParams MsgUpdateParams + +func (x *MsgUpdateParams) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateParams)(x) +} + +func (x *MsgUpdateParams) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgUpdateParams_messageType fastReflection_MsgUpdateParams_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateParams_messageType{} + +type fastReflection_MsgUpdateParams_messageType struct{} + +func (x fastReflection_MsgUpdateParams_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateParams)(nil) +} +func (x fastReflection_MsgUpdateParams_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParams) +} +func (x fastReflection_MsgUpdateParams_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParams +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateParams) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParams +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUpdateParams) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateParams_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateParams) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParams) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateParams) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateParams)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUpdateParams) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgUpdateParams_authority, value) { + return + } + } + if x.Params != nil { + value := protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + if !f(fd_MsgUpdateParams_params, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateParams) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgUpdateParams.authority": + return x.Authority != "" + case "cardchain.cardchain.MsgUpdateParams.params": + return x.Params != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateParams")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgUpdateParams.authority": + x.Authority = "" + case "cardchain.cardchain.MsgUpdateParams.params": + x.Params = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateParams")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUpdateParams) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgUpdateParams.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgUpdateParams.params": + value := x.Params + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateParams")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateParams does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgUpdateParams.authority": + x.Authority = value.Interface().(string) + case "cardchain.cardchain.MsgUpdateParams.params": + x.Params = value.Message().Interface().(*Params) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateParams")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgUpdateParams.params": + if x.Params == nil { + x.Params = new(Params) + } + return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + case "cardchain.cardchain.MsgUpdateParams.authority": + panic(fmt.Errorf("field authority of message cardchain.cardchain.MsgUpdateParams is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateParams")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUpdateParams) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgUpdateParams.authority": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgUpdateParams.params": + m := new(Params) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateParams")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUpdateParams) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgUpdateParams", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUpdateParams) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUpdateParams) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUpdateParams) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateParams) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Params != nil { + l = options.Size(x.Params) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParams) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Params != nil { + encoded, err := options.Marshal(x.Params) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParams) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Params == nil { + x.Params = &Params{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgUpdateParamsResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgUpdateParamsResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgUpdateParamsResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateParamsResponse)(nil) + +type fastReflection_MsgUpdateParamsResponse MsgUpdateParamsResponse + +func (x *MsgUpdateParamsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateParamsResponse)(x) +} + +func (x *MsgUpdateParamsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgUpdateParamsResponse_messageType fastReflection_MsgUpdateParamsResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateParamsResponse_messageType{} + +type fastReflection_MsgUpdateParamsResponse_messageType struct{} + +func (x fastReflection_MsgUpdateParamsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateParamsResponse)(nil) +} +func (x fastReflection_MsgUpdateParamsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParamsResponse) +} +func (x fastReflection_MsgUpdateParamsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParamsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateParamsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParamsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUpdateParamsResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateParamsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateParamsResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParamsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateParamsResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateParamsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUpdateParamsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateParamsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUpdateParamsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateParamsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUpdateParamsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUpdateParamsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgUpdateParamsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUpdateParamsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUpdateParamsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateParamsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParamsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParamsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/tx.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// MsgUpdateParams is the Msg/UpdateParams request type. +type MsgUpdateParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address that controls the module (defaults to x/gov unless overwritten). + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the module parameters to update. + // + // NOTE: All parameters must be supplied. + Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *MsgUpdateParams) Reset() { + *x = MsgUpdateParams{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParams) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{0} +} + +func (x *MsgUpdateParams) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgUpdateParams) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +type MsgUpdateParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUpdateParamsResponse) Reset() { + *x = MsgUpdateParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParamsResponse) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{1} +} + +var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ + 0x0a, 0x1c, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x74, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, + 0x73, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3e, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, + 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x38, + 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, + 0xb0, 0x2a, 0x25, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x32, 0x70, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, + 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, + 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, + 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_tx_proto_rawDescOnce sync.Once + file_cardchain_cardchain_tx_proto_rawDescData = file_cardchain_cardchain_tx_proto_rawDesc +) + +func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_tx_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_tx_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_tx_proto_rawDescData) + }) + return file_cardchain_cardchain_tx_proto_rawDescData +} + +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ + (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams + (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse + (*Params)(nil), // 2: cardchain.cardchain.Params +} +var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ + 2, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 0, // 1: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams + 1, // 2: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 2, // [2:3] is the sub-list for method output_type + 1, // [1:2] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_tx_proto_init() } +func file_cardchain_cardchain_tx_proto_init() { + if File_cardchain_cardchain_tx_proto != nil { + return + } + file_cardchain_cardchain_params_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_tx_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParams); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParamsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_cardchain_cardchain_tx_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_tx_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_tx_proto_msgTypes, + }.Build() + File_cardchain_cardchain_tx_proto = out.File + file_cardchain_cardchain_tx_proto_rawDesc = nil + file_cardchain_cardchain_tx_proto_goTypes = nil + file_cardchain_cardchain_tx_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go new file mode 100644 index 00000000..39835a39 --- /dev/null +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -0,0 +1,114 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: cardchain/cardchain/tx.proto + +package cardchain + +import ( + context "context" + + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + Msg_UpdateParams_FullMethodName = "/cardchain.cardchain.Msg/UpdateParams" +) + +// MsgClient is the client API for Msg service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type MsgClient interface { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) +} + +type msgClient struct { + cc grpc.ClientConnInterface +} + +func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { + return &msgClient{cc} +} + +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MsgServer is the server API for Msg service. +// All implementations must embed UnimplementedMsgServer +// for forward compatibility +type MsgServer interface { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + mustEmbedUnimplementedMsgServer() +} + +// UnimplementedMsgServer must be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { +} + +func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} +func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} + +// UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to MsgServer will +// result in compilation errors. +type UnsafeMsgServer interface { + mustEmbedUnimplementedMsgServer() +} + +func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + s.RegisterService(&Msg_ServiceDesc, srv) +} + +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_UpdateParams_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + +// Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Msg_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.cardchain.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/cardchain/tx.proto", +} diff --git a/app/app.go b/app/app.go index e7b664c1..360ea174 100644 --- a/app/app.go +++ b/app/app.go @@ -1,114 +1,83 @@ package app import ( - "fmt" "io" - "os" - "path/filepath" + _ "cosmossdk.io/api/cosmos/tx/config/v1" // import for side-effects + clienthelpers "cosmossdk.io/client/v2/helpers" + "cosmossdk.io/depinject" + "cosmossdk.io/log" + storetypes "cosmossdk.io/store/types" + _ "cosmossdk.io/x/circuit" // import for side-effects + circuitkeeper "cosmossdk.io/x/circuit/keeper" + _ "cosmossdk.io/x/evidence" // import for side-effects + evidencekeeper "cosmossdk.io/x/evidence/keeper" + feegrantkeeper "cosmossdk.io/x/feegrant/keeper" + _ "cosmossdk.io/x/feegrant/module" // import for side-effects + nftkeeper "cosmossdk.io/x/nft/keeper" + _ "cosmossdk.io/x/nft/module" // import for side-effects + _ "cosmossdk.io/x/upgrade" // import for side-effects + upgradekeeper "cosmossdk.io/x/upgrade/keeper" + abci "github.com/cometbft/cometbft/abci/types" + dbm "github.com/cosmos/cosmos-db" "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/client" - nodeservice "github.com/cosmos/cosmos-sdk/client/grpc/node" - "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" "github.com/cosmos/cosmos-sdk/codec" - "github.com/cosmos/cosmos-sdk/codec/types" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/runtime" + "github.com/cosmos/cosmos-sdk/server" "github.com/cosmos/cosmos-sdk/server/api" "github.com/cosmos/cosmos-sdk/server/config" servertypes "github.com/cosmos/cosmos-sdk/server/types" - "github.com/cosmos/cosmos-sdk/simapp" - storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" - "github.com/cosmos/cosmos-sdk/version" "github.com/cosmos/cosmos-sdk/x/auth" - "github.com/cosmos/cosmos-sdk/x/auth/ante" 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" + _ "github.com/cosmos/cosmos-sdk/x/auth/tx/config" // import for side-effects 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" + _ "github.com/cosmos/cosmos-sdk/x/auth/vesting" // import for side-effects authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" - authzmodule "github.com/cosmos/cosmos-sdk/x/authz/module" - "github.com/cosmos/cosmos-sdk/x/bank" + _ "github.com/cosmos/cosmos-sdk/x/authz/module" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/bank" // import for side-effects bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" - banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/cosmos/cosmos-sdk/x/capability" - capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper" - capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - "github.com/cosmos/cosmos-sdk/x/crisis" + _ "github.com/cosmos/cosmos-sdk/x/consensus" // import for side-effects + consensuskeeper "github.com/cosmos/cosmos-sdk/x/consensus/keeper" + _ "github.com/cosmos/cosmos-sdk/x/crisis" // import for side-effects crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper" - crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" - distr "github.com/cosmos/cosmos-sdk/x/distribution" - distrclient "github.com/cosmos/cosmos-sdk/x/distribution/client" + _ "github.com/cosmos/cosmos-sdk/x/distribution" // import for side-effects distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" - distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - "github.com/cosmos/cosmos-sdk/x/evidence" - evidencekeeper "github.com/cosmos/cosmos-sdk/x/evidence/keeper" - evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types" - "github.com/cosmos/cosmos-sdk/x/feegrant" - feegrantkeeper "github.com/cosmos/cosmos-sdk/x/feegrant/keeper" - feegrantmodule "github.com/cosmos/cosmos-sdk/x/feegrant/module" "github.com/cosmos/cosmos-sdk/x/genutil" genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" "github.com/cosmos/cosmos-sdk/x/gov" 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" + _ "github.com/cosmos/cosmos-sdk/x/group/module" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/mint" // import for side-effects mintkeeper "github.com/cosmos/cosmos-sdk/x/mint/keeper" - minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/cosmos/cosmos-sdk/x/params" + _ "github.com/cosmos/cosmos-sdk/x/params" // import for side-effects paramsclient "github.com/cosmos/cosmos-sdk/x/params/client" paramskeeper "github.com/cosmos/cosmos-sdk/x/params/keeper" paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" - paramproposal "github.com/cosmos/cosmos-sdk/x/params/types/proposal" - "github.com/cosmos/cosmos-sdk/x/slashing" + _ "github.com/cosmos/cosmos-sdk/x/slashing" // import for side-effects slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper" - slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" - "github.com/cosmos/cosmos-sdk/x/staking" + _ "github.com/cosmos/cosmos-sdk/x/staking" // import for side-effects stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/cosmos-sdk/x/upgrade" - 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" - 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" - "github.com/tendermint/tendermint/libs/log" - tmos "github.com/tendermint/tendermint/libs/os" - dbm "github.com/tendermint/tm-db" - - cardchainmodule "github.com/DecentralCardGame/cardchain/x/cardchain" + _ "github.com/cosmos/ibc-go/modules/capability" // import for side-effects + capabilitykeeper "github.com/cosmos/ibc-go/modules/capability/keeper" + _ "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts" // import for side-effects + icacontrollerkeeper "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/controller/keeper" + icahostkeeper "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/keeper" + _ "github.com/cosmos/ibc-go/v8/modules/apps/29-fee" // import for side-effects + ibcfeekeeper "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/keeper" + ibctransferkeeper "github.com/cosmos/ibc-go/v8/modules/apps/transfer/keeper" + ibckeeper "github.com/cosmos/ibc-go/v8/modules/core/keeper" + cardchainmodulekeeper "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" - cardchainmoduletypes "github.com/DecentralCardGame/cardchain/x/cardchain/types" // this line is used by starport scaffolding # stargate/app/moduleImport - appparams "github.com/DecentralCardGame/cardchain/app/params" "github.com/DecentralCardGame/cardchain/docs" ) @@ -117,673 +86,226 @@ const ( Name = "cardchain" ) -// this line is used by starport scaffolding # stargate/wasm/app/enabledProposals - -func getGovProposalHandlers() []govclient.ProposalHandler { - var govProposalHandlers []govclient.ProposalHandler - // this line is used by starport scaffolding # stargate/app/govProposalHandlers - - govProposalHandlers = append(govProposalHandlers, - paramsclient.ProposalHandler, - distrclient.ProposalHandler, - upgradeclient.LegacyProposalHandler, - upgradeclient.LegacyCancelProposalHandler, - ibcclientclient.UpdateClientProposalHandler, - ibcclientclient.UpgradeProposalHandler, - // this line is used by starport scaffolding # stargate/app/govProposalHandler - ) - - return govProposalHandlers -} - var ( // DefaultNodeHome default home directories for the application daemon DefaultNodeHome string - - // ModuleBasics defines the module BasicManager is in charge of setting up basic, - // non-dependant module elements, such as codec registration - // 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()), - params.AppModuleBasic{}, - crisis.AppModuleBasic{}, - slashing.AppModuleBasic{}, - feegrantmodule.AppModuleBasic{}, - groupmodule.AppModuleBasic{}, - ibc.AppModuleBasic{}, - upgrade.AppModuleBasic{}, - evidence.AppModuleBasic{}, - transfer.AppModuleBasic{}, - ica.AppModuleBasic{}, - vesting.AppModuleBasic{}, - cardchainmodule.AppModuleBasic{}, - // this line is used by starport scaffolding # stargate/app/moduleBasic - ) - - // module account permissions - 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}, - govtypes.ModuleName: {authtypes.Burner}, - ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner}, - // this line is used by starport scaffolding # stargate/app/maccPerms - } ) var ( + _ runtime.AppI = (*App)(nil) _ servertypes.Application = (*App)(nil) - _ simapp.App = (*App)(nil) ) -func init() { - userHomeDir, err := os.UserHomeDir() - if err != nil { - panic(err) - } - - DefaultNodeHome = filepath.Join(userHomeDir, "."+Name) -} - // App extends an ABCI application, but with most of its parameters exported. // They are exported for convenience in creating helper functions, as object // capabilities aren't needed for testing. type App struct { - *baseapp.BaseApp - - cdc *codec.LegacyAmino + *runtime.App + legacyAmino *codec.LegacyAmino appCodec codec.Codec - interfaceRegistry types.InterfaceRegistry - - invCheckPeriod uint - - // keys to access the substores - keys map[string]*storetypes.KVStoreKey - tkeys map[string]*storetypes.TransientStoreKey - memKeys map[string]*storetypes.MemoryStoreKey + txConfig client.TxConfig + interfaceRegistry codectypes.InterfaceRegistry // keepers - AccountKeeper authkeeper.AccountKeeper - AuthzKeeper authzkeeper.Keeper - BankKeeper bankkeeper.Keeper - CapabilityKeeper *capabilitykeeper.Keeper - StakingKeeper stakingkeeper.Keeper - SlashingKeeper slashingkeeper.Keeper - MintKeeper mintkeeper.Keeper - DistrKeeper distrkeeper.Keeper - GovKeeper govkeeper.Keeper - CrisisKeeper crisiskeeper.Keeper - UpgradeKeeper upgradekeeper.Keeper - ParamsKeeper paramskeeper.Keeper - IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly - EvidenceKeeper evidencekeeper.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 + AccountKeeper authkeeper.AccountKeeper + BankKeeper bankkeeper.Keeper + StakingKeeper *stakingkeeper.Keeper + DistrKeeper distrkeeper.Keeper + ConsensusParamsKeeper consensuskeeper.Keeper + + SlashingKeeper slashingkeeper.Keeper + MintKeeper mintkeeper.Keeper + GovKeeper *govkeeper.Keeper + CrisisKeeper *crisiskeeper.Keeper + UpgradeKeeper *upgradekeeper.Keeper + ParamsKeeper paramskeeper.Keeper + AuthzKeeper authzkeeper.Keeper + EvidenceKeeper evidencekeeper.Keeper + FeeGrantKeeper feegrantkeeper.Keeper + GroupKeeper groupkeeper.Keeper + NFTKeeper nftkeeper.Keeper + CircuitBreakerKeeper circuitkeeper.Keeper + + // IBC + IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly + CapabilityKeeper *capabilitykeeper.Keeper + IBCFeeKeeper ibcfeekeeper.Keeper + ICAControllerKeeper icacontrollerkeeper.Keeper + ICAHostKeeper icahostkeeper.Keeper + TransferKeeper ibctransferkeeper.Keeper + + // Scoped IBC + ScopedIBCKeeper capabilitykeeper.ScopedKeeper + ScopedIBCTransferKeeper capabilitykeeper.ScopedKeeper + ScopedICAControllerKeeper capabilitykeeper.ScopedKeeper + ScopedICAHostKeeper capabilitykeeper.ScopedKeeper + ScopedKeepers map[string]capabilitykeeper.ScopedKeeper CardchainKeeper cardchainmodulekeeper.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 - configurator module.Configurator + // simulation manager + sm *module.SimulationManager } -// New returns a reference to an initialized blockchain app -func New( - logger log.Logger, - db dbm.DB, - traceStore io.Writer, - loadLatest bool, - skipUpgradeHeights map[int64]bool, - homePath string, - invCheckPeriod uint, - encodingConfig appparams.EncodingConfig, - appOpts servertypes.AppOptions, - baseAppOptions ...func(*baseapp.BaseApp), -) *App { - appCodec := encodingConfig.Marshaler - cdc := encodingConfig.Amino - interfaceRegistry := encodingConfig.InterfaceRegistry - - 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, 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, icahosttypes.StoreKey, capabilitytypes.StoreKey, group.StoreKey, - icacontrollertypes.StoreKey, - cardchainmoduletypes.StoreKey, - // this line is used by starport scaffolding # stargate/app/storeKey - ) - tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey) - memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey) - - app := &App{ - BaseApp: bApp, - cdc: cdc, - appCodec: appCodec, - interfaceRegistry: interfaceRegistry, - invCheckPeriod: invCheckPeriod, - keys: keys, - tkeys: tkeys, - memKeys: memKeys, +func init() { + var err error + clienthelpers.EnvPrefix = Name + DefaultNodeHome, err = clienthelpers.GetNodeHomeDirectory("." + Name) + if err != nil { + panic(err) } +} - 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(paramstypes.ConsensusParamsKeyTable())) - - // add capability keeper and ScopeToModule for ibc module - 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) - scopedTransferKeeper := app.CapabilityKeeper.ScopeToModule(ibctransfertypes.ModuleName) - scopedICAHostKeeper := app.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName) - // 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, - sdk.Bech32PrefixAccAddr, - ) - - app.AuthzKeeper = authzkeeper.NewKeeper( - keys[authz.ModuleName], - appCodec, - app.MsgServiceRouter(), - app.AccountKeeper, - ) - - app.BankKeeper = bankkeeper.NewBaseKeeper( - appCodec, - keys[banktypes.StoreKey], - app.AccountKeeper, - app.GetSubspace(banktypes.ModuleName), - app.BlockedModuleAccountAddrs(), - ) - - app.StakingKeeper = stakingkeeper.NewKeeper( - appCodec, - keys[stakingtypes.StoreKey], - app.AccountKeeper, - app.BankKeeper, - app.GetSubspace(stakingtypes.ModuleName), - ) - - app.MintKeeper = mintkeeper.NewKeeper( - appCodec, - keys[minttypes.StoreKey], - app.GetSubspace(minttypes.ModuleName), - &app.StakingKeeper, - app.AccountKeeper, - app.BankKeeper, - authtypes.FeeCollectorName, - ) - - app.DistrKeeper = distrkeeper.NewKeeper( - appCodec, - keys[distrtypes.StoreKey], - app.GetSubspace(distrtypes.ModuleName), - app.AccountKeeper, - app.BankKeeper, - &app.StakingKeeper, - authtypes.FeeCollectorName, - ) - - app.SlashingKeeper = slashingkeeper.NewKeeper( - appCodec, - keys[slashingtypes.StoreKey], - &app.StakingKeeper, - app.GetSubspace(slashingtypes.ModuleName), - ) - - app.CrisisKeeper = crisiskeeper.NewKeeper( - app.GetSubspace(crisistypes.ModuleName), - invCheckPeriod, - app.BankKeeper, - authtypes.FeeCollectorName, - ) - - 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(), - ) - - // ... other modules keepers - - // Create IBC Keeper - app.IBCKeeper = ibckeeper.NewKeeper( - 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.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, - ) - // If evidence needs to be handled for the app, set routes in router here and seal - app.EvidenceKeeper = *evidenceKeeper - - govRouter := govv1beta1.NewRouter() - govRouter. - AddRoute(govtypes.RouterKey, govv1beta1.ProposalHandler). - AddRoute(paramproposal.RouterKey, params.NewParamChangeProposalHandler(app.ParamsKeeper)). - AddRoute(distrtypes.RouterKey, distr.NewCommunityPoolSpendProposalHandler(app.DistrKeeper)). - AddRoute(upgradetypes.RouterKey, upgrade.NewSoftwareUpgradeProposalHandler(app.UpgradeKeeper)). - 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, - &app.StakingKeeper, - govRouter, - app.MsgServiceRouter(), - govConfig, - ) - - app.CardchainKeeper = *cardchainmodulekeeper.NewKeeper( - appCodec, - keys[cardchainmoduletypes.StoreKey], - keys[cardchainmoduletypes.MemStoreKey], - app.GetSubspace(cardchainmoduletypes.ModuleName), - ) - cardchainModule := cardchainmodule.NewAppModule(appCodec, app.CardchainKeeper, app.AccountKeeper, app.BankKeeper) - - // this line is used by starport scaffolding # stargate/app/keeperDefinition - - /**** IBC Routing ****/ - - // 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(icahosttypes.SubModuleName, icaHostIBCModule). - AddRoute(ibctransfertypes.ModuleName, transferIBCModule) - // this line is used by starport scaffolding # ibc/app/router - app.IBCKeeper.SetRouter(ibcRouter) - - /**** Module Hooks ****/ - - // register hooks after all modules have been initialized - - app.StakingKeeper.SetHooks( - stakingtypes.NewMultiStakingHooks( - // insert staking hooks receivers here - app.DistrKeeper.Hooks(), - app.SlashingKeeper.Hooks(), - ), - ) +// getGovProposalHandlers return the chain proposal handlers. +func getGovProposalHandlers() []govclient.ProposalHandler { + var govProposalHandlers []govclient.ProposalHandler + // this line is used by starport scaffolding # stargate/app/govProposalHandlers - app.GovKeeper.SetHooks( - govtypes.NewMultiGovHooks( - // insert governance hooks receivers here - ), + govProposalHandlers = append(govProposalHandlers, + paramsclient.ProposalHandler, + // this line is used by starport scaffolding # stargate/app/govProposalHandler ) - /**** Module Options ****/ - - // NOTE: we may consider parsing `appOpts` inside module constructors. For the moment - // we prefer to be more strict in what arguments the modules expect. - skipGenesisInvariants := cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants)) - - // NOTE: Any module instantiated in the module manager that is later modified - // must be passed by reference here. + return govProposalHandlers +} - app.mm = module.NewManager( - genutil.NewAppModule( - app.AccountKeeper, app.StakingKeeper, app.BaseApp.DeliverTx, - encodingConfig.TxConfig, +// AppConfig returns the default app config. +func AppConfig() depinject.Config { + return depinject.Configs( + appConfig, + // Alternatively, load the app config from a YAML file. + // appconfig.LoadYAML(AppConfigYAML), + depinject.Supply( + // supply custom module basics + map[string]module.AppModuleBasic{ + genutiltypes.ModuleName: genutil.NewAppModuleBasic(genutiltypes.DefaultMessageValidator), + govtypes.ModuleName: gov.NewAppModuleBasic(getGovProposalHandlers()), + // this line is used by starport scaffolding # stargate/appConfig/moduleBasic + }, ), - 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, 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), - upgrade.NewAppModule(app.UpgradeKeeper), - evidence.NewAppModule(app.EvidenceKeeper), - ibc.NewAppModule(app.IBCKeeper), - params.NewAppModule(app.ParamsKeeper), - transferModule, - icaModule, - cardchainModule, - // this line is used by starport scaffolding # stargate/app/appModule - ) - - // During begin block slashing happens after distr.BeginBlocker so that - // there is nothing left over in the validator fee pool, so as to keep the - // CanWithdrawInvariant invariant. - // NOTE: staking module is required if HistoricalEntries param > 0 - app.mm.SetOrderBeginBlockers( - // 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, - // this line is used by starport scaffolding # stargate/app/beginBlockers ) +} - 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, - // 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. - // NOTE: Capability module must occur first so that it can initialize any capabilities - // so that other modules that want to create or claim capabilities afterwards in InitChain - // can do so safely. - app.mm.SetOrderInitGenesis( - capabilitytypes.ModuleName, - authtypes.ModuleName, - banktypes.ModuleName, - distrtypes.ModuleName, - stakingtypes.ModuleName, - slashingtypes.ModuleName, - govtypes.ModuleName, - minttypes.ModuleName, - crisistypes.ModuleName, - genutiltypes.ModuleName, - ibctransfertypes.ModuleName, - ibchost.ModuleName, - icatypes.ModuleName, - evidencetypes.ModuleName, - authz.ModuleName, - feegrant.ModuleName, - group.ModuleName, - paramstypes.ModuleName, - upgradetypes.ModuleName, - vestingtypes.ModuleName, - cardchainmoduletypes.ModuleName, - // this line is used by starport scaffolding # stargate/app/initGenesis - ) - - // Uncomment if you want to set a custom migration order here. - // app.mm.SetOrderMigrations(custom order) - - app.mm.RegisterInvariants(&app.CrisisKeeper) - app.mm.RegisterRoutes(app.Router(), app.QueryRouter(), encodingConfig.Amino) +// New returns a reference to an initialized App. +func New( + logger log.Logger, + db dbm.DB, + traceStore io.Writer, + loadLatest bool, + appOpts servertypes.AppOptions, + baseAppOptions ...func(*baseapp.BaseApp), +) (*App, error) { + var ( + app = &App{ScopedKeepers: make(map[string]capabilitykeeper.ScopedKeeper)} + appBuilder *runtime.AppBuilder + + // merge the AppConfig and other configuration in one config + appConfig = depinject.Configs( + AppConfig(), + depinject.Supply( + appOpts, // supply app options + logger, // supply logger + // Supply with IBC keeper getter for the IBC modules with App Wiring. + // The IBC Keeper cannot be passed because it has not been initiated yet. + // Passing the getter, the app IBC Keeper will always be accessible. + // This needs to be removed after IBC supports App Wiring. + app.GetIBCKeeper, + app.GetCapabilityScopedKeeper, + + // here alternative options can be supplied to the DI container. + // those options can be used f.e to override the default behavior of some modules. + // for instance supplying a custom address codec for not using bech32 addresses. + // read the depinject documentation and depinject module wiring for more information + // on available options and how to use them. + ), + ) + ) + + if err := depinject.Inject(appConfig, + &appBuilder, + &app.appCodec, + &app.legacyAmino, + &app.txConfig, + &app.interfaceRegistry, + &app.AccountKeeper, + &app.BankKeeper, + &app.StakingKeeper, + &app.DistrKeeper, + &app.ConsensusParamsKeeper, + &app.SlashingKeeper, + &app.MintKeeper, + &app.GovKeeper, + &app.CrisisKeeper, + &app.UpgradeKeeper, + &app.ParamsKeeper, + &app.AuthzKeeper, + &app.EvidenceKeeper, + &app.FeeGrantKeeper, + &app.NFTKeeper, + &app.GroupKeeper, + &app.CircuitBreakerKeeper, + &app.CardchainKeeper, + // this line is used by starport scaffolding # stargate/app/keeperDefinition + ); err != nil { + panic(err) + } - app.configurator = module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter()) - app.mm.RegisterServices(app.configurator) + // add to default baseapp options + // enable optimistic execution + baseAppOptions = append(baseAppOptions, baseapp.SetOptimisticExecution()) - // 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, 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), - ibc.NewAppModule(app.IBCKeeper), - transferModule, - cardchainModule, - // this line is used by starport scaffolding # stargate/app/appModule - ) - app.sm.RegisterStoreDecoders() + // build app + app.App = appBuilder.Build(db, traceStore, baseAppOptions...) - // initialize stores - app.MountKVStores(keys) - app.MountTransientStores(tkeys) - app.MountMemoryStores(memKeys) - - // initialize BaseApp - app.SetInitChainer(app.InitChainer) - app.SetBeginBlocker(app.BeginBlocker) - - anteHandler, err := ante.NewAnteHandler( - ante.HandlerOptions{ - AccountKeeper: app.AccountKeeper, - BankKeeper: app.BankKeeper, - SignModeHandler: encodingConfig.TxConfig.SignModeHandler(), - FeegrantKeeper: app.FeeGrantKeeper, - SigGasConsumer: ante.DefaultSigVerificationGasConsumer, - }, - ) - if err != nil { - panic(fmt.Errorf("failed to create AnteHandler: %w", err)) + // register legacy modules + if err := app.registerIBCModules(appOpts); err != nil { + return nil, err } - app.SetAnteHandler(anteHandler) - app.SetInitChainer(app.InitChainer) - app.SetBeginBlocker(app.BeginBlocker) - app.SetEndBlocker(app.EndBlocker) - - if loadLatest { - if err := app.LoadLatestVersion(); err != nil { - tmos.Exit(err.Error()) - } + // register streaming services + if err := app.RegisterStreamingServices(appOpts, app.kvStoreKeys()); err != nil { + return nil, err } - app.ScopedIBCKeeper = scopedIBCKeeper - app.ScopedTransferKeeper = scopedTransferKeeper - // this line is used by starport scaffolding # stargate/app/beforeInitReturn - - return app -} - -// Name returns the name of the App -func (app *App) Name() string { return app.BaseApp.Name() } - -// BeginBlocker application updates every begin block -func (app *App) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock { - return app.mm.BeginBlock(ctx, req) -} + /**** Module Options ****/ -// EndBlocker application updates every end block -func (app *App) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock { - return app.mm.EndBlock(ctx, req) -} + app.ModuleManager.RegisterInvariants(app.CrisisKeeper) -// InitChainer application update at chain initialization -func (app *App) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain { - var genesisState GenesisState - if err := tmjson.Unmarshal(req.AppStateBytes, &genesisState); err != nil { - panic(err) + // create the simulation manager and define the order of the modules for deterministic simulations + overrideModules := map[string]module.AppModuleSimulation{ + authtypes.ModuleName: auth.NewAppModule(app.appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts, app.GetSubspace(authtypes.ModuleName)), } - app.UpgradeKeeper.SetModuleVersionMap(ctx, app.mm.GetVersionMap()) - return app.mm.InitGenesis(ctx, app.appCodec, genesisState) -} + app.sm = module.NewSimulationManagerFromAppModules(app.ModuleManager.Modules, overrideModules) + app.sm.RegisterStoreDecoders() -// LoadHeight loads a particular height -func (app *App) LoadHeight(height int64) error { - return app.LoadVersion(height) -} + // A custom InitChainer sets if extra pre-init-genesis logic is required. + // This is necessary for manually registered modules that do not support app wiring. + // Manually set the module version map as shown below. + // The upgrade module will automatically handle de-duplication of the module version map. + app.SetInitChainer(func(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error) { + if err := app.UpgradeKeeper.SetModuleVersionMap(ctx, app.ModuleManager.GetVersionMap()); err != nil { + return nil, err + } + return app.App.InitChainer(ctx, req) + }) -// ModuleAccountAddrs returns all the app's module account addresses. -func (app *App) ModuleAccountAddrs() map[string]bool { - modAccAddrs := make(map[string]bool) - for acc := range maccPerms { - modAccAddrs[authtypes.NewModuleAddress(acc).String()] = true + if err := app.Load(loadLatest); err != nil { + return nil, err } - return modAccAddrs + return app, nil } -// 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. +// LegacyAmino returns App's amino codec. // // NOTE: This is solely to be used for testing purposes as it may be desirable // for modules to register their own custom testing types. func (app *App) LegacyAmino() *codec.LegacyAmino { - return app.cdc + return app.legacyAmino } -// AppCodec returns an app codec. +// AppCodec returns App's app codec. // // NOTE: This is solely to be used for testing purposes as it may be desirable // for modules to register their own custom testing types. @@ -791,110 +313,108 @@ func (app *App) AppCodec() codec.Codec { return app.appCodec } -// InterfaceRegistry returns an InterfaceRegistry -func (app *App) InterfaceRegistry() types.InterfaceRegistry { +// InterfaceRegistry returns App's interfaceRegistry. +func (app *App) InterfaceRegistry() codectypes.InterfaceRegistry { return app.interfaceRegistry } +// TxConfig returns App's tx config. +func (app *App) TxConfig() client.TxConfig { + return app.txConfig +} + // 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) *storetypes.KVStoreKey { - return app.keys[storeKey] + kvStoreKey, ok := app.UnsafeFindStoreKey(storeKey).(*storetypes.KVStoreKey) + if !ok { + return nil + } + return kvStoreKey } -// 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) *storetypes.TransientStoreKey { - return app.tkeys[storeKey] +// GetMemKey returns the MemoryStoreKey for the provided store key. +func (app *App) GetMemKey(storeKey string) *storetypes.MemoryStoreKey { + key, ok := app.UnsafeFindStoreKey(storeKey).(*storetypes.MemoryStoreKey) + if !ok { + return nil + } + + return key } -// GetMemKey returns the MemStoreKey for the provided mem key. -// -// NOTE: This is solely used for testing purposes. -func (app *App) GetMemKey(storeKey string) *storetypes.MemoryStoreKey { - return app.memKeys[storeKey] +// kvStoreKeys returns all the kv store keys registered inside App. +func (app *App) kvStoreKeys() map[string]*storetypes.KVStoreKey { + keys := make(map[string]*storetypes.KVStoreKey) + for _, k := range app.GetStoreKeys() { + if kv, ok := k.(*storetypes.KVStoreKey); ok { + keys[kv.Name()] = kv + } + } + + return keys } // GetSubspace returns a param subspace for a given module name. -// -// NOTE: This is solely to be used for testing purposes. func (app *App) GetSubspace(moduleName string) paramstypes.Subspace { subspace, _ := app.ParamsKeeper.GetSubspace(moduleName) return subspace } -// RegisterAPIRoutes registers all application module routes with the provided -// API server. -func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig) { - clientCtx := apiSvr.ClientCtx - // Register new tx routes from grpc-gateway. - authtx.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) - // Register new tendermint queries routes from grpc-gateway. - tmservice.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) - // Register node gRPC service for grpc-gateway. - nodeservice.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) - - // Register grpc-gateway routes for all modules. - ModuleBasics.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) - - // register app's OpenAPI routes. - docs.RegisterOpenAPIService(Name, apiSvr.Router) +// GetIBCKeeper returns the IBC keeper. +func (app *App) GetIBCKeeper() *ibckeeper.Keeper { + return app.IBCKeeper } -// RegisterTxService implements the Application.RegisterTxService method. -func (app *App) RegisterTxService(clientCtx client.Context) { - authtx.RegisterTxService(app.BaseApp.GRPCQueryRouter(), clientCtx, app.BaseApp.Simulate, app.interfaceRegistry) +// GetCapabilityScopedKeeper returns the capability scoped keeper. +func (app *App) GetCapabilityScopedKeeper(moduleName string) capabilitykeeper.ScopedKeeper { + sk, ok := app.ScopedKeepers[moduleName] + if !ok { + sk = app.CapabilityKeeper.ScopeToModule(moduleName) + app.ScopedKeepers[moduleName] = sk + } + return sk } -// RegisterTendermintService implements the Application.RegisterTendermintService method. -func (app *App) RegisterTendermintService(clientCtx client.Context) { - tmservice.RegisterTendermintService( - clientCtx, - app.BaseApp.GRPCQueryRouter(), - app.interfaceRegistry, - app.Query, - ) +// SimulationManager implements the SimulationApp interface. +func (app *App) SimulationManager() *module.SimulationManager { + return app.sm } -// RegisterNodeService implements the Application.RegisterNodeService method. -func (app *App) RegisterNodeService(clientCtx client.Context) { - nodeservice.RegisterNodeService(clientCtx, app.GRPCQueryRouter()) +// RegisterAPIRoutes registers all application module routes with the provided +// API server. +func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig) { + app.App.RegisterAPIRoutes(apiSvr, apiConfig) + // register swagger API in app.go so that other applications can override easily + if err := server.RegisterSwaggerAPI(apiSvr.ClientCtx, apiSvr.Router, apiConfig.Swagger); err != nil { + panic(err) + } + + // register app's OpenAPI routes. + docs.RegisterOpenAPIService(Name, apiSvr.Router) } // GetMaccPerms returns a copy of the module account permissions +// +// NOTE: This is solely to be used for testing purposes. func GetMaccPerms() map[string][]string { - dupMaccPerms := make(map[string][]string) - for k, v := range maccPerms { - dupMaccPerms[k] = v + dup := make(map[string][]string) + for _, perms := range moduleAccPerms { + dup[perms.Account] = perms.Permissions } - return dupMaccPerms -} - -// initParamsKeeper init params keeper and its subspaces -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) - paramsKeeper.Subspace(banktypes.ModuleName) - paramsKeeper.Subspace(stakingtypes.ModuleName) - paramsKeeper.Subspace(minttypes.ModuleName) - paramsKeeper.Subspace(distrtypes.ModuleName) - paramsKeeper.Subspace(slashingtypes.ModuleName) - 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) - // this line is used by starport scaffolding # stargate/app/paramSubspace - - return paramsKeeper + return dup } -// SimulationManager implements the SimulationApp interface -func (app *App) SimulationManager() *module.SimulationManager { - return app.sm +// BlockedAddresses returns all the app's blocked account addresses. +func BlockedAddresses() map[string]bool { + result := make(map[string]bool) + if len(blockAccAddrs) > 0 { + for _, addr := range blockAccAddrs { + result[addr] = true + } + } else { + for addr := range GetMaccPerms() { + result[addr] = true + } + } + return result } diff --git a/app/app_config.go b/app/app_config.go new file mode 100644 index 00000000..732d1738 --- /dev/null +++ b/app/app_config.go @@ -0,0 +1,303 @@ +package app + +import ( + "time" + + runtimev1alpha1 "cosmossdk.io/api/cosmos/app/runtime/v1alpha1" + appv1alpha1 "cosmossdk.io/api/cosmos/app/v1alpha1" + authmodulev1 "cosmossdk.io/api/cosmos/auth/module/v1" + authzmodulev1 "cosmossdk.io/api/cosmos/authz/module/v1" + bankmodulev1 "cosmossdk.io/api/cosmos/bank/module/v1" + circuitmodulev1 "cosmossdk.io/api/cosmos/circuit/module/v1" + consensusmodulev1 "cosmossdk.io/api/cosmos/consensus/module/v1" + crisismodulev1 "cosmossdk.io/api/cosmos/crisis/module/v1" + distrmodulev1 "cosmossdk.io/api/cosmos/distribution/module/v1" + evidencemodulev1 "cosmossdk.io/api/cosmos/evidence/module/v1" + feegrantmodulev1 "cosmossdk.io/api/cosmos/feegrant/module/v1" + genutilmodulev1 "cosmossdk.io/api/cosmos/genutil/module/v1" + govmodulev1 "cosmossdk.io/api/cosmos/gov/module/v1" + groupmodulev1 "cosmossdk.io/api/cosmos/group/module/v1" + mintmodulev1 "cosmossdk.io/api/cosmos/mint/module/v1" + nftmodulev1 "cosmossdk.io/api/cosmos/nft/module/v1" + paramsmodulev1 "cosmossdk.io/api/cosmos/params/module/v1" + slashingmodulev1 "cosmossdk.io/api/cosmos/slashing/module/v1" + stakingmodulev1 "cosmossdk.io/api/cosmos/staking/module/v1" + txconfigv1 "cosmossdk.io/api/cosmos/tx/config/v1" + upgrademodulev1 "cosmossdk.io/api/cosmos/upgrade/module/v1" + vestingmodulev1 "cosmossdk.io/api/cosmos/vesting/module/v1" + "cosmossdk.io/core/appconfig" + circuittypes "cosmossdk.io/x/circuit/types" + evidencetypes "cosmossdk.io/x/evidence/types" + "cosmossdk.io/x/feegrant" + "cosmossdk.io/x/nft" + upgradetypes "cosmossdk.io/x/upgrade/types" + "github.com/cosmos/cosmos-sdk/runtime" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" + "github.com/cosmos/cosmos-sdk/x/authz" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + consensustypes "github.com/cosmos/cosmos-sdk/x/consensus/types" + crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/cosmos/cosmos-sdk/x/group" + minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types" + icatypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/types" + ibcfeetypes "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types" + ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" + ibcexported "github.com/cosmos/ibc-go/v8/modules/core/exported" + "google.golang.org/protobuf/types/known/durationpb" + + cardchainmodulev1 "github.com/DecentralCardGame/cardchain/api/cardchain/cardchain/module" + _ "github.com/DecentralCardGame/cardchain/x/cardchain/module" // import for side-effects + cardchainmoduletypes "github.com/DecentralCardGame/cardchain/x/cardchain/types" + // this line is used by starport scaffolding # stargate/app/moduleImport +) + +var ( + // NOTE: The genutils module must occur after staking so that pools are + // properly initialized with tokens from genesis accounts. + // NOTE: The genutils module must also occur after auth so that it can access the params from auth. + // NOTE: Capability module must occur first so that it can initialize any capabilities + // so that other modules that want to create or claim capabilities afterwards in InitChain + // can do so safely. + genesisModuleOrder = []string{ + // cosmos-sdk/ibc modules + capabilitytypes.ModuleName, + authtypes.ModuleName, + banktypes.ModuleName, + distrtypes.ModuleName, + stakingtypes.ModuleName, + slashingtypes.ModuleName, + govtypes.ModuleName, + minttypes.ModuleName, + crisistypes.ModuleName, + ibcexported.ModuleName, + genutiltypes.ModuleName, + evidencetypes.ModuleName, + authz.ModuleName, + ibctransfertypes.ModuleName, + icatypes.ModuleName, + ibcfeetypes.ModuleName, + feegrant.ModuleName, + paramstypes.ModuleName, + upgradetypes.ModuleName, + vestingtypes.ModuleName, + nft.ModuleName, + group.ModuleName, + consensustypes.ModuleName, + circuittypes.ModuleName, + // chain modules + cardchainmoduletypes.ModuleName, + // this line is used by starport scaffolding # stargate/app/initGenesis + } + + // During begin block slashing happens after distr.BeginBlocker so that + // there is nothing left over in the validator fee pool, so as to keep the + // CanWithdrawInvariant invariant. + // NOTE: staking module is required if HistoricalEntries param > 0 + // NOTE: capability module's beginblocker must come before any modules using capabilities (e.g. IBC) + beginBlockers = []string{ + // cosmos sdk modules + minttypes.ModuleName, + distrtypes.ModuleName, + slashingtypes.ModuleName, + evidencetypes.ModuleName, + stakingtypes.ModuleName, + authz.ModuleName, + genutiltypes.ModuleName, + // ibc modules + capabilitytypes.ModuleName, + ibcexported.ModuleName, + ibctransfertypes.ModuleName, + icatypes.ModuleName, + ibcfeetypes.ModuleName, + // chain modules + cardchainmoduletypes.ModuleName, + // this line is used by starport scaffolding # stargate/app/beginBlockers + } + + endBlockers = []string{ + // cosmos sdk modules + crisistypes.ModuleName, + govtypes.ModuleName, + stakingtypes.ModuleName, + feegrant.ModuleName, + group.ModuleName, + genutiltypes.ModuleName, + // ibc modules + ibcexported.ModuleName, + ibctransfertypes.ModuleName, + capabilitytypes.ModuleName, + icatypes.ModuleName, + ibcfeetypes.ModuleName, + // chain modules + cardchainmoduletypes.ModuleName, + // this line is used by starport scaffolding # stargate/app/endBlockers + } + + preBlockers = []string{ + upgradetypes.ModuleName, + // this line is used by starport scaffolding # stargate/app/preBlockers + } + + // module account permissions + moduleAccPerms = []*authmodulev1.ModuleAccountPermission{ + {Account: authtypes.FeeCollectorName}, + {Account: distrtypes.ModuleName}, + {Account: minttypes.ModuleName, Permissions: []string{authtypes.Minter}}, + {Account: stakingtypes.BondedPoolName, Permissions: []string{authtypes.Burner, stakingtypes.ModuleName}}, + {Account: stakingtypes.NotBondedPoolName, Permissions: []string{authtypes.Burner, stakingtypes.ModuleName}}, + {Account: govtypes.ModuleName, Permissions: []string{authtypes.Burner}}, + {Account: nft.ModuleName}, + {Account: ibctransfertypes.ModuleName, Permissions: []string{authtypes.Minter, authtypes.Burner}}, + {Account: ibcfeetypes.ModuleName}, + {Account: icatypes.ModuleName}, + // this line is used by starport scaffolding # stargate/app/maccPerms + } + + // blocked account addresses + blockAccAddrs = []string{ + authtypes.FeeCollectorName, + distrtypes.ModuleName, + minttypes.ModuleName, + stakingtypes.BondedPoolName, + stakingtypes.NotBondedPoolName, + nft.ModuleName, + // We allow the following module accounts to receive funds: + // govtypes.ModuleName + } + + // appConfig application configuration (used by depinject) + appConfig = appconfig.Compose(&appv1alpha1.Config{ + Modules: []*appv1alpha1.ModuleConfig{ + { + Name: runtime.ModuleName, + Config: appconfig.WrapAny(&runtimev1alpha1.Module{ + AppName: Name, + PreBlockers: preBlockers, + BeginBlockers: beginBlockers, + EndBlockers: endBlockers, + InitGenesis: genesisModuleOrder, + OverrideStoreKeys: []*runtimev1alpha1.StoreKeyConfig{ + { + ModuleName: authtypes.ModuleName, + KvStoreKey: "acc", + }, + }, + // When ExportGenesis is not specified, the export genesis module order + // is equal to the init genesis order + // ExportGenesis: genesisModuleOrder, + // Uncomment if you want to set a custom migration order here. + // OrderMigrations: nil, + }), + }, + { + Name: authtypes.ModuleName, + Config: appconfig.WrapAny(&authmodulev1.Module{ + Bech32Prefix: AccountAddressPrefix, + ModuleAccountPermissions: moduleAccPerms, + // By default modules authority is the governance module. This is configurable with the following: + // Authority: "group", // A custom module authority can be set using a module name + // Authority: "cosmos1cwwv22j5ca08ggdv9c2uky355k908694z577tv", // or a specific address + }), + }, + { + Name: nft.ModuleName, + Config: appconfig.WrapAny(&nftmodulev1.Module{}), + }, + { + Name: vestingtypes.ModuleName, + Config: appconfig.WrapAny(&vestingmodulev1.Module{}), + }, + { + Name: banktypes.ModuleName, + Config: appconfig.WrapAny(&bankmodulev1.Module{ + BlockedModuleAccountsOverride: blockAccAddrs, + }), + }, + { + Name: stakingtypes.ModuleName, + Config: appconfig.WrapAny(&stakingmodulev1.Module{ + // NOTE: specifying a prefix is only necessary when using bech32 addresses + // If not specfied, the auth Bech32Prefix appended with "valoper" and "valcons" is used by default + Bech32PrefixValidator: AccountAddressPrefix + "valoper", + Bech32PrefixConsensus: AccountAddressPrefix + "valcons", + }), + }, + { + Name: slashingtypes.ModuleName, + Config: appconfig.WrapAny(&slashingmodulev1.Module{}), + }, + { + Name: paramstypes.ModuleName, + Config: appconfig.WrapAny(¶msmodulev1.Module{}), + }, + { + Name: "tx", + Config: appconfig.WrapAny(&txconfigv1.Config{}), + }, + { + Name: genutiltypes.ModuleName, + Config: appconfig.WrapAny(&genutilmodulev1.Module{}), + }, + { + Name: authz.ModuleName, + Config: appconfig.WrapAny(&authzmodulev1.Module{}), + }, + { + Name: upgradetypes.ModuleName, + Config: appconfig.WrapAny(&upgrademodulev1.Module{}), + }, + { + Name: distrtypes.ModuleName, + Config: appconfig.WrapAny(&distrmodulev1.Module{}), + }, + { + Name: evidencetypes.ModuleName, + Config: appconfig.WrapAny(&evidencemodulev1.Module{}), + }, + { + Name: minttypes.ModuleName, + Config: appconfig.WrapAny(&mintmodulev1.Module{}), + }, + { + Name: group.ModuleName, + Config: appconfig.WrapAny(&groupmodulev1.Module{ + MaxExecutionPeriod: durationpb.New(time.Second * 1209600), + MaxMetadataLen: 255, + }), + }, + { + Name: feegrant.ModuleName, + Config: appconfig.WrapAny(&feegrantmodulev1.Module{}), + }, + { + Name: govtypes.ModuleName, + Config: appconfig.WrapAny(&govmodulev1.Module{}), + }, + { + Name: crisistypes.ModuleName, + Config: appconfig.WrapAny(&crisismodulev1.Module{}), + }, + { + Name: consensustypes.ModuleName, + Config: appconfig.WrapAny(&consensusmodulev1.Module{}), + }, + { + Name: circuittypes.ModuleName, + Config: appconfig.WrapAny(&circuitmodulev1.Module{}), + }, + { + Name: cardchainmoduletypes.ModuleName, + Config: appconfig.WrapAny(&cardchainmodulev1.Module{}), + }, + // this line is used by starport scaffolding # stargate/app/moduleConfig + }, + }) +) diff --git a/app/config.go b/app/config.go new file mode 100644 index 00000000..f8860c87 --- /dev/null +++ b/app/config.go @@ -0,0 +1,19 @@ +package app + +import sdk "github.com/cosmos/cosmos-sdk/types" + +func init() { + // Set prefixes + accountPubKeyPrefix := AccountAddressPrefix + "pub" + validatorAddressPrefix := AccountAddressPrefix + "valoper" + validatorPubKeyPrefix := AccountAddressPrefix + "valoperpub" + consNodeAddressPrefix := AccountAddressPrefix + "valcons" + consNodePubKeyPrefix := AccountAddressPrefix + "valconspub" + + // Set and seal config + config := sdk.GetConfig() + config.SetBech32PrefixForAccount(AccountAddressPrefix, accountPubKeyPrefix) + config.SetBech32PrefixForValidator(validatorAddressPrefix, validatorPubKeyPrefix) + config.SetBech32PrefixForConsensusNode(consNodeAddressPrefix, consNodePubKeyPrefix) + config.Seal() +} diff --git a/app/encoding.go b/app/encoding.go deleted file mode 100644 index b40981e3..00000000 --- a/app/encoding.go +++ /dev/null @@ -1,35 +0,0 @@ -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/export.go b/app/export.go index 4f09d80a..f6f22f97 100644 --- a/app/export.go +++ b/app/export.go @@ -2,53 +2,55 @@ package app import ( "encoding/json" + "fmt" "log" + storetypes "cosmossdk.io/store/types" + cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" servertypes "github.com/cosmos/cosmos-sdk/server/types" sdk "github.com/cosmos/cosmos-sdk/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" "github.com/cosmos/cosmos-sdk/x/staking" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" ) // ExportAppStateAndValidators exports the state of the application for a genesis // file. -func (app *App) ExportAppStateAndValidators( - forZeroHeight bool, jailAllowedAddrs []string, -) (servertypes.ExportedApp, error) { +func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs, modulesToExport []string) (servertypes.ExportedApp, error) { // as if they could withdraw from the start of the next block - ctx := app.NewContext(true, tmproto.Header{Height: app.LastBlockHeight()}) + ctx := app.NewContextLegacy(true, cmtproto.Header{Height: app.LastBlockHeight()}) // We export at last height + 1, because that's the height at which - // Tendermint will start InitChain. + // CometBFT will start InitChain. height := app.LastBlockHeight() + 1 if forZeroHeight { height = 0 app.prepForZeroHeightGenesis(ctx, jailAllowedAddrs) } - genState := app.mm.ExportGenesis(ctx, app.appCodec) - appState, err := json.MarshalIndent(genState, "", " ") + genState, err := app.ModuleManager.ExportGenesisForModules(ctx, app.appCodec, modulesToExport) if err != nil { return servertypes.ExportedApp{}, err } - validators, err := staking.WriteValidators(ctx, app.StakingKeeper) + appState, err := json.MarshalIndent(genState, "", " ") if err != nil { return servertypes.ExportedApp{}, err } + + validators, err := staking.WriteValidators(ctx, app.StakingKeeper) return servertypes.ExportedApp{ AppState: appState, Validators: validators, Height: height, ConsensusParams: app.BaseApp.GetConsensusParams(ctx), - }, nil + }, err } // prepare for fresh start at zero height // NOTE zero height genesis is a temporary feature which will be deprecated -// in favour of export at a block height +// +// in favor of export at a block height func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []string) { applyAllowedAddrs := false @@ -73,21 +75,33 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str /* Handle fee distribution state. */ // withdraw all validator commission - app.StakingKeeper.IterateValidators(ctx, func(_ int64, val stakingtypes.ValidatorI) (stop bool) { - _, err := app.DistrKeeper.WithdrawValidatorCommission(ctx, val.GetOperator()) + err := app.StakingKeeper.IterateValidators(ctx, func(_ int64, val stakingtypes.ValidatorI) (stop bool) { + valBz, err := app.StakingKeeper.ValidatorAddressCodec().StringToBytes(val.GetOperator()) if err != nil { panic(err) } + _, _ = app.DistrKeeper.WithdrawValidatorCommission(ctx, valBz) return false }) + if err != nil { + panic(err) + } // withdraw all delegator rewards - dels := app.StakingKeeper.GetAllDelegations(ctx) + dels, err := app.StakingKeeper.GetAllDelegations(ctx) + if err != nil { + panic(err) + } + for _, delegation := range dels { - _, err := app.DistrKeeper.WithdrawDelegationRewards(ctx, delegation.GetDelegatorAddr(), delegation.GetValidatorAddr()) + valAddr, err := sdk.ValAddressFromBech32(delegation.ValidatorAddress) if err != nil { panic(err) } + + delAddr := sdk.MustAccAddressFromBech32(delegation.DelegatorAddress) + + _, _ = app.DistrKeeper.WithdrawDelegationRewards(ctx, delAddr, valAddr) } // clear validator slash events @@ -101,15 +115,26 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str ctx = ctx.WithBlockHeight(0) // reinitialize all validators - app.StakingKeeper.IterateValidators(ctx, func(_ int64, val stakingtypes.ValidatorI) (stop bool) { + err = app.StakingKeeper.IterateValidators(ctx, func(_ int64, val stakingtypes.ValidatorI) (stop bool) { + valBz, err := app.StakingKeeper.ValidatorAddressCodec().StringToBytes(val.GetOperator()) + if err != nil { + panic(err) + } // donate any unwithdrawn outstanding reward fraction tokens to the community pool - scraps := app.DistrKeeper.GetValidatorOutstandingRewardsCoins(ctx, val.GetOperator()) - feePool := app.DistrKeeper.GetFeePool(ctx) + scraps, err := app.DistrKeeper.GetValidatorOutstandingRewardsCoins(ctx, valBz) + if err != nil { + panic(err) + } + feePool, err := app.DistrKeeper.FeePool.Get(ctx) + if err != nil { + panic(err) + } feePool.CommunityPool = feePool.CommunityPool.Add(scraps...) - app.DistrKeeper.SetFeePool(ctx, feePool) + if err := app.DistrKeeper.FeePool.Set(ctx, feePool); err != nil { + panic(err) + } - err := app.DistrKeeper.Hooks().AfterValidatorCreated(ctx, val.GetOperator()) - if err != nil { + if err := app.DistrKeeper.Hooks().AfterValidatorCreated(ctx, valBz); err != nil { panic(err) } return false @@ -117,13 +142,20 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str // reinitialize all delegations for _, del := range dels { - err := app.DistrKeeper.Hooks().BeforeDelegationCreated(ctx, del.GetDelegatorAddr(), del.GetValidatorAddr()) + valAddr, err := sdk.ValAddressFromBech32(del.ValidatorAddress) if err != nil { panic(err) } - err = app.DistrKeeper.Hooks().AfterDelegationModified(ctx, del.GetDelegatorAddr(), del.GetValidatorAddr()) - if err != nil { - panic(err) + delAddr := sdk.MustAccAddressFromBech32(del.DelegatorAddress) + + if err := app.DistrKeeper.Hooks().BeforeDelegationCreated(ctx, delAddr, valAddr); err != nil { + // never called as BeforeDelegationCreated always returns nil + panic(fmt.Errorf("error while incrementing period: %w", err)) + } + + if err := app.DistrKeeper.Hooks().AfterDelegationModified(ctx, delAddr, valAddr); err != nil { + // never called as AfterDelegationModified always returns nil + panic(fmt.Errorf("error while creating a new delegation period record: %w", err)) } } @@ -133,33 +165,45 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str /* Handle staking state. */ // iterate through redelegations, reset creation height - app.StakingKeeper.IterateRedelegations(ctx, func(_ int64, red stakingtypes.Redelegation) (stop bool) { + err = app.StakingKeeper.IterateRedelegations(ctx, func(_ int64, red stakingtypes.Redelegation) (stop bool) { for i := range red.Entries { red.Entries[i].CreationHeight = 0 } - app.StakingKeeper.SetRedelegation(ctx, red) + err = app.StakingKeeper.SetRedelegation(ctx, red) + if err != nil { + panic(err) + } return false }) + if err != nil { + panic(err) + } // iterate through unbonding delegations, reset creation height - app.StakingKeeper.IterateUnbondingDelegations(ctx, func(_ int64, ubd stakingtypes.UnbondingDelegation) (stop bool) { + err = app.StakingKeeper.IterateUnbondingDelegations(ctx, func(_ int64, ubd stakingtypes.UnbondingDelegation) (stop bool) { for i := range ubd.Entries { ubd.Entries[i].CreationHeight = 0 } - app.StakingKeeper.SetUnbondingDelegation(ctx, ubd) + err = app.StakingKeeper.SetUnbondingDelegation(ctx, ubd) + if err != nil { + panic(err) + } return false }) + if err != nil { + panic(err) + } // Iterate through validators by power descending, reset bond heights, and // update bond intra-tx counters. - store := ctx.KVStore(app.keys[stakingtypes.StoreKey]) - iter := sdk.KVStoreReversePrefixIterator(store, stakingtypes.ValidatorsKey) + store := ctx.KVStore(app.GetKey(stakingtypes.StoreKey)) + iter := storetypes.KVStoreReversePrefixIterator(store, stakingtypes.ValidatorsKey) counter := int16(0) for ; iter.Valid(); iter.Next() { - addr := sdk.ValAddress(iter.Key()[1:]) - validator, found := app.StakingKeeper.GetValidator(ctx, addr) - if !found { + addr := sdk.ValAddress(stakingtypes.AddressFromValidatorsKey(iter.Key())) + validator, err := app.StakingKeeper.GetValidator(ctx, addr) + if err != nil { panic("expected validator, not found") } @@ -168,25 +212,34 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str validator.Jailed = true } - app.StakingKeeper.SetValidator(ctx, validator) + if err := app.StakingKeeper.SetValidator(ctx, validator); err != nil { + panic(err) + } counter++ } - iter.Close() + if err := iter.Close(); err != nil { + app.Logger().Error("error while closing the key-value store reverse prefix iterator: ", err) + return + } - if _, err := app.StakingKeeper.ApplyAndReturnValidatorSetUpdates(ctx); err != nil { - panic(err) + _, err = app.StakingKeeper.ApplyAndReturnValidatorSetUpdates(ctx) + if err != nil { + log.Fatal(err) } /* Handle slashing state. */ // reset start height on signing infos - app.SlashingKeeper.IterateValidatorSigningInfos( + if err := app.SlashingKeeper.IterateValidatorSigningInfos( ctx, func(addr sdk.ConsAddress, info slashingtypes.ValidatorSigningInfo) (stop bool) { info.StartHeight = 0 - app.SlashingKeeper.SetValidatorSigningInfo(ctx, addr, info) + _ = app.SlashingKeeper.SetValidatorSigningInfo(ctx, addr, info) return false }, - ) + ); err != nil { + log.Fatal(err) + } + } diff --git a/app/genesis.go b/app/genesis.go index 5bf0c1da..e4e849fc 100644 --- a/app/genesis.go +++ b/app/genesis.go @@ -2,11 +2,9 @@ package app import ( "encoding/json" - - "github.com/cosmos/cosmos-sdk/codec" ) -// The genesis state of the blockchain is represented here as a map of raw json +// GenesisState of the blockchain is represented here as a map of raw json // messages key'd by a identifier string. // The identifier is used to determine which module genesis information belongs // to so it may be appropriately routed during init chain. @@ -14,8 +12,3 @@ import ( // the ModuleBasicManager which populates json from each BasicModule // object provided to it during init. type GenesisState map[string]json.RawMessage - -// NewDefaultGenesisState generates the default state for the application. -func NewDefaultGenesisState(cdc codec.JSONCodec) GenesisState { - return ModuleBasics.DefaultGenesis(cdc) -} diff --git a/app/genesis_account.go b/app/genesis_account.go new file mode 100644 index 00000000..91ff4dfc --- /dev/null +++ b/app/genesis_account.go @@ -0,0 +1,47 @@ +package app + +import ( + "errors" + + sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" +) + +var _ authtypes.GenesisAccount = (*GenesisAccount)(nil) + +// GenesisAccount defines a type that implements the GenesisAccount interface +// to be used for simulation accounts in the genesis state. +type GenesisAccount struct { + *authtypes.BaseAccount + + // vesting account fields + OriginalVesting sdk.Coins `json:"original_vesting" yaml:"original_vesting"` // total vesting coins upon initialization + DelegatedFree sdk.Coins `json:"delegated_free" yaml:"delegated_free"` // delegated vested coins at time of delegation + DelegatedVesting sdk.Coins `json:"delegated_vesting" yaml:"delegated_vesting"` // delegated vesting coins at time of delegation + StartTime int64 `json:"start_time" yaml:"start_time"` // vesting start time (UNIX Epoch time) + EndTime int64 `json:"end_time" yaml:"end_time"` // vesting end time (UNIX Epoch time) + + // module account fields + ModuleName string `json:"module_name" yaml:"module_name"` // name of the module account + ModulePermissions []string `json:"module_permissions" yaml:"module_permissions"` // permissions of module account +} + +// Validate checks for errors on the vesting and module account parameters +func (sga GenesisAccount) Validate() error { + if !sga.OriginalVesting.IsZero() { + if sga.StartTime >= sga.EndTime { + return errors.New("vesting start-time cannot be before end-time") + } + } + + if sga.ModuleName != "" { + ma := authtypes.ModuleAccount{ + BaseAccount: sga.BaseAccount, Name: sga.ModuleName, Permissions: sga.ModulePermissions, + } + if err := ma.Validate(); err != nil { + return err + } + } + + return sga.BaseAccount.Validate() +} diff --git a/app/ibc.go b/app/ibc.go new file mode 100644 index 00000000..5766c2d2 --- /dev/null +++ b/app/ibc.go @@ -0,0 +1,207 @@ +package app + +import ( + "cosmossdk.io/core/appmodule" + storetypes "cosmossdk.io/store/types" + cdctypes "github.com/cosmos/cosmos-sdk/codec/types" + servertypes "github.com/cosmos/cosmos-sdk/server/types" + "github.com/cosmos/cosmos-sdk/types/module" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + govv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/cosmos/ibc-go/modules/capability" + capabilitykeeper "github.com/cosmos/ibc-go/modules/capability/keeper" + capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types" + icamodule "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts" + icacontroller "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/controller" + icacontrollerkeeper "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/controller/keeper" + icacontrollertypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/controller/types" + icahost "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host" + icahostkeeper "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/keeper" + icahosttypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/types" + ibcfee "github.com/cosmos/ibc-go/v8/modules/apps/29-fee" + ibcfeekeeper "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/keeper" + ibcfeetypes "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types" + ibctransfer "github.com/cosmos/ibc-go/v8/modules/apps/transfer" + ibctransferkeeper "github.com/cosmos/ibc-go/v8/modules/apps/transfer/keeper" + ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" + ibc "github.com/cosmos/ibc-go/v8/modules/core" + ibcclienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" + ibcconnectiontypes "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" + porttypes "github.com/cosmos/ibc-go/v8/modules/core/05-port/types" + ibcexported "github.com/cosmos/ibc-go/v8/modules/core/exported" + ibckeeper "github.com/cosmos/ibc-go/v8/modules/core/keeper" + solomachine "github.com/cosmos/ibc-go/v8/modules/light-clients/06-solomachine" + ibctm "github.com/cosmos/ibc-go/v8/modules/light-clients/07-tendermint" + // this line is used by starport scaffolding # ibc/app/import +) + +// registerIBCModules register IBC keepers and non dependency inject modules. +func (app *App) registerIBCModules(appOpts servertypes.AppOptions) error { + // set up non depinject support modules store keys + if err := app.RegisterStores( + storetypes.NewKVStoreKey(capabilitytypes.StoreKey), + storetypes.NewKVStoreKey(ibcexported.StoreKey), + storetypes.NewKVStoreKey(ibctransfertypes.StoreKey), + storetypes.NewKVStoreKey(ibcfeetypes.StoreKey), + storetypes.NewKVStoreKey(icahosttypes.StoreKey), + storetypes.NewKVStoreKey(icacontrollertypes.StoreKey), + storetypes.NewMemoryStoreKey(capabilitytypes.MemStoreKey), + storetypes.NewTransientStoreKey(paramstypes.TStoreKey), + ); err != nil { + return err + } + + // register the key tables for legacy param subspaces + keyTable := ibcclienttypes.ParamKeyTable() + keyTable.RegisterParamSet(&ibcconnectiontypes.Params{}) + app.ParamsKeeper.Subspace(ibcexported.ModuleName).WithKeyTable(keyTable) + app.ParamsKeeper.Subspace(ibctransfertypes.ModuleName).WithKeyTable(ibctransfertypes.ParamKeyTable()) + app.ParamsKeeper.Subspace(icacontrollertypes.SubModuleName).WithKeyTable(icacontrollertypes.ParamKeyTable()) + app.ParamsKeeper.Subspace(icahosttypes.SubModuleName).WithKeyTable(icahosttypes.ParamKeyTable()) + + // add capability keeper and ScopeToModule for ibc module + app.CapabilityKeeper = capabilitykeeper.NewKeeper( + app.AppCodec(), + app.GetKey(capabilitytypes.StoreKey), + app.GetMemKey(capabilitytypes.MemStoreKey), + ) + + // add capability keeper and ScopeToModule for ibc module + scopedIBCKeeper := app.CapabilityKeeper.ScopeToModule(ibcexported.ModuleName) + scopedIBCTransferKeeper := app.CapabilityKeeper.ScopeToModule(ibctransfertypes.ModuleName) + scopedICAControllerKeeper := app.CapabilityKeeper.ScopeToModule(icacontrollertypes.SubModuleName) + scopedICAHostKeeper := app.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName) + + // Create IBC keeper + app.IBCKeeper = ibckeeper.NewKeeper( + app.appCodec, + app.GetKey(ibcexported.StoreKey), + app.GetSubspace(ibcexported.ModuleName), + app.StakingKeeper, + app.UpgradeKeeper, + scopedIBCKeeper, + authtypes.NewModuleAddress(govtypes.ModuleName).String(), + ) + + // Register the proposal types + // Deprecated: Avoid adding new handlers, instead use the new proposal flow + // by granting the governance module the right to execute the message. + // See: https://docs.cosmos.network/main/modules/gov#proposal-messages + govRouter := govv1beta1.NewRouter() + govRouter.AddRoute(govtypes.RouterKey, govv1beta1.ProposalHandler) + + app.IBCFeeKeeper = ibcfeekeeper.NewKeeper( + app.appCodec, app.GetKey(ibcfeetypes.StoreKey), + app.IBCKeeper.ChannelKeeper, // may be replaced with IBC middleware + app.IBCKeeper.ChannelKeeper, + app.IBCKeeper.PortKeeper, app.AccountKeeper, app.BankKeeper, + ) + + // Create IBC transfer keeper + app.TransferKeeper = ibctransferkeeper.NewKeeper( + app.appCodec, + app.GetKey(ibctransfertypes.StoreKey), + app.GetSubspace(ibctransfertypes.ModuleName), + app.IBCFeeKeeper, + app.IBCKeeper.ChannelKeeper, + app.IBCKeeper.PortKeeper, + app.AccountKeeper, + app.BankKeeper, + scopedIBCTransferKeeper, + authtypes.NewModuleAddress(govtypes.ModuleName).String(), + ) + + // Create interchain account keepers + app.ICAHostKeeper = icahostkeeper.NewKeeper( + app.appCodec, + app.GetKey(icahosttypes.StoreKey), + app.GetSubspace(icahosttypes.SubModuleName), + app.IBCFeeKeeper, // use ics29 fee as ics4Wrapper in middleware stack + app.IBCKeeper.ChannelKeeper, + app.IBCKeeper.PortKeeper, + app.AccountKeeper, + scopedICAHostKeeper, + app.MsgServiceRouter(), + authtypes.NewModuleAddress(govtypes.ModuleName).String(), + ) + app.ICAHostKeeper.WithQueryRouter(app.GRPCQueryRouter()) + + app.ICAControllerKeeper = icacontrollerkeeper.NewKeeper( + app.appCodec, + app.GetKey(icacontrollertypes.StoreKey), + app.GetSubspace(icacontrollertypes.SubModuleName), + app.IBCFeeKeeper, // use ics29 fee as ics4Wrapper in middleware stack + app.IBCKeeper.ChannelKeeper, + app.IBCKeeper.PortKeeper, + scopedICAControllerKeeper, + app.MsgServiceRouter(), + authtypes.NewModuleAddress(govtypes.ModuleName).String(), + ) + app.GovKeeper.SetLegacyRouter(govRouter) + + // Create IBC modules with ibcfee middleware + transferIBCModule := ibcfee.NewIBCMiddleware(ibctransfer.NewIBCModule(app.TransferKeeper), app.IBCFeeKeeper) + + // integration point for custom authentication modules + var noAuthzModule porttypes.IBCModule + icaControllerIBCModule := ibcfee.NewIBCMiddleware( + icacontroller.NewIBCMiddleware(noAuthzModule, app.ICAControllerKeeper), + app.IBCFeeKeeper, + ) + + icaHostIBCModule := ibcfee.NewIBCMiddleware(icahost.NewIBCModule(app.ICAHostKeeper), app.IBCFeeKeeper) + + // Create static IBC router, add transfer route, then set and seal it + ibcRouter := porttypes.NewRouter(). + AddRoute(ibctransfertypes.ModuleName, transferIBCModule). + AddRoute(icacontrollertypes.SubModuleName, icaControllerIBCModule). + AddRoute(icahosttypes.SubModuleName, icaHostIBCModule) + + // this line is used by starport scaffolding # ibc/app/module + + app.IBCKeeper.SetRouter(ibcRouter) + + app.ScopedIBCKeeper = scopedIBCKeeper + app.ScopedIBCTransferKeeper = scopedIBCTransferKeeper + app.ScopedICAHostKeeper = scopedICAHostKeeper + app.ScopedICAControllerKeeper = scopedICAControllerKeeper + + // register IBC modules + if err := app.RegisterModules( + ibc.NewAppModule(app.IBCKeeper), + ibctransfer.NewAppModule(app.TransferKeeper), + ibcfee.NewAppModule(app.IBCFeeKeeper), + icamodule.NewAppModule(&app.ICAControllerKeeper, &app.ICAHostKeeper), + capability.NewAppModule(app.appCodec, *app.CapabilityKeeper, false), + ibctm.NewAppModule(), + solomachine.NewAppModule(), + ); err != nil { + return err + } + + return nil +} + +// RegisterIBC Since the IBC modules don't support dependency injection, +// we need to manually register the modules on the client side. +// This needs to be removed after IBC supports App Wiring. +func RegisterIBC(registry cdctypes.InterfaceRegistry) map[string]appmodule.AppModule { + modules := map[string]appmodule.AppModule{ + ibcexported.ModuleName: ibc.AppModule{}, + ibctransfertypes.ModuleName: ibctransfer.AppModule{}, + ibcfeetypes.ModuleName: ibcfee.AppModule{}, + icatypes.ModuleName: icamodule.AppModule{}, + capabilitytypes.ModuleName: capability.AppModule{}, + ibctm.ModuleName: ibctm.AppModule{}, + solomachine.ModuleName: solomachine.AppModule{}, + } + + for name, m := range modules { + module.CoreAppModuleBasicAdaptor(name, m).RegisterInterfaces(registry) + } + + return modules +} diff --git a/app/params/encoding.go b/app/params/encoding.go deleted file mode 100644 index 3d634abf..00000000 --- a/app/params/encoding.go +++ /dev/null @@ -1,16 +0,0 @@ -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/app/sim_bench_test.go b/app/sim_bench_test.go new file mode 100644 index 00000000..edc16038 --- /dev/null +++ b/app/sim_bench_test.go @@ -0,0 +1,150 @@ +package app_test + +import ( + "fmt" + "os" + "testing" + + cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/server" + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/cosmos/cosmos-sdk/x/simulation" + simcli "github.com/cosmos/cosmos-sdk/x/simulation/client/cli" + "github.com/stretchr/testify/require" + + "github.com/DecentralCardGame/cardchain/app" +) + +// Profile with: +// `go test -benchmem -run=^$ -bench ^BenchmarkFullAppSimulation ./app -Commit=true -cpuprofile cpu.out` +func BenchmarkFullAppSimulation(b *testing.B) { + b.ReportAllocs() + + config := simcli.NewConfigFromFlags() + config.ChainID = SimAppChainID + + db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "goleveldb-app-sim", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + if err != nil { + b.Fatalf("simulation setup failed: %s", err.Error()) + } + + if skip { + b.Skip("skipping benchmark application simulation") + } + + defer func() { + require.NoError(b, db.Close()) + require.NoError(b, os.RemoveAll(dir)) + }() + + appOptions := make(simtestutil.AppOptionsMap, 0) + appOptions[flags.FlagHome] = app.DefaultNodeHome + appOptions[server.FlagInvCheckPeriod] = simcli.FlagPeriodValue + + bApp, err := app.New(logger, db, nil, true, appOptions, interBlockCacheOpt()) + require.NoError(b, err) + require.Equal(b, app.Name, bApp.Name()) + + // run randomized simulation + _, simParams, simErr := simulation.SimulateFromSeed( + b, + os.Stdout, + bApp.BaseApp, + simtestutil.AppStateFn(bApp.AppCodec(), bApp.SimulationManager(), bApp.DefaultGenesis()), + simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1 + simtestutil.SimulationOperations(bApp, bApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + + // export state and simParams before the simulation error is checked + if err = simtestutil.CheckExportSimulation(bApp, config, simParams); err != nil { + b.Fatal(err) + } + + if simErr != nil { + b.Fatal(simErr) + } + + if config.Commit { + simtestutil.PrintStats(db) + } +} + +func BenchmarkInvariants(b *testing.B) { + b.ReportAllocs() + + config := simcli.NewConfigFromFlags() + config.ChainID = SimAppChainID + + db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "leveldb-app-invariant-bench", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + if err != nil { + b.Fatalf("simulation setup failed: %s", err.Error()) + } + + if skip { + b.Skip("skipping benchmark application simulation") + } + + config.AllInvariants = false + + defer func() { + require.NoError(b, db.Close()) + require.NoError(b, os.RemoveAll(dir)) + }() + + appOptions := make(simtestutil.AppOptionsMap, 0) + appOptions[flags.FlagHome] = app.DefaultNodeHome + appOptions[server.FlagInvCheckPeriod] = simcli.FlagPeriodValue + + bApp, err := app.New(logger, db, nil, true, appOptions, interBlockCacheOpt()) + require.NoError(b, err) + require.Equal(b, app.Name, bApp.Name()) + + // run randomized simulation + _, simParams, simErr := simulation.SimulateFromSeed( + b, + os.Stdout, + bApp.BaseApp, + simtestutil.AppStateFn(bApp.AppCodec(), bApp.SimulationManager(), bApp.DefaultGenesis()), + simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1 + simtestutil.SimulationOperations(bApp, bApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + + // export state and simParams before the simulation error is checked + if err = simtestutil.CheckExportSimulation(bApp, config, simParams); err != nil { + b.Fatal(err) + } + + if simErr != nil { + b.Fatal(simErr) + } + + if config.Commit { + simtestutil.PrintStats(db) + } + + ctx := bApp.NewContextLegacy(true, cmtproto.Header{Height: bApp.LastBlockHeight() + 1}) + + // 3. Benchmark each invariant separately + // + // NOTE: We use the crisis keeper as it has all the invariants registered with + // their respective metadata which makes it useful for testing/benchmarking. + for _, cr := range bApp.CrisisKeeper.Routes() { + cr := cr + b.Run(fmt.Sprintf("%s/%s", cr.ModuleName, cr.Route), func(b *testing.B) { + if res, stop := cr.Invar(ctx); stop { + b.Fatalf( + "broken invariant at block %d of %d\n%s", + ctx.BlockHeight()-1, config.NumBlocks, res, + ) + } + }) + } +} diff --git a/app/sim_test.go b/app/sim_test.go new file mode 100644 index 00000000..32da9f65 --- /dev/null +++ b/app/sim_test.go @@ -0,0 +1,430 @@ +package app_test + +import ( + "encoding/json" + "flag" + "fmt" + "math/rand" + "os" + "runtime/debug" + "strings" + "testing" + "time" + + "cosmossdk.io/log" + "cosmossdk.io/store" + storetypes "cosmossdk.io/store/types" + "cosmossdk.io/x/feegrant" + upgradetypes "cosmossdk.io/x/upgrade/types" + abci "github.com/cometbft/cometbft/abci/types" + cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" + dbm "github.com/cosmos/cosmos-db" + "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/server" + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" + simulationtypes "github.com/cosmos/cosmos-sdk/types/simulation" + authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" + "github.com/cosmos/cosmos-sdk/x/simulation" + simcli "github.com/cosmos/cosmos-sdk/x/simulation/client/cli" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/spf13/viper" + "github.com/stretchr/testify/require" + + "github.com/DecentralCardGame/cardchain/app" +) + +const ( + SimAppChainID = "cardchain-simapp" +) + +var FlagEnableStreamingValue bool + +// Get flags every time the simulator is run +func init() { + simcli.GetSimulatorFlags() + flag.BoolVar(&FlagEnableStreamingValue, "EnableStreaming", false, "Enable streaming service") +} + +// fauxMerkleModeOpt returns a BaseApp option to use a dbStoreAdapter instead of +// an IAVLStore for faster simulation speed. +func fauxMerkleModeOpt(bapp *baseapp.BaseApp) { + bapp.SetFauxMerkleMode() +} + +// interBlockCacheOpt returns a BaseApp option function that sets the persistent +// inter-block write-through cache. +func interBlockCacheOpt() func(*baseapp.BaseApp) { + return baseapp.SetInterBlockCache(store.NewCommitKVStoreCacheManager()) +} + +// BenchmarkSimulation run the chain simulation +// Running using starport command: +// `ignite chain simulate -v --numBlocks 200 --blockSize 50` +// Running as go benchmark test: +// `go test -benchmem -run=^$ -bench ^BenchmarkSimulation ./app -NumBlocks=200 -BlockSize 50 -Commit=true -Verbose=true -Enabled=true` +func BenchmarkSimulation(b *testing.B) { + simcli.FlagSeedValue = time.Now().Unix() + simcli.FlagVerboseValue = true + simcli.FlagCommitValue = true + simcli.FlagEnabledValue = true + + config := simcli.NewConfigFromFlags() + config.ChainID = SimAppChainID + + db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "leveldb-app-sim", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + if skip { + b.Skip("skipping application simulation") + } + require.NoError(b, err, "simulation setup failed") + + defer func() { + require.NoError(b, db.Close()) + require.NoError(b, os.RemoveAll(dir)) + }() + + appOptions := make(simtestutil.AppOptionsMap, 0) + appOptions[flags.FlagHome] = app.DefaultNodeHome + appOptions[server.FlagInvCheckPeriod] = simcli.FlagPeriodValue + + bApp, err := app.New(logger, db, nil, true, appOptions, fauxMerkleModeOpt, baseapp.SetChainID(SimAppChainID)) + require.NoError(b, err) + require.Equal(b, app.Name, bApp.Name()) + + // run randomized simulation + _, simParams, simErr := simulation.SimulateFromSeed( + b, + os.Stdout, + bApp.BaseApp, + simtestutil.AppStateFn(bApp.AppCodec(), bApp.SimulationManager(), bApp.DefaultGenesis()), + simulationtypes.RandomAccounts, + simtestutil.SimulationOperations(bApp, bApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + + // export state and simParams before the simulation error is checked + err = simtestutil.CheckExportSimulation(bApp, config, simParams) + require.NoError(b, err) + require.NoError(b, simErr) + + if config.Commit { + simtestutil.PrintStats(db) + } +} + +func TestAppImportExport(t *testing.T) { + config := simcli.NewConfigFromFlags() + config.ChainID = SimAppChainID + + db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "leveldb-app-sim", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + if skip { + t.Skip("skipping application import/export simulation") + } + require.NoError(t, err, "simulation setup failed") + + defer func() { + require.NoError(t, db.Close()) + require.NoError(t, os.RemoveAll(dir)) + }() + + appOptions := make(simtestutil.AppOptionsMap, 0) + appOptions[flags.FlagHome] = app.DefaultNodeHome + appOptions[server.FlagInvCheckPeriod] = simcli.FlagPeriodValue + + bApp, err := app.New(logger, db, nil, true, appOptions, fauxMerkleModeOpt, baseapp.SetChainID(SimAppChainID)) + require.NoError(t, err) + require.Equal(t, app.Name, bApp.Name()) + + // Run randomized simulation + _, simParams, simErr := simulation.SimulateFromSeed( + t, + os.Stdout, + bApp.BaseApp, + simtestutil.AppStateFn(bApp.AppCodec(), bApp.SimulationManager(), bApp.DefaultGenesis()), + simulationtypes.RandomAccounts, + simtestutil.SimulationOperations(bApp, bApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + + // export state and simParams before the simulation error is checked + err = simtestutil.CheckExportSimulation(bApp, config, simParams) + require.NoError(t, err) + require.NoError(t, simErr) + + if config.Commit { + simtestutil.PrintStats(db) + } + + fmt.Printf("exporting genesis...\n") + + exported, err := bApp.ExportAppStateAndValidators(false, []string{}, []string{}) + require.NoError(t, err) + + fmt.Printf("importing genesis...\n") + + newDB, newDir, _, _, err := simtestutil.SetupSimulation(config, "leveldb-app-sim-2", "Simulation-2", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + require.NoError(t, err, "simulation setup failed") + + defer func() { + require.NoError(t, newDB.Close()) + require.NoError(t, os.RemoveAll(newDir)) + }() + + newApp, err := app.New(log.NewNopLogger(), newDB, nil, true, appOptions, fauxMerkleModeOpt, baseapp.SetChainID(SimAppChainID)) + require.NoError(t, err) + require.Equal(t, app.Name, newApp.Name()) + + var genesisState app.GenesisState + err = json.Unmarshal(exported.AppState, &genesisState) + require.NoError(t, err) + + ctxA := bApp.NewContextLegacy(true, cmtproto.Header{Height: bApp.LastBlockHeight()}) + ctxB := newApp.NewContextLegacy(true, cmtproto.Header{Height: bApp.LastBlockHeight()}) + _, err = newApp.ModuleManager.InitGenesis(ctxB, bApp.AppCodec(), genesisState) + + if err != nil { + if strings.Contains(err.Error(), "validator set is empty after InitGenesis") { + logger.Info("Skipping simulation as all validators have been unbonded") + logger.Info("err", err, "stacktrace", string(debug.Stack())) + return + } + } + require.NoError(t, err) + err = newApp.StoreConsensusParams(ctxB, exported.ConsensusParams) + require.NoError(t, err) + fmt.Printf("comparing stores...\n") + + // skip certain prefixes + skipPrefixes := map[string][][]byte{ + upgradetypes.StoreKey: { + []byte{upgradetypes.VersionMapByte}, + }, + stakingtypes.StoreKey: { + stakingtypes.UnbondingQueueKey, stakingtypes.RedelegationQueueKey, stakingtypes.ValidatorQueueKey, + stakingtypes.HistoricalInfoKey, stakingtypes.UnbondingIDKey, stakingtypes.UnbondingIndexKey, + stakingtypes.UnbondingTypeKey, stakingtypes.ValidatorUpdatesKey, + }, + authzkeeper.StoreKey: {authzkeeper.GrantQueuePrefix}, + feegrant.StoreKey: {feegrant.FeeAllowanceQueueKeyPrefix}, + slashingtypes.StoreKey: {slashingtypes.ValidatorMissedBlockBitmapKeyPrefix}, + } + + storeKeys := bApp.GetStoreKeys() + require.NotEmpty(t, storeKeys) + + for _, appKeyA := range storeKeys { + // only compare kvstores + if _, ok := appKeyA.(*storetypes.KVStoreKey); !ok { + continue + } + + keyName := appKeyA.Name() + appKeyB := newApp.GetKey(keyName) + + storeA := ctxA.KVStore(appKeyA) + storeB := ctxB.KVStore(appKeyB) + + failedKVAs, failedKVBs := simtestutil.DiffKVStores(storeA, storeB, skipPrefixes[keyName]) + require.Equal(t, len(failedKVAs), len(failedKVBs), "unequal sets of key-values to compare %s", keyName) + + fmt.Printf("compared %d different key/value pairs between %s and %s\n", len(failedKVAs), appKeyA, appKeyB) + + require.Equal(t, 0, len(failedKVAs), simtestutil.GetSimulationLog(keyName, bApp.SimulationManager().StoreDecoders, failedKVAs, failedKVBs)) + } +} + +func TestAppSimulationAfterImport(t *testing.T) { + config := simcli.NewConfigFromFlags() + config.ChainID = SimAppChainID + + db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "leveldb-app-sim", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + if skip { + t.Skip("skipping application simulation after import") + } + require.NoError(t, err, "simulation setup failed") + + defer func() { + require.NoError(t, db.Close()) + require.NoError(t, os.RemoveAll(dir)) + }() + + appOptions := make(simtestutil.AppOptionsMap, 0) + appOptions[flags.FlagHome] = app.DefaultNodeHome + appOptions[server.FlagInvCheckPeriod] = simcli.FlagPeriodValue + + bApp, err := app.New(logger, db, nil, true, appOptions, fauxMerkleModeOpt, baseapp.SetChainID(SimAppChainID)) + require.NoError(t, err) + require.Equal(t, app.Name, bApp.Name()) + + // Run randomized simulation + stopEarly, simParams, simErr := simulation.SimulateFromSeed( + t, + os.Stdout, + bApp.BaseApp, + simtestutil.AppStateFn(bApp.AppCodec(), bApp.SimulationManager(), bApp.DefaultGenesis()), + simulationtypes.RandomAccounts, + simtestutil.SimulationOperations(bApp, bApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + + // export state and simParams before the simulation error is checked + err = simtestutil.CheckExportSimulation(bApp, config, simParams) + require.NoError(t, err) + require.NoError(t, simErr) + + if config.Commit { + simtestutil.PrintStats(db) + } + + if stopEarly { + fmt.Println("can't export or import a zero-validator genesis, exiting test...") + return + } + + fmt.Printf("exporting genesis...\n") + + exported, err := bApp.ExportAppStateAndValidators(true, []string{}, []string{}) + require.NoError(t, err) + + fmt.Printf("importing genesis...\n") + + newDB, newDir, _, _, err := simtestutil.SetupSimulation(config, "leveldb-app-sim-2", "Simulation-2", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + require.NoError(t, err, "simulation setup failed") + + defer func() { + require.NoError(t, newDB.Close()) + require.NoError(t, os.RemoveAll(newDir)) + }() + + newApp, err := app.New(log.NewNopLogger(), newDB, nil, true, appOptions, fauxMerkleModeOpt, baseapp.SetChainID(SimAppChainID)) + require.NoError(t, err) + require.Equal(t, app.Name, newApp.Name()) + + _, err = newApp.InitChain(&abci.RequestInitChain{ + AppStateBytes: exported.AppState, + ChainId: SimAppChainID, + }) + require.NoError(t, err) + + _, _, err = simulation.SimulateFromSeed( + t, + os.Stdout, + newApp.BaseApp, + simtestutil.AppStateFn(bApp.AppCodec(), bApp.SimulationManager(), bApp.DefaultGenesis()), + simulationtypes.RandomAccounts, + simtestutil.SimulationOperations(newApp, newApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + require.NoError(t, err) +} + +func TestAppStateDeterminism(t *testing.T) { + if !simcli.FlagEnabledValue { + t.Skip("skipping application simulation") + } + + config := simcli.NewConfigFromFlags() + config.InitialBlockHeight = 1 + config.ExportParamsPath = "" + config.OnOperation = true + config.AllInvariants = true + config.ChainID = SimAppChainID + + numSeeds := 3 + numTimesToRunPerSeed := 3 // This used to be set to 5, but we've temporarily reduced it to 3 for the sake of faster CI. + appHashList := make([]json.RawMessage, numTimesToRunPerSeed) + + // We will be overriding the random seed and just run a single simulation on the provided seed value + if config.Seed != simcli.DefaultSeedValue { + numSeeds = 1 + } + + appOptions := viper.New() + if FlagEnableStreamingValue { + m := make(map[string]interface{}) + m["streaming.abci.keys"] = []string{"*"} + m["streaming.abci.plugin"] = "abci_v1" + m["streaming.abci.stop-node-on-err"] = true + for key, value := range m { + appOptions.SetDefault(key, value) + } + } + appOptions.SetDefault(flags.FlagHome, app.DefaultNodeHome) + appOptions.SetDefault(server.FlagInvCheckPeriod, simcli.FlagPeriodValue) + if simcli.FlagVerboseValue { + appOptions.SetDefault(flags.FlagLogLevel, "debug") + } + + for i := 0; i < numSeeds; i++ { + if config.Seed == simcli.DefaultSeedValue { + config.Seed = rand.Int63() + } + fmt.Println("config.Seed: ", config.Seed) + + for j := 0; j < numTimesToRunPerSeed; j++ { + var logger log.Logger + if simcli.FlagVerboseValue { + logger = log.NewTestLogger(t) + } else { + logger = log.NewNopLogger() + } + + db := dbm.NewMemDB() + bApp, err := app.New( + logger, + db, + nil, + true, + appOptions, + interBlockCacheOpt(), + baseapp.SetChainID(SimAppChainID), + ) + require.NoError(t, err) + + fmt.Printf( + "running non-determinism simulation; seed %d: %d/%d, attempt: %d/%d\n", + config.Seed, i+1, numSeeds, j+1, numTimesToRunPerSeed, + ) + + _, _, err = simulation.SimulateFromSeed( + t, + os.Stdout, + bApp.BaseApp, + simtestutil.AppStateFn( + bApp.AppCodec(), + bApp.SimulationManager(), + bApp.DefaultGenesis(), + ), + simulationtypes.RandomAccounts, + simtestutil.SimulationOperations(bApp, bApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + require.NoError(t, err) + + if config.Commit { + simtestutil.PrintStats(db) + } + + appHash := bApp.LastCommitID().Hash + appHashList[j] = appHash + + if j != 0 { + require.Equal( + t, string(appHashList[0]), string(appHashList[j]), + "non-determinism in seed %d: %d/%d, attempt: %d/%d\n", config.Seed, i+1, numSeeds, j+1, numTimesToRunPerSeed, + ) + } + } + } +} diff --git a/app/simulation_test.go b/app/simulation_test.go deleted file mode 100644 index 3778a757..00000000 --- a/app/simulation_test.go +++ /dev/null @@ -1,93 +0,0 @@ -package app_test - -import ( - "os" - "testing" - "time" - - "github.com/cosmos/cosmos-sdk/simapp" - simulationtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/cosmos-sdk/x/simulation" - "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - tmtypes "github.com/tendermint/tendermint/types" - - "github.com/DecentralCardGame/cardchain/app" -) - -func init() { - simapp.GetSimulatorFlags() -} - -var defaultConsensusParams = &abci.ConsensusParams{ - Block: &abci.BlockParams{ - MaxBytes: 200000, - MaxGas: 2000000, - }, - Evidence: &tmproto.EvidenceParams{ - MaxAgeNumBlocks: 302400, - MaxAgeDuration: 504 * time.Hour, // 3 weeks is the max duration - MaxBytes: 10000, - }, - Validator: &tmproto.ValidatorParams{ - PubKeyTypes: []string{ - tmtypes.ABCIPubKeyTypeEd25519, - }, - }, -} - -// BenchmarkSimulation run the chain simulation -// Running using starport command: -// `ignite chain simulate -v --numBlocks 200 --blockSize 50` -// Running as go benchmark test: -// `go test -benchmem -run=^$ -bench ^BenchmarkSimulation ./app -NumBlocks=200 -BlockSize 50 -Commit=true -Verbose=true -Enabled=true` -func BenchmarkSimulation(b *testing.B) { - simapp.FlagEnabledValue = true - simapp.FlagCommitValue = true - - config, db, dir, logger, _, err := simapp.SetupSimulation("goleveldb-app-sim", "Simulation") - require.NoError(b, err, "simulation setup failed") - - b.Cleanup(func() { - db.Close() - err = os.RemoveAll(dir) - require.NoError(b, err) - }) - - encoding := app.MakeEncodingConfig() - - app := app.New( - logger, - db, - nil, - true, - map[int64]bool{}, - app.DefaultNodeHome, - 0, - encoding, - simapp.EmptyAppOptions{}, - ) - - // Run randomized simulations - _, simParams, simErr := simulation.SimulateFromSeed( - b, - os.Stdout, - app.BaseApp, - simapp.AppStateFn(app.AppCodec(), app.SimulationManager()), - simulationtypes.RandomAccounts, - simapp.SimulationOperations(app, app.AppCodec(), config), - app.ModuleAccountAddrs(), - config, - app.AppCodec(), - ) - - // export state and simParams before the simulation error is checked - err = simapp.CheckExportSimulation(app, config, simParams) - require.NoError(b, err) - require.NoError(b, simErr) - - if config.Commit { - simapp.PrintStats(db) - } -} diff --git a/buf.work.yaml b/buf.work.yaml new file mode 100644 index 00000000..1878b341 --- /dev/null +++ b/buf.work.yaml @@ -0,0 +1,3 @@ +version: v1 +directories: + - proto diff --git a/cmd/cardchaind/cmd/commands.go b/cmd/cardchaind/cmd/commands.go new file mode 100644 index 00000000..1f6f5d9f --- /dev/null +++ b/cmd/cardchaind/cmd/commands.go @@ -0,0 +1,190 @@ +package cmd + +import ( + "errors" + "io" + + "cosmossdk.io/log" + confixcmd "cosmossdk.io/tools/confix/cmd" + dbm "github.com/cosmos/cosmos-db" + "github.com/cosmos/cosmos-sdk/client" + "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/pruning" + "github.com/cosmos/cosmos-sdk/client/rpc" + "github.com/cosmos/cosmos-sdk/client/snapshot" + "github.com/cosmos/cosmos-sdk/server" + servertypes "github.com/cosmos/cosmos-sdk/server/types" + "github.com/cosmos/cosmos-sdk/types/module" + authcmd "github.com/cosmos/cosmos-sdk/x/auth/client/cli" + 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/cobra" + "github.com/spf13/viper" + + "github.com/DecentralCardGame/cardchain/app" +) + +func initRootCmd( + rootCmd *cobra.Command, + txConfig client.TxConfig, + basicManager module.BasicManager, +) { + rootCmd.AddCommand( + genutilcli.InitCmd(basicManager, app.DefaultNodeHome), + NewInPlaceTestnetCmd(addModuleInitFlags), + NewTestnetMultiNodeCmd(basicManager, banktypes.GenesisBalancesIterator{}), + debug.Cmd(), + confixcmd.ConfigCommand(), + pruning.Cmd(newApp, app.DefaultNodeHome), + snapshot.Cmd(newApp), + ) + + server.AddCommands(rootCmd, app.DefaultNodeHome, newApp, appExport, addModuleInitFlags) + + // add keybase, auxiliary RPC, query, genesis, and tx child commands + rootCmd.AddCommand( + server.StatusCommand(), + genesisCommand(txConfig, basicManager), + queryCommand(), + txCommand(), + keys.Commands(), + ) +} + +func addModuleInitFlags(startCmd *cobra.Command) { + crisis.AddModuleInitFlags(startCmd) +} + +// genesisCommand builds genesis-related `cardchaind genesis` command. Users may provide application specific commands as a parameter +func genesisCommand(txConfig client.TxConfig, basicManager module.BasicManager, cmds ...*cobra.Command) *cobra.Command { + cmd := genutilcli.Commands(txConfig, basicManager, app.DefaultNodeHome) + + for _, subCmd := range cmds { + cmd.AddCommand(subCmd) + } + return cmd +} + +func queryCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "query", + Aliases: []string{"q"}, + Short: "Querying subcommands", + DisableFlagParsing: false, + SuggestionsMinimumDistance: 2, + RunE: client.ValidateCmd, + } + + cmd.AddCommand( + rpc.QueryEventForTxCmd(), + rpc.ValidatorCommand(), + server.QueryBlockCmd(), + authcmd.QueryTxsByEventsCmd(), + server.QueryBlocksCmd(), + authcmd.QueryTxCmd(), + server.QueryBlockResultsCmd(), + ) + cmd.PersistentFlags().String(flags.FlagChainID, "", "The network chain ID") + + return cmd +} + +func txCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "tx", + Short: "Transactions subcommands", + DisableFlagParsing: false, + SuggestionsMinimumDistance: 2, + RunE: client.ValidateCmd, + } + + cmd.AddCommand( + authcmd.GetSignCommand(), + authcmd.GetSignBatchCommand(), + authcmd.GetMultiSignCommand(), + authcmd.GetMultiSignBatchCmd(), + authcmd.GetValidateSignaturesCommand(), + flags.LineBreak, + authcmd.GetBroadcastCommand(), + authcmd.GetEncodeCommand(), + authcmd.GetDecodeCommand(), + authcmd.GetSimulateCmd(), + ) + cmd.PersistentFlags().String(flags.FlagChainID, "", "The network chain ID") + + return cmd +} + +// newApp creates the application +func newApp( + logger log.Logger, + db dbm.DB, + traceStore io.Writer, + appOpts servertypes.AppOptions, +) servertypes.Application { + baseappOptions := server.DefaultBaseappOptions(appOpts) + + app, err := app.New( + logger, db, traceStore, true, + appOpts, + baseappOptions..., + ) + if err != nil { + panic(err) + } + return app +} + +// appExport creates a new app (optionally at a given height) and exports state. +func appExport( + logger log.Logger, + db dbm.DB, + traceStore io.Writer, + height int64, + forZeroHeight bool, + jailAllowedAddrs []string, + appOpts servertypes.AppOptions, + modulesToExport []string, +) (servertypes.ExportedApp, error) { + var ( + bApp *app.App + err error + ) + + // this check is necessary as we use the flag in x/upgrade. + // we can exit more gracefully by checking the flag here. + homePath, ok := appOpts.Get(flags.FlagHome).(string) + if !ok || homePath == "" { + return servertypes.ExportedApp{}, errors.New("application home not set") + } + + viperAppOpts, ok := appOpts.(*viper.Viper) + if !ok { + return servertypes.ExportedApp{}, errors.New("appOpts is not viper.Viper") + } + + // overwrite the FlagInvCheckPeriod + viperAppOpts.Set(server.FlagInvCheckPeriod, 1) + appOpts = viperAppOpts + + if height != -1 { + bApp, err = app.New(logger, db, traceStore, false, appOpts) + if err != nil { + return servertypes.ExportedApp{}, err + } + + if err := bApp.LoadHeight(height); err != nil { + return servertypes.ExportedApp{}, err + } + } else { + bApp, err = app.New(logger, db, traceStore, true, appOpts) + if err != nil { + return servertypes.ExportedApp{}, err + } + } + + return bApp.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs, modulesToExport) +} diff --git a/cmd/cardchaind/cmd/config.go b/cmd/cardchaind/cmd/config.go index 54217956..a14ebc57 100644 --- a/cmd/cardchaind/cmd/config.go +++ b/cmd/cardchaind/cmd/config.go @@ -1,23 +1,62 @@ package cmd import ( - sdk "github.com/cosmos/cosmos-sdk/types" - - "github.com/DecentralCardGame/cardchain/app" + cmtcfg "github.com/cometbft/cometbft/config" + serverconfig "github.com/cosmos/cosmos-sdk/server/config" ) -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() +// initCometBFTConfig helps to override default CometBFT Config values. +// return cmtcfg.DefaultConfig if no custom configuration is required for the application. +func initCometBFTConfig() *cmtcfg.Config { + cfg := cmtcfg.DefaultConfig() + + // these values put a higher strain on node memory + // cfg.P2P.MaxNumInboundPeers = 100 + // cfg.P2P.MaxNumOutboundPeers = 40 + + return cfg +} + +// 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 `mapstructure:",squash"` + } + + // 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 tests, we set the min gas prices to 0. + // srvCfg.MinGasPrices = "0stake" + // srvCfg.BaseConfig.IAVLDisableFastNode = true // disable fastnode by default + + customAppConfig := CustomAppConfig{ + Config: *srvCfg, + } + + customAppTemplate := serverconfig.DefaultConfigTemplate + // Edit the default template file + // + // customAppTemplate := serverconfig.DefaultConfigTemplate + ` + // [wasm] + // # This is the maximum sdk gas (wasm and storage) that we allow for any x/wasm "smart" queries + // query_gas_limit = 300000 + // # This is the number of wasm vm instances we keep cached in memory for speed-up + // # Warning: this is currently unstable and may lead to crashes, best to keep for 0 unless testing locally + // lru_size = 0` + + return customAppTemplate, customAppConfig } diff --git a/cmd/cardchaind/cmd/genaccounts.go b/cmd/cardchaind/cmd/genaccounts.go deleted file mode 100644 index d5ec6533..00000000 --- a/cmd/cardchaind/cmd/genaccounts.go +++ /dev/null @@ -1,192 +0,0 @@ -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 index dffc3715..53dfa6fd 100644 --- a/cmd/cardchaind/cmd/root.go +++ b/cmd/cardchaind/cmd/root.go @@ -1,210 +1,111 @@ package cmd import ( - "errors" - "io" "os" - "path/filepath" "strings" - "github.com/cosmos/cosmos-sdk/baseapp" + "cosmossdk.io/client/v2/autocli" + "cosmossdk.io/depinject" + "cosmossdk.io/log" "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/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" "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/types/module" + "github.com/cosmos/cosmos-sdk/x/auth/tx" + authtxconfig "github.com/cosmos/cosmos-sdk/x/auth/tx/config" "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("") +// NewRootCmd creates a new root command for cardchaind. It is called once in the main function. +func NewRootCmd() *cobra.Command { + var ( + autoCliOpts autocli.AppOptions + moduleBasicManager module.BasicManager + clientCtx client.Context + ) + + if err := depinject.Inject( + depinject.Configs(app.AppConfig(), + depinject.Supply( + log.NewNopLogger(), + ), + depinject.Provide( + ProvideClientContext, + ), + ), + &autoCliOpts, + &moduleBasicManager, + &clientCtx, + ); err != nil { + panic(err) + } rootCmd := &cobra.Command{ - Use: app.Name + "d", - Short: "Start cardchain node", + Use: app.Name + "d", + Short: "Start cardchain node", + SilenceErrors: true, 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()) + + clientCtx = clientCtx.WithCmdContext(cmd.Context()) + clientCtx, err := client.ReadPersistentCommandFlags(clientCtx, cmd.Flags()) if err != nil { return err } - initClientCtx, err = config.ReadFromClientConfig(initClientCtx) + + clientCtx, err = config.ReadFromClientConfig(clientCtx) if err != nil { return err } - if err := client.SetCmdClientContextHandler(initClientCtx, cmd); err != nil { + if err := client.SetCmdClientContextHandler(clientCtx, cmd); err != nil { return err } customAppTemplate, customAppConfig := initAppConfig() - customTMConfig := initTendermintConfig() - return server.InterceptConfigsPreRunHandler( - cmd, customAppTemplate, customAppConfig, customTMConfig, - ) + customCMTConfig := initCometBFTConfig() + + return server.InterceptConfigsPreRunHandler(cmd, customAppTemplate, customAppConfig, customCMTConfig) }, } - initRootCmd(rootCmd, encodingConfig) + // Since the IBC modules don't support dependency injection, we need to + // manually register the modules on the client side. + // This needs to be removed after IBC supports App Wiring. + ibcModules := app.RegisterIBC(clientCtx.InterfaceRegistry) + for name, mod := range ibcModules { + moduleBasicManager[name] = module.CoreAppModuleBasicAdaptor(name, mod) + autoCliOpts.Modules[name] = mod + } + + initRootCmd(rootCmd, clientCtx.TxConfig, moduleBasicManager) + 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, + if err := autoCliOpts.EnhanceRootCommand(rootCmd); err != nil { + panic(err) } - // 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 + return rootCmd } 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) + _ = f.Value.Set(val) } } for key, val := range defaults { @@ -216,138 +117,31 @@ func overwriteFlagDefaults(c *cobra.Command, defaults map[string]string) { } } -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 - } +func ProvideClientContext( + appCodec codec.Codec, + interfaceRegistry codectypes.InterfaceRegistry, + txConfigOpts tx.ConfigOptions, + legacyAmino *codec.LegacyAmino, +) client.Context { + clientCtx := client.Context{}. + WithCodec(appCodec). + WithInterfaceRegistry(interfaceRegistry). + WithLegacyAmino(legacyAmino). + WithInput(os.Stdin). + WithAccountRetriever(types.AccountRetriever{}). + WithHomeDir(app.DefaultNodeHome). + WithViper(app.Name) // env variable prefix - pruningOpts, err := server.GetPruningOptionsFromFlags(appOpts) - if err != nil { - panic(err) - } + // Read the config again to overwrite the default values with the values from the config file + clientCtx, _ = config.ReadFromClientConfig(clientCtx) - snapshotDir := filepath.Join(cast.ToString(appOpts.Get(flags.FlagHome)), "data", "snapshots") - snapshotDB, err := dbm.NewDB("metadata", dbm.GoLevelDBBackend, snapshotDir) + // textual is enabled by default, we need to re-create the tx config grpc instead of bank keeper. + txConfigOpts.TextualCoinMetadataQueryFn = authtxconfig.NewGRPCCoinMetadataQueryFn(clientCtx) + txConfig, err := tx.NewTxConfigWithOptions(clientCtx.Codec, txConfigOpts) 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 + clientCtx = clientCtx.WithTxConfig(txConfig) - return customAppTemplate, customAppConfig + return clientCtx } diff --git a/cmd/cardchaind/cmd/testnet.go b/cmd/cardchaind/cmd/testnet.go new file mode 100644 index 00000000..6955530a --- /dev/null +++ b/cmd/cardchaind/cmd/testnet.go @@ -0,0 +1,262 @@ +package cmd + +import ( + "fmt" + "io" + "strings" + + "cosmossdk.io/log" + "cosmossdk.io/math" + storetypes "cosmossdk.io/store/types" + "github.com/cometbft/cometbft/crypto" + "github.com/cometbft/cometbft/libs/bytes" + tmos "github.com/cometbft/cometbft/libs/os" + tmproto "github.com/cometbft/cometbft/proto/tendermint/types" + dbm "github.com/cosmos/cosmos-db" + "github.com/cosmos/cosmos-sdk/client/flags" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" + "github.com/cosmos/cosmos-sdk/server" + servertypes "github.com/cosmos/cosmos-sdk/server/types" + sdk "github.com/cosmos/cosmos-sdk/types" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/spf13/cast" + "github.com/spf13/cobra" + + "github.com/DecentralCardGame/cardchain/app" +) + +const ( + valVotingPower int64 = 900000000000000 +) + +var ( + flagAccountsToFund = "accounts-to-fund" +) + +type valArgs struct { + newValAddr bytes.HexBytes + newOperatorAddress string + newValPubKey crypto.PubKey + accountsToFund []sdk.AccAddress + upgradeToTrigger string + homeDir string +} + +func NewInPlaceTestnetCmd(addStartFlags servertypes.ModuleInitFlags) *cobra.Command { + cmd := server.InPlaceTestnetCreator(newTestnetApp) + addStartFlags(cmd) + cmd.Short = "Updates chain's application and consensus state with provided validator info and starts the node" + cmd.Long = `The test command modifies both application and consensus stores within a local mainnet node and starts the node, +with the aim of facilitating testing procedures. This command replaces existing validator data with updated information, +thereby removing the old validator set and introducing a new set suitable for local testing purposes. By altering the state extracted from the mainnet node, +it enables developers to configure their local environments to reflect mainnet conditions more accurately.` + + cmd.Example = fmt.Sprintf(`%sd in-place-testnet testing-1 cosmosvaloper1w7f3xx7e75p4l7qdym5msqem9rd4dyc4mq79dm --home $HOME/.%sd/validator1 --validator-privkey=6dq+/KHNvyiw2TToCgOpUpQKIzrLs69Rb8Az39xvmxPHNoPxY1Cil8FY+4DhT9YwD6s0tFABMlLcpaylzKKBOg== --accounts-to-fund="cosmos1f7twgcq4ypzg7y24wuywy06xmdet8pc4473tnq,cosmos1qvuhm5m644660nd8377d6l7yz9e9hhm9evmx3x"`, "github.com/DecentralCardGame/cardchain", "github.com/DecentralCardGame/cardchain") + + cmd.Flags().String(flagAccountsToFund, "", "Comma-separated list of account addresses that will be funded for testing purposes") + return cmd +} + +// newTestnetApp starts by running the normal newApp method. From there, the app interface returned is modified in order +// for a testnet to be created from the provided app. +func newTestnetApp(logger log.Logger, db dbm.DB, traceStore io.Writer, appOpts servertypes.AppOptions) servertypes.Application { + // Create an app and type cast to an App + newApp := newApp(logger, db, traceStore, appOpts) + testApp, ok := newApp.(*app.App) + if !ok { + panic("app created from newApp is not of type App") + } + + // Get command args + args, err := getCommandArgs(appOpts) + if err != nil { + panic(err) + } + + return initAppForTestnet(testApp, args) +} + +func initAppForTestnet(app *app.App, args valArgs) *app.App { + // Required Changes: + // + ctx := app.BaseApp.NewUncachedContext(true, tmproto.Header{}) + + pubkey := &ed25519.PubKey{Key: args.newValPubKey.Bytes()} + pubkeyAny, err := codectypes.NewAnyWithValue(pubkey) + if err != nil { + tmos.Exit(err.Error()) + } + + // STAKING + // + + // Create Validator struct for our new validator. + newVal := stakingtypes.Validator{ + OperatorAddress: args.newOperatorAddress, + ConsensusPubkey: pubkeyAny, + Jailed: false, + Status: stakingtypes.Bonded, + Tokens: math.NewInt(valVotingPower), + DelegatorShares: math.LegacyMustNewDecFromStr("10000000"), + Description: stakingtypes.Description{ + Moniker: "Testnet Validator", + }, + Commission: stakingtypes.Commission{ + CommissionRates: stakingtypes.CommissionRates{ + Rate: math.LegacyMustNewDecFromStr("0.05"), + MaxRate: math.LegacyMustNewDecFromStr("0.1"), + MaxChangeRate: math.LegacyMustNewDecFromStr("0.05"), + }, + }, + MinSelfDelegation: math.OneInt(), + } + + validator, err := app.StakingKeeper.ValidatorAddressCodec().StringToBytes(newVal.GetOperator()) + if err != nil { + tmos.Exit(err.Error()) + } + + // Remove all validators from power store + stakingKey := app.GetKey(stakingtypes.ModuleName) + stakingStore := ctx.KVStore(stakingKey) + iterator, err := app.StakingKeeper.ValidatorsPowerStoreIterator(ctx) + if err != nil { + tmos.Exit(err.Error()) + } + for ; iterator.Valid(); iterator.Next() { + stakingStore.Delete(iterator.Key()) + } + iterator.Close() + + // Remove all valdiators from last validators store + iterator, err = app.StakingKeeper.LastValidatorsIterator(ctx) + if err != nil { + tmos.Exit(err.Error()) + } + for ; iterator.Valid(); iterator.Next() { + stakingStore.Delete(iterator.Key()) + } + iterator.Close() + + // Remove all validators from validators store + iterator = stakingStore.Iterator(stakingtypes.ValidatorsKey, storetypes.PrefixEndBytes(stakingtypes.ValidatorsKey)) + for ; iterator.Valid(); iterator.Next() { + stakingStore.Delete(iterator.Key()) + } + iterator.Close() + + // Remove all validators from unbonding queue + iterator = stakingStore.Iterator(stakingtypes.ValidatorQueueKey, storetypes.PrefixEndBytes(stakingtypes.ValidatorQueueKey)) + for ; iterator.Valid(); iterator.Next() { + stakingStore.Delete(iterator.Key()) + } + iterator.Close() + + // Add our validator to power and last validators store + app.StakingKeeper.SetValidator(ctx, newVal) + err = app.StakingKeeper.SetValidatorByConsAddr(ctx, newVal) + if err != nil { + tmos.Exit(err.Error()) + } + app.StakingKeeper.SetValidatorByPowerIndex(ctx, newVal) + app.StakingKeeper.SetLastValidatorPower(ctx, validator, 0) + if err := app.StakingKeeper.Hooks().AfterValidatorCreated(ctx, validator); err != nil { + tmos.Exit(err.Error()) + } + + // DISTRIBUTION + // + + // Initialize records for this validator across all distribution stores + app.DistrKeeper.SetValidatorHistoricalRewards(ctx, validator, 0, distrtypes.NewValidatorHistoricalRewards(sdk.DecCoins{}, 1)) + app.DistrKeeper.SetValidatorCurrentRewards(ctx, validator, distrtypes.NewValidatorCurrentRewards(sdk.DecCoins{}, 1)) + app.DistrKeeper.SetValidatorAccumulatedCommission(ctx, validator, distrtypes.InitialValidatorAccumulatedCommission()) + app.DistrKeeper.SetValidatorOutstandingRewards(ctx, validator, distrtypes.ValidatorOutstandingRewards{Rewards: sdk.DecCoins{}}) + + // SLASHING + // + + // Set validator signing info for our new validator. + newConsAddr := sdk.ConsAddress(args.newValAddr.Bytes()) + newValidatorSigningInfo := slashingtypes.ValidatorSigningInfo{ + Address: newConsAddr.String(), + StartHeight: app.LastBlockHeight() - 1, + Tombstoned: false, + } + app.SlashingKeeper.SetValidatorSigningInfo(ctx, newConsAddr, newValidatorSigningInfo) + + // BANK + // + bondDenom, err := app.StakingKeeper.BondDenom(ctx) + if err != nil { + tmos.Exit(err.Error()) + } + + defaultCoins := sdk.NewCoins(sdk.NewInt64Coin(bondDenom, 1000000000)) + + // Fund local accounts + for _, account := range args.accountsToFund { + err := app.BankKeeper.MintCoins(ctx, minttypes.ModuleName, defaultCoins) + if err != nil { + tmos.Exit(err.Error()) + } + err = app.BankKeeper.SendCoinsFromModuleToAccount(ctx, minttypes.ModuleName, account, defaultCoins) + if err != nil { + tmos.Exit(err.Error()) + } + } + + return app +} + +// parse the input flags and returns valArgs +func getCommandArgs(appOpts servertypes.AppOptions) (valArgs, error) { + args := valArgs{} + + newValAddr, ok := appOpts.Get(server.KeyNewValAddr).(bytes.HexBytes) + if !ok { + panic("newValAddr is not of type bytes.HexBytes") + } + args.newValAddr = newValAddr + newValPubKey, ok := appOpts.Get(server.KeyUserPubKey).(crypto.PubKey) + if !ok { + panic("newValPubKey is not of type crypto.PubKey") + } + args.newValPubKey = newValPubKey + newOperatorAddress, ok := appOpts.Get(server.KeyNewOpAddr).(string) + if !ok { + panic("newOperatorAddress is not of type string") + } + args.newOperatorAddress = newOperatorAddress + upgradeToTrigger, ok := appOpts.Get(server.KeyTriggerTestnetUpgrade).(string) + if !ok { + panic("upgradeToTrigger is not of type string") + } + args.upgradeToTrigger = upgradeToTrigger + + // validate and set accounts to fund + accountsString := cast.ToString(appOpts.Get(flagAccountsToFund)) + + for _, account := range strings.Split(accountsString, ",") { + if account != "" { + addr, err := sdk.AccAddressFromBech32(account) + if err != nil { + return args, fmt.Errorf("invalid bech32 address format %w", err) + } + args.accountsToFund = append(args.accountsToFund, addr) + } + } + + // home dir + homeDir := cast.ToString(appOpts.Get(flags.FlagHome)) + if homeDir == "" { + return args, fmt.Errorf("invalid home dir") + } + args.homeDir = homeDir + + return args, nil +} diff --git a/cmd/cardchaind/cmd/testnet_multi_node.go b/cmd/cardchaind/cmd/testnet_multi_node.go new file mode 100644 index 00000000..19abea9b --- /dev/null +++ b/cmd/cardchaind/cmd/testnet_multi_node.go @@ -0,0 +1,537 @@ +package cmd + +import ( + "bufio" + "encoding/json" + "fmt" + "io" + "math/rand" + "os" + "path/filepath" + "strconv" + "strings" + "time" + + cmtconfig "github.com/cometbft/cometbft/config" + types "github.com/cometbft/cometbft/types" + tmtime "github.com/cometbft/cometbft/types/time" + "github.com/spf13/cobra" + "github.com/spf13/pflag" + + "cosmossdk.io/math" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/client/tx" + "github.com/cosmos/cosmos-sdk/crypto/hd" + "github.com/cosmos/cosmos-sdk/crypto/keyring" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" + "github.com/cosmos/cosmos-sdk/server" + srvconfig "github.com/cosmos/cosmos-sdk/server/config" + "github.com/cosmos/cosmos-sdk/testutil" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/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" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + + runtime "github.com/cosmos/cosmos-sdk/runtime" +) + +var ( + flagNodeDirPrefix = "node-dir-prefix" + flagPorts = "list-ports" + flagNumValidators = "v" + flagOutputDir = "output-dir" + flagValidatorsStakeAmount = "validators-stake-amount" + flagStartingIPAddress = "starting-ip-address" +) + +const nodeDirPerm = 0o755 + +type initArgs struct { + algo string + chainID string + keyringBackend string + minGasPrices string + nodeDirPrefix string + numValidators int + outputDir string + startingIPAddress string + validatorsStakesAmount map[int]sdk.Coin + ports map[int]string +} + +// NewTestnetMultiNodeCmd returns a cmd to initialize all files for tendermint testnet and application +func NewTestnetMultiNodeCmd(mbm module.BasicManager, genBalIterator banktypes.GenesisBalancesIterator) *cobra.Command { + cmd := &cobra.Command{ + Use: "multi-node", + Short: "Initialize config directories & files for a multi-validator testnet running locally via separate processes (e.g. Docker Compose or similar)", + Long: `multi-node will setup "v" number of directories and populate each with +necessary files (private validator, genesis, config, etc.) for running "v" validator nodes. + +Booting up a network with these validator folders is intended to be used with Docker Compose, +or a similar setup where each node has a manually configurable IP address. + +Note, strict routability for addresses is turned off in the config file. + +Example: + cardchaind multi-node --v 4 --output-dir ./.testnets --validators-stake-amount 1000000,200000,300000,400000 --list-ports 47222,50434,52851,44210 + `, + RunE: func(cmd *cobra.Command, _ []string) error { + clientCtx, err := client.GetClientQueryContext(cmd) + if err != nil { + return err + } + + serverCtx := server.GetServerContextFromCmd(cmd) + config := serverCtx.Config + + args := initArgs{} + args.outputDir, _ = cmd.Flags().GetString(flagOutputDir) + args.keyringBackend, _ = cmd.Flags().GetString(flags.FlagKeyringBackend) + args.chainID, _ = cmd.Flags().GetString(flags.FlagChainID) + args.minGasPrices, _ = cmd.Flags().GetString(server.FlagMinGasPrices) + args.nodeDirPrefix, _ = cmd.Flags().GetString(flagNodeDirPrefix) + args.startingIPAddress, _ = cmd.Flags().GetString(flagStartingIPAddress) + args.numValidators, _ = cmd.Flags().GetInt(flagNumValidators) + args.algo, _ = cmd.Flags().GetString(flags.FlagKeyType) + + args.ports = map[int]string{} + args.validatorsStakesAmount = make(map[int]sdk.Coin) + top := 0 + // If the flag string is invalid, the amount will default to 100000000. + if s, err := cmd.Flags().GetString(flagValidatorsStakeAmount); err == nil { + for _, amount := range strings.Split(s, ",") { + a, ok := math.NewIntFromString(amount) + if !ok { + continue + } + args.validatorsStakesAmount[top] = sdk.NewCoin(sdk.DefaultBondDenom, a) + top += 1 + } + + } + top = 0 + if s, err := cmd.Flags().GetString(flagPorts); err == nil { + if s == "" { + for i := 0; i < args.numValidators; i++ { + args.ports[top] = strconv.Itoa(26657 - 3*i) + top += 1 + } + } else { + for _, port := range strings.Split(s, ",") { + args.ports[top] = port + top += 1 + } + } + } + + return initTestnetFiles(clientCtx, cmd, config, mbm, genBalIterator, args) + }, + } + + addTestnetFlagsToCmd(cmd) + cmd.Flags().String(flagPorts, "", "Ports of nodes (default 26657,26654,26651,26648.. )") + cmd.Flags().String(flagNodeDirPrefix, "validator", "Prefix the directory name for each node with (node results in node0, node1, ...)") + cmd.Flags().String(flagValidatorsStakeAmount, "100000000,100000000,100000000,100000000", "Amount of stake for each validator") + cmd.Flags().String(flagStartingIPAddress, "localhost", "Starting IP address (192.168.0.1 results in persistent peers list ID0@192.168.0.1:46656, ID1@192.168.0.2:46656, ...)") + cmd.Flags().String(flags.FlagKeyringBackend, "test", "Select keyring's backend (os|file|test)") + + return cmd +} + +func addTestnetFlagsToCmd(cmd *cobra.Command) { + cmd.Flags().Int(flagNumValidators, 4, "Number of validators to initialize the testnet with") + cmd.Flags().StringP(flagOutputDir, "o", "./.testnets", "Directory to store initialization data for the testnet") + cmd.Flags().String(flags.FlagChainID, "", "genesis file chain-id, if left blank will be randomly created") + cmd.Flags().String(server.FlagMinGasPrices, fmt.Sprintf("0.0001%s", sdk.DefaultBondDenom), "Minimum gas prices to accept for transactions; All fees in a tx must meet this minimum (e.g. 0.01photino,0.001stake)") + cmd.Flags().String(flags.FlagKeyType, string(hd.Secp256k1Type), "Key signing algorithm to generate keys for") + + // support old flags name for backwards compatibility + cmd.Flags().SetNormalizeFunc(func(f *pflag.FlagSet, name string) pflag.NormalizedName { + if name == "algo" { + name = flags.FlagKeyType + } + + return pflag.NormalizedName(name) + }) +} + +// initTestnetFiles initializes testnet files for a testnet to be run in a separate process +func initTestnetFiles( + clientCtx client.Context, + cmd *cobra.Command, + nodeConfig *cmtconfig.Config, + mbm module.BasicManager, + genBalIterator banktypes.GenesisBalancesIterator, + args initArgs, +) error { + if args.chainID == "" { + args.chainID = "chain-" + generateRandomString(6) + } + nodeIDs := make([]string, args.numValidators) + valPubKeys := make([]cryptotypes.PubKey, args.numValidators) + + appConfig := srvconfig.DefaultConfig() + appConfig.MinGasPrices = args.minGasPrices + appConfig.API.Enable = false + appConfig.BaseConfig.MinGasPrices = "0.0001" + sdk.DefaultBondDenom + appConfig.Telemetry.EnableHostnameLabel = false + appConfig.Telemetry.Enabled = false + appConfig.Telemetry.PrometheusRetentionTime = 0 + + var ( + genAccounts []authtypes.GenesisAccount + genBalances []banktypes.Balance + genFiles []string + persistentPeers string + gentxsFiles []string + ) + + inBuf := bufio.NewReader(cmd.InOrStdin()) + for i := 0; i < args.numValidators; i++ { + nodeDirName := fmt.Sprintf("%s%d", args.nodeDirPrefix, i) + nodeDir := filepath.Join(args.outputDir, nodeDirName) + gentxsDir := filepath.Join(args.outputDir, nodeDirName, "config", "gentx") + + nodeConfig.SetRoot(nodeDir) + nodeConfig.Moniker = nodeDirName + nodeConfig.RPC.ListenAddress = "tcp://0.0.0.0:" + args.ports[i] + + var err error + if err := os.MkdirAll(filepath.Join(nodeDir, "config"), nodeDirPerm); err != nil { + _ = os.RemoveAll(args.outputDir) + return err + } + + nodeIDs[i], valPubKeys[i], err = genutil.InitializeNodeValidatorFiles(nodeConfig) + if err != nil { + _ = os.RemoveAll(args.outputDir) + return err + } + + memo := fmt.Sprintf("%s@%s:"+strconv.Itoa(26656-3*i), nodeIDs[i], args.startingIPAddress) + + if persistentPeers == "" { + persistentPeers = memo + } else { + persistentPeers = persistentPeers + "," + memo + } + + genFiles = append(genFiles, nodeConfig.GenesisFile()) + + kb, err := keyring.New(sdk.KeyringServiceName(), args.keyringBackend, nodeDir, inBuf, clientCtx.Codec) + if err != nil { + return err + } + + keyringAlgos, _ := kb.SupportedAlgorithms() + algo, err := keyring.NewSigningAlgoFromString(args.algo, keyringAlgos) + if err != nil { + return err + } + + addr, secret, err := testutil.GenerateSaveCoinKey(kb, nodeDirName, "", true, algo) + if err != nil { + _ = os.RemoveAll(args.outputDir) + return err + } + + info := map[string]string{"secret": secret} + + cliPrint, err := json.Marshal(info) + if err != nil { + return err + } + + // save private key seed words + file := filepath.Join(nodeDir, fmt.Sprintf("%v.json", "key_seed")) + if err := writeFile(file, nodeDir, cliPrint); err != nil { + return err + } + + accTokens := sdk.TokensFromConsensusPower(1000, sdk.DefaultPowerReduction) + accStakingTokens := sdk.TokensFromConsensusPower(500, sdk.DefaultPowerReduction) + coins := sdk.Coins{ + sdk.NewCoin("testtoken", accTokens), + sdk.NewCoin(sdk.DefaultBondDenom, accStakingTokens), + } + + genBalances = append(genBalances, banktypes.Balance{Address: addr.String(), Coins: coins.Sort()}) + genAccounts = append(genAccounts, authtypes.NewBaseAccount(addr, nil, 0, 0)) + + var valTokens sdk.Coin + valTokens, ok := args.validatorsStakesAmount[i] + if !ok { + valTokens = sdk.NewCoin(sdk.DefaultBondDenom, sdk.TokensFromConsensusPower(100, sdk.DefaultPowerReduction)) + } + createValMsg, err := stakingtypes.NewMsgCreateValidator( + sdk.ValAddress(addr).String(), + valPubKeys[i], + valTokens, + stakingtypes.NewDescription(nodeDirName, "", "", "", ""), + stakingtypes.NewCommissionRates(math.LegacyOneDec(), math.LegacyOneDec(), math.LegacyOneDec()), + math.OneInt(), + ) + if err != nil { + return err + } + + txBuilder := clientCtx.TxConfig.NewTxBuilder() + if err := txBuilder.SetMsgs(createValMsg); err != nil { + return err + } + + txBuilder.SetMemo(memo) + + txFactory := tx.Factory{} + txFactory = txFactory. + WithChainID(args.chainID). + WithMemo(memo). + WithKeybase(kb). + WithTxConfig(clientCtx.TxConfig) + + if err := tx.Sign(cmd.Context(), txFactory, nodeDirName, txBuilder, true); err != nil { + return err + } + + txBz, err := clientCtx.TxConfig.TxJSONEncoder()(txBuilder.GetTx()) + if err != nil { + return err + } + file = filepath.Join(gentxsDir, fmt.Sprintf("%v.json", "gentx-"+nodeIDs[i])) + gentxsFiles = append(gentxsFiles, file) + if err := writeFile(file, gentxsDir, txBz); err != nil { + return err + } + + appConfig.GRPC.Address = args.startingIPAddress + ":" + strconv.Itoa(9090-2*i) + appConfig.API.Address = "tcp://localhost:" + strconv.Itoa(1317-i) + srvconfig.WriteConfigFile(filepath.Join(nodeDir, "config", "app.toml"), appConfig) + } + + if err := initGenFiles(clientCtx, mbm, args.chainID, genAccounts, genBalances, genFiles, args.numValidators); err != nil { + return err + } + // copy gentx file + for i := 0; i < args.numValidators; i++ { + for _, file := range gentxsFiles { + nodeDirName := fmt.Sprintf("%s%d", args.nodeDirPrefix, i) + nodeDir := filepath.Join(args.outputDir, nodeDirName) + gentxsDir := filepath.Join(nodeDir, "config", "gentx") + + yes, err := isSubDir(file, gentxsDir) + if err != nil || yes { + continue + } + copyFile(file, gentxsDir) + } + } + err := collectGenFiles( + clientCtx, nodeConfig, nodeIDs, valPubKeys, + genBalIterator, + clientCtx.TxConfig.SigningContext().ValidatorAddressCodec(), + persistentPeers, args, + ) + if err != nil { + return err + } + + cmd.PrintErrf("Successfully initialized %d node directories\n", args.numValidators) + return nil +} + +func writeFile(file, dir string, contents []byte) error { + if err := os.MkdirAll(dir, 0o755); err != nil { + return fmt.Errorf("could not create directory %q: %w", dir, err) + } + + if err := os.WriteFile(file, contents, 0o644); err != nil { + return err + } + + return nil +} + +func initGenFiles( + clientCtx client.Context, mbm module.BasicManager, chainID string, + genAccounts []authtypes.GenesisAccount, genBalances []banktypes.Balance, + genFiles []string, numValidators int, +) error { + appGenState := mbm.DefaultGenesis(clientCtx.Codec) + + // set the accounts in the genesis state + var authGenState authtypes.GenesisState + clientCtx.Codec.MustUnmarshalJSON(appGenState[authtypes.ModuleName], &authGenState) + + accounts, err := authtypes.PackAccounts(genAccounts) + if err != nil { + return err + } + + authGenState.Accounts = accounts + appGenState[authtypes.ModuleName] = clientCtx.Codec.MustMarshalJSON(&authGenState) + + // set the balances in the genesis state + var bankGenState banktypes.GenesisState + clientCtx.Codec.MustUnmarshalJSON(appGenState[banktypes.ModuleName], &bankGenState) + + bankGenState.Balances = banktypes.SanitizeGenesisBalances(genBalances) + for _, bal := range bankGenState.Balances { + bankGenState.Supply = bankGenState.Supply.Add(bal.Coins...) + } + appGenState[banktypes.ModuleName] = clientCtx.Codec.MustMarshalJSON(&bankGenState) + + appGenStateJSON, err := json.MarshalIndent(appGenState, "", " ") + if err != nil { + return err + } + + genDoc := types.GenesisDoc{ + ChainID: chainID, + AppState: appGenStateJSON, + Validators: nil, + } + + // generate empty genesis files for each validator and save + for i := 0; i < numValidators; i++ { + if err := genDoc.SaveAs(genFiles[i]); err != nil { + return err + } + } + return nil +} + +func collectGenFiles( + clientCtx client.Context, nodeConfig *cmtconfig.Config, + nodeIDs []string, valPubKeys []cryptotypes.PubKey, + genBalIterator banktypes.GenesisBalancesIterator, + valAddrCodec runtime.ValidatorAddressCodec, persistentPeers string, + args initArgs, +) error { + chainID := args.chainID + numValidators := args.numValidators + outputDir := args.outputDir + nodeDirPrefix := args.nodeDirPrefix + + var appState json.RawMessage + genTime := tmtime.Now() + + for i := 0; i < numValidators; i++ { + nodeDirName := fmt.Sprintf("%s%d", nodeDirPrefix, i) + nodeDir := filepath.Join(outputDir, nodeDirName) + gentxsDir := filepath.Join(nodeDir, "config", "gentx") + nodeConfig.Moniker = nodeDirName + + nodeConfig.SetRoot(nodeDir) + + nodeID, valPubKey := nodeIDs[i], valPubKeys[i] + initCfg := genutiltypes.NewInitConfig(chainID, gentxsDir, nodeID, valPubKey) + + appGenesis, err := genutiltypes.AppGenesisFromFile(nodeConfig.GenesisFile()) + if err != nil { + return err + } + + nodeAppState, err := genutil.GenAppStateFromConfig(clientCtx.Codec, clientCtx.TxConfig, nodeConfig, initCfg, appGenesis, genBalIterator, genutiltypes.DefaultMessageValidator, + valAddrCodec) + if err != nil { + return err + } + + nodeConfig.P2P.PersistentPeers = persistentPeers + nodeConfig.P2P.AllowDuplicateIP = true + nodeConfig.P2P.ListenAddress = "tcp://0.0.0.0:" + strconv.Itoa(26656-3*i) + nodeConfig.RPC.ListenAddress = "tcp://127.0.0.1:" + args.ports[i] + nodeConfig.BaseConfig.ProxyApp = "tcp://127.0.0.1:" + strconv.Itoa(26658-3*i) + nodeConfig.Instrumentation.PrometheusListenAddr = ":" + strconv.Itoa(26660+i) + nodeConfig.Instrumentation.Prometheus = true + cmtconfig.WriteConfigFile(filepath.Join(nodeConfig.RootDir, "config", "config.toml"), nodeConfig) + if appState == nil { + // set the canonical application state (they should not differ) + appState = nodeAppState + } + + genFile := nodeConfig.GenesisFile() + + // overwrite each validator's genesis file to have a canonical genesis time + if err := genutil.ExportGenesisFileWithTime(genFile, chainID, nil, appState, genTime); err != nil { + return err + } + } + + return nil +} + +func copyFile(src, dstDir string) (int64, error) { + // Extract the file name from the source path + fileName := filepath.Base(src) + + // Create the full destination path (directory + file name) + dst := filepath.Join(dstDir, fileName) + + // Open the source file + sourceFile, err := os.Open(src) + if err != nil { + return 0, err + } + defer sourceFile.Close() + + // Create the destination file + destinationFile, err := os.Create(dst) + if err != nil { + return 0, err + } + defer destinationFile.Close() + + // Copy content from the source file to the destination file + bytesCopied, err := io.Copy(destinationFile, sourceFile) + if err != nil { + return 0, err + } + + // Ensure the content is written to the destination file + err = destinationFile.Sync() + if err != nil { + return 0, err + } + + return bytesCopied, nil +} + +// isSubDir checks if dstDir is a parent directory of src +func isSubDir(src, dstDir string) (bool, error) { + // Get the absolute path of src and dstDir + absSrc, err := filepath.Abs(src) + if err != nil { + return false, err + } + absDstDir, err := filepath.Abs(dstDir) + if err != nil { + return false, err + } + + // Check if absSrc is within absDstDir + relativePath, err := filepath.Rel(absDstDir, absSrc) + if err != nil { + return false, err + } + + // If the relative path doesn't go up the directory tree (doesn't contain ".."), it is inside dstDir + isInside := !strings.HasPrefix(relativePath, "..") && !filepath.IsAbs(relativePath) + return isInside, nil +} + +// generateRandomString generates a random string of the specified length. +func generateRandomString(length int) string { + const charset = "abcdefghijklmnopqrstuvwxyz0123456789" + var seededRand *rand.Rand = rand.New(rand.NewSource(time.Now().UnixNano())) + + b := make([]byte, length) + for i := range b { + b[i] = charset[seededRand.Intn(len(charset))] + } + return string(b) +} diff --git a/cmd/cardchaind/main.go b/cmd/cardchaind/main.go index f02cec18..fa400c5a 100644 --- a/cmd/cardchaind/main.go +++ b/cmd/cardchaind/main.go @@ -1,9 +1,10 @@ package main import ( + "fmt" "os" - "github.com/cosmos/cosmos-sdk/server" + clienthelpers "cosmossdk.io/client/v2/helpers" svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" "github.com/DecentralCardGame/cardchain/app" @@ -11,14 +12,9 @@ import ( ) func main() { - 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) - } + rootCmd := cmd.NewRootCmd() + if err := svrcmd.Execute(rootCmd, clienthelpers.EnvPrefix, app.DefaultNodeHome); err != nil { + fmt.Fprintln(rootCmd.OutOrStderr(), err) + os.Exit(1) } } diff --git a/config.yml b/config.yml index 868e0e1f..e6c00d47 100644 --- a/config.yml +++ b/config.yml @@ -1,5 +1,6 @@ version: 1 -accounts: +validation: sovereign +accounts: - name: alice coins: - 20000token @@ -19,3 +20,9 @@ faucet: validators: - name: alice bonded: 100000000stake +- name: validator1 + bonded: 100000000stake +- name: validator2 + bonded: 200000000stake +- name: validator3 + bonded: 300000000stake \ No newline at end of file diff --git a/docs/docs.go b/docs/docs.go index 1ba96c79..6994b8c9 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -29,7 +29,7 @@ func handler(title string) http.HandlerFunc { t, _ := httptemplate.ParseFS(template, indexFile) return func(w http.ResponseWriter, req *http.Request) { - t.Execute(w, struct { + _ = t.Execute(w, struct { Title string URL string }{ diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 2db5b413..4b01143a 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1,71466 +1 @@ -swagger: '2.0' -info: - title: HTTP API Console - name: '' - description: '' -paths: - /cosmos/auth/v1beta1/accounts: - get: - summary: Accounts returns all the existing accounts - description: 'Since: cosmos-sdk 0.43' - operationId: CosmosAuthV1Beta1Accounts - responses: - '200': - description: A successful response. - schema: - 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 { - ... - } - - 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" - } - 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. - - - 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 - - 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/auth/v1beta1/accounts/{address}: - get: - summary: Account returns account details based on address. - operationId: CosmosAuthV1Beta1Account - responses: - '200': - description: A successful response. - schema: - 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 - - 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: >- - 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 - - 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 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: - 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: 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/bech32: - get: - summary: Bech32Prefix queries bech32Prefix - description: 'Since: cosmos-sdk 0.46' - operationId: CosmosAuthV1Beta1Bech32Prefix - responses: - '200': - description: A successful response. - schema: - type: object - properties: - bech32_prefix: - type: string - description: >- - Bech32PrefixResponse is the response type for Bech32Prefix 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" - } - tags: - - Query - /cosmos/auth/v1beta1/bech32/{address_bytes}: - get: - 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: - 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: - '@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_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: >- - AddressStringToBytesResponse is the response type for AddressBytes - 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: address_string - in: path - required: true - type: string - tags: - - Query - /cosmos/auth/v1beta1/module_accounts: - get: - 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: - 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 { - ... - } - - 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: >- - QueryModuleAccountsResponse is the response type for the - Query/ModuleAccounts 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" - } - tags: - - Query - /cosmos/auth/v1beta1/module_accounts/{name}: - get: - summary: ModuleAccountByName returns the module account info by module name - operationId: CosmosAuthV1Beta1ModuleAccountByName - responses: - '200': - description: A successful response. - schema: - type: object - properties: - account: - 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: >- - QueryModuleAccountByNameResponse is the response type for the - Query/ModuleAccountByName 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: name - in: path - required: true - type: string - tags: - - Query - /cosmos/auth/v1beta1/params: - get: - summary: Params queries all parameters. - operationId: CosmosAuthV1Beta1Params - 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 - 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" - } - tags: - - Query - /cosmos/authz/v1beta1/grants: - get: - summary: Returns list of `Authorization`, granted to the grantee by the granter. - operationId: CosmosAuthzV1Beta1Grants - responses: - '200': - description: A successful response. - schema: - 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 - - 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: - 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. - 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: 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 - 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: >- - 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: >- - QueryGranteeGrantsResponse is the response type for the - Query/GranteeGrants 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/authz/v1beta1/grants/granter/{granter}: - get: - 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: - 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 - - 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: >- - 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 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: >- - QueryGranterGrantsResponse is the response type for the - Query/GranterGrants 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 - 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/bank/v1beta1/balances/{address}: - get: - summary: AllBalances queries the balance of all coins for a single account. - operationId: CosmosBankV1Beta1AllBalances - 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. - - - 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: >- - QueryAllBalancesResponse is the response type for the - Query/AllBalances 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: 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 - - 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/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: - 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 - 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 - 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. - - - Since: cosmos-sdk 0.46 - 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: >- - QueryDenomOwnersResponse defines the RPC response of a DenomOwners - RPC query. - - - 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: 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. - - 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/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 - - 1 denom = 10^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. - - - Since: cosmos-sdk 0.43 - uri: - type: string - description: >- - URI to a document (on or off-chain) that contains - additional information. Optional. - - - 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 document didn't change. Optional. - - - 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 - - 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. - - 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/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 - - raise the base_denom to in order to equal the given - DenomUnit's denom - - 1 denom = 10^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. - - - Since: cosmos-sdk 0.43 - uri: - type: string - description: >- - URI to a document (on or off-chain) that contains - additional information. Optional. - - - 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 document didn't change. Optional. - - - Since: cosmos-sdk 0.46 - description: >- - QueryDenomMetadataResponse is the response type for the - Query/DenomMetadata 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 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 - - 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. - - - 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 - - was set, its value is undefined otherwise - description: >- - QuerySpendableBalancesResponse defines the gRPC response structure - for querying - - 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 - 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/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. - - - 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. - - 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 - - was set, its value is undefined otherwise - title: >- - QueryTotalSupplyResponse is the response type for the - Query/TotalSupply 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/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/node/v1beta1/config: - get: - summary: Config queries for the operator configuration. - operationId: CosmosBaseNodeV1Beta1Config - responses: - '200': - description: A successful response. - schema: - type: object - properties: - minimum_gas_price: - type: string - description: >- - ConfigResponse defines the response structure for the Config gRPC - query. - 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: - - Service - /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 - - 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 - - hash. - - - Note: This type is a duplicate of the ProofOp proto type - defined in - - Tendermint. - description: >- - ProofOps is Merkle proof defined by the list of ProofOps. - - - 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. - - - Note: This type is a duplicate of the ResponseQuery proto type - defined in - - Tendermint. - 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: data - in: query - required: false - type: string - format: byte - - name: path - in: query - required: false - type: string - - name: height - in: query - required: false - type: string - format: int64 - - name: prove - in: query - required: false - type: boolean - tags: - - Service - /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: - 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: >- - 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_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/staking/v1beta1/delegators/{delegator_addr}/redelegations: - get: - summary: Redelegations queries redelegations of given address. - operationId: CosmosStakingV1Beta1Redelegations - responses: - '200': - description: A successful response. - schema: - type: object - properties: - redelegation_responses: - 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. - - 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: >- - RedelegationResponse is equivalent to a Redelegation except - that its entries - - contain 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 - 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: >- - QueryRedelegationsResponse is response type for the - Query/Redelegations 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: 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: - get: - summary: >- - DelegatorUnbondingDelegations queries all unbonding delegations of a - given - - delegator address. - operationId: CosmosStakingV1Beta1DelegatorUnbondingDelegations - 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. - - 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: - 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/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. - schema: - type: object - properties: - validators: - 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: 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: - 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/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}: - get: - summary: |- - DelegatorValidator queries validator info for given delegator validator - pair. - operationId: CosmosStakingV1Beta1DelegatorValidator - responses: - '200': - description: A successful response. - schema: - type: object - properties: - validator: - description: validator defines the validator info. - 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: |- - QueryDelegatorValidatorResponse response type for the - Query/DelegatorValidator 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: 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: - 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: - 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: >- - QueryHistoricalInfoResponse is response type for the - Query/HistoricalInfo 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 - description: height defines at which height to query the historical info. - in: path - required: true - type: string - format: int64 - tags: - - Query - /cosmos/staking/v1beta1/params: - get: - summary: Parameters queries the staking parameters. - operationId: CosmosStakingV1Beta1Params - 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. - 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. - 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: - - Query - /cosmos/staking/v1beta1/pool: - get: - summary: Pool queries the pool info. - operationId: CosmosStakingV1Beta1Pool - 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. - 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: - - Query - /cosmos/staking/v1beta1/validators: - get: - summary: Validators queries all validators that match the given status. - operationId: CosmosStakingV1Beta1Validators - responses: - '200': - description: A successful response. - schema: - type: object - properties: - validators: - 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: validators contains all the queried validators. - 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 - title: >- - QueryValidatorsResponse is response type for the Query/Validators - 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: 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}: - get: - summary: Validator queries validator info for given validator address. - operationId: CosmosStakingV1Beta1Validator - responses: - '200': - description: A successful response. - schema: - type: object - properties: - validator: - description: validator defines the validator info. - 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 - title: >- - QueryValidatorResponse is response type for the Query/Validator - 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: validator_addr - description: validator_addr defines the validator address to query for. - 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 - 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. - 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 - title: |- - QueryValidatorDelegationsResponse is response type for the - Query/ValidatorDelegations 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: 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}: - get: - summary: Delegation queries delegate info for given validator delegator pair. - operationId: CosmosStakingV1Beta1Delegation - responses: - '200': - description: A successful response. - schema: - type: object - properties: - delegation_response: - description: >- - delegation_responses defines the delegation info of a - delegation. - 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: >- - 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 - - 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: 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 - 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: >- - QueryDelegationResponse is response type for the - Query/UnbondingDelegation - - 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: 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: - get: - summary: >- - ValidatorUnbondingDelegations queries unbonding delegations of a - validator. - operationId: CosmosStakingV1Beta1ValidatorUnbondingDelegations - 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. - - 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: >- - QueryValidatorUnbondingDelegationsResponse is response type for - the - - Query/ValidatorUnbondingDelegations 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: 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/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: - 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. - - 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: - - 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. - 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: body - description: |- - SimulateRequest is the request type for the Service.Simulate - RPC method. - in: body - required: true - schema: - $ref: '#/definitions/cosmos.tx.v1beta1.SimulateRequest' - tags: - - Service - /cosmos/tx/v1beta1/txs: - get: - summary: GetTxsEvent fetches txs by event. - operationId: CosmosTxV1Beta1GetTxsEvent - responses: - '200': - description: A successful response. - schema: - $ref: '#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse' - 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: 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 - 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 - - 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: - - Service - post: - summary: BroadcastTx broadcast transaction. - operationId: CosmosTxV1Beta1BroadcastTx - responses: - '200': - description: A successful response. - schema: - 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. - 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: body - description: >- - BroadcastTxRequest is the request type for the - Service.BroadcastTxRequest - - RPC method. - in: body - required: true - 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 - 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: - - Service - /cosmos/tx/v1beta1/txs/block/{height}: - get: - summary: GetBlockWithTxs fetches a block with decoded txs. - description: 'Since: cosmos-sdk 0.45.2' - operationId: CosmosTxV1Beta1GetBlockWithTxs - responses: - '200': - description: A successful response. - schema: - $ref: '#/definitions/cosmos.tx.v1beta1.GetBlockWithTxsResponse' - 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 - 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 - 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/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: - 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: 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: >- - QueryAppliedPlanResponse is the response type for the - Query/AppliedPlan 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: name - description: name is the name of the applied plan to query for. - in: path - required: true - type: string - tags: - - Query - /cosmos/upgrade/v1beta1/authority: - get: - 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: - 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: - 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: - - 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 - - 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: - 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: - 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: - - 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. - - 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 - - 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: 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 - - as a trusted kernel for the next version of this chain. It will only be - - stored at the last height of this chain. - - UpgradedConsensusState RPC not supported with legacy querier - - This rpc is deprecated now that IBC has its own replacement - - (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: string - format: byte - title: 'Since: cosmos-sdk 0.43' - description: >- - QueryUpgradedConsensusStateResponse is the response type for the - Query/UpgradedConsensusState - - 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: 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 - 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 - /ibc/apps/interchain_accounts/controller/v1/owners/{owner}/connections/{connection_id}: - get: - 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: - address: - type: string - description: >- - QueryInterchainAccountResponse the response type for the - Query/InterchainAccount 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: connection_id - in: path - required: true - type: string - tags: - - Query - /ibc/apps/interchain_accounts/controller/v1/params: - get: - summary: Params queries all parameters of the ICA controller submodule. - operationId: IbcApplicationsInterchainAccountsControllerV1Params - responses: - '200': - description: A successful response. - schema: - 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. - 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: - - Query - /ibc/apps/interchain_accounts/host/v1/params: - get: - summary: Params queries all parameters of the ICA host submodule. - operationId: IbcApplicationsInterchainAccountsHostV1Params - responses: - '200': - description: A successful response. - schema: - 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. - 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 - /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: >- - QueryEscrowAddressResponse is the response type of the - EscrowAddress 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: channel_id - description: unique channel identifier - in: path - required: true - type: string - - name: port_id - description: unique port identifier - in: path - required: true - type: string - tags: - - Query - /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: - 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. - 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: trace - description: The denomination trace ([port_id]/[channel_id])+/[denom] - in: path - required: true - type: string - tags: - - Query - /ibc/apps/transfer/v1/denom_traces: - get: - summary: DenomTraces queries all denomination traces. - operationId: IbcApplicationsTransferV1DenomTraces - responses: - '200': - description: A successful response. - schema: - 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: - 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 - /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: - denom_trace: - description: >- - denom_trace returns the requested denomination trace - information. - 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: >- - 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 - - 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: 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 - - chain. - receive_enabled: - type: boolean - description: >- - receive_enabled enables or disables all cross-chain token - transfers to this - - 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: - '@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: - - 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 - - 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: >- - 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 - description: >- - QueryChannelsResponse is the response type for the Query/Channels - 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 - /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 - - modules on separate blockchains, which has at least one end - capable of - - 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 - - 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: >- - QueryChannelResponse is the response type for the Query/Channel - RPC 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: - 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: 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}/client_state: - get: - 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: - 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 - 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: - 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: 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}/consensus_state/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 - responses: - '200': - description: A successful response. - schema: - type: object - properties: - 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 - - 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" - } - 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 - - 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: - 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: 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: 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 - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence: - get: - summary: >- - NextSequenceReceive returns the next receive sequence for a given - channel. - operationId: IbcCoreChannelV1NextSequenceReceive - 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 - - gets reset - title: |- - QuerySequenceResponse is the request type for the - Query/QueryNextSequenceReceiveResponse 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: 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: - get: - summary: >- - PacketAcknowledgements returns all the packet acknowledgements - associated - - with a channel. - operationId: IbcCoreChannelV1PacketAcknowledgements - 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 - 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: - 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: 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 - - 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}: - get: - summary: PacketAcknowledgement queries a stored packet acknowledgement hash. - operationId: IbcCoreChannelV1PacketAcknowledgement - 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 - 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: - 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: 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: - get: - summary: |- - PacketCommitments returns all the packet commitments hashes associated - with a channel. - operationId: IbcCoreChannelV1PacketCommitments - responses: - '200': - description: A successful response. - schema: - type: object - properties: - commitments: - 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 - 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: |- - QueryPacketCommitmentsResponse is the request type for the - Query/QueryPacketCommitments 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: 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 - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks: - get: - 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: - sequences: - type: array - items: - type: string - format: uint64 - 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: - 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: 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: packet_ack_sequences - description: list of acknowledgement 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/{packet_commitment_sequences}/unreceived_packets: - get: - 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: - 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: - 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: 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: 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}: - get: - summary: PacketCommitment queries a stored packet commitment hash. - operationId: IbcCoreChannelV1PacketCommitment - responses: - '200': - description: A successful response. - schema: - type: object - properties: - 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: - 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: 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_receipts/{sequence}: - get: - 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: - 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 - 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: >- - 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 - - 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 - - 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: - - 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 channels associated with a connection. - 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: |- - QueryConnectionChannelsResponse is the Response type for the - Query/QueryConnectionChannels 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: 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/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: - 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. - description: list of stored ClientStates 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; - } - description: >- - QueryClientStatesResponse is the response type for the - Query/ClientStates 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 - /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: - title: client state associated with the request identifier - 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" - } - 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 - description: >- - 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: - 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: 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 - - 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: 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 - - 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 - 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: - 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: |- - 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 - - 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: 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. - - 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/client/v1/consensus_states/{client_id}/heights: - get: - summary: >- - 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: - 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 - 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: 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. - - 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/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: - title: >- - consensus state associated with the client identifier at the - given height - 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" - } - 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: >- - QueryConsensusStateResponse is the response type for the - Query/ConsensusState - - 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: 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 - - ConsensusState - in: query - required: false - type: boolean - tags: - - Query - /ibc/core/client/v1/params: - get: - summary: ClientParams queries all parameters of the ibc client submodule. - operationId: IbcCoreClientV1ClientParams - responses: - '200': - description: A successful response. - schema: - type: object - properties: - 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 - - 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: - - 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: - title: client state associated with the request identifier - 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: |- - 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 - - 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: - - 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: - type: object - properties: - upgraded_consensus_state: - title: Consensus state associated with the request identifier - 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: |- - QueryUpgradedConsensusStateResponse is the response type for the - Query/UpgradedConsensusState 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: - - 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: - type: object - properties: - connection_paths: - type: array - items: - 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: - 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: |- - 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: - 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: 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: - type: object - properties: - connections: - type: array - items: - 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 - 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: >- - QueryConnectionsResponse is the response type for the - Query/Connections 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 - /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: - 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: - 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: >- - 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: - 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: 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: - 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: - 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 - 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: |- - 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 - - 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_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: - 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 - - 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" - } - 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 - - 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: |- - 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 - - 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_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 - /ibc/core/connection/v1/params: - get: - summary: ConnectionParams queries all parameters of the ibc connection submodule. - operationId: IbcCoreConnectionV1ConnectionParams - responses: - '200': - description: A successful response. - schema: - 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. - 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: - - Query -definitions: - cosmos.auth.v1beta1.AddressBytesToStringResponse: - type: object - properties: - address_string: - type: string - description: >- - AddressBytesToStringResponse is the response type for AddressString rpc - method. - - - 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. - - - 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. - - 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 - - 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: >- - 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 { - ... - } - - 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" - } - 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. - - - 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 - - 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: >- - 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 - - 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: >- - QueryModuleAccountsResponse is the response type for the - Query/ModuleAccounts RPC method. - - - 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. - - 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 - - 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. - reverse: - type: boolean - description: >- - reverse is set to true if results are to be returned in the descending - order. - - - 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 - - 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" - } - 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 - - 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: - 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. - 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 - - 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: >- - 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: >- - 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: >- - 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: >- - 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 - - 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: >- - 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 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: >- - 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 - - 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: - 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. - - 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 - - raise the base_denom to in order to equal the given DenomUnit's denom - - 1 denom = 10^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: - 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 - - raise the base_denom to in order to equal the given DenomUnit's - denom - - 1 denom = 10^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. - - - Since: cosmos-sdk 0.43 - uri: - type: string - description: >- - URI to a document (on or off-chain) that contains additional - information. Optional. - - - 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 document didn't change. Optional. - - - 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. - - 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 - - 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. - - 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: >- - QueryAllBalancesResponse is the response type for the Query/AllBalances - RPC - - 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 - - raise the base_denom to in order to equal the given - DenomUnit's denom - - 1 denom = 10^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. - - - Since: cosmos-sdk 0.43 - uri: - type: string - description: >- - URI to a document (on or off-chain) that contains additional - information. Optional. - - - 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 document didn't change. Optional. - - - Since: cosmos-sdk 0.46 - description: >- - QueryDenomMetadataResponse is the response type for the - Query/DenomMetadata RPC - - 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 - - particular denominated token. It contains the account address and - account - - balance of the denominated token. - - - Since: cosmos-sdk 0.46 - 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: >- - QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC - query. - - - 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 - - 1 denom = 10^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. - - - Since: cosmos-sdk 0.43 - uri: - type: string - description: >- - URI to a document (on or off-chain) that contains additional - information. Optional. - - - 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 document didn't change. Optional. - - - 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 - - was set, its value is undefined otherwise - description: >- - QueryDenomsMetadataResponse is the response type for the - Query/DenomsMetadata RPC - - 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 - - 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 - - was set, its value is undefined otherwise - description: >- - QuerySpendableBalancesResponse defines the gRPC response structure for - querying - - an account's spendable balances. - - - 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. - - 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. - - 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 - - was set, its value is undefined otherwise - title: >- - QueryTotalSupplyResponse is the response type for the Query/TotalSupply - RPC - - 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. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - cosmos.base.node.v1beta1.ConfigResponse: - type: object - properties: - minimum_gas_price: - type: string - description: ConfigResponse defines the response structure for the Config gRPC query. - 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 - - be arbitrary format, providing nessecary data for example - neighbouring node - - hash. - - - Note: This type is a duplicate of the ProofOp proto type defined - in - - Tendermint. - description: |- - ProofOps is Merkle proof defined by the list of ProofOps. - - 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. - - 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. - - 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. - cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse: - 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. - 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: - 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: >- - GetLatestBlockResponse is the response type for the Query/GetLatestBlock - RPC - - 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 - - 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. - 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 - - 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. - 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, - - 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. - 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 - - be arbitrary format, providing nessecary data for example neighbouring - node - - hash. - - - 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 - - be arbitrary format, providing nessecary data for example - neighbouring node - - hash. - - - Note: This type is a duplicate of the ProofOp proto type defined in - - Tendermint. - description: |- - ProofOps is Merkle proof defined by the list of ProofOps. - - 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 - - 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. - 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, - - 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. - tendermint.types.BlockID: - 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 - 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: - 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.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. - - 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 - tendermint.types.DuplicateVoteEvidence: - 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. - 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. - - - 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. - tendermint.types.EvidenceList: - 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. - tendermint.types.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. - 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, - - 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 - 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, - - 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. - 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: - 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. - 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. - - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - tendermint.types.Validator: - 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 - tendermint.types.ValidatorSet: - 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.Vote: - 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. - 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, - - 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. - - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - cosmos.distribution.v1beta1.DelegationDelegatorReward: - 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. - 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: - 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: 'Since: cosmos-sdk 0.46' - description: >- - MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward - response type. - cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse: - 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: 'Since: cosmos-sdk 0.46' - 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: - 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. - cosmos.distribution.v1beta1.QueryDelegationRewardsResponse: - 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. - 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 - 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. - 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: - 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. - cosmos.distribution.v1beta1.QueryValidatorCommissionResponse: - 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 - cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse: - 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. - cosmos.distribution.v1beta1.QueryValidatorSlashesResponse: - 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. - 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. - - 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: - 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. - 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': - 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. - cosmos.evidence.v1beta1.QueryEvidenceResponse: - 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. - cosmos.feegrant.v1beta1.Grant: - 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 - 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: - 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. - 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 - 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 - 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 - - 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. - cosmos.gov.v1.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: |- - 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: 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. - 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 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. - cosmos.gov.v1.QueryParamsResponse: - 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. - cosmos.gov.v1.QueryProposalResponse: - 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. - 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 - - 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. - cosmos.gov.v1.QueryTallyResultResponse: - 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. - 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: - 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. - cosmos.gov.v1.QueryVotesResponse: - 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. - 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: - - 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: - voting_period: - type: string - 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: - 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.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. - - 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. - - 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 - - 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. - 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 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: - 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.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. - - - 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. - cosmos.gov.v1beta1.QueryParamsResponse: - 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. - cosmos.gov.v1beta1.QueryProposalResponse: - 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. - 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: - '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. - cosmos.gov.v1beta1.QueryTallyResultResponse: - 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. - 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 - - 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. - 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. - 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. - 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. - - - 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: - 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 - 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: >- - 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: - '@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. - cosmos.group.v1.Member: - 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: |- - 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: - 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. - 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: - 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. - 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: - 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. - cosmos.group.v1.QueryGroupPoliciesByAdminResponse: - 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. - cosmos.group.v1.QueryGroupPoliciesByGroupResponse: - 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. - cosmos.group.v1.QueryGroupPolicyInfoResponse: - 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. - cosmos.group.v1.QueryGroupsByAdminResponse: - 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. - cosmos.group.v1.QueryGroupsByMemberResponse: - 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. - cosmos.group.v1.QueryProposalResponse: - 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. - cosmos.group.v1.QueryProposalsByGroupPolicyResponse: - 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. - 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 - 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. - 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.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. - 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': - 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. - cosmos.nft.v1beta1.MsgSendResponse: - type: object - description: MsgSendResponse defines the Msg/Send response type. - cosmos.nft.v1beta1.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. - cosmos.nft.v1beta1.QueryBalanceResponse: - type: object - 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: - 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 - 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 - - 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 - cosmos.nft.v1beta1.QueryNFTResponse: - 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 - cosmos.nft.v1beta1.QueryNFTsResponse: - 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 - cosmos.nft.v1beta1.QueryOwnerResponse: - type: object - properties: - owner: - type: string - title: QueryOwnerResponse is the response type for the Query/Owner RPC method - cosmos.nft.v1beta1.QuerySupplyResponse: - type: object - properties: - amount: - type: string - format: uint64 - title: QuerySupplyResponse is the response type for the Query/Supply RPC method - cosmos.params.v1beta1.ParamChange: - type: object - properties: - subspace: - type: string - key: - type: string - value: - type: string - description: |- - ParamChange defines an individual parameter change, for use in - ParameterChangeProposal. - cosmos.params.v1beta1.QueryParamsResponse: - 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. - 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 - cosmos.slashing.v1beta1.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. - cosmos.slashing.v1beta1.QueryParamsResponse: - 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 - cosmos.slashing.v1beta1.QuerySigningInfoResponse: - 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 - cosmos.slashing.v1beta1.QuerySigningInfosResponse: - 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 - cosmos.slashing.v1beta1.ValidatorSigningInfo: - 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. - cosmos.staking.v1beta1.BondStatus: - type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - description: |- - BondStatus is the status of a validator. - - - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status. - - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded. - - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding. - - BOND_STATUS_BONDED: BONDED defines a validator that is bonded. - cosmos.staking.v1beta1.Commission: - 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. - description: Commission defines commission parameters for a given validator. - cosmos.staking.v1beta1.CommissionRates: - 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. - description: >- - CommissionRates defines the initial commission rates to be used for - creating - - a validator. - cosmos.staking.v1beta1.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. - cosmos.staking.v1beta1.DelegationResponse: - 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. - cosmos.staking.v1beta1.Description: - 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. - description: Description defines a validator description. - cosmos.staking.v1beta1.HistoricalInfo: - 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: - 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: >- - HistoricalInfo contains header and validator information for a given - block. - - It is stored as part of staking module's state, which persists the `n` - most - - recent HistoricalInfo - - (`n` is set by the staking module's `historical_entries` parameter). - cosmos.staking.v1beta1.MsgBeginRedelegateResponse: - type: object - properties: - completion_time: - 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. - cosmos.staking.v1beta1.MsgDelegateResponse: - type: object - description: MsgDelegateResponse defines the Msg/Delegate response type. - cosmos.staking.v1beta1.MsgEditValidatorResponse: - type: object - description: MsgEditValidatorResponse defines the Msg/EditValidator response type. - cosmos.staking.v1beta1.MsgUndelegateResponse: - type: object - properties: - completion_time: - type: string - format: date-time - description: MsgUndelegateResponse defines the Msg/Undelegate response type. - cosmos.staking.v1beta1.Params: - 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. - 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 - properties: - not_bonded_tokens: - type: string - bonded_tokens: - type: string - description: |- - Pool is used for tracking bonded and not-bonded token supply of the bond - denomination. - cosmos.staking.v1beta1.QueryDelegationResponse: - type: object - properties: - delegation_response: - description: delegation_responses defines the delegation info of a delegation. - 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: >- - QueryDelegationResponse is response type for the Query/Delegation RPC - method. - cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse: - 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. - cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse: - 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. - - 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. - cosmos.staking.v1beta1.QueryDelegatorValidatorResponse: - type: object - properties: - validator: - description: validator defines the validator info. - 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: |- - QueryDelegatorValidatorResponse response type for the - Query/DelegatorValidator RPC method. - cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse: - type: object - properties: - validators: - 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: 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. - cosmos.staking.v1beta1.QueryHistoricalInfoResponse: - 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: - 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: - 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: >- - QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo - RPC - - method. - cosmos.staking.v1beta1.QueryParamsResponse: - 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. - 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 - 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. - cosmos.staking.v1beta1.QueryRedelegationsResponse: - type: object - properties: - redelegation_responses: - 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. - - 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: >- - RedelegationResponse is equivalent to a Redelegation except that its - entries - - contain 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 - 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: >- - QueryRedelegationsResponse is response type for the Query/Redelegations - RPC - - method. - cosmos.staking.v1beta1.QueryUnbondingDelegationResponse: - type: object - properties: - unbond: - description: unbond defines the unbonding information of a 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. - 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: |- - QueryDelegationResponse is response type for the Query/UnbondingDelegation - RPC method. - cosmos.staking.v1beta1.QueryValidatorDelegationsResponse: - 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. - 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 - title: |- - QueryValidatorDelegationsResponse is response type for the - Query/ValidatorDelegations RPC method - cosmos.staking.v1beta1.QueryValidatorResponse: - type: object - properties: - validator: - description: validator defines the validator info. - 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 - title: QueryValidatorResponse is response type for the Query/Validator RPC method - cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse: - 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. - - 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: |- - QueryValidatorUnbondingDelegationsResponse is response type for the - Query/ValidatorUnbondingDelegations RPC method. - cosmos.staking.v1beta1.QueryValidatorsResponse: - type: object - properties: - validators: - 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: validators contains all the queried validators. - 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 - title: >- - QueryValidatorsResponse is response type for the Query/Validators RPC - method - cosmos.staking.v1beta1.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. - cosmos.staking.v1beta1.RedelegationEntry: - 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. - cosmos.staking.v1beta1.RedelegationEntryResponse: - 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. - cosmos.staking.v1beta1.RedelegationResponse: - 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. - - 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: >- - RedelegationResponse is equivalent to a Redelegation except that its - entries - - contain a balance in addition to shares which is more suitable for client - - responses. - cosmos.staking.v1beta1.UnbondingDelegation: - 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. - - unbonding delegation entries - description: |- - UnbondingDelegation stores all of a single delegator's unbonding bonds - for a single validator in an time-ordered list. - cosmos.staking.v1beta1.UnbondingDelegationEntry: - 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. - cosmos.staking.v1beta1.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: - 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. - 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: - - 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: Result is the union of ResponseFormat and ResponseCheckTx. - cosmos.base.abci.v1beta1.StringEvent: - 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. - cosmos.base.abci.v1beta1.TxResponse: - 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: >- - TxResponse defines a structure containing relevant tx data and metadata. - The - - tags are stringified and the log is JSON decoded. - cosmos.crypto.multisig.v1beta1.CompactBitArray: - type: object - properties: - extra_bits_stored: - type: integer - format: int64 - elems: - type: string - format: byte - description: |- - CompactBitArray is an implementation of a space efficient bit array. - This is used to ensure that the encoded data takes up a minimal amount of - space after proto encoding. - This is not thread safe, and is not intended for concurrent usage. - cosmos.tx.signing.v1beta1.SignMode: - type: string - enum: - - 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. - - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - 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. 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. - - 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 - number - - and order of elements must match the required signers from TxBody's - - messages. The first element is the primary signer and the one which - pays - - the fee. - fee: - description: >- - Fee is the fee and gas limit for the transaction. The first signer is - the - - primary signer and the one which pays the fee. The fee can be - calculated - - based on the cost of evaluating the body and doing signature - verification - - of the signers. This can be estimated via simulation. - 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 - - 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. - cosmos.tx.v1beta1.BroadcastMode: - 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. - cosmos.tx.v1beta1.BroadcastTxRequest: - 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 - 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: >- - 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 - - 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: - 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: - 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, - - 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 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 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. - 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 - - was set, its value is undefined otherwise - description: >- - GetBlockWithTxsResponse is the response type for the - Service.GetBlockWithTxs method. - - - Since: cosmos-sdk 0.45.2 - cosmos.tx.v1beta1.GetTxResponse: - type: object - properties: - tx: - $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: - 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: GetTxResponse is the response type for the Service.GetTx method. - cosmos.tx.v1beta1.GetTxsEventResponse: - type: object - properties: - txs: - type: array - items: - type: object - $ref: '#/definitions/cosmos.tx.v1beta1.Tx' - description: txs is the list of queried transactions. - tx_responses: - type: array - items: - 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: >- - TxResponse defines a structure containing relevant tx data and - metadata. The - - tags are stringified and the log is JSON decoded. - description: tx_responses is the list of queried TxResponses. - pagination: - 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 - 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 - 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. - cosmos.tx.v1beta1.ModeInfo: - type: object - properties: - single: - title: single represents a single signer - type: object - properties: - mode: - title: mode is the signing mode of the single signer - type: string - enum: - - 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. - - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - 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. 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. - - 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 - description: ModeInfo describes the signing mode of a single or nested multisig signer. - cosmos.tx.v1beta1.ModeInfo.Multi: - type: object - properties: - bitarray: - title: bitarray specifies which keys within the multisig are signing - type: object - properties: - extra_bits_stored: - type: integer - format: int64 - elems: - type: string - format: byte - description: >- - CompactBitArray is an implementation of a space efficient bit array. - - This is used to ensure that the encoded data takes up a minimal amount - of - - space after proto encoding. - - This is not thread safe, and is not intended for concurrent usage. - 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 - which could include nested multisig public keys - title: Multi is the mode info for a multisig public key - cosmos.tx.v1beta1.ModeInfo.Single: - type: object - properties: - mode: - title: mode is the signing mode of the single signer - type: string - enum: - - 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. - - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - 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. 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. - - 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 - future - cosmos.tx.v1beta1.OrderBy: - type: string - enum: - - ORDER_BY_UNSPECIFIED - - ORDER_BY_ASC - - ORDER_BY_DESC - default: ORDER_BY_UNSPECIFIED - description: >- - - 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 - title: OrderBy defines the sorting order - cosmos.tx.v1beta1.SignerInfo: - 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': - 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: {} - mode_info: - $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo' - title: |- - mode_info describes the signing mode of the signer and is a nested - structure to support nested multisig pubkey's - sequence: - type: string - format: uint64 - description: >- - sequence is the sequence of the account, which describes the - - number of committed transactions signed by a given address. It is used - to - - prevent replay attacks. - description: |- - SignerInfo describes the public key and signing mode of a single top-level - signer. - cosmos.tx.v1beta1.SimulateRequest: - type: object - properties: - tx: - $ref: '#/definitions/cosmos.tx.v1beta1.Tx' - description: |- - tx is the transaction to simulate. - Deprecated. Send raw tx bytes instead. - tx_bytes: - type: string - format: byte - description: |- - tx_bytes is the raw transaction. - - Since: cosmos-sdk 0.43 - description: |- - SimulateRequest is the request type for the Service.Simulate - RPC method. - cosmos.tx.v1beta1.SimulateResponse: - 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. - - 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: - - 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: - body: - title: body is the processable content of the transaction - type: object - properties: - 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 messages to be executed. The required - signers of - - those messages define the number and order of elements in - AuthInfo's - - signer_infos and Tx's signatures. Each required signer address is - added to - - the list only the first time it occurs. - - By convention, the first required signer (usually from the first - message) - - is referred to as the primary signer and pays the fee for the - whole - - transaction. - memo: - type: string - description: >- - memo is any arbitrary note/comment to be added to the transaction. - - WARNING: in clients, any publicly exposed text should not be - called memo, - - but should be called `note` instead (see - https://github.com/cosmos/cosmos-sdk/issues/9122). - timeout_height: - type: string - format: uint64 - title: |- - timeout is the block height after which this transaction will not - be processed by the chain - extension_options: - 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" - } - title: >- - extension_options are arbitrary options that can be added by - chains - - when the default options are not sufficient. If any of these are - present - - and can't be handled, the transaction will be rejected - non_critical_extension_options: - 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" - } - title: >- - extension_options are arbitrary options that can be added by - chains - - when the default options are not sufficient. If any of these are - present - - and can't be handled, they will be ignored - description: TxBody is the body of a transaction that all signers sign over. - auth_info: - $ref: '#/definitions/cosmos.tx.v1beta1.AuthInfo' - title: |- - auth_info is the authorization related content of the transaction, - specifically signers, signer modes and fee - signatures: - type: array - items: - type: string - format: byte - description: >- - signatures is a list of signatures that matches the length and order - of - - AuthInfo's signer_infos to allow connecting signature meta information - like - - public key and signing mode by position. - description: Tx is the standard type used for broadcasting transactions. - cosmos.tx.v1beta1.TxBody: - type: object - properties: - 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 messages to be executed. The required signers of - - those messages define the number and order of elements in AuthInfo's - - signer_infos and Tx's signatures. Each required signer address is - added to - - the list only the first time it occurs. - - By convention, the first required signer (usually from the first - message) - - is referred to as the primary signer and pays the fee for the whole - - transaction. - memo: - type: string - description: >- - memo is any arbitrary note/comment to be added to the transaction. - - WARNING: in clients, any publicly exposed text should not be called - memo, - - but should be called `note` instead (see - https://github.com/cosmos/cosmos-sdk/issues/9122). - timeout_height: - type: string - format: uint64 - title: |- - timeout is the block height after which this transaction will not - be processed by the chain - extension_options: - 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" - } - title: >- - extension_options are arbitrary options that can be added by chains - - when the default options are not sufficient. If any of these are - present - - and can't be handled, the transaction will be rejected - non_critical_extension_options: - 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" - } - title: >- - extension_options are arbitrary options that can be added by chains - - when the default options are not sufficient. If any of these are - present - - and can't be handled, they will be ignored - description: TxBody is the body of a transaction that all signers sign over. - tendermint.abci.Event: - 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. - tendermint.abci.EventAttribute: - 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. - cosmos.upgrade.v1beta1.ModuleVersion: - 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 - 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: - 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: - 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: >- - Plan specifies information about a planned upgrade and when it should - occur. - cosmos.upgrade.v1beta1.QueryAppliedPlanResponse: - type: object - properties: - height: - type: string - format: int64 - description: height is the block height at which the plan was applied. - description: >- - QueryAppliedPlanResponse is the response type for the Query/AppliedPlan - 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: - 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 - - 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: - 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. - cosmos.upgrade.v1beta1.QueryModuleVersionsResponse: - 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 - cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse: - type: object - properties: - upgraded_consensus_state: - type: string - format: byte - title: 'Since: cosmos-sdk 0.43' - description: >- - QueryUpgradedConsensusStateResponse is the response type for the - 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 - 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.MsgCardSaveContentResponse: - type: object - properties: - airdropClaimed: - type: boolean - decentralcardgame.cardchain.cardchain.MsgCardSchemeBuyResponse: - type: object - properties: - cardId: - type: string - format: uint64 - decentralcardgame.cardchain.cardchain.MsgCardVoteResponse: - type: object - properties: - airdropClaimed: - type: boolean - decentralcardgame.cardchain.cardchain.MsgUserCreateResponse: - type: object - decentralcardgame.cardchain.cardchain.Params: - type: object - description: Params defines the parameters for the module. - decentralcardgame.cardchain.cardchain.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.cardchain.SingleVote: - type: object - properties: - cardId: - type: string - format: uint64 - voteType: - type: string - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - decentralcardgame.cardchain.cardchain.VoteType: - type: string - enum: - - fairEnough - - inappropriate - - overpowered - - underpowered - default: fairEnough - 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: - 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. - 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 - properties: - send_enabled: - type: boolean - description: >- - send_enabled enables or disables all cross-chain token transfers from - this - - chain. - receive_enabled: - type: boolean - description: >- - receive_enabled enables or disables all cross-chain token transfers to - this - - chain. - description: >- - Params defines the set of IBC transfer parameters. - - NOTE: To prevent a single token from being transferred, set the - - TransfersEnabled parameter to true and then set the bank module's - 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: - 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: |- - QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC - method. - ibc.applications.transfer.v1.QueryDenomTracesResponse: - 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. - 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 - 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 - - chain. - receive_enabled: - type: boolean - description: >- - receive_enabled enables or disables all cross-chain token - transfers to this - - chain. - description: QueryParamsResponse is the response type for the Query/Params RPC method. - ibc.core.client.v1.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: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of updating - and - - freezing clients - ibc.core.channel.v1.Channel: - 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 - modules on separate blockchains, which has at least one end capable of - sending packets and one end capable of receiving packets. - ibc.core.channel.v1.Counterparty: - 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 - title: Counterparty defines a channel end counterparty - ibc.core.channel.v1.IdentifiedChannel: - 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. - 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 - description: >- - MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm - response - - type. - ibc.core.channel.v1.MsgChannelCloseInitResponse: - type: object - description: >- - MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response - type. - ibc.core.channel.v1.MsgChannelOpenAckResponse: - type: object - description: MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type. - ibc.core.channel.v1.MsgChannelOpenConfirmResponse: - type: object - description: |- - MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response - 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 - 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 - title: Order defines if a channel is ORDERED or UNORDERED - ibc.core.channel.v1.Packet: - type: object - properties: - sequence: - type: string - format: uint64 - description: >- - number corresponds to the order of sends and receives, where a Packet - - with an earlier sequence number must be sent and received before a - Packet - - with a later sequence number. - source_port: - type: string - description: identifies the port on the sending chain. - source_channel: - type: string - description: identifies the channel end on the sending chain. - destination_port: - type: string - description: identifies the port on the receiving chain. - destination_channel: - type: string - description: identifies the channel end on the receiving chain. - data: - type: string - format: byte - title: actual opaque bytes transferred directly to the application module - timeout_height: - title: block height after which the packet times out - 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 - timeout_timestamp: - type: string - format: uint64 - title: block timestamp (in nanoseconds) after which the packet times out - title: >- - Packet defines a type that carries data across different chains through - IBC - ibc.core.channel.v1.PacketState: - 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. - ibc.core.channel.v1.QueryChannelClientStateResponse: - 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: - 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 - 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 - ibc.core.channel.v1.QueryChannelConsensusStateResponse: - type: object - properties: - 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 - - 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" - } - 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 - - 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 - ibc.core.channel.v1.QueryChannelResponse: - 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 - - modules on separate blockchains, which has at least one end capable of - - 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 - - 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: >- - QueryChannelResponse is the response type for the Query/Channel RPC - method. - - Besides the Channel end, it includes a proof and the height from which the - - proof was retrieved. - ibc.core.channel.v1.QueryChannelsResponse: - 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 - 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: |- - 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 - description: >- - QueryChannelsResponse is the response type for the Query/Channels RPC - method. - ibc.core.channel.v1.QueryConnectionChannelsResponse: - 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 - identifier fields. - description: list of channels associated with a connection. - 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: |- - QueryConnectionChannelsResponse is the Response type for the - Query/QueryConnectionChannels RPC method - ibc.core.channel.v1.QueryNextSequenceReceiveResponse: - 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 - - gets reset - title: |- - QuerySequenceResponse is the request type for the - Query/QueryNextSequenceReceiveResponse RPC method - ibc.core.channel.v1.QueryPacketAcknowledgementResponse: - 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 - 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 - ibc.core.channel.v1.QueryPacketAcknowledgementsResponse: - 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 - 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 - ibc.core.channel.v1.QueryPacketCommitmentResponse: - type: object - properties: - 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 - ibc.core.channel.v1.QueryPacketCommitmentsResponse: - type: object - properties: - commitments: - 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 - 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: |- - QueryPacketCommitmentsResponse is the request type for the - Query/QueryPacketCommitments RPC method - ibc.core.channel.v1.QueryPacketReceiptResponse: - 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 - 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: >- - QueryPacketReceiptResponse defines the client query response for a packet - - receipt which also includes a proof, and the height from which the proof - was - - retrieved - ibc.core.channel.v1.QueryUnreceivedAcksResponse: - type: object - properties: - sequences: - type: array - items: - type: string - format: uint64 - 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 - ibc.core.channel.v1.QueryUnreceivedPacketsResponse: - type: object - properties: - 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 - 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: - - 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. - ibc.core.client.v1.IdentifiedClientState: - 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. - ibc.core.client.v1.ConsensusStateWithHeight: - 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 - - 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 - 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. - ibc.core.client.v1.MsgCreateClientResponse: - type: object - description: MsgCreateClientResponse defines the Msg/CreateClient response type. - ibc.core.client.v1.MsgSubmitMisbehaviourResponse: - type: object - description: |- - MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response - type. - ibc.core.client.v1.MsgUpdateClientResponse: - type: object - description: MsgUpdateClientResponse defines the Msg/UpdateClient response type. - ibc.core.client.v1.MsgUpgradeClientResponse: - type: object - description: MsgUpgradeClientResponse defines the Msg/UpgradeClient response type. - ibc.core.client.v1.Params: - type: object - properties: - allowed_clients: - type: array - items: - type: string - description: allowed_clients defines the list of allowed client state types. - description: Params defines the set of IBC light client parameters. - ibc.core.client.v1.QueryClientParamsResponse: - type: object - properties: - 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 - - method. - ibc.core.client.v1.QueryClientStateResponse: - type: object - properties: - client_state: - title: client state associated with the request identifier - 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" - } - 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 - description: >- - 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. - ibc.core.client.v1.QueryClientStatesResponse: - type: object - properties: - client_states: - type: array - items: - 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. - description: list of stored ClientStates 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; - } - description: >- - QueryClientStatesResponse is the response type for the Query/ClientStates - RPC - - method. - ibc.core.client.v1.QueryClientStatusResponse: - 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. - 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': - 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" - } - 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: >- - QueryConsensusStateResponse is the response type for the - Query/ConsensusState - - RPC method - ibc.core.client.v1.QueryConsensusStatesResponse: - 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 - - 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 - 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: - 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: |- - QueryConsensusStatesResponse is the response type for the - Query/ConsensusStates RPC method - ibc.core.client.v1.QueryUpgradedClientStateResponse: - type: object - properties: - upgraded_client_state: - title: client state associated with the request identifier - 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: |- - QueryUpgradedClientStateResponse is the response type for the - Query/UpgradedClientState RPC method. - ibc.core.client.v1.QueryUpgradedConsensusStateResponse: - type: object - properties: - upgraded_consensus_state: - title: Consensus state associated with the request identifier - 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: |- - QueryUpgradedConsensusStateResponse is the response type for the - Query/UpgradedConsensusState RPC method. - ibc.core.commitment.v1.MerklePrefix: - 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...)) - ibc.core.connection.v1.ConnectionEnd: - 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. - ibc.core.connection.v1.Counterparty: - 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...)) - description: >- - Counterparty defines the counterparty chain associated with a connection - end. - ibc.core.connection.v1.IdentifiedConnection: - 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. - ibc.core.connection.v1.MsgConnectionOpenAckResponse: - type: object - description: >- - MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response - type. - ibc.core.connection.v1.MsgConnectionOpenConfirmResponse: - type: object - description: |- - MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm - response type. - ibc.core.connection.v1.MsgConnectionOpenInitResponse: - type: object - description: |- - MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response - type. - ibc.core.connection.v1.MsgConnectionOpenTryResponse: - type: object - 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: - connection_paths: - type: array - items: - 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: - 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: |- - QueryClientConnectionsResponse is the response type for the - Query/ClientConnections RPC method - ibc.core.connection.v1.QueryConnectionClientStateResponse: - 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: - 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 - 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: |- - QueryConnectionClientStateResponse is the response type for the - Query/ConnectionClientState RPC method - ibc.core.connection.v1.QueryConnectionConsensusStateResponse: - type: object - properties: - 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 - - 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" - } - 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 - - 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: |- - 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: - 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: - 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: >- - 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. - ibc.core.connection.v1.QueryConnectionsResponse: - type: object - properties: - connections: - type: array - items: - 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 - 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: >- - QueryConnectionsResponse is the response type for the Query/Connections - RPC - - method. - ibc.core.connection.v1.State: - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - default: STATE_UNINITIALIZED_UNSPECIFIED - description: |- - State defines if a connection is in one of the following states: - INIT, TRYOPEN, OPEN or UNINITIALIZED. - - - STATE_UNINITIALIZED_UNSPECIFIED: Default State - - STATE_INIT: A connection end has just started the opening handshake. - - STATE_TRYOPEN: A connection end has acknowledged the handshake step on the counterparty - chain. - - STATE_OPEN: A connection end has completed the handshake. - ibc.core.connection.v1.Version: - 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. +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.auth.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the x/auth module\nparameters. The authority defaults to the x/gov module account.","operationId":"FeegrantMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","operationId":"FeegrantMsg_Exec","parameters":[{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Grant":{"post":{"tags":["Msg"],"summary":"Grant grants the provided authorization to the grantee on the granter's\naccount with the provided expiration time. If there is already a grant\nfor the given (granter, grantee, Authorization) triple, then the grant\nwill be overwritten.","operationId":"FeegrantMsg_Grant","parameters":[{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Revoke":{"post":{"tags":["Msg"],"summary":"Revoke revokes any authorization corresponding to the provided method name on the\ngranter's account that has been granted to the grantee.","operationId":"FeegrantMsg_Revoke","parameters":[{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevokeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.autocli.v1.Query/AppOptions":{"post":{"tags":["Query"],"summary":"AppOptions returns the autocli options for all of the modules in an app.","operationId":"FeegrantQuery_AppOptions","parameters":[{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/MultiSend":{"post":{"tags":["Msg"],"summary":"MultiSend defines a method for sending coins from some accounts to other accounts.","operationId":"FeegrantMsg_MultiSend","parameters":[{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method for sending coins from one account to another account.","operationId":"FeegrantMsg_Send","parameters":[{"description":"MsgSend represents a message to send coins from one account to another.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/SetSendEnabled":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"SetSendEnabled is a governance operation for setting the SendEnabled flag\non any number of Denoms. Only the entries to add or update should be\nincluded. Entries that already exist in the store, but that aren't\nincluded in this message, will be left unchanged.","operationId":"FeegrantMsg_SetSendEnabled","parameters":[{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabled"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/bank module parameters.\nThe authority is defined in the keeper.","operationId":"FeegrantMsg_UpdateParamsMixin67","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/AuthorizeCircuitBreaker":{"post":{"tags":["Msg"],"summary":"AuthorizeCircuitBreaker allows a super-admin to grant (or revoke) another\naccount's circuit breaker permissions.","operationId":"FeegrantMsg_AuthorizeCircuitBreaker","parameters":[{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/ResetCircuitBreaker":{"post":{"tags":["Msg"],"summary":"ResetCircuitBreaker resumes processing of Msg's in the state machine that\nhave been been paused using TripCircuitBreaker.","operationId":"FeegrantMsg_ResetCircuitBreaker","parameters":[{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/TripCircuitBreaker":{"post":{"tags":["Msg"],"summary":"TripCircuitBreaker pauses processing of Msg's in the state machine.","operationId":"FeegrantMsg_TripCircuitBreaker","parameters":[{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.consensus.v1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/consensus module parameters.\nThe authority is defined in the keeper.","operationId":"FeegrantMsg_UpdateParamsMixin80","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/crisis module\nparameters. The authority is defined in the keeper.","operationId":"FeegrantMsg_UpdateParamsMixin82","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/VerifyInvariant":{"post":{"tags":["Msg"],"summary":"VerifyInvariant defines a method to verify a particular invariant.","operationId":"FeegrantMsg_VerifyInvariant","parameters":[{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/CommunityPoolSpend":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"CommunityPoolSpend defines a governance operation for sending tokens from\nthe community pool in the x/distribution module to another account, which\ncould be the governance module itself. The authority is defined in the\nkeeper.","operationId":"FeegrantMsg_CommunityPoolSpend","parameters":[{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/DepositValidatorRewardsPool":{"post":{"description":"Since: cosmos-sdk 0.50","tags":["Msg"],"summary":"DepositValidatorRewardsPool defines a method to provide additional rewards\nto delegators to a specific validator.","operationId":"FeegrantMsg_DepositValidatorRewardsPool","parameters":[{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.\n\nSince: cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/FundCommunityPool":{"post":{"tags":["Msg"],"summary":"FundCommunityPool defines a method to allow an account to directly\nfund the community pool.","operationId":"FeegrantMsg_FundCommunityPool","parameters":[{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/SetWithdrawAddress":{"post":{"tags":["Msg"],"summary":"SetWithdrawAddress defines a method to change the withdraw address\nfor a delegator (or validator self-delegation).","operationId":"FeegrantMsg_SetWithdrawAddress","parameters":[{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/distribution\nmodule parameters. The authority is defined in the keeper.","operationId":"FeegrantMsg_UpdateParamsMixin93","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward":{"post":{"tags":["Msg"],"summary":"WithdrawDelegatorReward defines a method to withdraw rewards of delegator\nfrom a single validator.","operationId":"FeegrantMsg_WithdrawDelegatorReward","parameters":[{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission":{"post":{"tags":["Msg"],"summary":"WithdrawValidatorCommission defines a method to withdraw the\nfull commission to the validator address.","operationId":"FeegrantMsg_WithdrawValidatorCommission","parameters":[{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.evidence.v1beta1.Msg/SubmitEvidence":{"post":{"tags":["Msg"],"summary":"SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or\ncounterfactual signing.","operationId":"FeegrantMsg_SubmitEvidence","parameters":[{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidence"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/GrantAllowance":{"post":{"tags":["Msg"],"summary":"GrantAllowance grants fee allowance to the grantee on the granter's\naccount with the provided expiration time.","operationId":"FeegrantMsg_GrantAllowance","parameters":[{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/PruneAllowances":{"post":{"description":"Since cosmos-sdk 0.50","tags":["Msg"],"summary":"PruneAllowances prunes expired fee allowances, currently up to 75 at a time.","operationId":"FeegrantMsg_PruneAllowances","parameters":[{"description":"MsgPruneAllowances prunes expired fee allowances.\n\nSince cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowances"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/RevokeAllowance":{"post":{"tags":["Msg"],"summary":"RevokeAllowance revokes any fee allowance of granter's account that\nhas been granted to the grantee.","operationId":"FeegrantMsg_RevokeAllowance","parameters":[{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/CancelProposal":{"post":{"description":"Since: cosmos-sdk 0.50","tags":["Msg"],"summary":"CancelProposal defines a method to cancel governance proposal","operationId":"FeegrantMsg_CancelProposal","parameters":[{"description":"MsgCancelProposal is the Msg/CancelProposal request type.\n\nSince: cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"FeegrantMsg_Deposit","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/ExecLegacyContent":{"post":{"tags":["Msg"],"summary":"ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal\nto execute a legacy content-based proposal.","operationId":"FeegrantMsg_ExecLegacyContent","parameters":[{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given the messages.","operationId":"FeegrantMsg_SubmitProposal","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/gov module\nparameters. The authority is defined in the keeper.","operationId":"FeegrantMsg_UpdateParamsMixin106","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"FeegrantMsg_Vote","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/VoteWeighted":{"post":{"tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"FeegrantMsg_VoteWeighted","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"FeegrantMsg_DepositMixin110","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given a content.","operationId":"FeegrantMsg_SubmitProposalMixin110","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"FeegrantMsg_VoteMixin110","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/VoteWeighted":{"post":{"description":"Since: cosmos-sdk 0.43","tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"FeegrantMsg_VoteWeightedMixin110","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.\n\nSince: cosmos-sdk 0.43","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroup":{"post":{"tags":["Msg"],"summary":"CreateGroup creates a new group with an admin account address, a list of members and some optional metadata.","operationId":"FeegrantMsg_CreateGroup","parameters":[{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupPolicy creates a new group policy using given DecisionPolicy.","operationId":"FeegrantMsg_CreateGroupPolicy","parameters":[{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupWithPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupWithPolicy creates a new group with policy.","operationId":"FeegrantMsg_CreateGroupWithPolicy","parameters":[{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec executes a proposal.","operationId":"FeegrantMsg_ExecMixin114","parameters":[{"description":"MsgExec is the Msg/Exec request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/LeaveGroup":{"post":{"tags":["Msg"],"summary":"LeaveGroup allows a group member to leave the group.","operationId":"FeegrantMsg_LeaveGroup","parameters":[{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal submits a new proposal.","operationId":"FeegrantMsg_SubmitProposalMixin114","parameters":[{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupAdmin updates the group admin with given group id and previous admin address.","operationId":"FeegrantMsg_UpdateGroupAdmin","parameters":[{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMembers":{"post":{"tags":["Msg"],"summary":"UpdateGroupMembers updates the group members with given group id and admin address.","operationId":"FeegrantMsg_UpdateGroupMembers","parameters":[{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembers"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupMetadata updates the group metadata with given group id and admin address.","operationId":"FeegrantMsg_UpdateGroupMetadata","parameters":[{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyAdmin updates a group policy admin.","operationId":"FeegrantMsg_UpdateGroupPolicyAdmin","parameters":[{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyDecisionPolicy":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyDecisionPolicy allows a group policy's decision policy to be updated.","operationId":"FeegrantMsg_UpdateGroupPolicyDecisionPolicy","parameters":[{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyMetadata updates a group policy metadata.","operationId":"FeegrantMsg_UpdateGroupPolicyMetadata","parameters":[{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote allows a voter to vote on a proposal.","operationId":"FeegrantMsg_VoteMixin114","parameters":[{"description":"MsgVote is the Msg/Vote request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/WithdrawProposal":{"post":{"tags":["Msg"],"summary":"WithdrawProposal withdraws a proposal.","operationId":"FeegrantMsg_WithdrawProposal","parameters":[{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.mint.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/mint module\nparameters. The authority is defaults to the x/gov module account.","operationId":"FeegrantMsg_UpdateParamsMixin119","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.nft.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method to send a nft from one account to another account.","operationId":"FeegrantMsg_SendMixin125","parameters":[{"description":"MsgSend represents a message to send a nft from one account to another account.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/Unjail":{"post":{"tags":["Msg"],"summary":"Unjail defines a method for unjailing a jailed validator, thus returning\nthem into the bonded validator set, so they can begin receiving provisions\nand rewards again.","operationId":"FeegrantMsg_Unjail","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjail"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjailResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/slashing module\nparameters. The authority defaults to the x/gov module account.","operationId":"FeegrantMsg_UpdateParamsMixin132","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/BeginRedelegate":{"post":{"tags":["Msg"],"summary":"BeginRedelegate defines a method for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","operationId":"FeegrantMsg_BeginRedelegate","parameters":[{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CancelUnbondingDelegation defines a method for performing canceling the unbonding delegation\nand delegate back to previous validator.","operationId":"FeegrantMsg_CancelUnbondingDelegation","parameters":[{"description":"Since: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CreateValidator":{"post":{"tags":["Msg"],"summary":"CreateValidator defines a method for creating a new validator.","operationId":"FeegrantMsg_CreateValidator","parameters":[{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Delegate":{"post":{"tags":["Msg"],"summary":"Delegate defines a method for performing a delegation of coins\nfrom a delegator to a validator.","operationId":"FeegrantMsg_Delegate","parameters":[{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/EditValidator":{"post":{"tags":["Msg"],"summary":"EditValidator defines a method for editing an existing validator.","operationId":"FeegrantMsg_EditValidator","parameters":[{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Undelegate":{"post":{"tags":["Msg"],"summary":"Undelegate defines a method for performing an undelegation from a\ndelegate and a validator.","operationId":"FeegrantMsg_Undelegate","parameters":[{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines an operation for updating the x/staking module\nparameters.\nSince: cosmos-sdk 0.47","operationId":"FeegrantMsg_UpdateParamsMixin137","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenCommit":{"post":{"tags":["ABCIListenerService"],"summary":"ListenCommit is the corresponding endpoint for ABCIListener.ListenCommit","operationId":"FeegrantABCIListenerService_ListenCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenFinalizeBlock":{"post":{"tags":["ABCIListenerService"],"summary":"ListenFinalizeBlock is the corresponding endpoint for ABCIListener.ListenEndBlock","operationId":"FeegrantABCIListenerService_ListenFinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/CancelUpgrade":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CancelUpgrade is a governance operation for cancelling a previously\napproved software upgrade.","operationId":"FeegrantMsg_CancelUpgrade","parameters":[{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/SoftwareUpgrade":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"SoftwareUpgrade is a governance operation for initiating a software upgrade.","operationId":"FeegrantMsg_SoftwareUpgrade","parameters":[{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePeriodicVestingAccount":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CreatePeriodicVestingAccount defines a method that enables creating a\nperiodic vesting account.","operationId":"FeegrantMsg_CreatePeriodicVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePermanentLockedAccount":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CreatePermanentLockedAccount defines a method that enables creating a permanent\nlocked account.","operationId":"FeegrantMsg_CreatePermanentLockedAccount","parameters":[{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreateVestingAccount":{"post":{"tags":["Msg"],"summary":"CreateVestingAccount defines a method that enables creating a vesting\naccount.","operationId":"FeegrantMsg_CreateVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/account_info/{address}":{"get":{"description":"Since: cosmos-sdk 0.47","tags":["Query"],"summary":"AccountInfo queries account info which is common to all account types.","operationId":"FeegrantQuery_AccountInfo","parameters":[{"type":"string","description":"address is the account address string.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.43","tags":["Query"],"summary":"Accounts returns all the existing accounts.","operationId":"FeegrantQuery_Accounts","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account details based on address.","operationId":"FeegrantQuery_Account","parameters":[{"type":"string","description":"address defines the address to query for.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/address_by_id/{id}":{"get":{"description":"Since: cosmos-sdk 0.46.2","tags":["Query"],"summary":"AccountAddressByID returns account address based on account number.","operationId":"FeegrantQuery_AccountAddressByID","parameters":[{"type":"string","format":"int64","description":"Deprecated, use account_id instead\n\nid is the account number of the address to be queried. This field\nshould have been an uint64 (like all account numbers), and will be\nupdated to uint64 in a future version of the auth query.","name":"id","in":"path","required":true},{"type":"string","format":"uint64","description":"account_id is the account number of the address to be queried.\n\nSince: cosmos-sdk 0.47","name":"account_id","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountAddressByIDResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Bech32Prefix queries bech32Prefix","operationId":"FeegrantQuery_Bech32Prefix","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.Bech32PrefixResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_bytes}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AddressBytesToString converts Account Address bytes to string","operationId":"FeegrantQuery_AddressBytesToString","parameters":[{"type":"string","format":"byte","name":"address_bytes","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressBytesToStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_string}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AddressStringToBytes converts Address string to bytes","operationId":"FeegrantQuery_AddressStringToBytes","parameters":[{"type":"string","name":"address_string","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressStringToBytesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"ModuleAccounts returns all the existing module accounts.","operationId":"FeegrantQuery_ModuleAccounts","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts/{name}":{"get":{"tags":["Query"],"summary":"ModuleAccountByName returns the module account info by module name","operationId":"FeegrantQuery_ModuleAccountByName","parameters":[{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountByNameResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters.","operationId":"FeegrantQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants":{"get":{"tags":["Query"],"summary":"Returns list of `Authorization`, granted to the grantee by the granter.","operationId":"FeegrantQuery_Grants","parameters":[{"type":"string","name":"granter","in":"query"},{"type":"string","name":"grantee","in":"query"},{"type":"string","description":"Optional, msg_type_url, when set, will query only grants matching given msg type.","name":"msg_type_url","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/grantee/{grantee}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"GranteeGrants returns a list of `GrantAuthorization` by grantee.","operationId":"FeegrantQuery_GranteeGrants","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranteeGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/granter/{granter}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"GranterGrants returns list of `GrantAuthorization`, granted by granter.","operationId":"FeegrantQuery_GranterGrants","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranterGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"AllBalances queries the balance of all coins for a single account.","operationId":"FeegrantQuery_AllBalances","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"boolean","description":"resolve_denom is the flag to resolve the denom into a human-readable form from the metadata.\n\nSince: cosmos-sdk 0.50","name":"resolve_denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryAllBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}/by_denom":{"get":{"tags":["Query"],"summary":"Balance queries the balance of a single coin for a single account.","operationId":"FeegrantQuery_Balance","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners/{denom}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46","tags":["Query"],"summary":"DenomOwners queries for all account addresses that own a particular token\ndenomination.","operationId":"FeegrantQuery_DenomOwners","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners_by_query":{"get":{"description":"Since: cosmos-sdk 0.50.3","tags":["Query"],"summary":"DenomOwnersByQuery queries for all account addresses that own a particular token\ndenomination.","operationId":"FeegrantQuery_DenomOwnersByQuery","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata":{"get":{"tags":["Query"],"summary":"DenomsMetadata queries the client metadata for all registered coin\ndenominations.","operationId":"FeegrantQuery_DenomsMetadata","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomsMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata/{denom}":{"get":{"tags":["Query"],"summary":"DenomMetadata queries the client metadata of a given coin denomination.","operationId":"FeegrantQuery_DenomMetadata","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata_by_query_string":{"get":{"tags":["Query"],"summary":"DenomMetadataByQueryString queries the client metadata of a given coin denomination.","operationId":"FeegrantQuery_DenomMetadataByQueryString","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/bank module.","operationId":"FeegrantQuery_ParamsMixin66","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/send_enabled":{"get":{"description":"This query only returns denominations that have specific SendEnabled settings.\nAny denomination that does not have a specific setting will use the default\nparams.default_send_enabled, and will not be returned by this query.\n\nSince: cosmos-sdk 0.47","tags":["Query"],"summary":"SendEnabled queries for SendEnabled entries.","operationId":"FeegrantQuery_SendEnabled","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"denoms is the specific denoms you want look up. Leave empty to get all entries.","name":"denoms","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46","tags":["Query"],"summary":"SpendableBalances queries the spendable balance of all coins for a single\naccount.","operationId":"FeegrantQuery_SpendableBalances","parameters":[{"type":"string","description":"address is the address to query spendable balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.47","tags":["Query"],"summary":"SpendableBalanceByDenom queries the spendable balance of a single denom for\na single account.","operationId":"FeegrantQuery_SpendableBalanceByDenom","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"TotalSupply queries the total supply of all coins.","operationId":"FeegrantQuery_TotalSupply","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryTotalSupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"SupplyOf queries the supply of a single coin.","operationId":"FeegrantQuery_SupplyOf","parameters":[{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySupplyOfResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/config":{"get":{"tags":["Service"],"summary":"Config queries for the operator configuration.","operationId":"FeegrantService_Config","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.ConfigResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/status":{"get":{"tags":["Service"],"summary":"Status queries for the node status.","operationId":"FeegrantService_Status","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.StatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/authn":{"get":{"tags":["ReflectionService"],"summary":"GetAuthnDescriptor returns information on how to authenticate transactions in the application\nNOTE: this RPC is still experimental and might be subject to breaking changes or removal in\nfuture releases of the cosmos-sdk.","operationId":"FeegrantReflectionService_GetAuthnDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/chain":{"get":{"tags":["ReflectionService"],"summary":"GetChainDescriptor returns the description of the chain","operationId":"FeegrantReflectionService_GetChainDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/codec":{"get":{"tags":["ReflectionService"],"summary":"GetCodecDescriptor returns the descriptor of the codec of the application","operationId":"FeegrantReflectionService_GetCodecDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/configuration":{"get":{"tags":["ReflectionService"],"summary":"GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application","operationId":"FeegrantReflectionService_GetConfigurationDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/query_services":{"get":{"tags":["ReflectionService"],"summary":"GetQueryServicesDescriptor returns the available gRPC queryable services of the application","operationId":"FeegrantReflectionService_GetQueryServicesDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/tx_descriptor":{"get":{"tags":["ReflectionService"],"summary":"GetTxDescriptor returns information on the used transaction object and available msgs that can be used","operationId":"FeegrantReflectionService_GetTxDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces":{"get":{"tags":["ReflectionService"],"summary":"ListAllInterfaces lists all the interfaces registered in the interface\nregistry.","operationId":"FeegrantReflectionService_ListAllInterfaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListAllInterfacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces/{interface_name}/implementations":{"get":{"tags":["ReflectionService"],"summary":"ListImplementations list all the concrete types that implement a given\ninterface.","operationId":"FeegrantReflectionService_ListImplementations","parameters":[{"type":"string","description":"interface_name defines the interface to query the implementations for.","name":"interface_name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListImplementationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/abci_query":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Service"],"summary":"ABCIQuery defines a query handler that supports ABCI queries directly to the\napplication, bypassing Tendermint completely. The ABCI query must contain\na valid and supported path, including app, custom, p2p, and store.","operationId":"FeegrantService_ABCIQuery","parameters":[{"type":"string","format":"byte","name":"data","in":"query"},{"type":"string","name":"path","in":"query"},{"type":"string","format":"int64","name":"height","in":"query"},{"type":"boolean","name":"prove","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ABCIQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/latest":{"get":{"tags":["Service"],"summary":"GetLatestBlock returns the latest block.","operationId":"FeegrantService_GetLatestBlock","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/{height}":{"get":{"tags":["Service"],"summary":"GetBlockByHeight queries block for given height.","operationId":"FeegrantService_GetBlockByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/node_info":{"get":{"tags":["Service"],"summary":"GetNodeInfo queries the current node info.","operationId":"FeegrantService_GetNodeInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetNodeInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/syncing":{"get":{"tags":["Service"],"summary":"GetSyncing queries node syncing.","operationId":"FeegrantService_GetSyncing","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetSyncingResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/latest":{"get":{"tags":["Service"],"summary":"GetLatestValidatorSet queries latest validator-set.","operationId":"FeegrantService_GetLatestValidatorSet","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/{height}":{"get":{"tags":["Service"],"summary":"GetValidatorSetByHeight queries validator-set at a given height.","operationId":"FeegrantService_GetValidatorSetByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"FeegrantQuery_AccountsMixin76","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"FeegrantQuery_AccountMixin76","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/disable_list":{"get":{"tags":["Query"],"summary":"DisabledList returns a list of disabled message urls","operationId":"FeegrantQuery_DisabledList","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.DisabledListResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/consensus/v1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/consensus module.","operationId":"FeegrantQuery_ParamsMixin79","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/community_pool":{"get":{"tags":["Query"],"summary":"CommunityPool queries the community pool coins.","operationId":"FeegrantQuery_CommunityPool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards":{"get":{"tags":["Query"],"summary":"DelegationTotalRewards queries the total rewards accrued by each\nvalidator.","operationId":"FeegrantQuery_DelegationTotalRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}":{"get":{"tags":["Query"],"summary":"DelegationRewards queries the total rewards accrued by a delegation.","operationId":"FeegrantQuery_DelegationRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true},{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators":{"get":{"tags":["Query"],"summary":"DelegatorValidators queries the validators of a delegator.","operationId":"FeegrantQuery_DelegatorValidators","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address":{"get":{"tags":["Query"],"summary":"DelegatorWithdrawAddress queries withdraw address of a delegator.","operationId":"FeegrantQuery_DelegatorWithdrawAddress","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries params of the distribution module.","operationId":"FeegrantQuery_ParamsMixin92","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}":{"get":{"tags":["Query"],"summary":"ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator","operationId":"FeegrantQuery_ValidatorDistributionInfo","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/commission":{"get":{"tags":["Query"],"summary":"ValidatorCommission queries accumulated commission for a validator.","operationId":"FeegrantQuery_ValidatorCommission","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards":{"get":{"tags":["Query"],"summary":"ValidatorOutstandingRewards queries rewards of a validator address.","operationId":"FeegrantQuery_ValidatorOutstandingRewards","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/slashes":{"get":{"tags":["Query"],"summary":"ValidatorSlashes queries slash events of a validator.","operationId":"FeegrantQuery_ValidatorSlashes","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true},{"type":"string","format":"uint64","description":"starting_height defines the optional starting height to query the slashes.","name":"starting_height","in":"query"},{"type":"string","format":"uint64","description":"starting_height defines the optional ending height to query the slashes.","name":"ending_height","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorSlashesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence":{"get":{"tags":["Query"],"summary":"AllEvidence queries all evidence.","operationId":"FeegrantQuery_AllEvidence","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryAllEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence/{hash}":{"get":{"tags":["Query"],"summary":"Evidence queries evidence based on evidence hash.","operationId":"FeegrantQuery_Evidence","parameters":[{"type":"string","description":"hash defines the evidence hash of the requested evidence.\n\nSince: cosmos-sdk 0.47","name":"hash","in":"path","required":true},{"type":"string","format":"byte","description":"evidence_hash defines the hash of the requested evidence.\nDeprecated: Use hash, a HEX encoded string, instead.","name":"evidence_hash","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}":{"get":{"tags":["Query"],"summary":"Allowance returns granted allwance to the grantee by the granter.","operationId":"FeegrantQuery_Allowance","parameters":[{"type":"string","description":"granter is the address of the user granting an allowance of their funds.","name":"granter","in":"path","required":true},{"type":"string","description":"grantee is the address of the user being granted an allowance of another user's funds.","name":"grantee","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowances/{grantee}":{"get":{"tags":["Query"],"summary":"Allowances returns all the grants for the given grantee address.","operationId":"FeegrantQuery_Allowances","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/issued/{granter}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AllowancesByGranter returns all the grants given by an address","operationId":"FeegrantQuery_AllowancesByGranter","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/constitution":{"get":{"tags":["Query"],"summary":"Constitution queries the chain's constitution.","operationId":"FeegrantQuery_Constitution","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryConstitutionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"FeegrantQuery_ParamsMixin105","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"FeegrantQuery_Proposals","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"FeegrantQuery_Proposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"FeegrantQuery_Deposits","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositAddr.","operationId":"FeegrantQuery_Deposit","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"FeegrantQuery_TallyResult","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"FeegrantQuery_Votes","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"FeegrantQuery_Vote","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"FeegrantQuery_ParamsMixin109","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"FeegrantQuery_ProposalsMixin109","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"FeegrantQuery_ProposalMixin109","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"FeegrantQuery_DepositsMixin109","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositor address.","operationId":"FeegrantQuery_DepositMixin109","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"FeegrantQuery_TallyResultMixin109","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"FeegrantQuery_VotesMixin109","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"FeegrantQuery_VoteMixin109","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_info/{group_id}":{"get":{"tags":["Query"],"summary":"GroupInfo queries group info based on group id.","operationId":"FeegrantQuery_GroupInfo","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_members/{group_id}":{"get":{"tags":["Query"],"summary":"GroupMembers queries members of a group by group id.","operationId":"FeegrantQuery_GroupMembers","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByAdmin queries group policies by admin address.","operationId":"FeegrantQuery_GroupPoliciesByAdmin","parameters":[{"type":"string","description":"admin is the admin address of the group policy.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_group/{group_id}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByGroup queries group policies by group id.","operationId":"FeegrantQuery_GroupPoliciesByGroup","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group policy's group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policy_info/{address}":{"get":{"tags":["Query"],"summary":"GroupPolicyInfo queries group policy info based on account address of group policy.","operationId":"FeegrantQuery_GroupPolicyInfo","parameters":[{"type":"string","description":"address is the account address of the group policy.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPolicyInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups":{"get":{"description":"Since: cosmos-sdk 0.47.1","tags":["Query"],"summary":"Groups queries all groups in state.","operationId":"FeegrantQuery_Groups","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupsByAdmin queries groups by admin address.","operationId":"FeegrantQuery_GroupsByAdmin","parameters":[{"type":"string","description":"admin is the account address of a group's admin.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_member/{address}":{"get":{"tags":["Query"],"summary":"GroupsByMember queries groups by member address.","operationId":"FeegrantQuery_GroupsByMember","parameters":[{"type":"string","description":"address is the group member address.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByMemberResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries a proposal based on proposal id.","operationId":"FeegrantQuery_ProposalMixin113","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult returns the tally result of a proposal. If the proposal is\nstill in voting period, then this query computes the current tally state,\nwhich might not be final. On the other hand, if the proposal is final,\nthen it simply returns the `final_tally_result` state stored in the\nproposal itself.","operationId":"FeegrantQuery_TallyResultMixin113","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique id of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals_by_group_policy/{address}":{"get":{"tags":["Query"],"summary":"ProposalsByGroupPolicy queries proposals based on account address of group policy.","operationId":"FeegrantQuery_ProposalsByGroupPolicy","parameters":[{"type":"string","description":"address is the account address of the group policy related to proposals.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalsByGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/vote_by_proposal_voter/{proposal_id}/{voter}":{"get":{"tags":["Query"],"summary":"VoteByProposalVoter queries a vote by proposal id and voter.","operationId":"FeegrantQuery_VoteByProposalVoter","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVoteByProposalVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"VotesByProposal queries a vote by proposal id.","operationId":"FeegrantQuery_VotesByProposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_voter/{voter}":{"get":{"tags":["Query"],"summary":"VotesByVoter queries a vote by voter.","operationId":"FeegrantQuery_VotesByVoter","parameters":[{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/annual_provisions":{"get":{"tags":["Query"],"summary":"AnnualProvisions current minting annual provisions value.","operationId":"FeegrantQuery_AnnualProvisions","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryAnnualProvisionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/inflation":{"get":{"tags":["Query"],"summary":"Inflation returns the current minting inflation value.","operationId":"FeegrantQuery_Inflation","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryInflationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params returns the total set of minting parameters.","operationId":"FeegrantQuery_ParamsMixin118","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/balance/{owner}/{class_id}":{"get":{"tags":["Query"],"summary":"Balance queries the number of NFTs of a given class owned by the owner, same as balanceOf in ERC721","operationId":"FeegrantQuery_BalanceMixin124","parameters":[{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"path","required":true},{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes":{"get":{"tags":["Query"],"summary":"Classes queries all NFT classes","operationId":"FeegrantQuery_Classes","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes/{class_id}":{"get":{"tags":["Query"],"summary":"Class queries an NFT class based on its id","operationId":"FeegrantQuery_Class","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts":{"get":{"tags":["Query"],"summary":"NFTs queries all NFTs of a given class or owner,choose at least one of the two, similar to tokenByIndex in\nERC721Enumerable","operationId":"FeegrantQuery_NFTs","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"query"},{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"NFT queries an NFT based on its class and id.","operationId":"FeegrantQuery_NFT","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/owner/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"Owner queries the owner of the NFT based on its class and id, same as ownerOf in ERC721","operationId":"FeegrantQuery_Owner","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryOwnerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/supply/{class_id}":{"get":{"tags":["Query"],"summary":"Supply queries the number of NFTs from the given class, same as totalSupply of ERC721.","operationId":"FeegrantQuery_Supply","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QuerySupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries a specific parameter of a module, given its subspace and\nkey.","operationId":"FeegrantQuery_ParamsMixin127","parameters":[{"type":"string","description":"subspace defines the module to query the parameter for.","name":"subspace","in":"query"},{"type":"string","description":"key defines the key of the parameter in the subspace.","name":"key","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/subspaces":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Subspaces queries for all registered subspaces and all keys for a subspace.","operationId":"FeegrantQuery_Subspaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QuerySubspacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of slashing module","operationId":"FeegrantQuery_ParamsMixin130","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos":{"get":{"tags":["Query"],"summary":"SigningInfos queries signing info of all validators","operationId":"FeegrantQuery_SigningInfos","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfosResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos/{cons_address}":{"get":{"tags":["Query"],"summary":"SigningInfo queries the signing info of given cons address","operationId":"FeegrantQuery_SigningInfo","parameters":[{"type":"string","description":"cons_address is the address to query signing info of","name":"cons_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegations/{delegator_addr}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorDelegations queries all delegations of a given delegator address.","operationId":"FeegrantQuery_DelegatorDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Redelegations queries redelegations of given address.","operationId":"FeegrantQuery_Redelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"src_validator_addr defines the validator address to redelegate from.","name":"src_validator_addr","in":"query"},{"type":"string","description":"dst_validator_addr defines the validator address to redelegate to.","name":"dst_validator_addr","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryRedelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorUnbondingDelegations queries all unbonding delegations of a given\ndelegator address.","operationId":"FeegrantQuery_DelegatorUnbondingDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorValidators queries all validators info for given delegator\naddress.","operationId":"FeegrantQuery_DelegatorValidatorsMixin135","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"DelegatorValidator queries validator info for given delegator validator\npair.","operationId":"FeegrantQuery_DelegatorValidator","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/historical_info/{height}":{"get":{"tags":["Query"],"summary":"HistoricalInfo queries the historical info for given height.","operationId":"FeegrantQuery_HistoricalInfo","parameters":[{"type":"string","format":"int64","description":"height defines at which height to query the historical info.","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryHistoricalInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/params":{"get":{"tags":["Query"],"summary":"Parameters queries the staking parameters.","operationId":"FeegrantQuery_ParamsMixin135","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/pool":{"get":{"tags":["Query"],"summary":"Pool queries the pool info.","operationId":"FeegrantQuery_Pool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Validators queries all validators that match the given status.","operationId":"FeegrantQuery_Validators","parameters":[{"type":"string","description":"status enables to query for validators matching a given status.","name":"status","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"Validator queries validator info for given validator address.","operationId":"FeegrantQuery_Validator","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorDelegations queries delegate info for given validator.","operationId":"FeegrantQuery_ValidatorDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}":{"get":{"tags":["Query"],"summary":"Delegation queries delegate info for given validator delegator pair.","operationId":"FeegrantQuery_Delegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation":{"get":{"tags":["Query"],"summary":"UnbondingDelegation queries unbonding info for given validator delegator\npair.","operationId":"FeegrantQuery_UnbondingDelegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorUnbondingDelegations queries unbonding delegations of a validator.","operationId":"FeegrantQuery_ValidatorUnbondingDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxDecode decodes the transaction.","operationId":"FeegrantService_TxDecode","parameters":[{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode/amino":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON.","operationId":"FeegrantService_TxDecodeAmino","parameters":[{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxEncode encodes the transaction.","operationId":"FeegrantService_TxEncode","parameters":[{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode/amino":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes.","operationId":"FeegrantService_TxEncodeAmino","parameters":[{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/simulate":{"post":{"tags":["Service"],"summary":"Simulate simulates executing a transaction for estimating gas usage.","operationId":"FeegrantService_Simulate","parameters":[{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs":{"get":{"tags":["Service"],"summary":"GetTxsEvent fetches txs by event.","operationId":"FeegrantService_GetTxsEvent","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"events is the list of transaction event type.\nDeprecated post v0.47.x: use query instead, which should contain a valid\nevents query.","name":"events","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"],"type":"string","default":"ORDER_BY_UNSPECIFIED","description":" - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","name":"order_by","in":"query"},{"type":"string","format":"uint64","description":"page is the page number to query, starts at 1. If not provided, will\ndefault to first page.","name":"page","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"limit","in":"query"},{"type":"string","description":"query defines the transaction event query that is proxied to Tendermint's\nTxSearch RPC method. The query must be valid.\n\nSince cosmos-sdk 0.50","name":"query","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}},"post":{"tags":["Service"],"summary":"BroadcastTx broadcast transaction.","operationId":"FeegrantService_BroadcastTx","parameters":[{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/block/{height}":{"get":{"description":"Since: cosmos-sdk 0.45.2","tags":["Service"],"summary":"GetBlockWithTxs fetches a block with decoded txs.","operationId":"FeegrantService_GetBlockWithTxs","parameters":[{"type":"string","format":"int64","description":"height is the height of the block to query.","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetBlockWithTxsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/{hash}":{"get":{"tags":["Service"],"summary":"GetTx fetches a tx by hash.","operationId":"FeegrantService_GetTx","parameters":[{"type":"string","description":"hash is the tx hash to query, encoded as a hex string.","name":"hash","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/applied_plan/{name}":{"get":{"tags":["Query"],"summary":"AppliedPlan queries a previously applied upgrade plan by its name.","operationId":"FeegrantQuery_AppliedPlan","parameters":[{"type":"string","description":"name is the name of the applied plan to query for.","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAppliedPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/authority":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Returns the account with authority to conduct upgrades","operationId":"FeegrantQuery_Authority","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAuthorityResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/current_plan":{"get":{"tags":["Query"],"summary":"CurrentPlan queries the current upgrade plan.","operationId":"FeegrantQuery_CurrentPlan","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryCurrentPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/module_versions":{"get":{"description":"Since: cosmos-sdk 0.43","tags":["Query"],"summary":"ModuleVersions queries the list of module versions from state.","operationId":"FeegrantQuery_ModuleVersions","parameters":[{"type":"string","description":"module_name is a field to query a specific module\nconsensus version from state. Leaving this empty will\nfetch the full list of module versions from state","name":"module_name","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryModuleVersionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}":{"get":{"tags":["Query"],"summary":"UpgradedConsensusState queries the consensus state that will serve\nas a trusted kernel for the next version of this chain. It will only be\nstored at the last height of this chain.\nUpgradedConsensusState RPC not supported with legacy querier\nThis rpc is deprecated now that IBC has its own replacement\n(https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54)","operationId":"FeegrantQuery_UpgradedConsensusState","parameters":[{"type":"string","format":"int64","description":"last height of the current chain must be sent in request\nas this is the height under which next consensus state is stored","name":"last_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/PayPacketFee":{"post":{"tags":["Msg"],"summary":"PayPacketFee defines a rpc handler method for MsgPayPacketFee\nPayPacketFee is an open callback that may be called by any module/user that wishes to escrow funds in order to\nincentivize the relaying of the packet at the next sequence\nNOTE: This method is intended to be used within a multi msg transaction, where the subsequent msg that follows\ninitiates the lifecycle of the incentivized packet","operationId":"FeeMsg_PayPacketFee","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFee"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/PayPacketFeeAsync":{"post":{"tags":["Msg"],"summary":"PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync\nPayPacketFeeAsync is an open callback that may be called by any module/user that wishes to escrow funds in order to\nincentivize the relaying of a known packet (i.e. at a particular sequence)","operationId":"FeeMsg_PayPacketFeeAsync","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFeeAsync"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/RegisterCounterpartyPayee":{"post":{"tags":["Msg"],"summary":"RegisterCounterpartyPayee defines a rpc handler method for MsgRegisterCounterpartyPayee\nRegisterCounterpartyPayee is called by the relayer on each channelEnd and allows them to specify the counterparty\npayee address before relaying. This ensures they will be properly compensated for forward relaying since\nthe destination chain must include the registered counterparty payee address in the acknowledgement. This function\nmay be called more than once by a relayer, in which case, the latest counterparty payee address is always used.","operationId":"FeeMsg_RegisterCounterpartyPayee","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterCounterpartyPayee"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/RegisterPayee":{"post":{"tags":["Msg"],"summary":"RegisterPayee defines a rpc handler method for MsgRegisterPayee\nRegisterPayee is called by the relayer on each channelEnd and allows them to set an optional\npayee to which reverse and timeout relayer packet fees will be paid out. The payee should be registered on\nthe source chain from which packets originate as this is where fee distribution takes place. This function may be\ncalled more than once by a relayer, in which case, the latest payee is always used.","operationId":"FeeMsg_RegisterPayee","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterPayee"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.controller.v1.Msg/RegisterInterchainAccount":{"post":{"tags":["Msg"],"summary":"RegisterInterchainAccount defines a rpc handler for MsgRegisterInterchainAccount.","operationId":"FeeMsg_RegisterInterchainAccount","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.controller.v1.Msg/SendTx":{"post":{"tags":["Msg"],"summary":"SendTx defines a rpc handler for MsgSendTx.","operationId":"FeeMsg_SendTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgSendTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.controller.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a rpc handler for MsgUpdateParams.","operationId":"FeeMsg_UpdateParams","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.host.v1.Msg/ModuleQuerySafe":{"post":{"tags":["Msg"],"summary":"ModuleQuerySafe defines a rpc handler for MsgModuleQuerySafe.","operationId":"FeeMsg_ModuleQuerySafe","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.host.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a rpc handler for MsgUpdateParams.","operationId":"FeeMsg_UpdateParamsMixin18","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.transfer.v1.Msg/Transfer":{"post":{"tags":["Msg"],"summary":"Transfer defines a rpc handler method for MsgTransfer.","operationId":"FeeMsg_Transfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.transfer.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a rpc handler for MsgUpdateParams.","operationId":"FeeMsg_UpdateParamsMixin26","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/Acknowledgement":{"post":{"tags":["Msg"],"summary":"Acknowledgement defines a rpc handler method for MsgAcknowledgement.","operationId":"FeeMsg_Acknowledgement","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgAcknowledgement"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgAcknowledgementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelCloseConfirm":{"post":{"tags":["Msg"],"summary":"ChannelCloseConfirm defines a rpc handler method for\nMsgChannelCloseConfirm.","operationId":"FeeMsg_ChannelCloseConfirm","parameters":[{"description":"MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B\nto acknowledge the change of channel state to CLOSED on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelCloseInit":{"post":{"tags":["Msg"],"summary":"ChannelCloseInit defines a rpc handler method for MsgChannelCloseInit.","operationId":"FeeMsg_ChannelCloseInit","parameters":[{"description":"MsgChannelCloseInit defines a msg sent by a Relayer to Chain A\nto close a channel with Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenAck":{"post":{"tags":["Msg"],"summary":"ChannelOpenAck defines a rpc handler method for MsgChannelOpenAck.","operationId":"FeeMsg_ChannelOpenAck","parameters":[{"description":"MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge\nthe change of channel state to TRYOPEN on Chain B.\nWARNING: a channel upgrade MUST NOT initialize an upgrade for this channel\nin the same block as executing this message otherwise the counterparty will\nbe incapable of opening.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenAck"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenAckResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenConfirm":{"post":{"tags":["Msg"],"summary":"ChannelOpenConfirm defines a rpc handler method for MsgChannelOpenConfirm.","operationId":"FeeMsg_ChannelOpenConfirm","parameters":[{"description":"MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of channel state to OPEN on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenInit":{"post":{"tags":["Msg"],"summary":"ChannelOpenInit defines a rpc handler method for MsgChannelOpenInit.","operationId":"FeeMsg_ChannelOpenInit","parameters":[{"description":"MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It\nis called by a relayer on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenTry":{"post":{"tags":["Msg"],"summary":"ChannelOpenTry defines a rpc handler method for MsgChannelOpenTry.","operationId":"FeeMsg_ChannelOpenTry","parameters":[{"description":"MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel\non Chain B. The version field within the Channel field has been deprecated. Its\nvalue will be ignored by core IBC.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenTry"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenTryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeAck":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeAck defines a rpc handler method for MsgChannelUpgradeAck.","operationId":"FeeMsg_ChannelUpgradeAck","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeAck"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeAckResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeCancel":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeCancel defines a rpc handler method for MsgChannelUpgradeCancel.","operationId":"FeeMsg_ChannelUpgradeCancel","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeCancel"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeCancelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeConfirm":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeConfirm defines a rpc handler method for MsgChannelUpgradeConfirm.","operationId":"FeeMsg_ChannelUpgradeConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeInit":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeInit defines a rpc handler method for MsgChannelUpgradeInit.","operationId":"FeeMsg_ChannelUpgradeInit","parameters":[{"description":"MsgChannelUpgradeInit defines the request type for the ChannelUpgradeInit rpc\nWARNING: Initializing a channel upgrade in the same block as opening the channel\nmay result in the counterparty being incapable of opening.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeOpen":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeOpen defines a rpc handler method for MsgChannelUpgradeOpen.","operationId":"FeeMsg_ChannelUpgradeOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeTimeout":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeTimeout defines a rpc handler method for MsgChannelUpgradeTimeout.","operationId":"FeeMsg_ChannelUpgradeTimeout","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTimeout"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTimeoutResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeTry":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeTry defines a rpc handler method for MsgChannelUpgradeTry.","operationId":"FeeMsg_ChannelUpgradeTry","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTry"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/PruneAcknowledgements":{"post":{"tags":["Msg"],"summary":"PruneAcknowledgements defines a rpc handler method for MsgPruneAcknowledgements.","operationId":"FeeMsg_PruneAcknowledgements","parameters":[{"description":"MsgPruneAcknowledgements defines the request type for the PruneAcknowledgements rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgPruneAcknowledgements"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgPruneAcknowledgementsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/RecvPacket":{"post":{"tags":["Msg"],"summary":"RecvPacket defines a rpc handler method for MsgRecvPacket.","operationId":"FeeMsg_RecvPacket","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgRecvPacket"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgRecvPacketResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/Timeout":{"post":{"tags":["Msg"],"summary":"Timeout defines a rpc handler method for MsgTimeout.","operationId":"FeeMsg_Timeout","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeout"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeoutResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/TimeoutOnClose":{"post":{"tags":["Msg"],"summary":"TimeoutOnClose defines a rpc handler method for MsgTimeoutOnClose.","operationId":"FeeMsg_TimeoutOnClose","parameters":[{"description":"MsgTimeoutOnClose timed-out packet upon counterparty channel closure.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeoutOnClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeoutOnCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/UpdateChannelParams":{"post":{"tags":["Msg"],"summary":"UpdateChannelParams defines a rpc handler method for MsgUpdateParams.","operationId":"FeeMsg_UpdateChannelParams","parameters":[{"description":"MsgUpdateParams is the MsgUpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/CreateClient":{"post":{"tags":["Msg"],"summary":"CreateClient defines a rpc handler method for MsgCreateClient.","operationId":"FeeMsg_CreateClient","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgCreateClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgCreateClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/IBCSoftwareUpgrade":{"post":{"tags":["Msg"],"summary":"IBCSoftwareUpgrade defines a rpc handler method for MsgIBCSoftwareUpgrade.","operationId":"FeeMsg_IBCSoftwareUpgrade","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgIBCSoftwareUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/RecoverClient":{"post":{"tags":["Msg"],"summary":"RecoverClient defines a rpc handler method for MsgRecoverClient.","operationId":"FeeMsg_RecoverClient","parameters":[{"description":"MsgRecoverClient defines the message used to recover a frozen or expired client.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgRecoverClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgRecoverClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/SubmitMisbehaviour":{"post":{"tags":["Msg"],"summary":"SubmitMisbehaviour defines a rpc handler method for MsgSubmitMisbehaviour.","operationId":"FeeMsg_SubmitMisbehaviour","parameters":[{"description":"MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for\nlight client misbehaviour.\nThis message has been deprecated. Use MsgUpdateClient instead.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgSubmitMisbehaviour"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgSubmitMisbehaviourResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/UpdateClient":{"post":{"tags":["Msg"],"summary":"UpdateClient defines a rpc handler method for MsgUpdateClient.","operationId":"FeeMsg_UpdateClient","parameters":[{"description":"MsgUpdateClient defines an sdk.Msg to update a IBC client state using\nthe given client message.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/UpdateClientParams":{"post":{"tags":["Msg"],"summary":"UpdateClientParams defines a rpc handler method for MsgUpdateParams.","operationId":"FeeMsg_UpdateClientParams","parameters":[{"description":"MsgUpdateParams defines the sdk.Msg type to update the client parameters.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/UpgradeClient":{"post":{"tags":["Msg"],"summary":"UpgradeClient defines a rpc handler method for MsgUpgradeClient.","operationId":"FeeMsg_UpgradeClient","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpgradeClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpgradeClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenAck":{"post":{"tags":["Msg"],"summary":"ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck.","operationId":"FeeMsg_ConnectionOpenAck","parameters":[{"description":"MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to\nacknowledge the change of connection state to TRYOPEN on Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenAck"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenAckResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenConfirm":{"post":{"tags":["Msg"],"summary":"ConnectionOpenConfirm defines a rpc handler method for\nMsgConnectionOpenConfirm.","operationId":"FeeMsg_ConnectionOpenConfirm","parameters":[{"description":"MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of connection state to OPEN on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenInit":{"post":{"tags":["Msg"],"summary":"ConnectionOpenInit defines a rpc handler method for MsgConnectionOpenInit.","operationId":"FeeMsg_ConnectionOpenInit","parameters":[{"description":"MsgConnectionOpenInit defines the msg sent by an account on Chain A to\ninitialize a connection with Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenTry":{"post":{"tags":["Msg"],"summary":"ConnectionOpenTry defines a rpc handler method for MsgConnectionOpenTry.","operationId":"FeeMsg_ConnectionOpenTry","parameters":[{"description":"MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a\nconnection on Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenTry"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenTryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/UpdateConnectionParams":{"post":{"tags":["Msg"],"summary":"UpdateConnectionParams defines a rpc handler method for\nMsgUpdateParams.","operationId":"FeeMsg_UpdateConnectionParams","parameters":[{"description":"MsgUpdateParams defines the sdk.Msg type to update the connection parameters.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.lightclients.wasm.v1.Msg/MigrateContract":{"post":{"tags":["Msg"],"summary":"MigrateContract defines a rpc handler method for MsgMigrateContract.","operationId":"FeeMsg_MigrateContract","parameters":[{"description":"MsgMigrateContract defines the request type for the MigrateContract rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgMigrateContract"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgMigrateContractResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.lightclients.wasm.v1.Msg/RemoveChecksum":{"post":{"tags":["Msg"],"summary":"RemoveChecksum defines a rpc handler method for MsgRemoveChecksum.","operationId":"FeeMsg_RemoveChecksum","parameters":[{"description":"MsgRemoveChecksum defines the request type for the MsgRemoveChecksum rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgRemoveChecksum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgRemoveChecksumResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.lightclients.wasm.v1.Msg/StoreCode":{"post":{"tags":["Msg"],"summary":"StoreCode defines a rpc handler method for MsgStoreCode.","operationId":"FeeMsg_StoreCode","parameters":[{"description":"MsgStoreCode defines the request type for the StoreCode rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgStoreCode"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgStoreCodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/ports/{port_id}/fee_enabled":{"get":{"tags":["Query"],"summary":"FeeEnabledChannel returns true if the provided port and channel identifiers belong to a fee enabled channel","operationId":"FeeQuery_FeeEnabledChannel","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"unique port identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryFeeEnabledChannelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/ports/{port_id}/incentivized_packets":{"get":{"tags":["Query"],"summary":"Gets all incentivized packets for a specific channel","operationId":"FeeQuery_IncentivizedPacketsForChannel","parameters":[{"type":"string","name":"channel_id","in":"path","required":true},{"type":"string","name":"port_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"string","format":"uint64","description":"Height to query at","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/relayers/{relayer}/counterparty_payee":{"get":{"tags":["Query"],"summary":"CounterpartyPayee returns the registered counterparty payee for forward relaying","operationId":"FeeQuery_CounterpartyPayee","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"the relayer address to which the counterparty is registered","name":"relayer","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryCounterpartyPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/relayers/{relayer}/payee":{"get":{"tags":["Query"],"summary":"Payee returns the registered payee address for a specific channel given the relayer address","operationId":"FeeQuery_Payee","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"the relayer address to which the distribution address is registered","name":"relayer","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/incentivized_packet":{"get":{"tags":["Query"],"summary":"IncentivizedPacket returns all packet fees for a packet given its identifier","operationId":"FeeQuery_IncentivizedPacket","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true},{"type":"string","format":"uint64","description":"block height at which to query","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryIncentivizedPacketResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_ack_fees":{"get":{"tags":["Query"],"summary":"TotalAckFees returns the total acknowledgement fees for a packet given its identifier","operationId":"FeeQuery_TotalAckFees","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryTotalAckFeesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_recv_fees":{"get":{"tags":["Query"],"summary":"TotalRecvFees returns the total receive fees for a packet given its identifier","operationId":"FeeQuery_TotalRecvFees","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryTotalRecvFeesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_timeout_fees":{"get":{"tags":["Query"],"summary":"TotalTimeoutFees returns the total timeout fees for a packet given its identifier","operationId":"FeeQuery_TotalTimeoutFees","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/fee_enabled":{"get":{"tags":["Query"],"summary":"FeeEnabledChannels returns a list of all fee enabled channels","operationId":"FeeQuery_FeeEnabledChannels","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"string","format":"uint64","description":"block height at which to query","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/incentivized_packets":{"get":{"tags":["Query"],"summary":"IncentivizedPackets returns all incentivized packets and their associated fees","operationId":"FeeQuery_IncentivizedPackets","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"string","format":"uint64","description":"block height at which to query","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryIncentivizedPacketsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/interchain_accounts/controller/v1/owners/{owner}/connections/{connection_id}":{"get":{"tags":["Query"],"summary":"InterchainAccount returns the interchain account address for a given owner address on a given connection","operationId":"FeeQuery_InterchainAccount","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"string","name":"connection_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/interchain_accounts/controller/v1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the ICA controller submodule.","operationId":"FeeQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/interchain_accounts/host/v1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the ICA host submodule.","operationId":"FeeQuery_ParamsMixin17","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address":{"get":{"tags":["Query"],"summary":"EscrowAddress returns the escrow address for a particular port and channel id.","operationId":"FeeQuery_EscrowAddress","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"unique port identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryEscrowAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denom_hashes/{trace}":{"get":{"tags":["Query"],"summary":"DenomHash queries a denomination hash information.","operationId":"FeeQuery_DenomHash","parameters":[{"pattern":".+","type":"string","description":"The denomination trace ([port_id]/[channel_id])+/[denom]","name":"trace","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryDenomHashResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denom_traces":{"get":{"tags":["Query"],"summary":"DenomTraces queries all denomination traces.","operationId":"FeeQuery_DenomTraces","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryDenomTracesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denom_traces/{hash}":{"get":{"tags":["Query"],"summary":"DenomTrace queries a denomination trace information.","operationId":"FeeQuery_DenomTrace","parameters":[{"pattern":".+","type":"string","description":"hash (in hex format) or denom (full denom with ibc prefix) of the denomination trace information.","name":"hash","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryDenomTraceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denoms/{denom}/total_escrow":{"get":{"tags":["Query"],"summary":"TotalEscrowForDenom returns the total amount of tokens in escrow based on the denom.","operationId":"FeeQuery_TotalEscrowForDenom","parameters":[{"pattern":".+","type":"string","name":"denom","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the ibc-transfer module.","operationId":"FeeQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels":{"get":{"tags":["Query"],"summary":"Channels queries all the IBC channels of a chain.","operationId":"FeeQuery_Channels","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}":{"get":{"tags":["Query"],"summary":"Channel queries an IBC Channel.","operationId":"FeeQuery_Channel","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state":{"get":{"tags":["Query"],"summary":"ChannelClientState queries for the client state for the channel associated\nwith the provided channel identifiers.","operationId":"FeeQuery_ChannelClientState","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}":{"get":{"tags":["Query"],"summary":"ChannelConsensusState queries for the consensus state for the channel\nassociated with the provided channel identifiers.","operationId":"FeeQuery_ChannelConsensusState","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"revision number of the consensus state","name":"revision_number","in":"path","required":true},{"type":"string","format":"uint64","description":"revision height of the consensus state","name":"revision_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence":{"get":{"tags":["Query"],"summary":"NextSequenceReceive returns the next receive sequence for a given channel.","operationId":"FeeQuery_NextSequenceReceive","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryNextSequenceReceiveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence_send":{"get":{"tags":["Query"],"summary":"NextSequenceSend returns the next send sequence for a given channel.","operationId":"FeeQuery_NextSequenceSend","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryNextSequenceSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements":{"get":{"tags":["Query"],"summary":"PacketAcknowledgements returns all the packet acknowledgements associated\nwith a channel.","operationId":"FeeQuery_PacketAcknowledgements","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","description":"list of packet sequences","name":"packet_commitment_sequences","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketAcknowledgementsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}":{"get":{"tags":["Query"],"summary":"PacketAcknowledgement queries a stored packet acknowledgement hash.","operationId":"FeeQuery_PacketAcknowledgement","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketAcknowledgementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments":{"get":{"tags":["Query"],"summary":"PacketCommitments returns all the packet commitments hashes associated\nwith a channel.","operationId":"FeeQuery_PacketCommitments","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketCommitmentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks":{"get":{"tags":["Query"],"summary":"UnreceivedAcks returns all the unreceived IBC acknowledgements associated\nwith a channel and sequences.","operationId":"FeeQuery_UnreceivedAcks","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","description":"list of acknowledgement sequences","name":"packet_ack_sequences","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUnreceivedAcksResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets":{"get":{"tags":["Query"],"summary":"UnreceivedPackets returns all the unreceived IBC packets associated with a\nchannel and sequences.","operationId":"FeeQuery_UnreceivedPackets","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","description":"list of packet sequences","name":"packet_commitment_sequences","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUnreceivedPacketsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}":{"get":{"tags":["Query"],"summary":"PacketCommitment queries a stored packet commitment hash.","operationId":"FeeQuery_PacketCommitment","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketCommitmentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}":{"get":{"tags":["Query"],"summary":"PacketReceipt queries if a given packet sequence has been received on the\nqueried chain","operationId":"FeeQuery_PacketReceipt","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketReceiptResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade":{"get":{"tags":["Query"],"summary":"Upgrade returns the upgrade for a given port and channel id.","operationId":"FeeQuery_Upgrade","parameters":[{"type":"string","name":"channel_id","in":"path","required":true},{"type":"string","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade_error":{"get":{"tags":["Query"],"summary":"UpgradeError returns the error receipt if the upgrade handshake failed.","operationId":"FeeQuery_UpgradeError","parameters":[{"type":"string","name":"channel_id","in":"path","required":true},{"type":"string","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUpgradeErrorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/connections/{connection}/channels":{"get":{"tags":["Query"],"summary":"ConnectionChannels queries all the channels associated with a connection\nend.","operationId":"FeeQuery_ConnectionChannels","parameters":[{"type":"string","description":"connection unique identifier","name":"connection","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryConnectionChannelsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/params":{"get":{"tags":["Query"],"summary":"ChannelParams queries all parameters of the ibc channel submodule.","operationId":"FeeQuery_ChannelParams","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/client_states":{"get":{"tags":["Query"],"summary":"ClientStates queries all the IBC light clients of a chain.","operationId":"FeeQuery_ClientStates","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientStatesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/client_states/{client_id}":{"get":{"tags":["Query"],"summary":"ClientState queries an IBC light client.","operationId":"FeeQuery_ClientState","parameters":[{"type":"string","description":"client state unique identifier","name":"client_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/client_status/{client_id}":{"get":{"tags":["Query"],"summary":"Status queries the status of an IBC client.","operationId":"FeeQuery_ClientStatus","parameters":[{"type":"string","description":"client unique identifier","name":"client_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/consensus_states/{client_id}":{"get":{"tags":["Query"],"summary":"ConsensusStates queries all the consensus state associated with a given\nclient.","operationId":"FeeQuery_ConsensusStates","parameters":[{"type":"string","description":"client identifier","name":"client_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryConsensusStatesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/consensus_states/{client_id}/heights":{"get":{"tags":["Query"],"summary":"ConsensusStateHeights queries the height of every consensus states associated with a given client.","operationId":"FeeQuery_ConsensusStateHeights","parameters":[{"type":"string","description":"client identifier","name":"client_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryConsensusStateHeightsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}":{"get":{"tags":["Query"],"summary":"ConsensusState queries a consensus state associated with a client state at\na given height.","operationId":"FeeQuery_ConsensusState","parameters":[{"type":"string","description":"client identifier","name":"client_id","in":"path","required":true},{"type":"string","format":"uint64","description":"consensus state revision number","name":"revision_number","in":"path","required":true},{"type":"string","format":"uint64","description":"consensus state revision height","name":"revision_height","in":"path","required":true},{"type":"boolean","description":"latest_height overrrides the height field and queries the latest stored\nConsensusState","name":"latest_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/params":{"get":{"tags":["Query"],"summary":"ClientParams queries all parameters of the ibc client submodule.","operationId":"FeeQuery_ClientParams","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/upgraded_client_states":{"get":{"tags":["Query"],"summary":"UpgradedClientState queries an Upgraded IBC light client.","operationId":"FeeQuery_UpgradedClientState","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryUpgradedClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/upgraded_consensus_states":{"get":{"tags":["Query"],"summary":"UpgradedConsensusState queries an Upgraded IBC consensus state.","operationId":"FeeQuery_UpgradedConsensusState","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryUpgradedConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/verify_membership":{"post":{"tags":["Query"],"summary":"VerifyMembership queries an IBC light client for proof verification of a value at a given key path.","operationId":"FeeQuery_VerifyMembership","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryVerifyMembershipRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryVerifyMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/client_connections/{client_id}":{"get":{"tags":["Query"],"summary":"ClientConnections queries the connection paths associated with a client\nstate.","operationId":"FeeQuery_ClientConnections","parameters":[{"type":"string","description":"client identifier associated with a connection","name":"client_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryClientConnectionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections":{"get":{"tags":["Query"],"summary":"Connections queries all the IBC connections of a chain.","operationId":"FeeQuery_Connections","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections/{connection_id}":{"get":{"tags":["Query"],"summary":"Connection queries an IBC connection end.","operationId":"FeeQuery_Connection","parameters":[{"type":"string","description":"connection unique identifier","name":"connection_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections/{connection_id}/client_state":{"get":{"tags":["Query"],"summary":"ConnectionClientState queries the client state associated with the\nconnection.","operationId":"FeeQuery_ConnectionClientState","parameters":[{"type":"string","description":"connection identifier","name":"connection_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}":{"get":{"tags":["Query"],"summary":"ConnectionConsensusState queries the consensus state associated with the\nconnection.","operationId":"FeeQuery_ConnectionConsensusState","parameters":[{"type":"string","description":"connection identifier","name":"connection_id","in":"path","required":true},{"type":"string","format":"uint64","name":"revision_number","in":"path","required":true},{"type":"string","format":"uint64","name":"revision_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/params":{"get":{"tags":["Query"],"summary":"ConnectionParams queries all parameters of the ibc connection submodule.","operationId":"FeeQuery_ConnectionParams","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/lightclients/wasm/v1/checksums":{"get":{"tags":["Query"],"summary":"Get all Wasm checksums","operationId":"FeeQuery_Checksums","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.QueryChecksumsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/lightclients/wasm/v1/checksums/{checksum}/code":{"get":{"tags":["Query"],"summary":"Get Wasm code for given checksum","operationId":"FeeQuery_Code","parameters":[{"type":"string","description":"checksum is a hex encoded string of the code stored.","name":"checksum","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.QueryCodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ApplySnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_ApplySnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestApplySnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/CheckTx":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_CheckTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCheckTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCheckTx"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Commit":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_Commit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Echo":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_Echo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestEcho"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseEcho"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ExtendVote":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_ExtendVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestExtendVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseExtendVote"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/FinalizeBlock":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_FinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Flush":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_Flush","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFlush"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFlush"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Info":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_Info","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInfo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInfo"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/InitChain":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_InitChain","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInitChain"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInitChain"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ListSnapshots":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_ListSnapshots","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestListSnapshots"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseListSnapshots"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/LoadSnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_LoadSnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestLoadSnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseLoadSnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/OfferSnapshot":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_OfferSnapshot","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestOfferSnapshot"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/PrepareProposal":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_PrepareProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestPrepareProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponsePrepareProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ProcessProposal":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_ProcessProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestProcessProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Query":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_Query","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestQuery"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseQuery"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/VerifyVoteExtension":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_VerifyVoteExtension","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestVerifyVoteExtension"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cosmos.auth.v1beta1.AddressBytesToStringResponse":{"description":"AddressBytesToStringResponse is the response type for AddressString rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address_string":{"type":"string"}}},"cosmos.auth.v1beta1.AddressStringToBytesResponse":{"description":"AddressStringToBytesResponse is the response type for AddressBytes rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address_bytes":{"type":"string","format":"byte"}}},"cosmos.auth.v1beta1.BaseAccount":{"description":"BaseAccount defines a base account type. It contains all the necessary fields\nfor basic account functionality. Any custom account type should extend this\ntype for additional functionality (e.g. vesting).","type":"object","properties":{"account_number":{"type":"string","format":"uint64"},"address":{"type":"string"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"sequence":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.Bech32PrefixResponse":{"description":"Bech32PrefixResponse is the response type for Bech32Prefix rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"bech32_prefix":{"type":"string"}}},"cosmos.auth.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/auth parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.auth.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.auth.v1beta1.Params":{"description":"Params defines the parameters for the auth module.","type":"object","properties":{"max_memo_characters":{"type":"string","format":"uint64"},"sig_verify_cost_ed25519":{"type":"string","format":"uint64"},"sig_verify_cost_secp256k1":{"type":"string","format":"uint64"},"tx_sig_limit":{"type":"string","format":"uint64"},"tx_size_cost_per_byte":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.QueryAccountAddressByIDResponse":{"description":"Since: cosmos-sdk 0.46.2","type":"object","title":"QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method","properties":{"account_address":{"type":"string"}}},"cosmos.auth.v1beta1.QueryAccountInfoResponse":{"description":"QueryAccountInfoResponse is the Query/AccountInfo response type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"info":{"description":"info is the account info which is represented by BaseAccount.","$ref":"#/definitions/cosmos.auth.v1beta1.BaseAccount"}}},"cosmos.auth.v1beta1.QueryAccountResponse":{"description":"QueryAccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"account":{"description":"account defines the account of the corresponding address.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryAccountsResponse":{"description":"QueryAccountsResponse is the response type for the Query/Accounts RPC method.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"accounts":{"type":"array","title":"accounts are the existing accounts","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.auth.v1beta1.QueryModuleAccountByNameResponse":{"description":"QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method.","type":"object","properties":{"account":{"$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryModuleAccountsResponse":{"description":"QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.auth.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.authz.v1beta1.Grant":{"description":"Grant gives permissions to execute\nthe provide method with expiration time.","type":"object","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time","title":"time when the grant will expire and will be pruned. If null, then the grant\ndoesn't have a time expiration (other conditions in `authorization`\nmay apply to invalidate the grant)"}}},"cosmos.authz.v1beta1.GrantAuthorization":{"type":"object","title":"GrantAuthorization extends a grant with both the addresses of the grantee and granter.\nIt is used in genesis.proto and query.proto","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgExec":{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","type":"object","properties":{"grantee":{"type":"string"},"msgs":{"description":"Execute Msg.\nThe x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg))\ntriple and validate it.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.authz.v1beta1.MsgExecResponse":{"description":"MsgExecResponse defines the Msg/MsgExecResponse response type.","type":"object","properties":{"results":{"type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.authz.v1beta1.MsgGrant":{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","type":"object","properties":{"grant":{"$ref":"#/definitions/cosmos.authz.v1beta1.Grant"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgGrantResponse":{"description":"MsgGrantResponse defines the Msg/MsgGrant response type.","type":"object"},"cosmos.authz.v1beta1.MsgRevoke":{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","type":"object","properties":{"grantee":{"type":"string"},"granter":{"type":"string"},"msg_type_url":{"type":"string"}}},"cosmos.authz.v1beta1.MsgRevokeResponse":{"description":"MsgRevokeResponse defines the Msg/MsgRevokeResponse response type.","type":"object"},"cosmos.authz.v1beta1.QueryGranteeGrantsResponse":{"description":"QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted to the grantee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGranterGrantsResponse":{"description":"QueryGranterGrantsResponse is the response type for the Query/GranterGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGrantsResponse":{"description":"QueryGrantsResponse is the response type for the Query/Authorizations RPC method.","type":"object","properties":{"grants":{"description":"authorizations is a list of grants granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.autocli.v1.AppOptionsRequest":{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","type":"object"},"cosmos.autocli.v1.AppOptionsResponse":{"description":"AppOptionsResponse is the RemoteInfoService/AppOptions response type.","type":"object","properties":{"module_options":{"description":"module_options is a map of module name to autocli module options.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ModuleOptions"}}}},"cosmos.autocli.v1.FlagOptions":{"description":"FlagOptions are options for flags generated from rpc request fields.\nBy default, all request fields are configured as flags based on the\nkebab-case name of the field. Fields can be turned into positional arguments\ninstead by using RpcCommandOptions.positional_args.","type":"object","properties":{"default_value":{"description":"default_value is the default value as text.","type":"string"},"deprecated":{"description":"deprecated is the usage text to show if this flag is deprecated.","type":"string"},"hidden":{"type":"boolean","title":"hidden hides the flag from help/usage text"},"name":{"description":"name is an alternate name to use for the field flag.","type":"string"},"shorthand":{"description":"shorthand is a one-letter abbreviated flag.","type":"string"},"shorthand_deprecated":{"description":"shorthand_deprecated is the usage text to show if the shorthand of this flag is deprecated.","type":"string"},"usage":{"description":"usage is the help message.","type":"string"}}},"cosmos.autocli.v1.ModuleOptions":{"description":"ModuleOptions describes the CLI options for a Cosmos SDK module.","type":"object","properties":{"query":{"description":"query describes the queries commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"},"tx":{"description":"tx describes the tx commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}},"cosmos.autocli.v1.PositionalArgDescriptor":{"description":"PositionalArgDescriptor describes a positional argument.","type":"object","properties":{"proto_field":{"description":"proto_field specifies the proto field to use as the positional arg. Any\nfields used as positional args will not have a flag generated.","type":"string"},"varargs":{"description":"varargs makes a positional parameter a varargs parameter. This can only be\napplied to last positional parameter and the proto_field must a repeated\nfield.","type":"boolean"}}},"cosmos.autocli.v1.RpcCommandOptions":{"description":"RpcCommandOptions specifies options for commands generated from protobuf\nrpc methods.","type":"object","properties":{"alias":{"description":"alias is an array of aliases that can be used instead of the first word in Use.","type":"array","items":{"type":"string"}},"deprecated":{"description":"deprecated defines, if this command is deprecated and should print this string when used.","type":"string"},"example":{"description":"example is examples of how to use the command.","type":"string"},"flag_options":{"description":"flag_options are options for flags generated from rpc request fields.\nBy default all request fields are configured as flags. They can\nalso be configured as positional args instead using positional_args.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.FlagOptions"}},"long":{"description":"long is the long message shown in the 'help \u003cthis-command\u003e' output.","type":"string"},"positional_args":{"description":"positional_args specifies positional arguments for the command.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.PositionalArgDescriptor"}},"rpc_method":{"description":"rpc_method is short name of the protobuf rpc method that this command is\ngenerated from.","type":"string"},"short":{"description":"short is the short description shown in the 'help' output.","type":"string"},"skip":{"description":"skip specifies whether to skip this rpc method when generating commands.","type":"boolean"},"suggest_for":{"description":"suggest_for is an array of command names for which this command will be suggested -\nsimilar to aliases but only suggests.","type":"array","items":{"type":"string"}},"use":{"description":"use is the one-line usage method. It also allows specifying an alternate\nname for the command as the first word of the usage text.\n\nBy default the name of an rpc command is the kebab-case short name of the\nrpc method.","type":"string"},"version":{"description":"version defines the version for this command. If this value is non-empty and the command does not\ndefine a \"version\" flag, a \"version\" boolean flag will be added to the command and, if specified,\nwill print content of the \"Version\" variable. A shorthand \"v\" flag will also be added if the\ncommand does not define one.","type":"string"}}},"cosmos.autocli.v1.ServiceCommandDescriptor":{"description":"ServiceCommandDescriptor describes a CLI command based on a protobuf service.","type":"object","properties":{"rpc_command_options":{"description":"rpc_command_options are options for commands generated from rpc methods.\nIf no options are specified for a given rpc method on the service, a\ncommand will be generated for that method with the default options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.RpcCommandOptions"}},"service":{"description":"service is the fully qualified name of the protobuf service to build\nthe command from. It can be left empty if sub_commands are used instead\nwhich may be the case if a module provides multiple tx and/or query services.","type":"string"},"sub_commands":{"description":"sub_commands is a map of optional sub-commands for this command based on\ndifferent protobuf services. The map key is used as the name of the\nsub-command.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}}},"cosmos.bank.v1beta1.DenomOwner":{"description":"DenomOwner defines structure representing an account that owns or holds a\nparticular denominated token. It contains the account address and account\nbalance of the denominated token.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address":{"description":"address defines the address that owns a particular denomination.","type":"string"},"balance":{"description":"balance is the balance of the denominated coin for an account.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.DenomUnit":{"description":"DenomUnit represents a struct that describes a given\ndenomination unit of the basic token.","type":"object","properties":{"aliases":{"type":"array","title":"aliases is a list of string aliases for the given denom","items":{"type":"string"}},"denom":{"description":"denom represents the string name of the given denom unit (e.g uatom).","type":"string"},"exponent":{"description":"exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom).","type":"integer","format":"int64"}}},"cosmos.bank.v1beta1.Input":{"description":"Input models transaction input.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Metadata":{"description":"Metadata represents a struct that describes\na basic token.","type":"object","properties":{"base":{"description":"base represents the base denom (should be the DenomUnit with exponent = 0).","type":"string"},"denom_units":{"type":"array","title":"denom_units represents the list of DenomUnit's for a given coin","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomUnit"}},"description":{"type":"string"},"display":{"description":"display indicates the suggested denom that should be\ndisplayed in clients.","type":"string"},"name":{"description":"Since: cosmos-sdk 0.43","type":"string","title":"name defines the name of the token (eg: Cosmos Atom)"},"symbol":{"description":"symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.\n\nSince: cosmos-sdk 0.43","type":"string"},"uri":{"description":"URI to a document (on or off-chain) that contains additional information. Optional.\n\nSince: cosmos-sdk 0.46","type":"string"},"uri_hash":{"description":"URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.\n\nSince: cosmos-sdk 0.46","type":"string"}}},"cosmos.bank.v1beta1.MsgMultiSend":{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","type":"object","properties":{"inputs":{"description":"Inputs, despite being `repeated`, only allows one sender input. This is\nchecked in MsgMultiSend's ValidateBasic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Input"}},"outputs":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Output"}}}},"cosmos.bank.v1beta1.MsgMultiSendResponse":{"description":"MsgMultiSendResponse defines the Msg/MultiSend response type.","type":"object"},"cosmos.bank.v1beta1.MsgSend":{"description":"MsgSend represents a message to send coins from one account to another.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.bank.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.bank.v1beta1.MsgSetSendEnabled":{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module.","type":"string"},"send_enabled":{"description":"send_enabled is the list of entries to add or update.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}},"use_default_for":{"description":"use_default_for is a list of denoms that should use the params.default_send_enabled value.\nDenoms listed here will have their SendEnabled entries deleted.\nIf a denom is included that doesn't have a SendEnabled entry,\nit will be ignored.","type":"array","items":{"type":"string"}}}},"cosmos.bank.v1beta1.MsgSetSendEnabledResponse":{"description":"MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.bank.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/bank parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.bank.v1beta1.Output":{"description":"Output models transaction outputs.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Params":{"description":"Params defines the parameters for the bank module.","type":"object","properties":{"default_send_enabled":{"type":"boolean"},"send_enabled":{"description":"Deprecated: Use of SendEnabled in params is deprecated.\nFor genesis, use the newly added send_enabled field in the genesis object.\nStorage, lookup, and manipulation of this information is now in the keeper.\n\nAs of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QueryAllBalancesResponse":{"description":"QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod.","type":"object","properties":{"balances":{"description":"balances is the balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryBalanceResponse":{"description":"QueryBalanceResponse is the response type for the Query/Balance RPC method.","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse":{"description":"QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC\nmethod. Identical with QueryDenomMetadataResponse but receives denom as query string in request.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomMetadataResponse":{"description":"QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC\nmethod.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse":{"description":"QueryDenomOwnersByQueryResponse defines the RPC response of a DenomOwnersByQuery RPC query.\n\nSince: cosmos-sdk 0.50.3","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomOwnersResponse":{"description":"QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomsMetadataResponse":{"description":"QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC\nmethod.","type":"object","properties":{"metadatas":{"description":"metadata provides the client information for all the registered tokens.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/bank parameters.","type":"object","properties":{"params":{"description":"params provides the parameters of the bank module.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.QuerySendEnabledResponse":{"description":"QuerySendEnabledResponse defines the RPC response of a SendEnable query.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response. This field is only\npopulated if the denoms field in the request is empty.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"send_enabled":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse":{"description":"QuerySpendableBalanceByDenomResponse defines the gRPC response structure for\nquerying an account's spendable balance for a specific denom.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QuerySpendableBalancesResponse":{"description":"QuerySpendableBalancesResponse defines the gRPC response structure for querying\nan account's spendable balances.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"balances":{"description":"balances is the spendable balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QuerySupplyOfResponse":{"description":"QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method.","type":"object","properties":{"amount":{"description":"amount is the supply of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryTotalSupplyResponse":{"type":"object","title":"QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC\nmethod","properties":{"pagination":{"description":"pagination defines the pagination in the response.\n\nSince: cosmos-sdk 0.43","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"supply":{"type":"array","title":"supply is the supply of the coins","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.SendEnabled":{"description":"SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable).","type":"object","properties":{"denom":{"type":"string"},"enabled":{"type":"boolean"}}},"cosmos.base.abci.v1beta1.ABCIMessageLog":{"description":"ABCIMessageLog defines a structure containing an indexed tx ABCI message log.","type":"object","properties":{"events":{"description":"Events contains a slice of Event objects that were emitted during some\nexecution.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.StringEvent"}},"log":{"type":"string"},"msg_index":{"type":"integer","format":"int64"}}},"cosmos.base.abci.v1beta1.Attribute":{"description":"Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes.","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"cosmos.base.abci.v1beta1.GasInfo":{"description":"GasInfo defines tx execution gas context.","type":"object","properties":{"gas_used":{"description":"GasUsed is the amount of gas actually consumed.","type":"string","format":"uint64"},"gas_wanted":{"description":"GasWanted is the maximum units of work we allow this tx to perform.","type":"string","format":"uint64"}}},"cosmos.base.abci.v1beta1.Result":{"description":"Result is the union of ResponseFormat and ResponseCheckTx.","type":"object","properties":{"data":{"description":"Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL.","type":"string","format":"byte"},"events":{"description":"Events contains a slice of Event objects that were emitted during message\nor handler execution.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"log":{"description":"Log contains the log information from message or handler execution.","type":"string"},"msg_responses":{"description":"msg_responses contains the Msg handler responses type packed in Anys.\n\nSince: cosmos-sdk 0.46","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.base.abci.v1beta1.StringEvent":{"description":"StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.Attribute"}},"type":{"type":"string"}}},"cosmos.base.abci.v1beta1.TxResponse":{"description":"TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded.","type":"object","properties":{"code":{"description":"Response code.","type":"integer","format":"int64"},"codespace":{"type":"string","title":"Namespace for the Code"},"data":{"description":"Result bytes, if any.","type":"string"},"events":{"description":"Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"description":"Amount of gas consumed by transaction.","type":"string","format":"int64"},"gas_wanted":{"description":"Amount of gas requested for transaction.","type":"string","format":"int64"},"height":{"type":"string","format":"int64","title":"The block height"},"info":{"description":"Additional information. May be non-deterministic.","type":"string"},"logs":{"description":"The output of the application's logger (typed). May be non-deterministic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.ABCIMessageLog"}},"raw_log":{"description":"The output of the application's logger (raw string). May be\nnon-deterministic.","type":"string"},"timestamp":{"description":"Time of the previous block. For heights \u003e 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time.","type":"string"},"tx":{"description":"The request transaction bytes.","$ref":"#/definitions/google.protobuf.Any"},"txhash":{"description":"The transaction hash.","type":"string"}}},"cosmos.base.node.v1beta1.ConfigResponse":{"description":"ConfigResponse defines the response structure for the Config gRPC query.","type":"object","properties":{"halt_height":{"type":"string","format":"uint64"},"minimum_gas_price":{"type":"string"},"pruning_interval":{"type":"string"},"pruning_keep_recent":{"type":"string"}}},"cosmos.base.node.v1beta1.StatusResponse":{"description":"StateResponse defines the response structure for the status of a node.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"app hash of the current block"},"earliest_store_height":{"type":"string","format":"uint64","title":"earliest block height available in the store"},"height":{"type":"string","format":"uint64","title":"current block height"},"timestamp":{"type":"string","format":"date-time","title":"block height timestamp"},"validator_hash":{"type":"string","format":"byte","title":"validator hash provided by the consensus header"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.reflection.v1beta1.ListAllInterfacesResponse":{"description":"ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC.","type":"object","properties":{"interface_names":{"description":"interface_names is an array of all the registered interfaces.","type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v1beta1.ListImplementationsResponse":{"description":"ListImplementationsResponse is the response type of the ListImplementations\nRPC.","type":"object","properties":{"implementation_message_names":{"type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v2alpha1.AuthnDescriptor":{"type":"object","title":"AuthnDescriptor provides information on how to sign transactions without relying\non the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures","properties":{"sign_modes":{"type":"array","title":"sign_modes defines the supported signature algorithm","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.SigningModeDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ChainDescriptor":{"type":"object","title":"ChainDescriptor describes chain information of the application","properties":{"id":{"type":"string","title":"id is the chain id"}}},"cosmos.base.reflection.v2alpha1.CodecDescriptor":{"type":"object","title":"CodecDescriptor describes the registered interfaces and provides metadata information on the types","properties":{"interfaces":{"type":"array","title":"interfaces is a list of the registerted interfaces descriptors","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ConfigurationDescriptor":{"type":"object","title":"ConfigurationDescriptor contains metadata information on the sdk.Config","properties":{"bech32_account_address_prefix":{"type":"string","title":"bech32_account_address_prefix is the account address prefix"}}},"cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse":{"type":"object","title":"GetAuthnDescriptorResponse is the response returned by the GetAuthnDescriptor RPC","properties":{"authn":{"title":"authn describes how to authenticate to the application when sending transactions","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.AuthnDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse":{"type":"object","title":"GetChainDescriptorResponse is the response returned by the GetChainDescriptor RPC","properties":{"chain":{"title":"chain describes application chain information","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ChainDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse":{"type":"object","title":"GetCodecDescriptorResponse is the response returned by the GetCodecDescriptor RPC","properties":{"codec":{"title":"codec describes the application codec such as registered interfaces and implementations","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.CodecDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse":{"type":"object","title":"GetConfigurationDescriptorResponse is the response returned by the GetConfigurationDescriptor RPC","properties":{"config":{"title":"config describes the application's sdk.Config","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ConfigurationDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse":{"type":"object","title":"GetQueryServicesDescriptorResponse is the response returned by the GetQueryServicesDescriptor RPC","properties":{"queries":{"title":"queries provides information on the available queryable services","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServicesDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse":{"type":"object","title":"GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC","properties":{"tx":{"title":"tx provides information on msgs that can be forwarded to the application\nalongside the accepted transaction protobuf type","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.TxDescriptor"}}},"cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor":{"type":"object","title":"InterfaceAcceptingMessageDescriptor describes a protobuf message which contains\nan interface represented as a google.protobuf.Any","properties":{"field_descriptor_names":{"type":"array","title":"field_descriptor_names is a list of the protobuf name (not fullname) of the field\nwhich contains the interface as google.protobuf.Any (the interface is the same, but\nit can be in multiple fields of the same proto message)","items":{"type":"string"}},"fullname":{"type":"string","title":"fullname is the protobuf fullname of the type containing the interface"}}},"cosmos.base.reflection.v2alpha1.InterfaceDescriptor":{"type":"object","title":"InterfaceDescriptor describes the implementation of an interface","properties":{"fullname":{"type":"string","title":"fullname is the name of the interface"},"interface_accepting_messages":{"type":"array","title":"interface_accepting_messages contains information regarding the proto messages which contain the interface as\ngoogle.protobuf.Any field","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor"}},"interface_implementers":{"type":"array","title":"interface_implementers is a list of the descriptors of the interface implementers","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor"}}}},"cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor":{"type":"object","title":"InterfaceImplementerDescriptor describes an interface implementer","properties":{"fullname":{"type":"string","title":"fullname is the protobuf queryable name of the interface implementer"},"type_url":{"type":"string","title":"type_url defines the type URL used when marshalling the type as any\nthis is required so we can provide type safe google.protobuf.Any marshalling and\nunmarshalling, making sure that we don't accept just 'any' type\nin our interface fields"}}},"cosmos.base.reflection.v2alpha1.MsgDescriptor":{"type":"object","title":"MsgDescriptor describes a cosmos-sdk message that can be delivered with a transaction","properties":{"msg_type_url":{"description":"msg_type_url contains the TypeURL of a sdk.Msg.","type":"string"}}},"cosmos.base.reflection.v2alpha1.QueryMethodDescriptor":{"type":"object","title":"QueryMethodDescriptor describes a queryable method of a query service\nno other info is provided beside method name and tendermint queryable path\nbecause it would be redundant with the grpc reflection service","properties":{"full_query_path":{"type":"string","title":"full_query_path is the path that can be used to query\nthis method via tendermint abci.Query"},"name":{"type":"string","title":"name is the protobuf name (not fullname) of the method"}}},"cosmos.base.reflection.v2alpha1.QueryServiceDescriptor":{"type":"object","title":"QueryServiceDescriptor describes a cosmos-sdk queryable service","properties":{"fullname":{"type":"string","title":"fullname is the protobuf fullname of the service descriptor"},"is_module":{"type":"boolean","title":"is_module describes if this service is actually exposed by an application's module"},"methods":{"type":"array","title":"methods provides a list of query service methods","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryMethodDescriptor"}}}},"cosmos.base.reflection.v2alpha1.QueryServicesDescriptor":{"type":"object","title":"QueryServicesDescriptor contains the list of cosmos-sdk queriable services","properties":{"query_services":{"type":"array","title":"query_services is a list of cosmos-sdk QueryServiceDescriptor","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServiceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.SigningModeDescriptor":{"type":"object","title":"SigningModeDescriptor provides information on a signing flow of the application\nNOTE(fdymylja): here we could go as far as providing an entire flow on how\nto sign a message given a SigningModeDescriptor, but it's better to think about\nthis another time","properties":{"authn_info_provider_method_fullname":{"type":"string","title":"authn_info_provider_method_fullname defines the fullname of the method to call to get\nthe metadata required to authenticate using the provided sign_modes"},"name":{"type":"string","title":"name defines the unique name of the signing mode"},"number":{"type":"integer","format":"int32","title":"number is the unique int32 identifier for the sign_mode enum"}}},"cosmos.base.reflection.v2alpha1.TxDescriptor":{"type":"object","title":"TxDescriptor describes the accepted transaction type","properties":{"fullname":{"description":"fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type)\nit is not meant to support polymorphism of transaction types, it is supposed to be used by\nreflection clients to understand if they can handle a specific transaction type in an application.","type":"string"},"msgs":{"type":"array","title":"msgs lists the accepted application messages (sdk.Msg)","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.MsgDescriptor"}}}},"cosmos.base.tendermint.v1beta1.ABCIQueryResponse":{"description":"ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint.","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"type":"string","title":"nondeterministic"},"proof_ops":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOps"},"value":{"type":"string","format":"byte"}}},"cosmos.base.tendermint.v1beta1.Block":{"description":"Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string.","type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse":{"description":"GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"title":"Since: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestBlockResponse":{"description":"GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"title":"Since: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse":{"description":"GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.GetNodeInfoResponse":{"description":"GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method.","type":"object","properties":{"application_version":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.VersionInfo"},"default_node_info":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfo"}}},"cosmos.base.tendermint.v1beta1.GetSyncingResponse":{"description":"GetSyncingResponse is the response type for the Query/GetSyncing RPC method.","type":"object","properties":{"syncing":{"type":"boolean"}}},"cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse":{"description":"GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.Header":{"description":"Header defines the structure of a Tendermint block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"description":"proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX.\n\noriginal proposer of the block","type":"string"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"cosmos.base.tendermint.v1beta1.Module":{"type":"object","title":"Module is the type for VersionInfo","properties":{"path":{"type":"string","title":"module path"},"sum":{"type":"string","title":"checksum"},"version":{"type":"string","title":"module version"}}},"cosmos.base.tendermint.v1beta1.ProofOp":{"description":"ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint.","type":"object","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"cosmos.base.tendermint.v1beta1.ProofOps":{"description":"ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint.","type":"object","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOp"}}}},"cosmos.base.tendermint.v1beta1.Validator":{"description":"Validator is the type for the validator-set.","type":"object","properties":{"address":{"type":"string"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"voting_power":{"type":"string","format":"int64"}}},"cosmos.base.tendermint.v1beta1.VersionInfo":{"description":"VersionInfo is the type for the GetNodeInfoResponse message.","type":"object","properties":{"app_name":{"type":"string"},"build_deps":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Module"}},"build_tags":{"type":"string"},"cosmos_sdk_version":{"type":"string","title":"Since: cosmos-sdk 0.43"},"git_commit":{"type":"string"},"go_version":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.base.v1beta1.DecCoin":{"description":"DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.circuit.v1.AccountResponse":{"description":"AccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"permission":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.AccountsResponse":{"description":"AccountsResponse is the response type for the Query/Accounts RPC method.","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.circuit.v1.GenesisAccountPermissions"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.circuit.v1.DisabledListResponse":{"description":"DisabledListResponse is the response type for the Query/DisabledList RPC method.","type":"object","properties":{"disabled_list":{"type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.GenesisAccountPermissions":{"type":"object","title":"GenesisAccountPermissions is the account permissions for the circuit breaker in genesis","properties":{"address":{"type":"string"},"permissions":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreaker":{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","type":"object","properties":{"grantee":{"description":"grantee is the account authorized with the provided permissions.","type":"string"},"granter":{"description":"granter is the granter of the circuit breaker permissions and must have\nLEVEL_SUPER_ADMIN.","type":"string"},"permissions":{"description":"permissions are the circuit breaker permissions that the grantee receives.\nThese will overwrite any existing permissions. LEVEL_NONE_UNSPECIFIED can\nbe specified to revoke all permissions.","$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse":{"description":"MsgAuthorizeCircuitBreakerResponse defines the Msg/AuthorizeCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgResetCircuitBreaker":{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip or reset the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of Msg type URLs to resume processing. If\nit is left empty all Msg processing for type URLs that the account is\nauthorized to trip will resume.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgResetCircuitBreakerResponse":{"description":"MsgResetCircuitBreakerResponse defines the Msg/ResetCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgTripCircuitBreaker":{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of type URLs to immediately stop processing.\nIF IT IS LEFT EMPTY, ALL MSG PROCESSING WILL STOP IMMEDIATELY.\nThis value is validated against the authority's permissions and if the\nauthority does not have permissions to trip the specified msg type URLs\n(or all URLs), the operation will fail.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgTripCircuitBreakerResponse":{"description":"MsgTripCircuitBreakerResponse defines the Msg/TripCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.Permissions":{"description":"Permissions are the permissions that an account has to trip\nor reset the circuit breaker.","type":"object","properties":{"level":{"description":"level is the level of permissions granted to this account.","$ref":"#/definitions/cosmos.circuit.v1.Permissions.Level"},"limit_type_urls":{"description":"limit_type_urls is used with LEVEL_SOME_MSGS to limit the lists of Msg type\nURLs that the account can trip. It is an error to use limit_type_urls with\na level other than LEVEL_SOME_MSGS.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.Permissions.Level":{"description":"Level is the permission level.\n\n - LEVEL_NONE_UNSPECIFIED: LEVEL_NONE_UNSPECIFIED indicates that the account will have no circuit\nbreaker permissions.\n - LEVEL_SOME_MSGS: LEVEL_SOME_MSGS indicates that the account will have permission to\ntrip or reset the circuit breaker for some Msg type URLs. If this level\nis chosen, a non-empty list of Msg type URLs must be provided in\nlimit_type_urls.\n - LEVEL_ALL_MSGS: LEVEL_ALL_MSGS indicates that the account can trip or reset the circuit\nbreaker for Msg's of all type URLs.\n - LEVEL_SUPER_ADMIN: LEVEL_SUPER_ADMIN indicates that the account can take all circuit breaker\nactions and can grant permissions to other accounts.","type":"string","default":"LEVEL_NONE_UNSPECIFIED","enum":["LEVEL_NONE_UNSPECIFIED","LEVEL_SOME_MSGS","LEVEL_ALL_MSGS","LEVEL_SUPER_ADMIN"]},"cosmos.consensus.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"abci":{"title":"Since: cosmos-sdk 0.50","$ref":"#/definitions/tendermint.types.ABCIParams"},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"block":{"description":"params defines the x/consensus parameters to update.\nVersionsParams is not included in this Msg because it is tracked\nsepararately in x/upgrade.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"}}},"cosmos.consensus.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.consensus.v1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/consensus parameters.","type":"object","properties":{"params":{"description":"params are the tendermint consensus params stored in the consensus module.\nPlease note that `params.version` is not populated in this response, it is\ntracked separately in the x/upgrade module.","$ref":"#/definitions/tendermint.types.ConsensusParams"}}},"cosmos.crisis.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"constant_fee":{"description":"constant_fee defines the x/crisis parameter.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.crisis.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.crisis.v1beta1.MsgVerifyInvariant":{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","type":"object","properties":{"invariant_module_name":{"description":"name of the invariant module.","type":"string"},"invariant_route":{"description":"invariant_route is the msg's invariant route.","type":"string"},"sender":{"description":"sender is the account address of private key to send coins to fee collector account.","type":"string"}}},"cosmos.crisis.v1beta1.MsgVerifyInvariantResponse":{"description":"MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type.","type":"object"},"cosmos.crypto.multisig.v1beta1.CompactBitArray":{"description":"CompactBitArray is an implementation of a space efficient bit array.\nThis is used to ensure that the encoded data takes up a minimal amount of\nspace after proto encoding.\nThis is not thread safe, and is not intended for concurrent usage.","type":"object","properties":{"elems":{"type":"string","format":"byte"},"extra_bits_stored":{"type":"integer","format":"int64"}}},"cosmos.distribution.v1beta1.DelegationDelegatorReward":{"description":"DelegationDelegatorReward represents the properties\nof a delegator's delegation reward.","type":"object","properties":{"reward":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpend":{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"recipient":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse":{"description":"MsgCommunityPoolSpendResponse defines the response to executing a\nMsgCommunityPoolSpend message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool":{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse":{"description":"MsgDepositValidatorRewardsPoolResponse defines the response to executing a\nMsgDepositValidatorRewardsPool message.\n\nSince: cosmos-sdk 0.50","type":"object"},"cosmos.distribution.v1beta1.MsgFundCommunityPool":{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse":{"description":"MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.","type":"object"},"cosmos.distribution.v1beta1.MsgSetWithdrawAddress":{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","type":"object","properties":{"delegator_address":{"type":"string"},"withdraw_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse":{"description":"MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response\ntype.","type":"object"},"cosmos.distribution.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/distribution parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward":{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","type":"object","properties":{"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse":{"description":"MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward\nresponse type.","type":"object","properties":{"amount":{"type":"array","title":"Since: cosmos-sdk 0.46","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission":{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","type":"object","properties":{"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse":{"description":"MsgWithdrawValidatorCommissionResponse defines the\nMsg/WithdrawValidatorCommission response type.","type":"object","properties":{"amount":{"type":"array","title":"Since: cosmos-sdk 0.46","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.Params":{"description":"Params defines the set of params for the distribution module.","type":"object","properties":{"base_proposer_reward":{"description":"Deprecated: The base_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"bonus_proposer_reward":{"description":"Deprecated: The bonus_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"community_tax":{"type":"string"},"withdraw_addr_enabled":{"type":"boolean"}}},"cosmos.distribution.v1beta1.QueryCommunityPoolResponse":{"description":"QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method.","type":"object","properties":{"pool":{"description":"pool defines community pool's coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationRewardsResponse":{"description":"QueryDelegationRewardsResponse is the response type for the\nQuery/DelegationRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines the rewards accrued by a delegation.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse":{"description":"QueryDelegationTotalRewardsResponse is the response type for the\nQuery/DelegationTotalRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines all the rewards accrued by a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.DelegationDelegatorReward"}},"total":{"description":"total defines the sum of all the rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is the response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"validators":{"description":"validators defines the validators a delegator is delegating for.","type":"array","items":{"type":"string"}}}},"cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse":{"description":"QueryDelegatorWithdrawAddressResponse is the response type for the\nQuery/DelegatorWithdrawAddress RPC method.","type":"object","properties":{"withdraw_address":{"description":"withdraw_address defines the delegator address to query for.","type":"string"}}},"cosmos.distribution.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.QueryValidatorCommissionResponse":{"type":"object","title":"QueryValidatorCommissionResponse is the response type for the\nQuery/ValidatorCommission RPC method","properties":{"commission":{"description":"commission defines the commission the validator received.","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission"}}},"cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse":{"description":"QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method.","type":"object","properties":{"commission":{"description":"commission defines the commission the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"operator_address":{"description":"operator_address defines the validator operator address.","type":"string"},"self_bond_rewards":{"description":"self_bond_rewards defines the self delegations rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse":{"description":"QueryValidatorOutstandingRewardsResponse is the response type for the\nQuery/ValidatorOutstandingRewards RPC method.","type":"object","properties":{"rewards":{"$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorOutstandingRewards"}}},"cosmos.distribution.v1beta1.QueryValidatorSlashesResponse":{"description":"QueryValidatorSlashesResponse is the response type for the\nQuery/ValidatorSlashes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"slashes":{"description":"slashes defines the slashes the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorSlashEvent"}}}},"cosmos.distribution.v1beta1.ValidatorAccumulatedCommission":{"description":"ValidatorAccumulatedCommission represents accumulated commission\nfor a validator kept as a running counter, can be withdrawn at any time.","type":"object","properties":{"commission":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorOutstandingRewards":{"description":"ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards\nfor a validator inexpensive to track, allows simple sanity checks.","type":"object","properties":{"rewards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorSlashEvent":{"description":"ValidatorSlashEvent represents a validator slash event.\nHeight is implicit within the store key.\nThis is needed to calculate appropriate amount of staking tokens\nfor delegations which are withdrawn after a slash has occurred.","type":"object","properties":{"fraction":{"type":"string"},"validator_period":{"type":"string","format":"uint64"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidence":{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","type":"object","properties":{"evidence":{"description":"evidence defines the evidence of misbehavior.","$ref":"#/definitions/google.protobuf.Any"},"submitter":{"description":"submitter is the signer account address of evidence.","type":"string"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse":{"description":"MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.","type":"object","properties":{"hash":{"description":"hash defines the hash of the evidence.","type":"string","format":"byte"}}},"cosmos.evidence.v1beta1.QueryAllEvidenceResponse":{"description":"QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod.","type":"object","properties":{"evidence":{"description":"evidence returns all evidences.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.evidence.v1beta1.QueryEvidenceResponse":{"description":"QueryEvidenceResponse is the response type for the Query/Evidence RPC method.","type":"object","properties":{"evidence":{"description":"evidence returns the requested evidence.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.feegrant.v1beta1.Grant":{"type":"object","title":"Grant is stored in the KVStore to record a grant with full context","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowance":{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","type":"object","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse":{"description":"MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.MsgPruneAllowances":{"description":"MsgPruneAllowances prunes expired fee allowances.\n\nSince cosmos-sdk 0.50","type":"object","properties":{"pruner":{"description":"pruner is the address of the user pruning expired allowances.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse":{"description":"MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse response type.\n\nSince cosmos-sdk 0.50","type":"object"},"cosmos.feegrant.v1beta1.MsgRevokeAllowance":{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","type":"object","properties":{"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse":{"description":"MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.QueryAllowanceResponse":{"description":"QueryAllowanceResponse is the response type for the Query/Allowance RPC method.","type":"object","properties":{"allowance":{"description":"allowance is a allowance granted for grantee by granter.","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}}},"cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse":{"description":"QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"allowances":{"description":"allowances that have been issued by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.feegrant.v1beta1.QueryAllowancesResponse":{"description":"QueryAllowancesResponse is the response type for the Query/Allowances RPC method.","type":"object","properties":{"allowances":{"description":"allowances are allowance's granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1.MsgCancelProposal":{"description":"MsgCancelProposal is the Msg/CancelProposal request type.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1.MsgCancelProposalResponse":{"description":"MsgCancelProposalResponse defines the response structure for executing a\nMsgCancelProposal message.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"canceled_height":{"description":"canceled_height defines the block height at which the proposal is canceled.","type":"string","format":"uint64"},"canceled_time":{"description":"canceled_time is the time when proposal is canceled.","type":"string","format":"date-time"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1.MsgExecLegacyContent":{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","type":"object","properties":{"authority":{"description":"authority must be the gov module address.","type":"string"},"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.gov.v1.MsgExecLegacyContentResponse":{"description":"MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type.","type":"object"},"cosmos.gov.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"expedited":{"description":"Since: cosmos-sdk 0.50","type":"boolean","title":"expedited defines if the proposal is expedited or not"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"messages":{"description":"messages are the arbitrary messages to be executed if proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is the summary of the proposal"},"title":{"description":"title is the title of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"}}},"cosmos.gov.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/gov parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.gov.v1.Params"}}},"cosmos.gov.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.gov.v1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the Vote.","type":"string"},"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the VoteWeighted.","type":"string"},"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.","type":"object"},"cosmos.gov.v1.Params":{"description":"Params defines the parameters for the x/gov module.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"burn_proposal_deposit_prevote":{"type":"boolean","title":"burn deposits if the proposal does not enter voting period"},"burn_vote_quorum":{"type":"boolean","title":"burn deposits if a proposal does not meet quorum"},"burn_vote_veto":{"type":"boolean","title":"burn deposits if quorum with vote type no_veto is met"},"expedited_min_deposit":{"description":"Minimum expedited deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"expedited_threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.\n\nSince: cosmos-sdk 0.50","type":"string"},"expedited_voting_period":{"description":"Duration of the voting period of an expedited proposal.\n\nSince: cosmos-sdk 0.50","type":"string"},"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"min_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.\nDefault value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be\nrequired.\n\nSince: cosmos-sdk 0.50","type":"string"},"min_initial_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value that must be paid at proposal submission.","type":"string"},"proposal_cancel_dest":{"description":"The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.\nIf empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.\n\nSince: cosmos-sdk 0.50","type":"string"},"proposal_cancel_ratio":{"description":"The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.\n\nSince: cosmos-sdk 0.50","type":"string"},"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\n considered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3.","type":"string"},"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"expedited":{"description":"Since: cosmos-sdk 0.50","type":"boolean","title":"expedited defines if the proposal is expedited"},"failed_reason":{"description":"Since: cosmos-sdk 0.50","type":"string","title":"failed_reason defines the reason why the proposal failed"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"},"id":{"description":"id defines the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages are the arbitrary messages to be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3"},"proposer":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"proposer is the address of the proposal sumbitter"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is a short summary of the proposal"},"title":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"title is the title of the proposal"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1.QueryConstitutionResponse":{"type":"object","title":"QueryConstitutionResponse is the response type for the Query/Constitution RPC method","properties":{"constitution":{"type":"string"}}},"cosmos.gov.v1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1.Deposit"}}},"cosmos.gov.v1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1.DepositParams"},"params":{"description":"params defines all the paramaters of x/gov module.\n\nSince: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.gov.v1.Params"},"tally_params":{"description":"Deprecated: Prefer to use `params` instead.\ntally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1.TallyParams"},"voting_params":{"description":"Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1.VotingParams"}}},"cosmos.gov.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"description":"proposal is the requested governance proposal.","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}},"cosmos.gov.v1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}}},"cosmos.gov.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"}}},"cosmos.gov.v1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1.Vote"}}},"cosmos.gov.v1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Vote"}}}},"cosmos.gov.v1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string"}}},"cosmos.gov.v1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the number of abstain votes on a proposal.","type":"string"},"no_count":{"description":"no_count is the number of no votes on a proposal.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the number of no with veto votes on a proposal.","type":"string"},"yes_count":{"description":"yes_count is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5"},"options":{"description":"options is the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.gov.v1beta1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1beta1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1beta1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1beta1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1beta1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.\n\nSince: cosmos-sdk 0.43","type":"object"},"cosmos.gov.v1beta1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1beta1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1beta1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1beta1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}}},"cosmos.gov.v1beta1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"deposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.DepositParams"},"tally_params":{"description":"tally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyParams"},"voting_params":{"description":"voting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1beta1.VotingParams"}}},"cosmos.gov.v1beta1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}},"cosmos.gov.v1beta1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}}},"cosmos.gov.v1beta1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"}}},"cosmos.gov.v1beta1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}},"cosmos.gov.v1beta1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}}},"cosmos.gov.v1beta1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string","format":"byte"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string","format":"byte"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string","format":"byte"}}},"cosmos.gov.v1beta1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain":{"description":"abstain is the number of abstain votes on a proposal.","type":"string"},"no":{"description":"no is the number of no votes on a proposal.","type":"string"},"no_with_veto":{"description":"no_with_veto is the number of no with veto votes on a proposal.","type":"string"},"yes":{"description":"yes is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1beta1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"option":{"description":"Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"options":{"description":"options is the weighted vote options.\n\nSince: cosmos-sdk 0.43","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1beta1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1beta1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1beta1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.group.v1.Exec":{"description":"Exec defines modes of execution of a proposal on creation or on new vote.\n\n - EXEC_UNSPECIFIED: An empty value means that there should be a separate\nMsgExec request for the proposal to execute.\n - EXEC_TRY: Try to execute the proposal immediately.\nIf the proposal is not allowed per the DecisionPolicy,\nthe proposal will still be open and could\nbe executed at a later point.","type":"string","default":"EXEC_UNSPECIFIED","enum":["EXEC_UNSPECIFIED","EXEC_TRY"]},"cosmos.group.v1.GroupInfo":{"description":"GroupInfo represents the high-level on-chain information for a group.","type":"object","properties":{"admin":{"description":"admin is the account address of the group's admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group was created.","type":"string","format":"date-time"},"id":{"description":"id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata to attached to the group.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#group-1"},"total_weight":{"description":"total_weight is the sum of the group members' weights.","type":"string"},"version":{"type":"string","format":"uint64","title":"version is used to track changes to a group's membership structure that\nwould break existing proposals. Whenever any members weight is changed,\nor any member is added or removed this version is incremented and will\ncause proposals based on older versions of this group to fail"}}},"cosmos.group.v1.GroupMember":{"description":"GroupMember represents the relationship between a group and a member.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member":{"description":"member is the member data.","$ref":"#/definitions/cosmos.group.v1.Member"}}},"cosmos.group.v1.GroupPolicyInfo":{"description":"GroupPolicyInfo represents the high-level on-chain information for a group policy.","type":"object","properties":{"address":{"description":"address is the account address of group policy.","type":"string"},"admin":{"description":"admin is the account address of the group admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group policy was created.","type":"string","format":"date-time"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the group policy.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#decision-policy-1"},"version":{"description":"version is used to track changes to a group's GroupPolicyInfo structure that\nwould create a different result on a running proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.Member":{"description":"Member represents a group member with an account address,\nnon-zero weight, metadata and added_at timestamp.","type":"object","properties":{"added_at":{"description":"added_at is a timestamp specifying when a member was added.","type":"string","format":"date-time"},"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MemberRequest":{"description":"MemberRequest represents a group member to be used in Msg server requests.\nContrary to `Member`, it doesn't have any `added_at` field\nsince this field cannot be set as part of requests.","type":"object","properties":{"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MsgCreateGroup":{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}},"metadata":{"description":"metadata is any arbitrary metadata to attached to the group.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicy":{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is any arbitrary metadata attached to the group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicyResponse":{"description":"MsgCreateGroupPolicyResponse is the Msg/CreateGroupPolicy response type.","type":"object","properties":{"address":{"description":"address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupResponse":{"description":"MsgCreateGroupResponse is the Msg/CreateGroup response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgCreateGroupWithPolicy":{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group and group policy admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_metadata":{"description":"group_metadata is any arbitrary metadata attached to the group.","type":"string"},"group_policy_as_admin":{"description":"group_policy_as_admin is a boolean field, if set to true, the group policy account address will be used as group\nand group policy admin.","type":"boolean"},"group_policy_metadata":{"description":"group_policy_metadata is any arbitrary metadata attached to the group policy.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgCreateGroupWithPolicyResponse":{"description":"MsgCreateGroupWithPolicyResponse is the Msg/CreateGroupWithPolicy response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group with policy.","type":"string","format":"uint64"},"group_policy_address":{"description":"group_policy_address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgExec":{"description":"MsgExec is the Msg/Exec request type.","type":"object","properties":{"executor":{"description":"executor is the account address used to execute the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgExecResponse":{"description":"MsgExecResponse is the Msg/Exec request type.","type":"object","properties":{"result":{"description":"result is the final result of the proposal execution.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"}}},"cosmos.group.v1.MsgLeaveGroup":{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","type":"object","properties":{"address":{"description":"address is the account address of the group member.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgLeaveGroupResponse":{"description":"MsgLeaveGroupResponse is the Msg/LeaveGroup response type.","type":"object"},"cosmos.group.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","type":"object","properties":{"exec":{"description":"exec defines the mode of execution of the proposal,\nwhether it should be executed immediately on creation or not.\nIf so, proposers signatures are considered as Yes votes.","$ref":"#/definitions/cosmos.group.v1.Exec"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposers":{"description":"proposers are the account addresses of the proposers.\nProposers signatures will be counted as yes votes.","type":"array","items":{"type":"string"}},"summary":{"description":"summary is the summary of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"},"title":{"description":"title is the title of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"}}},"cosmos.group.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse is the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgUpdateGroupAdmin":{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the current account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"new_admin":{"description":"new_admin is the group new admin account address.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupAdminResponse":{"description":"MsgUpdateGroupAdminResponse is the Msg/UpdateGroupAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMembers":{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member_updates":{"description":"member_updates is the list of members to update,\nset weight to 0 to remove a member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgUpdateGroupMembersResponse":{"description":"MsgUpdateGroupMembersResponse is the Msg/UpdateGroupMembers response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMetadata":{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is the updated group's metadata.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupMetadataResponse":{"description":"MsgUpdateGroupMetadataResponse is the Msg/UpdateGroupMetadata response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyAdmin":{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of the group policy.","type":"string"},"new_admin":{"description":"new_admin is the new group policy admin.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse":{"description":"MsgUpdateGroupPolicyAdminResponse is the Msg/UpdateGroupPolicyAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy":{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy is the updated group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse":{"description":"MsgUpdateGroupPolicyDecisionPolicyResponse is the Msg/UpdateGroupPolicyDecisionPolicy response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyMetadata":{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"metadata":{"description":"metadata is the group policy metadata to be updated.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse":{"description":"MsgUpdateGroupPolicyMetadataResponse is the Msg/UpdateGroupPolicyMetadata response type.","type":"object"},"cosmos.group.v1.MsgVote":{"description":"MsgVote is the Msg/Vote request type.","type":"object","properties":{"exec":{"description":"exec defines whether the proposal should be executed\nimmediately after voting or not.","$ref":"#/definitions/cosmos.group.v1.Exec"},"metadata":{"description":"metadata is any arbitrary metadata attached to the vote.","type":"string"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter account address.","type":"string"}}},"cosmos.group.v1.MsgVoteResponse":{"description":"MsgVoteResponse is the Msg/Vote response type.","type":"object"},"cosmos.group.v1.MsgWithdrawProposal":{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","type":"object","properties":{"address":{"description":"address is the admin of the group policy or one of the proposer of the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgWithdrawProposalResponse":{"description":"MsgWithdrawProposalResponse is the Msg/WithdrawProposal response type.","type":"object"},"cosmos.group.v1.Proposal":{"description":"Proposal defines a group proposal. Any member of a group can submit a proposal\nfor a group policy to decide upon.\nA proposal consists of a set of `sdk.Msg`s that will be executed if the proposal\npasses as well as some optional metadata associated with the proposal.","type":"object","properties":{"executor_result":{"description":"executor_result is the final result of the proposal execution. Initial value is NotRun.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"},"final_tally_result":{"description":"final_tally_result contains the sums of all weighted votes for this\nproposal for each vote option. It is empty at submission, and only\npopulated after tallying, at voting period end or at proposal execution,\nwhichever happens first.","$ref":"#/definitions/cosmos.group.v1.TallyResult"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"group_policy_version":{"description":"group_policy_version tracks the version of the group policy at proposal submission.\nWhen a decision policy is changed, existing proposals from previous policy\nversions will become invalid with the `ABORTED` status.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"group_version":{"description":"group_version tracks the version of the group at proposal submission.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"id":{"description":"id is the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#proposal-4"},"proposers":{"description":"proposers are the account addresses of the proposers.","type":"array","items":{"type":"string"}},"status":{"description":"status represents the high level position in the life cycle of the proposal. Initial value is Submitted.","$ref":"#/definitions/cosmos.group.v1.ProposalStatus"},"submit_time":{"description":"submit_time is a timestamp specifying when a proposal was submitted.","type":"string","format":"date-time"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is a short summary of the proposal"},"title":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"title is the title of the proposal"},"voting_period_end":{"description":"voting_period_end is the timestamp before which voting must be done.\nUnless a successful MsgExec is called before (to execute a proposal whose\ntally is successful before the voting period ends), tallying will be done\nat this point, and the `final_tally_result`and `status` fields will be\naccordingly updated.","type":"string","format":"date-time"}}},"cosmos.group.v1.ProposalExecutorResult":{"description":"ProposalExecutorResult defines types of proposal executor results.\n\n - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: An empty value is not allowed.\n - PROPOSAL_EXECUTOR_RESULT_NOT_RUN: We have not yet run the executor.\n - PROPOSAL_EXECUTOR_RESULT_SUCCESS: The executor was successful and proposed action updated state.\n - PROPOSAL_EXECUTOR_RESULT_FAILURE: The executor returned an error and proposed action didn't update state.","type":"string","default":"PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","enum":["PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","PROPOSAL_EXECUTOR_RESULT_NOT_RUN","PROPOSAL_EXECUTOR_RESULT_SUCCESS","PROPOSAL_EXECUTOR_RESULT_FAILURE"]},"cosmos.group.v1.ProposalStatus":{"description":"ProposalStatus defines proposal statuses.\n\n - PROPOSAL_STATUS_UNSPECIFIED: An empty value is invalid and not allowed.\n - PROPOSAL_STATUS_SUBMITTED: Initial status of a proposal when submitted.\n - PROPOSAL_STATUS_ACCEPTED: Final status of a proposal when the final tally is done and the outcome\npasses the group policy's decision policy.\n - PROPOSAL_STATUS_REJECTED: Final status of a proposal when the final tally is done and the outcome\nis rejected by the group policy's decision policy.\n - PROPOSAL_STATUS_ABORTED: Final status of a proposal when the group policy is modified before the\nfinal tally.\n - PROPOSAL_STATUS_WITHDRAWN: A proposal can be withdrawn before the voting start time by the owner.\nWhen this happens the final status is Withdrawn.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_SUBMITTED","PROPOSAL_STATUS_ACCEPTED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_ABORTED","PROPOSAL_STATUS_WITHDRAWN"]},"cosmos.group.v1.QueryGroupInfoResponse":{"description":"QueryGroupInfoResponse is the Query/GroupInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupInfo of the group.","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}}},"cosmos.group.v1.QueryGroupMembersResponse":{"description":"QueryGroupMembersResponse is the Query/GroupMembersResponse response type.","type":"object","properties":{"members":{"description":"members are the members of the group with given group_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupMember"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByAdminResponse":{"description":"QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info with provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByGroupResponse":{"description":"QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info associated with the provided group.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPolicyInfoResponse":{"description":"QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupPolicyInfo of the group policy.","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}}},"cosmos.group.v1.QueryGroupsByAdminResponse":{"description":"QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsByMemberResponse":{"description":"QueryGroupsByMemberResponse is the Query/GroupsByMember response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided group member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsResponse":{"description":"QueryGroupsResponse is the Query/Groups response type.\n\nSince: cosmos-sdk 0.47.1","type":"object","properties":{"groups":{"description":"`groups` is all the groups present in state.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the Query/Proposal response type.","type":"object","properties":{"proposal":{"description":"proposal is the proposal info.","$ref":"#/definitions/cosmos.group.v1.Proposal"}}},"cosmos.group.v1.QueryProposalsByGroupPolicyResponse":{"description":"QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals are the proposals with given group policy.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Proposal"}}}},"cosmos.group.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the Query/TallyResult response type.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.group.v1.TallyResult"}}},"cosmos.group.v1.QueryVoteByProposalVoterResponse":{"description":"QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter response type.","type":"object","properties":{"vote":{"description":"vote is the vote with given proposal_id and voter.","$ref":"#/definitions/cosmos.group.v1.Vote"}}},"cosmos.group.v1.QueryVotesByProposalResponse":{"description":"QueryVotesByProposalResponse is the Query/VotesByProposal response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes for given proposal_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.QueryVotesByVoterResponse":{"description":"QueryVotesByVoterResponse is the Query/VotesByVoter response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes by given voter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.TallyResult":{"description":"TallyResult represents the sum of weighted votes for each vote option.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the weighted sum of abstainers.","type":"string"},"no_count":{"description":"no_count is the weighted sum of no votes.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the weighted sum of veto.","type":"string"},"yes_count":{"description":"yes_count is the weighted sum of yes votes.","type":"string"}}},"cosmos.group.v1.Vote":{"type":"object","title":"Vote represents a vote for a proposal.string metadata","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#vote-2"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"submit_time":{"description":"submit_time is the timestamp when the vote was submitted.","type":"string","format":"date-time"},"voter":{"description":"voter is the account address of the voter.","type":"string"}}},"cosmos.group.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will\nreturn an error.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.mint.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/mint parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.mint.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.mint.v1beta1.Params":{"description":"Params defines the parameters for the x/mint module.","type":"object","properties":{"blocks_per_year":{"type":"string","format":"uint64","title":"expected blocks per year"},"goal_bonded":{"type":"string","title":"goal of percent bonded atoms"},"inflation_max":{"type":"string","title":"maximum inflation rate"},"inflation_min":{"type":"string","title":"minimum inflation rate"},"inflation_rate_change":{"type":"string","title":"maximum annual change in inflation rate"},"mint_denom":{"type":"string","title":"type of coin to mint"}}},"cosmos.mint.v1beta1.QueryAnnualProvisionsResponse":{"description":"QueryAnnualProvisionsResponse is the response type for the\nQuery/AnnualProvisions RPC method.","type":"object","properties":{"annual_provisions":{"description":"annual_provisions is the current minting annual provisions value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryInflationResponse":{"description":"QueryInflationResponse is the response type for the Query/Inflation RPC\nmethod.","type":"object","properties":{"inflation":{"description":"inflation is the current minting inflation value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.nft.v1beta1.Class":{"description":"Class defines the class of the nft type.","type":"object","properties":{"data":{"title":"data is the app specific metadata of the NFT class. Optional","$ref":"#/definitions/google.protobuf.Any"},"description":{"type":"string","title":"description is a brief description of nft classification. Optional"},"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"},"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"}}},"cosmos.nft.v1beta1.MsgSend":{"description":"MsgSend represents a message to send a nft from one account to another account.","type":"object","properties":{"class_id":{"type":"string","title":"class_id defines the unique identifier of the nft classification, similar to the contract address of ERC721"},"id":{"type":"string","title":"id defines the unique identification of nft"},"receiver":{"type":"string","title":"receiver is the receiver address of nft"},"sender":{"type":"string","title":"sender is the address of the owner of nft"}}},"cosmos.nft.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.nft.v1beta1.NFT":{"description":"NFT defines the NFT.","type":"object","properties":{"class_id":{"type":"string","title":"class_id associated with the NFT, similar to the contract address of ERC721"},"data":{"title":"data is an app specific data of the NFT. Optional","$ref":"#/definitions/google.protobuf.Any"},"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"}}},"cosmos.nft.v1beta1.QueryBalanceResponse":{"type":"object","title":"QueryBalanceResponse is the response type for the Query/Balance RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs of a given class owned by the owner"}}},"cosmos.nft.v1beta1.QueryClassResponse":{"type":"object","title":"QueryClassResponse is the response type for the Query/Class RPC method","properties":{"class":{"description":"class defines the class of the nft type.","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}}},"cosmos.nft.v1beta1.QueryClassesResponse":{"type":"object","title":"QueryClassesResponse is the response type for the Query/Classes RPC method","properties":{"classes":{"description":"class defines the class of the nft type.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryNFTResponse":{"type":"object","title":"QueryNFTResponse is the response type for the Query/NFT RPC method","properties":{"nft":{"title":"owner is the owner address of the nft","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}}},"cosmos.nft.v1beta1.QueryNFTsResponse":{"type":"object","title":"QueryNFTsResponse is the response type for the Query/NFTs RPC methods","properties":{"nfts":{"type":"array","title":"NFT defines the NFT","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryOwnerResponse":{"type":"object","title":"QueryOwnerResponse is the response type for the Query/Owner RPC method","properties":{"owner":{"type":"string","title":"owner is the owner address of the nft"}}},"cosmos.nft.v1beta1.QuerySupplyResponse":{"type":"object","title":"QuerySupplyResponse is the response type for the Query/Supply RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs from the given class"}}},"cosmos.params.v1beta1.ParamChange":{"description":"ParamChange defines an individual parameter change, for use in\nParameterChangeProposal.","type":"object","properties":{"key":{"type":"string"},"subspace":{"type":"string"},"value":{"type":"string"}}},"cosmos.params.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"param":{"description":"param defines the queried parameter.","$ref":"#/definitions/cosmos.params.v1beta1.ParamChange"}}},"cosmos.params.v1beta1.QuerySubspacesResponse":{"description":"QuerySubspacesResponse defines the response types for querying for all\nregistered subspaces and all keys for a subspace.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"subspaces":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.params.v1beta1.Subspace"}}}},"cosmos.params.v1beta1.Subspace":{"description":"Subspace defines a parameter subspace name and all the keys that exist for\nthe subspace.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"keys":{"type":"array","items":{"type":"string"}},"subspace":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjail":{"type":"object","title":"MsgUnjail defines the Msg/Unjail request type","properties":{"validator_addr":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjailResponse":{"type":"object","title":"MsgUnjailResponse defines the Msg/Unjail response type"},"cosmos.slashing.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/slashing parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.slashing.v1beta1.Params":{"description":"Params represents the parameters used for by the slashing module.","type":"object","properties":{"downtime_jail_duration":{"type":"string"},"min_signed_per_window":{"type":"string","format":"byte"},"signed_blocks_window":{"type":"string","format":"int64"},"slash_fraction_double_sign":{"type":"string","format":"byte"},"slash_fraction_downtime":{"type":"string","format":"byte"}}},"cosmos.slashing.v1beta1.QueryParamsResponse":{"type":"object","title":"QueryParamsResponse is the response type for the Query/Params RPC method","properties":{"params":{"$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.QuerySigningInfoResponse":{"type":"object","title":"QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod","properties":{"val_signing_info":{"title":"val_signing_info is the signing info of requested val cons address","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}}},"cosmos.slashing.v1beta1.QuerySigningInfosResponse":{"type":"object","title":"QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod","properties":{"info":{"type":"array","title":"info is the signing info of all validators","items":{"type":"object","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.slashing.v1beta1.ValidatorSigningInfo":{"description":"ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity.","type":"object","properties":{"address":{"type":"string"},"index_offset":{"description":"Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap.","type":"string","format":"int64"},"jailed_until":{"description":"Timestamp until which the validator is jailed due to liveness downtime.","type":"string","format":"date-time"},"missed_blocks_counter":{"description":"A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap.","type":"string","format":"int64"},"start_height":{"type":"string","format":"int64","title":"Height at which validator was first a candidate OR was un-jailed"},"tombstoned":{"description":"Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior.","type":"boolean"}}},"cosmos.staking.v1beta1.BondStatus":{"description":"BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded.","type":"string","default":"BOND_STATUS_UNSPECIFIED","enum":["BOND_STATUS_UNSPECIFIED","BOND_STATUS_UNBONDED","BOND_STATUS_UNBONDING","BOND_STATUS_BONDED"]},"cosmos.staking.v1beta1.Commission":{"description":"Commission defines commission parameters for a given validator.","type":"object","properties":{"commission_rates":{"description":"commission_rates defines the initial commission rates to be used for creating a validator.","$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"update_time":{"description":"update_time is the last time the commission rate was changed.","type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.CommissionRates":{"description":"CommissionRates defines the initial commission rates to be used for creating\na validator.","type":"object","properties":{"max_change_rate":{"description":"max_change_rate defines the maximum daily increase of the validator commission, as a fraction.","type":"string"},"max_rate":{"description":"max_rate defines the maximum commission rate which validator can ever charge, as a fraction.","type":"string"},"rate":{"description":"rate is the commission rate charged to delegators, as a fraction.","type":"string"}}},"cosmos.staking.v1beta1.Delegation":{"description":"Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"shares":{"description":"shares define the delegation shares received.","type":"string"},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.DelegationResponse":{"description":"DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses.","type":"object","properties":{"balance":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Delegation"}}},"cosmos.staking.v1beta1.Description":{"description":"Description defines a validator description.","type":"object","properties":{"details":{"description":"details define other optional details.","type":"string"},"identity":{"description":"identity defines an optional identity signature (ex. UPort or Keybase).","type":"string"},"moniker":{"description":"moniker defines a human-readable name for the validator.","type":"string"},"security_contact":{"description":"security_contact defines an optional email for security contact.","type":"string"},"website":{"description":"website defines an optional website link.","type":"string"}}},"cosmos.staking.v1beta1.HistoricalInfo":{"description":"HistoricalInfo contains header and validator information for a given block.\nIt is stored as part of staking module's state, which persists the `n` most\nrecent HistoricalInfo\n(`n` is set by the staking module's `historical_entries` parameter).","type":"object","properties":{"header":{"$ref":"#/definitions/tendermint.types.Header"},"valset":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.MsgBeginRedelegate":{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_dst_address":{"type":"string"},"validator_src_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgBeginRedelegateResponse":{"description":"MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type.","type":"object","properties":{"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegation":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator","properties":{"amount":{"title":"amount is always less than or equal to unbonding delegation entry balance","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgCancelUnbondingDelegationResponse"},"cosmos.staking.v1beta1.MsgCreateValidator":{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","type":"object","properties":{"commission":{"$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"delegator_address":{"description":"Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated.\nThe validator address bytes and delegator address bytes refer to the same account while creating validator (defer\nonly in bech32 notation).","type":"string"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"pubkey":{"$ref":"#/definitions/google.protobuf.Any"},"validator_address":{"type":"string"},"value":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.staking.v1beta1.MsgCreateValidatorResponse":{"description":"MsgCreateValidatorResponse defines the Msg/CreateValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgDelegate":{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgDelegateResponse":{"description":"MsgDelegateResponse defines the Msg/Delegate response type.","type":"object"},"cosmos.staking.v1beta1.MsgEditValidator":{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","type":"object","properties":{"commission_rate":{"type":"string","title":"We pass a reference to the new commission rate and min self delegation as\nit's not mandatory to update. If not updated, the deserialized rate will be\nzero with no way to distinguish if an update was intended.\nREF: #2373"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgEditValidatorResponse":{"description":"MsgEditValidatorResponse defines the Msg/EditValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgUndelegate":{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgUndelegateResponse":{"description":"MsgUndelegateResponse defines the Msg/Undelegate response type.","type":"object","properties":{"amount":{"description":"Since: cosmos-sdk 0.50","title":"amount returns the amount of undelegated coins","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/staking parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.staking.v1beta1.Params":{"description":"Params defines the parameters for the x/staking module.","type":"object","properties":{"bond_denom":{"description":"bond_denom defines the bondable coin denomination.","type":"string"},"historical_entries":{"description":"historical_entries is the number of historical entries to persist.","type":"integer","format":"int64"},"max_entries":{"description":"max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).","type":"integer","format":"int64"},"max_validators":{"description":"max_validators is the maximum number of validators.","type":"integer","format":"int64"},"min_commission_rate":{"type":"string","title":"min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators"},"unbonding_time":{"description":"unbonding_time is the time duration of unbonding.","type":"string"}}},"cosmos.staking.v1beta1.Pool":{"description":"Pool is used for tracking bonded and not-bonded token supply of the bond\ndenomination.","type":"object","properties":{"bonded_tokens":{"type":"string"},"not_bonded_tokens":{"type":"string"}}},"cosmos.staking.v1beta1.QueryDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/Delegation RPC method.","type":"object","properties":{"delegation_response":{"description":"delegation_responses defines the delegation info of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse":{"description":"QueryDelegatorDelegationsResponse is response type for the\nQuery/DelegatorDelegations RPC method.","type":"object","properties":{"delegation_responses":{"description":"delegation_responses defines all the delegations' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse":{"description":"QueryUnbondingDelegatorDelegationsResponse is response type for the\nQuery/UnbondingDelegatorDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorResponse":{"description":"QueryDelegatorValidatorResponse response type for the\nQuery/DelegatorValidator RPC method.","type":"object","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators defines the validators' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.QueryHistoricalInfoResponse":{"description":"QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC\nmethod.","type":"object","properties":{"hist":{"description":"hist defines the historical info at the given height.","$ref":"#/definitions/cosmos.staking.v1beta1.HistoricalInfo"}}},"cosmos.staking.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.QueryPoolResponse":{"description":"QueryPoolResponse is response type for the Query/Pool RPC method.","type":"object","properties":{"pool":{"description":"pool defines the pool info.","$ref":"#/definitions/cosmos.staking.v1beta1.Pool"}}},"cosmos.staking.v1beta1.QueryRedelegationsResponse":{"description":"QueryRedelegationsResponse is response type for the Query/Redelegations RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"redelegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationResponse"}}}},"cosmos.staking.v1beta1.QueryUnbondingDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/UnbondingDelegation\nRPC method.","type":"object","properties":{"unbond":{"description":"unbond defines the unbonding information of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}},"cosmos.staking.v1beta1.QueryValidatorDelegationsResponse":{"type":"object","title":"QueryValidatorDelegationsResponse is response type for the\nQuery/ValidatorDelegations RPC method","properties":{"delegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryValidatorResponse":{"type":"object","title":"QueryValidatorResponse is response type for the Query/Validator RPC method","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse":{"description":"QueryValidatorUnbondingDelegationsResponse is response type for the\nQuery/ValidatorUnbondingDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryValidatorsResponse":{"type":"object","title":"QueryValidatorsResponse is response type for the Query/Validators RPC method","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators contains all the queried validators.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.Redelegation":{"description":"Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the bech32-encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the redelegation entries.\n\nredelegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}},"validator_dst_address":{"description":"validator_dst_address is the validator redelegation destination operator address.","type":"string"},"validator_src_address":{"description":"validator_src_address is the validator redelegation source operator address.","type":"string"}}},"cosmos.staking.v1beta1.RedelegationEntry":{"description":"RedelegationEntry defines a redelegation object with relevant metadata.","type":"object","properties":{"completion_time":{"description":"completion_time defines the unix time for redelegation completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height defines the height which the redelegation took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the initial balance when redelegation started.","type":"string"},"shares_dst":{"description":"shares_dst is the amount of destination-validator shares created by redelegation.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.RedelegationEntryResponse":{"description":"RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"balance":{"type":"string"},"redelegation_entry":{"$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}}},"cosmos.staking.v1beta1.RedelegationResponse":{"description":"RedelegationResponse is equivalent to a Redelegation except that its entries\ncontain a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"entries":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntryResponse"}},"redelegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Redelegation"}}},"cosmos.staking.v1beta1.UnbondingDelegation":{"description":"UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the unbonding delegation entries.\n\nunbonding delegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegationEntry"}},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.UnbondingDelegationEntry":{"description":"UnbondingDelegationEntry defines an unbonding object with relevant metadata.","type":"object","properties":{"balance":{"description":"balance defines the tokens to receive at completion.","type":"string"},"completion_time":{"description":"completion_time is the unix time for unbonding completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the tokens initially scheduled to receive at completion.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.Validator":{"description":"Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate.","type":"object","properties":{"commission":{"description":"commission defines the commission parameters.","$ref":"#/definitions/cosmos.staking.v1beta1.Commission"},"consensus_pubkey":{"description":"consensus_pubkey is the consensus public key of the validator, as a Protobuf Any.","$ref":"#/definitions/google.protobuf.Any"},"delegator_shares":{"description":"delegator_shares defines total shares issued to a validator's delegators.","type":"string"},"description":{"description":"description defines the description terms for the validator.","$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"jailed":{"description":"jailed defined whether the validator has been jailed from bonded status or not.","type":"boolean"},"min_self_delegation":{"description":"min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46","type":"string"},"operator_address":{"description":"operator_address defines the address of the validator's operator; bech encoded in JSON.","type":"string"},"status":{"description":"status is the validator status (bonded/unbonding/unbonded).","$ref":"#/definitions/cosmos.staking.v1beta1.BondStatus"},"tokens":{"description":"tokens define the delegated tokens (incl. self-delegation).","type":"string"},"unbonding_height":{"description":"unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.","type":"string","format":"int64"},"unbonding_ids":{"type":"array","title":"list of unbonding ids, each uniquely identifing an unbonding of this validator","items":{"type":"string","format":"uint64"}},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"strictly positive if this validator's unbonding has been stopped by external modules"},"unbonding_time":{"description":"unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.","type":"string","format":"date-time"}}},"cosmos.store.streaming.abci.ListenCommitRequest":{"type":"object","title":"ListenCommitRequest is the request type for the ListenCommit RPC method","properties":{"block_height":{"type":"string","format":"int64","title":"explicitly pass in block height as ResponseCommit does not contain this info"},"change_set":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.store.v1beta1.StoreKVPair"}},"res":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}}},"cosmos.store.streaming.abci.ListenCommitResponse":{"type":"object","title":"ListenCommitResponse is the response type for the ListenCommit RPC method"},"cosmos.store.streaming.abci.ListenFinalizeBlockRequest":{"type":"object","title":"ListenEndBlockRequest is the request type for the ListenEndBlock RPC method","properties":{"req":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"},"res":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}}},"cosmos.store.streaming.abci.ListenFinalizeBlockResponse":{"type":"object","title":"ListenEndBlockResponse is the response type for the ListenEndBlock RPC method"},"cosmos.store.v1beta1.StoreKVPair":{"description":"Since: cosmos-sdk 0.43","type":"object","title":"StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes)\nIt optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and\nDeletes","properties":{"delete":{"type":"boolean","title":"true indicates a delete operation, false indicates a set operation"},"key":{"type":"string","format":"byte"},"store_key":{"type":"string","title":"the store key for the KVStore this pair originates from"},"value":{"type":"string","format":"byte"}}},"cosmos.tx.signing.v1beta1.SignMode":{"description":"SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT.\n\nSince: cosmos-sdk 0.50\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2","type":"string","default":"SIGN_MODE_UNSPECIFIED","enum":["SIGN_MODE_UNSPECIFIED","SIGN_MODE_DIRECT","SIGN_MODE_TEXTUAL","SIGN_MODE_DIRECT_AUX","SIGN_MODE_LEGACY_AMINO_JSON","SIGN_MODE_EIP_191"]},"cosmos.tx.v1beta1.AuthInfo":{"description":"AuthInfo describes the fee and signer modes that are used to sign a\ntransaction.","type":"object","properties":{"fee":{"description":"Fee is the fee and gas limit for the transaction. The first signer is the\nprimary signer and the one which pays the fee. The fee can be calculated\nbased on the cost of evaluating the body and doing signature verification\nof the signers. This can be estimated via simulation.","$ref":"#/definitions/cosmos.tx.v1beta1.Fee"},"signer_infos":{"description":"signer_infos defines the signing modes for the required signers. The number\nand order of elements must match the required signers from TxBody's\nmessages. The first element is the primary signer and the one which pays\nthe fee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.SignerInfo"}},"tip":{"description":"Tip is the optional tip used for transactions fees paid in another denom.\n\nThis field is ignored if the chain didn't enable tips, i.e. didn't add the\n`TipDecorator` in its posthandler.\n\nSince: cosmos-sdk 0.46","$ref":"#/definitions/cosmos.tx.v1beta1.Tip"}}},"cosmos.tx.v1beta1.BroadcastMode":{"description":"BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC\nmethod.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits\nfor a CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client\nreturns immediately.","type":"string","default":"BROADCAST_MODE_UNSPECIFIED","enum":["BROADCAST_MODE_UNSPECIFIED","BROADCAST_MODE_BLOCK","BROADCAST_MODE_SYNC","BROADCAST_MODE_ASYNC"]},"cosmos.tx.v1beta1.BroadcastTxRequest":{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","type":"object","properties":{"mode":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastMode"},"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.BroadcastTxResponse":{"description":"BroadcastTxResponse is the response type for the\nService.BroadcastTx method.","type":"object","properties":{"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.Fee":{"description":"Fee includes the amount of coins paid in fees and the maximum\ngas to be used by the transaction. The ratio yields an effective \"gasprice\",\nwhich must be above some miminum to be accepted into the mempool.","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of coins to be paid as a fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"gas_limit":{"type":"string","format":"uint64","title":"gas_limit is the maximum gas that can be used in transaction processing\nbefore an out of gas error occurs"},"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\nto pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does\nnot support fee grants, this will fail"},"payer":{"description":"if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees.\nthe payer must be a tx signer (and thus have signed this field in AuthInfo).\nsetting this field does *not* change the ordering of required signers for the transaction.","type":"string"}}},"cosmos.tx.v1beta1.GetBlockWithTxsResponse":{"description":"GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs\nmethod.\n\nSince: cosmos-sdk 0.45.2","type":"object","properties":{"block":{"$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"pagination":{"description":"pagination defines a pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"txs":{"description":"txs are the transactions in the block.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.GetTxResponse":{"description":"GetTxResponse is the response type for the Service.GetTx method.","type":"object","properties":{"tx":{"description":"tx is the queried transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.GetTxsEventResponse":{"description":"GetTxsEventResponse is the response type for the Service.TxsByEvents\nRPC method.","type":"object","properties":{"pagination":{"description":"pagination defines a pagination for the response.\nDeprecated post v0.46.x: use total instead.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64","title":"total is total number of results available"},"tx_responses":{"description":"tx_responses is the list of queried TxResponses.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}},"txs":{"description":"txs is the list of queried transactions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.ModeInfo":{"description":"ModeInfo describes the signing mode of a single or nested multisig signer.","type":"object","properties":{"multi":{"title":"multi represents a nested multisig signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi"},"single":{"title":"single represents a single signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Single"}}},"cosmos.tx.v1beta1.ModeInfo.Multi":{"type":"object","title":"Multi is the mode info for a multisig public key","properties":{"bitarray":{"title":"bitarray specifies which keys within the multisig are signing","$ref":"#/definitions/cosmos.crypto.multisig.v1beta1.CompactBitArray"},"mode_infos":{"type":"array","title":"mode_infos is the corresponding modes of the signers of the multisig\nwhich could include nested multisig public keys","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"}}}},"cosmos.tx.v1beta1.ModeInfo.Single":{"type":"object","title":"Single is the mode info for a single signer. It is structured as a message\nto allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the\nfuture","properties":{"mode":{"title":"mode is the signing mode of the single signer","$ref":"#/definitions/cosmos.tx.signing.v1beta1.SignMode"}}},"cosmos.tx.v1beta1.OrderBy":{"description":"- ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","type":"string","title":"OrderBy defines the sorting order","default":"ORDER_BY_UNSPECIFIED","enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"]},"cosmos.tx.v1beta1.SignerInfo":{"description":"SignerInfo describes the public key and signing mode of a single top-level\nsigner.","type":"object","properties":{"mode_info":{"title":"mode_info describes the signing mode of the signer and is a nested\nstructure to support nested multisig pubkey's","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"},"public_key":{"description":"public_key is the public key of the signer. It is optional for accounts\nthat already exist in state. If unset, the verifier can use the required \\\nsigner address for this position and lookup the public key.","$ref":"#/definitions/google.protobuf.Any"},"sequence":{"description":"sequence is the sequence of the account, which describes the\nnumber of committed transactions signed by a given address. It is used to\nprevent replay attacks.","type":"string","format":"uint64"}}},"cosmos.tx.v1beta1.SimulateRequest":{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","type":"object","properties":{"tx":{"description":"tx is the transaction to simulate.\nDeprecated. Send raw tx bytes instead.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_bytes":{"description":"tx_bytes is the raw transaction.\n\nSince: cosmos-sdk 0.43","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.SimulateResponse":{"description":"SimulateResponse is the response type for the\nService.SimulateRPC method.","type":"object","properties":{"gas_info":{"description":"gas_info is the information about gas used in the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.GasInfo"},"result":{"description":"result is the result of the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.Result"}}},"cosmos.tx.v1beta1.Tip":{"description":"Tip is the tip used for meta-transactions.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of the tip","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"tipper":{"type":"string","title":"tipper is the address of the account paying for the tip"}}},"cosmos.tx.v1beta1.Tx":{"description":"Tx is the standard type used for broadcasting transactions.","type":"object","properties":{"auth_info":{"title":"auth_info is the authorization related content of the transaction,\nspecifically signers, signer modes and fee","$ref":"#/definitions/cosmos.tx.v1beta1.AuthInfo"},"body":{"title":"body is the processable content of the transaction","$ref":"#/definitions/cosmos.tx.v1beta1.TxBody"},"signatures":{"description":"signatures is a list of signatures that matches the length and order of\nAuthInfo's signer_infos to allow connecting signature meta information like\npublic key and signing mode by position.","type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.tx.v1beta1.TxBody":{"description":"TxBody is the body of a transaction that all signers sign over.","type":"object","properties":{"extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, the transaction will be rejected","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"memo":{"description":"memo is any arbitrary note/comment to be added to the transaction.\nWARNING: in clients, any publicly exposed text should not be called memo,\nbut should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122).","type":"string"},"messages":{"description":"messages is a list of messages to be executed. The required signers of\nthose messages define the number and order of elements in AuthInfo's\nsigner_infos and Tx's signatures. Each required signer address is added to\nthe list only the first time it occurs.\nBy convention, the first required signer (usually from the first message)\nis referred to as the primary signer and pays the fee for the whole\ntransaction.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"non_critical_extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, they will be ignored","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"timeout_height":{"type":"string","format":"uint64","title":"timeout is the block height after which this transaction will not\nbe processed by the chain"}}},"cosmos.tx.v1beta1.TxDecodeAminoRequest":{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeAminoResponse":{"description":"TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxDecodeRequest":{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeResponse":{"description":"TxDecodeResponse is the response type for the\nService.TxDecode method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx":{"description":"tx is the decoded transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeAminoRequest":{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxEncodeAminoResponse":{"description":"TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxEncodeRequest":{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx":{"description":"tx is the transaction to encode.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeResponse":{"description":"TxEncodeResponse is the response type for the\nService.TxEncode method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the encoded transaction bytes.","type":"string","format":"byte"}}},"cosmos.upgrade.v1beta1.ModuleVersion":{"description":"ModuleVersion specifies a module and its consensus version.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"name":{"type":"string","title":"name of the app module"},"version":{"type":"string","format":"uint64","title":"consensus version of the app module"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgrade":{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse":{"description":"MsgCancelUpgradeResponse is the Msg/CancelUpgrade response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.upgrade.v1beta1.MsgSoftwareUpgrade":{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"plan":{"description":"plan is the upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse":{"description":"MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.upgrade.v1beta1.Plan":{"description":"Plan specifies information about a planned upgrade and when it should occur.","type":"object","properties":{"height":{"description":"The height at which the upgrade must be performed.","type":"string","format":"int64"},"info":{"type":"string","title":"Any application specific upgrade info to be included on-chain\nsuch as a git commit that validators could automatically upgrade to"},"name":{"description":"Sets the name for the upgrade. This name will be used by the upgraded\nversion of the software to apply any special \"on-upgrade\" commands during\nthe first BeginBlock method after the upgrade is applied. It is also used\nto detect whether a software version can handle a given upgrade. If no\nupgrade handler with this name has been set in the software, it will be\nassumed that the software is out-of-date when the upgrade Time or Height is\nreached and the software will exit.","type":"string"},"time":{"description":"Deprecated: Time based upgrades have been deprecated. Time based upgrade logic\nhas been removed from the SDK.\nIf this field is not empty, an error will be thrown.","type":"string","format":"date-time"},"upgraded_client_state":{"description":"Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been\nmoved to the IBC module in the sub module 02-client.\nIf this field is not empty, an error will be thrown.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.upgrade.v1beta1.QueryAppliedPlanResponse":{"description":"QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC\nmethod.","type":"object","properties":{"height":{"description":"height is the block height at which the plan was applied.","type":"string","format":"int64"}}},"cosmos.upgrade.v1beta1.QueryAuthorityResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"QueryAuthorityResponse is the response type for Query/Authority","properties":{"address":{"type":"string"}}},"cosmos.upgrade.v1beta1.QueryCurrentPlanResponse":{"description":"QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC\nmethod.","type":"object","properties":{"plan":{"description":"plan is the current upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.QueryModuleVersionsResponse":{"description":"QueryModuleVersionsResponse is the response type for the Query/ModuleVersions\nRPC method.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"module_versions":{"description":"module_versions is a list of module names with their consensus versions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.upgrade.v1beta1.ModuleVersion"}}}},"cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse":{"description":"QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState\nRPC method.","type":"object","properties":{"upgraded_consensus_state":{"type":"string","format":"byte","title":"Since: cosmos-sdk 0.43"}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"from_address":{"type":"string"},"start_time":{"description":"start of vesting as unix time (in seconds).","type":"string","format":"int64"},"to_address":{"type":"string"},"vesting_periods":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.vesting.v1beta1.Period"}}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreatePeriodicVestingAccount\nresponse type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount":{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse":{"description":"MsgCreatePermanentLockedAccountResponse defines the Msg/CreatePermanentLockedAccount response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.vesting.v1beta1.MsgCreateVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"delayed":{"type":"boolean"},"end_time":{"description":"end of vesting as unix time (in seconds).","type":"string","format":"int64"},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type.","type":"object"},"cosmos.vesting.v1beta1.Period":{"description":"Period defines a length of time and amount of coins that will vest.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"length":{"description":"Period duration in seconds.","type":"string","format":"int64"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}},"ibc.applications.fee.v1.Fee":{"type":"object","title":"Fee defines the ICS29 receive, acknowledgement and timeout fees","properties":{"ack_fee":{"type":"array","title":"the packet acknowledgement fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"recv_fee":{"type":"array","title":"the packet receive fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"timeout_fee":{"type":"array","title":"the packet timeout fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.fee.v1.FeeEnabledChannel":{"type":"object","title":"FeeEnabledChannel contains the PortID \u0026 ChannelID for a fee enabled channel","properties":{"channel_id":{"type":"string","title":"unique channel identifier"},"port_id":{"type":"string","title":"unique port identifier"}}},"ibc.applications.fee.v1.IdentifiedPacketFees":{"type":"object","title":"IdentifiedPacketFees contains a list of type PacketFee and associated PacketId","properties":{"packet_fees":{"type":"array","title":"list of packet fees","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.PacketFee"}},"packet_id":{"title":"unique packet identifier comprised of the channel ID, port ID and sequence","$ref":"#/definitions/ibc.core.channel.v1.PacketId"}}},"ibc.applications.fee.v1.MsgPayPacketFee":{"type":"object","title":"MsgPayPacketFee defines the request type for the PayPacketFee rpc\nThis Msg can be used to pay for a packet at the next sequence send \u0026 should be combined with the Msg that will be\npaid for","properties":{"fee":{"title":"fee encapsulates the recv, ack and timeout fees associated with an IBC packet","$ref":"#/definitions/ibc.applications.fee.v1.Fee"},"relayers":{"type":"array","title":"optional list of relayers permitted to the receive packet fees","items":{"type":"string"}},"signer":{"type":"string","title":"account address to refund fee if necessary"},"source_channel_id":{"type":"string","title":"the source channel unique identifer"},"source_port_id":{"type":"string","title":"the source port unique identifier"}}},"ibc.applications.fee.v1.MsgPayPacketFeeAsync":{"type":"object","title":"MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync rpc\nThis Msg can be used to pay for a packet at a specified sequence (instead of the next sequence send)","properties":{"packet_fee":{"title":"the packet fee associated with a particular IBC packet","$ref":"#/definitions/ibc.applications.fee.v1.PacketFee"},"packet_id":{"title":"unique packet identifier comprised of the channel ID, port ID and sequence","$ref":"#/definitions/ibc.core.channel.v1.PacketId"}}},"ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse":{"type":"object","title":"MsgPayPacketFeeAsyncResponse defines the response type for the PayPacketFeeAsync rpc"},"ibc.applications.fee.v1.MsgPayPacketFeeResponse":{"type":"object","title":"MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc"},"ibc.applications.fee.v1.MsgRegisterCounterpartyPayee":{"type":"object","title":"MsgRegisterCounterpartyPayee defines the request type for the RegisterCounterpartyPayee rpc","properties":{"channel_id":{"type":"string","title":"unique channel identifier"},"counterparty_payee":{"type":"string","title":"the counterparty payee address"},"port_id":{"type":"string","title":"unique port identifier"},"relayer":{"type":"string","title":"the relayer address"}}},"ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse":{"type":"object","title":"MsgRegisterCounterpartyPayeeResponse defines the response type for the RegisterCounterpartyPayee rpc"},"ibc.applications.fee.v1.MsgRegisterPayee":{"type":"object","title":"MsgRegisterPayee defines the request type for the RegisterPayee rpc","properties":{"channel_id":{"type":"string","title":"unique channel identifier"},"payee":{"type":"string","title":"the payee address"},"port_id":{"type":"string","title":"unique port identifier"},"relayer":{"type":"string","title":"the relayer address"}}},"ibc.applications.fee.v1.MsgRegisterPayeeResponse":{"type":"object","title":"MsgRegisterPayeeResponse defines the response type for the RegisterPayee rpc"},"ibc.applications.fee.v1.PacketFee":{"type":"object","title":"PacketFee contains ICS29 relayer fees, refund address and optional list of permitted relayers","properties":{"fee":{"title":"fee encapsulates the recv, ack and timeout fees associated with an IBC packet","$ref":"#/definitions/ibc.applications.fee.v1.Fee"},"refund_address":{"type":"string","title":"the refund address for unspent fees"},"relayers":{"type":"array","title":"optional list of relayers permitted to receive fees","items":{"type":"string"}}}},"ibc.applications.fee.v1.QueryCounterpartyPayeeResponse":{"type":"object","title":"QueryCounterpartyPayeeResponse defines the response type for the CounterpartyPayee rpc","properties":{"counterparty_payee":{"type":"string","title":"the counterparty payee address used to compensate forward relaying"}}},"ibc.applications.fee.v1.QueryFeeEnabledChannelResponse":{"type":"object","title":"QueryFeeEnabledChannelResponse defines the response type for the FeeEnabledChannel rpc","properties":{"fee_enabled":{"type":"boolean","title":"boolean flag representing the fee enabled channel status"}}},"ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse":{"type":"object","title":"QueryFeeEnabledChannelsResponse defines the response type for the FeeEnabledChannels rpc","properties":{"fee_enabled_channels":{"type":"array","title":"list of fee enabled channels","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.FeeEnabledChannel"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.fee.v1.QueryIncentivizedPacketResponse":{"type":"object","title":"QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPacket rpc","properties":{"incentivized_packet":{"title":"the identified fees for the incentivized packet","$ref":"#/definitions/ibc.applications.fee.v1.IdentifiedPacketFees"}}},"ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse":{"type":"object","title":"QueryIncentivizedPacketsResponse defines the response type for the incentivized packets RPC","properties":{"incentivized_packets":{"type":"array","title":"Map of all incentivized_packets","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.IdentifiedPacketFees"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.fee.v1.QueryIncentivizedPacketsResponse":{"type":"object","title":"QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPackets rpc","properties":{"incentivized_packets":{"type":"array","title":"list of identified fees for incentivized packets","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.IdentifiedPacketFees"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.fee.v1.QueryPayeeResponse":{"type":"object","title":"QueryPayeeResponse defines the response type for the Payee rpc","properties":{"payee_address":{"type":"string","title":"the payee address to which packet fees are paid out"}}},"ibc.applications.fee.v1.QueryTotalAckFeesResponse":{"type":"object","title":"QueryTotalAckFeesResponse defines the response type for the TotalAckFees rpc","properties":{"ack_fees":{"type":"array","title":"the total packet acknowledgement fees","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.fee.v1.QueryTotalRecvFeesResponse":{"type":"object","title":"QueryTotalRecvFeesResponse defines the response type for the TotalRecvFees rpc","properties":{"recv_fees":{"type":"array","title":"the total packet receive fees","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse":{"type":"object","title":"QueryTotalTimeoutFeesResponse defines the response type for the TotalTimeoutFees rpc","properties":{"timeout_fees":{"type":"array","title":"the total packet timeout fees","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount":{"type":"object","title":"MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount","properties":{"connection_id":{"type":"string"},"ordering":{"$ref":"#/definitions/ibc.core.channel.v1.Order"},"owner":{"type":"string"},"version":{"type":"string"}}},"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse":{"type":"object","title":"MsgRegisterInterchainAccountResponse defines the response for Msg/RegisterAccount","properties":{"channel_id":{"type":"string"},"port_id":{"type":"string"}}},"ibc.applications.interchain_accounts.controller.v1.MsgSendTx":{"type":"object","title":"MsgSendTx defines the payload for Msg/SendTx","properties":{"connection_id":{"type":"string"},"owner":{"type":"string"},"packet_data":{"$ref":"#/definitions/ibc.applications.interchain_accounts.v1.InterchainAccountPacketData"},"relative_timeout":{"description":"Relative timeout timestamp provided will be added to the current block time during transaction execution.\nThe timeout timestamp must be non-zero.","type":"string","format":"uint64"}}},"ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse":{"type":"object","title":"MsgSendTxResponse defines the response for MsgSendTx","properties":{"sequence":{"type":"string","format":"uint64"}}},"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams":{"type":"object","title":"MsgUpdateParams defines the payload for Msg/UpdateParams","properties":{"params":{"description":"params defines the 27-interchain-accounts/controller parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse":{"type":"object","title":"MsgUpdateParamsResponse defines the response for Msg/UpdateParams"},"ibc.applications.interchain_accounts.controller.v1.Params":{"description":"Params defines the set of on-chain interchain accounts parameters.\nThe following parameters may be used to disable the controller submodule.","type":"object","properties":{"controller_enabled":{"description":"controller_enabled enables or disables the controller submodule.","type":"boolean"}}},"ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse":{"description":"QueryInterchainAccountResponse the response type for the Query/InterchainAccount RPC method.","type":"object","properties":{"address":{"type":"string"}}},"ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.Params"}}},"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe":{"type":"object","title":"MsgModuleQuerySafe defines the payload for Msg/ModuleQuerySafe","properties":{"requests":{"description":"requests defines the module safe queries to execute.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.QueryRequest"}},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse":{"type":"object","title":"MsgModuleQuerySafeResponse defines the response for Msg/ModuleQuerySafe","properties":{"height":{"type":"string","format":"uint64","title":"height at which the responses were queried"},"responses":{"type":"array","title":"protobuf encoded responses for each query","items":{"type":"string","format":"byte"}}}},"ibc.applications.interchain_accounts.host.v1.MsgUpdateParams":{"type":"object","title":"MsgUpdateParams defines the payload for Msg/UpdateParams","properties":{"params":{"description":"params defines the 27-interchain-accounts/host parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse":{"type":"object","title":"MsgUpdateParamsResponse defines the response for Msg/UpdateParams"},"ibc.applications.interchain_accounts.host.v1.Params":{"description":"Params defines the set of on-chain interchain accounts parameters.\nThe following parameters may be used to disable the host submodule.","type":"object","properties":{"allow_messages":{"description":"allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain.","type":"array","items":{"type":"string"}},"host_enabled":{"description":"host_enabled enables or disables the host submodule.","type":"boolean"}}},"ibc.applications.interchain_accounts.host.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.Params"}}},"ibc.applications.interchain_accounts.host.v1.QueryRequest":{"description":"QueryRequest defines the parameters for a particular query request\nby an interchain account.","type":"object","properties":{"data":{"type":"string","format":"byte","title":"data defines the payload of the query request as defined by ADR-021.\nhttps://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing"},"path":{"type":"string","title":"path defines the path of the query request as defined by ADR-021.\nhttps://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing"}}},"ibc.applications.interchain_accounts.v1.InterchainAccountPacketData":{"description":"InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field.","type":"object","properties":{"data":{"type":"string","format":"byte"},"memo":{"type":"string"},"type":{"$ref":"#/definitions/ibc.applications.interchain_accounts.v1.Type"}}},"ibc.applications.interchain_accounts.v1.Type":{"description":"- TYPE_UNSPECIFIED: Default zero value enumeration\n - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain","type":"string","title":"Type defines a classification of message issued from a controller chain to its associated interchain accounts\nhost","default":"TYPE_UNSPECIFIED","enum":["TYPE_UNSPECIFIED","TYPE_EXECUTE_TX"]},"ibc.applications.transfer.v1.DenomTrace":{"description":"DenomTrace contains the base denomination for ICS20 fungible tokens and the\nsource tracing information path.","type":"object","properties":{"base_denom":{"description":"base denomination of the relayed fungible token.","type":"string"},"path":{"description":"path defines the chain of port/channel identifiers used for tracing the\nsource of the fungible token.","type":"string"}}},"ibc.applications.transfer.v1.MsgTransfer":{"type":"object","title":"MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between\nICS20 enabled chains. See ICS Spec here:\nhttps://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures","properties":{"memo":{"type":"string","title":"optional memo"},"receiver":{"type":"string","title":"the recipient address on the destination chain"},"sender":{"type":"string","title":"the sender address"},"source_channel":{"type":"string","title":"the channel by which the packet will be sent"},"source_port":{"type":"string","title":"the port on which the packet will be sent"},"timeout_height":{"description":"Timeout height relative to the current block height.\nThe timeout is disabled when set to 0.","$ref":"#/definitions/ibc.core.client.v1.Height"},"timeout_timestamp":{"description":"Timeout timestamp in absolute nanoseconds since unix epoch.\nThe timeout is disabled when set to 0.","type":"string","format":"uint64"},"token":{"title":"the tokens to be transferred","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"ibc.applications.transfer.v1.MsgTransferResponse":{"description":"MsgTransferResponse defines the Msg/Transfer response type.","type":"object","properties":{"sequence":{"type":"string","format":"uint64","title":"sequence number of the transfer packet sent"}}},"ibc.applications.transfer.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"params":{"description":"params defines the transfer parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.applications.transfer.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.transfer.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"ibc.applications.transfer.v1.Params":{"description":"Params defines the set of IBC transfer parameters.\nNOTE: To prevent a single token from being transferred, set the\nTransfersEnabled parameter to true and then set the bank module's SendEnabled\nparameter for the denomination to false.","type":"object","properties":{"receive_enabled":{"description":"receive_enabled enables or disables all cross-chain token transfers to this\nchain.","type":"boolean"},"send_enabled":{"description":"send_enabled enables or disables all cross-chain token transfers from this\nchain.","type":"boolean"}}},"ibc.applications.transfer.v1.QueryDenomHashResponse":{"description":"QueryDenomHashResponse is the response type for the Query/DenomHash RPC\nmethod.","type":"object","properties":{"hash":{"description":"hash (in hex format) of the denomination trace information.","type":"string"}}},"ibc.applications.transfer.v1.QueryDenomTraceResponse":{"description":"QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC\nmethod.","type":"object","properties":{"denom_trace":{"description":"denom_trace returns the requested denomination trace information.","$ref":"#/definitions/ibc.applications.transfer.v1.DenomTrace"}}},"ibc.applications.transfer.v1.QueryDenomTracesResponse":{"description":"QueryConnectionsResponse is the response type for the Query/DenomTraces RPC\nmethod.","type":"object","properties":{"denom_traces":{"description":"denom_traces returns all denominations trace information.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.applications.transfer.v1.DenomTrace"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.transfer.v1.QueryEscrowAddressResponse":{"description":"QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method.","type":"object","properties":{"escrow_address":{"type":"string","title":"the escrow account address"}}},"ibc.applications.transfer.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.applications.transfer.v1.Params"}}},"ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse":{"description":"QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom RPC method.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"ibc.core.channel.v1.Channel":{"description":"Channel defines pipeline for exactly-once packet delivery between specific\nmodules on separate blockchains, which has at least one end capable of\nsending packets and one end capable of receiving packets.","type":"object","properties":{"connection_hops":{"type":"array","title":"list of connection identifiers, in order, along which packets sent on\nthis channel will travel","items":{"type":"string"}},"counterparty":{"title":"counterparty channel end","$ref":"#/definitions/ibc.core.channel.v1.Counterparty"},"ordering":{"title":"whether the channel is ordered or unordered","$ref":"#/definitions/ibc.core.channel.v1.Order"},"state":{"title":"current state of the channel end","$ref":"#/definitions/ibc.core.channel.v1.State"},"upgrade_sequence":{"type":"string","format":"uint64","title":"upgrade sequence indicates the latest upgrade attempt performed by this channel\nthe value of 0 indicates the channel has never been upgraded"},"version":{"type":"string","title":"opaque channel version, which is agreed upon during the handshake"}}},"ibc.core.channel.v1.Counterparty":{"type":"object","title":"Counterparty defines a channel end counterparty","properties":{"channel_id":{"type":"string","title":"channel end on the counterparty chain"},"port_id":{"description":"port on the counterparty chain which owns the other end of the channel.","type":"string"}}},"ibc.core.channel.v1.ErrorReceipt":{"description":"ErrorReceipt defines a type which encapsulates the upgrade sequence and error associated with the\nupgrade handshake failure. When a channel upgrade handshake is aborted both chains are expected to increment to the\nnext sequence.","type":"object","properties":{"message":{"type":"string","title":"the error message detailing the cause of failure"},"sequence":{"type":"string","format":"uint64","title":"the channel upgrade sequence"}}},"ibc.core.channel.v1.IdentifiedChannel":{"description":"IdentifiedChannel defines a channel with additional port and channel\nidentifier fields.","type":"object","properties":{"channel_id":{"type":"string","title":"channel identifier"},"connection_hops":{"type":"array","title":"list of connection identifiers, in order, along which packets sent on\nthis channel will travel","items":{"type":"string"}},"counterparty":{"title":"counterparty channel end","$ref":"#/definitions/ibc.core.channel.v1.Counterparty"},"ordering":{"title":"whether the channel is ordered or unordered","$ref":"#/definitions/ibc.core.channel.v1.Order"},"port_id":{"type":"string","title":"port identifier"},"state":{"title":"current state of the channel end","$ref":"#/definitions/ibc.core.channel.v1.State"},"upgrade_sequence":{"type":"string","format":"uint64","title":"upgrade sequence indicates the latest upgrade attempt performed by this channel\nthe value of 0 indicates the channel has never been upgraded"},"version":{"type":"string","title":"opaque channel version, which is agreed upon during the handshake"}}},"ibc.core.channel.v1.MsgAcknowledgement":{"type":"object","title":"MsgAcknowledgement receives incoming IBC acknowledgement","properties":{"acknowledgement":{"type":"string","format":"byte"},"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_acked":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgAcknowledgementResponse":{"description":"MsgAcknowledgementResponse defines the Msg/Acknowledgement response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgChannelCloseConfirm":{"description":"MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B\nto acknowledge the change of channel state to CLOSED on Chain A.","type":"object","properties":{"channel_id":{"type":"string"},"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_init":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelCloseConfirmResponse":{"description":"MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm response\ntype.","type":"object"},"ibc.core.channel.v1.MsgChannelCloseInit":{"description":"MsgChannelCloseInit defines a msg sent by a Relayer to Chain A\nto close a channel with Chain B.","type":"object","properties":{"channel_id":{"type":"string"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelCloseInitResponse":{"description":"MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response type.","type":"object"},"ibc.core.channel.v1.MsgChannelOpenAck":{"description":"MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge\nthe change of channel state to TRYOPEN on Chain B.\nWARNING: a channel upgrade MUST NOT initialize an upgrade for this channel\nin the same block as executing this message otherwise the counterparty will\nbe incapable of opening.","type":"object","properties":{"channel_id":{"type":"string"},"counterparty_channel_id":{"type":"string"},"counterparty_version":{"type":"string"},"port_id":{"type":"string"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_try":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenAckResponse":{"description":"MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type.","type":"object"},"ibc.core.channel.v1.MsgChannelOpenConfirm":{"description":"MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of channel state to OPEN on Chain A.","type":"object","properties":{"channel_id":{"type":"string"},"port_id":{"type":"string"},"proof_ack":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenConfirmResponse":{"description":"MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response\ntype.","type":"object"},"ibc.core.channel.v1.MsgChannelOpenInit":{"description":"MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It\nis called by a relayer on Chain A.","type":"object","properties":{"channel":{"$ref":"#/definitions/ibc.core.channel.v1.Channel"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenInitResponse":{"description":"MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type.","type":"object","properties":{"channel_id":{"type":"string"},"version":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenTry":{"description":"MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel\non Chain B. The version field within the Channel field has been deprecated. Its\nvalue will be ignored by core IBC.","type":"object","properties":{"channel":{"description":"NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC.","$ref":"#/definitions/ibc.core.channel.v1.Channel"},"counterparty_version":{"type":"string"},"port_id":{"type":"string"},"previous_channel_id":{"description":"Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC.","type":"string"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_init":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenTryResponse":{"description":"MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type.","type":"object","properties":{"channel_id":{"type":"string"},"version":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeAck":{"type":"object","title":"MsgChannelUpgradeAck defines the request type for the ChannelUpgradeAck rpc","properties":{"channel_id":{"type":"string"},"counterparty_upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_upgrade":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeAckResponse":{"type":"object","title":"MsgChannelUpgradeAckResponse defines MsgChannelUpgradeAck response type","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgChannelUpgradeCancel":{"type":"object","title":"MsgChannelUpgradeCancel defines the request type for the ChannelUpgradeCancel rpc","properties":{"channel_id":{"type":"string"},"error_receipt":{"$ref":"#/definitions/ibc.core.channel.v1.ErrorReceipt"},"port_id":{"type":"string"},"proof_error_receipt":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeCancelResponse":{"type":"object","title":"MsgChannelUpgradeCancelResponse defines the MsgChannelUpgradeCancel response type"},"ibc.core.channel.v1.MsgChannelUpgradeConfirm":{"type":"object","title":"MsgChannelUpgradeConfirm defines the request type for the ChannelUpgradeConfirm rpc","properties":{"channel_id":{"type":"string"},"counterparty_channel_state":{"$ref":"#/definitions/ibc.core.channel.v1.State"},"counterparty_upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_upgrade":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeConfirmResponse":{"type":"object","title":"MsgChannelUpgradeConfirmResponse defines MsgChannelUpgradeConfirm response type","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgChannelUpgradeInit":{"description":"MsgChannelUpgradeInit defines the request type for the ChannelUpgradeInit rpc\nWARNING: Initializing a channel upgrade in the same block as opening the channel\nmay result in the counterparty being incapable of opening.","type":"object","properties":{"channel_id":{"type":"string"},"fields":{"$ref":"#/definitions/ibc.core.channel.v1.UpgradeFields"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeInitResponse":{"type":"object","title":"MsgChannelUpgradeInitResponse defines the MsgChannelUpgradeInit response type","properties":{"upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"upgrade_sequence":{"type":"string","format":"uint64"}}},"ibc.core.channel.v1.MsgChannelUpgradeOpen":{"type":"object","title":"MsgChannelUpgradeOpen defines the request type for the ChannelUpgradeOpen rpc","properties":{"channel_id":{"type":"string"},"counterparty_channel_state":{"$ref":"#/definitions/ibc.core.channel.v1.State"},"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeOpenResponse":{"type":"object","title":"MsgChannelUpgradeOpenResponse defines the MsgChannelUpgradeOpen response type"},"ibc.core.channel.v1.MsgChannelUpgradeTimeout":{"type":"object","title":"MsgChannelUpgradeTimeout defines the request type for the ChannelUpgradeTimeout rpc","properties":{"channel_id":{"type":"string"},"counterparty_channel":{"$ref":"#/definitions/ibc.core.channel.v1.Channel"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeTimeoutResponse":{"type":"object","title":"MsgChannelUpgradeTimeoutRepsonse defines the MsgChannelUpgradeTimeout response type"},"ibc.core.channel.v1.MsgChannelUpgradeTry":{"type":"object","title":"MsgChannelUpgradeTry defines the request type for the ChannelUpgradeTry rpc","properties":{"channel_id":{"type":"string"},"counterparty_upgrade_fields":{"$ref":"#/definitions/ibc.core.channel.v1.UpgradeFields"},"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_upgrade":{"type":"string","format":"byte"},"proposed_upgrade_connection_hops":{"type":"array","items":{"type":"string"}},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeTryResponse":{"type":"object","title":"MsgChannelUpgradeTryResponse defines the MsgChannelUpgradeTry response type","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"},"upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"upgrade_sequence":{"type":"string","format":"uint64"}}},"ibc.core.channel.v1.MsgPruneAcknowledgements":{"description":"MsgPruneAcknowledgements defines the request type for the PruneAcknowledgements rpc.","type":"object","properties":{"channel_id":{"type":"string"},"limit":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgPruneAcknowledgementsResponse":{"description":"MsgPruneAcknowledgementsResponse defines the response type for the PruneAcknowledgements rpc.","type":"object","properties":{"total_pruned_sequences":{"description":"Number of sequences pruned (includes both packet acknowledgements and packet receipts where appropriate).","type":"string","format":"uint64"},"total_remaining_sequences":{"description":"Number of sequences left after pruning.","type":"string","format":"uint64"}}},"ibc.core.channel.v1.MsgRecvPacket":{"type":"object","title":"MsgRecvPacket receives incoming IBC packet","properties":{"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_commitment":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgRecvPacketResponse":{"description":"MsgRecvPacketResponse defines the Msg/RecvPacket response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgTimeout":{"type":"object","title":"MsgTimeout receives timed-out packet","properties":{"next_sequence_recv":{"type":"string","format":"uint64"},"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_unreceived":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgTimeoutOnClose":{"description":"MsgTimeoutOnClose timed-out packet upon counterparty channel closure.","type":"object","properties":{"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"next_sequence_recv":{"type":"string","format":"uint64"},"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_close":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_unreceived":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgTimeoutOnCloseResponse":{"description":"MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgTimeoutResponse":{"description":"MsgTimeoutResponse defines the Msg/Timeout response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the MsgUpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the channel parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.core.channel.v1.Params"}}},"ibc.core.channel.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the MsgUpdateParams response type.","type":"object"},"ibc.core.channel.v1.Order":{"description":"- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering\n - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in\nwhich they were sent.\n - ORDER_ORDERED: packets are delivered exactly in the order which they were sent","type":"string","title":"Order defines if a channel is ORDERED or UNORDERED","default":"ORDER_NONE_UNSPECIFIED","enum":["ORDER_NONE_UNSPECIFIED","ORDER_UNORDERED","ORDER_ORDERED"]},"ibc.core.channel.v1.Packet":{"type":"object","title":"Packet defines a type that carries data across different chains through IBC","properties":{"data":{"type":"string","format":"byte","title":"actual opaque bytes transferred directly to the application module"},"destination_channel":{"description":"identifies the channel end on the receiving chain.","type":"string"},"destination_port":{"description":"identifies the port on the receiving chain.","type":"string"},"sequence":{"description":"number corresponds to the order of sends and receives, where a Packet\nwith an earlier sequence number must be sent and received before a Packet\nwith a later sequence number.","type":"string","format":"uint64"},"source_channel":{"description":"identifies the channel end on the sending chain.","type":"string"},"source_port":{"description":"identifies the port on the sending chain.","type":"string"},"timeout_height":{"title":"block height after which the packet times out","$ref":"#/definitions/ibc.core.client.v1.Height"},"timeout_timestamp":{"type":"string","format":"uint64","title":"block timestamp (in nanoseconds) after which the packet times out"}}},"ibc.core.channel.v1.PacketId":{"type":"object","title":"PacketId is an identifer for a unique Packet\nSource chains refer to packets by source port/channel\nDestination chains refer to packets by destination port/channel","properties":{"channel_id":{"type":"string","title":"channel unique identifier"},"port_id":{"type":"string","title":"channel port identifier"},"sequence":{"type":"string","format":"uint64","title":"packet sequence"}}},"ibc.core.channel.v1.PacketState":{"description":"PacketState defines the generic type necessary to retrieve and store\npacket commitments, acknowledgements, and receipts.\nCaller is responsible for knowing the context necessary to interpret this\nstate as a commitment, acknowledgement, or a receipt.","type":"object","properties":{"channel_id":{"description":"channel unique identifier.","type":"string"},"data":{"description":"embedded data that represents packet state.","type":"string","format":"byte"},"port_id":{"description":"channel port identifier.","type":"string"},"sequence":{"description":"packet sequence.","type":"string","format":"uint64"}}},"ibc.core.channel.v1.Params":{"description":"Params defines the set of IBC channel parameters.","type":"object","properties":{"upgrade_timeout":{"description":"the relative timeout after which channel upgrades will time out.","$ref":"#/definitions/ibc.core.channel.v1.Timeout"}}},"ibc.core.channel.v1.QueryChannelClientStateResponse":{"type":"object","title":"QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method","properties":{"identified_client_state":{"title":"client state associated with the channel","$ref":"#/definitions/ibc.core.client.v1.IdentifiedClientState"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryChannelConsensusStateResponse":{"type":"object","title":"QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method","properties":{"client_id":{"type":"string","title":"client ID associated with the consensus state"},"consensus_state":{"title":"consensus state associated with the channel","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryChannelParamsResponse":{"description":"QueryChannelParamsResponse is the response type for the Query/ChannelParams RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.core.channel.v1.Params"}}},"ibc.core.channel.v1.QueryChannelResponse":{"description":"QueryChannelResponse is the response type for the Query/Channel RPC method.\nBesides the Channel end, it includes a proof and the height from which the\nproof was retrieved.","type":"object","properties":{"channel":{"title":"channel associated with the request identifiers","$ref":"#/definitions/ibc.core.channel.v1.Channel"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryChannelsResponse":{"description":"QueryChannelsResponse is the response type for the Query/Channels RPC method.","type":"object","properties":{"channels":{"description":"list of stored channels of the chain.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.IdentifiedChannel"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryConnectionChannelsResponse":{"type":"object","title":"QueryConnectionChannelsResponse is the Response type for the\nQuery/QueryConnectionChannels RPC method","properties":{"channels":{"description":"list of channels associated with a connection.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.IdentifiedChannel"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryNextSequenceReceiveResponse":{"type":"object","title":"QuerySequenceResponse is the response type for the\nQuery/QueryNextSequenceReceiveResponse RPC method","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","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryNextSequenceSendResponse":{"type":"object","title":"QueryNextSequenceSendResponse is the request type for the\nQuery/QueryNextSequenceSend RPC method","properties":{"next_sequence_send":{"type":"string","format":"uint64","title":"next sequence send number"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryPacketAcknowledgementResponse":{"type":"object","title":"QueryPacketAcknowledgementResponse defines the client query response for a\npacket which also includes a proof and the height from which the\nproof was retrieved","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","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryPacketAcknowledgementsResponse":{"type":"object","title":"QueryPacketAcknowledgemetsResponse is the request type for the\nQuery/QueryPacketAcknowledgements RPC method","properties":{"acknowledgements":{"type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.PacketState"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryPacketCommitmentResponse":{"type":"object","title":"QueryPacketCommitmentResponse defines the client query response for a packet\nwhich also includes a proof and the height from which the proof was\nretrieved","properties":{"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","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryPacketCommitmentsResponse":{"type":"object","title":"QueryPacketCommitmentsResponse is the request type for the\nQuery/QueryPacketCommitments RPC method","properties":{"commitments":{"type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.PacketState"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryPacketReceiptResponse":{"type":"object","title":"QueryPacketReceiptResponse defines the client query response for a packet\nreceipt which also includes a proof, and the height from which the proof was\nretrieved","properties":{"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"},"received":{"type":"boolean","title":"success flag for if receipt exists"}}},"ibc.core.channel.v1.QueryUnreceivedAcksResponse":{"type":"object","title":"QueryUnreceivedAcksResponse is the response type for the\nQuery/UnreceivedAcks RPC method","properties":{"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"sequences":{"type":"array","title":"list of unreceived acknowledgement sequences","items":{"type":"string","format":"uint64"}}}},"ibc.core.channel.v1.QueryUnreceivedPacketsResponse":{"type":"object","title":"QueryUnreceivedPacketsResponse is the response type for the\nQuery/UnreceivedPacketCommitments RPC method","properties":{"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"sequences":{"type":"array","title":"list of unreceived packet sequences","items":{"type":"string","format":"uint64"}}}},"ibc.core.channel.v1.QueryUpgradeErrorResponse":{"type":"object","title":"QueryUpgradeErrorResponse is the response type for the Query/QueryUpgradeError RPC method","properties":{"error_receipt":{"$ref":"#/definitions/ibc.core.channel.v1.ErrorReceipt"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryUpgradeResponse":{"type":"object","title":"QueryUpgradeResponse is the response type for the QueryUpgradeResponse RPC method","properties":{"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"},"upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"}}},"ibc.core.channel.v1.ResponseResultType":{"description":"- RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration\n - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed)\n - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully\n - RESPONSE_RESULT_TYPE_FAILURE: The message was executed unsuccessfully","type":"string","title":"ResponseResultType defines the possible outcomes of the execution of a message","default":"RESPONSE_RESULT_TYPE_UNSPECIFIED","enum":["RESPONSE_RESULT_TYPE_UNSPECIFIED","RESPONSE_RESULT_TYPE_NOOP","RESPONSE_RESULT_TYPE_SUCCESS","RESPONSE_RESULT_TYPE_FAILURE"]},"ibc.core.channel.v1.State":{"description":"State defines if a channel is in one of the following states:\nCLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A channel has just started the opening handshake.\n - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.\n - STATE_OPEN: A channel has completed the handshake. Open channels are\nready to send and receive packets.\n - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive\npackets.\n - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets.\n - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.","type":"string","default":"STATE_UNINITIALIZED_UNSPECIFIED","enum":["STATE_UNINITIALIZED_UNSPECIFIED","STATE_INIT","STATE_TRYOPEN","STATE_OPEN","STATE_CLOSED","STATE_FLUSHING","STATE_FLUSHCOMPLETE"]},"ibc.core.channel.v1.Timeout":{"description":"Timeout defines an execution deadline structure for 04-channel handlers.\nThis includes packet lifecycle handlers as well as the upgrade handshake handlers.\nA valid Timeout contains either one or both of a timestamp and block height (sequence).","type":"object","properties":{"height":{"title":"block height after which the packet or upgrade times out","$ref":"#/definitions/ibc.core.client.v1.Height"},"timestamp":{"type":"string","format":"uint64","title":"block timestamp (in nanoseconds) after which the packet or upgrade times out"}}},"ibc.core.channel.v1.Upgrade":{"description":"Upgrade is a verifiable type which contains the relevant information\nfor an attempted upgrade. It provides the proposed changes to the channel\nend, the timeout for this upgrade attempt and the next packet sequence\nwhich allows the counterparty to efficiently know the highest sequence it has received.\nThe next sequence send is used for pruning and upgrading from unordered to ordered channels.","type":"object","properties":{"fields":{"$ref":"#/definitions/ibc.core.channel.v1.UpgradeFields"},"next_sequence_send":{"type":"string","format":"uint64"},"timeout":{"$ref":"#/definitions/ibc.core.channel.v1.Timeout"}}},"ibc.core.channel.v1.UpgradeFields":{"description":"UpgradeFields are the fields in a channel end which may be changed\nduring a channel upgrade.","type":"object","properties":{"connection_hops":{"type":"array","items":{"type":"string"}},"ordering":{"$ref":"#/definitions/ibc.core.channel.v1.Order"},"version":{"type":"string"}}},"ibc.core.client.v1.ConsensusStateWithHeight":{"description":"ConsensusStateWithHeight defines a consensus state with an additional height\nfield.","type":"object","properties":{"consensus_state":{"title":"consensus state","$ref":"#/definitions/google.protobuf.Any"},"height":{"title":"consensus state height","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.client.v1.Height":{"description":"Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset","type":"object","title":"Height is a monotonically increasing data type\nthat can be compared against another Height for the purposes of updating and\nfreezing clients","properties":{"revision_height":{"type":"string","format":"uint64","title":"the height within the given revision"},"revision_number":{"type":"string","format":"uint64","title":"the revision that the client is currently on"}}},"ibc.core.client.v1.IdentifiedClientState":{"description":"IdentifiedClientState defines a client state with an additional client\nidentifier field.","type":"object","properties":{"client_id":{"type":"string","title":"client identifier"},"client_state":{"title":"client state","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.MsgCreateClient":{"type":"object","title":"MsgCreateClient defines a message to create an IBC client","properties":{"client_state":{"title":"light client state","$ref":"#/definitions/google.protobuf.Any"},"consensus_state":{"description":"consensus state associated with the client that corresponds to a given\nheight.","$ref":"#/definitions/google.protobuf.Any"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgCreateClientResponse":{"description":"MsgCreateClientResponse defines the Msg/CreateClient response type.","type":"object"},"ibc.core.client.v1.MsgIBCSoftwareUpgrade":{"type":"object","title":"MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of an IBC client using a v1 governance proposal","properties":{"plan":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"},"signer":{"type":"string","title":"signer address"},"upgraded_client_state":{"description":"An UpgradedClientState must be provided to perform an IBC breaking upgrade.\nThis will make the chain commit to the correct upgraded (self) client state\nbefore the upgrade occurs, so that connecting chains can verify that the\nnew upgraded client is valid by verifying a proof on the previous version\nof the chain. This will allow IBC connections to persist smoothly across\nplanned chain upgrades. Correspondingly, the UpgradedClientState field has been\ndeprecated in the Cosmos SDK to allow for this logic to exist solely in\nthe 02-client module.","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse":{"description":"MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response type.","type":"object"},"ibc.core.client.v1.MsgRecoverClient":{"description":"MsgRecoverClient defines the message used to recover a frozen or expired client.","type":"object","properties":{"signer":{"type":"string","title":"signer address"},"subject_client_id":{"type":"string","title":"the client identifier for the client to be updated if the proposal passes"},"substitute_client_id":{"type":"string","title":"the substitute client identifier for the client which will replace the subject\nclient"}}},"ibc.core.client.v1.MsgRecoverClientResponse":{"description":"MsgRecoverClientResponse defines the Msg/RecoverClient response type.","type":"object"},"ibc.core.client.v1.MsgSubmitMisbehaviour":{"description":"MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for\nlight client misbehaviour.\nThis message has been deprecated. Use MsgUpdateClient instead.","type":"object","properties":{"client_id":{"type":"string","title":"client unique identifier"},"misbehaviour":{"title":"misbehaviour used for freezing the light client","$ref":"#/definitions/google.protobuf.Any"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgSubmitMisbehaviourResponse":{"description":"MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response\ntype.","type":"object"},"ibc.core.client.v1.MsgUpdateClient":{"description":"MsgUpdateClient defines an sdk.Msg to update a IBC client state using\nthe given client message.","type":"object","properties":{"client_id":{"type":"string","title":"client unique identifier"},"client_message":{"title":"client message to update the light client","$ref":"#/definitions/google.protobuf.Any"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgUpdateClientResponse":{"description":"MsgUpdateClientResponse defines the Msg/UpdateClient response type.","type":"object"},"ibc.core.client.v1.MsgUpdateParams":{"description":"MsgUpdateParams defines the sdk.Msg type to update the client parameters.","type":"object","properties":{"params":{"description":"params defines the client parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.core.client.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the MsgUpdateParams response type.","type":"object"},"ibc.core.client.v1.MsgUpgradeClient":{"type":"object","title":"MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client\nstate","properties":{"client_id":{"type":"string","title":"client unique identifier"},"client_state":{"title":"upgraded client state","$ref":"#/definitions/google.protobuf.Any"},"consensus_state":{"title":"upgraded consensus state, only contains enough information to serve as a\nbasis of trust in update logic","$ref":"#/definitions/google.protobuf.Any"},"proof_upgrade_client":{"type":"string","format":"byte","title":"proof that old chain committed to new client"},"proof_upgrade_consensus_state":{"type":"string","format":"byte","title":"proof that old chain committed to new consensus state"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgUpgradeClientResponse":{"description":"MsgUpgradeClientResponse defines the Msg/UpgradeClient response type.","type":"object"},"ibc.core.client.v1.Params":{"description":"Params defines the set of IBC light client parameters.","type":"object","properties":{"allowed_clients":{"description":"allowed_clients defines the list of allowed client state types which can be created\nand interacted with. If a client type is removed from the allowed clients list, usage\nof this client will be disabled until it is added again to the list.","type":"array","items":{"type":"string"}}}},"ibc.core.client.v1.QueryClientParamsResponse":{"description":"QueryClientParamsResponse is the response type for the Query/ClientParams RPC\nmethod.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.core.client.v1.Params"}}},"ibc.core.client.v1.QueryClientStateResponse":{"description":"QueryClientStateResponse is the response type for the Query/ClientState RPC\nmethod. Besides the client state, it includes a proof and the height from\nwhich the proof was retrieved.","type":"object","properties":{"client_state":{"title":"client state associated with the request identifier","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.client.v1.QueryClientStatesResponse":{"description":"QueryClientStatesResponse is the response type for the Query/ClientStates RPC\nmethod.","type":"object","properties":{"client_states":{"description":"list of stored ClientStates of the chain.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.client.v1.IdentifiedClientState"}},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.client.v1.QueryClientStatusResponse":{"description":"QueryClientStatusResponse is the response type for the Query/ClientStatus RPC\nmethod. It returns the current status of the IBC client.","type":"object","properties":{"status":{"type":"string"}}},"ibc.core.client.v1.QueryConsensusStateHeightsResponse":{"type":"object","title":"QueryConsensusStateHeightsResponse is the response type for the\nQuery/ConsensusStateHeights RPC method","properties":{"consensus_state_heights":{"type":"array","title":"consensus state heights","items":{"type":"object","$ref":"#/definitions/ibc.core.client.v1.Height"}},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.client.v1.QueryConsensusStateResponse":{"type":"object","title":"QueryConsensusStateResponse is the response type for the Query/ConsensusState\nRPC method","properties":{"consensus_state":{"title":"consensus state associated with the client identifier at the given height","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.client.v1.QueryConsensusStatesResponse":{"type":"object","title":"QueryConsensusStatesResponse is the response type for the\nQuery/ConsensusStates RPC method","properties":{"consensus_states":{"type":"array","title":"consensus states associated with the identifier","items":{"type":"object","$ref":"#/definitions/ibc.core.client.v1.ConsensusStateWithHeight"}},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.client.v1.QueryUpgradedClientStateResponse":{"description":"QueryUpgradedClientStateResponse is the response type for the\nQuery/UpgradedClientState RPC method.","type":"object","properties":{"upgraded_client_state":{"title":"client state associated with the request identifier","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.QueryUpgradedConsensusStateResponse":{"description":"QueryUpgradedConsensusStateResponse is the response type for the\nQuery/UpgradedConsensusState RPC method.","type":"object","properties":{"upgraded_consensus_state":{"title":"Consensus state associated with the request identifier","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.QueryVerifyMembershipRequest":{"type":"object","title":"QueryVerifyMembershipRequest is the request type for the Query/VerifyMembership RPC method","properties":{"block_delay":{"type":"string","format":"uint64","title":"optional block delay"},"client_id":{"description":"client unique identifier.","type":"string"},"merkle_path":{"description":"the commitment key path.","$ref":"#/definitions/ibc.core.commitment.v1.MerklePath"},"proof":{"description":"the proof to be verified by the client.","type":"string","format":"byte"},"proof_height":{"description":"the height of the commitment root at which the proof is verified.","$ref":"#/definitions/ibc.core.client.v1.Height"},"time_delay":{"type":"string","format":"uint64","title":"optional time delay"},"value":{"description":"the value which is proven.","type":"string","format":"byte"}}},"ibc.core.client.v1.QueryVerifyMembershipResponse":{"type":"object","title":"QueryVerifyMembershipResponse is the response type for the Query/VerifyMembership RPC method","properties":{"success":{"description":"boolean indicating success or failure of proof verification.","type":"boolean"}}},"ibc.core.commitment.v1.MerklePath":{"type":"object","title":"MerklePath is the path used to verify commitment proofs, which can be an\narbitrary structured object (defined by a commitment type).\nMerklePath is represented from root-to-leaf","properties":{"key_path":{"type":"array","items":{"type":"string"}}}},"ibc.core.commitment.v1.MerklePrefix":{"type":"object","title":"MerklePrefix is merkle path prefixed to the key.\nThe constructed key from the Path and the key will be append(Path.KeyPath,\nappend(Path.KeyPrefix, key...))","properties":{"key_prefix":{"type":"string","format":"byte"}}},"ibc.core.connection.v1.ConnectionEnd":{"description":"ConnectionEnd defines a stateful object on a chain connected to another\nseparate one.\nNOTE: there must only be 2 defined ConnectionEnds to establish\na connection between two chains.","type":"object","properties":{"client_id":{"description":"client associated with this connection.","type":"string"},"counterparty":{"description":"counterparty chain associated with this connection.","$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"delay_period":{"description":"delay period that must pass before a consensus state can be used for\npacket-verification NOTE: delay period logic is only implemented by some\nclients.","type":"string","format":"uint64"},"state":{"description":"current state of the connection end.","$ref":"#/definitions/ibc.core.connection.v1.State"},"versions":{"description":"IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.Version"}}}},"ibc.core.connection.v1.Counterparty":{"description":"Counterparty defines the counterparty chain associated with a connection end.","type":"object","properties":{"client_id":{"description":"identifies the client on the counterparty chain associated with a given\nconnection.","type":"string"},"connection_id":{"description":"identifies the connection end on the counterparty chain associated with a\ngiven connection.","type":"string"},"prefix":{"description":"commitment merkle prefix of the counterparty chain.","$ref":"#/definitions/ibc.core.commitment.v1.MerklePrefix"}}},"ibc.core.connection.v1.IdentifiedConnection":{"description":"IdentifiedConnection defines a connection with additional connection\nidentifier field.","type":"object","properties":{"client_id":{"description":"client associated with this connection.","type":"string"},"counterparty":{"description":"counterparty chain associated with this connection.","$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"delay_period":{"description":"delay period associated with this connection.","type":"string","format":"uint64"},"id":{"description":"connection identifier.","type":"string"},"state":{"description":"current state of the connection end.","$ref":"#/definitions/ibc.core.connection.v1.State"},"versions":{"type":"array","title":"IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.Version"}}}},"ibc.core.connection.v1.MsgConnectionOpenAck":{"description":"MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to\nacknowledge the change of connection state to TRYOPEN on Chain B.","type":"object","properties":{"client_state":{"$ref":"#/definitions/google.protobuf.Any"},"connection_id":{"type":"string"},"consensus_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"counterparty_connection_id":{"type":"string"},"host_consensus_state_proof":{"type":"string","format":"byte","title":"optional proof data for host state machines that are unable to introspect their own consensus state"},"proof_client":{"type":"string","format":"byte","title":"proof of client state included in message"},"proof_consensus":{"type":"string","format":"byte","title":"proof of client consensus state"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_try":{"type":"string","format":"byte","title":"proof of the initialization the connection on Chain B: `UNITIALIZED -\u003e\nTRYOPEN`"},"signer":{"type":"string"},"version":{"$ref":"#/definitions/ibc.core.connection.v1.Version"}}},"ibc.core.connection.v1.MsgConnectionOpenAckResponse":{"description":"MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type.","type":"object"},"ibc.core.connection.v1.MsgConnectionOpenConfirm":{"description":"MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of connection state to OPEN on Chain A.","type":"object","properties":{"connection_id":{"type":"string"},"proof_ack":{"type":"string","format":"byte","title":"proof for the change of the connection state on Chain A: `INIT -\u003e OPEN`"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.connection.v1.MsgConnectionOpenConfirmResponse":{"description":"MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm\nresponse type.","type":"object"},"ibc.core.connection.v1.MsgConnectionOpenInit":{"description":"MsgConnectionOpenInit defines the msg sent by an account on Chain A to\ninitialize a connection with Chain B.","type":"object","properties":{"client_id":{"type":"string"},"counterparty":{"$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"delay_period":{"type":"string","format":"uint64"},"signer":{"type":"string"},"version":{"$ref":"#/definitions/ibc.core.connection.v1.Version"}}},"ibc.core.connection.v1.MsgConnectionOpenInitResponse":{"description":"MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response\ntype.","type":"object"},"ibc.core.connection.v1.MsgConnectionOpenTry":{"description":"MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a\nconnection on Chain B.","type":"object","properties":{"client_id":{"type":"string"},"client_state":{"$ref":"#/definitions/google.protobuf.Any"},"consensus_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"counterparty":{"$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"counterparty_versions":{"type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.Version"}},"delay_period":{"type":"string","format":"uint64"},"host_consensus_state_proof":{"type":"string","format":"byte","title":"optional proof data for host state machines that are unable to introspect their own consensus state"},"previous_connection_id":{"description":"Deprecated: this field is unused. Crossing hellos are no longer supported in core IBC.","type":"string"},"proof_client":{"type":"string","format":"byte","title":"proof of client state included in message"},"proof_consensus":{"type":"string","format":"byte","title":"proof of client consensus state"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_init":{"type":"string","format":"byte","title":"proof of the initialization the connection on Chain A: `UNITIALIZED -\u003e\nINIT`"},"signer":{"type":"string"}}},"ibc.core.connection.v1.MsgConnectionOpenTryResponse":{"description":"MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type.","type":"object"},"ibc.core.connection.v1.MsgUpdateParams":{"description":"MsgUpdateParams defines the sdk.Msg type to update the connection parameters.","type":"object","properties":{"params":{"description":"params defines the connection parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.core.connection.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.connection.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the MsgUpdateParams response type.","type":"object"},"ibc.core.connection.v1.Params":{"description":"Params defines the set of Connection parameters.","type":"object","properties":{"max_expected_time_per_block":{"description":"maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the\nlargest amount of time that the chain might reasonably take to produce the next block under normal operating\nconditions. A safe choice is 3-5x the expected time per block.","type":"string","format":"uint64"}}},"ibc.core.connection.v1.QueryClientConnectionsResponse":{"type":"object","title":"QueryClientConnectionsResponse is the response type for the\nQuery/ClientConnections RPC method","properties":{"connection_paths":{"description":"slice of all the connection paths associated with a client.","type":"array","items":{"type":"string"}},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was generated","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionClientStateResponse":{"type":"object","title":"QueryConnectionClientStateResponse is the response type for the\nQuery/ConnectionClientState RPC method","properties":{"identified_client_state":{"title":"client state associated with the channel","$ref":"#/definitions/ibc.core.client.v1.IdentifiedClientState"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionConsensusStateResponse":{"type":"object","title":"QueryConnectionConsensusStateResponse is the response type for the\nQuery/ConnectionConsensusState RPC method","properties":{"client_id":{"type":"string","title":"client ID associated with the consensus state"},"consensus_state":{"title":"consensus state associated with the channel","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionParamsResponse":{"description":"QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.core.connection.v1.Params"}}},"ibc.core.connection.v1.QueryConnectionResponse":{"description":"QueryConnectionResponse is the response type for the Query/Connection RPC\nmethod. Besides the connection end, it includes a proof and the height from\nwhich the proof was retrieved.","type":"object","properties":{"connection":{"title":"connection associated with the request identifier","$ref":"#/definitions/ibc.core.connection.v1.ConnectionEnd"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionsResponse":{"description":"QueryConnectionsResponse is the response type for the Query/Connections RPC\nmethod.","type":"object","properties":{"connections":{"description":"list of stored connections of the chain.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.IdentifiedConnection"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.connection.v1.State":{"description":"State defines if a connection is in one of the following states:\nINIT, TRYOPEN, OPEN or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A connection end has just started the opening handshake.\n - STATE_TRYOPEN: A connection end has acknowledged the handshake step on the counterparty\nchain.\n - STATE_OPEN: A connection end has completed the handshake.","type":"string","default":"STATE_UNINITIALIZED_UNSPECIFIED","enum":["STATE_UNINITIALIZED_UNSPECIFIED","STATE_INIT","STATE_TRYOPEN","STATE_OPEN"]},"ibc.core.connection.v1.Version":{"description":"Version defines the versioning scheme used to negotiate the IBC verison in\nthe connection handshake.","type":"object","properties":{"features":{"type":"array","title":"list of features compatible with the specified identifier","items":{"type":"string"}},"identifier":{"type":"string","title":"unique version identifier"}}},"ibc.lightclients.wasm.v1.MsgMigrateContract":{"description":"MsgMigrateContract defines the request type for the MigrateContract rpc.","type":"object","properties":{"checksum":{"type":"string","format":"byte","title":"checksum is the sha256 hash of the new wasm byte code for the contract"},"client_id":{"type":"string","title":"the client id of the contract"},"msg":{"type":"string","format":"byte","title":"the json encoded message to be passed to the contract on migration"},"signer":{"type":"string","title":"signer address"}}},"ibc.lightclients.wasm.v1.MsgMigrateContractResponse":{"type":"object","title":"MsgMigrateContractResponse defines the response type for the MigrateContract rpc"},"ibc.lightclients.wasm.v1.MsgRemoveChecksum":{"description":"MsgRemoveChecksum defines the request type for the MsgRemoveChecksum rpc.","type":"object","properties":{"checksum":{"type":"string","format":"byte","title":"checksum is the sha256 hash to be removed from the store"},"signer":{"type":"string","title":"signer address"}}},"ibc.lightclients.wasm.v1.MsgRemoveChecksumResponse":{"type":"object","title":"MsgStoreChecksumResponse defines the response type for the StoreCode rpc"},"ibc.lightclients.wasm.v1.MsgStoreCode":{"description":"MsgStoreCode defines the request type for the StoreCode rpc.","type":"object","properties":{"signer":{"type":"string","title":"signer address"},"wasm_byte_code":{"type":"string","format":"byte","title":"wasm byte code of light client contract. It can be raw or gzip compressed"}}},"ibc.lightclients.wasm.v1.MsgStoreCodeResponse":{"type":"object","title":"MsgStoreCodeResponse defines the response type for the StoreCode rpc","properties":{"checksum":{"type":"string","format":"byte","title":"checksum is the sha256 hash of the stored code"}}},"ibc.lightclients.wasm.v1.QueryChecksumsResponse":{"description":"QueryChecksumsResponse is the response type for the Query/Checksums RPC method.","type":"object","properties":{"checksums":{"description":"checksums is a list of the hex encoded checksums of all wasm codes stored.","type":"array","items":{"type":"string"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.lightclients.wasm.v1.QueryCodeResponse":{"description":"QueryCodeResponse is the response type for the Query/Code RPC method.","type":"object","properties":{"data":{"type":"string","format":"byte"}}},"tendermint.abci.CheckTxType":{"type":"string","default":"NEW","enum":["NEW","RECHECK"]},"tendermint.abci.CommitInfo":{"type":"object","properties":{"round":{"type":"integer","format":"int32"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.VoteInfo"}}}},"tendermint.abci.Event":{"description":"Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.EventAttribute"}},"type":{"type":"string"}}},"tendermint.abci.EventAttribute":{"description":"EventAttribute is a single key-value pair, associated with an event.","type":"object","properties":{"index":{"type":"boolean","title":"nondeterministic"},"key":{"type":"string"},"value":{"type":"string"}}},"tendermint.abci.ExecTxResult":{"description":"ExecTxResult contains results of executing one individual transaction.\n\n* Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","title":"nondeterministic","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ExtendedCommitInfo":{"description":"ExtendedCommitInfo is similar to CommitInfo except that it is only used in\nthe PrepareProposal request such that CometBFT can provide vote extensions\nto the application.","type":"object","properties":{"round":{"description":"The round at which the block proposer decided in the previous height.","type":"integer","format":"int32"},"votes":{"description":"List of validators' addresses in the last validator set with their voting\ninformation, including vote extensions.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExtendedVoteInfo"}}}},"tendermint.abci.ExtendedVoteInfo":{"type":"object","properties":{"block_id_flag":{"title":"block_id_flag indicates whether the validator voted for a block, nil, or did not vote at all","$ref":"#/definitions/tendermint.types.BlockIDFlag"},"extension_signature":{"type":"string","format":"byte","title":"Vote extension signature created by CometBFT"},"validator":{"description":"The validator that sent the vote.","$ref":"#/definitions/tendermint.abci.Validator"},"vote_extension":{"description":"Non-deterministic extension provided by the sending validator's application.","type":"string","format":"byte"}}},"tendermint.abci.Misbehavior":{"type":"object","properties":{"height":{"type":"string","format":"int64","title":"The height when the offense occurred"},"time":{"type":"string","format":"date-time","title":"The corresponding time where the offense occurred"},"total_voting_power":{"type":"string","format":"int64","title":"Total voting power of the validator set in case the ABCI application does\nnot store historical validators.\nhttps://github.com/tendermint/tendermint/issues/4581"},"type":{"$ref":"#/definitions/tendermint.abci.MisbehaviorType"},"validator":{"title":"The offending validator","$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.abci.MisbehaviorType":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","DUPLICATE_VOTE","LIGHT_CLIENT_ATTACK"]},"tendermint.abci.RequestApplySnapshotChunk":{"type":"object","title":"Applies a snapshot chunk","properties":{"chunk":{"type":"string","format":"byte"},"index":{"type":"integer","format":"int64"},"sender":{"type":"string"}}},"tendermint.abci.RequestCheckTx":{"type":"object","properties":{"tx":{"type":"string","format":"byte"},"type":{"$ref":"#/definitions/tendermint.abci.CheckTxType"}}},"tendermint.abci.RequestCommit":{"type":"object"},"tendermint.abci.RequestEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.RequestExtendVote":{"type":"object","title":"Extends a vote with application-injected data","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this vote may be referring to"},"height":{"type":"string","format":"int64","title":"the height of the extended vote"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time","title":"info of the block that this vote may be referring to"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFinalizeBlock":{"type":"object","properties":{"decided_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"hash":{"description":"hash is the merkle root hash of the fields of the decided block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"proposer_address is the address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFlush":{"type":"object"},"tendermint.abci.RequestInfo":{"type":"object","properties":{"abci_version":{"type":"string"},"block_version":{"type":"string","format":"uint64"},"p2p_version":{"type":"string","format":"uint64"},"version":{"type":"string"}}},"tendermint.abci.RequestInitChain":{"type":"object","properties":{"app_state_bytes":{"type":"string","format":"byte"},"chain_id":{"type":"string"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"initial_height":{"type":"string","format":"int64"},"time":{"type":"string","format":"date-time"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.RequestListSnapshots":{"type":"object","title":"lists available snapshots"},"tendermint.abci.RequestLoadSnapshotChunk":{"type":"object","title":"loads a snapshot chunk","properties":{"chunk":{"type":"integer","format":"int64"},"format":{"type":"integer","format":"int64"},"height":{"type":"string","format":"uint64"}}},"tendermint.abci.RequestOfferSnapshot":{"type":"object","title":"offers a snapshot to the application","properties":{"app_hash":{"type":"string","format":"byte","title":"light client-verified app hash for snapshot height"},"snapshot":{"title":"snapshot offered by peers","$ref":"#/definitions/tendermint.abci.Snapshot"}}},"tendermint.abci.RequestPrepareProposal":{"type":"object","properties":{"height":{"type":"string","format":"int64"},"local_last_commit":{"$ref":"#/definitions/tendermint.abci.ExtendedCommitInfo"},"max_tx_bytes":{"description":"the modified transactions cannot exceed this size.","type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"address of the public key of the validator proposing the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"description":"txs is an array of transactions that will be included in a block,\nsent to the app for possible modifications.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestProcessProposal":{"type":"object","properties":{"hash":{"description":"hash is the merkle root hash of the fields of the proposed block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestQuery":{"type":"object","properties":{"data":{"type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"path":{"type":"string"},"prove":{"type":"boolean"}}},"tendermint.abci.RequestVerifyVoteExtension":{"type":"object","title":"Verify the vote extension","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this received vote corresponds to"},"height":{"type":"string","format":"int64"},"validator_address":{"type":"string","format":"byte","title":"the validator that signed the vote extension"},"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseApplySnapshotChunk":{"type":"object","properties":{"refetch_chunks":{"type":"array","title":"Chunks to refetch and reapply","items":{"type":"integer","format":"int64"}},"reject_senders":{"type":"array","title":"Chunk senders to reject and ban","items":{"type":"string"}},"result":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk.Result"}}},"tendermint.abci.ResponseApplySnapshotChunk.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Chunk successfully accepted\n - ABORT: Abort all snapshot restoration\n - RETRY: Retry chunk (combine with refetch and reject)\n - RETRY_SNAPSHOT: Retry snapshot (combine with refetch and reject)\n - REJECT_SNAPSHOT: Reject this snapshot, try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","RETRY","RETRY_SNAPSHOT","REJECT_SNAPSHOT"]},"tendermint.abci.ResponseCheckTx":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ResponseCommit":{"type":"object","properties":{"retain_height":{"type":"string","format":"int64"}}},"tendermint.abci.ResponseEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.ResponseExtendVote":{"type":"object","properties":{"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseFinalizeBlock":{"type":"object","properties":{"app_hash":{"description":"app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was\ndeterministic. It is up to the application to decide which algorithm to use.","type":"string","format":"byte"},"consensus_param_updates":{"description":"updates to the consensus params, if any.","$ref":"#/definitions/tendermint.types.ConsensusParams"},"events":{"type":"array","title":"set of block events emmitted as part of executing the block","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"tx_results":{"type":"array","title":"the result of executing each transaction including the events\nthe particular transction emitted. This should match the order\nof the transactions delivered in the block itself","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExecTxResult"}},"validator_updates":{"description":"a list of updates to the validator set. These will reflect the validator set at current height + 2.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseFlush":{"type":"object"},"tendermint.abci.ResponseInfo":{"type":"object","properties":{"app_version":{"type":"string","format":"uint64"},"data":{"type":"string"},"last_block_app_hash":{"type":"string","format":"byte"},"last_block_height":{"type":"string","format":"int64"},"version":{"type":"string"}}},"tendermint.abci.ResponseInitChain":{"type":"object","properties":{"app_hash":{"type":"string","format":"byte"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseListSnapshots":{"type":"object","properties":{"snapshots":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Snapshot"}}}},"tendermint.abci.ResponseLoadSnapshotChunk":{"type":"object","properties":{"chunk":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseOfferSnapshot":{"type":"object","properties":{"result":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot.Result"}}},"tendermint.abci.ResponseOfferSnapshot.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Snapshot accepted, apply chunks\n - ABORT: Abort all snapshot restoration\n - REJECT: Reject this specific snapshot, try others\n - REJECT_FORMAT: Reject all snapshots of this format, try others\n - REJECT_SENDER: Reject all snapshots from the sender(s), try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","REJECT","REJECT_FORMAT","REJECT_SENDER"]},"tendermint.abci.ResponsePrepareProposal":{"type":"object","properties":{"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.ResponseProcessProposal":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal.ProposalStatus"}}},"tendermint.abci.ResponseProcessProposal.ProposalStatus":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.ResponseQuery":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"description":"bytes data = 2; // use \"value\" instead.\n\nnondeterministic","type":"string"},"proof_ops":{"$ref":"#/definitions/tendermint.crypto.ProofOps"},"value":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseVerifyVoteExtension":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus"}}},"tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus":{"description":" - REJECT: Rejecting the vote extension will reject the entire precommit by the sender.\nIncorrectly implementing this thus has liveness implications as it may affect\nCometBFT's ability to receive 2/3+ valid votes to finalize the block.\nHonest nodes should never be rejected.","type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.Snapshot":{"type":"object","properties":{"chunks":{"type":"integer","format":"int64","title":"Number of chunks in the snapshot"},"format":{"type":"integer","format":"int64","title":"The application-specific snapshot format"},"hash":{"type":"string","format":"byte","title":"Arbitrary snapshot hash, equal only if identical"},"height":{"type":"string","format":"uint64","title":"The height at which the snapshot was taken"},"metadata":{"type":"string","format":"byte","title":"Arbitrary application metadata"}}},"tendermint.abci.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte","title":"The first 20 bytes of SHA256(public key)"},"power":{"description":"The voting power","type":"string","format":"int64","title":"PubKey pub_key = 2 [(gogoproto.nullable)=false];"}}},"tendermint.abci.ValidatorUpdate":{"type":"object","properties":{"power":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"}}},"tendermint.abci.VoteInfo":{"type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"validator":{"$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.crypto.ProofOp":{"type":"object","title":"ProofOp defines an operation used for calculating Merkle root\nThe data could be arbitrary format, providing nessecary data\nfor example neighbouring node hash","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"tendermint.crypto.ProofOps":{"type":"object","title":"ProofOps is Merkle proof defined by the list of ProofOps","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.crypto.ProofOp"}}}},"tendermint.crypto.PublicKey":{"type":"object","title":"PublicKey defines the keys available for use with Validators","properties":{"ed25519":{"type":"string","format":"byte"},"secp256k1":{"type":"string","format":"byte"}}},"tendermint.p2p.DefaultNodeInfo":{"type":"object","properties":{"channels":{"type":"string","format":"byte"},"default_node_id":{"type":"string"},"listen_addr":{"type":"string"},"moniker":{"type":"string"},"network":{"type":"string"},"other":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfoOther"},"protocol_version":{"$ref":"#/definitions/tendermint.p2p.ProtocolVersion"},"version":{"type":"string"}}},"tendermint.p2p.DefaultNodeInfoOther":{"type":"object","properties":{"rpc_address":{"type":"string"},"tx_index":{"type":"string"}}},"tendermint.p2p.ProtocolVersion":{"type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"},"p2p":{"type":"string","format":"uint64"}}},"tendermint.types.ABCIParams":{"description":"ABCIParams configure functionality specific to the Application Blockchain Interface.","type":"object","properties":{"vote_extensions_enable_height":{"description":"vote_extensions_enable_height configures the first height during which\nvote extensions will be enabled. During this specified height, and for all\nsubsequent heights, precommit messages that do not contain valid extension data\nwill be considered invalid. Prior to this height, vote extensions will not\nbe used or accepted by validators on the network.\n\nOnce enabled, vote extensions will be created by the application in ExtendVote,\npassed to the application for validation in VerifyVoteExtension and given\nto the application to use when proposing a block during PrepareProposal.","type":"string","format":"int64"}}},"tendermint.types.Block":{"type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/tendermint.types.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"tendermint.types.BlockID":{"type":"object","title":"BlockID","properties":{"hash":{"type":"string","format":"byte"},"part_set_header":{"$ref":"#/definitions/tendermint.types.PartSetHeader"}}},"tendermint.types.BlockIDFlag":{"description":"- BLOCK_ID_FLAG_UNKNOWN: indicates an error condition\n - BLOCK_ID_FLAG_ABSENT: the vote was not received\n - BLOCK_ID_FLAG_COMMIT: voted for the block that received the majority\n - BLOCK_ID_FLAG_NIL: voted for nil","type":"string","title":"BlockIdFlag indicates which BlockID the signature is for","default":"BLOCK_ID_FLAG_UNKNOWN","enum":["BLOCK_ID_FLAG_UNKNOWN","BLOCK_ID_FLAG_ABSENT","BLOCK_ID_FLAG_COMMIT","BLOCK_ID_FLAG_NIL"]},"tendermint.types.BlockParams":{"description":"BlockParams contains limits on the block size.","type":"object","properties":{"max_bytes":{"type":"string","format":"int64","title":"Max block size, in bytes.\nNote: must be greater than 0"},"max_gas":{"type":"string","format":"int64","title":"Max gas per block.\nNote: must be greater or equal to -1"}}},"tendermint.types.Commit":{"description":"Commit contains the evidence that a block was committed by a set of validators.","type":"object","properties":{"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signatures":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.CommitSig"}}}},"tendermint.types.CommitSig":{"description":"CommitSig is a part of the Vote included in a Commit.","type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"signature":{"type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"validator_address":{"type":"string","format":"byte"}}},"tendermint.types.ConsensusParams":{"description":"ConsensusParams contains consensus critical parameters that determine the\nvalidity of blocks.","type":"object","properties":{"abci":{"$ref":"#/definitions/tendermint.types.ABCIParams"},"block":{"$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"},"version":{"$ref":"#/definitions/tendermint.types.VersionParams"}}},"tendermint.types.Data":{"type":"object","title":"Data contains the set of transactions included in the block","properties":{"txs":{"description":"Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.types.DuplicateVoteEvidence":{"description":"DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.","type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"},"validator_power":{"type":"string","format":"int64"},"vote_a":{"$ref":"#/definitions/tendermint.types.Vote"},"vote_b":{"$ref":"#/definitions/tendermint.types.Vote"}}},"tendermint.types.Evidence":{"type":"object","properties":{"duplicate_vote_evidence":{"$ref":"#/definitions/tendermint.types.DuplicateVoteEvidence"},"light_client_attack_evidence":{"$ref":"#/definitions/tendermint.types.LightClientAttackEvidence"}}},"tendermint.types.EvidenceList":{"type":"object","properties":{"evidence":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Evidence"}}}},"tendermint.types.EvidenceParams":{"description":"EvidenceParams determine how we handle evidence of malfeasance.","type":"object","properties":{"max_age_duration":{"description":"Max age of evidence, in time.\n\nIt should correspond with an app's \"unbonding period\" or other similar\nmechanism for handling [Nothing-At-Stake\nattacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).","type":"string"},"max_age_num_blocks":{"description":"Max age of evidence, in blocks.\n\nThe basic formula for calculating this is: MaxAgeDuration / {average block\ntime}.","type":"string","format":"int64"},"max_bytes":{"type":"string","format":"int64","title":"This sets the maximum size of total evidence in bytes that can be committed in a single block.\nand should fall comfortably under the max block bytes.\nDefault is 1048576 or 1MB"}}},"tendermint.types.Header":{"description":"Header defines the structure of a block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"type":"string","format":"byte","title":"original proposer of the block"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"tendermint.types.LightBlock":{"type":"object","properties":{"signed_header":{"$ref":"#/definitions/tendermint.types.SignedHeader"},"validator_set":{"$ref":"#/definitions/tendermint.types.ValidatorSet"}}},"tendermint.types.LightClientAttackEvidence":{"description":"LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.","type":"object","properties":{"byzantine_validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}},"common_height":{"type":"string","format":"int64"},"conflicting_block":{"$ref":"#/definitions/tendermint.types.LightBlock"},"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"}}},"tendermint.types.PartSetHeader":{"type":"object","title":"PartsetHeader","properties":{"hash":{"type":"string","format":"byte"},"total":{"type":"integer","format":"int64"}}},"tendermint.types.SignedHeader":{"type":"object","properties":{"commit":{"$ref":"#/definitions/tendermint.types.Commit"},"header":{"$ref":"#/definitions/tendermint.types.Header"}}},"tendermint.types.SignedMsgType":{"description":"SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals","type":"string","default":"SIGNED_MSG_TYPE_UNKNOWN","enum":["SIGNED_MSG_TYPE_UNKNOWN","SIGNED_MSG_TYPE_PREVOTE","SIGNED_MSG_TYPE_PRECOMMIT","SIGNED_MSG_TYPE_PROPOSAL"]},"tendermint.types.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"},"voting_power":{"type":"string","format":"int64"}}},"tendermint.types.ValidatorParams":{"description":"ValidatorParams restrict the public key types validators can use.\nNOTE: uses ABCI pubkey naming, not Amino names.","type":"object","properties":{"pub_key_types":{"type":"array","items":{"type":"string"}}}},"tendermint.types.ValidatorSet":{"type":"object","properties":{"proposer":{"$ref":"#/definitions/tendermint.types.Validator"},"total_voting_power":{"type":"string","format":"int64"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}}}},"tendermint.types.VersionParams":{"description":"VersionParams contains the ABCI application version.","type":"object","properties":{"app":{"type":"string","format":"uint64"}}},"tendermint.types.Vote":{"description":"Vote represents a prevote or precommit vote from validators for\nconsensus.","type":"object","properties":{"block_id":{"description":"zero if vote is nil.","$ref":"#/definitions/tendermint.types.BlockID"},"extension":{"description":"Vote extension provided by the application. Only valid for precommit\nmessages.","type":"string","format":"byte"},"extension_signature":{"description":"Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signature":{"description":"Vote signature by the validator if they participated in consensus for the\nassociated block.","type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"type":{"$ref":"#/definitions/tendermint.types.SignedMsgType"},"validator_address":{"type":"string","format":"byte"},"validator_index":{"type":"integer","format":"int32"}}},"tendermint.version.Consensus":{"description":"Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine.","type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"}}}},"tags":[{"name":"Query"},{"name":"Msg"},{"name":"Service"},{"name":"ReflectionService"},{"name":"ABCIListenerService"},{"name":"ABCI"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh deleted file mode 100755 index ad801a38..00000000 --- a/gen.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/sh - -ignite scaffold message UserCreate newUser:string alias:string -ignite scaffold message CardSchemeBuy bid:coin --response cardId:uint -ignite scaffold message CardSaveContent cardId:uint content:string notes:string artist:string balanceAnchor:bool --response airdropClaimed:bool -ignite scaffold message CardVote vote:SingleVote --response airdropClaimed:bool diff --git a/go.mod b/go.mod index b4aa26a4..1935cc81 100644 --- a/go.mod +++ b/go.mod @@ -4,162 +4,262 @@ go 1.22.7 toolchain go1.23.4 +replace ( + // fix upstream GHSA-h395-qcrw-5vmq vulnerability. + github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.7.0 + // replace broken goleveldb + github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 +) + require ( - github.com/cosmos/cosmos-sdk v0.46.7 - github.com/cosmos/ibc-go/v6 v6.1.0 - github.com/gogo/protobuf v1.3.3 + cosmossdk.io/api v0.7.5 + cosmossdk.io/client/v2 v2.0.0-beta.5 + cosmossdk.io/core v0.11.1 + cosmossdk.io/depinject v1.0.0 + cosmossdk.io/errors v1.0.1 + cosmossdk.io/log v1.4.1 + cosmossdk.io/math v1.4.0 + cosmossdk.io/store v1.1.1 + cosmossdk.io/tools/confix v0.1.2 + cosmossdk.io/x/circuit v0.1.1 + cosmossdk.io/x/evidence v0.1.1 + cosmossdk.io/x/feegrant v0.1.1 + cosmossdk.io/x/nft v0.1.0 + cosmossdk.io/x/upgrade v0.1.4 + github.com/bufbuild/buf v1.34.0 + github.com/cometbft/cometbft v0.38.12 + github.com/cosmos/cosmos-db v1.0.2 + github.com/cosmos/cosmos-proto v1.0.0-beta.5 + github.com/cosmos/cosmos-sdk v0.50.10 + github.com/cosmos/gogoproto v1.7.0 + github.com/cosmos/ibc-go/modules/capability v1.0.1 + github.com/cosmos/ibc-go/v8 v8.5.1 github.com/golang/protobuf v1.5.4 - github.com/gorilla/mux v1.8.0 + github.com/gorilla/mux v1.8.1 github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 - github.com/regen-network/cosmos-proto v0.3.1 - github.com/spf13/cast v1.5.0 - github.com/spf13/cobra v1.6.1 + github.com/spf13/cast v1.6.0 + github.com/spf13/cobra v1.8.1 github.com/spf13/pflag v1.0.5 - github.com/stretchr/testify v1.8.1 - github.com/tendermint/tendermint v0.34.24 - github.com/tendermint/tm-db v0.6.7 - google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e + github.com/spf13/viper v1.19.0 + github.com/stretchr/testify v1.10.0 + golang.org/x/tools v0.22.0 + google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697 google.golang.org/grpc v1.68.0 - gopkg.in/yaml.v2 v2.4.0 + google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 + google.golang.org/protobuf v1.35.2 ) require ( - cloud.google.com/go v0.104.0 // indirect + buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.2-20240508200655-46a4cf4ba109.2 // indirect + buf.build/gen/go/bufbuild/registry/connectrpc/go v1.16.2-20240610164129-660609bc46d3.1 // indirect + buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.34.2-20240610164129-660609bc46d3.2 // indirect + cloud.google.com/go v0.115.0 // indirect + cloud.google.com/go/auth v0.6.0 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect cloud.google.com/go/compute/metadata v0.5.0 // indirect - cloud.google.com/go/iam v0.4.0 // indirect - cloud.google.com/go/storage v1.23.0 // indirect - cosmossdk.io/errors v1.0.0-beta.7 // indirect - cosmossdk.io/math v1.0.0-beta.3 // indirect - filippo.io/edwards25519 v1.0.0-rc.1 // indirect + cloud.google.com/go/iam v1.1.9 // indirect + cloud.google.com/go/storage v1.41.0 // indirect + connectrpc.com/connect v1.16.2 // indirect + connectrpc.com/otelconnect v0.7.0 // indirect + cosmossdk.io/collections v0.4.0 // indirect + cosmossdk.io/x/tx v0.13.5 // indirect + filippo.io/edwards25519 v1.1.0 // 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 v0.0.0-20200405005733-88cbf1b4c40d // 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.40.45 // indirect + github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect + github.com/DataDog/datadog-go v3.2.0+incompatible // indirect + github.com/DataDog/zstd v1.5.5 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/antlr4-go/antlr/v4 v4.13.0 // indirect + github.com/aws/aws-sdk-go v1.44.224 // 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.1 // indirect - github.com/cenkalti/backoff/v4 v4.1.3 // indirect + github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect + github.com/bits-and-blooms/bitset v1.8.0 // indirect + github.com/btcsuite/btcd/btcec/v2 v2.3.4 // indirect + github.com/bufbuild/protocompile v0.14.0 // indirect + github.com/bufbuild/protoplugin v0.0.0-20240323223605-e2735f6c31ee // indirect + github.com/bufbuild/protovalidate-go v0.6.2 // indirect + github.com/bufbuild/protoyaml-go v0.1.9 // indirect + github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect + github.com/chzyer/readline v1.5.1 // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect - github.com/coinbase/rosetta-sdk-go v0.7.9 // indirect - github.com/confio/ics23/go v0.9.0 // indirect + github.com/cockroachdb/errors v1.11.3 // indirect + github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect + github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/pebble v1.1.1 // indirect + github.com/cockroachdb/redact v1.1.5 // indirect + github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect + github.com/cometbft/cometbft-db v0.11.0 // indirect + github.com/containerd/stargz-snapshotter/estargz v0.15.1 // 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/gorocksdb v1.2.0 // indirect - github.com/cosmos/iavl v0.19.4 // indirect - github.com/cosmos/ledger-cosmos-go v0.12.1 // 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/cosmos/gogogateway v1.2.0 // indirect + github.com/cosmos/iavl v1.2.0 // indirect + github.com/cosmos/ics23/go v0.11.0 // indirect + github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect + github.com/creachadair/atomicfile v0.3.1 // indirect + github.com/creachadair/tomledit v0.0.24 // indirect + github.com/danieljoos/wincred v1.2.1 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect - github.com/dgraph-io/ristretto v0.1.0 // indirect + github.com/dgraph-io/ristretto v0.1.1 // 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 v1.5.0 // indirect - github.com/felixge/httpsnoop v1.0.1 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/distribution/reference v0.6.0 // indirect + github.com/docker/cli v26.1.4+incompatible // indirect + github.com/docker/distribution v2.8.3+incompatible // indirect + github.com/docker/docker v27.0.0+incompatible // indirect + github.com/docker/docker-credential-helpers v0.8.2 // indirect + github.com/docker/go-connections v0.5.0 // indirect + github.com/docker/go-units v0.5.0 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/dvsekhvalnov/jose2go v1.6.0 // indirect + github.com/emicklei/dot v1.6.1 // indirect + github.com/fatih/color v1.15.0 // indirect + github.com/felixge/fgprof v0.9.4 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/getsentry/sentry-go v0.27.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect + github.com/go-chi/chi/v5 v5.0.13 // 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-logfmt/logfmt v0.6.0 // indirect + github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/gogo/gateway v1.1.0 // indirect + github.com/gofrs/uuid/v5 v5.2.0 // indirect + github.com/gogo/googleapis v1.4.1 // indirect + github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/glog v1.2.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/mock v1.6.0 // indirect github.com/golang/snappy v0.0.4 // indirect - github.com/google/btree v1.0.1 // indirect + github.com/google/btree v1.1.2 // indirect + github.com/google/cel-go v0.20.1 // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/google/go-containerregistry v0.19.2 // indirect github.com/google/orderedcode v0.0.1 // indirect + github.com/google/pprof v0.0.0-20240618054019-d3b898a103f8 // indirect + github.com/google/s2a-go v0.1.7 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect - github.com/googleapis/gax-go/v2 v2.6.0 // indirect - github.com/googleapis/go-type-adapters v1.0.0 // indirect - github.com/gorilla/handlers v1.5.1 // indirect - github.com/gorilla/websocket v1.5.0 // indirect - github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect + github.com/googleapis/gax-go/v2 v2.12.5 // indirect + github.com/gorilla/handlers v1.5.2 // indirect + github.com/gorilla/websocket v1.5.3 // indirect + github.com/grpc-ecosystem/go-grpc-middleware v1.4.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-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-getter v1.6.1 // indirect + github.com/hashicorp/go-getter v1.7.4 // indirect + github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/go-metrics v0.5.3 // indirect + github.com/hashicorp/go-plugin v1.5.2 // 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/golang-lru v1.0.2 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect + github.com/hashicorp/yamux v0.1.1 // indirect + github.com/hdevalence/ed25519consensus v0.1.0 // indirect + github.com/huandu/skiplist v1.2.0 // indirect + github.com/iancoleman/strcase v0.3.0 // indirect github.com/improbable-eng/grpc-web v0.15.0 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/jdx/go-netrc v1.0.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect - github.com/klauspost/compress v1.15.11 // indirect - github.com/lib/pq v1.10.6 // indirect - github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/magiconair/properties v1.8.6 // indirect + github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/pgzip v1.2.6 // indirect + github.com/kr/pretty v0.3.1 // indirect + github.com/kr/text v0.2.0 // indirect + github.com/lib/pq v1.10.7 // indirect + github.com/linxGnu/grocksdb v1.8.14 // indirect + github.com/magiconair/properties v1.8.7 // 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.16 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect github.com/minio/highwayhash v1.0.2 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/go-testing-interface v1.0.0 // indirect + github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/moby/docker-image-spec v1.3.1 // indirect + github.com/moby/term v0.5.0 // indirect + github.com/morikuni/aec v1.0.0 // indirect github.com/mtibben/percent v0.2.1 // indirect - github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.5 // indirect - github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a // indirect + github.com/oklog/run v1.1.0 // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect + github.com/opencontainers/image-spec v1.1.0 // indirect + github.com/pelletier/go-toml/v2 v2.2.2 // indirect + github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 // indirect + github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // 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.2 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.34.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/rakyll/statik v0.1.7 // indirect + github.com/pkg/profile v1.7.0 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/prometheus/client_golang v1.20.1 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.55.0 // indirect + github.com/prometheus/procfs v0.15.1 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/rogpeppe/go-internal v1.9.0 // indirect - github.com/rs/cors v1.8.2 // indirect - github.com/rs/zerolog v1.27.0 // indirect + github.com/rogpeppe/go-internal v1.13.1 // indirect + github.com/rs/cors v1.11.1 // indirect + github.com/rs/zerolog v1.33.0 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/sagikazarmark/locafero v0.4.0 // indirect + github.com/sagikazarmark/slog-shim v0.1.0 // 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/viper v1.14.0 // indirect - github.com/subosito/gotenv v1.4.1 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect - github.com/tendermint/btcd v0.1.1 // indirect - github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect + github.com/sourcegraph/conc v0.3.0 // indirect + github.com/spf13/afero v1.11.0 // indirect + github.com/stoewer/go-strcase v1.3.0 // indirect + github.com/subosito/gotenv v1.6.0 // indirect + github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tendermint/go-amino v0.16.0 // indirect - github.com/ulikunitz/xz v0.5.8 // indirect - github.com/zondax/hid v0.9.1 // indirect - github.com/zondax/ledger-go v0.14.0 // indirect - go.etcd.io/bbolt v1.3.6 // indirect - go.opencensus.io v0.23.0 // indirect - golang.org/x/crypto v0.27.0 // indirect - golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect - golang.org/x/net v0.29.0 // indirect + github.com/tidwall/btree v1.7.0 // indirect + github.com/ulikunitz/xz v0.5.11 // indirect + github.com/vbatts/tar-split v0.11.5 // indirect + github.com/zondax/hid v0.9.2 // indirect + github.com/zondax/ledger-go v0.14.3 // indirect + go.etcd.io/bbolt v1.3.10 // indirect + go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect + go.opentelemetry.io/otel v1.33.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 // indirect + go.opentelemetry.io/otel/metric v1.33.0 // indirect + go.opentelemetry.io/otel/sdk v1.33.0 // indirect + go.opentelemetry.io/otel/trace v1.33.0 // indirect + go.opentelemetry.io/proto/otlp v1.4.0 // indirect + go.uber.org/atomic v1.11.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + go.uber.org/zap v1.27.0 // indirect + golang.org/x/crypto v0.29.0 // indirect + golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect + golang.org/x/mod v0.18.0 // indirect + golang.org/x/net v0.31.0 // indirect golang.org/x/oauth2 v0.24.0 // indirect golang.org/x/sync v0.9.0 // indirect - golang.org/x/sys v0.25.0 // indirect - golang.org/x/term v0.24.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.26.0 // indirect golang.org/x/text v0.20.0 // indirect - golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.102.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.35.2 // indirect + golang.org/x/time v0.5.0 // indirect + google.golang.org/api v0.186.0 // indirect + google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 // indirect gopkg.in/ini.v1 v1.67.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect + gotest.tools/v3 v3.5.1 // indirect nhooyr.io/websocket v1.8.6 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) - -replace ( - github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 - github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 + pgregory.net/rapid v1.1.0 // indirect + sigs.k8s.io/yaml v1.4.0 // indirect ) diff --git a/go.sum b/go.sum index 12a5a072..3f69b765 100644 --- a/go.sum +++ b/go.sum @@ -1,14 +1,17 @@ +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.2-20240508200655-46a4cf4ba109.2 h1:cFrEG/pJch6t62+jqndcPXeTNkYcztS4tBRgNkR+drw= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.2-20240508200655-46a4cf4ba109.2/go.mod h1:ylS4c28ACSI59oJrOdW4pHS4n0Hw4TgSPHn8rpHl4Yw= +buf.build/gen/go/bufbuild/registry/connectrpc/go v1.16.2-20240610164129-660609bc46d3.1 h1:PmSlGbLLyhKIAm46ROmzdGVaaYgDdFsQNA+VftjuCLs= +buf.build/gen/go/bufbuild/registry/connectrpc/go v1.16.2-20240610164129-660609bc46d3.1/go.mod h1:4ptL49VoWyYwajT6j4zu5vmQ/k/om4tGMB9atY2FhEo= +buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.34.2-20240610164129-660609bc46d3.2 h1:y1+UxFIWzj/eF2RCPqt9egR7Rt9vgQkXNUzSdmR6iEU= +buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.34.2-20240610164129-660609bc46d3.2/go.mod h1:psseUmlKRo9v5LZJtR/aTpdTLuyp9o3X7rnLT87SZEo= 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.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,7 +21,6 @@ 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= @@ -33,183 +35,306 @@ cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2Z 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 h1:gSmWO7DY1vOm0MVU6DNXM11BWHHsTUmsC5cv1fuW5X8= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +cloud.google.com/go v0.115.0 h1:CnFSK6Xo3lDYRoBKEcAtia6VSC837/ZkJuRduSFnr14= +cloud.google.com/go v0.115.0/go.mod h1:8jIM5vVgoAEoiVxQ/O4BFTfHqulPZgs/ufEzMcFMdWU= +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/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/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/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/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/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/auth v0.6.0 h1:5x+d6b5zdezZ7gmLWD1m/xNjnaQ2YDhmIz/HH3doy1g= +cloud.google.com/go/auth v0.6.0/go.mod h1:b4acV+jLQDyjwm4OXHYjNvRi4jvGBzHWJRtJcy+2P4g= +cloud.google.com/go/auth/oauth2adapt v0.2.2 h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4= +cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= +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/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/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= +cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +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/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/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/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/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= +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/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/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/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/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/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= 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/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/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/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/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/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/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/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/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/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/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= -cloud.google.com/go/iam v0.4.0 h1:YBYU00SCDzZJdHqVc4I5d6lsklcYIjQZa1YmEz4jlSE= -cloud.google.com/go/iam v0.4.0/go.mod h1:cbaZxyScUhxl7ZAkNWiALgihfP75wS/fUsVNaa1r3vA= +cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= +cloud.google.com/go/iam v1.1.9 h1:oSkYLVtVme29uGYrOcKcvJRht7cHJpYD09GM9JaR0TE= +cloud.google.com/go/iam v1.1.9/go.mod h1:Nt1eDWNYH9nGQg3d/mY7U1hvfGmsaG9o/kLGoLoLXjQ= +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/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/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= +cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +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/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +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/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/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 h1:wWRIaDURQA8xxHguFCshYepGlrWIrbBnAmc7wfg07qY= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= -collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= -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-beta.3 h1:TbZxSopz2LqjJ7aXYfn7nJSb8vNaBklW6BLpcei1qwM= -cosmossdk.io/math v1.0.0-beta.3/go.mod h1:3LYasri3Zna4XpbrTNdKsWmD5fHHkaNAod/mNT9XdE4= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.41.0 h1:RusiwatSu6lHeEXe3kglxakAmAbfV+rhtPqA6i8RBx0= +cloud.google.com/go/storage v1.41.0/go.mod h1:J1WCa/Z2FcgdEDuPUY8DxT5I+d9mFKsCepp5vR6Sq80= +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/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/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/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/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +connectrpc.com/connect v1.16.2 h1:ybd6y+ls7GOlb7Bh5C8+ghA6SvCBajHwxssO2CGFjqE= +connectrpc.com/connect v1.16.2/go.mod h1:n2kgwskMHXC+lVqb18wngEpF95ldBHXjZYJussz5FRc= +connectrpc.com/otelconnect v0.7.0 h1:ZH55ZZtcJOTKWWLy3qmL4Pam4RzRWBJFOqTPyAqCXkY= +connectrpc.com/otelconnect v0.7.0/go.mod h1:Bt2ivBymHZHqxvo4HkJ0EwHuUzQN6k2l0oH+mp/8nwc= +cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= +cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/client/v2 v2.0.0-beta.5 h1:0LVv3nEByn//hFDIrYLs2WvsEU3HodOelh4SDHnA/1I= +cosmossdk.io/client/v2 v2.0.0-beta.5/go.mod h1:4p0P6o0ro+FizakJUYS9SeM94RNbv0thLmkHRw5o5as= +cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= +cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= +cosmossdk.io/core v0.11.1 h1:h9WfBey7NAiFfIcUhDVNS503I2P2HdZLebJlUIs8LPA= +cosmossdk.io/core v0.11.1/go.mod h1:OJzxcdC+RPrgGF8NJZR2uoQr56tc7gfBKhiKeDO7hH0= +cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050= +cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8= +cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= +cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= +cosmossdk.io/log v1.4.1 h1:wKdjfDRbDyZRuWa8M+9nuvpVYxrEOwbD/CA8hvhU8QM= +cosmossdk.io/log v1.4.1/go.mod h1:k08v0Pyq+gCP6phvdI6RCGhLf/r425UT6Rk/m+o74rU= +cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= +cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= +cosmossdk.io/store v1.1.1 h1:NA3PioJtWDVU7cHHeyvdva5J/ggyLDkyH0hGHl2804Y= +cosmossdk.io/store v1.1.1/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM= +cosmossdk.io/tools/confix v0.1.2 h1:2hoM1oFCNisd0ltSAAZw2i4ponARPmlhuNu3yy0VwI4= +cosmossdk.io/tools/confix v0.1.2/go.mod h1:7XfcbK9sC/KNgVGxgLM0BrFbVcR/+6Dg7MFfpx7duYo= +cosmossdk.io/x/circuit v0.1.1 h1:KPJCnLChWrxD4jLwUiuQaf5mFD/1m7Omyo7oooefBVQ= +cosmossdk.io/x/circuit v0.1.1/go.mod h1:B6f/urRuQH8gjt4eLIXfZJucrbreuYrKh5CSjaOxr+Q= +cosmossdk.io/x/evidence v0.1.1 h1:Ks+BLTa3uftFpElLTDp9L76t2b58htjVbSZ86aoK/E4= +cosmossdk.io/x/evidence v0.1.1/go.mod h1:OoDsWlbtuyqS70LY51aX8FBTvguQqvFrt78qL7UzeNc= +cosmossdk.io/x/feegrant v0.1.1 h1:EKFWOeo/pup0yF0svDisWWKAA9Zags6Zd0P3nRvVvw8= +cosmossdk.io/x/feegrant v0.1.1/go.mod h1:2GjVVxX6G2fta8LWj7pC/ytHjryA6MHAJroBWHFNiEQ= +cosmossdk.io/x/nft v0.1.0 h1:VhcsFiEK33ODN27kxKLa0r/CeFd8laBfbDBwYqCyYCM= +cosmossdk.io/x/nft v0.1.0/go.mod h1:ec4j4QAO4mJZ+45jeYRnW7awLHby1JZANqe1hNZ4S3g= +cosmossdk.io/x/tx v0.13.5 h1:FdnU+MdmFWn1pTsbfU0OCf2u6mJ8cqc1H4OMG418MLw= +cosmossdk.io/x/tx v0.13.5/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= +cosmossdk.io/x/upgrade v0.1.4 h1:/BWJim24QHoXde8Bc64/2BSEB6W4eTydq0X/2f8+g38= +cosmossdk.io/x/upgrade v0.1.4/go.mod h1:9v0Aj+fs97O+Ztw+tG3/tp5JSlrmT7IcFhAebQHmOPo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= -filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= -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= +filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= +filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= 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.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= -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/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-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= 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.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/zstd v1.5.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= +github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -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/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= 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/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.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.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.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/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/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= +github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= +github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= 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/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.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/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.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.40.45 h1:QN1nsY27ssD/JmW4s83qmSb+uL6DG4GmCDzjmJB4xUI= -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/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.224 h1:09CiaaF35nRmxrzWZ2uRq5v6Ghg/d2RiPjZnSgtt+RQ= +github.com/aws/aws-sdk-go v1.44.224/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= 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/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/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/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/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/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/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.0.20201114000516-e9c7a5ac6401/go.mod h1:Sv4JPQ3/M+teHz9Bo5jBpkNcP0x6r7rdihlNL/7tTAs= -github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= -github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= -github.com/btcsuite/btcd/btcec/v2 v2.1.2/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= -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/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2gVpmOtVTJZNodLdLQLn/KsJqFvXwnd/s= +github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= +github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/btcsuite/btcd/btcec/v2 v2.3.4 h1:3EJjcN70HCu/mwqlUsGK8GcNVyLVxFDlWurTXGPFfiQ= +github.com/btcsuite/btcd/btcec/v2 v2.3.4/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= +github.com/btcsuite/btcd/btcutil v1.1.6 h1:zFL2+c3Lb9gEgqKNzowKUPQNb8jV7v5Oaodi/AYFd6c= +github.com/btcsuite/btcd/btcutil v1.1.6/go.mod h1:9dFymx8HpuLqBnsPELrImQeTQfKBQqzqGbbV3jK55aE= 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-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/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/bufbuild/buf v1.34.0 h1:rZSVfYS5SakOe6ds9PDjbHVwOc+vBGVWNW9Ei+Rg/+c= +github.com/bufbuild/buf v1.34.0/go.mod h1:Fj+KBmY2ODYD2Ld02w4LH9Y3WiRH2203IjGJbKYK5Hc= +github.com/bufbuild/protocompile v0.14.0 h1:z3DW4IvXE5G/uTOnSQn+qwQQxvhckkTWLS/0No/o7KU= +github.com/bufbuild/protocompile v0.14.0/go.mod h1:N6J1NYzkspJo3ZwyL4Xjvli86XOj1xq4qAasUFxGups= +github.com/bufbuild/protoplugin v0.0.0-20240323223605-e2735f6c31ee h1:E6ET8YUcYJ1lAe6ctR3as7yqzW2BNItDFnaB5zQq/8M= +github.com/bufbuild/protoplugin v0.0.0-20240323223605-e2735f6c31ee/go.mod h1:HjGFxsck9RObrTJp2hXQZfWhPgZqnR6sR1U5fCA/Kus= +github.com/bufbuild/protovalidate-go v0.6.2 h1:U/V3CGF0kPlR12v41rjO4DrYZtLcS4ZONLmWN+rJVCQ= +github.com/bufbuild/protovalidate-go v0.6.2/go.mod h1:4BR3rKEJiUiTy+sqsusFn2ladOf0kYmA2Reo6BHSBgQ= +github.com/bufbuild/protoyaml-go v0.1.9 h1:anV5UtF1Mlvkkgp4NWA6U/zOnJFng8Orq4Vf3ZUQHBU= +github.com/bufbuild/protoyaml-go v0.1.9/go.mod h1:KCBItkvZOK/zwGueLdH1Wx1RLyFn5rCH7YjQrdty2Wc= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= 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.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= -github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/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/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= 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/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= +github.com/chromedp/chromedp v0.9.2/go.mod h1:LkSXJKONWTCHAfQasKFUZI+mxqS4tZqhmtGzzhLsnLs= +github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww= github.com/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/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= +github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= 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/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= +github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= +github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= 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/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.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= @@ -222,98 +347,121 @@ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWH 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 v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= +github.com/cockroachdb/errors v1.11.3 h1:5bA+k2Y6r+oz/6Z/RFlNeVCesGARKuC6YymtcDrbC/I= +github.com/cockroachdb/errors v1.11.3/go.mod h1:m4UIW4CDjx+R5cybPsNrRbreomiFqt8o1h1wUVazSd8= +github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce h1:giXvy4KSc/6g/esnpM7Geqxka4WSqI1SZc7sMJFd3y4= +github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce/go.mod h1:9/y3cnZ5GKakj/H4y9r9GTjCvAFta7KLgSHPJJYc52M= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/pebble v1.1.1 h1:XnKU22oiCLy2Xn8vp1re67cXg4SAasg/WDt1NtcRFaw= +github.com/cockroachdb/pebble v1.1.1/go.mod h1:4exszw1r40423ZsmkG/09AFEG83I0uDgfujJdbL6kYU= +github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= +github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coinbase/kryptology v1.8.0/go.mod h1:RYXOAPdzOGUe3qlSFkMGn58i3xUA8hmxYHksuq+8ciI= -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/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/cometbft/cometbft v0.38.12 h1:OWsLZN2KcSSFe8bet9xCn07VwhBnavPea3VyPnNq1bg= +github.com/cometbft/cometbft v0.38.12/go.mod h1:GPHp3/pehPqgX1930HmK1BpBLZPxB75v/dZg8Viwy+o= +github.com/cometbft/cometbft-db v0.11.0 h1:M3Lscmpogx5NTbb1EGyGDaFRdsoLWrUWimFEyf7jej8= +github.com/cometbft/cometbft-db v0.11.0/go.mod h1:GDPJAC/iFHNjmZZPN8V8C1yr/eyityhi2W1hz2MGKSc= 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/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= +github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= +github.com/containerd/stargz-snapshotter/estargz v0.15.1 h1:eXJjw9RbkLFgioVaTG+G/ZW/0kEe2oEKCdS/ZxIyoCU= +github.com/containerd/stargz-snapshotter/estargz v0.15.1/go.mod h1:gr2RNwukQ/S9Nv33Lt6UC7xEx58C+LHRdoqbEKjz1Kk= github.com/coreos/etcd v3.3.10+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-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -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/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.46.7 h1:dkGy9y2ewgqvawrUOuWb2oz3MdotVduokyreXC4bS0s= -github.com/cosmos/cosmos-sdk v0.46.7/go.mod h1:fqKqz39U5IlEFb4nbQ72951myztsDzFKKDtffYJ63nk= -github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 h1:iKclrn3YEOwk4jQHT2ulgzuXyxmzmPczUalMwW4XH9k= -github.com/cosmos/cosmos-sdk/ics23/go v0.8.0/go.mod h1:2a4dBq88TUoqoWAU5eu0lGvpFP3wWDPgdHPargtyw30= -github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= +github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAKs= +github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= +github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= +github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= +github.com/cosmos/cosmos-sdk v0.50.10 h1:zXfeu/z653tWZARr/jESzAEiCUYjgJwwG4ytnYWMoDM= +github.com/cosmos/cosmos-sdk v0.50.10/go.mod h1:6Eesrx3ZE7vxBZWpK++30H+Uc7Q4ahQWCL7JKU/LEdU= 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/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= -github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= -github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok= -github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -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.12.1 h1:sMBxza5p/rNK/06nBSNmsI/WDqI0pVJFVNihy1Y984w= -github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= +github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= +github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= +github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= +github.com/cosmos/gogoproto v1.7.0 h1:79USr0oyXAbxg3rspGh/m4SWNyoz/GLaAh0QlCe2fro= +github.com/cosmos/gogoproto v1.7.0/go.mod h1:yWChEv5IUEYURQasfyBW5ffkMHR/90hiHgbNgrtp4j0= +github.com/cosmos/iavl v1.2.0 h1:kVxTmjTh4k0Dh1VNL046v6BXqKziqMDzxo93oh3kOfM= +github.com/cosmos/iavl v1.2.0/go.mod h1:HidWWLVAtODJqFD6Hbne2Y0q3SdxByJepHUOeoH4LiI= +github.com/cosmos/ibc-go/modules/capability v1.0.1 h1:ibwhrpJ3SftEEZRxCRkH0fQZ9svjthrX2+oXdZvzgGI= +github.com/cosmos/ibc-go/modules/capability v1.0.1/go.mod h1:rquyOV262nGJplkumH+/LeYs04P3eV8oB7ZM4Ygqk4E= +github.com/cosmos/ibc-go/v8 v8.5.1 h1:3JleEMKBjRKa3FeTKt4fjg22za/qygLBo7mDkoYTNBs= +github.com/cosmos/ibc-go/v8 v8.5.1/go.mod h1:P5hkAvq0Qbg0h18uLxDVA9q1kOJ0l36htMsskiNwXbo= +github.com/cosmos/ics23/go v0.11.0 h1:jk5skjT0TqX5e5QJbEnwXIS2yI2vnmLOgpQPeM5RtnU= +github.com/cosmos/ics23/go v0.11.0/go.mod h1:A8OjxPE67hHST4Icw94hOxxFEJMBG031xIGF/JHNIY0= +github.com/cosmos/ledger-cosmos-go v0.13.3 h1:7ehuBGuyIytsXbd4MP43mLeoN2LTOEnk5nvue4rK+yM= +github.com/cosmos/ledger-cosmos-go v0.13.3/go.mod h1:HENcEP+VtahZFw38HZ3+LS3Iv5XV6svsnkk9vdJtLr8= 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.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/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= +github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creachadair/atomicfile v0.3.1 h1:yQORkHjSYySh/tv5th1dkKcn02NEW5JleB84sjt+W4Q= +github.com/creachadair/atomicfile v0.3.1/go.mod h1:mwfrkRxFKwpNAflYZzytbSwxvbK6fdGRRlp0KEQc0qU= +github.com/creachadair/tomledit v0.0.24 h1:5Xjr25R2esu1rKCbQEmjZYlrhFkDspoAbAKb6QKQDhQ= +github.com/creachadair/tomledit v0.0.24/go.mod h1:9qHbShRWQzSCcn617cMzg4eab1vbLCOjOshAWSzWr8U= 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/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= -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-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= +github.com/danieljoos/wincred v1.2.1 h1:dl9cBrupW8+r5250DYkYxocLeZ1Y4vB1kxgtjxw8GQs= +github.com/danieljoos/wincred v1.2.1/go.mod h1:uGaFL9fDn3OLTvzCGulzE+SzjEe5NGlh5FdCcyfPwps= 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 v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= -github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= -github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= -github.com/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/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= +github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= 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.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/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/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= +github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= 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/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -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/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= +github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/docker/cli v26.1.4+incompatible h1:I8PHdc0MtxEADqYJZvhBrW9bo8gawKwwenxRM7/rLu8= +github.com/docker/cli v26.1.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= +github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v27.0.0+incompatible h1:JRugTYuelmWlW0M3jakcIadDx2HUoUO6+Tf2C5jVfwA= +github.com/docker/docker v27.0.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.8.2 h1:bX3YxiGzFP5sOXWc3bTPEXdEaZSeVMrFgOr3T+zrFAo= +github.com/docker/docker-credential-helpers v0.8.2/go.mod h1:P3ci7E3lwkZg6XiHdRKft1KckHiO9a2rNtyFbZ/ry9M= +github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= +github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= 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/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/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 v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= -github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA2EjTY= +github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= 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 v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/emicklei/dot v1.6.1 h1:ujpDlBkkwgWUY+qPId5IwapRW/xEoligRSYjioR6DFI= +github.com/emicklei/dot v1.6.1/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= 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= @@ -325,42 +473,39 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m 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.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/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= -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-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= +github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= +github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= 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-20190710130421-bcb5799ab5e5/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/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= +github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= +github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw= +github.com/felixge/fgprof v0.9.4 h1:ocDNwMFlnA0NU0zSB3I52xkO4sFXk80VK9lXjLClu88= +github.com/felixge/fgprof v0.9.4/go.mod h1:yKl+ERSa++RYOs32d8K6WEXCB4uXdLls4ZaZPpayhMM= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= 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/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= 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.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -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/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= +github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= 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 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/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/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.13 h1:JlH2F2M8qnwl0N1+JFFzlX9TlKJYas3aPXdiuTmJL+w= +github.com/go-chi/chi/v5 v5.0.13/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= 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= @@ -370,44 +515,56 @@ github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgO 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-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-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= +github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= 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/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= 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-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= +github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= 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-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -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= -github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= +github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= +github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= 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/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= +github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/gobwas/ws v1.2.1 h1:F2aeBZrm2NDsc7vbovKrWSogd4wvfAxg0FQ89/iqOTk= +github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= 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/gofrs/uuid v3.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/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= +github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= +github.com/gofrs/uuid/v5 v5.2.0 h1:qw1GMx6/y8vhVsx626ImfKMuS5CvJmhIKKtuyvfajMM= +github.com/gofrs/uuid/v5 v5.2.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= -github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= +github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= @@ -451,12 +608,12 @@ github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8l 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/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +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/cel-go v0.20.1 h1:nDx9r8S3L4pE61eDdt8igGj8rf5kjYR3ILxWIpWNi84= +github.com/google/cel-go v0.20.1/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u4dOYLg= 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= @@ -471,18 +628,22 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ 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/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-containerregistry v0.19.2 h1:TannFKE1QSajsP6hPWb5oJNgKe1IKjHukIKDUmvsV6w= +github.com/google/go-containerregistry v0.19.2/go.mod h1:YCMFNQeeXeLF+dnhhWkqDItx/JSkH01j1Kis4PsjzFI= 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 h1:Q75Upo5UN4JbPFURXZ8nLKYUvF85dyFRop/vQ0Rv+64= -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 h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= 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 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc= +github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0= 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= @@ -494,24 +655,28 @@ github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/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-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/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= +github.com/google/pprof v0.0.0-20240227163752-401108e1b7e7/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= +github.com/google/pprof v0.0.0-20240618054019-d3b898a103f8 h1:ASJ/LAqdCHOyMYI+dwNxn7Rd8FscNkMyTr1KZU1JI/M= +github.com/google/pprof v0.0.0-20240618054019-d3b898a103f8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= 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/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 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 h1:y8Yozv7SZtlU//QXbezB6QkpuE6jMD2/gfzk4AftXjs= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= 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= @@ -519,31 +684,28 @@ github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0 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.6.0 h1:SXk3ABtQYDT/OH8jAyvEOQ58mgawq5C4o/4/89qN2ZU= +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/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= +github.com/googleapis/gax-go/v2 v2.12.5 h1:8gw9KZK8TiVKB6q3zHY3SBzLnrGp6HQjyfYBYGmXdxA= +github.com/googleapis/gax-go/v2 v2.12.5/go.mod h1:BUDKcWo+RaKq5SC9vVYL0wLADa3VcfswbOMMRmB9H3E= 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/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= 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/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= +github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= 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/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/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/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= +github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= 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-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= +github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8= 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.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= @@ -551,26 +713,26 @@ github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 h1:TmHmbvxPmaegwhDubVz0lICL0J5 github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0/go.mod h1:qztMSjm835F2bXf+5HKAPIS5qsmQDqZna/PgVt4rWtI= 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.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.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-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.6.1 h1:NASsgP4q6tL94WH6nJxKWj8As2H/2kop/bB1d8JMyRY= -github.com/hashicorp/go-getter v1.6.1/go.mod h1:IZCrswsZPeWv9IkVnLElzRU/gz/QPi6pZHn4tv6vbwA= +github.com/hashicorp/go-getter v1.7.4 h1:3yQjWuxICvSpYwqSayAdKRFcvBl1y/vogCxczWSmix0= +github.com/hashicorp/go-getter v1.7.4/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= +github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= 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-metrics v0.5.3 h1:M5uADWMOGCTUNU1YuC4hfknOeHNaX54LDm4oYSucoNE= +github.com/hashicorp/go-metrics v0.5.3/go.mod h1:KEjodfebIOuBYSAe/bHTm+HChmKSxAOXPBieMLYozDE= 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-plugin v1.5.2 h1:aWv8eimFqWlsEiMrYZdPYl+FdHaBJSN4AWwGWfT1G2Y= +github.com/hashicorp/go-plugin v1.5.2/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= 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-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= @@ -578,57 +740,51 @@ github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoD 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.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= +github.com/hashicorp/go-uuid v1.0.2/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.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.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/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= +github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= 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/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -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/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= -github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= +github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= +github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= +github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= +github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= +github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= -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/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= +github.com/iancoleman/strcase v0.3.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/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= 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.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= -github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/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/jackpal/go-nat-pmp v1.0.2/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.12.1-0.20220721211354-060cc04fc18b h1:izTof8BKh/nE1wrKOrloNA5q4odOarjf+Xpe+4qow98= -github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= -github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jdx/go-netrc v1.0.0 h1:QbLMLyCZGj0NA8glAhxUpf1zDg6cxnWgMBbjq40W0gQ= +github.com/jdx/go-netrc v1.0.0/go.mod h1:Gh9eFQJnoTNIRHXl2j5bJXA1u84hQWJWgGh569zF3v8= +github.com/jhump/protoreflect v1.16.0 h1:54fZg+49widqXYQ0b+usAFHbMkBGR4PpXrsHc8+TBDg= +github.com/jhump/protoreflect v1.16.0/go.mod h1:oYPd7nPvcBw/5wlDfm/AVmU9zH9BgqGCI469pGxfj/8= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= 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= @@ -637,119 +793,97 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfC 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/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= 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 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/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/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/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= -github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= 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.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/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/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= +github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= +github.com/klauspost/pgzip v1.2.6/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.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.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= 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/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 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -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/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/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= -github.com/lib/pq v1.10.6/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/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= +github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= 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/linxGnu/grocksdb v1.8.14 h1:HTgyYalNwBSG/1qCQUIott44wU5b2Y9Kr3z7SK5OfGQ= +github.com/linxGnu/grocksdb v1.8.14/go.mod h1:QYiYypR2d4v63Wj1adOOfzglnoII0gLj3PNh4fZkcFA= 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.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -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/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/mailru/easyjson v0.7.7/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/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.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -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-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.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.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/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.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= 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/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -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.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/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 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= 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/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.4.1/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/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= +github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= +github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= +github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= 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= @@ -757,16 +891,16 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN 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/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= +github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= 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-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= +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/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/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= @@ -774,72 +908,75 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE 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/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/neilotoole/errgroup v0.1.6/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= 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/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a h1:dlRvE5fWabOchtH7znfiFCcOvmIYgOeAS5ifBXBlh9Q= +github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a/go.mod h1:hVoHR2EVESiICEMbg137etN/Lx+lSrHPTD39Z/uE+2s= 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/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= 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 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +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.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 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q= +github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= 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.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= -github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= +github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= +github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= 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/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.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= 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/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= 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/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/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.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.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= -github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= +github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= +github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -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/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/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 h1:jik8PHtAIsPlCRJjJzl4udgEf7hawInF9texMeO2jrU= +github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= 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/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= +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/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.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pkg/profile v1.7.0 h1:hnbDkaNWPCLMO9wGLdBFTIZvzDrDfBM2072E1S9gJkA= +github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= 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= @@ -847,119 +984,105 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn 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.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.12.2 h1:51L9cDoUHVrXx4zWYlcLQIZ+d+VXHgqnYKkIuq4g/34= -github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.20.1 h1:IMJXHOD6eARkQpxo8KkhgEVFlBNm+nkrFUyGlIu7Na8= +github.com/prometheus/client_golang v1.20.1/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= 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/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.2.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.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.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.34.0 h1:RBmGO9d/FVjqHT0yUGQwBJhkwKV+wPCn7KGpvfab0uE= -github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= +github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= +github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= 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.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.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/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -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/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= +github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/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/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.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.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= 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/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= -github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= +github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= +github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8= +github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= 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 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= 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/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= +github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= +github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= +github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= 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/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -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/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+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.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.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= 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/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= +github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= 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.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= -github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= +github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.3.0/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/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= 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.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= +github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= 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.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= -github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= -github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= +github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= +github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= +github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= +github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= 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/handy v0.0.0-20190108123426-d5acb3125c2a/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.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 v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= 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= @@ -967,69 +1090,51 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 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/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -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/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= 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/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.24 h1:879MKKJWYYPJEMMKME+DWUTY4V9f/FBpnZDI82ky+4k= -github.com/tendermint/tendermint v0.34.24/go.mod h1:rXVrl4OYzmIa1I91av3iLv2HS0fGSiucyW9J4aMTpKI= -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/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.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/sjson v1.2.4/go.mod h1:098SZ494YoMWPmMO6ct4dcFnqxwj9r/gF0Etp19pSNM= -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/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= -github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= +github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= +github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/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/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.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.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= -github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= +github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= +github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= 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/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -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/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/vbatts/tar-split v0.11.5 h1:3bHCTIheBm1qFTcgh9oPu+nNBtX+XJIupG/vacinCts= +github.com/vbatts/tar-split v0.11.5/go.mod h1:yZbwRsSeGjusneWgA781EKej9HF8vme8okylkAeNKLk= 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/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.1 h1:gQe66rtmyZ8VeGFcOpbuH3r7erYtNEAezCAYu8LdkJo= -github.com/zondax/hid v0.9.1/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= -github.com/zondax/ledger-go v0.14.0 h1:dlMC7aO8Wss1CxBq2I96kZ69Nh1ligzbs8UWOtq/AsA= -github.com/zondax/ledger-go v0.14.0/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/zondax/hid v0.9.2 h1:WCJFnEDMiqGF64nlZz28E9qLVZ0KSJ7xpc5DLEyma2U= +github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= +github.com/zondax/ledger-go v0.14.3 h1:wEpJt2CEcBJ428md/5MgSLsXLBos98sBOyxNmCjfUCw= +github.com/zondax/ledger-go v0.14.3/go.mod h1:IKKaoxupuB43g4NxeQmbLXv7T9AlQyie1UpHb342ycI= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -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/bbolt v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0= +go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1039,46 +1144,66 @@ 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 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= 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/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/otel v1.33.0 h1:/FerN9bax5LoK51X/sI0SVYrjSE0/yUL7DpxW4K3FWw= +go.opentelemetry.io/otel v1.33.0/go.mod h1:SUUkR6csvUQl+yjReHu5uM3EtVV7MBm5FHKRlNx4I8I= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 h1:Vh5HayB/0HHfOQA7Ctx69E/Y/DcQSMPpKANYVMQ7fBA= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 h1:Xw8U6u2f8DK2XAkGRFV7BBLENgnTGX9i4rQRxJf+/vs= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0/go.mod h1:6KW1Fm6R/s6Z3PGXwSJN2K4eT6wQB3vXX6CVnYX9NmM= +go.opentelemetry.io/otel/metric v1.33.0 h1:r+JOocAyeRVXD8lZpjdQjzMadVZp2M4WmQ+5WtEnklQ= +go.opentelemetry.io/otel/metric v1.33.0/go.mod h1:L9+Fyctbp6HFTddIxClbQkjtubW6O9QS3Ann/M82u6M= +go.opentelemetry.io/otel/sdk v1.33.0 h1:iax7M131HuAm9QkZotNHEfstof92xM+N8sr3uHXc2IM= +go.opentelemetry.io/otel/sdk v1.33.0/go.mod h1:A1Q5oi7/9XaMlIWzPSxLRWOI8nG3FnzHJNbiENQuihM= +go.opentelemetry.io/otel/sdk/metric v1.19.0 h1:EJoTO5qysMsYCa+w4UghwFV/ptQgqSL/8Ni+hx+8i1k= +go.opentelemetry.io/otel/sdk/metric v1.19.0/go.mod h1:XjG0jQyFJrv2PbMvwND7LwCEhsJzCzV5210euduKcKY= +go.opentelemetry.io/otel/trace v1.33.0 h1:cCJuF7LRjUFso9LPnEAHJDB2pqzp+hbO8eu1qqW2d/s= +go.opentelemetry.io/otel/trace v1.33.0/go.mod h1:uIcdVUZMpTAmz0tI1z04GoVSezK37CbGV4fr1f2nBck= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v1.4.0 h1:TA9WRvW6zMwP+Ssb6fLoUIuirti1gGbP28GcKG1jgeg= +go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= 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.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= +go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= 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.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= 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= -golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= 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-20190909091759-094676da4a83/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-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-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -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-20210711020723-a769d52b0f97/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.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= -golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= -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/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ= +golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= 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-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= @@ -1089,9 +1214,8 @@ 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-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA= -golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY= +golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= 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= @@ -1117,9 +1241,9 @@ 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.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= 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= @@ -1157,23 +1281,16 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R 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-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-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-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-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/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= @@ -1181,8 +1298,13 @@ golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/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.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= -golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= +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-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.31.0 h1:68CPQngjLL0r2AlUKiSxtQFKvzRVbnzLwMUn5SzcLHo= +golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM= 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= @@ -1203,6 +1325,11 @@ golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j 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-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.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1217,6 +1344,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ 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-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-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1230,7 +1359,6 @@ golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5h 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= @@ -1240,7 +1368,6 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w 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-20190726091711-fc99dfbffb4e/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-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1251,7 +1378,6 @@ golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7w 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-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1271,65 +1397,62 @@ golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7w 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-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/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-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-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-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-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-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-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-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-20210908233432-aa78b53d3365/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-20211019181941-9d821ace8654/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-20211025201205-69cdffdb9359/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-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-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220315194320-039c03cc5b86/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-20220412211240-33da011f77ad/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-20220517195934-5e4e11fc645e/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-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-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.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/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM= -golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU= +golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E= 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= @@ -1339,19 +1462,20 @@ 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/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.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= 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-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/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/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-20181030221726-6c7e314b6563/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= @@ -1368,6 +1492,7 @@ golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtn 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-20191108193012-7d206e10da11/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= @@ -1376,7 +1501,6 @@ golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtn 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-20200108203644-89082a384178/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= @@ -1397,21 +1521,20 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc 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-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/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.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= 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= @@ -1419,14 +1542,9 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T 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.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= -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/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= 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= @@ -1464,12 +1582,20 @@ google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/S 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.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= -google.golang.org/api v0.102.0 h1:JxJl2qQ85fRMPNvlZY/enexbxpCjLwGhZUtgfGeQ51I= -google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +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.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.186.0 h1:n2OPp+PPXX0Axh4GuSsL5QL8xQCTb2oDwyzPnQvqUug= +google.golang.org/api v0.186.0/go.mod h1:hvRbBmgoje49RV3xqVXrmP6w93n6ehGgIVPYrGtBFFc= 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= @@ -1477,7 +1603,6 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 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 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= 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= @@ -1486,7 +1611,6 @@ google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRn 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-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= @@ -1494,7 +1618,6 @@ 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-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= @@ -1503,7 +1626,6 @@ google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfG 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= @@ -1520,10 +1642,8 @@ google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6D 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= @@ -1555,23 +1675,49 @@ google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2 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-20220314164441-57ef72a4c106/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= 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-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-20221024183307-1bc688fe9f3e h1:S9GbmC1iCgvbLyAokVCwiO6tVIrU9Y7c5oMx1V/ki/Y= -google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +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-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094 h1:6whtk83KtD3FkGrVb2hFXuQ+ZMbCNdakARIn/aHMmG8= +google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094/go.mod h1:Zs4wYw8z1zr6RNF4cwYb31mvN/EGaKAdQjNCF3DW6K4= +google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697 h1:pgr/4QbFyktUv9CtQ/Fq4gzEE6/Xs7iCXbktaGzLHbQ= +google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697/go.mod h1:+D9ySVjN8nY8YCVjc5O7PZDIdZporIDY3KaGfJunh88= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 h1:LWZqQOEjDyONlF1H6afSWpAL/znlREo2tHfLoe+8LMA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= 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= @@ -1607,9 +1753,15 @@ google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11 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.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y= 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= @@ -1624,6 +1776,7 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 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.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.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -1640,12 +1793,9 @@ gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMy gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= 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/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= @@ -1661,7 +1811,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/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.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= +gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= 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= @@ -1670,17 +1821,14 @@ 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.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -pgregory.net/rapid v0.5.3 h1:163N50IHFqr1phZens4FQOdPgfJscR7a562mjQqeo4M= -pgregory.net/rapid v0.5.3/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= +pgregory.net/rapid v1.1.0/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/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/proto/buf.gen.gogo.yaml b/proto/buf.gen.gogo.yaml new file mode 100644 index 00000000..8d2c1460 --- /dev/null +++ b/proto/buf.gen.gogo.yaml @@ -0,0 +1,18 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.gogo.yaml +# +version: v1 +plugins: + - name: gocosmos + out: . + opt: + - plugins=grpc + - Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + - Mcosmos/orm/v1/orm.proto=cosmossdk.io/orm + - name: grpc-gateway + out: . + opt: + - logtostderr=true + - allow_colon_final_segments=true diff --git a/proto/buf.gen.pulsar.yaml b/proto/buf.gen.pulsar.yaml new file mode 100644 index 00000000..f74e31e4 --- /dev/null +++ b/proto/buf.gen.pulsar.yaml @@ -0,0 +1,23 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.pulsar.yaml +# +version: v1 +managed: + enabled: true + go_package_prefix: + default: github.com/DecentralCardGame/cardchain/api + except: + - buf.build/googleapis/googleapis + - buf.build/cosmos/gogo-proto + - buf.build/cosmos/cosmos-proto + override: + buf.build/cosmos/cosmos-sdk: cosmossdk.io/api +plugins: + - name: go-pulsar + out: ./api + opt: paths=source_relative + - name: go-grpc + out: ./api + opt: paths=source_relative diff --git a/proto/buf.gen.sta.yaml b/proto/buf.gen.sta.yaml new file mode 100644 index 00000000..4444f5e7 --- /dev/null +++ b/proto/buf.gen.sta.yaml @@ -0,0 +1,15 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.sta.yaml +# +version: v1 +plugins: + - name: openapiv2 + out: . + opt: + - logtostderr=true + - openapi_naming_strategy=simple + - ignore_comments=true + - simple_operation_ids=false + - json_names_for_fields=false diff --git a/proto/buf.gen.swagger.yaml b/proto/buf.gen.swagger.yaml new file mode 100644 index 00000000..58d30d86 --- /dev/null +++ b/proto/buf.gen.swagger.yaml @@ -0,0 +1,14 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.swagger.yaml +# +version: v1 +plugins: + - name: openapiv2 + out: . + opt: + - logtostderr=true + - openapi_naming_strategy=fqn + - json_names_for_fields=false + - generate_unbound_methods=true \ No newline at end of file diff --git a/proto/buf.gen.ts.yaml b/proto/buf.gen.ts.yaml new file mode 100644 index 00000000..c484fb3a --- /dev/null +++ b/proto/buf.gen.ts.yaml @@ -0,0 +1,18 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.ts.yaml +# +version: v1 +managed: + enabled: true +plugins: + - plugin: buf.build/community/stephenh-ts-proto + out: . + opt: + - logtostderr=true + - allow_merge=true + - json_names_for_fields=false + - ts_proto_opt=snakeToCamel=true + - ts_proto_opt=esModuleInterop=true + - ts_proto_out=. diff --git a/proto/buf.lock b/proto/buf.lock new file mode 100644 index 00000000..10e5484d --- /dev/null +++ b/proto/buf.lock @@ -0,0 +1,43 @@ +# Generated by buf. DO NOT EDIT. +version: v1 +deps: + - remote: buf.build + owner: cosmos + repository: cosmos-proto + commit: 04467658e59e44bbb22fe568206e1f70 + digest: shake256:73a640bd60e0c523b0f8237ff34eab67c45a38b64bbbde1d80224819d272dbf316ac183526bd245f994af6608b025f5130483d0133c5edd385531326b5990466 + - remote: buf.build + owner: cosmos + repository: cosmos-sdk + commit: 05419252bcc241ea8023acf1ed4cadc5 + digest: shake256:1e54a48c19a8b59d35e0a7efa76402939f515f2d8005df099856f24c37c20a52800308f025abb8cffcd014d437b49707388aaca4865d9d063d8f25d5d4eb77d5 + - remote: buf.build + owner: cosmos + repository: gogo-proto + commit: 88ef6483f90f478fb938c37dde52ece3 + digest: shake256:89c45df2aa11e0cff97b0d695436713db3d993d76792e9f8dc1ae90e6ab9a9bec55503d48ceedd6b86069ab07d3041b32001b2bfe0227fa725dd515ff381e5ba + - remote: buf.build + owner: cosmos + repository: ibc + commit: a7af51c19a5c4027881b0f6ec5441718 + digest: shake256:33e24113f0f697aad2fd3f0a5ee16a2607f6ec54d715835e3864b353bd72800a3d52bb040786763dc465942c4d796e7c141dba729e53091268ecbe0614004072 + - remote: buf.build + owner: cosmos + repository: ics23 + commit: dc427cb4519143d8996361c045a29ad7 + digest: shake256:f6611c56170e2cb6354fa6e367a225fed7b8b0defca3252f05e842fe311be46997680ebf57d8644b52c1f2cca49b366ffe89ce5e8db5fd055a15259c88e4e41e + - remote: buf.build + owner: googleapis + repository: googleapis + commit: acd896313c55464b993332136ded1b6e + digest: shake256:66626d5e4d9c8ecf25cd72bdbfbbf62b9a68e9e9c33dab6b9b39a53a67063eeba6b8493247dd6d6240b1ac1c32eb2dc311484e67dd7d271884a960c2e5ce8c9a + - remote: buf.build + owner: protocolbuffers + repository: wellknowntypes + commit: 384f8deef6ae4110b57d996aad0032c4 + digest: shake256:2ed272f48ab530c2581a71237043ce20e93724aa2e84f0ac555e82d7dca8061ee530d0e5f91835f1b7374b8db179ab2a75e8452af71ceb2285f411de8816bec3 + - remote: buf.build + owner: tendermint + repository: tendermint + commit: 33ed361a90514289beabf3189e1d7665 + digest: shake256:038267e06294714fd883610626554b04a127b576b4e253befb4206cb72d5d3c1eeccacd4b9ec8e3fb891f7c14e1cb0f770c077d2989638995b0a61c85afedb1d diff --git a/proto/buf.yaml b/proto/buf.yaml new file mode 100644 index 00000000..bc581b15 --- /dev/null +++ b/proto/buf.yaml @@ -0,0 +1,25 @@ +breaking: + use: + - FILE +deps: +- buf.build/protocolbuffers/wellknowntypes +- buf.build/cosmos/cosmos-sdk +- buf.build/cosmos/cosmos-proto +- buf.build/cosmos/gogo-proto +- buf.build/googleapis/googleapis +- buf.build/cosmos/ics23 +- buf.build/cosmos/ibc +lint: + except: + - UNARY_RPC + - COMMENT_FIELD + - SERVICE_SUFFIX + - PACKAGE_VERSION_SUFFIX + - RPC_REQUEST_STANDARD_NAME + ignore: + - tendermint + use: + - DEFAULT + - COMMENTS + - FILE_LOWER_SNAKE_CASE +version: v1 diff --git a/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto index 821c6452..d62f3326 100644 --- a/proto/cardchain/cardchain/genesis.proto +++ b/proto/cardchain/cardchain/genesis.proto @@ -1,6 +1,7 @@ syntax = "proto3"; -package decentralcardgame.cardchain.cardchain; +package cardchain.cardchain; +import "amino/amino.proto"; import "gogoproto/gogo.proto"; import "cardchain/cardchain/params.proto"; @@ -8,5 +9,9 @@ option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // GenesisState defines the cardchain module's genesis state. message GenesisState { - Params params = 1 [(gogoproto.nullable) = false]; + // params defines all the parameters of the module. + Params params = 1 [ + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true + ]; } diff --git a/proto/cardchain/cardchain/module/module.proto b/proto/cardchain/cardchain/module/module.proto new file mode 100644 index 00000000..f46f1d6f --- /dev/null +++ b/proto/cardchain/cardchain/module/module.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package cardchain.cardchain.module; + +import "cosmos/app/v1alpha1/module.proto"; + +// Module is the config object for the module. +message Module { + option (cosmos.app.v1alpha1.module) = { + go_import: "github.com/DecentralCardGame/cardchain/x/cardchain" + }; + + // authority defines the custom module authority. If not set, defaults to the governance module. + string authority = 1; +} \ No newline at end of file diff --git a/proto/cardchain/cardchain/params.proto b/proto/cardchain/cardchain/params.proto index 0053c7ac..01ceece7 100644 --- a/proto/cardchain/cardchain/params.proto +++ b/proto/cardchain/cardchain/params.proto @@ -1,12 +1,15 @@ syntax = "proto3"; -package decentralcardgame.cardchain.cardchain; +package cardchain.cardchain; +import "amino/amino.proto"; import "gogoproto/gogo.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // Params defines the parameters for the module. message Params { - option (gogoproto.goproto_stringer) = false; + option (amino.name) = "cardchain/x/cardchain/Params"; + option (gogoproto.equal) = true; + -} +} \ No newline at end of file diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index e691055d..d915c4a5 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -1,6 +1,7 @@ syntax = "proto3"; -package decentralcardgame.cardchain.cardchain; +package cardchain.cardchain; +import "amino/amino.proto"; import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; @@ -22,5 +23,8 @@ 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]; + Params params = 1 [ + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true + ]; } \ No newline at end of file diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 06fccfcc..bb27ee8c 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -1,49 +1,40 @@ syntax = "proto3"; +package cardchain.cardchain; -package decentralcardgame.cardchain.cardchain; +import "amino/amino.proto"; +import "cosmos/msg/v1/msg.proto"; +import "cosmos_proto/cosmos.proto"; +import "gogoproto/gogo.proto"; +import "cardchain/cardchain/params.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; -import "cardchain/cardchain/voting.proto"; -import "cosmos/base/v1beta1/coin.proto"; -import "gogoproto/gogo.proto"; - // Msg defines the Msg service. service Msg { - rpc UserCreate(MsgUserCreate) returns (MsgUserCreateResponse); - rpc CardSchemeBuy(MsgCardSchemeBuy) returns (MsgCardSchemeBuyResponse); - rpc CardSaveContent(MsgCardSaveContent) returns (MsgCardSaveContentResponse); - rpc CardVote(MsgCardVote) returns (MsgCardVoteResponse); -} -message MsgUserCreate { - string creator = 1; - string newUser = 2; - string alias = 3; -} + option (cosmos.msg.v1.service) = true; -message MsgUserCreateResponse {} - -message MsgCardSchemeBuy { - string creator = 1; - cosmos.base.v1beta1.Coin bid = 2 [ (gogoproto.nullable) = false ]; + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); } -message MsgCardSchemeBuyResponse { uint64 cardId = 1; } - -message MsgCardSaveContent { - string creator = 1; - uint64 cardId = 2; - string content = 3; - string notes = 4; - string artist = 5; - bool balanceAnchor = 6; -} - -message MsgCardSaveContentResponse { bool airdropClaimed = 1; } - -message MsgCardVote { - string creator = 1; - SingleVote vote = 2; +// MsgUpdateParams is the Msg/UpdateParams request type. +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "authority"; + option (amino.name) = "cardchain/x/cardchain/MsgUpdateParams"; + + // authority is the address that controls the module (defaults to x/gov unless overwritten). + string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + + // params defines the module parameters to update. + // + // NOTE: All parameters must be supplied. + Params params = 2 [ + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true + ]; } -message MsgCardVoteResponse { bool airdropClaimed = 1; } +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +message MsgUpdateParamsResponse {} \ No newline at end of file diff --git a/proto/cardchain/cardchain/voting.proto b/proto/cardchain/cardchain/voting.proto deleted file mode 100644 index 5d7193c8..00000000 --- a/proto/cardchain/cardchain/voting.proto +++ /dev/null @@ -1,37 +0,0 @@ -syntax = "proto3"; -package decentralcardgame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; - -message VotingResults { - - uint64 totalVotes = 1; - uint64 totalFairEnoughVotes = 2; - uint64 totalOverpoweredVotes = 3; - uint64 totalUnderpoweredVotes = 4; - uint64 totalInappropriateVotes = 5; - 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; - VoteType voteType = 2; -} - -enum VoteType { - fairEnough = 0; - inappropriate = 1; - overpowered = 2; - underpowered = 3; -} diff --git a/readme.md b/readme.md index 62463a4a..606c6471 100644 --- a/readme.md +++ b/readme.md @@ -15,15 +15,14 @@ Your blockchain in development can be configured with `config.yml`. To learn mor ### Web Frontend -Ignite CLI has scaffolded a Vue.js-based web app in the `vue` directory. Run the following commands to install dependencies and start the app: +Additionally, Ignite CLI offers both Vue and React options for frontend scaffolding: + +For a Vue frontend, use: `ignite scaffold vue` +For a React frontend, use: `ignite scaffold react` +These commands can be run within your scaffolded blockchain project. -``` -cd vue -npm install -npm run serve -``` -The frontend app is built using the `@starport/vue` and `@starport/vuex` packages. For details, see the [monorepo for Ignite front-end development](https://github.com/ignite/web). +For more information see the [monorepo for Ignite front-end development](https://github.com/ignite/web). ## Release To release a new version of your blockchain, create and push a new tag with `v` prefix. A new draft release with the configured targets will be created. diff --git a/testutil/keeper/cardchain.go b/testutil/keeper/cardchain.go index 4b245c40..e6a33c93 100644 --- a/testutil/keeper/cardchain.go +++ b/testutil/keeper/cardchain.go @@ -3,50 +3,49 @@ package keeper import ( "testing" - "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "cosmossdk.io/log" + "cosmossdk.io/store" + "cosmossdk.io/store/metrics" + storetypes "cosmossdk.io/store/types" + cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" + dbm "github.com/cosmos/cosmos-db" "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" + "github.com/cosmos/cosmos-sdk/runtime" sdk "github.com/cosmos/cosmos-sdk/types" - typesparams "github.com/cosmos/cosmos-sdk/x/params/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/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" + + "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) -func CardchainKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { - storeKey := sdk.NewKVStoreKey(types.StoreKey) - memStoreKey := storetypes.NewMemoryStoreKey(types.MemStoreKey) +func CardchainKeeper(t testing.TB) (keeper.Keeper, sdk.Context) { + storeKey := storetypes.NewKVStoreKey(types.StoreKey) - db := tmdb.NewMemDB() - stateStore := store.NewCommitMultiStore(db) + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) stateStore.MountStoreWithDB(storeKey, storetypes.StoreTypeIAVL, db) - stateStore.MountStoreWithDB(memStoreKey, storetypes.StoreTypeMemory, nil) require.NoError(t, stateStore.LoadLatestVersion()) registry := codectypes.NewInterfaceRegistry() cdc := codec.NewProtoCodec(registry) + authority := authtypes.NewModuleAddress(govtypes.ModuleName) - paramsSubspace := typesparams.NewSubspace(cdc, - types.Amino, - storeKey, - memStoreKey, - "CardchainParams", - ) k := keeper.NewKeeper( cdc, - storeKey, - memStoreKey, - paramsSubspace, + runtime.NewKVStoreService(storeKey), + log.NewNopLogger(), + authority.String(), ) - ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) + ctx := sdk.NewContext(stateStore, cmtproto.Header{}, false, log.NewNopLogger()) // Initialize params - k.SetParams(ctx, types.DefaultParams()) + if err := k.SetParams(ctx, types.DefaultParams()); err != nil { + panic(err) + } return k, ctx } diff --git a/testutil/network/network.go b/testutil/network/network.go index ee5b314e..573b39f2 100644 --- a/testutil/network/network.go +++ b/testutil/network/network.go @@ -3,22 +3,11 @@ package network import ( "fmt" "testing" - "time" - "github.com/DecentralCardGame/cardchain/app" - - "github.com/cosmos/cosmos-sdk/baseapp" - "github.com/cosmos/cosmos-sdk/crypto/hd" - "github.com/cosmos/cosmos-sdk/crypto/keyring" - pruningtypes "github.com/cosmos/cosmos-sdk/pruning/types" - servertypes "github.com/cosmos/cosmos-sdk/server/types" - "github.com/cosmos/cosmos-sdk/simapp" "github.com/cosmos/cosmos-sdk/testutil/network" - sdk "github.com/cosmos/cosmos-sdk/types" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" "github.com/stretchr/testify/require" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmdb "github.com/tendermint/tm-db" + + "github.com/DecentralCardGame/cardchain/app" ) type ( @@ -28,7 +17,8 @@ type ( // New creates instance with fully configured cosmos network. // Accepts optional config, that will be used in place of the DefaultConfig() if provided. -func New(t *testing.T, configs ...network.Config) *network.Network { +func New(t *testing.T, configs ...Config) *Network { + t.Helper() if len(configs) > 1 { panic("at most one config should be provided") } @@ -40,6 +30,8 @@ func New(t *testing.T, configs ...network.Config) *network.Network { } net, err := network.New(t, t.TempDir(), cfg) require.NoError(t, err) + _, err = net.WaitForHeight(1) + require.NoError(t, err) t.Cleanup(net.Cleanup) return net } @@ -47,34 +39,42 @@ func New(t *testing.T, configs ...network.Config) *network.Network { // DefaultConfig will initialize config for the network with custom application, // genesis and single validator. All other parameters are inherited from cosmos-sdk/testutil/network.DefaultConfig func DefaultConfig() network.Config { - encoding := app.MakeEncodingConfig() - return network.Config{ - Codec: encoding.Marshaler, - TxConfig: encoding.TxConfig, - LegacyAmino: encoding.Amino, - InterfaceRegistry: encoding.InterfaceRegistry, - AccountRetriever: authtypes.AccountRetriever{}, - AppConstructor: func(val network.Validator) servertypes.Application { - return app.New( - val.Ctx.Logger, tmdb.NewMemDB(), nil, true, map[int64]bool{}, val.Ctx.Config.RootDir, 0, - encoding, - simapp.EmptyAppOptions{}, - baseapp.SetPruning(pruningtypes.NewPruningOptionsFromString(val.AppConfig.Pruning)), - baseapp.SetMinGasPrices(val.AppConfig.MinGasPrices), - ) - }, - GenesisState: app.ModuleBasics.DefaultGenesis(encoding.Marshaler), - TimeoutCommit: 2 * time.Second, - ChainID: "chain-" + tmrand.NewRand().Str(6), - NumValidators: 1, - BondDenom: sdk.DefaultBondDenom, - MinGasPrices: fmt.Sprintf("0.000006%s", sdk.DefaultBondDenom), - AccountTokens: sdk.TokensFromConsensusPower(1000, sdk.DefaultPowerReduction), - StakingTokens: sdk.TokensFromConsensusPower(500, sdk.DefaultPowerReduction), - BondedTokens: sdk.TokensFromConsensusPower(100, sdk.DefaultPowerReduction), - PruningStrategy: pruningtypes.PruningOptionNothing, - CleanupDir: true, - SigningAlgo: string(hd.Secp256k1Type), - KeyringOptions: []keyring.Option{}, + cfg, err := network.DefaultConfigWithAppConfig(app.AppConfig()) + if err != nil { + panic(err) + } + ports, err := freePorts(3) + if err != nil { + panic(err) + } + if cfg.APIAddress == "" { + cfg.APIAddress = fmt.Sprintf("tcp://0.0.0.0:%s", ports[0]) + } + if cfg.RPCAddress == "" { + cfg.RPCAddress = fmt.Sprintf("tcp://0.0.0.0:%s", ports[1]) + } + if cfg.GRPCAddress == "" { + cfg.GRPCAddress = fmt.Sprintf("0.0.0.0:%s", ports[2]) + } + return cfg +} + +// freePorts return the available ports based on the number of requested ports. +func freePorts(n int) ([]string, error) { + closeFns := make([]func() error, n) + ports := make([]string, n) + for i := 0; i < n; i++ { + _, port, closeFn, err := network.FreeTCPAddr() + if err != nil { + return nil, err + } + ports[i] = port + closeFns[i] = closeFn + } + for _, closeFn := range closeFns { + if err := closeFn(); err != nil { + return nil, err + } } + return ports, nil } diff --git a/tools/tools.go b/tools/tools.go index 8495e2dc..04e44843 100644 --- a/tools/tools.go +++ b/tools/tools.go @@ -3,9 +3,12 @@ package tools import ( - _ "github.com/regen-network/cosmos-proto/protoc-gen-gocosmos" - _ "github.com/golang/protobuf/protoc-gen-go" + _ "github.com/bufbuild/buf/cmd/buf" + _ "github.com/cosmos/cosmos-proto/cmd/protoc-gen-go-pulsar" + _ "github.com/cosmos/gogoproto/protoc-gen-gocosmos" _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway" - _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2" + _ "golang.org/x/tools/cmd/goimports" + _ "google.golang.org/grpc/cmd/protoc-gen-go-grpc" + _ "google.golang.org/protobuf/cmd/protoc-gen-go" ) diff --git a/x/cardchain/client/cli/query.go b/x/cardchain/client/cli/query.go deleted file mode 100644 index ed2bc793..00000000 --- a/x/cardchain/client/cli/query.go +++ /dev/null @@ -1,31 +0,0 @@ -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/cardchain/types" -) - -// GetQueryCmd returns the cli query commands for this module -func GetQueryCmd(queryRoute string) *cobra.Command { - // Group cardchain 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()) - // this line is used by starport scaffolding # 1 - - return cmd -} diff --git a/x/cardchain/client/cli/query_params.go b/x/cardchain/client/cli/query_params.go deleted file mode 100644 index 7f85e537..00000000 --- a/x/cardchain/client/cli/query_params.go +++ /dev/null @@ -1,34 +0,0 @@ -package cli - -import ( - "context" - - "github.com/DecentralCardGame/cardchain/x/cardchain/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/cardchain/client/cli/tx.go b/x/cardchain/client/cli/tx.go deleted file mode 100644 index d7e73bf0..00000000 --- a/x/cardchain/client/cli/tx.go +++ /dev/null @@ -1,40 +0,0 @@ -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/cardchain/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, - } - - cmd.AddCommand(CmdUserCreate()) - cmd.AddCommand(CmdCardSchemeBuy()) - cmd.AddCommand(CmdCardSaveContent()) - cmd.AddCommand(CmdCardVote()) -// this line is used by starport scaffolding # 1 - - return cmd -} diff --git a/x/cardchain/client/cli/tx_card_save_content.go b/x/cardchain/client/cli/tx_card_save_content.go deleted file mode 100644 index d8ed4f77..00000000 --- a/x/cardchain/client/cli/tx_card_save_content.go +++ /dev/null @@ -1,57 +0,0 @@ -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 CmdCardSaveContent() *cobra.Command { - cmd := &cobra.Command{ - Use: "card-save-content [card-id] [content] [notes] [artist] [balance-anchor]", - Short: "Broadcast message CardSaveContent", - Args: cobra.ExactArgs(5), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argCardId, err := cast.ToUint64E(args[0]) - if err != nil { - return err - } - argContent := args[1] - argNotes := args[2] - argArtist := args[3] - argBalanceAnchor, err := cast.ToBoolE(args[4]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgCardSaveContent( - clientCtx.GetFromAddress().String(), - argCardId, - argContent, - argNotes, - argArtist, - argBalanceAnchor, - ) - 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_card_scheme_buy.go b/x/cardchain/client/cli/tx_card_scheme_buy.go deleted file mode 100644 index 601ef20b..00000000 --- a/x/cardchain/client/cli/tx_card_scheme_buy.go +++ /dev/null @@ -1,46 +0,0 @@ -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" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/spf13/cobra" -) - -var _ = strconv.Itoa(0) - -func CmdCardSchemeBuy() *cobra.Command { - cmd := &cobra.Command{ - Use: "card-scheme-buy [bid]", - Short: "Broadcast message CardSchemeBuy", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argBid, err := sdk.ParseCoinNormalized(args[0]) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgCardSchemeBuy( - clientCtx.GetFromAddress().String(), - argBid, - ) - 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_card_vote.go b/x/cardchain/client/cli/tx_card_vote.go deleted file mode 100644 index b67683d5..00000000 --- a/x/cardchain/client/cli/tx_card_vote.go +++ /dev/null @@ -1,48 +0,0 @@ -package cli - -import ( - "strconv" - - "encoding/json" - "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/cosmos/cosmos-sdk/client/tx" - "github.com/DecentralCardGame/cardchain/x/cardchain/types" -) - -var _ = strconv.Itoa(0) - -func CmdCardVote() *cobra.Command { - cmd := &cobra.Command{ - Use: "card-vote [vote]", - Short: "Broadcast message CardVote", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argVote := new(types.SingleVote) - err = json.Unmarshal([]byte(args[0]), argVote) - if err != nil { - return err - } - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgCardVote( - clientCtx.GetFromAddress().String(), - argVote, - - ) - if err := msg.ValidateBasic(); err != nil { - return err - } - return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) - }, - } - - flags.AddTxFlagsToCmd(cmd) - - return cmd -} \ No newline at end of file diff --git a/x/cardchain/client/cli/tx_user_create.go b/x/cardchain/client/cli/tx_user_create.go deleted file mode 100644 index 2d9bad0e..00000000 --- a/x/cardchain/client/cli/tx_user_create.go +++ /dev/null @@ -1,44 +0,0 @@ -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 CmdUserCreate() *cobra.Command { - cmd := &cobra.Command{ - Use: "user-create [new-user] [alias]", - Short: "Broadcast message UserCreate", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) (err error) { - argNewUser := args[0] - argAlias := args[1] - - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - msg := types.NewMsgUserCreate( - clientCtx.GetFromAddress().String(), - argNewUser, - argAlias, - ) - 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/keeper/keeper.go b/x/cardchain/keeper/keeper.go index afa32161..b34191c6 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -3,44 +3,51 @@ package keeper import ( "fmt" + "cosmossdk.io/core/store" + "cosmossdk.io/log" "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" "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) type ( Keeper struct { - cdc codec.BinaryCodec - storeKey storetypes.StoreKey - memKey storetypes.StoreKey - paramstore paramtypes.Subspace + cdc codec.BinaryCodec + storeService store.KVStoreService + logger log.Logger + + // the address capable of executing a MsgUpdateParams message. Typically, this + // should be the x/gov module account. + authority 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()) + storeService store.KVStoreService, + logger log.Logger, + authority string, + +) Keeper { + if _, err := sdk.AccAddressFromBech32(authority); err != nil { + panic(fmt.Sprintf("invalid authority address: %s", authority)) } - return &Keeper{ - cdc: cdc, - storeKey: storeKey, - memKey: memKey, - paramstore: ps, + return Keeper{ + cdc: cdc, + storeService: storeService, + authority: authority, + logger: logger, } } -func (k Keeper) Logger(ctx sdk.Context) log.Logger { - return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) +// GetAuthority returns the module's authority. +func (k Keeper) GetAuthority() string { + return k.authority +} + +// Logger returns a module-specific logger. +func (k Keeper) Logger() log.Logger { + return k.logger.With("module", fmt.Sprintf("x/%s", types.ModuleName)) } diff --git a/x/cardchain/keeper/msg_server_card_save_content.go b/x/cardchain/keeper/msg_server_card_save_content.go deleted file mode 100644 index 77499b72..00000000 --- a/x/cardchain/keeper/msg_server_card_save_content.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) CardSaveContent(goCtx context.Context, msg *types.MsgCardSaveContent) (*types.MsgCardSaveContentResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - // TODO: Handling the message - _ = ctx - - return &types.MsgCardSaveContentResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_card_scheme_buy.go b/x/cardchain/keeper/msg_server_card_scheme_buy.go deleted file mode 100644 index 4874750e..00000000 --- a/x/cardchain/keeper/msg_server_card_scheme_buy.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) CardSchemeBuy(goCtx context.Context, msg *types.MsgCardSchemeBuy) (*types.MsgCardSchemeBuyResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - // TODO: Handling the message - _ = ctx - - return &types.MsgCardSchemeBuyResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_card_vote.go b/x/cardchain/keeper/msg_server_card_vote.go deleted file mode 100644 index 4c4e627a..00000000 --- a/x/cardchain/keeper/msg_server_card_vote.go +++ /dev/null @@ -1,18 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - - -func (k msgServer) CardVote(goCtx context.Context, msg *types.MsgCardVote) (*types.MsgCardVoteResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - // TODO: Handling the message - _ = ctx - - return &types.MsgCardVoteResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_test.go b/x/cardchain/keeper/msg_server_test.go index 3c8c0a73..cf8c7318 100644 --- a/x/cardchain/keeper/msg_server_test.go +++ b/x/cardchain/keeper/msg_server_test.go @@ -4,13 +4,21 @@ import ( "context" "testing" + "github.com/stretchr/testify/require" + keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" "github.com/DecentralCardGame/cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" ) -func setupMsgServer(t testing.TB) (types.MsgServer, context.Context) { +func setupMsgServer(t testing.TB) (keeper.Keeper, types.MsgServer, context.Context) { k, ctx := keepertest.CardchainKeeper(t) - return keeper.NewMsgServerImpl(*k), sdk.WrapSDKContext(ctx) + return k, keeper.NewMsgServerImpl(k), ctx +} + +func TestMsgServer(t *testing.T) { + k, ms, ctx := setupMsgServer(t) + require.NotNil(t, ms) + require.NotNil(t, ctx) + require.NotEmpty(t, k) } diff --git a/x/cardchain/keeper/msg_server_user_create.go b/x/cardchain/keeper/msg_server_user_create.go deleted file mode 100644 index 9551a5f8..00000000 --- a/x/cardchain/keeper/msg_server_user_create.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) UserCreate(goCtx context.Context, msg *types.MsgUserCreate) (*types.MsgUserCreateResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - // TODO: Handling the message - _ = ctx - - return &types.MsgUserCreateResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_update_params.go b/x/cardchain/keeper/msg_update_params.go new file mode 100644 index 00000000..9e234063 --- /dev/null +++ b/x/cardchain/keeper/msg_update_params.go @@ -0,0 +1,23 @@ +package keeper + +import ( + "context" + + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" +) + +func (k msgServer) UpdateParams(goCtx context.Context, req *types.MsgUpdateParams) (*types.MsgUpdateParamsResponse, error) { + if k.GetAuthority() != req.Authority { + return nil, errorsmod.Wrapf(types.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.GetAuthority(), req.Authority) + } + + ctx := sdk.UnwrapSDKContext(goCtx) + if err := k.SetParams(ctx, req.Params); err != nil { + return nil, err + } + + return &types.MsgUpdateParamsResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_update_params_test.go b/x/cardchain/keeper/msg_update_params_test.go new file mode 100644 index 00000000..c6ca156b --- /dev/null +++ b/x/cardchain/keeper/msg_update_params_test.go @@ -0,0 +1,64 @@ +package keeper_test + +import ( + "testing" + + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" +) + +func TestMsgUpdateParams(t *testing.T) { + k, ms, ctx := setupMsgServer(t) + params := types.DefaultParams() + require.NoError(t, k.SetParams(ctx, params)) + wctx := sdk.UnwrapSDKContext(ctx) + + // default params + testCases := []struct { + name string + input *types.MsgUpdateParams + expErr bool + expErrMsg string + }{ + { + name: "invalid authority", + input: &types.MsgUpdateParams{ + Authority: "invalid", + Params: params, + }, + expErr: true, + expErrMsg: "invalid authority", + }, + { + name: "send enabled param", + input: &types.MsgUpdateParams{ + Authority: k.GetAuthority(), + Params: types.Params{}, + }, + expErr: false, + }, + { + name: "all good", + input: &types.MsgUpdateParams{ + Authority: k.GetAuthority(), + Params: params, + }, + expErr: false, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + _, err := ms.UpdateParams(wctx, tc.input) + + if tc.expErr { + require.Error(t, err) + require.Contains(t, err.Error(), tc.expErrMsg) + } else { + require.NoError(t, err) + } + }) + } +} diff --git a/x/cardchain/keeper/params.go b/x/cardchain/keeper/params.go index c4c398c6..b1d85c1d 100644 --- a/x/cardchain/keeper/params.go +++ b/x/cardchain/keeper/params.go @@ -1,16 +1,33 @@ package keeper import ( + "context" + + "github.com/cosmos/cosmos-sdk/runtime" + "github.com/DecentralCardGame/cardchain/x/cardchain/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() +func (k Keeper) GetParams(ctx context.Context) (params types.Params) { + store := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + bz := store.Get(types.ParamsKey) + if bz == nil { + return params + } + + k.cdc.MustUnmarshal(bz, ¶ms) + return params } // SetParams set the params -func (k Keeper) SetParams(ctx sdk.Context, params types.Params) { - k.paramstore.SetParamSet(ctx, ¶ms) +func (k Keeper) SetParams(ctx context.Context, params types.Params) error { + store := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + bz, err := k.cdc.Marshal(¶ms) + if err != nil { + return err + } + store.Set(types.ParamsKey, bz) + + return nil } diff --git a/x/cardchain/keeper/params_test.go b/x/cardchain/keeper/params_test.go index e913f82f..61ab21c9 100644 --- a/x/cardchain/keeper/params_test.go +++ b/x/cardchain/keeper/params_test.go @@ -3,16 +3,16 @@ package keeper_test import ( "testing" - testkeeper "github.com/DecentralCardGame/cardchain/testutil/keeper" - "github.com/DecentralCardGame/cardchain/x/cardchain/types" "github.com/stretchr/testify/require" + + keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) func TestGetParams(t *testing.T) { - k, ctx := testkeeper.CardchainKeeper(t) + k, ctx := keepertest.CardchainKeeper(t) params := types.DefaultParams() - k.SetParams(ctx, params) - + require.NoError(t, k.SetParams(ctx, params)) require.EqualValues(t, params, k.GetParams(ctx)) } diff --git a/x/cardchain/keeper/query_params.go b/x/cardchain/keeper/query_params.go index 58692cc4..f604e2af 100644 --- a/x/cardchain/keeper/query_params.go +++ b/x/cardchain/keeper/query_params.go @@ -3,10 +3,11 @@ 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" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) func (k Keeper) Params(goCtx context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { diff --git a/x/cardchain/keeper/query_params_test.go b/x/cardchain/keeper/query_params_test.go index 22b1111e..ea5ac70c 100644 --- a/x/cardchain/keeper/query_params_test.go +++ b/x/cardchain/keeper/query_params_test.go @@ -3,19 +3,18 @@ package keeper_test import ( "testing" - testkeeper "github.com/DecentralCardGame/cardchain/testutil/keeper" - "github.com/DecentralCardGame/cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/require" + + keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) func TestParamsQuery(t *testing.T) { - keeper, ctx := testkeeper.CardchainKeeper(t) - wctx := sdk.WrapSDKContext(ctx) + keeper, ctx := keepertest.CardchainKeeper(t) params := types.DefaultParams() - keeper.SetParams(ctx, params) + require.NoError(t, keeper.SetParams(ctx, params)) - response, err := keeper.Params(wctx, &types.QueryParamsRequest{}) + response, err := keeper.Params(ctx, &types.QueryParamsRequest{}) require.NoError(t, err) require.Equal(t, &types.QueryParamsResponse{Params: params}, response) } diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go new file mode 100644 index 00000000..6d9110d3 --- /dev/null +++ b/x/cardchain/module/autocli.go @@ -0,0 +1,35 @@ +package cardchain + +import ( + autocliv1 "cosmossdk.io/api/cosmos/autocli/v1" + + modulev1 "github.com/DecentralCardGame/cardchain/api/cardchain/cardchain" +) + +// AutoCLIOptions implements the autocli.HasAutoCLIConfig interface. +func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { + return &autocliv1.ModuleOptions{ + Query: &autocliv1.ServiceCommandDescriptor{ + Service: modulev1.Query_ServiceDesc.ServiceName, + RpcCommandOptions: []*autocliv1.RpcCommandOptions{ + { + RpcMethod: "Params", + Use: "params", + Short: "Shows the parameters of the module", + }, + // this line is used by ignite scaffolding # autocli/query + }, + }, + Tx: &autocliv1.ServiceCommandDescriptor{ + Service: modulev1.Msg_ServiceDesc.ServiceName, + EnhanceCustomCommand: true, // only required if you want to use the custom command + RpcCommandOptions: []*autocliv1.RpcCommandOptions{ + { + RpcMethod: "UpdateParams", + Skip: true, // skipped because authority gated + }, + // this line is used by ignite scaffolding # autocli/tx + }, + }, + } +} diff --git a/x/cardchain/genesis.go b/x/cardchain/module/genesis.go similarity index 83% rename from x/cardchain/genesis.go rename to x/cardchain/module/genesis.go index 206b414b..38de003f 100644 --- a/x/cardchain/genesis.go +++ b/x/cardchain/module/genesis.go @@ -1,18 +1,21 @@ package cardchain import ( + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" "github.com/DecentralCardGame/cardchain/x/cardchain/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) + if err := k.SetParams(ctx, genState.Params); err != nil { + panic(err) + } } -// ExportGenesis returns the module's exported genesis +// 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) diff --git a/x/cardchain/genesis_test.go b/x/cardchain/module/genesis_test.go similarity index 80% rename from x/cardchain/genesis_test.go rename to x/cardchain/module/genesis_test.go index 398961b8..3817407a 100644 --- a/x/cardchain/genesis_test.go +++ b/x/cardchain/module/genesis_test.go @@ -5,7 +5,7 @@ import ( keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" "github.com/DecentralCardGame/cardchain/testutil/nullify" - "github.com/DecentralCardGame/cardchain/x/cardchain" + cardchain "github.com/DecentralCardGame/cardchain/x/cardchain/module" "github.com/DecentralCardGame/cardchain/x/cardchain/types" "github.com/stretchr/testify/require" ) @@ -18,8 +18,8 @@ func TestGenesis(t *testing.T) { } k, ctx := keepertest.CardchainKeeper(t) - cardchain.InitGenesis(ctx, *k, genesisState) - got := cardchain.ExportGenesis(ctx, *k) + cardchain.InitGenesis(ctx, k, genesisState) + got := cardchain.ExportGenesis(ctx, k) require.NotNil(t, got) nullify.Fill(&genesisState) diff --git a/x/cardchain/module.go b/x/cardchain/module/module.go similarity index 57% rename from x/cardchain/module.go rename to x/cardchain/module/module.go index 9ed55832..e15265a3 100644 --- a/x/cardchain/module.go +++ b/x/cardchain/module/module.go @@ -4,33 +4,45 @@ 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/cardchain/client/cli" - "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "cosmossdk.io/core/appmodule" + "cosmossdk.io/core/store" + "cosmossdk.io/depinject" + "cosmossdk.io/log" "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" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + + // this line is used by starport scaffolding # 1 + + modulev1 "github.com/DecentralCardGame/cardchain/api/cardchain/cardchain/module" + "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) var ( - _ module.AppModule = AppModule{} - _ module.AppModuleBasic = AppModuleBasic{} + _ module.AppModuleBasic = (*AppModule)(nil) + _ module.AppModuleSimulation = (*AppModule)(nil) + _ module.HasGenesis = (*AppModule)(nil) + _ module.HasInvariants = (*AppModule)(nil) + _ module.HasConsensusVersion = (*AppModule)(nil) + + _ appmodule.AppModule = (*AppModule)(nil) + _ appmodule.HasBeginBlocker = (*AppModule)(nil) + _ appmodule.HasEndBlocker = (*AppModule)(nil) ) // ---------------------------------------------------------------------------- // AppModuleBasic // ---------------------------------------------------------------------------- -// AppModuleBasic implements the AppModuleBasic interface that defines the independent methods a Cosmos SDK module needs to implement. +// AppModuleBasic implements the AppModuleBasic interface that defines the +// independent methods a Cosmos SDK module needs to implement. type AppModuleBasic struct { cdc codec.BinaryCodec } @@ -39,27 +51,27 @@ func NewAppModuleBasic(cdc codec.BinaryCodec) AppModuleBasic { return AppModuleBasic{cdc: cdc} } -// Name returns the name of the module as a string +// 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) -} +// 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) {} -// RegisterInterfaces registers a module's interface types and their concrete implementations as proto.Message +// 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 +// 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 +// 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 { @@ -68,19 +80,11 @@ func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncod return genState.Validate() } -// RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the module +// 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) + if err := types.RegisterQueryHandlerClient(context.Background(), mux, types.NewQueryClient(clientCtx)); err != nil { + panic(err) + } } // ---------------------------------------------------------------------------- @@ -110,17 +114,6 @@ func NewAppModule( } } -// 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)) @@ -131,14 +124,12 @@ func (am AppModule) RegisterServices(cfg module.Configurator) { 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 { +func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, gs json.RawMessage) { 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. @@ -147,13 +138,77 @@ func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.Raw 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 +// 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) {} +// BeginBlock contains the logic that is automatically triggered at the beginning of each block. +// The begin block implementation is optional. +func (am AppModule) BeginBlock(_ context.Context) error { + return nil +} + +// EndBlock contains the logic that is automatically triggered at the end of each block. +// The end block implementation is optional. +func (am AppModule) EndBlock(_ context.Context) error { + return nil +} + +// IsOnePerModuleType implements the depinject.OnePerModuleType interface. +func (am AppModule) IsOnePerModuleType() {} + +// IsAppModule implements the appmodule.AppModule interface. +func (am AppModule) IsAppModule() {} + +// ---------------------------------------------------------------------------- +// App Wiring Setup +// ---------------------------------------------------------------------------- + +func init() { + appmodule.Register( + &modulev1.Module{}, + appmodule.Provide(ProvideModule), + ) +} + +type ModuleInputs struct { + depinject.In + + StoreService store.KVStoreService + Cdc codec.Codec + Config *modulev1.Module + Logger log.Logger -// 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{} + AccountKeeper types.AccountKeeper + BankKeeper types.BankKeeper +} + +type ModuleOutputs struct { + depinject.Out + + CardchainKeeper keeper.Keeper + Module appmodule.AppModule +} + +func ProvideModule(in ModuleInputs) ModuleOutputs { + // default to governance authority if not provided + authority := authtypes.NewModuleAddress(govtypes.ModuleName) + if in.Config.Authority != "" { + authority = authtypes.NewModuleAddressOrBech32Address(in.Config.Authority) + } + k := keeper.NewKeeper( + in.Cdc, + in.StoreService, + in.Logger, + authority.String(), + ) + m := NewAppModule( + in.Cdc, + k, + in.AccountKeeper, + in.BankKeeper, + ) + + return ModuleOutputs{CardchainKeeper: k, Module: m} } diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go new file mode 100644 index 00000000..08922063 --- /dev/null +++ b/x/cardchain/module/simulation.go @@ -0,0 +1,59 @@ +package cardchain + +import ( + "math/rand" + + 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" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + cardchainsimulation "github.com/DecentralCardGame/cardchain/x/cardchain/simulation" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" +) + +// avoid unused import issue +var ( + _ = cardchainsimulation.FindAccount + _ = rand.Rand{} + _ = sample.AccAddress + _ = sdk.AccAddress{} + _ = simulation.MsgEntryKind +) + +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() + } + cardchainGenesis := types.GenesisState{ + Params: types.DefaultParams(), + // this line is used by starport scaffolding # simapp/module/genesisState + } + simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&cardchainGenesis) +} + +// RegisterStoreDecoder registers a decoder. +func (am AppModule) RegisterStoreDecoder(_ simtypes.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 +} + +// ProposalMsgs returns msgs used for governance proposals for simulations. +func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.WeightedProposalMsg { + return []simtypes.WeightedProposalMsg{ + // this line is used by starport scaffolding # simapp/module/OpMsg + } +} diff --git a/x/cardchain/module_simulation.go b/x/cardchain/module_simulation.go deleted file mode 100644 index ebcfab78..00000000 --- a/x/cardchain/module_simulation.go +++ /dev/null @@ -1,124 +0,0 @@ -package cardchain - -import ( - "math/rand" - - "github.com/DecentralCardGame/cardchain/testutil/sample" - cardchainsimulation "github.com/DecentralCardGame/cardchain/x/cardchain/simulation" - "github.com/DecentralCardGame/cardchain/x/cardchain/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 - _ = cardchainsimulation.FindAccount - _ = simappparams.StakePerAccount - _ = simulation.MsgEntryKind - _ = baseapp.Paramspace -) - -const ( - opWeightMsgUserCreate = "op_weight_msg_user_create" - // TODO: Determine the simulation weight value - defaultWeightMsgUserCreate int = 100 - - opWeightMsgCardSchemeBuy = "op_weight_msg_card_scheme_buy" - // TODO: Determine the simulation weight value - defaultWeightMsgCardSchemeBuy int = 100 - - opWeightMsgCardSaveContent = "op_weight_msg_card_save_content" - // TODO: Determine the simulation weight value - defaultWeightMsgCardSaveContent int = 100 - - opWeightMsgCardVote = "op_weight_msg_card_vote" - // TODO: Determine the simulation weight value - defaultWeightMsgCardVote int = 100 - - // 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() - } - cardchainGenesis := types.GenesisState{ - Params: types.DefaultParams(), - // this line is used by starport scaffolding # simapp/module/genesisState - } - simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&cardchainGenesis) -} - -// 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) - - var weightMsgUserCreate int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgUserCreate, &weightMsgUserCreate, nil, - func(_ *rand.Rand) { - weightMsgUserCreate = defaultWeightMsgUserCreate - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgUserCreate, - cardchainsimulation.SimulateMsgUserCreate(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgCardSchemeBuy int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCardSchemeBuy, &weightMsgCardSchemeBuy, nil, - func(_ *rand.Rand) { - weightMsgCardSchemeBuy = defaultWeightMsgCardSchemeBuy - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgCardSchemeBuy, - cardchainsimulation.SimulateMsgCardSchemeBuy(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgCardSaveContent int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCardSaveContent, &weightMsgCardSaveContent, nil, - func(_ *rand.Rand) { - weightMsgCardSaveContent = defaultWeightMsgCardSaveContent - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgCardSaveContent, - cardchainsimulation.SimulateMsgCardSaveContent(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgCardVote int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCardVote, &weightMsgCardVote, nil, - func(_ *rand.Rand) { - weightMsgCardVote = defaultWeightMsgCardVote - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgCardVote, - cardchainsimulation.SimulateMsgCardVote(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - // this line is used by starport scaffolding # simapp/module/operation - - return operations -} diff --git a/x/cardchain/simulation/card_save_content.go b/x/cardchain/simulation/card_save_content.go deleted file mode 100644 index fcc7f8ce..00000000 --- a/x/cardchain/simulation/card_save_content.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 SimulateMsgCardSaveContent( - 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.MsgCardSaveContent{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the CardSaveContent simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "CardSaveContent simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/card_scheme_buy.go b/x/cardchain/simulation/card_scheme_buy.go deleted file mode 100644 index e6439960..00000000 --- a/x/cardchain/simulation/card_scheme_buy.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 SimulateMsgCardSchemeBuy( - 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.MsgCardSchemeBuy{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the CardSchemeBuy simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "CardSchemeBuy simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/card_vote.go b/x/cardchain/simulation/card_vote.go deleted file mode 100644 index b9a54113..00000000 --- a/x/cardchain/simulation/card_vote.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 SimulateMsgCardVote( - 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.MsgCardVote{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the CardVote simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "CardVote simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/user_create.go b/x/cardchain/simulation/user_create.go deleted file mode 100644 index 95775fcb..00000000 --- a/x/cardchain/simulation/user_create.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 SimulateMsgUserCreate( - 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.MsgUserCreate{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the UserCreate simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "UserCreate simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 33b34792..ac552637 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -1,39 +1,17 @@ package types import ( - "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/msgservice" + // this line is used by starport scaffolding # 1 ) -func RegisterCodec(cdc *codec.LegacyAmino) { - cdc.RegisterConcrete(&MsgUserCreate{}, "cardchain/UserCreate", nil) - cdc.RegisterConcrete(&MsgCardSchemeBuy{}, "cardchain/CardSchemeBuy", nil) - cdc.RegisterConcrete(&MsgCardSaveContent{}, "cardchain/CardSaveContent", nil) - cdc.RegisterConcrete(&MsgCardVote{}, "cardchain/CardVote", nil) -// this line is used by starport scaffolding # 2 -} - func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { + // this line is used by starport scaffolding # 3 + registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgUserCreate{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgCardSchemeBuy{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgCardSaveContent{}, + &MsgUpdateParams{}, ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgCardVote{}, -) -// this line is used by starport scaffolding # 3 - msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) } - -var ( - Amino = codec.NewLegacyAmino() - ModuleCdc = codec.NewProtoCodec(cdctypes.NewInterfaceRegistry()) -) diff --git a/x/cardchain/types/errors.go b/x/cardchain/types/errors.go index e6204657..a9d176f4 100644 --- a/x/cardchain/types/errors.go +++ b/x/cardchain/types/errors.go @@ -3,10 +3,11 @@ package types // DONTCOVER import ( - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + sdkerrors "cosmossdk.io/errors" ) // x/cardchain module sentinel errors var ( - ErrSample = sdkerrors.Register(ModuleName, 1100, "sample error") + ErrInvalidSigner = sdkerrors.Register(ModuleName, 1100, "expected gov account as only signer for proposal message") + ErrSample = sdkerrors.Register(ModuleName, 1101, "sample error") ) diff --git a/x/cardchain/types/expected_keepers.go b/x/cardchain/types/expected_keepers.go index 6aa6e977..4a50d01a 100644 --- a/x/cardchain/types/expected_keepers.go +++ b/x/cardchain/types/expected_keepers.go @@ -1,18 +1,25 @@ package types import ( + "context" + 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) +// AccountKeeper defines the expected interface for the Account module. type AccountKeeper interface { - GetAccount(ctx sdk.Context, addr sdk.AccAddress) types.AccountI + GetAccount(context.Context, sdk.AccAddress) sdk.AccountI // only used for simulation // Methods imported from account should be defined here } -// BankKeeper defines the expected interface needed to retrieve account balances. +// BankKeeper defines the expected interface for the Bank module. type BankKeeper interface { - SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins + SpendableCoins(context.Context, sdk.AccAddress) sdk.Coins // Methods imported from bank should be defined here } + +// ParamSubspace defines the expected Subspace interface for parameters. +type ParamSubspace interface { + Get(context.Context, []byte, interface{}) + Set(context.Context, []byte, interface{}) +} diff --git a/x/cardchain/types/genesis.go b/x/cardchain/types/genesis.go index 0af9b441..2c15cd92 100644 --- a/x/cardchain/types/genesis.go +++ b/x/cardchain/types/genesis.go @@ -1,8 +1,6 @@ package types -import ( // this line is used by starport scaffolding # genesis/types/import -) // DefaultIndex is the default global index const DefaultIndex uint64 = 1 diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index adb70bad..958b40b6 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,11 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. @@ -25,6 +27,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // GenesisState defines the cardchain module's genesis state. type GenesisState struct { + // params defines all the parameters of the module. Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` } @@ -69,26 +72,27 @@ func (m *GenesisState) GetParams() Params { } func init() { - proto.RegisterType((*GenesisState)(nil), "decentralcardgame.cardchain.cardchain.GenesisState") + proto.RegisterType((*GenesisState)(nil), "cardchain.cardchain.GenesisState") } func init() { proto.RegisterFile("cardchain/cardchain/genesis.proto", fileDescriptor_c4e78aa6e403ddd4) } var fileDescriptor_c4e78aa6e403ddd4 = []byte{ - // 207 bytes of a gzipped FileDescriptorProto + // 213 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4c, 0x4e, 0x2c, 0x4a, 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xd2, 0x53, 0xf3, 0x52, 0x8b, 0x33, 0x8b, 0xf5, - 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x53, 0x52, 0x93, 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, - 0x40, 0x2a, 0xd2, 0x13, 0x73, 0x53, 0xf5, 0xe0, 0x4a, 0x11, 0x2c, 0x29, 0x91, 0xf4, 0xfc, 0xf4, - 0x7c, 0xb0, 0x0e, 0x7d, 0x10, 0x0b, 0xa2, 0x59, 0x4a, 0x01, 0x9b, 0xf9, 0x05, 0x89, 0x45, 0x89, - 0xb9, 0x50, 0xe3, 0x95, 0xa2, 0xb9, 0x78, 0xdc, 0x21, 0xf6, 0x05, 0x97, 0x24, 0x96, 0xa4, 0x0a, - 0x79, 0x73, 0xb1, 0x41, 0xe4, 0x25, 0x18, 0x15, 0x18, 0x35, 0xb8, 0x8d, 0x74, 0xf5, 0x88, 0xb2, - 0x5f, 0x2f, 0x00, 0xac, 0xc9, 0x89, 0xe5, 0xc4, 0x3d, 0x79, 0x86, 0x20, 0xa8, 0x11, 0x4e, 0x41, - 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x84, 0xc7, 0x72, - 0x0c, 0x17, 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, 0x10, 0x65, 0x91, 0x9e, 0x59, 0x92, 0x51, - 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0xef, 0x02, 0xb3, 0xc0, 0x39, 0xb1, 0x28, 0xc5, 0x3d, 0x31, - 0x37, 0x15, 0xc9, 0xad, 0x15, 0x48, 0xec, 0x92, 0xca, 0x82, 0xd4, 0xe2, 0x24, 0x36, 0xb0, 0xbb, - 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe1, 0xb9, 0x0f, 0xdd, 0x3b, 0x01, 0x00, 0x00, + 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0x12, 0x7a, 0x70, 0x96, 0x94, 0x60, 0x62, 0x6e, + 0x66, 0x5e, 0xbe, 0x3e, 0x98, 0x84, 0xa8, 0x93, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x33, 0xf5, + 0x41, 0x2c, 0xa8, 0xa8, 0x02, 0x36, 0x0b, 0x0a, 0x12, 0x8b, 0x12, 0x73, 0xa1, 0xe6, 0x2b, 0xf9, + 0x71, 0xf1, 0xb8, 0x43, 0x2c, 0x0c, 0x2e, 0x49, 0x2c, 0x49, 0x15, 0xb2, 0xe3, 0x62, 0x83, 0xc8, + 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x1b, 0x49, 0xeb, 0x61, 0x71, 0x80, 0x5e, 0x00, 0x58, 0x89, + 0x13, 0xe7, 0x89, 0x7b, 0xf2, 0x0c, 0x2b, 0x9e, 0x6f, 0xd0, 0x62, 0x0c, 0x82, 0xea, 0x72, 0x0a, + 0x3a, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, + 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x28, 0x8b, 0xf4, 0xcc, 0x92, 0x8c, + 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0x7d, 0x97, 0xd4, 0xe4, 0xd4, 0xbc, 0x92, 0xa2, 0xc4, 0x1c, + 0xe7, 0xc4, 0xa2, 0x14, 0xf7, 0xc4, 0xdc, 0x54, 0x24, 0xe7, 0x55, 0x20, 0xb1, 0x4b, 0x2a, 0x0b, + 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x4e, 0x35, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x5c, 0x2a, + 0xef, 0x2f, 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/cardchain/types/genesis_test.go b/x/cardchain/types/genesis_test.go index eb6495b7..ad6d812e 100644 --- a/x/cardchain/types/genesis_test.go +++ b/x/cardchain/types/genesis_test.go @@ -8,7 +8,7 @@ import ( ) func TestGenesisState_Validate(t *testing.T) { - for _, tc := range []struct { + tests := []struct { desc string genState *types.GenesisState valid bool @@ -27,7 +27,8 @@ func TestGenesisState_Validate(t *testing.T) { valid: true, }, // this line is used by starport scaffolding # types/genesis/testcase - } { + } + for _, tc := range tests { t.Run(tc.desc, func(t *testing.T) { err := tc.genState.Validate() if tc.valid { diff --git a/x/cardchain/types/keys.go b/x/cardchain/types/keys.go index 12b299ec..817923e0 100644 --- a/x/cardchain/types/keys.go +++ b/x/cardchain/types/keys.go @@ -7,13 +7,14 @@ const ( // 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_cardchain" ) +var ( + ParamsKey = []byte("p_cardchain") +) + func KeyPrefix(p string) []byte { return []byte(p) } diff --git a/x/cardchain/types/message_card_save_content.go b/x/cardchain/types/message_card_save_content.go deleted file mode 100644 index 6650abf5..00000000 --- a/x/cardchain/types/message_card_save_content.go +++ /dev/null @@ -1,50 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgCardSaveContent = "card_save_content" - -var _ sdk.Msg = &MsgCardSaveContent{} - -func NewMsgCardSaveContent(creator string, cardId uint64, content string, notes string, artist string, balanceAnchor bool) *MsgCardSaveContent { - return &MsgCardSaveContent{ - Creator: creator, - CardId: cardId, - Content: content, - Notes: notes, - Artist: artist, - BalanceAnchor: balanceAnchor, - } -} - -func (msg *MsgCardSaveContent) Route() string { - return RouterKey -} - -func (msg *MsgCardSaveContent) Type() string { - return TypeMsgCardSaveContent -} - -func (msg *MsgCardSaveContent) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgCardSaveContent) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgCardSaveContent) 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_card_save_content_test.go b/x/cardchain/types/message_card_save_content_test.go deleted file mode 100644 index 35bd8c19..00000000 --- a/x/cardchain/types/message_card_save_content_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 TestMsgCardSaveContent_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgCardSaveContent - err error - }{ - { - name: "invalid address", - msg: MsgCardSaveContent{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgCardSaveContent{ - 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_card_scheme_buy.go b/x/cardchain/types/message_card_scheme_buy.go deleted file mode 100644 index 75794aba..00000000 --- a/x/cardchain/types/message_card_scheme_buy.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 TypeMsgCardSchemeBuy = "card_scheme_buy" - -var _ sdk.Msg = &MsgCardSchemeBuy{} - -func NewMsgCardSchemeBuy(creator string, bid sdk.Coin) *MsgCardSchemeBuy { - return &MsgCardSchemeBuy{ - Creator: creator, - Bid: bid, - } -} - -func (msg *MsgCardSchemeBuy) Route() string { - return RouterKey -} - -func (msg *MsgCardSchemeBuy) Type() string { - return TypeMsgCardSchemeBuy -} - -func (msg *MsgCardSchemeBuy) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgCardSchemeBuy) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgCardSchemeBuy) 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_card_scheme_buy_test.go b/x/cardchain/types/message_card_scheme_buy_test.go deleted file mode 100644 index cdf8a8f2..00000000 --- a/x/cardchain/types/message_card_scheme_buy_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 TestMsgCardSchemeBuy_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgCardSchemeBuy - err error - }{ - { - name: "invalid address", - msg: MsgCardSchemeBuy{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgCardSchemeBuy{ - 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_card_vote.go b/x/cardchain/types/message_card_vote.go deleted file mode 100644 index 4fb490ef..00000000 --- a/x/cardchain/types/message_card_vote.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 TypeMsgCardVote = "card_vote" - -var _ sdk.Msg = &MsgCardVote{} - -func NewMsgCardVote(creator string, vote *SingleVote) *MsgCardVote { - return &MsgCardVote{ - Creator: creator, - Vote: vote, - } -} - -func (msg *MsgCardVote) Route() string { - return RouterKey -} - -func (msg *MsgCardVote) Type() string { - return TypeMsgCardVote -} - -func (msg *MsgCardVote) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgCardVote) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgCardVote) 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_card_vote_test.go b/x/cardchain/types/message_card_vote_test.go deleted file mode 100644 index 51172d18..00000000 --- a/x/cardchain/types/message_card_vote_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" - "github.com/DecentralCardGame/cardchain/testutil/sample" -) - -func TestMsgCardVote_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgCardVote - err error - }{ - { - name: "invalid address", - msg: MsgCardVote{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgCardVote{ - 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_user_create.go b/x/cardchain/types/message_user_create.go deleted file mode 100644 index f9d08386..00000000 --- a/x/cardchain/types/message_user_create.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 TypeMsgUserCreate = "user_create" - -var _ sdk.Msg = &MsgUserCreate{} - -func NewMsgUserCreate(creator string, newUser string, alias string) *MsgUserCreate { - return &MsgUserCreate{ - Creator: creator, - NewUser: newUser, - Alias: alias, - } -} - -func (msg *MsgUserCreate) Route() string { - return RouterKey -} - -func (msg *MsgUserCreate) Type() string { - return TypeMsgUserCreate -} - -func (msg *MsgUserCreate) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgUserCreate) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgUserCreate) 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_user_create_test.go b/x/cardchain/types/message_user_create_test.go deleted file mode 100644 index 1b8695e7..00000000 --- a/x/cardchain/types/message_user_create_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 TestMsgUserCreate_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgUserCreate - err error - }{ - { - name: "invalid address", - msg: MsgUserCreate{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgUserCreate{ - 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/msg_update_params.go b/x/cardchain/types/msg_update_params.go new file mode 100644 index 00000000..e36d023d --- /dev/null +++ b/x/cardchain/types/msg_update_params.go @@ -0,0 +1,21 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +var _ sdk.Msg = &MsgUpdateParams{} + +// ValidateBasic does a sanity check on the provided data. +func (m *MsgUpdateParams) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Authority); err != nil { + return errorsmod.Wrap(err, "invalid authority address") + } + + if err := m.Params.Validate(); err != nil { + return err + } + + return nil +} diff --git a/x/cardchain/types/params.go b/x/cardchain/types/params.go index 357196ad..4f3215e3 100644 --- a/x/cardchain/types/params.go +++ b/x/cardchain/types/params.go @@ -2,7 +2,6 @@ package types import ( paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "gopkg.in/yaml.v2" ) var _ paramtypes.ParamSet = (*Params)(nil) @@ -31,9 +30,3 @@ func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { 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/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index 9b935bac..231f0e7d 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,11 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. @@ -27,8 +29,9 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type Params struct { } -func (m *Params) Reset() { *m = Params{} } -func (*Params) ProtoMessage() {} +func (m *Params) Reset() { *m = Params{} } +func (m *Params) String() string { return proto.CompactTextString(m) } +func (*Params) ProtoMessage() {} func (*Params) Descriptor() ([]byte, []int) { return fileDescriptor_8843e481ee664a23, []int{0} } @@ -60,26 +63,48 @@ func (m *Params) XXX_DiscardUnknown() { var xxx_messageInfo_Params proto.InternalMessageInfo func init() { - proto.RegisterType((*Params)(nil), "decentralcardgame.cardchain.cardchain.Params") + proto.RegisterType((*Params)(nil), "cardchain.cardchain.Params") } func init() { proto.RegisterFile("cardchain/cardchain/params.proto", fileDescriptor_8843e481ee664a23) } var fileDescriptor_8843e481ee664a23 = []byte{ - // 165 bytes of a gzipped FileDescriptorProto + // 178 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, 0x47, 0xb0, 0x0a, 0x12, 0x8b, 0x12, 0x73, 0x8b, 0xf5, 0x0a, - 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x53, 0x52, 0x93, 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x40, - 0x0a, 0xd2, 0x13, 0x73, 0x53, 0xf5, 0xe0, 0x2a, 0x11, 0x2c, 0x29, 0x91, 0xf4, 0xfc, 0xf4, 0x7c, - 0xb0, 0x0e, 0x7d, 0x10, 0x0b, 0xa2, 0x59, 0x89, 0x8f, 0x8b, 0x2d, 0x00, 0x6c, 0x98, 0x15, 0xcb, - 0x8c, 0x05, 0xf2, 0x0c, 0x4e, 0x41, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, - 0x91, 0x1c, 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x17, 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, 0x10, - 0x65, 0x91, 0x9e, 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0xef, 0x02, 0xb3, 0xd1, - 0x39, 0xb1, 0x28, 0xc5, 0x3d, 0x31, 0x37, 0x15, 0xc9, 0x6d, 0x15, 0x48, 0xec, 0x92, 0xca, 0x82, - 0xd4, 0xe2, 0x24, 0x36, 0xb0, 0x55, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfa, 0x5b, 0x35, - 0x3b, 0xcb, 0x00, 0x00, 0x00, + 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xe2, 0x7a, 0x70, 0x96, 0x94, 0x60, 0x62, 0x6e, 0x66, + 0x5e, 0xbe, 0x3e, 0x98, 0x84, 0xa8, 0x93, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x33, 0xf5, 0x41, + 0x2c, 0x88, 0xa8, 0x92, 0x3e, 0x17, 0x5b, 0x00, 0xd8, 0x34, 0x2b, 0xd5, 0x17, 0x0b, 0xe4, 0x19, + 0xbb, 0x9e, 0x6f, 0xd0, 0x92, 0x41, 0x58, 0x54, 0x81, 0x64, 0x29, 0x44, 0x99, 0x53, 0xd0, 0x89, + 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, + 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x59, 0xa4, 0x67, 0x96, 0x64, 0x94, 0x26, + 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xbb, 0xa4, 0x26, 0xa7, 0xe6, 0x95, 0x14, 0x25, 0xe6, 0x38, 0x27, + 0x16, 0xa5, 0xb8, 0x27, 0xe6, 0xa6, 0xea, 0x63, 0x37, 0xb4, 0xa4, 0xb2, 0x20, 0xb5, 0x38, 0x89, + 0x0d, 0xec, 0x16, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x16, 0x3a, 0x1d, 0xed, 0x00, + 0x00, 0x00, } +func (this *Params) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Params) + if !ok { + that2, ok := that.(Params) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + return true +} func (m *Params) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 5b4e5954..99d2598e 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,17 +6,19 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-sdk/types/query" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" _ "google.golang.org/genproto/googleapis/api/annotations" 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. @@ -114,34 +116,35 @@ func (m *QueryParamsResponse) GetParams() Params { } func init() { - proto.RegisterType((*QueryParamsRequest)(nil), "decentralcardgame.cardchain.cardchain.QueryParamsRequest") - proto.RegisterType((*QueryParamsResponse)(nil), "decentralcardgame.cardchain.cardchain.QueryParamsResponse") + proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 320 bytes of a gzipped FileDescriptorProto + // 326 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0x4e, 0x2c, 0x4a, 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x0a, 0x4b, 0x53, 0x8b, 0x2a, 0xf5, 0x0a, 0x8a, - 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x53, 0x52, 0x93, 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x40, 0xf2, - 0xe9, 0x89, 0xb9, 0xa9, 0x7a, 0x70, 0x85, 0x08, 0x96, 0x94, 0x48, 0x7a, 0x7e, 0x7a, 0x3e, 0x58, - 0x87, 0x3e, 0x88, 0x05, 0xd1, 0x2c, 0x25, 0x93, 0x9e, 0x9f, 0x9f, 0x9e, 0x93, 0xaa, 0x9f, 0x58, - 0x90, 0xa9, 0x9f, 0x98, 0x97, 0x97, 0x5f, 0x92, 0x58, 0x92, 0x99, 0x9f, 0x57, 0x0c, 0x95, 0xd5, - 0x4a, 0xce, 0x2f, 0xce, 0xcd, 0x2f, 0xd6, 0x4f, 0x4a, 0x2c, 0x4e, 0x85, 0xd8, 0xa9, 0x5f, 0x66, - 0x98, 0x94, 0x5a, 0x92, 0x68, 0xa8, 0x5f, 0x90, 0x98, 0x9e, 0x99, 0x07, 0x56, 0x0c, 0x55, 0xab, - 0x80, 0xcd, 0x9d, 0x05, 0x89, 0x45, 0x89, 0xb9, 0x50, 0xd3, 0x94, 0x44, 0xb8, 0x84, 0x02, 0x41, - 0x66, 0x04, 0x80, 0x05, 0x83, 0x52, 0x0b, 0x4b, 0x53, 0x8b, 0x4b, 0x94, 0x92, 0xb8, 0x84, 0x51, - 0x44, 0x8b, 0x0b, 0xf2, 0xf3, 0x8a, 0x53, 0x85, 0xbc, 0xb9, 0xd8, 0x20, 0x9a, 0x25, 0x18, 0x15, - 0x18, 0x35, 0xb8, 0x8d, 0x74, 0xf5, 0x88, 0xf2, 0xa6, 0x1e, 0xc4, 0x18, 0x27, 0x96, 0x13, 0xf7, - 0xe4, 0x19, 0x82, 0xa0, 0x46, 0x18, 0x1d, 0x60, 0xe4, 0x62, 0x05, 0x5b, 0x22, 0xb4, 0x8d, 0x91, - 0x8b, 0x0d, 0xa2, 0x44, 0xc8, 0x92, 0x48, 0x13, 0x31, 0xdd, 0x2c, 0x65, 0x45, 0x8e, 0x56, 0x88, - 0xc7, 0x94, 0x4c, 0x9b, 0x2e, 0x3f, 0x99, 0xcc, 0xa4, 0x2f, 0xa4, 0xab, 0xef, 0x02, 0x33, 0xc3, - 0x39, 0xb1, 0x28, 0xc5, 0x3d, 0x31, 0x37, 0x55, 0x1f, 0x77, 0x10, 0x3a, 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, 0x2e, 0x5e, 0x23, 0x2b, 0x90, 0xd8, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0xe0, - 0x78, 0x31, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x6f, 0x0e, 0x2d, 0x28, 0x63, 0x02, 0x00, 0x00, + 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xc2, 0x7a, 0x70, 0x96, 0x94, 0x60, 0x62, 0x6e, 0x66, 0x5e, + 0xbe, 0x3e, 0x98, 0x84, 0xa8, 0x93, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x33, 0xf5, 0x41, 0x2c, + 0xa8, 0xa8, 0x4c, 0x7a, 0x7e, 0x7e, 0x7a, 0x4e, 0xaa, 0x7e, 0x62, 0x41, 0xa6, 0x7e, 0x62, 0x5e, + 0x5e, 0x7e, 0x49, 0x62, 0x49, 0x66, 0x7e, 0x5e, 0x31, 0x54, 0x56, 0x2b, 0x39, 0xbf, 0x38, 0x37, + 0xbf, 0x58, 0x3f, 0x29, 0xb1, 0x38, 0x15, 0x62, 0xa9, 0x7e, 0x99, 0x61, 0x52, 0x6a, 0x49, 0xa2, + 0xa1, 0x7e, 0x41, 0x62, 0x7a, 0x66, 0x1e, 0x58, 0x31, 0x54, 0xad, 0x02, 0x36, 0x87, 0x16, 0x24, + 0x16, 0x25, 0xe6, 0x42, 0x4d, 0x53, 0x12, 0xe1, 0x12, 0x0a, 0x04, 0x99, 0x11, 0x00, 0x16, 0x0c, + 0x4a, 0x2d, 0x2c, 0x4d, 0x2d, 0x2e, 0x51, 0x0a, 0xe5, 0x12, 0x46, 0x11, 0x2d, 0x2e, 0xc8, 0xcf, + 0x2b, 0x4e, 0x15, 0xb2, 0xe3, 0x62, 0x83, 0x68, 0x96, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x36, 0x92, + 0xd6, 0xc3, 0xe2, 0x4f, 0x3d, 0x88, 0x26, 0x27, 0xce, 0x13, 0xf7, 0xe4, 0x19, 0x56, 0x3c, 0xdf, + 0xa0, 0xc5, 0x18, 0x04, 0xd5, 0x65, 0x34, 0x87, 0x91, 0x8b, 0x15, 0x6c, 0xae, 0xd0, 0x24, 0x46, + 0x2e, 0x36, 0x88, 0x3a, 0x21, 0x75, 0xac, 0x86, 0x60, 0x3a, 0x4a, 0x4a, 0x83, 0xb0, 0x42, 0x88, + 0x3b, 0x95, 0x4c, 0x9b, 0x2e, 0x3f, 0x99, 0xcc, 0xa4, 0x2f, 0xa4, 0xab, 0xef, 0x92, 0x9a, 0x9c, + 0x9a, 0x57, 0x52, 0x94, 0x98, 0xe3, 0x9c, 0x58, 0x94, 0xe2, 0x9e, 0x98, 0x9b, 0xaa, 0x8f, 0x3b, + 0x44, 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, 0x17, 0xaf, 0x91, 0x15, 0x48, 0xec, 0x92, 0xca, + 0x82, 0xd4, 0xe2, 0x24, 0x36, 0x70, 0x30, 0x1b, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x4c, 0x87, + 0x0a, 0x82, 0x33, 0x02, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -170,7 +173,7 @@ func NewQueryClient(cc grpc1.ClientConn) QueryClient { func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, "/decentralcardgame.cardchain.cardchain.Query/Params", in, out, opts...) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Params", in, out, opts...) if err != nil { return nil, err } @@ -205,7 +208,7 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/decentralcardgame.cardchain.cardchain.Query/Params", + FullMethod: "/cardchain.cardchain.Query/Params", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) @@ -213,8 +216,9 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ - ServiceName: "decentralcardgame.cardchain.cardchain.Query", + ServiceName: "cardchain.cardchain.Query", HandlerType: (*QueryServer)(nil), Methods: []grpc.MethodDesc{ { diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 385ab997..cefb3ebc 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -145,7 +145,7 @@ 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, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "params"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index eab6228b..0e7b2ae7 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,16 +6,19 @@ package types import ( context "context" fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" - 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" + + _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" ) // Reference imports to suppress errors if they are not otherwise used. @@ -29,343 +32,28 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -type MsgUserCreate 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"` - Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` +// MsgUpdateParams is the Msg/UpdateParams request type. +type MsgUpdateParams struct { + // authority is the address that controls the module (defaults to x/gov unless overwritten). + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the module parameters to update. + // + // NOTE: All parameters must be supplied. + Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` } -func (m *MsgUserCreate) Reset() { *m = MsgUserCreate{} } -func (m *MsgUserCreate) String() string { return proto.CompactTextString(m) } -func (*MsgUserCreate) ProtoMessage() {} -func (*MsgUserCreate) Descriptor() ([]byte, []int) { +func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } +func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { return fileDescriptor_3b4a3aba0ac94bc8, []int{0} } -func (m *MsgUserCreate) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgUserCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgUserCreate.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 *MsgUserCreate) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUserCreate.Merge(m, src) -} -func (m *MsgUserCreate) XXX_Size() int { - return m.Size() -} -func (m *MsgUserCreate) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUserCreate.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgUserCreate proto.InternalMessageInfo - -func (m *MsgUserCreate) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgUserCreate) GetNewUser() string { - if m != nil { - return m.NewUser - } - return "" -} - -func (m *MsgUserCreate) GetAlias() string { - if m != nil { - return m.Alias - } - return "" -} - -type MsgUserCreateResponse struct { -} - -func (m *MsgUserCreateResponse) Reset() { *m = MsgUserCreateResponse{} } -func (m *MsgUserCreateResponse) String() string { return proto.CompactTextString(m) } -func (*MsgUserCreateResponse) ProtoMessage() {} -func (*MsgUserCreateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{1} -} -func (m *MsgUserCreateResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgUserCreateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgUserCreateResponse.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 *MsgUserCreateResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUserCreateResponse.Merge(m, src) -} -func (m *MsgUserCreateResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgUserCreateResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUserCreateResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgUserCreateResponse proto.InternalMessageInfo - -type MsgCardSchemeBuy struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Bid types.Coin `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid"` -} - -func (m *MsgCardSchemeBuy) Reset() { *m = MsgCardSchemeBuy{} } -func (m *MsgCardSchemeBuy) String() string { return proto.CompactTextString(m) } -func (*MsgCardSchemeBuy) ProtoMessage() {} -func (*MsgCardSchemeBuy) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{2} -} -func (m *MsgCardSchemeBuy) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCardSchemeBuy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCardSchemeBuy.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 *MsgCardSchemeBuy) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCardSchemeBuy.Merge(m, src) -} -func (m *MsgCardSchemeBuy) XXX_Size() int { - return m.Size() -} -func (m *MsgCardSchemeBuy) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCardSchemeBuy.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCardSchemeBuy proto.InternalMessageInfo - -func (m *MsgCardSchemeBuy) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgCardSchemeBuy) GetBid() types.Coin { - if m != nil { - return m.Bid - } - return types.Coin{} -} - -type MsgCardSchemeBuyResponse struct { - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` -} - -func (m *MsgCardSchemeBuyResponse) Reset() { *m = MsgCardSchemeBuyResponse{} } -func (m *MsgCardSchemeBuyResponse) String() string { return proto.CompactTextString(m) } -func (*MsgCardSchemeBuyResponse) ProtoMessage() {} -func (*MsgCardSchemeBuyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{3} -} -func (m *MsgCardSchemeBuyResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCardSchemeBuyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCardSchemeBuyResponse.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 *MsgCardSchemeBuyResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCardSchemeBuyResponse.Merge(m, src) -} -func (m *MsgCardSchemeBuyResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgCardSchemeBuyResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCardSchemeBuyResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCardSchemeBuyResponse proto.InternalMessageInfo - -func (m *MsgCardSchemeBuyResponse) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -type MsgCardSaveContent 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"` - Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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 *MsgCardSaveContent) Reset() { *m = MsgCardSaveContent{} } -func (m *MsgCardSaveContent) String() string { return proto.CompactTextString(m) } -func (*MsgCardSaveContent) ProtoMessage() {} -func (*MsgCardSaveContent) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{4} -} -func (m *MsgCardSaveContent) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCardSaveContent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCardSaveContent.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 *MsgCardSaveContent) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCardSaveContent.Merge(m, src) -} -func (m *MsgCardSaveContent) XXX_Size() int { - return m.Size() -} -func (m *MsgCardSaveContent) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCardSaveContent.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCardSaveContent proto.InternalMessageInfo - -func (m *MsgCardSaveContent) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgCardSaveContent) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *MsgCardSaveContent) GetContent() string { - if m != nil { - return m.Content - } - return "" -} - -func (m *MsgCardSaveContent) GetNotes() string { - if m != nil { - return m.Notes - } - return "" -} - -func (m *MsgCardSaveContent) GetArtist() string { - if m != nil { - return m.Artist - } - return "" -} - -func (m *MsgCardSaveContent) GetBalanceAnchor() bool { - if m != nil { - return m.BalanceAnchor - } - return false -} - -type MsgCardSaveContentResponse struct { - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` -} - -func (m *MsgCardSaveContentResponse) Reset() { *m = MsgCardSaveContentResponse{} } -func (m *MsgCardSaveContentResponse) String() string { return proto.CompactTextString(m) } -func (*MsgCardSaveContentResponse) ProtoMessage() {} -func (*MsgCardSaveContentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{5} -} -func (m *MsgCardSaveContentResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCardSaveContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCardSaveContentResponse.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 *MsgCardSaveContentResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCardSaveContentResponse.Merge(m, src) -} -func (m *MsgCardSaveContentResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgCardSaveContentResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCardSaveContentResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCardSaveContentResponse proto.InternalMessageInfo - -func (m *MsgCardSaveContentResponse) GetAirdropClaimed() bool { - if m != nil { - return m.AirdropClaimed - } - return false -} - -type MsgCardVote struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Vote *SingleVote `protobuf:"bytes,2,opt,name=vote,proto3" json:"vote,omitempty"` -} - -func (m *MsgCardVote) Reset() { *m = MsgCardVote{} } -func (m *MsgCardVote) String() string { return proto.CompactTextString(m) } -func (*MsgCardVote) ProtoMessage() {} -func (*MsgCardVote) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{6} -} -func (m *MsgCardVote) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgCardVote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgCardVote.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateParams.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -375,1439 +63,293 @@ func (m *MsgCardVote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (m *MsgCardVote) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCardVote.Merge(m, src) +func (m *MsgUpdateParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParams.Merge(m, src) } -func (m *MsgCardVote) XXX_Size() int { +func (m *MsgUpdateParams) XXX_Size() int { return m.Size() } -func (m *MsgCardVote) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCardVote.DiscardUnknown(m) +func (m *MsgUpdateParams) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParams.DiscardUnknown(m) } -var xxx_messageInfo_MsgCardVote proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateParams proto.InternalMessageInfo -func (m *MsgCardVote) GetCreator() string { +func (m *MsgUpdateParams) GetAuthority() string { if m != nil { - return m.Creator + return m.Authority } return "" -} - -func (m *MsgCardVote) GetVote() *SingleVote { - if m != nil { - return m.Vote - } - return nil -} - -type MsgCardVoteResponse struct { - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` -} - -func (m *MsgCardVoteResponse) Reset() { *m = MsgCardVoteResponse{} } -func (m *MsgCardVoteResponse) String() string { return proto.CompactTextString(m) } -func (*MsgCardVoteResponse) ProtoMessage() {} -func (*MsgCardVoteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{7} -} -func (m *MsgCardVoteResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCardVoteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCardVoteResponse.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 *MsgCardVoteResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCardVoteResponse.Merge(m, src) -} -func (m *MsgCardVoteResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgCardVoteResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCardVoteResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCardVoteResponse proto.InternalMessageInfo - -func (m *MsgCardVoteResponse) GetAirdropClaimed() bool { - if m != nil { - return m.AirdropClaimed - } - return false -} - -func init() { - proto.RegisterType((*MsgUserCreate)(nil), "decentralcardgame.cardchain.cardchain.MsgUserCreate") - proto.RegisterType((*MsgUserCreateResponse)(nil), "decentralcardgame.cardchain.cardchain.MsgUserCreateResponse") - proto.RegisterType((*MsgCardSchemeBuy)(nil), "decentralcardgame.cardchain.cardchain.MsgCardSchemeBuy") - proto.RegisterType((*MsgCardSchemeBuyResponse)(nil), "decentralcardgame.cardchain.cardchain.MsgCardSchemeBuyResponse") - proto.RegisterType((*MsgCardSaveContent)(nil), "decentralcardgame.cardchain.cardchain.MsgCardSaveContent") - proto.RegisterType((*MsgCardSaveContentResponse)(nil), "decentralcardgame.cardchain.cardchain.MsgCardSaveContentResponse") - proto.RegisterType((*MsgCardVote)(nil), "decentralcardgame.cardchain.cardchain.MsgCardVote") - proto.RegisterType((*MsgCardVoteResponse)(nil), "decentralcardgame.cardchain.cardchain.MsgCardVoteResponse") -} - -func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } - -var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 557 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xcd, 0x8a, 0xd3, 0x50, - 0x14, 0x6e, 0xa6, 0x9d, 0x5a, 0xcf, 0x50, 0x95, 0x38, 0x6a, 0x0c, 0x12, 0x4b, 0x50, 0x99, 0x55, - 0x42, 0xab, 0xe0, 0x0f, 0x8a, 0x4c, 0x3b, 0x22, 0x2e, 0xba, 0xc9, 0xa0, 0xa0, 0x1b, 0xb9, 0x49, - 0x0e, 0x69, 0xa0, 0xb9, 0xb7, 0xdc, 0x7b, 0xa7, 0xce, 0xb8, 0x72, 0xeb, 0x4a, 0x9f, 0xc1, 0x67, - 0xf0, 0x21, 0x66, 0x39, 0x4b, 0x57, 0x22, 0xed, 0x8b, 0xc8, 0xcd, 0x5f, 0x7f, 0x94, 0xd2, 0x76, - 0x77, 0x7e, 0xf2, 0x7d, 0xe7, 0x3b, 0x27, 0x1f, 0x17, 0xee, 0x04, 0x84, 0x87, 0xc1, 0x80, 0xc4, - 0xd4, 0x9d, 0x45, 0xf2, 0xd4, 0x19, 0x71, 0x26, 0x99, 0x7e, 0x3f, 0xc4, 0x00, 0xa9, 0xe4, 0x64, - 0xa8, 0x9a, 0x11, 0x49, 0xd0, 0x29, 0xbf, 0x9a, 0x45, 0x66, 0xeb, 0x7f, 0x24, 0x63, 0x26, 0x63, - 0x1a, 0x65, 0x44, 0xa6, 0x15, 0x30, 0x91, 0x30, 0xe1, 0xfa, 0x44, 0xa0, 0x3b, 0x6e, 0xfb, 0x28, - 0x49, 0xdb, 0x0d, 0x58, 0x4c, 0xf3, 0xfe, 0x7e, 0xc4, 0x22, 0x96, 0x86, 0xae, 0x8a, 0xb2, 0xaa, - 0xfd, 0x1e, 0x9a, 0x7d, 0x11, 0xbd, 0x15, 0xc8, 0x7b, 0x1c, 0x89, 0x44, 0xdd, 0x80, 0x4b, 0x81, - 0x8a, 0x18, 0x37, 0xb4, 0x96, 0x76, 0x70, 0xd9, 0x2b, 0x52, 0xd5, 0xa1, 0xf8, 0x49, 0x7d, 0x6a, - 0xec, 0x64, 0x9d, 0x3c, 0xd5, 0xf7, 0x61, 0x97, 0x0c, 0x63, 0x22, 0x8c, 0x6a, 0x5a, 0xcf, 0x12, - 0xfb, 0x16, 0xdc, 0x58, 0xa0, 0xf6, 0x50, 0x8c, 0x18, 0x15, 0x68, 0x7f, 0x84, 0x6b, 0x7d, 0x11, - 0xf5, 0x08, 0x0f, 0x8f, 0x83, 0x01, 0x26, 0xd8, 0x3d, 0x39, 0x5b, 0x31, 0xb6, 0x0d, 0x55, 0x3f, - 0x0e, 0xd3, 0x91, 0x7b, 0x9d, 0xdb, 0x4e, 0xb6, 0xa5, 0xa3, 0xb6, 0x74, 0xf2, 0x2d, 0x9d, 0x1e, - 0x8b, 0x69, 0xb7, 0x76, 0xfe, 0xfb, 0x6e, 0xc5, 0x53, 0xdf, 0xda, 0x1d, 0x30, 0x96, 0x07, 0x14, - 0xc3, 0xf5, 0x9b, 0x50, 0x57, 0x07, 0x7c, 0x13, 0xa6, 0x73, 0x6a, 0x5e, 0x9e, 0xd9, 0x3f, 0x35, - 0xd0, 0x0b, 0x10, 0x19, 0x63, 0x8f, 0x51, 0x89, 0x54, 0xae, 0xd0, 0x35, 0x23, 0xda, 0x99, 0x27, - 0x4a, 0x11, 0x19, 0x38, 0x3f, 0x47, 0x91, 0xaa, 0x33, 0x51, 0x26, 0x51, 0x18, 0xb5, 0xec, 0x4c, - 0x69, 0xa2, 0x78, 0x08, 0x97, 0xb1, 0x90, 0xc6, 0x6e, 0x5a, 0xce, 0x33, 0xfd, 0x1e, 0x34, 0x7d, - 0x32, 0x24, 0x34, 0xc0, 0x43, 0x1a, 0x0c, 0x18, 0x37, 0xea, 0x2d, 0xed, 0xa0, 0xe1, 0x2d, 0x16, - 0xed, 0x23, 0x30, 0xff, 0x55, 0x5d, 0x2e, 0xfb, 0x00, 0xae, 0x90, 0x98, 0x87, 0x9c, 0x8d, 0x7a, - 0x43, 0x12, 0x27, 0x98, 0x2d, 0xdd, 0xf0, 0x96, 0xaa, 0x36, 0x85, 0xbd, 0x9c, 0xe5, 0x1d, 0x5b, - 0xe9, 0x81, 0x57, 0x50, 0x1b, 0x33, 0x89, 0xf9, 0xdf, 0x68, 0x3b, 0x6b, 0x99, 0xd7, 0x39, 0x8e, - 0x69, 0x34, 0x44, 0x45, 0xed, 0xa5, 0x70, 0xfb, 0x05, 0x5c, 0x9f, 0x9b, 0xb7, 0xa9, 0xdc, 0xce, - 0x8f, 0x1a, 0x54, 0xfb, 0x22, 0xd2, 0xbf, 0x68, 0x00, 0x73, 0xd6, 0x7d, 0xb4, 0xa6, 0x9c, 0x05, - 0x57, 0x9a, 0xcf, 0xb7, 0x41, 0x95, 0x92, 0xbf, 0x6a, 0xd0, 0x5c, 0x74, 0xf2, 0xe3, 0xf5, 0xf9, - 0x16, 0x80, 0xe6, 0xcb, 0x2d, 0x81, 0xa5, 0x96, 0x6f, 0x1a, 0x5c, 0x5d, 0xf6, 0xef, 0xd3, 0x0d, - 0x49, 0x67, 0x50, 0xf3, 0x70, 0x6b, 0x68, 0xa9, 0xe8, 0x33, 0x34, 0x4a, 0x53, 0x75, 0x36, 0xa3, - 0x53, 0x18, 0xf3, 0xd9, 0xe6, 0x98, 0x62, 0x76, 0xd7, 0x3b, 0x9f, 0x58, 0xda, 0xc5, 0xc4, 0xd2, - 0xfe, 0x4c, 0x2c, 0xed, 0xfb, 0xd4, 0xaa, 0x5c, 0x4c, 0xad, 0xca, 0xaf, 0xa9, 0x55, 0xf9, 0xf0, - 0x24, 0x8a, 0xe5, 0xe0, 0xc4, 0x77, 0x02, 0x96, 0xb8, 0x47, 0x05, 0xbf, 0xc2, 0xbf, 0x26, 0x09, - 0xce, 0x3d, 0xaf, 0xa7, 0xf3, 0xef, 0xf5, 0xd9, 0x08, 0x85, 0x5f, 0x4f, 0x1f, 0xcd, 0x87, 0x7f, - 0x03, 0x00, 0x00, 0xff, 0xff, 0x90, 0xcc, 0x92, 0xef, 0xd3, 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 - -// 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 { - UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) - CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) - CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) - CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) -} - -type msgClient struct { - cc grpc1.ClientConn -} - -func NewMsgClient(cc grpc1.ClientConn) MsgClient { - return &msgClient{cc} -} - -func (c *msgClient) UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) { - out := new(MsgUserCreateResponse) - err := c.cc.Invoke(ctx, "/decentralcardgame.cardchain.cardchain.Msg/UserCreate", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) { - out := new(MsgCardSchemeBuyResponse) - err := c.cc.Invoke(ctx, "/decentralcardgame.cardchain.cardchain.Msg/CardSchemeBuy", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) { - out := new(MsgCardSaveContentResponse) - err := c.cc.Invoke(ctx, "/decentralcardgame.cardchain.cardchain.Msg/CardSaveContent", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) { - out := new(MsgCardVoteResponse) - err := c.cc.Invoke(ctx, "/decentralcardgame.cardchain.cardchain.Msg/CardVote", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// MsgServer is the server API for Msg service. -type MsgServer interface { - UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) - CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) - CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) - CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) -} - -// UnimplementedMsgServer can be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} - -func (*UnimplementedMsgServer) UserCreate(ctx context.Context, req *MsgUserCreate) (*MsgUserCreateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UserCreate not implemented") -} -func (*UnimplementedMsgServer) CardSchemeBuy(ctx context.Context, req *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardSchemeBuy not implemented") -} -func (*UnimplementedMsgServer) CardSaveContent(ctx context.Context, req *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardSaveContent not implemented") -} -func (*UnimplementedMsgServer) CardVote(ctx context.Context, req *MsgCardVote) (*MsgCardVoteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") -} - -func RegisterMsgServer(s grpc1.Server, srv MsgServer) { - s.RegisterService(&_Msg_serviceDesc, srv) -} - -func _Msg_UserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUserCreate) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UserCreate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/decentralcardgame.cardchain.cardchain.Msg/UserCreate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UserCreate(ctx, req.(*MsgUserCreate)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_CardSchemeBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardSchemeBuy) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardSchemeBuy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/decentralcardgame.cardchain.cardchain.Msg/CardSchemeBuy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardSchemeBuy(ctx, req.(*MsgCardSchemeBuy)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_CardSaveContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardSaveContent) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardSaveContent(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/decentralcardgame.cardchain.cardchain.Msg/CardSaveContent", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardSaveContent(ctx, req.(*MsgCardSaveContent)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardVote) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardVote(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/decentralcardgame.cardchain.cardchain.Msg/CardVote", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardVote(ctx, req.(*MsgCardVote)) - } - return interceptor(ctx, in, info, handler) -} - -var _Msg_serviceDesc = grpc.ServiceDesc{ - ServiceName: "decentralcardgame.cardchain.cardchain.Msg", - HandlerType: (*MsgServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "UserCreate", - Handler: _Msg_UserCreate_Handler, - }, - { - MethodName: "CardSchemeBuy", - Handler: _Msg_CardSchemeBuy_Handler, - }, - { - MethodName: "CardSaveContent", - Handler: _Msg_CardSaveContent_Handler, - }, - { - MethodName: "CardVote", - Handler: _Msg_CardVote_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cardchain/cardchain/tx.proto", -} - -func (m *MsgUserCreate) 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 *MsgUserCreate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgUserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Alias) > 0 { - i -= len(m.Alias) - copy(dAtA[i:], m.Alias) - i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) - i-- - dAtA[i] = 0x1a - } - if len(m.NewUser) > 0 { - i -= len(m.NewUser) - copy(dAtA[i:], m.NewUser) - i = encodeVarintTx(dAtA, i, uint64(len(m.NewUser))) - 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 *MsgUserCreateResponse) 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 *MsgUserCreateResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgUserCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgCardSchemeBuy) 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 *MsgCardSchemeBuy) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardSchemeBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - 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) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgCardSchemeBuyResponse) 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 *MsgCardSchemeBuyResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardSchemeBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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 -} - -func (m *MsgCardSaveContent) 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 *MsgCardSaveContent) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardSaveContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x2a - } - if len(m.Notes) > 0 { - i -= len(m.Notes) - copy(dAtA[i:], m.Notes) - i = encodeVarintTx(dAtA, i, uint64(len(m.Notes))) - i-- - dAtA[i] = 0x22 - } - if len(m.Content) > 0 { - i -= len(m.Content) - copy(dAtA[i:], m.Content) - i = encodeVarintTx(dAtA, i, uint64(len(m.Content))) - 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 *MsgCardSaveContentResponse) 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 *MsgCardSaveContentResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardSaveContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *MsgCardVote) 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 *MsgCardVote) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Vote != nil { - { - size, err := m.Vote.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 *MsgCardVoteResponse) 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 *MsgCardVoteResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardVoteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *MsgUserCreate) 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.NewUser) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Alias) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgUserCreateResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgCardSchemeBuy) 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 = m.Bid.Size() - n += 1 + l + sovTx(uint64(l)) - return n -} - -func (m *MsgCardSchemeBuyResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) - } - return n -} - -func (m *MsgCardSaveContent) 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.Content) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Notes) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.BalanceAnchor { - n += 2 - } - return n -} - -func (m *MsgCardSaveContentResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AirdropClaimed { - n += 2 - } - return n -} - -func (m *MsgCardVote) 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.Vote != nil { - l = m.Vote.Size() - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgCardVoteResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AirdropClaimed { - n += 2 - } - return n -} - -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *MsgUserCreate) 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: MsgUserCreate: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NewUser", 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.NewUser = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Alias", 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.Alias = 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 *MsgUserCreateResponse) 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: MsgUserCreateResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUserCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCardSchemeBuy) 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: MsgCardSchemeBuy: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSchemeBuy: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCardSchemeBuyResponse) 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: MsgCardSchemeBuyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSchemeBuyResponse: 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:]) - 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 *MsgCardSaveContent) 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: MsgCardSaveContent: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSaveContent: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Content", 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.Content = string(dAtA[iNdEx:postIndex]) - 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 - 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:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy +} + +func (m *MsgUpdateParams) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +type MsgUpdateParamsResponse struct { +} + +func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse{} } +func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{1} +} +func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err } + return b[:n], nil } +} +func (m *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src) +} +func (m *MsgUpdateParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m) +} - if iNdEx > l { - return io.ErrUnexpectedEOF +var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo + +func init() { + proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") +} + +func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } + +var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ + // 347 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x4a, 0x2a, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, + 0x85, 0x84, 0xe1, 0x62, 0x7a, 0x70, 0x96, 0x94, 0x60, 0x62, 0x6e, 0x66, 0x5e, 0xbe, 0x3e, 0x98, + 0x84, 0xa8, 0x93, 0x12, 0x4f, 0xce, 0x2f, 0xce, 0xcd, 0x2f, 0xd6, 0xcf, 0x2d, 0x4e, 0xd7, 0x2f, + 0x33, 0x04, 0x51, 0x50, 0x09, 0x49, 0x88, 0x44, 0x3c, 0x98, 0xa7, 0x0f, 0xe1, 0x40, 0xa5, 0x44, + 0xd2, 0xf3, 0xd3, 0xf3, 0x21, 0xe2, 0x20, 0x16, 0x54, 0x54, 0x01, 0x9b, 0x7b, 0x0a, 0x12, 0x8b, + 0x12, 0x73, 0xa1, 0xfa, 0x94, 0x0e, 0x33, 0x72, 0xf1, 0xfb, 0x16, 0xa7, 0x87, 0x16, 0xa4, 0x24, + 0x96, 0xa4, 0x06, 0x80, 0x65, 0x84, 0xcc, 0xb8, 0x38, 0x13, 0x4b, 0x4b, 0x32, 0xf2, 0x8b, 0x32, + 0x4b, 0x2a, 0x25, 0x18, 0x15, 0x18, 0x35, 0x38, 0x9d, 0x24, 0x2e, 0x6d, 0xd1, 0x15, 0x81, 0x5a, + 0xe8, 0x98, 0x92, 0x52, 0x94, 0x5a, 0x5c, 0x1c, 0x5c, 0x52, 0x94, 0x99, 0x97, 0x1e, 0x84, 0x50, + 0x2a, 0x64, 0xc7, 0xc5, 0x06, 0x31, 0x5b, 0x82, 0x49, 0x81, 0x51, 0x83, 0xdb, 0x48, 0x5a, 0x0f, + 0x8b, 0x87, 0xf5, 0x20, 0x96, 0x38, 0x71, 0x9e, 0xb8, 0x27, 0xcf, 0xb0, 0xe2, 0xf9, 0x06, 0x2d, + 0xc6, 0x20, 0xa8, 0x2e, 0x2b, 0x8b, 0xa6, 0xe7, 0x1b, 0xb4, 0x10, 0xe6, 0x75, 0x3d, 0xdf, 0xa0, + 0xa5, 0x8a, 0x70, 0x76, 0x05, 0x92, 0x17, 0xd0, 0x5c, 0xac, 0x24, 0xc9, 0x25, 0x8e, 0x26, 0x14, + 0x94, 0x5a, 0x5c, 0x90, 0x9f, 0x57, 0x9c, 0x6a, 0x54, 0xc0, 0xc5, 0xec, 0x5b, 0x9c, 0x2e, 0x94, + 0xc4, 0xc5, 0x83, 0xe2, 0x47, 0x15, 0xac, 0x6e, 0x43, 0x33, 0x44, 0x4a, 0x87, 0x18, 0x55, 0x30, + 0xab, 0xa4, 0x58, 0x1b, 0x40, 0xde, 0x71, 0x0a, 0x3a, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, + 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, + 0x39, 0x86, 0x28, 0x8b, 0xf4, 0xcc, 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0x7d, 0x97, + 0xd4, 0xe4, 0xd4, 0xbc, 0x92, 0xa2, 0xc4, 0x1c, 0xe7, 0xc4, 0xa2, 0x14, 0xf7, 0xc4, 0xdc, 0x54, + 0x7d, 0xec, 0x5e, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, 0xc7, 0x96, 0x31, 0x20, 0x00, + 0x00, 0xff, 0xff, 0x5c, 0xe3, 0xf2, 0x4e, 0x61, 0x02, 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 { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) +} + +type msgClient struct { + cc grpc1.ClientConn +} + +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} +} + +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err } - return nil + return out, nil } -func (m *MsgCardSaveContentResponse) 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: MsgCardSaveContentResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSaveContentResponse: 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 + +// MsgServer is the server API for Msg service. +type MsgServer interface { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) +} + +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { +} + +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} + +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) +} + +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + +var Msg_serviceDesc = _Msg_serviceDesc +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.cardchain.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/cardchain/tx.proto", +} + +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa } + return len(dAtA) - i, nil +} - if iNdEx > l { - return io.ErrUnexpectedEOF +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return nil + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } -func (m *MsgCardVote) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1830,15 +372,15 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardVote: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardVote: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1866,11 +408,11 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Creator = string(dAtA[iNdEx:postIndex]) + m.Authority = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1897,10 +439,7 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Vote == nil { - m.Vote = &SingleVote{} - } - if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -1925,7 +464,7 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1948,32 +487,12 @@ func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardVoteResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardVoteResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateParamsResponse: 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:]) diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go deleted file mode 100644 index 7c25ac9e..00000000 --- a/x/cardchain/types/voting.pb.go +++ /dev/null @@ -1,1135 +0,0 @@ -// 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 VoteType int32 - -const ( - VoteType_fairEnough VoteType = 0 - VoteType_inappropriate VoteType = 1 - VoteType_overpowered VoteType = 2 - VoteType_underpowered VoteType = 3 -) - -var VoteType_name = map[int32]string{ - 0: "fairEnough", - 1: "inappropriate", - 2: "overpowered", - 3: "underpowered", -} - -var VoteType_value = map[string]int32{ - "fairEnough": 0, - "inappropriate": 1, - "overpowered": 2, - "underpowered": 3, -} - -func (x VoteType) String() string { - return proto.EnumName(VoteType_name, int32(x)) -} - -func (VoteType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_39c6bcdea6f40fbf, []int{0} -} - -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 VoteType `protobuf:"varint,2,opt,name=voteType,proto3,enum=decentralcardgame.cardchain.cardchain.VoteType" 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() VoteType { - if m != nil { - return m.VoteType - } - return VoteType_fairEnough -} - -func init() { - proto.RegisterEnum("decentralcardgame.cardchain.cardchain.VoteType", VoteType_name, VoteType_value) - proto.RegisterType((*VotingResults)(nil), "decentralcardgame.cardchain.cardchain.VotingResults") - proto.RegisterType((*VotingResult)(nil), "decentralcardgame.cardchain.cardchain.VotingResult") - proto.RegisterType((*SingleVote)(nil), "decentralcardgame.cardchain.cardchain.SingleVote") -} - -func init() { proto.RegisterFile("cardchain/cardchain/voting.proto", fileDescriptor_39c6bcdea6f40fbf) } - -var fileDescriptor_39c6bcdea6f40fbf = []byte{ - // 438 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcf, 0x6e, 0xd3, 0x40, - 0x10, 0xc6, 0xb3, 0x49, 0x1b, 0xca, 0xa4, 0x7f, 0xdc, 0x51, 0x29, 0x39, 0x59, 0x51, 0x24, 0x24, - 0xab, 0x42, 0x8e, 0x94, 0x22, 0xd4, 0x33, 0x7f, 0x55, 0x71, 0x00, 0x19, 0xda, 0x03, 0xb7, 0xad, - 0xbd, 0x38, 0x96, 0x9c, 0x5d, 0xb3, 0x5e, 0x07, 0xfa, 0x16, 0x3c, 0x16, 0xc7, 0x1e, 0x39, 0xa2, - 0xe4, 0x0d, 0x38, 0x71, 0x44, 0x1e, 0xbb, 0xcd, 0xd2, 0xda, 0x52, 0x6f, 0x33, 0xf3, 0xcd, 0xb7, - 0xde, 0xef, 0x67, 0x2d, 0x8c, 0x42, 0xae, 0xa3, 0x70, 0xc6, 0x13, 0x39, 0x59, 0x57, 0x0b, 0x65, - 0x12, 0x19, 0xfb, 0x99, 0x56, 0x46, 0xe1, 0x93, 0x48, 0x84, 0x42, 0x1a, 0xcd, 0xd3, 0x72, 0x21, - 0xe6, 0x73, 0xe1, 0xdf, 0x6c, 0xae, 0xab, 0xf1, 0xdf, 0x2e, 0xec, 0x9c, 0x93, 0x2f, 0x10, 0x79, - 0x91, 0x9a, 0x1c, 0x5d, 0x00, 0xa3, 0x0c, 0x4f, 0xcf, 0x95, 0x11, 0xf9, 0x90, 0x8d, 0x98, 0xb7, - 0x11, 0x58, 0x13, 0x9c, 0xc2, 0x01, 0x75, 0x6f, 0x78, 0xa2, 0x5f, 0x4b, 0x55, 0xc4, 0xb3, 0x6a, - 0xb3, 0x4b, 0x9b, 0x8d, 0x1a, 0x3e, 0x83, 0x47, 0x34, 0x7f, 0xbf, 0x10, 0x3a, 0x53, 0xdf, 0x84, - 0x16, 0x51, 0x65, 0xea, 0x91, 0xa9, 0x59, 0xc4, 0xe7, 0x70, 0x48, 0xc2, 0x99, 0x8c, 0x6e, 0xd9, - 0x36, 0xc8, 0xd6, 0xa2, 0xe2, 0x09, 0x3c, 0x26, 0xe5, 0x54, 0xf2, 0x2c, 0xd3, 0x2a, 0xd3, 0x09, - 0x37, 0xa2, 0x32, 0x6e, 0x92, 0xb1, 0x4d, 0xc6, 0x33, 0x18, 0x94, 0x68, 0x6a, 0x14, 0xc3, 0xfe, - 0xa8, 0xe7, 0x0d, 0xa6, 0xc7, 0xfe, 0xbd, 0x50, 0xfa, 0x36, 0xc6, 0xc0, 0x3e, 0x07, 0x0f, 0x60, - 0x53, 0xd2, 0xe7, 0x1f, 0x8c, 0x98, 0xf7, 0x30, 0xa8, 0x9a, 0xf1, 0x1f, 0x06, 0xdb, 0xb6, 0x07, - 0x0f, 0xa1, 0x5f, 0xba, 0x4e, 0xa3, 0x9a, 0x7a, 0xdd, 0xa1, 0x07, 0x7b, 0x5f, 0x1a, 0x61, 0xdf, - 0x1e, 0xe3, 0x11, 0x38, 0xaa, 0x19, 0xf1, 0x9d, 0x39, 0x3e, 0x85, 0xfd, 0xa2, 0x05, 0xec, 0x5d, - 0x01, 0x7d, 0xc0, 0xa4, 0x0d, 0x67, 0x83, 0x52, 0x66, 0xd1, 0x94, 0x6a, 0xd8, 0xa7, 0xcc, 0x75, - 0x37, 0xfe, 0x0a, 0xf0, 0x31, 0x91, 0x71, 0x4a, 0x6b, 0xad, 0x89, 0xdf, 0xc1, 0xd6, 0x42, 0x19, - 0xf1, 0xe9, 0x32, 0x13, 0x14, 0x75, 0x77, 0x3a, 0xb9, 0xff, 0x4f, 0x20, 0x5b, 0x70, 0x73, 0xc0, - 0xd1, 0x07, 0xd8, 0xba, 0x9e, 0xe2, 0x2e, 0xc0, 0x9a, 0x99, 0xd3, 0xc1, 0x7d, 0xd8, 0xf9, 0xef, - 0xf2, 0x0e, 0xc3, 0x3d, 0x18, 0x58, 0xac, 0x9c, 0x2e, 0x3a, 0xb0, 0x6d, 0xf3, 0x70, 0x7a, 0x2f, - 0x82, 0x9f, 0x4b, 0x97, 0x5d, 0x2d, 0x5d, 0xf6, 0x7b, 0xe9, 0xb2, 0x1f, 0x2b, 0xb7, 0x73, 0xb5, - 0x72, 0x3b, 0xbf, 0x56, 0x6e, 0xe7, 0xf3, 0x49, 0x9c, 0x98, 0x59, 0x71, 0xe1, 0x87, 0x6a, 0x3e, - 0x79, 0x75, 0x7d, 0xe1, 0x97, 0x5c, 0x47, 0x6f, 0xf9, 0x5c, 0x58, 0x4f, 0xf5, 0xbb, 0x55, 0x9b, - 0xcb, 0x4c, 0xe4, 0x17, 0x7d, 0x7a, 0xb6, 0xc7, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x03, - 0xd1, 0xa2, 0xda, 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 m.VoteType != 0 { - i = encodeVarintVoting(dAtA, i, uint64(m.VoteType)) - 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)) - } - if m.VoteType != 0 { - n += 1 + sovVoting(uint64(m.VoteType)) - } - 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 != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field VoteType", wireType) - } - m.VoteType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVoting - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.VoteType |= VoteType(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") -) From e6a1612bdec55cbf491a9489c0c0327cc5a608d0 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 16 Dec 2024 21:47:13 +0100 Subject: [PATCH 09/99] feat(#242): First generated txs --- api/cardchain/cardchain/genesis.pulsar.go | 9 +- .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- api/cardchain/cardchain/query.pulsar.go | 9 +- api/cardchain/cardchain/query_grpc.pb.go | 1 - api/cardchain/cardchain/tx.pulsar.go | 4670 ++++++++++++++++- api/cardchain/cardchain/tx_grpc.pb.go | 151 +- api/cardchain/cardchain/voting.pulsar.go | 2355 +++++++++ docs/static/openapi.yml | 2 +- gen.sh | 6 + proto/cardchain/cardchain/tx.proto | 60 +- proto/cardchain/cardchain/voting.proto | 37 + .../keeper/msg_server_card_save_content.go | 17 + .../keeper/msg_server_card_scheme_buy.go | 17 + x/cardchain/keeper/msg_server_card_vote.go | 18 + x/cardchain/keeper/msg_server_user_create.go | 17 + x/cardchain/module/autocli.go | 26 +- x/cardchain/module/simulation.go | 96 +- x/cardchain/simulation/card_save_content.go | 29 + x/cardchain/simulation/card_scheme_buy.go | 29 + x/cardchain/simulation/card_vote.go | 29 + x/cardchain/simulation/user_create.go | 29 + x/cardchain/types/codec.go | 14 +- x/cardchain/types/genesis.pb.go | 7 +- .../types/message_card_save_content.go | 28 + .../types/message_card_save_content_test.go | 40 + x/cardchain/types/message_card_scheme_buy.go | 24 + .../types/message_card_scheme_buy_test.go | 40 + x/cardchain/types/message_card_vote.go | 25 + x/cardchain/types/message_card_vote_test.go | 40 + x/cardchain/types/message_user_create.go | 25 + x/cardchain/types/message_user_create_test.go | 40 + x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/query.pb.go | 7 +- x/cardchain/types/tx.pb.go | 2253 +++++++- x/cardchain/types/voting.pb.go | 1134 ++++ 36 files changed, 10927 insertions(+), 382 deletions(-) create mode 100644 api/cardchain/cardchain/voting.pulsar.go create mode 100755 gen.sh create mode 100644 proto/cardchain/cardchain/voting.proto create mode 100644 x/cardchain/keeper/msg_server_card_save_content.go create mode 100644 x/cardchain/keeper/msg_server_card_scheme_buy.go create mode 100644 x/cardchain/keeper/msg_server_card_vote.go create mode 100644 x/cardchain/keeper/msg_server_user_create.go create mode 100644 x/cardchain/simulation/card_save_content.go create mode 100644 x/cardchain/simulation/card_scheme_buy.go create mode 100644 x/cardchain/simulation/card_vote.go create mode 100644 x/cardchain/simulation/user_create.go create mode 100644 x/cardchain/types/message_card_save_content.go create mode 100644 x/cardchain/types/message_card_save_content_test.go create mode 100644 x/cardchain/types/message_card_scheme_buy.go create mode 100644 x/cardchain/types/message_card_scheme_buy_test.go create mode 100644 x/cardchain/types/message_card_vote.go create mode 100644 x/cardchain/types/message_card_vote_test.go create mode 100644 x/cardchain/types/message_user_create.go create mode 100644 x/cardchain/types/message_user_create_test.go create mode 100644 x/cardchain/types/voting.pb.go diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index 6468855f..95f741db 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index dead9881..2b190f83 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,16 +2,15 @@ package module import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index e1114a45..1b2cbd3b 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index dd2bbea8..2fbc5336 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,19 +2,18 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 209e296a..641cf1eb 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index f48592bf..e34d9143 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,19 +2,19 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( @@ -872,185 +872,4463 @@ func (x *fastReflection_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Meth } } -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: cardchain/cardchain/tx.proto - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +var ( + md_MsgUserCreate protoreflect.MessageDescriptor + fd_MsgUserCreate_creator protoreflect.FieldDescriptor + fd_MsgUserCreate_newUser protoreflect.FieldDescriptor + fd_MsgUserCreate_alias protoreflect.FieldDescriptor ) -// MsgUpdateParams is the Msg/UpdateParams request type. -type MsgUpdateParams struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgUserCreate = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgUserCreate") + fd_MsgUserCreate_creator = md_MsgUserCreate.Fields().ByName("creator") + fd_MsgUserCreate_newUser = md_MsgUserCreate.Fields().ByName("newUser") + fd_MsgUserCreate_alias = md_MsgUserCreate.Fields().ByName("alias") +} - // authority is the address that controls the module (defaults to x/gov unless overwritten). - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // params defines the module parameters to update. - // - // NOTE: All parameters must be supplied. - Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +var _ protoreflect.Message = (*fastReflection_MsgUserCreate)(nil) + +type fastReflection_MsgUserCreate MsgUserCreate + +func (x *MsgUserCreate) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUserCreate)(x) } -func (x *MsgUpdateParams) Reset() { - *x = MsgUpdateParams{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[0] +func (x *MsgUserCreate) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } + return mi.MessageOf(x) } -func (x *MsgUpdateParams) String() string { - return protoimpl.X.MessageStringOf(x) +var _fastReflection_MsgUserCreate_messageType fastReflection_MsgUserCreate_messageType +var _ protoreflect.MessageType = fastReflection_MsgUserCreate_messageType{} + +type fastReflection_MsgUserCreate_messageType struct{} + +func (x fastReflection_MsgUserCreate_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUserCreate)(nil) +} +func (x fastReflection_MsgUserCreate_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUserCreate) +} +func (x fastReflection_MsgUserCreate_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUserCreate } -func (*MsgUpdateParams) ProtoMessage() {} +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUserCreate) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUserCreate +} -// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. -func (*MsgUpdateParams) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{0} +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUserCreate) Type() protoreflect.MessageType { + return _fastReflection_MsgUserCreate_messageType } -func (x *MsgUpdateParams) GetAuthority() string { - if x != nil { - return x.Authority - } - return "" +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUserCreate) New() protoreflect.Message { + return new(fastReflection_MsgUserCreate) } -func (x *MsgUpdateParams) GetParams() *Params { - if x != nil { - return x.Params - } - return nil +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUserCreate) Interface() protoreflect.ProtoMessage { + return (*MsgUserCreate)(x) } -// MsgUpdateParamsResponse defines the response structure for executing a -// MsgUpdateParams message. -type MsgUpdateParamsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUserCreate) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgUserCreate_creator, value) { + return + } + } + if x.NewUser != "" { + value := protoreflect.ValueOfString(x.NewUser) + if !f(fd_MsgUserCreate_newUser, value) { + return + } + } + if x.Alias != "" { + value := protoreflect.ValueOfString(x.Alias) + if !f(fd_MsgUserCreate_alias, value) { + return + } + } } -func (x *MsgUpdateParamsResponse) Reset() { - *x = MsgUpdateParamsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUserCreate) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgUserCreate.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgUserCreate.newUser": + return x.NewUser != "" + case "cardchain.cardchain.MsgUserCreate.alias": + return x.Alias != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUserCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUserCreate does not contain field %s", fd.FullName())) } } -func (x *MsgUpdateParamsResponse) String() string { - return protoimpl.X.MessageStringOf(x) +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUserCreate) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgUserCreate.creator": + x.Creator = "" + case "cardchain.cardchain.MsgUserCreate.newUser": + x.NewUser = "" + case "cardchain.cardchain.MsgUserCreate.alias": + x.Alias = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUserCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUserCreate does not contain field %s", fd.FullName())) + } } -func (*MsgUpdateParamsResponse) ProtoMessage() {} +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUserCreate) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgUserCreate.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgUserCreate.newUser": + value := x.NewUser + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgUserCreate.alias": + value := x.Alias + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUserCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUserCreate does not contain field %s", descriptor.FullName())) + } +} -// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. -func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{1} +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUserCreate) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgUserCreate.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgUserCreate.newUser": + x.NewUser = value.Interface().(string) + case "cardchain.cardchain.MsgUserCreate.alias": + x.Alias = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUserCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUserCreate does not contain field %s", fd.FullName())) + } } -var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUserCreate) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgUserCreate.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgUserCreate is not mutable")) + case "cardchain.cardchain.MsgUserCreate.newUser": + panic(fmt.Errorf("field newUser of message cardchain.cardchain.MsgUserCreate is not mutable")) + case "cardchain.cardchain.MsgUserCreate.alias": + panic(fmt.Errorf("field alias of message cardchain.cardchain.MsgUserCreate is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUserCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUserCreate does not contain field %s", fd.FullName())) + } +} -var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ - 0x0a, 0x1c, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x74, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, - 0x73, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3e, - 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, - 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x38, - 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, - 0xb0, 0x2a, 0x25, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x32, 0x70, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, - 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, - 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, - 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUserCreate) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgUserCreate.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgUserCreate.newUser": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgUserCreate.alias": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUserCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUserCreate does not contain field %s", fd.FullName())) + } } -var ( - file_cardchain_cardchain_tx_proto_rawDescOnce sync.Once - file_cardchain_cardchain_tx_proto_rawDescData = file_cardchain_cardchain_tx_proto_rawDesc -) +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUserCreate) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgUserCreate", d.FullName())) + } + panic("unreachable") +} -func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { - file_cardchain_cardchain_tx_proto_rawDescOnce.Do(func() { - file_cardchain_cardchain_tx_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_tx_proto_rawDescData) - }) - return file_cardchain_cardchain_tx_proto_rawDescData +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUserCreate) GetUnknown() protoreflect.RawFields { + return x.unknownFields } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ - (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams - (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse - (*Params)(nil), // 2: cardchain.cardchain.Params +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUserCreate) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields } -var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 2, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 0, // 1: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams - 1, // 2: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 2, // [2:3] is the sub-list for method output_type - 1, // [1:2] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUserCreate) IsValid() bool { + return x != nil } -func init() { file_cardchain_cardchain_tx_proto_init() } -func file_cardchain_cardchain_tx_proto_init() { - if File_cardchain_cardchain_tx_proto != nil { - return - } - file_cardchain_cardchain_params_proto_init() - if !protoimpl.UnsafeEnabled { - file_cardchain_cardchain_tx_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateParams); i { - case 0: +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUserCreate) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUserCreate) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.NewUser) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Alias) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUserCreate) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Alias) > 0 { + i -= len(x.Alias) + copy(dAtA[i:], x.Alias) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Alias))) + i-- + dAtA[i] = 0x1a + } + if len(x.NewUser) > 0 { + i -= len(x.NewUser) + copy(dAtA[i:], x.NewUser) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewUser))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUserCreate) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUserCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewUser", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.NewUser = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Alias", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Alias = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgUserCreateResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgUserCreateResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgUserCreateResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgUserCreateResponse)(nil) + +type fastReflection_MsgUserCreateResponse MsgUserCreateResponse + +func (x *MsgUserCreateResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUserCreateResponse)(x) +} + +func (x *MsgUserCreateResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgUserCreateResponse_messageType fastReflection_MsgUserCreateResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUserCreateResponse_messageType{} + +type fastReflection_MsgUserCreateResponse_messageType struct{} + +func (x fastReflection_MsgUserCreateResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUserCreateResponse)(nil) +} +func (x fastReflection_MsgUserCreateResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUserCreateResponse) +} +func (x fastReflection_MsgUserCreateResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUserCreateResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUserCreateResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUserCreateResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUserCreateResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUserCreateResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUserCreateResponse) New() protoreflect.Message { + return new(fastReflection_MsgUserCreateResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUserCreateResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUserCreateResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUserCreateResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUserCreateResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUserCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUserCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUserCreateResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUserCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUserCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUserCreateResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUserCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUserCreateResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUserCreateResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUserCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUserCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUserCreateResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUserCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUserCreateResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUserCreateResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUserCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUserCreateResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUserCreateResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgUserCreateResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUserCreateResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUserCreateResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUserCreateResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUserCreateResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUserCreateResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUserCreateResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUserCreateResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUserCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUserCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardSchemeBuy protoreflect.MessageDescriptor + fd_MsgCardSchemeBuy_creator protoreflect.FieldDescriptor + fd_MsgCardSchemeBuy_bid protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardSchemeBuy = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardSchemeBuy") + fd_MsgCardSchemeBuy_creator = md_MsgCardSchemeBuy.Fields().ByName("creator") + fd_MsgCardSchemeBuy_bid = md_MsgCardSchemeBuy.Fields().ByName("bid") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardSchemeBuy)(nil) + +type fastReflection_MsgCardSchemeBuy MsgCardSchemeBuy + +func (x *MsgCardSchemeBuy) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardSchemeBuy)(x) +} + +func (x *MsgCardSchemeBuy) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardSchemeBuy_messageType fastReflection_MsgCardSchemeBuy_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardSchemeBuy_messageType{} + +type fastReflection_MsgCardSchemeBuy_messageType struct{} + +func (x fastReflection_MsgCardSchemeBuy_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardSchemeBuy)(nil) +} +func (x fastReflection_MsgCardSchemeBuy_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardSchemeBuy) +} +func (x fastReflection_MsgCardSchemeBuy_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardSchemeBuy +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardSchemeBuy) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardSchemeBuy +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardSchemeBuy) Type() protoreflect.MessageType { + return _fastReflection_MsgCardSchemeBuy_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardSchemeBuy) New() protoreflect.Message { + return new(fastReflection_MsgCardSchemeBuy) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardSchemeBuy) Interface() protoreflect.ProtoMessage { + return (*MsgCardSchemeBuy)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardSchemeBuy) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCardSchemeBuy_creator, value) { + return + } + } + if x.Bid != nil { + value := protoreflect.ValueOfMessage(x.Bid.ProtoReflect()) + if !f(fd_MsgCardSchemeBuy_bid, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardSchemeBuy) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSchemeBuy.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCardSchemeBuy.bid": + return x.Bid != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSchemeBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSchemeBuy does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSchemeBuy) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSchemeBuy.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCardSchemeBuy.bid": + x.Bid = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSchemeBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSchemeBuy does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardSchemeBuy) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardSchemeBuy.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardSchemeBuy.bid": + value := x.Bid + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSchemeBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSchemeBuy does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSchemeBuy) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSchemeBuy.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCardSchemeBuy.bid": + x.Bid = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSchemeBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSchemeBuy does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSchemeBuy) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSchemeBuy.bid": + if x.Bid == nil { + x.Bid = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Bid.ProtoReflect()) + case "cardchain.cardchain.MsgCardSchemeBuy.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCardSchemeBuy is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSchemeBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSchemeBuy does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardSchemeBuy) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSchemeBuy.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardSchemeBuy.bid": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSchemeBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSchemeBuy does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardSchemeBuy) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardSchemeBuy", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardSchemeBuy) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSchemeBuy) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardSchemeBuy) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardSchemeBuy) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardSchemeBuy) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Bid != nil { + l = options.Size(x.Bid) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardSchemeBuy) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Bid != nil { + encoded, err := options.Marshal(x.Bid) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardSchemeBuy) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardSchemeBuy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardSchemeBuy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Bid == nil { + x.Bid = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Bid); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardSchemeBuyResponse protoreflect.MessageDescriptor + fd_MsgCardSchemeBuyResponse_cardId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardSchemeBuyResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardSchemeBuyResponse") + fd_MsgCardSchemeBuyResponse_cardId = md_MsgCardSchemeBuyResponse.Fields().ByName("cardId") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardSchemeBuyResponse)(nil) + +type fastReflection_MsgCardSchemeBuyResponse MsgCardSchemeBuyResponse + +func (x *MsgCardSchemeBuyResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardSchemeBuyResponse)(x) +} + +func (x *MsgCardSchemeBuyResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardSchemeBuyResponse_messageType fastReflection_MsgCardSchemeBuyResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardSchemeBuyResponse_messageType{} + +type fastReflection_MsgCardSchemeBuyResponse_messageType struct{} + +func (x fastReflection_MsgCardSchemeBuyResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardSchemeBuyResponse)(nil) +} +func (x fastReflection_MsgCardSchemeBuyResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardSchemeBuyResponse) +} +func (x fastReflection_MsgCardSchemeBuyResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardSchemeBuyResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardSchemeBuyResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardSchemeBuyResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardSchemeBuyResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCardSchemeBuyResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardSchemeBuyResponse) New() protoreflect.Message { + return new(fastReflection_MsgCardSchemeBuyResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardSchemeBuyResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCardSchemeBuyResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardSchemeBuyResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgCardSchemeBuyResponse_cardId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardSchemeBuyResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSchemeBuyResponse.cardId": + return x.CardId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSchemeBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSchemeBuyResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSchemeBuyResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSchemeBuyResponse.cardId": + x.CardId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSchemeBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSchemeBuyResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardSchemeBuyResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardSchemeBuyResponse.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSchemeBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSchemeBuyResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSchemeBuyResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSchemeBuyResponse.cardId": + x.CardId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSchemeBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSchemeBuyResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSchemeBuyResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSchemeBuyResponse.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgCardSchemeBuyResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSchemeBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSchemeBuyResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardSchemeBuyResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSchemeBuyResponse.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSchemeBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSchemeBuyResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardSchemeBuyResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardSchemeBuyResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardSchemeBuyResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSchemeBuyResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardSchemeBuyResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardSchemeBuyResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardSchemeBuyResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardSchemeBuyResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardSchemeBuyResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardSchemeBuyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardSchemeBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardSaveContent protoreflect.MessageDescriptor + fd_MsgCardSaveContent_creator protoreflect.FieldDescriptor + fd_MsgCardSaveContent_cardId protoreflect.FieldDescriptor + fd_MsgCardSaveContent_content protoreflect.FieldDescriptor + fd_MsgCardSaveContent_notes protoreflect.FieldDescriptor + fd_MsgCardSaveContent_artist protoreflect.FieldDescriptor + fd_MsgCardSaveContent_balanceAnchor protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardSaveContent = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardSaveContent") + fd_MsgCardSaveContent_creator = md_MsgCardSaveContent.Fields().ByName("creator") + fd_MsgCardSaveContent_cardId = md_MsgCardSaveContent.Fields().ByName("cardId") + fd_MsgCardSaveContent_content = md_MsgCardSaveContent.Fields().ByName("content") + fd_MsgCardSaveContent_notes = md_MsgCardSaveContent.Fields().ByName("notes") + fd_MsgCardSaveContent_artist = md_MsgCardSaveContent.Fields().ByName("artist") + fd_MsgCardSaveContent_balanceAnchor = md_MsgCardSaveContent.Fields().ByName("balanceAnchor") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardSaveContent)(nil) + +type fastReflection_MsgCardSaveContent MsgCardSaveContent + +func (x *MsgCardSaveContent) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardSaveContent)(x) +} + +func (x *MsgCardSaveContent) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardSaveContent_messageType fastReflection_MsgCardSaveContent_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardSaveContent_messageType{} + +type fastReflection_MsgCardSaveContent_messageType struct{} + +func (x fastReflection_MsgCardSaveContent_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardSaveContent)(nil) +} +func (x fastReflection_MsgCardSaveContent_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardSaveContent) +} +func (x fastReflection_MsgCardSaveContent_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardSaveContent +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardSaveContent) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardSaveContent +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardSaveContent) Type() protoreflect.MessageType { + return _fastReflection_MsgCardSaveContent_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardSaveContent) New() protoreflect.Message { + return new(fastReflection_MsgCardSaveContent) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardSaveContent) Interface() protoreflect.ProtoMessage { + return (*MsgCardSaveContent)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardSaveContent) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCardSaveContent_creator, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgCardSaveContent_cardId, value) { + return + } + } + if x.Content != "" { + value := protoreflect.ValueOfString(x.Content) + if !f(fd_MsgCardSaveContent_content, value) { + return + } + } + if x.Notes != "" { + value := protoreflect.ValueOfString(x.Notes) + if !f(fd_MsgCardSaveContent_notes, value) { + return + } + } + if x.Artist != "" { + value := protoreflect.ValueOfString(x.Artist) + if !f(fd_MsgCardSaveContent_artist, value) { + return + } + } + if x.BalanceAnchor != false { + value := protoreflect.ValueOfBool(x.BalanceAnchor) + if !f(fd_MsgCardSaveContent_balanceAnchor, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardSaveContent) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSaveContent.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCardSaveContent.cardId": + return x.CardId != uint64(0) + case "cardchain.cardchain.MsgCardSaveContent.content": + return x.Content != "" + case "cardchain.cardchain.MsgCardSaveContent.notes": + return x.Notes != "" + case "cardchain.cardchain.MsgCardSaveContent.artist": + return x.Artist != "" + case "cardchain.cardchain.MsgCardSaveContent.balanceAnchor": + return x.BalanceAnchor != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSaveContent")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSaveContent does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSaveContent) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSaveContent.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCardSaveContent.cardId": + x.CardId = uint64(0) + case "cardchain.cardchain.MsgCardSaveContent.content": + x.Content = "" + case "cardchain.cardchain.MsgCardSaveContent.notes": + x.Notes = "" + case "cardchain.cardchain.MsgCardSaveContent.artist": + x.Artist = "" + case "cardchain.cardchain.MsgCardSaveContent.balanceAnchor": + x.BalanceAnchor = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSaveContent")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSaveContent does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardSaveContent) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardSaveContent.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardSaveContent.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgCardSaveContent.content": + value := x.Content + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardSaveContent.notes": + value := x.Notes + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardSaveContent.artist": + value := x.Artist + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardSaveContent.balanceAnchor": + value := x.BalanceAnchor + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSaveContent")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSaveContent does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSaveContent) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSaveContent.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCardSaveContent.cardId": + x.CardId = value.Uint() + case "cardchain.cardchain.MsgCardSaveContent.content": + x.Content = value.Interface().(string) + case "cardchain.cardchain.MsgCardSaveContent.notes": + x.Notes = value.Interface().(string) + case "cardchain.cardchain.MsgCardSaveContent.artist": + x.Artist = value.Interface().(string) + case "cardchain.cardchain.MsgCardSaveContent.balanceAnchor": + x.BalanceAnchor = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSaveContent")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSaveContent does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSaveContent) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSaveContent.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCardSaveContent is not mutable")) + case "cardchain.cardchain.MsgCardSaveContent.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgCardSaveContent is not mutable")) + case "cardchain.cardchain.MsgCardSaveContent.content": + panic(fmt.Errorf("field content of message cardchain.cardchain.MsgCardSaveContent is not mutable")) + case "cardchain.cardchain.MsgCardSaveContent.notes": + panic(fmt.Errorf("field notes of message cardchain.cardchain.MsgCardSaveContent is not mutable")) + case "cardchain.cardchain.MsgCardSaveContent.artist": + panic(fmt.Errorf("field artist of message cardchain.cardchain.MsgCardSaveContent is not mutable")) + case "cardchain.cardchain.MsgCardSaveContent.balanceAnchor": + panic(fmt.Errorf("field balanceAnchor of message cardchain.cardchain.MsgCardSaveContent is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSaveContent")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSaveContent does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardSaveContent) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSaveContent.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardSaveContent.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgCardSaveContent.content": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardSaveContent.notes": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardSaveContent.artist": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardSaveContent.balanceAnchor": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSaveContent")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSaveContent does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardSaveContent) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardSaveContent", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardSaveContent) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSaveContent) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardSaveContent) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardSaveContent) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardSaveContent) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + l = len(x.Content) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Notes) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Artist) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.BalanceAnchor { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardSaveContent) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.BalanceAnchor { + i-- + if x.BalanceAnchor { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if len(x.Artist) > 0 { + i -= len(x.Artist) + copy(dAtA[i:], x.Artist) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Artist))) + i-- + dAtA[i] = 0x2a + } + if len(x.Notes) > 0 { + i -= len(x.Notes) + copy(dAtA[i:], x.Notes) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Notes))) + i-- + dAtA[i] = 0x22 + } + if len(x.Content) > 0 { + i -= len(x.Content) + copy(dAtA[i:], x.Content) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Content))) + i-- + dAtA[i] = 0x1a + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardSaveContent) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardSaveContent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardSaveContent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Content", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Content = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Notes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Notes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Artist = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BalanceAnchor", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.BalanceAnchor = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardSaveContentResponse protoreflect.MessageDescriptor + fd_MsgCardSaveContentResponse_airdropClaimed protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardSaveContentResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardSaveContentResponse") + fd_MsgCardSaveContentResponse_airdropClaimed = md_MsgCardSaveContentResponse.Fields().ByName("airdropClaimed") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardSaveContentResponse)(nil) + +type fastReflection_MsgCardSaveContentResponse MsgCardSaveContentResponse + +func (x *MsgCardSaveContentResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardSaveContentResponse)(x) +} + +func (x *MsgCardSaveContentResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardSaveContentResponse_messageType fastReflection_MsgCardSaveContentResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardSaveContentResponse_messageType{} + +type fastReflection_MsgCardSaveContentResponse_messageType struct{} + +func (x fastReflection_MsgCardSaveContentResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardSaveContentResponse)(nil) +} +func (x fastReflection_MsgCardSaveContentResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardSaveContentResponse) +} +func (x fastReflection_MsgCardSaveContentResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardSaveContentResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardSaveContentResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardSaveContentResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardSaveContentResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCardSaveContentResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardSaveContentResponse) New() protoreflect.Message { + return new(fastReflection_MsgCardSaveContentResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardSaveContentResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCardSaveContentResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardSaveContentResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.AirdropClaimed != false { + value := protoreflect.ValueOfBool(x.AirdropClaimed) + if !f(fd_MsgCardSaveContentResponse_airdropClaimed, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardSaveContentResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSaveContentResponse.airdropClaimed": + return x.AirdropClaimed != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSaveContentResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSaveContentResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSaveContentResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSaveContentResponse.airdropClaimed": + x.AirdropClaimed = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSaveContentResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSaveContentResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardSaveContentResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardSaveContentResponse.airdropClaimed": + value := x.AirdropClaimed + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSaveContentResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSaveContentResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSaveContentResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSaveContentResponse.airdropClaimed": + x.AirdropClaimed = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSaveContentResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSaveContentResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSaveContentResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSaveContentResponse.airdropClaimed": + panic(fmt.Errorf("field airdropClaimed of message cardchain.cardchain.MsgCardSaveContentResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSaveContentResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSaveContentResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardSaveContentResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardSaveContentResponse.airdropClaimed": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardSaveContentResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardSaveContentResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardSaveContentResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardSaveContentResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardSaveContentResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardSaveContentResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardSaveContentResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardSaveContentResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardSaveContentResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.AirdropClaimed { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardSaveContentResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.AirdropClaimed { + i-- + if x.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardSaveContentResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardSaveContentResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardSaveContentResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AirdropClaimed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.AirdropClaimed = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardVote protoreflect.MessageDescriptor + fd_MsgCardVote_creator protoreflect.FieldDescriptor + fd_MsgCardVote_vote protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardVote = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardVote") + fd_MsgCardVote_creator = md_MsgCardVote.Fields().ByName("creator") + fd_MsgCardVote_vote = md_MsgCardVote.Fields().ByName("vote") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardVote)(nil) + +type fastReflection_MsgCardVote MsgCardVote + +func (x *MsgCardVote) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardVote)(x) +} + +func (x *MsgCardVote) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardVote_messageType fastReflection_MsgCardVote_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardVote_messageType{} + +type fastReflection_MsgCardVote_messageType struct{} + +func (x fastReflection_MsgCardVote_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardVote)(nil) +} +func (x fastReflection_MsgCardVote_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardVote) +} +func (x fastReflection_MsgCardVote_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardVote +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardVote) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardVote +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardVote) Type() protoreflect.MessageType { + return _fastReflection_MsgCardVote_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardVote) New() protoreflect.Message { + return new(fastReflection_MsgCardVote) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardVote) Interface() protoreflect.ProtoMessage { + return (*MsgCardVote)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardVote) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCardVote_creator, value) { + return + } + } + if x.Vote != nil { + value := protoreflect.ValueOfMessage(x.Vote.ProtoReflect()) + if !f(fd_MsgCardVote_vote, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardVote) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVote.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCardVote.vote": + return x.Vote != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVote")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVote does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVote) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVote.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCardVote.vote": + x.Vote = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVote")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVote does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardVote) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardVote.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardVote.vote": + value := x.Vote + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVote")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVote does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVote) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVote.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCardVote.vote": + x.Vote = value.Message().Interface().(*SingleVote) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVote")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVote does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVote) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVote.vote": + if x.Vote == nil { + x.Vote = new(SingleVote) + } + return protoreflect.ValueOfMessage(x.Vote.ProtoReflect()) + case "cardchain.cardchain.MsgCardVote.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCardVote is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVote")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVote does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardVote) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVote.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardVote.vote": + m := new(SingleVote) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVote")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVote does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardVote) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardVote", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardVote) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVote) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardVote) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardVote) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardVote) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Vote != nil { + l = options.Size(x.Vote) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardVote) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Vote != nil { + encoded, err := options.Marshal(x.Vote) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardVote) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardVote: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardVote: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Vote == nil { + x.Vote = &SingleVote{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Vote); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardVoteResponse protoreflect.MessageDescriptor + fd_MsgCardVoteResponse_airdropClaimed protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardVoteResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardVoteResponse") + fd_MsgCardVoteResponse_airdropClaimed = md_MsgCardVoteResponse.Fields().ByName("airdropClaimed") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardVoteResponse)(nil) + +type fastReflection_MsgCardVoteResponse MsgCardVoteResponse + +func (x *MsgCardVoteResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardVoteResponse)(x) +} + +func (x *MsgCardVoteResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardVoteResponse_messageType fastReflection_MsgCardVoteResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardVoteResponse_messageType{} + +type fastReflection_MsgCardVoteResponse_messageType struct{} + +func (x fastReflection_MsgCardVoteResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardVoteResponse)(nil) +} +func (x fastReflection_MsgCardVoteResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardVoteResponse) +} +func (x fastReflection_MsgCardVoteResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardVoteResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardVoteResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardVoteResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardVoteResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCardVoteResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardVoteResponse) New() protoreflect.Message { + return new(fastReflection_MsgCardVoteResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardVoteResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCardVoteResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardVoteResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.AirdropClaimed != false { + value := protoreflect.ValueOfBool(x.AirdropClaimed) + if !f(fd_MsgCardVoteResponse_airdropClaimed, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardVoteResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteResponse.airdropClaimed": + return x.AirdropClaimed != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVoteResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteResponse.airdropClaimed": + x.AirdropClaimed = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardVoteResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardVoteResponse.airdropClaimed": + value := x.AirdropClaimed + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVoteResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteResponse.airdropClaimed": + x.AirdropClaimed = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVoteResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteResponse.airdropClaimed": + panic(fmt.Errorf("field airdropClaimed of message cardchain.cardchain.MsgCardVoteResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardVoteResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteResponse.airdropClaimed": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardVoteResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardVoteResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardVoteResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVoteResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardVoteResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardVoteResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardVoteResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.AirdropClaimed { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardVoteResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.AirdropClaimed { + i-- + if x.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardVoteResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardVoteResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardVoteResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AirdropClaimed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.AirdropClaimed = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/tx.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// MsgUpdateParams is the Msg/UpdateParams request type. +type MsgUpdateParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address that controls the module (defaults to x/gov unless + // overwritten). + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // NOTE: All parameters must be supplied. + Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *MsgUpdateParams) Reset() { + *x = MsgUpdateParams{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParams) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{0} +} + +func (x *MsgUpdateParams) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgUpdateParams) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +type MsgUpdateParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUpdateParamsResponse) Reset() { + *x = MsgUpdateParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParamsResponse) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{1} +} + +type MsgUserCreate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + NewUser string `protobuf:"bytes,2,opt,name=newUser,proto3" json:"newUser,omitempty"` + Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` +} + +func (x *MsgUserCreate) Reset() { + *x = MsgUserCreate{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUserCreate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUserCreate) ProtoMessage() {} + +// Deprecated: Use MsgUserCreate.ProtoReflect.Descriptor instead. +func (*MsgUserCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{2} +} + +func (x *MsgUserCreate) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgUserCreate) GetNewUser() string { + if x != nil { + return x.NewUser + } + return "" +} + +func (x *MsgUserCreate) GetAlias() string { + if x != nil { + return x.Alias + } + return "" +} + +type MsgUserCreateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUserCreateResponse) Reset() { + *x = MsgUserCreateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUserCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUserCreateResponse) ProtoMessage() {} + +// Deprecated: Use MsgUserCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgUserCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{3} +} + +type MsgCardSchemeBuy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Bid *v1beta1.Coin `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid,omitempty"` +} + +func (x *MsgCardSchemeBuy) Reset() { + *x = MsgCardSchemeBuy{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSchemeBuy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSchemeBuy) ProtoMessage() {} + +// Deprecated: Use MsgCardSchemeBuy.ProtoReflect.Descriptor instead. +func (*MsgCardSchemeBuy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{4} +} + +func (x *MsgCardSchemeBuy) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardSchemeBuy) GetBid() *v1beta1.Coin { + if x != nil { + return x.Bid + } + return nil +} + +type MsgCardSchemeBuyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (x *MsgCardSchemeBuyResponse) Reset() { + *x = MsgCardSchemeBuyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSchemeBuyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSchemeBuyResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardSchemeBuyResponse.ProtoReflect.Descriptor instead. +func (*MsgCardSchemeBuyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{5} +} + +func (x *MsgCardSchemeBuyResponse) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +type MsgCardSaveContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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 (x *MsgCardSaveContent) Reset() { + *x = MsgCardSaveContent{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSaveContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSaveContent) ProtoMessage() {} + +// Deprecated: Use MsgCardSaveContent.ProtoReflect.Descriptor instead. +func (*MsgCardSaveContent) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{6} +} + +func (x *MsgCardSaveContent) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardSaveContent) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardSaveContent) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +func (x *MsgCardSaveContent) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +func (x *MsgCardSaveContent) GetArtist() string { + if x != nil { + return x.Artist + } + return "" +} + +func (x *MsgCardSaveContent) GetBalanceAnchor() bool { + if x != nil { + return x.BalanceAnchor + } + return false +} + +type MsgCardSaveContentResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (x *MsgCardSaveContentResponse) Reset() { + *x = MsgCardSaveContentResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSaveContentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSaveContentResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardSaveContentResponse.ProtoReflect.Descriptor instead. +func (*MsgCardSaveContentResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{7} +} + +func (x *MsgCardSaveContentResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgCardVote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Vote *SingleVote `protobuf:"bytes,2,opt,name=vote,proto3" json:"vote,omitempty"` +} + +func (x *MsgCardVote) Reset() { + *x = MsgCardVote{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardVote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardVote) ProtoMessage() {} + +// Deprecated: Use MsgCardVote.ProtoReflect.Descriptor instead. +func (*MsgCardVote) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{8} +} + +func (x *MsgCardVote) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardVote) GetVote() *SingleVote { + if x != nil { + return x.Vote + } + return nil +} + +type MsgCardVoteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (x *MsgCardVoteResponse) Reset() { + *x = MsgCardVoteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardVoteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardVoteResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardVoteResponse.ProtoReflect.Descriptor instead. +func (*MsgCardVoteResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{9} +} + +func (x *MsgCardVoteResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ + 0x0a, 0x1c, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x74, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, + 0x73, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, + 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, + 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x3a, 0x38, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x8a, 0xe7, 0xb0, 0x2a, 0x25, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, + 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, + 0xde, 0x1f, 0x00, 0x52, 0x03, 0x62, 0x69, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0xc2, 0x01, 0x0a, 0x12, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, + 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, + 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, + 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x44, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, + 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, + 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x56, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x33, + 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x04, 0x76, + 0x6f, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x3d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, + 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, + 0x32, 0xfa, 0x03, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, + 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, + 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, + 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, + 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, + 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_tx_proto_rawDescOnce sync.Once + file_cardchain_cardchain_tx_proto_rawDescData = file_cardchain_cardchain_tx_proto_rawDesc +) + +func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_tx_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_tx_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_tx_proto_rawDescData) + }) + return file_cardchain_cardchain_tx_proto_rawDescData +} + +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ + (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams + (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse + (*MsgUserCreate)(nil), // 2: cardchain.cardchain.MsgUserCreate + (*MsgUserCreateResponse)(nil), // 3: cardchain.cardchain.MsgUserCreateResponse + (*MsgCardSchemeBuy)(nil), // 4: cardchain.cardchain.MsgCardSchemeBuy + (*MsgCardSchemeBuyResponse)(nil), // 5: cardchain.cardchain.MsgCardSchemeBuyResponse + (*MsgCardSaveContent)(nil), // 6: cardchain.cardchain.MsgCardSaveContent + (*MsgCardSaveContentResponse)(nil), // 7: cardchain.cardchain.MsgCardSaveContentResponse + (*MsgCardVote)(nil), // 8: cardchain.cardchain.MsgCardVote + (*MsgCardVoteResponse)(nil), // 9: cardchain.cardchain.MsgCardVoteResponse + (*Params)(nil), // 10: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 11: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 12: cardchain.cardchain.SingleVote +} +var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ + 10, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 11, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 12, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 0, // 3: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams + 2, // 4: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate + 4, // 5: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy + 6, // 6: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent + 8, // 7: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote + 1, // 8: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 9: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 10: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 11: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 12: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 8, // [8:13] is the sub-list for method output_type + 3, // [3:8] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_tx_proto_init() } +func file_cardchain_cardchain_tx_proto_init() { + if File_cardchain_cardchain_tx_proto != nil { + return + } + file_cardchain_cardchain_params_proto_init() + file_cardchain_cardchain_voting_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_tx_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParams); i { + case 0: return &v.state case 1: return &v.sizeCache @@ -1072,6 +5350,102 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } + file_cardchain_cardchain_tx_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUserCreate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUserCreateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardSchemeBuy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardSchemeBuyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardSaveContent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardSaveContentResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardVote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardVoteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1079,7 +5453,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 2, + NumMessages: 10, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 39835a39..67c1691f 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -20,7 +19,11 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - Msg_UpdateParams_FullMethodName = "/cardchain.cardchain.Msg/UpdateParams" + Msg_UpdateParams_FullMethodName = "/cardchain.cardchain.Msg/UpdateParams" + Msg_UserCreate_FullMethodName = "/cardchain.cardchain.Msg/UserCreate" + Msg_CardSchemeBuy_FullMethodName = "/cardchain.cardchain.Msg/CardSchemeBuy" + Msg_CardSaveContent_FullMethodName = "/cardchain.cardchain.Msg/CardSaveContent" + Msg_CardVote_FullMethodName = "/cardchain.cardchain.Msg/CardVote" ) // MsgClient is the client API for Msg service. @@ -30,6 +33,10 @@ type MsgClient interface { // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) + CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) + CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) } type msgClient struct { @@ -49,6 +56,42 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts return out, nil } +func (c *msgClient) UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) { + out := new(MsgUserCreateResponse) + err := c.cc.Invoke(ctx, Msg_UserCreate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) { + out := new(MsgCardSchemeBuyResponse) + err := c.cc.Invoke(ctx, Msg_CardSchemeBuy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) { + out := new(MsgCardSaveContentResponse) + err := c.cc.Invoke(ctx, Msg_CardSaveContent_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) { + out := new(MsgCardVoteResponse) + err := c.cc.Invoke(ctx, Msg_CardVote_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -56,6 +99,10 @@ type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) + CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) + CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) mustEmbedUnimplementedMsgServer() } @@ -66,6 +113,18 @@ type UnimplementedMsgServer struct { func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } +func (UnimplementedMsgServer) UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserCreate not implemented") +} +func (UnimplementedMsgServer) CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSchemeBuy not implemented") +} +func (UnimplementedMsgServer) CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSaveContent not implemented") +} +func (UnimplementedMsgServer) CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -97,6 +156,78 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Msg_UserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUserCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UserCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_UserCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UserCreate(ctx, req.(*MsgUserCreate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardSchemeBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSchemeBuy) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardSchemeBuy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CardSchemeBuy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSchemeBuy(ctx, req.(*MsgCardSchemeBuy)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardSaveContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSaveContent) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardSaveContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CardSaveContent_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSaveContent(ctx, req.(*MsgCardSaveContent)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardVote) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardVote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CardVote_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardVote(ctx, req.(*MsgCardVote)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -108,6 +239,22 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "UserCreate", + Handler: _Msg_UserCreate_Handler, + }, + { + MethodName: "CardSchemeBuy", + Handler: _Msg_CardSchemeBuy_Handler, + }, + { + MethodName: "CardSaveContent", + Handler: _Msg_CardSaveContent_Handler, + }, + { + MethodName: "CardVote", + Handler: _Msg_CardVote_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go new file mode 100644 index 00000000..2a02aa7e --- /dev/null +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -0,0 +1,2355 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var _ protoreflect.List = (*_VotingResults_6_list)(nil) + +type _VotingResults_6_list struct { + list *[]*VotingResult +} + +func (x *_VotingResults_6_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_VotingResults_6_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_VotingResults_6_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*VotingResult) + (*x.list)[i] = concreteValue +} + +func (x *_VotingResults_6_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*VotingResult) + *x.list = append(*x.list, concreteValue) +} + +func (x *_VotingResults_6_list) AppendMutable() protoreflect.Value { + v := new(VotingResult) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_VotingResults_6_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_VotingResults_6_list) NewElement() protoreflect.Value { + v := new(VotingResult) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_VotingResults_6_list) IsValid() bool { + return x.list != nil +} + +var ( + md_VotingResults protoreflect.MessageDescriptor + fd_VotingResults_totalVotes protoreflect.FieldDescriptor + fd_VotingResults_totalFairEnoughVotes protoreflect.FieldDescriptor + fd_VotingResults_totalOverpoweredVotes protoreflect.FieldDescriptor + fd_VotingResults_totalUnderpoweredVotes protoreflect.FieldDescriptor + fd_VotingResults_totalInappropriateVotes protoreflect.FieldDescriptor + fd_VotingResults_cardResults protoreflect.FieldDescriptor + fd_VotingResults_notes protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_voting_proto_init() + md_VotingResults = File_cardchain_cardchain_voting_proto.Messages().ByName("VotingResults") + fd_VotingResults_totalVotes = md_VotingResults.Fields().ByName("totalVotes") + fd_VotingResults_totalFairEnoughVotes = md_VotingResults.Fields().ByName("totalFairEnoughVotes") + fd_VotingResults_totalOverpoweredVotes = md_VotingResults.Fields().ByName("totalOverpoweredVotes") + fd_VotingResults_totalUnderpoweredVotes = md_VotingResults.Fields().ByName("totalUnderpoweredVotes") + fd_VotingResults_totalInappropriateVotes = md_VotingResults.Fields().ByName("totalInappropriateVotes") + fd_VotingResults_cardResults = md_VotingResults.Fields().ByName("cardResults") + fd_VotingResults_notes = md_VotingResults.Fields().ByName("notes") +} + +var _ protoreflect.Message = (*fastReflection_VotingResults)(nil) + +type fastReflection_VotingResults VotingResults + +func (x *VotingResults) ProtoReflect() protoreflect.Message { + return (*fastReflection_VotingResults)(x) +} + +func (x *VotingResults) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_voting_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_VotingResults_messageType fastReflection_VotingResults_messageType +var _ protoreflect.MessageType = fastReflection_VotingResults_messageType{} + +type fastReflection_VotingResults_messageType struct{} + +func (x fastReflection_VotingResults_messageType) Zero() protoreflect.Message { + return (*fastReflection_VotingResults)(nil) +} +func (x fastReflection_VotingResults_messageType) New() protoreflect.Message { + return new(fastReflection_VotingResults) +} +func (x fastReflection_VotingResults_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_VotingResults +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_VotingResults) Descriptor() protoreflect.MessageDescriptor { + return md_VotingResults +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_VotingResults) Type() protoreflect.MessageType { + return _fastReflection_VotingResults_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_VotingResults) New() protoreflect.Message { + return new(fastReflection_VotingResults) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_VotingResults) Interface() protoreflect.ProtoMessage { + return (*VotingResults)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_VotingResults) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.TotalVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.TotalVotes) + if !f(fd_VotingResults_totalVotes, value) { + return + } + } + if x.TotalFairEnoughVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.TotalFairEnoughVotes) + if !f(fd_VotingResults_totalFairEnoughVotes, value) { + return + } + } + if x.TotalOverpoweredVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.TotalOverpoweredVotes) + if !f(fd_VotingResults_totalOverpoweredVotes, value) { + return + } + } + if x.TotalUnderpoweredVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.TotalUnderpoweredVotes) + if !f(fd_VotingResults_totalUnderpoweredVotes, value) { + return + } + } + if x.TotalInappropriateVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.TotalInappropriateVotes) + if !f(fd_VotingResults_totalInappropriateVotes, value) { + return + } + } + if len(x.CardResults) != 0 { + value := protoreflect.ValueOfList(&_VotingResults_6_list{list: &x.CardResults}) + if !f(fd_VotingResults_cardResults, value) { + return + } + } + if x.Notes != "" { + value := protoreflect.ValueOfString(x.Notes) + if !f(fd_VotingResults_notes, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_VotingResults) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.VotingResults.totalVotes": + return x.TotalVotes != uint64(0) + case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": + return x.TotalFairEnoughVotes != uint64(0) + case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": + return x.TotalOverpoweredVotes != uint64(0) + case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": + return x.TotalUnderpoweredVotes != uint64(0) + case "cardchain.cardchain.VotingResults.totalInappropriateVotes": + return x.TotalInappropriateVotes != uint64(0) + case "cardchain.cardchain.VotingResults.cardResults": + return len(x.CardResults) != 0 + case "cardchain.cardchain.VotingResults.notes": + return x.Notes != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_VotingResults) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.VotingResults.totalVotes": + x.TotalVotes = uint64(0) + case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": + x.TotalFairEnoughVotes = uint64(0) + case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": + x.TotalOverpoweredVotes = uint64(0) + case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": + x.TotalUnderpoweredVotes = uint64(0) + case "cardchain.cardchain.VotingResults.totalInappropriateVotes": + x.TotalInappropriateVotes = uint64(0) + case "cardchain.cardchain.VotingResults.cardResults": + x.CardResults = nil + case "cardchain.cardchain.VotingResults.notes": + x.Notes = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_VotingResults) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.VotingResults.totalVotes": + value := x.TotalVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": + value := x.TotalFairEnoughVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": + value := x.TotalOverpoweredVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": + value := x.TotalUnderpoweredVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResults.totalInappropriateVotes": + value := x.TotalInappropriateVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResults.cardResults": + if len(x.CardResults) == 0 { + return protoreflect.ValueOfList(&_VotingResults_6_list{}) + } + listValue := &_VotingResults_6_list{list: &x.CardResults} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.VotingResults.notes": + value := x.Notes + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_VotingResults) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.VotingResults.totalVotes": + x.TotalVotes = value.Uint() + case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": + x.TotalFairEnoughVotes = value.Uint() + case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": + x.TotalOverpoweredVotes = value.Uint() + case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": + x.TotalUnderpoweredVotes = value.Uint() + case "cardchain.cardchain.VotingResults.totalInappropriateVotes": + x.TotalInappropriateVotes = value.Uint() + case "cardchain.cardchain.VotingResults.cardResults": + lv := value.List() + clv := lv.(*_VotingResults_6_list) + x.CardResults = *clv.list + case "cardchain.cardchain.VotingResults.notes": + x.Notes = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_VotingResults) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.VotingResults.cardResults": + if x.CardResults == nil { + x.CardResults = []*VotingResult{} + } + value := &_VotingResults_6_list{list: &x.CardResults} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.VotingResults.totalVotes": + panic(fmt.Errorf("field totalVotes of message cardchain.cardchain.VotingResults is not mutable")) + case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": + panic(fmt.Errorf("field totalFairEnoughVotes of message cardchain.cardchain.VotingResults is not mutable")) + case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": + panic(fmt.Errorf("field totalOverpoweredVotes of message cardchain.cardchain.VotingResults is not mutable")) + case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": + panic(fmt.Errorf("field totalUnderpoweredVotes of message cardchain.cardchain.VotingResults is not mutable")) + case "cardchain.cardchain.VotingResults.totalInappropriateVotes": + panic(fmt.Errorf("field totalInappropriateVotes of message cardchain.cardchain.VotingResults is not mutable")) + case "cardchain.cardchain.VotingResults.notes": + panic(fmt.Errorf("field notes of message cardchain.cardchain.VotingResults is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_VotingResults) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.VotingResults.totalVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResults.totalInappropriateVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResults.cardResults": + list := []*VotingResult{} + return protoreflect.ValueOfList(&_VotingResults_6_list{list: &list}) + case "cardchain.cardchain.VotingResults.notes": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_VotingResults) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.VotingResults", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_VotingResults) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_VotingResults) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_VotingResults) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_VotingResults) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*VotingResults) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.TotalVotes != 0 { + n += 1 + runtime.Sov(uint64(x.TotalVotes)) + } + if x.TotalFairEnoughVotes != 0 { + n += 1 + runtime.Sov(uint64(x.TotalFairEnoughVotes)) + } + if x.TotalOverpoweredVotes != 0 { + n += 1 + runtime.Sov(uint64(x.TotalOverpoweredVotes)) + } + if x.TotalUnderpoweredVotes != 0 { + n += 1 + runtime.Sov(uint64(x.TotalUnderpoweredVotes)) + } + if x.TotalInappropriateVotes != 0 { + n += 1 + runtime.Sov(uint64(x.TotalInappropriateVotes)) + } + if len(x.CardResults) > 0 { + for _, e := range x.CardResults { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + l = len(x.Notes) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*VotingResults) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Notes) > 0 { + i -= len(x.Notes) + copy(dAtA[i:], x.Notes) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Notes))) + i-- + dAtA[i] = 0x3a + } + if len(x.CardResults) > 0 { + for iNdEx := len(x.CardResults) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.CardResults[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x32 + } + } + if x.TotalInappropriateVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalInappropriateVotes)) + i-- + dAtA[i] = 0x28 + } + if x.TotalUnderpoweredVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalUnderpoweredVotes)) + i-- + dAtA[i] = 0x20 + } + if x.TotalOverpoweredVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalOverpoweredVotes)) + i-- + dAtA[i] = 0x18 + } + if x.TotalFairEnoughVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalFairEnoughVotes)) + i-- + dAtA[i] = 0x10 + } + if x.TotalVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalVotes)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*VotingResults) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: VotingResults: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: VotingResults: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalVotes", wireType) + } + x.TotalVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TotalVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalFairEnoughVotes", wireType) + } + x.TotalFairEnoughVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TotalFairEnoughVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalOverpoweredVotes", wireType) + } + x.TotalOverpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TotalOverpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalUnderpoweredVotes", wireType) + } + x.TotalUnderpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TotalUnderpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalInappropriateVotes", wireType) + } + x.TotalInappropriateVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TotalInappropriateVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardResults", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.CardResults = append(x.CardResults, &VotingResult{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CardResults[len(x.CardResults)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Notes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Notes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_VotingResult protoreflect.MessageDescriptor + fd_VotingResult_cardId protoreflect.FieldDescriptor + fd_VotingResult_fairEnoughVotes protoreflect.FieldDescriptor + fd_VotingResult_overpoweredVotes protoreflect.FieldDescriptor + fd_VotingResult_underpoweredVotes protoreflect.FieldDescriptor + fd_VotingResult_inappropriateVotes protoreflect.FieldDescriptor + fd_VotingResult_result protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_voting_proto_init() + md_VotingResult = File_cardchain_cardchain_voting_proto.Messages().ByName("VotingResult") + fd_VotingResult_cardId = md_VotingResult.Fields().ByName("cardId") + fd_VotingResult_fairEnoughVotes = md_VotingResult.Fields().ByName("fairEnoughVotes") + fd_VotingResult_overpoweredVotes = md_VotingResult.Fields().ByName("overpoweredVotes") + fd_VotingResult_underpoweredVotes = md_VotingResult.Fields().ByName("underpoweredVotes") + fd_VotingResult_inappropriateVotes = md_VotingResult.Fields().ByName("inappropriateVotes") + fd_VotingResult_result = md_VotingResult.Fields().ByName("result") +} + +var _ protoreflect.Message = (*fastReflection_VotingResult)(nil) + +type fastReflection_VotingResult VotingResult + +func (x *VotingResult) ProtoReflect() protoreflect.Message { + return (*fastReflection_VotingResult)(x) +} + +func (x *VotingResult) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_voting_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_VotingResult_messageType fastReflection_VotingResult_messageType +var _ protoreflect.MessageType = fastReflection_VotingResult_messageType{} + +type fastReflection_VotingResult_messageType struct{} + +func (x fastReflection_VotingResult_messageType) Zero() protoreflect.Message { + return (*fastReflection_VotingResult)(nil) +} +func (x fastReflection_VotingResult_messageType) New() protoreflect.Message { + return new(fastReflection_VotingResult) +} +func (x fastReflection_VotingResult_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_VotingResult +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_VotingResult) Descriptor() protoreflect.MessageDescriptor { + return md_VotingResult +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_VotingResult) Type() protoreflect.MessageType { + return _fastReflection_VotingResult_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_VotingResult) New() protoreflect.Message { + return new(fastReflection_VotingResult) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_VotingResult) Interface() protoreflect.ProtoMessage { + return (*VotingResult)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_VotingResult) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_VotingResult_cardId, value) { + return + } + } + if x.FairEnoughVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.FairEnoughVotes) + if !f(fd_VotingResult_fairEnoughVotes, value) { + return + } + } + if x.OverpoweredVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.OverpoweredVotes) + if !f(fd_VotingResult_overpoweredVotes, value) { + return + } + } + if x.UnderpoweredVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.UnderpoweredVotes) + if !f(fd_VotingResult_underpoweredVotes, value) { + return + } + } + if x.InappropriateVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.InappropriateVotes) + if !f(fd_VotingResult_inappropriateVotes, value) { + return + } + } + if x.Result != "" { + value := protoreflect.ValueOfString(x.Result) + if !f(fd_VotingResult_result, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_VotingResult) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.VotingResult.cardId": + return x.CardId != uint64(0) + case "cardchain.cardchain.VotingResult.fairEnoughVotes": + return x.FairEnoughVotes != uint64(0) + case "cardchain.cardchain.VotingResult.overpoweredVotes": + return x.OverpoweredVotes != uint64(0) + case "cardchain.cardchain.VotingResult.underpoweredVotes": + return x.UnderpoweredVotes != uint64(0) + case "cardchain.cardchain.VotingResult.inappropriateVotes": + return x.InappropriateVotes != uint64(0) + case "cardchain.cardchain.VotingResult.result": + return x.Result != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResult")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResult does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_VotingResult) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.VotingResult.cardId": + x.CardId = uint64(0) + case "cardchain.cardchain.VotingResult.fairEnoughVotes": + x.FairEnoughVotes = uint64(0) + case "cardchain.cardchain.VotingResult.overpoweredVotes": + x.OverpoweredVotes = uint64(0) + case "cardchain.cardchain.VotingResult.underpoweredVotes": + x.UnderpoweredVotes = uint64(0) + case "cardchain.cardchain.VotingResult.inappropriateVotes": + x.InappropriateVotes = uint64(0) + case "cardchain.cardchain.VotingResult.result": + x.Result = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResult")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResult does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_VotingResult) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.VotingResult.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResult.fairEnoughVotes": + value := x.FairEnoughVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResult.overpoweredVotes": + value := x.OverpoweredVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResult.underpoweredVotes": + value := x.UnderpoweredVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResult.inappropriateVotes": + value := x.InappropriateVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResult.result": + value := x.Result + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResult")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResult does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_VotingResult) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.VotingResult.cardId": + x.CardId = value.Uint() + case "cardchain.cardchain.VotingResult.fairEnoughVotes": + x.FairEnoughVotes = value.Uint() + case "cardchain.cardchain.VotingResult.overpoweredVotes": + x.OverpoweredVotes = value.Uint() + case "cardchain.cardchain.VotingResult.underpoweredVotes": + x.UnderpoweredVotes = value.Uint() + case "cardchain.cardchain.VotingResult.inappropriateVotes": + x.InappropriateVotes = value.Uint() + case "cardchain.cardchain.VotingResult.result": + x.Result = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResult")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResult does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_VotingResult) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.VotingResult.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.VotingResult is not mutable")) + case "cardchain.cardchain.VotingResult.fairEnoughVotes": + panic(fmt.Errorf("field fairEnoughVotes of message cardchain.cardchain.VotingResult is not mutable")) + case "cardchain.cardchain.VotingResult.overpoweredVotes": + panic(fmt.Errorf("field overpoweredVotes of message cardchain.cardchain.VotingResult is not mutable")) + case "cardchain.cardchain.VotingResult.underpoweredVotes": + panic(fmt.Errorf("field underpoweredVotes of message cardchain.cardchain.VotingResult is not mutable")) + case "cardchain.cardchain.VotingResult.inappropriateVotes": + panic(fmt.Errorf("field inappropriateVotes of message cardchain.cardchain.VotingResult is not mutable")) + case "cardchain.cardchain.VotingResult.result": + panic(fmt.Errorf("field result of message cardchain.cardchain.VotingResult is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResult")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResult does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_VotingResult) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.VotingResult.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResult.fairEnoughVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResult.overpoweredVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResult.underpoweredVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResult.inappropriateVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResult.result": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResult")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResult does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_VotingResult) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.VotingResult", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_VotingResult) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_VotingResult) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_VotingResult) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_VotingResult) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*VotingResult) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.FairEnoughVotes != 0 { + n += 1 + runtime.Sov(uint64(x.FairEnoughVotes)) + } + if x.OverpoweredVotes != 0 { + n += 1 + runtime.Sov(uint64(x.OverpoweredVotes)) + } + if x.UnderpoweredVotes != 0 { + n += 1 + runtime.Sov(uint64(x.UnderpoweredVotes)) + } + if x.InappropriateVotes != 0 { + n += 1 + runtime.Sov(uint64(x.InappropriateVotes)) + } + l = len(x.Result) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*VotingResult) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Result) > 0 { + i -= len(x.Result) + copy(dAtA[i:], x.Result) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Result))) + i-- + dAtA[i] = 0x32 + } + if x.InappropriateVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.InappropriateVotes)) + i-- + dAtA[i] = 0x28 + } + if x.UnderpoweredVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.UnderpoweredVotes)) + i-- + dAtA[i] = 0x20 + } + if x.OverpoweredVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.OverpoweredVotes)) + i-- + dAtA[i] = 0x18 + } + if x.FairEnoughVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.FairEnoughVotes)) + i-- + dAtA[i] = 0x10 + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*VotingResult) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: VotingResult: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: VotingResult: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field FairEnoughVotes", wireType) + } + x.FairEnoughVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.FairEnoughVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OverpoweredVotes", wireType) + } + x.OverpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.OverpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field UnderpoweredVotes", wireType) + } + x.UnderpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.UnderpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field InappropriateVotes", wireType) + } + x.InappropriateVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.InappropriateVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Result", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Result = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_SingleVote protoreflect.MessageDescriptor + fd_SingleVote_cardId protoreflect.FieldDescriptor + fd_SingleVote_voteType protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_voting_proto_init() + md_SingleVote = File_cardchain_cardchain_voting_proto.Messages().ByName("SingleVote") + fd_SingleVote_cardId = md_SingleVote.Fields().ByName("cardId") + fd_SingleVote_voteType = md_SingleVote.Fields().ByName("voteType") +} + +var _ protoreflect.Message = (*fastReflection_SingleVote)(nil) + +type fastReflection_SingleVote SingleVote + +func (x *SingleVote) ProtoReflect() protoreflect.Message { + return (*fastReflection_SingleVote)(x) +} + +func (x *SingleVote) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_voting_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_SingleVote_messageType fastReflection_SingleVote_messageType +var _ protoreflect.MessageType = fastReflection_SingleVote_messageType{} + +type fastReflection_SingleVote_messageType struct{} + +func (x fastReflection_SingleVote_messageType) Zero() protoreflect.Message { + return (*fastReflection_SingleVote)(nil) +} +func (x fastReflection_SingleVote_messageType) New() protoreflect.Message { + return new(fastReflection_SingleVote) +} +func (x fastReflection_SingleVote_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_SingleVote +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_SingleVote) Descriptor() protoreflect.MessageDescriptor { + return md_SingleVote +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_SingleVote) Type() protoreflect.MessageType { + return _fastReflection_SingleVote_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_SingleVote) New() protoreflect.Message { + return new(fastReflection_SingleVote) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_SingleVote) Interface() protoreflect.ProtoMessage { + return (*SingleVote)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_SingleVote) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_SingleVote_cardId, value) { + return + } + } + if x.VoteType != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.VoteType)) + if !f(fd_SingleVote_voteType, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_SingleVote) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.SingleVote.cardId": + return x.CardId != uint64(0) + case "cardchain.cardchain.SingleVote.voteType": + return x.VoteType != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SingleVote")) + } + panic(fmt.Errorf("message cardchain.cardchain.SingleVote does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SingleVote) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.SingleVote.cardId": + x.CardId = uint64(0) + case "cardchain.cardchain.SingleVote.voteType": + x.VoteType = 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SingleVote")) + } + panic(fmt.Errorf("message cardchain.cardchain.SingleVote does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_SingleVote) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.SingleVote.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.SingleVote.voteType": + value := x.VoteType + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SingleVote")) + } + panic(fmt.Errorf("message cardchain.cardchain.SingleVote does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SingleVote) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.SingleVote.cardId": + x.CardId = value.Uint() + case "cardchain.cardchain.SingleVote.voteType": + x.VoteType = (VoteType)(value.Enum()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SingleVote")) + } + panic(fmt.Errorf("message cardchain.cardchain.SingleVote does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SingleVote) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.SingleVote.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.SingleVote is not mutable")) + case "cardchain.cardchain.SingleVote.voteType": + panic(fmt.Errorf("field voteType of message cardchain.cardchain.SingleVote is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SingleVote")) + } + panic(fmt.Errorf("message cardchain.cardchain.SingleVote does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_SingleVote) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.SingleVote.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.SingleVote.voteType": + return protoreflect.ValueOfEnum(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SingleVote")) + } + panic(fmt.Errorf("message cardchain.cardchain.SingleVote does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_SingleVote) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.SingleVote", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_SingleVote) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SingleVote) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_SingleVote) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_SingleVote) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*SingleVote) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.VoteType != 0 { + n += 1 + runtime.Sov(uint64(x.VoteType)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*SingleVote) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.VoteType != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.VoteType)) + i-- + dAtA[i] = 0x10 + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*SingleVote) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: SingleVote: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: SingleVote: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VoteType", wireType) + } + x.VoteType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.VoteType |= VoteType(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/voting.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type VoteType int32 + +const ( + VoteType_fairEnough VoteType = 0 + VoteType_inappropriate VoteType = 1 + VoteType_overpowered VoteType = 2 + VoteType_underpowered VoteType = 3 +) + +// Enum value maps for VoteType. +var ( + VoteType_name = map[int32]string{ + 0: "fairEnough", + 1: "inappropriate", + 2: "overpowered", + 3: "underpowered", + } + VoteType_value = map[string]int32{ + "fairEnough": 0, + "inappropriate": 1, + "overpowered": 2, + "underpowered": 3, + } +) + +func (x VoteType) Enum() *VoteType { + p := new(VoteType) + *p = x + return p +} + +func (x VoteType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VoteType) Descriptor() protoreflect.EnumDescriptor { + return file_cardchain_cardchain_voting_proto_enumTypes[0].Descriptor() +} + +func (VoteType) Type() protoreflect.EnumType { + return &file_cardchain_cardchain_voting_proto_enumTypes[0] +} + +func (x VoteType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use VoteType.Descriptor instead. +func (VoteType) EnumDescriptor() ([]byte, []int) { + return file_cardchain_cardchain_voting_proto_rawDescGZIP(), []int{0} +} + +type VotingResults struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 (x *VotingResults) Reset() { + *x = VotingResults{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_voting_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VotingResults) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VotingResults) ProtoMessage() {} + +// Deprecated: Use VotingResults.ProtoReflect.Descriptor instead. +func (*VotingResults) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_voting_proto_rawDescGZIP(), []int{0} +} + +func (x *VotingResults) GetTotalVotes() uint64 { + if x != nil { + return x.TotalVotes + } + return 0 +} + +func (x *VotingResults) GetTotalFairEnoughVotes() uint64 { + if x != nil { + return x.TotalFairEnoughVotes + } + return 0 +} + +func (x *VotingResults) GetTotalOverpoweredVotes() uint64 { + if x != nil { + return x.TotalOverpoweredVotes + } + return 0 +} + +func (x *VotingResults) GetTotalUnderpoweredVotes() uint64 { + if x != nil { + return x.TotalUnderpoweredVotes + } + return 0 +} + +func (x *VotingResults) GetTotalInappropriateVotes() uint64 { + if x != nil { + return x.TotalInappropriateVotes + } + return 0 +} + +func (x *VotingResults) GetCardResults() []*VotingResult { + if x != nil { + return x.CardResults + } + return nil +} + +func (x *VotingResults) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +type VotingResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 (x *VotingResult) Reset() { + *x = VotingResult{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_voting_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VotingResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VotingResult) ProtoMessage() {} + +// Deprecated: Use VotingResult.ProtoReflect.Descriptor instead. +func (*VotingResult) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_voting_proto_rawDescGZIP(), []int{1} +} + +func (x *VotingResult) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *VotingResult) GetFairEnoughVotes() uint64 { + if x != nil { + return x.FairEnoughVotes + } + return 0 +} + +func (x *VotingResult) GetOverpoweredVotes() uint64 { + if x != nil { + return x.OverpoweredVotes + } + return 0 +} + +func (x *VotingResult) GetUnderpoweredVotes() uint64 { + if x != nil { + return x.UnderpoweredVotes + } + return 0 +} + +func (x *VotingResult) GetInappropriateVotes() uint64 { + if x != nil { + return x.InappropriateVotes + } + return 0 +} + +func (x *VotingResult) GetResult() string { + if x != nil { + return x.Result + } + return "" +} + +type SingleVote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` + VoteType VoteType `protobuf:"varint,2,opt,name=voteType,proto3,enum=cardchain.cardchain.VoteType" json:"voteType,omitempty"` +} + +func (x *SingleVote) Reset() { + *x = SingleVote{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_voting_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SingleVote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SingleVote) ProtoMessage() {} + +// Deprecated: Use SingleVote.ProtoReflect.Descriptor instead. +func (*SingleVote) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_voting_proto_rawDescGZIP(), []int{2} +} + +func (x *SingleVote) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *SingleVote) GetVoteType() VoteType { + if x != nil { + return x.VoteType + } + return VoteType_fairEnough +} + +var File_cardchain_cardchain_voting_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_voting_proto_rawDesc = []byte{ + 0x0a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x22, 0xe6, 0x02, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x46, 0x61, 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x61, + 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x34, 0x0a, + 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, + 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, + 0x74, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x64, 0x65, + 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x70, + 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x17, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, + 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, + 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x63, + 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, + 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, + 0x22, 0xf2, 0x01, 0x0a, 0x0c, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x61, 0x69, + 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, + 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6f, + 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, + 0x2c, 0x0a, 0x11, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, + 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x75, 0x6e, 0x64, 0x65, + 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, + 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x56, 0x6f, + 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x5f, 0x0a, 0x0a, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, + 0x6f, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x08, 0x76, + 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x56, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x76, 0x6f, + 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2a, 0x50, 0x0a, 0x08, 0x56, 0x6f, 0x74, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x66, 0x61, 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, + 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, + 0x61, 0x74, 0x65, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, + 0x65, 0x72, 0x65, 0x64, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x70, + 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x10, 0x03, 0x42, 0xd3, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0b, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, + 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_voting_proto_rawDescOnce sync.Once + file_cardchain_cardchain_voting_proto_rawDescData = file_cardchain_cardchain_voting_proto_rawDesc +) + +func file_cardchain_cardchain_voting_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_voting_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_voting_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_voting_proto_rawDescData) + }) + return file_cardchain_cardchain_voting_proto_rawDescData +} + +var file_cardchain_cardchain_voting_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_cardchain_cardchain_voting_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_cardchain_cardchain_voting_proto_goTypes = []interface{}{ + (VoteType)(0), // 0: cardchain.cardchain.VoteType + (*VotingResults)(nil), // 1: cardchain.cardchain.VotingResults + (*VotingResult)(nil), // 2: cardchain.cardchain.VotingResult + (*SingleVote)(nil), // 3: cardchain.cardchain.SingleVote +} +var file_cardchain_cardchain_voting_proto_depIdxs = []int32{ + 2, // 0: cardchain.cardchain.VotingResults.cardResults:type_name -> cardchain.cardchain.VotingResult + 0, // 1: cardchain.cardchain.SingleVote.voteType:type_name -> cardchain.cardchain.VoteType + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_voting_proto_init() } +func file_cardchain_cardchain_voting_proto_init() { + if File_cardchain_cardchain_voting_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_voting_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VotingResults); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_voting_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VotingResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_voting_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SingleVote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_voting_proto_rawDesc, + NumEnums: 1, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_voting_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_voting_proto_depIdxs, + EnumInfos: file_cardchain_cardchain_voting_proto_enumTypes, + MessageInfos: file_cardchain_cardchain_voting_proto_msgTypes, + }.Build() + File_cardchain_cardchain_voting_proto = out.File + file_cardchain_cardchain_voting_proto_rawDesc = nil + file_cardchain_cardchain_voting_proto_goTypes = nil + file_cardchain_cardchain_voting_proto_depIdxs = nil +} diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 4b01143a..5fc0c7c5 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.auth.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the x/auth module\nparameters. The authority defaults to the x/gov module account.","operationId":"FeegrantMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","operationId":"FeegrantMsg_Exec","parameters":[{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Grant":{"post":{"tags":["Msg"],"summary":"Grant grants the provided authorization to the grantee on the granter's\naccount with the provided expiration time. If there is already a grant\nfor the given (granter, grantee, Authorization) triple, then the grant\nwill be overwritten.","operationId":"FeegrantMsg_Grant","parameters":[{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Revoke":{"post":{"tags":["Msg"],"summary":"Revoke revokes any authorization corresponding to the provided method name on the\ngranter's account that has been granted to the grantee.","operationId":"FeegrantMsg_Revoke","parameters":[{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevokeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.autocli.v1.Query/AppOptions":{"post":{"tags":["Query"],"summary":"AppOptions returns the autocli options for all of the modules in an app.","operationId":"FeegrantQuery_AppOptions","parameters":[{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/MultiSend":{"post":{"tags":["Msg"],"summary":"MultiSend defines a method for sending coins from some accounts to other accounts.","operationId":"FeegrantMsg_MultiSend","parameters":[{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method for sending coins from one account to another account.","operationId":"FeegrantMsg_Send","parameters":[{"description":"MsgSend represents a message to send coins from one account to another.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/SetSendEnabled":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"SetSendEnabled is a governance operation for setting the SendEnabled flag\non any number of Denoms. Only the entries to add or update should be\nincluded. Entries that already exist in the store, but that aren't\nincluded in this message, will be left unchanged.","operationId":"FeegrantMsg_SetSendEnabled","parameters":[{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabled"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/bank module parameters.\nThe authority is defined in the keeper.","operationId":"FeegrantMsg_UpdateParamsMixin67","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/AuthorizeCircuitBreaker":{"post":{"tags":["Msg"],"summary":"AuthorizeCircuitBreaker allows a super-admin to grant (or revoke) another\naccount's circuit breaker permissions.","operationId":"FeegrantMsg_AuthorizeCircuitBreaker","parameters":[{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/ResetCircuitBreaker":{"post":{"tags":["Msg"],"summary":"ResetCircuitBreaker resumes processing of Msg's in the state machine that\nhave been been paused using TripCircuitBreaker.","operationId":"FeegrantMsg_ResetCircuitBreaker","parameters":[{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/TripCircuitBreaker":{"post":{"tags":["Msg"],"summary":"TripCircuitBreaker pauses processing of Msg's in the state machine.","operationId":"FeegrantMsg_TripCircuitBreaker","parameters":[{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.consensus.v1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/consensus module parameters.\nThe authority is defined in the keeper.","operationId":"FeegrantMsg_UpdateParamsMixin80","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/crisis module\nparameters. The authority is defined in the keeper.","operationId":"FeegrantMsg_UpdateParamsMixin82","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/VerifyInvariant":{"post":{"tags":["Msg"],"summary":"VerifyInvariant defines a method to verify a particular invariant.","operationId":"FeegrantMsg_VerifyInvariant","parameters":[{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/CommunityPoolSpend":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"CommunityPoolSpend defines a governance operation for sending tokens from\nthe community pool in the x/distribution module to another account, which\ncould be the governance module itself. The authority is defined in the\nkeeper.","operationId":"FeegrantMsg_CommunityPoolSpend","parameters":[{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/DepositValidatorRewardsPool":{"post":{"description":"Since: cosmos-sdk 0.50","tags":["Msg"],"summary":"DepositValidatorRewardsPool defines a method to provide additional rewards\nto delegators to a specific validator.","operationId":"FeegrantMsg_DepositValidatorRewardsPool","parameters":[{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.\n\nSince: cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/FundCommunityPool":{"post":{"tags":["Msg"],"summary":"FundCommunityPool defines a method to allow an account to directly\nfund the community pool.","operationId":"FeegrantMsg_FundCommunityPool","parameters":[{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/SetWithdrawAddress":{"post":{"tags":["Msg"],"summary":"SetWithdrawAddress defines a method to change the withdraw address\nfor a delegator (or validator self-delegation).","operationId":"FeegrantMsg_SetWithdrawAddress","parameters":[{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/distribution\nmodule parameters. The authority is defined in the keeper.","operationId":"FeegrantMsg_UpdateParamsMixin93","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward":{"post":{"tags":["Msg"],"summary":"WithdrawDelegatorReward defines a method to withdraw rewards of delegator\nfrom a single validator.","operationId":"FeegrantMsg_WithdrawDelegatorReward","parameters":[{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission":{"post":{"tags":["Msg"],"summary":"WithdrawValidatorCommission defines a method to withdraw the\nfull commission to the validator address.","operationId":"FeegrantMsg_WithdrawValidatorCommission","parameters":[{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.evidence.v1beta1.Msg/SubmitEvidence":{"post":{"tags":["Msg"],"summary":"SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or\ncounterfactual signing.","operationId":"FeegrantMsg_SubmitEvidence","parameters":[{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidence"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/GrantAllowance":{"post":{"tags":["Msg"],"summary":"GrantAllowance grants fee allowance to the grantee on the granter's\naccount with the provided expiration time.","operationId":"FeegrantMsg_GrantAllowance","parameters":[{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/PruneAllowances":{"post":{"description":"Since cosmos-sdk 0.50","tags":["Msg"],"summary":"PruneAllowances prunes expired fee allowances, currently up to 75 at a time.","operationId":"FeegrantMsg_PruneAllowances","parameters":[{"description":"MsgPruneAllowances prunes expired fee allowances.\n\nSince cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowances"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/RevokeAllowance":{"post":{"tags":["Msg"],"summary":"RevokeAllowance revokes any fee allowance of granter's account that\nhas been granted to the grantee.","operationId":"FeegrantMsg_RevokeAllowance","parameters":[{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/CancelProposal":{"post":{"description":"Since: cosmos-sdk 0.50","tags":["Msg"],"summary":"CancelProposal defines a method to cancel governance proposal","operationId":"FeegrantMsg_CancelProposal","parameters":[{"description":"MsgCancelProposal is the Msg/CancelProposal request type.\n\nSince: cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"FeegrantMsg_Deposit","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/ExecLegacyContent":{"post":{"tags":["Msg"],"summary":"ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal\nto execute a legacy content-based proposal.","operationId":"FeegrantMsg_ExecLegacyContent","parameters":[{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given the messages.","operationId":"FeegrantMsg_SubmitProposal","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/gov module\nparameters. The authority is defined in the keeper.","operationId":"FeegrantMsg_UpdateParamsMixin106","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"FeegrantMsg_Vote","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/VoteWeighted":{"post":{"tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"FeegrantMsg_VoteWeighted","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"FeegrantMsg_DepositMixin110","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given a content.","operationId":"FeegrantMsg_SubmitProposalMixin110","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"FeegrantMsg_VoteMixin110","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/VoteWeighted":{"post":{"description":"Since: cosmos-sdk 0.43","tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"FeegrantMsg_VoteWeightedMixin110","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.\n\nSince: cosmos-sdk 0.43","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroup":{"post":{"tags":["Msg"],"summary":"CreateGroup creates a new group with an admin account address, a list of members and some optional metadata.","operationId":"FeegrantMsg_CreateGroup","parameters":[{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupPolicy creates a new group policy using given DecisionPolicy.","operationId":"FeegrantMsg_CreateGroupPolicy","parameters":[{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupWithPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupWithPolicy creates a new group with policy.","operationId":"FeegrantMsg_CreateGroupWithPolicy","parameters":[{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec executes a proposal.","operationId":"FeegrantMsg_ExecMixin114","parameters":[{"description":"MsgExec is the Msg/Exec request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/LeaveGroup":{"post":{"tags":["Msg"],"summary":"LeaveGroup allows a group member to leave the group.","operationId":"FeegrantMsg_LeaveGroup","parameters":[{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal submits a new proposal.","operationId":"FeegrantMsg_SubmitProposalMixin114","parameters":[{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupAdmin updates the group admin with given group id and previous admin address.","operationId":"FeegrantMsg_UpdateGroupAdmin","parameters":[{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMembers":{"post":{"tags":["Msg"],"summary":"UpdateGroupMembers updates the group members with given group id and admin address.","operationId":"FeegrantMsg_UpdateGroupMembers","parameters":[{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembers"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupMetadata updates the group metadata with given group id and admin address.","operationId":"FeegrantMsg_UpdateGroupMetadata","parameters":[{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyAdmin updates a group policy admin.","operationId":"FeegrantMsg_UpdateGroupPolicyAdmin","parameters":[{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyDecisionPolicy":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyDecisionPolicy allows a group policy's decision policy to be updated.","operationId":"FeegrantMsg_UpdateGroupPolicyDecisionPolicy","parameters":[{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyMetadata updates a group policy metadata.","operationId":"FeegrantMsg_UpdateGroupPolicyMetadata","parameters":[{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote allows a voter to vote on a proposal.","operationId":"FeegrantMsg_VoteMixin114","parameters":[{"description":"MsgVote is the Msg/Vote request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/WithdrawProposal":{"post":{"tags":["Msg"],"summary":"WithdrawProposal withdraws a proposal.","operationId":"FeegrantMsg_WithdrawProposal","parameters":[{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.mint.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/mint module\nparameters. The authority is defaults to the x/gov module account.","operationId":"FeegrantMsg_UpdateParamsMixin119","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.nft.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method to send a nft from one account to another account.","operationId":"FeegrantMsg_SendMixin125","parameters":[{"description":"MsgSend represents a message to send a nft from one account to another account.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/Unjail":{"post":{"tags":["Msg"],"summary":"Unjail defines a method for unjailing a jailed validator, thus returning\nthem into the bonded validator set, so they can begin receiving provisions\nand rewards again.","operationId":"FeegrantMsg_Unjail","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjail"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjailResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/slashing module\nparameters. The authority defaults to the x/gov module account.","operationId":"FeegrantMsg_UpdateParamsMixin132","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/BeginRedelegate":{"post":{"tags":["Msg"],"summary":"BeginRedelegate defines a method for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","operationId":"FeegrantMsg_BeginRedelegate","parameters":[{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CancelUnbondingDelegation defines a method for performing canceling the unbonding delegation\nand delegate back to previous validator.","operationId":"FeegrantMsg_CancelUnbondingDelegation","parameters":[{"description":"Since: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CreateValidator":{"post":{"tags":["Msg"],"summary":"CreateValidator defines a method for creating a new validator.","operationId":"FeegrantMsg_CreateValidator","parameters":[{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Delegate":{"post":{"tags":["Msg"],"summary":"Delegate defines a method for performing a delegation of coins\nfrom a delegator to a validator.","operationId":"FeegrantMsg_Delegate","parameters":[{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/EditValidator":{"post":{"tags":["Msg"],"summary":"EditValidator defines a method for editing an existing validator.","operationId":"FeegrantMsg_EditValidator","parameters":[{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Undelegate":{"post":{"tags":["Msg"],"summary":"Undelegate defines a method for performing an undelegation from a\ndelegate and a validator.","operationId":"FeegrantMsg_Undelegate","parameters":[{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines an operation for updating the x/staking module\nparameters.\nSince: cosmos-sdk 0.47","operationId":"FeegrantMsg_UpdateParamsMixin137","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenCommit":{"post":{"tags":["ABCIListenerService"],"summary":"ListenCommit is the corresponding endpoint for ABCIListener.ListenCommit","operationId":"FeegrantABCIListenerService_ListenCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenFinalizeBlock":{"post":{"tags":["ABCIListenerService"],"summary":"ListenFinalizeBlock is the corresponding endpoint for ABCIListener.ListenEndBlock","operationId":"FeegrantABCIListenerService_ListenFinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/CancelUpgrade":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CancelUpgrade is a governance operation for cancelling a previously\napproved software upgrade.","operationId":"FeegrantMsg_CancelUpgrade","parameters":[{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/SoftwareUpgrade":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"SoftwareUpgrade is a governance operation for initiating a software upgrade.","operationId":"FeegrantMsg_SoftwareUpgrade","parameters":[{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePeriodicVestingAccount":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CreatePeriodicVestingAccount defines a method that enables creating a\nperiodic vesting account.","operationId":"FeegrantMsg_CreatePeriodicVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePermanentLockedAccount":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CreatePermanentLockedAccount defines a method that enables creating a permanent\nlocked account.","operationId":"FeegrantMsg_CreatePermanentLockedAccount","parameters":[{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreateVestingAccount":{"post":{"tags":["Msg"],"summary":"CreateVestingAccount defines a method that enables creating a vesting\naccount.","operationId":"FeegrantMsg_CreateVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/account_info/{address}":{"get":{"description":"Since: cosmos-sdk 0.47","tags":["Query"],"summary":"AccountInfo queries account info which is common to all account types.","operationId":"FeegrantQuery_AccountInfo","parameters":[{"type":"string","description":"address is the account address string.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.43","tags":["Query"],"summary":"Accounts returns all the existing accounts.","operationId":"FeegrantQuery_Accounts","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account details based on address.","operationId":"FeegrantQuery_Account","parameters":[{"type":"string","description":"address defines the address to query for.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/address_by_id/{id}":{"get":{"description":"Since: cosmos-sdk 0.46.2","tags":["Query"],"summary":"AccountAddressByID returns account address based on account number.","operationId":"FeegrantQuery_AccountAddressByID","parameters":[{"type":"string","format":"int64","description":"Deprecated, use account_id instead\n\nid is the account number of the address to be queried. This field\nshould have been an uint64 (like all account numbers), and will be\nupdated to uint64 in a future version of the auth query.","name":"id","in":"path","required":true},{"type":"string","format":"uint64","description":"account_id is the account number of the address to be queried.\n\nSince: cosmos-sdk 0.47","name":"account_id","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountAddressByIDResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Bech32Prefix queries bech32Prefix","operationId":"FeegrantQuery_Bech32Prefix","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.Bech32PrefixResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_bytes}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AddressBytesToString converts Account Address bytes to string","operationId":"FeegrantQuery_AddressBytesToString","parameters":[{"type":"string","format":"byte","name":"address_bytes","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressBytesToStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_string}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AddressStringToBytes converts Address string to bytes","operationId":"FeegrantQuery_AddressStringToBytes","parameters":[{"type":"string","name":"address_string","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressStringToBytesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"ModuleAccounts returns all the existing module accounts.","operationId":"FeegrantQuery_ModuleAccounts","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts/{name}":{"get":{"tags":["Query"],"summary":"ModuleAccountByName returns the module account info by module name","operationId":"FeegrantQuery_ModuleAccountByName","parameters":[{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountByNameResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters.","operationId":"FeegrantQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants":{"get":{"tags":["Query"],"summary":"Returns list of `Authorization`, granted to the grantee by the granter.","operationId":"FeegrantQuery_Grants","parameters":[{"type":"string","name":"granter","in":"query"},{"type":"string","name":"grantee","in":"query"},{"type":"string","description":"Optional, msg_type_url, when set, will query only grants matching given msg type.","name":"msg_type_url","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/grantee/{grantee}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"GranteeGrants returns a list of `GrantAuthorization` by grantee.","operationId":"FeegrantQuery_GranteeGrants","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranteeGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/granter/{granter}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"GranterGrants returns list of `GrantAuthorization`, granted by granter.","operationId":"FeegrantQuery_GranterGrants","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranterGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"AllBalances queries the balance of all coins for a single account.","operationId":"FeegrantQuery_AllBalances","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"boolean","description":"resolve_denom is the flag to resolve the denom into a human-readable form from the metadata.\n\nSince: cosmos-sdk 0.50","name":"resolve_denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryAllBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}/by_denom":{"get":{"tags":["Query"],"summary":"Balance queries the balance of a single coin for a single account.","operationId":"FeegrantQuery_Balance","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners/{denom}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46","tags":["Query"],"summary":"DenomOwners queries for all account addresses that own a particular token\ndenomination.","operationId":"FeegrantQuery_DenomOwners","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners_by_query":{"get":{"description":"Since: cosmos-sdk 0.50.3","tags":["Query"],"summary":"DenomOwnersByQuery queries for all account addresses that own a particular token\ndenomination.","operationId":"FeegrantQuery_DenomOwnersByQuery","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata":{"get":{"tags":["Query"],"summary":"DenomsMetadata queries the client metadata for all registered coin\ndenominations.","operationId":"FeegrantQuery_DenomsMetadata","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomsMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata/{denom}":{"get":{"tags":["Query"],"summary":"DenomMetadata queries the client metadata of a given coin denomination.","operationId":"FeegrantQuery_DenomMetadata","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata_by_query_string":{"get":{"tags":["Query"],"summary":"DenomMetadataByQueryString queries the client metadata of a given coin denomination.","operationId":"FeegrantQuery_DenomMetadataByQueryString","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/bank module.","operationId":"FeegrantQuery_ParamsMixin66","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/send_enabled":{"get":{"description":"This query only returns denominations that have specific SendEnabled settings.\nAny denomination that does not have a specific setting will use the default\nparams.default_send_enabled, and will not be returned by this query.\n\nSince: cosmos-sdk 0.47","tags":["Query"],"summary":"SendEnabled queries for SendEnabled entries.","operationId":"FeegrantQuery_SendEnabled","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"denoms is the specific denoms you want look up. Leave empty to get all entries.","name":"denoms","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46","tags":["Query"],"summary":"SpendableBalances queries the spendable balance of all coins for a single\naccount.","operationId":"FeegrantQuery_SpendableBalances","parameters":[{"type":"string","description":"address is the address to query spendable balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.47","tags":["Query"],"summary":"SpendableBalanceByDenom queries the spendable balance of a single denom for\na single account.","operationId":"FeegrantQuery_SpendableBalanceByDenom","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"TotalSupply queries the total supply of all coins.","operationId":"FeegrantQuery_TotalSupply","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryTotalSupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"SupplyOf queries the supply of a single coin.","operationId":"FeegrantQuery_SupplyOf","parameters":[{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySupplyOfResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/config":{"get":{"tags":["Service"],"summary":"Config queries for the operator configuration.","operationId":"FeegrantService_Config","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.ConfigResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/status":{"get":{"tags":["Service"],"summary":"Status queries for the node status.","operationId":"FeegrantService_Status","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.StatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/authn":{"get":{"tags":["ReflectionService"],"summary":"GetAuthnDescriptor returns information on how to authenticate transactions in the application\nNOTE: this RPC is still experimental and might be subject to breaking changes or removal in\nfuture releases of the cosmos-sdk.","operationId":"FeegrantReflectionService_GetAuthnDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/chain":{"get":{"tags":["ReflectionService"],"summary":"GetChainDescriptor returns the description of the chain","operationId":"FeegrantReflectionService_GetChainDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/codec":{"get":{"tags":["ReflectionService"],"summary":"GetCodecDescriptor returns the descriptor of the codec of the application","operationId":"FeegrantReflectionService_GetCodecDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/configuration":{"get":{"tags":["ReflectionService"],"summary":"GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application","operationId":"FeegrantReflectionService_GetConfigurationDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/query_services":{"get":{"tags":["ReflectionService"],"summary":"GetQueryServicesDescriptor returns the available gRPC queryable services of the application","operationId":"FeegrantReflectionService_GetQueryServicesDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/tx_descriptor":{"get":{"tags":["ReflectionService"],"summary":"GetTxDescriptor returns information on the used transaction object and available msgs that can be used","operationId":"FeegrantReflectionService_GetTxDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces":{"get":{"tags":["ReflectionService"],"summary":"ListAllInterfaces lists all the interfaces registered in the interface\nregistry.","operationId":"FeegrantReflectionService_ListAllInterfaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListAllInterfacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces/{interface_name}/implementations":{"get":{"tags":["ReflectionService"],"summary":"ListImplementations list all the concrete types that implement a given\ninterface.","operationId":"FeegrantReflectionService_ListImplementations","parameters":[{"type":"string","description":"interface_name defines the interface to query the implementations for.","name":"interface_name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListImplementationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/abci_query":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Service"],"summary":"ABCIQuery defines a query handler that supports ABCI queries directly to the\napplication, bypassing Tendermint completely. The ABCI query must contain\na valid and supported path, including app, custom, p2p, and store.","operationId":"FeegrantService_ABCIQuery","parameters":[{"type":"string","format":"byte","name":"data","in":"query"},{"type":"string","name":"path","in":"query"},{"type":"string","format":"int64","name":"height","in":"query"},{"type":"boolean","name":"prove","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ABCIQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/latest":{"get":{"tags":["Service"],"summary":"GetLatestBlock returns the latest block.","operationId":"FeegrantService_GetLatestBlock","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/{height}":{"get":{"tags":["Service"],"summary":"GetBlockByHeight queries block for given height.","operationId":"FeegrantService_GetBlockByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/node_info":{"get":{"tags":["Service"],"summary":"GetNodeInfo queries the current node info.","operationId":"FeegrantService_GetNodeInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetNodeInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/syncing":{"get":{"tags":["Service"],"summary":"GetSyncing queries node syncing.","operationId":"FeegrantService_GetSyncing","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetSyncingResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/latest":{"get":{"tags":["Service"],"summary":"GetLatestValidatorSet queries latest validator-set.","operationId":"FeegrantService_GetLatestValidatorSet","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/{height}":{"get":{"tags":["Service"],"summary":"GetValidatorSetByHeight queries validator-set at a given height.","operationId":"FeegrantService_GetValidatorSetByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"FeegrantQuery_AccountsMixin76","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"FeegrantQuery_AccountMixin76","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/disable_list":{"get":{"tags":["Query"],"summary":"DisabledList returns a list of disabled message urls","operationId":"FeegrantQuery_DisabledList","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.DisabledListResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/consensus/v1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/consensus module.","operationId":"FeegrantQuery_ParamsMixin79","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/community_pool":{"get":{"tags":["Query"],"summary":"CommunityPool queries the community pool coins.","operationId":"FeegrantQuery_CommunityPool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards":{"get":{"tags":["Query"],"summary":"DelegationTotalRewards queries the total rewards accrued by each\nvalidator.","operationId":"FeegrantQuery_DelegationTotalRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}":{"get":{"tags":["Query"],"summary":"DelegationRewards queries the total rewards accrued by a delegation.","operationId":"FeegrantQuery_DelegationRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true},{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators":{"get":{"tags":["Query"],"summary":"DelegatorValidators queries the validators of a delegator.","operationId":"FeegrantQuery_DelegatorValidators","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address":{"get":{"tags":["Query"],"summary":"DelegatorWithdrawAddress queries withdraw address of a delegator.","operationId":"FeegrantQuery_DelegatorWithdrawAddress","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries params of the distribution module.","operationId":"FeegrantQuery_ParamsMixin92","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}":{"get":{"tags":["Query"],"summary":"ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator","operationId":"FeegrantQuery_ValidatorDistributionInfo","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/commission":{"get":{"tags":["Query"],"summary":"ValidatorCommission queries accumulated commission for a validator.","operationId":"FeegrantQuery_ValidatorCommission","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards":{"get":{"tags":["Query"],"summary":"ValidatorOutstandingRewards queries rewards of a validator address.","operationId":"FeegrantQuery_ValidatorOutstandingRewards","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/slashes":{"get":{"tags":["Query"],"summary":"ValidatorSlashes queries slash events of a validator.","operationId":"FeegrantQuery_ValidatorSlashes","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true},{"type":"string","format":"uint64","description":"starting_height defines the optional starting height to query the slashes.","name":"starting_height","in":"query"},{"type":"string","format":"uint64","description":"starting_height defines the optional ending height to query the slashes.","name":"ending_height","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorSlashesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence":{"get":{"tags":["Query"],"summary":"AllEvidence queries all evidence.","operationId":"FeegrantQuery_AllEvidence","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryAllEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence/{hash}":{"get":{"tags":["Query"],"summary":"Evidence queries evidence based on evidence hash.","operationId":"FeegrantQuery_Evidence","parameters":[{"type":"string","description":"hash defines the evidence hash of the requested evidence.\n\nSince: cosmos-sdk 0.47","name":"hash","in":"path","required":true},{"type":"string","format":"byte","description":"evidence_hash defines the hash of the requested evidence.\nDeprecated: Use hash, a HEX encoded string, instead.","name":"evidence_hash","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}":{"get":{"tags":["Query"],"summary":"Allowance returns granted allwance to the grantee by the granter.","operationId":"FeegrantQuery_Allowance","parameters":[{"type":"string","description":"granter is the address of the user granting an allowance of their funds.","name":"granter","in":"path","required":true},{"type":"string","description":"grantee is the address of the user being granted an allowance of another user's funds.","name":"grantee","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowances/{grantee}":{"get":{"tags":["Query"],"summary":"Allowances returns all the grants for the given grantee address.","operationId":"FeegrantQuery_Allowances","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/issued/{granter}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AllowancesByGranter returns all the grants given by an address","operationId":"FeegrantQuery_AllowancesByGranter","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/constitution":{"get":{"tags":["Query"],"summary":"Constitution queries the chain's constitution.","operationId":"FeegrantQuery_Constitution","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryConstitutionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"FeegrantQuery_ParamsMixin105","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"FeegrantQuery_Proposals","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"FeegrantQuery_Proposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"FeegrantQuery_Deposits","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositAddr.","operationId":"FeegrantQuery_Deposit","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"FeegrantQuery_TallyResult","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"FeegrantQuery_Votes","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"FeegrantQuery_Vote","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"FeegrantQuery_ParamsMixin109","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"FeegrantQuery_ProposalsMixin109","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"FeegrantQuery_ProposalMixin109","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"FeegrantQuery_DepositsMixin109","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositor address.","operationId":"FeegrantQuery_DepositMixin109","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"FeegrantQuery_TallyResultMixin109","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"FeegrantQuery_VotesMixin109","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"FeegrantQuery_VoteMixin109","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_info/{group_id}":{"get":{"tags":["Query"],"summary":"GroupInfo queries group info based on group id.","operationId":"FeegrantQuery_GroupInfo","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_members/{group_id}":{"get":{"tags":["Query"],"summary":"GroupMembers queries members of a group by group id.","operationId":"FeegrantQuery_GroupMembers","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByAdmin queries group policies by admin address.","operationId":"FeegrantQuery_GroupPoliciesByAdmin","parameters":[{"type":"string","description":"admin is the admin address of the group policy.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_group/{group_id}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByGroup queries group policies by group id.","operationId":"FeegrantQuery_GroupPoliciesByGroup","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group policy's group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policy_info/{address}":{"get":{"tags":["Query"],"summary":"GroupPolicyInfo queries group policy info based on account address of group policy.","operationId":"FeegrantQuery_GroupPolicyInfo","parameters":[{"type":"string","description":"address is the account address of the group policy.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPolicyInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups":{"get":{"description":"Since: cosmos-sdk 0.47.1","tags":["Query"],"summary":"Groups queries all groups in state.","operationId":"FeegrantQuery_Groups","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupsByAdmin queries groups by admin address.","operationId":"FeegrantQuery_GroupsByAdmin","parameters":[{"type":"string","description":"admin is the account address of a group's admin.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_member/{address}":{"get":{"tags":["Query"],"summary":"GroupsByMember queries groups by member address.","operationId":"FeegrantQuery_GroupsByMember","parameters":[{"type":"string","description":"address is the group member address.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByMemberResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries a proposal based on proposal id.","operationId":"FeegrantQuery_ProposalMixin113","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult returns the tally result of a proposal. If the proposal is\nstill in voting period, then this query computes the current tally state,\nwhich might not be final. On the other hand, if the proposal is final,\nthen it simply returns the `final_tally_result` state stored in the\nproposal itself.","operationId":"FeegrantQuery_TallyResultMixin113","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique id of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals_by_group_policy/{address}":{"get":{"tags":["Query"],"summary":"ProposalsByGroupPolicy queries proposals based on account address of group policy.","operationId":"FeegrantQuery_ProposalsByGroupPolicy","parameters":[{"type":"string","description":"address is the account address of the group policy related to proposals.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalsByGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/vote_by_proposal_voter/{proposal_id}/{voter}":{"get":{"tags":["Query"],"summary":"VoteByProposalVoter queries a vote by proposal id and voter.","operationId":"FeegrantQuery_VoteByProposalVoter","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVoteByProposalVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"VotesByProposal queries a vote by proposal id.","operationId":"FeegrantQuery_VotesByProposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_voter/{voter}":{"get":{"tags":["Query"],"summary":"VotesByVoter queries a vote by voter.","operationId":"FeegrantQuery_VotesByVoter","parameters":[{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/annual_provisions":{"get":{"tags":["Query"],"summary":"AnnualProvisions current minting annual provisions value.","operationId":"FeegrantQuery_AnnualProvisions","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryAnnualProvisionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/inflation":{"get":{"tags":["Query"],"summary":"Inflation returns the current minting inflation value.","operationId":"FeegrantQuery_Inflation","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryInflationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params returns the total set of minting parameters.","operationId":"FeegrantQuery_ParamsMixin118","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/balance/{owner}/{class_id}":{"get":{"tags":["Query"],"summary":"Balance queries the number of NFTs of a given class owned by the owner, same as balanceOf in ERC721","operationId":"FeegrantQuery_BalanceMixin124","parameters":[{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"path","required":true},{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes":{"get":{"tags":["Query"],"summary":"Classes queries all NFT classes","operationId":"FeegrantQuery_Classes","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes/{class_id}":{"get":{"tags":["Query"],"summary":"Class queries an NFT class based on its id","operationId":"FeegrantQuery_Class","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts":{"get":{"tags":["Query"],"summary":"NFTs queries all NFTs of a given class or owner,choose at least one of the two, similar to tokenByIndex in\nERC721Enumerable","operationId":"FeegrantQuery_NFTs","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"query"},{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"NFT queries an NFT based on its class and id.","operationId":"FeegrantQuery_NFT","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/owner/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"Owner queries the owner of the NFT based on its class and id, same as ownerOf in ERC721","operationId":"FeegrantQuery_Owner","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryOwnerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/supply/{class_id}":{"get":{"tags":["Query"],"summary":"Supply queries the number of NFTs from the given class, same as totalSupply of ERC721.","operationId":"FeegrantQuery_Supply","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QuerySupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries a specific parameter of a module, given its subspace and\nkey.","operationId":"FeegrantQuery_ParamsMixin127","parameters":[{"type":"string","description":"subspace defines the module to query the parameter for.","name":"subspace","in":"query"},{"type":"string","description":"key defines the key of the parameter in the subspace.","name":"key","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/subspaces":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Subspaces queries for all registered subspaces and all keys for a subspace.","operationId":"FeegrantQuery_Subspaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QuerySubspacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of slashing module","operationId":"FeegrantQuery_ParamsMixin130","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos":{"get":{"tags":["Query"],"summary":"SigningInfos queries signing info of all validators","operationId":"FeegrantQuery_SigningInfos","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfosResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos/{cons_address}":{"get":{"tags":["Query"],"summary":"SigningInfo queries the signing info of given cons address","operationId":"FeegrantQuery_SigningInfo","parameters":[{"type":"string","description":"cons_address is the address to query signing info of","name":"cons_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegations/{delegator_addr}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorDelegations queries all delegations of a given delegator address.","operationId":"FeegrantQuery_DelegatorDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Redelegations queries redelegations of given address.","operationId":"FeegrantQuery_Redelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"src_validator_addr defines the validator address to redelegate from.","name":"src_validator_addr","in":"query"},{"type":"string","description":"dst_validator_addr defines the validator address to redelegate to.","name":"dst_validator_addr","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryRedelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorUnbondingDelegations queries all unbonding delegations of a given\ndelegator address.","operationId":"FeegrantQuery_DelegatorUnbondingDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorValidators queries all validators info for given delegator\naddress.","operationId":"FeegrantQuery_DelegatorValidatorsMixin135","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"DelegatorValidator queries validator info for given delegator validator\npair.","operationId":"FeegrantQuery_DelegatorValidator","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/historical_info/{height}":{"get":{"tags":["Query"],"summary":"HistoricalInfo queries the historical info for given height.","operationId":"FeegrantQuery_HistoricalInfo","parameters":[{"type":"string","format":"int64","description":"height defines at which height to query the historical info.","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryHistoricalInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/params":{"get":{"tags":["Query"],"summary":"Parameters queries the staking parameters.","operationId":"FeegrantQuery_ParamsMixin135","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/pool":{"get":{"tags":["Query"],"summary":"Pool queries the pool info.","operationId":"FeegrantQuery_Pool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Validators queries all validators that match the given status.","operationId":"FeegrantQuery_Validators","parameters":[{"type":"string","description":"status enables to query for validators matching a given status.","name":"status","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"Validator queries validator info for given validator address.","operationId":"FeegrantQuery_Validator","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorDelegations queries delegate info for given validator.","operationId":"FeegrantQuery_ValidatorDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}":{"get":{"tags":["Query"],"summary":"Delegation queries delegate info for given validator delegator pair.","operationId":"FeegrantQuery_Delegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation":{"get":{"tags":["Query"],"summary":"UnbondingDelegation queries unbonding info for given validator delegator\npair.","operationId":"FeegrantQuery_UnbondingDelegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorUnbondingDelegations queries unbonding delegations of a validator.","operationId":"FeegrantQuery_ValidatorUnbondingDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxDecode decodes the transaction.","operationId":"FeegrantService_TxDecode","parameters":[{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode/amino":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON.","operationId":"FeegrantService_TxDecodeAmino","parameters":[{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxEncode encodes the transaction.","operationId":"FeegrantService_TxEncode","parameters":[{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode/amino":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes.","operationId":"FeegrantService_TxEncodeAmino","parameters":[{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/simulate":{"post":{"tags":["Service"],"summary":"Simulate simulates executing a transaction for estimating gas usage.","operationId":"FeegrantService_Simulate","parameters":[{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs":{"get":{"tags":["Service"],"summary":"GetTxsEvent fetches txs by event.","operationId":"FeegrantService_GetTxsEvent","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"events is the list of transaction event type.\nDeprecated post v0.47.x: use query instead, which should contain a valid\nevents query.","name":"events","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"],"type":"string","default":"ORDER_BY_UNSPECIFIED","description":" - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","name":"order_by","in":"query"},{"type":"string","format":"uint64","description":"page is the page number to query, starts at 1. If not provided, will\ndefault to first page.","name":"page","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"limit","in":"query"},{"type":"string","description":"query defines the transaction event query that is proxied to Tendermint's\nTxSearch RPC method. The query must be valid.\n\nSince cosmos-sdk 0.50","name":"query","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}},"post":{"tags":["Service"],"summary":"BroadcastTx broadcast transaction.","operationId":"FeegrantService_BroadcastTx","parameters":[{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/block/{height}":{"get":{"description":"Since: cosmos-sdk 0.45.2","tags":["Service"],"summary":"GetBlockWithTxs fetches a block with decoded txs.","operationId":"FeegrantService_GetBlockWithTxs","parameters":[{"type":"string","format":"int64","description":"height is the height of the block to query.","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetBlockWithTxsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/{hash}":{"get":{"tags":["Service"],"summary":"GetTx fetches a tx by hash.","operationId":"FeegrantService_GetTx","parameters":[{"type":"string","description":"hash is the tx hash to query, encoded as a hex string.","name":"hash","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/applied_plan/{name}":{"get":{"tags":["Query"],"summary":"AppliedPlan queries a previously applied upgrade plan by its name.","operationId":"FeegrantQuery_AppliedPlan","parameters":[{"type":"string","description":"name is the name of the applied plan to query for.","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAppliedPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/authority":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Returns the account with authority to conduct upgrades","operationId":"FeegrantQuery_Authority","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAuthorityResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/current_plan":{"get":{"tags":["Query"],"summary":"CurrentPlan queries the current upgrade plan.","operationId":"FeegrantQuery_CurrentPlan","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryCurrentPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/module_versions":{"get":{"description":"Since: cosmos-sdk 0.43","tags":["Query"],"summary":"ModuleVersions queries the list of module versions from state.","operationId":"FeegrantQuery_ModuleVersions","parameters":[{"type":"string","description":"module_name is a field to query a specific module\nconsensus version from state. Leaving this empty will\nfetch the full list of module versions from state","name":"module_name","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryModuleVersionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}":{"get":{"tags":["Query"],"summary":"UpgradedConsensusState queries the consensus state that will serve\nas a trusted kernel for the next version of this chain. It will only be\nstored at the last height of this chain.\nUpgradedConsensusState RPC not supported with legacy querier\nThis rpc is deprecated now that IBC has its own replacement\n(https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54)","operationId":"FeegrantQuery_UpgradedConsensusState","parameters":[{"type":"string","format":"int64","description":"last height of the current chain must be sent in request\nas this is the height under which next consensus state is stored","name":"last_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/PayPacketFee":{"post":{"tags":["Msg"],"summary":"PayPacketFee defines a rpc handler method for MsgPayPacketFee\nPayPacketFee is an open callback that may be called by any module/user that wishes to escrow funds in order to\nincentivize the relaying of the packet at the next sequence\nNOTE: This method is intended to be used within a multi msg transaction, where the subsequent msg that follows\ninitiates the lifecycle of the incentivized packet","operationId":"FeeMsg_PayPacketFee","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFee"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/PayPacketFeeAsync":{"post":{"tags":["Msg"],"summary":"PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync\nPayPacketFeeAsync is an open callback that may be called by any module/user that wishes to escrow funds in order to\nincentivize the relaying of a known packet (i.e. at a particular sequence)","operationId":"FeeMsg_PayPacketFeeAsync","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFeeAsync"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/RegisterCounterpartyPayee":{"post":{"tags":["Msg"],"summary":"RegisterCounterpartyPayee defines a rpc handler method for MsgRegisterCounterpartyPayee\nRegisterCounterpartyPayee is called by the relayer on each channelEnd and allows them to specify the counterparty\npayee address before relaying. This ensures they will be properly compensated for forward relaying since\nthe destination chain must include the registered counterparty payee address in the acknowledgement. This function\nmay be called more than once by a relayer, in which case, the latest counterparty payee address is always used.","operationId":"FeeMsg_RegisterCounterpartyPayee","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterCounterpartyPayee"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/RegisterPayee":{"post":{"tags":["Msg"],"summary":"RegisterPayee defines a rpc handler method for MsgRegisterPayee\nRegisterPayee is called by the relayer on each channelEnd and allows them to set an optional\npayee to which reverse and timeout relayer packet fees will be paid out. The payee should be registered on\nthe source chain from which packets originate as this is where fee distribution takes place. This function may be\ncalled more than once by a relayer, in which case, the latest payee is always used.","operationId":"FeeMsg_RegisterPayee","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterPayee"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.controller.v1.Msg/RegisterInterchainAccount":{"post":{"tags":["Msg"],"summary":"RegisterInterchainAccount defines a rpc handler for MsgRegisterInterchainAccount.","operationId":"FeeMsg_RegisterInterchainAccount","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.controller.v1.Msg/SendTx":{"post":{"tags":["Msg"],"summary":"SendTx defines a rpc handler for MsgSendTx.","operationId":"FeeMsg_SendTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgSendTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.controller.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a rpc handler for MsgUpdateParams.","operationId":"FeeMsg_UpdateParams","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.host.v1.Msg/ModuleQuerySafe":{"post":{"tags":["Msg"],"summary":"ModuleQuerySafe defines a rpc handler for MsgModuleQuerySafe.","operationId":"FeeMsg_ModuleQuerySafe","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.host.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a rpc handler for MsgUpdateParams.","operationId":"FeeMsg_UpdateParamsMixin18","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.transfer.v1.Msg/Transfer":{"post":{"tags":["Msg"],"summary":"Transfer defines a rpc handler method for MsgTransfer.","operationId":"FeeMsg_Transfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.transfer.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a rpc handler for MsgUpdateParams.","operationId":"FeeMsg_UpdateParamsMixin26","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/Acknowledgement":{"post":{"tags":["Msg"],"summary":"Acknowledgement defines a rpc handler method for MsgAcknowledgement.","operationId":"FeeMsg_Acknowledgement","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgAcknowledgement"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgAcknowledgementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelCloseConfirm":{"post":{"tags":["Msg"],"summary":"ChannelCloseConfirm defines a rpc handler method for\nMsgChannelCloseConfirm.","operationId":"FeeMsg_ChannelCloseConfirm","parameters":[{"description":"MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B\nto acknowledge the change of channel state to CLOSED on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelCloseInit":{"post":{"tags":["Msg"],"summary":"ChannelCloseInit defines a rpc handler method for MsgChannelCloseInit.","operationId":"FeeMsg_ChannelCloseInit","parameters":[{"description":"MsgChannelCloseInit defines a msg sent by a Relayer to Chain A\nto close a channel with Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenAck":{"post":{"tags":["Msg"],"summary":"ChannelOpenAck defines a rpc handler method for MsgChannelOpenAck.","operationId":"FeeMsg_ChannelOpenAck","parameters":[{"description":"MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge\nthe change of channel state to TRYOPEN on Chain B.\nWARNING: a channel upgrade MUST NOT initialize an upgrade for this channel\nin the same block as executing this message otherwise the counterparty will\nbe incapable of opening.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenAck"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenAckResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenConfirm":{"post":{"tags":["Msg"],"summary":"ChannelOpenConfirm defines a rpc handler method for MsgChannelOpenConfirm.","operationId":"FeeMsg_ChannelOpenConfirm","parameters":[{"description":"MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of channel state to OPEN on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenInit":{"post":{"tags":["Msg"],"summary":"ChannelOpenInit defines a rpc handler method for MsgChannelOpenInit.","operationId":"FeeMsg_ChannelOpenInit","parameters":[{"description":"MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It\nis called by a relayer on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenTry":{"post":{"tags":["Msg"],"summary":"ChannelOpenTry defines a rpc handler method for MsgChannelOpenTry.","operationId":"FeeMsg_ChannelOpenTry","parameters":[{"description":"MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel\non Chain B. The version field within the Channel field has been deprecated. Its\nvalue will be ignored by core IBC.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenTry"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenTryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeAck":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeAck defines a rpc handler method for MsgChannelUpgradeAck.","operationId":"FeeMsg_ChannelUpgradeAck","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeAck"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeAckResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeCancel":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeCancel defines a rpc handler method for MsgChannelUpgradeCancel.","operationId":"FeeMsg_ChannelUpgradeCancel","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeCancel"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeCancelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeConfirm":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeConfirm defines a rpc handler method for MsgChannelUpgradeConfirm.","operationId":"FeeMsg_ChannelUpgradeConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeInit":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeInit defines a rpc handler method for MsgChannelUpgradeInit.","operationId":"FeeMsg_ChannelUpgradeInit","parameters":[{"description":"MsgChannelUpgradeInit defines the request type for the ChannelUpgradeInit rpc\nWARNING: Initializing a channel upgrade in the same block as opening the channel\nmay result in the counterparty being incapable of opening.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeOpen":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeOpen defines a rpc handler method for MsgChannelUpgradeOpen.","operationId":"FeeMsg_ChannelUpgradeOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeTimeout":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeTimeout defines a rpc handler method for MsgChannelUpgradeTimeout.","operationId":"FeeMsg_ChannelUpgradeTimeout","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTimeout"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTimeoutResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeTry":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeTry defines a rpc handler method for MsgChannelUpgradeTry.","operationId":"FeeMsg_ChannelUpgradeTry","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTry"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/PruneAcknowledgements":{"post":{"tags":["Msg"],"summary":"PruneAcknowledgements defines a rpc handler method for MsgPruneAcknowledgements.","operationId":"FeeMsg_PruneAcknowledgements","parameters":[{"description":"MsgPruneAcknowledgements defines the request type for the PruneAcknowledgements rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgPruneAcknowledgements"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgPruneAcknowledgementsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/RecvPacket":{"post":{"tags":["Msg"],"summary":"RecvPacket defines a rpc handler method for MsgRecvPacket.","operationId":"FeeMsg_RecvPacket","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgRecvPacket"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgRecvPacketResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/Timeout":{"post":{"tags":["Msg"],"summary":"Timeout defines a rpc handler method for MsgTimeout.","operationId":"FeeMsg_Timeout","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeout"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeoutResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/TimeoutOnClose":{"post":{"tags":["Msg"],"summary":"TimeoutOnClose defines a rpc handler method for MsgTimeoutOnClose.","operationId":"FeeMsg_TimeoutOnClose","parameters":[{"description":"MsgTimeoutOnClose timed-out packet upon counterparty channel closure.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeoutOnClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeoutOnCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/UpdateChannelParams":{"post":{"tags":["Msg"],"summary":"UpdateChannelParams defines a rpc handler method for MsgUpdateParams.","operationId":"FeeMsg_UpdateChannelParams","parameters":[{"description":"MsgUpdateParams is the MsgUpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/CreateClient":{"post":{"tags":["Msg"],"summary":"CreateClient defines a rpc handler method for MsgCreateClient.","operationId":"FeeMsg_CreateClient","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgCreateClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgCreateClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/IBCSoftwareUpgrade":{"post":{"tags":["Msg"],"summary":"IBCSoftwareUpgrade defines a rpc handler method for MsgIBCSoftwareUpgrade.","operationId":"FeeMsg_IBCSoftwareUpgrade","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgIBCSoftwareUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/RecoverClient":{"post":{"tags":["Msg"],"summary":"RecoverClient defines a rpc handler method for MsgRecoverClient.","operationId":"FeeMsg_RecoverClient","parameters":[{"description":"MsgRecoverClient defines the message used to recover a frozen or expired client.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgRecoverClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgRecoverClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/SubmitMisbehaviour":{"post":{"tags":["Msg"],"summary":"SubmitMisbehaviour defines a rpc handler method for MsgSubmitMisbehaviour.","operationId":"FeeMsg_SubmitMisbehaviour","parameters":[{"description":"MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for\nlight client misbehaviour.\nThis message has been deprecated. Use MsgUpdateClient instead.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgSubmitMisbehaviour"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgSubmitMisbehaviourResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/UpdateClient":{"post":{"tags":["Msg"],"summary":"UpdateClient defines a rpc handler method for MsgUpdateClient.","operationId":"FeeMsg_UpdateClient","parameters":[{"description":"MsgUpdateClient defines an sdk.Msg to update a IBC client state using\nthe given client message.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/UpdateClientParams":{"post":{"tags":["Msg"],"summary":"UpdateClientParams defines a rpc handler method for MsgUpdateParams.","operationId":"FeeMsg_UpdateClientParams","parameters":[{"description":"MsgUpdateParams defines the sdk.Msg type to update the client parameters.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/UpgradeClient":{"post":{"tags":["Msg"],"summary":"UpgradeClient defines a rpc handler method for MsgUpgradeClient.","operationId":"FeeMsg_UpgradeClient","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpgradeClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpgradeClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenAck":{"post":{"tags":["Msg"],"summary":"ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck.","operationId":"FeeMsg_ConnectionOpenAck","parameters":[{"description":"MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to\nacknowledge the change of connection state to TRYOPEN on Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenAck"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenAckResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenConfirm":{"post":{"tags":["Msg"],"summary":"ConnectionOpenConfirm defines a rpc handler method for\nMsgConnectionOpenConfirm.","operationId":"FeeMsg_ConnectionOpenConfirm","parameters":[{"description":"MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of connection state to OPEN on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenInit":{"post":{"tags":["Msg"],"summary":"ConnectionOpenInit defines a rpc handler method for MsgConnectionOpenInit.","operationId":"FeeMsg_ConnectionOpenInit","parameters":[{"description":"MsgConnectionOpenInit defines the msg sent by an account on Chain A to\ninitialize a connection with Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenTry":{"post":{"tags":["Msg"],"summary":"ConnectionOpenTry defines a rpc handler method for MsgConnectionOpenTry.","operationId":"FeeMsg_ConnectionOpenTry","parameters":[{"description":"MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a\nconnection on Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenTry"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenTryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/UpdateConnectionParams":{"post":{"tags":["Msg"],"summary":"UpdateConnectionParams defines a rpc handler method for\nMsgUpdateParams.","operationId":"FeeMsg_UpdateConnectionParams","parameters":[{"description":"MsgUpdateParams defines the sdk.Msg type to update the connection parameters.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.lightclients.wasm.v1.Msg/MigrateContract":{"post":{"tags":["Msg"],"summary":"MigrateContract defines a rpc handler method for MsgMigrateContract.","operationId":"FeeMsg_MigrateContract","parameters":[{"description":"MsgMigrateContract defines the request type for the MigrateContract rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgMigrateContract"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgMigrateContractResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.lightclients.wasm.v1.Msg/RemoveChecksum":{"post":{"tags":["Msg"],"summary":"RemoveChecksum defines a rpc handler method for MsgRemoveChecksum.","operationId":"FeeMsg_RemoveChecksum","parameters":[{"description":"MsgRemoveChecksum defines the request type for the MsgRemoveChecksum rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgRemoveChecksum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgRemoveChecksumResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.lightclients.wasm.v1.Msg/StoreCode":{"post":{"tags":["Msg"],"summary":"StoreCode defines a rpc handler method for MsgStoreCode.","operationId":"FeeMsg_StoreCode","parameters":[{"description":"MsgStoreCode defines the request type for the StoreCode rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgStoreCode"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgStoreCodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/ports/{port_id}/fee_enabled":{"get":{"tags":["Query"],"summary":"FeeEnabledChannel returns true if the provided port and channel identifiers belong to a fee enabled channel","operationId":"FeeQuery_FeeEnabledChannel","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"unique port identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryFeeEnabledChannelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/ports/{port_id}/incentivized_packets":{"get":{"tags":["Query"],"summary":"Gets all incentivized packets for a specific channel","operationId":"FeeQuery_IncentivizedPacketsForChannel","parameters":[{"type":"string","name":"channel_id","in":"path","required":true},{"type":"string","name":"port_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"string","format":"uint64","description":"Height to query at","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/relayers/{relayer}/counterparty_payee":{"get":{"tags":["Query"],"summary":"CounterpartyPayee returns the registered counterparty payee for forward relaying","operationId":"FeeQuery_CounterpartyPayee","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"the relayer address to which the counterparty is registered","name":"relayer","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryCounterpartyPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/relayers/{relayer}/payee":{"get":{"tags":["Query"],"summary":"Payee returns the registered payee address for a specific channel given the relayer address","operationId":"FeeQuery_Payee","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"the relayer address to which the distribution address is registered","name":"relayer","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/incentivized_packet":{"get":{"tags":["Query"],"summary":"IncentivizedPacket returns all packet fees for a packet given its identifier","operationId":"FeeQuery_IncentivizedPacket","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true},{"type":"string","format":"uint64","description":"block height at which to query","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryIncentivizedPacketResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_ack_fees":{"get":{"tags":["Query"],"summary":"TotalAckFees returns the total acknowledgement fees for a packet given its identifier","operationId":"FeeQuery_TotalAckFees","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryTotalAckFeesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_recv_fees":{"get":{"tags":["Query"],"summary":"TotalRecvFees returns the total receive fees for a packet given its identifier","operationId":"FeeQuery_TotalRecvFees","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryTotalRecvFeesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_timeout_fees":{"get":{"tags":["Query"],"summary":"TotalTimeoutFees returns the total timeout fees for a packet given its identifier","operationId":"FeeQuery_TotalTimeoutFees","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/fee_enabled":{"get":{"tags":["Query"],"summary":"FeeEnabledChannels returns a list of all fee enabled channels","operationId":"FeeQuery_FeeEnabledChannels","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"string","format":"uint64","description":"block height at which to query","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/incentivized_packets":{"get":{"tags":["Query"],"summary":"IncentivizedPackets returns all incentivized packets and their associated fees","operationId":"FeeQuery_IncentivizedPackets","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"string","format":"uint64","description":"block height at which to query","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryIncentivizedPacketsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/interchain_accounts/controller/v1/owners/{owner}/connections/{connection_id}":{"get":{"tags":["Query"],"summary":"InterchainAccount returns the interchain account address for a given owner address on a given connection","operationId":"FeeQuery_InterchainAccount","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"string","name":"connection_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/interchain_accounts/controller/v1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the ICA controller submodule.","operationId":"FeeQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/interchain_accounts/host/v1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the ICA host submodule.","operationId":"FeeQuery_ParamsMixin17","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address":{"get":{"tags":["Query"],"summary":"EscrowAddress returns the escrow address for a particular port and channel id.","operationId":"FeeQuery_EscrowAddress","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"unique port identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryEscrowAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denom_hashes/{trace}":{"get":{"tags":["Query"],"summary":"DenomHash queries a denomination hash information.","operationId":"FeeQuery_DenomHash","parameters":[{"pattern":".+","type":"string","description":"The denomination trace ([port_id]/[channel_id])+/[denom]","name":"trace","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryDenomHashResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denom_traces":{"get":{"tags":["Query"],"summary":"DenomTraces queries all denomination traces.","operationId":"FeeQuery_DenomTraces","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryDenomTracesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denom_traces/{hash}":{"get":{"tags":["Query"],"summary":"DenomTrace queries a denomination trace information.","operationId":"FeeQuery_DenomTrace","parameters":[{"pattern":".+","type":"string","description":"hash (in hex format) or denom (full denom with ibc prefix) of the denomination trace information.","name":"hash","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryDenomTraceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denoms/{denom}/total_escrow":{"get":{"tags":["Query"],"summary":"TotalEscrowForDenom returns the total amount of tokens in escrow based on the denom.","operationId":"FeeQuery_TotalEscrowForDenom","parameters":[{"pattern":".+","type":"string","name":"denom","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the ibc-transfer module.","operationId":"FeeQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels":{"get":{"tags":["Query"],"summary":"Channels queries all the IBC channels of a chain.","operationId":"FeeQuery_Channels","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}":{"get":{"tags":["Query"],"summary":"Channel queries an IBC Channel.","operationId":"FeeQuery_Channel","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state":{"get":{"tags":["Query"],"summary":"ChannelClientState queries for the client state for the channel associated\nwith the provided channel identifiers.","operationId":"FeeQuery_ChannelClientState","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}":{"get":{"tags":["Query"],"summary":"ChannelConsensusState queries for the consensus state for the channel\nassociated with the provided channel identifiers.","operationId":"FeeQuery_ChannelConsensusState","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"revision number of the consensus state","name":"revision_number","in":"path","required":true},{"type":"string","format":"uint64","description":"revision height of the consensus state","name":"revision_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence":{"get":{"tags":["Query"],"summary":"NextSequenceReceive returns the next receive sequence for a given channel.","operationId":"FeeQuery_NextSequenceReceive","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryNextSequenceReceiveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence_send":{"get":{"tags":["Query"],"summary":"NextSequenceSend returns the next send sequence for a given channel.","operationId":"FeeQuery_NextSequenceSend","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryNextSequenceSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements":{"get":{"tags":["Query"],"summary":"PacketAcknowledgements returns all the packet acknowledgements associated\nwith a channel.","operationId":"FeeQuery_PacketAcknowledgements","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","description":"list of packet sequences","name":"packet_commitment_sequences","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketAcknowledgementsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}":{"get":{"tags":["Query"],"summary":"PacketAcknowledgement queries a stored packet acknowledgement hash.","operationId":"FeeQuery_PacketAcknowledgement","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketAcknowledgementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments":{"get":{"tags":["Query"],"summary":"PacketCommitments returns all the packet commitments hashes associated\nwith a channel.","operationId":"FeeQuery_PacketCommitments","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketCommitmentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks":{"get":{"tags":["Query"],"summary":"UnreceivedAcks returns all the unreceived IBC acknowledgements associated\nwith a channel and sequences.","operationId":"FeeQuery_UnreceivedAcks","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","description":"list of acknowledgement sequences","name":"packet_ack_sequences","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUnreceivedAcksResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets":{"get":{"tags":["Query"],"summary":"UnreceivedPackets returns all the unreceived IBC packets associated with a\nchannel and sequences.","operationId":"FeeQuery_UnreceivedPackets","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","description":"list of packet sequences","name":"packet_commitment_sequences","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUnreceivedPacketsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}":{"get":{"tags":["Query"],"summary":"PacketCommitment queries a stored packet commitment hash.","operationId":"FeeQuery_PacketCommitment","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketCommitmentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}":{"get":{"tags":["Query"],"summary":"PacketReceipt queries if a given packet sequence has been received on the\nqueried chain","operationId":"FeeQuery_PacketReceipt","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketReceiptResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade":{"get":{"tags":["Query"],"summary":"Upgrade returns the upgrade for a given port and channel id.","operationId":"FeeQuery_Upgrade","parameters":[{"type":"string","name":"channel_id","in":"path","required":true},{"type":"string","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade_error":{"get":{"tags":["Query"],"summary":"UpgradeError returns the error receipt if the upgrade handshake failed.","operationId":"FeeQuery_UpgradeError","parameters":[{"type":"string","name":"channel_id","in":"path","required":true},{"type":"string","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUpgradeErrorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/connections/{connection}/channels":{"get":{"tags":["Query"],"summary":"ConnectionChannels queries all the channels associated with a connection\nend.","operationId":"FeeQuery_ConnectionChannels","parameters":[{"type":"string","description":"connection unique identifier","name":"connection","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryConnectionChannelsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/params":{"get":{"tags":["Query"],"summary":"ChannelParams queries all parameters of the ibc channel submodule.","operationId":"FeeQuery_ChannelParams","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/client_states":{"get":{"tags":["Query"],"summary":"ClientStates queries all the IBC light clients of a chain.","operationId":"FeeQuery_ClientStates","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientStatesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/client_states/{client_id}":{"get":{"tags":["Query"],"summary":"ClientState queries an IBC light client.","operationId":"FeeQuery_ClientState","parameters":[{"type":"string","description":"client state unique identifier","name":"client_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/client_status/{client_id}":{"get":{"tags":["Query"],"summary":"Status queries the status of an IBC client.","operationId":"FeeQuery_ClientStatus","parameters":[{"type":"string","description":"client unique identifier","name":"client_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/consensus_states/{client_id}":{"get":{"tags":["Query"],"summary":"ConsensusStates queries all the consensus state associated with a given\nclient.","operationId":"FeeQuery_ConsensusStates","parameters":[{"type":"string","description":"client identifier","name":"client_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryConsensusStatesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/consensus_states/{client_id}/heights":{"get":{"tags":["Query"],"summary":"ConsensusStateHeights queries the height of every consensus states associated with a given client.","operationId":"FeeQuery_ConsensusStateHeights","parameters":[{"type":"string","description":"client identifier","name":"client_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryConsensusStateHeightsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}":{"get":{"tags":["Query"],"summary":"ConsensusState queries a consensus state associated with a client state at\na given height.","operationId":"FeeQuery_ConsensusState","parameters":[{"type":"string","description":"client identifier","name":"client_id","in":"path","required":true},{"type":"string","format":"uint64","description":"consensus state revision number","name":"revision_number","in":"path","required":true},{"type":"string","format":"uint64","description":"consensus state revision height","name":"revision_height","in":"path","required":true},{"type":"boolean","description":"latest_height overrrides the height field and queries the latest stored\nConsensusState","name":"latest_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/params":{"get":{"tags":["Query"],"summary":"ClientParams queries all parameters of the ibc client submodule.","operationId":"FeeQuery_ClientParams","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/upgraded_client_states":{"get":{"tags":["Query"],"summary":"UpgradedClientState queries an Upgraded IBC light client.","operationId":"FeeQuery_UpgradedClientState","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryUpgradedClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/upgraded_consensus_states":{"get":{"tags":["Query"],"summary":"UpgradedConsensusState queries an Upgraded IBC consensus state.","operationId":"FeeQuery_UpgradedConsensusState","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryUpgradedConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/verify_membership":{"post":{"tags":["Query"],"summary":"VerifyMembership queries an IBC light client for proof verification of a value at a given key path.","operationId":"FeeQuery_VerifyMembership","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryVerifyMembershipRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryVerifyMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/client_connections/{client_id}":{"get":{"tags":["Query"],"summary":"ClientConnections queries the connection paths associated with a client\nstate.","operationId":"FeeQuery_ClientConnections","parameters":[{"type":"string","description":"client identifier associated with a connection","name":"client_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryClientConnectionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections":{"get":{"tags":["Query"],"summary":"Connections queries all the IBC connections of a chain.","operationId":"FeeQuery_Connections","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections/{connection_id}":{"get":{"tags":["Query"],"summary":"Connection queries an IBC connection end.","operationId":"FeeQuery_Connection","parameters":[{"type":"string","description":"connection unique identifier","name":"connection_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections/{connection_id}/client_state":{"get":{"tags":["Query"],"summary":"ConnectionClientState queries the client state associated with the\nconnection.","operationId":"FeeQuery_ConnectionClientState","parameters":[{"type":"string","description":"connection identifier","name":"connection_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}":{"get":{"tags":["Query"],"summary":"ConnectionConsensusState queries the consensus state associated with the\nconnection.","operationId":"FeeQuery_ConnectionConsensusState","parameters":[{"type":"string","description":"connection identifier","name":"connection_id","in":"path","required":true},{"type":"string","format":"uint64","name":"revision_number","in":"path","required":true},{"type":"string","format":"uint64","name":"revision_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/params":{"get":{"tags":["Query"],"summary":"ConnectionParams queries all parameters of the ibc connection submodule.","operationId":"FeeQuery_ConnectionParams","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/lightclients/wasm/v1/checksums":{"get":{"tags":["Query"],"summary":"Get all Wasm checksums","operationId":"FeeQuery_Checksums","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.QueryChecksumsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/lightclients/wasm/v1/checksums/{checksum}/code":{"get":{"tags":["Query"],"summary":"Get Wasm code for given checksum","operationId":"FeeQuery_Code","parameters":[{"type":"string","description":"checksum is a hex encoded string of the code stored.","name":"checksum","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.QueryCodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ApplySnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_ApplySnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestApplySnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/CheckTx":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_CheckTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCheckTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCheckTx"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Commit":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_Commit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Echo":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_Echo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestEcho"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseEcho"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ExtendVote":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_ExtendVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestExtendVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseExtendVote"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/FinalizeBlock":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_FinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Flush":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_Flush","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFlush"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFlush"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Info":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_Info","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInfo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInfo"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/InitChain":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_InitChain","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInitChain"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInitChain"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ListSnapshots":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_ListSnapshots","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestListSnapshots"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseListSnapshots"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/LoadSnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_LoadSnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestLoadSnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseLoadSnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/OfferSnapshot":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_OfferSnapshot","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestOfferSnapshot"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/PrepareProposal":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_PrepareProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestPrepareProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponsePrepareProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ProcessProposal":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_ProcessProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestProcessProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Query":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_Query","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestQuery"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseQuery"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/VerifyVoteExtension":{"post":{"tags":["ABCI"],"operationId":"FeegrantABCI_VerifyVoteExtension","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestVerifyVoteExtension"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cosmos.auth.v1beta1.AddressBytesToStringResponse":{"description":"AddressBytesToStringResponse is the response type for AddressString rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address_string":{"type":"string"}}},"cosmos.auth.v1beta1.AddressStringToBytesResponse":{"description":"AddressStringToBytesResponse is the response type for AddressBytes rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address_bytes":{"type":"string","format":"byte"}}},"cosmos.auth.v1beta1.BaseAccount":{"description":"BaseAccount defines a base account type. It contains all the necessary fields\nfor basic account functionality. Any custom account type should extend this\ntype for additional functionality (e.g. vesting).","type":"object","properties":{"account_number":{"type":"string","format":"uint64"},"address":{"type":"string"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"sequence":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.Bech32PrefixResponse":{"description":"Bech32PrefixResponse is the response type for Bech32Prefix rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"bech32_prefix":{"type":"string"}}},"cosmos.auth.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/auth parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.auth.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.auth.v1beta1.Params":{"description":"Params defines the parameters for the auth module.","type":"object","properties":{"max_memo_characters":{"type":"string","format":"uint64"},"sig_verify_cost_ed25519":{"type":"string","format":"uint64"},"sig_verify_cost_secp256k1":{"type":"string","format":"uint64"},"tx_sig_limit":{"type":"string","format":"uint64"},"tx_size_cost_per_byte":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.QueryAccountAddressByIDResponse":{"description":"Since: cosmos-sdk 0.46.2","type":"object","title":"QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method","properties":{"account_address":{"type":"string"}}},"cosmos.auth.v1beta1.QueryAccountInfoResponse":{"description":"QueryAccountInfoResponse is the Query/AccountInfo response type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"info":{"description":"info is the account info which is represented by BaseAccount.","$ref":"#/definitions/cosmos.auth.v1beta1.BaseAccount"}}},"cosmos.auth.v1beta1.QueryAccountResponse":{"description":"QueryAccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"account":{"description":"account defines the account of the corresponding address.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryAccountsResponse":{"description":"QueryAccountsResponse is the response type for the Query/Accounts RPC method.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"accounts":{"type":"array","title":"accounts are the existing accounts","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.auth.v1beta1.QueryModuleAccountByNameResponse":{"description":"QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method.","type":"object","properties":{"account":{"$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryModuleAccountsResponse":{"description":"QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.auth.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.authz.v1beta1.Grant":{"description":"Grant gives permissions to execute\nthe provide method with expiration time.","type":"object","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time","title":"time when the grant will expire and will be pruned. If null, then the grant\ndoesn't have a time expiration (other conditions in `authorization`\nmay apply to invalidate the grant)"}}},"cosmos.authz.v1beta1.GrantAuthorization":{"type":"object","title":"GrantAuthorization extends a grant with both the addresses of the grantee and granter.\nIt is used in genesis.proto and query.proto","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgExec":{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","type":"object","properties":{"grantee":{"type":"string"},"msgs":{"description":"Execute Msg.\nThe x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg))\ntriple and validate it.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.authz.v1beta1.MsgExecResponse":{"description":"MsgExecResponse defines the Msg/MsgExecResponse response type.","type":"object","properties":{"results":{"type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.authz.v1beta1.MsgGrant":{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","type":"object","properties":{"grant":{"$ref":"#/definitions/cosmos.authz.v1beta1.Grant"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgGrantResponse":{"description":"MsgGrantResponse defines the Msg/MsgGrant response type.","type":"object"},"cosmos.authz.v1beta1.MsgRevoke":{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","type":"object","properties":{"grantee":{"type":"string"},"granter":{"type":"string"},"msg_type_url":{"type":"string"}}},"cosmos.authz.v1beta1.MsgRevokeResponse":{"description":"MsgRevokeResponse defines the Msg/MsgRevokeResponse response type.","type":"object"},"cosmos.authz.v1beta1.QueryGranteeGrantsResponse":{"description":"QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted to the grantee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGranterGrantsResponse":{"description":"QueryGranterGrantsResponse is the response type for the Query/GranterGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGrantsResponse":{"description":"QueryGrantsResponse is the response type for the Query/Authorizations RPC method.","type":"object","properties":{"grants":{"description":"authorizations is a list of grants granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.autocli.v1.AppOptionsRequest":{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","type":"object"},"cosmos.autocli.v1.AppOptionsResponse":{"description":"AppOptionsResponse is the RemoteInfoService/AppOptions response type.","type":"object","properties":{"module_options":{"description":"module_options is a map of module name to autocli module options.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ModuleOptions"}}}},"cosmos.autocli.v1.FlagOptions":{"description":"FlagOptions are options for flags generated from rpc request fields.\nBy default, all request fields are configured as flags based on the\nkebab-case name of the field. Fields can be turned into positional arguments\ninstead by using RpcCommandOptions.positional_args.","type":"object","properties":{"default_value":{"description":"default_value is the default value as text.","type":"string"},"deprecated":{"description":"deprecated is the usage text to show if this flag is deprecated.","type":"string"},"hidden":{"type":"boolean","title":"hidden hides the flag from help/usage text"},"name":{"description":"name is an alternate name to use for the field flag.","type":"string"},"shorthand":{"description":"shorthand is a one-letter abbreviated flag.","type":"string"},"shorthand_deprecated":{"description":"shorthand_deprecated is the usage text to show if the shorthand of this flag is deprecated.","type":"string"},"usage":{"description":"usage is the help message.","type":"string"}}},"cosmos.autocli.v1.ModuleOptions":{"description":"ModuleOptions describes the CLI options for a Cosmos SDK module.","type":"object","properties":{"query":{"description":"query describes the queries commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"},"tx":{"description":"tx describes the tx commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}},"cosmos.autocli.v1.PositionalArgDescriptor":{"description":"PositionalArgDescriptor describes a positional argument.","type":"object","properties":{"proto_field":{"description":"proto_field specifies the proto field to use as the positional arg. Any\nfields used as positional args will not have a flag generated.","type":"string"},"varargs":{"description":"varargs makes a positional parameter a varargs parameter. This can only be\napplied to last positional parameter and the proto_field must a repeated\nfield.","type":"boolean"}}},"cosmos.autocli.v1.RpcCommandOptions":{"description":"RpcCommandOptions specifies options for commands generated from protobuf\nrpc methods.","type":"object","properties":{"alias":{"description":"alias is an array of aliases that can be used instead of the first word in Use.","type":"array","items":{"type":"string"}},"deprecated":{"description":"deprecated defines, if this command is deprecated and should print this string when used.","type":"string"},"example":{"description":"example is examples of how to use the command.","type":"string"},"flag_options":{"description":"flag_options are options for flags generated from rpc request fields.\nBy default all request fields are configured as flags. They can\nalso be configured as positional args instead using positional_args.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.FlagOptions"}},"long":{"description":"long is the long message shown in the 'help \u003cthis-command\u003e' output.","type":"string"},"positional_args":{"description":"positional_args specifies positional arguments for the command.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.PositionalArgDescriptor"}},"rpc_method":{"description":"rpc_method is short name of the protobuf rpc method that this command is\ngenerated from.","type":"string"},"short":{"description":"short is the short description shown in the 'help' output.","type":"string"},"skip":{"description":"skip specifies whether to skip this rpc method when generating commands.","type":"boolean"},"suggest_for":{"description":"suggest_for is an array of command names for which this command will be suggested -\nsimilar to aliases but only suggests.","type":"array","items":{"type":"string"}},"use":{"description":"use is the one-line usage method. It also allows specifying an alternate\nname for the command as the first word of the usage text.\n\nBy default the name of an rpc command is the kebab-case short name of the\nrpc method.","type":"string"},"version":{"description":"version defines the version for this command. If this value is non-empty and the command does not\ndefine a \"version\" flag, a \"version\" boolean flag will be added to the command and, if specified,\nwill print content of the \"Version\" variable. A shorthand \"v\" flag will also be added if the\ncommand does not define one.","type":"string"}}},"cosmos.autocli.v1.ServiceCommandDescriptor":{"description":"ServiceCommandDescriptor describes a CLI command based on a protobuf service.","type":"object","properties":{"rpc_command_options":{"description":"rpc_command_options are options for commands generated from rpc methods.\nIf no options are specified for a given rpc method on the service, a\ncommand will be generated for that method with the default options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.RpcCommandOptions"}},"service":{"description":"service is the fully qualified name of the protobuf service to build\nthe command from. It can be left empty if sub_commands are used instead\nwhich may be the case if a module provides multiple tx and/or query services.","type":"string"},"sub_commands":{"description":"sub_commands is a map of optional sub-commands for this command based on\ndifferent protobuf services. The map key is used as the name of the\nsub-command.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}}},"cosmos.bank.v1beta1.DenomOwner":{"description":"DenomOwner defines structure representing an account that owns or holds a\nparticular denominated token. It contains the account address and account\nbalance of the denominated token.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address":{"description":"address defines the address that owns a particular denomination.","type":"string"},"balance":{"description":"balance is the balance of the denominated coin for an account.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.DenomUnit":{"description":"DenomUnit represents a struct that describes a given\ndenomination unit of the basic token.","type":"object","properties":{"aliases":{"type":"array","title":"aliases is a list of string aliases for the given denom","items":{"type":"string"}},"denom":{"description":"denom represents the string name of the given denom unit (e.g uatom).","type":"string"},"exponent":{"description":"exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom).","type":"integer","format":"int64"}}},"cosmos.bank.v1beta1.Input":{"description":"Input models transaction input.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Metadata":{"description":"Metadata represents a struct that describes\na basic token.","type":"object","properties":{"base":{"description":"base represents the base denom (should be the DenomUnit with exponent = 0).","type":"string"},"denom_units":{"type":"array","title":"denom_units represents the list of DenomUnit's for a given coin","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomUnit"}},"description":{"type":"string"},"display":{"description":"display indicates the suggested denom that should be\ndisplayed in clients.","type":"string"},"name":{"description":"Since: cosmos-sdk 0.43","type":"string","title":"name defines the name of the token (eg: Cosmos Atom)"},"symbol":{"description":"symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.\n\nSince: cosmos-sdk 0.43","type":"string"},"uri":{"description":"URI to a document (on or off-chain) that contains additional information. Optional.\n\nSince: cosmos-sdk 0.46","type":"string"},"uri_hash":{"description":"URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.\n\nSince: cosmos-sdk 0.46","type":"string"}}},"cosmos.bank.v1beta1.MsgMultiSend":{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","type":"object","properties":{"inputs":{"description":"Inputs, despite being `repeated`, only allows one sender input. This is\nchecked in MsgMultiSend's ValidateBasic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Input"}},"outputs":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Output"}}}},"cosmos.bank.v1beta1.MsgMultiSendResponse":{"description":"MsgMultiSendResponse defines the Msg/MultiSend response type.","type":"object"},"cosmos.bank.v1beta1.MsgSend":{"description":"MsgSend represents a message to send coins from one account to another.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.bank.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.bank.v1beta1.MsgSetSendEnabled":{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module.","type":"string"},"send_enabled":{"description":"send_enabled is the list of entries to add or update.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}},"use_default_for":{"description":"use_default_for is a list of denoms that should use the params.default_send_enabled value.\nDenoms listed here will have their SendEnabled entries deleted.\nIf a denom is included that doesn't have a SendEnabled entry,\nit will be ignored.","type":"array","items":{"type":"string"}}}},"cosmos.bank.v1beta1.MsgSetSendEnabledResponse":{"description":"MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.bank.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/bank parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.bank.v1beta1.Output":{"description":"Output models transaction outputs.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Params":{"description":"Params defines the parameters for the bank module.","type":"object","properties":{"default_send_enabled":{"type":"boolean"},"send_enabled":{"description":"Deprecated: Use of SendEnabled in params is deprecated.\nFor genesis, use the newly added send_enabled field in the genesis object.\nStorage, lookup, and manipulation of this information is now in the keeper.\n\nAs of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QueryAllBalancesResponse":{"description":"QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod.","type":"object","properties":{"balances":{"description":"balances is the balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryBalanceResponse":{"description":"QueryBalanceResponse is the response type for the Query/Balance RPC method.","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse":{"description":"QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC\nmethod. Identical with QueryDenomMetadataResponse but receives denom as query string in request.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomMetadataResponse":{"description":"QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC\nmethod.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse":{"description":"QueryDenomOwnersByQueryResponse defines the RPC response of a DenomOwnersByQuery RPC query.\n\nSince: cosmos-sdk 0.50.3","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomOwnersResponse":{"description":"QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomsMetadataResponse":{"description":"QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC\nmethod.","type":"object","properties":{"metadatas":{"description":"metadata provides the client information for all the registered tokens.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/bank parameters.","type":"object","properties":{"params":{"description":"params provides the parameters of the bank module.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.QuerySendEnabledResponse":{"description":"QuerySendEnabledResponse defines the RPC response of a SendEnable query.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response. This field is only\npopulated if the denoms field in the request is empty.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"send_enabled":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse":{"description":"QuerySpendableBalanceByDenomResponse defines the gRPC response structure for\nquerying an account's spendable balance for a specific denom.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QuerySpendableBalancesResponse":{"description":"QuerySpendableBalancesResponse defines the gRPC response structure for querying\nan account's spendable balances.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"balances":{"description":"balances is the spendable balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QuerySupplyOfResponse":{"description":"QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method.","type":"object","properties":{"amount":{"description":"amount is the supply of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryTotalSupplyResponse":{"type":"object","title":"QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC\nmethod","properties":{"pagination":{"description":"pagination defines the pagination in the response.\n\nSince: cosmos-sdk 0.43","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"supply":{"type":"array","title":"supply is the supply of the coins","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.SendEnabled":{"description":"SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable).","type":"object","properties":{"denom":{"type":"string"},"enabled":{"type":"boolean"}}},"cosmos.base.abci.v1beta1.ABCIMessageLog":{"description":"ABCIMessageLog defines a structure containing an indexed tx ABCI message log.","type":"object","properties":{"events":{"description":"Events contains a slice of Event objects that were emitted during some\nexecution.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.StringEvent"}},"log":{"type":"string"},"msg_index":{"type":"integer","format":"int64"}}},"cosmos.base.abci.v1beta1.Attribute":{"description":"Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes.","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"cosmos.base.abci.v1beta1.GasInfo":{"description":"GasInfo defines tx execution gas context.","type":"object","properties":{"gas_used":{"description":"GasUsed is the amount of gas actually consumed.","type":"string","format":"uint64"},"gas_wanted":{"description":"GasWanted is the maximum units of work we allow this tx to perform.","type":"string","format":"uint64"}}},"cosmos.base.abci.v1beta1.Result":{"description":"Result is the union of ResponseFormat and ResponseCheckTx.","type":"object","properties":{"data":{"description":"Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL.","type":"string","format":"byte"},"events":{"description":"Events contains a slice of Event objects that were emitted during message\nor handler execution.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"log":{"description":"Log contains the log information from message or handler execution.","type":"string"},"msg_responses":{"description":"msg_responses contains the Msg handler responses type packed in Anys.\n\nSince: cosmos-sdk 0.46","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.base.abci.v1beta1.StringEvent":{"description":"StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.Attribute"}},"type":{"type":"string"}}},"cosmos.base.abci.v1beta1.TxResponse":{"description":"TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded.","type":"object","properties":{"code":{"description":"Response code.","type":"integer","format":"int64"},"codespace":{"type":"string","title":"Namespace for the Code"},"data":{"description":"Result bytes, if any.","type":"string"},"events":{"description":"Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"description":"Amount of gas consumed by transaction.","type":"string","format":"int64"},"gas_wanted":{"description":"Amount of gas requested for transaction.","type":"string","format":"int64"},"height":{"type":"string","format":"int64","title":"The block height"},"info":{"description":"Additional information. May be non-deterministic.","type":"string"},"logs":{"description":"The output of the application's logger (typed). May be non-deterministic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.ABCIMessageLog"}},"raw_log":{"description":"The output of the application's logger (raw string). May be\nnon-deterministic.","type":"string"},"timestamp":{"description":"Time of the previous block. For heights \u003e 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time.","type":"string"},"tx":{"description":"The request transaction bytes.","$ref":"#/definitions/google.protobuf.Any"},"txhash":{"description":"The transaction hash.","type":"string"}}},"cosmos.base.node.v1beta1.ConfigResponse":{"description":"ConfigResponse defines the response structure for the Config gRPC query.","type":"object","properties":{"halt_height":{"type":"string","format":"uint64"},"minimum_gas_price":{"type":"string"},"pruning_interval":{"type":"string"},"pruning_keep_recent":{"type":"string"}}},"cosmos.base.node.v1beta1.StatusResponse":{"description":"StateResponse defines the response structure for the status of a node.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"app hash of the current block"},"earliest_store_height":{"type":"string","format":"uint64","title":"earliest block height available in the store"},"height":{"type":"string","format":"uint64","title":"current block height"},"timestamp":{"type":"string","format":"date-time","title":"block height timestamp"},"validator_hash":{"type":"string","format":"byte","title":"validator hash provided by the consensus header"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.reflection.v1beta1.ListAllInterfacesResponse":{"description":"ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC.","type":"object","properties":{"interface_names":{"description":"interface_names is an array of all the registered interfaces.","type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v1beta1.ListImplementationsResponse":{"description":"ListImplementationsResponse is the response type of the ListImplementations\nRPC.","type":"object","properties":{"implementation_message_names":{"type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v2alpha1.AuthnDescriptor":{"type":"object","title":"AuthnDescriptor provides information on how to sign transactions without relying\non the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures","properties":{"sign_modes":{"type":"array","title":"sign_modes defines the supported signature algorithm","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.SigningModeDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ChainDescriptor":{"type":"object","title":"ChainDescriptor describes chain information of the application","properties":{"id":{"type":"string","title":"id is the chain id"}}},"cosmos.base.reflection.v2alpha1.CodecDescriptor":{"type":"object","title":"CodecDescriptor describes the registered interfaces and provides metadata information on the types","properties":{"interfaces":{"type":"array","title":"interfaces is a list of the registerted interfaces descriptors","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ConfigurationDescriptor":{"type":"object","title":"ConfigurationDescriptor contains metadata information on the sdk.Config","properties":{"bech32_account_address_prefix":{"type":"string","title":"bech32_account_address_prefix is the account address prefix"}}},"cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse":{"type":"object","title":"GetAuthnDescriptorResponse is the response returned by the GetAuthnDescriptor RPC","properties":{"authn":{"title":"authn describes how to authenticate to the application when sending transactions","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.AuthnDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse":{"type":"object","title":"GetChainDescriptorResponse is the response returned by the GetChainDescriptor RPC","properties":{"chain":{"title":"chain describes application chain information","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ChainDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse":{"type":"object","title":"GetCodecDescriptorResponse is the response returned by the GetCodecDescriptor RPC","properties":{"codec":{"title":"codec describes the application codec such as registered interfaces and implementations","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.CodecDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse":{"type":"object","title":"GetConfigurationDescriptorResponse is the response returned by the GetConfigurationDescriptor RPC","properties":{"config":{"title":"config describes the application's sdk.Config","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ConfigurationDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse":{"type":"object","title":"GetQueryServicesDescriptorResponse is the response returned by the GetQueryServicesDescriptor RPC","properties":{"queries":{"title":"queries provides information on the available queryable services","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServicesDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse":{"type":"object","title":"GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC","properties":{"tx":{"title":"tx provides information on msgs that can be forwarded to the application\nalongside the accepted transaction protobuf type","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.TxDescriptor"}}},"cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor":{"type":"object","title":"InterfaceAcceptingMessageDescriptor describes a protobuf message which contains\nan interface represented as a google.protobuf.Any","properties":{"field_descriptor_names":{"type":"array","title":"field_descriptor_names is a list of the protobuf name (not fullname) of the field\nwhich contains the interface as google.protobuf.Any (the interface is the same, but\nit can be in multiple fields of the same proto message)","items":{"type":"string"}},"fullname":{"type":"string","title":"fullname is the protobuf fullname of the type containing the interface"}}},"cosmos.base.reflection.v2alpha1.InterfaceDescriptor":{"type":"object","title":"InterfaceDescriptor describes the implementation of an interface","properties":{"fullname":{"type":"string","title":"fullname is the name of the interface"},"interface_accepting_messages":{"type":"array","title":"interface_accepting_messages contains information regarding the proto messages which contain the interface as\ngoogle.protobuf.Any field","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor"}},"interface_implementers":{"type":"array","title":"interface_implementers is a list of the descriptors of the interface implementers","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor"}}}},"cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor":{"type":"object","title":"InterfaceImplementerDescriptor describes an interface implementer","properties":{"fullname":{"type":"string","title":"fullname is the protobuf queryable name of the interface implementer"},"type_url":{"type":"string","title":"type_url defines the type URL used when marshalling the type as any\nthis is required so we can provide type safe google.protobuf.Any marshalling and\nunmarshalling, making sure that we don't accept just 'any' type\nin our interface fields"}}},"cosmos.base.reflection.v2alpha1.MsgDescriptor":{"type":"object","title":"MsgDescriptor describes a cosmos-sdk message that can be delivered with a transaction","properties":{"msg_type_url":{"description":"msg_type_url contains the TypeURL of a sdk.Msg.","type":"string"}}},"cosmos.base.reflection.v2alpha1.QueryMethodDescriptor":{"type":"object","title":"QueryMethodDescriptor describes a queryable method of a query service\nno other info is provided beside method name and tendermint queryable path\nbecause it would be redundant with the grpc reflection service","properties":{"full_query_path":{"type":"string","title":"full_query_path is the path that can be used to query\nthis method via tendermint abci.Query"},"name":{"type":"string","title":"name is the protobuf name (not fullname) of the method"}}},"cosmos.base.reflection.v2alpha1.QueryServiceDescriptor":{"type":"object","title":"QueryServiceDescriptor describes a cosmos-sdk queryable service","properties":{"fullname":{"type":"string","title":"fullname is the protobuf fullname of the service descriptor"},"is_module":{"type":"boolean","title":"is_module describes if this service is actually exposed by an application's module"},"methods":{"type":"array","title":"methods provides a list of query service methods","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryMethodDescriptor"}}}},"cosmos.base.reflection.v2alpha1.QueryServicesDescriptor":{"type":"object","title":"QueryServicesDescriptor contains the list of cosmos-sdk queriable services","properties":{"query_services":{"type":"array","title":"query_services is a list of cosmos-sdk QueryServiceDescriptor","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServiceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.SigningModeDescriptor":{"type":"object","title":"SigningModeDescriptor provides information on a signing flow of the application\nNOTE(fdymylja): here we could go as far as providing an entire flow on how\nto sign a message given a SigningModeDescriptor, but it's better to think about\nthis another time","properties":{"authn_info_provider_method_fullname":{"type":"string","title":"authn_info_provider_method_fullname defines the fullname of the method to call to get\nthe metadata required to authenticate using the provided sign_modes"},"name":{"type":"string","title":"name defines the unique name of the signing mode"},"number":{"type":"integer","format":"int32","title":"number is the unique int32 identifier for the sign_mode enum"}}},"cosmos.base.reflection.v2alpha1.TxDescriptor":{"type":"object","title":"TxDescriptor describes the accepted transaction type","properties":{"fullname":{"description":"fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type)\nit is not meant to support polymorphism of transaction types, it is supposed to be used by\nreflection clients to understand if they can handle a specific transaction type in an application.","type":"string"},"msgs":{"type":"array","title":"msgs lists the accepted application messages (sdk.Msg)","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.MsgDescriptor"}}}},"cosmos.base.tendermint.v1beta1.ABCIQueryResponse":{"description":"ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint.","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"type":"string","title":"nondeterministic"},"proof_ops":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOps"},"value":{"type":"string","format":"byte"}}},"cosmos.base.tendermint.v1beta1.Block":{"description":"Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string.","type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse":{"description":"GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"title":"Since: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestBlockResponse":{"description":"GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"title":"Since: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse":{"description":"GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.GetNodeInfoResponse":{"description":"GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method.","type":"object","properties":{"application_version":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.VersionInfo"},"default_node_info":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfo"}}},"cosmos.base.tendermint.v1beta1.GetSyncingResponse":{"description":"GetSyncingResponse is the response type for the Query/GetSyncing RPC method.","type":"object","properties":{"syncing":{"type":"boolean"}}},"cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse":{"description":"GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.Header":{"description":"Header defines the structure of a Tendermint block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"description":"proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX.\n\noriginal proposer of the block","type":"string"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"cosmos.base.tendermint.v1beta1.Module":{"type":"object","title":"Module is the type for VersionInfo","properties":{"path":{"type":"string","title":"module path"},"sum":{"type":"string","title":"checksum"},"version":{"type":"string","title":"module version"}}},"cosmos.base.tendermint.v1beta1.ProofOp":{"description":"ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint.","type":"object","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"cosmos.base.tendermint.v1beta1.ProofOps":{"description":"ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint.","type":"object","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOp"}}}},"cosmos.base.tendermint.v1beta1.Validator":{"description":"Validator is the type for the validator-set.","type":"object","properties":{"address":{"type":"string"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"voting_power":{"type":"string","format":"int64"}}},"cosmos.base.tendermint.v1beta1.VersionInfo":{"description":"VersionInfo is the type for the GetNodeInfoResponse message.","type":"object","properties":{"app_name":{"type":"string"},"build_deps":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Module"}},"build_tags":{"type":"string"},"cosmos_sdk_version":{"type":"string","title":"Since: cosmos-sdk 0.43"},"git_commit":{"type":"string"},"go_version":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.base.v1beta1.DecCoin":{"description":"DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.circuit.v1.AccountResponse":{"description":"AccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"permission":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.AccountsResponse":{"description":"AccountsResponse is the response type for the Query/Accounts RPC method.","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.circuit.v1.GenesisAccountPermissions"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.circuit.v1.DisabledListResponse":{"description":"DisabledListResponse is the response type for the Query/DisabledList RPC method.","type":"object","properties":{"disabled_list":{"type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.GenesisAccountPermissions":{"type":"object","title":"GenesisAccountPermissions is the account permissions for the circuit breaker in genesis","properties":{"address":{"type":"string"},"permissions":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreaker":{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","type":"object","properties":{"grantee":{"description":"grantee is the account authorized with the provided permissions.","type":"string"},"granter":{"description":"granter is the granter of the circuit breaker permissions and must have\nLEVEL_SUPER_ADMIN.","type":"string"},"permissions":{"description":"permissions are the circuit breaker permissions that the grantee receives.\nThese will overwrite any existing permissions. LEVEL_NONE_UNSPECIFIED can\nbe specified to revoke all permissions.","$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse":{"description":"MsgAuthorizeCircuitBreakerResponse defines the Msg/AuthorizeCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgResetCircuitBreaker":{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip or reset the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of Msg type URLs to resume processing. If\nit is left empty all Msg processing for type URLs that the account is\nauthorized to trip will resume.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgResetCircuitBreakerResponse":{"description":"MsgResetCircuitBreakerResponse defines the Msg/ResetCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgTripCircuitBreaker":{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of type URLs to immediately stop processing.\nIF IT IS LEFT EMPTY, ALL MSG PROCESSING WILL STOP IMMEDIATELY.\nThis value is validated against the authority's permissions and if the\nauthority does not have permissions to trip the specified msg type URLs\n(or all URLs), the operation will fail.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgTripCircuitBreakerResponse":{"description":"MsgTripCircuitBreakerResponse defines the Msg/TripCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.Permissions":{"description":"Permissions are the permissions that an account has to trip\nor reset the circuit breaker.","type":"object","properties":{"level":{"description":"level is the level of permissions granted to this account.","$ref":"#/definitions/cosmos.circuit.v1.Permissions.Level"},"limit_type_urls":{"description":"limit_type_urls is used with LEVEL_SOME_MSGS to limit the lists of Msg type\nURLs that the account can trip. It is an error to use limit_type_urls with\na level other than LEVEL_SOME_MSGS.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.Permissions.Level":{"description":"Level is the permission level.\n\n - LEVEL_NONE_UNSPECIFIED: LEVEL_NONE_UNSPECIFIED indicates that the account will have no circuit\nbreaker permissions.\n - LEVEL_SOME_MSGS: LEVEL_SOME_MSGS indicates that the account will have permission to\ntrip or reset the circuit breaker for some Msg type URLs. If this level\nis chosen, a non-empty list of Msg type URLs must be provided in\nlimit_type_urls.\n - LEVEL_ALL_MSGS: LEVEL_ALL_MSGS indicates that the account can trip or reset the circuit\nbreaker for Msg's of all type URLs.\n - LEVEL_SUPER_ADMIN: LEVEL_SUPER_ADMIN indicates that the account can take all circuit breaker\nactions and can grant permissions to other accounts.","type":"string","default":"LEVEL_NONE_UNSPECIFIED","enum":["LEVEL_NONE_UNSPECIFIED","LEVEL_SOME_MSGS","LEVEL_ALL_MSGS","LEVEL_SUPER_ADMIN"]},"cosmos.consensus.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"abci":{"title":"Since: cosmos-sdk 0.50","$ref":"#/definitions/tendermint.types.ABCIParams"},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"block":{"description":"params defines the x/consensus parameters to update.\nVersionsParams is not included in this Msg because it is tracked\nsepararately in x/upgrade.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"}}},"cosmos.consensus.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.consensus.v1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/consensus parameters.","type":"object","properties":{"params":{"description":"params are the tendermint consensus params stored in the consensus module.\nPlease note that `params.version` is not populated in this response, it is\ntracked separately in the x/upgrade module.","$ref":"#/definitions/tendermint.types.ConsensusParams"}}},"cosmos.crisis.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"constant_fee":{"description":"constant_fee defines the x/crisis parameter.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.crisis.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.crisis.v1beta1.MsgVerifyInvariant":{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","type":"object","properties":{"invariant_module_name":{"description":"name of the invariant module.","type":"string"},"invariant_route":{"description":"invariant_route is the msg's invariant route.","type":"string"},"sender":{"description":"sender is the account address of private key to send coins to fee collector account.","type":"string"}}},"cosmos.crisis.v1beta1.MsgVerifyInvariantResponse":{"description":"MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type.","type":"object"},"cosmos.crypto.multisig.v1beta1.CompactBitArray":{"description":"CompactBitArray is an implementation of a space efficient bit array.\nThis is used to ensure that the encoded data takes up a minimal amount of\nspace after proto encoding.\nThis is not thread safe, and is not intended for concurrent usage.","type":"object","properties":{"elems":{"type":"string","format":"byte"},"extra_bits_stored":{"type":"integer","format":"int64"}}},"cosmos.distribution.v1beta1.DelegationDelegatorReward":{"description":"DelegationDelegatorReward represents the properties\nof a delegator's delegation reward.","type":"object","properties":{"reward":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpend":{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"recipient":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse":{"description":"MsgCommunityPoolSpendResponse defines the response to executing a\nMsgCommunityPoolSpend message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool":{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse":{"description":"MsgDepositValidatorRewardsPoolResponse defines the response to executing a\nMsgDepositValidatorRewardsPool message.\n\nSince: cosmos-sdk 0.50","type":"object"},"cosmos.distribution.v1beta1.MsgFundCommunityPool":{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse":{"description":"MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.","type":"object"},"cosmos.distribution.v1beta1.MsgSetWithdrawAddress":{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","type":"object","properties":{"delegator_address":{"type":"string"},"withdraw_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse":{"description":"MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response\ntype.","type":"object"},"cosmos.distribution.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/distribution parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward":{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","type":"object","properties":{"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse":{"description":"MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward\nresponse type.","type":"object","properties":{"amount":{"type":"array","title":"Since: cosmos-sdk 0.46","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission":{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","type":"object","properties":{"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse":{"description":"MsgWithdrawValidatorCommissionResponse defines the\nMsg/WithdrawValidatorCommission response type.","type":"object","properties":{"amount":{"type":"array","title":"Since: cosmos-sdk 0.46","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.Params":{"description":"Params defines the set of params for the distribution module.","type":"object","properties":{"base_proposer_reward":{"description":"Deprecated: The base_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"bonus_proposer_reward":{"description":"Deprecated: The bonus_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"community_tax":{"type":"string"},"withdraw_addr_enabled":{"type":"boolean"}}},"cosmos.distribution.v1beta1.QueryCommunityPoolResponse":{"description":"QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method.","type":"object","properties":{"pool":{"description":"pool defines community pool's coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationRewardsResponse":{"description":"QueryDelegationRewardsResponse is the response type for the\nQuery/DelegationRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines the rewards accrued by a delegation.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse":{"description":"QueryDelegationTotalRewardsResponse is the response type for the\nQuery/DelegationTotalRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines all the rewards accrued by a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.DelegationDelegatorReward"}},"total":{"description":"total defines the sum of all the rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is the response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"validators":{"description":"validators defines the validators a delegator is delegating for.","type":"array","items":{"type":"string"}}}},"cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse":{"description":"QueryDelegatorWithdrawAddressResponse is the response type for the\nQuery/DelegatorWithdrawAddress RPC method.","type":"object","properties":{"withdraw_address":{"description":"withdraw_address defines the delegator address to query for.","type":"string"}}},"cosmos.distribution.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.QueryValidatorCommissionResponse":{"type":"object","title":"QueryValidatorCommissionResponse is the response type for the\nQuery/ValidatorCommission RPC method","properties":{"commission":{"description":"commission defines the commission the validator received.","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission"}}},"cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse":{"description":"QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method.","type":"object","properties":{"commission":{"description":"commission defines the commission the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"operator_address":{"description":"operator_address defines the validator operator address.","type":"string"},"self_bond_rewards":{"description":"self_bond_rewards defines the self delegations rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse":{"description":"QueryValidatorOutstandingRewardsResponse is the response type for the\nQuery/ValidatorOutstandingRewards RPC method.","type":"object","properties":{"rewards":{"$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorOutstandingRewards"}}},"cosmos.distribution.v1beta1.QueryValidatorSlashesResponse":{"description":"QueryValidatorSlashesResponse is the response type for the\nQuery/ValidatorSlashes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"slashes":{"description":"slashes defines the slashes the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorSlashEvent"}}}},"cosmos.distribution.v1beta1.ValidatorAccumulatedCommission":{"description":"ValidatorAccumulatedCommission represents accumulated commission\nfor a validator kept as a running counter, can be withdrawn at any time.","type":"object","properties":{"commission":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorOutstandingRewards":{"description":"ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards\nfor a validator inexpensive to track, allows simple sanity checks.","type":"object","properties":{"rewards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorSlashEvent":{"description":"ValidatorSlashEvent represents a validator slash event.\nHeight is implicit within the store key.\nThis is needed to calculate appropriate amount of staking tokens\nfor delegations which are withdrawn after a slash has occurred.","type":"object","properties":{"fraction":{"type":"string"},"validator_period":{"type":"string","format":"uint64"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidence":{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","type":"object","properties":{"evidence":{"description":"evidence defines the evidence of misbehavior.","$ref":"#/definitions/google.protobuf.Any"},"submitter":{"description":"submitter is the signer account address of evidence.","type":"string"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse":{"description":"MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.","type":"object","properties":{"hash":{"description":"hash defines the hash of the evidence.","type":"string","format":"byte"}}},"cosmos.evidence.v1beta1.QueryAllEvidenceResponse":{"description":"QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod.","type":"object","properties":{"evidence":{"description":"evidence returns all evidences.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.evidence.v1beta1.QueryEvidenceResponse":{"description":"QueryEvidenceResponse is the response type for the Query/Evidence RPC method.","type":"object","properties":{"evidence":{"description":"evidence returns the requested evidence.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.feegrant.v1beta1.Grant":{"type":"object","title":"Grant is stored in the KVStore to record a grant with full context","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowance":{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","type":"object","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse":{"description":"MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.MsgPruneAllowances":{"description":"MsgPruneAllowances prunes expired fee allowances.\n\nSince cosmos-sdk 0.50","type":"object","properties":{"pruner":{"description":"pruner is the address of the user pruning expired allowances.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse":{"description":"MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse response type.\n\nSince cosmos-sdk 0.50","type":"object"},"cosmos.feegrant.v1beta1.MsgRevokeAllowance":{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","type":"object","properties":{"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse":{"description":"MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.QueryAllowanceResponse":{"description":"QueryAllowanceResponse is the response type for the Query/Allowance RPC method.","type":"object","properties":{"allowance":{"description":"allowance is a allowance granted for grantee by granter.","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}}},"cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse":{"description":"QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"allowances":{"description":"allowances that have been issued by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.feegrant.v1beta1.QueryAllowancesResponse":{"description":"QueryAllowancesResponse is the response type for the Query/Allowances RPC method.","type":"object","properties":{"allowances":{"description":"allowances are allowance's granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1.MsgCancelProposal":{"description":"MsgCancelProposal is the Msg/CancelProposal request type.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1.MsgCancelProposalResponse":{"description":"MsgCancelProposalResponse defines the response structure for executing a\nMsgCancelProposal message.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"canceled_height":{"description":"canceled_height defines the block height at which the proposal is canceled.","type":"string","format":"uint64"},"canceled_time":{"description":"canceled_time is the time when proposal is canceled.","type":"string","format":"date-time"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1.MsgExecLegacyContent":{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","type":"object","properties":{"authority":{"description":"authority must be the gov module address.","type":"string"},"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.gov.v1.MsgExecLegacyContentResponse":{"description":"MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type.","type":"object"},"cosmos.gov.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"expedited":{"description":"Since: cosmos-sdk 0.50","type":"boolean","title":"expedited defines if the proposal is expedited or not"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"messages":{"description":"messages are the arbitrary messages to be executed if proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is the summary of the proposal"},"title":{"description":"title is the title of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"}}},"cosmos.gov.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/gov parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.gov.v1.Params"}}},"cosmos.gov.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.gov.v1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the Vote.","type":"string"},"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the VoteWeighted.","type":"string"},"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.","type":"object"},"cosmos.gov.v1.Params":{"description":"Params defines the parameters for the x/gov module.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"burn_proposal_deposit_prevote":{"type":"boolean","title":"burn deposits if the proposal does not enter voting period"},"burn_vote_quorum":{"type":"boolean","title":"burn deposits if a proposal does not meet quorum"},"burn_vote_veto":{"type":"boolean","title":"burn deposits if quorum with vote type no_veto is met"},"expedited_min_deposit":{"description":"Minimum expedited deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"expedited_threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.\n\nSince: cosmos-sdk 0.50","type":"string"},"expedited_voting_period":{"description":"Duration of the voting period of an expedited proposal.\n\nSince: cosmos-sdk 0.50","type":"string"},"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"min_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.\nDefault value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be\nrequired.\n\nSince: cosmos-sdk 0.50","type":"string"},"min_initial_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value that must be paid at proposal submission.","type":"string"},"proposal_cancel_dest":{"description":"The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.\nIf empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.\n\nSince: cosmos-sdk 0.50","type":"string"},"proposal_cancel_ratio":{"description":"The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.\n\nSince: cosmos-sdk 0.50","type":"string"},"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\n considered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3.","type":"string"},"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"expedited":{"description":"Since: cosmos-sdk 0.50","type":"boolean","title":"expedited defines if the proposal is expedited"},"failed_reason":{"description":"Since: cosmos-sdk 0.50","type":"string","title":"failed_reason defines the reason why the proposal failed"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"},"id":{"description":"id defines the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages are the arbitrary messages to be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3"},"proposer":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"proposer is the address of the proposal sumbitter"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is a short summary of the proposal"},"title":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"title is the title of the proposal"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1.QueryConstitutionResponse":{"type":"object","title":"QueryConstitutionResponse is the response type for the Query/Constitution RPC method","properties":{"constitution":{"type":"string"}}},"cosmos.gov.v1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1.Deposit"}}},"cosmos.gov.v1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1.DepositParams"},"params":{"description":"params defines all the paramaters of x/gov module.\n\nSince: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.gov.v1.Params"},"tally_params":{"description":"Deprecated: Prefer to use `params` instead.\ntally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1.TallyParams"},"voting_params":{"description":"Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1.VotingParams"}}},"cosmos.gov.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"description":"proposal is the requested governance proposal.","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}},"cosmos.gov.v1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}}},"cosmos.gov.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"}}},"cosmos.gov.v1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1.Vote"}}},"cosmos.gov.v1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Vote"}}}},"cosmos.gov.v1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string"}}},"cosmos.gov.v1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the number of abstain votes on a proposal.","type":"string"},"no_count":{"description":"no_count is the number of no votes on a proposal.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the number of no with veto votes on a proposal.","type":"string"},"yes_count":{"description":"yes_count is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5"},"options":{"description":"options is the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.gov.v1beta1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1beta1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1beta1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1beta1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1beta1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.\n\nSince: cosmos-sdk 0.43","type":"object"},"cosmos.gov.v1beta1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1beta1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1beta1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1beta1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}}},"cosmos.gov.v1beta1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"deposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.DepositParams"},"tally_params":{"description":"tally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyParams"},"voting_params":{"description":"voting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1beta1.VotingParams"}}},"cosmos.gov.v1beta1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}},"cosmos.gov.v1beta1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}}},"cosmos.gov.v1beta1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"}}},"cosmos.gov.v1beta1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}},"cosmos.gov.v1beta1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}}},"cosmos.gov.v1beta1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string","format":"byte"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string","format":"byte"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string","format":"byte"}}},"cosmos.gov.v1beta1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain":{"description":"abstain is the number of abstain votes on a proposal.","type":"string"},"no":{"description":"no is the number of no votes on a proposal.","type":"string"},"no_with_veto":{"description":"no_with_veto is the number of no with veto votes on a proposal.","type":"string"},"yes":{"description":"yes is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1beta1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"option":{"description":"Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"options":{"description":"options is the weighted vote options.\n\nSince: cosmos-sdk 0.43","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1beta1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1beta1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1beta1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.group.v1.Exec":{"description":"Exec defines modes of execution of a proposal on creation or on new vote.\n\n - EXEC_UNSPECIFIED: An empty value means that there should be a separate\nMsgExec request for the proposal to execute.\n - EXEC_TRY: Try to execute the proposal immediately.\nIf the proposal is not allowed per the DecisionPolicy,\nthe proposal will still be open and could\nbe executed at a later point.","type":"string","default":"EXEC_UNSPECIFIED","enum":["EXEC_UNSPECIFIED","EXEC_TRY"]},"cosmos.group.v1.GroupInfo":{"description":"GroupInfo represents the high-level on-chain information for a group.","type":"object","properties":{"admin":{"description":"admin is the account address of the group's admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group was created.","type":"string","format":"date-time"},"id":{"description":"id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata to attached to the group.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#group-1"},"total_weight":{"description":"total_weight is the sum of the group members' weights.","type":"string"},"version":{"type":"string","format":"uint64","title":"version is used to track changes to a group's membership structure that\nwould break existing proposals. Whenever any members weight is changed,\nor any member is added or removed this version is incremented and will\ncause proposals based on older versions of this group to fail"}}},"cosmos.group.v1.GroupMember":{"description":"GroupMember represents the relationship between a group and a member.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member":{"description":"member is the member data.","$ref":"#/definitions/cosmos.group.v1.Member"}}},"cosmos.group.v1.GroupPolicyInfo":{"description":"GroupPolicyInfo represents the high-level on-chain information for a group policy.","type":"object","properties":{"address":{"description":"address is the account address of group policy.","type":"string"},"admin":{"description":"admin is the account address of the group admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group policy was created.","type":"string","format":"date-time"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the group policy.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#decision-policy-1"},"version":{"description":"version is used to track changes to a group's GroupPolicyInfo structure that\nwould create a different result on a running proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.Member":{"description":"Member represents a group member with an account address,\nnon-zero weight, metadata and added_at timestamp.","type":"object","properties":{"added_at":{"description":"added_at is a timestamp specifying when a member was added.","type":"string","format":"date-time"},"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MemberRequest":{"description":"MemberRequest represents a group member to be used in Msg server requests.\nContrary to `Member`, it doesn't have any `added_at` field\nsince this field cannot be set as part of requests.","type":"object","properties":{"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MsgCreateGroup":{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}},"metadata":{"description":"metadata is any arbitrary metadata to attached to the group.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicy":{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is any arbitrary metadata attached to the group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicyResponse":{"description":"MsgCreateGroupPolicyResponse is the Msg/CreateGroupPolicy response type.","type":"object","properties":{"address":{"description":"address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupResponse":{"description":"MsgCreateGroupResponse is the Msg/CreateGroup response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgCreateGroupWithPolicy":{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group and group policy admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_metadata":{"description":"group_metadata is any arbitrary metadata attached to the group.","type":"string"},"group_policy_as_admin":{"description":"group_policy_as_admin is a boolean field, if set to true, the group policy account address will be used as group\nand group policy admin.","type":"boolean"},"group_policy_metadata":{"description":"group_policy_metadata is any arbitrary metadata attached to the group policy.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgCreateGroupWithPolicyResponse":{"description":"MsgCreateGroupWithPolicyResponse is the Msg/CreateGroupWithPolicy response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group with policy.","type":"string","format":"uint64"},"group_policy_address":{"description":"group_policy_address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgExec":{"description":"MsgExec is the Msg/Exec request type.","type":"object","properties":{"executor":{"description":"executor is the account address used to execute the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgExecResponse":{"description":"MsgExecResponse is the Msg/Exec request type.","type":"object","properties":{"result":{"description":"result is the final result of the proposal execution.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"}}},"cosmos.group.v1.MsgLeaveGroup":{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","type":"object","properties":{"address":{"description":"address is the account address of the group member.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgLeaveGroupResponse":{"description":"MsgLeaveGroupResponse is the Msg/LeaveGroup response type.","type":"object"},"cosmos.group.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","type":"object","properties":{"exec":{"description":"exec defines the mode of execution of the proposal,\nwhether it should be executed immediately on creation or not.\nIf so, proposers signatures are considered as Yes votes.","$ref":"#/definitions/cosmos.group.v1.Exec"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposers":{"description":"proposers are the account addresses of the proposers.\nProposers signatures will be counted as yes votes.","type":"array","items":{"type":"string"}},"summary":{"description":"summary is the summary of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"},"title":{"description":"title is the title of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"}}},"cosmos.group.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse is the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgUpdateGroupAdmin":{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the current account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"new_admin":{"description":"new_admin is the group new admin account address.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupAdminResponse":{"description":"MsgUpdateGroupAdminResponse is the Msg/UpdateGroupAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMembers":{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member_updates":{"description":"member_updates is the list of members to update,\nset weight to 0 to remove a member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgUpdateGroupMembersResponse":{"description":"MsgUpdateGroupMembersResponse is the Msg/UpdateGroupMembers response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMetadata":{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is the updated group's metadata.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupMetadataResponse":{"description":"MsgUpdateGroupMetadataResponse is the Msg/UpdateGroupMetadata response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyAdmin":{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of the group policy.","type":"string"},"new_admin":{"description":"new_admin is the new group policy admin.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse":{"description":"MsgUpdateGroupPolicyAdminResponse is the Msg/UpdateGroupPolicyAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy":{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy is the updated group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse":{"description":"MsgUpdateGroupPolicyDecisionPolicyResponse is the Msg/UpdateGroupPolicyDecisionPolicy response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyMetadata":{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"metadata":{"description":"metadata is the group policy metadata to be updated.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse":{"description":"MsgUpdateGroupPolicyMetadataResponse is the Msg/UpdateGroupPolicyMetadata response type.","type":"object"},"cosmos.group.v1.MsgVote":{"description":"MsgVote is the Msg/Vote request type.","type":"object","properties":{"exec":{"description":"exec defines whether the proposal should be executed\nimmediately after voting or not.","$ref":"#/definitions/cosmos.group.v1.Exec"},"metadata":{"description":"metadata is any arbitrary metadata attached to the vote.","type":"string"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter account address.","type":"string"}}},"cosmos.group.v1.MsgVoteResponse":{"description":"MsgVoteResponse is the Msg/Vote response type.","type":"object"},"cosmos.group.v1.MsgWithdrawProposal":{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","type":"object","properties":{"address":{"description":"address is the admin of the group policy or one of the proposer of the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgWithdrawProposalResponse":{"description":"MsgWithdrawProposalResponse is the Msg/WithdrawProposal response type.","type":"object"},"cosmos.group.v1.Proposal":{"description":"Proposal defines a group proposal. Any member of a group can submit a proposal\nfor a group policy to decide upon.\nA proposal consists of a set of `sdk.Msg`s that will be executed if the proposal\npasses as well as some optional metadata associated with the proposal.","type":"object","properties":{"executor_result":{"description":"executor_result is the final result of the proposal execution. Initial value is NotRun.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"},"final_tally_result":{"description":"final_tally_result contains the sums of all weighted votes for this\nproposal for each vote option. It is empty at submission, and only\npopulated after tallying, at voting period end or at proposal execution,\nwhichever happens first.","$ref":"#/definitions/cosmos.group.v1.TallyResult"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"group_policy_version":{"description":"group_policy_version tracks the version of the group policy at proposal submission.\nWhen a decision policy is changed, existing proposals from previous policy\nversions will become invalid with the `ABORTED` status.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"group_version":{"description":"group_version tracks the version of the group at proposal submission.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"id":{"description":"id is the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#proposal-4"},"proposers":{"description":"proposers are the account addresses of the proposers.","type":"array","items":{"type":"string"}},"status":{"description":"status represents the high level position in the life cycle of the proposal. Initial value is Submitted.","$ref":"#/definitions/cosmos.group.v1.ProposalStatus"},"submit_time":{"description":"submit_time is a timestamp specifying when a proposal was submitted.","type":"string","format":"date-time"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is a short summary of the proposal"},"title":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"title is the title of the proposal"},"voting_period_end":{"description":"voting_period_end is the timestamp before which voting must be done.\nUnless a successful MsgExec is called before (to execute a proposal whose\ntally is successful before the voting period ends), tallying will be done\nat this point, and the `final_tally_result`and `status` fields will be\naccordingly updated.","type":"string","format":"date-time"}}},"cosmos.group.v1.ProposalExecutorResult":{"description":"ProposalExecutorResult defines types of proposal executor results.\n\n - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: An empty value is not allowed.\n - PROPOSAL_EXECUTOR_RESULT_NOT_RUN: We have not yet run the executor.\n - PROPOSAL_EXECUTOR_RESULT_SUCCESS: The executor was successful and proposed action updated state.\n - PROPOSAL_EXECUTOR_RESULT_FAILURE: The executor returned an error and proposed action didn't update state.","type":"string","default":"PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","enum":["PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","PROPOSAL_EXECUTOR_RESULT_NOT_RUN","PROPOSAL_EXECUTOR_RESULT_SUCCESS","PROPOSAL_EXECUTOR_RESULT_FAILURE"]},"cosmos.group.v1.ProposalStatus":{"description":"ProposalStatus defines proposal statuses.\n\n - PROPOSAL_STATUS_UNSPECIFIED: An empty value is invalid and not allowed.\n - PROPOSAL_STATUS_SUBMITTED: Initial status of a proposal when submitted.\n - PROPOSAL_STATUS_ACCEPTED: Final status of a proposal when the final tally is done and the outcome\npasses the group policy's decision policy.\n - PROPOSAL_STATUS_REJECTED: Final status of a proposal when the final tally is done and the outcome\nis rejected by the group policy's decision policy.\n - PROPOSAL_STATUS_ABORTED: Final status of a proposal when the group policy is modified before the\nfinal tally.\n - PROPOSAL_STATUS_WITHDRAWN: A proposal can be withdrawn before the voting start time by the owner.\nWhen this happens the final status is Withdrawn.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_SUBMITTED","PROPOSAL_STATUS_ACCEPTED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_ABORTED","PROPOSAL_STATUS_WITHDRAWN"]},"cosmos.group.v1.QueryGroupInfoResponse":{"description":"QueryGroupInfoResponse is the Query/GroupInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupInfo of the group.","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}}},"cosmos.group.v1.QueryGroupMembersResponse":{"description":"QueryGroupMembersResponse is the Query/GroupMembersResponse response type.","type":"object","properties":{"members":{"description":"members are the members of the group with given group_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupMember"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByAdminResponse":{"description":"QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info with provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByGroupResponse":{"description":"QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info associated with the provided group.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPolicyInfoResponse":{"description":"QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupPolicyInfo of the group policy.","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}}},"cosmos.group.v1.QueryGroupsByAdminResponse":{"description":"QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsByMemberResponse":{"description":"QueryGroupsByMemberResponse is the Query/GroupsByMember response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided group member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsResponse":{"description":"QueryGroupsResponse is the Query/Groups response type.\n\nSince: cosmos-sdk 0.47.1","type":"object","properties":{"groups":{"description":"`groups` is all the groups present in state.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the Query/Proposal response type.","type":"object","properties":{"proposal":{"description":"proposal is the proposal info.","$ref":"#/definitions/cosmos.group.v1.Proposal"}}},"cosmos.group.v1.QueryProposalsByGroupPolicyResponse":{"description":"QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals are the proposals with given group policy.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Proposal"}}}},"cosmos.group.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the Query/TallyResult response type.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.group.v1.TallyResult"}}},"cosmos.group.v1.QueryVoteByProposalVoterResponse":{"description":"QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter response type.","type":"object","properties":{"vote":{"description":"vote is the vote with given proposal_id and voter.","$ref":"#/definitions/cosmos.group.v1.Vote"}}},"cosmos.group.v1.QueryVotesByProposalResponse":{"description":"QueryVotesByProposalResponse is the Query/VotesByProposal response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes for given proposal_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.QueryVotesByVoterResponse":{"description":"QueryVotesByVoterResponse is the Query/VotesByVoter response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes by given voter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.TallyResult":{"description":"TallyResult represents the sum of weighted votes for each vote option.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the weighted sum of abstainers.","type":"string"},"no_count":{"description":"no_count is the weighted sum of no votes.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the weighted sum of veto.","type":"string"},"yes_count":{"description":"yes_count is the weighted sum of yes votes.","type":"string"}}},"cosmos.group.v1.Vote":{"type":"object","title":"Vote represents a vote for a proposal.string metadata","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#vote-2"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"submit_time":{"description":"submit_time is the timestamp when the vote was submitted.","type":"string","format":"date-time"},"voter":{"description":"voter is the account address of the voter.","type":"string"}}},"cosmos.group.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will\nreturn an error.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.mint.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/mint parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.mint.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.mint.v1beta1.Params":{"description":"Params defines the parameters for the x/mint module.","type":"object","properties":{"blocks_per_year":{"type":"string","format":"uint64","title":"expected blocks per year"},"goal_bonded":{"type":"string","title":"goal of percent bonded atoms"},"inflation_max":{"type":"string","title":"maximum inflation rate"},"inflation_min":{"type":"string","title":"minimum inflation rate"},"inflation_rate_change":{"type":"string","title":"maximum annual change in inflation rate"},"mint_denom":{"type":"string","title":"type of coin to mint"}}},"cosmos.mint.v1beta1.QueryAnnualProvisionsResponse":{"description":"QueryAnnualProvisionsResponse is the response type for the\nQuery/AnnualProvisions RPC method.","type":"object","properties":{"annual_provisions":{"description":"annual_provisions is the current minting annual provisions value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryInflationResponse":{"description":"QueryInflationResponse is the response type for the Query/Inflation RPC\nmethod.","type":"object","properties":{"inflation":{"description":"inflation is the current minting inflation value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.nft.v1beta1.Class":{"description":"Class defines the class of the nft type.","type":"object","properties":{"data":{"title":"data is the app specific metadata of the NFT class. Optional","$ref":"#/definitions/google.protobuf.Any"},"description":{"type":"string","title":"description is a brief description of nft classification. Optional"},"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"},"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"}}},"cosmos.nft.v1beta1.MsgSend":{"description":"MsgSend represents a message to send a nft from one account to another account.","type":"object","properties":{"class_id":{"type":"string","title":"class_id defines the unique identifier of the nft classification, similar to the contract address of ERC721"},"id":{"type":"string","title":"id defines the unique identification of nft"},"receiver":{"type":"string","title":"receiver is the receiver address of nft"},"sender":{"type":"string","title":"sender is the address of the owner of nft"}}},"cosmos.nft.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.nft.v1beta1.NFT":{"description":"NFT defines the NFT.","type":"object","properties":{"class_id":{"type":"string","title":"class_id associated with the NFT, similar to the contract address of ERC721"},"data":{"title":"data is an app specific data of the NFT. Optional","$ref":"#/definitions/google.protobuf.Any"},"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"}}},"cosmos.nft.v1beta1.QueryBalanceResponse":{"type":"object","title":"QueryBalanceResponse is the response type for the Query/Balance RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs of a given class owned by the owner"}}},"cosmos.nft.v1beta1.QueryClassResponse":{"type":"object","title":"QueryClassResponse is the response type for the Query/Class RPC method","properties":{"class":{"description":"class defines the class of the nft type.","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}}},"cosmos.nft.v1beta1.QueryClassesResponse":{"type":"object","title":"QueryClassesResponse is the response type for the Query/Classes RPC method","properties":{"classes":{"description":"class defines the class of the nft type.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryNFTResponse":{"type":"object","title":"QueryNFTResponse is the response type for the Query/NFT RPC method","properties":{"nft":{"title":"owner is the owner address of the nft","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}}},"cosmos.nft.v1beta1.QueryNFTsResponse":{"type":"object","title":"QueryNFTsResponse is the response type for the Query/NFTs RPC methods","properties":{"nfts":{"type":"array","title":"NFT defines the NFT","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryOwnerResponse":{"type":"object","title":"QueryOwnerResponse is the response type for the Query/Owner RPC method","properties":{"owner":{"type":"string","title":"owner is the owner address of the nft"}}},"cosmos.nft.v1beta1.QuerySupplyResponse":{"type":"object","title":"QuerySupplyResponse is the response type for the Query/Supply RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs from the given class"}}},"cosmos.params.v1beta1.ParamChange":{"description":"ParamChange defines an individual parameter change, for use in\nParameterChangeProposal.","type":"object","properties":{"key":{"type":"string"},"subspace":{"type":"string"},"value":{"type":"string"}}},"cosmos.params.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"param":{"description":"param defines the queried parameter.","$ref":"#/definitions/cosmos.params.v1beta1.ParamChange"}}},"cosmos.params.v1beta1.QuerySubspacesResponse":{"description":"QuerySubspacesResponse defines the response types for querying for all\nregistered subspaces and all keys for a subspace.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"subspaces":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.params.v1beta1.Subspace"}}}},"cosmos.params.v1beta1.Subspace":{"description":"Subspace defines a parameter subspace name and all the keys that exist for\nthe subspace.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"keys":{"type":"array","items":{"type":"string"}},"subspace":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjail":{"type":"object","title":"MsgUnjail defines the Msg/Unjail request type","properties":{"validator_addr":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjailResponse":{"type":"object","title":"MsgUnjailResponse defines the Msg/Unjail response type"},"cosmos.slashing.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/slashing parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.slashing.v1beta1.Params":{"description":"Params represents the parameters used for by the slashing module.","type":"object","properties":{"downtime_jail_duration":{"type":"string"},"min_signed_per_window":{"type":"string","format":"byte"},"signed_blocks_window":{"type":"string","format":"int64"},"slash_fraction_double_sign":{"type":"string","format":"byte"},"slash_fraction_downtime":{"type":"string","format":"byte"}}},"cosmos.slashing.v1beta1.QueryParamsResponse":{"type":"object","title":"QueryParamsResponse is the response type for the Query/Params RPC method","properties":{"params":{"$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.QuerySigningInfoResponse":{"type":"object","title":"QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod","properties":{"val_signing_info":{"title":"val_signing_info is the signing info of requested val cons address","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}}},"cosmos.slashing.v1beta1.QuerySigningInfosResponse":{"type":"object","title":"QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod","properties":{"info":{"type":"array","title":"info is the signing info of all validators","items":{"type":"object","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.slashing.v1beta1.ValidatorSigningInfo":{"description":"ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity.","type":"object","properties":{"address":{"type":"string"},"index_offset":{"description":"Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap.","type":"string","format":"int64"},"jailed_until":{"description":"Timestamp until which the validator is jailed due to liveness downtime.","type":"string","format":"date-time"},"missed_blocks_counter":{"description":"A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap.","type":"string","format":"int64"},"start_height":{"type":"string","format":"int64","title":"Height at which validator was first a candidate OR was un-jailed"},"tombstoned":{"description":"Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior.","type":"boolean"}}},"cosmos.staking.v1beta1.BondStatus":{"description":"BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded.","type":"string","default":"BOND_STATUS_UNSPECIFIED","enum":["BOND_STATUS_UNSPECIFIED","BOND_STATUS_UNBONDED","BOND_STATUS_UNBONDING","BOND_STATUS_BONDED"]},"cosmos.staking.v1beta1.Commission":{"description":"Commission defines commission parameters for a given validator.","type":"object","properties":{"commission_rates":{"description":"commission_rates defines the initial commission rates to be used for creating a validator.","$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"update_time":{"description":"update_time is the last time the commission rate was changed.","type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.CommissionRates":{"description":"CommissionRates defines the initial commission rates to be used for creating\na validator.","type":"object","properties":{"max_change_rate":{"description":"max_change_rate defines the maximum daily increase of the validator commission, as a fraction.","type":"string"},"max_rate":{"description":"max_rate defines the maximum commission rate which validator can ever charge, as a fraction.","type":"string"},"rate":{"description":"rate is the commission rate charged to delegators, as a fraction.","type":"string"}}},"cosmos.staking.v1beta1.Delegation":{"description":"Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"shares":{"description":"shares define the delegation shares received.","type":"string"},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.DelegationResponse":{"description":"DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses.","type":"object","properties":{"balance":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Delegation"}}},"cosmos.staking.v1beta1.Description":{"description":"Description defines a validator description.","type":"object","properties":{"details":{"description":"details define other optional details.","type":"string"},"identity":{"description":"identity defines an optional identity signature (ex. UPort or Keybase).","type":"string"},"moniker":{"description":"moniker defines a human-readable name for the validator.","type":"string"},"security_contact":{"description":"security_contact defines an optional email for security contact.","type":"string"},"website":{"description":"website defines an optional website link.","type":"string"}}},"cosmos.staking.v1beta1.HistoricalInfo":{"description":"HistoricalInfo contains header and validator information for a given block.\nIt is stored as part of staking module's state, which persists the `n` most\nrecent HistoricalInfo\n(`n` is set by the staking module's `historical_entries` parameter).","type":"object","properties":{"header":{"$ref":"#/definitions/tendermint.types.Header"},"valset":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.MsgBeginRedelegate":{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_dst_address":{"type":"string"},"validator_src_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgBeginRedelegateResponse":{"description":"MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type.","type":"object","properties":{"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegation":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator","properties":{"amount":{"title":"amount is always less than or equal to unbonding delegation entry balance","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgCancelUnbondingDelegationResponse"},"cosmos.staking.v1beta1.MsgCreateValidator":{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","type":"object","properties":{"commission":{"$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"delegator_address":{"description":"Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated.\nThe validator address bytes and delegator address bytes refer to the same account while creating validator (defer\nonly in bech32 notation).","type":"string"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"pubkey":{"$ref":"#/definitions/google.protobuf.Any"},"validator_address":{"type":"string"},"value":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.staking.v1beta1.MsgCreateValidatorResponse":{"description":"MsgCreateValidatorResponse defines the Msg/CreateValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgDelegate":{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgDelegateResponse":{"description":"MsgDelegateResponse defines the Msg/Delegate response type.","type":"object"},"cosmos.staking.v1beta1.MsgEditValidator":{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","type":"object","properties":{"commission_rate":{"type":"string","title":"We pass a reference to the new commission rate and min self delegation as\nit's not mandatory to update. If not updated, the deserialized rate will be\nzero with no way to distinguish if an update was intended.\nREF: #2373"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgEditValidatorResponse":{"description":"MsgEditValidatorResponse defines the Msg/EditValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgUndelegate":{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgUndelegateResponse":{"description":"MsgUndelegateResponse defines the Msg/Undelegate response type.","type":"object","properties":{"amount":{"description":"Since: cosmos-sdk 0.50","title":"amount returns the amount of undelegated coins","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/staking parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.staking.v1beta1.Params":{"description":"Params defines the parameters for the x/staking module.","type":"object","properties":{"bond_denom":{"description":"bond_denom defines the bondable coin denomination.","type":"string"},"historical_entries":{"description":"historical_entries is the number of historical entries to persist.","type":"integer","format":"int64"},"max_entries":{"description":"max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).","type":"integer","format":"int64"},"max_validators":{"description":"max_validators is the maximum number of validators.","type":"integer","format":"int64"},"min_commission_rate":{"type":"string","title":"min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators"},"unbonding_time":{"description":"unbonding_time is the time duration of unbonding.","type":"string"}}},"cosmos.staking.v1beta1.Pool":{"description":"Pool is used for tracking bonded and not-bonded token supply of the bond\ndenomination.","type":"object","properties":{"bonded_tokens":{"type":"string"},"not_bonded_tokens":{"type":"string"}}},"cosmos.staking.v1beta1.QueryDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/Delegation RPC method.","type":"object","properties":{"delegation_response":{"description":"delegation_responses defines the delegation info of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse":{"description":"QueryDelegatorDelegationsResponse is response type for the\nQuery/DelegatorDelegations RPC method.","type":"object","properties":{"delegation_responses":{"description":"delegation_responses defines all the delegations' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse":{"description":"QueryUnbondingDelegatorDelegationsResponse is response type for the\nQuery/UnbondingDelegatorDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorResponse":{"description":"QueryDelegatorValidatorResponse response type for the\nQuery/DelegatorValidator RPC method.","type":"object","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators defines the validators' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.QueryHistoricalInfoResponse":{"description":"QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC\nmethod.","type":"object","properties":{"hist":{"description":"hist defines the historical info at the given height.","$ref":"#/definitions/cosmos.staking.v1beta1.HistoricalInfo"}}},"cosmos.staking.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.QueryPoolResponse":{"description":"QueryPoolResponse is response type for the Query/Pool RPC method.","type":"object","properties":{"pool":{"description":"pool defines the pool info.","$ref":"#/definitions/cosmos.staking.v1beta1.Pool"}}},"cosmos.staking.v1beta1.QueryRedelegationsResponse":{"description":"QueryRedelegationsResponse is response type for the Query/Redelegations RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"redelegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationResponse"}}}},"cosmos.staking.v1beta1.QueryUnbondingDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/UnbondingDelegation\nRPC method.","type":"object","properties":{"unbond":{"description":"unbond defines the unbonding information of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}},"cosmos.staking.v1beta1.QueryValidatorDelegationsResponse":{"type":"object","title":"QueryValidatorDelegationsResponse is response type for the\nQuery/ValidatorDelegations RPC method","properties":{"delegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryValidatorResponse":{"type":"object","title":"QueryValidatorResponse is response type for the Query/Validator RPC method","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse":{"description":"QueryValidatorUnbondingDelegationsResponse is response type for the\nQuery/ValidatorUnbondingDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryValidatorsResponse":{"type":"object","title":"QueryValidatorsResponse is response type for the Query/Validators RPC method","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators contains all the queried validators.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.Redelegation":{"description":"Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the bech32-encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the redelegation entries.\n\nredelegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}},"validator_dst_address":{"description":"validator_dst_address is the validator redelegation destination operator address.","type":"string"},"validator_src_address":{"description":"validator_src_address is the validator redelegation source operator address.","type":"string"}}},"cosmos.staking.v1beta1.RedelegationEntry":{"description":"RedelegationEntry defines a redelegation object with relevant metadata.","type":"object","properties":{"completion_time":{"description":"completion_time defines the unix time for redelegation completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height defines the height which the redelegation took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the initial balance when redelegation started.","type":"string"},"shares_dst":{"description":"shares_dst is the amount of destination-validator shares created by redelegation.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.RedelegationEntryResponse":{"description":"RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"balance":{"type":"string"},"redelegation_entry":{"$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}}},"cosmos.staking.v1beta1.RedelegationResponse":{"description":"RedelegationResponse is equivalent to a Redelegation except that its entries\ncontain a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"entries":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntryResponse"}},"redelegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Redelegation"}}},"cosmos.staking.v1beta1.UnbondingDelegation":{"description":"UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the unbonding delegation entries.\n\nunbonding delegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegationEntry"}},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.UnbondingDelegationEntry":{"description":"UnbondingDelegationEntry defines an unbonding object with relevant metadata.","type":"object","properties":{"balance":{"description":"balance defines the tokens to receive at completion.","type":"string"},"completion_time":{"description":"completion_time is the unix time for unbonding completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the tokens initially scheduled to receive at completion.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.Validator":{"description":"Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate.","type":"object","properties":{"commission":{"description":"commission defines the commission parameters.","$ref":"#/definitions/cosmos.staking.v1beta1.Commission"},"consensus_pubkey":{"description":"consensus_pubkey is the consensus public key of the validator, as a Protobuf Any.","$ref":"#/definitions/google.protobuf.Any"},"delegator_shares":{"description":"delegator_shares defines total shares issued to a validator's delegators.","type":"string"},"description":{"description":"description defines the description terms for the validator.","$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"jailed":{"description":"jailed defined whether the validator has been jailed from bonded status or not.","type":"boolean"},"min_self_delegation":{"description":"min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46","type":"string"},"operator_address":{"description":"operator_address defines the address of the validator's operator; bech encoded in JSON.","type":"string"},"status":{"description":"status is the validator status (bonded/unbonding/unbonded).","$ref":"#/definitions/cosmos.staking.v1beta1.BondStatus"},"tokens":{"description":"tokens define the delegated tokens (incl. self-delegation).","type":"string"},"unbonding_height":{"description":"unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.","type":"string","format":"int64"},"unbonding_ids":{"type":"array","title":"list of unbonding ids, each uniquely identifing an unbonding of this validator","items":{"type":"string","format":"uint64"}},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"strictly positive if this validator's unbonding has been stopped by external modules"},"unbonding_time":{"description":"unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.","type":"string","format":"date-time"}}},"cosmos.store.streaming.abci.ListenCommitRequest":{"type":"object","title":"ListenCommitRequest is the request type for the ListenCommit RPC method","properties":{"block_height":{"type":"string","format":"int64","title":"explicitly pass in block height as ResponseCommit does not contain this info"},"change_set":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.store.v1beta1.StoreKVPair"}},"res":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}}},"cosmos.store.streaming.abci.ListenCommitResponse":{"type":"object","title":"ListenCommitResponse is the response type for the ListenCommit RPC method"},"cosmos.store.streaming.abci.ListenFinalizeBlockRequest":{"type":"object","title":"ListenEndBlockRequest is the request type for the ListenEndBlock RPC method","properties":{"req":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"},"res":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}}},"cosmos.store.streaming.abci.ListenFinalizeBlockResponse":{"type":"object","title":"ListenEndBlockResponse is the response type for the ListenEndBlock RPC method"},"cosmos.store.v1beta1.StoreKVPair":{"description":"Since: cosmos-sdk 0.43","type":"object","title":"StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes)\nIt optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and\nDeletes","properties":{"delete":{"type":"boolean","title":"true indicates a delete operation, false indicates a set operation"},"key":{"type":"string","format":"byte"},"store_key":{"type":"string","title":"the store key for the KVStore this pair originates from"},"value":{"type":"string","format":"byte"}}},"cosmos.tx.signing.v1beta1.SignMode":{"description":"SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT.\n\nSince: cosmos-sdk 0.50\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2","type":"string","default":"SIGN_MODE_UNSPECIFIED","enum":["SIGN_MODE_UNSPECIFIED","SIGN_MODE_DIRECT","SIGN_MODE_TEXTUAL","SIGN_MODE_DIRECT_AUX","SIGN_MODE_LEGACY_AMINO_JSON","SIGN_MODE_EIP_191"]},"cosmos.tx.v1beta1.AuthInfo":{"description":"AuthInfo describes the fee and signer modes that are used to sign a\ntransaction.","type":"object","properties":{"fee":{"description":"Fee is the fee and gas limit for the transaction. The first signer is the\nprimary signer and the one which pays the fee. The fee can be calculated\nbased on the cost of evaluating the body and doing signature verification\nof the signers. This can be estimated via simulation.","$ref":"#/definitions/cosmos.tx.v1beta1.Fee"},"signer_infos":{"description":"signer_infos defines the signing modes for the required signers. The number\nand order of elements must match the required signers from TxBody's\nmessages. The first element is the primary signer and the one which pays\nthe fee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.SignerInfo"}},"tip":{"description":"Tip is the optional tip used for transactions fees paid in another denom.\n\nThis field is ignored if the chain didn't enable tips, i.e. didn't add the\n`TipDecorator` in its posthandler.\n\nSince: cosmos-sdk 0.46","$ref":"#/definitions/cosmos.tx.v1beta1.Tip"}}},"cosmos.tx.v1beta1.BroadcastMode":{"description":"BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC\nmethod.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits\nfor a CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client\nreturns immediately.","type":"string","default":"BROADCAST_MODE_UNSPECIFIED","enum":["BROADCAST_MODE_UNSPECIFIED","BROADCAST_MODE_BLOCK","BROADCAST_MODE_SYNC","BROADCAST_MODE_ASYNC"]},"cosmos.tx.v1beta1.BroadcastTxRequest":{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","type":"object","properties":{"mode":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastMode"},"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.BroadcastTxResponse":{"description":"BroadcastTxResponse is the response type for the\nService.BroadcastTx method.","type":"object","properties":{"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.Fee":{"description":"Fee includes the amount of coins paid in fees and the maximum\ngas to be used by the transaction. The ratio yields an effective \"gasprice\",\nwhich must be above some miminum to be accepted into the mempool.","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of coins to be paid as a fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"gas_limit":{"type":"string","format":"uint64","title":"gas_limit is the maximum gas that can be used in transaction processing\nbefore an out of gas error occurs"},"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\nto pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does\nnot support fee grants, this will fail"},"payer":{"description":"if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees.\nthe payer must be a tx signer (and thus have signed this field in AuthInfo).\nsetting this field does *not* change the ordering of required signers for the transaction.","type":"string"}}},"cosmos.tx.v1beta1.GetBlockWithTxsResponse":{"description":"GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs\nmethod.\n\nSince: cosmos-sdk 0.45.2","type":"object","properties":{"block":{"$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"pagination":{"description":"pagination defines a pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"txs":{"description":"txs are the transactions in the block.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.GetTxResponse":{"description":"GetTxResponse is the response type for the Service.GetTx method.","type":"object","properties":{"tx":{"description":"tx is the queried transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.GetTxsEventResponse":{"description":"GetTxsEventResponse is the response type for the Service.TxsByEvents\nRPC method.","type":"object","properties":{"pagination":{"description":"pagination defines a pagination for the response.\nDeprecated post v0.46.x: use total instead.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64","title":"total is total number of results available"},"tx_responses":{"description":"tx_responses is the list of queried TxResponses.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}},"txs":{"description":"txs is the list of queried transactions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.ModeInfo":{"description":"ModeInfo describes the signing mode of a single or nested multisig signer.","type":"object","properties":{"multi":{"title":"multi represents a nested multisig signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi"},"single":{"title":"single represents a single signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Single"}}},"cosmos.tx.v1beta1.ModeInfo.Multi":{"type":"object","title":"Multi is the mode info for a multisig public key","properties":{"bitarray":{"title":"bitarray specifies which keys within the multisig are signing","$ref":"#/definitions/cosmos.crypto.multisig.v1beta1.CompactBitArray"},"mode_infos":{"type":"array","title":"mode_infos is the corresponding modes of the signers of the multisig\nwhich could include nested multisig public keys","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"}}}},"cosmos.tx.v1beta1.ModeInfo.Single":{"type":"object","title":"Single is the mode info for a single signer. It is structured as a message\nto allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the\nfuture","properties":{"mode":{"title":"mode is the signing mode of the single signer","$ref":"#/definitions/cosmos.tx.signing.v1beta1.SignMode"}}},"cosmos.tx.v1beta1.OrderBy":{"description":"- ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","type":"string","title":"OrderBy defines the sorting order","default":"ORDER_BY_UNSPECIFIED","enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"]},"cosmos.tx.v1beta1.SignerInfo":{"description":"SignerInfo describes the public key and signing mode of a single top-level\nsigner.","type":"object","properties":{"mode_info":{"title":"mode_info describes the signing mode of the signer and is a nested\nstructure to support nested multisig pubkey's","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"},"public_key":{"description":"public_key is the public key of the signer. It is optional for accounts\nthat already exist in state. If unset, the verifier can use the required \\\nsigner address for this position and lookup the public key.","$ref":"#/definitions/google.protobuf.Any"},"sequence":{"description":"sequence is the sequence of the account, which describes the\nnumber of committed transactions signed by a given address. It is used to\nprevent replay attacks.","type":"string","format":"uint64"}}},"cosmos.tx.v1beta1.SimulateRequest":{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","type":"object","properties":{"tx":{"description":"tx is the transaction to simulate.\nDeprecated. Send raw tx bytes instead.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_bytes":{"description":"tx_bytes is the raw transaction.\n\nSince: cosmos-sdk 0.43","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.SimulateResponse":{"description":"SimulateResponse is the response type for the\nService.SimulateRPC method.","type":"object","properties":{"gas_info":{"description":"gas_info is the information about gas used in the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.GasInfo"},"result":{"description":"result is the result of the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.Result"}}},"cosmos.tx.v1beta1.Tip":{"description":"Tip is the tip used for meta-transactions.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of the tip","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"tipper":{"type":"string","title":"tipper is the address of the account paying for the tip"}}},"cosmos.tx.v1beta1.Tx":{"description":"Tx is the standard type used for broadcasting transactions.","type":"object","properties":{"auth_info":{"title":"auth_info is the authorization related content of the transaction,\nspecifically signers, signer modes and fee","$ref":"#/definitions/cosmos.tx.v1beta1.AuthInfo"},"body":{"title":"body is the processable content of the transaction","$ref":"#/definitions/cosmos.tx.v1beta1.TxBody"},"signatures":{"description":"signatures is a list of signatures that matches the length and order of\nAuthInfo's signer_infos to allow connecting signature meta information like\npublic key and signing mode by position.","type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.tx.v1beta1.TxBody":{"description":"TxBody is the body of a transaction that all signers sign over.","type":"object","properties":{"extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, the transaction will be rejected","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"memo":{"description":"memo is any arbitrary note/comment to be added to the transaction.\nWARNING: in clients, any publicly exposed text should not be called memo,\nbut should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122).","type":"string"},"messages":{"description":"messages is a list of messages to be executed. The required signers of\nthose messages define the number and order of elements in AuthInfo's\nsigner_infos and Tx's signatures. Each required signer address is added to\nthe list only the first time it occurs.\nBy convention, the first required signer (usually from the first message)\nis referred to as the primary signer and pays the fee for the whole\ntransaction.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"non_critical_extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, they will be ignored","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"timeout_height":{"type":"string","format":"uint64","title":"timeout is the block height after which this transaction will not\nbe processed by the chain"}}},"cosmos.tx.v1beta1.TxDecodeAminoRequest":{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeAminoResponse":{"description":"TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxDecodeRequest":{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeResponse":{"description":"TxDecodeResponse is the response type for the\nService.TxDecode method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx":{"description":"tx is the decoded transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeAminoRequest":{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxEncodeAminoResponse":{"description":"TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxEncodeRequest":{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx":{"description":"tx is the transaction to encode.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeResponse":{"description":"TxEncodeResponse is the response type for the\nService.TxEncode method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the encoded transaction bytes.","type":"string","format":"byte"}}},"cosmos.upgrade.v1beta1.ModuleVersion":{"description":"ModuleVersion specifies a module and its consensus version.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"name":{"type":"string","title":"name of the app module"},"version":{"type":"string","format":"uint64","title":"consensus version of the app module"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgrade":{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse":{"description":"MsgCancelUpgradeResponse is the Msg/CancelUpgrade response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.upgrade.v1beta1.MsgSoftwareUpgrade":{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"plan":{"description":"plan is the upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse":{"description":"MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.upgrade.v1beta1.Plan":{"description":"Plan specifies information about a planned upgrade and when it should occur.","type":"object","properties":{"height":{"description":"The height at which the upgrade must be performed.","type":"string","format":"int64"},"info":{"type":"string","title":"Any application specific upgrade info to be included on-chain\nsuch as a git commit that validators could automatically upgrade to"},"name":{"description":"Sets the name for the upgrade. This name will be used by the upgraded\nversion of the software to apply any special \"on-upgrade\" commands during\nthe first BeginBlock method after the upgrade is applied. It is also used\nto detect whether a software version can handle a given upgrade. If no\nupgrade handler with this name has been set in the software, it will be\nassumed that the software is out-of-date when the upgrade Time or Height is\nreached and the software will exit.","type":"string"},"time":{"description":"Deprecated: Time based upgrades have been deprecated. Time based upgrade logic\nhas been removed from the SDK.\nIf this field is not empty, an error will be thrown.","type":"string","format":"date-time"},"upgraded_client_state":{"description":"Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been\nmoved to the IBC module in the sub module 02-client.\nIf this field is not empty, an error will be thrown.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.upgrade.v1beta1.QueryAppliedPlanResponse":{"description":"QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC\nmethod.","type":"object","properties":{"height":{"description":"height is the block height at which the plan was applied.","type":"string","format":"int64"}}},"cosmos.upgrade.v1beta1.QueryAuthorityResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"QueryAuthorityResponse is the response type for Query/Authority","properties":{"address":{"type":"string"}}},"cosmos.upgrade.v1beta1.QueryCurrentPlanResponse":{"description":"QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC\nmethod.","type":"object","properties":{"plan":{"description":"plan is the current upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.QueryModuleVersionsResponse":{"description":"QueryModuleVersionsResponse is the response type for the Query/ModuleVersions\nRPC method.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"module_versions":{"description":"module_versions is a list of module names with their consensus versions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.upgrade.v1beta1.ModuleVersion"}}}},"cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse":{"description":"QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState\nRPC method.","type":"object","properties":{"upgraded_consensus_state":{"type":"string","format":"byte","title":"Since: cosmos-sdk 0.43"}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"from_address":{"type":"string"},"start_time":{"description":"start of vesting as unix time (in seconds).","type":"string","format":"int64"},"to_address":{"type":"string"},"vesting_periods":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.vesting.v1beta1.Period"}}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreatePeriodicVestingAccount\nresponse type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount":{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse":{"description":"MsgCreatePermanentLockedAccountResponse defines the Msg/CreatePermanentLockedAccount response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.vesting.v1beta1.MsgCreateVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"delayed":{"type":"boolean"},"end_time":{"description":"end of vesting as unix time (in seconds).","type":"string","format":"int64"},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type.","type":"object"},"cosmos.vesting.v1beta1.Period":{"description":"Period defines a length of time and amount of coins that will vest.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"length":{"description":"Period duration in seconds.","type":"string","format":"int64"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}},"ibc.applications.fee.v1.Fee":{"type":"object","title":"Fee defines the ICS29 receive, acknowledgement and timeout fees","properties":{"ack_fee":{"type":"array","title":"the packet acknowledgement fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"recv_fee":{"type":"array","title":"the packet receive fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"timeout_fee":{"type":"array","title":"the packet timeout fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.fee.v1.FeeEnabledChannel":{"type":"object","title":"FeeEnabledChannel contains the PortID \u0026 ChannelID for a fee enabled channel","properties":{"channel_id":{"type":"string","title":"unique channel identifier"},"port_id":{"type":"string","title":"unique port identifier"}}},"ibc.applications.fee.v1.IdentifiedPacketFees":{"type":"object","title":"IdentifiedPacketFees contains a list of type PacketFee and associated PacketId","properties":{"packet_fees":{"type":"array","title":"list of packet fees","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.PacketFee"}},"packet_id":{"title":"unique packet identifier comprised of the channel ID, port ID and sequence","$ref":"#/definitions/ibc.core.channel.v1.PacketId"}}},"ibc.applications.fee.v1.MsgPayPacketFee":{"type":"object","title":"MsgPayPacketFee defines the request type for the PayPacketFee rpc\nThis Msg can be used to pay for a packet at the next sequence send \u0026 should be combined with the Msg that will be\npaid for","properties":{"fee":{"title":"fee encapsulates the recv, ack and timeout fees associated with an IBC packet","$ref":"#/definitions/ibc.applications.fee.v1.Fee"},"relayers":{"type":"array","title":"optional list of relayers permitted to the receive packet fees","items":{"type":"string"}},"signer":{"type":"string","title":"account address to refund fee if necessary"},"source_channel_id":{"type":"string","title":"the source channel unique identifer"},"source_port_id":{"type":"string","title":"the source port unique identifier"}}},"ibc.applications.fee.v1.MsgPayPacketFeeAsync":{"type":"object","title":"MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync rpc\nThis Msg can be used to pay for a packet at a specified sequence (instead of the next sequence send)","properties":{"packet_fee":{"title":"the packet fee associated with a particular IBC packet","$ref":"#/definitions/ibc.applications.fee.v1.PacketFee"},"packet_id":{"title":"unique packet identifier comprised of the channel ID, port ID and sequence","$ref":"#/definitions/ibc.core.channel.v1.PacketId"}}},"ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse":{"type":"object","title":"MsgPayPacketFeeAsyncResponse defines the response type for the PayPacketFeeAsync rpc"},"ibc.applications.fee.v1.MsgPayPacketFeeResponse":{"type":"object","title":"MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc"},"ibc.applications.fee.v1.MsgRegisterCounterpartyPayee":{"type":"object","title":"MsgRegisterCounterpartyPayee defines the request type for the RegisterCounterpartyPayee rpc","properties":{"channel_id":{"type":"string","title":"unique channel identifier"},"counterparty_payee":{"type":"string","title":"the counterparty payee address"},"port_id":{"type":"string","title":"unique port identifier"},"relayer":{"type":"string","title":"the relayer address"}}},"ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse":{"type":"object","title":"MsgRegisterCounterpartyPayeeResponse defines the response type for the RegisterCounterpartyPayee rpc"},"ibc.applications.fee.v1.MsgRegisterPayee":{"type":"object","title":"MsgRegisterPayee defines the request type for the RegisterPayee rpc","properties":{"channel_id":{"type":"string","title":"unique channel identifier"},"payee":{"type":"string","title":"the payee address"},"port_id":{"type":"string","title":"unique port identifier"},"relayer":{"type":"string","title":"the relayer address"}}},"ibc.applications.fee.v1.MsgRegisterPayeeResponse":{"type":"object","title":"MsgRegisterPayeeResponse defines the response type for the RegisterPayee rpc"},"ibc.applications.fee.v1.PacketFee":{"type":"object","title":"PacketFee contains ICS29 relayer fees, refund address and optional list of permitted relayers","properties":{"fee":{"title":"fee encapsulates the recv, ack and timeout fees associated with an IBC packet","$ref":"#/definitions/ibc.applications.fee.v1.Fee"},"refund_address":{"type":"string","title":"the refund address for unspent fees"},"relayers":{"type":"array","title":"optional list of relayers permitted to receive fees","items":{"type":"string"}}}},"ibc.applications.fee.v1.QueryCounterpartyPayeeResponse":{"type":"object","title":"QueryCounterpartyPayeeResponse defines the response type for the CounterpartyPayee rpc","properties":{"counterparty_payee":{"type":"string","title":"the counterparty payee address used to compensate forward relaying"}}},"ibc.applications.fee.v1.QueryFeeEnabledChannelResponse":{"type":"object","title":"QueryFeeEnabledChannelResponse defines the response type for the FeeEnabledChannel rpc","properties":{"fee_enabled":{"type":"boolean","title":"boolean flag representing the fee enabled channel status"}}},"ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse":{"type":"object","title":"QueryFeeEnabledChannelsResponse defines the response type for the FeeEnabledChannels rpc","properties":{"fee_enabled_channels":{"type":"array","title":"list of fee enabled channels","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.FeeEnabledChannel"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.fee.v1.QueryIncentivizedPacketResponse":{"type":"object","title":"QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPacket rpc","properties":{"incentivized_packet":{"title":"the identified fees for the incentivized packet","$ref":"#/definitions/ibc.applications.fee.v1.IdentifiedPacketFees"}}},"ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse":{"type":"object","title":"QueryIncentivizedPacketsResponse defines the response type for the incentivized packets RPC","properties":{"incentivized_packets":{"type":"array","title":"Map of all incentivized_packets","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.IdentifiedPacketFees"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.fee.v1.QueryIncentivizedPacketsResponse":{"type":"object","title":"QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPackets rpc","properties":{"incentivized_packets":{"type":"array","title":"list of identified fees for incentivized packets","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.IdentifiedPacketFees"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.fee.v1.QueryPayeeResponse":{"type":"object","title":"QueryPayeeResponse defines the response type for the Payee rpc","properties":{"payee_address":{"type":"string","title":"the payee address to which packet fees are paid out"}}},"ibc.applications.fee.v1.QueryTotalAckFeesResponse":{"type":"object","title":"QueryTotalAckFeesResponse defines the response type for the TotalAckFees rpc","properties":{"ack_fees":{"type":"array","title":"the total packet acknowledgement fees","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.fee.v1.QueryTotalRecvFeesResponse":{"type":"object","title":"QueryTotalRecvFeesResponse defines the response type for the TotalRecvFees rpc","properties":{"recv_fees":{"type":"array","title":"the total packet receive fees","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse":{"type":"object","title":"QueryTotalTimeoutFeesResponse defines the response type for the TotalTimeoutFees rpc","properties":{"timeout_fees":{"type":"array","title":"the total packet timeout fees","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount":{"type":"object","title":"MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount","properties":{"connection_id":{"type":"string"},"ordering":{"$ref":"#/definitions/ibc.core.channel.v1.Order"},"owner":{"type":"string"},"version":{"type":"string"}}},"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse":{"type":"object","title":"MsgRegisterInterchainAccountResponse defines the response for Msg/RegisterAccount","properties":{"channel_id":{"type":"string"},"port_id":{"type":"string"}}},"ibc.applications.interchain_accounts.controller.v1.MsgSendTx":{"type":"object","title":"MsgSendTx defines the payload for Msg/SendTx","properties":{"connection_id":{"type":"string"},"owner":{"type":"string"},"packet_data":{"$ref":"#/definitions/ibc.applications.interchain_accounts.v1.InterchainAccountPacketData"},"relative_timeout":{"description":"Relative timeout timestamp provided will be added to the current block time during transaction execution.\nThe timeout timestamp must be non-zero.","type":"string","format":"uint64"}}},"ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse":{"type":"object","title":"MsgSendTxResponse defines the response for MsgSendTx","properties":{"sequence":{"type":"string","format":"uint64"}}},"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams":{"type":"object","title":"MsgUpdateParams defines the payload for Msg/UpdateParams","properties":{"params":{"description":"params defines the 27-interchain-accounts/controller parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse":{"type":"object","title":"MsgUpdateParamsResponse defines the response for Msg/UpdateParams"},"ibc.applications.interchain_accounts.controller.v1.Params":{"description":"Params defines the set of on-chain interchain accounts parameters.\nThe following parameters may be used to disable the controller submodule.","type":"object","properties":{"controller_enabled":{"description":"controller_enabled enables or disables the controller submodule.","type":"boolean"}}},"ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse":{"description":"QueryInterchainAccountResponse the response type for the Query/InterchainAccount RPC method.","type":"object","properties":{"address":{"type":"string"}}},"ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.Params"}}},"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe":{"type":"object","title":"MsgModuleQuerySafe defines the payload for Msg/ModuleQuerySafe","properties":{"requests":{"description":"requests defines the module safe queries to execute.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.QueryRequest"}},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse":{"type":"object","title":"MsgModuleQuerySafeResponse defines the response for Msg/ModuleQuerySafe","properties":{"height":{"type":"string","format":"uint64","title":"height at which the responses were queried"},"responses":{"type":"array","title":"protobuf encoded responses for each query","items":{"type":"string","format":"byte"}}}},"ibc.applications.interchain_accounts.host.v1.MsgUpdateParams":{"type":"object","title":"MsgUpdateParams defines the payload for Msg/UpdateParams","properties":{"params":{"description":"params defines the 27-interchain-accounts/host parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse":{"type":"object","title":"MsgUpdateParamsResponse defines the response for Msg/UpdateParams"},"ibc.applications.interchain_accounts.host.v1.Params":{"description":"Params defines the set of on-chain interchain accounts parameters.\nThe following parameters may be used to disable the host submodule.","type":"object","properties":{"allow_messages":{"description":"allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain.","type":"array","items":{"type":"string"}},"host_enabled":{"description":"host_enabled enables or disables the host submodule.","type":"boolean"}}},"ibc.applications.interchain_accounts.host.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.Params"}}},"ibc.applications.interchain_accounts.host.v1.QueryRequest":{"description":"QueryRequest defines the parameters for a particular query request\nby an interchain account.","type":"object","properties":{"data":{"type":"string","format":"byte","title":"data defines the payload of the query request as defined by ADR-021.\nhttps://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing"},"path":{"type":"string","title":"path defines the path of the query request as defined by ADR-021.\nhttps://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing"}}},"ibc.applications.interchain_accounts.v1.InterchainAccountPacketData":{"description":"InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field.","type":"object","properties":{"data":{"type":"string","format":"byte"},"memo":{"type":"string"},"type":{"$ref":"#/definitions/ibc.applications.interchain_accounts.v1.Type"}}},"ibc.applications.interchain_accounts.v1.Type":{"description":"- TYPE_UNSPECIFIED: Default zero value enumeration\n - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain","type":"string","title":"Type defines a classification of message issued from a controller chain to its associated interchain accounts\nhost","default":"TYPE_UNSPECIFIED","enum":["TYPE_UNSPECIFIED","TYPE_EXECUTE_TX"]},"ibc.applications.transfer.v1.DenomTrace":{"description":"DenomTrace contains the base denomination for ICS20 fungible tokens and the\nsource tracing information path.","type":"object","properties":{"base_denom":{"description":"base denomination of the relayed fungible token.","type":"string"},"path":{"description":"path defines the chain of port/channel identifiers used for tracing the\nsource of the fungible token.","type":"string"}}},"ibc.applications.transfer.v1.MsgTransfer":{"type":"object","title":"MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between\nICS20 enabled chains. See ICS Spec here:\nhttps://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures","properties":{"memo":{"type":"string","title":"optional memo"},"receiver":{"type":"string","title":"the recipient address on the destination chain"},"sender":{"type":"string","title":"the sender address"},"source_channel":{"type":"string","title":"the channel by which the packet will be sent"},"source_port":{"type":"string","title":"the port on which the packet will be sent"},"timeout_height":{"description":"Timeout height relative to the current block height.\nThe timeout is disabled when set to 0.","$ref":"#/definitions/ibc.core.client.v1.Height"},"timeout_timestamp":{"description":"Timeout timestamp in absolute nanoseconds since unix epoch.\nThe timeout is disabled when set to 0.","type":"string","format":"uint64"},"token":{"title":"the tokens to be transferred","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"ibc.applications.transfer.v1.MsgTransferResponse":{"description":"MsgTransferResponse defines the Msg/Transfer response type.","type":"object","properties":{"sequence":{"type":"string","format":"uint64","title":"sequence number of the transfer packet sent"}}},"ibc.applications.transfer.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"params":{"description":"params defines the transfer parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.applications.transfer.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.transfer.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"ibc.applications.transfer.v1.Params":{"description":"Params defines the set of IBC transfer parameters.\nNOTE: To prevent a single token from being transferred, set the\nTransfersEnabled parameter to true and then set the bank module's SendEnabled\nparameter for the denomination to false.","type":"object","properties":{"receive_enabled":{"description":"receive_enabled enables or disables all cross-chain token transfers to this\nchain.","type":"boolean"},"send_enabled":{"description":"send_enabled enables or disables all cross-chain token transfers from this\nchain.","type":"boolean"}}},"ibc.applications.transfer.v1.QueryDenomHashResponse":{"description":"QueryDenomHashResponse is the response type for the Query/DenomHash RPC\nmethod.","type":"object","properties":{"hash":{"description":"hash (in hex format) of the denomination trace information.","type":"string"}}},"ibc.applications.transfer.v1.QueryDenomTraceResponse":{"description":"QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC\nmethod.","type":"object","properties":{"denom_trace":{"description":"denom_trace returns the requested denomination trace information.","$ref":"#/definitions/ibc.applications.transfer.v1.DenomTrace"}}},"ibc.applications.transfer.v1.QueryDenomTracesResponse":{"description":"QueryConnectionsResponse is the response type for the Query/DenomTraces RPC\nmethod.","type":"object","properties":{"denom_traces":{"description":"denom_traces returns all denominations trace information.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.applications.transfer.v1.DenomTrace"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.transfer.v1.QueryEscrowAddressResponse":{"description":"QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method.","type":"object","properties":{"escrow_address":{"type":"string","title":"the escrow account address"}}},"ibc.applications.transfer.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.applications.transfer.v1.Params"}}},"ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse":{"description":"QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom RPC method.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"ibc.core.channel.v1.Channel":{"description":"Channel defines pipeline for exactly-once packet delivery between specific\nmodules on separate blockchains, which has at least one end capable of\nsending packets and one end capable of receiving packets.","type":"object","properties":{"connection_hops":{"type":"array","title":"list of connection identifiers, in order, along which packets sent on\nthis channel will travel","items":{"type":"string"}},"counterparty":{"title":"counterparty channel end","$ref":"#/definitions/ibc.core.channel.v1.Counterparty"},"ordering":{"title":"whether the channel is ordered or unordered","$ref":"#/definitions/ibc.core.channel.v1.Order"},"state":{"title":"current state of the channel end","$ref":"#/definitions/ibc.core.channel.v1.State"},"upgrade_sequence":{"type":"string","format":"uint64","title":"upgrade sequence indicates the latest upgrade attempt performed by this channel\nthe value of 0 indicates the channel has never been upgraded"},"version":{"type":"string","title":"opaque channel version, which is agreed upon during the handshake"}}},"ibc.core.channel.v1.Counterparty":{"type":"object","title":"Counterparty defines a channel end counterparty","properties":{"channel_id":{"type":"string","title":"channel end on the counterparty chain"},"port_id":{"description":"port on the counterparty chain which owns the other end of the channel.","type":"string"}}},"ibc.core.channel.v1.ErrorReceipt":{"description":"ErrorReceipt defines a type which encapsulates the upgrade sequence and error associated with the\nupgrade handshake failure. When a channel upgrade handshake is aborted both chains are expected to increment to the\nnext sequence.","type":"object","properties":{"message":{"type":"string","title":"the error message detailing the cause of failure"},"sequence":{"type":"string","format":"uint64","title":"the channel upgrade sequence"}}},"ibc.core.channel.v1.IdentifiedChannel":{"description":"IdentifiedChannel defines a channel with additional port and channel\nidentifier fields.","type":"object","properties":{"channel_id":{"type":"string","title":"channel identifier"},"connection_hops":{"type":"array","title":"list of connection identifiers, in order, along which packets sent on\nthis channel will travel","items":{"type":"string"}},"counterparty":{"title":"counterparty channel end","$ref":"#/definitions/ibc.core.channel.v1.Counterparty"},"ordering":{"title":"whether the channel is ordered or unordered","$ref":"#/definitions/ibc.core.channel.v1.Order"},"port_id":{"type":"string","title":"port identifier"},"state":{"title":"current state of the channel end","$ref":"#/definitions/ibc.core.channel.v1.State"},"upgrade_sequence":{"type":"string","format":"uint64","title":"upgrade sequence indicates the latest upgrade attempt performed by this channel\nthe value of 0 indicates the channel has never been upgraded"},"version":{"type":"string","title":"opaque channel version, which is agreed upon during the handshake"}}},"ibc.core.channel.v1.MsgAcknowledgement":{"type":"object","title":"MsgAcknowledgement receives incoming IBC acknowledgement","properties":{"acknowledgement":{"type":"string","format":"byte"},"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_acked":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgAcknowledgementResponse":{"description":"MsgAcknowledgementResponse defines the Msg/Acknowledgement response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgChannelCloseConfirm":{"description":"MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B\nto acknowledge the change of channel state to CLOSED on Chain A.","type":"object","properties":{"channel_id":{"type":"string"},"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_init":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelCloseConfirmResponse":{"description":"MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm response\ntype.","type":"object"},"ibc.core.channel.v1.MsgChannelCloseInit":{"description":"MsgChannelCloseInit defines a msg sent by a Relayer to Chain A\nto close a channel with Chain B.","type":"object","properties":{"channel_id":{"type":"string"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelCloseInitResponse":{"description":"MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response type.","type":"object"},"ibc.core.channel.v1.MsgChannelOpenAck":{"description":"MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge\nthe change of channel state to TRYOPEN on Chain B.\nWARNING: a channel upgrade MUST NOT initialize an upgrade for this channel\nin the same block as executing this message otherwise the counterparty will\nbe incapable of opening.","type":"object","properties":{"channel_id":{"type":"string"},"counterparty_channel_id":{"type":"string"},"counterparty_version":{"type":"string"},"port_id":{"type":"string"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_try":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenAckResponse":{"description":"MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type.","type":"object"},"ibc.core.channel.v1.MsgChannelOpenConfirm":{"description":"MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of channel state to OPEN on Chain A.","type":"object","properties":{"channel_id":{"type":"string"},"port_id":{"type":"string"},"proof_ack":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenConfirmResponse":{"description":"MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response\ntype.","type":"object"},"ibc.core.channel.v1.MsgChannelOpenInit":{"description":"MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It\nis called by a relayer on Chain A.","type":"object","properties":{"channel":{"$ref":"#/definitions/ibc.core.channel.v1.Channel"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenInitResponse":{"description":"MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type.","type":"object","properties":{"channel_id":{"type":"string"},"version":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenTry":{"description":"MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel\non Chain B. The version field within the Channel field has been deprecated. Its\nvalue will be ignored by core IBC.","type":"object","properties":{"channel":{"description":"NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC.","$ref":"#/definitions/ibc.core.channel.v1.Channel"},"counterparty_version":{"type":"string"},"port_id":{"type":"string"},"previous_channel_id":{"description":"Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC.","type":"string"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_init":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenTryResponse":{"description":"MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type.","type":"object","properties":{"channel_id":{"type":"string"},"version":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeAck":{"type":"object","title":"MsgChannelUpgradeAck defines the request type for the ChannelUpgradeAck rpc","properties":{"channel_id":{"type":"string"},"counterparty_upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_upgrade":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeAckResponse":{"type":"object","title":"MsgChannelUpgradeAckResponse defines MsgChannelUpgradeAck response type","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgChannelUpgradeCancel":{"type":"object","title":"MsgChannelUpgradeCancel defines the request type for the ChannelUpgradeCancel rpc","properties":{"channel_id":{"type":"string"},"error_receipt":{"$ref":"#/definitions/ibc.core.channel.v1.ErrorReceipt"},"port_id":{"type":"string"},"proof_error_receipt":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeCancelResponse":{"type":"object","title":"MsgChannelUpgradeCancelResponse defines the MsgChannelUpgradeCancel response type"},"ibc.core.channel.v1.MsgChannelUpgradeConfirm":{"type":"object","title":"MsgChannelUpgradeConfirm defines the request type for the ChannelUpgradeConfirm rpc","properties":{"channel_id":{"type":"string"},"counterparty_channel_state":{"$ref":"#/definitions/ibc.core.channel.v1.State"},"counterparty_upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_upgrade":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeConfirmResponse":{"type":"object","title":"MsgChannelUpgradeConfirmResponse defines MsgChannelUpgradeConfirm response type","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgChannelUpgradeInit":{"description":"MsgChannelUpgradeInit defines the request type for the ChannelUpgradeInit rpc\nWARNING: Initializing a channel upgrade in the same block as opening the channel\nmay result in the counterparty being incapable of opening.","type":"object","properties":{"channel_id":{"type":"string"},"fields":{"$ref":"#/definitions/ibc.core.channel.v1.UpgradeFields"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeInitResponse":{"type":"object","title":"MsgChannelUpgradeInitResponse defines the MsgChannelUpgradeInit response type","properties":{"upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"upgrade_sequence":{"type":"string","format":"uint64"}}},"ibc.core.channel.v1.MsgChannelUpgradeOpen":{"type":"object","title":"MsgChannelUpgradeOpen defines the request type for the ChannelUpgradeOpen rpc","properties":{"channel_id":{"type":"string"},"counterparty_channel_state":{"$ref":"#/definitions/ibc.core.channel.v1.State"},"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeOpenResponse":{"type":"object","title":"MsgChannelUpgradeOpenResponse defines the MsgChannelUpgradeOpen response type"},"ibc.core.channel.v1.MsgChannelUpgradeTimeout":{"type":"object","title":"MsgChannelUpgradeTimeout defines the request type for the ChannelUpgradeTimeout rpc","properties":{"channel_id":{"type":"string"},"counterparty_channel":{"$ref":"#/definitions/ibc.core.channel.v1.Channel"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeTimeoutResponse":{"type":"object","title":"MsgChannelUpgradeTimeoutRepsonse defines the MsgChannelUpgradeTimeout response type"},"ibc.core.channel.v1.MsgChannelUpgradeTry":{"type":"object","title":"MsgChannelUpgradeTry defines the request type for the ChannelUpgradeTry rpc","properties":{"channel_id":{"type":"string"},"counterparty_upgrade_fields":{"$ref":"#/definitions/ibc.core.channel.v1.UpgradeFields"},"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_upgrade":{"type":"string","format":"byte"},"proposed_upgrade_connection_hops":{"type":"array","items":{"type":"string"}},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeTryResponse":{"type":"object","title":"MsgChannelUpgradeTryResponse defines the MsgChannelUpgradeTry response type","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"},"upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"upgrade_sequence":{"type":"string","format":"uint64"}}},"ibc.core.channel.v1.MsgPruneAcknowledgements":{"description":"MsgPruneAcknowledgements defines the request type for the PruneAcknowledgements rpc.","type":"object","properties":{"channel_id":{"type":"string"},"limit":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgPruneAcknowledgementsResponse":{"description":"MsgPruneAcknowledgementsResponse defines the response type for the PruneAcknowledgements rpc.","type":"object","properties":{"total_pruned_sequences":{"description":"Number of sequences pruned (includes both packet acknowledgements and packet receipts where appropriate).","type":"string","format":"uint64"},"total_remaining_sequences":{"description":"Number of sequences left after pruning.","type":"string","format":"uint64"}}},"ibc.core.channel.v1.MsgRecvPacket":{"type":"object","title":"MsgRecvPacket receives incoming IBC packet","properties":{"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_commitment":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgRecvPacketResponse":{"description":"MsgRecvPacketResponse defines the Msg/RecvPacket response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgTimeout":{"type":"object","title":"MsgTimeout receives timed-out packet","properties":{"next_sequence_recv":{"type":"string","format":"uint64"},"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_unreceived":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgTimeoutOnClose":{"description":"MsgTimeoutOnClose timed-out packet upon counterparty channel closure.","type":"object","properties":{"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"next_sequence_recv":{"type":"string","format":"uint64"},"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_close":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_unreceived":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgTimeoutOnCloseResponse":{"description":"MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgTimeoutResponse":{"description":"MsgTimeoutResponse defines the Msg/Timeout response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the MsgUpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the channel parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.core.channel.v1.Params"}}},"ibc.core.channel.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the MsgUpdateParams response type.","type":"object"},"ibc.core.channel.v1.Order":{"description":"- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering\n - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in\nwhich they were sent.\n - ORDER_ORDERED: packets are delivered exactly in the order which they were sent","type":"string","title":"Order defines if a channel is ORDERED or UNORDERED","default":"ORDER_NONE_UNSPECIFIED","enum":["ORDER_NONE_UNSPECIFIED","ORDER_UNORDERED","ORDER_ORDERED"]},"ibc.core.channel.v1.Packet":{"type":"object","title":"Packet defines a type that carries data across different chains through IBC","properties":{"data":{"type":"string","format":"byte","title":"actual opaque bytes transferred directly to the application module"},"destination_channel":{"description":"identifies the channel end on the receiving chain.","type":"string"},"destination_port":{"description":"identifies the port on the receiving chain.","type":"string"},"sequence":{"description":"number corresponds to the order of sends and receives, where a Packet\nwith an earlier sequence number must be sent and received before a Packet\nwith a later sequence number.","type":"string","format":"uint64"},"source_channel":{"description":"identifies the channel end on the sending chain.","type":"string"},"source_port":{"description":"identifies the port on the sending chain.","type":"string"},"timeout_height":{"title":"block height after which the packet times out","$ref":"#/definitions/ibc.core.client.v1.Height"},"timeout_timestamp":{"type":"string","format":"uint64","title":"block timestamp (in nanoseconds) after which the packet times out"}}},"ibc.core.channel.v1.PacketId":{"type":"object","title":"PacketId is an identifer for a unique Packet\nSource chains refer to packets by source port/channel\nDestination chains refer to packets by destination port/channel","properties":{"channel_id":{"type":"string","title":"channel unique identifier"},"port_id":{"type":"string","title":"channel port identifier"},"sequence":{"type":"string","format":"uint64","title":"packet sequence"}}},"ibc.core.channel.v1.PacketState":{"description":"PacketState defines the generic type necessary to retrieve and store\npacket commitments, acknowledgements, and receipts.\nCaller is responsible for knowing the context necessary to interpret this\nstate as a commitment, acknowledgement, or a receipt.","type":"object","properties":{"channel_id":{"description":"channel unique identifier.","type":"string"},"data":{"description":"embedded data that represents packet state.","type":"string","format":"byte"},"port_id":{"description":"channel port identifier.","type":"string"},"sequence":{"description":"packet sequence.","type":"string","format":"uint64"}}},"ibc.core.channel.v1.Params":{"description":"Params defines the set of IBC channel parameters.","type":"object","properties":{"upgrade_timeout":{"description":"the relative timeout after which channel upgrades will time out.","$ref":"#/definitions/ibc.core.channel.v1.Timeout"}}},"ibc.core.channel.v1.QueryChannelClientStateResponse":{"type":"object","title":"QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method","properties":{"identified_client_state":{"title":"client state associated with the channel","$ref":"#/definitions/ibc.core.client.v1.IdentifiedClientState"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryChannelConsensusStateResponse":{"type":"object","title":"QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method","properties":{"client_id":{"type":"string","title":"client ID associated with the consensus state"},"consensus_state":{"title":"consensus state associated with the channel","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryChannelParamsResponse":{"description":"QueryChannelParamsResponse is the response type for the Query/ChannelParams RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.core.channel.v1.Params"}}},"ibc.core.channel.v1.QueryChannelResponse":{"description":"QueryChannelResponse is the response type for the Query/Channel RPC method.\nBesides the Channel end, it includes a proof and the height from which the\nproof was retrieved.","type":"object","properties":{"channel":{"title":"channel associated with the request identifiers","$ref":"#/definitions/ibc.core.channel.v1.Channel"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryChannelsResponse":{"description":"QueryChannelsResponse is the response type for the Query/Channels RPC method.","type":"object","properties":{"channels":{"description":"list of stored channels of the chain.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.IdentifiedChannel"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryConnectionChannelsResponse":{"type":"object","title":"QueryConnectionChannelsResponse is the Response type for the\nQuery/QueryConnectionChannels RPC method","properties":{"channels":{"description":"list of channels associated with a connection.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.IdentifiedChannel"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryNextSequenceReceiveResponse":{"type":"object","title":"QuerySequenceResponse is the response type for the\nQuery/QueryNextSequenceReceiveResponse RPC method","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","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryNextSequenceSendResponse":{"type":"object","title":"QueryNextSequenceSendResponse is the request type for the\nQuery/QueryNextSequenceSend RPC method","properties":{"next_sequence_send":{"type":"string","format":"uint64","title":"next sequence send number"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryPacketAcknowledgementResponse":{"type":"object","title":"QueryPacketAcknowledgementResponse defines the client query response for a\npacket which also includes a proof and the height from which the\nproof was retrieved","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","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryPacketAcknowledgementsResponse":{"type":"object","title":"QueryPacketAcknowledgemetsResponse is the request type for the\nQuery/QueryPacketAcknowledgements RPC method","properties":{"acknowledgements":{"type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.PacketState"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryPacketCommitmentResponse":{"type":"object","title":"QueryPacketCommitmentResponse defines the client query response for a packet\nwhich also includes a proof and the height from which the proof was\nretrieved","properties":{"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","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryPacketCommitmentsResponse":{"type":"object","title":"QueryPacketCommitmentsResponse is the request type for the\nQuery/QueryPacketCommitments RPC method","properties":{"commitments":{"type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.PacketState"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryPacketReceiptResponse":{"type":"object","title":"QueryPacketReceiptResponse defines the client query response for a packet\nreceipt which also includes a proof, and the height from which the proof was\nretrieved","properties":{"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"},"received":{"type":"boolean","title":"success flag for if receipt exists"}}},"ibc.core.channel.v1.QueryUnreceivedAcksResponse":{"type":"object","title":"QueryUnreceivedAcksResponse is the response type for the\nQuery/UnreceivedAcks RPC method","properties":{"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"sequences":{"type":"array","title":"list of unreceived acknowledgement sequences","items":{"type":"string","format":"uint64"}}}},"ibc.core.channel.v1.QueryUnreceivedPacketsResponse":{"type":"object","title":"QueryUnreceivedPacketsResponse is the response type for the\nQuery/UnreceivedPacketCommitments RPC method","properties":{"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"sequences":{"type":"array","title":"list of unreceived packet sequences","items":{"type":"string","format":"uint64"}}}},"ibc.core.channel.v1.QueryUpgradeErrorResponse":{"type":"object","title":"QueryUpgradeErrorResponse is the response type for the Query/QueryUpgradeError RPC method","properties":{"error_receipt":{"$ref":"#/definitions/ibc.core.channel.v1.ErrorReceipt"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryUpgradeResponse":{"type":"object","title":"QueryUpgradeResponse is the response type for the QueryUpgradeResponse RPC method","properties":{"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"},"upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"}}},"ibc.core.channel.v1.ResponseResultType":{"description":"- RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration\n - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed)\n - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully\n - RESPONSE_RESULT_TYPE_FAILURE: The message was executed unsuccessfully","type":"string","title":"ResponseResultType defines the possible outcomes of the execution of a message","default":"RESPONSE_RESULT_TYPE_UNSPECIFIED","enum":["RESPONSE_RESULT_TYPE_UNSPECIFIED","RESPONSE_RESULT_TYPE_NOOP","RESPONSE_RESULT_TYPE_SUCCESS","RESPONSE_RESULT_TYPE_FAILURE"]},"ibc.core.channel.v1.State":{"description":"State defines if a channel is in one of the following states:\nCLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A channel has just started the opening handshake.\n - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.\n - STATE_OPEN: A channel has completed the handshake. Open channels are\nready to send and receive packets.\n - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive\npackets.\n - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets.\n - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.","type":"string","default":"STATE_UNINITIALIZED_UNSPECIFIED","enum":["STATE_UNINITIALIZED_UNSPECIFIED","STATE_INIT","STATE_TRYOPEN","STATE_OPEN","STATE_CLOSED","STATE_FLUSHING","STATE_FLUSHCOMPLETE"]},"ibc.core.channel.v1.Timeout":{"description":"Timeout defines an execution deadline structure for 04-channel handlers.\nThis includes packet lifecycle handlers as well as the upgrade handshake handlers.\nA valid Timeout contains either one or both of a timestamp and block height (sequence).","type":"object","properties":{"height":{"title":"block height after which the packet or upgrade times out","$ref":"#/definitions/ibc.core.client.v1.Height"},"timestamp":{"type":"string","format":"uint64","title":"block timestamp (in nanoseconds) after which the packet or upgrade times out"}}},"ibc.core.channel.v1.Upgrade":{"description":"Upgrade is a verifiable type which contains the relevant information\nfor an attempted upgrade. It provides the proposed changes to the channel\nend, the timeout for this upgrade attempt and the next packet sequence\nwhich allows the counterparty to efficiently know the highest sequence it has received.\nThe next sequence send is used for pruning and upgrading from unordered to ordered channels.","type":"object","properties":{"fields":{"$ref":"#/definitions/ibc.core.channel.v1.UpgradeFields"},"next_sequence_send":{"type":"string","format":"uint64"},"timeout":{"$ref":"#/definitions/ibc.core.channel.v1.Timeout"}}},"ibc.core.channel.v1.UpgradeFields":{"description":"UpgradeFields are the fields in a channel end which may be changed\nduring a channel upgrade.","type":"object","properties":{"connection_hops":{"type":"array","items":{"type":"string"}},"ordering":{"$ref":"#/definitions/ibc.core.channel.v1.Order"},"version":{"type":"string"}}},"ibc.core.client.v1.ConsensusStateWithHeight":{"description":"ConsensusStateWithHeight defines a consensus state with an additional height\nfield.","type":"object","properties":{"consensus_state":{"title":"consensus state","$ref":"#/definitions/google.protobuf.Any"},"height":{"title":"consensus state height","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.client.v1.Height":{"description":"Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset","type":"object","title":"Height is a monotonically increasing data type\nthat can be compared against another Height for the purposes of updating and\nfreezing clients","properties":{"revision_height":{"type":"string","format":"uint64","title":"the height within the given revision"},"revision_number":{"type":"string","format":"uint64","title":"the revision that the client is currently on"}}},"ibc.core.client.v1.IdentifiedClientState":{"description":"IdentifiedClientState defines a client state with an additional client\nidentifier field.","type":"object","properties":{"client_id":{"type":"string","title":"client identifier"},"client_state":{"title":"client state","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.MsgCreateClient":{"type":"object","title":"MsgCreateClient defines a message to create an IBC client","properties":{"client_state":{"title":"light client state","$ref":"#/definitions/google.protobuf.Any"},"consensus_state":{"description":"consensus state associated with the client that corresponds to a given\nheight.","$ref":"#/definitions/google.protobuf.Any"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgCreateClientResponse":{"description":"MsgCreateClientResponse defines the Msg/CreateClient response type.","type":"object"},"ibc.core.client.v1.MsgIBCSoftwareUpgrade":{"type":"object","title":"MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of an IBC client using a v1 governance proposal","properties":{"plan":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"},"signer":{"type":"string","title":"signer address"},"upgraded_client_state":{"description":"An UpgradedClientState must be provided to perform an IBC breaking upgrade.\nThis will make the chain commit to the correct upgraded (self) client state\nbefore the upgrade occurs, so that connecting chains can verify that the\nnew upgraded client is valid by verifying a proof on the previous version\nof the chain. This will allow IBC connections to persist smoothly across\nplanned chain upgrades. Correspondingly, the UpgradedClientState field has been\ndeprecated in the Cosmos SDK to allow for this logic to exist solely in\nthe 02-client module.","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse":{"description":"MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response type.","type":"object"},"ibc.core.client.v1.MsgRecoverClient":{"description":"MsgRecoverClient defines the message used to recover a frozen or expired client.","type":"object","properties":{"signer":{"type":"string","title":"signer address"},"subject_client_id":{"type":"string","title":"the client identifier for the client to be updated if the proposal passes"},"substitute_client_id":{"type":"string","title":"the substitute client identifier for the client which will replace the subject\nclient"}}},"ibc.core.client.v1.MsgRecoverClientResponse":{"description":"MsgRecoverClientResponse defines the Msg/RecoverClient response type.","type":"object"},"ibc.core.client.v1.MsgSubmitMisbehaviour":{"description":"MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for\nlight client misbehaviour.\nThis message has been deprecated. Use MsgUpdateClient instead.","type":"object","properties":{"client_id":{"type":"string","title":"client unique identifier"},"misbehaviour":{"title":"misbehaviour used for freezing the light client","$ref":"#/definitions/google.protobuf.Any"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgSubmitMisbehaviourResponse":{"description":"MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response\ntype.","type":"object"},"ibc.core.client.v1.MsgUpdateClient":{"description":"MsgUpdateClient defines an sdk.Msg to update a IBC client state using\nthe given client message.","type":"object","properties":{"client_id":{"type":"string","title":"client unique identifier"},"client_message":{"title":"client message to update the light client","$ref":"#/definitions/google.protobuf.Any"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgUpdateClientResponse":{"description":"MsgUpdateClientResponse defines the Msg/UpdateClient response type.","type":"object"},"ibc.core.client.v1.MsgUpdateParams":{"description":"MsgUpdateParams defines the sdk.Msg type to update the client parameters.","type":"object","properties":{"params":{"description":"params defines the client parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.core.client.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the MsgUpdateParams response type.","type":"object"},"ibc.core.client.v1.MsgUpgradeClient":{"type":"object","title":"MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client\nstate","properties":{"client_id":{"type":"string","title":"client unique identifier"},"client_state":{"title":"upgraded client state","$ref":"#/definitions/google.protobuf.Any"},"consensus_state":{"title":"upgraded consensus state, only contains enough information to serve as a\nbasis of trust in update logic","$ref":"#/definitions/google.protobuf.Any"},"proof_upgrade_client":{"type":"string","format":"byte","title":"proof that old chain committed to new client"},"proof_upgrade_consensus_state":{"type":"string","format":"byte","title":"proof that old chain committed to new consensus state"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgUpgradeClientResponse":{"description":"MsgUpgradeClientResponse defines the Msg/UpgradeClient response type.","type":"object"},"ibc.core.client.v1.Params":{"description":"Params defines the set of IBC light client parameters.","type":"object","properties":{"allowed_clients":{"description":"allowed_clients defines the list of allowed client state types which can be created\nand interacted with. If a client type is removed from the allowed clients list, usage\nof this client will be disabled until it is added again to the list.","type":"array","items":{"type":"string"}}}},"ibc.core.client.v1.QueryClientParamsResponse":{"description":"QueryClientParamsResponse is the response type for the Query/ClientParams RPC\nmethod.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.core.client.v1.Params"}}},"ibc.core.client.v1.QueryClientStateResponse":{"description":"QueryClientStateResponse is the response type for the Query/ClientState RPC\nmethod. Besides the client state, it includes a proof and the height from\nwhich the proof was retrieved.","type":"object","properties":{"client_state":{"title":"client state associated with the request identifier","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.client.v1.QueryClientStatesResponse":{"description":"QueryClientStatesResponse is the response type for the Query/ClientStates RPC\nmethod.","type":"object","properties":{"client_states":{"description":"list of stored ClientStates of the chain.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.client.v1.IdentifiedClientState"}},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.client.v1.QueryClientStatusResponse":{"description":"QueryClientStatusResponse is the response type for the Query/ClientStatus RPC\nmethod. It returns the current status of the IBC client.","type":"object","properties":{"status":{"type":"string"}}},"ibc.core.client.v1.QueryConsensusStateHeightsResponse":{"type":"object","title":"QueryConsensusStateHeightsResponse is the response type for the\nQuery/ConsensusStateHeights RPC method","properties":{"consensus_state_heights":{"type":"array","title":"consensus state heights","items":{"type":"object","$ref":"#/definitions/ibc.core.client.v1.Height"}},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.client.v1.QueryConsensusStateResponse":{"type":"object","title":"QueryConsensusStateResponse is the response type for the Query/ConsensusState\nRPC method","properties":{"consensus_state":{"title":"consensus state associated with the client identifier at the given height","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.client.v1.QueryConsensusStatesResponse":{"type":"object","title":"QueryConsensusStatesResponse is the response type for the\nQuery/ConsensusStates RPC method","properties":{"consensus_states":{"type":"array","title":"consensus states associated with the identifier","items":{"type":"object","$ref":"#/definitions/ibc.core.client.v1.ConsensusStateWithHeight"}},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.client.v1.QueryUpgradedClientStateResponse":{"description":"QueryUpgradedClientStateResponse is the response type for the\nQuery/UpgradedClientState RPC method.","type":"object","properties":{"upgraded_client_state":{"title":"client state associated with the request identifier","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.QueryUpgradedConsensusStateResponse":{"description":"QueryUpgradedConsensusStateResponse is the response type for the\nQuery/UpgradedConsensusState RPC method.","type":"object","properties":{"upgraded_consensus_state":{"title":"Consensus state associated with the request identifier","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.QueryVerifyMembershipRequest":{"type":"object","title":"QueryVerifyMembershipRequest is the request type for the Query/VerifyMembership RPC method","properties":{"block_delay":{"type":"string","format":"uint64","title":"optional block delay"},"client_id":{"description":"client unique identifier.","type":"string"},"merkle_path":{"description":"the commitment key path.","$ref":"#/definitions/ibc.core.commitment.v1.MerklePath"},"proof":{"description":"the proof to be verified by the client.","type":"string","format":"byte"},"proof_height":{"description":"the height of the commitment root at which the proof is verified.","$ref":"#/definitions/ibc.core.client.v1.Height"},"time_delay":{"type":"string","format":"uint64","title":"optional time delay"},"value":{"description":"the value which is proven.","type":"string","format":"byte"}}},"ibc.core.client.v1.QueryVerifyMembershipResponse":{"type":"object","title":"QueryVerifyMembershipResponse is the response type for the Query/VerifyMembership RPC method","properties":{"success":{"description":"boolean indicating success or failure of proof verification.","type":"boolean"}}},"ibc.core.commitment.v1.MerklePath":{"type":"object","title":"MerklePath is the path used to verify commitment proofs, which can be an\narbitrary structured object (defined by a commitment type).\nMerklePath is represented from root-to-leaf","properties":{"key_path":{"type":"array","items":{"type":"string"}}}},"ibc.core.commitment.v1.MerklePrefix":{"type":"object","title":"MerklePrefix is merkle path prefixed to the key.\nThe constructed key from the Path and the key will be append(Path.KeyPath,\nappend(Path.KeyPrefix, key...))","properties":{"key_prefix":{"type":"string","format":"byte"}}},"ibc.core.connection.v1.ConnectionEnd":{"description":"ConnectionEnd defines a stateful object on a chain connected to another\nseparate one.\nNOTE: there must only be 2 defined ConnectionEnds to establish\na connection between two chains.","type":"object","properties":{"client_id":{"description":"client associated with this connection.","type":"string"},"counterparty":{"description":"counterparty chain associated with this connection.","$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"delay_period":{"description":"delay period that must pass before a consensus state can be used for\npacket-verification NOTE: delay period logic is only implemented by some\nclients.","type":"string","format":"uint64"},"state":{"description":"current state of the connection end.","$ref":"#/definitions/ibc.core.connection.v1.State"},"versions":{"description":"IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.Version"}}}},"ibc.core.connection.v1.Counterparty":{"description":"Counterparty defines the counterparty chain associated with a connection end.","type":"object","properties":{"client_id":{"description":"identifies the client on the counterparty chain associated with a given\nconnection.","type":"string"},"connection_id":{"description":"identifies the connection end on the counterparty chain associated with a\ngiven connection.","type":"string"},"prefix":{"description":"commitment merkle prefix of the counterparty chain.","$ref":"#/definitions/ibc.core.commitment.v1.MerklePrefix"}}},"ibc.core.connection.v1.IdentifiedConnection":{"description":"IdentifiedConnection defines a connection with additional connection\nidentifier field.","type":"object","properties":{"client_id":{"description":"client associated with this connection.","type":"string"},"counterparty":{"description":"counterparty chain associated with this connection.","$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"delay_period":{"description":"delay period associated with this connection.","type":"string","format":"uint64"},"id":{"description":"connection identifier.","type":"string"},"state":{"description":"current state of the connection end.","$ref":"#/definitions/ibc.core.connection.v1.State"},"versions":{"type":"array","title":"IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.Version"}}}},"ibc.core.connection.v1.MsgConnectionOpenAck":{"description":"MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to\nacknowledge the change of connection state to TRYOPEN on Chain B.","type":"object","properties":{"client_state":{"$ref":"#/definitions/google.protobuf.Any"},"connection_id":{"type":"string"},"consensus_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"counterparty_connection_id":{"type":"string"},"host_consensus_state_proof":{"type":"string","format":"byte","title":"optional proof data for host state machines that are unable to introspect their own consensus state"},"proof_client":{"type":"string","format":"byte","title":"proof of client state included in message"},"proof_consensus":{"type":"string","format":"byte","title":"proof of client consensus state"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_try":{"type":"string","format":"byte","title":"proof of the initialization the connection on Chain B: `UNITIALIZED -\u003e\nTRYOPEN`"},"signer":{"type":"string"},"version":{"$ref":"#/definitions/ibc.core.connection.v1.Version"}}},"ibc.core.connection.v1.MsgConnectionOpenAckResponse":{"description":"MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type.","type":"object"},"ibc.core.connection.v1.MsgConnectionOpenConfirm":{"description":"MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of connection state to OPEN on Chain A.","type":"object","properties":{"connection_id":{"type":"string"},"proof_ack":{"type":"string","format":"byte","title":"proof for the change of the connection state on Chain A: `INIT -\u003e OPEN`"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.connection.v1.MsgConnectionOpenConfirmResponse":{"description":"MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm\nresponse type.","type":"object"},"ibc.core.connection.v1.MsgConnectionOpenInit":{"description":"MsgConnectionOpenInit defines the msg sent by an account on Chain A to\ninitialize a connection with Chain B.","type":"object","properties":{"client_id":{"type":"string"},"counterparty":{"$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"delay_period":{"type":"string","format":"uint64"},"signer":{"type":"string"},"version":{"$ref":"#/definitions/ibc.core.connection.v1.Version"}}},"ibc.core.connection.v1.MsgConnectionOpenInitResponse":{"description":"MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response\ntype.","type":"object"},"ibc.core.connection.v1.MsgConnectionOpenTry":{"description":"MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a\nconnection on Chain B.","type":"object","properties":{"client_id":{"type":"string"},"client_state":{"$ref":"#/definitions/google.protobuf.Any"},"consensus_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"counterparty":{"$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"counterparty_versions":{"type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.Version"}},"delay_period":{"type":"string","format":"uint64"},"host_consensus_state_proof":{"type":"string","format":"byte","title":"optional proof data for host state machines that are unable to introspect their own consensus state"},"previous_connection_id":{"description":"Deprecated: this field is unused. Crossing hellos are no longer supported in core IBC.","type":"string"},"proof_client":{"type":"string","format":"byte","title":"proof of client state included in message"},"proof_consensus":{"type":"string","format":"byte","title":"proof of client consensus state"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_init":{"type":"string","format":"byte","title":"proof of the initialization the connection on Chain A: `UNITIALIZED -\u003e\nINIT`"},"signer":{"type":"string"}}},"ibc.core.connection.v1.MsgConnectionOpenTryResponse":{"description":"MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type.","type":"object"},"ibc.core.connection.v1.MsgUpdateParams":{"description":"MsgUpdateParams defines the sdk.Msg type to update the connection parameters.","type":"object","properties":{"params":{"description":"params defines the connection parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.core.connection.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.connection.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the MsgUpdateParams response type.","type":"object"},"ibc.core.connection.v1.Params":{"description":"Params defines the set of Connection parameters.","type":"object","properties":{"max_expected_time_per_block":{"description":"maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the\nlargest amount of time that the chain might reasonably take to produce the next block under normal operating\nconditions. A safe choice is 3-5x the expected time per block.","type":"string","format":"uint64"}}},"ibc.core.connection.v1.QueryClientConnectionsResponse":{"type":"object","title":"QueryClientConnectionsResponse is the response type for the\nQuery/ClientConnections RPC method","properties":{"connection_paths":{"description":"slice of all the connection paths associated with a client.","type":"array","items":{"type":"string"}},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was generated","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionClientStateResponse":{"type":"object","title":"QueryConnectionClientStateResponse is the response type for the\nQuery/ConnectionClientState RPC method","properties":{"identified_client_state":{"title":"client state associated with the channel","$ref":"#/definitions/ibc.core.client.v1.IdentifiedClientState"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionConsensusStateResponse":{"type":"object","title":"QueryConnectionConsensusStateResponse is the response type for the\nQuery/ConnectionConsensusState RPC method","properties":{"client_id":{"type":"string","title":"client ID associated with the consensus state"},"consensus_state":{"title":"consensus state associated with the channel","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionParamsResponse":{"description":"QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.core.connection.v1.Params"}}},"ibc.core.connection.v1.QueryConnectionResponse":{"description":"QueryConnectionResponse is the response type for the Query/Connection RPC\nmethod. Besides the connection end, it includes a proof and the height from\nwhich the proof was retrieved.","type":"object","properties":{"connection":{"title":"connection associated with the request identifier","$ref":"#/definitions/ibc.core.connection.v1.ConnectionEnd"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionsResponse":{"description":"QueryConnectionsResponse is the response type for the Query/Connections RPC\nmethod.","type":"object","properties":{"connections":{"description":"list of stored connections of the chain.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.IdentifiedConnection"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.connection.v1.State":{"description":"State defines if a connection is in one of the following states:\nINIT, TRYOPEN, OPEN or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A connection end has just started the opening handshake.\n - STATE_TRYOPEN: A connection end has acknowledged the handshake step on the counterparty\nchain.\n - STATE_OPEN: A connection end has completed the handshake.","type":"string","default":"STATE_UNINITIALIZED_UNSPECIFIED","enum":["STATE_UNINITIALIZED_UNSPECIFIED","STATE_INIT","STATE_TRYOPEN","STATE_OPEN"]},"ibc.core.connection.v1.Version":{"description":"Version defines the versioning scheme used to negotiate the IBC verison in\nthe connection handshake.","type":"object","properties":{"features":{"type":"array","title":"list of features compatible with the specified identifier","items":{"type":"string"}},"identifier":{"type":"string","title":"unique version identifier"}}},"ibc.lightclients.wasm.v1.MsgMigrateContract":{"description":"MsgMigrateContract defines the request type for the MigrateContract rpc.","type":"object","properties":{"checksum":{"type":"string","format":"byte","title":"checksum is the sha256 hash of the new wasm byte code for the contract"},"client_id":{"type":"string","title":"the client id of the contract"},"msg":{"type":"string","format":"byte","title":"the json encoded message to be passed to the contract on migration"},"signer":{"type":"string","title":"signer address"}}},"ibc.lightclients.wasm.v1.MsgMigrateContractResponse":{"type":"object","title":"MsgMigrateContractResponse defines the response type for the MigrateContract rpc"},"ibc.lightclients.wasm.v1.MsgRemoveChecksum":{"description":"MsgRemoveChecksum defines the request type for the MsgRemoveChecksum rpc.","type":"object","properties":{"checksum":{"type":"string","format":"byte","title":"checksum is the sha256 hash to be removed from the store"},"signer":{"type":"string","title":"signer address"}}},"ibc.lightclients.wasm.v1.MsgRemoveChecksumResponse":{"type":"object","title":"MsgStoreChecksumResponse defines the response type for the StoreCode rpc"},"ibc.lightclients.wasm.v1.MsgStoreCode":{"description":"MsgStoreCode defines the request type for the StoreCode rpc.","type":"object","properties":{"signer":{"type":"string","title":"signer address"},"wasm_byte_code":{"type":"string","format":"byte","title":"wasm byte code of light client contract. It can be raw or gzip compressed"}}},"ibc.lightclients.wasm.v1.MsgStoreCodeResponse":{"type":"object","title":"MsgStoreCodeResponse defines the response type for the StoreCode rpc","properties":{"checksum":{"type":"string","format":"byte","title":"checksum is the sha256 hash of the stored code"}}},"ibc.lightclients.wasm.v1.QueryChecksumsResponse":{"description":"QueryChecksumsResponse is the response type for the Query/Checksums RPC method.","type":"object","properties":{"checksums":{"description":"checksums is a list of the hex encoded checksums of all wasm codes stored.","type":"array","items":{"type":"string"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.lightclients.wasm.v1.QueryCodeResponse":{"description":"QueryCodeResponse is the response type for the Query/Code RPC method.","type":"object","properties":{"data":{"type":"string","format":"byte"}}},"tendermint.abci.CheckTxType":{"type":"string","default":"NEW","enum":["NEW","RECHECK"]},"tendermint.abci.CommitInfo":{"type":"object","properties":{"round":{"type":"integer","format":"int32"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.VoteInfo"}}}},"tendermint.abci.Event":{"description":"Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.EventAttribute"}},"type":{"type":"string"}}},"tendermint.abci.EventAttribute":{"description":"EventAttribute is a single key-value pair, associated with an event.","type":"object","properties":{"index":{"type":"boolean","title":"nondeterministic"},"key":{"type":"string"},"value":{"type":"string"}}},"tendermint.abci.ExecTxResult":{"description":"ExecTxResult contains results of executing one individual transaction.\n\n* Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","title":"nondeterministic","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ExtendedCommitInfo":{"description":"ExtendedCommitInfo is similar to CommitInfo except that it is only used in\nthe PrepareProposal request such that CometBFT can provide vote extensions\nto the application.","type":"object","properties":{"round":{"description":"The round at which the block proposer decided in the previous height.","type":"integer","format":"int32"},"votes":{"description":"List of validators' addresses in the last validator set with their voting\ninformation, including vote extensions.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExtendedVoteInfo"}}}},"tendermint.abci.ExtendedVoteInfo":{"type":"object","properties":{"block_id_flag":{"title":"block_id_flag indicates whether the validator voted for a block, nil, or did not vote at all","$ref":"#/definitions/tendermint.types.BlockIDFlag"},"extension_signature":{"type":"string","format":"byte","title":"Vote extension signature created by CometBFT"},"validator":{"description":"The validator that sent the vote.","$ref":"#/definitions/tendermint.abci.Validator"},"vote_extension":{"description":"Non-deterministic extension provided by the sending validator's application.","type":"string","format":"byte"}}},"tendermint.abci.Misbehavior":{"type":"object","properties":{"height":{"type":"string","format":"int64","title":"The height when the offense occurred"},"time":{"type":"string","format":"date-time","title":"The corresponding time where the offense occurred"},"total_voting_power":{"type":"string","format":"int64","title":"Total voting power of the validator set in case the ABCI application does\nnot store historical validators.\nhttps://github.com/tendermint/tendermint/issues/4581"},"type":{"$ref":"#/definitions/tendermint.abci.MisbehaviorType"},"validator":{"title":"The offending validator","$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.abci.MisbehaviorType":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","DUPLICATE_VOTE","LIGHT_CLIENT_ATTACK"]},"tendermint.abci.RequestApplySnapshotChunk":{"type":"object","title":"Applies a snapshot chunk","properties":{"chunk":{"type":"string","format":"byte"},"index":{"type":"integer","format":"int64"},"sender":{"type":"string"}}},"tendermint.abci.RequestCheckTx":{"type":"object","properties":{"tx":{"type":"string","format":"byte"},"type":{"$ref":"#/definitions/tendermint.abci.CheckTxType"}}},"tendermint.abci.RequestCommit":{"type":"object"},"tendermint.abci.RequestEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.RequestExtendVote":{"type":"object","title":"Extends a vote with application-injected data","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this vote may be referring to"},"height":{"type":"string","format":"int64","title":"the height of the extended vote"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time","title":"info of the block that this vote may be referring to"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFinalizeBlock":{"type":"object","properties":{"decided_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"hash":{"description":"hash is the merkle root hash of the fields of the decided block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"proposer_address is the address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFlush":{"type":"object"},"tendermint.abci.RequestInfo":{"type":"object","properties":{"abci_version":{"type":"string"},"block_version":{"type":"string","format":"uint64"},"p2p_version":{"type":"string","format":"uint64"},"version":{"type":"string"}}},"tendermint.abci.RequestInitChain":{"type":"object","properties":{"app_state_bytes":{"type":"string","format":"byte"},"chain_id":{"type":"string"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"initial_height":{"type":"string","format":"int64"},"time":{"type":"string","format":"date-time"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.RequestListSnapshots":{"type":"object","title":"lists available snapshots"},"tendermint.abci.RequestLoadSnapshotChunk":{"type":"object","title":"loads a snapshot chunk","properties":{"chunk":{"type":"integer","format":"int64"},"format":{"type":"integer","format":"int64"},"height":{"type":"string","format":"uint64"}}},"tendermint.abci.RequestOfferSnapshot":{"type":"object","title":"offers a snapshot to the application","properties":{"app_hash":{"type":"string","format":"byte","title":"light client-verified app hash for snapshot height"},"snapshot":{"title":"snapshot offered by peers","$ref":"#/definitions/tendermint.abci.Snapshot"}}},"tendermint.abci.RequestPrepareProposal":{"type":"object","properties":{"height":{"type":"string","format":"int64"},"local_last_commit":{"$ref":"#/definitions/tendermint.abci.ExtendedCommitInfo"},"max_tx_bytes":{"description":"the modified transactions cannot exceed this size.","type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"address of the public key of the validator proposing the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"description":"txs is an array of transactions that will be included in a block,\nsent to the app for possible modifications.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestProcessProposal":{"type":"object","properties":{"hash":{"description":"hash is the merkle root hash of the fields of the proposed block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestQuery":{"type":"object","properties":{"data":{"type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"path":{"type":"string"},"prove":{"type":"boolean"}}},"tendermint.abci.RequestVerifyVoteExtension":{"type":"object","title":"Verify the vote extension","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this received vote corresponds to"},"height":{"type":"string","format":"int64"},"validator_address":{"type":"string","format":"byte","title":"the validator that signed the vote extension"},"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseApplySnapshotChunk":{"type":"object","properties":{"refetch_chunks":{"type":"array","title":"Chunks to refetch and reapply","items":{"type":"integer","format":"int64"}},"reject_senders":{"type":"array","title":"Chunk senders to reject and ban","items":{"type":"string"}},"result":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk.Result"}}},"tendermint.abci.ResponseApplySnapshotChunk.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Chunk successfully accepted\n - ABORT: Abort all snapshot restoration\n - RETRY: Retry chunk (combine with refetch and reject)\n - RETRY_SNAPSHOT: Retry snapshot (combine with refetch and reject)\n - REJECT_SNAPSHOT: Reject this snapshot, try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","RETRY","RETRY_SNAPSHOT","REJECT_SNAPSHOT"]},"tendermint.abci.ResponseCheckTx":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ResponseCommit":{"type":"object","properties":{"retain_height":{"type":"string","format":"int64"}}},"tendermint.abci.ResponseEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.ResponseExtendVote":{"type":"object","properties":{"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseFinalizeBlock":{"type":"object","properties":{"app_hash":{"description":"app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was\ndeterministic. It is up to the application to decide which algorithm to use.","type":"string","format":"byte"},"consensus_param_updates":{"description":"updates to the consensus params, if any.","$ref":"#/definitions/tendermint.types.ConsensusParams"},"events":{"type":"array","title":"set of block events emmitted as part of executing the block","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"tx_results":{"type":"array","title":"the result of executing each transaction including the events\nthe particular transction emitted. This should match the order\nof the transactions delivered in the block itself","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExecTxResult"}},"validator_updates":{"description":"a list of updates to the validator set. These will reflect the validator set at current height + 2.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseFlush":{"type":"object"},"tendermint.abci.ResponseInfo":{"type":"object","properties":{"app_version":{"type":"string","format":"uint64"},"data":{"type":"string"},"last_block_app_hash":{"type":"string","format":"byte"},"last_block_height":{"type":"string","format":"int64"},"version":{"type":"string"}}},"tendermint.abci.ResponseInitChain":{"type":"object","properties":{"app_hash":{"type":"string","format":"byte"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseListSnapshots":{"type":"object","properties":{"snapshots":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Snapshot"}}}},"tendermint.abci.ResponseLoadSnapshotChunk":{"type":"object","properties":{"chunk":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseOfferSnapshot":{"type":"object","properties":{"result":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot.Result"}}},"tendermint.abci.ResponseOfferSnapshot.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Snapshot accepted, apply chunks\n - ABORT: Abort all snapshot restoration\n - REJECT: Reject this specific snapshot, try others\n - REJECT_FORMAT: Reject all snapshots of this format, try others\n - REJECT_SENDER: Reject all snapshots from the sender(s), try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","REJECT","REJECT_FORMAT","REJECT_SENDER"]},"tendermint.abci.ResponsePrepareProposal":{"type":"object","properties":{"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.ResponseProcessProposal":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal.ProposalStatus"}}},"tendermint.abci.ResponseProcessProposal.ProposalStatus":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.ResponseQuery":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"description":"bytes data = 2; // use \"value\" instead.\n\nnondeterministic","type":"string"},"proof_ops":{"$ref":"#/definitions/tendermint.crypto.ProofOps"},"value":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseVerifyVoteExtension":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus"}}},"tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus":{"description":" - REJECT: Rejecting the vote extension will reject the entire precommit by the sender.\nIncorrectly implementing this thus has liveness implications as it may affect\nCometBFT's ability to receive 2/3+ valid votes to finalize the block.\nHonest nodes should never be rejected.","type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.Snapshot":{"type":"object","properties":{"chunks":{"type":"integer","format":"int64","title":"Number of chunks in the snapshot"},"format":{"type":"integer","format":"int64","title":"The application-specific snapshot format"},"hash":{"type":"string","format":"byte","title":"Arbitrary snapshot hash, equal only if identical"},"height":{"type":"string","format":"uint64","title":"The height at which the snapshot was taken"},"metadata":{"type":"string","format":"byte","title":"Arbitrary application metadata"}}},"tendermint.abci.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte","title":"The first 20 bytes of SHA256(public key)"},"power":{"description":"The voting power","type":"string","format":"int64","title":"PubKey pub_key = 2 [(gogoproto.nullable)=false];"}}},"tendermint.abci.ValidatorUpdate":{"type":"object","properties":{"power":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"}}},"tendermint.abci.VoteInfo":{"type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"validator":{"$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.crypto.ProofOp":{"type":"object","title":"ProofOp defines an operation used for calculating Merkle root\nThe data could be arbitrary format, providing nessecary data\nfor example neighbouring node hash","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"tendermint.crypto.ProofOps":{"type":"object","title":"ProofOps is Merkle proof defined by the list of ProofOps","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.crypto.ProofOp"}}}},"tendermint.crypto.PublicKey":{"type":"object","title":"PublicKey defines the keys available for use with Validators","properties":{"ed25519":{"type":"string","format":"byte"},"secp256k1":{"type":"string","format":"byte"}}},"tendermint.p2p.DefaultNodeInfo":{"type":"object","properties":{"channels":{"type":"string","format":"byte"},"default_node_id":{"type":"string"},"listen_addr":{"type":"string"},"moniker":{"type":"string"},"network":{"type":"string"},"other":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfoOther"},"protocol_version":{"$ref":"#/definitions/tendermint.p2p.ProtocolVersion"},"version":{"type":"string"}}},"tendermint.p2p.DefaultNodeInfoOther":{"type":"object","properties":{"rpc_address":{"type":"string"},"tx_index":{"type":"string"}}},"tendermint.p2p.ProtocolVersion":{"type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"},"p2p":{"type":"string","format":"uint64"}}},"tendermint.types.ABCIParams":{"description":"ABCIParams configure functionality specific to the Application Blockchain Interface.","type":"object","properties":{"vote_extensions_enable_height":{"description":"vote_extensions_enable_height configures the first height during which\nvote extensions will be enabled. During this specified height, and for all\nsubsequent heights, precommit messages that do not contain valid extension data\nwill be considered invalid. Prior to this height, vote extensions will not\nbe used or accepted by validators on the network.\n\nOnce enabled, vote extensions will be created by the application in ExtendVote,\npassed to the application for validation in VerifyVoteExtension and given\nto the application to use when proposing a block during PrepareProposal.","type":"string","format":"int64"}}},"tendermint.types.Block":{"type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/tendermint.types.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"tendermint.types.BlockID":{"type":"object","title":"BlockID","properties":{"hash":{"type":"string","format":"byte"},"part_set_header":{"$ref":"#/definitions/tendermint.types.PartSetHeader"}}},"tendermint.types.BlockIDFlag":{"description":"- BLOCK_ID_FLAG_UNKNOWN: indicates an error condition\n - BLOCK_ID_FLAG_ABSENT: the vote was not received\n - BLOCK_ID_FLAG_COMMIT: voted for the block that received the majority\n - BLOCK_ID_FLAG_NIL: voted for nil","type":"string","title":"BlockIdFlag indicates which BlockID the signature is for","default":"BLOCK_ID_FLAG_UNKNOWN","enum":["BLOCK_ID_FLAG_UNKNOWN","BLOCK_ID_FLAG_ABSENT","BLOCK_ID_FLAG_COMMIT","BLOCK_ID_FLAG_NIL"]},"tendermint.types.BlockParams":{"description":"BlockParams contains limits on the block size.","type":"object","properties":{"max_bytes":{"type":"string","format":"int64","title":"Max block size, in bytes.\nNote: must be greater than 0"},"max_gas":{"type":"string","format":"int64","title":"Max gas per block.\nNote: must be greater or equal to -1"}}},"tendermint.types.Commit":{"description":"Commit contains the evidence that a block was committed by a set of validators.","type":"object","properties":{"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signatures":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.CommitSig"}}}},"tendermint.types.CommitSig":{"description":"CommitSig is a part of the Vote included in a Commit.","type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"signature":{"type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"validator_address":{"type":"string","format":"byte"}}},"tendermint.types.ConsensusParams":{"description":"ConsensusParams contains consensus critical parameters that determine the\nvalidity of blocks.","type":"object","properties":{"abci":{"$ref":"#/definitions/tendermint.types.ABCIParams"},"block":{"$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"},"version":{"$ref":"#/definitions/tendermint.types.VersionParams"}}},"tendermint.types.Data":{"type":"object","title":"Data contains the set of transactions included in the block","properties":{"txs":{"description":"Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.types.DuplicateVoteEvidence":{"description":"DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.","type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"},"validator_power":{"type":"string","format":"int64"},"vote_a":{"$ref":"#/definitions/tendermint.types.Vote"},"vote_b":{"$ref":"#/definitions/tendermint.types.Vote"}}},"tendermint.types.Evidence":{"type":"object","properties":{"duplicate_vote_evidence":{"$ref":"#/definitions/tendermint.types.DuplicateVoteEvidence"},"light_client_attack_evidence":{"$ref":"#/definitions/tendermint.types.LightClientAttackEvidence"}}},"tendermint.types.EvidenceList":{"type":"object","properties":{"evidence":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Evidence"}}}},"tendermint.types.EvidenceParams":{"description":"EvidenceParams determine how we handle evidence of malfeasance.","type":"object","properties":{"max_age_duration":{"description":"Max age of evidence, in time.\n\nIt should correspond with an app's \"unbonding period\" or other similar\nmechanism for handling [Nothing-At-Stake\nattacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).","type":"string"},"max_age_num_blocks":{"description":"Max age of evidence, in blocks.\n\nThe basic formula for calculating this is: MaxAgeDuration / {average block\ntime}.","type":"string","format":"int64"},"max_bytes":{"type":"string","format":"int64","title":"This sets the maximum size of total evidence in bytes that can be committed in a single block.\nand should fall comfortably under the max block bytes.\nDefault is 1048576 or 1MB"}}},"tendermint.types.Header":{"description":"Header defines the structure of a block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"type":"string","format":"byte","title":"original proposer of the block"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"tendermint.types.LightBlock":{"type":"object","properties":{"signed_header":{"$ref":"#/definitions/tendermint.types.SignedHeader"},"validator_set":{"$ref":"#/definitions/tendermint.types.ValidatorSet"}}},"tendermint.types.LightClientAttackEvidence":{"description":"LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.","type":"object","properties":{"byzantine_validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}},"common_height":{"type":"string","format":"int64"},"conflicting_block":{"$ref":"#/definitions/tendermint.types.LightBlock"},"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"}}},"tendermint.types.PartSetHeader":{"type":"object","title":"PartsetHeader","properties":{"hash":{"type":"string","format":"byte"},"total":{"type":"integer","format":"int64"}}},"tendermint.types.SignedHeader":{"type":"object","properties":{"commit":{"$ref":"#/definitions/tendermint.types.Commit"},"header":{"$ref":"#/definitions/tendermint.types.Header"}}},"tendermint.types.SignedMsgType":{"description":"SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals","type":"string","default":"SIGNED_MSG_TYPE_UNKNOWN","enum":["SIGNED_MSG_TYPE_UNKNOWN","SIGNED_MSG_TYPE_PREVOTE","SIGNED_MSG_TYPE_PRECOMMIT","SIGNED_MSG_TYPE_PROPOSAL"]},"tendermint.types.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"},"voting_power":{"type":"string","format":"int64"}}},"tendermint.types.ValidatorParams":{"description":"ValidatorParams restrict the public key types validators can use.\nNOTE: uses ABCI pubkey naming, not Amino names.","type":"object","properties":{"pub_key_types":{"type":"array","items":{"type":"string"}}}},"tendermint.types.ValidatorSet":{"type":"object","properties":{"proposer":{"$ref":"#/definitions/tendermint.types.Validator"},"total_voting_power":{"type":"string","format":"int64"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}}}},"tendermint.types.VersionParams":{"description":"VersionParams contains the ABCI application version.","type":"object","properties":{"app":{"type":"string","format":"uint64"}}},"tendermint.types.Vote":{"description":"Vote represents a prevote or precommit vote from validators for\nconsensus.","type":"object","properties":{"block_id":{"description":"zero if vote is nil.","$ref":"#/definitions/tendermint.types.BlockID"},"extension":{"description":"Vote extension provided by the application. Only valid for precommit\nmessages.","type":"string","format":"byte"},"extension_signature":{"description":"Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signature":{"description":"Vote signature by the validator if they participated in consensus for the\nassociated block.","type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"type":{"$ref":"#/definitions/tendermint.types.SignedMsgType"},"validator_address":{"type":"string","format":"byte"},"validator_index":{"type":"integer","format":"int32"}}},"tendermint.version.Consensus":{"description":"Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine.","type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"}}}},"tags":[{"name":"Query"},{"name":"Msg"},{"name":"Service"},{"name":"ReflectionService"},{"name":"ABCIListenerService"},{"name":"ABCI"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh new file mode 100755 index 00000000..8826f038 --- /dev/null +++ b/gen.sh @@ -0,0 +1,6 @@ +#!/usr/bin/sh + +#ignite scaffold message UserCreate newUser:string alias:string +#ignite scaffold message CardSchemeBuy bid:coin --response cardId:uint +#ignite scaffold message CardSaveContent cardId:uint content:string notes:string artist:string balanceAnchor:bool --response airdropClaimed:bool +#ignite scaffold message CardVote vote:SingleVote --response airdropClaimed:bool diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index bb27ee8c..878db654 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -1,4 +1,5 @@ syntax = "proto3"; + package cardchain.cardchain; import "amino/amino.proto"; @@ -6,6 +7,8 @@ import "cosmos/msg/v1/msg.proto"; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "cardchain/cardchain/params.proto"; +import "cosmos/base/v1beta1/coin.proto"; +import "cardchain/cardchain/voting.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; @@ -16,25 +19,64 @@ service Msg { // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); + rpc UserCreate(MsgUserCreate) returns (MsgUserCreateResponse); + rpc CardSchemeBuy(MsgCardSchemeBuy) returns (MsgCardSchemeBuyResponse); + rpc CardSaveContent(MsgCardSaveContent) returns (MsgCardSaveContentResponse); + rpc CardVote(MsgCardVote) returns (MsgCardVoteResponse); } - // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { option (cosmos.msg.v1.signer) = "authority"; option (amino.name) = "cardchain/x/cardchain/MsgUpdateParams"; - // authority is the address that controls the module (defaults to x/gov unless overwritten). - string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + // authority is the address that controls the module (defaults to x/gov unless + // overwritten). + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; // params defines the module parameters to update. - // + // NOTE: All parameters must be supplied. - Params params = 2 [ - (gogoproto.nullable) = false, - (amino.dont_omitempty) = true - ]; + Params params = 2 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; } // MsgUpdateParamsResponse defines the response structure for executing a // MsgUpdateParams message. -message MsgUpdateParamsResponse {} \ No newline at end of file +message MsgUpdateParamsResponse {} + +message MsgUserCreate { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string newUser = 2; + string alias = 3; +} + +message MsgUserCreateResponse {} + +message MsgCardSchemeBuy { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + cosmos.base.v1beta1.Coin bid = 2 [ (gogoproto.nullable) = false ]; +} + +message MsgCardSchemeBuyResponse { uint64 cardId = 1; } + +message MsgCardSaveContent { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 cardId = 2; + string content = 3; + string notes = 4; + string artist = 5; + bool balanceAnchor = 6; +} + +message MsgCardSaveContentResponse { bool airdropClaimed = 1; } + +message MsgCardVote { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + SingleVote vote = 2; +} + +message MsgCardVoteResponse { bool airdropClaimed = 1; } diff --git a/proto/cardchain/cardchain/voting.proto b/proto/cardchain/cardchain/voting.proto new file mode 100644 index 00000000..c719b9d2 --- /dev/null +++ b/proto/cardchain/cardchain/voting.proto @@ -0,0 +1,37 @@ +syntax = "proto3"; +package cardchain.cardchain; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message VotingResults { + + uint64 totalVotes = 1; + uint64 totalFairEnoughVotes = 2; + uint64 totalOverpoweredVotes = 3; + uint64 totalUnderpoweredVotes = 4; + uint64 totalInappropriateVotes = 5; + 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; + VoteType voteType = 2; +} + +enum VoteType { + fairEnough = 0; + inappropriate = 1; + overpowered = 2; + underpowered = 3; +} diff --git a/x/cardchain/keeper/msg_server_card_save_content.go b/x/cardchain/keeper/msg_server_card_save_content.go new file mode 100644 index 00000000..77499b72 --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_save_content.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CardSaveContent(goCtx context.Context, msg *types.MsgCardSaveContent) (*types.MsgCardSaveContentResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCardSaveContentResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_card_scheme_buy.go b/x/cardchain/keeper/msg_server_card_scheme_buy.go new file mode 100644 index 00000000..4874750e --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_scheme_buy.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CardSchemeBuy(goCtx context.Context, msg *types.MsgCardSchemeBuy) (*types.MsgCardSchemeBuyResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCardSchemeBuyResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_card_vote.go b/x/cardchain/keeper/msg_server_card_vote.go new file mode 100644 index 00000000..4c4e627a --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_vote.go @@ -0,0 +1,18 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + + +func (k msgServer) CardVote(goCtx context.Context, msg *types.MsgCardVote) (*types.MsgCardVoteResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCardVoteResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_user_create.go b/x/cardchain/keeper/msg_server_user_create.go new file mode 100644 index 00000000..9551a5f8 --- /dev/null +++ b/x/cardchain/keeper/msg_server_user_create.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) UserCreate(goCtx context.Context, msg *types.MsgUserCreate) (*types.MsgUserCreateResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgUserCreateResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 6d9110d3..7c3b32a5 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -28,7 +28,31 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { RpcMethod: "UpdateParams", Skip: true, // skipped because authority gated }, - // this line is used by ignite scaffolding # autocli/tx + { + RpcMethod: "UserCreate", + Use: "user-create [new-user] [alias]", + Short: "Send a UserCreate tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "newUser"}, {ProtoField: "alias"}}, + }, + { + RpcMethod: "CardSchemeBuy", + Use: "card-scheme-buy [bid]", + Short: "Send a CardSchemeBuy tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "bid"}}, + }, + { + RpcMethod: "CardSaveContent", + Use: "card-save-content [card-id] [content] [notes] [artist] [balance-anchor]", + Short: "Send a CardSaveContent tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}, {ProtoField: "content"}, {ProtoField: "notes"}, {ProtoField: "artist"}, {ProtoField: "balanceAnchor"}}, + }, + { + RpcMethod: "CardVote", + Use: "card-vote [vote]", + Short: "Send a CardVote tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "vote"},}, + }, + // this line is used by ignite scaffolding # autocli/tx }, }, } diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index 08922063..fbfd0b79 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -23,7 +23,23 @@ var ( ) const ( -// this line is used by starport scaffolding # simapp/module/const + opWeightMsgUserCreate = "op_weight_msg_user_create" + // TODO: Determine the simulation weight value + defaultWeightMsgUserCreate int = 100 + + opWeightMsgCardSchemeBuy = "op_weight_msg_card_scheme_buy" + // TODO: Determine the simulation weight value + defaultWeightMsgCardSchemeBuy int = 100 + + opWeightMsgCardSaveContent = "op_weight_msg_card_save_content" + // TODO: Determine the simulation weight value + defaultWeightMsgCardSaveContent int = 100 + + opWeightMsgCardVote = "op_weight_msg_card_vote" + // TODO: Determine the simulation weight value + defaultWeightMsgCardVote int = 100 + + // this line is used by starport scaffolding # simapp/module/const ) // GenerateGenesisState creates a randomized GenState of the module. @@ -46,6 +62,50 @@ func (am AppModule) RegisterStoreDecoder(_ simtypes.StoreDecoderRegistry) {} func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation { operations := make([]simtypes.WeightedOperation, 0) + var weightMsgUserCreate int + simState.AppParams.GetOrGenerate(opWeightMsgUserCreate, &weightMsgUserCreate, nil, + func(_ *rand.Rand) { + weightMsgUserCreate = defaultWeightMsgUserCreate + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgUserCreate, + cardchainsimulation.SimulateMsgUserCreate(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCardSchemeBuy int + simState.AppParams.GetOrGenerate(opWeightMsgCardSchemeBuy, &weightMsgCardSchemeBuy, nil, + func(_ *rand.Rand) { + weightMsgCardSchemeBuy = defaultWeightMsgCardSchemeBuy + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardSchemeBuy, + cardchainsimulation.SimulateMsgCardSchemeBuy(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCardSaveContent int + simState.AppParams.GetOrGenerate(opWeightMsgCardSaveContent, &weightMsgCardSaveContent, nil, + func(_ *rand.Rand) { + weightMsgCardSaveContent = defaultWeightMsgCardSaveContent + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardSaveContent, + cardchainsimulation.SimulateMsgCardSaveContent(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCardVote int + simState.AppParams.GetOrGenerate(opWeightMsgCardVote, &weightMsgCardVote, nil, + func(_ *rand.Rand) { + weightMsgCardVote = defaultWeightMsgCardVote + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardVote, + cardchainsimulation.SimulateMsgCardVote(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -54,6 +114,38 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp // ProposalMsgs returns msgs used for governance proposals for simulations. func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.WeightedProposalMsg { return []simtypes.WeightedProposalMsg{ - // this line is used by starport scaffolding # simapp/module/OpMsg + simulation.NewWeightedProposalMsg( + opWeightMsgUserCreate, + defaultWeightMsgUserCreate, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgUserCreate(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgCardSchemeBuy, + defaultWeightMsgCardSchemeBuy, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCardSchemeBuy(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgCardSaveContent, + defaultWeightMsgCardSaveContent, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCardSaveContent(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgCardVote, + defaultWeightMsgCardVote, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCardVote(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, +), +// this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/card_save_content.go b/x/cardchain/simulation/card_save_content.go new file mode 100644 index 00000000..062fa5ee --- /dev/null +++ b/x/cardchain/simulation/card_save_content.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 SimulateMsgCardSaveContent( + 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.MsgCardSaveContent{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CardSaveContent simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CardSaveContent simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/card_scheme_buy.go b/x/cardchain/simulation/card_scheme_buy.go new file mode 100644 index 00000000..00201680 --- /dev/null +++ b/x/cardchain/simulation/card_scheme_buy.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 SimulateMsgCardSchemeBuy( + 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.MsgCardSchemeBuy{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CardSchemeBuy simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CardSchemeBuy simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/card_vote.go b/x/cardchain/simulation/card_vote.go new file mode 100644 index 00000000..57ef4153 --- /dev/null +++ b/x/cardchain/simulation/card_vote.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 SimulateMsgCardVote( + 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.MsgCardVote{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CardVote simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CardVote simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/user_create.go b/x/cardchain/simulation/user_create.go new file mode 100644 index 00000000..0c599751 --- /dev/null +++ b/x/cardchain/simulation/user_create.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 SimulateMsgUserCreate( + 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.MsgUserCreate{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the UserCreate simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "UserCreate simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index ac552637..36280941 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -8,7 +8,19 @@ import ( ) func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { - // this line is used by starport scaffolding # 3 + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgUserCreate{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardSchemeBuy{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardSaveContent{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardVote{}, +) +// this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), &MsgUpdateParams{}, diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 958b40b6..0ea89648 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/message_card_save_content.go b/x/cardchain/types/message_card_save_content.go new file mode 100644 index 00000000..7e2da45e --- /dev/null +++ b/x/cardchain/types/message_card_save_content.go @@ -0,0 +1,28 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCardSaveContent{} + +func NewMsgCardSaveContent(creator string, cardId uint64, content string, notes string, artist string, balanceAnchor bool) *MsgCardSaveContent { + return &MsgCardSaveContent{ + Creator: creator, + CardId: cardId, + Content: content, + Notes: notes, + Artist: artist, + BalanceAnchor: balanceAnchor, + } +} + +func (msg *MsgCardSaveContent) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_card_save_content_test.go b/x/cardchain/types/message_card_save_content_test.go new file mode 100644 index 00000000..35bd8c19 --- /dev/null +++ b/x/cardchain/types/message_card_save_content_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCardSaveContent_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardSaveContent + err error + }{ + { + name: "invalid address", + msg: MsgCardSaveContent{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardSaveContent{ + 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_card_scheme_buy.go b/x/cardchain/types/message_card_scheme_buy.go new file mode 100644 index 00000000..77765a7d --- /dev/null +++ b/x/cardchain/types/message_card_scheme_buy.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCardSchemeBuy{} + +func NewMsgCardSchemeBuy(creator string, bid sdk.Coin) *MsgCardSchemeBuy { + return &MsgCardSchemeBuy{ + Creator: creator, + Bid: bid, + } +} + +func (msg *MsgCardSchemeBuy) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_card_scheme_buy_test.go b/x/cardchain/types/message_card_scheme_buy_test.go new file mode 100644 index 00000000..cdf8a8f2 --- /dev/null +++ b/x/cardchain/types/message_card_scheme_buy_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCardSchemeBuy_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardSchemeBuy + err error + }{ + { + name: "invalid address", + msg: MsgCardSchemeBuy{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardSchemeBuy{ + 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_card_vote.go b/x/cardchain/types/message_card_vote.go new file mode 100644 index 00000000..15aea387 --- /dev/null +++ b/x/cardchain/types/message_card_vote.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCardVote{} + +func NewMsgCardVote(creator string, vote *SingleVote) *MsgCardVote { + return &MsgCardVote{ + Creator: creator, + Vote: vote, + } +} + +func (msg *MsgCardVote) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} + diff --git a/x/cardchain/types/message_card_vote_test.go b/x/cardchain/types/message_card_vote_test.go new file mode 100644 index 00000000..51172d18 --- /dev/null +++ b/x/cardchain/types/message_card_vote_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" + "github.com/DecentralCardGame/cardchain/testutil/sample" +) + +func TestMsgCardVote_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardVote + err error + }{ + { + name: "invalid address", + msg: MsgCardVote{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardVote{ + 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_user_create.go b/x/cardchain/types/message_user_create.go new file mode 100644 index 00000000..3140ef59 --- /dev/null +++ b/x/cardchain/types/message_user_create.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgUserCreate{} + +func NewMsgUserCreate(creator string, newUser string, alias string) *MsgUserCreate { + return &MsgUserCreate{ + Creator: creator, + NewUser: newUser, + Alias: alias, + } +} + +func (msg *MsgUserCreate) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_user_create_test.go b/x/cardchain/types/message_user_create_test.go new file mode 100644 index 00000000..1b8695e7 --- /dev/null +++ b/x/cardchain/types/message_user_create_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgUserCreate_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgUserCreate + err error + }{ + { + name: "invalid address", + msg: MsgUserCreate{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgUserCreate{ + 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/params.pb.go b/x/cardchain/types/params.pb.go index 231f0e7d..419d1ea0 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 99d2598e..6d858f55 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -19,6 +15,9 @@ import ( 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. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index 0e7b2ae7..ca381b43 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,11 +6,8 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-proto" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -19,6 +16,9 @@ import ( 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. @@ -34,10 +34,9 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // MsgUpdateParams is the Msg/UpdateParams request type. type MsgUpdateParams struct { - // authority is the address that controls the module (defaults to x/gov unless overwritten). + // authority is the address that controls the module (defaults to x/gov unless + // overwritten). Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // params defines the module parameters to update. - // // NOTE: All parameters must be supplied. Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` } @@ -127,229 +126,2020 @@ func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo -func init() { - proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") - proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") +type MsgUserCreate 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"` + Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` } -func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } - -var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 347 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x4a, 0x2a, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, - 0x85, 0x84, 0xe1, 0x62, 0x7a, 0x70, 0x96, 0x94, 0x60, 0x62, 0x6e, 0x66, 0x5e, 0xbe, 0x3e, 0x98, - 0x84, 0xa8, 0x93, 0x12, 0x4f, 0xce, 0x2f, 0xce, 0xcd, 0x2f, 0xd6, 0xcf, 0x2d, 0x4e, 0xd7, 0x2f, - 0x33, 0x04, 0x51, 0x50, 0x09, 0x49, 0x88, 0x44, 0x3c, 0x98, 0xa7, 0x0f, 0xe1, 0x40, 0xa5, 0x44, - 0xd2, 0xf3, 0xd3, 0xf3, 0x21, 0xe2, 0x20, 0x16, 0x54, 0x54, 0x01, 0x9b, 0x7b, 0x0a, 0x12, 0x8b, - 0x12, 0x73, 0xa1, 0xfa, 0x94, 0x0e, 0x33, 0x72, 0xf1, 0xfb, 0x16, 0xa7, 0x87, 0x16, 0xa4, 0x24, - 0x96, 0xa4, 0x06, 0x80, 0x65, 0x84, 0xcc, 0xb8, 0x38, 0x13, 0x4b, 0x4b, 0x32, 0xf2, 0x8b, 0x32, - 0x4b, 0x2a, 0x25, 0x18, 0x15, 0x18, 0x35, 0x38, 0x9d, 0x24, 0x2e, 0x6d, 0xd1, 0x15, 0x81, 0x5a, - 0xe8, 0x98, 0x92, 0x52, 0x94, 0x5a, 0x5c, 0x1c, 0x5c, 0x52, 0x94, 0x99, 0x97, 0x1e, 0x84, 0x50, - 0x2a, 0x64, 0xc7, 0xc5, 0x06, 0x31, 0x5b, 0x82, 0x49, 0x81, 0x51, 0x83, 0xdb, 0x48, 0x5a, 0x0f, - 0x8b, 0x87, 0xf5, 0x20, 0x96, 0x38, 0x71, 0x9e, 0xb8, 0x27, 0xcf, 0xb0, 0xe2, 0xf9, 0x06, 0x2d, - 0xc6, 0x20, 0xa8, 0x2e, 0x2b, 0x8b, 0xa6, 0xe7, 0x1b, 0xb4, 0x10, 0xe6, 0x75, 0x3d, 0xdf, 0xa0, - 0xa5, 0x8a, 0x70, 0x76, 0x05, 0x92, 0x17, 0xd0, 0x5c, 0xac, 0x24, 0xc9, 0x25, 0x8e, 0x26, 0x14, - 0x94, 0x5a, 0x5c, 0x90, 0x9f, 0x57, 0x9c, 0x6a, 0x54, 0xc0, 0xc5, 0xec, 0x5b, 0x9c, 0x2e, 0x94, - 0xc4, 0xc5, 0x83, 0xe2, 0x47, 0x15, 0xac, 0x6e, 0x43, 0x33, 0x44, 0x4a, 0x87, 0x18, 0x55, 0x30, - 0xab, 0xa4, 0x58, 0x1b, 0x40, 0xde, 0x71, 0x0a, 0x3a, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, - 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, - 0x39, 0x86, 0x28, 0x8b, 0xf4, 0xcc, 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0x7d, 0x97, - 0xd4, 0xe4, 0xd4, 0xbc, 0x92, 0xa2, 0xc4, 0x1c, 0xe7, 0xc4, 0xa2, 0x14, 0xf7, 0xc4, 0xdc, 0x54, - 0x7d, 0xec, 0x5e, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, 0xc7, 0x96, 0x31, 0x20, 0x00, - 0x00, 0xff, 0xff, 0x5c, 0xe3, 0xf2, 0x4e, 0x61, 0x02, 0x00, 0x00, +func (m *MsgUserCreate) Reset() { *m = MsgUserCreate{} } +func (m *MsgUserCreate) String() string { return proto.CompactTextString(m) } +func (*MsgUserCreate) ProtoMessage() {} +func (*MsgUserCreate) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{2} +} +func (m *MsgUserCreate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUserCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUserCreate.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 *MsgUserCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUserCreate.Merge(m, src) +} +func (m *MsgUserCreate) XXX_Size() int { + return m.Size() +} +func (m *MsgUserCreate) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUserCreate.DiscardUnknown(m) } -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn +var xxx_messageInfo_MsgUserCreate proto.InternalMessageInfo -// 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 +func (m *MsgUserCreate) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} -// 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 { - // UpdateParams defines a (governance) operation for updating the module - // parameters. The authority defaults to the x/gov module account. - UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) +func (m *MsgUserCreate) GetNewUser() string { + if m != nil { + return m.NewUser + } + return "" } -type msgClient struct { - cc grpc1.ClientConn +func (m *MsgUserCreate) GetAlias() string { + if m != nil { + return m.Alias + } + return "" } -func NewMsgClient(cc grpc1.ClientConn) MsgClient { - return &msgClient{cc} +type MsgUserCreateResponse struct { } -func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { - out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateParams", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgUserCreateResponse) Reset() { *m = MsgUserCreateResponse{} } +func (m *MsgUserCreateResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUserCreateResponse) ProtoMessage() {} +func (*MsgUserCreateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{3} +} +func (m *MsgUserCreateResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUserCreateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUserCreateResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil } - -// MsgServer is the server API for Msg service. -type MsgServer interface { - // UpdateParams defines a (governance) operation for updating the module - // parameters. The authority defaults to the x/gov module account. - UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) +func (m *MsgUserCreateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUserCreateResponse.Merge(m, src) } - -// UnimplementedMsgServer can be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { +func (m *MsgUserCreateResponse) XXX_Size() int { + return m.Size() } - -func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +func (m *MsgUserCreateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUserCreateResponse.DiscardUnknown(m) } -func RegisterMsgServer(s grpc1.Server, srv MsgServer) { - s.RegisterService(&_Msg_serviceDesc, srv) +var xxx_messageInfo_MsgUserCreateResponse proto.InternalMessageInfo + +type MsgCardSchemeBuy struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Bid types.Coin `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid"` } -func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateParams) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UpdateParams(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/UpdateParams", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) +func (m *MsgCardSchemeBuy) Reset() { *m = MsgCardSchemeBuy{} } +func (m *MsgCardSchemeBuy) String() string { return proto.CompactTextString(m) } +func (*MsgCardSchemeBuy) ProtoMessage() {} +func (*MsgCardSchemeBuy) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{4} +} +func (m *MsgCardSchemeBuy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardSchemeBuy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardSchemeBuy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *MsgCardSchemeBuy) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardSchemeBuy.Merge(m, src) +} +func (m *MsgCardSchemeBuy) XXX_Size() int { + return m.Size() +} +func (m *MsgCardSchemeBuy) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardSchemeBuy.DiscardUnknown(m) } -var Msg_serviceDesc = _Msg_serviceDesc -var _Msg_serviceDesc = grpc.ServiceDesc{ - ServiceName: "cardchain.cardchain.Msg", - HandlerType: (*MsgServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "UpdateParams", - Handler: _Msg_UpdateParams_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cardchain/cardchain/tx.proto", +var xxx_messageInfo_MsgCardSchemeBuy proto.InternalMessageInfo + +func (m *MsgCardSchemeBuy) GetCreator() string { + if m != nil { + return m.Creator + } + return "" } -func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgCardSchemeBuy) GetBid() types.Coin { + if m != nil { + return m.Bid } - return dAtA[:n], nil + return types.Coin{} } -func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +type MsgCardSchemeBuyResponse struct { + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` } -func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) +func (m *MsgCardSchemeBuyResponse) Reset() { *m = MsgCardSchemeBuyResponse{} } +func (m *MsgCardSchemeBuyResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardSchemeBuyResponse) ProtoMessage() {} +func (*MsgCardSchemeBuyResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{5} +} +func (m *MsgCardSchemeBuyResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardSchemeBuyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardSchemeBuyResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) if err != nil { - return 0, err + return nil, err } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - if len(m.Authority) > 0 { - i -= len(m.Authority) - copy(dAtA[i:], m.Authority) - i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) - i-- - dAtA[i] = 0xa + return b[:n], nil } - return len(dAtA) - i, nil +} +func (m *MsgCardSchemeBuyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardSchemeBuyResponse.Merge(m, src) +} +func (m *MsgCardSchemeBuyResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardSchemeBuyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardSchemeBuyResponse.DiscardUnknown(m) } -func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +var xxx_messageInfo_MsgCardSchemeBuyResponse proto.InternalMessageInfo + +func (m *MsgCardSchemeBuyResponse) GetCardId() uint64 { + if m != nil { + return m.CardId } - return dAtA[:n], nil + return 0 } -func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +type MsgCardSaveContent 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"` + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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 *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func (m *MsgCardSaveContent) Reset() { *m = MsgCardSaveContent{} } +func (m *MsgCardSaveContent) String() string { return proto.CompactTextString(m) } +func (*MsgCardSaveContent) ProtoMessage() {} +func (*MsgCardSaveContent) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{6} +} +func (m *MsgCardSaveContent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardSaveContent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardSaveContent.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 *MsgCardSaveContent) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardSaveContent.Merge(m, src) +} +func (m *MsgCardSaveContent) XXX_Size() int { + return m.Size() +} +func (m *MsgCardSaveContent) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardSaveContent.DiscardUnknown(m) } -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ +var xxx_messageInfo_MsgCardSaveContent proto.InternalMessageInfo + +func (m *MsgCardSaveContent) GetCreator() string { + if m != nil { + return m.Creator } - dAtA[offset] = uint8(v) - return base + return "" } -func (m *MsgUpdateParams) Size() (n int) { - if m == nil { - return 0 + +func (m *MsgCardSaveContent) GetCardId() uint64 { + if m != nil { + return m.CardId } - var l int - _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + return 0 +} + +func (m *MsgCardSaveContent) GetContent() string { + if m != nil { + return m.Content } - l = m.Params.Size() - n += 1 + l + sovTx(uint64(l)) - return n + return "" } -func (m *MsgUpdateParamsResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCardSaveContent) GetNotes() string { + if m != nil { + return m.Notes } - var l int - _ = l - return n + return "" } -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 +func (m *MsgCardSaveContent) GetArtist() string { + if m != nil { + return m.Artist + } + return "" } -func sozTx(x uint64) (n int) { + +func (m *MsgCardSaveContent) GetBalanceAnchor() bool { + if m != nil { + return m.BalanceAnchor + } + return false +} + +type MsgCardSaveContentResponse struct { + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (m *MsgCardSaveContentResponse) Reset() { *m = MsgCardSaveContentResponse{} } +func (m *MsgCardSaveContentResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardSaveContentResponse) ProtoMessage() {} +func (*MsgCardSaveContentResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{7} +} +func (m *MsgCardSaveContentResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardSaveContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardSaveContentResponse.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 *MsgCardSaveContentResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardSaveContentResponse.Merge(m, src) +} +func (m *MsgCardSaveContentResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardSaveContentResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardSaveContentResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardSaveContentResponse proto.InternalMessageInfo + +func (m *MsgCardSaveContentResponse) GetAirdropClaimed() bool { + if m != nil { + return m.AirdropClaimed + } + return false +} + +type MsgCardVote struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Vote *SingleVote `protobuf:"bytes,2,opt,name=vote,proto3" json:"vote,omitempty"` +} + +func (m *MsgCardVote) Reset() { *m = MsgCardVote{} } +func (m *MsgCardVote) String() string { return proto.CompactTextString(m) } +func (*MsgCardVote) ProtoMessage() {} +func (*MsgCardVote) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{8} +} +func (m *MsgCardVote) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardVote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardVote.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 *MsgCardVote) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardVote.Merge(m, src) +} +func (m *MsgCardVote) XXX_Size() int { + return m.Size() +} +func (m *MsgCardVote) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardVote.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardVote proto.InternalMessageInfo + +func (m *MsgCardVote) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgCardVote) GetVote() *SingleVote { + if m != nil { + return m.Vote + } + return nil +} + +type MsgCardVoteResponse struct { + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (m *MsgCardVoteResponse) Reset() { *m = MsgCardVoteResponse{} } +func (m *MsgCardVoteResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardVoteResponse) ProtoMessage() {} +func (*MsgCardVoteResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{9} +} +func (m *MsgCardVoteResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardVoteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardVoteResponse.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 *MsgCardVoteResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardVoteResponse.Merge(m, src) +} +func (m *MsgCardVoteResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardVoteResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardVoteResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardVoteResponse proto.InternalMessageInfo + +func (m *MsgCardVoteResponse) GetAirdropClaimed() bool { + if m != nil { + return m.AirdropClaimed + } + return false +} + +func init() { + proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") + proto.RegisterType((*MsgUserCreate)(nil), "cardchain.cardchain.MsgUserCreate") + proto.RegisterType((*MsgUserCreateResponse)(nil), "cardchain.cardchain.MsgUserCreateResponse") + proto.RegisterType((*MsgCardSchemeBuy)(nil), "cardchain.cardchain.MsgCardSchemeBuy") + proto.RegisterType((*MsgCardSchemeBuyResponse)(nil), "cardchain.cardchain.MsgCardSchemeBuyResponse") + proto.RegisterType((*MsgCardSaveContent)(nil), "cardchain.cardchain.MsgCardSaveContent") + proto.RegisterType((*MsgCardSaveContentResponse)(nil), "cardchain.cardchain.MsgCardSaveContentResponse") + proto.RegisterType((*MsgCardVote)(nil), "cardchain.cardchain.MsgCardVote") + proto.RegisterType((*MsgCardVoteResponse)(nil), "cardchain.cardchain.MsgCardVoteResponse") +} + +func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } + +var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ + // 718 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0x4f, 0x4f, 0x13, 0x41, + 0x14, 0xef, 0xd2, 0x52, 0xe9, 0x00, 0xa2, 0x0b, 0xca, 0xb2, 0x9a, 0xd2, 0x34, 0xa0, 0x4d, 0x23, + 0xbb, 0x29, 0x24, 0x86, 0x90, 0x68, 0x42, 0x4b, 0x62, 0x3c, 0x90, 0x98, 0x25, 0x72, 0x30, 0x26, + 0x66, 0x76, 0x77, 0xb2, 0x1d, 0xed, 0xce, 0x34, 0x33, 0x43, 0x85, 0x9b, 0xf1, 0xe8, 0xc9, 0x8f, + 0xe1, 0x91, 0x83, 0x9f, 0x40, 0x2f, 0x1c, 0x89, 0x27, 0x4f, 0xc6, 0xc0, 0x81, 0xef, 0xe0, 0xc9, + 0xcc, 0xee, 0xec, 0xb6, 0x5d, 0x4b, 0xc1, 0x4b, 0x3b, 0xef, 0xbd, 0xdf, 0xfb, 0xbd, 0xdf, 0x7b, + 0xf3, 0x67, 0xc1, 0x7d, 0x0f, 0x32, 0xdf, 0x6b, 0x43, 0x4c, 0xec, 0xfe, 0x4a, 0x1c, 0x5a, 0x5d, + 0x46, 0x05, 0xd5, 0xe7, 0x53, 0x9f, 0x95, 0xae, 0xcc, 0xdb, 0x30, 0xc4, 0x84, 0xda, 0xd1, 0x6f, + 0x8c, 0x33, 0x17, 0x3d, 0xca, 0x43, 0xca, 0xed, 0x90, 0x07, 0x76, 0xaf, 0x21, 0xff, 0x54, 0x60, + 0x29, 0x0e, 0xbc, 0x89, 0x2c, 0x3b, 0x36, 0x54, 0x68, 0x21, 0xa0, 0x01, 0x8d, 0xfd, 0x72, 0xa5, + 0xbc, 0x95, 0x51, 0x7a, 0xba, 0x90, 0xc1, 0x30, 0xc9, 0x2b, 0xab, 0x5a, 0x2e, 0xe4, 0xc8, 0xee, + 0x35, 0x5c, 0x24, 0x60, 0xc3, 0xf6, 0x28, 0x26, 0xe3, 0x18, 0x7a, 0x54, 0x60, 0xa2, 0x44, 0x55, + 0xbf, 0x6b, 0x60, 0x6e, 0x97, 0x07, 0x2f, 0xbb, 0x3e, 0x14, 0xe8, 0x45, 0xc4, 0xad, 0x3f, 0x06, + 0x25, 0x78, 0x20, 0xda, 0x94, 0x61, 0x71, 0x64, 0x68, 0x15, 0xad, 0x56, 0x6a, 0x1a, 0x3f, 0xbe, + 0xae, 0x2d, 0x28, 0xc9, 0xdb, 0xbe, 0xcf, 0x10, 0xe7, 0x7b, 0x82, 0x61, 0x12, 0x38, 0x7d, 0xa8, + 0xfe, 0x14, 0x14, 0x63, 0x75, 0xc6, 0x44, 0x45, 0xab, 0x4d, 0xaf, 0xdf, 0xb3, 0x46, 0x8c, 0xcc, + 0x8a, 0x8b, 0x34, 0x4b, 0x27, 0xbf, 0x96, 0x73, 0x5f, 0x2e, 0x8e, 0xeb, 0x9a, 0xa3, 0xb2, 0xb6, + 0x36, 0x3f, 0x5e, 0x1c, 0xd7, 0xfb, 0x7c, 0x9f, 0x2e, 0x8e, 0xeb, 0xab, 0x7d, 0xd9, 0x87, 0x03, + 0x2d, 0x64, 0x14, 0x57, 0x97, 0xc0, 0x62, 0xc6, 0xe5, 0x20, 0xde, 0xa5, 0x84, 0xa3, 0x6a, 0x00, + 0x66, 0x65, 0x88, 0x23, 0xd6, 0x62, 0x08, 0x0a, 0xa4, 0x1b, 0xe0, 0x86, 0x27, 0x57, 0x94, 0xc5, + 0xbd, 0x39, 0x89, 0x29, 0x23, 0x04, 0xbd, 0x97, 0xd0, 0xa8, 0x81, 0x92, 0x93, 0x98, 0xfa, 0x02, + 0x98, 0x84, 0x1d, 0x0c, 0xb9, 0x91, 0x8f, 0xfc, 0xb1, 0xb1, 0x35, 0x23, 0xf5, 0x26, 0xd9, 0xd5, + 0x45, 0x70, 0x67, 0xa8, 0x50, 0xaa, 0x20, 0x04, 0xb7, 0x76, 0x79, 0xd0, 0x82, 0xcc, 0xdf, 0xf3, + 0xda, 0x28, 0x44, 0xcd, 0x83, 0xa3, 0x31, 0x22, 0x1a, 0x20, 0xef, 0x62, 0x5f, 0x4d, 0x70, 0xc9, + 0x52, 0x33, 0x97, 0x1b, 0x6c, 0xa9, 0x0d, 0xb6, 0x5a, 0x14, 0x93, 0x66, 0x41, 0xce, 0xcf, 0x91, + 0xd8, 0x8c, 0x8e, 0x75, 0x60, 0x64, 0xcb, 0x25, 0x52, 0xf4, 0xbb, 0xa0, 0x28, 0x87, 0xf8, 0xdc, + 0x8f, 0xaa, 0x16, 0x1c, 0x65, 0x55, 0xbf, 0x69, 0x40, 0x4f, 0x92, 0x60, 0x0f, 0xb5, 0x28, 0x11, + 0x88, 0x88, 0x31, 0x2a, 0xfb, 0x44, 0x13, 0x83, 0x44, 0x51, 0x46, 0x9c, 0xac, 0x46, 0x95, 0x98, + 0x72, 0x84, 0x84, 0x0a, 0xc4, 0x8d, 0x42, 0x3c, 0xc2, 0xc8, 0x90, 0x3c, 0x90, 0x09, 0xcc, 0x85, + 0x31, 0x19, 0xb9, 0x95, 0xa5, 0xaf, 0x80, 0x59, 0x17, 0x76, 0x20, 0xf1, 0xd0, 0x36, 0xf1, 0xda, + 0x94, 0x19, 0xc5, 0x8a, 0x56, 0x9b, 0x72, 0x86, 0x9d, 0x99, 0xc6, 0x77, 0x80, 0xf9, 0x6f, 0x0f, + 0x69, 0xeb, 0x0f, 0xc0, 0x4d, 0x88, 0x99, 0xcf, 0x68, 0xb7, 0xd5, 0x81, 0x38, 0x44, 0xf1, 0x08, + 0xa6, 0x9c, 0x8c, 0xb7, 0xfa, 0x16, 0x4c, 0x2b, 0x96, 0x7d, 0x3a, 0xf6, 0xb4, 0x6c, 0x80, 0x42, + 0x8f, 0x0a, 0xa4, 0x76, 0x6a, 0x79, 0xe4, 0x59, 0xdf, 0xc3, 0x24, 0xe8, 0x20, 0x49, 0xe4, 0x44, + 0xe0, 0x8c, 0xe2, 0x27, 0x60, 0x7e, 0xa0, 0xd6, 0xff, 0x4a, 0x5d, 0xff, 0x93, 0x07, 0xf9, 0x5d, + 0x1e, 0xe8, 0x2e, 0x98, 0x19, 0xba, 0xbf, 0x2b, 0x23, 0xb5, 0x64, 0x2e, 0x88, 0xf9, 0xe8, 0x3a, + 0xa8, 0x54, 0xd3, 0x6b, 0x00, 0x06, 0xee, 0x50, 0xf5, 0xd2, 0xdc, 0x14, 0x63, 0xd6, 0xaf, 0xc6, + 0xa4, 0xec, 0x08, 0xcc, 0x0e, 0xdf, 0x8f, 0xd5, 0xcb, 0x92, 0x87, 0x60, 0xe6, 0xda, 0xb5, 0x60, + 0x69, 0x99, 0x77, 0x60, 0x2e, 0x7b, 0xc4, 0x1f, 0x8e, 0x65, 0xe8, 0x03, 0x4d, 0xfb, 0x9a, 0xc0, + 0xb4, 0xd8, 0x3e, 0x98, 0x4a, 0x4f, 0x51, 0x65, 0x5c, 0xb2, 0x44, 0x98, 0xb5, 0xab, 0x10, 0x09, + 0xaf, 0x39, 0xf9, 0x41, 0x3e, 0x9a, 0x4d, 0xe7, 0xe4, 0xac, 0xac, 0x9d, 0x9e, 0x95, 0xb5, 0xdf, + 0x67, 0x65, 0xed, 0xf3, 0x79, 0x39, 0x77, 0x7a, 0x5e, 0xce, 0xfd, 0x3c, 0x2f, 0xe7, 0x5e, 0x6d, + 0x06, 0x58, 0xb4, 0x0f, 0x5c, 0xcb, 0xa3, 0xa1, 0xbd, 0x83, 0x3c, 0x44, 0x04, 0x83, 0x1d, 0x49, + 0xf3, 0x0c, 0x86, 0xc8, 0x1e, 0xfd, 0xa0, 0x8a, 0xa3, 0x2e, 0xe2, 0x6e, 0x31, 0xfa, 0x26, 0x6c, + 0xfc, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x32, 0x8c, 0x77, 0xb7, 0x09, 0x07, 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 { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) + CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) + CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) +} + +type msgClient struct { + cc grpc1.ClientConn +} + +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} +} + +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) { + out := new(MsgUserCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UserCreate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) { + out := new(MsgCardSchemeBuyResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSchemeBuy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) { + out := new(MsgCardSaveContentResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSaveContent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) { + out := new(MsgCardVoteResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardVote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MsgServer is the server API for Msg service. +type MsgServer interface { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) + CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) + CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) +} + +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { +} + +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} +func (*UnimplementedMsgServer) UserCreate(ctx context.Context, req *MsgUserCreate) (*MsgUserCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserCreate not implemented") +} +func (*UnimplementedMsgServer) CardSchemeBuy(ctx context.Context, req *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSchemeBuy not implemented") +} +func (*UnimplementedMsgServer) CardSaveContent(ctx context.Context, req *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSaveContent not implemented") +} +func (*UnimplementedMsgServer) CardVote(ctx context.Context, req *MsgCardVote) (*MsgCardVoteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") +} + +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) +} + +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_UserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUserCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UserCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/UserCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UserCreate(ctx, req.(*MsgUserCreate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardSchemeBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSchemeBuy) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardSchemeBuy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardSchemeBuy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSchemeBuy(ctx, req.(*MsgCardSchemeBuy)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardSaveContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSaveContent) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardSaveContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardSaveContent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSaveContent(ctx, req.(*MsgCardSaveContent)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardVote) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardVote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardVote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardVote(ctx, req.(*MsgCardVote)) + } + return interceptor(ctx, in, info, handler) +} + +var Msg_serviceDesc = _Msg_serviceDesc +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.cardchain.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, + { + MethodName: "UserCreate", + Handler: _Msg_UserCreate_Handler, + }, + { + MethodName: "CardSchemeBuy", + Handler: _Msg_CardSchemeBuy_Handler, + }, + { + MethodName: "CardSaveContent", + Handler: _Msg_CardSaveContent_Handler, + }, + { + MethodName: "CardVote", + Handler: _Msg_CardVote_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/cardchain/tx.proto", +} + +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgUserCreate) 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 *MsgUserCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Alias) > 0 { + i -= len(m.Alias) + copy(dAtA[i:], m.Alias) + i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) + i-- + dAtA[i] = 0x1a + } + if len(m.NewUser) > 0 { + i -= len(m.NewUser) + copy(dAtA[i:], m.NewUser) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewUser))) + 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 *MsgUserCreateResponse) 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 *MsgUserCreateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUserCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCardSchemeBuy) 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 *MsgCardSchemeBuy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSchemeBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + 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) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgCardSchemeBuyResponse) 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 *MsgCardSchemeBuyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSchemeBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = 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 +} + +func (m *MsgCardSaveContent) 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 *MsgCardSaveContent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSaveContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = 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) + i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x2a + } + if len(m.Notes) > 0 { + i -= len(m.Notes) + copy(dAtA[i:], m.Notes) + i = encodeVarintTx(dAtA, i, uint64(len(m.Notes))) + i-- + dAtA[i] = 0x22 + } + if len(m.Content) > 0 { + i -= len(m.Content) + copy(dAtA[i:], m.Content) + i = encodeVarintTx(dAtA, i, uint64(len(m.Content))) + 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 *MsgCardSaveContentResponse) 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 *MsgCardSaveContentResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSaveContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgCardVote) 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 *MsgCardVote) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Vote != nil { + { + size, err := m.Vote.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 *MsgCardVoteResponse) 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 *MsgCardVoteResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardVoteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUserCreate) 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.NewUser) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Alias) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUserCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardSchemeBuy) 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 = m.Bid.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgCardSchemeBuyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgCardSaveContent) 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.Content) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Notes) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.BalanceAnchor { + n += 2 + } + return n +} + +func (m *MsgCardSaveContentResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgCardVote) 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.Vote != nil { + l = m.Vote.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardVoteResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } -func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUserCreate) 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: MsgUserCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewUser", 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.NewUser = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Alias", 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.Alias = 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 *MsgUserCreateResponse) 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: MsgUserCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUserCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardSchemeBuy) 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: MsgCardSchemeBuy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSchemeBuy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardSchemeBuyResponse) 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: MsgCardSchemeBuyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSchemeBuyResponse: 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:]) + 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 *MsgCardSaveContent) 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: MsgCardSaveContent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSaveContent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Content", 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.Content = string(dAtA[iNdEx:postIndex]) + 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 + 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:]) + 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 *MsgCardSaveContentResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -372,15 +2162,85 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardSaveContentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardSaveContentResponse: 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 *MsgCardVote) 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: MsgCardVote: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardVote: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -408,11 +2268,11 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Authority = string(dAtA[iNdEx:postIndex]) + m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -439,7 +2299,10 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Vote == nil { + m.Vote = &SingleVote{} + } + if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -464,7 +2327,7 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -487,12 +2350,32 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardVoteResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardVoteResponse: 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:]) diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go new file mode 100644 index 00000000..6911a3d0 --- /dev/null +++ b/x/cardchain/types/voting.pb.go @@ -0,0 +1,1134 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/voting.proto + +package types + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/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 VoteType int32 + +const ( + VoteType_fairEnough VoteType = 0 + VoteType_inappropriate VoteType = 1 + VoteType_overpowered VoteType = 2 + VoteType_underpowered VoteType = 3 +) + +var VoteType_name = map[int32]string{ + 0: "fairEnough", + 1: "inappropriate", + 2: "overpowered", + 3: "underpowered", +} + +var VoteType_value = map[string]int32{ + "fairEnough": 0, + "inappropriate": 1, + "overpowered": 2, + "underpowered": 3, +} + +func (x VoteType) String() string { + return proto.EnumName(VoteType_name, int32(x)) +} + +func (VoteType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_39c6bcdea6f40fbf, []int{0} +} + +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 VoteType `protobuf:"varint,2,opt,name=voteType,proto3,enum=cardchain.cardchain.VoteType" 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() VoteType { + if m != nil { + return m.VoteType + } + return VoteType_fairEnough +} + +func init() { + proto.RegisterEnum("cardchain.cardchain.VoteType", VoteType_name, VoteType_value) + proto.RegisterType((*VotingResults)(nil), "cardchain.cardchain.VotingResults") + proto.RegisterType((*VotingResult)(nil), "cardchain.cardchain.VotingResult") + proto.RegisterType((*SingleVote)(nil), "cardchain.cardchain.SingleVote") +} + +func init() { proto.RegisterFile("cardchain/cardchain/voting.proto", fileDescriptor_39c6bcdea6f40fbf) } + +var fileDescriptor_39c6bcdea6f40fbf = []byte{ + // 427 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0xcd, 0x6e, 0xd3, 0x40, + 0x14, 0x85, 0x33, 0x49, 0x6b, 0xca, 0x4d, 0x7f, 0xdc, 0x4b, 0x29, 0xd9, 0x60, 0x99, 0xac, 0xac, + 0x0a, 0xb9, 0x52, 0x40, 0xa8, 0x6c, 0x29, 0x3f, 0xea, 0x0a, 0x64, 0xa0, 0x0b, 0x36, 0x68, 0x6a, + 0x0f, 0x8e, 0x25, 0x77, 0xc6, 0x1a, 0x8f, 0x03, 0x7d, 0x0b, 0x1e, 0x8b, 0x65, 0x97, 0x2c, 0x51, + 0x22, 0xf1, 0x00, 0x3c, 0x01, 0xca, 0xb5, 0x49, 0x87, 0xc6, 0xde, 0xdd, 0x7b, 0xcf, 0x39, 0xb2, + 0xcf, 0x27, 0x0d, 0xf8, 0x31, 0xd7, 0x49, 0x3c, 0xe5, 0x99, 0x3c, 0xbe, 0x99, 0x66, 0xca, 0x64, + 0x32, 0x0d, 0x0b, 0xad, 0x8c, 0xc2, 0x7b, 0xab, 0x7b, 0xb8, 0x9a, 0xc6, 0xbf, 0xfb, 0xb0, 0x73, + 0x4e, 0xae, 0x48, 0x94, 0x55, 0x6e, 0x4a, 0xf4, 0x00, 0x8c, 0x32, 0x3c, 0x3f, 0x57, 0x46, 0x94, + 0x23, 0xe6, 0xb3, 0x60, 0x23, 0xb2, 0x2e, 0x38, 0x81, 0x03, 0xda, 0x5e, 0xf3, 0x4c, 0xbf, 0x92, + 0xaa, 0x4a, 0xa7, 0xb5, 0xb3, 0x4f, 0xce, 0x56, 0x0d, 0x9f, 0xc2, 0x7d, 0xba, 0xbf, 0x9d, 0x09, + 0x5d, 0xa8, 0xaf, 0x42, 0x8b, 0xa4, 0x0e, 0x0d, 0x28, 0xd4, 0x2e, 0xe2, 0x33, 0x38, 0x24, 0xe1, + 0xa3, 0x4c, 0x6e, 0xc5, 0x36, 0x28, 0xd6, 0xa1, 0xe2, 0x09, 0x3c, 0x20, 0xe5, 0x4c, 0xf2, 0xa2, + 0xd0, 0xaa, 0xd0, 0x19, 0x37, 0xa2, 0x0e, 0x6e, 0x52, 0xb0, 0x4b, 0xc6, 0x53, 0x18, 0x2e, 0xd1, + 0x34, 0x28, 0x46, 0x8e, 0x3f, 0x08, 0x86, 0x93, 0x47, 0x61, 0x0b, 0xb8, 0xd0, 0x86, 0x16, 0xd9, + 0x29, 0x3c, 0x80, 0x4d, 0x49, 0x1f, 0xbb, 0xe3, 0xb3, 0xe0, 0x6e, 0x54, 0x2f, 0xe3, 0x3f, 0x0c, + 0xb6, 0xed, 0x0c, 0x1e, 0x82, 0xb3, 0x4c, 0x9d, 0x25, 0x0d, 0xe3, 0x66, 0xc3, 0x00, 0xf6, 0xbe, + 0xb4, 0xa2, 0xbd, 0x7d, 0xc6, 0x23, 0x70, 0x55, 0x3b, 0xd0, 0xb5, 0x3b, 0x3e, 0x86, 0xfd, 0xaa, + 0x03, 0xe3, 0xba, 0x80, 0x21, 0x60, 0xd6, 0x05, 0xaf, 0x45, 0x59, 0x76, 0xd1, 0xd4, 0x6a, 0xe4, + 0x50, 0xe7, 0x66, 0x1b, 0x7f, 0x06, 0x78, 0x9f, 0xc9, 0x34, 0x27, 0x5b, 0x67, 0xe3, 0xe7, 0xb0, + 0x35, 0x53, 0x46, 0x7c, 0xb8, 0x2a, 0x04, 0x55, 0xdd, 0x9d, 0x3c, 0xec, 0x42, 0x4e, 0xa6, 0x68, + 0x65, 0x3f, 0x7a, 0x07, 0x5b, 0xff, 0xae, 0xb8, 0x0b, 0x70, 0x43, 0xc8, 0xed, 0xe1, 0x3e, 0xec, + 0xfc, 0xf7, 0xab, 0x2e, 0xc3, 0x3d, 0x18, 0x5a, 0x64, 0xdc, 0x3e, 0xba, 0xb0, 0x6d, 0xb7, 0x77, + 0x07, 0x2f, 0xa2, 0x1f, 0x73, 0x8f, 0x5d, 0xcf, 0x3d, 0xf6, 0x6b, 0xee, 0xb1, 0xef, 0x0b, 0xaf, + 0x77, 0xbd, 0xf0, 0x7a, 0x3f, 0x17, 0x5e, 0xef, 0xd3, 0x49, 0x9a, 0x99, 0x69, 0x75, 0x11, 0xc6, + 0xea, 0xf2, 0xf8, 0xa5, 0x88, 0x85, 0x34, 0x9a, 0xe7, 0xa7, 0x5c, 0x27, 0x6f, 0xf8, 0xa5, 0xb0, + 0x1e, 0xdd, 0x37, 0x6b, 0x36, 0x57, 0x85, 0x28, 0x2f, 0x1c, 0x7a, 0x80, 0x4f, 0xfe, 0x06, 0x00, + 0x00, 0xff, 0xff, 0x9c, 0xa0, 0xa4, 0xc9, 0xa4, 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 m.VoteType != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.VoteType)) + 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)) + } + if m.VoteType != 0 { + n += 1 + sovVoting(uint64(m.VoteType)) + } + 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 != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field VoteType", wireType) + } + m.VoteType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.VoteType |= VoteType(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") +) From eb48e8d3a87ae5366a104ac2e90d8c5ce225bd0c Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 16 Dec 2024 23:57:24 +0100 Subject: [PATCH 10/99] feat(#242): matches --- gen.sh | 10 ++++++++- proto/cardchain/cardchain/match.proto | 32 +++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 proto/cardchain/cardchain/match.proto diff --git a/gen.sh b/gen.sh index 8826f038..a6ddaa01 100755 --- a/gen.sh +++ b/gen.sh @@ -3,4 +3,12 @@ #ignite scaffold message UserCreate newUser:string alias:string #ignite scaffold message CardSchemeBuy bid:coin --response cardId:uint #ignite scaffold message CardSaveContent cardId:uint content:string notes:string artist:string balanceAnchor:bool --response airdropClaimed:bool -#ignite scaffold message CardVote vote:SingleVote --response airdropClaimed:bool +ignite scaffold message CardVote vote:SingleVote --response airdropClaimed:bool +ignite scaffold message CardTransfer cardId:uint receiver:string +ignite scaffold message CardDonate cardId:uint amount:coin +ignite scaffold message CardArtworkAdd cardId:uint image:string fullArt:bool +ignite scaffold message CardArtistChange cardId:uint artist:string +ignite scaffold message CouncilRegister +ignite scaffold message CouncilDeregister +ignite scaffold message MatchReport matchId:uint playedCardsA:uints \ + playedCardsB:uints outcome:Outcome diff --git a/proto/cardchain/cardchain/match.proto b/proto/cardchain/cardchain/match.proto new file mode 100644 index 00000000..0046ef6d --- /dev/null +++ b/proto/cardchain/cardchain/match.proto @@ -0,0 +1,32 @@ +syntax = "proto3"; +package cardchain.cardchain; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; +import "cardchain/cardchain/voting.proto"; + +message Match { + + uint64 timestamp = 1; + string reporter = 2; + MatchPlayer playerA = 3; + MatchPlayer playerB = 4; + Outcome outcome = 7; + bool coinsDistributed = 10; + bool serverConfirmed = 8; +} + +message MatchPlayer { + string addr = 1; + 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; +} From 44184b893f587abead5803d97d1751807bbad5aa Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 00:01:30 +0100 Subject: [PATCH 11/99] feat(#242): Second wave of txs --- api/cardchain/cardchain/genesis.pulsar.go | 9 +- api/cardchain/cardchain/match.pulsar.go | 2189 +++++ .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- api/cardchain/cardchain/query.pulsar.go | 9 +- api/cardchain/cardchain/query_grpc.pb.go | 1 + api/cardchain/cardchain/tx.pulsar.go | 7824 ++++++++++++++++- api/cardchain/cardchain/tx_grpc.pb.go | 270 +- api/cardchain/cardchain/voting.pulsar.go | 7 +- docs/static/openapi.yml | 2 +- gen.sh | 16 +- proto/cardchain/cardchain/tx.proto | 127 +- .../keeper/msg_server_card_artist_change.go | 17 + .../keeper/msg_server_card_artwork_add.go | 17 + x/cardchain/keeper/msg_server_card_donate.go | 17 + .../keeper/msg_server_card_transfer.go | 17 + x/cardchain/keeper/msg_server_card_vote.go | 9 +- .../keeper/msg_server_council_deregister.go | 17 + .../keeper/msg_server_council_register.go | 17 + x/cardchain/keeper/msg_server_match_report.go | 17 + x/cardchain/module/autocli.go | 54 +- x/cardchain/module/simulation.go | 177 +- x/cardchain/simulation/card_artist_change.go | 29 + x/cardchain/simulation/card_artwork_add.go | 29 + x/cardchain/simulation/card_donate.go | 29 + x/cardchain/simulation/card_transfer.go | 29 + x/cardchain/simulation/council_deregister.go | 29 + x/cardchain/simulation/council_register.go | 29 + x/cardchain/simulation/match_report.go | 29 + x/cardchain/types/codec.go | 27 +- x/cardchain/types/genesis.pb.go | 7 +- x/cardchain/types/match.pb.go | 1162 +++ .../types/message_card_artist_change.go | 25 + .../types/message_card_artist_change_test.go | 40 + x/cardchain/types/message_card_artwork_add.go | 26 + .../types/message_card_artwork_add_test.go | 40 + x/cardchain/types/message_card_donate.go | 25 + x/cardchain/types/message_card_donate_test.go | 40 + x/cardchain/types/message_card_transfer.go | 25 + .../types/message_card_transfer_test.go | 40 + x/cardchain/types/message_card_vote.go | 15 +- x/cardchain/types/message_card_vote_test.go | 2 +- .../types/message_council_deregister.go | 23 + .../types/message_council_deregister_test.go | 40 + x/cardchain/types/message_council_register.go | 23 + .../types/message_council_register_test.go | 40 + x/cardchain/types/message_match_report.go | 27 + .../types/message_match_report_test.go | 40 + x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/query.pb.go | 7 +- x/cardchain/types/tx.pb.go | 4833 ++++++++-- x/cardchain/types/voting.pb.go | 3 +- 52 files changed, 16231 insertions(+), 1320 deletions(-) create mode 100644 api/cardchain/cardchain/match.pulsar.go create mode 100644 x/cardchain/keeper/msg_server_card_artist_change.go create mode 100644 x/cardchain/keeper/msg_server_card_artwork_add.go create mode 100644 x/cardchain/keeper/msg_server_card_donate.go create mode 100644 x/cardchain/keeper/msg_server_card_transfer.go create mode 100644 x/cardchain/keeper/msg_server_council_deregister.go create mode 100644 x/cardchain/keeper/msg_server_council_register.go create mode 100644 x/cardchain/keeper/msg_server_match_report.go create mode 100644 x/cardchain/simulation/card_artist_change.go create mode 100644 x/cardchain/simulation/card_artwork_add.go create mode 100644 x/cardchain/simulation/card_donate.go create mode 100644 x/cardchain/simulation/card_transfer.go create mode 100644 x/cardchain/simulation/council_deregister.go create mode 100644 x/cardchain/simulation/council_register.go create mode 100644 x/cardchain/simulation/match_report.go create mode 100644 x/cardchain/types/match.pb.go create mode 100644 x/cardchain/types/message_card_artist_change.go create mode 100644 x/cardchain/types/message_card_artist_change_test.go create mode 100644 x/cardchain/types/message_card_artwork_add.go create mode 100644 x/cardchain/types/message_card_artwork_add_test.go create mode 100644 x/cardchain/types/message_card_donate.go create mode 100644 x/cardchain/types/message_card_donate_test.go create mode 100644 x/cardchain/types/message_card_transfer.go create mode 100644 x/cardchain/types/message_card_transfer_test.go create mode 100644 x/cardchain/types/message_council_deregister.go create mode 100644 x/cardchain/types/message_council_deregister_test.go create mode 100644 x/cardchain/types/message_council_register.go create mode 100644 x/cardchain/types/message_council_register_test.go create mode 100644 x/cardchain/types/message_match_report.go create mode 100644 x/cardchain/types/message_match_report_test.go diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index 95f741db..6468855f 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go new file mode 100644 index 00000000..b2e29884 --- /dev/null +++ b/api/cardchain/cardchain/match.pulsar.go @@ -0,0 +1,2189 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +var ( + md_Match protoreflect.MessageDescriptor + fd_Match_timestamp protoreflect.FieldDescriptor + fd_Match_reporter protoreflect.FieldDescriptor + fd_Match_playerA protoreflect.FieldDescriptor + fd_Match_playerB protoreflect.FieldDescriptor + fd_Match_outcome protoreflect.FieldDescriptor + fd_Match_coinsDistributed protoreflect.FieldDescriptor + fd_Match_serverConfirmed protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_match_proto_init() + md_Match = File_cardchain_cardchain_match_proto.Messages().ByName("Match") + fd_Match_timestamp = md_Match.Fields().ByName("timestamp") + fd_Match_reporter = md_Match.Fields().ByName("reporter") + fd_Match_playerA = md_Match.Fields().ByName("playerA") + fd_Match_playerB = md_Match.Fields().ByName("playerB") + fd_Match_outcome = md_Match.Fields().ByName("outcome") + fd_Match_coinsDistributed = md_Match.Fields().ByName("coinsDistributed") + fd_Match_serverConfirmed = md_Match.Fields().ByName("serverConfirmed") +} + +var _ protoreflect.Message = (*fastReflection_Match)(nil) + +type fastReflection_Match Match + +func (x *Match) ProtoReflect() protoreflect.Message { + return (*fastReflection_Match)(x) +} + +func (x *Match) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_match_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Match_messageType fastReflection_Match_messageType +var _ protoreflect.MessageType = fastReflection_Match_messageType{} + +type fastReflection_Match_messageType struct{} + +func (x fastReflection_Match_messageType) Zero() protoreflect.Message { + return (*fastReflection_Match)(nil) +} +func (x fastReflection_Match_messageType) New() protoreflect.Message { + return new(fastReflection_Match) +} +func (x fastReflection_Match_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Match +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Match) Descriptor() protoreflect.MessageDescriptor { + return md_Match +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Match) Type() protoreflect.MessageType { + return _fastReflection_Match_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Match) New() protoreflect.Message { + return new(fastReflection_Match) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Match) Interface() protoreflect.ProtoMessage { + return (*Match)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Match) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Timestamp != uint64(0) { + value := protoreflect.ValueOfUint64(x.Timestamp) + if !f(fd_Match_timestamp, value) { + return + } + } + if x.Reporter != "" { + value := protoreflect.ValueOfString(x.Reporter) + if !f(fd_Match_reporter, value) { + return + } + } + if x.PlayerA != nil { + value := protoreflect.ValueOfMessage(x.PlayerA.ProtoReflect()) + if !f(fd_Match_playerA, value) { + return + } + } + if x.PlayerB != nil { + value := protoreflect.ValueOfMessage(x.PlayerB.ProtoReflect()) + if !f(fd_Match_playerB, value) { + return + } + } + if x.Outcome != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Outcome)) + if !f(fd_Match_outcome, value) { + return + } + } + if x.CoinsDistributed != false { + value := protoreflect.ValueOfBool(x.CoinsDistributed) + if !f(fd_Match_coinsDistributed, value) { + return + } + } + if x.ServerConfirmed != false { + value := protoreflect.ValueOfBool(x.ServerConfirmed) + if !f(fd_Match_serverConfirmed, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Match) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.Match.timestamp": + return x.Timestamp != uint64(0) + case "cardchain.cardchain.Match.reporter": + return x.Reporter != "" + case "cardchain.cardchain.Match.playerA": + return x.PlayerA != nil + case "cardchain.cardchain.Match.playerB": + return x.PlayerB != nil + case "cardchain.cardchain.Match.outcome": + return x.Outcome != 0 + case "cardchain.cardchain.Match.coinsDistributed": + return x.CoinsDistributed != false + case "cardchain.cardchain.Match.serverConfirmed": + return x.ServerConfirmed != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Match")) + } + panic(fmt.Errorf("message cardchain.cardchain.Match does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Match) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.Match.timestamp": + x.Timestamp = uint64(0) + case "cardchain.cardchain.Match.reporter": + x.Reporter = "" + case "cardchain.cardchain.Match.playerA": + x.PlayerA = nil + case "cardchain.cardchain.Match.playerB": + x.PlayerB = nil + case "cardchain.cardchain.Match.outcome": + x.Outcome = 0 + case "cardchain.cardchain.Match.coinsDistributed": + x.CoinsDistributed = false + case "cardchain.cardchain.Match.serverConfirmed": + x.ServerConfirmed = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Match")) + } + panic(fmt.Errorf("message cardchain.cardchain.Match does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Match) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.Match.timestamp": + value := x.Timestamp + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Match.reporter": + value := x.Reporter + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.Match.playerA": + value := x.PlayerA + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.Match.playerB": + value := x.PlayerB + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.Match.outcome": + value := x.Outcome + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "cardchain.cardchain.Match.coinsDistributed": + value := x.CoinsDistributed + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.Match.serverConfirmed": + value := x.ServerConfirmed + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Match")) + } + panic(fmt.Errorf("message cardchain.cardchain.Match does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Match) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.Match.timestamp": + x.Timestamp = value.Uint() + case "cardchain.cardchain.Match.reporter": + x.Reporter = value.Interface().(string) + case "cardchain.cardchain.Match.playerA": + x.PlayerA = value.Message().Interface().(*MatchPlayer) + case "cardchain.cardchain.Match.playerB": + x.PlayerB = value.Message().Interface().(*MatchPlayer) + case "cardchain.cardchain.Match.outcome": + x.Outcome = (Outcome)(value.Enum()) + case "cardchain.cardchain.Match.coinsDistributed": + x.CoinsDistributed = value.Bool() + case "cardchain.cardchain.Match.serverConfirmed": + x.ServerConfirmed = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Match")) + } + panic(fmt.Errorf("message cardchain.cardchain.Match does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Match) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Match.playerA": + if x.PlayerA == nil { + x.PlayerA = new(MatchPlayer) + } + return protoreflect.ValueOfMessage(x.PlayerA.ProtoReflect()) + case "cardchain.cardchain.Match.playerB": + if x.PlayerB == nil { + x.PlayerB = new(MatchPlayer) + } + return protoreflect.ValueOfMessage(x.PlayerB.ProtoReflect()) + case "cardchain.cardchain.Match.timestamp": + panic(fmt.Errorf("field timestamp of message cardchain.cardchain.Match is not mutable")) + case "cardchain.cardchain.Match.reporter": + panic(fmt.Errorf("field reporter of message cardchain.cardchain.Match is not mutable")) + case "cardchain.cardchain.Match.outcome": + panic(fmt.Errorf("field outcome of message cardchain.cardchain.Match is not mutable")) + case "cardchain.cardchain.Match.coinsDistributed": + panic(fmt.Errorf("field coinsDistributed of message cardchain.cardchain.Match is not mutable")) + case "cardchain.cardchain.Match.serverConfirmed": + panic(fmt.Errorf("field serverConfirmed of message cardchain.cardchain.Match is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Match")) + } + panic(fmt.Errorf("message cardchain.cardchain.Match does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Match) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Match.timestamp": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Match.reporter": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.Match.playerA": + m := new(MatchPlayer) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.Match.playerB": + m := new(MatchPlayer) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.Match.outcome": + return protoreflect.ValueOfEnum(0) + case "cardchain.cardchain.Match.coinsDistributed": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.Match.serverConfirmed": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Match")) + } + panic(fmt.Errorf("message cardchain.cardchain.Match does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Match) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.Match", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Match) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Match) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Match) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Match) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Match) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Timestamp != 0 { + n += 1 + runtime.Sov(uint64(x.Timestamp)) + } + l = len(x.Reporter) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.PlayerA != nil { + l = options.Size(x.PlayerA) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.PlayerB != nil { + l = options.Size(x.PlayerB) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Outcome != 0 { + n += 1 + runtime.Sov(uint64(x.Outcome)) + } + if x.CoinsDistributed { + n += 2 + } + if x.ServerConfirmed { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Match) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CoinsDistributed { + i-- + if x.CoinsDistributed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if x.ServerConfirmed { + i-- + if x.ServerConfirmed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if x.Outcome != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Outcome)) + i-- + dAtA[i] = 0x38 + } + if x.PlayerB != nil { + encoded, err := options.Marshal(x.PlayerB) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x22 + } + if x.PlayerA != nil { + encoded, err := options.Marshal(x.PlayerA) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + if len(x.Reporter) > 0 { + i -= len(x.Reporter) + copy(dAtA[i:], x.Reporter) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reporter))) + i-- + dAtA[i] = 0x12 + } + if x.Timestamp != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Timestamp)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Match) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Match: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Match: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + x.Timestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Timestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reporter", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Reporter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PlayerA", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.PlayerA == nil { + x.PlayerA = &MatchPlayer{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.PlayerA); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PlayerB", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.PlayerB == nil { + x.PlayerB = &MatchPlayer{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.PlayerB); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 7: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + x.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Outcome |= Outcome(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CoinsDistributed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.CoinsDistributed = bool(v != 0) + case 8: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ServerConfirmed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.ServerConfirmed = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_MatchPlayer_2_list)(nil) + +type _MatchPlayer_2_list struct { + list *[]uint64 +} + +func (x *_MatchPlayer_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MatchPlayer_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_MatchPlayer_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_MatchPlayer_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_MatchPlayer_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MatchPlayer at list field PlayedCards as it is not of Message kind")) +} + +func (x *_MatchPlayer_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_MatchPlayer_2_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_MatchPlayer_2_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_MatchPlayer_5_list)(nil) + +type _MatchPlayer_5_list struct { + list *[]uint64 +} + +func (x *_MatchPlayer_5_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MatchPlayer_5_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_MatchPlayer_5_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_MatchPlayer_5_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_MatchPlayer_5_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MatchPlayer at list field Deck as it is not of Message kind")) +} + +func (x *_MatchPlayer_5_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_MatchPlayer_5_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_MatchPlayer_5_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_MatchPlayer_6_list)(nil) + +type _MatchPlayer_6_list struct { + list *[]*SingleVote +} + +func (x *_MatchPlayer_6_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MatchPlayer_6_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_MatchPlayer_6_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*SingleVote) + (*x.list)[i] = concreteValue +} + +func (x *_MatchPlayer_6_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*SingleVote) + *x.list = append(*x.list, concreteValue) +} + +func (x *_MatchPlayer_6_list) AppendMutable() protoreflect.Value { + v := new(SingleVote) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MatchPlayer_6_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_MatchPlayer_6_list) NewElement() protoreflect.Value { + v := new(SingleVote) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MatchPlayer_6_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MatchPlayer protoreflect.MessageDescriptor + fd_MatchPlayer_addr protoreflect.FieldDescriptor + fd_MatchPlayer_playedCards protoreflect.FieldDescriptor + fd_MatchPlayer_confirmed protoreflect.FieldDescriptor + fd_MatchPlayer_outcome protoreflect.FieldDescriptor + fd_MatchPlayer_deck protoreflect.FieldDescriptor + fd_MatchPlayer_votedCards protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_match_proto_init() + md_MatchPlayer = File_cardchain_cardchain_match_proto.Messages().ByName("MatchPlayer") + fd_MatchPlayer_addr = md_MatchPlayer.Fields().ByName("addr") + fd_MatchPlayer_playedCards = md_MatchPlayer.Fields().ByName("playedCards") + fd_MatchPlayer_confirmed = md_MatchPlayer.Fields().ByName("confirmed") + fd_MatchPlayer_outcome = md_MatchPlayer.Fields().ByName("outcome") + fd_MatchPlayer_deck = md_MatchPlayer.Fields().ByName("deck") + fd_MatchPlayer_votedCards = md_MatchPlayer.Fields().ByName("votedCards") +} + +var _ protoreflect.Message = (*fastReflection_MatchPlayer)(nil) + +type fastReflection_MatchPlayer MatchPlayer + +func (x *MatchPlayer) ProtoReflect() protoreflect.Message { + return (*fastReflection_MatchPlayer)(x) +} + +func (x *MatchPlayer) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_match_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MatchPlayer_messageType fastReflection_MatchPlayer_messageType +var _ protoreflect.MessageType = fastReflection_MatchPlayer_messageType{} + +type fastReflection_MatchPlayer_messageType struct{} + +func (x fastReflection_MatchPlayer_messageType) Zero() protoreflect.Message { + return (*fastReflection_MatchPlayer)(nil) +} +func (x fastReflection_MatchPlayer_messageType) New() protoreflect.Message { + return new(fastReflection_MatchPlayer) +} +func (x fastReflection_MatchPlayer_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MatchPlayer +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MatchPlayer) Descriptor() protoreflect.MessageDescriptor { + return md_MatchPlayer +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MatchPlayer) Type() protoreflect.MessageType { + return _fastReflection_MatchPlayer_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MatchPlayer) New() protoreflect.Message { + return new(fastReflection_MatchPlayer) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MatchPlayer) Interface() protoreflect.ProtoMessage { + return (*MatchPlayer)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MatchPlayer) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Addr != "" { + value := protoreflect.ValueOfString(x.Addr) + if !f(fd_MatchPlayer_addr, value) { + return + } + } + if len(x.PlayedCards) != 0 { + value := protoreflect.ValueOfList(&_MatchPlayer_2_list{list: &x.PlayedCards}) + if !f(fd_MatchPlayer_playedCards, value) { + return + } + } + if x.Confirmed != false { + value := protoreflect.ValueOfBool(x.Confirmed) + if !f(fd_MatchPlayer_confirmed, value) { + return + } + } + if x.Outcome != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Outcome)) + if !f(fd_MatchPlayer_outcome, value) { + return + } + } + if len(x.Deck) != 0 { + value := protoreflect.ValueOfList(&_MatchPlayer_5_list{list: &x.Deck}) + if !f(fd_MatchPlayer_deck, value) { + return + } + } + if len(x.VotedCards) != 0 { + value := protoreflect.ValueOfList(&_MatchPlayer_6_list{list: &x.VotedCards}) + if !f(fd_MatchPlayer_votedCards, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MatchPlayer) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MatchPlayer.addr": + return x.Addr != "" + case "cardchain.cardchain.MatchPlayer.playedCards": + return len(x.PlayedCards) != 0 + case "cardchain.cardchain.MatchPlayer.confirmed": + return x.Confirmed != false + case "cardchain.cardchain.MatchPlayer.outcome": + return x.Outcome != 0 + case "cardchain.cardchain.MatchPlayer.deck": + return len(x.Deck) != 0 + case "cardchain.cardchain.MatchPlayer.votedCards": + return len(x.VotedCards) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MatchPlayer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MatchPlayer does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MatchPlayer) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MatchPlayer.addr": + x.Addr = "" + case "cardchain.cardchain.MatchPlayer.playedCards": + x.PlayedCards = nil + case "cardchain.cardchain.MatchPlayer.confirmed": + x.Confirmed = false + case "cardchain.cardchain.MatchPlayer.outcome": + x.Outcome = 0 + case "cardchain.cardchain.MatchPlayer.deck": + x.Deck = nil + case "cardchain.cardchain.MatchPlayer.votedCards": + x.VotedCards = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MatchPlayer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MatchPlayer does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MatchPlayer) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MatchPlayer.addr": + value := x.Addr + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MatchPlayer.playedCards": + if len(x.PlayedCards) == 0 { + return protoreflect.ValueOfList(&_MatchPlayer_2_list{}) + } + listValue := &_MatchPlayer_2_list{list: &x.PlayedCards} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.MatchPlayer.confirmed": + value := x.Confirmed + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.MatchPlayer.outcome": + value := x.Outcome + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "cardchain.cardchain.MatchPlayer.deck": + if len(x.Deck) == 0 { + return protoreflect.ValueOfList(&_MatchPlayer_5_list{}) + } + listValue := &_MatchPlayer_5_list{list: &x.Deck} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.MatchPlayer.votedCards": + if len(x.VotedCards) == 0 { + return protoreflect.ValueOfList(&_MatchPlayer_6_list{}) + } + listValue := &_MatchPlayer_6_list{list: &x.VotedCards} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MatchPlayer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MatchPlayer does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MatchPlayer) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MatchPlayer.addr": + x.Addr = value.Interface().(string) + case "cardchain.cardchain.MatchPlayer.playedCards": + lv := value.List() + clv := lv.(*_MatchPlayer_2_list) + x.PlayedCards = *clv.list + case "cardchain.cardchain.MatchPlayer.confirmed": + x.Confirmed = value.Bool() + case "cardchain.cardchain.MatchPlayer.outcome": + x.Outcome = (Outcome)(value.Enum()) + case "cardchain.cardchain.MatchPlayer.deck": + lv := value.List() + clv := lv.(*_MatchPlayer_5_list) + x.Deck = *clv.list + case "cardchain.cardchain.MatchPlayer.votedCards": + lv := value.List() + clv := lv.(*_MatchPlayer_6_list) + x.VotedCards = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MatchPlayer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MatchPlayer does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MatchPlayer) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MatchPlayer.playedCards": + if x.PlayedCards == nil { + x.PlayedCards = []uint64{} + } + value := &_MatchPlayer_2_list{list: &x.PlayedCards} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.MatchPlayer.deck": + if x.Deck == nil { + x.Deck = []uint64{} + } + value := &_MatchPlayer_5_list{list: &x.Deck} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.MatchPlayer.votedCards": + if x.VotedCards == nil { + x.VotedCards = []*SingleVote{} + } + value := &_MatchPlayer_6_list{list: &x.VotedCards} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.MatchPlayer.addr": + panic(fmt.Errorf("field addr of message cardchain.cardchain.MatchPlayer is not mutable")) + case "cardchain.cardchain.MatchPlayer.confirmed": + panic(fmt.Errorf("field confirmed of message cardchain.cardchain.MatchPlayer is not mutable")) + case "cardchain.cardchain.MatchPlayer.outcome": + panic(fmt.Errorf("field outcome of message cardchain.cardchain.MatchPlayer is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MatchPlayer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MatchPlayer does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MatchPlayer) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MatchPlayer.addr": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MatchPlayer.playedCards": + list := []uint64{} + return protoreflect.ValueOfList(&_MatchPlayer_2_list{list: &list}) + case "cardchain.cardchain.MatchPlayer.confirmed": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.MatchPlayer.outcome": + return protoreflect.ValueOfEnum(0) + case "cardchain.cardchain.MatchPlayer.deck": + list := []uint64{} + return protoreflect.ValueOfList(&_MatchPlayer_5_list{list: &list}) + case "cardchain.cardchain.MatchPlayer.votedCards": + list := []*SingleVote{} + return protoreflect.ValueOfList(&_MatchPlayer_6_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MatchPlayer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MatchPlayer does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MatchPlayer) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MatchPlayer", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MatchPlayer) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MatchPlayer) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MatchPlayer) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MatchPlayer) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MatchPlayer) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Addr) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.PlayedCards) > 0 { + l = 0 + for _, e := range x.PlayedCards { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.Confirmed { + n += 2 + } + if x.Outcome != 0 { + n += 1 + runtime.Sov(uint64(x.Outcome)) + } + if len(x.Deck) > 0 { + l = 0 + for _, e := range x.Deck { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if len(x.VotedCards) > 0 { + for _, e := range x.VotedCards { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MatchPlayer) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.VotedCards) > 0 { + for iNdEx := len(x.VotedCards) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.VotedCards[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x32 + } + } + if len(x.Deck) > 0 { + var pksize2 int + for _, num := range x.Deck { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.Deck { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x2a + } + if x.Outcome != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Outcome)) + i-- + dAtA[i] = 0x20 + } + if x.Confirmed { + i-- + if x.Confirmed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(x.PlayedCards) > 0 { + var pksize4 int + for _, num := range x.PlayedCards { + pksize4 += runtime.Sov(uint64(num)) + } + i -= pksize4 + j3 := i + for _, num := range x.PlayedCards { + for num >= 1<<7 { + dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j3++ + } + dAtA[j3] = uint8(num) + j3++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize4)) + i-- + dAtA[i] = 0x12 + } + if len(x.Addr) > 0 { + i -= len(x.Addr) + copy(dAtA[i:], x.Addr) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Addr))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MatchPlayer) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MatchPlayer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MatchPlayer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Addr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.PlayedCards = append(x.PlayedCards, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.PlayedCards) == 0 { + x.PlayedCards = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.PlayedCards = append(x.PlayedCards, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PlayedCards", wireType) + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Confirmed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Confirmed = bool(v != 0) + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + x.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Outcome |= Outcome(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Deck = append(x.Deck, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.Deck) == 0 { + x.Deck = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Deck = append(x.Deck, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Deck", wireType) + } + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.VotedCards = append(x.VotedCards, &SingleVote{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.VotedCards[len(x.VotedCards)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/match.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Outcome int32 + +const ( + Outcome_AWon Outcome = 0 + Outcome_BWon Outcome = 1 + Outcome_Draw Outcome = 2 + Outcome_Aborted Outcome = 3 +) + +// Enum value maps for Outcome. +var ( + Outcome_name = map[int32]string{ + 0: "AWon", + 1: "BWon", + 2: "Draw", + 3: "Aborted", + } + Outcome_value = map[string]int32{ + "AWon": 0, + "BWon": 1, + "Draw": 2, + "Aborted": 3, + } +) + +func (x Outcome) Enum() *Outcome { + p := new(Outcome) + *p = x + return p +} + +func (x Outcome) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Outcome) Descriptor() protoreflect.EnumDescriptor { + return file_cardchain_cardchain_match_proto_enumTypes[0].Descriptor() +} + +func (Outcome) Type() protoreflect.EnumType { + return &file_cardchain_cardchain_match_proto_enumTypes[0] +} + +func (x Outcome) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Outcome.Descriptor instead. +func (Outcome) EnumDescriptor() ([]byte, []int) { + return file_cardchain_cardchain_match_proto_rawDescGZIP(), []int{0} +} + +type Match struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"` + PlayerA *MatchPlayer `protobuf:"bytes,3,opt,name=playerA,proto3" json:"playerA,omitempty"` + PlayerB *MatchPlayer `protobuf:"bytes,4,opt,name=playerB,proto3" json:"playerB,omitempty"` + Outcome Outcome `protobuf:"varint,7,opt,name=outcome,proto3,enum=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 (x *Match) Reset() { + *x = Match{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_match_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Match) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Match) ProtoMessage() {} + +// Deprecated: Use Match.ProtoReflect.Descriptor instead. +func (*Match) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_match_proto_rawDescGZIP(), []int{0} +} + +func (x *Match) GetTimestamp() uint64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *Match) GetReporter() string { + if x != nil { + return x.Reporter + } + return "" +} + +func (x *Match) GetPlayerA() *MatchPlayer { + if x != nil { + return x.PlayerA + } + return nil +} + +func (x *Match) GetPlayerB() *MatchPlayer { + if x != nil { + return x.PlayerB + } + return nil +} + +func (x *Match) GetOutcome() Outcome { + if x != nil { + return x.Outcome + } + return Outcome_AWon +} + +func (x *Match) GetCoinsDistributed() bool { + if x != nil { + return x.CoinsDistributed + } + return false +} + +func (x *Match) GetServerConfirmed() bool { + if x != nil { + return x.ServerConfirmed + } + return false +} + +type MatchPlayer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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=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 (x *MatchPlayer) Reset() { + *x = MatchPlayer{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_match_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchPlayer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchPlayer) ProtoMessage() {} + +// Deprecated: Use MatchPlayer.ProtoReflect.Descriptor instead. +func (*MatchPlayer) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_match_proto_rawDescGZIP(), []int{1} +} + +func (x *MatchPlayer) GetAddr() string { + if x != nil { + return x.Addr + } + return "" +} + +func (x *MatchPlayer) GetPlayedCards() []uint64 { + if x != nil { + return x.PlayedCards + } + return nil +} + +func (x *MatchPlayer) GetConfirmed() bool { + if x != nil { + return x.Confirmed + } + return false +} + +func (x *MatchPlayer) GetOutcome() Outcome { + if x != nil { + return x.Outcome + } + return Outcome_AWon +} + +func (x *MatchPlayer) GetDeck() []uint64 { + if x != nil { + return x.Deck + } + return nil +} + +func (x *MatchPlayer) GetVotedCards() []*SingleVote { + if x != nil { + return x.VotedCards + } + return nil +} + +var File_cardchain_cardchain_match_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_match_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, + 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x02, 0x0a, 0x05, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x07, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, + 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x42, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x42, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, + 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, + 0x63, 0x6f, 0x69, 0x6e, 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x6f, 0x69, 0x6e, 0x73, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x65, 0x64, 0x22, 0xee, 0x01, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, + 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x65, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x04, 0x64, 0x65, + 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, + 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, + 0x72, 0x64, 0x73, 0x2a, 0x34, 0x0a, 0x07, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x08, + 0x0a, 0x04, 0x41, 0x57, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x57, 0x6f, 0x6e, + 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x72, 0x61, 0x77, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, + 0x41, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x10, 0x03, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, + 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, + 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_match_proto_rawDescOnce sync.Once + file_cardchain_cardchain_match_proto_rawDescData = file_cardchain_cardchain_match_proto_rawDesc +) + +func file_cardchain_cardchain_match_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_match_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_match_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_match_proto_rawDescData) + }) + return file_cardchain_cardchain_match_proto_rawDescData +} + +var file_cardchain_cardchain_match_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_cardchain_cardchain_match_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_cardchain_cardchain_match_proto_goTypes = []interface{}{ + (Outcome)(0), // 0: cardchain.cardchain.Outcome + (*Match)(nil), // 1: cardchain.cardchain.Match + (*MatchPlayer)(nil), // 2: cardchain.cardchain.MatchPlayer + (*SingleVote)(nil), // 3: cardchain.cardchain.SingleVote +} +var file_cardchain_cardchain_match_proto_depIdxs = []int32{ + 2, // 0: cardchain.cardchain.Match.playerA:type_name -> cardchain.cardchain.MatchPlayer + 2, // 1: cardchain.cardchain.Match.playerB:type_name -> cardchain.cardchain.MatchPlayer + 0, // 2: cardchain.cardchain.Match.outcome:type_name -> cardchain.cardchain.Outcome + 0, // 3: cardchain.cardchain.MatchPlayer.outcome:type_name -> cardchain.cardchain.Outcome + 3, // 4: cardchain.cardchain.MatchPlayer.votedCards:type_name -> cardchain.cardchain.SingleVote + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_match_proto_init() } +func file_cardchain_cardchain_match_proto_init() { + if File_cardchain_cardchain_match_proto != nil { + return + } + file_cardchain_cardchain_voting_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_match_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Match); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_match_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchPlayer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_match_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_match_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_match_proto_depIdxs, + EnumInfos: file_cardchain_cardchain_match_proto_enumTypes, + MessageInfos: file_cardchain_cardchain_match_proto_msgTypes, + }.Build() + File_cardchain_cardchain_match_proto = out.File + file_cardchain_cardchain_match_proto_rawDesc = nil + file_cardchain_cardchain_match_proto_goTypes = nil + file_cardchain_cardchain_match_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index 2b190f83..dead9881 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,15 +2,16 @@ package module import ( - _ "cosmossdk.io/api/cosmos/app/v1alpha1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/cosmos/app/v1alpha1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index 1b2cbd3b..e1114a45 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 2fbc5336..dd2bbea8 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,18 +2,19 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 641cf1eb..209e296a 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,6 +8,7 @@ package cardchain import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index e34d9143..ceadfe7a 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,19 +2,20 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" - fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( @@ -4712,435 +4713,7371 @@ func (x *fastReflection_MsgCardVoteResponse) ProtoMethods() *protoiface.Methods } } -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: cardchain/cardchain/tx.proto - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +var ( + md_MsgCardTransfer protoreflect.MessageDescriptor + fd_MsgCardTransfer_creator protoreflect.FieldDescriptor + fd_MsgCardTransfer_cardId protoreflect.FieldDescriptor + fd_MsgCardTransfer_receiver protoreflect.FieldDescriptor ) -// MsgUpdateParams is the Msg/UpdateParams request type. -type MsgUpdateParams struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardTransfer = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardTransfer") + fd_MsgCardTransfer_creator = md_MsgCardTransfer.Fields().ByName("creator") + fd_MsgCardTransfer_cardId = md_MsgCardTransfer.Fields().ByName("cardId") + fd_MsgCardTransfer_receiver = md_MsgCardTransfer.Fields().ByName("receiver") +} - // authority is the address that controls the module (defaults to x/gov unless - // overwritten). - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // NOTE: All parameters must be supplied. - Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +var _ protoreflect.Message = (*fastReflection_MsgCardTransfer)(nil) + +type fastReflection_MsgCardTransfer MsgCardTransfer + +func (x *MsgCardTransfer) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardTransfer)(x) } -func (x *MsgUpdateParams) Reset() { - *x = MsgUpdateParams{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[0] +func (x *MsgCardTransfer) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } + return mi.MessageOf(x) } -func (x *MsgUpdateParams) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgUpdateParams) ProtoMessage() {} +var _fastReflection_MsgCardTransfer_messageType fastReflection_MsgCardTransfer_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardTransfer_messageType{} -// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. -func (*MsgUpdateParams) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{0} -} +type fastReflection_MsgCardTransfer_messageType struct{} -func (x *MsgUpdateParams) GetAuthority() string { - if x != nil { - return x.Authority - } - return "" +func (x fastReflection_MsgCardTransfer_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardTransfer)(nil) } - -func (x *MsgUpdateParams) GetParams() *Params { - if x != nil { - return x.Params - } - return nil +func (x fastReflection_MsgCardTransfer_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardTransfer) } - -// MsgUpdateParamsResponse defines the response structure for executing a -// MsgUpdateParams message. -type MsgUpdateParamsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x fastReflection_MsgCardTransfer_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardTransfer } -func (x *MsgUpdateParamsResponse) Reset() { - *x = MsgUpdateParamsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardTransfer) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardTransfer } -func (x *MsgUpdateParamsResponse) String() string { - return protoimpl.X.MessageStringOf(x) +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardTransfer) Type() protoreflect.MessageType { + return _fastReflection_MsgCardTransfer_messageType } -func (*MsgUpdateParamsResponse) ProtoMessage() {} - -// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. -func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{1} +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardTransfer) New() protoreflect.Message { + return new(fastReflection_MsgCardTransfer) } -type MsgUserCreate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - NewUser string `protobuf:"bytes,2,opt,name=newUser,proto3" json:"newUser,omitempty"` - Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardTransfer) Interface() protoreflect.ProtoMessage { + return (*MsgCardTransfer)(x) } -func (x *MsgUserCreate) Reset() { - *x = MsgUserCreate{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardTransfer) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCardTransfer_creator, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgCardTransfer_cardId, value) { + return + } + } + if x.Receiver != "" { + value := protoreflect.ValueOfString(x.Receiver) + if !f(fd_MsgCardTransfer_receiver, value) { + return + } } } -func (x *MsgUserCreate) String() string { - return protoimpl.X.MessageStringOf(x) +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardTransfer) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardTransfer.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCardTransfer.cardId": + return x.CardId != uint64(0) + case "cardchain.cardchain.MsgCardTransfer.receiver": + return x.Receiver != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardTransfer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardTransfer does not contain field %s", fd.FullName())) + } } -func (*MsgUserCreate) ProtoMessage() {} - -// Deprecated: Use MsgUserCreate.ProtoReflect.Descriptor instead. -func (*MsgUserCreate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{2} +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardTransfer) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardTransfer.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCardTransfer.cardId": + x.CardId = uint64(0) + case "cardchain.cardchain.MsgCardTransfer.receiver": + x.Receiver = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardTransfer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardTransfer does not contain field %s", fd.FullName())) + } } -func (x *MsgUserCreate) GetCreator() string { - if x != nil { - return x.Creator +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardTransfer) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardTransfer.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardTransfer.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgCardTransfer.receiver": + value := x.Receiver + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardTransfer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardTransfer does not contain field %s", descriptor.FullName())) } - return "" } -func (x *MsgUserCreate) GetNewUser() string { - if x != nil { - return x.NewUser +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardTransfer) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardTransfer.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCardTransfer.cardId": + x.CardId = value.Uint() + case "cardchain.cardchain.MsgCardTransfer.receiver": + x.Receiver = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardTransfer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardTransfer does not contain field %s", fd.FullName())) } - return "" } -func (x *MsgUserCreate) GetAlias() string { - if x != nil { - return x.Alias +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardTransfer) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardTransfer.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCardTransfer is not mutable")) + case "cardchain.cardchain.MsgCardTransfer.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgCardTransfer is not mutable")) + case "cardchain.cardchain.MsgCardTransfer.receiver": + panic(fmt.Errorf("field receiver of message cardchain.cardchain.MsgCardTransfer is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardTransfer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardTransfer does not contain field %s", fd.FullName())) } - return "" } -type MsgUserCreateResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardTransfer) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardTransfer.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardTransfer.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgCardTransfer.receiver": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardTransfer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardTransfer does not contain field %s", fd.FullName())) + } } -func (x *MsgUserCreateResponse) Reset() { - *x = MsgUserCreateResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardTransfer) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardTransfer", d.FullName())) } + panic("unreachable") } -func (x *MsgUserCreateResponse) String() string { - return protoimpl.X.MessageStringOf(x) +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardTransfer) GetUnknown() protoreflect.RawFields { + return x.unknownFields } -func (*MsgUserCreateResponse) ProtoMessage() {} +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardTransfer) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardTransfer) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardTransfer) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardTransfer) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + l = len(x.Receiver) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardTransfer) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Receiver) > 0 { + i -= len(x.Receiver) + copy(dAtA[i:], x.Receiver) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Receiver))) + i-- + dAtA[i] = 0x1a + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardTransfer) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardTransfer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Receiver", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Receiver = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardTransferResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardTransferResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardTransferResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardTransferResponse)(nil) + +type fastReflection_MsgCardTransferResponse MsgCardTransferResponse + +func (x *MsgCardTransferResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardTransferResponse)(x) +} + +func (x *MsgCardTransferResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardTransferResponse_messageType fastReflection_MsgCardTransferResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardTransferResponse_messageType{} + +type fastReflection_MsgCardTransferResponse_messageType struct{} + +func (x fastReflection_MsgCardTransferResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardTransferResponse)(nil) +} +func (x fastReflection_MsgCardTransferResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardTransferResponse) +} +func (x fastReflection_MsgCardTransferResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardTransferResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardTransferResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardTransferResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardTransferResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCardTransferResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardTransferResponse) New() protoreflect.Message { + return new(fastReflection_MsgCardTransferResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardTransferResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCardTransferResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardTransferResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardTransferResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardTransferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardTransferResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardTransferResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardTransferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardTransferResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardTransferResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardTransferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardTransferResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardTransferResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardTransferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardTransferResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardTransferResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardTransferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardTransferResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardTransferResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardTransferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardTransferResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardTransferResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardTransferResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardTransferResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardTransferResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardTransferResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardTransferResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardTransferResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardTransferResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardTransferResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardTransferResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardDonate protoreflect.MessageDescriptor + fd_MsgCardDonate_creator protoreflect.FieldDescriptor + fd_MsgCardDonate_cardId protoreflect.FieldDescriptor + fd_MsgCardDonate_amount protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardDonate = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardDonate") + fd_MsgCardDonate_creator = md_MsgCardDonate.Fields().ByName("creator") + fd_MsgCardDonate_cardId = md_MsgCardDonate.Fields().ByName("cardId") + fd_MsgCardDonate_amount = md_MsgCardDonate.Fields().ByName("amount") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardDonate)(nil) + +type fastReflection_MsgCardDonate MsgCardDonate + +func (x *MsgCardDonate) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardDonate)(x) +} + +func (x *MsgCardDonate) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardDonate_messageType fastReflection_MsgCardDonate_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardDonate_messageType{} + +type fastReflection_MsgCardDonate_messageType struct{} + +func (x fastReflection_MsgCardDonate_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardDonate)(nil) +} +func (x fastReflection_MsgCardDonate_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardDonate) +} +func (x fastReflection_MsgCardDonate_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardDonate +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardDonate) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardDonate +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardDonate) Type() protoreflect.MessageType { + return _fastReflection_MsgCardDonate_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardDonate) New() protoreflect.Message { + return new(fastReflection_MsgCardDonate) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardDonate) Interface() protoreflect.ProtoMessage { + return (*MsgCardDonate)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardDonate) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCardDonate_creator, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgCardDonate_cardId, value) { + return + } + } + if x.Amount != nil { + value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + if !f(fd_MsgCardDonate_amount, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardDonate) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardDonate.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCardDonate.cardId": + return x.CardId != uint64(0) + case "cardchain.cardchain.MsgCardDonate.amount": + return x.Amount != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardDonate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardDonate does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardDonate) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardDonate.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCardDonate.cardId": + x.CardId = uint64(0) + case "cardchain.cardchain.MsgCardDonate.amount": + x.Amount = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardDonate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardDonate does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardDonate) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardDonate.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardDonate.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgCardDonate.amount": + value := x.Amount + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardDonate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardDonate does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardDonate) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardDonate.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCardDonate.cardId": + x.CardId = value.Uint() + case "cardchain.cardchain.MsgCardDonate.amount": + x.Amount = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardDonate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardDonate does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardDonate) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardDonate.amount": + if x.Amount == nil { + x.Amount = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + case "cardchain.cardchain.MsgCardDonate.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCardDonate is not mutable")) + case "cardchain.cardchain.MsgCardDonate.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgCardDonate is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardDonate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardDonate does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardDonate) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardDonate.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardDonate.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgCardDonate.amount": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardDonate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardDonate does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardDonate) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardDonate", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardDonate) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardDonate) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardDonate) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardDonate) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardDonate) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.Amount != nil { + l = options.Size(x.Amount) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardDonate) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Amount != nil { + encoded, err := options.Marshal(x.Amount) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardDonate) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardDonate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardDonate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Amount == nil { + x.Amount = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardDonateResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardDonateResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardDonateResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardDonateResponse)(nil) + +type fastReflection_MsgCardDonateResponse MsgCardDonateResponse + +func (x *MsgCardDonateResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardDonateResponse)(x) +} + +func (x *MsgCardDonateResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardDonateResponse_messageType fastReflection_MsgCardDonateResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardDonateResponse_messageType{} + +type fastReflection_MsgCardDonateResponse_messageType struct{} + +func (x fastReflection_MsgCardDonateResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardDonateResponse)(nil) +} +func (x fastReflection_MsgCardDonateResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardDonateResponse) +} +func (x fastReflection_MsgCardDonateResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardDonateResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardDonateResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardDonateResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardDonateResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCardDonateResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardDonateResponse) New() protoreflect.Message { + return new(fastReflection_MsgCardDonateResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardDonateResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCardDonateResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardDonateResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardDonateResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardDonateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardDonateResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardDonateResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardDonateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardDonateResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardDonateResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardDonateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardDonateResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardDonateResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardDonateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardDonateResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardDonateResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardDonateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardDonateResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardDonateResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardDonateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardDonateResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardDonateResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardDonateResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardDonateResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardDonateResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardDonateResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardDonateResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardDonateResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardDonateResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardDonateResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardDonateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardDonateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardArtworkAdd protoreflect.MessageDescriptor + fd_MsgCardArtworkAdd_creator protoreflect.FieldDescriptor + fd_MsgCardArtworkAdd_cardId protoreflect.FieldDescriptor + fd_MsgCardArtworkAdd_image protoreflect.FieldDescriptor + fd_MsgCardArtworkAdd_fullArt protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardArtworkAdd = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardArtworkAdd") + fd_MsgCardArtworkAdd_creator = md_MsgCardArtworkAdd.Fields().ByName("creator") + fd_MsgCardArtworkAdd_cardId = md_MsgCardArtworkAdd.Fields().ByName("cardId") + fd_MsgCardArtworkAdd_image = md_MsgCardArtworkAdd.Fields().ByName("image") + fd_MsgCardArtworkAdd_fullArt = md_MsgCardArtworkAdd.Fields().ByName("fullArt") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardArtworkAdd)(nil) + +type fastReflection_MsgCardArtworkAdd MsgCardArtworkAdd + +func (x *MsgCardArtworkAdd) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardArtworkAdd)(x) +} + +func (x *MsgCardArtworkAdd) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardArtworkAdd_messageType fastReflection_MsgCardArtworkAdd_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardArtworkAdd_messageType{} + +type fastReflection_MsgCardArtworkAdd_messageType struct{} + +func (x fastReflection_MsgCardArtworkAdd_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardArtworkAdd)(nil) +} +func (x fastReflection_MsgCardArtworkAdd_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardArtworkAdd) +} +func (x fastReflection_MsgCardArtworkAdd_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardArtworkAdd +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardArtworkAdd) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardArtworkAdd +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardArtworkAdd) Type() protoreflect.MessageType { + return _fastReflection_MsgCardArtworkAdd_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardArtworkAdd) New() protoreflect.Message { + return new(fastReflection_MsgCardArtworkAdd) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardArtworkAdd) Interface() protoreflect.ProtoMessage { + return (*MsgCardArtworkAdd)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardArtworkAdd) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCardArtworkAdd_creator, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgCardArtworkAdd_cardId, value) { + return + } + } + if x.Image != "" { + value := protoreflect.ValueOfString(x.Image) + if !f(fd_MsgCardArtworkAdd_image, value) { + return + } + } + if x.FullArt != false { + value := protoreflect.ValueOfBool(x.FullArt) + if !f(fd_MsgCardArtworkAdd_fullArt, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardArtworkAdd) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardArtworkAdd.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCardArtworkAdd.cardId": + return x.CardId != uint64(0) + case "cardchain.cardchain.MsgCardArtworkAdd.image": + return x.Image != "" + case "cardchain.cardchain.MsgCardArtworkAdd.fullArt": + return x.FullArt != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtworkAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtworkAdd does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtworkAdd) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardArtworkAdd.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCardArtworkAdd.cardId": + x.CardId = uint64(0) + case "cardchain.cardchain.MsgCardArtworkAdd.image": + x.Image = "" + case "cardchain.cardchain.MsgCardArtworkAdd.fullArt": + x.FullArt = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtworkAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtworkAdd does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardArtworkAdd) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardArtworkAdd.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardArtworkAdd.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgCardArtworkAdd.image": + value := x.Image + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardArtworkAdd.fullArt": + value := x.FullArt + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtworkAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtworkAdd does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtworkAdd) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardArtworkAdd.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCardArtworkAdd.cardId": + x.CardId = value.Uint() + case "cardchain.cardchain.MsgCardArtworkAdd.image": + x.Image = value.Interface().(string) + case "cardchain.cardchain.MsgCardArtworkAdd.fullArt": + x.FullArt = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtworkAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtworkAdd does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtworkAdd) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardArtworkAdd.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCardArtworkAdd is not mutable")) + case "cardchain.cardchain.MsgCardArtworkAdd.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgCardArtworkAdd is not mutable")) + case "cardchain.cardchain.MsgCardArtworkAdd.image": + panic(fmt.Errorf("field image of message cardchain.cardchain.MsgCardArtworkAdd is not mutable")) + case "cardchain.cardchain.MsgCardArtworkAdd.fullArt": + panic(fmt.Errorf("field fullArt of message cardchain.cardchain.MsgCardArtworkAdd is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtworkAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtworkAdd does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardArtworkAdd) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardArtworkAdd.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardArtworkAdd.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgCardArtworkAdd.image": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardArtworkAdd.fullArt": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtworkAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtworkAdd does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardArtworkAdd) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardArtworkAdd", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardArtworkAdd) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtworkAdd) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardArtworkAdd) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardArtworkAdd) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardArtworkAdd) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + l = len(x.Image) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.FullArt { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardArtworkAdd) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.FullArt { + i-- + if x.FullArt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if len(x.Image) > 0 { + i -= len(x.Image) + copy(dAtA[i:], x.Image) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Image))) + i-- + dAtA[i] = 0x1a + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardArtworkAdd) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardArtworkAdd: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Image = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field FullArt", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.FullArt = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardArtworkAddResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardArtworkAddResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardArtworkAddResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardArtworkAddResponse)(nil) + +type fastReflection_MsgCardArtworkAddResponse MsgCardArtworkAddResponse + +func (x *MsgCardArtworkAddResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardArtworkAddResponse)(x) +} + +func (x *MsgCardArtworkAddResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardArtworkAddResponse_messageType fastReflection_MsgCardArtworkAddResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardArtworkAddResponse_messageType{} + +type fastReflection_MsgCardArtworkAddResponse_messageType struct{} + +func (x fastReflection_MsgCardArtworkAddResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardArtworkAddResponse)(nil) +} +func (x fastReflection_MsgCardArtworkAddResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardArtworkAddResponse) +} +func (x fastReflection_MsgCardArtworkAddResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardArtworkAddResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardArtworkAddResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardArtworkAddResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardArtworkAddResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCardArtworkAddResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardArtworkAddResponse) New() protoreflect.Message { + return new(fastReflection_MsgCardArtworkAddResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardArtworkAddResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCardArtworkAddResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardArtworkAddResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardArtworkAddResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtworkAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtworkAddResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtworkAddResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtworkAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtworkAddResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardArtworkAddResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtworkAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtworkAddResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtworkAddResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtworkAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtworkAddResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtworkAddResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtworkAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtworkAddResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardArtworkAddResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtworkAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtworkAddResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardArtworkAddResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardArtworkAddResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardArtworkAddResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtworkAddResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardArtworkAddResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardArtworkAddResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardArtworkAddResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardArtworkAddResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardArtworkAddResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardArtworkAddResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardArtistChange protoreflect.MessageDescriptor + fd_MsgCardArtistChange_creator protoreflect.FieldDescriptor + fd_MsgCardArtistChange_cardId protoreflect.FieldDescriptor + fd_MsgCardArtistChange_artist protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardArtistChange = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardArtistChange") + fd_MsgCardArtistChange_creator = md_MsgCardArtistChange.Fields().ByName("creator") + fd_MsgCardArtistChange_cardId = md_MsgCardArtistChange.Fields().ByName("cardId") + fd_MsgCardArtistChange_artist = md_MsgCardArtistChange.Fields().ByName("artist") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardArtistChange)(nil) + +type fastReflection_MsgCardArtistChange MsgCardArtistChange + +func (x *MsgCardArtistChange) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardArtistChange)(x) +} + +func (x *MsgCardArtistChange) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardArtistChange_messageType fastReflection_MsgCardArtistChange_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardArtistChange_messageType{} + +type fastReflection_MsgCardArtistChange_messageType struct{} + +func (x fastReflection_MsgCardArtistChange_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardArtistChange)(nil) +} +func (x fastReflection_MsgCardArtistChange_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardArtistChange) +} +func (x fastReflection_MsgCardArtistChange_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardArtistChange +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardArtistChange) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardArtistChange +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardArtistChange) Type() protoreflect.MessageType { + return _fastReflection_MsgCardArtistChange_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardArtistChange) New() protoreflect.Message { + return new(fastReflection_MsgCardArtistChange) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardArtistChange) Interface() protoreflect.ProtoMessage { + return (*MsgCardArtistChange)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardArtistChange) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCardArtistChange_creator, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgCardArtistChange_cardId, value) { + return + } + } + if x.Artist != "" { + value := protoreflect.ValueOfString(x.Artist) + if !f(fd_MsgCardArtistChange_artist, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardArtistChange) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardArtistChange.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCardArtistChange.cardId": + return x.CardId != uint64(0) + case "cardchain.cardchain.MsgCardArtistChange.artist": + return x.Artist != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtistChange")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtistChange does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtistChange) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardArtistChange.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCardArtistChange.cardId": + x.CardId = uint64(0) + case "cardchain.cardchain.MsgCardArtistChange.artist": + x.Artist = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtistChange")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtistChange does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardArtistChange) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardArtistChange.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardArtistChange.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgCardArtistChange.artist": + value := x.Artist + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtistChange")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtistChange does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtistChange) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardArtistChange.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCardArtistChange.cardId": + x.CardId = value.Uint() + case "cardchain.cardchain.MsgCardArtistChange.artist": + x.Artist = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtistChange")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtistChange does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtistChange) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardArtistChange.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCardArtistChange is not mutable")) + case "cardchain.cardchain.MsgCardArtistChange.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgCardArtistChange is not mutable")) + case "cardchain.cardchain.MsgCardArtistChange.artist": + panic(fmt.Errorf("field artist of message cardchain.cardchain.MsgCardArtistChange is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtistChange")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtistChange does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardArtistChange) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardArtistChange.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardArtistChange.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgCardArtistChange.artist": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtistChange")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtistChange does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardArtistChange) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardArtistChange", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardArtistChange) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtistChange) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardArtistChange) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardArtistChange) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardArtistChange) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + l = len(x.Artist) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardArtistChange) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Artist) > 0 { + i -= len(x.Artist) + copy(dAtA[i:], x.Artist) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Artist))) + i-- + dAtA[i] = 0x1a + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardArtistChange) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardArtistChange: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardArtistChange: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Artist = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardArtistChangeResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardArtistChangeResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardArtistChangeResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardArtistChangeResponse)(nil) + +type fastReflection_MsgCardArtistChangeResponse MsgCardArtistChangeResponse + +func (x *MsgCardArtistChangeResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardArtistChangeResponse)(x) +} + +func (x *MsgCardArtistChangeResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardArtistChangeResponse_messageType fastReflection_MsgCardArtistChangeResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardArtistChangeResponse_messageType{} + +type fastReflection_MsgCardArtistChangeResponse_messageType struct{} + +func (x fastReflection_MsgCardArtistChangeResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardArtistChangeResponse)(nil) +} +func (x fastReflection_MsgCardArtistChangeResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardArtistChangeResponse) +} +func (x fastReflection_MsgCardArtistChangeResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardArtistChangeResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardArtistChangeResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardArtistChangeResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardArtistChangeResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCardArtistChangeResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardArtistChangeResponse) New() protoreflect.Message { + return new(fastReflection_MsgCardArtistChangeResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardArtistChangeResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCardArtistChangeResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardArtistChangeResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardArtistChangeResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtistChangeResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtistChangeResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtistChangeResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtistChangeResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtistChangeResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardArtistChangeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtistChangeResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtistChangeResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtistChangeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtistChangeResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtistChangeResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtistChangeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtistChangeResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtistChangeResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardArtistChangeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardArtistChangeResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardArtistChangeResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardArtistChangeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardArtistChangeResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardArtistChangeResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardArtistChangeResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardArtistChangeResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardArtistChangeResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardArtistChangeResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardArtistChangeResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardArtistChangeResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardArtistChangeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardArtistChangeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCouncilRegister protoreflect.MessageDescriptor + fd_MsgCouncilRegister_creator protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCouncilRegister = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilRegister") + fd_MsgCouncilRegister_creator = md_MsgCouncilRegister.Fields().ByName("creator") +} + +var _ protoreflect.Message = (*fastReflection_MsgCouncilRegister)(nil) + +type fastReflection_MsgCouncilRegister MsgCouncilRegister + +func (x *MsgCouncilRegister) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCouncilRegister)(x) +} + +func (x *MsgCouncilRegister) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCouncilRegister_messageType fastReflection_MsgCouncilRegister_messageType +var _ protoreflect.MessageType = fastReflection_MsgCouncilRegister_messageType{} + +type fastReflection_MsgCouncilRegister_messageType struct{} + +func (x fastReflection_MsgCouncilRegister_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCouncilRegister)(nil) +} +func (x fastReflection_MsgCouncilRegister_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCouncilRegister) +} +func (x fastReflection_MsgCouncilRegister_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilRegister +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCouncilRegister) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilRegister +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCouncilRegister) Type() protoreflect.MessageType { + return _fastReflection_MsgCouncilRegister_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCouncilRegister) New() protoreflect.Message { + return new(fastReflection_MsgCouncilRegister) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCouncilRegister) Interface() protoreflect.ProtoMessage { + return (*MsgCouncilRegister)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCouncilRegister) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCouncilRegister_creator, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCouncilRegister) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilRegister.creator": + return x.Creator != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRegister")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRegister does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRegister) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilRegister.creator": + x.Creator = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRegister")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRegister does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCouncilRegister) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCouncilRegister.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRegister")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRegister does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRegister) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilRegister.creator": + x.Creator = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRegister")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRegister does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRegister) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilRegister.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCouncilRegister is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRegister")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRegister does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCouncilRegister) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilRegister.creator": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRegister")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRegister does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCouncilRegister) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCouncilRegister", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCouncilRegister) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRegister) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCouncilRegister) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCouncilRegister) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCouncilRegister) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilRegister) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilRegister) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilRegister: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilRegister: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCouncilRegisterResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCouncilRegisterResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilRegisterResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCouncilRegisterResponse)(nil) + +type fastReflection_MsgCouncilRegisterResponse MsgCouncilRegisterResponse + +func (x *MsgCouncilRegisterResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCouncilRegisterResponse)(x) +} + +func (x *MsgCouncilRegisterResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCouncilRegisterResponse_messageType fastReflection_MsgCouncilRegisterResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCouncilRegisterResponse_messageType{} + +type fastReflection_MsgCouncilRegisterResponse_messageType struct{} + +func (x fastReflection_MsgCouncilRegisterResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCouncilRegisterResponse)(nil) +} +func (x fastReflection_MsgCouncilRegisterResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCouncilRegisterResponse) +} +func (x fastReflection_MsgCouncilRegisterResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilRegisterResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCouncilRegisterResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilRegisterResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCouncilRegisterResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCouncilRegisterResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCouncilRegisterResponse) New() protoreflect.Message { + return new(fastReflection_MsgCouncilRegisterResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCouncilRegisterResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCouncilRegisterResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCouncilRegisterResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCouncilRegisterResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRegisterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRegisterResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRegisterResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRegisterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRegisterResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCouncilRegisterResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRegisterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRegisterResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRegisterResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRegisterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRegisterResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRegisterResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRegisterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRegisterResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCouncilRegisterResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRegisterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRegisterResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCouncilRegisterResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCouncilRegisterResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCouncilRegisterResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRegisterResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCouncilRegisterResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCouncilRegisterResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCouncilRegisterResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilRegisterResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilRegisterResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilRegisterResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilRegisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCouncilDeregister protoreflect.MessageDescriptor + fd_MsgCouncilDeregister_creator protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCouncilDeregister = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilDeregister") + fd_MsgCouncilDeregister_creator = md_MsgCouncilDeregister.Fields().ByName("creator") +} + +var _ protoreflect.Message = (*fastReflection_MsgCouncilDeregister)(nil) + +type fastReflection_MsgCouncilDeregister MsgCouncilDeregister + +func (x *MsgCouncilDeregister) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCouncilDeregister)(x) +} + +func (x *MsgCouncilDeregister) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCouncilDeregister_messageType fastReflection_MsgCouncilDeregister_messageType +var _ protoreflect.MessageType = fastReflection_MsgCouncilDeregister_messageType{} + +type fastReflection_MsgCouncilDeregister_messageType struct{} + +func (x fastReflection_MsgCouncilDeregister_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCouncilDeregister)(nil) +} +func (x fastReflection_MsgCouncilDeregister_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCouncilDeregister) +} +func (x fastReflection_MsgCouncilDeregister_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilDeregister +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCouncilDeregister) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilDeregister +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCouncilDeregister) Type() protoreflect.MessageType { + return _fastReflection_MsgCouncilDeregister_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCouncilDeregister) New() protoreflect.Message { + return new(fastReflection_MsgCouncilDeregister) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCouncilDeregister) Interface() protoreflect.ProtoMessage { + return (*MsgCouncilDeregister)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCouncilDeregister) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCouncilDeregister_creator, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCouncilDeregister) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilDeregister.creator": + return x.Creator != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilDeregister")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilDeregister does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilDeregister) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilDeregister.creator": + x.Creator = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilDeregister")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilDeregister does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCouncilDeregister) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCouncilDeregister.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilDeregister")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilDeregister does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilDeregister) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilDeregister.creator": + x.Creator = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilDeregister")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilDeregister does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilDeregister) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilDeregister.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCouncilDeregister is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilDeregister")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilDeregister does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCouncilDeregister) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilDeregister.creator": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilDeregister")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilDeregister does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCouncilDeregister) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCouncilDeregister", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCouncilDeregister) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilDeregister) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCouncilDeregister) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCouncilDeregister) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCouncilDeregister) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilDeregister) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilDeregister) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilDeregister: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilDeregister: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCouncilDeregisterResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCouncilDeregisterResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilDeregisterResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCouncilDeregisterResponse)(nil) + +type fastReflection_MsgCouncilDeregisterResponse MsgCouncilDeregisterResponse + +func (x *MsgCouncilDeregisterResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCouncilDeregisterResponse)(x) +} + +func (x *MsgCouncilDeregisterResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCouncilDeregisterResponse_messageType fastReflection_MsgCouncilDeregisterResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCouncilDeregisterResponse_messageType{} + +type fastReflection_MsgCouncilDeregisterResponse_messageType struct{} + +func (x fastReflection_MsgCouncilDeregisterResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCouncilDeregisterResponse)(nil) +} +func (x fastReflection_MsgCouncilDeregisterResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCouncilDeregisterResponse) +} +func (x fastReflection_MsgCouncilDeregisterResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilDeregisterResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCouncilDeregisterResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilDeregisterResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCouncilDeregisterResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCouncilDeregisterResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCouncilDeregisterResponse) New() protoreflect.Message { + return new(fastReflection_MsgCouncilDeregisterResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCouncilDeregisterResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCouncilDeregisterResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCouncilDeregisterResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCouncilDeregisterResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilDeregisterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilDeregisterResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilDeregisterResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilDeregisterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilDeregisterResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCouncilDeregisterResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilDeregisterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilDeregisterResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilDeregisterResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilDeregisterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilDeregisterResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilDeregisterResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilDeregisterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilDeregisterResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCouncilDeregisterResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilDeregisterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilDeregisterResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCouncilDeregisterResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCouncilDeregisterResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCouncilDeregisterResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilDeregisterResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCouncilDeregisterResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCouncilDeregisterResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCouncilDeregisterResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilDeregisterResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilDeregisterResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilDeregisterResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilDeregisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_MsgMatchReport_3_list)(nil) + +type _MsgMatchReport_3_list struct { + list *[]uint64 +} + +func (x *_MsgMatchReport_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgMatchReport_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_MsgMatchReport_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_MsgMatchReport_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgMatchReport_3_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgMatchReport at list field PlayedCardsA as it is not of Message kind")) +} + +func (x *_MsgMatchReport_3_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_MsgMatchReport_3_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_MsgMatchReport_3_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_MsgMatchReport_4_list)(nil) + +type _MsgMatchReport_4_list struct { + list *[]uint64 +} + +func (x *_MsgMatchReport_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgMatchReport_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_MsgMatchReport_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_MsgMatchReport_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgMatchReport_4_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgMatchReport at list field PlayedCardsB as it is not of Message kind")) +} + +func (x *_MsgMatchReport_4_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_MsgMatchReport_4_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_MsgMatchReport_4_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MsgMatchReport protoreflect.MessageDescriptor + fd_MsgMatchReport_creator protoreflect.FieldDescriptor + fd_MsgMatchReport_matchId protoreflect.FieldDescriptor + fd_MsgMatchReport_playedCardsA protoreflect.FieldDescriptor + fd_MsgMatchReport_playedCardsB protoreflect.FieldDescriptor + fd_MsgMatchReport_outcome protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgMatchReport = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgMatchReport") + fd_MsgMatchReport_creator = md_MsgMatchReport.Fields().ByName("creator") + fd_MsgMatchReport_matchId = md_MsgMatchReport.Fields().ByName("matchId") + fd_MsgMatchReport_playedCardsA = md_MsgMatchReport.Fields().ByName("playedCardsA") + fd_MsgMatchReport_playedCardsB = md_MsgMatchReport.Fields().ByName("playedCardsB") + fd_MsgMatchReport_outcome = md_MsgMatchReport.Fields().ByName("outcome") +} + +var _ protoreflect.Message = (*fastReflection_MsgMatchReport)(nil) + +type fastReflection_MsgMatchReport MsgMatchReport + +func (x *MsgMatchReport) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgMatchReport)(x) +} + +func (x *MsgMatchReport) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgMatchReport_messageType fastReflection_MsgMatchReport_messageType +var _ protoreflect.MessageType = fastReflection_MsgMatchReport_messageType{} + +type fastReflection_MsgMatchReport_messageType struct{} + +func (x fastReflection_MsgMatchReport_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgMatchReport)(nil) +} +func (x fastReflection_MsgMatchReport_messageType) New() protoreflect.Message { + return new(fastReflection_MsgMatchReport) +} +func (x fastReflection_MsgMatchReport_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchReport +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgMatchReport) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchReport +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgMatchReport) Type() protoreflect.MessageType { + return _fastReflection_MsgMatchReport_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgMatchReport) New() protoreflect.Message { + return new(fastReflection_MsgMatchReport) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgMatchReport) Interface() protoreflect.ProtoMessage { + return (*MsgMatchReport)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgMatchReport) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgMatchReport_creator, value) { + return + } + } + if x.MatchId != uint64(0) { + value := protoreflect.ValueOfUint64(x.MatchId) + if !f(fd_MsgMatchReport_matchId, value) { + return + } + } + if len(x.PlayedCardsA) != 0 { + value := protoreflect.ValueOfList(&_MsgMatchReport_3_list{list: &x.PlayedCardsA}) + if !f(fd_MsgMatchReport_playedCardsA, value) { + return + } + } + if len(x.PlayedCardsB) != 0 { + value := protoreflect.ValueOfList(&_MsgMatchReport_4_list{list: &x.PlayedCardsB}) + if !f(fd_MsgMatchReport_playedCardsB, value) { + return + } + } + if x.Outcome != int32(0) { + value := protoreflect.ValueOfInt32(x.Outcome) + if !f(fd_MsgMatchReport_outcome, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgMatchReport) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchReport.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgMatchReport.matchId": + return x.MatchId != uint64(0) + case "cardchain.cardchain.MsgMatchReport.playedCardsA": + return len(x.PlayedCardsA) != 0 + case "cardchain.cardchain.MsgMatchReport.playedCardsB": + return len(x.PlayedCardsB) != 0 + case "cardchain.cardchain.MsgMatchReport.outcome": + return x.Outcome != int32(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReport")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReport does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReport) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchReport.creator": + x.Creator = "" + case "cardchain.cardchain.MsgMatchReport.matchId": + x.MatchId = uint64(0) + case "cardchain.cardchain.MsgMatchReport.playedCardsA": + x.PlayedCardsA = nil + case "cardchain.cardchain.MsgMatchReport.playedCardsB": + x.PlayedCardsB = nil + case "cardchain.cardchain.MsgMatchReport.outcome": + x.Outcome = int32(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReport")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReport does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgMatchReport) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgMatchReport.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgMatchReport.matchId": + value := x.MatchId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgMatchReport.playedCardsA": + if len(x.PlayedCardsA) == 0 { + return protoreflect.ValueOfList(&_MsgMatchReport_3_list{}) + } + listValue := &_MsgMatchReport_3_list{list: &x.PlayedCardsA} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.MsgMatchReport.playedCardsB": + if len(x.PlayedCardsB) == 0 { + return protoreflect.ValueOfList(&_MsgMatchReport_4_list{}) + } + listValue := &_MsgMatchReport_4_list{list: &x.PlayedCardsB} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.MsgMatchReport.outcome": + value := x.Outcome + return protoreflect.ValueOfInt32(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReport")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReport does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReport) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchReport.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgMatchReport.matchId": + x.MatchId = value.Uint() + case "cardchain.cardchain.MsgMatchReport.playedCardsA": + lv := value.List() + clv := lv.(*_MsgMatchReport_3_list) + x.PlayedCardsA = *clv.list + case "cardchain.cardchain.MsgMatchReport.playedCardsB": + lv := value.List() + clv := lv.(*_MsgMatchReport_4_list) + x.PlayedCardsB = *clv.list + case "cardchain.cardchain.MsgMatchReport.outcome": + x.Outcome = int32(value.Int()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReport")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReport does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReport) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchReport.playedCardsA": + if x.PlayedCardsA == nil { + x.PlayedCardsA = []uint64{} + } + value := &_MsgMatchReport_3_list{list: &x.PlayedCardsA} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.MsgMatchReport.playedCardsB": + if x.PlayedCardsB == nil { + x.PlayedCardsB = []uint64{} + } + value := &_MsgMatchReport_4_list{list: &x.PlayedCardsB} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.MsgMatchReport.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgMatchReport is not mutable")) + case "cardchain.cardchain.MsgMatchReport.matchId": + panic(fmt.Errorf("field matchId of message cardchain.cardchain.MsgMatchReport is not mutable")) + case "cardchain.cardchain.MsgMatchReport.outcome": + panic(fmt.Errorf("field outcome of message cardchain.cardchain.MsgMatchReport is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReport")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReport does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgMatchReport) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchReport.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgMatchReport.matchId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgMatchReport.playedCardsA": + list := []uint64{} + return protoreflect.ValueOfList(&_MsgMatchReport_3_list{list: &list}) + case "cardchain.cardchain.MsgMatchReport.playedCardsB": + list := []uint64{} + return protoreflect.ValueOfList(&_MsgMatchReport_4_list{list: &list}) + case "cardchain.cardchain.MsgMatchReport.outcome": + return protoreflect.ValueOfInt32(int32(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReport")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReport does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgMatchReport) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgMatchReport", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgMatchReport) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReport) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgMatchReport) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgMatchReport) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgMatchReport) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.MatchId != 0 { + n += 1 + runtime.Sov(uint64(x.MatchId)) + } + if len(x.PlayedCardsA) > 0 { + l = 0 + for _, e := range x.PlayedCardsA { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if len(x.PlayedCardsB) > 0 { + l = 0 + for _, e := range x.PlayedCardsB { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.Outcome != 0 { + n += 1 + runtime.Sov(uint64(x.Outcome)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchReport) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Outcome != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Outcome)) + i-- + dAtA[i] = 0x28 + } + if len(x.PlayedCardsB) > 0 { + var pksize2 int + for _, num := range x.PlayedCardsB { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.PlayedCardsB { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x22 + } + if len(x.PlayedCardsA) > 0 { + var pksize4 int + for _, num := range x.PlayedCardsA { + pksize4 += runtime.Sov(uint64(num)) + } + i -= pksize4 + j3 := i + for _, num := range x.PlayedCardsA { + for num >= 1<<7 { + dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j3++ + } + dAtA[j3] = uint8(num) + j3++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize4)) + i-- + dAtA[i] = 0x1a + } + if x.MatchId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.MatchId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchReport) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchReport: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchReport: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MatchId", wireType) + } + x.MatchId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.MatchId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.PlayedCardsA = append(x.PlayedCardsA, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.PlayedCardsA) == 0 { + x.PlayedCardsA = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.PlayedCardsA = append(x.PlayedCardsA, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsA", wireType) + } + case 4: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.PlayedCardsB = append(x.PlayedCardsB, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.PlayedCardsB) == 0 { + x.PlayedCardsB = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.PlayedCardsB = append(x.PlayedCardsB, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsB", wireType) + } + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + x.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Outcome |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgMatchReportResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgMatchReportResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgMatchReportResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgMatchReportResponse)(nil) + +type fastReflection_MsgMatchReportResponse MsgMatchReportResponse + +func (x *MsgMatchReportResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgMatchReportResponse)(x) +} + +func (x *MsgMatchReportResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgMatchReportResponse_messageType fastReflection_MsgMatchReportResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgMatchReportResponse_messageType{} + +type fastReflection_MsgMatchReportResponse_messageType struct{} + +func (x fastReflection_MsgMatchReportResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgMatchReportResponse)(nil) +} +func (x fastReflection_MsgMatchReportResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgMatchReportResponse) +} +func (x fastReflection_MsgMatchReportResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchReportResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgMatchReportResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchReportResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgMatchReportResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgMatchReportResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgMatchReportResponse) New() protoreflect.Message { + return new(fastReflection_MsgMatchReportResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgMatchReportResponse) Interface() protoreflect.ProtoMessage { + return (*MsgMatchReportResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgMatchReportResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgMatchReportResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReportResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReportResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReportResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReportResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReportResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgMatchReportResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReportResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReportResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReportResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReportResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReportResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReportResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReportResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReportResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgMatchReportResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReportResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReportResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgMatchReportResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgMatchReportResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgMatchReportResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReportResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgMatchReportResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgMatchReportResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgMatchReportResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchReportResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchReportResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchReportResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchReportResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/tx.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// MsgUpdateParams is the Msg/UpdateParams request type. +type MsgUpdateParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address that controls the module (defaults to x/gov unless + // overwritten). + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // NOTE: All parameters must be supplied. + Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *MsgUpdateParams) Reset() { + *x = MsgUpdateParams{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParams) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{0} +} + +func (x *MsgUpdateParams) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgUpdateParams) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +type MsgUpdateParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUpdateParamsResponse) Reset() { + *x = MsgUpdateParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParamsResponse) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{1} +} + +type MsgUserCreate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + NewUser string `protobuf:"bytes,2,opt,name=newUser,proto3" json:"newUser,omitempty"` + Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` +} + +func (x *MsgUserCreate) Reset() { + *x = MsgUserCreate{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUserCreate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUserCreate) ProtoMessage() {} + +// Deprecated: Use MsgUserCreate.ProtoReflect.Descriptor instead. +func (*MsgUserCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{2} +} + +func (x *MsgUserCreate) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgUserCreate) GetNewUser() string { + if x != nil { + return x.NewUser + } + return "" +} + +func (x *MsgUserCreate) GetAlias() string { + if x != nil { + return x.Alias + } + return "" +} + +type MsgUserCreateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUserCreateResponse) Reset() { + *x = MsgUserCreateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUserCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUserCreateResponse) ProtoMessage() {} + +// Deprecated: Use MsgUserCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgUserCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{3} +} + +type MsgCardSchemeBuy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Bid *v1beta1.Coin `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid,omitempty"` +} + +func (x *MsgCardSchemeBuy) Reset() { + *x = MsgCardSchemeBuy{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSchemeBuy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSchemeBuy) ProtoMessage() {} + +// Deprecated: Use MsgCardSchemeBuy.ProtoReflect.Descriptor instead. +func (*MsgCardSchemeBuy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{4} +} + +func (x *MsgCardSchemeBuy) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardSchemeBuy) GetBid() *v1beta1.Coin { + if x != nil { + return x.Bid + } + return nil +} + +type MsgCardSchemeBuyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (x *MsgCardSchemeBuyResponse) Reset() { + *x = MsgCardSchemeBuyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSchemeBuyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSchemeBuyResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardSchemeBuyResponse.ProtoReflect.Descriptor instead. +func (*MsgCardSchemeBuyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{5} +} + +func (x *MsgCardSchemeBuyResponse) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +type MsgCardSaveContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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 (x *MsgCardSaveContent) Reset() { + *x = MsgCardSaveContent{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSaveContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSaveContent) ProtoMessage() {} + +// Deprecated: Use MsgCardSaveContent.ProtoReflect.Descriptor instead. +func (*MsgCardSaveContent) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{6} +} + +func (x *MsgCardSaveContent) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardSaveContent) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardSaveContent) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +func (x *MsgCardSaveContent) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +func (x *MsgCardSaveContent) GetArtist() string { + if x != nil { + return x.Artist + } + return "" +} + +func (x *MsgCardSaveContent) GetBalanceAnchor() bool { + if x != nil { + return x.BalanceAnchor + } + return false +} + +type MsgCardSaveContentResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (x *MsgCardSaveContentResponse) Reset() { + *x = MsgCardSaveContentResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSaveContentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSaveContentResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardSaveContentResponse.ProtoReflect.Descriptor instead. +func (*MsgCardSaveContentResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{7} +} + +func (x *MsgCardSaveContentResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgCardVote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Vote *SingleVote `protobuf:"bytes,2,opt,name=vote,proto3" json:"vote,omitempty"` +} + +func (x *MsgCardVote) Reset() { + *x = MsgCardVote{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -// Deprecated: Use MsgUserCreateResponse.ProtoReflect.Descriptor instead. -func (*MsgUserCreateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{3} +func (x *MsgCardVote) String() string { + return protoimpl.X.MessageStringOf(x) } -type MsgCardSchemeBuy struct { +func (*MsgCardVote) ProtoMessage() {} + +// Deprecated: Use MsgCardVote.ProtoReflect.Descriptor instead. +func (*MsgCardVote) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{8} +} + +func (x *MsgCardVote) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardVote) GetVote() *SingleVote { + if x != nil { + return x.Vote + } + return nil +} + +type MsgCardVoteResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Bid *v1beta1.Coin `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid,omitempty"` + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgCardSchemeBuy) Reset() { - *x = MsgCardSchemeBuy{} +func (x *MsgCardVoteResponse) Reset() { + *x = MsgCardVoteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[4] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSchemeBuy) String() string { +func (x *MsgCardVoteResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSchemeBuy) ProtoMessage() {} +func (*MsgCardVoteResponse) ProtoMessage() {} -// Deprecated: Use MsgCardSchemeBuy.ProtoReflect.Descriptor instead. -func (*MsgCardSchemeBuy) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{4} +// Deprecated: Use MsgCardVoteResponse.ProtoReflect.Descriptor instead. +func (*MsgCardVoteResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{9} } -func (x *MsgCardSchemeBuy) GetCreator() string { +func (x *MsgCardVoteResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgCardTransfer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` +} + +func (x *MsgCardTransfer) Reset() { + *x = MsgCardTransfer{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardTransfer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardTransfer) ProtoMessage() {} + +// Deprecated: Use MsgCardTransfer.ProtoReflect.Descriptor instead. +func (*MsgCardTransfer) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{10} +} + +func (x *MsgCardTransfer) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardSchemeBuy) GetBid() *v1beta1.Coin { +func (x *MsgCardTransfer) GetCardId() uint64 { if x != nil { - return x.Bid + return x.CardId } - return nil + return 0 } -type MsgCardSchemeBuyResponse struct { +func (x *MsgCardTransfer) GetReceiver() string { + if x != nil { + return x.Receiver + } + return "" +} + +type MsgCardTransferResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields +} - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +func (x *MsgCardTransferResponse) Reset() { + *x = MsgCardTransferResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (x *MsgCardSchemeBuyResponse) Reset() { - *x = MsgCardSchemeBuyResponse{} +func (x *MsgCardTransferResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardTransferResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardTransferResponse.ProtoReflect.Descriptor instead. +func (*MsgCardTransferResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{11} +} + +type MsgCardDonate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgCardDonate) Reset() { + *x = MsgCardDonate{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[5] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSchemeBuyResponse) String() string { +func (x *MsgCardDonate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSchemeBuyResponse) ProtoMessage() {} +func (*MsgCardDonate) ProtoMessage() {} -// Deprecated: Use MsgCardSchemeBuyResponse.ProtoReflect.Descriptor instead. -func (*MsgCardSchemeBuyResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{5} +// Deprecated: Use MsgCardDonate.ProtoReflect.Descriptor instead. +func (*MsgCardDonate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{12} } -func (x *MsgCardSchemeBuyResponse) GetCardId() uint64 { +func (x *MsgCardDonate) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardDonate) GetCardId() uint64 { if x != nil { return x.CardId } return 0 } -type MsgCardSaveContent struct { +func (x *MsgCardDonate) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +type MsgCardDonateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields +} - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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 (x *MsgCardDonateResponse) Reset() { + *x = MsgCardDonateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (x *MsgCardSaveContent) Reset() { - *x = MsgCardSaveContent{} +func (x *MsgCardDonateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardDonateResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardDonateResponse.ProtoReflect.Descriptor instead. +func (*MsgCardDonateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{13} +} + +type MsgCardArtworkAdd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + FullArt bool `protobuf:"varint,4,opt,name=fullArt,proto3" json:"fullArt,omitempty"` +} + +func (x *MsgCardArtworkAdd) Reset() { + *x = MsgCardArtworkAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[6] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSaveContent) String() string { +func (x *MsgCardArtworkAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSaveContent) ProtoMessage() {} +func (*MsgCardArtworkAdd) ProtoMessage() {} -// Deprecated: Use MsgCardSaveContent.ProtoReflect.Descriptor instead. -func (*MsgCardSaveContent) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{6} +// Deprecated: Use MsgCardArtworkAdd.ProtoReflect.Descriptor instead. +func (*MsgCardArtworkAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{14} } -func (x *MsgCardSaveContent) GetCreator() string { +func (x *MsgCardArtworkAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardSaveContent) GetCardId() uint64 { +func (x *MsgCardArtworkAdd) GetCardId() uint64 { if x != nil { return x.CardId } return 0 } -func (x *MsgCardSaveContent) GetContent() string { +func (x *MsgCardArtworkAdd) GetImage() string { if x != nil { - return x.Content + return x.Image } return "" } -func (x *MsgCardSaveContent) GetNotes() string { +func (x *MsgCardArtworkAdd) GetFullArt() bool { if x != nil { - return x.Notes + return x.FullArt + } + return false +} + +type MsgCardArtworkAddResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCardArtworkAddResponse) Reset() { + *x = MsgCardArtworkAddResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardArtworkAddResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardArtworkAddResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardArtworkAddResponse.ProtoReflect.Descriptor instead. +func (*MsgCardArtworkAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{15} +} + +type MsgCardArtistChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,omitempty"` +} + +func (x *MsgCardArtistChange) Reset() { + *x = MsgCardArtistChange{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardArtistChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardArtistChange) ProtoMessage() {} + +// Deprecated: Use MsgCardArtistChange.ProtoReflect.Descriptor instead. +func (*MsgCardArtistChange) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{16} +} + +func (x *MsgCardArtistChange) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardArtistChange) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardArtistChange) GetArtist() string { + if x != nil { + return x.Artist } return "" } -func (x *MsgCardSaveContent) GetArtist() string { +type MsgCardArtistChangeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCardArtistChangeResponse) Reset() { + *x = MsgCardArtistChangeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardArtistChangeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardArtistChangeResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardArtistChangeResponse.ProtoReflect.Descriptor instead. +func (*MsgCardArtistChangeResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{17} +} + +type MsgCouncilRegister struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` +} + +func (x *MsgCouncilRegister) Reset() { + *x = MsgCouncilRegister{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCouncilRegister) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilRegister) ProtoMessage() {} + +// Deprecated: Use MsgCouncilRegister.ProtoReflect.Descriptor instead. +func (*MsgCouncilRegister) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{18} +} + +func (x *MsgCouncilRegister) GetCreator() string { if x != nil { - return x.Artist + return x.Creator } return "" } -func (x *MsgCardSaveContent) GetBalanceAnchor() bool { - if x != nil { - return x.BalanceAnchor +type MsgCouncilRegisterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCouncilRegisterResponse) Reset() { + *x = MsgCouncilRegisterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -type MsgCardSaveContentResponse struct { +func (x *MsgCouncilRegisterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilRegisterResponse) ProtoMessage() {} + +// Deprecated: Use MsgCouncilRegisterResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilRegisterResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{19} +} + +type MsgCouncilDeregister struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` } -func (x *MsgCardSaveContentResponse) Reset() { - *x = MsgCardSaveContentResponse{} +func (x *MsgCouncilDeregister) Reset() { + *x = MsgCouncilDeregister{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[7] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSaveContentResponse) String() string { +func (x *MsgCouncilDeregister) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSaveContentResponse) ProtoMessage() {} +func (*MsgCouncilDeregister) ProtoMessage() {} -// Deprecated: Use MsgCardSaveContentResponse.ProtoReflect.Descriptor instead. -func (*MsgCardSaveContentResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{7} +// Deprecated: Use MsgCouncilDeregister.ProtoReflect.Descriptor instead. +func (*MsgCouncilDeregister) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{20} } -func (x *MsgCardSaveContentResponse) GetAirdropClaimed() bool { +func (x *MsgCouncilDeregister) GetCreator() string { if x != nil { - return x.AirdropClaimed + return x.Creator } - return false + return "" } -type MsgCardVote struct { +type MsgCouncilDeregisterResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields +} - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Vote *SingleVote `protobuf:"bytes,2,opt,name=vote,proto3" json:"vote,omitempty"` +func (x *MsgCouncilDeregisterResponse) Reset() { + *x = MsgCouncilDeregisterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (x *MsgCardVote) Reset() { - *x = MsgCardVote{} +func (x *MsgCouncilDeregisterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilDeregisterResponse) ProtoMessage() {} + +// Deprecated: Use MsgCouncilDeregisterResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilDeregisterResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{21} +} + +type MsgMatchReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 int32 `protobuf:"varint,5,opt,name=outcome,proto3" json:"outcome,omitempty"` +} + +func (x *MsgMatchReport) Reset() { + *x = MsgMatchReport{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[8] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardVote) String() string { +func (x *MsgMatchReport) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardVote) ProtoMessage() {} +func (*MsgMatchReport) ProtoMessage() {} -// Deprecated: Use MsgCardVote.ProtoReflect.Descriptor instead. -func (*MsgCardVote) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{8} +// Deprecated: Use MsgMatchReport.ProtoReflect.Descriptor instead. +func (*MsgMatchReport) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{22} } -func (x *MsgCardVote) GetCreator() string { +func (x *MsgMatchReport) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardVote) GetVote() *SingleVote { +func (x *MsgMatchReport) GetMatchId() uint64 { if x != nil { - return x.Vote + return x.MatchId + } + return 0 +} + +func (x *MsgMatchReport) GetPlayedCardsA() []uint64 { + if x != nil { + return x.PlayedCardsA } return nil } -type MsgCardVoteResponse struct { +func (x *MsgMatchReport) GetPlayedCardsB() []uint64 { + if x != nil { + return x.PlayedCardsB + } + return nil +} + +func (x *MsgMatchReport) GetOutcome() int32 { + if x != nil { + return x.Outcome + } + return 0 +} + +type MsgMatchReportResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgCardVoteResponse) Reset() { - *x = MsgCardVoteResponse{} +func (x *MsgMatchReportResponse) Reset() { + *x = MsgMatchReportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[9] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardVoteResponse) String() string { +func (x *MsgMatchReportResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardVoteResponse) ProtoMessage() {} - -// Deprecated: Use MsgCardVoteResponse.ProtoReflect.Descriptor instead. -func (*MsgCardVoteResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{9} -} +func (*MsgMatchReportResponse) ProtoMessage() {} -func (x *MsgCardVoteResponse) GetAirdropClaimed() bool { - if x != nil { - return x.AirdropClaimed - } - return false +// Deprecated: Use MsgMatchReportResponse.ProtoReflect.Descriptor instead. +func (*MsgMatchReportResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{23} } var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor @@ -5221,52 +12158,160 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, - 0x32, 0xfa, 0x03, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, - 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, + 0x22, 0x6d, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, + 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x0d, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x37, + 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, + 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, + 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, + 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, + 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, + 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x14, 0x4d, + 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, + 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0e, + 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, + 0x73, 0x41, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x41, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x75, + 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x75, 0x74, + 0x63, 0x6f, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd7, 0x09, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, - 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, - 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, + 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, + 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, + 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, + 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, - 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, + 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, + 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, + 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, + 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, + 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, - 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, + 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, + 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5281,41 +12326,70 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ - (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams - (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse - (*MsgUserCreate)(nil), // 2: cardchain.cardchain.MsgUserCreate - (*MsgUserCreateResponse)(nil), // 3: cardchain.cardchain.MsgUserCreateResponse - (*MsgCardSchemeBuy)(nil), // 4: cardchain.cardchain.MsgCardSchemeBuy - (*MsgCardSchemeBuyResponse)(nil), // 5: cardchain.cardchain.MsgCardSchemeBuyResponse - (*MsgCardSaveContent)(nil), // 6: cardchain.cardchain.MsgCardSaveContent - (*MsgCardSaveContentResponse)(nil), // 7: cardchain.cardchain.MsgCardSaveContentResponse - (*MsgCardVote)(nil), // 8: cardchain.cardchain.MsgCardVote - (*MsgCardVoteResponse)(nil), // 9: cardchain.cardchain.MsgCardVoteResponse - (*Params)(nil), // 10: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 11: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 12: cardchain.cardchain.SingleVote + (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams + (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse + (*MsgUserCreate)(nil), // 2: cardchain.cardchain.MsgUserCreate + (*MsgUserCreateResponse)(nil), // 3: cardchain.cardchain.MsgUserCreateResponse + (*MsgCardSchemeBuy)(nil), // 4: cardchain.cardchain.MsgCardSchemeBuy + (*MsgCardSchemeBuyResponse)(nil), // 5: cardchain.cardchain.MsgCardSchemeBuyResponse + (*MsgCardSaveContent)(nil), // 6: cardchain.cardchain.MsgCardSaveContent + (*MsgCardSaveContentResponse)(nil), // 7: cardchain.cardchain.MsgCardSaveContentResponse + (*MsgCardVote)(nil), // 8: cardchain.cardchain.MsgCardVote + (*MsgCardVoteResponse)(nil), // 9: cardchain.cardchain.MsgCardVoteResponse + (*MsgCardTransfer)(nil), // 10: cardchain.cardchain.MsgCardTransfer + (*MsgCardTransferResponse)(nil), // 11: cardchain.cardchain.MsgCardTransferResponse + (*MsgCardDonate)(nil), // 12: cardchain.cardchain.MsgCardDonate + (*MsgCardDonateResponse)(nil), // 13: cardchain.cardchain.MsgCardDonateResponse + (*MsgCardArtworkAdd)(nil), // 14: cardchain.cardchain.MsgCardArtworkAdd + (*MsgCardArtworkAddResponse)(nil), // 15: cardchain.cardchain.MsgCardArtworkAddResponse + (*MsgCardArtistChange)(nil), // 16: cardchain.cardchain.MsgCardArtistChange + (*MsgCardArtistChangeResponse)(nil), // 17: cardchain.cardchain.MsgCardArtistChangeResponse + (*MsgCouncilRegister)(nil), // 18: cardchain.cardchain.MsgCouncilRegister + (*MsgCouncilRegisterResponse)(nil), // 19: cardchain.cardchain.MsgCouncilRegisterResponse + (*MsgCouncilDeregister)(nil), // 20: cardchain.cardchain.MsgCouncilDeregister + (*MsgCouncilDeregisterResponse)(nil), // 21: cardchain.cardchain.MsgCouncilDeregisterResponse + (*MsgMatchReport)(nil), // 22: cardchain.cardchain.MsgMatchReport + (*MsgMatchReportResponse)(nil), // 23: cardchain.cardchain.MsgMatchReportResponse + (*Params)(nil), // 24: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 25: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 26: cardchain.cardchain.SingleVote } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 10, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 11, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 12, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 0, // 3: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams - 2, // 4: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate - 4, // 5: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy - 6, // 6: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent - 8, // 7: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote - 1, // 8: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 9: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 10: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 11: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 12: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 8, // [8:13] is the sub-list for method output_type - 3, // [3:8] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name + 24, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 25, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 26, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 25, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 0, // 4: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams + 2, // 5: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate + 4, // 6: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy + 6, // 7: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent + 8, // 8: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote + 10, // 9: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer + 12, // 10: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate + 14, // 11: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd + 16, // 12: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange + 18, // 13: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister + 20, // 14: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister + 22, // 15: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport + 1, // 16: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 17: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 18: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 19: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 20: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 21: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 22: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 23: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 24: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 25: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 26: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 27: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 16, // [16:28] is the sub-list for method output_type + 4, // [4:16] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } func init() { file_cardchain_cardchain_tx_proto_init() } @@ -5446,6 +12520,174 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } + file_cardchain_cardchain_tx_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardTransfer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardTransferResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardDonate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardDonateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardArtworkAdd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardArtworkAddResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardArtistChange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardArtistChangeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilRegister); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilRegisterResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilDeregister); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilDeregisterResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgMatchReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgMatchReportResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -5453,7 +12695,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 10, + NumMessages: 24, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 67c1691f..08262466 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,6 +8,7 @@ package cardchain import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -19,11 +20,18 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - Msg_UpdateParams_FullMethodName = "/cardchain.cardchain.Msg/UpdateParams" - Msg_UserCreate_FullMethodName = "/cardchain.cardchain.Msg/UserCreate" - Msg_CardSchemeBuy_FullMethodName = "/cardchain.cardchain.Msg/CardSchemeBuy" - Msg_CardSaveContent_FullMethodName = "/cardchain.cardchain.Msg/CardSaveContent" - Msg_CardVote_FullMethodName = "/cardchain.cardchain.Msg/CardVote" + Msg_UpdateParams_FullMethodName = "/cardchain.cardchain.Msg/UpdateParams" + Msg_UserCreate_FullMethodName = "/cardchain.cardchain.Msg/UserCreate" + Msg_CardSchemeBuy_FullMethodName = "/cardchain.cardchain.Msg/CardSchemeBuy" + Msg_CardSaveContent_FullMethodName = "/cardchain.cardchain.Msg/CardSaveContent" + Msg_CardVote_FullMethodName = "/cardchain.cardchain.Msg/CardVote" + Msg_CardTransfer_FullMethodName = "/cardchain.cardchain.Msg/CardTransfer" + Msg_CardDonate_FullMethodName = "/cardchain.cardchain.Msg/CardDonate" + Msg_CardArtworkAdd_FullMethodName = "/cardchain.cardchain.Msg/CardArtworkAdd" + Msg_CardArtistChange_FullMethodName = "/cardchain.cardchain.Msg/CardArtistChange" + Msg_CouncilRegister_FullMethodName = "/cardchain.cardchain.Msg/CouncilRegister" + Msg_CouncilDeregister_FullMethodName = "/cardchain.cardchain.Msg/CouncilDeregister" + Msg_MatchReport_FullMethodName = "/cardchain.cardchain.Msg/MatchReport" ) // MsgClient is the client API for Msg service. @@ -37,6 +45,13 @@ type MsgClient interface { CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) + CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) + CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) + CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) + CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) + CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) + CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) + MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) } type msgClient struct { @@ -92,6 +107,69 @@ func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc. return out, nil } +func (c *msgClient) CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) { + out := new(MsgCardTransferResponse) + err := c.cc.Invoke(ctx, Msg_CardTransfer_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) { + out := new(MsgCardDonateResponse) + err := c.cc.Invoke(ctx, Msg_CardDonate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) { + out := new(MsgCardArtworkAddResponse) + err := c.cc.Invoke(ctx, Msg_CardArtworkAdd_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) { + out := new(MsgCardArtistChangeResponse) + err := c.cc.Invoke(ctx, Msg_CardArtistChange_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) { + out := new(MsgCouncilRegisterResponse) + err := c.cc.Invoke(ctx, Msg_CouncilRegister_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) { + out := new(MsgCouncilDeregisterResponse) + err := c.cc.Invoke(ctx, Msg_CouncilDeregister_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) { + out := new(MsgMatchReportResponse) + err := c.cc.Invoke(ctx, Msg_MatchReport_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -103,6 +181,13 @@ type MsgServer interface { CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) + CardTransfer(context.Context, *MsgCardTransfer) (*MsgCardTransferResponse, error) + CardDonate(context.Context, *MsgCardDonate) (*MsgCardDonateResponse, error) + CardArtworkAdd(context.Context, *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) + CardArtistChange(context.Context, *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) + CouncilRegister(context.Context, *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) + CouncilDeregister(context.Context, *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) + MatchReport(context.Context, *MsgMatchReport) (*MsgMatchReportResponse, error) mustEmbedUnimplementedMsgServer() } @@ -125,6 +210,27 @@ func (UnimplementedMsgServer) CardSaveContent(context.Context, *MsgCardSaveConte func (UnimplementedMsgServer) CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") } +func (UnimplementedMsgServer) CardTransfer(context.Context, *MsgCardTransfer) (*MsgCardTransferResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardTransfer not implemented") +} +func (UnimplementedMsgServer) CardDonate(context.Context, *MsgCardDonate) (*MsgCardDonateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardDonate not implemented") +} +func (UnimplementedMsgServer) CardArtworkAdd(context.Context, *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardArtworkAdd not implemented") +} +func (UnimplementedMsgServer) CardArtistChange(context.Context, *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardArtistChange not implemented") +} +func (UnimplementedMsgServer) CouncilRegister(context.Context, *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilRegister not implemented") +} +func (UnimplementedMsgServer) CouncilDeregister(context.Context, *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilDeregister not implemented") +} +func (UnimplementedMsgServer) MatchReport(context.Context, *MsgMatchReport) (*MsgMatchReportResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchReport not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -228,6 +334,132 @@ func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +func _Msg_CardTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardTransfer) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardTransfer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CardTransfer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardTransfer(ctx, req.(*MsgCardTransfer)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardDonate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardDonate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardDonate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CardDonate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardDonate(ctx, req.(*MsgCardDonate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardArtworkAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardArtworkAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CardArtworkAdd_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardArtworkAdd(ctx, req.(*MsgCardArtworkAdd)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardArtistChange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardArtistChange) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardArtistChange(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CardArtistChange_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardArtistChange(ctx, req.(*MsgCardArtistChange)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CouncilRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilRegister) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilRegister(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CouncilRegister_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilRegister(ctx, req.(*MsgCouncilRegister)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CouncilDeregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilDeregister) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilDeregister(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CouncilDeregister_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilDeregister(ctx, req.(*MsgCouncilDeregister)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_MatchReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchReport) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).MatchReport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_MatchReport_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchReport(ctx, req.(*MsgMatchReport)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -255,6 +487,34 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "CardVote", Handler: _Msg_CardVote_Handler, }, + { + MethodName: "CardTransfer", + Handler: _Msg_CardTransfer_Handler, + }, + { + MethodName: "CardDonate", + Handler: _Msg_CardDonate_Handler, + }, + { + MethodName: "CardArtworkAdd", + Handler: _Msg_CardArtworkAdd_Handler, + }, + { + MethodName: "CardArtistChange", + Handler: _Msg_CardArtistChange_Handler, + }, + { + MethodName: "CouncilRegister", + Handler: _Msg_CouncilRegister_Handler, + }, + { + MethodName: "CouncilDeregister", + Handler: _Msg_CouncilDeregister_Handler, + }, + { + MethodName: "MatchReport", + Handler: _Msg_MatchReport_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go index 2a02aa7e..bf614c4f 100644 --- a/api/cardchain/cardchain/voting.pulsar.go +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_VotingResults_6_list)(nil) diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 5fc0c7c5..454bf8c5 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"type":"integer","format":"int32"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh index a6ddaa01..21ff1dda 100755 --- a/gen.sh +++ b/gen.sh @@ -3,12 +3,12 @@ #ignite scaffold message UserCreate newUser:string alias:string #ignite scaffold message CardSchemeBuy bid:coin --response cardId:uint #ignite scaffold message CardSaveContent cardId:uint content:string notes:string artist:string balanceAnchor:bool --response airdropClaimed:bool -ignite scaffold message CardVote vote:SingleVote --response airdropClaimed:bool -ignite scaffold message CardTransfer cardId:uint receiver:string -ignite scaffold message CardDonate cardId:uint amount:coin -ignite scaffold message CardArtworkAdd cardId:uint image:string fullArt:bool -ignite scaffold message CardArtistChange cardId:uint artist:string -ignite scaffold message CouncilRegister -ignite scaffold message CouncilDeregister +#ignite scaffold message CardVote vote:SingleVote --response airdropClaimed:bool +#ignite scaffold message CardTransfer cardId:uint receiver:string +#ignite scaffold message CardDonate cardId:uint amount:coin +#ignite scaffold message CardArtworkAdd cardId:uint image:string fullArt:bool +#ignite scaffold message CardArtistChange cardId:uint artist:string +#ignite scaffold message CouncilRegister +#ignite scaffold message CouncilDeregister ignite scaffold message MatchReport matchId:uint playedCardsA:uints \ - playedCardsB:uints outcome:Outcome + playedCardsB:uints outcome:int diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 878db654..c2b7bbe5 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -15,29 +15,35 @@ option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // Msg defines the Msg service. service Msg { option (cosmos.msg.v1.service) = true; - + // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. - rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); - rpc UserCreate(MsgUserCreate) returns (MsgUserCreateResponse); - rpc CardSchemeBuy(MsgCardSchemeBuy) returns (MsgCardSchemeBuyResponse); - rpc CardSaveContent(MsgCardSaveContent) returns (MsgCardSaveContentResponse); - rpc CardVote(MsgCardVote) returns (MsgCardVoteResponse); + rpc UpdateParams (MsgUpdateParams ) returns (MsgUpdateParamsResponse ); + rpc UserCreate (MsgUserCreate ) returns (MsgUserCreateResponse ); + rpc CardSchemeBuy (MsgCardSchemeBuy ) returns (MsgCardSchemeBuyResponse ); + rpc CardSaveContent (MsgCardSaveContent ) returns (MsgCardSaveContentResponse ); + rpc CardVote (MsgCardVote ) returns (MsgCardVoteResponse ); + rpc CardTransfer (MsgCardTransfer ) returns (MsgCardTransferResponse ); + rpc CardDonate (MsgCardDonate ) returns (MsgCardDonateResponse ); + rpc CardArtworkAdd (MsgCardArtworkAdd ) returns (MsgCardArtworkAddResponse ); + rpc CardArtistChange (MsgCardArtistChange ) returns (MsgCardArtistChangeResponse ); + rpc CouncilRegister (MsgCouncilRegister ) returns (MsgCouncilRegisterResponse ); + rpc CouncilDeregister (MsgCouncilDeregister) returns (MsgCouncilDeregisterResponse); + rpc MatchReport (MsgMatchReport ) returns (MsgMatchReportResponse ); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { - option (cosmos.msg.v1.signer) = "authority"; - option (amino.name) = "cardchain/x/cardchain/MsgUpdateParams"; - + option (cosmos.msg.v1.signer) = "authority"; + option (amino.name) = "cardchain/x/cardchain/MsgUpdateParams"; + // authority is the address that controls the module (defaults to x/gov unless // overwritten). - string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // params defines the module parameters to update. - + // NOTE: All parameters must be supplied. - Params params = 2 - [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; + Params params = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } // MsgUpdateParamsResponse defines the response structure for executing a @@ -48,35 +54,104 @@ message MsgUserCreate { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; string newUser = 2; - string alias = 3; + string alias = 3; } message MsgUserCreateResponse {} message MsgCardSchemeBuy { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - cosmos.base.v1beta1.Coin bid = 2 [ (gogoproto.nullable) = false ]; + string creator = 1; + cosmos.base.v1beta1.Coin bid = 2 [(gogoproto.nullable) = false]; } -message MsgCardSchemeBuyResponse { uint64 cardId = 1; } +message MsgCardSchemeBuyResponse { + uint64 cardId = 1; +} message MsgCardSaveContent { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; - string content = 3; - string notes = 4; - string artist = 5; - bool balanceAnchor = 6; + string creator = 1; + uint64 cardId = 2; + string content = 3; + string notes = 4; + string artist = 5; + bool balanceAnchor = 6; } -message MsgCardSaveContentResponse { bool airdropClaimed = 1; } +message MsgCardSaveContentResponse { + bool airdropClaimed = 1; +} message MsgCardVote { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + SingleVote vote = 2; +} + +message MsgCardVoteResponse { + bool airdropClaimed = 1; +} + +message MsgCardTransfer { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 cardId = 2; + string receiver = 3; +} + +message MsgCardTransferResponse {} + +message MsgCardDonate { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 cardId = 2; + cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; +} + +message MsgCardDonateResponse {} + +message MsgCardArtworkAdd { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - SingleVote vote = 2; + uint64 cardId = 2; + string image = 3; + bool fullArt = 4; } -message MsgCardVoteResponse { bool airdropClaimed = 1; } +message MsgCardArtworkAddResponse {} + +message MsgCardArtistChange { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 cardId = 2; + string artist = 3; +} + +message MsgCardArtistChangeResponse {} + +message MsgCouncilRegister { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; +} + +message MsgCouncilRegisterResponse {} + +message MsgCouncilDeregister { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; +} + +message MsgCouncilDeregisterResponse {} + +message MsgMatchReport { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 matchId = 2; + repeated uint64 playedCardsA = 3; + repeated uint64 playedCardsB = 4; + int32 outcome = 5; +} + +message MsgMatchReportResponse {} + diff --git a/x/cardchain/keeper/msg_server_card_artist_change.go b/x/cardchain/keeper/msg_server_card_artist_change.go new file mode 100644 index 00000000..cf1d54d0 --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_artist_change.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CardArtistChange(goCtx context.Context, msg *types.MsgCardArtistChange) (*types.MsgCardArtistChangeResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCardArtistChangeResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_card_artwork_add.go b/x/cardchain/keeper/msg_server_card_artwork_add.go new file mode 100644 index 00000000..49697667 --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_artwork_add.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CardArtworkAdd(goCtx context.Context, msg *types.MsgCardArtworkAdd) (*types.MsgCardArtworkAddResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCardArtworkAddResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_card_donate.go b/x/cardchain/keeper/msg_server_card_donate.go new file mode 100644 index 00000000..1395a6f0 --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_donate.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CardDonate(goCtx context.Context, msg *types.MsgCardDonate) (*types.MsgCardDonateResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCardDonateResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_card_transfer.go b/x/cardchain/keeper/msg_server_card_transfer.go new file mode 100644 index 00000000..62232513 --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_transfer.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CardTransfer(goCtx context.Context, msg *types.MsgCardTransfer) (*types.MsgCardTransferResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCardTransferResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_card_vote.go b/x/cardchain/keeper/msg_server_card_vote.go index 4c4e627a..16aabdfa 100644 --- a/x/cardchain/keeper/msg_server_card_vote.go +++ b/x/cardchain/keeper/msg_server_card_vote.go @@ -3,16 +3,15 @@ package keeper import ( "context" - "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) - -func (k msgServer) CardVote(goCtx context.Context, msg *types.MsgCardVote) (*types.MsgCardVoteResponse, error) { +func (k msgServer) CardVote(goCtx context.Context, msg *types.MsgCardVote) (*types.MsgCardVoteResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + // TODO: Handling the message + _ = ctx return &types.MsgCardVoteResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_council_deregister.go b/x/cardchain/keeper/msg_server_council_deregister.go new file mode 100644 index 00000000..f20738e4 --- /dev/null +++ b/x/cardchain/keeper/msg_server_council_deregister.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CouncilDeregister(goCtx context.Context, msg *types.MsgCouncilDeregister) (*types.MsgCouncilDeregisterResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCouncilDeregisterResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_council_register.go b/x/cardchain/keeper/msg_server_council_register.go new file mode 100644 index 00000000..d989b313 --- /dev/null +++ b/x/cardchain/keeper/msg_server_council_register.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CouncilRegister(goCtx context.Context, msg *types.MsgCouncilRegister) (*types.MsgCouncilRegisterResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCouncilRegisterResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_match_report.go b/x/cardchain/keeper/msg_server_match_report.go new file mode 100644 index 00000000..6ac1c7d9 --- /dev/null +++ b/x/cardchain/keeper/msg_server_match_report.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) MatchReport(goCtx context.Context, msg *types.MsgMatchReport) (*types.MsgMatchReportResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgMatchReportResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 7c3b32a5..708968cf 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -47,12 +47,54 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}, {ProtoField: "content"}, {ProtoField: "notes"}, {ProtoField: "artist"}, {ProtoField: "balanceAnchor"}}, }, { - RpcMethod: "CardVote", - Use: "card-vote [vote]", - Short: "Send a CardVote tx", - PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "vote"},}, - }, - // this line is used by ignite scaffolding # autocli/tx + RpcMethod: "CardVote", + Use: "card-vote [vote]", + Short: "Send a CardVote tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "vote"}}, + }, + { + RpcMethod: "CardTransfer", + Use: "card-transfer [card-id] [receiver]", + Short: "Send a CardTransfer tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}, {ProtoField: "receiver"}}, + }, + { + RpcMethod: "CardDonate", + Use: "card-donate [card-id] [amount]", + Short: "Send a CardDonate tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}, {ProtoField: "amount"}}, + }, + { + RpcMethod: "CardArtworkAdd", + Use: "card-artwork-add [card-id] [image] [full-art]", + Short: "Send a CardArtworkAdd tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}, {ProtoField: "image"}, {ProtoField: "fullArt"}}, + }, + { + RpcMethod: "CardArtistChange", + Use: "card-artist-change [card-id] [artist]", + Short: "Send a CardArtistChange tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}, {ProtoField: "artist"}}, + }, + { + RpcMethod: "CouncilRegister", + Use: "council-register", + Short: "Send a CouncilRegister tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{}, + }, + { + RpcMethod: "CouncilDeregister", + Use: "council-deregister", + Short: "Send a CouncilDeregister tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{}, + }, + { + RpcMethod: "MatchReport", + Use: "match-report [match-id] [played-cards-a] [played-cards-b] [outcome]", + Short: "Send a MatchReport tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "matchId"}, {ProtoField: "playedCardsA"}, {ProtoField: "playedCardsB"}, {ProtoField: "outcome"}}, + }, + // this line is used by ignite scaffolding # autocli/tx }, }, } diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index fbfd0b79..b5587031 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -39,6 +39,34 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgCardVote int = 100 + opWeightMsgCardTransfer = "op_weight_msg_card_transfer" + // TODO: Determine the simulation weight value + defaultWeightMsgCardTransfer int = 100 + + opWeightMsgCardDonate = "op_weight_msg_card_donate" + // TODO: Determine the simulation weight value + defaultWeightMsgCardDonate int = 100 + + opWeightMsgCardArtworkAdd = "op_weight_msg_card_artwork_add" + // TODO: Determine the simulation weight value + defaultWeightMsgCardArtworkAdd int = 100 + + opWeightMsgCardArtistChange = "op_weight_msg_card_artist_change" + // TODO: Determine the simulation weight value + defaultWeightMsgCardArtistChange int = 100 + + opWeightMsgCouncilRegister = "op_weight_msg_council_register" + // TODO: Determine the simulation weight value + defaultWeightMsgCouncilRegister int = 100 + + opWeightMsgCouncilDeregister = "op_weight_msg_council_deregister" + // TODO: Determine the simulation weight value + defaultWeightMsgCouncilDeregister int = 100 + + opWeightMsgMatchReport = "op_weight_msg_match_report" + // TODO: Determine the simulation weight value + defaultWeightMsgMatchReport int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -106,6 +134,83 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgCardVote(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgCardTransfer int + simState.AppParams.GetOrGenerate(opWeightMsgCardTransfer, &weightMsgCardTransfer, nil, + func(_ *rand.Rand) { + weightMsgCardTransfer = defaultWeightMsgCardTransfer + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardTransfer, + cardchainsimulation.SimulateMsgCardTransfer(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCardDonate int + simState.AppParams.GetOrGenerate(opWeightMsgCardDonate, &weightMsgCardDonate, nil, + func(_ *rand.Rand) { + weightMsgCardDonate = defaultWeightMsgCardDonate + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardDonate, + cardchainsimulation.SimulateMsgCardDonate(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCardArtworkAdd int + simState.AppParams.GetOrGenerate(opWeightMsgCardArtworkAdd, &weightMsgCardArtworkAdd, nil, + func(_ *rand.Rand) { + weightMsgCardArtworkAdd = defaultWeightMsgCardArtworkAdd + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardArtworkAdd, + cardchainsimulation.SimulateMsgCardArtworkAdd(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCardArtistChange int + simState.AppParams.GetOrGenerate(opWeightMsgCardArtistChange, &weightMsgCardArtistChange, nil, + func(_ *rand.Rand) { + weightMsgCardArtistChange = defaultWeightMsgCardArtistChange + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardArtistChange, + cardchainsimulation.SimulateMsgCardArtistChange(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCouncilRegister int + simState.AppParams.GetOrGenerate(opWeightMsgCouncilRegister, &weightMsgCouncilRegister, nil, + func(_ *rand.Rand) { + weightMsgCouncilRegister = defaultWeightMsgCouncilRegister + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCouncilRegister, + cardchainsimulation.SimulateMsgCouncilRegister(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCouncilDeregister int + simState.AppParams.GetOrGenerate(opWeightMsgCouncilDeregister, &weightMsgCouncilDeregister, nil, + func(_ *rand.Rand) { + weightMsgCouncilDeregister = defaultWeightMsgCouncilDeregister + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCouncilDeregister, + cardchainsimulation.SimulateMsgCouncilDeregister(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgMatchReport int + simState.AppParams.GetOrGenerate(opWeightMsgMatchReport, &weightMsgMatchReport, nil, + func(_ *rand.Rand) { + weightMsgMatchReport = defaultWeightMsgMatchReport + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgMatchReport, + cardchainsimulation.SimulateMsgMatchReport(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -139,13 +244,69 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei }, ), simulation.NewWeightedProposalMsg( - opWeightMsgCardVote, - defaultWeightMsgCardVote, - func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { - cardchainsimulation.SimulateMsgCardVote(am.accountKeeper, am.bankKeeper, am.keeper) - return nil - }, -), -// this line is used by starport scaffolding # simapp/module/OpMsg + opWeightMsgCardVote, + defaultWeightMsgCardVote, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCardVote(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgCardTransfer, + defaultWeightMsgCardTransfer, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCardTransfer(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgCardDonate, + defaultWeightMsgCardDonate, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCardDonate(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgCardArtworkAdd, + defaultWeightMsgCardArtworkAdd, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCardArtworkAdd(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgCardArtistChange, + defaultWeightMsgCardArtistChange, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCardArtistChange(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgCouncilRegister, + defaultWeightMsgCouncilRegister, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCouncilRegister(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgCouncilDeregister, + defaultWeightMsgCouncilDeregister, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCouncilDeregister(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgMatchReport, + defaultWeightMsgMatchReport, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgMatchReport(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/card_artist_change.go b/x/cardchain/simulation/card_artist_change.go new file mode 100644 index 00000000..eacf77ad --- /dev/null +++ b/x/cardchain/simulation/card_artist_change.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 SimulateMsgCardArtistChange( + 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.MsgCardArtistChange{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CardArtistChange simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CardArtistChange simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/card_artwork_add.go b/x/cardchain/simulation/card_artwork_add.go new file mode 100644 index 00000000..e9a6ca97 --- /dev/null +++ b/x/cardchain/simulation/card_artwork_add.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 SimulateMsgCardArtworkAdd( + 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.MsgCardArtworkAdd{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CardArtworkAdd simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CardArtworkAdd simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/card_donate.go b/x/cardchain/simulation/card_donate.go new file mode 100644 index 00000000..550166cc --- /dev/null +++ b/x/cardchain/simulation/card_donate.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 SimulateMsgCardDonate( + 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.MsgCardDonate{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CardDonate simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CardDonate simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/card_transfer.go b/x/cardchain/simulation/card_transfer.go new file mode 100644 index 00000000..401b1ded --- /dev/null +++ b/x/cardchain/simulation/card_transfer.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 SimulateMsgCardTransfer( + 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.MsgCardTransfer{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CardTransfer simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CardTransfer simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/council_deregister.go b/x/cardchain/simulation/council_deregister.go new file mode 100644 index 00000000..c342fa8d --- /dev/null +++ b/x/cardchain/simulation/council_deregister.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 SimulateMsgCouncilDeregister( + 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.MsgCouncilDeregister{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CouncilDeregister simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CouncilDeregister simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/council_register.go b/x/cardchain/simulation/council_register.go new file mode 100644 index 00000000..30d119c3 --- /dev/null +++ b/x/cardchain/simulation/council_register.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 SimulateMsgCouncilRegister( + 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.MsgCouncilRegister{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CouncilRegister simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CouncilRegister simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/match_report.go b/x/cardchain/simulation/match_report.go new file mode 100644 index 00000000..3b8b7177 --- /dev/null +++ b/x/cardchain/simulation/match_report.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 SimulateMsgMatchReport( + 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.MsgMatchReport{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the MatchReport simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "MatchReport simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 36280941..ab88a692 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -18,9 +18,30 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { &MsgCardSaveContent{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgCardVote{}, -) -// this line is used by starport scaffolding # 3 + &MsgCardVote{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardTransfer{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardDonate{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardArtworkAdd{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardArtistChange{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCouncilRegister{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCouncilDeregister{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgMatchReport{}, + ) + // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), &MsgUpdateParams{}, diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 0ea89648..958b40b6 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go new file mode 100644 index 00000000..660c57d2 --- /dev/null +++ b/x/cardchain/types/match.pb.go @@ -0,0 +1,1162 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/match.proto + +package types + +import ( + fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" +) + +// 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 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"` + PlayerA *MatchPlayer `protobuf:"bytes,3,opt,name=playerA,proto3" json:"playerA,omitempty"` + PlayerB *MatchPlayer `protobuf:"bytes,4,opt,name=playerB,proto3" json:"playerB,omitempty"` + Outcome Outcome `protobuf:"varint,7,opt,name=outcome,proto3,enum=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{} } +func (m *Match) String() string { return proto.CompactTextString(m) } +func (*Match) ProtoMessage() {} +func (*Match) Descriptor() ([]byte, []int) { + return fileDescriptor_f49b609716516c9f, []int{0} +} +func (m *Match) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Match) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Match.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 *Match) XXX_Merge(src proto.Message) { + xxx_messageInfo_Match.Merge(m, src) +} +func (m *Match) XXX_Size() int { + return m.Size() +} +func (m *Match) XXX_DiscardUnknown() { + xxx_messageInfo_Match.DiscardUnknown(m) +} + +var xxx_messageInfo_Match proto.InternalMessageInfo + +func (m *Match) GetTimestamp() uint64 { + if m != nil { + return m.Timestamp + } + return 0 +} + +func (m *Match) GetReporter() string { + if m != nil { + return m.Reporter + } + return "" +} + +func (m *Match) GetPlayerA() *MatchPlayer { + if m != nil { + return m.PlayerA + } + return nil +} + +func (m *Match) GetPlayerB() *MatchPlayer { + if m != nil { + return m.PlayerB + } + return nil +} + +func (m *Match) GetOutcome() Outcome { + if m != nil { + return m.Outcome + } + return Outcome_AWon +} + +func (m *Match) GetCoinsDistributed() bool { + if m != nil { + return m.CoinsDistributed + } + 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=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{} } +func (m *MatchPlayer) String() string { return proto.CompactTextString(m) } +func (*MatchPlayer) ProtoMessage() {} +func (*MatchPlayer) Descriptor() ([]byte, []int) { + return fileDescriptor_f49b609716516c9f, []int{1} +} +func (m *MatchPlayer) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MatchPlayer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MatchPlayer.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 *MatchPlayer) XXX_Merge(src proto.Message) { + xxx_messageInfo_MatchPlayer.Merge(m, src) +} +func (m *MatchPlayer) XXX_Size() int { + return m.Size() +} +func (m *MatchPlayer) XXX_DiscardUnknown() { + xxx_messageInfo_MatchPlayer.DiscardUnknown(m) +} + +var xxx_messageInfo_MatchPlayer proto.InternalMessageInfo + +func (m *MatchPlayer) GetAddr() string { + if m != nil { + return m.Addr + } + return "" +} + +func (m *MatchPlayer) GetPlayedCards() []uint64 { + if m != nil { + return m.PlayedCards + } + return nil +} + +func (m *MatchPlayer) GetConfirmed() bool { + if m != nil { + return m.Confirmed + } + return false +} + +func (m *MatchPlayer) GetOutcome() Outcome { + if m != nil { + return m.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("cardchain.cardchain.Outcome", Outcome_name, Outcome_value) + proto.RegisterType((*Match)(nil), "cardchain.cardchain.Match") + proto.RegisterType((*MatchPlayer)(nil), "cardchain.cardchain.MatchPlayer") +} + +func init() { proto.RegisterFile("cardchain/cardchain/match.proto", fileDescriptor_f49b609716516c9f) } + +var fileDescriptor_f49b609716516c9f = []byte{ + // 429 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0x41, 0x8b, 0x13, 0x31, + 0x1c, 0xc5, 0x9b, 0xce, 0xec, 0x4e, 0xfb, 0x1f, 0xd0, 0x12, 0x2f, 0x61, 0x59, 0x66, 0xc3, 0x9e, + 0xc2, 0x1e, 0x66, 0xa1, 0x8a, 0x88, 0x17, 0x69, 0xb7, 0xe0, 0x49, 0x94, 0x08, 0x0a, 0xde, 0xd2, + 0x24, 0xb6, 0xc1, 0xce, 0x64, 0xc8, 0xa4, 0xd5, 0xfd, 0x16, 0x7e, 0x2b, 0x3d, 0xee, 0xd1, 0xa3, + 0xb4, 0x77, 0x3f, 0x83, 0x4c, 0xd6, 0xb6, 0x83, 0xdb, 0x4b, 0x6f, 0xbf, 0x79, 0xfc, 0x5f, 0xde, + 0xcb, 0xe4, 0x0f, 0x17, 0x52, 0x38, 0x25, 0xe7, 0xc2, 0x94, 0xd7, 0x7b, 0x2a, 0x84, 0x97, 0xf3, + 0xbc, 0x72, 0xd6, 0x5b, 0xfc, 0x64, 0x27, 0xe7, 0x3b, 0x3a, 0xa3, 0x87, 0x5c, 0x2b, 0xeb, 0x4d, + 0x39, 0xbb, 0xb7, 0x5d, 0xfe, 0xe8, 0xc2, 0xc9, 0x9b, 0xe6, 0x18, 0x7c, 0x0e, 0x7d, 0x6f, 0x0a, + 0x5d, 0x7b, 0x51, 0x54, 0x04, 0x51, 0xc4, 0x62, 0xbe, 0x17, 0xf0, 0x19, 0xf4, 0x9c, 0xae, 0xac, + 0xf3, 0xda, 0x91, 0x2e, 0x45, 0xac, 0xcf, 0x77, 0xdf, 0xf8, 0x25, 0x24, 0xd5, 0x42, 0xdc, 0x6a, + 0x37, 0x22, 0x11, 0x45, 0x2c, 0x1d, 0xd2, 0xfc, 0x40, 0x99, 0x3c, 0xc4, 0xbc, 0x0b, 0x83, 0x7c, + 0x6b, 0xd8, 0x7b, 0xc7, 0x24, 0x3e, 0xce, 0x3b, 0xc6, 0xcf, 0x21, 0xb1, 0x4b, 0x2f, 0x6d, 0xa1, + 0x49, 0x42, 0x11, 0x7b, 0x34, 0x3c, 0x3f, 0xe8, 0x7d, 0x7b, 0x3f, 0xc3, 0xb7, 0xc3, 0xf8, 0x0a, + 0x06, 0xd2, 0x9a, 0xb2, 0x9e, 0x98, 0xda, 0x3b, 0x33, 0x5d, 0x7a, 0xad, 0x08, 0x50, 0xc4, 0x7a, + 0xfc, 0x81, 0x8e, 0x19, 0x3c, 0xae, 0xb5, 0x5b, 0x69, 0x77, 0x63, 0xcb, 0xcf, 0xc6, 0x15, 0x5a, + 0x91, 0x5e, 0x18, 0xfd, 0x5f, 0xbe, 0xfc, 0x83, 0x20, 0x6d, 0xd5, 0xc4, 0x18, 0x62, 0xa1, 0x94, + 0x0b, 0xbf, 0xb2, 0xcf, 0x03, 0x63, 0x0a, 0x69, 0x28, 0xaf, 0x6e, 0x84, 0x53, 0x35, 0xe9, 0xd2, + 0x88, 0xc5, 0xbc, 0x2d, 0x35, 0xaf, 0x20, 0x77, 0x49, 0x51, 0x48, 0xda, 0x0b, 0xed, 0x1b, 0xc7, + 0xc7, 0xdc, 0x18, 0x43, 0xac, 0xb4, 0xfc, 0x42, 0x4e, 0x42, 0x60, 0x60, 0xfc, 0x0a, 0x60, 0x65, + 0xfd, 0xb6, 0xca, 0x29, 0x8d, 0x58, 0x3a, 0xbc, 0x38, 0x78, 0xdc, 0x7b, 0x53, 0xce, 0x16, 0xfa, + 0x83, 0xf5, 0x9a, 0xb7, 0x2c, 0x57, 0xcf, 0x20, 0xf9, 0x17, 0x84, 0x7b, 0x10, 0x8f, 0x3e, 0xda, + 0x72, 0xd0, 0x69, 0x68, 0xdc, 0x10, 0x6a, 0x68, 0xe2, 0xc4, 0xd7, 0x41, 0x17, 0xa7, 0x90, 0x8c, + 0xa6, 0xcd, 0xaa, 0xa8, 0x41, 0x34, 0xe6, 0x3f, 0xd7, 0x19, 0xba, 0x5b, 0x67, 0xe8, 0xf7, 0x3a, + 0x43, 0xdf, 0x37, 0x59, 0xe7, 0x6e, 0x93, 0x75, 0x7e, 0x6d, 0xb2, 0xce, 0xa7, 0x17, 0x33, 0xe3, + 0xe7, 0xcb, 0x69, 0x2e, 0x6d, 0x71, 0x3d, 0xd1, 0x52, 0x97, 0xde, 0x89, 0x45, 0x13, 0xf5, 0x5a, + 0x14, 0xba, 0xb5, 0xbf, 0xdf, 0x5a, 0xec, 0x6f, 0x2b, 0x5d, 0x4f, 0x4f, 0xc3, 0x2e, 0x3f, 0xfd, + 0x1b, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x37, 0xf8, 0x73, 0x25, 0x03, 0x00, 0x00, +} + +func (m *Match) 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 *Match) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Match) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.CoinsDistributed { + i-- + if m.CoinsDistributed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + 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-- + dAtA[i] = 0x38 + } + if m.PlayerB != nil { + { + size, err := m.PlayerB.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMatch(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + if m.PlayerA != nil { + { + size, err := m.PlayerA.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMatch(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if len(m.Reporter) > 0 { + i -= len(m.Reporter) + copy(dAtA[i:], m.Reporter) + i = encodeVarintMatch(dAtA, i, uint64(len(m.Reporter))) + i-- + dAtA[i] = 0x12 + } + if m.Timestamp != 0 { + i = encodeVarintMatch(dAtA, i, uint64(m.Timestamp)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MatchPlayer) 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 *MatchPlayer) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MatchPlayer) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = 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-- + dAtA[i] = 0x20 + } + if m.Confirmed { + i-- + if m.Confirmed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(m.PlayedCards) > 0 { + dAtA6 := make([]byte, len(m.PlayedCards)*10) + var j5 int + for _, num := range m.PlayedCards { + for num >= 1<<7 { + dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j5++ + } + dAtA6[j5] = uint8(num) + j5++ + } + i -= j5 + copy(dAtA[i:], dAtA6[:j5]) + i = encodeVarintMatch(dAtA, i, uint64(j5)) + i-- + dAtA[i] = 0x12 + } + if len(m.Addr) > 0 { + i -= len(m.Addr) + copy(dAtA[i:], m.Addr) + i = encodeVarintMatch(dAtA, i, uint64(len(m.Addr))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintMatch(dAtA []byte, offset int, v uint64) int { + offset -= sovMatch(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Match) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Timestamp != 0 { + n += 1 + sovMatch(uint64(m.Timestamp)) + } + l = len(m.Reporter) + if l > 0 { + n += 1 + l + sovMatch(uint64(l)) + } + if m.PlayerA != nil { + l = m.PlayerA.Size() + n += 1 + l + sovMatch(uint64(l)) + } + if m.PlayerB != nil { + l = m.PlayerB.Size() + n += 1 + l + sovMatch(uint64(l)) + } + if m.Outcome != 0 { + n += 1 + sovMatch(uint64(m.Outcome)) + } + if m.ServerConfirmed { + n += 2 + } + if m.CoinsDistributed { + n += 2 + } + return n +} + +func (m *MatchPlayer) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Addr) + if l > 0 { + n += 1 + l + sovMatch(uint64(l)) + } + if len(m.PlayedCards) > 0 { + l = 0 + for _, e := range m.PlayedCards { + l += sovMatch(uint64(e)) + } + n += 1 + sovMatch(uint64(l)) + l + } + if m.Confirmed { + n += 2 + } + 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 +} + +func sovMatch(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozMatch(x uint64) (n int) { + return sovMatch(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Match) 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 ErrIntOverflowMatch + } + 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: Match: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Match: 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 ErrIntOverflowMatch + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reporter", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMatch + } + 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 ErrInvalidLengthMatch + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMatch + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reporter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PlayerA", 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 + } + if m.PlayerA == nil { + m.PlayerA = &MatchPlayer{} + } + if err := m.PlayerA.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PlayerB", 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 + } + if m.PlayerB == nil { + m.PlayerB = &MatchPlayer{} + } + if err := m.PlayerB.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + m.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMatch + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Outcome |= Outcome(b&0x7F) << shift + if b < 0x80 { + 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) + } + 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.CoinsDistributed = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipMatch(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMatch + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MatchPlayer) 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 ErrIntOverflowMatch + } + 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: MatchPlayer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MatchPlayer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMatch + } + 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 ErrInvalidLengthMatch + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMatch + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Addr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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.PlayedCards = append(m.PlayedCards, 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.PlayedCards) == 0 { + m.PlayedCards = 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.PlayedCards = append(m.PlayedCards, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PlayedCards", wireType) + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Confirmed", 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.Confirmed = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + m.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMatch + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Outcome |= Outcome(b&0x7F) << shift + if b < 0x80 { + 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:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMatch + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipMatch(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, ErrIntOverflowMatch + } + 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, ErrIntOverflowMatch + } + 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, ErrIntOverflowMatch + } + 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, ErrInvalidLengthMatch + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupMatch + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthMatch + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthMatch = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowMatch = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupMatch = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/message_card_artist_change.go b/x/cardchain/types/message_card_artist_change.go new file mode 100644 index 00000000..5df708d4 --- /dev/null +++ b/x/cardchain/types/message_card_artist_change.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCardArtistChange{} + +func NewMsgCardArtistChange(creator string, cardId uint64, artist string) *MsgCardArtistChange { + return &MsgCardArtistChange{ + Creator: creator, + CardId: cardId, + Artist: artist, + } +} + +func (msg *MsgCardArtistChange) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_card_artist_change_test.go b/x/cardchain/types/message_card_artist_change_test.go new file mode 100644 index 00000000..4679a3cc --- /dev/null +++ b/x/cardchain/types/message_card_artist_change_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCardArtistChange_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardArtistChange + err error + }{ + { + name: "invalid address", + msg: MsgCardArtistChange{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardArtistChange{ + 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_card_artwork_add.go b/x/cardchain/types/message_card_artwork_add.go new file mode 100644 index 00000000..018b7996 --- /dev/null +++ b/x/cardchain/types/message_card_artwork_add.go @@ -0,0 +1,26 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCardArtworkAdd{} + +func NewMsgCardArtworkAdd(creator string, cardId uint64, image string, fullArt bool) *MsgCardArtworkAdd { + return &MsgCardArtworkAdd{ + Creator: creator, + CardId: cardId, + Image: image, + FullArt: fullArt, + } +} + +func (msg *MsgCardArtworkAdd) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_card_artwork_add_test.go b/x/cardchain/types/message_card_artwork_add_test.go new file mode 100644 index 00000000..c9bdff99 --- /dev/null +++ b/x/cardchain/types/message_card_artwork_add_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCardArtworkAdd_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardArtworkAdd + err error + }{ + { + name: "invalid address", + msg: MsgCardArtworkAdd{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardArtworkAdd{ + 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_card_donate.go b/x/cardchain/types/message_card_donate.go new file mode 100644 index 00000000..eee048c4 --- /dev/null +++ b/x/cardchain/types/message_card_donate.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCardDonate{} + +func NewMsgCardDonate(creator string, cardId uint64, amount sdk.Coin) *MsgCardDonate { + return &MsgCardDonate{ + Creator: creator, + CardId: cardId, + Amount: amount, + } +} + +func (msg *MsgCardDonate) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_card_donate_test.go b/x/cardchain/types/message_card_donate_test.go new file mode 100644 index 00000000..ee5b9ff3 --- /dev/null +++ b/x/cardchain/types/message_card_donate_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCardDonate_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardDonate + err error + }{ + { + name: "invalid address", + msg: MsgCardDonate{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardDonate{ + 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_card_transfer.go b/x/cardchain/types/message_card_transfer.go new file mode 100644 index 00000000..e23d626f --- /dev/null +++ b/x/cardchain/types/message_card_transfer.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCardTransfer{} + +func NewMsgCardTransfer(creator string, cardId uint64, receiver string) *MsgCardTransfer { + return &MsgCardTransfer{ + Creator: creator, + CardId: cardId, + Receiver: receiver, + } +} + +func (msg *MsgCardTransfer) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_card_transfer_test.go b/x/cardchain/types/message_card_transfer_test.go new file mode 100644 index 00000000..890dcd32 --- /dev/null +++ b/x/cardchain/types/message_card_transfer_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCardTransfer_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardTransfer + err error + }{ + { + name: "invalid address", + msg: MsgCardTransfer{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardTransfer{ + 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_card_vote.go b/x/cardchain/types/message_card_vote.go index 15aea387..11662737 100644 --- a/x/cardchain/types/message_card_vote.go +++ b/x/cardchain/types/message_card_vote.go @@ -9,17 +9,16 @@ import ( var _ sdk.Msg = &MsgCardVote{} func NewMsgCardVote(creator string, vote *SingleVote) *MsgCardVote { - return &MsgCardVote{ + return &MsgCardVote{ Creator: creator, - Vote: vote, + Vote: vote, } } func (msg *MsgCardVote) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil } - diff --git a/x/cardchain/types/message_card_vote_test.go b/x/cardchain/types/message_card_vote_test.go index 51172d18..01688375 100644 --- a/x/cardchain/types/message_card_vote_test.go +++ b/x/cardchain/types/message_card_vote_test.go @@ -3,9 +3,9 @@ package types import ( "testing" + "github.com/DecentralCardGame/cardchain/testutil/sample" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" - "github.com/DecentralCardGame/cardchain/testutil/sample" ) func TestMsgCardVote_ValidateBasic(t *testing.T) { diff --git a/x/cardchain/types/message_council_deregister.go b/x/cardchain/types/message_council_deregister.go new file mode 100644 index 00000000..ffd4b54b --- /dev/null +++ b/x/cardchain/types/message_council_deregister.go @@ -0,0 +1,23 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCouncilDeregister{} + +func NewMsgCouncilDeregister(creator string) *MsgCouncilDeregister { + return &MsgCouncilDeregister{ + Creator: creator, + } +} + +func (msg *MsgCouncilDeregister) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_council_deregister_test.go b/x/cardchain/types/message_council_deregister_test.go new file mode 100644 index 00000000..d23cf4de --- /dev/null +++ b/x/cardchain/types/message_council_deregister_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCouncilDeregister_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCouncilDeregister + err error + }{ + { + name: "invalid address", + msg: MsgCouncilDeregister{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCouncilDeregister{ + 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_council_register.go b/x/cardchain/types/message_council_register.go new file mode 100644 index 00000000..181b9937 --- /dev/null +++ b/x/cardchain/types/message_council_register.go @@ -0,0 +1,23 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCouncilRegister{} + +func NewMsgCouncilRegister(creator string) *MsgCouncilRegister { + return &MsgCouncilRegister{ + Creator: creator, + } +} + +func (msg *MsgCouncilRegister) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_council_register_test.go b/x/cardchain/types/message_council_register_test.go new file mode 100644 index 00000000..fabc50f3 --- /dev/null +++ b/x/cardchain/types/message_council_register_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCouncilRegister_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCouncilRegister + err error + }{ + { + name: "invalid address", + msg: MsgCouncilRegister{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCouncilRegister{ + 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_match_report.go b/x/cardchain/types/message_match_report.go new file mode 100644 index 00000000..ccc0d781 --- /dev/null +++ b/x/cardchain/types/message_match_report.go @@ -0,0 +1,27 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgMatchReport{} + +func NewMsgMatchReport(creator string, matchId uint64, playedCardsA []uint64, playedCardsB []uint64, outcome int32) *MsgMatchReport { + return &MsgMatchReport{ + Creator: creator, + MatchId: matchId, + PlayedCardsA: playedCardsA, + PlayedCardsB: playedCardsB, + Outcome: outcome, + } +} + +func (msg *MsgMatchReport) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_match_report_test.go b/x/cardchain/types/message_match_report_test.go new file mode 100644 index 00000000..ba105ae8 --- /dev/null +++ b/x/cardchain/types/message_match_report_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgMatchReport_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgMatchReport + err error + }{ + { + name: "invalid address", + msg: MsgMatchReport{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgMatchReport{ + 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/params.pb.go b/x/cardchain/types/params.pb.go index 419d1ea0..231f0e7d 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 6d858f55..99d2598e 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -15,9 +19,6 @@ import ( 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. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index ca381b43..71f4b27a 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -16,9 +20,6 @@ import ( 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. @@ -542,842 +543,3680 @@ func (m *MsgCardVoteResponse) GetAirdropClaimed() bool { return false } -func init() { - proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") - proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") - proto.RegisterType((*MsgUserCreate)(nil), "cardchain.cardchain.MsgUserCreate") - proto.RegisterType((*MsgUserCreateResponse)(nil), "cardchain.cardchain.MsgUserCreateResponse") - proto.RegisterType((*MsgCardSchemeBuy)(nil), "cardchain.cardchain.MsgCardSchemeBuy") - proto.RegisterType((*MsgCardSchemeBuyResponse)(nil), "cardchain.cardchain.MsgCardSchemeBuyResponse") - proto.RegisterType((*MsgCardSaveContent)(nil), "cardchain.cardchain.MsgCardSaveContent") - proto.RegisterType((*MsgCardSaveContentResponse)(nil), "cardchain.cardchain.MsgCardSaveContentResponse") - proto.RegisterType((*MsgCardVote)(nil), "cardchain.cardchain.MsgCardVote") - proto.RegisterType((*MsgCardVoteResponse)(nil), "cardchain.cardchain.MsgCardVoteResponse") +type MsgCardTransfer 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"` + Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` } -func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } - -var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 718 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0x4f, 0x4f, 0x13, 0x41, - 0x14, 0xef, 0xd2, 0x52, 0xe9, 0x00, 0xa2, 0x0b, 0xca, 0xb2, 0x9a, 0xd2, 0x34, 0xa0, 0x4d, 0x23, - 0xbb, 0x29, 0x24, 0x86, 0x90, 0x68, 0x42, 0x4b, 0x62, 0x3c, 0x90, 0x98, 0x25, 0x72, 0x30, 0x26, - 0x66, 0x76, 0x77, 0xb2, 0x1d, 0xed, 0xce, 0x34, 0x33, 0x43, 0x85, 0x9b, 0xf1, 0xe8, 0xc9, 0x8f, - 0xe1, 0x91, 0x83, 0x9f, 0x40, 0x2f, 0x1c, 0x89, 0x27, 0x4f, 0xc6, 0xc0, 0x81, 0xef, 0xe0, 0xc9, - 0xcc, 0xee, 0xec, 0xb6, 0x5d, 0x4b, 0xc1, 0x4b, 0x3b, 0xef, 0xbd, 0xdf, 0xfb, 0xbd, 0xdf, 0x7b, - 0xf3, 0x67, 0xc1, 0x7d, 0x0f, 0x32, 0xdf, 0x6b, 0x43, 0x4c, 0xec, 0xfe, 0x4a, 0x1c, 0x5a, 0x5d, - 0x46, 0x05, 0xd5, 0xe7, 0x53, 0x9f, 0x95, 0xae, 0xcc, 0xdb, 0x30, 0xc4, 0x84, 0xda, 0xd1, 0x6f, - 0x8c, 0x33, 0x17, 0x3d, 0xca, 0x43, 0xca, 0xed, 0x90, 0x07, 0x76, 0xaf, 0x21, 0xff, 0x54, 0x60, - 0x29, 0x0e, 0xbc, 0x89, 0x2c, 0x3b, 0x36, 0x54, 0x68, 0x21, 0xa0, 0x01, 0x8d, 0xfd, 0x72, 0xa5, - 0xbc, 0x95, 0x51, 0x7a, 0xba, 0x90, 0xc1, 0x30, 0xc9, 0x2b, 0xab, 0x5a, 0x2e, 0xe4, 0xc8, 0xee, - 0x35, 0x5c, 0x24, 0x60, 0xc3, 0xf6, 0x28, 0x26, 0xe3, 0x18, 0x7a, 0x54, 0x60, 0xa2, 0x44, 0x55, - 0xbf, 0x6b, 0x60, 0x6e, 0x97, 0x07, 0x2f, 0xbb, 0x3e, 0x14, 0xe8, 0x45, 0xc4, 0xad, 0x3f, 0x06, - 0x25, 0x78, 0x20, 0xda, 0x94, 0x61, 0x71, 0x64, 0x68, 0x15, 0xad, 0x56, 0x6a, 0x1a, 0x3f, 0xbe, - 0xae, 0x2d, 0x28, 0xc9, 0xdb, 0xbe, 0xcf, 0x10, 0xe7, 0x7b, 0x82, 0x61, 0x12, 0x38, 0x7d, 0xa8, - 0xfe, 0x14, 0x14, 0x63, 0x75, 0xc6, 0x44, 0x45, 0xab, 0x4d, 0xaf, 0xdf, 0xb3, 0x46, 0x8c, 0xcc, - 0x8a, 0x8b, 0x34, 0x4b, 0x27, 0xbf, 0x96, 0x73, 0x5f, 0x2e, 0x8e, 0xeb, 0x9a, 0xa3, 0xb2, 0xb6, - 0x36, 0x3f, 0x5e, 0x1c, 0xd7, 0xfb, 0x7c, 0x9f, 0x2e, 0x8e, 0xeb, 0xab, 0x7d, 0xd9, 0x87, 0x03, - 0x2d, 0x64, 0x14, 0x57, 0x97, 0xc0, 0x62, 0xc6, 0xe5, 0x20, 0xde, 0xa5, 0x84, 0xa3, 0x6a, 0x00, - 0x66, 0x65, 0x88, 0x23, 0xd6, 0x62, 0x08, 0x0a, 0xa4, 0x1b, 0xe0, 0x86, 0x27, 0x57, 0x94, 0xc5, - 0xbd, 0x39, 0x89, 0x29, 0x23, 0x04, 0xbd, 0x97, 0xd0, 0xa8, 0x81, 0x92, 0x93, 0x98, 0xfa, 0x02, - 0x98, 0x84, 0x1d, 0x0c, 0xb9, 0x91, 0x8f, 0xfc, 0xb1, 0xb1, 0x35, 0x23, 0xf5, 0x26, 0xd9, 0xd5, - 0x45, 0x70, 0x67, 0xa8, 0x50, 0xaa, 0x20, 0x04, 0xb7, 0x76, 0x79, 0xd0, 0x82, 0xcc, 0xdf, 0xf3, - 0xda, 0x28, 0x44, 0xcd, 0x83, 0xa3, 0x31, 0x22, 0x1a, 0x20, 0xef, 0x62, 0x5f, 0x4d, 0x70, 0xc9, - 0x52, 0x33, 0x97, 0x1b, 0x6c, 0xa9, 0x0d, 0xb6, 0x5a, 0x14, 0x93, 0x66, 0x41, 0xce, 0xcf, 0x91, - 0xd8, 0x8c, 0x8e, 0x75, 0x60, 0x64, 0xcb, 0x25, 0x52, 0xf4, 0xbb, 0xa0, 0x28, 0x87, 0xf8, 0xdc, - 0x8f, 0xaa, 0x16, 0x1c, 0x65, 0x55, 0xbf, 0x69, 0x40, 0x4f, 0x92, 0x60, 0x0f, 0xb5, 0x28, 0x11, - 0x88, 0x88, 0x31, 0x2a, 0xfb, 0x44, 0x13, 0x83, 0x44, 0x51, 0x46, 0x9c, 0xac, 0x46, 0x95, 0x98, - 0x72, 0x84, 0x84, 0x0a, 0xc4, 0x8d, 0x42, 0x3c, 0xc2, 0xc8, 0x90, 0x3c, 0x90, 0x09, 0xcc, 0x85, - 0x31, 0x19, 0xb9, 0x95, 0xa5, 0xaf, 0x80, 0x59, 0x17, 0x76, 0x20, 0xf1, 0xd0, 0x36, 0xf1, 0xda, - 0x94, 0x19, 0xc5, 0x8a, 0x56, 0x9b, 0x72, 0x86, 0x9d, 0x99, 0xc6, 0x77, 0x80, 0xf9, 0x6f, 0x0f, - 0x69, 0xeb, 0x0f, 0xc0, 0x4d, 0x88, 0x99, 0xcf, 0x68, 0xb7, 0xd5, 0x81, 0x38, 0x44, 0xf1, 0x08, - 0xa6, 0x9c, 0x8c, 0xb7, 0xfa, 0x16, 0x4c, 0x2b, 0x96, 0x7d, 0x3a, 0xf6, 0xb4, 0x6c, 0x80, 0x42, - 0x8f, 0x0a, 0xa4, 0x76, 0x6a, 0x79, 0xe4, 0x59, 0xdf, 0xc3, 0x24, 0xe8, 0x20, 0x49, 0xe4, 0x44, - 0xe0, 0x8c, 0xe2, 0x27, 0x60, 0x7e, 0xa0, 0xd6, 0xff, 0x4a, 0x5d, 0xff, 0x93, 0x07, 0xf9, 0x5d, - 0x1e, 0xe8, 0x2e, 0x98, 0x19, 0xba, 0xbf, 0x2b, 0x23, 0xb5, 0x64, 0x2e, 0x88, 0xf9, 0xe8, 0x3a, - 0xa8, 0x54, 0xd3, 0x6b, 0x00, 0x06, 0xee, 0x50, 0xf5, 0xd2, 0xdc, 0x14, 0x63, 0xd6, 0xaf, 0xc6, - 0xa4, 0xec, 0x08, 0xcc, 0x0e, 0xdf, 0x8f, 0xd5, 0xcb, 0x92, 0x87, 0x60, 0xe6, 0xda, 0xb5, 0x60, - 0x69, 0x99, 0x77, 0x60, 0x2e, 0x7b, 0xc4, 0x1f, 0x8e, 0x65, 0xe8, 0x03, 0x4d, 0xfb, 0x9a, 0xc0, - 0xb4, 0xd8, 0x3e, 0x98, 0x4a, 0x4f, 0x51, 0x65, 0x5c, 0xb2, 0x44, 0x98, 0xb5, 0xab, 0x10, 0x09, - 0xaf, 0x39, 0xf9, 0x41, 0x3e, 0x9a, 0x4d, 0xe7, 0xe4, 0xac, 0xac, 0x9d, 0x9e, 0x95, 0xb5, 0xdf, - 0x67, 0x65, 0xed, 0xf3, 0x79, 0x39, 0x77, 0x7a, 0x5e, 0xce, 0xfd, 0x3c, 0x2f, 0xe7, 0x5e, 0x6d, - 0x06, 0x58, 0xb4, 0x0f, 0x5c, 0xcb, 0xa3, 0xa1, 0xbd, 0x83, 0x3c, 0x44, 0x04, 0x83, 0x1d, 0x49, - 0xf3, 0x0c, 0x86, 0xc8, 0x1e, 0xfd, 0xa0, 0x8a, 0xa3, 0x2e, 0xe2, 0x6e, 0x31, 0xfa, 0x26, 0x6c, - 0xfc, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x32, 0x8c, 0x77, 0xb7, 0x09, 0x07, 0x00, 0x00, +func (m *MsgCardTransfer) Reset() { *m = MsgCardTransfer{} } +func (m *MsgCardTransfer) String() string { return proto.CompactTextString(m) } +func (*MsgCardTransfer) ProtoMessage() {} +func (*MsgCardTransfer) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{10} +} +func (m *MsgCardTransfer) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardTransfer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardTransfer.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 *MsgCardTransfer) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardTransfer.Merge(m, src) +} +func (m *MsgCardTransfer) XXX_Size() int { + return m.Size() +} +func (m *MsgCardTransfer) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardTransfer.DiscardUnknown(m) } -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn +var xxx_messageInfo_MsgCardTransfer proto.InternalMessageInfo -// 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 +func (m *MsgCardTransfer) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} -// 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 { - // UpdateParams defines a (governance) operation for updating the module - // parameters. The authority defaults to the x/gov module account. - UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) - UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) - CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) - CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) - CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) +func (m *MsgCardTransfer) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 } -type msgClient struct { - cc grpc1.ClientConn +func (m *MsgCardTransfer) GetReceiver() string { + if m != nil { + return m.Receiver + } + return "" } -func NewMsgClient(cc grpc1.ClientConn) MsgClient { - return &msgClient{cc} +type MsgCardTransferResponse struct { } -func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { - out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateParams", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgCardTransferResponse) Reset() { *m = MsgCardTransferResponse{} } +func (m *MsgCardTransferResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardTransferResponse) ProtoMessage() {} +func (*MsgCardTransferResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{11} +} +func (m *MsgCardTransferResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardTransferResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardTransferResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgCardTransferResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardTransferResponse.Merge(m, src) +} +func (m *MsgCardTransferResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardTransferResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardTransferResponse.DiscardUnknown(m) } -func (c *msgClient) UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) { - out := new(MsgUserCreateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UserCreate", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +var xxx_messageInfo_MsgCardTransferResponse proto.InternalMessageInfo + +type MsgCardDonate 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"` + Amount types.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount"` } -func (c *msgClient) CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) { - out := new(MsgCardSchemeBuyResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSchemeBuy", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgCardDonate) Reset() { *m = MsgCardDonate{} } +func (m *MsgCardDonate) String() string { return proto.CompactTextString(m) } +func (*MsgCardDonate) ProtoMessage() {} +func (*MsgCardDonate) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{12} +} +func (m *MsgCardDonate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardDonate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardDonate.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgCardDonate) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardDonate.Merge(m, src) +} +func (m *MsgCardDonate) XXX_Size() int { + return m.Size() +} +func (m *MsgCardDonate) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardDonate.DiscardUnknown(m) } -func (c *msgClient) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) { - out := new(MsgCardSaveContentResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSaveContent", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgCardDonate proto.InternalMessageInfo + +func (m *MsgCardDonate) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) { - out := new(MsgCardVoteResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardVote", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgCardDonate) GetCardId() uint64 { + if m != nil { + return m.CardId } - return out, nil + return 0 } -// MsgServer is the server API for Msg service. -type MsgServer interface { - // UpdateParams defines a (governance) operation for updating the module - // parameters. The authority defaults to the x/gov module account. - UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) - UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) - CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) - CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) - CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) +func (m *MsgCardDonate) GetAmount() types.Coin { + if m != nil { + return m.Amount + } + return types.Coin{} } -// UnimplementedMsgServer can be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { +type MsgCardDonateResponse struct { } -func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +func (m *MsgCardDonateResponse) Reset() { *m = MsgCardDonateResponse{} } +func (m *MsgCardDonateResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardDonateResponse) ProtoMessage() {} +func (*MsgCardDonateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{13} } -func (*UnimplementedMsgServer) UserCreate(ctx context.Context, req *MsgUserCreate) (*MsgUserCreateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UserCreate not implemented") +func (m *MsgCardDonateResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedMsgServer) CardSchemeBuy(ctx context.Context, req *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardSchemeBuy not implemented") +func (m *MsgCardDonateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardDonateResponse.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 (*UnimplementedMsgServer) CardSaveContent(ctx context.Context, req *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardSaveContent not implemented") +func (m *MsgCardDonateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardDonateResponse.Merge(m, src) } -func (*UnimplementedMsgServer) CardVote(ctx context.Context, req *MsgCardVote) (*MsgCardVoteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") +func (m *MsgCardDonateResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardDonateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardDonateResponse.DiscardUnknown(m) } -func RegisterMsgServer(s grpc1.Server, srv MsgServer) { - s.RegisterService(&_Msg_serviceDesc, srv) +var xxx_messageInfo_MsgCardDonateResponse proto.InternalMessageInfo + +type MsgCardArtworkAdd 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"` + Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + FullArt bool `protobuf:"varint,4,opt,name=fullArt,proto3" json:"fullArt,omitempty"` } -func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateParams) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UpdateParams(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/UpdateParams", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) +func (m *MsgCardArtworkAdd) Reset() { *m = MsgCardArtworkAdd{} } +func (m *MsgCardArtworkAdd) String() string { return proto.CompactTextString(m) } +func (*MsgCardArtworkAdd) ProtoMessage() {} +func (*MsgCardArtworkAdd) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{14} +} +func (m *MsgCardArtworkAdd) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardArtworkAdd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardArtworkAdd.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *MsgCardArtworkAdd) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardArtworkAdd.Merge(m, src) +} +func (m *MsgCardArtworkAdd) XXX_Size() int { + return m.Size() +} +func (m *MsgCardArtworkAdd) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardArtworkAdd.DiscardUnknown(m) } -func _Msg_UserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUserCreate) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UserCreate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/UserCreate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UserCreate(ctx, req.(*MsgUserCreate)) +var xxx_messageInfo_MsgCardArtworkAdd proto.InternalMessageInfo + +func (m *MsgCardArtworkAdd) GetCreator() string { + if m != nil { + return m.Creator } - return interceptor(ctx, in, info, handler) + return "" } -func _Msg_CardSchemeBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardSchemeBuy) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardSchemeBuy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardSchemeBuy", +func (m *MsgCardArtworkAdd) GetCardId() uint64 { + if m != nil { + return m.CardId } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardSchemeBuy(ctx, req.(*MsgCardSchemeBuy)) + return 0 +} + +func (m *MsgCardArtworkAdd) GetImage() string { + if m != nil { + return m.Image } - return interceptor(ctx, in, info, handler) + return "" } -func _Msg_CardSaveContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardSaveContent) - if err := dec(in); err != nil { - return nil, err +func (m *MsgCardArtworkAdd) GetFullArt() bool { + if m != nil { + return m.FullArt } - if interceptor == nil { - return srv.(MsgServer).CardSaveContent(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardSaveContent", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardSaveContent(ctx, req.(*MsgCardSaveContent)) - } - return interceptor(ctx, in, info, handler) + return false } -func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardVote) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardVote(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardVote", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardVote(ctx, req.(*MsgCardVote)) - } - return interceptor(ctx, in, info, handler) +type MsgCardArtworkAddResponse struct { } -var Msg_serviceDesc = _Msg_serviceDesc -var _Msg_serviceDesc = grpc.ServiceDesc{ - ServiceName: "cardchain.cardchain.Msg", - HandlerType: (*MsgServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "UpdateParams", - Handler: _Msg_UpdateParams_Handler, - }, - { - MethodName: "UserCreate", - Handler: _Msg_UserCreate_Handler, - }, - { - MethodName: "CardSchemeBuy", - Handler: _Msg_CardSchemeBuy_Handler, - }, - { - MethodName: "CardSaveContent", - Handler: _Msg_CardSaveContent_Handler, - }, - { - MethodName: "CardVote", - Handler: _Msg_CardVote_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cardchain/cardchain/tx.proto", +func (m *MsgCardArtworkAddResponse) Reset() { *m = MsgCardArtworkAddResponse{} } +func (m *MsgCardArtworkAddResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardArtworkAddResponse) ProtoMessage() {} +func (*MsgCardArtworkAddResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{15} } - -func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgCardArtworkAddResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardArtworkAddResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardArtworkAddResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil +} +func (m *MsgCardArtworkAddResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardArtworkAddResponse.Merge(m, src) +} +func (m *MsgCardArtworkAddResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardArtworkAddResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardArtworkAddResponse.DiscardUnknown(m) } -func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +var xxx_messageInfo_MsgCardArtworkAddResponse proto.InternalMessageInfo + +type MsgCardArtistChange 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"` + Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,omitempty"` } -func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) +func (m *MsgCardArtistChange) Reset() { *m = MsgCardArtistChange{} } +func (m *MsgCardArtistChange) String() string { return proto.CompactTextString(m) } +func (*MsgCardArtistChange) ProtoMessage() {} +func (*MsgCardArtistChange) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{16} +} +func (m *MsgCardArtistChange) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardArtistChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardArtistChange.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) if err != nil { - return 0, err + return nil, err } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) + return b[:n], nil } - i-- - dAtA[i] = 0x12 - if len(m.Authority) > 0 { - i -= len(m.Authority) - copy(dAtA[i:], m.Authority) - i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) - i-- - dAtA[i] = 0xa +} +func (m *MsgCardArtistChange) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardArtistChange.Merge(m, src) +} +func (m *MsgCardArtistChange) XXX_Size() int { + return m.Size() +} +func (m *MsgCardArtistChange) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardArtistChange.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardArtistChange proto.InternalMessageInfo + +func (m *MsgCardArtistChange) GetCreator() string { + if m != nil { + return m.Creator } - return len(dAtA) - i, nil + return "" } -func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgCardArtistChange) GetCardId() uint64 { + if m != nil { + return m.CardId } - return dAtA[:n], nil + return 0 } -func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgCardArtistChange) GetArtist() string { + if m != nil { + return m.Artist + } + return "" } -func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +type MsgCardArtistChangeResponse struct { } -func (m *MsgUserCreate) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgCardArtistChangeResponse) Reset() { *m = MsgCardArtistChangeResponse{} } +func (m *MsgCardArtistChangeResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardArtistChangeResponse) ProtoMessage() {} +func (*MsgCardArtistChangeResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{17} +} +func (m *MsgCardArtistChangeResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardArtistChangeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardArtistChangeResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil +} +func (m *MsgCardArtistChangeResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardArtistChangeResponse.Merge(m, src) +} +func (m *MsgCardArtistChangeResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardArtistChangeResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardArtistChangeResponse.DiscardUnknown(m) } -func (m *MsgUserCreate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +var xxx_messageInfo_MsgCardArtistChangeResponse proto.InternalMessageInfo + +type MsgCouncilRegister struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` } -func (m *MsgUserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Alias) > 0 { - i -= len(m.Alias) - copy(dAtA[i:], m.Alias) - i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) - i-- - dAtA[i] = 0x1a - } - if len(m.NewUser) > 0 { - i -= len(m.NewUser) - copy(dAtA[i:], m.NewUser) - i = encodeVarintTx(dAtA, i, uint64(len(m.NewUser))) - 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 +func (m *MsgCouncilRegister) Reset() { *m = MsgCouncilRegister{} } +func (m *MsgCouncilRegister) String() string { return proto.CompactTextString(m) } +func (*MsgCouncilRegister) ProtoMessage() {} +func (*MsgCouncilRegister) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{18} +} +func (m *MsgCouncilRegister) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCouncilRegister) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCouncilRegister.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return len(dAtA) - i, nil +} +func (m *MsgCouncilRegister) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCouncilRegister.Merge(m, src) +} +func (m *MsgCouncilRegister) XXX_Size() int { + return m.Size() +} +func (m *MsgCouncilRegister) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCouncilRegister.DiscardUnknown(m) } -func (m *MsgUserCreateResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +var xxx_messageInfo_MsgCouncilRegister proto.InternalMessageInfo + +func (m *MsgCouncilRegister) GetCreator() string { + if m != nil { + return m.Creator } - return dAtA[:n], nil + return "" } -func (m *MsgUserCreateResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +type MsgCouncilRegisterResponse struct { } -func (m *MsgUserCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func (m *MsgCouncilRegisterResponse) Reset() { *m = MsgCouncilRegisterResponse{} } +func (m *MsgCouncilRegisterResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCouncilRegisterResponse) ProtoMessage() {} +func (*MsgCouncilRegisterResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{19} } - -func (m *MsgCardSchemeBuy) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgCouncilRegisterResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCouncilRegisterResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCouncilRegisterResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil } - -func (m *MsgCardSchemeBuy) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgCouncilRegisterResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCouncilRegisterResponse.Merge(m, src) +} +func (m *MsgCouncilRegisterResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCouncilRegisterResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCouncilRegisterResponse.DiscardUnknown(m) } -func (m *MsgCardSchemeBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Bid.MarshalToSizedBuffer(dAtA[:i]) +var xxx_messageInfo_MsgCouncilRegisterResponse proto.InternalMessageInfo + +type MsgCouncilDeregister struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` +} + +func (m *MsgCouncilDeregister) Reset() { *m = MsgCouncilDeregister{} } +func (m *MsgCouncilDeregister) String() string { return proto.CompactTextString(m) } +func (*MsgCouncilDeregister) ProtoMessage() {} +func (*MsgCouncilDeregister) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{20} +} +func (m *MsgCouncilDeregister) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCouncilDeregister) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCouncilDeregister.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) if err != nil { - return 0, err + return nil, 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 b[:n], nil } - return len(dAtA) - i, nil } - -func (m *MsgCardSchemeBuyResponse) 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 *MsgCouncilDeregister) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCouncilDeregister.Merge(m, src) } - -func (m *MsgCardSchemeBuyResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgCouncilDeregister) XXX_Size() int { + return m.Size() } - -func (m *MsgCardSchemeBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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 +func (m *MsgCouncilDeregister) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCouncilDeregister.DiscardUnknown(m) } -func (m *MsgCardSaveContent) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +var xxx_messageInfo_MsgCouncilDeregister proto.InternalMessageInfo + +func (m *MsgCouncilDeregister) GetCreator() string { + if m != nil { + return m.Creator } - return dAtA[:n], nil + return "" } -func (m *MsgCardSaveContent) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +type MsgCouncilDeregisterResponse struct { } -func (m *MsgCardSaveContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.BalanceAnchor { - i-- - if m.BalanceAnchor { - dAtA[i] = 1 - } else { - dAtA[i] = 0 +func (m *MsgCouncilDeregisterResponse) Reset() { *m = MsgCouncilDeregisterResponse{} } +func (m *MsgCouncilDeregisterResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCouncilDeregisterResponse) ProtoMessage() {} +func (*MsgCouncilDeregisterResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{21} +} +func (m *MsgCouncilDeregisterResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCouncilDeregisterResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCouncilDeregisterResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err } - i-- - dAtA[i] = 0x30 - } - if len(m.Artist) > 0 { - i -= len(m.Artist) - copy(dAtA[i:], m.Artist) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x2a - } - if len(m.Notes) > 0 { - i -= len(m.Notes) - copy(dAtA[i:], m.Notes) - i = encodeVarintTx(dAtA, i, uint64(len(m.Notes))) - i-- - dAtA[i] = 0x22 - } - if len(m.Content) > 0 { - i -= len(m.Content) - copy(dAtA[i:], m.Content) - i = encodeVarintTx(dAtA, i, uint64(len(m.Content))) - 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 b[:n], nil } - return len(dAtA) - i, nil } - -func (m *MsgCardSaveContentResponse) 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 *MsgCouncilDeregisterResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCouncilDeregisterResponse.Merge(m, src) +} +func (m *MsgCouncilDeregisterResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCouncilDeregisterResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCouncilDeregisterResponse.DiscardUnknown(m) } -func (m *MsgCardSaveContentResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +var xxx_messageInfo_MsgCouncilDeregisterResponse proto.InternalMessageInfo + +type MsgMatchReport 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"` + 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 int32 `protobuf:"varint,5,opt,name=outcome,proto3" json:"outcome,omitempty"` } -func (m *MsgCardSaveContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 +func (m *MsgMatchReport) Reset() { *m = MsgMatchReport{} } +func (m *MsgMatchReport) String() string { return proto.CompactTextString(m) } +func (*MsgMatchReport) ProtoMessage() {} +func (*MsgMatchReport) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{22} +} +func (m *MsgMatchReport) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgMatchReport) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgMatchReport.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err } - i-- - dAtA[i] = 0x8 + return b[:n], nil } - return len(dAtA) - i, nil +} +func (m *MsgMatchReport) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgMatchReport.Merge(m, src) +} +func (m *MsgMatchReport) XXX_Size() int { + return m.Size() +} +func (m *MsgMatchReport) XXX_DiscardUnknown() { + xxx_messageInfo_MsgMatchReport.DiscardUnknown(m) } -func (m *MsgCardVote) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +var xxx_messageInfo_MsgMatchReport proto.InternalMessageInfo + +func (m *MsgMatchReport) GetCreator() string { + if m != nil { + return m.Creator } - return dAtA[:n], nil + return "" } -func (m *MsgCardVote) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgMatchReport) GetMatchId() uint64 { + if m != nil { + return m.MatchId + } + return 0 } -func (m *MsgCardVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Vote != nil { - { - size, err := m.Vote.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 +func (m *MsgMatchReport) GetPlayedCardsA() []uint64 { + if m != nil { + return m.PlayedCardsA } - 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 nil +} + +func (m *MsgMatchReport) GetPlayedCardsB() []uint64 { + if m != nil { + return m.PlayedCardsB } - return len(dAtA) - i, nil + return nil } -func (m *MsgCardVoteResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgMatchReport) GetOutcome() int32 { + if m != nil { + return m.Outcome } - return dAtA[:n], nil + return 0 } -func (m *MsgCardVoteResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +type MsgMatchReportResponse struct { } -func (m *MsgCardVoteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 +func (m *MsgMatchReportResponse) Reset() { *m = MsgMatchReportResponse{} } +func (m *MsgMatchReportResponse) String() string { return proto.CompactTextString(m) } +func (*MsgMatchReportResponse) ProtoMessage() {} +func (*MsgMatchReportResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{23} +} +func (m *MsgMatchReportResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgMatchReportResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgMatchReportResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err } - i-- - dAtA[i] = 0x8 + return b[:n], nil } - return len(dAtA) - i, nil +} +func (m *MsgMatchReportResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgMatchReportResponse.Merge(m, src) +} +func (m *MsgMatchReportResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgMatchReportResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgMatchReportResponse.DiscardUnknown(m) } -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base +var xxx_messageInfo_MsgMatchReportResponse proto.InternalMessageInfo + +func init() { + proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") + proto.RegisterType((*MsgUserCreate)(nil), "cardchain.cardchain.MsgUserCreate") + proto.RegisterType((*MsgUserCreateResponse)(nil), "cardchain.cardchain.MsgUserCreateResponse") + proto.RegisterType((*MsgCardSchemeBuy)(nil), "cardchain.cardchain.MsgCardSchemeBuy") + proto.RegisterType((*MsgCardSchemeBuyResponse)(nil), "cardchain.cardchain.MsgCardSchemeBuyResponse") + proto.RegisterType((*MsgCardSaveContent)(nil), "cardchain.cardchain.MsgCardSaveContent") + proto.RegisterType((*MsgCardSaveContentResponse)(nil), "cardchain.cardchain.MsgCardSaveContentResponse") + proto.RegisterType((*MsgCardVote)(nil), "cardchain.cardchain.MsgCardVote") + proto.RegisterType((*MsgCardVoteResponse)(nil), "cardchain.cardchain.MsgCardVoteResponse") + proto.RegisterType((*MsgCardTransfer)(nil), "cardchain.cardchain.MsgCardTransfer") + proto.RegisterType((*MsgCardTransferResponse)(nil), "cardchain.cardchain.MsgCardTransferResponse") + proto.RegisterType((*MsgCardDonate)(nil), "cardchain.cardchain.MsgCardDonate") + proto.RegisterType((*MsgCardDonateResponse)(nil), "cardchain.cardchain.MsgCardDonateResponse") + proto.RegisterType((*MsgCardArtworkAdd)(nil), "cardchain.cardchain.MsgCardArtworkAdd") + proto.RegisterType((*MsgCardArtworkAddResponse)(nil), "cardchain.cardchain.MsgCardArtworkAddResponse") + proto.RegisterType((*MsgCardArtistChange)(nil), "cardchain.cardchain.MsgCardArtistChange") + proto.RegisterType((*MsgCardArtistChangeResponse)(nil), "cardchain.cardchain.MsgCardArtistChangeResponse") + proto.RegisterType((*MsgCouncilRegister)(nil), "cardchain.cardchain.MsgCouncilRegister") + proto.RegisterType((*MsgCouncilRegisterResponse)(nil), "cardchain.cardchain.MsgCouncilRegisterResponse") + proto.RegisterType((*MsgCouncilDeregister)(nil), "cardchain.cardchain.MsgCouncilDeregister") + proto.RegisterType((*MsgCouncilDeregisterResponse)(nil), "cardchain.cardchain.MsgCouncilDeregisterResponse") + proto.RegisterType((*MsgMatchReport)(nil), "cardchain.cardchain.MsgMatchReport") + proto.RegisterType((*MsgMatchReportResponse)(nil), "cardchain.cardchain.MsgMatchReportResponse") } -func (m *MsgUpdateParams) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = m.Params.Size() - n += 1 + l + sovTx(uint64(l)) - return n + +func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } + +var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ + // 1091 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, + 0x17, 0xcf, 0xd6, 0x4e, 0xbe, 0xc9, 0xcb, 0x8f, 0x36, 0x9b, 0x7c, 0x9b, 0xcd, 0x26, 0xb8, 0x96, + 0x49, 0x8b, 0x09, 0xd4, 0x26, 0xa9, 0x04, 0x55, 0x05, 0x95, 0x6c, 0x47, 0x42, 0x1c, 0x22, 0xa1, + 0x0d, 0xf4, 0x80, 0x90, 0xaa, 0xf1, 0xee, 0x74, 0xbd, 0xd4, 0x3b, 0x63, 0x66, 0xc6, 0x6e, 0x73, + 0x43, 0x70, 0x41, 0x9c, 0xf8, 0x33, 0x38, 0xe6, 0xd0, 0xbf, 0x00, 0x2e, 0x3d, 0x56, 0x5c, 0xe0, + 0x84, 0x50, 0x72, 0xc8, 0xbf, 0x81, 0x66, 0x7f, 0xcc, 0x7a, 0xd7, 0xeb, 0x8d, 0x9b, 0x4b, 0xbb, + 0x6f, 0xe6, 0xf3, 0x3e, 0xef, 0x33, 0xef, 0xbd, 0x79, 0x13, 0xc3, 0xae, 0x8d, 0x98, 0x63, 0xf7, + 0x90, 0x47, 0x9a, 0xc9, 0x97, 0x78, 0xd9, 0x18, 0x30, 0x2a, 0xa8, 0xbe, 0xa1, 0xd6, 0x1a, 0xea, + 0xcb, 0x5c, 0x47, 0xbe, 0x47, 0x68, 0x33, 0xf8, 0x37, 0xc4, 0x99, 0x5b, 0x36, 0xe5, 0x3e, 0xe5, + 0x4d, 0x9f, 0xbb, 0xcd, 0xd1, 0x81, 0xfc, 0x2f, 0xda, 0xd8, 0x0e, 0x37, 0x9e, 0x06, 0x56, 0x33, + 0x34, 0xa2, 0xad, 0x4d, 0x97, 0xba, 0x34, 0x5c, 0x97, 0x5f, 0xd1, 0x6a, 0x35, 0x4f, 0xcf, 0x00, + 0x31, 0xe4, 0xc7, 0x7e, 0x95, 0x28, 0x56, 0x17, 0x71, 0xdc, 0x1c, 0x1d, 0x74, 0xb1, 0x40, 0x07, + 0x4d, 0x9b, 0x7a, 0xa4, 0x88, 0x61, 0x44, 0x85, 0x47, 0x22, 0x51, 0xb5, 0x3f, 0x34, 0xb8, 0x79, + 0xcc, 0xdd, 0xaf, 0x07, 0x0e, 0x12, 0xf8, 0xcb, 0x80, 0x5b, 0xff, 0x18, 0x96, 0xd0, 0x50, 0xf4, + 0x28, 0xf3, 0xc4, 0xa9, 0xa1, 0x55, 0xb5, 0xfa, 0x52, 0xdb, 0xf8, 0xf3, 0xd5, 0xfd, 0xcd, 0x48, + 0x72, 0xcb, 0x71, 0x18, 0xe6, 0xfc, 0x44, 0x30, 0x8f, 0xb8, 0x56, 0x02, 0xd5, 0x1f, 0xc3, 0x42, + 0xa8, 0xce, 0xb8, 0x51, 0xd5, 0xea, 0xcb, 0x87, 0x3b, 0x8d, 0x9c, 0x94, 0x35, 0xc2, 0x20, 0xed, + 0xa5, 0xd7, 0xff, 0xdc, 0x99, 0xfb, 0xed, 0xf2, 0x6c, 0x5f, 0xb3, 0x22, 0xaf, 0x47, 0x0f, 0x7f, + 0xbc, 0x3c, 0xdb, 0x4f, 0xf8, 0x7e, 0xb9, 0x3c, 0xdb, 0xbf, 0x9b, 0xc8, 0x7e, 0x39, 0x76, 0x84, + 0x8c, 0xe2, 0xda, 0x36, 0x6c, 0x65, 0x96, 0x2c, 0xcc, 0x07, 0x94, 0x70, 0x5c, 0x73, 0x61, 0x55, + 0x6e, 0x71, 0xcc, 0x3a, 0x0c, 0x23, 0x81, 0x75, 0x03, 0xfe, 0x67, 0xcb, 0x2f, 0xca, 0xc2, 0xb3, + 0x59, 0xb1, 0x29, 0x77, 0x08, 0x7e, 0x21, 0xa1, 0xc1, 0x01, 0x96, 0xac, 0xd8, 0xd4, 0x37, 0x61, + 0x1e, 0xf5, 0x3d, 0xc4, 0x8d, 0x52, 0xb0, 0x1e, 0x1a, 0x8f, 0x56, 0xa4, 0xde, 0xd8, 0xbb, 0xb6, + 0x05, 0xff, 0x4f, 0x05, 0x52, 0x0a, 0x7c, 0xb8, 0x75, 0xcc, 0xdd, 0x0e, 0x62, 0xce, 0x89, 0xdd, + 0xc3, 0x3e, 0x6e, 0x0f, 0x4f, 0x0b, 0x44, 0x1c, 0x40, 0xa9, 0xeb, 0x39, 0x51, 0x06, 0xb7, 0x1b, + 0x51, 0xce, 0x65, 0x81, 0x1b, 0x51, 0x81, 0x1b, 0x1d, 0xea, 0x91, 0x76, 0x59, 0xe6, 0xcf, 0x92, + 0xd8, 0x8c, 0x8e, 0x43, 0x30, 0xb2, 0xe1, 0x62, 0x29, 0xfa, 0x6d, 0x58, 0x90, 0x49, 0xfc, 0xc2, + 0x09, 0xa2, 0x96, 0xad, 0xc8, 0xaa, 0xfd, 0xae, 0x81, 0x1e, 0x3b, 0xa1, 0x11, 0xee, 0x50, 0x22, + 0x30, 0x11, 0x05, 0x2a, 0x13, 0xa2, 0x1b, 0xe3, 0x44, 0x81, 0x47, 0xe8, 0x1c, 0xa5, 0x2a, 0x36, + 0x65, 0x0a, 0x09, 0x15, 0x98, 0x1b, 0xe5, 0x30, 0x85, 0x81, 0x21, 0x79, 0x10, 0x13, 0x1e, 0x17, + 0xc6, 0x7c, 0xb0, 0x1c, 0x59, 0xfa, 0x1e, 0xac, 0x76, 0x51, 0x1f, 0x11, 0x1b, 0xb7, 0x88, 0xdd, + 0xa3, 0xcc, 0x58, 0xa8, 0x6a, 0xf5, 0x45, 0x2b, 0xbd, 0x98, 0x39, 0xf8, 0x11, 0x98, 0x93, 0x67, + 0x50, 0x47, 0xbf, 0x07, 0x6b, 0xc8, 0x63, 0x0e, 0xa3, 0x83, 0x4e, 0x1f, 0x79, 0x3e, 0x0e, 0x53, + 0xb0, 0x68, 0x65, 0x56, 0x6b, 0xdf, 0xc1, 0x72, 0xc4, 0xf2, 0x84, 0x16, 0x76, 0xcb, 0x03, 0x28, + 0x8f, 0xa8, 0xc0, 0x51, 0xa5, 0xee, 0xe4, 0xf6, 0xfa, 0x89, 0x47, 0xdc, 0x3e, 0x96, 0x44, 0x56, + 0x00, 0xce, 0x28, 0xfe, 0x0c, 0x36, 0xc6, 0x62, 0xbd, 0xb5, 0x54, 0x3f, 0xb8, 0xba, 0xd2, 0xfd, + 0x2b, 0x86, 0x08, 0x7f, 0x86, 0xd9, 0x35, 0x2a, 0x66, 0xc2, 0x22, 0xc3, 0x36, 0xf6, 0x46, 0x98, + 0x45, 0x25, 0x53, 0x76, 0x46, 0x6d, 0x78, 0xc9, 0xc6, 0xc3, 0xa9, 0x16, 0xff, 0x59, 0x0b, 0x6e, + 0x99, 0xdc, 0x3b, 0xa2, 0xa4, 0xf8, 0x96, 0x4d, 0x13, 0xf2, 0x09, 0x2c, 0x20, 0x9f, 0x0e, 0xa3, + 0xce, 0x99, 0xa1, 0xf7, 0x23, 0x78, 0xee, 0x35, 0x4c, 0x94, 0x28, 0x8d, 0x3f, 0x69, 0xb0, 0x1e, + 0xed, 0xb4, 0x98, 0x78, 0x41, 0xd9, 0xf3, 0x96, 0xe3, 0x5c, 0x43, 0xe7, 0x26, 0xcc, 0x7b, 0x3e, + 0x72, 0x71, 0x3c, 0x0b, 0x02, 0x43, 0xf2, 0x3c, 0x1b, 0xf6, 0xfb, 0x2d, 0x26, 0x82, 0x06, 0x5f, + 0xb4, 0x62, 0x33, 0x23, 0x6f, 0x07, 0xb6, 0x27, 0x44, 0x8c, 0x4d, 0x8a, 0x8d, 0x64, 0xd3, 0xe3, + 0xa2, 0xd3, 0x43, 0xc4, 0xbd, 0x4e, 0x2e, 0x93, 0x6b, 0x55, 0x1a, 0xbf, 0x56, 0x19, 0x2d, 0xef, + 0xc0, 0x4e, 0x4e, 0x38, 0xa5, 0xe6, 0xd3, 0x70, 0x26, 0xd0, 0x21, 0xb1, 0xbd, 0xbe, 0x85, 0x5d, + 0x8f, 0x8b, 0xa2, 0x0e, 0xcb, 0x90, 0xef, 0x86, 0xb7, 0x31, 0xed, 0xad, 0xb8, 0x1f, 0xc3, 0x66, + 0xb2, 0x7b, 0x84, 0xd9, 0xdb, 0xb2, 0x57, 0x60, 0x37, 0xcf, 0x5f, 0xf1, 0xbf, 0xd2, 0x60, 0xed, + 0x98, 0xbb, 0xc7, 0x48, 0xd8, 0x3d, 0x0b, 0x0f, 0x28, 0x13, 0xc5, 0x73, 0xdf, 0x97, 0x40, 0x95, + 0xc6, 0xd8, 0xd4, 0x6b, 0xb0, 0x32, 0xe8, 0xa3, 0x53, 0xec, 0xc8, 0x24, 0xf1, 0x96, 0x51, 0xaa, + 0x96, 0xea, 0x65, 0x2b, 0xb5, 0x96, 0xc1, 0xb4, 0x8d, 0xf2, 0x04, 0xa6, 0x2d, 0x23, 0xd0, 0xa1, + 0xb0, 0xa9, 0x8f, 0x83, 0x39, 0x37, 0x6f, 0xc5, 0x66, 0xe6, 0x58, 0x06, 0xdc, 0x4e, 0xab, 0x8e, + 0x0f, 0x74, 0xf8, 0xd7, 0x12, 0x94, 0x8e, 0xb9, 0xab, 0x77, 0x61, 0x25, 0xf5, 0x56, 0xef, 0xe5, + 0xce, 0x9d, 0xcc, 0x63, 0x68, 0x7e, 0x38, 0x0b, 0x4a, 0xcd, 0x9f, 0x6f, 0x01, 0xc6, 0xde, 0xcb, + 0xda, 0x54, 0x5f, 0x85, 0x31, 0xf7, 0xaf, 0xc6, 0x28, 0x76, 0x0c, 0xab, 0xe9, 0xb7, 0xf0, 0xee, + 0x34, 0xe7, 0x14, 0xcc, 0xbc, 0x3f, 0x13, 0x4c, 0x85, 0x79, 0x0e, 0x37, 0xb3, 0xcf, 0xd9, 0x7b, + 0x85, 0x0c, 0x09, 0xd0, 0x6c, 0xce, 0x08, 0x54, 0xc1, 0x9e, 0xc0, 0xa2, 0x7a, 0x31, 0xaa, 0x45, + 0xce, 0x12, 0x61, 0xd6, 0xaf, 0x42, 0x28, 0xde, 0x2e, 0xac, 0xa4, 0xc6, 0xfb, 0x5e, 0x91, 0x67, + 0x8c, 0x9a, 0x5e, 0xed, 0xbc, 0xd9, 0x2d, 0xab, 0x3d, 0x36, 0xb7, 0x6b, 0x45, 0xbe, 0x21, 0x66, + 0x7a, 0xb5, 0x27, 0xa7, 0xae, 0xde, 0x83, 0xb5, 0xcc, 0xc4, 0xbd, 0x57, 0xe4, 0x9d, 0xe0, 0xcc, + 0xc6, 0x6c, 0x38, 0x15, 0x89, 0xc0, 0xad, 0x89, 0xc9, 0x59, 0xbf, 0x82, 0x43, 0x21, 0xcd, 0x8f, + 0x66, 0x45, 0xa6, 0x1a, 0x2c, 0x33, 0x1b, 0xa7, 0x37, 0x58, 0x1a, 0x58, 0xd0, 0x60, 0xf9, 0xf3, + 0x52, 0xff, 0x1e, 0xd6, 0x27, 0x87, 0xe5, 0xfb, 0x57, 0xb0, 0x24, 0x50, 0xf3, 0x60, 0x66, 0xa8, + 0x0a, 0xf9, 0x14, 0x96, 0xc7, 0xc7, 0xe7, 0xbb, 0xd3, 0x18, 0xc6, 0x40, 0xe6, 0x07, 0x33, 0x80, + 0xe2, 0x00, 0xe6, 0xfc, 0x0f, 0xf2, 0xaf, 0xff, 0xb6, 0xf5, 0xfa, 0xbc, 0xa2, 0xbd, 0x39, 0xaf, + 0x68, 0xff, 0x9e, 0x57, 0xb4, 0x5f, 0x2f, 0x2a, 0x73, 0x6f, 0x2e, 0x2a, 0x73, 0x7f, 0x5f, 0x54, + 0xe6, 0xbe, 0x79, 0xe8, 0x7a, 0xa2, 0x37, 0xec, 0x36, 0x6c, 0xea, 0x37, 0x8f, 0xb0, 0x8d, 0x89, + 0x60, 0xa8, 0x2f, 0xeb, 0xf1, 0x39, 0xf2, 0x71, 0x33, 0xff, 0x97, 0x81, 0x38, 0x1d, 0x60, 0xde, + 0x5d, 0x08, 0x7e, 0xdc, 0x3c, 0xf8, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xce, 0xf3, 0x90, 0x9b, 0xd2, + 0x0d, 0x00, 0x00, } -func (m *MsgUpdateParamsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +// 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 { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) + CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) + CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) + CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) + CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) + CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) + CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) + CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) + CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) + MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) } -func (m *MsgUserCreate) 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.NewUser) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Alias) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n +type msgClient struct { + cc grpc1.ClientConn } -func (m *MsgUserCreateResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} } -func (m *MsgCardSchemeBuy) 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)) +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err } - l = m.Bid.Size() - n += 1 + l + sovTx(uint64(l)) - return n + return out, nil } -func (m *MsgCardSchemeBuyResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) +func (c *msgClient) UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) { + out := new(MsgUserCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UserCreate", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgCardSaveContent) 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)) +func (c *msgClient) CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) { + out := new(MsgCardSchemeBuyResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSchemeBuy", in, out, opts...) + if err != nil { + return nil, err } - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) + return out, nil +} + +func (c *msgClient) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) { + out := new(MsgCardSaveContentResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSaveContent", in, out, opts...) + if err != nil { + return nil, err } - l = len(m.Content) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + return out, nil +} + +func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) { + out := new(MsgCardVoteResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardVote", in, out, opts...) + if err != nil { + return nil, err } - l = len(m.Notes) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + return out, nil +} + +func (c *msgClient) CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) { + out := new(MsgCardTransferResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardTransfer", in, out, opts...) + if err != nil { + return nil, err } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + return out, nil +} + +func (c *msgClient) CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) { + out := new(MsgCardDonateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardDonate", in, out, opts...) + if err != nil { + return nil, err } - if m.BalanceAnchor { - n += 2 + return out, nil +} + +func (c *msgClient) CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) { + out := new(MsgCardArtworkAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtworkAdd", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgCardSaveContentResponse) Size() (n int) { - if m == nil { - return 0 +func (c *msgClient) CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) { + out := new(MsgCardArtistChangeResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtistChange", in, out, opts...) + if err != nil { + return nil, err } - var l int - _ = l - if m.AirdropClaimed { - n += 2 + return out, nil +} + +func (c *msgClient) CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) { + out := new(MsgCouncilRegisterResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilRegister", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgCardVote) Size() (n int) { - if m == nil { - return 0 +func (c *msgClient) CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) { + out := new(MsgCouncilDeregisterResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilDeregister", in, out, opts...) + if err != nil { + return nil, err } - var l int - _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + return out, nil +} + +func (c *msgClient) MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) { + out := new(MsgMatchReportResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchReport", in, out, opts...) + if err != nil { + return nil, err } - if m.Vote != nil { - l = m.Vote.Size() - n += 1 + l + sovTx(uint64(l)) + return out, nil +} + +// MsgServer is the server API for Msg service. +type MsgServer interface { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) + CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) + CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) + CardTransfer(context.Context, *MsgCardTransfer) (*MsgCardTransferResponse, error) + CardDonate(context.Context, *MsgCardDonate) (*MsgCardDonateResponse, error) + CardArtworkAdd(context.Context, *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) + CardArtistChange(context.Context, *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) + CouncilRegister(context.Context, *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) + CouncilDeregister(context.Context, *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) + MatchReport(context.Context, *MsgMatchReport) (*MsgMatchReportResponse, error) +} + +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { +} + +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} +func (*UnimplementedMsgServer) UserCreate(ctx context.Context, req *MsgUserCreate) (*MsgUserCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserCreate not implemented") +} +func (*UnimplementedMsgServer) CardSchemeBuy(ctx context.Context, req *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSchemeBuy not implemented") +} +func (*UnimplementedMsgServer) CardSaveContent(ctx context.Context, req *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSaveContent not implemented") +} +func (*UnimplementedMsgServer) CardVote(ctx context.Context, req *MsgCardVote) (*MsgCardVoteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") +} +func (*UnimplementedMsgServer) CardTransfer(ctx context.Context, req *MsgCardTransfer) (*MsgCardTransferResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardTransfer not implemented") +} +func (*UnimplementedMsgServer) CardDonate(ctx context.Context, req *MsgCardDonate) (*MsgCardDonateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardDonate not implemented") +} +func (*UnimplementedMsgServer) CardArtworkAdd(ctx context.Context, req *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardArtworkAdd not implemented") +} +func (*UnimplementedMsgServer) CardArtistChange(ctx context.Context, req *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardArtistChange not implemented") +} +func (*UnimplementedMsgServer) CouncilRegister(ctx context.Context, req *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilRegister not implemented") +} +func (*UnimplementedMsgServer) CouncilDeregister(ctx context.Context, req *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilDeregister not implemented") +} +func (*UnimplementedMsgServer) MatchReport(ctx context.Context, req *MsgMatchReport) (*MsgMatchReportResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchReport not implemented") +} + +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) +} + +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_UserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUserCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UserCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/UserCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UserCreate(ctx, req.(*MsgUserCreate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardSchemeBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSchemeBuy) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardSchemeBuy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardSchemeBuy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSchemeBuy(ctx, req.(*MsgCardSchemeBuy)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardSaveContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSaveContent) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardSaveContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardSaveContent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSaveContent(ctx, req.(*MsgCardSaveContent)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardVote) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardVote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardVote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardVote(ctx, req.(*MsgCardVote)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardTransfer) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardTransfer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardTransfer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardTransfer(ctx, req.(*MsgCardTransfer)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardDonate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardDonate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardDonate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardDonate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardDonate(ctx, req.(*MsgCardDonate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardArtworkAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardArtworkAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardArtworkAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardArtworkAdd(ctx, req.(*MsgCardArtworkAdd)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardArtistChange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardArtistChange) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardArtistChange(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardArtistChange", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardArtistChange(ctx, req.(*MsgCardArtistChange)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CouncilRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilRegister) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilRegister(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilRegister", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilRegister(ctx, req.(*MsgCouncilRegister)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CouncilDeregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilDeregister) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilDeregister(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilDeregister", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilDeregister(ctx, req.(*MsgCouncilDeregister)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_MatchReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchReport) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).MatchReport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/MatchReport", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchReport(ctx, req.(*MsgMatchReport)) + } + return interceptor(ctx, in, info, handler) +} + +var Msg_serviceDesc = _Msg_serviceDesc +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.cardchain.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, + { + MethodName: "UserCreate", + Handler: _Msg_UserCreate_Handler, + }, + { + MethodName: "CardSchemeBuy", + Handler: _Msg_CardSchemeBuy_Handler, + }, + { + MethodName: "CardSaveContent", + Handler: _Msg_CardSaveContent_Handler, + }, + { + MethodName: "CardVote", + Handler: _Msg_CardVote_Handler, + }, + { + MethodName: "CardTransfer", + Handler: _Msg_CardTransfer_Handler, + }, + { + MethodName: "CardDonate", + Handler: _Msg_CardDonate_Handler, + }, + { + MethodName: "CardArtworkAdd", + Handler: _Msg_CardArtworkAdd_Handler, + }, + { + MethodName: "CardArtistChange", + Handler: _Msg_CardArtistChange_Handler, + }, + { + MethodName: "CouncilRegister", + Handler: _Msg_CouncilRegister_Handler, + }, + { + MethodName: "CouncilDeregister", + Handler: _Msg_CouncilDeregister_Handler, + }, + { + MethodName: "MatchReport", + Handler: _Msg_MatchReport_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/cardchain/tx.proto", +} + +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgUserCreate) 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 *MsgUserCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Alias) > 0 { + i -= len(m.Alias) + copy(dAtA[i:], m.Alias) + i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) + i-- + dAtA[i] = 0x1a + } + if len(m.NewUser) > 0 { + i -= len(m.NewUser) + copy(dAtA[i:], m.NewUser) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewUser))) + 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 *MsgUserCreateResponse) 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 *MsgUserCreateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUserCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCardSchemeBuy) 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 *MsgCardSchemeBuy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSchemeBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + 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) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgCardSchemeBuyResponse) 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 *MsgCardSchemeBuyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSchemeBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = 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 +} + +func (m *MsgCardSaveContent) 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 *MsgCardSaveContent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSaveContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = 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) + i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x2a + } + if len(m.Notes) > 0 { + i -= len(m.Notes) + copy(dAtA[i:], m.Notes) + i = encodeVarintTx(dAtA, i, uint64(len(m.Notes))) + i-- + dAtA[i] = 0x22 + } + if len(m.Content) > 0 { + i -= len(m.Content) + copy(dAtA[i:], m.Content) + i = encodeVarintTx(dAtA, i, uint64(len(m.Content))) + 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 *MsgCardSaveContentResponse) 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 *MsgCardSaveContentResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSaveContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgCardVote) 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 *MsgCardVote) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Vote != nil { + { + size, err := m.Vote.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 *MsgCardVoteResponse) 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 *MsgCardVoteResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardVoteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgCardTransfer) 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 *MsgCardTransfer) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardTransfer) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Receiver) > 0 { + i -= len(m.Receiver) + copy(dAtA[i:], m.Receiver) + i = encodeVarintTx(dAtA, i, uint64(len(m.Receiver))) + 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 *MsgCardTransferResponse) 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 *MsgCardTransferResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardTransferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCardDonate) 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 *MsgCardDonate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardDonate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + 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 *MsgCardDonateResponse) 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 *MsgCardDonateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardDonateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCardArtworkAdd) 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 *MsgCardArtworkAdd) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.FullArt { + i-- + if m.FullArt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) + 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 *MsgCardArtworkAddResponse) 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 *MsgCardArtworkAddResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCardArtistChange) 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 *MsgCardArtistChange) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardArtistChange) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Artist) > 0 { + i -= len(m.Artist) + copy(dAtA[i:], m.Artist) + i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + 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 *MsgCardArtistChangeResponse) 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 *MsgCardArtistChangeResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardArtistChangeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCouncilRegister) 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 *MsgCouncilRegister) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilRegister) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + 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 *MsgCouncilRegisterResponse) 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 *MsgCouncilRegisterResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilRegisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCouncilDeregister) 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 *MsgCouncilDeregister) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilDeregister) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + 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 *MsgCouncilDeregisterResponse) 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 *MsgCouncilDeregisterResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilDeregisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgMatchReport) 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 *MsgMatchReport) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgMatchReport) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Outcome != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) + i-- + dAtA[i] = 0x28 + } + if len(m.PlayedCardsB) > 0 { + dAtA6 := make([]byte, len(m.PlayedCardsB)*10) + var j5 int + for _, num := range m.PlayedCardsB { + for num >= 1<<7 { + dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j5++ + } + dAtA6[j5] = uint8(num) + j5++ + } + i -= j5 + copy(dAtA[i:], dAtA6[:j5]) + i = encodeVarintTx(dAtA, i, uint64(j5)) + i-- + dAtA[i] = 0x22 + } + if len(m.PlayedCardsA) > 0 { + dAtA8 := make([]byte, len(m.PlayedCardsA)*10) + var j7 int + for _, num := range m.PlayedCardsA { + for num >= 1<<7 { + dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j7++ + } + dAtA8[j7] = uint8(num) + j7++ + } + i -= j7 + copy(dAtA[i:], dAtA8[:j7]) + i = encodeVarintTx(dAtA, i, uint64(j7)) + i-- + dAtA[i] = 0x1a + } + if m.MatchId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) + 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 *MsgMatchReportResponse) 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 *MsgMatchReportResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgMatchReportResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUserCreate) 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.NewUser) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Alias) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUserCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardSchemeBuy) 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 = m.Bid.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgCardSchemeBuyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgCardSaveContent) 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.Content) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Notes) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.BalanceAnchor { + n += 2 + } + return n +} + +func (m *MsgCardSaveContentResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgCardVote) 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.Vote != nil { + l = m.Vote.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardVoteResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgCardTransfer) 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.Receiver) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardTransferResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardDonate) 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 = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgCardDonateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardArtworkAdd) 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.Image) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.FullArt { + n += 2 + } + return n +} + +func (m *MsgCardArtworkAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardArtistChange) 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.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardArtistChangeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilRegister) 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)) + } + return n +} + +func (m *MsgCouncilRegisterResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilDeregister) 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)) + } + return n +} + +func (m *MsgCouncilDeregisterResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgMatchReport) 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.MatchId != 0 { + n += 1 + sovTx(uint64(m.MatchId)) + } + if len(m.PlayedCardsA) > 0 { + l = 0 + for _, e := range m.PlayedCardsA { + l += sovTx(uint64(e)) + } + n += 1 + sovTx(uint64(l)) + l + } + if len(m.PlayedCardsB) > 0 { + l = 0 + for _, e := range m.PlayedCardsB { + l += sovTx(uint64(e)) + } + n += 1 + sovTx(uint64(l)) + l + } + if m.Outcome != 0 { + n += 1 + sovTx(uint64(m.Outcome)) + } + return n +} + +func (m *MsgMatchReportResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUserCreate) 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: MsgUserCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewUser", 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.NewUser = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Alias", 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.Alias = 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 *MsgUserCreateResponse) 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: MsgUserCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUserCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardSchemeBuy) 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: MsgCardSchemeBuy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSchemeBuy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardSchemeBuyResponse) 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: MsgCardSchemeBuyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSchemeBuyResponse: 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:]) + 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 *MsgCardSaveContent) 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: MsgCardSaveContent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSaveContent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Content", 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.Content = string(dAtA[iNdEx:postIndex]) + 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 + 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:]) + 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 *MsgCardSaveContentResponse) 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: MsgCardSaveContentResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSaveContentResponse: 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 *MsgCardVote) 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: MsgCardVote: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardVote: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Vote == nil { + m.Vote = &SingleVote{} + } + if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardVoteResponse) 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: MsgCardVoteResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardVoteResponse: 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 *MsgCardTransfer) 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: MsgCardTransfer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Receiver", 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.Receiver = 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 *MsgCardTransferResponse) 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: MsgCardTransferResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } } - return n -} -func (m *MsgCardVoteResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AirdropClaimed { - n += 2 + if iNdEx > l { + return io.ErrUnexpectedEOF } - return n -} - -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + return nil } -func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { +func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1400,15 +4239,15 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardDonate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardDonate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1436,11 +4275,30 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Authority = string(dAtA[iNdEx:postIndex]) + 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: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1467,7 +4325,7 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -1492,7 +4350,7 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCardDonateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1515,10 +4373,10 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardDonateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardDonateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -1542,7 +4400,7 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { +func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1565,10 +4423,10 @@ func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUserCreate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardArtworkAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1604,10 +4462,10 @@ func (m *MsgUserCreate) 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 NewUser", 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 @@ -1617,27 +4475,14 @@ func (m *MsgUserCreate) 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 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NewUser = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Alias", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1665,8 +4510,28 @@ func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Alias = string(dAtA[iNdEx:postIndex]) + m.Image = string(dAtA[iNdEx:postIndex]) 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:]) @@ -1688,7 +4553,7 @@ func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUserCreateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCardArtworkAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1711,10 +4576,10 @@ func (m *MsgUserCreateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUserCreateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardArtworkAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUserCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -1738,7 +4603,7 @@ func (m *MsgUserCreateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { +func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1761,10 +4626,10 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSchemeBuy: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardArtistChange: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSchemeBuy: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardArtistChange: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1800,10 +4665,29 @@ func (m *MsgCardSchemeBuy) 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 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: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -1813,25 +4697,74 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Artist = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { return err } - iNdEx = postIndex + 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 *MsgCardArtistChangeResponse) 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: MsgCardArtistChangeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardArtistChangeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -1853,7 +4786,7 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSchemeBuyResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1876,17 +4809,17 @@ func (m *MsgCardSchemeBuyResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSchemeBuyResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilRegister: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSchemeBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilRegister: 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) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } - m.CardId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -1896,11 +4829,74 @@ func (m *MsgCardSchemeBuyResponse) 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.Creator = 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 *MsgCouncilRegisterResponse) 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: MsgCouncilRegisterResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilRegisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -1922,7 +4918,7 @@ func (m *MsgCardSchemeBuyResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilDeregister) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1945,10 +4941,10 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSaveContent: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilDeregister: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSaveContent: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilDeregister: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1983,141 +4979,6 @@ func (m *MsgCardSaveContent) 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 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: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Content", 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.Content = string(dAtA[iNdEx:postIndex]) - 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 - 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:]) @@ -2139,7 +5000,7 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSaveContentResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilDeregisterResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2162,32 +5023,12 @@ func (m *MsgCardSaveContentResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSaveContentResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilDeregisterResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSaveContentResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilDeregisterResponse: 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:]) @@ -2209,7 +5050,7 @@ func (m *MsgCardSaveContentResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardVote) Unmarshal(dAtA []byte) error { +func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2232,10 +5073,10 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardVote: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchReport: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardVote: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchReport: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -2271,10 +5112,10 @@ func (m *MsgCardVote) 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 Vote", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MatchId", wireType) } - var msglen int + m.MatchId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -2284,28 +5125,182 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.MatchId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx + case 3: + 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.PlayedCardsA = append(m.PlayedCardsA, 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.PlayedCardsA) == 0 { + m.PlayedCardsA = 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.PlayedCardsA = append(m.PlayedCardsA, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsA", wireType) } - if postIndex > l { - return io.ErrUnexpectedEOF + 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.PlayedCardsB = append(m.PlayedCardsB, 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.PlayedCardsB) == 0 { + m.PlayedCardsB = 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.PlayedCardsB = append(m.PlayedCardsB, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsB", wireType) } - if m.Vote == nil { - m.Vote = &SingleVote{} + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) } - if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + m.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Outcome |= int32(b&0x7F) << shift + if b < 0x80 { + break + } } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -2327,7 +5322,7 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { +func (m *MsgMatchReportResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2350,32 +5345,12 @@ func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardVoteResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchReportResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardVoteResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchReportResponse: 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:]) diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go index 6911a3d0..45e01b16 100644 --- a/x/cardchain/types/voting.pb.go +++ b/x/cardchain/types/voting.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. From 259721068e925b86ee9be7d81d3ef10356b9c8e1 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 00:05:32 +0100 Subject: [PATCH 12/99] feat(#242): Small type fixes --- api/cardchain/cardchain/genesis.pulsar.go | 9 +- api/cardchain/cardchain/match.pulsar.go | 7 +- .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- api/cardchain/cardchain/query.pulsar.go | 9 +- api/cardchain/cardchain/query_grpc.pb.go | 1 - api/cardchain/cardchain/tx.pulsar.go | 574 +++++++++--------- api/cardchain/cardchain/tx_grpc.pb.go | 1 - api/cardchain/cardchain/voting.pulsar.go | 7 +- docs/static/openapi.yml | 2 +- proto/cardchain/cardchain/tx.proto | 103 ++-- x/cardchain/types/genesis.pb.go | 7 +- x/cardchain/types/match.pb.go | 3 +- x/cardchain/types/message_card_artwork_add.go | 2 +- .../types/message_card_save_content.go | 2 +- x/cardchain/types/message_match_report.go | 2 +- x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/query.pb.go | 7 +- x/cardchain/types/tx.pb.go | 196 +++--- x/cardchain/types/voting.pb.go | 3 +- 20 files changed, 479 insertions(+), 481 deletions(-) diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index 6468855f..95f741db 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go index b2e29884..191ba7fd 100644 --- a/api/cardchain/cardchain/match.pulsar.go +++ b/api/cardchain/cardchain/match.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index dead9881..2b190f83 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,16 +2,15 @@ package module import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index e1114a45..1b2cbd3b 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index dd2bbea8..2fbc5336 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,19 +2,18 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 209e296a..641cf1eb 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index ceadfe7a..de7136d0 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,20 +2,19 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( @@ -2778,8 +2777,8 @@ func (x *fastReflection_MsgCardSaveContent) Range(f func(protoreflect.FieldDescr return } } - if x.Content != "" { - value := protoreflect.ValueOfString(x.Content) + if len(x.Content) != 0 { + value := protoreflect.ValueOfBytes(x.Content) if !f(fd_MsgCardSaveContent_content, value) { return } @@ -2822,7 +2821,7 @@ func (x *fastReflection_MsgCardSaveContent) Has(fd protoreflect.FieldDescriptor) case "cardchain.cardchain.MsgCardSaveContent.cardId": return x.CardId != uint64(0) case "cardchain.cardchain.MsgCardSaveContent.content": - return x.Content != "" + return len(x.Content) != 0 case "cardchain.cardchain.MsgCardSaveContent.notes": return x.Notes != "" case "cardchain.cardchain.MsgCardSaveContent.artist": @@ -2850,7 +2849,7 @@ func (x *fastReflection_MsgCardSaveContent) Clear(fd protoreflect.FieldDescripto case "cardchain.cardchain.MsgCardSaveContent.cardId": x.CardId = uint64(0) case "cardchain.cardchain.MsgCardSaveContent.content": - x.Content = "" + x.Content = nil case "cardchain.cardchain.MsgCardSaveContent.notes": x.Notes = "" case "cardchain.cardchain.MsgCardSaveContent.artist": @@ -2881,7 +2880,7 @@ func (x *fastReflection_MsgCardSaveContent) Get(descriptor protoreflect.FieldDes return protoreflect.ValueOfUint64(value) case "cardchain.cardchain.MsgCardSaveContent.content": value := x.Content - return protoreflect.ValueOfString(value) + return protoreflect.ValueOfBytes(value) case "cardchain.cardchain.MsgCardSaveContent.notes": value := x.Notes return protoreflect.ValueOfString(value) @@ -2916,7 +2915,7 @@ func (x *fastReflection_MsgCardSaveContent) Set(fd protoreflect.FieldDescriptor, case "cardchain.cardchain.MsgCardSaveContent.cardId": x.CardId = value.Uint() case "cardchain.cardchain.MsgCardSaveContent.content": - x.Content = value.Interface().(string) + x.Content = value.Bytes() case "cardchain.cardchain.MsgCardSaveContent.notes": x.Notes = value.Interface().(string) case "cardchain.cardchain.MsgCardSaveContent.artist": @@ -2973,7 +2972,7 @@ func (x *fastReflection_MsgCardSaveContent) NewField(fd protoreflect.FieldDescri case "cardchain.cardchain.MsgCardSaveContent.cardId": return protoreflect.ValueOfUint64(uint64(0)) case "cardchain.cardchain.MsgCardSaveContent.content": - return protoreflect.ValueOfString("") + return protoreflect.ValueOfBytes(nil) case "cardchain.cardchain.MsgCardSaveContent.notes": return protoreflect.ValueOfString("") case "cardchain.cardchain.MsgCardSaveContent.artist": @@ -3247,7 +3246,7 @@ func (x *fastReflection_MsgCardSaveContent) ProtoMethods() *protoiface.Methods { if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -3257,23 +3256,25 @@ func (x *fastReflection_MsgCardSaveContent) ProtoMethods() *protoiface.Methods { } 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Content = string(dAtA[iNdEx:postIndex]) + x.Content = append(x.Content[:0], dAtA[iNdEx:postIndex]...) + if x.Content == nil { + x.Content = []byte{} + } iNdEx = postIndex case 4: if wireType != 2 { @@ -6598,8 +6599,8 @@ func (x *fastReflection_MsgCardArtworkAdd) Range(f func(protoreflect.FieldDescri return } } - if x.Image != "" { - value := protoreflect.ValueOfString(x.Image) + if len(x.Image) != 0 { + value := protoreflect.ValueOfBytes(x.Image) if !f(fd_MsgCardArtworkAdd_image, value) { return } @@ -6630,7 +6631,7 @@ func (x *fastReflection_MsgCardArtworkAdd) Has(fd protoreflect.FieldDescriptor) case "cardchain.cardchain.MsgCardArtworkAdd.cardId": return x.CardId != uint64(0) case "cardchain.cardchain.MsgCardArtworkAdd.image": - return x.Image != "" + return len(x.Image) != 0 case "cardchain.cardchain.MsgCardArtworkAdd.fullArt": return x.FullArt != false default: @@ -6654,7 +6655,7 @@ func (x *fastReflection_MsgCardArtworkAdd) Clear(fd protoreflect.FieldDescriptor case "cardchain.cardchain.MsgCardArtworkAdd.cardId": x.CardId = uint64(0) case "cardchain.cardchain.MsgCardArtworkAdd.image": - x.Image = "" + x.Image = nil case "cardchain.cardchain.MsgCardArtworkAdd.fullArt": x.FullArt = false default: @@ -6681,7 +6682,7 @@ func (x *fastReflection_MsgCardArtworkAdd) Get(descriptor protoreflect.FieldDesc return protoreflect.ValueOfUint64(value) case "cardchain.cardchain.MsgCardArtworkAdd.image": value := x.Image - return protoreflect.ValueOfString(value) + return protoreflect.ValueOfBytes(value) case "cardchain.cardchain.MsgCardArtworkAdd.fullArt": value := x.FullArt return protoreflect.ValueOfBool(value) @@ -6710,7 +6711,7 @@ func (x *fastReflection_MsgCardArtworkAdd) Set(fd protoreflect.FieldDescriptor, case "cardchain.cardchain.MsgCardArtworkAdd.cardId": x.CardId = value.Uint() case "cardchain.cardchain.MsgCardArtworkAdd.image": - x.Image = value.Interface().(string) + x.Image = value.Bytes() case "cardchain.cardchain.MsgCardArtworkAdd.fullArt": x.FullArt = value.Bool() default: @@ -6759,7 +6760,7 @@ func (x *fastReflection_MsgCardArtworkAdd) NewField(fd protoreflect.FieldDescrip case "cardchain.cardchain.MsgCardArtworkAdd.cardId": return protoreflect.ValueOfUint64(uint64(0)) case "cardchain.cardchain.MsgCardArtworkAdd.image": - return protoreflect.ValueOfString("") + return protoreflect.ValueOfBytes(nil) case "cardchain.cardchain.MsgCardArtworkAdd.fullArt": return protoreflect.ValueOfBool(false) default: @@ -7007,7 +7008,7 @@ func (x *fastReflection_MsgCardArtworkAdd) ProtoMethods() *protoiface.Methods { if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -7017,23 +7018,25 @@ func (x *fastReflection_MsgCardArtworkAdd) ProtoMethods() *protoiface.Methods { } 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Image = string(dAtA[iNdEx:postIndex]) + x.Image = append(x.Image[:0], dAtA[iNdEx:postIndex]...) + if x.Image == nil { + x.Image = []byte{} + } iNdEx = postIndex case 4: if wireType != 0 { @@ -10086,8 +10089,8 @@ func (x *fastReflection_MsgMatchReport) Range(f func(protoreflect.FieldDescripto return } } - if x.Outcome != int32(0) { - value := protoreflect.ValueOfInt32(x.Outcome) + if x.Outcome != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Outcome)) if !f(fd_MsgMatchReport_outcome, value) { return } @@ -10116,7 +10119,7 @@ func (x *fastReflection_MsgMatchReport) Has(fd protoreflect.FieldDescriptor) boo case "cardchain.cardchain.MsgMatchReport.playedCardsB": return len(x.PlayedCardsB) != 0 case "cardchain.cardchain.MsgMatchReport.outcome": - return x.Outcome != int32(0) + return x.Outcome != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReport")) @@ -10142,7 +10145,7 @@ func (x *fastReflection_MsgMatchReport) Clear(fd protoreflect.FieldDescriptor) { case "cardchain.cardchain.MsgMatchReport.playedCardsB": x.PlayedCardsB = nil case "cardchain.cardchain.MsgMatchReport.outcome": - x.Outcome = int32(0) + x.Outcome = 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReport")) @@ -10179,7 +10182,7 @@ func (x *fastReflection_MsgMatchReport) Get(descriptor protoreflect.FieldDescrip return protoreflect.ValueOfList(listValue) case "cardchain.cardchain.MsgMatchReport.outcome": value := x.Outcome - return protoreflect.ValueOfInt32(value) + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReport")) @@ -10213,7 +10216,7 @@ func (x *fastReflection_MsgMatchReport) Set(fd protoreflect.FieldDescriptor, val clv := lv.(*_MsgMatchReport_4_list) x.PlayedCardsB = *clv.list case "cardchain.cardchain.MsgMatchReport.outcome": - x.Outcome = int32(value.Int()) + x.Outcome = (Outcome)(value.Enum()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReport")) @@ -10276,7 +10279,7 @@ func (x *fastReflection_MsgMatchReport) NewField(fd protoreflect.FieldDescriptor list := []uint64{} return protoreflect.ValueOfList(&_MsgMatchReport_4_list{list: &list}) case "cardchain.cardchain.MsgMatchReport.outcome": - return protoreflect.ValueOfInt32(int32(0)) + return protoreflect.ValueOfEnum(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReport")) @@ -10722,7 +10725,7 @@ func (x *fastReflection_MsgMatchReport) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.Outcome |= int32(b&0x7F) << shift + x.Outcome |= Outcome(b&0x7F) << shift if b < 0x80 { break } @@ -11368,7 +11371,7 @@ type MsgCardSaveContent 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"` - Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` + Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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"` @@ -11408,11 +11411,11 @@ func (x *MsgCardSaveContent) GetCardId() uint64 { return 0 } -func (x *MsgCardSaveContent) GetContent() string { +func (x *MsgCardSaveContent) GetContent() []byte { if x != nil { return x.Content } - return "" + return nil } func (x *MsgCardSaveContent) GetNotes() string { @@ -11710,7 +11713,7 @@ type MsgCardArtworkAdd 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"` - Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` FullArt bool `protobuf:"varint,4,opt,name=fullArt,proto3" json:"fullArt,omitempty"` } @@ -11748,11 +11751,11 @@ func (x *MsgCardArtworkAdd) GetCardId() uint64 { return 0 } -func (x *MsgCardArtworkAdd) GetImage() string { +func (x *MsgCardArtworkAdd) GetImage() []byte { if x != nil { return x.Image } - return "" + return nil } func (x *MsgCardArtworkAdd) GetFullArt() bool { @@ -11996,7 +11999,7 @@ type MsgMatchReport struct { 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 int32 `protobuf:"varint,5,opt,name=outcome,proto3" json:"outcome,omitempty"` + Outcome Outcome `protobuf:"varint,5,opt,name=outcome,proto3,enum=cardchain.cardchain.Outcome" json:"outcome,omitempty"` } func (x *MsgMatchReport) Reset() { @@ -12047,11 +12050,11 @@ func (x *MsgMatchReport) GetPlayedCardsB() []uint64 { return nil } -func (x *MsgMatchReport) GetOutcome() int32 { +func (x *MsgMatchReport) GetOutcome() Outcome { if x != nil { return x.Outcome } - return 0 + return Outcome_AWon } type MsgMatchReportResponse struct { @@ -12098,220 +12101,224 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, - 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, - 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x3a, 0x38, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x8a, 0xe7, 0xb0, 0x2a, 0x25, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, - 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, - 0xde, 0x1f, 0x00, 0x52, 0x03, 0x62, 0x69, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0xc2, 0x01, 0x0a, 0x12, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, - 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, - 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, - 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, - 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x44, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, - 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, - 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x56, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x33, - 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x04, 0x76, - 0x6f, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x3d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, - 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, - 0x22, 0x6d, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, - 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x0d, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, + 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, + 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x3a, 0x38, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x25, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x78, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, + 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x37, - 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, - 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, - 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, + 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x03, 0x62, 0x69, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0xc2, 0x01, 0x0a, 0x12, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, + 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, + 0x6f, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, + 0x6f, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x44, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, + 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, + 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x33, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x04, + 0x76, 0x6f, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x3d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, + 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, + 0x64, 0x22, 0x6d, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, - 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, - 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x14, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0e, - 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, - 0x73, 0x41, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, - 0x43, 0x61, 0x72, 0x64, 0x73, 0x41, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, - 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x75, - 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x75, 0x74, - 0x63, 0x6f, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd7, 0x09, 0x0a, - 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x0d, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, + 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, + 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x83, 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x3c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, + 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x14, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0c, + 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd2, 0x01, 0x0a, + 0x0e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, + 0x64, 0x73, 0x41, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x41, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x12, 0x36, 0x0a, 0x07, 0x6f, + 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, + 0x6f, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd7, 0x09, 0x0a, 0x03, + 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, + 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, + 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, + 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, - 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, + 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, + 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, + 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, - 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, - 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, - 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, - 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, - 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, - 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, - 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, + 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, - 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, - 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, + 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, + 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, + 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -12355,41 +12362,43 @@ var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*Params)(nil), // 24: cardchain.cardchain.Params (*v1beta1.Coin)(nil), // 25: cosmos.base.v1beta1.Coin (*SingleVote)(nil), // 26: cardchain.cardchain.SingleVote + (Outcome)(0), // 27: cardchain.cardchain.Outcome } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ 24, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params 25, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin 26, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote 25, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 0, // 4: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams - 2, // 5: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate - 4, // 6: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy - 6, // 7: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent - 8, // 8: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote - 10, // 9: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer - 12, // 10: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate - 14, // 11: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd - 16, // 12: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange - 18, // 13: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister - 20, // 14: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister - 22, // 15: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport - 1, // 16: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 17: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 18: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 19: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 20: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 21: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 22: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 23: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 24: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 25: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 26: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 27: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 16, // [16:28] is the sub-list for method output_type - 4, // [4:16] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 27, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 0, // 5: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams + 2, // 6: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate + 4, // 7: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy + 6, // 8: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent + 8, // 9: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote + 10, // 10: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer + 12, // 11: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate + 14, // 12: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd + 16, // 13: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange + 18, // 14: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister + 20, // 15: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister + 22, // 16: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport + 1, // 17: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 18: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 19: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 20: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 21: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 22: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 23: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 24: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 25: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 26: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 27: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 28: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 17, // [17:29] is the sub-list for method output_type + 5, // [5:17] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_cardchain_cardchain_tx_proto_init() } @@ -12399,6 +12408,7 @@ func file_cardchain_cardchain_tx_proto_init() { } file_cardchain_cardchain_params_proto_init() file_cardchain_cardchain_voting_proto_init() + file_cardchain_cardchain_match_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_tx_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateParams); i { diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 08262466..f869c5ee 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go index bf614c4f..2a02aa7e 100644 --- a/api/cardchain/cardchain/voting.pulsar.go +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_VotingResults_6_list)(nil) diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 454bf8c5..5de94ccc 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"type":"integer","format":"int32"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index c2b7bbe5..344a5be0 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -9,41 +9,45 @@ import "gogoproto/gogo.proto"; import "cardchain/cardchain/params.proto"; import "cosmos/base/v1beta1/coin.proto"; import "cardchain/cardchain/voting.proto"; +import "cardchain/cardchain/match.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // Msg defines the Msg service. service Msg { option (cosmos.msg.v1.service) = true; - + // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. - rpc UpdateParams (MsgUpdateParams ) returns (MsgUpdateParamsResponse ); - rpc UserCreate (MsgUserCreate ) returns (MsgUserCreateResponse ); - rpc CardSchemeBuy (MsgCardSchemeBuy ) returns (MsgCardSchemeBuyResponse ); - rpc CardSaveContent (MsgCardSaveContent ) returns (MsgCardSaveContentResponse ); - rpc CardVote (MsgCardVote ) returns (MsgCardVoteResponse ); - rpc CardTransfer (MsgCardTransfer ) returns (MsgCardTransferResponse ); - rpc CardDonate (MsgCardDonate ) returns (MsgCardDonateResponse ); - rpc CardArtworkAdd (MsgCardArtworkAdd ) returns (MsgCardArtworkAddResponse ); - rpc CardArtistChange (MsgCardArtistChange ) returns (MsgCardArtistChangeResponse ); - rpc CouncilRegister (MsgCouncilRegister ) returns (MsgCouncilRegisterResponse ); - rpc CouncilDeregister (MsgCouncilDeregister) returns (MsgCouncilDeregisterResponse); - rpc MatchReport (MsgMatchReport ) returns (MsgMatchReportResponse ); + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); + rpc UserCreate(MsgUserCreate) returns (MsgUserCreateResponse); + rpc CardSchemeBuy(MsgCardSchemeBuy) returns (MsgCardSchemeBuyResponse); + rpc CardSaveContent(MsgCardSaveContent) returns (MsgCardSaveContentResponse); + rpc CardVote(MsgCardVote) returns (MsgCardVoteResponse); + rpc CardTransfer(MsgCardTransfer) returns (MsgCardTransferResponse); + rpc CardDonate(MsgCardDonate) returns (MsgCardDonateResponse); + rpc CardArtworkAdd(MsgCardArtworkAdd) returns (MsgCardArtworkAddResponse); + rpc CardArtistChange(MsgCardArtistChange) + returns (MsgCardArtistChangeResponse); + rpc CouncilRegister(MsgCouncilRegister) returns (MsgCouncilRegisterResponse); + rpc CouncilDeregister(MsgCouncilDeregister) + returns (MsgCouncilDeregisterResponse); + rpc MatchReport(MsgMatchReport) returns (MsgMatchReportResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { - option (cosmos.msg.v1.signer) = "authority"; - option (amino.name) = "cardchain/x/cardchain/MsgUpdateParams"; - + option (cosmos.msg.v1.signer) = "authority"; + option (amino.name) = "cardchain/x/cardchain/MsgUpdateParams"; + // authority is the address that controls the module (defaults to x/gov unless // overwritten). - string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; // params defines the module parameters to update. - + // NOTE: All parameters must be supplied. - Params params = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; + Params params = 2 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; } // MsgUpdateParamsResponse defines the response structure for executing a @@ -54,49 +58,43 @@ message MsgUserCreate { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; string newUser = 2; - string alias = 3; + string alias = 3; } message MsgUserCreateResponse {} message MsgCardSchemeBuy { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - cosmos.base.v1beta1.Coin bid = 2 [(gogoproto.nullable) = false]; + string creator = 1; + cosmos.base.v1beta1.Coin bid = 2 [ (gogoproto.nullable) = false ]; } -message MsgCardSchemeBuyResponse { - uint64 cardId = 1; -} +message MsgCardSchemeBuyResponse { uint64 cardId = 1; } message MsgCardSaveContent { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; - string content = 3; - string notes = 4; - string artist = 5; - bool balanceAnchor = 6; + string creator = 1; + uint64 cardId = 2; + bytes content = 3; + string notes = 4; + string artist = 5; + bool balanceAnchor = 6; } -message MsgCardSaveContentResponse { - bool airdropClaimed = 1; -} +message MsgCardSaveContentResponse { bool airdropClaimed = 1; } message MsgCardVote { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - SingleVote vote = 2; + string creator = 1; + SingleVote vote = 2; } -message MsgCardVoteResponse { - bool airdropClaimed = 1; -} +message MsgCardVoteResponse { bool airdropClaimed = 1; } message MsgCardTransfer { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; + string creator = 1; + uint64 cardId = 2; string receiver = 3; } @@ -104,9 +102,9 @@ message MsgCardTransferResponse {} message MsgCardDonate { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; - cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; + string creator = 1; + uint64 cardId = 2; + cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; } message MsgCardDonateResponse {} @@ -114,9 +112,9 @@ message MsgCardDonateResponse {} message MsgCardArtworkAdd { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 cardId = 2; - string image = 3; - bool fullArt = 4; + uint64 cardId = 2; + bytes image = 3; + bool fullArt = 4; } message MsgCardArtworkAddResponse {} @@ -124,8 +122,8 @@ message MsgCardArtworkAddResponse {} message MsgCardArtistChange { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 cardId = 2; - string artist = 3; + uint64 cardId = 2; + string artist = 3; } message MsgCardArtistChangeResponse {} @@ -146,12 +144,11 @@ message MsgCouncilDeregisterResponse {} message MsgMatchReport { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 matchId = 2; + string creator = 1; + uint64 matchId = 2; repeated uint64 playedCardsA = 3; repeated uint64 playedCardsB = 4; - int32 outcome = 5; + Outcome outcome = 5; } message MsgMatchReportResponse {} - diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 958b40b6..0ea89648 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 660c57d2..7ac97cf8 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/message_card_artwork_add.go b/x/cardchain/types/message_card_artwork_add.go index 018b7996..55971415 100644 --- a/x/cardchain/types/message_card_artwork_add.go +++ b/x/cardchain/types/message_card_artwork_add.go @@ -8,7 +8,7 @@ import ( var _ sdk.Msg = &MsgCardArtworkAdd{} -func NewMsgCardArtworkAdd(creator string, cardId uint64, image string, fullArt bool) *MsgCardArtworkAdd { +func NewMsgCardArtworkAdd(creator string, cardId uint64, image []byte, fullArt bool) *MsgCardArtworkAdd { return &MsgCardArtworkAdd{ Creator: creator, CardId: cardId, diff --git a/x/cardchain/types/message_card_save_content.go b/x/cardchain/types/message_card_save_content.go index 7e2da45e..2c6d3283 100644 --- a/x/cardchain/types/message_card_save_content.go +++ b/x/cardchain/types/message_card_save_content.go @@ -8,7 +8,7 @@ import ( var _ sdk.Msg = &MsgCardSaveContent{} -func NewMsgCardSaveContent(creator string, cardId uint64, content string, notes string, artist string, balanceAnchor bool) *MsgCardSaveContent { +func NewMsgCardSaveContent(creator string, cardId uint64, content []byte, notes string, artist string, balanceAnchor bool) *MsgCardSaveContent { return &MsgCardSaveContent{ Creator: creator, CardId: cardId, diff --git a/x/cardchain/types/message_match_report.go b/x/cardchain/types/message_match_report.go index ccc0d781..fe32c05b 100644 --- a/x/cardchain/types/message_match_report.go +++ b/x/cardchain/types/message_match_report.go @@ -8,7 +8,7 @@ import ( var _ sdk.Msg = &MsgMatchReport{} -func NewMsgMatchReport(creator string, matchId uint64, playedCardsA []uint64, playedCardsB []uint64, outcome int32) *MsgMatchReport { +func NewMsgMatchReport(creator string, matchId uint64, playedCardsA []uint64, playedCardsB []uint64, outcome Outcome) *MsgMatchReport { return &MsgMatchReport{ Creator: creator, MatchId: matchId, diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index 231f0e7d..419d1ea0 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 99d2598e..6d858f55 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -19,6 +15,9 @@ import ( 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. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index 71f4b27a..535531d7 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -20,6 +16,9 @@ import ( 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. @@ -322,7 +321,7 @@ func (m *MsgCardSchemeBuyResponse) GetCardId() uint64 { type MsgCardSaveContent 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"` - Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` + Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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"` @@ -375,11 +374,11 @@ func (m *MsgCardSaveContent) GetCardId() uint64 { return 0 } -func (m *MsgCardSaveContent) GetContent() string { +func (m *MsgCardSaveContent) GetContent() []byte { if m != nil { return m.Content } - return "" + return nil } func (m *MsgCardSaveContent) GetNotes() string { @@ -738,7 +737,7 @@ var xxx_messageInfo_MsgCardDonateResponse proto.InternalMessageInfo type MsgCardArtworkAdd 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"` - Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` FullArt bool `protobuf:"varint,4,opt,name=fullArt,proto3" json:"fullArt,omitempty"` } @@ -789,11 +788,11 @@ func (m *MsgCardArtworkAdd) GetCardId() uint64 { return 0 } -func (m *MsgCardArtworkAdd) GetImage() string { +func (m *MsgCardArtworkAdd) GetImage() []byte { if m != nil { return m.Image } - return "" + return nil } func (m *MsgCardArtworkAdd) GetFullArt() bool { @@ -1100,7 +1099,7 @@ type MsgMatchReport struct { 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 int32 `protobuf:"varint,5,opt,name=outcome,proto3" json:"outcome,omitempty"` + Outcome Outcome `protobuf:"varint,5,opt,name=outcome,proto3,enum=cardchain.cardchain.Outcome" json:"outcome,omitempty"` } func (m *MsgMatchReport) Reset() { *m = MsgMatchReport{} } @@ -1164,11 +1163,11 @@ func (m *MsgMatchReport) GetPlayedCardsB() []uint64 { return nil } -func (m *MsgMatchReport) GetOutcome() int32 { +func (m *MsgMatchReport) GetOutcome() Outcome { if m != nil { return m.Outcome } - return 0 + return Outcome_AWon } type MsgMatchReportResponse struct { @@ -1237,76 +1236,77 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 1091 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, - 0x17, 0xcf, 0xd6, 0x4e, 0xbe, 0xc9, 0xcb, 0x8f, 0x36, 0x9b, 0x7c, 0x9b, 0xcd, 0x26, 0xb8, 0x96, - 0x49, 0x8b, 0x09, 0xd4, 0x26, 0xa9, 0x04, 0x55, 0x05, 0x95, 0x6c, 0x47, 0x42, 0x1c, 0x22, 0xa1, - 0x0d, 0xf4, 0x80, 0x90, 0xaa, 0xf1, 0xee, 0x74, 0xbd, 0xd4, 0x3b, 0x63, 0x66, 0xc6, 0x6e, 0x73, - 0x43, 0x70, 0x41, 0x9c, 0xf8, 0x33, 0x38, 0xe6, 0xd0, 0xbf, 0x00, 0x2e, 0x3d, 0x56, 0x5c, 0xe0, - 0x84, 0x50, 0x72, 0xc8, 0xbf, 0x81, 0x66, 0x7f, 0xcc, 0x7a, 0xd7, 0xeb, 0x8d, 0x9b, 0x4b, 0xbb, - 0x6f, 0xe6, 0xf3, 0x3e, 0xef, 0x33, 0xef, 0xbd, 0x79, 0x13, 0xc3, 0xae, 0x8d, 0x98, 0x63, 0xf7, - 0x90, 0x47, 0x9a, 0xc9, 0x97, 0x78, 0xd9, 0x18, 0x30, 0x2a, 0xa8, 0xbe, 0xa1, 0xd6, 0x1a, 0xea, - 0xcb, 0x5c, 0x47, 0xbe, 0x47, 0x68, 0x33, 0xf8, 0x37, 0xc4, 0x99, 0x5b, 0x36, 0xe5, 0x3e, 0xe5, - 0x4d, 0x9f, 0xbb, 0xcd, 0xd1, 0x81, 0xfc, 0x2f, 0xda, 0xd8, 0x0e, 0x37, 0x9e, 0x06, 0x56, 0x33, - 0x34, 0xa2, 0xad, 0x4d, 0x97, 0xba, 0x34, 0x5c, 0x97, 0x5f, 0xd1, 0x6a, 0x35, 0x4f, 0xcf, 0x00, - 0x31, 0xe4, 0xc7, 0x7e, 0x95, 0x28, 0x56, 0x17, 0x71, 0xdc, 0x1c, 0x1d, 0x74, 0xb1, 0x40, 0x07, - 0x4d, 0x9b, 0x7a, 0xa4, 0x88, 0x61, 0x44, 0x85, 0x47, 0x22, 0x51, 0xb5, 0x3f, 0x34, 0xb8, 0x79, - 0xcc, 0xdd, 0xaf, 0x07, 0x0e, 0x12, 0xf8, 0xcb, 0x80, 0x5b, 0xff, 0x18, 0x96, 0xd0, 0x50, 0xf4, - 0x28, 0xf3, 0xc4, 0xa9, 0xa1, 0x55, 0xb5, 0xfa, 0x52, 0xdb, 0xf8, 0xf3, 0xd5, 0xfd, 0xcd, 0x48, - 0x72, 0xcb, 0x71, 0x18, 0xe6, 0xfc, 0x44, 0x30, 0x8f, 0xb8, 0x56, 0x02, 0xd5, 0x1f, 0xc3, 0x42, - 0xa8, 0xce, 0xb8, 0x51, 0xd5, 0xea, 0xcb, 0x87, 0x3b, 0x8d, 0x9c, 0x94, 0x35, 0xc2, 0x20, 0xed, - 0xa5, 0xd7, 0xff, 0xdc, 0x99, 0xfb, 0xed, 0xf2, 0x6c, 0x5f, 0xb3, 0x22, 0xaf, 0x47, 0x0f, 0x7f, - 0xbc, 0x3c, 0xdb, 0x4f, 0xf8, 0x7e, 0xb9, 0x3c, 0xdb, 0xbf, 0x9b, 0xc8, 0x7e, 0x39, 0x76, 0x84, - 0x8c, 0xe2, 0xda, 0x36, 0x6c, 0x65, 0x96, 0x2c, 0xcc, 0x07, 0x94, 0x70, 0x5c, 0x73, 0x61, 0x55, - 0x6e, 0x71, 0xcc, 0x3a, 0x0c, 0x23, 0x81, 0x75, 0x03, 0xfe, 0x67, 0xcb, 0x2f, 0xca, 0xc2, 0xb3, - 0x59, 0xb1, 0x29, 0x77, 0x08, 0x7e, 0x21, 0xa1, 0xc1, 0x01, 0x96, 0xac, 0xd8, 0xd4, 0x37, 0x61, - 0x1e, 0xf5, 0x3d, 0xc4, 0x8d, 0x52, 0xb0, 0x1e, 0x1a, 0x8f, 0x56, 0xa4, 0xde, 0xd8, 0xbb, 0xb6, - 0x05, 0xff, 0x4f, 0x05, 0x52, 0x0a, 0x7c, 0xb8, 0x75, 0xcc, 0xdd, 0x0e, 0x62, 0xce, 0x89, 0xdd, - 0xc3, 0x3e, 0x6e, 0x0f, 0x4f, 0x0b, 0x44, 0x1c, 0x40, 0xa9, 0xeb, 0x39, 0x51, 0x06, 0xb7, 0x1b, - 0x51, 0xce, 0x65, 0x81, 0x1b, 0x51, 0x81, 0x1b, 0x1d, 0xea, 0x91, 0x76, 0x59, 0xe6, 0xcf, 0x92, - 0xd8, 0x8c, 0x8e, 0x43, 0x30, 0xb2, 0xe1, 0x62, 0x29, 0xfa, 0x6d, 0x58, 0x90, 0x49, 0xfc, 0xc2, - 0x09, 0xa2, 0x96, 0xad, 0xc8, 0xaa, 0xfd, 0xae, 0x81, 0x1e, 0x3b, 0xa1, 0x11, 0xee, 0x50, 0x22, - 0x30, 0x11, 0x05, 0x2a, 0x13, 0xa2, 0x1b, 0xe3, 0x44, 0x81, 0x47, 0xe8, 0x1c, 0xa5, 0x2a, 0x36, - 0x65, 0x0a, 0x09, 0x15, 0x98, 0x1b, 0xe5, 0x30, 0x85, 0x81, 0x21, 0x79, 0x10, 0x13, 0x1e, 0x17, - 0xc6, 0x7c, 0xb0, 0x1c, 0x59, 0xfa, 0x1e, 0xac, 0x76, 0x51, 0x1f, 0x11, 0x1b, 0xb7, 0x88, 0xdd, - 0xa3, 0xcc, 0x58, 0xa8, 0x6a, 0xf5, 0x45, 0x2b, 0xbd, 0x98, 0x39, 0xf8, 0x11, 0x98, 0x93, 0x67, - 0x50, 0x47, 0xbf, 0x07, 0x6b, 0xc8, 0x63, 0x0e, 0xa3, 0x83, 0x4e, 0x1f, 0x79, 0x3e, 0x0e, 0x53, - 0xb0, 0x68, 0x65, 0x56, 0x6b, 0xdf, 0xc1, 0x72, 0xc4, 0xf2, 0x84, 0x16, 0x76, 0xcb, 0x03, 0x28, - 0x8f, 0xa8, 0xc0, 0x51, 0xa5, 0xee, 0xe4, 0xf6, 0xfa, 0x89, 0x47, 0xdc, 0x3e, 0x96, 0x44, 0x56, - 0x00, 0xce, 0x28, 0xfe, 0x0c, 0x36, 0xc6, 0x62, 0xbd, 0xb5, 0x54, 0x3f, 0xb8, 0xba, 0xd2, 0xfd, - 0x2b, 0x86, 0x08, 0x7f, 0x86, 0xd9, 0x35, 0x2a, 0x66, 0xc2, 0x22, 0xc3, 0x36, 0xf6, 0x46, 0x98, - 0x45, 0x25, 0x53, 0x76, 0x46, 0x6d, 0x78, 0xc9, 0xc6, 0xc3, 0xa9, 0x16, 0xff, 0x59, 0x0b, 0x6e, - 0x99, 0xdc, 0x3b, 0xa2, 0xa4, 0xf8, 0x96, 0x4d, 0x13, 0xf2, 0x09, 0x2c, 0x20, 0x9f, 0x0e, 0xa3, - 0xce, 0x99, 0xa1, 0xf7, 0x23, 0x78, 0xee, 0x35, 0x4c, 0x94, 0x28, 0x8d, 0x3f, 0x69, 0xb0, 0x1e, - 0xed, 0xb4, 0x98, 0x78, 0x41, 0xd9, 0xf3, 0x96, 0xe3, 0x5c, 0x43, 0xe7, 0x26, 0xcc, 0x7b, 0x3e, - 0x72, 0x71, 0x3c, 0x0b, 0x02, 0x43, 0xf2, 0x3c, 0x1b, 0xf6, 0xfb, 0x2d, 0x26, 0x82, 0x06, 0x5f, - 0xb4, 0x62, 0x33, 0x23, 0x6f, 0x07, 0xb6, 0x27, 0x44, 0x8c, 0x4d, 0x8a, 0x8d, 0x64, 0xd3, 0xe3, - 0xa2, 0xd3, 0x43, 0xc4, 0xbd, 0x4e, 0x2e, 0x93, 0x6b, 0x55, 0x1a, 0xbf, 0x56, 0x19, 0x2d, 0xef, - 0xc0, 0x4e, 0x4e, 0x38, 0xa5, 0xe6, 0xd3, 0x70, 0x26, 0xd0, 0x21, 0xb1, 0xbd, 0xbe, 0x85, 0x5d, - 0x8f, 0x8b, 0xa2, 0x0e, 0xcb, 0x90, 0xef, 0x86, 0xb7, 0x31, 0xed, 0xad, 0xb8, 0x1f, 0xc3, 0x66, - 0xb2, 0x7b, 0x84, 0xd9, 0xdb, 0xb2, 0x57, 0x60, 0x37, 0xcf, 0x5f, 0xf1, 0xbf, 0xd2, 0x60, 0xed, - 0x98, 0xbb, 0xc7, 0x48, 0xd8, 0x3d, 0x0b, 0x0f, 0x28, 0x13, 0xc5, 0x73, 0xdf, 0x97, 0x40, 0x95, - 0xc6, 0xd8, 0xd4, 0x6b, 0xb0, 0x32, 0xe8, 0xa3, 0x53, 0xec, 0xc8, 0x24, 0xf1, 0x96, 0x51, 0xaa, - 0x96, 0xea, 0x65, 0x2b, 0xb5, 0x96, 0xc1, 0xb4, 0x8d, 0xf2, 0x04, 0xa6, 0x2d, 0x23, 0xd0, 0xa1, - 0xb0, 0xa9, 0x8f, 0x83, 0x39, 0x37, 0x6f, 0xc5, 0x66, 0xe6, 0x58, 0x06, 0xdc, 0x4e, 0xab, 0x8e, - 0x0f, 0x74, 0xf8, 0xd7, 0x12, 0x94, 0x8e, 0xb9, 0xab, 0x77, 0x61, 0x25, 0xf5, 0x56, 0xef, 0xe5, - 0xce, 0x9d, 0xcc, 0x63, 0x68, 0x7e, 0x38, 0x0b, 0x4a, 0xcd, 0x9f, 0x6f, 0x01, 0xc6, 0xde, 0xcb, - 0xda, 0x54, 0x5f, 0x85, 0x31, 0xf7, 0xaf, 0xc6, 0x28, 0x76, 0x0c, 0xab, 0xe9, 0xb7, 0xf0, 0xee, - 0x34, 0xe7, 0x14, 0xcc, 0xbc, 0x3f, 0x13, 0x4c, 0x85, 0x79, 0x0e, 0x37, 0xb3, 0xcf, 0xd9, 0x7b, - 0x85, 0x0c, 0x09, 0xd0, 0x6c, 0xce, 0x08, 0x54, 0xc1, 0x9e, 0xc0, 0xa2, 0x7a, 0x31, 0xaa, 0x45, - 0xce, 0x12, 0x61, 0xd6, 0xaf, 0x42, 0x28, 0xde, 0x2e, 0xac, 0xa4, 0xc6, 0xfb, 0x5e, 0x91, 0x67, - 0x8c, 0x9a, 0x5e, 0xed, 0xbc, 0xd9, 0x2d, 0xab, 0x3d, 0x36, 0xb7, 0x6b, 0x45, 0xbe, 0x21, 0x66, - 0x7a, 0xb5, 0x27, 0xa7, 0xae, 0xde, 0x83, 0xb5, 0xcc, 0xc4, 0xbd, 0x57, 0xe4, 0x9d, 0xe0, 0xcc, - 0xc6, 0x6c, 0x38, 0x15, 0x89, 0xc0, 0xad, 0x89, 0xc9, 0x59, 0xbf, 0x82, 0x43, 0x21, 0xcd, 0x8f, - 0x66, 0x45, 0xa6, 0x1a, 0x2c, 0x33, 0x1b, 0xa7, 0x37, 0x58, 0x1a, 0x58, 0xd0, 0x60, 0xf9, 0xf3, - 0x52, 0xff, 0x1e, 0xd6, 0x27, 0x87, 0xe5, 0xfb, 0x57, 0xb0, 0x24, 0x50, 0xf3, 0x60, 0x66, 0xa8, - 0x0a, 0xf9, 0x14, 0x96, 0xc7, 0xc7, 0xe7, 0xbb, 0xd3, 0x18, 0xc6, 0x40, 0xe6, 0x07, 0x33, 0x80, - 0xe2, 0x00, 0xe6, 0xfc, 0x0f, 0xf2, 0xaf, 0xff, 0xb6, 0xf5, 0xfa, 0xbc, 0xa2, 0xbd, 0x39, 0xaf, - 0x68, 0xff, 0x9e, 0x57, 0xb4, 0x5f, 0x2f, 0x2a, 0x73, 0x6f, 0x2e, 0x2a, 0x73, 0x7f, 0x5f, 0x54, - 0xe6, 0xbe, 0x79, 0xe8, 0x7a, 0xa2, 0x37, 0xec, 0x36, 0x6c, 0xea, 0x37, 0x8f, 0xb0, 0x8d, 0x89, - 0x60, 0xa8, 0x2f, 0xeb, 0xf1, 0x39, 0xf2, 0x71, 0x33, 0xff, 0x97, 0x81, 0x38, 0x1d, 0x60, 0xde, - 0x5d, 0x08, 0x7e, 0xdc, 0x3c, 0xf8, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xce, 0xf3, 0x90, 0x9b, 0xd2, - 0x0d, 0x00, 0x00, + // 1108 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xcf, 0xd6, 0x4e, 0x9a, 0xbc, 0x26, 0x69, 0xb3, 0x09, 0xcd, 0x66, 0x13, 0x1c, 0xcb, 0xa4, + 0xc5, 0x04, 0x6a, 0x93, 0x54, 0x2a, 0x55, 0x05, 0x95, 0x6c, 0x47, 0x42, 0x1c, 0x2c, 0xd0, 0x06, + 0x7a, 0x40, 0x48, 0xd5, 0x78, 0x77, 0xba, 0x5e, 0xea, 0xdd, 0x31, 0x33, 0x63, 0xb7, 0xb9, 0x21, + 0xb8, 0x20, 0x4e, 0x7c, 0x0c, 0x8e, 0x39, 0xf0, 0x09, 0xe0, 0xd2, 0x63, 0xd5, 0x0b, 0x9c, 0x10, + 0x4a, 0x0e, 0xf9, 0x1a, 0x68, 0xf6, 0xcf, 0xec, 0x1f, 0xaf, 0x37, 0x6e, 0x2e, 0xc9, 0xbe, 0x99, + 0xdf, 0xfb, 0xbd, 0xdf, 0x7b, 0xf3, 0xe6, 0x8d, 0x0c, 0x3b, 0x26, 0xa2, 0x96, 0xd9, 0x47, 0x8e, + 0xd7, 0x8c, 0xbf, 0xf8, 0xcb, 0xc6, 0x90, 0x12, 0x4e, 0xd4, 0x75, 0xb9, 0xd6, 0x90, 0x5f, 0xfa, + 0x1a, 0x72, 0x1d, 0x8f, 0x34, 0xfd, 0xbf, 0x01, 0x4e, 0xdf, 0x34, 0x09, 0x73, 0x09, 0x6b, 0xba, + 0xcc, 0x6e, 0x8e, 0x0f, 0xc4, 0xbf, 0x70, 0x63, 0x2b, 0xd8, 0x78, 0xea, 0x5b, 0xcd, 0xc0, 0x08, + 0xb7, 0x36, 0x6c, 0x62, 0x93, 0x60, 0x5d, 0x7c, 0x85, 0xab, 0xd5, 0x3c, 0x3d, 0x43, 0x44, 0x91, + 0x1b, 0xf9, 0x55, 0xc2, 0x58, 0x3d, 0xc4, 0x70, 0x73, 0x7c, 0xd0, 0xc3, 0x1c, 0x1d, 0x34, 0x4d, + 0xe2, 0x78, 0x45, 0x0c, 0x63, 0xc2, 0x1d, 0x2f, 0x12, 0xb5, 0x9b, 0x87, 0x70, 0x11, 0x37, 0xfb, + 0x01, 0xa0, 0xf6, 0x97, 0x02, 0x37, 0xbb, 0xcc, 0xfe, 0x66, 0x68, 0x21, 0x8e, 0xbf, 0xf2, 0x83, + 0xab, 0x0f, 0x60, 0x09, 0x8d, 0x78, 0x9f, 0x50, 0x87, 0x9f, 0x68, 0x4a, 0x55, 0xa9, 0x2f, 0xb5, + 0xb5, 0x37, 0x7f, 0xdc, 0xdb, 0x08, 0x73, 0x6a, 0x59, 0x16, 0xc5, 0x8c, 0x1d, 0x73, 0xea, 0x78, + 0xb6, 0x11, 0x43, 0xd5, 0xc7, 0xb0, 0x10, 0xc8, 0xd7, 0xae, 0x55, 0x95, 0xfa, 0x8d, 0xc3, 0xed, + 0x46, 0x4e, 0x4d, 0x1b, 0x41, 0x90, 0xf6, 0xd2, 0xab, 0x7f, 0x77, 0xe7, 0x7e, 0xbf, 0x38, 0xdd, + 0x57, 0x8c, 0xd0, 0xeb, 0xd1, 0xc3, 0x9f, 0x2e, 0x4e, 0xf7, 0x63, 0xbe, 0x5f, 0x2f, 0x4e, 0xf7, + 0xef, 0xc4, 0xaa, 0x5f, 0x26, 0x32, 0xc8, 0x28, 0xae, 0x6d, 0xc1, 0x66, 0x66, 0xc9, 0xc0, 0x6c, + 0x48, 0x3c, 0x86, 0x6b, 0x36, 0xac, 0x88, 0x2d, 0x86, 0x69, 0x87, 0x62, 0xc4, 0xb1, 0xaa, 0xc1, + 0x75, 0x53, 0x7c, 0x11, 0x1a, 0xe4, 0x66, 0x44, 0xa6, 0xd8, 0xf1, 0xf0, 0x0b, 0x01, 0xf5, 0x13, + 0x58, 0x32, 0x22, 0x53, 0xdd, 0x80, 0x79, 0x34, 0x70, 0x10, 0xd3, 0x4a, 0xfe, 0x7a, 0x60, 0x3c, + 0x5a, 0x16, 0x7a, 0x23, 0xef, 0xda, 0x26, 0xbc, 0x93, 0x0a, 0x24, 0x15, 0xb8, 0x70, 0xab, 0xcb, + 0xec, 0x0e, 0xa2, 0xd6, 0xb1, 0xd9, 0xc7, 0x2e, 0x6e, 0x8f, 0x4e, 0x0a, 0x44, 0x1c, 0x40, 0xa9, + 0xe7, 0x58, 0x61, 0x05, 0xb7, 0x1a, 0x61, 0xcd, 0x45, 0x07, 0x34, 0xc2, 0x0e, 0x68, 0x74, 0x88, + 0xe3, 0xb5, 0xcb, 0xa2, 0x7e, 0x86, 0xc0, 0x66, 0x74, 0x1c, 0x82, 0x96, 0x0d, 0x17, 0x49, 0x51, + 0x6f, 0xc3, 0x82, 0x28, 0xe2, 0x17, 0x96, 0x1f, 0xb5, 0x6c, 0x84, 0x56, 0xed, 0x4f, 0x05, 0xd4, + 0xc8, 0x09, 0x8d, 0x71, 0x87, 0x78, 0x1c, 0x7b, 0xbc, 0x40, 0x65, 0x4c, 0x74, 0x2d, 0x49, 0xe4, + 0x7b, 0x04, 0xce, 0x7e, 0xa9, 0x96, 0x8d, 0xc8, 0x14, 0x25, 0xf4, 0x08, 0xc7, 0x4c, 0x2b, 0x07, + 0x25, 0xf4, 0x0d, 0xc1, 0x83, 0x28, 0x77, 0x18, 0xd7, 0xe6, 0xfd, 0xe5, 0xd0, 0x52, 0xf7, 0x60, + 0xa5, 0x87, 0x06, 0xc8, 0x33, 0x71, 0xcb, 0x33, 0xfb, 0x84, 0x6a, 0x0b, 0x55, 0xa5, 0xbe, 0x68, + 0xa4, 0x17, 0x33, 0x89, 0x1f, 0x81, 0x3e, 0x99, 0x83, 0x4c, 0xfd, 0x2e, 0xac, 0x22, 0x87, 0x5a, + 0x94, 0x0c, 0x3b, 0x03, 0xe4, 0xb8, 0x38, 0x28, 0xc1, 0xa2, 0x91, 0x59, 0xad, 0x7d, 0x0f, 0x37, + 0x42, 0x96, 0x27, 0xa4, 0xb0, 0x5b, 0xee, 0x43, 0x79, 0x4c, 0x38, 0x0e, 0x4f, 0x6a, 0x37, 0xb7, + 0xd7, 0x8f, 0x1d, 0xcf, 0x1e, 0x60, 0x41, 0x64, 0xf8, 0xe0, 0x8c, 0xe2, 0xcf, 0x60, 0x3d, 0x11, + 0xeb, 0xad, 0xa5, 0xba, 0xfe, 0xd5, 0x15, 0xee, 0x5f, 0x53, 0xe4, 0xb1, 0x67, 0x98, 0x5e, 0xe1, + 0xc4, 0x74, 0x58, 0xa4, 0xd8, 0xc4, 0xce, 0x18, 0xd3, 0xb0, 0xbb, 0xa5, 0x9d, 0x51, 0x1b, 0x5c, + 0xb2, 0x64, 0x38, 0xd9, 0xe2, 0xbf, 0x28, 0xfe, 0x2d, 0x13, 0x7b, 0x47, 0xc4, 0x2b, 0xbe, 0x65, + 0xd3, 0x84, 0x7c, 0x02, 0x0b, 0xc8, 0x25, 0xa3, 0xb0, 0x73, 0x66, 0xe8, 0xfd, 0x10, 0x9e, 0x7b, + 0x0d, 0x63, 0x25, 0x52, 0xe3, 0xcf, 0x0a, 0xac, 0x85, 0x3b, 0x2d, 0xca, 0x5f, 0x10, 0xfa, 0xbc, + 0x65, 0x59, 0x57, 0xd0, 0xb9, 0x01, 0xf3, 0x8e, 0x8b, 0x6c, 0x1c, 0x36, 0x78, 0x60, 0x08, 0x9e, + 0x67, 0xa3, 0xc1, 0xa0, 0x45, 0xb9, 0xdf, 0xe0, 0x8b, 0x46, 0x64, 0x66, 0xe4, 0x6d, 0xc3, 0xd6, + 0x84, 0x88, 0xc4, 0xa4, 0x58, 0x8f, 0x37, 0x1d, 0xc6, 0x3b, 0x7d, 0xe4, 0xd9, 0x57, 0xa9, 0x65, + 0x7c, 0xad, 0x4a, 0xc9, 0x6b, 0x95, 0xd1, 0xf2, 0x2e, 0x6c, 0xe7, 0x84, 0x93, 0x6a, 0x3e, 0x0d, + 0x66, 0x02, 0x19, 0x79, 0xa6, 0x33, 0x30, 0xb0, 0xed, 0x30, 0x5e, 0xd4, 0x61, 0x19, 0xf2, 0x9d, + 0xe0, 0x36, 0xa6, 0xbd, 0x25, 0xf7, 0x63, 0xd8, 0x88, 0x77, 0x8f, 0x30, 0x7d, 0x5b, 0xf6, 0x0a, + 0xec, 0xe4, 0xf9, 0x4b, 0xfe, 0x37, 0x0a, 0xac, 0x76, 0x99, 0xdd, 0x15, 0x2f, 0x9d, 0x81, 0x87, + 0x84, 0xf2, 0xe2, 0xb9, 0xef, 0x3f, 0x89, 0xb2, 0x8c, 0x91, 0xa9, 0xd6, 0x60, 0x79, 0x38, 0x40, + 0x27, 0xd8, 0x12, 0x45, 0x62, 0x2d, 0xad, 0x54, 0x2d, 0xd5, 0xcb, 0x46, 0x6a, 0x2d, 0x83, 0x69, + 0x6b, 0xe5, 0x09, 0x4c, 0x5b, 0x7d, 0x00, 0xd7, 0xc9, 0x88, 0x9b, 0xc4, 0xc5, 0xfe, 0x9c, 0x5b, + 0x3d, 0xdc, 0xc9, 0x1d, 0x17, 0x5f, 0x06, 0x18, 0x23, 0x02, 0x67, 0x92, 0xd6, 0xe0, 0x76, 0x3a, + 0xa7, 0x28, 0xdd, 0xc3, 0xbf, 0x97, 0xa0, 0xd4, 0x65, 0xb6, 0xda, 0x83, 0xe5, 0xd4, 0x4b, 0xbe, + 0x97, 0x1b, 0x26, 0xf3, 0x54, 0xea, 0x1f, 0xcd, 0x82, 0x92, 0xd3, 0xe9, 0x3b, 0x80, 0xc4, 0x6b, + 0x5a, 0x9b, 0xea, 0x2b, 0x31, 0xfa, 0xfe, 0xe5, 0x18, 0xc9, 0x8e, 0x61, 0x25, 0xfd, 0x52, 0xde, + 0x99, 0xe6, 0x9c, 0x82, 0xe9, 0xf7, 0x66, 0x82, 0xc9, 0x30, 0xcf, 0xe1, 0x66, 0xf6, 0xb1, 0x7b, + 0xbf, 0x90, 0x21, 0x06, 0xea, 0xcd, 0x19, 0x81, 0x32, 0xd8, 0x13, 0x58, 0x94, 0xef, 0x49, 0xb5, + 0xc8, 0x59, 0x20, 0xf4, 0xfa, 0x65, 0x08, 0xc9, 0xdb, 0x83, 0xe5, 0xd4, 0xf0, 0xdf, 0x2b, 0xf2, + 0x8c, 0x50, 0xd3, 0x4f, 0x3b, 0x6f, 0xb2, 0x8b, 0xd3, 0x4e, 0x4c, 0xf5, 0x5a, 0x91, 0x6f, 0x80, + 0x99, 0x7e, 0xda, 0x93, 0x33, 0x59, 0xed, 0xc3, 0x6a, 0x66, 0x1e, 0xdf, 0x2d, 0xf2, 0x8e, 0x71, + 0x7a, 0x63, 0x36, 0x9c, 0x8c, 0xe4, 0xc1, 0xad, 0x89, 0xb9, 0x5a, 0xbf, 0x84, 0x43, 0x22, 0xf5, + 0x8f, 0x67, 0x45, 0xa6, 0x1a, 0x2c, 0x33, 0x39, 0xa7, 0x37, 0x58, 0x1a, 0x58, 0xd0, 0x60, 0xf9, + 0xd3, 0x54, 0xfd, 0x01, 0xd6, 0x26, 0x47, 0xe9, 0x07, 0x97, 0xb0, 0xc4, 0x50, 0xfd, 0x60, 0x66, + 0xa8, 0x0c, 0xf9, 0x14, 0x6e, 0x24, 0x87, 0xeb, 0x7b, 0xd3, 0x18, 0x12, 0x20, 0xfd, 0xc3, 0x19, + 0x40, 0x51, 0x00, 0x7d, 0xfe, 0x47, 0xf1, 0xdb, 0xa0, 0x6d, 0xbc, 0x3a, 0xab, 0x28, 0xaf, 0xcf, + 0x2a, 0xca, 0x7f, 0x67, 0x15, 0xe5, 0xb7, 0xf3, 0xca, 0xdc, 0xeb, 0xf3, 0xca, 0xdc, 0x3f, 0xe7, + 0x95, 0xb9, 0x6f, 0x1f, 0xda, 0x0e, 0xef, 0x8f, 0x7a, 0x0d, 0x93, 0xb8, 0xcd, 0x23, 0x6c, 0x62, + 0x8f, 0x53, 0x34, 0x10, 0xe7, 0xf1, 0x39, 0x72, 0x71, 0x33, 0xff, 0x77, 0x03, 0x3f, 0x19, 0x62, + 0xd6, 0x5b, 0xf0, 0x7f, 0xfa, 0xdc, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x1c, 0x03, 0x95, 0x9e, + 0x11, 0x0e, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3642,7 +3642,7 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { if wireType != 2 { 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 @@ -3652,23 +3652,25 @@ func (m *MsgCardSaveContent) 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.Content = string(dAtA[iNdEx:postIndex]) + m.Content = append(m.Content[:0], dAtA[iNdEx:postIndex]...) + if m.Content == nil { + m.Content = []byte{} + } iNdEx = postIndex case 4: if wireType != 2 { @@ -4484,7 +4486,7 @@ func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { if wireType != 2 { 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 @@ -4494,23 +4496,25 @@ func (m *MsgCardArtworkAdd) 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.Image = 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 != 0 { @@ -5296,7 +5300,7 @@ func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Outcome |= int32(b&0x7F) << shift + m.Outcome |= Outcome(b&0x7F) << shift if b < 0x80 { break } diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go index 45e01b16..6911a3d0 100644 --- a/x/cardchain/types/voting.pb.go +++ b/x/cardchain/types/voting.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. From a556ecd9fa6678e8d0ed51620cc37209154fec25 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 00:21:51 +0100 Subject: [PATCH 13/99] feat(#242): next wave of transactions --- api/cardchain/cardchain/tx.pulsar.go | 15121 +++++++++++++++- api/cardchain/cardchain/tx_grpc.pb.go | 542 +- docs/static/openapi.yml | 2 +- gen.sh | 18 +- proto/cardchain/cardchain/tx.proto | 139 + .../keeper/msg_server_booster_pack_buy.go | 17 + .../keeper/msg_server_council_create.go | 17 + .../msg_server_match_reporter_appoint.go | 17 + .../keeper/msg_server_sell_offer_buy.go | 17 + .../keeper/msg_server_sell_offer_create.go | 17 + .../keeper/msg_server_sell_offer_remove.go | 17 + .../keeper/msg_server_set_artwork_add.go | 17 + x/cardchain/keeper/msg_server_set_card_add.go | 17 + .../keeper/msg_server_set_card_remove.go | 17 + .../keeper/msg_server_set_contributor_add.go | 17 + .../msg_server_set_contributor_remove.go | 17 + x/cardchain/keeper/msg_server_set_create.go | 17 + x/cardchain/keeper/msg_server_set_finalize.go | 17 + .../keeper/msg_server_set_story_add.go | 17 + x/cardchain/module/autocli.go | 84 + x/cardchain/module/simulation.go | 322 + x/cardchain/simulation/booster_pack_buy.go | 29 + x/cardchain/simulation/council_create.go | 29 + .../simulation/match_reporter_appoint.go | 29 + x/cardchain/simulation/sell_offer_buy.go | 29 + x/cardchain/simulation/sell_offer_create.go | 29 + x/cardchain/simulation/sell_offer_remove.go | 29 + x/cardchain/simulation/set_artwork_add.go | 29 + x/cardchain/simulation/set_card_add.go | 29 + x/cardchain/simulation/set_card_remove.go | 29 + x/cardchain/simulation/set_contributor_add.go | 29 + .../simulation/set_contributor_remove.go | 29 + x/cardchain/simulation/set_create.go | 29 + x/cardchain/simulation/set_finalize.go | 29 + x/cardchain/simulation/set_story_add.go | 29 + x/cardchain/types/codec.go | 42 + x/cardchain/types/message_booster_pack_buy.go | 24 + .../types/message_booster_pack_buy_test.go | 40 + x/cardchain/types/message_council_create.go | 24 + .../types/message_council_create_test.go | 40 + .../types/message_match_reporter_appoint.go | 24 + .../message_match_reporter_appoint_test.go | 40 + x/cardchain/types/message_sell_offer_buy.go | 24 + .../types/message_sell_offer_buy_test.go | 40 + .../types/message_sell_offer_create.go | 25 + .../types/message_sell_offer_create_test.go | 40 + .../types/message_sell_offer_remove.go | 24 + .../types/message_sell_offer_remove_test.go | 40 + x/cardchain/types/message_set_artwork_add.go | 25 + .../types/message_set_artwork_add_test.go | 40 + x/cardchain/types/message_set_card_add.go | 25 + .../types/message_set_card_add_test.go | 40 + x/cardchain/types/message_set_card_remove.go | 25 + .../types/message_set_card_remove_test.go | 40 + .../types/message_set_contributor_add.go | 25 + .../types/message_set_contributor_add_test.go | 40 + .../types/message_set_contributor_remove.go | 25 + .../message_set_contributor_remove_test.go | 40 + x/cardchain/types/message_set_create.go | 27 + x/cardchain/types/message_set_create_test.go | 40 + x/cardchain/types/message_set_finalize.go | 24 + .../types/message_set_finalize_test.go | 40 + x/cardchain/types/message_set_story_add.go | 25 + .../types/message_set_story_add_test.go | 40 + x/cardchain/types/tx.pb.go | 9738 +++++++--- 65 files changed, 24914 insertions(+), 2644 deletions(-) create mode 100644 x/cardchain/keeper/msg_server_booster_pack_buy.go create mode 100644 x/cardchain/keeper/msg_server_council_create.go create mode 100644 x/cardchain/keeper/msg_server_match_reporter_appoint.go create mode 100644 x/cardchain/keeper/msg_server_sell_offer_buy.go create mode 100644 x/cardchain/keeper/msg_server_sell_offer_create.go create mode 100644 x/cardchain/keeper/msg_server_sell_offer_remove.go create mode 100644 x/cardchain/keeper/msg_server_set_artwork_add.go create mode 100644 x/cardchain/keeper/msg_server_set_card_add.go create mode 100644 x/cardchain/keeper/msg_server_set_card_remove.go create mode 100644 x/cardchain/keeper/msg_server_set_contributor_add.go create mode 100644 x/cardchain/keeper/msg_server_set_contributor_remove.go create mode 100644 x/cardchain/keeper/msg_server_set_create.go create mode 100644 x/cardchain/keeper/msg_server_set_finalize.go create mode 100644 x/cardchain/keeper/msg_server_set_story_add.go create mode 100644 x/cardchain/simulation/booster_pack_buy.go create mode 100644 x/cardchain/simulation/council_create.go create mode 100644 x/cardchain/simulation/match_reporter_appoint.go create mode 100644 x/cardchain/simulation/sell_offer_buy.go create mode 100644 x/cardchain/simulation/sell_offer_create.go create mode 100644 x/cardchain/simulation/sell_offer_remove.go create mode 100644 x/cardchain/simulation/set_artwork_add.go create mode 100644 x/cardchain/simulation/set_card_add.go create mode 100644 x/cardchain/simulation/set_card_remove.go create mode 100644 x/cardchain/simulation/set_contributor_add.go create mode 100644 x/cardchain/simulation/set_contributor_remove.go create mode 100644 x/cardchain/simulation/set_create.go create mode 100644 x/cardchain/simulation/set_finalize.go create mode 100644 x/cardchain/simulation/set_story_add.go create mode 100644 x/cardchain/types/message_booster_pack_buy.go create mode 100644 x/cardchain/types/message_booster_pack_buy_test.go create mode 100644 x/cardchain/types/message_council_create.go create mode 100644 x/cardchain/types/message_council_create_test.go create mode 100644 x/cardchain/types/message_match_reporter_appoint.go create mode 100644 x/cardchain/types/message_match_reporter_appoint_test.go create mode 100644 x/cardchain/types/message_sell_offer_buy.go create mode 100644 x/cardchain/types/message_sell_offer_buy_test.go create mode 100644 x/cardchain/types/message_sell_offer_create.go create mode 100644 x/cardchain/types/message_sell_offer_create_test.go create mode 100644 x/cardchain/types/message_sell_offer_remove.go create mode 100644 x/cardchain/types/message_sell_offer_remove_test.go create mode 100644 x/cardchain/types/message_set_artwork_add.go create mode 100644 x/cardchain/types/message_set_artwork_add_test.go create mode 100644 x/cardchain/types/message_set_card_add.go create mode 100644 x/cardchain/types/message_set_card_add_test.go create mode 100644 x/cardchain/types/message_set_card_remove.go create mode 100644 x/cardchain/types/message_set_card_remove_test.go create mode 100644 x/cardchain/types/message_set_contributor_add.go create mode 100644 x/cardchain/types/message_set_contributor_add_test.go create mode 100644 x/cardchain/types/message_set_contributor_remove.go create mode 100644 x/cardchain/types/message_set_contributor_remove_test.go create mode 100644 x/cardchain/types/message_set_create.go create mode 100644 x/cardchain/types/message_set_create_test.go create mode 100644 x/cardchain/types/message_set_finalize.go create mode 100644 x/cardchain/types/message_set_finalize_test.go create mode 100644 x/cardchain/types/message_set_story_add.go create mode 100644 x/cardchain/types/message_set_story_add_test.go diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index de7136d0..ea5ad991 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -11121,966 +11121,14328 @@ func (x *fastReflection_MsgMatchReportResponse) ProtoMethods() *protoiface.Metho } } +var ( + md_MsgCouncilCreate protoreflect.MessageDescriptor + fd_MsgCouncilCreate_creator protoreflect.FieldDescriptor + fd_MsgCouncilCreate_cardId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCouncilCreate = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilCreate") + fd_MsgCouncilCreate_creator = md_MsgCouncilCreate.Fields().ByName("creator") + fd_MsgCouncilCreate_cardId = md_MsgCouncilCreate.Fields().ByName("cardId") +} + +var _ protoreflect.Message = (*fastReflection_MsgCouncilCreate)(nil) + +type fastReflection_MsgCouncilCreate MsgCouncilCreate + +func (x *MsgCouncilCreate) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCouncilCreate)(x) +} + +func (x *MsgCouncilCreate) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCouncilCreate_messageType fastReflection_MsgCouncilCreate_messageType +var _ protoreflect.MessageType = fastReflection_MsgCouncilCreate_messageType{} + +type fastReflection_MsgCouncilCreate_messageType struct{} + +func (x fastReflection_MsgCouncilCreate_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCouncilCreate)(nil) +} +func (x fastReflection_MsgCouncilCreate_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCouncilCreate) +} +func (x fastReflection_MsgCouncilCreate_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilCreate +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCouncilCreate) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilCreate +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCouncilCreate) Type() protoreflect.MessageType { + return _fastReflection_MsgCouncilCreate_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCouncilCreate) New() protoreflect.Message { + return new(fastReflection_MsgCouncilCreate) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCouncilCreate) Interface() protoreflect.ProtoMessage { + return (*MsgCouncilCreate)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCouncilCreate) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCouncilCreate_creator, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgCouncilCreate_cardId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCouncilCreate) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilCreate.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCouncilCreate.cardId": + return x.CardId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilCreate does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilCreate) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilCreate.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCouncilCreate.cardId": + x.CardId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilCreate does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCouncilCreate) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCouncilCreate.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCouncilCreate.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilCreate does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilCreate) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilCreate.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCouncilCreate.cardId": + x.CardId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilCreate does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilCreate) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilCreate.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCouncilCreate is not mutable")) + case "cardchain.cardchain.MsgCouncilCreate.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgCouncilCreate is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilCreate does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCouncilCreate) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilCreate.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCouncilCreate.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilCreate does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCouncilCreate) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCouncilCreate", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCouncilCreate) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilCreate) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCouncilCreate) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCouncilCreate) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCouncilCreate) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilCreate) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilCreate) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCouncilCreateResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCouncilCreateResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilCreateResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCouncilCreateResponse)(nil) + +type fastReflection_MsgCouncilCreateResponse MsgCouncilCreateResponse + +func (x *MsgCouncilCreateResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCouncilCreateResponse)(x) +} + +func (x *MsgCouncilCreateResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCouncilCreateResponse_messageType fastReflection_MsgCouncilCreateResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCouncilCreateResponse_messageType{} + +type fastReflection_MsgCouncilCreateResponse_messageType struct{} + +func (x fastReflection_MsgCouncilCreateResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCouncilCreateResponse)(nil) +} +func (x fastReflection_MsgCouncilCreateResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCouncilCreateResponse) +} +func (x fastReflection_MsgCouncilCreateResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilCreateResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCouncilCreateResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilCreateResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCouncilCreateResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCouncilCreateResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCouncilCreateResponse) New() protoreflect.Message { + return new(fastReflection_MsgCouncilCreateResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCouncilCreateResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCouncilCreateResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCouncilCreateResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCouncilCreateResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilCreateResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCouncilCreateResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilCreateResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilCreateResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilCreateResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilCreateResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCouncilCreateResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilCreateResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCouncilCreateResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCouncilCreateResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCouncilCreateResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilCreateResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCouncilCreateResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCouncilCreateResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCouncilCreateResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilCreateResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilCreateResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgMatchReporterAppoint protoreflect.MessageDescriptor + fd_MsgMatchReporterAppoint_creator protoreflect.FieldDescriptor + fd_MsgMatchReporterAppoint_reporter protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgMatchReporterAppoint = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgMatchReporterAppoint") + fd_MsgMatchReporterAppoint_creator = md_MsgMatchReporterAppoint.Fields().ByName("creator") + fd_MsgMatchReporterAppoint_reporter = md_MsgMatchReporterAppoint.Fields().ByName("reporter") +} + +var _ protoreflect.Message = (*fastReflection_MsgMatchReporterAppoint)(nil) + +type fastReflection_MsgMatchReporterAppoint MsgMatchReporterAppoint + +func (x *MsgMatchReporterAppoint) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgMatchReporterAppoint)(x) +} + +func (x *MsgMatchReporterAppoint) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgMatchReporterAppoint_messageType fastReflection_MsgMatchReporterAppoint_messageType +var _ protoreflect.MessageType = fastReflection_MsgMatchReporterAppoint_messageType{} + +type fastReflection_MsgMatchReporterAppoint_messageType struct{} + +func (x fastReflection_MsgMatchReporterAppoint_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgMatchReporterAppoint)(nil) +} +func (x fastReflection_MsgMatchReporterAppoint_messageType) New() protoreflect.Message { + return new(fastReflection_MsgMatchReporterAppoint) +} +func (x fastReflection_MsgMatchReporterAppoint_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchReporterAppoint +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgMatchReporterAppoint) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchReporterAppoint +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgMatchReporterAppoint) Type() protoreflect.MessageType { + return _fastReflection_MsgMatchReporterAppoint_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgMatchReporterAppoint) New() protoreflect.Message { + return new(fastReflection_MsgMatchReporterAppoint) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgMatchReporterAppoint) Interface() protoreflect.ProtoMessage { + return (*MsgMatchReporterAppoint)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgMatchReporterAppoint) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgMatchReporterAppoint_creator, value) { + return + } + } + if x.Reporter != "" { + value := protoreflect.ValueOfString(x.Reporter) + if !f(fd_MsgMatchReporterAppoint_reporter, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgMatchReporterAppoint) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchReporterAppoint.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgMatchReporterAppoint.reporter": + return x.Reporter != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReporterAppoint")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReporterAppoint does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReporterAppoint) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchReporterAppoint.creator": + x.Creator = "" + case "cardchain.cardchain.MsgMatchReporterAppoint.reporter": + x.Reporter = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReporterAppoint")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReporterAppoint does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgMatchReporterAppoint) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgMatchReporterAppoint.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgMatchReporterAppoint.reporter": + value := x.Reporter + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReporterAppoint")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReporterAppoint does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReporterAppoint) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchReporterAppoint.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgMatchReporterAppoint.reporter": + x.Reporter = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReporterAppoint")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReporterAppoint does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReporterAppoint) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchReporterAppoint.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgMatchReporterAppoint is not mutable")) + case "cardchain.cardchain.MsgMatchReporterAppoint.reporter": + panic(fmt.Errorf("field reporter of message cardchain.cardchain.MsgMatchReporterAppoint is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReporterAppoint")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReporterAppoint does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgMatchReporterAppoint) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchReporterAppoint.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgMatchReporterAppoint.reporter": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReporterAppoint")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReporterAppoint does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgMatchReporterAppoint) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgMatchReporterAppoint", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgMatchReporterAppoint) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReporterAppoint) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgMatchReporterAppoint) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgMatchReporterAppoint) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgMatchReporterAppoint) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Reporter) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchReporterAppoint) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Reporter) > 0 { + i -= len(x.Reporter) + copy(dAtA[i:], x.Reporter) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reporter))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchReporterAppoint) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchReporterAppoint: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchReporterAppoint: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reporter", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Reporter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgMatchReporterAppointResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgMatchReporterAppointResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgMatchReporterAppointResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgMatchReporterAppointResponse)(nil) + +type fastReflection_MsgMatchReporterAppointResponse MsgMatchReporterAppointResponse + +func (x *MsgMatchReporterAppointResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgMatchReporterAppointResponse)(x) +} + +func (x *MsgMatchReporterAppointResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgMatchReporterAppointResponse_messageType fastReflection_MsgMatchReporterAppointResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgMatchReporterAppointResponse_messageType{} + +type fastReflection_MsgMatchReporterAppointResponse_messageType struct{} + +func (x fastReflection_MsgMatchReporterAppointResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgMatchReporterAppointResponse)(nil) +} +func (x fastReflection_MsgMatchReporterAppointResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgMatchReporterAppointResponse) +} +func (x fastReflection_MsgMatchReporterAppointResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchReporterAppointResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgMatchReporterAppointResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchReporterAppointResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgMatchReporterAppointResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgMatchReporterAppointResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgMatchReporterAppointResponse) New() protoreflect.Message { + return new(fastReflection_MsgMatchReporterAppointResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgMatchReporterAppointResponse) Interface() protoreflect.ProtoMessage { + return (*MsgMatchReporterAppointResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgMatchReporterAppointResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgMatchReporterAppointResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReporterAppointResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReporterAppointResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReporterAppointResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReporterAppointResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReporterAppointResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgMatchReporterAppointResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReporterAppointResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReporterAppointResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReporterAppointResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReporterAppointResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReporterAppointResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReporterAppointResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReporterAppointResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReporterAppointResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgMatchReporterAppointResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchReporterAppointResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchReporterAppointResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgMatchReporterAppointResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgMatchReporterAppointResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgMatchReporterAppointResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchReporterAppointResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgMatchReporterAppointResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgMatchReporterAppointResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgMatchReporterAppointResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchReporterAppointResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchReporterAppointResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchReporterAppointResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchReporterAppointResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_MsgSetCreate_5_list)(nil) + +type _MsgSetCreate_5_list struct { + list *[]string +} + +func (x *_MsgSetCreate_5_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgSetCreate_5_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_MsgSetCreate_5_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_MsgSetCreate_5_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgSetCreate_5_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgSetCreate at list field Contributors as it is not of Message kind")) +} + +func (x *_MsgSetCreate_5_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_MsgSetCreate_5_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_MsgSetCreate_5_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MsgSetCreate protoreflect.MessageDescriptor + fd_MsgSetCreate_creator protoreflect.FieldDescriptor + fd_MsgSetCreate_name protoreflect.FieldDescriptor + fd_MsgSetCreate_artist protoreflect.FieldDescriptor + fd_MsgSetCreate_storyWriter protoreflect.FieldDescriptor + fd_MsgSetCreate_contributors protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetCreate = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetCreate") + fd_MsgSetCreate_creator = md_MsgSetCreate.Fields().ByName("creator") + fd_MsgSetCreate_name = md_MsgSetCreate.Fields().ByName("name") + fd_MsgSetCreate_artist = md_MsgSetCreate.Fields().ByName("artist") + fd_MsgSetCreate_storyWriter = md_MsgSetCreate.Fields().ByName("storyWriter") + fd_MsgSetCreate_contributors = md_MsgSetCreate.Fields().ByName("contributors") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetCreate)(nil) + +type fastReflection_MsgSetCreate MsgSetCreate + +func (x *MsgSetCreate) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetCreate)(x) +} + +func (x *MsgSetCreate) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetCreate_messageType fastReflection_MsgSetCreate_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetCreate_messageType{} + +type fastReflection_MsgSetCreate_messageType struct{} + +func (x fastReflection_MsgSetCreate_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetCreate)(nil) +} +func (x fastReflection_MsgSetCreate_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetCreate) +} +func (x fastReflection_MsgSetCreate_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetCreate +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetCreate) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetCreate +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetCreate) Type() protoreflect.MessageType { + return _fastReflection_MsgSetCreate_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetCreate) New() protoreflect.Message { + return new(fastReflection_MsgSetCreate) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetCreate) Interface() protoreflect.ProtoMessage { + return (*MsgSetCreate)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetCreate) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSetCreate_creator, value) { + return + } + } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_MsgSetCreate_name, value) { + return + } + } + if x.Artist != "" { + value := protoreflect.ValueOfString(x.Artist) + if !f(fd_MsgSetCreate_artist, value) { + return + } + } + if x.StoryWriter != "" { + value := protoreflect.ValueOfString(x.StoryWriter) + if !f(fd_MsgSetCreate_storyWriter, value) { + return + } + } + if len(x.Contributors) != 0 { + value := protoreflect.ValueOfList(&_MsgSetCreate_5_list{list: &x.Contributors}) + if !f(fd_MsgSetCreate_contributors, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetCreate) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCreate.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSetCreate.name": + return x.Name != "" + case "cardchain.cardchain.MsgSetCreate.artist": + return x.Artist != "" + case "cardchain.cardchain.MsgSetCreate.storyWriter": + return x.StoryWriter != "" + case "cardchain.cardchain.MsgSetCreate.contributors": + return len(x.Contributors) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCreate does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCreate) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCreate.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSetCreate.name": + x.Name = "" + case "cardchain.cardchain.MsgSetCreate.artist": + x.Artist = "" + case "cardchain.cardchain.MsgSetCreate.storyWriter": + x.StoryWriter = "" + case "cardchain.cardchain.MsgSetCreate.contributors": + x.Contributors = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCreate does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetCreate) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSetCreate.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetCreate.name": + value := x.Name + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetCreate.artist": + value := x.Artist + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetCreate.storyWriter": + value := x.StoryWriter + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetCreate.contributors": + if len(x.Contributors) == 0 { + return protoreflect.ValueOfList(&_MsgSetCreate_5_list{}) + } + listValue := &_MsgSetCreate_5_list{list: &x.Contributors} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCreate does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCreate) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCreate.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSetCreate.name": + x.Name = value.Interface().(string) + case "cardchain.cardchain.MsgSetCreate.artist": + x.Artist = value.Interface().(string) + case "cardchain.cardchain.MsgSetCreate.storyWriter": + x.StoryWriter = value.Interface().(string) + case "cardchain.cardchain.MsgSetCreate.contributors": + lv := value.List() + clv := lv.(*_MsgSetCreate_5_list) + x.Contributors = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCreate does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCreate) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCreate.contributors": + if x.Contributors == nil { + x.Contributors = []string{} + } + value := &_MsgSetCreate_5_list{list: &x.Contributors} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.MsgSetCreate.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSetCreate is not mutable")) + case "cardchain.cardchain.MsgSetCreate.name": + panic(fmt.Errorf("field name of message cardchain.cardchain.MsgSetCreate is not mutable")) + case "cardchain.cardchain.MsgSetCreate.artist": + panic(fmt.Errorf("field artist of message cardchain.cardchain.MsgSetCreate is not mutable")) + case "cardchain.cardchain.MsgSetCreate.storyWriter": + panic(fmt.Errorf("field storyWriter of message cardchain.cardchain.MsgSetCreate is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCreate does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetCreate) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCreate.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetCreate.name": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetCreate.artist": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetCreate.storyWriter": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetCreate.contributors": + list := []string{} + return protoreflect.ValueOfList(&_MsgSetCreate_5_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCreate does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetCreate) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetCreate", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetCreate) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCreate) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetCreate) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetCreate) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetCreate) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Artist) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.StoryWriter) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Contributors) > 0 { + for _, s := range x.Contributors { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetCreate) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Contributors) > 0 { + for iNdEx := len(x.Contributors) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Contributors[iNdEx]) + copy(dAtA[i:], x.Contributors[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Contributors[iNdEx]))) + i-- + dAtA[i] = 0x2a + } + } + if len(x.StoryWriter) > 0 { + i -= len(x.StoryWriter) + copy(dAtA[i:], x.StoryWriter) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.StoryWriter))) + i-- + dAtA[i] = 0x22 + } + if len(x.Artist) > 0 { + i -= len(x.Artist) + copy(dAtA[i:], x.Artist) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Artist))) + i-- + dAtA[i] = 0x1a + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetCreate) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Artist = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field StoryWriter", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.StoryWriter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Contributors", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Contributors = append(x.Contributors, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetCreateResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetCreateResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetCreateResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetCreateResponse)(nil) + +type fastReflection_MsgSetCreateResponse MsgSetCreateResponse + +func (x *MsgSetCreateResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetCreateResponse)(x) +} + +func (x *MsgSetCreateResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetCreateResponse_messageType fastReflection_MsgSetCreateResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetCreateResponse_messageType{} + +type fastReflection_MsgSetCreateResponse_messageType struct{} + +func (x fastReflection_MsgSetCreateResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetCreateResponse)(nil) +} +func (x fastReflection_MsgSetCreateResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetCreateResponse) +} +func (x fastReflection_MsgSetCreateResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetCreateResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetCreateResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetCreateResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetCreateResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetCreateResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetCreateResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetCreateResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetCreateResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetCreateResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetCreateResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetCreateResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCreateResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetCreateResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCreateResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCreateResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCreateResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCreateResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetCreateResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCreateResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetCreateResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetCreateResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetCreateResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCreateResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetCreateResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetCreateResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetCreateResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetCreateResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetCreateResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetCardAdd protoreflect.MessageDescriptor + fd_MsgSetCardAdd_creator protoreflect.FieldDescriptor + fd_MsgSetCardAdd_setId protoreflect.FieldDescriptor + fd_MsgSetCardAdd_cardId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetCardAdd = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetCardAdd") + fd_MsgSetCardAdd_creator = md_MsgSetCardAdd.Fields().ByName("creator") + fd_MsgSetCardAdd_setId = md_MsgSetCardAdd.Fields().ByName("setId") + fd_MsgSetCardAdd_cardId = md_MsgSetCardAdd.Fields().ByName("cardId") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetCardAdd)(nil) + +type fastReflection_MsgSetCardAdd MsgSetCardAdd + +func (x *MsgSetCardAdd) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetCardAdd)(x) +} + +func (x *MsgSetCardAdd) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetCardAdd_messageType fastReflection_MsgSetCardAdd_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetCardAdd_messageType{} + +type fastReflection_MsgSetCardAdd_messageType struct{} + +func (x fastReflection_MsgSetCardAdd_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetCardAdd)(nil) +} +func (x fastReflection_MsgSetCardAdd_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetCardAdd) +} +func (x fastReflection_MsgSetCardAdd_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetCardAdd +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetCardAdd) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetCardAdd +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetCardAdd) Type() protoreflect.MessageType { + return _fastReflection_MsgSetCardAdd_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetCardAdd) New() protoreflect.Message { + return new(fastReflection_MsgSetCardAdd) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetCardAdd) Interface() protoreflect.ProtoMessage { + return (*MsgSetCardAdd)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetCardAdd) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSetCardAdd_creator, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgSetCardAdd_setId, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgSetCardAdd_cardId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetCardAdd) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCardAdd.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSetCardAdd.setId": + return x.SetId != uint64(0) + case "cardchain.cardchain.MsgSetCardAdd.cardId": + return x.CardId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardAdd does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardAdd) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCardAdd.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSetCardAdd.setId": + x.SetId = uint64(0) + case "cardchain.cardchain.MsgSetCardAdd.cardId": + x.CardId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardAdd does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetCardAdd) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSetCardAdd.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetCardAdd.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgSetCardAdd.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardAdd does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardAdd) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCardAdd.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSetCardAdd.setId": + x.SetId = value.Uint() + case "cardchain.cardchain.MsgSetCardAdd.cardId": + x.CardId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardAdd does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardAdd) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCardAdd.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSetCardAdd is not mutable")) + case "cardchain.cardchain.MsgSetCardAdd.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgSetCardAdd is not mutable")) + case "cardchain.cardchain.MsgSetCardAdd.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgSetCardAdd is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardAdd does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetCardAdd) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCardAdd.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetCardAdd.setId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgSetCardAdd.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardAdd does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetCardAdd) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetCardAdd", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetCardAdd) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardAdd) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetCardAdd) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetCardAdd) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetCardAdd) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetCardAdd) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x18 + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetCardAdd) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetCardAdd: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetCardAdd: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetCardAddResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetCardAddResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetCardAddResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetCardAddResponse)(nil) + +type fastReflection_MsgSetCardAddResponse MsgSetCardAddResponse + +func (x *MsgSetCardAddResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetCardAddResponse)(x) +} + +func (x *MsgSetCardAddResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetCardAddResponse_messageType fastReflection_MsgSetCardAddResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetCardAddResponse_messageType{} + +type fastReflection_MsgSetCardAddResponse_messageType struct{} + +func (x fastReflection_MsgSetCardAddResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetCardAddResponse)(nil) +} +func (x fastReflection_MsgSetCardAddResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetCardAddResponse) +} +func (x fastReflection_MsgSetCardAddResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetCardAddResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetCardAddResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetCardAddResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetCardAddResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetCardAddResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetCardAddResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetCardAddResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetCardAddResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetCardAddResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetCardAddResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetCardAddResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardAddResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardAddResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardAddResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetCardAddResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardAddResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardAddResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardAddResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardAddResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardAddResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetCardAddResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardAddResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetCardAddResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetCardAddResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetCardAddResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardAddResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetCardAddResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetCardAddResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetCardAddResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetCardAddResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetCardAddResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetCardAddResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetCardAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetCardRemove protoreflect.MessageDescriptor + fd_MsgSetCardRemove_creator protoreflect.FieldDescriptor + fd_MsgSetCardRemove_setId protoreflect.FieldDescriptor + fd_MsgSetCardRemove_cardId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetCardRemove = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetCardRemove") + fd_MsgSetCardRemove_creator = md_MsgSetCardRemove.Fields().ByName("creator") + fd_MsgSetCardRemove_setId = md_MsgSetCardRemove.Fields().ByName("setId") + fd_MsgSetCardRemove_cardId = md_MsgSetCardRemove.Fields().ByName("cardId") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetCardRemove)(nil) + +type fastReflection_MsgSetCardRemove MsgSetCardRemove + +func (x *MsgSetCardRemove) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetCardRemove)(x) +} + +func (x *MsgSetCardRemove) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetCardRemove_messageType fastReflection_MsgSetCardRemove_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetCardRemove_messageType{} + +type fastReflection_MsgSetCardRemove_messageType struct{} + +func (x fastReflection_MsgSetCardRemove_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetCardRemove)(nil) +} +func (x fastReflection_MsgSetCardRemove_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetCardRemove) +} +func (x fastReflection_MsgSetCardRemove_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetCardRemove +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetCardRemove) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetCardRemove +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetCardRemove) Type() protoreflect.MessageType { + return _fastReflection_MsgSetCardRemove_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetCardRemove) New() protoreflect.Message { + return new(fastReflection_MsgSetCardRemove) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetCardRemove) Interface() protoreflect.ProtoMessage { + return (*MsgSetCardRemove)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetCardRemove) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSetCardRemove_creator, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgSetCardRemove_setId, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgSetCardRemove_cardId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetCardRemove) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCardRemove.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSetCardRemove.setId": + return x.SetId != uint64(0) + case "cardchain.cardchain.MsgSetCardRemove.cardId": + return x.CardId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardRemove does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardRemove) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCardRemove.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSetCardRemove.setId": + x.SetId = uint64(0) + case "cardchain.cardchain.MsgSetCardRemove.cardId": + x.CardId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardRemove does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetCardRemove) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSetCardRemove.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetCardRemove.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgSetCardRemove.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardRemove does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardRemove) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCardRemove.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSetCardRemove.setId": + x.SetId = value.Uint() + case "cardchain.cardchain.MsgSetCardRemove.cardId": + x.CardId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardRemove does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardRemove) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCardRemove.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSetCardRemove is not mutable")) + case "cardchain.cardchain.MsgSetCardRemove.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgSetCardRemove is not mutable")) + case "cardchain.cardchain.MsgSetCardRemove.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgSetCardRemove is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardRemove does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetCardRemove) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetCardRemove.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetCardRemove.setId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgSetCardRemove.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardRemove does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetCardRemove) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetCardRemove", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetCardRemove) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardRemove) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetCardRemove) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetCardRemove) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetCardRemove) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetCardRemove) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x18 + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetCardRemove) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetCardRemove: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetCardRemove: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetCardRemoveResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetCardRemoveResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetCardRemoveResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetCardRemoveResponse)(nil) + +type fastReflection_MsgSetCardRemoveResponse MsgSetCardRemoveResponse + +func (x *MsgSetCardRemoveResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetCardRemoveResponse)(x) +} + +func (x *MsgSetCardRemoveResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetCardRemoveResponse_messageType fastReflection_MsgSetCardRemoveResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetCardRemoveResponse_messageType{} + +type fastReflection_MsgSetCardRemoveResponse_messageType struct{} + +func (x fastReflection_MsgSetCardRemoveResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetCardRemoveResponse)(nil) +} +func (x fastReflection_MsgSetCardRemoveResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetCardRemoveResponse) +} +func (x fastReflection_MsgSetCardRemoveResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetCardRemoveResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetCardRemoveResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetCardRemoveResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetCardRemoveResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetCardRemoveResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetCardRemoveResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetCardRemoveResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetCardRemoveResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetCardRemoveResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetCardRemoveResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetCardRemoveResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardRemoveResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetCardRemoveResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardRemoveResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardRemoveResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardRemoveResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetCardRemoveResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetCardRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetCardRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetCardRemoveResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetCardRemoveResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetCardRemoveResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetCardRemoveResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetCardRemoveResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetCardRemoveResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetCardRemoveResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetCardRemoveResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetCardRemoveResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetCardRemoveResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetCardRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetContributorAdd protoreflect.MessageDescriptor + fd_MsgSetContributorAdd_creator protoreflect.FieldDescriptor + fd_MsgSetContributorAdd_setId protoreflect.FieldDescriptor + fd_MsgSetContributorAdd_user protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetContributorAdd = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetContributorAdd") + fd_MsgSetContributorAdd_creator = md_MsgSetContributorAdd.Fields().ByName("creator") + fd_MsgSetContributorAdd_setId = md_MsgSetContributorAdd.Fields().ByName("setId") + fd_MsgSetContributorAdd_user = md_MsgSetContributorAdd.Fields().ByName("user") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetContributorAdd)(nil) + +type fastReflection_MsgSetContributorAdd MsgSetContributorAdd + +func (x *MsgSetContributorAdd) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetContributorAdd)(x) +} + +func (x *MsgSetContributorAdd) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetContributorAdd_messageType fastReflection_MsgSetContributorAdd_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetContributorAdd_messageType{} + +type fastReflection_MsgSetContributorAdd_messageType struct{} + +func (x fastReflection_MsgSetContributorAdd_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetContributorAdd)(nil) +} +func (x fastReflection_MsgSetContributorAdd_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetContributorAdd) +} +func (x fastReflection_MsgSetContributorAdd_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetContributorAdd +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetContributorAdd) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetContributorAdd +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetContributorAdd) Type() protoreflect.MessageType { + return _fastReflection_MsgSetContributorAdd_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetContributorAdd) New() protoreflect.Message { + return new(fastReflection_MsgSetContributorAdd) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetContributorAdd) Interface() protoreflect.ProtoMessage { + return (*MsgSetContributorAdd)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetContributorAdd) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSetContributorAdd_creator, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgSetContributorAdd_setId, value) { + return + } + } + if x.User != "" { + value := protoreflect.ValueOfString(x.User) + if !f(fd_MsgSetContributorAdd_user, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetContributorAdd) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetContributorAdd.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSetContributorAdd.setId": + return x.SetId != uint64(0) + case "cardchain.cardchain.MsgSetContributorAdd.user": + return x.User != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorAdd does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorAdd) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetContributorAdd.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSetContributorAdd.setId": + x.SetId = uint64(0) + case "cardchain.cardchain.MsgSetContributorAdd.user": + x.User = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorAdd does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetContributorAdd) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSetContributorAdd.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetContributorAdd.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgSetContributorAdd.user": + value := x.User + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorAdd does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorAdd) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetContributorAdd.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSetContributorAdd.setId": + x.SetId = value.Uint() + case "cardchain.cardchain.MsgSetContributorAdd.user": + x.User = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorAdd does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorAdd) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetContributorAdd.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSetContributorAdd is not mutable")) + case "cardchain.cardchain.MsgSetContributorAdd.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgSetContributorAdd is not mutable")) + case "cardchain.cardchain.MsgSetContributorAdd.user": + panic(fmt.Errorf("field user of message cardchain.cardchain.MsgSetContributorAdd is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorAdd does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetContributorAdd) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetContributorAdd.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetContributorAdd.setId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgSetContributorAdd.user": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorAdd does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetContributorAdd) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetContributorAdd", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetContributorAdd) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorAdd) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetContributorAdd) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetContributorAdd) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetContributorAdd) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + l = len(x.User) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetContributorAdd) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.User) > 0 { + i -= len(x.User) + copy(dAtA[i:], x.User) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.User))) + i-- + dAtA[i] = 0x1a + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetContributorAdd) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetContributorAdd: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetContributorAdd: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetContributorAddResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetContributorAddResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetContributorAddResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetContributorAddResponse)(nil) + +type fastReflection_MsgSetContributorAddResponse MsgSetContributorAddResponse + +func (x *MsgSetContributorAddResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetContributorAddResponse)(x) +} + +func (x *MsgSetContributorAddResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetContributorAddResponse_messageType fastReflection_MsgSetContributorAddResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetContributorAddResponse_messageType{} + +type fastReflection_MsgSetContributorAddResponse_messageType struct{} + +func (x fastReflection_MsgSetContributorAddResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetContributorAddResponse)(nil) +} +func (x fastReflection_MsgSetContributorAddResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetContributorAddResponse) +} +func (x fastReflection_MsgSetContributorAddResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetContributorAddResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetContributorAddResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetContributorAddResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetContributorAddResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetContributorAddResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetContributorAddResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetContributorAddResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetContributorAddResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetContributorAddResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetContributorAddResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetContributorAddResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorAddResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorAddResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorAddResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetContributorAddResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorAddResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorAddResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorAddResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorAddResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorAddResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetContributorAddResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorAddResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetContributorAddResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetContributorAddResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetContributorAddResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorAddResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetContributorAddResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetContributorAddResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetContributorAddResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetContributorAddResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetContributorAddResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetContributorAddResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetContributorAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetContributorRemove protoreflect.MessageDescriptor + fd_MsgSetContributorRemove_creator protoreflect.FieldDescriptor + fd_MsgSetContributorRemove_setId protoreflect.FieldDescriptor + fd_MsgSetContributorRemove_user protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetContributorRemove = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetContributorRemove") + fd_MsgSetContributorRemove_creator = md_MsgSetContributorRemove.Fields().ByName("creator") + fd_MsgSetContributorRemove_setId = md_MsgSetContributorRemove.Fields().ByName("setId") + fd_MsgSetContributorRemove_user = md_MsgSetContributorRemove.Fields().ByName("user") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetContributorRemove)(nil) + +type fastReflection_MsgSetContributorRemove MsgSetContributorRemove + +func (x *MsgSetContributorRemove) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetContributorRemove)(x) +} + +func (x *MsgSetContributorRemove) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetContributorRemove_messageType fastReflection_MsgSetContributorRemove_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetContributorRemove_messageType{} + +type fastReflection_MsgSetContributorRemove_messageType struct{} + +func (x fastReflection_MsgSetContributorRemove_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetContributorRemove)(nil) +} +func (x fastReflection_MsgSetContributorRemove_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetContributorRemove) +} +func (x fastReflection_MsgSetContributorRemove_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetContributorRemove +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetContributorRemove) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetContributorRemove +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetContributorRemove) Type() protoreflect.MessageType { + return _fastReflection_MsgSetContributorRemove_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetContributorRemove) New() protoreflect.Message { + return new(fastReflection_MsgSetContributorRemove) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetContributorRemove) Interface() protoreflect.ProtoMessage { + return (*MsgSetContributorRemove)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetContributorRemove) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSetContributorRemove_creator, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgSetContributorRemove_setId, value) { + return + } + } + if x.User != "" { + value := protoreflect.ValueOfString(x.User) + if !f(fd_MsgSetContributorRemove_user, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetContributorRemove) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetContributorRemove.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSetContributorRemove.setId": + return x.SetId != uint64(0) + case "cardchain.cardchain.MsgSetContributorRemove.user": + return x.User != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorRemove does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorRemove) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetContributorRemove.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSetContributorRemove.setId": + x.SetId = uint64(0) + case "cardchain.cardchain.MsgSetContributorRemove.user": + x.User = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorRemove does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetContributorRemove) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSetContributorRemove.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetContributorRemove.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgSetContributorRemove.user": + value := x.User + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorRemove does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorRemove) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetContributorRemove.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSetContributorRemove.setId": + x.SetId = value.Uint() + case "cardchain.cardchain.MsgSetContributorRemove.user": + x.User = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorRemove does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorRemove) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetContributorRemove.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSetContributorRemove is not mutable")) + case "cardchain.cardchain.MsgSetContributorRemove.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgSetContributorRemove is not mutable")) + case "cardchain.cardchain.MsgSetContributorRemove.user": + panic(fmt.Errorf("field user of message cardchain.cardchain.MsgSetContributorRemove is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorRemove does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetContributorRemove) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetContributorRemove.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetContributorRemove.setId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgSetContributorRemove.user": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorRemove does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetContributorRemove) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetContributorRemove", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetContributorRemove) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorRemove) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetContributorRemove) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetContributorRemove) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetContributorRemove) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + l = len(x.User) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetContributorRemove) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.User) > 0 { + i -= len(x.User) + copy(dAtA[i:], x.User) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.User))) + i-- + dAtA[i] = 0x1a + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetContributorRemove) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetContributorRemove: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetContributorRemove: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetContributorRemoveResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetContributorRemoveResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetContributorRemoveResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetContributorRemoveResponse)(nil) + +type fastReflection_MsgSetContributorRemoveResponse MsgSetContributorRemoveResponse + +func (x *MsgSetContributorRemoveResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetContributorRemoveResponse)(x) +} + +func (x *MsgSetContributorRemoveResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetContributorRemoveResponse_messageType fastReflection_MsgSetContributorRemoveResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetContributorRemoveResponse_messageType{} + +type fastReflection_MsgSetContributorRemoveResponse_messageType struct{} + +func (x fastReflection_MsgSetContributorRemoveResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetContributorRemoveResponse)(nil) +} +func (x fastReflection_MsgSetContributorRemoveResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetContributorRemoveResponse) +} +func (x fastReflection_MsgSetContributorRemoveResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetContributorRemoveResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetContributorRemoveResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetContributorRemoveResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetContributorRemoveResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetContributorRemoveResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetContributorRemoveResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetContributorRemoveResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetContributorRemoveResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetContributorRemoveResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetContributorRemoveResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetContributorRemoveResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorRemoveResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetContributorRemoveResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorRemoveResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorRemoveResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorRemoveResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetContributorRemoveResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetContributorRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetContributorRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetContributorRemoveResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetContributorRemoveResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetContributorRemoveResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetContributorRemoveResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetContributorRemoveResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetContributorRemoveResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetContributorRemoveResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetContributorRemoveResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetContributorRemoveResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetContributorRemoveResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetContributorRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetFinalize protoreflect.MessageDescriptor + fd_MsgSetFinalize_creator protoreflect.FieldDescriptor + fd_MsgSetFinalize_setId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetFinalize = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetFinalize") + fd_MsgSetFinalize_creator = md_MsgSetFinalize.Fields().ByName("creator") + fd_MsgSetFinalize_setId = md_MsgSetFinalize.Fields().ByName("setId") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetFinalize)(nil) + +type fastReflection_MsgSetFinalize MsgSetFinalize + +func (x *MsgSetFinalize) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetFinalize)(x) +} + +func (x *MsgSetFinalize) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetFinalize_messageType fastReflection_MsgSetFinalize_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetFinalize_messageType{} + +type fastReflection_MsgSetFinalize_messageType struct{} + +func (x fastReflection_MsgSetFinalize_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetFinalize)(nil) +} +func (x fastReflection_MsgSetFinalize_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetFinalize) +} +func (x fastReflection_MsgSetFinalize_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetFinalize +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetFinalize) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetFinalize +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetFinalize) Type() protoreflect.MessageType { + return _fastReflection_MsgSetFinalize_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetFinalize) New() protoreflect.Message { + return new(fastReflection_MsgSetFinalize) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetFinalize) Interface() protoreflect.ProtoMessage { + return (*MsgSetFinalize)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetFinalize) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSetFinalize_creator, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgSetFinalize_setId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetFinalize) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetFinalize.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSetFinalize.setId": + return x.SetId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetFinalize")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetFinalize does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetFinalize) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetFinalize.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSetFinalize.setId": + x.SetId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetFinalize")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetFinalize does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetFinalize) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSetFinalize.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetFinalize.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetFinalize")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetFinalize does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetFinalize) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetFinalize.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSetFinalize.setId": + x.SetId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetFinalize")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetFinalize does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetFinalize) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetFinalize.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSetFinalize is not mutable")) + case "cardchain.cardchain.MsgSetFinalize.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgSetFinalize is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetFinalize")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetFinalize does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetFinalize) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetFinalize.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetFinalize.setId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetFinalize")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetFinalize does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetFinalize) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetFinalize", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetFinalize) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetFinalize) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetFinalize) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetFinalize) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetFinalize) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetFinalize) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetFinalize) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetFinalize: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetFinalize: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetFinalizeResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetFinalizeResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetFinalizeResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetFinalizeResponse)(nil) + +type fastReflection_MsgSetFinalizeResponse MsgSetFinalizeResponse + +func (x *MsgSetFinalizeResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetFinalizeResponse)(x) +} + +func (x *MsgSetFinalizeResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetFinalizeResponse_messageType fastReflection_MsgSetFinalizeResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetFinalizeResponse_messageType{} + +type fastReflection_MsgSetFinalizeResponse_messageType struct{} + +func (x fastReflection_MsgSetFinalizeResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetFinalizeResponse)(nil) +} +func (x fastReflection_MsgSetFinalizeResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetFinalizeResponse) +} +func (x fastReflection_MsgSetFinalizeResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetFinalizeResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetFinalizeResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetFinalizeResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetFinalizeResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetFinalizeResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetFinalizeResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetFinalizeResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetFinalizeResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetFinalizeResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetFinalizeResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetFinalizeResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetFinalizeResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetFinalizeResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetFinalizeResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetFinalizeResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetFinalizeResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetFinalizeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetFinalizeResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetFinalizeResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetFinalizeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetFinalizeResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetFinalizeResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetFinalizeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetFinalizeResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetFinalizeResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetFinalizeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetFinalizeResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetFinalizeResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetFinalizeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetFinalizeResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetFinalizeResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetFinalizeResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetFinalizeResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetFinalizeResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetFinalizeResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetFinalizeResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetFinalizeResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetFinalizeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetFinalizeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetArtworkAdd protoreflect.MessageDescriptor + fd_MsgSetArtworkAdd_creator protoreflect.FieldDescriptor + fd_MsgSetArtworkAdd_setId protoreflect.FieldDescriptor + fd_MsgSetArtworkAdd_image protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetArtworkAdd = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetArtworkAdd") + fd_MsgSetArtworkAdd_creator = md_MsgSetArtworkAdd.Fields().ByName("creator") + fd_MsgSetArtworkAdd_setId = md_MsgSetArtworkAdd.Fields().ByName("setId") + fd_MsgSetArtworkAdd_image = md_MsgSetArtworkAdd.Fields().ByName("image") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetArtworkAdd)(nil) + +type fastReflection_MsgSetArtworkAdd MsgSetArtworkAdd + +func (x *MsgSetArtworkAdd) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetArtworkAdd)(x) +} + +func (x *MsgSetArtworkAdd) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetArtworkAdd_messageType fastReflection_MsgSetArtworkAdd_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetArtworkAdd_messageType{} + +type fastReflection_MsgSetArtworkAdd_messageType struct{} + +func (x fastReflection_MsgSetArtworkAdd_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetArtworkAdd)(nil) +} +func (x fastReflection_MsgSetArtworkAdd_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetArtworkAdd) +} +func (x fastReflection_MsgSetArtworkAdd_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetArtworkAdd +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetArtworkAdd) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetArtworkAdd +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetArtworkAdd) Type() protoreflect.MessageType { + return _fastReflection_MsgSetArtworkAdd_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetArtworkAdd) New() protoreflect.Message { + return new(fastReflection_MsgSetArtworkAdd) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetArtworkAdd) Interface() protoreflect.ProtoMessage { + return (*MsgSetArtworkAdd)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetArtworkAdd) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSetArtworkAdd_creator, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgSetArtworkAdd_setId, value) { + return + } + } + if len(x.Image) != 0 { + value := protoreflect.ValueOfBytes(x.Image) + if !f(fd_MsgSetArtworkAdd_image, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetArtworkAdd) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetArtworkAdd.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSetArtworkAdd.setId": + return x.SetId != uint64(0) + case "cardchain.cardchain.MsgSetArtworkAdd.image": + return len(x.Image) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtworkAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtworkAdd does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtworkAdd) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetArtworkAdd.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSetArtworkAdd.setId": + x.SetId = uint64(0) + case "cardchain.cardchain.MsgSetArtworkAdd.image": + x.Image = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtworkAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtworkAdd does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetArtworkAdd) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSetArtworkAdd.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetArtworkAdd.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgSetArtworkAdd.image": + value := x.Image + return protoreflect.ValueOfBytes(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtworkAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtworkAdd does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtworkAdd) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetArtworkAdd.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSetArtworkAdd.setId": + x.SetId = value.Uint() + case "cardchain.cardchain.MsgSetArtworkAdd.image": + x.Image = value.Bytes() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtworkAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtworkAdd does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtworkAdd) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetArtworkAdd.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSetArtworkAdd is not mutable")) + case "cardchain.cardchain.MsgSetArtworkAdd.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgSetArtworkAdd is not mutable")) + case "cardchain.cardchain.MsgSetArtworkAdd.image": + panic(fmt.Errorf("field image of message cardchain.cardchain.MsgSetArtworkAdd is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtworkAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtworkAdd does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetArtworkAdd) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetArtworkAdd.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetArtworkAdd.setId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgSetArtworkAdd.image": + return protoreflect.ValueOfBytes(nil) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtworkAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtworkAdd does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetArtworkAdd) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetArtworkAdd", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetArtworkAdd) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtworkAdd) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetArtworkAdd) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetArtworkAdd) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetArtworkAdd) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + l = len(x.Image) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetArtworkAdd) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Image) > 0 { + i -= len(x.Image) + copy(dAtA[i:], x.Image) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Image))) + i-- + dAtA[i] = 0x1a + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetArtworkAdd) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetArtworkAdd: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Image = append(x.Image[:0], dAtA[iNdEx:postIndex]...) + if x.Image == nil { + x.Image = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetArtworkAddResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetArtworkAddResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetArtworkAddResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetArtworkAddResponse)(nil) + +type fastReflection_MsgSetArtworkAddResponse MsgSetArtworkAddResponse + +func (x *MsgSetArtworkAddResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetArtworkAddResponse)(x) +} + +func (x *MsgSetArtworkAddResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetArtworkAddResponse_messageType fastReflection_MsgSetArtworkAddResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetArtworkAddResponse_messageType{} + +type fastReflection_MsgSetArtworkAddResponse_messageType struct{} + +func (x fastReflection_MsgSetArtworkAddResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetArtworkAddResponse)(nil) +} +func (x fastReflection_MsgSetArtworkAddResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetArtworkAddResponse) +} +func (x fastReflection_MsgSetArtworkAddResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetArtworkAddResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetArtworkAddResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetArtworkAddResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetArtworkAddResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetArtworkAddResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetArtworkAddResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetArtworkAddResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetArtworkAddResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetArtworkAddResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetArtworkAddResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetArtworkAddResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtworkAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtworkAddResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtworkAddResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtworkAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtworkAddResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetArtworkAddResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtworkAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtworkAddResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtworkAddResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtworkAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtworkAddResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtworkAddResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtworkAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtworkAddResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetArtworkAddResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtworkAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtworkAddResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetArtworkAddResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetArtworkAddResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetArtworkAddResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtworkAddResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetArtworkAddResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetArtworkAddResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetArtworkAddResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetArtworkAddResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetArtworkAddResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetArtworkAddResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetStoryAdd protoreflect.MessageDescriptor + fd_MsgSetStoryAdd_creator protoreflect.FieldDescriptor + fd_MsgSetStoryAdd_setId protoreflect.FieldDescriptor + fd_MsgSetStoryAdd_story protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetStoryAdd = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetStoryAdd") + fd_MsgSetStoryAdd_creator = md_MsgSetStoryAdd.Fields().ByName("creator") + fd_MsgSetStoryAdd_setId = md_MsgSetStoryAdd.Fields().ByName("setId") + fd_MsgSetStoryAdd_story = md_MsgSetStoryAdd.Fields().ByName("story") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetStoryAdd)(nil) + +type fastReflection_MsgSetStoryAdd MsgSetStoryAdd + +func (x *MsgSetStoryAdd) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetStoryAdd)(x) +} + +func (x *MsgSetStoryAdd) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetStoryAdd_messageType fastReflection_MsgSetStoryAdd_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetStoryAdd_messageType{} + +type fastReflection_MsgSetStoryAdd_messageType struct{} + +func (x fastReflection_MsgSetStoryAdd_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetStoryAdd)(nil) +} +func (x fastReflection_MsgSetStoryAdd_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetStoryAdd) +} +func (x fastReflection_MsgSetStoryAdd_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetStoryAdd +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetStoryAdd) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetStoryAdd +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetStoryAdd) Type() protoreflect.MessageType { + return _fastReflection_MsgSetStoryAdd_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetStoryAdd) New() protoreflect.Message { + return new(fastReflection_MsgSetStoryAdd) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetStoryAdd) Interface() protoreflect.ProtoMessage { + return (*MsgSetStoryAdd)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetStoryAdd) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSetStoryAdd_creator, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgSetStoryAdd_setId, value) { + return + } + } + if x.Story != "" { + value := protoreflect.ValueOfString(x.Story) + if !f(fd_MsgSetStoryAdd_story, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetStoryAdd) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetStoryAdd.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSetStoryAdd.setId": + return x.SetId != uint64(0) + case "cardchain.cardchain.MsgSetStoryAdd.story": + return x.Story != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryAdd does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryAdd) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetStoryAdd.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSetStoryAdd.setId": + x.SetId = uint64(0) + case "cardchain.cardchain.MsgSetStoryAdd.story": + x.Story = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryAdd does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetStoryAdd) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSetStoryAdd.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetStoryAdd.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgSetStoryAdd.story": + value := x.Story + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryAdd does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryAdd) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetStoryAdd.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSetStoryAdd.setId": + x.SetId = value.Uint() + case "cardchain.cardchain.MsgSetStoryAdd.story": + x.Story = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryAdd does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryAdd) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetStoryAdd.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSetStoryAdd is not mutable")) + case "cardchain.cardchain.MsgSetStoryAdd.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgSetStoryAdd is not mutable")) + case "cardchain.cardchain.MsgSetStoryAdd.story": + panic(fmt.Errorf("field story of message cardchain.cardchain.MsgSetStoryAdd is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryAdd does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetStoryAdd) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetStoryAdd.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetStoryAdd.setId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgSetStoryAdd.story": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryAdd")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryAdd does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetStoryAdd) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetStoryAdd", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetStoryAdd) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryAdd) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetStoryAdd) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetStoryAdd) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetStoryAdd) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + l = len(x.Story) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetStoryAdd) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Story) > 0 { + i -= len(x.Story) + copy(dAtA[i:], x.Story) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Story))) + i-- + dAtA[i] = 0x1a + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetStoryAdd) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetStoryAdd: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetStoryAdd: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Story", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Story = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetStoryAddResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetStoryAddResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetStoryAddResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetStoryAddResponse)(nil) + +type fastReflection_MsgSetStoryAddResponse MsgSetStoryAddResponse + +func (x *MsgSetStoryAddResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetStoryAddResponse)(x) +} + +func (x *MsgSetStoryAddResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetStoryAddResponse_messageType fastReflection_MsgSetStoryAddResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetStoryAddResponse_messageType{} + +type fastReflection_MsgSetStoryAddResponse_messageType struct{} + +func (x fastReflection_MsgSetStoryAddResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetStoryAddResponse)(nil) +} +func (x fastReflection_MsgSetStoryAddResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetStoryAddResponse) +} +func (x fastReflection_MsgSetStoryAddResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetStoryAddResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetStoryAddResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetStoryAddResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetStoryAddResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetStoryAddResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetStoryAddResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetStoryAddResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetStoryAddResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetStoryAddResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetStoryAddResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetStoryAddResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryAddResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryAddResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryAddResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetStoryAddResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryAddResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryAddResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryAddResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryAddResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryAddResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetStoryAddResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryAddResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryAddResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetStoryAddResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetStoryAddResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetStoryAddResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryAddResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetStoryAddResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetStoryAddResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetStoryAddResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetStoryAddResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetStoryAddResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetStoryAddResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetStoryAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgBoosterPackBuy protoreflect.MessageDescriptor + fd_MsgBoosterPackBuy_creator protoreflect.FieldDescriptor + fd_MsgBoosterPackBuy_setId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgBoosterPackBuy = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgBoosterPackBuy") + fd_MsgBoosterPackBuy_creator = md_MsgBoosterPackBuy.Fields().ByName("creator") + fd_MsgBoosterPackBuy_setId = md_MsgBoosterPackBuy.Fields().ByName("setId") +} + +var _ protoreflect.Message = (*fastReflection_MsgBoosterPackBuy)(nil) + +type fastReflection_MsgBoosterPackBuy MsgBoosterPackBuy + +func (x *MsgBoosterPackBuy) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBoosterPackBuy)(x) +} + +func (x *MsgBoosterPackBuy) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgBoosterPackBuy_messageType fastReflection_MsgBoosterPackBuy_messageType +var _ protoreflect.MessageType = fastReflection_MsgBoosterPackBuy_messageType{} + +type fastReflection_MsgBoosterPackBuy_messageType struct{} + +func (x fastReflection_MsgBoosterPackBuy_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBoosterPackBuy)(nil) +} +func (x fastReflection_MsgBoosterPackBuy_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBoosterPackBuy) +} +func (x fastReflection_MsgBoosterPackBuy_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBoosterPackBuy +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgBoosterPackBuy) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBoosterPackBuy +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgBoosterPackBuy) Type() protoreflect.MessageType { + return _fastReflection_MsgBoosterPackBuy_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgBoosterPackBuy) New() protoreflect.Message { + return new(fastReflection_MsgBoosterPackBuy) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgBoosterPackBuy) Interface() protoreflect.ProtoMessage { + return (*MsgBoosterPackBuy)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgBoosterPackBuy) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgBoosterPackBuy_creator, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgBoosterPackBuy_setId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgBoosterPackBuy) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackBuy.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgBoosterPackBuy.setId": + return x.SetId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackBuy does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackBuy) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackBuy.creator": + x.Creator = "" + case "cardchain.cardchain.MsgBoosterPackBuy.setId": + x.SetId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackBuy does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgBoosterPackBuy) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgBoosterPackBuy.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgBoosterPackBuy.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackBuy does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackBuy) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackBuy.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgBoosterPackBuy.setId": + x.SetId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackBuy does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackBuy) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackBuy.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgBoosterPackBuy is not mutable")) + case "cardchain.cardchain.MsgBoosterPackBuy.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgBoosterPackBuy is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackBuy does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgBoosterPackBuy) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackBuy.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgBoosterPackBuy.setId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackBuy does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgBoosterPackBuy) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgBoosterPackBuy", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgBoosterPackBuy) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackBuy) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgBoosterPackBuy) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgBoosterPackBuy) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgBoosterPackBuy) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgBoosterPackBuy) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgBoosterPackBuy) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBoosterPackBuy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBoosterPackBuy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgBoosterPackBuyResponse protoreflect.MessageDescriptor + fd_MsgBoosterPackBuyResponse_airdropClaimed protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgBoosterPackBuyResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgBoosterPackBuyResponse") + fd_MsgBoosterPackBuyResponse_airdropClaimed = md_MsgBoosterPackBuyResponse.Fields().ByName("airdropClaimed") +} + +var _ protoreflect.Message = (*fastReflection_MsgBoosterPackBuyResponse)(nil) + +type fastReflection_MsgBoosterPackBuyResponse MsgBoosterPackBuyResponse + +func (x *MsgBoosterPackBuyResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBoosterPackBuyResponse)(x) +} + +func (x *MsgBoosterPackBuyResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgBoosterPackBuyResponse_messageType fastReflection_MsgBoosterPackBuyResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgBoosterPackBuyResponse_messageType{} + +type fastReflection_MsgBoosterPackBuyResponse_messageType struct{} + +func (x fastReflection_MsgBoosterPackBuyResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBoosterPackBuyResponse)(nil) +} +func (x fastReflection_MsgBoosterPackBuyResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBoosterPackBuyResponse) +} +func (x fastReflection_MsgBoosterPackBuyResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBoosterPackBuyResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgBoosterPackBuyResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBoosterPackBuyResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgBoosterPackBuyResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgBoosterPackBuyResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgBoosterPackBuyResponse) New() protoreflect.Message { + return new(fastReflection_MsgBoosterPackBuyResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgBoosterPackBuyResponse) Interface() protoreflect.ProtoMessage { + return (*MsgBoosterPackBuyResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgBoosterPackBuyResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.AirdropClaimed != false { + value := protoreflect.ValueOfBool(x.AirdropClaimed) + if !f(fd_MsgBoosterPackBuyResponse_airdropClaimed, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgBoosterPackBuyResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackBuyResponse.airdropClaimed": + return x.AirdropClaimed != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackBuyResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackBuyResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackBuyResponse.airdropClaimed": + x.AirdropClaimed = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackBuyResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgBoosterPackBuyResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgBoosterPackBuyResponse.airdropClaimed": + value := x.AirdropClaimed + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackBuyResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackBuyResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackBuyResponse.airdropClaimed": + x.AirdropClaimed = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackBuyResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackBuyResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackBuyResponse.airdropClaimed": + panic(fmt.Errorf("field airdropClaimed of message cardchain.cardchain.MsgBoosterPackBuyResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackBuyResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgBoosterPackBuyResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackBuyResponse.airdropClaimed": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackBuyResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgBoosterPackBuyResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgBoosterPackBuyResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgBoosterPackBuyResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackBuyResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgBoosterPackBuyResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgBoosterPackBuyResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgBoosterPackBuyResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.AirdropClaimed { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgBoosterPackBuyResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.AirdropClaimed { + i-- + if x.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgBoosterPackBuyResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBoosterPackBuyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBoosterPackBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AirdropClaimed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.AirdropClaimed = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSellOfferCreate protoreflect.MessageDescriptor + fd_MsgSellOfferCreate_creator protoreflect.FieldDescriptor + fd_MsgSellOfferCreate_cardId protoreflect.FieldDescriptor + fd_MsgSellOfferCreate_price protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSellOfferCreate = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSellOfferCreate") + fd_MsgSellOfferCreate_creator = md_MsgSellOfferCreate.Fields().ByName("creator") + fd_MsgSellOfferCreate_cardId = md_MsgSellOfferCreate.Fields().ByName("cardId") + fd_MsgSellOfferCreate_price = md_MsgSellOfferCreate.Fields().ByName("price") +} + +var _ protoreflect.Message = (*fastReflection_MsgSellOfferCreate)(nil) + +type fastReflection_MsgSellOfferCreate MsgSellOfferCreate + +func (x *MsgSellOfferCreate) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSellOfferCreate)(x) +} + +func (x *MsgSellOfferCreate) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSellOfferCreate_messageType fastReflection_MsgSellOfferCreate_messageType +var _ protoreflect.MessageType = fastReflection_MsgSellOfferCreate_messageType{} + +type fastReflection_MsgSellOfferCreate_messageType struct{} + +func (x fastReflection_MsgSellOfferCreate_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSellOfferCreate)(nil) +} +func (x fastReflection_MsgSellOfferCreate_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSellOfferCreate) +} +func (x fastReflection_MsgSellOfferCreate_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSellOfferCreate +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSellOfferCreate) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSellOfferCreate +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSellOfferCreate) Type() protoreflect.MessageType { + return _fastReflection_MsgSellOfferCreate_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSellOfferCreate) New() protoreflect.Message { + return new(fastReflection_MsgSellOfferCreate) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSellOfferCreate) Interface() protoreflect.ProtoMessage { + return (*MsgSellOfferCreate)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSellOfferCreate) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSellOfferCreate_creator, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgSellOfferCreate_cardId, value) { + return + } + } + if x.Price != nil { + value := protoreflect.ValueOfMessage(x.Price.ProtoReflect()) + if !f(fd_MsgSellOfferCreate_price, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSellOfferCreate) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferCreate.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSellOfferCreate.cardId": + return x.CardId != uint64(0) + case "cardchain.cardchain.MsgSellOfferCreate.price": + return x.Price != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferCreate does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferCreate) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferCreate.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSellOfferCreate.cardId": + x.CardId = uint64(0) + case "cardchain.cardchain.MsgSellOfferCreate.price": + x.Price = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferCreate does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSellOfferCreate) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSellOfferCreate.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSellOfferCreate.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgSellOfferCreate.price": + value := x.Price + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferCreate does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferCreate) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferCreate.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSellOfferCreate.cardId": + x.CardId = value.Uint() + case "cardchain.cardchain.MsgSellOfferCreate.price": + x.Price = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferCreate does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferCreate) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferCreate.price": + if x.Price == nil { + x.Price = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Price.ProtoReflect()) + case "cardchain.cardchain.MsgSellOfferCreate.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSellOfferCreate is not mutable")) + case "cardchain.cardchain.MsgSellOfferCreate.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgSellOfferCreate is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferCreate does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSellOfferCreate) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferCreate.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSellOfferCreate.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgSellOfferCreate.price": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferCreate does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSellOfferCreate) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSellOfferCreate", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSellOfferCreate) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferCreate) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSellOfferCreate) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSellOfferCreate) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSellOfferCreate) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.Price != nil { + l = options.Size(x.Price) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSellOfferCreate) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Price != nil { + encoded, err := options.Marshal(x.Price) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSellOfferCreate) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSellOfferCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSellOfferCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Price == nil { + x.Price = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Price); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSellOfferCreateResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSellOfferCreateResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSellOfferCreateResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSellOfferCreateResponse)(nil) + +type fastReflection_MsgSellOfferCreateResponse MsgSellOfferCreateResponse + +func (x *MsgSellOfferCreateResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSellOfferCreateResponse)(x) +} + +func (x *MsgSellOfferCreateResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSellOfferCreateResponse_messageType fastReflection_MsgSellOfferCreateResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSellOfferCreateResponse_messageType{} + +type fastReflection_MsgSellOfferCreateResponse_messageType struct{} + +func (x fastReflection_MsgSellOfferCreateResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSellOfferCreateResponse)(nil) +} +func (x fastReflection_MsgSellOfferCreateResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSellOfferCreateResponse) +} +func (x fastReflection_MsgSellOfferCreateResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSellOfferCreateResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSellOfferCreateResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSellOfferCreateResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSellOfferCreateResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSellOfferCreateResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSellOfferCreateResponse) New() protoreflect.Message { + return new(fastReflection_MsgSellOfferCreateResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSellOfferCreateResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSellOfferCreateResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSellOfferCreateResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSellOfferCreateResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferCreateResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSellOfferCreateResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferCreateResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferCreateResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferCreateResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferCreateResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSellOfferCreateResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferCreateResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSellOfferCreateResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSellOfferCreateResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSellOfferCreateResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferCreateResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSellOfferCreateResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSellOfferCreateResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSellOfferCreateResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSellOfferCreateResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSellOfferCreateResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSellOfferCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSellOfferCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSellOfferBuy protoreflect.MessageDescriptor + fd_MsgSellOfferBuy_creator protoreflect.FieldDescriptor + fd_MsgSellOfferBuy_sellOfferId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSellOfferBuy = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSellOfferBuy") + fd_MsgSellOfferBuy_creator = md_MsgSellOfferBuy.Fields().ByName("creator") + fd_MsgSellOfferBuy_sellOfferId = md_MsgSellOfferBuy.Fields().ByName("sellOfferId") +} + +var _ protoreflect.Message = (*fastReflection_MsgSellOfferBuy)(nil) + +type fastReflection_MsgSellOfferBuy MsgSellOfferBuy + +func (x *MsgSellOfferBuy) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSellOfferBuy)(x) +} + +func (x *MsgSellOfferBuy) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSellOfferBuy_messageType fastReflection_MsgSellOfferBuy_messageType +var _ protoreflect.MessageType = fastReflection_MsgSellOfferBuy_messageType{} + +type fastReflection_MsgSellOfferBuy_messageType struct{} + +func (x fastReflection_MsgSellOfferBuy_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSellOfferBuy)(nil) +} +func (x fastReflection_MsgSellOfferBuy_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSellOfferBuy) +} +func (x fastReflection_MsgSellOfferBuy_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSellOfferBuy +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSellOfferBuy) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSellOfferBuy +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSellOfferBuy) Type() protoreflect.MessageType { + return _fastReflection_MsgSellOfferBuy_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSellOfferBuy) New() protoreflect.Message { + return new(fastReflection_MsgSellOfferBuy) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSellOfferBuy) Interface() protoreflect.ProtoMessage { + return (*MsgSellOfferBuy)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSellOfferBuy) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSellOfferBuy_creator, value) { + return + } + } + if x.SellOfferId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SellOfferId) + if !f(fd_MsgSellOfferBuy_sellOfferId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSellOfferBuy) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferBuy.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSellOfferBuy.sellOfferId": + return x.SellOfferId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferBuy does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferBuy) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferBuy.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSellOfferBuy.sellOfferId": + x.SellOfferId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferBuy does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSellOfferBuy) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSellOfferBuy.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSellOfferBuy.sellOfferId": + value := x.SellOfferId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferBuy does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferBuy) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferBuy.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSellOfferBuy.sellOfferId": + x.SellOfferId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferBuy does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferBuy) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferBuy.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSellOfferBuy is not mutable")) + case "cardchain.cardchain.MsgSellOfferBuy.sellOfferId": + panic(fmt.Errorf("field sellOfferId of message cardchain.cardchain.MsgSellOfferBuy is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferBuy does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSellOfferBuy) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferBuy.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSellOfferBuy.sellOfferId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferBuy")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferBuy does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSellOfferBuy) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSellOfferBuy", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSellOfferBuy) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferBuy) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSellOfferBuy) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSellOfferBuy) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSellOfferBuy) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SellOfferId != 0 { + n += 1 + runtime.Sov(uint64(x.SellOfferId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSellOfferBuy) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.SellOfferId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SellOfferId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSellOfferBuy) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSellOfferBuy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSellOfferBuy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) + } + x.SellOfferId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SellOfferId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSellOfferBuyResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSellOfferBuyResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSellOfferBuyResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSellOfferBuyResponse)(nil) + +type fastReflection_MsgSellOfferBuyResponse MsgSellOfferBuyResponse + +func (x *MsgSellOfferBuyResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSellOfferBuyResponse)(x) +} + +func (x *MsgSellOfferBuyResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSellOfferBuyResponse_messageType fastReflection_MsgSellOfferBuyResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSellOfferBuyResponse_messageType{} + +type fastReflection_MsgSellOfferBuyResponse_messageType struct{} + +func (x fastReflection_MsgSellOfferBuyResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSellOfferBuyResponse)(nil) +} +func (x fastReflection_MsgSellOfferBuyResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSellOfferBuyResponse) +} +func (x fastReflection_MsgSellOfferBuyResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSellOfferBuyResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSellOfferBuyResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSellOfferBuyResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSellOfferBuyResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSellOfferBuyResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSellOfferBuyResponse) New() protoreflect.Message { + return new(fastReflection_MsgSellOfferBuyResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSellOfferBuyResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSellOfferBuyResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSellOfferBuyResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSellOfferBuyResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferBuyResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferBuyResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferBuyResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSellOfferBuyResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferBuyResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferBuyResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferBuyResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferBuyResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferBuyResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSellOfferBuyResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferBuyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferBuyResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSellOfferBuyResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSellOfferBuyResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSellOfferBuyResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferBuyResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSellOfferBuyResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSellOfferBuyResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSellOfferBuyResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSellOfferBuyResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSellOfferBuyResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSellOfferBuyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSellOfferBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSellOfferRemove protoreflect.MessageDescriptor + fd_MsgSellOfferRemove_creator protoreflect.FieldDescriptor + fd_MsgSellOfferRemove_sellOfferId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSellOfferRemove = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSellOfferRemove") + fd_MsgSellOfferRemove_creator = md_MsgSellOfferRemove.Fields().ByName("creator") + fd_MsgSellOfferRemove_sellOfferId = md_MsgSellOfferRemove.Fields().ByName("sellOfferId") +} + +var _ protoreflect.Message = (*fastReflection_MsgSellOfferRemove)(nil) + +type fastReflection_MsgSellOfferRemove MsgSellOfferRemove + +func (x *MsgSellOfferRemove) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSellOfferRemove)(x) +} + +func (x *MsgSellOfferRemove) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSellOfferRemove_messageType fastReflection_MsgSellOfferRemove_messageType +var _ protoreflect.MessageType = fastReflection_MsgSellOfferRemove_messageType{} + +type fastReflection_MsgSellOfferRemove_messageType struct{} + +func (x fastReflection_MsgSellOfferRemove_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSellOfferRemove)(nil) +} +func (x fastReflection_MsgSellOfferRemove_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSellOfferRemove) +} +func (x fastReflection_MsgSellOfferRemove_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSellOfferRemove +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSellOfferRemove) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSellOfferRemove +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSellOfferRemove) Type() protoreflect.MessageType { + return _fastReflection_MsgSellOfferRemove_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSellOfferRemove) New() protoreflect.Message { + return new(fastReflection_MsgSellOfferRemove) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSellOfferRemove) Interface() protoreflect.ProtoMessage { + return (*MsgSellOfferRemove)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSellOfferRemove) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSellOfferRemove_creator, value) { + return + } + } + if x.SellOfferId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SellOfferId) + if !f(fd_MsgSellOfferRemove_sellOfferId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSellOfferRemove) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferRemove.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSellOfferRemove.sellOfferId": + return x.SellOfferId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferRemove does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferRemove) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferRemove.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSellOfferRemove.sellOfferId": + x.SellOfferId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferRemove does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSellOfferRemove) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSellOfferRemove.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSellOfferRemove.sellOfferId": + value := x.SellOfferId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferRemove does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferRemove) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferRemove.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSellOfferRemove.sellOfferId": + x.SellOfferId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferRemove does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferRemove) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferRemove.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSellOfferRemove is not mutable")) + case "cardchain.cardchain.MsgSellOfferRemove.sellOfferId": + panic(fmt.Errorf("field sellOfferId of message cardchain.cardchain.MsgSellOfferRemove is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferRemove does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSellOfferRemove) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSellOfferRemove.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSellOfferRemove.sellOfferId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferRemove")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferRemove does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSellOfferRemove) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSellOfferRemove", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSellOfferRemove) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferRemove) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSellOfferRemove) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSellOfferRemove) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSellOfferRemove) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SellOfferId != 0 { + n += 1 + runtime.Sov(uint64(x.SellOfferId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSellOfferRemove) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.SellOfferId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SellOfferId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSellOfferRemove) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSellOfferRemove: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSellOfferRemove: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) + } + x.SellOfferId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SellOfferId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSellOfferRemoveResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSellOfferRemoveResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSellOfferRemoveResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSellOfferRemoveResponse)(nil) + +type fastReflection_MsgSellOfferRemoveResponse MsgSellOfferRemoveResponse + +func (x *MsgSellOfferRemoveResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSellOfferRemoveResponse)(x) +} + +func (x *MsgSellOfferRemoveResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSellOfferRemoveResponse_messageType fastReflection_MsgSellOfferRemoveResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSellOfferRemoveResponse_messageType{} + +type fastReflection_MsgSellOfferRemoveResponse_messageType struct{} + +func (x fastReflection_MsgSellOfferRemoveResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSellOfferRemoveResponse)(nil) +} +func (x fastReflection_MsgSellOfferRemoveResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSellOfferRemoveResponse) +} +func (x fastReflection_MsgSellOfferRemoveResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSellOfferRemoveResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSellOfferRemoveResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSellOfferRemoveResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSellOfferRemoveResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSellOfferRemoveResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSellOfferRemoveResponse) New() protoreflect.Message { + return new(fastReflection_MsgSellOfferRemoveResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSellOfferRemoveResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSellOfferRemoveResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSellOfferRemoveResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSellOfferRemoveResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferRemoveResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSellOfferRemoveResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferRemoveResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferRemoveResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferRemoveResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSellOfferRemoveResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSellOfferRemoveResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSellOfferRemoveResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSellOfferRemoveResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSellOfferRemoveResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSellOfferRemoveResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSellOfferRemoveResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSellOfferRemoveResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSellOfferRemoveResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSellOfferRemoveResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSellOfferRemoveResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSellOfferRemoveResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSellOfferRemoveResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSellOfferRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 // protoc (unknown) // source: cardchain/cardchain/tx.proto -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// MsgUpdateParams is the Msg/UpdateParams request type. +type MsgUpdateParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address that controls the module (defaults to x/gov unless + // overwritten). + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // NOTE: All parameters must be supplied. + Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *MsgUpdateParams) Reset() { + *x = MsgUpdateParams{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParams) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{0} +} + +func (x *MsgUpdateParams) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgUpdateParams) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +type MsgUpdateParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUpdateParamsResponse) Reset() { + *x = MsgUpdateParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParamsResponse) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{1} +} + +type MsgUserCreate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + NewUser string `protobuf:"bytes,2,opt,name=newUser,proto3" json:"newUser,omitempty"` + Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` +} + +func (x *MsgUserCreate) Reset() { + *x = MsgUserCreate{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUserCreate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUserCreate) ProtoMessage() {} + +// Deprecated: Use MsgUserCreate.ProtoReflect.Descriptor instead. +func (*MsgUserCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{2} +} + +func (x *MsgUserCreate) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgUserCreate) GetNewUser() string { + if x != nil { + return x.NewUser + } + return "" +} + +func (x *MsgUserCreate) GetAlias() string { + if x != nil { + return x.Alias + } + return "" +} + +type MsgUserCreateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUserCreateResponse) Reset() { + *x = MsgUserCreateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUserCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUserCreateResponse) ProtoMessage() {} + +// Deprecated: Use MsgUserCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgUserCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{3} +} + +type MsgCardSchemeBuy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Bid *v1beta1.Coin `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid,omitempty"` +} + +func (x *MsgCardSchemeBuy) Reset() { + *x = MsgCardSchemeBuy{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSchemeBuy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSchemeBuy) ProtoMessage() {} + +// Deprecated: Use MsgCardSchemeBuy.ProtoReflect.Descriptor instead. +func (*MsgCardSchemeBuy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{4} +} + +func (x *MsgCardSchemeBuy) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardSchemeBuy) GetBid() *v1beta1.Coin { + if x != nil { + return x.Bid + } + return nil +} + +type MsgCardSchemeBuyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (x *MsgCardSchemeBuyResponse) Reset() { + *x = MsgCardSchemeBuyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSchemeBuyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSchemeBuyResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardSchemeBuyResponse.ProtoReflect.Descriptor instead. +func (*MsgCardSchemeBuyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{5} +} + +func (x *MsgCardSchemeBuyResponse) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +type MsgCardSaveContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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 (x *MsgCardSaveContent) Reset() { + *x = MsgCardSaveContent{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSaveContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSaveContent) ProtoMessage() {} + +// Deprecated: Use MsgCardSaveContent.ProtoReflect.Descriptor instead. +func (*MsgCardSaveContent) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{6} +} + +func (x *MsgCardSaveContent) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardSaveContent) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardSaveContent) GetContent() []byte { + if x != nil { + return x.Content + } + return nil +} + +func (x *MsgCardSaveContent) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +func (x *MsgCardSaveContent) GetArtist() string { + if x != nil { + return x.Artist + } + return "" +} + +func (x *MsgCardSaveContent) GetBalanceAnchor() bool { + if x != nil { + return x.BalanceAnchor + } + return false +} + +type MsgCardSaveContentResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (x *MsgCardSaveContentResponse) Reset() { + *x = MsgCardSaveContentResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSaveContentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSaveContentResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardSaveContentResponse.ProtoReflect.Descriptor instead. +func (*MsgCardSaveContentResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{7} +} + +func (x *MsgCardSaveContentResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgCardVote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Vote *SingleVote `protobuf:"bytes,2,opt,name=vote,proto3" json:"vote,omitempty"` +} + +func (x *MsgCardVote) Reset() { + *x = MsgCardVote{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardVote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardVote) ProtoMessage() {} + +// Deprecated: Use MsgCardVote.ProtoReflect.Descriptor instead. +func (*MsgCardVote) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{8} +} + +func (x *MsgCardVote) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardVote) GetVote() *SingleVote { + if x != nil { + return x.Vote + } + return nil +} + +type MsgCardVoteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (x *MsgCardVoteResponse) Reset() { + *x = MsgCardVoteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardVoteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardVoteResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardVoteResponse.ProtoReflect.Descriptor instead. +func (*MsgCardVoteResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{9} +} + +func (x *MsgCardVoteResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgCardTransfer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` +} + +func (x *MsgCardTransfer) Reset() { + *x = MsgCardTransfer{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardTransfer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardTransfer) ProtoMessage() {} + +// Deprecated: Use MsgCardTransfer.ProtoReflect.Descriptor instead. +func (*MsgCardTransfer) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{10} +} + +func (x *MsgCardTransfer) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardTransfer) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardTransfer) GetReceiver() string { + if x != nil { + return x.Receiver + } + return "" +} + +type MsgCardTransferResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCardTransferResponse) Reset() { + *x = MsgCardTransferResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardTransferResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardTransferResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardTransferResponse.ProtoReflect.Descriptor instead. +func (*MsgCardTransferResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{11} +} + +type MsgCardDonate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgCardDonate) Reset() { + *x = MsgCardDonate{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardDonate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardDonate) ProtoMessage() {} + +// Deprecated: Use MsgCardDonate.ProtoReflect.Descriptor instead. +func (*MsgCardDonate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{12} +} + +func (x *MsgCardDonate) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardDonate) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardDonate) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +type MsgCardDonateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCardDonateResponse) Reset() { + *x = MsgCardDonateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardDonateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardDonateResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardDonateResponse.ProtoReflect.Descriptor instead. +func (*MsgCardDonateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{13} +} + +type MsgCardArtworkAdd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + FullArt bool `protobuf:"varint,4,opt,name=fullArt,proto3" json:"fullArt,omitempty"` +} + +func (x *MsgCardArtworkAdd) Reset() { + *x = MsgCardArtworkAdd{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardArtworkAdd) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardArtworkAdd) ProtoMessage() {} + +// Deprecated: Use MsgCardArtworkAdd.ProtoReflect.Descriptor instead. +func (*MsgCardArtworkAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{14} +} + +func (x *MsgCardArtworkAdd) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardArtworkAdd) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardArtworkAdd) GetImage() []byte { + if x != nil { + return x.Image + } + return nil +} + +func (x *MsgCardArtworkAdd) GetFullArt() bool { + if x != nil { + return x.FullArt + } + return false +} + +type MsgCardArtworkAddResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCardArtworkAddResponse) Reset() { + *x = MsgCardArtworkAddResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardArtworkAddResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardArtworkAddResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardArtworkAddResponse.ProtoReflect.Descriptor instead. +func (*MsgCardArtworkAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{15} +} + +type MsgCardArtistChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,omitempty"` +} + +func (x *MsgCardArtistChange) Reset() { + *x = MsgCardArtistChange{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardArtistChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardArtistChange) ProtoMessage() {} + +// Deprecated: Use MsgCardArtistChange.ProtoReflect.Descriptor instead. +func (*MsgCardArtistChange) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{16} +} + +func (x *MsgCardArtistChange) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardArtistChange) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardArtistChange) GetArtist() string { + if x != nil { + return x.Artist + } + return "" +} + +type MsgCardArtistChangeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCardArtistChangeResponse) Reset() { + *x = MsgCardArtistChangeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardArtistChangeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardArtistChangeResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardArtistChangeResponse.ProtoReflect.Descriptor instead. +func (*MsgCardArtistChangeResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{17} +} + +type MsgCouncilRegister struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` +} + +func (x *MsgCouncilRegister) Reset() { + *x = MsgCouncilRegister{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCouncilRegister) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilRegister) ProtoMessage() {} + +// Deprecated: Use MsgCouncilRegister.ProtoReflect.Descriptor instead. +func (*MsgCouncilRegister) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{18} +} + +func (x *MsgCouncilRegister) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +type MsgCouncilRegisterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCouncilRegisterResponse) Reset() { + *x = MsgCouncilRegisterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCouncilRegisterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilRegisterResponse) ProtoMessage() {} + +// Deprecated: Use MsgCouncilRegisterResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilRegisterResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{19} +} + +type MsgCouncilDeregister struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` +} + +func (x *MsgCouncilDeregister) Reset() { + *x = MsgCouncilDeregister{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCouncilDeregister) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilDeregister) ProtoMessage() {} + +// Deprecated: Use MsgCouncilDeregister.ProtoReflect.Descriptor instead. +func (*MsgCouncilDeregister) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{20} +} + +func (x *MsgCouncilDeregister) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +type MsgCouncilDeregisterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCouncilDeregisterResponse) Reset() { + *x = MsgCouncilDeregisterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCouncilDeregisterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilDeregisterResponse) ProtoMessage() {} + +// Deprecated: Use MsgCouncilDeregisterResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilDeregisterResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{21} +} + +type MsgMatchReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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=cardchain.cardchain.Outcome" json:"outcome,omitempty"` +} + +func (x *MsgMatchReport) Reset() { + *x = MsgMatchReport{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgMatchReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgMatchReport) ProtoMessage() {} + +// Deprecated: Use MsgMatchReport.ProtoReflect.Descriptor instead. +func (*MsgMatchReport) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{22} +} + +func (x *MsgMatchReport) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgMatchReport) GetMatchId() uint64 { + if x != nil { + return x.MatchId + } + return 0 +} + +func (x *MsgMatchReport) GetPlayedCardsA() []uint64 { + if x != nil { + return x.PlayedCardsA + } + return nil +} -// MsgUpdateParams is the Msg/UpdateParams request type. -type MsgUpdateParams struct { +func (x *MsgMatchReport) GetPlayedCardsB() []uint64 { + if x != nil { + return x.PlayedCardsB + } + return nil +} + +func (x *MsgMatchReport) GetOutcome() Outcome { + if x != nil { + return x.Outcome + } + return Outcome_AWon +} + +type MsgMatchReportResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields +} - // authority is the address that controls the module (defaults to x/gov unless - // overwritten). - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // NOTE: All parameters must be supplied. - Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +func (x *MsgMatchReportResponse) Reset() { + *x = MsgMatchReportResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (x *MsgUpdateParams) Reset() { - *x = MsgUpdateParams{} +func (x *MsgMatchReportResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgMatchReportResponse) ProtoMessage() {} + +// Deprecated: Use MsgMatchReportResponse.ProtoReflect.Descriptor instead. +func (*MsgMatchReportResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{23} +} + +type MsgCouncilCreate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (x *MsgCouncilCreate) Reset() { + *x = MsgCouncilCreate{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[0] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUpdateParams) String() string { +func (x *MsgCouncilCreate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgCouncilCreate) ProtoMessage() {} -// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. -func (*MsgUpdateParams) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{0} +// Deprecated: Use MsgCouncilCreate.ProtoReflect.Descriptor instead. +func (*MsgCouncilCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{24} } -func (x *MsgUpdateParams) GetAuthority() string { +func (x *MsgCouncilCreate) GetCreator() string { if x != nil { - return x.Authority + return x.Creator } return "" } -func (x *MsgUpdateParams) GetParams() *Params { +func (x *MsgCouncilCreate) GetCardId() uint64 { if x != nil { - return x.Params + return x.CardId } - return nil + return 0 } -// MsgUpdateParamsResponse defines the response structure for executing a -// MsgUpdateParams message. -type MsgUpdateParamsResponse struct { +type MsgCouncilCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgUpdateParamsResponse) Reset() { - *x = MsgUpdateParamsResponse{} +func (x *MsgCouncilCreateResponse) Reset() { + *x = MsgCouncilCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[1] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUpdateParamsResponse) String() string { +func (x *MsgCouncilCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgCouncilCreateResponse) ProtoMessage() {} -// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. -func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{1} +// Deprecated: Use MsgCouncilCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{25} } -type MsgUserCreate struct { +type MsgMatchReporterAppoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - NewUser string `protobuf:"bytes,2,opt,name=newUser,proto3" json:"newUser,omitempty"` - Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"` } -func (x *MsgUserCreate) Reset() { - *x = MsgUserCreate{} +func (x *MsgMatchReporterAppoint) Reset() { + *x = MsgMatchReporterAppoint{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[2] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUserCreate) String() string { +func (x *MsgMatchReporterAppoint) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUserCreate) ProtoMessage() {} +func (*MsgMatchReporterAppoint) ProtoMessage() {} -// Deprecated: Use MsgUserCreate.ProtoReflect.Descriptor instead. -func (*MsgUserCreate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{2} +// Deprecated: Use MsgMatchReporterAppoint.ProtoReflect.Descriptor instead. +func (*MsgMatchReporterAppoint) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{26} } -func (x *MsgUserCreate) GetCreator() string { +func (x *MsgMatchReporterAppoint) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgUserCreate) GetNewUser() string { +func (x *MsgMatchReporterAppoint) GetReporter() string { if x != nil { - return x.NewUser + return x.Reporter } return "" } -func (x *MsgUserCreate) GetAlias() string { +type MsgMatchReporterAppointResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgMatchReporterAppointResponse) Reset() { + *x = MsgMatchReporterAppointResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgMatchReporterAppointResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgMatchReporterAppointResponse) ProtoMessage() {} + +// Deprecated: Use MsgMatchReporterAppointResponse.ProtoReflect.Descriptor instead. +func (*MsgMatchReporterAppointResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{27} +} + +type MsgSetCreate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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"` + StoryWriter string `protobuf:"bytes,4,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` + Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` +} + +func (x *MsgSetCreate) Reset() { + *x = MsgSetCreate{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSetCreate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSetCreate) ProtoMessage() {} + +// Deprecated: Use MsgSetCreate.ProtoReflect.Descriptor instead. +func (*MsgSetCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{28} +} + +func (x *MsgSetCreate) GetCreator() string { if x != nil { - return x.Alias + return x.Creator } return "" } -type MsgUserCreateResponse struct { +func (x *MsgSetCreate) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MsgSetCreate) GetArtist() string { + if x != nil { + return x.Artist + } + return "" +} + +func (x *MsgSetCreate) GetStoryWriter() string { + if x != nil { + return x.StoryWriter + } + return "" +} + +func (x *MsgSetCreate) GetContributors() []string { + if x != nil { + return x.Contributors + } + return nil +} + +type MsgSetCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgUserCreateResponse) Reset() { - *x = MsgUserCreateResponse{} +func (x *MsgSetCreateResponse) Reset() { + *x = MsgSetCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[3] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUserCreateResponse) String() string { +func (x *MsgSetCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUserCreateResponse) ProtoMessage() {} +func (*MsgSetCreateResponse) ProtoMessage() {} -// Deprecated: Use MsgUserCreateResponse.ProtoReflect.Descriptor instead. -func (*MsgUserCreateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{3} +// Deprecated: Use MsgSetCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgSetCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{29} } -type MsgCardSchemeBuy struct { +type MsgSetCardAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Bid *v1beta1.Coin `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid,omitempty"` + 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 (x *MsgCardSchemeBuy) Reset() { - *x = MsgCardSchemeBuy{} +func (x *MsgSetCardAdd) Reset() { + *x = MsgSetCardAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[4] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSchemeBuy) String() string { +func (x *MsgSetCardAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSchemeBuy) ProtoMessage() {} +func (*MsgSetCardAdd) ProtoMessage() {} -// Deprecated: Use MsgCardSchemeBuy.ProtoReflect.Descriptor instead. -func (*MsgCardSchemeBuy) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{4} +// Deprecated: Use MsgSetCardAdd.ProtoReflect.Descriptor instead. +func (*MsgSetCardAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{30} } -func (x *MsgCardSchemeBuy) GetCreator() string { +func (x *MsgSetCardAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardSchemeBuy) GetBid() *v1beta1.Coin { +func (x *MsgSetCardAdd) GetSetId() uint64 { if x != nil { - return x.Bid + return x.SetId } - return nil + return 0 } -type MsgCardSchemeBuyResponse struct { +func (x *MsgSetCardAdd) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +type MsgSetCardAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields +} - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +func (x *MsgSetCardAddResponse) Reset() { + *x = MsgSetCardAddResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSetCardAddResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSetCardAddResponse) ProtoMessage() {} + +// Deprecated: Use MsgSetCardAddResponse.ProtoReflect.Descriptor instead. +func (*MsgSetCardAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{31} +} + +type MsgSetCardRemove struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 (x *MsgSetCardRemove) Reset() { + *x = MsgSetCardRemove{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSetCardRemove) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSetCardRemove) ProtoMessage() {} + +// Deprecated: Use MsgSetCardRemove.ProtoReflect.Descriptor instead. +func (*MsgSetCardRemove) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{32} +} + +func (x *MsgSetCardRemove) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgSetCardRemove) GetSetId() uint64 { + if x != nil { + return x.SetId + } + return 0 +} + +func (x *MsgSetCardRemove) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +type MsgSetCardRemoveResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (x *MsgCardSchemeBuyResponse) Reset() { - *x = MsgCardSchemeBuyResponse{} +func (x *MsgSetCardRemoveResponse) Reset() { + *x = MsgSetCardRemoveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[5] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSchemeBuyResponse) String() string { +func (x *MsgSetCardRemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSchemeBuyResponse) ProtoMessage() {} - -// Deprecated: Use MsgCardSchemeBuyResponse.ProtoReflect.Descriptor instead. -func (*MsgCardSchemeBuyResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{5} -} +func (*MsgSetCardRemoveResponse) ProtoMessage() {} -func (x *MsgCardSchemeBuyResponse) GetCardId() uint64 { - if x != nil { - return x.CardId - } - return 0 +// Deprecated: Use MsgSetCardRemoveResponse.ProtoReflect.Descriptor instead. +func (*MsgSetCardRemoveResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{33} } -type MsgCardSaveContent struct { +type MsgSetContributorAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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"` + 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 (x *MsgCardSaveContent) Reset() { - *x = MsgCardSaveContent{} +func (x *MsgSetContributorAdd) Reset() { + *x = MsgSetContributorAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[6] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSaveContent) String() string { +func (x *MsgSetContributorAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSaveContent) ProtoMessage() {} +func (*MsgSetContributorAdd) ProtoMessage() {} -// Deprecated: Use MsgCardSaveContent.ProtoReflect.Descriptor instead. -func (*MsgCardSaveContent) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{6} +// Deprecated: Use MsgSetContributorAdd.ProtoReflect.Descriptor instead. +func (*MsgSetContributorAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{34} } -func (x *MsgCardSaveContent) GetCreator() string { +func (x *MsgSetContributorAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardSaveContent) GetCardId() uint64 { +func (x *MsgSetContributorAdd) GetSetId() uint64 { if x != nil { - return x.CardId + return x.SetId } return 0 } -func (x *MsgCardSaveContent) GetContent() []byte { - if x != nil { - return x.Content - } - return nil -} - -func (x *MsgCardSaveContent) GetNotes() string { - if x != nil { - return x.Notes - } - return "" -} - -func (x *MsgCardSaveContent) GetArtist() string { +func (x *MsgSetContributorAdd) GetUser() string { if x != nil { - return x.Artist + return x.User } return "" } -func (x *MsgCardSaveContent) GetBalanceAnchor() bool { - if x != nil { - return x.BalanceAnchor - } - return false -} - -type MsgCardSaveContentResponse struct { +type MsgSetContributorAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgCardSaveContentResponse) Reset() { - *x = MsgCardSaveContentResponse{} +func (x *MsgSetContributorAddResponse) Reset() { + *x = MsgSetContributorAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[7] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSaveContentResponse) String() string { +func (x *MsgSetContributorAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSaveContentResponse) ProtoMessage() {} - -// Deprecated: Use MsgCardSaveContentResponse.ProtoReflect.Descriptor instead. -func (*MsgCardSaveContentResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{7} -} +func (*MsgSetContributorAddResponse) ProtoMessage() {} -func (x *MsgCardSaveContentResponse) GetAirdropClaimed() bool { - if x != nil { - return x.AirdropClaimed - } - return false +// Deprecated: Use MsgSetContributorAddResponse.ProtoReflect.Descriptor instead. +func (*MsgSetContributorAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{35} } -type MsgCardVote struct { +type MsgSetContributorRemove struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Vote *SingleVote `protobuf:"bytes,2,opt,name=vote,proto3" json:"vote,omitempty"` + 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 (x *MsgCardVote) Reset() { - *x = MsgCardVote{} +func (x *MsgSetContributorRemove) Reset() { + *x = MsgSetContributorRemove{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[8] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardVote) String() string { +func (x *MsgSetContributorRemove) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardVote) ProtoMessage() {} +func (*MsgSetContributorRemove) ProtoMessage() {} -// Deprecated: Use MsgCardVote.ProtoReflect.Descriptor instead. -func (*MsgCardVote) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{8} +// Deprecated: Use MsgSetContributorRemove.ProtoReflect.Descriptor instead. +func (*MsgSetContributorRemove) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{36} } -func (x *MsgCardVote) GetCreator() string { +func (x *MsgSetContributorRemove) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardVote) GetVote() *SingleVote { +func (x *MsgSetContributorRemove) GetSetId() uint64 { if x != nil { - return x.Vote + return x.SetId } - return nil + return 0 } -type MsgCardVoteResponse struct { +func (x *MsgSetContributorRemove) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +type MsgSetContributorRemoveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgCardVoteResponse) Reset() { - *x = MsgCardVoteResponse{} +func (x *MsgSetContributorRemoveResponse) Reset() { + *x = MsgSetContributorRemoveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[9] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardVoteResponse) String() string { +func (x *MsgSetContributorRemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardVoteResponse) ProtoMessage() {} - -// Deprecated: Use MsgCardVoteResponse.ProtoReflect.Descriptor instead. -func (*MsgCardVoteResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{9} -} +func (*MsgSetContributorRemoveResponse) ProtoMessage() {} -func (x *MsgCardVoteResponse) GetAirdropClaimed() bool { - if x != nil { - return x.AirdropClaimed - } - return false +// Deprecated: Use MsgSetContributorRemoveResponse.ProtoReflect.Descriptor instead. +func (*MsgSetContributorRemoveResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{37} } -type MsgCardTransfer struct { +type MsgSetFinalize struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` + 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 (x *MsgCardTransfer) Reset() { - *x = MsgCardTransfer{} +func (x *MsgSetFinalize) Reset() { + *x = MsgSetFinalize{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[10] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardTransfer) String() string { +func (x *MsgSetFinalize) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardTransfer) ProtoMessage() {} +func (*MsgSetFinalize) ProtoMessage() {} -// Deprecated: Use MsgCardTransfer.ProtoReflect.Descriptor instead. -func (*MsgCardTransfer) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{10} +// Deprecated: Use MsgSetFinalize.ProtoReflect.Descriptor instead. +func (*MsgSetFinalize) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{38} } -func (x *MsgCardTransfer) GetCreator() string { +func (x *MsgSetFinalize) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardTransfer) GetCardId() uint64 { +func (x *MsgSetFinalize) GetSetId() uint64 { if x != nil { - return x.CardId + return x.SetId } return 0 } -func (x *MsgCardTransfer) GetReceiver() string { - if x != nil { - return x.Receiver - } - return "" -} - -type MsgCardTransferResponse struct { +type MsgSetFinalizeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCardTransferResponse) Reset() { - *x = MsgCardTransferResponse{} +func (x *MsgSetFinalizeResponse) Reset() { + *x = MsgSetFinalizeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[11] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardTransferResponse) String() string { +func (x *MsgSetFinalizeResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardTransferResponse) ProtoMessage() {} +func (*MsgSetFinalizeResponse) ProtoMessage() {} -// Deprecated: Use MsgCardTransferResponse.ProtoReflect.Descriptor instead. -func (*MsgCardTransferResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{11} +// Deprecated: Use MsgSetFinalizeResponse.ProtoReflect.Descriptor instead. +func (*MsgSetFinalizeResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{39} } -type MsgCardDonate struct { +type MsgSetArtworkAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + 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 (x *MsgCardDonate) Reset() { - *x = MsgCardDonate{} +func (x *MsgSetArtworkAdd) Reset() { + *x = MsgSetArtworkAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[12] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardDonate) String() string { +func (x *MsgSetArtworkAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardDonate) ProtoMessage() {} +func (*MsgSetArtworkAdd) ProtoMessage() {} -// Deprecated: Use MsgCardDonate.ProtoReflect.Descriptor instead. -func (*MsgCardDonate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{12} +// Deprecated: Use MsgSetArtworkAdd.ProtoReflect.Descriptor instead. +func (*MsgSetArtworkAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{40} } -func (x *MsgCardDonate) GetCreator() string { +func (x *MsgSetArtworkAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardDonate) GetCardId() uint64 { +func (x *MsgSetArtworkAdd) GetSetId() uint64 { if x != nil { - return x.CardId + return x.SetId } return 0 } -func (x *MsgCardDonate) GetAmount() *v1beta1.Coin { +func (x *MsgSetArtworkAdd) GetImage() []byte { if x != nil { - return x.Amount + return x.Image } return nil } -type MsgCardDonateResponse struct { +type MsgSetArtworkAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCardDonateResponse) Reset() { - *x = MsgCardDonateResponse{} +func (x *MsgSetArtworkAddResponse) Reset() { + *x = MsgSetArtworkAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[13] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardDonateResponse) String() string { +func (x *MsgSetArtworkAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardDonateResponse) ProtoMessage() {} +func (*MsgSetArtworkAddResponse) ProtoMessage() {} -// Deprecated: Use MsgCardDonateResponse.ProtoReflect.Descriptor instead. -func (*MsgCardDonateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{13} +// Deprecated: Use MsgSetArtworkAddResponse.ProtoReflect.Descriptor instead. +func (*MsgSetArtworkAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{41} } -type MsgCardArtworkAdd struct { +type MsgSetStoryAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` - FullArt bool `protobuf:"varint,4,opt,name=fullArt,proto3" json:"fullArt,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 (x *MsgCardArtworkAdd) Reset() { - *x = MsgCardArtworkAdd{} +func (x *MsgSetStoryAdd) Reset() { + *x = MsgSetStoryAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[14] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardArtworkAdd) String() string { +func (x *MsgSetStoryAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardArtworkAdd) ProtoMessage() {} +func (*MsgSetStoryAdd) ProtoMessage() {} -// Deprecated: Use MsgCardArtworkAdd.ProtoReflect.Descriptor instead. -func (*MsgCardArtworkAdd) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{14} +// Deprecated: Use MsgSetStoryAdd.ProtoReflect.Descriptor instead. +func (*MsgSetStoryAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{42} } -func (x *MsgCardArtworkAdd) GetCreator() string { +func (x *MsgSetStoryAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardArtworkAdd) GetCardId() uint64 { +func (x *MsgSetStoryAdd) GetSetId() uint64 { if x != nil { - return x.CardId + return x.SetId } return 0 } -func (x *MsgCardArtworkAdd) GetImage() []byte { - if x != nil { - return x.Image - } - return nil -} - -func (x *MsgCardArtworkAdd) GetFullArt() bool { +func (x *MsgSetStoryAdd) GetStory() string { if x != nil { - return x.FullArt + return x.Story } - return false + return "" } -type MsgCardArtworkAddResponse struct { +type MsgSetStoryAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCardArtworkAddResponse) Reset() { - *x = MsgCardArtworkAddResponse{} +func (x *MsgSetStoryAddResponse) Reset() { + *x = MsgSetStoryAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[15] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardArtworkAddResponse) String() string { +func (x *MsgSetStoryAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardArtworkAddResponse) ProtoMessage() {} +func (*MsgSetStoryAddResponse) ProtoMessage() {} -// Deprecated: Use MsgCardArtworkAddResponse.ProtoReflect.Descriptor instead. -func (*MsgCardArtworkAddResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{15} +// Deprecated: Use MsgSetStoryAddResponse.ProtoReflect.Descriptor instead. +func (*MsgSetStoryAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{43} } -type MsgCardArtistChange struct { +type MsgBoosterPackBuy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` } -func (x *MsgCardArtistChange) Reset() { - *x = MsgCardArtistChange{} +func (x *MsgBoosterPackBuy) Reset() { + *x = MsgBoosterPackBuy{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[16] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardArtistChange) String() string { +func (x *MsgBoosterPackBuy) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardArtistChange) ProtoMessage() {} +func (*MsgBoosterPackBuy) ProtoMessage() {} -// Deprecated: Use MsgCardArtistChange.ProtoReflect.Descriptor instead. -func (*MsgCardArtistChange) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{16} +// Deprecated: Use MsgBoosterPackBuy.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackBuy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{44} } -func (x *MsgCardArtistChange) GetCreator() string { +func (x *MsgBoosterPackBuy) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardArtistChange) GetCardId() uint64 { +func (x *MsgBoosterPackBuy) GetSetId() uint64 { if x != nil { - return x.CardId + return x.SetId } return 0 } -func (x *MsgCardArtistChange) GetArtist() string { - if x != nil { - return x.Artist - } - return "" -} - -type MsgCardArtistChangeResponse struct { +type MsgBoosterPackBuyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgCardArtistChangeResponse) Reset() { - *x = MsgCardArtistChangeResponse{} +func (x *MsgBoosterPackBuyResponse) Reset() { + *x = MsgBoosterPackBuyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[17] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardArtistChangeResponse) String() string { +func (x *MsgBoosterPackBuyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardArtistChangeResponse) ProtoMessage() {} +func (*MsgBoosterPackBuyResponse) ProtoMessage() {} -// Deprecated: Use MsgCardArtistChangeResponse.ProtoReflect.Descriptor instead. -func (*MsgCardArtistChangeResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{17} +// Deprecated: Use MsgBoosterPackBuyResponse.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackBuyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{45} } -type MsgCouncilRegister struct { +func (x *MsgBoosterPackBuyResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgSellOfferCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,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"` + Price *v1beta1.Coin `protobuf:"bytes,3,opt,name=price,proto3" json:"price,omitempty"` } - -func (x *MsgCouncilRegister) Reset() { - *x = MsgCouncilRegister{} + +func (x *MsgSellOfferCreate) Reset() { + *x = MsgSellOfferCreate{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[18] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilRegister) String() string { +func (x *MsgSellOfferCreate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilRegister) ProtoMessage() {} +func (*MsgSellOfferCreate) ProtoMessage() {} -// Deprecated: Use MsgCouncilRegister.ProtoReflect.Descriptor instead. -func (*MsgCouncilRegister) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{18} +// Deprecated: Use MsgSellOfferCreate.ProtoReflect.Descriptor instead. +func (*MsgSellOfferCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{46} } -func (x *MsgCouncilRegister) GetCreator() string { +func (x *MsgSellOfferCreate) GetCreator() string { if x != nil { return x.Creator } return "" } -type MsgCouncilRegisterResponse struct { +func (x *MsgSellOfferCreate) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgSellOfferCreate) GetPrice() *v1beta1.Coin { + if x != nil { + return x.Price + } + return nil +} + +type MsgSellOfferCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilRegisterResponse) Reset() { - *x = MsgCouncilRegisterResponse{} +func (x *MsgSellOfferCreateResponse) Reset() { + *x = MsgSellOfferCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[19] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilRegisterResponse) String() string { +func (x *MsgSellOfferCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilRegisterResponse) ProtoMessage() {} +func (*MsgSellOfferCreateResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilRegisterResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilRegisterResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{19} +// Deprecated: Use MsgSellOfferCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgSellOfferCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{47} } -type MsgCouncilDeregister struct { +type MsgSellOfferBuy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` } -func (x *MsgCouncilDeregister) Reset() { - *x = MsgCouncilDeregister{} +func (x *MsgSellOfferBuy) Reset() { + *x = MsgSellOfferBuy{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[20] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilDeregister) String() string { +func (x *MsgSellOfferBuy) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilDeregister) ProtoMessage() {} +func (*MsgSellOfferBuy) ProtoMessage() {} -// Deprecated: Use MsgCouncilDeregister.ProtoReflect.Descriptor instead. -func (*MsgCouncilDeregister) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{20} +// Deprecated: Use MsgSellOfferBuy.ProtoReflect.Descriptor instead. +func (*MsgSellOfferBuy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{48} } -func (x *MsgCouncilDeregister) GetCreator() string { +func (x *MsgSellOfferBuy) GetCreator() string { if x != nil { return x.Creator } return "" } -type MsgCouncilDeregisterResponse struct { +func (x *MsgSellOfferBuy) GetSellOfferId() uint64 { + if x != nil { + return x.SellOfferId + } + return 0 +} + +type MsgSellOfferBuyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilDeregisterResponse) Reset() { - *x = MsgCouncilDeregisterResponse{} +func (x *MsgSellOfferBuyResponse) Reset() { + *x = MsgSellOfferBuyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[21] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilDeregisterResponse) String() string { +func (x *MsgSellOfferBuyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilDeregisterResponse) ProtoMessage() {} +func (*MsgSellOfferBuyResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilDeregisterResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilDeregisterResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{21} +// Deprecated: Use MsgSellOfferBuyResponse.ProtoReflect.Descriptor instead. +func (*MsgSellOfferBuyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{49} } -type MsgMatchReport struct { +type MsgSellOfferRemove struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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=cardchain.cardchain.Outcome" json:"outcome,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` } -func (x *MsgMatchReport) Reset() { - *x = MsgMatchReport{} +func (x *MsgSellOfferRemove) Reset() { + *x = MsgSellOfferRemove{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[22] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchReport) String() string { +func (x *MsgSellOfferRemove) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchReport) ProtoMessage() {} +func (*MsgSellOfferRemove) ProtoMessage() {} -// Deprecated: Use MsgMatchReport.ProtoReflect.Descriptor instead. -func (*MsgMatchReport) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{22} +// Deprecated: Use MsgSellOfferRemove.ProtoReflect.Descriptor instead. +func (*MsgSellOfferRemove) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{50} } -func (x *MsgMatchReport) GetCreator() string { +func (x *MsgSellOfferRemove) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgMatchReport) GetMatchId() uint64 { +func (x *MsgSellOfferRemove) GetSellOfferId() uint64 { if x != nil { - return x.MatchId + return x.SellOfferId } return 0 } -func (x *MsgMatchReport) GetPlayedCardsA() []uint64 { - if x != nil { - return x.PlayedCardsA - } - return nil -} - -func (x *MsgMatchReport) GetPlayedCardsB() []uint64 { - if x != nil { - return x.PlayedCardsB - } - return nil -} - -func (x *MsgMatchReport) GetOutcome() Outcome { - if x != nil { - return x.Outcome - } - return Outcome_AWon -} - -type MsgMatchReportResponse struct { +type MsgSellOfferRemoveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgMatchReportResponse) Reset() { - *x = MsgMatchReportResponse{} +func (x *MsgSellOfferRemoveResponse) Reset() { + *x = MsgSellOfferRemoveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[23] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchReportResponse) String() string { +func (x *MsgSellOfferRemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchReportResponse) ProtoMessage() {} +func (*MsgSellOfferRemoveResponse) ProtoMessage() {} -// Deprecated: Use MsgMatchReportResponse.ProtoReflect.Descriptor instead. -func (*MsgMatchReportResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{23} +// Deprecated: Use MsgSellOfferRemoveResponse.ProtoReflect.Descriptor instead. +func (*MsgSellOfferRemoveResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{51} } var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor @@ -12227,84 +25589,296 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd7, 0x09, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x10, 0x4d, + 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, + 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x17, 0x4d, + 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, + 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x01, + 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x65, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x68, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, + 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x6b, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, + 0x1f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x4e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, + 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, 0x10, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, + 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, + 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, + 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, + 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x43, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, + 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, + 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, + 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, + 0x35, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, + 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x5b, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, + 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, + 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x0a, 0x12, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x9a, 0x15, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, - 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, - 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, - 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, - 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, + 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, + 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, + 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, + 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, + 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, + 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, + 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, + 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, + 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, - 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, - 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, + 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, - 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, + 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, + 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, + 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, + 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, + 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, + 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, + 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, + 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, + 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, + 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, + 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, @@ -12333,72 +25907,129 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 52) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ - (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams - (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse - (*MsgUserCreate)(nil), // 2: cardchain.cardchain.MsgUserCreate - (*MsgUserCreateResponse)(nil), // 3: cardchain.cardchain.MsgUserCreateResponse - (*MsgCardSchemeBuy)(nil), // 4: cardchain.cardchain.MsgCardSchemeBuy - (*MsgCardSchemeBuyResponse)(nil), // 5: cardchain.cardchain.MsgCardSchemeBuyResponse - (*MsgCardSaveContent)(nil), // 6: cardchain.cardchain.MsgCardSaveContent - (*MsgCardSaveContentResponse)(nil), // 7: cardchain.cardchain.MsgCardSaveContentResponse - (*MsgCardVote)(nil), // 8: cardchain.cardchain.MsgCardVote - (*MsgCardVoteResponse)(nil), // 9: cardchain.cardchain.MsgCardVoteResponse - (*MsgCardTransfer)(nil), // 10: cardchain.cardchain.MsgCardTransfer - (*MsgCardTransferResponse)(nil), // 11: cardchain.cardchain.MsgCardTransferResponse - (*MsgCardDonate)(nil), // 12: cardchain.cardchain.MsgCardDonate - (*MsgCardDonateResponse)(nil), // 13: cardchain.cardchain.MsgCardDonateResponse - (*MsgCardArtworkAdd)(nil), // 14: cardchain.cardchain.MsgCardArtworkAdd - (*MsgCardArtworkAddResponse)(nil), // 15: cardchain.cardchain.MsgCardArtworkAddResponse - (*MsgCardArtistChange)(nil), // 16: cardchain.cardchain.MsgCardArtistChange - (*MsgCardArtistChangeResponse)(nil), // 17: cardchain.cardchain.MsgCardArtistChangeResponse - (*MsgCouncilRegister)(nil), // 18: cardchain.cardchain.MsgCouncilRegister - (*MsgCouncilRegisterResponse)(nil), // 19: cardchain.cardchain.MsgCouncilRegisterResponse - (*MsgCouncilDeregister)(nil), // 20: cardchain.cardchain.MsgCouncilDeregister - (*MsgCouncilDeregisterResponse)(nil), // 21: cardchain.cardchain.MsgCouncilDeregisterResponse - (*MsgMatchReport)(nil), // 22: cardchain.cardchain.MsgMatchReport - (*MsgMatchReportResponse)(nil), // 23: cardchain.cardchain.MsgMatchReportResponse - (*Params)(nil), // 24: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 25: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 26: cardchain.cardchain.SingleVote - (Outcome)(0), // 27: cardchain.cardchain.Outcome + (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams + (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse + (*MsgUserCreate)(nil), // 2: cardchain.cardchain.MsgUserCreate + (*MsgUserCreateResponse)(nil), // 3: cardchain.cardchain.MsgUserCreateResponse + (*MsgCardSchemeBuy)(nil), // 4: cardchain.cardchain.MsgCardSchemeBuy + (*MsgCardSchemeBuyResponse)(nil), // 5: cardchain.cardchain.MsgCardSchemeBuyResponse + (*MsgCardSaveContent)(nil), // 6: cardchain.cardchain.MsgCardSaveContent + (*MsgCardSaveContentResponse)(nil), // 7: cardchain.cardchain.MsgCardSaveContentResponse + (*MsgCardVote)(nil), // 8: cardchain.cardchain.MsgCardVote + (*MsgCardVoteResponse)(nil), // 9: cardchain.cardchain.MsgCardVoteResponse + (*MsgCardTransfer)(nil), // 10: cardchain.cardchain.MsgCardTransfer + (*MsgCardTransferResponse)(nil), // 11: cardchain.cardchain.MsgCardTransferResponse + (*MsgCardDonate)(nil), // 12: cardchain.cardchain.MsgCardDonate + (*MsgCardDonateResponse)(nil), // 13: cardchain.cardchain.MsgCardDonateResponse + (*MsgCardArtworkAdd)(nil), // 14: cardchain.cardchain.MsgCardArtworkAdd + (*MsgCardArtworkAddResponse)(nil), // 15: cardchain.cardchain.MsgCardArtworkAddResponse + (*MsgCardArtistChange)(nil), // 16: cardchain.cardchain.MsgCardArtistChange + (*MsgCardArtistChangeResponse)(nil), // 17: cardchain.cardchain.MsgCardArtistChangeResponse + (*MsgCouncilRegister)(nil), // 18: cardchain.cardchain.MsgCouncilRegister + (*MsgCouncilRegisterResponse)(nil), // 19: cardchain.cardchain.MsgCouncilRegisterResponse + (*MsgCouncilDeregister)(nil), // 20: cardchain.cardchain.MsgCouncilDeregister + (*MsgCouncilDeregisterResponse)(nil), // 21: cardchain.cardchain.MsgCouncilDeregisterResponse + (*MsgMatchReport)(nil), // 22: cardchain.cardchain.MsgMatchReport + (*MsgMatchReportResponse)(nil), // 23: cardchain.cardchain.MsgMatchReportResponse + (*MsgCouncilCreate)(nil), // 24: cardchain.cardchain.MsgCouncilCreate + (*MsgCouncilCreateResponse)(nil), // 25: cardchain.cardchain.MsgCouncilCreateResponse + (*MsgMatchReporterAppoint)(nil), // 26: cardchain.cardchain.MsgMatchReporterAppoint + (*MsgMatchReporterAppointResponse)(nil), // 27: cardchain.cardchain.MsgMatchReporterAppointResponse + (*MsgSetCreate)(nil), // 28: cardchain.cardchain.MsgSetCreate + (*MsgSetCreateResponse)(nil), // 29: cardchain.cardchain.MsgSetCreateResponse + (*MsgSetCardAdd)(nil), // 30: cardchain.cardchain.MsgSetCardAdd + (*MsgSetCardAddResponse)(nil), // 31: cardchain.cardchain.MsgSetCardAddResponse + (*MsgSetCardRemove)(nil), // 32: cardchain.cardchain.MsgSetCardRemove + (*MsgSetCardRemoveResponse)(nil), // 33: cardchain.cardchain.MsgSetCardRemoveResponse + (*MsgSetContributorAdd)(nil), // 34: cardchain.cardchain.MsgSetContributorAdd + (*MsgSetContributorAddResponse)(nil), // 35: cardchain.cardchain.MsgSetContributorAddResponse + (*MsgSetContributorRemove)(nil), // 36: cardchain.cardchain.MsgSetContributorRemove + (*MsgSetContributorRemoveResponse)(nil), // 37: cardchain.cardchain.MsgSetContributorRemoveResponse + (*MsgSetFinalize)(nil), // 38: cardchain.cardchain.MsgSetFinalize + (*MsgSetFinalizeResponse)(nil), // 39: cardchain.cardchain.MsgSetFinalizeResponse + (*MsgSetArtworkAdd)(nil), // 40: cardchain.cardchain.MsgSetArtworkAdd + (*MsgSetArtworkAddResponse)(nil), // 41: cardchain.cardchain.MsgSetArtworkAddResponse + (*MsgSetStoryAdd)(nil), // 42: cardchain.cardchain.MsgSetStoryAdd + (*MsgSetStoryAddResponse)(nil), // 43: cardchain.cardchain.MsgSetStoryAddResponse + (*MsgBoosterPackBuy)(nil), // 44: cardchain.cardchain.MsgBoosterPackBuy + (*MsgBoosterPackBuyResponse)(nil), // 45: cardchain.cardchain.MsgBoosterPackBuyResponse + (*MsgSellOfferCreate)(nil), // 46: cardchain.cardchain.MsgSellOfferCreate + (*MsgSellOfferCreateResponse)(nil), // 47: cardchain.cardchain.MsgSellOfferCreateResponse + (*MsgSellOfferBuy)(nil), // 48: cardchain.cardchain.MsgSellOfferBuy + (*MsgSellOfferBuyResponse)(nil), // 49: cardchain.cardchain.MsgSellOfferBuyResponse + (*MsgSellOfferRemove)(nil), // 50: cardchain.cardchain.MsgSellOfferRemove + (*MsgSellOfferRemoveResponse)(nil), // 51: cardchain.cardchain.MsgSellOfferRemoveResponse + (*Params)(nil), // 52: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 53: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 54: cardchain.cardchain.SingleVote + (Outcome)(0), // 55: cardchain.cardchain.Outcome } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 24, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 25, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 26, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 25, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 27, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome - 0, // 5: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams - 2, // 6: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate - 4, // 7: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy - 6, // 8: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent - 8, // 9: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote - 10, // 10: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer - 12, // 11: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate - 14, // 12: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd - 16, // 13: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange - 18, // 14: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister - 20, // 15: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister - 22, // 16: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport - 1, // 17: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 18: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 19: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 20: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 21: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 22: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 23: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 24: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 25: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 26: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 27: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 28: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 17, // [17:29] is the sub-list for method output_type - 5, // [5:17] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 52, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 53, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 54, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 53, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 55, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 53, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin + 0, // 6: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams + 2, // 7: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate + 4, // 8: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy + 6, // 9: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent + 8, // 10: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote + 10, // 11: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer + 12, // 12: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate + 14, // 13: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd + 16, // 14: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange + 18, // 15: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister + 20, // 16: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister + 22, // 17: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport + 24, // 18: cardchain.cardchain.Msg.CouncilCreate:input_type -> cardchain.cardchain.MsgCouncilCreate + 26, // 19: cardchain.cardchain.Msg.MatchReporterAppoint:input_type -> cardchain.cardchain.MsgMatchReporterAppoint + 28, // 20: cardchain.cardchain.Msg.SetCreate:input_type -> cardchain.cardchain.MsgSetCreate + 30, // 21: cardchain.cardchain.Msg.SetCardAdd:input_type -> cardchain.cardchain.MsgSetCardAdd + 32, // 22: cardchain.cardchain.Msg.SetCardRemove:input_type -> cardchain.cardchain.MsgSetCardRemove + 34, // 23: cardchain.cardchain.Msg.SetContributorAdd:input_type -> cardchain.cardchain.MsgSetContributorAdd + 36, // 24: cardchain.cardchain.Msg.SetContributorRemove:input_type -> cardchain.cardchain.MsgSetContributorRemove + 38, // 25: cardchain.cardchain.Msg.SetFinalize:input_type -> cardchain.cardchain.MsgSetFinalize + 40, // 26: cardchain.cardchain.Msg.SetArtworkAdd:input_type -> cardchain.cardchain.MsgSetArtworkAdd + 42, // 27: cardchain.cardchain.Msg.SetStoryAdd:input_type -> cardchain.cardchain.MsgSetStoryAdd + 44, // 28: cardchain.cardchain.Msg.BoosterPackBuy:input_type -> cardchain.cardchain.MsgBoosterPackBuy + 46, // 29: cardchain.cardchain.Msg.SellOfferCreate:input_type -> cardchain.cardchain.MsgSellOfferCreate + 48, // 30: cardchain.cardchain.Msg.SellOfferBuy:input_type -> cardchain.cardchain.MsgSellOfferBuy + 50, // 31: cardchain.cardchain.Msg.SellOfferRemove:input_type -> cardchain.cardchain.MsgSellOfferRemove + 1, // 32: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 33: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 34: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 35: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 36: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 37: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 38: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 39: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 40: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 41: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 42: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 43: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 25, // 44: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse + 27, // 45: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse + 29, // 46: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse + 31, // 47: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse + 33, // 48: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse + 35, // 49: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse + 37, // 50: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse + 39, // 51: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse + 41, // 52: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse + 43, // 53: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse + 45, // 54: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse + 47, // 55: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse + 49, // 56: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse + 51, // 57: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse + 32, // [32:58] is the sub-list for method output_type + 6, // [6:32] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_cardchain_cardchain_tx_proto_init() } @@ -12422,8 +26053,128 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateParamsResponse); i { + file_cardchain_cardchain_tx_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParamsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUserCreate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUserCreateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardSchemeBuy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardSchemeBuyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardSaveContent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardSaveContentResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardVote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardVoteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardTransfer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardTransferResponse); i { case 0: return &v.state case 1: @@ -12434,8 +26185,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUserCreate); i { + file_cardchain_cardchain_tx_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardDonate); i { case 0: return &v.state case 1: @@ -12446,8 +26197,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUserCreateResponse); i { + file_cardchain_cardchain_tx_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardDonateResponse); i { case 0: return &v.state case 1: @@ -12458,8 +26209,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardSchemeBuy); i { + file_cardchain_cardchain_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardArtworkAdd); i { case 0: return &v.state case 1: @@ -12470,8 +26221,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardSchemeBuyResponse); i { + file_cardchain_cardchain_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardArtworkAddResponse); i { case 0: return &v.state case 1: @@ -12482,8 +26233,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardSaveContent); i { + file_cardchain_cardchain_tx_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardArtistChange); i { case 0: return &v.state case 1: @@ -12494,8 +26245,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardSaveContentResponse); i { + file_cardchain_cardchain_tx_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardArtistChangeResponse); i { case 0: return &v.state case 1: @@ -12506,8 +26257,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardVote); i { + file_cardchain_cardchain_tx_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilRegister); i { case 0: return &v.state case 1: @@ -12518,8 +26269,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardVoteResponse); i { + file_cardchain_cardchain_tx_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilRegisterResponse); i { case 0: return &v.state case 1: @@ -12530,8 +26281,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardTransfer); i { + file_cardchain_cardchain_tx_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilDeregister); i { case 0: return &v.state case 1: @@ -12542,8 +26293,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardTransferResponse); i { + file_cardchain_cardchain_tx_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilDeregisterResponse); i { case 0: return &v.state case 1: @@ -12554,8 +26305,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardDonate); i { + file_cardchain_cardchain_tx_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgMatchReport); i { case 0: return &v.state case 1: @@ -12566,8 +26317,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardDonateResponse); i { + file_cardchain_cardchain_tx_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgMatchReportResponse); i { case 0: return &v.state case 1: @@ -12578,8 +26329,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardArtworkAdd); i { + file_cardchain_cardchain_tx_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilCreate); i { case 0: return &v.state case 1: @@ -12590,8 +26341,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardArtworkAddResponse); i { + file_cardchain_cardchain_tx_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilCreateResponse); i { case 0: return &v.state case 1: @@ -12602,8 +26353,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardArtistChange); i { + file_cardchain_cardchain_tx_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgMatchReporterAppoint); i { case 0: return &v.state case 1: @@ -12614,8 +26365,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCardArtistChangeResponse); i { + file_cardchain_cardchain_tx_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgMatchReporterAppointResponse); i { case 0: return &v.state case 1: @@ -12626,8 +26377,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCouncilRegister); i { + file_cardchain_cardchain_tx_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetCreate); i { case 0: return &v.state case 1: @@ -12638,8 +26389,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCouncilRegisterResponse); i { + file_cardchain_cardchain_tx_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetCreateResponse); i { case 0: return &v.state case 1: @@ -12650,8 +26401,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCouncilDeregister); i { + file_cardchain_cardchain_tx_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetCardAdd); i { case 0: return &v.state case 1: @@ -12662,8 +26413,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCouncilDeregisterResponse); i { + file_cardchain_cardchain_tx_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetCardAddResponse); i { case 0: return &v.state case 1: @@ -12674,8 +26425,8 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgMatchReport); i { + file_cardchain_cardchain_tx_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetCardRemove); i { case 0: return &v.state case 1: @@ -12686,8 +26437,224 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgMatchReportResponse); i { + file_cardchain_cardchain_tx_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetCardRemoveResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetContributorAdd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetContributorAddResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetContributorRemove); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetContributorRemoveResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetFinalize); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetFinalizeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetArtworkAdd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetArtworkAddResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetStoryAdd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetStoryAddResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgBoosterPackBuy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgBoosterPackBuyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSellOfferCreate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSellOfferCreateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSellOfferBuy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSellOfferBuyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSellOfferRemove); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSellOfferRemoveResponse); i { case 0: return &v.state case 1: @@ -12705,7 +26672,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 24, + NumMessages: 52, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index f869c5ee..a6f4140a 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -19,18 +19,32 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - Msg_UpdateParams_FullMethodName = "/cardchain.cardchain.Msg/UpdateParams" - Msg_UserCreate_FullMethodName = "/cardchain.cardchain.Msg/UserCreate" - Msg_CardSchemeBuy_FullMethodName = "/cardchain.cardchain.Msg/CardSchemeBuy" - Msg_CardSaveContent_FullMethodName = "/cardchain.cardchain.Msg/CardSaveContent" - Msg_CardVote_FullMethodName = "/cardchain.cardchain.Msg/CardVote" - Msg_CardTransfer_FullMethodName = "/cardchain.cardchain.Msg/CardTransfer" - Msg_CardDonate_FullMethodName = "/cardchain.cardchain.Msg/CardDonate" - Msg_CardArtworkAdd_FullMethodName = "/cardchain.cardchain.Msg/CardArtworkAdd" - Msg_CardArtistChange_FullMethodName = "/cardchain.cardchain.Msg/CardArtistChange" - Msg_CouncilRegister_FullMethodName = "/cardchain.cardchain.Msg/CouncilRegister" - Msg_CouncilDeregister_FullMethodName = "/cardchain.cardchain.Msg/CouncilDeregister" - Msg_MatchReport_FullMethodName = "/cardchain.cardchain.Msg/MatchReport" + Msg_UpdateParams_FullMethodName = "/cardchain.cardchain.Msg/UpdateParams" + Msg_UserCreate_FullMethodName = "/cardchain.cardchain.Msg/UserCreate" + Msg_CardSchemeBuy_FullMethodName = "/cardchain.cardchain.Msg/CardSchemeBuy" + Msg_CardSaveContent_FullMethodName = "/cardchain.cardchain.Msg/CardSaveContent" + Msg_CardVote_FullMethodName = "/cardchain.cardchain.Msg/CardVote" + Msg_CardTransfer_FullMethodName = "/cardchain.cardchain.Msg/CardTransfer" + Msg_CardDonate_FullMethodName = "/cardchain.cardchain.Msg/CardDonate" + Msg_CardArtworkAdd_FullMethodName = "/cardchain.cardchain.Msg/CardArtworkAdd" + Msg_CardArtistChange_FullMethodName = "/cardchain.cardchain.Msg/CardArtistChange" + Msg_CouncilRegister_FullMethodName = "/cardchain.cardchain.Msg/CouncilRegister" + Msg_CouncilDeregister_FullMethodName = "/cardchain.cardchain.Msg/CouncilDeregister" + Msg_MatchReport_FullMethodName = "/cardchain.cardchain.Msg/MatchReport" + Msg_CouncilCreate_FullMethodName = "/cardchain.cardchain.Msg/CouncilCreate" + Msg_MatchReporterAppoint_FullMethodName = "/cardchain.cardchain.Msg/MatchReporterAppoint" + Msg_SetCreate_FullMethodName = "/cardchain.cardchain.Msg/SetCreate" + Msg_SetCardAdd_FullMethodName = "/cardchain.cardchain.Msg/SetCardAdd" + Msg_SetCardRemove_FullMethodName = "/cardchain.cardchain.Msg/SetCardRemove" + Msg_SetContributorAdd_FullMethodName = "/cardchain.cardchain.Msg/SetContributorAdd" + Msg_SetContributorRemove_FullMethodName = "/cardchain.cardchain.Msg/SetContributorRemove" + Msg_SetFinalize_FullMethodName = "/cardchain.cardchain.Msg/SetFinalize" + Msg_SetArtworkAdd_FullMethodName = "/cardchain.cardchain.Msg/SetArtworkAdd" + Msg_SetStoryAdd_FullMethodName = "/cardchain.cardchain.Msg/SetStoryAdd" + Msg_BoosterPackBuy_FullMethodName = "/cardchain.cardchain.Msg/BoosterPackBuy" + Msg_SellOfferCreate_FullMethodName = "/cardchain.cardchain.Msg/SellOfferCreate" + Msg_SellOfferBuy_FullMethodName = "/cardchain.cardchain.Msg/SellOfferBuy" + Msg_SellOfferRemove_FullMethodName = "/cardchain.cardchain.Msg/SellOfferRemove" ) // MsgClient is the client API for Msg service. @@ -51,6 +65,20 @@ type MsgClient interface { CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) + CouncilCreate(ctx context.Context, in *MsgCouncilCreate, opts ...grpc.CallOption) (*MsgCouncilCreateResponse, error) + MatchReporterAppoint(ctx context.Context, in *MsgMatchReporterAppoint, opts ...grpc.CallOption) (*MsgMatchReporterAppointResponse, error) + SetCreate(ctx context.Context, in *MsgSetCreate, opts ...grpc.CallOption) (*MsgSetCreateResponse, error) + SetCardAdd(ctx context.Context, in *MsgSetCardAdd, opts ...grpc.CallOption) (*MsgSetCardAddResponse, error) + SetCardRemove(ctx context.Context, in *MsgSetCardRemove, opts ...grpc.CallOption) (*MsgSetCardRemoveResponse, error) + SetContributorAdd(ctx context.Context, in *MsgSetContributorAdd, opts ...grpc.CallOption) (*MsgSetContributorAddResponse, error) + SetContributorRemove(ctx context.Context, in *MsgSetContributorRemove, opts ...grpc.CallOption) (*MsgSetContributorRemoveResponse, error) + SetFinalize(ctx context.Context, in *MsgSetFinalize, opts ...grpc.CallOption) (*MsgSetFinalizeResponse, error) + SetArtworkAdd(ctx context.Context, in *MsgSetArtworkAdd, opts ...grpc.CallOption) (*MsgSetArtworkAddResponse, error) + SetStoryAdd(ctx context.Context, in *MsgSetStoryAdd, opts ...grpc.CallOption) (*MsgSetStoryAddResponse, error) + BoosterPackBuy(ctx context.Context, in *MsgBoosterPackBuy, opts ...grpc.CallOption) (*MsgBoosterPackBuyResponse, error) + SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) + SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) + SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) } type msgClient struct { @@ -169,6 +197,132 @@ func (c *msgClient) MatchReport(ctx context.Context, in *MsgMatchReport, opts .. return out, nil } +func (c *msgClient) CouncilCreate(ctx context.Context, in *MsgCouncilCreate, opts ...grpc.CallOption) (*MsgCouncilCreateResponse, error) { + out := new(MsgCouncilCreateResponse) + err := c.cc.Invoke(ctx, Msg_CouncilCreate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) MatchReporterAppoint(ctx context.Context, in *MsgMatchReporterAppoint, opts ...grpc.CallOption) (*MsgMatchReporterAppointResponse, error) { + out := new(MsgMatchReporterAppointResponse) + err := c.cc.Invoke(ctx, Msg_MatchReporterAppoint_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SetCreate(ctx context.Context, in *MsgSetCreate, opts ...grpc.CallOption) (*MsgSetCreateResponse, error) { + out := new(MsgSetCreateResponse) + err := c.cc.Invoke(ctx, Msg_SetCreate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SetCardAdd(ctx context.Context, in *MsgSetCardAdd, opts ...grpc.CallOption) (*MsgSetCardAddResponse, error) { + out := new(MsgSetCardAddResponse) + err := c.cc.Invoke(ctx, Msg_SetCardAdd_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SetCardRemove(ctx context.Context, in *MsgSetCardRemove, opts ...grpc.CallOption) (*MsgSetCardRemoveResponse, error) { + out := new(MsgSetCardRemoveResponse) + err := c.cc.Invoke(ctx, Msg_SetCardRemove_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SetContributorAdd(ctx context.Context, in *MsgSetContributorAdd, opts ...grpc.CallOption) (*MsgSetContributorAddResponse, error) { + out := new(MsgSetContributorAddResponse) + err := c.cc.Invoke(ctx, Msg_SetContributorAdd_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SetContributorRemove(ctx context.Context, in *MsgSetContributorRemove, opts ...grpc.CallOption) (*MsgSetContributorRemoveResponse, error) { + out := new(MsgSetContributorRemoveResponse) + err := c.cc.Invoke(ctx, Msg_SetContributorRemove_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SetFinalize(ctx context.Context, in *MsgSetFinalize, opts ...grpc.CallOption) (*MsgSetFinalizeResponse, error) { + out := new(MsgSetFinalizeResponse) + err := c.cc.Invoke(ctx, Msg_SetFinalize_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SetArtworkAdd(ctx context.Context, in *MsgSetArtworkAdd, opts ...grpc.CallOption) (*MsgSetArtworkAddResponse, error) { + out := new(MsgSetArtworkAddResponse) + err := c.cc.Invoke(ctx, Msg_SetArtworkAdd_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SetStoryAdd(ctx context.Context, in *MsgSetStoryAdd, opts ...grpc.CallOption) (*MsgSetStoryAddResponse, error) { + out := new(MsgSetStoryAddResponse) + err := c.cc.Invoke(ctx, Msg_SetStoryAdd_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) BoosterPackBuy(ctx context.Context, in *MsgBoosterPackBuy, opts ...grpc.CallOption) (*MsgBoosterPackBuyResponse, error) { + out := new(MsgBoosterPackBuyResponse) + err := c.cc.Invoke(ctx, Msg_BoosterPackBuy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) { + out := new(MsgSellOfferCreateResponse) + err := c.cc.Invoke(ctx, Msg_SellOfferCreate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) { + out := new(MsgSellOfferBuyResponse) + err := c.cc.Invoke(ctx, Msg_SellOfferBuy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) { + out := new(MsgSellOfferRemoveResponse) + err := c.cc.Invoke(ctx, Msg_SellOfferRemove_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -187,6 +341,20 @@ type MsgServer interface { CouncilRegister(context.Context, *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) CouncilDeregister(context.Context, *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) MatchReport(context.Context, *MsgMatchReport) (*MsgMatchReportResponse, error) + CouncilCreate(context.Context, *MsgCouncilCreate) (*MsgCouncilCreateResponse, error) + MatchReporterAppoint(context.Context, *MsgMatchReporterAppoint) (*MsgMatchReporterAppointResponse, error) + SetCreate(context.Context, *MsgSetCreate) (*MsgSetCreateResponse, error) + SetCardAdd(context.Context, *MsgSetCardAdd) (*MsgSetCardAddResponse, error) + SetCardRemove(context.Context, *MsgSetCardRemove) (*MsgSetCardRemoveResponse, error) + SetContributorAdd(context.Context, *MsgSetContributorAdd) (*MsgSetContributorAddResponse, error) + SetContributorRemove(context.Context, *MsgSetContributorRemove) (*MsgSetContributorRemoveResponse, error) + SetFinalize(context.Context, *MsgSetFinalize) (*MsgSetFinalizeResponse, error) + SetArtworkAdd(context.Context, *MsgSetArtworkAdd) (*MsgSetArtworkAddResponse, error) + SetStoryAdd(context.Context, *MsgSetStoryAdd) (*MsgSetStoryAddResponse, error) + BoosterPackBuy(context.Context, *MsgBoosterPackBuy) (*MsgBoosterPackBuyResponse, error) + SellOfferCreate(context.Context, *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) + SellOfferBuy(context.Context, *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) + SellOfferRemove(context.Context, *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) mustEmbedUnimplementedMsgServer() } @@ -230,6 +398,48 @@ func (UnimplementedMsgServer) CouncilDeregister(context.Context, *MsgCouncilDere func (UnimplementedMsgServer) MatchReport(context.Context, *MsgMatchReport) (*MsgMatchReportResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method MatchReport not implemented") } +func (UnimplementedMsgServer) CouncilCreate(context.Context, *MsgCouncilCreate) (*MsgCouncilCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilCreate not implemented") +} +func (UnimplementedMsgServer) MatchReporterAppoint(context.Context, *MsgMatchReporterAppoint) (*MsgMatchReporterAppointResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchReporterAppoint not implemented") +} +func (UnimplementedMsgServer) SetCreate(context.Context, *MsgSetCreate) (*MsgSetCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetCreate not implemented") +} +func (UnimplementedMsgServer) SetCardAdd(context.Context, *MsgSetCardAdd) (*MsgSetCardAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetCardAdd not implemented") +} +func (UnimplementedMsgServer) SetCardRemove(context.Context, *MsgSetCardRemove) (*MsgSetCardRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetCardRemove not implemented") +} +func (UnimplementedMsgServer) SetContributorAdd(context.Context, *MsgSetContributorAdd) (*MsgSetContributorAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetContributorAdd not implemented") +} +func (UnimplementedMsgServer) SetContributorRemove(context.Context, *MsgSetContributorRemove) (*MsgSetContributorRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetContributorRemove not implemented") +} +func (UnimplementedMsgServer) SetFinalize(context.Context, *MsgSetFinalize) (*MsgSetFinalizeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetFinalize not implemented") +} +func (UnimplementedMsgServer) SetArtworkAdd(context.Context, *MsgSetArtworkAdd) (*MsgSetArtworkAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetArtworkAdd not implemented") +} +func (UnimplementedMsgServer) SetStoryAdd(context.Context, *MsgSetStoryAdd) (*MsgSetStoryAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetStoryAdd not implemented") +} +func (UnimplementedMsgServer) BoosterPackBuy(context.Context, *MsgBoosterPackBuy) (*MsgBoosterPackBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BoosterPackBuy not implemented") +} +func (UnimplementedMsgServer) SellOfferCreate(context.Context, *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOfferCreate not implemented") +} +func (UnimplementedMsgServer) SellOfferBuy(context.Context, *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOfferBuy not implemented") +} +func (UnimplementedMsgServer) SellOfferRemove(context.Context, *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOfferRemove not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -459,6 +669,258 @@ func _Msg_MatchReport_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +func _Msg_CouncilCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CouncilCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilCreate(ctx, req.(*MsgCouncilCreate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_MatchReporterAppoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchReporterAppoint) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).MatchReporterAppoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_MatchReporterAppoint_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchReporterAppoint(ctx, req.(*MsgMatchReporterAppoint)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetCreate(ctx, req.(*MsgSetCreate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetCardAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetCardAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetCardAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetCardAdd_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetCardAdd(ctx, req.(*MsgSetCardAdd)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetCardRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetCardRemove) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetCardRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetCardRemove_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetCardRemove(ctx, req.(*MsgSetCardRemove)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetContributorAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetContributorAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetContributorAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetContributorAdd_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetContributorAdd(ctx, req.(*MsgSetContributorAdd)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetContributorRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetContributorRemove) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetContributorRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetContributorRemove_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetContributorRemove(ctx, req.(*MsgSetContributorRemove)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetFinalize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetFinalize) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetFinalize(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetFinalize_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetFinalize(ctx, req.(*MsgSetFinalize)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetArtworkAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetArtworkAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetArtworkAdd_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetArtworkAdd(ctx, req.(*MsgSetArtworkAdd)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetStoryAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetStoryAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetStoryAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetStoryAdd_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetStoryAdd(ctx, req.(*MsgSetStoryAdd)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_BoosterPackBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBoosterPackBuy) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).BoosterPackBuy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_BoosterPackBuy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BoosterPackBuy(ctx, req.(*MsgBoosterPackBuy)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SellOfferCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSellOfferCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SellOfferCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SellOfferCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SellOfferCreate(ctx, req.(*MsgSellOfferCreate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SellOfferBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSellOfferBuy) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SellOfferBuy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SellOfferBuy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SellOfferBuy(ctx, req.(*MsgSellOfferBuy)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SellOfferRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSellOfferRemove) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SellOfferRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SellOfferRemove_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SellOfferRemove(ctx, req.(*MsgSellOfferRemove)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -514,6 +976,62 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "MatchReport", Handler: _Msg_MatchReport_Handler, }, + { + MethodName: "CouncilCreate", + Handler: _Msg_CouncilCreate_Handler, + }, + { + MethodName: "MatchReporterAppoint", + Handler: _Msg_MatchReporterAppoint_Handler, + }, + { + MethodName: "SetCreate", + Handler: _Msg_SetCreate_Handler, + }, + { + MethodName: "SetCardAdd", + Handler: _Msg_SetCardAdd_Handler, + }, + { + MethodName: "SetCardRemove", + Handler: _Msg_SetCardRemove_Handler, + }, + { + MethodName: "SetContributorAdd", + Handler: _Msg_SetContributorAdd_Handler, + }, + { + MethodName: "SetContributorRemove", + Handler: _Msg_SetContributorRemove_Handler, + }, + { + MethodName: "SetFinalize", + Handler: _Msg_SetFinalize_Handler, + }, + { + MethodName: "SetArtworkAdd", + Handler: _Msg_SetArtworkAdd_Handler, + }, + { + MethodName: "SetStoryAdd", + Handler: _Msg_SetStoryAdd_Handler, + }, + { + MethodName: "BoosterPackBuy", + Handler: _Msg_BoosterPackBuy_Handler, + }, + { + MethodName: "SellOfferCreate", + Handler: _Msg_SellOfferCreate_Handler, + }, + { + MethodName: "SellOfferBuy", + Handler: _Msg_SellOfferBuy_Handler, + }, + { + MethodName: "SellOfferRemove", + Handler: _Msg_SellOfferRemove_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 5de94ccc..6f7f4712 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh index 21ff1dda..555087bf 100755 --- a/gen.sh +++ b/gen.sh @@ -10,5 +10,19 @@ #ignite scaffold message CardArtistChange cardId:uint artist:string #ignite scaffold message CouncilRegister #ignite scaffold message CouncilDeregister -ignite scaffold message MatchReport matchId:uint playedCardsA:uints \ - playedCardsB:uints outcome:int +#ignite scaffold message MatchReport matchId:uint playedCardsA:uints \ +# playedCardsB:uints outcome:int +ignite scaffold message CouncilCreate cardId:uint +ignite scaffold message MatchReporterAppoint reporter:string +ignite scaffold message SetCreate name artist storyWriter contributors:strings +ignite scaffold message SetCardAdd setId:uint cardId:uint +ignite scaffold message SetCardRemove setId:uint cardId:uint +ignite scaffold message SetContributorAdd setId:uint user +ignite scaffold message SetContributorRemove setId:uint user +ignite scaffold message SetFinalize setId:uint +ignite scaffold message SetArtworkAdd setId:uint image +ignite scaffold message SetStoryAdd setId:uint story +ignite scaffold message BoosterPackBuy setId:uint --response airdropClaimed:bool +ignite scaffold message SellOfferCreate cardId:uint price:coin +ignite scaffold message SellOfferBuy sellOfferId:uint +ignite scaffold message SellOfferRemove sellOfferId:uint diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 344a5be0..11af7527 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -33,6 +33,23 @@ service Msg { rpc CouncilDeregister(MsgCouncilDeregister) returns (MsgCouncilDeregisterResponse); rpc MatchReport(MsgMatchReport) returns (MsgMatchReportResponse); + rpc CouncilCreate(MsgCouncilCreate) returns (MsgCouncilCreateResponse); + rpc MatchReporterAppoint(MsgMatchReporterAppoint) + returns (MsgMatchReporterAppointResponse); + rpc SetCreate(MsgSetCreate) returns (MsgSetCreateResponse); + rpc SetCardAdd(MsgSetCardAdd) returns (MsgSetCardAddResponse); + rpc SetCardRemove(MsgSetCardRemove) returns (MsgSetCardRemoveResponse); + rpc SetContributorAdd(MsgSetContributorAdd) + returns (MsgSetContributorAddResponse); + rpc SetContributorRemove(MsgSetContributorRemove) + returns (MsgSetContributorRemoveResponse); + rpc SetFinalize(MsgSetFinalize) returns (MsgSetFinalizeResponse); + rpc SetArtworkAdd(MsgSetArtworkAdd) returns (MsgSetArtworkAddResponse); + rpc SetStoryAdd(MsgSetStoryAdd) returns (MsgSetStoryAddResponse); + rpc BoosterPackBuy(MsgBoosterPackBuy) returns (MsgBoosterPackBuyResponse); + rpc SellOfferCreate(MsgSellOfferCreate) returns (MsgSellOfferCreateResponse); + rpc SellOfferBuy(MsgSellOfferBuy) returns (MsgSellOfferBuyResponse); + rpc SellOfferRemove(MsgSellOfferRemove) returns (MsgSellOfferRemoveResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -152,3 +169,125 @@ message MsgMatchReport { } message MsgMatchReportResponse {} + +message MsgCouncilCreate { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 cardId = 2; +} + +message MsgCouncilCreateResponse {} + +message MsgMatchReporterAppoint { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string reporter = 2; +} + +message MsgMatchReporterAppointResponse {} + +message MsgSetCreate { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string name = 2; + string artist = 3; + string storyWriter = 4; + repeated string contributors = 5; +} + +message MsgSetCreateResponse {} + +message MsgSetCardAdd { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 setId = 2; + uint64 cardId = 3; +} + +message MsgSetCardAddResponse {} + +message MsgSetCardRemove { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 setId = 2; + uint64 cardId = 3; +} + +message MsgSetCardRemoveResponse {} + +message MsgSetContributorAdd { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 setId = 2; + string user = 3; +} + +message MsgSetContributorAddResponse {} + +message MsgSetContributorRemove { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 setId = 2; + string user = 3; +} + +message MsgSetContributorRemoveResponse {} + +message MsgSetFinalize { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 setId = 2; +} + +message MsgSetFinalizeResponse {} + +message MsgSetArtworkAdd { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 setId = 2; + bytes image = 3; +} + +message MsgSetArtworkAddResponse {} + +message MsgSetStoryAdd { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 setId = 2; + string story = 3; +} + +message MsgSetStoryAddResponse {} + +message MsgBoosterPackBuy { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 setId = 2; +} + +message MsgBoosterPackBuyResponse { bool airdropClaimed = 1; } + +message MsgSellOfferCreate { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 cardId = 2; + cosmos.base.v1beta1.Coin price = 3 [ (gogoproto.nullable) = false ]; +} + +message MsgSellOfferCreateResponse {} + +message MsgSellOfferBuy { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 sellOfferId = 2; +} + +message MsgSellOfferBuyResponse {} + +message MsgSellOfferRemove { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 sellOfferId = 2; +} + +message MsgSellOfferRemoveResponse {} diff --git a/x/cardchain/keeper/msg_server_booster_pack_buy.go b/x/cardchain/keeper/msg_server_booster_pack_buy.go new file mode 100644 index 00000000..baa74fc6 --- /dev/null +++ b/x/cardchain/keeper/msg_server_booster_pack_buy.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) BoosterPackBuy(goCtx context.Context, msg *types.MsgBoosterPackBuy) (*types.MsgBoosterPackBuyResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgBoosterPackBuyResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_council_create.go b/x/cardchain/keeper/msg_server_council_create.go new file mode 100644 index 00000000..9881a5b5 --- /dev/null +++ b/x/cardchain/keeper/msg_server_council_create.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CouncilCreate(goCtx context.Context, msg *types.MsgCouncilCreate) (*types.MsgCouncilCreateResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCouncilCreateResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_match_reporter_appoint.go b/x/cardchain/keeper/msg_server_match_reporter_appoint.go new file mode 100644 index 00000000..510ab86a --- /dev/null +++ b/x/cardchain/keeper/msg_server_match_reporter_appoint.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) MatchReporterAppoint(goCtx context.Context, msg *types.MsgMatchReporterAppoint) (*types.MsgMatchReporterAppointResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgMatchReporterAppointResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_sell_offer_buy.go b/x/cardchain/keeper/msg_server_sell_offer_buy.go new file mode 100644 index 00000000..0da02399 --- /dev/null +++ b/x/cardchain/keeper/msg_server_sell_offer_buy.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SellOfferBuy(goCtx context.Context, msg *types.MsgSellOfferBuy) (*types.MsgSellOfferBuyResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSellOfferBuyResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_sell_offer_create.go b/x/cardchain/keeper/msg_server_sell_offer_create.go new file mode 100644 index 00000000..9dbfdc2e --- /dev/null +++ b/x/cardchain/keeper/msg_server_sell_offer_create.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SellOfferCreate(goCtx context.Context, msg *types.MsgSellOfferCreate) (*types.MsgSellOfferCreateResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSellOfferCreateResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_sell_offer_remove.go b/x/cardchain/keeper/msg_server_sell_offer_remove.go new file mode 100644 index 00000000..399e0c72 --- /dev/null +++ b/x/cardchain/keeper/msg_server_sell_offer_remove.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SellOfferRemove(goCtx context.Context, msg *types.MsgSellOfferRemove) (*types.MsgSellOfferRemoveResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSellOfferRemoveResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_artwork_add.go b/x/cardchain/keeper/msg_server_set_artwork_add.go new file mode 100644 index 00000000..9ae35a6c --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_artwork_add.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetArtworkAdd(goCtx context.Context, msg *types.MsgSetArtworkAdd) (*types.MsgSetArtworkAddResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSetArtworkAddResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_card_add.go b/x/cardchain/keeper/msg_server_set_card_add.go new file mode 100644 index 00000000..738c9cae --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_card_add.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) (*types.MsgSetCardAddResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSetCardAddResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_card_remove.go b/x/cardchain/keeper/msg_server_set_card_remove.go new file mode 100644 index 00000000..ae98edfa --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_card_remove.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetCardRemove(goCtx context.Context, msg *types.MsgSetCardRemove) (*types.MsgSetCardRemoveResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSetCardRemoveResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_contributor_add.go b/x/cardchain/keeper/msg_server_set_contributor_add.go new file mode 100644 index 00000000..c7ee4eae --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_contributor_add.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetContributorAdd(goCtx context.Context, msg *types.MsgSetContributorAdd) (*types.MsgSetContributorAddResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSetContributorAddResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_contributor_remove.go b/x/cardchain/keeper/msg_server_set_contributor_remove.go new file mode 100644 index 00000000..51ff018c --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_contributor_remove.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetContributorRemove(goCtx context.Context, msg *types.MsgSetContributorRemove) (*types.MsgSetContributorRemoveResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSetContributorRemoveResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_create.go b/x/cardchain/keeper/msg_server_set_create.go new file mode 100644 index 00000000..5cf82d45 --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_create.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetCreate(goCtx context.Context, msg *types.MsgSetCreate) (*types.MsgSetCreateResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSetCreateResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_finalize.go b/x/cardchain/keeper/msg_server_set_finalize.go new file mode 100644 index 00000000..f2cc1cbf --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_finalize.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetFinalize(goCtx context.Context, msg *types.MsgSetFinalize) (*types.MsgSetFinalizeResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSetFinalizeResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_story_add.go b/x/cardchain/keeper/msg_server_set_story_add.go new file mode 100644 index 00000000..7d693562 --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_story_add.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetStoryAdd(goCtx context.Context, msg *types.MsgSetStoryAdd) (*types.MsgSetStoryAddResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSetStoryAddResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 708968cf..357a7c8b 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -94,6 +94,90 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Send a MatchReport tx", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "matchId"}, {ProtoField: "playedCardsA"}, {ProtoField: "playedCardsB"}, {ProtoField: "outcome"}}, }, + { + RpcMethod: "CouncilCreate", + Use: "council-create [card-id]", + Short: "Send a CouncilCreate tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}}, + }, + { + RpcMethod: "MatchReporterAppoint", + Use: "match-reporter-appoint [reporter]", + Short: "Send a MatchReporterAppoint tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "reporter"}}, + }, + { + RpcMethod: "SetCreate", + Use: "set-create [name] [artist] [story-writer] [contributors]", + Short: "Send a SetCreate tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "name"}, {ProtoField: "artist"}, {ProtoField: "storyWriter"}, {ProtoField: "contributors"}}, + }, + { + RpcMethod: "SetCardAdd", + Use: "set-card-add [set-id] [card-id]", + Short: "Send a SetCardAdd tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}, {ProtoField: "cardId"}}, + }, + { + RpcMethod: "SetCardRemove", + Use: "set-card-remove [set-id] [card-id]", + Short: "Send a SetCardRemove tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}, {ProtoField: "cardId"}}, + }, + { + RpcMethod: "SetContributorAdd", + Use: "set-contributor-add [set-id] [user]", + Short: "Send a SetContributorAdd tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}, {ProtoField: "user"}}, + }, + { + RpcMethod: "SetContributorRemove", + Use: "set-contributor-remove [set-id] [user]", + Short: "Send a SetContributorRemove tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}, {ProtoField: "user"}}, + }, + { + RpcMethod: "SetFinalize", + Use: "set-finalize [set-id]", + Short: "Send a SetFinalize tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}}, + }, + { + RpcMethod: "SetArtworkAdd", + Use: "set-artwork-add [set-id] [image]", + Short: "Send a SetArtworkAdd tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}, {ProtoField: "image"}}, + }, + { + RpcMethod: "SetStoryAdd", + Use: "set-story-add [set-id] [story]", + Short: "Send a SetStoryAdd tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}, {ProtoField: "story"}}, + }, + { + RpcMethod: "BoosterPackBuy", + Use: "booster-pack-buy [set-id]", + Short: "Send a BoosterPackBuy tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}}, + }, + { + RpcMethod: "SellOfferCreate", + Use: "sell-offer-create [card-id] [price]", + Short: "Send a SellOfferCreate tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}, {ProtoField: "price"}}, + }, + { + RpcMethod: "SellOfferBuy", + Use: "sell-offer-buy [sell-offer-id]", + Short: "Send a SellOfferBuy tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "sellOfferId"}}, + }, + { + RpcMethod: "SellOfferRemove", + Use: "sell-offer-remove [sell-offer-id]", + Short: "Send a SellOfferRemove tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "sellOfferId"}}, + }, // this line is used by ignite scaffolding # autocli/tx }, }, diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index b5587031..6cc780da 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -67,6 +67,62 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgMatchReport int = 100 + opWeightMsgCouncilCreate = "op_weight_msg_council_create" + // TODO: Determine the simulation weight value + defaultWeightMsgCouncilCreate int = 100 + + opWeightMsgMatchReporterAppoint = "op_weight_msg_match_reporter_appoint" + // TODO: Determine the simulation weight value + defaultWeightMsgMatchReporterAppoint int = 100 + + opWeightMsgSetCreate = "op_weight_msg_set_create" + // TODO: Determine the simulation weight value + defaultWeightMsgSetCreate int = 100 + + opWeightMsgSetCardAdd = "op_weight_msg_set_card_add" + // TODO: Determine the simulation weight value + defaultWeightMsgSetCardAdd int = 100 + + opWeightMsgSetCardRemove = "op_weight_msg_set_card_remove" + // TODO: Determine the simulation weight value + defaultWeightMsgSetCardRemove int = 100 + + opWeightMsgSetContributorAdd = "op_weight_msg_set_contributor_add" + // TODO: Determine the simulation weight value + defaultWeightMsgSetContributorAdd int = 100 + + opWeightMsgSetContributorRemove = "op_weight_msg_set_contributor_remove" + // TODO: Determine the simulation weight value + defaultWeightMsgSetContributorRemove int = 100 + + opWeightMsgSetFinalize = "op_weight_msg_set_finalize" + // TODO: Determine the simulation weight value + defaultWeightMsgSetFinalize int = 100 + + opWeightMsgSetArtworkAdd = "op_weight_msg_set_artwork_add" + // TODO: Determine the simulation weight value + defaultWeightMsgSetArtworkAdd int = 100 + + opWeightMsgSetStoryAdd = "op_weight_msg_set_story_add" + // TODO: Determine the simulation weight value + defaultWeightMsgSetStoryAdd int = 100 + + opWeightMsgBoosterPackBuy = "op_weight_msg_booster_pack_buy" + // TODO: Determine the simulation weight value + defaultWeightMsgBoosterPackBuy int = 100 + + opWeightMsgSellOfferCreate = "op_weight_msg_sell_offer_create" + // TODO: Determine the simulation weight value + defaultWeightMsgSellOfferCreate int = 100 + + opWeightMsgSellOfferBuy = "op_weight_msg_sell_offer_buy" + // TODO: Determine the simulation weight value + defaultWeightMsgSellOfferBuy int = 100 + + opWeightMsgSellOfferRemove = "op_weight_msg_sell_offer_remove" + // TODO: Determine the simulation weight value + defaultWeightMsgSellOfferRemove int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -211,6 +267,160 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgMatchReport(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgCouncilCreate int + simState.AppParams.GetOrGenerate(opWeightMsgCouncilCreate, &weightMsgCouncilCreate, nil, + func(_ *rand.Rand) { + weightMsgCouncilCreate = defaultWeightMsgCouncilCreate + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCouncilCreate, + cardchainsimulation.SimulateMsgCouncilCreate(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgMatchReporterAppoint int + simState.AppParams.GetOrGenerate(opWeightMsgMatchReporterAppoint, &weightMsgMatchReporterAppoint, nil, + func(_ *rand.Rand) { + weightMsgMatchReporterAppoint = defaultWeightMsgMatchReporterAppoint + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgMatchReporterAppoint, + cardchainsimulation.SimulateMsgMatchReporterAppoint(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSetCreate int + simState.AppParams.GetOrGenerate(opWeightMsgSetCreate, &weightMsgSetCreate, nil, + func(_ *rand.Rand) { + weightMsgSetCreate = defaultWeightMsgSetCreate + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetCreate, + cardchainsimulation.SimulateMsgSetCreate(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSetCardAdd int + simState.AppParams.GetOrGenerate(opWeightMsgSetCardAdd, &weightMsgSetCardAdd, nil, + func(_ *rand.Rand) { + weightMsgSetCardAdd = defaultWeightMsgSetCardAdd + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetCardAdd, + cardchainsimulation.SimulateMsgSetCardAdd(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSetCardRemove int + simState.AppParams.GetOrGenerate(opWeightMsgSetCardRemove, &weightMsgSetCardRemove, nil, + func(_ *rand.Rand) { + weightMsgSetCardRemove = defaultWeightMsgSetCardRemove + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetCardRemove, + cardchainsimulation.SimulateMsgSetCardRemove(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSetContributorAdd int + simState.AppParams.GetOrGenerate(opWeightMsgSetContributorAdd, &weightMsgSetContributorAdd, nil, + func(_ *rand.Rand) { + weightMsgSetContributorAdd = defaultWeightMsgSetContributorAdd + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetContributorAdd, + cardchainsimulation.SimulateMsgSetContributorAdd(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSetContributorRemove int + simState.AppParams.GetOrGenerate(opWeightMsgSetContributorRemove, &weightMsgSetContributorRemove, nil, + func(_ *rand.Rand) { + weightMsgSetContributorRemove = defaultWeightMsgSetContributorRemove + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetContributorRemove, + cardchainsimulation.SimulateMsgSetContributorRemove(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSetFinalize int + simState.AppParams.GetOrGenerate(opWeightMsgSetFinalize, &weightMsgSetFinalize, nil, + func(_ *rand.Rand) { + weightMsgSetFinalize = defaultWeightMsgSetFinalize + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetFinalize, + cardchainsimulation.SimulateMsgSetFinalize(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSetArtworkAdd int + simState.AppParams.GetOrGenerate(opWeightMsgSetArtworkAdd, &weightMsgSetArtworkAdd, nil, + func(_ *rand.Rand) { + weightMsgSetArtworkAdd = defaultWeightMsgSetArtworkAdd + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetArtworkAdd, + cardchainsimulation.SimulateMsgSetArtworkAdd(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSetStoryAdd int + simState.AppParams.GetOrGenerate(opWeightMsgSetStoryAdd, &weightMsgSetStoryAdd, nil, + func(_ *rand.Rand) { + weightMsgSetStoryAdd = defaultWeightMsgSetStoryAdd + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetStoryAdd, + cardchainsimulation.SimulateMsgSetStoryAdd(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgBoosterPackBuy int + simState.AppParams.GetOrGenerate(opWeightMsgBoosterPackBuy, &weightMsgBoosterPackBuy, nil, + func(_ *rand.Rand) { + weightMsgBoosterPackBuy = defaultWeightMsgBoosterPackBuy + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgBoosterPackBuy, + cardchainsimulation.SimulateMsgBoosterPackBuy(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSellOfferCreate int + simState.AppParams.GetOrGenerate(opWeightMsgSellOfferCreate, &weightMsgSellOfferCreate, nil, + func(_ *rand.Rand) { + weightMsgSellOfferCreate = defaultWeightMsgSellOfferCreate + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSellOfferCreate, + cardchainsimulation.SimulateMsgSellOfferCreate(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSellOfferBuy int + simState.AppParams.GetOrGenerate(opWeightMsgSellOfferBuy, &weightMsgSellOfferBuy, nil, + func(_ *rand.Rand) { + weightMsgSellOfferBuy = defaultWeightMsgSellOfferBuy + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSellOfferBuy, + cardchainsimulation.SimulateMsgSellOfferBuy(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSellOfferRemove int + simState.AppParams.GetOrGenerate(opWeightMsgSellOfferRemove, &weightMsgSellOfferRemove, nil, + func(_ *rand.Rand) { + weightMsgSellOfferRemove = defaultWeightMsgSellOfferRemove + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSellOfferRemove, + cardchainsimulation.SimulateMsgSellOfferRemove(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -307,6 +517,118 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei return nil }, ), + simulation.NewWeightedProposalMsg( + opWeightMsgCouncilCreate, + defaultWeightMsgCouncilCreate, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCouncilCreate(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgMatchReporterAppoint, + defaultWeightMsgMatchReporterAppoint, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgMatchReporterAppoint(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSetCreate, + defaultWeightMsgSetCreate, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSetCreate(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSetCardAdd, + defaultWeightMsgSetCardAdd, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSetCardAdd(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSetCardRemove, + defaultWeightMsgSetCardRemove, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSetCardRemove(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSetContributorAdd, + defaultWeightMsgSetContributorAdd, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSetContributorAdd(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSetContributorRemove, + defaultWeightMsgSetContributorRemove, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSetContributorRemove(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSetFinalize, + defaultWeightMsgSetFinalize, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSetFinalize(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSetArtworkAdd, + defaultWeightMsgSetArtworkAdd, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSetArtworkAdd(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSetStoryAdd, + defaultWeightMsgSetStoryAdd, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSetStoryAdd(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgBoosterPackBuy, + defaultWeightMsgBoosterPackBuy, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgBoosterPackBuy(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSellOfferCreate, + defaultWeightMsgSellOfferCreate, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSellOfferCreate(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSellOfferBuy, + defaultWeightMsgSellOfferBuy, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSellOfferBuy(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSellOfferRemove, + defaultWeightMsgSellOfferRemove, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSellOfferRemove(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/booster_pack_buy.go b/x/cardchain/simulation/booster_pack_buy.go new file mode 100644 index 00000000..0f5b82e9 --- /dev/null +++ b/x/cardchain/simulation/booster_pack_buy.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 SimulateMsgBoosterPackBuy( + 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.MsgBoosterPackBuy{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the BoosterPackBuy simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "BoosterPackBuy simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/council_create.go b/x/cardchain/simulation/council_create.go new file mode 100644 index 00000000..ce9bf448 --- /dev/null +++ b/x/cardchain/simulation/council_create.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 SimulateMsgCouncilCreate( + 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.MsgCouncilCreate{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CouncilCreate simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CouncilCreate simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/match_reporter_appoint.go b/x/cardchain/simulation/match_reporter_appoint.go new file mode 100644 index 00000000..a8db61c4 --- /dev/null +++ b/x/cardchain/simulation/match_reporter_appoint.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 SimulateMsgMatchReporterAppoint( + 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.MsgMatchReporterAppoint{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the MatchReporterAppoint simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "MatchReporterAppoint simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/sell_offer_buy.go b/x/cardchain/simulation/sell_offer_buy.go new file mode 100644 index 00000000..74b0bf27 --- /dev/null +++ b/x/cardchain/simulation/sell_offer_buy.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 SimulateMsgSellOfferBuy( + 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.MsgSellOfferBuy{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SellOfferBuy simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SellOfferBuy simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/sell_offer_create.go b/x/cardchain/simulation/sell_offer_create.go new file mode 100644 index 00000000..e75a0173 --- /dev/null +++ b/x/cardchain/simulation/sell_offer_create.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 SimulateMsgSellOfferCreate( + 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.MsgSellOfferCreate{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SellOfferCreate simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SellOfferCreate simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/sell_offer_remove.go b/x/cardchain/simulation/sell_offer_remove.go new file mode 100644 index 00000000..e608610c --- /dev/null +++ b/x/cardchain/simulation/sell_offer_remove.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 SimulateMsgSellOfferRemove( + 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.MsgSellOfferRemove{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SellOfferRemove simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SellOfferRemove simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_artwork_add.go b/x/cardchain/simulation/set_artwork_add.go new file mode 100644 index 00000000..54bd4999 --- /dev/null +++ b/x/cardchain/simulation/set_artwork_add.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 SimulateMsgSetArtworkAdd( + 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.MsgSetArtworkAdd{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetArtworkAdd simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SetArtworkAdd simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_card_add.go b/x/cardchain/simulation/set_card_add.go new file mode 100644 index 00000000..42cd38a2 --- /dev/null +++ b/x/cardchain/simulation/set_card_add.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 SimulateMsgSetCardAdd( + 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.MsgSetCardAdd{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetCardAdd simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SetCardAdd simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_card_remove.go b/x/cardchain/simulation/set_card_remove.go new file mode 100644 index 00000000..7efa3d79 --- /dev/null +++ b/x/cardchain/simulation/set_card_remove.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 SimulateMsgSetCardRemove( + 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.MsgSetCardRemove{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetCardRemove simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SetCardRemove simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_contributor_add.go b/x/cardchain/simulation/set_contributor_add.go new file mode 100644 index 00000000..de073825 --- /dev/null +++ b/x/cardchain/simulation/set_contributor_add.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 SimulateMsgSetContributorAdd( + 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.MsgSetContributorAdd{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetContributorAdd simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SetContributorAdd simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_contributor_remove.go b/x/cardchain/simulation/set_contributor_remove.go new file mode 100644 index 00000000..dd38e4e5 --- /dev/null +++ b/x/cardchain/simulation/set_contributor_remove.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 SimulateMsgSetContributorRemove( + 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.MsgSetContributorRemove{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetContributorRemove simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SetContributorRemove simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_create.go b/x/cardchain/simulation/set_create.go new file mode 100644 index 00000000..71428061 --- /dev/null +++ b/x/cardchain/simulation/set_create.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 SimulateMsgSetCreate( + 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.MsgSetCreate{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetCreate simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SetCreate simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_finalize.go b/x/cardchain/simulation/set_finalize.go new file mode 100644 index 00000000..08879487 --- /dev/null +++ b/x/cardchain/simulation/set_finalize.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 SimulateMsgSetFinalize( + 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.MsgSetFinalize{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetFinalize simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SetFinalize simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_story_add.go b/x/cardchain/simulation/set_story_add.go new file mode 100644 index 00000000..3d3aff4c --- /dev/null +++ b/x/cardchain/simulation/set_story_add.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 SimulateMsgSetStoryAdd( + 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.MsgSetStoryAdd{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetStoryAdd simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SetStoryAdd simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index ab88a692..b9d04e2f 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -41,6 +41,48 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgMatchReport{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCouncilCreate{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgMatchReporterAppoint{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetCreate{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetCardAdd{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetCardRemove{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetContributorAdd{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetContributorRemove{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetFinalize{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetArtworkAdd{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetStoryAdd{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgBoosterPackBuy{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSellOfferCreate{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSellOfferBuy{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSellOfferRemove{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/cardchain/types/message_booster_pack_buy.go b/x/cardchain/types/message_booster_pack_buy.go new file mode 100644 index 00000000..d4f6ded1 --- /dev/null +++ b/x/cardchain/types/message_booster_pack_buy.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgBoosterPackBuy{} + +func NewMsgBoosterPackBuy(creator string, setId uint64) *MsgBoosterPackBuy { + return &MsgBoosterPackBuy{ + Creator: creator, + SetId: setId, + } +} + +func (msg *MsgBoosterPackBuy) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_booster_pack_buy_test.go b/x/cardchain/types/message_booster_pack_buy_test.go new file mode 100644 index 00000000..fed6181a --- /dev/null +++ b/x/cardchain/types/message_booster_pack_buy_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgBoosterPackBuy_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgBoosterPackBuy + err error + }{ + { + name: "invalid address", + msg: MsgBoosterPackBuy{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgBoosterPackBuy{ + 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_council_create.go b/x/cardchain/types/message_council_create.go new file mode 100644 index 00000000..7760b271 --- /dev/null +++ b/x/cardchain/types/message_council_create.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCouncilCreate{} + +func NewMsgCouncilCreate(creator string, cardId uint64) *MsgCouncilCreate { + return &MsgCouncilCreate{ + Creator: creator, + CardId: cardId, + } +} + +func (msg *MsgCouncilCreate) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_council_create_test.go b/x/cardchain/types/message_council_create_test.go new file mode 100644 index 00000000..a3c44f5a --- /dev/null +++ b/x/cardchain/types/message_council_create_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCouncilCreate_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCouncilCreate + err error + }{ + { + name: "invalid address", + msg: MsgCouncilCreate{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCouncilCreate{ + 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_match_reporter_appoint.go b/x/cardchain/types/message_match_reporter_appoint.go new file mode 100644 index 00000000..ef3c226a --- /dev/null +++ b/x/cardchain/types/message_match_reporter_appoint.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgMatchReporterAppoint{} + +func NewMsgMatchReporterAppoint(creator string, reporter string) *MsgMatchReporterAppoint { + return &MsgMatchReporterAppoint{ + Creator: creator, + Reporter: reporter, + } +} + +func (msg *MsgMatchReporterAppoint) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_match_reporter_appoint_test.go b/x/cardchain/types/message_match_reporter_appoint_test.go new file mode 100644 index 00000000..8e28c611 --- /dev/null +++ b/x/cardchain/types/message_match_reporter_appoint_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgMatchReporterAppoint_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgMatchReporterAppoint + err error + }{ + { + name: "invalid address", + msg: MsgMatchReporterAppoint{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgMatchReporterAppoint{ + 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_sell_offer_buy.go b/x/cardchain/types/message_sell_offer_buy.go new file mode 100644 index 00000000..5de4634b --- /dev/null +++ b/x/cardchain/types/message_sell_offer_buy.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSellOfferBuy{} + +func NewMsgSellOfferBuy(creator string, sellOfferId uint64) *MsgSellOfferBuy { + return &MsgSellOfferBuy{ + Creator: creator, + SellOfferId: sellOfferId, + } +} + +func (msg *MsgSellOfferBuy) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_sell_offer_buy_test.go b/x/cardchain/types/message_sell_offer_buy_test.go new file mode 100644 index 00000000..95cad61f --- /dev/null +++ b/x/cardchain/types/message_sell_offer_buy_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSellOfferBuy_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSellOfferBuy + err error + }{ + { + name: "invalid address", + msg: MsgSellOfferBuy{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSellOfferBuy{ + 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_sell_offer_create.go b/x/cardchain/types/message_sell_offer_create.go new file mode 100644 index 00000000..877e75d9 --- /dev/null +++ b/x/cardchain/types/message_sell_offer_create.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSellOfferCreate{} + +func NewMsgSellOfferCreate(creator string, cardId uint64, price sdk.Coin) *MsgSellOfferCreate { + return &MsgSellOfferCreate{ + Creator: creator, + CardId: cardId, + Price: price, + } +} + +func (msg *MsgSellOfferCreate) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_sell_offer_create_test.go b/x/cardchain/types/message_sell_offer_create_test.go new file mode 100644 index 00000000..e83cd847 --- /dev/null +++ b/x/cardchain/types/message_sell_offer_create_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSellOfferCreate_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSellOfferCreate + err error + }{ + { + name: "invalid address", + msg: MsgSellOfferCreate{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSellOfferCreate{ + 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_sell_offer_remove.go b/x/cardchain/types/message_sell_offer_remove.go new file mode 100644 index 00000000..4328aeb9 --- /dev/null +++ b/x/cardchain/types/message_sell_offer_remove.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSellOfferRemove{} + +func NewMsgSellOfferRemove(creator string, sellOfferId uint64) *MsgSellOfferRemove { + return &MsgSellOfferRemove{ + Creator: creator, + SellOfferId: sellOfferId, + } +} + +func (msg *MsgSellOfferRemove) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_sell_offer_remove_test.go b/x/cardchain/types/message_sell_offer_remove_test.go new file mode 100644 index 00000000..5923dfcd --- /dev/null +++ b/x/cardchain/types/message_sell_offer_remove_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSellOfferRemove_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSellOfferRemove + err error + }{ + { + name: "invalid address", + msg: MsgSellOfferRemove{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSellOfferRemove{ + 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_artwork_add.go b/x/cardchain/types/message_set_artwork_add.go new file mode 100644 index 00000000..8f2bab55 --- /dev/null +++ b/x/cardchain/types/message_set_artwork_add.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSetArtworkAdd{} + +func NewMsgSetArtworkAdd(creator string, setId uint64, image []byte) *MsgSetArtworkAdd { + return &MsgSetArtworkAdd{ + Creator: creator, + SetId: setId, + Image: image, + } +} + +func (msg *MsgSetArtworkAdd) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_artwork_add_test.go b/x/cardchain/types/message_set_artwork_add_test.go new file mode 100644 index 00000000..e7828c0e --- /dev/null +++ b/x/cardchain/types/message_set_artwork_add_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetArtworkAdd_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetArtworkAdd + err error + }{ + { + name: "invalid address", + msg: MsgSetArtworkAdd{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetArtworkAdd{ + 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_card_add.go b/x/cardchain/types/message_set_card_add.go new file mode 100644 index 00000000..4fcd275c --- /dev/null +++ b/x/cardchain/types/message_set_card_add.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSetCardAdd{} + +func NewMsgSetCardAdd(creator string, setId uint64, cardId uint64) *MsgSetCardAdd { + return &MsgSetCardAdd{ + Creator: creator, + SetId: setId, + CardId: cardId, + } +} + +func (msg *MsgSetCardAdd) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_card_add_test.go b/x/cardchain/types/message_set_card_add_test.go new file mode 100644 index 00000000..a9b12ebc --- /dev/null +++ b/x/cardchain/types/message_set_card_add_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetCardAdd_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetCardAdd + err error + }{ + { + name: "invalid address", + msg: MsgSetCardAdd{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetCardAdd{ + 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_card_remove.go b/x/cardchain/types/message_set_card_remove.go new file mode 100644 index 00000000..16a05633 --- /dev/null +++ b/x/cardchain/types/message_set_card_remove.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSetCardRemove{} + +func NewMsgSetCardRemove(creator string, setId uint64, cardId uint64) *MsgSetCardRemove { + return &MsgSetCardRemove{ + Creator: creator, + SetId: setId, + CardId: cardId, + } +} + +func (msg *MsgSetCardRemove) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_card_remove_test.go b/x/cardchain/types/message_set_card_remove_test.go new file mode 100644 index 00000000..a2908fda --- /dev/null +++ b/x/cardchain/types/message_set_card_remove_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetCardRemove_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetCardRemove + err error + }{ + { + name: "invalid address", + msg: MsgSetCardRemove{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetCardRemove{ + 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_contributor_add.go b/x/cardchain/types/message_set_contributor_add.go new file mode 100644 index 00000000..f0d5339c --- /dev/null +++ b/x/cardchain/types/message_set_contributor_add.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSetContributorAdd{} + +func NewMsgSetContributorAdd(creator string, setId uint64, user string) *MsgSetContributorAdd { + return &MsgSetContributorAdd{ + Creator: creator, + SetId: setId, + User: user, + } +} + +func (msg *MsgSetContributorAdd) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_contributor_add_test.go b/x/cardchain/types/message_set_contributor_add_test.go new file mode 100644 index 00000000..48b4e665 --- /dev/null +++ b/x/cardchain/types/message_set_contributor_add_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetContributorAdd_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetContributorAdd + err error + }{ + { + name: "invalid address", + msg: MsgSetContributorAdd{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetContributorAdd{ + 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_contributor_remove.go b/x/cardchain/types/message_set_contributor_remove.go new file mode 100644 index 00000000..e408b0ae --- /dev/null +++ b/x/cardchain/types/message_set_contributor_remove.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSetContributorRemove{} + +func NewMsgSetContributorRemove(creator string, setId uint64, user string) *MsgSetContributorRemove { + return &MsgSetContributorRemove{ + Creator: creator, + SetId: setId, + User: user, + } +} + +func (msg *MsgSetContributorRemove) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_contributor_remove_test.go b/x/cardchain/types/message_set_contributor_remove_test.go new file mode 100644 index 00000000..a14238a1 --- /dev/null +++ b/x/cardchain/types/message_set_contributor_remove_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetContributorRemove_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetContributorRemove + err error + }{ + { + name: "invalid address", + msg: MsgSetContributorRemove{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetContributorRemove{ + 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_create.go b/x/cardchain/types/message_set_create.go new file mode 100644 index 00000000..c140d67c --- /dev/null +++ b/x/cardchain/types/message_set_create.go @@ -0,0 +1,27 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSetCreate{} + +func NewMsgSetCreate(creator string, name string, artist string, storyWriter string, contributors []string) *MsgSetCreate { + return &MsgSetCreate{ + Creator: creator, + Name: name, + Artist: artist, + StoryWriter: storyWriter, + Contributors: contributors, + } +} + +func (msg *MsgSetCreate) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_create_test.go b/x/cardchain/types/message_set_create_test.go new file mode 100644 index 00000000..1a545cd9 --- /dev/null +++ b/x/cardchain/types/message_set_create_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetCreate_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetCreate + err error + }{ + { + name: "invalid address", + msg: MsgSetCreate{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetCreate{ + 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_finalize.go b/x/cardchain/types/message_set_finalize.go new file mode 100644 index 00000000..3ee359f0 --- /dev/null +++ b/x/cardchain/types/message_set_finalize.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSetFinalize{} + +func NewMsgSetFinalize(creator string, setId uint64) *MsgSetFinalize { + return &MsgSetFinalize{ + Creator: creator, + SetId: setId, + } +} + +func (msg *MsgSetFinalize) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_finalize_test.go b/x/cardchain/types/message_set_finalize_test.go new file mode 100644 index 00000000..8daa6f6c --- /dev/null +++ b/x/cardchain/types/message_set_finalize_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetFinalize_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetFinalize + err error + }{ + { + name: "invalid address", + msg: MsgSetFinalize{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetFinalize{ + 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_story_add.go b/x/cardchain/types/message_set_story_add.go new file mode 100644 index 00000000..78519259 --- /dev/null +++ b/x/cardchain/types/message_set_story_add.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSetStoryAdd{} + +func NewMsgSetStoryAdd(creator string, setId uint64, story string) *MsgSetStoryAdd { + return &MsgSetStoryAdd{ + Creator: creator, + SetId: setId, + Story: story, + } +} + +func (msg *MsgSetStoryAdd) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_story_add_test.go b/x/cardchain/types/message_set_story_add_test.go new file mode 100644 index 00000000..e5625170 --- /dev/null +++ b/x/cardchain/types/message_set_story_add_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetStoryAdd_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetStoryAdd + err error + }{ + { + name: "invalid address", + msg: MsgSetStoryAdd{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetStoryAdd{ + 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/tx.pb.go b/x/cardchain/types/tx.pb.go index 535531d7..2cf8d63a 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -1206,1845 +1206,7796 @@ func (m *MsgMatchReportResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgMatchReportResponse proto.InternalMessageInfo -func init() { - proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") - proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") - proto.RegisterType((*MsgUserCreate)(nil), "cardchain.cardchain.MsgUserCreate") - proto.RegisterType((*MsgUserCreateResponse)(nil), "cardchain.cardchain.MsgUserCreateResponse") - proto.RegisterType((*MsgCardSchemeBuy)(nil), "cardchain.cardchain.MsgCardSchemeBuy") - proto.RegisterType((*MsgCardSchemeBuyResponse)(nil), "cardchain.cardchain.MsgCardSchemeBuyResponse") - proto.RegisterType((*MsgCardSaveContent)(nil), "cardchain.cardchain.MsgCardSaveContent") - proto.RegisterType((*MsgCardSaveContentResponse)(nil), "cardchain.cardchain.MsgCardSaveContentResponse") - proto.RegisterType((*MsgCardVote)(nil), "cardchain.cardchain.MsgCardVote") - proto.RegisterType((*MsgCardVoteResponse)(nil), "cardchain.cardchain.MsgCardVoteResponse") - proto.RegisterType((*MsgCardTransfer)(nil), "cardchain.cardchain.MsgCardTransfer") - proto.RegisterType((*MsgCardTransferResponse)(nil), "cardchain.cardchain.MsgCardTransferResponse") - proto.RegisterType((*MsgCardDonate)(nil), "cardchain.cardchain.MsgCardDonate") - proto.RegisterType((*MsgCardDonateResponse)(nil), "cardchain.cardchain.MsgCardDonateResponse") - proto.RegisterType((*MsgCardArtworkAdd)(nil), "cardchain.cardchain.MsgCardArtworkAdd") - proto.RegisterType((*MsgCardArtworkAddResponse)(nil), "cardchain.cardchain.MsgCardArtworkAddResponse") - proto.RegisterType((*MsgCardArtistChange)(nil), "cardchain.cardchain.MsgCardArtistChange") - proto.RegisterType((*MsgCardArtistChangeResponse)(nil), "cardchain.cardchain.MsgCardArtistChangeResponse") - proto.RegisterType((*MsgCouncilRegister)(nil), "cardchain.cardchain.MsgCouncilRegister") - proto.RegisterType((*MsgCouncilRegisterResponse)(nil), "cardchain.cardchain.MsgCouncilRegisterResponse") - proto.RegisterType((*MsgCouncilDeregister)(nil), "cardchain.cardchain.MsgCouncilDeregister") - proto.RegisterType((*MsgCouncilDeregisterResponse)(nil), "cardchain.cardchain.MsgCouncilDeregisterResponse") - proto.RegisterType((*MsgMatchReport)(nil), "cardchain.cardchain.MsgMatchReport") - proto.RegisterType((*MsgMatchReportResponse)(nil), "cardchain.cardchain.MsgMatchReportResponse") +type MsgCouncilCreate 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"` } -func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } - -var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 1108 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xcf, 0xd6, 0x4e, 0x9a, 0xbc, 0x26, 0x69, 0xb3, 0x09, 0xcd, 0x66, 0x13, 0x1c, 0xcb, 0xa4, - 0xc5, 0x04, 0x6a, 0x93, 0x54, 0x2a, 0x55, 0x05, 0x95, 0x6c, 0x47, 0x42, 0x1c, 0x2c, 0xd0, 0x06, - 0x7a, 0x40, 0x48, 0xd5, 0x78, 0x77, 0xba, 0x5e, 0xea, 0xdd, 0x31, 0x33, 0x63, 0xb7, 0xb9, 0x21, - 0xb8, 0x20, 0x4e, 0x7c, 0x0c, 0x8e, 0x39, 0xf0, 0x09, 0xe0, 0xd2, 0x63, 0xd5, 0x0b, 0x9c, 0x10, - 0x4a, 0x0e, 0xf9, 0x1a, 0x68, 0xf6, 0xcf, 0xec, 0x1f, 0xaf, 0x37, 0x6e, 0x2e, 0xc9, 0xbe, 0x99, - 0xdf, 0xfb, 0xbd, 0xdf, 0x7b, 0xf3, 0xe6, 0x8d, 0x0c, 0x3b, 0x26, 0xa2, 0x96, 0xd9, 0x47, 0x8e, - 0xd7, 0x8c, 0xbf, 0xf8, 0xcb, 0xc6, 0x90, 0x12, 0x4e, 0xd4, 0x75, 0xb9, 0xd6, 0x90, 0x5f, 0xfa, - 0x1a, 0x72, 0x1d, 0x8f, 0x34, 0xfd, 0xbf, 0x01, 0x4e, 0xdf, 0x34, 0x09, 0x73, 0x09, 0x6b, 0xba, - 0xcc, 0x6e, 0x8e, 0x0f, 0xc4, 0xbf, 0x70, 0x63, 0x2b, 0xd8, 0x78, 0xea, 0x5b, 0xcd, 0xc0, 0x08, - 0xb7, 0x36, 0x6c, 0x62, 0x93, 0x60, 0x5d, 0x7c, 0x85, 0xab, 0xd5, 0x3c, 0x3d, 0x43, 0x44, 0x91, - 0x1b, 0xf9, 0x55, 0xc2, 0x58, 0x3d, 0xc4, 0x70, 0x73, 0x7c, 0xd0, 0xc3, 0x1c, 0x1d, 0x34, 0x4d, - 0xe2, 0x78, 0x45, 0x0c, 0x63, 0xc2, 0x1d, 0x2f, 0x12, 0xb5, 0x9b, 0x87, 0x70, 0x11, 0x37, 0xfb, - 0x01, 0xa0, 0xf6, 0x97, 0x02, 0x37, 0xbb, 0xcc, 0xfe, 0x66, 0x68, 0x21, 0x8e, 0xbf, 0xf2, 0x83, - 0xab, 0x0f, 0x60, 0x09, 0x8d, 0x78, 0x9f, 0x50, 0x87, 0x9f, 0x68, 0x4a, 0x55, 0xa9, 0x2f, 0xb5, - 0xb5, 0x37, 0x7f, 0xdc, 0xdb, 0x08, 0x73, 0x6a, 0x59, 0x16, 0xc5, 0x8c, 0x1d, 0x73, 0xea, 0x78, - 0xb6, 0x11, 0x43, 0xd5, 0xc7, 0xb0, 0x10, 0xc8, 0xd7, 0xae, 0x55, 0x95, 0xfa, 0x8d, 0xc3, 0xed, - 0x46, 0x4e, 0x4d, 0x1b, 0x41, 0x90, 0xf6, 0xd2, 0xab, 0x7f, 0x77, 0xe7, 0x7e, 0xbf, 0x38, 0xdd, - 0x57, 0x8c, 0xd0, 0xeb, 0xd1, 0xc3, 0x9f, 0x2e, 0x4e, 0xf7, 0x63, 0xbe, 0x5f, 0x2f, 0x4e, 0xf7, - 0xef, 0xc4, 0xaa, 0x5f, 0x26, 0x32, 0xc8, 0x28, 0xae, 0x6d, 0xc1, 0x66, 0x66, 0xc9, 0xc0, 0x6c, - 0x48, 0x3c, 0x86, 0x6b, 0x36, 0xac, 0x88, 0x2d, 0x86, 0x69, 0x87, 0x62, 0xc4, 0xb1, 0xaa, 0xc1, - 0x75, 0x53, 0x7c, 0x11, 0x1a, 0xe4, 0x66, 0x44, 0xa6, 0xd8, 0xf1, 0xf0, 0x0b, 0x01, 0xf5, 0x13, - 0x58, 0x32, 0x22, 0x53, 0xdd, 0x80, 0x79, 0x34, 0x70, 0x10, 0xd3, 0x4a, 0xfe, 0x7a, 0x60, 0x3c, - 0x5a, 0x16, 0x7a, 0x23, 0xef, 0xda, 0x26, 0xbc, 0x93, 0x0a, 0x24, 0x15, 0xb8, 0x70, 0xab, 0xcb, - 0xec, 0x0e, 0xa2, 0xd6, 0xb1, 0xd9, 0xc7, 0x2e, 0x6e, 0x8f, 0x4e, 0x0a, 0x44, 0x1c, 0x40, 0xa9, - 0xe7, 0x58, 0x61, 0x05, 0xb7, 0x1a, 0x61, 0xcd, 0x45, 0x07, 0x34, 0xc2, 0x0e, 0x68, 0x74, 0x88, - 0xe3, 0xb5, 0xcb, 0xa2, 0x7e, 0x86, 0xc0, 0x66, 0x74, 0x1c, 0x82, 0x96, 0x0d, 0x17, 0x49, 0x51, - 0x6f, 0xc3, 0x82, 0x28, 0xe2, 0x17, 0x96, 0x1f, 0xb5, 0x6c, 0x84, 0x56, 0xed, 0x4f, 0x05, 0xd4, - 0xc8, 0x09, 0x8d, 0x71, 0x87, 0x78, 0x1c, 0x7b, 0xbc, 0x40, 0x65, 0x4c, 0x74, 0x2d, 0x49, 0xe4, - 0x7b, 0x04, 0xce, 0x7e, 0xa9, 0x96, 0x8d, 0xc8, 0x14, 0x25, 0xf4, 0x08, 0xc7, 0x4c, 0x2b, 0x07, - 0x25, 0xf4, 0x0d, 0xc1, 0x83, 0x28, 0x77, 0x18, 0xd7, 0xe6, 0xfd, 0xe5, 0xd0, 0x52, 0xf7, 0x60, - 0xa5, 0x87, 0x06, 0xc8, 0x33, 0x71, 0xcb, 0x33, 0xfb, 0x84, 0x6a, 0x0b, 0x55, 0xa5, 0xbe, 0x68, - 0xa4, 0x17, 0x33, 0x89, 0x1f, 0x81, 0x3e, 0x99, 0x83, 0x4c, 0xfd, 0x2e, 0xac, 0x22, 0x87, 0x5a, - 0x94, 0x0c, 0x3b, 0x03, 0xe4, 0xb8, 0x38, 0x28, 0xc1, 0xa2, 0x91, 0x59, 0xad, 0x7d, 0x0f, 0x37, - 0x42, 0x96, 0x27, 0xa4, 0xb0, 0x5b, 0xee, 0x43, 0x79, 0x4c, 0x38, 0x0e, 0x4f, 0x6a, 0x37, 0xb7, - 0xd7, 0x8f, 0x1d, 0xcf, 0x1e, 0x60, 0x41, 0x64, 0xf8, 0xe0, 0x8c, 0xe2, 0xcf, 0x60, 0x3d, 0x11, - 0xeb, 0xad, 0xa5, 0xba, 0xfe, 0xd5, 0x15, 0xee, 0x5f, 0x53, 0xe4, 0xb1, 0x67, 0x98, 0x5e, 0xe1, - 0xc4, 0x74, 0x58, 0xa4, 0xd8, 0xc4, 0xce, 0x18, 0xd3, 0xb0, 0xbb, 0xa5, 0x9d, 0x51, 0x1b, 0x5c, - 0xb2, 0x64, 0x38, 0xd9, 0xe2, 0xbf, 0x28, 0xfe, 0x2d, 0x13, 0x7b, 0x47, 0xc4, 0x2b, 0xbe, 0x65, - 0xd3, 0x84, 0x7c, 0x02, 0x0b, 0xc8, 0x25, 0xa3, 0xb0, 0x73, 0x66, 0xe8, 0xfd, 0x10, 0x9e, 0x7b, - 0x0d, 0x63, 0x25, 0x52, 0xe3, 0xcf, 0x0a, 0xac, 0x85, 0x3b, 0x2d, 0xca, 0x5f, 0x10, 0xfa, 0xbc, - 0x65, 0x59, 0x57, 0xd0, 0xb9, 0x01, 0xf3, 0x8e, 0x8b, 0x6c, 0x1c, 0x36, 0x78, 0x60, 0x08, 0x9e, - 0x67, 0xa3, 0xc1, 0xa0, 0x45, 0xb9, 0xdf, 0xe0, 0x8b, 0x46, 0x64, 0x66, 0xe4, 0x6d, 0xc3, 0xd6, - 0x84, 0x88, 0xc4, 0xa4, 0x58, 0x8f, 0x37, 0x1d, 0xc6, 0x3b, 0x7d, 0xe4, 0xd9, 0x57, 0xa9, 0x65, - 0x7c, 0xad, 0x4a, 0xc9, 0x6b, 0x95, 0xd1, 0xf2, 0x2e, 0x6c, 0xe7, 0x84, 0x93, 0x6a, 0x3e, 0x0d, - 0x66, 0x02, 0x19, 0x79, 0xa6, 0x33, 0x30, 0xb0, 0xed, 0x30, 0x5e, 0xd4, 0x61, 0x19, 0xf2, 0x9d, - 0xe0, 0x36, 0xa6, 0xbd, 0x25, 0xf7, 0x63, 0xd8, 0x88, 0x77, 0x8f, 0x30, 0x7d, 0x5b, 0xf6, 0x0a, - 0xec, 0xe4, 0xf9, 0x4b, 0xfe, 0x37, 0x0a, 0xac, 0x76, 0x99, 0xdd, 0x15, 0x2f, 0x9d, 0x81, 0x87, - 0x84, 0xf2, 0xe2, 0xb9, 0xef, 0x3f, 0x89, 0xb2, 0x8c, 0x91, 0xa9, 0xd6, 0x60, 0x79, 0x38, 0x40, - 0x27, 0xd8, 0x12, 0x45, 0x62, 0x2d, 0xad, 0x54, 0x2d, 0xd5, 0xcb, 0x46, 0x6a, 0x2d, 0x83, 0x69, - 0x6b, 0xe5, 0x09, 0x4c, 0x5b, 0x7d, 0x00, 0xd7, 0xc9, 0x88, 0x9b, 0xc4, 0xc5, 0xfe, 0x9c, 0x5b, - 0x3d, 0xdc, 0xc9, 0x1d, 0x17, 0x5f, 0x06, 0x18, 0x23, 0x02, 0x67, 0x92, 0xd6, 0xe0, 0x76, 0x3a, - 0xa7, 0x28, 0xdd, 0xc3, 0xbf, 0x97, 0xa0, 0xd4, 0x65, 0xb6, 0xda, 0x83, 0xe5, 0xd4, 0x4b, 0xbe, - 0x97, 0x1b, 0x26, 0xf3, 0x54, 0xea, 0x1f, 0xcd, 0x82, 0x92, 0xd3, 0xe9, 0x3b, 0x80, 0xc4, 0x6b, - 0x5a, 0x9b, 0xea, 0x2b, 0x31, 0xfa, 0xfe, 0xe5, 0x18, 0xc9, 0x8e, 0x61, 0x25, 0xfd, 0x52, 0xde, - 0x99, 0xe6, 0x9c, 0x82, 0xe9, 0xf7, 0x66, 0x82, 0xc9, 0x30, 0xcf, 0xe1, 0x66, 0xf6, 0xb1, 0x7b, - 0xbf, 0x90, 0x21, 0x06, 0xea, 0xcd, 0x19, 0x81, 0x32, 0xd8, 0x13, 0x58, 0x94, 0xef, 0x49, 0xb5, - 0xc8, 0x59, 0x20, 0xf4, 0xfa, 0x65, 0x08, 0xc9, 0xdb, 0x83, 0xe5, 0xd4, 0xf0, 0xdf, 0x2b, 0xf2, - 0x8c, 0x50, 0xd3, 0x4f, 0x3b, 0x6f, 0xb2, 0x8b, 0xd3, 0x4e, 0x4c, 0xf5, 0x5a, 0x91, 0x6f, 0x80, - 0x99, 0x7e, 0xda, 0x93, 0x33, 0x59, 0xed, 0xc3, 0x6a, 0x66, 0x1e, 0xdf, 0x2d, 0xf2, 0x8e, 0x71, - 0x7a, 0x63, 0x36, 0x9c, 0x8c, 0xe4, 0xc1, 0xad, 0x89, 0xb9, 0x5a, 0xbf, 0x84, 0x43, 0x22, 0xf5, - 0x8f, 0x67, 0x45, 0xa6, 0x1a, 0x2c, 0x33, 0x39, 0xa7, 0x37, 0x58, 0x1a, 0x58, 0xd0, 0x60, 0xf9, - 0xd3, 0x54, 0xfd, 0x01, 0xd6, 0x26, 0x47, 0xe9, 0x07, 0x97, 0xb0, 0xc4, 0x50, 0xfd, 0x60, 0x66, - 0xa8, 0x0c, 0xf9, 0x14, 0x6e, 0x24, 0x87, 0xeb, 0x7b, 0xd3, 0x18, 0x12, 0x20, 0xfd, 0xc3, 0x19, - 0x40, 0x51, 0x00, 0x7d, 0xfe, 0x47, 0xf1, 0xdb, 0xa0, 0x6d, 0xbc, 0x3a, 0xab, 0x28, 0xaf, 0xcf, - 0x2a, 0xca, 0x7f, 0x67, 0x15, 0xe5, 0xb7, 0xf3, 0xca, 0xdc, 0xeb, 0xf3, 0xca, 0xdc, 0x3f, 0xe7, - 0x95, 0xb9, 0x6f, 0x1f, 0xda, 0x0e, 0xef, 0x8f, 0x7a, 0x0d, 0x93, 0xb8, 0xcd, 0x23, 0x6c, 0x62, - 0x8f, 0x53, 0x34, 0x10, 0xe7, 0xf1, 0x39, 0x72, 0x71, 0x33, 0xff, 0x77, 0x03, 0x3f, 0x19, 0x62, - 0xd6, 0x5b, 0xf0, 0x7f, 0xfa, 0xdc, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x1c, 0x03, 0x95, 0x9e, - 0x11, 0x0e, 0x00, 0x00, +func (m *MsgCouncilCreate) Reset() { *m = MsgCouncilCreate{} } +func (m *MsgCouncilCreate) String() string { return proto.CompactTextString(m) } +func (*MsgCouncilCreate) ProtoMessage() {} +func (*MsgCouncilCreate) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{24} +} +func (m *MsgCouncilCreate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCouncilCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCouncilCreate.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 *MsgCouncilCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCouncilCreate.Merge(m, src) +} +func (m *MsgCouncilCreate) XXX_Size() int { + return m.Size() +} +func (m *MsgCouncilCreate) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCouncilCreate.DiscardUnknown(m) } -// 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 +var xxx_messageInfo_MsgCouncilCreate proto.InternalMessageInfo -// 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 { - // UpdateParams defines a (governance) operation for updating the module - // parameters. The authority defaults to the x/gov module account. - UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) - UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) - CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) - CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) - CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) - CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) - CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) - CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) - CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) - CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) - CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) - MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) +func (m *MsgCouncilCreate) GetCreator() string { + if m != nil { + return m.Creator + } + return "" } -type msgClient struct { - cc grpc1.ClientConn +func (m *MsgCouncilCreate) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 } -func NewMsgClient(cc grpc1.ClientConn) MsgClient { - return &msgClient{cc} +type MsgCouncilCreateResponse struct { } -func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { - out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateParams", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgCouncilCreateResponse) Reset() { *m = MsgCouncilCreateResponse{} } +func (m *MsgCouncilCreateResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCouncilCreateResponse) ProtoMessage() {} +func (*MsgCouncilCreateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{25} +} +func (m *MsgCouncilCreateResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCouncilCreateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCouncilCreateResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgCouncilCreateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCouncilCreateResponse.Merge(m, src) +} +func (m *MsgCouncilCreateResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCouncilCreateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCouncilCreateResponse.DiscardUnknown(m) } -func (c *msgClient) UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) { - out := new(MsgUserCreateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UserCreate", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +var xxx_messageInfo_MsgCouncilCreateResponse proto.InternalMessageInfo + +type MsgMatchReporterAppoint 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"` } -func (c *msgClient) CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) { - out := new(MsgCardSchemeBuyResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSchemeBuy", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgMatchReporterAppoint) Reset() { *m = MsgMatchReporterAppoint{} } +func (m *MsgMatchReporterAppoint) String() string { return proto.CompactTextString(m) } +func (*MsgMatchReporterAppoint) ProtoMessage() {} +func (*MsgMatchReporterAppoint) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{26} +} +func (m *MsgMatchReporterAppoint) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgMatchReporterAppoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgMatchReporterAppoint.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgMatchReporterAppoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgMatchReporterAppoint.Merge(m, src) +} +func (m *MsgMatchReporterAppoint) XXX_Size() int { + return m.Size() +} +func (m *MsgMatchReporterAppoint) XXX_DiscardUnknown() { + xxx_messageInfo_MsgMatchReporterAppoint.DiscardUnknown(m) } -func (c *msgClient) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) { - out := new(MsgCardSaveContentResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSaveContent", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgMatchReporterAppoint proto.InternalMessageInfo + +func (m *MsgMatchReporterAppoint) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) { - out := new(MsgCardVoteResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardVote", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgMatchReporterAppoint) GetReporter() string { + if m != nil { + return m.Reporter } - return out, nil + return "" } -func (c *msgClient) CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) { - out := new(MsgCardTransferResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardTransfer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +type MsgMatchReporterAppointResponse struct { } -func (c *msgClient) CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) { - out := new(MsgCardDonateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardDonate", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgMatchReporterAppointResponse) Reset() { *m = MsgMatchReporterAppointResponse{} } +func (m *MsgMatchReporterAppointResponse) String() string { return proto.CompactTextString(m) } +func (*MsgMatchReporterAppointResponse) ProtoMessage() {} +func (*MsgMatchReporterAppointResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{27} +} +func (m *MsgMatchReporterAppointResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgMatchReporterAppointResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgMatchReporterAppointResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgMatchReporterAppointResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgMatchReporterAppointResponse.Merge(m, src) +} +func (m *MsgMatchReporterAppointResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgMatchReporterAppointResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgMatchReporterAppointResponse.DiscardUnknown(m) } -func (c *msgClient) CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) { - out := new(MsgCardArtworkAddResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtworkAdd", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +var xxx_messageInfo_MsgMatchReporterAppointResponse proto.InternalMessageInfo + +type MsgSetCreate 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"` + StoryWriter string `protobuf:"bytes,4,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` + Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` } -func (c *msgClient) CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) { - out := new(MsgCardArtistChangeResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtistChange", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgSetCreate) Reset() { *m = MsgSetCreate{} } +func (m *MsgSetCreate) String() string { return proto.CompactTextString(m) } +func (*MsgSetCreate) ProtoMessage() {} +func (*MsgSetCreate) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{28} +} +func (m *MsgSetCreate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetCreate.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgSetCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetCreate.Merge(m, src) +} +func (m *MsgSetCreate) XXX_Size() int { + return m.Size() +} +func (m *MsgSetCreate) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetCreate.DiscardUnknown(m) } -func (c *msgClient) CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) { - out := new(MsgCouncilRegisterResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilRegister", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgSetCreate proto.InternalMessageInfo + +func (m *MsgSetCreate) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -func (c *msgClient) CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) { - out := new(MsgCouncilDeregisterResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilDeregister", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgSetCreate) GetName() string { + if m != nil { + return m.Name } - return out, nil + return "" } -func (c *msgClient) MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) { - out := new(MsgMatchReportResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchReport", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgSetCreate) GetArtist() string { + if m != nil { + return m.Artist } - return out, nil + return "" } -// MsgServer is the server API for Msg service. -type MsgServer interface { - // UpdateParams defines a (governance) operation for updating the module - // parameters. The authority defaults to the x/gov module account. - UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) - UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) - CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) - CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) - CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) - CardTransfer(context.Context, *MsgCardTransfer) (*MsgCardTransferResponse, error) - CardDonate(context.Context, *MsgCardDonate) (*MsgCardDonateResponse, error) - CardArtworkAdd(context.Context, *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) - CardArtistChange(context.Context, *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) - CouncilRegister(context.Context, *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) - CouncilDeregister(context.Context, *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) - MatchReport(context.Context, *MsgMatchReport) (*MsgMatchReportResponse, error) +func (m *MsgSetCreate) GetStoryWriter() string { + if m != nil { + return m.StoryWriter + } + return "" } -// UnimplementedMsgServer can be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { +func (m *MsgSetCreate) GetContributors() []string { + if m != nil { + return m.Contributors + } + return nil } -func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +type MsgSetCreateResponse struct { } -func (*UnimplementedMsgServer) UserCreate(ctx context.Context, req *MsgUserCreate) (*MsgUserCreateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UserCreate not implemented") + +func (m *MsgSetCreateResponse) Reset() { *m = MsgSetCreateResponse{} } +func (m *MsgSetCreateResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetCreateResponse) ProtoMessage() {} +func (*MsgSetCreateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{29} } -func (*UnimplementedMsgServer) CardSchemeBuy(ctx context.Context, req *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardSchemeBuy not implemented") +func (m *MsgSetCreateResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedMsgServer) CardSaveContent(ctx context.Context, req *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardSaveContent not implemented") +func (m *MsgSetCreateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetCreateResponse.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 (*UnimplementedMsgServer) CardVote(ctx context.Context, req *MsgCardVote) (*MsgCardVoteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") +func (m *MsgSetCreateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetCreateResponse.Merge(m, src) } -func (*UnimplementedMsgServer) CardTransfer(ctx context.Context, req *MsgCardTransfer) (*MsgCardTransferResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardTransfer not implemented") +func (m *MsgSetCreateResponse) XXX_Size() int { + return m.Size() } -func (*UnimplementedMsgServer) CardDonate(ctx context.Context, req *MsgCardDonate) (*MsgCardDonateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardDonate not implemented") +func (m *MsgSetCreateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetCreateResponse.DiscardUnknown(m) } -func (*UnimplementedMsgServer) CardArtworkAdd(ctx context.Context, req *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardArtworkAdd not implemented") + +var xxx_messageInfo_MsgSetCreateResponse proto.InternalMessageInfo + +type MsgSetCardAdd 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 (*UnimplementedMsgServer) CardArtistChange(ctx context.Context, req *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardArtistChange not implemented") + +func (m *MsgSetCardAdd) Reset() { *m = MsgSetCardAdd{} } +func (m *MsgSetCardAdd) String() string { return proto.CompactTextString(m) } +func (*MsgSetCardAdd) ProtoMessage() {} +func (*MsgSetCardAdd) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{30} } -func (*UnimplementedMsgServer) CouncilRegister(ctx context.Context, req *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilRegister not implemented") +func (m *MsgSetCardAdd) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedMsgServer) CouncilDeregister(ctx context.Context, req *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilDeregister not implemented") +func (m *MsgSetCardAdd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetCardAdd.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 (*UnimplementedMsgServer) MatchReport(ctx context.Context, req *MsgMatchReport) (*MsgMatchReportResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method MatchReport not implemented") +func (m *MsgSetCardAdd) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetCardAdd.Merge(m, src) } - -func RegisterMsgServer(s grpc1.Server, srv MsgServer) { - s.RegisterService(&_Msg_serviceDesc, srv) +func (m *MsgSetCardAdd) XXX_Size() int { + return m.Size() +} +func (m *MsgSetCardAdd) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetCardAdd.DiscardUnknown(m) } -func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateParams) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UpdateParams(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/UpdateParams", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) +var xxx_messageInfo_MsgSetCardAdd proto.InternalMessageInfo + +func (m *MsgSetCardAdd) GetCreator() string { + if m != nil { + return m.Creator } - return interceptor(ctx, in, info, handler) + return "" } -func _Msg_UserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUserCreate) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UserCreate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/UserCreate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UserCreate(ctx, req.(*MsgUserCreate)) +func (m *MsgSetCardAdd) GetSetId() uint64 { + if m != nil { + return m.SetId } - return interceptor(ctx, in, info, handler) + return 0 } -func _Msg_CardSchemeBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardSchemeBuy) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardSchemeBuy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardSchemeBuy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardSchemeBuy(ctx, req.(*MsgCardSchemeBuy)) +func (m *MsgSetCardAdd) GetCardId() uint64 { + if m != nil { + return m.CardId } - return interceptor(ctx, in, info, handler) + return 0 } -func _Msg_CardSaveContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardSaveContent) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardSaveContent(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardSaveContent", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardSaveContent(ctx, req.(*MsgCardSaveContent)) - } - return interceptor(ctx, in, info, handler) +type MsgSetCardAddResponse struct { } -func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardVote) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardVote(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardVote", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardVote(ctx, req.(*MsgCardVote)) +func (m *MsgSetCardAddResponse) Reset() { *m = MsgSetCardAddResponse{} } +func (m *MsgSetCardAddResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetCardAddResponse) ProtoMessage() {} +func (*MsgSetCardAddResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{31} +} +func (m *MsgSetCardAddResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetCardAddResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetCardAddResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *MsgSetCardAddResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetCardAddResponse.Merge(m, src) +} +func (m *MsgSetCardAddResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetCardAddResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetCardAddResponse.DiscardUnknown(m) } -func _Msg_CardTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardTransfer) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardTransfer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardTransfer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardTransfer(ctx, req.(*MsgCardTransfer)) - } - return interceptor(ctx, in, info, handler) +var xxx_messageInfo_MsgSetCardAddResponse proto.InternalMessageInfo + +type MsgSetCardRemove 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 _Msg_CardDonate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardDonate) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardDonate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardDonate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardDonate(ctx, req.(*MsgCardDonate)) +func (m *MsgSetCardRemove) Reset() { *m = MsgSetCardRemove{} } +func (m *MsgSetCardRemove) String() string { return proto.CompactTextString(m) } +func (*MsgSetCardRemove) ProtoMessage() {} +func (*MsgSetCardRemove) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{32} +} +func (m *MsgSetCardRemove) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetCardRemove) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetCardRemove.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *MsgSetCardRemove) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetCardRemove.Merge(m, src) +} +func (m *MsgSetCardRemove) XXX_Size() int { + return m.Size() +} +func (m *MsgSetCardRemove) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetCardRemove.DiscardUnknown(m) } -func _Msg_CardArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardArtworkAdd) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardArtworkAdd(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardArtworkAdd", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardArtworkAdd(ctx, req.(*MsgCardArtworkAdd)) +var xxx_messageInfo_MsgSetCardRemove proto.InternalMessageInfo + +func (m *MsgSetCardRemove) GetCreator() string { + if m != nil { + return m.Creator } - return interceptor(ctx, in, info, handler) + return "" } -func _Msg_CardArtistChange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardArtistChange) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardArtistChange(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardArtistChange", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardArtistChange(ctx, req.(*MsgCardArtistChange)) +func (m *MsgSetCardRemove) GetSetId() uint64 { + if m != nil { + return m.SetId } - return interceptor(ctx, in, info, handler) + return 0 } -func _Msg_CouncilRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilRegister) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CouncilRegister(ctx, in) +func (m *MsgSetCardRemove) GetCardId() uint64 { + if m != nil { + return m.CardId } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilRegister", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilRegister(ctx, req.(*MsgCouncilRegister)) - } - return interceptor(ctx, in, info, handler) + return 0 } -func _Msg_CouncilDeregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilDeregister) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CouncilDeregister(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilDeregister", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilDeregister(ctx, req.(*MsgCouncilDeregister)) +type MsgSetCardRemoveResponse struct { +} + +func (m *MsgSetCardRemoveResponse) Reset() { *m = MsgSetCardRemoveResponse{} } +func (m *MsgSetCardRemoveResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetCardRemoveResponse) ProtoMessage() {} +func (*MsgSetCardRemoveResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{33} +} +func (m *MsgSetCardRemoveResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetCardRemoveResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetCardRemoveResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *MsgSetCardRemoveResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetCardRemoveResponse.Merge(m, src) +} +func (m *MsgSetCardRemoveResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetCardRemoveResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetCardRemoveResponse.DiscardUnknown(m) } -func _Msg_MatchReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgMatchReport) - if err := dec(in); err != nil { - return nil, err +var xxx_messageInfo_MsgSetCardRemoveResponse proto.InternalMessageInfo + +type MsgSetContributorAdd 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 *MsgSetContributorAdd) Reset() { *m = MsgSetContributorAdd{} } +func (m *MsgSetContributorAdd) String() string { return proto.CompactTextString(m) } +func (*MsgSetContributorAdd) ProtoMessage() {} +func (*MsgSetContributorAdd) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{34} +} +func (m *MsgSetContributorAdd) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetContributorAdd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetContributorAdd.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - if interceptor == nil { - return srv.(MsgServer).MatchReport(ctx, in) +} +func (m *MsgSetContributorAdd) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetContributorAdd.Merge(m, src) +} +func (m *MsgSetContributorAdd) XXX_Size() int { + return m.Size() +} +func (m *MsgSetContributorAdd) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetContributorAdd.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSetContributorAdd proto.InternalMessageInfo + +func (m *MsgSetContributorAdd) GetCreator() string { + if m != nil { + return m.Creator } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/MatchReport", + return "" +} + +func (m *MsgSetContributorAdd) GetSetId() uint64 { + if m != nil { + return m.SetId } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).MatchReport(ctx, req.(*MsgMatchReport)) + return 0 +} + +func (m *MsgSetContributorAdd) GetUser() string { + if m != nil { + return m.User } - return interceptor(ctx, in, info, handler) + return "" } -var Msg_serviceDesc = _Msg_serviceDesc -var _Msg_serviceDesc = grpc.ServiceDesc{ - ServiceName: "cardchain.cardchain.Msg", - HandlerType: (*MsgServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "UpdateParams", - Handler: _Msg_UpdateParams_Handler, - }, - { - MethodName: "UserCreate", - Handler: _Msg_UserCreate_Handler, - }, - { - MethodName: "CardSchemeBuy", - Handler: _Msg_CardSchemeBuy_Handler, - }, - { - MethodName: "CardSaveContent", - Handler: _Msg_CardSaveContent_Handler, - }, - { - MethodName: "CardVote", - Handler: _Msg_CardVote_Handler, - }, - { - MethodName: "CardTransfer", - Handler: _Msg_CardTransfer_Handler, - }, - { - MethodName: "CardDonate", - Handler: _Msg_CardDonate_Handler, - }, - { - MethodName: "CardArtworkAdd", - Handler: _Msg_CardArtworkAdd_Handler, - }, - { - MethodName: "CardArtistChange", - Handler: _Msg_CardArtistChange_Handler, - }, - { - MethodName: "CouncilRegister", - Handler: _Msg_CouncilRegister_Handler, - }, - { - MethodName: "CouncilDeregister", - Handler: _Msg_CouncilDeregister_Handler, - }, - { - MethodName: "MatchReport", - Handler: _Msg_MatchReport_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cardchain/cardchain/tx.proto", +type MsgSetContributorAddResponse struct { } -func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgSetContributorAddResponse) Reset() { *m = MsgSetContributorAddResponse{} } +func (m *MsgSetContributorAddResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetContributorAddResponse) ProtoMessage() {} +func (*MsgSetContributorAddResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{35} +} +func (m *MsgSetContributorAddResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetContributorAddResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetContributorAddResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil +} +func (m *MsgSetContributorAddResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetContributorAddResponse.Merge(m, src) +} +func (m *MsgSetContributorAddResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetContributorAddResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetContributorAddResponse.DiscardUnknown(m) } -func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +var xxx_messageInfo_MsgSetContributorAddResponse proto.InternalMessageInfo + +type MsgSetContributorRemove 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 *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) +func (m *MsgSetContributorRemove) Reset() { *m = MsgSetContributorRemove{} } +func (m *MsgSetContributorRemove) String() string { return proto.CompactTextString(m) } +func (*MsgSetContributorRemove) ProtoMessage() {} +func (*MsgSetContributorRemove) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{36} +} +func (m *MsgSetContributorRemove) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetContributorRemove) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetContributorRemove.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) if err != nil { - return 0, err + return nil, err } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) + return b[:n], nil } - i-- - dAtA[i] = 0x12 - if len(m.Authority) > 0 { - i -= len(m.Authority) - copy(dAtA[i:], m.Authority) - i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) - i-- - dAtA[i] = 0xa +} +func (m *MsgSetContributorRemove) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetContributorRemove.Merge(m, src) +} +func (m *MsgSetContributorRemove) XXX_Size() int { + return m.Size() +} +func (m *MsgSetContributorRemove) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetContributorRemove.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSetContributorRemove proto.InternalMessageInfo + +func (m *MsgSetContributorRemove) GetCreator() string { + if m != nil { + return m.Creator } - return len(dAtA) - i, nil + return "" } -func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgSetContributorRemove) GetSetId() uint64 { + if m != nil { + return m.SetId } - return dAtA[:n], nil + return 0 } -func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgSetContributorRemove) GetUser() string { + if m != nil { + return m.User + } + return "" } -func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +type MsgSetContributorRemoveResponse struct { } -func (m *MsgUserCreate) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgSetContributorRemoveResponse) Reset() { *m = MsgSetContributorRemoveResponse{} } +func (m *MsgSetContributorRemoveResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetContributorRemoveResponse) ProtoMessage() {} +func (*MsgSetContributorRemoveResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{37} +} +func (m *MsgSetContributorRemoveResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetContributorRemoveResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetContributorRemoveResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil +} +func (m *MsgSetContributorRemoveResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetContributorRemoveResponse.Merge(m, src) +} +func (m *MsgSetContributorRemoveResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetContributorRemoveResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetContributorRemoveResponse.DiscardUnknown(m) } -func (m *MsgUserCreate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +var xxx_messageInfo_MsgSetContributorRemoveResponse proto.InternalMessageInfo + +type MsgSetFinalize 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 *MsgUserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Alias) > 0 { - i -= len(m.Alias) - copy(dAtA[i:], m.Alias) - i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) - i-- - dAtA[i] = 0x1a - } - if len(m.NewUser) > 0 { - i -= len(m.NewUser) - copy(dAtA[i:], m.NewUser) - i = encodeVarintTx(dAtA, i, uint64(len(m.NewUser))) - 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 +func (m *MsgSetFinalize) Reset() { *m = MsgSetFinalize{} } +func (m *MsgSetFinalize) String() string { return proto.CompactTextString(m) } +func (*MsgSetFinalize) ProtoMessage() {} +func (*MsgSetFinalize) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{38} +} +func (m *MsgSetFinalize) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetFinalize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetFinalize.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return len(dAtA) - i, nil +} +func (m *MsgSetFinalize) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetFinalize.Merge(m, src) +} +func (m *MsgSetFinalize) XXX_Size() int { + return m.Size() +} +func (m *MsgSetFinalize) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetFinalize.DiscardUnknown(m) } -func (m *MsgUserCreateResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +var xxx_messageInfo_MsgSetFinalize proto.InternalMessageInfo + +func (m *MsgSetFinalize) GetCreator() string { + if m != nil { + return m.Creator } - return dAtA[:n], nil + return "" } -func (m *MsgUserCreateResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgSetFinalize) GetSetId() uint64 { + if m != nil { + return m.SetId + } + return 0 } -func (m *MsgUserCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +type MsgSetFinalizeResponse struct { } -func (m *MsgCardSchemeBuy) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgSetFinalizeResponse) Reset() { *m = MsgSetFinalizeResponse{} } +func (m *MsgSetFinalizeResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetFinalizeResponse) ProtoMessage() {} +func (*MsgSetFinalizeResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{39} +} +func (m *MsgSetFinalizeResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetFinalizeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetFinalizeResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil +} +func (m *MsgSetFinalizeResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetFinalizeResponse.Merge(m, src) +} +func (m *MsgSetFinalizeResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetFinalizeResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetFinalizeResponse.DiscardUnknown(m) } -func (m *MsgCardSchemeBuy) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +var xxx_messageInfo_MsgSetFinalizeResponse proto.InternalMessageInfo + +type MsgSetArtworkAdd 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 *MsgCardSchemeBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Bid.MarshalToSizedBuffer(dAtA[:i]) +func (m *MsgSetArtworkAdd) Reset() { *m = MsgSetArtworkAdd{} } +func (m *MsgSetArtworkAdd) String() string { return proto.CompactTextString(m) } +func (*MsgSetArtworkAdd) ProtoMessage() {} +func (*MsgSetArtworkAdd) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{40} +} +func (m *MsgSetArtworkAdd) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetArtworkAdd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetArtworkAdd.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) if err != nil { - return 0, err + return nil, 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 b[:n], nil } - return len(dAtA) - i, nil +} +func (m *MsgSetArtworkAdd) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetArtworkAdd.Merge(m, src) +} +func (m *MsgSetArtworkAdd) XXX_Size() int { + return m.Size() +} +func (m *MsgSetArtworkAdd) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetArtworkAdd.DiscardUnknown(m) } -func (m *MsgCardSchemeBuyResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +var xxx_messageInfo_MsgSetArtworkAdd proto.InternalMessageInfo + +func (m *MsgSetArtworkAdd) GetCreator() string { + if m != nil { + return m.Creator } - return dAtA[:n], nil + return "" } -func (m *MsgCardSchemeBuyResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgSetArtworkAdd) GetSetId() uint64 { + if m != nil { + return m.SetId + } + return 0 } -func (m *MsgCardSchemeBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x8 +func (m *MsgSetArtworkAdd) GetImage() []byte { + if m != nil { + return m.Image } - return len(dAtA) - i, nil + return nil } -func (m *MsgCardSaveContent) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +type MsgSetArtworkAddResponse struct { +} + +func (m *MsgSetArtworkAddResponse) Reset() { *m = MsgSetArtworkAddResponse{} } +func (m *MsgSetArtworkAddResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetArtworkAddResponse) ProtoMessage() {} +func (*MsgSetArtworkAddResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{41} +} +func (m *MsgSetArtworkAddResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetArtworkAddResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetArtworkAddResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil +} +func (m *MsgSetArtworkAddResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetArtworkAddResponse.Merge(m, src) +} +func (m *MsgSetArtworkAddResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetArtworkAddResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetArtworkAddResponse.DiscardUnknown(m) } -func (m *MsgCardSaveContent) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +var xxx_messageInfo_MsgSetArtworkAddResponse proto.InternalMessageInfo + +type MsgSetStoryAdd 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 *MsgCardSaveContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.BalanceAnchor { - i-- - if m.BalanceAnchor { - dAtA[i] = 1 - } else { - dAtA[i] = 0 +func (m *MsgSetStoryAdd) Reset() { *m = MsgSetStoryAdd{} } +func (m *MsgSetStoryAdd) String() string { return proto.CompactTextString(m) } +func (*MsgSetStoryAdd) ProtoMessage() {} +func (*MsgSetStoryAdd) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{42} +} +func (m *MsgSetStoryAdd) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetStoryAdd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetStoryAdd.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err } - i-- - dAtA[i] = 0x30 - } - if len(m.Artist) > 0 { - i -= len(m.Artist) - copy(dAtA[i:], m.Artist) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x2a - } - if len(m.Notes) > 0 { - i -= len(m.Notes) - copy(dAtA[i:], m.Notes) - i = encodeVarintTx(dAtA, i, uint64(len(m.Notes))) - i-- - dAtA[i] = 0x22 - } - if len(m.Content) > 0 { - i -= len(m.Content) - copy(dAtA[i:], m.Content) - i = encodeVarintTx(dAtA, i, uint64(len(m.Content))) - i-- - dAtA[i] = 0x1a - } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 + return b[:n], nil } - 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 +} +func (m *MsgSetStoryAdd) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetStoryAdd.Merge(m, src) +} +func (m *MsgSetStoryAdd) XXX_Size() int { + return m.Size() +} +func (m *MsgSetStoryAdd) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetStoryAdd.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSetStoryAdd proto.InternalMessageInfo + +func (m *MsgSetStoryAdd) GetCreator() string { + if m != nil { + return m.Creator } - return len(dAtA) - i, nil + return "" } -func (m *MsgCardSaveContentResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgSetStoryAdd) GetSetId() uint64 { + if m != nil { + return m.SetId } - return dAtA[:n], nil + return 0 } -func (m *MsgCardSaveContentResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgSetStoryAdd) GetStory() string { + if m != nil { + return m.Story + } + return "" } -func (m *MsgCardSaveContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil +type MsgSetStoryAddResponse struct { } -func (m *MsgCardVote) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgSetStoryAddResponse) Reset() { *m = MsgSetStoryAddResponse{} } +func (m *MsgSetStoryAddResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetStoryAddResponse) ProtoMessage() {} +func (*MsgSetStoryAddResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{43} +} +func (m *MsgSetStoryAddResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetStoryAddResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetStoryAddResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil +} +func (m *MsgSetStoryAddResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetStoryAddResponse.Merge(m, src) +} +func (m *MsgSetStoryAddResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetStoryAddResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetStoryAddResponse.DiscardUnknown(m) } -func (m *MsgCardVote) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +var xxx_messageInfo_MsgSetStoryAddResponse proto.InternalMessageInfo + +type MsgBoosterPackBuy 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 *MsgCardVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Vote != nil { - { - size, err := m.Vote.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) +func (m *MsgBoosterPackBuy) Reset() { *m = MsgBoosterPackBuy{} } +func (m *MsgBoosterPackBuy) String() string { return proto.CompactTextString(m) } +func (*MsgBoosterPackBuy) ProtoMessage() {} +func (*MsgBoosterPackBuy) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{44} +} +func (m *MsgBoosterPackBuy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBoosterPackBuy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBoosterPackBuy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err } - i-- - dAtA[i] = 0x12 + return b[:n], nil } - 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 +} +func (m *MsgBoosterPackBuy) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBoosterPackBuy.Merge(m, src) +} +func (m *MsgBoosterPackBuy) XXX_Size() int { + return m.Size() +} +func (m *MsgBoosterPackBuy) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBoosterPackBuy.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgBoosterPackBuy proto.InternalMessageInfo + +func (m *MsgBoosterPackBuy) GetCreator() string { + if m != nil { + return m.Creator } - return len(dAtA) - i, nil + return "" } -func (m *MsgCardVoteResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgBoosterPackBuy) GetSetId() uint64 { + if m != nil { + return m.SetId } - return dAtA[:n], nil + return 0 } -func (m *MsgCardVoteResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +type MsgBoosterPackBuyResponse struct { + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (m *MsgCardVoteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 +func (m *MsgBoosterPackBuyResponse) Reset() { *m = MsgBoosterPackBuyResponse{} } +func (m *MsgBoosterPackBuyResponse) String() string { return proto.CompactTextString(m) } +func (*MsgBoosterPackBuyResponse) ProtoMessage() {} +func (*MsgBoosterPackBuyResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{45} +} +func (m *MsgBoosterPackBuyResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBoosterPackBuyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBoosterPackBuyResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err } - i-- - dAtA[i] = 0x8 + return b[:n], nil } - return len(dAtA) - i, nil +} +func (m *MsgBoosterPackBuyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBoosterPackBuyResponse.Merge(m, src) +} +func (m *MsgBoosterPackBuyResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgBoosterPackBuyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBoosterPackBuyResponse.DiscardUnknown(m) } -func (m *MsgCardTransfer) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +var xxx_messageInfo_MsgBoosterPackBuyResponse proto.InternalMessageInfo + +func (m *MsgBoosterPackBuyResponse) GetAirdropClaimed() bool { + if m != nil { + return m.AirdropClaimed } - return dAtA[:n], nil + return false } -func (m *MsgCardTransfer) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +type MsgSellOfferCreate 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"` + Price types.Coin `protobuf:"bytes,3,opt,name=price,proto3" json:"price"` } -func (m *MsgCardTransfer) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Receiver) > 0 { - i -= len(m.Receiver) - copy(dAtA[i:], m.Receiver) - i = encodeVarintTx(dAtA, i, uint64(len(m.Receiver))) - i-- - dAtA[i] = 0x1a - } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 +func (m *MsgSellOfferCreate) Reset() { *m = MsgSellOfferCreate{} } +func (m *MsgSellOfferCreate) String() string { return proto.CompactTextString(m) } +func (*MsgSellOfferCreate) ProtoMessage() {} +func (*MsgSellOfferCreate) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{46} +} +func (m *MsgSellOfferCreate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSellOfferCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSellOfferCreate.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - 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 +} +func (m *MsgSellOfferCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSellOfferCreate.Merge(m, src) +} +func (m *MsgSellOfferCreate) XXX_Size() int { + return m.Size() +} +func (m *MsgSellOfferCreate) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSellOfferCreate.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSellOfferCreate proto.InternalMessageInfo + +func (m *MsgSellOfferCreate) GetCreator() string { + if m != nil { + return m.Creator } - return len(dAtA) - i, nil + return "" } -func (m *MsgCardTransferResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgSellOfferCreate) GetCardId() uint64 { + if m != nil { + return m.CardId } - return dAtA[:n], nil + return 0 } -func (m *MsgCardTransferResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgSellOfferCreate) GetPrice() types.Coin { + if m != nil { + return m.Price + } + return types.Coin{} } -func (m *MsgCardTransferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +type MsgSellOfferCreateResponse struct { } -func (m *MsgCardDonate) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgSellOfferCreateResponse) Reset() { *m = MsgSellOfferCreateResponse{} } +func (m *MsgSellOfferCreateResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSellOfferCreateResponse) ProtoMessage() {} +func (*MsgSellOfferCreateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{47} +} +func (m *MsgSellOfferCreateResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSellOfferCreateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSellOfferCreateResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil +} +func (m *MsgSellOfferCreateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSellOfferCreateResponse.Merge(m, src) +} +func (m *MsgSellOfferCreateResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSellOfferCreateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSellOfferCreateResponse.DiscardUnknown(m) } -func (m *MsgCardDonate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +var xxx_messageInfo_MsgSellOfferCreateResponse proto.InternalMessageInfo + +type MsgSellOfferBuy struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` } -func (m *MsgCardDonate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) +func (m *MsgSellOfferBuy) Reset() { *m = MsgSellOfferBuy{} } +func (m *MsgSellOfferBuy) String() string { return proto.CompactTextString(m) } +func (*MsgSellOfferBuy) ProtoMessage() {} +func (*MsgSellOfferBuy) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{48} +} +func (m *MsgSellOfferBuy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSellOfferBuy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSellOfferBuy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) if err != nil { - return 0, err + return nil, err } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - 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 b[:n], nil } - return len(dAtA) - i, nil } - -func (m *MsgCardDonateResponse) 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 *MsgSellOfferBuy) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSellOfferBuy.Merge(m, src) } - -func (m *MsgCardDonateResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgSellOfferBuy) XXX_Size() int { + return m.Size() +} +func (m *MsgSellOfferBuy) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSellOfferBuy.DiscardUnknown(m) } -func (m *MsgCardDonateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +var xxx_messageInfo_MsgSellOfferBuy proto.InternalMessageInfo + +func (m *MsgSellOfferBuy) GetCreator() string { + if m != nil { + return m.Creator + } + return "" } -func (m *MsgCardArtworkAdd) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgSellOfferBuy) GetSellOfferId() uint64 { + if m != nil { + return m.SellOfferId } - return dAtA[:n], nil + return 0 } -func (m *MsgCardArtworkAdd) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +type MsgSellOfferBuyResponse struct { } -func (m *MsgCardArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.FullArt { - i-- - if m.FullArt { - dAtA[i] = 1 - } else { - dAtA[i] = 0 +func (m *MsgSellOfferBuyResponse) Reset() { *m = MsgSellOfferBuyResponse{} } +func (m *MsgSellOfferBuyResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSellOfferBuyResponse) ProtoMessage() {} +func (*MsgSellOfferBuyResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{49} +} +func (m *MsgSellOfferBuyResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSellOfferBuyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSellOfferBuyResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err } - i-- - dAtA[i] = 0x20 - } - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) - 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 b[:n], nil } - return len(dAtA) - i, nil } - -func (m *MsgCardArtworkAddResponse) 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 *MsgSellOfferBuyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSellOfferBuyResponse.Merge(m, src) } - -func (m *MsgCardArtworkAddResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgSellOfferBuyResponse) XXX_Size() int { + return m.Size() } - -func (m *MsgCardArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func (m *MsgSellOfferBuyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSellOfferBuyResponse.DiscardUnknown(m) } -func (m *MsgCardArtistChange) 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 -} +var xxx_messageInfo_MsgSellOfferBuyResponse proto.InternalMessageInfo -func (m *MsgCardArtistChange) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +type MsgSellOfferRemove struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` } -func (m *MsgCardArtistChange) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Artist) > 0 { - i -= len(m.Artist) - copy(dAtA[i:], m.Artist) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - 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 *MsgSellOfferRemove) Reset() { *m = MsgSellOfferRemove{} } +func (m *MsgSellOfferRemove) String() string { return proto.CompactTextString(m) } +func (*MsgSellOfferRemove) ProtoMessage() {} +func (*MsgSellOfferRemove) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{50} } - -func (m *MsgCardArtistChangeResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgSellOfferRemove) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSellOfferRemove) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSellOfferRemove.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil } - -func (m *MsgCardArtistChangeResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgSellOfferRemove) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSellOfferRemove.Merge(m, src) } - -func (m *MsgCardArtistChangeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func (m *MsgSellOfferRemove) XXX_Size() int { + return m.Size() } - -func (m *MsgCouncilRegister) 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 *MsgSellOfferRemove) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSellOfferRemove.DiscardUnknown(m) } -func (m *MsgCouncilRegister) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} +var xxx_messageInfo_MsgSellOfferRemove proto.InternalMessageInfo -func (m *MsgCouncilRegister) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - 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 +func (m *MsgSellOfferRemove) GetCreator() string { + if m != nil { + return m.Creator } - return len(dAtA) - i, nil + return "" } -func (m *MsgCouncilRegisterResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgSellOfferRemove) GetSellOfferId() uint64 { + if m != nil { + return m.SellOfferId } - return dAtA[:n], nil + return 0 } -func (m *MsgCouncilRegisterResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +type MsgSellOfferRemoveResponse struct { } -func (m *MsgCouncilRegisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func (m *MsgSellOfferRemoveResponse) Reset() { *m = MsgSellOfferRemoveResponse{} } +func (m *MsgSellOfferRemoveResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSellOfferRemoveResponse) ProtoMessage() {} +func (*MsgSellOfferRemoveResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{51} } - -func (m *MsgCouncilDeregister) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *MsgSellOfferRemoveResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSellOfferRemoveResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSellOfferRemoveResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil } - -func (m *MsgCouncilDeregister) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *MsgSellOfferRemoveResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSellOfferRemoveResponse.Merge(m, src) } - -func (m *MsgCouncilDeregister) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - 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 *MsgSellOfferRemoveResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSellOfferRemoveResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSellOfferRemoveResponse.DiscardUnknown(m) } -func (m *MsgCouncilDeregisterResponse) 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 +var xxx_messageInfo_MsgSellOfferRemoveResponse proto.InternalMessageInfo + +func init() { + proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") + proto.RegisterType((*MsgUserCreate)(nil), "cardchain.cardchain.MsgUserCreate") + proto.RegisterType((*MsgUserCreateResponse)(nil), "cardchain.cardchain.MsgUserCreateResponse") + proto.RegisterType((*MsgCardSchemeBuy)(nil), "cardchain.cardchain.MsgCardSchemeBuy") + proto.RegisterType((*MsgCardSchemeBuyResponse)(nil), "cardchain.cardchain.MsgCardSchemeBuyResponse") + proto.RegisterType((*MsgCardSaveContent)(nil), "cardchain.cardchain.MsgCardSaveContent") + proto.RegisterType((*MsgCardSaveContentResponse)(nil), "cardchain.cardchain.MsgCardSaveContentResponse") + proto.RegisterType((*MsgCardVote)(nil), "cardchain.cardchain.MsgCardVote") + proto.RegisterType((*MsgCardVoteResponse)(nil), "cardchain.cardchain.MsgCardVoteResponse") + proto.RegisterType((*MsgCardTransfer)(nil), "cardchain.cardchain.MsgCardTransfer") + proto.RegisterType((*MsgCardTransferResponse)(nil), "cardchain.cardchain.MsgCardTransferResponse") + proto.RegisterType((*MsgCardDonate)(nil), "cardchain.cardchain.MsgCardDonate") + proto.RegisterType((*MsgCardDonateResponse)(nil), "cardchain.cardchain.MsgCardDonateResponse") + proto.RegisterType((*MsgCardArtworkAdd)(nil), "cardchain.cardchain.MsgCardArtworkAdd") + proto.RegisterType((*MsgCardArtworkAddResponse)(nil), "cardchain.cardchain.MsgCardArtworkAddResponse") + proto.RegisterType((*MsgCardArtistChange)(nil), "cardchain.cardchain.MsgCardArtistChange") + proto.RegisterType((*MsgCardArtistChangeResponse)(nil), "cardchain.cardchain.MsgCardArtistChangeResponse") + proto.RegisterType((*MsgCouncilRegister)(nil), "cardchain.cardchain.MsgCouncilRegister") + proto.RegisterType((*MsgCouncilRegisterResponse)(nil), "cardchain.cardchain.MsgCouncilRegisterResponse") + proto.RegisterType((*MsgCouncilDeregister)(nil), "cardchain.cardchain.MsgCouncilDeregister") + proto.RegisterType((*MsgCouncilDeregisterResponse)(nil), "cardchain.cardchain.MsgCouncilDeregisterResponse") + proto.RegisterType((*MsgMatchReport)(nil), "cardchain.cardchain.MsgMatchReport") + proto.RegisterType((*MsgMatchReportResponse)(nil), "cardchain.cardchain.MsgMatchReportResponse") + proto.RegisterType((*MsgCouncilCreate)(nil), "cardchain.cardchain.MsgCouncilCreate") + proto.RegisterType((*MsgCouncilCreateResponse)(nil), "cardchain.cardchain.MsgCouncilCreateResponse") + proto.RegisterType((*MsgMatchReporterAppoint)(nil), "cardchain.cardchain.MsgMatchReporterAppoint") + proto.RegisterType((*MsgMatchReporterAppointResponse)(nil), "cardchain.cardchain.MsgMatchReporterAppointResponse") + proto.RegisterType((*MsgSetCreate)(nil), "cardchain.cardchain.MsgSetCreate") + proto.RegisterType((*MsgSetCreateResponse)(nil), "cardchain.cardchain.MsgSetCreateResponse") + proto.RegisterType((*MsgSetCardAdd)(nil), "cardchain.cardchain.MsgSetCardAdd") + proto.RegisterType((*MsgSetCardAddResponse)(nil), "cardchain.cardchain.MsgSetCardAddResponse") + proto.RegisterType((*MsgSetCardRemove)(nil), "cardchain.cardchain.MsgSetCardRemove") + proto.RegisterType((*MsgSetCardRemoveResponse)(nil), "cardchain.cardchain.MsgSetCardRemoveResponse") + proto.RegisterType((*MsgSetContributorAdd)(nil), "cardchain.cardchain.MsgSetContributorAdd") + proto.RegisterType((*MsgSetContributorAddResponse)(nil), "cardchain.cardchain.MsgSetContributorAddResponse") + proto.RegisterType((*MsgSetContributorRemove)(nil), "cardchain.cardchain.MsgSetContributorRemove") + proto.RegisterType((*MsgSetContributorRemoveResponse)(nil), "cardchain.cardchain.MsgSetContributorRemoveResponse") + proto.RegisterType((*MsgSetFinalize)(nil), "cardchain.cardchain.MsgSetFinalize") + proto.RegisterType((*MsgSetFinalizeResponse)(nil), "cardchain.cardchain.MsgSetFinalizeResponse") + proto.RegisterType((*MsgSetArtworkAdd)(nil), "cardchain.cardchain.MsgSetArtworkAdd") + proto.RegisterType((*MsgSetArtworkAddResponse)(nil), "cardchain.cardchain.MsgSetArtworkAddResponse") + proto.RegisterType((*MsgSetStoryAdd)(nil), "cardchain.cardchain.MsgSetStoryAdd") + proto.RegisterType((*MsgSetStoryAddResponse)(nil), "cardchain.cardchain.MsgSetStoryAddResponse") + proto.RegisterType((*MsgBoosterPackBuy)(nil), "cardchain.cardchain.MsgBoosterPackBuy") + proto.RegisterType((*MsgBoosterPackBuyResponse)(nil), "cardchain.cardchain.MsgBoosterPackBuyResponse") + proto.RegisterType((*MsgSellOfferCreate)(nil), "cardchain.cardchain.MsgSellOfferCreate") + proto.RegisterType((*MsgSellOfferCreateResponse)(nil), "cardchain.cardchain.MsgSellOfferCreateResponse") + proto.RegisterType((*MsgSellOfferBuy)(nil), "cardchain.cardchain.MsgSellOfferBuy") + proto.RegisterType((*MsgSellOfferBuyResponse)(nil), "cardchain.cardchain.MsgSellOfferBuyResponse") + proto.RegisterType((*MsgSellOfferRemove)(nil), "cardchain.cardchain.MsgSellOfferRemove") + proto.RegisterType((*MsgSellOfferRemoveResponse)(nil), "cardchain.cardchain.MsgSellOfferRemoveResponse") } -func (m *MsgCouncilDeregisterResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } + +var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ + // 1679 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xcf, 0x73, 0xd3, 0xc6, + 0x17, 0x8f, 0xb0, 0x13, 0x92, 0x4d, 0x08, 0x20, 0x02, 0x38, 0x22, 0x5f, 0xc7, 0x98, 0x04, 0x42, + 0xbe, 0x89, 0xdd, 0x04, 0x4a, 0x19, 0xa6, 0x65, 0x26, 0x4e, 0xa6, 0x9d, 0x1e, 0x52, 0xa8, 0xd2, + 0xd2, 0xe9, 0x4f, 0x66, 0x2d, 0x6f, 0x64, 0x35, 0x96, 0xd6, 0x5d, 0xad, 0x0d, 0xe1, 0xd4, 0x69, + 0x2f, 0x9d, 0xf6, 0xd2, 0x73, 0xff, 0x02, 0x8e, 0x39, 0xf4, 0x2f, 0x68, 0x2f, 0x1c, 0x19, 0x4e, + 0x3d, 0x75, 0x3a, 0x70, 0xc8, 0xbf, 0xd1, 0xd9, 0x5d, 0x69, 0xf5, 0xc3, 0x92, 0x2c, 0x67, 0xa6, + 0x97, 0x44, 0xbb, 0xfb, 0xd9, 0xf7, 0x3e, 0xef, 0xed, 0xdb, 0x7d, 0xef, 0x8d, 0xc1, 0x82, 0x01, + 0x49, 0xcb, 0x68, 0x43, 0xcb, 0xa9, 0x07, 0x5f, 0xf4, 0x69, 0xad, 0x4b, 0x30, 0xc5, 0xea, 0x05, + 0x39, 0x57, 0x93, 0x5f, 0xda, 0x79, 0x68, 0x5b, 0x0e, 0xae, 0xf3, 0xbf, 0x02, 0xa7, 0x5d, 0x36, + 0xb0, 0x6b, 0x63, 0xb7, 0x6e, 0xbb, 0x66, 0xbd, 0xbf, 0xc1, 0xfe, 0x79, 0x0b, 0xf3, 0x62, 0xe1, + 0x31, 0x1f, 0xd5, 0xc5, 0xc0, 0x5b, 0x9a, 0x33, 0xb1, 0x89, 0xc5, 0x3c, 0xfb, 0xf2, 0x66, 0x2b, + 0x49, 0x7c, 0xba, 0x90, 0x40, 0xdb, 0xdf, 0x57, 0xf6, 0x74, 0x35, 0xa1, 0x8b, 0xea, 0xfd, 0x8d, + 0x26, 0xa2, 0x70, 0xa3, 0x6e, 0x60, 0xcb, 0xc9, 0x92, 0xd0, 0xc7, 0xd4, 0x72, 0x7c, 0x52, 0x8b, + 0x49, 0x08, 0x1b, 0x52, 0xa3, 0x2d, 0x00, 0xd5, 0x3f, 0x15, 0x70, 0x76, 0xd7, 0x35, 0x3f, 0xed, + 0xb6, 0x20, 0x45, 0x0f, 0xb9, 0x72, 0xf5, 0x0e, 0x98, 0x82, 0x3d, 0xda, 0xc6, 0xc4, 0xa2, 0x87, + 0x25, 0xa5, 0xa2, 0xac, 0x4c, 0x35, 0x4a, 0xaf, 0x7e, 0x5f, 0x9f, 0xf3, 0x6c, 0xda, 0x6a, 0xb5, + 0x08, 0x72, 0xdd, 0x3d, 0x4a, 0x2c, 0xc7, 0xd4, 0x03, 0xa8, 0x7a, 0x1f, 0x4c, 0x08, 0xfa, 0xa5, + 0x53, 0x15, 0x65, 0x65, 0x7a, 0xf3, 0x4a, 0x2d, 0xc1, 0xa7, 0x35, 0xa1, 0xa4, 0x31, 0xf5, 0xe2, + 0xef, 0xc5, 0xb1, 0xe7, 0xc7, 0x47, 0xab, 0x8a, 0xee, 0xed, 0xba, 0x77, 0xf7, 0x87, 0xe3, 0xa3, + 0xd5, 0x40, 0xde, 0xcf, 0xc7, 0x47, 0xab, 0xcb, 0x01, 0xeb, 0xa7, 0x21, 0x0b, 0x62, 0x8c, 0xab, + 0xf3, 0xe0, 0x72, 0x6c, 0x4a, 0x47, 0x6e, 0x17, 0x3b, 0x2e, 0xaa, 0x9a, 0xe0, 0x0c, 0x5b, 0x72, + 0x11, 0xd9, 0x26, 0x08, 0x52, 0xa4, 0x96, 0xc0, 0x69, 0x83, 0x7d, 0x61, 0x22, 0x6c, 0xd3, 0xfd, + 0x21, 0x5b, 0x71, 0xd0, 0x13, 0x06, 0xe5, 0x06, 0x4c, 0xe9, 0xfe, 0x50, 0x9d, 0x03, 0xe3, 0xb0, + 0x63, 0x41, 0xb7, 0x54, 0xe0, 0xf3, 0x62, 0x70, 0x6f, 0x86, 0xf1, 0xf5, 0x77, 0x57, 0x2f, 0x83, + 0x8b, 0x11, 0x45, 0x92, 0x81, 0x0d, 0xce, 0xed, 0xba, 0xe6, 0x36, 0x24, 0xad, 0x3d, 0xa3, 0x8d, + 0x6c, 0xd4, 0xe8, 0x1d, 0x66, 0x90, 0xd8, 0x00, 0x85, 0xa6, 0xd5, 0xf2, 0x3c, 0x38, 0x5f, 0xf3, + 0x7c, 0xce, 0x22, 0xa0, 0xe6, 0x45, 0x40, 0x6d, 0x1b, 0x5b, 0x4e, 0xa3, 0xc8, 0xfc, 0xa7, 0x33, + 0x6c, 0x8c, 0xc7, 0x26, 0x28, 0xc5, 0xd5, 0xf9, 0x54, 0xd4, 0x4b, 0x60, 0x82, 0x39, 0xf1, 0xc3, + 0x16, 0xd7, 0x5a, 0xd4, 0xbd, 0x51, 0xf5, 0x0f, 0x05, 0xa8, 0xfe, 0x26, 0xd8, 0x47, 0xdb, 0xd8, + 0xa1, 0xc8, 0xa1, 0x19, 0x2c, 0x03, 0x41, 0xa7, 0xc2, 0x82, 0xf8, 0x0e, 0xb1, 0x99, 0xbb, 0x6a, + 0x46, 0xf7, 0x87, 0xcc, 0x85, 0x0e, 0xa6, 0xc8, 0x2d, 0x15, 0x85, 0x0b, 0xf9, 0x80, 0xc9, 0x81, + 0x84, 0x5a, 0x2e, 0x2d, 0x8d, 0xf3, 0x69, 0x6f, 0xa4, 0x2e, 0x81, 0x33, 0x4d, 0xd8, 0x81, 0x8e, + 0x81, 0xb6, 0x1c, 0xa3, 0x8d, 0x49, 0x69, 0xa2, 0xa2, 0xac, 0x4c, 0xea, 0xd1, 0xc9, 0x98, 0xe1, + 0x3b, 0x40, 0x1b, 0xb4, 0x41, 0x9a, 0x7e, 0x1d, 0xcc, 0x42, 0x8b, 0xb4, 0x08, 0xee, 0x6e, 0x77, + 0xa0, 0x65, 0x23, 0xe1, 0x82, 0x49, 0x3d, 0x36, 0x5b, 0xfd, 0x16, 0x4c, 0x7b, 0x52, 0x1e, 0xe1, + 0xcc, 0x68, 0xb9, 0x05, 0x8a, 0x7d, 0x4c, 0x91, 0x77, 0x52, 0x8b, 0x89, 0xb1, 0xbe, 0x67, 0x39, + 0x66, 0x07, 0x31, 0x41, 0x3a, 0x07, 0xc7, 0x18, 0xbf, 0x07, 0x2e, 0x84, 0x74, 0x8d, 0x4c, 0xd5, + 0xe6, 0x57, 0x97, 0x6d, 0xff, 0x84, 0x40, 0xc7, 0xdd, 0x47, 0xe4, 0x04, 0x27, 0xa6, 0x81, 0x49, + 0x82, 0x0c, 0x64, 0xf5, 0x11, 0xf1, 0xa2, 0x5b, 0x8e, 0x63, 0x6c, 0xc5, 0x25, 0x0b, 0xab, 0x93, + 0x21, 0xfe, 0x93, 0xc2, 0x6f, 0x19, 0x5b, 0xdb, 0xc1, 0x4e, 0xf6, 0x2d, 0x4b, 0x23, 0xf2, 0x0e, + 0x98, 0x80, 0x36, 0xee, 0x79, 0x91, 0x93, 0x23, 0xf6, 0x3d, 0x78, 0xe2, 0x35, 0x0c, 0x98, 0x48, + 0x8e, 0x3f, 0x2a, 0xe0, 0xbc, 0xb7, 0xb2, 0x45, 0xe8, 0x13, 0x4c, 0x0e, 0xb6, 0x5a, 0xad, 0x13, + 0xf0, 0x9c, 0x03, 0xe3, 0x96, 0x0d, 0x4d, 0xe4, 0x05, 0xb8, 0x18, 0x30, 0x39, 0xfb, 0xbd, 0x4e, + 0x67, 0x8b, 0x50, 0x1e, 0xe0, 0x93, 0xba, 0x3f, 0x8c, 0xd1, 0xbb, 0x02, 0xe6, 0x07, 0x48, 0x84, + 0x5e, 0x8a, 0x0b, 0xc1, 0xa2, 0xe5, 0xd2, 0xed, 0x36, 0x74, 0xcc, 0x93, 0xf8, 0x32, 0xb8, 0x56, + 0x85, 0xf0, 0xb5, 0x8a, 0x71, 0xf9, 0x1f, 0xb8, 0x92, 0xa0, 0x4e, 0xb2, 0x79, 0x57, 0xbc, 0x09, + 0xb8, 0xe7, 0x18, 0x56, 0x47, 0x47, 0xa6, 0xe5, 0xd2, 0xac, 0x08, 0x8b, 0x09, 0x5f, 0x10, 0xb7, + 0x31, 0xba, 0x5b, 0xca, 0xbe, 0x0f, 0xe6, 0x82, 0xd5, 0x1d, 0x44, 0x46, 0x95, 0x5e, 0x06, 0x0b, + 0x49, 0xfb, 0xa5, 0xfc, 0x57, 0x0a, 0x98, 0xdd, 0x75, 0xcd, 0x5d, 0x96, 0xe9, 0x74, 0xd4, 0xc5, + 0x84, 0x66, 0xbf, 0xfb, 0x3c, 0x25, 0x4a, 0x37, 0xfa, 0x43, 0xb5, 0x0a, 0x66, 0xba, 0x1d, 0x78, + 0x88, 0x5a, 0xcc, 0x49, 0xee, 0x56, 0xa9, 0x50, 0x29, 0xac, 0x14, 0xf5, 0xc8, 0x5c, 0x0c, 0xd3, + 0x28, 0x15, 0x07, 0x30, 0x0d, 0xf5, 0x0e, 0x38, 0x8d, 0x7b, 0xd4, 0xc0, 0x36, 0xe2, 0xef, 0xdc, + 0xec, 0xe6, 0x42, 0xe2, 0x73, 0xf1, 0x40, 0x60, 0x74, 0x1f, 0x1c, 0x33, 0xba, 0x04, 0x2e, 0x45, + 0x6d, 0x92, 0xe6, 0xea, 0x22, 0xc5, 0x08, 0x77, 0x0c, 0xcd, 0x73, 0x29, 0x51, 0x13, 0xd3, 0xa6, + 0x89, 0x3c, 0x12, 0x96, 0x29, 0xf5, 0x7d, 0xcd, 0x9f, 0x82, 0x10, 0x13, 0x44, 0xb6, 0xba, 0x5d, + 0x6c, 0x65, 0xe6, 0x0c, 0xfe, 0xd2, 0x08, 0xb0, 0x97, 0x5f, 0xe5, 0x38, 0xa6, 0xfa, 0x2a, 0x58, + 0x4c, 0x11, 0x2f, 0x19, 0x3c, 0x57, 0xc0, 0xcc, 0xae, 0x6b, 0xee, 0x21, 0x3a, 0xd4, 0x5c, 0x15, + 0x14, 0x1d, 0x68, 0x23, 0x4f, 0x27, 0xff, 0x4e, 0xbb, 0x20, 0x6a, 0x05, 0x4c, 0xbb, 0x14, 0x93, + 0xc3, 0xcf, 0x88, 0xc5, 0x68, 0x8a, 0x5c, 0x15, 0x9e, 0x62, 0xc7, 0xcd, 0x52, 0x1a, 0xb1, 0x9a, + 0x3d, 0x8a, 0x89, 0x5b, 0x1a, 0xaf, 0x14, 0x56, 0xa6, 0xf4, 0xc8, 0x5c, 0xcc, 0x9a, 0x4b, 0x3c, + 0xd6, 0x25, 0x53, 0x69, 0x02, 0xe2, 0x6f, 0x26, 0x9b, 0x67, 0x37, 0x30, 0xf3, 0x2d, 0x9a, 0x03, + 0xe3, 0x2e, 0xa2, 0xf2, 0xc0, 0xc4, 0x20, 0x74, 0x8e, 0x85, 0x8c, 0x73, 0x14, 0x0f, 0x62, 0xa0, + 0x46, 0xea, 0x6f, 0xf3, 0xa0, 0xf1, 0x16, 0x74, 0x64, 0xe3, 0x3e, 0xfa, 0x8f, 0x28, 0x88, 0x50, + 0x8a, 0x68, 0x0a, 0xb1, 0xf0, 0xbd, 0x13, 0x78, 0xf0, 0x24, 0xce, 0x50, 0x41, 0xb1, 0xe7, 0xca, + 0x1c, 0xc6, 0xbf, 0x13, 0xdf, 0x8c, 0x01, 0x4d, 0x92, 0xc9, 0x01, 0x0f, 0xea, 0xe8, 0xfa, 0x09, + 0xdd, 0x32, 0x9c, 0x8c, 0x08, 0xf1, 0x24, 0x65, 0x92, 0xcf, 0x47, 0xfc, 0x09, 0xdb, 0x43, 0xf4, + 0x7d, 0xcb, 0x81, 0x1d, 0xeb, 0xd9, 0xc8, 0x34, 0x12, 0x9f, 0x8f, 0x90, 0x3c, 0xa9, 0x69, 0xdf, + 0x8f, 0x84, 0x5c, 0x89, 0x31, 0xd9, 0xe4, 0xc4, 0xb4, 0x98, 0x16, 0x07, 0x09, 0xb9, 0xaf, 0xe5, + 0x5b, 0xbb, 0xc7, 0x2e, 0xdb, 0x09, 0x19, 0xf0, 0x8b, 0xea, 0x17, 0xe9, 0x7c, 0x90, 0xe6, 0x03, + 0x5f, 0x8b, 0xd4, 0xff, 0x31, 0xaf, 0x0e, 0x1a, 0x18, 0xb3, 0x3c, 0xf2, 0x10, 0x1a, 0x07, 0xd9, + 0x65, 0x7a, 0x1e, 0x87, 0x6f, 0xf3, 0x5c, 0x1f, 0x15, 0x39, 0x72, 0x91, 0xf7, 0x8b, 0x28, 0xcd, + 0xf7, 0x50, 0xa7, 0xf3, 0x60, 0x7f, 0x3f, 0x47, 0x17, 0x93, 0x56, 0x13, 0xbc, 0x0d, 0xc6, 0xbb, + 0xc4, 0x32, 0x50, 0xde, 0xf2, 0x4a, 0xa0, 0x13, 0xb3, 0x7a, 0x8c, 0x8c, 0xf4, 0xe1, 0x97, 0xbc, + 0x20, 0x95, 0xab, 0xd9, 0x1e, 0x64, 0x4f, 0xad, 0x8f, 0x94, 0x64, 0xc3, 0x53, 0x89, 0xe5, 0x67, + 0x58, 0xb8, 0xd4, 0xfb, 0x4d, 0xd4, 0x45, 0x43, 0x2f, 0xed, 0xa8, 0xaa, 0x63, 0x56, 0x47, 0xef, + 0xe9, 0xe6, 0x6f, 0x17, 0x41, 0x61, 0xd7, 0x35, 0xd5, 0x26, 0x98, 0x89, 0xb4, 0xd1, 0x4b, 0x89, + 0x39, 0x3e, 0xd6, 0xa7, 0x6a, 0x6b, 0x79, 0x50, 0x32, 0x6a, 0xbe, 0x02, 0x20, 0xd4, 0xca, 0x56, + 0x53, 0xf7, 0x4a, 0x8c, 0xb6, 0x3a, 0x1c, 0x23, 0xa5, 0x23, 0x70, 0x26, 0xda, 0xa6, 0x2e, 0xa7, + 0x6d, 0x8e, 0xc0, 0xb4, 0xf5, 0x5c, 0x30, 0xa9, 0xe6, 0x00, 0x9c, 0x8d, 0x77, 0x9a, 0x37, 0x32, + 0x25, 0x04, 0x40, 0xad, 0x9e, 0x13, 0x28, 0x95, 0x3d, 0x02, 0x93, 0xb2, 0x99, 0xab, 0x64, 0x6d, + 0x66, 0x08, 0x6d, 0x65, 0x18, 0x42, 0xca, 0x6d, 0x82, 0x99, 0x48, 0xe7, 0xb5, 0x94, 0xb5, 0xd3, + 0x47, 0xa5, 0x9f, 0x76, 0x52, 0x5b, 0xc5, 0x4e, 0x3b, 0xd4, 0x52, 0x55, 0xb3, 0xf6, 0x0a, 0x4c, + 0xfa, 0x69, 0x0f, 0x36, 0x44, 0x6a, 0x1b, 0xcc, 0xc6, 0x9a, 0xa1, 0xeb, 0x59, 0xbb, 0x03, 0x9c, + 0x56, 0xcb, 0x87, 0x93, 0x9a, 0x1c, 0x70, 0x6e, 0xa0, 0xa9, 0x59, 0x19, 0x22, 0x43, 0x22, 0xb5, + 0xb7, 0xf2, 0x22, 0x23, 0x01, 0x16, 0x6b, 0x5b, 0xd2, 0x03, 0x2c, 0x0a, 0xcc, 0x08, 0xb0, 0xe4, + 0x56, 0x46, 0xfd, 0x0e, 0x9c, 0x1f, 0xec, 0x63, 0x6e, 0x0e, 0x91, 0x12, 0x40, 0xb5, 0x8d, 0xdc, + 0x50, 0xa9, 0xf2, 0x31, 0x98, 0x0e, 0x77, 0x36, 0xd7, 0xd2, 0x24, 0x84, 0x40, 0xda, 0xff, 0x73, + 0x80, 0x22, 0x0f, 0x41, 0xa4, 0x99, 0x58, 0x1e, 0x42, 0xd2, 0x7b, 0x6c, 0xd6, 0x73, 0xc1, 0xa4, + 0x9a, 0x67, 0x60, 0x2e, 0xb1, 0x87, 0x58, 0xcb, 0xc1, 0x55, 0xa2, 0xb5, 0xdb, 0xa3, 0xa0, 0xa5, + 0xee, 0xcf, 0xc1, 0x54, 0xd0, 0x3c, 0x5c, 0x4d, 0x13, 0x21, 0x21, 0xda, 0xcd, 0xa1, 0x90, 0xf0, + 0xb5, 0x0d, 0x55, 0xf5, 0xd5, 0xac, 0x8d, 0x02, 0x93, 0x7e, 0x6d, 0x07, 0xcb, 0x76, 0x76, 0x36, + 0xd1, 0x9a, 0x7d, 0x79, 0xc8, 0x66, 0x01, 0x4b, 0x3f, 0x9b, 0xc4, 0xba, 0x9c, 0x85, 0xf5, 0x60, + 0x51, 0x9e, 0xe9, 0x84, 0x08, 0x34, 0x3d, 0xac, 0x53, 0x0b, 0x70, 0x16, 0x0e, 0x89, 0xd5, 0xf7, + 0x5a, 0x3e, 0x51, 0x9e, 0x9d, 0xb7, 0x47, 0x41, 0x87, 0xaf, 0x54, 0xb8, 0xd2, 0xbe, 0x96, 0x21, + 0xc4, 0x07, 0xa5, 0x5f, 0xa9, 0x84, 0x1a, 0xdb, 0x3b, 0xb6, 0xd0, 0x63, 0x9b, 0x75, 0x6c, 0xa1, + 0xb7, 0x76, 0x3d, 0x17, 0x2c, 0x66, 0x87, 0xac, 0xa1, 0xb3, 0xec, 0xf0, 0x41, 0x99, 0x76, 0xc4, + 0xeb, 0x64, 0x96, 0x35, 0x62, 0x45, 0x72, 0x6a, 0xd6, 0x88, 0xe2, 0xd2, 0xb3, 0x46, 0x4a, 0x85, + 0x7c, 0x00, 0xce, 0xc6, 0xab, 0xde, 0x1b, 0xe9, 0x4c, 0x23, 0xc0, 0xf4, 0x57, 0x3c, 0xa5, 0x74, + 0x65, 0xe9, 0x3c, 0x52, 0xb7, 0x2e, 0x0d, 0x15, 0xc0, 0x4c, 0x5a, 0xcb, 0x83, 0x4a, 0x34, 0xc8, + 0x0b, 0xed, 0xe1, 0x06, 0x79, 0x51, 0x5d, 0xcf, 0x09, 0xf4, 0x95, 0x69, 0xe3, 0xdf, 0x1f, 0x1f, + 0xad, 0x2a, 0x0d, 0xfd, 0xc5, 0xeb, 0xb2, 0xf2, 0xf2, 0x75, 0x59, 0xf9, 0xe7, 0x75, 0x59, 0xf9, + 0xf5, 0x4d, 0x79, 0xec, 0xe5, 0x9b, 0xf2, 0xd8, 0x5f, 0x6f, 0xca, 0x63, 0x5f, 0xdc, 0x35, 0x2d, + 0xda, 0xee, 0x35, 0x6b, 0x06, 0xb6, 0xeb, 0x3b, 0xc8, 0x40, 0x0e, 0x25, 0xb0, 0xc3, 0x1e, 0x82, + 0x0f, 0xa0, 0x8d, 0xea, 0xc9, 0xbf, 0xbb, 0xd0, 0xc3, 0x2e, 0x72, 0x9b, 0x13, 0xfc, 0xa7, 0xa3, + 0x5b, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x34, 0xf5, 0x60, 0x44, 0x51, 0x1b, 0x00, 0x00, } -func (m *MsgCouncilDeregisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +// 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 { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) + CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) + CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) + CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) + CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) + CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) + CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) + CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) + CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) + MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) + CouncilCreate(ctx context.Context, in *MsgCouncilCreate, opts ...grpc.CallOption) (*MsgCouncilCreateResponse, error) + MatchReporterAppoint(ctx context.Context, in *MsgMatchReporterAppoint, opts ...grpc.CallOption) (*MsgMatchReporterAppointResponse, error) + SetCreate(ctx context.Context, in *MsgSetCreate, opts ...grpc.CallOption) (*MsgSetCreateResponse, error) + SetCardAdd(ctx context.Context, in *MsgSetCardAdd, opts ...grpc.CallOption) (*MsgSetCardAddResponse, error) + SetCardRemove(ctx context.Context, in *MsgSetCardRemove, opts ...grpc.CallOption) (*MsgSetCardRemoveResponse, error) + SetContributorAdd(ctx context.Context, in *MsgSetContributorAdd, opts ...grpc.CallOption) (*MsgSetContributorAddResponse, error) + SetContributorRemove(ctx context.Context, in *MsgSetContributorRemove, opts ...grpc.CallOption) (*MsgSetContributorRemoveResponse, error) + SetFinalize(ctx context.Context, in *MsgSetFinalize, opts ...grpc.CallOption) (*MsgSetFinalizeResponse, error) + SetArtworkAdd(ctx context.Context, in *MsgSetArtworkAdd, opts ...grpc.CallOption) (*MsgSetArtworkAddResponse, error) + SetStoryAdd(ctx context.Context, in *MsgSetStoryAdd, opts ...grpc.CallOption) (*MsgSetStoryAddResponse, error) + BoosterPackBuy(ctx context.Context, in *MsgBoosterPackBuy, opts ...grpc.CallOption) (*MsgBoosterPackBuyResponse, error) + SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) + SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) + SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) } -func (m *MsgMatchReport) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +type msgClient struct { + cc grpc1.ClientConn +} + +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} +} + +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateParams", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil + return out, nil } -func (m *MsgMatchReport) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (c *msgClient) UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) { + out := new(MsgUserCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UserCreate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (m *MsgMatchReport) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Outcome != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) - i-- - dAtA[i] = 0x28 - } - if len(m.PlayedCardsB) > 0 { - dAtA6 := make([]byte, len(m.PlayedCardsB)*10) - var j5 int - for _, num := range m.PlayedCardsB { - for num >= 1<<7 { - dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j5++ - } - dAtA6[j5] = uint8(num) - j5++ - } - i -= j5 - copy(dAtA[i:], dAtA6[:j5]) - i = encodeVarintTx(dAtA, i, uint64(j5)) - i-- - dAtA[i] = 0x22 - } - if len(m.PlayedCardsA) > 0 { - dAtA8 := make([]byte, len(m.PlayedCardsA)*10) - var j7 int - for _, num := range m.PlayedCardsA { - for num >= 1<<7 { - dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j7++ - } - dAtA8[j7] = uint8(num) - j7++ - } - i -= j7 - copy(dAtA[i:], dAtA8[:j7]) - i = encodeVarintTx(dAtA, i, uint64(j7)) - i-- - dAtA[i] = 0x1a - } - if m.MatchId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) - 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 +func (c *msgClient) CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) { + out := new(MsgCardSchemeBuyResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSchemeBuy", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *MsgMatchReportResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *msgClient) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) { + out := new(MsgCardSaveContentResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSaveContent", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil + return out, nil } -func (m *MsgMatchReportResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) { + out := new(MsgCardVoteResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardVote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (m *MsgMatchReportResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func (c *msgClient) CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) { + out := new(MsgCardTransferResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardTransfer", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ +func (c *msgClient) CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) { + out := new(MsgCardDonateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardDonate", in, out, opts...) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return out, nil } -func (m *MsgUpdateParams) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + +func (c *msgClient) CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) { + out := new(MsgCardArtworkAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtworkAdd", in, out, opts...) + if err != nil { + return nil, err } - l = m.Params.Size() - n += 1 + l + sovTx(uint64(l)) - return n + return out, nil } -func (m *MsgUpdateParamsResponse) Size() (n int) { - if m == nil { - return 0 +func (c *msgClient) CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) { + out := new(MsgCardArtistChangeResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtistChange", in, out, opts...) + if err != nil { + return nil, err } - var l int - _ = l - return n + return out, nil } -func (m *MsgUserCreate) 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.NewUser) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Alias) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (c *msgClient) CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) { + out := new(MsgCouncilRegisterResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilRegister", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgUserCreateResponse) Size() (n int) { - if m == nil { - return 0 +func (c *msgClient) CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) { + out := new(MsgCouncilDeregisterResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilDeregister", in, out, opts...) + if err != nil { + return nil, err } - var l int - _ = l - return n + return out, nil } -func (m *MsgCardSchemeBuy) 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)) +func (c *msgClient) MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) { + out := new(MsgMatchReportResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchReport", in, out, opts...) + if err != nil { + return nil, err } - l = m.Bid.Size() - n += 1 + l + sovTx(uint64(l)) - return n + return out, nil } -func (m *MsgCardSchemeBuyResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) +func (c *msgClient) CouncilCreate(ctx context.Context, in *MsgCouncilCreate, opts ...grpc.CallOption) (*MsgCouncilCreateResponse, error) { + out := new(MsgCouncilCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilCreate", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgCardSaveContent) 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.Content) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Notes) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.BalanceAnchor { - n += 2 +func (c *msgClient) MatchReporterAppoint(ctx context.Context, in *MsgMatchReporterAppoint, opts ...grpc.CallOption) (*MsgMatchReporterAppointResponse, error) { + out := new(MsgMatchReporterAppointResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchReporterAppoint", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgCardSaveContentResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AirdropClaimed { - n += 2 +func (c *msgClient) SetCreate(ctx context.Context, in *MsgSetCreate, opts ...grpc.CallOption) (*MsgSetCreateResponse, error) { + out := new(MsgSetCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCreate", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgCardVote) 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.Vote != nil { - l = m.Vote.Size() - n += 1 + l + sovTx(uint64(l)) +func (c *msgClient) SetCardAdd(ctx context.Context, in *MsgSetCardAdd, opts ...grpc.CallOption) (*MsgSetCardAddResponse, error) { + out := new(MsgSetCardAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCardAdd", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgCardVoteResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AirdropClaimed { - n += 2 +func (c *msgClient) SetCardRemove(ctx context.Context, in *MsgSetCardRemove, opts ...grpc.CallOption) (*MsgSetCardRemoveResponse, error) { + out := new(MsgSetCardRemoveResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCardRemove", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgCardTransfer) 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.Receiver) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (c *msgClient) SetContributorAdd(ctx context.Context, in *MsgSetContributorAdd, opts ...grpc.CallOption) (*MsgSetContributorAddResponse, error) { + out := new(MsgSetContributorAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetContributorAdd", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgCardTransferResponse) Size() (n int) { - if m == nil { - return 0 +func (c *msgClient) SetContributorRemove(ctx context.Context, in *MsgSetContributorRemove, opts ...grpc.CallOption) (*MsgSetContributorRemoveResponse, error) { + out := new(MsgSetContributorRemoveResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetContributorRemove", in, out, opts...) + if err != nil { + return nil, err } - var l int - _ = l - return n + return out, nil } -func (m *MsgCardDonate) 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)) +func (c *msgClient) SetFinalize(ctx context.Context, in *MsgSetFinalize, opts ...grpc.CallOption) (*MsgSetFinalizeResponse, error) { + out := new(MsgSetFinalizeResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetFinalize", in, out, opts...) + if err != nil { + return nil, err } - l = m.Amount.Size() - n += 1 + l + sovTx(uint64(l)) - return n + return out, nil } -func (m *MsgCardDonateResponse) Size() (n int) { - if m == nil { - return 0 +func (c *msgClient) SetArtworkAdd(ctx context.Context, in *MsgSetArtworkAdd, opts ...grpc.CallOption) (*MsgSetArtworkAddResponse, error) { + out := new(MsgSetArtworkAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetArtworkAdd", in, out, opts...) + if err != nil { + return nil, err } - var l int - _ = l - return n + return out, nil } -func (m *MsgCardArtworkAdd) 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.Image) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.FullArt { - n += 2 +func (c *msgClient) SetStoryAdd(ctx context.Context, in *MsgSetStoryAdd, opts ...grpc.CallOption) (*MsgSetStoryAddResponse, error) { + out := new(MsgSetStoryAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetStoryAdd", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgCardArtworkAddResponse) Size() (n int) { - if m == nil { - return 0 +func (c *msgClient) BoosterPackBuy(ctx context.Context, in *MsgBoosterPackBuy, opts ...grpc.CallOption) (*MsgBoosterPackBuyResponse, error) { + out := new(MsgBoosterPackBuyResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BoosterPackBuy", in, out, opts...) + if err != nil { + return nil, err } - var l int - _ = l - return n + return out, nil } -func (m *MsgCardArtistChange) 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.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (c *msgClient) SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) { + out := new(MsgSellOfferCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferCreate", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgCardArtistChangeResponse) Size() (n int) { - if m == nil { - return 0 +func (c *msgClient) SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) { + out := new(MsgSellOfferBuyResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferBuy", in, out, opts...) + if err != nil { + return nil, err } - var l int - _ = l - return n + return out, nil } -func (m *MsgCouncilRegister) 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)) +func (c *msgClient) SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) { + out := new(MsgSellOfferRemoveResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferRemove", in, out, opts...) + if err != nil { + return nil, err } - return n + return out, nil } -func (m *MsgCouncilRegisterResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +// MsgServer is the server API for Msg service. +type MsgServer interface { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) + CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) + CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) + CardTransfer(context.Context, *MsgCardTransfer) (*MsgCardTransferResponse, error) + CardDonate(context.Context, *MsgCardDonate) (*MsgCardDonateResponse, error) + CardArtworkAdd(context.Context, *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) + CardArtistChange(context.Context, *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) + CouncilRegister(context.Context, *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) + CouncilDeregister(context.Context, *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) + MatchReport(context.Context, *MsgMatchReport) (*MsgMatchReportResponse, error) + CouncilCreate(context.Context, *MsgCouncilCreate) (*MsgCouncilCreateResponse, error) + MatchReporterAppoint(context.Context, *MsgMatchReporterAppoint) (*MsgMatchReporterAppointResponse, error) + SetCreate(context.Context, *MsgSetCreate) (*MsgSetCreateResponse, error) + SetCardAdd(context.Context, *MsgSetCardAdd) (*MsgSetCardAddResponse, error) + SetCardRemove(context.Context, *MsgSetCardRemove) (*MsgSetCardRemoveResponse, error) + SetContributorAdd(context.Context, *MsgSetContributorAdd) (*MsgSetContributorAddResponse, error) + SetContributorRemove(context.Context, *MsgSetContributorRemove) (*MsgSetContributorRemoveResponse, error) + SetFinalize(context.Context, *MsgSetFinalize) (*MsgSetFinalizeResponse, error) + SetArtworkAdd(context.Context, *MsgSetArtworkAdd) (*MsgSetArtworkAddResponse, error) + SetStoryAdd(context.Context, *MsgSetStoryAdd) (*MsgSetStoryAddResponse, error) + BoosterPackBuy(context.Context, *MsgBoosterPackBuy) (*MsgBoosterPackBuyResponse, error) + SellOfferCreate(context.Context, *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) + SellOfferBuy(context.Context, *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) + SellOfferRemove(context.Context, *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) } -func (m *MsgCouncilDeregister) Size() (n int) { - if m == nil { - return 0 +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { +} + +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} +func (*UnimplementedMsgServer) UserCreate(ctx context.Context, req *MsgUserCreate) (*MsgUserCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserCreate not implemented") +} +func (*UnimplementedMsgServer) CardSchemeBuy(ctx context.Context, req *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSchemeBuy not implemented") +} +func (*UnimplementedMsgServer) CardSaveContent(ctx context.Context, req *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSaveContent not implemented") +} +func (*UnimplementedMsgServer) CardVote(ctx context.Context, req *MsgCardVote) (*MsgCardVoteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") +} +func (*UnimplementedMsgServer) CardTransfer(ctx context.Context, req *MsgCardTransfer) (*MsgCardTransferResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardTransfer not implemented") +} +func (*UnimplementedMsgServer) CardDonate(ctx context.Context, req *MsgCardDonate) (*MsgCardDonateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardDonate not implemented") +} +func (*UnimplementedMsgServer) CardArtworkAdd(ctx context.Context, req *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardArtworkAdd not implemented") +} +func (*UnimplementedMsgServer) CardArtistChange(ctx context.Context, req *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardArtistChange not implemented") +} +func (*UnimplementedMsgServer) CouncilRegister(ctx context.Context, req *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilRegister not implemented") +} +func (*UnimplementedMsgServer) CouncilDeregister(ctx context.Context, req *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilDeregister not implemented") +} +func (*UnimplementedMsgServer) MatchReport(ctx context.Context, req *MsgMatchReport) (*MsgMatchReportResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchReport not implemented") +} +func (*UnimplementedMsgServer) CouncilCreate(ctx context.Context, req *MsgCouncilCreate) (*MsgCouncilCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilCreate not implemented") +} +func (*UnimplementedMsgServer) MatchReporterAppoint(ctx context.Context, req *MsgMatchReporterAppoint) (*MsgMatchReporterAppointResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchReporterAppoint not implemented") +} +func (*UnimplementedMsgServer) SetCreate(ctx context.Context, req *MsgSetCreate) (*MsgSetCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetCreate not implemented") +} +func (*UnimplementedMsgServer) SetCardAdd(ctx context.Context, req *MsgSetCardAdd) (*MsgSetCardAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetCardAdd not implemented") +} +func (*UnimplementedMsgServer) SetCardRemove(ctx context.Context, req *MsgSetCardRemove) (*MsgSetCardRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetCardRemove not implemented") +} +func (*UnimplementedMsgServer) SetContributorAdd(ctx context.Context, req *MsgSetContributorAdd) (*MsgSetContributorAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetContributorAdd not implemented") +} +func (*UnimplementedMsgServer) SetContributorRemove(ctx context.Context, req *MsgSetContributorRemove) (*MsgSetContributorRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetContributorRemove not implemented") +} +func (*UnimplementedMsgServer) SetFinalize(ctx context.Context, req *MsgSetFinalize) (*MsgSetFinalizeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetFinalize not implemented") +} +func (*UnimplementedMsgServer) SetArtworkAdd(ctx context.Context, req *MsgSetArtworkAdd) (*MsgSetArtworkAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetArtworkAdd not implemented") +} +func (*UnimplementedMsgServer) SetStoryAdd(ctx context.Context, req *MsgSetStoryAdd) (*MsgSetStoryAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetStoryAdd not implemented") +} +func (*UnimplementedMsgServer) BoosterPackBuy(ctx context.Context, req *MsgBoosterPackBuy) (*MsgBoosterPackBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BoosterPackBuy not implemented") +} +func (*UnimplementedMsgServer) SellOfferCreate(ctx context.Context, req *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOfferCreate not implemented") +} +func (*UnimplementedMsgServer) SellOfferBuy(ctx context.Context, req *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOfferBuy not implemented") +} +func (*UnimplementedMsgServer) SellOfferRemove(ctx context.Context, req *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOfferRemove not implemented") +} + +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) +} + +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err } - var l int - _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) } - return n + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilDeregisterResponse) Size() (n int) { - if m == nil { - return 0 +func _Msg_UserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUserCreate) + if err := dec(in); err != nil { + return nil, err } - var l int - _ = l - return n + if interceptor == nil { + return srv.(MsgServer).UserCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/UserCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UserCreate(ctx, req.(*MsgUserCreate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMatchReport) Size() (n int) { - if m == nil { - return 0 +func _Msg_CardSchemeBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSchemeBuy) + if err := dec(in); err != nil { + return nil, err } - var l int - _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if interceptor == nil { + return srv.(MsgServer).CardSchemeBuy(ctx, in) } - if m.MatchId != 0 { - n += 1 + sovTx(uint64(m.MatchId)) + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardSchemeBuy", } - if len(m.PlayedCardsA) > 0 { - l = 0 - for _, e := range m.PlayedCardsA { - l += sovTx(uint64(e)) - } - n += 1 + sovTx(uint64(l)) + l + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSchemeBuy(ctx, req.(*MsgCardSchemeBuy)) } - if len(m.PlayedCardsB) > 0 { - l = 0 - for _, e := range m.PlayedCardsB { - l += sovTx(uint64(e)) - } - n += 1 + sovTx(uint64(l)) + l + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardSaveContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSaveContent) + if err := dec(in); err != nil { + return nil, err } - if m.Outcome != 0 { - n += 1 + sovTx(uint64(m.Outcome)) + if interceptor == nil { + return srv.(MsgServer).CardSaveContent(ctx, in) } - return n + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardSaveContent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSaveContent(ctx, req.(*MsgCardSaveContent)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMatchReportResponse) Size() (n int) { - if m == nil { - return 0 +func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardVote) + if err := dec(in); err != nil { + return nil, err } - var l int - _ = l - return n + if interceptor == nil { + return srv.(MsgServer).CardVote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardVote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardVote(ctx, req.(*MsgCardVote)) + } + return interceptor(ctx, in, info, handler) } -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 +func _Msg_CardTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardTransfer) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardTransfer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardTransfer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardTransfer(ctx, req.(*MsgCardTransfer)) + } + return interceptor(ctx, in, info, handler) } -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + +func _Msg_CardDonate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardDonate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardDonate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardDonate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardDonate(ctx, req.(*MsgCardDonate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { + +func _Msg_CardArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardArtworkAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardArtworkAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardArtworkAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardArtworkAdd(ctx, req.(*MsgCardArtworkAdd)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardArtistChange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardArtistChange) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardArtistChange(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardArtistChange", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardArtistChange(ctx, req.(*MsgCardArtistChange)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CouncilRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilRegister) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilRegister(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilRegister", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilRegister(ctx, req.(*MsgCouncilRegister)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CouncilDeregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilDeregister) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilDeregister(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilDeregister", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilDeregister(ctx, req.(*MsgCouncilDeregister)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_MatchReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchReport) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).MatchReport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/MatchReport", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchReport(ctx, req.(*MsgMatchReport)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CouncilCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilCreate(ctx, req.(*MsgCouncilCreate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_MatchReporterAppoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchReporterAppoint) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).MatchReporterAppoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/MatchReporterAppoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchReporterAppoint(ctx, req.(*MsgMatchReporterAppoint)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetCreate(ctx, req.(*MsgSetCreate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetCardAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetCardAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetCardAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetCardAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetCardAdd(ctx, req.(*MsgSetCardAdd)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetCardRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetCardRemove) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetCardRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetCardRemove", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetCardRemove(ctx, req.(*MsgSetCardRemove)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetContributorAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetContributorAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetContributorAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetContributorAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetContributorAdd(ctx, req.(*MsgSetContributorAdd)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetContributorRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetContributorRemove) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetContributorRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetContributorRemove", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetContributorRemove(ctx, req.(*MsgSetContributorRemove)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetFinalize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetFinalize) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetFinalize(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetFinalize", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetFinalize(ctx, req.(*MsgSetFinalize)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetArtworkAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetArtworkAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetArtworkAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetArtworkAdd(ctx, req.(*MsgSetArtworkAdd)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetStoryAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetStoryAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetStoryAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetStoryAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetStoryAdd(ctx, req.(*MsgSetStoryAdd)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_BoosterPackBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBoosterPackBuy) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).BoosterPackBuy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/BoosterPackBuy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BoosterPackBuy(ctx, req.(*MsgBoosterPackBuy)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SellOfferCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSellOfferCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SellOfferCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SellOfferCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SellOfferCreate(ctx, req.(*MsgSellOfferCreate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SellOfferBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSellOfferBuy) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SellOfferBuy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SellOfferBuy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SellOfferBuy(ctx, req.(*MsgSellOfferBuy)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SellOfferRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSellOfferRemove) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SellOfferRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SellOfferRemove", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SellOfferRemove(ctx, req.(*MsgSellOfferRemove)) + } + return interceptor(ctx, in, info, handler) +} + +var Msg_serviceDesc = _Msg_serviceDesc +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.cardchain.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, + { + MethodName: "UserCreate", + Handler: _Msg_UserCreate_Handler, + }, + { + MethodName: "CardSchemeBuy", + Handler: _Msg_CardSchemeBuy_Handler, + }, + { + MethodName: "CardSaveContent", + Handler: _Msg_CardSaveContent_Handler, + }, + { + MethodName: "CardVote", + Handler: _Msg_CardVote_Handler, + }, + { + MethodName: "CardTransfer", + Handler: _Msg_CardTransfer_Handler, + }, + { + MethodName: "CardDonate", + Handler: _Msg_CardDonate_Handler, + }, + { + MethodName: "CardArtworkAdd", + Handler: _Msg_CardArtworkAdd_Handler, + }, + { + MethodName: "CardArtistChange", + Handler: _Msg_CardArtistChange_Handler, + }, + { + MethodName: "CouncilRegister", + Handler: _Msg_CouncilRegister_Handler, + }, + { + MethodName: "CouncilDeregister", + Handler: _Msg_CouncilDeregister_Handler, + }, + { + MethodName: "MatchReport", + Handler: _Msg_MatchReport_Handler, + }, + { + MethodName: "CouncilCreate", + Handler: _Msg_CouncilCreate_Handler, + }, + { + MethodName: "MatchReporterAppoint", + Handler: _Msg_MatchReporterAppoint_Handler, + }, + { + MethodName: "SetCreate", + Handler: _Msg_SetCreate_Handler, + }, + { + MethodName: "SetCardAdd", + Handler: _Msg_SetCardAdd_Handler, + }, + { + MethodName: "SetCardRemove", + Handler: _Msg_SetCardRemove_Handler, + }, + { + MethodName: "SetContributorAdd", + Handler: _Msg_SetContributorAdd_Handler, + }, + { + MethodName: "SetContributorRemove", + Handler: _Msg_SetContributorRemove_Handler, + }, + { + MethodName: "SetFinalize", + Handler: _Msg_SetFinalize_Handler, + }, + { + MethodName: "SetArtworkAdd", + Handler: _Msg_SetArtworkAdd_Handler, + }, + { + MethodName: "SetStoryAdd", + Handler: _Msg_SetStoryAdd_Handler, + }, + { + MethodName: "BoosterPackBuy", + Handler: _Msg_BoosterPackBuy_Handler, + }, + { + MethodName: "SellOfferCreate", + Handler: _Msg_SellOfferCreate_Handler, + }, + { + MethodName: "SellOfferBuy", + Handler: _Msg_SellOfferBuy_Handler, + }, + { + MethodName: "SellOfferRemove", + Handler: _Msg_SellOfferRemove_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/cardchain/tx.proto", +} + +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgUserCreate) 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 *MsgUserCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Alias) > 0 { + i -= len(m.Alias) + copy(dAtA[i:], m.Alias) + i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) + i-- + dAtA[i] = 0x1a + } + if len(m.NewUser) > 0 { + i -= len(m.NewUser) + copy(dAtA[i:], m.NewUser) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewUser))) + 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 *MsgUserCreateResponse) 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 *MsgUserCreateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUserCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCardSchemeBuy) 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 *MsgCardSchemeBuy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSchemeBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + 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) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgCardSchemeBuyResponse) 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 *MsgCardSchemeBuyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSchemeBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = 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 +} + +func (m *MsgCardSaveContent) 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 *MsgCardSaveContent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSaveContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = 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) + i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x2a + } + if len(m.Notes) > 0 { + i -= len(m.Notes) + copy(dAtA[i:], m.Notes) + i = encodeVarintTx(dAtA, i, uint64(len(m.Notes))) + i-- + dAtA[i] = 0x22 + } + if len(m.Content) > 0 { + i -= len(m.Content) + copy(dAtA[i:], m.Content) + i = encodeVarintTx(dAtA, i, uint64(len(m.Content))) + 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 *MsgCardSaveContentResponse) 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 *MsgCardSaveContentResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardSaveContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgCardVote) 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 *MsgCardVote) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Vote != nil { + { + size, err := m.Vote.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 *MsgCardVoteResponse) 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 *MsgCardVoteResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardVoteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgCardTransfer) 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 *MsgCardTransfer) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardTransfer) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Receiver) > 0 { + i -= len(m.Receiver) + copy(dAtA[i:], m.Receiver) + i = encodeVarintTx(dAtA, i, uint64(len(m.Receiver))) + 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 *MsgCardTransferResponse) 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 *MsgCardTransferResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardTransferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCardDonate) 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 *MsgCardDonate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardDonate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + 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 *MsgCardDonateResponse) 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 *MsgCardDonateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardDonateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCardArtworkAdd) 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 *MsgCardArtworkAdd) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.FullArt { + i-- + if m.FullArt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) + 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 *MsgCardArtworkAddResponse) 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 *MsgCardArtworkAddResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCardArtistChange) 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 *MsgCardArtistChange) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardArtistChange) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Artist) > 0 { + i -= len(m.Artist) + copy(dAtA[i:], m.Artist) + i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + 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 *MsgCardArtistChangeResponse) 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 *MsgCardArtistChangeResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardArtistChangeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCouncilRegister) 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 *MsgCouncilRegister) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilRegister) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + 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 *MsgCouncilRegisterResponse) 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 *MsgCouncilRegisterResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilRegisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCouncilDeregister) 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 *MsgCouncilDeregister) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilDeregister) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + 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 *MsgCouncilDeregisterResponse) 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 *MsgCouncilDeregisterResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilDeregisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgMatchReport) 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 *MsgMatchReport) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgMatchReport) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Outcome != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) + i-- + dAtA[i] = 0x28 + } + if len(m.PlayedCardsB) > 0 { + dAtA6 := make([]byte, len(m.PlayedCardsB)*10) + var j5 int + for _, num := range m.PlayedCardsB { + for num >= 1<<7 { + dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j5++ + } + dAtA6[j5] = uint8(num) + j5++ + } + i -= j5 + copy(dAtA[i:], dAtA6[:j5]) + i = encodeVarintTx(dAtA, i, uint64(j5)) + i-- + dAtA[i] = 0x22 + } + if len(m.PlayedCardsA) > 0 { + dAtA8 := make([]byte, len(m.PlayedCardsA)*10) + var j7 int + for _, num := range m.PlayedCardsA { + for num >= 1<<7 { + dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j7++ + } + dAtA8[j7] = uint8(num) + j7++ + } + i -= j7 + copy(dAtA[i:], dAtA8[:j7]) + i = encodeVarintTx(dAtA, i, uint64(j7)) + i-- + dAtA[i] = 0x1a + } + if m.MatchId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) + 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 *MsgMatchReportResponse) 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 *MsgMatchReportResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgMatchReportResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCouncilCreate) 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 *MsgCouncilCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + 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 *MsgCouncilCreateResponse) 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 *MsgCouncilCreateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgMatchReporterAppoint) 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 *MsgMatchReporterAppoint) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgMatchReporterAppoint) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Reporter) > 0 { + i -= len(m.Reporter) + copy(dAtA[i:], m.Reporter) + i = encodeVarintTx(dAtA, i, uint64(len(m.Reporter))) + 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 *MsgMatchReporterAppointResponse) 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 *MsgMatchReporterAppointResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgMatchReporterAppointResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgSetCreate) 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 *MsgSetCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Contributors) > 0 { + for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Contributors[iNdEx]) + copy(dAtA[i:], m.Contributors[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.Contributors[iNdEx]))) + i-- + dAtA[i] = 0x2a + } + } + if len(m.StoryWriter) > 0 { + i -= len(m.StoryWriter) + copy(dAtA[i:], m.StoryWriter) + i = encodeVarintTx(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 = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x1a + } + 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 + } + 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 *MsgSetCreateResponse) 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 *MsgSetCreateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgSetCardAdd) 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 *MsgSetCardAdd) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetCardAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x18 + } + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + 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 *MsgSetCardAddResponse) 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 *MsgSetCardAddResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetCardAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgSetCardRemove) 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 *MsgSetCardRemove) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetCardRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x18 + } + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + 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 *MsgSetCardRemoveResponse) 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 *MsgSetCardRemoveResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetCardRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgSetContributorAdd) 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 *MsgSetContributorAdd) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetContributorAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintTx(dAtA, i, uint64(len(m.User))) + i-- + 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) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgSetContributorAddResponse) 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 *MsgSetContributorAddResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetContributorAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgSetContributorRemove) 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 *MsgSetContributorRemove) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetContributorRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintTx(dAtA, i, uint64(len(m.User))) + i-- + 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) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgSetContributorRemoveResponse) 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 *MsgSetContributorRemoveResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetContributorRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgSetFinalize) 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 *MsgSetFinalize) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetFinalize) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + 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 *MsgSetFinalizeResponse) 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 *MsgSetFinalizeResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetFinalizeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgSetArtworkAdd) 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 *MsgSetArtworkAdd) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) + i-- + 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) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgSetArtworkAddResponse) 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 *MsgSetArtworkAddResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgSetStoryAdd) 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 *MsgSetStoryAdd) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetStoryAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Story) > 0 { + i -= len(m.Story) + copy(dAtA[i:], m.Story) + i = encodeVarintTx(dAtA, i, uint64(len(m.Story))) + i-- + 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) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgSetStoryAddResponse) 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 *MsgSetStoryAddResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetStoryAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgBoosterPackBuy) 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 *MsgBoosterPackBuy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBoosterPackBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + 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 *MsgBoosterPackBuyResponse) 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 *MsgBoosterPackBuyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBoosterPackBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgSellOfferCreate) 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 *MsgSellOfferCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSellOfferCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Price.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + 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 *MsgSellOfferCreateResponse) 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 *MsgSellOfferCreateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSellOfferCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgSellOfferBuy) 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 *MsgSellOfferBuy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSellOfferBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.SellOfferId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SellOfferId)) + 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 *MsgSellOfferBuyResponse) 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 *MsgSellOfferBuyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSellOfferBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgSellOfferRemove) 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 *MsgSellOfferRemove) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSellOfferRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.SellOfferId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SellOfferId)) + 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 *MsgSellOfferRemoveResponse) 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 *MsgSellOfferRemoveResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSellOfferRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUserCreate) 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.NewUser) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Alias) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUserCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardSchemeBuy) 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 = m.Bid.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgCardSchemeBuyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgCardSaveContent) 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.Content) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Notes) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.BalanceAnchor { + n += 2 + } + return n +} + +func (m *MsgCardSaveContentResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgCardVote) 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.Vote != nil { + l = m.Vote.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardVoteResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgCardTransfer) 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.Receiver) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardTransferResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardDonate) 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 = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgCardDonateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardArtworkAdd) 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.Image) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.FullArt { + n += 2 + } + return n +} + +func (m *MsgCardArtworkAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardArtistChange) 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.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardArtistChangeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilRegister) 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)) + } + return n +} + +func (m *MsgCouncilRegisterResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilDeregister) 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)) + } + return n +} + +func (m *MsgCouncilDeregisterResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgMatchReport) 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.MatchId != 0 { + n += 1 + sovTx(uint64(m.MatchId)) + } + if len(m.PlayedCardsA) > 0 { + l = 0 + for _, e := range m.PlayedCardsA { + l += sovTx(uint64(e)) + } + n += 1 + sovTx(uint64(l)) + l + } + if len(m.PlayedCardsB) > 0 { + l = 0 + for _, e := range m.PlayedCardsB { + l += sovTx(uint64(e)) + } + n += 1 + sovTx(uint64(l)) + l + } + if m.Outcome != 0 { + n += 1 + sovTx(uint64(m.Outcome)) + } + return n +} + +func (m *MsgMatchReportResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilCreate) 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)) + } + return n +} + +func (m *MsgCouncilCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgMatchReporterAppoint) 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)) + } + return n +} + +func (m *MsgMatchReporterAppointResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetCreate) 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.Name) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.StoryWriter) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Contributors) > 0 { + for _, s := range m.Contributors { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgSetCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetCardAdd) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgSetCardAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetCardRemove) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgSetCardRemoveResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetContributorAdd) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.User) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetContributorAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetContributorRemove) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.User) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetContributorRemoveResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetFinalize) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + return n +} + +func (m *MsgSetFinalizeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetArtworkAdd) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.Image) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetArtworkAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetStoryAdd) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.Story) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetStoryAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgBoosterPackBuy) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + return n +} + +func (m *MsgBoosterPackBuyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgSellOfferCreate) 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 = m.Price.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgSellOfferCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSellOfferBuy) 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.SellOfferId != 0 { + n += 1 + sovTx(uint64(m.SellOfferId)) + } + return n +} + +func (m *MsgSellOfferBuyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSellOfferRemove) 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.SellOfferId != 0 { + n += 1 + sovTx(uint64(m.SellOfferId)) + } + return n +} + +func (m *MsgSellOfferRemoveResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUserCreate) 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: MsgUserCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewUser", 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.NewUser = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Alias", 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.Alias = 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 *MsgUserCreateResponse) 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: MsgUserCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUserCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardSchemeBuy) 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: MsgCardSchemeBuy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSchemeBuy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardSchemeBuyResponse) 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: MsgCardSchemeBuyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSchemeBuyResponse: 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:]) + 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 *MsgCardSaveContent) 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: MsgCardSaveContent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSaveContent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + 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 + 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:]) + 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 *MsgCardSaveContentResponse) 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: MsgCardSaveContentResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSaveContentResponse: 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 *MsgCardVote) 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: MsgCardVote: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardVote: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Vote == nil { + m.Vote = &SingleVote{} + } + if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardVoteResponse) 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: MsgCardVoteResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardVoteResponse: 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 *MsgCardTransfer) 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: MsgCardTransfer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Receiver", 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.Receiver = 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 *MsgCardTransferResponse) 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: MsgCardTransferResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardDonate) 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: MsgCardDonate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardDonate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + 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 *MsgCardDonateResponse) 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: MsgCardDonateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardDonateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardArtworkAdd) 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: MsgCardArtworkAdd: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Image", 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.Image = append(m.Image[:0], dAtA[iNdEx:postIndex]...) + if m.Image == nil { + m.Image = []byte{} + } + 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:]) + 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 *MsgCardArtworkAddResponse) 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: MsgCardArtworkAddResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardArtistChange) 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: MsgCardArtistChange: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardArtistChange: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + 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 *MsgCardArtistChangeResponse) 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: MsgCardArtistChangeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardArtistChangeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCouncilRegister) 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: MsgCouncilRegister: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilRegister: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = 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 *MsgCouncilRegisterResponse) 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: MsgCouncilRegisterResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilRegisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCouncilDeregister) 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: MsgCouncilDeregister: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilDeregister: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = 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 *MsgCouncilDeregisterResponse) 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: MsgCouncilDeregisterResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilDeregisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgMatchReport) 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: MsgMatchReport: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgMatchReport: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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 + } + } + case 3: + 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.PlayedCardsA = append(m.PlayedCardsA, 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.PlayedCardsA) == 0 { + m.PlayedCardsA = 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.PlayedCardsA = append(m.PlayedCardsA, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsA", wireType) + } + 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.PlayedCardsB = append(m.PlayedCardsB, 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.PlayedCardsB) == 0 { + m.PlayedCardsB = 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.PlayedCardsB = append(m.PlayedCardsB, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsB", wireType) + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + m.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Outcome |= Outcome(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 *MsgMatchReportResponse) 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: MsgMatchReportResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgMatchReportResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCouncilCreate) 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: MsgCouncilCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 + } + } + 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 *MsgCouncilCreateResponse) 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: MsgCouncilCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgMatchReporterAppoint) 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: MsgMatchReporterAppoint: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgMatchReporterAppoint: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reporter", 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.Reporter = 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 *MsgMatchReporterAppointResponse) 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: MsgMatchReporterAppointResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgMatchReporterAppointResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgSetCreate) 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 + 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: MsgSetCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = 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 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.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 } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if 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 Authority", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StoryWriter", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3072,13 +9023,13 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Authority = string(dAtA[iNdEx:postIndex]) + m.StoryWriter = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Contributors", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -3088,24 +9039,23 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Contributors = append(m.Contributors, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -3128,7 +9078,7 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetCreateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3151,10 +9101,10 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCreateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -3178,7 +9128,7 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3201,10 +9151,10 @@ func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUserCreate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -3240,10 +9190,10 @@ func (m *MsgUserCreate) 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 NewUser", 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 @@ -3253,29 +9203,16 @@ func (m *MsgUserCreate) 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.NewUser = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Alias", 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 @@ -3285,24 +9222,11 @@ func (m *MsgUserCreate) 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 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Alias = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -3324,7 +9248,7 @@ func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUserCreateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3347,10 +9271,10 @@ func (m *MsgUserCreateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUserCreateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUserCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -3374,7 +9298,7 @@ func (m *MsgUserCreateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3397,10 +9321,10 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSchemeBuy: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardRemove: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSchemeBuy: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardRemove: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -3436,10 +9360,10 @@ func (m *MsgCardSchemeBuy) 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 Bid", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - var msglen int + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -3449,25 +9373,30 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.SetId |= uint64(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 + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) } - if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + 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 + } } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -3489,7 +9418,7 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSchemeBuyResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardRemoveResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3512,31 +9441,12 @@ func (m *MsgCardSchemeBuyResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSchemeBuyResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardRemoveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSchemeBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardRemoveResponse: 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:]) @@ -3558,7 +9468,7 @@ func (m *MsgCardSchemeBuyResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { +func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3581,10 +9491,10 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSaveContent: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetContributorAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSaveContent: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetContributorAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -3621,9 +9531,9 @@ func (m *MsgCardSaveContent) 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 @@ -3633,80 +9543,14 @@ func (m *MsgCardSaveContent) 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 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) + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3731,31 +9575,11 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { if postIndex < 0 { return ErrInvalidLengthTx } - if postIndex > l { - return io.ErrUnexpectedEOF - } - 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 - } + if postIndex > l { + return io.ErrUnexpectedEOF } - m.BalanceAnchor = bool(v != 0) + m.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -3777,7 +9601,7 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSaveContentResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetContributorAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3800,32 +9624,12 @@ func (m *MsgCardSaveContentResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSaveContentResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetContributorAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSaveContentResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetContributorAddResponse: 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:]) @@ -3847,7 +9651,7 @@ func (m *MsgCardSaveContentResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardVote) Unmarshal(dAtA []byte) error { +func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3870,10 +9674,10 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardVote: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetContributorRemove: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardVote: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetContributorRemove: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -3909,10 +9713,29 @@ func (m *MsgCardVote) 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 Vote", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -3922,27 +9745,23 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Vote == nil { - m.Vote = &SingleVote{} - } - if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.User = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -3965,7 +9784,7 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetContributorRemoveResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3988,32 +9807,12 @@ func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardVoteResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetContributorRemoveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardVoteResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetContributorRemoveResponse: 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:]) @@ -4035,7 +9834,7 @@ func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardTransfer) Unmarshal(dAtA []byte) error { +func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4058,10 +9857,10 @@ func (m *MsgCardTransfer) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardTransfer: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetFinalize: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetFinalize: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4098,28 +9897,9 @@ func (m *MsgCardTransfer) Unmarshal(dAtA []byte) error { 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 - } + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Receiver", wireType) - } - var stringLen uint64 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -4129,24 +9909,11 @@ func (m *MsgCardTransfer) 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.Receiver = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -4168,7 +9935,7 @@ func (m *MsgCardTransfer) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardTransferResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetFinalizeResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4191,10 +9958,10 @@ func (m *MsgCardTransferResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardTransferResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetFinalizeResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetFinalizeResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -4218,7 +9985,7 @@ func (m *MsgCardTransferResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { +func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4241,10 +10008,10 @@ func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardDonate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetArtworkAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardDonate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4281,9 +10048,9 @@ func (m *MsgCardDonate) 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 @@ -4293,16 +10060,16 @@ func (m *MsgCardDonate) 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 Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -4312,23 +10079,24 @@ func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.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: @@ -4352,7 +10120,7 @@ func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardDonateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetArtworkAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4375,10 +10143,10 @@ func (m *MsgCardDonateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardDonateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetArtworkAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardDonateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -4402,7 +10170,7 @@ func (m *MsgCardDonateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { +func (m *MsgSetStoryAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4425,10 +10193,10 @@ func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardArtworkAdd: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetStoryAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetStoryAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4465,9 +10233,9 @@ func (m *MsgCardArtworkAdd) 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 @@ -4477,16 +10245,16 @@ func (m *MsgCardArtworkAdd) 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 Image", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Story", wireType) } - var byteLen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -4496,46 +10264,24 @@ func (m *MsgCardArtworkAdd) 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{} - } + m.Story = string(dAtA[iNdEx:postIndex]) 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:]) @@ -4557,7 +10303,7 @@ func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardArtworkAddResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetStoryAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4580,10 +10326,10 @@ func (m *MsgCardArtworkAddResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardArtworkAddResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetStoryAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetStoryAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -4607,7 +10353,7 @@ func (m *MsgCardArtworkAddResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { +func (m *MsgBoosterPackBuy) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4630,10 +10376,10 @@ func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardArtistChange: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBoosterPackBuy: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardArtistChange: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBoosterPackBuy: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4670,28 +10416,9 @@ func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { 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: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) + 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 @@ -4701,24 +10428,11 @@ func (m *MsgCardArtistChange) 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.Artist = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -4740,7 +10454,7 @@ func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardArtistChangeResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBoosterPackBuyResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4763,12 +10477,32 @@ func (m *MsgCardArtistChangeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardArtistChangeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBoosterPackBuyResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardArtistChangeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBoosterPackBuyResponse: 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:]) @@ -4790,7 +10524,7 @@ func (m *MsgCardArtistChangeResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4813,10 +10547,10 @@ func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilRegister: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilRegister: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4851,6 +10585,58 @@ func (m *MsgCouncilRegister) 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 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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -4872,7 +10658,7 @@ func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilRegisterResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferCreateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4895,10 +10681,10 @@ func (m *MsgCouncilRegisterResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilRegisterResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferCreateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilRegisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -4922,7 +10708,7 @@ func (m *MsgCouncilRegisterResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilDeregister) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferBuy) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4945,10 +10731,10 @@ func (m *MsgCouncilDeregister) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilDeregister: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferBuy: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilDeregister: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferBuy: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4983,6 +10769,25 @@ func (m *MsgCouncilDeregister) 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 SellOfferId", wireType) + } + m.SellOfferId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SellOfferId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -5004,7 +10809,7 @@ func (m *MsgCouncilDeregister) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilDeregisterResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferBuyResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5027,10 +10832,10 @@ func (m *MsgCouncilDeregisterResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilDeregisterResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferBuyResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilDeregisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -5054,7 +10859,7 @@ func (m *MsgCouncilDeregisterResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferRemove) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5077,10 +10882,10 @@ func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchReport: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferRemove: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchReport: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferRemove: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -5117,180 +10922,9 @@ func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: 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 - } - } - case 3: - 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.PlayedCardsA = append(m.PlayedCardsA, 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.PlayedCardsA) == 0 { - m.PlayedCardsA = 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.PlayedCardsA = append(m.PlayedCardsA, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsA", wireType) - } - 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.PlayedCardsB = append(m.PlayedCardsB, 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.PlayedCardsB) == 0 { - m.PlayedCardsB = 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.PlayedCardsB = append(m.PlayedCardsB, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsB", wireType) - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) } - m.Outcome = 0 + m.SellOfferId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -5300,7 +10934,7 @@ func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Outcome |= Outcome(b&0x7F) << shift + m.SellOfferId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -5326,7 +10960,7 @@ func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchReportResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferRemoveResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5349,10 +10983,10 @@ func (m *MsgMatchReportResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchReportResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferRemoveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchReportResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: From 7d1780efe8b8581645ccbc80370baa5e9bc037a4 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 00:33:04 +0100 Subject: [PATCH 14/99] feat(#242): Card proto --- api/cardchain/cardchain/card.pulsar.go | 3038 +++++++++++++++++++++++ gen.sh | 32 +- proto/cardchain/cardchain/card.proto | 70 + proto/cardchain/cardchain/council.proto | 43 + x/cardchain/types/card.pb.go | 1610 ++++++++++++ 5 files changed, 4779 insertions(+), 14 deletions(-) create mode 100644 api/cardchain/cardchain/card.pulsar.go create mode 100644 proto/cardchain/cardchain/card.proto create mode 100644 proto/cardchain/cardchain/council.proto create mode 100644 x/cardchain/types/card.pb.go diff --git a/api/cardchain/cardchain/card.pulsar.go b/api/cardchain/cardchain/card.pulsar.go new file mode 100644 index 00000000..193c865e --- /dev/null +++ b/api/cardchain/cardchain/card.pulsar.go @@ -0,0 +1,3038 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var _ protoreflect.List = (*_Card_14_list)(nil) + +type _Card_14_list struct { + list *[]string +} + +func (x *_Card_14_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Card_14_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_Card_14_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_Card_14_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_Card_14_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Card at list field Voters as it is not of Message kind")) +} + +func (x *_Card_14_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_Card_14_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Card_14_list) IsValid() bool { + return x.list != nil +} + +var ( + md_Card protoreflect.MessageDescriptor + fd_Card_owner protoreflect.FieldDescriptor + fd_Card_artist protoreflect.FieldDescriptor + fd_Card_content protoreflect.FieldDescriptor + fd_Card_image_id protoreflect.FieldDescriptor + fd_Card_fullArt protoreflect.FieldDescriptor + fd_Card_notes protoreflect.FieldDescriptor + fd_Card_status protoreflect.FieldDescriptor + fd_Card_votePool protoreflect.FieldDescriptor + fd_Card_voters protoreflect.FieldDescriptor + fd_Card_fairEnoughVotes protoreflect.FieldDescriptor + fd_Card_overpoweredVotes protoreflect.FieldDescriptor + fd_Card_underpoweredVotes protoreflect.FieldDescriptor + fd_Card_inappropriateVotes protoreflect.FieldDescriptor + fd_Card_nerflevel protoreflect.FieldDescriptor + fd_Card_balanceAnchor protoreflect.FieldDescriptor + fd_Card_starterCard protoreflect.FieldDescriptor + fd_Card_rarity protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_card_proto_init() + md_Card = File_cardchain_cardchain_card_proto.Messages().ByName("Card") + fd_Card_owner = md_Card.Fields().ByName("owner") + fd_Card_artist = md_Card.Fields().ByName("artist") + fd_Card_content = md_Card.Fields().ByName("content") + fd_Card_image_id = md_Card.Fields().ByName("image_id") + fd_Card_fullArt = md_Card.Fields().ByName("fullArt") + fd_Card_notes = md_Card.Fields().ByName("notes") + fd_Card_status = md_Card.Fields().ByName("status") + fd_Card_votePool = md_Card.Fields().ByName("votePool") + fd_Card_voters = md_Card.Fields().ByName("voters") + fd_Card_fairEnoughVotes = md_Card.Fields().ByName("fairEnoughVotes") + fd_Card_overpoweredVotes = md_Card.Fields().ByName("overpoweredVotes") + fd_Card_underpoweredVotes = md_Card.Fields().ByName("underpoweredVotes") + fd_Card_inappropriateVotes = md_Card.Fields().ByName("inappropriateVotes") + fd_Card_nerflevel = md_Card.Fields().ByName("nerflevel") + fd_Card_balanceAnchor = md_Card.Fields().ByName("balanceAnchor") + fd_Card_starterCard = md_Card.Fields().ByName("starterCard") + fd_Card_rarity = md_Card.Fields().ByName("rarity") +} + +var _ protoreflect.Message = (*fastReflection_Card)(nil) + +type fastReflection_Card Card + +func (x *Card) ProtoReflect() protoreflect.Message { + return (*fastReflection_Card)(x) +} + +func (x *Card) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_card_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Card_messageType fastReflection_Card_messageType +var _ protoreflect.MessageType = fastReflection_Card_messageType{} + +type fastReflection_Card_messageType struct{} + +func (x fastReflection_Card_messageType) Zero() protoreflect.Message { + return (*fastReflection_Card)(nil) +} +func (x fastReflection_Card_messageType) New() protoreflect.Message { + return new(fastReflection_Card) +} +func (x fastReflection_Card_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Card +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Card) Descriptor() protoreflect.MessageDescriptor { + return md_Card +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Card) Type() protoreflect.MessageType { + return _fastReflection_Card_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Card) New() protoreflect.Message { + return new(fastReflection_Card) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Card) Interface() protoreflect.ProtoMessage { + return (*Card)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Card) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Owner != "" { + value := protoreflect.ValueOfString(x.Owner) + if !f(fd_Card_owner, value) { + return + } + } + if x.Artist != "" { + value := protoreflect.ValueOfString(x.Artist) + if !f(fd_Card_artist, value) { + return + } + } + if len(x.Content) != 0 { + value := protoreflect.ValueOfBytes(x.Content) + if !f(fd_Card_content, value) { + return + } + } + if x.ImageId != uint64(0) { + value := protoreflect.ValueOfUint64(x.ImageId) + if !f(fd_Card_image_id, value) { + return + } + } + if x.FullArt != false { + value := protoreflect.ValueOfBool(x.FullArt) + if !f(fd_Card_fullArt, value) { + return + } + } + if x.Notes != "" { + value := protoreflect.ValueOfString(x.Notes) + if !f(fd_Card_notes, value) { + return + } + } + if x.Status != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Status)) + if !f(fd_Card_status, value) { + return + } + } + if x.VotePool != nil { + value := protoreflect.ValueOfMessage(x.VotePool.ProtoReflect()) + if !f(fd_Card_votePool, value) { + return + } + } + if len(x.Voters) != 0 { + value := protoreflect.ValueOfList(&_Card_14_list{list: &x.Voters}) + if !f(fd_Card_voters, value) { + return + } + } + if x.FairEnoughVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.FairEnoughVotes) + if !f(fd_Card_fairEnoughVotes, value) { + return + } + } + if x.OverpoweredVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.OverpoweredVotes) + if !f(fd_Card_overpoweredVotes, value) { + return + } + } + if x.UnderpoweredVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.UnderpoweredVotes) + if !f(fd_Card_underpoweredVotes, value) { + return + } + } + if x.InappropriateVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.InappropriateVotes) + if !f(fd_Card_inappropriateVotes, value) { + return + } + } + if x.Nerflevel != int64(0) { + value := protoreflect.ValueOfInt64(x.Nerflevel) + if !f(fd_Card_nerflevel, value) { + return + } + } + if x.BalanceAnchor != false { + value := protoreflect.ValueOfBool(x.BalanceAnchor) + if !f(fd_Card_balanceAnchor, value) { + return + } + } + if x.StarterCard != false { + value := protoreflect.ValueOfBool(x.StarterCard) + if !f(fd_Card_starterCard, value) { + return + } + } + if x.Rarity != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Rarity)) + if !f(fd_Card_rarity, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Card) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.Card.owner": + return x.Owner != "" + case "cardchain.cardchain.Card.artist": + return x.Artist != "" + case "cardchain.cardchain.Card.content": + return len(x.Content) != 0 + case "cardchain.cardchain.Card.image_id": + return x.ImageId != uint64(0) + case "cardchain.cardchain.Card.fullArt": + return x.FullArt != false + case "cardchain.cardchain.Card.notes": + return x.Notes != "" + case "cardchain.cardchain.Card.status": + return x.Status != 0 + case "cardchain.cardchain.Card.votePool": + return x.VotePool != nil + case "cardchain.cardchain.Card.voters": + return len(x.Voters) != 0 + case "cardchain.cardchain.Card.fairEnoughVotes": + return x.FairEnoughVotes != uint64(0) + case "cardchain.cardchain.Card.overpoweredVotes": + return x.OverpoweredVotes != uint64(0) + case "cardchain.cardchain.Card.underpoweredVotes": + return x.UnderpoweredVotes != uint64(0) + case "cardchain.cardchain.Card.inappropriateVotes": + return x.InappropriateVotes != uint64(0) + case "cardchain.cardchain.Card.nerflevel": + return x.Nerflevel != int64(0) + case "cardchain.cardchain.Card.balanceAnchor": + return x.BalanceAnchor != false + case "cardchain.cardchain.Card.starterCard": + return x.StarterCard != false + case "cardchain.cardchain.Card.rarity": + return x.Rarity != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Card")) + } + panic(fmt.Errorf("message cardchain.cardchain.Card does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Card) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.Card.owner": + x.Owner = "" + case "cardchain.cardchain.Card.artist": + x.Artist = "" + case "cardchain.cardchain.Card.content": + x.Content = nil + case "cardchain.cardchain.Card.image_id": + x.ImageId = uint64(0) + case "cardchain.cardchain.Card.fullArt": + x.FullArt = false + case "cardchain.cardchain.Card.notes": + x.Notes = "" + case "cardchain.cardchain.Card.status": + x.Status = 0 + case "cardchain.cardchain.Card.votePool": + x.VotePool = nil + case "cardchain.cardchain.Card.voters": + x.Voters = nil + case "cardchain.cardchain.Card.fairEnoughVotes": + x.FairEnoughVotes = uint64(0) + case "cardchain.cardchain.Card.overpoweredVotes": + x.OverpoweredVotes = uint64(0) + case "cardchain.cardchain.Card.underpoweredVotes": + x.UnderpoweredVotes = uint64(0) + case "cardchain.cardchain.Card.inappropriateVotes": + x.InappropriateVotes = uint64(0) + case "cardchain.cardchain.Card.nerflevel": + x.Nerflevel = int64(0) + case "cardchain.cardchain.Card.balanceAnchor": + x.BalanceAnchor = false + case "cardchain.cardchain.Card.starterCard": + x.StarterCard = false + case "cardchain.cardchain.Card.rarity": + x.Rarity = 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Card")) + } + panic(fmt.Errorf("message cardchain.cardchain.Card does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Card) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.Card.owner": + value := x.Owner + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.Card.artist": + value := x.Artist + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.Card.content": + value := x.Content + return protoreflect.ValueOfBytes(value) + case "cardchain.cardchain.Card.image_id": + value := x.ImageId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Card.fullArt": + value := x.FullArt + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.Card.notes": + value := x.Notes + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.Card.status": + value := x.Status + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "cardchain.cardchain.Card.votePool": + value := x.VotePool + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.Card.voters": + if len(x.Voters) == 0 { + return protoreflect.ValueOfList(&_Card_14_list{}) + } + listValue := &_Card_14_list{list: &x.Voters} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.Card.fairEnoughVotes": + value := x.FairEnoughVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Card.overpoweredVotes": + value := x.OverpoweredVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Card.underpoweredVotes": + value := x.UnderpoweredVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Card.inappropriateVotes": + value := x.InappropriateVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Card.nerflevel": + value := x.Nerflevel + return protoreflect.ValueOfInt64(value) + case "cardchain.cardchain.Card.balanceAnchor": + value := x.BalanceAnchor + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.Card.starterCard": + value := x.StarterCard + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.Card.rarity": + value := x.Rarity + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Card")) + } + panic(fmt.Errorf("message cardchain.cardchain.Card does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Card) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.Card.owner": + x.Owner = value.Interface().(string) + case "cardchain.cardchain.Card.artist": + x.Artist = value.Interface().(string) + case "cardchain.cardchain.Card.content": + x.Content = value.Bytes() + case "cardchain.cardchain.Card.image_id": + x.ImageId = value.Uint() + case "cardchain.cardchain.Card.fullArt": + x.FullArt = value.Bool() + case "cardchain.cardchain.Card.notes": + x.Notes = value.Interface().(string) + case "cardchain.cardchain.Card.status": + x.Status = (Status)(value.Enum()) + case "cardchain.cardchain.Card.votePool": + x.VotePool = value.Message().Interface().(*v1beta1.Coin) + case "cardchain.cardchain.Card.voters": + lv := value.List() + clv := lv.(*_Card_14_list) + x.Voters = *clv.list + case "cardchain.cardchain.Card.fairEnoughVotes": + x.FairEnoughVotes = value.Uint() + case "cardchain.cardchain.Card.overpoweredVotes": + x.OverpoweredVotes = value.Uint() + case "cardchain.cardchain.Card.underpoweredVotes": + x.UnderpoweredVotes = value.Uint() + case "cardchain.cardchain.Card.inappropriateVotes": + x.InappropriateVotes = value.Uint() + case "cardchain.cardchain.Card.nerflevel": + x.Nerflevel = value.Int() + case "cardchain.cardchain.Card.balanceAnchor": + x.BalanceAnchor = value.Bool() + case "cardchain.cardchain.Card.starterCard": + x.StarterCard = value.Bool() + case "cardchain.cardchain.Card.rarity": + x.Rarity = (CardRarity)(value.Enum()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Card")) + } + panic(fmt.Errorf("message cardchain.cardchain.Card does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Card) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Card.votePool": + if x.VotePool == nil { + x.VotePool = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.VotePool.ProtoReflect()) + case "cardchain.cardchain.Card.voters": + if x.Voters == nil { + x.Voters = []string{} + } + value := &_Card_14_list{list: &x.Voters} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.Card.owner": + panic(fmt.Errorf("field owner of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.artist": + panic(fmt.Errorf("field artist of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.content": + panic(fmt.Errorf("field content of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.image_id": + panic(fmt.Errorf("field image_id of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.fullArt": + panic(fmt.Errorf("field fullArt of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.notes": + panic(fmt.Errorf("field notes of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.status": + panic(fmt.Errorf("field status of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.fairEnoughVotes": + panic(fmt.Errorf("field fairEnoughVotes of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.overpoweredVotes": + panic(fmt.Errorf("field overpoweredVotes of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.underpoweredVotes": + panic(fmt.Errorf("field underpoweredVotes of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.inappropriateVotes": + panic(fmt.Errorf("field inappropriateVotes of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.nerflevel": + panic(fmt.Errorf("field nerflevel of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.balanceAnchor": + panic(fmt.Errorf("field balanceAnchor of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.starterCard": + panic(fmt.Errorf("field starterCard of message cardchain.cardchain.Card is not mutable")) + case "cardchain.cardchain.Card.rarity": + panic(fmt.Errorf("field rarity of message cardchain.cardchain.Card is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Card")) + } + panic(fmt.Errorf("message cardchain.cardchain.Card does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Card) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Card.owner": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.Card.artist": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.Card.content": + return protoreflect.ValueOfBytes(nil) + case "cardchain.cardchain.Card.image_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Card.fullArt": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.Card.notes": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.Card.status": + return protoreflect.ValueOfEnum(0) + case "cardchain.cardchain.Card.votePool": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.Card.voters": + list := []string{} + return protoreflect.ValueOfList(&_Card_14_list{list: &list}) + case "cardchain.cardchain.Card.fairEnoughVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Card.overpoweredVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Card.underpoweredVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Card.inappropriateVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Card.nerflevel": + return protoreflect.ValueOfInt64(int64(0)) + case "cardchain.cardchain.Card.balanceAnchor": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.Card.starterCard": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.Card.rarity": + return protoreflect.ValueOfEnum(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Card")) + } + panic(fmt.Errorf("message cardchain.cardchain.Card does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Card) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.Card", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Card) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Card) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Card) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Card) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Card) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Owner) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Artist) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Content) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.ImageId != 0 { + n += 1 + runtime.Sov(uint64(x.ImageId)) + } + if x.FullArt { + n += 2 + } + l = len(x.Notes) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Status != 0 { + n += 1 + runtime.Sov(uint64(x.Status)) + } + if x.VotePool != nil { + l = options.Size(x.VotePool) + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Voters) > 0 { + for _, s := range x.Voters { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.FairEnoughVotes != 0 { + n += 1 + runtime.Sov(uint64(x.FairEnoughVotes)) + } + if x.OverpoweredVotes != 0 { + n += 1 + runtime.Sov(uint64(x.OverpoweredVotes)) + } + if x.UnderpoweredVotes != 0 { + n += 1 + runtime.Sov(uint64(x.UnderpoweredVotes)) + } + if x.InappropriateVotes != 0 { + n += 1 + runtime.Sov(uint64(x.InappropriateVotes)) + } + if x.Nerflevel != 0 { + n += 1 + runtime.Sov(uint64(x.Nerflevel)) + } + if x.BalanceAnchor { + n += 2 + } + if x.StarterCard { + n += 3 + } + if x.Rarity != 0 { + n += 2 + runtime.Sov(uint64(x.Rarity)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Card) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Rarity != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Rarity)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } + if x.StarterCard { + i-- + if x.StarterCard { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x80 + } + if x.BalanceAnchor { + i-- + if x.BalanceAnchor { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x78 + } + if len(x.Voters) > 0 { + for iNdEx := len(x.Voters) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Voters[iNdEx]) + copy(dAtA[i:], x.Voters[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Voters[iNdEx]))) + i-- + dAtA[i] = 0x72 + } + } + if x.Nerflevel != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Nerflevel)) + i-- + dAtA[i] = 0x68 + } + if x.InappropriateVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.InappropriateVotes)) + i-- + dAtA[i] = 0x60 + } + if x.UnderpoweredVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.UnderpoweredVotes)) + i-- + dAtA[i] = 0x58 + } + if x.OverpoweredVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.OverpoweredVotes)) + i-- + dAtA[i] = 0x50 + } + if x.FairEnoughVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.FairEnoughVotes)) + i-- + dAtA[i] = 0x48 + } + if x.VotePool != nil { + encoded, err := options.Marshal(x.VotePool) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x42 + } + if x.Status != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Status)) + i-- + dAtA[i] = 0x38 + } + if len(x.Notes) > 0 { + i -= len(x.Notes) + copy(dAtA[i:], x.Notes) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Notes))) + i-- + dAtA[i] = 0x32 + } + if x.FullArt { + i-- + if x.FullArt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if x.ImageId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ImageId)) + i-- + dAtA[i] = 0x20 + } + if len(x.Content) > 0 { + i -= len(x.Content) + copy(dAtA[i:], x.Content) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Content))) + i-- + dAtA[i] = 0x1a + } + if len(x.Artist) > 0 { + i -= len(x.Artist) + copy(dAtA[i:], x.Artist) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Artist))) + i-- + dAtA[i] = 0x12 + } + if len(x.Owner) > 0 { + i -= len(x.Owner) + copy(dAtA[i:], x.Owner) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Owner))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Card) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Card: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Card: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Artist = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Content", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Content = append(x.Content[:0], dAtA[iNdEx:postIndex]...) + if x.Content == nil { + x.Content = []byte{} + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ImageId", wireType) + } + x.ImageId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.ImageId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field FullArt", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.FullArt = bool(v != 0) + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Notes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Notes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + x.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Status |= Status(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VotePool", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.VotePool == nil { + x.VotePool = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.VotePool); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Voters", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Voters = append(x.Voters, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 9: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field FairEnoughVotes", wireType) + } + x.FairEnoughVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.FairEnoughVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OverpoweredVotes", wireType) + } + x.OverpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.OverpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field UnderpoweredVotes", wireType) + } + x.UnderpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.UnderpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field InappropriateVotes", wireType) + } + x.InappropriateVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.InappropriateVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Nerflevel", wireType) + } + x.Nerflevel = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Nerflevel |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 15: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BalanceAnchor", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.BalanceAnchor = bool(v != 0) + case 16: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field StarterCard", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.StarterCard = bool(v != 0) + case 17: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Rarity", wireType) + } + x.Rarity = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Rarity |= CardRarity(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_CardWithImage protoreflect.MessageDescriptor + fd_CardWithImage_card protoreflect.FieldDescriptor + fd_CardWithImage_image protoreflect.FieldDescriptor + fd_CardWithImage_hash protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_card_proto_init() + md_CardWithImage = File_cardchain_cardchain_card_proto.Messages().ByName("CardWithImage") + fd_CardWithImage_card = md_CardWithImage.Fields().ByName("card") + fd_CardWithImage_image = md_CardWithImage.Fields().ByName("image") + fd_CardWithImage_hash = md_CardWithImage.Fields().ByName("hash") +} + +var _ protoreflect.Message = (*fastReflection_CardWithImage)(nil) + +type fastReflection_CardWithImage CardWithImage + +func (x *CardWithImage) ProtoReflect() protoreflect.Message { + return (*fastReflection_CardWithImage)(x) +} + +func (x *CardWithImage) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_card_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_CardWithImage_messageType fastReflection_CardWithImage_messageType +var _ protoreflect.MessageType = fastReflection_CardWithImage_messageType{} + +type fastReflection_CardWithImage_messageType struct{} + +func (x fastReflection_CardWithImage_messageType) Zero() protoreflect.Message { + return (*fastReflection_CardWithImage)(nil) +} +func (x fastReflection_CardWithImage_messageType) New() protoreflect.Message { + return new(fastReflection_CardWithImage) +} +func (x fastReflection_CardWithImage_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_CardWithImage +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_CardWithImage) Descriptor() protoreflect.MessageDescriptor { + return md_CardWithImage +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_CardWithImage) Type() protoreflect.MessageType { + return _fastReflection_CardWithImage_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_CardWithImage) New() protoreflect.Message { + return new(fastReflection_CardWithImage) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_CardWithImage) Interface() protoreflect.ProtoMessage { + return (*CardWithImage)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_CardWithImage) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Card != nil { + value := protoreflect.ValueOfMessage(x.Card.ProtoReflect()) + if !f(fd_CardWithImage_card, value) { + return + } + } + if x.Image != "" { + value := protoreflect.ValueOfString(x.Image) + if !f(fd_CardWithImage_image, value) { + return + } + } + if x.Hash != "" { + value := protoreflect.ValueOfString(x.Hash) + if !f(fd_CardWithImage_hash, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_CardWithImage) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.CardWithImage.card": + return x.Card != nil + case "cardchain.cardchain.CardWithImage.image": + return x.Image != "" + case "cardchain.cardchain.CardWithImage.hash": + return x.Hash != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_CardWithImage) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.CardWithImage.card": + x.Card = nil + case "cardchain.cardchain.CardWithImage.image": + x.Image = "" + case "cardchain.cardchain.CardWithImage.hash": + x.Hash = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_CardWithImage) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.CardWithImage.card": + value := x.Card + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.CardWithImage.image": + value := x.Image + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.CardWithImage.hash": + value := x.Hash + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_CardWithImage) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.CardWithImage.card": + x.Card = value.Message().Interface().(*Card) + case "cardchain.cardchain.CardWithImage.image": + x.Image = value.Interface().(string) + case "cardchain.cardchain.CardWithImage.hash": + x.Hash = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_CardWithImage) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.CardWithImage.card": + if x.Card == nil { + x.Card = new(Card) + } + return protoreflect.ValueOfMessage(x.Card.ProtoReflect()) + case "cardchain.cardchain.CardWithImage.image": + panic(fmt.Errorf("field image of message cardchain.cardchain.CardWithImage is not mutable")) + case "cardchain.cardchain.CardWithImage.hash": + panic(fmt.Errorf("field hash of message cardchain.cardchain.CardWithImage is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_CardWithImage) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.CardWithImage.card": + m := new(Card) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.CardWithImage.image": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.CardWithImage.hash": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_CardWithImage) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.CardWithImage", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_CardWithImage) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_CardWithImage) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_CardWithImage) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_CardWithImage) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*CardWithImage) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Card != nil { + l = options.Size(x.Card) + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Image) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Hash) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*CardWithImage) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Hash) > 0 { + i -= len(x.Hash) + copy(dAtA[i:], x.Hash) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Hash))) + i-- + dAtA[i] = 0x1a + } + if len(x.Image) > 0 { + i -= len(x.Image) + copy(dAtA[i:], x.Image) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Image))) + i-- + dAtA[i] = 0x12 + } + if x.Card != nil { + encoded, err := options.Marshal(x.Card) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*CardWithImage) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: CardWithImage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: CardWithImage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Card == nil { + x.Card = &Card{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Card); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Image = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Hash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_TimeStamp protoreflect.MessageDescriptor + fd_TimeStamp_timeStamp protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_card_proto_init() + md_TimeStamp = File_cardchain_cardchain_card_proto.Messages().ByName("TimeStamp") + fd_TimeStamp_timeStamp = md_TimeStamp.Fields().ByName("timeStamp") +} + +var _ protoreflect.Message = (*fastReflection_TimeStamp)(nil) + +type fastReflection_TimeStamp TimeStamp + +func (x *TimeStamp) ProtoReflect() protoreflect.Message { + return (*fastReflection_TimeStamp)(x) +} + +func (x *TimeStamp) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_card_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_TimeStamp_messageType fastReflection_TimeStamp_messageType +var _ protoreflect.MessageType = fastReflection_TimeStamp_messageType{} + +type fastReflection_TimeStamp_messageType struct{} + +func (x fastReflection_TimeStamp_messageType) Zero() protoreflect.Message { + return (*fastReflection_TimeStamp)(nil) +} +func (x fastReflection_TimeStamp_messageType) New() protoreflect.Message { + return new(fastReflection_TimeStamp) +} +func (x fastReflection_TimeStamp_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_TimeStamp +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_TimeStamp) Descriptor() protoreflect.MessageDescriptor { + return md_TimeStamp +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_TimeStamp) Type() protoreflect.MessageType { + return _fastReflection_TimeStamp_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_TimeStamp) New() protoreflect.Message { + return new(fastReflection_TimeStamp) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_TimeStamp) Interface() protoreflect.ProtoMessage { + return (*TimeStamp)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_TimeStamp) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.TimeStamp != uint64(0) { + value := protoreflect.ValueOfUint64(x.TimeStamp) + if !f(fd_TimeStamp_timeStamp, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_TimeStamp) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.TimeStamp.timeStamp": + return x.TimeStamp != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.TimeStamp")) + } + panic(fmt.Errorf("message cardchain.cardchain.TimeStamp does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_TimeStamp) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.TimeStamp.timeStamp": + x.TimeStamp = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.TimeStamp")) + } + panic(fmt.Errorf("message cardchain.cardchain.TimeStamp does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_TimeStamp) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.TimeStamp.timeStamp": + value := x.TimeStamp + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.TimeStamp")) + } + panic(fmt.Errorf("message cardchain.cardchain.TimeStamp does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_TimeStamp) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.TimeStamp.timeStamp": + x.TimeStamp = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.TimeStamp")) + } + panic(fmt.Errorf("message cardchain.cardchain.TimeStamp does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_TimeStamp) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.TimeStamp.timeStamp": + panic(fmt.Errorf("field timeStamp of message cardchain.cardchain.TimeStamp is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.TimeStamp")) + } + panic(fmt.Errorf("message cardchain.cardchain.TimeStamp does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_TimeStamp) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.TimeStamp.timeStamp": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.TimeStamp")) + } + panic(fmt.Errorf("message cardchain.cardchain.TimeStamp does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_TimeStamp) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.TimeStamp", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_TimeStamp) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_TimeStamp) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_TimeStamp) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_TimeStamp) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*TimeStamp) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.TimeStamp != 0 { + n += 1 + runtime.Sov(uint64(x.TimeStamp)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*TimeStamp) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.TimeStamp != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TimeStamp)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*TimeStamp) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TimeStamp: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TimeStamp: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TimeStamp", wireType) + } + x.TimeStamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TimeStamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/card.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Status int32 + +const ( + Status_scheme Status = 0 + Status_prototype Status = 1 + Status_trial Status = 2 + Status_permanent Status = 3 + Status_suspended Status = 4 + Status_banned Status = 5 + Status_bannedSoon Status = 6 + Status_bannedVerySoon Status = 7 + Status_none Status = 8 + Status_adventureItem Status = 9 +) + +// Enum value maps for Status. +var ( + Status_name = map[int32]string{ + 0: "scheme", + 1: "prototype", + 2: "trial", + 3: "permanent", + 4: "suspended", + 5: "banned", + 6: "bannedSoon", + 7: "bannedVerySoon", + 8: "none", + 9: "adventureItem", + } + Status_value = map[string]int32{ + "scheme": 0, + "prototype": 1, + "trial": 2, + "permanent": 3, + "suspended": 4, + "banned": 5, + "bannedSoon": 6, + "bannedVerySoon": 7, + "none": 8, + "adventureItem": 9, + } +) + +func (x Status) Enum() *Status { + p := new(Status) + *p = x + return p +} + +func (x Status) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Status) Descriptor() protoreflect.EnumDescriptor { + return file_cardchain_cardchain_card_proto_enumTypes[0].Descriptor() +} + +func (Status) Type() protoreflect.EnumType { + return &file_cardchain_cardchain_card_proto_enumTypes[0] +} + +func (x Status) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Status.Descriptor instead. +func (Status) EnumDescriptor() ([]byte, []int) { + return file_cardchain_cardchain_card_proto_rawDescGZIP(), []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 +) + +// Enum value maps for CardRarity. +var ( + CardRarity_name = map[int32]string{ + 0: "common", + 1: "uncommon", + 2: "rare", + 3: "exceptional", + 4: "unique", + } + CardRarity_value = map[string]int32{ + "common": 0, + "uncommon": 1, + "rare": 2, + "exceptional": 3, + "unique": 4, + } +) + +func (x CardRarity) Enum() *CardRarity { + p := new(CardRarity) + *p = x + return p +} + +func (x CardRarity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CardRarity) Descriptor() protoreflect.EnumDescriptor { + return file_cardchain_cardchain_card_proto_enumTypes[1].Descriptor() +} + +func (CardRarity) Type() protoreflect.EnumType { + return &file_cardchain_cardchain_card_proto_enumTypes[1] +} + +func (x CardRarity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CardRarity.Descriptor instead. +func (CardRarity) EnumDescriptor() ([]byte, []int) { + return file_cardchain_cardchain_card_proto_rawDescGZIP(), []int{1} +} + +type CardClass int32 + +const ( + CardClass_nature CardClass = 0 + CardClass_culture CardClass = 1 + CardClass_mysticism CardClass = 2 + CardClass_technology CardClass = 3 +) + +// Enum value maps for CardClass. +var ( + CardClass_name = map[int32]string{ + 0: "nature", + 1: "culture", + 2: "mysticism", + 3: "technology", + } + CardClass_value = map[string]int32{ + "nature": 0, + "culture": 1, + "mysticism": 2, + "technology": 3, + } +) + +func (x CardClass) Enum() *CardClass { + p := new(CardClass) + *p = x + return p +} + +func (x CardClass) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CardClass) Descriptor() protoreflect.EnumDescriptor { + return file_cardchain_cardchain_card_proto_enumTypes[2].Descriptor() +} + +func (CardClass) Type() protoreflect.EnumType { + return &file_cardchain_cardchain_card_proto_enumTypes[2] +} + +func (x CardClass) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CardClass.Descriptor instead. +func (CardClass) EnumDescriptor() ([]byte, []int) { + return file_cardchain_cardchain_card_proto_rawDescGZIP(), []int{2} +} + +type CardType int32 + +const ( + CardType_place CardType = 0 + CardType_action CardType = 1 + CardType_entity CardType = 2 + CardType_headquarter CardType = 3 +) + +// Enum value maps for CardType. +var ( + CardType_name = map[int32]string{ + 0: "place", + 1: "action", + 2: "entity", + 3: "headquarter", + } + CardType_value = map[string]int32{ + "place": 0, + "action": 1, + "entity": 2, + "headquarter": 3, + } +) + +func (x CardType) Enum() *CardType { + p := new(CardType) + *p = x + return p +} + +func (x CardType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CardType) Descriptor() protoreflect.EnumDescriptor { + return file_cardchain_cardchain_card_proto_enumTypes[3].Descriptor() +} + +func (CardType) Type() protoreflect.EnumType { + return &file_cardchain_cardchain_card_proto_enumTypes[3] +} + +func (x CardType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CardType.Descriptor instead. +func (CardType) EnumDescriptor() ([]byte, []int) { + return file_cardchain_cardchain_card_proto_rawDescGZIP(), []int{3} +} + +type Card struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + Artist string `protobuf:"bytes,2,opt,name=artist,proto3" json:"artist,omitempty"` + Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` + ImageId uint64 `protobuf:"varint,4,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` + FullArt bool `protobuf:"varint,5,opt,name=fullArt,proto3" json:"fullArt,omitempty"` + Notes string `protobuf:"bytes,6,opt,name=notes,proto3" json:"notes,omitempty"` + Status Status `protobuf:"varint,7,opt,name=status,proto3,enum=cardchain.cardchain.Status" json:"status,omitempty"` + VotePool *v1beta1.Coin `protobuf:"bytes,8,opt,name=votePool,proto3" json:"votePool,omitempty"` + Voters []string `protobuf:"bytes,14,rep,name=voters,proto3" json:"voters,omitempty"` + FairEnoughVotes uint64 `protobuf:"varint,9,opt,name=fairEnoughVotes,proto3" json:"fairEnoughVotes,omitempty"` + OverpoweredVotes uint64 `protobuf:"varint,10,opt,name=overpoweredVotes,proto3" json:"overpoweredVotes,omitempty"` + 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=cardchain.cardchain.CardRarity" json:"rarity,omitempty"` +} + +func (x *Card) Reset() { + *x = Card{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_card_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Card) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Card) ProtoMessage() {} + +// Deprecated: Use Card.ProtoReflect.Descriptor instead. +func (*Card) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_card_proto_rawDescGZIP(), []int{0} +} + +func (x *Card) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +func (x *Card) GetArtist() string { + if x != nil { + return x.Artist + } + return "" +} + +func (x *Card) GetContent() []byte { + if x != nil { + return x.Content + } + return nil +} + +func (x *Card) GetImageId() uint64 { + if x != nil { + return x.ImageId + } + return 0 +} + +func (x *Card) GetFullArt() bool { + if x != nil { + return x.FullArt + } + return false +} + +func (x *Card) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +func (x *Card) GetStatus() Status { + if x != nil { + return x.Status + } + return Status_scheme +} + +func (x *Card) GetVotePool() *v1beta1.Coin { + if x != nil { + return x.VotePool + } + return nil +} + +func (x *Card) GetVoters() []string { + if x != nil { + return x.Voters + } + return nil +} + +func (x *Card) GetFairEnoughVotes() uint64 { + if x != nil { + return x.FairEnoughVotes + } + return 0 +} + +func (x *Card) GetOverpoweredVotes() uint64 { + if x != nil { + return x.OverpoweredVotes + } + return 0 +} + +func (x *Card) GetUnderpoweredVotes() uint64 { + if x != nil { + return x.UnderpoweredVotes + } + return 0 +} + +func (x *Card) GetInappropriateVotes() uint64 { + if x != nil { + return x.InappropriateVotes + } + return 0 +} + +func (x *Card) GetNerflevel() int64 { + if x != nil { + return x.Nerflevel + } + return 0 +} + +func (x *Card) GetBalanceAnchor() bool { + if x != nil { + return x.BalanceAnchor + } + return false +} + +func (x *Card) GetStarterCard() bool { + if x != nil { + return x.StarterCard + } + return false +} + +func (x *Card) GetRarity() CardRarity { + if x != nil { + return x.Rarity + } + return CardRarity_common +} + +type CardWithImage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Card *Card `protobuf:"bytes,1,opt,name=card,proto3" json:"card,omitempty"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` + Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` +} + +func (x *CardWithImage) Reset() { + *x = CardWithImage{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_card_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CardWithImage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CardWithImage) ProtoMessage() {} + +// Deprecated: Use CardWithImage.ProtoReflect.Descriptor instead. +func (*CardWithImage) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_card_proto_rawDescGZIP(), []int{1} +} + +func (x *CardWithImage) GetCard() *Card { + if x != nil { + return x.Card + } + return nil +} + +func (x *CardWithImage) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *CardWithImage) GetHash() string { + if x != nil { + return x.Hash + } + return "" +} + +type TimeStamp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TimeStamp uint64 `protobuf:"varint,1,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` +} + +func (x *TimeStamp) Reset() { + *x = TimeStamp{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_card_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TimeStamp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimeStamp) ProtoMessage() {} + +// Deprecated: Use TimeStamp.ProtoReflect.Descriptor instead. +func (*TimeStamp) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_card_proto_rawDescGZIP(), []int{2} +} + +func (x *TimeStamp) GetTimeStamp() uint64 { + if x != nil { + return x.TimeStamp + } + return 0 +} + +var File_cardchain_cardchain_card_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_card_proto_rawDesc = []byte{ + 0x0a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6, 0x04, 0x0a, 0x04, + 0x43, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x75, 0x6c, 0x6c, 0x41, + 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x08, + 0x76, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, + 0x08, 0x76, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x6f, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, + 0x6f, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x72, + 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6f, + 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x75, 0x6e, 0x64, 0x65, 0x72, + 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x11, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, + 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, + 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, + 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x72, 0x66, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x72, 0x66, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, + 0x63, 0x68, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x72, + 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x06, 0x72, 0x61, + 0x72, 0x69, 0x74, 0x79, 0x22, 0x68, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x04, + 0x63, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x29, + 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x2a, 0x99, 0x01, 0x0a, 0x06, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x10, 0x00, + 0x12, 0x0d, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x74, 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, + 0x09, 0x0a, 0x05, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x70, 0x65, + 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x73, 0x75, 0x73, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x62, 0x61, 0x6e, 0x6e, + 0x65, 0x64, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x53, 0x6f, + 0x6f, 0x6e, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x56, 0x65, + 0x72, 0x79, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, + 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x65, 0x49, + 0x74, 0x65, 0x6d, 0x10, 0x09, 0x2a, 0x4d, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, + 0x69, 0x74, 0x79, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x10, 0x00, 0x12, + 0x0c, 0x0a, 0x08, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x08, 0x0a, + 0x04, 0x72, 0x61, 0x72, 0x65, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x10, 0x04, 0x2a, 0x43, 0x0a, 0x09, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, + 0x07, 0x63, 0x75, 0x6c, 0x74, 0x75, 0x72, 0x65, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x6d, 0x79, + 0x73, 0x74, 0x69, 0x63, 0x69, 0x73, 0x6d, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x74, 0x65, 0x63, + 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x10, 0x03, 0x2a, 0x3e, 0x0a, 0x08, 0x43, 0x61, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x10, 0x00, + 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, + 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x10, 0x03, 0x42, 0xd1, 0x01, 0x0a, 0x17, 0x63, 0x6f, + 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x09, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, + 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_card_proto_rawDescOnce sync.Once + file_cardchain_cardchain_card_proto_rawDescData = file_cardchain_cardchain_card_proto_rawDesc +) + +func file_cardchain_cardchain_card_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_card_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_card_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_card_proto_rawDescData) + }) + return file_cardchain_cardchain_card_proto_rawDescData +} + +var file_cardchain_cardchain_card_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_cardchain_cardchain_card_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_cardchain_cardchain_card_proto_goTypes = []interface{}{ + (Status)(0), // 0: cardchain.cardchain.Status + (CardRarity)(0), // 1: cardchain.cardchain.CardRarity + (CardClass)(0), // 2: cardchain.cardchain.CardClass + (CardType)(0), // 3: cardchain.cardchain.CardType + (*Card)(nil), // 4: cardchain.cardchain.Card + (*CardWithImage)(nil), // 5: cardchain.cardchain.CardWithImage + (*TimeStamp)(nil), // 6: cardchain.cardchain.TimeStamp + (*v1beta1.Coin)(nil), // 7: cosmos.base.v1beta1.Coin +} +var file_cardchain_cardchain_card_proto_depIdxs = []int32{ + 0, // 0: cardchain.cardchain.Card.status:type_name -> cardchain.cardchain.Status + 7, // 1: cardchain.cardchain.Card.votePool:type_name -> cosmos.base.v1beta1.Coin + 1, // 2: cardchain.cardchain.Card.rarity:type_name -> cardchain.cardchain.CardRarity + 4, // 3: cardchain.cardchain.CardWithImage.card:type_name -> cardchain.cardchain.Card + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_card_proto_init() } +func file_cardchain_cardchain_card_proto_init() { + if File_cardchain_cardchain_card_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_card_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Card); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_card_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CardWithImage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_card_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TimeStamp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_card_proto_rawDesc, + NumEnums: 4, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_card_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_card_proto_depIdxs, + EnumInfos: file_cardchain_cardchain_card_proto_enumTypes, + MessageInfos: file_cardchain_cardchain_card_proto_msgTypes, + }.Build() + File_cardchain_cardchain_card_proto = out.File + file_cardchain_cardchain_card_proto_rawDesc = nil + file_cardchain_cardchain_card_proto_goTypes = nil + file_cardchain_cardchain_card_proto_depIdxs = nil +} diff --git a/gen.sh b/gen.sh index 555087bf..a5c968d4 100755 --- a/gen.sh +++ b/gen.sh @@ -12,17 +12,21 @@ #ignite scaffold message CouncilDeregister #ignite scaffold message MatchReport matchId:uint playedCardsA:uints \ # playedCardsB:uints outcome:int -ignite scaffold message CouncilCreate cardId:uint -ignite scaffold message MatchReporterAppoint reporter:string -ignite scaffold message SetCreate name artist storyWriter contributors:strings -ignite scaffold message SetCardAdd setId:uint cardId:uint -ignite scaffold message SetCardRemove setId:uint cardId:uint -ignite scaffold message SetContributorAdd setId:uint user -ignite scaffold message SetContributorRemove setId:uint user -ignite scaffold message SetFinalize setId:uint -ignite scaffold message SetArtworkAdd setId:uint image -ignite scaffold message SetStoryAdd setId:uint story -ignite scaffold message BoosterPackBuy setId:uint --response airdropClaimed:bool -ignite scaffold message SellOfferCreate cardId:uint price:coin -ignite scaffold message SellOfferBuy sellOfferId:uint -ignite scaffold message SellOfferRemove sellOfferId:uint +#ignite scaffold message CouncilCreate cardId:uint +#ignite scaffold message MatchReporterAppoint reporter:string +#ignite scaffold message SetCreate name artist storyWriter contributors:strings +#ignite scaffold message SetCardAdd setId:uint cardId:uint +#ignite scaffold message SetCardRemove setId:uint cardId:uint +#ignite scaffold message SetContributorAdd setId:uint user +#ignite scaffold message SetContributorRemove setId:uint user +#ignite scaffold message SetFinalize setId:uint +#ignite scaffold message SetArtworkAdd setId:uint image +#ignite scaffold message SetStoryAdd setId:uint story +#ignite scaffold message BoosterPackBuy setId:uint --response airdropClaimed:bool +#ignite scaffold message SellOfferCreate cardId:uint price:coin +#ignite scaffold message SellOfferBuy sellOfferId:uint +#ignite scaffold message SellOfferRemove sellOfferId:uint +ignite scaffold message CardRaritySet cardId:uint setId:uint rarity:int +ignite scaffold message CouncilResponseCommit councilId:uint reponse \ + suggestion +ignite scaffold message CouncilResponseReveal councilId:uint reponse:int secret diff --git a/proto/cardchain/cardchain/card.proto b/proto/cardchain/cardchain/card.proto new file mode 100644 index 00000000..2688e4a3 --- /dev/null +++ b/proto/cardchain/cardchain/card.proto @@ -0,0 +1,70 @@ +syntax = "proto3"; +package cardchain.cardchain; + +import "gogoproto/gogo.proto"; +import "cosmos/base/v1beta1/coin.proto"; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message Card { + string owner = 1; + string artist = 2; + bytes content = 3; + uint64 image_id = 4; + bool fullArt = 5; + string notes = 6; + Status status = 7; + cosmos.base.v1beta1.Coin votePool = 8 [ (gogoproto.nullable) = false ]; + repeated string voters = 14; + uint64 fairEnoughVotes = 9; + uint64 overpoweredVotes = 10; + uint64 underpoweredVotes = 11; + uint64 inappropriateVotes = 12; + int64 nerflevel = 13; + bool balanceAnchor = 15; + bool starterCard = 16; + CardRarity rarity = 17; +} + +message CardWithImage { + Card card = 1; + string image = 2; + string hash = 3; +} + +enum Status { + scheme = 0; + prototype = 1; + trial = 2; + permanent = 3; + suspended = 4; + banned = 5; + bannedSoon = 6; + bannedVerySoon = 7; + none = 8; + adventureItem = 9; +} + +enum CardRarity { + common = 0; + uncommon = 1; + rare = 2; + exceptional = 3; + unique = 4; +} + +enum CardClass { + nature = 0; + culture = 1; + mysticism = 2; + technology = 3; +} + +enum CardType { + place = 0; + action = 1; + entity = 2; + headquarter = 3; +} + +message TimeStamp { uint64 timeStamp = 1; } diff --git a/proto/cardchain/cardchain/council.proto b/proto/cardchain/cardchain/council.proto new file mode 100644 index 00000000..3cb19ea6 --- /dev/null +++ b/proto/cardchain/cardchain/council.proto @@ -0,0 +1,43 @@ +syntax = "proto3"; +package cardchain.cardchain; + +import "gogoproto/gogo.proto"; +import "cosmos/base/v1beta1/coin.proto"; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message Council { + uint64 cardId = 1; + repeated string voters = 2; + repeated WrapHashResponse hashResponses = 3; + repeated WrapClearResponse clearResponses = 4; + cosmos.base.v1beta1.Coin treasury = 8 [ (gogoproto.nullable) = false ]; + CouncelingStatus status = 6; + uint64 trialStart = 7; +} + +message WrapClearResponse { + string user = 1; + Response response = 2; + string suggestion = 3; +} + +message WrapHashResponse { + string user = 1; + string hash = 2; +} + +enum Response { + Yes = 0; + No = 1; + Suggestion = 2; +} + +enum CouncelingStatus { + councilOpen = 0; + councilCreated = 1; + councilClosed = 2; + commited = 3; + revealed = 4; + suggestionsMade = 5; +} diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go new file mode 100644 index 00000000..7f1e6d76 --- /dev/null +++ b/x/cardchain/types/card.pb.go @@ -0,0 +1,1610 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/card.proto + +package types + +import ( + fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/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 Status int32 + +const ( + Status_scheme Status = 0 + Status_prototype Status = 1 + Status_trial Status = 2 + Status_permanent Status = 3 + Status_suspended Status = 4 + Status_banned Status = 5 + Status_bannedSoon Status = 6 + Status_bannedVerySoon Status = 7 + Status_none Status = 8 + Status_adventureItem Status = 9 +) + +var Status_name = map[int32]string{ + 0: "scheme", + 1: "prototype", + 2: "trial", + 3: "permanent", + 4: "suspended", + 5: "banned", + 6: "bannedSoon", + 7: "bannedVerySoon", + 8: "none", + 9: "adventureItem", +} + +var Status_value = map[string]int32{ + "scheme": 0, + "prototype": 1, + "trial": 2, + "permanent": 3, + "suspended": 4, + "banned": 5, + "bannedSoon": 6, + "bannedVerySoon": 7, + "none": 8, + "adventureItem": 9, +} + +func (x Status) String() string { + return proto.EnumName(Status_name, int32(x)) +} + +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 CardClass int32 + +const ( + CardClass_nature CardClass = 0 + CardClass_culture CardClass = 1 + CardClass_mysticism CardClass = 2 + CardClass_technology CardClass = 3 +) + +var CardClass_name = map[int32]string{ + 0: "nature", + 1: "culture", + 2: "mysticism", + 3: "technology", +} + +var CardClass_value = map[string]int32{ + "nature": 0, + "culture": 1, + "mysticism": 2, + "technology": 3, +} + +func (x CardClass) String() string { + return proto.EnumName(CardClass_name, int32(x)) +} + +func (CardClass) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_a360ffd2377ddc30, []int{2} +} + +type CardType int32 + +const ( + CardType_place CardType = 0 + CardType_action CardType = 1 + CardType_entity CardType = 2 + CardType_headquarter CardType = 3 +) + +var CardType_name = map[int32]string{ + 0: "place", + 1: "action", + 2: "entity", + 3: "headquarter", +} + +var CardType_value = map[string]int32{ + "place": 0, + "action": 1, + "entity": 2, + "headquarter": 3, +} + +func (x CardType) String() string { + return proto.EnumName(CardType_name, int32(x)) +} + +func (CardType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_a360ffd2377ddc30, []int{3} +} + +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"` + Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` + ImageId uint64 `protobuf:"varint,4,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` + FullArt bool `protobuf:"varint,5,opt,name=fullArt,proto3" json:"fullArt,omitempty"` + Notes string `protobuf:"bytes,6,opt,name=notes,proto3" json:"notes,omitempty"` + Status Status `protobuf:"varint,7,opt,name=status,proto3,enum=cardchain.cardchain.Status" json:"status,omitempty"` + VotePool types.Coin `protobuf:"bytes,8,opt,name=votePool,proto3" json:"votePool"` + Voters []string `protobuf:"bytes,14,rep,name=voters,proto3" json:"voters,omitempty"` + FairEnoughVotes uint64 `protobuf:"varint,9,opt,name=fairEnoughVotes,proto3" json:"fairEnoughVotes,omitempty"` + OverpoweredVotes uint64 `protobuf:"varint,10,opt,name=overpoweredVotes,proto3" json:"overpoweredVotes,omitempty"` + 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=cardchain.cardchain.CardRarity" json:"rarity,omitempty"` +} + +func (m *Card) Reset() { *m = Card{} } +func (m *Card) String() string { return proto.CompactTextString(m) } +func (*Card) ProtoMessage() {} +func (*Card) Descriptor() ([]byte, []int) { + return fileDescriptor_a360ffd2377ddc30, []int{0} +} +func (m *Card) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Card) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Card.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 *Card) XXX_Merge(src proto.Message) { + xxx_messageInfo_Card.Merge(m, src) +} +func (m *Card) XXX_Size() int { + return m.Size() +} +func (m *Card) XXX_DiscardUnknown() { + xxx_messageInfo_Card.DiscardUnknown(m) +} + +var xxx_messageInfo_Card proto.InternalMessageInfo + +func (m *Card) GetOwner() string { + if m != nil { + return m.Owner + } + return "" +} + +func (m *Card) GetArtist() string { + if m != nil { + return m.Artist + } + return "" +} + +func (m *Card) GetContent() []byte { + if m != nil { + return m.Content + } + return nil +} + +func (m *Card) GetImageId() uint64 { + if m != nil { + return m.ImageId + } + return 0 +} + +func (m *Card) GetFullArt() bool { + if m != nil { + return m.FullArt + } + return false +} + +func (m *Card) GetNotes() string { + if m != nil { + return m.Notes + } + return "" +} + +func (m *Card) GetStatus() Status { + if m != nil { + return m.Status + } + return Status_scheme +} + +func (m *Card) GetVotePool() types.Coin { + if m != nil { + return m.VotePool + } + return types.Coin{} +} + +func (m *Card) GetVoters() []string { + if m != nil { + return m.Voters + } + return nil +} + +func (m *Card) GetFairEnoughVotes() uint64 { + if m != nil { + return m.FairEnoughVotes + } + return 0 +} + +func (m *Card) GetOverpoweredVotes() uint64 { + if m != nil { + return m.OverpoweredVotes + } + return 0 +} + +func (m *Card) GetUnderpoweredVotes() uint64 { + if m != nil { + return m.UnderpoweredVotes + } + return 0 +} + +func (m *Card) GetInappropriateVotes() uint64 { + if m != nil { + return m.InappropriateVotes + } + return 0 +} + +func (m *Card) GetNerflevel() int64 { + if m != nil { + return m.Nerflevel + } + 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 CardWithImage struct { + Card *Card `protobuf:"bytes,1,opt,name=card,proto3" json:"card,omitempty"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` + Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` +} + +func (m *CardWithImage) Reset() { *m = CardWithImage{} } +func (m *CardWithImage) String() string { return proto.CompactTextString(m) } +func (*CardWithImage) ProtoMessage() {} +func (*CardWithImage) Descriptor() ([]byte, []int) { + return fileDescriptor_a360ffd2377ddc30, []int{1} +} +func (m *CardWithImage) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CardWithImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CardWithImage.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 *CardWithImage) XXX_Merge(src proto.Message) { + xxx_messageInfo_CardWithImage.Merge(m, src) +} +func (m *CardWithImage) XXX_Size() int { + return m.Size() +} +func (m *CardWithImage) XXX_DiscardUnknown() { + xxx_messageInfo_CardWithImage.DiscardUnknown(m) +} + +var xxx_messageInfo_CardWithImage proto.InternalMessageInfo + +func (m *CardWithImage) GetCard() *Card { + if m != nil { + return m.Card + } + return nil +} + +func (m *CardWithImage) GetImage() string { + if m != nil { + return m.Image + } + return "" +} + +func (m *CardWithImage) GetHash() string { + if m != nil { + return m.Hash + } + return "" +} + +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("cardchain.cardchain.Status", Status_name, Status_value) + proto.RegisterEnum("cardchain.cardchain.CardRarity", CardRarity_name, CardRarity_value) + proto.RegisterEnum("cardchain.cardchain.CardClass", CardClass_name, CardClass_value) + proto.RegisterEnum("cardchain.cardchain.CardType", CardType_name, CardType_value) + proto.RegisterType((*Card)(nil), "cardchain.cardchain.Card") + proto.RegisterType((*CardWithImage)(nil), "cardchain.cardchain.CardWithImage") + proto.RegisterType((*TimeStamp)(nil), "cardchain.cardchain.TimeStamp") +} + +func init() { proto.RegisterFile("cardchain/cardchain/card.proto", fileDescriptor_a360ffd2377ddc30) } + +var fileDescriptor_a360ffd2377ddc30 = []byte{ + // 785 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x54, 0x4d, 0x6f, 0xdb, 0x46, + 0x10, 0x15, 0x2d, 0x9a, 0x12, 0x47, 0x96, 0xbd, 0xde, 0x06, 0x05, 0x93, 0x16, 0x0a, 0x61, 0xf4, + 0xc0, 0x0a, 0x2d, 0x85, 0x24, 0x87, 0x16, 0x28, 0x50, 0x20, 0x51, 0x8b, 0xc2, 0x87, 0x02, 0x05, + 0x1d, 0xa4, 0x40, 0x2f, 0xc5, 0x6a, 0x39, 0x16, 0x17, 0x20, 0x77, 0x99, 0xdd, 0xa5, 0x12, 0xfd, + 0x8b, 0x5e, 0xfb, 0x8f, 0x72, 0xcc, 0xb1, 0xa7, 0xa2, 0xb0, 0xff, 0x43, 0xcf, 0xc5, 0x2e, 0xe5, + 0x8f, 0xc4, 0xee, 0x6d, 0xde, 0x9b, 0xb7, 0x33, 0x9c, 0x99, 0x27, 0xc1, 0x8c, 0x33, 0x5d, 0xf2, + 0x8a, 0x09, 0xb9, 0xf8, 0x30, 0xca, 0x5b, 0xad, 0xac, 0xa2, 0x9f, 0x5c, 0xb3, 0xf9, 0x75, 0xf4, + 0xe8, 0xc1, 0x5a, 0xad, 0x95, 0xcf, 0x2f, 0x5c, 0xd4, 0x4b, 0x1f, 0xcd, 0xb8, 0x32, 0x8d, 0x32, + 0x8b, 0x15, 0x33, 0xb8, 0xd8, 0x3c, 0x59, 0xa1, 0x65, 0x4f, 0x16, 0x5c, 0x09, 0xd9, 0xe7, 0x4f, + 0xfe, 0x0d, 0x21, 0x5c, 0x32, 0x5d, 0xd2, 0x07, 0xb0, 0xaf, 0xde, 0x48, 0xd4, 0x49, 0x90, 0x06, + 0x59, 0x5c, 0xf4, 0x80, 0x7e, 0x0a, 0x11, 0xd3, 0x56, 0x18, 0x9b, 0xec, 0x79, 0x7a, 0x87, 0x68, + 0x02, 0x23, 0xae, 0xa4, 0x45, 0x69, 0x93, 0x61, 0x1a, 0x64, 0x07, 0xc5, 0x15, 0xa4, 0x0f, 0x61, + 0x2c, 0x1a, 0xb6, 0xc6, 0xdf, 0x45, 0x99, 0x84, 0x69, 0x90, 0x85, 0xc5, 0xc8, 0xe3, 0xd3, 0xd2, + 0x3d, 0x3a, 0xef, 0xea, 0xfa, 0xb9, 0xb6, 0xc9, 0x7e, 0x1a, 0x64, 0xe3, 0xe2, 0x0a, 0xba, 0xe6, + 0x52, 0x59, 0x34, 0x49, 0xd4, 0x37, 0xf7, 0x80, 0x3e, 0x83, 0xc8, 0x58, 0x66, 0x3b, 0x93, 0x8c, + 0xd2, 0x20, 0x3b, 0x7c, 0xfa, 0x59, 0x7e, 0xcf, 0xdc, 0xf9, 0x99, 0x97, 0x14, 0x3b, 0x29, 0xfd, + 0x0e, 0xc6, 0x1b, 0x65, 0xf1, 0x17, 0xa5, 0xea, 0x64, 0x9c, 0x06, 0xd9, 0xe4, 0xe9, 0xc3, 0xbc, + 0xdf, 0x41, 0xee, 0x76, 0x90, 0xef, 0x76, 0x90, 0x2f, 0x95, 0x90, 0x2f, 0xc2, 0x77, 0x7f, 0x3f, + 0x1e, 0x14, 0xd7, 0x0f, 0xdc, 0xb8, 0x2e, 0xd6, 0x26, 0x39, 0x4c, 0x87, 0x6e, 0xdc, 0x1e, 0xd1, + 0x0c, 0x8e, 0xce, 0x99, 0xd0, 0x3f, 0x4a, 0xd5, 0xad, 0xab, 0x57, 0xfe, 0x4b, 0x63, 0x3f, 0xdb, + 0xc7, 0x34, 0x9d, 0x03, 0x51, 0x1b, 0xd4, 0xad, 0x7a, 0x83, 0x1a, 0xcb, 0x5e, 0x0a, 0x5e, 0x7a, + 0x87, 0xa7, 0x5f, 0xc1, 0x71, 0x27, 0xcb, 0x8f, 0xc4, 0x13, 0x2f, 0xbe, 0x9b, 0xa0, 0x39, 0x50, + 0x21, 0x59, 0xdb, 0x6a, 0xd5, 0x6a, 0xc1, 0x2c, 0xf6, 0xf2, 0x03, 0x2f, 0xbf, 0x27, 0x43, 0x3f, + 0x87, 0x58, 0xa2, 0x3e, 0xaf, 0x71, 0x83, 0x75, 0x32, 0x4d, 0x83, 0x6c, 0x58, 0xdc, 0x10, 0xf4, + 0x0b, 0x98, 0xae, 0x58, 0xcd, 0x24, 0xc7, 0xe7, 0x92, 0x57, 0x4a, 0x27, 0x47, 0xfe, 0x22, 0x1f, + 0x92, 0x34, 0x85, 0x89, 0xb1, 0x4c, 0x5b, 0xd4, 0xce, 0x23, 0x09, 0xf1, 0x9a, 0xdb, 0x14, 0xfd, + 0x06, 0x22, 0xcd, 0xb4, 0xb0, 0xdb, 0xe4, 0xd8, 0xdf, 0xe8, 0xf1, 0xbd, 0x37, 0x72, 0xd2, 0xc2, + 0xcb, 0x8a, 0x9d, 0xfc, 0xa4, 0x82, 0xa9, 0x63, 0x7f, 0x15, 0xb6, 0x3a, 0x75, 0xfe, 0xa0, 0x5f, + 0x43, 0xe8, 0x1e, 0x78, 0xff, 0xf9, 0xa3, 0xfd, 0x5f, 0x1d, 0x2f, 0x73, 0x96, 0xf1, 0xbe, 0xda, + 0x19, 0xb3, 0x07, 0x94, 0x42, 0x58, 0x31, 0x53, 0x79, 0x53, 0xc6, 0x85, 0x8f, 0x4f, 0xbe, 0x84, + 0xf8, 0xa5, 0x68, 0xf0, 0xcc, 0xb2, 0xa6, 0x75, 0x5b, 0xb1, 0x57, 0xc0, 0xb7, 0x0a, 0x8b, 0x1b, + 0x62, 0xfe, 0x67, 0x00, 0x51, 0xef, 0x27, 0x0a, 0x10, 0x19, 0x5e, 0x61, 0x83, 0x64, 0x40, 0xa7, + 0x10, 0xfb, 0x5f, 0x8b, 0xdd, 0xb6, 0x48, 0x02, 0x1a, 0xc3, 0xbe, 0xd5, 0x82, 0xd5, 0x64, 0xcf, + 0x67, 0x50, 0x37, 0x4c, 0xa2, 0xb4, 0x64, 0xe8, 0xa0, 0xe9, 0x4c, 0x8b, 0xb2, 0xc4, 0x92, 0x84, + 0xae, 0xc6, 0x8a, 0x49, 0x89, 0x25, 0xd9, 0xa7, 0x87, 0x00, 0x7d, 0x7c, 0xa6, 0x94, 0x24, 0x11, + 0xa5, 0x70, 0xd8, 0xe3, 0x57, 0xa8, 0xb7, 0x9e, 0x1b, 0xd1, 0x31, 0x84, 0x52, 0x49, 0x24, 0x63, + 0x7a, 0x0c, 0x53, 0x56, 0x6e, 0x50, 0xda, 0x4e, 0xe3, 0xa9, 0xc5, 0x86, 0xc4, 0xf3, 0x9f, 0x01, + 0x6e, 0xd6, 0xe8, 0x4a, 0x73, 0xd5, 0x34, 0x4a, 0x92, 0x01, 0x3d, 0x80, 0x71, 0x27, 0x77, 0x28, + 0x70, 0x45, 0x34, 0xd3, 0x48, 0xf6, 0xe8, 0x11, 0x4c, 0xf0, 0x2d, 0xc7, 0xd6, 0x0a, 0x25, 0x59, + 0x4d, 0x86, 0xee, 0x51, 0x27, 0xc5, 0xeb, 0x0e, 0x49, 0x38, 0x5f, 0x42, 0xec, 0xca, 0x2d, 0x6b, + 0x66, 0xfc, 0xb0, 0x92, 0xb9, 0x5e, 0x64, 0x40, 0x27, 0x30, 0xe2, 0x5d, 0xed, 0x41, 0xe0, 0x06, + 0x6a, 0xb6, 0xc6, 0x0a, 0x2e, 0x4c, 0x43, 0xf6, 0xdc, 0x10, 0x16, 0x79, 0x25, 0x55, 0xad, 0xd6, + 0x5b, 0x32, 0x9c, 0x7f, 0x0f, 0x63, 0x57, 0xe4, 0xe5, 0xb6, 0x45, 0xb7, 0x95, 0xb6, 0x66, 0xdc, + 0x95, 0x00, 0x88, 0x18, 0x77, 0x5d, 0x49, 0xe0, 0x62, 0x94, 0x56, 0xd8, 0x6d, 0xff, 0x41, 0x15, + 0xb2, 0xf2, 0x75, 0xe7, 0xfd, 0x43, 0x86, 0x2f, 0x8a, 0x77, 0x17, 0xb3, 0xe0, 0xfd, 0xc5, 0x2c, + 0xf8, 0xe7, 0x62, 0x16, 0xfc, 0x71, 0x39, 0x1b, 0xbc, 0xbf, 0x9c, 0x0d, 0xfe, 0xba, 0x9c, 0x0d, + 0x7e, 0xfb, 0x76, 0x2d, 0x6c, 0xd5, 0xad, 0x72, 0xae, 0x9a, 0xc5, 0x0f, 0xc8, 0x51, 0x5a, 0xcd, + 0x6a, 0xd7, 0xeb, 0x27, 0xd6, 0xe0, 0xad, 0x7f, 0xc5, 0xb7, 0xb7, 0x62, 0x77, 0x1e, 0xb3, 0x8a, + 0xfc, 0xa9, 0x9e, 0xfd, 0x17, 0x00, 0x00, 0xff, 0xff, 0x01, 0xfd, 0x47, 0x47, 0x45, 0x05, 0x00, + 0x00, +} + +func (m *Card) 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 *Card) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Card) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = 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]) + copy(dAtA[i:], m.Voters[iNdEx]) + i = encodeVarintCard(dAtA, i, uint64(len(m.Voters[iNdEx]))) + i-- + dAtA[i] = 0x72 + } + } + if m.Nerflevel != 0 { + i = encodeVarintCard(dAtA, i, uint64(m.Nerflevel)) + i-- + dAtA[i] = 0x68 + } + if m.InappropriateVotes != 0 { + i = encodeVarintCard(dAtA, i, uint64(m.InappropriateVotes)) + i-- + dAtA[i] = 0x60 + } + if m.UnderpoweredVotes != 0 { + i = encodeVarintCard(dAtA, i, uint64(m.UnderpoweredVotes)) + i-- + dAtA[i] = 0x58 + } + if m.OverpoweredVotes != 0 { + i = encodeVarintCard(dAtA, i, uint64(m.OverpoweredVotes)) + i-- + dAtA[i] = 0x50 + } + if m.FairEnoughVotes != 0 { + i = encodeVarintCard(dAtA, i, uint64(m.FairEnoughVotes)) + i-- + dAtA[i] = 0x48 + } + { + size, err := m.VotePool.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCard(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + if m.Status != 0 { + i = encodeVarintCard(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x38 + } + if len(m.Notes) > 0 { + i -= len(m.Notes) + copy(dAtA[i:], m.Notes) + i = encodeVarintCard(dAtA, i, uint64(len(m.Notes))) + i-- + dAtA[i] = 0x32 + } + if m.FullArt { + i-- + if m.FullArt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.ImageId != 0 { + i = encodeVarintCard(dAtA, i, uint64(m.ImageId)) + i-- + dAtA[i] = 0x20 + } + if len(m.Content) > 0 { + i -= len(m.Content) + copy(dAtA[i:], m.Content) + i = encodeVarintCard(dAtA, i, uint64(len(m.Content))) + i-- + dAtA[i] = 0x1a + } + if len(m.Artist) > 0 { + i -= len(m.Artist) + copy(dAtA[i:], m.Artist) + i = encodeVarintCard(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x12 + } + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintCard(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CardWithImage) 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 *CardWithImage) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *CardWithImage) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + 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] = 0x1a + } + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintCard(dAtA, i, uint64(len(m.Image))) + i-- + dAtA[i] = 0x12 + } + if m.Card != nil { + { + size, err := m.Card.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCard(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + 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 + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Card) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovCard(uint64(l)) + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovCard(uint64(l)) + } + l = len(m.Content) + if l > 0 { + n += 1 + l + sovCard(uint64(l)) + } + if m.ImageId != 0 { + n += 1 + sovCard(uint64(m.ImageId)) + } + if m.FullArt { + n += 2 + } + l = len(m.Notes) + if l > 0 { + n += 1 + l + sovCard(uint64(l)) + } + if m.Status != 0 { + n += 1 + sovCard(uint64(m.Status)) + } + l = m.VotePool.Size() + n += 1 + l + sovCard(uint64(l)) + if m.FairEnoughVotes != 0 { + n += 1 + sovCard(uint64(m.FairEnoughVotes)) + } + if m.OverpoweredVotes != 0 { + n += 1 + sovCard(uint64(m.OverpoweredVotes)) + } + if m.UnderpoweredVotes != 0 { + n += 1 + sovCard(uint64(m.UnderpoweredVotes)) + } + if m.InappropriateVotes != 0 { + n += 1 + sovCard(uint64(m.InappropriateVotes)) + } + if m.Nerflevel != 0 { + n += 1 + sovCard(uint64(m.Nerflevel)) + } + if len(m.Voters) > 0 { + for _, s := range m.Voters { + l = len(s) + 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 +} + +func (m *CardWithImage) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Card != nil { + l = m.Card.Size() + n += 1 + l + sovCard(uint64(l)) + } + l = len(m.Image) + if l > 0 { + n += 1 + l + sovCard(uint64(l)) + } + l = len(m.Hash) + if l > 0 { + n += 1 + l + sovCard(uint64(l)) + } + 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 +} + +func sovCard(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozCard(x uint64) (n int) { + return sovCard(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Card) 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: Card: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Card: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", 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.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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 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.Artist = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + 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 ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthCard + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthCard + } + 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 != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageId", wireType) + } + m.ImageId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ImageId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + 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 ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.FullArt = bool(v != 0) + case 6: + 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 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.Notes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= Status(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VotePool", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCard + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCard + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.VotePool.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + 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 ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.FairEnoughVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + 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 ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OverpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + 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 ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UnderpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + 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 ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InappropriateVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Nerflevel", wireType) + } + m.Nerflevel = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Nerflevel |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Voters", 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.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:]) + 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 *CardWithImage) 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: CardWithImage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CardWithImage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCard + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCard + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Card == nil { + m.Card = &Card{} + } + if err := m.Card.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Image", 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.Image = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + 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 + 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:]) + 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 skipCard(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, ErrIntOverflowCard + } + 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, ErrIntOverflowCard + } + 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, ErrIntOverflowCard + } + 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, ErrInvalidLengthCard + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupCard + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthCard + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthCard = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowCard = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupCard = fmt.Errorf("proto: unexpected end of group") +) From 1cc00e8d841bd5f50f9598ba421b42f016d67836 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 00:37:11 +0100 Subject: [PATCH 15/99] feat(#242): Next wave --- api/cardchain/cardchain/council.pulsar.go | 2478 ++++++++++ api/cardchain/cardchain/tx.pulsar.go | 4399 ++++++++++++++--- api/cardchain/cardchain/tx_grpc.pb.go | 163 +- docs/static/openapi.yml | 2 +- proto/cardchain/cardchain/tx.proto | 37 + .../keeper/msg_server_card_rarity_set.go | 17 + .../msg_server_council_response_commit.go | 17 + .../msg_server_council_response_reveal.go | 17 + x/cardchain/module/autocli.go | 18 + x/cardchain/module/simulation.go | 69 + x/cardchain/simulation/card_rarity_set.go | 29 + .../simulation/council_response_commit.go | 29 + .../simulation/council_response_reveal.go | 29 + x/cardchain/types/codec.go | 9 + x/cardchain/types/council.pb.go | 1169 +++++ x/cardchain/types/message_card_rarity_set.go | 26 + .../types/message_card_rarity_set_test.go | 40 + .../types/message_council_response_commit.go | 26 + .../message_council_response_commit_test.go | 40 + .../types/message_council_response_reveal.go | 26 + .../message_council_response_reveal_test.go | 40 + x/cardchain/types/tx.pb.go | 1671 ++++++- 22 files changed, 9573 insertions(+), 778 deletions(-) create mode 100644 api/cardchain/cardchain/council.pulsar.go create mode 100644 x/cardchain/keeper/msg_server_card_rarity_set.go create mode 100644 x/cardchain/keeper/msg_server_council_response_commit.go create mode 100644 x/cardchain/keeper/msg_server_council_response_reveal.go create mode 100644 x/cardchain/simulation/card_rarity_set.go create mode 100644 x/cardchain/simulation/council_response_commit.go create mode 100644 x/cardchain/simulation/council_response_reveal.go create mode 100644 x/cardchain/types/council.pb.go create mode 100644 x/cardchain/types/message_card_rarity_set.go create mode 100644 x/cardchain/types/message_card_rarity_set_test.go create mode 100644 x/cardchain/types/message_council_response_commit.go create mode 100644 x/cardchain/types/message_council_response_commit_test.go create mode 100644 x/cardchain/types/message_council_response_reveal.go create mode 100644 x/cardchain/types/message_council_response_reveal_test.go diff --git a/api/cardchain/cardchain/council.pulsar.go b/api/cardchain/cardchain/council.pulsar.go new file mode 100644 index 00000000..ad8e4373 --- /dev/null +++ b/api/cardchain/cardchain/council.pulsar.go @@ -0,0 +1,2478 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var _ protoreflect.List = (*_Council_2_list)(nil) + +type _Council_2_list struct { + list *[]string +} + +func (x *_Council_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Council_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_Council_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_Council_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_Council_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Council at list field Voters as it is not of Message kind")) +} + +func (x *_Council_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_Council_2_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Council_2_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_Council_3_list)(nil) + +type _Council_3_list struct { + list *[]*WrapHashResponse +} + +func (x *_Council_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Council_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_Council_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*WrapHashResponse) + (*x.list)[i] = concreteValue +} + +func (x *_Council_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*WrapHashResponse) + *x.list = append(*x.list, concreteValue) +} + +func (x *_Council_3_list) AppendMutable() protoreflect.Value { + v := new(WrapHashResponse) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Council_3_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_Council_3_list) NewElement() protoreflect.Value { + v := new(WrapHashResponse) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Council_3_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_Council_4_list)(nil) + +type _Council_4_list struct { + list *[]*WrapClearResponse +} + +func (x *_Council_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Council_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_Council_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*WrapClearResponse) + (*x.list)[i] = concreteValue +} + +func (x *_Council_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*WrapClearResponse) + *x.list = append(*x.list, concreteValue) +} + +func (x *_Council_4_list) AppendMutable() protoreflect.Value { + v := new(WrapClearResponse) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Council_4_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_Council_4_list) NewElement() protoreflect.Value { + v := new(WrapClearResponse) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Council_4_list) IsValid() bool { + return x.list != nil +} + +var ( + md_Council protoreflect.MessageDescriptor + fd_Council_cardId protoreflect.FieldDescriptor + fd_Council_voters protoreflect.FieldDescriptor + fd_Council_hashResponses protoreflect.FieldDescriptor + fd_Council_clearResponses protoreflect.FieldDescriptor + fd_Council_treasury protoreflect.FieldDescriptor + fd_Council_status protoreflect.FieldDescriptor + fd_Council_trialStart protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_council_proto_init() + md_Council = File_cardchain_cardchain_council_proto.Messages().ByName("Council") + fd_Council_cardId = md_Council.Fields().ByName("cardId") + fd_Council_voters = md_Council.Fields().ByName("voters") + fd_Council_hashResponses = md_Council.Fields().ByName("hashResponses") + fd_Council_clearResponses = md_Council.Fields().ByName("clearResponses") + fd_Council_treasury = md_Council.Fields().ByName("treasury") + fd_Council_status = md_Council.Fields().ByName("status") + fd_Council_trialStart = md_Council.Fields().ByName("trialStart") +} + +var _ protoreflect.Message = (*fastReflection_Council)(nil) + +type fastReflection_Council Council + +func (x *Council) ProtoReflect() protoreflect.Message { + return (*fastReflection_Council)(x) +} + +func (x *Council) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_council_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Council_messageType fastReflection_Council_messageType +var _ protoreflect.MessageType = fastReflection_Council_messageType{} + +type fastReflection_Council_messageType struct{} + +func (x fastReflection_Council_messageType) Zero() protoreflect.Message { + return (*fastReflection_Council)(nil) +} +func (x fastReflection_Council_messageType) New() protoreflect.Message { + return new(fastReflection_Council) +} +func (x fastReflection_Council_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Council +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Council) Descriptor() protoreflect.MessageDescriptor { + return md_Council +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Council) Type() protoreflect.MessageType { + return _fastReflection_Council_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Council) New() protoreflect.Message { + return new(fastReflection_Council) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Council) Interface() protoreflect.ProtoMessage { + return (*Council)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Council) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_Council_cardId, value) { + return + } + } + if len(x.Voters) != 0 { + value := protoreflect.ValueOfList(&_Council_2_list{list: &x.Voters}) + if !f(fd_Council_voters, value) { + return + } + } + if len(x.HashResponses) != 0 { + value := protoreflect.ValueOfList(&_Council_3_list{list: &x.HashResponses}) + if !f(fd_Council_hashResponses, value) { + return + } + } + if len(x.ClearResponses) != 0 { + value := protoreflect.ValueOfList(&_Council_4_list{list: &x.ClearResponses}) + if !f(fd_Council_clearResponses, value) { + return + } + } + if x.Treasury != nil { + value := protoreflect.ValueOfMessage(x.Treasury.ProtoReflect()) + if !f(fd_Council_treasury, value) { + return + } + } + if x.Status != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Status)) + if !f(fd_Council_status, value) { + return + } + } + if x.TrialStart != uint64(0) { + value := protoreflect.ValueOfUint64(x.TrialStart) + if !f(fd_Council_trialStart, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Council) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.Council.cardId": + return x.CardId != uint64(0) + case "cardchain.cardchain.Council.voters": + return len(x.Voters) != 0 + case "cardchain.cardchain.Council.hashResponses": + return len(x.HashResponses) != 0 + case "cardchain.cardchain.Council.clearResponses": + return len(x.ClearResponses) != 0 + case "cardchain.cardchain.Council.treasury": + return x.Treasury != nil + case "cardchain.cardchain.Council.status": + return x.Status != 0 + case "cardchain.cardchain.Council.trialStart": + return x.TrialStart != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Council")) + } + panic(fmt.Errorf("message cardchain.cardchain.Council does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Council) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.Council.cardId": + x.CardId = uint64(0) + case "cardchain.cardchain.Council.voters": + x.Voters = nil + case "cardchain.cardchain.Council.hashResponses": + x.HashResponses = nil + case "cardchain.cardchain.Council.clearResponses": + x.ClearResponses = nil + case "cardchain.cardchain.Council.treasury": + x.Treasury = nil + case "cardchain.cardchain.Council.status": + x.Status = 0 + case "cardchain.cardchain.Council.trialStart": + x.TrialStart = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Council")) + } + panic(fmt.Errorf("message cardchain.cardchain.Council does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Council) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.Council.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Council.voters": + if len(x.Voters) == 0 { + return protoreflect.ValueOfList(&_Council_2_list{}) + } + listValue := &_Council_2_list{list: &x.Voters} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.Council.hashResponses": + if len(x.HashResponses) == 0 { + return protoreflect.ValueOfList(&_Council_3_list{}) + } + listValue := &_Council_3_list{list: &x.HashResponses} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.Council.clearResponses": + if len(x.ClearResponses) == 0 { + return protoreflect.ValueOfList(&_Council_4_list{}) + } + listValue := &_Council_4_list{list: &x.ClearResponses} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.Council.treasury": + value := x.Treasury + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.Council.status": + value := x.Status + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "cardchain.cardchain.Council.trialStart": + value := x.TrialStart + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Council")) + } + panic(fmt.Errorf("message cardchain.cardchain.Council does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Council) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.Council.cardId": + x.CardId = value.Uint() + case "cardchain.cardchain.Council.voters": + lv := value.List() + clv := lv.(*_Council_2_list) + x.Voters = *clv.list + case "cardchain.cardchain.Council.hashResponses": + lv := value.List() + clv := lv.(*_Council_3_list) + x.HashResponses = *clv.list + case "cardchain.cardchain.Council.clearResponses": + lv := value.List() + clv := lv.(*_Council_4_list) + x.ClearResponses = *clv.list + case "cardchain.cardchain.Council.treasury": + x.Treasury = value.Message().Interface().(*v1beta1.Coin) + case "cardchain.cardchain.Council.status": + x.Status = (CouncelingStatus)(value.Enum()) + case "cardchain.cardchain.Council.trialStart": + x.TrialStart = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Council")) + } + panic(fmt.Errorf("message cardchain.cardchain.Council does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Council) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Council.voters": + if x.Voters == nil { + x.Voters = []string{} + } + value := &_Council_2_list{list: &x.Voters} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.Council.hashResponses": + if x.HashResponses == nil { + x.HashResponses = []*WrapHashResponse{} + } + value := &_Council_3_list{list: &x.HashResponses} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.Council.clearResponses": + if x.ClearResponses == nil { + x.ClearResponses = []*WrapClearResponse{} + } + value := &_Council_4_list{list: &x.ClearResponses} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.Council.treasury": + if x.Treasury == nil { + x.Treasury = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Treasury.ProtoReflect()) + case "cardchain.cardchain.Council.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.Council is not mutable")) + case "cardchain.cardchain.Council.status": + panic(fmt.Errorf("field status of message cardchain.cardchain.Council is not mutable")) + case "cardchain.cardchain.Council.trialStart": + panic(fmt.Errorf("field trialStart of message cardchain.cardchain.Council is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Council")) + } + panic(fmt.Errorf("message cardchain.cardchain.Council does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Council) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Council.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Council.voters": + list := []string{} + return protoreflect.ValueOfList(&_Council_2_list{list: &list}) + case "cardchain.cardchain.Council.hashResponses": + list := []*WrapHashResponse{} + return protoreflect.ValueOfList(&_Council_3_list{list: &list}) + case "cardchain.cardchain.Council.clearResponses": + list := []*WrapClearResponse{} + return protoreflect.ValueOfList(&_Council_4_list{list: &list}) + case "cardchain.cardchain.Council.treasury": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.Council.status": + return protoreflect.ValueOfEnum(0) + case "cardchain.cardchain.Council.trialStart": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Council")) + } + panic(fmt.Errorf("message cardchain.cardchain.Council does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Council) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.Council", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Council) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Council) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Council) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Council) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Council) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if len(x.Voters) > 0 { + for _, s := range x.Voters { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.HashResponses) > 0 { + for _, e := range x.HashResponses { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.ClearResponses) > 0 { + for _, e := range x.ClearResponses { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.Treasury != nil { + l = options.Size(x.Treasury) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Status != 0 { + n += 1 + runtime.Sov(uint64(x.Status)) + } + if x.TrialStart != 0 { + n += 1 + runtime.Sov(uint64(x.TrialStart)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Council) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Treasury != nil { + encoded, err := options.Marshal(x.Treasury) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x42 + } + if x.TrialStart != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TrialStart)) + i-- + dAtA[i] = 0x38 + } + if x.Status != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Status)) + i-- + dAtA[i] = 0x30 + } + if len(x.ClearResponses) > 0 { + for iNdEx := len(x.ClearResponses) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.ClearResponses[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x22 + } + } + if len(x.HashResponses) > 0 { + for iNdEx := len(x.HashResponses) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.HashResponses[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + } + if len(x.Voters) > 0 { + for iNdEx := len(x.Voters) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Voters[iNdEx]) + copy(dAtA[i:], x.Voters[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Voters[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Council) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Council: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Council: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Voters", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Voters = append(x.Voters, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field HashResponses", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.HashResponses = append(x.HashResponses, &WrapHashResponse{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.HashResponses[len(x.HashResponses)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ClearResponses", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ClearResponses = append(x.ClearResponses, &WrapClearResponse{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ClearResponses[len(x.ClearResponses)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Treasury", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Treasury == nil { + x.Treasury = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Treasury); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + x.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Status |= CouncelingStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TrialStart", wireType) + } + x.TrialStart = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TrialStart |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_WrapClearResponse protoreflect.MessageDescriptor + fd_WrapClearResponse_user protoreflect.FieldDescriptor + fd_WrapClearResponse_response protoreflect.FieldDescriptor + fd_WrapClearResponse_suggestion protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_council_proto_init() + md_WrapClearResponse = File_cardchain_cardchain_council_proto.Messages().ByName("WrapClearResponse") + fd_WrapClearResponse_user = md_WrapClearResponse.Fields().ByName("user") + fd_WrapClearResponse_response = md_WrapClearResponse.Fields().ByName("response") + fd_WrapClearResponse_suggestion = md_WrapClearResponse.Fields().ByName("suggestion") +} + +var _ protoreflect.Message = (*fastReflection_WrapClearResponse)(nil) + +type fastReflection_WrapClearResponse WrapClearResponse + +func (x *WrapClearResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_WrapClearResponse)(x) +} + +func (x *WrapClearResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_council_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_WrapClearResponse_messageType fastReflection_WrapClearResponse_messageType +var _ protoreflect.MessageType = fastReflection_WrapClearResponse_messageType{} + +type fastReflection_WrapClearResponse_messageType struct{} + +func (x fastReflection_WrapClearResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_WrapClearResponse)(nil) +} +func (x fastReflection_WrapClearResponse_messageType) New() protoreflect.Message { + return new(fastReflection_WrapClearResponse) +} +func (x fastReflection_WrapClearResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_WrapClearResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_WrapClearResponse) Descriptor() protoreflect.MessageDescriptor { + return md_WrapClearResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_WrapClearResponse) Type() protoreflect.MessageType { + return _fastReflection_WrapClearResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_WrapClearResponse) New() protoreflect.Message { + return new(fastReflection_WrapClearResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_WrapClearResponse) Interface() protoreflect.ProtoMessage { + return (*WrapClearResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_WrapClearResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.User != "" { + value := protoreflect.ValueOfString(x.User) + if !f(fd_WrapClearResponse_user, value) { + return + } + } + if x.Response != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Response)) + if !f(fd_WrapClearResponse_response, value) { + return + } + } + if x.Suggestion != "" { + value := protoreflect.ValueOfString(x.Suggestion) + if !f(fd_WrapClearResponse_suggestion, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_WrapClearResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.WrapClearResponse.user": + return x.User != "" + case "cardchain.cardchain.WrapClearResponse.response": + return x.Response != 0 + case "cardchain.cardchain.WrapClearResponse.suggestion": + return x.Suggestion != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.WrapClearResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.WrapClearResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_WrapClearResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.WrapClearResponse.user": + x.User = "" + case "cardchain.cardchain.WrapClearResponse.response": + x.Response = 0 + case "cardchain.cardchain.WrapClearResponse.suggestion": + x.Suggestion = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.WrapClearResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.WrapClearResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_WrapClearResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.WrapClearResponse.user": + value := x.User + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.WrapClearResponse.response": + value := x.Response + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "cardchain.cardchain.WrapClearResponse.suggestion": + value := x.Suggestion + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.WrapClearResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.WrapClearResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_WrapClearResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.WrapClearResponse.user": + x.User = value.Interface().(string) + case "cardchain.cardchain.WrapClearResponse.response": + x.Response = (Response)(value.Enum()) + case "cardchain.cardchain.WrapClearResponse.suggestion": + x.Suggestion = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.WrapClearResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.WrapClearResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_WrapClearResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.WrapClearResponse.user": + panic(fmt.Errorf("field user of message cardchain.cardchain.WrapClearResponse is not mutable")) + case "cardchain.cardchain.WrapClearResponse.response": + panic(fmt.Errorf("field response of message cardchain.cardchain.WrapClearResponse is not mutable")) + case "cardchain.cardchain.WrapClearResponse.suggestion": + panic(fmt.Errorf("field suggestion of message cardchain.cardchain.WrapClearResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.WrapClearResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.WrapClearResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_WrapClearResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.WrapClearResponse.user": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.WrapClearResponse.response": + return protoreflect.ValueOfEnum(0) + case "cardchain.cardchain.WrapClearResponse.suggestion": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.WrapClearResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.WrapClearResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_WrapClearResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.WrapClearResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_WrapClearResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_WrapClearResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_WrapClearResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_WrapClearResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*WrapClearResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.User) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Response != 0 { + n += 1 + runtime.Sov(uint64(x.Response)) + } + l = len(x.Suggestion) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*WrapClearResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Suggestion) > 0 { + i -= len(x.Suggestion) + copy(dAtA[i:], x.Suggestion) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Suggestion))) + i-- + dAtA[i] = 0x1a + } + if x.Response != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Response)) + i-- + dAtA[i] = 0x10 + } + if len(x.User) > 0 { + i -= len(x.User) + copy(dAtA[i:], x.User) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.User))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*WrapClearResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: WrapClearResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: WrapClearResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) + } + x.Response = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Response |= Response(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Suggestion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Suggestion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_WrapHashResponse protoreflect.MessageDescriptor + fd_WrapHashResponse_user protoreflect.FieldDescriptor + fd_WrapHashResponse_hash protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_council_proto_init() + md_WrapHashResponse = File_cardchain_cardchain_council_proto.Messages().ByName("WrapHashResponse") + fd_WrapHashResponse_user = md_WrapHashResponse.Fields().ByName("user") + fd_WrapHashResponse_hash = md_WrapHashResponse.Fields().ByName("hash") +} + +var _ protoreflect.Message = (*fastReflection_WrapHashResponse)(nil) + +type fastReflection_WrapHashResponse WrapHashResponse + +func (x *WrapHashResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_WrapHashResponse)(x) +} + +func (x *WrapHashResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_council_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_WrapHashResponse_messageType fastReflection_WrapHashResponse_messageType +var _ protoreflect.MessageType = fastReflection_WrapHashResponse_messageType{} + +type fastReflection_WrapHashResponse_messageType struct{} + +func (x fastReflection_WrapHashResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_WrapHashResponse)(nil) +} +func (x fastReflection_WrapHashResponse_messageType) New() protoreflect.Message { + return new(fastReflection_WrapHashResponse) +} +func (x fastReflection_WrapHashResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_WrapHashResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_WrapHashResponse) Descriptor() protoreflect.MessageDescriptor { + return md_WrapHashResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_WrapHashResponse) Type() protoreflect.MessageType { + return _fastReflection_WrapHashResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_WrapHashResponse) New() protoreflect.Message { + return new(fastReflection_WrapHashResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_WrapHashResponse) Interface() protoreflect.ProtoMessage { + return (*WrapHashResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_WrapHashResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.User != "" { + value := protoreflect.ValueOfString(x.User) + if !f(fd_WrapHashResponse_user, value) { + return + } + } + if x.Hash != "" { + value := protoreflect.ValueOfString(x.Hash) + if !f(fd_WrapHashResponse_hash, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_WrapHashResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.WrapHashResponse.user": + return x.User != "" + case "cardchain.cardchain.WrapHashResponse.hash": + return x.Hash != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.WrapHashResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.WrapHashResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_WrapHashResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.WrapHashResponse.user": + x.User = "" + case "cardchain.cardchain.WrapHashResponse.hash": + x.Hash = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.WrapHashResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.WrapHashResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_WrapHashResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.WrapHashResponse.user": + value := x.User + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.WrapHashResponse.hash": + value := x.Hash + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.WrapHashResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.WrapHashResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_WrapHashResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.WrapHashResponse.user": + x.User = value.Interface().(string) + case "cardchain.cardchain.WrapHashResponse.hash": + x.Hash = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.WrapHashResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.WrapHashResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_WrapHashResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.WrapHashResponse.user": + panic(fmt.Errorf("field user of message cardchain.cardchain.WrapHashResponse is not mutable")) + case "cardchain.cardchain.WrapHashResponse.hash": + panic(fmt.Errorf("field hash of message cardchain.cardchain.WrapHashResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.WrapHashResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.WrapHashResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_WrapHashResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.WrapHashResponse.user": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.WrapHashResponse.hash": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.WrapHashResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.WrapHashResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_WrapHashResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.WrapHashResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_WrapHashResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_WrapHashResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_WrapHashResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_WrapHashResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*WrapHashResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.User) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Hash) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*WrapHashResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Hash) > 0 { + i -= len(x.Hash) + copy(dAtA[i:], x.Hash) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Hash))) + i-- + dAtA[i] = 0x12 + } + if len(x.User) > 0 { + i -= len(x.User) + copy(dAtA[i:], x.User) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.User))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*WrapHashResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: WrapHashResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: WrapHashResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Hash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/council.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Response int32 + +const ( + Response_Yes Response = 0 + Response_No Response = 1 + Response_Suggestion Response = 2 +) + +// Enum value maps for Response. +var ( + Response_name = map[int32]string{ + 0: "Yes", + 1: "No", + 2: "Suggestion", + } + Response_value = map[string]int32{ + "Yes": 0, + "No": 1, + "Suggestion": 2, + } +) + +func (x Response) Enum() *Response { + p := new(Response) + *p = x + return p +} + +func (x Response) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Response) Descriptor() protoreflect.EnumDescriptor { + return file_cardchain_cardchain_council_proto_enumTypes[0].Descriptor() +} + +func (Response) Type() protoreflect.EnumType { + return &file_cardchain_cardchain_council_proto_enumTypes[0] +} + +func (x Response) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Response.Descriptor instead. +func (Response) EnumDescriptor() ([]byte, []int) { + return file_cardchain_cardchain_council_proto_rawDescGZIP(), []int{0} +} + +type CouncelingStatus int32 + +const ( + CouncelingStatus_councilOpen CouncelingStatus = 0 + CouncelingStatus_councilCreated CouncelingStatus = 1 + CouncelingStatus_councilClosed CouncelingStatus = 2 + CouncelingStatus_commited CouncelingStatus = 3 + CouncelingStatus_revealed CouncelingStatus = 4 + CouncelingStatus_suggestionsMade CouncelingStatus = 5 +) + +// Enum value maps for CouncelingStatus. +var ( + CouncelingStatus_name = map[int32]string{ + 0: "councilOpen", + 1: "councilCreated", + 2: "councilClosed", + 3: "commited", + 4: "revealed", + 5: "suggestionsMade", + } + CouncelingStatus_value = map[string]int32{ + "councilOpen": 0, + "councilCreated": 1, + "councilClosed": 2, + "commited": 3, + "revealed": 4, + "suggestionsMade": 5, + } +) + +func (x CouncelingStatus) Enum() *CouncelingStatus { + p := new(CouncelingStatus) + *p = x + return p +} + +func (x CouncelingStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CouncelingStatus) Descriptor() protoreflect.EnumDescriptor { + return file_cardchain_cardchain_council_proto_enumTypes[1].Descriptor() +} + +func (CouncelingStatus) Type() protoreflect.EnumType { + return &file_cardchain_cardchain_council_proto_enumTypes[1] +} + +func (x CouncelingStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CouncelingStatus.Descriptor instead. +func (CouncelingStatus) EnumDescriptor() ([]byte, []int) { + return file_cardchain_cardchain_council_proto_rawDescGZIP(), []int{1} +} + +type Council struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` + Voters []string `protobuf:"bytes,2,rep,name=voters,proto3" json:"voters,omitempty"` + HashResponses []*WrapHashResponse `protobuf:"bytes,3,rep,name=hashResponses,proto3" json:"hashResponses,omitempty"` + ClearResponses []*WrapClearResponse `protobuf:"bytes,4,rep,name=clearResponses,proto3" json:"clearResponses,omitempty"` + Treasury *v1beta1.Coin `protobuf:"bytes,8,opt,name=treasury,proto3" json:"treasury,omitempty"` + Status CouncelingStatus `protobuf:"varint,6,opt,name=status,proto3,enum=cardchain.cardchain.CouncelingStatus" json:"status,omitempty"` + TrialStart uint64 `protobuf:"varint,7,opt,name=trialStart,proto3" json:"trialStart,omitempty"` +} + +func (x *Council) Reset() { + *x = Council{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_council_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Council) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Council) ProtoMessage() {} + +// Deprecated: Use Council.ProtoReflect.Descriptor instead. +func (*Council) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_council_proto_rawDescGZIP(), []int{0} +} + +func (x *Council) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *Council) GetVoters() []string { + if x != nil { + return x.Voters + } + return nil +} + +func (x *Council) GetHashResponses() []*WrapHashResponse { + if x != nil { + return x.HashResponses + } + return nil +} + +func (x *Council) GetClearResponses() []*WrapClearResponse { + if x != nil { + return x.ClearResponses + } + return nil +} + +func (x *Council) GetTreasury() *v1beta1.Coin { + if x != nil { + return x.Treasury + } + return nil +} + +func (x *Council) GetStatus() CouncelingStatus { + if x != nil { + return x.Status + } + return CouncelingStatus_councilOpen +} + +func (x *Council) GetTrialStart() uint64 { + if x != nil { + return x.TrialStart + } + return 0 +} + +type WrapClearResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Response Response `protobuf:"varint,2,opt,name=response,proto3,enum=cardchain.cardchain.Response" json:"response,omitempty"` + Suggestion string `protobuf:"bytes,3,opt,name=suggestion,proto3" json:"suggestion,omitempty"` +} + +func (x *WrapClearResponse) Reset() { + *x = WrapClearResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_council_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WrapClearResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WrapClearResponse) ProtoMessage() {} + +// Deprecated: Use WrapClearResponse.ProtoReflect.Descriptor instead. +func (*WrapClearResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_council_proto_rawDescGZIP(), []int{1} +} + +func (x *WrapClearResponse) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +func (x *WrapClearResponse) GetResponse() Response { + if x != nil { + return x.Response + } + return Response_Yes +} + +func (x *WrapClearResponse) GetSuggestion() string { + if x != nil { + return x.Suggestion + } + return "" +} + +type WrapHashResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` +} + +func (x *WrapHashResponse) Reset() { + *x = WrapHashResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_council_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WrapHashResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WrapHashResponse) ProtoMessage() {} + +// Deprecated: Use WrapHashResponse.ProtoReflect.Descriptor instead. +func (*WrapHashResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_council_proto_rawDescGZIP(), []int{2} +} + +func (x *WrapHashResponse) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +func (x *WrapHashResponse) GetHash() string { + if x != nil { + return x.Hash + } + return "" +} + +var File_cardchain_cardchain_council_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_council_proto_rawDesc = []byte{ + 0x0a, 0x21, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf2, + 0x02, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x06, 0x76, 0x6f, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x0d, 0x68, 0x61, + 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x57, 0x72, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0e, 0x63, 0x6c, 0x65, 0x61, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x57, 0x72, 0x61, 0x70, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0e, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x74, 0x72, 0x65, 0x61, 0x73, + 0x75, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x08, 0x74, 0x72, 0x65, 0x61, + 0x73, 0x75, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x11, 0x57, 0x72, 0x61, 0x70, 0x43, 0x6c, 0x65, 0x61, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x39, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x67, 0x67, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, + 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x10, 0x57, 0x72, 0x61, 0x70, + 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x68, 0x61, 0x73, 0x68, 0x2a, 0x2b, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x07, 0x0a, 0x03, 0x59, 0x65, 0x73, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4e, 0x6f, 0x10, + 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x10, + 0x02, 0x2a, 0x7b, 0x0a, 0x10, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0f, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x4f, 0x70, 0x65, 0x6e, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x63, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0c, 0x0a, + 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x72, + 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x73, 0x75, 0x67, + 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x64, 0x65, 0x10, 0x05, 0x42, 0xd4, + 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0c, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, + 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_council_proto_rawDescOnce sync.Once + file_cardchain_cardchain_council_proto_rawDescData = file_cardchain_cardchain_council_proto_rawDesc +) + +func file_cardchain_cardchain_council_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_council_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_council_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_council_proto_rawDescData) + }) + return file_cardchain_cardchain_council_proto_rawDescData +} + +var file_cardchain_cardchain_council_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_cardchain_cardchain_council_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_cardchain_cardchain_council_proto_goTypes = []interface{}{ + (Response)(0), // 0: cardchain.cardchain.Response + (CouncelingStatus)(0), // 1: cardchain.cardchain.CouncelingStatus + (*Council)(nil), // 2: cardchain.cardchain.Council + (*WrapClearResponse)(nil), // 3: cardchain.cardchain.WrapClearResponse + (*WrapHashResponse)(nil), // 4: cardchain.cardchain.WrapHashResponse + (*v1beta1.Coin)(nil), // 5: cosmos.base.v1beta1.Coin +} +var file_cardchain_cardchain_council_proto_depIdxs = []int32{ + 4, // 0: cardchain.cardchain.Council.hashResponses:type_name -> cardchain.cardchain.WrapHashResponse + 3, // 1: cardchain.cardchain.Council.clearResponses:type_name -> cardchain.cardchain.WrapClearResponse + 5, // 2: cardchain.cardchain.Council.treasury:type_name -> cosmos.base.v1beta1.Coin + 1, // 3: cardchain.cardchain.Council.status:type_name -> cardchain.cardchain.CouncelingStatus + 0, // 4: cardchain.cardchain.WrapClearResponse.response:type_name -> cardchain.cardchain.Response + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_council_proto_init() } +func file_cardchain_cardchain_council_proto_init() { + if File_cardchain_cardchain_council_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_council_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Council); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_council_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WrapClearResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_council_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WrapHashResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_council_proto_rawDesc, + NumEnums: 2, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_council_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_council_proto_depIdxs, + EnumInfos: file_cardchain_cardchain_council_proto_enumTypes, + MessageInfos: file_cardchain_cardchain_council_proto_msgTypes, + }.Build() + File_cardchain_cardchain_council_proto = out.File + file_cardchain_cardchain_council_proto_rawDesc = nil + file_cardchain_cardchain_council_proto_goTypes = nil + file_cardchain_cardchain_council_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index ea5ad991..f48c2c65 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -23428,6 +23428,2814 @@ func (x *fastReflection_MsgSellOfferRemoveResponse) ProtoMethods() *protoiface.M } } +var ( + md_MsgCardRaritySet protoreflect.MessageDescriptor + fd_MsgCardRaritySet_creator protoreflect.FieldDescriptor + fd_MsgCardRaritySet_cardId protoreflect.FieldDescriptor + fd_MsgCardRaritySet_setId protoreflect.FieldDescriptor + fd_MsgCardRaritySet_rarity protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardRaritySet = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardRaritySet") + fd_MsgCardRaritySet_creator = md_MsgCardRaritySet.Fields().ByName("creator") + fd_MsgCardRaritySet_cardId = md_MsgCardRaritySet.Fields().ByName("cardId") + fd_MsgCardRaritySet_setId = md_MsgCardRaritySet.Fields().ByName("setId") + fd_MsgCardRaritySet_rarity = md_MsgCardRaritySet.Fields().ByName("rarity") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardRaritySet)(nil) + +type fastReflection_MsgCardRaritySet MsgCardRaritySet + +func (x *MsgCardRaritySet) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardRaritySet)(x) +} + +func (x *MsgCardRaritySet) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardRaritySet_messageType fastReflection_MsgCardRaritySet_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardRaritySet_messageType{} + +type fastReflection_MsgCardRaritySet_messageType struct{} + +func (x fastReflection_MsgCardRaritySet_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardRaritySet)(nil) +} +func (x fastReflection_MsgCardRaritySet_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardRaritySet) +} +func (x fastReflection_MsgCardRaritySet_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardRaritySet +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardRaritySet) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardRaritySet +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardRaritySet) Type() protoreflect.MessageType { + return _fastReflection_MsgCardRaritySet_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardRaritySet) New() protoreflect.Message { + return new(fastReflection_MsgCardRaritySet) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardRaritySet) Interface() protoreflect.ProtoMessage { + return (*MsgCardRaritySet)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardRaritySet) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCardRaritySet_creator, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgCardRaritySet_cardId, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgCardRaritySet_setId, value) { + return + } + } + if x.Rarity != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Rarity)) + if !f(fd_MsgCardRaritySet_rarity, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardRaritySet) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardRaritySet.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCardRaritySet.cardId": + return x.CardId != uint64(0) + case "cardchain.cardchain.MsgCardRaritySet.setId": + return x.SetId != uint64(0) + case "cardchain.cardchain.MsgCardRaritySet.rarity": + return x.Rarity != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardRaritySet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardRaritySet does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardRaritySet) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardRaritySet.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCardRaritySet.cardId": + x.CardId = uint64(0) + case "cardchain.cardchain.MsgCardRaritySet.setId": + x.SetId = uint64(0) + case "cardchain.cardchain.MsgCardRaritySet.rarity": + x.Rarity = 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardRaritySet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardRaritySet does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardRaritySet) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardRaritySet.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardRaritySet.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgCardRaritySet.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgCardRaritySet.rarity": + value := x.Rarity + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardRaritySet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardRaritySet does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardRaritySet) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardRaritySet.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCardRaritySet.cardId": + x.CardId = value.Uint() + case "cardchain.cardchain.MsgCardRaritySet.setId": + x.SetId = value.Uint() + case "cardchain.cardchain.MsgCardRaritySet.rarity": + x.Rarity = (CardRarity)(value.Enum()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardRaritySet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardRaritySet does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardRaritySet) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardRaritySet.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCardRaritySet is not mutable")) + case "cardchain.cardchain.MsgCardRaritySet.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgCardRaritySet is not mutable")) + case "cardchain.cardchain.MsgCardRaritySet.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgCardRaritySet is not mutable")) + case "cardchain.cardchain.MsgCardRaritySet.rarity": + panic(fmt.Errorf("field rarity of message cardchain.cardchain.MsgCardRaritySet is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardRaritySet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardRaritySet does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardRaritySet) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardRaritySet.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardRaritySet.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgCardRaritySet.setId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgCardRaritySet.rarity": + return protoreflect.ValueOfEnum(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardRaritySet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardRaritySet does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardRaritySet) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardRaritySet", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardRaritySet) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardRaritySet) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardRaritySet) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardRaritySet) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardRaritySet) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + if x.Rarity != 0 { + n += 1 + runtime.Sov(uint64(x.Rarity)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardRaritySet) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Rarity != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Rarity)) + i-- + dAtA[i] = 0x20 + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x18 + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardRaritySet) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardRaritySet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardRaritySet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Rarity", wireType) + } + x.Rarity = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Rarity |= CardRarity(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardRaritySetResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardRaritySetResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardRaritySetResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardRaritySetResponse)(nil) + +type fastReflection_MsgCardRaritySetResponse MsgCardRaritySetResponse + +func (x *MsgCardRaritySetResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardRaritySetResponse)(x) +} + +func (x *MsgCardRaritySetResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardRaritySetResponse_messageType fastReflection_MsgCardRaritySetResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardRaritySetResponse_messageType{} + +type fastReflection_MsgCardRaritySetResponse_messageType struct{} + +func (x fastReflection_MsgCardRaritySetResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardRaritySetResponse)(nil) +} +func (x fastReflection_MsgCardRaritySetResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardRaritySetResponse) +} +func (x fastReflection_MsgCardRaritySetResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardRaritySetResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardRaritySetResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardRaritySetResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardRaritySetResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCardRaritySetResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardRaritySetResponse) New() protoreflect.Message { + return new(fastReflection_MsgCardRaritySetResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardRaritySetResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCardRaritySetResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardRaritySetResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardRaritySetResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardRaritySetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardRaritySetResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardRaritySetResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardRaritySetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardRaritySetResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardRaritySetResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardRaritySetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardRaritySetResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardRaritySetResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardRaritySetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardRaritySetResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardRaritySetResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardRaritySetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardRaritySetResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardRaritySetResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardRaritySetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardRaritySetResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardRaritySetResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardRaritySetResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardRaritySetResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardRaritySetResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardRaritySetResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardRaritySetResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardRaritySetResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardRaritySetResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardRaritySetResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardRaritySetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardRaritySetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCouncilResponseCommit protoreflect.MessageDescriptor + fd_MsgCouncilResponseCommit_creator protoreflect.FieldDescriptor + fd_MsgCouncilResponseCommit_councilId protoreflect.FieldDescriptor + fd_MsgCouncilResponseCommit_reponse protoreflect.FieldDescriptor + fd_MsgCouncilResponseCommit_suggestion protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCouncilResponseCommit = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilResponseCommit") + fd_MsgCouncilResponseCommit_creator = md_MsgCouncilResponseCommit.Fields().ByName("creator") + fd_MsgCouncilResponseCommit_councilId = md_MsgCouncilResponseCommit.Fields().ByName("councilId") + fd_MsgCouncilResponseCommit_reponse = md_MsgCouncilResponseCommit.Fields().ByName("reponse") + fd_MsgCouncilResponseCommit_suggestion = md_MsgCouncilResponseCommit.Fields().ByName("suggestion") +} + +var _ protoreflect.Message = (*fastReflection_MsgCouncilResponseCommit)(nil) + +type fastReflection_MsgCouncilResponseCommit MsgCouncilResponseCommit + +func (x *MsgCouncilResponseCommit) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCouncilResponseCommit)(x) +} + +func (x *MsgCouncilResponseCommit) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCouncilResponseCommit_messageType fastReflection_MsgCouncilResponseCommit_messageType +var _ protoreflect.MessageType = fastReflection_MsgCouncilResponseCommit_messageType{} + +type fastReflection_MsgCouncilResponseCommit_messageType struct{} + +func (x fastReflection_MsgCouncilResponseCommit_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCouncilResponseCommit)(nil) +} +func (x fastReflection_MsgCouncilResponseCommit_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCouncilResponseCommit) +} +func (x fastReflection_MsgCouncilResponseCommit_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilResponseCommit +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCouncilResponseCommit) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilResponseCommit +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCouncilResponseCommit) Type() protoreflect.MessageType { + return _fastReflection_MsgCouncilResponseCommit_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCouncilResponseCommit) New() protoreflect.Message { + return new(fastReflection_MsgCouncilResponseCommit) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCouncilResponseCommit) Interface() protoreflect.ProtoMessage { + return (*MsgCouncilResponseCommit)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCouncilResponseCommit) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCouncilResponseCommit_creator, value) { + return + } + } + if x.CouncilId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CouncilId) + if !f(fd_MsgCouncilResponseCommit_councilId, value) { + return + } + } + if x.Reponse != "" { + value := protoreflect.ValueOfString(x.Reponse) + if !f(fd_MsgCouncilResponseCommit_reponse, value) { + return + } + } + if x.Suggestion != "" { + value := protoreflect.ValueOfString(x.Suggestion) + if !f(fd_MsgCouncilResponseCommit_suggestion, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCouncilResponseCommit) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilResponseCommit.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCouncilResponseCommit.councilId": + return x.CouncilId != uint64(0) + case "cardchain.cardchain.MsgCouncilResponseCommit.reponse": + return x.Reponse != "" + case "cardchain.cardchain.MsgCouncilResponseCommit.suggestion": + return x.Suggestion != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseCommit")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseCommit does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseCommit) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilResponseCommit.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCouncilResponseCommit.councilId": + x.CouncilId = uint64(0) + case "cardchain.cardchain.MsgCouncilResponseCommit.reponse": + x.Reponse = "" + case "cardchain.cardchain.MsgCouncilResponseCommit.suggestion": + x.Suggestion = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseCommit")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseCommit does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCouncilResponseCommit) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCouncilResponseCommit.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCouncilResponseCommit.councilId": + value := x.CouncilId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgCouncilResponseCommit.reponse": + value := x.Reponse + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCouncilResponseCommit.suggestion": + value := x.Suggestion + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseCommit")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseCommit does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseCommit) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilResponseCommit.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCouncilResponseCommit.councilId": + x.CouncilId = value.Uint() + case "cardchain.cardchain.MsgCouncilResponseCommit.reponse": + x.Reponse = value.Interface().(string) + case "cardchain.cardchain.MsgCouncilResponseCommit.suggestion": + x.Suggestion = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseCommit")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseCommit does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseCommit) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilResponseCommit.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCouncilResponseCommit is not mutable")) + case "cardchain.cardchain.MsgCouncilResponseCommit.councilId": + panic(fmt.Errorf("field councilId of message cardchain.cardchain.MsgCouncilResponseCommit is not mutable")) + case "cardchain.cardchain.MsgCouncilResponseCommit.reponse": + panic(fmt.Errorf("field reponse of message cardchain.cardchain.MsgCouncilResponseCommit is not mutable")) + case "cardchain.cardchain.MsgCouncilResponseCommit.suggestion": + panic(fmt.Errorf("field suggestion of message cardchain.cardchain.MsgCouncilResponseCommit is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseCommit")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseCommit does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCouncilResponseCommit) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilResponseCommit.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCouncilResponseCommit.councilId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgCouncilResponseCommit.reponse": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCouncilResponseCommit.suggestion": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseCommit")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseCommit does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCouncilResponseCommit) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCouncilResponseCommit", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCouncilResponseCommit) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseCommit) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCouncilResponseCommit) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCouncilResponseCommit) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCouncilResponseCommit) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CouncilId != 0 { + n += 1 + runtime.Sov(uint64(x.CouncilId)) + } + l = len(x.Reponse) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Suggestion) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilResponseCommit) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Suggestion) > 0 { + i -= len(x.Suggestion) + copy(dAtA[i:], x.Suggestion) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Suggestion))) + i-- + dAtA[i] = 0x22 + } + if len(x.Reponse) > 0 { + i -= len(x.Reponse) + copy(dAtA[i:], x.Reponse) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reponse))) + i-- + dAtA[i] = 0x1a + } + if x.CouncilId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CouncilId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilResponseCommit) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilResponseCommit: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilResponseCommit: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) + } + x.CouncilId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CouncilId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reponse", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Reponse = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Suggestion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Suggestion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCouncilResponseCommitResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCouncilResponseCommitResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilResponseCommitResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCouncilResponseCommitResponse)(nil) + +type fastReflection_MsgCouncilResponseCommitResponse MsgCouncilResponseCommitResponse + +func (x *MsgCouncilResponseCommitResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCouncilResponseCommitResponse)(x) +} + +func (x *MsgCouncilResponseCommitResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCouncilResponseCommitResponse_messageType fastReflection_MsgCouncilResponseCommitResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCouncilResponseCommitResponse_messageType{} + +type fastReflection_MsgCouncilResponseCommitResponse_messageType struct{} + +func (x fastReflection_MsgCouncilResponseCommitResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCouncilResponseCommitResponse)(nil) +} +func (x fastReflection_MsgCouncilResponseCommitResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCouncilResponseCommitResponse) +} +func (x fastReflection_MsgCouncilResponseCommitResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilResponseCommitResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCouncilResponseCommitResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilResponseCommitResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCouncilResponseCommitResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCouncilResponseCommitResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCouncilResponseCommitResponse) New() protoreflect.Message { + return new(fastReflection_MsgCouncilResponseCommitResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCouncilResponseCommitResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCouncilResponseCommitResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCouncilResponseCommitResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCouncilResponseCommitResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseCommitResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseCommitResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseCommitResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseCommitResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseCommitResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCouncilResponseCommitResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseCommitResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseCommitResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseCommitResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseCommitResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseCommitResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseCommitResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseCommitResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseCommitResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCouncilResponseCommitResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseCommitResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseCommitResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCouncilResponseCommitResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCouncilResponseCommitResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCouncilResponseCommitResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseCommitResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCouncilResponseCommitResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCouncilResponseCommitResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCouncilResponseCommitResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilResponseCommitResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilResponseCommitResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilResponseCommitResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilResponseCommitResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCouncilResponseReveal protoreflect.MessageDescriptor + fd_MsgCouncilResponseReveal_creator protoreflect.FieldDescriptor + fd_MsgCouncilResponseReveal_councilId protoreflect.FieldDescriptor + fd_MsgCouncilResponseReveal_reponse protoreflect.FieldDescriptor + fd_MsgCouncilResponseReveal_secret protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCouncilResponseReveal = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilResponseReveal") + fd_MsgCouncilResponseReveal_creator = md_MsgCouncilResponseReveal.Fields().ByName("creator") + fd_MsgCouncilResponseReveal_councilId = md_MsgCouncilResponseReveal.Fields().ByName("councilId") + fd_MsgCouncilResponseReveal_reponse = md_MsgCouncilResponseReveal.Fields().ByName("reponse") + fd_MsgCouncilResponseReveal_secret = md_MsgCouncilResponseReveal.Fields().ByName("secret") +} + +var _ protoreflect.Message = (*fastReflection_MsgCouncilResponseReveal)(nil) + +type fastReflection_MsgCouncilResponseReveal MsgCouncilResponseReveal + +func (x *MsgCouncilResponseReveal) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCouncilResponseReveal)(x) +} + +func (x *MsgCouncilResponseReveal) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCouncilResponseReveal_messageType fastReflection_MsgCouncilResponseReveal_messageType +var _ protoreflect.MessageType = fastReflection_MsgCouncilResponseReveal_messageType{} + +type fastReflection_MsgCouncilResponseReveal_messageType struct{} + +func (x fastReflection_MsgCouncilResponseReveal_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCouncilResponseReveal)(nil) +} +func (x fastReflection_MsgCouncilResponseReveal_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCouncilResponseReveal) +} +func (x fastReflection_MsgCouncilResponseReveal_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilResponseReveal +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCouncilResponseReveal) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilResponseReveal +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCouncilResponseReveal) Type() protoreflect.MessageType { + return _fastReflection_MsgCouncilResponseReveal_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCouncilResponseReveal) New() protoreflect.Message { + return new(fastReflection_MsgCouncilResponseReveal) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCouncilResponseReveal) Interface() protoreflect.ProtoMessage { + return (*MsgCouncilResponseReveal)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCouncilResponseReveal) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCouncilResponseReveal_creator, value) { + return + } + } + if x.CouncilId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CouncilId) + if !f(fd_MsgCouncilResponseReveal_councilId, value) { + return + } + } + if x.Reponse != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Reponse)) + if !f(fd_MsgCouncilResponseReveal_reponse, value) { + return + } + } + if x.Secret != "" { + value := protoreflect.ValueOfString(x.Secret) + if !f(fd_MsgCouncilResponseReveal_secret, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCouncilResponseReveal) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilResponseReveal.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCouncilResponseReveal.councilId": + return x.CouncilId != uint64(0) + case "cardchain.cardchain.MsgCouncilResponseReveal.reponse": + return x.Reponse != 0 + case "cardchain.cardchain.MsgCouncilResponseReveal.secret": + return x.Secret != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseReveal")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseReveal does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseReveal) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilResponseReveal.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCouncilResponseReveal.councilId": + x.CouncilId = uint64(0) + case "cardchain.cardchain.MsgCouncilResponseReveal.reponse": + x.Reponse = 0 + case "cardchain.cardchain.MsgCouncilResponseReveal.secret": + x.Secret = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseReveal")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseReveal does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCouncilResponseReveal) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCouncilResponseReveal.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCouncilResponseReveal.councilId": + value := x.CouncilId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgCouncilResponseReveal.reponse": + value := x.Reponse + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "cardchain.cardchain.MsgCouncilResponseReveal.secret": + value := x.Secret + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseReveal")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseReveal does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseReveal) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilResponseReveal.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCouncilResponseReveal.councilId": + x.CouncilId = value.Uint() + case "cardchain.cardchain.MsgCouncilResponseReveal.reponse": + x.Reponse = (Response)(value.Enum()) + case "cardchain.cardchain.MsgCouncilResponseReveal.secret": + x.Secret = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseReveal")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseReveal does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseReveal) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilResponseReveal.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCouncilResponseReveal is not mutable")) + case "cardchain.cardchain.MsgCouncilResponseReveal.councilId": + panic(fmt.Errorf("field councilId of message cardchain.cardchain.MsgCouncilResponseReveal is not mutable")) + case "cardchain.cardchain.MsgCouncilResponseReveal.reponse": + panic(fmt.Errorf("field reponse of message cardchain.cardchain.MsgCouncilResponseReveal is not mutable")) + case "cardchain.cardchain.MsgCouncilResponseReveal.secret": + panic(fmt.Errorf("field secret of message cardchain.cardchain.MsgCouncilResponseReveal is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseReveal")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseReveal does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCouncilResponseReveal) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilResponseReveal.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCouncilResponseReveal.councilId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgCouncilResponseReveal.reponse": + return protoreflect.ValueOfEnum(0) + case "cardchain.cardchain.MsgCouncilResponseReveal.secret": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseReveal")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseReveal does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCouncilResponseReveal) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCouncilResponseReveal", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCouncilResponseReveal) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseReveal) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCouncilResponseReveal) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCouncilResponseReveal) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCouncilResponseReveal) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CouncilId != 0 { + n += 1 + runtime.Sov(uint64(x.CouncilId)) + } + if x.Reponse != 0 { + n += 1 + runtime.Sov(uint64(x.Reponse)) + } + l = len(x.Secret) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilResponseReveal) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Secret) > 0 { + i -= len(x.Secret) + copy(dAtA[i:], x.Secret) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Secret))) + i-- + dAtA[i] = 0x22 + } + if x.Reponse != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Reponse)) + i-- + dAtA[i] = 0x18 + } + if x.CouncilId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CouncilId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilResponseReveal) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilResponseReveal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilResponseReveal: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) + } + x.CouncilId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CouncilId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reponse", wireType) + } + x.Reponse = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Reponse |= Response(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Secret = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCouncilResponseRevealResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCouncilResponseRevealResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilResponseRevealResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCouncilResponseRevealResponse)(nil) + +type fastReflection_MsgCouncilResponseRevealResponse MsgCouncilResponseRevealResponse + +func (x *MsgCouncilResponseRevealResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCouncilResponseRevealResponse)(x) +} + +func (x *MsgCouncilResponseRevealResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCouncilResponseRevealResponse_messageType fastReflection_MsgCouncilResponseRevealResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCouncilResponseRevealResponse_messageType{} + +type fastReflection_MsgCouncilResponseRevealResponse_messageType struct{} + +func (x fastReflection_MsgCouncilResponseRevealResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCouncilResponseRevealResponse)(nil) +} +func (x fastReflection_MsgCouncilResponseRevealResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCouncilResponseRevealResponse) +} +func (x fastReflection_MsgCouncilResponseRevealResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilResponseRevealResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCouncilResponseRevealResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilResponseRevealResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCouncilResponseRevealResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCouncilResponseRevealResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCouncilResponseRevealResponse) New() protoreflect.Message { + return new(fastReflection_MsgCouncilResponseRevealResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCouncilResponseRevealResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCouncilResponseRevealResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCouncilResponseRevealResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCouncilResponseRevealResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseRevealResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseRevealResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseRevealResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseRevealResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseRevealResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCouncilResponseRevealResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseRevealResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseRevealResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseRevealResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseRevealResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseRevealResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseRevealResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseRevealResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseRevealResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCouncilResponseRevealResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilResponseRevealResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilResponseRevealResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCouncilResponseRevealResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCouncilResponseRevealResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCouncilResponseRevealResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilResponseRevealResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCouncilResponseRevealResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCouncilResponseRevealResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCouncilResponseRevealResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilResponseRevealResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilResponseRevealResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilResponseRevealResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilResponseRevealResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -25223,226 +28031,481 @@ func (*MsgBoosterPackBuyResponse) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{45} } -func (x *MsgBoosterPackBuyResponse) GetAirdropClaimed() bool { - if x != nil { - return x.AirdropClaimed - } - return false +func (x *MsgBoosterPackBuyResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgSellOfferCreate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Price *v1beta1.Coin `protobuf:"bytes,3,opt,name=price,proto3" json:"price,omitempty"` +} + +func (x *MsgSellOfferCreate) Reset() { + *x = MsgSellOfferCreate{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSellOfferCreate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSellOfferCreate) ProtoMessage() {} + +// Deprecated: Use MsgSellOfferCreate.ProtoReflect.Descriptor instead. +func (*MsgSellOfferCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{46} +} + +func (x *MsgSellOfferCreate) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgSellOfferCreate) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgSellOfferCreate) GetPrice() *v1beta1.Coin { + if x != nil { + return x.Price + } + return nil +} + +type MsgSellOfferCreateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgSellOfferCreateResponse) Reset() { + *x = MsgSellOfferCreateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSellOfferCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSellOfferCreateResponse) ProtoMessage() {} + +// Deprecated: Use MsgSellOfferCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgSellOfferCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{47} +} + +type MsgSellOfferBuy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` +} + +func (x *MsgSellOfferBuy) Reset() { + *x = MsgSellOfferBuy{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSellOfferBuy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSellOfferBuy) ProtoMessage() {} + +// Deprecated: Use MsgSellOfferBuy.ProtoReflect.Descriptor instead. +func (*MsgSellOfferBuy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{48} +} + +func (x *MsgSellOfferBuy) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgSellOfferBuy) GetSellOfferId() uint64 { + if x != nil { + return x.SellOfferId + } + return 0 +} + +type MsgSellOfferBuyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgSellOfferBuyResponse) Reset() { + *x = MsgSellOfferBuyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSellOfferBuyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSellOfferBuyResponse) ProtoMessage() {} + +// Deprecated: Use MsgSellOfferBuyResponse.ProtoReflect.Descriptor instead. +func (*MsgSellOfferBuyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{49} +} + +type MsgSellOfferRemove struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` +} + +func (x *MsgSellOfferRemove) Reset() { + *x = MsgSellOfferRemove{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSellOfferRemove) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSellOfferRemove) ProtoMessage() {} + +// Deprecated: Use MsgSellOfferRemove.ProtoReflect.Descriptor instead. +func (*MsgSellOfferRemove) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{50} +} + +func (x *MsgSellOfferRemove) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgSellOfferRemove) GetSellOfferId() uint64 { + if x != nil { + return x.SellOfferId + } + return 0 +} + +type MsgSellOfferRemoveResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgSellOfferRemoveResponse) Reset() { + *x = MsgSellOfferRemoveResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSellOfferRemoveResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSellOfferRemoveResponse) ProtoMessage() {} + +// Deprecated: Use MsgSellOfferRemoveResponse.ProtoReflect.Descriptor instead. +func (*MsgSellOfferRemoveResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{51} } -type MsgSellOfferCreate struct { +type MsgCardRaritySet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Price *v1beta1.Coin `protobuf:"bytes,3,opt,name=price,proto3" json:"price,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=cardchain.cardchain.CardRarity" json:"rarity,omitempty"` } -func (x *MsgSellOfferCreate) Reset() { - *x = MsgSellOfferCreate{} +func (x *MsgCardRaritySet) Reset() { + *x = MsgCardRaritySet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[46] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferCreate) String() string { +func (x *MsgCardRaritySet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferCreate) ProtoMessage() {} +func (*MsgCardRaritySet) ProtoMessage() {} -// Deprecated: Use MsgSellOfferCreate.ProtoReflect.Descriptor instead. -func (*MsgSellOfferCreate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{46} +// Deprecated: Use MsgCardRaritySet.ProtoReflect.Descriptor instead. +func (*MsgCardRaritySet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{52} } -func (x *MsgSellOfferCreate) GetCreator() string { +func (x *MsgCardRaritySet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSellOfferCreate) GetCardId() uint64 { +func (x *MsgCardRaritySet) GetCardId() uint64 { if x != nil { return x.CardId } return 0 } -func (x *MsgSellOfferCreate) GetPrice() *v1beta1.Coin { +func (x *MsgCardRaritySet) GetSetId() uint64 { if x != nil { - return x.Price + return x.SetId } - return nil + return 0 } -type MsgSellOfferCreateResponse struct { +func (x *MsgCardRaritySet) GetRarity() CardRarity { + if x != nil { + return x.Rarity + } + return CardRarity_common +} + +type MsgCardRaritySetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSellOfferCreateResponse) Reset() { - *x = MsgSellOfferCreateResponse{} +func (x *MsgCardRaritySetResponse) Reset() { + *x = MsgCardRaritySetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[47] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferCreateResponse) String() string { +func (x *MsgCardRaritySetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferCreateResponse) ProtoMessage() {} +func (*MsgCardRaritySetResponse) ProtoMessage() {} -// Deprecated: Use MsgSellOfferCreateResponse.ProtoReflect.Descriptor instead. -func (*MsgSellOfferCreateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{47} +// Deprecated: Use MsgCardRaritySetResponse.ProtoReflect.Descriptor instead. +func (*MsgCardRaritySetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{53} } -type MsgSellOfferBuy struct { +type MsgCouncilResponseCommit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` + Reponse string `protobuf:"bytes,3,opt,name=reponse,proto3" json:"reponse,omitempty"` + Suggestion string `protobuf:"bytes,4,opt,name=suggestion,proto3" json:"suggestion,omitempty"` } -func (x *MsgSellOfferBuy) Reset() { - *x = MsgSellOfferBuy{} +func (x *MsgCouncilResponseCommit) Reset() { + *x = MsgCouncilResponseCommit{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[48] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferBuy) String() string { +func (x *MsgCouncilResponseCommit) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferBuy) ProtoMessage() {} +func (*MsgCouncilResponseCommit) ProtoMessage() {} -// Deprecated: Use MsgSellOfferBuy.ProtoReflect.Descriptor instead. -func (*MsgSellOfferBuy) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{48} +// Deprecated: Use MsgCouncilResponseCommit.ProtoReflect.Descriptor instead. +func (*MsgCouncilResponseCommit) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{54} } -func (x *MsgSellOfferBuy) GetCreator() string { +func (x *MsgCouncilResponseCommit) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSellOfferBuy) GetSellOfferId() uint64 { +func (x *MsgCouncilResponseCommit) GetCouncilId() uint64 { if x != nil { - return x.SellOfferId + return x.CouncilId } return 0 } -type MsgSellOfferBuyResponse struct { +func (x *MsgCouncilResponseCommit) GetReponse() string { + if x != nil { + return x.Reponse + } + return "" +} + +func (x *MsgCouncilResponseCommit) GetSuggestion() string { + if x != nil { + return x.Suggestion + } + return "" +} + +type MsgCouncilResponseCommitResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSellOfferBuyResponse) Reset() { - *x = MsgSellOfferBuyResponse{} +func (x *MsgCouncilResponseCommitResponse) Reset() { + *x = MsgCouncilResponseCommitResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[49] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferBuyResponse) String() string { +func (x *MsgCouncilResponseCommitResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferBuyResponse) ProtoMessage() {} +func (*MsgCouncilResponseCommitResponse) ProtoMessage() {} -// Deprecated: Use MsgSellOfferBuyResponse.ProtoReflect.Descriptor instead. -func (*MsgSellOfferBuyResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{49} +// Deprecated: Use MsgCouncilResponseCommitResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilResponseCommitResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{55} } -type MsgSellOfferRemove struct { +type MsgCouncilResponseReveal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` + Reponse Response `protobuf:"varint,3,opt,name=reponse,proto3,enum=cardchain.cardchain.Response" json:"reponse,omitempty"` + Secret string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` } -func (x *MsgSellOfferRemove) Reset() { - *x = MsgSellOfferRemove{} +func (x *MsgCouncilResponseReveal) Reset() { + *x = MsgCouncilResponseReveal{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[50] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferRemove) String() string { +func (x *MsgCouncilResponseReveal) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferRemove) ProtoMessage() {} +func (*MsgCouncilResponseReveal) ProtoMessage() {} -// Deprecated: Use MsgSellOfferRemove.ProtoReflect.Descriptor instead. -func (*MsgSellOfferRemove) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{50} +// Deprecated: Use MsgCouncilResponseReveal.ProtoReflect.Descriptor instead. +func (*MsgCouncilResponseReveal) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{56} } -func (x *MsgSellOfferRemove) GetCreator() string { +func (x *MsgCouncilResponseReveal) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSellOfferRemove) GetSellOfferId() uint64 { +func (x *MsgCouncilResponseReveal) GetCouncilId() uint64 { if x != nil { - return x.SellOfferId + return x.CouncilId } return 0 } -type MsgSellOfferRemoveResponse struct { +func (x *MsgCouncilResponseReveal) GetReponse() Response { + if x != nil { + return x.Reponse + } + return Response_Yes +} + +func (x *MsgCouncilResponseReveal) GetSecret() string { + if x != nil { + return x.Secret + } + return "" +} + +type MsgCouncilResponseRevealResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSellOfferRemoveResponse) Reset() { - *x = MsgSellOfferRemoveResponse{} +func (x *MsgCouncilResponseRevealResponse) Reset() { + *x = MsgCouncilResponseRevealResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[51] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferRemoveResponse) String() string { +func (x *MsgCouncilResponseRevealResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferRemoveResponse) ProtoMessage() {} +func (*MsgCouncilResponseRevealResponse) ProtoMessage() {} -// Deprecated: Use MsgSellOfferRemoveResponse.ProtoReflect.Descriptor instead. -func (*MsgSellOfferRemoveResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{51} +// Deprecated: Use MsgCouncilResponseRevealResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilResponseRevealResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{57} } var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor @@ -25465,434 +28528,498 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, - 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, - 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x3a, 0x38, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x25, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x78, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, - 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x38, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x25, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, + 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0d, 0x4d, 0x73, 0x67, + 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x10, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x03, 0x62, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, + 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x03, 0x62, 0x69, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x18, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0xc2, + 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, + 0x24, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, + 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x44, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, + 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, + 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, + 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x0b, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, + 0x65, 0x52, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x3d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, + 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, + 0x69, 0x6d, 0x65, 0x64, 0x22, 0x6d, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, - 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, - 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, + 0x01, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, + 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, + 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, - 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, - 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x03, 0x62, 0x69, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0xc2, 0x01, 0x0a, 0x12, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3e, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xd2, 0x01, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x41, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x41, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, + 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x12, 0x36, + 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, + 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, + 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, - 0x6f, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, - 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, - 0x6f, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x44, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, - 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, - 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x33, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x04, - 0x76, 0x6f, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x3d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, - 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, - 0x64, 0x22, 0x6d, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, - 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x0d, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, - 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, - 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x83, 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, + 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, - 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x14, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0c, - 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd2, 0x01, 0x0a, - 0x0e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, - 0x64, 0x73, 0x41, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x41, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x12, 0x36, 0x0a, 0x07, 0x6f, - 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, - 0x6f, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x10, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, - 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x17, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, - 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x01, - 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x65, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x68, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, + 0x1f, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xa8, 0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, + 0x64, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x18, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x68, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, + 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, + 0x18, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x0a, 0x14, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x6b, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x6b, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, - 0x1f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x4e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, - 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, 0x10, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, - 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, - 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, - 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, - 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, + 0x10, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x64, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, + 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x43, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, - 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, - 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, - 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, - 0x35, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, - 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5b, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, - 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, - 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x0a, 0x12, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x51, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, + 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x43, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, + 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, + 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x12, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x9a, 0x15, 0x0a, 0x03, 0x4d, 0x73, 0x67, - 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x12, 0x35, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, + 0x1f, 0x00, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x0a, + 0x12, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, + 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, + 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x10, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x18, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, + 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, 0x0a, + 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, + 0x64, 0x12, 0x37, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xff, 0x17, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, + 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, - 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, + 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, + 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, + 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, + 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, - 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, - 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, - 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, + 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, - 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, - 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, - 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, - 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, + 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, + 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, + 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, - 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, - 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, + 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, - 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, - 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, + 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, + 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, + 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, - 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, - 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, - 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, - 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, + 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, + 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, - 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, - 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, - 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, - 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, + 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, + 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, + 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, + 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, + 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, + 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, + 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, + 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, + 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, - 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, - 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, + 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, + 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, + 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, + 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -25907,129 +29034,145 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 52) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 58) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ - (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams - (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse - (*MsgUserCreate)(nil), // 2: cardchain.cardchain.MsgUserCreate - (*MsgUserCreateResponse)(nil), // 3: cardchain.cardchain.MsgUserCreateResponse - (*MsgCardSchemeBuy)(nil), // 4: cardchain.cardchain.MsgCardSchemeBuy - (*MsgCardSchemeBuyResponse)(nil), // 5: cardchain.cardchain.MsgCardSchemeBuyResponse - (*MsgCardSaveContent)(nil), // 6: cardchain.cardchain.MsgCardSaveContent - (*MsgCardSaveContentResponse)(nil), // 7: cardchain.cardchain.MsgCardSaveContentResponse - (*MsgCardVote)(nil), // 8: cardchain.cardchain.MsgCardVote - (*MsgCardVoteResponse)(nil), // 9: cardchain.cardchain.MsgCardVoteResponse - (*MsgCardTransfer)(nil), // 10: cardchain.cardchain.MsgCardTransfer - (*MsgCardTransferResponse)(nil), // 11: cardchain.cardchain.MsgCardTransferResponse - (*MsgCardDonate)(nil), // 12: cardchain.cardchain.MsgCardDonate - (*MsgCardDonateResponse)(nil), // 13: cardchain.cardchain.MsgCardDonateResponse - (*MsgCardArtworkAdd)(nil), // 14: cardchain.cardchain.MsgCardArtworkAdd - (*MsgCardArtworkAddResponse)(nil), // 15: cardchain.cardchain.MsgCardArtworkAddResponse - (*MsgCardArtistChange)(nil), // 16: cardchain.cardchain.MsgCardArtistChange - (*MsgCardArtistChangeResponse)(nil), // 17: cardchain.cardchain.MsgCardArtistChangeResponse - (*MsgCouncilRegister)(nil), // 18: cardchain.cardchain.MsgCouncilRegister - (*MsgCouncilRegisterResponse)(nil), // 19: cardchain.cardchain.MsgCouncilRegisterResponse - (*MsgCouncilDeregister)(nil), // 20: cardchain.cardchain.MsgCouncilDeregister - (*MsgCouncilDeregisterResponse)(nil), // 21: cardchain.cardchain.MsgCouncilDeregisterResponse - (*MsgMatchReport)(nil), // 22: cardchain.cardchain.MsgMatchReport - (*MsgMatchReportResponse)(nil), // 23: cardchain.cardchain.MsgMatchReportResponse - (*MsgCouncilCreate)(nil), // 24: cardchain.cardchain.MsgCouncilCreate - (*MsgCouncilCreateResponse)(nil), // 25: cardchain.cardchain.MsgCouncilCreateResponse - (*MsgMatchReporterAppoint)(nil), // 26: cardchain.cardchain.MsgMatchReporterAppoint - (*MsgMatchReporterAppointResponse)(nil), // 27: cardchain.cardchain.MsgMatchReporterAppointResponse - (*MsgSetCreate)(nil), // 28: cardchain.cardchain.MsgSetCreate - (*MsgSetCreateResponse)(nil), // 29: cardchain.cardchain.MsgSetCreateResponse - (*MsgSetCardAdd)(nil), // 30: cardchain.cardchain.MsgSetCardAdd - (*MsgSetCardAddResponse)(nil), // 31: cardchain.cardchain.MsgSetCardAddResponse - (*MsgSetCardRemove)(nil), // 32: cardchain.cardchain.MsgSetCardRemove - (*MsgSetCardRemoveResponse)(nil), // 33: cardchain.cardchain.MsgSetCardRemoveResponse - (*MsgSetContributorAdd)(nil), // 34: cardchain.cardchain.MsgSetContributorAdd - (*MsgSetContributorAddResponse)(nil), // 35: cardchain.cardchain.MsgSetContributorAddResponse - (*MsgSetContributorRemove)(nil), // 36: cardchain.cardchain.MsgSetContributorRemove - (*MsgSetContributorRemoveResponse)(nil), // 37: cardchain.cardchain.MsgSetContributorRemoveResponse - (*MsgSetFinalize)(nil), // 38: cardchain.cardchain.MsgSetFinalize - (*MsgSetFinalizeResponse)(nil), // 39: cardchain.cardchain.MsgSetFinalizeResponse - (*MsgSetArtworkAdd)(nil), // 40: cardchain.cardchain.MsgSetArtworkAdd - (*MsgSetArtworkAddResponse)(nil), // 41: cardchain.cardchain.MsgSetArtworkAddResponse - (*MsgSetStoryAdd)(nil), // 42: cardchain.cardchain.MsgSetStoryAdd - (*MsgSetStoryAddResponse)(nil), // 43: cardchain.cardchain.MsgSetStoryAddResponse - (*MsgBoosterPackBuy)(nil), // 44: cardchain.cardchain.MsgBoosterPackBuy - (*MsgBoosterPackBuyResponse)(nil), // 45: cardchain.cardchain.MsgBoosterPackBuyResponse - (*MsgSellOfferCreate)(nil), // 46: cardchain.cardchain.MsgSellOfferCreate - (*MsgSellOfferCreateResponse)(nil), // 47: cardchain.cardchain.MsgSellOfferCreateResponse - (*MsgSellOfferBuy)(nil), // 48: cardchain.cardchain.MsgSellOfferBuy - (*MsgSellOfferBuyResponse)(nil), // 49: cardchain.cardchain.MsgSellOfferBuyResponse - (*MsgSellOfferRemove)(nil), // 50: cardchain.cardchain.MsgSellOfferRemove - (*MsgSellOfferRemoveResponse)(nil), // 51: cardchain.cardchain.MsgSellOfferRemoveResponse - (*Params)(nil), // 52: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 53: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 54: cardchain.cardchain.SingleVote - (Outcome)(0), // 55: cardchain.cardchain.Outcome + (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams + (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse + (*MsgUserCreate)(nil), // 2: cardchain.cardchain.MsgUserCreate + (*MsgUserCreateResponse)(nil), // 3: cardchain.cardchain.MsgUserCreateResponse + (*MsgCardSchemeBuy)(nil), // 4: cardchain.cardchain.MsgCardSchemeBuy + (*MsgCardSchemeBuyResponse)(nil), // 5: cardchain.cardchain.MsgCardSchemeBuyResponse + (*MsgCardSaveContent)(nil), // 6: cardchain.cardchain.MsgCardSaveContent + (*MsgCardSaveContentResponse)(nil), // 7: cardchain.cardchain.MsgCardSaveContentResponse + (*MsgCardVote)(nil), // 8: cardchain.cardchain.MsgCardVote + (*MsgCardVoteResponse)(nil), // 9: cardchain.cardchain.MsgCardVoteResponse + (*MsgCardTransfer)(nil), // 10: cardchain.cardchain.MsgCardTransfer + (*MsgCardTransferResponse)(nil), // 11: cardchain.cardchain.MsgCardTransferResponse + (*MsgCardDonate)(nil), // 12: cardchain.cardchain.MsgCardDonate + (*MsgCardDonateResponse)(nil), // 13: cardchain.cardchain.MsgCardDonateResponse + (*MsgCardArtworkAdd)(nil), // 14: cardchain.cardchain.MsgCardArtworkAdd + (*MsgCardArtworkAddResponse)(nil), // 15: cardchain.cardchain.MsgCardArtworkAddResponse + (*MsgCardArtistChange)(nil), // 16: cardchain.cardchain.MsgCardArtistChange + (*MsgCardArtistChangeResponse)(nil), // 17: cardchain.cardchain.MsgCardArtistChangeResponse + (*MsgCouncilRegister)(nil), // 18: cardchain.cardchain.MsgCouncilRegister + (*MsgCouncilRegisterResponse)(nil), // 19: cardchain.cardchain.MsgCouncilRegisterResponse + (*MsgCouncilDeregister)(nil), // 20: cardchain.cardchain.MsgCouncilDeregister + (*MsgCouncilDeregisterResponse)(nil), // 21: cardchain.cardchain.MsgCouncilDeregisterResponse + (*MsgMatchReport)(nil), // 22: cardchain.cardchain.MsgMatchReport + (*MsgMatchReportResponse)(nil), // 23: cardchain.cardchain.MsgMatchReportResponse + (*MsgCouncilCreate)(nil), // 24: cardchain.cardchain.MsgCouncilCreate + (*MsgCouncilCreateResponse)(nil), // 25: cardchain.cardchain.MsgCouncilCreateResponse + (*MsgMatchReporterAppoint)(nil), // 26: cardchain.cardchain.MsgMatchReporterAppoint + (*MsgMatchReporterAppointResponse)(nil), // 27: cardchain.cardchain.MsgMatchReporterAppointResponse + (*MsgSetCreate)(nil), // 28: cardchain.cardchain.MsgSetCreate + (*MsgSetCreateResponse)(nil), // 29: cardchain.cardchain.MsgSetCreateResponse + (*MsgSetCardAdd)(nil), // 30: cardchain.cardchain.MsgSetCardAdd + (*MsgSetCardAddResponse)(nil), // 31: cardchain.cardchain.MsgSetCardAddResponse + (*MsgSetCardRemove)(nil), // 32: cardchain.cardchain.MsgSetCardRemove + (*MsgSetCardRemoveResponse)(nil), // 33: cardchain.cardchain.MsgSetCardRemoveResponse + (*MsgSetContributorAdd)(nil), // 34: cardchain.cardchain.MsgSetContributorAdd + (*MsgSetContributorAddResponse)(nil), // 35: cardchain.cardchain.MsgSetContributorAddResponse + (*MsgSetContributorRemove)(nil), // 36: cardchain.cardchain.MsgSetContributorRemove + (*MsgSetContributorRemoveResponse)(nil), // 37: cardchain.cardchain.MsgSetContributorRemoveResponse + (*MsgSetFinalize)(nil), // 38: cardchain.cardchain.MsgSetFinalize + (*MsgSetFinalizeResponse)(nil), // 39: cardchain.cardchain.MsgSetFinalizeResponse + (*MsgSetArtworkAdd)(nil), // 40: cardchain.cardchain.MsgSetArtworkAdd + (*MsgSetArtworkAddResponse)(nil), // 41: cardchain.cardchain.MsgSetArtworkAddResponse + (*MsgSetStoryAdd)(nil), // 42: cardchain.cardchain.MsgSetStoryAdd + (*MsgSetStoryAddResponse)(nil), // 43: cardchain.cardchain.MsgSetStoryAddResponse + (*MsgBoosterPackBuy)(nil), // 44: cardchain.cardchain.MsgBoosterPackBuy + (*MsgBoosterPackBuyResponse)(nil), // 45: cardchain.cardchain.MsgBoosterPackBuyResponse + (*MsgSellOfferCreate)(nil), // 46: cardchain.cardchain.MsgSellOfferCreate + (*MsgSellOfferCreateResponse)(nil), // 47: cardchain.cardchain.MsgSellOfferCreateResponse + (*MsgSellOfferBuy)(nil), // 48: cardchain.cardchain.MsgSellOfferBuy + (*MsgSellOfferBuyResponse)(nil), // 49: cardchain.cardchain.MsgSellOfferBuyResponse + (*MsgSellOfferRemove)(nil), // 50: cardchain.cardchain.MsgSellOfferRemove + (*MsgSellOfferRemoveResponse)(nil), // 51: cardchain.cardchain.MsgSellOfferRemoveResponse + (*MsgCardRaritySet)(nil), // 52: cardchain.cardchain.MsgCardRaritySet + (*MsgCardRaritySetResponse)(nil), // 53: cardchain.cardchain.MsgCardRaritySetResponse + (*MsgCouncilResponseCommit)(nil), // 54: cardchain.cardchain.MsgCouncilResponseCommit + (*MsgCouncilResponseCommitResponse)(nil), // 55: cardchain.cardchain.MsgCouncilResponseCommitResponse + (*MsgCouncilResponseReveal)(nil), // 56: cardchain.cardchain.MsgCouncilResponseReveal + (*MsgCouncilResponseRevealResponse)(nil), // 57: cardchain.cardchain.MsgCouncilResponseRevealResponse + (*Params)(nil), // 58: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 59: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 60: cardchain.cardchain.SingleVote + (Outcome)(0), // 61: cardchain.cardchain.Outcome + (CardRarity)(0), // 62: cardchain.cardchain.CardRarity + (Response)(0), // 63: cardchain.cardchain.Response } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 52, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 53, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 54, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 53, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 55, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome - 53, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin - 0, // 6: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams - 2, // 7: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate - 4, // 8: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy - 6, // 9: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent - 8, // 10: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote - 10, // 11: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer - 12, // 12: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate - 14, // 13: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd - 16, // 14: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange - 18, // 15: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister - 20, // 16: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister - 22, // 17: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport - 24, // 18: cardchain.cardchain.Msg.CouncilCreate:input_type -> cardchain.cardchain.MsgCouncilCreate - 26, // 19: cardchain.cardchain.Msg.MatchReporterAppoint:input_type -> cardchain.cardchain.MsgMatchReporterAppoint - 28, // 20: cardchain.cardchain.Msg.SetCreate:input_type -> cardchain.cardchain.MsgSetCreate - 30, // 21: cardchain.cardchain.Msg.SetCardAdd:input_type -> cardchain.cardchain.MsgSetCardAdd - 32, // 22: cardchain.cardchain.Msg.SetCardRemove:input_type -> cardchain.cardchain.MsgSetCardRemove - 34, // 23: cardchain.cardchain.Msg.SetContributorAdd:input_type -> cardchain.cardchain.MsgSetContributorAdd - 36, // 24: cardchain.cardchain.Msg.SetContributorRemove:input_type -> cardchain.cardchain.MsgSetContributorRemove - 38, // 25: cardchain.cardchain.Msg.SetFinalize:input_type -> cardchain.cardchain.MsgSetFinalize - 40, // 26: cardchain.cardchain.Msg.SetArtworkAdd:input_type -> cardchain.cardchain.MsgSetArtworkAdd - 42, // 27: cardchain.cardchain.Msg.SetStoryAdd:input_type -> cardchain.cardchain.MsgSetStoryAdd - 44, // 28: cardchain.cardchain.Msg.BoosterPackBuy:input_type -> cardchain.cardchain.MsgBoosterPackBuy - 46, // 29: cardchain.cardchain.Msg.SellOfferCreate:input_type -> cardchain.cardchain.MsgSellOfferCreate - 48, // 30: cardchain.cardchain.Msg.SellOfferBuy:input_type -> cardchain.cardchain.MsgSellOfferBuy - 50, // 31: cardchain.cardchain.Msg.SellOfferRemove:input_type -> cardchain.cardchain.MsgSellOfferRemove - 1, // 32: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 33: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 34: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 35: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 36: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 37: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 38: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 39: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 40: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 41: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 42: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 43: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 25, // 44: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse - 27, // 45: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse - 29, // 46: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse - 31, // 47: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse - 33, // 48: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse - 35, // 49: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse - 37, // 50: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse - 39, // 51: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse - 41, // 52: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse - 43, // 53: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse - 45, // 54: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse - 47, // 55: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse - 49, // 56: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse - 51, // 57: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse - 32, // [32:58] is the sub-list for method output_type - 6, // [6:32] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 58, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 59, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 60, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 59, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 61, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 59, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin + 62, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity + 63, // 7: cardchain.cardchain.MsgCouncilResponseReveal.reponse:type_name -> cardchain.cardchain.Response + 0, // 8: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams + 2, // 9: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate + 4, // 10: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy + 6, // 11: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent + 8, // 12: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote + 10, // 13: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer + 12, // 14: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate + 14, // 15: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd + 16, // 16: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange + 18, // 17: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister + 20, // 18: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister + 22, // 19: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport + 24, // 20: cardchain.cardchain.Msg.CouncilCreate:input_type -> cardchain.cardchain.MsgCouncilCreate + 26, // 21: cardchain.cardchain.Msg.MatchReporterAppoint:input_type -> cardchain.cardchain.MsgMatchReporterAppoint + 28, // 22: cardchain.cardchain.Msg.SetCreate:input_type -> cardchain.cardchain.MsgSetCreate + 30, // 23: cardchain.cardchain.Msg.SetCardAdd:input_type -> cardchain.cardchain.MsgSetCardAdd + 32, // 24: cardchain.cardchain.Msg.SetCardRemove:input_type -> cardchain.cardchain.MsgSetCardRemove + 34, // 25: cardchain.cardchain.Msg.SetContributorAdd:input_type -> cardchain.cardchain.MsgSetContributorAdd + 36, // 26: cardchain.cardchain.Msg.SetContributorRemove:input_type -> cardchain.cardchain.MsgSetContributorRemove + 38, // 27: cardchain.cardchain.Msg.SetFinalize:input_type -> cardchain.cardchain.MsgSetFinalize + 40, // 28: cardchain.cardchain.Msg.SetArtworkAdd:input_type -> cardchain.cardchain.MsgSetArtworkAdd + 42, // 29: cardchain.cardchain.Msg.SetStoryAdd:input_type -> cardchain.cardchain.MsgSetStoryAdd + 44, // 30: cardchain.cardchain.Msg.BoosterPackBuy:input_type -> cardchain.cardchain.MsgBoosterPackBuy + 46, // 31: cardchain.cardchain.Msg.SellOfferCreate:input_type -> cardchain.cardchain.MsgSellOfferCreate + 48, // 32: cardchain.cardchain.Msg.SellOfferBuy:input_type -> cardchain.cardchain.MsgSellOfferBuy + 50, // 33: cardchain.cardchain.Msg.SellOfferRemove:input_type -> cardchain.cardchain.MsgSellOfferRemove + 52, // 34: cardchain.cardchain.Msg.CardRaritySet:input_type -> cardchain.cardchain.MsgCardRaritySet + 54, // 35: cardchain.cardchain.Msg.CouncilResponseCommit:input_type -> cardchain.cardchain.MsgCouncilResponseCommit + 56, // 36: cardchain.cardchain.Msg.CouncilResponseReveal:input_type -> cardchain.cardchain.MsgCouncilResponseReveal + 1, // 37: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 38: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 39: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 40: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 41: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 42: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 43: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 44: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 45: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 46: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 47: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 48: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 25, // 49: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse + 27, // 50: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse + 29, // 51: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse + 31, // 52: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse + 33, // 53: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse + 35, // 54: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse + 37, // 55: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse + 39, // 56: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse + 41, // 57: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse + 43, // 58: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse + 45, // 59: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse + 47, // 60: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse + 49, // 61: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse + 51, // 62: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse + 53, // 63: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse + 55, // 64: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse + 57, // 65: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse + 37, // [37:66] is the sub-list for method output_type + 8, // [8:37] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_cardchain_cardchain_tx_proto_init() } @@ -26040,6 +29183,8 @@ func file_cardchain_cardchain_tx_proto_init() { file_cardchain_cardchain_params_proto_init() file_cardchain_cardchain_voting_proto_init() file_cardchain_cardchain_match_proto_init() + file_cardchain_cardchain_council_proto_init() + file_cardchain_cardchain_card_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_tx_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateParams); i { @@ -26665,6 +29810,78 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } + file_cardchain_cardchain_tx_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardRaritySet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardRaritySetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilResponseCommit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilResponseCommitResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilResponseReveal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilResponseRevealResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -26672,7 +29889,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 52, + NumMessages: 58, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index a6f4140a..fc1327d7 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -19,32 +19,35 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - Msg_UpdateParams_FullMethodName = "/cardchain.cardchain.Msg/UpdateParams" - Msg_UserCreate_FullMethodName = "/cardchain.cardchain.Msg/UserCreate" - Msg_CardSchemeBuy_FullMethodName = "/cardchain.cardchain.Msg/CardSchemeBuy" - Msg_CardSaveContent_FullMethodName = "/cardchain.cardchain.Msg/CardSaveContent" - Msg_CardVote_FullMethodName = "/cardchain.cardchain.Msg/CardVote" - Msg_CardTransfer_FullMethodName = "/cardchain.cardchain.Msg/CardTransfer" - Msg_CardDonate_FullMethodName = "/cardchain.cardchain.Msg/CardDonate" - Msg_CardArtworkAdd_FullMethodName = "/cardchain.cardchain.Msg/CardArtworkAdd" - Msg_CardArtistChange_FullMethodName = "/cardchain.cardchain.Msg/CardArtistChange" - Msg_CouncilRegister_FullMethodName = "/cardchain.cardchain.Msg/CouncilRegister" - Msg_CouncilDeregister_FullMethodName = "/cardchain.cardchain.Msg/CouncilDeregister" - Msg_MatchReport_FullMethodName = "/cardchain.cardchain.Msg/MatchReport" - Msg_CouncilCreate_FullMethodName = "/cardchain.cardchain.Msg/CouncilCreate" - Msg_MatchReporterAppoint_FullMethodName = "/cardchain.cardchain.Msg/MatchReporterAppoint" - Msg_SetCreate_FullMethodName = "/cardchain.cardchain.Msg/SetCreate" - Msg_SetCardAdd_FullMethodName = "/cardchain.cardchain.Msg/SetCardAdd" - Msg_SetCardRemove_FullMethodName = "/cardchain.cardchain.Msg/SetCardRemove" - Msg_SetContributorAdd_FullMethodName = "/cardchain.cardchain.Msg/SetContributorAdd" - Msg_SetContributorRemove_FullMethodName = "/cardchain.cardchain.Msg/SetContributorRemove" - Msg_SetFinalize_FullMethodName = "/cardchain.cardchain.Msg/SetFinalize" - Msg_SetArtworkAdd_FullMethodName = "/cardchain.cardchain.Msg/SetArtworkAdd" - Msg_SetStoryAdd_FullMethodName = "/cardchain.cardchain.Msg/SetStoryAdd" - Msg_BoosterPackBuy_FullMethodName = "/cardchain.cardchain.Msg/BoosterPackBuy" - Msg_SellOfferCreate_FullMethodName = "/cardchain.cardchain.Msg/SellOfferCreate" - Msg_SellOfferBuy_FullMethodName = "/cardchain.cardchain.Msg/SellOfferBuy" - Msg_SellOfferRemove_FullMethodName = "/cardchain.cardchain.Msg/SellOfferRemove" + Msg_UpdateParams_FullMethodName = "/cardchain.cardchain.Msg/UpdateParams" + Msg_UserCreate_FullMethodName = "/cardchain.cardchain.Msg/UserCreate" + Msg_CardSchemeBuy_FullMethodName = "/cardchain.cardchain.Msg/CardSchemeBuy" + Msg_CardSaveContent_FullMethodName = "/cardchain.cardchain.Msg/CardSaveContent" + Msg_CardVote_FullMethodName = "/cardchain.cardchain.Msg/CardVote" + Msg_CardTransfer_FullMethodName = "/cardchain.cardchain.Msg/CardTransfer" + Msg_CardDonate_FullMethodName = "/cardchain.cardchain.Msg/CardDonate" + Msg_CardArtworkAdd_FullMethodName = "/cardchain.cardchain.Msg/CardArtworkAdd" + Msg_CardArtistChange_FullMethodName = "/cardchain.cardchain.Msg/CardArtistChange" + Msg_CouncilRegister_FullMethodName = "/cardchain.cardchain.Msg/CouncilRegister" + Msg_CouncilDeregister_FullMethodName = "/cardchain.cardchain.Msg/CouncilDeregister" + Msg_MatchReport_FullMethodName = "/cardchain.cardchain.Msg/MatchReport" + Msg_CouncilCreate_FullMethodName = "/cardchain.cardchain.Msg/CouncilCreate" + Msg_MatchReporterAppoint_FullMethodName = "/cardchain.cardchain.Msg/MatchReporterAppoint" + Msg_SetCreate_FullMethodName = "/cardchain.cardchain.Msg/SetCreate" + Msg_SetCardAdd_FullMethodName = "/cardchain.cardchain.Msg/SetCardAdd" + Msg_SetCardRemove_FullMethodName = "/cardchain.cardchain.Msg/SetCardRemove" + Msg_SetContributorAdd_FullMethodName = "/cardchain.cardchain.Msg/SetContributorAdd" + Msg_SetContributorRemove_FullMethodName = "/cardchain.cardchain.Msg/SetContributorRemove" + Msg_SetFinalize_FullMethodName = "/cardchain.cardchain.Msg/SetFinalize" + Msg_SetArtworkAdd_FullMethodName = "/cardchain.cardchain.Msg/SetArtworkAdd" + Msg_SetStoryAdd_FullMethodName = "/cardchain.cardchain.Msg/SetStoryAdd" + Msg_BoosterPackBuy_FullMethodName = "/cardchain.cardchain.Msg/BoosterPackBuy" + Msg_SellOfferCreate_FullMethodName = "/cardchain.cardchain.Msg/SellOfferCreate" + Msg_SellOfferBuy_FullMethodName = "/cardchain.cardchain.Msg/SellOfferBuy" + Msg_SellOfferRemove_FullMethodName = "/cardchain.cardchain.Msg/SellOfferRemove" + Msg_CardRaritySet_FullMethodName = "/cardchain.cardchain.Msg/CardRaritySet" + Msg_CouncilResponseCommit_FullMethodName = "/cardchain.cardchain.Msg/CouncilResponseCommit" + Msg_CouncilResponseReveal_FullMethodName = "/cardchain.cardchain.Msg/CouncilResponseReveal" ) // MsgClient is the client API for Msg service. @@ -79,6 +82,9 @@ type MsgClient interface { SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) + CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) + CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) + CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) } type msgClient struct { @@ -323,6 +329,33 @@ func (c *msgClient) SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, return out, nil } +func (c *msgClient) CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) { + out := new(MsgCardRaritySetResponse) + err := c.cc.Invoke(ctx, Msg_CardRaritySet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) { + out := new(MsgCouncilResponseCommitResponse) + err := c.cc.Invoke(ctx, Msg_CouncilResponseCommit_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) { + out := new(MsgCouncilResponseRevealResponse) + err := c.cc.Invoke(ctx, Msg_CouncilResponseReveal_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -355,6 +388,9 @@ type MsgServer interface { SellOfferCreate(context.Context, *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) SellOfferBuy(context.Context, *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) SellOfferRemove(context.Context, *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) + CardRaritySet(context.Context, *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) + CouncilResponseCommit(context.Context, *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) + CouncilResponseReveal(context.Context, *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) mustEmbedUnimplementedMsgServer() } @@ -440,6 +476,15 @@ func (UnimplementedMsgServer) SellOfferBuy(context.Context, *MsgSellOfferBuy) (* func (UnimplementedMsgServer) SellOfferRemove(context.Context, *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SellOfferRemove not implemented") } +func (UnimplementedMsgServer) CardRaritySet(context.Context, *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardRaritySet not implemented") +} +func (UnimplementedMsgServer) CouncilResponseCommit(context.Context, *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseCommit not implemented") +} +func (UnimplementedMsgServer) CouncilResponseReveal(context.Context, *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseReveal not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -921,6 +966,60 @@ func _Msg_SellOfferRemove_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Msg_CardRaritySet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardRaritySet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardRaritySet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CardRaritySet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardRaritySet(ctx, req.(*MsgCardRaritySet)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CouncilResponseCommit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilResponseCommit) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilResponseCommit(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CouncilResponseCommit_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilResponseCommit(ctx, req.(*MsgCouncilResponseCommit)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CouncilResponseReveal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilResponseReveal) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilResponseReveal(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CouncilResponseReveal_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilResponseReveal(ctx, req.(*MsgCouncilResponseReveal)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1032,6 +1131,18 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "SellOfferRemove", Handler: _Msg_SellOfferRemove_Handler, }, + { + MethodName: "CardRaritySet", + Handler: _Msg_CardRaritySet_Handler, + }, + { + MethodName: "CouncilResponseCommit", + Handler: _Msg_CouncilResponseCommit_Handler, + }, + { + MethodName: "CouncilResponseReveal", + Handler: _Msg_CouncilResponseReveal_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 6f7f4712..13992b2f 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 11af7527..793d1ad8 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -10,6 +10,8 @@ import "cardchain/cardchain/params.proto"; import "cosmos/base/v1beta1/coin.proto"; import "cardchain/cardchain/voting.proto"; import "cardchain/cardchain/match.proto"; +import "cardchain/cardchain/council.proto"; +import "cardchain/cardchain/card.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; @@ -50,6 +52,11 @@ service Msg { rpc SellOfferCreate(MsgSellOfferCreate) returns (MsgSellOfferCreateResponse); rpc SellOfferBuy(MsgSellOfferBuy) returns (MsgSellOfferBuyResponse); rpc SellOfferRemove(MsgSellOfferRemove) returns (MsgSellOfferRemoveResponse); + rpc CardRaritySet(MsgCardRaritySet) returns (MsgCardRaritySetResponse); + rpc CouncilResponseCommit(MsgCouncilResponseCommit) + returns (MsgCouncilResponseCommitResponse); + rpc CouncilResponseReveal(MsgCouncilResponseReveal) + returns (MsgCouncilResponseRevealResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -291,3 +298,33 @@ message MsgSellOfferRemove { } message MsgSellOfferRemoveResponse {} + +message MsgCardRaritySet { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 cardId = 2; + uint64 setId = 3; + CardRarity rarity = 4; +} + +message MsgCardRaritySetResponse {} + +message MsgCouncilResponseCommit { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 councilId = 2; + string reponse = 3; + string suggestion = 4; +} + +message MsgCouncilResponseCommitResponse {} + +message MsgCouncilResponseReveal { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 councilId = 2; + Response reponse = 3; + string secret = 4; +} + +message MsgCouncilResponseRevealResponse {} diff --git a/x/cardchain/keeper/msg_server_card_rarity_set.go b/x/cardchain/keeper/msg_server_card_rarity_set.go new file mode 100644 index 00000000..03b2ec03 --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_rarity_set.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CardRaritySet(goCtx context.Context, msg *types.MsgCardRaritySet) (*types.MsgCardRaritySetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCardRaritySetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_council_response_commit.go b/x/cardchain/keeper/msg_server_council_response_commit.go new file mode 100644 index 00000000..62e2be36 --- /dev/null +++ b/x/cardchain/keeper/msg_server_council_response_commit.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CouncilResponseCommit(goCtx context.Context, msg *types.MsgCouncilResponseCommit) (*types.MsgCouncilResponseCommitResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCouncilResponseCommitResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_council_response_reveal.go b/x/cardchain/keeper/msg_server_council_response_reveal.go new file mode 100644 index 00000000..564e48cf --- /dev/null +++ b/x/cardchain/keeper/msg_server_council_response_reveal.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CouncilResponseReveal(goCtx context.Context, msg *types.MsgCouncilResponseReveal) (*types.MsgCouncilResponseRevealResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCouncilResponseRevealResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 357a7c8b..7ed7bc71 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -178,6 +178,24 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Send a SellOfferRemove tx", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "sellOfferId"}}, }, + { + RpcMethod: "CardRaritySet", + Use: "card-rarity-set [card-id] [set-id] [rarity]", + Short: "Send a CardRaritySet tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}, {ProtoField: "setId"}, {ProtoField: "rarity"}}, + }, + { + RpcMethod: "CouncilResponseCommit", + Use: "council-response-commit [council-id] [reponse] [suggestion]", + Short: "Send a CouncilResponseCommit tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "councilId"}, {ProtoField: "reponse"}, {ProtoField: "suggestion"}}, + }, + { + RpcMethod: "CouncilResponseReveal", + Use: "council-response-reveal [council-id] [reponse] [secret]", + Short: "Send a CouncilResponseReveal tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "councilId"}, {ProtoField: "reponse"}, {ProtoField: "secret"}}, + }, // this line is used by ignite scaffolding # autocli/tx }, }, diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index 6cc780da..2b1f8daa 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -123,6 +123,18 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgSellOfferRemove int = 100 + opWeightMsgCardRaritySet = "op_weight_msg_card_rarity_set" + // TODO: Determine the simulation weight value + defaultWeightMsgCardRaritySet int = 100 + + opWeightMsgCouncilResponseCommit = "op_weight_msg_council_response_commit" + // TODO: Determine the simulation weight value + defaultWeightMsgCouncilResponseCommit int = 100 + + opWeightMsgCouncilResponseReveal = "op_weight_msg_council_response_reveal" + // TODO: Determine the simulation weight value + defaultWeightMsgCouncilResponseReveal int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -421,6 +433,39 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgSellOfferRemove(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgCardRaritySet int + simState.AppParams.GetOrGenerate(opWeightMsgCardRaritySet, &weightMsgCardRaritySet, nil, + func(_ *rand.Rand) { + weightMsgCardRaritySet = defaultWeightMsgCardRaritySet + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardRaritySet, + cardchainsimulation.SimulateMsgCardRaritySet(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCouncilResponseCommit int + simState.AppParams.GetOrGenerate(opWeightMsgCouncilResponseCommit, &weightMsgCouncilResponseCommit, nil, + func(_ *rand.Rand) { + weightMsgCouncilResponseCommit = defaultWeightMsgCouncilResponseCommit + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCouncilResponseCommit, + cardchainsimulation.SimulateMsgCouncilResponseCommit(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCouncilResponseReveal int + simState.AppParams.GetOrGenerate(opWeightMsgCouncilResponseReveal, &weightMsgCouncilResponseReveal, nil, + func(_ *rand.Rand) { + weightMsgCouncilResponseReveal = defaultWeightMsgCouncilResponseReveal + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCouncilResponseReveal, + cardchainsimulation.SimulateMsgCouncilResponseReveal(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -629,6 +674,30 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei return nil }, ), + simulation.NewWeightedProposalMsg( + opWeightMsgCardRaritySet, + defaultWeightMsgCardRaritySet, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCardRaritySet(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgCouncilResponseCommit, + defaultWeightMsgCouncilResponseCommit, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCouncilResponseCommit(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgCouncilResponseReveal, + defaultWeightMsgCouncilResponseReveal, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCouncilResponseReveal(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/card_rarity_set.go b/x/cardchain/simulation/card_rarity_set.go new file mode 100644 index 00000000..d6145cea --- /dev/null +++ b/x/cardchain/simulation/card_rarity_set.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 SimulateMsgCardRaritySet( + 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.MsgCardRaritySet{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CardRaritySet simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CardRaritySet simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/council_response_commit.go b/x/cardchain/simulation/council_response_commit.go new file mode 100644 index 00000000..d7291e75 --- /dev/null +++ b/x/cardchain/simulation/council_response_commit.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 SimulateMsgCouncilResponseCommit( + 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.MsgCouncilResponseCommit{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CouncilResponseCommit simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CouncilResponseCommit simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/council_response_reveal.go b/x/cardchain/simulation/council_response_reveal.go new file mode 100644 index 00000000..4180736f --- /dev/null +++ b/x/cardchain/simulation/council_response_reveal.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 SimulateMsgCouncilResponseReveal( + 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.MsgCouncilResponseReveal{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CouncilResponseReveal simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CouncilResponseReveal simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index b9d04e2f..06d3a539 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -83,6 +83,15 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgSellOfferRemove{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardRaritySet{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCouncilResponseCommit{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCouncilResponseReveal{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/cardchain/types/council.pb.go b/x/cardchain/types/council.pb.go new file mode 100644 index 00000000..a6f6f6d7 --- /dev/null +++ b/x/cardchain/types/council.pb.go @@ -0,0 +1,1169 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/council.proto + +package types + +import ( + fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/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 Response int32 + +const ( + Response_Yes Response = 0 + Response_No Response = 1 + Response_Suggestion Response = 2 +) + +var Response_name = map[int32]string{ + 0: "Yes", + 1: "No", + 2: "Suggestion", +} + +var Response_value = map[string]int32{ + "Yes": 0, + "No": 1, + "Suggestion": 2, +} + +func (x Response) String() string { + return proto.EnumName(Response_name, int32(x)) +} + +func (Response) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_fcd39b22a840d084, []int{0} +} + +type CouncelingStatus int32 + +const ( + CouncelingStatus_councilOpen CouncelingStatus = 0 + CouncelingStatus_councilCreated CouncelingStatus = 1 + CouncelingStatus_councilClosed CouncelingStatus = 2 + CouncelingStatus_commited CouncelingStatus = 3 + CouncelingStatus_revealed CouncelingStatus = 4 + CouncelingStatus_suggestionsMade CouncelingStatus = 5 +) + +var CouncelingStatus_name = map[int32]string{ + 0: "councilOpen", + 1: "councilCreated", + 2: "councilClosed", + 3: "commited", + 4: "revealed", + 5: "suggestionsMade", +} + +var CouncelingStatus_value = map[string]int32{ + "councilOpen": 0, + "councilCreated": 1, + "councilClosed": 2, + "commited": 3, + "revealed": 4, + "suggestionsMade": 5, +} + +func (x CouncelingStatus) String() string { + return proto.EnumName(CouncelingStatus_name, int32(x)) +} + +func (CouncelingStatus) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_fcd39b22a840d084, []int{1} +} + +type Council struct { + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` + Voters []string `protobuf:"bytes,2,rep,name=voters,proto3" json:"voters,omitempty"` + HashResponses []*WrapHashResponse `protobuf:"bytes,3,rep,name=hashResponses,proto3" json:"hashResponses,omitempty"` + ClearResponses []*WrapClearResponse `protobuf:"bytes,4,rep,name=clearResponses,proto3" json:"clearResponses,omitempty"` + Treasury types.Coin `protobuf:"bytes,8,opt,name=treasury,proto3" json:"treasury"` + Status CouncelingStatus `protobuf:"varint,6,opt,name=status,proto3,enum=cardchain.cardchain.CouncelingStatus" json:"status,omitempty"` + TrialStart uint64 `protobuf:"varint,7,opt,name=trialStart,proto3" json:"trialStart,omitempty"` +} + +func (m *Council) Reset() { *m = Council{} } +func (m *Council) String() string { return proto.CompactTextString(m) } +func (*Council) ProtoMessage() {} +func (*Council) Descriptor() ([]byte, []int) { + return fileDescriptor_fcd39b22a840d084, []int{0} +} +func (m *Council) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Council) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Council.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 *Council) XXX_Merge(src proto.Message) { + xxx_messageInfo_Council.Merge(m, src) +} +func (m *Council) XXX_Size() int { + return m.Size() +} +func (m *Council) XXX_DiscardUnknown() { + xxx_messageInfo_Council.DiscardUnknown(m) +} + +var xxx_messageInfo_Council proto.InternalMessageInfo + +func (m *Council) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +func (m *Council) GetVoters() []string { + if m != nil { + return m.Voters + } + return nil +} + +func (m *Council) GetHashResponses() []*WrapHashResponse { + if m != nil { + return m.HashResponses + } + return nil +} + +func (m *Council) GetClearResponses() []*WrapClearResponse { + if m != nil { + return m.ClearResponses + } + return nil +} + +func (m *Council) GetTreasury() types.Coin { + if m != nil { + return m.Treasury + } + return types.Coin{} +} + +func (m *Council) GetStatus() CouncelingStatus { + if m != nil { + return m.Status + } + return CouncelingStatus_councilOpen +} + +func (m *Council) GetTrialStart() uint64 { + if m != nil { + return m.TrialStart + } + return 0 +} + +type WrapClearResponse struct { + User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Response Response `protobuf:"varint,2,opt,name=response,proto3,enum=cardchain.cardchain.Response" json:"response,omitempty"` + Suggestion string `protobuf:"bytes,3,opt,name=suggestion,proto3" json:"suggestion,omitempty"` +} + +func (m *WrapClearResponse) Reset() { *m = WrapClearResponse{} } +func (m *WrapClearResponse) String() string { return proto.CompactTextString(m) } +func (*WrapClearResponse) ProtoMessage() {} +func (*WrapClearResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_fcd39b22a840d084, []int{1} +} +func (m *WrapClearResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *WrapClearResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_WrapClearResponse.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 *WrapClearResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_WrapClearResponse.Merge(m, src) +} +func (m *WrapClearResponse) XXX_Size() int { + return m.Size() +} +func (m *WrapClearResponse) XXX_DiscardUnknown() { + xxx_messageInfo_WrapClearResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_WrapClearResponse proto.InternalMessageInfo + +func (m *WrapClearResponse) GetUser() string { + if m != nil { + return m.User + } + return "" +} + +func (m *WrapClearResponse) GetResponse() Response { + if m != nil { + return m.Response + } + return Response_Yes +} + +func (m *WrapClearResponse) GetSuggestion() string { + if m != nil { + return m.Suggestion + } + return "" +} + +type WrapHashResponse struct { + User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` +} + +func (m *WrapHashResponse) Reset() { *m = WrapHashResponse{} } +func (m *WrapHashResponse) String() string { return proto.CompactTextString(m) } +func (*WrapHashResponse) ProtoMessage() {} +func (*WrapHashResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_fcd39b22a840d084, []int{2} +} +func (m *WrapHashResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *WrapHashResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_WrapHashResponse.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 *WrapHashResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_WrapHashResponse.Merge(m, src) +} +func (m *WrapHashResponse) XXX_Size() int { + return m.Size() +} +func (m *WrapHashResponse) XXX_DiscardUnknown() { + xxx_messageInfo_WrapHashResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_WrapHashResponse proto.InternalMessageInfo + +func (m *WrapHashResponse) GetUser() string { + if m != nil { + return m.User + } + return "" +} + +func (m *WrapHashResponse) GetHash() string { + if m != nil { + return m.Hash + } + return "" +} + +func init() { + proto.RegisterEnum("cardchain.cardchain.Response", Response_name, Response_value) + proto.RegisterEnum("cardchain.cardchain.CouncelingStatus", CouncelingStatus_name, CouncelingStatus_value) + proto.RegisterType((*Council)(nil), "cardchain.cardchain.Council") + proto.RegisterType((*WrapClearResponse)(nil), "cardchain.cardchain.WrapClearResponse") + proto.RegisterType((*WrapHashResponse)(nil), "cardchain.cardchain.WrapHashResponse") +} + +func init() { proto.RegisterFile("cardchain/cardchain/council.proto", fileDescriptor_fcd39b22a840d084) } + +var fileDescriptor_fcd39b22a840d084 = []byte{ + // 525 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0x4d, 0x6f, 0xd3, 0x4c, + 0x10, 0xf6, 0xd7, 0x9b, 0x8f, 0xc9, 0xdb, 0xd4, 0xdd, 0x22, 0x64, 0x2a, 0x61, 0x42, 0x24, 0x50, + 0x54, 0x24, 0x5b, 0x2d, 0x17, 0x3e, 0xc4, 0xa5, 0x41, 0x02, 0x84, 0x28, 0xd2, 0xe6, 0x80, 0xe0, + 0xb6, 0xb1, 0x47, 0x8e, 0x25, 0xc7, 0x1b, 0xed, 0xae, 0x23, 0x2a, 0x6e, 0xfc, 0x02, 0x7e, 0x56, + 0x8f, 0x3d, 0x72, 0x42, 0x28, 0xf9, 0x07, 0xfc, 0x02, 0xe4, 0x8d, 0x71, 0x4d, 0x48, 0x6f, 0xcf, + 0xcc, 0x3c, 0xf3, 0xec, 0xcc, 0xb3, 0xbb, 0x70, 0x3f, 0x62, 0x22, 0x8e, 0x66, 0x2c, 0xcd, 0xc3, + 0x06, 0xe2, 0x45, 0x1e, 0xa5, 0x59, 0xb0, 0x10, 0x5c, 0x71, 0x72, 0x58, 0x17, 0x82, 0x1a, 0x1d, + 0xdd, 0x4a, 0x78, 0xc2, 0x75, 0x3d, 0x2c, 0xd1, 0x86, 0x7a, 0xe4, 0x47, 0x5c, 0xce, 0xb9, 0x0c, + 0xa7, 0x4c, 0x62, 0xb8, 0x3c, 0x99, 0xa2, 0x62, 0x27, 0x61, 0xc4, 0xd3, 0x7c, 0x53, 0x1f, 0xfe, + 0xb2, 0xa0, 0x3d, 0xde, 0x88, 0x93, 0xdb, 0xd0, 0x2a, 0xe5, 0xde, 0xc4, 0x9e, 0x39, 0x30, 0x47, + 0x0e, 0xad, 0xa2, 0x32, 0xbf, 0xe4, 0x0a, 0x85, 0xf4, 0xac, 0x81, 0x3d, 0xea, 0xd2, 0x2a, 0x22, + 0x6f, 0x61, 0x6f, 0xc6, 0xe4, 0x8c, 0xa2, 0x5c, 0xf0, 0x5c, 0xa2, 0xf4, 0xec, 0x81, 0x3d, 0xea, + 0x9d, 0x3e, 0x08, 0x76, 0x8c, 0x17, 0x7c, 0x10, 0x6c, 0xf1, 0xba, 0xc1, 0xa6, 0x7f, 0xf7, 0x92, + 0x73, 0xe8, 0x47, 0x19, 0x32, 0x71, 0xad, 0xe6, 0x68, 0xb5, 0x87, 0x37, 0xaa, 0x8d, 0x9b, 0x74, + 0xba, 0xd5, 0x4d, 0x9e, 0x43, 0x47, 0x09, 0x64, 0xb2, 0x10, 0x17, 0x5e, 0x67, 0x60, 0x8e, 0x7a, + 0xa7, 0x77, 0x82, 0x8d, 0x17, 0x41, 0xe9, 0x45, 0x50, 0x79, 0x11, 0x8c, 0x79, 0x9a, 0x9f, 0x39, + 0x97, 0x3f, 0xee, 0x19, 0xb4, 0x6e, 0x20, 0x2f, 0xa0, 0x25, 0x15, 0x53, 0x85, 0xf4, 0x5a, 0x03, + 0x73, 0xd4, 0xbf, 0x61, 0x25, 0xed, 0x1b, 0x66, 0x69, 0x9e, 0x4c, 0x34, 0x99, 0x56, 0x4d, 0xc4, + 0x07, 0x50, 0x22, 0x65, 0xd9, 0x44, 0x31, 0xa1, 0xbc, 0xb6, 0x36, 0xb3, 0x91, 0x19, 0x7e, 0x35, + 0xe1, 0xe0, 0x9f, 0x0d, 0x08, 0x01, 0xa7, 0x90, 0x28, 0xb4, 0xf9, 0x5d, 0xaa, 0x31, 0x79, 0x0a, + 0x1d, 0x51, 0xd5, 0x3d, 0x4b, 0x8f, 0x72, 0x77, 0xe7, 0x28, 0xb5, 0x0d, 0x35, 0xbd, 0x1c, 0x42, + 0x16, 0x49, 0x82, 0x52, 0xa5, 0x3c, 0xf7, 0x6c, 0x2d, 0xda, 0xc8, 0x0c, 0x9f, 0x81, 0xbb, 0x7d, + 0x27, 0x3b, 0x47, 0x20, 0xe0, 0x94, 0x37, 0xa5, 0x8f, 0xef, 0x52, 0x8d, 0x8f, 0x1f, 0x41, 0xa7, + 0xee, 0x69, 0x83, 0xfd, 0x11, 0xa5, 0x6b, 0x90, 0x16, 0x58, 0xe7, 0xdc, 0x35, 0x49, 0x1f, 0x60, + 0x52, 0x1f, 0xe3, 0x5a, 0xc7, 0x5f, 0xc0, 0xdd, 0x76, 0x8a, 0xec, 0x43, 0xaf, 0x7a, 0xd2, 0xef, + 0x17, 0x98, 0xbb, 0x06, 0x21, 0xd0, 0xaf, 0x12, 0x63, 0x81, 0x4c, 0x61, 0xec, 0x9a, 0xe4, 0x00, + 0xf6, 0xfe, 0xe4, 0x32, 0x2e, 0x31, 0x76, 0x2d, 0xf2, 0x3f, 0x74, 0x22, 0x3e, 0x9f, 0xa7, 0x25, + 0xc1, 0x2e, 0x23, 0x81, 0x4b, 0x64, 0x19, 0xc6, 0xae, 0x43, 0x0e, 0x61, 0xff, 0x7a, 0x3d, 0xf9, + 0x8e, 0xc5, 0xe8, 0xfe, 0x77, 0x46, 0x2f, 0x57, 0xbe, 0x79, 0xb5, 0xf2, 0xcd, 0x9f, 0x2b, 0xdf, + 0xfc, 0xb6, 0xf6, 0x8d, 0xab, 0xb5, 0x6f, 0x7c, 0x5f, 0xfb, 0xc6, 0xa7, 0x27, 0x49, 0xaa, 0x66, + 0xc5, 0x34, 0x88, 0xf8, 0x3c, 0x7c, 0x89, 0x11, 0xe6, 0x4a, 0xb0, 0x6c, 0xcc, 0x44, 0xfc, 0x8a, + 0xcd, 0xb1, 0xf1, 0xf5, 0x3e, 0x37, 0xb0, 0xba, 0x58, 0xa0, 0x9c, 0xb6, 0xf4, 0xd7, 0x79, 0xfc, + 0x3b, 0x00, 0x00, 0xff, 0xff, 0xbf, 0x55, 0xf5, 0x1e, 0xaa, 0x03, 0x00, 0x00, +} + +func (m *Council) 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 *Council) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Council) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Treasury.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCouncil(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + if m.TrialStart != 0 { + i = encodeVarintCouncil(dAtA, i, uint64(m.TrialStart)) + i-- + dAtA[i] = 0x38 + } + if m.Status != 0 { + i = encodeVarintCouncil(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x30 + } + if len(m.ClearResponses) > 0 { + for iNdEx := len(m.ClearResponses) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ClearResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCouncil(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + if len(m.HashResponses) > 0 { + for iNdEx := len(m.HashResponses) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.HashResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCouncil(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if len(m.Voters) > 0 { + for iNdEx := len(m.Voters) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Voters[iNdEx]) + copy(dAtA[i:], m.Voters[iNdEx]) + i = encodeVarintCouncil(dAtA, i, uint64(len(m.Voters[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if m.CardId != 0 { + i = encodeVarintCouncil(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *WrapClearResponse) 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 *WrapClearResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *WrapClearResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Suggestion) > 0 { + i -= len(m.Suggestion) + copy(dAtA[i:], m.Suggestion) + i = encodeVarintCouncil(dAtA, i, uint64(len(m.Suggestion))) + i-- + dAtA[i] = 0x1a + } + if m.Response != 0 { + i = encodeVarintCouncil(dAtA, i, uint64(m.Response)) + i-- + dAtA[i] = 0x10 + } + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintCouncil(dAtA, i, uint64(len(m.User))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *WrapHashResponse) 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 *WrapHashResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *WrapHashResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Hash) > 0 { + i -= len(m.Hash) + copy(dAtA[i:], m.Hash) + i = encodeVarintCouncil(dAtA, i, uint64(len(m.Hash))) + i-- + dAtA[i] = 0x12 + } + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintCouncil(dAtA, i, uint64(len(m.User))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintCouncil(dAtA []byte, offset int, v uint64) int { + offset -= sovCouncil(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Council) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovCouncil(uint64(m.CardId)) + } + if len(m.Voters) > 0 { + for _, s := range m.Voters { + l = len(s) + n += 1 + l + sovCouncil(uint64(l)) + } + } + if len(m.HashResponses) > 0 { + for _, e := range m.HashResponses { + l = e.Size() + n += 1 + l + sovCouncil(uint64(l)) + } + } + if len(m.ClearResponses) > 0 { + for _, e := range m.ClearResponses { + l = e.Size() + n += 1 + l + sovCouncil(uint64(l)) + } + } + if m.Status != 0 { + n += 1 + sovCouncil(uint64(m.Status)) + } + if m.TrialStart != 0 { + n += 1 + sovCouncil(uint64(m.TrialStart)) + } + l = m.Treasury.Size() + n += 1 + l + sovCouncil(uint64(l)) + return n +} + +func (m *WrapClearResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.User) + if l > 0 { + n += 1 + l + sovCouncil(uint64(l)) + } + if m.Response != 0 { + n += 1 + sovCouncil(uint64(m.Response)) + } + l = len(m.Suggestion) + if l > 0 { + n += 1 + l + sovCouncil(uint64(l)) + } + return n +} + +func (m *WrapHashResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.User) + if l > 0 { + n += 1 + l + sovCouncil(uint64(l)) + } + l = len(m.Hash) + if l > 0 { + n += 1 + l + sovCouncil(uint64(l)) + } + return n +} + +func sovCouncil(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozCouncil(x uint64) (n int) { + return sovCouncil(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Council) 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 ErrIntOverflowCouncil + } + 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: Council: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Council: 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 ErrIntOverflowCouncil + } + 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 Voters", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCouncil + } + 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 ErrInvalidLengthCouncil + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCouncil + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Voters = append(m.Voters, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field HashResponses", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCouncil + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCouncil + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCouncil + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.HashResponses = append(m.HashResponses, &WrapHashResponse{}) + if err := m.HashResponses[len(m.HashResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClearResponses", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCouncil + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCouncil + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCouncil + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClearResponses = append(m.ClearResponses, &WrapClearResponse{}) + if err := m.ClearResponses[len(m.ClearResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCouncil + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= CouncelingStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TrialStart", wireType) + } + m.TrialStart = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCouncil + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TrialStart |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Treasury", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCouncil + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCouncil + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCouncil + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Treasury.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCouncil(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCouncil + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *WrapClearResponse) 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 ErrIntOverflowCouncil + } + 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: WrapClearResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: WrapClearResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 ErrIntOverflowCouncil + } + 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 ErrInvalidLengthCouncil + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCouncil + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) + } + m.Response = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCouncil + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Response |= Response(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + 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 ErrIntOverflowCouncil + } + 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 ErrInvalidLengthCouncil + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCouncil + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Suggestion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCouncil(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCouncil + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *WrapHashResponse) 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 ErrIntOverflowCouncil + } + 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: WrapHashResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: WrapHashResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 ErrIntOverflowCouncil + } + 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 ErrInvalidLengthCouncil + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCouncil + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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 ErrIntOverflowCouncil + } + 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 ErrInvalidLengthCouncil + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCouncil + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCouncil(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCouncil + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipCouncil(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, ErrIntOverflowCouncil + } + 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, ErrIntOverflowCouncil + } + 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, ErrIntOverflowCouncil + } + 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, ErrInvalidLengthCouncil + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupCouncil + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthCouncil + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthCouncil = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowCouncil = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupCouncil = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/message_card_rarity_set.go b/x/cardchain/types/message_card_rarity_set.go new file mode 100644 index 00000000..82e2ffed --- /dev/null +++ b/x/cardchain/types/message_card_rarity_set.go @@ -0,0 +1,26 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCardRaritySet{} + +func NewMsgCardRaritySet(creator string, cardId uint64, setId uint64, rarity CardRarity) *MsgCardRaritySet { + return &MsgCardRaritySet{ + Creator: creator, + CardId: cardId, + SetId: setId, + Rarity: rarity, + } +} + +func (msg *MsgCardRaritySet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_card_rarity_set_test.go b/x/cardchain/types/message_card_rarity_set_test.go new file mode 100644 index 00000000..30f3976f --- /dev/null +++ b/x/cardchain/types/message_card_rarity_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCardRaritySet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardRaritySet + err error + }{ + { + name: "invalid address", + msg: MsgCardRaritySet{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardRaritySet{ + 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_council_response_commit.go b/x/cardchain/types/message_council_response_commit.go new file mode 100644 index 00000000..7b144e62 --- /dev/null +++ b/x/cardchain/types/message_council_response_commit.go @@ -0,0 +1,26 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCouncilResponseCommit{} + +func NewMsgCouncilResponseCommit(creator string, councilId uint64, reponse string, suggestion string) *MsgCouncilResponseCommit { + return &MsgCouncilResponseCommit{ + Creator: creator, + CouncilId: councilId, + Reponse: reponse, + Suggestion: suggestion, + } +} + +func (msg *MsgCouncilResponseCommit) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_council_response_commit_test.go b/x/cardchain/types/message_council_response_commit_test.go new file mode 100644 index 00000000..9fd34350 --- /dev/null +++ b/x/cardchain/types/message_council_response_commit_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCouncilResponseCommit_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCouncilResponseCommit + err error + }{ + { + name: "invalid address", + msg: MsgCouncilResponseCommit{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCouncilResponseCommit{ + 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_council_response_reveal.go b/x/cardchain/types/message_council_response_reveal.go new file mode 100644 index 00000000..08bc63f0 --- /dev/null +++ b/x/cardchain/types/message_council_response_reveal.go @@ -0,0 +1,26 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCouncilResponseReveal{} + +func NewMsgCouncilResponseReveal(creator string, councilId uint64, reponse Response, secret string) *MsgCouncilResponseReveal { + return &MsgCouncilResponseReveal{ + Creator: creator, + CouncilId: councilId, + Reponse: reponse, + Secret: secret, + } +} + +func (msg *MsgCouncilResponseReveal) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_council_response_reveal_test.go b/x/cardchain/types/message_council_response_reveal_test.go new file mode 100644 index 00000000..e66a5903 --- /dev/null +++ b/x/cardchain/types/message_council_response_reveal_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCouncilResponseReveal_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCouncilResponseReveal + err error + }{ + { + name: "invalid address", + msg: MsgCouncilResponseReveal{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCouncilResponseReveal{ + 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/tx.pb.go b/x/cardchain/types/tx.pb.go index 2cf8d63a..64ae599e 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -2526,6 +2526,318 @@ func (m *MsgSellOfferRemoveResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgSellOfferRemoveResponse proto.InternalMessageInfo +type MsgCardRaritySet 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"` + SetId uint64 `protobuf:"varint,3,opt,name=setId,proto3" json:"setId,omitempty"` + Rarity CardRarity `protobuf:"varint,4,opt,name=rarity,proto3,enum=cardchain.cardchain.CardRarity" json:"rarity,omitempty"` +} + +func (m *MsgCardRaritySet) Reset() { *m = MsgCardRaritySet{} } +func (m *MsgCardRaritySet) String() string { return proto.CompactTextString(m) } +func (*MsgCardRaritySet) ProtoMessage() {} +func (*MsgCardRaritySet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{52} +} +func (m *MsgCardRaritySet) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardRaritySet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardRaritySet.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 *MsgCardRaritySet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardRaritySet.Merge(m, src) +} +func (m *MsgCardRaritySet) XXX_Size() int { + return m.Size() +} +func (m *MsgCardRaritySet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardRaritySet.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardRaritySet proto.InternalMessageInfo + +func (m *MsgCardRaritySet) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgCardRaritySet) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +func (m *MsgCardRaritySet) GetSetId() uint64 { + if m != nil { + return m.SetId + } + return 0 +} + +func (m *MsgCardRaritySet) GetRarity() CardRarity { + if m != nil { + return m.Rarity + } + return CardRarity_common +} + +type MsgCardRaritySetResponse struct { +} + +func (m *MsgCardRaritySetResponse) Reset() { *m = MsgCardRaritySetResponse{} } +func (m *MsgCardRaritySetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardRaritySetResponse) ProtoMessage() {} +func (*MsgCardRaritySetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{53} +} +func (m *MsgCardRaritySetResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardRaritySetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardRaritySetResponse.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 *MsgCardRaritySetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardRaritySetResponse.Merge(m, src) +} +func (m *MsgCardRaritySetResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardRaritySetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardRaritySetResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardRaritySetResponse proto.InternalMessageInfo + +type MsgCouncilResponseCommit struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` + Reponse string `protobuf:"bytes,3,opt,name=reponse,proto3" json:"reponse,omitempty"` + Suggestion string `protobuf:"bytes,4,opt,name=suggestion,proto3" json:"suggestion,omitempty"` +} + +func (m *MsgCouncilResponseCommit) Reset() { *m = MsgCouncilResponseCommit{} } +func (m *MsgCouncilResponseCommit) String() string { return proto.CompactTextString(m) } +func (*MsgCouncilResponseCommit) ProtoMessage() {} +func (*MsgCouncilResponseCommit) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{54} +} +func (m *MsgCouncilResponseCommit) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCouncilResponseCommit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCouncilResponseCommit.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 *MsgCouncilResponseCommit) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCouncilResponseCommit.Merge(m, src) +} +func (m *MsgCouncilResponseCommit) XXX_Size() int { + return m.Size() +} +func (m *MsgCouncilResponseCommit) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCouncilResponseCommit.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCouncilResponseCommit proto.InternalMessageInfo + +func (m *MsgCouncilResponseCommit) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgCouncilResponseCommit) GetCouncilId() uint64 { + if m != nil { + return m.CouncilId + } + return 0 +} + +func (m *MsgCouncilResponseCommit) GetReponse() string { + if m != nil { + return m.Reponse + } + return "" +} + +func (m *MsgCouncilResponseCommit) GetSuggestion() string { + if m != nil { + return m.Suggestion + } + return "" +} + +type MsgCouncilResponseCommitResponse struct { +} + +func (m *MsgCouncilResponseCommitResponse) Reset() { *m = MsgCouncilResponseCommitResponse{} } +func (m *MsgCouncilResponseCommitResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCouncilResponseCommitResponse) ProtoMessage() {} +func (*MsgCouncilResponseCommitResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{55} +} +func (m *MsgCouncilResponseCommitResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCouncilResponseCommitResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCouncilResponseCommitResponse.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 *MsgCouncilResponseCommitResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCouncilResponseCommitResponse.Merge(m, src) +} +func (m *MsgCouncilResponseCommitResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCouncilResponseCommitResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCouncilResponseCommitResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCouncilResponseCommitResponse proto.InternalMessageInfo + +type MsgCouncilResponseReveal struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` + Reponse Response `protobuf:"varint,3,opt,name=reponse,proto3,enum=cardchain.cardchain.Response" json:"reponse,omitempty"` + Secret string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` +} + +func (m *MsgCouncilResponseReveal) Reset() { *m = MsgCouncilResponseReveal{} } +func (m *MsgCouncilResponseReveal) String() string { return proto.CompactTextString(m) } +func (*MsgCouncilResponseReveal) ProtoMessage() {} +func (*MsgCouncilResponseReveal) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{56} +} +func (m *MsgCouncilResponseReveal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCouncilResponseReveal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCouncilResponseReveal.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 *MsgCouncilResponseReveal) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCouncilResponseReveal.Merge(m, src) +} +func (m *MsgCouncilResponseReveal) XXX_Size() int { + return m.Size() +} +func (m *MsgCouncilResponseReveal) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCouncilResponseReveal.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCouncilResponseReveal proto.InternalMessageInfo + +func (m *MsgCouncilResponseReveal) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgCouncilResponseReveal) GetCouncilId() uint64 { + if m != nil { + return m.CouncilId + } + return 0 +} + +func (m *MsgCouncilResponseReveal) GetReponse() Response { + if m != nil { + return m.Reponse + } + return Response_Yes +} + +func (m *MsgCouncilResponseReveal) GetSecret() string { + if m != nil { + return m.Secret + } + return "" +} + +type MsgCouncilResponseRevealResponse struct { +} + +func (m *MsgCouncilResponseRevealResponse) Reset() { *m = MsgCouncilResponseRevealResponse{} } +func (m *MsgCouncilResponseRevealResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCouncilResponseRevealResponse) ProtoMessage() {} +func (*MsgCouncilResponseRevealResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{57} +} +func (m *MsgCouncilResponseRevealResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCouncilResponseRevealResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCouncilResponseRevealResponse.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 *MsgCouncilResponseRevealResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCouncilResponseRevealResponse.Merge(m, src) +} +func (m *MsgCouncilResponseRevealResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCouncilResponseRevealResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCouncilResponseRevealResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCouncilResponseRevealResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") @@ -2579,117 +2891,136 @@ func init() { proto.RegisterType((*MsgSellOfferBuyResponse)(nil), "cardchain.cardchain.MsgSellOfferBuyResponse") proto.RegisterType((*MsgSellOfferRemove)(nil), "cardchain.cardchain.MsgSellOfferRemove") proto.RegisterType((*MsgSellOfferRemoveResponse)(nil), "cardchain.cardchain.MsgSellOfferRemoveResponse") + proto.RegisterType((*MsgCardRaritySet)(nil), "cardchain.cardchain.MsgCardRaritySet") + proto.RegisterType((*MsgCardRaritySetResponse)(nil), "cardchain.cardchain.MsgCardRaritySetResponse") + proto.RegisterType((*MsgCouncilResponseCommit)(nil), "cardchain.cardchain.MsgCouncilResponseCommit") + proto.RegisterType((*MsgCouncilResponseCommitResponse)(nil), "cardchain.cardchain.MsgCouncilResponseCommitResponse") + proto.RegisterType((*MsgCouncilResponseReveal)(nil), "cardchain.cardchain.MsgCouncilResponseReveal") + proto.RegisterType((*MsgCouncilResponseRevealResponse)(nil), "cardchain.cardchain.MsgCouncilResponseRevealResponse") } func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 1679 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xcf, 0x73, 0xd3, 0xc6, - 0x17, 0x8f, 0xb0, 0x13, 0x92, 0x4d, 0x08, 0x20, 0x02, 0x38, 0x22, 0x5f, 0xc7, 0x98, 0x04, 0x42, - 0xbe, 0x89, 0xdd, 0x04, 0x4a, 0x19, 0xa6, 0x65, 0x26, 0x4e, 0xa6, 0x9d, 0x1e, 0x52, 0xa8, 0xd2, - 0xd2, 0xe9, 0x4f, 0x66, 0x2d, 0x6f, 0x64, 0x35, 0x96, 0xd6, 0x5d, 0xad, 0x0d, 0xe1, 0xd4, 0x69, - 0x2f, 0x9d, 0xf6, 0xd2, 0x73, 0xff, 0x02, 0x8e, 0x39, 0xf4, 0x2f, 0x68, 0x2f, 0x1c, 0x19, 0x4e, - 0x3d, 0x75, 0x3a, 0x70, 0xc8, 0xbf, 0xd1, 0xd9, 0x5d, 0x69, 0xf5, 0xc3, 0x92, 0x2c, 0x67, 0xa6, - 0x97, 0x44, 0xbb, 0xfb, 0xd9, 0xf7, 0x3e, 0xef, 0xed, 0xdb, 0x7d, 0xef, 0x8d, 0xc1, 0x82, 0x01, - 0x49, 0xcb, 0x68, 0x43, 0xcb, 0xa9, 0x07, 0x5f, 0xf4, 0x69, 0xad, 0x4b, 0x30, 0xc5, 0xea, 0x05, - 0x39, 0x57, 0x93, 0x5f, 0xda, 0x79, 0x68, 0x5b, 0x0e, 0xae, 0xf3, 0xbf, 0x02, 0xa7, 0x5d, 0x36, - 0xb0, 0x6b, 0x63, 0xb7, 0x6e, 0xbb, 0x66, 0xbd, 0xbf, 0xc1, 0xfe, 0x79, 0x0b, 0xf3, 0x62, 0xe1, - 0x31, 0x1f, 0xd5, 0xc5, 0xc0, 0x5b, 0x9a, 0x33, 0xb1, 0x89, 0xc5, 0x3c, 0xfb, 0xf2, 0x66, 0x2b, - 0x49, 0x7c, 0xba, 0x90, 0x40, 0xdb, 0xdf, 0x57, 0xf6, 0x74, 0x35, 0xa1, 0x8b, 0xea, 0xfd, 0x8d, - 0x26, 0xa2, 0x70, 0xa3, 0x6e, 0x60, 0xcb, 0xc9, 0x92, 0xd0, 0xc7, 0xd4, 0x72, 0x7c, 0x52, 0x8b, - 0x49, 0x08, 0x1b, 0x52, 0xa3, 0x2d, 0x00, 0xd5, 0x3f, 0x15, 0x70, 0x76, 0xd7, 0x35, 0x3f, 0xed, - 0xb6, 0x20, 0x45, 0x0f, 0xb9, 0x72, 0xf5, 0x0e, 0x98, 0x82, 0x3d, 0xda, 0xc6, 0xc4, 0xa2, 0x87, - 0x25, 0xa5, 0xa2, 0xac, 0x4c, 0x35, 0x4a, 0xaf, 0x7e, 0x5f, 0x9f, 0xf3, 0x6c, 0xda, 0x6a, 0xb5, - 0x08, 0x72, 0xdd, 0x3d, 0x4a, 0x2c, 0xc7, 0xd4, 0x03, 0xa8, 0x7a, 0x1f, 0x4c, 0x08, 0xfa, 0xa5, - 0x53, 0x15, 0x65, 0x65, 0x7a, 0xf3, 0x4a, 0x2d, 0xc1, 0xa7, 0x35, 0xa1, 0xa4, 0x31, 0xf5, 0xe2, - 0xef, 0xc5, 0xb1, 0xe7, 0xc7, 0x47, 0xab, 0x8a, 0xee, 0xed, 0xba, 0x77, 0xf7, 0x87, 0xe3, 0xa3, - 0xd5, 0x40, 0xde, 0xcf, 0xc7, 0x47, 0xab, 0xcb, 0x01, 0xeb, 0xa7, 0x21, 0x0b, 0x62, 0x8c, 0xab, - 0xf3, 0xe0, 0x72, 0x6c, 0x4a, 0x47, 0x6e, 0x17, 0x3b, 0x2e, 0xaa, 0x9a, 0xe0, 0x0c, 0x5b, 0x72, - 0x11, 0xd9, 0x26, 0x08, 0x52, 0xa4, 0x96, 0xc0, 0x69, 0x83, 0x7d, 0x61, 0x22, 0x6c, 0xd3, 0xfd, - 0x21, 0x5b, 0x71, 0xd0, 0x13, 0x06, 0xe5, 0x06, 0x4c, 0xe9, 0xfe, 0x50, 0x9d, 0x03, 0xe3, 0xb0, - 0x63, 0x41, 0xb7, 0x54, 0xe0, 0xf3, 0x62, 0x70, 0x6f, 0x86, 0xf1, 0xf5, 0x77, 0x57, 0x2f, 0x83, - 0x8b, 0x11, 0x45, 0x92, 0x81, 0x0d, 0xce, 0xed, 0xba, 0xe6, 0x36, 0x24, 0xad, 0x3d, 0xa3, 0x8d, - 0x6c, 0xd4, 0xe8, 0x1d, 0x66, 0x90, 0xd8, 0x00, 0x85, 0xa6, 0xd5, 0xf2, 0x3c, 0x38, 0x5f, 0xf3, - 0x7c, 0xce, 0x22, 0xa0, 0xe6, 0x45, 0x40, 0x6d, 0x1b, 0x5b, 0x4e, 0xa3, 0xc8, 0xfc, 0xa7, 0x33, - 0x6c, 0x8c, 0xc7, 0x26, 0x28, 0xc5, 0xd5, 0xf9, 0x54, 0xd4, 0x4b, 0x60, 0x82, 0x39, 0xf1, 0xc3, - 0x16, 0xd7, 0x5a, 0xd4, 0xbd, 0x51, 0xf5, 0x0f, 0x05, 0xa8, 0xfe, 0x26, 0xd8, 0x47, 0xdb, 0xd8, - 0xa1, 0xc8, 0xa1, 0x19, 0x2c, 0x03, 0x41, 0xa7, 0xc2, 0x82, 0xf8, 0x0e, 0xb1, 0x99, 0xbb, 0x6a, - 0x46, 0xf7, 0x87, 0xcc, 0x85, 0x0e, 0xa6, 0xc8, 0x2d, 0x15, 0x85, 0x0b, 0xf9, 0x80, 0xc9, 0x81, - 0x84, 0x5a, 0x2e, 0x2d, 0x8d, 0xf3, 0x69, 0x6f, 0xa4, 0x2e, 0x81, 0x33, 0x4d, 0xd8, 0x81, 0x8e, - 0x81, 0xb6, 0x1c, 0xa3, 0x8d, 0x49, 0x69, 0xa2, 0xa2, 0xac, 0x4c, 0xea, 0xd1, 0xc9, 0x98, 0xe1, - 0x3b, 0x40, 0x1b, 0xb4, 0x41, 0x9a, 0x7e, 0x1d, 0xcc, 0x42, 0x8b, 0xb4, 0x08, 0xee, 0x6e, 0x77, - 0xa0, 0x65, 0x23, 0xe1, 0x82, 0x49, 0x3d, 0x36, 0x5b, 0xfd, 0x16, 0x4c, 0x7b, 0x52, 0x1e, 0xe1, - 0xcc, 0x68, 0xb9, 0x05, 0x8a, 0x7d, 0x4c, 0x91, 0x77, 0x52, 0x8b, 0x89, 0xb1, 0xbe, 0x67, 0x39, - 0x66, 0x07, 0x31, 0x41, 0x3a, 0x07, 0xc7, 0x18, 0xbf, 0x07, 0x2e, 0x84, 0x74, 0x8d, 0x4c, 0xd5, - 0xe6, 0x57, 0x97, 0x6d, 0xff, 0x84, 0x40, 0xc7, 0xdd, 0x47, 0xe4, 0x04, 0x27, 0xa6, 0x81, 0x49, - 0x82, 0x0c, 0x64, 0xf5, 0x11, 0xf1, 0xa2, 0x5b, 0x8e, 0x63, 0x6c, 0xc5, 0x25, 0x0b, 0xab, 0x93, - 0x21, 0xfe, 0x93, 0xc2, 0x6f, 0x19, 0x5b, 0xdb, 0xc1, 0x4e, 0xf6, 0x2d, 0x4b, 0x23, 0xf2, 0x0e, - 0x98, 0x80, 0x36, 0xee, 0x79, 0x91, 0x93, 0x23, 0xf6, 0x3d, 0x78, 0xe2, 0x35, 0x0c, 0x98, 0x48, - 0x8e, 0x3f, 0x2a, 0xe0, 0xbc, 0xb7, 0xb2, 0x45, 0xe8, 0x13, 0x4c, 0x0e, 0xb6, 0x5a, 0xad, 0x13, - 0xf0, 0x9c, 0x03, 0xe3, 0x96, 0x0d, 0x4d, 0xe4, 0x05, 0xb8, 0x18, 0x30, 0x39, 0xfb, 0xbd, 0x4e, - 0x67, 0x8b, 0x50, 0x1e, 0xe0, 0x93, 0xba, 0x3f, 0x8c, 0xd1, 0xbb, 0x02, 0xe6, 0x07, 0x48, 0x84, - 0x5e, 0x8a, 0x0b, 0xc1, 0xa2, 0xe5, 0xd2, 0xed, 0x36, 0x74, 0xcc, 0x93, 0xf8, 0x32, 0xb8, 0x56, - 0x85, 0xf0, 0xb5, 0x8a, 0x71, 0xf9, 0x1f, 0xb8, 0x92, 0xa0, 0x4e, 0xb2, 0x79, 0x57, 0xbc, 0x09, - 0xb8, 0xe7, 0x18, 0x56, 0x47, 0x47, 0xa6, 0xe5, 0xd2, 0xac, 0x08, 0x8b, 0x09, 0x5f, 0x10, 0xb7, - 0x31, 0xba, 0x5b, 0xca, 0xbe, 0x0f, 0xe6, 0x82, 0xd5, 0x1d, 0x44, 0x46, 0x95, 0x5e, 0x06, 0x0b, - 0x49, 0xfb, 0xa5, 0xfc, 0x57, 0x0a, 0x98, 0xdd, 0x75, 0xcd, 0x5d, 0x96, 0xe9, 0x74, 0xd4, 0xc5, - 0x84, 0x66, 0xbf, 0xfb, 0x3c, 0x25, 0x4a, 0x37, 0xfa, 0x43, 0xb5, 0x0a, 0x66, 0xba, 0x1d, 0x78, - 0x88, 0x5a, 0xcc, 0x49, 0xee, 0x56, 0xa9, 0x50, 0x29, 0xac, 0x14, 0xf5, 0xc8, 0x5c, 0x0c, 0xd3, - 0x28, 0x15, 0x07, 0x30, 0x0d, 0xf5, 0x0e, 0x38, 0x8d, 0x7b, 0xd4, 0xc0, 0x36, 0xe2, 0xef, 0xdc, - 0xec, 0xe6, 0x42, 0xe2, 0x73, 0xf1, 0x40, 0x60, 0x74, 0x1f, 0x1c, 0x33, 0xba, 0x04, 0x2e, 0x45, - 0x6d, 0x92, 0xe6, 0xea, 0x22, 0xc5, 0x08, 0x77, 0x0c, 0xcd, 0x73, 0x29, 0x51, 0x13, 0xd3, 0xa6, - 0x89, 0x3c, 0x12, 0x96, 0x29, 0xf5, 0x7d, 0xcd, 0x9f, 0x82, 0x10, 0x13, 0x44, 0xb6, 0xba, 0x5d, - 0x6c, 0x65, 0xe6, 0x0c, 0xfe, 0xd2, 0x08, 0xb0, 0x97, 0x5f, 0xe5, 0x38, 0xa6, 0xfa, 0x2a, 0x58, - 0x4c, 0x11, 0x2f, 0x19, 0x3c, 0x57, 0xc0, 0xcc, 0xae, 0x6b, 0xee, 0x21, 0x3a, 0xd4, 0x5c, 0x15, - 0x14, 0x1d, 0x68, 0x23, 0x4f, 0x27, 0xff, 0x4e, 0xbb, 0x20, 0x6a, 0x05, 0x4c, 0xbb, 0x14, 0x93, - 0xc3, 0xcf, 0x88, 0xc5, 0x68, 0x8a, 0x5c, 0x15, 0x9e, 0x62, 0xc7, 0xcd, 0x52, 0x1a, 0xb1, 0x9a, - 0x3d, 0x8a, 0x89, 0x5b, 0x1a, 0xaf, 0x14, 0x56, 0xa6, 0xf4, 0xc8, 0x5c, 0xcc, 0x9a, 0x4b, 0x3c, - 0xd6, 0x25, 0x53, 0x69, 0x02, 0xe2, 0x6f, 0x26, 0x9b, 0x67, 0x37, 0x30, 0xf3, 0x2d, 0x9a, 0x03, - 0xe3, 0x2e, 0xa2, 0xf2, 0xc0, 0xc4, 0x20, 0x74, 0x8e, 0x85, 0x8c, 0x73, 0x14, 0x0f, 0x62, 0xa0, - 0x46, 0xea, 0x6f, 0xf3, 0xa0, 0xf1, 0x16, 0x74, 0x64, 0xe3, 0x3e, 0xfa, 0x8f, 0x28, 0x88, 0x50, - 0x8a, 0x68, 0x0a, 0xb1, 0xf0, 0xbd, 0x13, 0x78, 0xf0, 0x24, 0xce, 0x50, 0x41, 0xb1, 0xe7, 0xca, - 0x1c, 0xc6, 0xbf, 0x13, 0xdf, 0x8c, 0x01, 0x4d, 0x92, 0xc9, 0x01, 0x0f, 0xea, 0xe8, 0xfa, 0x09, - 0xdd, 0x32, 0x9c, 0x8c, 0x08, 0xf1, 0x24, 0x65, 0x92, 0xcf, 0x47, 0xfc, 0x09, 0xdb, 0x43, 0xf4, - 0x7d, 0xcb, 0x81, 0x1d, 0xeb, 0xd9, 0xc8, 0x34, 0x12, 0x9f, 0x8f, 0x90, 0x3c, 0xa9, 0x69, 0xdf, - 0x8f, 0x84, 0x5c, 0x89, 0x31, 0xd9, 0xe4, 0xc4, 0xb4, 0x98, 0x16, 0x07, 0x09, 0xb9, 0xaf, 0xe5, - 0x5b, 0xbb, 0xc7, 0x2e, 0xdb, 0x09, 0x19, 0xf0, 0x8b, 0xea, 0x17, 0xe9, 0x7c, 0x90, 0xe6, 0x03, - 0x5f, 0x8b, 0xd4, 0xff, 0x31, 0xaf, 0x0e, 0x1a, 0x18, 0xb3, 0x3c, 0xf2, 0x10, 0x1a, 0x07, 0xd9, - 0x65, 0x7a, 0x1e, 0x87, 0x6f, 0xf3, 0x5c, 0x1f, 0x15, 0x39, 0x72, 0x91, 0xf7, 0x8b, 0x28, 0xcd, - 0xf7, 0x50, 0xa7, 0xf3, 0x60, 0x7f, 0x3f, 0x47, 0x17, 0x93, 0x56, 0x13, 0xbc, 0x0d, 0xc6, 0xbb, - 0xc4, 0x32, 0x50, 0xde, 0xf2, 0x4a, 0xa0, 0x13, 0xb3, 0x7a, 0x8c, 0x8c, 0xf4, 0xe1, 0x97, 0xbc, - 0x20, 0x95, 0xab, 0xd9, 0x1e, 0x64, 0x4f, 0xad, 0x8f, 0x94, 0x64, 0xc3, 0x53, 0x89, 0xe5, 0x67, - 0x58, 0xb8, 0xd4, 0xfb, 0x4d, 0xd4, 0x45, 0x43, 0x2f, 0xed, 0xa8, 0xaa, 0x63, 0x56, 0x47, 0xef, - 0xe9, 0xe6, 0x6f, 0x17, 0x41, 0x61, 0xd7, 0x35, 0xd5, 0x26, 0x98, 0x89, 0xb4, 0xd1, 0x4b, 0x89, - 0x39, 0x3e, 0xd6, 0xa7, 0x6a, 0x6b, 0x79, 0x50, 0x32, 0x6a, 0xbe, 0x02, 0x20, 0xd4, 0xca, 0x56, - 0x53, 0xf7, 0x4a, 0x8c, 0xb6, 0x3a, 0x1c, 0x23, 0xa5, 0x23, 0x70, 0x26, 0xda, 0xa6, 0x2e, 0xa7, - 0x6d, 0x8e, 0xc0, 0xb4, 0xf5, 0x5c, 0x30, 0xa9, 0xe6, 0x00, 0x9c, 0x8d, 0x77, 0x9a, 0x37, 0x32, - 0x25, 0x04, 0x40, 0xad, 0x9e, 0x13, 0x28, 0x95, 0x3d, 0x02, 0x93, 0xb2, 0x99, 0xab, 0x64, 0x6d, - 0x66, 0x08, 0x6d, 0x65, 0x18, 0x42, 0xca, 0x6d, 0x82, 0x99, 0x48, 0xe7, 0xb5, 0x94, 0xb5, 0xd3, - 0x47, 0xa5, 0x9f, 0x76, 0x52, 0x5b, 0xc5, 0x4e, 0x3b, 0xd4, 0x52, 0x55, 0xb3, 0xf6, 0x0a, 0x4c, - 0xfa, 0x69, 0x0f, 0x36, 0x44, 0x6a, 0x1b, 0xcc, 0xc6, 0x9a, 0xa1, 0xeb, 0x59, 0xbb, 0x03, 0x9c, - 0x56, 0xcb, 0x87, 0x93, 0x9a, 0x1c, 0x70, 0x6e, 0xa0, 0xa9, 0x59, 0x19, 0x22, 0x43, 0x22, 0xb5, - 0xb7, 0xf2, 0x22, 0x23, 0x01, 0x16, 0x6b, 0x5b, 0xd2, 0x03, 0x2c, 0x0a, 0xcc, 0x08, 0xb0, 0xe4, - 0x56, 0x46, 0xfd, 0x0e, 0x9c, 0x1f, 0xec, 0x63, 0x6e, 0x0e, 0x91, 0x12, 0x40, 0xb5, 0x8d, 0xdc, - 0x50, 0xa9, 0xf2, 0x31, 0x98, 0x0e, 0x77, 0x36, 0xd7, 0xd2, 0x24, 0x84, 0x40, 0xda, 0xff, 0x73, - 0x80, 0x22, 0x0f, 0x41, 0xa4, 0x99, 0x58, 0x1e, 0x42, 0xd2, 0x7b, 0x6c, 0xd6, 0x73, 0xc1, 0xa4, - 0x9a, 0x67, 0x60, 0x2e, 0xb1, 0x87, 0x58, 0xcb, 0xc1, 0x55, 0xa2, 0xb5, 0xdb, 0xa3, 0xa0, 0xa5, - 0xee, 0xcf, 0xc1, 0x54, 0xd0, 0x3c, 0x5c, 0x4d, 0x13, 0x21, 0x21, 0xda, 0xcd, 0xa1, 0x90, 0xf0, - 0xb5, 0x0d, 0x55, 0xf5, 0xd5, 0xac, 0x8d, 0x02, 0x93, 0x7e, 0x6d, 0x07, 0xcb, 0x76, 0x76, 0x36, - 0xd1, 0x9a, 0x7d, 0x79, 0xc8, 0x66, 0x01, 0x4b, 0x3f, 0x9b, 0xc4, 0xba, 0x9c, 0x85, 0xf5, 0x60, - 0x51, 0x9e, 0xe9, 0x84, 0x08, 0x34, 0x3d, 0xac, 0x53, 0x0b, 0x70, 0x16, 0x0e, 0x89, 0xd5, 0xf7, - 0x5a, 0x3e, 0x51, 0x9e, 0x9d, 0xb7, 0x47, 0x41, 0x87, 0xaf, 0x54, 0xb8, 0xd2, 0xbe, 0x96, 0x21, - 0xc4, 0x07, 0xa5, 0x5f, 0xa9, 0x84, 0x1a, 0xdb, 0x3b, 0xb6, 0xd0, 0x63, 0x9b, 0x75, 0x6c, 0xa1, - 0xb7, 0x76, 0x3d, 0x17, 0x2c, 0x66, 0x87, 0xac, 0xa1, 0xb3, 0xec, 0xf0, 0x41, 0x99, 0x76, 0xc4, - 0xeb, 0x64, 0x96, 0x35, 0x62, 0x45, 0x72, 0x6a, 0xd6, 0x88, 0xe2, 0xd2, 0xb3, 0x46, 0x4a, 0x85, - 0x7c, 0x00, 0xce, 0xc6, 0xab, 0xde, 0x1b, 0xe9, 0x4c, 0x23, 0xc0, 0xf4, 0x57, 0x3c, 0xa5, 0x74, - 0x65, 0xe9, 0x3c, 0x52, 0xb7, 0x2e, 0x0d, 0x15, 0xc0, 0x4c, 0x5a, 0xcb, 0x83, 0x4a, 0x34, 0xc8, - 0x0b, 0xed, 0xe1, 0x06, 0x79, 0x51, 0x5d, 0xcf, 0x09, 0xf4, 0x95, 0x69, 0xe3, 0xdf, 0x1f, 0x1f, - 0xad, 0x2a, 0x0d, 0xfd, 0xc5, 0xeb, 0xb2, 0xf2, 0xf2, 0x75, 0x59, 0xf9, 0xe7, 0x75, 0x59, 0xf9, - 0xf5, 0x4d, 0x79, 0xec, 0xe5, 0x9b, 0xf2, 0xd8, 0x5f, 0x6f, 0xca, 0x63, 0x5f, 0xdc, 0x35, 0x2d, - 0xda, 0xee, 0x35, 0x6b, 0x06, 0xb6, 0xeb, 0x3b, 0xc8, 0x40, 0x0e, 0x25, 0xb0, 0xc3, 0x1e, 0x82, - 0x0f, 0xa0, 0x8d, 0xea, 0xc9, 0xbf, 0xbb, 0xd0, 0xc3, 0x2e, 0x72, 0x9b, 0x13, 0xfc, 0xa7, 0xa3, - 0x5b, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x34, 0xf5, 0x60, 0x44, 0x51, 0x1b, 0x00, 0x00, + // 1877 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xcd, 0x6f, 0x23, 0x49, + 0x15, 0x4f, 0xaf, 0x9d, 0x6c, 0x52, 0xc9, 0x64, 0x76, 0x7a, 0xb2, 0x89, 0xd3, 0x93, 0x75, 0x3c, + 0xde, 0x64, 0x37, 0x1b, 0x12, 0x9b, 0x64, 0x3f, 0x66, 0xb5, 0x82, 0x95, 0x62, 0x47, 0x20, 0x0e, + 0x61, 0x97, 0x36, 0x2c, 0xe2, 0x73, 0x55, 0x6e, 0x57, 0xda, 0x4d, 0xdc, 0x5d, 0xa6, 0xba, 0xec, + 0x99, 0x8c, 0x84, 0x84, 0xe0, 0x82, 0xe0, 0xc2, 0x99, 0x1b, 0xb7, 0x39, 0x06, 0x89, 0xbf, 0x00, + 0x2e, 0x73, 0x1c, 0xcd, 0x89, 0x13, 0x42, 0x33, 0x87, 0xfc, 0x19, 0xa0, 0xfa, 0xe8, 0xea, 0x0f, + 0x77, 0xb7, 0xdb, 0x96, 0xb8, 0xcc, 0xb8, 0xaa, 0x7e, 0xf5, 0xde, 0xef, 0xbd, 0x7a, 0xf5, 0x5e, + 0xbd, 0x0e, 0xd8, 0xb1, 0x20, 0xe9, 0x59, 0x7d, 0xe8, 0x78, 0xcd, 0xf0, 0x17, 0x7d, 0xd2, 0x18, + 0x12, 0x4c, 0xb1, 0x7e, 0x5f, 0xcd, 0x35, 0xd4, 0x2f, 0xe3, 0x1e, 0x74, 0x1d, 0x0f, 0x37, 0xf9, + 0xbf, 0x02, 0x67, 0x6c, 0x59, 0xd8, 0x77, 0xb1, 0xdf, 0x74, 0x7d, 0xbb, 0x39, 0x3e, 0x61, 0xff, + 0xc9, 0x85, 0x6d, 0xb1, 0xf0, 0x35, 0x1f, 0x35, 0xc5, 0x40, 0x2e, 0x6d, 0xd8, 0xd8, 0xc6, 0x62, + 0x9e, 0xfd, 0x92, 0xb3, 0xb5, 0x34, 0x3e, 0x43, 0x48, 0xa0, 0x1b, 0xec, 0xab, 0x4a, 0x5d, 0x5d, + 0xe8, 0xa3, 0xe6, 0xf8, 0xa4, 0x8b, 0x28, 0x3c, 0x69, 0x5a, 0xd8, 0xf1, 0xf2, 0x24, 0x8c, 0x31, + 0x75, 0xbc, 0x80, 0xd4, 0x6e, 0x1a, 0xc2, 0x85, 0xd4, 0xea, 0x4b, 0xc0, 0xc3, 0x34, 0x80, 0x85, + 0x47, 0x9e, 0xe5, 0x0c, 0x14, 0x8b, 0x34, 0x08, 0x24, 0x3d, 0xb1, 0x5e, 0xff, 0xa7, 0x06, 0xee, + 0x5e, 0xf8, 0xf6, 0x8f, 0x86, 0x3d, 0x48, 0xd1, 0x97, 0x9c, 0xbf, 0xfe, 0x09, 0x58, 0x81, 0x23, + 0xda, 0xc7, 0xc4, 0xa1, 0xd7, 0x15, 0xad, 0xa6, 0x1d, 0xac, 0xb4, 0x2a, 0x2f, 0xff, 0x7e, 0xbc, + 0x21, 0xdd, 0x72, 0xd6, 0xeb, 0x11, 0xe4, 0xfb, 0x1d, 0x4a, 0x1c, 0xcf, 0x36, 0x43, 0xa8, 0xfe, + 0x39, 0x58, 0x12, 0x1e, 0xa8, 0xbc, 0x51, 0xd3, 0x0e, 0x56, 0x4f, 0x1f, 0x34, 0x52, 0x8e, 0xa5, + 0x21, 0x94, 0xb4, 0x56, 0x9e, 0xff, 0x7b, 0x77, 0xe1, 0xd9, 0xed, 0xcd, 0xa1, 0x66, 0xca, 0x5d, + 0x9f, 0x7d, 0xfa, 0xbb, 0xdb, 0x9b, 0xc3, 0x50, 0xde, 0x1f, 0x6f, 0x6f, 0x0e, 0xf7, 0x43, 0xd2, + 0x4f, 0x22, 0x06, 0x24, 0x18, 0xd7, 0xb7, 0xc1, 0x56, 0x62, 0xca, 0x44, 0xfe, 0x10, 0x7b, 0x3e, + 0xaa, 0xdb, 0xe0, 0x0e, 0x5b, 0xf2, 0x11, 0x69, 0x13, 0x04, 0x29, 0xd2, 0x2b, 0xe0, 0x4d, 0x8b, + 0xfd, 0xc2, 0x44, 0xd8, 0x66, 0x06, 0x43, 0xb6, 0xe2, 0xa1, 0xc7, 0x0c, 0xca, 0x0d, 0x58, 0x31, + 0x83, 0xa1, 0xbe, 0x01, 0x16, 0xe1, 0xc0, 0x81, 0x7e, 0xa5, 0xc4, 0xe7, 0xc5, 0xe0, 0xb3, 0x35, + 0xc6, 0x37, 0xd8, 0x5d, 0xdf, 0x02, 0x6f, 0xc7, 0x14, 0x29, 0x06, 0x2e, 0x78, 0xeb, 0xc2, 0xb7, + 0xdb, 0x90, 0xf4, 0x3a, 0x56, 0x1f, 0xb9, 0xa8, 0x35, 0xba, 0xce, 0x21, 0x71, 0x02, 0x4a, 0x5d, + 0xa7, 0x27, 0x3d, 0xb8, 0xdd, 0x90, 0x3e, 0x67, 0x41, 0xd4, 0x90, 0x41, 0xd4, 0x68, 0x63, 0xc7, + 0x6b, 0x95, 0x99, 0xff, 0x4c, 0x86, 0x4d, 0xf0, 0x38, 0x05, 0x95, 0xa4, 0xba, 0x80, 0x8a, 0xbe, + 0x09, 0x96, 0x98, 0x13, 0xbf, 0xd7, 0xe3, 0x5a, 0xcb, 0xa6, 0x1c, 0xd5, 0xff, 0xa1, 0x01, 0x3d, + 0xd8, 0x04, 0xc7, 0xa8, 0x8d, 0x3d, 0x8a, 0x3c, 0x9a, 0xc3, 0x32, 0x14, 0xf4, 0x46, 0x54, 0x10, + 0xdf, 0x21, 0x36, 0x73, 0x57, 0xad, 0x99, 0xc1, 0x90, 0xb9, 0xd0, 0xc3, 0x14, 0xf9, 0x95, 0xb2, + 0x70, 0x21, 0x1f, 0x30, 0x39, 0x90, 0x50, 0xc7, 0xa7, 0x95, 0x45, 0x3e, 0x2d, 0x47, 0xfa, 0x1e, + 0xb8, 0xd3, 0x85, 0x03, 0xe8, 0x59, 0xe8, 0xcc, 0xb3, 0xfa, 0x98, 0x54, 0x96, 0x6a, 0xda, 0xc1, + 0xb2, 0x19, 0x9f, 0x4c, 0x18, 0x7e, 0x0e, 0x8c, 0x49, 0x1b, 0x94, 0xe9, 0xef, 0x81, 0x75, 0xe8, + 0x90, 0x1e, 0xc1, 0xc3, 0xf6, 0x00, 0x3a, 0x2e, 0x12, 0x2e, 0x58, 0x36, 0x13, 0xb3, 0xf5, 0x5f, + 0x81, 0x55, 0x29, 0xe5, 0x2b, 0x9c, 0x1b, 0x2d, 0x1f, 0x82, 0xf2, 0x18, 0x53, 0x24, 0x4f, 0x6a, + 0x37, 0x35, 0xd6, 0x3b, 0x8e, 0x67, 0x0f, 0x10, 0x13, 0x64, 0x72, 0x70, 0x82, 0xf1, 0xb7, 0xc1, + 0xfd, 0x88, 0xae, 0x99, 0xa9, 0xba, 0xfc, 0xea, 0xb2, 0xed, 0x3f, 0x24, 0xd0, 0xf3, 0x2f, 0x11, + 0x99, 0xe3, 0xc4, 0x0c, 0xb0, 0x4c, 0x90, 0x85, 0x9c, 0x31, 0x22, 0x32, 0xba, 0xd5, 0x38, 0xc1, + 0x56, 0x5c, 0xb2, 0xa8, 0x3a, 0x15, 0xe2, 0x7f, 0xd0, 0xf8, 0x2d, 0x63, 0x6b, 0xe7, 0xd8, 0xcb, + 0xbf, 0x65, 0x59, 0x44, 0x1e, 0x81, 0x25, 0xe8, 0xe2, 0x91, 0x8c, 0x9c, 0x02, 0xb1, 0x2f, 0xe1, + 0xa9, 0xd7, 0x30, 0x64, 0xa2, 0x38, 0xfe, 0x5e, 0x03, 0xf7, 0xe4, 0xca, 0x19, 0xa1, 0x8f, 0x31, + 0xb9, 0x3a, 0xeb, 0xf5, 0xe6, 0xe0, 0xb9, 0x01, 0x16, 0x1d, 0x17, 0xda, 0x48, 0x06, 0xb8, 0x18, + 0x30, 0x39, 0x97, 0xa3, 0xc1, 0xe0, 0x8c, 0x50, 0x1e, 0xe0, 0xcb, 0x66, 0x30, 0x4c, 0xd0, 0x7b, + 0x00, 0xb6, 0x27, 0x48, 0x44, 0x32, 0xc5, 0xfd, 0x70, 0xd1, 0xf1, 0x69, 0xbb, 0x0f, 0x3d, 0x7b, + 0x1e, 0x5f, 0x86, 0xd7, 0xaa, 0x14, 0xbd, 0x56, 0x09, 0x2e, 0xef, 0x80, 0x07, 0x29, 0xea, 0x14, + 0x9b, 0x6f, 0x89, 0x9c, 0x20, 0xca, 0x89, 0x89, 0x6c, 0xc7, 0xa7, 0x79, 0x11, 0x96, 0x10, 0xbe, + 0x23, 0x6e, 0x63, 0x7c, 0xb7, 0x92, 0xfd, 0x39, 0xd8, 0x08, 0x57, 0xcf, 0x11, 0x99, 0x55, 0x7a, + 0x15, 0xec, 0xa4, 0xed, 0x57, 0xf2, 0x5f, 0x6a, 0x60, 0xfd, 0xc2, 0xb7, 0x2f, 0x58, 0xb1, 0x34, + 0xd1, 0x10, 0x13, 0x9a, 0x9f, 0xf7, 0x79, 0x55, 0x55, 0x6e, 0x0c, 0x86, 0x7a, 0x1d, 0xac, 0x0d, + 0x07, 0xf0, 0x1a, 0xf5, 0x98, 0x93, 0xfc, 0xb3, 0x4a, 0xa9, 0x56, 0x3a, 0x28, 0x9b, 0xb1, 0xb9, + 0x04, 0xa6, 0x55, 0x29, 0x4f, 0x60, 0x5a, 0xfa, 0x27, 0xe0, 0x4d, 0x3c, 0xa2, 0x16, 0x76, 0x11, + 0xcf, 0x73, 0xeb, 0xa7, 0x3b, 0xa9, 0xe9, 0xe2, 0x0b, 0x81, 0x31, 0x03, 0x70, 0xc2, 0xe8, 0x0a, + 0xd8, 0x8c, 0xdb, 0xa4, 0xcc, 0x35, 0x45, 0x89, 0x11, 0xee, 0x98, 0x5a, 0xe7, 0x32, 0xa2, 0x26, + 0xa1, 0xcd, 0x10, 0x75, 0x24, 0x2a, 0x53, 0xe9, 0xfb, 0x05, 0x4f, 0x05, 0x11, 0x26, 0x88, 0x9c, + 0x0d, 0x87, 0xd8, 0xc9, 0xad, 0x19, 0x3c, 0xd3, 0x08, 0xb0, 0xac, 0xaf, 0x6a, 0x9c, 0x50, 0xfd, + 0x10, 0xec, 0x66, 0x88, 0x57, 0x0c, 0x9e, 0x69, 0x60, 0xed, 0xc2, 0xb7, 0x3b, 0x88, 0x4e, 0x35, + 0x57, 0x07, 0x65, 0x0f, 0xba, 0x48, 0xea, 0xe4, 0xbf, 0xb3, 0x2e, 0x88, 0x5e, 0x03, 0xab, 0x3e, + 0xc5, 0xe4, 0xfa, 0xc7, 0xc4, 0x61, 0x34, 0x45, 0xad, 0x8a, 0x4e, 0xb1, 0xe3, 0x66, 0x25, 0x8d, + 0x38, 0xdd, 0x11, 0xc5, 0xc4, 0xaf, 0x2c, 0xd6, 0x4a, 0x07, 0x2b, 0x66, 0x6c, 0x2e, 0x61, 0xcd, + 0x26, 0x8f, 0x75, 0xc5, 0x54, 0x99, 0x80, 0x78, 0xce, 0x64, 0xf3, 0xec, 0x06, 0xe6, 0xe6, 0xa2, + 0x0d, 0xb0, 0xe8, 0x23, 0xaa, 0x0e, 0x4c, 0x0c, 0x22, 0xe7, 0x58, 0xca, 0x39, 0x47, 0x91, 0x10, + 0x43, 0x35, 0x4a, 0x7f, 0x9f, 0x07, 0x8d, 0x5c, 0x30, 0x91, 0x8b, 0xc7, 0xe8, 0xff, 0x44, 0x41, + 0x84, 0x52, 0x4c, 0x53, 0x84, 0x45, 0xe0, 0x9d, 0xd0, 0x83, 0xf3, 0x38, 0x43, 0x07, 0xe5, 0x91, + 0xaf, 0x6a, 0x18, 0xff, 0x9d, 0x9a, 0x33, 0x26, 0x34, 0x29, 0x26, 0x57, 0x3c, 0xa8, 0xe3, 0xeb, + 0x73, 0xba, 0x65, 0x3a, 0x19, 0x11, 0xe2, 0x69, 0xca, 0x14, 0x9f, 0xef, 0xf3, 0x14, 0xd6, 0x41, + 0xf4, 0x3b, 0x8e, 0x07, 0x07, 0xce, 0xd3, 0x99, 0x69, 0xa4, 0xa6, 0x8f, 0x88, 0x3c, 0xa5, 0xe9, + 0x32, 0x88, 0x84, 0x42, 0x85, 0x31, 0xdd, 0xe4, 0xd4, 0xb2, 0x98, 0x15, 0x07, 0x29, 0xb5, 0xaf, + 0x17, 0x58, 0xdb, 0x61, 0x97, 0x6d, 0x4e, 0x06, 0xfc, 0xa2, 0x06, 0x8f, 0x74, 0x3e, 0xc8, 0xf2, + 0x41, 0xa0, 0x45, 0xe9, 0xff, 0x01, 0x7f, 0x1d, 0xb4, 0x30, 0x66, 0x75, 0xe4, 0x4b, 0x68, 0x5d, + 0xe5, 0x3f, 0xd3, 0x8b, 0x38, 0xbc, 0xcd, 0x6b, 0x7d, 0x5c, 0xe4, 0xcc, 0x8f, 0xbc, 0x3f, 0x89, + 0xa7, 0x79, 0x07, 0x0d, 0x06, 0x5f, 0x5c, 0x5e, 0x16, 0xe8, 0x62, 0xb2, 0xde, 0x04, 0x1f, 0x83, + 0xc5, 0x21, 0x71, 0x2c, 0x54, 0xf4, 0x79, 0x25, 0xd0, 0xa9, 0x55, 0x3d, 0x41, 0x46, 0xf9, 0xf0, + 0x67, 0xfc, 0x41, 0xaa, 0x56, 0xf3, 0x3d, 0xc8, 0x52, 0x6d, 0x80, 0x54, 0x64, 0xa3, 0x53, 0xa9, + 0xcf, 0xcf, 0xa8, 0x70, 0xa5, 0xf7, 0x97, 0x71, 0x17, 0x4d, 0xbd, 0xb4, 0xb3, 0xaa, 0x4e, 0x58, + 0x9d, 0xb8, 0xa7, 0x7f, 0xd5, 0x54, 0x83, 0x67, 0x42, 0xd6, 0xb8, 0x76, 0x10, 0x9d, 0xef, 0x5d, + 0x29, 0x22, 0xaa, 0x14, 0x0d, 0xea, 0x47, 0x60, 0x89, 0x70, 0xa1, 0xbc, 0x16, 0xad, 0x67, 0xf4, + 0x19, 0xa1, 0x6e, 0x53, 0xc2, 0xd3, 0x8b, 0x79, 0x94, 0xa2, 0xe2, 0xff, 0x17, 0x2d, 0x5a, 0xe9, + 0x83, 0xe9, 0x36, 0x76, 0x5d, 0x27, 0xcf, 0x8e, 0x1d, 0xb0, 0x22, 0x3f, 0x35, 0x28, 0x53, 0xc2, + 0x09, 0xb6, 0x8f, 0x15, 0x77, 0xcf, 0x47, 0xf2, 0x3a, 0x06, 0x43, 0xbd, 0x0a, 0x80, 0x3f, 0xb2, + 0x6d, 0xe4, 0x53, 0x07, 0x7b, 0xb2, 0xc2, 0x46, 0x66, 0x12, 0xc4, 0xeb, 0xa0, 0x96, 0xc5, 0x4d, + 0x19, 0xf0, 0xb7, 0x54, 0x03, 0x4c, 0x34, 0x46, 0x70, 0x30, 0xb7, 0x01, 0x8f, 0xe2, 0x06, 0xac, + 0x9f, 0xbe, 0x93, 0xea, 0x79, 0xa5, 0x4d, 0xd9, 0xb7, 0x09, 0x96, 0x7c, 0x64, 0x11, 0x44, 0xa5, + 0x6d, 0x72, 0x54, 0xc4, 0x2e, 0x41, 0x39, 0x18, 0x9d, 0xfe, 0x77, 0x0b, 0x94, 0x2e, 0x7c, 0x5b, + 0xef, 0x82, 0xb5, 0xd8, 0xf7, 0x99, 0xbd, 0x54, 0x26, 0x89, 0x0f, 0x20, 0xc6, 0x51, 0x11, 0x94, + 0x4a, 0x47, 0x3f, 0x07, 0x20, 0xf2, 0x8d, 0xa4, 0x9e, 0xb9, 0x57, 0x61, 0x8c, 0xc3, 0xe9, 0x18, + 0x25, 0x1d, 0x81, 0x3b, 0xf1, 0xef, 0x1f, 0xfb, 0x59, 0x9b, 0x63, 0x30, 0xe3, 0xb8, 0x10, 0x4c, + 0xa9, 0xb9, 0x02, 0x77, 0x93, 0x9f, 0x30, 0xde, 0xcf, 0x95, 0x10, 0x02, 0x8d, 0x66, 0x41, 0xa0, + 0x52, 0xf6, 0x15, 0x58, 0x56, 0x5f, 0x09, 0x6a, 0x79, 0x9b, 0x19, 0xc2, 0x38, 0x98, 0x86, 0x50, + 0x72, 0xbb, 0x60, 0x2d, 0xd6, 0xd2, 0xef, 0xe5, 0xed, 0x0c, 0x50, 0xd9, 0xa7, 0x9d, 0xd6, 0xaf, + 0xb3, 0xd3, 0x8e, 0xf4, 0xea, 0xf5, 0xbc, 0xbd, 0x02, 0x93, 0x7d, 0xda, 0x93, 0x9d, 0xb6, 0xde, + 0x07, 0xeb, 0x89, 0x2e, 0xfb, 0xbd, 0xbc, 0xdd, 0x21, 0xce, 0x68, 0x14, 0xc3, 0x29, 0x4d, 0x1e, + 0x78, 0x6b, 0xa2, 0x5b, 0x3e, 0x98, 0x22, 0x43, 0x21, 0x8d, 0x6f, 0x16, 0x45, 0xc6, 0x02, 0x2c, + 0xd1, 0x0f, 0x67, 0x07, 0x58, 0x1c, 0x98, 0x13, 0x60, 0xe9, 0x3d, 0xb2, 0xfe, 0x6b, 0x70, 0x6f, + 0xb2, 0x41, 0xfe, 0x60, 0x8a, 0x94, 0x10, 0x6a, 0x9c, 0x14, 0x86, 0x2a, 0x95, 0x5f, 0x83, 0xd5, + 0x68, 0xcb, 0xfc, 0x6e, 0x96, 0x84, 0x08, 0xc8, 0xf8, 0x46, 0x01, 0x50, 0x2c, 0x11, 0xc4, 0xba, + 0xd4, 0xfd, 0x29, 0x24, 0x65, 0xb2, 0x39, 0x2e, 0x04, 0x53, 0x6a, 0x9e, 0x82, 0x8d, 0xd4, 0xe6, + 0xf4, 0xa8, 0x00, 0x57, 0x85, 0x36, 0x3e, 0x9a, 0x05, 0xad, 0x74, 0xff, 0x04, 0xac, 0x84, 0x5d, + 0xe9, 0xc3, 0x2c, 0x11, 0x0a, 0x62, 0x7c, 0x30, 0x15, 0x12, 0xbd, 0xb6, 0x91, 0x76, 0xb1, 0x9e, + 0xb7, 0x51, 0x60, 0xb2, 0xaf, 0xed, 0x64, 0x3f, 0xc8, 0xce, 0x26, 0xde, 0x0c, 0xee, 0x4f, 0xd9, + 0x2c, 0x60, 0xd9, 0x67, 0x93, 0xda, 0xf0, 0xb1, 0xb0, 0x9e, 0xec, 0xf6, 0x72, 0x9d, 0x10, 0x83, + 0x66, 0x87, 0x75, 0x66, 0x67, 0xc7, 0xc2, 0x21, 0xb5, 0xad, 0x3b, 0x2a, 0x26, 0x4a, 0xda, 0xf9, + 0xd1, 0x2c, 0xe8, 0xe8, 0x95, 0x8a, 0xb6, 0x70, 0xef, 0xe6, 0x08, 0x09, 0x40, 0xd9, 0x57, 0x2a, + 0xa5, 0x79, 0x93, 0xc7, 0x16, 0x49, 0xb6, 0x79, 0xc7, 0x16, 0xc9, 0xb5, 0xc7, 0x85, 0x60, 0x09, + 0x3b, 0x54, 0x73, 0x96, 0x67, 0x47, 0x00, 0xca, 0xb5, 0x23, 0xd9, 0x80, 0xb1, 0xaa, 0x91, 0xe8, + 0xbe, 0x32, 0xab, 0x46, 0x1c, 0x97, 0x5d, 0x35, 0x32, 0x5a, 0xaf, 0x2b, 0x70, 0x37, 0xd9, 0x4e, + 0xbd, 0x9f, 0xcd, 0x34, 0x06, 0xcc, 0xce, 0xe2, 0x19, 0x3d, 0x11, 0x2b, 0xe7, 0xb1, 0x86, 0x68, + 0x6f, 0xaa, 0x00, 0x66, 0xd2, 0x51, 0x11, 0x54, 0xaa, 0x41, 0x32, 0xb4, 0xa7, 0x1b, 0x24, 0xa3, + 0xba, 0x59, 0x10, 0x98, 0x7c, 0xcb, 0x85, 0xad, 0x4e, 0xee, 0x5b, 0x4e, 0xc1, 0xf2, 0xdf, 0x72, + 0x13, 0x5d, 0x89, 0xfe, 0x1b, 0xf0, 0x76, 0x7a, 0x47, 0x72, 0x3c, 0xb5, 0x8e, 0x46, 0xe1, 0xc6, + 0xc7, 0x33, 0xc1, 0x73, 0xd4, 0xcb, 0x7e, 0xa2, 0xa8, 0x7a, 0x01, 0x2f, 0xac, 0x3e, 0xfe, 0xf4, + 0x37, 0x16, 0x7f, 0x7b, 0x7b, 0x73, 0xa8, 0xb5, 0xcc, 0xe7, 0xaf, 0xaa, 0xda, 0x8b, 0x57, 0x55, + 0xed, 0x3f, 0xaf, 0xaa, 0xda, 0x9f, 0x5f, 0x57, 0x17, 0x5e, 0xbc, 0xae, 0x2e, 0xfc, 0xeb, 0x75, + 0x75, 0xe1, 0xa7, 0x9f, 0xda, 0x0e, 0xed, 0x8f, 0xba, 0x0d, 0x0b, 0xbb, 0xcd, 0x73, 0x64, 0x21, + 0x8f, 0x12, 0x38, 0x60, 0x9e, 0xfc, 0x2e, 0x74, 0x51, 0x33, 0xfd, 0xaf, 0xa6, 0xf4, 0x7a, 0x88, + 0xfc, 0xee, 0x12, 0xff, 0xc3, 0xef, 0x87, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x5d, 0xfb, + 0x0b, 0x52, 0x1f, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2732,6 +3063,9 @@ type MsgClient interface { SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) + CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) + CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) + CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) } type msgClient struct { @@ -2976,6 +3310,33 @@ func (c *msgClient) SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, return out, nil } +func (c *msgClient) CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) { + out := new(MsgCardRaritySetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardRaritySet", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) { + out := new(MsgCouncilResponseCommitResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilResponseCommit", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) { + out := new(MsgCouncilResponseRevealResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilResponseReveal", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module @@ -3006,6 +3367,9 @@ type MsgServer interface { SellOfferCreate(context.Context, *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) SellOfferBuy(context.Context, *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) SellOfferRemove(context.Context, *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) + CardRaritySet(context.Context, *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) + CouncilResponseCommit(context.Context, *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) + CouncilResponseReveal(context.Context, *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -3090,6 +3454,15 @@ func (*UnimplementedMsgServer) SellOfferBuy(ctx context.Context, req *MsgSellOff func (*UnimplementedMsgServer) SellOfferRemove(ctx context.Context, req *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SellOfferRemove not implemented") } +func (*UnimplementedMsgServer) CardRaritySet(ctx context.Context, req *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardRaritySet not implemented") +} +func (*UnimplementedMsgServer) CouncilResponseCommit(ctx context.Context, req *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseCommit not implemented") +} +func (*UnimplementedMsgServer) CouncilResponseReveal(ctx context.Context, req *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseReveal not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -3563,6 +3936,60 @@ func _Msg_SellOfferRemove_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Msg_CardRaritySet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardRaritySet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardRaritySet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardRaritySet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardRaritySet(ctx, req.(*MsgCardRaritySet)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CouncilResponseCommit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilResponseCommit) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilResponseCommit(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilResponseCommit", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilResponseCommit(ctx, req.(*MsgCouncilResponseCommit)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CouncilResponseReveal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilResponseReveal) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilResponseReveal(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilResponseReveal", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilResponseReveal(ctx, req.(*MsgCouncilResponseReveal)) + } + return interceptor(ctx, in, info, handler) +} + var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Msg", @@ -3672,11 +4099,23 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "SellOfferRemove", Handler: _Msg_SellOfferRemove_Handler, }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cardchain/cardchain/tx.proto", -} - + { + MethodName: "CardRaritySet", + Handler: _Msg_CardRaritySet_Handler, + }, + { + MethodName: "CouncilResponseCommit", + Handler: _Msg_CouncilResponseCommit_Handler, + }, + { + MethodName: "CouncilResponseReveal", + Handler: _Msg_CouncilResponseReveal_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/cardchain/tx.proto", +} + func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -5424,6 +5863,216 @@ func (m *MsgSellOfferRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } +func (m *MsgCardRaritySet) 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 *MsgCardRaritySet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardRaritySet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Rarity != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Rarity)) + i-- + dAtA[i] = 0x20 + } + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x18 + } + 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 *MsgCardRaritySetResponse) 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 *MsgCardRaritySetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardRaritySetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCouncilResponseCommit) 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 *MsgCouncilResponseCommit) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilResponseCommit) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Suggestion) > 0 { + i -= len(m.Suggestion) + copy(dAtA[i:], m.Suggestion) + i = encodeVarintTx(dAtA, i, uint64(len(m.Suggestion))) + i-- + dAtA[i] = 0x22 + } + if len(m.Reponse) > 0 { + i -= len(m.Reponse) + copy(dAtA[i:], m.Reponse) + i = encodeVarintTx(dAtA, i, uint64(len(m.Reponse))) + i-- + dAtA[i] = 0x1a + } + if m.CouncilId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + 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 *MsgCouncilResponseCommitResponse) 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 *MsgCouncilResponseCommitResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilResponseCommitResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCouncilResponseReveal) 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 *MsgCouncilResponseReveal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilResponseReveal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Secret) > 0 { + i -= len(m.Secret) + copy(dAtA[i:], m.Secret) + i = encodeVarintTx(dAtA, i, uint64(len(m.Secret))) + i-- + dAtA[i] = 0x22 + } + if m.Reponse != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Reponse)) + i-- + dAtA[i] = 0x18 + } + if m.CouncilId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + 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 *MsgCouncilResponseRevealResponse) 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 *MsgCouncilResponseRevealResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilResponseRevealResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -6184,57 +6833,153 @@ func (m *MsgSellOfferRemoveResponse) Size() (n int) { return n } -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 +func (m *MsgCardRaritySet) 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)) + } + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + if m.Rarity != 0 { + n += 1 + sovTx(uint64(m.Rarity)) + } + return n } -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + +func (m *MsgCardRaritySetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n } -func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { + +func (m *MsgCouncilResponseCommit) 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.CouncilId != 0 { + n += 1 + sovTx(uint64(m.CouncilId)) + } + l = len(m.Reponse) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Suggestion) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCouncilResponseCommitResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilResponseReveal) 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.CouncilId != 0 { + n += 1 + sovTx(uint64(m.CouncilId)) + } + if m.Reponse != 0 { + n += 1 + sovTx(uint64(m.Reponse)) + } + l = len(m.Secret) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCouncilResponseRevealResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { break } } @@ -11010,6 +11755,612 @@ func (m *MsgSellOfferRemoveResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgCardRaritySet) 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: MsgCardRaritySet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardRaritySet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + 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 + } + } + 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 *MsgCardRaritySetResponse) 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: MsgCardRaritySetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardRaritySetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCouncilResponseCommit) 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: MsgCouncilResponseCommit: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilResponseCommit: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reponse", 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.Reponse = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + 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:]) + 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 *MsgCouncilResponseCommitResponse) 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: MsgCouncilResponseCommitResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilResponseCommitResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCouncilResponseReveal) 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: MsgCouncilResponseReveal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilResponseReveal: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Reponse", wireType) + } + m.Reponse = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Reponse |= Response(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Secret", 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.Secret = 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 *MsgCouncilResponseRevealResponse) 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: MsgCouncilResponseRevealResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilResponseRevealResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From 96c1078aa7c3cca4b4bc7ae82fa83f40e2e7379a Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 00:42:29 +0100 Subject: [PATCH 16/99] feat(#242): Match confirm --- api/cardchain/cardchain/tx.pulsar.go | 2583 +++++++++++++++-- api/cardchain/cardchain/tx_grpc.pb.go | 74 + docs/static/openapi.yml | 2 +- gen.sh | 10 +- proto/cardchain/cardchain/tx.proto | 20 + .../keeper/msg_server_council_restart.go | 17 + .../keeper/msg_server_match_confirm.go | 17 + x/cardchain/module/autocli.go | 12 + x/cardchain/module/simulation.go | 46 + x/cardchain/simulation/council_restart.go | 29 + x/cardchain/simulation/match_confirm.go | 29 + x/cardchain/types/codec.go | 6 + x/cardchain/types/message_council_restart.go | 24 + .../types/message_council_restart_test.go | 40 + x/cardchain/types/message_match_confirm.go | 26 + .../types/message_match_confirm_test.go | 40 + x/cardchain/types/tx.pb.go | 1165 ++++++-- 17 files changed, 3713 insertions(+), 427 deletions(-) create mode 100644 x/cardchain/keeper/msg_server_council_restart.go create mode 100644 x/cardchain/keeper/msg_server_match_confirm.go create mode 100644 x/cardchain/simulation/council_restart.go create mode 100644 x/cardchain/simulation/match_confirm.go create mode 100644 x/cardchain/types/message_council_restart.go create mode 100644 x/cardchain/types/message_council_restart_test.go create mode 100644 x/cardchain/types/message_match_confirm.go create mode 100644 x/cardchain/types/message_match_confirm_test.go diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index f48c2c65..0e6a7d5e 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -26236,6 +26236,1840 @@ func (x *fastReflection_MsgCouncilResponseRevealResponse) ProtoMethods() *protoi } } +var ( + md_MsgCouncilRestart protoreflect.MessageDescriptor + fd_MsgCouncilRestart_creator protoreflect.FieldDescriptor + fd_MsgCouncilRestart_councilId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCouncilRestart = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilRestart") + fd_MsgCouncilRestart_creator = md_MsgCouncilRestart.Fields().ByName("creator") + fd_MsgCouncilRestart_councilId = md_MsgCouncilRestart.Fields().ByName("councilId") +} + +var _ protoreflect.Message = (*fastReflection_MsgCouncilRestart)(nil) + +type fastReflection_MsgCouncilRestart MsgCouncilRestart + +func (x *MsgCouncilRestart) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCouncilRestart)(x) +} + +func (x *MsgCouncilRestart) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCouncilRestart_messageType fastReflection_MsgCouncilRestart_messageType +var _ protoreflect.MessageType = fastReflection_MsgCouncilRestart_messageType{} + +type fastReflection_MsgCouncilRestart_messageType struct{} + +func (x fastReflection_MsgCouncilRestart_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCouncilRestart)(nil) +} +func (x fastReflection_MsgCouncilRestart_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCouncilRestart) +} +func (x fastReflection_MsgCouncilRestart_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilRestart +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCouncilRestart) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilRestart +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCouncilRestart) Type() protoreflect.MessageType { + return _fastReflection_MsgCouncilRestart_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCouncilRestart) New() protoreflect.Message { + return new(fastReflection_MsgCouncilRestart) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCouncilRestart) Interface() protoreflect.ProtoMessage { + return (*MsgCouncilRestart)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCouncilRestart) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCouncilRestart_creator, value) { + return + } + } + if x.CouncilId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CouncilId) + if !f(fd_MsgCouncilRestart_councilId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCouncilRestart) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilRestart.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCouncilRestart.councilId": + return x.CouncilId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRestart")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRestart does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRestart) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilRestart.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCouncilRestart.councilId": + x.CouncilId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRestart")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRestart does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCouncilRestart) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCouncilRestart.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCouncilRestart.councilId": + value := x.CouncilId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRestart")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRestart does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRestart) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilRestart.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCouncilRestart.councilId": + x.CouncilId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRestart")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRestart does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRestart) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilRestart.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCouncilRestart is not mutable")) + case "cardchain.cardchain.MsgCouncilRestart.councilId": + panic(fmt.Errorf("field councilId of message cardchain.cardchain.MsgCouncilRestart is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRestart")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRestart does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCouncilRestart) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCouncilRestart.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCouncilRestart.councilId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRestart")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRestart does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCouncilRestart) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCouncilRestart", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCouncilRestart) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRestart) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCouncilRestart) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCouncilRestart) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCouncilRestart) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CouncilId != 0 { + n += 1 + runtime.Sov(uint64(x.CouncilId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilRestart) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CouncilId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CouncilId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilRestart) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilRestart: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilRestart: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) + } + x.CouncilId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CouncilId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCouncilRestartResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCouncilRestartResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilRestartResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCouncilRestartResponse)(nil) + +type fastReflection_MsgCouncilRestartResponse MsgCouncilRestartResponse + +func (x *MsgCouncilRestartResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCouncilRestartResponse)(x) +} + +func (x *MsgCouncilRestartResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCouncilRestartResponse_messageType fastReflection_MsgCouncilRestartResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCouncilRestartResponse_messageType{} + +type fastReflection_MsgCouncilRestartResponse_messageType struct{} + +func (x fastReflection_MsgCouncilRestartResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCouncilRestartResponse)(nil) +} +func (x fastReflection_MsgCouncilRestartResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCouncilRestartResponse) +} +func (x fastReflection_MsgCouncilRestartResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilRestartResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCouncilRestartResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCouncilRestartResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCouncilRestartResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCouncilRestartResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCouncilRestartResponse) New() protoreflect.Message { + return new(fastReflection_MsgCouncilRestartResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCouncilRestartResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCouncilRestartResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCouncilRestartResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCouncilRestartResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRestartResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRestartResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRestartResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRestartResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRestartResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCouncilRestartResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRestartResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRestartResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRestartResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRestartResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRestartResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRestartResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRestartResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRestartResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCouncilRestartResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCouncilRestartResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCouncilRestartResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCouncilRestartResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCouncilRestartResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCouncilRestartResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCouncilRestartResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCouncilRestartResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCouncilRestartResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCouncilRestartResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilRestartResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCouncilRestartResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilRestartResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCouncilRestartResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_MsgMatchConfirm_4_list)(nil) + +type _MsgMatchConfirm_4_list struct { + list *[]*SingleVote +} + +func (x *_MsgMatchConfirm_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgMatchConfirm_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_MsgMatchConfirm_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*SingleVote) + (*x.list)[i] = concreteValue +} + +func (x *_MsgMatchConfirm_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*SingleVote) + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgMatchConfirm_4_list) AppendMutable() protoreflect.Value { + v := new(SingleVote) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgMatchConfirm_4_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_MsgMatchConfirm_4_list) NewElement() protoreflect.Value { + v := new(SingleVote) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgMatchConfirm_4_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MsgMatchConfirm protoreflect.MessageDescriptor + fd_MsgMatchConfirm_creator protoreflect.FieldDescriptor + fd_MsgMatchConfirm_matchId protoreflect.FieldDescriptor + fd_MsgMatchConfirm_outcome protoreflect.FieldDescriptor + fd_MsgMatchConfirm_votedCards protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgMatchConfirm = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgMatchConfirm") + fd_MsgMatchConfirm_creator = md_MsgMatchConfirm.Fields().ByName("creator") + fd_MsgMatchConfirm_matchId = md_MsgMatchConfirm.Fields().ByName("matchId") + fd_MsgMatchConfirm_outcome = md_MsgMatchConfirm.Fields().ByName("outcome") + fd_MsgMatchConfirm_votedCards = md_MsgMatchConfirm.Fields().ByName("votedCards") +} + +var _ protoreflect.Message = (*fastReflection_MsgMatchConfirm)(nil) + +type fastReflection_MsgMatchConfirm MsgMatchConfirm + +func (x *MsgMatchConfirm) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgMatchConfirm)(x) +} + +func (x *MsgMatchConfirm) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgMatchConfirm_messageType fastReflection_MsgMatchConfirm_messageType +var _ protoreflect.MessageType = fastReflection_MsgMatchConfirm_messageType{} + +type fastReflection_MsgMatchConfirm_messageType struct{} + +func (x fastReflection_MsgMatchConfirm_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgMatchConfirm)(nil) +} +func (x fastReflection_MsgMatchConfirm_messageType) New() protoreflect.Message { + return new(fastReflection_MsgMatchConfirm) +} +func (x fastReflection_MsgMatchConfirm_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchConfirm +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgMatchConfirm) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchConfirm +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgMatchConfirm) Type() protoreflect.MessageType { + return _fastReflection_MsgMatchConfirm_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgMatchConfirm) New() protoreflect.Message { + return new(fastReflection_MsgMatchConfirm) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgMatchConfirm) Interface() protoreflect.ProtoMessage { + return (*MsgMatchConfirm)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgMatchConfirm) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgMatchConfirm_creator, value) { + return + } + } + if x.MatchId != uint64(0) { + value := protoreflect.ValueOfUint64(x.MatchId) + if !f(fd_MsgMatchConfirm_matchId, value) { + return + } + } + if x.Outcome != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Outcome)) + if !f(fd_MsgMatchConfirm_outcome, value) { + return + } + } + if len(x.VotedCards) != 0 { + value := protoreflect.ValueOfList(&_MsgMatchConfirm_4_list{list: &x.VotedCards}) + if !f(fd_MsgMatchConfirm_votedCards, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgMatchConfirm) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchConfirm.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgMatchConfirm.matchId": + return x.MatchId != uint64(0) + case "cardchain.cardchain.MsgMatchConfirm.outcome": + return x.Outcome != 0 + case "cardchain.cardchain.MsgMatchConfirm.votedCards": + return len(x.VotedCards) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchConfirm")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchConfirm does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchConfirm) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchConfirm.creator": + x.Creator = "" + case "cardchain.cardchain.MsgMatchConfirm.matchId": + x.MatchId = uint64(0) + case "cardchain.cardchain.MsgMatchConfirm.outcome": + x.Outcome = 0 + case "cardchain.cardchain.MsgMatchConfirm.votedCards": + x.VotedCards = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchConfirm")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchConfirm does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgMatchConfirm) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgMatchConfirm.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgMatchConfirm.matchId": + value := x.MatchId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgMatchConfirm.outcome": + value := x.Outcome + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "cardchain.cardchain.MsgMatchConfirm.votedCards": + if len(x.VotedCards) == 0 { + return protoreflect.ValueOfList(&_MsgMatchConfirm_4_list{}) + } + listValue := &_MsgMatchConfirm_4_list{list: &x.VotedCards} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchConfirm")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchConfirm does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchConfirm) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchConfirm.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgMatchConfirm.matchId": + x.MatchId = value.Uint() + case "cardchain.cardchain.MsgMatchConfirm.outcome": + x.Outcome = (Outcome)(value.Enum()) + case "cardchain.cardchain.MsgMatchConfirm.votedCards": + lv := value.List() + clv := lv.(*_MsgMatchConfirm_4_list) + x.VotedCards = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchConfirm")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchConfirm does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchConfirm) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchConfirm.votedCards": + if x.VotedCards == nil { + x.VotedCards = []*SingleVote{} + } + value := &_MsgMatchConfirm_4_list{list: &x.VotedCards} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.MsgMatchConfirm.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgMatchConfirm is not mutable")) + case "cardchain.cardchain.MsgMatchConfirm.matchId": + panic(fmt.Errorf("field matchId of message cardchain.cardchain.MsgMatchConfirm is not mutable")) + case "cardchain.cardchain.MsgMatchConfirm.outcome": + panic(fmt.Errorf("field outcome of message cardchain.cardchain.MsgMatchConfirm is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchConfirm")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchConfirm does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgMatchConfirm) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchConfirm.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgMatchConfirm.matchId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgMatchConfirm.outcome": + return protoreflect.ValueOfEnum(0) + case "cardchain.cardchain.MsgMatchConfirm.votedCards": + list := []*SingleVote{} + return protoreflect.ValueOfList(&_MsgMatchConfirm_4_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchConfirm")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchConfirm does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgMatchConfirm) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgMatchConfirm", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgMatchConfirm) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchConfirm) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgMatchConfirm) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgMatchConfirm) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgMatchConfirm) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.MatchId != 0 { + n += 1 + runtime.Sov(uint64(x.MatchId)) + } + if x.Outcome != 0 { + n += 1 + runtime.Sov(uint64(x.Outcome)) + } + if len(x.VotedCards) > 0 { + for _, e := range x.VotedCards { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchConfirm) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.VotedCards) > 0 { + for iNdEx := len(x.VotedCards) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.VotedCards[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x22 + } + } + if x.Outcome != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Outcome)) + i-- + dAtA[i] = 0x18 + } + if x.MatchId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.MatchId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchConfirm) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchConfirm: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchConfirm: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MatchId", wireType) + } + x.MatchId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.MatchId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + x.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Outcome |= Outcome(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.VotedCards = append(x.VotedCards, &SingleVote{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.VotedCards[len(x.VotedCards)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgMatchConfirmResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgMatchConfirmResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgMatchConfirmResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgMatchConfirmResponse)(nil) + +type fastReflection_MsgMatchConfirmResponse MsgMatchConfirmResponse + +func (x *MsgMatchConfirmResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgMatchConfirmResponse)(x) +} + +func (x *MsgMatchConfirmResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgMatchConfirmResponse_messageType fastReflection_MsgMatchConfirmResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgMatchConfirmResponse_messageType{} + +type fastReflection_MsgMatchConfirmResponse_messageType struct{} + +func (x fastReflection_MsgMatchConfirmResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgMatchConfirmResponse)(nil) +} +func (x fastReflection_MsgMatchConfirmResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgMatchConfirmResponse) +} +func (x fastReflection_MsgMatchConfirmResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchConfirmResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgMatchConfirmResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchConfirmResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgMatchConfirmResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgMatchConfirmResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgMatchConfirmResponse) New() protoreflect.Message { + return new(fastReflection_MsgMatchConfirmResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgMatchConfirmResponse) Interface() protoreflect.ProtoMessage { + return (*MsgMatchConfirmResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgMatchConfirmResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgMatchConfirmResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchConfirmResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchConfirmResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchConfirmResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchConfirmResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchConfirmResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgMatchConfirmResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchConfirmResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchConfirmResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchConfirmResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchConfirmResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchConfirmResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchConfirmResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchConfirmResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchConfirmResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgMatchConfirmResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchConfirmResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchConfirmResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgMatchConfirmResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgMatchConfirmResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgMatchConfirmResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchConfirmResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgMatchConfirmResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgMatchConfirmResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgMatchConfirmResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchConfirmResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchConfirmResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchConfirmResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchConfirmResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -28508,6 +30342,160 @@ func (*MsgCouncilResponseRevealResponse) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{57} } +type MsgCouncilRestart struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` +} + +func (x *MsgCouncilRestart) Reset() { + *x = MsgCouncilRestart{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCouncilRestart) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilRestart) ProtoMessage() {} + +// Deprecated: Use MsgCouncilRestart.ProtoReflect.Descriptor instead. +func (*MsgCouncilRestart) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{58} +} + +func (x *MsgCouncilRestart) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCouncilRestart) GetCouncilId() uint64 { + if x != nil { + return x.CouncilId + } + return 0 +} + +type MsgCouncilRestartResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCouncilRestartResponse) Reset() { + *x = MsgCouncilRestartResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCouncilRestartResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilRestartResponse) ProtoMessage() {} + +// Deprecated: Use MsgCouncilRestartResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilRestartResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{59} +} + +type MsgMatchConfirm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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=cardchain.cardchain.Outcome" json:"outcome,omitempty"` + VotedCards []*SingleVote `protobuf:"bytes,4,rep,name=votedCards,proto3" json:"votedCards,omitempty"` +} + +func (x *MsgMatchConfirm) Reset() { + *x = MsgMatchConfirm{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgMatchConfirm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgMatchConfirm) ProtoMessage() {} + +// Deprecated: Use MsgMatchConfirm.ProtoReflect.Descriptor instead. +func (*MsgMatchConfirm) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{60} +} + +func (x *MsgMatchConfirm) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgMatchConfirm) GetMatchId() uint64 { + if x != nil { + return x.MatchId + } + return 0 +} + +func (x *MsgMatchConfirm) GetOutcome() Outcome { + if x != nil { + return x.Outcome + } + return Outcome_AWon +} + +func (x *MsgMatchConfirm) GetVotedCards() []*SingleVote { + if x != nil { + return x.VotedCards + } + return nil +} + +type MsgMatchConfirmResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgMatchConfirmResponse) Reset() { + *x = MsgMatchConfirmResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgMatchConfirmResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgMatchConfirmResponse) ProtoMessage() {} + +// Deprecated: Use MsgMatchConfirmResponse.ProtoReflect.Descriptor instead. +func (*MsgMatchConfirmResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{61} +} + var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ @@ -28814,198 +30802,233 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x65, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xff, 0x17, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, + 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcc, 0x01, 0x0a, + 0x0f, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, + 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0a, + 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, + 0x65, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, + 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xcd, 0x19, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, + 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, - 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, + 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, + 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, - 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, - 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, - 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, + 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, + 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, - 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, + 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, + 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, + 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, - 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, - 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, - 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, + 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, + 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, + 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, + 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, - 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, - 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, - 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, - 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, - 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, + 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, + 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, + 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, + 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, - 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, - 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, + 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, + 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, + 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, + 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, - 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, + 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, + 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, + 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, + 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, + 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, - 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, - 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, - 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, - 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, - 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, + 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, - 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, - 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, - 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, - 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, - 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, - 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, + 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, @@ -29034,7 +31057,7 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 58) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 62) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse @@ -29094,85 +31117,95 @@ var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgCouncilResponseCommitResponse)(nil), // 55: cardchain.cardchain.MsgCouncilResponseCommitResponse (*MsgCouncilResponseReveal)(nil), // 56: cardchain.cardchain.MsgCouncilResponseReveal (*MsgCouncilResponseRevealResponse)(nil), // 57: cardchain.cardchain.MsgCouncilResponseRevealResponse - (*Params)(nil), // 58: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 59: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 60: cardchain.cardchain.SingleVote - (Outcome)(0), // 61: cardchain.cardchain.Outcome - (CardRarity)(0), // 62: cardchain.cardchain.CardRarity - (Response)(0), // 63: cardchain.cardchain.Response + (*MsgCouncilRestart)(nil), // 58: cardchain.cardchain.MsgCouncilRestart + (*MsgCouncilRestartResponse)(nil), // 59: cardchain.cardchain.MsgCouncilRestartResponse + (*MsgMatchConfirm)(nil), // 60: cardchain.cardchain.MsgMatchConfirm + (*MsgMatchConfirmResponse)(nil), // 61: cardchain.cardchain.MsgMatchConfirmResponse + (*Params)(nil), // 62: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 63: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 64: cardchain.cardchain.SingleVote + (Outcome)(0), // 65: cardchain.cardchain.Outcome + (CardRarity)(0), // 66: cardchain.cardchain.CardRarity + (Response)(0), // 67: cardchain.cardchain.Response } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 58, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 59, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 60, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 59, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 61, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome - 59, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin - 62, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity - 63, // 7: cardchain.cardchain.MsgCouncilResponseReveal.reponse:type_name -> cardchain.cardchain.Response - 0, // 8: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams - 2, // 9: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate - 4, // 10: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy - 6, // 11: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent - 8, // 12: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote - 10, // 13: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer - 12, // 14: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate - 14, // 15: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd - 16, // 16: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange - 18, // 17: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister - 20, // 18: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister - 22, // 19: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport - 24, // 20: cardchain.cardchain.Msg.CouncilCreate:input_type -> cardchain.cardchain.MsgCouncilCreate - 26, // 21: cardchain.cardchain.Msg.MatchReporterAppoint:input_type -> cardchain.cardchain.MsgMatchReporterAppoint - 28, // 22: cardchain.cardchain.Msg.SetCreate:input_type -> cardchain.cardchain.MsgSetCreate - 30, // 23: cardchain.cardchain.Msg.SetCardAdd:input_type -> cardchain.cardchain.MsgSetCardAdd - 32, // 24: cardchain.cardchain.Msg.SetCardRemove:input_type -> cardchain.cardchain.MsgSetCardRemove - 34, // 25: cardchain.cardchain.Msg.SetContributorAdd:input_type -> cardchain.cardchain.MsgSetContributorAdd - 36, // 26: cardchain.cardchain.Msg.SetContributorRemove:input_type -> cardchain.cardchain.MsgSetContributorRemove - 38, // 27: cardchain.cardchain.Msg.SetFinalize:input_type -> cardchain.cardchain.MsgSetFinalize - 40, // 28: cardchain.cardchain.Msg.SetArtworkAdd:input_type -> cardchain.cardchain.MsgSetArtworkAdd - 42, // 29: cardchain.cardchain.Msg.SetStoryAdd:input_type -> cardchain.cardchain.MsgSetStoryAdd - 44, // 30: cardchain.cardchain.Msg.BoosterPackBuy:input_type -> cardchain.cardchain.MsgBoosterPackBuy - 46, // 31: cardchain.cardchain.Msg.SellOfferCreate:input_type -> cardchain.cardchain.MsgSellOfferCreate - 48, // 32: cardchain.cardchain.Msg.SellOfferBuy:input_type -> cardchain.cardchain.MsgSellOfferBuy - 50, // 33: cardchain.cardchain.Msg.SellOfferRemove:input_type -> cardchain.cardchain.MsgSellOfferRemove - 52, // 34: cardchain.cardchain.Msg.CardRaritySet:input_type -> cardchain.cardchain.MsgCardRaritySet - 54, // 35: cardchain.cardchain.Msg.CouncilResponseCommit:input_type -> cardchain.cardchain.MsgCouncilResponseCommit - 56, // 36: cardchain.cardchain.Msg.CouncilResponseReveal:input_type -> cardchain.cardchain.MsgCouncilResponseReveal - 1, // 37: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 38: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 39: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 40: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 41: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 42: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 43: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 44: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 45: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 46: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 47: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 48: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 25, // 49: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse - 27, // 50: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse - 29, // 51: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse - 31, // 52: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse - 33, // 53: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse - 35, // 54: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse - 37, // 55: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse - 39, // 56: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse - 41, // 57: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse - 43, // 58: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse - 45, // 59: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse - 47, // 60: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse - 49, // 61: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse - 51, // 62: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse - 53, // 63: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse - 55, // 64: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse - 57, // 65: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse - 37, // [37:66] is the sub-list for method output_type - 8, // [8:37] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 62, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 63, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 64, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 63, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 65, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 63, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin + 66, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity + 67, // 7: cardchain.cardchain.MsgCouncilResponseReveal.reponse:type_name -> cardchain.cardchain.Response + 65, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome + 64, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote + 0, // 10: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams + 2, // 11: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate + 4, // 12: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy + 6, // 13: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent + 8, // 14: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote + 10, // 15: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer + 12, // 16: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate + 14, // 17: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd + 16, // 18: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange + 18, // 19: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister + 20, // 20: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister + 22, // 21: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport + 24, // 22: cardchain.cardchain.Msg.CouncilCreate:input_type -> cardchain.cardchain.MsgCouncilCreate + 26, // 23: cardchain.cardchain.Msg.MatchReporterAppoint:input_type -> cardchain.cardchain.MsgMatchReporterAppoint + 28, // 24: cardchain.cardchain.Msg.SetCreate:input_type -> cardchain.cardchain.MsgSetCreate + 30, // 25: cardchain.cardchain.Msg.SetCardAdd:input_type -> cardchain.cardchain.MsgSetCardAdd + 32, // 26: cardchain.cardchain.Msg.SetCardRemove:input_type -> cardchain.cardchain.MsgSetCardRemove + 34, // 27: cardchain.cardchain.Msg.SetContributorAdd:input_type -> cardchain.cardchain.MsgSetContributorAdd + 36, // 28: cardchain.cardchain.Msg.SetContributorRemove:input_type -> cardchain.cardchain.MsgSetContributorRemove + 38, // 29: cardchain.cardchain.Msg.SetFinalize:input_type -> cardchain.cardchain.MsgSetFinalize + 40, // 30: cardchain.cardchain.Msg.SetArtworkAdd:input_type -> cardchain.cardchain.MsgSetArtworkAdd + 42, // 31: cardchain.cardchain.Msg.SetStoryAdd:input_type -> cardchain.cardchain.MsgSetStoryAdd + 44, // 32: cardchain.cardchain.Msg.BoosterPackBuy:input_type -> cardchain.cardchain.MsgBoosterPackBuy + 46, // 33: cardchain.cardchain.Msg.SellOfferCreate:input_type -> cardchain.cardchain.MsgSellOfferCreate + 48, // 34: cardchain.cardchain.Msg.SellOfferBuy:input_type -> cardchain.cardchain.MsgSellOfferBuy + 50, // 35: cardchain.cardchain.Msg.SellOfferRemove:input_type -> cardchain.cardchain.MsgSellOfferRemove + 52, // 36: cardchain.cardchain.Msg.CardRaritySet:input_type -> cardchain.cardchain.MsgCardRaritySet + 54, // 37: cardchain.cardchain.Msg.CouncilResponseCommit:input_type -> cardchain.cardchain.MsgCouncilResponseCommit + 56, // 38: cardchain.cardchain.Msg.CouncilResponseReveal:input_type -> cardchain.cardchain.MsgCouncilResponseReveal + 58, // 39: cardchain.cardchain.Msg.CouncilRestart:input_type -> cardchain.cardchain.MsgCouncilRestart + 60, // 40: cardchain.cardchain.Msg.MatchConfirm:input_type -> cardchain.cardchain.MsgMatchConfirm + 1, // 41: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 42: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 43: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 44: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 45: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 46: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 47: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 48: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 49: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 50: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 51: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 52: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 25, // 53: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse + 27, // 54: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse + 29, // 55: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse + 31, // 56: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse + 33, // 57: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse + 35, // 58: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse + 37, // 59: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse + 39, // 60: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse + 41, // 61: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse + 43, // 62: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse + 45, // 63: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse + 47, // 64: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse + 49, // 65: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse + 51, // 66: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse + 53, // 67: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse + 55, // 68: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse + 57, // 69: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse + 59, // 70: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse + 61, // 71: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse + 41, // [41:72] is the sub-list for method output_type + 10, // [10:41] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_cardchain_cardchain_tx_proto_init() } @@ -29882,6 +31915,54 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } + file_cardchain_cardchain_tx_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilRestart); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCouncilRestartResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgMatchConfirm); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgMatchConfirmResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -29889,7 +31970,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 58, + NumMessages: 62, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index fc1327d7..e77f6e05 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -48,6 +48,8 @@ const ( Msg_CardRaritySet_FullMethodName = "/cardchain.cardchain.Msg/CardRaritySet" Msg_CouncilResponseCommit_FullMethodName = "/cardchain.cardchain.Msg/CouncilResponseCommit" Msg_CouncilResponseReveal_FullMethodName = "/cardchain.cardchain.Msg/CouncilResponseReveal" + Msg_CouncilRestart_FullMethodName = "/cardchain.cardchain.Msg/CouncilRestart" + Msg_MatchConfirm_FullMethodName = "/cardchain.cardchain.Msg/MatchConfirm" ) // MsgClient is the client API for Msg service. @@ -85,6 +87,8 @@ type MsgClient interface { CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) + CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) + MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) } type msgClient struct { @@ -356,6 +360,24 @@ func (c *msgClient) CouncilResponseReveal(ctx context.Context, in *MsgCouncilRes return out, nil } +func (c *msgClient) CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) { + out := new(MsgCouncilRestartResponse) + err := c.cc.Invoke(ctx, Msg_CouncilRestart_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) { + out := new(MsgMatchConfirmResponse) + err := c.cc.Invoke(ctx, Msg_MatchConfirm_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -391,6 +413,8 @@ type MsgServer interface { CardRaritySet(context.Context, *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) CouncilResponseCommit(context.Context, *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) CouncilResponseReveal(context.Context, *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) + CouncilRestart(context.Context, *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) + MatchConfirm(context.Context, *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) mustEmbedUnimplementedMsgServer() } @@ -485,6 +509,12 @@ func (UnimplementedMsgServer) CouncilResponseCommit(context.Context, *MsgCouncil func (UnimplementedMsgServer) CouncilResponseReveal(context.Context, *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseReveal not implemented") } +func (UnimplementedMsgServer) CouncilRestart(context.Context, *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilRestart not implemented") +} +func (UnimplementedMsgServer) MatchConfirm(context.Context, *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchConfirm not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -1020,6 +1050,42 @@ func _Msg_CouncilResponseReveal_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Msg_CouncilRestart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilRestart) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilRestart(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CouncilRestart_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilRestart(ctx, req.(*MsgCouncilRestart)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_MatchConfirm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchConfirm) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).MatchConfirm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_MatchConfirm_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchConfirm(ctx, req.(*MsgMatchConfirm)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1143,6 +1209,14 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "CouncilResponseReveal", Handler: _Msg_CouncilResponseReveal_Handler, }, + { + MethodName: "CouncilRestart", + Handler: _Msg_CouncilRestart_Handler, + }, + { + MethodName: "MatchConfirm", + Handler: _Msg_MatchConfirm_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 13992b2f..f6ae705f 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh index a5c968d4..a130ba68 100755 --- a/gen.sh +++ b/gen.sh @@ -26,7 +26,9 @@ #ignite scaffold message SellOfferCreate cardId:uint price:coin #ignite scaffold message SellOfferBuy sellOfferId:uint #ignite scaffold message SellOfferRemove sellOfferId:uint -ignite scaffold message CardRaritySet cardId:uint setId:uint rarity:int -ignite scaffold message CouncilResponseCommit councilId:uint reponse \ - suggestion -ignite scaffold message CouncilResponseReveal councilId:uint reponse:int secret +#ignite scaffold message CardRaritySet cardId:uint setId:uint rarity:int +#ignite scaffold message CouncilResponseCommit councilId:uint reponse \ +# suggestion +#ignite scaffold message CouncilResponseReveal councilId:uint reponse:int secret +#ignite scaffold message CouncilRestart councilId:uint +ignite scaffold message MatchConfirm matchId:uint outcome:int votedCards:array.int diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 793d1ad8..4e388a6b 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -57,6 +57,8 @@ service Msg { returns (MsgCouncilResponseCommitResponse); rpc CouncilResponseReveal(MsgCouncilResponseReveal) returns (MsgCouncilResponseRevealResponse); + rpc CouncilRestart(MsgCouncilRestart) returns (MsgCouncilRestartResponse); + rpc MatchConfirm(MsgMatchConfirm) returns (MsgMatchConfirmResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -328,3 +330,21 @@ message MsgCouncilResponseReveal { } message MsgCouncilResponseRevealResponse {} + +message MsgCouncilRestart { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 councilId = 2; +} + +message MsgCouncilRestartResponse {} + +message MsgMatchConfirm { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 matchId = 2; + Outcome outcome = 3; + repeated SingleVote votedCards = 4; +} + +message MsgMatchConfirmResponse {} diff --git a/x/cardchain/keeper/msg_server_council_restart.go b/x/cardchain/keeper/msg_server_council_restart.go new file mode 100644 index 00000000..b3a1c1ea --- /dev/null +++ b/x/cardchain/keeper/msg_server_council_restart.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CouncilRestart(goCtx context.Context, msg *types.MsgCouncilRestart) (*types.MsgCouncilRestartResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCouncilRestartResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_match_confirm.go b/x/cardchain/keeper/msg_server_match_confirm.go new file mode 100644 index 00000000..877fa855 --- /dev/null +++ b/x/cardchain/keeper/msg_server_match_confirm.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) MatchConfirm(goCtx context.Context, msg *types.MsgMatchConfirm) (*types.MsgMatchConfirmResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgMatchConfirmResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 7ed7bc71..acf8afd2 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -196,6 +196,18 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Send a CouncilResponseReveal tx", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "councilId"}, {ProtoField: "reponse"}, {ProtoField: "secret"}}, }, + { + RpcMethod: "CouncilRestart", + Use: "council-restart [council-id]", + Short: "Send a CouncilRestart tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "councilId"}}, + }, + { + RpcMethod: "MatchConfirm", + Use: "match-confirm [match-id] [outcome] [voted-cards]", + Short: "Send a MatchConfirm tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "matchId"}, {ProtoField: "outcome"}, {ProtoField: "votedCards"}}, + }, // this line is used by ignite scaffolding # autocli/tx }, }, diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index 2b1f8daa..453e41d6 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -135,6 +135,14 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgCouncilResponseReveal int = 100 + opWeightMsgCouncilRestart = "op_weight_msg_council_restart" + // TODO: Determine the simulation weight value + defaultWeightMsgCouncilRestart int = 100 + + opWeightMsgMatchConfirm = "op_weight_msg_match_confirm" + // TODO: Determine the simulation weight value + defaultWeightMsgMatchConfirm int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -466,6 +474,28 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgCouncilResponseReveal(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgCouncilRestart int + simState.AppParams.GetOrGenerate(opWeightMsgCouncilRestart, &weightMsgCouncilRestart, nil, + func(_ *rand.Rand) { + weightMsgCouncilRestart = defaultWeightMsgCouncilRestart + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCouncilRestart, + cardchainsimulation.SimulateMsgCouncilRestart(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgMatchConfirm int + simState.AppParams.GetOrGenerate(opWeightMsgMatchConfirm, &weightMsgMatchConfirm, nil, + func(_ *rand.Rand) { + weightMsgMatchConfirm = defaultWeightMsgMatchConfirm + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgMatchConfirm, + cardchainsimulation.SimulateMsgMatchConfirm(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -698,6 +728,22 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei return nil }, ), + simulation.NewWeightedProposalMsg( + opWeightMsgCouncilRestart, + defaultWeightMsgCouncilRestart, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCouncilRestart(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgMatchConfirm, + defaultWeightMsgMatchConfirm, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgMatchConfirm(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/council_restart.go b/x/cardchain/simulation/council_restart.go new file mode 100644 index 00000000..7c4ecde0 --- /dev/null +++ b/x/cardchain/simulation/council_restart.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 SimulateMsgCouncilRestart( + 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.MsgCouncilRestart{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CouncilRestart simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CouncilRestart simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/match_confirm.go b/x/cardchain/simulation/match_confirm.go new file mode 100644 index 00000000..a70dc87b --- /dev/null +++ b/x/cardchain/simulation/match_confirm.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 SimulateMsgMatchConfirm( + 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.MsgMatchConfirm{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the MatchConfirm simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "MatchConfirm simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 06d3a539..81b69938 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -92,6 +92,12 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgCouncilResponseReveal{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCouncilRestart{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgMatchConfirm{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/cardchain/types/message_council_restart.go b/x/cardchain/types/message_council_restart.go new file mode 100644 index 00000000..fd9ee2c0 --- /dev/null +++ b/x/cardchain/types/message_council_restart.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCouncilRestart{} + +func NewMsgCouncilRestart(creator string, councilId uint64) *MsgCouncilRestart { + return &MsgCouncilRestart{ + Creator: creator, + CouncilId: councilId, + } +} + +func (msg *MsgCouncilRestart) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_council_restart_test.go b/x/cardchain/types/message_council_restart_test.go new file mode 100644 index 00000000..338b61f7 --- /dev/null +++ b/x/cardchain/types/message_council_restart_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCouncilRestart_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCouncilRestart + err error + }{ + { + name: "invalid address", + msg: MsgCouncilRestart{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCouncilRestart{ + 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_match_confirm.go b/x/cardchain/types/message_match_confirm.go new file mode 100644 index 00000000..2d0ddb74 --- /dev/null +++ b/x/cardchain/types/message_match_confirm.go @@ -0,0 +1,26 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgMatchConfirm{} + +func NewMsgMatchConfirm(creator string, matchId uint64, outcome Outcome, votedCards []*SingleVote) *MsgMatchConfirm { + return &MsgMatchConfirm{ + Creator: creator, + MatchId: matchId, + Outcome: outcome, + VotedCards: votedCards, + } +} + +func (msg *MsgMatchConfirm) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_match_confirm_test.go b/x/cardchain/types/message_match_confirm_test.go new file mode 100644 index 00000000..53fa86f8 --- /dev/null +++ b/x/cardchain/types/message_match_confirm_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgMatchConfirm_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgMatchConfirm + err error + }{ + { + name: "invalid address", + msg: MsgMatchConfirm{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgMatchConfirm{ + 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/tx.pb.go b/x/cardchain/types/tx.pb.go index 64ae599e..12256a01 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -2838,6 +2838,198 @@ func (m *MsgCouncilResponseRevealResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCouncilResponseRevealResponse proto.InternalMessageInfo +type MsgCouncilRestart struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` +} + +func (m *MsgCouncilRestart) Reset() { *m = MsgCouncilRestart{} } +func (m *MsgCouncilRestart) String() string { return proto.CompactTextString(m) } +func (*MsgCouncilRestart) ProtoMessage() {} +func (*MsgCouncilRestart) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{58} +} +func (m *MsgCouncilRestart) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCouncilRestart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCouncilRestart.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 *MsgCouncilRestart) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCouncilRestart.Merge(m, src) +} +func (m *MsgCouncilRestart) XXX_Size() int { + return m.Size() +} +func (m *MsgCouncilRestart) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCouncilRestart.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCouncilRestart proto.InternalMessageInfo + +func (m *MsgCouncilRestart) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgCouncilRestart) GetCouncilId() uint64 { + if m != nil { + return m.CouncilId + } + return 0 +} + +type MsgCouncilRestartResponse struct { +} + +func (m *MsgCouncilRestartResponse) Reset() { *m = MsgCouncilRestartResponse{} } +func (m *MsgCouncilRestartResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCouncilRestartResponse) ProtoMessage() {} +func (*MsgCouncilRestartResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{59} +} +func (m *MsgCouncilRestartResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCouncilRestartResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCouncilRestartResponse.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 *MsgCouncilRestartResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCouncilRestartResponse.Merge(m, src) +} +func (m *MsgCouncilRestartResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCouncilRestartResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCouncilRestartResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCouncilRestartResponse proto.InternalMessageInfo + +type MsgMatchConfirm 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=cardchain.cardchain.Outcome" json:"outcome,omitempty"` + VotedCards []*SingleVote `protobuf:"bytes,4,rep,name=votedCards,proto3" json:"votedCards,omitempty"` +} + +func (m *MsgMatchConfirm) Reset() { *m = MsgMatchConfirm{} } +func (m *MsgMatchConfirm) String() string { return proto.CompactTextString(m) } +func (*MsgMatchConfirm) ProtoMessage() {} +func (*MsgMatchConfirm) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{60} +} +func (m *MsgMatchConfirm) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgMatchConfirm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgMatchConfirm.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 *MsgMatchConfirm) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgMatchConfirm.Merge(m, src) +} +func (m *MsgMatchConfirm) XXX_Size() int { + return m.Size() +} +func (m *MsgMatchConfirm) XXX_DiscardUnknown() { + xxx_messageInfo_MsgMatchConfirm.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgMatchConfirm proto.InternalMessageInfo + +func (m *MsgMatchConfirm) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgMatchConfirm) GetMatchId() uint64 { + if m != nil { + return m.MatchId + } + return 0 +} + +func (m *MsgMatchConfirm) GetOutcome() Outcome { + if m != nil { + return m.Outcome + } + return Outcome_AWon +} + +func (m *MsgMatchConfirm) GetVotedCards() []*SingleVote { + if m != nil { + return m.VotedCards + } + return nil +} + +type MsgMatchConfirmResponse struct { +} + +func (m *MsgMatchConfirmResponse) Reset() { *m = MsgMatchConfirmResponse{} } +func (m *MsgMatchConfirmResponse) String() string { return proto.CompactTextString(m) } +func (*MsgMatchConfirmResponse) ProtoMessage() {} +func (*MsgMatchConfirmResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{61} +} +func (m *MsgMatchConfirmResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgMatchConfirmResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgMatchConfirmResponse.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 *MsgMatchConfirmResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgMatchConfirmResponse.Merge(m, src) +} +func (m *MsgMatchConfirmResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgMatchConfirmResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgMatchConfirmResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgMatchConfirmResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") @@ -2897,130 +3089,140 @@ func init() { proto.RegisterType((*MsgCouncilResponseCommitResponse)(nil), "cardchain.cardchain.MsgCouncilResponseCommitResponse") proto.RegisterType((*MsgCouncilResponseReveal)(nil), "cardchain.cardchain.MsgCouncilResponseReveal") proto.RegisterType((*MsgCouncilResponseRevealResponse)(nil), "cardchain.cardchain.MsgCouncilResponseRevealResponse") + proto.RegisterType((*MsgCouncilRestart)(nil), "cardchain.cardchain.MsgCouncilRestart") + proto.RegisterType((*MsgCouncilRestartResponse)(nil), "cardchain.cardchain.MsgCouncilRestartResponse") + proto.RegisterType((*MsgMatchConfirm)(nil), "cardchain.cardchain.MsgMatchConfirm") + proto.RegisterType((*MsgMatchConfirmResponse)(nil), "cardchain.cardchain.MsgMatchConfirmResponse") } func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 1877 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xcd, 0x6f, 0x23, 0x49, - 0x15, 0x4f, 0xaf, 0x9d, 0x6c, 0x52, 0xc9, 0x64, 0x76, 0x7a, 0xb2, 0x89, 0xd3, 0x93, 0x75, 0x3c, - 0xde, 0x64, 0x37, 0x1b, 0x12, 0x9b, 0x64, 0x3f, 0x66, 0xb5, 0x82, 0x95, 0x62, 0x47, 0x20, 0x0e, - 0x61, 0x97, 0x36, 0x2c, 0xe2, 0x73, 0x55, 0x6e, 0x57, 0xda, 0x4d, 0xdc, 0x5d, 0xa6, 0xba, 0xec, - 0x99, 0x8c, 0x84, 0x84, 0xe0, 0x82, 0xe0, 0xc2, 0x99, 0x1b, 0xb7, 0x39, 0x06, 0x89, 0xbf, 0x00, - 0x2e, 0x73, 0x1c, 0xcd, 0x89, 0x13, 0x42, 0x33, 0x87, 0xfc, 0x19, 0xa0, 0xfa, 0xe8, 0xea, 0x0f, - 0x77, 0xb7, 0xdb, 0x96, 0xb8, 0xcc, 0xb8, 0xaa, 0x7e, 0xf5, 0xde, 0xef, 0xbd, 0x7a, 0xf5, 0x5e, - 0xbd, 0x0e, 0xd8, 0xb1, 0x20, 0xe9, 0x59, 0x7d, 0xe8, 0x78, 0xcd, 0xf0, 0x17, 0x7d, 0xd2, 0x18, - 0x12, 0x4c, 0xb1, 0x7e, 0x5f, 0xcd, 0x35, 0xd4, 0x2f, 0xe3, 0x1e, 0x74, 0x1d, 0x0f, 0x37, 0xf9, - 0xbf, 0x02, 0x67, 0x6c, 0x59, 0xd8, 0x77, 0xb1, 0xdf, 0x74, 0x7d, 0xbb, 0x39, 0x3e, 0x61, 0xff, - 0xc9, 0x85, 0x6d, 0xb1, 0xf0, 0x35, 0x1f, 0x35, 0xc5, 0x40, 0x2e, 0x6d, 0xd8, 0xd8, 0xc6, 0x62, - 0x9e, 0xfd, 0x92, 0xb3, 0xb5, 0x34, 0x3e, 0x43, 0x48, 0xa0, 0x1b, 0xec, 0xab, 0x4a, 0x5d, 0x5d, - 0xe8, 0xa3, 0xe6, 0xf8, 0xa4, 0x8b, 0x28, 0x3c, 0x69, 0x5a, 0xd8, 0xf1, 0xf2, 0x24, 0x8c, 0x31, - 0x75, 0xbc, 0x80, 0xd4, 0x6e, 0x1a, 0xc2, 0x85, 0xd4, 0xea, 0x4b, 0xc0, 0xc3, 0x34, 0x80, 0x85, - 0x47, 0x9e, 0xe5, 0x0c, 0x14, 0x8b, 0x34, 0x08, 0x24, 0x3d, 0xb1, 0x5e, 0xff, 0xa7, 0x06, 0xee, - 0x5e, 0xf8, 0xf6, 0x8f, 0x86, 0x3d, 0x48, 0xd1, 0x97, 0x9c, 0xbf, 0xfe, 0x09, 0x58, 0x81, 0x23, - 0xda, 0xc7, 0xc4, 0xa1, 0xd7, 0x15, 0xad, 0xa6, 0x1d, 0xac, 0xb4, 0x2a, 0x2f, 0xff, 0x7e, 0xbc, - 0x21, 0xdd, 0x72, 0xd6, 0xeb, 0x11, 0xe4, 0xfb, 0x1d, 0x4a, 0x1c, 0xcf, 0x36, 0x43, 0xa8, 0xfe, - 0x39, 0x58, 0x12, 0x1e, 0xa8, 0xbc, 0x51, 0xd3, 0x0e, 0x56, 0x4f, 0x1f, 0x34, 0x52, 0x8e, 0xa5, - 0x21, 0x94, 0xb4, 0x56, 0x9e, 0xff, 0x7b, 0x77, 0xe1, 0xd9, 0xed, 0xcd, 0xa1, 0x66, 0xca, 0x5d, - 0x9f, 0x7d, 0xfa, 0xbb, 0xdb, 0x9b, 0xc3, 0x50, 0xde, 0x1f, 0x6f, 0x6f, 0x0e, 0xf7, 0x43, 0xd2, - 0x4f, 0x22, 0x06, 0x24, 0x18, 0xd7, 0xb7, 0xc1, 0x56, 0x62, 0xca, 0x44, 0xfe, 0x10, 0x7b, 0x3e, - 0xaa, 0xdb, 0xe0, 0x0e, 0x5b, 0xf2, 0x11, 0x69, 0x13, 0x04, 0x29, 0xd2, 0x2b, 0xe0, 0x4d, 0x8b, - 0xfd, 0xc2, 0x44, 0xd8, 0x66, 0x06, 0x43, 0xb6, 0xe2, 0xa1, 0xc7, 0x0c, 0xca, 0x0d, 0x58, 0x31, - 0x83, 0xa1, 0xbe, 0x01, 0x16, 0xe1, 0xc0, 0x81, 0x7e, 0xa5, 0xc4, 0xe7, 0xc5, 0xe0, 0xb3, 0x35, - 0xc6, 0x37, 0xd8, 0x5d, 0xdf, 0x02, 0x6f, 0xc7, 0x14, 0x29, 0x06, 0x2e, 0x78, 0xeb, 0xc2, 0xb7, - 0xdb, 0x90, 0xf4, 0x3a, 0x56, 0x1f, 0xb9, 0xa8, 0x35, 0xba, 0xce, 0x21, 0x71, 0x02, 0x4a, 0x5d, - 0xa7, 0x27, 0x3d, 0xb8, 0xdd, 0x90, 0x3e, 0x67, 0x41, 0xd4, 0x90, 0x41, 0xd4, 0x68, 0x63, 0xc7, - 0x6b, 0x95, 0x99, 0xff, 0x4c, 0x86, 0x4d, 0xf0, 0x38, 0x05, 0x95, 0xa4, 0xba, 0x80, 0x8a, 0xbe, - 0x09, 0x96, 0x98, 0x13, 0xbf, 0xd7, 0xe3, 0x5a, 0xcb, 0xa6, 0x1c, 0xd5, 0xff, 0xa1, 0x01, 0x3d, - 0xd8, 0x04, 0xc7, 0xa8, 0x8d, 0x3d, 0x8a, 0x3c, 0x9a, 0xc3, 0x32, 0x14, 0xf4, 0x46, 0x54, 0x10, - 0xdf, 0x21, 0x36, 0x73, 0x57, 0xad, 0x99, 0xc1, 0x90, 0xb9, 0xd0, 0xc3, 0x14, 0xf9, 0x95, 0xb2, - 0x70, 0x21, 0x1f, 0x30, 0x39, 0x90, 0x50, 0xc7, 0xa7, 0x95, 0x45, 0x3e, 0x2d, 0x47, 0xfa, 0x1e, - 0xb8, 0xd3, 0x85, 0x03, 0xe8, 0x59, 0xe8, 0xcc, 0xb3, 0xfa, 0x98, 0x54, 0x96, 0x6a, 0xda, 0xc1, - 0xb2, 0x19, 0x9f, 0x4c, 0x18, 0x7e, 0x0e, 0x8c, 0x49, 0x1b, 0x94, 0xe9, 0xef, 0x81, 0x75, 0xe8, - 0x90, 0x1e, 0xc1, 0xc3, 0xf6, 0x00, 0x3a, 0x2e, 0x12, 0x2e, 0x58, 0x36, 0x13, 0xb3, 0xf5, 0x5f, - 0x81, 0x55, 0x29, 0xe5, 0x2b, 0x9c, 0x1b, 0x2d, 0x1f, 0x82, 0xf2, 0x18, 0x53, 0x24, 0x4f, 0x6a, - 0x37, 0x35, 0xd6, 0x3b, 0x8e, 0x67, 0x0f, 0x10, 0x13, 0x64, 0x72, 0x70, 0x82, 0xf1, 0xb7, 0xc1, - 0xfd, 0x88, 0xae, 0x99, 0xa9, 0xba, 0xfc, 0xea, 0xb2, 0xed, 0x3f, 0x24, 0xd0, 0xf3, 0x2f, 0x11, - 0x99, 0xe3, 0xc4, 0x0c, 0xb0, 0x4c, 0x90, 0x85, 0x9c, 0x31, 0x22, 0x32, 0xba, 0xd5, 0x38, 0xc1, - 0x56, 0x5c, 0xb2, 0xa8, 0x3a, 0x15, 0xe2, 0x7f, 0xd0, 0xf8, 0x2d, 0x63, 0x6b, 0xe7, 0xd8, 0xcb, - 0xbf, 0x65, 0x59, 0x44, 0x1e, 0x81, 0x25, 0xe8, 0xe2, 0x91, 0x8c, 0x9c, 0x02, 0xb1, 0x2f, 0xe1, - 0xa9, 0xd7, 0x30, 0x64, 0xa2, 0x38, 0xfe, 0x5e, 0x03, 0xf7, 0xe4, 0xca, 0x19, 0xa1, 0x8f, 0x31, - 0xb9, 0x3a, 0xeb, 0xf5, 0xe6, 0xe0, 0xb9, 0x01, 0x16, 0x1d, 0x17, 0xda, 0x48, 0x06, 0xb8, 0x18, - 0x30, 0x39, 0x97, 0xa3, 0xc1, 0xe0, 0x8c, 0x50, 0x1e, 0xe0, 0xcb, 0x66, 0x30, 0x4c, 0xd0, 0x7b, - 0x00, 0xb6, 0x27, 0x48, 0x44, 0x32, 0xc5, 0xfd, 0x70, 0xd1, 0xf1, 0x69, 0xbb, 0x0f, 0x3d, 0x7b, - 0x1e, 0x5f, 0x86, 0xd7, 0xaa, 0x14, 0xbd, 0x56, 0x09, 0x2e, 0xef, 0x80, 0x07, 0x29, 0xea, 0x14, - 0x9b, 0x6f, 0x89, 0x9c, 0x20, 0xca, 0x89, 0x89, 0x6c, 0xc7, 0xa7, 0x79, 0x11, 0x96, 0x10, 0xbe, - 0x23, 0x6e, 0x63, 0x7c, 0xb7, 0x92, 0xfd, 0x39, 0xd8, 0x08, 0x57, 0xcf, 0x11, 0x99, 0x55, 0x7a, - 0x15, 0xec, 0xa4, 0xed, 0x57, 0xf2, 0x5f, 0x6a, 0x60, 0xfd, 0xc2, 0xb7, 0x2f, 0x58, 0xb1, 0x34, - 0xd1, 0x10, 0x13, 0x9a, 0x9f, 0xf7, 0x79, 0x55, 0x55, 0x6e, 0x0c, 0x86, 0x7a, 0x1d, 0xac, 0x0d, - 0x07, 0xf0, 0x1a, 0xf5, 0x98, 0x93, 0xfc, 0xb3, 0x4a, 0xa9, 0x56, 0x3a, 0x28, 0x9b, 0xb1, 0xb9, - 0x04, 0xa6, 0x55, 0x29, 0x4f, 0x60, 0x5a, 0xfa, 0x27, 0xe0, 0x4d, 0x3c, 0xa2, 0x16, 0x76, 0x11, - 0xcf, 0x73, 0xeb, 0xa7, 0x3b, 0xa9, 0xe9, 0xe2, 0x0b, 0x81, 0x31, 0x03, 0x70, 0xc2, 0xe8, 0x0a, - 0xd8, 0x8c, 0xdb, 0xa4, 0xcc, 0x35, 0x45, 0x89, 0x11, 0xee, 0x98, 0x5a, 0xe7, 0x32, 0xa2, 0x26, - 0xa1, 0xcd, 0x10, 0x75, 0x24, 0x2a, 0x53, 0xe9, 0xfb, 0x05, 0x4f, 0x05, 0x11, 0x26, 0x88, 0x9c, - 0x0d, 0x87, 0xd8, 0xc9, 0xad, 0x19, 0x3c, 0xd3, 0x08, 0xb0, 0xac, 0xaf, 0x6a, 0x9c, 0x50, 0xfd, - 0x10, 0xec, 0x66, 0x88, 0x57, 0x0c, 0x9e, 0x69, 0x60, 0xed, 0xc2, 0xb7, 0x3b, 0x88, 0x4e, 0x35, - 0x57, 0x07, 0x65, 0x0f, 0xba, 0x48, 0xea, 0xe4, 0xbf, 0xb3, 0x2e, 0x88, 0x5e, 0x03, 0xab, 0x3e, - 0xc5, 0xe4, 0xfa, 0xc7, 0xc4, 0x61, 0x34, 0x45, 0xad, 0x8a, 0x4e, 0xb1, 0xe3, 0x66, 0x25, 0x8d, - 0x38, 0xdd, 0x11, 0xc5, 0xc4, 0xaf, 0x2c, 0xd6, 0x4a, 0x07, 0x2b, 0x66, 0x6c, 0x2e, 0x61, 0xcd, - 0x26, 0x8f, 0x75, 0xc5, 0x54, 0x99, 0x80, 0x78, 0xce, 0x64, 0xf3, 0xec, 0x06, 0xe6, 0xe6, 0xa2, - 0x0d, 0xb0, 0xe8, 0x23, 0xaa, 0x0e, 0x4c, 0x0c, 0x22, 0xe7, 0x58, 0xca, 0x39, 0x47, 0x91, 0x10, - 0x43, 0x35, 0x4a, 0x7f, 0x9f, 0x07, 0x8d, 0x5c, 0x30, 0x91, 0x8b, 0xc7, 0xe8, 0xff, 0x44, 0x41, - 0x84, 0x52, 0x4c, 0x53, 0x84, 0x45, 0xe0, 0x9d, 0xd0, 0x83, 0xf3, 0x38, 0x43, 0x07, 0xe5, 0x91, - 0xaf, 0x6a, 0x18, 0xff, 0x9d, 0x9a, 0x33, 0x26, 0x34, 0x29, 0x26, 0x57, 0x3c, 0xa8, 0xe3, 0xeb, - 0x73, 0xba, 0x65, 0x3a, 0x19, 0x11, 0xe2, 0x69, 0xca, 0x14, 0x9f, 0xef, 0xf3, 0x14, 0xd6, 0x41, - 0xf4, 0x3b, 0x8e, 0x07, 0x07, 0xce, 0xd3, 0x99, 0x69, 0xa4, 0xa6, 0x8f, 0x88, 0x3c, 0xa5, 0xe9, - 0x32, 0x88, 0x84, 0x42, 0x85, 0x31, 0xdd, 0xe4, 0xd4, 0xb2, 0x98, 0x15, 0x07, 0x29, 0xb5, 0xaf, - 0x17, 0x58, 0xdb, 0x61, 0x97, 0x6d, 0x4e, 0x06, 0xfc, 0xa2, 0x06, 0x8f, 0x74, 0x3e, 0xc8, 0xf2, - 0x41, 0xa0, 0x45, 0xe9, 0xff, 0x01, 0x7f, 0x1d, 0xb4, 0x30, 0x66, 0x75, 0xe4, 0x4b, 0x68, 0x5d, - 0xe5, 0x3f, 0xd3, 0x8b, 0x38, 0xbc, 0xcd, 0x6b, 0x7d, 0x5c, 0xe4, 0xcc, 0x8f, 0xbc, 0x3f, 0x89, - 0xa7, 0x79, 0x07, 0x0d, 0x06, 0x5f, 0x5c, 0x5e, 0x16, 0xe8, 0x62, 0xb2, 0xde, 0x04, 0x1f, 0x83, - 0xc5, 0x21, 0x71, 0x2c, 0x54, 0xf4, 0x79, 0x25, 0xd0, 0xa9, 0x55, 0x3d, 0x41, 0x46, 0xf9, 0xf0, - 0x67, 0xfc, 0x41, 0xaa, 0x56, 0xf3, 0x3d, 0xc8, 0x52, 0x6d, 0x80, 0x54, 0x64, 0xa3, 0x53, 0xa9, - 0xcf, 0xcf, 0xa8, 0x70, 0xa5, 0xf7, 0x97, 0x71, 0x17, 0x4d, 0xbd, 0xb4, 0xb3, 0xaa, 0x4e, 0x58, - 0x9d, 0xb8, 0xa7, 0x7f, 0xd5, 0x54, 0x83, 0x67, 0x42, 0xd6, 0xb8, 0x76, 0x10, 0x9d, 0xef, 0x5d, - 0x29, 0x22, 0xaa, 0x14, 0x0d, 0xea, 0x47, 0x60, 0x89, 0x70, 0xa1, 0xbc, 0x16, 0xad, 0x67, 0xf4, - 0x19, 0xa1, 0x6e, 0x53, 0xc2, 0xd3, 0x8b, 0x79, 0x94, 0xa2, 0xe2, 0xff, 0x17, 0x2d, 0x5a, 0xe9, - 0x83, 0xe9, 0x36, 0x76, 0x5d, 0x27, 0xcf, 0x8e, 0x1d, 0xb0, 0x22, 0x3f, 0x35, 0x28, 0x53, 0xc2, - 0x09, 0xb6, 0x8f, 0x15, 0x77, 0xcf, 0x47, 0xf2, 0x3a, 0x06, 0x43, 0xbd, 0x0a, 0x80, 0x3f, 0xb2, - 0x6d, 0xe4, 0x53, 0x07, 0x7b, 0xb2, 0xc2, 0x46, 0x66, 0x12, 0xc4, 0xeb, 0xa0, 0x96, 0xc5, 0x4d, - 0x19, 0xf0, 0xb7, 0x54, 0x03, 0x4c, 0x34, 0x46, 0x70, 0x30, 0xb7, 0x01, 0x8f, 0xe2, 0x06, 0xac, - 0x9f, 0xbe, 0x93, 0xea, 0x79, 0xa5, 0x4d, 0xd9, 0xb7, 0x09, 0x96, 0x7c, 0x64, 0x11, 0x44, 0xa5, - 0x6d, 0x72, 0x54, 0xc4, 0x2e, 0x41, 0x39, 0x18, 0x9d, 0xfe, 0x77, 0x0b, 0x94, 0x2e, 0x7c, 0x5b, - 0xef, 0x82, 0xb5, 0xd8, 0xf7, 0x99, 0xbd, 0x54, 0x26, 0x89, 0x0f, 0x20, 0xc6, 0x51, 0x11, 0x94, - 0x4a, 0x47, 0x3f, 0x07, 0x20, 0xf2, 0x8d, 0xa4, 0x9e, 0xb9, 0x57, 0x61, 0x8c, 0xc3, 0xe9, 0x18, - 0x25, 0x1d, 0x81, 0x3b, 0xf1, 0xef, 0x1f, 0xfb, 0x59, 0x9b, 0x63, 0x30, 0xe3, 0xb8, 0x10, 0x4c, - 0xa9, 0xb9, 0x02, 0x77, 0x93, 0x9f, 0x30, 0xde, 0xcf, 0x95, 0x10, 0x02, 0x8d, 0x66, 0x41, 0xa0, - 0x52, 0xf6, 0x15, 0x58, 0x56, 0x5f, 0x09, 0x6a, 0x79, 0x9b, 0x19, 0xc2, 0x38, 0x98, 0x86, 0x50, - 0x72, 0xbb, 0x60, 0x2d, 0xd6, 0xd2, 0xef, 0xe5, 0xed, 0x0c, 0x50, 0xd9, 0xa7, 0x9d, 0xd6, 0xaf, - 0xb3, 0xd3, 0x8e, 0xf4, 0xea, 0xf5, 0xbc, 0xbd, 0x02, 0x93, 0x7d, 0xda, 0x93, 0x9d, 0xb6, 0xde, - 0x07, 0xeb, 0x89, 0x2e, 0xfb, 0xbd, 0xbc, 0xdd, 0x21, 0xce, 0x68, 0x14, 0xc3, 0x29, 0x4d, 0x1e, - 0x78, 0x6b, 0xa2, 0x5b, 0x3e, 0x98, 0x22, 0x43, 0x21, 0x8d, 0x6f, 0x16, 0x45, 0xc6, 0x02, 0x2c, - 0xd1, 0x0f, 0x67, 0x07, 0x58, 0x1c, 0x98, 0x13, 0x60, 0xe9, 0x3d, 0xb2, 0xfe, 0x6b, 0x70, 0x6f, - 0xb2, 0x41, 0xfe, 0x60, 0x8a, 0x94, 0x10, 0x6a, 0x9c, 0x14, 0x86, 0x2a, 0x95, 0x5f, 0x83, 0xd5, - 0x68, 0xcb, 0xfc, 0x6e, 0x96, 0x84, 0x08, 0xc8, 0xf8, 0x46, 0x01, 0x50, 0x2c, 0x11, 0xc4, 0xba, - 0xd4, 0xfd, 0x29, 0x24, 0x65, 0xb2, 0x39, 0x2e, 0x04, 0x53, 0x6a, 0x9e, 0x82, 0x8d, 0xd4, 0xe6, - 0xf4, 0xa8, 0x00, 0x57, 0x85, 0x36, 0x3e, 0x9a, 0x05, 0xad, 0x74, 0xff, 0x04, 0xac, 0x84, 0x5d, - 0xe9, 0xc3, 0x2c, 0x11, 0x0a, 0x62, 0x7c, 0x30, 0x15, 0x12, 0xbd, 0xb6, 0x91, 0x76, 0xb1, 0x9e, - 0xb7, 0x51, 0x60, 0xb2, 0xaf, 0xed, 0x64, 0x3f, 0xc8, 0xce, 0x26, 0xde, 0x0c, 0xee, 0x4f, 0xd9, - 0x2c, 0x60, 0xd9, 0x67, 0x93, 0xda, 0xf0, 0xb1, 0xb0, 0x9e, 0xec, 0xf6, 0x72, 0x9d, 0x10, 0x83, - 0x66, 0x87, 0x75, 0x66, 0x67, 0xc7, 0xc2, 0x21, 0xb5, 0xad, 0x3b, 0x2a, 0x26, 0x4a, 0xda, 0xf9, - 0xd1, 0x2c, 0xe8, 0xe8, 0x95, 0x8a, 0xb6, 0x70, 0xef, 0xe6, 0x08, 0x09, 0x40, 0xd9, 0x57, 0x2a, - 0xa5, 0x79, 0x93, 0xc7, 0x16, 0x49, 0xb6, 0x79, 0xc7, 0x16, 0xc9, 0xb5, 0xc7, 0x85, 0x60, 0x09, - 0x3b, 0x54, 0x73, 0x96, 0x67, 0x47, 0x00, 0xca, 0xb5, 0x23, 0xd9, 0x80, 0xb1, 0xaa, 0x91, 0xe8, - 0xbe, 0x32, 0xab, 0x46, 0x1c, 0x97, 0x5d, 0x35, 0x32, 0x5a, 0xaf, 0x2b, 0x70, 0x37, 0xd9, 0x4e, - 0xbd, 0x9f, 0xcd, 0x34, 0x06, 0xcc, 0xce, 0xe2, 0x19, 0x3d, 0x11, 0x2b, 0xe7, 0xb1, 0x86, 0x68, - 0x6f, 0xaa, 0x00, 0x66, 0xd2, 0x51, 0x11, 0x54, 0xaa, 0x41, 0x32, 0xb4, 0xa7, 0x1b, 0x24, 0xa3, - 0xba, 0x59, 0x10, 0x98, 0x7c, 0xcb, 0x85, 0xad, 0x4e, 0xee, 0x5b, 0x4e, 0xc1, 0xf2, 0xdf, 0x72, - 0x13, 0x5d, 0x89, 0xfe, 0x1b, 0xf0, 0x76, 0x7a, 0x47, 0x72, 0x3c, 0xb5, 0x8e, 0x46, 0xe1, 0xc6, - 0xc7, 0x33, 0xc1, 0x73, 0xd4, 0xcb, 0x7e, 0xa2, 0xa8, 0x7a, 0x01, 0x2f, 0xac, 0x3e, 0xfe, 0xf4, - 0x37, 0x16, 0x7f, 0x7b, 0x7b, 0x73, 0xa8, 0xb5, 0xcc, 0xe7, 0xaf, 0xaa, 0xda, 0x8b, 0x57, 0x55, - 0xed, 0x3f, 0xaf, 0xaa, 0xda, 0x9f, 0x5f, 0x57, 0x17, 0x5e, 0xbc, 0xae, 0x2e, 0xfc, 0xeb, 0x75, - 0x75, 0xe1, 0xa7, 0x9f, 0xda, 0x0e, 0xed, 0x8f, 0xba, 0x0d, 0x0b, 0xbb, 0xcd, 0x73, 0x64, 0x21, - 0x8f, 0x12, 0x38, 0x60, 0x9e, 0xfc, 0x2e, 0x74, 0x51, 0x33, 0xfd, 0xaf, 0xa6, 0xf4, 0x7a, 0x88, - 0xfc, 0xee, 0x12, 0xff, 0xc3, 0xef, 0x87, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x5d, 0xfb, - 0x0b, 0x52, 0x1f, 0x00, 0x00, + // 1975 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x6f, 0x23, 0xb7, + 0x15, 0xdf, 0x89, 0x6c, 0xc7, 0xe6, 0x7a, 0xbd, 0xd9, 0x59, 0x67, 0x57, 0x9e, 0x75, 0xb4, 0x5a, + 0xc5, 0xbb, 0x71, 0x5c, 0x5b, 0xaa, 0x9d, 0x8f, 0x0d, 0x82, 0x36, 0x85, 0xad, 0x45, 0x8b, 0x1e, + 0xdc, 0xa4, 0xe3, 0x36, 0x45, 0xfa, 0x15, 0x50, 0x23, 0x7a, 0x34, 0xb5, 0x66, 0xa8, 0x72, 0x28, + 0x25, 0x0e, 0x50, 0xa0, 0x68, 0x2f, 0x45, 0x7b, 0xe9, 0xb9, 0xb7, 0xde, 0x72, 0xdc, 0x02, 0xfd, + 0x0b, 0xda, 0x4b, 0x0e, 0x2d, 0x10, 0xe4, 0xd4, 0x53, 0x51, 0xec, 0x1e, 0xfc, 0x6f, 0x14, 0xfc, + 0x18, 0x0e, 0x67, 0xc4, 0x19, 0x8d, 0x04, 0xe4, 0x62, 0x0f, 0xc9, 0x1f, 0xdf, 0xfb, 0xbd, 0xc7, + 0x47, 0x3e, 0x3e, 0xda, 0x60, 0xdb, 0x83, 0xa4, 0xef, 0x0d, 0x60, 0x10, 0x75, 0xd2, 0x2f, 0xfa, + 0x69, 0x7b, 0x44, 0x30, 0xc5, 0xf6, 0x6d, 0xd5, 0xd7, 0x56, 0x5f, 0xce, 0x2d, 0x18, 0x06, 0x11, + 0xee, 0xf0, 0x9f, 0x02, 0xe7, 0xdc, 0xf5, 0x70, 0x1c, 0xe2, 0xb8, 0x13, 0xc6, 0x7e, 0x67, 0x72, + 0xc8, 0x7e, 0xc9, 0x81, 0x2d, 0x31, 0xf0, 0x31, 0x6f, 0x75, 0x44, 0x43, 0x0e, 0x6d, 0xfa, 0xd8, + 0xc7, 0xa2, 0x9f, 0x7d, 0xc9, 0xde, 0xa6, 0x89, 0xcf, 0x08, 0x12, 0x18, 0x26, 0xf3, 0x1a, 0x52, + 0x57, 0x0f, 0xc6, 0xa8, 0x33, 0x39, 0xec, 0x21, 0x0a, 0x0f, 0x3b, 0x1e, 0x0e, 0xa2, 0x32, 0x09, + 0x13, 0x4c, 0x83, 0x28, 0x21, 0x75, 0xdf, 0x84, 0x08, 0x21, 0xf5, 0x06, 0x12, 0xf0, 0xc0, 0x04, + 0xf0, 0xf0, 0x38, 0xf2, 0x82, 0xa1, 0x62, 0x61, 0x82, 0x40, 0xd2, 0x17, 0xe3, 0xad, 0x7f, 0x5a, + 0xe0, 0xe6, 0x69, 0xec, 0xff, 0x78, 0xd4, 0x87, 0x14, 0x7d, 0xc0, 0xf9, 0xdb, 0x6f, 0x83, 0x35, + 0x38, 0xa6, 0x03, 0x4c, 0x02, 0x7a, 0x59, 0xb7, 0x9a, 0xd6, 0xee, 0xda, 0x49, 0xfd, 0xab, 0xbf, + 0x1f, 0x6c, 0x4a, 0xb7, 0x1c, 0xf7, 0xfb, 0x04, 0xc5, 0xf1, 0x19, 0x25, 0x41, 0xe4, 0xbb, 0x29, + 0xd4, 0x7e, 0x0f, 0xac, 0x08, 0x0f, 0xd4, 0x5f, 0x68, 0x5a, 0xbb, 0xd7, 0x8f, 0xee, 0xb5, 0x0d, + 0xcb, 0xd2, 0x16, 0x4a, 0x4e, 0xd6, 0xbe, 0xf8, 0xef, 0xfd, 0x6b, 0x9f, 0x5f, 0x3d, 0xdd, 0xb3, + 0x5c, 0x39, 0xeb, 0xdd, 0x77, 0x7e, 0x77, 0xf5, 0x74, 0x2f, 0x95, 0xf7, 0xc7, 0xab, 0xa7, 0x7b, + 0x0f, 0x53, 0xd2, 0x9f, 0x6a, 0x06, 0xe4, 0x18, 0xb7, 0xb6, 0xc0, 0xdd, 0x5c, 0x97, 0x8b, 0xe2, + 0x11, 0x8e, 0x62, 0xd4, 0xf2, 0xc1, 0x0d, 0x36, 0x14, 0x23, 0xd2, 0x25, 0x08, 0x52, 0x64, 0xd7, + 0xc1, 0x8b, 0x1e, 0xfb, 0xc2, 0x44, 0xd8, 0xe6, 0x26, 0x4d, 0x36, 0x12, 0xa1, 0x4f, 0x18, 0x94, + 0x1b, 0xb0, 0xe6, 0x26, 0x4d, 0x7b, 0x13, 0x2c, 0xc3, 0x61, 0x00, 0xe3, 0x7a, 0x8d, 0xf7, 0x8b, + 0xc6, 0xbb, 0xeb, 0x8c, 0x6f, 0x32, 0xbb, 0x75, 0x17, 0xbc, 0x9c, 0x51, 0xa4, 0x18, 0x84, 0xe0, + 0xa5, 0xd3, 0xd8, 0xef, 0x42, 0xd2, 0x3f, 0xf3, 0x06, 0x28, 0x44, 0x27, 0xe3, 0xcb, 0x12, 0x12, + 0x87, 0xa0, 0xd6, 0x0b, 0xfa, 0xd2, 0x83, 0x5b, 0x6d, 0xe9, 0x73, 0x16, 0x44, 0x6d, 0x19, 0x44, + 0xed, 0x2e, 0x0e, 0xa2, 0x93, 0x25, 0xe6, 0x3f, 0x97, 0x61, 0x73, 0x3c, 0x8e, 0x40, 0x3d, 0xaf, + 0x2e, 0xa1, 0x62, 0xdf, 0x01, 0x2b, 0xcc, 0x89, 0xdf, 0xef, 0x73, 0xad, 0x4b, 0xae, 0x6c, 0xb5, + 0xfe, 0x61, 0x01, 0x3b, 0x99, 0x04, 0x27, 0xa8, 0x8b, 0x23, 0x8a, 0x22, 0x5a, 0xc2, 0x32, 0x15, + 0xf4, 0x82, 0x2e, 0x88, 0xcf, 0x10, 0x93, 0xb9, 0xab, 0xd6, 0xdd, 0xa4, 0xc9, 0x5c, 0x18, 0x61, + 0x8a, 0xe2, 0xfa, 0x92, 0x70, 0x21, 0x6f, 0x30, 0x39, 0x90, 0xd0, 0x20, 0xa6, 0xf5, 0x65, 0xde, + 0x2d, 0x5b, 0xf6, 0x0e, 0xb8, 0xd1, 0x83, 0x43, 0x18, 0x79, 0xe8, 0x38, 0xf2, 0x06, 0x98, 0xd4, + 0x57, 0x9a, 0xd6, 0xee, 0xaa, 0x9b, 0xed, 0xcc, 0x19, 0xfe, 0x04, 0x38, 0xd3, 0x36, 0x28, 0xd3, + 0x1f, 0x81, 0x0d, 0x18, 0x90, 0x3e, 0xc1, 0xa3, 0xee, 0x10, 0x06, 0x21, 0x12, 0x2e, 0x58, 0x75, + 0x73, 0xbd, 0xad, 0x5f, 0x81, 0xeb, 0x52, 0xca, 0x87, 0xb8, 0x34, 0x5a, 0xde, 0x00, 0x4b, 0x13, + 0x4c, 0x91, 0x5c, 0xa9, 0xfb, 0xc6, 0x58, 0x3f, 0x0b, 0x22, 0x7f, 0x88, 0x98, 0x20, 0x97, 0x83, + 0x73, 0x8c, 0xbf, 0x0d, 0x6e, 0x6b, 0xba, 0xe6, 0xa6, 0x1a, 0xf2, 0xad, 0xcb, 0xa6, 0xff, 0x88, + 0xc0, 0x28, 0x3e, 0x47, 0x64, 0x81, 0x15, 0x73, 0xc0, 0x2a, 0x41, 0x1e, 0x0a, 0x26, 0x88, 0xc8, + 0xe8, 0x56, 0xed, 0x1c, 0x5b, 0xb1, 0xc9, 0x74, 0x75, 0x2a, 0xc4, 0xff, 0x60, 0xf1, 0x5d, 0xc6, + 0xc6, 0x9e, 0xe0, 0xa8, 0x7c, 0x97, 0x15, 0x11, 0x79, 0x0c, 0x56, 0x60, 0x88, 0xc7, 0x32, 0x72, + 0x2a, 0xc4, 0xbe, 0x84, 0x1b, 0xb7, 0x61, 0xca, 0x44, 0x71, 0xfc, 0xbd, 0x05, 0x6e, 0xc9, 0x91, + 0x63, 0x42, 0x3f, 0xc1, 0xe4, 0xe2, 0xb8, 0xdf, 0x5f, 0x80, 0xe7, 0x26, 0x58, 0x0e, 0x42, 0xe8, + 0x23, 0x19, 0xe0, 0xa2, 0xc1, 0xe4, 0x9c, 0x8f, 0x87, 0xc3, 0x63, 0x42, 0x79, 0x80, 0xaf, 0xba, + 0x49, 0x33, 0x47, 0xef, 0x1e, 0xd8, 0x9a, 0x22, 0xa1, 0x9d, 0x14, 0xb7, 0xd3, 0xc1, 0x20, 0xa6, + 0xdd, 0x01, 0x8c, 0xfc, 0x45, 0x7c, 0x99, 0x6e, 0xab, 0x9a, 0xbe, 0xad, 0x72, 0x5c, 0x5e, 0x01, + 0xf7, 0x0c, 0xea, 0x14, 0x9b, 0x6f, 0x89, 0x33, 0x41, 0xa4, 0x13, 0x17, 0xf9, 0x41, 0x4c, 0xcb, + 0x22, 0x2c, 0x27, 0x7c, 0x5b, 0xec, 0xc6, 0xec, 0x6c, 0x25, 0xfb, 0x3d, 0xb0, 0x99, 0x8e, 0x3e, + 0x41, 0x64, 0x5e, 0xe9, 0x0d, 0xb0, 0x6d, 0x9a, 0xaf, 0xe4, 0x7f, 0x65, 0x81, 0x8d, 0xd3, 0xd8, + 0x3f, 0x65, 0xc9, 0xd2, 0x45, 0x23, 0x4c, 0x68, 0xf9, 0xb9, 0xcf, 0xb3, 0xaa, 0x72, 0x63, 0xd2, + 0xb4, 0x5b, 0x60, 0x7d, 0x34, 0x84, 0x97, 0xa8, 0xcf, 0x9c, 0x14, 0x1f, 0xd7, 0x6b, 0xcd, 0xda, + 0xee, 0x92, 0x9b, 0xe9, 0xcb, 0x61, 0x4e, 0xea, 0x4b, 0x53, 0x98, 0x13, 0xfb, 0x6d, 0xf0, 0x22, + 0x1e, 0x53, 0x0f, 0x87, 0x88, 0x9f, 0x73, 0x1b, 0x47, 0xdb, 0xc6, 0xe3, 0xe2, 0x7d, 0x81, 0x71, + 0x13, 0x70, 0xce, 0xe8, 0x3a, 0xb8, 0x93, 0xb5, 0x49, 0x99, 0xeb, 0x8a, 0x14, 0x23, 0xdc, 0x31, + 0x33, 0xcf, 0x15, 0x44, 0x4d, 0x4e, 0x9b, 0x23, 0xf2, 0x88, 0x2e, 0x53, 0xe9, 0xfb, 0x05, 0x3f, + 0x0a, 0x34, 0x26, 0x88, 0x1c, 0x8f, 0x46, 0x38, 0x28, 0xcd, 0x19, 0xfc, 0xa4, 0x11, 0x60, 0x99, + 0x5f, 0x55, 0x3b, 0xa7, 0xfa, 0x01, 0xb8, 0x5f, 0x20, 0x5e, 0x31, 0xf8, 0xdc, 0x02, 0xeb, 0xa7, + 0xb1, 0x7f, 0x86, 0xe8, 0x4c, 0x73, 0x6d, 0xb0, 0x14, 0xc1, 0x10, 0x49, 0x9d, 0xfc, 0xbb, 0x68, + 0x83, 0xd8, 0x4d, 0x70, 0x3d, 0xa6, 0x98, 0x5c, 0xfe, 0x84, 0x04, 0x8c, 0xa6, 0xc8, 0x55, 0x7a, + 0x17, 0x5b, 0x6e, 0x96, 0xd2, 0x48, 0xd0, 0x1b, 0x53, 0x4c, 0xe2, 0xfa, 0x72, 0xb3, 0xb6, 0xbb, + 0xe6, 0x66, 0xfa, 0x72, 0xd6, 0xdc, 0xe1, 0xb1, 0xae, 0x98, 0x2a, 0x13, 0x10, 0x3f, 0x33, 0x59, + 0x3f, 0xdb, 0x81, 0xa5, 0x67, 0xd1, 0x26, 0x58, 0x8e, 0x11, 0x55, 0x0b, 0x26, 0x1a, 0xda, 0x3a, + 0xd6, 0x4a, 0xd6, 0x51, 0x1c, 0x88, 0xa9, 0x1a, 0xa5, 0x7f, 0xc0, 0x83, 0x46, 0x0e, 0xb8, 0x28, + 0xc4, 0x13, 0xf4, 0x35, 0x51, 0x10, 0xa1, 0x94, 0xd1, 0xa4, 0xb1, 0x48, 0xbc, 0x93, 0x7a, 0x70, + 0x11, 0x67, 0xd8, 0x60, 0x69, 0x1c, 0xab, 0x1c, 0xc6, 0xbf, 0x8d, 0x67, 0xc6, 0x94, 0x26, 0xc5, + 0xe4, 0x82, 0x07, 0x75, 0x76, 0x7c, 0x41, 0xb7, 0xcc, 0x26, 0x23, 0x42, 0xdc, 0xa4, 0x4c, 0xf1, + 0xf9, 0x01, 0x3f, 0xc2, 0xce, 0x10, 0xfd, 0x6e, 0x10, 0xc1, 0x61, 0xf0, 0xd9, 0xdc, 0x34, 0x8c, + 0xc7, 0x87, 0x26, 0x4f, 0x69, 0x3a, 0x4f, 0x22, 0xa1, 0x52, 0x62, 0x34, 0x9b, 0x6c, 0x4c, 0x8b, + 0x45, 0x71, 0x60, 0xc8, 0x7d, 0xfd, 0xc4, 0xda, 0x33, 0xb6, 0xd9, 0x16, 0x64, 0xc0, 0x37, 0x6a, + 0x72, 0x49, 0xe7, 0x8d, 0x22, 0x1f, 0x24, 0x5a, 0x94, 0xfe, 0x1f, 0xf2, 0xdb, 0xc1, 0x09, 0xc6, + 0x2c, 0x8f, 0x7c, 0x00, 0xbd, 0x8b, 0xf2, 0x6b, 0x7a, 0x15, 0x87, 0x77, 0x79, 0xae, 0xcf, 0x8a, + 0x9c, 0xfb, 0x92, 0xf7, 0x27, 0x71, 0x35, 0x3f, 0x43, 0xc3, 0xe1, 0xfb, 0xe7, 0xe7, 0x15, 0xaa, + 0x98, 0xa2, 0x3b, 0xc1, 0x5b, 0x60, 0x79, 0x44, 0x02, 0x0f, 0x55, 0xbd, 0x5e, 0x09, 0xb4, 0x31, + 0xab, 0xe7, 0xc8, 0x28, 0x1f, 0xfe, 0x8c, 0x5f, 0x48, 0xd5, 0x68, 0xb9, 0x07, 0xd9, 0x51, 0x9b, + 0x20, 0x15, 0x59, 0xbd, 0xcb, 0x78, 0xfd, 0xd4, 0x85, 0x2b, 0xbd, 0xbf, 0xcc, 0xba, 0x68, 0xe6, + 0xa6, 0x9d, 0x57, 0x75, 0xce, 0xea, 0xdc, 0x3e, 0xfd, 0xab, 0xa5, 0x0a, 0x3c, 0x17, 0xb2, 0xc2, + 0xf5, 0x0c, 0xd1, 0xc5, 0xee, 0x95, 0x22, 0xa2, 0x6a, 0x7a, 0x50, 0x3f, 0x06, 0x2b, 0x84, 0x0b, + 0xe5, 0xb9, 0x68, 0xa3, 0xa0, 0xce, 0x48, 0x75, 0xbb, 0x12, 0x6e, 0x4e, 0xe6, 0x3a, 0x45, 0xc5, + 0xff, 0x2f, 0x96, 0x9e, 0xe9, 0x93, 0xee, 0x2e, 0x0e, 0xc3, 0xa0, 0xcc, 0x8e, 0x6d, 0xb0, 0x26, + 0x9f, 0x1a, 0x94, 0x29, 0x69, 0x07, 0x9b, 0xc7, 0x92, 0x7b, 0x14, 0x23, 0xb9, 0x1d, 0x93, 0xa6, + 0xdd, 0x00, 0x20, 0x1e, 0xfb, 0x3e, 0x8a, 0x69, 0x80, 0x23, 0x99, 0x61, 0xb5, 0x9e, 0x1c, 0xf1, + 0x16, 0x68, 0x16, 0x71, 0x53, 0x06, 0xfc, 0xcd, 0x68, 0x80, 0x8b, 0x26, 0x08, 0x0e, 0x17, 0x36, + 0xe0, 0x71, 0xd6, 0x80, 0x8d, 0xa3, 0x57, 0x8c, 0x9e, 0x57, 0xda, 0x94, 0x7d, 0x77, 0xc0, 0x4a, + 0x8c, 0x3c, 0x82, 0xa8, 0xb4, 0x4d, 0xb6, 0xaa, 0xd8, 0x25, 0x28, 0x2b, 0xbb, 0x3e, 0x12, 0x05, + 0x8b, 0xc2, 0x50, 0x48, 0x16, 0x5e, 0x10, 0x73, 0x19, 0x92, 0x11, 0xad, 0xf4, 0xfe, 0x4b, 0xbc, + 0x09, 0xf1, 0xfb, 0x57, 0x17, 0x47, 0xe7, 0x01, 0x09, 0x17, 0xba, 0x3d, 0x6b, 0xb7, 0xde, 0xda, + 0x1c, 0xb7, 0x5e, 0xfb, 0x3b, 0x00, 0xb0, 0x62, 0x59, 0x5c, 0x9e, 0xf9, 0x7d, 0xba, 0x42, 0x7d, + 0xad, 0x4d, 0x31, 0x1e, 0x1c, 0xba, 0x35, 0x89, 0xa5, 0x47, 0xff, 0xde, 0x02, 0xb5, 0xd3, 0xd8, + 0xb7, 0x7b, 0x60, 0x3d, 0xf3, 0x02, 0xb6, 0x63, 0xd4, 0x96, 0x7b, 0x62, 0x72, 0xf6, 0xab, 0xa0, + 0xd4, 0x81, 0xff, 0x73, 0x00, 0xb4, 0x57, 0xa8, 0x56, 0xe1, 0x5c, 0x85, 0x71, 0xf6, 0x66, 0x63, + 0x94, 0x74, 0x04, 0x6e, 0x64, 0x5f, 0x98, 0x1e, 0x16, 0x4d, 0xce, 0xc0, 0x9c, 0x83, 0x4a, 0x30, + 0xa5, 0xe6, 0x02, 0xdc, 0xcc, 0x3f, 0x12, 0xbd, 0x56, 0x2a, 0x21, 0x05, 0x3a, 0x9d, 0x8a, 0x40, + 0xa5, 0xec, 0x43, 0xb0, 0xaa, 0xde, 0x61, 0x9a, 0x65, 0x93, 0x19, 0xc2, 0xd9, 0x9d, 0x85, 0x50, + 0x72, 0x7b, 0x60, 0x3d, 0xf3, 0x68, 0xb2, 0x53, 0x36, 0x33, 0x41, 0x15, 0xaf, 0xb6, 0xe9, 0x45, + 0x84, 0xad, 0xb6, 0xf6, 0x1a, 0xd2, 0x2a, 0x9b, 0x2b, 0x30, 0xc5, 0xab, 0x3d, 0xfd, 0x96, 0x61, + 0x0f, 0xc0, 0x46, 0xee, 0x1d, 0xe3, 0x51, 0xd9, 0xec, 0x14, 0xe7, 0xb4, 0xab, 0xe1, 0x94, 0xa6, + 0x08, 0xbc, 0x34, 0xf5, 0x1e, 0xb1, 0x3b, 0x43, 0x86, 0x42, 0x3a, 0xdf, 0xac, 0x8a, 0xcc, 0x04, + 0x58, 0xee, 0xc5, 0xa1, 0x38, 0xc0, 0xb2, 0xc0, 0x92, 0x00, 0x33, 0xbf, 0x42, 0xd8, 0xbf, 0x06, + 0xb7, 0xa6, 0x9f, 0x20, 0x5e, 0x9f, 0x21, 0x25, 0x85, 0x3a, 0x87, 0x95, 0xa1, 0x4a, 0xe5, 0xc7, + 0xe0, 0xba, 0xfe, 0x28, 0xf1, 0x6a, 0x91, 0x04, 0x0d, 0xe4, 0x7c, 0xa3, 0x02, 0x28, 0x73, 0x10, + 0x64, 0xde, 0x01, 0x1e, 0xce, 0x20, 0x29, 0x0f, 0x9b, 0x83, 0x4a, 0x30, 0xa5, 0xe6, 0x33, 0xb0, + 0x69, 0x2c, 0xff, 0xf7, 0x2b, 0x70, 0x55, 0x68, 0xe7, 0xcd, 0x79, 0xd0, 0x4a, 0xf7, 0x47, 0x60, + 0x2d, 0xad, 0xfb, 0x1f, 0x14, 0x89, 0x50, 0x10, 0xe7, 0xf5, 0x99, 0x10, 0x7d, 0xdb, 0x6a, 0x05, + 0x79, 0xab, 0x6c, 0xa2, 0xc0, 0x14, 0x6f, 0xdb, 0xe9, 0x8a, 0x9b, 0xad, 0x4d, 0xb6, 0xdc, 0x7e, + 0x38, 0x63, 0xb2, 0x80, 0x15, 0xaf, 0x8d, 0xb1, 0xa4, 0x66, 0x61, 0x3d, 0x5d, 0x4f, 0x97, 0x3a, + 0x21, 0x03, 0x2d, 0x0e, 0xeb, 0xc2, 0xda, 0x99, 0x85, 0x83, 0xb1, 0x70, 0xde, 0xaf, 0x26, 0x4a, + 0xda, 0xf9, 0xe6, 0x3c, 0x68, 0x7d, 0x4b, 0xe9, 0x45, 0xf2, 0xab, 0x25, 0x42, 0x12, 0x50, 0xf1, + 0x96, 0x32, 0x94, 0xc7, 0x72, 0xd9, 0xb4, 0xc3, 0xb6, 0x6c, 0xd9, 0xb4, 0xb3, 0xf6, 0xa0, 0x12, + 0x2c, 0x67, 0x87, 0x2a, 0x7f, 0xcb, 0xec, 0x48, 0x40, 0xa5, 0x76, 0xe4, 0x4b, 0x5c, 0x96, 0x35, + 0x72, 0xf5, 0x6d, 0x61, 0xd6, 0xc8, 0xe2, 0x8a, 0xb3, 0x46, 0x41, 0x71, 0x7b, 0x01, 0x6e, 0xe6, + 0x0b, 0xd6, 0xd7, 0x8a, 0x99, 0x66, 0x80, 0xc5, 0xa7, 0x78, 0x41, 0xd5, 0xc9, 0xd2, 0x79, 0xa6, + 0xe4, 0xdc, 0x99, 0x29, 0x80, 0x99, 0xb4, 0x5f, 0x05, 0x65, 0x34, 0x48, 0x86, 0xf6, 0x6c, 0x83, + 0x64, 0x54, 0x77, 0x2a, 0x02, 0xf3, 0x77, 0xb9, 0xb4, 0x98, 0x2c, 0xbd, 0xcb, 0x29, 0x58, 0xf9, + 0x5d, 0x6e, 0xaa, 0xee, 0xb3, 0x7f, 0x03, 0x5e, 0x36, 0xd7, 0x7c, 0x07, 0x33, 0xf3, 0xa8, 0x0e, + 0x77, 0xde, 0x9a, 0x0b, 0x5e, 0xa2, 0x5e, 0x56, 0x6c, 0x55, 0xd5, 0x0b, 0x78, 0x65, 0xf5, 0xd9, + 0xe2, 0x8a, 0x5f, 0xa1, 0xb2, 0x95, 0xd5, 0xa3, 0xd9, 0x82, 0x18, 0xae, 0xe4, 0x0a, 0x65, 0x2c, + 0xa7, 0x58, 0x7c, 0x66, 0x4a, 0xa9, 0x9d, 0xd2, 0xa4, 0x27, 0x51, 0xce, 0x7e, 0x15, 0x54, 0xa2, + 0xc3, 0x59, 0xfe, 0xed, 0xd5, 0xd3, 0x3d, 0xeb, 0xc4, 0xfd, 0xe2, 0x59, 0xc3, 0xfa, 0xf2, 0x59, + 0xc3, 0xfa, 0xdf, 0xb3, 0x86, 0xf5, 0xe7, 0xe7, 0x8d, 0x6b, 0x5f, 0x3e, 0x6f, 0x5c, 0xfb, 0xcf, + 0xf3, 0xc6, 0xb5, 0x9f, 0xbe, 0xe3, 0x07, 0x74, 0x30, 0xee, 0xb5, 0x3d, 0x1c, 0x76, 0x9e, 0x20, + 0x0f, 0x45, 0x94, 0xc0, 0x21, 0x8b, 0x8b, 0xef, 0xc1, 0x10, 0x75, 0xcc, 0x7f, 0x65, 0xa7, 0x97, + 0x23, 0x14, 0xf7, 0x56, 0xf8, 0x3f, 0x0a, 0xbc, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x43, + 0xcc, 0xaf, 0x36, 0x82, 0x21, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3066,6 +3268,8 @@ type MsgClient interface { CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) + CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) + MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) } type msgClient struct { @@ -3337,6 +3541,24 @@ func (c *msgClient) CouncilResponseReveal(ctx context.Context, in *MsgCouncilRes return out, nil } +func (c *msgClient) CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) { + out := new(MsgCouncilRestartResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilRestart", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) { + out := new(MsgMatchConfirmResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchConfirm", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module @@ -3370,6 +3592,8 @@ type MsgServer interface { CardRaritySet(context.Context, *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) CouncilResponseCommit(context.Context, *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) CouncilResponseReveal(context.Context, *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) + CouncilRestart(context.Context, *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) + MatchConfirm(context.Context, *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -3463,6 +3687,12 @@ func (*UnimplementedMsgServer) CouncilResponseCommit(ctx context.Context, req *M func (*UnimplementedMsgServer) CouncilResponseReveal(ctx context.Context, req *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseReveal not implemented") } +func (*UnimplementedMsgServer) CouncilRestart(ctx context.Context, req *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilRestart not implemented") +} +func (*UnimplementedMsgServer) MatchConfirm(ctx context.Context, req *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchConfirm not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -3990,6 +4220,42 @@ func _Msg_CouncilResponseReveal_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Msg_CouncilRestart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilRestart) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilRestart(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilRestart", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilRestart(ctx, req.(*MsgCouncilRestart)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_MatchConfirm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchConfirm) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).MatchConfirm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/MatchConfirm", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchConfirm(ctx, req.(*MsgMatchConfirm)) + } + return interceptor(ctx, in, info, handler) +} + var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Msg", @@ -4111,6 +4377,14 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "CouncilResponseReveal", Handler: _Msg_CouncilResponseReveal_Handler, }, + { + MethodName: "CouncilRestart", + Handler: _Msg_CouncilRestart_Handler, + }, + { + MethodName: "MatchConfirm", + Handler: _Msg_MatchConfirm_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", @@ -6073,74 +6347,209 @@ func (m *MsgCouncilResponseRevealResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *MsgUpdateParams) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgCouncilRestart) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - l = m.Params.Size() - n += 1 + l + sovTx(uint64(l)) - return n + return dAtA[:n], nil } -func (m *MsgUpdateParamsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgCouncilRestart) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUserCreate) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgCouncilRestart) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.NewUser) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.CouncilId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + i-- + dAtA[i] = 0x10 } - l = len(m.Alias) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgUserCreateResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCouncilRestartResponse) 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 *MsgCouncilRestartResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilRestartResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgCardSchemeBuy) Size() (n int) { - if m == nil { - return 0 +func (m *MsgMatchConfirm) 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 *MsgMatchConfirm) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgMatchConfirm) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = 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-- + dAtA[i] = 0x18 + } + if m.MatchId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) + 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 *MsgMatchConfirmResponse) 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 *MsgMatchConfirmResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgMatchConfirmResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUserCreate) 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.NewUser) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Alias) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUserCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardSchemeBuy) Size() (n int) { + if m == nil { + return 0 } var l int _ = l @@ -6929,6 +7338,65 @@ func (m *MsgCouncilResponseRevealResponse) Size() (n int) { return n } +func (m *MsgCouncilRestart) 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.CouncilId != 0 { + n += 1 + sovTx(uint64(m.CouncilId)) + } + return n +} + +func (m *MsgCouncilRestartResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgMatchConfirm) 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.MatchId != 0 { + n += 1 + sovTx(uint64(m.MatchId)) + } + 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 +} + +func (m *MsgMatchConfirmResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -12361,6 +12829,361 @@ func (m *MsgCouncilResponseRevealResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgCouncilRestart) 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: MsgCouncilRestart: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilRestart: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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:]) + 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 *MsgCouncilRestartResponse) 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: MsgCouncilRestartResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilRestartResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgMatchConfirm) 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: MsgMatchConfirm: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgMatchConfirm: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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 + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + m.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Outcome |= Outcome(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + 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 ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + 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:]) + 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 *MsgMatchConfirmResponse) 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: MsgMatchConfirmResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgMatchConfirmResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From 0a0a4ef263fc5952d7c9c858bf62c1d770521212 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 00:49:33 +0100 Subject: [PATCH 17/99] feat(#242): Updated gen.sh --- gen.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gen.sh b/gen.sh index a130ba68..a0cc1ee2 100755 --- a/gen.sh +++ b/gen.sh @@ -31,4 +31,12 @@ # suggestion #ignite scaffold message CouncilResponseReveal councilId:uint reponse:int secret #ignite scaffold message CouncilRestart councilId:uint -ignite scaffold message MatchConfirm matchId:uint outcome:int votedCards:array.int +#ignite scaffold message MatchConfirm matchId:uint outcome:int votedCards:array.int +ignite scaffold message ProfileCardSet cardId:uin +ignite scaffold message ProfileWebsiteSet website +ignite scaffold message ProfileBioSet bio +ignite scaffold message BoosterPackOpen boosterPackId:uint --response cardIds:uints +ignite scaffold message BoosterPackTransfer boosterPackId:uint receiver +ignite scaffold message SetStoryWriterSet setId:uint storyWriter +ignite scaffold message SetArtistSet setId:uint artist +ignite scaffold message CardVoteMulti votes:array.int --response airdropClaimed:bool From 8681cb663b5a2099395b2e69a3747a9abb36d609 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 00:54:42 +0100 Subject: [PATCH 18/99] feat(#242): Next wave --- api/cardchain/cardchain/tx.pulsar.go | 10561 +++++++++++++-- api/cardchain/cardchain/tx_grpc.pb.go | 296 + docs/static/openapi.yml | 2 +- gen.sh | 16 +- proto/cardchain/cardchain/tx.proto | 78 + .../keeper/msg_server_booster_pack_open.go | 17 + .../msg_server_booster_pack_transfer.go | 17 + .../keeper/msg_server_card_vote_multi.go | 17 + .../keeper/msg_server_profile_bio_set.go | 17 + .../keeper/msg_server_profile_card_set.go | 17 + .../keeper/msg_server_profile_website_set.go | 17 + .../keeper/msg_server_set_artist_set.go | 17 + .../keeper/msg_server_set_story_writer_set.go | 17 + x/cardchain/module/autocli.go | 48 + x/cardchain/module/simulation.go | 184 + x/cardchain/simulation/booster_pack_open.go | 29 + .../simulation/booster_pack_transfer.go | 29 + x/cardchain/simulation/card_vote_multi.go | 29 + x/cardchain/simulation/profile_bio_set.go | 29 + x/cardchain/simulation/profile_card_set.go | 29 + x/cardchain/simulation/profile_website_set.go | 29 + x/cardchain/simulation/set_artist_set.go | 29 + .../simulation/set_story_writer_set.go | 29 + x/cardchain/types/codec.go | 24 + .../types/message_booster_pack_open.go | 24 + .../types/message_booster_pack_open_test.go | 40 + .../types/message_booster_pack_transfer.go | 25 + .../message_booster_pack_transfer_test.go | 40 + x/cardchain/types/message_card_vote_multi.go | 24 + .../types/message_card_vote_multi_test.go | 40 + x/cardchain/types/message_profile_bio_set.go | 24 + .../types/message_profile_bio_set_test.go | 40 + x/cardchain/types/message_profile_card_set.go | 24 + .../types/message_profile_card_set_test.go | 40 + .../types/message_profile_website_set.go | 24 + .../types/message_profile_website_set_test.go | 40 + x/cardchain/types/message_set_artist_set.go | 25 + .../types/message_set_artist_set_test.go | 40 + .../types/message_set_story_writer_set.go | 25 + .../message_set_story_writer_set_test.go | 40 + x/cardchain/types/tx.pb.go | 11113 ++++++++++------ 41 files changed, 18033 insertions(+), 5172 deletions(-) create mode 100644 x/cardchain/keeper/msg_server_booster_pack_open.go create mode 100644 x/cardchain/keeper/msg_server_booster_pack_transfer.go create mode 100644 x/cardchain/keeper/msg_server_card_vote_multi.go create mode 100644 x/cardchain/keeper/msg_server_profile_bio_set.go create mode 100644 x/cardchain/keeper/msg_server_profile_card_set.go create mode 100644 x/cardchain/keeper/msg_server_profile_website_set.go create mode 100644 x/cardchain/keeper/msg_server_set_artist_set.go create mode 100644 x/cardchain/keeper/msg_server_set_story_writer_set.go create mode 100644 x/cardchain/simulation/booster_pack_open.go create mode 100644 x/cardchain/simulation/booster_pack_transfer.go create mode 100644 x/cardchain/simulation/card_vote_multi.go create mode 100644 x/cardchain/simulation/profile_bio_set.go create mode 100644 x/cardchain/simulation/profile_card_set.go create mode 100644 x/cardchain/simulation/profile_website_set.go create mode 100644 x/cardchain/simulation/set_artist_set.go create mode 100644 x/cardchain/simulation/set_story_writer_set.go create mode 100644 x/cardchain/types/message_booster_pack_open.go create mode 100644 x/cardchain/types/message_booster_pack_open_test.go create mode 100644 x/cardchain/types/message_booster_pack_transfer.go create mode 100644 x/cardchain/types/message_booster_pack_transfer_test.go create mode 100644 x/cardchain/types/message_card_vote_multi.go create mode 100644 x/cardchain/types/message_card_vote_multi_test.go create mode 100644 x/cardchain/types/message_profile_bio_set.go create mode 100644 x/cardchain/types/message_profile_bio_set_test.go create mode 100644 x/cardchain/types/message_profile_card_set.go create mode 100644 x/cardchain/types/message_profile_card_set_test.go create mode 100644 x/cardchain/types/message_profile_website_set.go create mode 100644 x/cardchain/types/message_profile_website_set_test.go create mode 100644 x/cardchain/types/message_set_artist_set.go create mode 100644 x/cardchain/types/message_set_artist_set_test.go create mode 100644 x/cardchain/types/message_set_story_writer_set.go create mode 100644 x/cardchain/types/message_set_story_writer_set_test.go diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index 0e6a7d5e..462b2a63 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -28070,2430 +28070,10164 @@ func (x *fastReflection_MsgMatchConfirmResponse) ProtoMethods() *protoiface.Meth } } +var ( + md_MsgProfileCardSet protoreflect.MessageDescriptor + fd_MsgProfileCardSet_creator protoreflect.FieldDescriptor + fd_MsgProfileCardSet_cardId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgProfileCardSet = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgProfileCardSet") + fd_MsgProfileCardSet_creator = md_MsgProfileCardSet.Fields().ByName("creator") + fd_MsgProfileCardSet_cardId = md_MsgProfileCardSet.Fields().ByName("cardId") +} + +var _ protoreflect.Message = (*fastReflection_MsgProfileCardSet)(nil) + +type fastReflection_MsgProfileCardSet MsgProfileCardSet + +func (x *MsgProfileCardSet) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgProfileCardSet)(x) +} + +func (x *MsgProfileCardSet) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgProfileCardSet_messageType fastReflection_MsgProfileCardSet_messageType +var _ protoreflect.MessageType = fastReflection_MsgProfileCardSet_messageType{} + +type fastReflection_MsgProfileCardSet_messageType struct{} + +func (x fastReflection_MsgProfileCardSet_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgProfileCardSet)(nil) +} +func (x fastReflection_MsgProfileCardSet_messageType) New() protoreflect.Message { + return new(fastReflection_MsgProfileCardSet) +} +func (x fastReflection_MsgProfileCardSet_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileCardSet +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgProfileCardSet) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileCardSet +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgProfileCardSet) Type() protoreflect.MessageType { + return _fastReflection_MsgProfileCardSet_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgProfileCardSet) New() protoreflect.Message { + return new(fastReflection_MsgProfileCardSet) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgProfileCardSet) Interface() protoreflect.ProtoMessage { + return (*MsgProfileCardSet)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgProfileCardSet) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgProfileCardSet_creator, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgProfileCardSet_cardId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgProfileCardSet) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileCardSet.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgProfileCardSet.cardId": + return x.CardId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileCardSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileCardSet does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileCardSet) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileCardSet.creator": + x.Creator = "" + case "cardchain.cardchain.MsgProfileCardSet.cardId": + x.CardId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileCardSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileCardSet does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgProfileCardSet) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgProfileCardSet.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgProfileCardSet.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileCardSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileCardSet does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileCardSet) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileCardSet.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgProfileCardSet.cardId": + x.CardId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileCardSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileCardSet does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileCardSet) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileCardSet.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgProfileCardSet is not mutable")) + case "cardchain.cardchain.MsgProfileCardSet.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgProfileCardSet is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileCardSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileCardSet does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgProfileCardSet) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileCardSet.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgProfileCardSet.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileCardSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileCardSet does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgProfileCardSet) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgProfileCardSet", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgProfileCardSet) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileCardSet) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgProfileCardSet) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgProfileCardSet) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgProfileCardSet) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileCardSet) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileCardSet) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileCardSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileCardSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgProfileCardSetResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgProfileCardSetResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgProfileCardSetResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgProfileCardSetResponse)(nil) + +type fastReflection_MsgProfileCardSetResponse MsgProfileCardSetResponse + +func (x *MsgProfileCardSetResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgProfileCardSetResponse)(x) +} + +func (x *MsgProfileCardSetResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgProfileCardSetResponse_messageType fastReflection_MsgProfileCardSetResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgProfileCardSetResponse_messageType{} + +type fastReflection_MsgProfileCardSetResponse_messageType struct{} + +func (x fastReflection_MsgProfileCardSetResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgProfileCardSetResponse)(nil) +} +func (x fastReflection_MsgProfileCardSetResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgProfileCardSetResponse) +} +func (x fastReflection_MsgProfileCardSetResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileCardSetResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgProfileCardSetResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileCardSetResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgProfileCardSetResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgProfileCardSetResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgProfileCardSetResponse) New() protoreflect.Message { + return new(fastReflection_MsgProfileCardSetResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgProfileCardSetResponse) Interface() protoreflect.ProtoMessage { + return (*MsgProfileCardSetResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgProfileCardSetResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgProfileCardSetResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileCardSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileCardSetResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileCardSetResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileCardSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileCardSetResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgProfileCardSetResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileCardSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileCardSetResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileCardSetResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileCardSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileCardSetResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileCardSetResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileCardSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileCardSetResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgProfileCardSetResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileCardSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileCardSetResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgProfileCardSetResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgProfileCardSetResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgProfileCardSetResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileCardSetResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgProfileCardSetResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgProfileCardSetResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgProfileCardSetResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileCardSetResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileCardSetResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileCardSetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileCardSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgProfileWebsiteSet protoreflect.MessageDescriptor + fd_MsgProfileWebsiteSet_creator protoreflect.FieldDescriptor + fd_MsgProfileWebsiteSet_website protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgProfileWebsiteSet = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgProfileWebsiteSet") + fd_MsgProfileWebsiteSet_creator = md_MsgProfileWebsiteSet.Fields().ByName("creator") + fd_MsgProfileWebsiteSet_website = md_MsgProfileWebsiteSet.Fields().ByName("website") +} + +var _ protoreflect.Message = (*fastReflection_MsgProfileWebsiteSet)(nil) + +type fastReflection_MsgProfileWebsiteSet MsgProfileWebsiteSet + +func (x *MsgProfileWebsiteSet) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgProfileWebsiteSet)(x) +} + +func (x *MsgProfileWebsiteSet) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgProfileWebsiteSet_messageType fastReflection_MsgProfileWebsiteSet_messageType +var _ protoreflect.MessageType = fastReflection_MsgProfileWebsiteSet_messageType{} + +type fastReflection_MsgProfileWebsiteSet_messageType struct{} + +func (x fastReflection_MsgProfileWebsiteSet_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgProfileWebsiteSet)(nil) +} +func (x fastReflection_MsgProfileWebsiteSet_messageType) New() protoreflect.Message { + return new(fastReflection_MsgProfileWebsiteSet) +} +func (x fastReflection_MsgProfileWebsiteSet_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileWebsiteSet +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgProfileWebsiteSet) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileWebsiteSet +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgProfileWebsiteSet) Type() protoreflect.MessageType { + return _fastReflection_MsgProfileWebsiteSet_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgProfileWebsiteSet) New() protoreflect.Message { + return new(fastReflection_MsgProfileWebsiteSet) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgProfileWebsiteSet) Interface() protoreflect.ProtoMessage { + return (*MsgProfileWebsiteSet)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgProfileWebsiteSet) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgProfileWebsiteSet_creator, value) { + return + } + } + if x.Website != "" { + value := protoreflect.ValueOfString(x.Website) + if !f(fd_MsgProfileWebsiteSet_website, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgProfileWebsiteSet) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileWebsiteSet.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgProfileWebsiteSet.website": + return x.Website != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileWebsiteSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileWebsiteSet does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileWebsiteSet) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileWebsiteSet.creator": + x.Creator = "" + case "cardchain.cardchain.MsgProfileWebsiteSet.website": + x.Website = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileWebsiteSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileWebsiteSet does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgProfileWebsiteSet) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgProfileWebsiteSet.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgProfileWebsiteSet.website": + value := x.Website + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileWebsiteSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileWebsiteSet does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileWebsiteSet) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileWebsiteSet.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgProfileWebsiteSet.website": + x.Website = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileWebsiteSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileWebsiteSet does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileWebsiteSet) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileWebsiteSet.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgProfileWebsiteSet is not mutable")) + case "cardchain.cardchain.MsgProfileWebsiteSet.website": + panic(fmt.Errorf("field website of message cardchain.cardchain.MsgProfileWebsiteSet is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileWebsiteSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileWebsiteSet does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgProfileWebsiteSet) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileWebsiteSet.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgProfileWebsiteSet.website": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileWebsiteSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileWebsiteSet does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgProfileWebsiteSet) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgProfileWebsiteSet", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgProfileWebsiteSet) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileWebsiteSet) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgProfileWebsiteSet) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgProfileWebsiteSet) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgProfileWebsiteSet) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Website) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileWebsiteSet) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Website) > 0 { + i -= len(x.Website) + copy(dAtA[i:], x.Website) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Website))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileWebsiteSet) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileWebsiteSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileWebsiteSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Website", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Website = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgProfileWebsiteSetResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgProfileWebsiteSetResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgProfileWebsiteSetResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgProfileWebsiteSetResponse)(nil) + +type fastReflection_MsgProfileWebsiteSetResponse MsgProfileWebsiteSetResponse + +func (x *MsgProfileWebsiteSetResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgProfileWebsiteSetResponse)(x) +} + +func (x *MsgProfileWebsiteSetResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgProfileWebsiteSetResponse_messageType fastReflection_MsgProfileWebsiteSetResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgProfileWebsiteSetResponse_messageType{} + +type fastReflection_MsgProfileWebsiteSetResponse_messageType struct{} + +func (x fastReflection_MsgProfileWebsiteSetResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgProfileWebsiteSetResponse)(nil) +} +func (x fastReflection_MsgProfileWebsiteSetResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgProfileWebsiteSetResponse) +} +func (x fastReflection_MsgProfileWebsiteSetResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileWebsiteSetResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgProfileWebsiteSetResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileWebsiteSetResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgProfileWebsiteSetResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgProfileWebsiteSetResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgProfileWebsiteSetResponse) New() protoreflect.Message { + return new(fastReflection_MsgProfileWebsiteSetResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgProfileWebsiteSetResponse) Interface() protoreflect.ProtoMessage { + return (*MsgProfileWebsiteSetResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgProfileWebsiteSetResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgProfileWebsiteSetResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileWebsiteSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileWebsiteSetResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileWebsiteSetResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileWebsiteSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileWebsiteSetResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgProfileWebsiteSetResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileWebsiteSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileWebsiteSetResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileWebsiteSetResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileWebsiteSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileWebsiteSetResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileWebsiteSetResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileWebsiteSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileWebsiteSetResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgProfileWebsiteSetResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileWebsiteSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileWebsiteSetResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgProfileWebsiteSetResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgProfileWebsiteSetResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgProfileWebsiteSetResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileWebsiteSetResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgProfileWebsiteSetResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgProfileWebsiteSetResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgProfileWebsiteSetResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileWebsiteSetResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileWebsiteSetResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileWebsiteSetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileWebsiteSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgProfileBioSet protoreflect.MessageDescriptor + fd_MsgProfileBioSet_creator protoreflect.FieldDescriptor + fd_MsgProfileBioSet_bio protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgProfileBioSet = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgProfileBioSet") + fd_MsgProfileBioSet_creator = md_MsgProfileBioSet.Fields().ByName("creator") + fd_MsgProfileBioSet_bio = md_MsgProfileBioSet.Fields().ByName("bio") +} + +var _ protoreflect.Message = (*fastReflection_MsgProfileBioSet)(nil) + +type fastReflection_MsgProfileBioSet MsgProfileBioSet + +func (x *MsgProfileBioSet) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgProfileBioSet)(x) +} + +func (x *MsgProfileBioSet) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgProfileBioSet_messageType fastReflection_MsgProfileBioSet_messageType +var _ protoreflect.MessageType = fastReflection_MsgProfileBioSet_messageType{} + +type fastReflection_MsgProfileBioSet_messageType struct{} + +func (x fastReflection_MsgProfileBioSet_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgProfileBioSet)(nil) +} +func (x fastReflection_MsgProfileBioSet_messageType) New() protoreflect.Message { + return new(fastReflection_MsgProfileBioSet) +} +func (x fastReflection_MsgProfileBioSet_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileBioSet +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgProfileBioSet) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileBioSet +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgProfileBioSet) Type() protoreflect.MessageType { + return _fastReflection_MsgProfileBioSet_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgProfileBioSet) New() protoreflect.Message { + return new(fastReflection_MsgProfileBioSet) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgProfileBioSet) Interface() protoreflect.ProtoMessage { + return (*MsgProfileBioSet)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgProfileBioSet) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgProfileBioSet_creator, value) { + return + } + } + if x.Bio != "" { + value := protoreflect.ValueOfString(x.Bio) + if !f(fd_MsgProfileBioSet_bio, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgProfileBioSet) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileBioSet.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgProfileBioSet.bio": + return x.Bio != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileBioSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileBioSet does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileBioSet) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileBioSet.creator": + x.Creator = "" + case "cardchain.cardchain.MsgProfileBioSet.bio": + x.Bio = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileBioSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileBioSet does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgProfileBioSet) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgProfileBioSet.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgProfileBioSet.bio": + value := x.Bio + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileBioSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileBioSet does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileBioSet) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileBioSet.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgProfileBioSet.bio": + x.Bio = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileBioSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileBioSet does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileBioSet) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileBioSet.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgProfileBioSet is not mutable")) + case "cardchain.cardchain.MsgProfileBioSet.bio": + panic(fmt.Errorf("field bio of message cardchain.cardchain.MsgProfileBioSet is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileBioSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileBioSet does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgProfileBioSet) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileBioSet.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgProfileBioSet.bio": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileBioSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileBioSet does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgProfileBioSet) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgProfileBioSet", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgProfileBioSet) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileBioSet) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgProfileBioSet) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgProfileBioSet) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgProfileBioSet) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Bio) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileBioSet) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Bio) > 0 { + i -= len(x.Bio) + copy(dAtA[i:], x.Bio) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Bio))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileBioSet) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileBioSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileBioSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Bio", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Bio = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgProfileBioSetResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgProfileBioSetResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgProfileBioSetResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgProfileBioSetResponse)(nil) + +type fastReflection_MsgProfileBioSetResponse MsgProfileBioSetResponse + +func (x *MsgProfileBioSetResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgProfileBioSetResponse)(x) +} + +func (x *MsgProfileBioSetResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgProfileBioSetResponse_messageType fastReflection_MsgProfileBioSetResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgProfileBioSetResponse_messageType{} + +type fastReflection_MsgProfileBioSetResponse_messageType struct{} + +func (x fastReflection_MsgProfileBioSetResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgProfileBioSetResponse)(nil) +} +func (x fastReflection_MsgProfileBioSetResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgProfileBioSetResponse) +} +func (x fastReflection_MsgProfileBioSetResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileBioSetResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgProfileBioSetResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileBioSetResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgProfileBioSetResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgProfileBioSetResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgProfileBioSetResponse) New() protoreflect.Message { + return new(fastReflection_MsgProfileBioSetResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgProfileBioSetResponse) Interface() protoreflect.ProtoMessage { + return (*MsgProfileBioSetResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgProfileBioSetResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgProfileBioSetResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileBioSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileBioSetResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileBioSetResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileBioSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileBioSetResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgProfileBioSetResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileBioSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileBioSetResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileBioSetResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileBioSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileBioSetResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileBioSetResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileBioSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileBioSetResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgProfileBioSetResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileBioSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileBioSetResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgProfileBioSetResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgProfileBioSetResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgProfileBioSetResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileBioSetResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgProfileBioSetResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgProfileBioSetResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgProfileBioSetResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileBioSetResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileBioSetResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileBioSetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileBioSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgBoosterPackOpen protoreflect.MessageDescriptor + fd_MsgBoosterPackOpen_creator protoreflect.FieldDescriptor + fd_MsgBoosterPackOpen_boosterPackId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgBoosterPackOpen = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgBoosterPackOpen") + fd_MsgBoosterPackOpen_creator = md_MsgBoosterPackOpen.Fields().ByName("creator") + fd_MsgBoosterPackOpen_boosterPackId = md_MsgBoosterPackOpen.Fields().ByName("boosterPackId") +} + +var _ protoreflect.Message = (*fastReflection_MsgBoosterPackOpen)(nil) + +type fastReflection_MsgBoosterPackOpen MsgBoosterPackOpen + +func (x *MsgBoosterPackOpen) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBoosterPackOpen)(x) +} + +func (x *MsgBoosterPackOpen) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgBoosterPackOpen_messageType fastReflection_MsgBoosterPackOpen_messageType +var _ protoreflect.MessageType = fastReflection_MsgBoosterPackOpen_messageType{} + +type fastReflection_MsgBoosterPackOpen_messageType struct{} + +func (x fastReflection_MsgBoosterPackOpen_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBoosterPackOpen)(nil) +} +func (x fastReflection_MsgBoosterPackOpen_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBoosterPackOpen) +} +func (x fastReflection_MsgBoosterPackOpen_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBoosterPackOpen +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgBoosterPackOpen) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBoosterPackOpen +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgBoosterPackOpen) Type() protoreflect.MessageType { + return _fastReflection_MsgBoosterPackOpen_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgBoosterPackOpen) New() protoreflect.Message { + return new(fastReflection_MsgBoosterPackOpen) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgBoosterPackOpen) Interface() protoreflect.ProtoMessage { + return (*MsgBoosterPackOpen)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgBoosterPackOpen) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgBoosterPackOpen_creator, value) { + return + } + } + if x.BoosterPackId != uint64(0) { + value := protoreflect.ValueOfUint64(x.BoosterPackId) + if !f(fd_MsgBoosterPackOpen_boosterPackId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgBoosterPackOpen) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackOpen.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgBoosterPackOpen.boosterPackId": + return x.BoosterPackId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackOpen")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackOpen does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackOpen) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackOpen.creator": + x.Creator = "" + case "cardchain.cardchain.MsgBoosterPackOpen.boosterPackId": + x.BoosterPackId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackOpen")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackOpen does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgBoosterPackOpen) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgBoosterPackOpen.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgBoosterPackOpen.boosterPackId": + value := x.BoosterPackId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackOpen")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackOpen does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackOpen) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackOpen.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgBoosterPackOpen.boosterPackId": + x.BoosterPackId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackOpen")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackOpen does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackOpen) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackOpen.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgBoosterPackOpen is not mutable")) + case "cardchain.cardchain.MsgBoosterPackOpen.boosterPackId": + panic(fmt.Errorf("field boosterPackId of message cardchain.cardchain.MsgBoosterPackOpen is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackOpen")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackOpen does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgBoosterPackOpen) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackOpen.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgBoosterPackOpen.boosterPackId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackOpen")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackOpen does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgBoosterPackOpen) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgBoosterPackOpen", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgBoosterPackOpen) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackOpen) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgBoosterPackOpen) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgBoosterPackOpen) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgBoosterPackOpen) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.BoosterPackId != 0 { + n += 1 + runtime.Sov(uint64(x.BoosterPackId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgBoosterPackOpen) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.BoosterPackId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BoosterPackId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgBoosterPackOpen) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBoosterPackOpen: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBoosterPackOpen: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BoosterPackId", wireType) + } + x.BoosterPackId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.BoosterPackId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_MsgBoosterPackOpenResponse_1_list)(nil) + +type _MsgBoosterPackOpenResponse_1_list struct { + list *[]uint64 +} + +func (x *_MsgBoosterPackOpenResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgBoosterPackOpenResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_MsgBoosterPackOpenResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_MsgBoosterPackOpenResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgBoosterPackOpenResponse_1_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgBoosterPackOpenResponse at list field CardIds as it is not of Message kind")) +} + +func (x *_MsgBoosterPackOpenResponse_1_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_MsgBoosterPackOpenResponse_1_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_MsgBoosterPackOpenResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MsgBoosterPackOpenResponse protoreflect.MessageDescriptor + fd_MsgBoosterPackOpenResponse_cardIds protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgBoosterPackOpenResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgBoosterPackOpenResponse") + fd_MsgBoosterPackOpenResponse_cardIds = md_MsgBoosterPackOpenResponse.Fields().ByName("cardIds") +} + +var _ protoreflect.Message = (*fastReflection_MsgBoosterPackOpenResponse)(nil) + +type fastReflection_MsgBoosterPackOpenResponse MsgBoosterPackOpenResponse + +func (x *MsgBoosterPackOpenResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBoosterPackOpenResponse)(x) +} + +func (x *MsgBoosterPackOpenResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgBoosterPackOpenResponse_messageType fastReflection_MsgBoosterPackOpenResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgBoosterPackOpenResponse_messageType{} + +type fastReflection_MsgBoosterPackOpenResponse_messageType struct{} + +func (x fastReflection_MsgBoosterPackOpenResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBoosterPackOpenResponse)(nil) +} +func (x fastReflection_MsgBoosterPackOpenResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBoosterPackOpenResponse) +} +func (x fastReflection_MsgBoosterPackOpenResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBoosterPackOpenResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgBoosterPackOpenResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBoosterPackOpenResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgBoosterPackOpenResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgBoosterPackOpenResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgBoosterPackOpenResponse) New() protoreflect.Message { + return new(fastReflection_MsgBoosterPackOpenResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgBoosterPackOpenResponse) Interface() protoreflect.ProtoMessage { + return (*MsgBoosterPackOpenResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgBoosterPackOpenResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.CardIds) != 0 { + value := protoreflect.ValueOfList(&_MsgBoosterPackOpenResponse_1_list{list: &x.CardIds}) + if !f(fd_MsgBoosterPackOpenResponse_cardIds, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgBoosterPackOpenResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackOpenResponse.cardIds": + return len(x.CardIds) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackOpenResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackOpenResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackOpenResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackOpenResponse.cardIds": + x.CardIds = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackOpenResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackOpenResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgBoosterPackOpenResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgBoosterPackOpenResponse.cardIds": + if len(x.CardIds) == 0 { + return protoreflect.ValueOfList(&_MsgBoosterPackOpenResponse_1_list{}) + } + listValue := &_MsgBoosterPackOpenResponse_1_list{list: &x.CardIds} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackOpenResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackOpenResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackOpenResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackOpenResponse.cardIds": + lv := value.List() + clv := lv.(*_MsgBoosterPackOpenResponse_1_list) + x.CardIds = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackOpenResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackOpenResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackOpenResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackOpenResponse.cardIds": + if x.CardIds == nil { + x.CardIds = []uint64{} + } + value := &_MsgBoosterPackOpenResponse_1_list{list: &x.CardIds} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackOpenResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackOpenResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgBoosterPackOpenResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackOpenResponse.cardIds": + list := []uint64{} + return protoreflect.ValueOfList(&_MsgBoosterPackOpenResponse_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackOpenResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackOpenResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgBoosterPackOpenResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgBoosterPackOpenResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgBoosterPackOpenResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackOpenResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgBoosterPackOpenResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgBoosterPackOpenResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgBoosterPackOpenResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.CardIds) > 0 { + l = 0 + for _, e := range x.CardIds { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgBoosterPackOpenResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.CardIds) > 0 { + var pksize2 int + for _, num := range x.CardIds { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.CardIds { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgBoosterPackOpenResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBoosterPackOpenResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBoosterPackOpenResponse: 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.CardIds = append(x.CardIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.CardIds) == 0 { + x.CardIds = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.CardIds = append(x.CardIds, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardIds", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgBoosterPackTransfer protoreflect.MessageDescriptor + fd_MsgBoosterPackTransfer_creator protoreflect.FieldDescriptor + fd_MsgBoosterPackTransfer_boosterPackId protoreflect.FieldDescriptor + fd_MsgBoosterPackTransfer_receiver protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgBoosterPackTransfer = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgBoosterPackTransfer") + fd_MsgBoosterPackTransfer_creator = md_MsgBoosterPackTransfer.Fields().ByName("creator") + fd_MsgBoosterPackTransfer_boosterPackId = md_MsgBoosterPackTransfer.Fields().ByName("boosterPackId") + fd_MsgBoosterPackTransfer_receiver = md_MsgBoosterPackTransfer.Fields().ByName("receiver") +} + +var _ protoreflect.Message = (*fastReflection_MsgBoosterPackTransfer)(nil) + +type fastReflection_MsgBoosterPackTransfer MsgBoosterPackTransfer + +func (x *MsgBoosterPackTransfer) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBoosterPackTransfer)(x) +} + +func (x *MsgBoosterPackTransfer) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgBoosterPackTransfer_messageType fastReflection_MsgBoosterPackTransfer_messageType +var _ protoreflect.MessageType = fastReflection_MsgBoosterPackTransfer_messageType{} + +type fastReflection_MsgBoosterPackTransfer_messageType struct{} + +func (x fastReflection_MsgBoosterPackTransfer_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBoosterPackTransfer)(nil) +} +func (x fastReflection_MsgBoosterPackTransfer_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBoosterPackTransfer) +} +func (x fastReflection_MsgBoosterPackTransfer_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBoosterPackTransfer +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgBoosterPackTransfer) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBoosterPackTransfer +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgBoosterPackTransfer) Type() protoreflect.MessageType { + return _fastReflection_MsgBoosterPackTransfer_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgBoosterPackTransfer) New() protoreflect.Message { + return new(fastReflection_MsgBoosterPackTransfer) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgBoosterPackTransfer) Interface() protoreflect.ProtoMessage { + return (*MsgBoosterPackTransfer)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgBoosterPackTransfer) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgBoosterPackTransfer_creator, value) { + return + } + } + if x.BoosterPackId != uint64(0) { + value := protoreflect.ValueOfUint64(x.BoosterPackId) + if !f(fd_MsgBoosterPackTransfer_boosterPackId, value) { + return + } + } + if x.Receiver != "" { + value := protoreflect.ValueOfString(x.Receiver) + if !f(fd_MsgBoosterPackTransfer_receiver, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgBoosterPackTransfer) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackTransfer.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgBoosterPackTransfer.boosterPackId": + return x.BoosterPackId != uint64(0) + case "cardchain.cardchain.MsgBoosterPackTransfer.receiver": + return x.Receiver != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackTransfer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackTransfer does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackTransfer) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackTransfer.creator": + x.Creator = "" + case "cardchain.cardchain.MsgBoosterPackTransfer.boosterPackId": + x.BoosterPackId = uint64(0) + case "cardchain.cardchain.MsgBoosterPackTransfer.receiver": + x.Receiver = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackTransfer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackTransfer does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgBoosterPackTransfer) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgBoosterPackTransfer.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgBoosterPackTransfer.boosterPackId": + value := x.BoosterPackId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgBoosterPackTransfer.receiver": + value := x.Receiver + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackTransfer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackTransfer does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackTransfer) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackTransfer.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgBoosterPackTransfer.boosterPackId": + x.BoosterPackId = value.Uint() + case "cardchain.cardchain.MsgBoosterPackTransfer.receiver": + x.Receiver = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackTransfer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackTransfer does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackTransfer) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackTransfer.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgBoosterPackTransfer is not mutable")) + case "cardchain.cardchain.MsgBoosterPackTransfer.boosterPackId": + panic(fmt.Errorf("field boosterPackId of message cardchain.cardchain.MsgBoosterPackTransfer is not mutable")) + case "cardchain.cardchain.MsgBoosterPackTransfer.receiver": + panic(fmt.Errorf("field receiver of message cardchain.cardchain.MsgBoosterPackTransfer is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackTransfer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackTransfer does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgBoosterPackTransfer) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgBoosterPackTransfer.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgBoosterPackTransfer.boosterPackId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgBoosterPackTransfer.receiver": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackTransfer")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackTransfer does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgBoosterPackTransfer) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgBoosterPackTransfer", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgBoosterPackTransfer) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackTransfer) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgBoosterPackTransfer) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgBoosterPackTransfer) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgBoosterPackTransfer) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.BoosterPackId != 0 { + n += 1 + runtime.Sov(uint64(x.BoosterPackId)) + } + l = len(x.Receiver) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgBoosterPackTransfer) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Receiver) > 0 { + i -= len(x.Receiver) + copy(dAtA[i:], x.Receiver) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Receiver))) + i-- + dAtA[i] = 0x1a + } + if x.BoosterPackId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BoosterPackId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgBoosterPackTransfer) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBoosterPackTransfer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBoosterPackTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BoosterPackId", wireType) + } + x.BoosterPackId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.BoosterPackId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Receiver", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Receiver = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgBoosterPackTransferResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgBoosterPackTransferResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgBoosterPackTransferResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgBoosterPackTransferResponse)(nil) + +type fastReflection_MsgBoosterPackTransferResponse MsgBoosterPackTransferResponse + +func (x *MsgBoosterPackTransferResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBoosterPackTransferResponse)(x) +} + +func (x *MsgBoosterPackTransferResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgBoosterPackTransferResponse_messageType fastReflection_MsgBoosterPackTransferResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgBoosterPackTransferResponse_messageType{} + +type fastReflection_MsgBoosterPackTransferResponse_messageType struct{} + +func (x fastReflection_MsgBoosterPackTransferResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBoosterPackTransferResponse)(nil) +} +func (x fastReflection_MsgBoosterPackTransferResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBoosterPackTransferResponse) +} +func (x fastReflection_MsgBoosterPackTransferResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBoosterPackTransferResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgBoosterPackTransferResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBoosterPackTransferResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgBoosterPackTransferResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgBoosterPackTransferResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgBoosterPackTransferResponse) New() protoreflect.Message { + return new(fastReflection_MsgBoosterPackTransferResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgBoosterPackTransferResponse) Interface() protoreflect.ProtoMessage { + return (*MsgBoosterPackTransferResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgBoosterPackTransferResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgBoosterPackTransferResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackTransferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackTransferResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackTransferResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackTransferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackTransferResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgBoosterPackTransferResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackTransferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackTransferResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackTransferResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackTransferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackTransferResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackTransferResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackTransferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackTransferResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgBoosterPackTransferResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBoosterPackTransferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBoosterPackTransferResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgBoosterPackTransferResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgBoosterPackTransferResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgBoosterPackTransferResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBoosterPackTransferResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgBoosterPackTransferResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgBoosterPackTransferResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgBoosterPackTransferResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgBoosterPackTransferResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgBoosterPackTransferResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBoosterPackTransferResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBoosterPackTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetStoryWriterSet protoreflect.MessageDescriptor + fd_MsgSetStoryWriterSet_creator protoreflect.FieldDescriptor + fd_MsgSetStoryWriterSet_setId protoreflect.FieldDescriptor + fd_MsgSetStoryWriterSet_storyWriter protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetStoryWriterSet = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetStoryWriterSet") + fd_MsgSetStoryWriterSet_creator = md_MsgSetStoryWriterSet.Fields().ByName("creator") + fd_MsgSetStoryWriterSet_setId = md_MsgSetStoryWriterSet.Fields().ByName("setId") + fd_MsgSetStoryWriterSet_storyWriter = md_MsgSetStoryWriterSet.Fields().ByName("storyWriter") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetStoryWriterSet)(nil) + +type fastReflection_MsgSetStoryWriterSet MsgSetStoryWriterSet + +func (x *MsgSetStoryWriterSet) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetStoryWriterSet)(x) +} + +func (x *MsgSetStoryWriterSet) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[72] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetStoryWriterSet_messageType fastReflection_MsgSetStoryWriterSet_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetStoryWriterSet_messageType{} + +type fastReflection_MsgSetStoryWriterSet_messageType struct{} + +func (x fastReflection_MsgSetStoryWriterSet_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetStoryWriterSet)(nil) +} +func (x fastReflection_MsgSetStoryWriterSet_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetStoryWriterSet) +} +func (x fastReflection_MsgSetStoryWriterSet_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetStoryWriterSet +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetStoryWriterSet) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetStoryWriterSet +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetStoryWriterSet) Type() protoreflect.MessageType { + return _fastReflection_MsgSetStoryWriterSet_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetStoryWriterSet) New() protoreflect.Message { + return new(fastReflection_MsgSetStoryWriterSet) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetStoryWriterSet) Interface() protoreflect.ProtoMessage { + return (*MsgSetStoryWriterSet)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetStoryWriterSet) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSetStoryWriterSet_creator, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgSetStoryWriterSet_setId, value) { + return + } + } + if x.StoryWriter != "" { + value := protoreflect.ValueOfString(x.StoryWriter) + if !f(fd_MsgSetStoryWriterSet_storyWriter, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetStoryWriterSet) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetStoryWriterSet.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSetStoryWriterSet.setId": + return x.SetId != uint64(0) + case "cardchain.cardchain.MsgSetStoryWriterSet.storyWriter": + return x.StoryWriter != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryWriterSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryWriterSet does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryWriterSet) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetStoryWriterSet.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSetStoryWriterSet.setId": + x.SetId = uint64(0) + case "cardchain.cardchain.MsgSetStoryWriterSet.storyWriter": + x.StoryWriter = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryWriterSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryWriterSet does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetStoryWriterSet) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSetStoryWriterSet.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetStoryWriterSet.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgSetStoryWriterSet.storyWriter": + value := x.StoryWriter + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryWriterSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryWriterSet does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryWriterSet) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetStoryWriterSet.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSetStoryWriterSet.setId": + x.SetId = value.Uint() + case "cardchain.cardchain.MsgSetStoryWriterSet.storyWriter": + x.StoryWriter = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryWriterSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryWriterSet does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryWriterSet) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetStoryWriterSet.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSetStoryWriterSet is not mutable")) + case "cardchain.cardchain.MsgSetStoryWriterSet.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgSetStoryWriterSet is not mutable")) + case "cardchain.cardchain.MsgSetStoryWriterSet.storyWriter": + panic(fmt.Errorf("field storyWriter of message cardchain.cardchain.MsgSetStoryWriterSet is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryWriterSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryWriterSet does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetStoryWriterSet) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetStoryWriterSet.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetStoryWriterSet.setId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgSetStoryWriterSet.storyWriter": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryWriterSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryWriterSet does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetStoryWriterSet) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetStoryWriterSet", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetStoryWriterSet) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryWriterSet) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetStoryWriterSet) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetStoryWriterSet) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetStoryWriterSet) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + l = len(x.StoryWriter) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetStoryWriterSet) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.StoryWriter) > 0 { + i -= len(x.StoryWriter) + copy(dAtA[i:], x.StoryWriter) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.StoryWriter))) + i-- + dAtA[i] = 0x1a + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetStoryWriterSet) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetStoryWriterSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetStoryWriterSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field StoryWriter", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.StoryWriter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetStoryWriterSetResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetStoryWriterSetResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetStoryWriterSetResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetStoryWriterSetResponse)(nil) + +type fastReflection_MsgSetStoryWriterSetResponse MsgSetStoryWriterSetResponse + +func (x *MsgSetStoryWriterSetResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetStoryWriterSetResponse)(x) +} + +func (x *MsgSetStoryWriterSetResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetStoryWriterSetResponse_messageType fastReflection_MsgSetStoryWriterSetResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetStoryWriterSetResponse_messageType{} + +type fastReflection_MsgSetStoryWriterSetResponse_messageType struct{} + +func (x fastReflection_MsgSetStoryWriterSetResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetStoryWriterSetResponse)(nil) +} +func (x fastReflection_MsgSetStoryWriterSetResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetStoryWriterSetResponse) +} +func (x fastReflection_MsgSetStoryWriterSetResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetStoryWriterSetResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetStoryWriterSetResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetStoryWriterSetResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetStoryWriterSetResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetStoryWriterSetResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetStoryWriterSetResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetStoryWriterSetResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetStoryWriterSetResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetStoryWriterSetResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetStoryWriterSetResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetStoryWriterSetResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryWriterSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryWriterSetResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryWriterSetResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryWriterSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryWriterSetResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetStoryWriterSetResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryWriterSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryWriterSetResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryWriterSetResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryWriterSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryWriterSetResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryWriterSetResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryWriterSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryWriterSetResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetStoryWriterSetResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetStoryWriterSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetStoryWriterSetResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetStoryWriterSetResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetStoryWriterSetResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetStoryWriterSetResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetStoryWriterSetResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetStoryWriterSetResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetStoryWriterSetResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetStoryWriterSetResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetStoryWriterSetResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetStoryWriterSetResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetStoryWriterSetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetStoryWriterSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetArtistSet protoreflect.MessageDescriptor + fd_MsgSetArtistSet_creator protoreflect.FieldDescriptor + fd_MsgSetArtistSet_setId protoreflect.FieldDescriptor + fd_MsgSetArtistSet_artist protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetArtistSet = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetArtistSet") + fd_MsgSetArtistSet_creator = md_MsgSetArtistSet.Fields().ByName("creator") + fd_MsgSetArtistSet_setId = md_MsgSetArtistSet.Fields().ByName("setId") + fd_MsgSetArtistSet_artist = md_MsgSetArtistSet.Fields().ByName("artist") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetArtistSet)(nil) + +type fastReflection_MsgSetArtistSet MsgSetArtistSet + +func (x *MsgSetArtistSet) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetArtistSet)(x) +} + +func (x *MsgSetArtistSet) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[74] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetArtistSet_messageType fastReflection_MsgSetArtistSet_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetArtistSet_messageType{} + +type fastReflection_MsgSetArtistSet_messageType struct{} + +func (x fastReflection_MsgSetArtistSet_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetArtistSet)(nil) +} +func (x fastReflection_MsgSetArtistSet_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetArtistSet) +} +func (x fastReflection_MsgSetArtistSet_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetArtistSet +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetArtistSet) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetArtistSet +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetArtistSet) Type() protoreflect.MessageType { + return _fastReflection_MsgSetArtistSet_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetArtistSet) New() protoreflect.Message { + return new(fastReflection_MsgSetArtistSet) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetArtistSet) Interface() protoreflect.ProtoMessage { + return (*MsgSetArtistSet)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetArtistSet) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSetArtistSet_creator, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgSetArtistSet_setId, value) { + return + } + } + if x.Artist != "" { + value := protoreflect.ValueOfString(x.Artist) + if !f(fd_MsgSetArtistSet_artist, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetArtistSet) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetArtistSet.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSetArtistSet.setId": + return x.SetId != uint64(0) + case "cardchain.cardchain.MsgSetArtistSet.artist": + return x.Artist != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtistSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtistSet does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtistSet) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetArtistSet.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSetArtistSet.setId": + x.SetId = uint64(0) + case "cardchain.cardchain.MsgSetArtistSet.artist": + x.Artist = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtistSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtistSet does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetArtistSet) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSetArtistSet.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetArtistSet.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgSetArtistSet.artist": + value := x.Artist + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtistSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtistSet does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtistSet) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetArtistSet.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSetArtistSet.setId": + x.SetId = value.Uint() + case "cardchain.cardchain.MsgSetArtistSet.artist": + x.Artist = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtistSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtistSet does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtistSet) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetArtistSet.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSetArtistSet is not mutable")) + case "cardchain.cardchain.MsgSetArtistSet.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgSetArtistSet is not mutable")) + case "cardchain.cardchain.MsgSetArtistSet.artist": + panic(fmt.Errorf("field artist of message cardchain.cardchain.MsgSetArtistSet is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtistSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtistSet does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetArtistSet) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetArtistSet.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetArtistSet.setId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgSetArtistSet.artist": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtistSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtistSet does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetArtistSet) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetArtistSet", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetArtistSet) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtistSet) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetArtistSet) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetArtistSet) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetArtistSet) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + l = len(x.Artist) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetArtistSet) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Artist) > 0 { + i -= len(x.Artist) + copy(dAtA[i:], x.Artist) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Artist))) + i-- + dAtA[i] = 0x1a + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetArtistSet) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetArtistSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetArtistSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Artist = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetArtistSetResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetArtistSetResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetArtistSetResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetArtistSetResponse)(nil) + +type fastReflection_MsgSetArtistSetResponse MsgSetArtistSetResponse + +func (x *MsgSetArtistSetResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetArtistSetResponse)(x) +} + +func (x *MsgSetArtistSetResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[75] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetArtistSetResponse_messageType fastReflection_MsgSetArtistSetResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetArtistSetResponse_messageType{} + +type fastReflection_MsgSetArtistSetResponse_messageType struct{} + +func (x fastReflection_MsgSetArtistSetResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetArtistSetResponse)(nil) +} +func (x fastReflection_MsgSetArtistSetResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetArtistSetResponse) +} +func (x fastReflection_MsgSetArtistSetResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetArtistSetResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetArtistSetResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetArtistSetResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetArtistSetResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetArtistSetResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetArtistSetResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetArtistSetResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetArtistSetResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetArtistSetResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetArtistSetResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetArtistSetResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtistSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtistSetResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtistSetResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtistSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtistSetResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetArtistSetResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtistSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtistSetResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtistSetResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtistSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtistSetResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtistSetResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtistSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtistSetResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetArtistSetResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetArtistSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetArtistSetResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetArtistSetResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetArtistSetResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetArtistSetResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetArtistSetResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetArtistSetResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetArtistSetResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetArtistSetResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetArtistSetResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetArtistSetResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetArtistSetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetArtistSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_MsgCardVoteMulti_2_list)(nil) + +type _MsgCardVoteMulti_2_list struct { + list *[]*SingleVote +} + +func (x *_MsgCardVoteMulti_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgCardVoteMulti_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_MsgCardVoteMulti_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*SingleVote) + (*x.list)[i] = concreteValue +} + +func (x *_MsgCardVoteMulti_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*SingleVote) + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgCardVoteMulti_2_list) AppendMutable() protoreflect.Value { + v := new(SingleVote) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgCardVoteMulti_2_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_MsgCardVoteMulti_2_list) NewElement() protoreflect.Value { + v := new(SingleVote) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgCardVoteMulti_2_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MsgCardVoteMulti protoreflect.MessageDescriptor + fd_MsgCardVoteMulti_creator protoreflect.FieldDescriptor + fd_MsgCardVoteMulti_votes protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardVoteMulti = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardVoteMulti") + fd_MsgCardVoteMulti_creator = md_MsgCardVoteMulti.Fields().ByName("creator") + fd_MsgCardVoteMulti_votes = md_MsgCardVoteMulti.Fields().ByName("votes") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardVoteMulti)(nil) + +type fastReflection_MsgCardVoteMulti MsgCardVoteMulti + +func (x *MsgCardVoteMulti) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardVoteMulti)(x) +} + +func (x *MsgCardVoteMulti) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[76] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardVoteMulti_messageType fastReflection_MsgCardVoteMulti_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardVoteMulti_messageType{} + +type fastReflection_MsgCardVoteMulti_messageType struct{} + +func (x fastReflection_MsgCardVoteMulti_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardVoteMulti)(nil) +} +func (x fastReflection_MsgCardVoteMulti_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardVoteMulti) +} +func (x fastReflection_MsgCardVoteMulti_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardVoteMulti +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardVoteMulti) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardVoteMulti +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardVoteMulti) Type() protoreflect.MessageType { + return _fastReflection_MsgCardVoteMulti_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardVoteMulti) New() protoreflect.Message { + return new(fastReflection_MsgCardVoteMulti) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardVoteMulti) Interface() protoreflect.ProtoMessage { + return (*MsgCardVoteMulti)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardVoteMulti) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCardVoteMulti_creator, value) { + return + } + } + if len(x.Votes) != 0 { + value := protoreflect.ValueOfList(&_MsgCardVoteMulti_2_list{list: &x.Votes}) + if !f(fd_MsgCardVoteMulti_votes, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardVoteMulti) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteMulti.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCardVoteMulti.votes": + return len(x.Votes) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteMulti")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteMulti does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVoteMulti) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteMulti.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCardVoteMulti.votes": + x.Votes = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteMulti")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteMulti does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardVoteMulti) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardVoteMulti.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardVoteMulti.votes": + if len(x.Votes) == 0 { + return protoreflect.ValueOfList(&_MsgCardVoteMulti_2_list{}) + } + listValue := &_MsgCardVoteMulti_2_list{list: &x.Votes} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteMulti")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteMulti does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVoteMulti) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteMulti.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCardVoteMulti.votes": + lv := value.List() + clv := lv.(*_MsgCardVoteMulti_2_list) + x.Votes = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteMulti")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteMulti does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVoteMulti) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteMulti.votes": + if x.Votes == nil { + x.Votes = []*SingleVote{} + } + value := &_MsgCardVoteMulti_2_list{list: &x.Votes} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.MsgCardVoteMulti.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCardVoteMulti is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteMulti")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteMulti does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardVoteMulti) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteMulti.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardVoteMulti.votes": + list := []*SingleVote{} + return protoreflect.ValueOfList(&_MsgCardVoteMulti_2_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteMulti")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteMulti does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardVoteMulti) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardVoteMulti", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardVoteMulti) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVoteMulti) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardVoteMulti) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardVoteMulti) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardVoteMulti) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Votes) > 0 { + for _, e := range x.Votes { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardVoteMulti) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Votes) > 0 { + for iNdEx := len(x.Votes) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Votes[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardVoteMulti) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardVoteMulti: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardVoteMulti: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Votes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Votes = append(x.Votes, &SingleVote{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Votes[len(x.Votes)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardVoteMultiResponse protoreflect.MessageDescriptor + fd_MsgCardVoteMultiResponse_airdropClaimed protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardVoteMultiResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardVoteMultiResponse") + fd_MsgCardVoteMultiResponse_airdropClaimed = md_MsgCardVoteMultiResponse.Fields().ByName("airdropClaimed") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardVoteMultiResponse)(nil) + +type fastReflection_MsgCardVoteMultiResponse MsgCardVoteMultiResponse + +func (x *MsgCardVoteMultiResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardVoteMultiResponse)(x) +} + +func (x *MsgCardVoteMultiResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[77] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardVoteMultiResponse_messageType fastReflection_MsgCardVoteMultiResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardVoteMultiResponse_messageType{} + +type fastReflection_MsgCardVoteMultiResponse_messageType struct{} + +func (x fastReflection_MsgCardVoteMultiResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardVoteMultiResponse)(nil) +} +func (x fastReflection_MsgCardVoteMultiResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardVoteMultiResponse) +} +func (x fastReflection_MsgCardVoteMultiResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardVoteMultiResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardVoteMultiResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardVoteMultiResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardVoteMultiResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCardVoteMultiResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardVoteMultiResponse) New() protoreflect.Message { + return new(fastReflection_MsgCardVoteMultiResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardVoteMultiResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCardVoteMultiResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardVoteMultiResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.AirdropClaimed != false { + value := protoreflect.ValueOfBool(x.AirdropClaimed) + if !f(fd_MsgCardVoteMultiResponse_airdropClaimed, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardVoteMultiResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteMultiResponse.airdropClaimed": + return x.AirdropClaimed != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteMultiResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteMultiResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVoteMultiResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteMultiResponse.airdropClaimed": + x.AirdropClaimed = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteMultiResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteMultiResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardVoteMultiResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardVoteMultiResponse.airdropClaimed": + value := x.AirdropClaimed + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteMultiResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteMultiResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVoteMultiResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteMultiResponse.airdropClaimed": + x.AirdropClaimed = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteMultiResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteMultiResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVoteMultiResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteMultiResponse.airdropClaimed": + panic(fmt.Errorf("field airdropClaimed of message cardchain.cardchain.MsgCardVoteMultiResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteMultiResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteMultiResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardVoteMultiResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardVoteMultiResponse.airdropClaimed": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardVoteMultiResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardVoteMultiResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardVoteMultiResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardVoteMultiResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardVoteMultiResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardVoteMultiResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardVoteMultiResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardVoteMultiResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardVoteMultiResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.AirdropClaimed { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardVoteMultiResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.AirdropClaimed { + i-- + if x.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardVoteMultiResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardVoteMultiResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardVoteMultiResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AirdropClaimed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.AirdropClaimed = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 // protoc (unknown) // source: cardchain/cardchain/tx.proto -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// MsgUpdateParams is the Msg/UpdateParams request type. +type MsgUpdateParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address that controls the module (defaults to x/gov unless + // overwritten). + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // NOTE: All parameters must be supplied. + Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *MsgUpdateParams) Reset() { + *x = MsgUpdateParams{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParams) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{0} +} + +func (x *MsgUpdateParams) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgUpdateParams) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +type MsgUpdateParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUpdateParamsResponse) Reset() { + *x = MsgUpdateParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParamsResponse) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{1} +} + +type MsgUserCreate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + NewUser string `protobuf:"bytes,2,opt,name=newUser,proto3" json:"newUser,omitempty"` + Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` +} + +func (x *MsgUserCreate) Reset() { + *x = MsgUserCreate{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUserCreate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUserCreate) ProtoMessage() {} + +// Deprecated: Use MsgUserCreate.ProtoReflect.Descriptor instead. +func (*MsgUserCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{2} +} + +func (x *MsgUserCreate) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgUserCreate) GetNewUser() string { + if x != nil { + return x.NewUser + } + return "" +} + +func (x *MsgUserCreate) GetAlias() string { + if x != nil { + return x.Alias + } + return "" +} + +type MsgUserCreateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUserCreateResponse) Reset() { + *x = MsgUserCreateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUserCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUserCreateResponse) ProtoMessage() {} + +// Deprecated: Use MsgUserCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgUserCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{3} +} + +type MsgCardSchemeBuy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Bid *v1beta1.Coin `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid,omitempty"` +} + +func (x *MsgCardSchemeBuy) Reset() { + *x = MsgCardSchemeBuy{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSchemeBuy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSchemeBuy) ProtoMessage() {} + +// Deprecated: Use MsgCardSchemeBuy.ProtoReflect.Descriptor instead. +func (*MsgCardSchemeBuy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{4} +} + +func (x *MsgCardSchemeBuy) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardSchemeBuy) GetBid() *v1beta1.Coin { + if x != nil { + return x.Bid + } + return nil +} + +type MsgCardSchemeBuyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (x *MsgCardSchemeBuyResponse) Reset() { + *x = MsgCardSchemeBuyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSchemeBuyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSchemeBuyResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardSchemeBuyResponse.ProtoReflect.Descriptor instead. +func (*MsgCardSchemeBuyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{5} +} + +func (x *MsgCardSchemeBuyResponse) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +type MsgCardSaveContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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 (x *MsgCardSaveContent) Reset() { + *x = MsgCardSaveContent{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSaveContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSaveContent) ProtoMessage() {} + +// Deprecated: Use MsgCardSaveContent.ProtoReflect.Descriptor instead. +func (*MsgCardSaveContent) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{6} +} + +func (x *MsgCardSaveContent) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardSaveContent) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardSaveContent) GetContent() []byte { + if x != nil { + return x.Content + } + return nil +} + +func (x *MsgCardSaveContent) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +func (x *MsgCardSaveContent) GetArtist() string { + if x != nil { + return x.Artist + } + return "" +} + +func (x *MsgCardSaveContent) GetBalanceAnchor() bool { + if x != nil { + return x.BalanceAnchor + } + return false +} + +type MsgCardSaveContentResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (x *MsgCardSaveContentResponse) Reset() { + *x = MsgCardSaveContentResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSaveContentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSaveContentResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardSaveContentResponse.ProtoReflect.Descriptor instead. +func (*MsgCardSaveContentResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{7} +} + +func (x *MsgCardSaveContentResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgCardVote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Vote *SingleVote `protobuf:"bytes,2,opt,name=vote,proto3" json:"vote,omitempty"` +} + +func (x *MsgCardVote) Reset() { + *x = MsgCardVote{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardVote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardVote) ProtoMessage() {} + +// Deprecated: Use MsgCardVote.ProtoReflect.Descriptor instead. +func (*MsgCardVote) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{8} +} + +func (x *MsgCardVote) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardVote) GetVote() *SingleVote { + if x != nil { + return x.Vote + } + return nil +} + +type MsgCardVoteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (x *MsgCardVoteResponse) Reset() { + *x = MsgCardVoteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardVoteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardVoteResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardVoteResponse.ProtoReflect.Descriptor instead. +func (*MsgCardVoteResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{9} +} + +func (x *MsgCardVoteResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgCardTransfer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` +} + +func (x *MsgCardTransfer) Reset() { + *x = MsgCardTransfer{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardTransfer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardTransfer) ProtoMessage() {} + +// Deprecated: Use MsgCardTransfer.ProtoReflect.Descriptor instead. +func (*MsgCardTransfer) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{10} +} + +func (x *MsgCardTransfer) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardTransfer) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardTransfer) GetReceiver() string { + if x != nil { + return x.Receiver + } + return "" +} + +type MsgCardTransferResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCardTransferResponse) Reset() { + *x = MsgCardTransferResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardTransferResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardTransferResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardTransferResponse.ProtoReflect.Descriptor instead. +func (*MsgCardTransferResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{11} +} + +type MsgCardDonate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgCardDonate) Reset() { + *x = MsgCardDonate{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardDonate) String() string { + return protoimpl.X.MessageStringOf(x) +} -// MsgUpdateParams is the Msg/UpdateParams request type. -type MsgUpdateParams struct { +func (*MsgCardDonate) ProtoMessage() {} + +// Deprecated: Use MsgCardDonate.ProtoReflect.Descriptor instead. +func (*MsgCardDonate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{12} +} + +func (x *MsgCardDonate) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardDonate) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardDonate) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +type MsgCardDonateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields +} - // authority is the address that controls the module (defaults to x/gov unless - // overwritten). - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // NOTE: All parameters must be supplied. - Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +func (x *MsgCardDonateResponse) Reset() { + *x = MsgCardDonateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (x *MsgUpdateParams) Reset() { - *x = MsgUpdateParams{} +func (x *MsgCardDonateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardDonateResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardDonateResponse.ProtoReflect.Descriptor instead. +func (*MsgCardDonateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{13} +} + +type MsgCardArtworkAdd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + FullArt bool `protobuf:"varint,4,opt,name=fullArt,proto3" json:"fullArt,omitempty"` +} + +func (x *MsgCardArtworkAdd) Reset() { + *x = MsgCardArtworkAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[0] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUpdateParams) String() string { +func (x *MsgCardArtworkAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgCardArtworkAdd) ProtoMessage() {} -// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. -func (*MsgUpdateParams) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{0} +// Deprecated: Use MsgCardArtworkAdd.ProtoReflect.Descriptor instead. +func (*MsgCardArtworkAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{14} } -func (x *MsgUpdateParams) GetAuthority() string { +func (x *MsgCardArtworkAdd) GetCreator() string { if x != nil { - return x.Authority + return x.Creator } return "" } -func (x *MsgUpdateParams) GetParams() *Params { +func (x *MsgCardArtworkAdd) GetCardId() uint64 { if x != nil { - return x.Params + return x.CardId + } + return 0 +} + +func (x *MsgCardArtworkAdd) GetImage() []byte { + if x != nil { + return x.Image } return nil } -// MsgUpdateParamsResponse defines the response structure for executing a -// MsgUpdateParams message. -type MsgUpdateParamsResponse struct { +func (x *MsgCardArtworkAdd) GetFullArt() bool { + if x != nil { + return x.FullArt + } + return false +} + +type MsgCardArtworkAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgUpdateParamsResponse) Reset() { - *x = MsgUpdateParamsResponse{} +func (x *MsgCardArtworkAddResponse) Reset() { + *x = MsgCardArtworkAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[1] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUpdateParamsResponse) String() string { +func (x *MsgCardArtworkAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgCardArtworkAddResponse) ProtoMessage() {} -// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. -func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{1} +// Deprecated: Use MsgCardArtworkAddResponse.ProtoReflect.Descriptor instead. +func (*MsgCardArtworkAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{15} } -type MsgUserCreate struct { +type MsgCardArtistChange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - NewUser string `protobuf:"bytes,2,opt,name=newUser,proto3" json:"newUser,omitempty"` - Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,omitempty"` } -func (x *MsgUserCreate) Reset() { - *x = MsgUserCreate{} +func (x *MsgCardArtistChange) Reset() { + *x = MsgCardArtistChange{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[2] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUserCreate) String() string { +func (x *MsgCardArtistChange) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUserCreate) ProtoMessage() {} +func (*MsgCardArtistChange) ProtoMessage() {} -// Deprecated: Use MsgUserCreate.ProtoReflect.Descriptor instead. -func (*MsgUserCreate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{2} +// Deprecated: Use MsgCardArtistChange.ProtoReflect.Descriptor instead. +func (*MsgCardArtistChange) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{16} } -func (x *MsgUserCreate) GetCreator() string { +func (x *MsgCardArtistChange) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgUserCreate) GetNewUser() string { +func (x *MsgCardArtistChange) GetCardId() uint64 { if x != nil { - return x.NewUser + return x.CardId } - return "" + return 0 } -func (x *MsgUserCreate) GetAlias() string { +func (x *MsgCardArtistChange) GetArtist() string { if x != nil { - return x.Alias + return x.Artist } return "" } -type MsgUserCreateResponse struct { +type MsgCardArtistChangeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgUserCreateResponse) Reset() { - *x = MsgUserCreateResponse{} +func (x *MsgCardArtistChangeResponse) Reset() { + *x = MsgCardArtistChangeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[3] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUserCreateResponse) String() string { +func (x *MsgCardArtistChangeResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUserCreateResponse) ProtoMessage() {} +func (*MsgCardArtistChangeResponse) ProtoMessage() {} -// Deprecated: Use MsgUserCreateResponse.ProtoReflect.Descriptor instead. -func (*MsgUserCreateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{3} +// Deprecated: Use MsgCardArtistChangeResponse.ProtoReflect.Descriptor instead. +func (*MsgCardArtistChangeResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{17} } -type MsgCardSchemeBuy struct { +type MsgCouncilRegister struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Bid *v1beta1.Coin `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` +} + +func (x *MsgCouncilRegister) Reset() { + *x = MsgCouncilRegister{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCouncilRegister) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilRegister) ProtoMessage() {} + +// Deprecated: Use MsgCouncilRegister.ProtoReflect.Descriptor instead. +func (*MsgCouncilRegister) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{18} +} + +func (x *MsgCouncilRegister) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +type MsgCouncilRegisterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCouncilRegisterResponse) Reset() { + *x = MsgCouncilRegisterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCouncilRegisterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilRegisterResponse) ProtoMessage() {} + +// Deprecated: Use MsgCouncilRegisterResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilRegisterResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{19} +} + +type MsgCouncilDeregister struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` } -func (x *MsgCardSchemeBuy) Reset() { - *x = MsgCardSchemeBuy{} +func (x *MsgCouncilDeregister) Reset() { + *x = MsgCouncilDeregister{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[4] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSchemeBuy) String() string { +func (x *MsgCouncilDeregister) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSchemeBuy) ProtoMessage() {} +func (*MsgCouncilDeregister) ProtoMessage() {} -// Deprecated: Use MsgCardSchemeBuy.ProtoReflect.Descriptor instead. -func (*MsgCardSchemeBuy) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{4} +// Deprecated: Use MsgCouncilDeregister.ProtoReflect.Descriptor instead. +func (*MsgCouncilDeregister) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{20} } -func (x *MsgCardSchemeBuy) GetCreator() string { +func (x *MsgCouncilDeregister) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardSchemeBuy) GetBid() *v1beta1.Coin { - if x != nil { - return x.Bid - } - return nil -} - -type MsgCardSchemeBuyResponse struct { +type MsgCouncilDeregisterResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` } -func (x *MsgCardSchemeBuyResponse) Reset() { - *x = MsgCardSchemeBuyResponse{} +func (x *MsgCouncilDeregisterResponse) Reset() { + *x = MsgCouncilDeregisterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[5] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSchemeBuyResponse) String() string { +func (x *MsgCouncilDeregisterResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSchemeBuyResponse) ProtoMessage() {} - -// Deprecated: Use MsgCardSchemeBuyResponse.ProtoReflect.Descriptor instead. -func (*MsgCardSchemeBuyResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{5} -} +func (*MsgCouncilDeregisterResponse) ProtoMessage() {} -func (x *MsgCardSchemeBuyResponse) GetCardId() uint64 { - if x != nil { - return x.CardId - } - return 0 +// Deprecated: Use MsgCouncilDeregisterResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilDeregisterResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{21} } -type MsgCardSaveContent struct { +type MsgMatchReport struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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"` + 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=cardchain.cardchain.Outcome" json:"outcome,omitempty"` } -func (x *MsgCardSaveContent) Reset() { - *x = MsgCardSaveContent{} +func (x *MsgMatchReport) Reset() { + *x = MsgMatchReport{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[6] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSaveContent) String() string { +func (x *MsgMatchReport) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSaveContent) ProtoMessage() {} +func (*MsgMatchReport) ProtoMessage() {} -// Deprecated: Use MsgCardSaveContent.ProtoReflect.Descriptor instead. -func (*MsgCardSaveContent) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{6} +// Deprecated: Use MsgMatchReport.ProtoReflect.Descriptor instead. +func (*MsgMatchReport) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{22} } -func (x *MsgCardSaveContent) GetCreator() string { +func (x *MsgMatchReport) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardSaveContent) GetCardId() uint64 { +func (x *MsgMatchReport) GetMatchId() uint64 { if x != nil { - return x.CardId + return x.MatchId } return 0 } -func (x *MsgCardSaveContent) GetContent() []byte { +func (x *MsgMatchReport) GetPlayedCardsA() []uint64 { if x != nil { - return x.Content + return x.PlayedCardsA } return nil } -func (x *MsgCardSaveContent) GetNotes() string { - if x != nil { - return x.Notes - } - return "" -} - -func (x *MsgCardSaveContent) GetArtist() string { +func (x *MsgMatchReport) GetPlayedCardsB() []uint64 { if x != nil { - return x.Artist + return x.PlayedCardsB } - return "" + return nil } -func (x *MsgCardSaveContent) GetBalanceAnchor() bool { +func (x *MsgMatchReport) GetOutcome() Outcome { if x != nil { - return x.BalanceAnchor + return x.Outcome } - return false + return Outcome_AWon } -type MsgCardSaveContentResponse struct { +type MsgMatchReportResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgCardSaveContentResponse) Reset() { - *x = MsgCardSaveContentResponse{} +func (x *MsgMatchReportResponse) Reset() { + *x = MsgMatchReportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[7] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSaveContentResponse) String() string { +func (x *MsgMatchReportResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSaveContentResponse) ProtoMessage() {} - -// Deprecated: Use MsgCardSaveContentResponse.ProtoReflect.Descriptor instead. -func (*MsgCardSaveContentResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{7} -} +func (*MsgMatchReportResponse) ProtoMessage() {} -func (x *MsgCardSaveContentResponse) GetAirdropClaimed() bool { - if x != nil { - return x.AirdropClaimed - } - return false +// Deprecated: Use MsgMatchReportResponse.ProtoReflect.Descriptor instead. +func (*MsgMatchReportResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{23} } -type MsgCardVote struct { +type MsgCouncilCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Vote *SingleVote `protobuf:"bytes,2,opt,name=vote,proto3" json:"vote,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"` } -func (x *MsgCardVote) Reset() { - *x = MsgCardVote{} +func (x *MsgCouncilCreate) Reset() { + *x = MsgCouncilCreate{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[8] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardVote) String() string { +func (x *MsgCouncilCreate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardVote) ProtoMessage() {} +func (*MsgCouncilCreate) ProtoMessage() {} -// Deprecated: Use MsgCardVote.ProtoReflect.Descriptor instead. -func (*MsgCardVote) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{8} +// Deprecated: Use MsgCouncilCreate.ProtoReflect.Descriptor instead. +func (*MsgCouncilCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{24} } -func (x *MsgCardVote) GetCreator() string { +func (x *MsgCouncilCreate) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardVote) GetVote() *SingleVote { +func (x *MsgCouncilCreate) GetCardId() uint64 { if x != nil { - return x.Vote + return x.CardId } - return nil + return 0 } -type MsgCardVoteResponse struct { +type MsgCouncilCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgCardVoteResponse) Reset() { - *x = MsgCardVoteResponse{} +func (x *MsgCouncilCreateResponse) Reset() { + *x = MsgCouncilCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[9] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardVoteResponse) String() string { +func (x *MsgCouncilCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardVoteResponse) ProtoMessage() {} - -// Deprecated: Use MsgCardVoteResponse.ProtoReflect.Descriptor instead. -func (*MsgCardVoteResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{9} -} +func (*MsgCouncilCreateResponse) ProtoMessage() {} -func (x *MsgCardVoteResponse) GetAirdropClaimed() bool { - if x != nil { - return x.AirdropClaimed - } - return false +// Deprecated: Use MsgCouncilCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{25} } -type MsgCardTransfer struct { +type MsgMatchReporterAppoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` + Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"` } -func (x *MsgCardTransfer) Reset() { - *x = MsgCardTransfer{} +func (x *MsgMatchReporterAppoint) Reset() { + *x = MsgMatchReporterAppoint{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[10] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardTransfer) String() string { +func (x *MsgMatchReporterAppoint) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardTransfer) ProtoMessage() {} +func (*MsgMatchReporterAppoint) ProtoMessage() {} -// Deprecated: Use MsgCardTransfer.ProtoReflect.Descriptor instead. -func (*MsgCardTransfer) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{10} +// Deprecated: Use MsgMatchReporterAppoint.ProtoReflect.Descriptor instead. +func (*MsgMatchReporterAppoint) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{26} } -func (x *MsgCardTransfer) GetCreator() string { +func (x *MsgMatchReporterAppoint) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardTransfer) GetCardId() uint64 { - if x != nil { - return x.CardId - } - return 0 -} - -func (x *MsgCardTransfer) GetReceiver() string { +func (x *MsgMatchReporterAppoint) GetReporter() string { if x != nil { - return x.Receiver + return x.Reporter } return "" } -type MsgCardTransferResponse struct { +type MsgMatchReporterAppointResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCardTransferResponse) Reset() { - *x = MsgCardTransferResponse{} +func (x *MsgMatchReporterAppointResponse) Reset() { + *x = MsgMatchReporterAppointResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[11] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardTransferResponse) String() string { +func (x *MsgMatchReporterAppointResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardTransferResponse) ProtoMessage() {} +func (*MsgMatchReporterAppointResponse) ProtoMessage() {} -// Deprecated: Use MsgCardTransferResponse.ProtoReflect.Descriptor instead. -func (*MsgCardTransferResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{11} +// Deprecated: Use MsgMatchReporterAppointResponse.ProtoReflect.Descriptor instead. +func (*MsgMatchReporterAppointResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{27} } -type MsgCardDonate struct { +type MsgSetCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + 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"` + StoryWriter string `protobuf:"bytes,4,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` + Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` } -func (x *MsgCardDonate) Reset() { - *x = MsgCardDonate{} +func (x *MsgSetCreate) Reset() { + *x = MsgSetCreate{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[12] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardDonate) String() string { +func (x *MsgSetCreate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardDonate) ProtoMessage() {} +func (*MsgSetCreate) ProtoMessage() {} -// Deprecated: Use MsgCardDonate.ProtoReflect.Descriptor instead. -func (*MsgCardDonate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{12} +// Deprecated: Use MsgSetCreate.ProtoReflect.Descriptor instead. +func (*MsgSetCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{28} } -func (x *MsgCardDonate) GetCreator() string { +func (x *MsgSetCreate) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardDonate) GetCardId() uint64 { +func (x *MsgSetCreate) GetName() string { if x != nil { - return x.CardId + return x.Name } - return 0 + return "" } -func (x *MsgCardDonate) GetAmount() *v1beta1.Coin { +func (x *MsgSetCreate) GetArtist() string { if x != nil { - return x.Amount + return x.Artist + } + return "" +} + +func (x *MsgSetCreate) GetStoryWriter() string { + if x != nil { + return x.StoryWriter + } + return "" +} + +func (x *MsgSetCreate) GetContributors() []string { + if x != nil { + return x.Contributors } return nil } -type MsgCardDonateResponse struct { +type MsgSetCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCardDonateResponse) Reset() { - *x = MsgCardDonateResponse{} +func (x *MsgSetCreateResponse) Reset() { + *x = MsgSetCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[13] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardDonateResponse) String() string { +func (x *MsgSetCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardDonateResponse) ProtoMessage() {} +func (*MsgSetCreateResponse) ProtoMessage() {} -// Deprecated: Use MsgCardDonateResponse.ProtoReflect.Descriptor instead. -func (*MsgCardDonateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{13} +// Deprecated: Use MsgSetCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgSetCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{29} } -type MsgCardArtworkAdd struct { +type MsgSetCardAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` - FullArt bool `protobuf:"varint,4,opt,name=fullArt,proto3" json:"fullArt,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 (x *MsgCardArtworkAdd) Reset() { - *x = MsgCardArtworkAdd{} +func (x *MsgSetCardAdd) Reset() { + *x = MsgSetCardAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[14] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardArtworkAdd) String() string { +func (x *MsgSetCardAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardArtworkAdd) ProtoMessage() {} +func (*MsgSetCardAdd) ProtoMessage() {} -// Deprecated: Use MsgCardArtworkAdd.ProtoReflect.Descriptor instead. -func (*MsgCardArtworkAdd) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{14} +// Deprecated: Use MsgSetCardAdd.ProtoReflect.Descriptor instead. +func (*MsgSetCardAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{30} } -func (x *MsgCardArtworkAdd) GetCreator() string { +func (x *MsgSetCardAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardArtworkAdd) GetCardId() uint64 { +func (x *MsgSetCardAdd) GetSetId() uint64 { if x != nil { - return x.CardId + return x.SetId } return 0 } -func (x *MsgCardArtworkAdd) GetImage() []byte { - if x != nil { - return x.Image - } - return nil -} - -func (x *MsgCardArtworkAdd) GetFullArt() bool { +func (x *MsgSetCardAdd) GetCardId() uint64 { if x != nil { - return x.FullArt + return x.CardId } - return false + return 0 } -type MsgCardArtworkAddResponse struct { +type MsgSetCardAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCardArtworkAddResponse) Reset() { - *x = MsgCardArtworkAddResponse{} +func (x *MsgSetCardAddResponse) Reset() { + *x = MsgSetCardAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[15] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardArtworkAddResponse) String() string { +func (x *MsgSetCardAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardArtworkAddResponse) ProtoMessage() {} +func (*MsgSetCardAddResponse) ProtoMessage() {} -// Deprecated: Use MsgCardArtworkAddResponse.ProtoReflect.Descriptor instead. -func (*MsgCardArtworkAddResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{15} +// Deprecated: Use MsgSetCardAddResponse.ProtoReflect.Descriptor instead. +func (*MsgSetCardAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{31} } -type MsgCardArtistChange struct { +type MsgSetCardRemove struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,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 (x *MsgCardArtistChange) Reset() { - *x = MsgCardArtistChange{} +func (x *MsgSetCardRemove) Reset() { + *x = MsgSetCardRemove{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[16] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardArtistChange) String() string { +func (x *MsgSetCardRemove) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardArtistChange) ProtoMessage() {} +func (*MsgSetCardRemove) ProtoMessage() {} -// Deprecated: Use MsgCardArtistChange.ProtoReflect.Descriptor instead. -func (*MsgCardArtistChange) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{16} +// Deprecated: Use MsgSetCardRemove.ProtoReflect.Descriptor instead. +func (*MsgSetCardRemove) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{32} } -func (x *MsgCardArtistChange) GetCreator() string { +func (x *MsgSetCardRemove) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardArtistChange) GetCardId() uint64 { +func (x *MsgSetCardRemove) GetSetId() uint64 { if x != nil { - return x.CardId + return x.SetId } return 0 } -func (x *MsgCardArtistChange) GetArtist() string { +func (x *MsgSetCardRemove) GetCardId() uint64 { if x != nil { - return x.Artist + return x.CardId } - return "" + return 0 } -type MsgCardArtistChangeResponse struct { +type MsgSetCardRemoveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCardArtistChangeResponse) Reset() { - *x = MsgCardArtistChangeResponse{} +func (x *MsgSetCardRemoveResponse) Reset() { + *x = MsgSetCardRemoveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[17] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardArtistChangeResponse) String() string { +func (x *MsgSetCardRemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardArtistChangeResponse) ProtoMessage() {} +func (*MsgSetCardRemoveResponse) ProtoMessage() {} -// Deprecated: Use MsgCardArtistChangeResponse.ProtoReflect.Descriptor instead. -func (*MsgCardArtistChangeResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{17} +// Deprecated: Use MsgSetCardRemoveResponse.ProtoReflect.Descriptor instead. +func (*MsgSetCardRemoveResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{33} } -type MsgCouncilRegister struct { +type MsgSetContributorAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields 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 (x *MsgCouncilRegister) Reset() { - *x = MsgCouncilRegister{} +func (x *MsgSetContributorAdd) Reset() { + *x = MsgSetContributorAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[18] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilRegister) String() string { +func (x *MsgSetContributorAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilRegister) ProtoMessage() {} +func (*MsgSetContributorAdd) ProtoMessage() {} -// Deprecated: Use MsgCouncilRegister.ProtoReflect.Descriptor instead. -func (*MsgCouncilRegister) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{18} +// Deprecated: Use MsgSetContributorAdd.ProtoReflect.Descriptor instead. +func (*MsgSetContributorAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{34} } -func (x *MsgCouncilRegister) GetCreator() string { +func (x *MsgSetContributorAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -type MsgCouncilRegisterResponse struct { +func (x *MsgSetContributorAdd) GetSetId() uint64 { + if x != nil { + return x.SetId + } + return 0 +} + +func (x *MsgSetContributorAdd) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +type MsgSetContributorAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilRegisterResponse) Reset() { - *x = MsgCouncilRegisterResponse{} +func (x *MsgSetContributorAddResponse) Reset() { + *x = MsgSetContributorAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[19] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilRegisterResponse) String() string { +func (x *MsgSetContributorAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilRegisterResponse) ProtoMessage() {} +func (*MsgSetContributorAddResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilRegisterResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilRegisterResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{19} +// Deprecated: Use MsgSetContributorAddResponse.ProtoReflect.Descriptor instead. +func (*MsgSetContributorAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{35} } -type MsgCouncilDeregister struct { +type MsgSetContributorRemove struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields 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 (x *MsgCouncilDeregister) Reset() { - *x = MsgCouncilDeregister{} +func (x *MsgSetContributorRemove) Reset() { + *x = MsgSetContributorRemove{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[20] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilDeregister) String() string { +func (x *MsgSetContributorRemove) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilDeregister) ProtoMessage() {} +func (*MsgSetContributorRemove) ProtoMessage() {} -// Deprecated: Use MsgCouncilDeregister.ProtoReflect.Descriptor instead. -func (*MsgCouncilDeregister) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{20} +// Deprecated: Use MsgSetContributorRemove.ProtoReflect.Descriptor instead. +func (*MsgSetContributorRemove) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{36} +} + +func (x *MsgSetContributorRemove) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgSetContributorRemove) GetSetId() uint64 { + if x != nil { + return x.SetId + } + return 0 } -func (x *MsgCouncilDeregister) GetCreator() string { +func (x *MsgSetContributorRemove) GetUser() string { if x != nil { - return x.Creator + return x.User } return "" } -type MsgCouncilDeregisterResponse struct { +type MsgSetContributorRemoveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilDeregisterResponse) Reset() { - *x = MsgCouncilDeregisterResponse{} +func (x *MsgSetContributorRemoveResponse) Reset() { + *x = MsgSetContributorRemoveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[21] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilDeregisterResponse) String() string { +func (x *MsgSetContributorRemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilDeregisterResponse) ProtoMessage() {} +func (*MsgSetContributorRemoveResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilDeregisterResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilDeregisterResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{21} +// Deprecated: Use MsgSetContributorRemoveResponse.ProtoReflect.Descriptor instead. +func (*MsgSetContributorRemoveResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{37} } -type MsgMatchReport struct { +type MsgSetFinalize struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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=cardchain.cardchain.Outcome" json:"outcome,omitempty"` + 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 (x *MsgMatchReport) Reset() { - *x = MsgMatchReport{} +func (x *MsgSetFinalize) Reset() { + *x = MsgSetFinalize{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[22] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchReport) String() string { +func (x *MsgSetFinalize) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchReport) ProtoMessage() {} +func (*MsgSetFinalize) ProtoMessage() {} -// Deprecated: Use MsgMatchReport.ProtoReflect.Descriptor instead. -func (*MsgMatchReport) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{22} +// Deprecated: Use MsgSetFinalize.ProtoReflect.Descriptor instead. +func (*MsgSetFinalize) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{38} } -func (x *MsgMatchReport) GetCreator() string { +func (x *MsgSetFinalize) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgMatchReport) GetMatchId() uint64 { +func (x *MsgSetFinalize) GetSetId() uint64 { if x != nil { - return x.MatchId + return x.SetId } return 0 } -func (x *MsgMatchReport) GetPlayedCardsA() []uint64 { - if x != nil { - return x.PlayedCardsA - } - return nil -} - -func (x *MsgMatchReport) GetPlayedCardsB() []uint64 { - if x != nil { - return x.PlayedCardsB - } - return nil -} - -func (x *MsgMatchReport) GetOutcome() Outcome { - if x != nil { - return x.Outcome - } - return Outcome_AWon -} - -type MsgMatchReportResponse struct { +type MsgSetFinalizeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgMatchReportResponse) Reset() { - *x = MsgMatchReportResponse{} +func (x *MsgSetFinalizeResponse) Reset() { + *x = MsgSetFinalizeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[23] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchReportResponse) String() string { +func (x *MsgSetFinalizeResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchReportResponse) ProtoMessage() {} +func (*MsgSetFinalizeResponse) ProtoMessage() {} -// Deprecated: Use MsgMatchReportResponse.ProtoReflect.Descriptor instead. -func (*MsgMatchReportResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{23} +// Deprecated: Use MsgSetFinalizeResponse.ProtoReflect.Descriptor instead. +func (*MsgSetFinalizeResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{39} } -type MsgCouncilCreate struct { +type MsgSetArtworkAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields 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,2,opt,name=setId,proto3" json:"setId,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` } -func (x *MsgCouncilCreate) Reset() { - *x = MsgCouncilCreate{} +func (x *MsgSetArtworkAdd) Reset() { + *x = MsgSetArtworkAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[24] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilCreate) String() string { +func (x *MsgSetArtworkAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilCreate) ProtoMessage() {} +func (*MsgSetArtworkAdd) ProtoMessage() {} -// Deprecated: Use MsgCouncilCreate.ProtoReflect.Descriptor instead. -func (*MsgCouncilCreate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{24} +// Deprecated: Use MsgSetArtworkAdd.ProtoReflect.Descriptor instead. +func (*MsgSetArtworkAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{40} } -func (x *MsgCouncilCreate) GetCreator() string { +func (x *MsgSetArtworkAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCouncilCreate) GetCardId() uint64 { +func (x *MsgSetArtworkAdd) GetSetId() uint64 { if x != nil { - return x.CardId + return x.SetId } return 0 } -type MsgCouncilCreateResponse struct { +func (x *MsgSetArtworkAdd) GetImage() []byte { + if x != nil { + return x.Image + } + return nil +} + +type MsgSetArtworkAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilCreateResponse) Reset() { - *x = MsgCouncilCreateResponse{} +func (x *MsgSetArtworkAddResponse) Reset() { + *x = MsgSetArtworkAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[25] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilCreateResponse) String() string { +func (x *MsgSetArtworkAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilCreateResponse) ProtoMessage() {} +func (*MsgSetArtworkAddResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilCreateResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilCreateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{25} +// Deprecated: Use MsgSetArtworkAddResponse.ProtoReflect.Descriptor instead. +func (*MsgSetArtworkAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{41} } -type MsgMatchReporterAppoint struct { +type MsgSetStoryAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"` + 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 (x *MsgMatchReporterAppoint) Reset() { - *x = MsgMatchReporterAppoint{} +func (x *MsgSetStoryAdd) Reset() { + *x = MsgSetStoryAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[26] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchReporterAppoint) String() string { +func (x *MsgSetStoryAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchReporterAppoint) ProtoMessage() {} +func (*MsgSetStoryAdd) ProtoMessage() {} -// Deprecated: Use MsgMatchReporterAppoint.ProtoReflect.Descriptor instead. -func (*MsgMatchReporterAppoint) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{26} +// Deprecated: Use MsgSetStoryAdd.ProtoReflect.Descriptor instead. +func (*MsgSetStoryAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{42} } -func (x *MsgMatchReporterAppoint) GetCreator() string { +func (x *MsgSetStoryAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgMatchReporterAppoint) GetReporter() string { +func (x *MsgSetStoryAdd) GetSetId() uint64 { if x != nil { - return x.Reporter + return x.SetId + } + return 0 +} + +func (x *MsgSetStoryAdd) GetStory() string { + if x != nil { + return x.Story } return "" } -type MsgMatchReporterAppointResponse struct { +type MsgSetStoryAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgMatchReporterAppointResponse) Reset() { - *x = MsgMatchReporterAppointResponse{} +func (x *MsgSetStoryAddResponse) Reset() { + *x = MsgSetStoryAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[27] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchReporterAppointResponse) String() string { +func (x *MsgSetStoryAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchReporterAppointResponse) ProtoMessage() {} +func (*MsgSetStoryAddResponse) ProtoMessage() {} -// Deprecated: Use MsgMatchReporterAppointResponse.ProtoReflect.Descriptor instead. -func (*MsgMatchReporterAppointResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{27} +// Deprecated: Use MsgSetStoryAddResponse.ProtoReflect.Descriptor instead. +func (*MsgSetStoryAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{43} } -type MsgSetCreate struct { +type MsgBoosterPackBuy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` - StoryWriter string `protobuf:"bytes,4,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` - Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` + 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 (x *MsgSetCreate) Reset() { - *x = MsgSetCreate{} +func (x *MsgBoosterPackBuy) Reset() { + *x = MsgBoosterPackBuy{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[28] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetCreate) String() string { +func (x *MsgBoosterPackBuy) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetCreate) ProtoMessage() {} +func (*MsgBoosterPackBuy) ProtoMessage() {} -// Deprecated: Use MsgSetCreate.ProtoReflect.Descriptor instead. -func (*MsgSetCreate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{28} +// Deprecated: Use MsgBoosterPackBuy.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackBuy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{44} } -func (x *MsgSetCreate) GetCreator() string { +func (x *MsgBoosterPackBuy) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetCreate) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *MsgSetCreate) GetArtist() string { - if x != nil { - return x.Artist - } - return "" -} - -func (x *MsgSetCreate) GetStoryWriter() string { - if x != nil { - return x.StoryWriter - } - return "" -} - -func (x *MsgSetCreate) GetContributors() []string { +func (x *MsgBoosterPackBuy) GetSetId() uint64 { if x != nil { - return x.Contributors + return x.SetId } - return nil + return 0 } -type MsgSetCreateResponse struct { +type MsgBoosterPackBuyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgSetCreateResponse) Reset() { - *x = MsgSetCreateResponse{} +func (x *MsgBoosterPackBuyResponse) Reset() { + *x = MsgBoosterPackBuyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[29] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetCreateResponse) String() string { +func (x *MsgBoosterPackBuyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetCreateResponse) ProtoMessage() {} +func (*MsgBoosterPackBuyResponse) ProtoMessage() {} -// Deprecated: Use MsgSetCreateResponse.ProtoReflect.Descriptor instead. -func (*MsgSetCreateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{29} +// Deprecated: Use MsgBoosterPackBuyResponse.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackBuyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{45} } -type MsgSetCardAdd struct { +func (x *MsgBoosterPackBuyResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgSellOfferCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Price *v1beta1.Coin `protobuf:"bytes,3,opt,name=price,proto3" json:"price,omitempty"` } -func (x *MsgSetCardAdd) Reset() { - *x = MsgSetCardAdd{} +func (x *MsgSellOfferCreate) Reset() { + *x = MsgSellOfferCreate{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[30] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetCardAdd) String() string { +func (x *MsgSellOfferCreate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetCardAdd) ProtoMessage() {} +func (*MsgSellOfferCreate) ProtoMessage() {} -// Deprecated: Use MsgSetCardAdd.ProtoReflect.Descriptor instead. -func (*MsgSetCardAdd) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{30} +// Deprecated: Use MsgSellOfferCreate.ProtoReflect.Descriptor instead. +func (*MsgSellOfferCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{46} } -func (x *MsgSetCardAdd) GetCreator() string { +func (x *MsgSellOfferCreate) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetCardAdd) GetSetId() uint64 { +func (x *MsgSellOfferCreate) GetCardId() uint64 { if x != nil { - return x.SetId + return x.CardId } return 0 } -func (x *MsgSetCardAdd) GetCardId() uint64 { +func (x *MsgSellOfferCreate) GetPrice() *v1beta1.Coin { if x != nil { - return x.CardId + return x.Price } - return 0 + return nil } -type MsgSetCardAddResponse struct { +type MsgSellOfferCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetCardAddResponse) Reset() { - *x = MsgSetCardAddResponse{} +func (x *MsgSellOfferCreateResponse) Reset() { + *x = MsgSellOfferCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[31] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetCardAddResponse) String() string { +func (x *MsgSellOfferCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetCardAddResponse) ProtoMessage() {} +func (*MsgSellOfferCreateResponse) ProtoMessage() {} -// Deprecated: Use MsgSetCardAddResponse.ProtoReflect.Descriptor instead. -func (*MsgSetCardAddResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{31} +// Deprecated: Use MsgSellOfferCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgSellOfferCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{47} } -type MsgSetCardRemove struct { +type MsgSellOfferBuy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` } -func (x *MsgSetCardRemove) Reset() { - *x = MsgSetCardRemove{} +func (x *MsgSellOfferBuy) Reset() { + *x = MsgSellOfferBuy{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[32] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetCardRemove) String() string { +func (x *MsgSellOfferBuy) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetCardRemove) ProtoMessage() {} +func (*MsgSellOfferBuy) ProtoMessage() {} -// Deprecated: Use MsgSetCardRemove.ProtoReflect.Descriptor instead. -func (*MsgSetCardRemove) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{32} +// Deprecated: Use MsgSellOfferBuy.ProtoReflect.Descriptor instead. +func (*MsgSellOfferBuy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{48} } -func (x *MsgSetCardRemove) GetCreator() string { +func (x *MsgSellOfferBuy) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetCardRemove) GetSetId() uint64 { - if x != nil { - return x.SetId - } - return 0 -} - -func (x *MsgSetCardRemove) GetCardId() uint64 { +func (x *MsgSellOfferBuy) GetSellOfferId() uint64 { if x != nil { - return x.CardId + return x.SellOfferId } return 0 } -type MsgSetCardRemoveResponse struct { +type MsgSellOfferBuyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetCardRemoveResponse) Reset() { - *x = MsgSetCardRemoveResponse{} +func (x *MsgSellOfferBuyResponse) Reset() { + *x = MsgSellOfferBuyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[33] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetCardRemoveResponse) String() string { +func (x *MsgSellOfferBuyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetCardRemoveResponse) ProtoMessage() {} +func (*MsgSellOfferBuyResponse) ProtoMessage() {} -// Deprecated: Use MsgSetCardRemoveResponse.ProtoReflect.Descriptor instead. -func (*MsgSetCardRemoveResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{33} +// Deprecated: Use MsgSellOfferBuyResponse.ProtoReflect.Descriptor instead. +func (*MsgSellOfferBuyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{49} } -type MsgSetContributorAdd struct { +type MsgSellOfferRemove struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` } -func (x *MsgSetContributorAdd) Reset() { - *x = MsgSetContributorAdd{} +func (x *MsgSellOfferRemove) Reset() { + *x = MsgSellOfferRemove{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[34] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetContributorAdd) String() string { +func (x *MsgSellOfferRemove) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetContributorAdd) ProtoMessage() {} +func (*MsgSellOfferRemove) ProtoMessage() {} -// Deprecated: Use MsgSetContributorAdd.ProtoReflect.Descriptor instead. -func (*MsgSetContributorAdd) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{34} +// Deprecated: Use MsgSellOfferRemove.ProtoReflect.Descriptor instead. +func (*MsgSellOfferRemove) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{50} } -func (x *MsgSetContributorAdd) GetCreator() string { +func (x *MsgSellOfferRemove) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetContributorAdd) GetSetId() uint64 { +func (x *MsgSellOfferRemove) GetSellOfferId() uint64 { if x != nil { - return x.SetId + return x.SellOfferId } return 0 } -func (x *MsgSetContributorAdd) GetUser() string { - if x != nil { - return x.User - } - return "" -} - -type MsgSetContributorAddResponse struct { +type MsgSellOfferRemoveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetContributorAddResponse) Reset() { - *x = MsgSetContributorAddResponse{} +func (x *MsgSellOfferRemoveResponse) Reset() { + *x = MsgSellOfferRemoveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[35] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetContributorAddResponse) String() string { +func (x *MsgSellOfferRemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetContributorAddResponse) ProtoMessage() {} +func (*MsgSellOfferRemoveResponse) ProtoMessage() {} -// Deprecated: Use MsgSetContributorAddResponse.ProtoReflect.Descriptor instead. -func (*MsgSetContributorAddResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{35} +// Deprecated: Use MsgSellOfferRemoveResponse.ProtoReflect.Descriptor instead. +func (*MsgSellOfferRemoveResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{51} } -type MsgSetContributorRemove struct { +type MsgCardRaritySet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + 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=cardchain.cardchain.CardRarity" json:"rarity,omitempty"` } -func (x *MsgSetContributorRemove) Reset() { - *x = MsgSetContributorRemove{} +func (x *MsgCardRaritySet) Reset() { + *x = MsgCardRaritySet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[36] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetContributorRemove) String() string { +func (x *MsgCardRaritySet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetContributorRemove) ProtoMessage() {} +func (*MsgCardRaritySet) ProtoMessage() {} -// Deprecated: Use MsgSetContributorRemove.ProtoReflect.Descriptor instead. -func (*MsgSetContributorRemove) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{36} +// Deprecated: Use MsgCardRaritySet.ProtoReflect.Descriptor instead. +func (*MsgCardRaritySet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{52} } -func (x *MsgSetContributorRemove) GetCreator() string { +func (x *MsgCardRaritySet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetContributorRemove) GetSetId() uint64 { +func (x *MsgCardRaritySet) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardRaritySet) GetSetId() uint64 { if x != nil { return x.SetId } return 0 } -func (x *MsgSetContributorRemove) GetUser() string { +func (x *MsgCardRaritySet) GetRarity() CardRarity { if x != nil { - return x.User + return x.Rarity } - return "" + return CardRarity_common } -type MsgSetContributorRemoveResponse struct { +type MsgCardRaritySetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetContributorRemoveResponse) Reset() { - *x = MsgSetContributorRemoveResponse{} +func (x *MsgCardRaritySetResponse) Reset() { + *x = MsgCardRaritySetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[37] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetContributorRemoveResponse) String() string { +func (x *MsgCardRaritySetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetContributorRemoveResponse) ProtoMessage() {} +func (*MsgCardRaritySetResponse) ProtoMessage() {} -// Deprecated: Use MsgSetContributorRemoveResponse.ProtoReflect.Descriptor instead. -func (*MsgSetContributorRemoveResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{37} +// Deprecated: Use MsgCardRaritySetResponse.ProtoReflect.Descriptor instead. +func (*MsgCardRaritySetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{53} } -type MsgSetFinalize struct { +type MsgCouncilResponseCommit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` + Reponse string `protobuf:"bytes,3,opt,name=reponse,proto3" json:"reponse,omitempty"` + Suggestion string `protobuf:"bytes,4,opt,name=suggestion,proto3" json:"suggestion,omitempty"` } -func (x *MsgSetFinalize) Reset() { - *x = MsgSetFinalize{} +func (x *MsgCouncilResponseCommit) Reset() { + *x = MsgCouncilResponseCommit{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[38] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetFinalize) String() string { +func (x *MsgCouncilResponseCommit) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetFinalize) ProtoMessage() {} +func (*MsgCouncilResponseCommit) ProtoMessage() {} -// Deprecated: Use MsgSetFinalize.ProtoReflect.Descriptor instead. -func (*MsgSetFinalize) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{38} +// Deprecated: Use MsgCouncilResponseCommit.ProtoReflect.Descriptor instead. +func (*MsgCouncilResponseCommit) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{54} } -func (x *MsgSetFinalize) GetCreator() string { +func (x *MsgCouncilResponseCommit) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetFinalize) GetSetId() uint64 { +func (x *MsgCouncilResponseCommit) GetCouncilId() uint64 { if x != nil { - return x.SetId + return x.CouncilId } return 0 } -type MsgSetFinalizeResponse struct { +func (x *MsgCouncilResponseCommit) GetReponse() string { + if x != nil { + return x.Reponse + } + return "" +} + +func (x *MsgCouncilResponseCommit) GetSuggestion() string { + if x != nil { + return x.Suggestion + } + return "" +} + +type MsgCouncilResponseCommitResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetFinalizeResponse) Reset() { - *x = MsgSetFinalizeResponse{} +func (x *MsgCouncilResponseCommitResponse) Reset() { + *x = MsgCouncilResponseCommitResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[39] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetFinalizeResponse) String() string { +func (x *MsgCouncilResponseCommitResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetFinalizeResponse) ProtoMessage() {} +func (*MsgCouncilResponseCommitResponse) ProtoMessage() {} -// Deprecated: Use MsgSetFinalizeResponse.ProtoReflect.Descriptor instead. -func (*MsgSetFinalizeResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{39} +// Deprecated: Use MsgCouncilResponseCommitResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilResponseCommitResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{55} } -type MsgSetArtworkAdd struct { +type MsgCouncilResponseReveal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` + Reponse Response `protobuf:"varint,3,opt,name=reponse,proto3,enum=cardchain.cardchain.Response" json:"reponse,omitempty"` + Secret string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` } -func (x *MsgSetArtworkAdd) Reset() { - *x = MsgSetArtworkAdd{} +func (x *MsgCouncilResponseReveal) Reset() { + *x = MsgCouncilResponseReveal{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[40] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetArtworkAdd) String() string { +func (x *MsgCouncilResponseReveal) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetArtworkAdd) ProtoMessage() {} +func (*MsgCouncilResponseReveal) ProtoMessage() {} -// Deprecated: Use MsgSetArtworkAdd.ProtoReflect.Descriptor instead. -func (*MsgSetArtworkAdd) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{40} +// Deprecated: Use MsgCouncilResponseReveal.ProtoReflect.Descriptor instead. +func (*MsgCouncilResponseReveal) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{56} } -func (x *MsgSetArtworkAdd) GetCreator() string { +func (x *MsgCouncilResponseReveal) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetArtworkAdd) GetSetId() uint64 { +func (x *MsgCouncilResponseReveal) GetCouncilId() uint64 { if x != nil { - return x.SetId + return x.CouncilId } return 0 } -func (x *MsgSetArtworkAdd) GetImage() []byte { +func (x *MsgCouncilResponseReveal) GetReponse() Response { if x != nil { - return x.Image + return x.Reponse } - return nil + return Response_Yes } -type MsgSetArtworkAddResponse struct { +func (x *MsgCouncilResponseReveal) GetSecret() string { + if x != nil { + return x.Secret + } + return "" +} + +type MsgCouncilResponseRevealResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetArtworkAddResponse) Reset() { - *x = MsgSetArtworkAddResponse{} +func (x *MsgCouncilResponseRevealResponse) Reset() { + *x = MsgCouncilResponseRevealResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[41] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetArtworkAddResponse) String() string { +func (x *MsgCouncilResponseRevealResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetArtworkAddResponse) ProtoMessage() {} +func (*MsgCouncilResponseRevealResponse) ProtoMessage() {} -// Deprecated: Use MsgSetArtworkAddResponse.ProtoReflect.Descriptor instead. -func (*MsgSetArtworkAddResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{41} +// Deprecated: Use MsgCouncilResponseRevealResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilResponseRevealResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{57} } -type MsgSetStoryAdd struct { +type MsgCouncilRestart struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` } -func (x *MsgSetStoryAdd) Reset() { - *x = MsgSetStoryAdd{} +func (x *MsgCouncilRestart) Reset() { + *x = MsgCouncilRestart{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[42] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetStoryAdd) String() string { +func (x *MsgCouncilRestart) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetStoryAdd) ProtoMessage() {} +func (*MsgCouncilRestart) ProtoMessage() {} -// Deprecated: Use MsgSetStoryAdd.ProtoReflect.Descriptor instead. -func (*MsgSetStoryAdd) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{42} +// Deprecated: Use MsgCouncilRestart.ProtoReflect.Descriptor instead. +func (*MsgCouncilRestart) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{58} } -func (x *MsgSetStoryAdd) GetCreator() string { +func (x *MsgCouncilRestart) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetStoryAdd) GetSetId() uint64 { +func (x *MsgCouncilRestart) GetCouncilId() uint64 { if x != nil { - return x.SetId + return x.CouncilId } return 0 } -func (x *MsgSetStoryAdd) GetStory() string { - if x != nil { - return x.Story - } - return "" -} - -type MsgSetStoryAddResponse struct { +type MsgCouncilRestartResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetStoryAddResponse) Reset() { - *x = MsgSetStoryAddResponse{} +func (x *MsgCouncilRestartResponse) Reset() { + *x = MsgCouncilRestartResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[43] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetStoryAddResponse) String() string { +func (x *MsgCouncilRestartResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetStoryAddResponse) ProtoMessage() {} +func (*MsgCouncilRestartResponse) ProtoMessage() {} -// Deprecated: Use MsgSetStoryAddResponse.ProtoReflect.Descriptor instead. -func (*MsgSetStoryAddResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{43} +// Deprecated: Use MsgCouncilRestartResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilRestartResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{59} } -type MsgBoosterPackBuy struct { +type MsgMatchConfirm struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,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=cardchain.cardchain.Outcome" json:"outcome,omitempty"` + VotedCards []*SingleVote `protobuf:"bytes,4,rep,name=votedCards,proto3" json:"votedCards,omitempty"` } -func (x *MsgBoosterPackBuy) Reset() { - *x = MsgBoosterPackBuy{} +func (x *MsgMatchConfirm) Reset() { + *x = MsgMatchConfirm{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[44] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgBoosterPackBuy) String() string { +func (x *MsgMatchConfirm) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgBoosterPackBuy) ProtoMessage() {} +func (*MsgMatchConfirm) ProtoMessage() {} -// Deprecated: Use MsgBoosterPackBuy.ProtoReflect.Descriptor instead. -func (*MsgBoosterPackBuy) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{44} +// Deprecated: Use MsgMatchConfirm.ProtoReflect.Descriptor instead. +func (*MsgMatchConfirm) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{60} } -func (x *MsgBoosterPackBuy) GetCreator() string { +func (x *MsgMatchConfirm) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgBoosterPackBuy) GetSetId() uint64 { +func (x *MsgMatchConfirm) GetMatchId() uint64 { if x != nil { - return x.SetId + return x.MatchId } return 0 } -type MsgBoosterPackBuyResponse struct { +func (x *MsgMatchConfirm) GetOutcome() Outcome { + if x != nil { + return x.Outcome + } + return Outcome_AWon +} + +func (x *MsgMatchConfirm) GetVotedCards() []*SingleVote { + if x != nil { + return x.VotedCards + } + return nil +} + +type MsgMatchConfirmResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgBoosterPackBuyResponse) Reset() { - *x = MsgBoosterPackBuyResponse{} +func (x *MsgMatchConfirmResponse) Reset() { + *x = MsgMatchConfirmResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[45] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgBoosterPackBuyResponse) String() string { +func (x *MsgMatchConfirmResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgBoosterPackBuyResponse) ProtoMessage() {} - -// Deprecated: Use MsgBoosterPackBuyResponse.ProtoReflect.Descriptor instead. -func (*MsgBoosterPackBuyResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{45} -} +func (*MsgMatchConfirmResponse) ProtoMessage() {} -func (x *MsgBoosterPackBuyResponse) GetAirdropClaimed() bool { - if x != nil { - return x.AirdropClaimed - } - return false +// Deprecated: Use MsgMatchConfirmResponse.ProtoReflect.Descriptor instead. +func (*MsgMatchConfirmResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{61} } -type MsgSellOfferCreate struct { +type MsgProfileCardSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Price *v1beta1.Coin `protobuf:"bytes,3,opt,name=price,proto3" json:"price,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"` } -func (x *MsgSellOfferCreate) Reset() { - *x = MsgSellOfferCreate{} +func (x *MsgProfileCardSet) Reset() { + *x = MsgProfileCardSet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[46] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferCreate) String() string { +func (x *MsgProfileCardSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferCreate) ProtoMessage() {} +func (*MsgProfileCardSet) ProtoMessage() {} -// Deprecated: Use MsgSellOfferCreate.ProtoReflect.Descriptor instead. -func (*MsgSellOfferCreate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{46} +// Deprecated: Use MsgProfileCardSet.ProtoReflect.Descriptor instead. +func (*MsgProfileCardSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{62} } -func (x *MsgSellOfferCreate) GetCreator() string { +func (x *MsgProfileCardSet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSellOfferCreate) GetCardId() uint64 { +func (x *MsgProfileCardSet) GetCardId() uint64 { if x != nil { return x.CardId } return 0 } -func (x *MsgSellOfferCreate) GetPrice() *v1beta1.Coin { - if x != nil { - return x.Price - } - return nil -} - -type MsgSellOfferCreateResponse struct { +type MsgProfileCardSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSellOfferCreateResponse) Reset() { - *x = MsgSellOfferCreateResponse{} +func (x *MsgProfileCardSetResponse) Reset() { + *x = MsgProfileCardSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[47] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferCreateResponse) String() string { +func (x *MsgProfileCardSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferCreateResponse) ProtoMessage() {} +func (*MsgProfileCardSetResponse) ProtoMessage() {} -// Deprecated: Use MsgSellOfferCreateResponse.ProtoReflect.Descriptor instead. -func (*MsgSellOfferCreateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{47} +// Deprecated: Use MsgProfileCardSetResponse.ProtoReflect.Descriptor instead. +func (*MsgProfileCardSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{63} } -type MsgSellOfferBuy struct { +type MsgProfileWebsiteSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Website string `protobuf:"bytes,2,opt,name=website,proto3" json:"website,omitempty"` } -func (x *MsgSellOfferBuy) Reset() { - *x = MsgSellOfferBuy{} +func (x *MsgProfileWebsiteSet) Reset() { + *x = MsgProfileWebsiteSet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[48] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferBuy) String() string { +func (x *MsgProfileWebsiteSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferBuy) ProtoMessage() {} +func (*MsgProfileWebsiteSet) ProtoMessage() {} -// Deprecated: Use MsgSellOfferBuy.ProtoReflect.Descriptor instead. -func (*MsgSellOfferBuy) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{48} +// Deprecated: Use MsgProfileWebsiteSet.ProtoReflect.Descriptor instead. +func (*MsgProfileWebsiteSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{64} } -func (x *MsgSellOfferBuy) GetCreator() string { +func (x *MsgProfileWebsiteSet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSellOfferBuy) GetSellOfferId() uint64 { +func (x *MsgProfileWebsiteSet) GetWebsite() string { if x != nil { - return x.SellOfferId + return x.Website } - return 0 + return "" } -type MsgSellOfferBuyResponse struct { +type MsgProfileWebsiteSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSellOfferBuyResponse) Reset() { - *x = MsgSellOfferBuyResponse{} +func (x *MsgProfileWebsiteSetResponse) Reset() { + *x = MsgProfileWebsiteSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[49] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferBuyResponse) String() string { +func (x *MsgProfileWebsiteSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferBuyResponse) ProtoMessage() {} +func (*MsgProfileWebsiteSetResponse) ProtoMessage() {} -// Deprecated: Use MsgSellOfferBuyResponse.ProtoReflect.Descriptor instead. -func (*MsgSellOfferBuyResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{49} +// Deprecated: Use MsgProfileWebsiteSetResponse.ProtoReflect.Descriptor instead. +func (*MsgProfileWebsiteSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{65} } -type MsgSellOfferRemove struct { +type MsgProfileBioSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Bio string `protobuf:"bytes,2,opt,name=bio,proto3" json:"bio,omitempty"` } -func (x *MsgSellOfferRemove) Reset() { - *x = MsgSellOfferRemove{} +func (x *MsgProfileBioSet) Reset() { + *x = MsgProfileBioSet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[50] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferRemove) String() string { +func (x *MsgProfileBioSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferRemove) ProtoMessage() {} +func (*MsgProfileBioSet) ProtoMessage() {} -// Deprecated: Use MsgSellOfferRemove.ProtoReflect.Descriptor instead. -func (*MsgSellOfferRemove) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{50} +// Deprecated: Use MsgProfileBioSet.ProtoReflect.Descriptor instead. +func (*MsgProfileBioSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{66} } -func (x *MsgSellOfferRemove) GetCreator() string { +func (x *MsgProfileBioSet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSellOfferRemove) GetSellOfferId() uint64 { +func (x *MsgProfileBioSet) GetBio() string { if x != nil { - return x.SellOfferId + return x.Bio } - return 0 + return "" } -type MsgSellOfferRemoveResponse struct { +type MsgProfileBioSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSellOfferRemoveResponse) Reset() { - *x = MsgSellOfferRemoveResponse{} +func (x *MsgProfileBioSetResponse) Reset() { + *x = MsgProfileBioSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[51] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferRemoveResponse) String() string { +func (x *MsgProfileBioSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferRemoveResponse) ProtoMessage() {} +func (*MsgProfileBioSetResponse) ProtoMessage() {} -// Deprecated: Use MsgSellOfferRemoveResponse.ProtoReflect.Descriptor instead. -func (*MsgSellOfferRemoveResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{51} +// Deprecated: Use MsgProfileBioSetResponse.ProtoReflect.Descriptor instead. +func (*MsgProfileBioSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{67} } -type MsgCardRaritySet struct { +type MsgBoosterPackOpen struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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=cardchain.cardchain.CardRarity" json:"rarity,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + BoosterPackId uint64 `protobuf:"varint,2,opt,name=boosterPackId,proto3" json:"boosterPackId,omitempty"` } -func (x *MsgCardRaritySet) Reset() { - *x = MsgCardRaritySet{} +func (x *MsgBoosterPackOpen) Reset() { + *x = MsgBoosterPackOpen{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[52] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardRaritySet) String() string { +func (x *MsgBoosterPackOpen) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardRaritySet) ProtoMessage() {} +func (*MsgBoosterPackOpen) ProtoMessage() {} -// Deprecated: Use MsgCardRaritySet.ProtoReflect.Descriptor instead. -func (*MsgCardRaritySet) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{52} +// Deprecated: Use MsgBoosterPackOpen.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackOpen) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{68} } -func (x *MsgCardRaritySet) GetCreator() string { +func (x *MsgBoosterPackOpen) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardRaritySet) GetCardId() uint64 { - if x != nil { - return x.CardId - } - return 0 -} - -func (x *MsgCardRaritySet) GetSetId() uint64 { +func (x *MsgBoosterPackOpen) GetBoosterPackId() uint64 { if x != nil { - return x.SetId + return x.BoosterPackId } return 0 } -func (x *MsgCardRaritySet) GetRarity() CardRarity { - if x != nil { - return x.Rarity - } - return CardRarity_common -} - -type MsgCardRaritySetResponse struct { +type MsgBoosterPackOpenResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + CardIds []uint64 `protobuf:"varint,1,rep,packed,name=cardIds,proto3" json:"cardIds,omitempty"` } -func (x *MsgCardRaritySetResponse) Reset() { - *x = MsgCardRaritySetResponse{} +func (x *MsgBoosterPackOpenResponse) Reset() { + *x = MsgBoosterPackOpenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[53] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardRaritySetResponse) String() string { +func (x *MsgBoosterPackOpenResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardRaritySetResponse) ProtoMessage() {} +func (*MsgBoosterPackOpenResponse) ProtoMessage() {} -// Deprecated: Use MsgCardRaritySetResponse.ProtoReflect.Descriptor instead. -func (*MsgCardRaritySetResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{53} +// Deprecated: Use MsgBoosterPackOpenResponse.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackOpenResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{69} } -type MsgCouncilResponseCommit struct { +func (x *MsgBoosterPackOpenResponse) GetCardIds() []uint64 { + if x != nil { + return x.CardIds + } + return nil +} + +type MsgBoosterPackTransfer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` - Reponse string `protobuf:"bytes,3,opt,name=reponse,proto3" json:"reponse,omitempty"` - Suggestion string `protobuf:"bytes,4,opt,name=suggestion,proto3" json:"suggestion,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + BoosterPackId uint64 `protobuf:"varint,2,opt,name=boosterPackId,proto3" json:"boosterPackId,omitempty"` + Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` } -func (x *MsgCouncilResponseCommit) Reset() { - *x = MsgCouncilResponseCommit{} +func (x *MsgBoosterPackTransfer) Reset() { + *x = MsgBoosterPackTransfer{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[54] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilResponseCommit) String() string { +func (x *MsgBoosterPackTransfer) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilResponseCommit) ProtoMessage() {} +func (*MsgBoosterPackTransfer) ProtoMessage() {} -// Deprecated: Use MsgCouncilResponseCommit.ProtoReflect.Descriptor instead. -func (*MsgCouncilResponseCommit) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{54} +// Deprecated: Use MsgBoosterPackTransfer.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackTransfer) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{70} } -func (x *MsgCouncilResponseCommit) GetCreator() string { +func (x *MsgBoosterPackTransfer) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCouncilResponseCommit) GetCouncilId() uint64 { +func (x *MsgBoosterPackTransfer) GetBoosterPackId() uint64 { if x != nil { - return x.CouncilId + return x.BoosterPackId } return 0 } -func (x *MsgCouncilResponseCommit) GetReponse() string { - if x != nil { - return x.Reponse - } - return "" -} - -func (x *MsgCouncilResponseCommit) GetSuggestion() string { +func (x *MsgBoosterPackTransfer) GetReceiver() string { if x != nil { - return x.Suggestion + return x.Receiver } return "" } -type MsgCouncilResponseCommitResponse struct { +type MsgBoosterPackTransferResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilResponseCommitResponse) Reset() { - *x = MsgCouncilResponseCommitResponse{} +func (x *MsgBoosterPackTransferResponse) Reset() { + *x = MsgBoosterPackTransferResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[55] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilResponseCommitResponse) String() string { +func (x *MsgBoosterPackTransferResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilResponseCommitResponse) ProtoMessage() {} +func (*MsgBoosterPackTransferResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilResponseCommitResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilResponseCommitResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{55} +// Deprecated: Use MsgBoosterPackTransferResponse.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackTransferResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{71} } -type MsgCouncilResponseReveal struct { +type MsgSetStoryWriterSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` - Reponse Response `protobuf:"varint,3,opt,name=reponse,proto3,enum=cardchain.cardchain.Response" json:"reponse,omitempty"` - Secret string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` + 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 (x *MsgCouncilResponseReveal) Reset() { - *x = MsgCouncilResponseReveal{} +func (x *MsgSetStoryWriterSet) Reset() { + *x = MsgSetStoryWriterSet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[56] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilResponseReveal) String() string { +func (x *MsgSetStoryWriterSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilResponseReveal) ProtoMessage() {} +func (*MsgSetStoryWriterSet) ProtoMessage() {} -// Deprecated: Use MsgCouncilResponseReveal.ProtoReflect.Descriptor instead. -func (*MsgCouncilResponseReveal) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{56} +// Deprecated: Use MsgSetStoryWriterSet.ProtoReflect.Descriptor instead. +func (*MsgSetStoryWriterSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{72} } -func (x *MsgCouncilResponseReveal) GetCreator() string { +func (x *MsgSetStoryWriterSet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCouncilResponseReveal) GetCouncilId() uint64 { +func (x *MsgSetStoryWriterSet) GetSetId() uint64 { if x != nil { - return x.CouncilId + return x.SetId } return 0 } -func (x *MsgCouncilResponseReveal) GetReponse() Response { - if x != nil { - return x.Reponse - } - return Response_Yes -} - -func (x *MsgCouncilResponseReveal) GetSecret() string { +func (x *MsgSetStoryWriterSet) GetStoryWriter() string { if x != nil { - return x.Secret + return x.StoryWriter } return "" } -type MsgCouncilResponseRevealResponse struct { +type MsgSetStoryWriterSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilResponseRevealResponse) Reset() { - *x = MsgCouncilResponseRevealResponse{} +func (x *MsgSetStoryWriterSetResponse) Reset() { + *x = MsgSetStoryWriterSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[57] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilResponseRevealResponse) String() string { +func (x *MsgSetStoryWriterSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilResponseRevealResponse) ProtoMessage() {} +func (*MsgSetStoryWriterSetResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilResponseRevealResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilResponseRevealResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{57} +// Deprecated: Use MsgSetStoryWriterSetResponse.ProtoReflect.Descriptor instead. +func (*MsgSetStoryWriterSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{73} } -type MsgCouncilRestart struct { +type MsgSetArtistSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` + 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 (x *MsgCouncilRestart) Reset() { - *x = MsgCouncilRestart{} +func (x *MsgSetArtistSet) Reset() { + *x = MsgSetArtistSet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[58] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilRestart) String() string { +func (x *MsgSetArtistSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilRestart) ProtoMessage() {} +func (*MsgSetArtistSet) ProtoMessage() {} -// Deprecated: Use MsgCouncilRestart.ProtoReflect.Descriptor instead. -func (*MsgCouncilRestart) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{58} +// Deprecated: Use MsgSetArtistSet.ProtoReflect.Descriptor instead. +func (*MsgSetArtistSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{74} } -func (x *MsgCouncilRestart) GetCreator() string { +func (x *MsgSetArtistSet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCouncilRestart) GetCouncilId() uint64 { +func (x *MsgSetArtistSet) GetSetId() uint64 { if x != nil { - return x.CouncilId + return x.SetId } return 0 } -type MsgCouncilRestartResponse struct { +func (x *MsgSetArtistSet) GetArtist() string { + if x != nil { + return x.Artist + } + return "" +} + +type MsgSetArtistSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilRestartResponse) Reset() { - *x = MsgCouncilRestartResponse{} +func (x *MsgSetArtistSetResponse) Reset() { + *x = MsgSetArtistSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[59] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilRestartResponse) String() string { +func (x *MsgSetArtistSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilRestartResponse) ProtoMessage() {} +func (*MsgSetArtistSetResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilRestartResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilRestartResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{59} +// Deprecated: Use MsgSetArtistSetResponse.ProtoReflect.Descriptor instead. +func (*MsgSetArtistSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{75} } -type MsgMatchConfirm struct { +type MsgCardVoteMulti struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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=cardchain.cardchain.Outcome" json:"outcome,omitempty"` - VotedCards []*SingleVote `protobuf:"bytes,4,rep,name=votedCards,proto3" json:"votedCards,omitempty"` + 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 (x *MsgMatchConfirm) Reset() { - *x = MsgMatchConfirm{} +func (x *MsgCardVoteMulti) Reset() { + *x = MsgCardVoteMulti{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[60] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchConfirm) String() string { +func (x *MsgCardVoteMulti) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchConfirm) ProtoMessage() {} - -// Deprecated: Use MsgMatchConfirm.ProtoReflect.Descriptor instead. -func (*MsgMatchConfirm) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{60} -} - -func (x *MsgMatchConfirm) GetCreator() string { - if x != nil { - return x.Creator - } - return "" -} +func (*MsgCardVoteMulti) ProtoMessage() {} -func (x *MsgMatchConfirm) GetMatchId() uint64 { - if x != nil { - return x.MatchId - } - return 0 +// Deprecated: Use MsgCardVoteMulti.ProtoReflect.Descriptor instead. +func (*MsgCardVoteMulti) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{76} } -func (x *MsgMatchConfirm) GetOutcome() Outcome { +func (x *MsgCardVoteMulti) GetCreator() string { if x != nil { - return x.Outcome + return x.Creator } - return Outcome_AWon + return "" } -func (x *MsgMatchConfirm) GetVotedCards() []*SingleVote { +func (x *MsgCardVoteMulti) GetVotes() []*SingleVote { if x != nil { - return x.VotedCards + return x.Votes } return nil } -type MsgMatchConfirmResponse struct { +type MsgCardVoteMultiResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgMatchConfirmResponse) Reset() { - *x = MsgMatchConfirmResponse{} +func (x *MsgCardVoteMultiResponse) Reset() { + *x = MsgCardVoteMultiResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[61] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchConfirmResponse) String() string { +func (x *MsgCardVoteMultiResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchConfirmResponse) ProtoMessage() {} +func (*MsgCardVoteMultiResponse) ProtoMessage() {} -// Deprecated: Use MsgMatchConfirmResponse.ProtoReflect.Descriptor instead. -func (*MsgMatchConfirmResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{61} +// Deprecated: Use MsgCardVoteMultiResponse.ProtoReflect.Descriptor instead. +func (*MsgCardVoteMultiResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{77} +} + +func (x *MsgCardVoteMultiResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false } var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor @@ -30824,225 +38558,351 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x65, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xcd, 0x19, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, - 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, + 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, + 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, + 0x73, 0x69, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x4c, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, + 0x69, 0x6f, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, + 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x12, + 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, + 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, + 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, + 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x36, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, + 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, + 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, + 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, + 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, + 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x0a, + 0x1e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x76, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x0a, 0x10, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x6f, 0x74, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x42, + 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, + 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, + 0x65, 0x64, 0x32, 0xb5, 0x20, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, + 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, - 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, - 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, + 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, + 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, - 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, + 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, - 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, - 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, - 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, - 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, - 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, - 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, + 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, - 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, - 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, + 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, + 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, + 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, - 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, - 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, + 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, - 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, + 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, + 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, + 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, + 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, + 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, + 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, - 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, - 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, + 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, + 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, - 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, - 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, - 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, + 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, - 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, - 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, + 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, + 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, + 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, + 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, + 0x72, 0x64, 0x53, 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, - 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, + 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, + 0x74, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, + 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x6b, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, + 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, + 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, - 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, + 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, + 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, + 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, + 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x72, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, + 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, - 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, - 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, - 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, - 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, - 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, + 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -31057,7 +38917,7 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 62) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 78) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse @@ -31121,91 +38981,124 @@ var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgCouncilRestartResponse)(nil), // 59: cardchain.cardchain.MsgCouncilRestartResponse (*MsgMatchConfirm)(nil), // 60: cardchain.cardchain.MsgMatchConfirm (*MsgMatchConfirmResponse)(nil), // 61: cardchain.cardchain.MsgMatchConfirmResponse - (*Params)(nil), // 62: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 63: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 64: cardchain.cardchain.SingleVote - (Outcome)(0), // 65: cardchain.cardchain.Outcome - (CardRarity)(0), // 66: cardchain.cardchain.CardRarity - (Response)(0), // 67: cardchain.cardchain.Response + (*MsgProfileCardSet)(nil), // 62: cardchain.cardchain.MsgProfileCardSet + (*MsgProfileCardSetResponse)(nil), // 63: cardchain.cardchain.MsgProfileCardSetResponse + (*MsgProfileWebsiteSet)(nil), // 64: cardchain.cardchain.MsgProfileWebsiteSet + (*MsgProfileWebsiteSetResponse)(nil), // 65: cardchain.cardchain.MsgProfileWebsiteSetResponse + (*MsgProfileBioSet)(nil), // 66: cardchain.cardchain.MsgProfileBioSet + (*MsgProfileBioSetResponse)(nil), // 67: cardchain.cardchain.MsgProfileBioSetResponse + (*MsgBoosterPackOpen)(nil), // 68: cardchain.cardchain.MsgBoosterPackOpen + (*MsgBoosterPackOpenResponse)(nil), // 69: cardchain.cardchain.MsgBoosterPackOpenResponse + (*MsgBoosterPackTransfer)(nil), // 70: cardchain.cardchain.MsgBoosterPackTransfer + (*MsgBoosterPackTransferResponse)(nil), // 71: cardchain.cardchain.MsgBoosterPackTransferResponse + (*MsgSetStoryWriterSet)(nil), // 72: cardchain.cardchain.MsgSetStoryWriterSet + (*MsgSetStoryWriterSetResponse)(nil), // 73: cardchain.cardchain.MsgSetStoryWriterSetResponse + (*MsgSetArtistSet)(nil), // 74: cardchain.cardchain.MsgSetArtistSet + (*MsgSetArtistSetResponse)(nil), // 75: cardchain.cardchain.MsgSetArtistSetResponse + (*MsgCardVoteMulti)(nil), // 76: cardchain.cardchain.MsgCardVoteMulti + (*MsgCardVoteMultiResponse)(nil), // 77: cardchain.cardchain.MsgCardVoteMultiResponse + (*Params)(nil), // 78: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 79: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 80: cardchain.cardchain.SingleVote + (Outcome)(0), // 81: cardchain.cardchain.Outcome + (CardRarity)(0), // 82: cardchain.cardchain.CardRarity + (Response)(0), // 83: cardchain.cardchain.Response } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 62, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 63, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 64, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 63, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 65, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome - 63, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin - 66, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity - 67, // 7: cardchain.cardchain.MsgCouncilResponseReveal.reponse:type_name -> cardchain.cardchain.Response - 65, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome - 64, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote - 0, // 10: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams - 2, // 11: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate - 4, // 12: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy - 6, // 13: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent - 8, // 14: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote - 10, // 15: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer - 12, // 16: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate - 14, // 17: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd - 16, // 18: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange - 18, // 19: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister - 20, // 20: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister - 22, // 21: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport - 24, // 22: cardchain.cardchain.Msg.CouncilCreate:input_type -> cardchain.cardchain.MsgCouncilCreate - 26, // 23: cardchain.cardchain.Msg.MatchReporterAppoint:input_type -> cardchain.cardchain.MsgMatchReporterAppoint - 28, // 24: cardchain.cardchain.Msg.SetCreate:input_type -> cardchain.cardchain.MsgSetCreate - 30, // 25: cardchain.cardchain.Msg.SetCardAdd:input_type -> cardchain.cardchain.MsgSetCardAdd - 32, // 26: cardchain.cardchain.Msg.SetCardRemove:input_type -> cardchain.cardchain.MsgSetCardRemove - 34, // 27: cardchain.cardchain.Msg.SetContributorAdd:input_type -> cardchain.cardchain.MsgSetContributorAdd - 36, // 28: cardchain.cardchain.Msg.SetContributorRemove:input_type -> cardchain.cardchain.MsgSetContributorRemove - 38, // 29: cardchain.cardchain.Msg.SetFinalize:input_type -> cardchain.cardchain.MsgSetFinalize - 40, // 30: cardchain.cardchain.Msg.SetArtworkAdd:input_type -> cardchain.cardchain.MsgSetArtworkAdd - 42, // 31: cardchain.cardchain.Msg.SetStoryAdd:input_type -> cardchain.cardchain.MsgSetStoryAdd - 44, // 32: cardchain.cardchain.Msg.BoosterPackBuy:input_type -> cardchain.cardchain.MsgBoosterPackBuy - 46, // 33: cardchain.cardchain.Msg.SellOfferCreate:input_type -> cardchain.cardchain.MsgSellOfferCreate - 48, // 34: cardchain.cardchain.Msg.SellOfferBuy:input_type -> cardchain.cardchain.MsgSellOfferBuy - 50, // 35: cardchain.cardchain.Msg.SellOfferRemove:input_type -> cardchain.cardchain.MsgSellOfferRemove - 52, // 36: cardchain.cardchain.Msg.CardRaritySet:input_type -> cardchain.cardchain.MsgCardRaritySet - 54, // 37: cardchain.cardchain.Msg.CouncilResponseCommit:input_type -> cardchain.cardchain.MsgCouncilResponseCommit - 56, // 38: cardchain.cardchain.Msg.CouncilResponseReveal:input_type -> cardchain.cardchain.MsgCouncilResponseReveal - 58, // 39: cardchain.cardchain.Msg.CouncilRestart:input_type -> cardchain.cardchain.MsgCouncilRestart - 60, // 40: cardchain.cardchain.Msg.MatchConfirm:input_type -> cardchain.cardchain.MsgMatchConfirm - 1, // 41: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 42: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 43: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 44: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 45: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 46: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 47: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 48: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 49: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 50: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 51: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 52: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 25, // 53: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse - 27, // 54: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse - 29, // 55: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse - 31, // 56: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse - 33, // 57: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse - 35, // 58: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse - 37, // 59: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse - 39, // 60: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse - 41, // 61: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse - 43, // 62: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse - 45, // 63: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse - 47, // 64: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse - 49, // 65: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse - 51, // 66: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse - 53, // 67: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse - 55, // 68: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse - 57, // 69: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse - 59, // 70: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse - 61, // 71: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse - 41, // [41:72] is the sub-list for method output_type - 10, // [10:41] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 78, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 79, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 80, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 79, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 81, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 79, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin + 82, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity + 83, // 7: cardchain.cardchain.MsgCouncilResponseReveal.reponse:type_name -> cardchain.cardchain.Response + 81, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome + 80, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote + 80, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote + 0, // 11: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams + 2, // 12: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate + 4, // 13: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy + 6, // 14: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent + 8, // 15: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote + 10, // 16: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer + 12, // 17: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate + 14, // 18: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd + 16, // 19: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange + 18, // 20: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister + 20, // 21: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister + 22, // 22: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport + 24, // 23: cardchain.cardchain.Msg.CouncilCreate:input_type -> cardchain.cardchain.MsgCouncilCreate + 26, // 24: cardchain.cardchain.Msg.MatchReporterAppoint:input_type -> cardchain.cardchain.MsgMatchReporterAppoint + 28, // 25: cardchain.cardchain.Msg.SetCreate:input_type -> cardchain.cardchain.MsgSetCreate + 30, // 26: cardchain.cardchain.Msg.SetCardAdd:input_type -> cardchain.cardchain.MsgSetCardAdd + 32, // 27: cardchain.cardchain.Msg.SetCardRemove:input_type -> cardchain.cardchain.MsgSetCardRemove + 34, // 28: cardchain.cardchain.Msg.SetContributorAdd:input_type -> cardchain.cardchain.MsgSetContributorAdd + 36, // 29: cardchain.cardchain.Msg.SetContributorRemove:input_type -> cardchain.cardchain.MsgSetContributorRemove + 38, // 30: cardchain.cardchain.Msg.SetFinalize:input_type -> cardchain.cardchain.MsgSetFinalize + 40, // 31: cardchain.cardchain.Msg.SetArtworkAdd:input_type -> cardchain.cardchain.MsgSetArtworkAdd + 42, // 32: cardchain.cardchain.Msg.SetStoryAdd:input_type -> cardchain.cardchain.MsgSetStoryAdd + 44, // 33: cardchain.cardchain.Msg.BoosterPackBuy:input_type -> cardchain.cardchain.MsgBoosterPackBuy + 46, // 34: cardchain.cardchain.Msg.SellOfferCreate:input_type -> cardchain.cardchain.MsgSellOfferCreate + 48, // 35: cardchain.cardchain.Msg.SellOfferBuy:input_type -> cardchain.cardchain.MsgSellOfferBuy + 50, // 36: cardchain.cardchain.Msg.SellOfferRemove:input_type -> cardchain.cardchain.MsgSellOfferRemove + 52, // 37: cardchain.cardchain.Msg.CardRaritySet:input_type -> cardchain.cardchain.MsgCardRaritySet + 54, // 38: cardchain.cardchain.Msg.CouncilResponseCommit:input_type -> cardchain.cardchain.MsgCouncilResponseCommit + 56, // 39: cardchain.cardchain.Msg.CouncilResponseReveal:input_type -> cardchain.cardchain.MsgCouncilResponseReveal + 58, // 40: cardchain.cardchain.Msg.CouncilRestart:input_type -> cardchain.cardchain.MsgCouncilRestart + 60, // 41: cardchain.cardchain.Msg.MatchConfirm:input_type -> cardchain.cardchain.MsgMatchConfirm + 62, // 42: cardchain.cardchain.Msg.ProfileCardSet:input_type -> cardchain.cardchain.MsgProfileCardSet + 64, // 43: cardchain.cardchain.Msg.ProfileWebsiteSet:input_type -> cardchain.cardchain.MsgProfileWebsiteSet + 66, // 44: cardchain.cardchain.Msg.ProfileBioSet:input_type -> cardchain.cardchain.MsgProfileBioSet + 68, // 45: cardchain.cardchain.Msg.BoosterPackOpen:input_type -> cardchain.cardchain.MsgBoosterPackOpen + 70, // 46: cardchain.cardchain.Msg.BoosterPackTransfer:input_type -> cardchain.cardchain.MsgBoosterPackTransfer + 72, // 47: cardchain.cardchain.Msg.SetStoryWriterSet:input_type -> cardchain.cardchain.MsgSetStoryWriterSet + 74, // 48: cardchain.cardchain.Msg.SetArtistSet:input_type -> cardchain.cardchain.MsgSetArtistSet + 76, // 49: cardchain.cardchain.Msg.CardVoteMulti:input_type -> cardchain.cardchain.MsgCardVoteMulti + 1, // 50: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 51: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 52: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 53: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 54: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 55: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 56: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 57: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 58: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 59: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 60: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 61: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 25, // 62: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse + 27, // 63: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse + 29, // 64: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse + 31, // 65: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse + 33, // 66: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse + 35, // 67: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse + 37, // 68: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse + 39, // 69: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse + 41, // 70: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse + 43, // 71: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse + 45, // 72: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse + 47, // 73: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse + 49, // 74: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse + 51, // 75: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse + 53, // 76: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse + 55, // 77: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse + 57, // 78: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse + 59, // 79: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse + 61, // 80: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse + 63, // 81: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse + 65, // 82: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse + 67, // 83: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse + 69, // 84: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse + 71, // 85: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse + 73, // 86: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse + 75, // 87: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse + 77, // 88: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse + 50, // [50:89] is the sub-list for method output_type + 11, // [11:50] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_cardchain_cardchain_tx_proto_init() } @@ -31963,6 +39856,198 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } + file_cardchain_cardchain_tx_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProfileCardSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProfileCardSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProfileWebsiteSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProfileWebsiteSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProfileBioSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProfileBioSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgBoosterPackOpen); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgBoosterPackOpenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgBoosterPackTransfer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgBoosterPackTransferResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetStoryWriterSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetStoryWriterSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetArtistSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetArtistSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardVoteMulti); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardVoteMultiResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -31970,7 +40055,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 62, + NumMessages: 78, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index e77f6e05..348aa6e3 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -50,6 +50,14 @@ const ( Msg_CouncilResponseReveal_FullMethodName = "/cardchain.cardchain.Msg/CouncilResponseReveal" Msg_CouncilRestart_FullMethodName = "/cardchain.cardchain.Msg/CouncilRestart" Msg_MatchConfirm_FullMethodName = "/cardchain.cardchain.Msg/MatchConfirm" + Msg_ProfileCardSet_FullMethodName = "/cardchain.cardchain.Msg/ProfileCardSet" + Msg_ProfileWebsiteSet_FullMethodName = "/cardchain.cardchain.Msg/ProfileWebsiteSet" + Msg_ProfileBioSet_FullMethodName = "/cardchain.cardchain.Msg/ProfileBioSet" + Msg_BoosterPackOpen_FullMethodName = "/cardchain.cardchain.Msg/BoosterPackOpen" + Msg_BoosterPackTransfer_FullMethodName = "/cardchain.cardchain.Msg/BoosterPackTransfer" + Msg_SetStoryWriterSet_FullMethodName = "/cardchain.cardchain.Msg/SetStoryWriterSet" + Msg_SetArtistSet_FullMethodName = "/cardchain.cardchain.Msg/SetArtistSet" + Msg_CardVoteMulti_FullMethodName = "/cardchain.cardchain.Msg/CardVoteMulti" ) // MsgClient is the client API for Msg service. @@ -89,6 +97,14 @@ type MsgClient interface { CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) + ProfileCardSet(ctx context.Context, in *MsgProfileCardSet, opts ...grpc.CallOption) (*MsgProfileCardSetResponse, error) + ProfileWebsiteSet(ctx context.Context, in *MsgProfileWebsiteSet, opts ...grpc.CallOption) (*MsgProfileWebsiteSetResponse, error) + ProfileBioSet(ctx context.Context, in *MsgProfileBioSet, opts ...grpc.CallOption) (*MsgProfileBioSetResponse, error) + BoosterPackOpen(ctx context.Context, in *MsgBoosterPackOpen, opts ...grpc.CallOption) (*MsgBoosterPackOpenResponse, error) + BoosterPackTransfer(ctx context.Context, in *MsgBoosterPackTransfer, opts ...grpc.CallOption) (*MsgBoosterPackTransferResponse, error) + SetStoryWriterSet(ctx context.Context, in *MsgSetStoryWriterSet, opts ...grpc.CallOption) (*MsgSetStoryWriterSetResponse, error) + SetArtistSet(ctx context.Context, in *MsgSetArtistSet, opts ...grpc.CallOption) (*MsgSetArtistSetResponse, error) + CardVoteMulti(ctx context.Context, in *MsgCardVoteMulti, opts ...grpc.CallOption) (*MsgCardVoteMultiResponse, error) } type msgClient struct { @@ -378,6 +394,78 @@ func (c *msgClient) MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts return out, nil } +func (c *msgClient) ProfileCardSet(ctx context.Context, in *MsgProfileCardSet, opts ...grpc.CallOption) (*MsgProfileCardSetResponse, error) { + out := new(MsgProfileCardSetResponse) + err := c.cc.Invoke(ctx, Msg_ProfileCardSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ProfileWebsiteSet(ctx context.Context, in *MsgProfileWebsiteSet, opts ...grpc.CallOption) (*MsgProfileWebsiteSetResponse, error) { + out := new(MsgProfileWebsiteSetResponse) + err := c.cc.Invoke(ctx, Msg_ProfileWebsiteSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ProfileBioSet(ctx context.Context, in *MsgProfileBioSet, opts ...grpc.CallOption) (*MsgProfileBioSetResponse, error) { + out := new(MsgProfileBioSetResponse) + err := c.cc.Invoke(ctx, Msg_ProfileBioSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) BoosterPackOpen(ctx context.Context, in *MsgBoosterPackOpen, opts ...grpc.CallOption) (*MsgBoosterPackOpenResponse, error) { + out := new(MsgBoosterPackOpenResponse) + err := c.cc.Invoke(ctx, Msg_BoosterPackOpen_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) BoosterPackTransfer(ctx context.Context, in *MsgBoosterPackTransfer, opts ...grpc.CallOption) (*MsgBoosterPackTransferResponse, error) { + out := new(MsgBoosterPackTransferResponse) + err := c.cc.Invoke(ctx, Msg_BoosterPackTransfer_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SetStoryWriterSet(ctx context.Context, in *MsgSetStoryWriterSet, opts ...grpc.CallOption) (*MsgSetStoryWriterSetResponse, error) { + out := new(MsgSetStoryWriterSetResponse) + err := c.cc.Invoke(ctx, Msg_SetStoryWriterSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SetArtistSet(ctx context.Context, in *MsgSetArtistSet, opts ...grpc.CallOption) (*MsgSetArtistSetResponse, error) { + out := new(MsgSetArtistSetResponse) + err := c.cc.Invoke(ctx, Msg_SetArtistSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CardVoteMulti(ctx context.Context, in *MsgCardVoteMulti, opts ...grpc.CallOption) (*MsgCardVoteMultiResponse, error) { + out := new(MsgCardVoteMultiResponse) + err := c.cc.Invoke(ctx, Msg_CardVoteMulti_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -415,6 +503,14 @@ type MsgServer interface { CouncilResponseReveal(context.Context, *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) CouncilRestart(context.Context, *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) MatchConfirm(context.Context, *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) + ProfileCardSet(context.Context, *MsgProfileCardSet) (*MsgProfileCardSetResponse, error) + ProfileWebsiteSet(context.Context, *MsgProfileWebsiteSet) (*MsgProfileWebsiteSetResponse, error) + ProfileBioSet(context.Context, *MsgProfileBioSet) (*MsgProfileBioSetResponse, error) + BoosterPackOpen(context.Context, *MsgBoosterPackOpen) (*MsgBoosterPackOpenResponse, error) + BoosterPackTransfer(context.Context, *MsgBoosterPackTransfer) (*MsgBoosterPackTransferResponse, error) + SetStoryWriterSet(context.Context, *MsgSetStoryWriterSet) (*MsgSetStoryWriterSetResponse, error) + SetArtistSet(context.Context, *MsgSetArtistSet) (*MsgSetArtistSetResponse, error) + CardVoteMulti(context.Context, *MsgCardVoteMulti) (*MsgCardVoteMultiResponse, error) mustEmbedUnimplementedMsgServer() } @@ -515,6 +611,30 @@ func (UnimplementedMsgServer) CouncilRestart(context.Context, *MsgCouncilRestart func (UnimplementedMsgServer) MatchConfirm(context.Context, *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method MatchConfirm not implemented") } +func (UnimplementedMsgServer) ProfileCardSet(context.Context, *MsgProfileCardSet) (*MsgProfileCardSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProfileCardSet not implemented") +} +func (UnimplementedMsgServer) ProfileWebsiteSet(context.Context, *MsgProfileWebsiteSet) (*MsgProfileWebsiteSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProfileWebsiteSet not implemented") +} +func (UnimplementedMsgServer) ProfileBioSet(context.Context, *MsgProfileBioSet) (*MsgProfileBioSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProfileBioSet not implemented") +} +func (UnimplementedMsgServer) BoosterPackOpen(context.Context, *MsgBoosterPackOpen) (*MsgBoosterPackOpenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BoosterPackOpen not implemented") +} +func (UnimplementedMsgServer) BoosterPackTransfer(context.Context, *MsgBoosterPackTransfer) (*MsgBoosterPackTransferResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BoosterPackTransfer not implemented") +} +func (UnimplementedMsgServer) SetStoryWriterSet(context.Context, *MsgSetStoryWriterSet) (*MsgSetStoryWriterSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetStoryWriterSet not implemented") +} +func (UnimplementedMsgServer) SetArtistSet(context.Context, *MsgSetArtistSet) (*MsgSetArtistSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetArtistSet not implemented") +} +func (UnimplementedMsgServer) CardVoteMulti(context.Context, *MsgCardVoteMulti) (*MsgCardVoteMultiResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardVoteMulti not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -1086,6 +1206,150 @@ func _Msg_MatchConfirm_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Msg_ProfileCardSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgProfileCardSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ProfileCardSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_ProfileCardSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ProfileCardSet(ctx, req.(*MsgProfileCardSet)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ProfileWebsiteSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgProfileWebsiteSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ProfileWebsiteSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_ProfileWebsiteSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ProfileWebsiteSet(ctx, req.(*MsgProfileWebsiteSet)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ProfileBioSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgProfileBioSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ProfileBioSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_ProfileBioSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ProfileBioSet(ctx, req.(*MsgProfileBioSet)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_BoosterPackOpen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBoosterPackOpen) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).BoosterPackOpen(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_BoosterPackOpen_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BoosterPackOpen(ctx, req.(*MsgBoosterPackOpen)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_BoosterPackTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBoosterPackTransfer) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).BoosterPackTransfer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_BoosterPackTransfer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BoosterPackTransfer(ctx, req.(*MsgBoosterPackTransfer)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetStoryWriterSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetStoryWriterSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetStoryWriterSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetStoryWriterSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetStoryWriterSet(ctx, req.(*MsgSetStoryWriterSet)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetArtistSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetArtistSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetArtistSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetArtistSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetArtistSet(ctx, req.(*MsgSetArtistSet)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardVoteMulti_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardVoteMulti) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardVoteMulti(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CardVoteMulti_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardVoteMulti(ctx, req.(*MsgCardVoteMulti)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1217,6 +1481,38 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "MatchConfirm", Handler: _Msg_MatchConfirm_Handler, }, + { + MethodName: "ProfileCardSet", + Handler: _Msg_ProfileCardSet_Handler, + }, + { + MethodName: "ProfileWebsiteSet", + Handler: _Msg_ProfileWebsiteSet_Handler, + }, + { + MethodName: "ProfileBioSet", + Handler: _Msg_ProfileBioSet_Handler, + }, + { + MethodName: "BoosterPackOpen", + Handler: _Msg_BoosterPackOpen_Handler, + }, + { + MethodName: "BoosterPackTransfer", + Handler: _Msg_BoosterPackTransfer_Handler, + }, + { + MethodName: "SetStoryWriterSet", + Handler: _Msg_SetStoryWriterSet_Handler, + }, + { + MethodName: "SetArtistSet", + Handler: _Msg_SetArtistSet_Handler, + }, + { + MethodName: "CardVoteMulti", + Handler: _Msg_CardVoteMulti_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index f6ae705f..c78fcad3 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"integer","format":"int32"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh index a0cc1ee2..253e2af1 100755 --- a/gen.sh +++ b/gen.sh @@ -32,11 +32,11 @@ #ignite scaffold message CouncilResponseReveal councilId:uint reponse:int secret #ignite scaffold message CouncilRestart councilId:uint #ignite scaffold message MatchConfirm matchId:uint outcome:int votedCards:array.int -ignite scaffold message ProfileCardSet cardId:uin -ignite scaffold message ProfileWebsiteSet website -ignite scaffold message ProfileBioSet bio -ignite scaffold message BoosterPackOpen boosterPackId:uint --response cardIds:uints -ignite scaffold message BoosterPackTransfer boosterPackId:uint receiver -ignite scaffold message SetStoryWriterSet setId:uint storyWriter -ignite scaffold message SetArtistSet setId:uint artist -ignite scaffold message CardVoteMulti votes:array.int --response airdropClaimed:bool +#ignite scaffold message ProfileCardSet cardId:uint +#ignite scaffold message ProfileWebsiteSet website +#ignite scaffold message ProfileBioSet bio +#ignite scaffold message BoosterPackOpen boosterPackId:uint --response cardIds:uints +#ignite scaffold message BoosterPackTransfer boosterPackId:uint receiver +#ignite scaffold message SetStoryWriterSet setId:uint storyWriter +#ignite scaffold message SetArtistSet setId:uint artist +#ignite scaffold message CardVoteMulti votes:array.int --response airdropClaimed:bool diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 4e388a6b..06d123b4 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -59,6 +59,17 @@ service Msg { returns (MsgCouncilResponseRevealResponse); rpc CouncilRestart(MsgCouncilRestart) returns (MsgCouncilRestartResponse); rpc MatchConfirm(MsgMatchConfirm) returns (MsgMatchConfirmResponse); + rpc ProfileCardSet(MsgProfileCardSet) returns (MsgProfileCardSetResponse); + rpc ProfileWebsiteSet(MsgProfileWebsiteSet) + returns (MsgProfileWebsiteSetResponse); + rpc ProfileBioSet(MsgProfileBioSet) returns (MsgProfileBioSetResponse); + rpc BoosterPackOpen(MsgBoosterPackOpen) returns (MsgBoosterPackOpenResponse); + rpc BoosterPackTransfer(MsgBoosterPackTransfer) + returns (MsgBoosterPackTransferResponse); + rpc SetStoryWriterSet(MsgSetStoryWriterSet) + returns (MsgSetStoryWriterSetResponse); + rpc SetArtistSet(MsgSetArtistSet) returns (MsgSetArtistSetResponse); + rpc CardVoteMulti(MsgCardVoteMulti) returns (MsgCardVoteMultiResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -348,3 +359,70 @@ message MsgMatchConfirm { } message MsgMatchConfirmResponse {} + +message MsgProfileCardSet { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 cardId = 2; +} + +message MsgProfileCardSetResponse {} + +message MsgProfileWebsiteSet { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string website = 2; +} + +message MsgProfileWebsiteSetResponse {} + +message MsgProfileBioSet { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string bio = 2; +} + +message MsgProfileBioSetResponse {} + +message MsgBoosterPackOpen { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 boosterPackId = 2; +} + +message MsgBoosterPackOpenResponse { repeated uint64 cardIds = 1; } + +message MsgBoosterPackTransfer { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 boosterPackId = 2; + string receiver = 3; +} + +message MsgBoosterPackTransferResponse {} + +message MsgSetStoryWriterSet { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 setId = 2; + string storyWriter = 3; +} + +message MsgSetStoryWriterSetResponse {} + +message MsgSetArtistSet { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 setId = 2; + string artist = 3; +} + +message MsgSetArtistSetResponse {} + +message MsgCardVoteMulti { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + repeated SingleVote votes = 2; +} + +message MsgCardVoteMultiResponse { bool airdropClaimed = 1; } diff --git a/x/cardchain/keeper/msg_server_booster_pack_open.go b/x/cardchain/keeper/msg_server_booster_pack_open.go new file mode 100644 index 00000000..aa61826d --- /dev/null +++ b/x/cardchain/keeper/msg_server_booster_pack_open.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) BoosterPackOpen(goCtx context.Context, msg *types.MsgBoosterPackOpen) (*types.MsgBoosterPackOpenResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgBoosterPackOpenResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_booster_pack_transfer.go b/x/cardchain/keeper/msg_server_booster_pack_transfer.go new file mode 100644 index 00000000..cf22c753 --- /dev/null +++ b/x/cardchain/keeper/msg_server_booster_pack_transfer.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) BoosterPackTransfer(goCtx context.Context, msg *types.MsgBoosterPackTransfer) (*types.MsgBoosterPackTransferResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgBoosterPackTransferResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_card_vote_multi.go b/x/cardchain/keeper/msg_server_card_vote_multi.go new file mode 100644 index 00000000..a4246882 --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_vote_multi.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CardVoteMulti(goCtx context.Context, msg *types.MsgCardVoteMulti) (*types.MsgCardVoteMultiResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgCardVoteMultiResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_profile_bio_set.go b/x/cardchain/keeper/msg_server_profile_bio_set.go new file mode 100644 index 00000000..77ca1b2c --- /dev/null +++ b/x/cardchain/keeper/msg_server_profile_bio_set.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) ProfileBioSet(goCtx context.Context, msg *types.MsgProfileBioSet) (*types.MsgProfileBioSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgProfileBioSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_profile_card_set.go b/x/cardchain/keeper/msg_server_profile_card_set.go new file mode 100644 index 00000000..c14ad4d8 --- /dev/null +++ b/x/cardchain/keeper/msg_server_profile_card_set.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) ProfileCardSet(goCtx context.Context, msg *types.MsgProfileCardSet) (*types.MsgProfileCardSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgProfileCardSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_profile_website_set.go b/x/cardchain/keeper/msg_server_profile_website_set.go new file mode 100644 index 00000000..6b55f6fa --- /dev/null +++ b/x/cardchain/keeper/msg_server_profile_website_set.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) ProfileWebsiteSet(goCtx context.Context, msg *types.MsgProfileWebsiteSet) (*types.MsgProfileWebsiteSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgProfileWebsiteSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_artist_set.go b/x/cardchain/keeper/msg_server_set_artist_set.go new file mode 100644 index 00000000..ad439848 --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_artist_set.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetArtistSet(goCtx context.Context, msg *types.MsgSetArtistSet) (*types.MsgSetArtistSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSetArtistSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_story_writer_set.go b/x/cardchain/keeper/msg_server_set_story_writer_set.go new file mode 100644 index 00000000..27c212e2 --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_story_writer_set.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetStoryWriterSet(goCtx context.Context, msg *types.MsgSetStoryWriterSet) (*types.MsgSetStoryWriterSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSetStoryWriterSetResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index acf8afd2..cf18d0cd 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -208,6 +208,54 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Send a MatchConfirm tx", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "matchId"}, {ProtoField: "outcome"}, {ProtoField: "votedCards"}}, }, + { + RpcMethod: "ProfileCardSet", + Use: "profile-card-set [card-id]", + Short: "Send a ProfileCardSet tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}}, + }, + { + RpcMethod: "ProfileWebsiteSet", + Use: "profile-website-set [website]", + Short: "Send a ProfileWebsiteSet tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "website"}}, + }, + { + RpcMethod: "ProfileBioSet", + Use: "profile-bio-set [bio]", + Short: "Send a ProfileBioSet tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "bio"}}, + }, + { + RpcMethod: "BoosterPackOpen", + Use: "booster-pack-open [booster-pack-id]", + Short: "Send a BoosterPackOpen tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "boosterPackId"}}, + }, + { + RpcMethod: "BoosterPackTransfer", + Use: "booster-pack-transfer [booster-pack-id] [receiver]", + Short: "Send a BoosterPackTransfer tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "boosterPackId"}, {ProtoField: "receiver"}}, + }, + { + RpcMethod: "SetStoryWriterSet", + Use: "set-story-writer-set [set-id] [story-writer]", + Short: "Send a SetStoryWriterSet tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}, {ProtoField: "storyWriter"}}, + }, + { + RpcMethod: "SetArtistSet", + Use: "set-artist-set [set-id] [artist]", + Short: "Send a SetArtistSet tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}, {ProtoField: "artist"}}, + }, + { + RpcMethod: "CardVoteMulti", + Use: "card-vote-multi [votes]", + Short: "Send a CardVoteMulti tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "votes"}}, + }, // this line is used by ignite scaffolding # autocli/tx }, }, diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index 453e41d6..c28370dd 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -143,6 +143,38 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgMatchConfirm int = 100 + opWeightMsgProfileCardSet = "op_weight_msg_profile_card_set" + // TODO: Determine the simulation weight value + defaultWeightMsgProfileCardSet int = 100 + + opWeightMsgProfileWebsiteSet = "op_weight_msg_profile_website_set" + // TODO: Determine the simulation weight value + defaultWeightMsgProfileWebsiteSet int = 100 + + opWeightMsgProfileBioSet = "op_weight_msg_profile_bio_set" + // TODO: Determine the simulation weight value + defaultWeightMsgProfileBioSet int = 100 + + opWeightMsgBoosterPackOpen = "op_weight_msg_booster_pack_open" + // TODO: Determine the simulation weight value + defaultWeightMsgBoosterPackOpen int = 100 + + opWeightMsgBoosterPackTransfer = "op_weight_msg_booster_pack_transfer" + // TODO: Determine the simulation weight value + defaultWeightMsgBoosterPackTransfer int = 100 + + opWeightMsgSetStoryWriterSet = "op_weight_msg_set_story_writer_set" + // TODO: Determine the simulation weight value + defaultWeightMsgSetStoryWriterSet int = 100 + + opWeightMsgSetArtistSet = "op_weight_msg_set_artist_set" + // TODO: Determine the simulation weight value + defaultWeightMsgSetArtistSet int = 100 + + opWeightMsgCardVoteMulti = "op_weight_msg_card_vote_multi" + // TODO: Determine the simulation weight value + defaultWeightMsgCardVoteMulti int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -496,6 +528,94 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgMatchConfirm(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgProfileCardSet int + simState.AppParams.GetOrGenerate(opWeightMsgProfileCardSet, &weightMsgProfileCardSet, nil, + func(_ *rand.Rand) { + weightMsgProfileCardSet = defaultWeightMsgProfileCardSet + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgProfileCardSet, + cardchainsimulation.SimulateMsgProfileCardSet(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgProfileWebsiteSet int + simState.AppParams.GetOrGenerate(opWeightMsgProfileWebsiteSet, &weightMsgProfileWebsiteSet, nil, + func(_ *rand.Rand) { + weightMsgProfileWebsiteSet = defaultWeightMsgProfileWebsiteSet + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgProfileWebsiteSet, + cardchainsimulation.SimulateMsgProfileWebsiteSet(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgProfileBioSet int + simState.AppParams.GetOrGenerate(opWeightMsgProfileBioSet, &weightMsgProfileBioSet, nil, + func(_ *rand.Rand) { + weightMsgProfileBioSet = defaultWeightMsgProfileBioSet + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgProfileBioSet, + cardchainsimulation.SimulateMsgProfileBioSet(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgBoosterPackOpen int + simState.AppParams.GetOrGenerate(opWeightMsgBoosterPackOpen, &weightMsgBoosterPackOpen, nil, + func(_ *rand.Rand) { + weightMsgBoosterPackOpen = defaultWeightMsgBoosterPackOpen + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgBoosterPackOpen, + cardchainsimulation.SimulateMsgBoosterPackOpen(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgBoosterPackTransfer int + simState.AppParams.GetOrGenerate(opWeightMsgBoosterPackTransfer, &weightMsgBoosterPackTransfer, nil, + func(_ *rand.Rand) { + weightMsgBoosterPackTransfer = defaultWeightMsgBoosterPackTransfer + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgBoosterPackTransfer, + cardchainsimulation.SimulateMsgBoosterPackTransfer(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSetStoryWriterSet int + simState.AppParams.GetOrGenerate(opWeightMsgSetStoryWriterSet, &weightMsgSetStoryWriterSet, nil, + func(_ *rand.Rand) { + weightMsgSetStoryWriterSet = defaultWeightMsgSetStoryWriterSet + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetStoryWriterSet, + cardchainsimulation.SimulateMsgSetStoryWriterSet(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSetArtistSet int + simState.AppParams.GetOrGenerate(opWeightMsgSetArtistSet, &weightMsgSetArtistSet, nil, + func(_ *rand.Rand) { + weightMsgSetArtistSet = defaultWeightMsgSetArtistSet + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetArtistSet, + cardchainsimulation.SimulateMsgSetArtistSet(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgCardVoteMulti int + simState.AppParams.GetOrGenerate(opWeightMsgCardVoteMulti, &weightMsgCardVoteMulti, nil, + func(_ *rand.Rand) { + weightMsgCardVoteMulti = defaultWeightMsgCardVoteMulti + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardVoteMulti, + cardchainsimulation.SimulateMsgCardVoteMulti(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -744,6 +864,70 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei return nil }, ), + simulation.NewWeightedProposalMsg( + opWeightMsgProfileCardSet, + defaultWeightMsgProfileCardSet, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgProfileCardSet(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgProfileWebsiteSet, + defaultWeightMsgProfileWebsiteSet, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgProfileWebsiteSet(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgProfileBioSet, + defaultWeightMsgProfileBioSet, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgProfileBioSet(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgBoosterPackOpen, + defaultWeightMsgBoosterPackOpen, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgBoosterPackOpen(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgBoosterPackTransfer, + defaultWeightMsgBoosterPackTransfer, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgBoosterPackTransfer(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSetStoryWriterSet, + defaultWeightMsgSetStoryWriterSet, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSetStoryWriterSet(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSetArtistSet, + defaultWeightMsgSetArtistSet, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSetArtistSet(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgCardVoteMulti, + defaultWeightMsgCardVoteMulti, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCardVoteMulti(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/booster_pack_open.go b/x/cardchain/simulation/booster_pack_open.go new file mode 100644 index 00000000..7fa84fed --- /dev/null +++ b/x/cardchain/simulation/booster_pack_open.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 SimulateMsgBoosterPackOpen( + 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.MsgBoosterPackOpen{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the BoosterPackOpen simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "BoosterPackOpen simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/booster_pack_transfer.go b/x/cardchain/simulation/booster_pack_transfer.go new file mode 100644 index 00000000..0c1c3b35 --- /dev/null +++ b/x/cardchain/simulation/booster_pack_transfer.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 SimulateMsgBoosterPackTransfer( + 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.MsgBoosterPackTransfer{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the BoosterPackTransfer simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "BoosterPackTransfer simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/card_vote_multi.go b/x/cardchain/simulation/card_vote_multi.go new file mode 100644 index 00000000..b5df5ca7 --- /dev/null +++ b/x/cardchain/simulation/card_vote_multi.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 SimulateMsgCardVoteMulti( + 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.MsgCardVoteMulti{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the CardVoteMulti simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CardVoteMulti simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/profile_bio_set.go b/x/cardchain/simulation/profile_bio_set.go new file mode 100644 index 00000000..88bbe550 --- /dev/null +++ b/x/cardchain/simulation/profile_bio_set.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 SimulateMsgProfileBioSet( + 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.MsgProfileBioSet{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the ProfileBioSet simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "ProfileBioSet simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/profile_card_set.go b/x/cardchain/simulation/profile_card_set.go new file mode 100644 index 00000000..6729ac84 --- /dev/null +++ b/x/cardchain/simulation/profile_card_set.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 SimulateMsgProfileCardSet( + 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.MsgProfileCardSet{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the ProfileCardSet simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "ProfileCardSet simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/profile_website_set.go b/x/cardchain/simulation/profile_website_set.go new file mode 100644 index 00000000..7b4de71c --- /dev/null +++ b/x/cardchain/simulation/profile_website_set.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 SimulateMsgProfileWebsiteSet( + 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.MsgProfileWebsiteSet{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the ProfileWebsiteSet simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "ProfileWebsiteSet simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_artist_set.go b/x/cardchain/simulation/set_artist_set.go new file mode 100644 index 00000000..b3d9c2d6 --- /dev/null +++ b/x/cardchain/simulation/set_artist_set.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 SimulateMsgSetArtistSet( + 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.MsgSetArtistSet{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetArtistSet simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SetArtistSet simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_story_writer_set.go b/x/cardchain/simulation/set_story_writer_set.go new file mode 100644 index 00000000..c21ff148 --- /dev/null +++ b/x/cardchain/simulation/set_story_writer_set.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 SimulateMsgSetStoryWriterSet( + 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.MsgSetStoryWriterSet{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetStoryWriterSet simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SetStoryWriterSet simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 81b69938..663fe17c 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -98,6 +98,30 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgMatchConfirm{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgProfileCardSet{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgProfileWebsiteSet{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgProfileBioSet{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgBoosterPackOpen{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgBoosterPackTransfer{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetStoryWriterSet{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetArtistSet{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardVoteMulti{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/cardchain/types/message_booster_pack_open.go b/x/cardchain/types/message_booster_pack_open.go new file mode 100644 index 00000000..e5567a2e --- /dev/null +++ b/x/cardchain/types/message_booster_pack_open.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgBoosterPackOpen{} + +func NewMsgBoosterPackOpen(creator string, boosterPackId uint64) *MsgBoosterPackOpen { + return &MsgBoosterPackOpen{ + Creator: creator, + BoosterPackId: boosterPackId, + } +} + +func (msg *MsgBoosterPackOpen) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_booster_pack_open_test.go b/x/cardchain/types/message_booster_pack_open_test.go new file mode 100644 index 00000000..a00734a8 --- /dev/null +++ b/x/cardchain/types/message_booster_pack_open_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgBoosterPackOpen_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgBoosterPackOpen + err error + }{ + { + name: "invalid address", + msg: MsgBoosterPackOpen{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgBoosterPackOpen{ + 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_booster_pack_transfer.go b/x/cardchain/types/message_booster_pack_transfer.go new file mode 100644 index 00000000..f4dfd6e5 --- /dev/null +++ b/x/cardchain/types/message_booster_pack_transfer.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgBoosterPackTransfer{} + +func NewMsgBoosterPackTransfer(creator string, boosterPackId uint64, receiver string) *MsgBoosterPackTransfer { + return &MsgBoosterPackTransfer{ + Creator: creator, + BoosterPackId: boosterPackId, + Receiver: receiver, + } +} + +func (msg *MsgBoosterPackTransfer) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_booster_pack_transfer_test.go b/x/cardchain/types/message_booster_pack_transfer_test.go new file mode 100644 index 00000000..badd5976 --- /dev/null +++ b/x/cardchain/types/message_booster_pack_transfer_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgBoosterPackTransfer_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgBoosterPackTransfer + err error + }{ + { + name: "invalid address", + msg: MsgBoosterPackTransfer{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgBoosterPackTransfer{ + 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_card_vote_multi.go b/x/cardchain/types/message_card_vote_multi.go new file mode 100644 index 00000000..5aa16193 --- /dev/null +++ b/x/cardchain/types/message_card_vote_multi.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCardVoteMulti{} + +func NewMsgCardVoteMulti(creator string, votes []*SingleVote) *MsgCardVoteMulti { + return &MsgCardVoteMulti{ + Creator: creator, + Votes: votes, + } +} + +func (msg *MsgCardVoteMulti) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_card_vote_multi_test.go b/x/cardchain/types/message_card_vote_multi_test.go new file mode 100644 index 00000000..06c2e5a4 --- /dev/null +++ b/x/cardchain/types/message_card_vote_multi_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCardVoteMulti_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardVoteMulti + err error + }{ + { + name: "invalid address", + msg: MsgCardVoteMulti{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardVoteMulti{ + 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_profile_bio_set.go b/x/cardchain/types/message_profile_bio_set.go new file mode 100644 index 00000000..3255a2e8 --- /dev/null +++ b/x/cardchain/types/message_profile_bio_set.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgProfileBioSet{} + +func NewMsgProfileBioSet(creator string, bio string) *MsgProfileBioSet { + return &MsgProfileBioSet{ + Creator: creator, + Bio: bio, + } +} + +func (msg *MsgProfileBioSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_profile_bio_set_test.go b/x/cardchain/types/message_profile_bio_set_test.go new file mode 100644 index 00000000..3c38afaa --- /dev/null +++ b/x/cardchain/types/message_profile_bio_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgProfileBioSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgProfileBioSet + err error + }{ + { + name: "invalid address", + msg: MsgProfileBioSet{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgProfileBioSet{ + 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_profile_card_set.go b/x/cardchain/types/message_profile_card_set.go new file mode 100644 index 00000000..ddf1bfc1 --- /dev/null +++ b/x/cardchain/types/message_profile_card_set.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgProfileCardSet{} + +func NewMsgProfileCardSet(creator string, cardId uint64) *MsgProfileCardSet { + return &MsgProfileCardSet{ + Creator: creator, + CardId: cardId, + } +} + +func (msg *MsgProfileCardSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_profile_card_set_test.go b/x/cardchain/types/message_profile_card_set_test.go new file mode 100644 index 00000000..7b6c33b4 --- /dev/null +++ b/x/cardchain/types/message_profile_card_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgProfileCardSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgProfileCardSet + err error + }{ + { + name: "invalid address", + msg: MsgProfileCardSet{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgProfileCardSet{ + 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_profile_website_set.go b/x/cardchain/types/message_profile_website_set.go new file mode 100644 index 00000000..67c5847d --- /dev/null +++ b/x/cardchain/types/message_profile_website_set.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgProfileWebsiteSet{} + +func NewMsgProfileWebsiteSet(creator string, website string) *MsgProfileWebsiteSet { + return &MsgProfileWebsiteSet{ + Creator: creator, + Website: website, + } +} + +func (msg *MsgProfileWebsiteSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_profile_website_set_test.go b/x/cardchain/types/message_profile_website_set_test.go new file mode 100644 index 00000000..c4c968ec --- /dev/null +++ b/x/cardchain/types/message_profile_website_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgProfileWebsiteSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgProfileWebsiteSet + err error + }{ + { + name: "invalid address", + msg: MsgProfileWebsiteSet{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgProfileWebsiteSet{ + 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_artist_set.go b/x/cardchain/types/message_set_artist_set.go new file mode 100644 index 00000000..0f272785 --- /dev/null +++ b/x/cardchain/types/message_set_artist_set.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSetArtistSet{} + +func NewMsgSetArtistSet(creator string, setId uint64, artist string) *MsgSetArtistSet { + return &MsgSetArtistSet{ + Creator: creator, + SetId: setId, + Artist: artist, + } +} + +func (msg *MsgSetArtistSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_artist_set_test.go b/x/cardchain/types/message_set_artist_set_test.go new file mode 100644 index 00000000..37a76192 --- /dev/null +++ b/x/cardchain/types/message_set_artist_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetArtistSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetArtistSet + err error + }{ + { + name: "invalid address", + msg: MsgSetArtistSet{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetArtistSet{ + 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_story_writer_set.go b/x/cardchain/types/message_set_story_writer_set.go new file mode 100644 index 00000000..43546c8b --- /dev/null +++ b/x/cardchain/types/message_set_story_writer_set.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSetStoryWriterSet{} + +func NewMsgSetStoryWriterSet(creator string, setId uint64, storyWriter string) *MsgSetStoryWriterSet { + return &MsgSetStoryWriterSet{ + Creator: creator, + SetId: setId, + StoryWriter: storyWriter, + } +} + +func (msg *MsgSetStoryWriterSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_story_writer_set_test.go b/x/cardchain/types/message_set_story_writer_set_test.go new file mode 100644 index 00000000..8850cbba --- /dev/null +++ b/x/cardchain/types/message_set_story_writer_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetStoryWriterSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetStoryWriterSet + err error + }{ + { + name: "invalid address", + msg: MsgSetStoryWriterSet{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetStoryWriterSet{ + 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/tx.pb.go b/x/cardchain/types/tx.pb.go index 12256a01..c91b917d 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -3030,2095 +3030,2436 @@ func (m *MsgMatchConfirmResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgMatchConfirmResponse proto.InternalMessageInfo -func init() { - proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") - proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") - proto.RegisterType((*MsgUserCreate)(nil), "cardchain.cardchain.MsgUserCreate") - proto.RegisterType((*MsgUserCreateResponse)(nil), "cardchain.cardchain.MsgUserCreateResponse") - proto.RegisterType((*MsgCardSchemeBuy)(nil), "cardchain.cardchain.MsgCardSchemeBuy") - proto.RegisterType((*MsgCardSchemeBuyResponse)(nil), "cardchain.cardchain.MsgCardSchemeBuyResponse") - proto.RegisterType((*MsgCardSaveContent)(nil), "cardchain.cardchain.MsgCardSaveContent") - proto.RegisterType((*MsgCardSaveContentResponse)(nil), "cardchain.cardchain.MsgCardSaveContentResponse") - proto.RegisterType((*MsgCardVote)(nil), "cardchain.cardchain.MsgCardVote") - proto.RegisterType((*MsgCardVoteResponse)(nil), "cardchain.cardchain.MsgCardVoteResponse") - proto.RegisterType((*MsgCardTransfer)(nil), "cardchain.cardchain.MsgCardTransfer") - proto.RegisterType((*MsgCardTransferResponse)(nil), "cardchain.cardchain.MsgCardTransferResponse") - proto.RegisterType((*MsgCardDonate)(nil), "cardchain.cardchain.MsgCardDonate") - proto.RegisterType((*MsgCardDonateResponse)(nil), "cardchain.cardchain.MsgCardDonateResponse") - proto.RegisterType((*MsgCardArtworkAdd)(nil), "cardchain.cardchain.MsgCardArtworkAdd") - proto.RegisterType((*MsgCardArtworkAddResponse)(nil), "cardchain.cardchain.MsgCardArtworkAddResponse") - proto.RegisterType((*MsgCardArtistChange)(nil), "cardchain.cardchain.MsgCardArtistChange") - proto.RegisterType((*MsgCardArtistChangeResponse)(nil), "cardchain.cardchain.MsgCardArtistChangeResponse") - proto.RegisterType((*MsgCouncilRegister)(nil), "cardchain.cardchain.MsgCouncilRegister") - proto.RegisterType((*MsgCouncilRegisterResponse)(nil), "cardchain.cardchain.MsgCouncilRegisterResponse") - proto.RegisterType((*MsgCouncilDeregister)(nil), "cardchain.cardchain.MsgCouncilDeregister") - proto.RegisterType((*MsgCouncilDeregisterResponse)(nil), "cardchain.cardchain.MsgCouncilDeregisterResponse") - proto.RegisterType((*MsgMatchReport)(nil), "cardchain.cardchain.MsgMatchReport") - proto.RegisterType((*MsgMatchReportResponse)(nil), "cardchain.cardchain.MsgMatchReportResponse") - proto.RegisterType((*MsgCouncilCreate)(nil), "cardchain.cardchain.MsgCouncilCreate") - proto.RegisterType((*MsgCouncilCreateResponse)(nil), "cardchain.cardchain.MsgCouncilCreateResponse") - proto.RegisterType((*MsgMatchReporterAppoint)(nil), "cardchain.cardchain.MsgMatchReporterAppoint") - proto.RegisterType((*MsgMatchReporterAppointResponse)(nil), "cardchain.cardchain.MsgMatchReporterAppointResponse") - proto.RegisterType((*MsgSetCreate)(nil), "cardchain.cardchain.MsgSetCreate") - proto.RegisterType((*MsgSetCreateResponse)(nil), "cardchain.cardchain.MsgSetCreateResponse") - proto.RegisterType((*MsgSetCardAdd)(nil), "cardchain.cardchain.MsgSetCardAdd") - proto.RegisterType((*MsgSetCardAddResponse)(nil), "cardchain.cardchain.MsgSetCardAddResponse") - proto.RegisterType((*MsgSetCardRemove)(nil), "cardchain.cardchain.MsgSetCardRemove") - proto.RegisterType((*MsgSetCardRemoveResponse)(nil), "cardchain.cardchain.MsgSetCardRemoveResponse") - proto.RegisterType((*MsgSetContributorAdd)(nil), "cardchain.cardchain.MsgSetContributorAdd") - proto.RegisterType((*MsgSetContributorAddResponse)(nil), "cardchain.cardchain.MsgSetContributorAddResponse") - proto.RegisterType((*MsgSetContributorRemove)(nil), "cardchain.cardchain.MsgSetContributorRemove") - proto.RegisterType((*MsgSetContributorRemoveResponse)(nil), "cardchain.cardchain.MsgSetContributorRemoveResponse") - proto.RegisterType((*MsgSetFinalize)(nil), "cardchain.cardchain.MsgSetFinalize") - proto.RegisterType((*MsgSetFinalizeResponse)(nil), "cardchain.cardchain.MsgSetFinalizeResponse") - proto.RegisterType((*MsgSetArtworkAdd)(nil), "cardchain.cardchain.MsgSetArtworkAdd") - proto.RegisterType((*MsgSetArtworkAddResponse)(nil), "cardchain.cardchain.MsgSetArtworkAddResponse") - proto.RegisterType((*MsgSetStoryAdd)(nil), "cardchain.cardchain.MsgSetStoryAdd") - proto.RegisterType((*MsgSetStoryAddResponse)(nil), "cardchain.cardchain.MsgSetStoryAddResponse") - proto.RegisterType((*MsgBoosterPackBuy)(nil), "cardchain.cardchain.MsgBoosterPackBuy") - proto.RegisterType((*MsgBoosterPackBuyResponse)(nil), "cardchain.cardchain.MsgBoosterPackBuyResponse") - proto.RegisterType((*MsgSellOfferCreate)(nil), "cardchain.cardchain.MsgSellOfferCreate") - proto.RegisterType((*MsgSellOfferCreateResponse)(nil), "cardchain.cardchain.MsgSellOfferCreateResponse") - proto.RegisterType((*MsgSellOfferBuy)(nil), "cardchain.cardchain.MsgSellOfferBuy") - proto.RegisterType((*MsgSellOfferBuyResponse)(nil), "cardchain.cardchain.MsgSellOfferBuyResponse") - proto.RegisterType((*MsgSellOfferRemove)(nil), "cardchain.cardchain.MsgSellOfferRemove") - proto.RegisterType((*MsgSellOfferRemoveResponse)(nil), "cardchain.cardchain.MsgSellOfferRemoveResponse") - proto.RegisterType((*MsgCardRaritySet)(nil), "cardchain.cardchain.MsgCardRaritySet") - proto.RegisterType((*MsgCardRaritySetResponse)(nil), "cardchain.cardchain.MsgCardRaritySetResponse") - proto.RegisterType((*MsgCouncilResponseCommit)(nil), "cardchain.cardchain.MsgCouncilResponseCommit") - proto.RegisterType((*MsgCouncilResponseCommitResponse)(nil), "cardchain.cardchain.MsgCouncilResponseCommitResponse") - proto.RegisterType((*MsgCouncilResponseReveal)(nil), "cardchain.cardchain.MsgCouncilResponseReveal") - proto.RegisterType((*MsgCouncilResponseRevealResponse)(nil), "cardchain.cardchain.MsgCouncilResponseRevealResponse") - proto.RegisterType((*MsgCouncilRestart)(nil), "cardchain.cardchain.MsgCouncilRestart") - proto.RegisterType((*MsgCouncilRestartResponse)(nil), "cardchain.cardchain.MsgCouncilRestartResponse") - proto.RegisterType((*MsgMatchConfirm)(nil), "cardchain.cardchain.MsgMatchConfirm") - proto.RegisterType((*MsgMatchConfirmResponse)(nil), "cardchain.cardchain.MsgMatchConfirmResponse") +type MsgProfileCardSet 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"` } -func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } - -var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 1975 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x6f, 0x23, 0xb7, - 0x15, 0xdf, 0x89, 0x6c, 0xc7, 0xe6, 0x7a, 0xbd, 0xd9, 0x59, 0x67, 0x57, 0x9e, 0x75, 0xb4, 0x5a, - 0xc5, 0xbb, 0x71, 0x5c, 0x5b, 0xaa, 0x9d, 0x8f, 0x0d, 0x82, 0x36, 0x85, 0xad, 0x45, 0x8b, 0x1e, - 0xdc, 0xa4, 0xe3, 0x36, 0x45, 0xfa, 0x15, 0x50, 0x23, 0x7a, 0x34, 0xb5, 0x66, 0xa8, 0x72, 0x28, - 0x25, 0x0e, 0x50, 0xa0, 0x68, 0x2f, 0x45, 0x7b, 0xe9, 0xb9, 0xb7, 0xde, 0x72, 0xdc, 0x02, 0xfd, - 0x0b, 0xda, 0x4b, 0x0e, 0x2d, 0x10, 0xe4, 0xd4, 0x53, 0x51, 0xec, 0x1e, 0xfc, 0x6f, 0x14, 0xfc, - 0x18, 0x0e, 0x67, 0xc4, 0x19, 0x8d, 0x04, 0xe4, 0x62, 0x0f, 0xc9, 0x1f, 0xdf, 0xfb, 0xbd, 0xc7, - 0x47, 0x3e, 0x3e, 0xda, 0x60, 0xdb, 0x83, 0xa4, 0xef, 0x0d, 0x60, 0x10, 0x75, 0xd2, 0x2f, 0xfa, - 0x69, 0x7b, 0x44, 0x30, 0xc5, 0xf6, 0x6d, 0xd5, 0xd7, 0x56, 0x5f, 0xce, 0x2d, 0x18, 0x06, 0x11, - 0xee, 0xf0, 0x9f, 0x02, 0xe7, 0xdc, 0xf5, 0x70, 0x1c, 0xe2, 0xb8, 0x13, 0xc6, 0x7e, 0x67, 0x72, - 0xc8, 0x7e, 0xc9, 0x81, 0x2d, 0x31, 0xf0, 0x31, 0x6f, 0x75, 0x44, 0x43, 0x0e, 0x6d, 0xfa, 0xd8, - 0xc7, 0xa2, 0x9f, 0x7d, 0xc9, 0xde, 0xa6, 0x89, 0xcf, 0x08, 0x12, 0x18, 0x26, 0xf3, 0x1a, 0x52, - 0x57, 0x0f, 0xc6, 0xa8, 0x33, 0x39, 0xec, 0x21, 0x0a, 0x0f, 0x3b, 0x1e, 0x0e, 0xa2, 0x32, 0x09, - 0x13, 0x4c, 0x83, 0x28, 0x21, 0x75, 0xdf, 0x84, 0x08, 0x21, 0xf5, 0x06, 0x12, 0xf0, 0xc0, 0x04, - 0xf0, 0xf0, 0x38, 0xf2, 0x82, 0xa1, 0x62, 0x61, 0x82, 0x40, 0xd2, 0x17, 0xe3, 0xad, 0x7f, 0x5a, - 0xe0, 0xe6, 0x69, 0xec, 0xff, 0x78, 0xd4, 0x87, 0x14, 0x7d, 0xc0, 0xf9, 0xdb, 0x6f, 0x83, 0x35, - 0x38, 0xa6, 0x03, 0x4c, 0x02, 0x7a, 0x59, 0xb7, 0x9a, 0xd6, 0xee, 0xda, 0x49, 0xfd, 0xab, 0xbf, - 0x1f, 0x6c, 0x4a, 0xb7, 0x1c, 0xf7, 0xfb, 0x04, 0xc5, 0xf1, 0x19, 0x25, 0x41, 0xe4, 0xbb, 0x29, - 0xd4, 0x7e, 0x0f, 0xac, 0x08, 0x0f, 0xd4, 0x5f, 0x68, 0x5a, 0xbb, 0xd7, 0x8f, 0xee, 0xb5, 0x0d, - 0xcb, 0xd2, 0x16, 0x4a, 0x4e, 0xd6, 0xbe, 0xf8, 0xef, 0xfd, 0x6b, 0x9f, 0x5f, 0x3d, 0xdd, 0xb3, - 0x5c, 0x39, 0xeb, 0xdd, 0x77, 0x7e, 0x77, 0xf5, 0x74, 0x2f, 0x95, 0xf7, 0xc7, 0xab, 0xa7, 0x7b, - 0x0f, 0x53, 0xd2, 0x9f, 0x6a, 0x06, 0xe4, 0x18, 0xb7, 0xb6, 0xc0, 0xdd, 0x5c, 0x97, 0x8b, 0xe2, - 0x11, 0x8e, 0x62, 0xd4, 0xf2, 0xc1, 0x0d, 0x36, 0x14, 0x23, 0xd2, 0x25, 0x08, 0x52, 0x64, 0xd7, - 0xc1, 0x8b, 0x1e, 0xfb, 0xc2, 0x44, 0xd8, 0xe6, 0x26, 0x4d, 0x36, 0x12, 0xa1, 0x4f, 0x18, 0x94, - 0x1b, 0xb0, 0xe6, 0x26, 0x4d, 0x7b, 0x13, 0x2c, 0xc3, 0x61, 0x00, 0xe3, 0x7a, 0x8d, 0xf7, 0x8b, - 0xc6, 0xbb, 0xeb, 0x8c, 0x6f, 0x32, 0xbb, 0x75, 0x17, 0xbc, 0x9c, 0x51, 0xa4, 0x18, 0x84, 0xe0, - 0xa5, 0xd3, 0xd8, 0xef, 0x42, 0xd2, 0x3f, 0xf3, 0x06, 0x28, 0x44, 0x27, 0xe3, 0xcb, 0x12, 0x12, - 0x87, 0xa0, 0xd6, 0x0b, 0xfa, 0xd2, 0x83, 0x5b, 0x6d, 0xe9, 0x73, 0x16, 0x44, 0x6d, 0x19, 0x44, - 0xed, 0x2e, 0x0e, 0xa2, 0x93, 0x25, 0xe6, 0x3f, 0x97, 0x61, 0x73, 0x3c, 0x8e, 0x40, 0x3d, 0xaf, - 0x2e, 0xa1, 0x62, 0xdf, 0x01, 0x2b, 0xcc, 0x89, 0xdf, 0xef, 0x73, 0xad, 0x4b, 0xae, 0x6c, 0xb5, - 0xfe, 0x61, 0x01, 0x3b, 0x99, 0x04, 0x27, 0xa8, 0x8b, 0x23, 0x8a, 0x22, 0x5a, 0xc2, 0x32, 0x15, - 0xf4, 0x82, 0x2e, 0x88, 0xcf, 0x10, 0x93, 0xb9, 0xab, 0xd6, 0xdd, 0xa4, 0xc9, 0x5c, 0x18, 0x61, - 0x8a, 0xe2, 0xfa, 0x92, 0x70, 0x21, 0x6f, 0x30, 0x39, 0x90, 0xd0, 0x20, 0xa6, 0xf5, 0x65, 0xde, - 0x2d, 0x5b, 0xf6, 0x0e, 0xb8, 0xd1, 0x83, 0x43, 0x18, 0x79, 0xe8, 0x38, 0xf2, 0x06, 0x98, 0xd4, - 0x57, 0x9a, 0xd6, 0xee, 0xaa, 0x9b, 0xed, 0xcc, 0x19, 0xfe, 0x04, 0x38, 0xd3, 0x36, 0x28, 0xd3, - 0x1f, 0x81, 0x0d, 0x18, 0x90, 0x3e, 0xc1, 0xa3, 0xee, 0x10, 0x06, 0x21, 0x12, 0x2e, 0x58, 0x75, - 0x73, 0xbd, 0xad, 0x5f, 0x81, 0xeb, 0x52, 0xca, 0x87, 0xb8, 0x34, 0x5a, 0xde, 0x00, 0x4b, 0x13, - 0x4c, 0x91, 0x5c, 0xa9, 0xfb, 0xc6, 0x58, 0x3f, 0x0b, 0x22, 0x7f, 0x88, 0x98, 0x20, 0x97, 0x83, - 0x73, 0x8c, 0xbf, 0x0d, 0x6e, 0x6b, 0xba, 0xe6, 0xa6, 0x1a, 0xf2, 0xad, 0xcb, 0xa6, 0xff, 0x88, - 0xc0, 0x28, 0x3e, 0x47, 0x64, 0x81, 0x15, 0x73, 0xc0, 0x2a, 0x41, 0x1e, 0x0a, 0x26, 0x88, 0xc8, - 0xe8, 0x56, 0xed, 0x1c, 0x5b, 0xb1, 0xc9, 0x74, 0x75, 0x2a, 0xc4, 0xff, 0x60, 0xf1, 0x5d, 0xc6, - 0xc6, 0x9e, 0xe0, 0xa8, 0x7c, 0x97, 0x15, 0x11, 0x79, 0x0c, 0x56, 0x60, 0x88, 0xc7, 0x32, 0x72, - 0x2a, 0xc4, 0xbe, 0x84, 0x1b, 0xb7, 0x61, 0xca, 0x44, 0x71, 0xfc, 0xbd, 0x05, 0x6e, 0xc9, 0x91, - 0x63, 0x42, 0x3f, 0xc1, 0xe4, 0xe2, 0xb8, 0xdf, 0x5f, 0x80, 0xe7, 0x26, 0x58, 0x0e, 0x42, 0xe8, - 0x23, 0x19, 0xe0, 0xa2, 0xc1, 0xe4, 0x9c, 0x8f, 0x87, 0xc3, 0x63, 0x42, 0x79, 0x80, 0xaf, 0xba, - 0x49, 0x33, 0x47, 0xef, 0x1e, 0xd8, 0x9a, 0x22, 0xa1, 0x9d, 0x14, 0xb7, 0xd3, 0xc1, 0x20, 0xa6, - 0xdd, 0x01, 0x8c, 0xfc, 0x45, 0x7c, 0x99, 0x6e, 0xab, 0x9a, 0xbe, 0xad, 0x72, 0x5c, 0x5e, 0x01, - 0xf7, 0x0c, 0xea, 0x14, 0x9b, 0x6f, 0x89, 0x33, 0x41, 0xa4, 0x13, 0x17, 0xf9, 0x41, 0x4c, 0xcb, - 0x22, 0x2c, 0x27, 0x7c, 0x5b, 0xec, 0xc6, 0xec, 0x6c, 0x25, 0xfb, 0x3d, 0xb0, 0x99, 0x8e, 0x3e, - 0x41, 0x64, 0x5e, 0xe9, 0x0d, 0xb0, 0x6d, 0x9a, 0xaf, 0xe4, 0x7f, 0x65, 0x81, 0x8d, 0xd3, 0xd8, - 0x3f, 0x65, 0xc9, 0xd2, 0x45, 0x23, 0x4c, 0x68, 0xf9, 0xb9, 0xcf, 0xb3, 0xaa, 0x72, 0x63, 0xd2, - 0xb4, 0x5b, 0x60, 0x7d, 0x34, 0x84, 0x97, 0xa8, 0xcf, 0x9c, 0x14, 0x1f, 0xd7, 0x6b, 0xcd, 0xda, - 0xee, 0x92, 0x9b, 0xe9, 0xcb, 0x61, 0x4e, 0xea, 0x4b, 0x53, 0x98, 0x13, 0xfb, 0x6d, 0xf0, 0x22, - 0x1e, 0x53, 0x0f, 0x87, 0x88, 0x9f, 0x73, 0x1b, 0x47, 0xdb, 0xc6, 0xe3, 0xe2, 0x7d, 0x81, 0x71, - 0x13, 0x70, 0xce, 0xe8, 0x3a, 0xb8, 0x93, 0xb5, 0x49, 0x99, 0xeb, 0x8a, 0x14, 0x23, 0xdc, 0x31, - 0x33, 0xcf, 0x15, 0x44, 0x4d, 0x4e, 0x9b, 0x23, 0xf2, 0x88, 0x2e, 0x53, 0xe9, 0xfb, 0x05, 0x3f, - 0x0a, 0x34, 0x26, 0x88, 0x1c, 0x8f, 0x46, 0x38, 0x28, 0xcd, 0x19, 0xfc, 0xa4, 0x11, 0x60, 0x99, - 0x5f, 0x55, 0x3b, 0xa7, 0xfa, 0x01, 0xb8, 0x5f, 0x20, 0x5e, 0x31, 0xf8, 0xdc, 0x02, 0xeb, 0xa7, - 0xb1, 0x7f, 0x86, 0xe8, 0x4c, 0x73, 0x6d, 0xb0, 0x14, 0xc1, 0x10, 0x49, 0x9d, 0xfc, 0xbb, 0x68, - 0x83, 0xd8, 0x4d, 0x70, 0x3d, 0xa6, 0x98, 0x5c, 0xfe, 0x84, 0x04, 0x8c, 0xa6, 0xc8, 0x55, 0x7a, - 0x17, 0x5b, 0x6e, 0x96, 0xd2, 0x48, 0xd0, 0x1b, 0x53, 0x4c, 0xe2, 0xfa, 0x72, 0xb3, 0xb6, 0xbb, - 0xe6, 0x66, 0xfa, 0x72, 0xd6, 0xdc, 0xe1, 0xb1, 0xae, 0x98, 0x2a, 0x13, 0x10, 0x3f, 0x33, 0x59, - 0x3f, 0xdb, 0x81, 0xa5, 0x67, 0xd1, 0x26, 0x58, 0x8e, 0x11, 0x55, 0x0b, 0x26, 0x1a, 0xda, 0x3a, - 0xd6, 0x4a, 0xd6, 0x51, 0x1c, 0x88, 0xa9, 0x1a, 0xa5, 0x7f, 0xc0, 0x83, 0x46, 0x0e, 0xb8, 0x28, - 0xc4, 0x13, 0xf4, 0x35, 0x51, 0x10, 0xa1, 0x94, 0xd1, 0xa4, 0xb1, 0x48, 0xbc, 0x93, 0x7a, 0x70, - 0x11, 0x67, 0xd8, 0x60, 0x69, 0x1c, 0xab, 0x1c, 0xc6, 0xbf, 0x8d, 0x67, 0xc6, 0x94, 0x26, 0xc5, - 0xe4, 0x82, 0x07, 0x75, 0x76, 0x7c, 0x41, 0xb7, 0xcc, 0x26, 0x23, 0x42, 0xdc, 0xa4, 0x4c, 0xf1, - 0xf9, 0x01, 0x3f, 0xc2, 0xce, 0x10, 0xfd, 0x6e, 0x10, 0xc1, 0x61, 0xf0, 0xd9, 0xdc, 0x34, 0x8c, - 0xc7, 0x87, 0x26, 0x4f, 0x69, 0x3a, 0x4f, 0x22, 0xa1, 0x52, 0x62, 0x34, 0x9b, 0x6c, 0x4c, 0x8b, - 0x45, 0x71, 0x60, 0xc8, 0x7d, 0xfd, 0xc4, 0xda, 0x33, 0xb6, 0xd9, 0x16, 0x64, 0xc0, 0x37, 0x6a, - 0x72, 0x49, 0xe7, 0x8d, 0x22, 0x1f, 0x24, 0x5a, 0x94, 0xfe, 0x1f, 0xf2, 0xdb, 0xc1, 0x09, 0xc6, - 0x2c, 0x8f, 0x7c, 0x00, 0xbd, 0x8b, 0xf2, 0x6b, 0x7a, 0x15, 0x87, 0x77, 0x79, 0xae, 0xcf, 0x8a, - 0x9c, 0xfb, 0x92, 0xf7, 0x27, 0x71, 0x35, 0x3f, 0x43, 0xc3, 0xe1, 0xfb, 0xe7, 0xe7, 0x15, 0xaa, - 0x98, 0xa2, 0x3b, 0xc1, 0x5b, 0x60, 0x79, 0x44, 0x02, 0x0f, 0x55, 0xbd, 0x5e, 0x09, 0xb4, 0x31, - 0xab, 0xe7, 0xc8, 0x28, 0x1f, 0xfe, 0x8c, 0x5f, 0x48, 0xd5, 0x68, 0xb9, 0x07, 0xd9, 0x51, 0x9b, - 0x20, 0x15, 0x59, 0xbd, 0xcb, 0x78, 0xfd, 0xd4, 0x85, 0x2b, 0xbd, 0xbf, 0xcc, 0xba, 0x68, 0xe6, - 0xa6, 0x9d, 0x57, 0x75, 0xce, 0xea, 0xdc, 0x3e, 0xfd, 0xab, 0xa5, 0x0a, 0x3c, 0x17, 0xb2, 0xc2, - 0xf5, 0x0c, 0xd1, 0xc5, 0xee, 0x95, 0x22, 0xa2, 0x6a, 0x7a, 0x50, 0x3f, 0x06, 0x2b, 0x84, 0x0b, - 0xe5, 0xb9, 0x68, 0xa3, 0xa0, 0xce, 0x48, 0x75, 0xbb, 0x12, 0x6e, 0x4e, 0xe6, 0x3a, 0x45, 0xc5, - 0xff, 0x2f, 0x96, 0x9e, 0xe9, 0x93, 0xee, 0x2e, 0x0e, 0xc3, 0xa0, 0xcc, 0x8e, 0x6d, 0xb0, 0x26, - 0x9f, 0x1a, 0x94, 0x29, 0x69, 0x07, 0x9b, 0xc7, 0x92, 0x7b, 0x14, 0x23, 0xb9, 0x1d, 0x93, 0xa6, - 0xdd, 0x00, 0x20, 0x1e, 0xfb, 0x3e, 0x8a, 0x69, 0x80, 0x23, 0x99, 0x61, 0xb5, 0x9e, 0x1c, 0xf1, - 0x16, 0x68, 0x16, 0x71, 0x53, 0x06, 0xfc, 0xcd, 0x68, 0x80, 0x8b, 0x26, 0x08, 0x0e, 0x17, 0x36, - 0xe0, 0x71, 0xd6, 0x80, 0x8d, 0xa3, 0x57, 0x8c, 0x9e, 0x57, 0xda, 0x94, 0x7d, 0x77, 0xc0, 0x4a, - 0x8c, 0x3c, 0x82, 0xa8, 0xb4, 0x4d, 0xb6, 0xaa, 0xd8, 0x25, 0x28, 0x2b, 0xbb, 0x3e, 0x12, 0x05, - 0x8b, 0xc2, 0x50, 0x48, 0x16, 0x5e, 0x10, 0x73, 0x19, 0x92, 0x11, 0xad, 0xf4, 0xfe, 0x4b, 0xbc, - 0x09, 0xf1, 0xfb, 0x57, 0x17, 0x47, 0xe7, 0x01, 0x09, 0x17, 0xba, 0x3d, 0x6b, 0xb7, 0xde, 0xda, - 0x1c, 0xb7, 0x5e, 0xfb, 0x3b, 0x00, 0xb0, 0x62, 0x59, 0x5c, 0x9e, 0xf9, 0x7d, 0xba, 0x42, 0x7d, - 0xad, 0x4d, 0x31, 0x1e, 0x1c, 0xba, 0x35, 0x89, 0xa5, 0x47, 0xff, 0xde, 0x02, 0xb5, 0xd3, 0xd8, - 0xb7, 0x7b, 0x60, 0x3d, 0xf3, 0x02, 0xb6, 0x63, 0xd4, 0x96, 0x7b, 0x62, 0x72, 0xf6, 0xab, 0xa0, - 0xd4, 0x81, 0xff, 0x73, 0x00, 0xb4, 0x57, 0xa8, 0x56, 0xe1, 0x5c, 0x85, 0x71, 0xf6, 0x66, 0x63, - 0x94, 0x74, 0x04, 0x6e, 0x64, 0x5f, 0x98, 0x1e, 0x16, 0x4d, 0xce, 0xc0, 0x9c, 0x83, 0x4a, 0x30, - 0xa5, 0xe6, 0x02, 0xdc, 0xcc, 0x3f, 0x12, 0xbd, 0x56, 0x2a, 0x21, 0x05, 0x3a, 0x9d, 0x8a, 0x40, - 0xa5, 0xec, 0x43, 0xb0, 0xaa, 0xde, 0x61, 0x9a, 0x65, 0x93, 0x19, 0xc2, 0xd9, 0x9d, 0x85, 0x50, - 0x72, 0x7b, 0x60, 0x3d, 0xf3, 0x68, 0xb2, 0x53, 0x36, 0x33, 0x41, 0x15, 0xaf, 0xb6, 0xe9, 0x45, - 0x84, 0xad, 0xb6, 0xf6, 0x1a, 0xd2, 0x2a, 0x9b, 0x2b, 0x30, 0xc5, 0xab, 0x3d, 0xfd, 0x96, 0x61, - 0x0f, 0xc0, 0x46, 0xee, 0x1d, 0xe3, 0x51, 0xd9, 0xec, 0x14, 0xe7, 0xb4, 0xab, 0xe1, 0x94, 0xa6, - 0x08, 0xbc, 0x34, 0xf5, 0x1e, 0xb1, 0x3b, 0x43, 0x86, 0x42, 0x3a, 0xdf, 0xac, 0x8a, 0xcc, 0x04, - 0x58, 0xee, 0xc5, 0xa1, 0x38, 0xc0, 0xb2, 0xc0, 0x92, 0x00, 0x33, 0xbf, 0x42, 0xd8, 0xbf, 0x06, - 0xb7, 0xa6, 0x9f, 0x20, 0x5e, 0x9f, 0x21, 0x25, 0x85, 0x3a, 0x87, 0x95, 0xa1, 0x4a, 0xe5, 0xc7, - 0xe0, 0xba, 0xfe, 0x28, 0xf1, 0x6a, 0x91, 0x04, 0x0d, 0xe4, 0x7c, 0xa3, 0x02, 0x28, 0x73, 0x10, - 0x64, 0xde, 0x01, 0x1e, 0xce, 0x20, 0x29, 0x0f, 0x9b, 0x83, 0x4a, 0x30, 0xa5, 0xe6, 0x33, 0xb0, - 0x69, 0x2c, 0xff, 0xf7, 0x2b, 0x70, 0x55, 0x68, 0xe7, 0xcd, 0x79, 0xd0, 0x4a, 0xf7, 0x47, 0x60, - 0x2d, 0xad, 0xfb, 0x1f, 0x14, 0x89, 0x50, 0x10, 0xe7, 0xf5, 0x99, 0x10, 0x7d, 0xdb, 0x6a, 0x05, - 0x79, 0xab, 0x6c, 0xa2, 0xc0, 0x14, 0x6f, 0xdb, 0xe9, 0x8a, 0x9b, 0xad, 0x4d, 0xb6, 0xdc, 0x7e, - 0x38, 0x63, 0xb2, 0x80, 0x15, 0xaf, 0x8d, 0xb1, 0xa4, 0x66, 0x61, 0x3d, 0x5d, 0x4f, 0x97, 0x3a, - 0x21, 0x03, 0x2d, 0x0e, 0xeb, 0xc2, 0xda, 0x99, 0x85, 0x83, 0xb1, 0x70, 0xde, 0xaf, 0x26, 0x4a, - 0xda, 0xf9, 0xe6, 0x3c, 0x68, 0x7d, 0x4b, 0xe9, 0x45, 0xf2, 0xab, 0x25, 0x42, 0x12, 0x50, 0xf1, - 0x96, 0x32, 0x94, 0xc7, 0x72, 0xd9, 0xb4, 0xc3, 0xb6, 0x6c, 0xd9, 0xb4, 0xb3, 0xf6, 0xa0, 0x12, - 0x2c, 0x67, 0x87, 0x2a, 0x7f, 0xcb, 0xec, 0x48, 0x40, 0xa5, 0x76, 0xe4, 0x4b, 0x5c, 0x96, 0x35, - 0x72, 0xf5, 0x6d, 0x61, 0xd6, 0xc8, 0xe2, 0x8a, 0xb3, 0x46, 0x41, 0x71, 0x7b, 0x01, 0x6e, 0xe6, - 0x0b, 0xd6, 0xd7, 0x8a, 0x99, 0x66, 0x80, 0xc5, 0xa7, 0x78, 0x41, 0xd5, 0xc9, 0xd2, 0x79, 0xa6, - 0xe4, 0xdc, 0x99, 0x29, 0x80, 0x99, 0xb4, 0x5f, 0x05, 0x65, 0x34, 0x48, 0x86, 0xf6, 0x6c, 0x83, - 0x64, 0x54, 0x77, 0x2a, 0x02, 0xf3, 0x77, 0xb9, 0xb4, 0x98, 0x2c, 0xbd, 0xcb, 0x29, 0x58, 0xf9, - 0x5d, 0x6e, 0xaa, 0xee, 0xb3, 0x7f, 0x03, 0x5e, 0x36, 0xd7, 0x7c, 0x07, 0x33, 0xf3, 0xa8, 0x0e, - 0x77, 0xde, 0x9a, 0x0b, 0x5e, 0xa2, 0x5e, 0x56, 0x6c, 0x55, 0xd5, 0x0b, 0x78, 0x65, 0xf5, 0xd9, - 0xe2, 0x8a, 0x5f, 0xa1, 0xb2, 0x95, 0xd5, 0xa3, 0xd9, 0x82, 0x18, 0xae, 0xe4, 0x0a, 0x65, 0x2c, - 0xa7, 0x58, 0x7c, 0x66, 0x4a, 0xa9, 0x9d, 0xd2, 0xa4, 0x27, 0x51, 0xce, 0x7e, 0x15, 0x54, 0xa2, - 0xc3, 0x59, 0xfe, 0xed, 0xd5, 0xd3, 0x3d, 0xeb, 0xc4, 0xfd, 0xe2, 0x59, 0xc3, 0xfa, 0xf2, 0x59, - 0xc3, 0xfa, 0xdf, 0xb3, 0x86, 0xf5, 0xe7, 0xe7, 0x8d, 0x6b, 0x5f, 0x3e, 0x6f, 0x5c, 0xfb, 0xcf, - 0xf3, 0xc6, 0xb5, 0x9f, 0xbe, 0xe3, 0x07, 0x74, 0x30, 0xee, 0xb5, 0x3d, 0x1c, 0x76, 0x9e, 0x20, - 0x0f, 0x45, 0x94, 0xc0, 0x21, 0x8b, 0x8b, 0xef, 0xc1, 0x10, 0x75, 0xcc, 0x7f, 0x65, 0xa7, 0x97, - 0x23, 0x14, 0xf7, 0x56, 0xf8, 0x3f, 0x0a, 0xbc, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x43, - 0xcc, 0xaf, 0x36, 0x82, 0x21, 0x00, 0x00, +func (m *MsgProfileCardSet) Reset() { *m = MsgProfileCardSet{} } +func (m *MsgProfileCardSet) String() string { return proto.CompactTextString(m) } +func (*MsgProfileCardSet) ProtoMessage() {} +func (*MsgProfileCardSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{62} } - -// 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 { - // UpdateParams defines a (governance) operation for updating the module - // parameters. The authority defaults to the x/gov module account. - UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) - UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) - CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) - CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) - CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) - CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) - CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) - CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) - CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) - CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) - CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) - MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) - CouncilCreate(ctx context.Context, in *MsgCouncilCreate, opts ...grpc.CallOption) (*MsgCouncilCreateResponse, error) - MatchReporterAppoint(ctx context.Context, in *MsgMatchReporterAppoint, opts ...grpc.CallOption) (*MsgMatchReporterAppointResponse, error) - SetCreate(ctx context.Context, in *MsgSetCreate, opts ...grpc.CallOption) (*MsgSetCreateResponse, error) - SetCardAdd(ctx context.Context, in *MsgSetCardAdd, opts ...grpc.CallOption) (*MsgSetCardAddResponse, error) - SetCardRemove(ctx context.Context, in *MsgSetCardRemove, opts ...grpc.CallOption) (*MsgSetCardRemoveResponse, error) - SetContributorAdd(ctx context.Context, in *MsgSetContributorAdd, opts ...grpc.CallOption) (*MsgSetContributorAddResponse, error) - SetContributorRemove(ctx context.Context, in *MsgSetContributorRemove, opts ...grpc.CallOption) (*MsgSetContributorRemoveResponse, error) - SetFinalize(ctx context.Context, in *MsgSetFinalize, opts ...grpc.CallOption) (*MsgSetFinalizeResponse, error) - SetArtworkAdd(ctx context.Context, in *MsgSetArtworkAdd, opts ...grpc.CallOption) (*MsgSetArtworkAddResponse, error) - SetStoryAdd(ctx context.Context, in *MsgSetStoryAdd, opts ...grpc.CallOption) (*MsgSetStoryAddResponse, error) - BoosterPackBuy(ctx context.Context, in *MsgBoosterPackBuy, opts ...grpc.CallOption) (*MsgBoosterPackBuyResponse, error) - SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) - SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) - SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) - CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) - CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) - CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) - CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) - MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) +func (m *MsgProfileCardSet) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } - -type msgClient struct { - cc grpc1.ClientConn +func (m *MsgProfileCardSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgProfileCardSet.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 NewMsgClient(cc grpc1.ClientConn) MsgClient { - return &msgClient{cc} +func (m *MsgProfileCardSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgProfileCardSet.Merge(m, src) } - -func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { - out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateParams", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgProfileCardSet) XXX_Size() int { + return m.Size() } - -func (c *msgClient) UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) { - out := new(MsgUserCreateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UserCreate", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgProfileCardSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgProfileCardSet.DiscardUnknown(m) } -func (c *msgClient) CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) { - out := new(MsgCardSchemeBuyResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSchemeBuy", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} +var xxx_messageInfo_MsgProfileCardSet proto.InternalMessageInfo -func (c *msgClient) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) { - out := new(MsgCardSaveContentResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSaveContent", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgProfileCardSet) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) { - out := new(MsgCardVoteResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardVote", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgProfileCardSet) GetCardId() uint64 { + if m != nil { + return m.CardId } - return out, nil + return 0 } -func (c *msgClient) CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) { - out := new(MsgCardTransferResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardTransfer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +type MsgProfileCardSetResponse struct { } -func (c *msgClient) CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) { - out := new(MsgCardDonateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardDonate", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgProfileCardSetResponse) Reset() { *m = MsgProfileCardSetResponse{} } +func (m *MsgProfileCardSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgProfileCardSetResponse) ProtoMessage() {} +func (*MsgProfileCardSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{63} +} +func (m *MsgProfileCardSetResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgProfileCardSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgProfileCardSetResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgProfileCardSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgProfileCardSetResponse.Merge(m, src) +} +func (m *MsgProfileCardSetResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgProfileCardSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgProfileCardSetResponse.DiscardUnknown(m) } -func (c *msgClient) CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) { - out := new(MsgCardArtworkAddResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtworkAdd", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +var xxx_messageInfo_MsgProfileCardSetResponse proto.InternalMessageInfo + +type MsgProfileWebsiteSet struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Website string `protobuf:"bytes,2,opt,name=website,proto3" json:"website,omitempty"` } -func (c *msgClient) CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) { - out := new(MsgCardArtistChangeResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtistChange", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgProfileWebsiteSet) Reset() { *m = MsgProfileWebsiteSet{} } +func (m *MsgProfileWebsiteSet) String() string { return proto.CompactTextString(m) } +func (*MsgProfileWebsiteSet) ProtoMessage() {} +func (*MsgProfileWebsiteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{64} +} +func (m *MsgProfileWebsiteSet) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgProfileWebsiteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgProfileWebsiteSet.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgProfileWebsiteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgProfileWebsiteSet.Merge(m, src) +} +func (m *MsgProfileWebsiteSet) XXX_Size() int { + return m.Size() +} +func (m *MsgProfileWebsiteSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgProfileWebsiteSet.DiscardUnknown(m) } -func (c *msgClient) CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) { - out := new(MsgCouncilRegisterResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilRegister", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgProfileWebsiteSet proto.InternalMessageInfo + +func (m *MsgProfileWebsiteSet) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -func (c *msgClient) CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) { - out := new(MsgCouncilDeregisterResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilDeregister", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgProfileWebsiteSet) GetWebsite() string { + if m != nil { + return m.Website } - return out, nil + return "" } -func (c *msgClient) MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) { - out := new(MsgMatchReportResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchReport", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +type MsgProfileWebsiteSetResponse struct { } -func (c *msgClient) CouncilCreate(ctx context.Context, in *MsgCouncilCreate, opts ...grpc.CallOption) (*MsgCouncilCreateResponse, error) { - out := new(MsgCouncilCreateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilCreate", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgProfileWebsiteSetResponse) Reset() { *m = MsgProfileWebsiteSetResponse{} } +func (m *MsgProfileWebsiteSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgProfileWebsiteSetResponse) ProtoMessage() {} +func (*MsgProfileWebsiteSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{65} +} +func (m *MsgProfileWebsiteSetResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgProfileWebsiteSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgProfileWebsiteSetResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgProfileWebsiteSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgProfileWebsiteSetResponse.Merge(m, src) +} +func (m *MsgProfileWebsiteSetResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgProfileWebsiteSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgProfileWebsiteSetResponse.DiscardUnknown(m) } -func (c *msgClient) MatchReporterAppoint(ctx context.Context, in *MsgMatchReporterAppoint, opts ...grpc.CallOption) (*MsgMatchReporterAppointResponse, error) { - out := new(MsgMatchReporterAppointResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchReporterAppoint", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +var xxx_messageInfo_MsgProfileWebsiteSetResponse proto.InternalMessageInfo + +type MsgProfileBioSet struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Bio string `protobuf:"bytes,2,opt,name=bio,proto3" json:"bio,omitempty"` } -func (c *msgClient) SetCreate(ctx context.Context, in *MsgSetCreate, opts ...grpc.CallOption) (*MsgSetCreateResponse, error) { - out := new(MsgSetCreateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCreate", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgProfileBioSet) Reset() { *m = MsgProfileBioSet{} } +func (m *MsgProfileBioSet) String() string { return proto.CompactTextString(m) } +func (*MsgProfileBioSet) ProtoMessage() {} +func (*MsgProfileBioSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{66} +} +func (m *MsgProfileBioSet) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgProfileBioSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgProfileBioSet.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgProfileBioSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgProfileBioSet.Merge(m, src) +} +func (m *MsgProfileBioSet) XXX_Size() int { + return m.Size() +} +func (m *MsgProfileBioSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgProfileBioSet.DiscardUnknown(m) } -func (c *msgClient) SetCardAdd(ctx context.Context, in *MsgSetCardAdd, opts ...grpc.CallOption) (*MsgSetCardAddResponse, error) { - out := new(MsgSetCardAddResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCardAdd", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgProfileBioSet proto.InternalMessageInfo + +func (m *MsgProfileBioSet) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -func (c *msgClient) SetCardRemove(ctx context.Context, in *MsgSetCardRemove, opts ...grpc.CallOption) (*MsgSetCardRemoveResponse, error) { - out := new(MsgSetCardRemoveResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCardRemove", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgProfileBioSet) GetBio() string { + if m != nil { + return m.Bio } - return out, nil + return "" } -func (c *msgClient) SetContributorAdd(ctx context.Context, in *MsgSetContributorAdd, opts ...grpc.CallOption) (*MsgSetContributorAddResponse, error) { - out := new(MsgSetContributorAddResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetContributorAdd", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +type MsgProfileBioSetResponse struct { } -func (c *msgClient) SetContributorRemove(ctx context.Context, in *MsgSetContributorRemove, opts ...grpc.CallOption) (*MsgSetContributorRemoveResponse, error) { - out := new(MsgSetContributorRemoveResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetContributorRemove", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgProfileBioSetResponse) Reset() { *m = MsgProfileBioSetResponse{} } +func (m *MsgProfileBioSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgProfileBioSetResponse) ProtoMessage() {} +func (*MsgProfileBioSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{67} +} +func (m *MsgProfileBioSetResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgProfileBioSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgProfileBioSetResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgProfileBioSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgProfileBioSetResponse.Merge(m, src) +} +func (m *MsgProfileBioSetResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgProfileBioSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgProfileBioSetResponse.DiscardUnknown(m) } -func (c *msgClient) SetFinalize(ctx context.Context, in *MsgSetFinalize, opts ...grpc.CallOption) (*MsgSetFinalizeResponse, error) { - out := new(MsgSetFinalizeResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetFinalize", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +var xxx_messageInfo_MsgProfileBioSetResponse proto.InternalMessageInfo + +type MsgBoosterPackOpen 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"` } -func (c *msgClient) SetArtworkAdd(ctx context.Context, in *MsgSetArtworkAdd, opts ...grpc.CallOption) (*MsgSetArtworkAddResponse, error) { - out := new(MsgSetArtworkAddResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetArtworkAdd", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgBoosterPackOpen) Reset() { *m = MsgBoosterPackOpen{} } +func (m *MsgBoosterPackOpen) String() string { return proto.CompactTextString(m) } +func (*MsgBoosterPackOpen) ProtoMessage() {} +func (*MsgBoosterPackOpen) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{68} +} +func (m *MsgBoosterPackOpen) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBoosterPackOpen) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBoosterPackOpen.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgBoosterPackOpen) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBoosterPackOpen.Merge(m, src) +} +func (m *MsgBoosterPackOpen) XXX_Size() int { + return m.Size() +} +func (m *MsgBoosterPackOpen) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBoosterPackOpen.DiscardUnknown(m) } -func (c *msgClient) SetStoryAdd(ctx context.Context, in *MsgSetStoryAdd, opts ...grpc.CallOption) (*MsgSetStoryAddResponse, error) { - out := new(MsgSetStoryAddResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetStoryAdd", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgBoosterPackOpen proto.InternalMessageInfo + +func (m *MsgBoosterPackOpen) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -func (c *msgClient) BoosterPackBuy(ctx context.Context, in *MsgBoosterPackBuy, opts ...grpc.CallOption) (*MsgBoosterPackBuyResponse, error) { - out := new(MsgBoosterPackBuyResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BoosterPackBuy", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgBoosterPackOpen) GetBoosterPackId() uint64 { + if m != nil { + return m.BoosterPackId } - return out, nil + return 0 } -func (c *msgClient) SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) { - out := new(MsgSellOfferCreateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferCreate", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +type MsgBoosterPackOpenResponse struct { + CardIds []uint64 `protobuf:"varint,1,rep,packed,name=cardIds,proto3" json:"cardIds,omitempty"` } -func (c *msgClient) SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) { - out := new(MsgSellOfferBuyResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferBuy", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgBoosterPackOpenResponse) Reset() { *m = MsgBoosterPackOpenResponse{} } +func (m *MsgBoosterPackOpenResponse) String() string { return proto.CompactTextString(m) } +func (*MsgBoosterPackOpenResponse) ProtoMessage() {} +func (*MsgBoosterPackOpenResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{69} +} +func (m *MsgBoosterPackOpenResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBoosterPackOpenResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBoosterPackOpenResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgBoosterPackOpenResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBoosterPackOpenResponse.Merge(m, src) +} +func (m *MsgBoosterPackOpenResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgBoosterPackOpenResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBoosterPackOpenResponse.DiscardUnknown(m) } -func (c *msgClient) SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) { - out := new(MsgSellOfferRemoveResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferRemove", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgBoosterPackOpenResponse proto.InternalMessageInfo + +func (m *MsgBoosterPackOpenResponse) GetCardIds() []uint64 { + if m != nil { + return m.CardIds } - return out, nil + return nil } -func (c *msgClient) CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) { - out := new(MsgCardRaritySetResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardRaritySet", in, out, opts...) - if err != nil { - return nil, err +type MsgBoosterPackTransfer 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"` + Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` +} + +func (m *MsgBoosterPackTransfer) Reset() { *m = MsgBoosterPackTransfer{} } +func (m *MsgBoosterPackTransfer) String() string { return proto.CompactTextString(m) } +func (*MsgBoosterPackTransfer) ProtoMessage() {} +func (*MsgBoosterPackTransfer) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{70} +} +func (m *MsgBoosterPackTransfer) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBoosterPackTransfer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBoosterPackTransfer.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgBoosterPackTransfer) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBoosterPackTransfer.Merge(m, src) +} +func (m *MsgBoosterPackTransfer) XXX_Size() int { + return m.Size() +} +func (m *MsgBoosterPackTransfer) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBoosterPackTransfer.DiscardUnknown(m) } -func (c *msgClient) CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) { - out := new(MsgCouncilResponseCommitResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilResponseCommit", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgBoosterPackTransfer proto.InternalMessageInfo + +func (m *MsgBoosterPackTransfer) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -func (c *msgClient) CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) { - out := new(MsgCouncilResponseRevealResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilResponseReveal", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgBoosterPackTransfer) GetBoosterPackId() uint64 { + if m != nil { + return m.BoosterPackId } - return out, nil + return 0 } -func (c *msgClient) CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) { - out := new(MsgCouncilRestartResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilRestart", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgBoosterPackTransfer) GetReceiver() string { + if m != nil { + return m.Receiver } - return out, nil + return "" } -func (c *msgClient) MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) { - out := new(MsgMatchConfirmResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchConfirm", in, out, opts...) - if err != nil { - return nil, err +type MsgBoosterPackTransferResponse struct { +} + +func (m *MsgBoosterPackTransferResponse) Reset() { *m = MsgBoosterPackTransferResponse{} } +func (m *MsgBoosterPackTransferResponse) String() string { return proto.CompactTextString(m) } +func (*MsgBoosterPackTransferResponse) ProtoMessage() {} +func (*MsgBoosterPackTransferResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{71} +} +func (m *MsgBoosterPackTransferResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBoosterPackTransferResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBoosterPackTransferResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgBoosterPackTransferResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBoosterPackTransferResponse.Merge(m, src) +} +func (m *MsgBoosterPackTransferResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgBoosterPackTransferResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBoosterPackTransferResponse.DiscardUnknown(m) } -// MsgServer is the server API for Msg service. -type MsgServer interface { - // UpdateParams defines a (governance) operation for updating the module - // parameters. The authority defaults to the x/gov module account. - UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) - UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) - CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) - CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) - CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) - CardTransfer(context.Context, *MsgCardTransfer) (*MsgCardTransferResponse, error) - CardDonate(context.Context, *MsgCardDonate) (*MsgCardDonateResponse, error) - CardArtworkAdd(context.Context, *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) - CardArtistChange(context.Context, *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) - CouncilRegister(context.Context, *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) - CouncilDeregister(context.Context, *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) - MatchReport(context.Context, *MsgMatchReport) (*MsgMatchReportResponse, error) - CouncilCreate(context.Context, *MsgCouncilCreate) (*MsgCouncilCreateResponse, error) - MatchReporterAppoint(context.Context, *MsgMatchReporterAppoint) (*MsgMatchReporterAppointResponse, error) - SetCreate(context.Context, *MsgSetCreate) (*MsgSetCreateResponse, error) - SetCardAdd(context.Context, *MsgSetCardAdd) (*MsgSetCardAddResponse, error) - SetCardRemove(context.Context, *MsgSetCardRemove) (*MsgSetCardRemoveResponse, error) - SetContributorAdd(context.Context, *MsgSetContributorAdd) (*MsgSetContributorAddResponse, error) - SetContributorRemove(context.Context, *MsgSetContributorRemove) (*MsgSetContributorRemoveResponse, error) - SetFinalize(context.Context, *MsgSetFinalize) (*MsgSetFinalizeResponse, error) - SetArtworkAdd(context.Context, *MsgSetArtworkAdd) (*MsgSetArtworkAddResponse, error) - SetStoryAdd(context.Context, *MsgSetStoryAdd) (*MsgSetStoryAddResponse, error) - BoosterPackBuy(context.Context, *MsgBoosterPackBuy) (*MsgBoosterPackBuyResponse, error) - SellOfferCreate(context.Context, *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) - SellOfferBuy(context.Context, *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) - SellOfferRemove(context.Context, *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) - CardRaritySet(context.Context, *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) - CouncilResponseCommit(context.Context, *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) - CouncilResponseReveal(context.Context, *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) - CouncilRestart(context.Context, *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) - MatchConfirm(context.Context, *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) -} +var xxx_messageInfo_MsgBoosterPackTransferResponse proto.InternalMessageInfo -// UnimplementedMsgServer can be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { +type MsgSetStoryWriterSet 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 (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +func (m *MsgSetStoryWriterSet) Reset() { *m = MsgSetStoryWriterSet{} } +func (m *MsgSetStoryWriterSet) String() string { return proto.CompactTextString(m) } +func (*MsgSetStoryWriterSet) ProtoMessage() {} +func (*MsgSetStoryWriterSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{72} } -func (*UnimplementedMsgServer) UserCreate(ctx context.Context, req *MsgUserCreate) (*MsgUserCreateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UserCreate not implemented") +func (m *MsgSetStoryWriterSet) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedMsgServer) CardSchemeBuy(ctx context.Context, req *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardSchemeBuy not implemented") +func (m *MsgSetStoryWriterSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetStoryWriterSet.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 (*UnimplementedMsgServer) CardSaveContent(ctx context.Context, req *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardSaveContent not implemented") +func (m *MsgSetStoryWriterSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetStoryWriterSet.Merge(m, src) } -func (*UnimplementedMsgServer) CardVote(ctx context.Context, req *MsgCardVote) (*MsgCardVoteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") +func (m *MsgSetStoryWriterSet) XXX_Size() int { + return m.Size() } -func (*UnimplementedMsgServer) CardTransfer(ctx context.Context, req *MsgCardTransfer) (*MsgCardTransferResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardTransfer not implemented") +func (m *MsgSetStoryWriterSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetStoryWriterSet.DiscardUnknown(m) } -func (*UnimplementedMsgServer) CardDonate(ctx context.Context, req *MsgCardDonate) (*MsgCardDonateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardDonate not implemented") + +var xxx_messageInfo_MsgSetStoryWriterSet proto.InternalMessageInfo + +func (m *MsgSetStoryWriterSet) GetCreator() string { + if m != nil { + return m.Creator + } + return "" } -func (*UnimplementedMsgServer) CardArtworkAdd(ctx context.Context, req *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardArtworkAdd not implemented") + +func (m *MsgSetStoryWriterSet) GetSetId() uint64 { + if m != nil { + return m.SetId + } + return 0 } -func (*UnimplementedMsgServer) CardArtistChange(ctx context.Context, req *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardArtistChange not implemented") + +func (m *MsgSetStoryWriterSet) GetStoryWriter() string { + if m != nil { + return m.StoryWriter + } + return "" } -func (*UnimplementedMsgServer) CouncilRegister(ctx context.Context, req *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilRegister not implemented") + +type MsgSetStoryWriterSetResponse struct { } -func (*UnimplementedMsgServer) CouncilDeregister(ctx context.Context, req *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilDeregister not implemented") + +func (m *MsgSetStoryWriterSetResponse) Reset() { *m = MsgSetStoryWriterSetResponse{} } +func (m *MsgSetStoryWriterSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetStoryWriterSetResponse) ProtoMessage() {} +func (*MsgSetStoryWriterSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{73} } -func (*UnimplementedMsgServer) MatchReport(ctx context.Context, req *MsgMatchReport) (*MsgMatchReportResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method MatchReport not implemented") +func (m *MsgSetStoryWriterSetResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedMsgServer) CouncilCreate(ctx context.Context, req *MsgCouncilCreate) (*MsgCouncilCreateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilCreate not implemented") +func (m *MsgSetStoryWriterSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetStoryWriterSetResponse.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 (*UnimplementedMsgServer) MatchReporterAppoint(ctx context.Context, req *MsgMatchReporterAppoint) (*MsgMatchReporterAppointResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method MatchReporterAppoint not implemented") +func (m *MsgSetStoryWriterSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetStoryWriterSetResponse.Merge(m, src) } -func (*UnimplementedMsgServer) SetCreate(ctx context.Context, req *MsgSetCreate) (*MsgSetCreateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetCreate not implemented") +func (m *MsgSetStoryWriterSetResponse) XXX_Size() int { + return m.Size() } -func (*UnimplementedMsgServer) SetCardAdd(ctx context.Context, req *MsgSetCardAdd) (*MsgSetCardAddResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetCardAdd not implemented") +func (m *MsgSetStoryWriterSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetStoryWriterSetResponse.DiscardUnknown(m) } -func (*UnimplementedMsgServer) SetCardRemove(ctx context.Context, req *MsgSetCardRemove) (*MsgSetCardRemoveResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetCardRemove not implemented") + +var xxx_messageInfo_MsgSetStoryWriterSetResponse proto.InternalMessageInfo + +type MsgSetArtistSet 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 (*UnimplementedMsgServer) SetContributorAdd(ctx context.Context, req *MsgSetContributorAdd) (*MsgSetContributorAddResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetContributorAdd not implemented") + +func (m *MsgSetArtistSet) Reset() { *m = MsgSetArtistSet{} } +func (m *MsgSetArtistSet) String() string { return proto.CompactTextString(m) } +func (*MsgSetArtistSet) ProtoMessage() {} +func (*MsgSetArtistSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{74} } -func (*UnimplementedMsgServer) SetContributorRemove(ctx context.Context, req *MsgSetContributorRemove) (*MsgSetContributorRemoveResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetContributorRemove not implemented") +func (m *MsgSetArtistSet) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedMsgServer) SetFinalize(ctx context.Context, req *MsgSetFinalize) (*MsgSetFinalizeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetFinalize not implemented") +func (m *MsgSetArtistSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetArtistSet.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 (*UnimplementedMsgServer) SetArtworkAdd(ctx context.Context, req *MsgSetArtworkAdd) (*MsgSetArtworkAddResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetArtworkAdd not implemented") +func (m *MsgSetArtistSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetArtistSet.Merge(m, src) } -func (*UnimplementedMsgServer) SetStoryAdd(ctx context.Context, req *MsgSetStoryAdd) (*MsgSetStoryAddResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetStoryAdd not implemented") +func (m *MsgSetArtistSet) XXX_Size() int { + return m.Size() } -func (*UnimplementedMsgServer) BoosterPackBuy(ctx context.Context, req *MsgBoosterPackBuy) (*MsgBoosterPackBuyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BoosterPackBuy not implemented") +func (m *MsgSetArtistSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetArtistSet.DiscardUnknown(m) } -func (*UnimplementedMsgServer) SellOfferCreate(ctx context.Context, req *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SellOfferCreate not implemented") + +var xxx_messageInfo_MsgSetArtistSet proto.InternalMessageInfo + +func (m *MsgSetArtistSet) GetCreator() string { + if m != nil { + return m.Creator + } + return "" } -func (*UnimplementedMsgServer) SellOfferBuy(ctx context.Context, req *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SellOfferBuy not implemented") + +func (m *MsgSetArtistSet) GetSetId() uint64 { + if m != nil { + return m.SetId + } + return 0 } -func (*UnimplementedMsgServer) SellOfferRemove(ctx context.Context, req *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SellOfferRemove not implemented") + +func (m *MsgSetArtistSet) GetArtist() string { + if m != nil { + return m.Artist + } + return "" } -func (*UnimplementedMsgServer) CardRaritySet(ctx context.Context, req *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardRaritySet not implemented") + +type MsgSetArtistSetResponse struct { } -func (*UnimplementedMsgServer) CouncilResponseCommit(ctx context.Context, req *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseCommit not implemented") + +func (m *MsgSetArtistSetResponse) Reset() { *m = MsgSetArtistSetResponse{} } +func (m *MsgSetArtistSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetArtistSetResponse) ProtoMessage() {} +func (*MsgSetArtistSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{75} } -func (*UnimplementedMsgServer) CouncilResponseReveal(ctx context.Context, req *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseReveal not implemented") +func (m *MsgSetArtistSetResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedMsgServer) CouncilRestart(ctx context.Context, req *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilRestart not implemented") +func (m *MsgSetArtistSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetArtistSetResponse.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 (*UnimplementedMsgServer) MatchConfirm(ctx context.Context, req *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method MatchConfirm not implemented") +func (m *MsgSetArtistSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetArtistSetResponse.Merge(m, src) +} +func (m *MsgSetArtistSetResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetArtistSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetArtistSetResponse.DiscardUnknown(m) } -func RegisterMsgServer(s grpc1.Server, srv MsgServer) { - s.RegisterService(&_Msg_serviceDesc, srv) +var xxx_messageInfo_MsgSetArtistSetResponse proto.InternalMessageInfo + +type MsgCardVoteMulti 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 _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateParams) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UpdateParams(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/UpdateParams", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) +func (m *MsgCardVoteMulti) Reset() { *m = MsgCardVoteMulti{} } +func (m *MsgCardVoteMulti) String() string { return proto.CompactTextString(m) } +func (*MsgCardVoteMulti) ProtoMessage() {} +func (*MsgCardVoteMulti) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{76} +} +func (m *MsgCardVoteMulti) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardVoteMulti) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardVoteMulti.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *MsgCardVoteMulti) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardVoteMulti.Merge(m, src) +} +func (m *MsgCardVoteMulti) XXX_Size() int { + return m.Size() +} +func (m *MsgCardVoteMulti) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardVoteMulti.DiscardUnknown(m) } -func _Msg_UserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUserCreate) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UserCreate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/UserCreate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UserCreate(ctx, req.(*MsgUserCreate)) +var xxx_messageInfo_MsgCardVoteMulti proto.InternalMessageInfo + +func (m *MsgCardVoteMulti) GetCreator() string { + if m != nil { + return m.Creator } - return interceptor(ctx, in, info, handler) + return "" } -func _Msg_CardSchemeBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardSchemeBuy) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardSchemeBuy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardSchemeBuy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardSchemeBuy(ctx, req.(*MsgCardSchemeBuy)) +func (m *MsgCardVoteMulti) GetVotes() []*SingleVote { + if m != nil { + return m.Votes } - return interceptor(ctx, in, info, handler) + return nil } -func _Msg_CardSaveContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardSaveContent) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardSaveContent(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardSaveContent", +type MsgCardVoteMultiResponse struct { + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (m *MsgCardVoteMultiResponse) Reset() { *m = MsgCardVoteMultiResponse{} } +func (m *MsgCardVoteMultiResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardVoteMultiResponse) ProtoMessage() {} +func (*MsgCardVoteMultiResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{77} +} +func (m *MsgCardVoteMultiResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardVoteMultiResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardVoteMultiResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardSaveContent(ctx, req.(*MsgCardSaveContent)) +} +func (m *MsgCardVoteMultiResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardVoteMultiResponse.Merge(m, src) +} +func (m *MsgCardVoteMultiResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardVoteMultiResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardVoteMultiResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardVoteMultiResponse proto.InternalMessageInfo + +func (m *MsgCardVoteMultiResponse) GetAirdropClaimed() bool { + if m != nil { + return m.AirdropClaimed } - return interceptor(ctx, in, info, handler) + return false } -func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardVote) - if err := dec(in); err != nil { +func init() { + proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") + proto.RegisterType((*MsgUserCreate)(nil), "cardchain.cardchain.MsgUserCreate") + proto.RegisterType((*MsgUserCreateResponse)(nil), "cardchain.cardchain.MsgUserCreateResponse") + proto.RegisterType((*MsgCardSchemeBuy)(nil), "cardchain.cardchain.MsgCardSchemeBuy") + proto.RegisterType((*MsgCardSchemeBuyResponse)(nil), "cardchain.cardchain.MsgCardSchemeBuyResponse") + proto.RegisterType((*MsgCardSaveContent)(nil), "cardchain.cardchain.MsgCardSaveContent") + proto.RegisterType((*MsgCardSaveContentResponse)(nil), "cardchain.cardchain.MsgCardSaveContentResponse") + proto.RegisterType((*MsgCardVote)(nil), "cardchain.cardchain.MsgCardVote") + proto.RegisterType((*MsgCardVoteResponse)(nil), "cardchain.cardchain.MsgCardVoteResponse") + proto.RegisterType((*MsgCardTransfer)(nil), "cardchain.cardchain.MsgCardTransfer") + proto.RegisterType((*MsgCardTransferResponse)(nil), "cardchain.cardchain.MsgCardTransferResponse") + proto.RegisterType((*MsgCardDonate)(nil), "cardchain.cardchain.MsgCardDonate") + proto.RegisterType((*MsgCardDonateResponse)(nil), "cardchain.cardchain.MsgCardDonateResponse") + proto.RegisterType((*MsgCardArtworkAdd)(nil), "cardchain.cardchain.MsgCardArtworkAdd") + proto.RegisterType((*MsgCardArtworkAddResponse)(nil), "cardchain.cardchain.MsgCardArtworkAddResponse") + proto.RegisterType((*MsgCardArtistChange)(nil), "cardchain.cardchain.MsgCardArtistChange") + proto.RegisterType((*MsgCardArtistChangeResponse)(nil), "cardchain.cardchain.MsgCardArtistChangeResponse") + proto.RegisterType((*MsgCouncilRegister)(nil), "cardchain.cardchain.MsgCouncilRegister") + proto.RegisterType((*MsgCouncilRegisterResponse)(nil), "cardchain.cardchain.MsgCouncilRegisterResponse") + proto.RegisterType((*MsgCouncilDeregister)(nil), "cardchain.cardchain.MsgCouncilDeregister") + proto.RegisterType((*MsgCouncilDeregisterResponse)(nil), "cardchain.cardchain.MsgCouncilDeregisterResponse") + proto.RegisterType((*MsgMatchReport)(nil), "cardchain.cardchain.MsgMatchReport") + proto.RegisterType((*MsgMatchReportResponse)(nil), "cardchain.cardchain.MsgMatchReportResponse") + proto.RegisterType((*MsgCouncilCreate)(nil), "cardchain.cardchain.MsgCouncilCreate") + proto.RegisterType((*MsgCouncilCreateResponse)(nil), "cardchain.cardchain.MsgCouncilCreateResponse") + proto.RegisterType((*MsgMatchReporterAppoint)(nil), "cardchain.cardchain.MsgMatchReporterAppoint") + proto.RegisterType((*MsgMatchReporterAppointResponse)(nil), "cardchain.cardchain.MsgMatchReporterAppointResponse") + proto.RegisterType((*MsgSetCreate)(nil), "cardchain.cardchain.MsgSetCreate") + proto.RegisterType((*MsgSetCreateResponse)(nil), "cardchain.cardchain.MsgSetCreateResponse") + proto.RegisterType((*MsgSetCardAdd)(nil), "cardchain.cardchain.MsgSetCardAdd") + proto.RegisterType((*MsgSetCardAddResponse)(nil), "cardchain.cardchain.MsgSetCardAddResponse") + proto.RegisterType((*MsgSetCardRemove)(nil), "cardchain.cardchain.MsgSetCardRemove") + proto.RegisterType((*MsgSetCardRemoveResponse)(nil), "cardchain.cardchain.MsgSetCardRemoveResponse") + proto.RegisterType((*MsgSetContributorAdd)(nil), "cardchain.cardchain.MsgSetContributorAdd") + proto.RegisterType((*MsgSetContributorAddResponse)(nil), "cardchain.cardchain.MsgSetContributorAddResponse") + proto.RegisterType((*MsgSetContributorRemove)(nil), "cardchain.cardchain.MsgSetContributorRemove") + proto.RegisterType((*MsgSetContributorRemoveResponse)(nil), "cardchain.cardchain.MsgSetContributorRemoveResponse") + proto.RegisterType((*MsgSetFinalize)(nil), "cardchain.cardchain.MsgSetFinalize") + proto.RegisterType((*MsgSetFinalizeResponse)(nil), "cardchain.cardchain.MsgSetFinalizeResponse") + proto.RegisterType((*MsgSetArtworkAdd)(nil), "cardchain.cardchain.MsgSetArtworkAdd") + proto.RegisterType((*MsgSetArtworkAddResponse)(nil), "cardchain.cardchain.MsgSetArtworkAddResponse") + proto.RegisterType((*MsgSetStoryAdd)(nil), "cardchain.cardchain.MsgSetStoryAdd") + proto.RegisterType((*MsgSetStoryAddResponse)(nil), "cardchain.cardchain.MsgSetStoryAddResponse") + proto.RegisterType((*MsgBoosterPackBuy)(nil), "cardchain.cardchain.MsgBoosterPackBuy") + proto.RegisterType((*MsgBoosterPackBuyResponse)(nil), "cardchain.cardchain.MsgBoosterPackBuyResponse") + proto.RegisterType((*MsgSellOfferCreate)(nil), "cardchain.cardchain.MsgSellOfferCreate") + proto.RegisterType((*MsgSellOfferCreateResponse)(nil), "cardchain.cardchain.MsgSellOfferCreateResponse") + proto.RegisterType((*MsgSellOfferBuy)(nil), "cardchain.cardchain.MsgSellOfferBuy") + proto.RegisterType((*MsgSellOfferBuyResponse)(nil), "cardchain.cardchain.MsgSellOfferBuyResponse") + proto.RegisterType((*MsgSellOfferRemove)(nil), "cardchain.cardchain.MsgSellOfferRemove") + proto.RegisterType((*MsgSellOfferRemoveResponse)(nil), "cardchain.cardchain.MsgSellOfferRemoveResponse") + proto.RegisterType((*MsgCardRaritySet)(nil), "cardchain.cardchain.MsgCardRaritySet") + proto.RegisterType((*MsgCardRaritySetResponse)(nil), "cardchain.cardchain.MsgCardRaritySetResponse") + proto.RegisterType((*MsgCouncilResponseCommit)(nil), "cardchain.cardchain.MsgCouncilResponseCommit") + proto.RegisterType((*MsgCouncilResponseCommitResponse)(nil), "cardchain.cardchain.MsgCouncilResponseCommitResponse") + proto.RegisterType((*MsgCouncilResponseReveal)(nil), "cardchain.cardchain.MsgCouncilResponseReveal") + proto.RegisterType((*MsgCouncilResponseRevealResponse)(nil), "cardchain.cardchain.MsgCouncilResponseRevealResponse") + proto.RegisterType((*MsgCouncilRestart)(nil), "cardchain.cardchain.MsgCouncilRestart") + proto.RegisterType((*MsgCouncilRestartResponse)(nil), "cardchain.cardchain.MsgCouncilRestartResponse") + proto.RegisterType((*MsgMatchConfirm)(nil), "cardchain.cardchain.MsgMatchConfirm") + proto.RegisterType((*MsgMatchConfirmResponse)(nil), "cardchain.cardchain.MsgMatchConfirmResponse") + proto.RegisterType((*MsgProfileCardSet)(nil), "cardchain.cardchain.MsgProfileCardSet") + proto.RegisterType((*MsgProfileCardSetResponse)(nil), "cardchain.cardchain.MsgProfileCardSetResponse") + proto.RegisterType((*MsgProfileWebsiteSet)(nil), "cardchain.cardchain.MsgProfileWebsiteSet") + proto.RegisterType((*MsgProfileWebsiteSetResponse)(nil), "cardchain.cardchain.MsgProfileWebsiteSetResponse") + proto.RegisterType((*MsgProfileBioSet)(nil), "cardchain.cardchain.MsgProfileBioSet") + proto.RegisterType((*MsgProfileBioSetResponse)(nil), "cardchain.cardchain.MsgProfileBioSetResponse") + proto.RegisterType((*MsgBoosterPackOpen)(nil), "cardchain.cardchain.MsgBoosterPackOpen") + proto.RegisterType((*MsgBoosterPackOpenResponse)(nil), "cardchain.cardchain.MsgBoosterPackOpenResponse") + proto.RegisterType((*MsgBoosterPackTransfer)(nil), "cardchain.cardchain.MsgBoosterPackTransfer") + proto.RegisterType((*MsgBoosterPackTransferResponse)(nil), "cardchain.cardchain.MsgBoosterPackTransferResponse") + proto.RegisterType((*MsgSetStoryWriterSet)(nil), "cardchain.cardchain.MsgSetStoryWriterSet") + proto.RegisterType((*MsgSetStoryWriterSetResponse)(nil), "cardchain.cardchain.MsgSetStoryWriterSetResponse") + proto.RegisterType((*MsgSetArtistSet)(nil), "cardchain.cardchain.MsgSetArtistSet") + proto.RegisterType((*MsgSetArtistSetResponse)(nil), "cardchain.cardchain.MsgSetArtistSetResponse") + proto.RegisterType((*MsgCardVoteMulti)(nil), "cardchain.cardchain.MsgCardVoteMulti") + proto.RegisterType((*MsgCardVoteMultiResponse)(nil), "cardchain.cardchain.MsgCardVoteMultiResponse") +} + +func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } + +var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ + // 2307 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x6f, 0x1b, 0xc7, + 0x15, 0xf7, 0x9a, 0x92, 0x2c, 0x8d, 0x65, 0xd9, 0x5e, 0x2b, 0x36, 0xbd, 0x56, 0x68, 0x9a, 0x91, + 0x6c, 0x59, 0x91, 0xc4, 0x4a, 0x8e, 0xed, 0x20, 0x68, 0x53, 0x88, 0x32, 0x5a, 0x14, 0xa8, 0x6a, + 0x77, 0xd9, 0x26, 0x4d, 0xbf, 0x82, 0x25, 0x39, 0xa2, 0xb6, 0xe2, 0xee, 0x30, 0xbb, 0x43, 0x3a, + 0x0a, 0x50, 0xa0, 0x48, 0x2f, 0x45, 0x7b, 0xe9, 0xb9, 0xb7, 0xde, 0x72, 0x74, 0x81, 0xf6, 0x1f, + 0x68, 0x2f, 0x39, 0xf4, 0x10, 0xe4, 0xd4, 0x53, 0x51, 0xd8, 0x07, 0xff, 0x1b, 0xc5, 0x7c, 0xec, + 0xec, 0xec, 0x70, 0x76, 0x76, 0x49, 0x20, 0x17, 0x9b, 0x33, 0xf3, 0x9b, 0xf7, 0x31, 0xf3, 0xe6, + 0xbd, 0xb7, 0x3f, 0x08, 0xac, 0x75, 0xbd, 0xa8, 0xd7, 0x3d, 0xf1, 0xfc, 0xb0, 0x99, 0xfe, 0xc2, + 0x9f, 0xee, 0x0e, 0x23, 0x84, 0x91, 0x7d, 0x4d, 0xcc, 0xed, 0x8a, 0x5f, 0xce, 0x55, 0x2f, 0xf0, + 0x43, 0xd4, 0xa4, 0xff, 0x32, 0x9c, 0x73, 0xa3, 0x8b, 0xe2, 0x00, 0xc5, 0xcd, 0x20, 0xee, 0x37, + 0xc7, 0x7b, 0xe4, 0x3f, 0xbe, 0x70, 0x93, 0x2d, 0x7c, 0x4c, 0x47, 0x4d, 0x36, 0xe0, 0x4b, 0xab, + 0x7d, 0xd4, 0x47, 0x6c, 0x9e, 0xfc, 0xe2, 0xb3, 0x75, 0x9d, 0x3d, 0x43, 0x2f, 0xf2, 0x82, 0x64, + 0x5f, 0x8d, 0xeb, 0xea, 0x78, 0x31, 0x6c, 0x8e, 0xf7, 0x3a, 0x10, 0x7b, 0x7b, 0xcd, 0x2e, 0xf2, + 0x43, 0x93, 0x84, 0x31, 0xc2, 0x7e, 0x98, 0x18, 0x75, 0x5b, 0x87, 0x08, 0x3c, 0xdc, 0x3d, 0xe1, + 0x80, 0x3b, 0x3a, 0x40, 0x17, 0x8d, 0xc2, 0xae, 0x3f, 0x10, 0x56, 0xe8, 0x20, 0x5e, 0xd4, 0x63, + 0xeb, 0x8d, 0x7f, 0x59, 0xe0, 0xf2, 0x51, 0xdc, 0xff, 0xe9, 0xb0, 0xe7, 0x61, 0xf8, 0x8c, 0xda, + 0x6f, 0x3f, 0x02, 0x4b, 0xde, 0x08, 0x9f, 0xa0, 0xc8, 0xc7, 0x67, 0x55, 0xab, 0x6e, 0x6d, 0x2e, + 0xb5, 0xaa, 0x5f, 0xff, 0x7d, 0x67, 0x95, 0x1f, 0xcb, 0x41, 0xaf, 0x17, 0xc1, 0x38, 0x6e, 0xe3, + 0xc8, 0x0f, 0xfb, 0x6e, 0x0a, 0xb5, 0xdf, 0x07, 0x0b, 0xec, 0x04, 0xaa, 0xe7, 0xeb, 0xd6, 0xe6, + 0xc5, 0xfd, 0x5b, 0xbb, 0x9a, 0x6b, 0xd9, 0x65, 0x4a, 0x5a, 0x4b, 0x5f, 0xfe, 0xf7, 0xf6, 0xb9, + 0x2f, 0x5e, 0xbf, 0xd8, 0xb2, 0x5c, 0xbe, 0xeb, 0xbd, 0x77, 0x3f, 0x7f, 0xfd, 0x62, 0x2b, 0x95, + 0xf7, 0xc7, 0xd7, 0x2f, 0xb6, 0x36, 0x52, 0xa3, 0x3f, 0x95, 0x1c, 0x50, 0x2c, 0x6e, 0xdc, 0x04, + 0x37, 0x94, 0x29, 0x17, 0xc6, 0x43, 0x14, 0xc6, 0xb0, 0xd1, 0x07, 0x97, 0xc8, 0x52, 0x0c, 0xa3, + 0xc3, 0x08, 0x7a, 0x18, 0xda, 0x55, 0x70, 0xa1, 0x4b, 0x7e, 0xa1, 0x88, 0xf9, 0xe6, 0x26, 0x43, + 0xb2, 0x12, 0xc2, 0xe7, 0x04, 0x4a, 0x1d, 0x58, 0x72, 0x93, 0xa1, 0xbd, 0x0a, 0xe6, 0xbd, 0x81, + 0xef, 0xc5, 0xd5, 0x0a, 0x9d, 0x67, 0x83, 0xf7, 0x96, 0x89, 0xbd, 0xc9, 0xee, 0xc6, 0x0d, 0xf0, + 0x46, 0x46, 0x91, 0xb0, 0x20, 0x00, 0x57, 0x8e, 0xe2, 0xfe, 0xa1, 0x17, 0xf5, 0xda, 0xdd, 0x13, + 0x18, 0xc0, 0xd6, 0xe8, 0xcc, 0x60, 0xc4, 0x1e, 0xa8, 0x74, 0xfc, 0x1e, 0x3f, 0xc1, 0x9b, 0xbb, + 0xfc, 0xcc, 0x49, 0x10, 0xed, 0xf2, 0x20, 0xda, 0x3d, 0x44, 0x7e, 0xd8, 0x9a, 0x23, 0xe7, 0xe7, + 0x12, 0xac, 0x62, 0xc7, 0x3e, 0xa8, 0xaa, 0xea, 0x12, 0x53, 0xec, 0xeb, 0x60, 0x81, 0x1c, 0xe2, + 0x0f, 0x7a, 0x54, 0xeb, 0x9c, 0xcb, 0x47, 0x8d, 0x7f, 0x5a, 0xc0, 0x4e, 0x36, 0x79, 0x63, 0x78, + 0x88, 0x42, 0x0c, 0x43, 0x6c, 0xb0, 0x32, 0x15, 0x74, 0x5e, 0x16, 0x44, 0x77, 0xb0, 0xcd, 0xf4, + 0xa8, 0x96, 0xdd, 0x64, 0x48, 0x8e, 0x30, 0x44, 0x18, 0xc6, 0xd5, 0x39, 0x76, 0x84, 0x74, 0x40, + 0xe4, 0x78, 0x11, 0xf6, 0x63, 0x5c, 0x9d, 0xa7, 0xd3, 0x7c, 0x64, 0xaf, 0x83, 0x4b, 0x1d, 0x6f, + 0xe0, 0x85, 0x5d, 0x78, 0x10, 0x76, 0x4f, 0x50, 0x54, 0x5d, 0xa8, 0x5b, 0x9b, 0x8b, 0x6e, 0x76, + 0x52, 0x71, 0xfc, 0x09, 0x70, 0x26, 0x7d, 0x10, 0xae, 0xdf, 0x05, 0x2b, 0x9e, 0x1f, 0xf5, 0x22, + 0x34, 0x3c, 0x1c, 0x78, 0x7e, 0x00, 0xd9, 0x11, 0x2c, 0xba, 0xca, 0x6c, 0xe3, 0x37, 0xe0, 0x22, + 0x97, 0xf2, 0x01, 0x32, 0x46, 0xcb, 0x03, 0x30, 0x37, 0x46, 0x18, 0xf2, 0x9b, 0xba, 0xad, 0x8d, + 0xf5, 0xb6, 0x1f, 0xf6, 0x07, 0x90, 0x08, 0x72, 0x29, 0x58, 0xb1, 0xf8, 0x3b, 0xe0, 0x9a, 0xa4, + 0x6b, 0x6a, 0x53, 0x03, 0xfa, 0x74, 0xc9, 0xf6, 0x9f, 0x44, 0x5e, 0x18, 0x1f, 0xc3, 0x68, 0x86, + 0x1b, 0x73, 0xc0, 0x62, 0x04, 0xbb, 0xd0, 0x1f, 0xc3, 0x88, 0x47, 0xb7, 0x18, 0x2b, 0xd6, 0xb2, + 0x47, 0x26, 0xab, 0x13, 0x21, 0xfe, 0x07, 0x8b, 0xbe, 0x32, 0xb2, 0xf6, 0x04, 0x85, 0xe6, 0x57, + 0x96, 0x67, 0xc8, 0x63, 0xb0, 0xe0, 0x05, 0x68, 0xc4, 0x23, 0xa7, 0x44, 0xec, 0x73, 0xb8, 0xf6, + 0x19, 0xa6, 0x96, 0x08, 0x1b, 0x7f, 0x6f, 0x81, 0xab, 0x7c, 0xe5, 0x20, 0xc2, 0xcf, 0x51, 0x74, + 0x7a, 0xd0, 0xeb, 0xcd, 0x60, 0xe7, 0x2a, 0x98, 0xf7, 0x03, 0xaf, 0x0f, 0x79, 0x80, 0xb3, 0x01, + 0x91, 0x73, 0x3c, 0x1a, 0x0c, 0x0e, 0x22, 0x4c, 0x03, 0x7c, 0xd1, 0x4d, 0x86, 0x8a, 0x79, 0xb7, + 0xc0, 0xcd, 0x09, 0x23, 0xa4, 0x4c, 0x71, 0x2d, 0x5d, 0xf4, 0x63, 0x7c, 0x78, 0xe2, 0x85, 0xfd, + 0x59, 0xce, 0x32, 0x7d, 0x56, 0x15, 0xf9, 0x59, 0x29, 0xb6, 0xbc, 0x09, 0x6e, 0x69, 0xd4, 0x09, + 0x6b, 0xbe, 0xcd, 0x72, 0x02, 0x2b, 0x27, 0x2e, 0xec, 0xfb, 0x31, 0x36, 0x45, 0x98, 0x22, 0x7c, + 0x8d, 0xbd, 0xc6, 0xec, 0x6e, 0x21, 0xfb, 0x7d, 0xb0, 0x9a, 0xae, 0x3e, 0x81, 0xd1, 0xb4, 0xd2, + 0x6b, 0x60, 0x4d, 0xb7, 0x5f, 0xc8, 0xff, 0xda, 0x02, 0x2b, 0x47, 0x71, 0xff, 0x88, 0x14, 0x4b, + 0x17, 0x0e, 0x51, 0x84, 0xcd, 0x79, 0x9f, 0x56, 0x55, 0x71, 0x8c, 0xc9, 0xd0, 0x6e, 0x80, 0xe5, + 0xe1, 0xc0, 0x3b, 0x83, 0x3d, 0x72, 0x48, 0xf1, 0x41, 0xb5, 0x52, 0xaf, 0x6c, 0xce, 0xb9, 0x99, + 0x39, 0x05, 0xd3, 0xaa, 0xce, 0x4d, 0x60, 0x5a, 0xf6, 0x23, 0x70, 0x01, 0x8d, 0x70, 0x17, 0x05, + 0x90, 0xe6, 0xb9, 0x95, 0xfd, 0x35, 0x6d, 0xba, 0x78, 0xca, 0x30, 0x6e, 0x02, 0x56, 0x9c, 0xae, + 0x82, 0xeb, 0x59, 0x9f, 0x84, 0xbb, 0x2e, 0x2b, 0x31, 0xec, 0x38, 0x0a, 0xeb, 0x5c, 0x4e, 0xd4, + 0x28, 0xda, 0x1c, 0x56, 0x47, 0x64, 0x99, 0x42, 0xdf, 0xaf, 0x68, 0x2a, 0x90, 0x2c, 0x81, 0xd1, + 0xc1, 0x70, 0x88, 0x7c, 0x63, 0xcd, 0xa0, 0x99, 0x86, 0x81, 0x79, 0x7d, 0x15, 0x63, 0x45, 0xf5, + 0x1d, 0x70, 0x3b, 0x47, 0xbc, 0xb0, 0xe0, 0x0b, 0x0b, 0x2c, 0x1f, 0xc5, 0xfd, 0x36, 0xc4, 0x85, + 0xee, 0xda, 0x60, 0x2e, 0xf4, 0x02, 0xc8, 0x75, 0xd2, 0xdf, 0x79, 0x0f, 0xc4, 0xae, 0x83, 0x8b, + 0x31, 0x46, 0xd1, 0xd9, 0x87, 0x91, 0x4f, 0xcc, 0x64, 0xb5, 0x4a, 0x9e, 0x22, 0xd7, 0x4d, 0x4a, + 0x5a, 0xe4, 0x77, 0x46, 0x18, 0x45, 0x71, 0x75, 0xbe, 0x5e, 0xd9, 0x5c, 0x72, 0x33, 0x73, 0x8a, + 0x37, 0xd7, 0x69, 0xac, 0x0b, 0x4b, 0x85, 0x0b, 0x90, 0xe6, 0x4c, 0x32, 0x4f, 0x5e, 0xa0, 0x31, + 0x17, 0xad, 0x82, 0xf9, 0x18, 0x62, 0x71, 0x61, 0x6c, 0x20, 0xdd, 0x63, 0xc5, 0x70, 0x8f, 0x2c, + 0x21, 0xa6, 0x6a, 0x84, 0xfe, 0x13, 0x1a, 0x34, 0x7c, 0xc1, 0x85, 0x01, 0x1a, 0xc3, 0x6f, 0xc8, + 0x04, 0x16, 0x4a, 0x19, 0x4d, 0x92, 0x15, 0xc9, 0xe9, 0xa4, 0x27, 0x38, 0xcb, 0x61, 0xd8, 0x60, + 0x6e, 0x14, 0x8b, 0x1a, 0x46, 0x7f, 0x6b, 0x73, 0xc6, 0x84, 0x26, 0x61, 0xc9, 0x29, 0x0d, 0xea, + 0xec, 0xfa, 0x8c, 0xc7, 0x52, 0x6c, 0x0c, 0x0b, 0x71, 0x9d, 0x32, 0x61, 0xcf, 0x8f, 0x68, 0x0a, + 0x6b, 0x43, 0xfc, 0x3d, 0x3f, 0xf4, 0x06, 0xfe, 0x67, 0x53, 0x9b, 0xa1, 0x4d, 0x1f, 0x92, 0x3c, + 0xa1, 0xe9, 0x38, 0x89, 0x84, 0x52, 0x85, 0x51, 0xef, 0xb2, 0xb6, 0x2c, 0xe6, 0xc5, 0x81, 0xa6, + 0xf6, 0xf5, 0x12, 0x6f, 0xdb, 0xe4, 0xb1, 0xcd, 0x68, 0x01, 0x7d, 0xa8, 0x49, 0x93, 0x4e, 0x07, + 0x79, 0x67, 0x90, 0x68, 0x11, 0xfa, 0x7f, 0x4c, 0xbb, 0x83, 0x16, 0x42, 0xa4, 0x8e, 0x3c, 0xf3, + 0xba, 0xa7, 0xe6, 0x36, 0xbd, 0xcc, 0x81, 0x1f, 0xd2, 0x5a, 0x9f, 0x15, 0x39, 0x75, 0x93, 0xf7, + 0x27, 0xd6, 0x9a, 0xb7, 0xe1, 0x60, 0xf0, 0xf4, 0xf8, 0xb8, 0xc4, 0x57, 0x4c, 0x5e, 0x4f, 0xf0, + 0x10, 0xcc, 0x0f, 0x23, 0xbf, 0x0b, 0xcb, 0xb6, 0x57, 0x0c, 0xad, 0xad, 0xea, 0x8a, 0x31, 0xe2, + 0x0c, 0x7f, 0x41, 0x1b, 0x52, 0xb1, 0x6a, 0x3e, 0x41, 0x92, 0x6a, 0x13, 0xa4, 0x30, 0x56, 0x9e, + 0xd2, 0xb6, 0x9f, 0xb2, 0x70, 0xa1, 0xf7, 0xd7, 0xd9, 0x23, 0x2a, 0x7c, 0xb4, 0xd3, 0xaa, 0x56, + 0xbc, 0x56, 0xde, 0xe9, 0x5f, 0x2d, 0xf1, 0x81, 0xe7, 0x7a, 0xe4, 0xc3, 0xb5, 0x0d, 0xf1, 0x6c, + 0x7d, 0x25, 0x8b, 0xa8, 0x8a, 0x1c, 0xd4, 0x8f, 0xc1, 0x42, 0x44, 0x85, 0xd2, 0x5a, 0xb4, 0x92, + 0xf3, 0x9d, 0x91, 0xea, 0x76, 0x39, 0x5c, 0x5f, 0xcc, 0x65, 0x13, 0x85, 0xfd, 0x7f, 0xb1, 0xe4, + 0x4a, 0x9f, 0x4c, 0x1f, 0xa2, 0x20, 0xf0, 0x4d, 0x7e, 0xac, 0x81, 0x25, 0x4e, 0x35, 0x08, 0x57, + 0xd2, 0x09, 0xb2, 0x8f, 0x14, 0xf7, 0x30, 0x86, 0xfc, 0x39, 0x26, 0x43, 0xbb, 0x06, 0x40, 0x3c, + 0xea, 0xf7, 0x61, 0x8c, 0x7d, 0x14, 0xf2, 0x0a, 0x2b, 0xcd, 0x28, 0x86, 0x37, 0x40, 0x3d, 0xcf, + 0x36, 0xe1, 0xc0, 0xdf, 0xb4, 0x0e, 0xb8, 0x70, 0x0c, 0xbd, 0xc1, 0xcc, 0x0e, 0x3c, 0xce, 0x3a, + 0xb0, 0xb2, 0xff, 0xa6, 0xf6, 0xe4, 0x85, 0x36, 0xe1, 0xdf, 0x75, 0xb0, 0x10, 0xc3, 0x6e, 0x04, + 0x31, 0xf7, 0x8d, 0x8f, 0xca, 0xf8, 0xc5, 0x4c, 0x16, 0x7e, 0x7d, 0xc4, 0x3e, 0x58, 0x04, 0x06, + 0x7b, 0xd1, 0xcc, 0x17, 0xa2, 0xff, 0x0c, 0xc9, 0x88, 0x16, 0x7a, 0xff, 0xcd, 0x38, 0x21, 0xda, + 0x7f, 0x1d, 0xa2, 0xf0, 0xd8, 0x8f, 0x82, 0x99, 0xba, 0x67, 0xa9, 0xeb, 0xad, 0x4c, 0xd1, 0xf5, + 0xda, 0xdf, 0x05, 0x80, 0x7c, 0x2c, 0xb3, 0xe6, 0x99, 0xf6, 0xd3, 0x25, 0xbe, 0xaf, 0xa5, 0x2d, + 0xda, 0xc4, 0x21, 0x7b, 0x23, 0x3c, 0x6d, 0xd3, 0x13, 0x7e, 0x16, 0xa1, 0x63, 0x7f, 0x00, 0x29, + 0x73, 0x30, 0xcb, 0xd3, 0xd5, 0x9e, 0x6d, 0x56, 0xa8, 0xd0, 0xf8, 0x33, 0xda, 0xee, 0xf0, 0xc5, + 0x0f, 0x61, 0x27, 0xf6, 0x31, 0x34, 0x2b, 0xad, 0x82, 0x0b, 0xcf, 0x19, 0x2e, 0x61, 0xa5, 0xf8, + 0x50, 0xdb, 0xde, 0x4c, 0x48, 0x16, 0x9a, 0x7f, 0x48, 0xb3, 0x14, 0x5f, 0x6f, 0xf9, 0xc8, 0xac, + 0xf5, 0x0a, 0xa8, 0x74, 0x7c, 0xc4, 0x35, 0x92, 0x9f, 0xda, 0x84, 0x92, 0x91, 0x26, 0x34, 0x75, + 0x68, 0x3a, 0x96, 0xea, 0xde, 0xd3, 0x21, 0x0c, 0x0d, 0xba, 0xd6, 0xc1, 0xa5, 0x4e, 0x0a, 0x16, + 0xa7, 0x9b, 0x9d, 0x54, 0xf4, 0x3f, 0xa2, 0x29, 0x59, 0xd1, 0x21, 0x8a, 0x2b, 0xd1, 0x45, 0xaf, + 0x26, 0xae, 0x5a, 0xf4, 0x73, 0x2c, 0x19, 0x36, 0x3e, 0xb7, 0x68, 0x07, 0x20, 0x6d, 0x2c, 0xc1, + 0x9d, 0x94, 0x32, 0x70, 0x0a, 0x26, 0xa5, 0x0e, 0x6a, 0x7a, 0x1b, 0xc4, 0x11, 0x8e, 0x93, 0xae, + 0xb8, 0x9d, 0x7e, 0x7a, 0x98, 0x2f, 0x4c, 0xdf, 0x13, 0x29, 0xdf, 0x33, 0x95, 0x89, 0xef, 0x99, + 0xbc, 0x1e, 0x39, 0xab, 0x57, 0x62, 0x53, 0x2f, 0x8b, 0x0e, 0xce, 0x8f, 0xf1, 0x2c, 0x26, 0x95, + 0xe3, 0x26, 0x92, 0x6a, 0x9f, 0x2a, 0x12, 0x36, 0x7c, 0x22, 0xca, 0x2d, 0x79, 0xf8, 0x47, 0xa3, + 0x01, 0xf6, 0x0d, 0x46, 0x3c, 0x04, 0xf3, 0x63, 0xca, 0x3b, 0x9e, 0x2f, 0x97, 0x47, 0x18, 0x5a, + 0xb1, 0xa6, 0x25, 0xca, 0xa7, 0x50, 0x39, 0x6d, 0x23, 0xb7, 0xff, 0x8f, 0x3a, 0xa8, 0x1c, 0xc5, + 0x7d, 0xbb, 0x03, 0x96, 0x33, 0x6c, 0xfb, 0xba, 0xd6, 0x22, 0x85, 0xce, 0x76, 0xb6, 0xcb, 0xa0, + 0x84, 0x4d, 0xbf, 0x04, 0x40, 0x62, 0xbc, 0x1b, 0xb9, 0x7b, 0x05, 0xc6, 0xd9, 0x2a, 0xc6, 0x08, + 0xe9, 0x10, 0x5c, 0xca, 0xb2, 0xd9, 0x1b, 0x79, 0x9b, 0x33, 0x30, 0x67, 0xa7, 0x14, 0x4c, 0xa8, + 0x39, 0x05, 0x97, 0x55, 0x42, 0xfa, 0x9e, 0x51, 0x42, 0x0a, 0x74, 0x9a, 0x25, 0x81, 0x42, 0xd9, + 0x07, 0x60, 0x51, 0x70, 0xbe, 0x75, 0xd3, 0x66, 0x82, 0x70, 0x36, 0x8b, 0x10, 0x42, 0x6e, 0x07, + 0x2c, 0x67, 0x08, 0xda, 0x75, 0xd3, 0xce, 0x04, 0x95, 0x7f, 0xdb, 0x3a, 0xf6, 0x95, 0xdc, 0xb6, + 0xc4, 0xbc, 0x36, 0x4c, 0x7b, 0x19, 0x26, 0xff, 0xb6, 0x27, 0x79, 0x53, 0xfb, 0x04, 0xac, 0x28, + 0x9c, 0xe9, 0x5d, 0xd3, 0xee, 0x14, 0xe7, 0xec, 0x96, 0xc3, 0x09, 0x4d, 0x21, 0xb8, 0x32, 0xc1, + 0x7d, 0x6e, 0x16, 0xc8, 0x10, 0x48, 0xe7, 0x5b, 0x65, 0x91, 0x99, 0x00, 0x53, 0xd8, 0xcd, 0xfc, + 0x00, 0xcb, 0x02, 0x0d, 0x01, 0xa6, 0x67, 0x3c, 0xed, 0x4f, 0xc0, 0xd5, 0x49, 0xba, 0xf3, 0x7e, + 0x81, 0x94, 0x14, 0xea, 0xec, 0x95, 0x86, 0x0a, 0x95, 0x1f, 0x83, 0x8b, 0x32, 0x01, 0xfa, 0x56, + 0x9e, 0x04, 0x09, 0xe4, 0xbc, 0x5d, 0x02, 0x94, 0x49, 0x04, 0x19, 0xce, 0x71, 0xa3, 0xc0, 0x48, + 0x9e, 0x6c, 0x76, 0x4a, 0xc1, 0x84, 0x9a, 0xcf, 0xc0, 0xaa, 0x96, 0x6a, 0xdc, 0x2e, 0x61, 0xab, + 0x40, 0x3b, 0xef, 0x4c, 0x83, 0x16, 0xba, 0x3f, 0x02, 0x4b, 0x29, 0xc7, 0x78, 0x27, 0x4f, 0x84, + 0x80, 0x38, 0xf7, 0x0b, 0x21, 0xf2, 0xb3, 0x95, 0xc8, 0xbf, 0x86, 0x69, 0x23, 0xc3, 0xe4, 0x3f, + 0xdb, 0x49, 0x76, 0x8f, 0xdc, 0x4d, 0x96, 0xda, 0xdb, 0x28, 0xd8, 0xcc, 0x60, 0xf9, 0x77, 0xa3, + 0xa5, 0xef, 0x48, 0x58, 0x4f, 0x72, 0x77, 0xc6, 0x43, 0xc8, 0x40, 0xf3, 0xc3, 0x3a, 0x97, 0xa7, + 0x23, 0xe1, 0xa0, 0x25, 0xe9, 0xb6, 0xcb, 0x89, 0xe2, 0x7e, 0xbe, 0x33, 0x0d, 0x5a, 0x7e, 0x52, + 0x32, 0x21, 0xf7, 0x96, 0x41, 0x48, 0x02, 0xca, 0x7f, 0x52, 0x1a, 0x2a, 0x8e, 0x5f, 0x9b, 0x94, + 0x6c, 0x4d, 0xd7, 0x26, 0xe5, 0xda, 0x9d, 0x52, 0x30, 0xc5, 0x0f, 0x41, 0xb5, 0x99, 0xfc, 0x48, + 0x40, 0x46, 0x3f, 0x54, 0x3a, 0x8d, 0x54, 0x0d, 0x85, 0x4b, 0xcb, 0xad, 0x1a, 0x59, 0x5c, 0x7e, + 0xd5, 0xc8, 0x21, 0xd2, 0x4e, 0xc1, 0x65, 0x95, 0x1c, 0xbb, 0x97, 0x6f, 0x69, 0x06, 0x98, 0x9f, + 0xc5, 0x73, 0x18, 0x2e, 0x52, 0xce, 0x33, 0xf4, 0xd6, 0x7a, 0xa1, 0x00, 0xe2, 0xd2, 0x76, 0x19, + 0x94, 0xd6, 0x21, 0x1e, 0xda, 0xc5, 0x0e, 0xf1, 0xa8, 0x6e, 0x96, 0x04, 0xaa, 0xbd, 0x5c, 0x4a, + 0x5c, 0x19, 0x7b, 0x39, 0x01, 0x33, 0xf7, 0x72, 0x13, 0x1c, 0x93, 0xfd, 0x5b, 0xf0, 0x86, 0x9e, + 0x5f, 0xda, 0x29, 0xac, 0xa3, 0x32, 0xdc, 0x79, 0x38, 0x15, 0xdc, 0xa0, 0x9e, 0xb3, 0x43, 0x65, + 0xd5, 0x33, 0x78, 0x69, 0xf5, 0x59, 0x22, 0x87, 0xb6, 0x50, 0x59, 0x16, 0xe7, 0x6e, 0xb1, 0x20, + 0x82, 0x33, 0xb4, 0x50, 0x5a, 0xea, 0x86, 0xc4, 0x67, 0x86, 0xb6, 0x59, 0x37, 0x16, 0x3d, 0x8e, + 0x72, 0xb6, 0xcb, 0xa0, 0x64, 0x6f, 0x14, 0xc6, 0x24, 0xd7, 0x9b, 0x2c, 0x2e, 0xdf, 0x1b, 0x3d, + 0x59, 0x42, 0x8a, 0xcb, 0x24, 0x53, 0x72, 0xbf, 0x40, 0x48, 0x0a, 0xcd, 0x2f, 0x2e, 0xb9, 0x2c, + 0x09, 0x79, 0x0f, 0x59, 0x8a, 0x64, 0xa3, 0x40, 0x06, 0x83, 0xe5, 0xbf, 0x07, 0x2d, 0x45, 0x42, + 0xde, 0xb8, 0xca, 0x8f, 0xdc, 0x2b, 0x91, 0xf7, 0x08, 0x30, 0xff, 0x8d, 0xe7, 0xb1, 0x21, 0xcf, + 0xc1, 0x35, 0x1d, 0xdf, 0xf1, 0x76, 0x09, 0x39, 0xe2, 0x8b, 0xe4, 0xc1, 0x14, 0x60, 0xa5, 0x39, + 0x50, 0x28, 0x8c, 0xfb, 0x45, 0x65, 0x44, 0x40, 0x8d, 0xcd, 0x81, 0x9e, 0xa0, 0x60, 0x09, 0x5a, + 0x62, 0x27, 0xd6, 0xcd, 0x75, 0x91, 0xa1, 0x4c, 0x09, 0x7a, 0x92, 0x80, 0x48, 0x72, 0x66, 0xca, + 0x3e, 0x6c, 0x14, 0x7d, 0x0e, 0x52, 0x98, 0x39, 0x67, 0x4e, 0x10, 0x0b, 0xce, 0xfc, 0xef, 0x5e, + 0xbf, 0xd8, 0xb2, 0x5a, 0xee, 0x97, 0x2f, 0x6b, 0xd6, 0x57, 0x2f, 0x6b, 0xd6, 0xff, 0x5e, 0xd6, + 0xac, 0x3f, 0xbf, 0xaa, 0x9d, 0xfb, 0xea, 0x55, 0xed, 0xdc, 0x7f, 0x5e, 0xd5, 0xce, 0xfd, 0xfc, + 0xdd, 0xbe, 0x8f, 0x4f, 0x46, 0x9d, 0xdd, 0x2e, 0x0a, 0x9a, 0x4f, 0x60, 0x17, 0x86, 0x38, 0xf2, + 0x06, 0x44, 0xd6, 0xf7, 0xbd, 0x00, 0x36, 0xf5, 0x7f, 0x39, 0x87, 0xcf, 0x86, 0x30, 0xee, 0x2c, + 0xd0, 0x3f, 0xfe, 0x7b, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6a, 0xf0, 0x9e, 0x50, 0x56, + 0x29, 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 { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) + CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) + CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) + CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) + CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) + CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) + CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) + CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) + CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) + MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) + CouncilCreate(ctx context.Context, in *MsgCouncilCreate, opts ...grpc.CallOption) (*MsgCouncilCreateResponse, error) + MatchReporterAppoint(ctx context.Context, in *MsgMatchReporterAppoint, opts ...grpc.CallOption) (*MsgMatchReporterAppointResponse, error) + SetCreate(ctx context.Context, in *MsgSetCreate, opts ...grpc.CallOption) (*MsgSetCreateResponse, error) + SetCardAdd(ctx context.Context, in *MsgSetCardAdd, opts ...grpc.CallOption) (*MsgSetCardAddResponse, error) + SetCardRemove(ctx context.Context, in *MsgSetCardRemove, opts ...grpc.CallOption) (*MsgSetCardRemoveResponse, error) + SetContributorAdd(ctx context.Context, in *MsgSetContributorAdd, opts ...grpc.CallOption) (*MsgSetContributorAddResponse, error) + SetContributorRemove(ctx context.Context, in *MsgSetContributorRemove, opts ...grpc.CallOption) (*MsgSetContributorRemoveResponse, error) + SetFinalize(ctx context.Context, in *MsgSetFinalize, opts ...grpc.CallOption) (*MsgSetFinalizeResponse, error) + SetArtworkAdd(ctx context.Context, in *MsgSetArtworkAdd, opts ...grpc.CallOption) (*MsgSetArtworkAddResponse, error) + SetStoryAdd(ctx context.Context, in *MsgSetStoryAdd, opts ...grpc.CallOption) (*MsgSetStoryAddResponse, error) + BoosterPackBuy(ctx context.Context, in *MsgBoosterPackBuy, opts ...grpc.CallOption) (*MsgBoosterPackBuyResponse, error) + SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) + SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) + SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) + CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) + CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) + CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) + CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) + MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) + ProfileCardSet(ctx context.Context, in *MsgProfileCardSet, opts ...grpc.CallOption) (*MsgProfileCardSetResponse, error) + ProfileWebsiteSet(ctx context.Context, in *MsgProfileWebsiteSet, opts ...grpc.CallOption) (*MsgProfileWebsiteSetResponse, error) + ProfileBioSet(ctx context.Context, in *MsgProfileBioSet, opts ...grpc.CallOption) (*MsgProfileBioSetResponse, error) + BoosterPackOpen(ctx context.Context, in *MsgBoosterPackOpen, opts ...grpc.CallOption) (*MsgBoosterPackOpenResponse, error) + BoosterPackTransfer(ctx context.Context, in *MsgBoosterPackTransfer, opts ...grpc.CallOption) (*MsgBoosterPackTransferResponse, error) + SetStoryWriterSet(ctx context.Context, in *MsgSetStoryWriterSet, opts ...grpc.CallOption) (*MsgSetStoryWriterSetResponse, error) + SetArtistSet(ctx context.Context, in *MsgSetArtistSet, opts ...grpc.CallOption) (*MsgSetArtistSetResponse, error) + CardVoteMulti(ctx context.Context, in *MsgCardVoteMulti, opts ...grpc.CallOption) (*MsgCardVoteMultiResponse, error) +} + +type msgClient struct { + cc grpc1.ClientConn +} + +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} +} + +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateParams", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CardVote(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardVote", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardVote(ctx, req.(*MsgCardVote)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CardTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardTransfer) - if err := dec(in); err != nil { +func (c *msgClient) UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) { + out := new(MsgUserCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UserCreate", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CardTransfer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardTransfer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardTransfer(ctx, req.(*MsgCardTransfer)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CardDonate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardDonate) - if err := dec(in); err != nil { +func (c *msgClient) CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) { + out := new(MsgCardSchemeBuyResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSchemeBuy", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CardDonate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardDonate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardDonate(ctx, req.(*MsgCardDonate)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CardArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardArtworkAdd) - if err := dec(in); err != nil { +func (c *msgClient) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) { + out := new(MsgCardSaveContentResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSaveContent", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CardArtworkAdd(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardArtworkAdd", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardArtworkAdd(ctx, req.(*MsgCardArtworkAdd)) + return out, nil +} + +func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) { + out := new(MsgCardVoteResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardVote", in, out, opts...) + if err != nil { + return nil, err } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CardArtistChange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardArtistChange) - if err := dec(in); err != nil { +func (c *msgClient) CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) { + out := new(MsgCardTransferResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardTransfer", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CardArtistChange(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardArtistChange", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardArtistChange(ctx, req.(*MsgCardArtistChange)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CouncilRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilRegister) - if err := dec(in); err != nil { +func (c *msgClient) CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) { + out := new(MsgCardDonateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardDonate", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CouncilRegister(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilRegister", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilRegister(ctx, req.(*MsgCouncilRegister)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CouncilDeregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilDeregister) - if err := dec(in); err != nil { +func (c *msgClient) CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) { + out := new(MsgCardArtworkAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtworkAdd", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CouncilDeregister(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilDeregister", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilDeregister(ctx, req.(*MsgCouncilDeregister)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_MatchReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgMatchReport) - if err := dec(in); err != nil { +func (c *msgClient) CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) { + out := new(MsgCardArtistChangeResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtistChange", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).MatchReport(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/MatchReport", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).MatchReport(ctx, req.(*MsgMatchReport)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CouncilCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilCreate) - if err := dec(in); err != nil { +func (c *msgClient) CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) { + out := new(MsgCouncilRegisterResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilRegister", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CouncilCreate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilCreate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilCreate(ctx, req.(*MsgCouncilCreate)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_MatchReporterAppoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgMatchReporterAppoint) - if err := dec(in); err != nil { +func (c *msgClient) CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) { + out := new(MsgCouncilDeregisterResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilDeregister", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).MatchReporterAppoint(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/MatchReporterAppoint", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).MatchReporterAppoint(ctx, req.(*MsgMatchReporterAppoint)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetCreate) - if err := dec(in); err != nil { +func (c *msgClient) MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) { + out := new(MsgMatchReportResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchReport", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetCreate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetCreate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetCreate(ctx, req.(*MsgSetCreate)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetCardAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetCardAdd) - if err := dec(in); err != nil { +func (c *msgClient) CouncilCreate(ctx context.Context, in *MsgCouncilCreate, opts ...grpc.CallOption) (*MsgCouncilCreateResponse, error) { + out := new(MsgCouncilCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilCreate", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetCardAdd(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetCardAdd", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetCardAdd(ctx, req.(*MsgSetCardAdd)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetCardRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetCardRemove) - if err := dec(in); err != nil { +func (c *msgClient) MatchReporterAppoint(ctx context.Context, in *MsgMatchReporterAppoint, opts ...grpc.CallOption) (*MsgMatchReporterAppointResponse, error) { + out := new(MsgMatchReporterAppointResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchReporterAppoint", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetCardRemove(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetCardRemove", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetCardRemove(ctx, req.(*MsgSetCardRemove)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetContributorAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetContributorAdd) - if err := dec(in); err != nil { +func (c *msgClient) SetCreate(ctx context.Context, in *MsgSetCreate, opts ...grpc.CallOption) (*MsgSetCreateResponse, error) { + out := new(MsgSetCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCreate", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetContributorAdd(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetContributorAdd", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetContributorAdd(ctx, req.(*MsgSetContributorAdd)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetContributorRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetContributorRemove) - if err := dec(in); err != nil { +func (c *msgClient) SetCardAdd(ctx context.Context, in *MsgSetCardAdd, opts ...grpc.CallOption) (*MsgSetCardAddResponse, error) { + out := new(MsgSetCardAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCardAdd", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetContributorRemove(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetContributorRemove", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetContributorRemove(ctx, req.(*MsgSetContributorRemove)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetFinalize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetFinalize) - if err := dec(in); err != nil { +func (c *msgClient) SetCardRemove(ctx context.Context, in *MsgSetCardRemove, opts ...grpc.CallOption) (*MsgSetCardRemoveResponse, error) { + out := new(MsgSetCardRemoveResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCardRemove", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetFinalize(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetFinalize", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetFinalize(ctx, req.(*MsgSetFinalize)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetArtworkAdd) - if err := dec(in); err != nil { +func (c *msgClient) SetContributorAdd(ctx context.Context, in *MsgSetContributorAdd, opts ...grpc.CallOption) (*MsgSetContributorAddResponse, error) { + out := new(MsgSetContributorAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetContributorAdd", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetArtworkAdd(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetArtworkAdd", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetArtworkAdd(ctx, req.(*MsgSetArtworkAdd)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetStoryAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetStoryAdd) - if err := dec(in); err != nil { +func (c *msgClient) SetContributorRemove(ctx context.Context, in *MsgSetContributorRemove, opts ...grpc.CallOption) (*MsgSetContributorRemoveResponse, error) { + out := new(MsgSetContributorRemoveResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetContributorRemove", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetStoryAdd(ctx, in) + return out, nil +} + +func (c *msgClient) SetFinalize(ctx context.Context, in *MsgSetFinalize, opts ...grpc.CallOption) (*MsgSetFinalizeResponse, error) { + out := new(MsgSetFinalizeResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetFinalize", in, out, opts...) + if err != nil { + return nil, err } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetStoryAdd", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetStoryAdd(ctx, req.(*MsgSetStoryAdd)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_BoosterPackBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgBoosterPackBuy) - if err := dec(in); err != nil { +func (c *msgClient) SetArtworkAdd(ctx context.Context, in *MsgSetArtworkAdd, opts ...grpc.CallOption) (*MsgSetArtworkAddResponse, error) { + out := new(MsgSetArtworkAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetArtworkAdd", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).BoosterPackBuy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/BoosterPackBuy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).BoosterPackBuy(ctx, req.(*MsgBoosterPackBuy)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SellOfferCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSellOfferCreate) - if err := dec(in); err != nil { +func (c *msgClient) SetStoryAdd(ctx context.Context, in *MsgSetStoryAdd, opts ...grpc.CallOption) (*MsgSetStoryAddResponse, error) { + out := new(MsgSetStoryAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetStoryAdd", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SellOfferCreate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SellOfferCreate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SellOfferCreate(ctx, req.(*MsgSellOfferCreate)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SellOfferBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSellOfferBuy) - if err := dec(in); err != nil { +func (c *msgClient) BoosterPackBuy(ctx context.Context, in *MsgBoosterPackBuy, opts ...grpc.CallOption) (*MsgBoosterPackBuyResponse, error) { + out := new(MsgBoosterPackBuyResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BoosterPackBuy", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SellOfferBuy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SellOfferBuy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SellOfferBuy(ctx, req.(*MsgSellOfferBuy)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SellOfferRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSellOfferRemove) - if err := dec(in); err != nil { +func (c *msgClient) SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) { + out := new(MsgSellOfferCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferCreate", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SellOfferRemove(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SellOfferRemove", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SellOfferRemove(ctx, req.(*MsgSellOfferRemove)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CardRaritySet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardRaritySet) - if err := dec(in); err != nil { +func (c *msgClient) SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) { + out := new(MsgSellOfferBuyResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferBuy", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CardRaritySet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardRaritySet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardRaritySet(ctx, req.(*MsgCardRaritySet)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CouncilResponseCommit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilResponseCommit) - if err := dec(in); err != nil { +func (c *msgClient) SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) { + out := new(MsgSellOfferRemoveResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferRemove", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CouncilResponseCommit(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilResponseCommit", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilResponseCommit(ctx, req.(*MsgCouncilResponseCommit)) + return out, nil +} + +func (c *msgClient) CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) { + out := new(MsgCardRaritySetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardRaritySet", in, out, opts...) + if err != nil { + return nil, err } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CouncilResponseReveal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilResponseReveal) - if err := dec(in); err != nil { +func (c *msgClient) CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) { + out := new(MsgCouncilResponseCommitResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilResponseCommit", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CouncilResponseReveal(ctx, in) + return out, nil +} + +func (c *msgClient) CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) { + out := new(MsgCouncilResponseRevealResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilResponseReveal", in, out, opts...) + if err != nil { + return nil, err } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilResponseReveal", + return out, nil +} + +func (c *msgClient) CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) { + out := new(MsgCouncilRestartResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilRestart", in, out, opts...) + if err != nil { + return nil, err } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilResponseReveal(ctx, req.(*MsgCouncilResponseReveal)) + return out, nil +} + +func (c *msgClient) MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) { + out := new(MsgMatchConfirmResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchConfirm", in, out, opts...) + if err != nil { + return nil, err } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CouncilRestart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilRestart) - if err := dec(in); err != nil { +func (c *msgClient) ProfileCardSet(ctx context.Context, in *MsgProfileCardSet, opts ...grpc.CallOption) (*MsgProfileCardSetResponse, error) { + out := new(MsgProfileCardSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/ProfileCardSet", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CouncilRestart(ctx, in) + return out, nil +} + +func (c *msgClient) ProfileWebsiteSet(ctx context.Context, in *MsgProfileWebsiteSet, opts ...grpc.CallOption) (*MsgProfileWebsiteSetResponse, error) { + out := new(MsgProfileWebsiteSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/ProfileWebsiteSet", in, out, opts...) + if err != nil { + return nil, err } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilRestart", + return out, nil +} + +func (c *msgClient) ProfileBioSet(ctx context.Context, in *MsgProfileBioSet, opts ...grpc.CallOption) (*MsgProfileBioSetResponse, error) { + out := new(MsgProfileBioSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/ProfileBioSet", in, out, opts...) + if err != nil { + return nil, err } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilRestart(ctx, req.(*MsgCouncilRestart)) + return out, nil +} + +func (c *msgClient) BoosterPackOpen(ctx context.Context, in *MsgBoosterPackOpen, opts ...grpc.CallOption) (*MsgBoosterPackOpenResponse, error) { + out := new(MsgBoosterPackOpenResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BoosterPackOpen", in, out, opts...) + if err != nil { + return nil, err } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_MatchConfirm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgMatchConfirm) - if err := dec(in); err != nil { +func (c *msgClient) BoosterPackTransfer(ctx context.Context, in *MsgBoosterPackTransfer, opts ...grpc.CallOption) (*MsgBoosterPackTransferResponse, error) { + out := new(MsgBoosterPackTransferResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BoosterPackTransfer", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).MatchConfirm(ctx, in) + return out, nil +} + +func (c *msgClient) SetStoryWriterSet(ctx context.Context, in *MsgSetStoryWriterSet, opts ...grpc.CallOption) (*MsgSetStoryWriterSetResponse, error) { + out := new(MsgSetStoryWriterSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetStoryWriterSet", in, out, opts...) + if err != nil { + return nil, err } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/MatchConfirm", + return out, nil +} + +func (c *msgClient) SetArtistSet(ctx context.Context, in *MsgSetArtistSet, opts ...grpc.CallOption) (*MsgSetArtistSetResponse, error) { + out := new(MsgSetArtistSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetArtistSet", in, out, opts...) + if err != nil { + return nil, err } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).MatchConfirm(ctx, req.(*MsgMatchConfirm)) + return out, nil +} + +func (c *msgClient) CardVoteMulti(ctx context.Context, in *MsgCardVoteMulti, opts ...grpc.CallOption) (*MsgCardVoteMultiResponse, error) { + out := new(MsgCardVoteMultiResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardVoteMulti", in, out, opts...) + if err != nil { + return nil, err } - return interceptor(ctx, in, info, handler) + return out, nil } -var Msg_serviceDesc = _Msg_serviceDesc -var _Msg_serviceDesc = grpc.ServiceDesc{ - ServiceName: "cardchain.cardchain.Msg", - HandlerType: (*MsgServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "UpdateParams", - Handler: _Msg_UpdateParams_Handler, - }, - { - MethodName: "UserCreate", - Handler: _Msg_UserCreate_Handler, - }, - { - MethodName: "CardSchemeBuy", - Handler: _Msg_CardSchemeBuy_Handler, - }, - { - MethodName: "CardSaveContent", - Handler: _Msg_CardSaveContent_Handler, - }, - { - MethodName: "CardVote", - Handler: _Msg_CardVote_Handler, - }, - { - MethodName: "CardTransfer", - Handler: _Msg_CardTransfer_Handler, - }, - { - MethodName: "CardDonate", - Handler: _Msg_CardDonate_Handler, - }, - { - MethodName: "CardArtworkAdd", - Handler: _Msg_CardArtworkAdd_Handler, - }, - { - MethodName: "CardArtistChange", - Handler: _Msg_CardArtistChange_Handler, - }, - { - MethodName: "CouncilRegister", - Handler: _Msg_CouncilRegister_Handler, - }, - { - MethodName: "CouncilDeregister", - Handler: _Msg_CouncilDeregister_Handler, - }, - { - MethodName: "MatchReport", - Handler: _Msg_MatchReport_Handler, - }, - { - MethodName: "CouncilCreate", - Handler: _Msg_CouncilCreate_Handler, - }, - { - MethodName: "MatchReporterAppoint", - Handler: _Msg_MatchReporterAppoint_Handler, - }, - { - MethodName: "SetCreate", - Handler: _Msg_SetCreate_Handler, - }, - { - MethodName: "SetCardAdd", - Handler: _Msg_SetCardAdd_Handler, - }, - { - MethodName: "SetCardRemove", - Handler: _Msg_SetCardRemove_Handler, - }, - { - MethodName: "SetContributorAdd", - Handler: _Msg_SetContributorAdd_Handler, - }, - { - MethodName: "SetContributorRemove", - Handler: _Msg_SetContributorRemove_Handler, - }, - { - MethodName: "SetFinalize", - Handler: _Msg_SetFinalize_Handler, - }, - { - MethodName: "SetArtworkAdd", - Handler: _Msg_SetArtworkAdd_Handler, - }, - { - MethodName: "SetStoryAdd", - Handler: _Msg_SetStoryAdd_Handler, - }, - { - MethodName: "BoosterPackBuy", - Handler: _Msg_BoosterPackBuy_Handler, - }, - { - MethodName: "SellOfferCreate", - Handler: _Msg_SellOfferCreate_Handler, - }, - { - MethodName: "SellOfferBuy", - Handler: _Msg_SellOfferBuy_Handler, - }, - { - MethodName: "SellOfferRemove", - Handler: _Msg_SellOfferRemove_Handler, - }, - { - MethodName: "CardRaritySet", - Handler: _Msg_CardRaritySet_Handler, - }, - { - MethodName: "CouncilResponseCommit", - Handler: _Msg_CouncilResponseCommit_Handler, - }, - { - MethodName: "CouncilResponseReveal", - Handler: _Msg_CouncilResponseReveal_Handler, - }, - { - MethodName: "CouncilRestart", - Handler: _Msg_CouncilRestart_Handler, - }, - { - MethodName: "MatchConfirm", - Handler: _Msg_MatchConfirm_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cardchain/cardchain/tx.proto", +// MsgServer is the server API for Msg service. +type MsgServer interface { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) + CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) + CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) + CardTransfer(context.Context, *MsgCardTransfer) (*MsgCardTransferResponse, error) + CardDonate(context.Context, *MsgCardDonate) (*MsgCardDonateResponse, error) + CardArtworkAdd(context.Context, *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) + CardArtistChange(context.Context, *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) + CouncilRegister(context.Context, *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) + CouncilDeregister(context.Context, *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) + MatchReport(context.Context, *MsgMatchReport) (*MsgMatchReportResponse, error) + CouncilCreate(context.Context, *MsgCouncilCreate) (*MsgCouncilCreateResponse, error) + MatchReporterAppoint(context.Context, *MsgMatchReporterAppoint) (*MsgMatchReporterAppointResponse, error) + SetCreate(context.Context, *MsgSetCreate) (*MsgSetCreateResponse, error) + SetCardAdd(context.Context, *MsgSetCardAdd) (*MsgSetCardAddResponse, error) + SetCardRemove(context.Context, *MsgSetCardRemove) (*MsgSetCardRemoveResponse, error) + SetContributorAdd(context.Context, *MsgSetContributorAdd) (*MsgSetContributorAddResponse, error) + SetContributorRemove(context.Context, *MsgSetContributorRemove) (*MsgSetContributorRemoveResponse, error) + SetFinalize(context.Context, *MsgSetFinalize) (*MsgSetFinalizeResponse, error) + SetArtworkAdd(context.Context, *MsgSetArtworkAdd) (*MsgSetArtworkAddResponse, error) + SetStoryAdd(context.Context, *MsgSetStoryAdd) (*MsgSetStoryAddResponse, error) + BoosterPackBuy(context.Context, *MsgBoosterPackBuy) (*MsgBoosterPackBuyResponse, error) + SellOfferCreate(context.Context, *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) + SellOfferBuy(context.Context, *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) + SellOfferRemove(context.Context, *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) + CardRaritySet(context.Context, *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) + CouncilResponseCommit(context.Context, *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) + CouncilResponseReveal(context.Context, *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) + CouncilRestart(context.Context, *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) + MatchConfirm(context.Context, *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) + ProfileCardSet(context.Context, *MsgProfileCardSet) (*MsgProfileCardSetResponse, error) + ProfileWebsiteSet(context.Context, *MsgProfileWebsiteSet) (*MsgProfileWebsiteSetResponse, error) + ProfileBioSet(context.Context, *MsgProfileBioSet) (*MsgProfileBioSetResponse, error) + BoosterPackOpen(context.Context, *MsgBoosterPackOpen) (*MsgBoosterPackOpenResponse, error) + BoosterPackTransfer(context.Context, *MsgBoosterPackTransfer) (*MsgBoosterPackTransferResponse, error) + SetStoryWriterSet(context.Context, *MsgSetStoryWriterSet) (*MsgSetStoryWriterSetResponse, error) + SetArtistSet(context.Context, *MsgSetArtistSet) (*MsgSetArtistSetResponse, error) + CardVoteMulti(context.Context, *MsgCardVoteMulti) (*MsgCardVoteMultiResponse, error) } -func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { } -func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } - -func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - if len(m.Authority) > 0 { - i -= len(m.Authority) - copy(dAtA[i:], m.Authority) - i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil +func (*UnimplementedMsgServer) UserCreate(ctx context.Context, req *MsgUserCreate) (*MsgUserCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserCreate not implemented") } - -func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil +func (*UnimplementedMsgServer) CardSchemeBuy(ctx context.Context, req *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSchemeBuy not implemented") } - -func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedMsgServer) CardSaveContent(ctx context.Context, req *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSaveContent not implemented") } - -func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func (*UnimplementedMsgServer) CardVote(ctx context.Context, req *MsgCardVote) (*MsgCardVoteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") } - -func (m *MsgUserCreate) 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 (*UnimplementedMsgServer) CardTransfer(ctx context.Context, req *MsgCardTransfer) (*MsgCardTransferResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardTransfer not implemented") } - -func (m *MsgUserCreate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedMsgServer) CardDonate(ctx context.Context, req *MsgCardDonate) (*MsgCardDonateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardDonate not implemented") } - -func (m *MsgUserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Alias) > 0 { - i -= len(m.Alias) - copy(dAtA[i:], m.Alias) - i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) - i-- - dAtA[i] = 0x1a - } - if len(m.NewUser) > 0 { - i -= len(m.NewUser) - copy(dAtA[i:], m.NewUser) - i = encodeVarintTx(dAtA, i, uint64(len(m.NewUser))) - 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 (*UnimplementedMsgServer) CardArtworkAdd(ctx context.Context, req *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardArtworkAdd not implemented") } - -func (m *MsgUserCreateResponse) 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 (*UnimplementedMsgServer) CardArtistChange(ctx context.Context, req *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardArtistChange not implemented") } - -func (m *MsgUserCreateResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedMsgServer) CouncilRegister(ctx context.Context, req *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilRegister not implemented") +} +func (*UnimplementedMsgServer) CouncilDeregister(ctx context.Context, req *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilDeregister not implemented") +} +func (*UnimplementedMsgServer) MatchReport(ctx context.Context, req *MsgMatchReport) (*MsgMatchReportResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchReport not implemented") +} +func (*UnimplementedMsgServer) CouncilCreate(ctx context.Context, req *MsgCouncilCreate) (*MsgCouncilCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilCreate not implemented") +} +func (*UnimplementedMsgServer) MatchReporterAppoint(ctx context.Context, req *MsgMatchReporterAppoint) (*MsgMatchReporterAppointResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchReporterAppoint not implemented") +} +func (*UnimplementedMsgServer) SetCreate(ctx context.Context, req *MsgSetCreate) (*MsgSetCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetCreate not implemented") +} +func (*UnimplementedMsgServer) SetCardAdd(ctx context.Context, req *MsgSetCardAdd) (*MsgSetCardAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetCardAdd not implemented") +} +func (*UnimplementedMsgServer) SetCardRemove(ctx context.Context, req *MsgSetCardRemove) (*MsgSetCardRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetCardRemove not implemented") +} +func (*UnimplementedMsgServer) SetContributorAdd(ctx context.Context, req *MsgSetContributorAdd) (*MsgSetContributorAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetContributorAdd not implemented") +} +func (*UnimplementedMsgServer) SetContributorRemove(ctx context.Context, req *MsgSetContributorRemove) (*MsgSetContributorRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetContributorRemove not implemented") +} +func (*UnimplementedMsgServer) SetFinalize(ctx context.Context, req *MsgSetFinalize) (*MsgSetFinalizeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetFinalize not implemented") +} +func (*UnimplementedMsgServer) SetArtworkAdd(ctx context.Context, req *MsgSetArtworkAdd) (*MsgSetArtworkAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetArtworkAdd not implemented") +} +func (*UnimplementedMsgServer) SetStoryAdd(ctx context.Context, req *MsgSetStoryAdd) (*MsgSetStoryAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetStoryAdd not implemented") +} +func (*UnimplementedMsgServer) BoosterPackBuy(ctx context.Context, req *MsgBoosterPackBuy) (*MsgBoosterPackBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BoosterPackBuy not implemented") +} +func (*UnimplementedMsgServer) SellOfferCreate(ctx context.Context, req *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOfferCreate not implemented") +} +func (*UnimplementedMsgServer) SellOfferBuy(ctx context.Context, req *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOfferBuy not implemented") +} +func (*UnimplementedMsgServer) SellOfferRemove(ctx context.Context, req *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOfferRemove not implemented") +} +func (*UnimplementedMsgServer) CardRaritySet(ctx context.Context, req *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardRaritySet not implemented") +} +func (*UnimplementedMsgServer) CouncilResponseCommit(ctx context.Context, req *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseCommit not implemented") +} +func (*UnimplementedMsgServer) CouncilResponseReveal(ctx context.Context, req *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseReveal not implemented") +} +func (*UnimplementedMsgServer) CouncilRestart(ctx context.Context, req *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilRestart not implemented") +} +func (*UnimplementedMsgServer) MatchConfirm(ctx context.Context, req *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchConfirm not implemented") +} +func (*UnimplementedMsgServer) ProfileCardSet(ctx context.Context, req *MsgProfileCardSet) (*MsgProfileCardSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProfileCardSet not implemented") +} +func (*UnimplementedMsgServer) ProfileWebsiteSet(ctx context.Context, req *MsgProfileWebsiteSet) (*MsgProfileWebsiteSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProfileWebsiteSet not implemented") +} +func (*UnimplementedMsgServer) ProfileBioSet(ctx context.Context, req *MsgProfileBioSet) (*MsgProfileBioSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProfileBioSet not implemented") +} +func (*UnimplementedMsgServer) BoosterPackOpen(ctx context.Context, req *MsgBoosterPackOpen) (*MsgBoosterPackOpenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BoosterPackOpen not implemented") +} +func (*UnimplementedMsgServer) BoosterPackTransfer(ctx context.Context, req *MsgBoosterPackTransfer) (*MsgBoosterPackTransferResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BoosterPackTransfer not implemented") +} +func (*UnimplementedMsgServer) SetStoryWriterSet(ctx context.Context, req *MsgSetStoryWriterSet) (*MsgSetStoryWriterSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetStoryWriterSet not implemented") +} +func (*UnimplementedMsgServer) SetArtistSet(ctx context.Context, req *MsgSetArtistSet) (*MsgSetArtistSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetArtistSet not implemented") +} +func (*UnimplementedMsgServer) CardVoteMulti(ctx context.Context, req *MsgCardVoteMulti) (*MsgCardVoteMultiResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardVoteMulti not implemented") } -func (m *MsgUserCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) } -func (m *MsgCardSchemeBuy) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardSchemeBuy) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardSchemeBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Bid.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) +func _Msg_UserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUserCreate) + if err := dec(in); err != nil { + return nil, err } - 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 + if interceptor == nil { + return srv.(MsgServer).UserCreate(ctx, in) } - return len(dAtA) - i, nil + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/UserCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UserCreate(ctx, req.(*MsgUserCreate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardSchemeBuyResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CardSchemeBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSchemeBuy) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).CardSchemeBuy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardSchemeBuy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSchemeBuy(ctx, req.(*MsgCardSchemeBuy)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardSchemeBuyResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_CardSaveContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSaveContent) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardSaveContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardSaveContent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSaveContent(ctx, req.(*MsgCardSaveContent)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardSchemeBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x8 +func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardVote) + if err := dec(in); err != nil { + return nil, err } - return len(dAtA) - i, nil + if interceptor == nil { + return srv.(MsgServer).CardVote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardVote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardVote(ctx, req.(*MsgCardVote)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardSaveContent) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CardTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardTransfer) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).CardTransfer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardTransfer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardTransfer(ctx, req.(*MsgCardTransfer)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardSaveContent) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_CardDonate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardDonate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardDonate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardDonate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardDonate(ctx, req.(*MsgCardDonate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardSaveContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x2a - } - if len(m.Notes) > 0 { - i -= len(m.Notes) - copy(dAtA[i:], m.Notes) - i = encodeVarintTx(dAtA, i, uint64(len(m.Notes))) - i-- - dAtA[i] = 0x22 +func _Msg_CardArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardArtworkAdd) + if err := dec(in); err != nil { + return nil, err } - if len(m.Content) > 0 { - i -= len(m.Content) - copy(dAtA[i:], m.Content) - i = encodeVarintTx(dAtA, i, uint64(len(m.Content))) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(MsgServer).CardArtworkAdd(ctx, in) } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardArtworkAdd", } - 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 + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardArtworkAdd(ctx, req.(*MsgCardArtworkAdd)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgCardSaveContentResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CardArtistChange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardArtistChange) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardSaveContentResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardSaveContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 + if interceptor == nil { + return srv.(MsgServer).CardArtistChange(ctx, in) } - return len(dAtA) - i, nil + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardArtistChange", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardArtistChange(ctx, req.(*MsgCardArtistChange)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardVote) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CouncilRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilRegister) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardVote) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Vote != nil { - { - size, err := m.Vote.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 + if interceptor == nil { + return srv.(MsgServer).CouncilRegister(ctx, in) } - 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 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilRegister", } - return len(dAtA) - i, nil + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilRegister(ctx, req.(*MsgCouncilRegister)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardVoteResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CouncilDeregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilDeregister) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardVoteResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardVoteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 + if interceptor == nil { + return srv.(MsgServer).CouncilDeregister(ctx, in) } - return len(dAtA) - i, nil + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilDeregister", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilDeregister(ctx, req.(*MsgCouncilDeregister)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardTransfer) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_MatchReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchReport) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardTransfer) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardTransfer) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Receiver) > 0 { - i -= len(m.Receiver) - copy(dAtA[i:], m.Receiver) - i = encodeVarintTx(dAtA, i, uint64(len(m.Receiver))) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(MsgServer).MatchReport(ctx, in) } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/MatchReport", } - 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 + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchReport(ctx, req.(*MsgMatchReport)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgCardTransferResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CouncilCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilCreate) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardTransferResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + if interceptor == nil { + return srv.(MsgServer).CouncilCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilCreate(ctx, req.(*MsgCouncilCreate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardTransferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgCardDonate) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_MatchReporterAppoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchReporterAppoint) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardDonate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardDonate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) + if interceptor == nil { + return srv.(MsgServer).MatchReporterAppoint(ctx, in) } - i-- - dAtA[i] = 0x1a - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/MatchReporterAppoint", } - 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 + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchReporterAppoint(ctx, req.(*MsgMatchReporterAppoint)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgCardDonateResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SetCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetCreate) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardDonateResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardDonateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil + if interceptor == nil { + return srv.(MsgServer).SetCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetCreate(ctx, req.(*MsgSetCreate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtworkAdd) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SetCardAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetCardAdd) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).SetCardAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetCardAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetCardAdd(ctx, req.(*MsgSetCardAdd)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtworkAdd) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_SetCardRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetCardRemove) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetCardRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetCardRemove", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetCardRemove(ctx, req.(*MsgSetCardRemove)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.FullArt { - i-- - if m.FullArt { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 +func _Msg_SetContributorAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetContributorAdd) + if err := dec(in); err != nil { + return nil, err } - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(MsgServer).SetContributorAdd(ctx, in) } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetContributorAdd", } - 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 + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetContributorAdd(ctx, req.(*MsgSetContributorAdd)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtworkAddResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SetContributorRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetContributorRemove) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).SetContributorRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetContributorRemove", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetContributorRemove(ctx, req.(*MsgSetContributorRemove)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtworkAddResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_SetFinalize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetFinalize) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetFinalize(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetFinalize", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetFinalize(ctx, req.(*MsgSetFinalize)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func _Msg_SetArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetArtworkAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetArtworkAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetArtworkAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetArtworkAdd(ctx, req.(*MsgSetArtworkAdd)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtistChange) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SetStoryAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetStoryAdd) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).SetStoryAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetStoryAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetStoryAdd(ctx, req.(*MsgSetStoryAdd)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtistChange) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardArtistChange) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Artist) > 0 { - i -= len(m.Artist) - copy(dAtA[i:], m.Artist) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x1a +func _Msg_BoosterPackBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBoosterPackBuy) + if err := dec(in); err != nil { + return nil, err } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 + if interceptor == nil { + return srv.(MsgServer).BoosterPackBuy(ctx, in) } - 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 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/BoosterPackBuy", } - return len(dAtA) - i, nil + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BoosterPackBuy(ctx, req.(*MsgBoosterPackBuy)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtistChangeResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SellOfferCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSellOfferCreate) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).SellOfferCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SellOfferCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SellOfferCreate(ctx, req.(*MsgSellOfferCreate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtistChangeResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_SellOfferBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSellOfferBuy) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SellOfferBuy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SellOfferBuy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SellOfferBuy(ctx, req.(*MsgSellOfferBuy)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtistChangeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func _Msg_SellOfferRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSellOfferRemove) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SellOfferRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SellOfferRemove", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SellOfferRemove(ctx, req.(*MsgSellOfferRemove)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilRegister) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CardRaritySet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardRaritySet) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).CardRaritySet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardRaritySet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardRaritySet(ctx, req.(*MsgCardRaritySet)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilRegister) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_CouncilResponseCommit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilResponseCommit) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilResponseCommit(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilResponseCommit", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilResponseCommit(ctx, req.(*MsgCouncilResponseCommit)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilRegister) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - 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 +func _Msg_CouncilResponseReveal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilResponseReveal) + if err := dec(in); err != nil { + return nil, err } - return len(dAtA) - i, nil + if interceptor == nil { + return srv.(MsgServer).CouncilResponseReveal(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilResponseReveal", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilResponseReveal(ctx, req.(*MsgCouncilResponseReveal)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilRegisterResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CouncilRestart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilRestart) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).CouncilRestart(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilRestart", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilRestart(ctx, req.(*MsgCouncilRestart)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilRegisterResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_MatchConfirm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchConfirm) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).MatchConfirm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/MatchConfirm", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchConfirm(ctx, req.(*MsgMatchConfirm)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilRegisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func _Msg_ProfileCardSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgProfileCardSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ProfileCardSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/ProfileCardSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ProfileCardSet(ctx, req.(*MsgProfileCardSet)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilDeregister) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_ProfileWebsiteSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgProfileWebsiteSet) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).ProfileWebsiteSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/ProfileWebsiteSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ProfileWebsiteSet(ctx, req.(*MsgProfileWebsiteSet)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilDeregister) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_ProfileBioSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgProfileBioSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ProfileBioSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/ProfileBioSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ProfileBioSet(ctx, req.(*MsgProfileBioSet)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilDeregister) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - 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 +func _Msg_BoosterPackOpen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBoosterPackOpen) + if err := dec(in); err != nil { + return nil, err } - return len(dAtA) - i, nil + if interceptor == nil { + return srv.(MsgServer).BoosterPackOpen(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/BoosterPackOpen", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BoosterPackOpen(ctx, req.(*MsgBoosterPackOpen)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilDeregisterResponse) Marshal() (dAtA []byte, err error) { +func _Msg_BoosterPackTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBoosterPackTransfer) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).BoosterPackTransfer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/BoosterPackTransfer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BoosterPackTransfer(ctx, req.(*MsgBoosterPackTransfer)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetStoryWriterSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetStoryWriterSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetStoryWriterSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetStoryWriterSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetStoryWriterSet(ctx, req.(*MsgSetStoryWriterSet)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetArtistSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetArtistSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetArtistSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetArtistSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetArtistSet(ctx, req.(*MsgSetArtistSet)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CardVoteMulti_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardVoteMulti) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardVoteMulti(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardVoteMulti", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardVoteMulti(ctx, req.(*MsgCardVoteMulti)) + } + return interceptor(ctx, in, info, handler) +} + +var Msg_serviceDesc = _Msg_serviceDesc +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.cardchain.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, + { + MethodName: "UserCreate", + Handler: _Msg_UserCreate_Handler, + }, + { + MethodName: "CardSchemeBuy", + Handler: _Msg_CardSchemeBuy_Handler, + }, + { + MethodName: "CardSaveContent", + Handler: _Msg_CardSaveContent_Handler, + }, + { + MethodName: "CardVote", + Handler: _Msg_CardVote_Handler, + }, + { + MethodName: "CardTransfer", + Handler: _Msg_CardTransfer_Handler, + }, + { + MethodName: "CardDonate", + Handler: _Msg_CardDonate_Handler, + }, + { + MethodName: "CardArtworkAdd", + Handler: _Msg_CardArtworkAdd_Handler, + }, + { + MethodName: "CardArtistChange", + Handler: _Msg_CardArtistChange_Handler, + }, + { + MethodName: "CouncilRegister", + Handler: _Msg_CouncilRegister_Handler, + }, + { + MethodName: "CouncilDeregister", + Handler: _Msg_CouncilDeregister_Handler, + }, + { + MethodName: "MatchReport", + Handler: _Msg_MatchReport_Handler, + }, + { + MethodName: "CouncilCreate", + Handler: _Msg_CouncilCreate_Handler, + }, + { + MethodName: "MatchReporterAppoint", + Handler: _Msg_MatchReporterAppoint_Handler, + }, + { + MethodName: "SetCreate", + Handler: _Msg_SetCreate_Handler, + }, + { + MethodName: "SetCardAdd", + Handler: _Msg_SetCardAdd_Handler, + }, + { + MethodName: "SetCardRemove", + Handler: _Msg_SetCardRemove_Handler, + }, + { + MethodName: "SetContributorAdd", + Handler: _Msg_SetContributorAdd_Handler, + }, + { + MethodName: "SetContributorRemove", + Handler: _Msg_SetContributorRemove_Handler, + }, + { + MethodName: "SetFinalize", + Handler: _Msg_SetFinalize_Handler, + }, + { + MethodName: "SetArtworkAdd", + Handler: _Msg_SetArtworkAdd_Handler, + }, + { + MethodName: "SetStoryAdd", + Handler: _Msg_SetStoryAdd_Handler, + }, + { + MethodName: "BoosterPackBuy", + Handler: _Msg_BoosterPackBuy_Handler, + }, + { + MethodName: "SellOfferCreate", + Handler: _Msg_SellOfferCreate_Handler, + }, + { + MethodName: "SellOfferBuy", + Handler: _Msg_SellOfferBuy_Handler, + }, + { + MethodName: "SellOfferRemove", + Handler: _Msg_SellOfferRemove_Handler, + }, + { + MethodName: "CardRaritySet", + Handler: _Msg_CardRaritySet_Handler, + }, + { + MethodName: "CouncilResponseCommit", + Handler: _Msg_CouncilResponseCommit_Handler, + }, + { + MethodName: "CouncilResponseReveal", + Handler: _Msg_CouncilResponseReveal_Handler, + }, + { + MethodName: "CouncilRestart", + Handler: _Msg_CouncilRestart_Handler, + }, + { + MethodName: "MatchConfirm", + Handler: _Msg_MatchConfirm_Handler, + }, + { + MethodName: "ProfileCardSet", + Handler: _Msg_ProfileCardSet_Handler, + }, + { + MethodName: "ProfileWebsiteSet", + Handler: _Msg_ProfileWebsiteSet_Handler, + }, + { + MethodName: "ProfileBioSet", + Handler: _Msg_ProfileBioSet_Handler, + }, + { + MethodName: "BoosterPackOpen", + Handler: _Msg_BoosterPackOpen_Handler, + }, + { + MethodName: "BoosterPackTransfer", + Handler: _Msg_BoosterPackTransfer_Handler, + }, + { + MethodName: "SetStoryWriterSet", + Handler: _Msg_SetStoryWriterSet_Handler, + }, + { + MethodName: "SetArtistSet", + Handler: _Msg_SetArtistSet_Handler, + }, + { + MethodName: "CardVoteMulti", + Handler: _Msg_CardVoteMulti_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/cardchain/tx.proto", +} + +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5128,20 +5469,37 @@ func (m *MsgCouncilDeregisterResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilDeregisterResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilDeregisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *MsgMatchReport) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5151,73 +5509,20 @@ func (m *MsgMatchReport) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgMatchReport) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMatchReport) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Outcome != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) - i-- - dAtA[i] = 0x28 - } - if len(m.PlayedCardsB) > 0 { - dAtA6 := make([]byte, len(m.PlayedCardsB)*10) - var j5 int - for _, num := range m.PlayedCardsB { - for num >= 1<<7 { - dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j5++ - } - dAtA6[j5] = uint8(num) - j5++ - } - i -= j5 - copy(dAtA[i:], dAtA6[:j5]) - i = encodeVarintTx(dAtA, i, uint64(j5)) - i-- - dAtA[i] = 0x22 - } - if len(m.PlayedCardsA) > 0 { - dAtA8 := make([]byte, len(m.PlayedCardsA)*10) - var j7 int - for _, num := range m.PlayedCardsA { - for num >= 1<<7 { - dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j7++ - } - dAtA8[j7] = uint8(num) - j7++ - } - i -= j7 - copy(dAtA[i:], dAtA8[:j7]) - i = encodeVarintTx(dAtA, i, uint64(j7)) - i-- - dAtA[i] = 0x1a - } - if m.MatchId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) - 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 *MsgMatchReportResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgUserCreate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5227,43 +5532,29 @@ func (m *MsgMatchReportResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgMatchReportResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUserCreate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMatchReportResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - return len(dAtA) - i, nil -} - -func (m *MsgCouncilCreate) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + if len(m.Alias) > 0 { + i -= len(m.Alias) + copy(dAtA[i:], m.Alias) + i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) + i-- + dAtA[i] = 0x1a } - return dAtA[:n], nil -} - -func (m *MsgCouncilCreate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCouncilCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + if len(m.NewUser) > 0 { + i -= len(m.NewUser) + copy(dAtA[i:], m.NewUser) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewUser))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(m.Creator) > 0 { i -= len(m.Creator) @@ -5275,7 +5566,7 @@ func (m *MsgCouncilCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgCouncilCreateResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgUserCreateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5285,12 +5576,12 @@ func (m *MsgCouncilCreateResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilCreateResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUserCreateResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUserCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5298,7 +5589,7 @@ func (m *MsgCouncilCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgMatchReporterAppoint) Marshal() (dAtA []byte, err error) { +func (m *MsgCardSchemeBuy) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5308,23 +5599,26 @@ func (m *MsgMatchReporterAppoint) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgMatchReporterAppoint) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardSchemeBuy) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMatchReporterAppoint) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardSchemeBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Reporter) > 0 { - i -= len(m.Reporter) - copy(dAtA[i:], m.Reporter) - i = encodeVarintTx(dAtA, i, uint64(len(m.Reporter))) - 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) @@ -5335,7 +5629,7 @@ func (m *MsgMatchReporterAppoint) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgMatchReporterAppointResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardSchemeBuyResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5345,20 +5639,25 @@ func (m *MsgMatchReporterAppointResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgMatchReporterAppointResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardSchemeBuyResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMatchReporterAppointResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardSchemeBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = 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 } -func (m *MsgSetCreate) Marshal() (dAtA []byte, err error) { +func (m *MsgCardSaveContent) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5368,45 +5667,51 @@ func (m *MsgSetCreate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetCreate) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardSaveContent) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardSaveContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Contributors) > 0 { - for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Contributors[iNdEx]) - copy(dAtA[i:], m.Contributors[iNdEx]) - i = encodeVarintTx(dAtA, i, uint64(len(m.Contributors[iNdEx]))) - i-- - dAtA[i] = 0x2a + if m.BalanceAnchor { + i-- + if m.BalanceAnchor { + dAtA[i] = 1 + } else { + dAtA[i] = 0 } - } - if len(m.StoryWriter) > 0 { - i -= len(m.StoryWriter) - copy(dAtA[i:], m.StoryWriter) - i = encodeVarintTx(dAtA, i, uint64(len(m.StoryWriter))) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x30 } if len(m.Artist) > 0 { i -= len(m.Artist) copy(dAtA[i:], m.Artist) i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) i-- + dAtA[i] = 0x2a + } + if len(m.Notes) > 0 { + i -= len(m.Notes) + copy(dAtA[i:], m.Notes) + i = encodeVarintTx(dAtA, i, uint64(len(m.Notes))) + i-- + dAtA[i] = 0x22 + } + if len(m.Content) > 0 { + i -= len(m.Content) + copy(dAtA[i:], m.Content) + i = encodeVarintTx(dAtA, i, uint64(len(m.Content))) + i-- dAtA[i] = 0x1a } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarintTx(dAtA, i, uint64(len(m.Name))) + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x10 } if len(m.Creator) > 0 { i -= len(m.Creator) @@ -5418,7 +5723,7 @@ func (m *MsgSetCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetCreateResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardSaveContentResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5428,20 +5733,30 @@ func (m *MsgSetCreateResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetCreateResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardSaveContentResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardSaveContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } -func (m *MsgSetCardAdd) Marshal() (dAtA []byte, err error) { +func (m *MsgCardVote) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5451,25 +5766,27 @@ func (m *MsgSetCardAdd) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetCardAdd) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardVote) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCardAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x18 - } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + if m.Vote != nil { + { + size, err := m.Vote.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(m.Creator) > 0 { i -= len(m.Creator) @@ -5481,7 +5798,7 @@ func (m *MsgSetCardAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetCardAddResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardVoteResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5491,20 +5808,30 @@ func (m *MsgSetCardAddResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetCardAddResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardVoteResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCardAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardVoteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } -func (m *MsgSetCardRemove) Marshal() (dAtA []byte, err error) { +func (m *MsgCardTransfer) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5514,23 +5841,25 @@ func (m *MsgSetCardRemove) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetCardRemove) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardTransfer) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCardRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardTransfer) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + if len(m.Receiver) > 0 { + i -= len(m.Receiver) + copy(dAtA[i:], m.Receiver) + i = encodeVarintTx(dAtA, i, uint64(len(m.Receiver))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- dAtA[i] = 0x10 } @@ -5544,7 +5873,7 @@ func (m *MsgSetCardRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetCardRemoveResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardTransferResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5554,12 +5883,12 @@ func (m *MsgSetCardRemoveResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetCardRemoveResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardTransferResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCardRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardTransferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5567,7 +5896,7 @@ func (m *MsgSetCardRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgSetContributorAdd) Marshal() (dAtA []byte, err error) { +func (m *MsgCardDonate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5577,25 +5906,28 @@ func (m *MsgSetContributorAdd) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetContributorAdd) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardDonate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetContributorAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardDonate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.User) > 0 { - i -= len(m.User) - copy(dAtA[i:], m.User) - i = encodeVarintTx(dAtA, i, uint64(len(m.User))) - i-- - dAtA[i] = 0x1a + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x1a + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- dAtA[i] = 0x10 } @@ -5609,7 +5941,7 @@ func (m *MsgSetContributorAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetContributorAddResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardDonateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5619,12 +5951,12 @@ func (m *MsgSetContributorAddResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetContributorAddResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardDonateResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetContributorAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardDonateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5632,7 +5964,7 @@ func (m *MsgSetContributorAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *MsgSetContributorRemove) Marshal() (dAtA []byte, err error) { +func (m *MsgCardArtworkAdd) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5642,25 +5974,35 @@ func (m *MsgSetContributorRemove) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetContributorRemove) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardArtworkAdd) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetContributorRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.User) > 0 { - i -= len(m.User) - copy(dAtA[i:], m.User) - i = encodeVarintTx(dAtA, i, uint64(len(m.User))) + if m.FullArt { + i-- + if m.FullArt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) i-- dAtA[i] = 0x1a } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- dAtA[i] = 0x10 } @@ -5674,7 +6016,7 @@ func (m *MsgSetContributorRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgSetContributorRemoveResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardArtworkAddResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5684,12 +6026,12 @@ func (m *MsgSetContributorRemoveResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetContributorRemoveResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardArtworkAddResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetContributorRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5697,7 +6039,7 @@ func (m *MsgSetContributorRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } -func (m *MsgSetFinalize) Marshal() (dAtA []byte, err error) { +func (m *MsgCardArtistChange) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5707,18 +6049,25 @@ func (m *MsgSetFinalize) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetFinalize) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardArtistChange) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetFinalize) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardArtistChange) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + if len(m.Artist) > 0 { + i -= len(m.Artist) + copy(dAtA[i:], m.Artist) + i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x1a + } + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- dAtA[i] = 0x10 } @@ -5732,7 +6081,7 @@ func (m *MsgSetFinalize) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetFinalizeResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardArtistChangeResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5742,12 +6091,12 @@ func (m *MsgSetFinalizeResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetFinalizeResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardArtistChangeResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetFinalizeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardArtistChangeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5755,7 +6104,7 @@ func (m *MsgSetFinalizeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgSetArtworkAdd) Marshal() (dAtA []byte, err error) { +func (m *MsgCouncilRegister) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5765,28 +6114,16 @@ func (m *MsgSetArtworkAdd) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetArtworkAdd) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCouncilRegister) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCouncilRegister) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) - i-- - 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) copy(dAtA[i:], m.Creator) @@ -5797,7 +6134,7 @@ func (m *MsgSetArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetArtworkAddResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCouncilRegisterResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5807,12 +6144,12 @@ func (m *MsgSetArtworkAddResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetArtworkAddResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCouncilRegisterResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCouncilRegisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5820,7 +6157,7 @@ func (m *MsgSetArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgSetStoryAdd) Marshal() (dAtA []byte, err error) { +func (m *MsgCouncilDeregister) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5830,28 +6167,16 @@ func (m *MsgSetStoryAdd) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetStoryAdd) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCouncilDeregister) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetStoryAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCouncilDeregister) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Story) > 0 { - i -= len(m.Story) - copy(dAtA[i:], m.Story) - i = encodeVarintTx(dAtA, i, uint64(len(m.Story))) - i-- - 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) copy(dAtA[i:], m.Creator) @@ -5862,7 +6187,7 @@ func (m *MsgSetStoryAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetStoryAddResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCouncilDeregisterResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5872,12 +6197,12 @@ func (m *MsgSetStoryAddResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetStoryAddResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCouncilDeregisterResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetStoryAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCouncilDeregisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5885,7 +6210,7 @@ func (m *MsgSetStoryAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgBoosterPackBuy) Marshal() (dAtA []byte, err error) { +func (m *MsgMatchReport) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5895,18 +6220,59 @@ func (m *MsgBoosterPackBuy) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBoosterPackBuy) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgMatchReport) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBoosterPackBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgMatchReport) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + if m.Outcome != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) + i-- + dAtA[i] = 0x28 + } + if len(m.PlayedCardsB) > 0 { + dAtA6 := make([]byte, len(m.PlayedCardsB)*10) + var j5 int + for _, num := range m.PlayedCardsB { + for num >= 1<<7 { + dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j5++ + } + dAtA6[j5] = uint8(num) + j5++ + } + i -= j5 + copy(dAtA[i:], dAtA6[:j5]) + i = encodeVarintTx(dAtA, i, uint64(j5)) + i-- + dAtA[i] = 0x22 + } + if len(m.PlayedCardsA) > 0 { + dAtA8 := make([]byte, len(m.PlayedCardsA)*10) + var j7 int + for _, num := range m.PlayedCardsA { + for num >= 1<<7 { + dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j7++ + } + dAtA8[j7] = uint8(num) + j7++ + } + i -= j7 + copy(dAtA[i:], dAtA8[:j7]) + i = encodeVarintTx(dAtA, i, uint64(j7)) + i-- + dAtA[i] = 0x1a + } + if m.MatchId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) i-- dAtA[i] = 0x10 } @@ -5920,7 +6286,7 @@ func (m *MsgBoosterPackBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgBoosterPackBuyResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgMatchReportResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5930,30 +6296,20 @@ func (m *MsgBoosterPackBuyResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBoosterPackBuyResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgMatchReportResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBoosterPackBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgMatchReportResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } return len(dAtA) - i, nil } -func (m *MsgSellOfferCreate) Marshal() (dAtA []byte, err error) { +func (m *MsgCouncilCreate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5963,26 +6319,16 @@ func (m *MsgSellOfferCreate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSellOfferCreate) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCouncilCreate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCouncilCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - { - size, err := m.Price.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a if m.CardId != 0 { i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- @@ -5998,7 +6344,7 @@ func (m *MsgSellOfferCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSellOfferCreateResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCouncilCreateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6008,12 +6354,12 @@ func (m *MsgSellOfferCreateResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSellOfferCreateResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCouncilCreateResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCouncilCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6021,7 +6367,7 @@ func (m *MsgSellOfferCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *MsgSellOfferBuy) Marshal() (dAtA []byte, err error) { +func (m *MsgMatchReporterAppoint) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6031,20 +6377,22 @@ func (m *MsgSellOfferBuy) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSellOfferBuy) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgMatchReporterAppoint) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgMatchReporterAppoint) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.SellOfferId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SellOfferId)) + if len(m.Reporter) > 0 { + i -= len(m.Reporter) + copy(dAtA[i:], m.Reporter) + i = encodeVarintTx(dAtA, i, uint64(len(m.Reporter))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(m.Creator) > 0 { i -= len(m.Creator) @@ -6056,7 +6404,7 @@ func (m *MsgSellOfferBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSellOfferBuyResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgMatchReporterAppointResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6066,12 +6414,12 @@ func (m *MsgSellOfferBuyResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSellOfferBuyResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgMatchReporterAppointResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgMatchReporterAppointResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6079,7 +6427,7 @@ func (m *MsgSellOfferBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgSellOfferRemove) Marshal() (dAtA []byte, err error) { +func (m *MsgSetCreate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6089,32 +6437,57 @@ func (m *MsgSellOfferRemove) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSellOfferRemove) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetCreate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.SellOfferId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SellOfferId)) - 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-- + if len(m.Contributors) > 0 { + for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Contributors[iNdEx]) + copy(dAtA[i:], m.Contributors[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.Contributors[iNdEx]))) + i-- + dAtA[i] = 0x2a + } + } + if len(m.StoryWriter) > 0 { + i -= len(m.StoryWriter) + copy(dAtA[i:], m.StoryWriter) + i = encodeVarintTx(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 = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x1a + } + 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 + } + 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 *MsgSellOfferRemoveResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetCreateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6124,12 +6497,12 @@ func (m *MsgSellOfferRemoveResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSellOfferRemoveResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetCreateResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6137,7 +6510,7 @@ func (m *MsgSellOfferRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *MsgCardRaritySet) Marshal() (dAtA []byte, err error) { +func (m *MsgSetCardAdd) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6147,29 +6520,24 @@ func (m *MsgCardRaritySet) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCardRaritySet) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetCardAdd) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCardRaritySet) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetCardAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Rarity != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Rarity)) + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x18 } if m.SetId != 0 { i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- - dAtA[i] = 0x18 - } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- dAtA[i] = 0x10 } if len(m.Creator) > 0 { @@ -6182,7 +6550,7 @@ func (m *MsgCardRaritySet) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgCardRaritySetResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetCardAddResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6192,12 +6560,12 @@ func (m *MsgCardRaritySetResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCardRaritySetResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetCardAddResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCardRaritySetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetCardAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6205,7 +6573,7 @@ func (m *MsgCardRaritySetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgCouncilResponseCommit) Marshal() (dAtA []byte, err error) { +func (m *MsgSetCardRemove) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6215,32 +6583,23 @@ func (m *MsgCouncilResponseCommit) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilResponseCommit) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetCardRemove) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilResponseCommit) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetCardRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Suggestion) > 0 { - i -= len(m.Suggestion) - copy(dAtA[i:], m.Suggestion) - i = encodeVarintTx(dAtA, i, uint64(len(m.Suggestion))) - i-- - dAtA[i] = 0x22 - } - if len(m.Reponse) > 0 { - i -= len(m.Reponse) - copy(dAtA[i:], m.Reponse) - i = encodeVarintTx(dAtA, i, uint64(len(m.Reponse))) + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x18 } - if m.CouncilId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -6254,7 +6613,7 @@ func (m *MsgCouncilResponseCommit) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgCouncilResponseCommitResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetCardRemoveResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6264,12 +6623,12 @@ func (m *MsgCouncilResponseCommitResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilResponseCommitResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetCardRemoveResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilResponseCommitResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetCardRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6277,7 +6636,7 @@ func (m *MsgCouncilResponseCommitResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *MsgCouncilResponseReveal) Marshal() (dAtA []byte, err error) { +func (m *MsgSetContributorAdd) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6287,30 +6646,25 @@ func (m *MsgCouncilResponseReveal) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilResponseReveal) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetContributorAdd) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilResponseReveal) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetContributorAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Secret) > 0 { - i -= len(m.Secret) - copy(dAtA[i:], m.Secret) - i = encodeVarintTx(dAtA, i, uint64(len(m.Secret))) - i-- - dAtA[i] = 0x22 - } - if m.Reponse != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Reponse)) + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintTx(dAtA, i, uint64(len(m.User))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if m.CouncilId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -6324,7 +6678,7 @@ func (m *MsgCouncilResponseReveal) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgCouncilResponseRevealResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetContributorAddResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6334,12 +6688,12 @@ func (m *MsgCouncilResponseRevealResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilResponseRevealResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetContributorAddResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilResponseRevealResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetContributorAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6347,7 +6701,7 @@ func (m *MsgCouncilResponseRevealResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *MsgCouncilRestart) Marshal() (dAtA []byte, err error) { +func (m *MsgSetContributorRemove) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6357,18 +6711,25 @@ func (m *MsgCouncilRestart) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilRestart) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetContributorRemove) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilRestart) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetContributorRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.CouncilId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintTx(dAtA, i, uint64(len(m.User))) + i-- + dAtA[i] = 0x1a + } + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -6382,7 +6743,7 @@ func (m *MsgCouncilRestart) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgCouncilRestartResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetContributorRemoveResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6392,12 +6753,12 @@ func (m *MsgCouncilRestartResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilRestartResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetContributorRemoveResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilRestartResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetContributorRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6405,7 +6766,7 @@ func (m *MsgCouncilRestartResponse) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *MsgMatchConfirm) Marshal() (dAtA []byte, err error) { +func (m *MsgSetFinalize) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6415,37 +6776,18 @@ func (m *MsgMatchConfirm) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgMatchConfirm) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetFinalize) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMatchConfirm) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetFinalize) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = 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-- - dAtA[i] = 0x18 - } - if m.MatchId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -6459,7 +6801,7 @@ func (m *MsgMatchConfirm) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgMatchConfirmResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetFinalizeResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6469,12 +6811,12 @@ func (m *MsgMatchConfirmResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgMatchConfirmResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetFinalizeResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMatchConfirmResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetFinalizeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6482,832 +6824,1296 @@ func (m *MsgMatchConfirmResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *MsgUpdateParams) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgSetArtworkAdd) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - l = m.Params.Size() - n += 1 + l + sovTx(uint64(l)) - return n + return dAtA[:n], nil } -func (m *MsgUpdateParamsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgSetArtworkAdd) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUserCreate) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgSetArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) + i-- + dAtA[i] = 0x1a } - l = len(m.NewUser) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x10 } - l = len(m.Alias) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgUserCreateResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSetArtworkAddResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCardSchemeBuy) 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 = m.Bid.Size() - n += 1 + l + sovTx(uint64(l)) - return n +func (m *MsgSetArtworkAddResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCardSchemeBuyResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgSetArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) - } - return n + return len(dAtA) - i, nil } -func (m *MsgCardSaveContent) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSetStoryAdd) 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 *MsgSetStoryAdd) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetStoryAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i 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.Content) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Notes) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Story) > 0 { + i -= len(m.Story) + copy(dAtA[i:], m.Story) + i = encodeVarintTx(dAtA, i, uint64(len(m.Story))) + i-- + dAtA[i] = 0x1a } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x10 } - if m.BalanceAnchor { - n += 2 + 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 n + return len(dAtA) - i, nil } -func (m *MsgCardSaveContentResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSetStoryAddResponse) 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 *MsgSetStoryAddResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetStoryAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.AirdropClaimed { - n += 2 - } - return n + return len(dAtA) - i, nil } -func (m *MsgCardVote) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBoosterPackBuy) 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 *MsgBoosterPackBuy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBoosterPackBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x10 } - if m.Vote != nil { - l = m.Vote.Size() - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgCardVoteResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBoosterPackBuyResponse) 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 *MsgBoosterPackBuyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBoosterPackBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l if m.AirdropClaimed { - n += 2 + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 } - return n + return len(dAtA) - i, nil } -func (m *MsgCardTransfer) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSellOfferCreate) 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 *MsgSellOfferCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSellOfferCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + { + size, err := m.Price.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x1a if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x10 } - l = len(m.Receiver) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgCardTransferResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSellOfferCreateResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCardDonate) 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 = m.Amount.Size() - n += 1 + l + sovTx(uint64(l)) - return n +func (m *MsgSellOfferCreateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCardDonateResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgSellOfferCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgCardArtworkAdd) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSellOfferBuy) 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 *MsgSellOfferBuy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSellOfferBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i 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.Image) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.SellOfferId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SellOfferId)) + i-- + dAtA[i] = 0x10 } - if m.FullArt { - n += 2 + 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 n + return len(dAtA) - i, nil } -func (m *MsgCardArtworkAddResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSellOfferBuyResponse) 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 *MsgSellOfferBuyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSellOfferBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgCardArtistChange) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSellOfferRemove) 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 *MsgSellOfferRemove) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSellOfferRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i 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)) + if m.SellOfferId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SellOfferId)) + i-- + dAtA[i] = 0x10 } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgCardArtistChangeResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSellOfferRemoveResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCouncilRegister) 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)) - } - return n +func (m *MsgSellOfferRemoveResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilRegisterResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgSellOfferRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgCouncilDeregister) 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)) +func (m *MsgCardRaritySet) 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 n + return dAtA[:n], nil } -func (m *MsgCouncilDeregisterResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgCardRaritySet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMatchReport) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgCardRaritySet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.MatchId != 0 { - n += 1 + sovTx(uint64(m.MatchId)) + if m.Rarity != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Rarity)) + i-- + dAtA[i] = 0x20 } - if len(m.PlayedCardsA) > 0 { - l = 0 - for _, e := range m.PlayedCardsA { - l += sovTx(uint64(e)) - } - n += 1 + sovTx(uint64(l)) + l + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x18 } - if len(m.PlayedCardsB) > 0 { - l = 0 - for _, e := range m.PlayedCardsB { - l += sovTx(uint64(e)) - } - n += 1 + sovTx(uint64(l)) + l + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x10 } - if m.Outcome != 0 { - n += 1 + sovTx(uint64(m.Outcome)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgMatchReportResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCardRaritySetResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCouncilCreate) 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)) - } - return n +func (m *MsgCardRaritySetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilCreateResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgCardRaritySetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgMatchReporterAppoint) 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)) +func (m *MsgCouncilResponseCommit) 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 n + return dAtA[:n], nil } -func (m *MsgMatchReporterAppointResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgCouncilResponseCommit) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCreate) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgCouncilResponseCommit) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Name) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Suggestion) > 0 { + i -= len(m.Suggestion) + copy(dAtA[i:], m.Suggestion) + i = encodeVarintTx(dAtA, i, uint64(len(m.Suggestion))) + i-- + dAtA[i] = 0x22 } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Reponse) > 0 { + i -= len(m.Reponse) + copy(dAtA[i:], m.Reponse) + i = encodeVarintTx(dAtA, i, uint64(len(m.Reponse))) + i-- + dAtA[i] = 0x1a } - l = len(m.StoryWriter) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.CouncilId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + i-- + dAtA[i] = 0x10 } - if len(m.Contributors) > 0 { - for _, s := range m.Contributors { - l = len(s) - n += 1 + l + sovTx(uint64(l)) - } + 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 n + return len(dAtA) - i, nil } -func (m *MsgSetCreateResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCouncilResponseCommitResponse) 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 *MsgCouncilResponseCommitResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilResponseCommitResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgSetCardAdd) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCouncilResponseReveal) 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 *MsgCouncilResponseReveal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilResponseReveal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Secret) > 0 { + i -= len(m.Secret) + copy(dAtA[i:], m.Secret) + i = encodeVarintTx(dAtA, i, uint64(len(m.Secret))) + i-- + dAtA[i] = 0x22 } - if m.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) + if m.Reponse != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Reponse)) + i-- + dAtA[i] = 0x18 } - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) + if m.CouncilId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + i-- + dAtA[i] = 0x10 } - return n + 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 *MsgSetCardAddResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCouncilResponseRevealResponse) 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 *MsgCouncilResponseRevealResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilResponseRevealResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgSetCardRemove) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCouncilRestart) 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 *MsgCouncilRestart) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilRestart) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) + if m.CouncilId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + i-- + dAtA[i] = 0x10 } - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgSetCardRemoveResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCouncilRestartResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgSetContributorAdd) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - l = len(m.User) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n +func (m *MsgCouncilRestartResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetContributorAddResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgCouncilRestartResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgSetContributorRemove) Size() (n int) { - if m == nil { - return 0 +func (m *MsgMatchConfirm) 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 *MsgMatchConfirm) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgMatchConfirm) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) + if m.Outcome != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) + i-- + dAtA[i] = 0x18 } - l = len(m.User) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.MatchId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) + i-- + dAtA[i] = 0x10 } - return n + 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 *MsgSetContributorRemoveResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgMatchConfirmResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgSetFinalize) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - return n +func (m *MsgMatchConfirmResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetFinalizeResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgMatchConfirmResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgSetArtworkAdd) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - l = len(m.Image) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgProfileCardSet) 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 n + return dAtA[:n], nil } -func (m *MsgSetArtworkAddResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgProfileCardSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetStoryAdd) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProfileCardSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x10 } - l = len(m.Story) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgSetStoryAddResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProfileCardSetResponse) 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 *MsgProfileCardSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProfileCardSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgBoosterPackBuy) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProfileWebsiteSet) 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 *MsgProfileWebsiteSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProfileWebsiteSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(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 m.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgBoosterPackBuyResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProfileWebsiteSetResponse) 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 *MsgProfileWebsiteSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProfileWebsiteSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.AirdropClaimed { - n += 2 - } - return n + return len(dAtA) - i, nil } -func (m *MsgSellOfferCreate) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProfileBioSet) 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 *MsgProfileBioSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProfileBioSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Bio) > 0 { + i -= len(m.Bio) + copy(dAtA[i:], m.Bio) + i = encodeVarintTx(dAtA, i, uint64(len(m.Bio))) + i-- + dAtA[i] = 0x12 } - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) + 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 } - l = m.Price.Size() - n += 1 + l + sovTx(uint64(l)) - return n + return len(dAtA) - i, nil } -func (m *MsgSellOfferCreateResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProfileBioSetResponse) 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 *MsgProfileBioSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProfileBioSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgSellOfferBuy) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBoosterPackOpen) 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 *MsgBoosterPackOpen) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBoosterPackOpen) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.BoosterPackId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.BoosterPackId)) + i-- + dAtA[i] = 0x10 } - if m.SellOfferId != 0 { - n += 1 + sovTx(uint64(m.SellOfferId)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgSellOfferBuyResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBoosterPackOpenResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgSellOfferRemove) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgBoosterPackOpenResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBoosterPackOpenResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.SellOfferId != 0 { - n += 1 + sovTx(uint64(m.SellOfferId)) + if len(m.CardIds) > 0 { + dAtA11 := make([]byte, len(m.CardIds)*10) + var j10 int + for _, num := range m.CardIds { + 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] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgSellOfferRemoveResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBoosterPackTransfer) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCardRaritySet) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgBoosterPackTransfer) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBoosterPackTransfer) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i 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)) + if len(m.Receiver) > 0 { + i -= len(m.Receiver) + copy(dAtA[i:], m.Receiver) + i = encodeVarintTx(dAtA, i, uint64(len(m.Receiver))) + i-- + dAtA[i] = 0x1a } - if m.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) + if m.BoosterPackId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.BoosterPackId)) + i-- + dAtA[i] = 0x10 } - if m.Rarity != 0 { - n += 1 + sovTx(uint64(m.Rarity)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgCardRaritySetResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBoosterPackTransferResponse) 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 *MsgBoosterPackTransferResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBoosterPackTransferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgCouncilResponseCommit) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSetStoryWriterSet) 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 *MsgSetStoryWriterSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetStoryWriterSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.CouncilId != 0 { - n += 1 + sovTx(uint64(m.CouncilId)) + if len(m.StoryWriter) > 0 { + i -= len(m.StoryWriter) + copy(dAtA[i:], m.StoryWriter) + i = encodeVarintTx(dAtA, i, uint64(len(m.StoryWriter))) + i-- + dAtA[i] = 0x1a } - l = len(m.Reponse) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x10 } - l = len(m.Suggestion) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgCouncilResponseCommitResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSetStoryWriterSetResponse) 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 *MsgSetStoryWriterSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetStoryWriterSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgCouncilResponseReveal) Size() (n int) { - if m == nil { +func (m *MsgSetArtistSet) 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 *MsgSetArtistSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetArtistSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Artist) > 0 { + i -= len(m.Artist) + copy(dAtA[i:], m.Artist) + i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + i-- + 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) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgSetArtistSetResponse) 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 *MsgSetArtistSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetArtistSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgCardVoteMulti) 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 *MsgCardVoteMulti) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardVoteMulti) 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 *MsgCardVoteMultiResponse) 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 *MsgCardVoteMultiResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardVoteMultiResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUserCreate) Size() (n int) { + if m == nil { return 0 } var l int @@ -7316,29 +8122,54 @@ func (m *MsgCouncilResponseReveal) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CouncilId != 0 { - n += 1 + sovTx(uint64(m.CouncilId)) + l = len(m.NewUser) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) } - if m.Reponse != 0 { - n += 1 + sovTx(uint64(m.Reponse)) + l = len(m.Alias) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) } - l = len(m.Secret) + return n +} + +func (m *MsgUserCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardSchemeBuy) 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 = m.Bid.Size() + n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgCouncilResponseRevealResponse) Size() (n int) { +func (m *MsgCardSchemeBuyResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } return n } -func (m *MsgCouncilRestart) Size() (n int) { +func (m *MsgCardSaveContent) Size() (n int) { if m == nil { return 0 } @@ -7348,22 +8179,40 @@ func (m *MsgCouncilRestart) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CouncilId != 0 { - n += 1 + sovTx(uint64(m.CouncilId)) + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + l = len(m.Content) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Notes) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.BalanceAnchor { + n += 2 } return n } -func (m *MsgCouncilRestartResponse) Size() (n int) { +func (m *MsgCardSaveContentResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l + if m.AirdropClaimed { + n += 2 + } return n } -func (m *MsgMatchConfirm) Size() (n int) { +func (m *MsgCardVote) Size() (n int) { if m == nil { return 0 } @@ -7373,37 +8222,2399 @@ func (m *MsgMatchConfirm) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.MatchId != 0 { - n += 1 + sovTx(uint64(m.MatchId)) + if m.Vote != nil { + l = m.Vote.Size() + n += 1 + l + sovTx(uint64(l)) } - if m.Outcome != 0 { - n += 1 + sovTx(uint64(m.Outcome)) + return n +} + +func (m *MsgCardVoteResponse) Size() (n int) { + if m == nil { + return 0 } - if len(m.VotedCards) > 0 { - for _, e := range m.VotedCards { - l = e.Size() - n += 1 + l + sovTx(uint64(l)) + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgCardTransfer) 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.Receiver) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardTransferResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardDonate) 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 = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgCardDonateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardArtworkAdd) 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.Image) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.FullArt { + n += 2 + } + return n +} + +func (m *MsgCardArtworkAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardArtistChange) 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.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardArtistChangeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilRegister) 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)) + } + return n +} + +func (m *MsgCouncilRegisterResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilDeregister) 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)) + } + return n +} + +func (m *MsgCouncilDeregisterResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgMatchReport) 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.MatchId != 0 { + n += 1 + sovTx(uint64(m.MatchId)) + } + if len(m.PlayedCardsA) > 0 { + l = 0 + for _, e := range m.PlayedCardsA { + l += sovTx(uint64(e)) + } + n += 1 + sovTx(uint64(l)) + l + } + if len(m.PlayedCardsB) > 0 { + l = 0 + for _, e := range m.PlayedCardsB { + l += sovTx(uint64(e)) + } + n += 1 + sovTx(uint64(l)) + l + } + if m.Outcome != 0 { + n += 1 + sovTx(uint64(m.Outcome)) + } + return n +} + +func (m *MsgMatchReportResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilCreate) 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)) + } + return n +} + +func (m *MsgCouncilCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgMatchReporterAppoint) 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)) + } + return n +} + +func (m *MsgMatchReporterAppointResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetCreate) 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.Name) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.StoryWriter) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Contributors) > 0 { + for _, s := range m.Contributors { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgSetCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetCardAdd) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgSetCardAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetCardRemove) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgSetCardRemoveResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetContributorAdd) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.User) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetContributorAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetContributorRemove) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.User) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetContributorRemoveResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetFinalize) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + return n +} + +func (m *MsgSetFinalizeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetArtworkAdd) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.Image) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetArtworkAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetStoryAdd) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.Story) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetStoryAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgBoosterPackBuy) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + return n +} + +func (m *MsgBoosterPackBuyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgSellOfferCreate) 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 = m.Price.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgSellOfferCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSellOfferBuy) 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.SellOfferId != 0 { + n += 1 + sovTx(uint64(m.SellOfferId)) + } + return n +} + +func (m *MsgSellOfferBuyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSellOfferRemove) 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.SellOfferId != 0 { + n += 1 + sovTx(uint64(m.SellOfferId)) + } + return n +} + +func (m *MsgSellOfferRemoveResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardRaritySet) 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)) + } + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + if m.Rarity != 0 { + n += 1 + sovTx(uint64(m.Rarity)) + } + return n +} + +func (m *MsgCardRaritySetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilResponseCommit) 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.CouncilId != 0 { + n += 1 + sovTx(uint64(m.CouncilId)) + } + l = len(m.Reponse) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Suggestion) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCouncilResponseCommitResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilResponseReveal) 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.CouncilId != 0 { + n += 1 + sovTx(uint64(m.CouncilId)) + } + if m.Reponse != 0 { + n += 1 + sovTx(uint64(m.Reponse)) + } + l = len(m.Secret) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCouncilResponseRevealResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilRestart) 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.CouncilId != 0 { + n += 1 + sovTx(uint64(m.CouncilId)) + } + return n +} + +func (m *MsgCouncilRestartResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgMatchConfirm) 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.MatchId != 0 { + n += 1 + sovTx(uint64(m.MatchId)) + } + 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 +} + +func (m *MsgMatchConfirmResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgProfileCardSet) 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)) + } + return n +} + +func (m *MsgProfileCardSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgProfileWebsiteSet) 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.Website) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgProfileWebsiteSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgProfileBioSet) 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.Bio) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgProfileBioSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgBoosterPackOpen) 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.BoosterPackId != 0 { + n += 1 + sovTx(uint64(m.BoosterPackId)) + } + return n +} + +func (m *MsgBoosterPackOpenResponse) Size() (n int) { + if m == nil { + return 0 + } + 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 +} + +func (m *MsgBoosterPackTransfer) 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.BoosterPackId != 0 { + n += 1 + sovTx(uint64(m.BoosterPackId)) + } + l = len(m.Receiver) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgBoosterPackTransferResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetStoryWriterSet) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.StoryWriter) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetStoryWriterSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetArtistSet) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetArtistSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardVoteMulti) 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 *MsgCardVoteMultiResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUserCreate) 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: MsgUserCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewUser", 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.NewUser = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Alias", 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.Alias = 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 *MsgUserCreateResponse) 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: MsgUserCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUserCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardSchemeBuy) 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: MsgCardSchemeBuy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSchemeBuy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardSchemeBuyResponse) 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: MsgCardSchemeBuyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSchemeBuyResponse: 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:]) + 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 *MsgCardSaveContent) 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: MsgCardSaveContent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSaveContent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + 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 + 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:]) + 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 *MsgCardSaveContentResponse) 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: MsgCardSaveContentResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSaveContentResponse: 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 *MsgCardVote) 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: MsgCardVote: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardVote: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Vote == nil { + m.Vote = &SingleVote{} + } + if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardVoteResponse) 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: MsgCardVoteResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardVoteResponse: 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 *MsgCardTransfer) 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: MsgCardTransfer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Receiver", 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.Receiver = 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 *MsgCardTransferResponse) 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: MsgCardTransferResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardDonate) 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: MsgCardDonate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardDonate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + 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 *MsgCardDonateResponse) 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: MsgCardDonateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardDonateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy } } - return n -} -func (m *MsgMatchConfirmResponse) Size() (n int) { - if m == nil { - return 0 + if iNdEx > l { + return io.ErrUnexpectedEOF } - var l int - _ = l - return n -} - -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + return nil } -func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { +func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7426,15 +10637,15 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardArtworkAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7462,13 +10673,32 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Authority = string(dAtA[iNdEx:postIndex]) + 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: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -7478,25 +10708,46 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Params.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 + 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:]) @@ -7518,7 +10769,7 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCardArtworkAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7541,10 +10792,10 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardArtworkAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -7568,7 +10819,7 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { +func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7591,10 +10842,10 @@ func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUserCreate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardArtistChange: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardArtistChange: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -7630,10 +10881,10 @@ func (m *MsgUserCreate) 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 NewUser", 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 @@ -7643,27 +10894,14 @@ func (m *MsgUserCreate) 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 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NewUser = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Alias", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7691,7 +10929,7 @@ func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Alias = string(dAtA[iNdEx:postIndex]) + m.Artist = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -7714,7 +10952,7 @@ func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUserCreateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCardArtistChangeResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7737,10 +10975,10 @@ func (m *MsgUserCreateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUserCreateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardArtistChangeResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUserCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardArtistChangeResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -7764,7 +11002,7 @@ func (m *MsgUserCreateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7787,10 +11025,10 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSchemeBuy: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilRegister: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSchemeBuy: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilRegister: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -7825,11 +11063,111 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { } m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + 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 *MsgCouncilRegisterResponse) 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: MsgCouncilRegisterResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilRegisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCouncilDeregister) 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: MsgCouncilDeregister: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilDeregister: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -7839,24 +11177,23 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -7879,7 +11216,7 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSchemeBuyResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilDeregisterResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7902,31 +11239,12 @@ func (m *MsgCardSchemeBuyResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSchemeBuyResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilDeregisterResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSchemeBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilDeregisterResponse: 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:]) @@ -7948,7 +11266,7 @@ func (m *MsgCardSchemeBuyResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { +func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7971,10 +11289,10 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSaveContent: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchReport: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSaveContent: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchReport: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -8011,9 +11329,9 @@ func (m *MsgCardSaveContent) 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 MatchId", wireType) } - m.CardId = 0 + m.MatchId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -8023,286 +11341,168 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= uint64(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 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 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 + } } - if iNdEx >= l { - return io.ErrUnexpectedEOF + m.PlayedCardsA = append(m.PlayedCardsA, 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 + } } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if packedLen < 0 { + return ErrInvalidLengthTx } - } - 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 + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + if postIndex > 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 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 + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } } - if iNdEx >= l { - return io.ErrUnexpectedEOF + elementCount = count + if elementCount != 0 && len(m.PlayedCardsA) == 0 { + m.PlayedCardsA = make([]uint64, 0, elementCount) } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break + 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.PlayedCardsA = append(m.PlayedCardsA, v) } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsA", wireType) } - m.BalanceAnchor = 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 *MsgCardSaveContentResponse) 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: MsgCardSaveContentResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSaveContentResponse: 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 + 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 + } } - if iNdEx >= l { - return io.ErrUnexpectedEOF + m.PlayedCardsB = append(m.PlayedCardsB, 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 + } } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break + if packedLen < 0 { + return ErrInvalidLengthTx } - } - 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 *MsgCardVote) 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: MsgCardVote: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardVote: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } } + elementCount = count + if elementCount != 0 && len(m.PlayedCardsB) == 0 { + m.PlayedCardsB = 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.PlayedCardsB = append(m.PlayedCardsB, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsB", wireType) } - intStringLen := int(stringLen) - 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 != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) } - var msglen int + m.Outcome = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -8312,28 +11512,11 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Outcome |= Outcome(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Vote == nil { - m.Vote = &SingleVote{} - } - if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -8355,7 +11538,7 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { +func (m *MsgMatchReportResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8378,32 +11561,12 @@ func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardVoteResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchReportResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardVoteResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchReportResponse: 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:]) @@ -8425,7 +11588,7 @@ func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardTransfer) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8448,10 +11611,10 @@ func (m *MsgCardTransfer) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardTransfer: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -8496,47 +11659,15 @@ func (m *MsgCardTransfer) Unmarshal(dAtA []byte) error { return ErrIntOverflowTx } if iNdEx >= l { - 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 Receiver", 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 + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - m.Receiver = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -8558,7 +11689,7 @@ func (m *MsgCardTransfer) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardTransferResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilCreateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8581,10 +11712,10 @@ func (m *MsgCardTransferResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardTransferResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilCreateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -8608,7 +11739,7 @@ func (m *MsgCardTransferResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { +func (m *MsgMatchReporterAppoint) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8631,10 +11762,10 @@ func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardDonate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchReporterAppoint: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardDonate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchReporterAppoint: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -8670,29 +11801,10 @@ func (m *MsgCardDonate) 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 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: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Reporter", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -8702,24 +11814,23 @@ func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Reporter = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -8742,7 +11853,7 @@ func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardDonateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgMatchReporterAppointResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8765,10 +11876,10 @@ func (m *MsgCardDonateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardDonateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchReporterAppointResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardDonateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchReporterAppointResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -8792,7 +11903,7 @@ func (m *MsgCardDonateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { +func (m *MsgSetCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8815,10 +11926,10 @@ func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardArtworkAdd: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -8854,10 +11965,10 @@ func (m *MsgCardArtworkAdd) 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 CardId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) } - m.CardId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -8867,16 +11978,29 @@ func (m *MsgCardArtworkAdd) 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.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex 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 Artist", wireType) } - var byteLen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -8886,31 +12010,29 @@ func (m *MsgCardArtworkAdd) 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{} - } + m.Artist = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FullArt", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StoryWriter", wireType) } - var v int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -8920,12 +12042,56 @@ func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - m.FullArt = bool(v != 0) + 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 skippy, err := skipTx(dAtA[iNdEx:]) @@ -8947,7 +12113,7 @@ func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardArtworkAddResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetCreateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8970,10 +12136,10 @@ func (m *MsgCardArtworkAddResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardArtworkAddResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCreateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -8997,7 +12163,7 @@ func (m *MsgCardArtworkAddResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9020,10 +12186,10 @@ func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardArtistChange: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardArtistChange: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9060,9 +12226,9 @@ func (m *MsgCardArtistChange) 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 @@ -9072,16 +12238,16 @@ func (m *MsgCardArtistChange) 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 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 @@ -9091,24 +12257,11 @@ func (m *MsgCardArtistChange) 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 { - 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:]) @@ -9130,7 +12283,7 @@ func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardArtistChangeResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9153,10 +12306,10 @@ func (m *MsgCardArtistChangeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardArtistChangeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardArtistChangeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9180,7 +12333,7 @@ func (m *MsgCardArtistChangeResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9203,17 +12356,68 @@ func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilRegister: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardRemove: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilRegister: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardRemove: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } - var stringLen uint64 + 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.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 != 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 @@ -9223,24 +12427,11 @@ func (m *MsgCouncilRegister) 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 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -9262,7 +12453,7 @@ func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilRegisterResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardRemoveResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9285,10 +12476,10 @@ func (m *MsgCouncilRegisterResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilRegisterResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardRemoveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilRegisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9312,7 +12503,7 @@ func (m *MsgCouncilRegisterResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilDeregister) Unmarshal(dAtA []byte) error { +func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9335,10 +12526,10 @@ func (m *MsgCouncilDeregister) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilDeregister: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetContributorAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilDeregister: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetContributorAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9373,6 +12564,57 @@ func (m *MsgCouncilDeregister) 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 User", 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.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -9394,7 +12636,7 @@ func (m *MsgCouncilDeregister) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilDeregisterResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetContributorAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9417,10 +12659,10 @@ func (m *MsgCouncilDeregisterResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilDeregisterResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetContributorAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilDeregisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetContributorAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9444,7 +12686,7 @@ func (m *MsgCouncilDeregisterResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { +func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9467,10 +12709,10 @@ func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchReport: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetContributorRemove: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchReport: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetContributorRemove: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9482,205 +12724,53 @@ func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - 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 - } - } - case 3: - 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.PlayedCardsA = append(m.PlayedCardsA, 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.PlayedCardsA) == 0 { - m.PlayedCardsA = 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.PlayedCardsA = append(m.PlayedCardsA, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsA", wireType) - } - 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.PlayedCardsB = append(m.PlayedCardsB, 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 { + if iNdEx >= l { return io.ErrUnexpectedEOF } - var elementCount int - var count int - for _, integer := range dAtA[iNdEx:postIndex] { - if integer < 128 { - count++ - } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - elementCount = count - if elementCount != 0 && len(m.PlayedCardsB) == 0 { - m.PlayedCardsB = make([]uint64, 0, elementCount) + } + intStringLen := int(stringLen) + 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 SetId", wireType) + } + m.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx } - 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.PlayedCardsB = append(m.PlayedCardsB, v) + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsB", wireType) } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) } - m.Outcome = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9690,11 +12780,24 @@ func (m *MsgMatchReport) 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.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -9716,7 +12819,7 @@ func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchReportResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetContributorRemoveResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9739,10 +12842,10 @@ func (m *MsgMatchReportResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchReportResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetContributorRemoveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchReportResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetContributorRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9766,7 +12869,7 @@ func (m *MsgMatchReportResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilCreate) Unmarshal(dAtA []byte) error { +func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9789,10 +12892,10 @@ func (m *MsgCouncilCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilCreate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetFinalize: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetFinalize: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9829,9 +12932,9 @@ func (m *MsgCouncilCreate) 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 @@ -9841,7 +12944,7 @@ func (m *MsgCouncilCreate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= uint64(b&0x7F) << shift + m.SetId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -9867,7 +12970,7 @@ func (m *MsgCouncilCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilCreateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetFinalizeResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9890,10 +12993,10 @@ func (m *MsgCouncilCreateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilCreateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetFinalizeResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetFinalizeResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9917,7 +13020,7 @@ func (m *MsgCouncilCreateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchReporterAppoint) Unmarshal(dAtA []byte) error { +func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9940,10 +13043,10 @@ func (m *MsgMatchReporterAppoint) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchReporterAppoint: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetArtworkAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchReporterAppoint: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9979,10 +13082,29 @@ func (m *MsgMatchReporterAppoint) 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 Reporter", 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 @@ -9992,23 +13114,25 @@ func (m *MsgMatchReporterAppoint) 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.Reporter = string(dAtA[iNdEx:postIndex]) + m.Image = append(m.Image[:0], dAtA[iNdEx:postIndex]...) + if m.Image == nil { + m.Image = []byte{} + } iNdEx = postIndex default: iNdEx = preIndex @@ -10031,7 +13155,7 @@ func (m *MsgMatchReporterAppoint) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchReporterAppointResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetArtworkAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10054,10 +13178,10 @@ func (m *MsgMatchReporterAppointResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchReporterAppointResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetArtworkAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchReporterAppointResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -10081,7 +13205,7 @@ func (m *MsgMatchReporterAppointResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCreate) Unmarshal(dAtA []byte) error { +func (m *MsgSetStoryAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10104,10 +13228,10 @@ func (m *MsgSetCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCreate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetStoryAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetStoryAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10143,10 +13267,10 @@ func (m *MsgSetCreate) 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 @@ -10156,27 +13280,14 @@ func (m *MsgSetCreate) 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) + return fmt.Errorf("proto: wrong wireType = %d for field Story", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10201,14 +13312,114 @@ func (m *MsgSetCreate) Unmarshal(dAtA []byte) error { if postIndex < 0 { return ErrInvalidLengthTx } - if postIndex > l { + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Story = 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 *MsgSetStoryAddResponse) 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: MsgSetStoryAddResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetStoryAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgBoosterPackBuy) 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: MsgBoosterPackBuy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBoosterPackBuy: 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 { @@ -10236,13 +13447,13 @@ func (m *MsgSetCreate) 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 @@ -10252,24 +13463,11 @@ func (m *MsgSetCreate) 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:]) @@ -10291,7 +13489,7 @@ func (m *MsgSetCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCreateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBoosterPackBuyResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10314,12 +13512,32 @@ func (m *MsgSetCreateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCreateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBoosterPackBuyResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBoosterPackBuyResponse: 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:]) @@ -10341,7 +13559,7 @@ func (m *MsgSetCreateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10364,10 +13582,10 @@ func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCardAdd: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCardAdd: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10404,9 +13622,9 @@ func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) } - m.SetId = 0 + m.CardId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10416,16 +13634,16 @@ func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SetId |= 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 CardId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) } - m.CardId = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10435,11 +13653,25 @@ func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= 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 + } + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -10461,7 +13693,7 @@ func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCardAddResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferCreateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10484,10 +13716,10 @@ func (m *MsgSetCardAddResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCardAddResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferCreateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCardAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -10511,7 +13743,7 @@ func (m *MsgSetCardAddResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferBuy) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10534,10 +13766,10 @@ func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCardRemove: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferBuy: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCardRemove: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferBuy: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10574,28 +13806,9 @@ func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { 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 != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) } - m.CardId = 0 + m.SellOfferId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10605,7 +13818,7 @@ func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= uint64(b&0x7F) << shift + m.SellOfferId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -10631,7 +13844,7 @@ func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCardRemoveResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferBuyResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10654,10 +13867,10 @@ func (m *MsgSetCardRemoveResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCardRemoveResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferBuyResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCardRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -10681,7 +13894,7 @@ func (m *MsgSetCardRemoveResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferRemove) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10704,10 +13917,10 @@ func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetContributorAdd: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferRemove: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetContributorAdd: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferRemove: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10744,28 +13957,9 @@ func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { 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 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 @@ -10775,24 +13969,11 @@ func (m *MsgSetContributorAdd) 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:]) @@ -10814,7 +13995,7 @@ func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetContributorAddResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferRemoveResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10837,10 +14018,10 @@ func (m *MsgSetContributorAddResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetContributorAddResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferRemoveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetContributorAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -10864,7 +14045,7 @@ func (m *MsgSetContributorAddResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { +func (m *MsgCardRaritySet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10887,10 +14068,10 @@ func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetContributorRemove: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardRaritySet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetContributorRemove: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardRaritySet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10927,9 +14108,9 @@ func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) } - m.SetId = 0 + m.CardId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10939,16 +14120,16 @@ func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SetId |= uint64(b&0x7F) << shift + m.CardId |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field User", 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 @@ -10958,24 +14139,30 @@ func (m *MsgSetContributorRemove) 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 + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rarity", wireType) } - if postIndex > l { - return io.ErrUnexpectedEOF + 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 + } } - m.User = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -10997,7 +14184,7 @@ func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetContributorRemoveResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCardRaritySetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11020,10 +14207,10 @@ func (m *MsgSetContributorRemoveResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetContributorRemoveResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardRaritySetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetContributorRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardRaritySetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11047,7 +14234,7 @@ func (m *MsgSetContributorRemoveResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11070,10 +14257,10 @@ func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetFinalize: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilResponseCommit: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetFinalize: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilResponseCommit: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11110,9 +14297,9 @@ func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) } - m.SetId = 0 + m.CouncilId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11122,11 +14309,75 @@ func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SetId |= uint64(b&0x7F) << shift + m.CouncilId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reponse", 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.Reponse = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + 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:]) @@ -11148,7 +14399,7 @@ func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetFinalizeResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilResponseCommitResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11171,10 +14422,10 @@ func (m *MsgSetFinalizeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetFinalizeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilResponseCommitResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetFinalizeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilResponseCommitResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11198,7 +14449,7 @@ func (m *MsgSetFinalizeResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilResponseReveal) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11221,10 +14472,10 @@ func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetArtworkAdd: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilResponseReveal: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilResponseReveal: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11261,9 +14512,9 @@ func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) } - m.SetId = 0 + m.CouncilId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11273,16 +14524,35 @@ func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SetId |= uint64(b&0x7F) << shift + m.CouncilId |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Reponse", wireType) + } + m.Reponse = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Reponse |= Response(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) } - var byteLen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11292,25 +14562,23 @@ func (m *MsgSetArtworkAdd) 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{} - } + m.Secret = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -11333,7 +14601,7 @@ func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetArtworkAddResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilResponseRevealResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11356,10 +14624,10 @@ func (m *MsgSetArtworkAddResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetArtworkAddResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilResponseRevealResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilResponseRevealResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11383,7 +14651,7 @@ func (m *MsgSetArtworkAddResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetStoryAdd) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilRestart) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11406,10 +14674,10 @@ func (m *MsgSetStoryAdd) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetStoryAdd: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilRestart: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetStoryAdd: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilRestart: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11446,28 +14714,9 @@ func (m *MsgSetStoryAdd) Unmarshal(dAtA []byte) error { 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 Story", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) } - var stringLen uint64 + m.CouncilId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11477,24 +14726,11 @@ func (m *MsgSetStoryAdd) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.CouncilId |= 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:]) @@ -11516,7 +14752,7 @@ func (m *MsgSetStoryAdd) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetStoryAddResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilRestartResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11539,10 +14775,10 @@ func (m *MsgSetStoryAddResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetStoryAddResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilRestartResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetStoryAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilRestartResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11566,7 +14802,7 @@ func (m *MsgSetStoryAddResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBoosterPackBuy) Unmarshal(dAtA []byte) error { +func (m *MsgMatchConfirm) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11589,10 +14825,10 @@ func (m *MsgBoosterPackBuy) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBoosterPackBuy: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchConfirm: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBoosterPackBuy: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchConfirm: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11629,9 +14865,9 @@ func (m *MsgBoosterPackBuy) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MatchId", wireType) } - m.SetId = 0 + m.MatchId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11641,11 +14877,64 @@ func (m *MsgBoosterPackBuy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SetId |= uint64(b&0x7F) << shift + m.MatchId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + m.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Outcome |= Outcome(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + 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 ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + 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:]) @@ -11667,7 +14956,7 @@ func (m *MsgBoosterPackBuy) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBoosterPackBuyResponse) Unmarshal(dAtA []byte) error { +func (m *MsgMatchConfirmResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11690,32 +14979,12 @@ func (m *MsgBoosterPackBuyResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBoosterPackBuyResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchConfirmResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBoosterPackBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchConfirmResponse: 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:]) @@ -11737,7 +15006,7 @@ func (m *MsgBoosterPackBuyResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSellOfferCreate) Unmarshal(dAtA []byte) error { +func (m *MsgProfileCardSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11760,10 +15029,10 @@ func (m *MsgSellOfferCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSellOfferCreate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileCardSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSellOfferCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileCardSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11817,39 +15086,6 @@ func (m *MsgSellOfferCreate) Unmarshal(dAtA []byte) error { break } } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -11871,7 +15107,7 @@ func (m *MsgSellOfferCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSellOfferCreateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgProfileCardSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11894,10 +15130,10 @@ func (m *MsgSellOfferCreateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSellOfferCreateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileCardSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSellOfferCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileCardSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11921,7 +15157,7 @@ func (m *MsgSellOfferCreateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSellOfferBuy) Unmarshal(dAtA []byte) error { +func (m *MsgProfileWebsiteSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11944,10 +15180,10 @@ func (m *MsgSellOfferBuy) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSellOfferBuy: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileWebsiteSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSellOfferBuy: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileWebsiteSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11983,10 +15219,10 @@ func (m *MsgSellOfferBuy) 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 SellOfferId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Website", wireType) } - m.SellOfferId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11996,11 +15232,24 @@ func (m *MsgSellOfferBuy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SellOfferId |= 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.Website = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12022,7 +15271,7 @@ func (m *MsgSellOfferBuy) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSellOfferBuyResponse) Unmarshal(dAtA []byte) error { +func (m *MsgProfileWebsiteSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12045,10 +15294,10 @@ func (m *MsgSellOfferBuyResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSellOfferBuyResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileWebsiteSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSellOfferBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileWebsiteSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12072,7 +15321,7 @@ func (m *MsgSellOfferBuyResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSellOfferRemove) Unmarshal(dAtA []byte) error { +func (m *MsgProfileBioSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12095,10 +15344,10 @@ func (m *MsgSellOfferRemove) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSellOfferRemove: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileBioSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSellOfferRemove: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileBioSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12134,10 +15383,10 @@ func (m *MsgSellOfferRemove) 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 SellOfferId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bio", wireType) } - m.SellOfferId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12147,11 +15396,24 @@ func (m *MsgSellOfferRemove) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SellOfferId |= 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.Bio = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12173,7 +15435,7 @@ func (m *MsgSellOfferRemove) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSellOfferRemoveResponse) Unmarshal(dAtA []byte) error { +func (m *MsgProfileBioSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12196,10 +15458,10 @@ func (m *MsgSellOfferRemoveResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSellOfferRemoveResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileBioSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSellOfferRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileBioSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12223,7 +15485,7 @@ func (m *MsgSellOfferRemoveResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardRaritySet) Unmarshal(dAtA []byte) error { +func (m *MsgBoosterPackOpen) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12246,10 +15508,10 @@ func (m *MsgCardRaritySet) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardRaritySet: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBoosterPackOpen: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardRaritySet: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBoosterPackOpen: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12286,9 +15548,9 @@ func (m *MsgCardRaritySet) 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 BoosterPackId", wireType) } - m.CardId = 0 + m.BoosterPackId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12298,48 +15560,136 @@ func (m *MsgCardRaritySet) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= 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 SetId", wireType) + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - m.SetId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx + 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 *MsgBoosterPackOpenResponse) 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: MsgBoosterPackOpenResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBoosterPackOpenResponse: 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 + } } - if iNdEx >= l { - return io.ErrUnexpectedEOF + 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 + } } - b := dAtA[iNdEx] - iNdEx++ - m.SetId |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if packedLen < 0 { + return ErrInvalidLengthTx } - } - 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 + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - m.Rarity |= CardRarity(b&0x7F) << shift - if b < 0x80 { - break + 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 @@ -12362,57 +15712,7 @@ func (m *MsgCardRaritySet) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardRaritySetResponse) 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: MsgCardRaritySetResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardRaritySetResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { +func (m *MsgBoosterPackTransfer) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12435,10 +15735,10 @@ func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilResponseCommit: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBoosterPackTransfer: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilResponseCommit: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBoosterPackTransfer: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12475,9 +15775,9 @@ func (m *MsgCouncilResponseCommit) 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 BoosterPackId", wireType) } - m.CouncilId = 0 + m.BoosterPackId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12487,46 +15787,14 @@ func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CouncilId |= uint64(b&0x7F) << shift + m.BoosterPackId |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reponse", 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.Reponse = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Suggestion", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Receiver", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12554,7 +15822,7 @@ func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Suggestion = string(dAtA[iNdEx:postIndex]) + m.Receiver = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -12577,7 +15845,7 @@ func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilResponseCommitResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBoosterPackTransferResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12600,10 +15868,10 @@ func (m *MsgCouncilResponseCommitResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilResponseCommitResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBoosterPackTransferResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilResponseCommitResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBoosterPackTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12627,7 +15895,7 @@ func (m *MsgCouncilResponseCommitResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilResponseReveal) Unmarshal(dAtA []byte) error { +func (m *MsgSetStoryWriterSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12650,10 +15918,10 @@ func (m *MsgCouncilResponseReveal) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilResponseReveal: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetStoryWriterSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilResponseReveal: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetStoryWriterSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12690,9 +15958,9 @@ func (m *MsgCouncilResponseReveal) 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 SetId", wireType) } - m.CouncilId = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12702,33 +15970,14 @@ func (m *MsgCouncilResponseReveal) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CouncilId |= 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 Reponse", wireType) - } - m.Reponse = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Reponse |= Response(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StoryWriter", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12756,7 +16005,7 @@ func (m *MsgCouncilResponseReveal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Secret = string(dAtA[iNdEx:postIndex]) + m.StoryWriter = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -12779,7 +16028,7 @@ func (m *MsgCouncilResponseReveal) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilResponseRevealResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetStoryWriterSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12802,10 +16051,10 @@ func (m *MsgCouncilResponseRevealResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilResponseRevealResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetStoryWriterSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilResponseRevealResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetStoryWriterSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12829,7 +16078,7 @@ func (m *MsgCouncilResponseRevealResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilRestart) Unmarshal(dAtA []byte) error { +func (m *MsgSetArtistSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12852,10 +16101,10 @@ func (m *MsgCouncilRestart) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilRestart: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetArtistSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilRestart: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetArtistSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12892,9 +16141,9 @@ func (m *MsgCouncilRestart) 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 SetId", wireType) } - m.CouncilId = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12904,11 +16153,43 @@ func (m *MsgCouncilRestart) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CouncilId |= 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:]) @@ -12930,7 +16211,7 @@ func (m *MsgCouncilRestart) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilRestartResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetArtistSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12953,10 +16234,10 @@ func (m *MsgCouncilRestartResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilRestartResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetArtistSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilRestartResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetArtistSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12980,7 +16261,7 @@ func (m *MsgCouncilRestartResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchConfirm) Unmarshal(dAtA []byte) error { +func (m *MsgCardVoteMulti) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13003,10 +16284,10 @@ func (m *MsgMatchConfirm) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchConfirm: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardVoteMulti: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchConfirm: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardVoteMulti: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13042,46 +16323,8 @@ func (m *MsgMatchConfirm) 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 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 - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) - } - m.Outcome = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Outcome |= Outcome(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Votes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -13108,8 +16351,8 @@ func (m *MsgMatchConfirm) Unmarshal(dAtA []byte) error { 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 { + m.Votes = append(m.Votes, &SingleVote{}) + if err := m.Votes[len(m.Votes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -13134,7 +16377,7 @@ func (m *MsgMatchConfirm) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchConfirmResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCardVoteMultiResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13157,12 +16400,32 @@ func (m *MsgMatchConfirmResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchConfirmResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardVoteMultiResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchConfirmResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardVoteMultiResponse: 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:]) From c8e33f9d86977dd37232a360269ea75230bb7715 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 01:04:46 +0100 Subject: [PATCH 19/99] feat(#242): Scaffolded last messages --- api/cardchain/cardchain/tx.pulsar.go | 11993 ++++++++++++-- api/cardchain/cardchain/tx_grpc.pb.go | 296 + docs/static/openapi.yml | 2 +- gen.sh | 8 + proto/cardchain/cardchain/tx.proto | 83 + .../keeper/msg_server_early_access_invite.go | 17 + .../keeper/msg_server_encounter_close.go | 17 + .../keeper/msg_server_encounter_create.go | 17 + x/cardchain/keeper/msg_server_encounter_do.go | 17 + x/cardchain/keeper/msg_server_match_open.go | 17 + .../keeper/msg_server_profile_alias_set.go | 17 + x/cardchain/keeper/msg_server_set_name_set.go | 17 + .../keeper/msg_server_zealy_connect.go | 17 + x/cardchain/module/autocli.go | 48 + x/cardchain/module/simulation.go | 184 + x/cardchain/simulation/early_access_invite.go | 29 + x/cardchain/simulation/encounter_close.go | 29 + x/cardchain/simulation/encounter_create.go | 29 + x/cardchain/simulation/encounter_do.go | 29 + x/cardchain/simulation/match_open.go | 29 + x/cardchain/simulation/profile_alias_set.go | 29 + x/cardchain/simulation/set_name_set.go | 29 + x/cardchain/simulation/zealy_connect.go | 29 + x/cardchain/types/codec.go | 24 + .../types/message_early_access_invite.go | 24 + .../types/message_early_access_invite_test.go | 40 + x/cardchain/types/message_encounter_close.go | 26 + .../types/message_encounter_close_test.go | 40 + x/cardchain/types/message_encounter_create.go | 27 + .../types/message_encounter_create_test.go | 40 + x/cardchain/types/message_encounter_do.go | 25 + .../types/message_encounter_do_test.go | 40 + x/cardchain/types/message_match_open.go | 27 + x/cardchain/types/message_match_open_test.go | 40 + .../types/message_profile_alias_set.go | 24 + .../types/message_profile_alias_set_test.go | 40 + x/cardchain/types/message_set_name_set.go | 25 + .../types/message_set_name_set_test.go | 40 + x/cardchain/types/message_zealy_connect.go | 24 + .../types/message_zealy_connect_test.go | 40 + x/cardchain/types/tx.pb.go | 13430 ++++++++++------ 41 files changed, 20621 insertions(+), 6337 deletions(-) create mode 100644 x/cardchain/keeper/msg_server_early_access_invite.go create mode 100644 x/cardchain/keeper/msg_server_encounter_close.go create mode 100644 x/cardchain/keeper/msg_server_encounter_create.go create mode 100644 x/cardchain/keeper/msg_server_encounter_do.go create mode 100644 x/cardchain/keeper/msg_server_match_open.go create mode 100644 x/cardchain/keeper/msg_server_profile_alias_set.go create mode 100644 x/cardchain/keeper/msg_server_set_name_set.go create mode 100644 x/cardchain/keeper/msg_server_zealy_connect.go create mode 100644 x/cardchain/simulation/early_access_invite.go create mode 100644 x/cardchain/simulation/encounter_close.go create mode 100644 x/cardchain/simulation/encounter_create.go create mode 100644 x/cardchain/simulation/encounter_do.go create mode 100644 x/cardchain/simulation/match_open.go create mode 100644 x/cardchain/simulation/profile_alias_set.go create mode 100644 x/cardchain/simulation/set_name_set.go create mode 100644 x/cardchain/simulation/zealy_connect.go create mode 100644 x/cardchain/types/message_early_access_invite.go create mode 100644 x/cardchain/types/message_early_access_invite_test.go create mode 100644 x/cardchain/types/message_encounter_close.go create mode 100644 x/cardchain/types/message_encounter_close_test.go create mode 100644 x/cardchain/types/message_encounter_create.go create mode 100644 x/cardchain/types/message_encounter_create_test.go create mode 100644 x/cardchain/types/message_encounter_do.go create mode 100644 x/cardchain/types/message_encounter_do_test.go create mode 100644 x/cardchain/types/message_match_open.go create mode 100644 x/cardchain/types/message_match_open_test.go create mode 100644 x/cardchain/types/message_profile_alias_set.go create mode 100644 x/cardchain/types/message_profile_alias_set_test.go create mode 100644 x/cardchain/types/message_set_name_set.go create mode 100644 x/cardchain/types/message_set_name_set_test.go create mode 100644 x/cardchain/types/message_zealy_connect.go create mode 100644 x/cardchain/types/message_zealy_connect_test.go diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index 462b2a63..db1b72de 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -14,6 +14,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" io "io" reflect "reflect" + sort "sort" sync "sync" ) @@ -35210,3024 +35211,11605 @@ func (x *fastReflection_MsgCardVoteMultiResponse) ProtoMethods() *protoiface.Met } } +var _ protoreflect.List = (*_MsgMatchOpen_4_list)(nil) + +type _MsgMatchOpen_4_list struct { + list *[]uint64 +} + +func (x *_MsgMatchOpen_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgMatchOpen_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_MsgMatchOpen_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_MsgMatchOpen_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgMatchOpen_4_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgMatchOpen at list field PlayerAdeck as it is not of Message kind")) +} + +func (x *_MsgMatchOpen_4_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_MsgMatchOpen_4_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_MsgMatchOpen_4_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_MsgMatchOpen_5_list)(nil) + +type _MsgMatchOpen_5_list struct { + list *[]uint64 +} + +func (x *_MsgMatchOpen_5_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgMatchOpen_5_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_MsgMatchOpen_5_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_MsgMatchOpen_5_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgMatchOpen_5_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgMatchOpen at list field PlayerBdeck as it is not of Message kind")) +} + +func (x *_MsgMatchOpen_5_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_MsgMatchOpen_5_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_MsgMatchOpen_5_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MsgMatchOpen protoreflect.MessageDescriptor + fd_MsgMatchOpen_creator protoreflect.FieldDescriptor + fd_MsgMatchOpen_playerA protoreflect.FieldDescriptor + fd_MsgMatchOpen_playerB protoreflect.FieldDescriptor + fd_MsgMatchOpen_playerAdeck protoreflect.FieldDescriptor + fd_MsgMatchOpen_playerBdeck protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgMatchOpen = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgMatchOpen") + fd_MsgMatchOpen_creator = md_MsgMatchOpen.Fields().ByName("creator") + fd_MsgMatchOpen_playerA = md_MsgMatchOpen.Fields().ByName("playerA") + fd_MsgMatchOpen_playerB = md_MsgMatchOpen.Fields().ByName("playerB") + fd_MsgMatchOpen_playerAdeck = md_MsgMatchOpen.Fields().ByName("playerAdeck") + fd_MsgMatchOpen_playerBdeck = md_MsgMatchOpen.Fields().ByName("playerBdeck") +} + +var _ protoreflect.Message = (*fastReflection_MsgMatchOpen)(nil) + +type fastReflection_MsgMatchOpen MsgMatchOpen + +func (x *MsgMatchOpen) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgMatchOpen)(x) +} + +func (x *MsgMatchOpen) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgMatchOpen_messageType fastReflection_MsgMatchOpen_messageType +var _ protoreflect.MessageType = fastReflection_MsgMatchOpen_messageType{} + +type fastReflection_MsgMatchOpen_messageType struct{} + +func (x fastReflection_MsgMatchOpen_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgMatchOpen)(nil) +} +func (x fastReflection_MsgMatchOpen_messageType) New() protoreflect.Message { + return new(fastReflection_MsgMatchOpen) +} +func (x fastReflection_MsgMatchOpen_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchOpen +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgMatchOpen) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchOpen +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgMatchOpen) Type() protoreflect.MessageType { + return _fastReflection_MsgMatchOpen_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgMatchOpen) New() protoreflect.Message { + return new(fastReflection_MsgMatchOpen) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgMatchOpen) Interface() protoreflect.ProtoMessage { + return (*MsgMatchOpen)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgMatchOpen) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgMatchOpen_creator, value) { + return + } + } + if x.PlayerA != "" { + value := protoreflect.ValueOfString(x.PlayerA) + if !f(fd_MsgMatchOpen_playerA, value) { + return + } + } + if x.PlayerB != "" { + value := protoreflect.ValueOfString(x.PlayerB) + if !f(fd_MsgMatchOpen_playerB, value) { + return + } + } + if len(x.PlayerAdeck) != 0 { + value := protoreflect.ValueOfList(&_MsgMatchOpen_4_list{list: &x.PlayerAdeck}) + if !f(fd_MsgMatchOpen_playerAdeck, value) { + return + } + } + if len(x.PlayerBdeck) != 0 { + value := protoreflect.ValueOfList(&_MsgMatchOpen_5_list{list: &x.PlayerBdeck}) + if !f(fd_MsgMatchOpen_playerBdeck, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgMatchOpen) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchOpen.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgMatchOpen.playerA": + return x.PlayerA != "" + case "cardchain.cardchain.MsgMatchOpen.playerB": + return x.PlayerB != "" + case "cardchain.cardchain.MsgMatchOpen.playerAdeck": + return len(x.PlayerAdeck) != 0 + case "cardchain.cardchain.MsgMatchOpen.playerBdeck": + return len(x.PlayerBdeck) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpen")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchOpen does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchOpen) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchOpen.creator": + x.Creator = "" + case "cardchain.cardchain.MsgMatchOpen.playerA": + x.PlayerA = "" + case "cardchain.cardchain.MsgMatchOpen.playerB": + x.PlayerB = "" + case "cardchain.cardchain.MsgMatchOpen.playerAdeck": + x.PlayerAdeck = nil + case "cardchain.cardchain.MsgMatchOpen.playerBdeck": + x.PlayerBdeck = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpen")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchOpen does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgMatchOpen) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgMatchOpen.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgMatchOpen.playerA": + value := x.PlayerA + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgMatchOpen.playerB": + value := x.PlayerB + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgMatchOpen.playerAdeck": + if len(x.PlayerAdeck) == 0 { + return protoreflect.ValueOfList(&_MsgMatchOpen_4_list{}) + } + listValue := &_MsgMatchOpen_4_list{list: &x.PlayerAdeck} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.MsgMatchOpen.playerBdeck": + if len(x.PlayerBdeck) == 0 { + return protoreflect.ValueOfList(&_MsgMatchOpen_5_list{}) + } + listValue := &_MsgMatchOpen_5_list{list: &x.PlayerBdeck} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpen")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchOpen does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchOpen) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchOpen.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgMatchOpen.playerA": + x.PlayerA = value.Interface().(string) + case "cardchain.cardchain.MsgMatchOpen.playerB": + x.PlayerB = value.Interface().(string) + case "cardchain.cardchain.MsgMatchOpen.playerAdeck": + lv := value.List() + clv := lv.(*_MsgMatchOpen_4_list) + x.PlayerAdeck = *clv.list + case "cardchain.cardchain.MsgMatchOpen.playerBdeck": + lv := value.List() + clv := lv.(*_MsgMatchOpen_5_list) + x.PlayerBdeck = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpen")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchOpen does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchOpen) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchOpen.playerAdeck": + if x.PlayerAdeck == nil { + x.PlayerAdeck = []uint64{} + } + value := &_MsgMatchOpen_4_list{list: &x.PlayerAdeck} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.MsgMatchOpen.playerBdeck": + if x.PlayerBdeck == nil { + x.PlayerBdeck = []uint64{} + } + value := &_MsgMatchOpen_5_list{list: &x.PlayerBdeck} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.MsgMatchOpen.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgMatchOpen is not mutable")) + case "cardchain.cardchain.MsgMatchOpen.playerA": + panic(fmt.Errorf("field playerA of message cardchain.cardchain.MsgMatchOpen is not mutable")) + case "cardchain.cardchain.MsgMatchOpen.playerB": + panic(fmt.Errorf("field playerB of message cardchain.cardchain.MsgMatchOpen is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpen")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchOpen does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgMatchOpen) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchOpen.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgMatchOpen.playerA": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgMatchOpen.playerB": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgMatchOpen.playerAdeck": + list := []uint64{} + return protoreflect.ValueOfList(&_MsgMatchOpen_4_list{list: &list}) + case "cardchain.cardchain.MsgMatchOpen.playerBdeck": + list := []uint64{} + return protoreflect.ValueOfList(&_MsgMatchOpen_5_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpen")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchOpen does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgMatchOpen) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgMatchOpen", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgMatchOpen) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchOpen) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgMatchOpen) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgMatchOpen) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgMatchOpen) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.PlayerA) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.PlayerB) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.PlayerAdeck) > 0 { + l = 0 + for _, e := range x.PlayerAdeck { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if len(x.PlayerBdeck) > 0 { + l = 0 + for _, e := range x.PlayerBdeck { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchOpen) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.PlayerBdeck) > 0 { + var pksize2 int + for _, num := range x.PlayerBdeck { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.PlayerBdeck { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x2a + } + if len(x.PlayerAdeck) > 0 { + var pksize4 int + for _, num := range x.PlayerAdeck { + pksize4 += runtime.Sov(uint64(num)) + } + i -= pksize4 + j3 := i + for _, num := range x.PlayerAdeck { + for num >= 1<<7 { + dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j3++ + } + dAtA[j3] = uint8(num) + j3++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize4)) + i-- + dAtA[i] = 0x22 + } + if len(x.PlayerB) > 0 { + i -= len(x.PlayerB) + copy(dAtA[i:], x.PlayerB) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PlayerB))) + i-- + dAtA[i] = 0x1a + } + if len(x.PlayerA) > 0 { + i -= len(x.PlayerA) + copy(dAtA[i:], x.PlayerA) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PlayerA))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchOpen) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchOpen: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchOpen: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PlayerA", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.PlayerA = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PlayerB", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.PlayerAdeck = append(x.PlayerAdeck, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.PlayerAdeck) == 0 { + x.PlayerAdeck = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.PlayerAdeck = append(x.PlayerAdeck, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.PlayerBdeck = append(x.PlayerBdeck, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.PlayerBdeck) == 0 { + x.PlayerBdeck = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.PlayerBdeck = append(x.PlayerBdeck, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PlayerBdeck", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgMatchOpenResponse protoreflect.MessageDescriptor + fd_MsgMatchOpenResponse_matchId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgMatchOpenResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgMatchOpenResponse") + fd_MsgMatchOpenResponse_matchId = md_MsgMatchOpenResponse.Fields().ByName("matchId") +} + +var _ protoreflect.Message = (*fastReflection_MsgMatchOpenResponse)(nil) + +type fastReflection_MsgMatchOpenResponse MsgMatchOpenResponse + +func (x *MsgMatchOpenResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgMatchOpenResponse)(x) +} + +func (x *MsgMatchOpenResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgMatchOpenResponse_messageType fastReflection_MsgMatchOpenResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgMatchOpenResponse_messageType{} + +type fastReflection_MsgMatchOpenResponse_messageType struct{} + +func (x fastReflection_MsgMatchOpenResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgMatchOpenResponse)(nil) +} +func (x fastReflection_MsgMatchOpenResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgMatchOpenResponse) +} +func (x fastReflection_MsgMatchOpenResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchOpenResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgMatchOpenResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMatchOpenResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgMatchOpenResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgMatchOpenResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgMatchOpenResponse) New() protoreflect.Message { + return new(fastReflection_MsgMatchOpenResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgMatchOpenResponse) Interface() protoreflect.ProtoMessage { + return (*MsgMatchOpenResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgMatchOpenResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.MatchId != uint64(0) { + value := protoreflect.ValueOfUint64(x.MatchId) + if !f(fd_MsgMatchOpenResponse_matchId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgMatchOpenResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchOpenResponse.matchId": + return x.MatchId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpenResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchOpenResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchOpenResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchOpenResponse.matchId": + x.MatchId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpenResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchOpenResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgMatchOpenResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgMatchOpenResponse.matchId": + value := x.MatchId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpenResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchOpenResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchOpenResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchOpenResponse.matchId": + x.MatchId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpenResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchOpenResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchOpenResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchOpenResponse.matchId": + panic(fmt.Errorf("field matchId of message cardchain.cardchain.MsgMatchOpenResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpenResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchOpenResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgMatchOpenResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgMatchOpenResponse.matchId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpenResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgMatchOpenResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgMatchOpenResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgMatchOpenResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgMatchOpenResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgMatchOpenResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgMatchOpenResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgMatchOpenResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgMatchOpenResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.MatchId != 0 { + n += 1 + runtime.Sov(uint64(x.MatchId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchOpenResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.MatchId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.MatchId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgMatchOpenResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchOpenResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMatchOpenResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MatchId", wireType) + } + x.MatchId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.MatchId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetNameSet protoreflect.MessageDescriptor + fd_MsgSetNameSet_creator protoreflect.FieldDescriptor + fd_MsgSetNameSet_setId protoreflect.FieldDescriptor + fd_MsgSetNameSet_name protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetNameSet = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetNameSet") + fd_MsgSetNameSet_creator = md_MsgSetNameSet.Fields().ByName("creator") + fd_MsgSetNameSet_setId = md_MsgSetNameSet.Fields().ByName("setId") + fd_MsgSetNameSet_name = md_MsgSetNameSet.Fields().ByName("name") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetNameSet)(nil) + +type fastReflection_MsgSetNameSet MsgSetNameSet + +func (x *MsgSetNameSet) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetNameSet)(x) +} + +func (x *MsgSetNameSet) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetNameSet_messageType fastReflection_MsgSetNameSet_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetNameSet_messageType{} + +type fastReflection_MsgSetNameSet_messageType struct{} + +func (x fastReflection_MsgSetNameSet_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetNameSet)(nil) +} +func (x fastReflection_MsgSetNameSet_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetNameSet) +} +func (x fastReflection_MsgSetNameSet_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetNameSet +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetNameSet) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetNameSet +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetNameSet) Type() protoreflect.MessageType { + return _fastReflection_MsgSetNameSet_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetNameSet) New() protoreflect.Message { + return new(fastReflection_MsgSetNameSet) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetNameSet) Interface() protoreflect.ProtoMessage { + return (*MsgSetNameSet)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetNameSet) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgSetNameSet_creator, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgSetNameSet_setId, value) { + return + } + } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_MsgSetNameSet_name, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetNameSet) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetNameSet.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgSetNameSet.setId": + return x.SetId != uint64(0) + case "cardchain.cardchain.MsgSetNameSet.name": + return x.Name != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetNameSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetNameSet does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetNameSet) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetNameSet.creator": + x.Creator = "" + case "cardchain.cardchain.MsgSetNameSet.setId": + x.SetId = uint64(0) + case "cardchain.cardchain.MsgSetNameSet.name": + x.Name = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetNameSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetNameSet does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetNameSet) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSetNameSet.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetNameSet.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgSetNameSet.name": + value := x.Name + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetNameSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetNameSet does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetNameSet) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetNameSet.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgSetNameSet.setId": + x.SetId = value.Uint() + case "cardchain.cardchain.MsgSetNameSet.name": + x.Name = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetNameSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetNameSet does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetNameSet) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetNameSet.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgSetNameSet is not mutable")) + case "cardchain.cardchain.MsgSetNameSet.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgSetNameSet is not mutable")) + case "cardchain.cardchain.MsgSetNameSet.name": + panic(fmt.Errorf("field name of message cardchain.cardchain.MsgSetNameSet is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetNameSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetNameSet does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetNameSet) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetNameSet.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetNameSet.setId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgSetNameSet.name": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetNameSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetNameSet does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetNameSet) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetNameSet", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetNameSet) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetNameSet) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetNameSet) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetNameSet) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetNameSet) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetNameSet) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0x1a + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetNameSet) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetNameSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetNameSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetNameSetResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetNameSetResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetNameSetResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetNameSetResponse)(nil) + +type fastReflection_MsgSetNameSetResponse MsgSetNameSetResponse + +func (x *MsgSetNameSetResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetNameSetResponse)(x) +} + +func (x *MsgSetNameSetResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetNameSetResponse_messageType fastReflection_MsgSetNameSetResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetNameSetResponse_messageType{} + +type fastReflection_MsgSetNameSetResponse_messageType struct{} + +func (x fastReflection_MsgSetNameSetResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetNameSetResponse)(nil) +} +func (x fastReflection_MsgSetNameSetResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetNameSetResponse) +} +func (x fastReflection_MsgSetNameSetResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetNameSetResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetNameSetResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetNameSetResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetNameSetResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetNameSetResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetNameSetResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetNameSetResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetNameSetResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetNameSetResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetNameSetResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetNameSetResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetNameSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetNameSetResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetNameSetResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetNameSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetNameSetResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetNameSetResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetNameSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetNameSetResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetNameSetResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetNameSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetNameSetResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetNameSetResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetNameSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetNameSetResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetNameSetResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetNameSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetNameSetResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetNameSetResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetNameSetResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetNameSetResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetNameSetResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetNameSetResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetNameSetResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetNameSetResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetNameSetResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetNameSetResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetNameSetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetNameSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgProfileAliasSet protoreflect.MessageDescriptor + fd_MsgProfileAliasSet_creator protoreflect.FieldDescriptor + fd_MsgProfileAliasSet_alias protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgProfileAliasSet = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgProfileAliasSet") + fd_MsgProfileAliasSet_creator = md_MsgProfileAliasSet.Fields().ByName("creator") + fd_MsgProfileAliasSet_alias = md_MsgProfileAliasSet.Fields().ByName("alias") +} + +var _ protoreflect.Message = (*fastReflection_MsgProfileAliasSet)(nil) + +type fastReflection_MsgProfileAliasSet MsgProfileAliasSet + +func (x *MsgProfileAliasSet) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgProfileAliasSet)(x) +} + +func (x *MsgProfileAliasSet) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgProfileAliasSet_messageType fastReflection_MsgProfileAliasSet_messageType +var _ protoreflect.MessageType = fastReflection_MsgProfileAliasSet_messageType{} + +type fastReflection_MsgProfileAliasSet_messageType struct{} + +func (x fastReflection_MsgProfileAliasSet_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgProfileAliasSet)(nil) +} +func (x fastReflection_MsgProfileAliasSet_messageType) New() protoreflect.Message { + return new(fastReflection_MsgProfileAliasSet) +} +func (x fastReflection_MsgProfileAliasSet_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileAliasSet +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgProfileAliasSet) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileAliasSet +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgProfileAliasSet) Type() protoreflect.MessageType { + return _fastReflection_MsgProfileAliasSet_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgProfileAliasSet) New() protoreflect.Message { + return new(fastReflection_MsgProfileAliasSet) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgProfileAliasSet) Interface() protoreflect.ProtoMessage { + return (*MsgProfileAliasSet)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgProfileAliasSet) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgProfileAliasSet_creator, value) { + return + } + } + if x.Alias != "" { + value := protoreflect.ValueOfString(x.Alias) + if !f(fd_MsgProfileAliasSet_alias, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgProfileAliasSet) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileAliasSet.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgProfileAliasSet.alias": + return x.Alias != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileAliasSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileAliasSet does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileAliasSet) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileAliasSet.creator": + x.Creator = "" + case "cardchain.cardchain.MsgProfileAliasSet.alias": + x.Alias = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileAliasSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileAliasSet does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgProfileAliasSet) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgProfileAliasSet.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgProfileAliasSet.alias": + value := x.Alias + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileAliasSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileAliasSet does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileAliasSet) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileAliasSet.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgProfileAliasSet.alias": + x.Alias = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileAliasSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileAliasSet does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileAliasSet) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileAliasSet.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgProfileAliasSet is not mutable")) + case "cardchain.cardchain.MsgProfileAliasSet.alias": + panic(fmt.Errorf("field alias of message cardchain.cardchain.MsgProfileAliasSet is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileAliasSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileAliasSet does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgProfileAliasSet) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgProfileAliasSet.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgProfileAliasSet.alias": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileAliasSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileAliasSet does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgProfileAliasSet) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgProfileAliasSet", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgProfileAliasSet) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileAliasSet) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgProfileAliasSet) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgProfileAliasSet) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgProfileAliasSet) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Alias) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileAliasSet) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Alias) > 0 { + i -= len(x.Alias) + copy(dAtA[i:], x.Alias) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Alias))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileAliasSet) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileAliasSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileAliasSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Alias", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Alias = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgProfileAliasSetResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgProfileAliasSetResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgProfileAliasSetResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgProfileAliasSetResponse)(nil) + +type fastReflection_MsgProfileAliasSetResponse MsgProfileAliasSetResponse + +func (x *MsgProfileAliasSetResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgProfileAliasSetResponse)(x) +} + +func (x *MsgProfileAliasSetResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgProfileAliasSetResponse_messageType fastReflection_MsgProfileAliasSetResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgProfileAliasSetResponse_messageType{} + +type fastReflection_MsgProfileAliasSetResponse_messageType struct{} + +func (x fastReflection_MsgProfileAliasSetResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgProfileAliasSetResponse)(nil) +} +func (x fastReflection_MsgProfileAliasSetResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgProfileAliasSetResponse) +} +func (x fastReflection_MsgProfileAliasSetResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileAliasSetResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgProfileAliasSetResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgProfileAliasSetResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgProfileAliasSetResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgProfileAliasSetResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgProfileAliasSetResponse) New() protoreflect.Message { + return new(fastReflection_MsgProfileAliasSetResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgProfileAliasSetResponse) Interface() protoreflect.ProtoMessage { + return (*MsgProfileAliasSetResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgProfileAliasSetResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgProfileAliasSetResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileAliasSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileAliasSetResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileAliasSetResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileAliasSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileAliasSetResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgProfileAliasSetResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileAliasSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileAliasSetResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileAliasSetResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileAliasSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileAliasSetResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileAliasSetResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileAliasSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileAliasSetResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgProfileAliasSetResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgProfileAliasSetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgProfileAliasSetResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgProfileAliasSetResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgProfileAliasSetResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgProfileAliasSetResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgProfileAliasSetResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgProfileAliasSetResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgProfileAliasSetResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgProfileAliasSetResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileAliasSetResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgProfileAliasSetResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileAliasSetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgProfileAliasSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgEarlyAccessInvite protoreflect.MessageDescriptor + fd_MsgEarlyAccessInvite_creator protoreflect.FieldDescriptor + fd_MsgEarlyAccessInvite_user protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgEarlyAccessInvite = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgEarlyAccessInvite") + fd_MsgEarlyAccessInvite_creator = md_MsgEarlyAccessInvite.Fields().ByName("creator") + fd_MsgEarlyAccessInvite_user = md_MsgEarlyAccessInvite.Fields().ByName("user") +} + +var _ protoreflect.Message = (*fastReflection_MsgEarlyAccessInvite)(nil) + +type fastReflection_MsgEarlyAccessInvite MsgEarlyAccessInvite + +func (x *MsgEarlyAccessInvite) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEarlyAccessInvite)(x) +} + +func (x *MsgEarlyAccessInvite) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[84] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgEarlyAccessInvite_messageType fastReflection_MsgEarlyAccessInvite_messageType +var _ protoreflect.MessageType = fastReflection_MsgEarlyAccessInvite_messageType{} + +type fastReflection_MsgEarlyAccessInvite_messageType struct{} + +func (x fastReflection_MsgEarlyAccessInvite_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEarlyAccessInvite)(nil) +} +func (x fastReflection_MsgEarlyAccessInvite_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEarlyAccessInvite) +} +func (x fastReflection_MsgEarlyAccessInvite_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEarlyAccessInvite +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgEarlyAccessInvite) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEarlyAccessInvite +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgEarlyAccessInvite) Type() protoreflect.MessageType { + return _fastReflection_MsgEarlyAccessInvite_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgEarlyAccessInvite) New() protoreflect.Message { + return new(fastReflection_MsgEarlyAccessInvite) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgEarlyAccessInvite) Interface() protoreflect.ProtoMessage { + return (*MsgEarlyAccessInvite)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgEarlyAccessInvite) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgEarlyAccessInvite_creator, value) { + return + } + } + if x.User != "" { + value := protoreflect.ValueOfString(x.User) + if !f(fd_MsgEarlyAccessInvite_user, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgEarlyAccessInvite) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgEarlyAccessInvite.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgEarlyAccessInvite.user": + return x.User != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessInvite")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessInvite does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessInvite) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgEarlyAccessInvite.creator": + x.Creator = "" + case "cardchain.cardchain.MsgEarlyAccessInvite.user": + x.User = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessInvite")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessInvite does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgEarlyAccessInvite) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgEarlyAccessInvite.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgEarlyAccessInvite.user": + value := x.User + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessInvite")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessInvite does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessInvite) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgEarlyAccessInvite.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgEarlyAccessInvite.user": + x.User = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessInvite")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessInvite does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessInvite) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgEarlyAccessInvite.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgEarlyAccessInvite is not mutable")) + case "cardchain.cardchain.MsgEarlyAccessInvite.user": + panic(fmt.Errorf("field user of message cardchain.cardchain.MsgEarlyAccessInvite is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessInvite")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessInvite does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgEarlyAccessInvite) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgEarlyAccessInvite.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgEarlyAccessInvite.user": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessInvite")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessInvite does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgEarlyAccessInvite) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgEarlyAccessInvite", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgEarlyAccessInvite) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessInvite) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgEarlyAccessInvite) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgEarlyAccessInvite) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgEarlyAccessInvite) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.User) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgEarlyAccessInvite) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.User) > 0 { + i -= len(x.User) + copy(dAtA[i:], x.User) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.User))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgEarlyAccessInvite) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEarlyAccessInvite: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEarlyAccessInvite: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgEarlyAccessInviteResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgEarlyAccessInviteResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgEarlyAccessInviteResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgEarlyAccessInviteResponse)(nil) + +type fastReflection_MsgEarlyAccessInviteResponse MsgEarlyAccessInviteResponse + +func (x *MsgEarlyAccessInviteResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEarlyAccessInviteResponse)(x) +} + +func (x *MsgEarlyAccessInviteResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[85] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgEarlyAccessInviteResponse_messageType fastReflection_MsgEarlyAccessInviteResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgEarlyAccessInviteResponse_messageType{} + +type fastReflection_MsgEarlyAccessInviteResponse_messageType struct{} + +func (x fastReflection_MsgEarlyAccessInviteResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEarlyAccessInviteResponse)(nil) +} +func (x fastReflection_MsgEarlyAccessInviteResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEarlyAccessInviteResponse) +} +func (x fastReflection_MsgEarlyAccessInviteResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEarlyAccessInviteResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgEarlyAccessInviteResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEarlyAccessInviteResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgEarlyAccessInviteResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgEarlyAccessInviteResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgEarlyAccessInviteResponse) New() protoreflect.Message { + return new(fastReflection_MsgEarlyAccessInviteResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgEarlyAccessInviteResponse) Interface() protoreflect.ProtoMessage { + return (*MsgEarlyAccessInviteResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgEarlyAccessInviteResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgEarlyAccessInviteResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessInviteResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessInviteResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessInviteResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessInviteResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessInviteResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgEarlyAccessInviteResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessInviteResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessInviteResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessInviteResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessInviteResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessInviteResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessInviteResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessInviteResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessInviteResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgEarlyAccessInviteResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessInviteResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessInviteResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgEarlyAccessInviteResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgEarlyAccessInviteResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgEarlyAccessInviteResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessInviteResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgEarlyAccessInviteResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgEarlyAccessInviteResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgEarlyAccessInviteResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgEarlyAccessInviteResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgEarlyAccessInviteResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEarlyAccessInviteResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEarlyAccessInviteResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgZealyConnect protoreflect.MessageDescriptor + fd_MsgZealyConnect_creator protoreflect.FieldDescriptor + fd_MsgZealyConnect_zealyId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgZealyConnect = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgZealyConnect") + fd_MsgZealyConnect_creator = md_MsgZealyConnect.Fields().ByName("creator") + fd_MsgZealyConnect_zealyId = md_MsgZealyConnect.Fields().ByName("zealyId") +} + +var _ protoreflect.Message = (*fastReflection_MsgZealyConnect)(nil) + +type fastReflection_MsgZealyConnect MsgZealyConnect + +func (x *MsgZealyConnect) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgZealyConnect)(x) +} + +func (x *MsgZealyConnect) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[86] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgZealyConnect_messageType fastReflection_MsgZealyConnect_messageType +var _ protoreflect.MessageType = fastReflection_MsgZealyConnect_messageType{} + +type fastReflection_MsgZealyConnect_messageType struct{} + +func (x fastReflection_MsgZealyConnect_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgZealyConnect)(nil) +} +func (x fastReflection_MsgZealyConnect_messageType) New() protoreflect.Message { + return new(fastReflection_MsgZealyConnect) +} +func (x fastReflection_MsgZealyConnect_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgZealyConnect +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgZealyConnect) Descriptor() protoreflect.MessageDescriptor { + return md_MsgZealyConnect +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgZealyConnect) Type() protoreflect.MessageType { + return _fastReflection_MsgZealyConnect_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgZealyConnect) New() protoreflect.Message { + return new(fastReflection_MsgZealyConnect) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgZealyConnect) Interface() protoreflect.ProtoMessage { + return (*MsgZealyConnect)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgZealyConnect) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgZealyConnect_creator, value) { + return + } + } + if x.ZealyId != "" { + value := protoreflect.ValueOfString(x.ZealyId) + if !f(fd_MsgZealyConnect_zealyId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgZealyConnect) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgZealyConnect.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgZealyConnect.zealyId": + return x.ZealyId != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgZealyConnect")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgZealyConnect does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgZealyConnect) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgZealyConnect.creator": + x.Creator = "" + case "cardchain.cardchain.MsgZealyConnect.zealyId": + x.ZealyId = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgZealyConnect")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgZealyConnect does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgZealyConnect) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgZealyConnect.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgZealyConnect.zealyId": + value := x.ZealyId + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgZealyConnect")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgZealyConnect does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgZealyConnect) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgZealyConnect.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgZealyConnect.zealyId": + x.ZealyId = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgZealyConnect")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgZealyConnect does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgZealyConnect) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgZealyConnect.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgZealyConnect is not mutable")) + case "cardchain.cardchain.MsgZealyConnect.zealyId": + panic(fmt.Errorf("field zealyId of message cardchain.cardchain.MsgZealyConnect is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgZealyConnect")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgZealyConnect does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgZealyConnect) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgZealyConnect.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgZealyConnect.zealyId": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgZealyConnect")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgZealyConnect does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgZealyConnect) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgZealyConnect", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgZealyConnect) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgZealyConnect) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgZealyConnect) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgZealyConnect) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgZealyConnect) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ZealyId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgZealyConnect) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.ZealyId) > 0 { + i -= len(x.ZealyId) + copy(dAtA[i:], x.ZealyId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ZealyId))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgZealyConnect) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgZealyConnect: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgZealyConnect: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ZealyId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ZealyId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgZealyConnectResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgZealyConnectResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgZealyConnectResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgZealyConnectResponse)(nil) + +type fastReflection_MsgZealyConnectResponse MsgZealyConnectResponse + +func (x *MsgZealyConnectResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgZealyConnectResponse)(x) +} + +func (x *MsgZealyConnectResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[87] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgZealyConnectResponse_messageType fastReflection_MsgZealyConnectResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgZealyConnectResponse_messageType{} + +type fastReflection_MsgZealyConnectResponse_messageType struct{} + +func (x fastReflection_MsgZealyConnectResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgZealyConnectResponse)(nil) +} +func (x fastReflection_MsgZealyConnectResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgZealyConnectResponse) +} +func (x fastReflection_MsgZealyConnectResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgZealyConnectResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgZealyConnectResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgZealyConnectResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgZealyConnectResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgZealyConnectResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgZealyConnectResponse) New() protoreflect.Message { + return new(fastReflection_MsgZealyConnectResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgZealyConnectResponse) Interface() protoreflect.ProtoMessage { + return (*MsgZealyConnectResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgZealyConnectResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgZealyConnectResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgZealyConnectResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgZealyConnectResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgZealyConnectResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgZealyConnectResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgZealyConnectResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgZealyConnectResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgZealyConnectResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgZealyConnectResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgZealyConnectResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgZealyConnectResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgZealyConnectResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgZealyConnectResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgZealyConnectResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgZealyConnectResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgZealyConnectResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgZealyConnectResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgZealyConnectResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgZealyConnectResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgZealyConnectResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgZealyConnectResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgZealyConnectResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgZealyConnectResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgZealyConnectResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgZealyConnectResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgZealyConnectResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgZealyConnectResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgZealyConnectResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgZealyConnectResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_MsgEncounterCreate_3_list)(nil) + +type _MsgEncounterCreate_3_list struct { + list *[]uint64 +} + +func (x *_MsgEncounterCreate_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgEncounterCreate_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_MsgEncounterCreate_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_MsgEncounterCreate_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgEncounterCreate_3_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgEncounterCreate at list field Drawlist as it is not of Message kind")) +} + +func (x *_MsgEncounterCreate_3_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_MsgEncounterCreate_3_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_MsgEncounterCreate_3_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.Map = (*_MsgEncounterCreate_4_map)(nil) + +type _MsgEncounterCreate_4_map struct { + m *map[string]string +} + +func (x *_MsgEncounterCreate_4_map) Len() int { + if x.m == nil { + return 0 + } + return len(*x.m) +} + +func (x *_MsgEncounterCreate_4_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { + if x.m == nil { + return + } + for k, v := range *x.m { + mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) + mapValue := protoreflect.ValueOfString(v) + if !f(mapKey, mapValue) { + break + } + } +} + +func (x *_MsgEncounterCreate_4_map) Has(key protoreflect.MapKey) bool { + if x.m == nil { + return false + } + keyUnwrapped := key.String() + concreteValue := keyUnwrapped + _, ok := (*x.m)[concreteValue] + return ok +} + +func (x *_MsgEncounterCreate_4_map) Clear(key protoreflect.MapKey) { + if x.m == nil { + return + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + delete(*x.m, concreteKey) +} + +func (x *_MsgEncounterCreate_4_map) Get(key protoreflect.MapKey) protoreflect.Value { + if x.m == nil { + return protoreflect.Value{} + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + v, ok := (*x.m)[concreteKey] + if !ok { + return protoreflect.Value{} + } + return protoreflect.ValueOfString(v) +} + +func (x *_MsgEncounterCreate_4_map) Set(key protoreflect.MapKey, value protoreflect.Value) { + if !key.IsValid() || !value.IsValid() { + panic("invalid key or value provided") + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.m)[concreteKey] = concreteValue +} + +func (x *_MsgEncounterCreate_4_map) Mutable(key protoreflect.MapKey) protoreflect.Value { + panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message") +} + +func (x *_MsgEncounterCreate_4_map) NewValue() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_MsgEncounterCreate_4_map) IsValid() bool { + return x.m != nil +} + +var ( + md_MsgEncounterCreate protoreflect.MessageDescriptor + fd_MsgEncounterCreate_creator protoreflect.FieldDescriptor + fd_MsgEncounterCreate_name protoreflect.FieldDescriptor + fd_MsgEncounterCreate_drawlist protoreflect.FieldDescriptor + fd_MsgEncounterCreate_parameters protoreflect.FieldDescriptor + fd_MsgEncounterCreate_image protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgEncounterCreate = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgEncounterCreate") + fd_MsgEncounterCreate_creator = md_MsgEncounterCreate.Fields().ByName("creator") + fd_MsgEncounterCreate_name = md_MsgEncounterCreate.Fields().ByName("name") + fd_MsgEncounterCreate_drawlist = md_MsgEncounterCreate.Fields().ByName("drawlist") + fd_MsgEncounterCreate_parameters = md_MsgEncounterCreate.Fields().ByName("parameters") + fd_MsgEncounterCreate_image = md_MsgEncounterCreate.Fields().ByName("image") +} + +var _ protoreflect.Message = (*fastReflection_MsgEncounterCreate)(nil) + +type fastReflection_MsgEncounterCreate MsgEncounterCreate + +func (x *MsgEncounterCreate) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEncounterCreate)(x) +} + +func (x *MsgEncounterCreate) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[88] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgEncounterCreate_messageType fastReflection_MsgEncounterCreate_messageType +var _ protoreflect.MessageType = fastReflection_MsgEncounterCreate_messageType{} + +type fastReflection_MsgEncounterCreate_messageType struct{} + +func (x fastReflection_MsgEncounterCreate_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEncounterCreate)(nil) +} +func (x fastReflection_MsgEncounterCreate_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEncounterCreate) +} +func (x fastReflection_MsgEncounterCreate_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEncounterCreate +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgEncounterCreate) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEncounterCreate +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgEncounterCreate) Type() protoreflect.MessageType { + return _fastReflection_MsgEncounterCreate_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgEncounterCreate) New() protoreflect.Message { + return new(fastReflection_MsgEncounterCreate) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgEncounterCreate) Interface() protoreflect.ProtoMessage { + return (*MsgEncounterCreate)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgEncounterCreate) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgEncounterCreate_creator, value) { + return + } + } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_MsgEncounterCreate_name, value) { + return + } + } + if len(x.Drawlist) != 0 { + value := protoreflect.ValueOfList(&_MsgEncounterCreate_3_list{list: &x.Drawlist}) + if !f(fd_MsgEncounterCreate_drawlist, value) { + return + } + } + if len(x.Parameters) != 0 { + value := protoreflect.ValueOfMap(&_MsgEncounterCreate_4_map{m: &x.Parameters}) + if !f(fd_MsgEncounterCreate_parameters, value) { + return + } + } + if len(x.Image) != 0 { + value := protoreflect.ValueOfBytes(x.Image) + if !f(fd_MsgEncounterCreate_image, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgEncounterCreate) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterCreate.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgEncounterCreate.name": + return x.Name != "" + case "cardchain.cardchain.MsgEncounterCreate.drawlist": + return len(x.Drawlist) != 0 + case "cardchain.cardchain.MsgEncounterCreate.parameters": + return len(x.Parameters) != 0 + case "cardchain.cardchain.MsgEncounterCreate.image": + return len(x.Image) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCreate does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterCreate) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterCreate.creator": + x.Creator = "" + case "cardchain.cardchain.MsgEncounterCreate.name": + x.Name = "" + case "cardchain.cardchain.MsgEncounterCreate.drawlist": + x.Drawlist = nil + case "cardchain.cardchain.MsgEncounterCreate.parameters": + x.Parameters = nil + case "cardchain.cardchain.MsgEncounterCreate.image": + x.Image = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCreate does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgEncounterCreate) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgEncounterCreate.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgEncounterCreate.name": + value := x.Name + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgEncounterCreate.drawlist": + if len(x.Drawlist) == 0 { + return protoreflect.ValueOfList(&_MsgEncounterCreate_3_list{}) + } + listValue := &_MsgEncounterCreate_3_list{list: &x.Drawlist} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.MsgEncounterCreate.parameters": + if len(x.Parameters) == 0 { + return protoreflect.ValueOfMap(&_MsgEncounterCreate_4_map{}) + } + mapValue := &_MsgEncounterCreate_4_map{m: &x.Parameters} + return protoreflect.ValueOfMap(mapValue) + case "cardchain.cardchain.MsgEncounterCreate.image": + value := x.Image + return protoreflect.ValueOfBytes(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCreate does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterCreate) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterCreate.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgEncounterCreate.name": + x.Name = value.Interface().(string) + case "cardchain.cardchain.MsgEncounterCreate.drawlist": + lv := value.List() + clv := lv.(*_MsgEncounterCreate_3_list) + x.Drawlist = *clv.list + case "cardchain.cardchain.MsgEncounterCreate.parameters": + mv := value.Map() + cmv := mv.(*_MsgEncounterCreate_4_map) + x.Parameters = *cmv.m + case "cardchain.cardchain.MsgEncounterCreate.image": + x.Image = value.Bytes() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCreate does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterCreate) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterCreate.drawlist": + if x.Drawlist == nil { + x.Drawlist = []uint64{} + } + value := &_MsgEncounterCreate_3_list{list: &x.Drawlist} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.MsgEncounterCreate.parameters": + if x.Parameters == nil { + x.Parameters = make(map[string]string) + } + value := &_MsgEncounterCreate_4_map{m: &x.Parameters} + return protoreflect.ValueOfMap(value) + case "cardchain.cardchain.MsgEncounterCreate.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgEncounterCreate is not mutable")) + case "cardchain.cardchain.MsgEncounterCreate.name": + panic(fmt.Errorf("field name of message cardchain.cardchain.MsgEncounterCreate is not mutable")) + case "cardchain.cardchain.MsgEncounterCreate.image": + panic(fmt.Errorf("field image of message cardchain.cardchain.MsgEncounterCreate is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCreate does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgEncounterCreate) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterCreate.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgEncounterCreate.name": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgEncounterCreate.drawlist": + list := []uint64{} + return protoreflect.ValueOfList(&_MsgEncounterCreate_3_list{list: &list}) + case "cardchain.cardchain.MsgEncounterCreate.parameters": + m := make(map[string]string) + return protoreflect.ValueOfMap(&_MsgEncounterCreate_4_map{m: &m}) + case "cardchain.cardchain.MsgEncounterCreate.image": + return protoreflect.ValueOfBytes(nil) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCreate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCreate does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgEncounterCreate) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgEncounterCreate", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgEncounterCreate) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterCreate) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgEncounterCreate) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgEncounterCreate) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgEncounterCreate) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Drawlist) > 0 { + l = 0 + for _, e := range x.Drawlist { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if len(x.Parameters) > 0 { + SiZeMaP := func(k string, v string) { + mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + len(v) + runtime.Sov(uint64(len(v))) + n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) + } + if options.Deterministic { + sortme := make([]string, 0, len(x.Parameters)) + for k := range x.Parameters { + sortme = append(sortme, k) + } + sort.Strings(sortme) + for _, k := range sortme { + v := x.Parameters[k] + SiZeMaP(k, v) + } + } else { + for k, v := range x.Parameters { + SiZeMaP(k, v) + } + } + } + l = len(x.Image) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgEncounterCreate) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Image) > 0 { + i -= len(x.Image) + copy(dAtA[i:], x.Image) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Image))) + i-- + dAtA[i] = 0x2a + } + if len(x.Parameters) > 0 { + MaRsHaLmAp := func(k string, v string) (protoiface.MarshalOutput, error) { + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = runtime.EncodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x22 + return protoiface.MarshalOutput{}, nil + } + if options.Deterministic { + keysForParameters := make([]string, 0, len(x.Parameters)) + for k := range x.Parameters { + keysForParameters = append(keysForParameters, string(k)) + } + sort.Slice(keysForParameters, func(i, j int) bool { + return keysForParameters[i] < keysForParameters[j] + }) + for iNdEx := len(keysForParameters) - 1; iNdEx >= 0; iNdEx-- { + v := x.Parameters[string(keysForParameters[iNdEx])] + out, err := MaRsHaLmAp(keysForParameters[iNdEx], v) + if err != nil { + return out, err + } + } + } else { + for k := range x.Parameters { + v := x.Parameters[k] + out, err := MaRsHaLmAp(k, v) + if err != nil { + return out, err + } + } + } + } + if len(x.Drawlist) > 0 { + var pksize2 int + for _, num := range x.Drawlist { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.Drawlist { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x1a + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgEncounterCreate) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEncounterCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEncounterCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Drawlist = append(x.Drawlist, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.Drawlist) == 0 { + x.Drawlist = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Drawlist = append(x.Drawlist, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Drawlist", wireType) + } + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Parameters", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Parameters == nil { + x.Parameters = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postStringIndexmapkey > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postStringIndexmapvalue > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + x.Parameters[mapkey] = mapvalue + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Image = append(x.Image[:0], dAtA[iNdEx:postIndex]...) + if x.Image == nil { + x.Image = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgEncounterCreateResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgEncounterCreateResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgEncounterCreateResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgEncounterCreateResponse)(nil) + +type fastReflection_MsgEncounterCreateResponse MsgEncounterCreateResponse + +func (x *MsgEncounterCreateResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEncounterCreateResponse)(x) +} + +func (x *MsgEncounterCreateResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[89] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgEncounterCreateResponse_messageType fastReflection_MsgEncounterCreateResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgEncounterCreateResponse_messageType{} + +type fastReflection_MsgEncounterCreateResponse_messageType struct{} + +func (x fastReflection_MsgEncounterCreateResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEncounterCreateResponse)(nil) +} +func (x fastReflection_MsgEncounterCreateResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEncounterCreateResponse) +} +func (x fastReflection_MsgEncounterCreateResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEncounterCreateResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgEncounterCreateResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEncounterCreateResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgEncounterCreateResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgEncounterCreateResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgEncounterCreateResponse) New() protoreflect.Message { + return new(fastReflection_MsgEncounterCreateResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgEncounterCreateResponse) Interface() protoreflect.ProtoMessage { + return (*MsgEncounterCreateResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgEncounterCreateResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgEncounterCreateResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterCreateResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgEncounterCreateResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCreateResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterCreateResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCreateResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterCreateResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCreateResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgEncounterCreateResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCreateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCreateResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgEncounterCreateResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgEncounterCreateResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgEncounterCreateResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterCreateResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgEncounterCreateResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgEncounterCreateResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgEncounterCreateResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgEncounterCreateResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgEncounterCreateResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEncounterCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEncounterCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgEncounterDo protoreflect.MessageDescriptor + fd_MsgEncounterDo_creator protoreflect.FieldDescriptor + fd_MsgEncounterDo_encounterId protoreflect.FieldDescriptor + fd_MsgEncounterDo_user protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgEncounterDo = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgEncounterDo") + fd_MsgEncounterDo_creator = md_MsgEncounterDo.Fields().ByName("creator") + fd_MsgEncounterDo_encounterId = md_MsgEncounterDo.Fields().ByName("encounterId") + fd_MsgEncounterDo_user = md_MsgEncounterDo.Fields().ByName("user") +} + +var _ protoreflect.Message = (*fastReflection_MsgEncounterDo)(nil) + +type fastReflection_MsgEncounterDo MsgEncounterDo + +func (x *MsgEncounterDo) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEncounterDo)(x) +} + +func (x *MsgEncounterDo) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[90] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgEncounterDo_messageType fastReflection_MsgEncounterDo_messageType +var _ protoreflect.MessageType = fastReflection_MsgEncounterDo_messageType{} + +type fastReflection_MsgEncounterDo_messageType struct{} + +func (x fastReflection_MsgEncounterDo_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEncounterDo)(nil) +} +func (x fastReflection_MsgEncounterDo_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEncounterDo) +} +func (x fastReflection_MsgEncounterDo_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEncounterDo +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgEncounterDo) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEncounterDo +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgEncounterDo) Type() protoreflect.MessageType { + return _fastReflection_MsgEncounterDo_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgEncounterDo) New() protoreflect.Message { + return new(fastReflection_MsgEncounterDo) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgEncounterDo) Interface() protoreflect.ProtoMessage { + return (*MsgEncounterDo)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgEncounterDo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgEncounterDo_creator, value) { + return + } + } + if x.EncounterId != uint64(0) { + value := protoreflect.ValueOfUint64(x.EncounterId) + if !f(fd_MsgEncounterDo_encounterId, value) { + return + } + } + if x.User != "" { + value := protoreflect.ValueOfString(x.User) + if !f(fd_MsgEncounterDo_user, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgEncounterDo) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterDo.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgEncounterDo.encounterId": + return x.EncounterId != uint64(0) + case "cardchain.cardchain.MsgEncounterDo.user": + return x.User != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterDo")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterDo does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterDo) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterDo.creator": + x.Creator = "" + case "cardchain.cardchain.MsgEncounterDo.encounterId": + x.EncounterId = uint64(0) + case "cardchain.cardchain.MsgEncounterDo.user": + x.User = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterDo")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterDo does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgEncounterDo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgEncounterDo.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgEncounterDo.encounterId": + value := x.EncounterId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgEncounterDo.user": + value := x.User + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterDo")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterDo does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterDo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterDo.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgEncounterDo.encounterId": + x.EncounterId = value.Uint() + case "cardchain.cardchain.MsgEncounterDo.user": + x.User = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterDo")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterDo does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterDo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterDo.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgEncounterDo is not mutable")) + case "cardchain.cardchain.MsgEncounterDo.encounterId": + panic(fmt.Errorf("field encounterId of message cardchain.cardchain.MsgEncounterDo is not mutable")) + case "cardchain.cardchain.MsgEncounterDo.user": + panic(fmt.Errorf("field user of message cardchain.cardchain.MsgEncounterDo is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterDo")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterDo does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgEncounterDo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterDo.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgEncounterDo.encounterId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgEncounterDo.user": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterDo")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterDo does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgEncounterDo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgEncounterDo", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgEncounterDo) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterDo) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgEncounterDo) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgEncounterDo) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgEncounterDo) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.EncounterId != 0 { + n += 1 + runtime.Sov(uint64(x.EncounterId)) + } + l = len(x.User) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgEncounterDo) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.User) > 0 { + i -= len(x.User) + copy(dAtA[i:], x.User) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.User))) + i-- + dAtA[i] = 0x1a + } + if x.EncounterId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.EncounterId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgEncounterDo) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEncounterDo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEncounterDo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncounterId", wireType) + } + x.EncounterId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.EncounterId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgEncounterDoResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgEncounterDoResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgEncounterDoResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgEncounterDoResponse)(nil) + +type fastReflection_MsgEncounterDoResponse MsgEncounterDoResponse + +func (x *MsgEncounterDoResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEncounterDoResponse)(x) +} + +func (x *MsgEncounterDoResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[91] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgEncounterDoResponse_messageType fastReflection_MsgEncounterDoResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgEncounterDoResponse_messageType{} + +type fastReflection_MsgEncounterDoResponse_messageType struct{} + +func (x fastReflection_MsgEncounterDoResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEncounterDoResponse)(nil) +} +func (x fastReflection_MsgEncounterDoResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEncounterDoResponse) +} +func (x fastReflection_MsgEncounterDoResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEncounterDoResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgEncounterDoResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEncounterDoResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgEncounterDoResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgEncounterDoResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgEncounterDoResponse) New() protoreflect.Message { + return new(fastReflection_MsgEncounterDoResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgEncounterDoResponse) Interface() protoreflect.ProtoMessage { + return (*MsgEncounterDoResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgEncounterDoResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgEncounterDoResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterDoResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterDoResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterDoResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterDoResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterDoResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgEncounterDoResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterDoResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterDoResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterDoResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterDoResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterDoResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterDoResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterDoResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterDoResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgEncounterDoResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterDoResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterDoResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgEncounterDoResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgEncounterDoResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgEncounterDoResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterDoResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgEncounterDoResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgEncounterDoResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgEncounterDoResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgEncounterDoResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgEncounterDoResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEncounterDoResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEncounterDoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgEncounterClose protoreflect.MessageDescriptor + fd_MsgEncounterClose_creator protoreflect.FieldDescriptor + fd_MsgEncounterClose_encounterId protoreflect.FieldDescriptor + fd_MsgEncounterClose_user protoreflect.FieldDescriptor + fd_MsgEncounterClose_won protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgEncounterClose = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgEncounterClose") + fd_MsgEncounterClose_creator = md_MsgEncounterClose.Fields().ByName("creator") + fd_MsgEncounterClose_encounterId = md_MsgEncounterClose.Fields().ByName("encounterId") + fd_MsgEncounterClose_user = md_MsgEncounterClose.Fields().ByName("user") + fd_MsgEncounterClose_won = md_MsgEncounterClose.Fields().ByName("won") +} + +var _ protoreflect.Message = (*fastReflection_MsgEncounterClose)(nil) + +type fastReflection_MsgEncounterClose MsgEncounterClose + +func (x *MsgEncounterClose) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEncounterClose)(x) +} + +func (x *MsgEncounterClose) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[92] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgEncounterClose_messageType fastReflection_MsgEncounterClose_messageType +var _ protoreflect.MessageType = fastReflection_MsgEncounterClose_messageType{} + +type fastReflection_MsgEncounterClose_messageType struct{} + +func (x fastReflection_MsgEncounterClose_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEncounterClose)(nil) +} +func (x fastReflection_MsgEncounterClose_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEncounterClose) +} +func (x fastReflection_MsgEncounterClose_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEncounterClose +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgEncounterClose) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEncounterClose +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgEncounterClose) Type() protoreflect.MessageType { + return _fastReflection_MsgEncounterClose_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgEncounterClose) New() protoreflect.Message { + return new(fastReflection_MsgEncounterClose) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgEncounterClose) Interface() protoreflect.ProtoMessage { + return (*MsgEncounterClose)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgEncounterClose) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgEncounterClose_creator, value) { + return + } + } + if x.EncounterId != uint64(0) { + value := protoreflect.ValueOfUint64(x.EncounterId) + if !f(fd_MsgEncounterClose_encounterId, value) { + return + } + } + if x.User != "" { + value := protoreflect.ValueOfString(x.User) + if !f(fd_MsgEncounterClose_user, value) { + return + } + } + if x.Won != false { + value := protoreflect.ValueOfBool(x.Won) + if !f(fd_MsgEncounterClose_won, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgEncounterClose) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterClose.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgEncounterClose.encounterId": + return x.EncounterId != uint64(0) + case "cardchain.cardchain.MsgEncounterClose.user": + return x.User != "" + case "cardchain.cardchain.MsgEncounterClose.won": + return x.Won != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterClose")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterClose does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterClose) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterClose.creator": + x.Creator = "" + case "cardchain.cardchain.MsgEncounterClose.encounterId": + x.EncounterId = uint64(0) + case "cardchain.cardchain.MsgEncounterClose.user": + x.User = "" + case "cardchain.cardchain.MsgEncounterClose.won": + x.Won = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterClose")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterClose does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgEncounterClose) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgEncounterClose.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgEncounterClose.encounterId": + value := x.EncounterId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgEncounterClose.user": + value := x.User + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgEncounterClose.won": + value := x.Won + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterClose")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterClose does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterClose) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterClose.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgEncounterClose.encounterId": + x.EncounterId = value.Uint() + case "cardchain.cardchain.MsgEncounterClose.user": + x.User = value.Interface().(string) + case "cardchain.cardchain.MsgEncounterClose.won": + x.Won = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterClose")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterClose does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterClose) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterClose.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgEncounterClose is not mutable")) + case "cardchain.cardchain.MsgEncounterClose.encounterId": + panic(fmt.Errorf("field encounterId of message cardchain.cardchain.MsgEncounterClose is not mutable")) + case "cardchain.cardchain.MsgEncounterClose.user": + panic(fmt.Errorf("field user of message cardchain.cardchain.MsgEncounterClose is not mutable")) + case "cardchain.cardchain.MsgEncounterClose.won": + panic(fmt.Errorf("field won of message cardchain.cardchain.MsgEncounterClose is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterClose")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterClose does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgEncounterClose) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgEncounterClose.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgEncounterClose.encounterId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgEncounterClose.user": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgEncounterClose.won": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterClose")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterClose does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgEncounterClose) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgEncounterClose", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgEncounterClose) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterClose) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgEncounterClose) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgEncounterClose) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgEncounterClose) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.EncounterId != 0 { + n += 1 + runtime.Sov(uint64(x.EncounterId)) + } + l = len(x.User) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Won { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgEncounterClose) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Won { + i-- + if x.Won { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if len(x.User) > 0 { + i -= len(x.User) + copy(dAtA[i:], x.User) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.User))) + i-- + dAtA[i] = 0x1a + } + if x.EncounterId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.EncounterId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgEncounterClose) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEncounterClose: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEncounterClose: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncounterId", wireType) + } + x.EncounterId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.EncounterId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Won", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Won = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgEncounterCloseResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgEncounterCloseResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgEncounterCloseResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgEncounterCloseResponse)(nil) + +type fastReflection_MsgEncounterCloseResponse MsgEncounterCloseResponse + +func (x *MsgEncounterCloseResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEncounterCloseResponse)(x) +} + +func (x *MsgEncounterCloseResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[93] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgEncounterCloseResponse_messageType fastReflection_MsgEncounterCloseResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgEncounterCloseResponse_messageType{} + +type fastReflection_MsgEncounterCloseResponse_messageType struct{} + +func (x fastReflection_MsgEncounterCloseResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEncounterCloseResponse)(nil) +} +func (x fastReflection_MsgEncounterCloseResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEncounterCloseResponse) +} +func (x fastReflection_MsgEncounterCloseResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEncounterCloseResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgEncounterCloseResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEncounterCloseResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgEncounterCloseResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgEncounterCloseResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgEncounterCloseResponse) New() protoreflect.Message { + return new(fastReflection_MsgEncounterCloseResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgEncounterCloseResponse) Interface() protoreflect.ProtoMessage { + return (*MsgEncounterCloseResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgEncounterCloseResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgEncounterCloseResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCloseResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCloseResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterCloseResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCloseResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCloseResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgEncounterCloseResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCloseResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCloseResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterCloseResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCloseResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCloseResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterCloseResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCloseResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCloseResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgEncounterCloseResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEncounterCloseResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEncounterCloseResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgEncounterCloseResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgEncounterCloseResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgEncounterCloseResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEncounterCloseResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgEncounterCloseResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgEncounterCloseResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgEncounterCloseResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgEncounterCloseResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgEncounterCloseResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEncounterCloseResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEncounterCloseResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 // protoc (unknown) // source: cardchain/cardchain/tx.proto -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// MsgUpdateParams is the Msg/UpdateParams request type. +type MsgUpdateParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address that controls the module (defaults to x/gov unless + // overwritten). + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // NOTE: All parameters must be supplied. + Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *MsgUpdateParams) Reset() { + *x = MsgUpdateParams{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParams) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{0} +} + +func (x *MsgUpdateParams) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgUpdateParams) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +type MsgUpdateParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUpdateParamsResponse) Reset() { + *x = MsgUpdateParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParamsResponse) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{1} +} + +type MsgUserCreate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + NewUser string `protobuf:"bytes,2,opt,name=newUser,proto3" json:"newUser,omitempty"` + Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` +} + +func (x *MsgUserCreate) Reset() { + *x = MsgUserCreate{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUserCreate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUserCreate) ProtoMessage() {} + +// Deprecated: Use MsgUserCreate.ProtoReflect.Descriptor instead. +func (*MsgUserCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{2} +} + +func (x *MsgUserCreate) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgUserCreate) GetNewUser() string { + if x != nil { + return x.NewUser + } + return "" +} + +func (x *MsgUserCreate) GetAlias() string { + if x != nil { + return x.Alias + } + return "" +} + +type MsgUserCreateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUserCreateResponse) Reset() { + *x = MsgUserCreateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUserCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUserCreateResponse) ProtoMessage() {} + +// Deprecated: Use MsgUserCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgUserCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{3} +} + +type MsgCardSchemeBuy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Bid *v1beta1.Coin `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid,omitempty"` +} + +func (x *MsgCardSchemeBuy) Reset() { + *x = MsgCardSchemeBuy{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSchemeBuy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSchemeBuy) ProtoMessage() {} + +// Deprecated: Use MsgCardSchemeBuy.ProtoReflect.Descriptor instead. +func (*MsgCardSchemeBuy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{4} +} + +func (x *MsgCardSchemeBuy) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardSchemeBuy) GetBid() *v1beta1.Coin { + if x != nil { + return x.Bid + } + return nil +} + +type MsgCardSchemeBuyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (x *MsgCardSchemeBuyResponse) Reset() { + *x = MsgCardSchemeBuyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSchemeBuyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSchemeBuyResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardSchemeBuyResponse.ProtoReflect.Descriptor instead. +func (*MsgCardSchemeBuyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{5} +} + +func (x *MsgCardSchemeBuyResponse) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +type MsgCardSaveContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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 (x *MsgCardSaveContent) Reset() { + *x = MsgCardSaveContent{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSaveContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSaveContent) ProtoMessage() {} + +// Deprecated: Use MsgCardSaveContent.ProtoReflect.Descriptor instead. +func (*MsgCardSaveContent) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{6} +} + +func (x *MsgCardSaveContent) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardSaveContent) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardSaveContent) GetContent() []byte { + if x != nil { + return x.Content + } + return nil +} + +func (x *MsgCardSaveContent) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +func (x *MsgCardSaveContent) GetArtist() string { + if x != nil { + return x.Artist + } + return "" +} + +func (x *MsgCardSaveContent) GetBalanceAnchor() bool { + if x != nil { + return x.BalanceAnchor + } + return false +} + +type MsgCardSaveContentResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (x *MsgCardSaveContentResponse) Reset() { + *x = MsgCardSaveContentResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardSaveContentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardSaveContentResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardSaveContentResponse.ProtoReflect.Descriptor instead. +func (*MsgCardSaveContentResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{7} +} + +func (x *MsgCardSaveContentResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgCardVote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Vote *SingleVote `protobuf:"bytes,2,opt,name=vote,proto3" json:"vote,omitempty"` +} + +func (x *MsgCardVote) Reset() { + *x = MsgCardVote{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardVote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardVote) ProtoMessage() {} + +// Deprecated: Use MsgCardVote.ProtoReflect.Descriptor instead. +func (*MsgCardVote) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{8} +} + +func (x *MsgCardVote) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardVote) GetVote() *SingleVote { + if x != nil { + return x.Vote + } + return nil +} + +type MsgCardVoteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` +} + +func (x *MsgCardVoteResponse) Reset() { + *x = MsgCardVoteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardVoteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardVoteResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardVoteResponse.ProtoReflect.Descriptor instead. +func (*MsgCardVoteResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{9} +} + +func (x *MsgCardVoteResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgCardTransfer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` +} + +func (x *MsgCardTransfer) Reset() { + *x = MsgCardTransfer{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardTransfer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardTransfer) ProtoMessage() {} + +// Deprecated: Use MsgCardTransfer.ProtoReflect.Descriptor instead. +func (*MsgCardTransfer) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{10} +} + +func (x *MsgCardTransfer) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCardTransfer) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardTransfer) GetReceiver() string { + if x != nil { + return x.Receiver + } + return "" +} + +type MsgCardTransferResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} -// MsgUpdateParams is the Msg/UpdateParams request type. -type MsgUpdateParams struct { +func (x *MsgCardTransferResponse) Reset() { + *x = MsgCardTransferResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardTransferResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardTransferResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardTransferResponse.ProtoReflect.Descriptor instead. +func (*MsgCardTransferResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{11} +} + +type MsgCardDonate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // authority is the address that controls the module (defaults to x/gov unless - // overwritten). - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // NOTE: All parameters must be supplied. - Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,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"` + Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` } -func (x *MsgUpdateParams) Reset() { - *x = MsgUpdateParams{} +func (x *MsgCardDonate) Reset() { + *x = MsgCardDonate{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[0] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUpdateParams) String() string { +func (x *MsgCardDonate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgCardDonate) ProtoMessage() {} -// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. -func (*MsgUpdateParams) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{0} +// Deprecated: Use MsgCardDonate.ProtoReflect.Descriptor instead. +func (*MsgCardDonate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{12} } -func (x *MsgUpdateParams) GetAuthority() string { +func (x *MsgCardDonate) GetCreator() string { if x != nil { - return x.Authority + return x.Creator } return "" } -func (x *MsgUpdateParams) GetParams() *Params { +func (x *MsgCardDonate) GetCardId() uint64 { if x != nil { - return x.Params + return x.CardId + } + return 0 +} + +func (x *MsgCardDonate) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount } return nil } -// MsgUpdateParamsResponse defines the response structure for executing a -// MsgUpdateParams message. -type MsgUpdateParamsResponse struct { +type MsgCardDonateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgUpdateParamsResponse) Reset() { - *x = MsgUpdateParamsResponse{} +func (x *MsgCardDonateResponse) Reset() { + *x = MsgCardDonateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[1] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUpdateParamsResponse) String() string { +func (x *MsgCardDonateResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgCardDonateResponse) ProtoMessage() {} -// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. -func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{1} +// Deprecated: Use MsgCardDonateResponse.ProtoReflect.Descriptor instead. +func (*MsgCardDonateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{13} } -type MsgUserCreate struct { +type MsgCardArtworkAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - NewUser string `protobuf:"bytes,2,opt,name=newUser,proto3" json:"newUser,omitempty"` - Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + FullArt bool `protobuf:"varint,4,opt,name=fullArt,proto3" json:"fullArt,omitempty"` } -func (x *MsgUserCreate) Reset() { - *x = MsgUserCreate{} +func (x *MsgCardArtworkAdd) Reset() { + *x = MsgCardArtworkAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[2] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUserCreate) String() string { +func (x *MsgCardArtworkAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUserCreate) ProtoMessage() {} +func (*MsgCardArtworkAdd) ProtoMessage() {} -// Deprecated: Use MsgUserCreate.ProtoReflect.Descriptor instead. -func (*MsgUserCreate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{2} +// Deprecated: Use MsgCardArtworkAdd.ProtoReflect.Descriptor instead. +func (*MsgCardArtworkAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{14} } -func (x *MsgUserCreate) GetCreator() string { +func (x *MsgCardArtworkAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgUserCreate) GetNewUser() string { +func (x *MsgCardArtworkAdd) GetCardId() uint64 { if x != nil { - return x.NewUser + return x.CardId } - return "" + return 0 } -func (x *MsgUserCreate) GetAlias() string { +func (x *MsgCardArtworkAdd) GetImage() []byte { if x != nil { - return x.Alias + return x.Image } - return "" + return nil } -type MsgUserCreateResponse struct { +func (x *MsgCardArtworkAdd) GetFullArt() bool { + if x != nil { + return x.FullArt + } + return false +} + +type MsgCardArtworkAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgUserCreateResponse) Reset() { - *x = MsgUserCreateResponse{} +func (x *MsgCardArtworkAddResponse) Reset() { + *x = MsgCardArtworkAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[3] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUserCreateResponse) String() string { +func (x *MsgCardArtworkAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUserCreateResponse) ProtoMessage() {} +func (*MsgCardArtworkAddResponse) ProtoMessage() {} -// Deprecated: Use MsgUserCreateResponse.ProtoReflect.Descriptor instead. -func (*MsgUserCreateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{3} +// Deprecated: Use MsgCardArtworkAddResponse.ProtoReflect.Descriptor instead. +func (*MsgCardArtworkAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{15} } -type MsgCardSchemeBuy struct { +type MsgCardArtistChange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Bid *v1beta1.Coin `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid,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"` + Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,omitempty"` } -func (x *MsgCardSchemeBuy) Reset() { - *x = MsgCardSchemeBuy{} +func (x *MsgCardArtistChange) Reset() { + *x = MsgCardArtistChange{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[4] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSchemeBuy) String() string { +func (x *MsgCardArtistChange) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSchemeBuy) ProtoMessage() {} +func (*MsgCardArtistChange) ProtoMessage() {} -// Deprecated: Use MsgCardSchemeBuy.ProtoReflect.Descriptor instead. -func (*MsgCardSchemeBuy) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{4} +// Deprecated: Use MsgCardArtistChange.ProtoReflect.Descriptor instead. +func (*MsgCardArtistChange) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{16} } -func (x *MsgCardSchemeBuy) GetCreator() string { +func (x *MsgCardArtistChange) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardSchemeBuy) GetBid() *v1beta1.Coin { +func (x *MsgCardArtistChange) GetCardId() uint64 { if x != nil { - return x.Bid + return x.CardId } - return nil + return 0 } -type MsgCardSchemeBuyResponse struct { +func (x *MsgCardArtistChange) GetArtist() string { + if x != nil { + return x.Artist + } + return "" +} + +type MsgCardArtistChangeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields +} - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +func (x *MsgCardArtistChangeResponse) Reset() { + *x = MsgCardArtistChangeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (x *MsgCardSchemeBuyResponse) Reset() { - *x = MsgCardSchemeBuyResponse{} +func (x *MsgCardArtistChangeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardArtistChangeResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardArtistChangeResponse.ProtoReflect.Descriptor instead. +func (*MsgCardArtistChangeResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{17} +} + +type MsgCouncilRegister struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` +} + +func (x *MsgCouncilRegister) Reset() { + *x = MsgCouncilRegister{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[5] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSchemeBuyResponse) String() string { +func (x *MsgCouncilRegister) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSchemeBuyResponse) ProtoMessage() {} +func (*MsgCouncilRegister) ProtoMessage() {} -// Deprecated: Use MsgCardSchemeBuyResponse.ProtoReflect.Descriptor instead. -func (*MsgCardSchemeBuyResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{5} +// Deprecated: Use MsgCouncilRegister.ProtoReflect.Descriptor instead. +func (*MsgCouncilRegister) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{18} } -func (x *MsgCardSchemeBuyResponse) GetCardId() uint64 { +func (x *MsgCouncilRegister) GetCreator() string { if x != nil { - return x.CardId + return x.Creator } - return 0 + return "" } -type MsgCardSaveContent struct { +type MsgCouncilRegisterResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields +} - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,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 (x *MsgCouncilRegisterResponse) Reset() { + *x = MsgCouncilRegisterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (x *MsgCardSaveContent) Reset() { - *x = MsgCardSaveContent{} +func (x *MsgCouncilRegisterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilRegisterResponse) ProtoMessage() {} + +// Deprecated: Use MsgCouncilRegisterResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilRegisterResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{19} +} + +type MsgCouncilDeregister struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` +} + +func (x *MsgCouncilDeregister) Reset() { + *x = MsgCouncilDeregister{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[6] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSaveContent) String() string { +func (x *MsgCouncilDeregister) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSaveContent) ProtoMessage() {} +func (*MsgCouncilDeregister) ProtoMessage() {} -// Deprecated: Use MsgCardSaveContent.ProtoReflect.Descriptor instead. -func (*MsgCardSaveContent) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{6} +// Deprecated: Use MsgCouncilDeregister.ProtoReflect.Descriptor instead. +func (*MsgCouncilDeregister) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{20} } -func (x *MsgCardSaveContent) GetCreator() string { +func (x *MsgCouncilDeregister) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardSaveContent) GetCardId() uint64 { +type MsgCouncilDeregisterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCouncilDeregisterResponse) Reset() { + *x = MsgCouncilDeregisterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCouncilDeregisterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCouncilDeregisterResponse) ProtoMessage() {} + +// Deprecated: Use MsgCouncilDeregisterResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilDeregisterResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{21} +} + +type MsgMatchReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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=cardchain.cardchain.Outcome" json:"outcome,omitempty"` +} + +func (x *MsgMatchReport) Reset() { + *x = MsgMatchReport{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgMatchReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgMatchReport) ProtoMessage() {} + +// Deprecated: Use MsgMatchReport.ProtoReflect.Descriptor instead. +func (*MsgMatchReport) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{22} +} + +func (x *MsgMatchReport) GetCreator() string { if x != nil { - return x.CardId + return x.Creator } - return 0 + return "" } -func (x *MsgCardSaveContent) GetContent() []byte { +func (x *MsgMatchReport) GetMatchId() uint64 { if x != nil { - return x.Content + return x.MatchId } - return nil + return 0 } -func (x *MsgCardSaveContent) GetNotes() string { +func (x *MsgMatchReport) GetPlayedCardsA() []uint64 { if x != nil { - return x.Notes + return x.PlayedCardsA } - return "" + return nil } -func (x *MsgCardSaveContent) GetArtist() string { +func (x *MsgMatchReport) GetPlayedCardsB() []uint64 { if x != nil { - return x.Artist + return x.PlayedCardsB } - return "" + return nil } -func (x *MsgCardSaveContent) GetBalanceAnchor() bool { +func (x *MsgMatchReport) GetOutcome() Outcome { if x != nil { - return x.BalanceAnchor + return x.Outcome } - return false + return Outcome_AWon } -type MsgCardSaveContentResponse struct { +type MsgMatchReportResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgCardSaveContentResponse) Reset() { - *x = MsgCardSaveContentResponse{} +func (x *MsgMatchReportResponse) Reset() { + *x = MsgMatchReportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[7] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardSaveContentResponse) String() string { +func (x *MsgMatchReportResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardSaveContentResponse) ProtoMessage() {} - -// Deprecated: Use MsgCardSaveContentResponse.ProtoReflect.Descriptor instead. -func (*MsgCardSaveContentResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{7} -} +func (*MsgMatchReportResponse) ProtoMessage() {} -func (x *MsgCardSaveContentResponse) GetAirdropClaimed() bool { - if x != nil { - return x.AirdropClaimed - } - return false +// Deprecated: Use MsgMatchReportResponse.ProtoReflect.Descriptor instead. +func (*MsgMatchReportResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{23} } -type MsgCardVote struct { +type MsgCouncilCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Vote *SingleVote `protobuf:"bytes,2,opt,name=vote,proto3" json:"vote,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"` } -func (x *MsgCardVote) Reset() { - *x = MsgCardVote{} +func (x *MsgCouncilCreate) Reset() { + *x = MsgCouncilCreate{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[8] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardVote) String() string { +func (x *MsgCouncilCreate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardVote) ProtoMessage() {} +func (*MsgCouncilCreate) ProtoMessage() {} -// Deprecated: Use MsgCardVote.ProtoReflect.Descriptor instead. -func (*MsgCardVote) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{8} +// Deprecated: Use MsgCouncilCreate.ProtoReflect.Descriptor instead. +func (*MsgCouncilCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{24} } -func (x *MsgCardVote) GetCreator() string { +func (x *MsgCouncilCreate) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardVote) GetVote() *SingleVote { +func (x *MsgCouncilCreate) GetCardId() uint64 { if x != nil { - return x.Vote + return x.CardId } - return nil + return 0 } -type MsgCardVoteResponse struct { +type MsgCouncilCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgCardVoteResponse) Reset() { - *x = MsgCardVoteResponse{} +func (x *MsgCouncilCreateResponse) Reset() { + *x = MsgCouncilCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[9] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardVoteResponse) String() string { +func (x *MsgCouncilCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardVoteResponse) ProtoMessage() {} - -// Deprecated: Use MsgCardVoteResponse.ProtoReflect.Descriptor instead. -func (*MsgCardVoteResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{9} -} +func (*MsgCouncilCreateResponse) ProtoMessage() {} -func (x *MsgCardVoteResponse) GetAirdropClaimed() bool { - if x != nil { - return x.AirdropClaimed - } - return false +// Deprecated: Use MsgCouncilCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{25} } -type MsgCardTransfer struct { +type MsgMatchReporterAppoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` + Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"` } -func (x *MsgCardTransfer) Reset() { - *x = MsgCardTransfer{} +func (x *MsgMatchReporterAppoint) Reset() { + *x = MsgMatchReporterAppoint{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[10] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardTransfer) String() string { +func (x *MsgMatchReporterAppoint) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardTransfer) ProtoMessage() {} +func (*MsgMatchReporterAppoint) ProtoMessage() {} -// Deprecated: Use MsgCardTransfer.ProtoReflect.Descriptor instead. -func (*MsgCardTransfer) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{10} +// Deprecated: Use MsgMatchReporterAppoint.ProtoReflect.Descriptor instead. +func (*MsgMatchReporterAppoint) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{26} } -func (x *MsgCardTransfer) GetCreator() string { +func (x *MsgMatchReporterAppoint) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardTransfer) GetCardId() uint64 { - if x != nil { - return x.CardId - } - return 0 -} - -func (x *MsgCardTransfer) GetReceiver() string { +func (x *MsgMatchReporterAppoint) GetReporter() string { if x != nil { - return x.Receiver + return x.Reporter } return "" } -type MsgCardTransferResponse struct { +type MsgMatchReporterAppointResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCardTransferResponse) Reset() { - *x = MsgCardTransferResponse{} +func (x *MsgMatchReporterAppointResponse) Reset() { + *x = MsgMatchReporterAppointResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[11] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardTransferResponse) String() string { +func (x *MsgMatchReporterAppointResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardTransferResponse) ProtoMessage() {} +func (*MsgMatchReporterAppointResponse) ProtoMessage() {} -// Deprecated: Use MsgCardTransferResponse.ProtoReflect.Descriptor instead. -func (*MsgCardTransferResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{11} +// Deprecated: Use MsgMatchReporterAppointResponse.ProtoReflect.Descriptor instead. +func (*MsgMatchReporterAppointResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{27} } -type MsgCardDonate struct { +type MsgSetCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + 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"` + StoryWriter string `protobuf:"bytes,4,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` + Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` } -func (x *MsgCardDonate) Reset() { - *x = MsgCardDonate{} +func (x *MsgSetCreate) Reset() { + *x = MsgSetCreate{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[12] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardDonate) String() string { +func (x *MsgSetCreate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardDonate) ProtoMessage() {} +func (*MsgSetCreate) ProtoMessage() {} -// Deprecated: Use MsgCardDonate.ProtoReflect.Descriptor instead. -func (*MsgCardDonate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{12} +// Deprecated: Use MsgSetCreate.ProtoReflect.Descriptor instead. +func (*MsgSetCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{28} } -func (x *MsgCardDonate) GetCreator() string { +func (x *MsgSetCreate) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardDonate) GetCardId() uint64 { +func (x *MsgSetCreate) GetName() string { if x != nil { - return x.CardId + return x.Name } - return 0 + return "" } -func (x *MsgCardDonate) GetAmount() *v1beta1.Coin { +func (x *MsgSetCreate) GetArtist() string { if x != nil { - return x.Amount + return x.Artist + } + return "" +} + +func (x *MsgSetCreate) GetStoryWriter() string { + if x != nil { + return x.StoryWriter + } + return "" +} + +func (x *MsgSetCreate) GetContributors() []string { + if x != nil { + return x.Contributors } return nil } -type MsgCardDonateResponse struct { +type MsgSetCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCardDonateResponse) Reset() { - *x = MsgCardDonateResponse{} +func (x *MsgSetCreateResponse) Reset() { + *x = MsgSetCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[13] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardDonateResponse) String() string { +func (x *MsgSetCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardDonateResponse) ProtoMessage() {} +func (*MsgSetCreateResponse) ProtoMessage() {} -// Deprecated: Use MsgCardDonateResponse.ProtoReflect.Descriptor instead. -func (*MsgCardDonateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{13} +// Deprecated: Use MsgSetCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgSetCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{29} } -type MsgCardArtworkAdd struct { +type MsgSetCardAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` - FullArt bool `protobuf:"varint,4,opt,name=fullArt,proto3" json:"fullArt,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 (x *MsgCardArtworkAdd) Reset() { - *x = MsgCardArtworkAdd{} +func (x *MsgSetCardAdd) Reset() { + *x = MsgSetCardAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[14] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardArtworkAdd) String() string { +func (x *MsgSetCardAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardArtworkAdd) ProtoMessage() {} +func (*MsgSetCardAdd) ProtoMessage() {} -// Deprecated: Use MsgCardArtworkAdd.ProtoReflect.Descriptor instead. -func (*MsgCardArtworkAdd) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{14} +// Deprecated: Use MsgSetCardAdd.ProtoReflect.Descriptor instead. +func (*MsgSetCardAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{30} } -func (x *MsgCardArtworkAdd) GetCreator() string { +func (x *MsgSetCardAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardArtworkAdd) GetCardId() uint64 { +func (x *MsgSetCardAdd) GetSetId() uint64 { if x != nil { - return x.CardId + return x.SetId } return 0 } -func (x *MsgCardArtworkAdd) GetImage() []byte { - if x != nil { - return x.Image - } - return nil -} - -func (x *MsgCardArtworkAdd) GetFullArt() bool { +func (x *MsgSetCardAdd) GetCardId() uint64 { if x != nil { - return x.FullArt + return x.CardId } - return false + return 0 } -type MsgCardArtworkAddResponse struct { +type MsgSetCardAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCardArtworkAddResponse) Reset() { - *x = MsgCardArtworkAddResponse{} +func (x *MsgSetCardAddResponse) Reset() { + *x = MsgSetCardAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[15] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardArtworkAddResponse) String() string { +func (x *MsgSetCardAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardArtworkAddResponse) ProtoMessage() {} +func (*MsgSetCardAddResponse) ProtoMessage() {} -// Deprecated: Use MsgCardArtworkAddResponse.ProtoReflect.Descriptor instead. -func (*MsgCardArtworkAddResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{15} +// Deprecated: Use MsgSetCardAddResponse.ProtoReflect.Descriptor instead. +func (*MsgSetCardAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{31} } -type MsgCardArtistChange struct { +type MsgSetCardRemove struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,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 (x *MsgCardArtistChange) Reset() { - *x = MsgCardArtistChange{} +func (x *MsgSetCardRemove) Reset() { + *x = MsgSetCardRemove{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[16] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardArtistChange) String() string { +func (x *MsgSetCardRemove) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardArtistChange) ProtoMessage() {} +func (*MsgSetCardRemove) ProtoMessage() {} -// Deprecated: Use MsgCardArtistChange.ProtoReflect.Descriptor instead. -func (*MsgCardArtistChange) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{16} +// Deprecated: Use MsgSetCardRemove.ProtoReflect.Descriptor instead. +func (*MsgSetCardRemove) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{32} } -func (x *MsgCardArtistChange) GetCreator() string { +func (x *MsgSetCardRemove) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardArtistChange) GetCardId() uint64 { +func (x *MsgSetCardRemove) GetSetId() uint64 { if x != nil { - return x.CardId + return x.SetId } return 0 } -func (x *MsgCardArtistChange) GetArtist() string { +func (x *MsgSetCardRemove) GetCardId() uint64 { if x != nil { - return x.Artist + return x.CardId } - return "" + return 0 } -type MsgCardArtistChangeResponse struct { +type MsgSetCardRemoveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCardArtistChangeResponse) Reset() { - *x = MsgCardArtistChangeResponse{} +func (x *MsgSetCardRemoveResponse) Reset() { + *x = MsgSetCardRemoveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[17] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardArtistChangeResponse) String() string { +func (x *MsgSetCardRemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardArtistChangeResponse) ProtoMessage() {} +func (*MsgSetCardRemoveResponse) ProtoMessage() {} -// Deprecated: Use MsgCardArtistChangeResponse.ProtoReflect.Descriptor instead. -func (*MsgCardArtistChangeResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{17} +// Deprecated: Use MsgSetCardRemoveResponse.ProtoReflect.Descriptor instead. +func (*MsgSetCardRemoveResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{33} } -type MsgCouncilRegister struct { +type MsgSetContributorAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields 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 (x *MsgCouncilRegister) Reset() { - *x = MsgCouncilRegister{} +func (x *MsgSetContributorAdd) Reset() { + *x = MsgSetContributorAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[18] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilRegister) String() string { +func (x *MsgSetContributorAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilRegister) ProtoMessage() {} +func (*MsgSetContributorAdd) ProtoMessage() {} -// Deprecated: Use MsgCouncilRegister.ProtoReflect.Descriptor instead. -func (*MsgCouncilRegister) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{18} +// Deprecated: Use MsgSetContributorAdd.ProtoReflect.Descriptor instead. +func (*MsgSetContributorAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{34} } -func (x *MsgCouncilRegister) GetCreator() string { +func (x *MsgSetContributorAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -type MsgCouncilRegisterResponse struct { +func (x *MsgSetContributorAdd) GetSetId() uint64 { + if x != nil { + return x.SetId + } + return 0 +} + +func (x *MsgSetContributorAdd) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +type MsgSetContributorAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilRegisterResponse) Reset() { - *x = MsgCouncilRegisterResponse{} +func (x *MsgSetContributorAddResponse) Reset() { + *x = MsgSetContributorAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[19] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilRegisterResponse) String() string { +func (x *MsgSetContributorAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilRegisterResponse) ProtoMessage() {} +func (*MsgSetContributorAddResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilRegisterResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilRegisterResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{19} +// Deprecated: Use MsgSetContributorAddResponse.ProtoReflect.Descriptor instead. +func (*MsgSetContributorAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{35} } -type MsgCouncilDeregister struct { +type MsgSetContributorRemove struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields 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 (x *MsgCouncilDeregister) Reset() { - *x = MsgCouncilDeregister{} +func (x *MsgSetContributorRemove) Reset() { + *x = MsgSetContributorRemove{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[20] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilDeregister) String() string { +func (x *MsgSetContributorRemove) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilDeregister) ProtoMessage() {} +func (*MsgSetContributorRemove) ProtoMessage() {} -// Deprecated: Use MsgCouncilDeregister.ProtoReflect.Descriptor instead. -func (*MsgCouncilDeregister) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{20} +// Deprecated: Use MsgSetContributorRemove.ProtoReflect.Descriptor instead. +func (*MsgSetContributorRemove) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{36} } -func (x *MsgCouncilDeregister) GetCreator() string { +func (x *MsgSetContributorRemove) GetCreator() string { if x != nil { return x.Creator } return "" } -type MsgCouncilDeregisterResponse struct { +func (x *MsgSetContributorRemove) GetSetId() uint64 { + if x != nil { + return x.SetId + } + return 0 +} + +func (x *MsgSetContributorRemove) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +type MsgSetContributorRemoveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilDeregisterResponse) Reset() { - *x = MsgCouncilDeregisterResponse{} +func (x *MsgSetContributorRemoveResponse) Reset() { + *x = MsgSetContributorRemoveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[21] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilDeregisterResponse) String() string { +func (x *MsgSetContributorRemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilDeregisterResponse) ProtoMessage() {} +func (*MsgSetContributorRemoveResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilDeregisterResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilDeregisterResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{21} +// Deprecated: Use MsgSetContributorRemoveResponse.ProtoReflect.Descriptor instead. +func (*MsgSetContributorRemoveResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{37} } -type MsgMatchReport struct { +type MsgSetFinalize struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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=cardchain.cardchain.Outcome" json:"outcome,omitempty"` + 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 (x *MsgMatchReport) Reset() { - *x = MsgMatchReport{} +func (x *MsgSetFinalize) Reset() { + *x = MsgSetFinalize{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[22] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchReport) String() string { +func (x *MsgSetFinalize) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchReport) ProtoMessage() {} +func (*MsgSetFinalize) ProtoMessage() {} -// Deprecated: Use MsgMatchReport.ProtoReflect.Descriptor instead. -func (*MsgMatchReport) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{22} +// Deprecated: Use MsgSetFinalize.ProtoReflect.Descriptor instead. +func (*MsgSetFinalize) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{38} } -func (x *MsgMatchReport) GetCreator() string { +func (x *MsgSetFinalize) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgMatchReport) GetMatchId() uint64 { +func (x *MsgSetFinalize) GetSetId() uint64 { if x != nil { - return x.MatchId + return x.SetId } return 0 } -func (x *MsgMatchReport) GetPlayedCardsA() []uint64 { - if x != nil { - return x.PlayedCardsA - } - return nil -} - -func (x *MsgMatchReport) GetPlayedCardsB() []uint64 { - if x != nil { - return x.PlayedCardsB - } - return nil -} - -func (x *MsgMatchReport) GetOutcome() Outcome { - if x != nil { - return x.Outcome - } - return Outcome_AWon -} - -type MsgMatchReportResponse struct { +type MsgSetFinalizeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgMatchReportResponse) Reset() { - *x = MsgMatchReportResponse{} +func (x *MsgSetFinalizeResponse) Reset() { + *x = MsgSetFinalizeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[23] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchReportResponse) String() string { +func (x *MsgSetFinalizeResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchReportResponse) ProtoMessage() {} +func (*MsgSetFinalizeResponse) ProtoMessage() {} -// Deprecated: Use MsgMatchReportResponse.ProtoReflect.Descriptor instead. -func (*MsgMatchReportResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{23} +// Deprecated: Use MsgSetFinalizeResponse.ProtoReflect.Descriptor instead. +func (*MsgSetFinalizeResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{39} } -type MsgCouncilCreate struct { +type MsgSetArtworkAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields 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,2,opt,name=setId,proto3" json:"setId,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` } -func (x *MsgCouncilCreate) Reset() { - *x = MsgCouncilCreate{} +func (x *MsgSetArtworkAdd) Reset() { + *x = MsgSetArtworkAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[24] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilCreate) String() string { +func (x *MsgSetArtworkAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilCreate) ProtoMessage() {} +func (*MsgSetArtworkAdd) ProtoMessage() {} -// Deprecated: Use MsgCouncilCreate.ProtoReflect.Descriptor instead. -func (*MsgCouncilCreate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{24} +// Deprecated: Use MsgSetArtworkAdd.ProtoReflect.Descriptor instead. +func (*MsgSetArtworkAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{40} } -func (x *MsgCouncilCreate) GetCreator() string { +func (x *MsgSetArtworkAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCouncilCreate) GetCardId() uint64 { +func (x *MsgSetArtworkAdd) GetSetId() uint64 { if x != nil { - return x.CardId + return x.SetId } return 0 } -type MsgCouncilCreateResponse struct { +func (x *MsgSetArtworkAdd) GetImage() []byte { + if x != nil { + return x.Image + } + return nil +} + +type MsgSetArtworkAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilCreateResponse) Reset() { - *x = MsgCouncilCreateResponse{} +func (x *MsgSetArtworkAddResponse) Reset() { + *x = MsgSetArtworkAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[25] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilCreateResponse) String() string { +func (x *MsgSetArtworkAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilCreateResponse) ProtoMessage() {} +func (*MsgSetArtworkAddResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilCreateResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilCreateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{25} +// Deprecated: Use MsgSetArtworkAddResponse.ProtoReflect.Descriptor instead. +func (*MsgSetArtworkAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{41} } -type MsgMatchReporterAppoint struct { +type MsgSetStoryAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"` + 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 (x *MsgMatchReporterAppoint) Reset() { - *x = MsgMatchReporterAppoint{} +func (x *MsgSetStoryAdd) Reset() { + *x = MsgSetStoryAdd{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[26] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchReporterAppoint) String() string { +func (x *MsgSetStoryAdd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchReporterAppoint) ProtoMessage() {} +func (*MsgSetStoryAdd) ProtoMessage() {} -// Deprecated: Use MsgMatchReporterAppoint.ProtoReflect.Descriptor instead. -func (*MsgMatchReporterAppoint) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{26} +// Deprecated: Use MsgSetStoryAdd.ProtoReflect.Descriptor instead. +func (*MsgSetStoryAdd) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{42} } -func (x *MsgMatchReporterAppoint) GetCreator() string { +func (x *MsgSetStoryAdd) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgMatchReporterAppoint) GetReporter() string { +func (x *MsgSetStoryAdd) GetSetId() uint64 { if x != nil { - return x.Reporter + return x.SetId + } + return 0 +} + +func (x *MsgSetStoryAdd) GetStory() string { + if x != nil { + return x.Story } return "" } -type MsgMatchReporterAppointResponse struct { +type MsgSetStoryAddResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgMatchReporterAppointResponse) Reset() { - *x = MsgMatchReporterAppointResponse{} +func (x *MsgSetStoryAddResponse) Reset() { + *x = MsgSetStoryAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[27] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchReporterAppointResponse) String() string { +func (x *MsgSetStoryAddResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchReporterAppointResponse) ProtoMessage() {} +func (*MsgSetStoryAddResponse) ProtoMessage() {} -// Deprecated: Use MsgMatchReporterAppointResponse.ProtoReflect.Descriptor instead. -func (*MsgMatchReporterAppointResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{27} +// Deprecated: Use MsgSetStoryAddResponse.ProtoReflect.Descriptor instead. +func (*MsgSetStoryAddResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{43} } -type MsgSetCreate struct { +type MsgBoosterPackBuy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` - StoryWriter string `protobuf:"bytes,4,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` - Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` -} - -func (x *MsgSetCreate) Reset() { - *x = MsgSetCreate{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgSetCreate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgSetCreate) ProtoMessage() {} - -// Deprecated: Use MsgSetCreate.ProtoReflect.Descriptor instead. -func (*MsgSetCreate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{28} -} - -func (x *MsgSetCreate) GetCreator() string { - if x != nil { - return x.Creator - } - return "" + 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 (x *MsgSetCreate) GetName() string { - if x != nil { - return x.Name +func (x *MsgBoosterPackBuy) Reset() { + *x = MsgBoosterPackBuy{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *MsgSetCreate) GetArtist() string { - if x != nil { - return x.Artist - } - return "" +func (x *MsgBoosterPackBuy) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *MsgSetCreate) GetStoryWriter() string { +func (*MsgBoosterPackBuy) ProtoMessage() {} + +// Deprecated: Use MsgBoosterPackBuy.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackBuy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{44} +} + +func (x *MsgBoosterPackBuy) GetCreator() string { if x != nil { - return x.StoryWriter + return x.Creator } return "" } -func (x *MsgSetCreate) GetContributors() []string { +func (x *MsgBoosterPackBuy) GetSetId() uint64 { if x != nil { - return x.Contributors + return x.SetId } - return nil + return 0 } -type MsgSetCreateResponse struct { +type MsgBoosterPackBuyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgSetCreateResponse) Reset() { - *x = MsgSetCreateResponse{} +func (x *MsgBoosterPackBuyResponse) Reset() { + *x = MsgBoosterPackBuyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[29] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetCreateResponse) String() string { +func (x *MsgBoosterPackBuyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetCreateResponse) ProtoMessage() {} +func (*MsgBoosterPackBuyResponse) ProtoMessage() {} -// Deprecated: Use MsgSetCreateResponse.ProtoReflect.Descriptor instead. -func (*MsgSetCreateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{29} +// Deprecated: Use MsgBoosterPackBuyResponse.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackBuyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{45} } -type MsgSetCardAdd struct { +func (x *MsgBoosterPackBuyResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgSellOfferCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + Price *v1beta1.Coin `protobuf:"bytes,3,opt,name=price,proto3" json:"price,omitempty"` } -func (x *MsgSetCardAdd) Reset() { - *x = MsgSetCardAdd{} +func (x *MsgSellOfferCreate) Reset() { + *x = MsgSellOfferCreate{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[30] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetCardAdd) String() string { +func (x *MsgSellOfferCreate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetCardAdd) ProtoMessage() {} +func (*MsgSellOfferCreate) ProtoMessage() {} -// Deprecated: Use MsgSetCardAdd.ProtoReflect.Descriptor instead. -func (*MsgSetCardAdd) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{30} +// Deprecated: Use MsgSellOfferCreate.ProtoReflect.Descriptor instead. +func (*MsgSellOfferCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{46} } -func (x *MsgSetCardAdd) GetCreator() string { +func (x *MsgSellOfferCreate) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetCardAdd) GetSetId() uint64 { +func (x *MsgSellOfferCreate) GetCardId() uint64 { if x != nil { - return x.SetId + return x.CardId } return 0 } -func (x *MsgSetCardAdd) GetCardId() uint64 { +func (x *MsgSellOfferCreate) GetPrice() *v1beta1.Coin { if x != nil { - return x.CardId + return x.Price } - return 0 + return nil } -type MsgSetCardAddResponse struct { +type MsgSellOfferCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetCardAddResponse) Reset() { - *x = MsgSetCardAddResponse{} +func (x *MsgSellOfferCreateResponse) Reset() { + *x = MsgSellOfferCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[31] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetCardAddResponse) String() string { +func (x *MsgSellOfferCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetCardAddResponse) ProtoMessage() {} +func (*MsgSellOfferCreateResponse) ProtoMessage() {} -// Deprecated: Use MsgSetCardAddResponse.ProtoReflect.Descriptor instead. -func (*MsgSetCardAddResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{31} +// Deprecated: Use MsgSellOfferCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgSellOfferCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{47} } -type MsgSetCardRemove struct { +type MsgSellOfferBuy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` } -func (x *MsgSetCardRemove) Reset() { - *x = MsgSetCardRemove{} +func (x *MsgSellOfferBuy) Reset() { + *x = MsgSellOfferBuy{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[32] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetCardRemove) String() string { +func (x *MsgSellOfferBuy) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetCardRemove) ProtoMessage() {} +func (*MsgSellOfferBuy) ProtoMessage() {} -// Deprecated: Use MsgSetCardRemove.ProtoReflect.Descriptor instead. -func (*MsgSetCardRemove) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{32} +// Deprecated: Use MsgSellOfferBuy.ProtoReflect.Descriptor instead. +func (*MsgSellOfferBuy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{48} } -func (x *MsgSetCardRemove) GetCreator() string { +func (x *MsgSellOfferBuy) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetCardRemove) GetSetId() uint64 { - if x != nil { - return x.SetId - } - return 0 -} - -func (x *MsgSetCardRemove) GetCardId() uint64 { +func (x *MsgSellOfferBuy) GetSellOfferId() uint64 { if x != nil { - return x.CardId + return x.SellOfferId } return 0 } -type MsgSetCardRemoveResponse struct { +type MsgSellOfferBuyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetCardRemoveResponse) Reset() { - *x = MsgSetCardRemoveResponse{} +func (x *MsgSellOfferBuyResponse) Reset() { + *x = MsgSellOfferBuyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[33] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetCardRemoveResponse) String() string { +func (x *MsgSellOfferBuyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetCardRemoveResponse) ProtoMessage() {} +func (*MsgSellOfferBuyResponse) ProtoMessage() {} -// Deprecated: Use MsgSetCardRemoveResponse.ProtoReflect.Descriptor instead. -func (*MsgSetCardRemoveResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{33} +// Deprecated: Use MsgSellOfferBuyResponse.ProtoReflect.Descriptor instead. +func (*MsgSellOfferBuyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{49} } -type MsgSetContributorAdd struct { +type MsgSellOfferRemove struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` } -func (x *MsgSetContributorAdd) Reset() { - *x = MsgSetContributorAdd{} +func (x *MsgSellOfferRemove) Reset() { + *x = MsgSellOfferRemove{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[34] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetContributorAdd) String() string { +func (x *MsgSellOfferRemove) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetContributorAdd) ProtoMessage() {} +func (*MsgSellOfferRemove) ProtoMessage() {} -// Deprecated: Use MsgSetContributorAdd.ProtoReflect.Descriptor instead. -func (*MsgSetContributorAdd) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{34} +// Deprecated: Use MsgSellOfferRemove.ProtoReflect.Descriptor instead. +func (*MsgSellOfferRemove) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{50} } -func (x *MsgSetContributorAdd) GetCreator() string { +func (x *MsgSellOfferRemove) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetContributorAdd) GetSetId() uint64 { +func (x *MsgSellOfferRemove) GetSellOfferId() uint64 { if x != nil { - return x.SetId + return x.SellOfferId } return 0 } -func (x *MsgSetContributorAdd) GetUser() string { - if x != nil { - return x.User - } - return "" -} - -type MsgSetContributorAddResponse struct { +type MsgSellOfferRemoveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetContributorAddResponse) Reset() { - *x = MsgSetContributorAddResponse{} +func (x *MsgSellOfferRemoveResponse) Reset() { + *x = MsgSellOfferRemoveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[35] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetContributorAddResponse) String() string { +func (x *MsgSellOfferRemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetContributorAddResponse) ProtoMessage() {} +func (*MsgSellOfferRemoveResponse) ProtoMessage() {} -// Deprecated: Use MsgSetContributorAddResponse.ProtoReflect.Descriptor instead. -func (*MsgSetContributorAddResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{35} +// Deprecated: Use MsgSellOfferRemoveResponse.ProtoReflect.Descriptor instead. +func (*MsgSellOfferRemoveResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{51} } -type MsgSetContributorRemove struct { +type MsgCardRaritySet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + 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=cardchain.cardchain.CardRarity" json:"rarity,omitempty"` } -func (x *MsgSetContributorRemove) Reset() { - *x = MsgSetContributorRemove{} +func (x *MsgCardRaritySet) Reset() { + *x = MsgCardRaritySet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[36] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetContributorRemove) String() string { +func (x *MsgCardRaritySet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetContributorRemove) ProtoMessage() {} +func (*MsgCardRaritySet) ProtoMessage() {} -// Deprecated: Use MsgSetContributorRemove.ProtoReflect.Descriptor instead. -func (*MsgSetContributorRemove) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{36} +// Deprecated: Use MsgCardRaritySet.ProtoReflect.Descriptor instead. +func (*MsgCardRaritySet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{52} } -func (x *MsgSetContributorRemove) GetCreator() string { +func (x *MsgCardRaritySet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetContributorRemove) GetSetId() uint64 { +func (x *MsgCardRaritySet) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +func (x *MsgCardRaritySet) GetSetId() uint64 { if x != nil { return x.SetId } return 0 } -func (x *MsgSetContributorRemove) GetUser() string { +func (x *MsgCardRaritySet) GetRarity() CardRarity { if x != nil { - return x.User + return x.Rarity } - return "" + return CardRarity_common } -type MsgSetContributorRemoveResponse struct { +type MsgCardRaritySetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetContributorRemoveResponse) Reset() { - *x = MsgSetContributorRemoveResponse{} +func (x *MsgCardRaritySetResponse) Reset() { + *x = MsgCardRaritySetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[37] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetContributorRemoveResponse) String() string { +func (x *MsgCardRaritySetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetContributorRemoveResponse) ProtoMessage() {} +func (*MsgCardRaritySetResponse) ProtoMessage() {} -// Deprecated: Use MsgSetContributorRemoveResponse.ProtoReflect.Descriptor instead. -func (*MsgSetContributorRemoveResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{37} +// Deprecated: Use MsgCardRaritySetResponse.ProtoReflect.Descriptor instead. +func (*MsgCardRaritySetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{53} } -type MsgSetFinalize struct { +type MsgCouncilResponseCommit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` + Reponse string `protobuf:"bytes,3,opt,name=reponse,proto3" json:"reponse,omitempty"` + Suggestion string `protobuf:"bytes,4,opt,name=suggestion,proto3" json:"suggestion,omitempty"` } -func (x *MsgSetFinalize) Reset() { - *x = MsgSetFinalize{} +func (x *MsgCouncilResponseCommit) Reset() { + *x = MsgCouncilResponseCommit{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[38] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetFinalize) String() string { +func (x *MsgCouncilResponseCommit) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetFinalize) ProtoMessage() {} +func (*MsgCouncilResponseCommit) ProtoMessage() {} -// Deprecated: Use MsgSetFinalize.ProtoReflect.Descriptor instead. -func (*MsgSetFinalize) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{38} +// Deprecated: Use MsgCouncilResponseCommit.ProtoReflect.Descriptor instead. +func (*MsgCouncilResponseCommit) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{54} } -func (x *MsgSetFinalize) GetCreator() string { +func (x *MsgCouncilResponseCommit) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetFinalize) GetSetId() uint64 { +func (x *MsgCouncilResponseCommit) GetCouncilId() uint64 { if x != nil { - return x.SetId + return x.CouncilId } return 0 } -type MsgSetFinalizeResponse struct { +func (x *MsgCouncilResponseCommit) GetReponse() string { + if x != nil { + return x.Reponse + } + return "" +} + +func (x *MsgCouncilResponseCommit) GetSuggestion() string { + if x != nil { + return x.Suggestion + } + return "" +} + +type MsgCouncilResponseCommitResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetFinalizeResponse) Reset() { - *x = MsgSetFinalizeResponse{} +func (x *MsgCouncilResponseCommitResponse) Reset() { + *x = MsgCouncilResponseCommitResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[39] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetFinalizeResponse) String() string { +func (x *MsgCouncilResponseCommitResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetFinalizeResponse) ProtoMessage() {} +func (*MsgCouncilResponseCommitResponse) ProtoMessage() {} -// Deprecated: Use MsgSetFinalizeResponse.ProtoReflect.Descriptor instead. -func (*MsgSetFinalizeResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{39} +// Deprecated: Use MsgCouncilResponseCommitResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilResponseCommitResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{55} } -type MsgSetArtworkAdd struct { +type MsgCouncilResponseReveal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` + Reponse Response `protobuf:"varint,3,opt,name=reponse,proto3,enum=cardchain.cardchain.Response" json:"reponse,omitempty"` + Secret string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` } -func (x *MsgSetArtworkAdd) Reset() { - *x = MsgSetArtworkAdd{} +func (x *MsgCouncilResponseReveal) Reset() { + *x = MsgCouncilResponseReveal{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[40] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetArtworkAdd) String() string { +func (x *MsgCouncilResponseReveal) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetArtworkAdd) ProtoMessage() {} +func (*MsgCouncilResponseReveal) ProtoMessage() {} -// Deprecated: Use MsgSetArtworkAdd.ProtoReflect.Descriptor instead. -func (*MsgSetArtworkAdd) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{40} +// Deprecated: Use MsgCouncilResponseReveal.ProtoReflect.Descriptor instead. +func (*MsgCouncilResponseReveal) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{56} } -func (x *MsgSetArtworkAdd) GetCreator() string { +func (x *MsgCouncilResponseReveal) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetArtworkAdd) GetSetId() uint64 { +func (x *MsgCouncilResponseReveal) GetCouncilId() uint64 { if x != nil { - return x.SetId + return x.CouncilId } return 0 } -func (x *MsgSetArtworkAdd) GetImage() []byte { +func (x *MsgCouncilResponseReveal) GetReponse() Response { if x != nil { - return x.Image + return x.Reponse } - return nil + return Response_Yes } -type MsgSetArtworkAddResponse struct { +func (x *MsgCouncilResponseReveal) GetSecret() string { + if x != nil { + return x.Secret + } + return "" +} + +type MsgCouncilResponseRevealResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetArtworkAddResponse) Reset() { - *x = MsgSetArtworkAddResponse{} +func (x *MsgCouncilResponseRevealResponse) Reset() { + *x = MsgCouncilResponseRevealResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[41] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetArtworkAddResponse) String() string { +func (x *MsgCouncilResponseRevealResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetArtworkAddResponse) ProtoMessage() {} +func (*MsgCouncilResponseRevealResponse) ProtoMessage() {} -// Deprecated: Use MsgSetArtworkAddResponse.ProtoReflect.Descriptor instead. -func (*MsgSetArtworkAddResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{41} +// Deprecated: Use MsgCouncilResponseRevealResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilResponseRevealResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{57} } -type MsgSetStoryAdd struct { +type MsgCouncilRestart struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` } -func (x *MsgSetStoryAdd) Reset() { - *x = MsgSetStoryAdd{} +func (x *MsgCouncilRestart) Reset() { + *x = MsgCouncilRestart{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[42] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetStoryAdd) String() string { +func (x *MsgCouncilRestart) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetStoryAdd) ProtoMessage() {} +func (*MsgCouncilRestart) ProtoMessage() {} -// Deprecated: Use MsgSetStoryAdd.ProtoReflect.Descriptor instead. -func (*MsgSetStoryAdd) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{42} +// Deprecated: Use MsgCouncilRestart.ProtoReflect.Descriptor instead. +func (*MsgCouncilRestart) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{58} } -func (x *MsgSetStoryAdd) GetCreator() string { +func (x *MsgCouncilRestart) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetStoryAdd) GetSetId() uint64 { +func (x *MsgCouncilRestart) GetCouncilId() uint64 { if x != nil { - return x.SetId + return x.CouncilId } return 0 } -func (x *MsgSetStoryAdd) GetStory() string { - if x != nil { - return x.Story - } - return "" -} - -type MsgSetStoryAddResponse struct { +type MsgCouncilRestartResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetStoryAddResponse) Reset() { - *x = MsgSetStoryAddResponse{} +func (x *MsgCouncilRestartResponse) Reset() { + *x = MsgCouncilRestartResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[43] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetStoryAddResponse) String() string { +func (x *MsgCouncilRestartResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetStoryAddResponse) ProtoMessage() {} +func (*MsgCouncilRestartResponse) ProtoMessage() {} -// Deprecated: Use MsgSetStoryAddResponse.ProtoReflect.Descriptor instead. -func (*MsgSetStoryAddResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{43} +// Deprecated: Use MsgCouncilRestartResponse.ProtoReflect.Descriptor instead. +func (*MsgCouncilRestartResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{59} } -type MsgBoosterPackBuy struct { +type MsgMatchConfirm struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,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=cardchain.cardchain.Outcome" json:"outcome,omitempty"` + VotedCards []*SingleVote `protobuf:"bytes,4,rep,name=votedCards,proto3" json:"votedCards,omitempty"` } -func (x *MsgBoosterPackBuy) Reset() { - *x = MsgBoosterPackBuy{} +func (x *MsgMatchConfirm) Reset() { + *x = MsgMatchConfirm{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[44] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgBoosterPackBuy) String() string { +func (x *MsgMatchConfirm) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgBoosterPackBuy) ProtoMessage() {} +func (*MsgMatchConfirm) ProtoMessage() {} -// Deprecated: Use MsgBoosterPackBuy.ProtoReflect.Descriptor instead. -func (*MsgBoosterPackBuy) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{44} +// Deprecated: Use MsgMatchConfirm.ProtoReflect.Descriptor instead. +func (*MsgMatchConfirm) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{60} } -func (x *MsgBoosterPackBuy) GetCreator() string { +func (x *MsgMatchConfirm) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgBoosterPackBuy) GetSetId() uint64 { +func (x *MsgMatchConfirm) GetMatchId() uint64 { if x != nil { - return x.SetId + return x.MatchId } return 0 } -type MsgBoosterPackBuyResponse struct { +func (x *MsgMatchConfirm) GetOutcome() Outcome { + if x != nil { + return x.Outcome + } + return Outcome_AWon +} + +func (x *MsgMatchConfirm) GetVotedCards() []*SingleVote { + if x != nil { + return x.VotedCards + } + return nil +} + +type MsgMatchConfirmResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } - -func (x *MsgBoosterPackBuyResponse) Reset() { - *x = MsgBoosterPackBuyResponse{} + +func (x *MsgMatchConfirmResponse) Reset() { + *x = MsgMatchConfirmResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[45] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgBoosterPackBuyResponse) String() string { +func (x *MsgMatchConfirmResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgBoosterPackBuyResponse) ProtoMessage() {} - -// Deprecated: Use MsgBoosterPackBuyResponse.ProtoReflect.Descriptor instead. -func (*MsgBoosterPackBuyResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{45} -} +func (*MsgMatchConfirmResponse) ProtoMessage() {} -func (x *MsgBoosterPackBuyResponse) GetAirdropClaimed() bool { - if x != nil { - return x.AirdropClaimed - } - return false +// Deprecated: Use MsgMatchConfirmResponse.ProtoReflect.Descriptor instead. +func (*MsgMatchConfirmResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{61} } -type MsgSellOfferCreate struct { +type MsgProfileCardSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Price *v1beta1.Coin `protobuf:"bytes,3,opt,name=price,proto3" json:"price,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"` } -func (x *MsgSellOfferCreate) Reset() { - *x = MsgSellOfferCreate{} +func (x *MsgProfileCardSet) Reset() { + *x = MsgProfileCardSet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[46] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferCreate) String() string { +func (x *MsgProfileCardSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferCreate) ProtoMessage() {} +func (*MsgProfileCardSet) ProtoMessage() {} -// Deprecated: Use MsgSellOfferCreate.ProtoReflect.Descriptor instead. -func (*MsgSellOfferCreate) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{46} +// Deprecated: Use MsgProfileCardSet.ProtoReflect.Descriptor instead. +func (*MsgProfileCardSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{62} } -func (x *MsgSellOfferCreate) GetCreator() string { +func (x *MsgProfileCardSet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSellOfferCreate) GetCardId() uint64 { +func (x *MsgProfileCardSet) GetCardId() uint64 { if x != nil { return x.CardId } return 0 } -func (x *MsgSellOfferCreate) GetPrice() *v1beta1.Coin { - if x != nil { - return x.Price - } - return nil -} - -type MsgSellOfferCreateResponse struct { +type MsgProfileCardSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSellOfferCreateResponse) Reset() { - *x = MsgSellOfferCreateResponse{} +func (x *MsgProfileCardSetResponse) Reset() { + *x = MsgProfileCardSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[47] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferCreateResponse) String() string { +func (x *MsgProfileCardSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferCreateResponse) ProtoMessage() {} +func (*MsgProfileCardSetResponse) ProtoMessage() {} -// Deprecated: Use MsgSellOfferCreateResponse.ProtoReflect.Descriptor instead. -func (*MsgSellOfferCreateResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{47} +// Deprecated: Use MsgProfileCardSetResponse.ProtoReflect.Descriptor instead. +func (*MsgProfileCardSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{63} } -type MsgSellOfferBuy struct { +type MsgProfileWebsiteSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Website string `protobuf:"bytes,2,opt,name=website,proto3" json:"website,omitempty"` } -func (x *MsgSellOfferBuy) Reset() { - *x = MsgSellOfferBuy{} +func (x *MsgProfileWebsiteSet) Reset() { + *x = MsgProfileWebsiteSet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[48] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferBuy) String() string { +func (x *MsgProfileWebsiteSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferBuy) ProtoMessage() {} +func (*MsgProfileWebsiteSet) ProtoMessage() {} -// Deprecated: Use MsgSellOfferBuy.ProtoReflect.Descriptor instead. -func (*MsgSellOfferBuy) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{48} +// Deprecated: Use MsgProfileWebsiteSet.ProtoReflect.Descriptor instead. +func (*MsgProfileWebsiteSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{64} } -func (x *MsgSellOfferBuy) GetCreator() string { +func (x *MsgProfileWebsiteSet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSellOfferBuy) GetSellOfferId() uint64 { +func (x *MsgProfileWebsiteSet) GetWebsite() string { if x != nil { - return x.SellOfferId + return x.Website } - return 0 + return "" } -type MsgSellOfferBuyResponse struct { +type MsgProfileWebsiteSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSellOfferBuyResponse) Reset() { - *x = MsgSellOfferBuyResponse{} +func (x *MsgProfileWebsiteSetResponse) Reset() { + *x = MsgProfileWebsiteSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[49] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferBuyResponse) String() string { +func (x *MsgProfileWebsiteSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferBuyResponse) ProtoMessage() {} +func (*MsgProfileWebsiteSetResponse) ProtoMessage() {} -// Deprecated: Use MsgSellOfferBuyResponse.ProtoReflect.Descriptor instead. -func (*MsgSellOfferBuyResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{49} +// Deprecated: Use MsgProfileWebsiteSetResponse.ProtoReflect.Descriptor instead. +func (*MsgProfileWebsiteSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{65} } -type MsgSellOfferRemove struct { +type MsgProfileBioSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - SellOfferId uint64 `protobuf:"varint,2,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Bio string `protobuf:"bytes,2,opt,name=bio,proto3" json:"bio,omitempty"` } -func (x *MsgSellOfferRemove) Reset() { - *x = MsgSellOfferRemove{} +func (x *MsgProfileBioSet) Reset() { + *x = MsgProfileBioSet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[50] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferRemove) String() string { +func (x *MsgProfileBioSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferRemove) ProtoMessage() {} +func (*MsgProfileBioSet) ProtoMessage() {} -// Deprecated: Use MsgSellOfferRemove.ProtoReflect.Descriptor instead. -func (*MsgSellOfferRemove) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{50} +// Deprecated: Use MsgProfileBioSet.ProtoReflect.Descriptor instead. +func (*MsgProfileBioSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{66} } -func (x *MsgSellOfferRemove) GetCreator() string { +func (x *MsgProfileBioSet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSellOfferRemove) GetSellOfferId() uint64 { +func (x *MsgProfileBioSet) GetBio() string { if x != nil { - return x.SellOfferId + return x.Bio } - return 0 + return "" } -type MsgSellOfferRemoveResponse struct { +type MsgProfileBioSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSellOfferRemoveResponse) Reset() { - *x = MsgSellOfferRemoveResponse{} +func (x *MsgProfileBioSetResponse) Reset() { + *x = MsgProfileBioSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[51] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSellOfferRemoveResponse) String() string { +func (x *MsgProfileBioSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSellOfferRemoveResponse) ProtoMessage() {} +func (*MsgProfileBioSetResponse) ProtoMessage() {} -// Deprecated: Use MsgSellOfferRemoveResponse.ProtoReflect.Descriptor instead. -func (*MsgSellOfferRemoveResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{51} +// Deprecated: Use MsgProfileBioSetResponse.ProtoReflect.Descriptor instead. +func (*MsgProfileBioSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{67} } -type MsgCardRaritySet struct { +type MsgBoosterPackOpen struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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=cardchain.cardchain.CardRarity" json:"rarity,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + BoosterPackId uint64 `protobuf:"varint,2,opt,name=boosterPackId,proto3" json:"boosterPackId,omitempty"` } -func (x *MsgCardRaritySet) Reset() { - *x = MsgCardRaritySet{} +func (x *MsgBoosterPackOpen) Reset() { + *x = MsgBoosterPackOpen{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[52] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardRaritySet) String() string { +func (x *MsgBoosterPackOpen) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardRaritySet) ProtoMessage() {} +func (*MsgBoosterPackOpen) ProtoMessage() {} -// Deprecated: Use MsgCardRaritySet.ProtoReflect.Descriptor instead. -func (*MsgCardRaritySet) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{52} +// Deprecated: Use MsgBoosterPackOpen.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackOpen) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{68} } -func (x *MsgCardRaritySet) GetCreator() string { +func (x *MsgBoosterPackOpen) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardRaritySet) GetCardId() uint64 { - if x != nil { - return x.CardId - } - return 0 -} - -func (x *MsgCardRaritySet) GetSetId() uint64 { +func (x *MsgBoosterPackOpen) GetBoosterPackId() uint64 { if x != nil { - return x.SetId + return x.BoosterPackId } return 0 } -func (x *MsgCardRaritySet) GetRarity() CardRarity { - if x != nil { - return x.Rarity - } - return CardRarity_common -} - -type MsgCardRaritySetResponse struct { +type MsgBoosterPackOpenResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + CardIds []uint64 `protobuf:"varint,1,rep,packed,name=cardIds,proto3" json:"cardIds,omitempty"` } -func (x *MsgCardRaritySetResponse) Reset() { - *x = MsgCardRaritySetResponse{} +func (x *MsgBoosterPackOpenResponse) Reset() { + *x = MsgBoosterPackOpenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[53] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardRaritySetResponse) String() string { +func (x *MsgBoosterPackOpenResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardRaritySetResponse) ProtoMessage() {} +func (*MsgBoosterPackOpenResponse) ProtoMessage() {} -// Deprecated: Use MsgCardRaritySetResponse.ProtoReflect.Descriptor instead. -func (*MsgCardRaritySetResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{53} +// Deprecated: Use MsgBoosterPackOpenResponse.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackOpenResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{69} } -type MsgCouncilResponseCommit struct { +func (x *MsgBoosterPackOpenResponse) GetCardIds() []uint64 { + if x != nil { + return x.CardIds + } + return nil +} + +type MsgBoosterPackTransfer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` - Reponse string `protobuf:"bytes,3,opt,name=reponse,proto3" json:"reponse,omitempty"` - Suggestion string `protobuf:"bytes,4,opt,name=suggestion,proto3" json:"suggestion,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + BoosterPackId uint64 `protobuf:"varint,2,opt,name=boosterPackId,proto3" json:"boosterPackId,omitempty"` + Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` } -func (x *MsgCouncilResponseCommit) Reset() { - *x = MsgCouncilResponseCommit{} +func (x *MsgBoosterPackTransfer) Reset() { + *x = MsgBoosterPackTransfer{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[54] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilResponseCommit) String() string { +func (x *MsgBoosterPackTransfer) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilResponseCommit) ProtoMessage() {} +func (*MsgBoosterPackTransfer) ProtoMessage() {} -// Deprecated: Use MsgCouncilResponseCommit.ProtoReflect.Descriptor instead. -func (*MsgCouncilResponseCommit) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{54} +// Deprecated: Use MsgBoosterPackTransfer.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackTransfer) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{70} } -func (x *MsgCouncilResponseCommit) GetCreator() string { +func (x *MsgBoosterPackTransfer) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCouncilResponseCommit) GetCouncilId() uint64 { +func (x *MsgBoosterPackTransfer) GetBoosterPackId() uint64 { if x != nil { - return x.CouncilId + return x.BoosterPackId } return 0 } -func (x *MsgCouncilResponseCommit) GetReponse() string { - if x != nil { - return x.Reponse - } - return "" -} - -func (x *MsgCouncilResponseCommit) GetSuggestion() string { +func (x *MsgBoosterPackTransfer) GetReceiver() string { if x != nil { - return x.Suggestion + return x.Receiver } return "" } -type MsgCouncilResponseCommitResponse struct { +type MsgBoosterPackTransferResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilResponseCommitResponse) Reset() { - *x = MsgCouncilResponseCommitResponse{} +func (x *MsgBoosterPackTransferResponse) Reset() { + *x = MsgBoosterPackTransferResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[55] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilResponseCommitResponse) String() string { +func (x *MsgBoosterPackTransferResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilResponseCommitResponse) ProtoMessage() {} +func (*MsgBoosterPackTransferResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilResponseCommitResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilResponseCommitResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{55} +// Deprecated: Use MsgBoosterPackTransferResponse.ProtoReflect.Descriptor instead. +func (*MsgBoosterPackTransferResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{71} } -type MsgCouncilResponseReveal struct { +type MsgSetStoryWriterSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` - Reponse Response `protobuf:"varint,3,opt,name=reponse,proto3,enum=cardchain.cardchain.Response" json:"reponse,omitempty"` - Secret string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` + 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 (x *MsgCouncilResponseReveal) Reset() { - *x = MsgCouncilResponseReveal{} +func (x *MsgSetStoryWriterSet) Reset() { + *x = MsgSetStoryWriterSet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[56] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilResponseReveal) String() string { +func (x *MsgSetStoryWriterSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilResponseReveal) ProtoMessage() {} +func (*MsgSetStoryWriterSet) ProtoMessage() {} -// Deprecated: Use MsgCouncilResponseReveal.ProtoReflect.Descriptor instead. -func (*MsgCouncilResponseReveal) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{56} +// Deprecated: Use MsgSetStoryWriterSet.ProtoReflect.Descriptor instead. +func (*MsgSetStoryWriterSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{72} } -func (x *MsgCouncilResponseReveal) GetCreator() string { +func (x *MsgSetStoryWriterSet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCouncilResponseReveal) GetCouncilId() uint64 { +func (x *MsgSetStoryWriterSet) GetSetId() uint64 { if x != nil { - return x.CouncilId + return x.SetId } return 0 } -func (x *MsgCouncilResponseReveal) GetReponse() Response { - if x != nil { - return x.Reponse - } - return Response_Yes -} - -func (x *MsgCouncilResponseReveal) GetSecret() string { +func (x *MsgSetStoryWriterSet) GetStoryWriter() string { if x != nil { - return x.Secret + return x.StoryWriter } return "" } -type MsgCouncilResponseRevealResponse struct { +type MsgSetStoryWriterSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilResponseRevealResponse) Reset() { - *x = MsgCouncilResponseRevealResponse{} +func (x *MsgSetStoryWriterSetResponse) Reset() { + *x = MsgSetStoryWriterSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[57] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilResponseRevealResponse) String() string { +func (x *MsgSetStoryWriterSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilResponseRevealResponse) ProtoMessage() {} +func (*MsgSetStoryWriterSetResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilResponseRevealResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilResponseRevealResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{57} +// Deprecated: Use MsgSetStoryWriterSetResponse.ProtoReflect.Descriptor instead. +func (*MsgSetStoryWriterSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{73} } -type MsgCouncilRestart struct { +type MsgSetArtistSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` + 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 (x *MsgCouncilRestart) Reset() { - *x = MsgCouncilRestart{} +func (x *MsgSetArtistSet) Reset() { + *x = MsgSetArtistSet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[58] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilRestart) String() string { +func (x *MsgSetArtistSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilRestart) ProtoMessage() {} +func (*MsgSetArtistSet) ProtoMessage() {} -// Deprecated: Use MsgCouncilRestart.ProtoReflect.Descriptor instead. -func (*MsgCouncilRestart) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{58} +// Deprecated: Use MsgSetArtistSet.ProtoReflect.Descriptor instead. +func (*MsgSetArtistSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{74} } -func (x *MsgCouncilRestart) GetCreator() string { +func (x *MsgSetArtistSet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCouncilRestart) GetCouncilId() uint64 { +func (x *MsgSetArtistSet) GetSetId() uint64 { if x != nil { - return x.CouncilId + return x.SetId } return 0 } -type MsgCouncilRestartResponse struct { +func (x *MsgSetArtistSet) GetArtist() string { + if x != nil { + return x.Artist + } + return "" +} + +type MsgSetArtistSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCouncilRestartResponse) Reset() { - *x = MsgCouncilRestartResponse{} +func (x *MsgSetArtistSetResponse) Reset() { + *x = MsgSetArtistSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[59] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCouncilRestartResponse) String() string { +func (x *MsgSetArtistSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCouncilRestartResponse) ProtoMessage() {} +func (*MsgSetArtistSetResponse) ProtoMessage() {} -// Deprecated: Use MsgCouncilRestartResponse.ProtoReflect.Descriptor instead. -func (*MsgCouncilRestartResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{59} +// Deprecated: Use MsgSetArtistSetResponse.ProtoReflect.Descriptor instead. +func (*MsgSetArtistSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{75} } -type MsgMatchConfirm struct { +type MsgCardVoteMulti struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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=cardchain.cardchain.Outcome" json:"outcome,omitempty"` - VotedCards []*SingleVote `protobuf:"bytes,4,rep,name=votedCards,proto3" json:"votedCards,omitempty"` + 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 (x *MsgMatchConfirm) Reset() { - *x = MsgMatchConfirm{} +func (x *MsgCardVoteMulti) Reset() { + *x = MsgCardVoteMulti{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[60] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchConfirm) String() string { +func (x *MsgCardVoteMulti) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchConfirm) ProtoMessage() {} +func (*MsgCardVoteMulti) ProtoMessage() {} -// Deprecated: Use MsgMatchConfirm.ProtoReflect.Descriptor instead. -func (*MsgMatchConfirm) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{60} +// Deprecated: Use MsgCardVoteMulti.ProtoReflect.Descriptor instead. +func (*MsgCardVoteMulti) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{76} } -func (x *MsgMatchConfirm) GetCreator() string { +func (x *MsgCardVoteMulti) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgMatchConfirm) GetMatchId() uint64 { - if x != nil { - return x.MatchId - } - return 0 -} - -func (x *MsgMatchConfirm) GetOutcome() Outcome { - if x != nil { - return x.Outcome - } - return Outcome_AWon -} - -func (x *MsgMatchConfirm) GetVotedCards() []*SingleVote { +func (x *MsgCardVoteMulti) GetVotes() []*SingleVote { if x != nil { - return x.VotedCards + return x.Votes } return nil } -type MsgMatchConfirmResponse struct { +type MsgCardVoteMultiResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgMatchConfirmResponse) Reset() { - *x = MsgMatchConfirmResponse{} +func (x *MsgCardVoteMultiResponse) Reset() { + *x = MsgCardVoteMultiResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[61] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgMatchConfirmResponse) String() string { +func (x *MsgCardVoteMultiResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgMatchConfirmResponse) ProtoMessage() {} +func (*MsgCardVoteMultiResponse) ProtoMessage() {} -// Deprecated: Use MsgMatchConfirmResponse.ProtoReflect.Descriptor instead. -func (*MsgMatchConfirmResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{61} +// Deprecated: Use MsgCardVoteMultiResponse.ProtoReflect.Descriptor instead. +func (*MsgCardVoteMultiResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{77} } -type MsgProfileCardSet struct { +func (x *MsgCardVoteMultiResponse) GetAirdropClaimed() bool { + if x != nil { + return x.AirdropClaimed + } + return false +} + +type MsgMatchOpen struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + 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 (x *MsgProfileCardSet) Reset() { - *x = MsgProfileCardSet{} +func (x *MsgMatchOpen) Reset() { + *x = MsgMatchOpen{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[62] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgProfileCardSet) String() string { +func (x *MsgMatchOpen) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgProfileCardSet) ProtoMessage() {} +func (*MsgMatchOpen) ProtoMessage() {} -// Deprecated: Use MsgProfileCardSet.ProtoReflect.Descriptor instead. -func (*MsgProfileCardSet) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{62} +// Deprecated: Use MsgMatchOpen.ProtoReflect.Descriptor instead. +func (*MsgMatchOpen) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{78} +} + +func (x *MsgMatchOpen) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgMatchOpen) GetPlayerA() string { + if x != nil { + return x.PlayerA + } + return "" +} + +func (x *MsgMatchOpen) GetPlayerB() string { + if x != nil { + return x.PlayerB + } + return "" } -func (x *MsgProfileCardSet) GetCreator() string { +func (x *MsgMatchOpen) GetPlayerAdeck() []uint64 { if x != nil { - return x.Creator + return x.PlayerAdeck } - return "" + return nil } -func (x *MsgProfileCardSet) GetCardId() uint64 { +func (x *MsgMatchOpen) GetPlayerBdeck() []uint64 { if x != nil { - return x.CardId + return x.PlayerBdeck } - return 0 + return nil } -type MsgProfileCardSetResponse struct { +type MsgMatchOpenResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + MatchId uint64 `protobuf:"varint,1,opt,name=matchId,proto3" json:"matchId,omitempty"` } -func (x *MsgProfileCardSetResponse) Reset() { - *x = MsgProfileCardSetResponse{} +func (x *MsgMatchOpenResponse) Reset() { + *x = MsgMatchOpenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[63] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgProfileCardSetResponse) String() string { +func (x *MsgMatchOpenResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgProfileCardSetResponse) ProtoMessage() {} +func (*MsgMatchOpenResponse) ProtoMessage() {} -// Deprecated: Use MsgProfileCardSetResponse.ProtoReflect.Descriptor instead. -func (*MsgProfileCardSetResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{63} +// Deprecated: Use MsgMatchOpenResponse.ProtoReflect.Descriptor instead. +func (*MsgMatchOpenResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{79} } -type MsgProfileWebsiteSet struct { +func (x *MsgMatchOpenResponse) GetMatchId() uint64 { + if x != nil { + return x.MatchId + } + return 0 +} + +type MsgSetNameSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Website string `protobuf:"bytes,2,opt,name=website,proto3" json:"website,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 (x *MsgProfileWebsiteSet) Reset() { - *x = MsgProfileWebsiteSet{} +func (x *MsgSetNameSet) Reset() { + *x = MsgSetNameSet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[64] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgProfileWebsiteSet) String() string { +func (x *MsgSetNameSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgProfileWebsiteSet) ProtoMessage() {} +func (*MsgSetNameSet) ProtoMessage() {} -// Deprecated: Use MsgProfileWebsiteSet.ProtoReflect.Descriptor instead. -func (*MsgProfileWebsiteSet) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{64} +// Deprecated: Use MsgSetNameSet.ProtoReflect.Descriptor instead. +func (*MsgSetNameSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{80} } -func (x *MsgProfileWebsiteSet) GetCreator() string { +func (x *MsgSetNameSet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgProfileWebsiteSet) GetWebsite() string { +func (x *MsgSetNameSet) GetSetId() uint64 { if x != nil { - return x.Website + return x.SetId + } + return 0 +} + +func (x *MsgSetNameSet) GetName() string { + if x != nil { + return x.Name } return "" } -type MsgProfileWebsiteSetResponse struct { +type MsgSetNameSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgProfileWebsiteSetResponse) Reset() { - *x = MsgProfileWebsiteSetResponse{} +func (x *MsgSetNameSetResponse) Reset() { + *x = MsgSetNameSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[65] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgProfileWebsiteSetResponse) String() string { +func (x *MsgSetNameSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgProfileWebsiteSetResponse) ProtoMessage() {} +func (*MsgSetNameSetResponse) ProtoMessage() {} -// Deprecated: Use MsgProfileWebsiteSetResponse.ProtoReflect.Descriptor instead. -func (*MsgProfileWebsiteSetResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{65} +// Deprecated: Use MsgSetNameSetResponse.ProtoReflect.Descriptor instead. +func (*MsgSetNameSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{81} } -type MsgProfileBioSet struct { +type MsgProfileAliasSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Bio string `protobuf:"bytes,2,opt,name=bio,proto3" json:"bio,omitempty"` + Alias string `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"` } -func (x *MsgProfileBioSet) Reset() { - *x = MsgProfileBioSet{} +func (x *MsgProfileAliasSet) Reset() { + *x = MsgProfileAliasSet{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[66] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgProfileBioSet) String() string { +func (x *MsgProfileAliasSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgProfileBioSet) ProtoMessage() {} +func (*MsgProfileAliasSet) ProtoMessage() {} -// Deprecated: Use MsgProfileBioSet.ProtoReflect.Descriptor instead. -func (*MsgProfileBioSet) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{66} +// Deprecated: Use MsgProfileAliasSet.ProtoReflect.Descriptor instead. +func (*MsgProfileAliasSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{82} } -func (x *MsgProfileBioSet) GetCreator() string { +func (x *MsgProfileAliasSet) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgProfileBioSet) GetBio() string { +func (x *MsgProfileAliasSet) GetAlias() string { if x != nil { - return x.Bio + return x.Alias } return "" } -type MsgProfileBioSetResponse struct { +type MsgProfileAliasSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgProfileBioSetResponse) Reset() { - *x = MsgProfileBioSetResponse{} +func (x *MsgProfileAliasSetResponse) Reset() { + *x = MsgProfileAliasSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[67] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgProfileBioSetResponse) String() string { +func (x *MsgProfileAliasSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgProfileBioSetResponse) ProtoMessage() {} +func (*MsgProfileAliasSetResponse) ProtoMessage() {} -// Deprecated: Use MsgProfileBioSetResponse.ProtoReflect.Descriptor instead. -func (*MsgProfileBioSetResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{67} +// Deprecated: Use MsgProfileAliasSetResponse.ProtoReflect.Descriptor instead. +func (*MsgProfileAliasSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{83} } -type MsgBoosterPackOpen struct { +type MsgEarlyAccessInvite struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - BoosterPackId uint64 `protobuf:"varint,2,opt,name=boosterPackId,proto3" json:"boosterPackId,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` } -func (x *MsgBoosterPackOpen) Reset() { - *x = MsgBoosterPackOpen{} +func (x *MsgEarlyAccessInvite) Reset() { + *x = MsgEarlyAccessInvite{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[68] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgBoosterPackOpen) String() string { +func (x *MsgEarlyAccessInvite) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgBoosterPackOpen) ProtoMessage() {} +func (*MsgEarlyAccessInvite) ProtoMessage() {} -// Deprecated: Use MsgBoosterPackOpen.ProtoReflect.Descriptor instead. -func (*MsgBoosterPackOpen) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{68} +// Deprecated: Use MsgEarlyAccessInvite.ProtoReflect.Descriptor instead. +func (*MsgEarlyAccessInvite) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{84} } -func (x *MsgBoosterPackOpen) GetCreator() string { +func (x *MsgEarlyAccessInvite) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgBoosterPackOpen) GetBoosterPackId() uint64 { +func (x *MsgEarlyAccessInvite) GetUser() string { if x != nil { - return x.BoosterPackId + return x.User } - return 0 + return "" } -type MsgBoosterPackOpenResponse struct { +type MsgEarlyAccessInviteResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - CardIds []uint64 `protobuf:"varint,1,rep,packed,name=cardIds,proto3" json:"cardIds,omitempty"` } -func (x *MsgBoosterPackOpenResponse) Reset() { - *x = MsgBoosterPackOpenResponse{} +func (x *MsgEarlyAccessInviteResponse) Reset() { + *x = MsgEarlyAccessInviteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[69] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgBoosterPackOpenResponse) String() string { +func (x *MsgEarlyAccessInviteResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgBoosterPackOpenResponse) ProtoMessage() {} - -// Deprecated: Use MsgBoosterPackOpenResponse.ProtoReflect.Descriptor instead. -func (*MsgBoosterPackOpenResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{69} -} +func (*MsgEarlyAccessInviteResponse) ProtoMessage() {} -func (x *MsgBoosterPackOpenResponse) GetCardIds() []uint64 { - if x != nil { - return x.CardIds - } - return nil +// Deprecated: Use MsgEarlyAccessInviteResponse.ProtoReflect.Descriptor instead. +func (*MsgEarlyAccessInviteResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{85} } -type MsgBoosterPackTransfer struct { +type MsgZealyConnect struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - BoosterPackId uint64 `protobuf:"varint,2,opt,name=boosterPackId,proto3" json:"boosterPackId,omitempty"` - Receiver string `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + ZealyId string `protobuf:"bytes,2,opt,name=zealyId,proto3" json:"zealyId,omitempty"` } -func (x *MsgBoosterPackTransfer) Reset() { - *x = MsgBoosterPackTransfer{} +func (x *MsgZealyConnect) Reset() { + *x = MsgZealyConnect{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[70] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgBoosterPackTransfer) String() string { +func (x *MsgZealyConnect) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgBoosterPackTransfer) ProtoMessage() {} +func (*MsgZealyConnect) ProtoMessage() {} -// Deprecated: Use MsgBoosterPackTransfer.ProtoReflect.Descriptor instead. -func (*MsgBoosterPackTransfer) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{70} +// Deprecated: Use MsgZealyConnect.ProtoReflect.Descriptor instead. +func (*MsgZealyConnect) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{86} } -func (x *MsgBoosterPackTransfer) GetCreator() string { +func (x *MsgZealyConnect) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgBoosterPackTransfer) GetBoosterPackId() uint64 { - if x != nil { - return x.BoosterPackId - } - return 0 -} - -func (x *MsgBoosterPackTransfer) GetReceiver() string { +func (x *MsgZealyConnect) GetZealyId() string { if x != nil { - return x.Receiver + return x.ZealyId } return "" } -type MsgBoosterPackTransferResponse struct { +type MsgZealyConnectResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgBoosterPackTransferResponse) Reset() { - *x = MsgBoosterPackTransferResponse{} +func (x *MsgZealyConnectResponse) Reset() { + *x = MsgZealyConnectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[71] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgBoosterPackTransferResponse) String() string { +func (x *MsgZealyConnectResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgBoosterPackTransferResponse) ProtoMessage() {} +func (*MsgZealyConnectResponse) ProtoMessage() {} -// Deprecated: Use MsgBoosterPackTransferResponse.ProtoReflect.Descriptor instead. -func (*MsgBoosterPackTransferResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{71} +// Deprecated: Use MsgZealyConnectResponse.ProtoReflect.Descriptor instead. +func (*MsgZealyConnectResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{87} } -type MsgSetStoryWriterSet struct { +type MsgEncounterCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Drawlist []uint64 `protobuf:"varint,3,rep,packed,name=drawlist,proto3" json:"drawlist,omitempty"` + Parameters map[string]string `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Image []byte `protobuf:"bytes,5,opt,name=image,proto3" json:"image,omitempty"` } -func (x *MsgSetStoryWriterSet) Reset() { - *x = MsgSetStoryWriterSet{} +func (x *MsgEncounterCreate) Reset() { + *x = MsgEncounterCreate{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[72] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetStoryWriterSet) String() string { +func (x *MsgEncounterCreate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetStoryWriterSet) ProtoMessage() {} +func (*MsgEncounterCreate) ProtoMessage() {} -// Deprecated: Use MsgSetStoryWriterSet.ProtoReflect.Descriptor instead. -func (*MsgSetStoryWriterSet) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{72} +// Deprecated: Use MsgEncounterCreate.ProtoReflect.Descriptor instead. +func (*MsgEncounterCreate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{88} } -func (x *MsgSetStoryWriterSet) GetCreator() string { +func (x *MsgEncounterCreate) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetStoryWriterSet) GetSetId() uint64 { +func (x *MsgEncounterCreate) GetName() string { if x != nil { - return x.SetId + return x.Name } - return 0 + return "" } -func (x *MsgSetStoryWriterSet) GetStoryWriter() string { +func (x *MsgEncounterCreate) GetDrawlist() []uint64 { if x != nil { - return x.StoryWriter + return x.Drawlist } - return "" + return nil } -type MsgSetStoryWriterSetResponse struct { +func (x *MsgEncounterCreate) GetParameters() map[string]string { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *MsgEncounterCreate) GetImage() []byte { + if x != nil { + return x.Image + } + return nil +} + +type MsgEncounterCreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetStoryWriterSetResponse) Reset() { - *x = MsgSetStoryWriterSetResponse{} +func (x *MsgEncounterCreateResponse) Reset() { + *x = MsgEncounterCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[73] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetStoryWriterSetResponse) String() string { +func (x *MsgEncounterCreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetStoryWriterSetResponse) ProtoMessage() {} +func (*MsgEncounterCreateResponse) ProtoMessage() {} -// Deprecated: Use MsgSetStoryWriterSetResponse.ProtoReflect.Descriptor instead. -func (*MsgSetStoryWriterSetResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{73} +// Deprecated: Use MsgEncounterCreateResponse.ProtoReflect.Descriptor instead. +func (*MsgEncounterCreateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{89} } -type MsgSetArtistSet struct { +type MsgEncounterDo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + EncounterId uint64 `protobuf:"varint,2,opt,name=encounterId,proto3" json:"encounterId,omitempty"` + User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` } -func (x *MsgSetArtistSet) Reset() { - *x = MsgSetArtistSet{} +func (x *MsgEncounterDo) Reset() { + *x = MsgEncounterDo{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[74] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetArtistSet) String() string { +func (x *MsgEncounterDo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetArtistSet) ProtoMessage() {} +func (*MsgEncounterDo) ProtoMessage() {} -// Deprecated: Use MsgSetArtistSet.ProtoReflect.Descriptor instead. -func (*MsgSetArtistSet) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{74} +// Deprecated: Use MsgEncounterDo.ProtoReflect.Descriptor instead. +func (*MsgEncounterDo) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{90} } -func (x *MsgSetArtistSet) GetCreator() string { +func (x *MsgEncounterDo) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgSetArtistSet) GetSetId() uint64 { +func (x *MsgEncounterDo) GetEncounterId() uint64 { if x != nil { - return x.SetId + return x.EncounterId } return 0 } -func (x *MsgSetArtistSet) GetArtist() string { +func (x *MsgEncounterDo) GetUser() string { if x != nil { - return x.Artist + return x.User } return "" } -type MsgSetArtistSetResponse struct { +type MsgEncounterDoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgSetArtistSetResponse) Reset() { - *x = MsgSetArtistSetResponse{} +func (x *MsgEncounterDoResponse) Reset() { + *x = MsgEncounterDoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[75] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgSetArtistSetResponse) String() string { +func (x *MsgEncounterDoResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSetArtistSetResponse) ProtoMessage() {} +func (*MsgEncounterDoResponse) ProtoMessage() {} -// Deprecated: Use MsgSetArtistSetResponse.ProtoReflect.Descriptor instead. -func (*MsgSetArtistSetResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{75} +// Deprecated: Use MsgEncounterDoResponse.ProtoReflect.Descriptor instead. +func (*MsgEncounterDoResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{91} } -type MsgCardVoteMulti struct { +type MsgEncounterClose struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Votes []*SingleVote `protobuf:"bytes,2,rep,name=votes,proto3" json:"votes,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + EncounterId uint64 `protobuf:"varint,2,opt,name=encounterId,proto3" json:"encounterId,omitempty"` + User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` + Won bool `protobuf:"varint,4,opt,name=won,proto3" json:"won,omitempty"` } -func (x *MsgCardVoteMulti) Reset() { - *x = MsgCardVoteMulti{} +func (x *MsgEncounterClose) Reset() { + *x = MsgEncounterClose{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[76] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardVoteMulti) String() string { +func (x *MsgEncounterClose) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardVoteMulti) ProtoMessage() {} +func (*MsgEncounterClose) ProtoMessage() {} -// Deprecated: Use MsgCardVoteMulti.ProtoReflect.Descriptor instead. -func (*MsgCardVoteMulti) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{76} +// Deprecated: Use MsgEncounterClose.ProtoReflect.Descriptor instead. +func (*MsgEncounterClose) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{92} } -func (x *MsgCardVoteMulti) GetCreator() string { +func (x *MsgEncounterClose) GetCreator() string { if x != nil { return x.Creator } return "" } -func (x *MsgCardVoteMulti) GetVotes() []*SingleVote { +func (x *MsgEncounterClose) GetEncounterId() uint64 { if x != nil { - return x.Votes + return x.EncounterId } - return nil + return 0 } -type MsgCardVoteMultiResponse struct { +func (x *MsgEncounterClose) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +func (x *MsgEncounterClose) GetWon() bool { + if x != nil { + return x.Won + } + return false +} + +type MsgEncounterCloseResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (x *MsgCardVoteMultiResponse) Reset() { - *x = MsgCardVoteMultiResponse{} +func (x *MsgEncounterCloseResponse) Reset() { + *x = MsgEncounterCloseResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[77] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCardVoteMultiResponse) String() string { +func (x *MsgEncounterCloseResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCardVoteMultiResponse) ProtoMessage() {} - -// Deprecated: Use MsgCardVoteMultiResponse.ProtoReflect.Descriptor instead. -func (*MsgCardVoteMultiResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{77} -} +func (*MsgEncounterCloseResponse) ProtoMessage() {} -func (x *MsgCardVoteMultiResponse) GetAirdropClaimed() bool { - if x != nil { - return x.AirdropClaimed - } - return false +// Deprecated: Use MsgEncounterCloseResponse.ProtoReflect.Descriptor instead. +func (*MsgEncounterCloseResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{93} } var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor @@ -38629,280 +47211,413 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, - 0x65, 0x64, 0x32, 0xb5, 0x20, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, - 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, - 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, - 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, - 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, - 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, + 0x65, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, + 0x70, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, + 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x42, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x42, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x65, 0x63, 0x6b, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, + 0x65, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x64, 0x65, + 0x63, 0x6b, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x42, 0x64, 0x65, 0x63, 0x6b, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x30, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, + 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x52, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, + 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x45, 0x61, + 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x5a, 0x65, + 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x3a, 0x0c, + 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, + 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x02, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x72, 0x61, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, + 0x64, 0x72, 0x61, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x44, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, + 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, + 0x11, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, + 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x77, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x03, 0x77, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, + 0xea, 0x26, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, - 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, - 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, - 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, + 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, + 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, - 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, + 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, + 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, + 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, - 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, + 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, + 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, + 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, - 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, - 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, - 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, + 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, - 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, + 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, + 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, + 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, + 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, - 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, - 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, - 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, - 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, - 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, + 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, + 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, + 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, + 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, + 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, + 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, + 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, + 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, + 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, + 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, + 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, + 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, + 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, + 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, + 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, - 0x72, 0x64, 0x53, 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, + 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, + 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, + 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, + 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, - 0x74, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, + 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x59, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, + 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, + 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, + 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, - 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6b, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, - 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, - 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x53, 0x65, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, - 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, - 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, - 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, - 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, - 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, - 0x65, 0x72, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, + 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, + 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, + 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, - 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, - 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, + 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, + 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -38917,7 +47632,7 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 78) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 95) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse @@ -38997,108 +47712,142 @@ var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgSetArtistSetResponse)(nil), // 75: cardchain.cardchain.MsgSetArtistSetResponse (*MsgCardVoteMulti)(nil), // 76: cardchain.cardchain.MsgCardVoteMulti (*MsgCardVoteMultiResponse)(nil), // 77: cardchain.cardchain.MsgCardVoteMultiResponse - (*Params)(nil), // 78: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 79: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 80: cardchain.cardchain.SingleVote - (Outcome)(0), // 81: cardchain.cardchain.Outcome - (CardRarity)(0), // 82: cardchain.cardchain.CardRarity - (Response)(0), // 83: cardchain.cardchain.Response + (*MsgMatchOpen)(nil), // 78: cardchain.cardchain.MsgMatchOpen + (*MsgMatchOpenResponse)(nil), // 79: cardchain.cardchain.MsgMatchOpenResponse + (*MsgSetNameSet)(nil), // 80: cardchain.cardchain.MsgSetNameSet + (*MsgSetNameSetResponse)(nil), // 81: cardchain.cardchain.MsgSetNameSetResponse + (*MsgProfileAliasSet)(nil), // 82: cardchain.cardchain.MsgProfileAliasSet + (*MsgProfileAliasSetResponse)(nil), // 83: cardchain.cardchain.MsgProfileAliasSetResponse + (*MsgEarlyAccessInvite)(nil), // 84: cardchain.cardchain.MsgEarlyAccessInvite + (*MsgEarlyAccessInviteResponse)(nil), // 85: cardchain.cardchain.MsgEarlyAccessInviteResponse + (*MsgZealyConnect)(nil), // 86: cardchain.cardchain.MsgZealyConnect + (*MsgZealyConnectResponse)(nil), // 87: cardchain.cardchain.MsgZealyConnectResponse + (*MsgEncounterCreate)(nil), // 88: cardchain.cardchain.MsgEncounterCreate + (*MsgEncounterCreateResponse)(nil), // 89: cardchain.cardchain.MsgEncounterCreateResponse + (*MsgEncounterDo)(nil), // 90: cardchain.cardchain.MsgEncounterDo + (*MsgEncounterDoResponse)(nil), // 91: cardchain.cardchain.MsgEncounterDoResponse + (*MsgEncounterClose)(nil), // 92: cardchain.cardchain.MsgEncounterClose + (*MsgEncounterCloseResponse)(nil), // 93: cardchain.cardchain.MsgEncounterCloseResponse + nil, // 94: cardchain.cardchain.MsgEncounterCreate.ParametersEntry + (*Params)(nil), // 95: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 96: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 97: cardchain.cardchain.SingleVote + (Outcome)(0), // 98: cardchain.cardchain.Outcome + (CardRarity)(0), // 99: cardchain.cardchain.CardRarity + (Response)(0), // 100: cardchain.cardchain.Response } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 78, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 79, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 80, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 79, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 81, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome - 79, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin - 82, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity - 83, // 7: cardchain.cardchain.MsgCouncilResponseReveal.reponse:type_name -> cardchain.cardchain.Response - 81, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome - 80, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote - 80, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote - 0, // 11: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams - 2, // 12: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate - 4, // 13: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy - 6, // 14: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent - 8, // 15: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote - 10, // 16: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer - 12, // 17: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate - 14, // 18: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd - 16, // 19: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange - 18, // 20: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister - 20, // 21: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister - 22, // 22: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport - 24, // 23: cardchain.cardchain.Msg.CouncilCreate:input_type -> cardchain.cardchain.MsgCouncilCreate - 26, // 24: cardchain.cardchain.Msg.MatchReporterAppoint:input_type -> cardchain.cardchain.MsgMatchReporterAppoint - 28, // 25: cardchain.cardchain.Msg.SetCreate:input_type -> cardchain.cardchain.MsgSetCreate - 30, // 26: cardchain.cardchain.Msg.SetCardAdd:input_type -> cardchain.cardchain.MsgSetCardAdd - 32, // 27: cardchain.cardchain.Msg.SetCardRemove:input_type -> cardchain.cardchain.MsgSetCardRemove - 34, // 28: cardchain.cardchain.Msg.SetContributorAdd:input_type -> cardchain.cardchain.MsgSetContributorAdd - 36, // 29: cardchain.cardchain.Msg.SetContributorRemove:input_type -> cardchain.cardchain.MsgSetContributorRemove - 38, // 30: cardchain.cardchain.Msg.SetFinalize:input_type -> cardchain.cardchain.MsgSetFinalize - 40, // 31: cardchain.cardchain.Msg.SetArtworkAdd:input_type -> cardchain.cardchain.MsgSetArtworkAdd - 42, // 32: cardchain.cardchain.Msg.SetStoryAdd:input_type -> cardchain.cardchain.MsgSetStoryAdd - 44, // 33: cardchain.cardchain.Msg.BoosterPackBuy:input_type -> cardchain.cardchain.MsgBoosterPackBuy - 46, // 34: cardchain.cardchain.Msg.SellOfferCreate:input_type -> cardchain.cardchain.MsgSellOfferCreate - 48, // 35: cardchain.cardchain.Msg.SellOfferBuy:input_type -> cardchain.cardchain.MsgSellOfferBuy - 50, // 36: cardchain.cardchain.Msg.SellOfferRemove:input_type -> cardchain.cardchain.MsgSellOfferRemove - 52, // 37: cardchain.cardchain.Msg.CardRaritySet:input_type -> cardchain.cardchain.MsgCardRaritySet - 54, // 38: cardchain.cardchain.Msg.CouncilResponseCommit:input_type -> cardchain.cardchain.MsgCouncilResponseCommit - 56, // 39: cardchain.cardchain.Msg.CouncilResponseReveal:input_type -> cardchain.cardchain.MsgCouncilResponseReveal - 58, // 40: cardchain.cardchain.Msg.CouncilRestart:input_type -> cardchain.cardchain.MsgCouncilRestart - 60, // 41: cardchain.cardchain.Msg.MatchConfirm:input_type -> cardchain.cardchain.MsgMatchConfirm - 62, // 42: cardchain.cardchain.Msg.ProfileCardSet:input_type -> cardchain.cardchain.MsgProfileCardSet - 64, // 43: cardchain.cardchain.Msg.ProfileWebsiteSet:input_type -> cardchain.cardchain.MsgProfileWebsiteSet - 66, // 44: cardchain.cardchain.Msg.ProfileBioSet:input_type -> cardchain.cardchain.MsgProfileBioSet - 68, // 45: cardchain.cardchain.Msg.BoosterPackOpen:input_type -> cardchain.cardchain.MsgBoosterPackOpen - 70, // 46: cardchain.cardchain.Msg.BoosterPackTransfer:input_type -> cardchain.cardchain.MsgBoosterPackTransfer - 72, // 47: cardchain.cardchain.Msg.SetStoryWriterSet:input_type -> cardchain.cardchain.MsgSetStoryWriterSet - 74, // 48: cardchain.cardchain.Msg.SetArtistSet:input_type -> cardchain.cardchain.MsgSetArtistSet - 76, // 49: cardchain.cardchain.Msg.CardVoteMulti:input_type -> cardchain.cardchain.MsgCardVoteMulti - 1, // 50: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 51: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 52: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 53: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 54: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 55: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 56: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 57: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 58: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 59: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 60: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 61: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 25, // 62: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse - 27, // 63: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse - 29, // 64: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse - 31, // 65: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse - 33, // 66: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse - 35, // 67: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse - 37, // 68: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse - 39, // 69: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse - 41, // 70: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse - 43, // 71: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse - 45, // 72: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse - 47, // 73: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse - 49, // 74: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse - 51, // 75: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse - 53, // 76: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse - 55, // 77: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse - 57, // 78: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse - 59, // 79: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse - 61, // 80: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse - 63, // 81: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse - 65, // 82: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse - 67, // 83: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse - 69, // 84: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse - 71, // 85: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse - 73, // 86: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse - 75, // 87: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse - 77, // 88: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse - 50, // [50:89] is the sub-list for method output_type - 11, // [11:50] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 95, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 96, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 97, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 96, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 98, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 96, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin + 99, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity + 100, // 7: cardchain.cardchain.MsgCouncilResponseReveal.reponse:type_name -> cardchain.cardchain.Response + 98, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome + 97, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote + 97, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote + 94, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry + 0, // 12: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams + 2, // 13: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate + 4, // 14: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy + 6, // 15: cardchain.cardchain.Msg.CardSaveContent:input_type -> cardchain.cardchain.MsgCardSaveContent + 8, // 16: cardchain.cardchain.Msg.CardVote:input_type -> cardchain.cardchain.MsgCardVote + 10, // 17: cardchain.cardchain.Msg.CardTransfer:input_type -> cardchain.cardchain.MsgCardTransfer + 12, // 18: cardchain.cardchain.Msg.CardDonate:input_type -> cardchain.cardchain.MsgCardDonate + 14, // 19: cardchain.cardchain.Msg.CardArtworkAdd:input_type -> cardchain.cardchain.MsgCardArtworkAdd + 16, // 20: cardchain.cardchain.Msg.CardArtistChange:input_type -> cardchain.cardchain.MsgCardArtistChange + 18, // 21: cardchain.cardchain.Msg.CouncilRegister:input_type -> cardchain.cardchain.MsgCouncilRegister + 20, // 22: cardchain.cardchain.Msg.CouncilDeregister:input_type -> cardchain.cardchain.MsgCouncilDeregister + 22, // 23: cardchain.cardchain.Msg.MatchReport:input_type -> cardchain.cardchain.MsgMatchReport + 24, // 24: cardchain.cardchain.Msg.CouncilCreate:input_type -> cardchain.cardchain.MsgCouncilCreate + 26, // 25: cardchain.cardchain.Msg.MatchReporterAppoint:input_type -> cardchain.cardchain.MsgMatchReporterAppoint + 28, // 26: cardchain.cardchain.Msg.SetCreate:input_type -> cardchain.cardchain.MsgSetCreate + 30, // 27: cardchain.cardchain.Msg.SetCardAdd:input_type -> cardchain.cardchain.MsgSetCardAdd + 32, // 28: cardchain.cardchain.Msg.SetCardRemove:input_type -> cardchain.cardchain.MsgSetCardRemove + 34, // 29: cardchain.cardchain.Msg.SetContributorAdd:input_type -> cardchain.cardchain.MsgSetContributorAdd + 36, // 30: cardchain.cardchain.Msg.SetContributorRemove:input_type -> cardchain.cardchain.MsgSetContributorRemove + 38, // 31: cardchain.cardchain.Msg.SetFinalize:input_type -> cardchain.cardchain.MsgSetFinalize + 40, // 32: cardchain.cardchain.Msg.SetArtworkAdd:input_type -> cardchain.cardchain.MsgSetArtworkAdd + 42, // 33: cardchain.cardchain.Msg.SetStoryAdd:input_type -> cardchain.cardchain.MsgSetStoryAdd + 44, // 34: cardchain.cardchain.Msg.BoosterPackBuy:input_type -> cardchain.cardchain.MsgBoosterPackBuy + 46, // 35: cardchain.cardchain.Msg.SellOfferCreate:input_type -> cardchain.cardchain.MsgSellOfferCreate + 48, // 36: cardchain.cardchain.Msg.SellOfferBuy:input_type -> cardchain.cardchain.MsgSellOfferBuy + 50, // 37: cardchain.cardchain.Msg.SellOfferRemove:input_type -> cardchain.cardchain.MsgSellOfferRemove + 52, // 38: cardchain.cardchain.Msg.CardRaritySet:input_type -> cardchain.cardchain.MsgCardRaritySet + 54, // 39: cardchain.cardchain.Msg.CouncilResponseCommit:input_type -> cardchain.cardchain.MsgCouncilResponseCommit + 56, // 40: cardchain.cardchain.Msg.CouncilResponseReveal:input_type -> cardchain.cardchain.MsgCouncilResponseReveal + 58, // 41: cardchain.cardchain.Msg.CouncilRestart:input_type -> cardchain.cardchain.MsgCouncilRestart + 60, // 42: cardchain.cardchain.Msg.MatchConfirm:input_type -> cardchain.cardchain.MsgMatchConfirm + 62, // 43: cardchain.cardchain.Msg.ProfileCardSet:input_type -> cardchain.cardchain.MsgProfileCardSet + 64, // 44: cardchain.cardchain.Msg.ProfileWebsiteSet:input_type -> cardchain.cardchain.MsgProfileWebsiteSet + 66, // 45: cardchain.cardchain.Msg.ProfileBioSet:input_type -> cardchain.cardchain.MsgProfileBioSet + 68, // 46: cardchain.cardchain.Msg.BoosterPackOpen:input_type -> cardchain.cardchain.MsgBoosterPackOpen + 70, // 47: cardchain.cardchain.Msg.BoosterPackTransfer:input_type -> cardchain.cardchain.MsgBoosterPackTransfer + 72, // 48: cardchain.cardchain.Msg.SetStoryWriterSet:input_type -> cardchain.cardchain.MsgSetStoryWriterSet + 74, // 49: cardchain.cardchain.Msg.SetArtistSet:input_type -> cardchain.cardchain.MsgSetArtistSet + 76, // 50: cardchain.cardchain.Msg.CardVoteMulti:input_type -> cardchain.cardchain.MsgCardVoteMulti + 78, // 51: cardchain.cardchain.Msg.MatchOpen:input_type -> cardchain.cardchain.MsgMatchOpen + 80, // 52: cardchain.cardchain.Msg.SetNameSet:input_type -> cardchain.cardchain.MsgSetNameSet + 82, // 53: cardchain.cardchain.Msg.ProfileAliasSet:input_type -> cardchain.cardchain.MsgProfileAliasSet + 84, // 54: cardchain.cardchain.Msg.EarlyAccessInvite:input_type -> cardchain.cardchain.MsgEarlyAccessInvite + 86, // 55: cardchain.cardchain.Msg.ZealyConnect:input_type -> cardchain.cardchain.MsgZealyConnect + 88, // 56: cardchain.cardchain.Msg.EncounterCreate:input_type -> cardchain.cardchain.MsgEncounterCreate + 90, // 57: cardchain.cardchain.Msg.EncounterDo:input_type -> cardchain.cardchain.MsgEncounterDo + 92, // 58: cardchain.cardchain.Msg.EncounterClose:input_type -> cardchain.cardchain.MsgEncounterClose + 1, // 59: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 60: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 61: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 62: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 63: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 64: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 65: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 66: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 67: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 68: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 69: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 70: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 25, // 71: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse + 27, // 72: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse + 29, // 73: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse + 31, // 74: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse + 33, // 75: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse + 35, // 76: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse + 37, // 77: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse + 39, // 78: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse + 41, // 79: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse + 43, // 80: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse + 45, // 81: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse + 47, // 82: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse + 49, // 83: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse + 51, // 84: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse + 53, // 85: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse + 55, // 86: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse + 57, // 87: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse + 59, // 88: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse + 61, // 89: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse + 63, // 90: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse + 65, // 91: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse + 67, // 92: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse + 69, // 93: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse + 71, // 94: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse + 73, // 95: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse + 75, // 96: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse + 77, // 97: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse + 79, // 98: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse + 81, // 99: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse + 83, // 100: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse + 85, // 101: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse + 87, // 102: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse + 89, // 103: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse + 91, // 104: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse + 93, // 105: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse + 59, // [59:106] is the sub-list for method output_type + 12, // [12:59] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_cardchain_cardchain_tx_proto_init() } @@ -40048,6 +48797,198 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } + file_cardchain_cardchain_tx_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgMatchOpen); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgMatchOpenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetNameSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetNameSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProfileAliasSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProfileAliasSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEarlyAccessInvite); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEarlyAccessInviteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgZealyConnect); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgZealyConnectResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEncounterCreate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEncounterCreateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEncounterDo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEncounterDoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEncounterClose); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEncounterCloseResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -40055,7 +48996,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 78, + NumMessages: 95, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 348aa6e3..3a84c3e1 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -58,6 +58,14 @@ const ( Msg_SetStoryWriterSet_FullMethodName = "/cardchain.cardchain.Msg/SetStoryWriterSet" Msg_SetArtistSet_FullMethodName = "/cardchain.cardchain.Msg/SetArtistSet" Msg_CardVoteMulti_FullMethodName = "/cardchain.cardchain.Msg/CardVoteMulti" + Msg_MatchOpen_FullMethodName = "/cardchain.cardchain.Msg/MatchOpen" + Msg_SetNameSet_FullMethodName = "/cardchain.cardchain.Msg/SetNameSet" + Msg_ProfileAliasSet_FullMethodName = "/cardchain.cardchain.Msg/ProfileAliasSet" + Msg_EarlyAccessInvite_FullMethodName = "/cardchain.cardchain.Msg/EarlyAccessInvite" + Msg_ZealyConnect_FullMethodName = "/cardchain.cardchain.Msg/ZealyConnect" + Msg_EncounterCreate_FullMethodName = "/cardchain.cardchain.Msg/EncounterCreate" + Msg_EncounterDo_FullMethodName = "/cardchain.cardchain.Msg/EncounterDo" + Msg_EncounterClose_FullMethodName = "/cardchain.cardchain.Msg/EncounterClose" ) // MsgClient is the client API for Msg service. @@ -105,6 +113,14 @@ type MsgClient interface { SetStoryWriterSet(ctx context.Context, in *MsgSetStoryWriterSet, opts ...grpc.CallOption) (*MsgSetStoryWriterSetResponse, error) SetArtistSet(ctx context.Context, in *MsgSetArtistSet, opts ...grpc.CallOption) (*MsgSetArtistSetResponse, error) CardVoteMulti(ctx context.Context, in *MsgCardVoteMulti, opts ...grpc.CallOption) (*MsgCardVoteMultiResponse, error) + MatchOpen(ctx context.Context, in *MsgMatchOpen, opts ...grpc.CallOption) (*MsgMatchOpenResponse, error) + SetNameSet(ctx context.Context, in *MsgSetNameSet, opts ...grpc.CallOption) (*MsgSetNameSetResponse, error) + ProfileAliasSet(ctx context.Context, in *MsgProfileAliasSet, opts ...grpc.CallOption) (*MsgProfileAliasSetResponse, error) + EarlyAccessInvite(ctx context.Context, in *MsgEarlyAccessInvite, opts ...grpc.CallOption) (*MsgEarlyAccessInviteResponse, error) + ZealyConnect(ctx context.Context, in *MsgZealyConnect, opts ...grpc.CallOption) (*MsgZealyConnectResponse, error) + EncounterCreate(ctx context.Context, in *MsgEncounterCreate, opts ...grpc.CallOption) (*MsgEncounterCreateResponse, error) + EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) + EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) } type msgClient struct { @@ -466,6 +482,78 @@ func (c *msgClient) CardVoteMulti(ctx context.Context, in *MsgCardVoteMulti, opt return out, nil } +func (c *msgClient) MatchOpen(ctx context.Context, in *MsgMatchOpen, opts ...grpc.CallOption) (*MsgMatchOpenResponse, error) { + out := new(MsgMatchOpenResponse) + err := c.cc.Invoke(ctx, Msg_MatchOpen_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SetNameSet(ctx context.Context, in *MsgSetNameSet, opts ...grpc.CallOption) (*MsgSetNameSetResponse, error) { + out := new(MsgSetNameSetResponse) + err := c.cc.Invoke(ctx, Msg_SetNameSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ProfileAliasSet(ctx context.Context, in *MsgProfileAliasSet, opts ...grpc.CallOption) (*MsgProfileAliasSetResponse, error) { + out := new(MsgProfileAliasSetResponse) + err := c.cc.Invoke(ctx, Msg_ProfileAliasSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) EarlyAccessInvite(ctx context.Context, in *MsgEarlyAccessInvite, opts ...grpc.CallOption) (*MsgEarlyAccessInviteResponse, error) { + out := new(MsgEarlyAccessInviteResponse) + err := c.cc.Invoke(ctx, Msg_EarlyAccessInvite_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ZealyConnect(ctx context.Context, in *MsgZealyConnect, opts ...grpc.CallOption) (*MsgZealyConnectResponse, error) { + out := new(MsgZealyConnectResponse) + err := c.cc.Invoke(ctx, Msg_ZealyConnect_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) EncounterCreate(ctx context.Context, in *MsgEncounterCreate, opts ...grpc.CallOption) (*MsgEncounterCreateResponse, error) { + out := new(MsgEncounterCreateResponse) + err := c.cc.Invoke(ctx, Msg_EncounterCreate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) { + out := new(MsgEncounterDoResponse) + err := c.cc.Invoke(ctx, Msg_EncounterDo_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) { + out := new(MsgEncounterCloseResponse) + err := c.cc.Invoke(ctx, Msg_EncounterClose_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -511,6 +599,14 @@ type MsgServer interface { SetStoryWriterSet(context.Context, *MsgSetStoryWriterSet) (*MsgSetStoryWriterSetResponse, error) SetArtistSet(context.Context, *MsgSetArtistSet) (*MsgSetArtistSetResponse, error) CardVoteMulti(context.Context, *MsgCardVoteMulti) (*MsgCardVoteMultiResponse, error) + MatchOpen(context.Context, *MsgMatchOpen) (*MsgMatchOpenResponse, error) + SetNameSet(context.Context, *MsgSetNameSet) (*MsgSetNameSetResponse, error) + ProfileAliasSet(context.Context, *MsgProfileAliasSet) (*MsgProfileAliasSetResponse, error) + EarlyAccessInvite(context.Context, *MsgEarlyAccessInvite) (*MsgEarlyAccessInviteResponse, error) + ZealyConnect(context.Context, *MsgZealyConnect) (*MsgZealyConnectResponse, error) + EncounterCreate(context.Context, *MsgEncounterCreate) (*MsgEncounterCreateResponse, error) + EncounterDo(context.Context, *MsgEncounterDo) (*MsgEncounterDoResponse, error) + EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) mustEmbedUnimplementedMsgServer() } @@ -635,6 +731,30 @@ func (UnimplementedMsgServer) SetArtistSet(context.Context, *MsgSetArtistSet) (* func (UnimplementedMsgServer) CardVoteMulti(context.Context, *MsgCardVoteMulti) (*MsgCardVoteMultiResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CardVoteMulti not implemented") } +func (UnimplementedMsgServer) MatchOpen(context.Context, *MsgMatchOpen) (*MsgMatchOpenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchOpen not implemented") +} +func (UnimplementedMsgServer) SetNameSet(context.Context, *MsgSetNameSet) (*MsgSetNameSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetNameSet not implemented") +} +func (UnimplementedMsgServer) ProfileAliasSet(context.Context, *MsgProfileAliasSet) (*MsgProfileAliasSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProfileAliasSet not implemented") +} +func (UnimplementedMsgServer) EarlyAccessInvite(context.Context, *MsgEarlyAccessInvite) (*MsgEarlyAccessInviteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessInvite not implemented") +} +func (UnimplementedMsgServer) ZealyConnect(context.Context, *MsgZealyConnect) (*MsgZealyConnectResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ZealyConnect not implemented") +} +func (UnimplementedMsgServer) EncounterCreate(context.Context, *MsgEncounterCreate) (*MsgEncounterCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncounterCreate not implemented") +} +func (UnimplementedMsgServer) EncounterDo(context.Context, *MsgEncounterDo) (*MsgEncounterDoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncounterDo not implemented") +} +func (UnimplementedMsgServer) EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncounterClose not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -1350,6 +1470,150 @@ func _Msg_CardVoteMulti_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +func _Msg_MatchOpen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchOpen) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).MatchOpen(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_MatchOpen_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchOpen(ctx, req.(*MsgMatchOpen)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetNameSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetNameSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetNameSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetNameSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetNameSet(ctx, req.(*MsgSetNameSet)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ProfileAliasSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgProfileAliasSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ProfileAliasSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_ProfileAliasSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ProfileAliasSet(ctx, req.(*MsgProfileAliasSet)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_EarlyAccessInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEarlyAccessInvite) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).EarlyAccessInvite(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_EarlyAccessInvite_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EarlyAccessInvite(ctx, req.(*MsgEarlyAccessInvite)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ZealyConnect_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgZealyConnect) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ZealyConnect(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_ZealyConnect_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ZealyConnect(ctx, req.(*MsgZealyConnect)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_EncounterCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEncounterCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).EncounterCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_EncounterCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EncounterCreate(ctx, req.(*MsgEncounterCreate)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_EncounterDo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEncounterDo) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).EncounterDo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_EncounterDo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EncounterDo(ctx, req.(*MsgEncounterDo)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_EncounterClose_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEncounterClose) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).EncounterClose(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_EncounterClose_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EncounterClose(ctx, req.(*MsgEncounterClose)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1513,6 +1777,38 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "CardVoteMulti", Handler: _Msg_CardVoteMulti_Handler, }, + { + MethodName: "MatchOpen", + Handler: _Msg_MatchOpen_Handler, + }, + { + MethodName: "SetNameSet", + Handler: _Msg_SetNameSet_Handler, + }, + { + MethodName: "ProfileAliasSet", + Handler: _Msg_ProfileAliasSet_Handler, + }, + { + MethodName: "EarlyAccessInvite", + Handler: _Msg_EarlyAccessInvite_Handler, + }, + { + MethodName: "ZealyConnect", + Handler: _Msg_ZealyConnect_Handler, + }, + { + MethodName: "EncounterCreate", + Handler: _Msg_EncounterCreate_Handler, + }, + { + MethodName: "EncounterDo", + Handler: _Msg_EncounterDo_Handler, + }, + { + MethodName: "EncounterClose", + Handler: _Msg_EncounterClose_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index c78fcad3..246516b2 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"integer","format":"int32"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerAdeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBdeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh index 253e2af1..dd1b9ca6 100755 --- a/gen.sh +++ b/gen.sh @@ -40,3 +40,11 @@ #ignite scaffold message SetStoryWriterSet setId:uint storyWriter #ignite scaffold message SetArtistSet setId:uint artist #ignite scaffold message CardVoteMulti votes:array.int --response airdropClaimed:bool +ignite scaffold message MatchOpen playerA:string playerB:string playerADeck:uints playerBDeck:uints --response matchId:uint +ignite scaffold message SetNameSet setId:uint name +ignite scaffold message ProfileAliasSet alias +ignite scaffold message EarlyAccessInvite user +ignite scaffold message ZealyConnect zealyId +ignite scaffold message EncounterCreate name drawlist:uints parameters image +ignite scaffold message EncounterDo encounterId:uint user +ignite scaffold message EncounterClose encounterId:uint user won:bool diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 06d123b4..3088eb3a 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -70,6 +70,15 @@ service Msg { returns (MsgSetStoryWriterSetResponse); rpc SetArtistSet(MsgSetArtistSet) returns (MsgSetArtistSetResponse); rpc CardVoteMulti(MsgCardVoteMulti) returns (MsgCardVoteMultiResponse); + rpc MatchOpen(MsgMatchOpen) returns (MsgMatchOpenResponse); + rpc SetNameSet(MsgSetNameSet) returns (MsgSetNameSetResponse); + rpc ProfileAliasSet(MsgProfileAliasSet) returns (MsgProfileAliasSetResponse); + rpc EarlyAccessInvite(MsgEarlyAccessInvite) + returns (MsgEarlyAccessInviteResponse); + rpc ZealyConnect(MsgZealyConnect) returns (MsgZealyConnectResponse); + rpc EncounterCreate(MsgEncounterCreate) returns (MsgEncounterCreateResponse); + rpc EncounterDo(MsgEncounterDo) returns (MsgEncounterDoResponse); + rpc EncounterClose(MsgEncounterClose) returns (MsgEncounterCloseResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -426,3 +435,77 @@ message MsgCardVoteMulti { } message MsgCardVoteMultiResponse { bool airdropClaimed = 1; } + +message MsgMatchOpen { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string playerA = 2; + string playerB = 3; + repeated uint64 playerAdeck = 4; + repeated uint64 playerBdeck = 5; +} + +message MsgMatchOpenResponse { uint64 matchId = 1; } + +message MsgSetNameSet { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 setId = 2; + string name = 3; +} + +message MsgSetNameSetResponse {} + +message MsgProfileAliasSet { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string alias = 2; +} + +message MsgProfileAliasSetResponse {} + +message MsgEarlyAccessInvite { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string user = 2; +} + +message MsgEarlyAccessInviteResponse {} + +message MsgZealyConnect { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string zealyId = 2; +} + +message MsgZealyConnectResponse {} + +message MsgEncounterCreate { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string name = 2; + repeated uint64 drawlist = 3; + map parameters = 4; + bytes image = 5; +} + +message MsgEncounterCreateResponse {} + +message MsgEncounterDo { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 encounterId = 2; + string user = 3; +} + +message MsgEncounterDoResponse {} + +message MsgEncounterClose { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 encounterId = 2; + string user = 3; + bool won = 4; +} + +message MsgEncounterCloseResponse {} diff --git a/x/cardchain/keeper/msg_server_early_access_invite.go b/x/cardchain/keeper/msg_server_early_access_invite.go new file mode 100644 index 00000000..8c22d6db --- /dev/null +++ b/x/cardchain/keeper/msg_server_early_access_invite.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) EarlyAccessInvite(goCtx context.Context, msg *types.MsgEarlyAccessInvite) (*types.MsgEarlyAccessInviteResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgEarlyAccessInviteResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_encounter_close.go b/x/cardchain/keeper/msg_server_encounter_close.go new file mode 100644 index 00000000..3e29de8c --- /dev/null +++ b/x/cardchain/keeper/msg_server_encounter_close.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) EncounterClose(goCtx context.Context, msg *types.MsgEncounterClose) (*types.MsgEncounterCloseResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgEncounterCloseResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_encounter_create.go b/x/cardchain/keeper/msg_server_encounter_create.go new file mode 100644 index 00000000..424acd8f --- /dev/null +++ b/x/cardchain/keeper/msg_server_encounter_create.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) EncounterCreate(goCtx context.Context, msg *types.MsgEncounterCreate) (*types.MsgEncounterCreateResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgEncounterCreateResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_encounter_do.go b/x/cardchain/keeper/msg_server_encounter_do.go new file mode 100644 index 00000000..5ca210fa --- /dev/null +++ b/x/cardchain/keeper/msg_server_encounter_do.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) EncounterDo(goCtx context.Context, msg *types.MsgEncounterDo) (*types.MsgEncounterDoResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgEncounterDoResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_match_open.go b/x/cardchain/keeper/msg_server_match_open.go new file mode 100644 index 00000000..2f905358 --- /dev/null +++ b/x/cardchain/keeper/msg_server_match_open.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) MatchOpen(goCtx context.Context, msg *types.MsgMatchOpen) (*types.MsgMatchOpenResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgMatchOpenResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_profile_alias_set.go b/x/cardchain/keeper/msg_server_profile_alias_set.go new file mode 100644 index 00000000..e8ca2576 --- /dev/null +++ b/x/cardchain/keeper/msg_server_profile_alias_set.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) ProfileAliasSet(goCtx context.Context, msg *types.MsgProfileAliasSet) (*types.MsgProfileAliasSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgProfileAliasSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_name_set.go b/x/cardchain/keeper/msg_server_set_name_set.go new file mode 100644 index 00000000..0eb59a80 --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_name_set.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetNameSet(goCtx context.Context, msg *types.MsgSetNameSet) (*types.MsgSetNameSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgSetNameSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_zealy_connect.go b/x/cardchain/keeper/msg_server_zealy_connect.go new file mode 100644 index 00000000..3753ba52 --- /dev/null +++ b/x/cardchain/keeper/msg_server_zealy_connect.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) ZealyConnect(goCtx context.Context, msg *types.MsgZealyConnect) (*types.MsgZealyConnectResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Handling the message + _ = ctx + + return &types.MsgZealyConnectResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index cf18d0cd..ef5eebd1 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -256,6 +256,54 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Send a CardVoteMulti tx", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "votes"}}, }, + { + RpcMethod: "MatchOpen", + Use: "match-open [player-a] [player-b] [player-a-deck] [player-b-deck]", + Short: "Send a MatchOpen tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "playerA"}, {ProtoField: "playerB"}, {ProtoField: "playerAdeck"}, {ProtoField: "playerBdeck"}}, + }, + { + RpcMethod: "SetNameSet", + Use: "set-name-set [set-id] [name]", + Short: "Send a SetNameSet tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}, {ProtoField: "name"}}, + }, + { + RpcMethod: "ProfileAliasSet", + Use: "profile-alias-set [alias]", + Short: "Send a ProfileAliasSet tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "alias"}}, + }, + { + RpcMethod: "EarlyAccessInvite", + Use: "early-access-invite [user]", + Short: "Send a EarlyAccessInvite tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "user"}}, + }, + { + RpcMethod: "ZealyConnect", + Use: "zealy-connect [zealy-id]", + Short: "Send a ZealyConnect tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "zealyId"}}, + }, + { + RpcMethod: "EncounterCreate", + Use: "encounter-create [name] [drawlist] [parameters] [image]", + Short: "Send a EncounterCreate tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "name"}, {ProtoField: "drawlist"}, {ProtoField: "parameters"}, {ProtoField: "image"}}, + }, + { + RpcMethod: "EncounterDo", + Use: "encounter-do [encounter-id] [user]", + Short: "Send a EncounterDo tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "encounterId"}, {ProtoField: "user"}}, + }, + { + RpcMethod: "EncounterClose", + Use: "encounter-close [encounter-id] [user] [won]", + Short: "Send a EncounterClose tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "encounterId"}, {ProtoField: "user"}, {ProtoField: "won"}}, + }, // this line is used by ignite scaffolding # autocli/tx }, }, diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index c28370dd..3105fa4a 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -175,6 +175,38 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgCardVoteMulti int = 100 + opWeightMsgMatchOpen = "op_weight_msg_match_open" + // TODO: Determine the simulation weight value + defaultWeightMsgMatchOpen int = 100 + + opWeightMsgSetNameSet = "op_weight_msg_set_name_set" + // TODO: Determine the simulation weight value + defaultWeightMsgSetNameSet int = 100 + + opWeightMsgProfileAliasSet = "op_weight_msg_profile_alias_set" + // TODO: Determine the simulation weight value + defaultWeightMsgProfileAliasSet int = 100 + + opWeightMsgEarlyAccessInvite = "op_weight_msg_early_access_invite" + // TODO: Determine the simulation weight value + defaultWeightMsgEarlyAccessInvite int = 100 + + opWeightMsgZealyConnect = "op_weight_msg_zealy_connect" + // TODO: Determine the simulation weight value + defaultWeightMsgZealyConnect int = 100 + + opWeightMsgEncounterCreate = "op_weight_msg_encounter_create" + // TODO: Determine the simulation weight value + defaultWeightMsgEncounterCreate int = 100 + + opWeightMsgEncounterDo = "op_weight_msg_encounter_do" + // TODO: Determine the simulation weight value + defaultWeightMsgEncounterDo int = 100 + + opWeightMsgEncounterClose = "op_weight_msg_encounter_close" + // TODO: Determine the simulation weight value + defaultWeightMsgEncounterClose int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -616,6 +648,94 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgCardVoteMulti(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgMatchOpen int + simState.AppParams.GetOrGenerate(opWeightMsgMatchOpen, &weightMsgMatchOpen, nil, + func(_ *rand.Rand) { + weightMsgMatchOpen = defaultWeightMsgMatchOpen + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgMatchOpen, + cardchainsimulation.SimulateMsgMatchOpen(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSetNameSet int + simState.AppParams.GetOrGenerate(opWeightMsgSetNameSet, &weightMsgSetNameSet, nil, + func(_ *rand.Rand) { + weightMsgSetNameSet = defaultWeightMsgSetNameSet + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetNameSet, + cardchainsimulation.SimulateMsgSetNameSet(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgProfileAliasSet int + simState.AppParams.GetOrGenerate(opWeightMsgProfileAliasSet, &weightMsgProfileAliasSet, nil, + func(_ *rand.Rand) { + weightMsgProfileAliasSet = defaultWeightMsgProfileAliasSet + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgProfileAliasSet, + cardchainsimulation.SimulateMsgProfileAliasSet(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgEarlyAccessInvite int + simState.AppParams.GetOrGenerate(opWeightMsgEarlyAccessInvite, &weightMsgEarlyAccessInvite, nil, + func(_ *rand.Rand) { + weightMsgEarlyAccessInvite = defaultWeightMsgEarlyAccessInvite + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgEarlyAccessInvite, + cardchainsimulation.SimulateMsgEarlyAccessInvite(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgZealyConnect int + simState.AppParams.GetOrGenerate(opWeightMsgZealyConnect, &weightMsgZealyConnect, nil, + func(_ *rand.Rand) { + weightMsgZealyConnect = defaultWeightMsgZealyConnect + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgZealyConnect, + cardchainsimulation.SimulateMsgZealyConnect(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgEncounterCreate int + simState.AppParams.GetOrGenerate(opWeightMsgEncounterCreate, &weightMsgEncounterCreate, nil, + func(_ *rand.Rand) { + weightMsgEncounterCreate = defaultWeightMsgEncounterCreate + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgEncounterCreate, + cardchainsimulation.SimulateMsgEncounterCreate(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgEncounterDo int + simState.AppParams.GetOrGenerate(opWeightMsgEncounterDo, &weightMsgEncounterDo, nil, + func(_ *rand.Rand) { + weightMsgEncounterDo = defaultWeightMsgEncounterDo + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgEncounterDo, + cardchainsimulation.SimulateMsgEncounterDo(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgEncounterClose int + simState.AppParams.GetOrGenerate(opWeightMsgEncounterClose, &weightMsgEncounterClose, nil, + func(_ *rand.Rand) { + weightMsgEncounterClose = defaultWeightMsgEncounterClose + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgEncounterClose, + cardchainsimulation.SimulateMsgEncounterClose(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -928,6 +1048,70 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei return nil }, ), + simulation.NewWeightedProposalMsg( + opWeightMsgMatchOpen, + defaultWeightMsgMatchOpen, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgMatchOpen(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgSetNameSet, + defaultWeightMsgSetNameSet, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSetNameSet(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgProfileAliasSet, + defaultWeightMsgProfileAliasSet, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgProfileAliasSet(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgEarlyAccessInvite, + defaultWeightMsgEarlyAccessInvite, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgEarlyAccessInvite(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgZealyConnect, + defaultWeightMsgZealyConnect, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgZealyConnect(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgEncounterCreate, + defaultWeightMsgEncounterCreate, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgEncounterCreate(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgEncounterDo, + defaultWeightMsgEncounterDo, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgEncounterDo(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgEncounterClose, + defaultWeightMsgEncounterClose, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgEncounterClose(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/early_access_invite.go b/x/cardchain/simulation/early_access_invite.go new file mode 100644 index 00000000..9ccfed72 --- /dev/null +++ b/x/cardchain/simulation/early_access_invite.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 SimulateMsgEarlyAccessInvite( + 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.MsgEarlyAccessInvite{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the EarlyAccessInvite simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "EarlyAccessInvite simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/encounter_close.go b/x/cardchain/simulation/encounter_close.go new file mode 100644 index 00000000..a4426775 --- /dev/null +++ b/x/cardchain/simulation/encounter_close.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 SimulateMsgEncounterClose( + 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.MsgEncounterClose{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the EncounterClose simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "EncounterClose simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/encounter_create.go b/x/cardchain/simulation/encounter_create.go new file mode 100644 index 00000000..896f6c2a --- /dev/null +++ b/x/cardchain/simulation/encounter_create.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 SimulateMsgEncounterCreate( + 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.MsgEncounterCreate{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the EncounterCreate simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "EncounterCreate simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/encounter_do.go b/x/cardchain/simulation/encounter_do.go new file mode 100644 index 00000000..6429cb44 --- /dev/null +++ b/x/cardchain/simulation/encounter_do.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 SimulateMsgEncounterDo( + 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.MsgEncounterDo{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the EncounterDo simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "EncounterDo simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/match_open.go b/x/cardchain/simulation/match_open.go new file mode 100644 index 00000000..cb5ca8b8 --- /dev/null +++ b/x/cardchain/simulation/match_open.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 SimulateMsgMatchOpen( + 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.MsgMatchOpen{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the MatchOpen simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "MatchOpen simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/profile_alias_set.go b/x/cardchain/simulation/profile_alias_set.go new file mode 100644 index 00000000..810a2b52 --- /dev/null +++ b/x/cardchain/simulation/profile_alias_set.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 SimulateMsgProfileAliasSet( + 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.MsgProfileAliasSet{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the ProfileAliasSet simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "ProfileAliasSet simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_name_set.go b/x/cardchain/simulation/set_name_set.go new file mode 100644 index 00000000..f9930365 --- /dev/null +++ b/x/cardchain/simulation/set_name_set.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 SimulateMsgSetNameSet( + 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.MsgSetNameSet{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetNameSet simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SetNameSet simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/zealy_connect.go b/x/cardchain/simulation/zealy_connect.go new file mode 100644 index 00000000..48e2303f --- /dev/null +++ b/x/cardchain/simulation/zealy_connect.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 SimulateMsgZealyConnect( + 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.MsgZealyConnect{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the ZealyConnect simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "ZealyConnect simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 663fe17c..4da70096 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -122,6 +122,30 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgCardVoteMulti{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgMatchOpen{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetNameSet{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgProfileAliasSet{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgEarlyAccessInvite{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgZealyConnect{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgEncounterCreate{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgEncounterDo{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgEncounterClose{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/cardchain/types/message_early_access_invite.go b/x/cardchain/types/message_early_access_invite.go new file mode 100644 index 00000000..a983d45c --- /dev/null +++ b/x/cardchain/types/message_early_access_invite.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgEarlyAccessInvite{} + +func NewMsgEarlyAccessInvite(creator string, user string) *MsgEarlyAccessInvite { + return &MsgEarlyAccessInvite{ + Creator: creator, + User: user, + } +} + +func (msg *MsgEarlyAccessInvite) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_early_access_invite_test.go b/x/cardchain/types/message_early_access_invite_test.go new file mode 100644 index 00000000..9696f091 --- /dev/null +++ b/x/cardchain/types/message_early_access_invite_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgEarlyAccessInvite_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgEarlyAccessInvite + err error + }{ + { + name: "invalid address", + msg: MsgEarlyAccessInvite{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgEarlyAccessInvite{ + 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_encounter_close.go b/x/cardchain/types/message_encounter_close.go new file mode 100644 index 00000000..f5197633 --- /dev/null +++ b/x/cardchain/types/message_encounter_close.go @@ -0,0 +1,26 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgEncounterClose{} + +func NewMsgEncounterClose(creator string, encounterId uint64, user string, won bool) *MsgEncounterClose { + return &MsgEncounterClose{ + Creator: creator, + EncounterId: encounterId, + User: user, + Won: won, + } +} + +func (msg *MsgEncounterClose) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_encounter_close_test.go b/x/cardchain/types/message_encounter_close_test.go new file mode 100644 index 00000000..234926c2 --- /dev/null +++ b/x/cardchain/types/message_encounter_close_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgEncounterClose_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgEncounterClose + err error + }{ + { + name: "invalid address", + msg: MsgEncounterClose{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgEncounterClose{ + 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_encounter_create.go b/x/cardchain/types/message_encounter_create.go new file mode 100644 index 00000000..de82f190 --- /dev/null +++ b/x/cardchain/types/message_encounter_create.go @@ -0,0 +1,27 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgEncounterCreate{} + +func NewMsgEncounterCreate(creator string, name string, drawlist []uint64, parameters map[string]string, image []byte) *MsgEncounterCreate { + return &MsgEncounterCreate{ + Creator: creator, + Name: name, + Drawlist: drawlist, + Parameters: parameters, + Image: image, + } +} + +func (msg *MsgEncounterCreate) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_encounter_create_test.go b/x/cardchain/types/message_encounter_create_test.go new file mode 100644 index 00000000..8a300470 --- /dev/null +++ b/x/cardchain/types/message_encounter_create_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgEncounterCreate_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgEncounterCreate + err error + }{ + { + name: "invalid address", + msg: MsgEncounterCreate{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgEncounterCreate{ + 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_encounter_do.go b/x/cardchain/types/message_encounter_do.go new file mode 100644 index 00000000..4c78b0c5 --- /dev/null +++ b/x/cardchain/types/message_encounter_do.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgEncounterDo{} + +func NewMsgEncounterDo(creator string, encounterId uint64, user string) *MsgEncounterDo { + return &MsgEncounterDo{ + Creator: creator, + EncounterId: encounterId, + User: user, + } +} + +func (msg *MsgEncounterDo) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_encounter_do_test.go b/x/cardchain/types/message_encounter_do_test.go new file mode 100644 index 00000000..3bfa43c3 --- /dev/null +++ b/x/cardchain/types/message_encounter_do_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgEncounterDo_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgEncounterDo + err error + }{ + { + name: "invalid address", + msg: MsgEncounterDo{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgEncounterDo{ + 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_match_open.go b/x/cardchain/types/message_match_open.go new file mode 100644 index 00000000..31523fdb --- /dev/null +++ b/x/cardchain/types/message_match_open.go @@ -0,0 +1,27 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgMatchOpen{} + +func NewMsgMatchOpen(creator string, playerA string, playerB string, playerAdeck []uint64, playerBdeck []uint64) *MsgMatchOpen { + return &MsgMatchOpen{ + Creator: creator, + PlayerA: playerA, + PlayerB: playerB, + PlayerAdeck: playerAdeck, + PlayerBdeck: playerBdeck, + } +} + +func (msg *MsgMatchOpen) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_match_open_test.go b/x/cardchain/types/message_match_open_test.go new file mode 100644 index 00000000..d383cac8 --- /dev/null +++ b/x/cardchain/types/message_match_open_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgMatchOpen_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgMatchOpen + err error + }{ + { + name: "invalid address", + msg: MsgMatchOpen{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgMatchOpen{ + 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_profile_alias_set.go b/x/cardchain/types/message_profile_alias_set.go new file mode 100644 index 00000000..8d814d32 --- /dev/null +++ b/x/cardchain/types/message_profile_alias_set.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgProfileAliasSet{} + +func NewMsgProfileAliasSet(creator string, alias string) *MsgProfileAliasSet { + return &MsgProfileAliasSet{ + Creator: creator, + Alias: alias, + } +} + +func (msg *MsgProfileAliasSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_profile_alias_set_test.go b/x/cardchain/types/message_profile_alias_set_test.go new file mode 100644 index 00000000..b721d4d2 --- /dev/null +++ b/x/cardchain/types/message_profile_alias_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgProfileAliasSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgProfileAliasSet + err error + }{ + { + name: "invalid address", + msg: MsgProfileAliasSet{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgProfileAliasSet{ + 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_name_set.go b/x/cardchain/types/message_set_name_set.go new file mode 100644 index 00000000..1072f4b0 --- /dev/null +++ b/x/cardchain/types/message_set_name_set.go @@ -0,0 +1,25 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSetNameSet{} + +func NewMsgSetNameSet(creator string, setId uint64, name string) *MsgSetNameSet { + return &MsgSetNameSet{ + Creator: creator, + SetId: setId, + Name: name, + } +} + +func (msg *MsgSetNameSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_name_set_test.go b/x/cardchain/types/message_set_name_set_test.go new file mode 100644 index 00000000..53b40dfe --- /dev/null +++ b/x/cardchain/types/message_set_name_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetNameSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetNameSet + err error + }{ + { + name: "invalid address", + msg: MsgSetNameSet{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetNameSet{ + 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_zealy_connect.go b/x/cardchain/types/message_zealy_connect.go new file mode 100644 index 00000000..24f8f55b --- /dev/null +++ b/x/cardchain/types/message_zealy_connect.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgZealyConnect{} + +func NewMsgZealyConnect(creator string, zealyId string) *MsgZealyConnect { + return &MsgZealyConnect{ + Creator: creator, + ZealyId: zealyId, + } +} + +func (msg *MsgZealyConnect) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_zealy_connect_test.go b/x/cardchain/types/message_zealy_connect_test.go new file mode 100644 index 00000000..429f2a32 --- /dev/null +++ b/x/cardchain/types/message_zealy_connect_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgZealyConnect_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgZealyConnect + err error + }{ + { + name: "invalid address", + msg: MsgZealyConnect{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgZealyConnect{ + 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/tx.pb.go b/x/cardchain/types/tx.pb.go index c91b917d..61d27bef 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -3774,2783 +3774,2816 @@ func (m *MsgCardVoteMultiResponse) GetAirdropClaimed() bool { return false } -func init() { - proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") - proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") - proto.RegisterType((*MsgUserCreate)(nil), "cardchain.cardchain.MsgUserCreate") - proto.RegisterType((*MsgUserCreateResponse)(nil), "cardchain.cardchain.MsgUserCreateResponse") - proto.RegisterType((*MsgCardSchemeBuy)(nil), "cardchain.cardchain.MsgCardSchemeBuy") - proto.RegisterType((*MsgCardSchemeBuyResponse)(nil), "cardchain.cardchain.MsgCardSchemeBuyResponse") - proto.RegisterType((*MsgCardSaveContent)(nil), "cardchain.cardchain.MsgCardSaveContent") - proto.RegisterType((*MsgCardSaveContentResponse)(nil), "cardchain.cardchain.MsgCardSaveContentResponse") - proto.RegisterType((*MsgCardVote)(nil), "cardchain.cardchain.MsgCardVote") - proto.RegisterType((*MsgCardVoteResponse)(nil), "cardchain.cardchain.MsgCardVoteResponse") - proto.RegisterType((*MsgCardTransfer)(nil), "cardchain.cardchain.MsgCardTransfer") - proto.RegisterType((*MsgCardTransferResponse)(nil), "cardchain.cardchain.MsgCardTransferResponse") - proto.RegisterType((*MsgCardDonate)(nil), "cardchain.cardchain.MsgCardDonate") - proto.RegisterType((*MsgCardDonateResponse)(nil), "cardchain.cardchain.MsgCardDonateResponse") - proto.RegisterType((*MsgCardArtworkAdd)(nil), "cardchain.cardchain.MsgCardArtworkAdd") - proto.RegisterType((*MsgCardArtworkAddResponse)(nil), "cardchain.cardchain.MsgCardArtworkAddResponse") - proto.RegisterType((*MsgCardArtistChange)(nil), "cardchain.cardchain.MsgCardArtistChange") - proto.RegisterType((*MsgCardArtistChangeResponse)(nil), "cardchain.cardchain.MsgCardArtistChangeResponse") - proto.RegisterType((*MsgCouncilRegister)(nil), "cardchain.cardchain.MsgCouncilRegister") - proto.RegisterType((*MsgCouncilRegisterResponse)(nil), "cardchain.cardchain.MsgCouncilRegisterResponse") - proto.RegisterType((*MsgCouncilDeregister)(nil), "cardchain.cardchain.MsgCouncilDeregister") - proto.RegisterType((*MsgCouncilDeregisterResponse)(nil), "cardchain.cardchain.MsgCouncilDeregisterResponse") - proto.RegisterType((*MsgMatchReport)(nil), "cardchain.cardchain.MsgMatchReport") - proto.RegisterType((*MsgMatchReportResponse)(nil), "cardchain.cardchain.MsgMatchReportResponse") - proto.RegisterType((*MsgCouncilCreate)(nil), "cardchain.cardchain.MsgCouncilCreate") - proto.RegisterType((*MsgCouncilCreateResponse)(nil), "cardchain.cardchain.MsgCouncilCreateResponse") - proto.RegisterType((*MsgMatchReporterAppoint)(nil), "cardchain.cardchain.MsgMatchReporterAppoint") - proto.RegisterType((*MsgMatchReporterAppointResponse)(nil), "cardchain.cardchain.MsgMatchReporterAppointResponse") - proto.RegisterType((*MsgSetCreate)(nil), "cardchain.cardchain.MsgSetCreate") - proto.RegisterType((*MsgSetCreateResponse)(nil), "cardchain.cardchain.MsgSetCreateResponse") - proto.RegisterType((*MsgSetCardAdd)(nil), "cardchain.cardchain.MsgSetCardAdd") - proto.RegisterType((*MsgSetCardAddResponse)(nil), "cardchain.cardchain.MsgSetCardAddResponse") - proto.RegisterType((*MsgSetCardRemove)(nil), "cardchain.cardchain.MsgSetCardRemove") - proto.RegisterType((*MsgSetCardRemoveResponse)(nil), "cardchain.cardchain.MsgSetCardRemoveResponse") - proto.RegisterType((*MsgSetContributorAdd)(nil), "cardchain.cardchain.MsgSetContributorAdd") - proto.RegisterType((*MsgSetContributorAddResponse)(nil), "cardchain.cardchain.MsgSetContributorAddResponse") - proto.RegisterType((*MsgSetContributorRemove)(nil), "cardchain.cardchain.MsgSetContributorRemove") - proto.RegisterType((*MsgSetContributorRemoveResponse)(nil), "cardchain.cardchain.MsgSetContributorRemoveResponse") - proto.RegisterType((*MsgSetFinalize)(nil), "cardchain.cardchain.MsgSetFinalize") - proto.RegisterType((*MsgSetFinalizeResponse)(nil), "cardchain.cardchain.MsgSetFinalizeResponse") - proto.RegisterType((*MsgSetArtworkAdd)(nil), "cardchain.cardchain.MsgSetArtworkAdd") - proto.RegisterType((*MsgSetArtworkAddResponse)(nil), "cardchain.cardchain.MsgSetArtworkAddResponse") - proto.RegisterType((*MsgSetStoryAdd)(nil), "cardchain.cardchain.MsgSetStoryAdd") - proto.RegisterType((*MsgSetStoryAddResponse)(nil), "cardchain.cardchain.MsgSetStoryAddResponse") - proto.RegisterType((*MsgBoosterPackBuy)(nil), "cardchain.cardchain.MsgBoosterPackBuy") - proto.RegisterType((*MsgBoosterPackBuyResponse)(nil), "cardchain.cardchain.MsgBoosterPackBuyResponse") - proto.RegisterType((*MsgSellOfferCreate)(nil), "cardchain.cardchain.MsgSellOfferCreate") - proto.RegisterType((*MsgSellOfferCreateResponse)(nil), "cardchain.cardchain.MsgSellOfferCreateResponse") - proto.RegisterType((*MsgSellOfferBuy)(nil), "cardchain.cardchain.MsgSellOfferBuy") - proto.RegisterType((*MsgSellOfferBuyResponse)(nil), "cardchain.cardchain.MsgSellOfferBuyResponse") - proto.RegisterType((*MsgSellOfferRemove)(nil), "cardchain.cardchain.MsgSellOfferRemove") - proto.RegisterType((*MsgSellOfferRemoveResponse)(nil), "cardchain.cardchain.MsgSellOfferRemoveResponse") - proto.RegisterType((*MsgCardRaritySet)(nil), "cardchain.cardchain.MsgCardRaritySet") - proto.RegisterType((*MsgCardRaritySetResponse)(nil), "cardchain.cardchain.MsgCardRaritySetResponse") - proto.RegisterType((*MsgCouncilResponseCommit)(nil), "cardchain.cardchain.MsgCouncilResponseCommit") - proto.RegisterType((*MsgCouncilResponseCommitResponse)(nil), "cardchain.cardchain.MsgCouncilResponseCommitResponse") - proto.RegisterType((*MsgCouncilResponseReveal)(nil), "cardchain.cardchain.MsgCouncilResponseReveal") - proto.RegisterType((*MsgCouncilResponseRevealResponse)(nil), "cardchain.cardchain.MsgCouncilResponseRevealResponse") - proto.RegisterType((*MsgCouncilRestart)(nil), "cardchain.cardchain.MsgCouncilRestart") - proto.RegisterType((*MsgCouncilRestartResponse)(nil), "cardchain.cardchain.MsgCouncilRestartResponse") - proto.RegisterType((*MsgMatchConfirm)(nil), "cardchain.cardchain.MsgMatchConfirm") - proto.RegisterType((*MsgMatchConfirmResponse)(nil), "cardchain.cardchain.MsgMatchConfirmResponse") - proto.RegisterType((*MsgProfileCardSet)(nil), "cardchain.cardchain.MsgProfileCardSet") - proto.RegisterType((*MsgProfileCardSetResponse)(nil), "cardchain.cardchain.MsgProfileCardSetResponse") - proto.RegisterType((*MsgProfileWebsiteSet)(nil), "cardchain.cardchain.MsgProfileWebsiteSet") - proto.RegisterType((*MsgProfileWebsiteSetResponse)(nil), "cardchain.cardchain.MsgProfileWebsiteSetResponse") - proto.RegisterType((*MsgProfileBioSet)(nil), "cardchain.cardchain.MsgProfileBioSet") - proto.RegisterType((*MsgProfileBioSetResponse)(nil), "cardchain.cardchain.MsgProfileBioSetResponse") - proto.RegisterType((*MsgBoosterPackOpen)(nil), "cardchain.cardchain.MsgBoosterPackOpen") - proto.RegisterType((*MsgBoosterPackOpenResponse)(nil), "cardchain.cardchain.MsgBoosterPackOpenResponse") - proto.RegisterType((*MsgBoosterPackTransfer)(nil), "cardchain.cardchain.MsgBoosterPackTransfer") - proto.RegisterType((*MsgBoosterPackTransferResponse)(nil), "cardchain.cardchain.MsgBoosterPackTransferResponse") - proto.RegisterType((*MsgSetStoryWriterSet)(nil), "cardchain.cardchain.MsgSetStoryWriterSet") - proto.RegisterType((*MsgSetStoryWriterSetResponse)(nil), "cardchain.cardchain.MsgSetStoryWriterSetResponse") - proto.RegisterType((*MsgSetArtistSet)(nil), "cardchain.cardchain.MsgSetArtistSet") - proto.RegisterType((*MsgSetArtistSetResponse)(nil), "cardchain.cardchain.MsgSetArtistSetResponse") - proto.RegisterType((*MsgCardVoteMulti)(nil), "cardchain.cardchain.MsgCardVoteMulti") - proto.RegisterType((*MsgCardVoteMultiResponse)(nil), "cardchain.cardchain.MsgCardVoteMultiResponse") +type MsgMatchOpen 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 init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } - -var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2307 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0xf7, 0x9a, 0x92, 0x2c, 0x8d, 0x65, 0xd9, 0x5e, 0x2b, 0x36, 0xbd, 0x56, 0x68, 0x9a, 0x91, - 0x6c, 0x59, 0x91, 0xc4, 0x4a, 0x8e, 0xed, 0x20, 0x68, 0x53, 0x88, 0x32, 0x5a, 0x14, 0xa8, 0x6a, - 0x77, 0xd9, 0x26, 0x4d, 0xbf, 0x82, 0x25, 0x39, 0xa2, 0xb6, 0xe2, 0xee, 0x30, 0xbb, 0x43, 0x3a, - 0x0a, 0x50, 0xa0, 0x48, 0x2f, 0x45, 0x7b, 0xe9, 0xb9, 0xb7, 0xde, 0x72, 0x74, 0x81, 0xf6, 0x1f, - 0x68, 0x2f, 0x39, 0xf4, 0x10, 0xe4, 0xd4, 0x53, 0x51, 0xd8, 0x07, 0xff, 0x1b, 0xc5, 0x7c, 0xec, - 0xec, 0xec, 0x70, 0x76, 0x76, 0x49, 0x20, 0x17, 0x9b, 0x33, 0xf3, 0x9b, 0xf7, 0x31, 0xf3, 0xe6, - 0xbd, 0xb7, 0x3f, 0x08, 0xac, 0x75, 0xbd, 0xa8, 0xd7, 0x3d, 0xf1, 0xfc, 0xb0, 0x99, 0xfe, 0xc2, - 0x9f, 0xee, 0x0e, 0x23, 0x84, 0x91, 0x7d, 0x4d, 0xcc, 0xed, 0x8a, 0x5f, 0xce, 0x55, 0x2f, 0xf0, - 0x43, 0xd4, 0xa4, 0xff, 0x32, 0x9c, 0x73, 0xa3, 0x8b, 0xe2, 0x00, 0xc5, 0xcd, 0x20, 0xee, 0x37, - 0xc7, 0x7b, 0xe4, 0x3f, 0xbe, 0x70, 0x93, 0x2d, 0x7c, 0x4c, 0x47, 0x4d, 0x36, 0xe0, 0x4b, 0xab, - 0x7d, 0xd4, 0x47, 0x6c, 0x9e, 0xfc, 0xe2, 0xb3, 0x75, 0x9d, 0x3d, 0x43, 0x2f, 0xf2, 0x82, 0x64, - 0x5f, 0x8d, 0xeb, 0xea, 0x78, 0x31, 0x6c, 0x8e, 0xf7, 0x3a, 0x10, 0x7b, 0x7b, 0xcd, 0x2e, 0xf2, - 0x43, 0x93, 0x84, 0x31, 0xc2, 0x7e, 0x98, 0x18, 0x75, 0x5b, 0x87, 0x08, 0x3c, 0xdc, 0x3d, 0xe1, - 0x80, 0x3b, 0x3a, 0x40, 0x17, 0x8d, 0xc2, 0xae, 0x3f, 0x10, 0x56, 0xe8, 0x20, 0x5e, 0xd4, 0x63, - 0xeb, 0x8d, 0x7f, 0x59, 0xe0, 0xf2, 0x51, 0xdc, 0xff, 0xe9, 0xb0, 0xe7, 0x61, 0xf8, 0x8c, 0xda, - 0x6f, 0x3f, 0x02, 0x4b, 0xde, 0x08, 0x9f, 0xa0, 0xc8, 0xc7, 0x67, 0x55, 0xab, 0x6e, 0x6d, 0x2e, - 0xb5, 0xaa, 0x5f, 0xff, 0x7d, 0x67, 0x95, 0x1f, 0xcb, 0x41, 0xaf, 0x17, 0xc1, 0x38, 0x6e, 0xe3, - 0xc8, 0x0f, 0xfb, 0x6e, 0x0a, 0xb5, 0xdf, 0x07, 0x0b, 0xec, 0x04, 0xaa, 0xe7, 0xeb, 0xd6, 0xe6, - 0xc5, 0xfd, 0x5b, 0xbb, 0x9a, 0x6b, 0xd9, 0x65, 0x4a, 0x5a, 0x4b, 0x5f, 0xfe, 0xf7, 0xf6, 0xb9, - 0x2f, 0x5e, 0xbf, 0xd8, 0xb2, 0x5c, 0xbe, 0xeb, 0xbd, 0x77, 0x3f, 0x7f, 0xfd, 0x62, 0x2b, 0x95, - 0xf7, 0xc7, 0xd7, 0x2f, 0xb6, 0x36, 0x52, 0xa3, 0x3f, 0x95, 0x1c, 0x50, 0x2c, 0x6e, 0xdc, 0x04, - 0x37, 0x94, 0x29, 0x17, 0xc6, 0x43, 0x14, 0xc6, 0xb0, 0xd1, 0x07, 0x97, 0xc8, 0x52, 0x0c, 0xa3, - 0xc3, 0x08, 0x7a, 0x18, 0xda, 0x55, 0x70, 0xa1, 0x4b, 0x7e, 0xa1, 0x88, 0xf9, 0xe6, 0x26, 0x43, - 0xb2, 0x12, 0xc2, 0xe7, 0x04, 0x4a, 0x1d, 0x58, 0x72, 0x93, 0xa1, 0xbd, 0x0a, 0xe6, 0xbd, 0x81, - 0xef, 0xc5, 0xd5, 0x0a, 0x9d, 0x67, 0x83, 0xf7, 0x96, 0x89, 0xbd, 0xc9, 0xee, 0xc6, 0x0d, 0xf0, - 0x46, 0x46, 0x91, 0xb0, 0x20, 0x00, 0x57, 0x8e, 0xe2, 0xfe, 0xa1, 0x17, 0xf5, 0xda, 0xdd, 0x13, - 0x18, 0xc0, 0xd6, 0xe8, 0xcc, 0x60, 0xc4, 0x1e, 0xa8, 0x74, 0xfc, 0x1e, 0x3f, 0xc1, 0x9b, 0xbb, - 0xfc, 0xcc, 0x49, 0x10, 0xed, 0xf2, 0x20, 0xda, 0x3d, 0x44, 0x7e, 0xd8, 0x9a, 0x23, 0xe7, 0xe7, - 0x12, 0xac, 0x62, 0xc7, 0x3e, 0xa8, 0xaa, 0xea, 0x12, 0x53, 0xec, 0xeb, 0x60, 0x81, 0x1c, 0xe2, - 0x0f, 0x7a, 0x54, 0xeb, 0x9c, 0xcb, 0x47, 0x8d, 0x7f, 0x5a, 0xc0, 0x4e, 0x36, 0x79, 0x63, 0x78, - 0x88, 0x42, 0x0c, 0x43, 0x6c, 0xb0, 0x32, 0x15, 0x74, 0x5e, 0x16, 0x44, 0x77, 0xb0, 0xcd, 0xf4, - 0xa8, 0x96, 0xdd, 0x64, 0x48, 0x8e, 0x30, 0x44, 0x18, 0xc6, 0xd5, 0x39, 0x76, 0x84, 0x74, 0x40, - 0xe4, 0x78, 0x11, 0xf6, 0x63, 0x5c, 0x9d, 0xa7, 0xd3, 0x7c, 0x64, 0xaf, 0x83, 0x4b, 0x1d, 0x6f, - 0xe0, 0x85, 0x5d, 0x78, 0x10, 0x76, 0x4f, 0x50, 0x54, 0x5d, 0xa8, 0x5b, 0x9b, 0x8b, 0x6e, 0x76, - 0x52, 0x71, 0xfc, 0x09, 0x70, 0x26, 0x7d, 0x10, 0xae, 0xdf, 0x05, 0x2b, 0x9e, 0x1f, 0xf5, 0x22, - 0x34, 0x3c, 0x1c, 0x78, 0x7e, 0x00, 0xd9, 0x11, 0x2c, 0xba, 0xca, 0x6c, 0xe3, 0x37, 0xe0, 0x22, - 0x97, 0xf2, 0x01, 0x32, 0x46, 0xcb, 0x03, 0x30, 0x37, 0x46, 0x18, 0xf2, 0x9b, 0xba, 0xad, 0x8d, - 0xf5, 0xb6, 0x1f, 0xf6, 0x07, 0x90, 0x08, 0x72, 0x29, 0x58, 0xb1, 0xf8, 0x3b, 0xe0, 0x9a, 0xa4, - 0x6b, 0x6a, 0x53, 0x03, 0xfa, 0x74, 0xc9, 0xf6, 0x9f, 0x44, 0x5e, 0x18, 0x1f, 0xc3, 0x68, 0x86, - 0x1b, 0x73, 0xc0, 0x62, 0x04, 0xbb, 0xd0, 0x1f, 0xc3, 0x88, 0x47, 0xb7, 0x18, 0x2b, 0xd6, 0xb2, - 0x47, 0x26, 0xab, 0x13, 0x21, 0xfe, 0x07, 0x8b, 0xbe, 0x32, 0xb2, 0xf6, 0x04, 0x85, 0xe6, 0x57, - 0x96, 0x67, 0xc8, 0x63, 0xb0, 0xe0, 0x05, 0x68, 0xc4, 0x23, 0xa7, 0x44, 0xec, 0x73, 0xb8, 0xf6, - 0x19, 0xa6, 0x96, 0x08, 0x1b, 0x7f, 0x6f, 0x81, 0xab, 0x7c, 0xe5, 0x20, 0xc2, 0xcf, 0x51, 0x74, - 0x7a, 0xd0, 0xeb, 0xcd, 0x60, 0xe7, 0x2a, 0x98, 0xf7, 0x03, 0xaf, 0x0f, 0x79, 0x80, 0xb3, 0x01, - 0x91, 0x73, 0x3c, 0x1a, 0x0c, 0x0e, 0x22, 0x4c, 0x03, 0x7c, 0xd1, 0x4d, 0x86, 0x8a, 0x79, 0xb7, - 0xc0, 0xcd, 0x09, 0x23, 0xa4, 0x4c, 0x71, 0x2d, 0x5d, 0xf4, 0x63, 0x7c, 0x78, 0xe2, 0x85, 0xfd, - 0x59, 0xce, 0x32, 0x7d, 0x56, 0x15, 0xf9, 0x59, 0x29, 0xb6, 0xbc, 0x09, 0x6e, 0x69, 0xd4, 0x09, - 0x6b, 0xbe, 0xcd, 0x72, 0x02, 0x2b, 0x27, 0x2e, 0xec, 0xfb, 0x31, 0x36, 0x45, 0x98, 0x22, 0x7c, - 0x8d, 0xbd, 0xc6, 0xec, 0x6e, 0x21, 0xfb, 0x7d, 0xb0, 0x9a, 0xae, 0x3e, 0x81, 0xd1, 0xb4, 0xd2, - 0x6b, 0x60, 0x4d, 0xb7, 0x5f, 0xc8, 0xff, 0xda, 0x02, 0x2b, 0x47, 0x71, 0xff, 0x88, 0x14, 0x4b, - 0x17, 0x0e, 0x51, 0x84, 0xcd, 0x79, 0x9f, 0x56, 0x55, 0x71, 0x8c, 0xc9, 0xd0, 0x6e, 0x80, 0xe5, - 0xe1, 0xc0, 0x3b, 0x83, 0x3d, 0x72, 0x48, 0xf1, 0x41, 0xb5, 0x52, 0xaf, 0x6c, 0xce, 0xb9, 0x99, - 0x39, 0x05, 0xd3, 0xaa, 0xce, 0x4d, 0x60, 0x5a, 0xf6, 0x23, 0x70, 0x01, 0x8d, 0x70, 0x17, 0x05, - 0x90, 0xe6, 0xb9, 0x95, 0xfd, 0x35, 0x6d, 0xba, 0x78, 0xca, 0x30, 0x6e, 0x02, 0x56, 0x9c, 0xae, - 0x82, 0xeb, 0x59, 0x9f, 0x84, 0xbb, 0x2e, 0x2b, 0x31, 0xec, 0x38, 0x0a, 0xeb, 0x5c, 0x4e, 0xd4, - 0x28, 0xda, 0x1c, 0x56, 0x47, 0x64, 0x99, 0x42, 0xdf, 0xaf, 0x68, 0x2a, 0x90, 0x2c, 0x81, 0xd1, - 0xc1, 0x70, 0x88, 0x7c, 0x63, 0xcd, 0xa0, 0x99, 0x86, 0x81, 0x79, 0x7d, 0x15, 0x63, 0x45, 0xf5, - 0x1d, 0x70, 0x3b, 0x47, 0xbc, 0xb0, 0xe0, 0x0b, 0x0b, 0x2c, 0x1f, 0xc5, 0xfd, 0x36, 0xc4, 0x85, - 0xee, 0xda, 0x60, 0x2e, 0xf4, 0x02, 0xc8, 0x75, 0xd2, 0xdf, 0x79, 0x0f, 0xc4, 0xae, 0x83, 0x8b, - 0x31, 0x46, 0xd1, 0xd9, 0x87, 0x91, 0x4f, 0xcc, 0x64, 0xb5, 0x4a, 0x9e, 0x22, 0xd7, 0x4d, 0x4a, - 0x5a, 0xe4, 0x77, 0x46, 0x18, 0x45, 0x71, 0x75, 0xbe, 0x5e, 0xd9, 0x5c, 0x72, 0x33, 0x73, 0x8a, - 0x37, 0xd7, 0x69, 0xac, 0x0b, 0x4b, 0x85, 0x0b, 0x90, 0xe6, 0x4c, 0x32, 0x4f, 0x5e, 0xa0, 0x31, - 0x17, 0xad, 0x82, 0xf9, 0x18, 0x62, 0x71, 0x61, 0x6c, 0x20, 0xdd, 0x63, 0xc5, 0x70, 0x8f, 0x2c, - 0x21, 0xa6, 0x6a, 0x84, 0xfe, 0x13, 0x1a, 0x34, 0x7c, 0xc1, 0x85, 0x01, 0x1a, 0xc3, 0x6f, 0xc8, - 0x04, 0x16, 0x4a, 0x19, 0x4d, 0x92, 0x15, 0xc9, 0xe9, 0xa4, 0x27, 0x38, 0xcb, 0x61, 0xd8, 0x60, - 0x6e, 0x14, 0x8b, 0x1a, 0x46, 0x7f, 0x6b, 0x73, 0xc6, 0x84, 0x26, 0x61, 0xc9, 0x29, 0x0d, 0xea, - 0xec, 0xfa, 0x8c, 0xc7, 0x52, 0x6c, 0x0c, 0x0b, 0x71, 0x9d, 0x32, 0x61, 0xcf, 0x8f, 0x68, 0x0a, - 0x6b, 0x43, 0xfc, 0x3d, 0x3f, 0xf4, 0x06, 0xfe, 0x67, 0x53, 0x9b, 0xa1, 0x4d, 0x1f, 0x92, 0x3c, - 0xa1, 0xe9, 0x38, 0x89, 0x84, 0x52, 0x85, 0x51, 0xef, 0xb2, 0xb6, 0x2c, 0xe6, 0xc5, 0x81, 0xa6, - 0xf6, 0xf5, 0x12, 0x6f, 0xdb, 0xe4, 0xb1, 0xcd, 0x68, 0x01, 0x7d, 0xa8, 0x49, 0x93, 0x4e, 0x07, - 0x79, 0x67, 0x90, 0x68, 0x11, 0xfa, 0x7f, 0x4c, 0xbb, 0x83, 0x16, 0x42, 0xa4, 0x8e, 0x3c, 0xf3, - 0xba, 0xa7, 0xe6, 0x36, 0xbd, 0xcc, 0x81, 0x1f, 0xd2, 0x5a, 0x9f, 0x15, 0x39, 0x75, 0x93, 0xf7, - 0x27, 0xd6, 0x9a, 0xb7, 0xe1, 0x60, 0xf0, 0xf4, 0xf8, 0xb8, 0xc4, 0x57, 0x4c, 0x5e, 0x4f, 0xf0, - 0x10, 0xcc, 0x0f, 0x23, 0xbf, 0x0b, 0xcb, 0xb6, 0x57, 0x0c, 0xad, 0xad, 0xea, 0x8a, 0x31, 0xe2, - 0x0c, 0x7f, 0x41, 0x1b, 0x52, 0xb1, 0x6a, 0x3e, 0x41, 0x92, 0x6a, 0x13, 0xa4, 0x30, 0x56, 0x9e, - 0xd2, 0xb6, 0x9f, 0xb2, 0x70, 0xa1, 0xf7, 0xd7, 0xd9, 0x23, 0x2a, 0x7c, 0xb4, 0xd3, 0xaa, 0x56, - 0xbc, 0x56, 0xde, 0xe9, 0x5f, 0x2d, 0xf1, 0x81, 0xe7, 0x7a, 0xe4, 0xc3, 0xb5, 0x0d, 0xf1, 0x6c, - 0x7d, 0x25, 0x8b, 0xa8, 0x8a, 0x1c, 0xd4, 0x8f, 0xc1, 0x42, 0x44, 0x85, 0xd2, 0x5a, 0xb4, 0x92, - 0xf3, 0x9d, 0x91, 0xea, 0x76, 0x39, 0x5c, 0x5f, 0xcc, 0x65, 0x13, 0x85, 0xfd, 0x7f, 0xb1, 0xe4, - 0x4a, 0x9f, 0x4c, 0x1f, 0xa2, 0x20, 0xf0, 0x4d, 0x7e, 0xac, 0x81, 0x25, 0x4e, 0x35, 0x08, 0x57, - 0xd2, 0x09, 0xb2, 0x8f, 0x14, 0xf7, 0x30, 0x86, 0xfc, 0x39, 0x26, 0x43, 0xbb, 0x06, 0x40, 0x3c, - 0xea, 0xf7, 0x61, 0x8c, 0x7d, 0x14, 0xf2, 0x0a, 0x2b, 0xcd, 0x28, 0x86, 0x37, 0x40, 0x3d, 0xcf, - 0x36, 0xe1, 0xc0, 0xdf, 0xb4, 0x0e, 0xb8, 0x70, 0x0c, 0xbd, 0xc1, 0xcc, 0x0e, 0x3c, 0xce, 0x3a, - 0xb0, 0xb2, 0xff, 0xa6, 0xf6, 0xe4, 0x85, 0x36, 0xe1, 0xdf, 0x75, 0xb0, 0x10, 0xc3, 0x6e, 0x04, - 0x31, 0xf7, 0x8d, 0x8f, 0xca, 0xf8, 0xc5, 0x4c, 0x16, 0x7e, 0x7d, 0xc4, 0x3e, 0x58, 0x04, 0x06, - 0x7b, 0xd1, 0xcc, 0x17, 0xa2, 0xff, 0x0c, 0xc9, 0x88, 0x16, 0x7a, 0xff, 0xcd, 0x38, 0x21, 0xda, - 0x7f, 0x1d, 0xa2, 0xf0, 0xd8, 0x8f, 0x82, 0x99, 0xba, 0x67, 0xa9, 0xeb, 0xad, 0x4c, 0xd1, 0xf5, - 0xda, 0xdf, 0x05, 0x80, 0x7c, 0x2c, 0xb3, 0xe6, 0x99, 0xf6, 0xd3, 0x25, 0xbe, 0xaf, 0xa5, 0x2d, - 0xda, 0xc4, 0x21, 0x7b, 0x23, 0x3c, 0x6d, 0xd3, 0x13, 0x7e, 0x16, 0xa1, 0x63, 0x7f, 0x00, 0x29, - 0x73, 0x30, 0xcb, 0xd3, 0xd5, 0x9e, 0x6d, 0x56, 0xa8, 0xd0, 0xf8, 0x33, 0xda, 0xee, 0xf0, 0xc5, - 0x0f, 0x61, 0x27, 0xf6, 0x31, 0x34, 0x2b, 0xad, 0x82, 0x0b, 0xcf, 0x19, 0x2e, 0x61, 0xa5, 0xf8, - 0x50, 0xdb, 0xde, 0x4c, 0x48, 0x16, 0x9a, 0x7f, 0x48, 0xb3, 0x14, 0x5f, 0x6f, 0xf9, 0xc8, 0xac, - 0xf5, 0x0a, 0xa8, 0x74, 0x7c, 0xc4, 0x35, 0x92, 0x9f, 0xda, 0x84, 0x92, 0x91, 0x26, 0x34, 0x75, - 0x68, 0x3a, 0x96, 0xea, 0xde, 0xd3, 0x21, 0x0c, 0x0d, 0xba, 0xd6, 0xc1, 0xa5, 0x4e, 0x0a, 0x16, - 0xa7, 0x9b, 0x9d, 0x54, 0xf4, 0x3f, 0xa2, 0x29, 0x59, 0xd1, 0x21, 0x8a, 0x2b, 0xd1, 0x45, 0xaf, - 0x26, 0xae, 0x5a, 0xf4, 0x73, 0x2c, 0x19, 0x36, 0x3e, 0xb7, 0x68, 0x07, 0x20, 0x6d, 0x2c, 0xc1, - 0x9d, 0x94, 0x32, 0x70, 0x0a, 0x26, 0xa5, 0x0e, 0x6a, 0x7a, 0x1b, 0xc4, 0x11, 0x8e, 0x93, 0xae, - 0xb8, 0x9d, 0x7e, 0x7a, 0x98, 0x2f, 0x4c, 0xdf, 0x13, 0x29, 0xdf, 0x33, 0x95, 0x89, 0xef, 0x99, - 0xbc, 0x1e, 0x39, 0xab, 0x57, 0x62, 0x53, 0x2f, 0x8b, 0x0e, 0xce, 0x8f, 0xf1, 0x2c, 0x26, 0x95, - 0xe3, 0x26, 0x92, 0x6a, 0x9f, 0x2a, 0x12, 0x36, 0x7c, 0x22, 0xca, 0x2d, 0x79, 0xf8, 0x47, 0xa3, - 0x01, 0xf6, 0x0d, 0x46, 0x3c, 0x04, 0xf3, 0x63, 0xca, 0x3b, 0x9e, 0x2f, 0x97, 0x47, 0x18, 0x5a, - 0xb1, 0xa6, 0x25, 0xca, 0xa7, 0x50, 0x39, 0x6d, 0x23, 0xb7, 0xff, 0x8f, 0x3a, 0xa8, 0x1c, 0xc5, - 0x7d, 0xbb, 0x03, 0x96, 0x33, 0x6c, 0xfb, 0xba, 0xd6, 0x22, 0x85, 0xce, 0x76, 0xb6, 0xcb, 0xa0, - 0x84, 0x4d, 0xbf, 0x04, 0x40, 0x62, 0xbc, 0x1b, 0xb9, 0x7b, 0x05, 0xc6, 0xd9, 0x2a, 0xc6, 0x08, - 0xe9, 0x10, 0x5c, 0xca, 0xb2, 0xd9, 0x1b, 0x79, 0x9b, 0x33, 0x30, 0x67, 0xa7, 0x14, 0x4c, 0xa8, - 0x39, 0x05, 0x97, 0x55, 0x42, 0xfa, 0x9e, 0x51, 0x42, 0x0a, 0x74, 0x9a, 0x25, 0x81, 0x42, 0xd9, - 0x07, 0x60, 0x51, 0x70, 0xbe, 0x75, 0xd3, 0x66, 0x82, 0x70, 0x36, 0x8b, 0x10, 0x42, 0x6e, 0x07, - 0x2c, 0x67, 0x08, 0xda, 0x75, 0xd3, 0xce, 0x04, 0x95, 0x7f, 0xdb, 0x3a, 0xf6, 0x95, 0xdc, 0xb6, - 0xc4, 0xbc, 0x36, 0x4c, 0x7b, 0x19, 0x26, 0xff, 0xb6, 0x27, 0x79, 0x53, 0xfb, 0x04, 0xac, 0x28, - 0x9c, 0xe9, 0x5d, 0xd3, 0xee, 0x14, 0xe7, 0xec, 0x96, 0xc3, 0x09, 0x4d, 0x21, 0xb8, 0x32, 0xc1, - 0x7d, 0x6e, 0x16, 0xc8, 0x10, 0x48, 0xe7, 0x5b, 0x65, 0x91, 0x99, 0x00, 0x53, 0xd8, 0xcd, 0xfc, - 0x00, 0xcb, 0x02, 0x0d, 0x01, 0xa6, 0x67, 0x3c, 0xed, 0x4f, 0xc0, 0xd5, 0x49, 0xba, 0xf3, 0x7e, - 0x81, 0x94, 0x14, 0xea, 0xec, 0x95, 0x86, 0x0a, 0x95, 0x1f, 0x83, 0x8b, 0x32, 0x01, 0xfa, 0x56, - 0x9e, 0x04, 0x09, 0xe4, 0xbc, 0x5d, 0x02, 0x94, 0x49, 0x04, 0x19, 0xce, 0x71, 0xa3, 0xc0, 0x48, - 0x9e, 0x6c, 0x76, 0x4a, 0xc1, 0x84, 0x9a, 0xcf, 0xc0, 0xaa, 0x96, 0x6a, 0xdc, 0x2e, 0x61, 0xab, - 0x40, 0x3b, 0xef, 0x4c, 0x83, 0x16, 0xba, 0x3f, 0x02, 0x4b, 0x29, 0xc7, 0x78, 0x27, 0x4f, 0x84, - 0x80, 0x38, 0xf7, 0x0b, 0x21, 0xf2, 0xb3, 0x95, 0xc8, 0xbf, 0x86, 0x69, 0x23, 0xc3, 0xe4, 0x3f, - 0xdb, 0x49, 0x76, 0x8f, 0xdc, 0x4d, 0x96, 0xda, 0xdb, 0x28, 0xd8, 0xcc, 0x60, 0xf9, 0x77, 0xa3, - 0xa5, 0xef, 0x48, 0x58, 0x4f, 0x72, 0x77, 0xc6, 0x43, 0xc8, 0x40, 0xf3, 0xc3, 0x3a, 0x97, 0xa7, - 0x23, 0xe1, 0xa0, 0x25, 0xe9, 0xb6, 0xcb, 0x89, 0xe2, 0x7e, 0xbe, 0x33, 0x0d, 0x5a, 0x7e, 0x52, - 0x32, 0x21, 0xf7, 0x96, 0x41, 0x48, 0x02, 0xca, 0x7f, 0x52, 0x1a, 0x2a, 0x8e, 0x5f, 0x9b, 0x94, - 0x6c, 0x4d, 0xd7, 0x26, 0xe5, 0xda, 0x9d, 0x52, 0x30, 0xc5, 0x0f, 0x41, 0xb5, 0x99, 0xfc, 0x48, - 0x40, 0x46, 0x3f, 0x54, 0x3a, 0x8d, 0x54, 0x0d, 0x85, 0x4b, 0xcb, 0xad, 0x1a, 0x59, 0x5c, 0x7e, - 0xd5, 0xc8, 0x21, 0xd2, 0x4e, 0xc1, 0x65, 0x95, 0x1c, 0xbb, 0x97, 0x6f, 0x69, 0x06, 0x98, 0x9f, - 0xc5, 0x73, 0x18, 0x2e, 0x52, 0xce, 0x33, 0xf4, 0xd6, 0x7a, 0xa1, 0x00, 0xe2, 0xd2, 0x76, 0x19, - 0x94, 0xd6, 0x21, 0x1e, 0xda, 0xc5, 0x0e, 0xf1, 0xa8, 0x6e, 0x96, 0x04, 0xaa, 0xbd, 0x5c, 0x4a, - 0x5c, 0x19, 0x7b, 0x39, 0x01, 0x33, 0xf7, 0x72, 0x13, 0x1c, 0x93, 0xfd, 0x5b, 0xf0, 0x86, 0x9e, - 0x5f, 0xda, 0x29, 0xac, 0xa3, 0x32, 0xdc, 0x79, 0x38, 0x15, 0xdc, 0xa0, 0x9e, 0xb3, 0x43, 0x65, - 0xd5, 0x33, 0x78, 0x69, 0xf5, 0x59, 0x22, 0x87, 0xb6, 0x50, 0x59, 0x16, 0xe7, 0x6e, 0xb1, 0x20, - 0x82, 0x33, 0xb4, 0x50, 0x5a, 0xea, 0x86, 0xc4, 0x67, 0x86, 0xb6, 0x59, 0x37, 0x16, 0x3d, 0x8e, - 0x72, 0xb6, 0xcb, 0xa0, 0x64, 0x6f, 0x14, 0xc6, 0x24, 0xd7, 0x9b, 0x2c, 0x2e, 0xdf, 0x1b, 0x3d, - 0x59, 0x42, 0x8a, 0xcb, 0x24, 0x53, 0x72, 0xbf, 0x40, 0x48, 0x0a, 0xcd, 0x2f, 0x2e, 0xb9, 0x2c, - 0x09, 0x79, 0x0f, 0x59, 0x8a, 0x64, 0xa3, 0x40, 0x06, 0x83, 0xe5, 0xbf, 0x07, 0x2d, 0x45, 0x42, - 0xde, 0xb8, 0xca, 0x8f, 0xdc, 0x2b, 0x91, 0xf7, 0x08, 0x30, 0xff, 0x8d, 0xe7, 0xb1, 0x21, 0xcf, - 0xc1, 0x35, 0x1d, 0xdf, 0xf1, 0x76, 0x09, 0x39, 0xe2, 0x8b, 0xe4, 0xc1, 0x14, 0x60, 0xa5, 0x39, - 0x50, 0x28, 0x8c, 0xfb, 0x45, 0x65, 0x44, 0x40, 0x8d, 0xcd, 0x81, 0x9e, 0xa0, 0x60, 0x09, 0x5a, - 0x62, 0x27, 0xd6, 0xcd, 0x75, 0x91, 0xa1, 0x4c, 0x09, 0x7a, 0x92, 0x80, 0x48, 0x72, 0x66, 0xca, - 0x3e, 0x6c, 0x14, 0x7d, 0x0e, 0x52, 0x98, 0x39, 0x67, 0x4e, 0x10, 0x0b, 0xce, 0xfc, 0xef, 0x5e, - 0xbf, 0xd8, 0xb2, 0x5a, 0xee, 0x97, 0x2f, 0x6b, 0xd6, 0x57, 0x2f, 0x6b, 0xd6, 0xff, 0x5e, 0xd6, - 0xac, 0x3f, 0xbf, 0xaa, 0x9d, 0xfb, 0xea, 0x55, 0xed, 0xdc, 0x7f, 0x5e, 0xd5, 0xce, 0xfd, 0xfc, - 0xdd, 0xbe, 0x8f, 0x4f, 0x46, 0x9d, 0xdd, 0x2e, 0x0a, 0x9a, 0x4f, 0x60, 0x17, 0x86, 0x38, 0xf2, - 0x06, 0x44, 0xd6, 0xf7, 0xbd, 0x00, 0x36, 0xf5, 0x7f, 0x39, 0x87, 0xcf, 0x86, 0x30, 0xee, 0x2c, - 0xd0, 0x3f, 0xfe, 0x7b, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6a, 0xf0, 0x9e, 0x50, 0x56, - 0x29, 0x00, 0x00, +func (m *MsgMatchOpen) Reset() { *m = MsgMatchOpen{} } +func (m *MsgMatchOpen) String() string { return proto.CompactTextString(m) } +func (*MsgMatchOpen) ProtoMessage() {} +func (*MsgMatchOpen) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{78} } - -// 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 { - // UpdateParams defines a (governance) operation for updating the module - // parameters. The authority defaults to the x/gov module account. - UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) - UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) - CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) - CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) - CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) - CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) - CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) - CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) - CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) - CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) - CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) - MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) - CouncilCreate(ctx context.Context, in *MsgCouncilCreate, opts ...grpc.CallOption) (*MsgCouncilCreateResponse, error) - MatchReporterAppoint(ctx context.Context, in *MsgMatchReporterAppoint, opts ...grpc.CallOption) (*MsgMatchReporterAppointResponse, error) - SetCreate(ctx context.Context, in *MsgSetCreate, opts ...grpc.CallOption) (*MsgSetCreateResponse, error) - SetCardAdd(ctx context.Context, in *MsgSetCardAdd, opts ...grpc.CallOption) (*MsgSetCardAddResponse, error) - SetCardRemove(ctx context.Context, in *MsgSetCardRemove, opts ...grpc.CallOption) (*MsgSetCardRemoveResponse, error) - SetContributorAdd(ctx context.Context, in *MsgSetContributorAdd, opts ...grpc.CallOption) (*MsgSetContributorAddResponse, error) - SetContributorRemove(ctx context.Context, in *MsgSetContributorRemove, opts ...grpc.CallOption) (*MsgSetContributorRemoveResponse, error) - SetFinalize(ctx context.Context, in *MsgSetFinalize, opts ...grpc.CallOption) (*MsgSetFinalizeResponse, error) - SetArtworkAdd(ctx context.Context, in *MsgSetArtworkAdd, opts ...grpc.CallOption) (*MsgSetArtworkAddResponse, error) - SetStoryAdd(ctx context.Context, in *MsgSetStoryAdd, opts ...grpc.CallOption) (*MsgSetStoryAddResponse, error) - BoosterPackBuy(ctx context.Context, in *MsgBoosterPackBuy, opts ...grpc.CallOption) (*MsgBoosterPackBuyResponse, error) - SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) - SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) - SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) - CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) - CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) - CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) - CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) - MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) - ProfileCardSet(ctx context.Context, in *MsgProfileCardSet, opts ...grpc.CallOption) (*MsgProfileCardSetResponse, error) - ProfileWebsiteSet(ctx context.Context, in *MsgProfileWebsiteSet, opts ...grpc.CallOption) (*MsgProfileWebsiteSetResponse, error) - ProfileBioSet(ctx context.Context, in *MsgProfileBioSet, opts ...grpc.CallOption) (*MsgProfileBioSetResponse, error) - BoosterPackOpen(ctx context.Context, in *MsgBoosterPackOpen, opts ...grpc.CallOption) (*MsgBoosterPackOpenResponse, error) - BoosterPackTransfer(ctx context.Context, in *MsgBoosterPackTransfer, opts ...grpc.CallOption) (*MsgBoosterPackTransferResponse, error) - SetStoryWriterSet(ctx context.Context, in *MsgSetStoryWriterSet, opts ...grpc.CallOption) (*MsgSetStoryWriterSetResponse, error) - SetArtistSet(ctx context.Context, in *MsgSetArtistSet, opts ...grpc.CallOption) (*MsgSetArtistSetResponse, error) - CardVoteMulti(ctx context.Context, in *MsgCardVoteMulti, opts ...grpc.CallOption) (*MsgCardVoteMultiResponse, error) +func (m *MsgMatchOpen) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } - -type msgClient struct { - cc grpc1.ClientConn +func (m *MsgMatchOpen) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgMatchOpen.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 NewMsgClient(cc grpc1.ClientConn) MsgClient { - return &msgClient{cc} +func (m *MsgMatchOpen) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgMatchOpen.Merge(m, src) } - -func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { - out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateParams", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgMatchOpen) XXX_Size() int { + return m.Size() } - -func (c *msgClient) UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) { - out := new(MsgUserCreateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UserCreate", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgMatchOpen) XXX_DiscardUnknown() { + xxx_messageInfo_MsgMatchOpen.DiscardUnknown(m) } -func (c *msgClient) CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) { - out := new(MsgCardSchemeBuyResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSchemeBuy", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} +var xxx_messageInfo_MsgMatchOpen proto.InternalMessageInfo -func (c *msgClient) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) { - out := new(MsgCardSaveContentResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSaveContent", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgMatchOpen) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) { - out := new(MsgCardVoteResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardVote", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgMatchOpen) GetPlayerA() string { + if m != nil { + return m.PlayerA } - return out, nil + return "" } -func (c *msgClient) CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) { - out := new(MsgCardTransferResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardTransfer", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgMatchOpen) GetPlayerB() string { + if m != nil { + return m.PlayerB } - return out, nil + return "" } -func (c *msgClient) CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) { - out := new(MsgCardDonateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardDonate", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgMatchOpen) GetPlayerAdeck() []uint64 { + if m != nil { + return m.PlayerAdeck } - return out, nil + return nil } -func (c *msgClient) CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) { - out := new(MsgCardArtworkAddResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtworkAdd", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgMatchOpen) GetPlayerBdeck() []uint64 { + if m != nil { + return m.PlayerBdeck } - return out, nil + return nil } -func (c *msgClient) CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) { - out := new(MsgCardArtistChangeResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtistChange", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +type MsgMatchOpenResponse struct { + MatchId uint64 `protobuf:"varint,1,opt,name=matchId,proto3" json:"matchId,omitempty"` } -func (c *msgClient) CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) { - out := new(MsgCouncilRegisterResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilRegister", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgMatchOpenResponse) Reset() { *m = MsgMatchOpenResponse{} } +func (m *MsgMatchOpenResponse) String() string { return proto.CompactTextString(m) } +func (*MsgMatchOpenResponse) ProtoMessage() {} +func (*MsgMatchOpenResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{79} +} +func (m *MsgMatchOpenResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgMatchOpenResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgMatchOpenResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgMatchOpenResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgMatchOpenResponse.Merge(m, src) +} +func (m *MsgMatchOpenResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgMatchOpenResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgMatchOpenResponse.DiscardUnknown(m) } -func (c *msgClient) CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) { - out := new(MsgCouncilDeregisterResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilDeregister", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgMatchOpenResponse proto.InternalMessageInfo + +func (m *MsgMatchOpenResponse) GetMatchId() uint64 { + if m != nil { + return m.MatchId } - return out, nil + return 0 } -func (c *msgClient) MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) { - out := new(MsgMatchReportResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchReport", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +type MsgSetNameSet 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 (c *msgClient) CouncilCreate(ctx context.Context, in *MsgCouncilCreate, opts ...grpc.CallOption) (*MsgCouncilCreateResponse, error) { - out := new(MsgCouncilCreateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilCreate", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgSetNameSet) Reset() { *m = MsgSetNameSet{} } +func (m *MsgSetNameSet) String() string { return proto.CompactTextString(m) } +func (*MsgSetNameSet) ProtoMessage() {} +func (*MsgSetNameSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{80} } - -func (c *msgClient) MatchReporterAppoint(ctx context.Context, in *MsgMatchReporterAppoint, opts ...grpc.CallOption) (*MsgMatchReporterAppointResponse, error) { - out := new(MsgMatchReporterAppointResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchReporterAppoint", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgSetNameSet) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetNameSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetNameSet.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgSetNameSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetNameSet.Merge(m, src) +} +func (m *MsgSetNameSet) XXX_Size() int { + return m.Size() +} +func (m *MsgSetNameSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetNameSet.DiscardUnknown(m) } -func (c *msgClient) SetCreate(ctx context.Context, in *MsgSetCreate, opts ...grpc.CallOption) (*MsgSetCreateResponse, error) { - out := new(MsgSetCreateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCreate", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgSetNameSet proto.InternalMessageInfo + +func (m *MsgSetNameSet) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -func (c *msgClient) SetCardAdd(ctx context.Context, in *MsgSetCardAdd, opts ...grpc.CallOption) (*MsgSetCardAddResponse, error) { - out := new(MsgSetCardAddResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCardAdd", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgSetNameSet) GetSetId() uint64 { + if m != nil { + return m.SetId } - return out, nil + return 0 } -func (c *msgClient) SetCardRemove(ctx context.Context, in *MsgSetCardRemove, opts ...grpc.CallOption) (*MsgSetCardRemoveResponse, error) { - out := new(MsgSetCardRemoveResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCardRemove", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgSetNameSet) GetName() string { + if m != nil { + return m.Name } - return out, nil + return "" } -func (c *msgClient) SetContributorAdd(ctx context.Context, in *MsgSetContributorAdd, opts ...grpc.CallOption) (*MsgSetContributorAddResponse, error) { - out := new(MsgSetContributorAddResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetContributorAdd", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +type MsgSetNameSetResponse struct { } -func (c *msgClient) SetContributorRemove(ctx context.Context, in *MsgSetContributorRemove, opts ...grpc.CallOption) (*MsgSetContributorRemoveResponse, error) { - out := new(MsgSetContributorRemoveResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetContributorRemove", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgSetNameSetResponse) Reset() { *m = MsgSetNameSetResponse{} } +func (m *MsgSetNameSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetNameSetResponse) ProtoMessage() {} +func (*MsgSetNameSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{81} +} +func (m *MsgSetNameSetResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetNameSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetNameSetResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgSetNameSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetNameSetResponse.Merge(m, src) +} +func (m *MsgSetNameSetResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetNameSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetNameSetResponse.DiscardUnknown(m) } -func (c *msgClient) SetFinalize(ctx context.Context, in *MsgSetFinalize, opts ...grpc.CallOption) (*MsgSetFinalizeResponse, error) { - out := new(MsgSetFinalizeResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetFinalize", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +var xxx_messageInfo_MsgSetNameSetResponse proto.InternalMessageInfo + +type MsgProfileAliasSet struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Alias string `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"` } -func (c *msgClient) SetArtworkAdd(ctx context.Context, in *MsgSetArtworkAdd, opts ...grpc.CallOption) (*MsgSetArtworkAddResponse, error) { - out := new(MsgSetArtworkAddResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetArtworkAdd", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgProfileAliasSet) Reset() { *m = MsgProfileAliasSet{} } +func (m *MsgProfileAliasSet) String() string { return proto.CompactTextString(m) } +func (*MsgProfileAliasSet) ProtoMessage() {} +func (*MsgProfileAliasSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{82} +} +func (m *MsgProfileAliasSet) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgProfileAliasSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgProfileAliasSet.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgProfileAliasSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgProfileAliasSet.Merge(m, src) +} +func (m *MsgProfileAliasSet) XXX_Size() int { + return m.Size() +} +func (m *MsgProfileAliasSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgProfileAliasSet.DiscardUnknown(m) } -func (c *msgClient) SetStoryAdd(ctx context.Context, in *MsgSetStoryAdd, opts ...grpc.CallOption) (*MsgSetStoryAddResponse, error) { - out := new(MsgSetStoryAddResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetStoryAdd", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgProfileAliasSet proto.InternalMessageInfo + +func (m *MsgProfileAliasSet) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -func (c *msgClient) BoosterPackBuy(ctx context.Context, in *MsgBoosterPackBuy, opts ...grpc.CallOption) (*MsgBoosterPackBuyResponse, error) { - out := new(MsgBoosterPackBuyResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BoosterPackBuy", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgProfileAliasSet) GetAlias() string { + if m != nil { + return m.Alias } - return out, nil + return "" } -func (c *msgClient) SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) { - out := new(MsgSellOfferCreateResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferCreate", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +type MsgProfileAliasSetResponse struct { } -func (c *msgClient) SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) { - out := new(MsgSellOfferBuyResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferBuy", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgProfileAliasSetResponse) Reset() { *m = MsgProfileAliasSetResponse{} } +func (m *MsgProfileAliasSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgProfileAliasSetResponse) ProtoMessage() {} +func (*MsgProfileAliasSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{83} +} +func (m *MsgProfileAliasSetResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgProfileAliasSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgProfileAliasSetResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgProfileAliasSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgProfileAliasSetResponse.Merge(m, src) +} +func (m *MsgProfileAliasSetResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgProfileAliasSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgProfileAliasSetResponse.DiscardUnknown(m) } -func (c *msgClient) SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) { - out := new(MsgSellOfferRemoveResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferRemove", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +var xxx_messageInfo_MsgProfileAliasSetResponse proto.InternalMessageInfo + +type MsgEarlyAccessInvite struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` } -func (c *msgClient) CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) { - out := new(MsgCardRaritySetResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardRaritySet", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgEarlyAccessInvite) Reset() { *m = MsgEarlyAccessInvite{} } +func (m *MsgEarlyAccessInvite) String() string { return proto.CompactTextString(m) } +func (*MsgEarlyAccessInvite) ProtoMessage() {} +func (*MsgEarlyAccessInvite) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{84} +} +func (m *MsgEarlyAccessInvite) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgEarlyAccessInvite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEarlyAccessInvite.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgEarlyAccessInvite) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEarlyAccessInvite.Merge(m, src) +} +func (m *MsgEarlyAccessInvite) XXX_Size() int { + return m.Size() +} +func (m *MsgEarlyAccessInvite) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEarlyAccessInvite.DiscardUnknown(m) } -func (c *msgClient) CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) { - out := new(MsgCouncilResponseCommitResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilResponseCommit", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgEarlyAccessInvite proto.InternalMessageInfo + +func (m *MsgEarlyAccessInvite) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -func (c *msgClient) CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) { - out := new(MsgCouncilResponseRevealResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilResponseReveal", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgEarlyAccessInvite) GetUser() string { + if m != nil { + return m.User } - return out, nil + return "" } -func (c *msgClient) CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) { - out := new(MsgCouncilRestartResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilRestart", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +type MsgEarlyAccessInviteResponse struct { } -func (c *msgClient) MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) { - out := new(MsgMatchConfirmResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchConfirm", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgEarlyAccessInviteResponse) Reset() { *m = MsgEarlyAccessInviteResponse{} } +func (m *MsgEarlyAccessInviteResponse) String() string { return proto.CompactTextString(m) } +func (*MsgEarlyAccessInviteResponse) ProtoMessage() {} +func (*MsgEarlyAccessInviteResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{85} +} +func (m *MsgEarlyAccessInviteResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgEarlyAccessInviteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEarlyAccessInviteResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgEarlyAccessInviteResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEarlyAccessInviteResponse.Merge(m, src) +} +func (m *MsgEarlyAccessInviteResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgEarlyAccessInviteResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEarlyAccessInviteResponse.DiscardUnknown(m) } -func (c *msgClient) ProfileCardSet(ctx context.Context, in *MsgProfileCardSet, opts ...grpc.CallOption) (*MsgProfileCardSetResponse, error) { - out := new(MsgProfileCardSetResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/ProfileCardSet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +var xxx_messageInfo_MsgEarlyAccessInviteResponse proto.InternalMessageInfo + +type MsgZealyConnect struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + ZealyId string `protobuf:"bytes,2,opt,name=zealyId,proto3" json:"zealyId,omitempty"` } -func (c *msgClient) ProfileWebsiteSet(ctx context.Context, in *MsgProfileWebsiteSet, opts ...grpc.CallOption) (*MsgProfileWebsiteSetResponse, error) { - out := new(MsgProfileWebsiteSetResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/ProfileWebsiteSet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgZealyConnect) Reset() { *m = MsgZealyConnect{} } +func (m *MsgZealyConnect) String() string { return proto.CompactTextString(m) } +func (*MsgZealyConnect) ProtoMessage() {} +func (*MsgZealyConnect) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{86} } - -func (c *msgClient) ProfileBioSet(ctx context.Context, in *MsgProfileBioSet, opts ...grpc.CallOption) (*MsgProfileBioSetResponse, error) { - out := new(MsgProfileBioSetResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/ProfileBioSet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgZealyConnect) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } - -func (c *msgClient) BoosterPackOpen(ctx context.Context, in *MsgBoosterPackOpen, opts ...grpc.CallOption) (*MsgBoosterPackOpenResponse, error) { - out := new(MsgBoosterPackOpenResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BoosterPackOpen", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgZealyConnect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgZealyConnect.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil } - -func (c *msgClient) BoosterPackTransfer(ctx context.Context, in *MsgBoosterPackTransfer, opts ...grpc.CallOption) (*MsgBoosterPackTransferResponse, error) { - out := new(MsgBoosterPackTransferResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BoosterPackTransfer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgZealyConnect) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgZealyConnect.Merge(m, src) } - -func (c *msgClient) SetStoryWriterSet(ctx context.Context, in *MsgSetStoryWriterSet, opts ...grpc.CallOption) (*MsgSetStoryWriterSetResponse, error) { - out := new(MsgSetStoryWriterSetResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetStoryWriterSet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgZealyConnect) XXX_Size() int { + return m.Size() } - -func (c *msgClient) SetArtistSet(ctx context.Context, in *MsgSetArtistSet, opts ...grpc.CallOption) (*MsgSetArtistSetResponse, error) { - out := new(MsgSetArtistSetResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetArtistSet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgZealyConnect) XXX_DiscardUnknown() { + xxx_messageInfo_MsgZealyConnect.DiscardUnknown(m) } -func (c *msgClient) CardVoteMulti(ctx context.Context, in *MsgCardVoteMulti, opts ...grpc.CallOption) (*MsgCardVoteMultiResponse, error) { - out := new(MsgCardVoteMultiResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardVoteMulti", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgZealyConnect proto.InternalMessageInfo + +func (m *MsgZealyConnect) GetCreator() string { + if m != nil { + return m.Creator } - return out, nil + return "" } -// MsgServer is the server API for Msg service. -type MsgServer interface { - // UpdateParams defines a (governance) operation for updating the module - // parameters. The authority defaults to the x/gov module account. - UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) - UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) - CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) - CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) - CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) - CardTransfer(context.Context, *MsgCardTransfer) (*MsgCardTransferResponse, error) - CardDonate(context.Context, *MsgCardDonate) (*MsgCardDonateResponse, error) - CardArtworkAdd(context.Context, *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) - CardArtistChange(context.Context, *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) - CouncilRegister(context.Context, *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) - CouncilDeregister(context.Context, *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) - MatchReport(context.Context, *MsgMatchReport) (*MsgMatchReportResponse, error) - CouncilCreate(context.Context, *MsgCouncilCreate) (*MsgCouncilCreateResponse, error) - MatchReporterAppoint(context.Context, *MsgMatchReporterAppoint) (*MsgMatchReporterAppointResponse, error) - SetCreate(context.Context, *MsgSetCreate) (*MsgSetCreateResponse, error) - SetCardAdd(context.Context, *MsgSetCardAdd) (*MsgSetCardAddResponse, error) - SetCardRemove(context.Context, *MsgSetCardRemove) (*MsgSetCardRemoveResponse, error) - SetContributorAdd(context.Context, *MsgSetContributorAdd) (*MsgSetContributorAddResponse, error) - SetContributorRemove(context.Context, *MsgSetContributorRemove) (*MsgSetContributorRemoveResponse, error) - SetFinalize(context.Context, *MsgSetFinalize) (*MsgSetFinalizeResponse, error) - SetArtworkAdd(context.Context, *MsgSetArtworkAdd) (*MsgSetArtworkAddResponse, error) - SetStoryAdd(context.Context, *MsgSetStoryAdd) (*MsgSetStoryAddResponse, error) - BoosterPackBuy(context.Context, *MsgBoosterPackBuy) (*MsgBoosterPackBuyResponse, error) - SellOfferCreate(context.Context, *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) - SellOfferBuy(context.Context, *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) - SellOfferRemove(context.Context, *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) - CardRaritySet(context.Context, *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) - CouncilResponseCommit(context.Context, *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) - CouncilResponseReveal(context.Context, *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) - CouncilRestart(context.Context, *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) - MatchConfirm(context.Context, *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) - ProfileCardSet(context.Context, *MsgProfileCardSet) (*MsgProfileCardSetResponse, error) - ProfileWebsiteSet(context.Context, *MsgProfileWebsiteSet) (*MsgProfileWebsiteSetResponse, error) - ProfileBioSet(context.Context, *MsgProfileBioSet) (*MsgProfileBioSetResponse, error) - BoosterPackOpen(context.Context, *MsgBoosterPackOpen) (*MsgBoosterPackOpenResponse, error) - BoosterPackTransfer(context.Context, *MsgBoosterPackTransfer) (*MsgBoosterPackTransferResponse, error) - SetStoryWriterSet(context.Context, *MsgSetStoryWriterSet) (*MsgSetStoryWriterSetResponse, error) - SetArtistSet(context.Context, *MsgSetArtistSet) (*MsgSetArtistSetResponse, error) - CardVoteMulti(context.Context, *MsgCardVoteMulti) (*MsgCardVoteMultiResponse, error) +func (m *MsgZealyConnect) GetZealyId() string { + if m != nil { + return m.ZealyId + } + return "" } -// UnimplementedMsgServer can be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { +type MsgZealyConnectResponse struct { } -func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +func (m *MsgZealyConnectResponse) Reset() { *m = MsgZealyConnectResponse{} } +func (m *MsgZealyConnectResponse) String() string { return proto.CompactTextString(m) } +func (*MsgZealyConnectResponse) ProtoMessage() {} +func (*MsgZealyConnectResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{87} } -func (*UnimplementedMsgServer) UserCreate(ctx context.Context, req *MsgUserCreate) (*MsgUserCreateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UserCreate not implemented") +func (m *MsgZealyConnectResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedMsgServer) CardSchemeBuy(ctx context.Context, req *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardSchemeBuy not implemented") +func (m *MsgZealyConnectResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgZealyConnectResponse.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 (*UnimplementedMsgServer) CardSaveContent(ctx context.Context, req *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardSaveContent not implemented") +func (m *MsgZealyConnectResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgZealyConnectResponse.Merge(m, src) } -func (*UnimplementedMsgServer) CardVote(ctx context.Context, req *MsgCardVote) (*MsgCardVoteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") +func (m *MsgZealyConnectResponse) XXX_Size() int { + return m.Size() } -func (*UnimplementedMsgServer) CardTransfer(ctx context.Context, req *MsgCardTransfer) (*MsgCardTransferResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardTransfer not implemented") +func (m *MsgZealyConnectResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgZealyConnectResponse.DiscardUnknown(m) } -func (*UnimplementedMsgServer) CardDonate(ctx context.Context, req *MsgCardDonate) (*MsgCardDonateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardDonate not implemented") + +var xxx_messageInfo_MsgZealyConnectResponse proto.InternalMessageInfo + +type MsgEncounterCreate 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"` + Drawlist []uint64 `protobuf:"varint,3,rep,packed,name=drawlist,proto3" json:"drawlist,omitempty"` + Parameters map[string]string `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Image []byte `protobuf:"bytes,5,opt,name=image,proto3" json:"image,omitempty"` } -func (*UnimplementedMsgServer) CardArtworkAdd(ctx context.Context, req *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardArtworkAdd not implemented") + +func (m *MsgEncounterCreate) Reset() { *m = MsgEncounterCreate{} } +func (m *MsgEncounterCreate) String() string { return proto.CompactTextString(m) } +func (*MsgEncounterCreate) ProtoMessage() {} +func (*MsgEncounterCreate) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{88} } -func (*UnimplementedMsgServer) CardArtistChange(ctx context.Context, req *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardArtistChange not implemented") +func (m *MsgEncounterCreate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedMsgServer) CouncilRegister(ctx context.Context, req *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilRegister not implemented") +func (m *MsgEncounterCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEncounterCreate.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 (*UnimplementedMsgServer) CouncilDeregister(ctx context.Context, req *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilDeregister not implemented") +func (m *MsgEncounterCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEncounterCreate.Merge(m, src) } -func (*UnimplementedMsgServer) MatchReport(ctx context.Context, req *MsgMatchReport) (*MsgMatchReportResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method MatchReport not implemented") +func (m *MsgEncounterCreate) XXX_Size() int { + return m.Size() } -func (*UnimplementedMsgServer) CouncilCreate(ctx context.Context, req *MsgCouncilCreate) (*MsgCouncilCreateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilCreate not implemented") +func (m *MsgEncounterCreate) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEncounterCreate.DiscardUnknown(m) } -func (*UnimplementedMsgServer) MatchReporterAppoint(ctx context.Context, req *MsgMatchReporterAppoint) (*MsgMatchReporterAppointResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method MatchReporterAppoint not implemented") + +var xxx_messageInfo_MsgEncounterCreate proto.InternalMessageInfo + +func (m *MsgEncounterCreate) GetCreator() string { + if m != nil { + return m.Creator + } + return "" } -func (*UnimplementedMsgServer) SetCreate(ctx context.Context, req *MsgSetCreate) (*MsgSetCreateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetCreate not implemented") + +func (m *MsgEncounterCreate) GetName() string { + if m != nil { + return m.Name + } + return "" } -func (*UnimplementedMsgServer) SetCardAdd(ctx context.Context, req *MsgSetCardAdd) (*MsgSetCardAddResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetCardAdd not implemented") + +func (m *MsgEncounterCreate) GetDrawlist() []uint64 { + if m != nil { + return m.Drawlist + } + return nil } -func (*UnimplementedMsgServer) SetCardRemove(ctx context.Context, req *MsgSetCardRemove) (*MsgSetCardRemoveResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetCardRemove not implemented") + +func (m *MsgEncounterCreate) GetParameters() map[string]string { + if m != nil { + return m.Parameters + } + return nil } -func (*UnimplementedMsgServer) SetContributorAdd(ctx context.Context, req *MsgSetContributorAdd) (*MsgSetContributorAddResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetContributorAdd not implemented") + +func (m *MsgEncounterCreate) GetImage() []byte { + if m != nil { + return m.Image + } + return nil } -func (*UnimplementedMsgServer) SetContributorRemove(ctx context.Context, req *MsgSetContributorRemove) (*MsgSetContributorRemoveResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetContributorRemove not implemented") + +type MsgEncounterCreateResponse struct { } -func (*UnimplementedMsgServer) SetFinalize(ctx context.Context, req *MsgSetFinalize) (*MsgSetFinalizeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetFinalize not implemented") + +func (m *MsgEncounterCreateResponse) Reset() { *m = MsgEncounterCreateResponse{} } +func (m *MsgEncounterCreateResponse) String() string { return proto.CompactTextString(m) } +func (*MsgEncounterCreateResponse) ProtoMessage() {} +func (*MsgEncounterCreateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{89} } -func (*UnimplementedMsgServer) SetArtworkAdd(ctx context.Context, req *MsgSetArtworkAdd) (*MsgSetArtworkAddResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetArtworkAdd not implemented") +func (m *MsgEncounterCreateResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedMsgServer) SetStoryAdd(ctx context.Context, req *MsgSetStoryAdd) (*MsgSetStoryAddResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetStoryAdd not implemented") +func (m *MsgEncounterCreateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEncounterCreateResponse.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 (*UnimplementedMsgServer) BoosterPackBuy(ctx context.Context, req *MsgBoosterPackBuy) (*MsgBoosterPackBuyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BoosterPackBuy not implemented") +func (m *MsgEncounterCreateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEncounterCreateResponse.Merge(m, src) } -func (*UnimplementedMsgServer) SellOfferCreate(ctx context.Context, req *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SellOfferCreate not implemented") +func (m *MsgEncounterCreateResponse) XXX_Size() int { + return m.Size() } -func (*UnimplementedMsgServer) SellOfferBuy(ctx context.Context, req *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SellOfferBuy not implemented") +func (m *MsgEncounterCreateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEncounterCreateResponse.DiscardUnknown(m) } -func (*UnimplementedMsgServer) SellOfferRemove(ctx context.Context, req *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SellOfferRemove not implemented") + +var xxx_messageInfo_MsgEncounterCreateResponse proto.InternalMessageInfo + +type MsgEncounterDo struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + EncounterId uint64 `protobuf:"varint,2,opt,name=encounterId,proto3" json:"encounterId,omitempty"` + User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` } -func (*UnimplementedMsgServer) CardRaritySet(ctx context.Context, req *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardRaritySet not implemented") + +func (m *MsgEncounterDo) Reset() { *m = MsgEncounterDo{} } +func (m *MsgEncounterDo) String() string { return proto.CompactTextString(m) } +func (*MsgEncounterDo) ProtoMessage() {} +func (*MsgEncounterDo) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{90} } -func (*UnimplementedMsgServer) CouncilResponseCommit(ctx context.Context, req *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseCommit not implemented") +func (m *MsgEncounterDo) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedMsgServer) CouncilResponseReveal(ctx context.Context, req *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseReveal not implemented") +func (m *MsgEncounterDo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEncounterDo.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 (*UnimplementedMsgServer) CouncilRestart(ctx context.Context, req *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CouncilRestart not implemented") +func (m *MsgEncounterDo) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEncounterDo.Merge(m, src) } -func (*UnimplementedMsgServer) MatchConfirm(ctx context.Context, req *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method MatchConfirm not implemented") +func (m *MsgEncounterDo) XXX_Size() int { + return m.Size() } -func (*UnimplementedMsgServer) ProfileCardSet(ctx context.Context, req *MsgProfileCardSet) (*MsgProfileCardSetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProfileCardSet not implemented") -} -func (*UnimplementedMsgServer) ProfileWebsiteSet(ctx context.Context, req *MsgProfileWebsiteSet) (*MsgProfileWebsiteSetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProfileWebsiteSet not implemented") -} -func (*UnimplementedMsgServer) ProfileBioSet(ctx context.Context, req *MsgProfileBioSet) (*MsgProfileBioSetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProfileBioSet not implemented") -} -func (*UnimplementedMsgServer) BoosterPackOpen(ctx context.Context, req *MsgBoosterPackOpen) (*MsgBoosterPackOpenResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BoosterPackOpen not implemented") -} -func (*UnimplementedMsgServer) BoosterPackTransfer(ctx context.Context, req *MsgBoosterPackTransfer) (*MsgBoosterPackTransferResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BoosterPackTransfer not implemented") -} -func (*UnimplementedMsgServer) SetStoryWriterSet(ctx context.Context, req *MsgSetStoryWriterSet) (*MsgSetStoryWriterSetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetStoryWriterSet not implemented") -} -func (*UnimplementedMsgServer) SetArtistSet(ctx context.Context, req *MsgSetArtistSet) (*MsgSetArtistSetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetArtistSet not implemented") -} -func (*UnimplementedMsgServer) CardVoteMulti(ctx context.Context, req *MsgCardVoteMulti) (*MsgCardVoteMultiResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CardVoteMulti not implemented") +func (m *MsgEncounterDo) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEncounterDo.DiscardUnknown(m) } -func RegisterMsgServer(s grpc1.Server, srv MsgServer) { - s.RegisterService(&_Msg_serviceDesc, srv) -} +var xxx_messageInfo_MsgEncounterDo proto.InternalMessageInfo -func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateParams) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UpdateParams(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/UpdateParams", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) +func (m *MsgEncounterDo) GetCreator() string { + if m != nil { + return m.Creator } - return interceptor(ctx, in, info, handler) + return "" } -func _Msg_UserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUserCreate) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UserCreate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/UserCreate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UserCreate(ctx, req.(*MsgUserCreate)) +func (m *MsgEncounterDo) GetEncounterId() uint64 { + if m != nil { + return m.EncounterId } - return interceptor(ctx, in, info, handler) + return 0 } -func _Msg_CardSchemeBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardSchemeBuy) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardSchemeBuy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardSchemeBuy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardSchemeBuy(ctx, req.(*MsgCardSchemeBuy)) +func (m *MsgEncounterDo) GetUser() string { + if m != nil { + return m.User } - return interceptor(ctx, in, info, handler) + return "" } -func _Msg_CardSaveContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardSaveContent) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardSaveContent(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardSaveContent", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardSaveContent(ctx, req.(*MsgCardSaveContent)) - } - return interceptor(ctx, in, info, handler) +type MsgEncounterDoResponse struct { } -func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardVote) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardVote(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardVote", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardVote(ctx, req.(*MsgCardVote)) +func (m *MsgEncounterDoResponse) Reset() { *m = MsgEncounterDoResponse{} } +func (m *MsgEncounterDoResponse) String() string { return proto.CompactTextString(m) } +func (*MsgEncounterDoResponse) ProtoMessage() {} +func (*MsgEncounterDoResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{91} +} +func (m *MsgEncounterDoResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgEncounterDoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEncounterDoResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *MsgEncounterDoResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEncounterDoResponse.Merge(m, src) +} +func (m *MsgEncounterDoResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgEncounterDoResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEncounterDoResponse.DiscardUnknown(m) } -func _Msg_CardTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardTransfer) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardTransfer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardTransfer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardTransfer(ctx, req.(*MsgCardTransfer)) - } - return interceptor(ctx, in, info, handler) +var xxx_messageInfo_MsgEncounterDoResponse proto.InternalMessageInfo + +type MsgEncounterClose struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + EncounterId uint64 `protobuf:"varint,2,opt,name=encounterId,proto3" json:"encounterId,omitempty"` + User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` + Won bool `protobuf:"varint,4,opt,name=won,proto3" json:"won,omitempty"` } -func _Msg_CardDonate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardDonate) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardDonate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardDonate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardDonate(ctx, req.(*MsgCardDonate)) +func (m *MsgEncounterClose) Reset() { *m = MsgEncounterClose{} } +func (m *MsgEncounterClose) String() string { return proto.CompactTextString(m) } +func (*MsgEncounterClose) ProtoMessage() {} +func (*MsgEncounterClose) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{92} +} +func (m *MsgEncounterClose) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgEncounterClose) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEncounterClose.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *MsgEncounterClose) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEncounterClose.Merge(m, src) +} +func (m *MsgEncounterClose) XXX_Size() int { + return m.Size() +} +func (m *MsgEncounterClose) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEncounterClose.DiscardUnknown(m) } -func _Msg_CardArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardArtworkAdd) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardArtworkAdd(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardArtworkAdd", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardArtworkAdd(ctx, req.(*MsgCardArtworkAdd)) +var xxx_messageInfo_MsgEncounterClose proto.InternalMessageInfo + +func (m *MsgEncounterClose) GetCreator() string { + if m != nil { + return m.Creator } - return interceptor(ctx, in, info, handler) + return "" } -func _Msg_CardArtistChange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardArtistChange) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CardArtistChange(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardArtistChange", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardArtistChange(ctx, req.(*MsgCardArtistChange)) +func (m *MsgEncounterClose) GetEncounterId() uint64 { + if m != nil { + return m.EncounterId } - return interceptor(ctx, in, info, handler) + return 0 } -func _Msg_CouncilRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilRegister) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CouncilRegister(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilRegister", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilRegister(ctx, req.(*MsgCouncilRegister)) +func (m *MsgEncounterClose) GetUser() string { + if m != nil { + return m.User } - return interceptor(ctx, in, info, handler) + return "" } -func _Msg_CouncilDeregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilDeregister) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CouncilDeregister(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilDeregister", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilDeregister(ctx, req.(*MsgCouncilDeregister)) +func (m *MsgEncounterClose) GetWon() bool { + if m != nil { + return m.Won } - return interceptor(ctx, in, info, handler) + return false } -func _Msg_MatchReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgMatchReport) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).MatchReport(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/MatchReport", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).MatchReport(ctx, req.(*MsgMatchReport)) - } - return interceptor(ctx, in, info, handler) +type MsgEncounterCloseResponse struct { } -func _Msg_CouncilCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilCreate) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CouncilCreate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilCreate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilCreate(ctx, req.(*MsgCouncilCreate)) +func (m *MsgEncounterCloseResponse) Reset() { *m = MsgEncounterCloseResponse{} } +func (m *MsgEncounterCloseResponse) String() string { return proto.CompactTextString(m) } +func (*MsgEncounterCloseResponse) ProtoMessage() {} +func (*MsgEncounterCloseResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{93} +} +func (m *MsgEncounterCloseResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgEncounterCloseResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEncounterCloseResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *MsgEncounterCloseResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEncounterCloseResponse.Merge(m, src) +} +func (m *MsgEncounterCloseResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgEncounterCloseResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEncounterCloseResponse.DiscardUnknown(m) } -func _Msg_MatchReporterAppoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgMatchReporterAppoint) - if err := dec(in); err != nil { +var xxx_messageInfo_MsgEncounterCloseResponse proto.InternalMessageInfo + +func init() { + proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") + proto.RegisterType((*MsgUserCreate)(nil), "cardchain.cardchain.MsgUserCreate") + proto.RegisterType((*MsgUserCreateResponse)(nil), "cardchain.cardchain.MsgUserCreateResponse") + proto.RegisterType((*MsgCardSchemeBuy)(nil), "cardchain.cardchain.MsgCardSchemeBuy") + proto.RegisterType((*MsgCardSchemeBuyResponse)(nil), "cardchain.cardchain.MsgCardSchemeBuyResponse") + proto.RegisterType((*MsgCardSaveContent)(nil), "cardchain.cardchain.MsgCardSaveContent") + proto.RegisterType((*MsgCardSaveContentResponse)(nil), "cardchain.cardchain.MsgCardSaveContentResponse") + proto.RegisterType((*MsgCardVote)(nil), "cardchain.cardchain.MsgCardVote") + proto.RegisterType((*MsgCardVoteResponse)(nil), "cardchain.cardchain.MsgCardVoteResponse") + proto.RegisterType((*MsgCardTransfer)(nil), "cardchain.cardchain.MsgCardTransfer") + proto.RegisterType((*MsgCardTransferResponse)(nil), "cardchain.cardchain.MsgCardTransferResponse") + proto.RegisterType((*MsgCardDonate)(nil), "cardchain.cardchain.MsgCardDonate") + proto.RegisterType((*MsgCardDonateResponse)(nil), "cardchain.cardchain.MsgCardDonateResponse") + proto.RegisterType((*MsgCardArtworkAdd)(nil), "cardchain.cardchain.MsgCardArtworkAdd") + proto.RegisterType((*MsgCardArtworkAddResponse)(nil), "cardchain.cardchain.MsgCardArtworkAddResponse") + proto.RegisterType((*MsgCardArtistChange)(nil), "cardchain.cardchain.MsgCardArtistChange") + proto.RegisterType((*MsgCardArtistChangeResponse)(nil), "cardchain.cardchain.MsgCardArtistChangeResponse") + proto.RegisterType((*MsgCouncilRegister)(nil), "cardchain.cardchain.MsgCouncilRegister") + proto.RegisterType((*MsgCouncilRegisterResponse)(nil), "cardchain.cardchain.MsgCouncilRegisterResponse") + proto.RegisterType((*MsgCouncilDeregister)(nil), "cardchain.cardchain.MsgCouncilDeregister") + proto.RegisterType((*MsgCouncilDeregisterResponse)(nil), "cardchain.cardchain.MsgCouncilDeregisterResponse") + proto.RegisterType((*MsgMatchReport)(nil), "cardchain.cardchain.MsgMatchReport") + proto.RegisterType((*MsgMatchReportResponse)(nil), "cardchain.cardchain.MsgMatchReportResponse") + proto.RegisterType((*MsgCouncilCreate)(nil), "cardchain.cardchain.MsgCouncilCreate") + proto.RegisterType((*MsgCouncilCreateResponse)(nil), "cardchain.cardchain.MsgCouncilCreateResponse") + proto.RegisterType((*MsgMatchReporterAppoint)(nil), "cardchain.cardchain.MsgMatchReporterAppoint") + proto.RegisterType((*MsgMatchReporterAppointResponse)(nil), "cardchain.cardchain.MsgMatchReporterAppointResponse") + proto.RegisterType((*MsgSetCreate)(nil), "cardchain.cardchain.MsgSetCreate") + proto.RegisterType((*MsgSetCreateResponse)(nil), "cardchain.cardchain.MsgSetCreateResponse") + proto.RegisterType((*MsgSetCardAdd)(nil), "cardchain.cardchain.MsgSetCardAdd") + proto.RegisterType((*MsgSetCardAddResponse)(nil), "cardchain.cardchain.MsgSetCardAddResponse") + proto.RegisterType((*MsgSetCardRemove)(nil), "cardchain.cardchain.MsgSetCardRemove") + proto.RegisterType((*MsgSetCardRemoveResponse)(nil), "cardchain.cardchain.MsgSetCardRemoveResponse") + proto.RegisterType((*MsgSetContributorAdd)(nil), "cardchain.cardchain.MsgSetContributorAdd") + proto.RegisterType((*MsgSetContributorAddResponse)(nil), "cardchain.cardchain.MsgSetContributorAddResponse") + proto.RegisterType((*MsgSetContributorRemove)(nil), "cardchain.cardchain.MsgSetContributorRemove") + proto.RegisterType((*MsgSetContributorRemoveResponse)(nil), "cardchain.cardchain.MsgSetContributorRemoveResponse") + proto.RegisterType((*MsgSetFinalize)(nil), "cardchain.cardchain.MsgSetFinalize") + proto.RegisterType((*MsgSetFinalizeResponse)(nil), "cardchain.cardchain.MsgSetFinalizeResponse") + proto.RegisterType((*MsgSetArtworkAdd)(nil), "cardchain.cardchain.MsgSetArtworkAdd") + proto.RegisterType((*MsgSetArtworkAddResponse)(nil), "cardchain.cardchain.MsgSetArtworkAddResponse") + proto.RegisterType((*MsgSetStoryAdd)(nil), "cardchain.cardchain.MsgSetStoryAdd") + proto.RegisterType((*MsgSetStoryAddResponse)(nil), "cardchain.cardchain.MsgSetStoryAddResponse") + proto.RegisterType((*MsgBoosterPackBuy)(nil), "cardchain.cardchain.MsgBoosterPackBuy") + proto.RegisterType((*MsgBoosterPackBuyResponse)(nil), "cardchain.cardchain.MsgBoosterPackBuyResponse") + proto.RegisterType((*MsgSellOfferCreate)(nil), "cardchain.cardchain.MsgSellOfferCreate") + proto.RegisterType((*MsgSellOfferCreateResponse)(nil), "cardchain.cardchain.MsgSellOfferCreateResponse") + proto.RegisterType((*MsgSellOfferBuy)(nil), "cardchain.cardchain.MsgSellOfferBuy") + proto.RegisterType((*MsgSellOfferBuyResponse)(nil), "cardchain.cardchain.MsgSellOfferBuyResponse") + proto.RegisterType((*MsgSellOfferRemove)(nil), "cardchain.cardchain.MsgSellOfferRemove") + proto.RegisterType((*MsgSellOfferRemoveResponse)(nil), "cardchain.cardchain.MsgSellOfferRemoveResponse") + proto.RegisterType((*MsgCardRaritySet)(nil), "cardchain.cardchain.MsgCardRaritySet") + proto.RegisterType((*MsgCardRaritySetResponse)(nil), "cardchain.cardchain.MsgCardRaritySetResponse") + proto.RegisterType((*MsgCouncilResponseCommit)(nil), "cardchain.cardchain.MsgCouncilResponseCommit") + proto.RegisterType((*MsgCouncilResponseCommitResponse)(nil), "cardchain.cardchain.MsgCouncilResponseCommitResponse") + proto.RegisterType((*MsgCouncilResponseReveal)(nil), "cardchain.cardchain.MsgCouncilResponseReveal") + proto.RegisterType((*MsgCouncilResponseRevealResponse)(nil), "cardchain.cardchain.MsgCouncilResponseRevealResponse") + proto.RegisterType((*MsgCouncilRestart)(nil), "cardchain.cardchain.MsgCouncilRestart") + proto.RegisterType((*MsgCouncilRestartResponse)(nil), "cardchain.cardchain.MsgCouncilRestartResponse") + proto.RegisterType((*MsgMatchConfirm)(nil), "cardchain.cardchain.MsgMatchConfirm") + proto.RegisterType((*MsgMatchConfirmResponse)(nil), "cardchain.cardchain.MsgMatchConfirmResponse") + proto.RegisterType((*MsgProfileCardSet)(nil), "cardchain.cardchain.MsgProfileCardSet") + proto.RegisterType((*MsgProfileCardSetResponse)(nil), "cardchain.cardchain.MsgProfileCardSetResponse") + proto.RegisterType((*MsgProfileWebsiteSet)(nil), "cardchain.cardchain.MsgProfileWebsiteSet") + proto.RegisterType((*MsgProfileWebsiteSetResponse)(nil), "cardchain.cardchain.MsgProfileWebsiteSetResponse") + proto.RegisterType((*MsgProfileBioSet)(nil), "cardchain.cardchain.MsgProfileBioSet") + proto.RegisterType((*MsgProfileBioSetResponse)(nil), "cardchain.cardchain.MsgProfileBioSetResponse") + proto.RegisterType((*MsgBoosterPackOpen)(nil), "cardchain.cardchain.MsgBoosterPackOpen") + proto.RegisterType((*MsgBoosterPackOpenResponse)(nil), "cardchain.cardchain.MsgBoosterPackOpenResponse") + proto.RegisterType((*MsgBoosterPackTransfer)(nil), "cardchain.cardchain.MsgBoosterPackTransfer") + proto.RegisterType((*MsgBoosterPackTransferResponse)(nil), "cardchain.cardchain.MsgBoosterPackTransferResponse") + proto.RegisterType((*MsgSetStoryWriterSet)(nil), "cardchain.cardchain.MsgSetStoryWriterSet") + proto.RegisterType((*MsgSetStoryWriterSetResponse)(nil), "cardchain.cardchain.MsgSetStoryWriterSetResponse") + proto.RegisterType((*MsgSetArtistSet)(nil), "cardchain.cardchain.MsgSetArtistSet") + proto.RegisterType((*MsgSetArtistSetResponse)(nil), "cardchain.cardchain.MsgSetArtistSetResponse") + proto.RegisterType((*MsgCardVoteMulti)(nil), "cardchain.cardchain.MsgCardVoteMulti") + proto.RegisterType((*MsgCardVoteMultiResponse)(nil), "cardchain.cardchain.MsgCardVoteMultiResponse") + proto.RegisterType((*MsgMatchOpen)(nil), "cardchain.cardchain.MsgMatchOpen") + proto.RegisterType((*MsgMatchOpenResponse)(nil), "cardchain.cardchain.MsgMatchOpenResponse") + proto.RegisterType((*MsgSetNameSet)(nil), "cardchain.cardchain.MsgSetNameSet") + proto.RegisterType((*MsgSetNameSetResponse)(nil), "cardchain.cardchain.MsgSetNameSetResponse") + proto.RegisterType((*MsgProfileAliasSet)(nil), "cardchain.cardchain.MsgProfileAliasSet") + proto.RegisterType((*MsgProfileAliasSetResponse)(nil), "cardchain.cardchain.MsgProfileAliasSetResponse") + proto.RegisterType((*MsgEarlyAccessInvite)(nil), "cardchain.cardchain.MsgEarlyAccessInvite") + proto.RegisterType((*MsgEarlyAccessInviteResponse)(nil), "cardchain.cardchain.MsgEarlyAccessInviteResponse") + proto.RegisterType((*MsgZealyConnect)(nil), "cardchain.cardchain.MsgZealyConnect") + proto.RegisterType((*MsgZealyConnectResponse)(nil), "cardchain.cardchain.MsgZealyConnectResponse") + proto.RegisterType((*MsgEncounterCreate)(nil), "cardchain.cardchain.MsgEncounterCreate") + proto.RegisterMapType((map[string]string)(nil), "cardchain.cardchain.MsgEncounterCreate.ParametersEntry") + proto.RegisterType((*MsgEncounterCreateResponse)(nil), "cardchain.cardchain.MsgEncounterCreateResponse") + proto.RegisterType((*MsgEncounterDo)(nil), "cardchain.cardchain.MsgEncounterDo") + proto.RegisterType((*MsgEncounterDoResponse)(nil), "cardchain.cardchain.MsgEncounterDoResponse") + proto.RegisterType((*MsgEncounterClose)(nil), "cardchain.cardchain.MsgEncounterClose") + proto.RegisterType((*MsgEncounterCloseResponse)(nil), "cardchain.cardchain.MsgEncounterCloseResponse") +} + +func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } + +var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ + // 2743 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcd, 0x6f, 0x14, 0xc9, + 0x15, 0xa7, 0x3d, 0xb6, 0xb1, 0x0b, 0x63, 0x96, 0xc6, 0x0b, 0x43, 0xc3, 0x1a, 0x33, 0xd8, 0x60, + 0x58, 0xf0, 0x2c, 0xb0, 0x7c, 0x08, 0x65, 0x37, 0xf2, 0xd8, 0x24, 0x5a, 0x29, 0x5e, 0x48, 0x3b, + 0x59, 0xc2, 0xe6, 0x63, 0xd5, 0xd3, 0x53, 0x1e, 0x77, 0xdc, 0xd3, 0x35, 0xdb, 0xdd, 0x33, 0x5e, + 0x23, 0x45, 0x8a, 0x36, 0x97, 0x28, 0xb9, 0xe4, 0x9c, 0x5b, 0x6e, 0x7b, 0x8a, 0x88, 0x94, 0xbf, + 0x20, 0xb9, 0xec, 0x21, 0x87, 0xd5, 0x9e, 0x72, 0x8a, 0x22, 0x38, 0x20, 0xe5, 0xaf, 0x88, 0xea, + 0xa3, 0xab, 0xab, 0x6b, 0xaa, 0xaa, 0x7b, 0x46, 0xc9, 0x05, 0xa6, 0xaa, 0x7f, 0xf5, 0xbe, 0xea, + 0x55, 0xbd, 0x57, 0xef, 0x01, 0xb8, 0xe8, 0x7b, 0x71, 0xc7, 0xdf, 0xf7, 0x82, 0xa8, 0x99, 0xff, + 0x4a, 0xbf, 0xd8, 0xe8, 0xc7, 0x28, 0x45, 0xf6, 0x19, 0x3e, 0xb7, 0xc1, 0x7f, 0x39, 0xa7, 0xbd, + 0x5e, 0x10, 0xa1, 0x26, 0xf9, 0x93, 0xe2, 0x9c, 0x73, 0x3e, 0x4a, 0x7a, 0x28, 0x69, 0xf6, 0x92, + 0x6e, 0x73, 0x78, 0x1b, 0xff, 0xc5, 0x3e, 0x9c, 0xa7, 0x1f, 0x3e, 0x23, 0xa3, 0x26, 0x1d, 0xb0, + 0x4f, 0x4b, 0x5d, 0xd4, 0x45, 0x74, 0x1e, 0xff, 0x62, 0xb3, 0x2b, 0x2a, 0x79, 0xfa, 0x5e, 0xec, + 0xf5, 0xb2, 0x75, 0xcb, 0x8c, 0x57, 0xdb, 0x4b, 0x60, 0x73, 0x78, 0xbb, 0x0d, 0x53, 0xef, 0x76, + 0xd3, 0x47, 0x41, 0x64, 0xa2, 0x30, 0x44, 0x69, 0x10, 0x65, 0x42, 0x5d, 0x52, 0x21, 0x7a, 0x5e, + 0xea, 0xef, 0x33, 0xc0, 0x65, 0x15, 0xc0, 0x47, 0x83, 0xc8, 0x0f, 0x42, 0x2e, 0x85, 0x0a, 0xe2, + 0xc5, 0x1d, 0xfa, 0xbd, 0xf1, 0x77, 0x0b, 0x9c, 0xda, 0x49, 0xba, 0x3f, 0xee, 0x77, 0xbc, 0x14, + 0x3e, 0x25, 0xf2, 0xdb, 0xf7, 0xc1, 0xbc, 0x37, 0x48, 0xf7, 0x51, 0x1c, 0xa4, 0x47, 0x75, 0x6b, + 0xc5, 0x5a, 0x9f, 0x6f, 0xd5, 0xbf, 0xfd, 0xeb, 0xad, 0x25, 0x66, 0x96, 0xcd, 0x4e, 0x27, 0x86, + 0x49, 0xb2, 0x9b, 0xc6, 0x41, 0xd4, 0x75, 0x73, 0xa8, 0xfd, 0x21, 0x98, 0xa5, 0x16, 0xa8, 0x4f, + 0xad, 0x58, 0xeb, 0x27, 0xee, 0x5c, 0xd8, 0x50, 0x6c, 0xcb, 0x06, 0x65, 0xd2, 0x9a, 0xff, 0xfa, + 0x5f, 0x97, 0x8e, 0x7d, 0xf5, 0xe6, 0xe5, 0x0d, 0xcb, 0x65, 0xab, 0x1e, 0x3d, 0xfc, 0xf2, 0xcd, + 0xcb, 0x1b, 0x39, 0xbd, 0xdf, 0xbd, 0x79, 0x79, 0x63, 0x2d, 0x17, 0xfa, 0x0b, 0x41, 0x01, 0x49, + 0xe2, 0xc6, 0x79, 0x70, 0x4e, 0x9a, 0x72, 0x61, 0xd2, 0x47, 0x51, 0x02, 0x1b, 0x5d, 0x70, 0x12, + 0x7f, 0x4a, 0x60, 0xbc, 0x15, 0x43, 0x2f, 0x85, 0x76, 0x1d, 0x1c, 0xf7, 0xf1, 0x2f, 0x14, 0x53, + 0xdd, 0xdc, 0x6c, 0x88, 0xbf, 0x44, 0xf0, 0x10, 0x43, 0x89, 0x02, 0xf3, 0x6e, 0x36, 0xb4, 0x97, + 0xc0, 0x8c, 0x17, 0x06, 0x5e, 0x52, 0xaf, 0x91, 0x79, 0x3a, 0x78, 0xb4, 0x80, 0xe5, 0xcd, 0x56, + 0x37, 0xce, 0x81, 0xb7, 0x0b, 0x8c, 0xb8, 0x04, 0x3d, 0xf0, 0xd6, 0x4e, 0xd2, 0xdd, 0xf2, 0xe2, + 0xce, 0xae, 0xbf, 0x0f, 0x7b, 0xb0, 0x35, 0x38, 0x32, 0x08, 0x71, 0x1b, 0xd4, 0xda, 0x41, 0x87, + 0x59, 0xf0, 0xfc, 0x06, 0xb3, 0x39, 0x76, 0xa2, 0x0d, 0xe6, 0x44, 0x1b, 0x5b, 0x28, 0x88, 0x5a, + 0xd3, 0xd8, 0x7e, 0x2e, 0xc6, 0x4a, 0x72, 0xdc, 0x01, 0x75, 0x99, 0x5d, 0x26, 0x8a, 0x7d, 0x16, + 0xcc, 0x62, 0x23, 0x7e, 0xd4, 0x21, 0x5c, 0xa7, 0x5d, 0x36, 0x6a, 0xfc, 0xcd, 0x02, 0x76, 0xb6, + 0xc8, 0x1b, 0xc2, 0x2d, 0x14, 0xa5, 0x30, 0x4a, 0x0d, 0x52, 0xe6, 0x84, 0xa6, 0x44, 0x42, 0x64, + 0x05, 0x5d, 0x4c, 0x4c, 0xb5, 0xe0, 0x66, 0x43, 0x6c, 0xc2, 0x08, 0xa5, 0x30, 0xa9, 0x4f, 0x53, + 0x13, 0x92, 0x01, 0xa6, 0xe3, 0xc5, 0x69, 0x90, 0xa4, 0xf5, 0x19, 0x32, 0xcd, 0x46, 0xf6, 0x2a, + 0x38, 0xd9, 0xf6, 0x42, 0x2f, 0xf2, 0xe1, 0x66, 0xe4, 0xef, 0xa3, 0xb8, 0x3e, 0xbb, 0x62, 0xad, + 0xcf, 0xb9, 0xc5, 0x49, 0x49, 0xf1, 0x6d, 0xe0, 0x8c, 0xea, 0xc0, 0x55, 0xbf, 0x0a, 0x16, 0xbd, + 0x20, 0xee, 0xc4, 0xa8, 0xbf, 0x15, 0x7a, 0x41, 0x0f, 0x52, 0x13, 0xcc, 0xb9, 0xd2, 0x6c, 0xe3, + 0x97, 0xe0, 0x04, 0xa3, 0xf2, 0x09, 0x32, 0x7a, 0xcb, 0x5d, 0x30, 0x3d, 0x44, 0x29, 0x64, 0x3b, + 0x75, 0x49, 0xe9, 0xeb, 0xbb, 0x41, 0xd4, 0x0d, 0x21, 0x26, 0xe4, 0x12, 0xb0, 0x24, 0xf1, 0x07, + 0xe0, 0x8c, 0xc0, 0x6b, 0x6c, 0x51, 0x7b, 0xe4, 0xe8, 0xe2, 0xe5, 0x3f, 0x8a, 0xbd, 0x28, 0xd9, + 0x83, 0xf1, 0x04, 0x3b, 0xe6, 0x80, 0xb9, 0x18, 0xfa, 0x30, 0x18, 0xc2, 0x98, 0x79, 0x37, 0x1f, + 0x4b, 0xd2, 0xd2, 0x43, 0x26, 0xb2, 0xe3, 0x2e, 0xfe, 0x5b, 0x8b, 0x9c, 0x32, 0xfc, 0x6d, 0x1b, + 0x45, 0xe6, 0x53, 0xa6, 0x13, 0xe4, 0x01, 0x98, 0xf5, 0x7a, 0x68, 0xc0, 0x3c, 0xa7, 0x82, 0xef, + 0x33, 0xb8, 0xf2, 0x18, 0xe6, 0x92, 0x70, 0x19, 0x7f, 0x63, 0x81, 0xd3, 0xec, 0xcb, 0x66, 0x9c, + 0x1e, 0xa2, 0xf8, 0x60, 0xb3, 0xd3, 0x99, 0x40, 0xce, 0x25, 0x30, 0x13, 0xf4, 0xbc, 0x2e, 0x64, + 0x0e, 0x4e, 0x07, 0x98, 0xce, 0xde, 0x20, 0x0c, 0x37, 0xe3, 0x94, 0x38, 0xf8, 0x9c, 0x9b, 0x0d, + 0x25, 0xf1, 0x2e, 0x80, 0xf3, 0x23, 0x42, 0x08, 0x37, 0xc5, 0x99, 0xfc, 0x63, 0x90, 0xa4, 0x5b, + 0xfb, 0x5e, 0xd4, 0x9d, 0xc4, 0x96, 0xf9, 0xb1, 0xaa, 0x89, 0xc7, 0x4a, 0x92, 0xe5, 0x1d, 0x70, + 0x41, 0xc1, 0x8e, 0x4b, 0xf3, 0x1d, 0x7a, 0x27, 0xd0, 0x70, 0xe2, 0xc2, 0x6e, 0x90, 0xa4, 0x26, + 0x0f, 0x93, 0x88, 0x5f, 0xa4, 0xa7, 0xb1, 0xb8, 0x9a, 0xd3, 0xfe, 0x10, 0x2c, 0xe5, 0x5f, 0xb7, + 0x61, 0x3c, 0x2e, 0xf5, 0x65, 0x70, 0x51, 0xb5, 0x9e, 0xd3, 0xff, 0xd6, 0x02, 0x8b, 0x3b, 0x49, + 0x77, 0x07, 0x07, 0x4b, 0x17, 0xf6, 0x51, 0x9c, 0x9a, 0xef, 0x7d, 0x12, 0x55, 0xb9, 0x19, 0xb3, + 0xa1, 0xdd, 0x00, 0x0b, 0xfd, 0xd0, 0x3b, 0x82, 0x1d, 0x6c, 0xa4, 0x64, 0xb3, 0x5e, 0x5b, 0xa9, + 0xad, 0x4f, 0xbb, 0x85, 0x39, 0x09, 0xd3, 0xaa, 0x4f, 0x8f, 0x60, 0x5a, 0xf6, 0x7d, 0x70, 0x1c, + 0x0d, 0x52, 0x1f, 0xf5, 0x20, 0xb9, 0xe7, 0x16, 0xef, 0x5c, 0x54, 0x5e, 0x17, 0x4f, 0x28, 0xc6, + 0xcd, 0xc0, 0x92, 0xd2, 0x75, 0x70, 0xb6, 0xa8, 0x13, 0x57, 0xd7, 0xa5, 0x21, 0x86, 0x9a, 0xa3, + 0x34, 0xce, 0x69, 0xbc, 0x46, 0xe2, 0xe6, 0xd0, 0x38, 0x22, 0xd2, 0xe4, 0xfc, 0x7e, 0x4e, 0xae, + 0x02, 0x41, 0x12, 0x18, 0x6f, 0xf6, 0xfb, 0x28, 0x30, 0xc6, 0x0c, 0x72, 0xd3, 0x50, 0x30, 0x8b, + 0xaf, 0x7c, 0x2c, 0xb1, 0xbe, 0x0c, 0x2e, 0x69, 0xc8, 0x73, 0x09, 0xbe, 0xb2, 0xc0, 0xc2, 0x4e, + 0xd2, 0xdd, 0x85, 0x69, 0xa9, 0xba, 0x36, 0x98, 0x8e, 0xbc, 0x1e, 0x64, 0x3c, 0xc9, 0x6f, 0xdd, + 0x01, 0xb1, 0x57, 0xc0, 0x89, 0x24, 0x45, 0xf1, 0xd1, 0xb3, 0x38, 0xc0, 0x62, 0xd2, 0x58, 0x25, + 0x4e, 0xe1, 0xed, 0xc6, 0x21, 0x2d, 0x0e, 0xda, 0x83, 0x14, 0xc5, 0x49, 0x7d, 0x66, 0xa5, 0xb6, + 0x3e, 0xef, 0x16, 0xe6, 0x24, 0x6d, 0xce, 0x12, 0x5f, 0xe7, 0x92, 0x72, 0x15, 0x20, 0xb9, 0x33, + 0xf1, 0x3c, 0x3e, 0x81, 0xc6, 0xbb, 0x68, 0x09, 0xcc, 0x24, 0x30, 0xe5, 0x1b, 0x46, 0x07, 0xc2, + 0x3e, 0xd6, 0x0c, 0xfb, 0x48, 0x2f, 0xc4, 0x9c, 0x0d, 0xe7, 0xbf, 0x4f, 0x9c, 0x86, 0x7d, 0x70, + 0x61, 0x0f, 0x0d, 0xe1, 0xff, 0x49, 0x04, 0xea, 0x4a, 0x05, 0x4e, 0x82, 0x14, 0x99, 0x75, 0x72, + 0x0b, 0x4e, 0x62, 0x0c, 0x1b, 0x4c, 0x0f, 0x12, 0x1e, 0xc3, 0xc8, 0x6f, 0xe5, 0x9d, 0x31, 0xc2, + 0x89, 0x4b, 0x72, 0x40, 0x9c, 0xba, 0xf8, 0x7d, 0x42, 0xb3, 0x94, 0x0b, 0x43, 0x5d, 0x5c, 0xc5, + 0x8c, 0xcb, 0xf3, 0x31, 0xb9, 0xc2, 0x76, 0x61, 0xfa, 0xbd, 0x20, 0xf2, 0xc2, 0xe0, 0xc5, 0xd8, + 0x62, 0x28, 0xaf, 0x0f, 0x81, 0x1e, 0xe7, 0xb4, 0x97, 0x79, 0x42, 0xa5, 0xc0, 0xa8, 0x56, 0x59, + 0x19, 0x16, 0x75, 0x7e, 0xa0, 0x88, 0x7d, 0x9d, 0x4c, 0xdb, 0x5d, 0x7c, 0xd8, 0x26, 0x94, 0x80, + 0x1c, 0xd4, 0x2c, 0x49, 0x27, 0x03, 0x9d, 0x0d, 0x32, 0x2e, 0x9c, 0xff, 0x0f, 0x49, 0x76, 0xd0, + 0x42, 0x08, 0xc7, 0x91, 0xa7, 0x9e, 0x7f, 0x60, 0x4e, 0xd3, 0xab, 0x18, 0x7c, 0x8b, 0xc4, 0xfa, + 0x22, 0xc9, 0xb1, 0x93, 0xbc, 0xdf, 0xd3, 0xd4, 0x7c, 0x17, 0x86, 0xe1, 0x93, 0xbd, 0xbd, 0x0a, + 0xaf, 0x18, 0x5d, 0x4e, 0x70, 0x0f, 0xcc, 0xf4, 0xe3, 0xc0, 0x87, 0x55, 0xd3, 0x2b, 0x8a, 0x56, + 0x46, 0x75, 0x49, 0x18, 0x6e, 0xc3, 0x9f, 0x92, 0x84, 0x94, 0x7f, 0x35, 0x5b, 0x10, 0x5f, 0xb5, + 0x19, 0x92, 0x0b, 0x2b, 0x4e, 0x29, 0xd3, 0x4f, 0x91, 0x38, 0xe7, 0xfb, 0x8b, 0xa2, 0x89, 0x4a, + 0x0f, 0xed, 0xb8, 0xac, 0x25, 0xad, 0xa5, 0x73, 0xfa, 0x27, 0x8b, 0x3f, 0xf0, 0x5c, 0x0f, 0x3f, + 0x5c, 0x77, 0x61, 0x3a, 0x59, 0x5e, 0x49, 0x3d, 0xaa, 0x26, 0x3a, 0xf5, 0x03, 0x30, 0x1b, 0x13, + 0xa2, 0x24, 0x16, 0x2d, 0x6a, 0xde, 0x19, 0x39, 0x6f, 0x97, 0xc1, 0xd5, 0xc1, 0x5c, 0x14, 0x91, + 0xcb, 0xff, 0x47, 0x4b, 0x8c, 0xf4, 0xd9, 0xf4, 0x16, 0xea, 0xf5, 0x02, 0x93, 0x1e, 0x17, 0xc1, + 0x3c, 0x2b, 0x35, 0x70, 0x55, 0xf2, 0x09, 0xbc, 0x0e, 0x07, 0xf7, 0x28, 0x81, 0xec, 0x38, 0x66, + 0x43, 0x7b, 0x19, 0x80, 0x64, 0xd0, 0xed, 0xc2, 0x24, 0x0d, 0x50, 0xc4, 0x22, 0xac, 0x30, 0x23, + 0x09, 0xde, 0x00, 0x2b, 0x3a, 0xd9, 0xb8, 0x02, 0x7f, 0x51, 0x2a, 0xe0, 0xc2, 0x21, 0xf4, 0xc2, + 0x89, 0x15, 0x78, 0x50, 0x54, 0x60, 0xf1, 0xce, 0x3b, 0x4a, 0xcb, 0x73, 0x6e, 0x5c, 0xbf, 0xb3, + 0x60, 0x36, 0x81, 0x7e, 0x0c, 0x53, 0xa6, 0x1b, 0x1b, 0x55, 0xd1, 0x8b, 0x8a, 0xcc, 0xf5, 0x7a, + 0x4e, 0x1f, 0x2c, 0x1c, 0x93, 0x7a, 0xf1, 0xc4, 0x1b, 0xa2, 0x7e, 0x86, 0x14, 0x48, 0x73, 0xbe, + 0xff, 0xa0, 0x35, 0x21, 0x92, 0x7f, 0x6d, 0xa1, 0x68, 0x2f, 0x88, 0x7b, 0x13, 0x65, 0xcf, 0x42, + 0xd6, 0x5b, 0x1b, 0x23, 0xeb, 0xb5, 0xbf, 0x0b, 0x00, 0x7e, 0x2c, 0xd3, 0xe4, 0x99, 0xe4, 0xd3, + 0x15, 0xde, 0xd7, 0xc2, 0x12, 0xe5, 0xc5, 0x21, 0x6a, 0xc3, 0x35, 0xdd, 0x25, 0x16, 0x7e, 0x1a, + 0xa3, 0xbd, 0x20, 0x84, 0xa4, 0x72, 0x30, 0xc9, 0xd1, 0x55, 0xda, 0xb6, 0x48, 0x94, 0x73, 0xfc, + 0x09, 0x49, 0x77, 0xd8, 0xc7, 0x67, 0xb0, 0x9d, 0x04, 0x29, 0x34, 0x33, 0xad, 0x83, 0xe3, 0x87, + 0x14, 0x97, 0x55, 0xa5, 0xd8, 0x50, 0x99, 0xde, 0x8c, 0x50, 0xe6, 0x9c, 0x7f, 0x40, 0x6e, 0x29, + 0xf6, 0xbd, 0x15, 0x20, 0x33, 0xd7, 0xb7, 0x40, 0xad, 0x1d, 0x20, 0xc6, 0x11, 0xff, 0x54, 0x5e, + 0x28, 0x05, 0x6a, 0x9c, 0x53, 0x9b, 0x5c, 0xc7, 0x42, 0xdc, 0x7b, 0xd2, 0x87, 0x91, 0x81, 0xd7, + 0x2a, 0x38, 0xd9, 0xce, 0xc1, 0xdc, 0xba, 0xc5, 0x49, 0x89, 0xff, 0x7d, 0x72, 0x25, 0x4b, 0x3c, + 0x78, 0x70, 0xc5, 0xbc, 0xc8, 0xd6, 0x24, 0x75, 0x8b, 0x3c, 0xc7, 0xb2, 0x61, 0xe3, 0x4b, 0x8b, + 0x64, 0x00, 0xc2, 0xc2, 0x0a, 0xb5, 0x93, 0x4a, 0x02, 0x8e, 0x51, 0x49, 0x59, 0x01, 0xcb, 0x6a, + 0x19, 0xb8, 0x09, 0x87, 0x59, 0x56, 0xbc, 0x9b, 0x3f, 0x3d, 0xcc, 0x1b, 0xa6, 0xce, 0x89, 0xa4, + 0xf7, 0x4c, 0x6d, 0xe4, 0x3d, 0xa3, 0xcb, 0x91, 0x8b, 0x7c, 0x85, 0x6a, 0xea, 0x29, 0x9e, 0xc1, + 0x05, 0x49, 0x3a, 0x89, 0x48, 0xd5, 0x6a, 0x13, 0x59, 0xb4, 0xcf, 0x19, 0x71, 0x19, 0x3e, 0xe7, + 0xe1, 0x16, 0x1f, 0xfc, 0x9d, 0x41, 0x98, 0x06, 0x06, 0x21, 0xee, 0x81, 0x99, 0x21, 0xa9, 0x3b, + 0x4e, 0x55, 0xbb, 0x47, 0x28, 0x5a, 0x92, 0xa6, 0xc5, 0xc3, 0x27, 0x67, 0x39, 0x76, 0x22, 0xf7, + 0x67, 0xfa, 0x62, 0x25, 0xf7, 0x50, 0xc9, 0x81, 0xa8, 0x83, 0xe3, 0xa4, 0x7c, 0x10, 0x6f, 0x66, + 0x47, 0x9e, 0x0d, 0xf3, 0x2f, 0xad, 0x2c, 0xac, 0xb2, 0x21, 0xde, 0x69, 0x06, 0xea, 0x40, 0xff, + 0x80, 0x55, 0x21, 0xc4, 0xa9, 0x1c, 0xd1, 0x22, 0x88, 0x19, 0x11, 0x41, 0xa6, 0x24, 0xa5, 0xdf, + 0x23, 0x3e, 0xc8, 0xe5, 0x15, 0x0f, 0x57, 0x76, 0xe1, 0x5b, 0x85, 0x0b, 0xbf, 0xe1, 0x65, 0x2f, + 0xda, 0x8f, 0xbd, 0x1e, 0x9c, 0xc4, 0x37, 0xb2, 0xa7, 0x7a, 0x2d, 0x7f, 0xaa, 0xeb, 0x5e, 0xb3, + 0x8c, 0x85, 0x50, 0x02, 0xb1, 0xf3, 0x0b, 0x69, 0x33, 0x0c, 0xbc, 0xa4, 0x54, 0x00, 0x5a, 0xd2, + 0x9f, 0xd2, 0x97, 0xf4, 0x69, 0xde, 0x27, 0xd1, 0x14, 0x38, 0x62, 0xfb, 0x3c, 0xf6, 0xe2, 0xf0, + 0x68, 0xd3, 0xf7, 0x61, 0x92, 0x7c, 0x14, 0x0d, 0x83, 0xb2, 0x4a, 0xc4, 0x20, 0xef, 0x2e, 0xe8, + 0xdf, 0xa8, 0x23, 0x34, 0x85, 0x80, 0x85, 0xcf, 0xdf, 0xa7, 0xd0, 0x0b, 0x8f, 0xb6, 0x50, 0x14, + 0x41, 0xbf, 0x24, 0x72, 0xbc, 0xc0, 0x48, 0x66, 0xe5, 0x79, 0x37, 0x1b, 0x2a, 0xcf, 0x9a, 0x48, + 0x34, 0xcf, 0x0d, 0xa7, 0x88, 0x59, 0x1f, 0x47, 0x38, 0x91, 0x48, 0x2b, 0xbc, 0x3e, 0x54, 0xc5, + 0x16, 0x07, 0xcc, 0x75, 0x62, 0xef, 0x30, 0xa4, 0x67, 0x1e, 0x7b, 0x1d, 0x1f, 0xdb, 0xcf, 0x00, + 0x20, 0xdd, 0x1f, 0x98, 0xc2, 0x38, 0x8b, 0xf5, 0x0f, 0x94, 0x67, 0x74, 0x54, 0x0c, 0xda, 0x4a, + 0x22, 0x2b, 0x1f, 0x47, 0x69, 0x7c, 0xe4, 0x0a, 0xa4, 0xf2, 0xf7, 0xe8, 0x8c, 0xf0, 0x1e, 0x75, + 0x3e, 0x00, 0xa7, 0xa4, 0x45, 0x38, 0xd2, 0x1d, 0x40, 0xd6, 0xe7, 0x72, 0xf1, 0x4f, 0xbc, 0x74, + 0xe8, 0x85, 0x83, 0x4c, 0x09, 0x3a, 0x78, 0x34, 0xf5, 0xd0, 0x52, 0xba, 0x87, 0x24, 0x14, 0x37, + 0x5d, 0x44, 0x1e, 0xb4, 0xfc, 0xeb, 0x36, 0x32, 0x3f, 0x48, 0x60, 0x06, 0xcc, 0x1f, 0x24, 0xc2, + 0x54, 0x85, 0x8a, 0x02, 0x7d, 0xda, 0x0a, 0xfc, 0xe4, 0xca, 0x77, 0x2e, 0x68, 0x88, 0x12, 0xf8, + 0xbf, 0x96, 0x06, 0xdb, 0xf1, 0x90, 0x25, 0xf4, 0x73, 0x2e, 0xfe, 0xa9, 0x4c, 0x8b, 0x8a, 0x42, + 0x64, 0x22, 0xde, 0xf9, 0xcf, 0x55, 0x50, 0xdb, 0x49, 0xba, 0x76, 0x1b, 0x2c, 0x14, 0x5a, 0x91, + 0xab, 0x3a, 0x57, 0x10, 0x51, 0xce, 0xcd, 0x2a, 0x28, 0x7e, 0x7f, 0xfd, 0x0c, 0x00, 0xa1, 0x1d, + 0xd8, 0xd0, 0xae, 0xe5, 0x18, 0xe7, 0x46, 0x39, 0x86, 0x53, 0x87, 0xe0, 0x64, 0xb1, 0xd5, 0xb7, + 0xa6, 0x5b, 0x5c, 0x80, 0x39, 0xb7, 0x2a, 0xc1, 0x38, 0x9b, 0x03, 0x70, 0x4a, 0xee, 0xd6, 0x5d, + 0x33, 0x52, 0xc8, 0x81, 0x4e, 0xb3, 0x22, 0x90, 0x33, 0xfb, 0x04, 0xcc, 0xf1, 0x86, 0xd8, 0x8a, + 0x69, 0x31, 0x46, 0x38, 0xeb, 0x65, 0x08, 0x4e, 0xb7, 0x0d, 0x16, 0x0a, 0xdd, 0xab, 0x55, 0xd3, + 0xca, 0x0c, 0xa5, 0xdf, 0x6d, 0x55, 0x6b, 0x0a, 0xef, 0xb6, 0xd0, 0x96, 0x6a, 0x98, 0xd6, 0x52, + 0x8c, 0x7e, 0xb7, 0x47, 0x9b, 0x4a, 0xf6, 0x3e, 0x58, 0x94, 0x1a, 0x4a, 0x57, 0x4d, 0xab, 0x73, + 0x9c, 0xb3, 0x51, 0x0d, 0xc7, 0x39, 0x45, 0xe0, 0xad, 0x91, 0xc6, 0xd0, 0x7a, 0x09, 0x0d, 0x8e, + 0x74, 0xde, 0xab, 0x8a, 0x2c, 0x38, 0x98, 0xd4, 0xfa, 0xd1, 0x3b, 0x58, 0x11, 0x68, 0x70, 0x30, + 0x75, 0x3b, 0xc8, 0xfe, 0x1c, 0x9c, 0x1e, 0xed, 0x05, 0x5d, 0x2f, 0xa1, 0x92, 0x43, 0x9d, 0xdb, + 0x95, 0xa1, 0x9c, 0xe5, 0x67, 0xe0, 0x84, 0xd8, 0x1d, 0xba, 0xa2, 0xa3, 0x20, 0x80, 0x9c, 0x77, + 0x2b, 0x80, 0x0a, 0x17, 0x41, 0xa1, 0x21, 0xb3, 0x56, 0x22, 0x24, 0xbb, 0x6c, 0x6e, 0x55, 0x82, + 0x71, 0x36, 0x2f, 0xc0, 0x92, 0xb2, 0x0f, 0x73, 0xb3, 0x82, 0xac, 0x1c, 0xed, 0xbc, 0x3f, 0x0e, + 0x9a, 0xf3, 0x7e, 0x0e, 0xe6, 0xf3, 0x06, 0xcc, 0x65, 0x1d, 0x09, 0x0e, 0x71, 0xae, 0x97, 0x42, + 0xc4, 0x63, 0x2b, 0x74, 0x46, 0x1a, 0xa6, 0x85, 0x14, 0xa3, 0x3f, 0xb6, 0xa3, 0xad, 0x0f, 0xbc, + 0x37, 0xc5, 0xbe, 0xc7, 0x5a, 0xc9, 0x62, 0x0a, 0xd3, 0xef, 0x8d, 0xb2, 0xb7, 0x81, 0xdd, 0x7a, + 0xb4, 0xb1, 0x61, 0x34, 0x42, 0x01, 0xaa, 0x77, 0x6b, 0x6d, 0x13, 0x03, 0xbb, 0x83, 0xb2, 0x83, + 0x71, 0xb3, 0x1a, 0x29, 0xa6, 0xe7, 0xfb, 0xe3, 0xa0, 0xc5, 0x23, 0x25, 0x76, 0x2b, 0xae, 0x18, + 0x88, 0x64, 0x20, 0xfd, 0x91, 0x52, 0xf4, 0x29, 0xd8, 0xb6, 0x09, 0x97, 0xad, 0x69, 0xdb, 0x84, + 0xbb, 0xf6, 0x56, 0x25, 0x98, 0xa4, 0x07, 0xef, 0x43, 0x98, 0xf4, 0xc8, 0x40, 0x46, 0x3d, 0xe4, + 0x5e, 0x03, 0x8e, 0x1a, 0x52, 0xa3, 0x41, 0x1b, 0x35, 0x8a, 0x38, 0x7d, 0xd4, 0xd0, 0x74, 0x19, + 0x0e, 0xc0, 0x29, 0xb9, 0x73, 0x70, 0x4d, 0x2f, 0x69, 0x01, 0xa8, 0xbf, 0xc5, 0x35, 0xe5, 0x7f, + 0x1c, 0xce, 0x0b, 0xb5, 0xff, 0xd5, 0x52, 0x02, 0x58, 0xa5, 0x9b, 0x55, 0x50, 0x4a, 0x85, 0x98, + 0x6b, 0x97, 0x2b, 0xc4, 0xbc, 0xba, 0x59, 0x11, 0x28, 0xe7, 0x72, 0x79, 0x55, 0xdf, 0x98, 0xcb, + 0x71, 0x98, 0x39, 0x97, 0x1b, 0x29, 0xc0, 0xdb, 0xbf, 0x02, 0x6f, 0xab, 0x8b, 0xef, 0xb7, 0x4a, + 0xe3, 0xa8, 0x08, 0x77, 0xee, 0x8d, 0x05, 0x37, 0xb0, 0x67, 0xa5, 0xf3, 0xaa, 0xec, 0x29, 0xbc, + 0x32, 0xfb, 0x62, 0x95, 0x9b, 0xa4, 0x50, 0xc5, 0x12, 0xf7, 0xd5, 0x72, 0x42, 0x18, 0x67, 0x48, + 0xa1, 0x94, 0x75, 0x6d, 0xec, 0x9f, 0x85, 0x9a, 0xf6, 0xaa, 0x31, 0xe8, 0x31, 0x94, 0x73, 0xb3, + 0x0a, 0x4a, 0xd4, 0x46, 0x2a, 0x27, 0x6b, 0xb5, 0x29, 0xe2, 0xf4, 0xda, 0xa8, 0x2b, 0xc9, 0x38, + 0xb8, 0x8c, 0x96, 0x91, 0xaf, 0x97, 0x10, 0xc9, 0xa1, 0xfa, 0xe0, 0xa2, 0x2d, 0x21, 0xe3, 0xf3, + 0x50, 0xac, 0x1f, 0xaf, 0x95, 0xd0, 0xa0, 0x30, 0xfd, 0x79, 0x50, 0xd6, 0x8f, 0xf1, 0x19, 0x97, + 0x8b, 0xc7, 0xd7, 0x2a, 0xdc, 0x7b, 0x18, 0xa8, 0x3f, 0xe3, 0xba, 0x52, 0xf1, 0x21, 0x38, 0xa3, + 0x2a, 0x06, 0xbf, 0x5b, 0x81, 0x0e, 0x7f, 0x91, 0xdc, 0x1d, 0x03, 0x2c, 0x25, 0x07, 0x52, 0x7d, + 0xf7, 0x7a, 0x59, 0x18, 0xe1, 0x50, 0x63, 0x72, 0xa0, 0xae, 0xde, 0xd2, 0x0b, 0x5a, 0x28, 0xdd, + 0xae, 0x9a, 0xe3, 0x22, 0x45, 0x99, 0x2e, 0xe8, 0xd1, 0xea, 0x6c, 0x76, 0x67, 0xe6, 0xa5, 0xd9, + 0xb5, 0xb2, 0xe7, 0x20, 0x81, 0x99, 0xef, 0xcc, 0xd1, 0xaa, 0xeb, 0x73, 0x30, 0x9f, 0x57, 0x52, + 0x2f, 0x1b, 0x8f, 0x28, 0xf1, 0x8b, 0xeb, 0xa5, 0x10, 0x29, 0xf5, 0xcc, 0x4a, 0x98, 0xa6, 0xd4, + 0x93, 0x61, 0x8c, 0xa9, 0xa7, 0x54, 0xa7, 0xc4, 0xce, 0x2d, 0x17, 0x29, 0xaf, 0x95, 0x1c, 0x8f, + 0x0c, 0xa8, 0x77, 0x6e, 0x4d, 0x89, 0x12, 0xfb, 0xd8, 0x68, 0x7d, 0x52, 0x6b, 0x8a, 0x11, 0xa8, + 0xde, 0xc7, 0xb4, 0x15, 0x4a, 0xec, 0x63, 0x85, 0xf2, 0xa4, 0xd6, 0xc7, 0x44, 0x94, 0xde, 0xc7, + 0x54, 0x55, 0x49, 0x6c, 0x43, 0xb9, 0x22, 0x79, 0xad, 0x62, 0xcd, 0x50, 0x6f, 0x43, 0x4d, 0x1d, + 0x0f, 0x67, 0x83, 0x62, 0x11, 0xef, 0x4a, 0xe9, 0xfa, 0x6d, 0xa4, 0xcf, 0x06, 0x15, 0xe5, 0x39, + 0x1c, 0x32, 0xa4, 0xd2, 0xdc, 0xd5, 0x72, 0x19, 0x31, 0x4e, 0x1f, 0x32, 0xd4, 0x55, 0x36, 0x67, + 0xe6, 0xd7, 0x6f, 0x5e, 0xde, 0xb0, 0x5a, 0xee, 0xd7, 0xaf, 0x96, 0xad, 0x6f, 0x5e, 0x2d, 0x5b, + 0xff, 0x7e, 0xb5, 0x6c, 0xfd, 0xe1, 0xf5, 0xf2, 0xb1, 0x6f, 0x5e, 0x2f, 0x1f, 0xfb, 0xe7, 0xeb, + 0xe5, 0x63, 0x9f, 0x3e, 0xec, 0x06, 0xe9, 0xfe, 0xa0, 0xbd, 0xe1, 0xa3, 0x5e, 0x73, 0x1b, 0xfa, + 0x30, 0x4a, 0x63, 0x2f, 0xc4, 0x07, 0xf0, 0xfb, 0x5e, 0x0f, 0x36, 0xd5, 0xff, 0x16, 0x3f, 0x3d, + 0xea, 0xc3, 0xa4, 0x3d, 0x4b, 0xfe, 0x3b, 0xc1, 0xdd, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x35, + 0xdc, 0x34, 0xd7, 0xa8, 0x31, 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 { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) + CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) + CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) + CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) + CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) + CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) + CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) + CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) + CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) + MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) + CouncilCreate(ctx context.Context, in *MsgCouncilCreate, opts ...grpc.CallOption) (*MsgCouncilCreateResponse, error) + MatchReporterAppoint(ctx context.Context, in *MsgMatchReporterAppoint, opts ...grpc.CallOption) (*MsgMatchReporterAppointResponse, error) + SetCreate(ctx context.Context, in *MsgSetCreate, opts ...grpc.CallOption) (*MsgSetCreateResponse, error) + SetCardAdd(ctx context.Context, in *MsgSetCardAdd, opts ...grpc.CallOption) (*MsgSetCardAddResponse, error) + SetCardRemove(ctx context.Context, in *MsgSetCardRemove, opts ...grpc.CallOption) (*MsgSetCardRemoveResponse, error) + SetContributorAdd(ctx context.Context, in *MsgSetContributorAdd, opts ...grpc.CallOption) (*MsgSetContributorAddResponse, error) + SetContributorRemove(ctx context.Context, in *MsgSetContributorRemove, opts ...grpc.CallOption) (*MsgSetContributorRemoveResponse, error) + SetFinalize(ctx context.Context, in *MsgSetFinalize, opts ...grpc.CallOption) (*MsgSetFinalizeResponse, error) + SetArtworkAdd(ctx context.Context, in *MsgSetArtworkAdd, opts ...grpc.CallOption) (*MsgSetArtworkAddResponse, error) + SetStoryAdd(ctx context.Context, in *MsgSetStoryAdd, opts ...grpc.CallOption) (*MsgSetStoryAddResponse, error) + BoosterPackBuy(ctx context.Context, in *MsgBoosterPackBuy, opts ...grpc.CallOption) (*MsgBoosterPackBuyResponse, error) + SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) + SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) + SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) + CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) + CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) + CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) + CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) + MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) + ProfileCardSet(ctx context.Context, in *MsgProfileCardSet, opts ...grpc.CallOption) (*MsgProfileCardSetResponse, error) + ProfileWebsiteSet(ctx context.Context, in *MsgProfileWebsiteSet, opts ...grpc.CallOption) (*MsgProfileWebsiteSetResponse, error) + ProfileBioSet(ctx context.Context, in *MsgProfileBioSet, opts ...grpc.CallOption) (*MsgProfileBioSetResponse, error) + BoosterPackOpen(ctx context.Context, in *MsgBoosterPackOpen, opts ...grpc.CallOption) (*MsgBoosterPackOpenResponse, error) + BoosterPackTransfer(ctx context.Context, in *MsgBoosterPackTransfer, opts ...grpc.CallOption) (*MsgBoosterPackTransferResponse, error) + SetStoryWriterSet(ctx context.Context, in *MsgSetStoryWriterSet, opts ...grpc.CallOption) (*MsgSetStoryWriterSetResponse, error) + SetArtistSet(ctx context.Context, in *MsgSetArtistSet, opts ...grpc.CallOption) (*MsgSetArtistSetResponse, error) + CardVoteMulti(ctx context.Context, in *MsgCardVoteMulti, opts ...grpc.CallOption) (*MsgCardVoteMultiResponse, error) + MatchOpen(ctx context.Context, in *MsgMatchOpen, opts ...grpc.CallOption) (*MsgMatchOpenResponse, error) + SetNameSet(ctx context.Context, in *MsgSetNameSet, opts ...grpc.CallOption) (*MsgSetNameSetResponse, error) + ProfileAliasSet(ctx context.Context, in *MsgProfileAliasSet, opts ...grpc.CallOption) (*MsgProfileAliasSetResponse, error) + EarlyAccessInvite(ctx context.Context, in *MsgEarlyAccessInvite, opts ...grpc.CallOption) (*MsgEarlyAccessInviteResponse, error) + ZealyConnect(ctx context.Context, in *MsgZealyConnect, opts ...grpc.CallOption) (*MsgZealyConnectResponse, error) + EncounterCreate(ctx context.Context, in *MsgEncounterCreate, opts ...grpc.CallOption) (*MsgEncounterCreateResponse, error) + EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) + EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) +} + +type msgClient struct { + cc grpc1.ClientConn +} + +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} +} + +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateParams", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).MatchReporterAppoint(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/MatchReporterAppoint", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).MatchReporterAppoint(ctx, req.(*MsgMatchReporterAppoint)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetCreate) - if err := dec(in); err != nil { +func (c *msgClient) UserCreate(ctx context.Context, in *MsgUserCreate, opts ...grpc.CallOption) (*MsgUserCreateResponse, error) { + out := new(MsgUserCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UserCreate", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetCreate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetCreate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetCreate(ctx, req.(*MsgSetCreate)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetCardAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetCardAdd) - if err := dec(in); err != nil { +func (c *msgClient) CardSchemeBuy(ctx context.Context, in *MsgCardSchemeBuy, opts ...grpc.CallOption) (*MsgCardSchemeBuyResponse, error) { + out := new(MsgCardSchemeBuyResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSchemeBuy", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetCardAdd(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetCardAdd", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetCardAdd(ctx, req.(*MsgSetCardAdd)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetCardRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetCardRemove) - if err := dec(in); err != nil { +func (c *msgClient) CardSaveContent(ctx context.Context, in *MsgCardSaveContent, opts ...grpc.CallOption) (*MsgCardSaveContentResponse, error) { + out := new(MsgCardSaveContentResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardSaveContent", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetCardRemove(ctx, in) + return out, nil +} + +func (c *msgClient) CardVote(ctx context.Context, in *MsgCardVote, opts ...grpc.CallOption) (*MsgCardVoteResponse, error) { + out := new(MsgCardVoteResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardVote", in, out, opts...) + if err != nil { + return nil, err } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetCardRemove", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetCardRemove(ctx, req.(*MsgSetCardRemove)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetContributorAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetContributorAdd) - if err := dec(in); err != nil { +func (c *msgClient) CardTransfer(ctx context.Context, in *MsgCardTransfer, opts ...grpc.CallOption) (*MsgCardTransferResponse, error) { + out := new(MsgCardTransferResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardTransfer", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetContributorAdd(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetContributorAdd", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetContributorAdd(ctx, req.(*MsgSetContributorAdd)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetContributorRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetContributorRemove) - if err := dec(in); err != nil { +func (c *msgClient) CardDonate(ctx context.Context, in *MsgCardDonate, opts ...grpc.CallOption) (*MsgCardDonateResponse, error) { + out := new(MsgCardDonateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardDonate", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetContributorRemove(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetContributorRemove", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetContributorRemove(ctx, req.(*MsgSetContributorRemove)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetFinalize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetFinalize) - if err := dec(in); err != nil { +func (c *msgClient) CardArtworkAdd(ctx context.Context, in *MsgCardArtworkAdd, opts ...grpc.CallOption) (*MsgCardArtworkAddResponse, error) { + out := new(MsgCardArtworkAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtworkAdd", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetFinalize(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetFinalize", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetFinalize(ctx, req.(*MsgSetFinalize)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetArtworkAdd) - if err := dec(in); err != nil { +func (c *msgClient) CardArtistChange(ctx context.Context, in *MsgCardArtistChange, opts ...grpc.CallOption) (*MsgCardArtistChangeResponse, error) { + out := new(MsgCardArtistChangeResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardArtistChange", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetArtworkAdd(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetArtworkAdd", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetArtworkAdd(ctx, req.(*MsgSetArtworkAdd)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetStoryAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetStoryAdd) - if err := dec(in); err != nil { +func (c *msgClient) CouncilRegister(ctx context.Context, in *MsgCouncilRegister, opts ...grpc.CallOption) (*MsgCouncilRegisterResponse, error) { + out := new(MsgCouncilRegisterResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilRegister", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetStoryAdd(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetStoryAdd", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetStoryAdd(ctx, req.(*MsgSetStoryAdd)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_BoosterPackBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgBoosterPackBuy) - if err := dec(in); err != nil { +func (c *msgClient) CouncilDeregister(ctx context.Context, in *MsgCouncilDeregister, opts ...grpc.CallOption) (*MsgCouncilDeregisterResponse, error) { + out := new(MsgCouncilDeregisterResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilDeregister", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).BoosterPackBuy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/BoosterPackBuy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).BoosterPackBuy(ctx, req.(*MsgBoosterPackBuy)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SellOfferCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSellOfferCreate) - if err := dec(in); err != nil { +func (c *msgClient) MatchReport(ctx context.Context, in *MsgMatchReport, opts ...grpc.CallOption) (*MsgMatchReportResponse, error) { + out := new(MsgMatchReportResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchReport", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SellOfferCreate(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SellOfferCreate", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SellOfferCreate(ctx, req.(*MsgSellOfferCreate)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SellOfferBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSellOfferBuy) - if err := dec(in); err != nil { +func (c *msgClient) CouncilCreate(ctx context.Context, in *MsgCouncilCreate, opts ...grpc.CallOption) (*MsgCouncilCreateResponse, error) { + out := new(MsgCouncilCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilCreate", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SellOfferBuy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SellOfferBuy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SellOfferBuy(ctx, req.(*MsgSellOfferBuy)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SellOfferRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSellOfferRemove) - if err := dec(in); err != nil { +func (c *msgClient) MatchReporterAppoint(ctx context.Context, in *MsgMatchReporterAppoint, opts ...grpc.CallOption) (*MsgMatchReporterAppointResponse, error) { + out := new(MsgMatchReporterAppointResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchReporterAppoint", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SellOfferRemove(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SellOfferRemove", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SellOfferRemove(ctx, req.(*MsgSellOfferRemove)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CardRaritySet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardRaritySet) - if err := dec(in); err != nil { +func (c *msgClient) SetCreate(ctx context.Context, in *MsgSetCreate, opts ...grpc.CallOption) (*MsgSetCreateResponse, error) { + out := new(MsgSetCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCreate", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CardRaritySet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardRaritySet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardRaritySet(ctx, req.(*MsgCardRaritySet)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CouncilResponseCommit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilResponseCommit) - if err := dec(in); err != nil { +func (c *msgClient) SetCardAdd(ctx context.Context, in *MsgSetCardAdd, opts ...grpc.CallOption) (*MsgSetCardAddResponse, error) { + out := new(MsgSetCardAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCardAdd", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CouncilResponseCommit(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilResponseCommit", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilResponseCommit(ctx, req.(*MsgCouncilResponseCommit)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CouncilResponseReveal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilResponseReveal) - if err := dec(in); err != nil { +func (c *msgClient) SetCardRemove(ctx context.Context, in *MsgSetCardRemove, opts ...grpc.CallOption) (*MsgSetCardRemoveResponse, error) { + out := new(MsgSetCardRemoveResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetCardRemove", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CouncilResponseReveal(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilResponseReveal", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilResponseReveal(ctx, req.(*MsgCouncilResponseReveal)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CouncilRestart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCouncilRestart) - if err := dec(in); err != nil { +func (c *msgClient) SetContributorAdd(ctx context.Context, in *MsgSetContributorAdd, opts ...grpc.CallOption) (*MsgSetContributorAddResponse, error) { + out := new(MsgSetContributorAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetContributorAdd", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CouncilRestart(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CouncilRestart", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CouncilRestart(ctx, req.(*MsgCouncilRestart)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_MatchConfirm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgMatchConfirm) - if err := dec(in); err != nil { +func (c *msgClient) SetContributorRemove(ctx context.Context, in *MsgSetContributorRemove, opts ...grpc.CallOption) (*MsgSetContributorRemoveResponse, error) { + out := new(MsgSetContributorRemoveResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetContributorRemove", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).MatchConfirm(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/MatchConfirm", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).MatchConfirm(ctx, req.(*MsgMatchConfirm)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_ProfileCardSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgProfileCardSet) - if err := dec(in); err != nil { +func (c *msgClient) SetFinalize(ctx context.Context, in *MsgSetFinalize, opts ...grpc.CallOption) (*MsgSetFinalizeResponse, error) { + out := new(MsgSetFinalizeResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetFinalize", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).ProfileCardSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/ProfileCardSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ProfileCardSet(ctx, req.(*MsgProfileCardSet)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_ProfileWebsiteSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgProfileWebsiteSet) - if err := dec(in); err != nil { +func (c *msgClient) SetArtworkAdd(ctx context.Context, in *MsgSetArtworkAdd, opts ...grpc.CallOption) (*MsgSetArtworkAddResponse, error) { + out := new(MsgSetArtworkAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetArtworkAdd", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).ProfileWebsiteSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/ProfileWebsiteSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ProfileWebsiteSet(ctx, req.(*MsgProfileWebsiteSet)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_ProfileBioSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgProfileBioSet) - if err := dec(in); err != nil { +func (c *msgClient) SetStoryAdd(ctx context.Context, in *MsgSetStoryAdd, opts ...grpc.CallOption) (*MsgSetStoryAddResponse, error) { + out := new(MsgSetStoryAddResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetStoryAdd", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).ProfileBioSet(ctx, in) + return out, nil +} + +func (c *msgClient) BoosterPackBuy(ctx context.Context, in *MsgBoosterPackBuy, opts ...grpc.CallOption) (*MsgBoosterPackBuyResponse, error) { + out := new(MsgBoosterPackBuyResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BoosterPackBuy", in, out, opts...) + if err != nil { + return nil, err } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/ProfileBioSet", + return out, nil +} + +func (c *msgClient) SellOfferCreate(ctx context.Context, in *MsgSellOfferCreate, opts ...grpc.CallOption) (*MsgSellOfferCreateResponse, error) { + out := new(MsgSellOfferCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferCreate", in, out, opts...) + if err != nil { + return nil, err } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ProfileBioSet(ctx, req.(*MsgProfileBioSet)) + return out, nil +} + +func (c *msgClient) SellOfferBuy(ctx context.Context, in *MsgSellOfferBuy, opts ...grpc.CallOption) (*MsgSellOfferBuyResponse, error) { + out := new(MsgSellOfferBuyResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferBuy", in, out, opts...) + if err != nil { + return nil, err } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_BoosterPackOpen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgBoosterPackOpen) - if err := dec(in); err != nil { +func (c *msgClient) SellOfferRemove(ctx context.Context, in *MsgSellOfferRemove, opts ...grpc.CallOption) (*MsgSellOfferRemoveResponse, error) { + out := new(MsgSellOfferRemoveResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SellOfferRemove", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).BoosterPackOpen(ctx, in) + return out, nil +} + +func (c *msgClient) CardRaritySet(ctx context.Context, in *MsgCardRaritySet, opts ...grpc.CallOption) (*MsgCardRaritySetResponse, error) { + out := new(MsgCardRaritySetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardRaritySet", in, out, opts...) + if err != nil { + return nil, err } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/BoosterPackOpen", + return out, nil +} + +func (c *msgClient) CouncilResponseCommit(ctx context.Context, in *MsgCouncilResponseCommit, opts ...grpc.CallOption) (*MsgCouncilResponseCommitResponse, error) { + out := new(MsgCouncilResponseCommitResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilResponseCommit", in, out, opts...) + if err != nil { + return nil, err } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).BoosterPackOpen(ctx, req.(*MsgBoosterPackOpen)) + return out, nil +} + +func (c *msgClient) CouncilResponseReveal(ctx context.Context, in *MsgCouncilResponseReveal, opts ...grpc.CallOption) (*MsgCouncilResponseRevealResponse, error) { + out := new(MsgCouncilResponseRevealResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilResponseReveal", in, out, opts...) + if err != nil { + return nil, err } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_BoosterPackTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgBoosterPackTransfer) - if err := dec(in); err != nil { +func (c *msgClient) CouncilRestart(ctx context.Context, in *MsgCouncilRestart, opts ...grpc.CallOption) (*MsgCouncilRestartResponse, error) { + out := new(MsgCouncilRestartResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CouncilRestart", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).BoosterPackTransfer(ctx, in) + return out, nil +} + +func (c *msgClient) MatchConfirm(ctx context.Context, in *MsgMatchConfirm, opts ...grpc.CallOption) (*MsgMatchConfirmResponse, error) { + out := new(MsgMatchConfirmResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchConfirm", in, out, opts...) + if err != nil { + return nil, err } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/BoosterPackTransfer", + return out, nil +} + +func (c *msgClient) ProfileCardSet(ctx context.Context, in *MsgProfileCardSet, opts ...grpc.CallOption) (*MsgProfileCardSetResponse, error) { + out := new(MsgProfileCardSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/ProfileCardSet", in, out, opts...) + if err != nil { + return nil, err } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).BoosterPackTransfer(ctx, req.(*MsgBoosterPackTransfer)) + return out, nil +} + +func (c *msgClient) ProfileWebsiteSet(ctx context.Context, in *MsgProfileWebsiteSet, opts ...grpc.CallOption) (*MsgProfileWebsiteSetResponse, error) { + out := new(MsgProfileWebsiteSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/ProfileWebsiteSet", in, out, opts...) + if err != nil { + return nil, err } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetStoryWriterSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetStoryWriterSet) - if err := dec(in); err != nil { +func (c *msgClient) ProfileBioSet(ctx context.Context, in *MsgProfileBioSet, opts ...grpc.CallOption) (*MsgProfileBioSetResponse, error) { + out := new(MsgProfileBioSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/ProfileBioSet", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetStoryWriterSet(ctx, in) + return out, nil +} + +func (c *msgClient) BoosterPackOpen(ctx context.Context, in *MsgBoosterPackOpen, opts ...grpc.CallOption) (*MsgBoosterPackOpenResponse, error) { + out := new(MsgBoosterPackOpenResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BoosterPackOpen", in, out, opts...) + if err != nil { + return nil, err } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetStoryWriterSet", + return out, nil +} + +func (c *msgClient) BoosterPackTransfer(ctx context.Context, in *MsgBoosterPackTransfer, opts ...grpc.CallOption) (*MsgBoosterPackTransferResponse, error) { + out := new(MsgBoosterPackTransferResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BoosterPackTransfer", in, out, opts...) + if err != nil { + return nil, err } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetStoryWriterSet(ctx, req.(*MsgSetStoryWriterSet)) + return out, nil +} + +func (c *msgClient) SetStoryWriterSet(ctx context.Context, in *MsgSetStoryWriterSet, opts ...grpc.CallOption) (*MsgSetStoryWriterSetResponse, error) { + out := new(MsgSetStoryWriterSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetStoryWriterSet", in, out, opts...) + if err != nil { + return nil, err } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SetArtistSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetArtistSet) - if err := dec(in); err != nil { +func (c *msgClient) SetArtistSet(ctx context.Context, in *MsgSetArtistSet, opts ...grpc.CallOption) (*MsgSetArtistSetResponse, error) { + out := new(MsgSetArtistSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetArtistSet", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SetArtistSet(ctx, in) + return out, nil +} + +func (c *msgClient) CardVoteMulti(ctx context.Context, in *MsgCardVoteMulti, opts ...grpc.CallOption) (*MsgCardVoteMultiResponse, error) { + out := new(MsgCardVoteMultiResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardVoteMulti", in, out, opts...) + if err != nil { + return nil, err } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/SetArtistSet", + return out, nil +} + +func (c *msgClient) MatchOpen(ctx context.Context, in *MsgMatchOpen, opts ...grpc.CallOption) (*MsgMatchOpenResponse, error) { + out := new(MsgMatchOpenResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/MatchOpen", in, out, opts...) + if err != nil { + return nil, err } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetArtistSet(ctx, req.(*MsgSetArtistSet)) + return out, nil +} + +func (c *msgClient) SetNameSet(ctx context.Context, in *MsgSetNameSet, opts ...grpc.CallOption) (*MsgSetNameSetResponse, error) { + out := new(MsgSetNameSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetNameSet", in, out, opts...) + if err != nil { + return nil, err } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CardVoteMulti_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCardVoteMulti) - if err := dec(in); err != nil { +func (c *msgClient) ProfileAliasSet(ctx context.Context, in *MsgProfileAliasSet, opts ...grpc.CallOption) (*MsgProfileAliasSetResponse, error) { + out := new(MsgProfileAliasSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/ProfileAliasSet", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CardVoteMulti(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CardVoteMulti", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CardVoteMulti(ctx, req.(*MsgCardVoteMulti)) - } - return interceptor(ctx, in, info, handler) -} - -var Msg_serviceDesc = _Msg_serviceDesc -var _Msg_serviceDesc = grpc.ServiceDesc{ - ServiceName: "cardchain.cardchain.Msg", - HandlerType: (*MsgServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "UpdateParams", - Handler: _Msg_UpdateParams_Handler, - }, - { - MethodName: "UserCreate", - Handler: _Msg_UserCreate_Handler, - }, - { - MethodName: "CardSchemeBuy", - Handler: _Msg_CardSchemeBuy_Handler, - }, - { - MethodName: "CardSaveContent", - Handler: _Msg_CardSaveContent_Handler, - }, - { - MethodName: "CardVote", - Handler: _Msg_CardVote_Handler, - }, - { - MethodName: "CardTransfer", - Handler: _Msg_CardTransfer_Handler, - }, - { - MethodName: "CardDonate", - Handler: _Msg_CardDonate_Handler, - }, - { - MethodName: "CardArtworkAdd", - Handler: _Msg_CardArtworkAdd_Handler, - }, - { - MethodName: "CardArtistChange", - Handler: _Msg_CardArtistChange_Handler, - }, - { - MethodName: "CouncilRegister", - Handler: _Msg_CouncilRegister_Handler, - }, - { - MethodName: "CouncilDeregister", - Handler: _Msg_CouncilDeregister_Handler, - }, - { - MethodName: "MatchReport", - Handler: _Msg_MatchReport_Handler, - }, - { - MethodName: "CouncilCreate", - Handler: _Msg_CouncilCreate_Handler, - }, - { - MethodName: "MatchReporterAppoint", - Handler: _Msg_MatchReporterAppoint_Handler, - }, - { - MethodName: "SetCreate", - Handler: _Msg_SetCreate_Handler, - }, - { - MethodName: "SetCardAdd", - Handler: _Msg_SetCardAdd_Handler, - }, - { - MethodName: "SetCardRemove", - Handler: _Msg_SetCardRemove_Handler, - }, - { - MethodName: "SetContributorAdd", - Handler: _Msg_SetContributorAdd_Handler, - }, - { - MethodName: "SetContributorRemove", - Handler: _Msg_SetContributorRemove_Handler, - }, - { - MethodName: "SetFinalize", - Handler: _Msg_SetFinalize_Handler, - }, - { - MethodName: "SetArtworkAdd", - Handler: _Msg_SetArtworkAdd_Handler, - }, - { - MethodName: "SetStoryAdd", - Handler: _Msg_SetStoryAdd_Handler, - }, - { - MethodName: "BoosterPackBuy", - Handler: _Msg_BoosterPackBuy_Handler, - }, - { - MethodName: "SellOfferCreate", - Handler: _Msg_SellOfferCreate_Handler, - }, - { - MethodName: "SellOfferBuy", - Handler: _Msg_SellOfferBuy_Handler, - }, - { - MethodName: "SellOfferRemove", - Handler: _Msg_SellOfferRemove_Handler, - }, - { - MethodName: "CardRaritySet", - Handler: _Msg_CardRaritySet_Handler, - }, - { - MethodName: "CouncilResponseCommit", - Handler: _Msg_CouncilResponseCommit_Handler, - }, - { - MethodName: "CouncilResponseReveal", - Handler: _Msg_CouncilResponseReveal_Handler, - }, - { - MethodName: "CouncilRestart", - Handler: _Msg_CouncilRestart_Handler, - }, - { - MethodName: "MatchConfirm", - Handler: _Msg_MatchConfirm_Handler, - }, - { - MethodName: "ProfileCardSet", - Handler: _Msg_ProfileCardSet_Handler, - }, - { - MethodName: "ProfileWebsiteSet", - Handler: _Msg_ProfileWebsiteSet_Handler, - }, - { - MethodName: "ProfileBioSet", - Handler: _Msg_ProfileBioSet_Handler, - }, - { - MethodName: "BoosterPackOpen", - Handler: _Msg_BoosterPackOpen_Handler, - }, - { - MethodName: "BoosterPackTransfer", - Handler: _Msg_BoosterPackTransfer_Handler, - }, - { - MethodName: "SetStoryWriterSet", - Handler: _Msg_SetStoryWriterSet_Handler, - }, - { - MethodName: "SetArtistSet", - Handler: _Msg_SetArtistSet_Handler, - }, - { - MethodName: "CardVoteMulti", - Handler: _Msg_CardVoteMulti_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cardchain/cardchain/tx.proto", + return out, nil } -func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *msgClient) EarlyAccessInvite(ctx context.Context, in *MsgEarlyAccessInvite, opts ...grpc.CallOption) (*MsgEarlyAccessInviteResponse, error) { + out := new(MsgEarlyAccessInviteResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/EarlyAccessInvite", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + return out, nil } -func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - if len(m.Authority) > 0 { - i -= len(m.Authority) - copy(dAtA[i:], m.Authority) - i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) - i-- - dAtA[i] = 0xa +func (c *msgClient) ZealyConnect(ctx context.Context, in *MsgZealyConnect, opts ...grpc.CallOption) (*MsgZealyConnectResponse, error) { + out := new(MsgZealyConnectResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/ZealyConnect", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *msgClient) EncounterCreate(ctx context.Context, in *MsgEncounterCreate, opts ...grpc.CallOption) (*MsgEncounterCreateResponse, error) { + out := new(MsgEncounterCreateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/EncounterCreate", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil + return out, nil } -func (m *MsgUserCreate) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *msgClient) EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) { + out := new(MsgEncounterDoResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/EncounterDo", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil + return out, nil } -func (m *MsgUserCreate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (c *msgClient) EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) { + out := new(MsgEncounterCloseResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/EncounterClose", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (m *MsgUserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Alias) > 0 { - i -= len(m.Alias) - copy(dAtA[i:], m.Alias) - i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) - i-- - dAtA[i] = 0x1a - } - if len(m.NewUser) > 0 { - i -= len(m.NewUser) - copy(dAtA[i:], m.NewUser) - i = encodeVarintTx(dAtA, i, uint64(len(m.NewUser))) - 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 +// MsgServer is the server API for Msg service. +type MsgServer interface { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + UserCreate(context.Context, *MsgUserCreate) (*MsgUserCreateResponse, error) + CardSchemeBuy(context.Context, *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) + CardSaveContent(context.Context, *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) + CardVote(context.Context, *MsgCardVote) (*MsgCardVoteResponse, error) + CardTransfer(context.Context, *MsgCardTransfer) (*MsgCardTransferResponse, error) + CardDonate(context.Context, *MsgCardDonate) (*MsgCardDonateResponse, error) + CardArtworkAdd(context.Context, *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) + CardArtistChange(context.Context, *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) + CouncilRegister(context.Context, *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) + CouncilDeregister(context.Context, *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) + MatchReport(context.Context, *MsgMatchReport) (*MsgMatchReportResponse, error) + CouncilCreate(context.Context, *MsgCouncilCreate) (*MsgCouncilCreateResponse, error) + MatchReporterAppoint(context.Context, *MsgMatchReporterAppoint) (*MsgMatchReporterAppointResponse, error) + SetCreate(context.Context, *MsgSetCreate) (*MsgSetCreateResponse, error) + SetCardAdd(context.Context, *MsgSetCardAdd) (*MsgSetCardAddResponse, error) + SetCardRemove(context.Context, *MsgSetCardRemove) (*MsgSetCardRemoveResponse, error) + SetContributorAdd(context.Context, *MsgSetContributorAdd) (*MsgSetContributorAddResponse, error) + SetContributorRemove(context.Context, *MsgSetContributorRemove) (*MsgSetContributorRemoveResponse, error) + SetFinalize(context.Context, *MsgSetFinalize) (*MsgSetFinalizeResponse, error) + SetArtworkAdd(context.Context, *MsgSetArtworkAdd) (*MsgSetArtworkAddResponse, error) + SetStoryAdd(context.Context, *MsgSetStoryAdd) (*MsgSetStoryAddResponse, error) + BoosterPackBuy(context.Context, *MsgBoosterPackBuy) (*MsgBoosterPackBuyResponse, error) + SellOfferCreate(context.Context, *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) + SellOfferBuy(context.Context, *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) + SellOfferRemove(context.Context, *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) + CardRaritySet(context.Context, *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) + CouncilResponseCommit(context.Context, *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) + CouncilResponseReveal(context.Context, *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) + CouncilRestart(context.Context, *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) + MatchConfirm(context.Context, *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) + ProfileCardSet(context.Context, *MsgProfileCardSet) (*MsgProfileCardSetResponse, error) + ProfileWebsiteSet(context.Context, *MsgProfileWebsiteSet) (*MsgProfileWebsiteSetResponse, error) + ProfileBioSet(context.Context, *MsgProfileBioSet) (*MsgProfileBioSetResponse, error) + BoosterPackOpen(context.Context, *MsgBoosterPackOpen) (*MsgBoosterPackOpenResponse, error) + BoosterPackTransfer(context.Context, *MsgBoosterPackTransfer) (*MsgBoosterPackTransferResponse, error) + SetStoryWriterSet(context.Context, *MsgSetStoryWriterSet) (*MsgSetStoryWriterSetResponse, error) + SetArtistSet(context.Context, *MsgSetArtistSet) (*MsgSetArtistSetResponse, error) + CardVoteMulti(context.Context, *MsgCardVoteMulti) (*MsgCardVoteMultiResponse, error) + MatchOpen(context.Context, *MsgMatchOpen) (*MsgMatchOpenResponse, error) + SetNameSet(context.Context, *MsgSetNameSet) (*MsgSetNameSetResponse, error) + ProfileAliasSet(context.Context, *MsgProfileAliasSet) (*MsgProfileAliasSetResponse, error) + EarlyAccessInvite(context.Context, *MsgEarlyAccessInvite) (*MsgEarlyAccessInviteResponse, error) + ZealyConnect(context.Context, *MsgZealyConnect) (*MsgZealyConnectResponse, error) + EncounterCreate(context.Context, *MsgEncounterCreate) (*MsgEncounterCreateResponse, error) + EncounterDo(context.Context, *MsgEncounterDo) (*MsgEncounterDoResponse, error) + EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) } -func (m *MsgUserCreateResponse) 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 +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { } -func (m *MsgUserCreateResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } - -func (m *MsgUserCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func (*UnimplementedMsgServer) UserCreate(ctx context.Context, req *MsgUserCreate) (*MsgUserCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserCreate not implemented") } - -func (m *MsgCardSchemeBuy) 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 (*UnimplementedMsgServer) CardSchemeBuy(ctx context.Context, req *MsgCardSchemeBuy) (*MsgCardSchemeBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSchemeBuy not implemented") } - -func (m *MsgCardSchemeBuy) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedMsgServer) CardSaveContent(ctx context.Context, req *MsgCardSaveContent) (*MsgCardSaveContentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardSaveContent not implemented") } - -func (m *MsgCardSchemeBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - 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) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil +func (*UnimplementedMsgServer) CardVote(ctx context.Context, req *MsgCardVote) (*MsgCardVoteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardVote not implemented") } - -func (m *MsgCardSchemeBuyResponse) 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 (*UnimplementedMsgServer) CardTransfer(ctx context.Context, req *MsgCardTransfer) (*MsgCardTransferResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardTransfer not implemented") } - -func (m *MsgCardSchemeBuyResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedMsgServer) CardDonate(ctx context.Context, req *MsgCardDonate) (*MsgCardDonateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardDonate not implemented") } - -func (m *MsgCardSchemeBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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 +func (*UnimplementedMsgServer) CardArtworkAdd(ctx context.Context, req *MsgCardArtworkAdd) (*MsgCardArtworkAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardArtworkAdd not implemented") } - -func (m *MsgCardSaveContent) 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 (*UnimplementedMsgServer) CardArtistChange(ctx context.Context, req *MsgCardArtistChange) (*MsgCardArtistChangeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardArtistChange not implemented") } - -func (m *MsgCardSaveContent) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedMsgServer) CouncilRegister(ctx context.Context, req *MsgCouncilRegister) (*MsgCouncilRegisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilRegister not implemented") } - -func (m *MsgCardSaveContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = 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) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x2a - } - if len(m.Notes) > 0 { - i -= len(m.Notes) - copy(dAtA[i:], m.Notes) - i = encodeVarintTx(dAtA, i, uint64(len(m.Notes))) - i-- - dAtA[i] = 0x22 - } - if len(m.Content) > 0 { - i -= len(m.Content) - copy(dAtA[i:], m.Content) - i = encodeVarintTx(dAtA, i, uint64(len(m.Content))) - 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 (*UnimplementedMsgServer) CouncilDeregister(ctx context.Context, req *MsgCouncilDeregister) (*MsgCouncilDeregisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilDeregister not implemented") } - -func (m *MsgCardSaveContentResponse) 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 (*UnimplementedMsgServer) MatchReport(ctx context.Context, req *MsgMatchReport) (*MsgMatchReportResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchReport not implemented") } - -func (m *MsgCardSaveContentResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedMsgServer) CouncilCreate(ctx context.Context, req *MsgCouncilCreate) (*MsgCouncilCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilCreate not implemented") } - -func (m *MsgCardSaveContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil +func (*UnimplementedMsgServer) MatchReporterAppoint(ctx context.Context, req *MsgMatchReporterAppoint) (*MsgMatchReporterAppointResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchReporterAppoint not implemented") } - -func (m *MsgCardVote) 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 (*UnimplementedMsgServer) SetCreate(ctx context.Context, req *MsgSetCreate) (*MsgSetCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetCreate not implemented") +} +func (*UnimplementedMsgServer) SetCardAdd(ctx context.Context, req *MsgSetCardAdd) (*MsgSetCardAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetCardAdd not implemented") +} +func (*UnimplementedMsgServer) SetCardRemove(ctx context.Context, req *MsgSetCardRemove) (*MsgSetCardRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetCardRemove not implemented") +} +func (*UnimplementedMsgServer) SetContributorAdd(ctx context.Context, req *MsgSetContributorAdd) (*MsgSetContributorAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetContributorAdd not implemented") +} +func (*UnimplementedMsgServer) SetContributorRemove(ctx context.Context, req *MsgSetContributorRemove) (*MsgSetContributorRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetContributorRemove not implemented") +} +func (*UnimplementedMsgServer) SetFinalize(ctx context.Context, req *MsgSetFinalize) (*MsgSetFinalizeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetFinalize not implemented") +} +func (*UnimplementedMsgServer) SetArtworkAdd(ctx context.Context, req *MsgSetArtworkAdd) (*MsgSetArtworkAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetArtworkAdd not implemented") +} +func (*UnimplementedMsgServer) SetStoryAdd(ctx context.Context, req *MsgSetStoryAdd) (*MsgSetStoryAddResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetStoryAdd not implemented") +} +func (*UnimplementedMsgServer) BoosterPackBuy(ctx context.Context, req *MsgBoosterPackBuy) (*MsgBoosterPackBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BoosterPackBuy not implemented") +} +func (*UnimplementedMsgServer) SellOfferCreate(ctx context.Context, req *MsgSellOfferCreate) (*MsgSellOfferCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOfferCreate not implemented") +} +func (*UnimplementedMsgServer) SellOfferBuy(ctx context.Context, req *MsgSellOfferBuy) (*MsgSellOfferBuyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOfferBuy not implemented") +} +func (*UnimplementedMsgServer) SellOfferRemove(ctx context.Context, req *MsgSellOfferRemove) (*MsgSellOfferRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOfferRemove not implemented") +} +func (*UnimplementedMsgServer) CardRaritySet(ctx context.Context, req *MsgCardRaritySet) (*MsgCardRaritySetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardRaritySet not implemented") +} +func (*UnimplementedMsgServer) CouncilResponseCommit(ctx context.Context, req *MsgCouncilResponseCommit) (*MsgCouncilResponseCommitResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseCommit not implemented") +} +func (*UnimplementedMsgServer) CouncilResponseReveal(ctx context.Context, req *MsgCouncilResponseReveal) (*MsgCouncilResponseRevealResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilResponseReveal not implemented") +} +func (*UnimplementedMsgServer) CouncilRestart(ctx context.Context, req *MsgCouncilRestart) (*MsgCouncilRestartResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CouncilRestart not implemented") +} +func (*UnimplementedMsgServer) MatchConfirm(ctx context.Context, req *MsgMatchConfirm) (*MsgMatchConfirmResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchConfirm not implemented") +} +func (*UnimplementedMsgServer) ProfileCardSet(ctx context.Context, req *MsgProfileCardSet) (*MsgProfileCardSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProfileCardSet not implemented") +} +func (*UnimplementedMsgServer) ProfileWebsiteSet(ctx context.Context, req *MsgProfileWebsiteSet) (*MsgProfileWebsiteSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProfileWebsiteSet not implemented") +} +func (*UnimplementedMsgServer) ProfileBioSet(ctx context.Context, req *MsgProfileBioSet) (*MsgProfileBioSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProfileBioSet not implemented") +} +func (*UnimplementedMsgServer) BoosterPackOpen(ctx context.Context, req *MsgBoosterPackOpen) (*MsgBoosterPackOpenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BoosterPackOpen not implemented") +} +func (*UnimplementedMsgServer) BoosterPackTransfer(ctx context.Context, req *MsgBoosterPackTransfer) (*MsgBoosterPackTransferResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BoosterPackTransfer not implemented") +} +func (*UnimplementedMsgServer) SetStoryWriterSet(ctx context.Context, req *MsgSetStoryWriterSet) (*MsgSetStoryWriterSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetStoryWriterSet not implemented") +} +func (*UnimplementedMsgServer) SetArtistSet(ctx context.Context, req *MsgSetArtistSet) (*MsgSetArtistSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetArtistSet not implemented") +} +func (*UnimplementedMsgServer) CardVoteMulti(ctx context.Context, req *MsgCardVoteMulti) (*MsgCardVoteMultiResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardVoteMulti not implemented") +} +func (*UnimplementedMsgServer) MatchOpen(ctx context.Context, req *MsgMatchOpen) (*MsgMatchOpenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MatchOpen not implemented") +} +func (*UnimplementedMsgServer) SetNameSet(ctx context.Context, req *MsgSetNameSet) (*MsgSetNameSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetNameSet not implemented") +} +func (*UnimplementedMsgServer) ProfileAliasSet(ctx context.Context, req *MsgProfileAliasSet) (*MsgProfileAliasSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProfileAliasSet not implemented") +} +func (*UnimplementedMsgServer) EarlyAccessInvite(ctx context.Context, req *MsgEarlyAccessInvite) (*MsgEarlyAccessInviteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessInvite not implemented") +} +func (*UnimplementedMsgServer) ZealyConnect(ctx context.Context, req *MsgZealyConnect) (*MsgZealyConnectResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ZealyConnect not implemented") +} +func (*UnimplementedMsgServer) EncounterCreate(ctx context.Context, req *MsgEncounterCreate) (*MsgEncounterCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncounterCreate not implemented") +} +func (*UnimplementedMsgServer) EncounterDo(ctx context.Context, req *MsgEncounterDo) (*MsgEncounterDoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncounterDo not implemented") +} +func (*UnimplementedMsgServer) EncounterClose(ctx context.Context, req *MsgEncounterClose) (*MsgEncounterCloseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncounterClose not implemented") } -func (m *MsgCardVote) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) } -func (m *MsgCardVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Vote != nil { - { - size, err := m.Vote.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err } - if 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 + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) } - return len(dAtA) - i, nil + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardVoteResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_UserCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUserCreate) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardVoteResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardVoteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 + if interceptor == nil { + return srv.(MsgServer).UserCreate(ctx, in) } - return len(dAtA) - i, nil + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/UserCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UserCreate(ctx, req.(*MsgUserCreate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardTransfer) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CardSchemeBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSchemeBuy) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardTransfer) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardTransfer) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Receiver) > 0 { - i -= len(m.Receiver) - copy(dAtA[i:], m.Receiver) - i = encodeVarintTx(dAtA, i, uint64(len(m.Receiver))) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(MsgServer).CardSchemeBuy(ctx, in) } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardSchemeBuy", } - 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 + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSchemeBuy(ctx, req.(*MsgCardSchemeBuy)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgCardTransferResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CardSaveContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardSaveContent) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardTransferResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + if interceptor == nil { + return srv.(MsgServer).CardSaveContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardSaveContent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardSaveContent(ctx, req.(*MsgCardSaveContent)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardTransferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func _Msg_CardVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardVote) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardVote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardVote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardVote(ctx, req.(*MsgCardVote)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardDonate) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CardTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardTransfer) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).CardTransfer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardTransfer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardTransfer(ctx, req.(*MsgCardTransfer)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardDonate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_CardDonate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardDonate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardDonate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardDonate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardDonate(ctx, req.(*MsgCardDonate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardDonate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) +func _Msg_CardArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardArtworkAdd) + if err := dec(in); err != nil { + return nil, err } - i-- - dAtA[i] = 0x1a - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 + if interceptor == nil { + return srv.(MsgServer).CardArtworkAdd(ctx, in) } - 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 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardArtworkAdd", } - return len(dAtA) - i, nil + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardArtworkAdd(ctx, req.(*MsgCardArtworkAdd)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardDonateResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CardArtistChange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardArtistChange) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).CardArtistChange(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardArtistChange", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardArtistChange(ctx, req.(*MsgCardArtistChange)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardDonateResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_CouncilRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilRegister) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilRegister(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilRegister", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilRegister(ctx, req.(*MsgCouncilRegister)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardDonateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func _Msg_CouncilDeregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilDeregister) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilDeregister(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilDeregister", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilDeregister(ctx, req.(*MsgCouncilDeregister)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtworkAdd) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_MatchReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchReport) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).MatchReport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/MatchReport", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchReport(ctx, req.(*MsgMatchReport)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtworkAdd) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_CouncilCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CouncilCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilCreate(ctx, req.(*MsgCouncilCreate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.FullArt { - i-- - if m.FullArt { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 +func _Msg_MatchReporterAppoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchReporterAppoint) + if err := dec(in); err != nil { + return nil, err } - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(MsgServer).MatchReporterAppoint(ctx, in) } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/MatchReporterAppoint", } - 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 + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchReporterAppoint(ctx, req.(*MsgMatchReporterAppoint)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtworkAddResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SetCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetCreate) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).SetCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetCreate(ctx, req.(*MsgSetCreate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtworkAddResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgCardArtistChange) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SetCardAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetCardAdd) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardArtistChange) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCardArtistChange) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Artist) > 0 { - i -= len(m.Artist) - copy(dAtA[i:], m.Artist) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(MsgServer).SetCardAdd(ctx, in) } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetCardAdd", } - 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 + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetCardAdd(ctx, req.(*MsgSetCardAdd)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtistChangeResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SetCardRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetCardRemove) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCardArtistChangeResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + if interceptor == nil { + return srv.(MsgServer).SetCardRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetCardRemove", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetCardRemove(ctx, req.(*MsgSetCardRemove)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCardArtistChangeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func _Msg_SetContributorAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetContributorAdd) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetContributorAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetContributorAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetContributorAdd(ctx, req.(*MsgSetContributorAdd)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilRegister) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SetContributorRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetContributorRemove) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).SetContributorRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetContributorRemove", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetContributorRemove(ctx, req.(*MsgSetContributorRemove)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilRegister) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_SetFinalize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetFinalize) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetFinalize(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetFinalize", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetFinalize(ctx, req.(*MsgSetFinalize)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilRegister) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - 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 +func _Msg_SetArtworkAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetArtworkAdd) + if err := dec(in); err != nil { + return nil, err } - return len(dAtA) - i, nil + if interceptor == nil { + return srv.(MsgServer).SetArtworkAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetArtworkAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetArtworkAdd(ctx, req.(*MsgSetArtworkAdd)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilRegisterResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SetStoryAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetStoryAdd) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).SetStoryAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetStoryAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetStoryAdd(ctx, req.(*MsgSetStoryAdd)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilRegisterResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_BoosterPackBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBoosterPackBuy) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).BoosterPackBuy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/BoosterPackBuy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BoosterPackBuy(ctx, req.(*MsgBoosterPackBuy)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilRegisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func _Msg_SellOfferCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSellOfferCreate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SellOfferCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SellOfferCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SellOfferCreate(ctx, req.(*MsgSellOfferCreate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilDeregister) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SellOfferBuy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSellOfferBuy) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).SellOfferBuy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SellOfferBuy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SellOfferBuy(ctx, req.(*MsgSellOfferBuy)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilDeregister) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCouncilDeregister) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - 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 +func _Msg_SellOfferRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSellOfferRemove) + if err := dec(in); err != nil { + return nil, err } - return len(dAtA) - i, nil + if interceptor == nil { + return srv.(MsgServer).SellOfferRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SellOfferRemove", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SellOfferRemove(ctx, req.(*MsgSellOfferRemove)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilDeregisterResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CardRaritySet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardRaritySet) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCouncilDeregisterResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCouncilDeregisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil + if interceptor == nil { + return srv.(MsgServer).CardRaritySet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardRaritySet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardRaritySet(ctx, req.(*MsgCardRaritySet)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMatchReport) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CouncilResponseCommit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilResponseCommit) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgMatchReport) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + if interceptor == nil { + return srv.(MsgServer).CouncilResponseCommit(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilResponseCommit", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilResponseCommit(ctx, req.(*MsgCouncilResponseCommit)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMatchReport) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Outcome != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) - i-- - dAtA[i] = 0x28 - } - if len(m.PlayedCardsB) > 0 { - dAtA6 := make([]byte, len(m.PlayedCardsB)*10) - var j5 int - for _, num := range m.PlayedCardsB { - for num >= 1<<7 { - dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j5++ - } - dAtA6[j5] = uint8(num) - j5++ - } - i -= j5 - copy(dAtA[i:], dAtA6[:j5]) - i = encodeVarintTx(dAtA, i, uint64(j5)) - i-- - dAtA[i] = 0x22 +func _Msg_CouncilResponseReveal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilResponseReveal) + if err := dec(in); err != nil { + return nil, err } - if len(m.PlayedCardsA) > 0 { - dAtA8 := make([]byte, len(m.PlayedCardsA)*10) - var j7 int - for _, num := range m.PlayedCardsA { - for num >= 1<<7 { - dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j7++ - } - dAtA8[j7] = uint8(num) - j7++ - } - i -= j7 - copy(dAtA[i:], dAtA8[:j7]) - i = encodeVarintTx(dAtA, i, uint64(j7)) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(MsgServer).CouncilResponseReveal(ctx, in) } - if m.MatchId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) - i-- - dAtA[i] = 0x10 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilResponseReveal", } - 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 + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilResponseReveal(ctx, req.(*MsgCouncilResponseReveal)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgMatchReportResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CouncilRestart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCouncilRestart) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgMatchReportResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgMatchReportResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil + if interceptor == nil { + return srv.(MsgServer).CouncilRestart(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CouncilRestart", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CouncilRestart(ctx, req.(*MsgCouncilRestart)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilCreate) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_MatchConfirm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchConfirm) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCouncilCreate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCouncilCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 + if interceptor == nil { + return srv.(MsgServer).MatchConfirm(ctx, in) } - 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 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/MatchConfirm", } - return len(dAtA) - i, nil + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchConfirm(ctx, req.(*MsgMatchConfirm)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilCreateResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_ProfileCardSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgProfileCardSet) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCouncilCreateResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + if interceptor == nil { + return srv.(MsgServer).ProfileCardSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/ProfileCardSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ProfileCardSet(ctx, req.(*MsgProfileCardSet)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCouncilCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func _Msg_ProfileWebsiteSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgProfileWebsiteSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ProfileWebsiteSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/ProfileWebsiteSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ProfileWebsiteSet(ctx, req.(*MsgProfileWebsiteSet)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMatchReporterAppoint) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_ProfileBioSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgProfileBioSet) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).ProfileBioSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/ProfileBioSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ProfileBioSet(ctx, req.(*MsgProfileBioSet)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMatchReporterAppoint) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_BoosterPackOpen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBoosterPackOpen) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).BoosterPackOpen(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/BoosterPackOpen", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BoosterPackOpen(ctx, req.(*MsgBoosterPackOpen)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMatchReporterAppoint) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Reporter) > 0 { - i -= len(m.Reporter) - copy(dAtA[i:], m.Reporter) - i = encodeVarintTx(dAtA, i, uint64(len(m.Reporter))) - i-- - dAtA[i] = 0x12 +func _Msg_BoosterPackTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBoosterPackTransfer) + if err := dec(in); err != nil { + return nil, err } - 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 + if interceptor == nil { + return srv.(MsgServer).BoosterPackTransfer(ctx, in) } - return len(dAtA) - i, nil + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/BoosterPackTransfer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BoosterPackTransfer(ctx, req.(*MsgBoosterPackTransfer)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMatchReporterAppointResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SetStoryWriterSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetStoryWriterSet) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).SetStoryWriterSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetStoryWriterSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetStoryWriterSet(ctx, req.(*MsgSetStoryWriterSet)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMatchReporterAppointResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_SetArtistSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetArtistSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetArtistSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetArtistSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetArtistSet(ctx, req.(*MsgSetArtistSet)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMatchReporterAppointResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func _Msg_CardVoteMulti_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardVoteMulti) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardVoteMulti(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardVoteMulti", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardVoteMulti(ctx, req.(*MsgCardVoteMulti)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSetCreate) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_MatchOpen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMatchOpen) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).MatchOpen(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/MatchOpen", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MatchOpen(ctx, req.(*MsgMatchOpen)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSetCreate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_SetNameSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetNameSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetNameSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetNameSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetNameSet(ctx, req.(*MsgSetNameSet)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSetCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Contributors) > 0 { - for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Contributors[iNdEx]) - copy(dAtA[i:], m.Contributors[iNdEx]) - i = encodeVarintTx(dAtA, i, uint64(len(m.Contributors[iNdEx]))) - i-- - dAtA[i] = 0x2a - } - } - if len(m.StoryWriter) > 0 { - i -= len(m.StoryWriter) - copy(dAtA[i:], m.StoryWriter) - i = encodeVarintTx(dAtA, i, uint64(len(m.StoryWriter))) - i-- - dAtA[i] = 0x22 +func _Msg_ProfileAliasSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgProfileAliasSet) + if err := dec(in); err != nil { + return nil, err } - if len(m.Artist) > 0 { - i -= len(m.Artist) - copy(dAtA[i:], m.Artist) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(MsgServer).ProfileAliasSet(ctx, in) } - 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 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/ProfileAliasSet", } - 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 + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ProfileAliasSet(ctx, req.(*MsgProfileAliasSet)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgSetCreateResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_EarlyAccessInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEarlyAccessInvite) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).EarlyAccessInvite(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/EarlyAccessInvite", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EarlyAccessInvite(ctx, req.(*MsgEarlyAccessInvite)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSetCreateResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_ZealyConnect_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgZealyConnect) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ZealyConnect(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/ZealyConnect", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ZealyConnect(ctx, req.(*MsgZealyConnect)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSetCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgSetCardAdd) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_EncounterCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEncounterCreate) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).EncounterCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/EncounterCreate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EncounterCreate(ctx, req.(*MsgEncounterCreate)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSetCardAdd) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_EncounterDo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEncounterDo) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).EncounterDo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/EncounterDo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EncounterDo(ctx, req.(*MsgEncounterDo)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSetCardAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x18 +func _Msg_EncounterClose_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEncounterClose) + if err := dec(in); err != nil { + return nil, err } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) - i-- - dAtA[i] = 0x10 + if interceptor == nil { + return srv.(MsgServer).EncounterClose(ctx, in) } - 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 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/EncounterClose", } - return len(dAtA) - i, nil + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EncounterClose(ctx, req.(*MsgEncounterClose)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSetCardAddResponse) Marshal() (dAtA []byte, err error) { +var Msg_serviceDesc = _Msg_serviceDesc +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.cardchain.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, + { + MethodName: "UserCreate", + Handler: _Msg_UserCreate_Handler, + }, + { + MethodName: "CardSchemeBuy", + Handler: _Msg_CardSchemeBuy_Handler, + }, + { + MethodName: "CardSaveContent", + Handler: _Msg_CardSaveContent_Handler, + }, + { + MethodName: "CardVote", + Handler: _Msg_CardVote_Handler, + }, + { + MethodName: "CardTransfer", + Handler: _Msg_CardTransfer_Handler, + }, + { + MethodName: "CardDonate", + Handler: _Msg_CardDonate_Handler, + }, + { + MethodName: "CardArtworkAdd", + Handler: _Msg_CardArtworkAdd_Handler, + }, + { + MethodName: "CardArtistChange", + Handler: _Msg_CardArtistChange_Handler, + }, + { + MethodName: "CouncilRegister", + Handler: _Msg_CouncilRegister_Handler, + }, + { + MethodName: "CouncilDeregister", + Handler: _Msg_CouncilDeregister_Handler, + }, + { + MethodName: "MatchReport", + Handler: _Msg_MatchReport_Handler, + }, + { + MethodName: "CouncilCreate", + Handler: _Msg_CouncilCreate_Handler, + }, + { + MethodName: "MatchReporterAppoint", + Handler: _Msg_MatchReporterAppoint_Handler, + }, + { + MethodName: "SetCreate", + Handler: _Msg_SetCreate_Handler, + }, + { + MethodName: "SetCardAdd", + Handler: _Msg_SetCardAdd_Handler, + }, + { + MethodName: "SetCardRemove", + Handler: _Msg_SetCardRemove_Handler, + }, + { + MethodName: "SetContributorAdd", + Handler: _Msg_SetContributorAdd_Handler, + }, + { + MethodName: "SetContributorRemove", + Handler: _Msg_SetContributorRemove_Handler, + }, + { + MethodName: "SetFinalize", + Handler: _Msg_SetFinalize_Handler, + }, + { + MethodName: "SetArtworkAdd", + Handler: _Msg_SetArtworkAdd_Handler, + }, + { + MethodName: "SetStoryAdd", + Handler: _Msg_SetStoryAdd_Handler, + }, + { + MethodName: "BoosterPackBuy", + Handler: _Msg_BoosterPackBuy_Handler, + }, + { + MethodName: "SellOfferCreate", + Handler: _Msg_SellOfferCreate_Handler, + }, + { + MethodName: "SellOfferBuy", + Handler: _Msg_SellOfferBuy_Handler, + }, + { + MethodName: "SellOfferRemove", + Handler: _Msg_SellOfferRemove_Handler, + }, + { + MethodName: "CardRaritySet", + Handler: _Msg_CardRaritySet_Handler, + }, + { + MethodName: "CouncilResponseCommit", + Handler: _Msg_CouncilResponseCommit_Handler, + }, + { + MethodName: "CouncilResponseReveal", + Handler: _Msg_CouncilResponseReveal_Handler, + }, + { + MethodName: "CouncilRestart", + Handler: _Msg_CouncilRestart_Handler, + }, + { + MethodName: "MatchConfirm", + Handler: _Msg_MatchConfirm_Handler, + }, + { + MethodName: "ProfileCardSet", + Handler: _Msg_ProfileCardSet_Handler, + }, + { + MethodName: "ProfileWebsiteSet", + Handler: _Msg_ProfileWebsiteSet_Handler, + }, + { + MethodName: "ProfileBioSet", + Handler: _Msg_ProfileBioSet_Handler, + }, + { + MethodName: "BoosterPackOpen", + Handler: _Msg_BoosterPackOpen_Handler, + }, + { + MethodName: "BoosterPackTransfer", + Handler: _Msg_BoosterPackTransfer_Handler, + }, + { + MethodName: "SetStoryWriterSet", + Handler: _Msg_SetStoryWriterSet_Handler, + }, + { + MethodName: "SetArtistSet", + Handler: _Msg_SetArtistSet_Handler, + }, + { + MethodName: "CardVoteMulti", + Handler: _Msg_CardVoteMulti_Handler, + }, + { + MethodName: "MatchOpen", + Handler: _Msg_MatchOpen_Handler, + }, + { + MethodName: "SetNameSet", + Handler: _Msg_SetNameSet_Handler, + }, + { + MethodName: "ProfileAliasSet", + Handler: _Msg_ProfileAliasSet_Handler, + }, + { + MethodName: "EarlyAccessInvite", + Handler: _Msg_EarlyAccessInvite_Handler, + }, + { + MethodName: "ZealyConnect", + Handler: _Msg_ZealyConnect_Handler, + }, + { + MethodName: "EncounterCreate", + Handler: _Msg_EncounterCreate_Handler, + }, + { + MethodName: "EncounterDo", + Handler: _Msg_EncounterDo_Handler, + }, + { + MethodName: "EncounterClose", + Handler: _Msg_EncounterClose_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/cardchain/tx.proto", +} + +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6560,20 +6593,37 @@ func (m *MsgSetCardAddResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetCardAddResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCardAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - return len(dAtA) - i, nil -} - -func (m *MsgSetCardRemove) Marshal() (dAtA []byte, err error) { + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6583,25 +6633,52 @@ func (m *MsgSetCardRemove) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetCardRemove) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCardRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + return len(dAtA) - i, nil +} + +func (m *MsgUserCreate) 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 *MsgUserCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Alias) > 0 { + i -= len(m.Alias) + copy(dAtA[i:], m.Alias) + i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + if len(m.NewUser) > 0 { + i -= len(m.NewUser) + copy(dAtA[i:], m.NewUser) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewUser))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(m.Creator) > 0 { i -= len(m.Creator) @@ -6613,7 +6690,7 @@ func (m *MsgSetCardRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetCardRemoveResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgUserCreateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6623,12 +6700,12 @@ func (m *MsgSetCardRemoveResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetCardRemoveResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUserCreateResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCardRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUserCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6636,7 +6713,7 @@ func (m *MsgSetCardRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgSetContributorAdd) Marshal() (dAtA []byte, err error) { +func (m *MsgCardSchemeBuy) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6646,28 +6723,26 @@ func (m *MsgSetContributorAdd) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetContributorAdd) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardSchemeBuy) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetContributorAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardSchemeBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.User) > 0 { - i -= len(m.User) - copy(dAtA[i:], m.User) - i = encodeVarintTx(dAtA, i, uint64(len(m.User))) - i-- - dAtA[i] = 0x1a - } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) - i-- - dAtA[i] = 0x10 + { + 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) @@ -6678,7 +6753,7 @@ func (m *MsgSetContributorAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetContributorAddResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardSchemeBuyResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6688,20 +6763,25 @@ func (m *MsgSetContributorAddResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetContributorAddResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardSchemeBuyResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetContributorAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardSchemeBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = 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 } -func (m *MsgSetContributorRemove) Marshal() (dAtA []byte, err error) { +func (m *MsgCardSaveContent) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6711,25 +6791,49 @@ func (m *MsgSetContributorRemove) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetContributorRemove) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardSaveContent) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetContributorRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardSaveContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.User) > 0 { - i -= len(m.User) - copy(dAtA[i:], m.User) - i = encodeVarintTx(dAtA, i, uint64(len(m.User))) + 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) + i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x2a + } + if len(m.Notes) > 0 { + i -= len(m.Notes) + copy(dAtA[i:], m.Notes) + i = encodeVarintTx(dAtA, i, uint64(len(m.Notes))) + i-- + dAtA[i] = 0x22 + } + if len(m.Content) > 0 { + i -= len(m.Content) + copy(dAtA[i:], m.Content) + i = encodeVarintTx(dAtA, i, uint64(len(m.Content))) i-- dAtA[i] = 0x1a } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- dAtA[i] = 0x10 } @@ -6743,7 +6847,7 @@ func (m *MsgSetContributorRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgSetContributorRemoveResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardSaveContentResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6753,20 +6857,30 @@ func (m *MsgSetContributorRemoveResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetContributorRemoveResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardSaveContentResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetContributorRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardSaveContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } -func (m *MsgSetFinalize) Marshal() (dAtA []byte, err error) { +func (m *MsgCardVote) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6776,20 +6890,27 @@ func (m *MsgSetFinalize) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetFinalize) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardVote) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetFinalize) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + if m.Vote != nil { + { + size, err := m.Vote.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(m.Creator) > 0 { i -= len(m.Creator) @@ -6801,7 +6922,7 @@ func (m *MsgSetFinalize) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetFinalizeResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardVoteResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6811,20 +6932,30 @@ func (m *MsgSetFinalizeResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetFinalizeResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardVoteResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetFinalizeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardVoteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } -func (m *MsgSetArtworkAdd) Marshal() (dAtA []byte, err error) { +func (m *MsgCardTransfer) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6834,25 +6965,25 @@ func (m *MsgSetArtworkAdd) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetArtworkAdd) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardTransfer) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardTransfer) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) + if len(m.Receiver) > 0 { + i -= len(m.Receiver) + copy(dAtA[i:], m.Receiver) + i = encodeVarintTx(dAtA, i, uint64(len(m.Receiver))) i-- dAtA[i] = 0x1a } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- dAtA[i] = 0x10 } @@ -6866,7 +6997,7 @@ func (m *MsgSetArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetArtworkAddResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardTransferResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6876,12 +7007,12 @@ func (m *MsgSetArtworkAddResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetArtworkAddResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardTransferResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardTransferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6889,7 +7020,7 @@ func (m *MsgSetArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgSetStoryAdd) Marshal() (dAtA []byte, err error) { +func (m *MsgCardDonate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6899,25 +7030,28 @@ func (m *MsgSetStoryAdd) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetStoryAdd) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardDonate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetStoryAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardDonate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Story) > 0 { - i -= len(m.Story) - copy(dAtA[i:], m.Story) - i = encodeVarintTx(dAtA, i, uint64(len(m.Story))) - i-- - dAtA[i] = 0x1a + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x1a + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- dAtA[i] = 0x10 } @@ -6931,7 +7065,7 @@ func (m *MsgSetStoryAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetStoryAddResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardDonateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6941,12 +7075,12 @@ func (m *MsgSetStoryAddResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetStoryAddResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardDonateResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetStoryAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardDonateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6954,7 +7088,7 @@ func (m *MsgSetStoryAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgBoosterPackBuy) Marshal() (dAtA []byte, err error) { +func (m *MsgCardArtworkAdd) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6964,18 +7098,35 @@ func (m *MsgBoosterPackBuy) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBoosterPackBuy) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardArtworkAdd) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBoosterPackBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + if m.FullArt { + i-- + if m.FullArt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) + i-- + dAtA[i] = 0x1a + } + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- dAtA[i] = 0x10 } @@ -6989,7 +7140,7 @@ func (m *MsgBoosterPackBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgBoosterPackBuyResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardArtworkAddResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6999,30 +7150,20 @@ func (m *MsgBoosterPackBuyResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBoosterPackBuyResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardArtworkAddResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBoosterPackBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } return len(dAtA) - i, nil } -func (m *MsgSellOfferCreate) Marshal() (dAtA []byte, err error) { +func (m *MsgCardArtistChange) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7032,26 +7173,23 @@ func (m *MsgSellOfferCreate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSellOfferCreate) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardArtistChange) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardArtistChange) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - { - size, err := m.Price.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) + if len(m.Artist) > 0 { + i -= len(m.Artist) + copy(dAtA[i:], m.Artist) + i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x1a } - i-- - dAtA[i] = 0x1a if m.CardId != 0 { i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- @@ -7067,7 +7205,7 @@ func (m *MsgSellOfferCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSellOfferCreateResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardArtistChangeResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7077,12 +7215,12 @@ func (m *MsgSellOfferCreateResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSellOfferCreateResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardArtistChangeResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardArtistChangeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7090,7 +7228,7 @@ func (m *MsgSellOfferCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *MsgSellOfferBuy) Marshal() (dAtA []byte, err error) { +func (m *MsgCouncilRegister) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7100,21 +7238,16 @@ func (m *MsgSellOfferBuy) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSellOfferBuy) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCouncilRegister) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCouncilRegister) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.SellOfferId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SellOfferId)) - i-- - dAtA[i] = 0x10 - } if len(m.Creator) > 0 { i -= len(m.Creator) copy(dAtA[i:], m.Creator) @@ -7125,7 +7258,7 @@ func (m *MsgSellOfferBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSellOfferBuyResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCouncilRegisterResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7135,12 +7268,12 @@ func (m *MsgSellOfferBuyResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSellOfferBuyResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCouncilRegisterResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCouncilRegisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7148,7 +7281,7 @@ func (m *MsgSellOfferBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgSellOfferRemove) Marshal() (dAtA []byte, err error) { +func (m *MsgCouncilDeregister) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7158,21 +7291,16 @@ func (m *MsgSellOfferRemove) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSellOfferRemove) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCouncilDeregister) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCouncilDeregister) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.SellOfferId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SellOfferId)) - i-- - dAtA[i] = 0x10 - } if len(m.Creator) > 0 { i -= len(m.Creator) copy(dAtA[i:], m.Creator) @@ -7183,7 +7311,7 @@ func (m *MsgSellOfferRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSellOfferRemoveResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCouncilDeregisterResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7193,12 +7321,12 @@ func (m *MsgSellOfferRemoveResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSellOfferRemoveResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCouncilDeregisterResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCouncilDeregisterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7206,7 +7334,7 @@ func (m *MsgSellOfferRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *MsgCardRaritySet) Marshal() (dAtA []byte, err error) { +func (m *MsgMatchReport) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7216,28 +7344,59 @@ func (m *MsgCardRaritySet) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCardRaritySet) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgMatchReport) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCardRaritySet) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgMatchReport) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Rarity != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Rarity)) + if m.Outcome != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x28 } - if m.SetId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + if len(m.PlayedCardsB) > 0 { + dAtA6 := make([]byte, len(m.PlayedCardsB)*10) + var j5 int + for _, num := range m.PlayedCardsB { + for num >= 1<<7 { + dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j5++ + } + dAtA6[j5] = uint8(num) + j5++ + } + i -= j5 + copy(dAtA[i:], dAtA6[:j5]) + i = encodeVarintTx(dAtA, i, uint64(j5)) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x22 } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + if len(m.PlayedCardsA) > 0 { + dAtA8 := make([]byte, len(m.PlayedCardsA)*10) + var j7 int + for _, num := range m.PlayedCardsA { + for num >= 1<<7 { + dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j7++ + } + dAtA8[j7] = uint8(num) + j7++ + } + i -= j7 + copy(dAtA[i:], dAtA8[:j7]) + i = encodeVarintTx(dAtA, i, uint64(j7)) + i-- + dAtA[i] = 0x1a + } + if m.MatchId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) i-- dAtA[i] = 0x10 } @@ -7251,7 +7410,7 @@ func (m *MsgCardRaritySet) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgCardRaritySetResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgMatchReportResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7261,12 +7420,12 @@ func (m *MsgCardRaritySetResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCardRaritySetResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgMatchReportResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCardRaritySetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgMatchReportResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7274,7 +7433,7 @@ func (m *MsgCardRaritySetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgCouncilResponseCommit) Marshal() (dAtA []byte, err error) { +func (m *MsgCouncilCreate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7284,32 +7443,18 @@ func (m *MsgCouncilResponseCommit) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilResponseCommit) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCouncilCreate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilResponseCommit) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCouncilCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Suggestion) > 0 { - i -= len(m.Suggestion) - copy(dAtA[i:], m.Suggestion) - i = encodeVarintTx(dAtA, i, uint64(len(m.Suggestion))) - i-- - dAtA[i] = 0x22 - } - if len(m.Reponse) > 0 { - i -= len(m.Reponse) - copy(dAtA[i:], m.Reponse) - i = encodeVarintTx(dAtA, i, uint64(len(m.Reponse))) - i-- - dAtA[i] = 0x1a - } - if m.CouncilId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- dAtA[i] = 0x10 } @@ -7323,7 +7468,7 @@ func (m *MsgCouncilResponseCommit) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgCouncilResponseCommitResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCouncilCreateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7333,12 +7478,12 @@ func (m *MsgCouncilResponseCommitResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilResponseCommitResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCouncilCreateResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilResponseCommitResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCouncilCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7346,7 +7491,7 @@ func (m *MsgCouncilResponseCommitResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *MsgCouncilResponseReveal) Marshal() (dAtA []byte, err error) { +func (m *MsgMatchReporterAppoint) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7356,32 +7501,22 @@ func (m *MsgCouncilResponseReveal) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilResponseReveal) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgMatchReporterAppoint) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilResponseReveal) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgMatchReporterAppoint) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Secret) > 0 { - i -= len(m.Secret) - copy(dAtA[i:], m.Secret) - i = encodeVarintTx(dAtA, i, uint64(len(m.Secret))) - i-- - dAtA[i] = 0x22 - } - if m.Reponse != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Reponse)) - i-- - dAtA[i] = 0x18 - } - if m.CouncilId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + if len(m.Reporter) > 0 { + i -= len(m.Reporter) + copy(dAtA[i:], m.Reporter) + i = encodeVarintTx(dAtA, i, uint64(len(m.Reporter))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(m.Creator) > 0 { i -= len(m.Creator) @@ -7393,7 +7528,7 @@ func (m *MsgCouncilResponseReveal) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgCouncilResponseRevealResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgMatchReporterAppointResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7403,12 +7538,12 @@ func (m *MsgCouncilResponseRevealResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilResponseRevealResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgMatchReporterAppointResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilResponseRevealResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgMatchReporterAppointResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7416,7 +7551,7 @@ func (m *MsgCouncilResponseRevealResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *MsgCouncilRestart) Marshal() (dAtA []byte, err error) { +func (m *MsgSetCreate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7426,32 +7561,57 @@ func (m *MsgCouncilRestart) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilRestart) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetCreate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilRestart) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.CouncilId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) - i-- - dAtA[i] = 0x10 + if len(m.Contributors) > 0 { + for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Contributors[iNdEx]) + copy(dAtA[i:], m.Contributors[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.Contributors[iNdEx]))) + i-- + dAtA[i] = 0x2a + } } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + if len(m.StoryWriter) > 0 { + i -= len(m.StoryWriter) + copy(dAtA[i:], m.StoryWriter) + i = encodeVarintTx(dAtA, i, uint64(len(m.StoryWriter))) i-- - dAtA[i] = 0xa + dAtA[i] = 0x22 } - return len(dAtA) - i, nil -} - -func (m *MsgCouncilRestartResponse) Marshal() (dAtA []byte, err error) { + if len(m.Artist) > 0 { + i -= len(m.Artist) + copy(dAtA[i:], m.Artist) + i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x1a + } + 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 + } + 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 *MsgSetCreateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7461,12 +7621,12 @@ func (m *MsgCouncilRestartResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCouncilRestartResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetCreateResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilRestartResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7474,7 +7634,7 @@ func (m *MsgCouncilRestartResponse) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *MsgMatchConfirm) Marshal() (dAtA []byte, err error) { +func (m *MsgSetCardAdd) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7484,37 +7644,23 @@ func (m *MsgMatchConfirm) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgMatchConfirm) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetCardAdd) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMatchConfirm) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetCardAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = 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)) + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- dAtA[i] = 0x18 } - if m.MatchId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -7528,7 +7674,7 @@ func (m *MsgMatchConfirm) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgMatchConfirmResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetCardAddResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7538,12 +7684,12 @@ func (m *MsgMatchConfirmResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgMatchConfirmResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetCardAddResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMatchConfirmResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetCardAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7551,7 +7697,7 @@ func (m *MsgMatchConfirmResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgProfileCardSet) Marshal() (dAtA []byte, err error) { +func (m *MsgSetCardRemove) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7561,12 +7707,12 @@ func (m *MsgProfileCardSet) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProfileCardSet) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetCardRemove) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProfileCardSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetCardRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7574,6 +7720,11 @@ func (m *MsgProfileCardSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { if m.CardId != 0 { i = encodeVarintTx(dAtA, i, uint64(m.CardId)) i-- + dAtA[i] = 0x18 + } + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- dAtA[i] = 0x10 } if len(m.Creator) > 0 { @@ -7586,7 +7737,7 @@ func (m *MsgProfileCardSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgProfileCardSetResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetCardRemoveResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7596,12 +7747,12 @@ func (m *MsgProfileCardSetResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProfileCardSetResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetCardRemoveResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProfileCardSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetCardRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7609,7 +7760,7 @@ func (m *MsgProfileCardSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *MsgProfileWebsiteSet) Marshal() (dAtA []byte, err error) { +func (m *MsgSetContributorAdd) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7619,22 +7770,27 @@ func (m *MsgProfileWebsiteSet) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProfileWebsiteSet) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetContributorAdd) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProfileWebsiteSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetContributorAdd) 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.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintTx(dAtA, i, uint64(len(m.User))) 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) @@ -7646,7 +7802,7 @@ func (m *MsgProfileWebsiteSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgProfileWebsiteSetResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetContributorAddResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7656,12 +7812,12 @@ func (m *MsgProfileWebsiteSetResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProfileWebsiteSetResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetContributorAddResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProfileWebsiteSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetContributorAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7669,7 +7825,7 @@ func (m *MsgProfileWebsiteSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *MsgProfileBioSet) Marshal() (dAtA []byte, err error) { +func (m *MsgSetContributorRemove) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7679,22 +7835,27 @@ func (m *MsgProfileBioSet) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProfileBioSet) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetContributorRemove) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProfileBioSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetContributorRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Bio) > 0 { - i -= len(m.Bio) - copy(dAtA[i:], m.Bio) - i = encodeVarintTx(dAtA, i, uint64(len(m.Bio))) + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintTx(dAtA, i, uint64(len(m.User))) 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) @@ -7706,7 +7867,7 @@ func (m *MsgProfileBioSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgProfileBioSetResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetContributorRemoveResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7716,12 +7877,12 @@ func (m *MsgProfileBioSetResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProfileBioSetResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetContributorRemoveResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProfileBioSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetContributorRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7729,7 +7890,7 @@ func (m *MsgProfileBioSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgBoosterPackOpen) Marshal() (dAtA []byte, err error) { +func (m *MsgSetFinalize) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7739,18 +7900,18 @@ func (m *MsgBoosterPackOpen) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBoosterPackOpen) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetFinalize) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBoosterPackOpen) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetFinalize) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.BoosterPackId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.BoosterPackId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -7764,7 +7925,7 @@ func (m *MsgBoosterPackOpen) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgBoosterPackOpenResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetFinalizeResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7774,38 +7935,20 @@ func (m *MsgBoosterPackOpenResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBoosterPackOpenResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetFinalizeResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBoosterPackOpenResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetFinalizeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.CardIds) > 0 { - dAtA11 := make([]byte, len(m.CardIds)*10) - var j10 int - for _, num := range m.CardIds { - 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] = 0xa - } return len(dAtA) - i, nil } -func (m *MsgBoosterPackTransfer) Marshal() (dAtA []byte, err error) { +func (m *MsgSetArtworkAdd) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7815,25 +7958,25 @@ func (m *MsgBoosterPackTransfer) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBoosterPackTransfer) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetArtworkAdd) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBoosterPackTransfer) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetArtworkAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Receiver) > 0 { - i -= len(m.Receiver) - copy(dAtA[i:], m.Receiver) - i = encodeVarintTx(dAtA, i, uint64(len(m.Receiver))) + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) i-- dAtA[i] = 0x1a } - if m.BoosterPackId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.BoosterPackId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -7847,7 +7990,7 @@ func (m *MsgBoosterPackTransfer) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgBoosterPackTransferResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetArtworkAddResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7857,12 +8000,12 @@ func (m *MsgBoosterPackTransferResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBoosterPackTransferResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetArtworkAddResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBoosterPackTransferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetArtworkAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7870,7 +8013,7 @@ func (m *MsgBoosterPackTransferResponse) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *MsgSetStoryWriterSet) Marshal() (dAtA []byte, err error) { +func (m *MsgSetStoryAdd) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7880,20 +8023,20 @@ func (m *MsgSetStoryWriterSet) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetStoryWriterSet) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetStoryAdd) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetStoryWriterSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetStoryAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.StoryWriter) > 0 { - i -= len(m.StoryWriter) - copy(dAtA[i:], m.StoryWriter) - i = encodeVarintTx(dAtA, i, uint64(len(m.StoryWriter))) + if len(m.Story) > 0 { + i -= len(m.Story) + copy(dAtA[i:], m.Story) + i = encodeVarintTx(dAtA, i, uint64(len(m.Story))) i-- dAtA[i] = 0x1a } @@ -7912,7 +8055,7 @@ func (m *MsgSetStoryWriterSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetStoryWriterSetResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetStoryAddResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7922,12 +8065,12 @@ func (m *MsgSetStoryWriterSetResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetStoryWriterSetResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetStoryAddResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetStoryWriterSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetStoryAddResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7935,7 +8078,7 @@ func (m *MsgSetStoryWriterSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *MsgSetArtistSet) Marshal() (dAtA []byte, err error) { +func (m *MsgBoosterPackBuy) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7945,23 +8088,16 @@ func (m *MsgSetArtistSet) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetArtistSet) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgBoosterPackBuy) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetArtistSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgBoosterPackBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Artist) > 0 { - i -= len(m.Artist) - copy(dAtA[i:], m.Artist) - i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) - i-- - dAtA[i] = 0x1a - } if m.SetId != 0 { i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- @@ -7977,7 +8113,7 @@ func (m *MsgSetArtistSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetArtistSetResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgBoosterPackBuyResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7987,20 +8123,30 @@ func (m *MsgSetArtistSetResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetArtistSetResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgBoosterPackBuyResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetArtistSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgBoosterPackBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } -func (m *MsgCardVoteMulti) Marshal() (dAtA []byte, err error) { +func (m *MsgSellOfferCreate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -8010,29 +8156,30 @@ func (m *MsgCardVoteMulti) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCardVoteMulti) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSellOfferCreate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCardVoteMulti) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSellOfferCreate) 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 + { + size, err := m.Price.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + 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) @@ -8044,7 +8191,7 @@ func (m *MsgCardVoteMulti) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgCardVoteMultiResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSellOfferCreateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -8054,1178 +8201,4401 @@ func (m *MsgCardVoteMultiResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCardVoteMultiResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSellOfferCreateResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCardVoteMultiResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSellOfferCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.AirdropClaimed { - i-- - if m.AirdropClaimed { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x8 - } return len(dAtA) - i, nil } -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *MsgUpdateParams) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgSellOfferBuy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - l = m.Params.Size() - n += 1 + l + sovTx(uint64(l)) - return n + return dAtA[:n], nil } -func (m *MsgUpdateParamsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgSellOfferBuy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUserCreate) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgSellOfferBuy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.NewUser) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.SellOfferId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SellOfferId)) + i-- + dAtA[i] = 0x10 } - l = len(m.Alias) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgUserCreateResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSellOfferBuyResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCardSchemeBuy) 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 = m.Bid.Size() - n += 1 + l + sovTx(uint64(l)) - return n +func (m *MsgSellOfferBuyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCardSchemeBuyResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgSellOfferBuyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) - } - return n + return len(dAtA) - i, nil } -func (m *MsgCardSaveContent) 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.Content) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Notes) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.BalanceAnchor { - n += 2 +func (m *MsgSellOfferRemove) 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 n + return dAtA[:n], nil } -func (m *MsgCardSaveContentResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AirdropClaimed { - n += 2 - } - return n +func (m *MsgSellOfferRemove) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCardVote) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgSellOfferRemove) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.SellOfferId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SellOfferId)) + i-- + dAtA[i] = 0x10 } - if m.Vote != nil { - l = m.Vote.Size() - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgCardVoteResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AirdropClaimed { - n += 2 +func (m *MsgSellOfferRemoveResponse) 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 n + return dAtA[:n], nil } -func (m *MsgCardTransfer) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgSellOfferRemoveResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSellOfferRemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i 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.Receiver) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n + return len(dAtA) - i, nil } -func (m *MsgCardTransferResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCardRaritySet) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCardDonate) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgCardRaritySet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardRaritySet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.Rarity != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Rarity)) + i-- + dAtA[i] = 0x20 + } + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x18 } if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x10 } - l = m.Amount.Size() - n += 1 + l + sovTx(uint64(l)) - return n + 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 *MsgCardDonateResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCardRaritySetResponse) 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 *MsgCardRaritySetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardRaritySetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgCardArtworkAdd) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCouncilResponseCommit) 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 *MsgCouncilResponseCommit) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilResponseCommit) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Suggestion) > 0 { + i -= len(m.Suggestion) + copy(dAtA[i:], m.Suggestion) + i = encodeVarintTx(dAtA, i, uint64(len(m.Suggestion))) + i-- + dAtA[i] = 0x22 } - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) + if len(m.Reponse) > 0 { + i -= len(m.Reponse) + copy(dAtA[i:], m.Reponse) + i = encodeVarintTx(dAtA, i, uint64(len(m.Reponse))) + i-- + dAtA[i] = 0x1a } - l = len(m.Image) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.CouncilId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + i-- + dAtA[i] = 0x10 } - if m.FullArt { - n += 2 + 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 n + return len(dAtA) - i, nil } -func (m *MsgCardArtworkAddResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCouncilResponseCommitResponse) 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 *MsgCouncilResponseCommitResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilResponseCommitResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgCardArtistChange) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCouncilResponseReveal) 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 *MsgCouncilResponseReveal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCouncilResponseReveal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Secret) > 0 { + i -= len(m.Secret) + copy(dAtA[i:], m.Secret) + i = encodeVarintTx(dAtA, i, uint64(len(m.Secret))) + i-- + dAtA[i] = 0x22 } - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) + if m.Reponse != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Reponse)) + i-- + dAtA[i] = 0x18 } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.CouncilId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + i-- + dAtA[i] = 0x10 } - return n + 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 *MsgCardArtistChangeResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCouncilResponseRevealResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCouncilRegister) 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)) - } - return n +func (m *MsgCouncilResponseRevealResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilRegisterResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgCouncilResponseRevealResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgCouncilDeregister) 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)) +func (m *MsgCouncilRestart) 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 n + return dAtA[:n], nil } -func (m *MsgCouncilDeregisterResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgCouncilRestart) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMatchReport) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgCouncilRestart) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.MatchId != 0 { - n += 1 + sovTx(uint64(m.MatchId)) - } - if len(m.PlayedCardsA) > 0 { - l = 0 - for _, e := range m.PlayedCardsA { - l += sovTx(uint64(e)) - } - n += 1 + sovTx(uint64(l)) + l - } - if len(m.PlayedCardsB) > 0 { - l = 0 - for _, e := range m.PlayedCardsB { - l += sovTx(uint64(e)) - } - n += 1 + sovTx(uint64(l)) + l + if m.CouncilId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CouncilId)) + i-- + dAtA[i] = 0x10 } - if m.Outcome != 0 { - n += 1 + sovTx(uint64(m.Outcome)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgMatchReportResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCouncilRestartResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCouncilCreate) 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)) - } - return n +func (m *MsgCouncilRestartResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilCreateResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgCouncilRestartResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgMatchReporterAppoint) 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)) +func (m *MsgMatchConfirm) 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 n + return dAtA[:n], nil } -func (m *MsgMatchReporterAppointResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgMatchConfirm) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCreate) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgMatchConfirm) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Name) - if l > 0 { - n += 1 + l + sovTx(uint64(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 + } } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.Outcome != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) + i-- + dAtA[i] = 0x18 } - l = len(m.StoryWriter) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.MatchId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) + i-- + dAtA[i] = 0x10 } - if len(m.Contributors) > 0 { - for _, s := range m.Contributors { - l = len(s) - n += 1 + l + sovTx(uint64(l)) - } + 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 n + return len(dAtA) - i, nil } -func (m *MsgSetCreateResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgMatchConfirmResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgSetCardAdd) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) - } - return n +func (m *MsgMatchConfirmResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCardAddResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgMatchConfirmResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgSetCardRemove) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) +func (m *MsgProfileCardSet) 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 n + return dAtA[:n], nil } -func (m *MsgSetCardRemoveResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgProfileCardSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetContributorAdd) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProfileCardSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x10 } - l = len(m.User) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgSetContributorAddResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProfileCardSetResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgSetContributorRemove) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - l = len(m.User) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n +func (m *MsgProfileCardSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetContributorRemoveResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProfileCardSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgSetFinalize) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) +func (m *MsgProfileWebsiteSet) 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 n + return dAtA[:n], nil } -func (m *MsgSetFinalizeResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgProfileWebsiteSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetArtworkAdd) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProfileWebsiteSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) + 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 } - l = len(m.Image) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgSetArtworkAddResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProfileWebsiteSetResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgSetStoryAdd) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - l = len(m.Story) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n +func (m *MsgProfileWebsiteSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetStoryAddResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProfileWebsiteSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgBoosterPackBuy) 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.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) +func (m *MsgProfileBioSet) 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 n + return dAtA[:n], nil } -func (m *MsgBoosterPackBuyResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AirdropClaimed { - n += 2 - } - return n +func (m *MsgProfileBioSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSellOfferCreate) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProfileBioSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Bio) > 0 { + i -= len(m.Bio) + copy(dAtA[i:], m.Bio) + i = encodeVarintTx(dAtA, i, uint64(len(m.Bio))) + i-- + dAtA[i] = 0x12 } - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) + 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 } - l = m.Price.Size() - n += 1 + l + sovTx(uint64(l)) - return n + return len(dAtA) - i, nil } -func (m *MsgSellOfferCreateResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProfileBioSetResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgSellOfferBuy) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProfileBioSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProfileBioSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.SellOfferId != 0 { - n += 1 + sovTx(uint64(m.SellOfferId)) - } - return n + return len(dAtA) - i, nil } -func (m *MsgSellOfferBuyResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBoosterPackOpen) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgSellOfferRemove) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgBoosterPackOpen) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBoosterPackOpen) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.BoosterPackId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.BoosterPackId)) + i-- + dAtA[i] = 0x10 } - if m.SellOfferId != 0 { - n += 1 + sovTx(uint64(m.SellOfferId)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgSellOfferRemoveResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBoosterPackOpenResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCardRaritySet) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgBoosterPackOpenResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBoosterPackOpenResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i 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)) - } - if m.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) - } - if m.Rarity != 0 { - n += 1 + sovTx(uint64(m.Rarity)) + if len(m.CardIds) > 0 { + dAtA11 := make([]byte, len(m.CardIds)*10) + var j10 int + for _, num := range m.CardIds { + 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] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgCardRaritySetResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBoosterPackTransfer) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCouncilResponseCommit) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgBoosterPackTransfer) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBoosterPackTransfer) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.CouncilId != 0 { - n += 1 + sovTx(uint64(m.CouncilId)) + if len(m.Receiver) > 0 { + i -= len(m.Receiver) + copy(dAtA[i:], m.Receiver) + i = encodeVarintTx(dAtA, i, uint64(len(m.Receiver))) + i-- + dAtA[i] = 0x1a } - l = len(m.Reponse) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.BoosterPackId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.BoosterPackId)) + i-- + dAtA[i] = 0x10 } - l = len(m.Suggestion) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgCouncilResponseCommitResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBoosterPackTransferResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCouncilResponseReveal) 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.CouncilId != 0 { - n += 1 + sovTx(uint64(m.CouncilId)) - } - if m.Reponse != 0 { - n += 1 + sovTx(uint64(m.Reponse)) - } - l = len(m.Secret) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n +func (m *MsgBoosterPackTransferResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCouncilResponseRevealResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgBoosterPackTransferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgCouncilRestart) 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.CouncilId != 0 { - n += 1 + sovTx(uint64(m.CouncilId)) +func (m *MsgSetStoryWriterSet) 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 n + return dAtA[:n], nil } -func (m *MsgCouncilRestartResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgSetStoryWriterSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMatchConfirm) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgSetStoryWriterSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.StoryWriter) > 0 { + i -= len(m.StoryWriter) + copy(dAtA[i:], m.StoryWriter) + i = encodeVarintTx(dAtA, i, uint64(len(m.StoryWriter))) + i-- + dAtA[i] = 0x1a } - if m.MatchId != 0 { - n += 1 + sovTx(uint64(m.MatchId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x10 } - 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)) - } + 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 n + return len(dAtA) - i, nil } -func (m *MsgMatchConfirmResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSetStoryWriterSetResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgProfileCardSet) 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)) - } - return n +func (m *MsgSetStoryWriterSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProfileCardSetResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgSetStoryWriterSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgProfileWebsiteSet) 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.Website) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgSetArtistSet) 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 n + return dAtA[:n], nil } -func (m *MsgProfileWebsiteSetResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgSetArtistSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProfileBioSet) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgSetArtistSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Artist) > 0 { + i -= len(m.Artist) + copy(dAtA[i:], m.Artist) + i = encodeVarintTx(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x1a } - l = len(m.Bio) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x10 } - return n + 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 *MsgProfileBioSetResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSetArtistSetResponse) 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 *MsgSetArtistSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetArtistSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgBoosterPackOpen) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCardVoteMulti) 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 *MsgCardVoteMulti) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardVoteMulti) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(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 m.BoosterPackId != 0 { - n += 1 + sovTx(uint64(m.BoosterPackId)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgBoosterPackOpenResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgCardVoteMultiResponse) 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 *MsgCardVoteMultiResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardVoteMultiResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if len(m.CardIds) > 0 { - l = 0 - for _, e := range m.CardIds { - l += sovTx(uint64(e)) + if m.AirdropClaimed { + i-- + if m.AirdropClaimed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 } - n += 1 + sovTx(uint64(l)) + l + i-- + dAtA[i] = 0x8 } - return n + return len(dAtA) - i, nil } -func (m *MsgBoosterPackTransfer) 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.BoosterPackId != 0 { - n += 1 + sovTx(uint64(m.BoosterPackId)) - } - l = len(m.Receiver) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgMatchOpen) 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 n + return dAtA[:n], nil } -func (m *MsgBoosterPackTransferResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgMatchOpen) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetStoryWriterSet) Size() (n int) { - if m == nil { - return 0 +func (m *MsgMatchOpen) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.PlayerBdeck) > 0 { + dAtA13 := make([]byte, len(m.PlayerBdeck)*10) + var j12 int + for _, num := range m.PlayerBdeck { + for num >= 1<<7 { + dAtA13[j12] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j12++ + } + dAtA13[j12] = uint8(num) + j12++ + } + i -= j12 + copy(dAtA[i:], dAtA13[:j12]) + i = encodeVarintTx(dAtA, i, uint64(j12)) + i-- + dAtA[i] = 0x2a + } + if len(m.PlayerAdeck) > 0 { + dAtA15 := make([]byte, len(m.PlayerAdeck)*10) + var j14 int + for _, num := range m.PlayerAdeck { + for num >= 1<<7 { + dAtA15[j14] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j14++ + } + dAtA15[j14] = uint8(num) + j14++ + } + i -= j14 + copy(dAtA[i:], dAtA15[:j14]) + i = encodeVarintTx(dAtA, i, uint64(j14)) + 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 + } + 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 *MsgMatchOpenResponse) 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 *MsgMatchOpenResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgMatchOpenResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.MatchId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgSetNameSet) 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 *MsgSetNameSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetNameSet) 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 = encodeVarintTx(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x1a } if m.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x10 } - l = len(m.StoryWriter) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgSetStoryWriterSetResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSetNameSetResponse) 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 *MsgSetNameSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetNameSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgSetArtistSet) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProfileAliasSet) 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 *MsgProfileAliasSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProfileAliasSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Alias) > 0 { + i -= len(m.Alias) + copy(dAtA[i:], m.Alias) + i = encodeVarintTx(dAtA, i, uint64(len(m.Alias))) + 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 *MsgProfileAliasSetResponse) 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 *MsgProfileAliasSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProfileAliasSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + return len(dAtA) - i, nil +} + +func (m *MsgEarlyAccessInvite) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - if m.SetId != 0 { - n += 1 + sovTx(uint64(m.SetId)) + return dAtA[:n], nil +} + +func (m *MsgEarlyAccessInvite) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEarlyAccessInvite) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintTx(dAtA, i, uint64(len(m.User))) + i-- + dAtA[i] = 0x12 } - l = len(m.Artist) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + 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 n + return len(dAtA) - i, nil } -func (m *MsgSetArtistSetResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgEarlyAccessInviteResponse) 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 *MsgEarlyAccessInviteResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEarlyAccessInviteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgCardVoteMulti) Size() (n int) { - if m == nil { - return 0 +func (m *MsgZealyConnect) 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 *MsgZealyConnect) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgZealyConnect) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.ZealyId) > 0 { + i -= len(m.ZealyId) + copy(dAtA[i:], m.ZealyId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ZealyId))) + i-- + dAtA[i] = 0x12 } - if len(m.Votes) > 0 { - for _, e := range m.Votes { - l = e.Size() - n += 1 + l + sovTx(uint64(l)) + 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 *MsgZealyConnectResponse) 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 *MsgZealyConnectResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgZealyConnectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgEncounterCreate) 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 *MsgEncounterCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEncounterCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintTx(dAtA, i, uint64(len(m.Image))) + i-- + dAtA[i] = 0x2a + } + if len(m.Parameters) > 0 { + for k := range m.Parameters { + v := m.Parameters[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarintTx(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarintTx(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarintTx(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x22 + } + } + if len(m.Drawlist) > 0 { + dAtA17 := make([]byte, len(m.Drawlist)*10) + var j16 int + for _, num := range m.Drawlist { + for num >= 1<<7 { + dAtA17[j16] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j16++ + } + dAtA17[j16] = uint8(num) + j16++ + } + i -= j16 + copy(dAtA[i:], dAtA17[:j16]) + i = encodeVarintTx(dAtA, i, uint64(j16)) + i-- + dAtA[i] = 0x1a + } + 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 + } + 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 *MsgEncounterCreateResponse) 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 *MsgEncounterCreateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEncounterCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgEncounterDo) 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 *MsgEncounterDo) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEncounterDo) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintTx(dAtA, i, uint64(len(m.User))) + i-- + dAtA[i] = 0x1a + } + if m.EncounterId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.EncounterId)) + 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 *MsgEncounterDoResponse) 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 *MsgEncounterDoResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEncounterDoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgEncounterClose) 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 *MsgEncounterClose) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEncounterClose) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Won { + i-- + if m.Won { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintTx(dAtA, i, uint64(len(m.User))) + i-- + dAtA[i] = 0x1a + } + if m.EncounterId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.EncounterId)) + 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 *MsgEncounterCloseResponse) 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 *MsgEncounterCloseResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEncounterCloseResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUserCreate) 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.NewUser) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Alias) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUserCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardSchemeBuy) 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 = m.Bid.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgCardSchemeBuyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgCardSaveContent) 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.Content) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Notes) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.BalanceAnchor { + n += 2 + } + return n +} + +func (m *MsgCardSaveContentResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgCardVote) 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.Vote != nil { + l = m.Vote.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardVoteResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgCardTransfer) 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.Receiver) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardTransferResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardDonate) 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 = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgCardDonateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardArtworkAdd) 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.Image) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.FullArt { + n += 2 + } + return n +} + +func (m *MsgCardArtworkAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardArtistChange) 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.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCardArtistChangeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilRegister) 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)) + } + return n +} + +func (m *MsgCouncilRegisterResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilDeregister) 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)) + } + return n +} + +func (m *MsgCouncilDeregisterResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgMatchReport) 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.MatchId != 0 { + n += 1 + sovTx(uint64(m.MatchId)) + } + if len(m.PlayedCardsA) > 0 { + l = 0 + for _, e := range m.PlayedCardsA { + l += sovTx(uint64(e)) + } + n += 1 + sovTx(uint64(l)) + l + } + if len(m.PlayedCardsB) > 0 { + l = 0 + for _, e := range m.PlayedCardsB { + l += sovTx(uint64(e)) + } + n += 1 + sovTx(uint64(l)) + l + } + if m.Outcome != 0 { + n += 1 + sovTx(uint64(m.Outcome)) + } + return n +} + +func (m *MsgMatchReportResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilCreate) 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)) + } + return n +} + +func (m *MsgCouncilCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgMatchReporterAppoint) 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)) + } + return n +} + +func (m *MsgMatchReporterAppointResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetCreate) 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.Name) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.StoryWriter) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Contributors) > 0 { + for _, s := range m.Contributors { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgSetCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetCardAdd) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgSetCardAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetCardRemove) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgSetCardRemoveResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetContributorAdd) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.User) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetContributorAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetContributorRemove) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.User) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetContributorRemoveResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetFinalize) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + return n +} + +func (m *MsgSetFinalizeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetArtworkAdd) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.Image) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetArtworkAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetStoryAdd) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.Story) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetStoryAddResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgBoosterPackBuy) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + return n +} + +func (m *MsgBoosterPackBuyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgSellOfferCreate) 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 = m.Price.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgSellOfferCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSellOfferBuy) 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.SellOfferId != 0 { + n += 1 + sovTx(uint64(m.SellOfferId)) + } + return n +} + +func (m *MsgSellOfferBuyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSellOfferRemove) 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.SellOfferId != 0 { + n += 1 + sovTx(uint64(m.SellOfferId)) + } + return n +} + +func (m *MsgSellOfferRemoveResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardRaritySet) 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)) + } + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + if m.Rarity != 0 { + n += 1 + sovTx(uint64(m.Rarity)) + } + return n +} + +func (m *MsgCardRaritySetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilResponseCommit) 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.CouncilId != 0 { + n += 1 + sovTx(uint64(m.CouncilId)) + } + l = len(m.Reponse) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Suggestion) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCouncilResponseCommitResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilResponseReveal) 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.CouncilId != 0 { + n += 1 + sovTx(uint64(m.CouncilId)) + } + if m.Reponse != 0 { + n += 1 + sovTx(uint64(m.Reponse)) + } + l = len(m.Secret) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCouncilResponseRevealResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCouncilRestart) 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.CouncilId != 0 { + n += 1 + sovTx(uint64(m.CouncilId)) + } + return n +} + +func (m *MsgCouncilRestartResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgMatchConfirm) 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.MatchId != 0 { + n += 1 + sovTx(uint64(m.MatchId)) + } + 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 +} + +func (m *MsgMatchConfirmResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgProfileCardSet) 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)) + } + return n +} + +func (m *MsgProfileCardSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgProfileWebsiteSet) 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.Website) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgProfileWebsiteSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgProfileBioSet) 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.Bio) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgProfileBioSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgBoosterPackOpen) 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.BoosterPackId != 0 { + n += 1 + sovTx(uint64(m.BoosterPackId)) + } + return n +} + +func (m *MsgBoosterPackOpenResponse) Size() (n int) { + if m == nil { + return 0 + } + 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 +} + +func (m *MsgBoosterPackTransfer) 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.BoosterPackId != 0 { + n += 1 + sovTx(uint64(m.BoosterPackId)) + } + l = len(m.Receiver) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgBoosterPackTransferResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetStoryWriterSet) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.StoryWriter) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetStoryWriterSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetArtistSet) 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.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetArtistSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCardVoteMulti) 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 *MsgCardVoteMultiResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirdropClaimed { + n += 2 + } + return n +} + +func (m *MsgMatchOpen) 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 *MsgMatchOpenResponse) 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 *MsgSetNameSet) 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.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 *MsgSetNameSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgProfileAliasSet) 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.Alias) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgProfileAliasSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgEarlyAccessInvite) 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.User) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgEarlyAccessInviteResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgZealyConnect) 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.ZealyId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgZealyConnectResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgEncounterCreate) 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.Name) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Drawlist) > 0 { + l = 0 + for _, e := range m.Drawlist { + l += sovTx(uint64(e)) + } + n += 1 + sovTx(uint64(l)) + l + } + if len(m.Parameters) > 0 { + for k, v := range m.Parameters { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovTx(uint64(len(k))) + 1 + len(v) + sovTx(uint64(len(v))) + n += mapEntrySize + 1 + sovTx(uint64(mapEntrySize)) + } + } + l = len(m.Image) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgEncounterCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgEncounterDo) 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.EncounterId != 0 { + n += 1 + sovTx(uint64(m.EncounterId)) + } + l = len(m.User) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgEncounterDoResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgEncounterClose) 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.EncounterId != 0 { + n += 1 + sovTx(uint64(m.EncounterId)) + } + l = len(m.User) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.Won { + n += 2 + } + return n +} + +func (m *MsgEncounterCloseResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUserCreate) 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: MsgUserCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewUser", 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.NewUser = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Alias", 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.Alias = 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 *MsgUserCreateResponse) 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: MsgUserCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUserCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardSchemeBuy) 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: MsgCardSchemeBuy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSchemeBuy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardSchemeBuyResponse) 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: MsgCardSchemeBuyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSchemeBuyResponse: 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:]) + 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 *MsgCardSaveContent) 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: MsgCardSaveContent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSaveContent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + 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 + 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:]) + 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 *MsgCardSaveContentResponse) 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: MsgCardSaveContentResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardSaveContentResponse: 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 *MsgCardVote) 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: MsgCardVote: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardVote: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Vote == nil { + m.Vote = &SingleVote{} + } + if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardVoteResponse) 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: MsgCardVoteResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardVoteResponse: 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 *MsgCardTransfer) 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: MsgCardTransfer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Receiver", 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.Receiver = 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 *MsgCardTransferResponse) 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: MsgCardTransferResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCardDonate) 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: MsgCardDonate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardDonate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + 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 *MsgCardDonateResponse) 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: MsgCardDonateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardDonateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy } } - return n -} -func (m *MsgCardVoteMultiResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AirdropClaimed { - n += 2 + if iNdEx > l { + return io.ErrUnexpectedEOF } - return n -} - -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + return nil } -func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { +func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9248,15 +12618,15 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardArtworkAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9284,13 +12654,32 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Authority = string(dAtA[iNdEx:postIndex]) + 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: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9300,25 +12689,46 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Params.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 + 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:]) @@ -9340,7 +12750,7 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCardArtworkAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9363,10 +12773,10 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardArtworkAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9390,7 +12800,7 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { +func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9413,10 +12823,10 @@ func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUserCreate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardArtistChange: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardArtistChange: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9452,10 +12862,10 @@ func (m *MsgUserCreate) 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 NewUser", 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 @@ -9465,27 +12875,14 @@ func (m *MsgUserCreate) 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 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NewUser = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Alias", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9513,7 +12910,7 @@ func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Alias = string(dAtA[iNdEx:postIndex]) + m.Artist = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -9536,7 +12933,7 @@ func (m *MsgUserCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUserCreateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCardArtistChangeResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9559,10 +12956,10 @@ func (m *MsgUserCreateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUserCreateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardArtistChangeResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUserCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardArtistChangeResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9586,7 +12983,7 @@ func (m *MsgUserCreateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9609,10 +13006,10 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSchemeBuy: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilRegister: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSchemeBuy: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilRegister: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9647,11 +13044,111 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { } m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + 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 *MsgCouncilRegisterResponse) 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: MsgCouncilRegisterResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilRegisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCouncilDeregister) 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: MsgCouncilDeregister: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilDeregister: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9661,24 +13158,23 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -9701,7 +13197,7 @@ func (m *MsgCardSchemeBuy) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSchemeBuyResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilDeregisterResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9724,31 +13220,12 @@ func (m *MsgCardSchemeBuyResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSchemeBuyResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilDeregisterResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSchemeBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilDeregisterResponse: 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:]) @@ -9770,7 +13247,7 @@ func (m *MsgCardSchemeBuyResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { +func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9793,10 +13270,10 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSaveContent: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchReport: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSaveContent: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchReport: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9833,9 +13310,9 @@ func (m *MsgCardSaveContent) 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 MatchId", wireType) } - m.CardId = 0 + m.MatchId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9845,16 +13322,168 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= uint64(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 Content", wireType) + 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.PlayedCardsA = append(m.PlayedCardsA, 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.PlayedCardsA) == 0 { + m.PlayedCardsA = 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.PlayedCardsA = append(m.PlayedCardsA, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsA", wireType) } - var byteLen int + 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.PlayedCardsB = append(m.PlayedCardsB, 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.PlayedCardsB) == 0 { + m.PlayedCardsB = 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.PlayedCardsB = append(m.PlayedCardsB, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsB", wireType) + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + m.Outcome = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9864,61 +13493,114 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + m.Outcome |= Outcome(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { - return ErrInvalidLengthTx + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + byteLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTx } - if postIndex > l { + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgMatchReportResponse) 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.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) + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - 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 - } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgMatchReportResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgMatchReportResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { + 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 *MsgCouncilCreate) 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.Notes = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: + 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: MsgCouncilCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCouncilCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9946,13 +13628,13 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Artist = string(dAtA[iNdEx:postIndex]) + m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 6: + case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BalanceAnchor", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) } - var v int + m.CardId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9962,12 +13644,11 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + m.CardId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - m.BalanceAnchor = bool(v != 0) default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -9989,7 +13670,7 @@ func (m *MsgCardSaveContent) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardSaveContentResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilCreateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10012,32 +13693,12 @@ func (m *MsgCardSaveContentResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardSaveContentResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilCreateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardSaveContentResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilCreateResponse: 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:]) @@ -10059,7 +13720,7 @@ func (m *MsgCardSaveContentResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardVote) Unmarshal(dAtA []byte) error { +func (m *MsgMatchReporterAppoint) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10082,10 +13743,10 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardVote: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchReporterAppoint: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardVote: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchReporterAppoint: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10122,9 +13783,9 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Reporter", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10134,28 +13795,74 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Vote == nil { - m.Vote = &SingleVote{} - } - if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Reporter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { return err } - iNdEx = postIndex + 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 *MsgMatchReporterAppointResponse) 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: MsgMatchReporterAppointResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgMatchReporterAppointResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -10177,7 +13884,7 @@ func (m *MsgCardVote) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10200,17 +13907,17 @@ func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardVoteResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardVoteResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCreate: 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) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } - var v int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10220,65 +13927,59 @@ func (m *MsgCardVoteResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + stringLen |= uint64(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 + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx } - if (skippy < 0) || (iNdEx+skippy) < 0 { + postIndex := iNdEx + intStringLen + if postIndex < 0 { return ErrInvalidLengthTx } - if (iNdEx + skippy) > l { + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCardTransfer) 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 + m.Creator = 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 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 iNdEx >= l { + if postIndex > 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: MsgCardTransfer: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardTransfer: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + 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 Artist", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10306,13 +14007,13 @@ func (m *MsgCardTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Creator = string(dAtA[iNdEx:postIndex]) + m.Artist = string(dAtA[iNdEx:postIndex]) 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 StoryWriter", wireType) } - m.CardId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10322,14 +14023,27 @@ func (m *MsgCardTransfer) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 3: + 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 Receiver", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Contributors", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10357,7 +14071,7 @@ func (m *MsgCardTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Receiver = string(dAtA[iNdEx:postIndex]) + m.Contributors = append(m.Contributors, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -10380,7 +14094,7 @@ func (m *MsgCardTransfer) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardTransferResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetCreateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10403,10 +14117,10 @@ func (m *MsgCardTransferResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardTransferResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCreateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -10430,7 +14144,7 @@ func (m *MsgCardTransferResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10453,10 +14167,10 @@ func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardDonate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardDonate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10493,9 +14207,9 @@ func (m *MsgCardDonate) 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 @@ -10505,16 +14219,16 @@ func (m *MsgCardDonate) 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 Amount", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) } - var msglen int + m.CardId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10524,25 +14238,11 @@ func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.CardId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -10564,7 +14264,7 @@ func (m *MsgCardDonate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardDonateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10587,10 +14287,10 @@ func (m *MsgCardDonateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardDonateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardDonateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -10614,7 +14314,7 @@ func (m *MsgCardDonateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10637,10 +14337,10 @@ func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardArtworkAdd: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardRemove: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardRemove: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10677,9 +14377,9 @@ func (m *MsgCardArtworkAdd) 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 @@ -10689,50 +14389,16 @@ func (m *MsgCardArtworkAdd) 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 Image", 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.Image = append(m.Image[:0], dAtA[iNdEx:postIndex]...) - if m.Image == nil { - m.Image = []byte{} - } - iNdEx = postIndex - case 4: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FullArt", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) } - var v int + m.CardId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10742,12 +14408,11 @@ func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + m.CardId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - m.FullArt = bool(v != 0) default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -10769,7 +14434,7 @@ func (m *MsgCardArtworkAdd) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardArtworkAddResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardRemoveResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10792,10 +14457,10 @@ func (m *MsgCardArtworkAddResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardArtworkAddResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardRemoveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -10819,7 +14484,7 @@ func (m *MsgCardArtworkAddResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { +func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10842,10 +14507,10 @@ func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardArtistChange: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetContributorAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardArtistChange: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetContributorAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10882,9 +14547,9 @@ func (m *MsgCardArtistChange) 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 @@ -10894,14 +14559,14 @@ func (m *MsgCardArtistChange) 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 Artist", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10929,7 +14594,7 @@ func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Artist = string(dAtA[iNdEx:postIndex]) + m.User = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -10952,7 +14617,7 @@ func (m *MsgCardArtistChange) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardArtistChangeResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetContributorAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10975,10 +14640,10 @@ func (m *MsgCardArtistChangeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardArtistChangeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetContributorAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardArtistChangeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetContributorAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11002,7 +14667,7 @@ func (m *MsgCardArtistChangeResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { +func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11015,25 +14680,76 @@ func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { if iNdEx >= l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + 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: MsgSetContributorRemove: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetContributorRemove: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.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 + } } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilRegister: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilRegister: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + 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 User", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11061,7 +14777,7 @@ func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Creator = string(dAtA[iNdEx:postIndex]) + m.User = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -11084,7 +14800,7 @@ func (m *MsgCouncilRegister) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilRegisterResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetContributorRemoveResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11107,10 +14823,10 @@ func (m *MsgCouncilRegisterResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilRegisterResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetContributorRemoveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilRegisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetContributorRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11134,7 +14850,7 @@ func (m *MsgCouncilRegisterResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilDeregister) Unmarshal(dAtA []byte) error { +func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11157,10 +14873,10 @@ func (m *MsgCouncilDeregister) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilDeregister: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetFinalize: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilDeregister: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetFinalize: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11195,6 +14911,25 @@ func (m *MsgCouncilDeregister) 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 + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -11216,7 +14951,7 @@ func (m *MsgCouncilDeregister) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilDeregisterResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetFinalizeResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11239,10 +14974,10 @@ func (m *MsgCouncilDeregisterResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilDeregisterResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetFinalizeResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilDeregisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetFinalizeResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11266,7 +15001,7 @@ func (m *MsgCouncilDeregisterResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { +func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11289,10 +15024,10 @@ func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchReport: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetArtworkAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchReport: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11329,9 +15064,9 @@ func (m *MsgMatchReport) 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 SetId", wireType) } - m.MatchId = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11341,168 +15076,16 @@ func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MatchId |= uint64(b&0x7F) << shift + m.SetId |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: - 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.PlayedCardsA = append(m.PlayedCardsA, 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.PlayedCardsA) == 0 { - m.PlayedCardsA = 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.PlayedCardsA = append(m.PlayedCardsA, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsA", wireType) - } - 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.PlayedCardsB = append(m.PlayedCardsB, 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.PlayedCardsB) == 0 { - m.PlayedCardsB = 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.PlayedCardsB = append(m.PlayedCardsB, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsB", wireType) - } - case 5: - 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 Image", wireType) } - m.Outcome = 0 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11512,11 +15095,26 @@ func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Outcome |= Outcome(b&0x7F) << shift + 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.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:]) @@ -11538,7 +15136,7 @@ func (m *MsgMatchReport) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchReportResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetArtworkAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11561,10 +15159,10 @@ func (m *MsgMatchReportResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchReportResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetArtworkAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchReportResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11588,7 +15186,7 @@ func (m *MsgMatchReportResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilCreate) Unmarshal(dAtA []byte) error { +func (m *MsgSetStoryAdd) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11611,10 +15209,10 @@ func (m *MsgCouncilCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilCreate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetStoryAdd: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetStoryAdd: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11651,9 +15249,9 @@ func (m *MsgCouncilCreate) 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 @@ -11663,11 +15261,43 @@ func (m *MsgCouncilCreate) 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 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:]) @@ -11689,7 +15319,7 @@ func (m *MsgCouncilCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilCreateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetStoryAddResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11712,10 +15342,10 @@ func (m *MsgCouncilCreateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilCreateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetStoryAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetStoryAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11739,7 +15369,7 @@ func (m *MsgCouncilCreateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchReporterAppoint) Unmarshal(dAtA []byte) error { +func (m *MsgBoosterPackBuy) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11762,10 +15392,10 @@ func (m *MsgMatchReporterAppoint) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchReporterAppoint: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBoosterPackBuy: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchReporterAppoint: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBoosterPackBuy: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11801,10 +15431,10 @@ func (m *MsgMatchReporterAppoint) 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 Reporter", 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 @@ -11814,24 +15444,11 @@ func (m *MsgMatchReporterAppoint) 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.Reporter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -11853,7 +15470,7 @@ func (m *MsgMatchReporterAppoint) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchReporterAppointResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBoosterPackBuyResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11876,12 +15493,32 @@ func (m *MsgMatchReporterAppointResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchReporterAppointResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBoosterPackBuyResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchReporterAppointResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBoosterPackBuyResponse: 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:]) @@ -11903,7 +15540,7 @@ func (m *MsgMatchReporterAppointResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCreate) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11926,10 +15563,10 @@ func (m *MsgSetCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCreate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11965,10 +15602,10 @@ func (m *MsgSetCreate) 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 CardId", wireType) } - var stringLen uint64 + m.CardId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11978,29 +15615,16 @@ func (m *MsgSetCreate) 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 { - 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) + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12010,27 +15634,128 @@ func (m *MsgSetCreate) 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]) + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 4: + 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 *MsgSellOfferCreateResponse) 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: MsgSellOfferCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSellOfferCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgSellOfferBuy) 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: MsgSellOfferBuy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSellOfferBuy: 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 { @@ -12058,13 +15783,13 @@ func (m *MsgSetCreate) 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 SellOfferId", wireType) } - var stringLen uint64 + m.SellOfferId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12074,24 +15799,11 @@ func (m *MsgSetCreate) 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.Contributors = append(m.Contributors, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12113,7 +15825,7 @@ func (m *MsgSetCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCreateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferBuyResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12136,10 +15848,10 @@ func (m *MsgSetCreateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCreateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferBuyResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12163,7 +15875,7 @@ func (m *MsgSetCreateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferRemove) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12186,10 +15898,10 @@ func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCardAdd: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferRemove: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCardAdd: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferRemove: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12226,28 +15938,9 @@ func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { 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 != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) } - m.CardId = 0 + m.SellOfferId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12257,7 +15950,7 @@ func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= uint64(b&0x7F) << shift + m.SellOfferId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -12283,7 +15976,7 @@ func (m *MsgSetCardAdd) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCardAddResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSellOfferRemoveResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12306,10 +15999,10 @@ func (m *MsgSetCardAddResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCardAddResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSellOfferRemoveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCardAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSellOfferRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12333,7 +16026,7 @@ func (m *MsgSetCardAddResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { +func (m *MsgCardRaritySet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12356,10 +16049,10 @@ func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCardRemove: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardRaritySet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCardRemove: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardRaritySet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12395,6 +16088,25 @@ func (m *MsgSetCardRemove) 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 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: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } @@ -12413,11 +16125,11 @@ func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { break } } - case 3: + case 4: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Rarity", wireType) } - m.CardId = 0 + m.Rarity = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12427,7 +16139,7 @@ func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= uint64(b&0x7F) << shift + m.Rarity |= CardRarity(b&0x7F) << shift if b < 0x80 { break } @@ -12453,7 +16165,7 @@ func (m *MsgSetCardRemove) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCardRemoveResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCardRaritySetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12476,10 +16188,10 @@ func (m *MsgSetCardRemoveResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCardRemoveResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardRaritySetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCardRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardRaritySetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12503,7 +16215,7 @@ func (m *MsgSetCardRemoveResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12526,10 +16238,10 @@ func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetContributorAdd: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilResponseCommit: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetContributorAdd: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilResponseCommit: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12566,9 +16278,9 @@ func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) } - m.SetId = 0 + m.CouncilId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12578,14 +16290,14 @@ func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SetId |= uint64(b&0x7F) << shift + m.CouncilId |= 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 Reponse", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12613,7 +16325,39 @@ func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.User = string(dAtA[iNdEx:postIndex]) + m.Reponse = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + 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 @@ -12636,7 +16380,7 @@ func (m *MsgSetContributorAdd) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetContributorAddResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilResponseCommitResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12659,10 +16403,10 @@ func (m *MsgSetContributorAddResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetContributorAddResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilResponseCommitResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetContributorAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilResponseCommitResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12686,7 +16430,7 @@ func (m *MsgSetContributorAddResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilResponseReveal) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12709,10 +16453,10 @@ func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetContributorRemove: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilResponseReveal: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetContributorRemove: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilResponseReveal: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12749,9 +16493,9 @@ func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) } - m.SetId = 0 + m.CouncilId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12761,14 +16505,33 @@ func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SetId |= uint64(b&0x7F) << shift + m.CouncilId |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Reponse", wireType) + } + m.Reponse = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Reponse |= Response(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12796,7 +16559,7 @@ func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.User = string(dAtA[iNdEx:postIndex]) + m.Secret = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -12819,7 +16582,7 @@ func (m *MsgSetContributorRemove) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetContributorRemoveResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilResponseRevealResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12842,10 +16605,10 @@ func (m *MsgSetContributorRemoveResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetContributorRemoveResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilResponseRevealResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetContributorRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilResponseRevealResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12869,7 +16632,7 @@ func (m *MsgSetContributorRemoveResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilRestart) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12892,10 +16655,10 @@ func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetFinalize: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilRestart: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetFinalize: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilRestart: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12932,9 +16695,9 @@ func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) } - m.SetId = 0 + m.CouncilId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12944,7 +16707,7 @@ func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SetId |= uint64(b&0x7F) << shift + m.CouncilId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -12970,7 +16733,7 @@ func (m *MsgSetFinalize) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetFinalizeResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCouncilRestartResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12993,10 +16756,10 @@ func (m *MsgSetFinalizeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetFinalizeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCouncilRestartResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetFinalizeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCouncilRestartResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -13020,7 +16783,7 @@ func (m *MsgSetFinalizeResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { +func (m *MsgMatchConfirm) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13043,10 +16806,10 @@ func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetArtworkAdd: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchConfirm: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetArtworkAdd: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchConfirm: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13083,9 +16846,9 @@ func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MatchId", wireType) } - m.SetId = 0 + m.MatchId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13095,16 +16858,35 @@ func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SetId |= uint64(b&0x7F) << shift + m.MatchId |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + m.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Outcome |= Outcome(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13114,24 +16896,24 @@ func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen 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{} + 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: @@ -13155,7 +16937,7 @@ func (m *MsgSetArtworkAdd) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetArtworkAddResponse) Unmarshal(dAtA []byte) error { +func (m *MsgMatchConfirmResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13178,10 +16960,10 @@ func (m *MsgSetArtworkAddResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetArtworkAddResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchConfirmResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetArtworkAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchConfirmResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -13205,7 +16987,7 @@ func (m *MsgSetArtworkAddResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetStoryAdd) Unmarshal(dAtA []byte) error { +func (m *MsgProfileCardSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13228,10 +17010,10 @@ func (m *MsgSetStoryAdd) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetStoryAdd: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileCardSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetStoryAdd: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileCardSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13268,28 +17050,9 @@ func (m *MsgSetStoryAdd) Unmarshal(dAtA []byte) error { 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 Story", wireType) + 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 @@ -13299,24 +17062,11 @@ func (m *MsgSetStoryAdd) 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 { - 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:]) @@ -13338,7 +17088,7 @@ func (m *MsgSetStoryAdd) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetStoryAddResponse) Unmarshal(dAtA []byte) error { +func (m *MsgProfileCardSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13361,10 +17111,10 @@ func (m *MsgSetStoryAddResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetStoryAddResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileCardSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetStoryAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileCardSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -13388,7 +17138,7 @@ func (m *MsgSetStoryAddResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBoosterPackBuy) Unmarshal(dAtA []byte) error { +func (m *MsgProfileWebsiteSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13411,10 +17161,10 @@ func (m *MsgBoosterPackBuy) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBoosterPackBuy: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileWebsiteSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBoosterPackBuy: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileWebsiteSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13450,10 +17200,10 @@ func (m *MsgBoosterPackBuy) 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) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Website", wireType) } - m.SetId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13463,11 +17213,24 @@ func (m *MsgBoosterPackBuy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SetId |= 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.Website = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -13489,7 +17252,7 @@ func (m *MsgBoosterPackBuy) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBoosterPackBuyResponse) Unmarshal(dAtA []byte) error { +func (m *MsgProfileWebsiteSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13512,32 +17275,12 @@ func (m *MsgBoosterPackBuyResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBoosterPackBuyResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileWebsiteSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBoosterPackBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileWebsiteSetResponse: 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:]) @@ -13559,7 +17302,7 @@ func (m *MsgBoosterPackBuyResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSellOfferCreate) Unmarshal(dAtA []byte) error { +func (m *MsgProfileBioSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13582,10 +17325,10 @@ func (m *MsgSellOfferCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSellOfferCreate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileBioSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSellOfferCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileBioSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13621,29 +17364,10 @@ func (m *MsgSellOfferCreate) 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 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: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Bio", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13653,24 +17377,23 @@ func (m *MsgSellOfferCreate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Bio = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -13693,7 +17416,7 @@ func (m *MsgSellOfferCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSellOfferCreateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgProfileBioSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13716,10 +17439,10 @@ func (m *MsgSellOfferCreateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSellOfferCreateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileBioSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSellOfferCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileBioSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -13743,7 +17466,7 @@ func (m *MsgSellOfferCreateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSellOfferBuy) Unmarshal(dAtA []byte) error { +func (m *MsgBoosterPackOpen) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13766,10 +17489,10 @@ func (m *MsgSellOfferBuy) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSellOfferBuy: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBoosterPackOpen: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSellOfferBuy: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBoosterPackOpen: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13806,9 +17529,9 @@ func (m *MsgSellOfferBuy) 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 BoosterPackId", wireType) } - m.SellOfferId = 0 + m.BoosterPackId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13818,7 +17541,7 @@ func (m *MsgSellOfferBuy) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SellOfferId |= uint64(b&0x7F) << shift + m.BoosterPackId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -13844,7 +17567,7 @@ func (m *MsgSellOfferBuy) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSellOfferBuyResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBoosterPackOpenResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13867,12 +17590,88 @@ func (m *MsgSellOfferBuyResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSellOfferBuyResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBoosterPackOpenResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSellOfferBuyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBoosterPackOpenResponse: 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:]) @@ -13894,7 +17693,7 @@ func (m *MsgSellOfferBuyResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSellOfferRemove) Unmarshal(dAtA []byte) error { +func (m *MsgBoosterPackTransfer) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13917,10 +17716,10 @@ func (m *MsgSellOfferRemove) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSellOfferRemove: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBoosterPackTransfer: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSellOfferRemove: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBoosterPackTransfer: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13957,9 +17756,9 @@ func (m *MsgSellOfferRemove) 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 BoosterPackId", wireType) } - m.SellOfferId = 0 + m.BoosterPackId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13969,11 +17768,43 @@ func (m *MsgSellOfferRemove) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SellOfferId |= uint64(b&0x7F) << shift + 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) + } + 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.Receiver = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -13995,7 +17826,7 @@ func (m *MsgSellOfferRemove) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSellOfferRemoveResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBoosterPackTransferResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14018,10 +17849,10 @@ func (m *MsgSellOfferRemoveResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSellOfferRemoveResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBoosterPackTransferResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSellOfferRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBoosterPackTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -14045,7 +17876,7 @@ func (m *MsgSellOfferRemoveResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardRaritySet) Unmarshal(dAtA []byte) error { +func (m *MsgSetStoryWriterSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14068,10 +17899,10 @@ func (m *MsgCardRaritySet) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardRaritySet: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetStoryWriterSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardRaritySet: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetStoryWriterSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14107,25 +17938,6 @@ func (m *MsgCardRaritySet) 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 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: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } @@ -14144,11 +17956,11 @@ func (m *MsgCardRaritySet) Unmarshal(dAtA []byte) error { break } } - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Rarity", wireType) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StoryWriter", wireType) } - m.Rarity = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14158,11 +17970,24 @@ func (m *MsgCardRaritySet) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Rarity |= CardRarity(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.StoryWriter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -14184,7 +18009,7 @@ func (m *MsgCardRaritySet) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardRaritySetResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetStoryWriterSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14207,10 +18032,10 @@ func (m *MsgCardRaritySetResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardRaritySetResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetStoryWriterSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardRaritySetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetStoryWriterSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -14234,7 +18059,7 @@ func (m *MsgCardRaritySetResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { +func (m *MsgSetArtistSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14257,10 +18082,10 @@ func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilResponseCommit: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetArtistSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilResponseCommit: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetArtistSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14297,9 +18122,9 @@ func (m *MsgCouncilResponseCommit) 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 SetId", wireType) } - m.CouncilId = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14309,46 +18134,14 @@ func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CouncilId |= 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 Reponse", 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.Reponse = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Suggestion", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14376,7 +18169,7 @@ func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Suggestion = string(dAtA[iNdEx:postIndex]) + m.Artist = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -14399,7 +18192,7 @@ func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilResponseCommitResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetArtistSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14422,10 +18215,10 @@ func (m *MsgCouncilResponseCommitResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilResponseCommitResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetArtistSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilResponseCommitResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetArtistSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -14449,7 +18242,7 @@ func (m *MsgCouncilResponseCommitResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilResponseReveal) Unmarshal(dAtA []byte) error { +func (m *MsgCardVoteMulti) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14472,10 +18265,10 @@ func (m *MsgCouncilResponseReveal) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilResponseReveal: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardVoteMulti: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilResponseReveal: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardVoteMulti: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14511,48 +18304,10 @@ func (m *MsgCouncilResponseReveal) 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 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 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Reponse", wireType) - } - m.Reponse = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Reponse |= Response(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Secret", 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 @@ -14562,23 +18317,25 @@ func (m *MsgCouncilResponseReveal) 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.Secret = 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 @@ -14601,7 +18358,7 @@ func (m *MsgCouncilResponseReveal) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilResponseRevealResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCardVoteMultiResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14620,16 +18377,36 @@ func (m *MsgCouncilResponseRevealResponse) Unmarshal(dAtA []byte) error { if b < 0x80 { break } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilResponseRevealResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilResponseRevealResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCardVoteMultiResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardVoteMultiResponse: 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:]) @@ -14651,7 +18428,7 @@ func (m *MsgCouncilResponseRevealResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilRestart) Unmarshal(dAtA []byte) error { +func (m *MsgMatchOpen) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14674,10 +18451,10 @@ func (m *MsgCouncilRestart) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilRestart: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchOpen: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilRestart: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchOpen: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14713,10 +18490,10 @@ func (m *MsgCouncilRestart) 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 CouncilId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PlayerA", wireType) } - m.CouncilId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14726,11 +18503,208 @@ func (m *MsgCouncilRestart) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CouncilId |= 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.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:]) @@ -14752,7 +18726,7 @@ func (m *MsgCouncilRestart) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCouncilRestartResponse) Unmarshal(dAtA []byte) error { +func (m *MsgMatchOpenResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14775,12 +18749,31 @@ func (m *MsgCouncilRestartResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCouncilRestartResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMatchOpenResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCouncilRestartResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMatchOpenResponse: 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:]) @@ -14802,7 +18795,7 @@ func (m *MsgCouncilRestartResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchConfirm) Unmarshal(dAtA []byte) error { +func (m *MsgSetNameSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14825,10 +18818,10 @@ func (m *MsgMatchConfirm) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchConfirm: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetNameSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchConfirm: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetNameSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14865,28 +18858,9 @@ func (m *MsgMatchConfirm) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: 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 - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - m.Outcome = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14896,16 +18870,16 @@ func (m *MsgMatchConfirm) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Outcome |= Outcome(b&0x7F) << shift + m.SetId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 4: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14915,25 +18889,23 @@ func (m *MsgMatchConfirm) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen 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 - } + m.Name = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -14956,7 +18928,7 @@ func (m *MsgMatchConfirm) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMatchConfirmResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetNameSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14979,10 +18951,10 @@ func (m *MsgMatchConfirmResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMatchConfirmResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetNameSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMatchConfirmResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetNameSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15006,7 +18978,7 @@ func (m *MsgMatchConfirmResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgProfileCardSet) Unmarshal(dAtA []byte) error { +func (m *MsgProfileAliasSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15029,10 +19001,10 @@ func (m *MsgProfileCardSet) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgProfileCardSet: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileAliasSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgProfileCardSet: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileAliasSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15068,10 +19040,10 @@ func (m *MsgProfileCardSet) 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 CardId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Alias", wireType) } - m.CardId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15081,11 +19053,24 @@ func (m *MsgProfileCardSet) 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.Alias = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -15107,7 +19092,7 @@ func (m *MsgProfileCardSet) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgProfileCardSetResponse) Unmarshal(dAtA []byte) error { +func (m *MsgProfileAliasSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15130,10 +19115,10 @@ func (m *MsgProfileCardSetResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgProfileCardSetResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgProfileAliasSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgProfileCardSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgProfileAliasSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15157,7 +19142,7 @@ func (m *MsgProfileCardSetResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgProfileWebsiteSet) Unmarshal(dAtA []byte) error { +func (m *MsgEarlyAccessInvite) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15180,10 +19165,10 @@ func (m *MsgProfileWebsiteSet) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgProfileWebsiteSet: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEarlyAccessInvite: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgProfileWebsiteSet: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEarlyAccessInvite: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15220,7 +19205,7 @@ func (m *MsgProfileWebsiteSet) 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 User", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15248,7 +19233,7 @@ func (m *MsgProfileWebsiteSet) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Website = string(dAtA[iNdEx:postIndex]) + m.User = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -15271,7 +19256,7 @@ func (m *MsgProfileWebsiteSet) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgProfileWebsiteSetResponse) Unmarshal(dAtA []byte) error { +func (m *MsgEarlyAccessInviteResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15294,10 +19279,10 @@ func (m *MsgProfileWebsiteSetResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgProfileWebsiteSetResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEarlyAccessInviteResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgProfileWebsiteSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEarlyAccessInviteResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15321,7 +19306,7 @@ func (m *MsgProfileWebsiteSetResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgProfileBioSet) Unmarshal(dAtA []byte) error { +func (m *MsgZealyConnect) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15344,10 +19329,10 @@ func (m *MsgProfileBioSet) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgProfileBioSet: wiretype end group for non-group") + return fmt.Errorf("proto: MsgZealyConnect: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgProfileBioSet: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgZealyConnect: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15384,7 +19369,7 @@ func (m *MsgProfileBioSet) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Bio", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ZealyId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15412,7 +19397,7 @@ func (m *MsgProfileBioSet) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Bio = string(dAtA[iNdEx:postIndex]) + m.ZealyId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -15435,7 +19420,7 @@ func (m *MsgProfileBioSet) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgProfileBioSetResponse) Unmarshal(dAtA []byte) error { +func (m *MsgZealyConnectResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15458,10 +19443,10 @@ func (m *MsgProfileBioSetResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgProfileBioSetResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgZealyConnectResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgProfileBioSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgZealyConnectResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15485,7 +19470,7 @@ func (m *MsgProfileBioSetResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBoosterPackOpen) Unmarshal(dAtA []byte) error { +func (m *MsgEncounterCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15508,10 +19493,10 @@ func (m *MsgBoosterPackOpen) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBoosterPackOpen: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEncounterCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBoosterPackOpen: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEncounterCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15547,10 +19532,10 @@ func (m *MsgBoosterPackOpen) 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) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) } - m.BoosterPackId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15560,62 +19545,25 @@ func (m *MsgBoosterPackOpen) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.BoosterPackId |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgBoosterPackOpenResponse) 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 + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + if postIndex > 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: MsgBoosterPackOpenResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBoosterPackOpenResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: if wireType == 0 { var v uint64 for shift := uint(0); ; shift += 7 { @@ -15632,7 +19580,7 @@ func (m *MsgBoosterPackOpenResponse) Unmarshal(dAtA []byte) error { break } } - m.CardIds = append(m.CardIds, v) + m.Drawlist = append(m.Drawlist, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -15667,8 +19615,8 @@ func (m *MsgBoosterPackOpenResponse) Unmarshal(dAtA []byte) error { } } elementCount = count - if elementCount != 0 && len(m.CardIds) == 0 { - m.CardIds = make([]uint64, 0, elementCount) + if elementCount != 0 && len(m.Drawlist) == 0 { + m.Drawlist = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -15686,66 +19634,16 @@ func (m *MsgBoosterPackOpenResponse) Unmarshal(dAtA []byte) error { break } } - m.CardIds = append(m.CardIds, v) + m.Drawlist = append(m.Drawlist, v) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field CardIds", wireType) - } - 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 *MsgBoosterPackTransfer) 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 + return fmt.Errorf("proto: wrong wireType = %d for field Drawlist", wireType) } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgBoosterPackTransfer: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBoosterPackTransfer: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Parameters", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15755,48 +19653,124 @@ func (m *MsgBoosterPackTransfer) 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 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Creator = string(dAtA[iNdEx:postIndex]) + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Parameters == nil { + m.Parameters = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := 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) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + 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 ErrInvalidLengthTx + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthTx + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthTx + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthTx + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Parameters[mapkey] = mapvalue 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: + 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 Image", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15806,23 +19780,25 @@ func (m *MsgBoosterPackTransfer) 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.Receiver = string(dAtA[iNdEx:postIndex]) + m.Image = append(m.Image[:0], dAtA[iNdEx:postIndex]...) + if m.Image == nil { + m.Image = []byte{} + } iNdEx = postIndex default: iNdEx = preIndex @@ -15845,7 +19821,7 @@ func (m *MsgBoosterPackTransfer) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBoosterPackTransferResponse) Unmarshal(dAtA []byte) error { +func (m *MsgEncounterCreateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15868,10 +19844,10 @@ func (m *MsgBoosterPackTransferResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBoosterPackTransferResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEncounterCreateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBoosterPackTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEncounterCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15895,7 +19871,7 @@ func (m *MsgBoosterPackTransferResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetStoryWriterSet) Unmarshal(dAtA []byte) error { +func (m *MsgEncounterDo) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15918,10 +19894,10 @@ func (m *MsgSetStoryWriterSet) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetStoryWriterSet: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEncounterDo: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetStoryWriterSet: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEncounterDo: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15958,9 +19934,9 @@ func (m *MsgSetStoryWriterSet) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EncounterId", wireType) } - m.SetId = 0 + m.EncounterId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15970,14 +19946,14 @@ func (m *MsgSetStoryWriterSet) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SetId |= uint64(b&0x7F) << shift + m.EncounterId |= 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 User", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16005,7 +19981,7 @@ func (m *MsgSetStoryWriterSet) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.StoryWriter = string(dAtA[iNdEx:postIndex]) + m.User = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -16028,7 +20004,7 @@ func (m *MsgSetStoryWriterSet) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetStoryWriterSetResponse) Unmarshal(dAtA []byte) error { +func (m *MsgEncounterDoResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16051,10 +20027,10 @@ func (m *MsgSetStoryWriterSetResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetStoryWriterSetResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEncounterDoResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetStoryWriterSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEncounterDoResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16078,7 +20054,7 @@ func (m *MsgSetStoryWriterSetResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetArtistSet) Unmarshal(dAtA []byte) error { +func (m *MsgEncounterClose) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16101,10 +20077,10 @@ func (m *MsgSetArtistSet) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetArtistSet: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEncounterClose: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetArtistSet: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEncounterClose: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16141,9 +20117,9 @@ func (m *MsgSetArtistSet) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EncounterId", wireType) } - m.SetId = 0 + m.EncounterId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -16153,146 +20129,14 @@ func (m *MsgSetArtistSet) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SetId |= uint64(b&0x7F) << shift + m.EncounterId |= 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:]) - 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 *MsgSetArtistSetResponse) 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: MsgSetArtistSetResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetArtistSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCardVoteMulti) 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: MsgCardVoteMulti: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardVoteMulti: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16320,13 +20164,13 @@ func (m *MsgCardVoteMulti) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Creator = string(dAtA[iNdEx:postIndex]) + m.User = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Votes", wireType) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Won", wireType) } - var msglen int + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -16336,26 +20180,12 @@ func (m *MsgCardVoteMulti) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + v |= 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.Votes = append(m.Votes, &SingleVote{}) - if err := m.Votes[len(m.Votes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex + m.Won = bool(v != 0) default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16377,7 +20207,7 @@ func (m *MsgCardVoteMulti) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCardVoteMultiResponse) Unmarshal(dAtA []byte) error { +func (m *MsgEncounterCloseResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16400,32 +20230,12 @@ func (m *MsgCardVoteMultiResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCardVoteMultiResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEncounterCloseResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCardVoteMultiResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEncounterCloseResponse: 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:]) From 45f5ccf09a772d9bdbbbcc9a2c83af3b80c2a5a4 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 01:54:15 +0100 Subject: [PATCH 20/99] feat(#242): Added generic type keeper --- api/cardchain/cardchain/num.pulsar.go | 552 ++++++++++++++++++ proto/cardchain/cardchain/num.proto | 6 + types/denom.go | 15 + .../generic_type_keeper.go | 138 +++++ .../keyworded_generic_type_keeper.go | 61 ++ x/cardchain/types/num.pb.go | 298 ++++++++++ 6 files changed, 1070 insertions(+) create mode 100644 api/cardchain/cardchain/num.pulsar.go create mode 100644 proto/cardchain/cardchain/num.proto create mode 100644 types/denom.go create mode 100644 types/generic_type_keeper/generic_type_keeper.go create mode 100644 types/generic_type_keeper/keyworded_generic_type_keeper.go create mode 100644 x/cardchain/types/num.pb.go diff --git a/api/cardchain/cardchain/num.pulsar.go b/api/cardchain/cardchain/num.pulsar.go new file mode 100644 index 00000000..7d2dce27 --- /dev/null +++ b/api/cardchain/cardchain/num.pulsar.go @@ -0,0 +1,552 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_Num protoreflect.MessageDescriptor + fd_Num_num protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_num_proto_init() + md_Num = File_cardchain_cardchain_num_proto.Messages().ByName("Num") + fd_Num_num = md_Num.Fields().ByName("num") +} + +var _ protoreflect.Message = (*fastReflection_Num)(nil) + +type fastReflection_Num Num + +func (x *Num) ProtoReflect() protoreflect.Message { + return (*fastReflection_Num)(x) +} + +func (x *Num) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_num_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Num_messageType fastReflection_Num_messageType +var _ protoreflect.MessageType = fastReflection_Num_messageType{} + +type fastReflection_Num_messageType struct{} + +func (x fastReflection_Num_messageType) Zero() protoreflect.Message { + return (*fastReflection_Num)(nil) +} +func (x fastReflection_Num_messageType) New() protoreflect.Message { + return new(fastReflection_Num) +} +func (x fastReflection_Num_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Num +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Num) Descriptor() protoreflect.MessageDescriptor { + return md_Num +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Num) Type() protoreflect.MessageType { + return _fastReflection_Num_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Num) New() protoreflect.Message { + return new(fastReflection_Num) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Num) Interface() protoreflect.ProtoMessage { + return (*Num)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Num) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Num != uint64(0) { + value := protoreflect.ValueOfUint64(x.Num) + if !f(fd_Num_num, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Num) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.Num.num": + return x.Num != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Num")) + } + panic(fmt.Errorf("message cardchain.cardchain.Num does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Num) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.Num.num": + x.Num = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Num")) + } + panic(fmt.Errorf("message cardchain.cardchain.Num does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Num) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.Num.num": + value := x.Num + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Num")) + } + panic(fmt.Errorf("message cardchain.cardchain.Num does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Num) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.Num.num": + x.Num = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Num")) + } + panic(fmt.Errorf("message cardchain.cardchain.Num does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Num) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Num.num": + panic(fmt.Errorf("field num of message cardchain.cardchain.Num is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Num")) + } + panic(fmt.Errorf("message cardchain.cardchain.Num does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Num) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Num.num": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Num")) + } + panic(fmt.Errorf("message cardchain.cardchain.Num does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Num) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.Num", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Num) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Num) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Num) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Num) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Num) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Num != 0 { + n += 1 + runtime.Sov(uint64(x.Num)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Num) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Num != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Num)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Num) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Num: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Num: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Num", wireType) + } + x.Num = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Num |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/num.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Num struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Num uint64 `protobuf:"varint,1,opt,name=num,proto3" json:"num,omitempty"` +} + +func (x *Num) Reset() { + *x = Num{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_num_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Num) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Num) ProtoMessage() {} + +// Deprecated: Use Num.ProtoReflect.Descriptor instead. +func (*Num) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_num_proto_rawDescGZIP(), []int{0} +} + +func (x *Num) GetNum() uint64 { + if x != nil { + return x.Num + } + return 0 +} + +var File_cardchain_cardchain_num_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_num_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6e, 0x75, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x22, 0x17, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x6e, + 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x42, 0xd0, 0x01, + 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x08, 0x4e, 0x75, 0x6d, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_num_proto_rawDescOnce sync.Once + file_cardchain_cardchain_num_proto_rawDescData = file_cardchain_cardchain_num_proto_rawDesc +) + +func file_cardchain_cardchain_num_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_num_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_num_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_num_proto_rawDescData) + }) + return file_cardchain_cardchain_num_proto_rawDescData +} + +var file_cardchain_cardchain_num_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_num_proto_goTypes = []interface{}{ + (*Num)(nil), // 0: cardchain.cardchain.Num +} +var file_cardchain_cardchain_num_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_num_proto_init() } +func file_cardchain_cardchain_num_proto_init() { + if File_cardchain_cardchain_num_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_num_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Num); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_num_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_num_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_num_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_num_proto_msgTypes, + }.Build() + File_cardchain_cardchain_num_proto = out.File + file_cardchain_cardchain_num_proto_rawDesc = nil + file_cardchain_cardchain_num_proto_goTypes = nil + file_cardchain_cardchain_num_proto_depIdxs = nil +} diff --git a/proto/cardchain/cardchain/num.proto b/proto/cardchain/cardchain/num.proto new file mode 100644 index 00000000..7febf57f --- /dev/null +++ b/proto/cardchain/cardchain/num.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package cardchain.cardchain; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message Num { uint64 num = 1; } diff --git a/types/denom.go b/types/denom.go new file mode 100644 index 00000000..b0b6685a --- /dev/null +++ b/types/denom.go @@ -0,0 +1,15 @@ +package types + +const ( + bpf = "bpf" // 1 (base denom unit) + mbpf = "mbpf" // 10^-3 (milli) + ubpf = "ubpf" // 10^-6 (micro) +) + +/* +func RegisterNativeCoinUnits() { + _ = sdk.RegisterDenom(bpf, sdk.OneDec()) + _ = sdk.RegisterDenom(mbpf, sdk.NewDecWithPrec(1, 3)) + _ = sdk.RegisterDenom(ubpf, sdk.NewDecWithPrec(1, 6)) +} +*/ diff --git a/types/generic_type_keeper/generic_type_keeper.go b/types/generic_type_keeper/generic_type_keeper.go new file mode 100644 index 00000000..e66d36c1 --- /dev/null +++ b/types/generic_type_keeper/generic_type_keeper.go @@ -0,0 +1,138 @@ +package generic_type_keeper + +import ( + "fmt" + + storetypes "cosmossdk.io/store/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/gogoproto/proto" +) + +// ItemIterator is a generic wrapper for sdk.KVStorePrefixIterator that provides unmarshaling of objects +type ItemIterator[T proto.Message] struct { + iter storetypes.Iterator + gtk *GenericTypeKeeper[T] + idx *uint64 +} + +// Valid is a wrapper for sdk.KVStorePrefixIterator.Valid +func (i ItemIterator[T]) Valid() bool { + return i.iter.Valid() +} + +// Next is a wrapper for sdk.KVStorePrefixIterator.Next +func (i ItemIterator[T]) Next() { + i.iter.Next() + *i.idx++ +} + +// Value is a wrapper for sdk.KVStorePrefixIterator.Value but returns object and index +func (i ItemIterator[T]) Value() (uint64, T) { + var gotten T = i.gtk.getEmpty() + i.gtk.cdc.MustUnmarshal(i.iter.Value(), gotten) + + return *i.idx, gotten +} + +// GetEmpty Just returns a empty object of a certain type +func GetEmpty[A any]() *A { + var obj A + return &obj +} + +type GenericTypeKeeper[T proto.Message] struct { + 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 proto.Message](key storetypes.StoreKey, internalKey storetypes.StoreKey, cdc codec.BinaryCodec, getEmpty func() T) GenericTypeKeeper[T] { + gtk := GenericTypeKeeper[T]{ + Key: key, + InternalKey: internalKey, + cdc: cdc, + name: fmt.Sprintf("%T", getEmpty()), + getEmpty: getEmpty, + } + return gtk +} + +// Get Gets an object from store +func (gtk GenericTypeKeeper[T]) Get(ctx sdk.Context, id uint64) T { + store := ctx.KVStore(gtk.Key) + bz := store.Get(sdk.Uint64ToBigEndian(id)) + + gotten := gtk.getEmpty() + gtk.cdc.MustUnmarshal(bz, gotten) + return gotten +} + +// Set Sets an object in store +func (gtk GenericTypeKeeper[T]) Set(ctx sdk.Context, id uint64, new T) { + store := ctx.KVStore(gtk.Key) + store.Set(sdk.Uint64ToBigEndian(id), gtk.cdc.MustMarshal(new)) + num := gtk.GetNum(ctx) + if id == num { + gtk.setNum(ctx, num+1) + } +} + +// GetNum Returns the number of items stored, way more performant than GetNumber +func (gtk GenericTypeKeeper[T]) GetNum(ctx sdk.Context) uint64 { + store := ctx.KVStore(gtk.InternalKey) + bz := store.Get([]byte(gtk.name)) + var num types.Num + gtk.cdc.MustUnmarshal(bz, &num) + return num.Num +} + +// setNum Sets thenumber of items stored +func (gtk GenericTypeKeeper[T]) setNum(ctx sdk.Context, _num uint64) { + store := ctx.KVStore(gtk.InternalKey) + var num = types.Num{Num: _num} + store.Set([]byte(gtk.name), gtk.cdc.MustMarshal(&num)) +} + +// GetIterator Returns an iterator for all objects +func (gtk GenericTypeKeeper[T]) GetIterator(ctx sdk.Context) storetypes.Iterator { + store := ctx.KVStore(gtk.Key) + return storetypes.KVStorePrefixIterator(store, nil) +} + +// GetAll Gets all objs from store -- use GetItemIterator instead +func (gtk GenericTypeKeeper[T]) GetAll(ctx sdk.Context) (all []T) { + iterator := gtk.GetIterator(ctx) + for ; iterator.Valid(); iterator.Next() { + + var gotten T = gtk.getEmpty() + gtk.cdc.MustUnmarshal(iterator.Value(), gotten) + + all = append(all, gotten) + } + return +} + +// GetItemIterator Gets all objs from store +func (gtk GenericTypeKeeper[T]) GetItemIterator(ctx sdk.Context) ItemIterator[T] { + iterator := gtk.GetIterator(ctx) + var num uint64 = 0 + return ItemIterator[T]{ + iter: iterator, + gtk: >k, + idx: &num, + } +} + +// GetNumber Gets the number of all objs in store -- deprecated, don't use +func (gtk GenericTypeKeeper[T]) GetNumber(ctx sdk.Context) (id uint64) { + iterator := gtk.GetIterator(ctx) + for ; iterator.Valid(); iterator.Next() { + id++ + } + return +} diff --git a/types/generic_type_keeper/keyworded_generic_type_keeper.go b/types/generic_type_keeper/keyworded_generic_type_keeper.go new file mode 100644 index 00000000..13f0616c --- /dev/null +++ b/types/generic_type_keeper/keyworded_generic_type_keeper.go @@ -0,0 +1,61 @@ +package generic_type_keeper + +import ( + "slices" + + storetypes "cosmossdk.io/store/types" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/gogoproto/proto" +) + +type KeywordedGenericTypeKeeper[T proto.Message] struct { + GenericTypeKeeper[T] + KeyWords []string +} + +// NewKGTK Returns a new KeywordedGenericTypeKeeper +func NewKGTK[T proto.Message](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, + } + return gtk +} + +// Get Gets an object from store +func (gtk KeywordedGenericTypeKeeper[T]) Get(ctx sdk.Context, keyword string) T { + if !slices.Contains(gtk.KeyWords, keyword) { + panic("Unknown keyword: " + keyword) + } + + store := ctx.KVStore(gtk.Key) + bz := store.Get([]byte(keyword)) + + gotten := gtk.getEmpty() + gtk.cdc.MustUnmarshal(bz, gotten) + return gotten +} + +// Set Sets an object in store +func (gtk KeywordedGenericTypeKeeper[T]) Set(ctx sdk.Context, keyword string, new T) { + if !slices.Contains(gtk.KeyWords, keyword) { + panic("Unknown keyword: " + keyword) + } + + store := ctx.KVStore(gtk.Key) + store.Set([]byte(keyword), gtk.cdc.MustMarshal(new)) +} + +// GetAll Gets all objs from store +func (gtk KeywordedGenericTypeKeeper[T]) GetAll(ctx sdk.Context) (all []T) { + for _, keyWord := range gtk.KeyWords { + all = append(all, gtk.Get(ctx, keyWord)) + } + return +} + +// GetNumber Gets the number of all objs in store +func (gtk KeywordedGenericTypeKeeper[T]) GetNumber(ctx sdk.Context) (id uint64) { + return uint64(len(gtk.KeyWords)) +} diff --git a/x/cardchain/types/num.pb.go b/x/cardchain/types/num.pb.go new file mode 100644 index 00000000..8fdf4d8b --- /dev/null +++ b/x/cardchain/types/num.pb.go @@ -0,0 +1,298 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/num.proto + +package types + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/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 Num struct { + Num uint64 `protobuf:"varint,1,opt,name=num,proto3" json:"num,omitempty"` +} + +func (m *Num) Reset() { *m = Num{} } +func (m *Num) String() string { return proto.CompactTextString(m) } +func (*Num) ProtoMessage() {} +func (*Num) Descriptor() ([]byte, []int) { + return fileDescriptor_be8334ccfa5e94e5, []int{0} +} +func (m *Num) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Num) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Num.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 *Num) XXX_Merge(src proto.Message) { + xxx_messageInfo_Num.Merge(m, src) +} +func (m *Num) XXX_Size() int { + return m.Size() +} +func (m *Num) XXX_DiscardUnknown() { + xxx_messageInfo_Num.DiscardUnknown(m) +} + +var xxx_messageInfo_Num proto.InternalMessageInfo + +func (m *Num) GetNum() uint64 { + if m != nil { + return m.Num + } + return 0 +} + +func init() { + proto.RegisterType((*Num)(nil), "cardchain.cardchain.Num") +} + +func init() { proto.RegisterFile("cardchain/cardchain/num.proto", fileDescriptor_be8334ccfa5e94e5) } + +var fileDescriptor_be8334ccfa5e94e5 = []byte{ + // 149 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4d, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xf2, 0x4a, 0x73, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, + 0xf2, 0x85, 0x84, 0xe1, 0x82, 0x7a, 0x70, 0x96, 0x92, 0x38, 0x17, 0xb3, 0x5f, 0x69, 0xae, 0x90, + 0x00, 0x17, 0x73, 0x5e, 0x69, 0xae, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x4b, 0x10, 0x88, 0xe9, 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, 0x2e, 0xa9, 0xc9, 0xa9, 0x79, 0x25, 0x45, 0x89, 0x39, + 0xce, 0x89, 0x45, 0x29, 0xee, 0x89, 0xb9, 0xa9, 0x48, 0x36, 0x57, 0x20, 0xb1, 0x4b, 0x2a, 0x0b, + 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x0e, 0x31, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x8f, 0x30, 0x72, + 0x0e, 0xa9, 0x00, 0x00, 0x00, +} + +func (m *Num) 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 *Num) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Num) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Num != 0 { + i = encodeVarintNum(dAtA, i, uint64(m.Num)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintNum(dAtA []byte, offset int, v uint64) int { + offset -= sovNum(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Num) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Num != 0 { + n += 1 + sovNum(uint64(m.Num)) + } + return n +} + +func sovNum(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozNum(x uint64) (n int) { + return sovNum(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Num) 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 ErrIntOverflowNum + } + 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: Num: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Num: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Num", wireType) + } + m.Num = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNum + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Num |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipNum(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthNum + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipNum(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, ErrIntOverflowNum + } + 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, ErrIntOverflowNum + } + 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, ErrIntOverflowNum + } + 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, ErrInvalidLengthNum + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupNum + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthNum + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthNum = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowNum = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupNum = fmt.Errorf("proto: unexpected end of group") +) From a19e9be315a70b0b3287ac5e8d809ca2c5ec922b Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 03:07:25 +0100 Subject: [PATCH 21/99] feat(#242): Added keepers --- api/cardchain/cardchain/encounter.pulsar.go | 1901 +++++++ api/cardchain/cardchain/genesis.pulsar.go | 276 +- api/cardchain/cardchain/image.pulsar.go | 571 ++ api/cardchain/cardchain/num.pulsar.go | 7 +- api/cardchain/cardchain/params.pulsar.go | 1699 +++++- .../cardchain/product_details.pulsar.go | 774 +++ api/cardchain/cardchain/query.pulsar.go | 2198 +++++++- api/cardchain/cardchain/query_grpc.pb.go | 78 +- .../cardchain/running_average.pulsar.go | 687 +++ api/cardchain/cardchain/sell_offer.pulsar.go | 914 ++++ api/cardchain/cardchain/server.pulsar.go | 686 +++ api/cardchain/cardchain/set.pulsar.go | 3424 ++++++++++++ api/cardchain/cardchain/tx.pulsar.go | 4740 ++++++++++++++--- api/cardchain/cardchain/tx_grpc.pb.go | 111 + docs/static/openapi.yml | 2 +- proto/cardchain/cardchain/encounter.proto | 21 + proto/cardchain/cardchain/genesis.proto | 11 +- .../cardchain/{num.proto => image.proto} | 2 +- proto/cardchain/cardchain/params.proto | 30 +- .../cardchain/cardchain/product_details.proto | 11 + proto/cardchain/cardchain/query.proto | 43 +- .../cardchain/cardchain/running_average.proto | 6 + proto/cardchain/cardchain/sell_offer.proto | 22 + proto/cardchain/cardchain/server.proto | 10 + proto/cardchain/cardchain/set.proto | 40 + proto/cardchain/cardchain/tx.proto | 370 +- .../generic_type_keeper.go | 106 +- .../keyworded_generic_type_keeper.go | 37 +- x/cardchain/keeper/incentives.go | 49 + x/cardchain/keeper/incentives_test.go | 27 + x/cardchain/keeper/keeper.go | 23 + .../keeper/msg_server_product_details.go | 75 + .../keeper/msg_server_product_details_test.go | 104 + x/cardchain/keeper/pools.go | 35 + x/cardchain/keeper/pools_test.go | 36 + x/cardchain/keeper/product_details.go | 111 + x/cardchain/keeper/product_details_test.go | 59 + x/cardchain/keeper/query_product_details.go | 53 + .../keeper/query_product_details_test.go | 115 + x/cardchain/module/autocli.go | 29 + x/cardchain/module/genesis.go | 9 + x/cardchain/module/genesis_test.go | 11 + x/cardchain/module/simulation.go | 80 + x/cardchain/simulation/product_details.go | 131 + x/cardchain/types/codec.go | 5 + x/cardchain/types/encounter.pb.go | 996 ++++ x/cardchain/types/genesis.go | 17 +- x/cardchain/types/genesis.pb.go | 125 +- x/cardchain/types/genesis_test.go | 37 +- x/cardchain/types/image.pb.go | 316 ++ x/cardchain/types/keys.go | 5 + x/cardchain/types/messages_product_details.go | 61 + .../types/messages_product_details_test.go | 102 + x/cardchain/types/num.pb.go | 3 +- x/cardchain/types/params.pb.go | 1112 +++- x/cardchain/types/product_details.pb.go | 457 ++ x/cardchain/types/query.pb.go | 881 ++- x/cardchain/types/query.pb.gw.go | 184 + x/cardchain/types/running_average.pb.go | 376 ++ x/cardchain/types/sell_offer.pb.go | 532 ++ x/cardchain/types/server.pb.go | 386 ++ x/cardchain/types/set.pb.go | 1642 ++++++ x/cardchain/types/tx.pb.go | 1647 +++++- 63 files changed, 27227 insertions(+), 1381 deletions(-) create mode 100644 api/cardchain/cardchain/encounter.pulsar.go create mode 100644 api/cardchain/cardchain/image.pulsar.go create mode 100644 api/cardchain/cardchain/product_details.pulsar.go create mode 100644 api/cardchain/cardchain/running_average.pulsar.go create mode 100644 api/cardchain/cardchain/sell_offer.pulsar.go create mode 100644 api/cardchain/cardchain/server.pulsar.go create mode 100644 api/cardchain/cardchain/set.pulsar.go create mode 100644 proto/cardchain/cardchain/encounter.proto rename proto/cardchain/cardchain/{num.proto => image.proto} (78%) create mode 100644 proto/cardchain/cardchain/product_details.proto create mode 100644 proto/cardchain/cardchain/running_average.proto create mode 100644 proto/cardchain/cardchain/sell_offer.proto create mode 100644 proto/cardchain/cardchain/server.proto create mode 100644 proto/cardchain/cardchain/set.proto create mode 100644 x/cardchain/keeper/incentives.go create mode 100644 x/cardchain/keeper/incentives_test.go create mode 100644 x/cardchain/keeper/msg_server_product_details.go create mode 100644 x/cardchain/keeper/msg_server_product_details_test.go create mode 100644 x/cardchain/keeper/pools.go create mode 100644 x/cardchain/keeper/pools_test.go create mode 100644 x/cardchain/keeper/product_details.go create mode 100644 x/cardchain/keeper/product_details_test.go create mode 100644 x/cardchain/keeper/query_product_details.go create mode 100644 x/cardchain/keeper/query_product_details_test.go create mode 100644 x/cardchain/simulation/product_details.go create mode 100644 x/cardchain/types/encounter.pb.go create mode 100644 x/cardchain/types/image.pb.go create mode 100644 x/cardchain/types/messages_product_details.go create mode 100644 x/cardchain/types/messages_product_details_test.go create mode 100644 x/cardchain/types/product_details.pb.go create mode 100644 x/cardchain/types/running_average.pb.go create mode 100644 x/cardchain/types/sell_offer.pb.go create mode 100644 x/cardchain/types/server.pb.go create mode 100644 x/cardchain/types/set.pb.go diff --git a/api/cardchain/cardchain/encounter.pulsar.go b/api/cardchain/cardchain/encounter.pulsar.go new file mode 100644 index 00000000..f8002c77 --- /dev/null +++ b/api/cardchain/cardchain/encounter.pulsar.go @@ -0,0 +1,1901 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" +) + +var _ protoreflect.List = (*_Encounter_2_list)(nil) + +type _Encounter_2_list struct { + list *[]uint64 +} + +func (x *_Encounter_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Encounter_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_Encounter_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_Encounter_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_Encounter_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Encounter at list field Drawlist as it is not of Message kind")) +} + +func (x *_Encounter_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_Encounter_2_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_Encounter_2_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.Map = (*_Encounter_5_map)(nil) + +type _Encounter_5_map struct { + m *map[string]string +} + +func (x *_Encounter_5_map) Len() int { + if x.m == nil { + return 0 + } + return len(*x.m) +} + +func (x *_Encounter_5_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { + if x.m == nil { + return + } + for k, v := range *x.m { + mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) + mapValue := protoreflect.ValueOfString(v) + if !f(mapKey, mapValue) { + break + } + } +} + +func (x *_Encounter_5_map) Has(key protoreflect.MapKey) bool { + if x.m == nil { + return false + } + keyUnwrapped := key.String() + concreteValue := keyUnwrapped + _, ok := (*x.m)[concreteValue] + return ok +} + +func (x *_Encounter_5_map) Clear(key protoreflect.MapKey) { + if x.m == nil { + return + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + delete(*x.m, concreteKey) +} + +func (x *_Encounter_5_map) Get(key protoreflect.MapKey) protoreflect.Value { + if x.m == nil { + return protoreflect.Value{} + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + v, ok := (*x.m)[concreteKey] + if !ok { + return protoreflect.Value{} + } + return protoreflect.ValueOfString(v) +} + +func (x *_Encounter_5_map) Set(key protoreflect.MapKey, value protoreflect.Value) { + if !key.IsValid() || !value.IsValid() { + panic("invalid key or value provided") + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.m)[concreteKey] = concreteValue +} + +func (x *_Encounter_5_map) Mutable(key protoreflect.MapKey) protoreflect.Value { + panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message") +} + +func (x *_Encounter_5_map) NewValue() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Encounter_5_map) IsValid() bool { + return x.m != nil +} + +var ( + md_Encounter protoreflect.MessageDescriptor + fd_Encounter_id protoreflect.FieldDescriptor + fd_Encounter_drawlist protoreflect.FieldDescriptor + fd_Encounter_proven protoreflect.FieldDescriptor + fd_Encounter_owner protoreflect.FieldDescriptor + fd_Encounter_parameters protoreflect.FieldDescriptor + fd_Encounter_imageId protoreflect.FieldDescriptor + fd_Encounter_name protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_encounter_proto_init() + md_Encounter = File_cardchain_cardchain_encounter_proto.Messages().ByName("Encounter") + fd_Encounter_id = md_Encounter.Fields().ByName("id") + fd_Encounter_drawlist = md_Encounter.Fields().ByName("drawlist") + fd_Encounter_proven = md_Encounter.Fields().ByName("proven") + fd_Encounter_owner = md_Encounter.Fields().ByName("owner") + fd_Encounter_parameters = md_Encounter.Fields().ByName("parameters") + fd_Encounter_imageId = md_Encounter.Fields().ByName("imageId") + fd_Encounter_name = md_Encounter.Fields().ByName("name") +} + +var _ protoreflect.Message = (*fastReflection_Encounter)(nil) + +type fastReflection_Encounter Encounter + +func (x *Encounter) ProtoReflect() protoreflect.Message { + return (*fastReflection_Encounter)(x) +} + +func (x *Encounter) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_encounter_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Encounter_messageType fastReflection_Encounter_messageType +var _ protoreflect.MessageType = fastReflection_Encounter_messageType{} + +type fastReflection_Encounter_messageType struct{} + +func (x fastReflection_Encounter_messageType) Zero() protoreflect.Message { + return (*fastReflection_Encounter)(nil) +} +func (x fastReflection_Encounter_messageType) New() protoreflect.Message { + return new(fastReflection_Encounter) +} +func (x fastReflection_Encounter_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Encounter +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Encounter) Descriptor() protoreflect.MessageDescriptor { + return md_Encounter +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Encounter) Type() protoreflect.MessageType { + return _fastReflection_Encounter_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Encounter) New() protoreflect.Message { + return new(fastReflection_Encounter) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Encounter) Interface() protoreflect.ProtoMessage { + return (*Encounter)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Encounter) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_Encounter_id, value) { + return + } + } + if len(x.Drawlist) != 0 { + value := protoreflect.ValueOfList(&_Encounter_2_list{list: &x.Drawlist}) + if !f(fd_Encounter_drawlist, value) { + return + } + } + if x.Proven != false { + value := protoreflect.ValueOfBool(x.Proven) + if !f(fd_Encounter_proven, value) { + return + } + } + if x.Owner != "" { + value := protoreflect.ValueOfString(x.Owner) + if !f(fd_Encounter_owner, value) { + return + } + } + if len(x.Parameters) != 0 { + value := protoreflect.ValueOfMap(&_Encounter_5_map{m: &x.Parameters}) + if !f(fd_Encounter_parameters, value) { + return + } + } + if x.ImageId != uint64(0) { + value := protoreflect.ValueOfUint64(x.ImageId) + if !f(fd_Encounter_imageId, value) { + return + } + } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_Encounter_name, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Encounter) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.Encounter.id": + return x.Id != uint64(0) + case "cardchain.cardchain.Encounter.drawlist": + return len(x.Drawlist) != 0 + case "cardchain.cardchain.Encounter.proven": + return x.Proven != false + case "cardchain.cardchain.Encounter.owner": + return x.Owner != "" + case "cardchain.cardchain.Encounter.parameters": + return len(x.Parameters) != 0 + case "cardchain.cardchain.Encounter.imageId": + return x.ImageId != uint64(0) + case "cardchain.cardchain.Encounter.name": + return x.Name != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Encounter")) + } + panic(fmt.Errorf("message cardchain.cardchain.Encounter does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Encounter) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.Encounter.id": + x.Id = uint64(0) + case "cardchain.cardchain.Encounter.drawlist": + x.Drawlist = nil + case "cardchain.cardchain.Encounter.proven": + x.Proven = false + case "cardchain.cardchain.Encounter.owner": + x.Owner = "" + case "cardchain.cardchain.Encounter.parameters": + x.Parameters = nil + case "cardchain.cardchain.Encounter.imageId": + x.ImageId = uint64(0) + case "cardchain.cardchain.Encounter.name": + x.Name = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Encounter")) + } + panic(fmt.Errorf("message cardchain.cardchain.Encounter does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Encounter) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.Encounter.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Encounter.drawlist": + if len(x.Drawlist) == 0 { + return protoreflect.ValueOfList(&_Encounter_2_list{}) + } + listValue := &_Encounter_2_list{list: &x.Drawlist} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.Encounter.proven": + value := x.Proven + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.Encounter.owner": + value := x.Owner + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.Encounter.parameters": + if len(x.Parameters) == 0 { + return protoreflect.ValueOfMap(&_Encounter_5_map{}) + } + mapValue := &_Encounter_5_map{m: &x.Parameters} + return protoreflect.ValueOfMap(mapValue) + case "cardchain.cardchain.Encounter.imageId": + value := x.ImageId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Encounter.name": + value := x.Name + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Encounter")) + } + panic(fmt.Errorf("message cardchain.cardchain.Encounter does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Encounter) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.Encounter.id": + x.Id = value.Uint() + case "cardchain.cardchain.Encounter.drawlist": + lv := value.List() + clv := lv.(*_Encounter_2_list) + x.Drawlist = *clv.list + case "cardchain.cardchain.Encounter.proven": + x.Proven = value.Bool() + case "cardchain.cardchain.Encounter.owner": + x.Owner = value.Interface().(string) + case "cardchain.cardchain.Encounter.parameters": + mv := value.Map() + cmv := mv.(*_Encounter_5_map) + x.Parameters = *cmv.m + case "cardchain.cardchain.Encounter.imageId": + x.ImageId = value.Uint() + case "cardchain.cardchain.Encounter.name": + x.Name = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Encounter")) + } + panic(fmt.Errorf("message cardchain.cardchain.Encounter does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Encounter) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Encounter.drawlist": + if x.Drawlist == nil { + x.Drawlist = []uint64{} + } + value := &_Encounter_2_list{list: &x.Drawlist} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.Encounter.parameters": + if x.Parameters == nil { + x.Parameters = make(map[string]string) + } + value := &_Encounter_5_map{m: &x.Parameters} + return protoreflect.ValueOfMap(value) + case "cardchain.cardchain.Encounter.id": + panic(fmt.Errorf("field id of message cardchain.cardchain.Encounter is not mutable")) + case "cardchain.cardchain.Encounter.proven": + panic(fmt.Errorf("field proven of message cardchain.cardchain.Encounter is not mutable")) + case "cardchain.cardchain.Encounter.owner": + panic(fmt.Errorf("field owner of message cardchain.cardchain.Encounter is not mutable")) + case "cardchain.cardchain.Encounter.imageId": + panic(fmt.Errorf("field imageId of message cardchain.cardchain.Encounter is not mutable")) + case "cardchain.cardchain.Encounter.name": + panic(fmt.Errorf("field name of message cardchain.cardchain.Encounter is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Encounter")) + } + panic(fmt.Errorf("message cardchain.cardchain.Encounter does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Encounter) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Encounter.id": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Encounter.drawlist": + list := []uint64{} + return protoreflect.ValueOfList(&_Encounter_2_list{list: &list}) + case "cardchain.cardchain.Encounter.proven": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.Encounter.owner": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.Encounter.parameters": + m := make(map[string]string) + return protoreflect.ValueOfMap(&_Encounter_5_map{m: &m}) + case "cardchain.cardchain.Encounter.imageId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Encounter.name": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Encounter")) + } + panic(fmt.Errorf("message cardchain.cardchain.Encounter does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Encounter) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.Encounter", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Encounter) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Encounter) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Encounter) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Encounter) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Encounter) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + if len(x.Drawlist) > 0 { + l = 0 + for _, e := range x.Drawlist { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.Proven { + n += 2 + } + l = len(x.Owner) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Parameters) > 0 { + SiZeMaP := func(k string, v string) { + mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + len(v) + runtime.Sov(uint64(len(v))) + n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) + } + if options.Deterministic { + sortme := make([]string, 0, len(x.Parameters)) + for k := range x.Parameters { + sortme = append(sortme, k) + } + sort.Strings(sortme) + for _, k := range sortme { + v := x.Parameters[k] + SiZeMaP(k, v) + } + } else { + for k, v := range x.Parameters { + SiZeMaP(k, v) + } + } + } + if x.ImageId != 0 { + n += 1 + runtime.Sov(uint64(x.ImageId)) + } + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Encounter) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0x3a + } + if x.ImageId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ImageId)) + i-- + dAtA[i] = 0x30 + } + if len(x.Parameters) > 0 { + MaRsHaLmAp := func(k string, v string) (protoiface.MarshalOutput, error) { + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = runtime.EncodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x2a + return protoiface.MarshalOutput{}, nil + } + if options.Deterministic { + keysForParameters := make([]string, 0, len(x.Parameters)) + for k := range x.Parameters { + keysForParameters = append(keysForParameters, string(k)) + } + sort.Slice(keysForParameters, func(i, j int) bool { + return keysForParameters[i] < keysForParameters[j] + }) + for iNdEx := len(keysForParameters) - 1; iNdEx >= 0; iNdEx-- { + v := x.Parameters[string(keysForParameters[iNdEx])] + out, err := MaRsHaLmAp(keysForParameters[iNdEx], v) + if err != nil { + return out, err + } + } + } else { + for k := range x.Parameters { + v := x.Parameters[k] + out, err := MaRsHaLmAp(k, v) + if err != nil { + return out, err + } + } + } + } + if len(x.Owner) > 0 { + i -= len(x.Owner) + copy(dAtA[i:], x.Owner) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Owner))) + i-- + dAtA[i] = 0x22 + } + if x.Proven { + i-- + if x.Proven { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(x.Drawlist) > 0 { + var pksize2 int + for _, num := range x.Drawlist { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.Drawlist { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x12 + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Encounter) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Encounter: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Encounter: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Drawlist = append(x.Drawlist, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.Drawlist) == 0 { + x.Drawlist = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Drawlist = append(x.Drawlist, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Drawlist", wireType) + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Proven", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Proven = bool(v != 0) + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Parameters", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Parameters == nil { + x.Parameters = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postStringIndexmapkey > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postStringIndexmapvalue > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + x.Parameters[mapkey] = mapvalue + iNdEx = postIndex + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ImageId", wireType) + } + x.ImageId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.ImageId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_EncounterWithImage protoreflect.MessageDescriptor + fd_EncounterWithImage_encounter protoreflect.FieldDescriptor + fd_EncounterWithImage_image protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_encounter_proto_init() + md_EncounterWithImage = File_cardchain_cardchain_encounter_proto.Messages().ByName("EncounterWithImage") + fd_EncounterWithImage_encounter = md_EncounterWithImage.Fields().ByName("encounter") + fd_EncounterWithImage_image = md_EncounterWithImage.Fields().ByName("image") +} + +var _ protoreflect.Message = (*fastReflection_EncounterWithImage)(nil) + +type fastReflection_EncounterWithImage EncounterWithImage + +func (x *EncounterWithImage) ProtoReflect() protoreflect.Message { + return (*fastReflection_EncounterWithImage)(x) +} + +func (x *EncounterWithImage) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_encounter_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_EncounterWithImage_messageType fastReflection_EncounterWithImage_messageType +var _ protoreflect.MessageType = fastReflection_EncounterWithImage_messageType{} + +type fastReflection_EncounterWithImage_messageType struct{} + +func (x fastReflection_EncounterWithImage_messageType) Zero() protoreflect.Message { + return (*fastReflection_EncounterWithImage)(nil) +} +func (x fastReflection_EncounterWithImage_messageType) New() protoreflect.Message { + return new(fastReflection_EncounterWithImage) +} +func (x fastReflection_EncounterWithImage_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EncounterWithImage +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_EncounterWithImage) Descriptor() protoreflect.MessageDescriptor { + return md_EncounterWithImage +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_EncounterWithImage) Type() protoreflect.MessageType { + return _fastReflection_EncounterWithImage_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_EncounterWithImage) New() protoreflect.Message { + return new(fastReflection_EncounterWithImage) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_EncounterWithImage) Interface() protoreflect.ProtoMessage { + return (*EncounterWithImage)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_EncounterWithImage) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Encounter != nil { + value := protoreflect.ValueOfMessage(x.Encounter.ProtoReflect()) + if !f(fd_EncounterWithImage_encounter, value) { + return + } + } + if len(x.Image) != 0 { + value := protoreflect.ValueOfBytes(x.Image) + if !f(fd_EncounterWithImage_image, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_EncounterWithImage) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.EncounterWithImage.encounter": + return x.Encounter != nil + case "cardchain.cardchain.EncounterWithImage.image": + return len(x.Image) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EncounterWithImage) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.EncounterWithImage.encounter": + x.Encounter = nil + case "cardchain.cardchain.EncounterWithImage.image": + x.Image = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_EncounterWithImage) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.EncounterWithImage.encounter": + value := x.Encounter + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.EncounterWithImage.image": + value := x.Image + return protoreflect.ValueOfBytes(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EncounterWithImage) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.EncounterWithImage.encounter": + x.Encounter = value.Message().Interface().(*Encounter) + case "cardchain.cardchain.EncounterWithImage.image": + x.Image = value.Bytes() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EncounterWithImage) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.EncounterWithImage.encounter": + if x.Encounter == nil { + x.Encounter = new(Encounter) + } + return protoreflect.ValueOfMessage(x.Encounter.ProtoReflect()) + case "cardchain.cardchain.EncounterWithImage.image": + panic(fmt.Errorf("field image of message cardchain.cardchain.EncounterWithImage is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_EncounterWithImage) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.EncounterWithImage.encounter": + m := new(Encounter) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.EncounterWithImage.image": + return protoreflect.ValueOfBytes(nil) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_EncounterWithImage) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.EncounterWithImage", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_EncounterWithImage) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EncounterWithImage) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_EncounterWithImage) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_EncounterWithImage) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*EncounterWithImage) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Encounter != nil { + l = options.Size(x.Encounter) + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Image) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*EncounterWithImage) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Image) > 0 { + i -= len(x.Image) + copy(dAtA[i:], x.Image) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Image))) + i-- + dAtA[i] = 0x12 + } + if x.Encounter != nil { + encoded, err := options.Marshal(x.Encounter) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*EncounterWithImage) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EncounterWithImage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EncounterWithImage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Encounter", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Encounter == nil { + x.Encounter = &Encounter{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Encounter); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Image = append(x.Image[:0], dAtA[iNdEx:postIndex]...) + if x.Image == nil { + x.Image = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/encounter.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Encounter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Drawlist []uint64 `protobuf:"varint,2,rep,packed,name=drawlist,proto3" json:"drawlist,omitempty"` + Proven bool `protobuf:"varint,3,opt,name=proven,proto3" json:"proven,omitempty"` + Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` + Parameters map[string]string `protobuf:"bytes,5,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ImageId uint64 `protobuf:"varint,6,opt,name=imageId,proto3" json:"imageId,omitempty"` + Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *Encounter) Reset() { + *x = Encounter{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_encounter_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Encounter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Encounter) ProtoMessage() {} + +// Deprecated: Use Encounter.ProtoReflect.Descriptor instead. +func (*Encounter) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_encounter_proto_rawDescGZIP(), []int{0} +} + +func (x *Encounter) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Encounter) GetDrawlist() []uint64 { + if x != nil { + return x.Drawlist + } + return nil +} + +func (x *Encounter) GetProven() bool { + if x != nil { + return x.Proven + } + return false +} + +func (x *Encounter) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +func (x *Encounter) GetParameters() map[string]string { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *Encounter) GetImageId() uint64 { + if x != nil { + return x.ImageId + } + return 0 +} + +func (x *Encounter) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type EncounterWithImage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` + Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` +} + +func (x *EncounterWithImage) Reset() { + *x = EncounterWithImage{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_encounter_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EncounterWithImage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncounterWithImage) ProtoMessage() {} + +// Deprecated: Use EncounterWithImage.ProtoReflect.Descriptor instead. +func (*EncounterWithImage) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_encounter_proto_rawDescGZIP(), []int{1} +} + +func (x *EncounterWithImage) GetEncounter() *Encounter { + if x != nil { + return x.Encounter + } + return nil +} + +func (x *EncounterWithImage) GetImage() []byte { + if x != nil { + return x.Image + } + return nil +} + +var File_cardchain_cardchain_encounter_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_encounter_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xa2, 0x02, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x64, 0x72, 0x61, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, + 0x52, 0x08, 0x64, 0x72, 0x61, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x68, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, + 0xd6, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0e, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, + 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, + 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_encounter_proto_rawDescOnce sync.Once + file_cardchain_cardchain_encounter_proto_rawDescData = file_cardchain_cardchain_encounter_proto_rawDesc +) + +func file_cardchain_cardchain_encounter_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_encounter_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_encounter_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_encounter_proto_rawDescData) + }) + return file_cardchain_cardchain_encounter_proto_rawDescData +} + +var file_cardchain_cardchain_encounter_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_cardchain_cardchain_encounter_proto_goTypes = []interface{}{ + (*Encounter)(nil), // 0: cardchain.cardchain.Encounter + (*EncounterWithImage)(nil), // 1: cardchain.cardchain.EncounterWithImage + nil, // 2: cardchain.cardchain.Encounter.ParametersEntry +} +var file_cardchain_cardchain_encounter_proto_depIdxs = []int32{ + 2, // 0: cardchain.cardchain.Encounter.parameters:type_name -> cardchain.cardchain.Encounter.ParametersEntry + 0, // 1: cardchain.cardchain.EncounterWithImage.encounter:type_name -> cardchain.cardchain.Encounter + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_encounter_proto_init() } +func file_cardchain_cardchain_encounter_proto_init() { + if File_cardchain_cardchain_encounter_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_encounter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Encounter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_encounter_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EncounterWithImage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_encounter_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_encounter_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_encounter_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_encounter_proto_msgTypes, + }.Build() + File_cardchain_cardchain_encounter_proto = out.File + file_cardchain_cardchain_encounter_proto_rawDesc = nil + file_cardchain_cardchain_encounter_proto_goTypes = nil + file_cardchain_cardchain_encounter_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index 95f741db..c48c933d 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -14,15 +14,70 @@ import ( sync "sync" ) +var _ protoreflect.List = (*_GenesisState_2_list)(nil) + +type _GenesisState_2_list struct { + list *[]*ProductDetails +} + +func (x *_GenesisState_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*ProductDetails) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*ProductDetails) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_2_list) AppendMutable() protoreflect.Value { + v := new(ProductDetails) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_2_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_2_list) NewElement() protoreflect.Value { + v := new(ProductDetails) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_2_list) IsValid() bool { + return x.list != nil +} + var ( - md_GenesisState protoreflect.MessageDescriptor - fd_GenesisState_params protoreflect.FieldDescriptor + md_GenesisState protoreflect.MessageDescriptor + fd_GenesisState_params protoreflect.FieldDescriptor + fd_GenesisState_productDetailsList protoreflect.FieldDescriptor + fd_GenesisState_productDetailsCount protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_genesis_proto_init() md_GenesisState = File_cardchain_cardchain_genesis_proto.Messages().ByName("GenesisState") fd_GenesisState_params = md_GenesisState.Fields().ByName("params") + fd_GenesisState_productDetailsList = md_GenesisState.Fields().ByName("productDetailsList") + fd_GenesisState_productDetailsCount = md_GenesisState.Fields().ByName("productDetailsCount") } var _ protoreflect.Message = (*fastReflection_GenesisState)(nil) @@ -96,6 +151,18 @@ func (x *fastReflection_GenesisState) Range(f func(protoreflect.FieldDescriptor, return } } + if len(x.ProductDetailsList) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_2_list{list: &x.ProductDetailsList}) + if !f(fd_GenesisState_productDetailsList, value) { + return + } + } + if x.ProductDetailsCount != uint64(0) { + value := protoreflect.ValueOfUint64(x.ProductDetailsCount) + if !f(fd_GenesisState_productDetailsCount, value) { + return + } + } } // Has reports whether a field is populated. @@ -113,6 +180,10 @@ func (x *fastReflection_GenesisState) Has(fd protoreflect.FieldDescriptor) bool switch fd.FullName() { case "cardchain.cardchain.GenesisState.params": return x.Params != nil + case "cardchain.cardchain.GenesisState.productDetailsList": + return len(x.ProductDetailsList) != 0 + case "cardchain.cardchain.GenesisState.productDetailsCount": + return x.ProductDetailsCount != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -131,6 +202,10 @@ func (x *fastReflection_GenesisState) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { case "cardchain.cardchain.GenesisState.params": x.Params = nil + case "cardchain.cardchain.GenesisState.productDetailsList": + x.ProductDetailsList = nil + case "cardchain.cardchain.GenesisState.productDetailsCount": + x.ProductDetailsCount = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -150,6 +225,15 @@ func (x *fastReflection_GenesisState) Get(descriptor protoreflect.FieldDescripto case "cardchain.cardchain.GenesisState.params": value := x.Params return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.GenesisState.productDetailsList": + if len(x.ProductDetailsList) == 0 { + return protoreflect.ValueOfList(&_GenesisState_2_list{}) + } + listValue := &_GenesisState_2_list{list: &x.ProductDetailsList} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.productDetailsCount": + value := x.ProductDetailsCount + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -172,6 +256,12 @@ func (x *fastReflection_GenesisState) Set(fd protoreflect.FieldDescriptor, value switch fd.FullName() { case "cardchain.cardchain.GenesisState.params": x.Params = value.Message().Interface().(*Params) + case "cardchain.cardchain.GenesisState.productDetailsList": + lv := value.List() + clv := lv.(*_GenesisState_2_list) + x.ProductDetailsList = *clv.list + case "cardchain.cardchain.GenesisState.productDetailsCount": + x.ProductDetailsCount = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -197,6 +287,14 @@ func (x *fastReflection_GenesisState) Mutable(fd protoreflect.FieldDescriptor) p x.Params = new(Params) } return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + case "cardchain.cardchain.GenesisState.productDetailsList": + if x.ProductDetailsList == nil { + x.ProductDetailsList = []*ProductDetails{} + } + value := &_GenesisState_2_list{list: &x.ProductDetailsList} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.productDetailsCount": + panic(fmt.Errorf("field productDetailsCount of message cardchain.cardchain.GenesisState is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -213,6 +311,11 @@ func (x *fastReflection_GenesisState) NewField(fd protoreflect.FieldDescriptor) case "cardchain.cardchain.GenesisState.params": m := new(Params) return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.GenesisState.productDetailsList": + list := []*ProductDetails{} + return protoreflect.ValueOfList(&_GenesisState_2_list{list: &list}) + case "cardchain.cardchain.GenesisState.productDetailsCount": + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -286,6 +389,15 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { l = options.Size(x.Params) n += 1 + l + runtime.Sov(uint64(l)) } + if len(x.ProductDetailsList) > 0 { + for _, e := range x.ProductDetailsList { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.ProductDetailsCount != 0 { + n += 1 + runtime.Sov(uint64(x.ProductDetailsCount)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -315,6 +427,27 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.ProductDetailsCount != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ProductDetailsCount)) + i-- + dAtA[i] = 0x18 + } + if len(x.ProductDetailsList) > 0 { + for iNdEx := len(x.ProductDetailsList) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.ProductDetailsList[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + } if x.Params != nil { encoded, err := options.Marshal(x.Params) if err != nil { @@ -414,6 +547,59 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProductDetailsList", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ProductDetailsList = append(x.ProductDetailsList, &ProductDetails{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ProductDetailsList[len(x.ProductDetailsList)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProductDetailsCount", wireType) + } + x.ProductDetailsCount = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.ProductDetailsCount |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -469,7 +655,9 @@ type GenesisState struct { unknownFields protoimpl.UnknownFields // params defines all the parameters of the module. - Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` + ProductDetailsList []*ProductDetails `protobuf:"bytes,2,rep,name=productDetailsList,proto3" json:"productDetailsList,omitempty"` + ProductDetailsCount uint64 `protobuf:"varint,3,opt,name=productDetailsCount,proto3" json:"productDetailsCount,omitempty"` } func (x *GenesisState) Reset() { @@ -499,6 +687,20 @@ func (x *GenesisState) GetParams() *Params { return nil } +func (x *GenesisState) GetProductDetailsList() []*ProductDetails { + if x != nil { + return x.ProductDetailsList + } + return nil +} + +func (x *GenesisState) GetProductDetailsCount() uint64 { + if x != nil { + return x.ProductDetailsCount + } + return 0 +} + var File_cardchain_cardchain_genesis_proto protoreflect.FileDescriptor var file_cardchain_cardchain_genesis_proto_rawDesc = []byte{ @@ -510,26 +712,37 @@ var file_cardchain_cardchain_genesis_proto_rawDesc = []byte{ 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x42, 0xd4, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, - 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, - 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, - 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, + 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, + 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x59, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0xd4, 0x01, 0x0a, + 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, + 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, + 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -546,16 +759,18 @@ func file_cardchain_cardchain_genesis_proto_rawDescGZIP() []byte { var file_cardchain_cardchain_genesis_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_cardchain_cardchain_genesis_proto_goTypes = []interface{}{ - (*GenesisState)(nil), // 0: cardchain.cardchain.GenesisState - (*Params)(nil), // 1: cardchain.cardchain.Params + (*GenesisState)(nil), // 0: cardchain.cardchain.GenesisState + (*Params)(nil), // 1: cardchain.cardchain.Params + (*ProductDetails)(nil), // 2: cardchain.cardchain.ProductDetails } var file_cardchain_cardchain_genesis_proto_depIdxs = []int32{ 1, // 0: cardchain.cardchain.GenesisState.params:type_name -> cardchain.cardchain.Params - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name + 2, // 1: cardchain.cardchain.GenesisState.productDetailsList:type_name -> cardchain.cardchain.ProductDetails + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name } func init() { file_cardchain_cardchain_genesis_proto_init() } @@ -564,6 +779,7 @@ func file_cardchain_cardchain_genesis_proto_init() { return } file_cardchain_cardchain_params_proto_init() + file_cardchain_cardchain_product_details_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_genesis_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenesisState); i { diff --git a/api/cardchain/cardchain/image.pulsar.go b/api/cardchain/cardchain/image.pulsar.go new file mode 100644 index 00000000..627dece1 --- /dev/null +++ b/api/cardchain/cardchain/image.pulsar.go @@ -0,0 +1,571 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_Image protoreflect.MessageDescriptor + fd_Image_image protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_image_proto_init() + md_Image = File_cardchain_cardchain_image_proto.Messages().ByName("Image") + fd_Image_image = md_Image.Fields().ByName("image") +} + +var _ protoreflect.Message = (*fastReflection_Image)(nil) + +type fastReflection_Image Image + +func (x *Image) ProtoReflect() protoreflect.Message { + return (*fastReflection_Image)(x) +} + +func (x *Image) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_image_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Image_messageType fastReflection_Image_messageType +var _ protoreflect.MessageType = fastReflection_Image_messageType{} + +type fastReflection_Image_messageType struct{} + +func (x fastReflection_Image_messageType) Zero() protoreflect.Message { + return (*fastReflection_Image)(nil) +} +func (x fastReflection_Image_messageType) New() protoreflect.Message { + return new(fastReflection_Image) +} +func (x fastReflection_Image_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Image +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Image) Descriptor() protoreflect.MessageDescriptor { + return md_Image +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Image) Type() protoreflect.MessageType { + return _fastReflection_Image_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Image) New() protoreflect.Message { + return new(fastReflection_Image) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Image) Interface() protoreflect.ProtoMessage { + return (*Image)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Image) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Image) != 0 { + value := protoreflect.ValueOfBytes(x.Image) + if !f(fd_Image_image, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Image) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.Image.image": + return len(x.Image) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Image")) + } + panic(fmt.Errorf("message cardchain.cardchain.Image does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Image) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.Image.image": + x.Image = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Image")) + } + panic(fmt.Errorf("message cardchain.cardchain.Image does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Image) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.Image.image": + value := x.Image + return protoreflect.ValueOfBytes(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Image")) + } + panic(fmt.Errorf("message cardchain.cardchain.Image does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Image) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.Image.image": + x.Image = value.Bytes() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Image")) + } + panic(fmt.Errorf("message cardchain.cardchain.Image does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Image) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Image.image": + panic(fmt.Errorf("field image of message cardchain.cardchain.Image is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Image")) + } + panic(fmt.Errorf("message cardchain.cardchain.Image does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Image) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Image.image": + return protoreflect.ValueOfBytes(nil) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Image")) + } + panic(fmt.Errorf("message cardchain.cardchain.Image does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Image) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.Image", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Image) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Image) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Image) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Image) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Image) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Image) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Image) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Image) > 0 { + i -= len(x.Image) + copy(dAtA[i:], x.Image) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Image))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Image) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Image: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Image: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Image = append(x.Image[:0], dAtA[iNdEx:postIndex]...) + if x.Image == nil { + x.Image = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/image.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Image struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Image []byte `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"` +} + +func (x *Image) Reset() { + *x = Image{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_image_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Image) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Image) ProtoMessage() {} + +// Deprecated: Use Image.ProtoReflect.Descriptor instead. +func (*Image) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_image_proto_rawDescGZIP(), []int{0} +} + +func (x *Image) GetImage() []byte { + if x != nil { + return x.Image + } + return nil +} + +var File_cardchain_cardchain_image_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_image_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x22, 0x1d, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x42, 0x0a, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, + 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, + 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_image_proto_rawDescOnce sync.Once + file_cardchain_cardchain_image_proto_rawDescData = file_cardchain_cardchain_image_proto_rawDesc +) + +func file_cardchain_cardchain_image_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_image_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_image_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_image_proto_rawDescData) + }) + return file_cardchain_cardchain_image_proto_rawDescData +} + +var file_cardchain_cardchain_image_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_image_proto_goTypes = []interface{}{ + (*Image)(nil), // 0: cardchain.cardchain.Image +} +var file_cardchain_cardchain_image_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_image_proto_init() } +func file_cardchain_cardchain_image_proto_init() { + if File_cardchain_cardchain_image_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_image_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Image); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_image_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_image_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_image_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_image_proto_msgTypes, + }.Build() + File_cardchain_cardchain_image_proto = out.File + file_cardchain_cardchain_image_proto_rawDesc = nil + file_cardchain_cardchain_image_proto_goTypes = nil + file_cardchain_cardchain_image_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/num.pulsar.go b/api/cardchain/cardchain/num.pulsar.go index 7d2dce27..d43dae35 100644 --- a/api/cardchain/cardchain/num.pulsar.go +++ b/api/cardchain/cardchain/num.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index 1b2cbd3b..11ddc437 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -3,6 +3,7 @@ package cardchain import ( _ "cosmossdk.io/api/amino" + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" @@ -15,12 +16,60 @@ import ( ) var ( - md_Params protoreflect.MessageDescriptor + md_Params protoreflect.MessageDescriptor + fd_Params_votingRightsExpirationTime protoreflect.FieldDescriptor + fd_Params_setSize protoreflect.FieldDescriptor + fd_Params_setPrice protoreflect.FieldDescriptor + fd_Params_activeSetsAmount protoreflect.FieldDescriptor + fd_Params_setCreationFee protoreflect.FieldDescriptor + fd_Params_collateralDeposit protoreflect.FieldDescriptor + fd_Params_winnerReward protoreflect.FieldDescriptor + fd_Params_hourlyFaucet protoreflect.FieldDescriptor + fd_Params_inflationRate protoreflect.FieldDescriptor + fd_Params_raresPerPack protoreflect.FieldDescriptor + fd_Params_commonsPerPack protoreflect.FieldDescriptor + fd_Params_unCommonsPerPack protoreflect.FieldDescriptor + fd_Params_trialPeriod protoreflect.FieldDescriptor + fd_Params_gameVoteRatio protoreflect.FieldDescriptor + fd_Params_cardAuctionPriceReductionPeriod protoreflect.FieldDescriptor + fd_Params_airDropValue protoreflect.FieldDescriptor + fd_Params_airDropMaxBlockHeight protoreflect.FieldDescriptor + fd_Params_trialVoteReward protoreflect.FieldDescriptor + fd_Params_votePoolFraction protoreflect.FieldDescriptor + fd_Params_votingRewardCap protoreflect.FieldDescriptor + fd_Params_matchWorkerDelay protoreflect.FieldDescriptor + fd_Params_rareDropRatio protoreflect.FieldDescriptor + fd_Params_exceptionalDropRatio protoreflect.FieldDescriptor + fd_Params_uniqueDropRatio protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_params_proto_init() md_Params = File_cardchain_cardchain_params_proto.Messages().ByName("Params") + fd_Params_votingRightsExpirationTime = md_Params.Fields().ByName("votingRightsExpirationTime") + fd_Params_setSize = md_Params.Fields().ByName("setSize") + fd_Params_setPrice = md_Params.Fields().ByName("setPrice") + fd_Params_activeSetsAmount = md_Params.Fields().ByName("activeSetsAmount") + fd_Params_setCreationFee = md_Params.Fields().ByName("setCreationFee") + fd_Params_collateralDeposit = md_Params.Fields().ByName("collateralDeposit") + fd_Params_winnerReward = md_Params.Fields().ByName("winnerReward") + fd_Params_hourlyFaucet = md_Params.Fields().ByName("hourlyFaucet") + fd_Params_inflationRate = md_Params.Fields().ByName("inflationRate") + fd_Params_raresPerPack = md_Params.Fields().ByName("raresPerPack") + fd_Params_commonsPerPack = md_Params.Fields().ByName("commonsPerPack") + fd_Params_unCommonsPerPack = md_Params.Fields().ByName("unCommonsPerPack") + fd_Params_trialPeriod = md_Params.Fields().ByName("trialPeriod") + fd_Params_gameVoteRatio = md_Params.Fields().ByName("gameVoteRatio") + fd_Params_cardAuctionPriceReductionPeriod = md_Params.Fields().ByName("cardAuctionPriceReductionPeriod") + fd_Params_airDropValue = md_Params.Fields().ByName("airDropValue") + fd_Params_airDropMaxBlockHeight = md_Params.Fields().ByName("airDropMaxBlockHeight") + fd_Params_trialVoteReward = md_Params.Fields().ByName("trialVoteReward") + fd_Params_votePoolFraction = md_Params.Fields().ByName("votePoolFraction") + fd_Params_votingRewardCap = md_Params.Fields().ByName("votingRewardCap") + fd_Params_matchWorkerDelay = md_Params.Fields().ByName("matchWorkerDelay") + fd_Params_rareDropRatio = md_Params.Fields().ByName("rareDropRatio") + fd_Params_exceptionalDropRatio = md_Params.Fields().ByName("exceptionalDropRatio") + fd_Params_uniqueDropRatio = md_Params.Fields().ByName("uniqueDropRatio") } var _ protoreflect.Message = (*fastReflection_Params)(nil) @@ -88,6 +137,150 @@ func (x *fastReflection_Params) Interface() protoreflect.ProtoMessage { // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.VotingRightsExpirationTime != int64(0) { + value := protoreflect.ValueOfInt64(x.VotingRightsExpirationTime) + if !f(fd_Params_votingRightsExpirationTime, value) { + return + } + } + if x.SetSize != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetSize) + if !f(fd_Params_setSize, value) { + return + } + } + if x.SetPrice != nil { + value := protoreflect.ValueOfMessage(x.SetPrice.ProtoReflect()) + if !f(fd_Params_setPrice, value) { + return + } + } + if x.ActiveSetsAmount != uint64(0) { + value := protoreflect.ValueOfUint64(x.ActiveSetsAmount) + if !f(fd_Params_activeSetsAmount, value) { + return + } + } + if x.SetCreationFee != nil { + value := protoreflect.ValueOfMessage(x.SetCreationFee.ProtoReflect()) + if !f(fd_Params_setCreationFee, value) { + return + } + } + if x.CollateralDeposit != nil { + value := protoreflect.ValueOfMessage(x.CollateralDeposit.ProtoReflect()) + if !f(fd_Params_collateralDeposit, value) { + return + } + } + if x.WinnerReward != int64(0) { + value := protoreflect.ValueOfInt64(x.WinnerReward) + if !f(fd_Params_winnerReward, value) { + return + } + } + if x.HourlyFaucet != nil { + value := protoreflect.ValueOfMessage(x.HourlyFaucet.ProtoReflect()) + if !f(fd_Params_hourlyFaucet, value) { + return + } + } + if x.InflationRate != "" { + value := protoreflect.ValueOfString(x.InflationRate) + if !f(fd_Params_inflationRate, value) { + return + } + } + if x.RaresPerPack != uint64(0) { + value := protoreflect.ValueOfUint64(x.RaresPerPack) + if !f(fd_Params_raresPerPack, value) { + return + } + } + if x.CommonsPerPack != uint64(0) { + value := protoreflect.ValueOfUint64(x.CommonsPerPack) + if !f(fd_Params_commonsPerPack, value) { + return + } + } + if x.UnCommonsPerPack != uint64(0) { + value := protoreflect.ValueOfUint64(x.UnCommonsPerPack) + if !f(fd_Params_unCommonsPerPack, value) { + return + } + } + if x.TrialPeriod != uint64(0) { + value := protoreflect.ValueOfUint64(x.TrialPeriod) + if !f(fd_Params_trialPeriod, value) { + return + } + } + if x.GameVoteRatio != int64(0) { + value := protoreflect.ValueOfInt64(x.GameVoteRatio) + if !f(fd_Params_gameVoteRatio, value) { + return + } + } + if x.CardAuctionPriceReductionPeriod != int64(0) { + value := protoreflect.ValueOfInt64(x.CardAuctionPriceReductionPeriod) + if !f(fd_Params_cardAuctionPriceReductionPeriod, value) { + return + } + } + if x.AirDropValue != nil { + value := protoreflect.ValueOfMessage(x.AirDropValue.ProtoReflect()) + if !f(fd_Params_airDropValue, value) { + return + } + } + if x.AirDropMaxBlockHeight != int64(0) { + value := protoreflect.ValueOfInt64(x.AirDropMaxBlockHeight) + if !f(fd_Params_airDropMaxBlockHeight, value) { + return + } + } + if x.TrialVoteReward != nil { + value := protoreflect.ValueOfMessage(x.TrialVoteReward.ProtoReflect()) + if !f(fd_Params_trialVoteReward, value) { + return + } + } + if x.VotePoolFraction != int64(0) { + value := protoreflect.ValueOfInt64(x.VotePoolFraction) + if !f(fd_Params_votePoolFraction, value) { + return + } + } + if x.VotingRewardCap != int64(0) { + value := protoreflect.ValueOfInt64(x.VotingRewardCap) + if !f(fd_Params_votingRewardCap, value) { + return + } + } + if x.MatchWorkerDelay != uint64(0) { + value := protoreflect.ValueOfUint64(x.MatchWorkerDelay) + if !f(fd_Params_matchWorkerDelay, value) { + return + } + } + if x.RareDropRatio != uint64(0) { + value := protoreflect.ValueOfUint64(x.RareDropRatio) + if !f(fd_Params_rareDropRatio, value) { + return + } + } + if x.ExceptionalDropRatio != uint64(0) { + value := protoreflect.ValueOfUint64(x.ExceptionalDropRatio) + if !f(fd_Params_exceptionalDropRatio, value) { + return + } + } + if x.UniqueDropRatio != uint64(0) { + value := protoreflect.ValueOfUint64(x.UniqueDropRatio) + if !f(fd_Params_uniqueDropRatio, value) { + return + } + } } // Has reports whether a field is populated. @@ -103,6 +296,54 @@ func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, proto // a repeated field is populated if it is non-empty. func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { + case "cardchain.cardchain.Params.votingRightsExpirationTime": + return x.VotingRightsExpirationTime != int64(0) + case "cardchain.cardchain.Params.setSize": + return x.SetSize != uint64(0) + case "cardchain.cardchain.Params.setPrice": + return x.SetPrice != nil + case "cardchain.cardchain.Params.activeSetsAmount": + return x.ActiveSetsAmount != uint64(0) + case "cardchain.cardchain.Params.setCreationFee": + return x.SetCreationFee != nil + case "cardchain.cardchain.Params.collateralDeposit": + return x.CollateralDeposit != nil + case "cardchain.cardchain.Params.winnerReward": + return x.WinnerReward != int64(0) + case "cardchain.cardchain.Params.hourlyFaucet": + return x.HourlyFaucet != nil + case "cardchain.cardchain.Params.inflationRate": + return x.InflationRate != "" + case "cardchain.cardchain.Params.raresPerPack": + return x.RaresPerPack != uint64(0) + case "cardchain.cardchain.Params.commonsPerPack": + return x.CommonsPerPack != uint64(0) + case "cardchain.cardchain.Params.unCommonsPerPack": + return x.UnCommonsPerPack != uint64(0) + case "cardchain.cardchain.Params.trialPeriod": + return x.TrialPeriod != uint64(0) + case "cardchain.cardchain.Params.gameVoteRatio": + return x.GameVoteRatio != int64(0) + case "cardchain.cardchain.Params.cardAuctionPriceReductionPeriod": + return x.CardAuctionPriceReductionPeriod != int64(0) + case "cardchain.cardchain.Params.airDropValue": + return x.AirDropValue != nil + case "cardchain.cardchain.Params.airDropMaxBlockHeight": + return x.AirDropMaxBlockHeight != int64(0) + case "cardchain.cardchain.Params.trialVoteReward": + return x.TrialVoteReward != nil + case "cardchain.cardchain.Params.votePoolFraction": + return x.VotePoolFraction != int64(0) + case "cardchain.cardchain.Params.votingRewardCap": + return x.VotingRewardCap != int64(0) + case "cardchain.cardchain.Params.matchWorkerDelay": + return x.MatchWorkerDelay != uint64(0) + case "cardchain.cardchain.Params.rareDropRatio": + return x.RareDropRatio != uint64(0) + case "cardchain.cardchain.Params.exceptionalDropRatio": + return x.ExceptionalDropRatio != uint64(0) + case "cardchain.cardchain.Params.uniqueDropRatio": + return x.UniqueDropRatio != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Params")) @@ -119,6 +360,54 @@ func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { + case "cardchain.cardchain.Params.votingRightsExpirationTime": + x.VotingRightsExpirationTime = int64(0) + case "cardchain.cardchain.Params.setSize": + x.SetSize = uint64(0) + case "cardchain.cardchain.Params.setPrice": + x.SetPrice = nil + case "cardchain.cardchain.Params.activeSetsAmount": + x.ActiveSetsAmount = uint64(0) + case "cardchain.cardchain.Params.setCreationFee": + x.SetCreationFee = nil + case "cardchain.cardchain.Params.collateralDeposit": + x.CollateralDeposit = nil + case "cardchain.cardchain.Params.winnerReward": + x.WinnerReward = int64(0) + case "cardchain.cardchain.Params.hourlyFaucet": + x.HourlyFaucet = nil + case "cardchain.cardchain.Params.inflationRate": + x.InflationRate = "" + case "cardchain.cardchain.Params.raresPerPack": + x.RaresPerPack = uint64(0) + case "cardchain.cardchain.Params.commonsPerPack": + x.CommonsPerPack = uint64(0) + case "cardchain.cardchain.Params.unCommonsPerPack": + x.UnCommonsPerPack = uint64(0) + case "cardchain.cardchain.Params.trialPeriod": + x.TrialPeriod = uint64(0) + case "cardchain.cardchain.Params.gameVoteRatio": + x.GameVoteRatio = int64(0) + case "cardchain.cardchain.Params.cardAuctionPriceReductionPeriod": + x.CardAuctionPriceReductionPeriod = int64(0) + case "cardchain.cardchain.Params.airDropValue": + x.AirDropValue = nil + case "cardchain.cardchain.Params.airDropMaxBlockHeight": + x.AirDropMaxBlockHeight = int64(0) + case "cardchain.cardchain.Params.trialVoteReward": + x.TrialVoteReward = nil + case "cardchain.cardchain.Params.votePoolFraction": + x.VotePoolFraction = int64(0) + case "cardchain.cardchain.Params.votingRewardCap": + x.VotingRewardCap = int64(0) + case "cardchain.cardchain.Params.matchWorkerDelay": + x.MatchWorkerDelay = uint64(0) + case "cardchain.cardchain.Params.rareDropRatio": + x.RareDropRatio = uint64(0) + case "cardchain.cardchain.Params.exceptionalDropRatio": + x.ExceptionalDropRatio = uint64(0) + case "cardchain.cardchain.Params.uniqueDropRatio": + x.UniqueDropRatio = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Params")) @@ -135,6 +424,78 @@ func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { + case "cardchain.cardchain.Params.votingRightsExpirationTime": + value := x.VotingRightsExpirationTime + return protoreflect.ValueOfInt64(value) + case "cardchain.cardchain.Params.setSize": + value := x.SetSize + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Params.setPrice": + value := x.SetPrice + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.Params.activeSetsAmount": + value := x.ActiveSetsAmount + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Params.setCreationFee": + value := x.SetCreationFee + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.Params.collateralDeposit": + value := x.CollateralDeposit + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.Params.winnerReward": + value := x.WinnerReward + return protoreflect.ValueOfInt64(value) + case "cardchain.cardchain.Params.hourlyFaucet": + value := x.HourlyFaucet + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.Params.inflationRate": + value := x.InflationRate + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.Params.raresPerPack": + value := x.RaresPerPack + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Params.commonsPerPack": + value := x.CommonsPerPack + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Params.unCommonsPerPack": + value := x.UnCommonsPerPack + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Params.trialPeriod": + value := x.TrialPeriod + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Params.gameVoteRatio": + value := x.GameVoteRatio + return protoreflect.ValueOfInt64(value) + case "cardchain.cardchain.Params.cardAuctionPriceReductionPeriod": + value := x.CardAuctionPriceReductionPeriod + return protoreflect.ValueOfInt64(value) + case "cardchain.cardchain.Params.airDropValue": + value := x.AirDropValue + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.Params.airDropMaxBlockHeight": + value := x.AirDropMaxBlockHeight + return protoreflect.ValueOfInt64(value) + case "cardchain.cardchain.Params.trialVoteReward": + value := x.TrialVoteReward + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.Params.votePoolFraction": + value := x.VotePoolFraction + return protoreflect.ValueOfInt64(value) + case "cardchain.cardchain.Params.votingRewardCap": + value := x.VotingRewardCap + return protoreflect.ValueOfInt64(value) + case "cardchain.cardchain.Params.matchWorkerDelay": + value := x.MatchWorkerDelay + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Params.rareDropRatio": + value := x.RareDropRatio + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Params.exceptionalDropRatio": + value := x.ExceptionalDropRatio + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Params.uniqueDropRatio": + value := x.UniqueDropRatio + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Params")) @@ -155,6 +516,54 @@ func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) pro // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { + case "cardchain.cardchain.Params.votingRightsExpirationTime": + x.VotingRightsExpirationTime = value.Int() + case "cardchain.cardchain.Params.setSize": + x.SetSize = value.Uint() + case "cardchain.cardchain.Params.setPrice": + x.SetPrice = value.Message().Interface().(*v1beta1.Coin) + case "cardchain.cardchain.Params.activeSetsAmount": + x.ActiveSetsAmount = value.Uint() + case "cardchain.cardchain.Params.setCreationFee": + x.SetCreationFee = value.Message().Interface().(*v1beta1.Coin) + case "cardchain.cardchain.Params.collateralDeposit": + x.CollateralDeposit = value.Message().Interface().(*v1beta1.Coin) + case "cardchain.cardchain.Params.winnerReward": + x.WinnerReward = value.Int() + case "cardchain.cardchain.Params.hourlyFaucet": + x.HourlyFaucet = value.Message().Interface().(*v1beta1.Coin) + case "cardchain.cardchain.Params.inflationRate": + x.InflationRate = value.Interface().(string) + case "cardchain.cardchain.Params.raresPerPack": + x.RaresPerPack = value.Uint() + case "cardchain.cardchain.Params.commonsPerPack": + x.CommonsPerPack = value.Uint() + case "cardchain.cardchain.Params.unCommonsPerPack": + x.UnCommonsPerPack = value.Uint() + case "cardchain.cardchain.Params.trialPeriod": + x.TrialPeriod = value.Uint() + case "cardchain.cardchain.Params.gameVoteRatio": + x.GameVoteRatio = value.Int() + case "cardchain.cardchain.Params.cardAuctionPriceReductionPeriod": + x.CardAuctionPriceReductionPeriod = value.Int() + case "cardchain.cardchain.Params.airDropValue": + x.AirDropValue = value.Message().Interface().(*v1beta1.Coin) + case "cardchain.cardchain.Params.airDropMaxBlockHeight": + x.AirDropMaxBlockHeight = value.Int() + case "cardchain.cardchain.Params.trialVoteReward": + x.TrialVoteReward = value.Message().Interface().(*v1beta1.Coin) + case "cardchain.cardchain.Params.votePoolFraction": + x.VotePoolFraction = value.Int() + case "cardchain.cardchain.Params.votingRewardCap": + x.VotingRewardCap = value.Int() + case "cardchain.cardchain.Params.matchWorkerDelay": + x.MatchWorkerDelay = value.Uint() + case "cardchain.cardchain.Params.rareDropRatio": + x.RareDropRatio = value.Uint() + case "cardchain.cardchain.Params.exceptionalDropRatio": + x.ExceptionalDropRatio = value.Uint() + case "cardchain.cardchain.Params.uniqueDropRatio": + x.UniqueDropRatio = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Params")) @@ -175,6 +584,72 @@ func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value proto // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "cardchain.cardchain.Params.setPrice": + if x.SetPrice == nil { + x.SetPrice = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.SetPrice.ProtoReflect()) + case "cardchain.cardchain.Params.setCreationFee": + if x.SetCreationFee == nil { + x.SetCreationFee = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.SetCreationFee.ProtoReflect()) + case "cardchain.cardchain.Params.collateralDeposit": + if x.CollateralDeposit == nil { + x.CollateralDeposit = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.CollateralDeposit.ProtoReflect()) + case "cardchain.cardchain.Params.hourlyFaucet": + if x.HourlyFaucet == nil { + x.HourlyFaucet = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.HourlyFaucet.ProtoReflect()) + case "cardchain.cardchain.Params.airDropValue": + if x.AirDropValue == nil { + x.AirDropValue = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.AirDropValue.ProtoReflect()) + case "cardchain.cardchain.Params.trialVoteReward": + if x.TrialVoteReward == nil { + x.TrialVoteReward = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.TrialVoteReward.ProtoReflect()) + case "cardchain.cardchain.Params.votingRightsExpirationTime": + panic(fmt.Errorf("field votingRightsExpirationTime of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.setSize": + panic(fmt.Errorf("field setSize of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.activeSetsAmount": + panic(fmt.Errorf("field activeSetsAmount of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.winnerReward": + panic(fmt.Errorf("field winnerReward of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.inflationRate": + panic(fmt.Errorf("field inflationRate of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.raresPerPack": + panic(fmt.Errorf("field raresPerPack of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.commonsPerPack": + panic(fmt.Errorf("field commonsPerPack of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.unCommonsPerPack": + panic(fmt.Errorf("field unCommonsPerPack of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.trialPeriod": + panic(fmt.Errorf("field trialPeriod of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.gameVoteRatio": + panic(fmt.Errorf("field gameVoteRatio of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.cardAuctionPriceReductionPeriod": + panic(fmt.Errorf("field cardAuctionPriceReductionPeriod of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.airDropMaxBlockHeight": + panic(fmt.Errorf("field airDropMaxBlockHeight of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.votePoolFraction": + panic(fmt.Errorf("field votePoolFraction of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.votingRewardCap": + panic(fmt.Errorf("field votingRewardCap of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.matchWorkerDelay": + panic(fmt.Errorf("field matchWorkerDelay of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.rareDropRatio": + panic(fmt.Errorf("field rareDropRatio of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.exceptionalDropRatio": + panic(fmt.Errorf("field exceptionalDropRatio of message cardchain.cardchain.Params is not mutable")) + case "cardchain.cardchain.Params.uniqueDropRatio": + panic(fmt.Errorf("field uniqueDropRatio of message cardchain.cardchain.Params is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Params")) @@ -188,6 +663,60 @@ func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protore // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "cardchain.cardchain.Params.votingRightsExpirationTime": + return protoreflect.ValueOfInt64(int64(0)) + case "cardchain.cardchain.Params.setSize": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Params.setPrice": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.Params.activeSetsAmount": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Params.setCreationFee": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.Params.collateralDeposit": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.Params.winnerReward": + return protoreflect.ValueOfInt64(int64(0)) + case "cardchain.cardchain.Params.hourlyFaucet": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.Params.inflationRate": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.Params.raresPerPack": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Params.commonsPerPack": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Params.unCommonsPerPack": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Params.trialPeriod": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Params.gameVoteRatio": + return protoreflect.ValueOfInt64(int64(0)) + case "cardchain.cardchain.Params.cardAuctionPriceReductionPeriod": + return protoreflect.ValueOfInt64(int64(0)) + case "cardchain.cardchain.Params.airDropValue": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.Params.airDropMaxBlockHeight": + return protoreflect.ValueOfInt64(int64(0)) + case "cardchain.cardchain.Params.trialVoteReward": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.Params.votePoolFraction": + return protoreflect.ValueOfInt64(int64(0)) + case "cardchain.cardchain.Params.votingRewardCap": + return protoreflect.ValueOfInt64(int64(0)) + case "cardchain.cardchain.Params.matchWorkerDelay": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Params.rareDropRatio": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Params.exceptionalDropRatio": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Params.uniqueDropRatio": + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Params")) @@ -257,6 +786,85 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { var n int var l int _ = l + if x.VotingRightsExpirationTime != 0 { + n += 1 + runtime.Sov(uint64(x.VotingRightsExpirationTime)) + } + if x.SetSize != 0 { + n += 1 + runtime.Sov(uint64(x.SetSize)) + } + if x.SetPrice != nil { + l = options.Size(x.SetPrice) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.ActiveSetsAmount != 0 { + n += 1 + runtime.Sov(uint64(x.ActiveSetsAmount)) + } + if x.SetCreationFee != nil { + l = options.Size(x.SetCreationFee) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CollateralDeposit != nil { + l = options.Size(x.CollateralDeposit) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.WinnerReward != 0 { + n += 1 + runtime.Sov(uint64(x.WinnerReward)) + } + if x.HourlyFaucet != nil { + l = options.Size(x.HourlyFaucet) + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.InflationRate) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.RaresPerPack != 0 { + n += 1 + runtime.Sov(uint64(x.RaresPerPack)) + } + if x.CommonsPerPack != 0 { + n += 1 + runtime.Sov(uint64(x.CommonsPerPack)) + } + if x.UnCommonsPerPack != 0 { + n += 1 + runtime.Sov(uint64(x.UnCommonsPerPack)) + } + if x.TrialPeriod != 0 { + n += 1 + runtime.Sov(uint64(x.TrialPeriod)) + } + if x.GameVoteRatio != 0 { + n += 1 + runtime.Sov(uint64(x.GameVoteRatio)) + } + if x.CardAuctionPriceReductionPeriod != 0 { + n += 2 + runtime.Sov(uint64(x.CardAuctionPriceReductionPeriod)) + } + if x.AirDropValue != nil { + l = options.Size(x.AirDropValue) + n += 2 + l + runtime.Sov(uint64(l)) + } + if x.AirDropMaxBlockHeight != 0 { + n += 2 + runtime.Sov(uint64(x.AirDropMaxBlockHeight)) + } + if x.TrialVoteReward != nil { + l = options.Size(x.TrialVoteReward) + n += 2 + l + runtime.Sov(uint64(l)) + } + if x.VotePoolFraction != 0 { + n += 2 + runtime.Sov(uint64(x.VotePoolFraction)) + } + if x.VotingRewardCap != 0 { + n += 1 + runtime.Sov(uint64(x.VotingRewardCap)) + } + if x.MatchWorkerDelay != 0 { + n += 2 + runtime.Sov(uint64(x.MatchWorkerDelay)) + } + if x.RareDropRatio != 0 { + n += 2 + runtime.Sov(uint64(x.RareDropRatio)) + } + if x.ExceptionalDropRatio != 0 { + n += 2 + runtime.Sov(uint64(x.ExceptionalDropRatio)) + } + if x.UniqueDropRatio != 0 { + n += 2 + runtime.Sov(uint64(x.UniqueDropRatio)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -286,6 +894,200 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.UniqueDropRatio != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.UniqueDropRatio)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc0 + } + if x.ExceptionalDropRatio != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ExceptionalDropRatio)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb8 + } + if x.RareDropRatio != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.RareDropRatio)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb0 + } + if x.MatchWorkerDelay != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.MatchWorkerDelay)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa8 + } + if x.VotePoolFraction != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.VotePoolFraction)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } + if x.TrialVoteReward != nil { + encoded, err := options.Marshal(x.TrialVoteReward) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x9a + } + if x.AirDropMaxBlockHeight != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.AirDropMaxBlockHeight)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x90 + } + if x.AirDropValue != nil { + encoded, err := options.Marshal(x.AirDropValue) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + if x.CardAuctionPriceReductionPeriod != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardAuctionPriceReductionPeriod)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x80 + } + if x.GameVoteRatio != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.GameVoteRatio)) + i-- + dAtA[i] = 0x78 + } + if x.TrialPeriod != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TrialPeriod)) + i-- + dAtA[i] = 0x70 + } + if x.UnCommonsPerPack != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.UnCommonsPerPack)) + i-- + dAtA[i] = 0x68 + } + if x.CommonsPerPack != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CommonsPerPack)) + i-- + dAtA[i] = 0x60 + } + if x.RaresPerPack != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.RaresPerPack)) + i-- + dAtA[i] = 0x58 + } + if len(x.InflationRate) > 0 { + i -= len(x.InflationRate) + copy(dAtA[i:], x.InflationRate) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.InflationRate))) + i-- + dAtA[i] = 0x52 + } + if x.HourlyFaucet != nil { + encoded, err := options.Marshal(x.HourlyFaucet) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x4a + } + if x.VotingRewardCap != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.VotingRewardCap)) + i-- + dAtA[i] = 0x40 + } + if x.WinnerReward != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.WinnerReward)) + i-- + dAtA[i] = 0x38 + } + if x.CollateralDeposit != nil { + encoded, err := options.Marshal(x.CollateralDeposit) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x32 + } + if x.SetCreationFee != nil { + encoded, err := options.Marshal(x.SetCreationFee) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x2a + } + if x.ActiveSetsAmount != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ActiveSetsAmount)) + i-- + dAtA[i] = 0x20 + } + if x.SetPrice != nil { + encoded, err := options.Marshal(x.SetPrice) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + if x.SetSize != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetSize)) + i-- + dAtA[i] = 0x10 + } + if x.VotingRightsExpirationTime != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.VotingRightsExpirationTime)) + i-- + dAtA[i] = 0x8 + } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -335,6 +1137,577 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VotingRightsExpirationTime", wireType) + } + x.VotingRightsExpirationTime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.VotingRightsExpirationTime |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetSize", wireType) + } + x.SetSize = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetSize |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetPrice", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.SetPrice == nil { + x.SetPrice = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.SetPrice); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ActiveSetsAmount", wireType) + } + x.ActiveSetsAmount = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.ActiveSetsAmount |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetCreationFee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.SetCreationFee == nil { + x.SetCreationFee = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.SetCreationFee); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CollateralDeposit", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.CollateralDeposit == nil { + x.CollateralDeposit = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CollateralDeposit); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 7: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field WinnerReward", wireType) + } + x.WinnerReward = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.WinnerReward |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field HourlyFaucet", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.HourlyFaucet == nil { + x.HourlyFaucet = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.HourlyFaucet); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field InflationRate", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.InflationRate = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RaresPerPack", wireType) + } + x.RaresPerPack = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.RaresPerPack |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CommonsPerPack", wireType) + } + x.CommonsPerPack = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CommonsPerPack |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field UnCommonsPerPack", wireType) + } + x.UnCommonsPerPack = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.UnCommonsPerPack |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 14: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TrialPeriod", wireType) + } + x.TrialPeriod = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TrialPeriod |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 15: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GameVoteRatio", wireType) + } + x.GameVoteRatio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.GameVoteRatio |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 16: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardAuctionPriceReductionPeriod", wireType) + } + x.CardAuctionPriceReductionPeriod = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardAuctionPriceReductionPeriod |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 17: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AirDropValue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.AirDropValue == nil { + x.AirDropValue = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.AirDropValue); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 18: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AirDropMaxBlockHeight", wireType) + } + x.AirDropMaxBlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.AirDropMaxBlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 19: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TrialVoteReward", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.TrialVoteReward == nil { + x.TrialVoteReward = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.TrialVoteReward); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 20: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VotePoolFraction", wireType) + } + x.VotePoolFraction = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.VotePoolFraction |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VotingRewardCap", wireType) + } + x.VotingRewardCap = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.VotingRewardCap |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 21: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MatchWorkerDelay", wireType) + } + x.MatchWorkerDelay = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.MatchWorkerDelay |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 22: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RareDropRatio", wireType) + } + x.RareDropRatio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.RareDropRatio |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 23: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ExceptionalDropRatio", wireType) + } + x.ExceptionalDropRatio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.ExceptionalDropRatio |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 24: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field UniqueDropRatio", wireType) + } + x.UniqueDropRatio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.UniqueDropRatio |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -388,6 +1761,31 @@ type Params struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + VotingRightsExpirationTime int64 `protobuf:"varint,1,opt,name=votingRightsExpirationTime,proto3" json:"votingRightsExpirationTime,omitempty"` + SetSize uint64 `protobuf:"varint,2,opt,name=setSize,proto3" json:"setSize,omitempty"` + SetPrice *v1beta1.Coin `protobuf:"bytes,3,opt,name=setPrice,proto3" json:"setPrice,omitempty"` + ActiveSetsAmount uint64 `protobuf:"varint,4,opt,name=activeSetsAmount,proto3" json:"activeSetsAmount,omitempty"` + SetCreationFee *v1beta1.Coin `protobuf:"bytes,5,opt,name=setCreationFee,proto3" json:"setCreationFee,omitempty"` + CollateralDeposit *v1beta1.Coin `protobuf:"bytes,6,opt,name=collateralDeposit,proto3" json:"collateralDeposit,omitempty"` + WinnerReward int64 `protobuf:"varint,7,opt,name=winnerReward,proto3" json:"winnerReward,omitempty"` + HourlyFaucet *v1beta1.Coin `protobuf:"bytes,9,opt,name=hourlyFaucet,proto3" json:"hourlyFaucet,omitempty"` + InflationRate string `protobuf:"bytes,10,opt,name=inflationRate,proto3" json:"inflationRate,omitempty"` + RaresPerPack uint64 `protobuf:"varint,11,opt,name=raresPerPack,proto3" json:"raresPerPack,omitempty"` + CommonsPerPack uint64 `protobuf:"varint,12,opt,name=commonsPerPack,proto3" json:"commonsPerPack,omitempty"` + UnCommonsPerPack uint64 `protobuf:"varint,13,opt,name=unCommonsPerPack,proto3" json:"unCommonsPerPack,omitempty"` + TrialPeriod uint64 `protobuf:"varint,14,opt,name=trialPeriod,proto3" json:"trialPeriod,omitempty"` + GameVoteRatio int64 `protobuf:"varint,15,opt,name=gameVoteRatio,proto3" json:"gameVoteRatio,omitempty"` + CardAuctionPriceReductionPeriod int64 `protobuf:"varint,16,opt,name=cardAuctionPriceReductionPeriod,proto3" json:"cardAuctionPriceReductionPeriod,omitempty"` + AirDropValue *v1beta1.Coin `protobuf:"bytes,17,opt,name=airDropValue,proto3" json:"airDropValue,omitempty"` + AirDropMaxBlockHeight int64 `protobuf:"varint,18,opt,name=airDropMaxBlockHeight,proto3" json:"airDropMaxBlockHeight,omitempty"` + TrialVoteReward *v1beta1.Coin `protobuf:"bytes,19,opt,name=trialVoteReward,proto3" json:"trialVoteReward,omitempty"` + 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 (x *Params) Reset() { @@ -410,6 +1808,174 @@ func (*Params) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_params_proto_rawDescGZIP(), []int{0} } +func (x *Params) GetVotingRightsExpirationTime() int64 { + if x != nil { + return x.VotingRightsExpirationTime + } + return 0 +} + +func (x *Params) GetSetSize() uint64 { + if x != nil { + return x.SetSize + } + return 0 +} + +func (x *Params) GetSetPrice() *v1beta1.Coin { + if x != nil { + return x.SetPrice + } + return nil +} + +func (x *Params) GetActiveSetsAmount() uint64 { + if x != nil { + return x.ActiveSetsAmount + } + return 0 +} + +func (x *Params) GetSetCreationFee() *v1beta1.Coin { + if x != nil { + return x.SetCreationFee + } + return nil +} + +func (x *Params) GetCollateralDeposit() *v1beta1.Coin { + if x != nil { + return x.CollateralDeposit + } + return nil +} + +func (x *Params) GetWinnerReward() int64 { + if x != nil { + return x.WinnerReward + } + return 0 +} + +func (x *Params) GetHourlyFaucet() *v1beta1.Coin { + if x != nil { + return x.HourlyFaucet + } + return nil +} + +func (x *Params) GetInflationRate() string { + if x != nil { + return x.InflationRate + } + return "" +} + +func (x *Params) GetRaresPerPack() uint64 { + if x != nil { + return x.RaresPerPack + } + return 0 +} + +func (x *Params) GetCommonsPerPack() uint64 { + if x != nil { + return x.CommonsPerPack + } + return 0 +} + +func (x *Params) GetUnCommonsPerPack() uint64 { + if x != nil { + return x.UnCommonsPerPack + } + return 0 +} + +func (x *Params) GetTrialPeriod() uint64 { + if x != nil { + return x.TrialPeriod + } + return 0 +} + +func (x *Params) GetGameVoteRatio() int64 { + if x != nil { + return x.GameVoteRatio + } + return 0 +} + +func (x *Params) GetCardAuctionPriceReductionPeriod() int64 { + if x != nil { + return x.CardAuctionPriceReductionPeriod + } + return 0 +} + +func (x *Params) GetAirDropValue() *v1beta1.Coin { + if x != nil { + return x.AirDropValue + } + return nil +} + +func (x *Params) GetAirDropMaxBlockHeight() int64 { + if x != nil { + return x.AirDropMaxBlockHeight + } + return 0 +} + +func (x *Params) GetTrialVoteReward() *v1beta1.Coin { + if x != nil { + return x.TrialVoteReward + } + return nil +} + +func (x *Params) GetVotePoolFraction() int64 { + if x != nil { + return x.VotePoolFraction + } + return 0 +} + +func (x *Params) GetVotingRewardCap() int64 { + if x != nil { + return x.VotingRewardCap + } + return 0 +} + +func (x *Params) GetMatchWorkerDelay() uint64 { + if x != nil { + return x.MatchWorkerDelay + } + return 0 +} + +func (x *Params) GetRareDropRatio() uint64 { + if x != nil { + return x.RareDropRatio + } + return 0 +} + +func (x *Params) GetExceptionalDropRatio() uint64 { + if x != nil { + return x.ExceptionalDropRatio + } + return 0 +} + +func (x *Params) GetUniqueDropRatio() uint64 { + if x != nil { + return x.UniqueDropRatio + } + return 0 +} + var File_cardchain_cardchain_params_proto protoreflect.FileDescriptor var file_cardchain_cardchain_params_proto_rawDesc = []byte{ @@ -419,23 +1985,101 @@ var file_cardchain_cardchain_params_proto_rawDesc = []byte{ 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0x2f, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x25, 0xe8, 0xa0, 0x1f, 0x01, - 0x8a, 0xe7, 0xb0, 0x2a, 0x1c, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x42, 0xd3, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0b, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, - 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, - 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xef, 0x09, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3e, 0x0a, 0x1a, 0x76, + 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x69, 0x67, 0x68, 0x74, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x1a, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x69, 0x67, 0x68, 0x74, 0x73, 0x45, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x65, + 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x08, 0x73, 0x65, 0x74, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x47, + 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, + 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x61, + 0x74, 0x65, 0x72, 0x61, 0x6c, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, + 0xde, 0x1f, 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x44, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x77, 0x69, + 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x43, 0x0a, 0x0c, 0x68, 0x6f, + 0x75, 0x72, 0x6c, 0x79, 0x46, 0x61, 0x75, 0x63, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, + 0x00, 0x52, 0x0c, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x46, 0x61, 0x75, 0x63, 0x65, 0x74, 0x12, + 0x24, 0x0a, 0x0d, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x61, 0x72, 0x65, 0x73, 0x50, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x72, 0x61, 0x72, + 0x65, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x63, + 0x6b, 0x12, 0x2a, 0x0a, 0x10, 0x75, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x50, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x75, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x20, 0x0a, + 0x0b, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, + 0x24, 0x0a, 0x0d, 0x67, 0x61, 0x6d, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x67, 0x61, 0x6d, 0x65, 0x56, 0x6f, 0x74, 0x65, + 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x48, 0x0a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1f, + 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, + 0x43, 0x0a, 0x0c, 0x61, 0x69, 0x72, 0x44, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, + 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0c, 0x61, 0x69, 0x72, 0x44, 0x72, 0x6f, 0x70, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x61, 0x69, 0x72, 0x44, 0x72, 0x6f, 0x70, 0x4d, + 0x61, 0x78, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x15, 0x61, 0x69, 0x72, 0x44, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x78, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x49, 0x0a, 0x0f, 0x74, 0x72, + 0x69, 0x61, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, + 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x6f, + 0x6c, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x10, 0x76, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x43, 0x61, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x76, 0x6f, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x61, 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x72, 0x65, 0x44, + 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x16, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, + 0x72, 0x61, 0x72, 0x65, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x32, 0x0a, + 0x14, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x72, 0x6f, 0x70, + 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x17, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x69, + 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x44, 0x72, 0x6f, 0x70, 0x52, + 0x61, 0x74, 0x69, 0x6f, 0x18, 0x18, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x75, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x3a, 0x25, 0xe8, 0xa0, 0x1f, + 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1c, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x78, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x42, 0xd3, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0b, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, + 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, + 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -452,14 +2096,21 @@ func file_cardchain_cardchain_params_proto_rawDescGZIP() []byte { var file_cardchain_cardchain_params_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_cardchain_cardchain_params_proto_goTypes = []interface{}{ - (*Params)(nil), // 0: cardchain.cardchain.Params + (*Params)(nil), // 0: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 1: cosmos.base.v1beta1.Coin } var file_cardchain_cardchain_params_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name + 1, // 0: cardchain.cardchain.Params.setPrice:type_name -> cosmos.base.v1beta1.Coin + 1, // 1: cardchain.cardchain.Params.setCreationFee:type_name -> cosmos.base.v1beta1.Coin + 1, // 2: cardchain.cardchain.Params.collateralDeposit:type_name -> cosmos.base.v1beta1.Coin + 1, // 3: cardchain.cardchain.Params.hourlyFaucet:type_name -> cosmos.base.v1beta1.Coin + 1, // 4: cardchain.cardchain.Params.airDropValue:type_name -> cosmos.base.v1beta1.Coin + 1, // 5: cardchain.cardchain.Params.trialVoteReward:type_name -> cosmos.base.v1beta1.Coin + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_cardchain_cardchain_params_proto_init() } diff --git a/api/cardchain/cardchain/product_details.pulsar.go b/api/cardchain/cardchain/product_details.pulsar.go new file mode 100644 index 00000000..4217d854 --- /dev/null +++ b/api/cardchain/cardchain/product_details.pulsar.go @@ -0,0 +1,774 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_ProductDetails protoreflect.MessageDescriptor + fd_ProductDetails_id protoreflect.FieldDescriptor + fd_ProductDetails_name protoreflect.FieldDescriptor + fd_ProductDetails_desc protoreflect.FieldDescriptor + fd_ProductDetails_creator protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_product_details_proto_init() + md_ProductDetails = File_cardchain_cardchain_product_details_proto.Messages().ByName("ProductDetails") + fd_ProductDetails_id = md_ProductDetails.Fields().ByName("id") + fd_ProductDetails_name = md_ProductDetails.Fields().ByName("name") + fd_ProductDetails_desc = md_ProductDetails.Fields().ByName("desc") + fd_ProductDetails_creator = md_ProductDetails.Fields().ByName("creator") +} + +var _ protoreflect.Message = (*fastReflection_ProductDetails)(nil) + +type fastReflection_ProductDetails ProductDetails + +func (x *ProductDetails) ProtoReflect() protoreflect.Message { + return (*fastReflection_ProductDetails)(x) +} + +func (x *ProductDetails) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_product_details_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_ProductDetails_messageType fastReflection_ProductDetails_messageType +var _ protoreflect.MessageType = fastReflection_ProductDetails_messageType{} + +type fastReflection_ProductDetails_messageType struct{} + +func (x fastReflection_ProductDetails_messageType) Zero() protoreflect.Message { + return (*fastReflection_ProductDetails)(nil) +} +func (x fastReflection_ProductDetails_messageType) New() protoreflect.Message { + return new(fastReflection_ProductDetails) +} +func (x fastReflection_ProductDetails_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ProductDetails +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ProductDetails) Descriptor() protoreflect.MessageDescriptor { + return md_ProductDetails +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_ProductDetails) Type() protoreflect.MessageType { + return _fastReflection_ProductDetails_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ProductDetails) New() protoreflect.Message { + return new(fastReflection_ProductDetails) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ProductDetails) Interface() protoreflect.ProtoMessage { + return (*ProductDetails)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_ProductDetails) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_ProductDetails_id, value) { + return + } + } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_ProductDetails_name, value) { + return + } + } + if x.Desc != "" { + value := protoreflect.ValueOfString(x.Desc) + if !f(fd_ProductDetails_desc, value) { + return + } + } + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_ProductDetails_creator, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_ProductDetails) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.ProductDetails.id": + return x.Id != uint64(0) + case "cardchain.cardchain.ProductDetails.name": + return x.Name != "" + case "cardchain.cardchain.ProductDetails.desc": + return x.Desc != "" + case "cardchain.cardchain.ProductDetails.creator": + return x.Creator != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.ProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.ProductDetails does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ProductDetails) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.ProductDetails.id": + x.Id = uint64(0) + case "cardchain.cardchain.ProductDetails.name": + x.Name = "" + case "cardchain.cardchain.ProductDetails.desc": + x.Desc = "" + case "cardchain.cardchain.ProductDetails.creator": + x.Creator = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.ProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.ProductDetails does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_ProductDetails) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.ProductDetails.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.ProductDetails.name": + value := x.Name + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.ProductDetails.desc": + value := x.Desc + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.ProductDetails.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.ProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.ProductDetails does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ProductDetails) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.ProductDetails.id": + x.Id = value.Uint() + case "cardchain.cardchain.ProductDetails.name": + x.Name = value.Interface().(string) + case "cardchain.cardchain.ProductDetails.desc": + x.Desc = value.Interface().(string) + case "cardchain.cardchain.ProductDetails.creator": + x.Creator = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.ProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.ProductDetails does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ProductDetails) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.ProductDetails.id": + panic(fmt.Errorf("field id of message cardchain.cardchain.ProductDetails is not mutable")) + case "cardchain.cardchain.ProductDetails.name": + panic(fmt.Errorf("field name of message cardchain.cardchain.ProductDetails is not mutable")) + case "cardchain.cardchain.ProductDetails.desc": + panic(fmt.Errorf("field desc of message cardchain.cardchain.ProductDetails is not mutable")) + case "cardchain.cardchain.ProductDetails.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.ProductDetails is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.ProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.ProductDetails does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_ProductDetails) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.ProductDetails.id": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.ProductDetails.name": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.ProductDetails.desc": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.ProductDetails.creator": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.ProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.ProductDetails does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_ProductDetails) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.ProductDetails", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_ProductDetails) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ProductDetails) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_ProductDetails) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_ProductDetails) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ProductDetails) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Desc) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*ProductDetails) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0x22 + } + if len(x.Desc) > 0 { + i -= len(x.Desc) + copy(dAtA[i:], x.Desc) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Desc))) + i-- + dAtA[i] = 0x1a + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0x12 + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*ProductDetails) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProductDetails: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Desc = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/product_details.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ProductDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` + Creator string `protobuf:"bytes,4,opt,name=creator,proto3" json:"creator,omitempty"` +} + +func (x *ProductDetails) Reset() { + *x = ProductDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_product_details_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductDetails) ProtoMessage() {} + +// Deprecated: Use ProductDetails.ProtoReflect.Descriptor instead. +func (*ProductDetails) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_product_details_proto_rawDescGZIP(), []int{0} +} + +func (x *ProductDetails) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ProductDetails) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ProductDetails) GetDesc() string { + if x != nil { + return x.Desc + } + return "" +} + +func (x *ProductDetails) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +var File_cardchain_cardchain_product_details_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_product_details_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x22, 0x62, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x42, 0xdb, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x42, 0x13, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_product_details_proto_rawDescOnce sync.Once + file_cardchain_cardchain_product_details_proto_rawDescData = file_cardchain_cardchain_product_details_proto_rawDesc +) + +func file_cardchain_cardchain_product_details_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_product_details_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_product_details_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_product_details_proto_rawDescData) + }) + return file_cardchain_cardchain_product_details_proto_rawDescData +} + +var file_cardchain_cardchain_product_details_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_product_details_proto_goTypes = []interface{}{ + (*ProductDetails)(nil), // 0: cardchain.cardchain.ProductDetails +} +var file_cardchain_cardchain_product_details_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_product_details_proto_init() } +func file_cardchain_cardchain_product_details_proto_init() { + if File_cardchain_cardchain_product_details_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_product_details_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_product_details_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_product_details_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_product_details_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_product_details_proto_msgTypes, + }.Build() + File_cardchain_cardchain_product_details_proto = out.File + file_cardchain_cardchain_product_details_proto_rawDesc = nil + file_cardchain_cardchain_product_details_proto_goTypes = nil + file_cardchain_cardchain_product_details_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 2fbc5336..0bf3306c 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -3,7 +3,7 @@ package cardchain import ( _ "cosmossdk.io/api/amino" - _ "cosmossdk.io/api/cosmos/base/query/v1beta1" + v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" @@ -807,6 +807,1853 @@ func (x *fastReflection_QueryParamsResponse) ProtoMethods() *protoiface.Methods } } +var ( + md_QueryGetProductDetailsRequest protoreflect.MessageDescriptor + fd_QueryGetProductDetailsRequest_id protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryGetProductDetailsRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryGetProductDetailsRequest") + fd_QueryGetProductDetailsRequest_id = md_QueryGetProductDetailsRequest.Fields().ByName("id") +} + +var _ protoreflect.Message = (*fastReflection_QueryGetProductDetailsRequest)(nil) + +type fastReflection_QueryGetProductDetailsRequest QueryGetProductDetailsRequest + +func (x *QueryGetProductDetailsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryGetProductDetailsRequest)(x) +} + +func (x *QueryGetProductDetailsRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryGetProductDetailsRequest_messageType fastReflection_QueryGetProductDetailsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryGetProductDetailsRequest_messageType{} + +type fastReflection_QueryGetProductDetailsRequest_messageType struct{} + +func (x fastReflection_QueryGetProductDetailsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryGetProductDetailsRequest)(nil) +} +func (x fastReflection_QueryGetProductDetailsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryGetProductDetailsRequest) +} +func (x fastReflection_QueryGetProductDetailsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetProductDetailsRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryGetProductDetailsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetProductDetailsRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryGetProductDetailsRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryGetProductDetailsRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryGetProductDetailsRequest) New() protoreflect.Message { + return new(fastReflection_QueryGetProductDetailsRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryGetProductDetailsRequest) Interface() protoreflect.ProtoMessage { + return (*QueryGetProductDetailsRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryGetProductDetailsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_QueryGetProductDetailsRequest_id, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryGetProductDetailsRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryGetProductDetailsRequest.id": + return x.Id != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryGetProductDetailsRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryGetProductDetailsRequest.id": + x.Id = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryGetProductDetailsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryGetProductDetailsRequest.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryGetProductDetailsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryGetProductDetailsRequest.id": + x.Id = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryGetProductDetailsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryGetProductDetailsRequest.id": + panic(fmt.Errorf("field id of message cardchain.cardchain.QueryGetProductDetailsRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryGetProductDetailsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryGetProductDetailsRequest.id": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryGetProductDetailsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryGetProductDetailsRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryGetProductDetailsRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryGetProductDetailsRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryGetProductDetailsRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryGetProductDetailsRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryGetProductDetailsRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryGetProductDetailsRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryGetProductDetailsRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetProductDetailsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetProductDetailsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryGetProductDetailsResponse protoreflect.MessageDescriptor + fd_QueryGetProductDetailsResponse_ProductDetails protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryGetProductDetailsResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryGetProductDetailsResponse") + fd_QueryGetProductDetailsResponse_ProductDetails = md_QueryGetProductDetailsResponse.Fields().ByName("ProductDetails") +} + +var _ protoreflect.Message = (*fastReflection_QueryGetProductDetailsResponse)(nil) + +type fastReflection_QueryGetProductDetailsResponse QueryGetProductDetailsResponse + +func (x *QueryGetProductDetailsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryGetProductDetailsResponse)(x) +} + +func (x *QueryGetProductDetailsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryGetProductDetailsResponse_messageType fastReflection_QueryGetProductDetailsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryGetProductDetailsResponse_messageType{} + +type fastReflection_QueryGetProductDetailsResponse_messageType struct{} + +func (x fastReflection_QueryGetProductDetailsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryGetProductDetailsResponse)(nil) +} +func (x fastReflection_QueryGetProductDetailsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryGetProductDetailsResponse) +} +func (x fastReflection_QueryGetProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetProductDetailsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryGetProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryGetProductDetailsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryGetProductDetailsResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryGetProductDetailsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryGetProductDetailsResponse) New() protoreflect.Message { + return new(fastReflection_QueryGetProductDetailsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryGetProductDetailsResponse) Interface() protoreflect.ProtoMessage { + return (*QueryGetProductDetailsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryGetProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProductDetails != nil { + value := protoreflect.ValueOfMessage(x.ProductDetails.ProtoReflect()) + if !f(fd_QueryGetProductDetailsResponse_ProductDetails, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryGetProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails": + return x.ProductDetails != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryGetProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails": + x.ProductDetails = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryGetProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails": + value := x.ProductDetails + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryGetProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails": + x.ProductDetails = value.Message().Interface().(*ProductDetails) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryGetProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails": + if x.ProductDetails == nil { + x.ProductDetails = new(ProductDetails) + } + return protoreflect.ValueOfMessage(x.ProductDetails.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryGetProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails": + m := new(ProductDetails) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryGetProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryGetProductDetailsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryGetProductDetailsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryGetProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryGetProductDetailsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryGetProductDetailsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryGetProductDetailsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.ProductDetails != nil { + l = options.Size(x.ProductDetails) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryGetProductDetailsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.ProductDetails != nil { + encoded, err := options.Marshal(x.ProductDetails) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryGetProductDetailsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetProductDetailsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProductDetails", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.ProductDetails == nil { + x.ProductDetails = &ProductDetails{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ProductDetails); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryAllProductDetailsRequest protoreflect.MessageDescriptor + fd_QueryAllProductDetailsRequest_pagination protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryAllProductDetailsRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryAllProductDetailsRequest") + fd_QueryAllProductDetailsRequest_pagination = md_QueryAllProductDetailsRequest.Fields().ByName("pagination") +} + +var _ protoreflect.Message = (*fastReflection_QueryAllProductDetailsRequest)(nil) + +type fastReflection_QueryAllProductDetailsRequest QueryAllProductDetailsRequest + +func (x *QueryAllProductDetailsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryAllProductDetailsRequest)(x) +} + +func (x *QueryAllProductDetailsRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryAllProductDetailsRequest_messageType fastReflection_QueryAllProductDetailsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryAllProductDetailsRequest_messageType{} + +type fastReflection_QueryAllProductDetailsRequest_messageType struct{} + +func (x fastReflection_QueryAllProductDetailsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryAllProductDetailsRequest)(nil) +} +func (x fastReflection_QueryAllProductDetailsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryAllProductDetailsRequest) +} +func (x fastReflection_QueryAllProductDetailsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryAllProductDetailsRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryAllProductDetailsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryAllProductDetailsRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryAllProductDetailsRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryAllProductDetailsRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryAllProductDetailsRequest) New() protoreflect.Message { + return new(fastReflection_QueryAllProductDetailsRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryAllProductDetailsRequest) Interface() protoreflect.ProtoMessage { + return (*QueryAllProductDetailsRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryAllProductDetailsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Pagination != nil { + value := protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + if !f(fd_QueryAllProductDetailsRequest_pagination, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryAllProductDetailsRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryAllProductDetailsRequest.pagination": + return x.Pagination != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllProductDetailsRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryAllProductDetailsRequest.pagination": + x.Pagination = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryAllProductDetailsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryAllProductDetailsRequest.pagination": + value := x.Pagination + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllProductDetailsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryAllProductDetailsRequest.pagination": + x.Pagination = value.Message().Interface().(*v1beta1.PageRequest) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllProductDetailsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryAllProductDetailsRequest.pagination": + if x.Pagination == nil { + x.Pagination = new(v1beta1.PageRequest) + } + return protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryAllProductDetailsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryAllProductDetailsRequest.pagination": + m := new(v1beta1.PageRequest) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryAllProductDetailsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryAllProductDetailsRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryAllProductDetailsRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllProductDetailsRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryAllProductDetailsRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryAllProductDetailsRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryAllProductDetailsRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Pagination != nil { + l = options.Size(x.Pagination) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryAllProductDetailsRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Pagination != nil { + encoded, err := options.Marshal(x.Pagination) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryAllProductDetailsRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAllProductDetailsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAllProductDetailsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Pagination == nil { + x.Pagination = &v1beta1.PageRequest{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pagination); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QueryAllProductDetailsResponse_1_list)(nil) + +type _QueryAllProductDetailsResponse_1_list struct { + list *[]*ProductDetails +} + +func (x *_QueryAllProductDetailsResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryAllProductDetailsResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_QueryAllProductDetailsResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*ProductDetails) + (*x.list)[i] = concreteValue +} + +func (x *_QueryAllProductDetailsResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*ProductDetails) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryAllProductDetailsResponse_1_list) AppendMutable() protoreflect.Value { + v := new(ProductDetails) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryAllProductDetailsResponse_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_QueryAllProductDetailsResponse_1_list) NewElement() protoreflect.Value { + v := new(ProductDetails) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryAllProductDetailsResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryAllProductDetailsResponse protoreflect.MessageDescriptor + fd_QueryAllProductDetailsResponse_ProductDetails protoreflect.FieldDescriptor + fd_QueryAllProductDetailsResponse_pagination protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryAllProductDetailsResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryAllProductDetailsResponse") + fd_QueryAllProductDetailsResponse_ProductDetails = md_QueryAllProductDetailsResponse.Fields().ByName("ProductDetails") + fd_QueryAllProductDetailsResponse_pagination = md_QueryAllProductDetailsResponse.Fields().ByName("pagination") +} + +var _ protoreflect.Message = (*fastReflection_QueryAllProductDetailsResponse)(nil) + +type fastReflection_QueryAllProductDetailsResponse QueryAllProductDetailsResponse + +func (x *QueryAllProductDetailsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryAllProductDetailsResponse)(x) +} + +func (x *QueryAllProductDetailsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryAllProductDetailsResponse_messageType fastReflection_QueryAllProductDetailsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryAllProductDetailsResponse_messageType{} + +type fastReflection_QueryAllProductDetailsResponse_messageType struct{} + +func (x fastReflection_QueryAllProductDetailsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryAllProductDetailsResponse)(nil) +} +func (x fastReflection_QueryAllProductDetailsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryAllProductDetailsResponse) +} +func (x fastReflection_QueryAllProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryAllProductDetailsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryAllProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryAllProductDetailsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryAllProductDetailsResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryAllProductDetailsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryAllProductDetailsResponse) New() protoreflect.Message { + return new(fastReflection_QueryAllProductDetailsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryAllProductDetailsResponse) Interface() protoreflect.ProtoMessage { + return (*QueryAllProductDetailsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryAllProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.ProductDetails) != 0 { + value := protoreflect.ValueOfList(&_QueryAllProductDetailsResponse_1_list{list: &x.ProductDetails}) + if !f(fd_QueryAllProductDetailsResponse_ProductDetails, value) { + return + } + } + if x.Pagination != nil { + value := protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + if !f(fd_QueryAllProductDetailsResponse_pagination, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryAllProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails": + return len(x.ProductDetails) != 0 + case "cardchain.cardchain.QueryAllProductDetailsResponse.pagination": + return x.Pagination != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails": + x.ProductDetails = nil + case "cardchain.cardchain.QueryAllProductDetailsResponse.pagination": + x.Pagination = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryAllProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails": + if len(x.ProductDetails) == 0 { + return protoreflect.ValueOfList(&_QueryAllProductDetailsResponse_1_list{}) + } + listValue := &_QueryAllProductDetailsResponse_1_list{list: &x.ProductDetails} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QueryAllProductDetailsResponse.pagination": + value := x.Pagination + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails": + lv := value.List() + clv := lv.(*_QueryAllProductDetailsResponse_1_list) + x.ProductDetails = *clv.list + case "cardchain.cardchain.QueryAllProductDetailsResponse.pagination": + x.Pagination = value.Message().Interface().(*v1beta1.PageResponse) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails": + if x.ProductDetails == nil { + x.ProductDetails = []*ProductDetails{} + } + value := &_QueryAllProductDetailsResponse_1_list{list: &x.ProductDetails} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QueryAllProductDetailsResponse.pagination": + if x.Pagination == nil { + x.Pagination = new(v1beta1.PageResponse) + } + return protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryAllProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails": + list := []*ProductDetails{} + return protoreflect.ValueOfList(&_QueryAllProductDetailsResponse_1_list{list: &list}) + case "cardchain.cardchain.QueryAllProductDetailsResponse.pagination": + m := new(v1beta1.PageResponse) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryAllProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryAllProductDetailsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryAllProductDetailsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryAllProductDetailsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryAllProductDetailsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryAllProductDetailsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.ProductDetails) > 0 { + for _, e := range x.ProductDetails { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.Pagination != nil { + l = options.Size(x.Pagination) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryAllProductDetailsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Pagination != nil { + encoded, err := options.Marshal(x.Pagination) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.ProductDetails) > 0 { + for iNdEx := len(x.ProductDetails) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.ProductDetails[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryAllProductDetailsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAllProductDetailsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAllProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProductDetails", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ProductDetails = append(x.ProductDetails, &ProductDetails{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ProductDetails[len(x.ProductDetails)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Pagination == nil { + x.Pagination = &v1beta1.PageResponse{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pagination); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -884,6 +2731,154 @@ func (x *QueryParamsResponse) GetParams() *Params { return nil } +type QueryGetProductDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *QueryGetProductDetailsRequest) Reset() { + *x = QueryGetProductDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetProductDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetProductDetailsRequest) ProtoMessage() {} + +// Deprecated: Use QueryGetProductDetailsRequest.ProtoReflect.Descriptor instead. +func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} +} + +func (x *QueryGetProductDetailsRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type QueryGetProductDetailsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProductDetails *ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` +} + +func (x *QueryGetProductDetailsResponse) Reset() { + *x = QueryGetProductDetailsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetProductDetailsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetProductDetailsResponse) ProtoMessage() {} + +// Deprecated: Use QueryGetProductDetailsResponse.ProtoReflect.Descriptor instead. +func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} +} + +func (x *QueryGetProductDetailsResponse) GetProductDetails() *ProductDetails { + if x != nil { + return x.ProductDetails + } + return nil +} + +type QueryAllProductDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryAllProductDetailsRequest) Reset() { + *x = QueryAllProductDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryAllProductDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryAllProductDetailsRequest) ProtoMessage() {} + +// Deprecated: Use QueryAllProductDetailsRequest.ProtoReflect.Descriptor instead. +func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} +} + +func (x *QueryAllProductDetailsRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { + return x.Pagination + } + return nil +} + +type QueryAllProductDetailsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProductDetails []*ProductDetails `protobuf:"bytes,1,rep,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` + Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryAllProductDetailsResponse) Reset() { + *x = QueryAllProductDetailsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryAllProductDetailsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryAllProductDetailsResponse) ProtoMessage() {} + +// Deprecated: Use QueryAllProductDetailsResponse.ProtoReflect.Descriptor instead. +func (*QueryAllProductDetailsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{5} +} + +func (x *QueryAllProductDetailsResponse) GetProductDetails() []*ProductDetails { + if x != nil { + return x.ProductDetails + } + return nil +} + +func (x *QueryAllProductDetailsResponse) GetPagination() *v1beta1.PageResponse { + if x != nil { + return x.Pagination + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -899,38 +2894,93 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, - 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x32, 0x9c, 0x01, 0x0a, 0x05, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x32, 0x9c, 0x04, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, + 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, + 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -945,21 +2995,36 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ - (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest - (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse - (*Params)(nil), // 2: cardchain.cardchain.Params + (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest + (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse + (*QueryGetProductDetailsRequest)(nil), // 2: cardchain.cardchain.QueryGetProductDetailsRequest + (*QueryGetProductDetailsResponse)(nil), // 3: cardchain.cardchain.QueryGetProductDetailsResponse + (*QueryAllProductDetailsRequest)(nil), // 4: cardchain.cardchain.QueryAllProductDetailsRequest + (*QueryAllProductDetailsResponse)(nil), // 5: cardchain.cardchain.QueryAllProductDetailsResponse + (*Params)(nil), // 6: cardchain.cardchain.Params + (*ProductDetails)(nil), // 7: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 8: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 9: cosmos.base.query.v1beta1.PageResponse } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 2, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 0, // 1: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 1, // 2: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 2, // [2:3] is the sub-list for method output_type - 1, // [1:2] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name + 6, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 7, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 8, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 7, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 9, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 0, // 5: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 6: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 7: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 1, // 8: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 9: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 10: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 8, // [8:11] is the sub-list for method output_type + 5, // [5:8] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -968,6 +3033,7 @@ func file_cardchain_cardchain_query_proto_init() { return } file_cardchain_cardchain_params_proto_init() + file_cardchain_cardchain_product_details_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsRequest); i { @@ -993,6 +3059,54 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryGetProductDetailsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryGetProductDetailsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryAllProductDetailsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryAllProductDetailsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1000,7 +3114,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 2, + NumMessages: 6, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 641cf1eb..eaabaeb4 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -19,7 +19,9 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - Query_Params_FullMethodName = "/cardchain.cardchain.Query/Params" + Query_Params_FullMethodName = "/cardchain.cardchain.Query/Params" + Query_ProductDetails_FullMethodName = "/cardchain.cardchain.Query/ProductDetails" + Query_ProductDetailsAll_FullMethodName = "/cardchain.cardchain.Query/ProductDetailsAll" ) // QueryClient is the client API for Query service. @@ -28,6 +30,9 @@ const ( 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 ProductDetails items. + ProductDetails(ctx context.Context, in *QueryGetProductDetailsRequest, opts ...grpc.CallOption) (*QueryGetProductDetailsResponse, error) + ProductDetailsAll(ctx context.Context, in *QueryAllProductDetailsRequest, opts ...grpc.CallOption) (*QueryAllProductDetailsResponse, error) } type queryClient struct { @@ -47,12 +52,33 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . return out, nil } +func (c *queryClient) ProductDetails(ctx context.Context, in *QueryGetProductDetailsRequest, opts ...grpc.CallOption) (*QueryGetProductDetailsResponse, error) { + out := new(QueryGetProductDetailsResponse) + err := c.cc.Invoke(ctx, Query_ProductDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) ProductDetailsAll(ctx context.Context, in *QueryAllProductDetailsRequest, opts ...grpc.CallOption) (*QueryAllProductDetailsResponse, error) { + out := new(QueryAllProductDetailsResponse) + err := c.cc.Invoke(ctx, Query_ProductDetailsAll_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility type QueryServer interface { // Parameters queries the parameters of the module. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + // Queries a list of ProductDetails items. + ProductDetails(context.Context, *QueryGetProductDetailsRequest) (*QueryGetProductDetailsResponse, error) + ProductDetailsAll(context.Context, *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) mustEmbedUnimplementedQueryServer() } @@ -63,6 +89,12 @@ type UnimplementedQueryServer struct { func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } +func (UnimplementedQueryServer) ProductDetails(context.Context, *QueryGetProductDetailsRequest) (*QueryGetProductDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProductDetails not implemented") +} +func (UnimplementedQueryServer) ProductDetailsAll(context.Context, *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProductDetailsAll not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -94,6 +126,42 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +func _Query_ProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGetProductDetailsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ProductDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_ProductDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ProductDetails(ctx, req.(*QueryGetProductDetailsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_ProductDetailsAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAllProductDetailsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ProductDetailsAll(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_ProductDetailsAll_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ProductDetailsAll(ctx, req.(*QueryAllProductDetailsRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -105,6 +173,14 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Params", Handler: _Query_Params_Handler, }, + { + MethodName: "ProductDetails", + Handler: _Query_ProductDetails_Handler, + }, + { + MethodName: "ProductDetailsAll", + Handler: _Query_ProductDetailsAll_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/api/cardchain/cardchain/running_average.pulsar.go b/api/cardchain/cardchain/running_average.pulsar.go new file mode 100644 index 00000000..9cff2c1b --- /dev/null +++ b/api/cardchain/cardchain/running_average.pulsar.go @@ -0,0 +1,687 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var _ protoreflect.List = (*_RunningAverage_1_list)(nil) + +type _RunningAverage_1_list struct { + list *[]int64 +} + +func (x *_RunningAverage_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_RunningAverage_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfInt64((*x.list)[i]) +} + +func (x *_RunningAverage_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Int() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_RunningAverage_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Int() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_RunningAverage_1_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message RunningAverage at list field Arr as it is not of Message kind")) +} + +func (x *_RunningAverage_1_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_RunningAverage_1_list) NewElement() protoreflect.Value { + v := int64(0) + return protoreflect.ValueOfInt64(v) +} + +func (x *_RunningAverage_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_RunningAverage protoreflect.MessageDescriptor + fd_RunningAverage_arr protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_running_average_proto_init() + md_RunningAverage = File_cardchain_cardchain_running_average_proto.Messages().ByName("RunningAverage") + fd_RunningAverage_arr = md_RunningAverage.Fields().ByName("arr") +} + +var _ protoreflect.Message = (*fastReflection_RunningAverage)(nil) + +type fastReflection_RunningAverage RunningAverage + +func (x *RunningAverage) ProtoReflect() protoreflect.Message { + return (*fastReflection_RunningAverage)(x) +} + +func (x *RunningAverage) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_running_average_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_RunningAverage_messageType fastReflection_RunningAverage_messageType +var _ protoreflect.MessageType = fastReflection_RunningAverage_messageType{} + +type fastReflection_RunningAverage_messageType struct{} + +func (x fastReflection_RunningAverage_messageType) Zero() protoreflect.Message { + return (*fastReflection_RunningAverage)(nil) +} +func (x fastReflection_RunningAverage_messageType) New() protoreflect.Message { + return new(fastReflection_RunningAverage) +} +func (x fastReflection_RunningAverage_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_RunningAverage +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_RunningAverage) Descriptor() protoreflect.MessageDescriptor { + return md_RunningAverage +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_RunningAverage) Type() protoreflect.MessageType { + return _fastReflection_RunningAverage_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_RunningAverage) New() protoreflect.Message { + return new(fastReflection_RunningAverage) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_RunningAverage) Interface() protoreflect.ProtoMessage { + return (*RunningAverage)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_RunningAverage) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Arr) != 0 { + value := protoreflect.ValueOfList(&_RunningAverage_1_list{list: &x.Arr}) + if !f(fd_RunningAverage_arr, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_RunningAverage) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.RunningAverage.arr": + return len(x.Arr) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.RunningAverage")) + } + panic(fmt.Errorf("message cardchain.cardchain.RunningAverage does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_RunningAverage) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.RunningAverage.arr": + x.Arr = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.RunningAverage")) + } + panic(fmt.Errorf("message cardchain.cardchain.RunningAverage does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_RunningAverage) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.RunningAverage.arr": + if len(x.Arr) == 0 { + return protoreflect.ValueOfList(&_RunningAverage_1_list{}) + } + listValue := &_RunningAverage_1_list{list: &x.Arr} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.RunningAverage")) + } + panic(fmt.Errorf("message cardchain.cardchain.RunningAverage does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_RunningAverage) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.RunningAverage.arr": + lv := value.List() + clv := lv.(*_RunningAverage_1_list) + x.Arr = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.RunningAverage")) + } + panic(fmt.Errorf("message cardchain.cardchain.RunningAverage does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_RunningAverage) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.RunningAverage.arr": + if x.Arr == nil { + x.Arr = []int64{} + } + value := &_RunningAverage_1_list{list: &x.Arr} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.RunningAverage")) + } + panic(fmt.Errorf("message cardchain.cardchain.RunningAverage does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_RunningAverage) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.RunningAverage.arr": + list := []int64{} + return protoreflect.ValueOfList(&_RunningAverage_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.RunningAverage")) + } + panic(fmt.Errorf("message cardchain.cardchain.RunningAverage does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_RunningAverage) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.RunningAverage", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_RunningAverage) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_RunningAverage) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_RunningAverage) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_RunningAverage) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*RunningAverage) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Arr) > 0 { + l = 0 + for _, e := range x.Arr { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*RunningAverage) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Arr) > 0 { + var pksize2 int + for _, num := range x.Arr { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num1 := range x.Arr { + num := uint64(num1) + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*RunningAverage) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: RunningAverage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: RunningAverage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType == 0 { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Arr = append(x.Arr, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.Arr) == 0 { + x.Arr = make([]int64, 0, elementCount) + } + for iNdEx < postIndex { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Arr = append(x.Arr, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Arr", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/running_average.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type RunningAverage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Arr []int64 `protobuf:"varint,1,rep,packed,name=arr,proto3" json:"arr,omitempty"` +} + +func (x *RunningAverage) Reset() { + *x = RunningAverage{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_running_average_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RunningAverage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunningAverage) ProtoMessage() {} + +// Deprecated: Use RunningAverage.ProtoReflect.Descriptor instead. +func (*RunningAverage) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_running_average_proto_rawDescGZIP(), []int{0} +} + +func (x *RunningAverage) GetArr() []int64 { + if x != nil { + return x.Arr + } + return nil +} + +var File_cardchain_cardchain_running_average_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_running_average_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x76, + 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x22, 0x22, 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, + 0x03, 0x61, 0x72, 0x72, 0x42, 0xdb, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x42, 0x13, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_running_average_proto_rawDescOnce sync.Once + file_cardchain_cardchain_running_average_proto_rawDescData = file_cardchain_cardchain_running_average_proto_rawDesc +) + +func file_cardchain_cardchain_running_average_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_running_average_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_running_average_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_running_average_proto_rawDescData) + }) + return file_cardchain_cardchain_running_average_proto_rawDescData +} + +var file_cardchain_cardchain_running_average_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_running_average_proto_goTypes = []interface{}{ + (*RunningAverage)(nil), // 0: cardchain.cardchain.RunningAverage +} +var file_cardchain_cardchain_running_average_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_running_average_proto_init() } +func file_cardchain_cardchain_running_average_proto_init() { + if File_cardchain_cardchain_running_average_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_running_average_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunningAverage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_running_average_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_running_average_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_running_average_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_running_average_proto_msgTypes, + }.Build() + File_cardchain_cardchain_running_average_proto = out.File + file_cardchain_cardchain_running_average_proto_rawDesc = nil + file_cardchain_cardchain_running_average_proto_goTypes = nil + file_cardchain_cardchain_running_average_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/sell_offer.pulsar.go b/api/cardchain/cardchain/sell_offer.pulsar.go new file mode 100644 index 00000000..55fde4b3 --- /dev/null +++ b/api/cardchain/cardchain/sell_offer.pulsar.go @@ -0,0 +1,914 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_SellOffer protoreflect.MessageDescriptor + fd_SellOffer_seller protoreflect.FieldDescriptor + fd_SellOffer_buyer protoreflect.FieldDescriptor + fd_SellOffer_card protoreflect.FieldDescriptor + fd_SellOffer_price protoreflect.FieldDescriptor + fd_SellOffer_status protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_sell_offer_proto_init() + md_SellOffer = File_cardchain_cardchain_sell_offer_proto.Messages().ByName("SellOffer") + fd_SellOffer_seller = md_SellOffer.Fields().ByName("seller") + fd_SellOffer_buyer = md_SellOffer.Fields().ByName("buyer") + fd_SellOffer_card = md_SellOffer.Fields().ByName("card") + fd_SellOffer_price = md_SellOffer.Fields().ByName("price") + fd_SellOffer_status = md_SellOffer.Fields().ByName("status") +} + +var _ protoreflect.Message = (*fastReflection_SellOffer)(nil) + +type fastReflection_SellOffer SellOffer + +func (x *SellOffer) ProtoReflect() protoreflect.Message { + return (*fastReflection_SellOffer)(x) +} + +func (x *SellOffer) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_sell_offer_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_SellOffer_messageType fastReflection_SellOffer_messageType +var _ protoreflect.MessageType = fastReflection_SellOffer_messageType{} + +type fastReflection_SellOffer_messageType struct{} + +func (x fastReflection_SellOffer_messageType) Zero() protoreflect.Message { + return (*fastReflection_SellOffer)(nil) +} +func (x fastReflection_SellOffer_messageType) New() protoreflect.Message { + return new(fastReflection_SellOffer) +} +func (x fastReflection_SellOffer_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_SellOffer +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_SellOffer) Descriptor() protoreflect.MessageDescriptor { + return md_SellOffer +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_SellOffer) Type() protoreflect.MessageType { + return _fastReflection_SellOffer_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_SellOffer) New() protoreflect.Message { + return new(fastReflection_SellOffer) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_SellOffer) Interface() protoreflect.ProtoMessage { + return (*SellOffer)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_SellOffer) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Seller != "" { + value := protoreflect.ValueOfString(x.Seller) + if !f(fd_SellOffer_seller, value) { + return + } + } + if x.Buyer != "" { + value := protoreflect.ValueOfString(x.Buyer) + if !f(fd_SellOffer_buyer, value) { + return + } + } + if x.Card != uint64(0) { + value := protoreflect.ValueOfUint64(x.Card) + if !f(fd_SellOffer_card, value) { + return + } + } + if x.Price != nil { + value := protoreflect.ValueOfMessage(x.Price.ProtoReflect()) + if !f(fd_SellOffer_price, value) { + return + } + } + if x.Status != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Status)) + if !f(fd_SellOffer_status, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_SellOffer) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.SellOffer.seller": + return x.Seller != "" + case "cardchain.cardchain.SellOffer.buyer": + return x.Buyer != "" + case "cardchain.cardchain.SellOffer.card": + return x.Card != uint64(0) + case "cardchain.cardchain.SellOffer.price": + return x.Price != nil + case "cardchain.cardchain.SellOffer.status": + return x.Status != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SellOffer")) + } + panic(fmt.Errorf("message cardchain.cardchain.SellOffer does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SellOffer) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.SellOffer.seller": + x.Seller = "" + case "cardchain.cardchain.SellOffer.buyer": + x.Buyer = "" + case "cardchain.cardchain.SellOffer.card": + x.Card = uint64(0) + case "cardchain.cardchain.SellOffer.price": + x.Price = nil + case "cardchain.cardchain.SellOffer.status": + x.Status = 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SellOffer")) + } + panic(fmt.Errorf("message cardchain.cardchain.SellOffer does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_SellOffer) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.SellOffer.seller": + value := x.Seller + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.SellOffer.buyer": + value := x.Buyer + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.SellOffer.card": + value := x.Card + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.SellOffer.price": + value := x.Price + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.SellOffer.status": + value := x.Status + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SellOffer")) + } + panic(fmt.Errorf("message cardchain.cardchain.SellOffer does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SellOffer) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.SellOffer.seller": + x.Seller = value.Interface().(string) + case "cardchain.cardchain.SellOffer.buyer": + x.Buyer = value.Interface().(string) + case "cardchain.cardchain.SellOffer.card": + x.Card = value.Uint() + case "cardchain.cardchain.SellOffer.price": + x.Price = value.Message().Interface().(*v1beta1.Coin) + case "cardchain.cardchain.SellOffer.status": + x.Status = (SellOfferStatus)(value.Enum()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SellOffer")) + } + panic(fmt.Errorf("message cardchain.cardchain.SellOffer does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SellOffer) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.SellOffer.price": + if x.Price == nil { + x.Price = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Price.ProtoReflect()) + case "cardchain.cardchain.SellOffer.seller": + panic(fmt.Errorf("field seller of message cardchain.cardchain.SellOffer is not mutable")) + case "cardchain.cardchain.SellOffer.buyer": + panic(fmt.Errorf("field buyer of message cardchain.cardchain.SellOffer is not mutable")) + case "cardchain.cardchain.SellOffer.card": + panic(fmt.Errorf("field card of message cardchain.cardchain.SellOffer is not mutable")) + case "cardchain.cardchain.SellOffer.status": + panic(fmt.Errorf("field status of message cardchain.cardchain.SellOffer is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SellOffer")) + } + panic(fmt.Errorf("message cardchain.cardchain.SellOffer does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_SellOffer) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.SellOffer.seller": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.SellOffer.buyer": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.SellOffer.card": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.SellOffer.price": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.SellOffer.status": + return protoreflect.ValueOfEnum(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SellOffer")) + } + panic(fmt.Errorf("message cardchain.cardchain.SellOffer does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_SellOffer) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.SellOffer", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_SellOffer) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SellOffer) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_SellOffer) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_SellOffer) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*SellOffer) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Seller) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Buyer) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Card != 0 { + n += 1 + runtime.Sov(uint64(x.Card)) + } + if x.Price != nil { + l = options.Size(x.Price) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Status != 0 { + n += 1 + runtime.Sov(uint64(x.Status)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*SellOffer) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Status != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Status)) + i-- + dAtA[i] = 0x28 + } + if x.Price != nil { + encoded, err := options.Marshal(x.Price) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x22 + } + if x.Card != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Card)) + i-- + dAtA[i] = 0x18 + } + if len(x.Buyer) > 0 { + i -= len(x.Buyer) + copy(dAtA[i:], x.Buyer) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Buyer))) + i-- + dAtA[i] = 0x12 + } + if len(x.Seller) > 0 { + i -= len(x.Seller) + copy(dAtA[i:], x.Seller) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Seller))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*SellOffer) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: SellOffer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: SellOffer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Seller", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Seller = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Buyer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Buyer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) + } + x.Card = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Card |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Price == nil { + x.Price = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Price); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + x.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Status |= SellOfferStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/sell_offer.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type SellOfferStatus int32 + +const ( + SellOfferStatus_open SellOfferStatus = 0 + SellOfferStatus_sold SellOfferStatus = 1 + SellOfferStatus_removed SellOfferStatus = 2 +) + +// Enum value maps for SellOfferStatus. +var ( + SellOfferStatus_name = map[int32]string{ + 0: "open", + 1: "sold", + 2: "removed", + } + SellOfferStatus_value = map[string]int32{ + "open": 0, + "sold": 1, + "removed": 2, + } +) + +func (x SellOfferStatus) Enum() *SellOfferStatus { + p := new(SellOfferStatus) + *p = x + return p +} + +func (x SellOfferStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SellOfferStatus) Descriptor() protoreflect.EnumDescriptor { + return file_cardchain_cardchain_sell_offer_proto_enumTypes[0].Descriptor() +} + +func (SellOfferStatus) Type() protoreflect.EnumType { + return &file_cardchain_cardchain_sell_offer_proto_enumTypes[0] +} + +func (x SellOfferStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SellOfferStatus.Descriptor instead. +func (SellOfferStatus) EnumDescriptor() ([]byte, []int) { + return file_cardchain_cardchain_sell_offer_proto_rawDescGZIP(), []int{0} +} + +type SellOffer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Seller string `protobuf:"bytes,1,opt,name=seller,proto3" json:"seller,omitempty"` + Buyer string `protobuf:"bytes,2,opt,name=buyer,proto3" json:"buyer,omitempty"` + Card uint64 `protobuf:"varint,3,opt,name=card,proto3" json:"card,omitempty"` + Price *v1beta1.Coin `protobuf:"bytes,4,opt,name=price,proto3" json:"price,omitempty"` + Status SellOfferStatus `protobuf:"varint,5,opt,name=status,proto3,enum=cardchain.cardchain.SellOfferStatus" json:"status,omitempty"` +} + +func (x *SellOffer) Reset() { + *x = SellOffer{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_sell_offer_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SellOffer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SellOffer) ProtoMessage() {} + +// Deprecated: Use SellOffer.ProtoReflect.Descriptor instead. +func (*SellOffer) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_sell_offer_proto_rawDescGZIP(), []int{0} +} + +func (x *SellOffer) GetSeller() string { + if x != nil { + return x.Seller + } + return "" +} + +func (x *SellOffer) GetBuyer() string { + if x != nil { + return x.Buyer + } + return "" +} + +func (x *SellOffer) GetCard() uint64 { + if x != nil { + return x.Card + } + return 0 +} + +func (x *SellOffer) GetPrice() *v1beta1.Coin { + if x != nil { + return x.Price + } + return nil +} + +func (x *SellOffer) GetStatus() SellOfferStatus { + if x != nil { + return x.Status + } + return SellOfferStatus_open +} + +var File_cardchain_cardchain_sell_offer_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_sell_offer_proto_rawDesc = []byte{ + 0x0a, 0x24, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x14, 0x67, 0x6f, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xc2, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x63, 0x61, 0x72, + 0x64, 0x12, 0x35, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, + 0x00, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x32, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x6f, 0x70, 0x65, + 0x6e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x10, 0x01, 0x12, 0x0b, 0x0a, + 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x10, 0x02, 0x42, 0xd6, 0x01, 0x0a, 0x17, 0x63, + 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, + 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_sell_offer_proto_rawDescOnce sync.Once + file_cardchain_cardchain_sell_offer_proto_rawDescData = file_cardchain_cardchain_sell_offer_proto_rawDesc +) + +func file_cardchain_cardchain_sell_offer_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_sell_offer_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_sell_offer_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_sell_offer_proto_rawDescData) + }) + return file_cardchain_cardchain_sell_offer_proto_rawDescData +} + +var file_cardchain_cardchain_sell_offer_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_cardchain_cardchain_sell_offer_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_sell_offer_proto_goTypes = []interface{}{ + (SellOfferStatus)(0), // 0: cardchain.cardchain.SellOfferStatus + (*SellOffer)(nil), // 1: cardchain.cardchain.SellOffer + (*v1beta1.Coin)(nil), // 2: cosmos.base.v1beta1.Coin +} +var file_cardchain_cardchain_sell_offer_proto_depIdxs = []int32{ + 2, // 0: cardchain.cardchain.SellOffer.price:type_name -> cosmos.base.v1beta1.Coin + 0, // 1: cardchain.cardchain.SellOffer.status:type_name -> cardchain.cardchain.SellOfferStatus + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_sell_offer_proto_init() } +func file_cardchain_cardchain_sell_offer_proto_init() { + if File_cardchain_cardchain_sell_offer_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_sell_offer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SellOffer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_sell_offer_proto_rawDesc, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_sell_offer_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_sell_offer_proto_depIdxs, + EnumInfos: file_cardchain_cardchain_sell_offer_proto_enumTypes, + MessageInfos: file_cardchain_cardchain_sell_offer_proto_msgTypes, + }.Build() + File_cardchain_cardchain_sell_offer_proto = out.File + file_cardchain_cardchain_sell_offer_proto_rawDesc = nil + file_cardchain_cardchain_sell_offer_proto_goTypes = nil + file_cardchain_cardchain_sell_offer_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/server.pulsar.go b/api/cardchain/cardchain/server.pulsar.go new file mode 100644 index 00000000..e8d66d38 --- /dev/null +++ b/api/cardchain/cardchain/server.pulsar.go @@ -0,0 +1,686 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_Server protoreflect.MessageDescriptor + fd_Server_reporter protoreflect.FieldDescriptor + fd_Server_invalidReports protoreflect.FieldDescriptor + fd_Server_validReports protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_server_proto_init() + md_Server = File_cardchain_cardchain_server_proto.Messages().ByName("Server") + fd_Server_reporter = md_Server.Fields().ByName("reporter") + fd_Server_invalidReports = md_Server.Fields().ByName("invalidReports") + fd_Server_validReports = md_Server.Fields().ByName("validReports") +} + +var _ protoreflect.Message = (*fastReflection_Server)(nil) + +type fastReflection_Server Server + +func (x *Server) ProtoReflect() protoreflect.Message { + return (*fastReflection_Server)(x) +} + +func (x *Server) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_server_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Server_messageType fastReflection_Server_messageType +var _ protoreflect.MessageType = fastReflection_Server_messageType{} + +type fastReflection_Server_messageType struct{} + +func (x fastReflection_Server_messageType) Zero() protoreflect.Message { + return (*fastReflection_Server)(nil) +} +func (x fastReflection_Server_messageType) New() protoreflect.Message { + return new(fastReflection_Server) +} +func (x fastReflection_Server_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Server +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Server) Descriptor() protoreflect.MessageDescriptor { + return md_Server +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Server) Type() protoreflect.MessageType { + return _fastReflection_Server_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Server) New() protoreflect.Message { + return new(fastReflection_Server) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Server) Interface() protoreflect.ProtoMessage { + return (*Server)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Server) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Reporter != "" { + value := protoreflect.ValueOfString(x.Reporter) + if !f(fd_Server_reporter, value) { + return + } + } + if x.InvalidReports != uint64(0) { + value := protoreflect.ValueOfUint64(x.InvalidReports) + if !f(fd_Server_invalidReports, value) { + return + } + } + if x.ValidReports != uint64(0) { + value := protoreflect.ValueOfUint64(x.ValidReports) + if !f(fd_Server_validReports, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Server) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.Server.reporter": + return x.Reporter != "" + case "cardchain.cardchain.Server.invalidReports": + return x.InvalidReports != uint64(0) + case "cardchain.cardchain.Server.validReports": + return x.ValidReports != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Server")) + } + panic(fmt.Errorf("message cardchain.cardchain.Server does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Server) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.Server.reporter": + x.Reporter = "" + case "cardchain.cardchain.Server.invalidReports": + x.InvalidReports = uint64(0) + case "cardchain.cardchain.Server.validReports": + x.ValidReports = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Server")) + } + panic(fmt.Errorf("message cardchain.cardchain.Server does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Server) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.Server.reporter": + value := x.Reporter + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.Server.invalidReports": + value := x.InvalidReports + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Server.validReports": + value := x.ValidReports + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Server")) + } + panic(fmt.Errorf("message cardchain.cardchain.Server does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Server) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.Server.reporter": + x.Reporter = value.Interface().(string) + case "cardchain.cardchain.Server.invalidReports": + x.InvalidReports = value.Uint() + case "cardchain.cardchain.Server.validReports": + x.ValidReports = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Server")) + } + panic(fmt.Errorf("message cardchain.cardchain.Server does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Server) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Server.reporter": + panic(fmt.Errorf("field reporter of message cardchain.cardchain.Server is not mutable")) + case "cardchain.cardchain.Server.invalidReports": + panic(fmt.Errorf("field invalidReports of message cardchain.cardchain.Server is not mutable")) + case "cardchain.cardchain.Server.validReports": + panic(fmt.Errorf("field validReports of message cardchain.cardchain.Server is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Server")) + } + panic(fmt.Errorf("message cardchain.cardchain.Server does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Server) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Server.reporter": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.Server.invalidReports": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Server.validReports": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Server")) + } + panic(fmt.Errorf("message cardchain.cardchain.Server does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Server) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.Server", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Server) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Server) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Server) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Server) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Server) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Reporter) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.InvalidReports != 0 { + n += 1 + runtime.Sov(uint64(x.InvalidReports)) + } + if x.ValidReports != 0 { + n += 1 + runtime.Sov(uint64(x.ValidReports)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Server) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.ValidReports != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ValidReports)) + i-- + dAtA[i] = 0x18 + } + if x.InvalidReports != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.InvalidReports)) + i-- + dAtA[i] = 0x10 + } + if len(x.Reporter) > 0 { + i -= len(x.Reporter) + copy(dAtA[i:], x.Reporter) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reporter))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Server) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Server: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Server: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reporter", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Reporter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field InvalidReports", wireType) + } + x.InvalidReports = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.InvalidReports |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidReports", wireType) + } + x.ValidReports = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.ValidReports |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/server.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Server struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reporter string `protobuf:"bytes,1,opt,name=reporter,proto3" json:"reporter,omitempty"` + InvalidReports uint64 `protobuf:"varint,2,opt,name=invalidReports,proto3" json:"invalidReports,omitempty"` + ValidReports uint64 `protobuf:"varint,3,opt,name=validReports,proto3" json:"validReports,omitempty"` +} + +func (x *Server) Reset() { + *x = Server{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_server_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Server) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Server) ProtoMessage() {} + +// Deprecated: Use Server.ProtoReflect.Descriptor instead. +func (*Server) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_server_proto_rawDescGZIP(), []int{0} +} + +func (x *Server) GetReporter() string { + if x != nil { + return x.Reporter + } + return "" +} + +func (x *Server) GetInvalidReports() uint64 { + if x != nil { + return x.InvalidReports + } + return 0 +} + +func (x *Server) GetValidReports() uint64 { + if x != nil { + return x.ValidReports + } + return 0 +} + +var File_cardchain_cardchain_server_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_server_proto_rawDesc = []byte{ + 0x0a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x22, 0x70, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x26, 0x0a, + 0x0e, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0xd3, 0x01, 0x0a, 0x17, 0x63, 0x6f, + 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_server_proto_rawDescOnce sync.Once + file_cardchain_cardchain_server_proto_rawDescData = file_cardchain_cardchain_server_proto_rawDesc +) + +func file_cardchain_cardchain_server_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_server_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_server_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_server_proto_rawDescData) + }) + return file_cardchain_cardchain_server_proto_rawDescData +} + +var file_cardchain_cardchain_server_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_server_proto_goTypes = []interface{}{ + (*Server)(nil), // 0: cardchain.cardchain.Server +} +var file_cardchain_cardchain_server_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_server_proto_init() } +func file_cardchain_cardchain_server_proto_init() { + if File_cardchain_cardchain_server_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_server_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Server); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_server_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_server_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_server_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_server_proto_msgTypes, + }.Build() + File_cardchain_cardchain_server_proto = out.File + file_cardchain_cardchain_server_proto_rawDesc = nil + file_cardchain_cardchain_server_proto_goTypes = nil + file_cardchain_cardchain_server_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go new file mode 100644 index 00000000..84be5f2e --- /dev/null +++ b/api/cardchain/cardchain/set.pulsar.go @@ -0,0 +1,3424 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var _ protoreflect.List = (*_Set_2_list)(nil) + +type _Set_2_list struct { + list *[]uint64 +} + +func (x *_Set_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Set_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_Set_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_Set_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_Set_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Set at list field Cards as it is not of Message kind")) +} + +func (x *_Set_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_Set_2_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_Set_2_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_Set_5_list)(nil) + +type _Set_5_list struct { + list *[]string +} + +func (x *_Set_5_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Set_5_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_Set_5_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_Set_5_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_Set_5_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Set at list field Contributors as it is not of Message kind")) +} + +func (x *_Set_5_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_Set_5_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Set_5_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_Set_10_list)(nil) + +type _Set_10_list struct { + list *[]*AddrWithQuantity +} + +func (x *_Set_10_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Set_10_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_Set_10_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*AddrWithQuantity) + (*x.list)[i] = concreteValue +} + +func (x *_Set_10_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*AddrWithQuantity) + *x.list = append(*x.list, concreteValue) +} + +func (x *_Set_10_list) AppendMutable() protoreflect.Value { + v := new(AddrWithQuantity) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Set_10_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_Set_10_list) NewElement() protoreflect.Value { + v := new(AddrWithQuantity) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Set_10_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_Set_11_list)(nil) + +type _Set_11_list struct { + list *[]*InnerRarities +} + +func (x *_Set_11_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Set_11_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_Set_11_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*InnerRarities) + (*x.list)[i] = concreteValue +} + +func (x *_Set_11_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*InnerRarities) + *x.list = append(*x.list, concreteValue) +} + +func (x *_Set_11_list) AppendMutable() protoreflect.Value { + v := new(InnerRarities) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Set_11_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_Set_11_list) NewElement() protoreflect.Value { + v := new(InnerRarities) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Set_11_list) IsValid() bool { + return x.list != nil +} + +var ( + md_Set protoreflect.MessageDescriptor + fd_Set_name protoreflect.FieldDescriptor + fd_Set_cards protoreflect.FieldDescriptor + fd_Set_artist protoreflect.FieldDescriptor + fd_Set_storyWriter protoreflect.FieldDescriptor + fd_Set_contributors protoreflect.FieldDescriptor + fd_Set_story protoreflect.FieldDescriptor + fd_Set_artworkId protoreflect.FieldDescriptor + fd_Set_status protoreflect.FieldDescriptor + fd_Set_timeStamp protoreflect.FieldDescriptor + fd_Set_contributorsDistribution protoreflect.FieldDescriptor + fd_Set_Rarities protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_set_proto_init() + md_Set = File_cardchain_cardchain_set_proto.Messages().ByName("Set") + fd_Set_name = md_Set.Fields().ByName("name") + fd_Set_cards = md_Set.Fields().ByName("cards") + fd_Set_artist = md_Set.Fields().ByName("artist") + fd_Set_storyWriter = md_Set.Fields().ByName("storyWriter") + fd_Set_contributors = md_Set.Fields().ByName("contributors") + fd_Set_story = md_Set.Fields().ByName("story") + fd_Set_artworkId = md_Set.Fields().ByName("artworkId") + fd_Set_status = md_Set.Fields().ByName("status") + fd_Set_timeStamp = md_Set.Fields().ByName("timeStamp") + fd_Set_contributorsDistribution = md_Set.Fields().ByName("contributorsDistribution") + fd_Set_Rarities = md_Set.Fields().ByName("Rarities") +} + +var _ protoreflect.Message = (*fastReflection_Set)(nil) + +type fastReflection_Set Set + +func (x *Set) ProtoReflect() protoreflect.Message { + return (*fastReflection_Set)(x) +} + +func (x *Set) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_set_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Set_messageType fastReflection_Set_messageType +var _ protoreflect.MessageType = fastReflection_Set_messageType{} + +type fastReflection_Set_messageType struct{} + +func (x fastReflection_Set_messageType) Zero() protoreflect.Message { + return (*fastReflection_Set)(nil) +} +func (x fastReflection_Set_messageType) New() protoreflect.Message { + return new(fastReflection_Set) +} +func (x fastReflection_Set_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Set +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Set) Descriptor() protoreflect.MessageDescriptor { + return md_Set +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Set) Type() protoreflect.MessageType { + return _fastReflection_Set_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Set) New() protoreflect.Message { + return new(fastReflection_Set) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Set) Interface() protoreflect.ProtoMessage { + return (*Set)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Set) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_Set_name, value) { + return + } + } + if len(x.Cards) != 0 { + value := protoreflect.ValueOfList(&_Set_2_list{list: &x.Cards}) + if !f(fd_Set_cards, value) { + return + } + } + if x.Artist != "" { + value := protoreflect.ValueOfString(x.Artist) + if !f(fd_Set_artist, value) { + return + } + } + if x.StoryWriter != "" { + value := protoreflect.ValueOfString(x.StoryWriter) + if !f(fd_Set_storyWriter, value) { + return + } + } + if len(x.Contributors) != 0 { + value := protoreflect.ValueOfList(&_Set_5_list{list: &x.Contributors}) + if !f(fd_Set_contributors, value) { + return + } + } + if x.Story != "" { + value := protoreflect.ValueOfString(x.Story) + if !f(fd_Set_story, value) { + return + } + } + if x.ArtworkId != uint64(0) { + value := protoreflect.ValueOfUint64(x.ArtworkId) + if !f(fd_Set_artworkId, value) { + return + } + } + if x.Status != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Status)) + if !f(fd_Set_status, value) { + return + } + } + if x.TimeStamp != int64(0) { + value := protoreflect.ValueOfInt64(x.TimeStamp) + if !f(fd_Set_timeStamp, value) { + return + } + } + if len(x.ContributorsDistribution) != 0 { + value := protoreflect.ValueOfList(&_Set_10_list{list: &x.ContributorsDistribution}) + if !f(fd_Set_contributorsDistribution, value) { + return + } + } + if len(x.Rarities) != 0 { + value := protoreflect.ValueOfList(&_Set_11_list{list: &x.Rarities}) + if !f(fd_Set_Rarities, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Set) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.Set.name": + return x.Name != "" + case "cardchain.cardchain.Set.cards": + return len(x.Cards) != 0 + case "cardchain.cardchain.Set.artist": + return x.Artist != "" + case "cardchain.cardchain.Set.storyWriter": + return x.StoryWriter != "" + case "cardchain.cardchain.Set.contributors": + return len(x.Contributors) != 0 + case "cardchain.cardchain.Set.story": + return x.Story != "" + case "cardchain.cardchain.Set.artworkId": + return x.ArtworkId != uint64(0) + case "cardchain.cardchain.Set.status": + return x.Status != 0 + case "cardchain.cardchain.Set.timeStamp": + return x.TimeStamp != int64(0) + case "cardchain.cardchain.Set.contributorsDistribution": + return len(x.ContributorsDistribution) != 0 + case "cardchain.cardchain.Set.Rarities": + return len(x.Rarities) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Set")) + } + panic(fmt.Errorf("message cardchain.cardchain.Set does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Set) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.Set.name": + x.Name = "" + case "cardchain.cardchain.Set.cards": + x.Cards = nil + case "cardchain.cardchain.Set.artist": + x.Artist = "" + case "cardchain.cardchain.Set.storyWriter": + x.StoryWriter = "" + case "cardchain.cardchain.Set.contributors": + x.Contributors = nil + case "cardchain.cardchain.Set.story": + x.Story = "" + case "cardchain.cardchain.Set.artworkId": + x.ArtworkId = uint64(0) + case "cardchain.cardchain.Set.status": + x.Status = 0 + case "cardchain.cardchain.Set.timeStamp": + x.TimeStamp = int64(0) + case "cardchain.cardchain.Set.contributorsDistribution": + x.ContributorsDistribution = nil + case "cardchain.cardchain.Set.Rarities": + x.Rarities = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Set")) + } + panic(fmt.Errorf("message cardchain.cardchain.Set does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Set) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.Set.name": + value := x.Name + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.Set.cards": + if len(x.Cards) == 0 { + return protoreflect.ValueOfList(&_Set_2_list{}) + } + listValue := &_Set_2_list{list: &x.Cards} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.Set.artist": + value := x.Artist + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.Set.storyWriter": + value := x.StoryWriter + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.Set.contributors": + if len(x.Contributors) == 0 { + return protoreflect.ValueOfList(&_Set_5_list{}) + } + listValue := &_Set_5_list{list: &x.Contributors} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.Set.story": + value := x.Story + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.Set.artworkId": + value := x.ArtworkId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.Set.status": + value := x.Status + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "cardchain.cardchain.Set.timeStamp": + value := x.TimeStamp + return protoreflect.ValueOfInt64(value) + case "cardchain.cardchain.Set.contributorsDistribution": + if len(x.ContributorsDistribution) == 0 { + return protoreflect.ValueOfList(&_Set_10_list{}) + } + listValue := &_Set_10_list{list: &x.ContributorsDistribution} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.Set.Rarities": + if len(x.Rarities) == 0 { + return protoreflect.ValueOfList(&_Set_11_list{}) + } + listValue := &_Set_11_list{list: &x.Rarities} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Set")) + } + panic(fmt.Errorf("message cardchain.cardchain.Set does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Set) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.Set.name": + x.Name = value.Interface().(string) + case "cardchain.cardchain.Set.cards": + lv := value.List() + clv := lv.(*_Set_2_list) + x.Cards = *clv.list + case "cardchain.cardchain.Set.artist": + x.Artist = value.Interface().(string) + case "cardchain.cardchain.Set.storyWriter": + x.StoryWriter = value.Interface().(string) + case "cardchain.cardchain.Set.contributors": + lv := value.List() + clv := lv.(*_Set_5_list) + x.Contributors = *clv.list + case "cardchain.cardchain.Set.story": + x.Story = value.Interface().(string) + case "cardchain.cardchain.Set.artworkId": + x.ArtworkId = value.Uint() + case "cardchain.cardchain.Set.status": + x.Status = (CStatus)(value.Enum()) + case "cardchain.cardchain.Set.timeStamp": + x.TimeStamp = value.Int() + case "cardchain.cardchain.Set.contributorsDistribution": + lv := value.List() + clv := lv.(*_Set_10_list) + x.ContributorsDistribution = *clv.list + case "cardchain.cardchain.Set.Rarities": + lv := value.List() + clv := lv.(*_Set_11_list) + x.Rarities = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Set")) + } + panic(fmt.Errorf("message cardchain.cardchain.Set does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Set) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Set.cards": + if x.Cards == nil { + x.Cards = []uint64{} + } + value := &_Set_2_list{list: &x.Cards} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.Set.contributors": + if x.Contributors == nil { + x.Contributors = []string{} + } + value := &_Set_5_list{list: &x.Contributors} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.Set.contributorsDistribution": + if x.ContributorsDistribution == nil { + x.ContributorsDistribution = []*AddrWithQuantity{} + } + value := &_Set_10_list{list: &x.ContributorsDistribution} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.Set.Rarities": + if x.Rarities == nil { + x.Rarities = []*InnerRarities{} + } + value := &_Set_11_list{list: &x.Rarities} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.Set.name": + panic(fmt.Errorf("field name of message cardchain.cardchain.Set is not mutable")) + case "cardchain.cardchain.Set.artist": + panic(fmt.Errorf("field artist of message cardchain.cardchain.Set is not mutable")) + case "cardchain.cardchain.Set.storyWriter": + panic(fmt.Errorf("field storyWriter of message cardchain.cardchain.Set is not mutable")) + case "cardchain.cardchain.Set.story": + panic(fmt.Errorf("field story of message cardchain.cardchain.Set is not mutable")) + case "cardchain.cardchain.Set.artworkId": + panic(fmt.Errorf("field artworkId of message cardchain.cardchain.Set is not mutable")) + case "cardchain.cardchain.Set.status": + panic(fmt.Errorf("field status of message cardchain.cardchain.Set is not mutable")) + case "cardchain.cardchain.Set.timeStamp": + panic(fmt.Errorf("field timeStamp of message cardchain.cardchain.Set is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Set")) + } + panic(fmt.Errorf("message cardchain.cardchain.Set does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Set) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Set.name": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.Set.cards": + list := []uint64{} + return protoreflect.ValueOfList(&_Set_2_list{list: &list}) + case "cardchain.cardchain.Set.artist": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.Set.storyWriter": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.Set.contributors": + list := []string{} + return protoreflect.ValueOfList(&_Set_5_list{list: &list}) + case "cardchain.cardchain.Set.story": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.Set.artworkId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.Set.status": + return protoreflect.ValueOfEnum(0) + case "cardchain.cardchain.Set.timeStamp": + return protoreflect.ValueOfInt64(int64(0)) + case "cardchain.cardchain.Set.contributorsDistribution": + list := []*AddrWithQuantity{} + return protoreflect.ValueOfList(&_Set_10_list{list: &list}) + case "cardchain.cardchain.Set.Rarities": + list := []*InnerRarities{} + return protoreflect.ValueOfList(&_Set_11_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Set")) + } + panic(fmt.Errorf("message cardchain.cardchain.Set does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Set) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.Set", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Set) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Set) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Set) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Set) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Set) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Cards) > 0 { + l = 0 + for _, e := range x.Cards { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + l = len(x.Artist) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.StoryWriter) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Contributors) > 0 { + for _, s := range x.Contributors { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + l = len(x.Story) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.ArtworkId != 0 { + n += 1 + runtime.Sov(uint64(x.ArtworkId)) + } + if x.Status != 0 { + n += 1 + runtime.Sov(uint64(x.Status)) + } + if x.TimeStamp != 0 { + n += 1 + runtime.Sov(uint64(x.TimeStamp)) + } + if len(x.ContributorsDistribution) > 0 { + for _, e := range x.ContributorsDistribution { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.Rarities) > 0 { + for _, e := range x.Rarities { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Set) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Rarities) > 0 { + for iNdEx := len(x.Rarities) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Rarities[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x5a + } + } + if len(x.ContributorsDistribution) > 0 { + for iNdEx := len(x.ContributorsDistribution) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.ContributorsDistribution[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x52 + } + } + if x.TimeStamp != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TimeStamp)) + i-- + dAtA[i] = 0x48 + } + if x.Status != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Status)) + i-- + dAtA[i] = 0x40 + } + if x.ArtworkId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ArtworkId)) + i-- + dAtA[i] = 0x38 + } + if len(x.Story) > 0 { + i -= len(x.Story) + copy(dAtA[i:], x.Story) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Story))) + i-- + dAtA[i] = 0x32 + } + if len(x.Contributors) > 0 { + for iNdEx := len(x.Contributors) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Contributors[iNdEx]) + copy(dAtA[i:], x.Contributors[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Contributors[iNdEx]))) + i-- + dAtA[i] = 0x2a + } + } + if len(x.StoryWriter) > 0 { + i -= len(x.StoryWriter) + copy(dAtA[i:], x.StoryWriter) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.StoryWriter))) + i-- + dAtA[i] = 0x22 + } + if len(x.Artist) > 0 { + i -= len(x.Artist) + copy(dAtA[i:], x.Artist) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Artist))) + i-- + dAtA[i] = 0x1a + } + if len(x.Cards) > 0 { + var pksize2 int + for _, num := range x.Cards { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.Cards { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x12 + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Set) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Set: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Set: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Cards = append(x.Cards, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.Cards) == 0 { + x.Cards = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Cards = append(x.Cards, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Cards", wireType) + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Artist = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field StoryWriter", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.StoryWriter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Contributors", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Contributors = append(x.Contributors, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Story", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Story = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ArtworkId", wireType) + } + x.ArtworkId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.ArtworkId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + x.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Status |= CStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TimeStamp", wireType) + } + x.TimeStamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TimeStamp |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ContributorsDistribution", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ContributorsDistribution = append(x.ContributorsDistribution, &AddrWithQuantity{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ContributorsDistribution[len(x.ContributorsDistribution)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Rarities", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Rarities = append(x.Rarities, &InnerRarities{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Rarities[len(x.Rarities)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_InnerRarities_1_list)(nil) + +type _InnerRarities_1_list struct { + list *[]uint64 +} + +func (x *_InnerRarities_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_InnerRarities_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_InnerRarities_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_InnerRarities_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_InnerRarities_1_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message InnerRarities at list field R as it is not of Message kind")) +} + +func (x *_InnerRarities_1_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_InnerRarities_1_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_InnerRarities_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_InnerRarities protoreflect.MessageDescriptor + fd_InnerRarities_R protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_set_proto_init() + md_InnerRarities = File_cardchain_cardchain_set_proto.Messages().ByName("InnerRarities") + fd_InnerRarities_R = md_InnerRarities.Fields().ByName("R") +} + +var _ protoreflect.Message = (*fastReflection_InnerRarities)(nil) + +type fastReflection_InnerRarities InnerRarities + +func (x *InnerRarities) ProtoReflect() protoreflect.Message { + return (*fastReflection_InnerRarities)(x) +} + +func (x *InnerRarities) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_set_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_InnerRarities_messageType fastReflection_InnerRarities_messageType +var _ protoreflect.MessageType = fastReflection_InnerRarities_messageType{} + +type fastReflection_InnerRarities_messageType struct{} + +func (x fastReflection_InnerRarities_messageType) Zero() protoreflect.Message { + return (*fastReflection_InnerRarities)(nil) +} +func (x fastReflection_InnerRarities_messageType) New() protoreflect.Message { + return new(fastReflection_InnerRarities) +} +func (x fastReflection_InnerRarities_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_InnerRarities +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_InnerRarities) Descriptor() protoreflect.MessageDescriptor { + return md_InnerRarities +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_InnerRarities) Type() protoreflect.MessageType { + return _fastReflection_InnerRarities_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_InnerRarities) New() protoreflect.Message { + return new(fastReflection_InnerRarities) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_InnerRarities) Interface() protoreflect.ProtoMessage { + return (*InnerRarities)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_InnerRarities) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.R) != 0 { + value := protoreflect.ValueOfList(&_InnerRarities_1_list{list: &x.R}) + if !f(fd_InnerRarities_R, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_InnerRarities) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.InnerRarities.R": + return len(x.R) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.InnerRarities")) + } + panic(fmt.Errorf("message cardchain.cardchain.InnerRarities does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_InnerRarities) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.InnerRarities.R": + x.R = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.InnerRarities")) + } + panic(fmt.Errorf("message cardchain.cardchain.InnerRarities does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_InnerRarities) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.InnerRarities.R": + if len(x.R) == 0 { + return protoreflect.ValueOfList(&_InnerRarities_1_list{}) + } + listValue := &_InnerRarities_1_list{list: &x.R} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.InnerRarities")) + } + panic(fmt.Errorf("message cardchain.cardchain.InnerRarities does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_InnerRarities) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.InnerRarities.R": + lv := value.List() + clv := lv.(*_InnerRarities_1_list) + x.R = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.InnerRarities")) + } + panic(fmt.Errorf("message cardchain.cardchain.InnerRarities does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_InnerRarities) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.InnerRarities.R": + if x.R == nil { + x.R = []uint64{} + } + value := &_InnerRarities_1_list{list: &x.R} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.InnerRarities")) + } + panic(fmt.Errorf("message cardchain.cardchain.InnerRarities does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_InnerRarities) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.InnerRarities.R": + list := []uint64{} + return protoreflect.ValueOfList(&_InnerRarities_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.InnerRarities")) + } + panic(fmt.Errorf("message cardchain.cardchain.InnerRarities does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_InnerRarities) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.InnerRarities", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_InnerRarities) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_InnerRarities) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_InnerRarities) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_InnerRarities) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*InnerRarities) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.R) > 0 { + l = 0 + for _, e := range x.R { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*InnerRarities) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.R) > 0 { + var pksize2 int + for _, num := range x.R { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.R { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*InnerRarities) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: InnerRarities: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: InnerRarities: 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.R = append(x.R, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.R) == 0 { + x.R = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.R = append(x.R, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field R", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_OutpSet protoreflect.MessageDescriptor + fd_OutpSet_set protoreflect.FieldDescriptor + fd_OutpSet_artwork protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_set_proto_init() + md_OutpSet = File_cardchain_cardchain_set_proto.Messages().ByName("OutpSet") + fd_OutpSet_set = md_OutpSet.Fields().ByName("set") + fd_OutpSet_artwork = md_OutpSet.Fields().ByName("artwork") +} + +var _ protoreflect.Message = (*fastReflection_OutpSet)(nil) + +type fastReflection_OutpSet OutpSet + +func (x *OutpSet) ProtoReflect() protoreflect.Message { + return (*fastReflection_OutpSet)(x) +} + +func (x *OutpSet) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_set_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_OutpSet_messageType fastReflection_OutpSet_messageType +var _ protoreflect.MessageType = fastReflection_OutpSet_messageType{} + +type fastReflection_OutpSet_messageType struct{} + +func (x fastReflection_OutpSet_messageType) Zero() protoreflect.Message { + return (*fastReflection_OutpSet)(nil) +} +func (x fastReflection_OutpSet_messageType) New() protoreflect.Message { + return new(fastReflection_OutpSet) +} +func (x fastReflection_OutpSet_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_OutpSet +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_OutpSet) Descriptor() protoreflect.MessageDescriptor { + return md_OutpSet +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_OutpSet) Type() protoreflect.MessageType { + return _fastReflection_OutpSet_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_OutpSet) New() protoreflect.Message { + return new(fastReflection_OutpSet) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_OutpSet) Interface() protoreflect.ProtoMessage { + return (*OutpSet)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_OutpSet) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Set_ != nil { + value := protoreflect.ValueOfMessage(x.Set_.ProtoReflect()) + if !f(fd_OutpSet_set, value) { + return + } + } + if len(x.Artwork) != 0 { + value := protoreflect.ValueOfBytes(x.Artwork) + if !f(fd_OutpSet_artwork, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_OutpSet) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.OutpSet.set": + return x.Set_ != nil + case "cardchain.cardchain.OutpSet.artwork": + return len(x.Artwork) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.OutpSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.OutpSet does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_OutpSet) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.OutpSet.set": + x.Set_ = nil + case "cardchain.cardchain.OutpSet.artwork": + x.Artwork = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.OutpSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.OutpSet does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_OutpSet) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.OutpSet.set": + value := x.Set_ + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.OutpSet.artwork": + value := x.Artwork + return protoreflect.ValueOfBytes(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.OutpSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.OutpSet does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_OutpSet) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.OutpSet.set": + x.Set_ = value.Message().Interface().(*Set) + case "cardchain.cardchain.OutpSet.artwork": + x.Artwork = value.Bytes() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.OutpSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.OutpSet does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_OutpSet) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.OutpSet.set": + if x.Set_ == nil { + x.Set_ = new(Set) + } + return protoreflect.ValueOfMessage(x.Set_.ProtoReflect()) + case "cardchain.cardchain.OutpSet.artwork": + panic(fmt.Errorf("field artwork of message cardchain.cardchain.OutpSet is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.OutpSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.OutpSet does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_OutpSet) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.OutpSet.set": + m := new(Set) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.OutpSet.artwork": + return protoreflect.ValueOfBytes(nil) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.OutpSet")) + } + panic(fmt.Errorf("message cardchain.cardchain.OutpSet does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_OutpSet) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.OutpSet", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_OutpSet) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_OutpSet) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_OutpSet) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_OutpSet) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*OutpSet) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Set_ != nil { + l = options.Size(x.Set_) + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Artwork) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*OutpSet) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Artwork) > 0 { + i -= len(x.Artwork) + copy(dAtA[i:], x.Artwork) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Artwork))) + i-- + dAtA[i] = 0x12 + } + if x.Set_ != nil { + encoded, err := options.Marshal(x.Set_) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*OutpSet) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: OutpSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: OutpSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Set_", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Set_ == nil { + x.Set_ = &Set{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Set_); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Artwork", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Artwork = append(x.Artwork[:0], dAtA[iNdEx:postIndex]...) + if x.Artwork == nil { + x.Artwork = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_AddrWithQuantity protoreflect.MessageDescriptor + fd_AddrWithQuantity_addr protoreflect.FieldDescriptor + fd_AddrWithQuantity_q protoreflect.FieldDescriptor + fd_AddrWithQuantity_payment protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_set_proto_init() + md_AddrWithQuantity = File_cardchain_cardchain_set_proto.Messages().ByName("AddrWithQuantity") + fd_AddrWithQuantity_addr = md_AddrWithQuantity.Fields().ByName("addr") + fd_AddrWithQuantity_q = md_AddrWithQuantity.Fields().ByName("q") + fd_AddrWithQuantity_payment = md_AddrWithQuantity.Fields().ByName("payment") +} + +var _ protoreflect.Message = (*fastReflection_AddrWithQuantity)(nil) + +type fastReflection_AddrWithQuantity AddrWithQuantity + +func (x *AddrWithQuantity) ProtoReflect() protoreflect.Message { + return (*fastReflection_AddrWithQuantity)(x) +} + +func (x *AddrWithQuantity) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_set_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_AddrWithQuantity_messageType fastReflection_AddrWithQuantity_messageType +var _ protoreflect.MessageType = fastReflection_AddrWithQuantity_messageType{} + +type fastReflection_AddrWithQuantity_messageType struct{} + +func (x fastReflection_AddrWithQuantity_messageType) Zero() protoreflect.Message { + return (*fastReflection_AddrWithQuantity)(nil) +} +func (x fastReflection_AddrWithQuantity_messageType) New() protoreflect.Message { + return new(fastReflection_AddrWithQuantity) +} +func (x fastReflection_AddrWithQuantity_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_AddrWithQuantity +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_AddrWithQuantity) Descriptor() protoreflect.MessageDescriptor { + return md_AddrWithQuantity +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_AddrWithQuantity) Type() protoreflect.MessageType { + return _fastReflection_AddrWithQuantity_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_AddrWithQuantity) New() protoreflect.Message { + return new(fastReflection_AddrWithQuantity) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_AddrWithQuantity) Interface() protoreflect.ProtoMessage { + return (*AddrWithQuantity)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_AddrWithQuantity) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Addr != "" { + value := protoreflect.ValueOfString(x.Addr) + if !f(fd_AddrWithQuantity_addr, value) { + return + } + } + if x.Q != uint32(0) { + value := protoreflect.ValueOfUint32(x.Q) + if !f(fd_AddrWithQuantity_q, value) { + return + } + } + if x.Payment != nil { + value := protoreflect.ValueOfMessage(x.Payment.ProtoReflect()) + if !f(fd_AddrWithQuantity_payment, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_AddrWithQuantity) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.AddrWithQuantity.addr": + return x.Addr != "" + case "cardchain.cardchain.AddrWithQuantity.q": + return x.Q != uint32(0) + case "cardchain.cardchain.AddrWithQuantity.payment": + return x.Payment != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.AddrWithQuantity")) + } + panic(fmt.Errorf("message cardchain.cardchain.AddrWithQuantity does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_AddrWithQuantity) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.AddrWithQuantity.addr": + x.Addr = "" + case "cardchain.cardchain.AddrWithQuantity.q": + x.Q = uint32(0) + case "cardchain.cardchain.AddrWithQuantity.payment": + x.Payment = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.AddrWithQuantity")) + } + panic(fmt.Errorf("message cardchain.cardchain.AddrWithQuantity does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_AddrWithQuantity) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.AddrWithQuantity.addr": + value := x.Addr + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.AddrWithQuantity.q": + value := x.Q + return protoreflect.ValueOfUint32(value) + case "cardchain.cardchain.AddrWithQuantity.payment": + value := x.Payment + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.AddrWithQuantity")) + } + panic(fmt.Errorf("message cardchain.cardchain.AddrWithQuantity does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_AddrWithQuantity) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.AddrWithQuantity.addr": + x.Addr = value.Interface().(string) + case "cardchain.cardchain.AddrWithQuantity.q": + x.Q = uint32(value.Uint()) + case "cardchain.cardchain.AddrWithQuantity.payment": + x.Payment = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.AddrWithQuantity")) + } + panic(fmt.Errorf("message cardchain.cardchain.AddrWithQuantity does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_AddrWithQuantity) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.AddrWithQuantity.payment": + if x.Payment == nil { + x.Payment = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Payment.ProtoReflect()) + case "cardchain.cardchain.AddrWithQuantity.addr": + panic(fmt.Errorf("field addr of message cardchain.cardchain.AddrWithQuantity is not mutable")) + case "cardchain.cardchain.AddrWithQuantity.q": + panic(fmt.Errorf("field q of message cardchain.cardchain.AddrWithQuantity is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.AddrWithQuantity")) + } + panic(fmt.Errorf("message cardchain.cardchain.AddrWithQuantity does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_AddrWithQuantity) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.AddrWithQuantity.addr": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.AddrWithQuantity.q": + return protoreflect.ValueOfUint32(uint32(0)) + case "cardchain.cardchain.AddrWithQuantity.payment": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.AddrWithQuantity")) + } + panic(fmt.Errorf("message cardchain.cardchain.AddrWithQuantity does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_AddrWithQuantity) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.AddrWithQuantity", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_AddrWithQuantity) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_AddrWithQuantity) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_AddrWithQuantity) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_AddrWithQuantity) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*AddrWithQuantity) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Addr) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Q != 0 { + n += 1 + runtime.Sov(uint64(x.Q)) + } + if x.Payment != nil { + l = options.Size(x.Payment) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*AddrWithQuantity) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Payment != nil { + encoded, err := options.Marshal(x.Payment) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + if x.Q != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Q)) + i-- + dAtA[i] = 0x10 + } + if len(x.Addr) > 0 { + i -= len(x.Addr) + copy(dAtA[i:], x.Addr) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Addr))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*AddrWithQuantity) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AddrWithQuantity: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AddrWithQuantity: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Addr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Q", wireType) + } + x.Q = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Q |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Payment", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Payment == nil { + x.Payment = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Payment); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/set.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CStatus int32 + +const ( + CStatus_design CStatus = 0 + CStatus_finalized CStatus = 1 + CStatus_active CStatus = 2 + CStatus_archived CStatus = 3 +) + +// Enum value maps for CStatus. +var ( + CStatus_name = map[int32]string{ + 0: "design", + 1: "finalized", + 2: "active", + 3: "archived", + } + CStatus_value = map[string]int32{ + "design": 0, + "finalized": 1, + "active": 2, + "archived": 3, + } +) + +func (x CStatus) Enum() *CStatus { + p := new(CStatus) + *p = x + return p +} + +func (x CStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CStatus) Descriptor() protoreflect.EnumDescriptor { + return file_cardchain_cardchain_set_proto_enumTypes[0].Descriptor() +} + +func (CStatus) Type() protoreflect.EnumType { + return &file_cardchain_cardchain_set_proto_enumTypes[0] +} + +func (x CStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CStatus.Descriptor instead. +func (CStatus) EnumDescriptor() ([]byte, []int) { + return file_cardchain_cardchain_set_proto_rawDescGZIP(), []int{0} +} + +type Set struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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"` + StoryWriter string `protobuf:"bytes,4,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` + Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` + Story string `protobuf:"bytes,6,opt,name=story,proto3" json:"story,omitempty"` + ArtworkId uint64 `protobuf:"varint,7,opt,name=artworkId,proto3" json:"artworkId,omitempty"` + Status CStatus `protobuf:"varint,8,opt,name=status,proto3,enum=cardchain.cardchain.CStatus" json:"status,omitempty"` + TimeStamp int64 `protobuf:"varint,9,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` + ContributorsDistribution []*AddrWithQuantity `protobuf:"bytes,10,rep,name=contributorsDistribution,proto3" json:"contributorsDistribution,omitempty"` + Rarities []*InnerRarities `protobuf:"bytes,11,rep,name=Rarities,proto3" json:"Rarities,omitempty"` +} + +func (x *Set) Reset() { + *x = Set{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_set_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Set) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Set) ProtoMessage() {} + +// Deprecated: Use Set.ProtoReflect.Descriptor instead. +func (*Set) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_set_proto_rawDescGZIP(), []int{0} +} + +func (x *Set) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Set) GetCards() []uint64 { + if x != nil { + return x.Cards + } + return nil +} + +func (x *Set) GetArtist() string { + if x != nil { + return x.Artist + } + return "" +} + +func (x *Set) GetStoryWriter() string { + if x != nil { + return x.StoryWriter + } + return "" +} + +func (x *Set) GetContributors() []string { + if x != nil { + return x.Contributors + } + return nil +} + +func (x *Set) GetStory() string { + if x != nil { + return x.Story + } + return "" +} + +func (x *Set) GetArtworkId() uint64 { + if x != nil { + return x.ArtworkId + } + return 0 +} + +func (x *Set) GetStatus() CStatus { + if x != nil { + return x.Status + } + return CStatus_design +} + +func (x *Set) GetTimeStamp() int64 { + if x != nil { + return x.TimeStamp + } + return 0 +} + +func (x *Set) GetContributorsDistribution() []*AddrWithQuantity { + if x != nil { + return x.ContributorsDistribution + } + return nil +} + +func (x *Set) GetRarities() []*InnerRarities { + if x != nil { + return x.Rarities + } + return nil +} + +type InnerRarities struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + R []uint64 `protobuf:"varint,1,rep,packed,name=R,proto3" json:"R,omitempty"` +} + +func (x *InnerRarities) Reset() { + *x = InnerRarities{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_set_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InnerRarities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InnerRarities) ProtoMessage() {} + +// Deprecated: Use InnerRarities.ProtoReflect.Descriptor instead. +func (*InnerRarities) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_set_proto_rawDescGZIP(), []int{1} +} + +func (x *InnerRarities) GetR() []uint64 { + if x != nil { + return x.R + } + return nil +} + +type OutpSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set_ *Set `protobuf:"bytes,1,opt,name=set,proto3" json:"set,omitempty"` + Artwork []byte `protobuf:"bytes,2,opt,name=artwork,proto3" json:"artwork,omitempty"` +} + +func (x *OutpSet) Reset() { + *x = OutpSet{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_set_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutpSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutpSet) ProtoMessage() {} + +// Deprecated: Use OutpSet.ProtoReflect.Descriptor instead. +func (*OutpSet) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_set_proto_rawDescGZIP(), []int{2} +} + +func (x *OutpSet) GetSet_() *Set { + if x != nil { + return x.Set_ + } + return nil +} + +func (x *OutpSet) GetArtwork() []byte { + if x != nil { + return x.Artwork + } + return nil +} + +type AddrWithQuantity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` + Q uint32 `protobuf:"varint,2,opt,name=q,proto3" json:"q,omitempty"` + Payment *v1beta1.Coin `protobuf:"bytes,3,opt,name=payment,proto3" json:"payment,omitempty"` +} + +func (x *AddrWithQuantity) Reset() { + *x = AddrWithQuantity{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_set_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddrWithQuantity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddrWithQuantity) ProtoMessage() {} + +// Deprecated: Use AddrWithQuantity.ProtoReflect.Descriptor instead. +func (*AddrWithQuantity) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_set_proto_rawDescGZIP(), []int{3} +} + +func (x *AddrWithQuantity) GetAddr() string { + if x != nil { + return x.Addr + } + return "" +} + +func (x *AddrWithQuantity) GetQ() uint32 { + if x != nil { + return x.Q + } + return 0 +} + +func (x *AddrWithQuantity) GetPayment() *v1beta1.Coin { + if x != nil { + return x.Payment + } + return nil +} + +var File_cardchain_cardchain_set_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_set_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, + 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x03, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, + 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, + 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x6f, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x61, 0x0a, 0x18, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x6f, 0x72, 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x3e, 0x0a, 0x08, 0x52, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x61, 0x72, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x08, 0x52, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, + 0x1d, 0x0a, 0x0d, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x12, 0x0c, 0x0a, 0x01, 0x52, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x01, 0x52, 0x22, 0x4f, + 0x0a, 0x07, 0x4f, 0x75, 0x74, 0x70, 0x53, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x03, 0x73, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, + 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, + 0x69, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x72, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x01, 0x71, 0x12, 0x33, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, + 0x6e, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2a, 0x3e, 0x0a, 0x07, 0x43, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x10, + 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x10, 0x01, + 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x10, 0x03, 0x42, 0xd0, 0x01, 0x0a, 0x17, 0x63, + 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x08, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, + 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_set_proto_rawDescOnce sync.Once + file_cardchain_cardchain_set_proto_rawDescData = file_cardchain_cardchain_set_proto_rawDesc +) + +func file_cardchain_cardchain_set_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_set_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_set_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_set_proto_rawDescData) + }) + return file_cardchain_cardchain_set_proto_rawDescData +} + +var file_cardchain_cardchain_set_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_cardchain_cardchain_set_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_cardchain_cardchain_set_proto_goTypes = []interface{}{ + (CStatus)(0), // 0: cardchain.cardchain.CStatus + (*Set)(nil), // 1: cardchain.cardchain.Set + (*InnerRarities)(nil), // 2: cardchain.cardchain.InnerRarities + (*OutpSet)(nil), // 3: cardchain.cardchain.OutpSet + (*AddrWithQuantity)(nil), // 4: cardchain.cardchain.AddrWithQuantity + (*v1beta1.Coin)(nil), // 5: cosmos.base.v1beta1.Coin +} +var file_cardchain_cardchain_set_proto_depIdxs = []int32{ + 0, // 0: cardchain.cardchain.Set.status:type_name -> cardchain.cardchain.CStatus + 4, // 1: cardchain.cardchain.Set.contributorsDistribution:type_name -> cardchain.cardchain.AddrWithQuantity + 2, // 2: cardchain.cardchain.Set.Rarities:type_name -> cardchain.cardchain.InnerRarities + 1, // 3: cardchain.cardchain.OutpSet.set:type_name -> cardchain.cardchain.Set + 5, // 4: cardchain.cardchain.AddrWithQuantity.payment:type_name -> cosmos.base.v1beta1.Coin + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_set_proto_init() } +func file_cardchain_cardchain_set_proto_init() { + if File_cardchain_cardchain_set_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_set_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Set); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_set_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InnerRarities); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_set_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutpSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_set_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddrWithQuantity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_set_proto_rawDesc, + NumEnums: 1, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_set_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_set_proto_depIdxs, + EnumInfos: file_cardchain_cardchain_set_proto_enumTypes, + MessageInfos: file_cardchain_cardchain_set_proto_msgTypes, + }.Build() + File_cardchain_cardchain_set_proto = out.File + file_cardchain_cardchain_set_proto_rawDesc = nil + file_cardchain_cardchain_set_proto_goTypes = nil + file_cardchain_cardchain_set_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index db1b72de..8ee76fba 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -43151,6 +43151,2734 @@ func (x *fastReflection_MsgEncounterCloseResponse) ProtoMethods() *protoiface.Me } } +var ( + md_MsgCreateProductDetails protoreflect.MessageDescriptor + fd_MsgCreateProductDetails_creator protoreflect.FieldDescriptor + fd_MsgCreateProductDetails_name protoreflect.FieldDescriptor + fd_MsgCreateProductDetails_desc protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCreateProductDetails = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCreateProductDetails") + fd_MsgCreateProductDetails_creator = md_MsgCreateProductDetails.Fields().ByName("creator") + fd_MsgCreateProductDetails_name = md_MsgCreateProductDetails.Fields().ByName("name") + fd_MsgCreateProductDetails_desc = md_MsgCreateProductDetails.Fields().ByName("desc") +} + +var _ protoreflect.Message = (*fastReflection_MsgCreateProductDetails)(nil) + +type fastReflection_MsgCreateProductDetails MsgCreateProductDetails + +func (x *MsgCreateProductDetails) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCreateProductDetails)(x) +} + +func (x *MsgCreateProductDetails) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[94] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCreateProductDetails_messageType fastReflection_MsgCreateProductDetails_messageType +var _ protoreflect.MessageType = fastReflection_MsgCreateProductDetails_messageType{} + +type fastReflection_MsgCreateProductDetails_messageType struct{} + +func (x fastReflection_MsgCreateProductDetails_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCreateProductDetails)(nil) +} +func (x fastReflection_MsgCreateProductDetails_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCreateProductDetails) +} +func (x fastReflection_MsgCreateProductDetails_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateProductDetails +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCreateProductDetails) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateProductDetails +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCreateProductDetails) Type() protoreflect.MessageType { + return _fastReflection_MsgCreateProductDetails_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCreateProductDetails) New() protoreflect.Message { + return new(fastReflection_MsgCreateProductDetails) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCreateProductDetails) Interface() protoreflect.ProtoMessage { + return (*MsgCreateProductDetails)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCreateProductDetails) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCreateProductDetails_creator, value) { + return + } + } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_MsgCreateProductDetails_name, value) { + return + } + } + if x.Desc != "" { + value := protoreflect.ValueOfString(x.Desc) + if !f(fd_MsgCreateProductDetails_desc, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCreateProductDetails) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCreateProductDetails.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgCreateProductDetails.name": + return x.Name != "" + case "cardchain.cardchain.MsgCreateProductDetails.desc": + return x.Desc != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetails does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCreateProductDetails) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCreateProductDetails.creator": + x.Creator = "" + case "cardchain.cardchain.MsgCreateProductDetails.name": + x.Name = "" + case "cardchain.cardchain.MsgCreateProductDetails.desc": + x.Desc = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetails does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCreateProductDetails) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCreateProductDetails.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCreateProductDetails.name": + value := x.Name + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCreateProductDetails.desc": + value := x.Desc + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetails does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCreateProductDetails) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCreateProductDetails.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgCreateProductDetails.name": + x.Name = value.Interface().(string) + case "cardchain.cardchain.MsgCreateProductDetails.desc": + x.Desc = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetails does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCreateProductDetails) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCreateProductDetails.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCreateProductDetails is not mutable")) + case "cardchain.cardchain.MsgCreateProductDetails.name": + panic(fmt.Errorf("field name of message cardchain.cardchain.MsgCreateProductDetails is not mutable")) + case "cardchain.cardchain.MsgCreateProductDetails.desc": + panic(fmt.Errorf("field desc of message cardchain.cardchain.MsgCreateProductDetails is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetails does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCreateProductDetails) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCreateProductDetails.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCreateProductDetails.name": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCreateProductDetails.desc": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetails does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCreateProductDetails) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCreateProductDetails", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCreateProductDetails) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCreateProductDetails) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCreateProductDetails) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCreateProductDetails) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCreateProductDetails) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Desc) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCreateProductDetails) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Desc) > 0 { + i -= len(x.Desc) + copy(dAtA[i:], x.Desc) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Desc))) + i-- + dAtA[i] = 0x1a + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCreateProductDetails) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateProductDetails: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Desc = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCreateProductDetailsResponse protoreflect.MessageDescriptor + fd_MsgCreateProductDetailsResponse_id protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCreateProductDetailsResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCreateProductDetailsResponse") + fd_MsgCreateProductDetailsResponse_id = md_MsgCreateProductDetailsResponse.Fields().ByName("id") +} + +var _ protoreflect.Message = (*fastReflection_MsgCreateProductDetailsResponse)(nil) + +type fastReflection_MsgCreateProductDetailsResponse MsgCreateProductDetailsResponse + +func (x *MsgCreateProductDetailsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCreateProductDetailsResponse)(x) +} + +func (x *MsgCreateProductDetailsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[95] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCreateProductDetailsResponse_messageType fastReflection_MsgCreateProductDetailsResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCreateProductDetailsResponse_messageType{} + +type fastReflection_MsgCreateProductDetailsResponse_messageType struct{} + +func (x fastReflection_MsgCreateProductDetailsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCreateProductDetailsResponse)(nil) +} +func (x fastReflection_MsgCreateProductDetailsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCreateProductDetailsResponse) +} +func (x fastReflection_MsgCreateProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateProductDetailsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCreateProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateProductDetailsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCreateProductDetailsResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCreateProductDetailsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCreateProductDetailsResponse) New() protoreflect.Message { + return new(fastReflection_MsgCreateProductDetailsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCreateProductDetailsResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCreateProductDetailsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCreateProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_MsgCreateProductDetailsResponse_id, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCreateProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCreateProductDetailsResponse.id": + return x.Id != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCreateProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCreateProductDetailsResponse.id": + x.Id = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCreateProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCreateProductDetailsResponse.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetailsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCreateProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCreateProductDetailsResponse.id": + x.Id = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCreateProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCreateProductDetailsResponse.id": + panic(fmt.Errorf("field id of message cardchain.cardchain.MsgCreateProductDetailsResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCreateProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCreateProductDetailsResponse.id": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCreateProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCreateProductDetailsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCreateProductDetailsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCreateProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCreateProductDetailsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCreateProductDetailsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCreateProductDetailsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCreateProductDetailsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCreateProductDetailsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateProductDetailsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgUpdateProductDetails protoreflect.MessageDescriptor + fd_MsgUpdateProductDetails_creator protoreflect.FieldDescriptor + fd_MsgUpdateProductDetails_id protoreflect.FieldDescriptor + fd_MsgUpdateProductDetails_name protoreflect.FieldDescriptor + fd_MsgUpdateProductDetails_desc protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgUpdateProductDetails = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgUpdateProductDetails") + fd_MsgUpdateProductDetails_creator = md_MsgUpdateProductDetails.Fields().ByName("creator") + fd_MsgUpdateProductDetails_id = md_MsgUpdateProductDetails.Fields().ByName("id") + fd_MsgUpdateProductDetails_name = md_MsgUpdateProductDetails.Fields().ByName("name") + fd_MsgUpdateProductDetails_desc = md_MsgUpdateProductDetails.Fields().ByName("desc") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateProductDetails)(nil) + +type fastReflection_MsgUpdateProductDetails MsgUpdateProductDetails + +func (x *MsgUpdateProductDetails) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProductDetails)(x) +} + +func (x *MsgUpdateProductDetails) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[96] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgUpdateProductDetails_messageType fastReflection_MsgUpdateProductDetails_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProductDetails_messageType{} + +type fastReflection_MsgUpdateProductDetails_messageType struct{} + +func (x fastReflection_MsgUpdateProductDetails_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProductDetails)(nil) +} +func (x fastReflection_MsgUpdateProductDetails_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProductDetails) +} +func (x fastReflection_MsgUpdateProductDetails_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProductDetails +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateProductDetails) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProductDetails +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUpdateProductDetails) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProductDetails_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateProductDetails) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProductDetails) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateProductDetails) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProductDetails)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUpdateProductDetails) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgUpdateProductDetails_creator, value) { + return + } + } + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_MsgUpdateProductDetails_id, value) { + return + } + } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_MsgUpdateProductDetails_name, value) { + return + } + } + if x.Desc != "" { + value := protoreflect.ValueOfString(x.Desc) + if !f(fd_MsgUpdateProductDetails_desc, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateProductDetails) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgUpdateProductDetails.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgUpdateProductDetails.id": + return x.Id != uint64(0) + case "cardchain.cardchain.MsgUpdateProductDetails.name": + return x.Name != "" + case "cardchain.cardchain.MsgUpdateProductDetails.desc": + return x.Desc != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetails does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateProductDetails) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgUpdateProductDetails.creator": + x.Creator = "" + case "cardchain.cardchain.MsgUpdateProductDetails.id": + x.Id = uint64(0) + case "cardchain.cardchain.MsgUpdateProductDetails.name": + x.Name = "" + case "cardchain.cardchain.MsgUpdateProductDetails.desc": + x.Desc = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetails does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUpdateProductDetails) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgUpdateProductDetails.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgUpdateProductDetails.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgUpdateProductDetails.name": + value := x.Name + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgUpdateProductDetails.desc": + value := x.Desc + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetails does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateProductDetails) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgUpdateProductDetails.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgUpdateProductDetails.id": + x.Id = value.Uint() + case "cardchain.cardchain.MsgUpdateProductDetails.name": + x.Name = value.Interface().(string) + case "cardchain.cardchain.MsgUpdateProductDetails.desc": + x.Desc = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetails does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateProductDetails) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgUpdateProductDetails.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgUpdateProductDetails is not mutable")) + case "cardchain.cardchain.MsgUpdateProductDetails.id": + panic(fmt.Errorf("field id of message cardchain.cardchain.MsgUpdateProductDetails is not mutable")) + case "cardchain.cardchain.MsgUpdateProductDetails.name": + panic(fmt.Errorf("field name of message cardchain.cardchain.MsgUpdateProductDetails is not mutable")) + case "cardchain.cardchain.MsgUpdateProductDetails.desc": + panic(fmt.Errorf("field desc of message cardchain.cardchain.MsgUpdateProductDetails is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetails does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUpdateProductDetails) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgUpdateProductDetails.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgUpdateProductDetails.id": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.MsgUpdateProductDetails.name": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgUpdateProductDetails.desc": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetails does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUpdateProductDetails) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgUpdateProductDetails", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUpdateProductDetails) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateProductDetails) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUpdateProductDetails) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUpdateProductDetails) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateProductDetails) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Desc) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateProductDetails) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Desc) > 0 { + i -= len(x.Desc) + copy(dAtA[i:], x.Desc) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Desc))) + i-- + dAtA[i] = 0x22 + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0x1a + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateProductDetails) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProductDetails: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Desc = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgUpdateProductDetailsResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgUpdateProductDetailsResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgUpdateProductDetailsResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateProductDetailsResponse)(nil) + +type fastReflection_MsgUpdateProductDetailsResponse MsgUpdateProductDetailsResponse + +func (x *MsgUpdateProductDetailsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProductDetailsResponse)(x) +} + +func (x *MsgUpdateProductDetailsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[97] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgUpdateProductDetailsResponse_messageType fastReflection_MsgUpdateProductDetailsResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProductDetailsResponse_messageType{} + +type fastReflection_MsgUpdateProductDetailsResponse_messageType struct{} + +func (x fastReflection_MsgUpdateProductDetailsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProductDetailsResponse)(nil) +} +func (x fastReflection_MsgUpdateProductDetailsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProductDetailsResponse) +} +func (x fastReflection_MsgUpdateProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProductDetailsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProductDetailsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProductDetailsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateProductDetailsResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProductDetailsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProductDetailsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUpdateProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUpdateProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgUpdateProductDetailsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUpdateProductDetailsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUpdateProductDetailsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUpdateProductDetailsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateProductDetailsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateProductDetailsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateProductDetailsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProductDetailsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgDeleteProductDetails protoreflect.MessageDescriptor + fd_MsgDeleteProductDetails_creator protoreflect.FieldDescriptor + fd_MsgDeleteProductDetails_id protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgDeleteProductDetails = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgDeleteProductDetails") + fd_MsgDeleteProductDetails_creator = md_MsgDeleteProductDetails.Fields().ByName("creator") + fd_MsgDeleteProductDetails_id = md_MsgDeleteProductDetails.Fields().ByName("id") +} + +var _ protoreflect.Message = (*fastReflection_MsgDeleteProductDetails)(nil) + +type fastReflection_MsgDeleteProductDetails MsgDeleteProductDetails + +func (x *MsgDeleteProductDetails) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgDeleteProductDetails)(x) +} + +func (x *MsgDeleteProductDetails) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[98] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgDeleteProductDetails_messageType fastReflection_MsgDeleteProductDetails_messageType +var _ protoreflect.MessageType = fastReflection_MsgDeleteProductDetails_messageType{} + +type fastReflection_MsgDeleteProductDetails_messageType struct{} + +func (x fastReflection_MsgDeleteProductDetails_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgDeleteProductDetails)(nil) +} +func (x fastReflection_MsgDeleteProductDetails_messageType) New() protoreflect.Message { + return new(fastReflection_MsgDeleteProductDetails) +} +func (x fastReflection_MsgDeleteProductDetails_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgDeleteProductDetails +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgDeleteProductDetails) Descriptor() protoreflect.MessageDescriptor { + return md_MsgDeleteProductDetails +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgDeleteProductDetails) Type() protoreflect.MessageType { + return _fastReflection_MsgDeleteProductDetails_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgDeleteProductDetails) New() protoreflect.Message { + return new(fastReflection_MsgDeleteProductDetails) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgDeleteProductDetails) Interface() protoreflect.ProtoMessage { + return (*MsgDeleteProductDetails)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgDeleteProductDetails) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgDeleteProductDetails_creator, value) { + return + } + } + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_MsgDeleteProductDetails_id, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgDeleteProductDetails) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgDeleteProductDetails.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgDeleteProductDetails.id": + return x.Id != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDeleteProductDetails) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgDeleteProductDetails.creator": + x.Creator = "" + case "cardchain.cardchain.MsgDeleteProductDetails.id": + x.Id = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgDeleteProductDetails) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgDeleteProductDetails.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgDeleteProductDetails.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDeleteProductDetails) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgDeleteProductDetails.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgDeleteProductDetails.id": + x.Id = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDeleteProductDetails) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgDeleteProductDetails.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgDeleteProductDetails is not mutable")) + case "cardchain.cardchain.MsgDeleteProductDetails.id": + panic(fmt.Errorf("field id of message cardchain.cardchain.MsgDeleteProductDetails is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgDeleteProductDetails) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgDeleteProductDetails.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgDeleteProductDetails.id": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgDeleteProductDetails) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgDeleteProductDetails", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgDeleteProductDetails) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDeleteProductDetails) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgDeleteProductDetails) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgDeleteProductDetails) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgDeleteProductDetails) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgDeleteProductDetails) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgDeleteProductDetails) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetails: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgDeleteProductDetailsResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgDeleteProductDetailsResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgDeleteProductDetailsResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgDeleteProductDetailsResponse)(nil) + +type fastReflection_MsgDeleteProductDetailsResponse MsgDeleteProductDetailsResponse + +func (x *MsgDeleteProductDetailsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgDeleteProductDetailsResponse)(x) +} + +func (x *MsgDeleteProductDetailsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[99] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgDeleteProductDetailsResponse_messageType fastReflection_MsgDeleteProductDetailsResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgDeleteProductDetailsResponse_messageType{} + +type fastReflection_MsgDeleteProductDetailsResponse_messageType struct{} + +func (x fastReflection_MsgDeleteProductDetailsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgDeleteProductDetailsResponse)(nil) +} +func (x fastReflection_MsgDeleteProductDetailsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgDeleteProductDetailsResponse) +} +func (x fastReflection_MsgDeleteProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgDeleteProductDetailsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgDeleteProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgDeleteProductDetailsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgDeleteProductDetailsResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgDeleteProductDetailsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgDeleteProductDetailsResponse) New() protoreflect.Message { + return new(fastReflection_MsgDeleteProductDetailsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgDeleteProductDetailsResponse) Interface() protoreflect.ProtoMessage { + return (*MsgDeleteProductDetailsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgDeleteProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgDeleteProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDeleteProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgDeleteProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDeleteProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDeleteProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgDeleteProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgDeleteProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgDeleteProductDetailsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgDeleteProductDetailsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDeleteProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgDeleteProductDetailsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgDeleteProductDetailsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgDeleteProductDetailsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgDeleteProductDetailsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgDeleteProductDetailsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetailsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -46772,44 +49500,284 @@ func (x *MsgEncounterClose) GetEncounterId() uint64 { return 0 } -func (x *MsgEncounterClose) GetUser() string { +func (x *MsgEncounterClose) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +func (x *MsgEncounterClose) GetWon() bool { + if x != nil { + return x.Won + } + return false +} + +type MsgEncounterCloseResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgEncounterCloseResponse) Reset() { + *x = MsgEncounterCloseResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgEncounterCloseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgEncounterCloseResponse) ProtoMessage() {} + +// Deprecated: Use MsgEncounterCloseResponse.ProtoReflect.Descriptor instead. +func (*MsgEncounterCloseResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{93} +} + +type MsgCreateProductDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` +} + +func (x *MsgCreateProductDetails) Reset() { + *x = MsgCreateProductDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCreateProductDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCreateProductDetails) ProtoMessage() {} + +// Deprecated: Use MsgCreateProductDetails.ProtoReflect.Descriptor instead. +func (*MsgCreateProductDetails) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{94} +} + +func (x *MsgCreateProductDetails) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgCreateProductDetails) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MsgCreateProductDetails) GetDesc() string { + if x != nil { + return x.Desc + } + return "" +} + +type MsgCreateProductDetailsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *MsgCreateProductDetailsResponse) Reset() { + *x = MsgCreateProductDetailsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCreateProductDetailsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCreateProductDetailsResponse) ProtoMessage() {} + +// Deprecated: Use MsgCreateProductDetailsResponse.ProtoReflect.Descriptor instead. +func (*MsgCreateProductDetailsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{95} +} + +func (x *MsgCreateProductDetailsResponse) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type MsgUpdateProductDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Desc string `protobuf:"bytes,4,opt,name=desc,proto3" json:"desc,omitempty"` +} + +func (x *MsgUpdateProductDetails) Reset() { + *x = MsgUpdateProductDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateProductDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateProductDetails) ProtoMessage() {} + +// Deprecated: Use MsgUpdateProductDetails.ProtoReflect.Descriptor instead. +func (*MsgUpdateProductDetails) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{96} +} + +func (x *MsgUpdateProductDetails) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgUpdateProductDetails) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *MsgUpdateProductDetails) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MsgUpdateProductDetails) GetDesc() string { + if x != nil { + return x.Desc + } + return "" +} + +type MsgUpdateProductDetailsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUpdateProductDetailsResponse) Reset() { + *x = MsgUpdateProductDetailsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateProductDetailsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateProductDetailsResponse) ProtoMessage() {} + +// Deprecated: Use MsgUpdateProductDetailsResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateProductDetailsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{97} +} + +type MsgDeleteProductDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *MsgDeleteProductDetails) Reset() { + *x = MsgDeleteProductDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgDeleteProductDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgDeleteProductDetails) ProtoMessage() {} + +// Deprecated: Use MsgDeleteProductDetails.ProtoReflect.Descriptor instead. +func (*MsgDeleteProductDetails) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{98} +} + +func (x *MsgDeleteProductDetails) GetCreator() string { if x != nil { - return x.User + return x.Creator } return "" } -func (x *MsgEncounterClose) GetWon() bool { +func (x *MsgDeleteProductDetails) GetId() uint64 { if x != nil { - return x.Won + return x.Id } - return false + return 0 } -type MsgEncounterCloseResponse struct { +type MsgDeleteProductDetailsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgEncounterCloseResponse) Reset() { - *x = MsgEncounterCloseResponse{} +func (x *MsgDeleteProductDetailsResponse) Reset() { + *x = MsgDeleteProductDetailsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[93] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgEncounterCloseResponse) String() string { +func (x *MsgDeleteProductDetailsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgEncounterCloseResponse) ProtoMessage() {} +func (*MsgDeleteProductDetailsResponse) ProtoMessage() {} -// Deprecated: Use MsgEncounterCloseResponse.ProtoReflect.Descriptor instead. -func (*MsgEncounterCloseResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{93} +// Deprecated: Use MsgDeleteProductDetailsResponse.ProtoReflect.Descriptor instead. +func (*MsgDeleteProductDetailsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{99} } var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor @@ -46836,788 +49804,841 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x38, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x25, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, - 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0d, 0x4d, 0x73, 0x67, - 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, - 0x6c, 0x69, 0x61, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x10, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x03, 0x62, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, - 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x03, 0x62, 0x69, 0x64, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x18, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0xc2, - 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, + 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, + 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, + 0x38, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, + 0xe7, 0xb0, 0x2a, 0x25, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, - 0x24, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, - 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x44, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, - 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, - 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, - 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x0b, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, - 0x65, 0x52, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x3d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, - 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, - 0x69, 0x6d, 0x65, 0x64, 0x22, 0x6d, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, - 0x01, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, + 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, + 0x15, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, + 0x1f, 0x00, 0x52, 0x03, 0x62, 0x69, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0xc2, 0x01, 0x0a, 0x12, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, - 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3e, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xd2, 0x01, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, - 0x43, 0x61, 0x72, 0x64, 0x73, 0x41, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x41, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, - 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x12, 0x36, - 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, - 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, - 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, + 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x44, + 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, + 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, + 0x69, 0x6d, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, + 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x33, 0x0a, + 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x04, 0x76, 0x6f, + 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x3d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, + 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, + 0x6d, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, - 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, - 0x1f, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xa8, 0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, - 0x64, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, - 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x68, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, - 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, + 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x0d, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x37, 0x0a, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, + 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, + 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, + 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, + 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x75, + 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x6d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, + 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0c, + 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x14, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x0e, 0x4d, + 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, + 0x41, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, + 0x61, 0x72, 0x64, 0x73, 0x41, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, + 0x61, 0x72, 0x64, 0x73, 0x42, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, + 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, + 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x10, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, - 0x18, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x0a, 0x14, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x6b, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, + 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x17, 0x4d, 0x73, 0x67, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x0c, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, + 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, + 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, + 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, + 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6b, + 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, + 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, + 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x0e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, - 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, - 0x10, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, + 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x11, + 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, + 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x64, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, - 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x51, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, - 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x43, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, - 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, - 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, - 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x12, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x12, 0x35, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, - 0x1f, 0x00, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x0a, - 0x12, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x43, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, + 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, + 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, + 0x69, 0x6d, 0x65, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x35, 0x0a, + 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x5b, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, - 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x10, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, - 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, - 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, - 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x18, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, - 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, 0x0a, - 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, - 0x64, 0x12, 0x37, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, - 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcc, 0x01, 0x0a, - 0x0f, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, - 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0a, - 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, - 0x65, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, + 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, - 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, - 0x73, 0x69, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x4c, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, - 0x69, 0x6f, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, - 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x12, - 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, - 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, - 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, - 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x36, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, - 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, - 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, - 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, - 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, - 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x0a, - 0x1e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x76, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x0a, 0x10, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x6f, 0x74, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, - 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x42, - 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, - 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, - 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, - 0x65, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, - 0x70, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x42, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x42, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x65, 0x63, 0x6b, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, - 0x65, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x64, 0x65, - 0x63, 0x6b, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x42, 0x64, 0x65, 0x63, 0x6b, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x30, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, - 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, + 0x72, 0x69, 0x74, 0x79, 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, + 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x67, 0x67, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, + 0x76, 0x65, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, + 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, + 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x59, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, + 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, + 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x0a, 0x76, 0x6f, + 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x53, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x52, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, - 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x45, 0x61, - 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x5a, 0x65, - 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, + 0x1c, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, + 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x0a, + 0x10, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x62, + 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x6f, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, + 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x42, 0x6f, + 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, + 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x36, 0x0a, 0x1a, 0x4d, + 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, + 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x73, + 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x42, + 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x14, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, + 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, + 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x3a, 0x0c, - 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, - 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x02, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, + 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, + 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x42, 0x0a, 0x18, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, + 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, + 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0xae, 0x01, + 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x64, 0x72, 0x61, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, - 0x64, 0x72, 0x61, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x44, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, - 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x41, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x41, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x65, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x65, 0x63, 0x6b, 0x12, 0x20, + 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x64, 0x65, 0x63, 0x6b, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x64, 0x65, 0x63, 0x6b, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x30, + 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, + 0x22, 0x61, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x12, + 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, + 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, + 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, + 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, - 0x11, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, - 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x77, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x03, 0x77, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, - 0xea, 0x26, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x53, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x5a, 0x65, + 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x9a, 0x02, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x77, 0x6c, + 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x64, 0x72, 0x61, 0x77, 0x6c, + 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, - 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, + 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, + 0x0e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, + 0x16, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, + 0x03, 0x77, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x77, 0x6f, 0x6e, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, + 0x19, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x17, 0x4d, 0x73, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x31, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x64, 0x65, 0x73, 0x63, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, + 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xde, 0x29, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, - 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, - 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, - 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, + 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, + 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, - 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, - 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, - 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, + 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, + 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, - 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, + 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, + 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, - 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, + 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, - 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, + 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, - 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, - 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, + 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, + 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, + 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, + 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, - 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, - 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, - 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, - 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, - 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, - 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, - 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, + 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, - 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, - 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, - 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, - 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, + 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, + 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, - 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, - 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, + 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, + 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, - 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, - 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, - 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, - 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, - 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, + 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, - 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, - 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, + 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, + 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, + 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x1a, + 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, + 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x1a, + 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, + 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, + 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, + 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, + 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, - 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x1a, + 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, + 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, + 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, + 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, - 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, - 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, - 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x2d, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, + 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, - 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x59, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, + 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, - 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, - 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, - 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, - 0x61, 0x73, 0x53, 0x65, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, - 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, - 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, - 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, + 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, + 0x65, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, + 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, - 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, - 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, + 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, + 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -47632,7 +50653,7 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 95) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 101) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse @@ -47728,27 +50749,33 @@ var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgEncounterDoResponse)(nil), // 91: cardchain.cardchain.MsgEncounterDoResponse (*MsgEncounterClose)(nil), // 92: cardchain.cardchain.MsgEncounterClose (*MsgEncounterCloseResponse)(nil), // 93: cardchain.cardchain.MsgEncounterCloseResponse - nil, // 94: cardchain.cardchain.MsgEncounterCreate.ParametersEntry - (*Params)(nil), // 95: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 96: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 97: cardchain.cardchain.SingleVote - (Outcome)(0), // 98: cardchain.cardchain.Outcome - (CardRarity)(0), // 99: cardchain.cardchain.CardRarity - (Response)(0), // 100: cardchain.cardchain.Response + (*MsgCreateProductDetails)(nil), // 94: cardchain.cardchain.MsgCreateProductDetails + (*MsgCreateProductDetailsResponse)(nil), // 95: cardchain.cardchain.MsgCreateProductDetailsResponse + (*MsgUpdateProductDetails)(nil), // 96: cardchain.cardchain.MsgUpdateProductDetails + (*MsgUpdateProductDetailsResponse)(nil), // 97: cardchain.cardchain.MsgUpdateProductDetailsResponse + (*MsgDeleteProductDetails)(nil), // 98: cardchain.cardchain.MsgDeleteProductDetails + (*MsgDeleteProductDetailsResponse)(nil), // 99: cardchain.cardchain.MsgDeleteProductDetailsResponse + nil, // 100: cardchain.cardchain.MsgEncounterCreate.ParametersEntry + (*Params)(nil), // 101: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 102: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 103: cardchain.cardchain.SingleVote + (Outcome)(0), // 104: cardchain.cardchain.Outcome + (CardRarity)(0), // 105: cardchain.cardchain.CardRarity + (Response)(0), // 106: cardchain.cardchain.Response } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 95, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 96, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 97, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 96, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 98, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome - 96, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin - 99, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity - 100, // 7: cardchain.cardchain.MsgCouncilResponseReveal.reponse:type_name -> cardchain.cardchain.Response - 98, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome - 97, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote - 97, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote - 94, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry + 101, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 102, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 103, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 102, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 104, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 102, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin + 105, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity + 106, // 7: cardchain.cardchain.MsgCouncilResponseReveal.reponse:type_name -> cardchain.cardchain.Response + 104, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome + 103, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote + 103, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote + 100, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry 0, // 12: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams 2, // 13: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate 4, // 14: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy @@ -47796,55 +50823,61 @@ var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ 88, // 56: cardchain.cardchain.Msg.EncounterCreate:input_type -> cardchain.cardchain.MsgEncounterCreate 90, // 57: cardchain.cardchain.Msg.EncounterDo:input_type -> cardchain.cardchain.MsgEncounterDo 92, // 58: cardchain.cardchain.Msg.EncounterClose:input_type -> cardchain.cardchain.MsgEncounterClose - 1, // 59: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 60: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 61: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 62: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 63: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 64: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 65: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 66: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 67: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 68: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 69: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 70: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 25, // 71: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse - 27, // 72: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse - 29, // 73: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse - 31, // 74: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse - 33, // 75: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse - 35, // 76: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse - 37, // 77: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse - 39, // 78: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse - 41, // 79: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse - 43, // 80: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse - 45, // 81: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse - 47, // 82: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse - 49, // 83: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse - 51, // 84: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse - 53, // 85: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse - 55, // 86: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse - 57, // 87: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse - 59, // 88: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse - 61, // 89: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse - 63, // 90: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse - 65, // 91: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse - 67, // 92: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse - 69, // 93: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse - 71, // 94: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse - 73, // 95: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse - 75, // 96: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse - 77, // 97: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse - 79, // 98: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse - 81, // 99: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse - 83, // 100: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse - 85, // 101: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse - 87, // 102: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse - 89, // 103: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse - 91, // 104: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse - 93, // 105: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse - 59, // [59:106] is the sub-list for method output_type - 12, // [12:59] is the sub-list for method input_type + 94, // 59: cardchain.cardchain.Msg.CreateProductDetails:input_type -> cardchain.cardchain.MsgCreateProductDetails + 96, // 60: cardchain.cardchain.Msg.UpdateProductDetails:input_type -> cardchain.cardchain.MsgUpdateProductDetails + 98, // 61: cardchain.cardchain.Msg.DeleteProductDetails:input_type -> cardchain.cardchain.MsgDeleteProductDetails + 1, // 62: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 63: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 64: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 65: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 66: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 67: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 68: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 69: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 70: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 71: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 72: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 73: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 25, // 74: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse + 27, // 75: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse + 29, // 76: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse + 31, // 77: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse + 33, // 78: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse + 35, // 79: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse + 37, // 80: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse + 39, // 81: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse + 41, // 82: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse + 43, // 83: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse + 45, // 84: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse + 47, // 85: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse + 49, // 86: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse + 51, // 87: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse + 53, // 88: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse + 55, // 89: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse + 57, // 90: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse + 59, // 91: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse + 61, // 92: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse + 63, // 93: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse + 65, // 94: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse + 67, // 95: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse + 69, // 96: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse + 71, // 97: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse + 73, // 98: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse + 75, // 99: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse + 77, // 100: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse + 79, // 101: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse + 81, // 102: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse + 83, // 103: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse + 85, // 104: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse + 87, // 105: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse + 89, // 106: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse + 91, // 107: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse + 93, // 108: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse + 95, // 109: cardchain.cardchain.Msg.CreateProductDetails:output_type -> cardchain.cardchain.MsgCreateProductDetailsResponse + 97, // 110: cardchain.cardchain.Msg.UpdateProductDetails:output_type -> cardchain.cardchain.MsgUpdateProductDetailsResponse + 99, // 111: cardchain.cardchain.Msg.DeleteProductDetails:output_type -> cardchain.cardchain.MsgDeleteProductDetailsResponse + 62, // [62:112] is the sub-list for method output_type + 12, // [12:62] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name @@ -47860,6 +50893,7 @@ func file_cardchain_cardchain_tx_proto_init() { file_cardchain_cardchain_match_proto_init() file_cardchain_cardchain_council_proto_init() file_cardchain_cardchain_card_proto_init() + file_cardchain_cardchain_product_details_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_tx_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateParams); i { @@ -48989,6 +52023,78 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } + file_cardchain_cardchain_tx_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCreateProductDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCreateProductDetailsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateProductDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateProductDetailsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgDeleteProductDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgDeleteProductDetailsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -48996,7 +52102,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 95, + NumMessages: 101, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 3a84c3e1..bf094045 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -66,6 +66,9 @@ const ( Msg_EncounterCreate_FullMethodName = "/cardchain.cardchain.Msg/EncounterCreate" Msg_EncounterDo_FullMethodName = "/cardchain.cardchain.Msg/EncounterDo" Msg_EncounterClose_FullMethodName = "/cardchain.cardchain.Msg/EncounterClose" + Msg_CreateProductDetails_FullMethodName = "/cardchain.cardchain.Msg/CreateProductDetails" + Msg_UpdateProductDetails_FullMethodName = "/cardchain.cardchain.Msg/UpdateProductDetails" + Msg_DeleteProductDetails_FullMethodName = "/cardchain.cardchain.Msg/DeleteProductDetails" ) // MsgClient is the client API for Msg service. @@ -121,6 +124,9 @@ type MsgClient interface { EncounterCreate(ctx context.Context, in *MsgEncounterCreate, opts ...grpc.CallOption) (*MsgEncounterCreateResponse, error) EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) + CreateProductDetails(ctx context.Context, in *MsgCreateProductDetails, opts ...grpc.CallOption) (*MsgCreateProductDetailsResponse, error) + UpdateProductDetails(ctx context.Context, in *MsgUpdateProductDetails, opts ...grpc.CallOption) (*MsgUpdateProductDetailsResponse, error) + DeleteProductDetails(ctx context.Context, in *MsgDeleteProductDetails, opts ...grpc.CallOption) (*MsgDeleteProductDetailsResponse, error) } type msgClient struct { @@ -554,6 +560,33 @@ func (c *msgClient) EncounterClose(ctx context.Context, in *MsgEncounterClose, o return out, nil } +func (c *msgClient) CreateProductDetails(ctx context.Context, in *MsgCreateProductDetails, opts ...grpc.CallOption) (*MsgCreateProductDetailsResponse, error) { + out := new(MsgCreateProductDetailsResponse) + err := c.cc.Invoke(ctx, Msg_CreateProductDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) UpdateProductDetails(ctx context.Context, in *MsgUpdateProductDetails, opts ...grpc.CallOption) (*MsgUpdateProductDetailsResponse, error) { + out := new(MsgUpdateProductDetailsResponse) + err := c.cc.Invoke(ctx, Msg_UpdateProductDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) DeleteProductDetails(ctx context.Context, in *MsgDeleteProductDetails, opts ...grpc.CallOption) (*MsgDeleteProductDetailsResponse, error) { + out := new(MsgDeleteProductDetailsResponse) + err := c.cc.Invoke(ctx, Msg_DeleteProductDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -607,6 +640,9 @@ type MsgServer interface { EncounterCreate(context.Context, *MsgEncounterCreate) (*MsgEncounterCreateResponse, error) EncounterDo(context.Context, *MsgEncounterDo) (*MsgEncounterDoResponse, error) EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) + CreateProductDetails(context.Context, *MsgCreateProductDetails) (*MsgCreateProductDetailsResponse, error) + UpdateProductDetails(context.Context, *MsgUpdateProductDetails) (*MsgUpdateProductDetailsResponse, error) + DeleteProductDetails(context.Context, *MsgDeleteProductDetails) (*MsgDeleteProductDetailsResponse, error) mustEmbedUnimplementedMsgServer() } @@ -755,6 +791,15 @@ func (UnimplementedMsgServer) EncounterDo(context.Context, *MsgEncounterDo) (*Ms func (UnimplementedMsgServer) EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EncounterClose not implemented") } +func (UnimplementedMsgServer) CreateProductDetails(context.Context, *MsgCreateProductDetails) (*MsgCreateProductDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProductDetails not implemented") +} +func (UnimplementedMsgServer) UpdateProductDetails(context.Context, *MsgUpdateProductDetails) (*MsgUpdateProductDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProductDetails not implemented") +} +func (UnimplementedMsgServer) DeleteProductDetails(context.Context, *MsgDeleteProductDetails) (*MsgDeleteProductDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteProductDetails not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -1614,6 +1659,60 @@ func _Msg_EncounterClose_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Msg_CreateProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateProductDetails) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CreateProductDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CreateProductDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CreateProductDetails(ctx, req.(*MsgCreateProductDetails)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_UpdateProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateProductDetails) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateProductDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_UpdateProductDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateProductDetails(ctx, req.(*MsgUpdateProductDetails)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_DeleteProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgDeleteProductDetails) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).DeleteProductDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_DeleteProductDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).DeleteProductDetails(ctx, req.(*MsgDeleteProductDetails)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1809,6 +1908,18 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "EncounterClose", Handler: _Msg_EncounterClose_Handler, }, + { + MethodName: "CreateProductDetails", + Handler: _Msg_CreateProductDetails_Handler, + }, + { + MethodName: "UpdateProductDetails", + Handler: _Msg_UpdateProductDetails_Handler, + }, + { + MethodName: "DeleteProductDetails", + Handler: _Msg_DeleteProductDetails_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 246516b2..3bd41838 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerAdeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBdeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerAdeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBdeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/encounter.proto b/proto/cardchain/cardchain/encounter.proto new file mode 100644 index 00000000..8d2016ce --- /dev/null +++ b/proto/cardchain/cardchain/encounter.proto @@ -0,0 +1,21 @@ +syntax = "proto3"; +package cardchain.cardchain; + +import "gogoproto/gogo.proto"; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message Encounter { + uint64 id = 1; + repeated uint64 drawlist = 2; + bool proven = 3; + string owner = 4; + map parameters = 5; + uint64 imageId = 6; + string name = 7; +} + +message EncounterWithImage { + Encounter encounter = 1; + bytes image = 2; +} diff --git a/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto index d62f3326..56a95537 100644 --- a/proto/cardchain/cardchain/genesis.proto +++ b/proto/cardchain/cardchain/genesis.proto @@ -1,17 +1,20 @@ syntax = "proto3"; + package cardchain.cardchain; import "amino/amino.proto"; import "gogoproto/gogo.proto"; import "cardchain/cardchain/params.proto"; +import "cardchain/cardchain/product_details.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // GenesisState defines the cardchain module's genesis state. message GenesisState { + // params defines all the parameters of the module. - Params params = 1 [ - (gogoproto.nullable) = false, - (amino.dont_omitempty) = true - ]; + Params params = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; + repeated ProductDetails productDetailsList = 2 [(gogoproto.nullable) = false] ; + uint64 productDetailsCount = 3; } + diff --git a/proto/cardchain/cardchain/num.proto b/proto/cardchain/cardchain/image.proto similarity index 78% rename from proto/cardchain/cardchain/num.proto rename to proto/cardchain/cardchain/image.proto index 7febf57f..9cf70269 100644 --- a/proto/cardchain/cardchain/num.proto +++ b/proto/cardchain/cardchain/image.proto @@ -3,4 +3,4 @@ package cardchain.cardchain; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; -message Num { uint64 num = 1; } +message Image { bytes image = 1; } diff --git a/proto/cardchain/cardchain/params.proto b/proto/cardchain/cardchain/params.proto index 01ceece7..d27cc8ae 100644 --- a/proto/cardchain/cardchain/params.proto +++ b/proto/cardchain/cardchain/params.proto @@ -3,6 +3,7 @@ package cardchain.cardchain; import "amino/amino.proto"; import "gogoproto/gogo.proto"; +import "cosmos/base/v1beta1/coin.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; @@ -11,5 +12,30 @@ message Params { option (amino.name) = "cardchain/x/cardchain/Params"; option (gogoproto.equal) = true; - -} \ No newline at end of file + int64 votingRightsExpirationTime = 1; + uint64 setSize = 2; + cosmos.base.v1beta1.Coin setPrice = 3 [ (gogoproto.nullable) = false ]; + uint64 activeSetsAmount = 4; + cosmos.base.v1beta1.Coin setCreationFee = 5 [ (gogoproto.nullable) = false ]; + cosmos.base.v1beta1.Coin collateralDeposit = 6 + [ (gogoproto.nullable) = false ]; + int64 winnerReward = 7; + cosmos.base.v1beta1.Coin hourlyFaucet = 9 [ (gogoproto.nullable) = false ]; + string inflationRate = 10; + uint64 raresPerPack = 11; + uint64 commonsPerPack = 12; + uint64 unCommonsPerPack = 13; + uint64 trialPeriod = 14; + int64 gameVoteRatio = 15; + int64 cardAuctionPriceReductionPeriod = 16; + cosmos.base.v1beta1.Coin airDropValue = 17 [ (gogoproto.nullable) = false ]; + int64 airDropMaxBlockHeight = 18; + cosmos.base.v1beta1.Coin trialVoteReward = 19 + [ (gogoproto.nullable) = false ]; + int64 votePoolFraction = 20; + int64 votingRewardCap = 8; + uint64 matchWorkerDelay = 21; + uint64 rareDropRatio = 22; + uint64 exceptionalDropRatio = 23; + uint64 uniqueDropRatio = 24; +} diff --git a/proto/cardchain/cardchain/product_details.proto b/proto/cardchain/cardchain/product_details.proto new file mode 100644 index 00000000..7907599a --- /dev/null +++ b/proto/cardchain/cardchain/product_details.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package cardchain.cardchain; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message ProductDetails { + uint64 id = 1; + string name = 2; + string desc = 3; + string creator = 4; +} diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index d915c4a5..013a39e7 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -1,4 +1,5 @@ syntax = "proto3"; + package cardchain.cardchain; import "amino/amino.proto"; @@ -6,25 +7,53 @@ import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; import "cardchain/cardchain/params.proto"; +import "cardchain/cardchain/product_details.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // Query defines the gRPC querier service. service Query { + // Parameters queries the parameters of the module. - rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { + rpc Params (QueryParamsRequest) returns (QueryParamsResponse) { option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/params"; + + } + + // Queries a list of ProductDetails items. + rpc ProductDetails (QueryGetProductDetailsRequest) returns (QueryGetProductDetailsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; + + } + rpc ProductDetailsAll (QueryAllProductDetailsRequest) returns (QueryAllProductDetailsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details"; + } } - // 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, - (amino.dont_omitempty) = true - ]; -} \ No newline at end of file + Params params = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; +} + +message QueryGetProductDetailsRequest { + uint64 id = 1; +} + +message QueryGetProductDetailsResponse { + ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; +} + +message QueryAllProductDetailsRequest { + cosmos.base.query.v1beta1.PageRequest pagination = 1; +} + +message QueryAllProductDetailsResponse { + repeated ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; + cosmos.base.query.v1beta1.PageResponse pagination = 2; +} + diff --git a/proto/cardchain/cardchain/running_average.proto b/proto/cardchain/cardchain/running_average.proto new file mode 100644 index 00000000..c98f892d --- /dev/null +++ b/proto/cardchain/cardchain/running_average.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package cardchain.cardchain; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message RunningAverage { repeated int64 arr = 1; } diff --git a/proto/cardchain/cardchain/sell_offer.proto b/proto/cardchain/cardchain/sell_offer.proto new file mode 100644 index 00000000..98b383ff --- /dev/null +++ b/proto/cardchain/cardchain/sell_offer.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; +package cardchain.cardchain; + +import "gogoproto/gogo.proto"; +import "cosmos/base/v1beta1/coin.proto"; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message SellOffer { + + string seller = 1; + string buyer = 2; + uint64 card = 3; + cosmos.base.v1beta1.Coin price = 4 [ (gogoproto.nullable) = false ]; + SellOfferStatus status = 5; +} + +enum SellOfferStatus { + open = 0; + sold = 1; + removed = 2; +} diff --git a/proto/cardchain/cardchain/server.proto b/proto/cardchain/cardchain/server.proto new file mode 100644 index 00000000..25b0874b --- /dev/null +++ b/proto/cardchain/cardchain/server.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package cardchain.cardchain; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message Server { + string reporter = 1; + uint64 invalidReports = 2; + uint64 validReports = 3; +} diff --git a/proto/cardchain/cardchain/set.proto b/proto/cardchain/cardchain/set.proto new file mode 100644 index 00000000..3cd3ea84 --- /dev/null +++ b/proto/cardchain/cardchain/set.proto @@ -0,0 +1,40 @@ +syntax = "proto3"; +package cardchain.cardchain; + +import "cosmos/base/v1beta1/coin.proto"; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message Set { + string name = 1; + repeated uint64 cards = 2; + string artist = 3; + string storyWriter = 4; + repeated string contributors = 5; + string story = 6; + uint64 artworkId = 7; + CStatus status = 8; + int64 timeStamp = 9; + repeated AddrWithQuantity contributorsDistribution = 10; + repeated InnerRarities Rarities = 11; +} + +message InnerRarities { repeated uint64 R = 1; } + +message OutpSet { + Set set = 1; + bytes artwork = 2; +} + +enum CStatus { + design = 0; + finalized = 1; + active = 2; + archived = 3; +} + +message AddrWithQuantity { + string addr = 1; + uint32 q = 2; + cosmos.base.v1beta1.Coin payment = 3; +} diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 3088eb3a..2a0cd8d2 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -12,88 +12,80 @@ import "cardchain/cardchain/voting.proto"; import "cardchain/cardchain/match.proto"; import "cardchain/cardchain/council.proto"; import "cardchain/cardchain/card.proto"; +import "cardchain/cardchain/product_details.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // Msg defines the Msg service. service Msg { option (cosmos.msg.v1.service) = true; - + // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. - rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); - rpc UserCreate(MsgUserCreate) returns (MsgUserCreateResponse); - rpc CardSchemeBuy(MsgCardSchemeBuy) returns (MsgCardSchemeBuyResponse); - rpc CardSaveContent(MsgCardSaveContent) returns (MsgCardSaveContentResponse); - rpc CardVote(MsgCardVote) returns (MsgCardVoteResponse); - rpc CardTransfer(MsgCardTransfer) returns (MsgCardTransferResponse); - rpc CardDonate(MsgCardDonate) returns (MsgCardDonateResponse); - rpc CardArtworkAdd(MsgCardArtworkAdd) returns (MsgCardArtworkAddResponse); - rpc CardArtistChange(MsgCardArtistChange) - returns (MsgCardArtistChangeResponse); - rpc CouncilRegister(MsgCouncilRegister) returns (MsgCouncilRegisterResponse); - rpc CouncilDeregister(MsgCouncilDeregister) - returns (MsgCouncilDeregisterResponse); - rpc MatchReport(MsgMatchReport) returns (MsgMatchReportResponse); - rpc CouncilCreate(MsgCouncilCreate) returns (MsgCouncilCreateResponse); - rpc MatchReporterAppoint(MsgMatchReporterAppoint) - returns (MsgMatchReporterAppointResponse); - rpc SetCreate(MsgSetCreate) returns (MsgSetCreateResponse); - rpc SetCardAdd(MsgSetCardAdd) returns (MsgSetCardAddResponse); - rpc SetCardRemove(MsgSetCardRemove) returns (MsgSetCardRemoveResponse); - rpc SetContributorAdd(MsgSetContributorAdd) - returns (MsgSetContributorAddResponse); - rpc SetContributorRemove(MsgSetContributorRemove) - returns (MsgSetContributorRemoveResponse); - rpc SetFinalize(MsgSetFinalize) returns (MsgSetFinalizeResponse); - rpc SetArtworkAdd(MsgSetArtworkAdd) returns (MsgSetArtworkAddResponse); - rpc SetStoryAdd(MsgSetStoryAdd) returns (MsgSetStoryAddResponse); - rpc BoosterPackBuy(MsgBoosterPackBuy) returns (MsgBoosterPackBuyResponse); - rpc SellOfferCreate(MsgSellOfferCreate) returns (MsgSellOfferCreateResponse); - rpc SellOfferBuy(MsgSellOfferBuy) returns (MsgSellOfferBuyResponse); - rpc SellOfferRemove(MsgSellOfferRemove) returns (MsgSellOfferRemoveResponse); - rpc CardRaritySet(MsgCardRaritySet) returns (MsgCardRaritySetResponse); - rpc CouncilResponseCommit(MsgCouncilResponseCommit) - returns (MsgCouncilResponseCommitResponse); - rpc CouncilResponseReveal(MsgCouncilResponseReveal) - returns (MsgCouncilResponseRevealResponse); - rpc CouncilRestart(MsgCouncilRestart) returns (MsgCouncilRestartResponse); - rpc MatchConfirm(MsgMatchConfirm) returns (MsgMatchConfirmResponse); - rpc ProfileCardSet(MsgProfileCardSet) returns (MsgProfileCardSetResponse); - rpc ProfileWebsiteSet(MsgProfileWebsiteSet) - returns (MsgProfileWebsiteSetResponse); - rpc ProfileBioSet(MsgProfileBioSet) returns (MsgProfileBioSetResponse); - rpc BoosterPackOpen(MsgBoosterPackOpen) returns (MsgBoosterPackOpenResponse); - rpc BoosterPackTransfer(MsgBoosterPackTransfer) - returns (MsgBoosterPackTransferResponse); - rpc SetStoryWriterSet(MsgSetStoryWriterSet) - returns (MsgSetStoryWriterSetResponse); - rpc SetArtistSet(MsgSetArtistSet) returns (MsgSetArtistSetResponse); - rpc CardVoteMulti(MsgCardVoteMulti) returns (MsgCardVoteMultiResponse); - rpc MatchOpen(MsgMatchOpen) returns (MsgMatchOpenResponse); - rpc SetNameSet(MsgSetNameSet) returns (MsgSetNameSetResponse); - rpc ProfileAliasSet(MsgProfileAliasSet) returns (MsgProfileAliasSetResponse); - rpc EarlyAccessInvite(MsgEarlyAccessInvite) - returns (MsgEarlyAccessInviteResponse); - rpc ZealyConnect(MsgZealyConnect) returns (MsgZealyConnectResponse); - rpc EncounterCreate(MsgEncounterCreate) returns (MsgEncounterCreateResponse); - rpc EncounterDo(MsgEncounterDo) returns (MsgEncounterDoResponse); - rpc EncounterClose(MsgEncounterClose) returns (MsgEncounterCloseResponse); + rpc UpdateParams (MsgUpdateParams ) returns (MsgUpdateParamsResponse ); + rpc UserCreate (MsgUserCreate ) returns (MsgUserCreateResponse ); + rpc CardSchemeBuy (MsgCardSchemeBuy ) returns (MsgCardSchemeBuyResponse ); + rpc CardSaveContent (MsgCardSaveContent ) returns (MsgCardSaveContentResponse ); + rpc CardVote (MsgCardVote ) returns (MsgCardVoteResponse ); + rpc CardTransfer (MsgCardTransfer ) returns (MsgCardTransferResponse ); + rpc CardDonate (MsgCardDonate ) returns (MsgCardDonateResponse ); + rpc CardArtworkAdd (MsgCardArtworkAdd ) returns (MsgCardArtworkAddResponse ); + rpc CardArtistChange (MsgCardArtistChange ) returns (MsgCardArtistChangeResponse ); + rpc CouncilRegister (MsgCouncilRegister ) returns (MsgCouncilRegisterResponse ); + rpc CouncilDeregister (MsgCouncilDeregister ) returns (MsgCouncilDeregisterResponse ); + rpc MatchReport (MsgMatchReport ) returns (MsgMatchReportResponse ); + rpc CouncilCreate (MsgCouncilCreate ) returns (MsgCouncilCreateResponse ); + rpc MatchReporterAppoint (MsgMatchReporterAppoint ) returns (MsgMatchReporterAppointResponse ); + rpc SetCreate (MsgSetCreate ) returns (MsgSetCreateResponse ); + rpc SetCardAdd (MsgSetCardAdd ) returns (MsgSetCardAddResponse ); + rpc SetCardRemove (MsgSetCardRemove ) returns (MsgSetCardRemoveResponse ); + rpc SetContributorAdd (MsgSetContributorAdd ) returns (MsgSetContributorAddResponse ); + rpc SetContributorRemove (MsgSetContributorRemove ) returns (MsgSetContributorRemoveResponse ); + rpc SetFinalize (MsgSetFinalize ) returns (MsgSetFinalizeResponse ); + rpc SetArtworkAdd (MsgSetArtworkAdd ) returns (MsgSetArtworkAddResponse ); + rpc SetStoryAdd (MsgSetStoryAdd ) returns (MsgSetStoryAddResponse ); + rpc BoosterPackBuy (MsgBoosterPackBuy ) returns (MsgBoosterPackBuyResponse ); + rpc SellOfferCreate (MsgSellOfferCreate ) returns (MsgSellOfferCreateResponse ); + rpc SellOfferBuy (MsgSellOfferBuy ) returns (MsgSellOfferBuyResponse ); + rpc SellOfferRemove (MsgSellOfferRemove ) returns (MsgSellOfferRemoveResponse ); + rpc CardRaritySet (MsgCardRaritySet ) returns (MsgCardRaritySetResponse ); + rpc CouncilResponseCommit (MsgCouncilResponseCommit) returns (MsgCouncilResponseCommitResponse); + rpc CouncilResponseReveal (MsgCouncilResponseReveal) returns (MsgCouncilResponseRevealResponse); + rpc CouncilRestart (MsgCouncilRestart ) returns (MsgCouncilRestartResponse ); + rpc MatchConfirm (MsgMatchConfirm ) returns (MsgMatchConfirmResponse ); + rpc ProfileCardSet (MsgProfileCardSet ) returns (MsgProfileCardSetResponse ); + rpc ProfileWebsiteSet (MsgProfileWebsiteSet ) returns (MsgProfileWebsiteSetResponse ); + rpc ProfileBioSet (MsgProfileBioSet ) returns (MsgProfileBioSetResponse ); + rpc BoosterPackOpen (MsgBoosterPackOpen ) returns (MsgBoosterPackOpenResponse ); + rpc BoosterPackTransfer (MsgBoosterPackTransfer ) returns (MsgBoosterPackTransferResponse ); + rpc SetStoryWriterSet (MsgSetStoryWriterSet ) returns (MsgSetStoryWriterSetResponse ); + rpc SetArtistSet (MsgSetArtistSet ) returns (MsgSetArtistSetResponse ); + rpc CardVoteMulti (MsgCardVoteMulti ) returns (MsgCardVoteMultiResponse ); + rpc MatchOpen (MsgMatchOpen ) returns (MsgMatchOpenResponse ); + rpc SetNameSet (MsgSetNameSet ) returns (MsgSetNameSetResponse ); + rpc ProfileAliasSet (MsgProfileAliasSet ) returns (MsgProfileAliasSetResponse ); + rpc EarlyAccessInvite (MsgEarlyAccessInvite ) returns (MsgEarlyAccessInviteResponse ); + rpc ZealyConnect (MsgZealyConnect ) returns (MsgZealyConnectResponse ); + rpc EncounterCreate (MsgEncounterCreate ) returns (MsgEncounterCreateResponse ); + rpc EncounterDo (MsgEncounterDo ) returns (MsgEncounterDoResponse ); + rpc EncounterClose (MsgEncounterClose ) returns (MsgEncounterCloseResponse ); + rpc CreateProductDetails (MsgCreateProductDetails ) returns (MsgCreateProductDetailsResponse ); + rpc UpdateProductDetails (MsgUpdateProductDetails ) returns (MsgUpdateProductDetailsResponse ); + rpc DeleteProductDetails (MsgDeleteProductDetails ) returns (MsgDeleteProductDetailsResponse ); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { - option (cosmos.msg.v1.signer) = "authority"; - option (amino.name) = "cardchain/x/cardchain/MsgUpdateParams"; - + option (cosmos.msg.v1.signer) = "authority"; + option (amino.name) = "cardchain/x/cardchain/MsgUpdateParams"; + // authority is the address that controls the module (defaults to x/gov unless // overwritten). - string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // params defines the module parameters to update. - + // NOTE: All parameters must be supplied. - Params params = 2 - [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; + Params params = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } // MsgUpdateParamsResponse defines the response structure for executing a @@ -104,43 +96,49 @@ message MsgUserCreate { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; string newUser = 2; - string alias = 3; + string alias = 3; } message MsgUserCreateResponse {} message MsgCardSchemeBuy { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - cosmos.base.v1beta1.Coin bid = 2 [ (gogoproto.nullable) = false ]; + string creator = 1; + cosmos.base.v1beta1.Coin bid = 2 [(gogoproto.nullable) = false]; } -message MsgCardSchemeBuyResponse { uint64 cardId = 1; } +message MsgCardSchemeBuyResponse { + uint64 cardId = 1; +} message MsgCardSaveContent { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; - bytes content = 3; - string notes = 4; - string artist = 5; - bool balanceAnchor = 6; + string creator = 1; + uint64 cardId = 2; + bytes content = 3; + string notes = 4; + string artist = 5; + bool balanceAnchor = 6; } -message MsgCardSaveContentResponse { bool airdropClaimed = 1; } +message MsgCardSaveContentResponse { + bool airdropClaimed = 1; +} message MsgCardVote { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - SingleVote vote = 2; + string creator = 1; + SingleVote vote = 2; } -message MsgCardVoteResponse { bool airdropClaimed = 1; } +message MsgCardVoteResponse { + bool airdropClaimed = 1; +} message MsgCardTransfer { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; + string creator = 1; + uint64 cardId = 2; string receiver = 3; } @@ -148,9 +146,9 @@ message MsgCardTransferResponse {} message MsgCardDonate { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; - cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; + string creator = 1; + uint64 cardId = 2; + cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; } message MsgCardDonateResponse {} @@ -158,9 +156,9 @@ message MsgCardDonateResponse {} message MsgCardArtworkAdd { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 cardId = 2; - bytes image = 3; - bool fullArt = 4; + uint64 cardId = 2; + bytes image = 3; + bool fullArt = 4; } message MsgCardArtworkAddResponse {} @@ -168,8 +166,8 @@ message MsgCardArtworkAddResponse {} message MsgCardArtistChange { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 cardId = 2; - string artist = 3; + uint64 cardId = 2; + string artist = 3; } message MsgCardArtistChangeResponse {} @@ -190,11 +188,11 @@ message MsgCouncilDeregisterResponse {} message MsgMatchReport { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 matchId = 2; - repeated uint64 playedCardsA = 3; - repeated uint64 playedCardsB = 4; - Outcome outcome = 5; + string creator = 1; + uint64 matchId = 2; + repeated uint64 playedCardsA = 3; + repeated uint64 playedCardsB = 4; + Outcome outcome = 5; } message MsgMatchReportResponse {} @@ -202,14 +200,14 @@ message MsgMatchReportResponse {} message MsgCouncilCreate { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 cardId = 2; + uint64 cardId = 2; } message MsgCouncilCreateResponse {} message MsgMatchReporterAppoint { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; string reporter = 2; } @@ -217,10 +215,10 @@ message MsgMatchReporterAppointResponse {} message MsgSetCreate { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - string name = 2; - string artist = 3; - string storyWriter = 4; + string creator = 1; + string name = 2; + string artist = 3; + string storyWriter = 4; repeated string contributors = 5; } @@ -229,8 +227,8 @@ message MsgSetCreateResponse {} message MsgSetCardAdd { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - uint64 cardId = 3; + uint64 setId = 2; + uint64 cardId = 3; } message MsgSetCardAddResponse {} @@ -238,8 +236,8 @@ message MsgSetCardAddResponse {} message MsgSetCardRemove { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - uint64 cardId = 3; + uint64 setId = 2; + uint64 cardId = 3; } message MsgSetCardRemoveResponse {} @@ -247,8 +245,8 @@ message MsgSetCardRemoveResponse {} message MsgSetContributorAdd { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - string user = 3; + uint64 setId = 2; + string user = 3; } message MsgSetContributorAddResponse {} @@ -256,8 +254,8 @@ message MsgSetContributorAddResponse {} message MsgSetContributorRemove { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - string user = 3; + uint64 setId = 2; + string user = 3; } message MsgSetContributorRemoveResponse {} @@ -265,7 +263,7 @@ message MsgSetContributorRemoveResponse {} message MsgSetFinalize { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; + uint64 setId = 2; } message MsgSetFinalizeResponse {} @@ -273,8 +271,8 @@ message MsgSetFinalizeResponse {} message MsgSetArtworkAdd { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - bytes image = 3; + uint64 setId = 2; + bytes image = 3; } message MsgSetArtworkAddResponse {} @@ -282,8 +280,8 @@ message MsgSetArtworkAddResponse {} message MsgSetStoryAdd { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - string story = 3; + uint64 setId = 2; + string story = 3; } message MsgSetStoryAddResponse {} @@ -291,23 +289,25 @@ message MsgSetStoryAddResponse {} message MsgBoosterPackBuy { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; + uint64 setId = 2; } -message MsgBoosterPackBuyResponse { bool airdropClaimed = 1; } +message MsgBoosterPackBuyResponse { + bool airdropClaimed = 1; +} message MsgSellOfferCreate { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; - cosmos.base.v1beta1.Coin price = 3 [ (gogoproto.nullable) = false ]; + string creator = 1; + uint64 cardId = 2; + cosmos.base.v1beta1.Coin price = 3 [(gogoproto.nullable) = false]; } message MsgSellOfferCreateResponse {} message MsgSellOfferBuy { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 sellOfferId = 2; } @@ -315,7 +315,7 @@ message MsgSellOfferBuyResponse {} message MsgSellOfferRemove { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 sellOfferId = 2; } @@ -323,19 +323,19 @@ message MsgSellOfferRemoveResponse {} message MsgCardRaritySet { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; - uint64 setId = 3; - CardRarity rarity = 4; + string creator = 1; + uint64 cardId = 2; + uint64 setId = 3; + CardRarity rarity = 4; } message MsgCardRaritySetResponse {} message MsgCouncilResponseCommit { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 councilId = 2; - string reponse = 3; + string creator = 1; + uint64 councilId = 2; + string reponse = 3; string suggestion = 4; } @@ -343,17 +343,17 @@ message MsgCouncilResponseCommitResponse {} message MsgCouncilResponseReveal { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 councilId = 2; - Response reponse = 3; - string secret = 4; + string creator = 1; + uint64 councilId = 2; + Response reponse = 3; + string secret = 4; } message MsgCouncilResponseRevealResponse {} message MsgCouncilRestart { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 councilId = 2; } @@ -361,9 +361,9 @@ message MsgCouncilRestartResponse {} message MsgMatchConfirm { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 matchId = 2; - Outcome outcome = 3; + string creator = 1; + uint64 matchId = 2; + Outcome outcome = 3; repeated SingleVote votedCards = 4; } @@ -372,7 +372,7 @@ message MsgMatchConfirmResponse {} message MsgProfileCardSet { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 cardId = 2; + uint64 cardId = 2; } message MsgProfileCardSetResponse {} @@ -388,32 +388,34 @@ message MsgProfileWebsiteSetResponse {} message MsgProfileBioSet { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - string bio = 2; + string bio = 2; } message MsgProfileBioSetResponse {} message MsgBoosterPackOpen { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 boosterPackId = 2; } -message MsgBoosterPackOpenResponse { repeated uint64 cardIds = 1; } +message MsgBoosterPackOpenResponse { + repeated uint64 cardIds = 1; +} message MsgBoosterPackTransfer { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 boosterPackId = 2; - string receiver = 3; + string receiver = 3; } message MsgBoosterPackTransferResponse {} message MsgSetStoryWriterSet { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 setId = 2; + string creator = 1; + uint64 setId = 2; string storyWriter = 3; } @@ -422,36 +424,40 @@ message MsgSetStoryWriterSetResponse {} message MsgSetArtistSet { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - string artist = 3; + uint64 setId = 2; + string artist = 3; } message MsgSetArtistSetResponse {} message MsgCardVoteMulti { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - repeated SingleVote votes = 2; + string creator = 1; + repeated SingleVote votes = 2; } -message MsgCardVoteMultiResponse { bool airdropClaimed = 1; } +message MsgCardVoteMultiResponse { + bool airdropClaimed = 1; +} message MsgMatchOpen { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - string playerA = 2; - string playerB = 3; + string creator = 1; + string playerA = 2; + string playerB = 3; repeated uint64 playerAdeck = 4; repeated uint64 playerBdeck = 5; } -message MsgMatchOpenResponse { uint64 matchId = 1; } +message MsgMatchOpenResponse { + uint64 matchId = 1; +} message MsgSetNameSet { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - string name = 3; + uint64 setId = 2; + string name = 3; } message MsgSetNameSetResponse {} @@ -459,7 +465,7 @@ message MsgSetNameSetResponse {} message MsgProfileAliasSet { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - string alias = 2; + string alias = 2; } message MsgProfileAliasSetResponse {} @@ -467,7 +473,7 @@ message MsgProfileAliasSetResponse {} message MsgEarlyAccessInvite { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - string user = 2; + string user = 2; } message MsgEarlyAccessInviteResponse {} @@ -482,30 +488,60 @@ message MsgZealyConnectResponse {} message MsgEncounterCreate { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - string name = 2; - repeated uint64 drawlist = 3; - map parameters = 4; - bytes image = 5; + string creator = 1; + string name = 2; + repeated uint64 drawlist = 3; + map parameters = 4; + bytes image = 5; } message MsgEncounterCreateResponse {} message MsgEncounterDo { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 encounterId = 2; - string user = 3; + string user = 3; } message MsgEncounterDoResponse {} message MsgEncounterClose { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 encounterId = 2; - string user = 3; - bool won = 4; + string user = 3; + bool won = 4; } message MsgEncounterCloseResponse {} + +message MsgCreateProductDetails { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string name = 2; + string desc = 3; +} + +message MsgCreateProductDetailsResponse { + uint64 id = 1; +} + +message MsgUpdateProductDetails { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 id = 2; + string name = 3; + string desc = 4; +} + +message MsgUpdateProductDetailsResponse {} + +message MsgDeleteProductDetails { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + uint64 id = 2; +} + +message MsgDeleteProductDetailsResponse {} + diff --git a/types/generic_type_keeper/generic_type_keeper.go b/types/generic_type_keeper/generic_type_keeper.go index e66d36c1..c2a596b1 100644 --- a/types/generic_type_keeper/generic_type_keeper.go +++ b/types/generic_type_keeper/generic_type_keeper.go @@ -1,11 +1,15 @@ package generic_type_keeper import ( - "fmt" + "encoding/binary" + "cosmossdk.io/core/store" + "cosmossdk.io/store/prefix" storetypes "cosmossdk.io/store/types" "github.com/DecentralCardGame/cardchain/x/cardchain/types" + db "github.com/cosmos/cosmos-db" "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/runtime" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/gogoproto/proto" ) @@ -43,29 +47,52 @@ func GetEmpty[A any]() *A { } type GenericTypeKeeper[T proto.Message] struct { - 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 + storeService store.KVStoreService + key string + cdc codec.BinaryCodec + 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 proto.Message](key storetypes.StoreKey, internalKey storetypes.StoreKey, cdc codec.BinaryCodec, getEmpty func() T) GenericTypeKeeper[T] { +func NewGTK[T proto.Message](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T) GenericTypeKeeper[T] { gtk := GenericTypeKeeper[T]{ - Key: key, - InternalKey: internalKey, - cdc: cdc, - name: fmt.Sprintf("%T", getEmpty()), - getEmpty: getEmpty, + key: key, + cdc: cdc, + getEmpty: getEmpty, + storeService: storeService, } return gtk } +func (gtk GenericTypeKeeper[T]) valueKey() string { + return gtk.key + "/value/" +} + +func (gtk GenericTypeKeeper[T]) countKey() string { + return gtk.key + "/count/" +} + +func (gtk GenericTypeKeeper[T]) getIDBytes(id uint64) []byte { + bz := types.KeyPrefix(types.ProductDetailsKey) + bz = append(bz, []byte("/")...) + bz = binary.BigEndian.AppendUint64(bz, id) + return bz +} + +func (gtk GenericTypeKeeper[T]) getValueStore(ctx sdk.Context) prefix.Store { + storeAdapter := runtime.KVStoreAdapter(gtk.storeService.OpenKVStore(ctx)) + return prefix.NewStore(storeAdapter, types.KeyPrefix(gtk.valueKey())) +} + +func (gtk GenericTypeKeeper[T]) getCountStore(ctx sdk.Context) prefix.Store { + storeAdapter := runtime.KVStoreAdapter(gtk.storeService.OpenKVStore(ctx)) + return prefix.NewStore(storeAdapter, []byte{}) +} + // Get Gets an object from store func (gtk GenericTypeKeeper[T]) Get(ctx sdk.Context, id uint64) T { - store := ctx.KVStore(gtk.Key) - bz := store.Get(sdk.Uint64ToBigEndian(id)) + store := gtk.getValueStore(ctx) + bz := store.Get(gtk.getIDBytes(id)) gotten := gtk.getEmpty() gtk.cdc.MustUnmarshal(bz, gotten) @@ -74,34 +101,54 @@ func (gtk GenericTypeKeeper[T]) Get(ctx sdk.Context, id uint64) T { // Set Sets an object in store func (gtk GenericTypeKeeper[T]) Set(ctx sdk.Context, id uint64, new T) { - store := ctx.KVStore(gtk.Key) - store.Set(sdk.Uint64ToBigEndian(id), gtk.cdc.MustMarshal(new)) + store := gtk.getValueStore(ctx) + store.Set(gtk.getIDBytes(id), gtk.cdc.MustMarshal(new)) num := gtk.GetNum(ctx) if id == num { gtk.setNum(ctx, num+1) } } +// Append Sets a new object +func (gtk GenericTypeKeeper[T]) Append(ctx sdk.Context, new T) (count uint64) { + store := gtk.getValueStore(ctx) + count = gtk.GetNum(ctx) + + store.Set(gtk.getIDBytes(count), gtk.cdc.MustMarshal(new)) + + gtk.setNum(ctx, count+1) + + return +} + // GetNum Returns the number of items stored, way more performant than GetNumber func (gtk GenericTypeKeeper[T]) GetNum(ctx sdk.Context) uint64 { - store := ctx.KVStore(gtk.InternalKey) - bz := store.Get([]byte(gtk.name)) - var num types.Num - gtk.cdc.MustUnmarshal(bz, &num) - return num.Num + store := gtk.getCountStore(ctx) + byteKey := types.KeyPrefix(gtk.countKey()) + bz := store.Get(byteKey) + + // Count doesn't exist: no element + if bz == nil { + return 0 + } + + // Parse bytes + return binary.BigEndian.Uint64(bz) } // setNum Sets thenumber of items stored -func (gtk GenericTypeKeeper[T]) setNum(ctx sdk.Context, _num uint64) { - store := ctx.KVStore(gtk.InternalKey) - var num = types.Num{Num: _num} - store.Set([]byte(gtk.name), gtk.cdc.MustMarshal(&num)) +func (gtk GenericTypeKeeper[T]) setNum(ctx sdk.Context, count uint64) { + store := gtk.getCountStore(ctx) + byteKey := types.KeyPrefix(gtk.countKey()) + bz := make([]byte, 8) + binary.BigEndian.PutUint64(bz, count) + store.Set(byteKey, bz) } // GetIterator Returns an iterator for all objects -func (gtk GenericTypeKeeper[T]) GetIterator(ctx sdk.Context) storetypes.Iterator { - store := ctx.KVStore(gtk.Key) - return storetypes.KVStorePrefixIterator(store, nil) +func (gtk GenericTypeKeeper[T]) GetIterator(ctx sdk.Context) db.Iterator { + store := gtk.getValueStore(ctx) + return storetypes.KVStorePrefixIterator(store, []byte{}) } // GetAll Gets all objs from store -- use GetItemIterator instead @@ -128,7 +175,8 @@ func (gtk GenericTypeKeeper[T]) GetItemIterator(ctx sdk.Context) ItemIterator[T] } } -// GetNumber Gets the number of all objs in store -- deprecated, don't use +// GetNumber Gets the number of all objs in store +// Deprecated: don't use func (gtk GenericTypeKeeper[T]) GetNumber(ctx sdk.Context) (id uint64) { iterator := gtk.GetIterator(ctx) for ; iterator.Valid(); iterator.Next() { diff --git a/types/generic_type_keeper/keyworded_generic_type_keeper.go b/types/generic_type_keeper/keyworded_generic_type_keeper.go index 13f0616c..b506b3d8 100644 --- a/types/generic_type_keeper/keyworded_generic_type_keeper.go +++ b/types/generic_type_keeper/keyworded_generic_type_keeper.go @@ -3,7 +3,7 @@ package generic_type_keeper import ( "slices" - storetypes "cosmossdk.io/store/types" + "cosmossdk.io/core/store" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/gogoproto/proto" @@ -15,36 +15,30 @@ type KeywordedGenericTypeKeeper[T proto.Message] struct { } // NewKGTK Returns a new KeywordedGenericTypeKeeper -func NewKGTK[T proto.Message](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), +func NewKGTK[T proto.Message](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T, keywords []string) KeywordedGenericTypeKeeper[T] { + return KeywordedGenericTypeKeeper[T]{ + GenericTypeKeeper: NewGTK[T](key, storeService, cdc, getEmpty), KeyWords: keywords, } - return gtk } -// Get Gets an object from store -func (gtk KeywordedGenericTypeKeeper[T]) Get(ctx sdk.Context, keyword string) T { - if !slices.Contains(gtk.KeyWords, keyword) { +func (gtk KeywordedGenericTypeKeeper[T]) getUintID(keyword string) uint64 { + id := slices.Index(gtk.KeyWords, keyword) + if id == -1 { panic("Unknown keyword: " + keyword) } - store := ctx.KVStore(gtk.Key) - bz := store.Get([]byte(keyword)) + return uint64(id) +} - gotten := gtk.getEmpty() - gtk.cdc.MustUnmarshal(bz, gotten) - return gotten +// Get Gets an object from store +func (gtk KeywordedGenericTypeKeeper[T]) Get(ctx sdk.Context, keyword string) T { + return gtk.GenericTypeKeeper.Get(ctx, gtk.getUintID(keyword)) } // Set Sets an object in store func (gtk KeywordedGenericTypeKeeper[T]) Set(ctx sdk.Context, keyword string, new T) { - if !slices.Contains(gtk.KeyWords, keyword) { - panic("Unknown keyword: " + keyword) - } - - store := ctx.KVStore(gtk.Key) - store.Set([]byte(keyword), gtk.cdc.MustMarshal(new)) + gtk.GenericTypeKeeper.Set(ctx, gtk.getUintID(keyword), new) } // GetAll Gets all objs from store @@ -54,8 +48,3 @@ func (gtk KeywordedGenericTypeKeeper[T]) GetAll(ctx sdk.Context) (all []T) { } return } - -// GetNumber Gets the number of all objs in store -func (gtk KeywordedGenericTypeKeeper[T]) GetNumber(ctx sdk.Context) (id uint64) { - return uint64(len(gtk.KeyWords)) -} diff --git a/x/cardchain/keeper/incentives.go b/x/cardchain/keeper/incentives.go new file mode 100644 index 00000000..769ab3bb --- /dev/null +++ b/x/cardchain/keeper/incentives.go @@ -0,0 +1,49 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// Keys to access RunningAverages +const ( + Games24ValueKey = "games/24h" + Votes24ValueKey = "votes/24h" +) + +// GetWinnerIncentives calculates incentives for the winners pool +func (k Keeper) GetWinnerIncentives(ctx sdk.Context) float32 { + games := float32(k.GetGames(ctx)) + votes := float32(k.GetVotes(ctx)) + gVR := float32(k.GetParams(ctx).GameVoteRatio) / 100 + return games / (votes*gVR + games) +} + +// GetBalancerIncentives calculates incentives for the ballancers pool +func (k Keeper) GetBalancerIncentives(ctx sdk.Context) float32 { + games := float32(k.GetGames(ctx)) + votes := float32(k.GetVotes(ctx)) + gVR := float32(k.GetParams(ctx).GameVoteRatio) / 100 + return (votes * gVR) / (votes*gVR + games) +} + +// GetRunningAverageTotal Sums up a certain running average +func (k Keeper) GetRunningAverageTotal(ctx sdk.Context, key string) (num int64) { + runningAverage := k.RunningAverages.Get(ctx, key) + for _, val := range runningAverage.Arr { + num += val + } + if num == 0 { + num = 1 + } + return +} + +// GetGames Gets the number of games played in the last 24 hours +func (k Keeper) GetGames(ctx sdk.Context) int64 { + return k.GetRunningAverageTotal(ctx, Games24ValueKey) +} + +// GetVotes Gets the number of votes made in the last 24 hours +func (k Keeper) GetVotes(ctx sdk.Context) int64 { + return k.GetRunningAverageTotal(ctx, Votes24ValueKey) +} diff --git a/x/cardchain/keeper/incentives_test.go b/x/cardchain/keeper/incentives_test.go new file mode 100644 index 00000000..65c2ccef --- /dev/null +++ b/x/cardchain/keeper/incentives_test.go @@ -0,0 +1,27 @@ +package keeper_test + +import ( + "testing" + + testkeeper "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "github.com/stretchr/testify/require" +) + +func TestIncentives(t *testing.T) { + k, ctx := testkeeper.CardchainKeeper(t) + runningAverage := types.RunningAverage{Arr: []int64{1, 5, 7}} + var clearRunningAverage types.RunningAverage + params := types.DefaultParams() + + k.SetParams(ctx, params) + k.RunningAverages.Set(ctx, keeper.Games24ValueKey, &runningAverage) + + require.EqualValues(t, runningAverage, *k.RunningAverages.Get(ctx, keeper.Games24ValueKey)) + require.EqualValues(t, []*types.RunningAverage{&runningAverage, &clearRunningAverage}, k.RunningAverages.GetAll(ctx)) + require.EqualValues(t, 13, k.GetGames(ctx)) + require.EqualValues(t, 1, k.GetVotes(ctx)) + require.EqualValues(t, float32(0.98484848484848484848484848484848), k.GetWinnerIncentives(ctx)) + require.EqualValues(t, float32(0.01515151515151515151515151515152), k.GetBalancerIncentives(ctx)) +} diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index b34191c6..d5ec4748 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -8,6 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" + gtk "github.com/DecentralCardGame/cardchain/types/generic_type_keeper" "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) @@ -17,6 +18,17 @@ type ( storeService store.KVStoreService logger log.Logger + Cards gtk.GenericTypeKeeper[*types.Card] + Councils gtk.GenericTypeKeeper[*types.Council] + SellOffers gtk.GenericTypeKeeper[*types.SellOffer] + 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] + Encounters gtk.GenericTypeKeeper[*types.Encounter] + // the address capable of executing a MsgUpdateParams message. Typically, this // should be the x/gov module account. authority string @@ -39,6 +51,17 @@ func NewKeeper( storeService: storeService, authority: authority, logger: logger, + + Cards: gtk.NewGTK[*types.Card]("Cards", storeService, cdc, gtk.GetEmpty[types.Card]), + Councils: gtk.NewGTK[*types.Council]("Councils", storeService, cdc, gtk.GetEmpty[types.Council]), + SellOffers: gtk.NewGTK[*types.SellOffer]("SellOffers", storeService, cdc, gtk.GetEmpty[types.SellOffer]), + Sets: gtk.NewGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), + Matches: gtk.NewGTK[*types.Match]("Matches", storeService, cdc, gtk.GetEmpty[types.Match]), + RunningAverages: gtk.NewKGTK[*types.RunningAverage]("RunningAverages", storeService, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), + Pools: gtk.NewKGTK[*sdk.Coin]("Pools", storeService, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), + Images: gtk.NewGTK[*types.Image]("Images", storeService, cdc, gtk.GetEmpty[types.Image]), + Servers: gtk.NewGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), + Encounters: gtk.NewGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), } } diff --git a/x/cardchain/keeper/msg_server_product_details.go b/x/cardchain/keeper/msg_server_product_details.go new file mode 100644 index 00000000..6bfc9311 --- /dev/null +++ b/x/cardchain/keeper/msg_server_product_details.go @@ -0,0 +1,75 @@ +package keeper + +import ( + "context" + "fmt" + + errorsmod "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) CreateProductDetails(goCtx context.Context, msg *types.MsgCreateProductDetails) (*types.MsgCreateProductDetailsResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + var productDetails = types.ProductDetails{ + Creator: msg.Creator, + Name: msg.Name, + Desc: msg.Desc, + } + + id := k.AppendProductDetails( + ctx, + productDetails, + ) + + return &types.MsgCreateProductDetailsResponse{ + Id: id, + }, nil +} + +func (k msgServer) UpdateProductDetails(goCtx context.Context, msg *types.MsgUpdateProductDetails) (*types.MsgUpdateProductDetailsResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + var productDetails = types.ProductDetails{ + Creator: msg.Creator, + Id: msg.Id, + Name: msg.Name, + Desc: msg.Desc, + } + + // Checks that the element exists + val, found := k.GetProductDetails(ctx, msg.Id) + if !found { + return nil, errorsmod.Wrap(sdkerrors.ErrKeyNotFound, fmt.Sprintf("key %d doesn't exist", msg.Id)) + } + + // Checks if the msg creator is the same as the current owner + if msg.Creator != val.Creator { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "incorrect owner") + } + + k.SetProductDetails(ctx, productDetails) + + return &types.MsgUpdateProductDetailsResponse{}, nil +} + +func (k msgServer) DeleteProductDetails(goCtx context.Context, msg *types.MsgDeleteProductDetails) (*types.MsgDeleteProductDetailsResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // Checks that the element exists + val, found := k.GetProductDetails(ctx, msg.Id) + if !found { + return nil, errorsmod.Wrap(sdkerrors.ErrKeyNotFound, fmt.Sprintf("key %d doesn't exist", msg.Id)) + } + + // Checks if the msg creator is the same as the current owner + if msg.Creator != val.Creator { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "incorrect owner") + } + + k.RemoveProductDetails(ctx, msg.Id) + + return &types.MsgDeleteProductDetailsResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_product_details_test.go b/x/cardchain/keeper/msg_server_product_details_test.go new file mode 100644 index 00000000..290e9cb5 --- /dev/null +++ b/x/cardchain/keeper/msg_server_product_details_test.go @@ -0,0 +1,104 @@ +package keeper_test + +import ( + "testing" + + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" +) + +func TestProductDetailsMsgServerCreate(t *testing.T) { + _, srv, ctx := setupMsgServer(t) + wctx := sdk.UnwrapSDKContext(ctx) + + creator := "A" + for i := 0; i < 5; i++ { + resp, err := srv.CreateProductDetails(wctx, &types.MsgCreateProductDetails{Creator: creator}) + require.NoError(t, err) + require.Equal(t, i, int(resp.Id)) + } +} + +func TestProductDetailsMsgServerUpdate(t *testing.T) { + creator := "A" + + tests := []struct { + desc string + request *types.MsgUpdateProductDetails + err error + }{ + { + desc: "Completed", + request: &types.MsgUpdateProductDetails{Creator: creator}, + }, + { + desc: "Unauthorized", + request: &types.MsgUpdateProductDetails{Creator: "B"}, + err: sdkerrors.ErrUnauthorized, + }, + { + desc: "Unauthorized", + request: &types.MsgUpdateProductDetails{Creator: creator, Id: 10}, + err: sdkerrors.ErrKeyNotFound, + }, + } + for _, tc := range tests { + t.Run(tc.desc, func(t *testing.T) { + _, srv, ctx := setupMsgServer(t) + wctx := sdk.UnwrapSDKContext(ctx) + + _, err := srv.CreateProductDetails(wctx, &types.MsgCreateProductDetails{Creator: creator}) + require.NoError(t, err) + + _, err = srv.UpdateProductDetails(wctx, tc.request) + if tc.err != nil { + require.ErrorIs(t, err, tc.err) + } else { + require.NoError(t, err) + } + }) + } +} + +func TestProductDetailsMsgServerDelete(t *testing.T) { + creator := "A" + + tests := []struct { + desc string + request *types.MsgDeleteProductDetails + err error + }{ + { + desc: "Completed", + request: &types.MsgDeleteProductDetails{Creator: creator}, + }, + { + desc: "Unauthorized", + request: &types.MsgDeleteProductDetails{Creator: "B"}, + err: sdkerrors.ErrUnauthorized, + }, + { + desc: "KeyNotFound", + request: &types.MsgDeleteProductDetails{Creator: creator, Id: 10}, + err: sdkerrors.ErrKeyNotFound, + }, + } + for _, tc := range tests { + t.Run(tc.desc, func(t *testing.T) { + _, srv, ctx := setupMsgServer(t) + wctx := sdk.UnwrapSDKContext(ctx) + + _, err := srv.CreateProductDetails(wctx, &types.MsgCreateProductDetails{Creator: creator}) + require.NoError(t, err) + _, err = srv.DeleteProductDetails(wctx, tc.request) + if tc.err != nil { + require.ErrorIs(t, err, tc.err) + } else { + require.NoError(t, err) + } + }) + } +} diff --git a/x/cardchain/keeper/pools.go b/x/cardchain/keeper/pools.go new file mode 100644 index 00000000..e3def4d7 --- /dev/null +++ b/x/cardchain/keeper/pools.go @@ -0,0 +1,35 @@ +package keeper + +import ( + "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// Keys to access pools +const ( + PublicPoolKey = "public" + WinnersPoolKey = "winners" + BalancersPoolKey = "balancers" +) + +// AddPoolCredits Adds ucredits to a pool +func (k Keeper) AddPoolCredits(ctx sdk.Context, poolName string, amount sdk.Coin) { + pool := k.Pools.Get(ctx, poolName) + newPool := pool.Add(amount) + k.Pools.Set(ctx, poolName, &newPool) +} + +// SubPoolCredits Subtracts ucredits from a pool +func (k Keeper) SubPoolCredits(ctx sdk.Context, poolName string, amount sdk.Coin) { + pool := k.Pools.Get(ctx, poolName) + newPool := pool.Sub(amount) + k.Pools.Set(ctx, poolName, &newPool) +} + +// DistributeHourlyFaucet distributes hourly faucet +func (k Keeper) DistributeHourlyFaucet(ctx sdk.Context) { + pool := k.Pools.Get(ctx, PublicPoolKey) + if pool.Amount.LT(math.NewInt(1_000_000_000_000_000)) { + k.AddPoolCredits(ctx, PublicPoolKey, k.GetParams(ctx).HourlyFaucet) + } +} diff --git a/x/cardchain/keeper/pools_test.go b/x/cardchain/keeper/pools_test.go new file mode 100644 index 00000000..c8a15c80 --- /dev/null +++ b/x/cardchain/keeper/pools_test.go @@ -0,0 +1,36 @@ +package keeper_test + +import ( + "testing" + + testkeeper "github.com/DecentralCardGame/cardchain/testutil/keeper" + // "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" +) + +func SetUpPools(ctx sdk.Context, k keeper.Keeper) (sdk.Coin, sdk.Coin, sdk.Coin) { + pool := sdk.NewInt64Coin("ucredits", 10) + pool1 := sdk.NewInt64Coin("ucredits", 2000000) + pool2 := sdk.NewInt64Coin("ucredits", 12) + k.Pools.Set(ctx, keeper.PublicPoolKey, &pool) + k.Pools.Set(ctx, keeper.WinnersPoolKey, &pool1) + k.Pools.Set(ctx, keeper.BalancersPoolKey, &pool2) + + return pool, pool1, pool2 +} + +func TestPools(t *testing.T) { + k, ctx := testkeeper.CardchainKeeper(t) + pool, pool1, pool2 := SetUpPools(ctx, *k) + + require.EqualValues(t, pool, *k.Pools.Get(ctx, keeper.PublicPoolKey)) + require.EqualValues(t, []*sdk.Coin{&pool, &pool1, &pool2}, k.Pools.GetAll(ctx)) + + k.AddPoolCredits(ctx, keeper.PublicPoolKey, sdk.NewInt64Coin("ucredits", 2)) + require.EqualValues(t, sdk.NewInt64Coin("ucredits", 12), *k.Pools.Get(ctx, keeper.PublicPoolKey)) + + k.SubPoolCredits(ctx, keeper.PublicPoolKey, sdk.NewInt64Coin("ucredits", 3)) + require.EqualValues(t, sdk.NewInt64Coin("ucredits", 9), *k.Pools.Get(ctx, keeper.PublicPoolKey)) +} diff --git a/x/cardchain/keeper/product_details.go b/x/cardchain/keeper/product_details.go new file mode 100644 index 00000000..8f791498 --- /dev/null +++ b/x/cardchain/keeper/product_details.go @@ -0,0 +1,111 @@ +package keeper + +import ( + "context" + "encoding/binary" + + "cosmossdk.io/store/prefix" + storetypes "cosmossdk.io/store/types" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/runtime" +) + +// GetProductDetailsCount get the total number of productDetails +func (k Keeper) GetProductDetailsCount(ctx context.Context) uint64 { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, []byte{}) + byteKey := types.KeyPrefix(types.ProductDetailsCountKey) + bz := store.Get(byteKey) + + // Count doesn't exist: no element + if bz == nil { + return 0 + } + + // Parse bytes + return binary.BigEndian.Uint64(bz) +} + +// SetProductDetailsCount set the total number of productDetails +func (k Keeper) SetProductDetailsCount(ctx context.Context, count uint64) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, []byte{}) + byteKey := types.KeyPrefix(types.ProductDetailsCountKey) + bz := make([]byte, 8) + binary.BigEndian.PutUint64(bz, count) + store.Set(byteKey, bz) +} + +// AppendProductDetails appends a productDetails in the store with a new id and update the count +func (k Keeper) AppendProductDetails( + ctx context.Context, + productDetails types.ProductDetails, +) uint64 { + // Create the productDetails + count := k.GetProductDetailsCount(ctx) + + // Set the ID of the appended value + productDetails.Id = count + + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.ProductDetailsKey)) + appendedValue := k.cdc.MustMarshal(&productDetails) + store.Set(GetProductDetailsIDBytes(productDetails.Id), appendedValue) + + // Update productDetails count + k.SetProductDetailsCount(ctx, count+1) + + return count +} + +// SetProductDetails set a specific productDetails in the store +func (k Keeper) SetProductDetails(ctx context.Context, productDetails types.ProductDetails) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.ProductDetailsKey)) + b := k.cdc.MustMarshal(&productDetails) + store.Set(GetProductDetailsIDBytes(productDetails.Id), b) +} + +// GetProductDetails returns a productDetails from its id +func (k Keeper) GetProductDetails(ctx context.Context, id uint64) (val types.ProductDetails, found bool) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.ProductDetailsKey)) + b := store.Get(GetProductDetailsIDBytes(id)) + if b == nil { + return val, false + } + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +// RemoveProductDetails removes a productDetails from the store +func (k Keeper) RemoveProductDetails(ctx context.Context, id uint64) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.ProductDetailsKey)) + store.Delete(GetProductDetailsIDBytes(id)) +} + +// GetAllProductDetails returns all productDetails +func (k Keeper) GetAllProductDetails(ctx context.Context) (list []types.ProductDetails) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.ProductDetailsKey)) + iterator := storetypes.KVStorePrefixIterator(store, []byte{}) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var val types.ProductDetails + k.cdc.MustUnmarshal(iterator.Value(), &val) + list = append(list, val) + } + + return +} + +// GetProductDetailsIDBytes returns the byte representation of the ID +func GetProductDetailsIDBytes(id uint64) []byte { + bz := types.KeyPrefix(types.ProductDetailsKey) + bz = append(bz, []byte("/")...) + bz = binary.BigEndian.AppendUint64(bz, id) + return bz +} diff --git a/x/cardchain/keeper/product_details_test.go b/x/cardchain/keeper/product_details_test.go new file mode 100644 index 00000000..ed5ba113 --- /dev/null +++ b/x/cardchain/keeper/product_details_test.go @@ -0,0 +1,59 @@ +package keeper_test + +import ( + "context" + "testing" + + keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/testutil/nullify" + "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "github.com/stretchr/testify/require" +) + +func createNProductDetails(keeper keeper.Keeper, ctx context.Context, n int) []types.ProductDetails { + items := make([]types.ProductDetails, n) + for i := range items { + items[i].Id = keeper.AppendProductDetails(ctx, items[i]) + } + return items +} + +func TestProductDetailsGet(t *testing.T) { + keeper, ctx := keepertest.CardchainKeeper(t) + items := createNProductDetails(keeper, ctx, 10) + for _, item := range items { + got, found := keeper.GetProductDetails(ctx, item.Id) + require.True(t, found) + require.Equal(t, + nullify.Fill(&item), + nullify.Fill(&got), + ) + } +} + +func TestProductDetailsRemove(t *testing.T) { + keeper, ctx := keepertest.CardchainKeeper(t) + items := createNProductDetails(keeper, ctx, 10) + for _, item := range items { + keeper.RemoveProductDetails(ctx, item.Id) + _, found := keeper.GetProductDetails(ctx, item.Id) + require.False(t, found) + } +} + +func TestProductDetailsGetAll(t *testing.T) { + keeper, ctx := keepertest.CardchainKeeper(t) + items := createNProductDetails(keeper, ctx, 10) + require.ElementsMatch(t, + nullify.Fill(items), + nullify.Fill(keeper.GetAllProductDetails(ctx)), + ) +} + +func TestProductDetailsCount(t *testing.T) { + keeper, ctx := keepertest.CardchainKeeper(t) + items := createNProductDetails(keeper, ctx, 10) + count := uint64(len(items)) + require.Equal(t, count, keeper.GetProductDetailsCount(ctx)) +} diff --git a/x/cardchain/keeper/query_product_details.go b/x/cardchain/keeper/query_product_details.go new file mode 100644 index 00000000..b6e36e35 --- /dev/null +++ b/x/cardchain/keeper/query_product_details.go @@ -0,0 +1,53 @@ +package keeper + +import ( + "context" + + "cosmossdk.io/store/prefix" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/runtime" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/query" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (k Keeper) ProductDetailsAll(ctx context.Context, req *types.QueryAllProductDetailsRequest) (*types.QueryAllProductDetailsResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + var productDetailss []types.ProductDetails + + store := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + productDetailsStore := prefix.NewStore(store, types.KeyPrefix(types.ProductDetailsKey)) + + pageRes, err := query.Paginate(productDetailsStore, req.Pagination, func(key []byte, value []byte) error { + var productDetails types.ProductDetails + if err := k.cdc.Unmarshal(value, &productDetails); err != nil { + return err + } + + productDetailss = append(productDetailss, productDetails) + return nil + }) + + if err != nil { + return nil, status.Error(codes.Internal, err.Error()) + } + + return &types.QueryAllProductDetailsResponse{ProductDetails: productDetailss, Pagination: pageRes}, nil +} + +func (k Keeper) ProductDetails(ctx context.Context, req *types.QueryGetProductDetailsRequest) (*types.QueryGetProductDetailsResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + productDetails, found := k.GetProductDetails(ctx, req.Id) + if !found { + return nil, sdkerrors.ErrKeyNotFound + } + + return &types.QueryGetProductDetailsResponse{ProductDetails: productDetails}, nil +} diff --git a/x/cardchain/keeper/query_product_details_test.go b/x/cardchain/keeper/query_product_details_test.go new file mode 100644 index 00000000..45727176 --- /dev/null +++ b/x/cardchain/keeper/query_product_details_test.go @@ -0,0 +1,115 @@ +package keeper_test + +import ( + "testing" + + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/query" + "github.com/stretchr/testify/require" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/testutil/nullify" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" +) + +func TestProductDetailsQuerySingle(t *testing.T) { + keeper, ctx := keepertest.CardchainKeeper(t) + msgs := createNProductDetails(keeper, ctx, 2) + tests := []struct { + desc string + request *types.QueryGetProductDetailsRequest + response *types.QueryGetProductDetailsResponse + err error + }{ + { + desc: "First", + request: &types.QueryGetProductDetailsRequest{Id: msgs[0].Id}, + response: &types.QueryGetProductDetailsResponse{ProductDetails: msgs[0]}, + }, + { + desc: "Second", + request: &types.QueryGetProductDetailsRequest{Id: msgs[1].Id}, + response: &types.QueryGetProductDetailsResponse{ProductDetails: msgs[1]}, + }, + { + desc: "KeyNotFound", + request: &types.QueryGetProductDetailsRequest{Id: uint64(len(msgs))}, + err: sdkerrors.ErrKeyNotFound, + }, + { + desc: "InvalidRequest", + err: status.Error(codes.InvalidArgument, "invalid request"), + }, + } + for _, tc := range tests { + t.Run(tc.desc, func(t *testing.T) { + response, err := keeper.ProductDetails(ctx, tc.request) + if tc.err != nil { + require.ErrorIs(t, err, tc.err) + } else { + require.NoError(t, err) + require.Equal(t, + nullify.Fill(tc.response), + nullify.Fill(response), + ) + } + }) + } +} + +func TestProductDetailsQueryPaginated(t *testing.T) { + keeper, ctx := keepertest.CardchainKeeper(t) + msgs := createNProductDetails(keeper, ctx, 5) + + request := func(next []byte, offset, limit uint64, total bool) *types.QueryAllProductDetailsRequest { + return &types.QueryAllProductDetailsRequest{ + Pagination: &query.PageRequest{ + Key: next, + Offset: offset, + Limit: limit, + CountTotal: total, + }, + } + } + t.Run("ByOffset", func(t *testing.T) { + step := 2 + for i := 0; i < len(msgs); i += step { + resp, err := keeper.ProductDetailsAll(ctx, request(nil, uint64(i), uint64(step), false)) + require.NoError(t, err) + require.LessOrEqual(t, len(resp.ProductDetails), step) + require.Subset(t, + nullify.Fill(msgs), + nullify.Fill(resp.ProductDetails), + ) + } + }) + t.Run("ByKey", func(t *testing.T) { + step := 2 + var next []byte + for i := 0; i < len(msgs); i += step { + resp, err := keeper.ProductDetailsAll(ctx, request(next, 0, uint64(step), false)) + require.NoError(t, err) + require.LessOrEqual(t, len(resp.ProductDetails), step) + require.Subset(t, + nullify.Fill(msgs), + nullify.Fill(resp.ProductDetails), + ) + next = resp.Pagination.NextKey + } + }) + t.Run("Total", func(t *testing.T) { + resp, err := keeper.ProductDetailsAll(ctx, request(nil, 0, 0, true)) + require.NoError(t, err) + require.Equal(t, len(msgs), int(resp.Pagination.Total)) + require.ElementsMatch(t, + nullify.Fill(msgs), + nullify.Fill(resp.ProductDetails), + ) + }) + t.Run("InvalidRequest", func(t *testing.T) { + _, err := keeper.ProductDetailsAll(ctx, nil) + require.ErrorIs(t, err, status.Error(codes.InvalidArgument, "invalid request")) + }) +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index ef5eebd1..6bad68a5 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -17,6 +17,17 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Use: "params", Short: "Shows the parameters of the module", }, + { + RpcMethod: "ProductDetailsAll", + Use: "list-product-details", + Short: "List all product-details", + }, + { + RpcMethod: "ProductDetails", + Use: "show-product-details [id]", + Short: "Shows a product-details by id", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "id"}}, + }, // this line is used by ignite scaffolding # autocli/query }, }, @@ -304,6 +315,24 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Send a EncounterClose tx", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "encounterId"}, {ProtoField: "user"}, {ProtoField: "won"}}, }, + { + RpcMethod: "CreateProductDetails", + Use: "create-product-details [name] [desc]", + Short: "Create product-details", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "name"}, {ProtoField: "desc"}}, + }, + { + RpcMethod: "UpdateProductDetails", + Use: "update-product-details [id] [name] [desc]", + Short: "Update product-details", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "id"}, {ProtoField: "name"}, {ProtoField: "desc"}}, + }, + { + RpcMethod: "DeleteProductDetails", + Use: "delete-product-details [id]", + Short: "Delete product-details", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "id"}}, + }, // this line is used by ignite scaffolding # autocli/tx }, }, diff --git a/x/cardchain/module/genesis.go b/x/cardchain/module/genesis.go index 38de003f..72c3b17d 100644 --- a/x/cardchain/module/genesis.go +++ b/x/cardchain/module/genesis.go @@ -9,6 +9,13 @@ import ( // InitGenesis initializes the module's state from a provided genesis state. func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) { + // Set all the productDetails + for _, elem := range genState.ProductDetailsList { + k.SetProductDetails(ctx, elem) + } + + // Set productDetails count + k.SetProductDetailsCount(ctx, genState.ProductDetailsCount) // this line is used by starport scaffolding # genesis/module/init if err := k.SetParams(ctx, genState.Params); err != nil { panic(err) @@ -20,6 +27,8 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { genesis := types.DefaultGenesis() genesis.Params = k.GetParams(ctx) + genesis.ProductDetailsList = k.GetAllProductDetails(ctx) + genesis.ProductDetailsCount = k.GetProductDetailsCount(ctx) // this line is used by starport scaffolding # genesis/module/export return genesis diff --git a/x/cardchain/module/genesis_test.go b/x/cardchain/module/genesis_test.go index 3817407a..ae49cc36 100644 --- a/x/cardchain/module/genesis_test.go +++ b/x/cardchain/module/genesis_test.go @@ -14,6 +14,15 @@ func TestGenesis(t *testing.T) { genesisState := types.GenesisState{ Params: types.DefaultParams(), + ProductDetailsList: []types.ProductDetails{ + { + Id: 0, + }, + { + Id: 1, + }, + }, + ProductDetailsCount: 2, // this line is used by starport scaffolding # genesis/test/state } @@ -25,5 +34,7 @@ func TestGenesis(t *testing.T) { nullify.Fill(&genesisState) nullify.Fill(got) + require.ElementsMatch(t, genesisState.ProductDetailsList, got.ProductDetailsList) + require.Equal(t, genesisState.ProductDetailsCount, got.ProductDetailsCount) // this line is used by starport scaffolding # genesis/test/assert } diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index 3105fa4a..985ee3b1 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -207,6 +207,18 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgEncounterClose int = 100 + opWeightMsgCreateProductDetails = "op_weight_msg_product_details" + // TODO: Determine the simulation weight value + defaultWeightMsgCreateProductDetails int = 100 + + opWeightMsgUpdateProductDetails = "op_weight_msg_product_details" + // TODO: Determine the simulation weight value + defaultWeightMsgUpdateProductDetails int = 100 + + opWeightMsgDeleteProductDetails = "op_weight_msg_product_details" + // TODO: Determine the simulation weight value + defaultWeightMsgDeleteProductDetails int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -218,6 +230,17 @@ func (AppModule) GenerateGenesisState(simState *module.SimulationState) { } cardchainGenesis := types.GenesisState{ Params: types.DefaultParams(), + ProductDetailsList: []types.ProductDetails{ + { + Id: 0, + Creator: sample.AccAddress(), + }, + { + Id: 1, + Creator: sample.AccAddress(), + }, + }, + ProductDetailsCount: 2, // this line is used by starport scaffolding # simapp/module/genesisState } simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&cardchainGenesis) @@ -736,6 +759,39 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgEncounterClose(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgCreateProductDetails int + simState.AppParams.GetOrGenerate(opWeightMsgCreateProductDetails, &weightMsgCreateProductDetails, nil, + func(_ *rand.Rand) { + weightMsgCreateProductDetails = defaultWeightMsgCreateProductDetails + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCreateProductDetails, + cardchainsimulation.SimulateMsgCreateProductDetails(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgUpdateProductDetails int + simState.AppParams.GetOrGenerate(opWeightMsgUpdateProductDetails, &weightMsgUpdateProductDetails, nil, + func(_ *rand.Rand) { + weightMsgUpdateProductDetails = defaultWeightMsgUpdateProductDetails + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgUpdateProductDetails, + cardchainsimulation.SimulateMsgUpdateProductDetails(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgDeleteProductDetails int + simState.AppParams.GetOrGenerate(opWeightMsgDeleteProductDetails, &weightMsgDeleteProductDetails, nil, + func(_ *rand.Rand) { + weightMsgDeleteProductDetails = defaultWeightMsgDeleteProductDetails + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgDeleteProductDetails, + cardchainsimulation.SimulateMsgDeleteProductDetails(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -1112,6 +1168,30 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei return nil }, ), + simulation.NewWeightedProposalMsg( + opWeightMsgCreateProductDetails, + defaultWeightMsgCreateProductDetails, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCreateProductDetails(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgUpdateProductDetails, + defaultWeightMsgUpdateProductDetails, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgUpdateProductDetails(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), + simulation.NewWeightedProposalMsg( + opWeightMsgDeleteProductDetails, + defaultWeightMsgDeleteProductDetails, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgDeleteProductDetails(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/product_details.go b/x/cardchain/simulation/product_details.go new file mode 100644 index 00000000..d68cbe3a --- /dev/null +++ b/x/cardchain/simulation/product_details.go @@ -0,0 +1,131 @@ +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" + moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/cosmos/cosmos-sdk/x/simulation" +) + +func SimulateMsgCreateProductDetails( + 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.MsgCreateProductDetails{ + Creator: simAccount.Address.String(), + } + + txCtx := simulation.OperationInput{ + R: r, + App: app, + TxGen: moduletestutil.MakeTestEncodingConfig().TxConfig, + Cdc: nil, + Msg: msg, + Context: ctx, + SimAccount: simAccount, + ModuleName: types.ModuleName, + CoinsSpentInMsg: sdk.NewCoins(), + AccountKeeper: ak, + Bankkeeper: bk, + } + return simulation.GenAndDeliverTxWithRandFees(txCtx) + } +} + +func SimulateMsgUpdateProductDetails( + 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) { + var ( + simAccount = simtypes.Account{} + productDetails = types.ProductDetails{} + msg = &types.MsgUpdateProductDetails{} + allProductDetails = k.GetAllProductDetails(ctx) + found = false + ) + for _, obj := range allProductDetails { + simAccount, found = FindAccount(accs, obj.Creator) + if found { + productDetails = obj + break + } + } + if !found { + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "productDetails creator not found"), nil, nil + } + msg.Creator = simAccount.Address.String() + msg.Id = productDetails.Id + + txCtx := simulation.OperationInput{ + R: r, + App: app, + TxGen: moduletestutil.MakeTestEncodingConfig().TxConfig, + Cdc: nil, + Msg: msg, + Context: ctx, + SimAccount: simAccount, + ModuleName: types.ModuleName, + CoinsSpentInMsg: sdk.NewCoins(), + AccountKeeper: ak, + Bankkeeper: bk, + } + return simulation.GenAndDeliverTxWithRandFees(txCtx) + } +} + +func SimulateMsgDeleteProductDetails( + 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) { + var ( + simAccount = simtypes.Account{} + productDetails = types.ProductDetails{} + msg = &types.MsgDeleteProductDetails{} + allProductDetails = k.GetAllProductDetails(ctx) + found = false + ) + for _, obj := range allProductDetails { + simAccount, found = FindAccount(accs, obj.Creator) + if found { + productDetails = obj + break + } + } + if !found { + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "productDetails creator not found"), nil, nil + } + msg.Creator = simAccount.Address.String() + msg.Id = productDetails.Id + + txCtx := simulation.OperationInput{ + R: r, + App: app, + TxGen: moduletestutil.MakeTestEncodingConfig().TxConfig, + Cdc: nil, + Msg: msg, + Context: ctx, + SimAccount: simAccount, + ModuleName: types.ModuleName, + CoinsSpentInMsg: sdk.NewCoins(), + AccountKeeper: ak, + Bankkeeper: bk, + } + return simulation.GenAndDeliverTxWithRandFees(txCtx) + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 4da70096..b4338a17 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -146,6 +146,11 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgEncounterClose{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCreateProductDetails{}, + &MsgUpdateProductDetails{}, + &MsgDeleteProductDetails{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/cardchain/types/encounter.pb.go b/x/cardchain/types/encounter.pb.go new file mode 100644 index 00000000..5c6f1b54 --- /dev/null +++ b/x/cardchain/types/encounter.pb.go @@ -0,0 +1,996 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/encounter.proto + +package types + +import ( + fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/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 Encounter struct { + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Drawlist []uint64 `protobuf:"varint,2,rep,packed,name=drawlist,proto3" json:"drawlist,omitempty"` + Proven bool `protobuf:"varint,3,opt,name=proven,proto3" json:"proven,omitempty"` + Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` + Parameters map[string]string `protobuf:"bytes,5,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ImageId uint64 `protobuf:"varint,6,opt,name=imageId,proto3" json:"imageId,omitempty"` + Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` +} + +func (m *Encounter) Reset() { *m = Encounter{} } +func (m *Encounter) String() string { return proto.CompactTextString(m) } +func (*Encounter) ProtoMessage() {} +func (*Encounter) Descriptor() ([]byte, []int) { + return fileDescriptor_d1555abf6f7ee418, []int{0} +} +func (m *Encounter) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Encounter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Encounter.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 *Encounter) XXX_Merge(src proto.Message) { + xxx_messageInfo_Encounter.Merge(m, src) +} +func (m *Encounter) XXX_Size() int { + return m.Size() +} +func (m *Encounter) XXX_DiscardUnknown() { + xxx_messageInfo_Encounter.DiscardUnknown(m) +} + +var xxx_messageInfo_Encounter proto.InternalMessageInfo + +func (m *Encounter) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +func (m *Encounter) GetDrawlist() []uint64 { + if m != nil { + return m.Drawlist + } + return nil +} + +func (m *Encounter) GetProven() bool { + if m != nil { + return m.Proven + } + return false +} + +func (m *Encounter) GetOwner() string { + if m != nil { + return m.Owner + } + return "" +} + +func (m *Encounter) GetParameters() map[string]string { + if m != nil { + return m.Parameters + } + return nil +} + +func (m *Encounter) GetImageId() uint64 { + if m != nil { + return m.ImageId + } + return 0 +} + +func (m *Encounter) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +type EncounterWithImage struct { + Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` + Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` +} + +func (m *EncounterWithImage) Reset() { *m = EncounterWithImage{} } +func (m *EncounterWithImage) String() string { return proto.CompactTextString(m) } +func (*EncounterWithImage) ProtoMessage() {} +func (*EncounterWithImage) Descriptor() ([]byte, []int) { + return fileDescriptor_d1555abf6f7ee418, []int{1} +} +func (m *EncounterWithImage) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EncounterWithImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EncounterWithImage.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 *EncounterWithImage) XXX_Merge(src proto.Message) { + xxx_messageInfo_EncounterWithImage.Merge(m, src) +} +func (m *EncounterWithImage) XXX_Size() int { + return m.Size() +} +func (m *EncounterWithImage) XXX_DiscardUnknown() { + xxx_messageInfo_EncounterWithImage.DiscardUnknown(m) +} + +var xxx_messageInfo_EncounterWithImage proto.InternalMessageInfo + +func (m *EncounterWithImage) GetEncounter() *Encounter { + if m != nil { + return m.Encounter + } + return nil +} + +func (m *EncounterWithImage) GetImage() []byte { + if m != nil { + return m.Image + } + return nil +} + +func init() { + proto.RegisterType((*Encounter)(nil), "cardchain.cardchain.Encounter") + proto.RegisterMapType((map[string]string)(nil), "cardchain.cardchain.Encounter.ParametersEntry") + proto.RegisterType((*EncounterWithImage)(nil), "cardchain.cardchain.EncounterWithImage") +} + +func init() { + proto.RegisterFile("cardchain/cardchain/encounter.proto", fileDescriptor_d1555abf6f7ee418) +} + +var fileDescriptor_d1555abf6f7ee418 = []byte{ + // 362 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xbf, 0x4e, 0xf3, 0x30, + 0x14, 0xc5, 0xeb, 0x24, 0xfd, 0x13, 0xf7, 0xd3, 0x07, 0x32, 0x15, 0xb2, 0x3a, 0x44, 0x51, 0x59, + 0x32, 0xa5, 0x52, 0x59, 0x2a, 0x04, 0x0b, 0x50, 0xa1, 0x2e, 0x08, 0x79, 0x41, 0x62, 0x73, 0x13, + 0x2b, 0x89, 0x68, 0xec, 0xc8, 0x75, 0x5b, 0xfa, 0x16, 0x3c, 0x03, 0x4f, 0xc3, 0xd8, 0x91, 0x11, + 0xb5, 0x2f, 0x82, 0xe2, 0x50, 0xb7, 0x42, 0x88, 0xed, 0x1c, 0x5d, 0xdf, 0x7b, 0x7e, 0xd7, 0x36, + 0x3c, 0x8b, 0xa8, 0x8c, 0xa3, 0x94, 0x66, 0xbc, 0xbf, 0x57, 0x8c, 0x47, 0x62, 0xce, 0x15, 0x93, + 0x61, 0x21, 0x85, 0x12, 0xe8, 0xc4, 0x94, 0x42, 0xa3, 0xba, 0x9d, 0x44, 0x24, 0x42, 0xd7, 0xfb, + 0xa5, 0xaa, 0x8e, 0xf6, 0xde, 0x2c, 0xe8, 0x8e, 0x76, 0xed, 0xe8, 0x3f, 0xb4, 0xb2, 0x18, 0x03, + 0x1f, 0x04, 0x0e, 0xb1, 0xb2, 0x18, 0x75, 0x61, 0x2b, 0x96, 0x74, 0x39, 0xcd, 0x66, 0x0a, 0x5b, + 0xbe, 0x1d, 0x38, 0xc4, 0x78, 0x74, 0x0a, 0x1b, 0x85, 0x14, 0x0b, 0xc6, 0xb1, 0xed, 0x83, 0xa0, + 0x45, 0xbe, 0x1d, 0xea, 0xc0, 0xba, 0x58, 0x72, 0x26, 0xb1, 0xe3, 0x83, 0xc0, 0x25, 0x95, 0x41, + 0xf7, 0x10, 0x16, 0x54, 0xd2, 0x9c, 0x29, 0x26, 0x67, 0xb8, 0xee, 0xdb, 0x41, 0x7b, 0x10, 0x86, + 0xbf, 0x70, 0x86, 0x86, 0x26, 0x7c, 0x30, 0x0d, 0x23, 0xae, 0xe4, 0x8a, 0x1c, 0x4c, 0x40, 0x18, + 0x36, 0xb3, 0x9c, 0x26, 0x6c, 0x1c, 0xe3, 0x86, 0xc6, 0xdd, 0x59, 0x84, 0xa0, 0xc3, 0x69, 0xce, + 0x70, 0x53, 0xc7, 0x6b, 0xdd, 0xbd, 0x82, 0x47, 0x3f, 0x86, 0xa1, 0x63, 0x68, 0x3f, 0xb3, 0x95, + 0xde, 0xd5, 0x25, 0xa5, 0x2c, 0xc1, 0x17, 0x74, 0x3a, 0x67, 0xd8, 0xaa, 0xc0, 0xb5, 0xb9, 0xb0, + 0x86, 0xa0, 0x97, 0x42, 0x64, 0xa8, 0x1e, 0x33, 0x95, 0x8e, 0xcb, 0x28, 0x74, 0x09, 0x5d, 0x73, + 0xf1, 0x7a, 0x4e, 0x7b, 0xe0, 0xfd, 0xbd, 0x11, 0xd9, 0x37, 0x94, 0x69, 0x9a, 0x58, 0xa7, 0xfd, + 0x23, 0x95, 0xb9, 0x26, 0xef, 0x1b, 0x0f, 0xac, 0x37, 0x1e, 0xf8, 0xdc, 0x78, 0xe0, 0x75, 0xeb, + 0xd5, 0xd6, 0x5b, 0xaf, 0xf6, 0xb1, 0xf5, 0x6a, 0x4f, 0xc3, 0x24, 0x53, 0xe9, 0x7c, 0x12, 0x46, + 0x22, 0xef, 0xdf, 0xb2, 0x88, 0x71, 0x25, 0xe9, 0xf4, 0x86, 0xca, 0xf8, 0x8e, 0xe6, 0xec, 0xe0, + 0x2f, 0xbc, 0x1c, 0x68, 0xb5, 0x2a, 0xd8, 0x6c, 0xd2, 0xd0, 0x2f, 0x7d, 0xfe, 0x15, 0x00, 0x00, + 0xff, 0xff, 0xc7, 0x31, 0xc4, 0xfa, 0x3b, 0x02, 0x00, 0x00, +} + +func (m *Encounter) 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 *Encounter) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Encounter) 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 = encodeVarintEncounter(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x3a + } + if m.ImageId != 0 { + i = encodeVarintEncounter(dAtA, i, uint64(m.ImageId)) + i-- + dAtA[i] = 0x30 + } + if len(m.Parameters) > 0 { + for k := range m.Parameters { + v := m.Parameters[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarintEncounter(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarintEncounter(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarintEncounter(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x2a + } + } + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintEncounter(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0x22 + } + if m.Proven { + i-- + if m.Proven { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(m.Drawlist) > 0 { + dAtA2 := make([]byte, len(m.Drawlist)*10) + var j1 int + for _, num := range m.Drawlist { + 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 = encodeVarintEncounter(dAtA, i, uint64(j1)) + i-- + dAtA[i] = 0x12 + } + if m.Id != 0 { + i = encodeVarintEncounter(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *EncounterWithImage) 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 *EncounterWithImage) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EncounterWithImage) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintEncounter(dAtA, i, uint64(len(m.Image))) + i-- + dAtA[i] = 0x12 + } + if m.Encounter != nil { + { + size, err := m.Encounter.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEncounter(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintEncounter(dAtA []byte, offset int, v uint64) int { + offset -= sovEncounter(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Encounter) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovEncounter(uint64(m.Id)) + } + if len(m.Drawlist) > 0 { + l = 0 + for _, e := range m.Drawlist { + l += sovEncounter(uint64(e)) + } + n += 1 + sovEncounter(uint64(l)) + l + } + if m.Proven { + n += 2 + } + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovEncounter(uint64(l)) + } + if len(m.Parameters) > 0 { + for k, v := range m.Parameters { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovEncounter(uint64(len(k))) + 1 + len(v) + sovEncounter(uint64(len(v))) + n += mapEntrySize + 1 + sovEncounter(uint64(mapEntrySize)) + } + } + if m.ImageId != 0 { + n += 1 + sovEncounter(uint64(m.ImageId)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + sovEncounter(uint64(l)) + } + return n +} + +func (m *EncounterWithImage) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Encounter != nil { + l = m.Encounter.Size() + n += 1 + l + sovEncounter(uint64(l)) + } + l = len(m.Image) + if l > 0 { + n += 1 + l + sovEncounter(uint64(l)) + } + return n +} + +func sovEncounter(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozEncounter(x uint64) (n int) { + return sovEncounter(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Encounter) 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 ErrIntOverflowEncounter + } + 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: Encounter: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Encounter: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + m.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounter + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounter + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Drawlist = append(m.Drawlist, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounter + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthEncounter + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthEncounter + } + 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.Drawlist) == 0 { + m.Drawlist = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounter + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Drawlist = append(m.Drawlist, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Drawlist", wireType) + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Proven", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounter + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Proven = bool(v != 0) + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounter + } + 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 ErrInvalidLengthEncounter + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEncounter + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Parameters", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounter + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEncounter + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEncounter + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Parameters == nil { + m.Parameters = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounter + } + 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 ErrIntOverflowEncounter + } + 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 ErrInvalidLengthEncounter + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthEncounter + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounter + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthEncounter + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthEncounter + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skipEncounter(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEncounter + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Parameters[mapkey] = mapvalue + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageId", wireType) + } + m.ImageId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounter + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ImageId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + 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 ErrIntOverflowEncounter + } + 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 ErrInvalidLengthEncounter + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEncounter + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEncounter(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEncounter + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EncounterWithImage) 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 ErrIntOverflowEncounter + } + 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: EncounterWithImage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EncounterWithImage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Encounter", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounter + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEncounter + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEncounter + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Encounter == nil { + m.Encounter = &Encounter{} + } + if err := m.Encounter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounter + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthEncounter + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthEncounter + } + 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 := skipEncounter(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEncounter + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipEncounter(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, ErrIntOverflowEncounter + } + 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, ErrIntOverflowEncounter + } + 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, ErrIntOverflowEncounter + } + 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, ErrInvalidLengthEncounter + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupEncounter + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthEncounter + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthEncounter = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowEncounter = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupEncounter = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/genesis.go b/x/cardchain/types/genesis.go index 2c15cd92..188b81b7 100644 --- a/x/cardchain/types/genesis.go +++ b/x/cardchain/types/genesis.go @@ -1,6 +1,8 @@ package types -// this line is used by starport scaffolding # genesis/types/import +import ( + "fmt" +) // DefaultIndex is the default global index const DefaultIndex uint64 = 1 @@ -8,6 +10,7 @@ const DefaultIndex uint64 = 1 // DefaultGenesis returns the default genesis state func DefaultGenesis() *GenesisState { return &GenesisState{ + ProductDetailsList: []ProductDetails{}, // this line is used by starport scaffolding # genesis/types/default Params: DefaultParams(), } @@ -16,6 +19,18 @@ func DefaultGenesis() *GenesisState { // Validate performs basic genesis state validation returning an error upon any // failure. func (gs GenesisState) Validate() error { + // Check for duplicated ID in productDetails + productDetailsIdMap := make(map[uint64]bool) + productDetailsCount := gs.GetProductDetailsCount() + for _, elem := range gs.ProductDetailsList { + if _, ok := productDetailsIdMap[elem.Id]; ok { + return fmt.Errorf("duplicated id for productDetails") + } + if elem.Id >= productDetailsCount { + return fmt.Errorf("productDetails id should be lower or equal than the last id") + } + productDetailsIdMap[elem.Id] = true + } // this line is used by starport scaffolding # genesis/types/validate return gs.Params.Validate() diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 0ea89648..4306f207 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -27,7 +27,9 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // GenesisState defines the cardchain module's genesis state. type GenesisState struct { // params defines all the parameters of the module. - Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` + Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` + ProductDetailsList []ProductDetails `protobuf:"bytes,2,rep,name=productDetailsList,proto3" json:"productDetailsList"` + ProductDetailsCount uint64 `protobuf:"varint,3,opt,name=productDetailsCount,proto3" json:"productDetailsCount,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -70,6 +72,20 @@ func (m *GenesisState) GetParams() Params { return Params{} } +func (m *GenesisState) GetProductDetailsList() []ProductDetails { + if m != nil { + return m.ProductDetailsList + } + return nil +} + +func (m *GenesisState) GetProductDetailsCount() uint64 { + if m != nil { + return m.ProductDetailsCount + } + return 0 +} + func init() { proto.RegisterType((*GenesisState)(nil), "cardchain.cardchain.GenesisState") } @@ -77,21 +93,25 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/genesis.proto", fileDescriptor_c4e78aa6e403ddd4) } var fileDescriptor_c4e78aa6e403ddd4 = []byte{ - // 213 bytes of a gzipped FileDescriptorProto + // 287 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4c, 0x4e, 0x2c, 0x4a, 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xd2, 0x53, 0xf3, 0x52, 0x8b, 0x33, 0x8b, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0x12, 0x7a, 0x70, 0x96, 0x94, 0x60, 0x62, 0x6e, 0x66, 0x5e, 0xbe, 0x3e, 0x98, 0x84, 0xa8, 0x93, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x33, 0xf5, - 0x41, 0x2c, 0xa8, 0xa8, 0x02, 0x36, 0x0b, 0x0a, 0x12, 0x8b, 0x12, 0x73, 0xa1, 0xe6, 0x2b, 0xf9, - 0x71, 0xf1, 0xb8, 0x43, 0x2c, 0x0c, 0x2e, 0x49, 0x2c, 0x49, 0x15, 0xb2, 0xe3, 0x62, 0x83, 0xc8, - 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x1b, 0x49, 0xeb, 0x61, 0x71, 0x80, 0x5e, 0x00, 0x58, 0x89, - 0x13, 0xe7, 0x89, 0x7b, 0xf2, 0x0c, 0x2b, 0x9e, 0x6f, 0xd0, 0x62, 0x0c, 0x82, 0xea, 0x72, 0x0a, - 0x3a, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, - 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x28, 0x8b, 0xf4, 0xcc, 0x92, 0x8c, - 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0x7d, 0x97, 0xd4, 0xe4, 0xd4, 0xbc, 0x92, 0xa2, 0xc4, 0x1c, - 0xe7, 0xc4, 0xa2, 0x14, 0xf7, 0xc4, 0xdc, 0x54, 0x24, 0xe7, 0x55, 0x20, 0xb1, 0x4b, 0x2a, 0x0b, - 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x4e, 0x35, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x5c, 0x2a, - 0xef, 0x2f, 0x01, 0x00, 0x00, + 0x41, 0x2c, 0xa8, 0xa8, 0x02, 0x36, 0x0b, 0x0a, 0x12, 0x8b, 0x12, 0x73, 0xa1, 0xe6, 0x4b, 0x69, + 0x62, 0x55, 0x51, 0x94, 0x9f, 0x52, 0x9a, 0x5c, 0x12, 0x9f, 0x92, 0x5a, 0x92, 0x98, 0x99, 0x03, + 0x55, 0xaa, 0x74, 0x9b, 0x91, 0x8b, 0xc7, 0x1d, 0xe2, 0xb8, 0xe0, 0x92, 0xc4, 0x92, 0x54, 0x21, + 0x3b, 0x2e, 0x36, 0x88, 0x59, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xdc, 0x46, 0xd2, 0x7a, 0x58, 0x1c, + 0xab, 0x17, 0x00, 0x56, 0xe2, 0xc4, 0x79, 0xe2, 0x9e, 0x3c, 0xc3, 0x8a, 0xe7, 0x1b, 0xb4, 0x18, + 0x83, 0xa0, 0xba, 0x84, 0x22, 0xb9, 0x84, 0xa0, 0x36, 0xb9, 0x40, 0x2c, 0xf2, 0xc9, 0x2c, 0x2e, + 0x91, 0x60, 0x52, 0x60, 0xd6, 0xe0, 0x36, 0x52, 0xc6, 0x6e, 0x16, 0x8a, 0x72, 0x27, 0x16, 0x90, + 0x99, 0x41, 0x58, 0x0c, 0x11, 0x32, 0xe0, 0x12, 0x46, 0x15, 0x75, 0xce, 0x2f, 0xcd, 0x2b, 0x91, + 0x60, 0x56, 0x60, 0xd4, 0x60, 0x09, 0xc2, 0x26, 0xe5, 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, 0x2e, 0xa9, 0xc9, 0xa9, 0x79, 0x25, 0x45, 0x89, 0x39, 0xce, 0x89, 0x45, 0x29, 0xee, 0x89, + 0xb9, 0xa9, 0x48, 0xa1, 0x56, 0x81, 0xc4, 0x2e, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, 0x07, + 0x9c, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x9b, 0x7f, 0xd4, 0x01, 0xe8, 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -114,6 +134,25 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.ProductDetailsCount != 0 { + i = encodeVarintGenesis(dAtA, i, uint64(m.ProductDetailsCount)) + i-- + dAtA[i] = 0x18 + } + if len(m.ProductDetailsList) > 0 { + for iNdEx := len(m.ProductDetailsList) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ProductDetailsList[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } { size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -146,6 +185,15 @@ func (m *GenesisState) Size() (n int) { _ = l l = m.Params.Size() n += 1 + l + sovGenesis(uint64(l)) + if len(m.ProductDetailsList) > 0 { + for _, e := range m.ProductDetailsList { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if m.ProductDetailsCount != 0 { + n += 1 + sovGenesis(uint64(m.ProductDetailsCount)) + } return n } @@ -217,6 +265,59 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProductDetailsList", 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 + } + m.ProductDetailsList = append(m.ProductDetailsList, ProductDetails{}) + if err := m.ProductDetailsList[len(m.ProductDetailsList)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ProductDetailsCount", wireType) + } + m.ProductDetailsCount = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ProductDetailsCount |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/x/cardchain/types/genesis_test.go b/x/cardchain/types/genesis_test.go index ad6d812e..0fa8d038 100644 --- a/x/cardchain/types/genesis_test.go +++ b/x/cardchain/types/genesis_test.go @@ -19,13 +19,48 @@ func TestGenesisState_Validate(t *testing.T) { valid: true, }, { - desc: "valid genesis state", + desc: "valid genesis state", genState: &types.GenesisState{ + ProductDetailsList: []types.ProductDetails{ + { + Id: 0, + }, + { + Id: 1, + }, + }, + ProductDetailsCount: 2, // this line is used by starport scaffolding # types/genesis/validField }, valid: true, }, + { + desc: "duplicated productDetails", + genState: &types.GenesisState{ + ProductDetailsList: []types.ProductDetails{ + { + Id: 0, + }, + { + Id: 0, + }, + }, + }, + valid: false, + }, + { + desc: "invalid productDetails count", + genState: &types.GenesisState{ + ProductDetailsList: []types.ProductDetails{ + { + Id: 1, + }, + }, + ProductDetailsCount: 0, + }, + valid: false, + }, // this line is used by starport scaffolding # types/genesis/testcase } for _, tc := range tests { diff --git a/x/cardchain/types/image.pb.go b/x/cardchain/types/image.pb.go new file mode 100644 index 00000000..a4fe2647 --- /dev/null +++ b/x/cardchain/types/image.pb.go @@ -0,0 +1,316 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/image.proto + +package types + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/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 Image struct { + Image []byte `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"` +} + +func (m *Image) Reset() { *m = Image{} } +func (m *Image) String() string { return proto.CompactTextString(m) } +func (*Image) ProtoMessage() {} +func (*Image) Descriptor() ([]byte, []int) { + return fileDescriptor_b6b2c1057391213a, []int{0} +} +func (m *Image) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Image) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Image.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 *Image) XXX_Merge(src proto.Message) { + xxx_messageInfo_Image.Merge(m, src) +} +func (m *Image) XXX_Size() int { + return m.Size() +} +func (m *Image) XXX_DiscardUnknown() { + xxx_messageInfo_Image.DiscardUnknown(m) +} + +var xxx_messageInfo_Image proto.InternalMessageInfo + +func (m *Image) GetImage() []byte { + if m != nil { + return m.Image + } + return nil +} + +func init() { + proto.RegisterType((*Image)(nil), "cardchain.cardchain.Image") +} + +func init() { proto.RegisterFile("cardchain/cardchain/image.proto", fileDescriptor_b6b2c1057391213a) } + +var fileDescriptor_b6b2c1057391213a = []byte{ + // 150 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x32, 0x73, 0x13, 0xd3, 0x53, 0xf5, 0x0a, 0x8a, + 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xc2, 0x7a, 0x70, 0x96, 0x92, 0x2c, 0x17, 0xab, 0x27, 0x48, + 0x8d, 0x90, 0x08, 0x17, 0x2b, 0x58, 0xb1, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x4f, 0x10, 0x84, 0xe3, + 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, 0x2e, 0xa9, 0xc9, 0xa9, 0x79, 0x25, 0x45, 0x89, + 0x39, 0xce, 0x89, 0x45, 0x29, 0xee, 0x89, 0xb9, 0xa9, 0x48, 0x2e, 0xa8, 0x40, 0x62, 0x97, 0x54, + 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, 0x9d, 0x63, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0xf9, 0xb4, + 0x9d, 0x6c, 0xb1, 0x00, 0x00, 0x00, +} + +func (m *Image) 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 *Image) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Image) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintImage(dAtA, i, uint64(len(m.Image))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintImage(dAtA []byte, offset int, v uint64) int { + offset -= sovImage(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Image) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Image) + if l > 0 { + n += 1 + l + sovImage(uint64(l)) + } + return n +} + +func sovImage(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozImage(x uint64) (n int) { + return sovImage(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Image) 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 ErrIntOverflowImage + } + 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: Image: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Image: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowImage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthImage + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthImage + } + 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 := skipImage(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthImage + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipImage(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, ErrIntOverflowImage + } + 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, ErrIntOverflowImage + } + 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, ErrIntOverflowImage + } + 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, ErrInvalidLengthImage + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupImage + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthImage + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthImage = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowImage = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupImage = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/keys.go b/x/cardchain/types/keys.go index 817923e0..d0af59ea 100644 --- a/x/cardchain/types/keys.go +++ b/x/cardchain/types/keys.go @@ -18,3 +18,8 @@ var ( func KeyPrefix(p string) []byte { return []byte(p) } + +const ( + ProductDetailsKey = "ProductDetails/value/" + ProductDetailsCountKey = "ProductDetails/count/" +) diff --git a/x/cardchain/types/messages_product_details.go b/x/cardchain/types/messages_product_details.go new file mode 100644 index 00000000..c251fe2b --- /dev/null +++ b/x/cardchain/types/messages_product_details.go @@ -0,0 +1,61 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCreateProductDetails{} + +func NewMsgCreateProductDetails(creator string, name string, desc string) *MsgCreateProductDetails { + return &MsgCreateProductDetails{ + Creator: creator, + Name: name, + Desc: desc, + } +} + +func (msg *MsgCreateProductDetails) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} + +var _ sdk.Msg = &MsgUpdateProductDetails{} + +func NewMsgUpdateProductDetails(creator string, id uint64, name string, desc string) *MsgUpdateProductDetails { + return &MsgUpdateProductDetails{ + Id: id, + Creator: creator, + Name: name, + Desc: desc, + } +} + +func (msg *MsgUpdateProductDetails) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} + +var _ sdk.Msg = &MsgDeleteProductDetails{} + +func NewMsgDeleteProductDetails(creator string, id uint64) *MsgDeleteProductDetails { + return &MsgDeleteProductDetails{ + Id: id, + Creator: creator, + } +} + +func (msg *MsgDeleteProductDetails) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/messages_product_details_test.go b/x/cardchain/types/messages_product_details_test.go new file mode 100644 index 00000000..e42d4109 --- /dev/null +++ b/x/cardchain/types/messages_product_details_test.go @@ -0,0 +1,102 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCreateProductDetails_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCreateProductDetails + err error + }{ + { + name: "invalid address", + msg: MsgCreateProductDetails{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCreateProductDetails{ + 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) + }) + } +} + +func TestMsgUpdateProductDetails_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgUpdateProductDetails + err error + }{ + { + name: "invalid address", + msg: MsgUpdateProductDetails{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgUpdateProductDetails{ + 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) + }) + } +} + +func TestMsgDeleteProductDetails_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgDeleteProductDetails + err error + }{ + { + name: "invalid address", + msg: MsgDeleteProductDetails{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgDeleteProductDetails{ + 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/num.pb.go b/x/cardchain/types/num.pb.go index 8fdf4d8b..22b9719c 100644 --- a/x/cardchain/types/num.pb.go +++ b/x/cardchain/types/num.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index 419d1ea0..d9081e8f 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,6 +5,7 @@ package types import ( fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" @@ -26,6 +27,30 @@ 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"` + SetSize uint64 `protobuf:"varint,2,opt,name=setSize,proto3" json:"setSize,omitempty"` + SetPrice types.Coin `protobuf:"bytes,3,opt,name=setPrice,proto3" json:"setPrice"` + ActiveSetsAmount uint64 `protobuf:"varint,4,opt,name=activeSetsAmount,proto3" json:"activeSetsAmount,omitempty"` + SetCreationFee types.Coin `protobuf:"bytes,5,opt,name=setCreationFee,proto3" json:"setCreationFee"` + CollateralDeposit types.Coin `protobuf:"bytes,6,opt,name=collateralDeposit,proto3" json:"collateralDeposit"` + WinnerReward int64 `protobuf:"varint,7,opt,name=winnerReward,proto3" json:"winnerReward,omitempty"` + HourlyFaucet types.Coin `protobuf:"bytes,9,opt,name=hourlyFaucet,proto3" json:"hourlyFaucet"` + InflationRate string `protobuf:"bytes,10,opt,name=inflationRate,proto3" json:"inflationRate,omitempty"` + RaresPerPack uint64 `protobuf:"varint,11,opt,name=raresPerPack,proto3" json:"raresPerPack,omitempty"` + CommonsPerPack uint64 `protobuf:"varint,12,opt,name=commonsPerPack,proto3" json:"commonsPerPack,omitempty"` + UnCommonsPerPack uint64 `protobuf:"varint,13,opt,name=unCommonsPerPack,proto3" json:"unCommonsPerPack,omitempty"` + TrialPeriod uint64 `protobuf:"varint,14,opt,name=trialPeriod,proto3" json:"trialPeriod,omitempty"` + GameVoteRatio int64 `protobuf:"varint,15,opt,name=gameVoteRatio,proto3" json:"gameVoteRatio,omitempty"` + CardAuctionPriceReductionPeriod int64 `protobuf:"varint,16,opt,name=cardAuctionPriceReductionPeriod,proto3" json:"cardAuctionPriceReductionPeriod,omitempty"` + AirDropValue types.Coin `protobuf:"bytes,17,opt,name=airDropValue,proto3" json:"airDropValue"` + AirDropMaxBlockHeight int64 `protobuf:"varint,18,opt,name=airDropMaxBlockHeight,proto3" json:"airDropMaxBlockHeight,omitempty"` + TrialVoteReward types.Coin `protobuf:"bytes,19,opt,name=trialVoteReward,proto3" 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{} } @@ -61,6 +86,174 @@ func (m *Params) XXX_DiscardUnknown() { var xxx_messageInfo_Params proto.InternalMessageInfo +func (m *Params) GetVotingRightsExpirationTime() int64 { + if m != nil { + return m.VotingRightsExpirationTime + } + return 0 +} + +func (m *Params) GetSetSize() uint64 { + if m != nil { + return m.SetSize + } + return 0 +} + +func (m *Params) GetSetPrice() types.Coin { + if m != nil { + return m.SetPrice + } + return types.Coin{} +} + +func (m *Params) GetActiveSetsAmount() uint64 { + if m != nil { + return m.ActiveSetsAmount + } + return 0 +} + +func (m *Params) GetSetCreationFee() types.Coin { + if m != nil { + return m.SetCreationFee + } + return types.Coin{} +} + +func (m *Params) GetCollateralDeposit() types.Coin { + if m != nil { + return m.CollateralDeposit + } + return types.Coin{} +} + +func (m *Params) GetWinnerReward() int64 { + if m != nil { + return m.WinnerReward + } + return 0 +} + +func (m *Params) GetHourlyFaucet() types.Coin { + if m != nil { + return m.HourlyFaucet + } + return types.Coin{} +} + +func (m *Params) GetInflationRate() string { + if m != nil { + return m.InflationRate + } + return "" +} + +func (m *Params) GetRaresPerPack() uint64 { + if m != nil { + return m.RaresPerPack + } + return 0 +} + +func (m *Params) GetCommonsPerPack() uint64 { + if m != nil { + return m.CommonsPerPack + } + return 0 +} + +func (m *Params) GetUnCommonsPerPack() uint64 { + if m != nil { + return m.UnCommonsPerPack + } + return 0 +} + +func (m *Params) GetTrialPeriod() uint64 { + if m != nil { + return m.TrialPeriod + } + return 0 +} + +func (m *Params) GetGameVoteRatio() int64 { + if m != nil { + return m.GameVoteRatio + } + return 0 +} + +func (m *Params) GetCardAuctionPriceReductionPeriod() int64 { + if m != nil { + return m.CardAuctionPriceReductionPeriod + } + return 0 +} + +func (m *Params) GetAirDropValue() types.Coin { + if m != nil { + return m.AirDropValue + } + return types.Coin{} +} + +func (m *Params) GetAirDropMaxBlockHeight() int64 { + if m != nil { + return m.AirDropMaxBlockHeight + } + return 0 +} + +func (m *Params) GetTrialVoteReward() types.Coin { + if m != nil { + return m.TrialVoteReward + } + return types.Coin{} +} + +func (m *Params) GetVotePoolFraction() int64 { + if m != nil { + return m.VotePoolFraction + } + return 0 +} + +func (m *Params) GetVotingRewardCap() int64 { + if m != nil { + return m.VotingRewardCap + } + 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), "cardchain.cardchain.Params") } @@ -68,19 +261,50 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/params.proto", fileDescriptor_8843e481ee664a23) } var fileDescriptor_8843e481ee664a23 = []byte{ - // 178 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, 0x47, 0xb0, 0x0a, 0x12, 0x8b, 0x12, 0x73, 0x8b, 0xf5, 0x0a, - 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xe2, 0x7a, 0x70, 0x96, 0x94, 0x60, 0x62, 0x6e, 0x66, - 0x5e, 0xbe, 0x3e, 0x98, 0x84, 0xa8, 0x93, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x33, 0xf5, 0x41, - 0x2c, 0x88, 0xa8, 0x92, 0x3e, 0x17, 0x5b, 0x00, 0xd8, 0x34, 0x2b, 0xd5, 0x17, 0x0b, 0xe4, 0x19, - 0xbb, 0x9e, 0x6f, 0xd0, 0x92, 0x41, 0x58, 0x54, 0x81, 0x64, 0x29, 0x44, 0x99, 0x53, 0xd0, 0x89, - 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, - 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x59, 0xa4, 0x67, 0x96, 0x64, 0x94, 0x26, - 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xbb, 0xa4, 0x26, 0xa7, 0xe6, 0x95, 0x14, 0x25, 0xe6, 0x38, 0x27, - 0x16, 0xa5, 0xb8, 0x27, 0xe6, 0xa6, 0xea, 0x63, 0x37, 0xb4, 0xa4, 0xb2, 0x20, 0xb5, 0x38, 0x89, - 0x0d, 0xec, 0x16, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x16, 0x3a, 0x1d, 0xed, 0x00, - 0x00, 0x00, + // 681 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xcd, 0x6e, 0x13, 0x3d, + 0x14, 0xcd, 0x7c, 0xed, 0xd7, 0x1f, 0xf7, 0xdf, 0x6d, 0xc1, 0x54, 0x28, 0x8d, 0x2a, 0x40, 0x51, + 0x17, 0x19, 0xb5, 0xb0, 0x40, 0x20, 0x21, 0xb5, 0x09, 0x6d, 0x59, 0x54, 0x8a, 0xa6, 0xa8, 0x48, + 0xec, 0x6e, 0x9c, 0x4b, 0x62, 0x75, 0xc6, 0x1e, 0x3c, 0x9e, 0x34, 0xe5, 0x11, 0x58, 0xf1, 0x08, + 0x3c, 0x02, 0x8f, 0xd1, 0x65, 0x97, 0xac, 0x10, 0x6a, 0x17, 0xb0, 0xe3, 0x15, 0x90, 0x3d, 0x21, + 0x4d, 0xa6, 0x15, 0x64, 0x33, 0xf2, 0x1c, 0x9f, 0x73, 0xef, 0xb9, 0xf7, 0xda, 0x26, 0x25, 0x0e, + 0xba, 0xc9, 0xdb, 0x20, 0xa4, 0x7f, 0xbd, 0x8a, 0x41, 0x43, 0x94, 0x54, 0x62, 0xad, 0x8c, 0xa2, + 0xcb, 0x7d, 0xbc, 0xd2, 0x5f, 0xad, 0x2d, 0x41, 0x24, 0xa4, 0xf2, 0xdd, 0x37, 0xe3, 0xad, 0xad, + 0xb4, 0x54, 0x4b, 0xb9, 0xa5, 0x6f, 0x57, 0x3d, 0xb4, 0xc8, 0x55, 0x12, 0xa9, 0xc4, 0x6f, 0x40, + 0x82, 0x7e, 0x67, 0xab, 0x81, 0x06, 0xb6, 0x7c, 0xae, 0x84, 0xcc, 0xf6, 0x37, 0x7e, 0x4d, 0x93, + 0x89, 0xba, 0x4b, 0x47, 0x5f, 0x90, 0xb5, 0x8e, 0x32, 0x42, 0xb6, 0x02, 0xd1, 0x6a, 0x9b, 0xe4, + 0x65, 0x37, 0x16, 0x1a, 0x8c, 0x50, 0xf2, 0xb5, 0x88, 0x90, 0x79, 0x25, 0xaf, 0x3c, 0x16, 0xfc, + 0x85, 0x41, 0x19, 0x99, 0x4c, 0xd0, 0x1c, 0x89, 0x0f, 0xc8, 0xfe, 0x2b, 0x79, 0xe5, 0xf1, 0xe0, + 0xcf, 0x2f, 0x7d, 0x4e, 0xa6, 0x12, 0x34, 0x75, 0x2d, 0x38, 0xb2, 0xb1, 0x92, 0x57, 0x9e, 0xd9, + 0xbe, 0x57, 0xc9, 0x7c, 0x55, 0xac, 0xaf, 0x4a, 0xcf, 0x57, 0xa5, 0xaa, 0x84, 0xdc, 0x1d, 0x3f, + 0xff, 0xb6, 0x5e, 0x08, 0xfa, 0x02, 0xba, 0x49, 0x16, 0x81, 0x1b, 0xd1, 0xc1, 0x23, 0x34, 0xc9, + 0x4e, 0xa4, 0x52, 0x69, 0xd8, 0xb8, 0x8b, 0x7f, 0x03, 0xa7, 0xfb, 0x64, 0x3e, 0x41, 0x53, 0xd5, + 0xe8, 0x5c, 0xed, 0x21, 0xb2, 0xff, 0x47, 0x4b, 0x97, 0x93, 0xd1, 0x43, 0xb2, 0xc4, 0x55, 0x18, + 0x82, 0x41, 0x0d, 0x61, 0x0d, 0x63, 0x95, 0x08, 0xc3, 0x26, 0x46, 0x8b, 0x75, 0x53, 0x49, 0x37, + 0xc8, 0xec, 0xa9, 0x90, 0x12, 0x75, 0x80, 0xa7, 0xa0, 0x9b, 0x6c, 0xd2, 0x35, 0x73, 0x08, 0xa3, + 0x55, 0x32, 0xdb, 0x56, 0xa9, 0x0e, 0xcf, 0xf6, 0x20, 0xe5, 0x68, 0xd8, 0xf4, 0x68, 0xd9, 0x86, + 0x44, 0xf4, 0x01, 0x99, 0x13, 0xf2, 0x5d, 0xe8, 0xea, 0x08, 0xc0, 0x20, 0x23, 0x25, 0xaf, 0x3c, + 0x1d, 0x0c, 0x83, 0xd6, 0x8e, 0x06, 0x8d, 0x49, 0x1d, 0x75, 0x1d, 0xf8, 0x09, 0x9b, 0x71, 0xed, + 0x1c, 0xc2, 0xe8, 0x23, 0x32, 0xcf, 0x55, 0x14, 0x29, 0xd9, 0x67, 0xcd, 0x3a, 0x56, 0x0e, 0xb5, + 0xe3, 0x49, 0x65, 0x75, 0x98, 0x39, 0x97, 0x8d, 0x27, 0x8f, 0xd3, 0x12, 0x99, 0x31, 0x5a, 0x40, + 0x58, 0x47, 0x2d, 0x54, 0x93, 0xcd, 0x3b, 0xda, 0x20, 0x64, 0xfd, 0xb7, 0x20, 0xc2, 0x63, 0x65, + 0x30, 0xb0, 0x7e, 0xd9, 0x82, 0xeb, 0xd4, 0x30, 0x48, 0x0f, 0xc8, 0xba, 0xbd, 0x0a, 0x3b, 0x29, + 0xb7, 0x25, 0xb9, 0x63, 0x12, 0x60, 0xb3, 0xf7, 0x97, 0xc5, 0x5e, 0x74, 0xba, 0x7f, 0xd1, 0x6c, + 0xd3, 0x41, 0xe8, 0x9a, 0x56, 0xf1, 0x31, 0x84, 0x29, 0xb2, 0xa5, 0x11, 0x9b, 0x3e, 0x28, 0xa2, + 0x4f, 0xc8, 0x6a, 0xef, 0xff, 0x10, 0xba, 0xbb, 0xa1, 0xe2, 0x27, 0x07, 0x68, 0x2f, 0x08, 0xa3, + 0xce, 0xc4, 0xed, 0x9b, 0xf4, 0x15, 0x59, 0x70, 0x95, 0xbb, 0xb2, 0xb2, 0x63, 0xb1, 0x3c, 0x5a, + 0xf6, 0xbc, 0xce, 0xce, 0xa0, 0xa3, 0x0c, 0xd6, 0x95, 0x0a, 0xf7, 0x34, 0xb8, 0xfa, 0xd8, 0x8a, + 0xcb, 0x7d, 0x03, 0xa7, 0x65, 0xb2, 0xd0, 0xbb, 0xc3, 0x4e, 0x5b, 0x85, 0x98, 0x4d, 0x39, 0x6a, + 0x1e, 0xb6, 0x51, 0x23, 0x30, 0xbc, 0xfd, 0x46, 0xe9, 0x13, 0xd4, 0x35, 0x0c, 0xe1, 0x8c, 0xad, + 0x66, 0x93, 0xcd, 0xe3, 0x76, 0x6e, 0xf6, 0xf4, 0xd8, 0x32, 0xb3, 0xb9, 0xdd, 0x71, 0xc4, 0x61, + 0x90, 0x6e, 0x93, 0x15, 0xec, 0x72, 0x8c, 0xad, 0x11, 0x08, 0xaf, 0xc9, 0x77, 0x1d, 0xf9, 0xd6, + 0x3d, 0xeb, 0x37, 0x95, 0xe2, 0x7d, 0x3a, 0x10, 0x9b, 0x39, 0x7a, 0x1e, 0x7e, 0xf6, 0xf0, 0xe7, + 0xe7, 0x75, 0xef, 0xe3, 0x8f, 0x2f, 0x9b, 0xf7, 0xaf, 0x5f, 0xd2, 0xee, 0xc0, 0xab, 0x9a, 0x3d, + 0x73, 0xbb, 0xc1, 0xf9, 0x65, 0xd1, 0xbb, 0xb8, 0x2c, 0x7a, 0xdf, 0x2f, 0x8b, 0xde, 0xa7, 0xab, + 0x62, 0xe1, 0xe2, 0xaa, 0x58, 0xf8, 0x7a, 0x55, 0x2c, 0xbc, 0x7d, 0xda, 0x12, 0xa6, 0x9d, 0x36, + 0x2a, 0x5c, 0x45, 0x7e, 0x0d, 0x39, 0x4a, 0xa3, 0x21, 0xac, 0x82, 0x6e, 0xee, 0x43, 0x84, 0xfe, + 0xed, 0x41, 0xcd, 0x59, 0x8c, 0x49, 0x63, 0xc2, 0x3d, 0xa6, 0x8f, 0x7f, 0x07, 0x00, 0x00, 0xff, + 0xff, 0x78, 0x1e, 0x18, 0xc1, 0xce, 0x05, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -102,6 +326,78 @@ func (this *Params) Equal(that interface{}) bool { } else if this == nil { return false } + if this.VotingRightsExpirationTime != that1.VotingRightsExpirationTime { + return false + } + if this.SetSize != that1.SetSize { + return false + } + if !this.SetPrice.Equal(&that1.SetPrice) { + return false + } + if this.ActiveSetsAmount != that1.ActiveSetsAmount { + return false + } + if !this.SetCreationFee.Equal(&that1.SetCreationFee) { + return false + } + if !this.CollateralDeposit.Equal(&that1.CollateralDeposit) { + return false + } + if this.WinnerReward != that1.WinnerReward { + return false + } + if !this.HourlyFaucet.Equal(&that1.HourlyFaucet) { + return false + } + if this.InflationRate != that1.InflationRate { + return false + } + if this.RaresPerPack != that1.RaresPerPack { + return false + } + if this.CommonsPerPack != that1.CommonsPerPack { + return false + } + if this.UnCommonsPerPack != that1.UnCommonsPerPack { + return false + } + if this.TrialPeriod != that1.TrialPeriod { + return false + } + if this.GameVoteRatio != that1.GameVoteRatio { + return false + } + if this.CardAuctionPriceReductionPeriod != that1.CardAuctionPriceReductionPeriod { + return false + } + if !this.AirDropValue.Equal(&that1.AirDropValue) { + return false + } + if this.AirDropMaxBlockHeight != that1.AirDropMaxBlockHeight { + return false + } + if !this.TrialVoteReward.Equal(&that1.TrialVoteReward) { + return false + } + if this.VotePoolFraction != that1.VotePoolFraction { + return false + } + if this.VotingRewardCap != that1.VotingRewardCap { + return false + } + if this.MatchWorkerDelay != that1.MatchWorkerDelay { + return false + } + if this.RareDropRatio != that1.RareDropRatio { + return false + } + if this.ExceptionalDropRatio != that1.ExceptionalDropRatio { + return false + } + if this.UniqueDropRatio != that1.UniqueDropRatio { + return false + } return true } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -124,6 +420,176 @@ 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-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } + { + size, err := m.TrialVoteReward.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x9a + if m.AirDropMaxBlockHeight != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.AirDropMaxBlockHeight)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x90 + } + { + size, err := m.AirDropValue.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + if m.CardAuctionPriceReductionPeriod != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.CardAuctionPriceReductionPeriod)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x80 + } + if m.GameVoteRatio != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.GameVoteRatio)) + i-- + dAtA[i] = 0x78 + } + if m.TrialPeriod != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.TrialPeriod)) + i-- + dAtA[i] = 0x70 + } + if m.UnCommonsPerPack != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.UnCommonsPerPack)) + i-- + dAtA[i] = 0x68 + } + if m.CommonsPerPack != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.CommonsPerPack)) + i-- + dAtA[i] = 0x60 + } + if m.RaresPerPack != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.RaresPerPack)) + i-- + dAtA[i] = 0x58 + } + if len(m.InflationRate) > 0 { + i -= len(m.InflationRate) + copy(dAtA[i:], m.InflationRate) + i = encodeVarintParams(dAtA, i, uint64(len(m.InflationRate))) + i-- + dAtA[i] = 0x52 + } + { + size, err := m.HourlyFaucet.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4a + if m.VotingRewardCap != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.VotingRewardCap)) + i-- + dAtA[i] = 0x40 + } + if m.WinnerReward != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.WinnerReward)) + i-- + dAtA[i] = 0x38 + } + { + size, err := m.CollateralDeposit.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + { + size, err := m.SetCreationFee.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + if m.ActiveSetsAmount != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.ActiveSetsAmount)) + i-- + dAtA[i] = 0x20 + } + { + size, err := m.SetPrice.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintParams(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if m.SetSize != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.SetSize)) + i-- + dAtA[i] = 0x10 + } + if m.VotingRightsExpirationTime != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.VotingRightsExpirationTime)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } @@ -144,6 +610,73 @@ func (m *Params) Size() (n int) { } var l int _ = l + if m.VotingRightsExpirationTime != 0 { + n += 1 + sovParams(uint64(m.VotingRightsExpirationTime)) + } + if m.SetSize != 0 { + n += 1 + sovParams(uint64(m.SetSize)) + } + l = m.SetPrice.Size() + n += 1 + l + sovParams(uint64(l)) + if m.ActiveSetsAmount != 0 { + n += 1 + sovParams(uint64(m.ActiveSetsAmount)) + } + l = m.SetCreationFee.Size() + n += 1 + l + sovParams(uint64(l)) + l = m.CollateralDeposit.Size() + n += 1 + l + sovParams(uint64(l)) + if m.WinnerReward != 0 { + n += 1 + sovParams(uint64(m.WinnerReward)) + } + if m.VotingRewardCap != 0 { + n += 1 + sovParams(uint64(m.VotingRewardCap)) + } + l = m.HourlyFaucet.Size() + n += 1 + l + sovParams(uint64(l)) + l = len(m.InflationRate) + if l > 0 { + n += 1 + l + sovParams(uint64(l)) + } + if m.RaresPerPack != 0 { + n += 1 + sovParams(uint64(m.RaresPerPack)) + } + if m.CommonsPerPack != 0 { + n += 1 + sovParams(uint64(m.CommonsPerPack)) + } + if m.UnCommonsPerPack != 0 { + n += 1 + sovParams(uint64(m.UnCommonsPerPack)) + } + if m.TrialPeriod != 0 { + n += 1 + sovParams(uint64(m.TrialPeriod)) + } + if m.GameVoteRatio != 0 { + n += 1 + sovParams(uint64(m.GameVoteRatio)) + } + if m.CardAuctionPriceReductionPeriod != 0 { + n += 2 + sovParams(uint64(m.CardAuctionPriceReductionPeriod)) + } + l = m.AirDropValue.Size() + n += 2 + l + sovParams(uint64(l)) + if m.AirDropMaxBlockHeight != 0 { + n += 2 + sovParams(uint64(m.AirDropMaxBlockHeight)) + } + l = m.TrialVoteReward.Size() + n += 2 + l + sovParams(uint64(l)) + 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 } @@ -182,6 +715,559 @@ func (m *Params) Unmarshal(dAtA []byte) error { return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field VotingRightsExpirationTime", wireType) + } + m.VotingRightsExpirationTime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.VotingRightsExpirationTime |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SetSize", wireType) + } + m.SetSize = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SetSize |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetPrice", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + 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 ActiveSetsAmount", wireType) + } + m.ActiveSetsAmount = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ActiveSetsAmount |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetCreationFee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SetCreationFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CollateralDeposit", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.CollateralDeposit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WinnerReward", wireType) + } + m.WinnerReward = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.WinnerReward |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field VotingRewardCap", wireType) + } + m.VotingRewardCap = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.VotingRewardCap |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field HourlyFaucet", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.HourlyFaucet.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InflationRate", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + 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 ErrInvalidLengthParams + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.InflationRate = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RaresPerPack", wireType) + } + m.RaresPerPack = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RaresPerPack |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CommonsPerPack", wireType) + } + m.CommonsPerPack = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CommonsPerPack |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UnCommonsPerPack", wireType) + } + m.UnCommonsPerPack = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UnCommonsPerPack |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TrialPeriod", wireType) + } + m.TrialPeriod = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TrialPeriod |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GameVoteRatio", wireType) + } + m.GameVoteRatio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GameVoteRatio |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 16: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardAuctionPriceReductionPeriod", wireType) + } + m.CardAuctionPriceReductionPeriod = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CardAuctionPriceReductionPeriod |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AirDropValue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.AirDropValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 18: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AirDropMaxBlockHeight", wireType) + } + m.AirDropMaxBlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AirDropMaxBlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 19: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TrialVoteReward", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TrialVoteReward.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field VotePoolFraction", wireType) + } + m.VotePoolFraction = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.VotePoolFraction |= int64(b&0x7F) << shift + if b < 0x80 { + 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/product_details.pb.go b/x/cardchain/types/product_details.pb.go new file mode 100644 index 00000000..11fdabcb --- /dev/null +++ b/x/cardchain/types/product_details.pb.go @@ -0,0 +1,457 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/product_details.proto + +package types + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/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 ProductDetails struct { + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` + Creator string `protobuf:"bytes,4,opt,name=creator,proto3" json:"creator,omitempty"` +} + +func (m *ProductDetails) Reset() { *m = ProductDetails{} } +func (m *ProductDetails) String() string { return proto.CompactTextString(m) } +func (*ProductDetails) ProtoMessage() {} +func (*ProductDetails) Descriptor() ([]byte, []int) { + return fileDescriptor_6e8972558ee0ad96, []int{0} +} +func (m *ProductDetails) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProductDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProductDetails.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 *ProductDetails) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProductDetails.Merge(m, src) +} +func (m *ProductDetails) XXX_Size() int { + return m.Size() +} +func (m *ProductDetails) XXX_DiscardUnknown() { + xxx_messageInfo_ProductDetails.DiscardUnknown(m) +} + +var xxx_messageInfo_ProductDetails proto.InternalMessageInfo + +func (m *ProductDetails) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +func (m *ProductDetails) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ProductDetails) GetDesc() string { + if m != nil { + return m.Desc + } + return "" +} + +func (m *ProductDetails) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func init() { + proto.RegisterType((*ProductDetails)(nil), "cardchain.cardchain.ProductDetails") +} + +func init() { + proto.RegisterFile("cardchain/cardchain/product_details.proto", fileDescriptor_6e8972558ee0ad96) +} + +var fileDescriptor_6e8972558ee0ad96 = []byte{ + // 209 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4c, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x0a, 0x8a, 0xf2, 0x53, 0x4a, 0x93, 0x4b, 0xe2, + 0x53, 0x52, 0x4b, 0x12, 0x33, 0x73, 0x8a, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, + 0x0a, 0xf4, 0xe0, 0x2c, 0xa5, 0x24, 0x2e, 0xbe, 0x00, 0x88, 0x6a, 0x17, 0x88, 0x62, 0x21, 0x3e, + 0x2e, 0xa6, 0xcc, 0x14, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x96, 0x20, 0xa6, 0xcc, 0x14, 0x21, 0x21, + 0x2e, 0x96, 0xbc, 0xc4, 0xdc, 0x54, 0x09, 0x26, 0x05, 0x46, 0x0d, 0xce, 0x20, 0x30, 0x1b, 0x24, + 0x96, 0x92, 0x5a, 0x9c, 0x2c, 0xc1, 0x0c, 0x11, 0x03, 0xb1, 0x85, 0x24, 0xb8, 0xd8, 0x93, 0x8b, + 0x52, 0x13, 0x4b, 0xf2, 0x8b, 0x24, 0x58, 0xc0, 0xc2, 0x30, 0xae, 0x53, 0xd0, 0x89, 0x47, 0x72, + 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, + 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x59, 0xa4, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, + 0xe7, 0xe7, 0xea, 0xbb, 0xa4, 0x26, 0xa7, 0xe6, 0x95, 0x14, 0x25, 0xe6, 0x38, 0x27, 0x16, 0xa5, + 0xb8, 0x27, 0xe6, 0xa6, 0x22, 0x79, 0xa8, 0x02, 0x89, 0x5d, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, + 0x06, 0xf6, 0x93, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x9b, 0xaf, 0x49, 0x05, 0x00, 0x01, 0x00, + 0x00, +} + +func (m *ProductDetails) 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 *ProductDetails) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProductDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintProductDetails(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0x22 + } + if len(m.Desc) > 0 { + i -= len(m.Desc) + copy(dAtA[i:], m.Desc) + i = encodeVarintProductDetails(dAtA, i, uint64(len(m.Desc))) + i-- + dAtA[i] = 0x1a + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarintProductDetails(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x12 + } + if m.Id != 0 { + i = encodeVarintProductDetails(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintProductDetails(dAtA []byte, offset int, v uint64) int { + offset -= sovProductDetails(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *ProductDetails) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovProductDetails(uint64(m.Id)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + sovProductDetails(uint64(l)) + } + l = len(m.Desc) + if l > 0 { + n += 1 + l + sovProductDetails(uint64(l)) + } + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovProductDetails(uint64(l)) + } + return n +} + +func sovProductDetails(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozProductDetails(x uint64) (n int) { + return sovProductDetails(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *ProductDetails) 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 ErrIntOverflowProductDetails + } + 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: ProductDetails: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + m.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProductDetails + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 ErrIntOverflowProductDetails + } + 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 ErrInvalidLengthProductDetails + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProductDetails + } + 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 Desc", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProductDetails + } + 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 ErrInvalidLengthProductDetails + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProductDetails + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Desc = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProductDetails + } + 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 ErrInvalidLengthProductDetails + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProductDetails + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipProductDetails(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProductDetails + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipProductDetails(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, ErrIntOverflowProductDetails + } + 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, ErrIntOverflowProductDetails + } + 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, ErrIntOverflowProductDetails + } + 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, ErrInvalidLengthProductDetails + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupProductDetails + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthProductDetails + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthProductDetails = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowProductDetails = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupProductDetails = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 6d858f55..c1e3686e 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,7 +6,7 @@ package types import ( context "context" fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/query" + query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" @@ -114,36 +114,237 @@ func (m *QueryParamsResponse) GetParams() Params { return Params{} } +type QueryGetProductDetailsRequest struct { + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (m *QueryGetProductDetailsRequest) Reset() { *m = QueryGetProductDetailsRequest{} } +func (m *QueryGetProductDetailsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryGetProductDetailsRequest) ProtoMessage() {} +func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{2} +} +func (m *QueryGetProductDetailsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGetProductDetailsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGetProductDetailsRequest.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 *QueryGetProductDetailsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGetProductDetailsRequest.Merge(m, src) +} +func (m *QueryGetProductDetailsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryGetProductDetailsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGetProductDetailsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGetProductDetailsRequest proto.InternalMessageInfo + +func (m *QueryGetProductDetailsRequest) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +type QueryGetProductDetailsResponse struct { + ProductDetails ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails"` +} + +func (m *QueryGetProductDetailsResponse) Reset() { *m = QueryGetProductDetailsResponse{} } +func (m *QueryGetProductDetailsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryGetProductDetailsResponse) ProtoMessage() {} +func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{3} +} +func (m *QueryGetProductDetailsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGetProductDetailsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGetProductDetailsResponse.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 *QueryGetProductDetailsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGetProductDetailsResponse.Merge(m, src) +} +func (m *QueryGetProductDetailsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryGetProductDetailsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGetProductDetailsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGetProductDetailsResponse proto.InternalMessageInfo + +func (m *QueryGetProductDetailsResponse) GetProductDetails() ProductDetails { + if m != nil { + return m.ProductDetails + } + return ProductDetails{} +} + +type QueryAllProductDetailsRequest struct { + Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (m *QueryAllProductDetailsRequest) Reset() { *m = QueryAllProductDetailsRequest{} } +func (m *QueryAllProductDetailsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAllProductDetailsRequest) ProtoMessage() {} +func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{4} +} +func (m *QueryAllProductDetailsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAllProductDetailsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAllProductDetailsRequest.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 *QueryAllProductDetailsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAllProductDetailsRequest.Merge(m, src) +} +func (m *QueryAllProductDetailsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAllProductDetailsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAllProductDetailsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAllProductDetailsRequest proto.InternalMessageInfo + +func (m *QueryAllProductDetailsRequest) GetPagination() *query.PageRequest { + if m != nil { + return m.Pagination + } + return nil +} + +type QueryAllProductDetailsResponse struct { + ProductDetails []ProductDetails `protobuf:"bytes,1,rep,name=ProductDetails,proto3" json:"ProductDetails"` + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (m *QueryAllProductDetailsResponse) Reset() { *m = QueryAllProductDetailsResponse{} } +func (m *QueryAllProductDetailsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAllProductDetailsResponse) ProtoMessage() {} +func (*QueryAllProductDetailsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{5} +} +func (m *QueryAllProductDetailsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAllProductDetailsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAllProductDetailsResponse.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 *QueryAllProductDetailsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAllProductDetailsResponse.Merge(m, src) +} +func (m *QueryAllProductDetailsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryAllProductDetailsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAllProductDetailsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAllProductDetailsResponse proto.InternalMessageInfo + +func (m *QueryAllProductDetailsResponse) GetProductDetails() []ProductDetails { + if m != nil { + return m.ProductDetails + } + return nil +} + +func (m *QueryAllProductDetailsResponse) GetPagination() *query.PageResponse { + if m != nil { + return m.Pagination + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") + proto.RegisterType((*QueryGetProductDetailsRequest)(nil), "cardchain.cardchain.QueryGetProductDetailsRequest") + proto.RegisterType((*QueryGetProductDetailsResponse)(nil), "cardchain.cardchain.QueryGetProductDetailsResponse") + proto.RegisterType((*QueryAllProductDetailsRequest)(nil), "cardchain.cardchain.QueryAllProductDetailsRequest") + proto.RegisterType((*QueryAllProductDetailsResponse)(nil), "cardchain.cardchain.QueryAllProductDetailsResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 326 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x0a, 0x4b, 0x53, 0x8b, 0x2a, 0xf5, 0x0a, 0x8a, - 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xc2, 0x7a, 0x70, 0x96, 0x94, 0x60, 0x62, 0x6e, 0x66, 0x5e, - 0xbe, 0x3e, 0x98, 0x84, 0xa8, 0x93, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x33, 0xf5, 0x41, 0x2c, - 0xa8, 0xa8, 0x4c, 0x7a, 0x7e, 0x7e, 0x7a, 0x4e, 0xaa, 0x7e, 0x62, 0x41, 0xa6, 0x7e, 0x62, 0x5e, - 0x5e, 0x7e, 0x49, 0x62, 0x49, 0x66, 0x7e, 0x5e, 0x31, 0x54, 0x56, 0x2b, 0x39, 0xbf, 0x38, 0x37, - 0xbf, 0x58, 0x3f, 0x29, 0xb1, 0x38, 0x15, 0x62, 0xa9, 0x7e, 0x99, 0x61, 0x52, 0x6a, 0x49, 0xa2, - 0xa1, 0x7e, 0x41, 0x62, 0x7a, 0x66, 0x1e, 0x58, 0x31, 0x54, 0xad, 0x02, 0x36, 0x87, 0x16, 0x24, - 0x16, 0x25, 0xe6, 0x42, 0x4d, 0x53, 0x12, 0xe1, 0x12, 0x0a, 0x04, 0x99, 0x11, 0x00, 0x16, 0x0c, - 0x4a, 0x2d, 0x2c, 0x4d, 0x2d, 0x2e, 0x51, 0x0a, 0xe5, 0x12, 0x46, 0x11, 0x2d, 0x2e, 0xc8, 0xcf, - 0x2b, 0x4e, 0x15, 0xb2, 0xe3, 0x62, 0x83, 0x68, 0x96, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x36, 0x92, - 0xd6, 0xc3, 0xe2, 0x4f, 0x3d, 0x88, 0x26, 0x27, 0xce, 0x13, 0xf7, 0xe4, 0x19, 0x56, 0x3c, 0xdf, - 0xa0, 0xc5, 0x18, 0x04, 0xd5, 0x65, 0x34, 0x87, 0x91, 0x8b, 0x15, 0x6c, 0xae, 0xd0, 0x24, 0x46, - 0x2e, 0x36, 0x88, 0x3a, 0x21, 0x75, 0xac, 0x86, 0x60, 0x3a, 0x4a, 0x4a, 0x83, 0xb0, 0x42, 0x88, - 0x3b, 0x95, 0x4c, 0x9b, 0x2e, 0x3f, 0x99, 0xcc, 0xa4, 0x2f, 0xa4, 0xab, 0xef, 0x92, 0x9a, 0x9c, - 0x9a, 0x57, 0x52, 0x94, 0x98, 0xe3, 0x9c, 0x58, 0x94, 0xe2, 0x9e, 0x98, 0x9b, 0xaa, 0x8f, 0x3b, - 0x44, 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, 0x17, 0xaf, 0x91, 0x15, 0x48, 0xec, 0x92, 0xca, - 0x82, 0xd4, 0xe2, 0x24, 0x36, 0x70, 0x30, 0x1b, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x4c, 0x87, - 0x0a, 0x82, 0x33, 0x02, 0x00, 0x00, + // 531 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0x41, 0x6b, 0x14, 0x31, + 0x14, 0xc7, 0x37, 0xeb, 0xba, 0x60, 0x84, 0x42, 0xd3, 0x1e, 0x64, 0xd5, 0x69, 0x19, 0xc1, 0xd6, + 0x82, 0x09, 0xdd, 0xa2, 0x14, 0xc4, 0x42, 0xb7, 0xc5, 0xbd, 0x6e, 0x07, 0xbc, 0x78, 0x91, 0xec, + 0x4c, 0x98, 0x06, 0x66, 0x92, 0xe9, 0x24, 0x2b, 0x16, 0xf1, 0xe2, 0x27, 0x10, 0xbd, 0xfa, 0x01, + 0x3c, 0xfa, 0x01, 0x8a, 0xe7, 0x1e, 0x0b, 0x5e, 0x3c, 0x89, 0xec, 0x0a, 0x7e, 0x0d, 0xd9, 0x24, + 0xb6, 0x3b, 0x75, 0x66, 0xaa, 0xf6, 0xb2, 0x3c, 0x32, 0xef, 0xbd, 0xff, 0xef, 0x9f, 0xf7, 0xb2, + 0x70, 0x29, 0xa4, 0x79, 0x14, 0xee, 0x53, 0x2e, 0xc8, 0x59, 0x74, 0x30, 0x62, 0xf9, 0x21, 0xce, + 0x72, 0xa9, 0x25, 0x5a, 0x38, 0x3d, 0xc6, 0xa7, 0x51, 0x67, 0x9e, 0xa6, 0x5c, 0x48, 0x62, 0x7e, + 0x6d, 0x5e, 0x67, 0x31, 0x96, 0xb1, 0x34, 0x21, 0x99, 0x46, 0xee, 0xf4, 0x56, 0x2c, 0x65, 0x9c, + 0x30, 0x42, 0x33, 0x4e, 0xa8, 0x10, 0x52, 0x53, 0xcd, 0xa5, 0x50, 0xee, 0xeb, 0x5a, 0x28, 0x55, + 0x2a, 0x15, 0x19, 0x52, 0xc5, 0xac, 0x28, 0x79, 0xb1, 0x3e, 0x64, 0x9a, 0xae, 0x93, 0x8c, 0xc6, + 0x5c, 0x98, 0x64, 0x97, 0xbb, 0x5c, 0x06, 0x9a, 0xd1, 0x9c, 0xa6, 0xbf, 0xbb, 0xdd, 0x2b, 0xcd, + 0xc8, 0x65, 0x34, 0x0a, 0xf5, 0xf3, 0x88, 0x69, 0xca, 0x13, 0x97, 0xea, 0x2f, 0x42, 0xb4, 0x37, + 0x95, 0x1b, 0x98, 0xfa, 0x80, 0x1d, 0x8c, 0x98, 0xd2, 0xfe, 0x53, 0xb8, 0x50, 0x38, 0x55, 0x99, + 0x14, 0x8a, 0xa1, 0x2d, 0xd8, 0xb6, 0x3a, 0x37, 0xc0, 0x32, 0x58, 0xbd, 0xde, 0xbd, 0x89, 0x4b, + 0xae, 0x04, 0xdb, 0xa2, 0xde, 0xb5, 0xe3, 0x6f, 0x4b, 0x8d, 0x8f, 0x3f, 0x3f, 0xad, 0x81, 0xc0, + 0x55, 0xf9, 0x04, 0xde, 0x36, 0x6d, 0xfb, 0x4c, 0x0f, 0x2c, 0xcd, 0xae, 0x85, 0x71, 0xba, 0x68, + 0x0e, 0x36, 0x79, 0x64, 0x9a, 0xb7, 0x82, 0x26, 0x8f, 0x7c, 0x05, 0xbd, 0xaa, 0x02, 0x87, 0xb4, + 0x07, 0xe7, 0x8a, 0x5f, 0x1c, 0xda, 0x9d, 0x72, 0xb4, 0x42, 0x6a, 0xaf, 0x35, 0x45, 0x0c, 0xce, + 0x35, 0xf0, 0x63, 0x47, 0xb9, 0x9d, 0x24, 0xe5, 0x94, 0x4f, 0x20, 0x3c, 0x1b, 0x8a, 0xd3, 0xbb, + 0x8b, 0xed, 0x04, 0xf1, 0x74, 0x82, 0xd8, 0xae, 0x8d, 0x9b, 0x20, 0x1e, 0xd0, 0x98, 0xb9, 0xda, + 0x60, 0xa6, 0xd2, 0x3f, 0x02, 0xce, 0x5e, 0x89, 0x52, 0x8d, 0xbd, 0x2b, 0x97, 0xb2, 0x87, 0xfa, + 0x05, 0xfa, 0xa6, 0xa1, 0x5f, 0xb9, 0x90, 0xde, 0xf2, 0xcc, 0xe2, 0x77, 0x3f, 0xb4, 0xe0, 0x55, + 0x83, 0x8f, 0xde, 0x01, 0xd8, 0xb6, 0x53, 0x47, 0x2b, 0xa5, 0x60, 0x7f, 0xae, 0x58, 0x67, 0xf5, + 0xe2, 0x44, 0xab, 0xe9, 0x3f, 0x78, 0xf3, 0xe5, 0xc7, 0xfb, 0x26, 0x41, 0xf7, 0xc9, 0x2e, 0x0b, + 0x99, 0xd0, 0x39, 0x4d, 0x76, 0x68, 0x1e, 0xf5, 0x69, 0xca, 0x48, 0xf5, 0x53, 0x40, 0x9f, 0xc1, + 0xf9, 0xbb, 0x43, 0xdd, 0x6a, 0xcd, 0xaa, 0x95, 0xec, 0x6c, 0xfc, 0x53, 0x8d, 0x43, 0xde, 0x31, + 0xc8, 0x8f, 0xd1, 0xa3, 0xbf, 0x45, 0x2e, 0xbe, 0x4d, 0xf2, 0x8a, 0x47, 0xaf, 0xd1, 0x11, 0x80, + 0xf3, 0xc5, 0xfe, 0xdb, 0x49, 0x52, 0xe7, 0xa1, 0x6a, 0x61, 0xeb, 0x3c, 0x54, 0xae, 0x9e, 0xbf, + 0x65, 0x3c, 0x6c, 0xa2, 0x87, 0xff, 0xe7, 0xa1, 0x17, 0x1c, 0x8f, 0x3d, 0x70, 0x32, 0xf6, 0xc0, + 0xf7, 0xb1, 0x07, 0xde, 0x4e, 0xbc, 0xc6, 0xc9, 0xc4, 0x6b, 0x7c, 0x9d, 0x78, 0x8d, 0x67, 0x9b, + 0x31, 0xd7, 0xfb, 0xa3, 0x21, 0x0e, 0x65, 0x5a, 0xdb, 0xfb, 0xe5, 0x4c, 0xac, 0x0f, 0x33, 0xa6, + 0x86, 0x6d, 0xf3, 0xa7, 0xb5, 0xf1, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xa1, 0x12, 0x63, 0x46, 0xac, + 0x05, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -160,6 +361,9 @@ const _ = grpc.SupportPackageIsVersion4 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 ProductDetails items. + ProductDetails(ctx context.Context, in *QueryGetProductDetailsRequest, opts ...grpc.CallOption) (*QueryGetProductDetailsResponse, error) + ProductDetailsAll(ctx context.Context, in *QueryAllProductDetailsRequest, opts ...grpc.CallOption) (*QueryAllProductDetailsResponse, error) } type queryClient struct { @@ -179,10 +383,31 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . return out, nil } +func (c *queryClient) ProductDetails(ctx context.Context, in *QueryGetProductDetailsRequest, opts ...grpc.CallOption) (*QueryGetProductDetailsResponse, error) { + out := new(QueryGetProductDetailsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/ProductDetails", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) ProductDetailsAll(ctx context.Context, in *QueryAllProductDetailsRequest, opts ...grpc.CallOption) (*QueryAllProductDetailsResponse, error) { + out := new(QueryAllProductDetailsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/ProductDetailsAll", 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 ProductDetails items. + ProductDetails(context.Context, *QueryGetProductDetailsRequest) (*QueryGetProductDetailsResponse, error) + ProductDetailsAll(context.Context, *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -192,6 +417,12 @@ 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) ProductDetails(ctx context.Context, req *QueryGetProductDetailsRequest) (*QueryGetProductDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProductDetails not implemented") +} +func (*UnimplementedQueryServer) ProductDetailsAll(ctx context.Context, req *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProductDetailsAll not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -215,6 +446,42 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +func _Query_ProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGetProductDetailsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ProductDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/ProductDetails", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ProductDetails(ctx, req.(*QueryGetProductDetailsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_ProductDetailsAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAllProductDetailsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ProductDetailsAll(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/ProductDetailsAll", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ProductDetailsAll(ctx, req.(*QueryAllProductDetailsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -224,6 +491,14 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Params", Handler: _Query_Params_Handler, }, + { + MethodName: "ProductDetails", + Handler: _Query_ProductDetails_Handler, + }, + { + MethodName: "ProductDetailsAll", + Handler: _Query_ProductDetailsAll_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -285,6 +560,151 @@ func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *QueryGetProductDetailsRequest) 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 *QueryGetProductDetailsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryGetProductDetailsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Id != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryGetProductDetailsResponse) 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 *QueryGetProductDetailsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryGetProductDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.ProductDetails.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 *QueryAllProductDetailsRequest) 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 *QueryAllProductDetailsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAllProductDetailsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.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 *QueryAllProductDetailsResponse) 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 *QueryAllProductDetailsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAllProductDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.ProductDetails) > 0 { + for iNdEx := len(m.ProductDetails) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ProductDetails[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 @@ -316,7 +736,62 @@ func (m *QueryParamsResponse) Size() (n int) { return n } -func sovQuery(x uint64) (n int) { +func (m *QueryGetProductDetailsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovQuery(uint64(m.Id)) + } + return n +} + +func (m *QueryGetProductDetailsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.ProductDetails.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryAllProductDetailsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAllProductDetailsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.ProductDetails) > 0 { + for _, e := range m.ProductDetails { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.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) { @@ -455,6 +930,364 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryGetProductDetailsRequest) 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: QueryGetProductDetailsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryGetProductDetailsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + m.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 *QueryGetProductDetailsResponse) 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: QueryGetProductDetailsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryGetProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProductDetails", 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.ProductDetails.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 *QueryAllProductDetailsRequest) 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: QueryAllProductDetailsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAllProductDetailsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", 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.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.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 *QueryAllProductDetailsResponse) 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: QueryAllProductDetailsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAllProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProductDetails", 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.ProductDetails = append(m.ProductDetails, ProductDetails{}) + if err := m.ProductDetails[len(m.ProductDetails)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", 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.Pagination == nil { + m.Pagination = &query.PageResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index cefb3ebc..7db501f8 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -51,6 +51,96 @@ func local_request_Query_Params_0(ctx context.Context, marshaler runtime.Marshal } +func request_Query_ProductDetails_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryGetProductDetailsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := client.ProductDetails(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_ProductDetails_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryGetProductDetailsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ProductDetails(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Query_ProductDetailsAll_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Query_ProductDetailsAll_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAllProductDetailsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProductDetailsAll_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ProductDetailsAll(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_ProductDetailsAll_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAllProductDetailsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProductDetailsAll_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ProductDetailsAll(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. @@ -80,6 +170,52 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_ProductDetails_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_ProductDetails_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_ProductDetails_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_ProductDetailsAll_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_ProductDetailsAll_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_ProductDetailsAll_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -141,13 +277,61 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_ProductDetails_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_ProductDetails_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_ProductDetails_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_ProductDetailsAll_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_ProductDetailsAll_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_ProductDetailsAll_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, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "params"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_ProductDetails_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "product_details", "id"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_ProductDetailsAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "product_details"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( forward_Query_Params_0 = runtime.ForwardResponseMessage + + forward_Query_ProductDetails_0 = runtime.ForwardResponseMessage + + forward_Query_ProductDetailsAll_0 = runtime.ForwardResponseMessage ) diff --git a/x/cardchain/types/running_average.pb.go b/x/cardchain/types/running_average.pb.go new file mode 100644 index 00000000..21f80b8f --- /dev/null +++ b/x/cardchain/types/running_average.pb.go @@ -0,0 +1,376 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/running_average.proto + +package types + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/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 RunningAverage struct { + Arr []int64 `protobuf:"varint,1,rep,packed,name=arr,proto3" json:"arr,omitempty"` +} + +func (m *RunningAverage) Reset() { *m = RunningAverage{} } +func (m *RunningAverage) String() string { return proto.CompactTextString(m) } +func (*RunningAverage) ProtoMessage() {} +func (*RunningAverage) Descriptor() ([]byte, []int) { + return fileDescriptor_a520f579564035a6, []int{0} +} +func (m *RunningAverage) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RunningAverage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RunningAverage.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 *RunningAverage) XXX_Merge(src proto.Message) { + xxx_messageInfo_RunningAverage.Merge(m, src) +} +func (m *RunningAverage) XXX_Size() int { + return m.Size() +} +func (m *RunningAverage) XXX_DiscardUnknown() { + xxx_messageInfo_RunningAverage.DiscardUnknown(m) +} + +var xxx_messageInfo_RunningAverage proto.InternalMessageInfo + +func (m *RunningAverage) GetArr() []int64 { + if m != nil { + return m.Arr + } + return nil +} + +func init() { + proto.RegisterType((*RunningAverage)(nil), "cardchain.cardchain.RunningAverage") +} + +func init() { + proto.RegisterFile("cardchain/cardchain/running_average.proto", fileDescriptor_a520f579564035a6) +} + +var fileDescriptor_a520f579564035a6 = []byte{ + // 164 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4c, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x8a, 0x4a, 0xf3, 0xf2, 0x32, 0xf3, 0xd2, 0xe3, + 0x13, 0xcb, 0x52, 0x8b, 0x12, 0xd3, 0x53, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, + 0x0a, 0xf4, 0xe0, 0x2c, 0x25, 0x25, 0x2e, 0xbe, 0x20, 0x88, 0x6a, 0x47, 0x88, 0x62, 0x21, 0x01, + 0x2e, 0xe6, 0xc4, 0xa2, 0x22, 0x09, 0x46, 0x05, 0x66, 0x0d, 0xe6, 0x20, 0x10, 0xd3, 0x29, 0xe8, + 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, 0x2c, 0xd2, 0x33, 0x4b, 0x32, 0x4a, + 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x5d, 0x52, 0x93, 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x9c, + 0x13, 0x8b, 0x52, 0xdc, 0x13, 0x73, 0x53, 0x91, 0x1c, 0x54, 0x81, 0xc4, 0x2e, 0xa9, 0x2c, 0x48, + 0x2d, 0x4e, 0x62, 0x03, 0xbb, 0xc9, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xc6, 0x90, 0xa5, 0xa6, + 0xc0, 0x00, 0x00, 0x00, +} + +func (m *RunningAverage) 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 *RunningAverage) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RunningAverage) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Arr) > 0 { + dAtA2 := make([]byte, len(m.Arr)*10) + var j1 int + for _, num1 := range m.Arr { + num := uint64(num1) + 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 = encodeVarintRunningAverage(dAtA, i, uint64(j1)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintRunningAverage(dAtA []byte, offset int, v uint64) int { + offset -= sovRunningAverage(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *RunningAverage) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Arr) > 0 { + l = 0 + for _, e := range m.Arr { + l += sovRunningAverage(uint64(e)) + } + n += 1 + sovRunningAverage(uint64(l)) + l + } + return n +} + +func sovRunningAverage(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozRunningAverage(x uint64) (n int) { + return sovRunningAverage(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *RunningAverage) 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 ErrIntOverflowRunningAverage + } + 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: RunningAverage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RunningAverage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType == 0 { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRunningAverage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Arr = append(m.Arr, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRunningAverage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthRunningAverage + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthRunningAverage + } + 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.Arr) == 0 { + m.Arr = make([]int64, 0, elementCount) + } + for iNdEx < postIndex { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRunningAverage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Arr = append(m.Arr, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Arr", wireType) + } + default: + iNdEx = preIndex + skippy, err := skipRunningAverage(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthRunningAverage + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipRunningAverage(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, ErrIntOverflowRunningAverage + } + 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, ErrIntOverflowRunningAverage + } + 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, ErrIntOverflowRunningAverage + } + 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, ErrInvalidLengthRunningAverage + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupRunningAverage + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthRunningAverage + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthRunningAverage = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowRunningAverage = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupRunningAverage = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go new file mode 100644 index 00000000..32a2be10 --- /dev/null +++ b/x/cardchain/types/sell_offer.pb.go @@ -0,0 +1,532 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/sell_offer.proto + +package types + +import ( + fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/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 SellOfferStatus int32 + +const ( + SellOfferStatus_open SellOfferStatus = 0 + SellOfferStatus_sold SellOfferStatus = 1 + SellOfferStatus_removed SellOfferStatus = 2 +) + +var SellOfferStatus_name = map[int32]string{ + 0: "open", + 1: "sold", + 2: "removed", +} + +var SellOfferStatus_value = map[string]int32{ + "open": 0, + "sold": 1, + "removed": 2, +} + +func (x SellOfferStatus) String() string { + return proto.EnumName(SellOfferStatus_name, int32(x)) +} + +func (SellOfferStatus) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_18dbd9a8240e28bf, []int{0} +} + +type SellOffer struct { + Seller string `protobuf:"bytes,1,opt,name=seller,proto3" json:"seller,omitempty"` + Buyer string `protobuf:"bytes,2,opt,name=buyer,proto3" json:"buyer,omitempty"` + Card uint64 `protobuf:"varint,3,opt,name=card,proto3" json:"card,omitempty"` + Price types.Coin `protobuf:"bytes,4,opt,name=price,proto3" json:"price"` + Status SellOfferStatus `protobuf:"varint,5,opt,name=status,proto3,enum=cardchain.cardchain.SellOfferStatus" json:"status,omitempty"` +} + +func (m *SellOffer) Reset() { *m = SellOffer{} } +func (m *SellOffer) String() string { return proto.CompactTextString(m) } +func (*SellOffer) ProtoMessage() {} +func (*SellOffer) Descriptor() ([]byte, []int) { + return fileDescriptor_18dbd9a8240e28bf, []int{0} +} +func (m *SellOffer) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *SellOffer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_SellOffer.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 *SellOffer) XXX_Merge(src proto.Message) { + xxx_messageInfo_SellOffer.Merge(m, src) +} +func (m *SellOffer) XXX_Size() int { + return m.Size() +} +func (m *SellOffer) XXX_DiscardUnknown() { + xxx_messageInfo_SellOffer.DiscardUnknown(m) +} + +var xxx_messageInfo_SellOffer proto.InternalMessageInfo + +func (m *SellOffer) GetSeller() string { + if m != nil { + return m.Seller + } + return "" +} + +func (m *SellOffer) GetBuyer() string { + if m != nil { + return m.Buyer + } + return "" +} + +func (m *SellOffer) GetCard() uint64 { + if m != nil { + return m.Card + } + return 0 +} + +func (m *SellOffer) GetPrice() types.Coin { + if m != nil { + return m.Price + } + return types.Coin{} +} + +func (m *SellOffer) GetStatus() SellOfferStatus { + if m != nil { + return m.Status + } + return SellOfferStatus_open +} + +func init() { + proto.RegisterEnum("cardchain.cardchain.SellOfferStatus", SellOfferStatus_name, SellOfferStatus_value) + proto.RegisterType((*SellOffer)(nil), "cardchain.cardchain.SellOffer") +} + +func init() { + proto.RegisterFile("cardchain/cardchain/sell_offer.proto", fileDescriptor_18dbd9a8240e28bf) +} + +var fileDescriptor_18dbd9a8240e28bf = []byte{ + // 330 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0x3f, 0x4f, 0xc2, 0x40, + 0x18, 0xc6, 0x7b, 0x58, 0x50, 0x8e, 0x44, 0xc9, 0x49, 0x4c, 0x65, 0x38, 0x1b, 0xc3, 0xd0, 0x38, + 0x5c, 0x03, 0xc6, 0xc4, 0xc1, 0x09, 0x4c, 0x1c, 0x4d, 0xca, 0xe6, 0x62, 0xae, 0xd7, 0x17, 0x68, + 0xd2, 0xf6, 0x9a, 0xbb, 0x83, 0xc8, 0xb7, 0xf0, 0x33, 0x39, 0x31, 0x32, 0x3a, 0x19, 0x03, 0x5f, + 0xc4, 0xb4, 0x25, 0x48, 0x8c, 0xdb, 0xef, 0xed, 0xf3, 0xf4, 0x7e, 0xf7, 0x07, 0xf7, 0x04, 0x57, + 0x91, 0x98, 0xf1, 0x38, 0xf3, 0x7f, 0x49, 0x43, 0x92, 0xbc, 0xca, 0xc9, 0x04, 0x14, 0xcb, 0x95, + 0x34, 0x92, 0x9c, 0xef, 0x33, 0xb6, 0xa7, 0x6e, 0x67, 0x2a, 0xa7, 0xb2, 0xcc, 0xfd, 0x82, 0xaa, + 0x6a, 0x97, 0x0a, 0xa9, 0x53, 0xa9, 0xfd, 0x90, 0x6b, 0xf0, 0x17, 0xfd, 0x10, 0x0c, 0xef, 0xfb, + 0x42, 0xc6, 0x59, 0x95, 0x5f, 0x7f, 0x20, 0xdc, 0x1c, 0x43, 0x92, 0x3c, 0x17, 0xcb, 0x93, 0x0b, + 0xdc, 0x28, 0x64, 0xa0, 0x1c, 0xe4, 0x22, 0xaf, 0x19, 0xec, 0x26, 0xd2, 0xc1, 0xf5, 0x70, 0xbe, + 0x04, 0xe5, 0xd4, 0xca, 0xcf, 0xd5, 0x40, 0x08, 0xb6, 0x0b, 0xbd, 0x73, 0xe4, 0x22, 0xcf, 0x0e, + 0x4a, 0x26, 0x77, 0xb8, 0x9e, 0xab, 0x58, 0x80, 0x63, 0xbb, 0xc8, 0x6b, 0x0d, 0x2e, 0x59, 0xe5, + 0x67, 0x85, 0x9f, 0xed, 0xfc, 0x6c, 0x24, 0xe3, 0x6c, 0x68, 0xaf, 0xbe, 0xae, 0xac, 0xa0, 0x6a, + 0x93, 0x07, 0xdc, 0xd0, 0x86, 0x9b, 0xb9, 0x76, 0xea, 0x2e, 0xf2, 0x4e, 0x07, 0x3d, 0xf6, 0xcf, + 0x11, 0xd9, 0x7e, 0xa3, 0xe3, 0xb2, 0x1b, 0xec, 0xfe, 0xb9, 0x19, 0xe0, 0xb3, 0x3f, 0x11, 0x39, + 0xc1, 0xb6, 0xcc, 0x21, 0x6b, 0x5b, 0x05, 0x69, 0x99, 0x44, 0x6d, 0x44, 0x5a, 0xf8, 0x58, 0x41, + 0x2a, 0x17, 0x10, 0xb5, 0x6b, 0xc3, 0x60, 0xb5, 0xa1, 0x68, 0xbd, 0xa1, 0xe8, 0x7b, 0x43, 0xd1, + 0xfb, 0x96, 0x5a, 0xeb, 0x2d, 0xb5, 0x3e, 0xb7, 0xd4, 0x7a, 0xb9, 0x9f, 0xc6, 0x66, 0x36, 0x0f, + 0x99, 0x90, 0xa9, 0xff, 0x08, 0x02, 0x32, 0xa3, 0x78, 0x32, 0xe2, 0x2a, 0x7a, 0xe2, 0x29, 0x1c, + 0x3c, 0xcb, 0xdb, 0x01, 0x9b, 0x65, 0x0e, 0x3a, 0x6c, 0x94, 0x77, 0x7a, 0xfb, 0x13, 0x00, 0x00, + 0xff, 0xff, 0x07, 0xeb, 0x06, 0xee, 0xc6, 0x01, 0x00, 0x00, +} + +func (m *SellOffer) 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 *SellOffer) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *SellOffer) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Status != 0 { + i = encodeVarintSellOffer(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x28 + } + { + size, err := m.Price.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintSellOffer(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if m.Card != 0 { + i = encodeVarintSellOffer(dAtA, i, uint64(m.Card)) + i-- + dAtA[i] = 0x18 + } + if len(m.Buyer) > 0 { + i -= len(m.Buyer) + copy(dAtA[i:], m.Buyer) + i = encodeVarintSellOffer(dAtA, i, uint64(len(m.Buyer))) + i-- + dAtA[i] = 0x12 + } + if len(m.Seller) > 0 { + i -= len(m.Seller) + copy(dAtA[i:], m.Seller) + i = encodeVarintSellOffer(dAtA, i, uint64(len(m.Seller))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintSellOffer(dAtA []byte, offset int, v uint64) int { + offset -= sovSellOffer(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *SellOffer) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Seller) + if l > 0 { + n += 1 + l + sovSellOffer(uint64(l)) + } + l = len(m.Buyer) + if l > 0 { + n += 1 + l + sovSellOffer(uint64(l)) + } + if m.Card != 0 { + n += 1 + sovSellOffer(uint64(m.Card)) + } + l = m.Price.Size() + n += 1 + l + sovSellOffer(uint64(l)) + if m.Status != 0 { + n += 1 + sovSellOffer(uint64(m.Status)) + } + return n +} + +func sovSellOffer(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozSellOffer(x uint64) (n int) { + return sovSellOffer(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *SellOffer) 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 ErrIntOverflowSellOffer + } + 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: SellOffer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SellOffer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Seller", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSellOffer + } + 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 ErrInvalidLengthSellOffer + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSellOffer + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Seller = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Buyer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSellOffer + } + 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 ErrInvalidLengthSellOffer + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSellOffer + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Buyer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) + } + m.Card = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSellOffer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Card |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSellOffer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSellOffer + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSellOffer + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSellOffer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= SellOfferStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipSellOffer(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthSellOffer + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipSellOffer(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, ErrIntOverflowSellOffer + } + 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, ErrIntOverflowSellOffer + } + 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, ErrIntOverflowSellOffer + } + 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, ErrInvalidLengthSellOffer + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupSellOffer + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthSellOffer + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthSellOffer = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowSellOffer = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupSellOffer = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/server.pb.go b/x/cardchain/types/server.pb.go new file mode 100644 index 00000000..ea0ae809 --- /dev/null +++ b/x/cardchain/types/server.pb.go @@ -0,0 +1,386 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/server.proto + +package types + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/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 Server struct { + Reporter string `protobuf:"bytes,1,opt,name=reporter,proto3" json:"reporter,omitempty"` + InvalidReports uint64 `protobuf:"varint,2,opt,name=invalidReports,proto3" json:"invalidReports,omitempty"` + ValidReports uint64 `protobuf:"varint,3,opt,name=validReports,proto3" json:"validReports,omitempty"` +} + +func (m *Server) Reset() { *m = Server{} } +func (m *Server) String() string { return proto.CompactTextString(m) } +func (*Server) ProtoMessage() {} +func (*Server) Descriptor() ([]byte, []int) { + return fileDescriptor_0c97a602669201df, []int{0} +} +func (m *Server) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Server) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Server.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 *Server) XXX_Merge(src proto.Message) { + xxx_messageInfo_Server.Merge(m, src) +} +func (m *Server) XXX_Size() int { + return m.Size() +} +func (m *Server) XXX_DiscardUnknown() { + xxx_messageInfo_Server.DiscardUnknown(m) +} + +var xxx_messageInfo_Server proto.InternalMessageInfo + +func (m *Server) GetReporter() string { + if m != nil { + return m.Reporter + } + return "" +} + +func (m *Server) GetInvalidReports() uint64 { + if m != nil { + return m.InvalidReports + } + return 0 +} + +func (m *Server) GetValidReports() uint64 { + if m != nil { + return m.ValidReports + } + return 0 +} + +func init() { + proto.RegisterType((*Server)(nil), "cardchain.cardchain.Server") +} + +func init() { proto.RegisterFile("cardchain/cardchain/server.proto", fileDescriptor_0c97a602669201df) } + +var fileDescriptor_0c97a602669201df = []byte{ + // 192 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, 0x47, 0xb0, 0x8a, 0x53, 0x8b, 0xca, 0x52, 0x8b, 0xf4, 0x0a, + 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xe2, 0x7a, 0x70, 0x96, 0x52, 0x01, 0x17, 0x5b, 0x30, + 0x58, 0x91, 0x90, 0x14, 0x17, 0x47, 0x51, 0x6a, 0x41, 0x7e, 0x51, 0x49, 0x6a, 0x91, 0x04, 0xa3, + 0x02, 0xa3, 0x06, 0x67, 0x10, 0x9c, 0x2f, 0xa4, 0xc6, 0xc5, 0x97, 0x99, 0x57, 0x96, 0x98, 0x93, + 0x99, 0x12, 0x04, 0x16, 0x2a, 0x96, 0x60, 0x52, 0x60, 0xd4, 0x60, 0x09, 0x42, 0x13, 0x15, 0x52, + 0xe2, 0xe2, 0x41, 0x51, 0xc5, 0x0c, 0x56, 0x85, 0x22, 0xe6, 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, 0x2e, 0xa9, 0xc9, 0xa9, 0x79, 0x25, 0x45, 0x89, 0x39, 0xce, 0x89, 0x45, 0x29, 0xee, + 0x89, 0xb9, 0xa9, 0x48, 0xbe, 0xaa, 0x40, 0x62, 0x97, 0x54, 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, + 0x7d, 0x68, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x59, 0xff, 0xe4, 0x9f, 0x05, 0x01, 0x00, 0x00, +} + +func (m *Server) 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 *Server) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Server) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ValidReports != 0 { + i = encodeVarintServer(dAtA, i, uint64(m.ValidReports)) + i-- + dAtA[i] = 0x18 + } + if m.InvalidReports != 0 { + i = encodeVarintServer(dAtA, i, uint64(m.InvalidReports)) + i-- + dAtA[i] = 0x10 + } + if len(m.Reporter) > 0 { + i -= len(m.Reporter) + copy(dAtA[i:], m.Reporter) + i = encodeVarintServer(dAtA, i, uint64(len(m.Reporter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintServer(dAtA []byte, offset int, v uint64) int { + offset -= sovServer(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Server) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Reporter) + if l > 0 { + n += 1 + l + sovServer(uint64(l)) + } + if m.InvalidReports != 0 { + n += 1 + sovServer(uint64(m.InvalidReports)) + } + if m.ValidReports != 0 { + n += 1 + sovServer(uint64(m.ValidReports)) + } + return n +} + +func sovServer(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozServer(x uint64) (n int) { + return sovServer(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Server) 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 ErrIntOverflowServer + } + 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: Server: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Server: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reporter", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowServer + } + 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 ErrInvalidLengthServer + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthServer + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reporter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InvalidReports", wireType) + } + m.InvalidReports = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowServer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InvalidReports |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidReports", wireType) + } + m.ValidReports = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowServer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ValidReports |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipServer(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthServer + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipServer(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, ErrIntOverflowServer + } + 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, ErrIntOverflowServer + } + 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, ErrIntOverflowServer + } + 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, ErrInvalidLengthServer + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupServer + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthServer + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthServer = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowServer = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupServer = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go new file mode 100644 index 00000000..c3d8340f --- /dev/null +++ b/x/cardchain/types/set.pb.go @@ -0,0 +1,1642 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/set.proto + +package types + +import ( + fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" + proto "github.com/cosmos/gogoproto/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 CStatus int32 + +const ( + CStatus_design CStatus = 0 + CStatus_finalized CStatus = 1 + CStatus_active CStatus = 2 + CStatus_archived CStatus = 3 +) + +var CStatus_name = map[int32]string{ + 0: "design", + 1: "finalized", + 2: "active", + 3: "archived", +} + +var CStatus_value = map[string]int32{ + "design": 0, + "finalized": 1, + "active": 2, + "archived": 3, +} + +func (x CStatus) String() string { + return proto.EnumName(CStatus_name, int32(x)) +} + +func (CStatus) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_4433f04964645edd, []int{0} +} + +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"` + StoryWriter string `protobuf:"bytes,4,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` + Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` + Story string `protobuf:"bytes,6,opt,name=story,proto3" json:"story,omitempty"` + ArtworkId uint64 `protobuf:"varint,7,opt,name=artworkId,proto3" json:"artworkId,omitempty"` + Status CStatus `protobuf:"varint,8,opt,name=status,proto3,enum=cardchain.cardchain.CStatus" json:"status,omitempty"` + TimeStamp int64 `protobuf:"varint,9,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` + ContributorsDistribution []*AddrWithQuantity `protobuf:"bytes,10,rep,name=contributorsDistribution,proto3" json:"contributorsDistribution,omitempty"` + Rarities []*InnerRarities `protobuf:"bytes,11,rep,name=Rarities,proto3" json:"Rarities,omitempty"` +} + +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 *Set) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Set) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Set.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 *Set) XXX_Merge(src proto.Message) { + xxx_messageInfo_Set.Merge(m, src) +} +func (m *Set) XXX_Size() int { + return m.Size() +} +func (m *Set) XXX_DiscardUnknown() { + xxx_messageInfo_Set.DiscardUnknown(m) +} + +var xxx_messageInfo_Set proto.InternalMessageInfo + +func (m *Set) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Set) GetCards() []uint64 { + if m != nil { + return m.Cards + } + return nil +} + +func (m *Set) GetArtist() string { + if m != nil { + return m.Artist + } + return "" +} + +func (m *Set) GetStoryWriter() string { + if m != nil { + return m.StoryWriter + } + return "" +} + +func (m *Set) GetContributors() []string { + if m != nil { + return m.Contributors + } + return nil +} + +func (m *Set) GetStory() string { + if m != nil { + return m.Story + } + return "" +} + +func (m *Set) GetArtworkId() uint64 { + if m != nil { + return m.ArtworkId + } + return 0 +} + +func (m *Set) GetStatus() CStatus { + if m != nil { + return m.Status + } + return CStatus_design +} + +func (m *Set) GetTimeStamp() int64 { + if m != nil { + return m.TimeStamp + } + return 0 +} + +func (m *Set) GetContributorsDistribution() []*AddrWithQuantity { + if m != nil { + return m.ContributorsDistribution + } + return nil +} + +func (m *Set) GetRarities() []*InnerRarities { + if m != nil { + return m.Rarities + } + return nil +} + +type InnerRarities struct { + R []uint64 `protobuf:"varint,1,rep,packed,name=R,proto3" json:"R,omitempty"` +} + +func (m *InnerRarities) Reset() { *m = InnerRarities{} } +func (m *InnerRarities) String() string { return proto.CompactTextString(m) } +func (*InnerRarities) ProtoMessage() {} +func (*InnerRarities) Descriptor() ([]byte, []int) { + return fileDescriptor_4433f04964645edd, []int{1} +} +func (m *InnerRarities) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *InnerRarities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_InnerRarities.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 *InnerRarities) XXX_Merge(src proto.Message) { + xxx_messageInfo_InnerRarities.Merge(m, src) +} +func (m *InnerRarities) XXX_Size() int { + return m.Size() +} +func (m *InnerRarities) XXX_DiscardUnknown() { + xxx_messageInfo_InnerRarities.DiscardUnknown(m) +} + +var xxx_messageInfo_InnerRarities proto.InternalMessageInfo + +func (m *InnerRarities) GetR() []uint64 { + if m != nil { + return m.R + } + return nil +} + +type OutpSet struct { + Set *Set `protobuf:"bytes,1,opt,name=set,proto3" json:"set,omitempty"` + Artwork []byte `protobuf:"bytes,2,opt,name=artwork,proto3" json:"artwork,omitempty"` +} + +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{2} +} +func (m *OutpSet) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OutpSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OutpSet.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 *OutpSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_OutpSet.Merge(m, src) +} +func (m *OutpSet) XXX_Size() int { + return m.Size() +} +func (m *OutpSet) XXX_DiscardUnknown() { + xxx_messageInfo_OutpSet.DiscardUnknown(m) +} + +var xxx_messageInfo_OutpSet proto.InternalMessageInfo + +func (m *OutpSet) GetSet() *Set { + if m != nil { + return m.Set + } + return nil +} + +func (m *OutpSet) GetArtwork() []byte { + if m != nil { + return m.Artwork + } + return nil +} + +type AddrWithQuantity struct { + Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` + Q uint32 `protobuf:"varint,2,opt,name=q,proto3" json:"q,omitempty"` + Payment *types.Coin `protobuf:"bytes,3,opt,name=payment,proto3" json:"payment,omitempty"` +} + +func (m *AddrWithQuantity) Reset() { *m = AddrWithQuantity{} } +func (m *AddrWithQuantity) String() string { return proto.CompactTextString(m) } +func (*AddrWithQuantity) ProtoMessage() {} +func (*AddrWithQuantity) Descriptor() ([]byte, []int) { + return fileDescriptor_4433f04964645edd, []int{3} +} +func (m *AddrWithQuantity) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AddrWithQuantity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AddrWithQuantity.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 *AddrWithQuantity) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddrWithQuantity.Merge(m, src) +} +func (m *AddrWithQuantity) XXX_Size() int { + return m.Size() +} +func (m *AddrWithQuantity) XXX_DiscardUnknown() { + xxx_messageInfo_AddrWithQuantity.DiscardUnknown(m) +} + +var xxx_messageInfo_AddrWithQuantity proto.InternalMessageInfo + +func (m *AddrWithQuantity) GetAddr() string { + if m != nil { + return m.Addr + } + return "" +} + +func (m *AddrWithQuantity) GetQ() uint32 { + if m != nil { + return m.Q + } + return 0 +} + +func (m *AddrWithQuantity) GetPayment() *types.Coin { + if m != nil { + return m.Payment + } + return nil +} + +func init() { + proto.RegisterEnum("cardchain.cardchain.CStatus", CStatus_name, CStatus_value) + proto.RegisterType((*Set)(nil), "cardchain.cardchain.Set") + proto.RegisterType((*InnerRarities)(nil), "cardchain.cardchain.InnerRarities") + proto.RegisterType((*OutpSet)(nil), "cardchain.cardchain.OutpSet") + proto.RegisterType((*AddrWithQuantity)(nil), "cardchain.cardchain.AddrWithQuantity") +} + +func init() { proto.RegisterFile("cardchain/cardchain/set.proto", fileDescriptor_4433f04964645edd) } + +var fileDescriptor_4433f04964645edd = []byte{ + // 533 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0xcd, 0x6e, 0x13, 0x31, + 0x10, 0x8e, 0xb3, 0x69, 0x7e, 0x26, 0x09, 0x8a, 0x0c, 0x42, 0x06, 0xb5, 0xab, 0xd5, 0x4a, 0x48, + 0xab, 0x1e, 0x36, 0x6a, 0xca, 0x81, 0x53, 0x25, 0x48, 0x25, 0xd4, 0x53, 0x85, 0x73, 0xa8, 0xc4, + 0xcd, 0xd9, 0x35, 0x8d, 0x45, 0xd7, 0x4e, 0xed, 0x49, 0x20, 0x3c, 0x05, 0x8f, 0xc3, 0x23, 0x70, + 0xec, 0x91, 0x23, 0x4a, 0x5e, 0x04, 0xed, 0x6e, 0xfe, 0x8a, 0xd2, 0xdb, 0x37, 0x33, 0xdf, 0x7c, + 0x63, 0x7b, 0x3e, 0xc3, 0x49, 0x22, 0x6c, 0x9a, 0x4c, 0x84, 0xd2, 0xfd, 0x1d, 0x72, 0x12, 0xe3, + 0xa9, 0x35, 0x68, 0xe8, 0xf3, 0x6d, 0x32, 0xde, 0xa2, 0xd7, 0x7e, 0x62, 0x5c, 0x66, 0x5c, 0x7f, + 0x2c, 0x9c, 0xec, 0xcf, 0xcf, 0xc6, 0x12, 0xc5, 0x59, 0x3f, 0x31, 0x4a, 0x97, 0x4d, 0xe1, 0x2f, + 0x0f, 0xbc, 0x91, 0x44, 0x4a, 0xa1, 0xa6, 0x45, 0x26, 0x19, 0x09, 0x48, 0xd4, 0xe2, 0x05, 0xa6, + 0x2f, 0xe0, 0x28, 0x17, 0x72, 0xac, 0x1a, 0x78, 0x51, 0x8d, 0x97, 0x01, 0x7d, 0x09, 0x75, 0x61, + 0x51, 0x39, 0x64, 0x5e, 0xc1, 0x5d, 0x47, 0x34, 0x80, 0xb6, 0x43, 0x63, 0x17, 0x37, 0x56, 0xa1, + 0xb4, 0xac, 0x56, 0x14, 0xf7, 0x53, 0x34, 0x84, 0x4e, 0x62, 0x34, 0x5a, 0x35, 0x9e, 0xa1, 0xb1, + 0x8e, 0x1d, 0x05, 0x5e, 0xd4, 0xe2, 0x8f, 0x72, 0xf9, 0xcc, 0xa2, 0x85, 0xd5, 0x8b, 0xfe, 0x32, + 0xa0, 0xc7, 0xd0, 0x12, 0x16, 0xbf, 0x19, 0xfb, 0xf5, 0x2a, 0x65, 0x8d, 0x80, 0x44, 0x35, 0xbe, + 0x4b, 0xd0, 0xb7, 0x50, 0x77, 0x28, 0x70, 0xe6, 0x58, 0x33, 0x20, 0xd1, 0xb3, 0xc1, 0x71, 0x7c, + 0xe0, 0x25, 0xe2, 0xe1, 0xa8, 0xe0, 0xf0, 0x35, 0x37, 0xd7, 0x44, 0x95, 0xc9, 0x11, 0x8a, 0x6c, + 0xca, 0x5a, 0x01, 0x89, 0x3c, 0xbe, 0x4b, 0x50, 0x01, 0x6c, 0xff, 0x5c, 0x97, 0xca, 0x95, 0x58, + 0x19, 0xcd, 0x20, 0xf0, 0xa2, 0xf6, 0xe0, 0xcd, 0xc1, 0x29, 0xef, 0xd3, 0xd4, 0xde, 0x28, 0x9c, + 0x7c, 0x9a, 0x09, 0x8d, 0x0a, 0x17, 0xfc, 0x49, 0x19, 0x7a, 0x01, 0x4d, 0x2e, 0xac, 0x42, 0x25, + 0x1d, 0x6b, 0x17, 0x92, 0xe1, 0x41, 0xc9, 0x2b, 0xad, 0xa5, 0xdd, 0x30, 0xf9, 0xb6, 0x27, 0x3c, + 0x81, 0xee, 0xa3, 0x12, 0xed, 0x00, 0xe1, 0x8c, 0x14, 0xbb, 0x22, 0x3c, 0xbc, 0x86, 0xc6, 0xf5, + 0x0c, 0xa7, 0xf9, 0x72, 0x4f, 0xc1, 0x73, 0x12, 0x8b, 0xdd, 0xb6, 0x07, 0xec, 0xe0, 0x90, 0x91, + 0x44, 0x9e, 0x93, 0x28, 0x83, 0xc6, 0xfa, 0x65, 0x59, 0x35, 0x20, 0x51, 0x87, 0x6f, 0xc2, 0x50, + 0x41, 0xef, 0xff, 0xdb, 0xe5, 0xb6, 0x11, 0x69, 0x6a, 0x37, 0xb6, 0xc9, 0x71, 0x7e, 0x8c, 0xfb, + 0xa2, 0xb7, 0xcb, 0xc9, 0x3d, 0x3d, 0x87, 0xc6, 0x54, 0x2c, 0x32, 0xa9, 0x4b, 0xbf, 0xb4, 0x07, + 0xaf, 0xe2, 0xd2, 0x92, 0x71, 0x6e, 0xc9, 0x78, 0x6d, 0xc9, 0x78, 0x68, 0x94, 0xe6, 0x1b, 0xe6, + 0xe9, 0x05, 0x34, 0xd6, 0xeb, 0xa2, 0x00, 0xf5, 0x54, 0x3a, 0x75, 0xab, 0x7b, 0x15, 0xda, 0x85, + 0xd6, 0x17, 0xa5, 0xc5, 0x9d, 0xfa, 0x21, 0xd3, 0x1e, 0xc9, 0x4b, 0x22, 0x41, 0x35, 0x97, 0xbd, + 0x2a, 0xed, 0x40, 0x53, 0xd8, 0x64, 0xa2, 0xe6, 0x32, 0xed, 0x79, 0x1f, 0xf8, 0xef, 0xa5, 0x4f, + 0x1e, 0x96, 0x3e, 0xf9, 0xbb, 0xf4, 0xc9, 0xcf, 0x95, 0x5f, 0x79, 0x58, 0xf9, 0x95, 0x3f, 0x2b, + 0xbf, 0xf2, 0xf9, 0xdd, 0xad, 0xc2, 0xc9, 0x6c, 0x1c, 0x27, 0x26, 0xeb, 0x5f, 0xca, 0x44, 0x6a, + 0xb4, 0xe2, 0x6e, 0x28, 0x6c, 0xfa, 0x51, 0x64, 0x72, 0xef, 0x5b, 0x7d, 0xdf, 0xc3, 0xb8, 0x98, + 0x4a, 0x37, 0xae, 0x17, 0x1f, 0xe6, 0xfc, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x49, 0xb7, 0x11, + 0x92, 0x86, 0x03, 0x00, 0x00, +} + +func (m *Set) 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 *Set) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Set) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Rarities) > 0 { + for iNdEx := len(m.Rarities) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Rarities[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintSet(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a + } + } + if len(m.ContributorsDistribution) > 0 { + for iNdEx := len(m.ContributorsDistribution) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ContributorsDistribution[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintSet(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x52 + } + } + if m.TimeStamp != 0 { + i = encodeVarintSet(dAtA, i, uint64(m.TimeStamp)) + i-- + dAtA[i] = 0x48 + } + if m.Status != 0 { + i = encodeVarintSet(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x40 + } + if m.ArtworkId != 0 { + 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 = encodeVarintSet(dAtA, i, uint64(len(m.Story))) + i-- + dAtA[i] = 0x32 + } + if len(m.Contributors) > 0 { + for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Contributors[iNdEx]) + copy(dAtA[i:], m.Contributors[iNdEx]) + i = encodeVarintSet(dAtA, i, uint64(len(m.Contributors[iNdEx]))) + i-- + dAtA[i] = 0x2a + } + } + if len(m.StoryWriter) > 0 { + i -= len(m.StoryWriter) + copy(dAtA[i:], 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 = encodeVarintSet(dAtA, i, uint64(len(m.Artist))) + i-- + dAtA[i] = 0x1a + } + if len(m.Cards) > 0 { + dAtA2 := make([]byte, len(m.Cards)*10) + var j1 int + for _, num := range m.Cards { + 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 = encodeVarintSet(dAtA, i, uint64(j1)) + i-- + dAtA[i] = 0x12 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarintSet(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *InnerRarities) 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 *InnerRarities) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *InnerRarities) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.R) > 0 { + dAtA4 := make([]byte, len(m.R)*10) + var j3 int + for _, num := range m.R { + 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 = encodeVarintSet(dAtA, i, uint64(j3)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *OutpSet) 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 *OutpSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OutpSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Artwork) > 0 { + i -= len(m.Artwork) + copy(dAtA[i:], m.Artwork) + i = encodeVarintSet(dAtA, i, uint64(len(m.Artwork))) + i-- + dAtA[i] = 0x12 + } + if m.Set != nil { + { + size, err := m.Set.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintSet(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *AddrWithQuantity) 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 *AddrWithQuantity) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AddrWithQuantity) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Payment != nil { + { + size, err := m.Payment.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintSet(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if m.Q != 0 { + i = encodeVarintSet(dAtA, i, uint64(m.Q)) + i-- + dAtA[i] = 0x10 + } + if len(m.Addr) > 0 { + i -= len(m.Addr) + copy(dAtA[i:], m.Addr) + i = encodeVarintSet(dAtA, i, uint64(len(m.Addr))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintSet(dAtA []byte, offset int, v uint64) int { + offset -= sovSet(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Set) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sovSet(uint64(l)) + } + if len(m.Cards) > 0 { + l = 0 + for _, e := range m.Cards { + l += sovSet(uint64(e)) + } + n += 1 + sovSet(uint64(l)) + l + } + l = len(m.Artist) + if l > 0 { + n += 1 + l + sovSet(uint64(l)) + } + l = len(m.StoryWriter) + if l > 0 { + n += 1 + l + sovSet(uint64(l)) + } + if len(m.Contributors) > 0 { + for _, s := range m.Contributors { + l = len(s) + n += 1 + l + sovSet(uint64(l)) + } + } + l = len(m.Story) + if l > 0 { + n += 1 + l + sovSet(uint64(l)) + } + if m.ArtworkId != 0 { + n += 1 + sovSet(uint64(m.ArtworkId)) + } + if m.Status != 0 { + n += 1 + sovSet(uint64(m.Status)) + } + if m.TimeStamp != 0 { + n += 1 + sovSet(uint64(m.TimeStamp)) + } + if len(m.ContributorsDistribution) > 0 { + for _, e := range m.ContributorsDistribution { + l = e.Size() + n += 1 + l + sovSet(uint64(l)) + } + } + if len(m.Rarities) > 0 { + for _, e := range m.Rarities { + l = e.Size() + n += 1 + l + sovSet(uint64(l)) + } + } + return n +} + +func (m *InnerRarities) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.R) > 0 { + l = 0 + for _, e := range m.R { + l += sovSet(uint64(e)) + } + n += 1 + sovSet(uint64(l)) + l + } + return n +} + +func (m *OutpSet) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Set != nil { + l = m.Set.Size() + n += 1 + l + sovSet(uint64(l)) + } + l = len(m.Artwork) + if l > 0 { + n += 1 + l + sovSet(uint64(l)) + } + return n +} + +func (m *AddrWithQuantity) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Addr) + if l > 0 { + n += 1 + l + sovSet(uint64(l)) + } + if m.Q != 0 { + n += 1 + sovSet(uint64(m.Q)) + } + if m.Payment != nil { + l = m.Payment.Size() + n += 1 + l + sovSet(uint64(l)) + } + return n +} + +func sovSet(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozSet(x uint64) (n int) { + return sovSet(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Set) 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 ErrIntOverflowSet + } + 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: Set: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Set: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 ErrIntOverflowSet + } + 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 ErrInvalidLengthSet + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSet + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Cards = append(m.Cards, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthSet + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthSet + } + 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.Cards) == 0 { + m.Cards = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Cards = append(m.Cards, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Cards", wireType) + } + 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 ErrIntOverflowSet + } + 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 ErrInvalidLengthSet + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSet + } + 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 ErrIntOverflowSet + } + 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 ErrInvalidLengthSet + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSet + } + 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 ErrIntOverflowSet + } + 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 ErrInvalidLengthSet + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSet + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Contributors = append(m.Contributors, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 6: + 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 ErrIntOverflowSet + } + 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 ErrInvalidLengthSet + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSet + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Story = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ArtworkId", wireType) + } + m.ArtworkId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ArtworkId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= CStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + 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 ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TimeStamp |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContributorsDistribution", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSet + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSet + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContributorsDistribution = append(m.ContributorsDistribution, &AddrWithQuantity{}) + if err := m.ContributorsDistribution[len(m.ContributorsDistribution)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Rarities", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSet + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSet + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Rarities = append(m.Rarities, &InnerRarities{}) + if err := m.Rarities[len(m.Rarities)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSet(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthSet + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *InnerRarities) 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 ErrIntOverflowSet + } + 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: InnerRarities: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: InnerRarities: 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 ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.R = append(m.R, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthSet + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthSet + } + 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.R) == 0 { + m.R = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.R = append(m.R, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field R", wireType) + } + default: + iNdEx = preIndex + skippy, err := skipSet(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthSet + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OutpSet) 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 ErrIntOverflowSet + } + 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: OutpSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OutpSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Set", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSet + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSet + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Set == nil { + m.Set = &Set{} + } + if err := m.Set.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Artwork", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthSet + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthSet + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Artwork = append(m.Artwork[:0], dAtA[iNdEx:postIndex]...) + if m.Artwork == nil { + m.Artwork = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSet(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthSet + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AddrWithQuantity) 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 ErrIntOverflowSet + } + 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: AddrWithQuantity: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AddrWithQuantity: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + 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 ErrInvalidLengthSet + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSet + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Addr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Q", wireType) + } + m.Q = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Q |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Payment", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSet + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSet + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSet + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Payment == nil { + m.Payment = &types.Coin{} + } + if err := m.Payment.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSet(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthSet + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipSet(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, ErrIntOverflowSet + } + 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, ErrIntOverflowSet + } + 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, ErrIntOverflowSet + } + 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, ErrInvalidLengthSet + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupSet + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthSet + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + 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/tx.pb.go b/x/cardchain/types/tx.pb.go index 61d27bef..a21c325a 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -4566,6 +4566,302 @@ func (m *MsgEncounterCloseResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgEncounterCloseResponse proto.InternalMessageInfo +type MsgCreateProductDetails 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"` + Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` +} + +func (m *MsgCreateProductDetails) Reset() { *m = MsgCreateProductDetails{} } +func (m *MsgCreateProductDetails) String() string { return proto.CompactTextString(m) } +func (*MsgCreateProductDetails) ProtoMessage() {} +func (*MsgCreateProductDetails) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{94} +} +func (m *MsgCreateProductDetails) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCreateProductDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCreateProductDetails.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 *MsgCreateProductDetails) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateProductDetails.Merge(m, src) +} +func (m *MsgCreateProductDetails) XXX_Size() int { + return m.Size() +} +func (m *MsgCreateProductDetails) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateProductDetails.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCreateProductDetails proto.InternalMessageInfo + +func (m *MsgCreateProductDetails) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgCreateProductDetails) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *MsgCreateProductDetails) GetDesc() string { + if m != nil { + return m.Desc + } + return "" +} + +type MsgCreateProductDetailsResponse struct { + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (m *MsgCreateProductDetailsResponse) Reset() { *m = MsgCreateProductDetailsResponse{} } +func (m *MsgCreateProductDetailsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCreateProductDetailsResponse) ProtoMessage() {} +func (*MsgCreateProductDetailsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{95} +} +func (m *MsgCreateProductDetailsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCreateProductDetailsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCreateProductDetailsResponse.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 *MsgCreateProductDetailsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateProductDetailsResponse.Merge(m, src) +} +func (m *MsgCreateProductDetailsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCreateProductDetailsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateProductDetailsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCreateProductDetailsResponse proto.InternalMessageInfo + +func (m *MsgCreateProductDetailsResponse) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +type MsgUpdateProductDetails struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Desc string `protobuf:"bytes,4,opt,name=desc,proto3" json:"desc,omitempty"` +} + +func (m *MsgUpdateProductDetails) Reset() { *m = MsgUpdateProductDetails{} } +func (m *MsgUpdateProductDetails) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProductDetails) ProtoMessage() {} +func (*MsgUpdateProductDetails) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{96} +} +func (m *MsgUpdateProductDetails) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateProductDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateProductDetails.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 *MsgUpdateProductDetails) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProductDetails.Merge(m, src) +} +func (m *MsgUpdateProductDetails) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateProductDetails) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProductDetails.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateProductDetails proto.InternalMessageInfo + +func (m *MsgUpdateProductDetails) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgUpdateProductDetails) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +func (m *MsgUpdateProductDetails) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *MsgUpdateProductDetails) GetDesc() string { + if m != nil { + return m.Desc + } + return "" +} + +type MsgUpdateProductDetailsResponse struct { +} + +func (m *MsgUpdateProductDetailsResponse) Reset() { *m = MsgUpdateProductDetailsResponse{} } +func (m *MsgUpdateProductDetailsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProductDetailsResponse) ProtoMessage() {} +func (*MsgUpdateProductDetailsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{97} +} +func (m *MsgUpdateProductDetailsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateProductDetailsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateProductDetailsResponse.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 *MsgUpdateProductDetailsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProductDetailsResponse.Merge(m, src) +} +func (m *MsgUpdateProductDetailsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateProductDetailsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProductDetailsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateProductDetailsResponse proto.InternalMessageInfo + +type MsgDeleteProductDetails struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` +} + +func (m *MsgDeleteProductDetails) Reset() { *m = MsgDeleteProductDetails{} } +func (m *MsgDeleteProductDetails) String() string { return proto.CompactTextString(m) } +func (*MsgDeleteProductDetails) ProtoMessage() {} +func (*MsgDeleteProductDetails) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{98} +} +func (m *MsgDeleteProductDetails) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgDeleteProductDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgDeleteProductDetails.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 *MsgDeleteProductDetails) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDeleteProductDetails.Merge(m, src) +} +func (m *MsgDeleteProductDetails) XXX_Size() int { + return m.Size() +} +func (m *MsgDeleteProductDetails) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDeleteProductDetails.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDeleteProductDetails proto.InternalMessageInfo + +func (m *MsgDeleteProductDetails) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgDeleteProductDetails) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +type MsgDeleteProductDetailsResponse struct { +} + +func (m *MsgDeleteProductDetailsResponse) Reset() { *m = MsgDeleteProductDetailsResponse{} } +func (m *MsgDeleteProductDetailsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgDeleteProductDetailsResponse) ProtoMessage() {} +func (*MsgDeleteProductDetailsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{99} +} +func (m *MsgDeleteProductDetailsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgDeleteProductDetailsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgDeleteProductDetailsResponse.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 *MsgDeleteProductDetailsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDeleteProductDetailsResponse.Merge(m, src) +} +func (m *MsgDeleteProductDetailsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgDeleteProductDetailsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDeleteProductDetailsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDeleteProductDetailsResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") @@ -4662,184 +4958,199 @@ func init() { proto.RegisterType((*MsgEncounterDoResponse)(nil), "cardchain.cardchain.MsgEncounterDoResponse") proto.RegisterType((*MsgEncounterClose)(nil), "cardchain.cardchain.MsgEncounterClose") proto.RegisterType((*MsgEncounterCloseResponse)(nil), "cardchain.cardchain.MsgEncounterCloseResponse") + proto.RegisterType((*MsgCreateProductDetails)(nil), "cardchain.cardchain.MsgCreateProductDetails") + proto.RegisterType((*MsgCreateProductDetailsResponse)(nil), "cardchain.cardchain.MsgCreateProductDetailsResponse") + proto.RegisterType((*MsgUpdateProductDetails)(nil), "cardchain.cardchain.MsgUpdateProductDetails") + proto.RegisterType((*MsgUpdateProductDetailsResponse)(nil), "cardchain.cardchain.MsgUpdateProductDetailsResponse") + proto.RegisterType((*MsgDeleteProductDetails)(nil), "cardchain.cardchain.MsgDeleteProductDetails") + proto.RegisterType((*MsgDeleteProductDetailsResponse)(nil), "cardchain.cardchain.MsgDeleteProductDetailsResponse") } func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2743 bytes of a gzipped FileDescriptorProto + // 2881 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcd, 0x6f, 0x14, 0xc9, - 0x15, 0xa7, 0x3d, 0xb6, 0xb1, 0x0b, 0x63, 0x96, 0xc6, 0x0b, 0x43, 0xc3, 0x1a, 0x33, 0xd8, 0x60, - 0x58, 0xf0, 0x2c, 0xb0, 0x7c, 0x08, 0x65, 0x37, 0xf2, 0xd8, 0x24, 0x5a, 0x29, 0x5e, 0x48, 0x3b, - 0x59, 0xc2, 0xe6, 0x63, 0xd5, 0xd3, 0x53, 0x1e, 0x77, 0xdc, 0xd3, 0x35, 0xdb, 0xdd, 0x33, 0x5e, - 0x23, 0x45, 0x8a, 0x36, 0x97, 0x28, 0xb9, 0xe4, 0x9c, 0x5b, 0x6e, 0x7b, 0x8a, 0x88, 0x94, 0xbf, - 0x20, 0xb9, 0xec, 0x21, 0x87, 0xd5, 0x9e, 0x72, 0x8a, 0x22, 0x38, 0x20, 0xe5, 0xaf, 0x88, 0xea, - 0xa3, 0xab, 0xab, 0x6b, 0xaa, 0xaa, 0x7b, 0x46, 0xc9, 0x05, 0xa6, 0xaa, 0x7f, 0xf5, 0xbe, 0xea, - 0x55, 0xbd, 0x57, 0xef, 0x01, 0xb8, 0xe8, 0x7b, 0x71, 0xc7, 0xdf, 0xf7, 0x82, 0xa8, 0x99, 0xff, - 0x4a, 0xbf, 0xd8, 0xe8, 0xc7, 0x28, 0x45, 0xf6, 0x19, 0x3e, 0xb7, 0xc1, 0x7f, 0x39, 0xa7, 0xbd, - 0x5e, 0x10, 0xa1, 0x26, 0xf9, 0x93, 0xe2, 0x9c, 0x73, 0x3e, 0x4a, 0x7a, 0x28, 0x69, 0xf6, 0x92, - 0x6e, 0x73, 0x78, 0x1b, 0xff, 0xc5, 0x3e, 0x9c, 0xa7, 0x1f, 0x3e, 0x23, 0xa3, 0x26, 0x1d, 0xb0, - 0x4f, 0x4b, 0x5d, 0xd4, 0x45, 0x74, 0x1e, 0xff, 0x62, 0xb3, 0x2b, 0x2a, 0x79, 0xfa, 0x5e, 0xec, - 0xf5, 0xb2, 0x75, 0xcb, 0x8c, 0x57, 0xdb, 0x4b, 0x60, 0x73, 0x78, 0xbb, 0x0d, 0x53, 0xef, 0x76, - 0xd3, 0x47, 0x41, 0x64, 0xa2, 0x30, 0x44, 0x69, 0x10, 0x65, 0x42, 0x5d, 0x52, 0x21, 0x7a, 0x5e, - 0xea, 0xef, 0x33, 0xc0, 0x65, 0x15, 0xc0, 0x47, 0x83, 0xc8, 0x0f, 0x42, 0x2e, 0x85, 0x0a, 0xe2, - 0xc5, 0x1d, 0xfa, 0xbd, 0xf1, 0x77, 0x0b, 0x9c, 0xda, 0x49, 0xba, 0x3f, 0xee, 0x77, 0xbc, 0x14, - 0x3e, 0x25, 0xf2, 0xdb, 0xf7, 0xc1, 0xbc, 0x37, 0x48, 0xf7, 0x51, 0x1c, 0xa4, 0x47, 0x75, 0x6b, - 0xc5, 0x5a, 0x9f, 0x6f, 0xd5, 0xbf, 0xfd, 0xeb, 0xad, 0x25, 0x66, 0x96, 0xcd, 0x4e, 0x27, 0x86, - 0x49, 0xb2, 0x9b, 0xc6, 0x41, 0xd4, 0x75, 0x73, 0xa8, 0xfd, 0x21, 0x98, 0xa5, 0x16, 0xa8, 0x4f, - 0xad, 0x58, 0xeb, 0x27, 0xee, 0x5c, 0xd8, 0x50, 0x6c, 0xcb, 0x06, 0x65, 0xd2, 0x9a, 0xff, 0xfa, - 0x5f, 0x97, 0x8e, 0x7d, 0xf5, 0xe6, 0xe5, 0x0d, 0xcb, 0x65, 0xab, 0x1e, 0x3d, 0xfc, 0xf2, 0xcd, - 0xcb, 0x1b, 0x39, 0xbd, 0xdf, 0xbd, 0x79, 0x79, 0x63, 0x2d, 0x17, 0xfa, 0x0b, 0x41, 0x01, 0x49, - 0xe2, 0xc6, 0x79, 0x70, 0x4e, 0x9a, 0x72, 0x61, 0xd2, 0x47, 0x51, 0x02, 0x1b, 0x5d, 0x70, 0x12, - 0x7f, 0x4a, 0x60, 0xbc, 0x15, 0x43, 0x2f, 0x85, 0x76, 0x1d, 0x1c, 0xf7, 0xf1, 0x2f, 0x14, 0x53, - 0xdd, 0xdc, 0x6c, 0x88, 0xbf, 0x44, 0xf0, 0x10, 0x43, 0x89, 0x02, 0xf3, 0x6e, 0x36, 0xb4, 0x97, - 0xc0, 0x8c, 0x17, 0x06, 0x5e, 0x52, 0xaf, 0x91, 0x79, 0x3a, 0x78, 0xb4, 0x80, 0xe5, 0xcd, 0x56, - 0x37, 0xce, 0x81, 0xb7, 0x0b, 0x8c, 0xb8, 0x04, 0x3d, 0xf0, 0xd6, 0x4e, 0xd2, 0xdd, 0xf2, 0xe2, - 0xce, 0xae, 0xbf, 0x0f, 0x7b, 0xb0, 0x35, 0x38, 0x32, 0x08, 0x71, 0x1b, 0xd4, 0xda, 0x41, 0x87, - 0x59, 0xf0, 0xfc, 0x06, 0xb3, 0x39, 0x76, 0xa2, 0x0d, 0xe6, 0x44, 0x1b, 0x5b, 0x28, 0x88, 0x5a, - 0xd3, 0xd8, 0x7e, 0x2e, 0xc6, 0x4a, 0x72, 0xdc, 0x01, 0x75, 0x99, 0x5d, 0x26, 0x8a, 0x7d, 0x16, - 0xcc, 0x62, 0x23, 0x7e, 0xd4, 0x21, 0x5c, 0xa7, 0x5d, 0x36, 0x6a, 0xfc, 0xcd, 0x02, 0x76, 0xb6, - 0xc8, 0x1b, 0xc2, 0x2d, 0x14, 0xa5, 0x30, 0x4a, 0x0d, 0x52, 0xe6, 0x84, 0xa6, 0x44, 0x42, 0x64, - 0x05, 0x5d, 0x4c, 0x4c, 0xb5, 0xe0, 0x66, 0x43, 0x6c, 0xc2, 0x08, 0xa5, 0x30, 0xa9, 0x4f, 0x53, - 0x13, 0x92, 0x01, 0xa6, 0xe3, 0xc5, 0x69, 0x90, 0xa4, 0xf5, 0x19, 0x32, 0xcd, 0x46, 0xf6, 0x2a, - 0x38, 0xd9, 0xf6, 0x42, 0x2f, 0xf2, 0xe1, 0x66, 0xe4, 0xef, 0xa3, 0xb8, 0x3e, 0xbb, 0x62, 0xad, - 0xcf, 0xb9, 0xc5, 0x49, 0x49, 0xf1, 0x6d, 0xe0, 0x8c, 0xea, 0xc0, 0x55, 0xbf, 0x0a, 0x16, 0xbd, - 0x20, 0xee, 0xc4, 0xa8, 0xbf, 0x15, 0x7a, 0x41, 0x0f, 0x52, 0x13, 0xcc, 0xb9, 0xd2, 0x6c, 0xe3, - 0x97, 0xe0, 0x04, 0xa3, 0xf2, 0x09, 0x32, 0x7a, 0xcb, 0x5d, 0x30, 0x3d, 0x44, 0x29, 0x64, 0x3b, - 0x75, 0x49, 0xe9, 0xeb, 0xbb, 0x41, 0xd4, 0x0d, 0x21, 0x26, 0xe4, 0x12, 0xb0, 0x24, 0xf1, 0x07, - 0xe0, 0x8c, 0xc0, 0x6b, 0x6c, 0x51, 0x7b, 0xe4, 0xe8, 0xe2, 0xe5, 0x3f, 0x8a, 0xbd, 0x28, 0xd9, - 0x83, 0xf1, 0x04, 0x3b, 0xe6, 0x80, 0xb9, 0x18, 0xfa, 0x30, 0x18, 0xc2, 0x98, 0x79, 0x37, 0x1f, - 0x4b, 0xd2, 0xd2, 0x43, 0x26, 0xb2, 0xe3, 0x2e, 0xfe, 0x5b, 0x8b, 0x9c, 0x32, 0xfc, 0x6d, 0x1b, - 0x45, 0xe6, 0x53, 0xa6, 0x13, 0xe4, 0x01, 0x98, 0xf5, 0x7a, 0x68, 0xc0, 0x3c, 0xa7, 0x82, 0xef, - 0x33, 0xb8, 0xf2, 0x18, 0xe6, 0x92, 0x70, 0x19, 0x7f, 0x63, 0x81, 0xd3, 0xec, 0xcb, 0x66, 0x9c, - 0x1e, 0xa2, 0xf8, 0x60, 0xb3, 0xd3, 0x99, 0x40, 0xce, 0x25, 0x30, 0x13, 0xf4, 0xbc, 0x2e, 0x64, - 0x0e, 0x4e, 0x07, 0x98, 0xce, 0xde, 0x20, 0x0c, 0x37, 0xe3, 0x94, 0x38, 0xf8, 0x9c, 0x9b, 0x0d, - 0x25, 0xf1, 0x2e, 0x80, 0xf3, 0x23, 0x42, 0x08, 0x37, 0xc5, 0x99, 0xfc, 0x63, 0x90, 0xa4, 0x5b, - 0xfb, 0x5e, 0xd4, 0x9d, 0xc4, 0x96, 0xf9, 0xb1, 0xaa, 0x89, 0xc7, 0x4a, 0x92, 0xe5, 0x1d, 0x70, - 0x41, 0xc1, 0x8e, 0x4b, 0xf3, 0x1d, 0x7a, 0x27, 0xd0, 0x70, 0xe2, 0xc2, 0x6e, 0x90, 0xa4, 0x26, - 0x0f, 0x93, 0x88, 0x5f, 0xa4, 0xa7, 0xb1, 0xb8, 0x9a, 0xd3, 0xfe, 0x10, 0x2c, 0xe5, 0x5f, 0xb7, - 0x61, 0x3c, 0x2e, 0xf5, 0x65, 0x70, 0x51, 0xb5, 0x9e, 0xd3, 0xff, 0xd6, 0x02, 0x8b, 0x3b, 0x49, - 0x77, 0x07, 0x07, 0x4b, 0x17, 0xf6, 0x51, 0x9c, 0x9a, 0xef, 0x7d, 0x12, 0x55, 0xb9, 0x19, 0xb3, - 0xa1, 0xdd, 0x00, 0x0b, 0xfd, 0xd0, 0x3b, 0x82, 0x1d, 0x6c, 0xa4, 0x64, 0xb3, 0x5e, 0x5b, 0xa9, - 0xad, 0x4f, 0xbb, 0x85, 0x39, 0x09, 0xd3, 0xaa, 0x4f, 0x8f, 0x60, 0x5a, 0xf6, 0x7d, 0x70, 0x1c, - 0x0d, 0x52, 0x1f, 0xf5, 0x20, 0xb9, 0xe7, 0x16, 0xef, 0x5c, 0x54, 0x5e, 0x17, 0x4f, 0x28, 0xc6, - 0xcd, 0xc0, 0x92, 0xd2, 0x75, 0x70, 0xb6, 0xa8, 0x13, 0x57, 0xd7, 0xa5, 0x21, 0x86, 0x9a, 0xa3, - 0x34, 0xce, 0x69, 0xbc, 0x46, 0xe2, 0xe6, 0xd0, 0x38, 0x22, 0xd2, 0xe4, 0xfc, 0x7e, 0x4e, 0xae, - 0x02, 0x41, 0x12, 0x18, 0x6f, 0xf6, 0xfb, 0x28, 0x30, 0xc6, 0x0c, 0x72, 0xd3, 0x50, 0x30, 0x8b, - 0xaf, 0x7c, 0x2c, 0xb1, 0xbe, 0x0c, 0x2e, 0x69, 0xc8, 0x73, 0x09, 0xbe, 0xb2, 0xc0, 0xc2, 0x4e, - 0xd2, 0xdd, 0x85, 0x69, 0xa9, 0xba, 0x36, 0x98, 0x8e, 0xbc, 0x1e, 0x64, 0x3c, 0xc9, 0x6f, 0xdd, - 0x01, 0xb1, 0x57, 0xc0, 0x89, 0x24, 0x45, 0xf1, 0xd1, 0xb3, 0x38, 0xc0, 0x62, 0xd2, 0x58, 0x25, - 0x4e, 0xe1, 0xed, 0xc6, 0x21, 0x2d, 0x0e, 0xda, 0x83, 0x14, 0xc5, 0x49, 0x7d, 0x66, 0xa5, 0xb6, - 0x3e, 0xef, 0x16, 0xe6, 0x24, 0x6d, 0xce, 0x12, 0x5f, 0xe7, 0x92, 0x72, 0x15, 0x20, 0xb9, 0x33, - 0xf1, 0x3c, 0x3e, 0x81, 0xc6, 0xbb, 0x68, 0x09, 0xcc, 0x24, 0x30, 0xe5, 0x1b, 0x46, 0x07, 0xc2, - 0x3e, 0xd6, 0x0c, 0xfb, 0x48, 0x2f, 0xc4, 0x9c, 0x0d, 0xe7, 0xbf, 0x4f, 0x9c, 0x86, 0x7d, 0x70, - 0x61, 0x0f, 0x0d, 0xe1, 0xff, 0x49, 0x04, 0xea, 0x4a, 0x05, 0x4e, 0x82, 0x14, 0x99, 0x75, 0x72, - 0x0b, 0x4e, 0x62, 0x0c, 0x1b, 0x4c, 0x0f, 0x12, 0x1e, 0xc3, 0xc8, 0x6f, 0xe5, 0x9d, 0x31, 0xc2, - 0x89, 0x4b, 0x72, 0x40, 0x9c, 0xba, 0xf8, 0x7d, 0x42, 0xb3, 0x94, 0x0b, 0x43, 0x5d, 0x5c, 0xc5, - 0x8c, 0xcb, 0xf3, 0x31, 0xb9, 0xc2, 0x76, 0x61, 0xfa, 0xbd, 0x20, 0xf2, 0xc2, 0xe0, 0xc5, 0xd8, - 0x62, 0x28, 0xaf, 0x0f, 0x81, 0x1e, 0xe7, 0xb4, 0x97, 0x79, 0x42, 0xa5, 0xc0, 0xa8, 0x56, 0x59, - 0x19, 0x16, 0x75, 0x7e, 0xa0, 0x88, 0x7d, 0x9d, 0x4c, 0xdb, 0x5d, 0x7c, 0xd8, 0x26, 0x94, 0x80, - 0x1c, 0xd4, 0x2c, 0x49, 0x27, 0x03, 0x9d, 0x0d, 0x32, 0x2e, 0x9c, 0xff, 0x0f, 0x49, 0x76, 0xd0, - 0x42, 0x08, 0xc7, 0x91, 0xa7, 0x9e, 0x7f, 0x60, 0x4e, 0xd3, 0xab, 0x18, 0x7c, 0x8b, 0xc4, 0xfa, - 0x22, 0xc9, 0xb1, 0x93, 0xbc, 0xdf, 0xd3, 0xd4, 0x7c, 0x17, 0x86, 0xe1, 0x93, 0xbd, 0xbd, 0x0a, - 0xaf, 0x18, 0x5d, 0x4e, 0x70, 0x0f, 0xcc, 0xf4, 0xe3, 0xc0, 0x87, 0x55, 0xd3, 0x2b, 0x8a, 0x56, - 0x46, 0x75, 0x49, 0x18, 0x6e, 0xc3, 0x9f, 0x92, 0x84, 0x94, 0x7f, 0x35, 0x5b, 0x10, 0x5f, 0xb5, - 0x19, 0x92, 0x0b, 0x2b, 0x4e, 0x29, 0xd3, 0x4f, 0x91, 0x38, 0xe7, 0xfb, 0x8b, 0xa2, 0x89, 0x4a, - 0x0f, 0xed, 0xb8, 0xac, 0x25, 0xad, 0xa5, 0x73, 0xfa, 0x27, 0x8b, 0x3f, 0xf0, 0x5c, 0x0f, 0x3f, - 0x5c, 0x77, 0x61, 0x3a, 0x59, 0x5e, 0x49, 0x3d, 0xaa, 0x26, 0x3a, 0xf5, 0x03, 0x30, 0x1b, 0x13, - 0xa2, 0x24, 0x16, 0x2d, 0x6a, 0xde, 0x19, 0x39, 0x6f, 0x97, 0xc1, 0xd5, 0xc1, 0x5c, 0x14, 0x91, - 0xcb, 0xff, 0x47, 0x4b, 0x8c, 0xf4, 0xd9, 0xf4, 0x16, 0xea, 0xf5, 0x02, 0x93, 0x1e, 0x17, 0xc1, - 0x3c, 0x2b, 0x35, 0x70, 0x55, 0xf2, 0x09, 0xbc, 0x0e, 0x07, 0xf7, 0x28, 0x81, 0xec, 0x38, 0x66, - 0x43, 0x7b, 0x19, 0x80, 0x64, 0xd0, 0xed, 0xc2, 0x24, 0x0d, 0x50, 0xc4, 0x22, 0xac, 0x30, 0x23, - 0x09, 0xde, 0x00, 0x2b, 0x3a, 0xd9, 0xb8, 0x02, 0x7f, 0x51, 0x2a, 0xe0, 0xc2, 0x21, 0xf4, 0xc2, - 0x89, 0x15, 0x78, 0x50, 0x54, 0x60, 0xf1, 0xce, 0x3b, 0x4a, 0xcb, 0x73, 0x6e, 0x5c, 0xbf, 0xb3, - 0x60, 0x36, 0x81, 0x7e, 0x0c, 0x53, 0xa6, 0x1b, 0x1b, 0x55, 0xd1, 0x8b, 0x8a, 0xcc, 0xf5, 0x7a, - 0x4e, 0x1f, 0x2c, 0x1c, 0x93, 0x7a, 0xf1, 0xc4, 0x1b, 0xa2, 0x7e, 0x86, 0x14, 0x48, 0x73, 0xbe, - 0xff, 0xa0, 0x35, 0x21, 0x92, 0x7f, 0x6d, 0xa1, 0x68, 0x2f, 0x88, 0x7b, 0x13, 0x65, 0xcf, 0x42, - 0xd6, 0x5b, 0x1b, 0x23, 0xeb, 0xb5, 0xbf, 0x0b, 0x00, 0x7e, 0x2c, 0xd3, 0xe4, 0x99, 0xe4, 0xd3, - 0x15, 0xde, 0xd7, 0xc2, 0x12, 0xe5, 0xc5, 0x21, 0x6a, 0xc3, 0x35, 0xdd, 0x25, 0x16, 0x7e, 0x1a, - 0xa3, 0xbd, 0x20, 0x84, 0xa4, 0x72, 0x30, 0xc9, 0xd1, 0x55, 0xda, 0xb6, 0x48, 0x94, 0x73, 0xfc, - 0x09, 0x49, 0x77, 0xd8, 0xc7, 0x67, 0xb0, 0x9d, 0x04, 0x29, 0x34, 0x33, 0xad, 0x83, 0xe3, 0x87, - 0x14, 0x97, 0x55, 0xa5, 0xd8, 0x50, 0x99, 0xde, 0x8c, 0x50, 0xe6, 0x9c, 0x7f, 0x40, 0x6e, 0x29, - 0xf6, 0xbd, 0x15, 0x20, 0x33, 0xd7, 0xb7, 0x40, 0xad, 0x1d, 0x20, 0xc6, 0x11, 0xff, 0x54, 0x5e, - 0x28, 0x05, 0x6a, 0x9c, 0x53, 0x9b, 0x5c, 0xc7, 0x42, 0xdc, 0x7b, 0xd2, 0x87, 0x91, 0x81, 0xd7, - 0x2a, 0x38, 0xd9, 0xce, 0xc1, 0xdc, 0xba, 0xc5, 0x49, 0x89, 0xff, 0x7d, 0x72, 0x25, 0x4b, 0x3c, - 0x78, 0x70, 0xc5, 0xbc, 0xc8, 0xd6, 0x24, 0x75, 0x8b, 0x3c, 0xc7, 0xb2, 0x61, 0xe3, 0x4b, 0x8b, - 0x64, 0x00, 0xc2, 0xc2, 0x0a, 0xb5, 0x93, 0x4a, 0x02, 0x8e, 0x51, 0x49, 0x59, 0x01, 0xcb, 0x6a, - 0x19, 0xb8, 0x09, 0x87, 0x59, 0x56, 0xbc, 0x9b, 0x3f, 0x3d, 0xcc, 0x1b, 0xa6, 0xce, 0x89, 0xa4, - 0xf7, 0x4c, 0x6d, 0xe4, 0x3d, 0xa3, 0xcb, 0x91, 0x8b, 0x7c, 0x85, 0x6a, 0xea, 0x29, 0x9e, 0xc1, - 0x05, 0x49, 0x3a, 0x89, 0x48, 0xd5, 0x6a, 0x13, 0x59, 0xb4, 0xcf, 0x19, 0x71, 0x19, 0x3e, 0xe7, - 0xe1, 0x16, 0x1f, 0xfc, 0x9d, 0x41, 0x98, 0x06, 0x06, 0x21, 0xee, 0x81, 0x99, 0x21, 0xa9, 0x3b, - 0x4e, 0x55, 0xbb, 0x47, 0x28, 0x5a, 0x92, 0xa6, 0xc5, 0xc3, 0x27, 0x67, 0x39, 0x76, 0x22, 0xf7, - 0x67, 0xfa, 0x62, 0x25, 0xf7, 0x50, 0xc9, 0x81, 0xa8, 0x83, 0xe3, 0xa4, 0x7c, 0x10, 0x6f, 0x66, - 0x47, 0x9e, 0x0d, 0xf3, 0x2f, 0xad, 0x2c, 0xac, 0xb2, 0x21, 0xde, 0x69, 0x06, 0xea, 0x40, 0xff, - 0x80, 0x55, 0x21, 0xc4, 0xa9, 0x1c, 0xd1, 0x22, 0x88, 0x19, 0x11, 0x41, 0xa6, 0x24, 0xa5, 0xdf, - 0x23, 0x3e, 0xc8, 0xe5, 0x15, 0x0f, 0x57, 0x76, 0xe1, 0x5b, 0x85, 0x0b, 0xbf, 0xe1, 0x65, 0x2f, - 0xda, 0x8f, 0xbd, 0x1e, 0x9c, 0xc4, 0x37, 0xb2, 0xa7, 0x7a, 0x2d, 0x7f, 0xaa, 0xeb, 0x5e, 0xb3, - 0x8c, 0x85, 0x50, 0x02, 0xb1, 0xf3, 0x0b, 0x69, 0x33, 0x0c, 0xbc, 0xa4, 0x54, 0x00, 0x5a, 0xd2, - 0x9f, 0xd2, 0x97, 0xf4, 0x69, 0xde, 0x27, 0xd1, 0x14, 0x38, 0x62, 0xfb, 0x3c, 0xf6, 0xe2, 0xf0, - 0x68, 0xd3, 0xf7, 0x61, 0x92, 0x7c, 0x14, 0x0d, 0x83, 0xb2, 0x4a, 0xc4, 0x20, 0xef, 0x2e, 0xe8, - 0xdf, 0xa8, 0x23, 0x34, 0x85, 0x80, 0x85, 0xcf, 0xdf, 0xa7, 0xd0, 0x0b, 0x8f, 0xb6, 0x50, 0x14, - 0x41, 0xbf, 0x24, 0x72, 0xbc, 0xc0, 0x48, 0x66, 0xe5, 0x79, 0x37, 0x1b, 0x2a, 0xcf, 0x9a, 0x48, - 0x34, 0xcf, 0x0d, 0xa7, 0x88, 0x59, 0x1f, 0x47, 0x38, 0x91, 0x48, 0x2b, 0xbc, 0x3e, 0x54, 0xc5, - 0x16, 0x07, 0xcc, 0x75, 0x62, 0xef, 0x30, 0xa4, 0x67, 0x1e, 0x7b, 0x1d, 0x1f, 0xdb, 0xcf, 0x00, - 0x20, 0xdd, 0x1f, 0x98, 0xc2, 0x38, 0x8b, 0xf5, 0x0f, 0x94, 0x67, 0x74, 0x54, 0x0c, 0xda, 0x4a, - 0x22, 0x2b, 0x1f, 0x47, 0x69, 0x7c, 0xe4, 0x0a, 0xa4, 0xf2, 0xf7, 0xe8, 0x8c, 0xf0, 0x1e, 0x75, - 0x3e, 0x00, 0xa7, 0xa4, 0x45, 0x38, 0xd2, 0x1d, 0x40, 0xd6, 0xe7, 0x72, 0xf1, 0x4f, 0xbc, 0x74, - 0xe8, 0x85, 0x83, 0x4c, 0x09, 0x3a, 0x78, 0x34, 0xf5, 0xd0, 0x52, 0xba, 0x87, 0x24, 0x14, 0x37, - 0x5d, 0x44, 0x1e, 0xb4, 0xfc, 0xeb, 0x36, 0x32, 0x3f, 0x48, 0x60, 0x06, 0xcc, 0x1f, 0x24, 0xc2, - 0x54, 0x85, 0x8a, 0x02, 0x7d, 0xda, 0x0a, 0xfc, 0xe4, 0xca, 0x77, 0x2e, 0x68, 0x88, 0x12, 0xf8, - 0xbf, 0x96, 0x06, 0xdb, 0xf1, 0x90, 0x25, 0xf4, 0x73, 0x2e, 0xfe, 0xa9, 0x4c, 0x8b, 0x8a, 0x42, - 0x64, 0x22, 0xde, 0xf9, 0xcf, 0x55, 0x50, 0xdb, 0x49, 0xba, 0x76, 0x1b, 0x2c, 0x14, 0x5a, 0x91, - 0xab, 0x3a, 0x57, 0x10, 0x51, 0xce, 0xcd, 0x2a, 0x28, 0x7e, 0x7f, 0xfd, 0x0c, 0x00, 0xa1, 0x1d, - 0xd8, 0xd0, 0xae, 0xe5, 0x18, 0xe7, 0x46, 0x39, 0x86, 0x53, 0x87, 0xe0, 0x64, 0xb1, 0xd5, 0xb7, - 0xa6, 0x5b, 0x5c, 0x80, 0x39, 0xb7, 0x2a, 0xc1, 0x38, 0x9b, 0x03, 0x70, 0x4a, 0xee, 0xd6, 0x5d, - 0x33, 0x52, 0xc8, 0x81, 0x4e, 0xb3, 0x22, 0x90, 0x33, 0xfb, 0x04, 0xcc, 0xf1, 0x86, 0xd8, 0x8a, - 0x69, 0x31, 0x46, 0x38, 0xeb, 0x65, 0x08, 0x4e, 0xb7, 0x0d, 0x16, 0x0a, 0xdd, 0xab, 0x55, 0xd3, - 0xca, 0x0c, 0xa5, 0xdf, 0x6d, 0x55, 0x6b, 0x0a, 0xef, 0xb6, 0xd0, 0x96, 0x6a, 0x98, 0xd6, 0x52, - 0x8c, 0x7e, 0xb7, 0x47, 0x9b, 0x4a, 0xf6, 0x3e, 0x58, 0x94, 0x1a, 0x4a, 0x57, 0x4d, 0xab, 0x73, - 0x9c, 0xb3, 0x51, 0x0d, 0xc7, 0x39, 0x45, 0xe0, 0xad, 0x91, 0xc6, 0xd0, 0x7a, 0x09, 0x0d, 0x8e, - 0x74, 0xde, 0xab, 0x8a, 0x2c, 0x38, 0x98, 0xd4, 0xfa, 0xd1, 0x3b, 0x58, 0x11, 0x68, 0x70, 0x30, - 0x75, 0x3b, 0xc8, 0xfe, 0x1c, 0x9c, 0x1e, 0xed, 0x05, 0x5d, 0x2f, 0xa1, 0x92, 0x43, 0x9d, 0xdb, - 0x95, 0xa1, 0x9c, 0xe5, 0x67, 0xe0, 0x84, 0xd8, 0x1d, 0xba, 0xa2, 0xa3, 0x20, 0x80, 0x9c, 0x77, - 0x2b, 0x80, 0x0a, 0x17, 0x41, 0xa1, 0x21, 0xb3, 0x56, 0x22, 0x24, 0xbb, 0x6c, 0x6e, 0x55, 0x82, - 0x71, 0x36, 0x2f, 0xc0, 0x92, 0xb2, 0x0f, 0x73, 0xb3, 0x82, 0xac, 0x1c, 0xed, 0xbc, 0x3f, 0x0e, - 0x9a, 0xf3, 0x7e, 0x0e, 0xe6, 0xf3, 0x06, 0xcc, 0x65, 0x1d, 0x09, 0x0e, 0x71, 0xae, 0x97, 0x42, - 0xc4, 0x63, 0x2b, 0x74, 0x46, 0x1a, 0xa6, 0x85, 0x14, 0xa3, 0x3f, 0xb6, 0xa3, 0xad, 0x0f, 0xbc, - 0x37, 0xc5, 0xbe, 0xc7, 0x5a, 0xc9, 0x62, 0x0a, 0xd3, 0xef, 0x8d, 0xb2, 0xb7, 0x81, 0xdd, 0x7a, - 0xb4, 0xb1, 0x61, 0x34, 0x42, 0x01, 0xaa, 0x77, 0x6b, 0x6d, 0x13, 0x03, 0xbb, 0x83, 0xb2, 0x83, - 0x71, 0xb3, 0x1a, 0x29, 0xa6, 0xe7, 0xfb, 0xe3, 0xa0, 0xc5, 0x23, 0x25, 0x76, 0x2b, 0xae, 0x18, - 0x88, 0x64, 0x20, 0xfd, 0x91, 0x52, 0xf4, 0x29, 0xd8, 0xb6, 0x09, 0x97, 0xad, 0x69, 0xdb, 0x84, - 0xbb, 0xf6, 0x56, 0x25, 0x98, 0xa4, 0x07, 0xef, 0x43, 0x98, 0xf4, 0xc8, 0x40, 0x46, 0x3d, 0xe4, - 0x5e, 0x03, 0x8e, 0x1a, 0x52, 0xa3, 0x41, 0x1b, 0x35, 0x8a, 0x38, 0x7d, 0xd4, 0xd0, 0x74, 0x19, - 0x0e, 0xc0, 0x29, 0xb9, 0x73, 0x70, 0x4d, 0x2f, 0x69, 0x01, 0xa8, 0xbf, 0xc5, 0x35, 0xe5, 0x7f, - 0x1c, 0xce, 0x0b, 0xb5, 0xff, 0xd5, 0x52, 0x02, 0x58, 0xa5, 0x9b, 0x55, 0x50, 0x4a, 0x85, 0x98, - 0x6b, 0x97, 0x2b, 0xc4, 0xbc, 0xba, 0x59, 0x11, 0x28, 0xe7, 0x72, 0x79, 0x55, 0xdf, 0x98, 0xcb, - 0x71, 0x98, 0x39, 0x97, 0x1b, 0x29, 0xc0, 0xdb, 0xbf, 0x02, 0x6f, 0xab, 0x8b, 0xef, 0xb7, 0x4a, - 0xe3, 0xa8, 0x08, 0x77, 0xee, 0x8d, 0x05, 0x37, 0xb0, 0x67, 0xa5, 0xf3, 0xaa, 0xec, 0x29, 0xbc, - 0x32, 0xfb, 0x62, 0x95, 0x9b, 0xa4, 0x50, 0xc5, 0x12, 0xf7, 0xd5, 0x72, 0x42, 0x18, 0x67, 0x48, - 0xa1, 0x94, 0x75, 0x6d, 0xec, 0x9f, 0x85, 0x9a, 0xf6, 0xaa, 0x31, 0xe8, 0x31, 0x94, 0x73, 0xb3, - 0x0a, 0x4a, 0xd4, 0x46, 0x2a, 0x27, 0x6b, 0xb5, 0x29, 0xe2, 0xf4, 0xda, 0xa8, 0x2b, 0xc9, 0x38, - 0xb8, 0x8c, 0x96, 0x91, 0xaf, 0x97, 0x10, 0xc9, 0xa1, 0xfa, 0xe0, 0xa2, 0x2d, 0x21, 0xe3, 0xf3, - 0x50, 0xac, 0x1f, 0xaf, 0x95, 0xd0, 0xa0, 0x30, 0xfd, 0x79, 0x50, 0xd6, 0x8f, 0xf1, 0x19, 0x97, - 0x8b, 0xc7, 0xd7, 0x2a, 0xdc, 0x7b, 0x18, 0xa8, 0x3f, 0xe3, 0xba, 0x52, 0xf1, 0x21, 0x38, 0xa3, - 0x2a, 0x06, 0xbf, 0x5b, 0x81, 0x0e, 0x7f, 0x91, 0xdc, 0x1d, 0x03, 0x2c, 0x25, 0x07, 0x52, 0x7d, - 0xf7, 0x7a, 0x59, 0x18, 0xe1, 0x50, 0x63, 0x72, 0xa0, 0xae, 0xde, 0xd2, 0x0b, 0x5a, 0x28, 0xdd, - 0xae, 0x9a, 0xe3, 0x22, 0x45, 0x99, 0x2e, 0xe8, 0xd1, 0xea, 0x6c, 0x76, 0x67, 0xe6, 0xa5, 0xd9, - 0xb5, 0xb2, 0xe7, 0x20, 0x81, 0x99, 0xef, 0xcc, 0xd1, 0xaa, 0xeb, 0x73, 0x30, 0x9f, 0x57, 0x52, - 0x2f, 0x1b, 0x8f, 0x28, 0xf1, 0x8b, 0xeb, 0xa5, 0x10, 0x29, 0xf5, 0xcc, 0x4a, 0x98, 0xa6, 0xd4, - 0x93, 0x61, 0x8c, 0xa9, 0xa7, 0x54, 0xa7, 0xc4, 0xce, 0x2d, 0x17, 0x29, 0xaf, 0x95, 0x1c, 0x8f, - 0x0c, 0xa8, 0x77, 0x6e, 0x4d, 0x89, 0x12, 0xfb, 0xd8, 0x68, 0x7d, 0x52, 0x6b, 0x8a, 0x11, 0xa8, - 0xde, 0xc7, 0xb4, 0x15, 0x4a, 0xec, 0x63, 0x85, 0xf2, 0xa4, 0xd6, 0xc7, 0x44, 0x94, 0xde, 0xc7, - 0x54, 0x55, 0x49, 0x6c, 0x43, 0xb9, 0x22, 0x79, 0xad, 0x62, 0xcd, 0x50, 0x6f, 0x43, 0x4d, 0x1d, - 0x0f, 0x67, 0x83, 0x62, 0x11, 0xef, 0x4a, 0xe9, 0xfa, 0x6d, 0xa4, 0xcf, 0x06, 0x15, 0xe5, 0x39, - 0x1c, 0x32, 0xa4, 0xd2, 0xdc, 0xd5, 0x72, 0x19, 0x31, 0x4e, 0x1f, 0x32, 0xd4, 0x55, 0x36, 0x67, - 0xe6, 0xd7, 0x6f, 0x5e, 0xde, 0xb0, 0x5a, 0xee, 0xd7, 0xaf, 0x96, 0xad, 0x6f, 0x5e, 0x2d, 0x5b, - 0xff, 0x7e, 0xb5, 0x6c, 0xfd, 0xe1, 0xf5, 0xf2, 0xb1, 0x6f, 0x5e, 0x2f, 0x1f, 0xfb, 0xe7, 0xeb, - 0xe5, 0x63, 0x9f, 0x3e, 0xec, 0x06, 0xe9, 0xfe, 0xa0, 0xbd, 0xe1, 0xa3, 0x5e, 0x73, 0x1b, 0xfa, - 0x30, 0x4a, 0x63, 0x2f, 0xc4, 0x07, 0xf0, 0xfb, 0x5e, 0x0f, 0x36, 0xd5, 0xff, 0x16, 0x3f, 0x3d, - 0xea, 0xc3, 0xa4, 0x3d, 0x4b, 0xfe, 0x3b, 0xc1, 0xdd, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x35, - 0xdc, 0x34, 0xd7, 0xa8, 0x31, 0x00, 0x00, + 0x15, 0x67, 0x3c, 0xb6, 0xb1, 0x0b, 0x63, 0xa0, 0xf1, 0xc2, 0xd0, 0xb0, 0xc6, 0x0c, 0x36, 0xd8, + 0x2c, 0x78, 0xd6, 0x66, 0xf9, 0x10, 0xca, 0x6e, 0xe4, 0xb1, 0x49, 0xb4, 0x52, 0xbc, 0x90, 0x76, + 0xb2, 0x84, 0xcd, 0x07, 0xea, 0xe9, 0x29, 0x8f, 0x3b, 0xee, 0xe9, 0x9a, 0xed, 0xee, 0x19, 0xaf, + 0x91, 0x22, 0x45, 0x9b, 0x4b, 0x94, 0x5c, 0x72, 0xce, 0x2d, 0xb7, 0x3d, 0x45, 0x44, 0xca, 0x5f, + 0x90, 0x5c, 0xf6, 0x90, 0xc3, 0x6a, 0x4f, 0x39, 0xad, 0x22, 0x38, 0xf0, 0x6f, 0x44, 0xf5, 0xd1, + 0xd5, 0xd5, 0x35, 0x55, 0xd5, 0x3d, 0xa3, 0xe4, 0x02, 0x53, 0xd5, 0xbf, 0x7a, 0x1f, 0x55, 0xaf, + 0xde, 0x7b, 0xf5, 0x9e, 0x0c, 0xae, 0x78, 0x6e, 0xd4, 0xf6, 0x0e, 0x5c, 0x3f, 0x6c, 0x64, 0xbf, + 0x92, 0x2f, 0xd6, 0x7b, 0x11, 0x4a, 0x90, 0x75, 0x9e, 0xcf, 0xad, 0xf3, 0x5f, 0xf6, 0x39, 0xb7, + 0xeb, 0x87, 0xa8, 0x41, 0xfe, 0xa5, 0x38, 0xfb, 0xa2, 0x87, 0xe2, 0x2e, 0x8a, 0x1b, 0xdd, 0xb8, + 0xd3, 0x18, 0x6c, 0xe0, 0xff, 0xd8, 0x87, 0x4b, 0xf4, 0xc3, 0x0b, 0x32, 0x6a, 0xd0, 0x01, 0xfb, + 0xb4, 0xd0, 0x41, 0x1d, 0x44, 0xe7, 0xf1, 0x2f, 0x36, 0xbb, 0xa4, 0x92, 0xa7, 0xe7, 0x46, 0x6e, + 0x37, 0x5d, 0xb7, 0xc8, 0x78, 0xb5, 0xdc, 0x18, 0x36, 0x06, 0x1b, 0x2d, 0x98, 0xb8, 0x1b, 0x0d, + 0x0f, 0xf9, 0xa1, 0x89, 0xc2, 0x00, 0x25, 0x7e, 0x98, 0x0a, 0x75, 0x55, 0x85, 0xe8, 0xba, 0x89, + 0x77, 0xc0, 0x00, 0xd7, 0x54, 0x00, 0x0f, 0xf5, 0x43, 0xcf, 0x0f, 0xb8, 0x14, 0x2a, 0x88, 0x1b, + 0xb5, 0xd9, 0xf7, 0x35, 0xa5, 0x1e, 0x11, 0x6a, 0xf7, 0xbd, 0xe4, 0x45, 0x1b, 0x26, 0xae, 0x1f, + 0x30, 0x85, 0xea, 0xff, 0xac, 0x80, 0x33, 0xbb, 0x71, 0xe7, 0xa7, 0xbd, 0xb6, 0x9b, 0xc0, 0xa7, + 0x44, 0x55, 0xeb, 0x3e, 0x98, 0x75, 0xfb, 0xc9, 0x01, 0x8a, 0xfc, 0xe4, 0xb8, 0x56, 0x59, 0xaa, + 0xac, 0xce, 0x36, 0x6b, 0xdf, 0xfe, 0xfd, 0xce, 0x02, 0xdb, 0xc1, 0xad, 0x76, 0x3b, 0x82, 0x71, + 0xbc, 0x97, 0x44, 0x7e, 0xd8, 0x71, 0x32, 0xa8, 0xf5, 0x11, 0x98, 0xa6, 0x9b, 0x55, 0x9b, 0x58, + 0xaa, 0xac, 0x9e, 0xda, 0xbc, 0xbc, 0xae, 0x38, 0xc1, 0x75, 0xca, 0xa4, 0x39, 0xfb, 0xf5, 0x77, + 0x57, 0x4f, 0x7c, 0xf5, 0xf6, 0xd5, 0xad, 0x8a, 0xc3, 0x56, 0x3d, 0x7a, 0xf8, 0xe5, 0xdb, 0x57, + 0xb7, 0x32, 0x7a, 0x7f, 0x78, 0xfb, 0xea, 0xd6, 0x4a, 0x26, 0xff, 0x17, 0x82, 0x2e, 0x92, 0xc4, + 0xf5, 0x4b, 0xe0, 0xa2, 0x34, 0xe5, 0xc0, 0xb8, 0x87, 0xc2, 0x18, 0xd6, 0x3b, 0xe0, 0x34, 0xfe, + 0x14, 0xc3, 0x68, 0x3b, 0x82, 0x6e, 0x02, 0xad, 0x1a, 0x38, 0xe9, 0xe1, 0x5f, 0x28, 0xa2, 0xba, + 0x39, 0xe9, 0x10, 0x7f, 0x09, 0xe1, 0x11, 0x86, 0x12, 0x05, 0x66, 0x9d, 0x74, 0x68, 0x2d, 0x80, + 0x29, 0x37, 0xf0, 0xdd, 0xb8, 0x56, 0x25, 0xf3, 0x74, 0xf0, 0x68, 0x0e, 0xcb, 0x9b, 0xae, 0xae, + 0x5f, 0x04, 0xef, 0xe4, 0x18, 0x71, 0x09, 0xba, 0xe0, 0xec, 0x6e, 0xdc, 0xd9, 0x76, 0xa3, 0xf6, + 0x9e, 0x77, 0x00, 0xbb, 0xb0, 0xd9, 0x3f, 0x36, 0x08, 0xb1, 0x01, 0xaa, 0x2d, 0xbf, 0xcd, 0x76, + 0xf0, 0xd2, 0x3a, 0xdb, 0x73, 0x6c, 0x6f, 0xeb, 0xcc, 0xde, 0xd6, 0xb7, 0x91, 0x1f, 0x36, 0x27, + 0xf1, 0xfe, 0x39, 0x18, 0x2b, 0xc9, 0xb1, 0x09, 0x6a, 0x32, 0xbb, 0x54, 0x14, 0xeb, 0x02, 0x98, + 0xc6, 0x9b, 0xf8, 0x71, 0x9b, 0x70, 0x9d, 0x74, 0xd8, 0xa8, 0xfe, 0x8f, 0x0a, 0xb0, 0xd2, 0x45, + 0xee, 0x00, 0x6e, 0xa3, 0x30, 0x81, 0x61, 0x62, 0x90, 0x32, 0x23, 0x34, 0x21, 0x12, 0x22, 0x2b, + 0xe8, 0x62, 0xb2, 0x55, 0x73, 0x4e, 0x3a, 0xc4, 0x5b, 0x18, 0xa2, 0x04, 0xc6, 0xb5, 0x49, 0xba, + 0x85, 0x64, 0x80, 0xe9, 0xb8, 0x51, 0xe2, 0xc7, 0x49, 0x6d, 0x8a, 0x4c, 0xb3, 0x91, 0xb5, 0x0c, + 0x4e, 0xb7, 0xdc, 0xc0, 0x0d, 0x3d, 0xb8, 0x15, 0x7a, 0x07, 0x28, 0xaa, 0x4d, 0x2f, 0x55, 0x56, + 0x67, 0x9c, 0xfc, 0xa4, 0xa4, 0xf8, 0x0e, 0xb0, 0x87, 0x75, 0xe0, 0xaa, 0xdf, 0x00, 0xf3, 0xae, + 0x1f, 0xb5, 0x23, 0xd4, 0xdb, 0x0e, 0x5c, 0xbf, 0x0b, 0xe9, 0x16, 0xcc, 0x38, 0xd2, 0x6c, 0xfd, + 0xd7, 0xe0, 0x14, 0xa3, 0xf2, 0x29, 0x32, 0x5a, 0xcb, 0x5d, 0x30, 0x39, 0x40, 0x09, 0x64, 0x27, + 0x75, 0x55, 0x69, 0xeb, 0x7b, 0x7e, 0xd8, 0x09, 0x20, 0x26, 0xe4, 0x10, 0xb0, 0x24, 0xf1, 0x87, + 0xe0, 0xbc, 0xc0, 0x6b, 0x64, 0x51, 0xbb, 0xe4, 0xea, 0xe2, 0xe5, 0x3f, 0x89, 0xdc, 0x30, 0xde, + 0x87, 0xd1, 0x18, 0x27, 0x66, 0x83, 0x99, 0x08, 0x7a, 0xd0, 0x1f, 0xc0, 0x88, 0x59, 0x37, 0x1f, + 0x4b, 0xd2, 0xd2, 0x4b, 0x26, 0xb2, 0xe3, 0x26, 0xfe, 0xfb, 0x0a, 0xb9, 0x65, 0xf8, 0xdb, 0x0e, + 0x0a, 0xcd, 0xb7, 0x4c, 0x27, 0xc8, 0x03, 0x30, 0xed, 0x76, 0x51, 0x9f, 0x59, 0x4e, 0x09, 0xdb, + 0x67, 0x70, 0xe5, 0x35, 0xcc, 0x24, 0xe1, 0x32, 0xfe, 0xae, 0x02, 0xce, 0xb1, 0x2f, 0x5b, 0x51, + 0x72, 0x84, 0xa2, 0xc3, 0xad, 0x76, 0x7b, 0x0c, 0x39, 0x17, 0xc0, 0x94, 0xdf, 0x75, 0x3b, 0x90, + 0x19, 0x38, 0x1d, 0x60, 0x3a, 0xfb, 0xfd, 0x20, 0xd8, 0x8a, 0x12, 0x62, 0xe0, 0x33, 0x4e, 0x3a, + 0x94, 0xc4, 0xbb, 0x0c, 0x2e, 0x0d, 0x09, 0x21, 0x78, 0x8a, 0xf3, 0xd9, 0x47, 0x3f, 0x4e, 0xb6, + 0x0f, 0xdc, 0xb0, 0x33, 0xce, 0x5e, 0x66, 0xd7, 0xaa, 0x2a, 0x5e, 0x2b, 0x49, 0x96, 0x77, 0xc1, + 0x65, 0x05, 0x3b, 0x2e, 0xcd, 0xf7, 0xa8, 0x4f, 0xa0, 0x91, 0xc7, 0x81, 0x1d, 0x3f, 0x4e, 0x4c, + 0x16, 0x26, 0x11, 0xbf, 0x42, 0x6f, 0x63, 0x7e, 0x35, 0xa7, 0xfd, 0x11, 0x58, 0xc8, 0xbe, 0xee, + 0xc0, 0x68, 0x54, 0xea, 0x8b, 0xe0, 0x8a, 0x6a, 0x3d, 0xa7, 0xff, 0x6d, 0x05, 0xcc, 0xef, 0xc6, + 0x9d, 0x5d, 0x1c, 0x57, 0x1d, 0xd8, 0x43, 0x51, 0x62, 0xf6, 0xfb, 0x24, 0x00, 0xf3, 0x6d, 0x4c, + 0x87, 0x56, 0x1d, 0xcc, 0xf5, 0x02, 0xf7, 0x18, 0xb6, 0xf1, 0x26, 0xc5, 0x5b, 0xb5, 0xea, 0x52, + 0x75, 0x75, 0xd2, 0xc9, 0xcd, 0x49, 0x98, 0x66, 0x6d, 0x72, 0x08, 0xd3, 0xb4, 0xee, 0x83, 0x93, + 0xa8, 0x9f, 0x78, 0xa8, 0x0b, 0x89, 0x9f, 0x9b, 0xdf, 0xbc, 0xa2, 0x74, 0x17, 0x4f, 0x28, 0xc6, + 0x49, 0xc1, 0x92, 0xd2, 0x35, 0x70, 0x21, 0xaf, 0x13, 0x57, 0xd7, 0xa1, 0x21, 0x86, 0x6e, 0x47, + 0x61, 0x9c, 0xd3, 0x58, 0x8d, 0xc4, 0xcd, 0xa6, 0x71, 0x44, 0xa4, 0xc9, 0xf9, 0xfd, 0x92, 0xb8, + 0x02, 0x41, 0x12, 0x18, 0x6d, 0xf5, 0x7a, 0xc8, 0x37, 0xc6, 0x0c, 0xe2, 0x69, 0x28, 0x98, 0xc5, + 0x57, 0x3e, 0x96, 0x58, 0x5f, 0x03, 0x57, 0x35, 0xe4, 0xb9, 0x04, 0x5f, 0x55, 0xc0, 0xdc, 0x6e, + 0xdc, 0xd9, 0x83, 0x49, 0xa1, 0xba, 0x16, 0x98, 0x0c, 0xdd, 0x2e, 0x64, 0x3c, 0xc9, 0x6f, 0xdd, + 0x05, 0xb1, 0x96, 0xc0, 0xa9, 0x38, 0x41, 0xd1, 0xf1, 0xb3, 0xc8, 0xc7, 0x62, 0xd2, 0x58, 0x25, + 0x4e, 0xe1, 0xe3, 0xc6, 0x21, 0x2d, 0xf2, 0x5b, 0xfd, 0x04, 0x45, 0x71, 0x6d, 0x6a, 0xa9, 0xba, + 0x3a, 0xeb, 0xe4, 0xe6, 0x24, 0x6d, 0x2e, 0x10, 0x5b, 0xe7, 0x92, 0x72, 0x15, 0x20, 0xf1, 0x99, + 0x78, 0x1e, 0xdf, 0x40, 0xa3, 0x2f, 0x5a, 0x00, 0x53, 0x31, 0x4c, 0xf8, 0x81, 0xd1, 0x81, 0x70, + 0x8e, 0x55, 0xc3, 0x39, 0x52, 0x87, 0x98, 0xb1, 0xe1, 0xfc, 0x0f, 0x88, 0xd1, 0xb0, 0x0f, 0x0e, + 0xec, 0xa2, 0x01, 0xfc, 0x3f, 0x89, 0x40, 0x4d, 0x29, 0xc7, 0x49, 0x90, 0x22, 0xdd, 0x9d, 0x6c, + 0x07, 0xc7, 0xd9, 0x0c, 0x0b, 0x4c, 0xf6, 0x63, 0x1e, 0xc3, 0xc8, 0x6f, 0xa5, 0xcf, 0x18, 0xe2, + 0xc4, 0x25, 0x39, 0x24, 0x46, 0x9d, 0xff, 0x3e, 0xe6, 0xb6, 0x14, 0x0b, 0x43, 0x4d, 0x5c, 0xc5, + 0x8c, 0xcb, 0xf3, 0x09, 0x71, 0x61, 0x7b, 0x30, 0xf9, 0x81, 0x1f, 0xba, 0x81, 0xff, 0x72, 0x64, + 0x31, 0x94, 0xee, 0x43, 0xa0, 0xc7, 0x39, 0xed, 0xa7, 0x96, 0x50, 0x2a, 0x30, 0xaa, 0x55, 0x56, + 0x86, 0x45, 0x9d, 0x1d, 0x28, 0x62, 0x5f, 0x3b, 0xd5, 0x76, 0x0f, 0x5f, 0xb6, 0x31, 0x25, 0x20, + 0x17, 0x35, 0x4d, 0xd2, 0xc9, 0x40, 0xb7, 0x07, 0x29, 0x17, 0xce, 0xff, 0xc7, 0x24, 0x3b, 0x68, + 0x22, 0x84, 0xe3, 0xc8, 0x53, 0xd7, 0x3b, 0x34, 0xa7, 0xe9, 0x65, 0x36, 0x7c, 0x9b, 0xc4, 0xfa, + 0x3c, 0xc9, 0x91, 0x93, 0xbc, 0x3f, 0xd2, 0xd4, 0x7c, 0x0f, 0x06, 0xc1, 0x93, 0xfd, 0xfd, 0x12, + 0xaf, 0x18, 0x5d, 0x4e, 0x70, 0x0f, 0x4c, 0xf5, 0x22, 0xdf, 0x83, 0x65, 0xd3, 0x2b, 0x8a, 0x56, + 0x46, 0x75, 0x49, 0x18, 0xbe, 0x87, 0x3f, 0x27, 0x09, 0x29, 0xff, 0x6a, 0xde, 0x41, 0xec, 0x6a, + 0x53, 0x24, 0x17, 0x56, 0x9c, 0x52, 0xa6, 0x9f, 0x22, 0x71, 0xce, 0xf7, 0x57, 0xf9, 0x2d, 0x2a, + 0xbc, 0xb4, 0xa3, 0xb2, 0x96, 0xb4, 0x96, 0xee, 0xe9, 0x5f, 0x2a, 0xfc, 0x81, 0xe7, 0xb8, 0xf8, + 0xe1, 0xba, 0x07, 0x93, 0xf1, 0xf2, 0x4a, 0x6a, 0x51, 0x55, 0xd1, 0xa8, 0x1f, 0x80, 0xe9, 0x88, + 0x10, 0x25, 0xb1, 0x68, 0x5e, 0xf3, 0xce, 0xc8, 0x78, 0x3b, 0x0c, 0xae, 0x0e, 0xe6, 0xa2, 0x88, + 0x5c, 0xfe, 0x3f, 0x57, 0xc4, 0x48, 0x9f, 0x4e, 0x6f, 0xa3, 0x6e, 0xd7, 0x37, 0xe9, 0x71, 0x05, + 0xcc, 0xb2, 0xaa, 0x04, 0x57, 0x25, 0x9b, 0xc0, 0xeb, 0x70, 0x70, 0x0f, 0x63, 0xc8, 0xae, 0x63, + 0x3a, 0xb4, 0x16, 0x01, 0x88, 0xfb, 0x9d, 0x0e, 0x8c, 0x13, 0x1f, 0x85, 0x2c, 0xc2, 0x0a, 0x33, + 0x92, 0xe0, 0x75, 0xb0, 0xa4, 0x93, 0x8d, 0x2b, 0xf0, 0x37, 0xa5, 0x02, 0x0e, 0x1c, 0x40, 0x37, + 0x18, 0x5b, 0x81, 0x07, 0x79, 0x05, 0xe6, 0x37, 0xdf, 0x55, 0xee, 0x3c, 0xe7, 0xc6, 0xf5, 0xbb, + 0x00, 0xa6, 0x63, 0xe8, 0x45, 0x30, 0x61, 0xba, 0xb1, 0x51, 0x19, 0xbd, 0xa8, 0xc8, 0x5c, 0xaf, + 0xe7, 0xf4, 0xc1, 0xc2, 0x31, 0x89, 0x1b, 0x8d, 0x7d, 0x20, 0xea, 0x67, 0x48, 0x8e, 0x34, 0xe7, + 0xfb, 0x2f, 0x5a, 0x13, 0x22, 0xf9, 0xd7, 0x36, 0x0a, 0xf7, 0xfd, 0xa8, 0x3b, 0x56, 0xf6, 0x2c, + 0x64, 0xbd, 0xd5, 0x11, 0xb2, 0x5e, 0xeb, 0xfb, 0x00, 0xe0, 0xc7, 0x32, 0x4d, 0x9e, 0x49, 0x3e, + 0x5d, 0xe2, 0x7d, 0x2d, 0x2c, 0x51, 0x3a, 0x0e, 0x51, 0x1b, 0xae, 0xe9, 0x1e, 0xd9, 0xe1, 0xa7, + 0x11, 0xda, 0xf7, 0x03, 0x48, 0x2a, 0x07, 0xe3, 0x5c, 0x5d, 0xe5, 0xde, 0xe6, 0x89, 0x72, 0x8e, + 0x3f, 0x23, 0xe9, 0x0e, 0xfb, 0xf8, 0x0c, 0xb6, 0x62, 0x3f, 0x81, 0x66, 0xa6, 0x35, 0x70, 0xf2, + 0x88, 0xe2, 0xd2, 0xaa, 0x14, 0x1b, 0x2a, 0xd3, 0x9b, 0x21, 0xca, 0x9c, 0xf3, 0x8f, 0x88, 0x97, + 0x62, 0xdf, 0x9b, 0x3e, 0x32, 0x73, 0x3d, 0x0b, 0xaa, 0x2d, 0x1f, 0x31, 0x8e, 0xf8, 0xa7, 0xd2, + 0xa1, 0xe4, 0xa8, 0x71, 0x4e, 0x2d, 0xe2, 0x8e, 0x85, 0xb8, 0xf7, 0xa4, 0x07, 0x43, 0x03, 0xaf, + 0x65, 0x70, 0xba, 0x95, 0x81, 0xf9, 0xee, 0xe6, 0x27, 0x25, 0xfe, 0xf7, 0x89, 0x4b, 0x96, 0x78, + 0xf0, 0xe0, 0x8a, 0x79, 0x91, 0xa3, 0x89, 0x6b, 0x15, 0xf2, 0x1c, 0x4b, 0x87, 0xf5, 0x2f, 0x2b, + 0x24, 0x03, 0x10, 0x16, 0x96, 0xa8, 0x9d, 0x94, 0x12, 0x70, 0x84, 0x4a, 0xca, 0x12, 0x58, 0x54, + 0xcb, 0xc0, 0xb7, 0x70, 0x90, 0x66, 0xc5, 0x7b, 0xd9, 0xd3, 0xc3, 0x7c, 0x60, 0xea, 0x9c, 0x48, + 0x7a, 0xcf, 0x54, 0x87, 0xde, 0x33, 0xba, 0x1c, 0x39, 0xcf, 0x57, 0xa8, 0xa6, 0x9e, 0xe1, 0x19, + 0x9c, 0x1f, 0x27, 0xe3, 0x88, 0x54, 0xae, 0x36, 0x91, 0x46, 0xfb, 0x8c, 0x11, 0x97, 0xe1, 0x73, + 0x1e, 0x6e, 0xf1, 0xc5, 0xdf, 0xed, 0x07, 0x89, 0x6f, 0x10, 0xe2, 0x1e, 0x98, 0x1a, 0x90, 0xba, + 0xe3, 0x44, 0x39, 0x3f, 0x42, 0xd1, 0x92, 0x34, 0x4d, 0x1e, 0x3e, 0x39, 0xcb, 0x91, 0x13, 0xb9, + 0xbf, 0xd2, 0x17, 0x2b, 0xf1, 0x43, 0x05, 0x17, 0xa2, 0x06, 0x4e, 0x92, 0xf2, 0x41, 0xb4, 0x95, + 0x5e, 0x79, 0x36, 0xcc, 0xbe, 0x34, 0xd3, 0xb0, 0xca, 0x86, 0xf8, 0xa4, 0x19, 0xa8, 0x0d, 0xbd, + 0x43, 0x56, 0x85, 0x10, 0xa7, 0x32, 0x44, 0x93, 0x20, 0xa6, 0x44, 0x04, 0x99, 0x92, 0x94, 0x7e, + 0x9f, 0xd8, 0x20, 0x97, 0x57, 0xbc, 0x5c, 0xa9, 0xc3, 0xaf, 0xe4, 0x1c, 0x7e, 0xdd, 0x4d, 0x5f, + 0xb4, 0x9f, 0xb8, 0x5d, 0x38, 0x8e, 0x6d, 0xa4, 0x4f, 0xf5, 0x6a, 0xf6, 0x54, 0xd7, 0xbd, 0x66, + 0x19, 0x0b, 0xa1, 0x04, 0x62, 0x65, 0x0e, 0x69, 0x2b, 0xf0, 0xdd, 0xb8, 0x50, 0x00, 0x5a, 0xd2, + 0x9f, 0xd0, 0x97, 0xf4, 0x69, 0xde, 0x27, 0xd1, 0x14, 0x38, 0xe2, 0xfd, 0x79, 0xec, 0x46, 0xc1, + 0xf1, 0x96, 0xe7, 0xc1, 0x38, 0xfe, 0x38, 0x1c, 0xf8, 0x45, 0x95, 0x88, 0x7e, 0xd6, 0x5d, 0xd0, + 0xbf, 0x51, 0x87, 0x68, 0x0a, 0x01, 0x0b, 0xdf, 0xbf, 0xcf, 0xa0, 0x1b, 0x1c, 0x6f, 0xa3, 0x30, + 0x84, 0x5e, 0x41, 0xe4, 0x78, 0x89, 0x91, 0x6c, 0x97, 0x67, 0x9d, 0x74, 0xa8, 0xbc, 0x6b, 0x22, + 0xd1, 0x2c, 0x37, 0x9c, 0x20, 0xdb, 0xfa, 0x38, 0xc4, 0x89, 0x44, 0x52, 0xe2, 0xf5, 0xa1, 0x2a, + 0xb6, 0xd8, 0x60, 0xa6, 0x1d, 0xb9, 0x47, 0x01, 0xbd, 0xf3, 0xd8, 0xea, 0xf8, 0xd8, 0x7a, 0x06, + 0x00, 0xe9, 0xfe, 0xc0, 0x04, 0x46, 0x69, 0xac, 0x7f, 0xa0, 0xbc, 0xa3, 0xc3, 0x62, 0xd0, 0x56, + 0x12, 0x59, 0xf9, 0x38, 0x4c, 0xa2, 0x63, 0x47, 0x20, 0x95, 0xbd, 0x47, 0xa7, 0x84, 0xf7, 0xa8, + 0xfd, 0x21, 0x38, 0x23, 0x2d, 0xc2, 0x91, 0xee, 0x10, 0xb2, 0x3e, 0x97, 0x83, 0x7f, 0xe2, 0xa5, + 0x03, 0x37, 0xe8, 0xa7, 0x4a, 0xd0, 0xc1, 0xa3, 0x89, 0x87, 0x15, 0xa5, 0x79, 0x48, 0x42, 0xf1, + 0xad, 0x0b, 0xc9, 0x83, 0x96, 0x7f, 0xdd, 0x41, 0xe6, 0x07, 0x09, 0x4c, 0x81, 0xd9, 0x83, 0x44, + 0x98, 0x2a, 0x51, 0x51, 0xa0, 0x4f, 0x5b, 0x81, 0x9f, 0x5c, 0xf9, 0xce, 0x04, 0x0d, 0x50, 0x0c, + 0xff, 0xd7, 0xd2, 0xe0, 0x7d, 0x3c, 0x62, 0x09, 0xfd, 0x8c, 0x83, 0x7f, 0x2a, 0xd3, 0xa2, 0xbc, + 0x10, 0x5c, 0x44, 0x9f, 0xf6, 0x16, 0xc8, 0x0e, 0x3e, 0xa5, 0x8d, 0xca, 0x1d, 0xda, 0xa7, 0x1c, + 0xd1, 0xd6, 0x2c, 0x30, 0xd9, 0x86, 0xb1, 0x97, 0x4a, 0x86, 0x7f, 0x4b, 0x72, 0x6c, 0x90, 0xca, + 0x8b, 0x8a, 0x15, 0xf7, 0x70, 0xf3, 0x60, 0xc2, 0x4f, 0x9d, 0xdb, 0x84, 0xdf, 0xae, 0x1f, 0x8b, + 0xed, 0xc5, 0xb2, 0xd2, 0x51, 0x22, 0x13, 0x29, 0x11, 0x95, 0x6f, 0xe3, 0xd2, 0x4e, 0x6a, 0xa5, + 0xa5, 0x75, 0x22, 0x15, 0x6b, 0xa1, 0x72, 0x81, 0xa5, 0xdb, 0x81, 0x01, 0x1c, 0x5f, 0x3a, 0x25, + 0x57, 0x15, 0xc9, 0x94, 0xeb, 0xe6, 0x77, 0x6b, 0xa0, 0xba, 0x1b, 0x77, 0xac, 0x16, 0x98, 0xcb, + 0x35, 0x8f, 0x97, 0x75, 0x97, 0x57, 0x44, 0xd9, 0xb7, 0xcb, 0xa0, 0xf8, 0x79, 0xfc, 0x02, 0x00, + 0xa1, 0x81, 0x5b, 0xd7, 0xae, 0xe5, 0x18, 0xfb, 0x56, 0x31, 0x86, 0x53, 0x87, 0xe0, 0x74, 0xbe, + 0x39, 0xbb, 0xa2, 0x5b, 0x9c, 0x83, 0xd9, 0x77, 0x4a, 0xc1, 0x38, 0x9b, 0x43, 0x70, 0x46, 0xee, + 0xaf, 0xde, 0x34, 0x52, 0xc8, 0x80, 0x76, 0xa3, 0x24, 0x90, 0x33, 0xfb, 0x14, 0xcc, 0xf0, 0x16, + 0xe6, 0x92, 0x69, 0x31, 0x46, 0xd8, 0xab, 0x45, 0x08, 0x4e, 0xb7, 0x05, 0xe6, 0x72, 0xfd, 0xc6, + 0x65, 0xd3, 0xca, 0x14, 0xa5, 0x3f, 0x6d, 0x55, 0x33, 0x11, 0x9f, 0xb6, 0xd0, 0x48, 0xac, 0x9b, + 0xd6, 0x52, 0x8c, 0xfe, 0xb4, 0x87, 0xdb, 0x80, 0xd6, 0x01, 0x98, 0x97, 0x5a, 0x80, 0x37, 0x4c, + 0xab, 0x33, 0x9c, 0xbd, 0x5e, 0x0e, 0xc7, 0x39, 0x85, 0xe0, 0xec, 0x50, 0x2b, 0x6f, 0xb5, 0x80, + 0x06, 0x47, 0xda, 0xef, 0x97, 0x45, 0xe6, 0x0c, 0x4c, 0x6a, 0xd6, 0xe9, 0x0d, 0x2c, 0x0f, 0x34, + 0x18, 0x98, 0xba, 0x81, 0x67, 0x7d, 0x0e, 0xce, 0x0d, 0x77, 0xef, 0xd6, 0x0a, 0xa8, 0x64, 0x50, + 0x7b, 0xa3, 0x34, 0x94, 0xb3, 0x7c, 0x01, 0x4e, 0x89, 0xfd, 0xbc, 0xeb, 0x3a, 0x0a, 0x02, 0xc8, + 0x7e, 0xaf, 0x04, 0x28, 0xe7, 0x08, 0x72, 0x2d, 0xb4, 0x95, 0x02, 0x21, 0x99, 0xb3, 0xb9, 0x53, + 0x0a, 0xc6, 0xd9, 0xbc, 0x04, 0x0b, 0xca, 0xce, 0xd9, 0xed, 0x12, 0xb2, 0x72, 0xb4, 0xfd, 0xc1, + 0x28, 0x68, 0xce, 0xfb, 0x39, 0x98, 0xcd, 0x5a, 0x66, 0xd7, 0x74, 0x24, 0x38, 0xc4, 0x5e, 0x2b, + 0x84, 0x88, 0xd7, 0x56, 0xe8, 0x65, 0xd5, 0x4d, 0x0b, 0x29, 0x46, 0x7f, 0x6d, 0x87, 0x9b, 0x55, + 0xf8, 0x6c, 0xf2, 0x9d, 0xaa, 0x95, 0x82, 0xc5, 0x14, 0xa6, 0x3f, 0x1b, 0x65, 0x37, 0x0a, 0x9b, + 0xf5, 0x70, 0x2b, 0xca, 0xb8, 0x09, 0x39, 0xa8, 0xde, 0xac, 0xb5, 0x6d, 0x27, 0x6c, 0x0e, 0xca, + 0x9e, 0xd3, 0xed, 0x72, 0xa4, 0x98, 0x9e, 0x1f, 0x8c, 0x82, 0x16, 0xaf, 0x94, 0xd8, 0x5f, 0xba, + 0x6e, 0x20, 0x92, 0x82, 0xf4, 0x57, 0x4a, 0xd1, 0x59, 0x62, 0xc7, 0x26, 0x38, 0x5b, 0xd3, 0xb1, + 0x09, 0xbe, 0xf6, 0x4e, 0x29, 0x98, 0xa4, 0x07, 0xef, 0x1c, 0x99, 0xf4, 0x48, 0x41, 0x46, 0x3d, + 0xe4, 0xee, 0x10, 0x8e, 0x1a, 0x52, 0x6b, 0x48, 0x1b, 0x35, 0xf2, 0x38, 0x7d, 0xd4, 0xd0, 0xf4, + 0x85, 0x0e, 0xc1, 0x19, 0xb9, 0xd7, 0x73, 0x53, 0x2f, 0x69, 0x0e, 0xa8, 0xf7, 0xe2, 0x9a, 0x86, + 0x0d, 0x0e, 0xe7, 0xb9, 0x6e, 0xcd, 0x72, 0x21, 0x01, 0xac, 0xd2, 0xed, 0x32, 0x28, 0xa5, 0x42, + 0xcc, 0xb4, 0x8b, 0x15, 0x62, 0x56, 0xdd, 0x28, 0x09, 0x94, 0x73, 0xb9, 0xac, 0x0f, 0x63, 0xcc, + 0xe5, 0x38, 0xcc, 0x9c, 0xcb, 0x0d, 0xb5, 0x4c, 0xac, 0xdf, 0x80, 0x77, 0xd4, 0xed, 0x92, 0x3b, + 0x85, 0x71, 0x54, 0x84, 0xdb, 0xf7, 0x46, 0x82, 0x1b, 0xd8, 0xb3, 0x66, 0x47, 0x59, 0xf6, 0x14, + 0x5e, 0x9a, 0x7d, 0xbe, 0x2f, 0x41, 0x52, 0xa8, 0x7c, 0x53, 0xe2, 0x46, 0x31, 0x21, 0x8c, 0x33, + 0xa4, 0x50, 0xca, 0x4e, 0x04, 0xb6, 0xcf, 0x5c, 0x17, 0x62, 0xd9, 0x18, 0xf4, 0x18, 0xca, 0xbe, + 0x5d, 0x06, 0x25, 0x6a, 0x23, 0x35, 0x00, 0xb4, 0xda, 0xe4, 0x71, 0x7a, 0x6d, 0xd4, 0xb5, 0x7f, + 0x1c, 0x5c, 0x86, 0x0b, 0xff, 0x6b, 0x05, 0x44, 0x32, 0xa8, 0x3e, 0xb8, 0x68, 0x8b, 0xfe, 0xf8, + 0x3e, 0xe4, 0x2b, 0xfe, 0x2b, 0x05, 0x34, 0x28, 0x4c, 0x7f, 0x1f, 0x94, 0x15, 0x7f, 0x7c, 0xc7, + 0xe5, 0x72, 0xff, 0xcd, 0x12, 0x7e, 0x0f, 0x03, 0xf5, 0x77, 0x5c, 0x57, 0xdc, 0x3f, 0x02, 0xe7, + 0x55, 0xe5, 0xfb, 0xf7, 0x4a, 0xd0, 0xe1, 0x2f, 0x92, 0xbb, 0x23, 0x80, 0xa5, 0xe4, 0x40, 0xaa, + 0xc8, 0xaf, 0x15, 0x85, 0x11, 0x0e, 0x35, 0x26, 0x07, 0xea, 0x7a, 0x3b, 0x75, 0xd0, 0x42, 0xb1, + 0x7d, 0xd9, 0x1c, 0x17, 0x29, 0xca, 0xe4, 0xa0, 0x87, 0xeb, 0xe9, 0xa9, 0xcf, 0xcc, 0x8a, 0xe9, + 0x2b, 0x45, 0xcf, 0x41, 0x02, 0x33, 0xfb, 0xcc, 0xe1, 0x3a, 0xf9, 0x73, 0x30, 0x9b, 0xd5, 0xbe, + 0xaf, 0x19, 0xaf, 0x28, 0xb1, 0x8b, 0xb5, 0x42, 0x88, 0x94, 0x7a, 0xa6, 0x45, 0x67, 0x53, 0xea, + 0xc9, 0x30, 0xc6, 0xd4, 0x53, 0xaa, 0x2c, 0x63, 0xe3, 0x96, 0xcb, 0xca, 0x37, 0x0b, 0xae, 0x47, + 0x0a, 0xd4, 0x1b, 0xb7, 0xa6, 0xa8, 0x8c, 0x6d, 0x6c, 0xb8, 0xa2, 0xac, 0xdd, 0x8a, 0x21, 0xa8, + 0xde, 0xc6, 0xb4, 0x35, 0x65, 0x6c, 0x63, 0xb9, 0x82, 0xb2, 0xd6, 0xc6, 0x44, 0x94, 0xde, 0xc6, + 0x54, 0x75, 0x64, 0xbc, 0x87, 0x72, 0x0d, 0xf9, 0x66, 0xc9, 0x2a, 0xaf, 0x7e, 0x0f, 0x35, 0x95, + 0x57, 0x9c, 0x0d, 0x8a, 0x65, 0xd7, 0xeb, 0x85, 0xeb, 0x77, 0x90, 0x3e, 0x1b, 0x54, 0x14, 0x54, + 0x71, 0xc8, 0x90, 0x8a, 0xa9, 0x37, 0x8a, 0x65, 0xc4, 0x38, 0x7d, 0xc8, 0x50, 0xd7, 0x45, 0xf1, + 0xe3, 0x40, 0x59, 0x14, 0xd5, 0x57, 0x54, 0x14, 0x68, 0xfd, 0xe3, 0xc0, 0x58, 0x05, 0x7d, 0x09, + 0x16, 0x94, 0x25, 0xcf, 0xa2, 0xda, 0x5d, 0x49, 0xde, 0xa6, 0x9a, 0x26, 0xe6, 0xad, 0x2c, 0x68, + 0x6a, 0x79, 0xab, 0xd0, 0x7a, 0xde, 0xa6, 0xca, 0xa6, 0x3d, 0xf5, 0xdb, 0xb7, 0xaf, 0x6e, 0x55, + 0x9a, 0xce, 0xd7, 0xaf, 0x17, 0x2b, 0xdf, 0xbc, 0x5e, 0xac, 0xfc, 0xe7, 0xf5, 0x62, 0xe5, 0x4f, + 0x6f, 0x16, 0x4f, 0x7c, 0xf3, 0x66, 0xf1, 0xc4, 0xbf, 0xdf, 0x2c, 0x9e, 0xf8, 0xec, 0x61, 0xc7, + 0x4f, 0x0e, 0xfa, 0xad, 0x75, 0x0f, 0x75, 0x1b, 0x3b, 0xd0, 0x83, 0x61, 0x12, 0xb9, 0x01, 0x76, + 0x7a, 0x3f, 0x74, 0xbb, 0xb0, 0xa1, 0xfe, 0x8b, 0x95, 0xe4, 0xb8, 0x07, 0xe3, 0xd6, 0x34, 0xf9, + 0xa3, 0x9b, 0xbb, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x7d, 0x51, 0x8b, 0x18, 0xf9, 0x34, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -4903,6 +5214,9 @@ type MsgClient interface { EncounterCreate(ctx context.Context, in *MsgEncounterCreate, opts ...grpc.CallOption) (*MsgEncounterCreateResponse, error) EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) + CreateProductDetails(ctx context.Context, in *MsgCreateProductDetails, opts ...grpc.CallOption) (*MsgCreateProductDetailsResponse, error) + UpdateProductDetails(ctx context.Context, in *MsgUpdateProductDetails, opts ...grpc.CallOption) (*MsgUpdateProductDetailsResponse, error) + DeleteProductDetails(ctx context.Context, in *MsgDeleteProductDetails, opts ...grpc.CallOption) (*MsgDeleteProductDetailsResponse, error) } type msgClient struct { @@ -5336,6 +5650,33 @@ func (c *msgClient) EncounterClose(ctx context.Context, in *MsgEncounterClose, o return out, nil } +func (c *msgClient) CreateProductDetails(ctx context.Context, in *MsgCreateProductDetails, opts ...grpc.CallOption) (*MsgCreateProductDetailsResponse, error) { + out := new(MsgCreateProductDetailsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CreateProductDetails", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) UpdateProductDetails(ctx context.Context, in *MsgUpdateProductDetails, opts ...grpc.CallOption) (*MsgUpdateProductDetailsResponse, error) { + out := new(MsgUpdateProductDetailsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateProductDetails", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) DeleteProductDetails(ctx context.Context, in *MsgDeleteProductDetails, opts ...grpc.CallOption) (*MsgDeleteProductDetailsResponse, error) { + out := new(MsgDeleteProductDetailsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/DeleteProductDetails", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module @@ -5387,6 +5728,9 @@ type MsgServer interface { EncounterCreate(context.Context, *MsgEncounterCreate) (*MsgEncounterCreateResponse, error) EncounterDo(context.Context, *MsgEncounterDo) (*MsgEncounterDoResponse, error) EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) + CreateProductDetails(context.Context, *MsgCreateProductDetails) (*MsgCreateProductDetailsResponse, error) + UpdateProductDetails(context.Context, *MsgUpdateProductDetails) (*MsgUpdateProductDetailsResponse, error) + DeleteProductDetails(context.Context, *MsgDeleteProductDetails) (*MsgDeleteProductDetailsResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -5534,6 +5878,15 @@ func (*UnimplementedMsgServer) EncounterDo(ctx context.Context, req *MsgEncounte func (*UnimplementedMsgServer) EncounterClose(ctx context.Context, req *MsgEncounterClose) (*MsgEncounterCloseResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EncounterClose not implemented") } +func (*UnimplementedMsgServer) CreateProductDetails(ctx context.Context, req *MsgCreateProductDetails) (*MsgCreateProductDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProductDetails not implemented") +} +func (*UnimplementedMsgServer) UpdateProductDetails(ctx context.Context, req *MsgUpdateProductDetails) (*MsgUpdateProductDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProductDetails not implemented") +} +func (*UnimplementedMsgServer) DeleteProductDetails(ctx context.Context, req *MsgDeleteProductDetails) (*MsgDeleteProductDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteProductDetails not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -6385,6 +6738,60 @@ func _Msg_EncounterClose_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Msg_CreateProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateProductDetails) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CreateProductDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CreateProductDetails", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CreateProductDetails(ctx, req.(*MsgCreateProductDetails)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_UpdateProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateProductDetails) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateProductDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/UpdateProductDetails", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateProductDetails(ctx, req.(*MsgUpdateProductDetails)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_DeleteProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgDeleteProductDetails) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).DeleteProductDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/DeleteProductDetails", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).DeleteProductDetails(ctx, req.(*MsgDeleteProductDetails)) + } + return interceptor(ctx, in, info, handler) +} + var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Msg", @@ -6578,6 +6985,18 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "EncounterClose", Handler: _Msg_EncounterClose_Handler, }, + { + MethodName: "CreateProductDetails", + Handler: _Msg_CreateProductDetails_Handler, + }, + { + MethodName: "UpdateProductDetails", + Handler: _Msg_UpdateProductDetails_Handler, + }, + { + MethodName: "DeleteProductDetails", + Handler: _Msg_DeleteProductDetails_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", @@ -9798,11 +10217,213 @@ func (m *MsgEncounterCloseResponse) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) +func (m *MsgCreateProductDetails) 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 *MsgCreateProductDetails) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCreateProductDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Desc) > 0 { + i -= len(m.Desc) + copy(dAtA[i:], m.Desc) + i = encodeVarintTx(dAtA, i, uint64(len(m.Desc))) + i-- + dAtA[i] = 0x1a + } + 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 + } + 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 *MsgCreateProductDetailsResponse) 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 *MsgCreateProductDetailsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCreateProductDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Id != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateProductDetails) 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 *MsgUpdateProductDetails) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateProductDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Desc) > 0 { + i -= len(m.Desc) + copy(dAtA[i:], m.Desc) + i = encodeVarintTx(dAtA, i, uint64(len(m.Desc))) + i-- + dAtA[i] = 0x22 + } + 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] = 0x1a + } + if m.Id != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Id)) + 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 *MsgUpdateProductDetailsResponse) 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 *MsgUpdateProductDetailsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateProductDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgDeleteProductDetails) 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 *MsgDeleteProductDetails) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDeleteProductDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Id != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Id)) + 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 *MsgDeleteProductDetailsResponse) 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 *MsgDeleteProductDetailsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDeleteProductDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) v >>= 7 offset++ } @@ -11200,6 +11821,97 @@ func (m *MsgEncounterCloseResponse) Size() (n int) { return n } +func (m *MsgCreateProductDetails) 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.Name) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Desc) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCreateProductDetailsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovTx(uint64(m.Id)) + } + return n +} + +func (m *MsgUpdateProductDetails) 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.Id != 0 { + n += 1 + sovTx(uint64(m.Id)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Desc) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateProductDetailsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgDeleteProductDetails) 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.Id != 0 { + n += 1 + sovTx(uint64(m.Id)) + } + return n +} + +func (m *MsgDeleteProductDetailsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -20257,6 +20969,587 @@ func (m *MsgEncounterCloseResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgCreateProductDetails) 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: MsgCreateProductDetails: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = 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 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.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Desc", 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.Desc = 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 *MsgCreateProductDetailsResponse) 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: MsgCreateProductDetailsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + m.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 *MsgUpdateProductDetails) 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: MsgUpdateProductDetails: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + m.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + 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 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.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Desc", 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.Desc = 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 *MsgUpdateProductDetailsResponse) 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: MsgUpdateProductDetailsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgDeleteProductDetails) 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: MsgDeleteProductDetails: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgDeleteProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + m.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 *MsgDeleteProductDetailsResponse) 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: MsgDeleteProductDetailsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgDeleteProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From e90941bdc8f173806d87ced97a4f354847599037 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 04:14:03 +0100 Subject: [PATCH 22/99] feat(#242): Added bankkeeper --- x/cardchain/keeper/keeper.go | 5 +++++ x/cardchain/module/module.go | 1 + x/cardchain/types/expected_keepers.go | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index d5ec4748..0ee57428 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -32,6 +32,8 @@ type ( // the address capable of executing a MsgUpdateParams message. Typically, this // should be the x/gov module account. authority string + + BankKeeper types.BankKeeper } ) @@ -40,6 +42,7 @@ func NewKeeper( storeService store.KVStoreService, logger log.Logger, authority string, + bankKeeper types.BankKeeper, ) Keeper { if _, err := sdk.AccAddressFromBech32(authority); err != nil { @@ -62,6 +65,8 @@ func NewKeeper( Images: gtk.NewGTK[*types.Image]("Images", storeService, cdc, gtk.GetEmpty[types.Image]), Servers: gtk.NewGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), Encounters: gtk.NewGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), + + BankKeeper: bankKeeper, } } diff --git a/x/cardchain/module/module.go b/x/cardchain/module/module.go index e15265a3..dcff5bfe 100644 --- a/x/cardchain/module/module.go +++ b/x/cardchain/module/module.go @@ -202,6 +202,7 @@ func ProvideModule(in ModuleInputs) ModuleOutputs { in.StoreService, in.Logger, authority.String(), + in.BankKeeper, ) m := NewAppModule( in.Cdc, diff --git a/x/cardchain/types/expected_keepers.go b/x/cardchain/types/expected_keepers.go index 4a50d01a..94466ccd 100644 --- a/x/cardchain/types/expected_keepers.go +++ b/x/cardchain/types/expected_keepers.go @@ -15,6 +15,12 @@ type AccountKeeper interface { // BankKeeper defines the expected interface for the Bank module. type BankKeeper interface { SpendableCoins(context.Context, sdk.AccAddress) sdk.Coins + MintCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + SendCoins(ctx context.Context, fromAddr, toAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error // Methods imported from bank should be defined here } From aa9b77842b43e555a5b4528e1a02b72b79ea928c Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 06:07:29 +0100 Subject: [PATCH 23/99] feat(#242): Added feature flags --- api/cardchain/featureflag/flag.pulsar.go | 706 +++++++++++ api/cardchain/featureflag/genesis.pulsar.go | 952 ++++++++++++++ .../featureflag/module/module.pulsar.go | 583 +++++++++ api/cardchain/featureflag/params.pulsar.go | 504 ++++++++ api/cardchain/featureflag/query.pulsar.go | 1016 +++++++++++++++ api/cardchain/featureflag/query_grpc.pb.go | 111 ++ api/cardchain/featureflag/tx.pulsar.go | 1095 +++++++++++++++++ api/cardchain/featureflag/tx_grpc.pb.go | 113 ++ app/app.go | 6 +- app/app_config.go | 10 + docs/static/openapi.yml | 2 +- proto/cardchain/featureflag/flag.proto | 10 + proto/cardchain/featureflag/genesis.proto | 18 + .../cardchain/featureflag/module/module.proto | 14 + proto/cardchain/featureflag/params.proto | 15 + proto/cardchain/featureflag/query.proto | 30 + proto/cardchain/featureflag/tx.proto | 40 + testutil/keeper/featureflag.go | 51 + x/cardchain/keeper/keeper.go | 8 +- x/cardchain/module/module.go | 6 +- x/cardchain/types/expected_keepers.go | 5 + x/cardchain/types/feature_flags.go | 8 + x/featureflag/keeper/keeper.go | 126 ++ x/featureflag/keeper/module_instace.go | 33 + x/featureflag/keeper/msg_server.go | 17 + x/featureflag/keeper/msg_server_test.go | 24 + x/featureflag/keeper/msg_update_params.go | 23 + .../keeper/msg_update_params_test.go | 64 + x/featureflag/keeper/params.go | 33 + x/featureflag/keeper/params_test.go | 18 + x/featureflag/keeper/query.go | 7 + x/featureflag/keeper/query_params.go | 20 + x/featureflag/keeper/query_params_test.go | 20 + x/featureflag/module/autocli.go | 35 + x/featureflag/module/genesis.go | 26 + x/featureflag/module/genesis_test.go | 29 + x/featureflag/module/module.go | 214 ++++ x/featureflag/module/simulation.go | 59 + x/featureflag/simulation/helpers.go | 15 + x/featureflag/types/codec.go | 17 + x/featureflag/types/errors.go | 13 + x/featureflag/types/expected_keepers.go | 25 + x/featureflag/types/flag.pb.go | 409 ++++++ x/featureflag/types/genesis.go | 22 + x/featureflag/types/genesis.pb.go | 509 ++++++++ x/featureflag/types/genesis_test.go | 41 + x/featureflag/types/keys.go | 20 + x/featureflag/types/msg_update_params.go | 21 + x/featureflag/types/params.go | 32 + x/featureflag/types/params.pb.go | 291 +++++ x/featureflag/types/query.pb.go | 541 ++++++++ x/featureflag/types/query.pb.gw.go | 153 +++ x/featureflag/types/tx.pb.go | 600 +++++++++ x/featureflag/types/types.go | 1 + 54 files changed, 8755 insertions(+), 6 deletions(-) create mode 100644 api/cardchain/featureflag/flag.pulsar.go create mode 100644 api/cardchain/featureflag/genesis.pulsar.go create mode 100644 api/cardchain/featureflag/module/module.pulsar.go create mode 100644 api/cardchain/featureflag/params.pulsar.go create mode 100644 api/cardchain/featureflag/query.pulsar.go create mode 100644 api/cardchain/featureflag/query_grpc.pb.go create mode 100644 api/cardchain/featureflag/tx.pulsar.go create mode 100644 api/cardchain/featureflag/tx_grpc.pb.go create mode 100644 proto/cardchain/featureflag/flag.proto create mode 100644 proto/cardchain/featureflag/genesis.proto create mode 100644 proto/cardchain/featureflag/module/module.proto create mode 100644 proto/cardchain/featureflag/params.proto create mode 100644 proto/cardchain/featureflag/query.proto create mode 100644 proto/cardchain/featureflag/tx.proto create mode 100644 testutil/keeper/featureflag.go create mode 100644 x/cardchain/types/feature_flags.go create mode 100644 x/featureflag/keeper/keeper.go create mode 100644 x/featureflag/keeper/module_instace.go create mode 100644 x/featureflag/keeper/msg_server.go create mode 100644 x/featureflag/keeper/msg_server_test.go create mode 100644 x/featureflag/keeper/msg_update_params.go create mode 100644 x/featureflag/keeper/msg_update_params_test.go create mode 100644 x/featureflag/keeper/params.go create mode 100644 x/featureflag/keeper/params_test.go create mode 100644 x/featureflag/keeper/query.go create mode 100644 x/featureflag/keeper/query_params.go create mode 100644 x/featureflag/keeper/query_params_test.go create mode 100644 x/featureflag/module/autocli.go create mode 100644 x/featureflag/module/genesis.go create mode 100644 x/featureflag/module/genesis_test.go create mode 100644 x/featureflag/module/module.go create mode 100644 x/featureflag/module/simulation.go create mode 100644 x/featureflag/simulation/helpers.go create mode 100644 x/featureflag/types/codec.go create mode 100644 x/featureflag/types/errors.go create mode 100644 x/featureflag/types/expected_keepers.go create mode 100644 x/featureflag/types/flag.pb.go create mode 100644 x/featureflag/types/genesis.go create mode 100644 x/featureflag/types/genesis.pb.go create mode 100644 x/featureflag/types/genesis_test.go create mode 100644 x/featureflag/types/keys.go create mode 100644 x/featureflag/types/msg_update_params.go create mode 100644 x/featureflag/types/params.go create mode 100644 x/featureflag/types/params.pb.go create mode 100644 x/featureflag/types/query.pb.go create mode 100644 x/featureflag/types/query.pb.gw.go create mode 100644 x/featureflag/types/tx.pb.go create mode 100644 x/featureflag/types/types.go diff --git a/api/cardchain/featureflag/flag.pulsar.go b/api/cardchain/featureflag/flag.pulsar.go new file mode 100644 index 00000000..10b5e452 --- /dev/null +++ b/api/cardchain/featureflag/flag.pulsar.go @@ -0,0 +1,706 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package featureflag + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_Flag protoreflect.MessageDescriptor + fd_Flag_Module protoreflect.FieldDescriptor + fd_Flag_Name protoreflect.FieldDescriptor + fd_Flag_Set protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_featureflag_flag_proto_init() + md_Flag = File_cardchain_featureflag_flag_proto.Messages().ByName("Flag") + fd_Flag_Module = md_Flag.Fields().ByName("Module") + fd_Flag_Name = md_Flag.Fields().ByName("Name") + fd_Flag_Set = md_Flag.Fields().ByName("Set") +} + +var _ protoreflect.Message = (*fastReflection_Flag)(nil) + +type fastReflection_Flag Flag + +func (x *Flag) ProtoReflect() protoreflect.Message { + return (*fastReflection_Flag)(x) +} + +func (x *Flag) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_flag_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Flag_messageType fastReflection_Flag_messageType +var _ protoreflect.MessageType = fastReflection_Flag_messageType{} + +type fastReflection_Flag_messageType struct{} + +func (x fastReflection_Flag_messageType) Zero() protoreflect.Message { + return (*fastReflection_Flag)(nil) +} +func (x fastReflection_Flag_messageType) New() protoreflect.Message { + return new(fastReflection_Flag) +} +func (x fastReflection_Flag_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Flag +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Flag) Descriptor() protoreflect.MessageDescriptor { + return md_Flag +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Flag) Type() protoreflect.MessageType { + return _fastReflection_Flag_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Flag) New() protoreflect.Message { + return new(fastReflection_Flag) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Flag) Interface() protoreflect.ProtoMessage { + return (*Flag)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Flag) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Module != "" { + value := protoreflect.ValueOfString(x.Module) + if !f(fd_Flag_Module, value) { + return + } + } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_Flag_Name, value) { + return + } + } + if x.Set_ != false { + value := protoreflect.ValueOfBool(x.Set_) + if !f(fd_Flag_Set, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Flag) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.featureflag.Flag.Module": + return x.Module != "" + case "cardchain.featureflag.Flag.Name": + return x.Name != "" + case "cardchain.featureflag.Flag.Set": + return x.Set_ != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.Flag")) + } + panic(fmt.Errorf("message cardchain.featureflag.Flag does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Flag) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.featureflag.Flag.Module": + x.Module = "" + case "cardchain.featureflag.Flag.Name": + x.Name = "" + case "cardchain.featureflag.Flag.Set": + x.Set_ = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.Flag")) + } + panic(fmt.Errorf("message cardchain.featureflag.Flag does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Flag) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.featureflag.Flag.Module": + value := x.Module + return protoreflect.ValueOfString(value) + case "cardchain.featureflag.Flag.Name": + value := x.Name + return protoreflect.ValueOfString(value) + case "cardchain.featureflag.Flag.Set": + value := x.Set_ + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.Flag")) + } + panic(fmt.Errorf("message cardchain.featureflag.Flag does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Flag) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.featureflag.Flag.Module": + x.Module = value.Interface().(string) + case "cardchain.featureflag.Flag.Name": + x.Name = value.Interface().(string) + case "cardchain.featureflag.Flag.Set": + x.Set_ = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.Flag")) + } + panic(fmt.Errorf("message cardchain.featureflag.Flag does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Flag) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.Flag.Module": + panic(fmt.Errorf("field Module of message cardchain.featureflag.Flag is not mutable")) + case "cardchain.featureflag.Flag.Name": + panic(fmt.Errorf("field Name of message cardchain.featureflag.Flag is not mutable")) + case "cardchain.featureflag.Flag.Set": + panic(fmt.Errorf("field Set of message cardchain.featureflag.Flag is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.Flag")) + } + panic(fmt.Errorf("message cardchain.featureflag.Flag does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Flag) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.Flag.Module": + return protoreflect.ValueOfString("") + case "cardchain.featureflag.Flag.Name": + return protoreflect.ValueOfString("") + case "cardchain.featureflag.Flag.Set": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.Flag")) + } + panic(fmt.Errorf("message cardchain.featureflag.Flag does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Flag) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.Flag", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Flag) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Flag) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Flag) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Flag) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Flag) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Module) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Set_ { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Flag) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Set_ { + i-- + if x.Set_ { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0x12 + } + if len(x.Module) > 0 { + i -= len(x.Module) + copy(dAtA[i:], x.Module) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Module))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Flag) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Flag: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Flag: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Module", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Module = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Set_", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Set_ = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/featureflag/flag.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Flag struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 (x *Flag) Reset() { + *x = Flag{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_flag_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Flag) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Flag) ProtoMessage() {} + +// Deprecated: Use Flag.ProtoReflect.Descriptor instead. +func (*Flag) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_flag_proto_rawDescGZIP(), []int{0} +} + +func (x *Flag) GetModule() string { + if x != nil { + return x.Module + } + return "" +} + +func (x *Flag) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Flag) GetSet_() bool { + if x != nil { + return x.Set_ + } + return false +} + +var File_cardchain_featureflag_flag_proto protoreflect.FileDescriptor + +var file_cardchain_featureflag_flag_proto_rawDesc = []byte{ + 0x0a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x15, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x44, 0x0a, 0x04, 0x46, 0x6c, 0x61, + 0x67, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x53, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x53, 0x65, 0x74, 0x42, + 0xdd, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x42, 0x09, 0x46, + 0x6c, 0x61, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xa2, 0x02, 0x03, 0x43, + 0x46, 0x58, 0xaa, 0x02, 0x15, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xca, 0x02, 0x15, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, + 0x61, 0x67, 0xe2, 0x02, 0x21, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x3a, 0x3a, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_featureflag_flag_proto_rawDescOnce sync.Once + file_cardchain_featureflag_flag_proto_rawDescData = file_cardchain_featureflag_flag_proto_rawDesc +) + +func file_cardchain_featureflag_flag_proto_rawDescGZIP() []byte { + file_cardchain_featureflag_flag_proto_rawDescOnce.Do(func() { + file_cardchain_featureflag_flag_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_featureflag_flag_proto_rawDescData) + }) + return file_cardchain_featureflag_flag_proto_rawDescData +} + +var file_cardchain_featureflag_flag_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_featureflag_flag_proto_goTypes = []interface{}{ + (*Flag)(nil), // 0: cardchain.featureflag.Flag +} +var file_cardchain_featureflag_flag_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cardchain_featureflag_flag_proto_init() } +func file_cardchain_featureflag_flag_proto_init() { + if File_cardchain_featureflag_flag_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_featureflag_flag_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Flag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_featureflag_flag_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_featureflag_flag_proto_goTypes, + DependencyIndexes: file_cardchain_featureflag_flag_proto_depIdxs, + MessageInfos: file_cardchain_featureflag_flag_proto_msgTypes, + }.Build() + File_cardchain_featureflag_flag_proto = out.File + file_cardchain_featureflag_flag_proto_rawDesc = nil + file_cardchain_featureflag_flag_proto_goTypes = nil + file_cardchain_featureflag_flag_proto_depIdxs = nil +} diff --git a/api/cardchain/featureflag/genesis.pulsar.go b/api/cardchain/featureflag/genesis.pulsar.go new file mode 100644 index 00000000..2c435bb2 --- /dev/null +++ b/api/cardchain/featureflag/genesis.pulsar.go @@ -0,0 +1,952 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package featureflag + +import ( + _ "cosmossdk.io/api/amino" + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" +) + +var _ protoreflect.Map = (*_GenesisState_2_map)(nil) + +type _GenesisState_2_map struct { + m *map[string]*Flag +} + +func (x *_GenesisState_2_map) Len() int { + if x.m == nil { + return 0 + } + return len(*x.m) +} + +func (x *_GenesisState_2_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { + if x.m == nil { + return + } + for k, v := range *x.m { + mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k)) + mapValue := protoreflect.ValueOfMessage(v.ProtoReflect()) + if !f(mapKey, mapValue) { + break + } + } +} + +func (x *_GenesisState_2_map) Has(key protoreflect.MapKey) bool { + if x.m == nil { + return false + } + keyUnwrapped := key.String() + concreteValue := keyUnwrapped + _, ok := (*x.m)[concreteValue] + return ok +} + +func (x *_GenesisState_2_map) Clear(key protoreflect.MapKey) { + if x.m == nil { + return + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + delete(*x.m, concreteKey) +} + +func (x *_GenesisState_2_map) Get(key protoreflect.MapKey) protoreflect.Value { + if x.m == nil { + return protoreflect.Value{} + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + v, ok := (*x.m)[concreteKey] + if !ok { + return protoreflect.Value{} + } + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_2_map) Set(key protoreflect.MapKey, value protoreflect.Value) { + if !key.IsValid() || !value.IsValid() { + panic("invalid key or value provided") + } + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Flag) + (*x.m)[concreteKey] = concreteValue +} + +func (x *_GenesisState_2_map) Mutable(key protoreflect.MapKey) protoreflect.Value { + keyUnwrapped := key.String() + concreteKey := keyUnwrapped + v, ok := (*x.m)[concreteKey] + if ok { + return protoreflect.ValueOfMessage(v.ProtoReflect()) + } + newValue := new(Flag) + (*x.m)[concreteKey] = newValue + return protoreflect.ValueOfMessage(newValue.ProtoReflect()) +} + +func (x *_GenesisState_2_map) NewValue() protoreflect.Value { + v := new(Flag) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_2_map) IsValid() bool { + return x.m != nil +} + +var ( + md_GenesisState protoreflect.MessageDescriptor + fd_GenesisState_params protoreflect.FieldDescriptor + fd_GenesisState_flags protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_featureflag_genesis_proto_init() + md_GenesisState = File_cardchain_featureflag_genesis_proto.Messages().ByName("GenesisState") + fd_GenesisState_params = md_GenesisState.Fields().ByName("params") + fd_GenesisState_flags = md_GenesisState.Fields().ByName("flags") +} + +var _ protoreflect.Message = (*fastReflection_GenesisState)(nil) + +type fastReflection_GenesisState GenesisState + +func (x *GenesisState) ProtoReflect() protoreflect.Message { + return (*fastReflection_GenesisState)(x) +} + +func (x *GenesisState) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_genesis_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_GenesisState_messageType fastReflection_GenesisState_messageType +var _ protoreflect.MessageType = fastReflection_GenesisState_messageType{} + +type fastReflection_GenesisState_messageType struct{} + +func (x fastReflection_GenesisState_messageType) Zero() protoreflect.Message { + return (*fastReflection_GenesisState)(nil) +} +func (x fastReflection_GenesisState_messageType) New() protoreflect.Message { + return new(fastReflection_GenesisState) +} +func (x fastReflection_GenesisState_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_GenesisState +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_GenesisState) Descriptor() protoreflect.MessageDescriptor { + return md_GenesisState +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_GenesisState) Type() protoreflect.MessageType { + return _fastReflection_GenesisState_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_GenesisState) New() protoreflect.Message { + return new(fastReflection_GenesisState) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_GenesisState) Interface() protoreflect.ProtoMessage { + return (*GenesisState)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_GenesisState) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Params != nil { + value := protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + if !f(fd_GenesisState_params, value) { + return + } + } + if len(x.Flags) != 0 { + value := protoreflect.ValueOfMap(&_GenesisState_2_map{m: &x.Flags}) + if !f(fd_GenesisState_flags, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_GenesisState) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.featureflag.GenesisState.params": + return x.Params != nil + case "cardchain.featureflag.GenesisState.flags": + return len(x.Flags) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.GenesisState")) + } + panic(fmt.Errorf("message cardchain.featureflag.GenesisState does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GenesisState) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.featureflag.GenesisState.params": + x.Params = nil + case "cardchain.featureflag.GenesisState.flags": + x.Flags = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.GenesisState")) + } + panic(fmt.Errorf("message cardchain.featureflag.GenesisState does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_GenesisState) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.featureflag.GenesisState.params": + value := x.Params + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.featureflag.GenesisState.flags": + if len(x.Flags) == 0 { + return protoreflect.ValueOfMap(&_GenesisState_2_map{}) + } + mapValue := &_GenesisState_2_map{m: &x.Flags} + return protoreflect.ValueOfMap(mapValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.GenesisState")) + } + panic(fmt.Errorf("message cardchain.featureflag.GenesisState does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GenesisState) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.featureflag.GenesisState.params": + x.Params = value.Message().Interface().(*Params) + case "cardchain.featureflag.GenesisState.flags": + mv := value.Map() + cmv := mv.(*_GenesisState_2_map) + x.Flags = *cmv.m + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.GenesisState")) + } + panic(fmt.Errorf("message cardchain.featureflag.GenesisState does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GenesisState) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.GenesisState.params": + if x.Params == nil { + x.Params = new(Params) + } + return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + case "cardchain.featureflag.GenesisState.flags": + if x.Flags == nil { + x.Flags = make(map[string]*Flag) + } + value := &_GenesisState_2_map{m: &x.Flags} + return protoreflect.ValueOfMap(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.GenesisState")) + } + panic(fmt.Errorf("message cardchain.featureflag.GenesisState does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_GenesisState) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.GenesisState.params": + m := new(Params) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.featureflag.GenesisState.flags": + m := make(map[string]*Flag) + return protoreflect.ValueOfMap(&_GenesisState_2_map{m: &m}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.GenesisState")) + } + panic(fmt.Errorf("message cardchain.featureflag.GenesisState does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_GenesisState) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.GenesisState", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_GenesisState) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_GenesisState) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_GenesisState) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*GenesisState) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Params != nil { + l = options.Size(x.Params) + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Flags) > 0 { + SiZeMaP := func(k string, v *Flag) { + l := 0 + if v != nil { + l = options.Size(v) + } + l += 1 + runtime.Sov(uint64(l)) + mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + l + n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize)) + } + if options.Deterministic { + sortme := make([]string, 0, len(x.Flags)) + for k := range x.Flags { + sortme = append(sortme, k) + } + sort.Strings(sortme) + for _, k := range sortme { + v := x.Flags[k] + SiZeMaP(k, v) + } + } else { + for k, v := range x.Flags { + SiZeMaP(k, v) + } + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*GenesisState) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Flags) > 0 { + MaRsHaLmAp := func(k string, v *Flag) (protoiface.MarshalOutput, error) { + baseI := i + encoded, err := options.Marshal(v) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = runtime.EncodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x12 + return protoiface.MarshalOutput{}, nil + } + if options.Deterministic { + keysForFlags := make([]string, 0, len(x.Flags)) + for k := range x.Flags { + keysForFlags = append(keysForFlags, string(k)) + } + sort.Slice(keysForFlags, func(i, j int) bool { + return keysForFlags[i] < keysForFlags[j] + }) + for iNdEx := len(keysForFlags) - 1; iNdEx >= 0; iNdEx-- { + v := x.Flags[string(keysForFlags[iNdEx])] + out, err := MaRsHaLmAp(keysForFlags[iNdEx], v) + if err != nil { + return out, err + } + } + } else { + for k := range x.Flags { + v := x.Flags[k] + out, err := MaRsHaLmAp(k, v) + if err != nil { + return out, err + } + } + } + } + if x.Params != nil { + encoded, err := options.Marshal(x.Params) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*GenesisState) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GenesisState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GenesisState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Params == nil { + x.Params = &Params{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Flags", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Flags == nil { + x.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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postStringIndexmapkey > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postmsgIndex := iNdEx + mapmsglen + if postmsgIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postmsgIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + mapvalue = &Flag{} + if err := options.Unmarshal(dAtA[iNdEx:postmsgIndex], mapvalue); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postmsgIndex + } else { + iNdEx = entryPreIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + x.Flags[mapkey] = mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/featureflag/genesis.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// GenesisState defines the featureflag module's genesis state. +type GenesisState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // params defines all the parameters of the module. + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` + 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 (x *GenesisState) Reset() { + *x = GenesisState{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_genesis_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenesisState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenesisState) ProtoMessage() {} + +// Deprecated: Use GenesisState.ProtoReflect.Descriptor instead. +func (*GenesisState) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_genesis_proto_rawDescGZIP(), []int{0} +} + +func (x *GenesisState) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +func (x *GenesisState) GetFlags() map[string]*Flag { + if x != nil { + return x.Flags + } + return nil +} + +var File_cardchain_featureflag_genesis_proto protoreflect.FileDescriptor + +var file_cardchain_featureflag_genesis_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x1a, 0x11, 0x61, 0x6d, + 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, + 0x2f, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xed, 0x01, 0x0a, 0x0c, + 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, + 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x44, + 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x66, + 0x6c, 0x61, 0x67, 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x46, 0x6c, 0x61, 0x67, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xe0, 0x01, 0x0a, 0x19, + 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, + 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xa2, 0x02, 0x03, 0x43, 0x46, + 0x58, 0xaa, 0x02, 0x15, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xca, 0x02, 0x15, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, + 0x67, 0xe2, 0x02, 0x21, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x3a, 0x3a, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_featureflag_genesis_proto_rawDescOnce sync.Once + file_cardchain_featureflag_genesis_proto_rawDescData = file_cardchain_featureflag_genesis_proto_rawDesc +) + +func file_cardchain_featureflag_genesis_proto_rawDescGZIP() []byte { + file_cardchain_featureflag_genesis_proto_rawDescOnce.Do(func() { + file_cardchain_featureflag_genesis_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_featureflag_genesis_proto_rawDescData) + }) + return file_cardchain_featureflag_genesis_proto_rawDescData +} + +var file_cardchain_featureflag_genesis_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_cardchain_featureflag_genesis_proto_goTypes = []interface{}{ + (*GenesisState)(nil), // 0: cardchain.featureflag.GenesisState + nil, // 1: cardchain.featureflag.GenesisState.FlagsEntry + (*Params)(nil), // 2: cardchain.featureflag.Params + (*Flag)(nil), // 3: cardchain.featureflag.Flag +} +var file_cardchain_featureflag_genesis_proto_depIdxs = []int32{ + 2, // 0: cardchain.featureflag.GenesisState.params:type_name -> cardchain.featureflag.Params + 1, // 1: cardchain.featureflag.GenesisState.flags:type_name -> cardchain.featureflag.GenesisState.FlagsEntry + 3, // 2: cardchain.featureflag.GenesisState.FlagsEntry.value:type_name -> cardchain.featureflag.Flag + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_cardchain_featureflag_genesis_proto_init() } +func file_cardchain_featureflag_genesis_proto_init() { + if File_cardchain_featureflag_genesis_proto != nil { + return + } + file_cardchain_featureflag_params_proto_init() + file_cardchain_featureflag_flag_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_featureflag_genesis_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenesisState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_featureflag_genesis_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_featureflag_genesis_proto_goTypes, + DependencyIndexes: file_cardchain_featureflag_genesis_proto_depIdxs, + MessageInfos: file_cardchain_featureflag_genesis_proto_msgTypes, + }.Build() + File_cardchain_featureflag_genesis_proto = out.File + file_cardchain_featureflag_genesis_proto_rawDesc = nil + file_cardchain_featureflag_genesis_proto_goTypes = nil + file_cardchain_featureflag_genesis_proto_depIdxs = nil +} diff --git a/api/cardchain/featureflag/module/module.pulsar.go b/api/cardchain/featureflag/module/module.pulsar.go new file mode 100644 index 00000000..947efc3f --- /dev/null +++ b/api/cardchain/featureflag/module/module.pulsar.go @@ -0,0 +1,583 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package module + +import ( + _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_Module protoreflect.MessageDescriptor + fd_Module_authority protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_featureflag_module_module_proto_init() + md_Module = File_cardchain_featureflag_module_module_proto.Messages().ByName("Module") + fd_Module_authority = md_Module.Fields().ByName("authority") +} + +var _ protoreflect.Message = (*fastReflection_Module)(nil) + +type fastReflection_Module Module + +func (x *Module) ProtoReflect() protoreflect.Message { + return (*fastReflection_Module)(x) +} + +func (x *Module) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_module_module_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Module_messageType fastReflection_Module_messageType +var _ protoreflect.MessageType = fastReflection_Module_messageType{} + +type fastReflection_Module_messageType struct{} + +func (x fastReflection_Module_messageType) Zero() protoreflect.Message { + return (*fastReflection_Module)(nil) +} +func (x fastReflection_Module_messageType) New() protoreflect.Message { + return new(fastReflection_Module) +} +func (x fastReflection_Module_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Module +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Module) Descriptor() protoreflect.MessageDescriptor { + return md_Module +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Module) Type() protoreflect.MessageType { + return _fastReflection_Module_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Module) New() protoreflect.Message { + return new(fastReflection_Module) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Module) Interface() protoreflect.ProtoMessage { + return (*Module)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Module) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_Module_authority, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Module) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.featureflag.module.Module.authority": + return x.Authority != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.module.Module")) + } + panic(fmt.Errorf("message cardchain.featureflag.module.Module does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Module) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.featureflag.module.Module.authority": + x.Authority = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.module.Module")) + } + panic(fmt.Errorf("message cardchain.featureflag.module.Module does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Module) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.featureflag.module.Module.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.module.Module")) + } + panic(fmt.Errorf("message cardchain.featureflag.module.Module does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Module) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.featureflag.module.Module.authority": + x.Authority = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.module.Module")) + } + panic(fmt.Errorf("message cardchain.featureflag.module.Module does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Module) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.module.Module.authority": + panic(fmt.Errorf("field authority of message cardchain.featureflag.module.Module is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.module.Module")) + } + panic(fmt.Errorf("message cardchain.featureflag.module.Module does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Module) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.module.Module.authority": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.module.Module")) + } + panic(fmt.Errorf("message cardchain.featureflag.module.Module does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Module) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.module.Module", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Module) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Module) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Module) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Module) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Module) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Module) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Module) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Module: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Module: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/featureflag/module/module.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Module is the config object for the module. +type Module struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority defines the custom module authority. If not set, defaults to the governance module. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` +} + +func (x *Module) Reset() { + *x = Module{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_module_module_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Module) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Module) ProtoMessage() {} + +// Deprecated: Use Module.ProtoReflect.Descriptor instead. +func (*Module) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_module_module_proto_rawDescGZIP(), []int{0} +} + +func (x *Module) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +var File_cardchain_featureflag_module_module_proto protoreflect.FileDescriptor + +var file_cardchain_featureflag_module_module_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2f, 0x6d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, + 0x61, 0x67, 0x2e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x1a, 0x20, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x06, 0x4d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x3a, 0x3c, 0xba, 0xc0, 0x96, 0xda, 0x01, 0x36, 0x0a, 0x34, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, + 0x67, 0x42, 0x8a, 0x02, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, + 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x0b, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0xa2, 0x02, + 0x03, 0x43, 0x46, 0x4d, 0xaa, 0x02, 0x1c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x4d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0xca, 0x02, 0x1c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x5c, 0x4d, 0x6f, 0x64, 0x75, + 0x6c, 0x65, 0xe2, 0x02, 0x28, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x5c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1e, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x3a, 0x3a, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_featureflag_module_module_proto_rawDescOnce sync.Once + file_cardchain_featureflag_module_module_proto_rawDescData = file_cardchain_featureflag_module_module_proto_rawDesc +) + +func file_cardchain_featureflag_module_module_proto_rawDescGZIP() []byte { + file_cardchain_featureflag_module_module_proto_rawDescOnce.Do(func() { + file_cardchain_featureflag_module_module_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_featureflag_module_module_proto_rawDescData) + }) + return file_cardchain_featureflag_module_module_proto_rawDescData +} + +var file_cardchain_featureflag_module_module_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_featureflag_module_module_proto_goTypes = []interface{}{ + (*Module)(nil), // 0: cardchain.featureflag.module.Module +} +var file_cardchain_featureflag_module_module_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cardchain_featureflag_module_module_proto_init() } +func file_cardchain_featureflag_module_module_proto_init() { + if File_cardchain_featureflag_module_module_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_featureflag_module_module_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Module); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_featureflag_module_module_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_featureflag_module_module_proto_goTypes, + DependencyIndexes: file_cardchain_featureflag_module_module_proto_depIdxs, + MessageInfos: file_cardchain_featureflag_module_module_proto_msgTypes, + }.Build() + File_cardchain_featureflag_module_module_proto = out.File + file_cardchain_featureflag_module_module_proto_rawDesc = nil + file_cardchain_featureflag_module_module_proto_goTypes = nil + file_cardchain_featureflag_module_module_proto_depIdxs = nil +} diff --git a/api/cardchain/featureflag/params.pulsar.go b/api/cardchain/featureflag/params.pulsar.go new file mode 100644 index 00000000..fb51fec2 --- /dev/null +++ b/api/cardchain/featureflag/params.pulsar.go @@ -0,0 +1,504 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package featureflag + +import ( + _ "cosmossdk.io/api/amino" + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_Params protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_featureflag_params_proto_init() + md_Params = File_cardchain_featureflag_params_proto.Messages().ByName("Params") +} + +var _ protoreflect.Message = (*fastReflection_Params)(nil) + +type fastReflection_Params Params + +func (x *Params) ProtoReflect() protoreflect.Message { + return (*fastReflection_Params)(x) +} + +func (x *Params) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_params_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Params_messageType fastReflection_Params_messageType +var _ protoreflect.MessageType = fastReflection_Params_messageType{} + +type fastReflection_Params_messageType struct{} + +func (x fastReflection_Params_messageType) Zero() protoreflect.Message { + return (*fastReflection_Params)(nil) +} +func (x fastReflection_Params_messageType) New() protoreflect.Message { + return new(fastReflection_Params) +} +func (x fastReflection_Params_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Params +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Params) Descriptor() protoreflect.MessageDescriptor { + return md_Params +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Params) Type() protoreflect.MessageType { + return _fastReflection_Params_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Params) New() protoreflect.Message { + return new(fastReflection_Params) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Params) Interface() protoreflect.ProtoMessage { + return (*Params)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.Params")) + } + panic(fmt.Errorf("message cardchain.featureflag.Params does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.Params")) + } + panic(fmt.Errorf("message cardchain.featureflag.Params does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.Params")) + } + panic(fmt.Errorf("message cardchain.featureflag.Params does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.Params")) + } + panic(fmt.Errorf("message cardchain.featureflag.Params does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.Params")) + } + panic(fmt.Errorf("message cardchain.featureflag.Params does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.Params")) + } + panic(fmt.Errorf("message cardchain.featureflag.Params does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Params) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.Params", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Params) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Params) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Params) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Params) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Params) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Params) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Params: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/featureflag/params.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Params defines the parameters for the module. +type Params struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Params) Reset() { + *x = Params{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_params_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Params) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Params) ProtoMessage() {} + +// Deprecated: Use Params.ProtoReflect.Descriptor instead. +func (*Params) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_params_proto_rawDescGZIP(), []int{0} +} + +var File_cardchain_featureflag_params_proto protoreflect.FileDescriptor + +var file_cardchain_featureflag_params_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x1a, 0x11, 0x61, 0x6d, 0x69, + 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, + 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x27, + 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, + 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0xdf, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x66, 0x6c, 0x61, 0x67, 0x42, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xa2, 0x02, 0x03, 0x43, 0x46, 0x58, 0xaa, 0x02, 0x15, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x66, 0x6c, 0x61, 0x67, 0xca, 0x02, 0x15, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xe2, 0x02, 0x21, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x66, 0x6c, 0x61, 0x67, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x16, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_cardchain_featureflag_params_proto_rawDescOnce sync.Once + file_cardchain_featureflag_params_proto_rawDescData = file_cardchain_featureflag_params_proto_rawDesc +) + +func file_cardchain_featureflag_params_proto_rawDescGZIP() []byte { + file_cardchain_featureflag_params_proto_rawDescOnce.Do(func() { + file_cardchain_featureflag_params_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_featureflag_params_proto_rawDescData) + }) + return file_cardchain_featureflag_params_proto_rawDescData +} + +var file_cardchain_featureflag_params_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_featureflag_params_proto_goTypes = []interface{}{ + (*Params)(nil), // 0: cardchain.featureflag.Params +} +var file_cardchain_featureflag_params_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cardchain_featureflag_params_proto_init() } +func file_cardchain_featureflag_params_proto_init() { + if File_cardchain_featureflag_params_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_featureflag_params_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Params); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_featureflag_params_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_featureflag_params_proto_goTypes, + DependencyIndexes: file_cardchain_featureflag_params_proto_depIdxs, + MessageInfos: file_cardchain_featureflag_params_proto_msgTypes, + }.Build() + File_cardchain_featureflag_params_proto = out.File + file_cardchain_featureflag_params_proto_rawDesc = nil + file_cardchain_featureflag_params_proto_goTypes = nil + file_cardchain_featureflag_params_proto_depIdxs = nil +} diff --git a/api/cardchain/featureflag/query.pulsar.go b/api/cardchain/featureflag/query.pulsar.go new file mode 100644 index 00000000..3419d3a4 --- /dev/null +++ b/api/cardchain/featureflag/query.pulsar.go @@ -0,0 +1,1016 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package featureflag + +import ( + _ "cosmossdk.io/api/amino" + _ "cosmossdk.io/api/cosmos/base/query/v1beta1" + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_QueryParamsRequest protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_featureflag_query_proto_init() + md_QueryParamsRequest = File_cardchain_featureflag_query_proto.Messages().ByName("QueryParamsRequest") +} + +var _ protoreflect.Message = (*fastReflection_QueryParamsRequest)(nil) + +type fastReflection_QueryParamsRequest QueryParamsRequest + +func (x *QueryParamsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryParamsRequest)(x) +} + +func (x *QueryParamsRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_query_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryParamsRequest_messageType fastReflection_QueryParamsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryParamsRequest_messageType{} + +type fastReflection_QueryParamsRequest_messageType struct{} + +func (x fastReflection_QueryParamsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryParamsRequest)(nil) +} +func (x fastReflection_QueryParamsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryParamsRequest) +} +func (x fastReflection_QueryParamsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryParamsRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryParamsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryParamsRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryParamsRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryParamsRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryParamsRequest) New() protoreflect.Message { + return new(fastReflection_QueryParamsRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryParamsRequest) Interface() protoreflect.ProtoMessage { + return (*QueryParamsRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryParamsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryParamsRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryParamsRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryParamsRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryParamsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryParamsRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryParamsRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryParamsRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryParamsRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryParamsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryParamsRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryParamsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.QueryParamsRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryParamsRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryParamsRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryParamsRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryParamsRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryParamsRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryParamsRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryParamsResponse protoreflect.MessageDescriptor + fd_QueryParamsResponse_params protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_featureflag_query_proto_init() + md_QueryParamsResponse = File_cardchain_featureflag_query_proto.Messages().ByName("QueryParamsResponse") + fd_QueryParamsResponse_params = md_QueryParamsResponse.Fields().ByName("params") +} + +var _ protoreflect.Message = (*fastReflection_QueryParamsResponse)(nil) + +type fastReflection_QueryParamsResponse QueryParamsResponse + +func (x *QueryParamsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryParamsResponse)(x) +} + +func (x *QueryParamsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_query_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryParamsResponse_messageType fastReflection_QueryParamsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryParamsResponse_messageType{} + +type fastReflection_QueryParamsResponse_messageType struct{} + +func (x fastReflection_QueryParamsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryParamsResponse)(nil) +} +func (x fastReflection_QueryParamsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryParamsResponse) +} +func (x fastReflection_QueryParamsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryParamsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryParamsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryParamsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryParamsResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryParamsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryParamsResponse) New() protoreflect.Message { + return new(fastReflection_QueryParamsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryParamsResponse) Interface() protoreflect.ProtoMessage { + return (*QueryParamsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryParamsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Params != nil { + value := protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + if !f(fd_QueryParamsResponse_params, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryParamsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.featureflag.QueryParamsResponse.params": + return x.Params != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryParamsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.featureflag.QueryParamsResponse.params": + x.Params = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryParamsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryParamsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.featureflag.QueryParamsResponse.params": + value := x.Params + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryParamsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryParamsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.featureflag.QueryParamsResponse.params": + x.Params = value.Message().Interface().(*Params) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryParamsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.QueryParamsResponse.params": + if x.Params == nil { + x.Params = new(Params) + } + return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryParamsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryParamsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.QueryParamsResponse.params": + m := new(Params) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryParamsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryParamsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.QueryParamsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryParamsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryParamsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryParamsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryParamsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Params != nil { + l = options.Size(x.Params) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryParamsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Params != nil { + encoded, err := options.Marshal(x.Params) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryParamsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Params == nil { + x.Params = &Params{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/featureflag/query.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// QueryParamsRequest is request type for the Query/Params RPC method. +type QueryParamsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryParamsRequest) Reset() { + *x = QueryParamsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_query_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsRequest) ProtoMessage() {} + +// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. +func (*QueryParamsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_query_proto_rawDescGZIP(), []int{0} +} + +// QueryParamsResponse is response type for the Query/Params RPC method. +type QueryParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // params holds all the parameters of this module. + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *QueryParamsResponse) Reset() { + *x = QueryParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_query_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsResponse) ProtoMessage() {} + +// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. +func (*QueryParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_query_proto_rawDescGZIP(), []int{1} +} + +func (x *QueryParamsResponse) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +var File_cardchain_featureflag_query_proto protoreflect.FileDescriptor + +var file_cardchain_featureflag_query_proto_rawDesc = []byte{ + 0x0a, 0x21, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, + 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, + 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x57, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, + 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x32, 0xa2, 0x01, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x98, 0x01, 0x0a, 0x06, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0xde, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, + 0x6c, 0x61, 0x67, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, + 0x6c, 0x61, 0x67, 0xa2, 0x02, 0x03, 0x43, 0x46, 0x58, 0xaa, 0x02, 0x15, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, + 0x67, 0xca, 0x02, 0x15, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xe2, 0x02, 0x21, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, + 0x67, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_featureflag_query_proto_rawDescOnce sync.Once + file_cardchain_featureflag_query_proto_rawDescData = file_cardchain_featureflag_query_proto_rawDesc +) + +func file_cardchain_featureflag_query_proto_rawDescGZIP() []byte { + file_cardchain_featureflag_query_proto_rawDescOnce.Do(func() { + file_cardchain_featureflag_query_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_featureflag_query_proto_rawDescData) + }) + return file_cardchain_featureflag_query_proto_rawDescData +} + +var file_cardchain_featureflag_query_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_cardchain_featureflag_query_proto_goTypes = []interface{}{ + (*QueryParamsRequest)(nil), // 0: cardchain.featureflag.QueryParamsRequest + (*QueryParamsResponse)(nil), // 1: cardchain.featureflag.QueryParamsResponse + (*Params)(nil), // 2: cardchain.featureflag.Params +} +var file_cardchain_featureflag_query_proto_depIdxs = []int32{ + 2, // 0: cardchain.featureflag.QueryParamsResponse.params:type_name -> cardchain.featureflag.Params + 0, // 1: cardchain.featureflag.Query.Params:input_type -> cardchain.featureflag.QueryParamsRequest + 1, // 2: cardchain.featureflag.Query.Params:output_type -> cardchain.featureflag.QueryParamsResponse + 2, // [2:3] is the sub-list for method output_type + 1, // [1:2] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_cardchain_featureflag_query_proto_init() } +func file_cardchain_featureflag_query_proto_init() { + if File_cardchain_featureflag_query_proto != nil { + return + } + file_cardchain_featureflag_params_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_featureflag_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryParamsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_featureflag_query_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryParamsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_featureflag_query_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_cardchain_featureflag_query_proto_goTypes, + DependencyIndexes: file_cardchain_featureflag_query_proto_depIdxs, + MessageInfos: file_cardchain_featureflag_query_proto_msgTypes, + }.Build() + File_cardchain_featureflag_query_proto = out.File + file_cardchain_featureflag_query_proto_rawDesc = nil + file_cardchain_featureflag_query_proto_goTypes = nil + file_cardchain_featureflag_query_proto_depIdxs = nil +} diff --git a/api/cardchain/featureflag/query_grpc.pb.go b/api/cardchain/featureflag/query_grpc.pb.go new file mode 100644 index 00000000..f7957337 --- /dev/null +++ b/api/cardchain/featureflag/query_grpc.pb.go @@ -0,0 +1,111 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: cardchain/featureflag/query.proto + +package featureflag + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + Query_Params_FullMethodName = "/cardchain.featureflag.Query/Params" +) + +// QueryClient is the client API for Query service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type QueryClient interface { + // Parameters queries the parameters of the module. + Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) +} + +type queryClient struct { + cc grpc.ClientConnInterface +} + +func NewQueryClient(cc grpc.ClientConnInterface) 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, Query_Params_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// QueryServer is the server API for Query service. +// All implementations must embed UnimplementedQueryServer +// for forward compatibility +type QueryServer interface { + // Parameters queries the parameters of the module. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + mustEmbedUnimplementedQueryServer() +} + +// UnimplementedQueryServer must be embedded to have forward compatible implementations. +type UnimplementedQueryServer struct { +} + +func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") +} +func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} + +// UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to QueryServer will +// result in compilation errors. +type UnsafeQueryServer interface { + mustEmbedUnimplementedQueryServer() +} + +func RegisterQueryServer(s grpc.ServiceRegistrar, 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: Query_Params_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Query_ServiceDesc is the grpc.ServiceDesc for Query service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Query_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.featureflag.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/featureflag/query.proto", +} diff --git a/api/cardchain/featureflag/tx.pulsar.go b/api/cardchain/featureflag/tx.pulsar.go new file mode 100644 index 00000000..0cef5f49 --- /dev/null +++ b/api/cardchain/featureflag/tx.pulsar.go @@ -0,0 +1,1095 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package featureflag + +import ( + _ "cosmossdk.io/api/amino" + _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" + _ "github.com/cosmos/cosmos-proto" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_MsgUpdateParams protoreflect.MessageDescriptor + fd_MsgUpdateParams_authority protoreflect.FieldDescriptor + fd_MsgUpdateParams_params protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_featureflag_tx_proto_init() + md_MsgUpdateParams = File_cardchain_featureflag_tx_proto.Messages().ByName("MsgUpdateParams") + fd_MsgUpdateParams_authority = md_MsgUpdateParams.Fields().ByName("authority") + fd_MsgUpdateParams_params = md_MsgUpdateParams.Fields().ByName("params") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateParams)(nil) + +type fastReflection_MsgUpdateParams MsgUpdateParams + +func (x *MsgUpdateParams) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateParams)(x) +} + +func (x *MsgUpdateParams) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_tx_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgUpdateParams_messageType fastReflection_MsgUpdateParams_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateParams_messageType{} + +type fastReflection_MsgUpdateParams_messageType struct{} + +func (x fastReflection_MsgUpdateParams_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateParams)(nil) +} +func (x fastReflection_MsgUpdateParams_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParams) +} +func (x fastReflection_MsgUpdateParams_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParams +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateParams) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParams +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUpdateParams) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateParams_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateParams) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParams) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateParams) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateParams)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUpdateParams) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgUpdateParams_authority, value) { + return + } + } + if x.Params != nil { + value := protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + if !f(fd_MsgUpdateParams_params, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateParams) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.featureflag.MsgUpdateParams.authority": + return x.Authority != "" + case "cardchain.featureflag.MsgUpdateParams.params": + return x.Params != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgUpdateParams")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.featureflag.MsgUpdateParams.authority": + x.Authority = "" + case "cardchain.featureflag.MsgUpdateParams.params": + x.Params = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgUpdateParams")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUpdateParams) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.featureflag.MsgUpdateParams.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "cardchain.featureflag.MsgUpdateParams.params": + value := x.Params + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgUpdateParams")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgUpdateParams does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.featureflag.MsgUpdateParams.authority": + x.Authority = value.Interface().(string) + case "cardchain.featureflag.MsgUpdateParams.params": + x.Params = value.Message().Interface().(*Params) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgUpdateParams")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.MsgUpdateParams.params": + if x.Params == nil { + x.Params = new(Params) + } + return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + case "cardchain.featureflag.MsgUpdateParams.authority": + panic(fmt.Errorf("field authority of message cardchain.featureflag.MsgUpdateParams is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgUpdateParams")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUpdateParams) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.MsgUpdateParams.authority": + return protoreflect.ValueOfString("") + case "cardchain.featureflag.MsgUpdateParams.params": + m := new(Params) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgUpdateParams")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUpdateParams) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.MsgUpdateParams", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUpdateParams) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUpdateParams) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUpdateParams) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateParams) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Params != nil { + l = options.Size(x.Params) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParams) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Params != nil { + encoded, err := options.Marshal(x.Params) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParams) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Params == nil { + x.Params = &Params{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgUpdateParamsResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_featureflag_tx_proto_init() + md_MsgUpdateParamsResponse = File_cardchain_featureflag_tx_proto.Messages().ByName("MsgUpdateParamsResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateParamsResponse)(nil) + +type fastReflection_MsgUpdateParamsResponse MsgUpdateParamsResponse + +func (x *MsgUpdateParamsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateParamsResponse)(x) +} + +func (x *MsgUpdateParamsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_tx_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgUpdateParamsResponse_messageType fastReflection_MsgUpdateParamsResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateParamsResponse_messageType{} + +type fastReflection_MsgUpdateParamsResponse_messageType struct{} + +func (x fastReflection_MsgUpdateParamsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateParamsResponse)(nil) +} +func (x fastReflection_MsgUpdateParamsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParamsResponse) +} +func (x fastReflection_MsgUpdateParamsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParamsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateParamsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParamsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUpdateParamsResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateParamsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateParamsResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParamsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateParamsResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateParamsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUpdateParamsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateParamsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUpdateParamsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgUpdateParamsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUpdateParamsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUpdateParamsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.MsgUpdateParamsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUpdateParamsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUpdateParamsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateParamsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParamsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParamsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/featureflag/tx.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// MsgUpdateParams is the Msg/UpdateParams request type. +type MsgUpdateParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address that controls the module (defaults to x/gov unless overwritten). + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the module parameters to update. + // + // NOTE: All parameters must be supplied. + Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *MsgUpdateParams) Reset() { + *x = MsgUpdateParams{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_tx_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParams) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_tx_proto_rawDescGZIP(), []int{0} +} + +func (x *MsgUpdateParams) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgUpdateParams) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +type MsgUpdateParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUpdateParamsResponse) Reset() { + *x = MsgUpdateParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_tx_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParamsResponse) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_tx_proto_rawDescGZIP(), []int{1} +} + +var File_cardchain_featureflag_tx_proto protoreflect.FileDescriptor + +var file_cardchain_featureflag_tx_proto_rawDesc = []byte{ + 0x0a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x74, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x15, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, + 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x6d, 0x73, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, + 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x3a, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x27, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, + 0x61, 0x67, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x74, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x12, 0x66, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, + 0xb0, 0x2a, 0x01, 0x42, 0xdb, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, + 0x67, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xa2, 0x02, + 0x03, 0x43, 0x46, 0x58, 0xaa, 0x02, 0x15, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xca, 0x02, 0x15, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x66, 0x6c, 0x61, 0x67, 0xe2, 0x02, 0x21, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, + 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_featureflag_tx_proto_rawDescOnce sync.Once + file_cardchain_featureflag_tx_proto_rawDescData = file_cardchain_featureflag_tx_proto_rawDesc +) + +func file_cardchain_featureflag_tx_proto_rawDescGZIP() []byte { + file_cardchain_featureflag_tx_proto_rawDescOnce.Do(func() { + file_cardchain_featureflag_tx_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_featureflag_tx_proto_rawDescData) + }) + return file_cardchain_featureflag_tx_proto_rawDescData +} + +var file_cardchain_featureflag_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_cardchain_featureflag_tx_proto_goTypes = []interface{}{ + (*MsgUpdateParams)(nil), // 0: cardchain.featureflag.MsgUpdateParams + (*MsgUpdateParamsResponse)(nil), // 1: cardchain.featureflag.MsgUpdateParamsResponse + (*Params)(nil), // 2: cardchain.featureflag.Params +} +var file_cardchain_featureflag_tx_proto_depIdxs = []int32{ + 2, // 0: cardchain.featureflag.MsgUpdateParams.params:type_name -> cardchain.featureflag.Params + 0, // 1: cardchain.featureflag.Msg.UpdateParams:input_type -> cardchain.featureflag.MsgUpdateParams + 1, // 2: cardchain.featureflag.Msg.UpdateParams:output_type -> cardchain.featureflag.MsgUpdateParamsResponse + 2, // [2:3] is the sub-list for method output_type + 1, // [1:2] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_cardchain_featureflag_tx_proto_init() } +func file_cardchain_featureflag_tx_proto_init() { + if File_cardchain_featureflag_tx_proto != nil { + return + } + file_cardchain_featureflag_params_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_featureflag_tx_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParams); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_featureflag_tx_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParamsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_featureflag_tx_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_cardchain_featureflag_tx_proto_goTypes, + DependencyIndexes: file_cardchain_featureflag_tx_proto_depIdxs, + MessageInfos: file_cardchain_featureflag_tx_proto_msgTypes, + }.Build() + File_cardchain_featureflag_tx_proto = out.File + file_cardchain_featureflag_tx_proto_rawDesc = nil + file_cardchain_featureflag_tx_proto_goTypes = nil + file_cardchain_featureflag_tx_proto_depIdxs = nil +} diff --git a/api/cardchain/featureflag/tx_grpc.pb.go b/api/cardchain/featureflag/tx_grpc.pb.go new file mode 100644 index 00000000..95442cac --- /dev/null +++ b/api/cardchain/featureflag/tx_grpc.pb.go @@ -0,0 +1,113 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: cardchain/featureflag/tx.proto + +package featureflag + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + Msg_UpdateParams_FullMethodName = "/cardchain.featureflag.Msg/UpdateParams" +) + +// MsgClient is the client API for Msg service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type MsgClient interface { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) +} + +type msgClient struct { + cc grpc.ClientConnInterface +} + +func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { + return &msgClient{cc} +} + +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MsgServer is the server API for Msg service. +// All implementations must embed UnimplementedMsgServer +// for forward compatibility +type MsgServer interface { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + mustEmbedUnimplementedMsgServer() +} + +// UnimplementedMsgServer must be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { +} + +func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} +func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} + +// UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to MsgServer will +// result in compilation errors. +type UnsafeMsgServer interface { + mustEmbedUnimplementedMsgServer() +} + +func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + s.RegisterService(&Msg_ServiceDesc, srv) +} + +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_UpdateParams_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + +// Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Msg_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.featureflag.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/featureflag/tx.proto", +} diff --git a/app/app.go b/app/app.go index 360ea174..ffadeaca 100644 --- a/app/app.go +++ b/app/app.go @@ -76,6 +76,8 @@ import ( ibckeeper "github.com/cosmos/ibc-go/v8/modules/core/keeper" cardchainmodulekeeper "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" + featureflagmodulekeeper "github.com/DecentralCardGame/cardchain/x/featureflag/keeper" + // this line is used by starport scaffolding # stargate/app/moduleImport "github.com/DecentralCardGame/cardchain/docs" @@ -141,7 +143,8 @@ type App struct { ScopedICAHostKeeper capabilitykeeper.ScopedKeeper ScopedKeepers map[string]capabilitykeeper.ScopedKeeper - CardchainKeeper cardchainmodulekeeper.Keeper + CardchainKeeper cardchainmodulekeeper.Keeper + FeatureflagKeeper featureflagmodulekeeper.Keeper // this line is used by starport scaffolding # stargate/app/keeperDeclaration // simulation manager @@ -246,6 +249,7 @@ func New( &app.GroupKeeper, &app.CircuitBreakerKeeper, &app.CardchainKeeper, + &app.FeatureflagKeeper, // this line is used by starport scaffolding # stargate/app/keeperDefinition ); err != nil { panic(err) diff --git a/app/app_config.go b/app/app_config.go index 732d1738..fd75a098 100644 --- a/app/app_config.go +++ b/app/app_config.go @@ -54,8 +54,11 @@ import ( "google.golang.org/protobuf/types/known/durationpb" cardchainmodulev1 "github.com/DecentralCardGame/cardchain/api/cardchain/cardchain/module" + featureflagmodulev1 "github.com/DecentralCardGame/cardchain/api/cardchain/featureflag/module" _ "github.com/DecentralCardGame/cardchain/x/cardchain/module" // import for side-effects cardchainmoduletypes "github.com/DecentralCardGame/cardchain/x/cardchain/types" + _ "github.com/DecentralCardGame/cardchain/x/featureflag/module" // import for side-effects + featureflagmoduletypes "github.com/DecentralCardGame/cardchain/x/featureflag/types" // this line is used by starport scaffolding # stargate/app/moduleImport ) @@ -94,6 +97,7 @@ var ( circuittypes.ModuleName, // chain modules cardchainmoduletypes.ModuleName, + featureflagmoduletypes.ModuleName, // this line is used by starport scaffolding # stargate/app/initGenesis } @@ -119,6 +123,7 @@ var ( ibcfeetypes.ModuleName, // chain modules cardchainmoduletypes.ModuleName, + featureflagmoduletypes.ModuleName, // this line is used by starport scaffolding # stargate/app/beginBlockers } @@ -138,6 +143,7 @@ var ( ibcfeetypes.ModuleName, // chain modules cardchainmoduletypes.ModuleName, + featureflagmoduletypes.ModuleName, // this line is used by starport scaffolding # stargate/app/endBlockers } @@ -297,6 +303,10 @@ var ( Name: cardchainmoduletypes.ModuleName, Config: appconfig.WrapAny(&cardchainmodulev1.Module{}), }, + { + Name: featureflagmoduletypes.ModuleName, + Config: appconfig.WrapAny(&featureflagmodulev1.Module{}), + }, // this line is used by starport scaffolding # stargate/app/moduleConfig }, }) diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 3bd41838..23ee980a 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerAdeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBdeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin18","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin19","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerAdeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBdeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/featureflag/flag.proto b/proto/cardchain/featureflag/flag.proto new file mode 100644 index 00000000..8c887476 --- /dev/null +++ b/proto/cardchain/featureflag/flag.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package cardchain.featureflag; + +option go_package = "github.com/DecentralCardGame/cardchain/x/featureflag/types"; + +message Flag { + string Module = 1; + string Name = 2; + bool Set = 3; +} diff --git a/proto/cardchain/featureflag/genesis.proto b/proto/cardchain/featureflag/genesis.proto new file mode 100644 index 00000000..0cac056c --- /dev/null +++ b/proto/cardchain/featureflag/genesis.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; +package cardchain.featureflag; + +import "amino/amino.proto"; +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 defines all the parameters of the module. + Params params = 1 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; + + map flags = 2; +} diff --git a/proto/cardchain/featureflag/module/module.proto b/proto/cardchain/featureflag/module/module.proto new file mode 100644 index 00000000..6bdb6088 --- /dev/null +++ b/proto/cardchain/featureflag/module/module.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package cardchain.featureflag.module; + +import "cosmos/app/v1alpha1/module.proto"; + +// Module is the config object for the module. +message Module { + option (cosmos.app.v1alpha1.module) = { + go_import: "github.com/DecentralCardGame/cardchain/x/featureflag" + }; + + // authority defines the custom module authority. If not set, defaults to the governance module. + string authority = 1; +} \ No newline at end of file diff --git a/proto/cardchain/featureflag/params.proto b/proto/cardchain/featureflag/params.proto new file mode 100644 index 00000000..bba3a380 --- /dev/null +++ b/proto/cardchain/featureflag/params.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package cardchain.featureflag; + +import "amino/amino.proto"; +import "gogoproto/gogo.proto"; + +option go_package = "github.com/DecentralCardGame/cardchain/x/featureflag/types"; + +// Params defines the parameters for the module. +message Params { + option (amino.name) = "cardchain/x/featureflag/Params"; + option (gogoproto.equal) = true; + + +} \ 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..bb9d652b --- /dev/null +++ b/proto/cardchain/featureflag/query.proto @@ -0,0 +1,30 @@ +syntax = "proto3"; +package cardchain.featureflag; + +import "amino/amino.proto"; +import "gogoproto/gogo.proto"; +import "google/api/annotations.proto"; +import "cosmos/base/query/v1beta1/pagination.proto"; +import "cardchain/featureflag/params.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"; + } +} + +// 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, + (amino.dont_omitempty) = true + ]; +} \ No newline at end of file diff --git a/proto/cardchain/featureflag/tx.proto b/proto/cardchain/featureflag/tx.proto new file mode 100644 index 00000000..636a7189 --- /dev/null +++ b/proto/cardchain/featureflag/tx.proto @@ -0,0 +1,40 @@ +syntax = "proto3"; +package cardchain.featureflag; + +import "amino/amino.proto"; +import "cosmos/msg/v1/msg.proto"; +import "cosmos_proto/cosmos.proto"; +import "gogoproto/gogo.proto"; +import "cardchain/featureflag/params.proto"; + +option go_package = "github.com/DecentralCardGame/cardchain/x/featureflag/types"; + +// Msg defines the Msg service. +service Msg { + option (cosmos.msg.v1.service) = true; + + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); +} + +// MsgUpdateParams is the Msg/UpdateParams request type. +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "authority"; + option (amino.name) = "cardchain/x/featureflag/MsgUpdateParams"; + + // authority is the address that controls the module (defaults to x/gov unless overwritten). + string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + + // params defines the module parameters to update. + // + // NOTE: All parameters must be supplied. + Params params = 2 [ + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true + ]; +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +message MsgUpdateParamsResponse {} \ No newline at end of file diff --git a/testutil/keeper/featureflag.go b/testutil/keeper/featureflag.go new file mode 100644 index 00000000..d2769be2 --- /dev/null +++ b/testutil/keeper/featureflag.go @@ -0,0 +1,51 @@ +package keeper + +import ( + "testing" + + "cosmossdk.io/log" + "cosmossdk.io/store" + "cosmossdk.io/store/metrics" + storetypes "cosmossdk.io/store/types" + cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" + dbm "github.com/cosmos/cosmos-db" + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/runtime" + sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/stretchr/testify/require" + + "github.com/DecentralCardGame/cardchain/x/featureflag/keeper" + "github.com/DecentralCardGame/cardchain/x/featureflag/types" +) + +func FeatureflagKeeper(t testing.TB) (keeper.Keeper, sdk.Context) { + storeKey := storetypes.NewKVStoreKey(types.StoreKey) + + db := dbm.NewMemDB() + stateStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) + stateStore.MountStoreWithDB(storeKey, storetypes.StoreTypeIAVL, db) + require.NoError(t, stateStore.LoadLatestVersion()) + + registry := codectypes.NewInterfaceRegistry() + cdc := codec.NewProtoCodec(registry) + authority := authtypes.NewModuleAddress(govtypes.ModuleName) + + k := keeper.NewKeeper( + cdc, + runtime.NewKVStoreService(storeKey), + log.NewNopLogger(), + authority.String(), + ) + + ctx := sdk.NewContext(stateStore, cmtproto.Header{}, false, log.NewNopLogger()) + + // Initialize params + if err := k.SetParams(ctx, types.DefaultParams()); err != nil { + panic(err) + } + + return k, ctx +} diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index 0ee57428..c4ae9112 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -10,6 +10,7 @@ import ( gtk "github.com/DecentralCardGame/cardchain/types/generic_type_keeper" "github.com/DecentralCardGame/cardchain/x/cardchain/types" + ffKeeper "github.com/DecentralCardGame/cardchain/x/featureflag/keeper" ) type ( @@ -33,7 +34,8 @@ type ( // should be the x/gov module account. authority string - BankKeeper types.BankKeeper + BankKeeper types.BankKeeper + FeatureFlagModuleInstance ffKeeper.ModuleInstance } ) @@ -43,6 +45,7 @@ func NewKeeper( logger log.Logger, authority string, bankKeeper types.BankKeeper, + featureFlagKeeper types.FeatureFlagKeeper, ) Keeper { if _, err := sdk.AccAddressFromBech32(authority); err != nil { @@ -66,7 +69,8 @@ func NewKeeper( Servers: gtk.NewGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), Encounters: gtk.NewGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), - BankKeeper: bankKeeper, + FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), + BankKeeper: bankKeeper, } } diff --git a/x/cardchain/module/module.go b/x/cardchain/module/module.go index dcff5bfe..dedf9ced 100644 --- a/x/cardchain/module/module.go +++ b/x/cardchain/module/module.go @@ -180,8 +180,9 @@ type ModuleInputs struct { Config *modulev1.Module Logger log.Logger - AccountKeeper types.AccountKeeper - BankKeeper types.BankKeeper + AccountKeeper types.AccountKeeper + BankKeeper types.BankKeeper + FeatureFlagKeeper types.FeatureFlagKeeper } type ModuleOutputs struct { @@ -203,6 +204,7 @@ func ProvideModule(in ModuleInputs) ModuleOutputs { in.Logger, authority.String(), in.BankKeeper, + in.FeatureFlagKeeper, ) m := NewAppModule( in.Cdc, diff --git a/x/cardchain/types/expected_keepers.go b/x/cardchain/types/expected_keepers.go index 94466ccd..34bb5bc3 100644 --- a/x/cardchain/types/expected_keepers.go +++ b/x/cardchain/types/expected_keepers.go @@ -3,6 +3,7 @@ package types import ( "context" + ffKeeper "github.com/DecentralCardGame/cardchain/x/featureflag/keeper" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -12,6 +13,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 for the Bank module. type BankKeeper interface { SpendableCoins(context.Context, 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..b4b816f4 --- /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" +) diff --git a/x/featureflag/keeper/keeper.go b/x/featureflag/keeper/keeper.go new file mode 100644 index 00000000..211263a1 --- /dev/null +++ b/x/featureflag/keeper/keeper.go @@ -0,0 +1,126 @@ +package keeper + +import ( + "fmt" + "slices" + + "cosmossdk.io/core/store" + sdkerrors "cosmossdk.io/errors" + "cosmossdk.io/log" + "cosmossdk.io/store/prefix" + storetypes "cosmossdk.io/store/types" + db "github.com/cosmos/cosmos-db" + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/runtime" + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/DecentralCardGame/cardchain/x/featureflag/types" +) + +const flagStoreKey = "Flags" + +type ( + Keeper struct { + cdc codec.BinaryCodec + storeService store.KVStoreService + logger log.Logger + + // the address capable of executing a MsgUpdateParams message. Typically, this + // should be the x/gov module account. + authority string + flagKeys *[][2]string + } +) + +func NewKeeper( + cdc codec.BinaryCodec, + storeService store.KVStoreService, + logger log.Logger, + authority string, + +) Keeper { + if _, err := sdk.AccAddressFromBech32(authority); err != nil { + panic(fmt.Sprintf("invalid authority address: %s", authority)) + } + + return Keeper{ + cdc: cdc, + storeService: storeService, + authority: authority, + logger: logger, + flagKeys: &[][2]string{}, + } +} + +// GetAuthority returns the module's authority. +func (k Keeper) GetAuthority() string { + return k.authority +} + +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) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(flagStoreKey)) + b := store.Get(key) + k.cdc.MustUnmarshal(b, &gottenFlag) + return +} + +func (k Keeper) SetFlag(ctx sdk.Context, key []byte, flag types.Flag) { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(flagStoreKey)) + store.Set(key, k.cdc.MustMarshal(&flag)) +} + +func (k Keeper) GetFlagsIterator(ctx sdk.Context) db.Iterator { + storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + store := prefix.NewStore(storeAdapter, types.KeyPrefix(flagStoreKey)) + return storetypes.KVStorePrefixIterator(store, []byte{}) +} + +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 +} + +// Logger returns a module-specific logger. +func (k Keeper) Logger() log.Logger { + return k.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..f0f5d3fc --- /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..dafc0ba3 --- /dev/null +++ b/x/featureflag/keeper/msg_server_test.go @@ -0,0 +1,24 @@ +package keeper_test + +import ( + "context" + "testing" + + "github.com/stretchr/testify/require" + + keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/x/featureflag/keeper" + "github.com/DecentralCardGame/cardchain/x/featureflag/types" +) + +func setupMsgServer(t testing.TB) (keeper.Keeper, types.MsgServer, context.Context) { + k, ctx := keepertest.FeatureflagKeeper(t) + return k, keeper.NewMsgServerImpl(k), ctx +} + +func TestMsgServer(t *testing.T) { + k, ms, ctx := setupMsgServer(t) + require.NotNil(t, ms) + require.NotNil(t, ctx) + require.NotEmpty(t, k) +} diff --git a/x/featureflag/keeper/msg_update_params.go b/x/featureflag/keeper/msg_update_params.go new file mode 100644 index 00000000..2ab13dc2 --- /dev/null +++ b/x/featureflag/keeper/msg_update_params.go @@ -0,0 +1,23 @@ +package keeper + +import ( + "context" + + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/DecentralCardGame/cardchain/x/featureflag/types" +) + +func (k msgServer) UpdateParams(goCtx context.Context, req *types.MsgUpdateParams) (*types.MsgUpdateParamsResponse, error) { + if k.GetAuthority() != req.Authority { + return nil, errorsmod.Wrapf(types.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.GetAuthority(), req.Authority) + } + + ctx := sdk.UnwrapSDKContext(goCtx) + if err := k.SetParams(ctx, req.Params); err != nil { + return nil, err + } + + return &types.MsgUpdateParamsResponse{}, nil +} diff --git a/x/featureflag/keeper/msg_update_params_test.go b/x/featureflag/keeper/msg_update_params_test.go new file mode 100644 index 00000000..8cf0ea12 --- /dev/null +++ b/x/featureflag/keeper/msg_update_params_test.go @@ -0,0 +1,64 @@ +package keeper_test + +import ( + "testing" + + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" + + "github.com/DecentralCardGame/cardchain/x/featureflag/types" +) + +func TestMsgUpdateParams(t *testing.T) { + k, ms, ctx := setupMsgServer(t) + params := types.DefaultParams() + require.NoError(t, k.SetParams(ctx, params)) + wctx := sdk.UnwrapSDKContext(ctx) + + // default params + testCases := []struct { + name string + input *types.MsgUpdateParams + expErr bool + expErrMsg string + }{ + { + name: "invalid authority", + input: &types.MsgUpdateParams{ + Authority: "invalid", + Params: params, + }, + expErr: true, + expErrMsg: "invalid authority", + }, + { + name: "send enabled param", + input: &types.MsgUpdateParams{ + Authority: k.GetAuthority(), + Params: types.Params{}, + }, + expErr: false, + }, + { + name: "all good", + input: &types.MsgUpdateParams{ + Authority: k.GetAuthority(), + Params: params, + }, + expErr: false, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + _, err := ms.UpdateParams(wctx, tc.input) + + if tc.expErr { + require.Error(t, err) + require.Contains(t, err.Error(), tc.expErrMsg) + } else { + require.NoError(t, err) + } + }) + } +} diff --git a/x/featureflag/keeper/params.go b/x/featureflag/keeper/params.go new file mode 100644 index 00000000..eac042d6 --- /dev/null +++ b/x/featureflag/keeper/params.go @@ -0,0 +1,33 @@ +package keeper + +import ( + "context" + + "github.com/cosmos/cosmos-sdk/runtime" + + "github.com/DecentralCardGame/cardchain/x/featureflag/types" +) + +// GetParams get all parameters as types.Params +func (k Keeper) GetParams(ctx context.Context) (params types.Params) { + store := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + bz := store.Get(types.ParamsKey) + if bz == nil { + return params + } + + k.cdc.MustUnmarshal(bz, ¶ms) + return params +} + +// SetParams set the params +func (k Keeper) SetParams(ctx context.Context, params types.Params) error { + store := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) + bz, err := k.cdc.Marshal(¶ms) + if err != nil { + return err + } + store.Set(types.ParamsKey, bz) + + return nil +} diff --git a/x/featureflag/keeper/params_test.go b/x/featureflag/keeper/params_test.go new file mode 100644 index 00000000..209b7708 --- /dev/null +++ b/x/featureflag/keeper/params_test.go @@ -0,0 +1,18 @@ +package keeper_test + +import ( + "testing" + + "github.com/stretchr/testify/require" + + keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/x/featureflag/types" +) + +func TestGetParams(t *testing.T) { + k, ctx := keepertest.FeatureflagKeeper(t) + params := types.DefaultParams() + + require.NoError(t, 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..61676d11 --- /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..37221669 --- /dev/null +++ b/x/featureflag/keeper/query_params.go @@ -0,0 +1,20 @@ +package keeper + +import ( + "context" + + sdk "github.com/cosmos/cosmos-sdk/types" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "github.com/DecentralCardGame/cardchain/x/featureflag/types" +) + +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..ec83319d --- /dev/null +++ b/x/featureflag/keeper/query_params_test.go @@ -0,0 +1,20 @@ +package keeper_test + +import ( + "testing" + + "github.com/stretchr/testify/require" + + keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/x/featureflag/types" +) + +func TestParamsQuery(t *testing.T) { + keeper, ctx := keepertest.FeatureflagKeeper(t) + params := types.DefaultParams() + require.NoError(t, keeper.SetParams(ctx, params)) + + response, err := keeper.Params(ctx, &types.QueryParamsRequest{}) + require.NoError(t, err) + require.Equal(t, &types.QueryParamsResponse{Params: params}, response) +} diff --git a/x/featureflag/module/autocli.go b/x/featureflag/module/autocli.go new file mode 100644 index 00000000..0572b5e4 --- /dev/null +++ b/x/featureflag/module/autocli.go @@ -0,0 +1,35 @@ +package featureflag + +import ( + autocliv1 "cosmossdk.io/api/cosmos/autocli/v1" + + modulev1 "github.com/DecentralCardGame/cardchain/api/cardchain/featureflag" +) + +// AutoCLIOptions implements the autocli.HasAutoCLIConfig interface. +func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { + return &autocliv1.ModuleOptions{ + Query: &autocliv1.ServiceCommandDescriptor{ + Service: modulev1.Query_ServiceDesc.ServiceName, + RpcCommandOptions: []*autocliv1.RpcCommandOptions{ + { + RpcMethod: "Params", + Use: "params", + Short: "Shows the parameters of the module", + }, + // this line is used by ignite scaffolding # autocli/query + }, + }, + Tx: &autocliv1.ServiceCommandDescriptor{ + Service: modulev1.Msg_ServiceDesc.ServiceName, + EnhanceCustomCommand: true, // only required if you want to use the custom command + RpcCommandOptions: []*autocliv1.RpcCommandOptions{ + { + RpcMethod: "UpdateParams", + Skip: true, // skipped because authority gated + }, + // this line is used by ignite scaffolding # autocli/tx + }, + }, + } +} diff --git a/x/featureflag/module/genesis.go b/x/featureflag/module/genesis.go new file mode 100644 index 00000000..7f41a4c6 --- /dev/null +++ b/x/featureflag/module/genesis.go @@ -0,0 +1,26 @@ +package featureflag + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/DecentralCardGame/cardchain/x/featureflag/keeper" + "github.com/DecentralCardGame/cardchain/x/featureflag/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 + if err := k.SetParams(ctx, genState.Params); err != nil { + panic(err) + } +} + +// 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) + + // this line is used by starport scaffolding # genesis/module/export + + return genesis +} diff --git a/x/featureflag/module/genesis_test.go b/x/featureflag/module/genesis_test.go new file mode 100644 index 00000000..35c1b85a --- /dev/null +++ b/x/featureflag/module/genesis_test.go @@ -0,0 +1,29 @@ +package featureflag_test + +import ( + "testing" + + keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" + "github.com/DecentralCardGame/cardchain/testutil/nullify" + featureflag "github.com/DecentralCardGame/cardchain/x/featureflag/module" + "github.com/DecentralCardGame/cardchain/x/featureflag/types" + "github.com/stretchr/testify/require" +) + +func TestGenesis(t *testing.T) { + genesisState := types.GenesisState{ + Params: types.DefaultParams(), + + // 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) + + // this line is used by starport scaffolding # genesis/test/assert +} diff --git a/x/featureflag/module/module.go b/x/featureflag/module/module.go new file mode 100644 index 00000000..d4c325d8 --- /dev/null +++ b/x/featureflag/module/module.go @@ -0,0 +1,214 @@ +package featureflag + +import ( + "context" + "encoding/json" + "fmt" + + "cosmossdk.io/core/appmodule" + "cosmossdk.io/core/store" + "cosmossdk.io/depinject" + "cosmossdk.io/log" + "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" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + + // this line is used by starport scaffolding # 1 + + modulev1 "github.com/DecentralCardGame/cardchain/api/cardchain/featureflag/module" + "github.com/DecentralCardGame/cardchain/x/featureflag/keeper" + "github.com/DecentralCardGame/cardchain/x/featureflag/types" +) + +var ( + _ module.AppModuleBasic = (*AppModule)(nil) + _ module.AppModuleSimulation = (*AppModule)(nil) + _ module.HasGenesis = (*AppModule)(nil) + _ module.HasInvariants = (*AppModule)(nil) + _ module.HasConsensusVersion = (*AppModule)(nil) + + _ appmodule.AppModule = (*AppModule)(nil) + _ appmodule.HasBeginBlocker = (*AppModule)(nil) + _ appmodule.HasEndBlocker = (*AppModule)(nil) +) + +// ---------------------------------------------------------------------------- +// 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) {} + +// 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) { + if err := types.RegisterQueryHandlerClient(context.Background(), mux, types.NewQueryClient(clientCtx)); err != nil { + panic(err) + } +} + +// ---------------------------------------------------------------------------- +// 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, + } +} + +// 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) { + var genState types.GenesisState + // Initialize global index to index in genesis state + cdc.MustUnmarshalJSON(gs, &genState) + + InitGenesis(ctx, am.keeper, genState) +} + +// 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. +// The begin block implementation is optional. +func (am AppModule) BeginBlock(_ context.Context) error { + return nil +} + +// EndBlock contains the logic that is automatically triggered at the end of each block. +// The end block implementation is optional. +func (am AppModule) EndBlock(_ context.Context) error { + return nil +} + +// IsOnePerModuleType implements the depinject.OnePerModuleType interface. +func (am AppModule) IsOnePerModuleType() {} + +// IsAppModule implements the appmodule.AppModule interface. +func (am AppModule) IsAppModule() {} + +// ---------------------------------------------------------------------------- +// App Wiring Setup +// ---------------------------------------------------------------------------- + +func init() { + appmodule.Register( + &modulev1.Module{}, + appmodule.Provide(ProvideModule), + ) +} + +type ModuleInputs struct { + depinject.In + + StoreService store.KVStoreService + Cdc codec.Codec + Config *modulev1.Module + Logger log.Logger + + AccountKeeper types.AccountKeeper + BankKeeper types.BankKeeper +} + +type ModuleOutputs struct { + depinject.Out + + FeatureflagKeeper keeper.Keeper + Module appmodule.AppModule +} + +func ProvideModule(in ModuleInputs) ModuleOutputs { + // default to governance authority if not provided + authority := authtypes.NewModuleAddress(govtypes.ModuleName) + if in.Config.Authority != "" { + authority = authtypes.NewModuleAddressOrBech32Address(in.Config.Authority) + } + k := keeper.NewKeeper( + in.Cdc, + in.StoreService, + in.Logger, + authority.String(), + ) + m := NewAppModule( + in.Cdc, + k, + in.AccountKeeper, + in.BankKeeper, + ) + + return ModuleOutputs{FeatureflagKeeper: k, Module: m} +} diff --git a/x/featureflag/module/simulation.go b/x/featureflag/module/simulation.go new file mode 100644 index 00000000..0b26081d --- /dev/null +++ b/x/featureflag/module/simulation.go @@ -0,0 +1,59 @@ +package featureflag + +import ( + "math/rand" + + 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" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + featureflagsimulation "github.com/DecentralCardGame/cardchain/x/featureflag/simulation" + "github.com/DecentralCardGame/cardchain/x/featureflag/types" +) + +// avoid unused import issue +var ( + _ = featureflagsimulation.FindAccount + _ = rand.Rand{} + _ = sample.AccAddress + _ = sdk.AccAddress{} + _ = simulation.MsgEntryKind +) + +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) +} + +// RegisterStoreDecoder registers a decoder. +func (am AppModule) RegisterStoreDecoder(_ simtypes.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 +} + +// ProposalMsgs returns msgs used for governance proposals for simulations. +func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.WeightedProposalMsg { + return []simtypes.WeightedProposalMsg{ + // this line is used by starport scaffolding # simapp/module/OpMsg + } +} 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..ac552637 --- /dev/null +++ b/x/featureflag/types/codec.go @@ -0,0 +1,17 @@ +package types + +import ( + cdctypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/msgservice" + // this line is used by starport scaffolding # 1 +) + +func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { + // this line is used by starport scaffolding # 3 + + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgUpdateParams{}, + ) + msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) +} diff --git a/x/featureflag/types/errors.go b/x/featureflag/types/errors.go new file mode 100644 index 00000000..ba5be16f --- /dev/null +++ b/x/featureflag/types/errors.go @@ -0,0 +1,13 @@ +package types + +// DONTCOVER + +import ( + sdkerrors "cosmossdk.io/errors" +) + +// x/featureflag module sentinel errors +var ( + ErrInvalidSigner = sdkerrors.Register(ModuleName, 1100, "expected gov account as only signer for proposal message") + 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..4a50d01a --- /dev/null +++ b/x/featureflag/types/expected_keepers.go @@ -0,0 +1,25 @@ +package types + +import ( + "context" + + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// AccountKeeper defines the expected interface for the Account module. +type AccountKeeper interface { + GetAccount(context.Context, sdk.AccAddress) sdk.AccountI // only used for simulation + // Methods imported from account should be defined here +} + +// BankKeeper defines the expected interface for the Bank module. +type BankKeeper interface { + SpendableCoins(context.Context, sdk.AccAddress) sdk.Coins + // Methods imported from bank should be defined here +} + +// ParamSubspace defines the expected Subspace interface for parameters. +type ParamSubspace interface { + Get(context.Context, []byte, interface{}) + Set(context.Context, []byte, interface{}) +} diff --git a/x/featureflag/types/flag.pb.go b/x/featureflag/types/flag.pb.go new file mode 100644 index 00000000..e1dd5d4d --- /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/cosmos/gogoproto/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), "cardchain.featureflag.Flag") +} + +func init() { proto.RegisterFile("cardchain/featureflag/flag.proto", fileDescriptor_b9a028c5a375b1b4) } + +var fileDescriptor_b9a028c5a375b1b4 = []byte{ + // 193 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, 0xa2, 0x70, 0x15, 0x7a, 0x48, + 0x2a, 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, 0xbe, 0x4b, 0x6a, 0x72, 0x6a, 0x5e, 0x49, 0x51, 0x62, 0x8e, 0x73, 0x62, 0x51, 0x8a, 0x7b, + 0x62, 0x6e, 0xaa, 0x3e, 0xc2, 0xd5, 0x15, 0x28, 0xee, 0x2e, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, + 0x03, 0xbb, 0xdc, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xef, 0x6b, 0x50, 0xb9, 0xdd, 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..2c15cd92 --- /dev/null +++ b/x/featureflag/types/genesis.go @@ -0,0 +1,22 @@ +package types + +// this line is used by starport scaffolding # genesis/types/import + +// 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 { + // 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..da869d10 --- /dev/null +++ b/x/featureflag/types/genesis.pb.go @@ -0,0 +1,509 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/featureflag/genesis.proto + +package types + +import ( + fmt "fmt" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/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 defines all the parameters of the module. + 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), "cardchain.featureflag.GenesisState") + proto.RegisterMapType((map[string]*Flag)(nil), "cardchain.featureflag.GenesisState.FlagsEntry") +} + +func init() { + proto.RegisterFile("cardchain/featureflag/genesis.proto", fileDescriptor_f8a32dc81c7a3cc4) +} + +var fileDescriptor_f8a32dc81c7a3cc4 = []byte{ + // 311 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, + 0x12, 0x85, 0x2b, 0xd2, 0x43, 0x52, 0x24, 0x25, 0x98, 0x98, 0x9b, 0x99, 0x97, 0xaf, 0x0f, 0x26, + 0x21, 0x2a, 0xa5, 0x44, 0xd2, 0xf3, 0xd3, 0xf3, 0xc1, 0x4c, 0x7d, 0x10, 0x0b, 0x2a, 0xaa, 0x84, + 0xdd, 0x92, 0x82, 0xc4, 0xa2, 0xc4, 0x5c, 0xa8, 0x1d, 0x52, 0x0a, 0xd8, 0xd5, 0x80, 0x08, 0x88, + 0x0a, 0xa5, 0xb7, 0x8c, 0x5c, 0x3c, 0xee, 0x10, 0x77, 0x05, 0x97, 0x24, 0x96, 0xa4, 0x0a, 0x39, + 0x70, 0xb1, 0x41, 0x8c, 0x90, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x36, 0x92, 0xd5, 0xc3, 0xea, 0x4e, + 0xbd, 0x00, 0xb0, 0x22, 0x27, 0xce, 0x13, 0xf7, 0xe4, 0x19, 0x56, 0x3c, 0xdf, 0xa0, 0xc5, 0x18, + 0x04, 0xd5, 0x27, 0xe4, 0xc2, 0xc5, 0x0a, 0x52, 0x51, 0x2c, 0xc1, 0xa4, 0xc0, 0xac, 0xc1, 0x6d, + 0xa4, 0x87, 0xc3, 0x00, 0x64, 0x5b, 0xf5, 0xdc, 0x40, 0x1a, 0x5c, 0xf3, 0x4a, 0x8a, 0x2a, 0x83, + 0x20, 0x9a, 0xa5, 0x42, 0xb9, 0xb8, 0x10, 0x82, 0x42, 0x02, 0x5c, 0xcc, 0xd9, 0xa9, 0x95, 0x60, + 0x27, 0x71, 0x06, 0x81, 0x98, 0x42, 0x86, 0x5c, 0xac, 0x65, 0x89, 0x39, 0xa5, 0xa9, 0x12, 0x4c, + 0x60, 0x67, 0x4a, 0xe3, 0xb0, 0x05, 0x64, 0x46, 0x10, 0x44, 0xa5, 0x15, 0x93, 0x05, 0xa3, 0x53, + 0xc8, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, + 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x59, 0xa5, 0x67, 0x96, 0x64, + 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xbb, 0xa4, 0x26, 0xa7, 0xe6, 0x95, 0x14, 0x25, 0xe6, + 0x38, 0x27, 0x16, 0xa5, 0xb8, 0x27, 0xe6, 0xa6, 0xea, 0x23, 0x02, 0xb2, 0x02, 0x25, 0x28, 0x4b, + 0x2a, 0x0b, 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x81, 0x69, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x28, + 0xb5, 0x62, 0x9e, 0xf9, 0x01, 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..f9498e5b --- /dev/null +++ b/x/featureflag/types/genesis_test.go @@ -0,0 +1,41 @@ +package types_test + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/x/featureflag/types" + "github.com/stretchr/testify/require" +) + +func TestGenesisState_Validate(t *testing.T) { + tests := []struct { + desc string + genState *types.GenesisState + valid bool + }{ + { + desc: "default is valid", + genState: types.DefaultGenesis(), + valid: true, + }, + { + desc: "valid genesis state", + genState: &types.GenesisState{ + + // this line is used by starport scaffolding # types/genesis/validField + }, + valid: true, + }, + // this line is used by starport scaffolding # types/genesis/testcase + } + for _, tc := range tests { + 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/keys.go b/x/featureflag/types/keys.go new file mode 100644 index 00000000..ef3ecd25 --- /dev/null +++ b/x/featureflag/types/keys.go @@ -0,0 +1,20 @@ +package types + +const ( + // ModuleName defines the module name + ModuleName = "featureflag" + + // StoreKey defines the primary module store key + StoreKey = ModuleName + + // MemStoreKey defines the in-memory store key + MemStoreKey = "mem_featureflag" +) + +var ( + ParamsKey = []byte("p_featureflag") +) + +func KeyPrefix(p string) []byte { + return []byte(p) +} diff --git a/x/featureflag/types/msg_update_params.go b/x/featureflag/types/msg_update_params.go new file mode 100644 index 00000000..e36d023d --- /dev/null +++ b/x/featureflag/types/msg_update_params.go @@ -0,0 +1,21 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +var _ sdk.Msg = &MsgUpdateParams{} + +// ValidateBasic does a sanity check on the provided data. +func (m *MsgUpdateParams) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Authority); err != nil { + return errorsmod.Wrap(err, "invalid authority address") + } + + if err := m.Params.Validate(); err != nil { + return err + } + + return nil +} diff --git a/x/featureflag/types/params.go b/x/featureflag/types/params.go new file mode 100644 index 00000000..4f3215e3 --- /dev/null +++ b/x/featureflag/types/params.go @@ -0,0 +1,32 @@ +package types + +import ( + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" +) + +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 +} diff --git a/x/featureflag/types/params.pb.go b/x/featureflag/types/params.pb.go new file mode 100644 index 00000000..46dbabd7 --- /dev/null +++ b/x/featureflag/types/params.pb.go @@ -0,0 +1,291 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/featureflag/params.proto + +package types + +import ( + fmt "fmt" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/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 (m *Params) String() string { return proto.CompactTextString(m) } +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), "cardchain.featureflag.Params") +} + +func init() { + proto.RegisterFile("cardchain/featureflag/params.proto", fileDescriptor_c9ce917ea43e1573) +} + +var fileDescriptor_c9ce917ea43e1573 = []byte{ + // 188 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, 0x12, + 0x85, 0xab, 0xd1, 0x43, 0x52, 0x23, 0x25, 0x98, 0x98, 0x9b, 0x99, 0x97, 0xaf, 0x0f, 0x26, 0x21, + 0x2a, 0xa5, 0x44, 0xd2, 0xf3, 0xd3, 0xf3, 0xc1, 0x4c, 0x7d, 0x10, 0x0b, 0x22, 0xaa, 0x64, 0xc8, + 0xc5, 0x16, 0x00, 0x36, 0xcf, 0x4a, 0xfd, 0xc5, 0x02, 0x79, 0xc6, 0xae, 0xe7, 0x1b, 0xb4, 0xe4, + 0x10, 0xd6, 0x56, 0xa0, 0x58, 0x0c, 0x51, 0xe8, 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, + 0x2e, 0xa9, 0xc9, 0xa9, 0x79, 0x25, 0x45, 0x89, 0x39, 0xce, 0x89, 0x45, 0x29, 0xee, 0x89, 0xb9, + 0xa9, 0xfa, 0xb8, 0x8c, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, 0xbb, 0xc7, 0x18, 0x10, + 0x00, 0x00, 0xff, 0xff, 0xdb, 0xe3, 0x32, 0x60, 0xf5, 0x00, 0x00, 0x00, +} + +func (this *Params) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Params) + if !ok { + that2, ok := that.(Params) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + return true +} +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/query.pb.go b/x/featureflag/types/query.pb.go new file mode 100644 index 00000000..2ec990b9 --- /dev/null +++ b/x/featureflag/types/query.pb.go @@ -0,0 +1,541 @@ +// 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/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + 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{} +} + +func init() { + proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.featureflag.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.featureflag.QueryParamsResponse") +} + +func init() { proto.RegisterFile("cardchain/featureflag/query.proto", fileDescriptor_fb461e75899978b4) } + +var fileDescriptor_fb461e75899978b4 = []byte{ + // 335 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0x31, 0x4b, 0xc3, 0x40, + 0x14, 0xc7, 0x73, 0x82, 0x05, 0xe3, 0x64, 0xac, 0x20, 0x45, 0xa3, 0x66, 0xd2, 0x0e, 0x39, 0x5a, + 0x07, 0xc1, 0x49, 0xaa, 0xe0, 0xaa, 0x45, 0x10, 0xdc, 0x5e, 0xd2, 0xd7, 0x6b, 0xa0, 0xb9, 0x97, + 0xde, 0x5d, 0xc4, 0xae, 0x7e, 0x02, 0xc1, 0xc5, 0xd9, 0xc9, 0xd1, 0x8f, 0xd1, 0xb1, 0xe0, 0xe2, + 0x24, 0xd2, 0x0a, 0x7e, 0x0d, 0x69, 0x12, 0xc4, 0x62, 0x2d, 0x2e, 0xc7, 0xe3, 0xdd, 0xef, 0xfd, + 0xee, 0x7f, 0xcf, 0xde, 0x09, 0x41, 0xb5, 0xc2, 0x0e, 0x44, 0x92, 0xb7, 0x11, 0x4c, 0xaa, 0xb0, + 0xdd, 0x05, 0xc1, 0x7b, 0x29, 0xaa, 0xbe, 0x9f, 0x28, 0x32, 0xe4, 0xac, 0x7d, 0x23, 0xfe, 0x0f, + 0xa4, 0xb2, 0x02, 0x71, 0x24, 0x89, 0x67, 0x67, 0x4e, 0x56, 0xca, 0x82, 0x04, 0x65, 0x25, 0x9f, + 0x54, 0x45, 0x77, 0x43, 0x10, 0x89, 0x2e, 0x72, 0x48, 0x22, 0x0e, 0x52, 0x92, 0x01, 0x13, 0x91, + 0xd4, 0xc5, 0x6d, 0x35, 0x24, 0x1d, 0x93, 0xe6, 0x01, 0x68, 0xcc, 0x9f, 0xe5, 0xd7, 0xb5, 0x00, + 0x0d, 0xd4, 0x78, 0x02, 0x22, 0x92, 0x19, 0x5c, 0xb0, 0xde, 0xec, 0xb0, 0x09, 0x28, 0x88, 0x0b, + 0x9f, 0x57, 0xb6, 0x9d, 0xf3, 0x89, 0xe5, 0x2c, 0x6b, 0x36, 0xb1, 0x97, 0xa2, 0x36, 0xde, 0xa5, + 0xbd, 0x3a, 0xd5, 0xd5, 0x09, 0x49, 0x8d, 0xce, 0x91, 0x5d, 0xca, 0x87, 0xd7, 0xd9, 0x36, 0xdb, + 0x5d, 0xae, 0x6f, 0xfa, 0x33, 0xff, 0xea, 0xe7, 0x63, 0x8d, 0xa5, 0xc1, 0xdb, 0x96, 0xf5, 0xf4, + 0xf9, 0x5c, 0x65, 0xcd, 0x62, 0xae, 0xfe, 0xc8, 0xec, 0xc5, 0xcc, 0xec, 0x3c, 0x30, 0xbb, 0x94, + 0x73, 0xce, 0xde, 0x1f, 0x9a, 0xdf, 0xc1, 0x2a, 0xd5, 0xff, 0xa0, 0x79, 0x5a, 0xef, 0xe0, 0xf6, + 0xe5, 0xe3, 0x7e, 0xa1, 0xe6, 0x70, 0x7e, 0x82, 0x21, 0x4a, 0xa3, 0xa0, 0x7b, 0x0c, 0xaa, 0x75, + 0x0a, 0x31, 0xf2, 0x79, 0x9b, 0x69, 0x5c, 0x0c, 0x46, 0x2e, 0x1b, 0x8e, 0x5c, 0xf6, 0x3e, 0x72, + 0xd9, 0xdd, 0xd8, 0xb5, 0x86, 0x63, 0xd7, 0x7a, 0x1d, 0xbb, 0xd6, 0xd5, 0xa1, 0x88, 0x4c, 0x27, + 0x0d, 0xfc, 0x90, 0xe2, 0xb9, 0xd2, 0x9b, 0x29, 0xad, 0xe9, 0x27, 0xa8, 0x83, 0x52, 0xb6, 0xf0, + 0xfd, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x78, 0xc7, 0xde, 0x6c, 0x43, 0x02, 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) +} + +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, "/cardchain.featureflag.Query/Params", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// QueryServer is the server API for Query service. +type QueryServer interface { + // Parameters queries the parameters of the module. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, 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 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: "/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) +} + +var Query_serviceDesc = _Query_serviceDesc +var _Query_serviceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.featureflag.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Params", + Handler: _Query_Params_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 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 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 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..61698ff0 --- /dev/null +++ b/x/featureflag/types/query.pb.gw.go @@ -0,0 +1,153 @@ +// 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 + +} + +// 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()...) + + }) + + 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()...) + + }) + + 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(false))) +) + +var ( + forward_Query_Params_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..af61eaab --- /dev/null +++ b/x/featureflag/types/tx.pb.go @@ -0,0 +1,600 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/featureflag/tx.proto + +package types + +import ( + context "context" + fmt "fmt" + _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" + 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 + +// MsgUpdateParams is the Msg/UpdateParams request type. +type MsgUpdateParams struct { + // authority is the address that controls the module (defaults to x/gov unless overwritten). + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the module parameters to update. + // + // NOTE: All parameters must be supplied. + Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` +} + +func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } +func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return fileDescriptor_b6585a6310f99dc0, []int{0} +} +func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParams.Merge(m, src) +} +func (m *MsgUpdateParams) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParams) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParams.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParams proto.InternalMessageInfo + +func (m *MsgUpdateParams) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgUpdateParams) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +type MsgUpdateParamsResponse struct { +} + +func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse{} } +func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b6585a6310f99dc0, []int{1} +} +func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src) +} +func (m *MsgUpdateParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo + +func init() { + proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.featureflag.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.featureflag.MsgUpdateParamsResponse") +} + +func init() { proto.RegisterFile("cardchain/featureflag/tx.proto", fileDescriptor_b6585a6310f99dc0) } + +var fileDescriptor_b6585a6310f99dc0 = []byte{ + // 358 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, 0x12, 0x85, 0xcb, 0xeb, 0x21, + 0xc9, 0x4b, 0x09, 0x26, 0xe6, 0x66, 0xe6, 0xe5, 0xeb, 0x83, 0x49, 0x88, 0x4a, 0x29, 0xf1, 0xe4, + 0xfc, 0xe2, 0xdc, 0xfc, 0x62, 0xfd, 0xdc, 0xe2, 0x74, 0xfd, 0x32, 0x43, 0x10, 0x05, 0x95, 0x90, + 0x84, 0x48, 0xc4, 0x83, 0x79, 0xfa, 0x10, 0x0e, 0x54, 0x4a, 0x24, 0x3d, 0x3f, 0x3d, 0x1f, 0x22, + 0x0e, 0x62, 0x41, 0x45, 0x95, 0xb0, 0xbb, 0xa9, 0x20, 0xb1, 0x28, 0x31, 0x17, 0xaa, 0x53, 0xe9, + 0x38, 0x23, 0x17, 0xbf, 0x6f, 0x71, 0x7a, 0x68, 0x41, 0x4a, 0x62, 0x49, 0x6a, 0x00, 0x58, 0x46, + 0xc8, 0x8c, 0x8b, 0x33, 0xb1, 0xb4, 0x24, 0x23, 0xbf, 0x28, 0xb3, 0xa4, 0x52, 0x82, 0x51, 0x81, + 0x51, 0x83, 0xd3, 0x49, 0xe2, 0xd2, 0x16, 0x5d, 0x11, 0xa8, 0x95, 0x8e, 0x29, 0x29, 0x45, 0xa9, + 0xc5, 0xc5, 0xc1, 0x25, 0x45, 0x99, 0x79, 0xe9, 0x41, 0x08, 0xa5, 0x42, 0x0e, 0x5c, 0x6c, 0x10, + 0xb3, 0x25, 0x98, 0x14, 0x18, 0x35, 0xb8, 0x8d, 0x64, 0xf5, 0xb0, 0x7a, 0x5a, 0x0f, 0x62, 0x8d, + 0x13, 0xe7, 0x89, 0x7b, 0xf2, 0x0c, 0x2b, 0x9e, 0x6f, 0xd0, 0x62, 0x0c, 0x82, 0xea, 0xb3, 0xb2, + 0x6a, 0x7a, 0xbe, 0x41, 0x0b, 0x61, 0x62, 0xd7, 0xf3, 0x0d, 0x5a, 0xea, 0x08, 0x4f, 0x54, 0xa0, + 0x78, 0x03, 0xcd, 0xd5, 0x4a, 0x92, 0x5c, 0xe2, 0x68, 0x42, 0x41, 0xa9, 0xc5, 0x05, 0xf9, 0x79, + 0xc5, 0xa9, 0x46, 0x25, 0x5c, 0xcc, 0xbe, 0xc5, 0xe9, 0x42, 0x69, 0x5c, 0x3c, 0x28, 0xfe, 0x54, + 0xc3, 0xe1, 0x3e, 0x34, 0x63, 0xa4, 0xf4, 0x88, 0x53, 0x07, 0xb3, 0x4e, 0x8a, 0xb5, 0x01, 0xe4, + 0x29, 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, 0x77, 0x49, 0x4d, 0x4e, 0xcd, 0x2b, 0x29, + 0x4a, 0xcc, 0x71, 0x4e, 0x2c, 0x4a, 0x71, 0x4f, 0xcc, 0x4d, 0xd5, 0xc7, 0xe5, 0xe1, 0x92, 0xca, + 0x82, 0xd4, 0xe2, 0x24, 0x36, 0x70, 0xbc, 0x19, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xc8, 0x68, + 0x9e, 0x27, 0x71, 0x02, 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 { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) +} + +type msgClient struct { + cc grpc1.ClientConn +} + +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} +} + +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/cardchain.featureflag.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MsgServer is the server API for Msg service. +type MsgServer interface { + // UpdateParams defines a (governance) operation for updating the module + // parameters. The authority defaults to the x/gov module account. + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) +} + +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { +} + +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} + +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) +} + +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.featureflag.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + +var Msg_serviceDesc = _Msg_serviceDesc +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "cardchain.featureflag.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/featureflag/tx.proto", +} + +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipTx(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowTx + } + 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, ErrIntOverflowTx + } + 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, ErrIntOverflowTx + } + 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, ErrInvalidLengthTx + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupTx + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthTx + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthTx = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowTx = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group") +) 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 From b6ad90d25c577d43e8b07079c30e92ececf3c5af Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 06:13:08 +0100 Subject: [PATCH 24/99] feat(#242): CardArtworkAdd --- .../keeper/msg_server_card_artwork_add.go | 29 +- x/cardchain/types/errors.go | 6 +- x/cardchain/types/message_card_artwork_add.go | 9 + x/cardchain/types/num.pb.go | 299 ------------------ 4 files changed, 40 insertions(+), 303 deletions(-) delete mode 100644 x/cardchain/types/num.pb.go diff --git a/x/cardchain/keeper/msg_server_card_artwork_add.go b/x/cardchain/keeper/msg_server_card_artwork_add.go index 49697667..623449fa 100644 --- a/x/cardchain/keeper/msg_server_card_artwork_add.go +++ b/x/cardchain/keeper/msg_server_card_artwork_add.go @@ -3,15 +3,40 @@ 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) CardArtworkAdd(goCtx context.Context, msg *types.MsgCardArtworkAdd) (*types.MsgCardArtworkAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + card := k.Cards.Get(ctx, msg.CardId) + image := k.Images.Get(ctx, card.ImageId) + + councilEnabled, err := k.FeatureFlagModuleInstance.Get(ctx, string(types.FeatureFlagName_Council)) + if err != nil { + return nil, err + } + + if councilEnabled && card.Status != types.Status_prototype && card.Status != types.Status_scheme { + return nil, sdkerrors.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype to be changeable") + } + + if card.Artist != msg.Creator { + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect Artist") + } + + card.FullArt = msg.FullArt + image.Image = msg.Image + + if card.Status == types.Status_suspended { + card.Status = types.Status_permanent + } + + k.Cards.Set(ctx, msg.CardId, card) + k.Images.Set(ctx, card.ImageId, image) return &types.MsgCardArtworkAddResponse{}, nil } diff --git a/x/cardchain/types/errors.go b/x/cardchain/types/errors.go index a9d176f4..01c25658 100644 --- a/x/cardchain/types/errors.go +++ b/x/cardchain/types/errors.go @@ -8,6 +8,8 @@ import ( // x/cardchain module sentinel errors var ( - ErrInvalidSigner = sdkerrors.Register(ModuleName, 1100, "expected gov account as only signer for proposal message") - ErrSample = sdkerrors.Register(ModuleName, 1101, "sample error") + ErrInvalidSigner = sdkerrors.Register(ModuleName, 1100, "expected gov account as only signer for proposal message") + ErrInvalidCardStatus = sdkerrors.Register(ModuleName, 13, "Invalid card-status") + ErrImageSizeExceeded = sdkerrors.Register(ModuleName, 17, "Image too big! Max size is 500kb") + ErrInvalidData = sdkerrors.Register(ModuleName, 27, "Invalid data in transaction") ) diff --git a/x/cardchain/types/message_card_artwork_add.go b/x/cardchain/types/message_card_artwork_add.go index 55971415..b2aa974a 100644 --- a/x/cardchain/types/message_card_artwork_add.go +++ b/x/cardchain/types/message_card_artwork_add.go @@ -1,11 +1,15 @@ package types import ( + fmt "fmt" + errorsmod "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) +const ArtworkMaxSize = 500000 + var _ sdk.Msg = &MsgCardArtworkAdd{} func NewMsgCardArtworkAdd(creator string, cardId uint64, image []byte, fullArt bool) *MsgCardArtworkAdd { @@ -22,5 +26,10 @@ func (msg *MsgCardArtworkAdd) ValidateBasic() error { if err != nil { return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) } + + if len(msg.Image) > ArtworkMaxSize { + return errorsmod.Wrap(ErrImageSizeExceeded, fmt.Sprint(len(msg.Image))) + } + return nil } diff --git a/x/cardchain/types/num.pb.go b/x/cardchain/types/num.pb.go deleted file mode 100644 index 22b9719c..00000000 --- a/x/cardchain/types/num.pb.go +++ /dev/null @@ -1,299 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/num.proto - -package types - -import ( - fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" -) - -// 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 Num struct { - Num uint64 `protobuf:"varint,1,opt,name=num,proto3" json:"num,omitempty"` -} - -func (m *Num) Reset() { *m = Num{} } -func (m *Num) String() string { return proto.CompactTextString(m) } -func (*Num) ProtoMessage() {} -func (*Num) Descriptor() ([]byte, []int) { - return fileDescriptor_be8334ccfa5e94e5, []int{0} -} -func (m *Num) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Num) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Num.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 *Num) XXX_Merge(src proto.Message) { - xxx_messageInfo_Num.Merge(m, src) -} -func (m *Num) XXX_Size() int { - return m.Size() -} -func (m *Num) XXX_DiscardUnknown() { - xxx_messageInfo_Num.DiscardUnknown(m) -} - -var xxx_messageInfo_Num proto.InternalMessageInfo - -func (m *Num) GetNum() uint64 { - if m != nil { - return m.Num - } - return 0 -} - -func init() { - proto.RegisterType((*Num)(nil), "cardchain.cardchain.Num") -} - -func init() { proto.RegisterFile("cardchain/cardchain/num.proto", fileDescriptor_be8334ccfa5e94e5) } - -var fileDescriptor_be8334ccfa5e94e5 = []byte{ - // 149 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4d, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xf2, 0x4a, 0x73, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, - 0xf2, 0x85, 0x84, 0xe1, 0x82, 0x7a, 0x70, 0x96, 0x92, 0x38, 0x17, 0xb3, 0x5f, 0x69, 0xae, 0x90, - 0x00, 0x17, 0x73, 0x5e, 0x69, 0xae, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x4b, 0x10, 0x88, 0xe9, 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, 0x2e, 0xa9, 0xc9, 0xa9, 0x79, 0x25, 0x45, 0x89, 0x39, - 0xce, 0x89, 0x45, 0x29, 0xee, 0x89, 0xb9, 0xa9, 0x48, 0x36, 0x57, 0x20, 0xb1, 0x4b, 0x2a, 0x0b, - 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x0e, 0x31, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x8f, 0x30, 0x72, - 0x0e, 0xa9, 0x00, 0x00, 0x00, -} - -func (m *Num) 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 *Num) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Num) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Num != 0 { - i = encodeVarintNum(dAtA, i, uint64(m.Num)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintNum(dAtA []byte, offset int, v uint64) int { - offset -= sovNum(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Num) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Num != 0 { - n += 1 + sovNum(uint64(m.Num)) - } - return n -} - -func sovNum(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozNum(x uint64) (n int) { - return sovNum(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Num) 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 ErrIntOverflowNum - } - 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: Num: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Num: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Num", wireType) - } - m.Num = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNum - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Num |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipNum(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthNum - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipNum(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, ErrIntOverflowNum - } - 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, ErrIntOverflowNum - } - 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, ErrIntOverflowNum - } - 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, ErrInvalidLengthNum - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupNum - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthNum - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthNum = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowNum = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupNum = fmt.Errorf("proto: unexpected end of group") -) From dd418fb30a98cb10517de18ab53c5cc51d28acf8 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 06:23:10 +0100 Subject: [PATCH 25/99] feat(#242): SetArtworkAdd --- x/cardchain/keeper/coin.go | 108 +++++++++++++++ .../keeper/msg_server_set_artwork_add.go | 22 ++- x/cardchain/keeper/set.go | 125 ++++++++++++++++++ 3 files changed, 253 insertions(+), 2 deletions(-) create mode 100644 x/cardchain/keeper/coin.go create mode 100644 x/cardchain/keeper/set.go diff --git a/x/cardchain/keeper/coin.go b/x/cardchain/keeper/coin.go new file mode 100644 index 00000000..2bb26e25 --- /dev/null +++ b/x/cardchain/keeper/coin.go @@ -0,0 +1,108 @@ +package keeper + +import ( + "math/big" + + errorsmod "cosmossdk.io/errors" + "cosmossdk.io/math" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +// 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(math.NewInt(amt)), + } +} + +// MulCoinFloat multiplies a Coin with a float +func MulCoinFloat(coin sdk.Coin, amt float64) sdk.Coin { + amount := big.NewFloat(amt) + oldAmount := new(big.Float).SetInt(coin.Amount.BigInt()) + oldAmount.Mul(amount, oldAmount) + var newAmount big.Int + oldAmount.Int(&newAmount) + return sdk.Coin{ + Denom: coin.Denom, + Amount: math.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(math.NewInt(amt)), + } +} + +// MintCoinsToAddr adds coins to an Account +func (k Keeper) MintCoinsToAddr(ctx sdk.Context, addr sdk.AccAddress, amounts sdk.Coins) error { + coinMint := types.ModuleName + // mint coins to minter module account + err := k.BankKeeper.MintCoins(ctx, coinMint, amounts) + if err != nil { + return err + } + // send coins to the address + err = k.BankKeeper.SendCoinsFromModuleToAccount(ctx, coinMint, addr, amounts) + if err != nil { + return err + } + return nil +} + +// BurnCoinsFromAddr removes Coins from an Account +func (k Keeper) BurnCoinsFromAddr(ctx sdk.Context, addr sdk.AccAddress, amounts sdk.Coins) error { + coinMint := types.ModuleName + // send coins to the module + err := k.BankKeeper.SendCoinsFromAccountToModule(ctx, addr, coinMint, amounts) + if err != nil { + return err + } + // burn coins from minter module account + err = k.BankKeeper.BurnCoins(ctx, coinMint, amounts) + if err != nil { + return err + } + return nil +} + +// MintCoinsToString adds coins to an Account +func (k Keeper) MintCoinsToString(ctx sdk.Context, user string, amounts sdk.Coins) error { + addr, err := sdk.AccAddressFromBech32(user) + if err != nil { + return errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "Unable to convert to AccAddress") + } + err = k.MintCoinsToAddr(ctx, addr, amounts) + if err != nil { + return err + } + return nil +} + +// BurnCoinsFromString adds coins to an Account +func (k Keeper) BurnCoinsFromString(ctx sdk.Context, user string, amounts sdk.Coins) error { + addr, err := sdk.AccAddressFromBech32(user) + if err != nil { + return errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "Unable to convert to AccAddress") + } + err = k.BurnCoinsFromAddr(ctx, addr, amounts) + if err != nil { + return err + } + return nil +} + +// TransferFromCoin Transfers coins from a certain pool to a coin +func (k Keeper) TransferFromCoin(ctx sdk.Context, addr string, pool *sdk.Coin, coin sdk.Coin) error { + err := k.MintCoinsToString(ctx, addr, sdk.Coins{coin}) + if err != nil { + return err + } + *pool = pool.Sub(coin) + return nil +} diff --git a/x/cardchain/keeper/msg_server_set_artwork_add.go b/x/cardchain/keeper/msg_server_set_artwork_add.go index 9ae35a6c..be19108c 100644 --- a/x/cardchain/keeper/msg_server_set_artwork_add.go +++ b/x/cardchain/keeper/msg_server_set_artwork_add.go @@ -3,15 +3,33 @@ package keeper import ( "context" + errorsmod "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) SetArtworkAdd(goCtx context.Context, msg *types.MsgSetArtworkAdd) (*types.MsgSetArtworkAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + set := k.Sets.Get(ctx, msg.SetId) + image := k.Images.Get(ctx, set.ArtworkId) + + if set.Artist != msg.Creator { + return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Incorrect Artist") + } + if set.Status != types.CStatus_design { + return nil, errorsmod.Wrapf(errors.ErrUnauthorized, "Invalid set status is: %s", set.Status.String()) + } + + err := k.CollectSetConributionFee(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(errors.ErrInsufficientFunds, err.Error()) + } + + image.Image = msg.Image + + k.Images.Set(ctx, set.ArtworkId, image) return &types.MsgSetArtworkAddResponse{}, nil } diff --git a/x/cardchain/keeper/set.go b/x/cardchain/keeper/set.go new file mode 100644 index 00000000..c9e168f7 --- /dev/null +++ b/x/cardchain/keeper/set.go @@ -0,0 +1,125 @@ +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) +} + +// GetContributorDistribution Returns an array of all contributors of a set in their respective frequencies +func (k Keeper) GetContributorDistribution(ctx sdk.Context, set types.Set) []*types.AddrWithQuantity { + params := k.GetParams(ctx) + contribs := []*types.AddrWithQuantity{{Addr: set.StoryWriter, Q: 2}, {Addr: set.Artist, Q: 2}, {Addr: set.Contributors[0], Q: 4}} + for _, cardId := range set.Cards { + var card = k.Cards.Get(ctx, cardId) + if card.Owner != "" { + for _, addr := range []string{card.Owner, card.Artist} { + incQ(&contribs, addr) + } + } + } + + var amount uint32 + for _, contrib := range contribs { + amount += contrib.Q + } + + var payment = QuoCoin(params.SetPrice, int64(amount)) + for _, contrib := range contribs { + p := MulCoin(payment, int64(contrib.Q)) + contrib.Payment = &p + } + + return contribs +} + +func incQ(addrsWithQ *[]*types.AddrWithQuantity, addr string) { + for _, addrWithQ := range *addrsWithQ { + if addrWithQ.Addr == addr { + addrWithQ.Q += 1 + return + } + } + *addrsWithQ = append(*addrsWithQ, &types.AddrWithQuantity{Addr: addr, Q: 1}) +} + +// 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 +} From b44f18ab70a203eb6b0d07446f8efade283bab8d Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 06:28:47 +0100 Subject: [PATCH 26/99] feat(#242): SetCardAdd --- x/cardchain/keeper/msg_server_set_card_add.go | 48 ++++++++++++++++++- x/cardchain/types/errors.go | 2 + x/cardchain/types/message_set_artwork_add.go | 7 +++ 3 files changed, 55 insertions(+), 2 deletions(-) diff --git a/x/cardchain/keeper/msg_server_set_card_add.go b/x/cardchain/keeper/msg_server_set_card_add.go index 738c9cae..3411f9a4 100644 --- a/x/cardchain/keeper/msg_server_set_card_add.go +++ b/x/cardchain/keeper/msg_server_set_card_add.go @@ -2,16 +2,60 @@ package keeper import ( "context" + "slices" + errorsmod "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) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) (*types.MsgSetCardAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + setSize := int(k.GetParams(ctx).SetSize) + + set := k.Sets.Get(ctx, msg.SetId) + if !slices.Contains(set.Contributors, msg.Creator) { + return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Invalid contributor") + } + if set.Status != types.CStatus_design { + return nil, errorsmod.Wrapf(errors.ErrUnauthorized, "Invalid set status is: %s", set.Status.String()) + } + + 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, errorsmod.Wrapf(types.ErrCardAlreadyInSet, "Set: %d", idx) + } + } + + card := k.Cards.Get(ctx, msg.CardId) + if card.Status != types.Status_permanent { + return nil, errorsmod.Wrap(types.ErrCardDoesNotExist, "Card is not permanent or does not exist") + } + + if card.Owner != msg.Creator { + return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Invalid creator") + } + + if len(set.Cards) >= setSize { + return nil, errorsmod.Wrapf(types.ErrInvalidData, "Max set size is %d", setSize) + } + + if slices.Contains(set.Cards, msg.CardId) { + return nil, errorsmod.Wrapf(types.ErrCardAlreadyInSet, "Card: %d", msg.CardId) + } + + err := k.CollectSetConributionFee(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(errors.ErrInsufficientFunds, err.Error()) + } + + set.Cards = append(set.Cards, msg.CardId) + + k.Sets.Set(ctx, msg.SetId, set) return &types.MsgSetCardAddResponse{}, nil } diff --git a/x/cardchain/types/errors.go b/x/cardchain/types/errors.go index 01c25658..8acf92a6 100644 --- a/x/cardchain/types/errors.go +++ b/x/cardchain/types/errors.go @@ -9,6 +9,8 @@ import ( // x/cardchain module sentinel errors var ( ErrInvalidSigner = sdkerrors.Register(ModuleName, 1100, "expected gov account as only signer for proposal message") + ErrCardDoesNotExist = sdkerrors.Register(ModuleName, 1, "card does not exist") + ErrCardAlreadyInSet = sdkerrors.Register(ModuleName, 8, "Card already in set") ErrInvalidCardStatus = sdkerrors.Register(ModuleName, 13, "Invalid card-status") ErrImageSizeExceeded = sdkerrors.Register(ModuleName, 17, "Image too big! Max size is 500kb") ErrInvalidData = sdkerrors.Register(ModuleName, 27, "Invalid data in transaction") diff --git a/x/cardchain/types/message_set_artwork_add.go b/x/cardchain/types/message_set_artwork_add.go index 8f2bab55..917bfed0 100644 --- a/x/cardchain/types/message_set_artwork_add.go +++ b/x/cardchain/types/message_set_artwork_add.go @@ -1,6 +1,8 @@ package types import ( + fmt "fmt" + errorsmod "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -21,5 +23,10 @@ func (msg *MsgSetArtworkAdd) ValidateBasic() error { if err != nil { return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) } + + if len(msg.Image) > ArtworkMaxSize { + return errorsmod.Wrap(ErrImageSizeExceeded, fmt.Sprint(len(msg.Image))) + } + return nil } From fa2080535eb6ef538867904ee82849accba1c93a Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 06:34:49 +0100 Subject: [PATCH 27/99] feat(#242): SetContributorAdd --- .../keeper/msg_server_set_contributor_add.go | 21 +++++++++++++++++-- x/cardchain/keeper/set.go | 15 +++++++------ 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/x/cardchain/keeper/msg_server_set_contributor_add.go b/x/cardchain/keeper/msg_server_set_contributor_add.go index c7ee4eae..ee381ccd 100644 --- a/x/cardchain/keeper/msg_server_set_contributor_add.go +++ b/x/cardchain/keeper/msg_server_set_contributor_add.go @@ -2,16 +2,33 @@ package keeper import ( "context" + "slices" + errorsmod "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) SetContributorAdd(goCtx context.Context, msg *types.MsgSetContributorAdd) (*types.MsgSetContributorAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + set := k.Sets.Get(ctx, msg.SetId) + if err := checkSetEditable(set, msg.Creator); err != nil { + return nil, err + } + + if slices.Contains(set.Contributors, msg.User) { + return nil, errorsmod.Wrap(types.ErrInvalidData, "Contributor allready Contributor: "+msg.User) + } + + if err := k.CollectSetConributionFee(ctx, msg.Creator); err != nil { + return nil, errorsmod.Wrap(errors.ErrInsufficientFunds, err.Error()) + } + + set.Contributors = append(set.Contributors, msg.User) + + k.Sets.Set(ctx, msg.SetId, set) return &types.MsgSetContributorAddResponse{}, nil } diff --git a/x/cardchain/keeper/set.go b/x/cardchain/keeper/set.go index c9e168f7..b007a216 100644 --- a/x/cardchain/keeper/set.go +++ b/x/cardchain/keeper/set.go @@ -3,7 +3,7 @@ package keeper import ( "github.com/cosmos/cosmos-sdk/types/errors" - sdkerrors "cosmossdk.io/errors" + errorsmod "cosmossdk.io/errors" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -88,9 +88,7 @@ func (k Keeper) GetRarityDistribution(ctx sdk.Context, set types.Set, setSize ui 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++ @@ -99,7 +97,7 @@ func (k Keeper) GetRarityDistribution(ctx sdk.Context, set types.Set, setSize ui case types.CardRarity_rare: rares++ default: - return dist, sdkerrors.Wrapf(errors.ErrInvalidType, "Invalid rarity (%d) for card (%d)", card.Rarity, cardId) + return dist, errorsmod.Wrapf(errors.ErrInvalidType, "Invalid rarity (%d) for card (%d)", card.Rarity, cardId) } } @@ -111,15 +109,16 @@ func (k Keeper) GetRarityDistribution(ctx sdk.Context, set types.Set, setSize ui func checkSetEditable(set *types.Set, user string) error { if len(set.Contributors) == 0 { - return sdkerrors.Wrap(types.ErrUninitializedType, "Set not initialized") + return errorsmod.Wrap(types.ErrInvalidData, "Set not initialized") } if user != set.Contributors[0] { - return sdkerrors.Wrap(errors.ErrUnauthorized, "Invalid creator") + return errorsmod.Wrap(errors.ErrUnauthorized, "Invalid creator") } if set.Status != types.CStatus_design { - return types.ErrSetNotInDesign + return errorsmod.Wrapf(errors.ErrUnauthorized, "Invalid set status is: %s", set.Status.String()) + } return nil } From 2e284bc5b5e4c69c12f795895095d8f528722776 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 17 Dec 2024 06:36:23 +0100 Subject: [PATCH 28/99] feat(#242): SetStoryAdd --- .../keeper/msg_server_set_story_add.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/x/cardchain/keeper/msg_server_set_story_add.go b/x/cardchain/keeper/msg_server_set_story_add.go index 7d693562..598eb3a2 100644 --- a/x/cardchain/keeper/msg_server_set_story_add.go +++ b/x/cardchain/keeper/msg_server_set_story_add.go @@ -3,15 +3,30 @@ package keeper import ( "context" + errorsmod "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) SetStoryAdd(goCtx context.Context, msg *types.MsgSetStoryAdd) (*types.MsgSetStoryAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + set := k.Sets.Get(ctx, msg.SetId) + if set.StoryWriter != msg.Creator { + return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Incorrect StoryWriter") + } + if set.Status != types.CStatus_design { + return nil, errorsmod.Wrapf(errors.ErrUnauthorized, "Invalid set status is: %s", set.Status.String()) + } + err := k.CollectSetConributionFee(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(errors.ErrInsufficientFunds, err.Error()) + } + + set.Story = msg.Story + + k.Sets.Set(ctx, msg.SetId, set) return &types.MsgSetStoryAddResponse{}, nil } From 9d1a3df318511cf76612728dc4535a295a60a706 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Thu, 19 Dec 2024 21:08:06 +0100 Subject: [PATCH 29/99] feat(#242): Added reporter apoint and rebuild gtk --- api/cardchain/cardchain/user.pulsar.go | 4912 +++++++++++++++++ docs/static/openapi.yml | 2 +- go.mod | 3 + go.sum | 6 + proto/cardchain/cardchain/user.proto | 62 + types/generic_type_keeper/address_gtk.go | 27 + .../generic_type_keeper.go | 104 +- types/generic_type_keeper/item_iterator.go | 32 + types/generic_type_keeper/key_converter.go | 3 + .../keyworded_generic_type_keeper.go | 6 +- types/generic_type_keeper/uint_gtk.go | 66 + x/cardchain/keeper/airdrops.go | 35 + x/cardchain/keeper/keeper.go | 34 +- x/cardchain/keeper/match.go | 231 + .../msg_server_match_reporter_appoint.go | 5 +- x/cardchain/keeper/server.go | 32 + x/cardchain/keeper/user.go | 97 + x/cardchain/keeper/vote_right.go | 97 + x/cardchain/keeper/voting.go | 87 + x/cardchain/types/card.go | 24 + x/cardchain/types/errors.go | 2 + x/cardchain/types/types.go | 13 + x/cardchain/types/user.go | 2 + x/cardchain/types/user.pb.go | 2572 +++++++++ 24 files changed, 8345 insertions(+), 109 deletions(-) create mode 100644 api/cardchain/cardchain/user.pulsar.go create mode 100644 proto/cardchain/cardchain/user.proto create mode 100644 types/generic_type_keeper/address_gtk.go create mode 100644 types/generic_type_keeper/item_iterator.go create mode 100644 types/generic_type_keeper/key_converter.go create mode 100644 types/generic_type_keeper/uint_gtk.go create mode 100644 x/cardchain/keeper/airdrops.go create mode 100644 x/cardchain/keeper/match.go create mode 100644 x/cardchain/keeper/server.go create mode 100644 x/cardchain/keeper/user.go create mode 100644 x/cardchain/keeper/vote_right.go create mode 100644 x/cardchain/keeper/voting.go create mode 100644 x/cardchain/types/card.go create mode 100644 x/cardchain/types/user.go create mode 100644 x/cardchain/types/user.pb.go diff --git a/api/cardchain/cardchain/user.pulsar.go b/api/cardchain/cardchain/user.pulsar.go new file mode 100644 index 00000000..c0c7e0ad --- /dev/null +++ b/api/cardchain/cardchain/user.pulsar.go @@ -0,0 +1,4912 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var _ protoreflect.List = (*_User_2_list)(nil) + +type _User_2_list struct { + list *[]uint64 +} + +func (x *_User_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_User_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_User_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_User_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_User_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message User at list field OwnedCardSchemes as it is not of Message kind")) +} + +func (x *_User_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_User_2_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_User_2_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_User_3_list)(nil) + +type _User_3_list struct { + list *[]uint64 +} + +func (x *_User_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_User_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_User_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_User_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_User_3_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message User at list field OwnedPrototypes as it is not of Message kind")) +} + +func (x *_User_3_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_User_3_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_User_3_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_User_4_list)(nil) + +type _User_4_list struct { + list *[]uint64 +} + +func (x *_User_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_User_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_User_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_User_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_User_4_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message User at list field Cards as it is not of Message kind")) +} + +func (x *_User_4_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_User_4_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_User_4_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_User_10_list)(nil) + +type _User_10_list struct { + list *[]*BoosterPack +} + +func (x *_User_10_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_User_10_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_User_10_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*BoosterPack) + (*x.list)[i] = concreteValue +} + +func (x *_User_10_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*BoosterPack) + *x.list = append(*x.list, concreteValue) +} + +func (x *_User_10_list) AppendMutable() protoreflect.Value { + v := new(BoosterPack) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_User_10_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_User_10_list) NewElement() protoreflect.Value { + v := new(BoosterPack) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_User_10_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_User_13_list)(nil) + +type _User_13_list struct { + list *[]uint64 +} + +func (x *_User_13_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_User_13_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_User_13_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_User_13_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_User_13_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message User at list field VotableCards as it is not of Message kind")) +} + +func (x *_User_13_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_User_13_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_User_13_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_User_14_list)(nil) + +type _User_14_list struct { + list *[]uint64 +} + +func (x *_User_14_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_User_14_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_User_14_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_User_14_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_User_14_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message User at list field VotedCards as it is not of Message kind")) +} + +func (x *_User_14_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_User_14_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_User_14_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_User_16_list)(nil) + +type _User_16_list struct { + list *[]uint64 +} + +func (x *_User_16_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_User_16_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_User_16_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_User_16_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_User_16_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message User at list field OpenEncounters as it is not of Message kind")) +} + +func (x *_User_16_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_User_16_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_User_16_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_User_17_list)(nil) + +type _User_17_list struct { + list *[]uint64 +} + +func (x *_User_17_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_User_17_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_User_17_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_User_17_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_User_17_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message User at list field WonEncounters as it is not of Message kind")) +} + +func (x *_User_17_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_User_17_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_User_17_list) IsValid() bool { + return x.list != nil +} + +var ( + md_User protoreflect.MessageDescriptor + fd_User_alias protoreflect.FieldDescriptor + fd_User_ownedCardSchemes protoreflect.FieldDescriptor + fd_User_ownedPrototypes protoreflect.FieldDescriptor + fd_User_cards protoreflect.FieldDescriptor + fd_User_CouncilStatus protoreflect.FieldDescriptor + fd_User_ReportMatches protoreflect.FieldDescriptor + fd_User_profileCard protoreflect.FieldDescriptor + fd_User_airDrops protoreflect.FieldDescriptor + fd_User_boosterPacks protoreflect.FieldDescriptor + fd_User_website protoreflect.FieldDescriptor + fd_User_biography protoreflect.FieldDescriptor + fd_User_votableCards protoreflect.FieldDescriptor + fd_User_votedCards protoreflect.FieldDescriptor + fd_User_earlyAccess protoreflect.FieldDescriptor + fd_User_OpenEncounters protoreflect.FieldDescriptor + fd_User_WonEncounters protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_user_proto_init() + md_User = File_cardchain_cardchain_user_proto.Messages().ByName("User") + fd_User_alias = md_User.Fields().ByName("alias") + fd_User_ownedCardSchemes = md_User.Fields().ByName("ownedCardSchemes") + fd_User_ownedPrototypes = md_User.Fields().ByName("ownedPrototypes") + fd_User_cards = md_User.Fields().ByName("cards") + fd_User_CouncilStatus = md_User.Fields().ByName("CouncilStatus") + fd_User_ReportMatches = md_User.Fields().ByName("ReportMatches") + fd_User_profileCard = md_User.Fields().ByName("profileCard") + fd_User_airDrops = md_User.Fields().ByName("airDrops") + fd_User_boosterPacks = md_User.Fields().ByName("boosterPacks") + fd_User_website = md_User.Fields().ByName("website") + fd_User_biography = md_User.Fields().ByName("biography") + fd_User_votableCards = md_User.Fields().ByName("votableCards") + fd_User_votedCards = md_User.Fields().ByName("votedCards") + fd_User_earlyAccess = md_User.Fields().ByName("earlyAccess") + fd_User_OpenEncounters = md_User.Fields().ByName("OpenEncounters") + fd_User_WonEncounters = md_User.Fields().ByName("WonEncounters") +} + +var _ protoreflect.Message = (*fastReflection_User)(nil) + +type fastReflection_User User + +func (x *User) ProtoReflect() protoreflect.Message { + return (*fastReflection_User)(x) +} + +func (x *User) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_user_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_User_messageType fastReflection_User_messageType +var _ protoreflect.MessageType = fastReflection_User_messageType{} + +type fastReflection_User_messageType struct{} + +func (x fastReflection_User_messageType) Zero() protoreflect.Message { + return (*fastReflection_User)(nil) +} +func (x fastReflection_User_messageType) New() protoreflect.Message { + return new(fastReflection_User) +} +func (x fastReflection_User_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_User +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_User) Descriptor() protoreflect.MessageDescriptor { + return md_User +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_User) Type() protoreflect.MessageType { + return _fastReflection_User_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_User) New() protoreflect.Message { + return new(fastReflection_User) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_User) Interface() protoreflect.ProtoMessage { + return (*User)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_User) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Alias != "" { + value := protoreflect.ValueOfString(x.Alias) + if !f(fd_User_alias, value) { + return + } + } + if len(x.OwnedCardSchemes) != 0 { + value := protoreflect.ValueOfList(&_User_2_list{list: &x.OwnedCardSchemes}) + if !f(fd_User_ownedCardSchemes, value) { + return + } + } + if len(x.OwnedPrototypes) != 0 { + value := protoreflect.ValueOfList(&_User_3_list{list: &x.OwnedPrototypes}) + if !f(fd_User_ownedPrototypes, value) { + return + } + } + if len(x.Cards) != 0 { + value := protoreflect.ValueOfList(&_User_4_list{list: &x.Cards}) + if !f(fd_User_cards, value) { + return + } + } + if x.CouncilStatus != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.CouncilStatus)) + if !f(fd_User_CouncilStatus, value) { + return + } + } + if x.ReportMatches != false { + value := protoreflect.ValueOfBool(x.ReportMatches) + if !f(fd_User_ReportMatches, value) { + return + } + } + if x.ProfileCard != uint64(0) { + value := protoreflect.ValueOfUint64(x.ProfileCard) + if !f(fd_User_profileCard, value) { + return + } + } + if x.AirDrops != nil { + value := protoreflect.ValueOfMessage(x.AirDrops.ProtoReflect()) + if !f(fd_User_airDrops, value) { + return + } + } + if len(x.BoosterPacks) != 0 { + value := protoreflect.ValueOfList(&_User_10_list{list: &x.BoosterPacks}) + if !f(fd_User_boosterPacks, value) { + return + } + } + if x.Website != "" { + value := protoreflect.ValueOfString(x.Website) + if !f(fd_User_website, value) { + return + } + } + if x.Biography != "" { + value := protoreflect.ValueOfString(x.Biography) + if !f(fd_User_biography, value) { + return + } + } + if len(x.VotableCards) != 0 { + value := protoreflect.ValueOfList(&_User_13_list{list: &x.VotableCards}) + if !f(fd_User_votableCards, value) { + return + } + } + if len(x.VotedCards) != 0 { + value := protoreflect.ValueOfList(&_User_14_list{list: &x.VotedCards}) + if !f(fd_User_votedCards, value) { + return + } + } + if x.EarlyAccess != nil { + value := protoreflect.ValueOfMessage(x.EarlyAccess.ProtoReflect()) + if !f(fd_User_earlyAccess, value) { + return + } + } + if len(x.OpenEncounters) != 0 { + value := protoreflect.ValueOfList(&_User_16_list{list: &x.OpenEncounters}) + if !f(fd_User_OpenEncounters, value) { + return + } + } + if len(x.WonEncounters) != 0 { + value := protoreflect.ValueOfList(&_User_17_list{list: &x.WonEncounters}) + if !f(fd_User_WonEncounters, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_User) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.User.alias": + return x.Alias != "" + case "cardchain.cardchain.User.ownedCardSchemes": + return len(x.OwnedCardSchemes) != 0 + case "cardchain.cardchain.User.ownedPrototypes": + return len(x.OwnedPrototypes) != 0 + case "cardchain.cardchain.User.cards": + return len(x.Cards) != 0 + case "cardchain.cardchain.User.CouncilStatus": + return x.CouncilStatus != 0 + case "cardchain.cardchain.User.ReportMatches": + return x.ReportMatches != false + case "cardchain.cardchain.User.profileCard": + return x.ProfileCard != uint64(0) + case "cardchain.cardchain.User.airDrops": + return x.AirDrops != nil + case "cardchain.cardchain.User.boosterPacks": + return len(x.BoosterPacks) != 0 + case "cardchain.cardchain.User.website": + return x.Website != "" + case "cardchain.cardchain.User.biography": + return x.Biography != "" + case "cardchain.cardchain.User.votableCards": + return len(x.VotableCards) != 0 + case "cardchain.cardchain.User.votedCards": + return len(x.VotedCards) != 0 + case "cardchain.cardchain.User.earlyAccess": + return x.EarlyAccess != nil + case "cardchain.cardchain.User.OpenEncounters": + return len(x.OpenEncounters) != 0 + case "cardchain.cardchain.User.WonEncounters": + return len(x.WonEncounters) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.User")) + } + panic(fmt.Errorf("message cardchain.cardchain.User does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_User) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.User.alias": + x.Alias = "" + case "cardchain.cardchain.User.ownedCardSchemes": + x.OwnedCardSchemes = nil + case "cardchain.cardchain.User.ownedPrototypes": + x.OwnedPrototypes = nil + case "cardchain.cardchain.User.cards": + x.Cards = nil + case "cardchain.cardchain.User.CouncilStatus": + x.CouncilStatus = 0 + case "cardchain.cardchain.User.ReportMatches": + x.ReportMatches = false + case "cardchain.cardchain.User.profileCard": + x.ProfileCard = uint64(0) + case "cardchain.cardchain.User.airDrops": + x.AirDrops = nil + case "cardchain.cardchain.User.boosterPacks": + x.BoosterPacks = nil + case "cardchain.cardchain.User.website": + x.Website = "" + case "cardchain.cardchain.User.biography": + x.Biography = "" + case "cardchain.cardchain.User.votableCards": + x.VotableCards = nil + case "cardchain.cardchain.User.votedCards": + x.VotedCards = nil + case "cardchain.cardchain.User.earlyAccess": + x.EarlyAccess = nil + case "cardchain.cardchain.User.OpenEncounters": + x.OpenEncounters = nil + case "cardchain.cardchain.User.WonEncounters": + x.WonEncounters = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.User")) + } + panic(fmt.Errorf("message cardchain.cardchain.User does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_User) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.User.alias": + value := x.Alias + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.User.ownedCardSchemes": + if len(x.OwnedCardSchemes) == 0 { + return protoreflect.ValueOfList(&_User_2_list{}) + } + listValue := &_User_2_list{list: &x.OwnedCardSchemes} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.User.ownedPrototypes": + if len(x.OwnedPrototypes) == 0 { + return protoreflect.ValueOfList(&_User_3_list{}) + } + listValue := &_User_3_list{list: &x.OwnedPrototypes} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.User.cards": + if len(x.Cards) == 0 { + return protoreflect.ValueOfList(&_User_4_list{}) + } + listValue := &_User_4_list{list: &x.Cards} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.User.CouncilStatus": + value := x.CouncilStatus + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "cardchain.cardchain.User.ReportMatches": + value := x.ReportMatches + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.User.profileCard": + value := x.ProfileCard + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.User.airDrops": + value := x.AirDrops + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.User.boosterPacks": + if len(x.BoosterPacks) == 0 { + return protoreflect.ValueOfList(&_User_10_list{}) + } + listValue := &_User_10_list{list: &x.BoosterPacks} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.User.website": + value := x.Website + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.User.biography": + value := x.Biography + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.User.votableCards": + if len(x.VotableCards) == 0 { + return protoreflect.ValueOfList(&_User_13_list{}) + } + listValue := &_User_13_list{list: &x.VotableCards} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.User.votedCards": + if len(x.VotedCards) == 0 { + return protoreflect.ValueOfList(&_User_14_list{}) + } + listValue := &_User_14_list{list: &x.VotedCards} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.User.earlyAccess": + value := x.EarlyAccess + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.User.OpenEncounters": + if len(x.OpenEncounters) == 0 { + return protoreflect.ValueOfList(&_User_16_list{}) + } + listValue := &_User_16_list{list: &x.OpenEncounters} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.User.WonEncounters": + if len(x.WonEncounters) == 0 { + return protoreflect.ValueOfList(&_User_17_list{}) + } + listValue := &_User_17_list{list: &x.WonEncounters} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.User")) + } + panic(fmt.Errorf("message cardchain.cardchain.User does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_User) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.User.alias": + x.Alias = value.Interface().(string) + case "cardchain.cardchain.User.ownedCardSchemes": + lv := value.List() + clv := lv.(*_User_2_list) + x.OwnedCardSchemes = *clv.list + case "cardchain.cardchain.User.ownedPrototypes": + lv := value.List() + clv := lv.(*_User_3_list) + x.OwnedPrototypes = *clv.list + case "cardchain.cardchain.User.cards": + lv := value.List() + clv := lv.(*_User_4_list) + x.Cards = *clv.list + case "cardchain.cardchain.User.CouncilStatus": + x.CouncilStatus = (CouncilStatus)(value.Enum()) + case "cardchain.cardchain.User.ReportMatches": + x.ReportMatches = value.Bool() + case "cardchain.cardchain.User.profileCard": + x.ProfileCard = value.Uint() + case "cardchain.cardchain.User.airDrops": + x.AirDrops = value.Message().Interface().(*AirDrops) + case "cardchain.cardchain.User.boosterPacks": + lv := value.List() + clv := lv.(*_User_10_list) + x.BoosterPacks = *clv.list + case "cardchain.cardchain.User.website": + x.Website = value.Interface().(string) + case "cardchain.cardchain.User.biography": + x.Biography = value.Interface().(string) + case "cardchain.cardchain.User.votableCards": + lv := value.List() + clv := lv.(*_User_13_list) + x.VotableCards = *clv.list + case "cardchain.cardchain.User.votedCards": + lv := value.List() + clv := lv.(*_User_14_list) + x.VotedCards = *clv.list + case "cardchain.cardchain.User.earlyAccess": + x.EarlyAccess = value.Message().Interface().(*EarlyAccess) + case "cardchain.cardchain.User.OpenEncounters": + lv := value.List() + clv := lv.(*_User_16_list) + x.OpenEncounters = *clv.list + case "cardchain.cardchain.User.WonEncounters": + lv := value.List() + clv := lv.(*_User_17_list) + x.WonEncounters = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.User")) + } + panic(fmt.Errorf("message cardchain.cardchain.User does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_User) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.User.ownedCardSchemes": + if x.OwnedCardSchemes == nil { + x.OwnedCardSchemes = []uint64{} + } + value := &_User_2_list{list: &x.OwnedCardSchemes} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.User.ownedPrototypes": + if x.OwnedPrototypes == nil { + x.OwnedPrototypes = []uint64{} + } + value := &_User_3_list{list: &x.OwnedPrototypes} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.User.cards": + if x.Cards == nil { + x.Cards = []uint64{} + } + value := &_User_4_list{list: &x.Cards} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.User.airDrops": + if x.AirDrops == nil { + x.AirDrops = new(AirDrops) + } + return protoreflect.ValueOfMessage(x.AirDrops.ProtoReflect()) + case "cardchain.cardchain.User.boosterPacks": + if x.BoosterPacks == nil { + x.BoosterPacks = []*BoosterPack{} + } + value := &_User_10_list{list: &x.BoosterPacks} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.User.votableCards": + if x.VotableCards == nil { + x.VotableCards = []uint64{} + } + value := &_User_13_list{list: &x.VotableCards} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.User.votedCards": + if x.VotedCards == nil { + x.VotedCards = []uint64{} + } + value := &_User_14_list{list: &x.VotedCards} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.User.earlyAccess": + if x.EarlyAccess == nil { + x.EarlyAccess = new(EarlyAccess) + } + return protoreflect.ValueOfMessage(x.EarlyAccess.ProtoReflect()) + case "cardchain.cardchain.User.OpenEncounters": + if x.OpenEncounters == nil { + x.OpenEncounters = []uint64{} + } + value := &_User_16_list{list: &x.OpenEncounters} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.User.WonEncounters": + if x.WonEncounters == nil { + x.WonEncounters = []uint64{} + } + value := &_User_17_list{list: &x.WonEncounters} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.User.alias": + panic(fmt.Errorf("field alias of message cardchain.cardchain.User is not mutable")) + case "cardchain.cardchain.User.CouncilStatus": + panic(fmt.Errorf("field CouncilStatus of message cardchain.cardchain.User is not mutable")) + case "cardchain.cardchain.User.ReportMatches": + panic(fmt.Errorf("field ReportMatches of message cardchain.cardchain.User is not mutable")) + case "cardchain.cardchain.User.profileCard": + panic(fmt.Errorf("field profileCard of message cardchain.cardchain.User is not mutable")) + case "cardchain.cardchain.User.website": + panic(fmt.Errorf("field website of message cardchain.cardchain.User is not mutable")) + case "cardchain.cardchain.User.biography": + panic(fmt.Errorf("field biography of message cardchain.cardchain.User is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.User")) + } + panic(fmt.Errorf("message cardchain.cardchain.User does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_User) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.User.alias": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.User.ownedCardSchemes": + list := []uint64{} + return protoreflect.ValueOfList(&_User_2_list{list: &list}) + case "cardchain.cardchain.User.ownedPrototypes": + list := []uint64{} + return protoreflect.ValueOfList(&_User_3_list{list: &list}) + case "cardchain.cardchain.User.cards": + list := []uint64{} + return protoreflect.ValueOfList(&_User_4_list{list: &list}) + case "cardchain.cardchain.User.CouncilStatus": + return protoreflect.ValueOfEnum(0) + case "cardchain.cardchain.User.ReportMatches": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.User.profileCard": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.User.airDrops": + m := new(AirDrops) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.User.boosterPacks": + list := []*BoosterPack{} + return protoreflect.ValueOfList(&_User_10_list{list: &list}) + case "cardchain.cardchain.User.website": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.User.biography": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.User.votableCards": + list := []uint64{} + return protoreflect.ValueOfList(&_User_13_list{list: &list}) + case "cardchain.cardchain.User.votedCards": + list := []uint64{} + return protoreflect.ValueOfList(&_User_14_list{list: &list}) + case "cardchain.cardchain.User.earlyAccess": + m := new(EarlyAccess) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.User.OpenEncounters": + list := []uint64{} + return protoreflect.ValueOfList(&_User_16_list{list: &list}) + case "cardchain.cardchain.User.WonEncounters": + list := []uint64{} + return protoreflect.ValueOfList(&_User_17_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.User")) + } + panic(fmt.Errorf("message cardchain.cardchain.User does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_User) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.User", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_User) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_User) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_User) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_User) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*User) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Alias) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.OwnedCardSchemes) > 0 { + l = 0 + for _, e := range x.OwnedCardSchemes { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if len(x.OwnedPrototypes) > 0 { + l = 0 + for _, e := range x.OwnedPrototypes { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if len(x.Cards) > 0 { + l = 0 + for _, e := range x.Cards { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.CouncilStatus != 0 { + n += 1 + runtime.Sov(uint64(x.CouncilStatus)) + } + if x.ReportMatches { + n += 2 + } + if x.ProfileCard != 0 { + n += 1 + runtime.Sov(uint64(x.ProfileCard)) + } + if x.AirDrops != nil { + l = options.Size(x.AirDrops) + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.BoosterPacks) > 0 { + for _, e := range x.BoosterPacks { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + l = len(x.Website) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Biography) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.VotableCards) > 0 { + l = 0 + for _, e := range x.VotableCards { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if len(x.VotedCards) > 0 { + l = 0 + for _, e := range x.VotedCards { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.EarlyAccess != nil { + l = options.Size(x.EarlyAccess) + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.OpenEncounters) > 0 { + l = 0 + for _, e := range x.OpenEncounters { + l += runtime.Sov(uint64(e)) + } + n += 2 + runtime.Sov(uint64(l)) + l + } + if len(x.WonEncounters) > 0 { + l = 0 + for _, e := range x.WonEncounters { + l += runtime.Sov(uint64(e)) + } + n += 2 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*User) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.WonEncounters) > 0 { + var pksize2 int + for _, num := range x.WonEncounters { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.WonEncounters { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + if len(x.OpenEncounters) > 0 { + var pksize4 int + for _, num := range x.OpenEncounters { + pksize4 += runtime.Sov(uint64(num)) + } + i -= pksize4 + j3 := i + for _, num := range x.OpenEncounters { + for num >= 1<<7 { + dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j3++ + } + dAtA[j3] = uint8(num) + j3++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize4)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + if x.EarlyAccess != nil { + encoded, err := options.Marshal(x.EarlyAccess) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x7a + } + if len(x.VotedCards) > 0 { + var pksize6 int + for _, num := range x.VotedCards { + pksize6 += runtime.Sov(uint64(num)) + } + i -= pksize6 + j5 := i + for _, num := range x.VotedCards { + for num >= 1<<7 { + dAtA[j5] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j5++ + } + dAtA[j5] = uint8(num) + j5++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize6)) + i-- + dAtA[i] = 0x72 + } + if len(x.VotableCards) > 0 { + var pksize8 int + for _, num := range x.VotableCards { + pksize8 += runtime.Sov(uint64(num)) + } + i -= pksize8 + j7 := i + for _, num := range x.VotableCards { + for num >= 1<<7 { + dAtA[j7] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j7++ + } + dAtA[j7] = uint8(num) + j7++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize8)) + i-- + dAtA[i] = 0x6a + } + if len(x.Biography) > 0 { + i -= len(x.Biography) + copy(dAtA[i:], x.Biography) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Biography))) + i-- + dAtA[i] = 0x62 + } + if len(x.Website) > 0 { + i -= len(x.Website) + copy(dAtA[i:], x.Website) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Website))) + i-- + dAtA[i] = 0x5a + } + if len(x.BoosterPacks) > 0 { + for iNdEx := len(x.BoosterPacks) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.BoosterPacks[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x52 + } + } + if x.AirDrops != nil { + encoded, err := options.Marshal(x.AirDrops) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x4a + } + if x.ProfileCard != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ProfileCard)) + i-- + dAtA[i] = 0x40 + } + if x.ReportMatches { + i-- + if x.ReportMatches { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if x.CouncilStatus != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CouncilStatus)) + i-- + dAtA[i] = 0x30 + } + if len(x.Cards) > 0 { + var pksize10 int + for _, num := range x.Cards { + pksize10 += runtime.Sov(uint64(num)) + } + i -= pksize10 + j9 := i + for _, num := range x.Cards { + for num >= 1<<7 { + dAtA[j9] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j9++ + } + dAtA[j9] = uint8(num) + j9++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize10)) + i-- + dAtA[i] = 0x22 + } + if len(x.OwnedPrototypes) > 0 { + var pksize12 int + for _, num := range x.OwnedPrototypes { + pksize12 += runtime.Sov(uint64(num)) + } + i -= pksize12 + j11 := i + for _, num := range x.OwnedPrototypes { + for num >= 1<<7 { + dAtA[j11] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j11++ + } + dAtA[j11] = uint8(num) + j11++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize12)) + i-- + dAtA[i] = 0x1a + } + if len(x.OwnedCardSchemes) > 0 { + var pksize14 int + for _, num := range x.OwnedCardSchemes { + pksize14 += runtime.Sov(uint64(num)) + } + i -= pksize14 + j13 := i + for _, num := range x.OwnedCardSchemes { + for num >= 1<<7 { + dAtA[j13] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j13++ + } + dAtA[j13] = uint8(num) + j13++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize14)) + i-- + dAtA[i] = 0x12 + } + if len(x.Alias) > 0 { + i -= len(x.Alias) + copy(dAtA[i:], x.Alias) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Alias))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*User) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: User: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: User: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Alias", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Alias = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.OwnedCardSchemes = append(x.OwnedCardSchemes, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.OwnedCardSchemes) == 0 { + x.OwnedCardSchemes = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.OwnedCardSchemes = append(x.OwnedCardSchemes, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OwnedCardSchemes", wireType) + } + case 3: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.OwnedPrototypes = append(x.OwnedPrototypes, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.OwnedPrototypes) == 0 { + x.OwnedPrototypes = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.OwnedPrototypes = append(x.OwnedPrototypes, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OwnedPrototypes", wireType) + } + case 4: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Cards = append(x.Cards, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.Cards) == 0 { + x.Cards = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Cards = append(x.Cards, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Cards", wireType) + } + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CouncilStatus", wireType) + } + x.CouncilStatus = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CouncilStatus |= CouncilStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReportMatches", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.ReportMatches = bool(v != 0) + case 8: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProfileCard", wireType) + } + x.ProfileCard = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.ProfileCard |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AirDrops", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.AirDrops == nil { + x.AirDrops = &AirDrops{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.AirDrops); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BoosterPacks", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.BoosterPacks = append(x.BoosterPacks, &BoosterPack{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.BoosterPacks[len(x.BoosterPacks)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Website", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Website = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 12: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Biography", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Biography = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 13: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.VotableCards = append(x.VotableCards, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.VotableCards) == 0 { + x.VotableCards = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.VotableCards = append(x.VotableCards, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VotableCards", wireType) + } + case 14: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.VotedCards = append(x.VotedCards, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.VotedCards) == 0 { + x.VotedCards = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.VotedCards = append(x.VotedCards, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) + } + case 15: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EarlyAccess", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.EarlyAccess == nil { + x.EarlyAccess = &EarlyAccess{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.EarlyAccess); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 16: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.OpenEncounters = append(x.OpenEncounters, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.OpenEncounters) == 0 { + x.OpenEncounters = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.OpenEncounters = append(x.OpenEncounters, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OpenEncounters", wireType) + } + case 17: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.WonEncounters = append(x.WonEncounters, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.WonEncounters) == 0 { + x.WonEncounters = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.WonEncounters = append(x.WonEncounters, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field WonEncounters", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_EarlyAccess protoreflect.MessageDescriptor + fd_EarlyAccess_active protoreflect.FieldDescriptor + fd_EarlyAccess_invitedByUser protoreflect.FieldDescriptor + fd_EarlyAccess_invitedUser protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_user_proto_init() + md_EarlyAccess = File_cardchain_cardchain_user_proto.Messages().ByName("EarlyAccess") + fd_EarlyAccess_active = md_EarlyAccess.Fields().ByName("active") + fd_EarlyAccess_invitedByUser = md_EarlyAccess.Fields().ByName("invitedByUser") + fd_EarlyAccess_invitedUser = md_EarlyAccess.Fields().ByName("invitedUser") +} + +var _ protoreflect.Message = (*fastReflection_EarlyAccess)(nil) + +type fastReflection_EarlyAccess EarlyAccess + +func (x *EarlyAccess) ProtoReflect() protoreflect.Message { + return (*fastReflection_EarlyAccess)(x) +} + +func (x *EarlyAccess) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_user_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_EarlyAccess_messageType fastReflection_EarlyAccess_messageType +var _ protoreflect.MessageType = fastReflection_EarlyAccess_messageType{} + +type fastReflection_EarlyAccess_messageType struct{} + +func (x fastReflection_EarlyAccess_messageType) Zero() protoreflect.Message { + return (*fastReflection_EarlyAccess)(nil) +} +func (x fastReflection_EarlyAccess_messageType) New() protoreflect.Message { + return new(fastReflection_EarlyAccess) +} +func (x fastReflection_EarlyAccess_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EarlyAccess +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_EarlyAccess) Descriptor() protoreflect.MessageDescriptor { + return md_EarlyAccess +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_EarlyAccess) Type() protoreflect.MessageType { + return _fastReflection_EarlyAccess_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_EarlyAccess) New() protoreflect.Message { + return new(fastReflection_EarlyAccess) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_EarlyAccess) Interface() protoreflect.ProtoMessage { + return (*EarlyAccess)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_EarlyAccess) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Active != false { + value := protoreflect.ValueOfBool(x.Active) + if !f(fd_EarlyAccess_active, value) { + return + } + } + if x.InvitedByUser != "" { + value := protoreflect.ValueOfString(x.InvitedByUser) + if !f(fd_EarlyAccess_invitedByUser, value) { + return + } + } + if x.InvitedUser != "" { + value := protoreflect.ValueOfString(x.InvitedUser) + if !f(fd_EarlyAccess_invitedUser, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_EarlyAccess) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.EarlyAccess.active": + return x.Active != false + case "cardchain.cardchain.EarlyAccess.invitedByUser": + return x.InvitedByUser != "" + case "cardchain.cardchain.EarlyAccess.invitedUser": + return x.InvitedUser != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EarlyAccess")) + } + panic(fmt.Errorf("message cardchain.cardchain.EarlyAccess does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EarlyAccess) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.EarlyAccess.active": + x.Active = false + case "cardchain.cardchain.EarlyAccess.invitedByUser": + x.InvitedByUser = "" + case "cardchain.cardchain.EarlyAccess.invitedUser": + x.InvitedUser = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EarlyAccess")) + } + panic(fmt.Errorf("message cardchain.cardchain.EarlyAccess does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_EarlyAccess) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.EarlyAccess.active": + value := x.Active + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.EarlyAccess.invitedByUser": + value := x.InvitedByUser + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.EarlyAccess.invitedUser": + value := x.InvitedUser + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EarlyAccess")) + } + panic(fmt.Errorf("message cardchain.cardchain.EarlyAccess does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EarlyAccess) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.EarlyAccess.active": + x.Active = value.Bool() + case "cardchain.cardchain.EarlyAccess.invitedByUser": + x.InvitedByUser = value.Interface().(string) + case "cardchain.cardchain.EarlyAccess.invitedUser": + x.InvitedUser = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EarlyAccess")) + } + panic(fmt.Errorf("message cardchain.cardchain.EarlyAccess does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EarlyAccess) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.EarlyAccess.active": + panic(fmt.Errorf("field active of message cardchain.cardchain.EarlyAccess is not mutable")) + case "cardchain.cardchain.EarlyAccess.invitedByUser": + panic(fmt.Errorf("field invitedByUser of message cardchain.cardchain.EarlyAccess is not mutable")) + case "cardchain.cardchain.EarlyAccess.invitedUser": + panic(fmt.Errorf("field invitedUser of message cardchain.cardchain.EarlyAccess is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EarlyAccess")) + } + panic(fmt.Errorf("message cardchain.cardchain.EarlyAccess does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_EarlyAccess) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.EarlyAccess.active": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.EarlyAccess.invitedByUser": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.EarlyAccess.invitedUser": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EarlyAccess")) + } + panic(fmt.Errorf("message cardchain.cardchain.EarlyAccess does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_EarlyAccess) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.EarlyAccess", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_EarlyAccess) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EarlyAccess) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_EarlyAccess) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_EarlyAccess) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*EarlyAccess) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Active { + n += 2 + } + l = len(x.InvitedByUser) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.InvitedUser) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*EarlyAccess) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.InvitedUser) > 0 { + i -= len(x.InvitedUser) + copy(dAtA[i:], x.InvitedUser) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.InvitedUser))) + i-- + dAtA[i] = 0x1a + } + if len(x.InvitedByUser) > 0 { + i -= len(x.InvitedByUser) + copy(dAtA[i:], x.InvitedByUser) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.InvitedByUser))) + i-- + dAtA[i] = 0x12 + } + if x.Active { + i-- + if x.Active { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*EarlyAccess) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EarlyAccess: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EarlyAccess: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Active", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Active = bool(v != 0) + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field InvitedByUser", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.InvitedByUser = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field InvitedUser", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.InvitedUser = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_BoosterPack_3_list)(nil) + +type _BoosterPack_3_list struct { + list *[]uint64 +} + +func (x *_BoosterPack_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_BoosterPack_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_BoosterPack_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_BoosterPack_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_BoosterPack_3_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message BoosterPack at list field RaritiesPerPack as it is not of Message kind")) +} + +func (x *_BoosterPack_3_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_BoosterPack_3_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_BoosterPack_3_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_BoosterPack_4_list)(nil) + +type _BoosterPack_4_list struct { + list *[]uint64 +} + +func (x *_BoosterPack_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_BoosterPack_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_BoosterPack_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_BoosterPack_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_BoosterPack_4_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message BoosterPack at list field DropRatiosPerPack as it is not of Message kind")) +} + +func (x *_BoosterPack_4_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_BoosterPack_4_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_BoosterPack_4_list) IsValid() bool { + return x.list != nil +} + +var ( + md_BoosterPack protoreflect.MessageDescriptor + fd_BoosterPack_setId protoreflect.FieldDescriptor + fd_BoosterPack_timeStamp protoreflect.FieldDescriptor + fd_BoosterPack_raritiesPerPack protoreflect.FieldDescriptor + fd_BoosterPack_dropRatiosPerPack protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_user_proto_init() + md_BoosterPack = File_cardchain_cardchain_user_proto.Messages().ByName("BoosterPack") + fd_BoosterPack_setId = md_BoosterPack.Fields().ByName("setId") + fd_BoosterPack_timeStamp = md_BoosterPack.Fields().ByName("timeStamp") + fd_BoosterPack_raritiesPerPack = md_BoosterPack.Fields().ByName("raritiesPerPack") + fd_BoosterPack_dropRatiosPerPack = md_BoosterPack.Fields().ByName("dropRatiosPerPack") +} + +var _ protoreflect.Message = (*fastReflection_BoosterPack)(nil) + +type fastReflection_BoosterPack BoosterPack + +func (x *BoosterPack) ProtoReflect() protoreflect.Message { + return (*fastReflection_BoosterPack)(x) +} + +func (x *BoosterPack) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_user_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_BoosterPack_messageType fastReflection_BoosterPack_messageType +var _ protoreflect.MessageType = fastReflection_BoosterPack_messageType{} + +type fastReflection_BoosterPack_messageType struct{} + +func (x fastReflection_BoosterPack_messageType) Zero() protoreflect.Message { + return (*fastReflection_BoosterPack)(nil) +} +func (x fastReflection_BoosterPack_messageType) New() protoreflect.Message { + return new(fastReflection_BoosterPack) +} +func (x fastReflection_BoosterPack_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_BoosterPack +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_BoosterPack) Descriptor() protoreflect.MessageDescriptor { + return md_BoosterPack +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_BoosterPack) Type() protoreflect.MessageType { + return _fastReflection_BoosterPack_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_BoosterPack) New() protoreflect.Message { + return new(fastReflection_BoosterPack) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_BoosterPack) Interface() protoreflect.ProtoMessage { + return (*BoosterPack)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_BoosterPack) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_BoosterPack_setId, value) { + return + } + } + if x.TimeStamp != int64(0) { + value := protoreflect.ValueOfInt64(x.TimeStamp) + if !f(fd_BoosterPack_timeStamp, value) { + return + } + } + if len(x.RaritiesPerPack) != 0 { + value := protoreflect.ValueOfList(&_BoosterPack_3_list{list: &x.RaritiesPerPack}) + if !f(fd_BoosterPack_raritiesPerPack, value) { + return + } + } + if len(x.DropRatiosPerPack) != 0 { + value := protoreflect.ValueOfList(&_BoosterPack_4_list{list: &x.DropRatiosPerPack}) + if !f(fd_BoosterPack_dropRatiosPerPack, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_BoosterPack) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.BoosterPack.setId": + return x.SetId != uint64(0) + case "cardchain.cardchain.BoosterPack.timeStamp": + return x.TimeStamp != int64(0) + case "cardchain.cardchain.BoosterPack.raritiesPerPack": + return len(x.RaritiesPerPack) != 0 + case "cardchain.cardchain.BoosterPack.dropRatiosPerPack": + return len(x.DropRatiosPerPack) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.BoosterPack")) + } + panic(fmt.Errorf("message cardchain.cardchain.BoosterPack does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_BoosterPack) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.BoosterPack.setId": + x.SetId = uint64(0) + case "cardchain.cardchain.BoosterPack.timeStamp": + x.TimeStamp = int64(0) + case "cardchain.cardchain.BoosterPack.raritiesPerPack": + x.RaritiesPerPack = nil + case "cardchain.cardchain.BoosterPack.dropRatiosPerPack": + x.DropRatiosPerPack = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.BoosterPack")) + } + panic(fmt.Errorf("message cardchain.cardchain.BoosterPack does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_BoosterPack) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.BoosterPack.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.BoosterPack.timeStamp": + value := x.TimeStamp + return protoreflect.ValueOfInt64(value) + case "cardchain.cardchain.BoosterPack.raritiesPerPack": + if len(x.RaritiesPerPack) == 0 { + return protoreflect.ValueOfList(&_BoosterPack_3_list{}) + } + listValue := &_BoosterPack_3_list{list: &x.RaritiesPerPack} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.BoosterPack.dropRatiosPerPack": + if len(x.DropRatiosPerPack) == 0 { + return protoreflect.ValueOfList(&_BoosterPack_4_list{}) + } + listValue := &_BoosterPack_4_list{list: &x.DropRatiosPerPack} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.BoosterPack")) + } + panic(fmt.Errorf("message cardchain.cardchain.BoosterPack does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_BoosterPack) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.BoosterPack.setId": + x.SetId = value.Uint() + case "cardchain.cardchain.BoosterPack.timeStamp": + x.TimeStamp = value.Int() + case "cardchain.cardchain.BoosterPack.raritiesPerPack": + lv := value.List() + clv := lv.(*_BoosterPack_3_list) + x.RaritiesPerPack = *clv.list + case "cardchain.cardchain.BoosterPack.dropRatiosPerPack": + lv := value.List() + clv := lv.(*_BoosterPack_4_list) + x.DropRatiosPerPack = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.BoosterPack")) + } + panic(fmt.Errorf("message cardchain.cardchain.BoosterPack does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_BoosterPack) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.BoosterPack.raritiesPerPack": + if x.RaritiesPerPack == nil { + x.RaritiesPerPack = []uint64{} + } + value := &_BoosterPack_3_list{list: &x.RaritiesPerPack} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.BoosterPack.dropRatiosPerPack": + if x.DropRatiosPerPack == nil { + x.DropRatiosPerPack = []uint64{} + } + value := &_BoosterPack_4_list{list: &x.DropRatiosPerPack} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.BoosterPack.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.BoosterPack is not mutable")) + case "cardchain.cardchain.BoosterPack.timeStamp": + panic(fmt.Errorf("field timeStamp of message cardchain.cardchain.BoosterPack is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.BoosterPack")) + } + panic(fmt.Errorf("message cardchain.cardchain.BoosterPack does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_BoosterPack) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.BoosterPack.setId": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.BoosterPack.timeStamp": + return protoreflect.ValueOfInt64(int64(0)) + case "cardchain.cardchain.BoosterPack.raritiesPerPack": + list := []uint64{} + return protoreflect.ValueOfList(&_BoosterPack_3_list{list: &list}) + case "cardchain.cardchain.BoosterPack.dropRatiosPerPack": + list := []uint64{} + return protoreflect.ValueOfList(&_BoosterPack_4_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.BoosterPack")) + } + panic(fmt.Errorf("message cardchain.cardchain.BoosterPack does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_BoosterPack) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.BoosterPack", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_BoosterPack) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_BoosterPack) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_BoosterPack) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_BoosterPack) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*BoosterPack) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + if x.TimeStamp != 0 { + n += 1 + runtime.Sov(uint64(x.TimeStamp)) + } + if len(x.RaritiesPerPack) > 0 { + l = 0 + for _, e := range x.RaritiesPerPack { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if len(x.DropRatiosPerPack) > 0 { + l = 0 + for _, e := range x.DropRatiosPerPack { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*BoosterPack) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.DropRatiosPerPack) > 0 { + var pksize2 int + for _, num := range x.DropRatiosPerPack { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.DropRatiosPerPack { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x22 + } + if len(x.RaritiesPerPack) > 0 { + var pksize4 int + for _, num := range x.RaritiesPerPack { + pksize4 += runtime.Sov(uint64(num)) + } + i -= pksize4 + j3 := i + for _, num := range x.RaritiesPerPack { + for num >= 1<<7 { + dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j3++ + } + dAtA[j3] = uint8(num) + j3++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize4)) + i-- + dAtA[i] = 0x1a + } + if x.TimeStamp != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TimeStamp)) + i-- + dAtA[i] = 0x10 + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*BoosterPack) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: BoosterPack: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: BoosterPack: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TimeStamp", wireType) + } + x.TimeStamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TimeStamp |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.RaritiesPerPack = append(x.RaritiesPerPack, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.RaritiesPerPack) == 0 { + x.RaritiesPerPack = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.RaritiesPerPack = append(x.RaritiesPerPack, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.DropRatiosPerPack = append(x.DropRatiosPerPack, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.DropRatiosPerPack) == 0 { + x.DropRatiosPerPack = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.DropRatiosPerPack = append(x.DropRatiosPerPack, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DropRatiosPerPack", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_AirDrops protoreflect.MessageDescriptor + fd_AirDrops_vote protoreflect.FieldDescriptor + fd_AirDrops_create protoreflect.FieldDescriptor + fd_AirDrops_buy protoreflect.FieldDescriptor + fd_AirDrops_play protoreflect.FieldDescriptor + fd_AirDrops_user protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_user_proto_init() + md_AirDrops = File_cardchain_cardchain_user_proto.Messages().ByName("AirDrops") + fd_AirDrops_vote = md_AirDrops.Fields().ByName("vote") + fd_AirDrops_create = md_AirDrops.Fields().ByName("create") + fd_AirDrops_buy = md_AirDrops.Fields().ByName("buy") + fd_AirDrops_play = md_AirDrops.Fields().ByName("play") + fd_AirDrops_user = md_AirDrops.Fields().ByName("user") +} + +var _ protoreflect.Message = (*fastReflection_AirDrops)(nil) + +type fastReflection_AirDrops AirDrops + +func (x *AirDrops) ProtoReflect() protoreflect.Message { + return (*fastReflection_AirDrops)(x) +} + +func (x *AirDrops) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_user_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_AirDrops_messageType fastReflection_AirDrops_messageType +var _ protoreflect.MessageType = fastReflection_AirDrops_messageType{} + +type fastReflection_AirDrops_messageType struct{} + +func (x fastReflection_AirDrops_messageType) Zero() protoreflect.Message { + return (*fastReflection_AirDrops)(nil) +} +func (x fastReflection_AirDrops_messageType) New() protoreflect.Message { + return new(fastReflection_AirDrops) +} +func (x fastReflection_AirDrops_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_AirDrops +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_AirDrops) Descriptor() protoreflect.MessageDescriptor { + return md_AirDrops +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_AirDrops) Type() protoreflect.MessageType { + return _fastReflection_AirDrops_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_AirDrops) New() protoreflect.Message { + return new(fastReflection_AirDrops) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_AirDrops) Interface() protoreflect.ProtoMessage { + return (*AirDrops)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_AirDrops) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Vote != false { + value := protoreflect.ValueOfBool(x.Vote) + if !f(fd_AirDrops_vote, value) { + return + } + } + if x.Create != false { + value := protoreflect.ValueOfBool(x.Create) + if !f(fd_AirDrops_create, value) { + return + } + } + if x.Buy != false { + value := protoreflect.ValueOfBool(x.Buy) + if !f(fd_AirDrops_buy, value) { + return + } + } + if x.Play != false { + value := protoreflect.ValueOfBool(x.Play) + if !f(fd_AirDrops_play, value) { + return + } + } + if x.User != false { + value := protoreflect.ValueOfBool(x.User) + if !f(fd_AirDrops_user, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_AirDrops) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.AirDrops.vote": + return x.Vote != false + case "cardchain.cardchain.AirDrops.create": + return x.Create != false + case "cardchain.cardchain.AirDrops.buy": + return x.Buy != false + case "cardchain.cardchain.AirDrops.play": + return x.Play != false + case "cardchain.cardchain.AirDrops.user": + return x.User != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.AirDrops")) + } + panic(fmt.Errorf("message cardchain.cardchain.AirDrops does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_AirDrops) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.AirDrops.vote": + x.Vote = false + case "cardchain.cardchain.AirDrops.create": + x.Create = false + case "cardchain.cardchain.AirDrops.buy": + x.Buy = false + case "cardchain.cardchain.AirDrops.play": + x.Play = false + case "cardchain.cardchain.AirDrops.user": + x.User = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.AirDrops")) + } + panic(fmt.Errorf("message cardchain.cardchain.AirDrops does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_AirDrops) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.AirDrops.vote": + value := x.Vote + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.AirDrops.create": + value := x.Create + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.AirDrops.buy": + value := x.Buy + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.AirDrops.play": + value := x.Play + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.AirDrops.user": + value := x.User + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.AirDrops")) + } + panic(fmt.Errorf("message cardchain.cardchain.AirDrops does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_AirDrops) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.AirDrops.vote": + x.Vote = value.Bool() + case "cardchain.cardchain.AirDrops.create": + x.Create = value.Bool() + case "cardchain.cardchain.AirDrops.buy": + x.Buy = value.Bool() + case "cardchain.cardchain.AirDrops.play": + x.Play = value.Bool() + case "cardchain.cardchain.AirDrops.user": + x.User = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.AirDrops")) + } + panic(fmt.Errorf("message cardchain.cardchain.AirDrops does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_AirDrops) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.AirDrops.vote": + panic(fmt.Errorf("field vote of message cardchain.cardchain.AirDrops is not mutable")) + case "cardchain.cardchain.AirDrops.create": + panic(fmt.Errorf("field create of message cardchain.cardchain.AirDrops is not mutable")) + case "cardchain.cardchain.AirDrops.buy": + panic(fmt.Errorf("field buy of message cardchain.cardchain.AirDrops is not mutable")) + case "cardchain.cardchain.AirDrops.play": + panic(fmt.Errorf("field play of message cardchain.cardchain.AirDrops is not mutable")) + case "cardchain.cardchain.AirDrops.user": + panic(fmt.Errorf("field user of message cardchain.cardchain.AirDrops is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.AirDrops")) + } + panic(fmt.Errorf("message cardchain.cardchain.AirDrops does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_AirDrops) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.AirDrops.vote": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.AirDrops.create": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.AirDrops.buy": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.AirDrops.play": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.AirDrops.user": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.AirDrops")) + } + panic(fmt.Errorf("message cardchain.cardchain.AirDrops does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_AirDrops) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.AirDrops", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_AirDrops) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_AirDrops) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_AirDrops) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_AirDrops) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*AirDrops) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Vote { + n += 2 + } + if x.Create { + n += 2 + } + if x.Buy { + n += 2 + } + if x.Play { + n += 2 + } + if x.User { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*AirDrops) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.User { + i-- + if x.User { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if x.Play { + i-- + if x.Play { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if x.Buy { + i-- + if x.Buy { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if x.Create { + i-- + if x.Create { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if x.Vote { + i-- + if x.Vote { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*AirDrops) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AirDrops: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AirDrops: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Vote = bool(v != 0) + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Create", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Create = bool(v != 0) + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Buy", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Buy = bool(v != 0) + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Play", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Play = bool(v != 0) + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.User = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/user.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CouncilStatus int32 + +const ( + CouncilStatus_available CouncilStatus = 0 + CouncilStatus_unavailable CouncilStatus = 1 + CouncilStatus_openCouncil CouncilStatus = 2 + CouncilStatus_startedCouncil CouncilStatus = 3 +) + +// Enum value maps for CouncilStatus. +var ( + CouncilStatus_name = map[int32]string{ + 0: "available", + 1: "unavailable", + 2: "openCouncil", + 3: "startedCouncil", + } + CouncilStatus_value = map[string]int32{ + "available": 0, + "unavailable": 1, + "openCouncil": 2, + "startedCouncil": 3, + } +) + +func (x CouncilStatus) Enum() *CouncilStatus { + p := new(CouncilStatus) + *p = x + return p +} + +func (x CouncilStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CouncilStatus) Descriptor() protoreflect.EnumDescriptor { + return file_cardchain_cardchain_user_proto_enumTypes[0].Descriptor() +} + +func (CouncilStatus) Type() protoreflect.EnumType { + return &file_cardchain_cardchain_user_proto_enumTypes[0] +} + +func (x CouncilStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CouncilStatus.Descriptor instead. +func (CouncilStatus) EnumDescriptor() ([]byte, []int) { + return file_cardchain_cardchain_user_proto_rawDescGZIP(), []int{0} +} + +type AirDrop int32 + +const ( + AirDrop_play AirDrop = 0 + AirDrop_vote AirDrop = 1 + AirDrop_create AirDrop = 2 + AirDrop_buy AirDrop = 3 + AirDrop_user AirDrop = 4 +) + +// Enum value maps for AirDrop. +var ( + AirDrop_name = map[int32]string{ + 0: "play", + 1: "vote", + 2: "create", + 3: "buy", + 4: "user", + } + AirDrop_value = map[string]int32{ + "play": 0, + "vote": 1, + "create": 2, + "buy": 3, + "user": 4, + } +) + +func (x AirDrop) Enum() *AirDrop { + p := new(AirDrop) + *p = x + return p +} + +func (x AirDrop) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AirDrop) Descriptor() protoreflect.EnumDescriptor { + return file_cardchain_cardchain_user_proto_enumTypes[1].Descriptor() +} + +func (AirDrop) Type() protoreflect.EnumType { + return &file_cardchain_cardchain_user_proto_enumTypes[1] +} + +func (x AirDrop) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AirDrop.Descriptor instead. +func (AirDrop) EnumDescriptor() ([]byte, []int) { + return file_cardchain_cardchain_user_proto_rawDescGZIP(), []int{1} +} + +type User struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Alias string `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"` + OwnedCardSchemes []uint64 `protobuf:"varint,2,rep,packed,name=ownedCardSchemes,proto3" json:"ownedCardSchemes,omitempty"` + OwnedPrototypes []uint64 `protobuf:"varint,3,rep,packed,name=ownedPrototypes,proto3" json:"ownedPrototypes,omitempty"` + Cards []uint64 `protobuf:"varint,4,rep,packed,name=cards,proto3" json:"cards,omitempty"` + CouncilStatus CouncilStatus `protobuf:"varint,6,opt,name=CouncilStatus,proto3,enum=cardchain.cardchain.CouncilStatus" json:"CouncilStatus,omitempty"` + ReportMatches bool `protobuf:"varint,7,opt,name=ReportMatches,proto3" json:"ReportMatches,omitempty"` + ProfileCard uint64 `protobuf:"varint,8,opt,name=profileCard,proto3" json:"profileCard,omitempty"` + AirDrops *AirDrops `protobuf:"bytes,9,opt,name=airDrops,proto3" json:"airDrops,omitempty"` + BoosterPacks []*BoosterPack `protobuf:"bytes,10,rep,name=boosterPacks,proto3" json:"boosterPacks,omitempty"` + Website string `protobuf:"bytes,11,opt,name=website,proto3" json:"website,omitempty"` + Biography string `protobuf:"bytes,12,opt,name=biography,proto3" json:"biography,omitempty"` + VotableCards []uint64 `protobuf:"varint,13,rep,packed,name=votableCards,proto3" json:"votableCards,omitempty"` + VotedCards []uint64 `protobuf:"varint,14,rep,packed,name=votedCards,proto3" json:"votedCards,omitempty"` + EarlyAccess *EarlyAccess `protobuf:"bytes,15,opt,name=earlyAccess,proto3" json:"earlyAccess,omitempty"` + OpenEncounters []uint64 `protobuf:"varint,16,rep,packed,name=OpenEncounters,proto3" json:"OpenEncounters,omitempty"` + WonEncounters []uint64 `protobuf:"varint,17,rep,packed,name=WonEncounters,proto3" json:"WonEncounters,omitempty"` +} + +func (x *User) Reset() { + *x = User{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_user_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *User) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*User) ProtoMessage() {} + +// Deprecated: Use User.ProtoReflect.Descriptor instead. +func (*User) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_user_proto_rawDescGZIP(), []int{0} +} + +func (x *User) GetAlias() string { + if x != nil { + return x.Alias + } + return "" +} + +func (x *User) GetOwnedCardSchemes() []uint64 { + if x != nil { + return x.OwnedCardSchemes + } + return nil +} + +func (x *User) GetOwnedPrototypes() []uint64 { + if x != nil { + return x.OwnedPrototypes + } + return nil +} + +func (x *User) GetCards() []uint64 { + if x != nil { + return x.Cards + } + return nil +} + +func (x *User) GetCouncilStatus() CouncilStatus { + if x != nil { + return x.CouncilStatus + } + return CouncilStatus_available +} + +func (x *User) GetReportMatches() bool { + if x != nil { + return x.ReportMatches + } + return false +} + +func (x *User) GetProfileCard() uint64 { + if x != nil { + return x.ProfileCard + } + return 0 +} + +func (x *User) GetAirDrops() *AirDrops { + if x != nil { + return x.AirDrops + } + return nil +} + +func (x *User) GetBoosterPacks() []*BoosterPack { + if x != nil { + return x.BoosterPacks + } + return nil +} + +func (x *User) GetWebsite() string { + if x != nil { + return x.Website + } + return "" +} + +func (x *User) GetBiography() string { + if x != nil { + return x.Biography + } + return "" +} + +func (x *User) GetVotableCards() []uint64 { + if x != nil { + return x.VotableCards + } + return nil +} + +func (x *User) GetVotedCards() []uint64 { + if x != nil { + return x.VotedCards + } + return nil +} + +func (x *User) GetEarlyAccess() *EarlyAccess { + if x != nil { + return x.EarlyAccess + } + return nil +} + +func (x *User) GetOpenEncounters() []uint64 { + if x != nil { + return x.OpenEncounters + } + return nil +} + +func (x *User) GetWonEncounters() []uint64 { + if x != nil { + return x.WonEncounters + } + return nil +} + +type EarlyAccess struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"` + InvitedByUser string `protobuf:"bytes,2,opt,name=invitedByUser,proto3" json:"invitedByUser,omitempty"` + InvitedUser string `protobuf:"bytes,3,opt,name=invitedUser,proto3" json:"invitedUser,omitempty"` +} + +func (x *EarlyAccess) Reset() { + *x = EarlyAccess{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_user_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EarlyAccess) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EarlyAccess) ProtoMessage() {} + +// Deprecated: Use EarlyAccess.ProtoReflect.Descriptor instead. +func (*EarlyAccess) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_user_proto_rawDescGZIP(), []int{1} +} + +func (x *EarlyAccess) GetActive() bool { + if x != nil { + return x.Active + } + return false +} + +func (x *EarlyAccess) GetInvitedByUser() string { + if x != nil { + return x.InvitedByUser + } + return "" +} + +func (x *EarlyAccess) GetInvitedUser() string { + if x != nil { + return x.InvitedUser + } + return "" +} + +type BoosterPack struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 (x *BoosterPack) Reset() { + *x = BoosterPack{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_user_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoosterPack) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoosterPack) ProtoMessage() {} + +// Deprecated: Use BoosterPack.ProtoReflect.Descriptor instead. +func (*BoosterPack) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_user_proto_rawDescGZIP(), []int{2} +} + +func (x *BoosterPack) GetSetId() uint64 { + if x != nil { + return x.SetId + } + return 0 +} + +func (x *BoosterPack) GetTimeStamp() int64 { + if x != nil { + return x.TimeStamp + } + return 0 +} + +func (x *BoosterPack) GetRaritiesPerPack() []uint64 { + if x != nil { + return x.RaritiesPerPack + } + return nil +} + +func (x *BoosterPack) GetDropRatiosPerPack() []uint64 { + if x != nil { + return x.DropRatiosPerPack + } + return nil +} + +type AirDrops struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Vote bool `protobuf:"varint,1,opt,name=vote,proto3" json:"vote,omitempty"` + Create bool `protobuf:"varint,2,opt,name=create,proto3" json:"create,omitempty"` + Buy bool `protobuf:"varint,3,opt,name=buy,proto3" json:"buy,omitempty"` + Play bool `protobuf:"varint,4,opt,name=play,proto3" json:"play,omitempty"` + User bool `protobuf:"varint,5,opt,name=user,proto3" json:"user,omitempty"` +} + +func (x *AirDrops) Reset() { + *x = AirDrops{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_user_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AirDrops) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AirDrops) ProtoMessage() {} + +// Deprecated: Use AirDrops.ProtoReflect.Descriptor instead. +func (*AirDrops) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_user_proto_rawDescGZIP(), []int{3} +} + +func (x *AirDrops) GetVote() bool { + if x != nil { + return x.Vote + } + return false +} + +func (x *AirDrops) GetCreate() bool { + if x != nil { + return x.Create + } + return false +} + +func (x *AirDrops) GetBuy() bool { + if x != nil { + return x.Buy + } + return false +} + +func (x *AirDrops) GetPlay() bool { + if x != nil { + return x.Play + } + return false +} + +func (x *AirDrops) GetUser() bool { + if x != nil { + return x.User + } + return false +} + +var File_cardchain_cardchain_user_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_user_proto_rawDesc = []byte{ + 0x0a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, + 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x05, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, + 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0f, 0x6f, 0x77, 0x6e, + 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x05, 0x63, 0x61, 0x72, + 0x64, 0x73, 0x12, 0x48, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x43, 0x61, 0x72, 0x64, 0x12, 0x39, 0x0a, 0x08, 0x61, 0x69, 0x72, 0x44, 0x72, 0x6f, 0x70, 0x73, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x41, 0x69, 0x72, + 0x44, 0x72, 0x6f, 0x70, 0x73, 0x52, 0x08, 0x61, 0x69, 0x72, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x12, + 0x44, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x42, 0x6f, 0x6f, 0x73, + 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x62, 0x69, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x62, 0x69, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x12, 0x22, 0x0a, + 0x0c, 0x76, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0d, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x0c, 0x76, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, + 0x0e, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, + 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x61, 0x72, + 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x0b, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x4f, + 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x24, 0x0a, + 0x0d, 0x57, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x11, + 0x20, 0x03, 0x28, 0x04, 0x52, 0x0d, 0x57, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x22, 0x6d, 0x0a, 0x0b, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, + 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, + 0x65, 0x72, 0x22, 0x99, 0x01, 0x0a, 0x0b, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, + 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, + 0x0f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, + 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x50, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x11, 0x64, 0x72, 0x6f, + 0x70, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x22, 0x70, + 0x0a, 0x08, 0x41, 0x69, 0x72, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x03, 0x62, 0x75, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x79, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x12, 0x0a, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x2a, 0x54, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x00, + 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, + 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x10, 0x03, 0x2a, 0x3c, 0x0a, 0x07, 0x41, 0x69, 0x72, 0x44, 0x72, 0x6f, + 0x70, 0x12, 0x08, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x76, + 0x6f, 0x74, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, + 0x02, 0x12, 0x07, 0x0a, 0x03, 0x62, 0x75, 0x79, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x75, 0x73, + 0x65, 0x72, 0x10, 0x04, 0x42, 0xd1, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x42, 0x09, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, + 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, + 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_user_proto_rawDescOnce sync.Once + file_cardchain_cardchain_user_proto_rawDescData = file_cardchain_cardchain_user_proto_rawDesc +) + +func file_cardchain_cardchain_user_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_user_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_user_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_user_proto_rawDescData) + }) + return file_cardchain_cardchain_user_proto_rawDescData +} + +var file_cardchain_cardchain_user_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_cardchain_cardchain_user_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_cardchain_cardchain_user_proto_goTypes = []interface{}{ + (CouncilStatus)(0), // 0: cardchain.cardchain.CouncilStatus + (AirDrop)(0), // 1: cardchain.cardchain.AirDrop + (*User)(nil), // 2: cardchain.cardchain.User + (*EarlyAccess)(nil), // 3: cardchain.cardchain.EarlyAccess + (*BoosterPack)(nil), // 4: cardchain.cardchain.BoosterPack + (*AirDrops)(nil), // 5: cardchain.cardchain.AirDrops +} +var file_cardchain_cardchain_user_proto_depIdxs = []int32{ + 0, // 0: cardchain.cardchain.User.CouncilStatus:type_name -> cardchain.cardchain.CouncilStatus + 5, // 1: cardchain.cardchain.User.airDrops:type_name -> cardchain.cardchain.AirDrops + 4, // 2: cardchain.cardchain.User.boosterPacks:type_name -> cardchain.cardchain.BoosterPack + 3, // 3: cardchain.cardchain.User.earlyAccess:type_name -> cardchain.cardchain.EarlyAccess + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_user_proto_init() } +func file_cardchain_cardchain_user_proto_init() { + if File_cardchain_cardchain_user_proto != nil { + return + } + file_cardchain_cardchain_voting_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_user_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*User); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_user_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EarlyAccess); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_user_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoosterPack); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_user_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AirDrops); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_user_proto_rawDesc, + NumEnums: 2, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_user_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_user_proto_depIdxs, + EnumInfos: file_cardchain_cardchain_user_proto_enumTypes, + MessageInfos: file_cardchain_cardchain_user_proto_msgTypes, + }.Build() + File_cardchain_cardchain_user_proto = out.File + file_cardchain_cardchain_user_proto_rawDesc = nil + file_cardchain_cardchain_user_proto_goTypes = nil + file_cardchain_cardchain_user_proto_depIdxs = nil +} diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 23ee980a..c4f677d2 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin18","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin19","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerAdeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBdeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin19","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin20","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerAdeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBdeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/go.mod b/go.mod index 1935cc81..a5dede3c 100644 --- a/go.mod +++ b/go.mod @@ -26,6 +26,7 @@ require ( cosmossdk.io/x/feegrant v0.1.1 cosmossdk.io/x/nft v0.1.0 cosmossdk.io/x/upgrade v0.1.4 + github.com/DecentralCardGame/cardobject v0.5.3 github.com/bufbuild/buf v1.34.0 github.com/cometbft/cometbft v0.38.12 github.com/cosmos/cosmos-db v1.0.2 @@ -121,6 +122,7 @@ require ( github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.6.0 // indirect github.com/emicklei/dot v1.6.1 // indirect + github.com/fatih/camelcase v1.0.0 // indirect github.com/fatih/color v1.15.0 // indirect github.com/felixge/fgprof v0.9.4 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect @@ -169,6 +171,7 @@ require ( github.com/hashicorp/yamux v0.1.1 // indirect github.com/hdevalence/ed25519consensus v0.1.0 // indirect github.com/huandu/skiplist v1.2.0 // indirect + github.com/iancoleman/orderedmap v0.2.0 // indirect github.com/iancoleman/strcase v0.3.0 // indirect github.com/improbable-eng/grpc-web v0.15.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect diff --git a/go.sum b/go.sum index 3f69b765..5a7f4466 100644 --- a/go.sum +++ b/go.sum @@ -243,6 +243,8 @@ github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dX github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/DecentralCardGame/cardobject v0.5.3 h1:Ama1q0ij7iFV6ZcOtaH3n4DbmmPojlC6QR7G+Md5sPE= +github.com/DecentralCardGame/cardobject v0.5.3/go.mod h1:waAoRvDCDVTBlPjEroIIfXpX2PQnJvgUssRN4Ji4VFM= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= @@ -475,6 +477,8 @@ github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go. github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= +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.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= @@ -769,6 +773,8 @@ github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0Jr github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +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.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= diff --git a/proto/cardchain/cardchain/user.proto b/proto/cardchain/cardchain/user.proto new file mode 100644 index 00000000..5d35140e --- /dev/null +++ b/proto/cardchain/cardchain/user.proto @@ -0,0 +1,62 @@ +syntax = "proto3"; +package cardchain.cardchain; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; +import "cardchain/cardchain/voting.proto"; + +message User { + string alias = 1; + repeated uint64 ownedCardSchemes = 2; + repeated uint64 ownedPrototypes = 3; + repeated uint64 cards = 4; + CouncilStatus CouncilStatus = 6; + bool ReportMatches = 7; + uint64 profileCard = 8; + AirDrops airDrops = 9; + repeated BoosterPack boosterPacks = 10; + string website = 11; + string biography = 12; + repeated uint64 votableCards = 13; + repeated uint64 votedCards = 14; + EarlyAccess earlyAccess = 15; + repeated uint64 OpenEncounters = 16; + repeated uint64 WonEncounters = 17; +} + +enum CouncilStatus { + available = 0; + unavailable = 1; + openCouncil = 2; + startedCouncil = 3; +} + +message EarlyAccess { + bool active = 1; + string invitedByUser = 2; + string invitedUser = 3; +} + +message BoosterPack { + 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 { + bool vote = 1; + bool create = 2; + bool buy = 3; + bool play = 4; + bool user = 5; +} + +enum AirDrop { + play = 0; + vote = 1; + create = 2; + buy = 3; + user = 4; +} diff --git a/types/generic_type_keeper/address_gtk.go b/types/generic_type_keeper/address_gtk.go new file mode 100644 index 00000000..f1db46bd --- /dev/null +++ b/types/generic_type_keeper/address_gtk.go @@ -0,0 +1,27 @@ +package generic_type_keeper + +import ( + "cosmossdk.io/core/store" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/gogoproto/proto" +) + +type GenericAddressTypeKeeper[T proto.Message] struct { + GenericTypeKeeper[T, sdk.AccAddress] +} + +func NewAddressGTK[T proto.Message](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T) GenericAddressTypeKeeper[T] { + gtk := GenericAddressTypeKeeper[T]{ + GenericTypeKeeper[T, sdk.AccAddress]{ + key: key, + cdc: cdc, + getEmpty: getEmpty, + storeService: storeService, + keyConverter: func(bz []byte, address sdk.AccAddress) []byte { + return append(bz, address...) + }, + }, + } + return gtk +} diff --git a/types/generic_type_keeper/generic_type_keeper.go b/types/generic_type_keeper/generic_type_keeper.go index c2a596b1..00e1e002 100644 --- a/types/generic_type_keeper/generic_type_keeper.go +++ b/types/generic_type_keeper/generic_type_keeper.go @@ -1,8 +1,6 @@ package generic_type_keeper import ( - "encoding/binary" - "cosmossdk.io/core/store" "cosmossdk.io/store/prefix" storetypes "cosmossdk.io/store/types" @@ -14,83 +12,59 @@ import ( "github.com/cosmos/gogoproto/proto" ) -// ItemIterator is a generic wrapper for sdk.KVStorePrefixIterator that provides unmarshaling of objects -type ItemIterator[T proto.Message] struct { - iter storetypes.Iterator - gtk *GenericTypeKeeper[T] - idx *uint64 -} - -// Valid is a wrapper for sdk.KVStorePrefixIterator.Valid -func (i ItemIterator[T]) Valid() bool { - return i.iter.Valid() -} - -// Next is a wrapper for sdk.KVStorePrefixIterator.Next -func (i ItemIterator[T]) Next() { - i.iter.Next() - *i.idx++ -} - -// Value is a wrapper for sdk.KVStorePrefixIterator.Value but returns object and index -func (i ItemIterator[T]) Value() (uint64, T) { - var gotten T = i.gtk.getEmpty() - i.gtk.cdc.MustUnmarshal(i.iter.Value(), gotten) - - return *i.idx, gotten -} - // GetEmpty Just returns a empty object of a certain type func GetEmpty[A any]() *A { var obj A return &obj } -type GenericTypeKeeper[T proto.Message] struct { +type GenericTypeKeeper[T proto.Message, K any] struct { storeService store.KVStoreService key string cdc codec.BinaryCodec 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 + keyConverter KeyConver[K] } // NewGTK Returns a new GenericTypeKeeper -func NewGTK[T proto.Message](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T) GenericTypeKeeper[T] { - gtk := GenericTypeKeeper[T]{ +func NewGTK[T proto.Message, K any](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T, keyConverter KeyConver[K]) GenericTypeKeeper[T, K] { + gtk := GenericTypeKeeper[T, K]{ key: key, cdc: cdc, getEmpty: getEmpty, storeService: storeService, + keyConverter: keyConverter, } return gtk } -func (gtk GenericTypeKeeper[T]) valueKey() string { +func (gtk GenericTypeKeeper[T, K]) valueKey() string { return gtk.key + "/value/" } -func (gtk GenericTypeKeeper[T]) countKey() string { +func (gtk GenericTypeKeeper[T, K]) countKey() string { return gtk.key + "/count/" } -func (gtk GenericTypeKeeper[T]) getIDBytes(id uint64) []byte { - bz := types.KeyPrefix(types.ProductDetailsKey) +func (gtk GenericTypeKeeper[T, K]) getIDBytes(id K) []byte { + bz := types.KeyPrefix(gtk.valueKey()) bz = append(bz, []byte("/")...) - bz = binary.BigEndian.AppendUint64(bz, id) + bz = gtk.keyConverter(bz, id) return bz } -func (gtk GenericTypeKeeper[T]) getValueStore(ctx sdk.Context) prefix.Store { +func (gtk GenericTypeKeeper[T, K]) getValueStore(ctx sdk.Context) prefix.Store { storeAdapter := runtime.KVStoreAdapter(gtk.storeService.OpenKVStore(ctx)) return prefix.NewStore(storeAdapter, types.KeyPrefix(gtk.valueKey())) } -func (gtk GenericTypeKeeper[T]) getCountStore(ctx sdk.Context) prefix.Store { +func (gtk GenericTypeKeeper[T, K]) getCountStore(ctx sdk.Context) prefix.Store { storeAdapter := runtime.KVStoreAdapter(gtk.storeService.OpenKVStore(ctx)) return prefix.NewStore(storeAdapter, []byte{}) } // Get Gets an object from store -func (gtk GenericTypeKeeper[T]) Get(ctx sdk.Context, id uint64) T { +func (gtk GenericTypeKeeper[T, K]) Get(ctx sdk.Context, id K) T { store := gtk.getValueStore(ctx) bz := store.Get(gtk.getIDBytes(id)) @@ -100,59 +74,19 @@ func (gtk GenericTypeKeeper[T]) Get(ctx sdk.Context, id uint64) T { } // Set Sets an object in store -func (gtk GenericTypeKeeper[T]) Set(ctx sdk.Context, id uint64, new T) { +func (gtk GenericTypeKeeper[T, K]) Set(ctx sdk.Context, id K, new T) { store := gtk.getValueStore(ctx) store.Set(gtk.getIDBytes(id), gtk.cdc.MustMarshal(new)) - num := gtk.GetNum(ctx) - if id == num { - gtk.setNum(ctx, num+1) - } -} - -// Append Sets a new object -func (gtk GenericTypeKeeper[T]) Append(ctx sdk.Context, new T) (count uint64) { - store := gtk.getValueStore(ctx) - count = gtk.GetNum(ctx) - - store.Set(gtk.getIDBytes(count), gtk.cdc.MustMarshal(new)) - - gtk.setNum(ctx, count+1) - - return -} - -// GetNum Returns the number of items stored, way more performant than GetNumber -func (gtk GenericTypeKeeper[T]) GetNum(ctx sdk.Context) uint64 { - store := gtk.getCountStore(ctx) - byteKey := types.KeyPrefix(gtk.countKey()) - bz := store.Get(byteKey) - - // Count doesn't exist: no element - if bz == nil { - return 0 - } - - // Parse bytes - return binary.BigEndian.Uint64(bz) -} - -// setNum Sets thenumber of items stored -func (gtk GenericTypeKeeper[T]) setNum(ctx sdk.Context, count uint64) { - store := gtk.getCountStore(ctx) - byteKey := types.KeyPrefix(gtk.countKey()) - bz := make([]byte, 8) - binary.BigEndian.PutUint64(bz, count) - store.Set(byteKey, bz) } // GetIterator Returns an iterator for all objects -func (gtk GenericTypeKeeper[T]) GetIterator(ctx sdk.Context) db.Iterator { +func (gtk GenericTypeKeeper[T, K]) GetIterator(ctx sdk.Context) db.Iterator { store := gtk.getValueStore(ctx) return storetypes.KVStorePrefixIterator(store, []byte{}) } // GetAll Gets all objs from store -- use GetItemIterator instead -func (gtk GenericTypeKeeper[T]) GetAll(ctx sdk.Context) (all []T) { +func (gtk GenericTypeKeeper[T, K]) GetAll(ctx sdk.Context) (all []T) { iterator := gtk.GetIterator(ctx) for ; iterator.Valid(); iterator.Next() { @@ -165,10 +99,10 @@ func (gtk GenericTypeKeeper[T]) GetAll(ctx sdk.Context) (all []T) { } // GetItemIterator Gets all objs from store -func (gtk GenericTypeKeeper[T]) GetItemIterator(ctx sdk.Context) ItemIterator[T] { +func (gtk GenericTypeKeeper[T, K]) GetItemIterator(ctx sdk.Context) ItemIterator[T, K] { iterator := gtk.GetIterator(ctx) var num uint64 = 0 - return ItemIterator[T]{ + return ItemIterator[T, K]{ iter: iterator, gtk: >k, idx: &num, @@ -177,7 +111,7 @@ func (gtk GenericTypeKeeper[T]) GetItemIterator(ctx sdk.Context) ItemIterator[T] // GetNumber Gets the number of all objs in store // Deprecated: don't use -func (gtk GenericTypeKeeper[T]) GetNumber(ctx sdk.Context) (id uint64) { +func (gtk GenericTypeKeeper[T, K]) GetNumber(ctx sdk.Context) (id uint64) { iterator := gtk.GetIterator(ctx) for ; iterator.Valid(); iterator.Next() { id++ diff --git a/types/generic_type_keeper/item_iterator.go b/types/generic_type_keeper/item_iterator.go new file mode 100644 index 00000000..9e1b2435 --- /dev/null +++ b/types/generic_type_keeper/item_iterator.go @@ -0,0 +1,32 @@ +package generic_type_keeper + +import ( + storetypes "cosmossdk.io/store/types" + "github.com/cosmos/gogoproto/proto" +) + +// ItemIterator is a generic wrapper for sdk.KVStorePrefixIterator that provides unmarshaling of objects +type ItemIterator[T proto.Message, K any] struct { + iter storetypes.Iterator + gtk *GenericTypeKeeper[T, K] + idx *uint64 +} + +// Valid is a wrapper for sdk.KVStorePrefixIterator.Valid +func (i ItemIterator[T, K]) Valid() bool { + return i.iter.Valid() +} + +// Next is a wrapper for sdk.KVStorePrefixIterator.Next +func (i ItemIterator[T, K]) Next() { + i.iter.Next() + *i.idx++ +} + +// Value is a wrapper for sdk.KVStorePrefixIterator.Value but returns object and index +func (i ItemIterator[T, K]) Value() (uint64, T) { + var gotten T = i.gtk.getEmpty() + i.gtk.cdc.MustUnmarshal(i.iter.Value(), gotten) + + return *i.idx, gotten +} diff --git a/types/generic_type_keeper/key_converter.go b/types/generic_type_keeper/key_converter.go new file mode 100644 index 00000000..09a98ba3 --- /dev/null +++ b/types/generic_type_keeper/key_converter.go @@ -0,0 +1,3 @@ +package generic_type_keeper + +type KeyConver[T any] func([]byte, T) []byte diff --git a/types/generic_type_keeper/keyworded_generic_type_keeper.go b/types/generic_type_keeper/keyworded_generic_type_keeper.go index b506b3d8..9a999763 100644 --- a/types/generic_type_keeper/keyworded_generic_type_keeper.go +++ b/types/generic_type_keeper/keyworded_generic_type_keeper.go @@ -10,15 +10,15 @@ import ( ) type KeywordedGenericTypeKeeper[T proto.Message] struct { - GenericTypeKeeper[T] + GenericUint64TypeKeeper[T] KeyWords []string } // NewKGTK Returns a new KeywordedGenericTypeKeeper func NewKGTK[T proto.Message](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T, keywords []string) KeywordedGenericTypeKeeper[T] { return KeywordedGenericTypeKeeper[T]{ - GenericTypeKeeper: NewGTK[T](key, storeService, cdc, getEmpty), - KeyWords: keywords, + GenericUint64TypeKeeper: NewUintGTK[T](key, storeService, cdc, getEmpty), + KeyWords: keywords, } } diff --git a/types/generic_type_keeper/uint_gtk.go b/types/generic_type_keeper/uint_gtk.go new file mode 100644 index 00000000..fa395473 --- /dev/null +++ b/types/generic_type_keeper/uint_gtk.go @@ -0,0 +1,66 @@ +package generic_type_keeper + +import ( + "encoding/binary" + + "cosmossdk.io/core/store" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/gogoproto/proto" +) + +type GenericUint64TypeKeeper[T proto.Message] struct { + GenericTypeKeeper[T, uint64] +} + +func NewUintGTK[T proto.Message](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T) GenericUint64TypeKeeper[T] { + gtk := GenericUint64TypeKeeper[T]{ + GenericTypeKeeper[T, uint64]{ + key: key, + cdc: cdc, + getEmpty: getEmpty, + storeService: storeService, + keyConverter: func(bz []byte, id uint64) []byte { + return binary.BigEndian.AppendUint64(bz, id) + }, + }, + } + return gtk +} + +// Append Sets a new object +func (gtk GenericUint64TypeKeeper[T]) Append(ctx sdk.Context, new T) (count uint64) { + store := gtk.getValueStore(ctx) + count = gtk.GetNum(ctx) + + store.Set(gtk.getIDBytes(count), gtk.cdc.MustMarshal(new)) + + gtk.setNum(ctx, count+1) + + return +} + +// GetNum Returns the number of items stored, way more performant than GetNumber +func (gtk GenericUint64TypeKeeper[T]) GetNum(ctx sdk.Context) uint64 { + store := gtk.getCountStore(ctx) + byteKey := types.KeyPrefix(gtk.countKey()) + bz := store.Get(byteKey) + + // Count doesn't exist: no element + if bz == nil { + return 0 + } + + // Parse bytes + return binary.BigEndian.Uint64(bz) +} + +// setNum Sets thenumber of items stored +func (gtk GenericUint64TypeKeeper[T]) setNum(ctx sdk.Context, count uint64) { + store := gtk.getCountStore(ctx) + byteKey := types.KeyPrefix(gtk.countKey()) + bz := make([]byte, 8) + binary.BigEndian.PutUint64(bz, count) + store.Set(byteKey, bz) +} diff --git a/x/cardchain/keeper/airdrops.go b/x/cardchain/keeper/airdrops.go new file mode 100644 index 00000000..97deaa4e --- /dev/null +++ b/x/cardchain/keeper/airdrops.go @@ -0,0 +1,35 @@ +package keeper + +import ( + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// ClaimAirDrop claims a given airdrop +func (k Keeper) ClaimAirDrop(ctx sdk.Context, user *User, airdrop types.AirDrop) (ret bool) { + params := k.GetParams(ctx) + + // Ensures AirDrops is set + if user.AirDrops == nil { + user.AirDrops = &types.AirDrops{} + } + + if ctx.BlockHeight() > params.AirDropMaxBlockHeight { + return + } + + airdrops := []*bool{ + &user.AirDrops.Play, &user.AirDrops.Vote, &user.AirDrops.Create, + &user.AirDrops.Buy, &user.AirDrops.User, + } + + choosen := airdrops[int(airdrop)] + if !*choosen { + // Coin transfer happens here + k.MintCoinsToAddr(ctx, user.Addr, sdk.Coins{params.AirDropValue}) + ret = true + *choosen = true + } + + return +} diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index c4ae9112..de69b759 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -19,16 +19,17 @@ type ( storeService store.KVStoreService logger log.Logger - Cards gtk.GenericTypeKeeper[*types.Card] - Councils gtk.GenericTypeKeeper[*types.Council] - SellOffers gtk.GenericTypeKeeper[*types.SellOffer] - Sets gtk.GenericTypeKeeper[*types.Set] - Matches gtk.GenericTypeKeeper[*types.Match] - Servers gtk.GenericTypeKeeper[*types.Server] + Cards gtk.GenericUint64TypeKeeper[*types.Card] + Councils gtk.GenericUint64TypeKeeper[*types.Council] + SellOffers gtk.GenericUint64TypeKeeper[*types.SellOffer] + Sets gtk.GenericUint64TypeKeeper[*types.Set] + Matches gtk.GenericUint64TypeKeeper[*types.Match] + Servers gtk.GenericUint64TypeKeeper[*types.Server] RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] - Images gtk.GenericTypeKeeper[*types.Image] - Encounters gtk.GenericTypeKeeper[*types.Encounter] + Images gtk.GenericUint64TypeKeeper[*types.Image] + Encounters gtk.GenericUint64TypeKeeper[*types.Encounter] + Users gtk.GenericAddressTypeKeeper[*types.User] // the address capable of executing a MsgUpdateParams message. Typically, this // should be the x/gov module account. @@ -58,16 +59,17 @@ func NewKeeper( authority: authority, logger: logger, - Cards: gtk.NewGTK[*types.Card]("Cards", storeService, cdc, gtk.GetEmpty[types.Card]), - Councils: gtk.NewGTK[*types.Council]("Councils", storeService, cdc, gtk.GetEmpty[types.Council]), - SellOffers: gtk.NewGTK[*types.SellOffer]("SellOffers", storeService, cdc, gtk.GetEmpty[types.SellOffer]), - Sets: gtk.NewGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), - Matches: gtk.NewGTK[*types.Match]("Matches", storeService, cdc, gtk.GetEmpty[types.Match]), + Cards: gtk.NewUintGTK[*types.Card]("Cards", storeService, cdc, gtk.GetEmpty[types.Card]), + Councils: gtk.NewUintGTK[*types.Council]("Councils", storeService, cdc, gtk.GetEmpty[types.Council]), + SellOffers: gtk.NewUintGTK[*types.SellOffer]("SellOffers", storeService, cdc, gtk.GetEmpty[types.SellOffer]), + Sets: gtk.NewUintGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), + Matches: gtk.NewUintGTK[*types.Match]("Matches", storeService, cdc, gtk.GetEmpty[types.Match]), RunningAverages: gtk.NewKGTK[*types.RunningAverage]("RunningAverages", storeService, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), Pools: gtk.NewKGTK[*sdk.Coin]("Pools", storeService, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), - Images: gtk.NewGTK[*types.Image]("Images", storeService, cdc, gtk.GetEmpty[types.Image]), - Servers: gtk.NewGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), - Encounters: gtk.NewGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), + Images: gtk.NewUintGTK[*types.Image]("Images", storeService, cdc, gtk.GetEmpty[types.Image]), + Servers: gtk.NewUintGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), + Encounters: gtk.NewUintGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), + Users: gtk.NewAddressGTK[*types.User]("Users", storeService, cdc, gtk.GetEmpty[types.User]), FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), BankKeeper: bankKeeper, diff --git a/x/cardchain/keeper/match.go b/x/cardchain/keeper/match.go new file mode 100644 index 00000000..b8e3e192 --- /dev/null +++ b/x/cardchain/keeper/match.go @@ -0,0 +1,231 @@ +package keeper + +import ( + "fmt" + "slices" + + sdkerrors "cosmossdk.io/errors" + "cosmossdk.io/math" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +// SetMatchReporter Makes a user a match reporter +func (k Keeper) SetMatchReporter(ctx sdk.Context, address string) error { + reporter, err := k.GetUserFromString(ctx, address) + if err != nil { + return err + } + reporter.ReportMatches = true + + k.SetUserFromUser(ctx, reporter) + 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) + amountA = sdk.NewInt64Coin("ucredits", 0) + amountB = sdk.NewInt64Coin("ucredits", 0) + + if outcome == types.Outcome_AWon { + amountA = reward + } else if outcome == types.Outcome_BWon { + amountB = reward + } else if outcome == types.Outcome_Draw { + amountA = QuoCoin(reward, 2) + amountB = QuoCoin(reward, 2) + } + if outcome != types.Outcome_Aborted { + k.SubPoolCredits(ctx, WinnersPoolKey, reward) + } + return +} + +// 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.GTE(math.NewInt(1000000)) { + return sdk.NewInt64Coin(reward.Denom, 1000000) + } + 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) { + for _, player := range []string{match.PlayerA.Addr, match.PlayerB.Addr} { + var address sdk.AccAddress + address, err = sdk.AccAddressFromBech32(player) + if err != nil { + err = sdkerrors.Wrap(errors.ErrInvalidAddress, "Invalid player") + return + } + addresses = append(addresses, address) + } + + return +} + +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) + 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(errors.ErrInsufficientFunds, err.Error()) + } + k.SubPoolCredits(ctx, WinnersPoolKey, amounts[idx]) + + user := k.Users.Get(ctx, address) + userObj := User{Addr: address, User: user} + k.ClaimAirDrop(ctx, &userObj, types.AirDrop_play) + k.SetUserFromUser(ctx, userObj) + } + } + + games := k.RunningAverages.Get(ctx, Games24ValueKey) + games.Arr[len(games.Arr)-1]++ + k.RunningAverages.Set(ctx, Games24ValueKey, games) + + match.CoinsDistributed = true + + if outcome != types.Outcome_Aborted { + for _, address := range addresses { + user := k.Users.Get(ctx, address) + // TODO: Whats going on here + k.Users.Set(ctx, address, user) + } + } + + return nil +} + +// GetOutcome Get's the outcome of a match +func (k Keeper) GetOutcome(ctx sdk.Context, match types.Match) (outcome types.Outcome, err error) { + // majority based vote + outcomes := []types.Outcome{match.Outcome, match.PlayerA.Outcome, match.PlayerB.Outcome} + slices.Sort(outcomes) + switch outcomes[1] { + case outcomes[0], outcomes[2]: + outcome = outcomes[1] + default: + if match.PlayerA.Confirmed && match.PlayerB.Confirmed { + outcome = types.Outcome_Aborted + } else { + err = fmt.Errorf("not enought votes for decision") + } + } + 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 { + k.Logger().Error(":: Error while voting, skipping, " + err.Error()) + } + + 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 _, card := range otherPlayerCards { + k.AddVoteRightToUser(ctx, users[idx].User, card) + } + + for _, vote := range player.VotedCards { + if slices.Contains(otherPlayerCards, vote.CardId) { + cleanedVotes = append(cleanedVotes, vote) + } + } + + err = k.multiVote(ctx, users[idx], cleanedVotes) + if err != nil { + return err + } + k.SetUserFromUser(ctx, *users[idx]) + } + return nil +} + +func (k Keeper) MatchWorker(ctx sdk.Context) { + now := uint64(ctx.BlockHeight()) + matchWorkerDelay := k.GetParams(ctx).MatchWorkerDelay + 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+matchWorkerDelay < now { + err := k.HandleMatchOutcome(ctx, match) + if err != nil { + k.Logger().Error(fmt.Sprintf(":: Error with matchWorker: %s", err)) + match.Outcome = types.Outcome_Aborted + match.CoinsDistributed = true + } + k.Matches.Set(ctx, id, match) + } + } + } +} diff --git a/x/cardchain/keeper/msg_server_match_reporter_appoint.go b/x/cardchain/keeper/msg_server_match_reporter_appoint.go index 510ab86a..6f7e1fba 100644 --- a/x/cardchain/keeper/msg_server_match_reporter_appoint.go +++ b/x/cardchain/keeper/msg_server_match_reporter_appoint.go @@ -10,8 +10,5 @@ import ( func (k msgServer) MatchReporterAppoint(goCtx context.Context, msg *types.MsgMatchReporterAppoint) (*types.MsgMatchReporterAppointResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx - - return &types.MsgMatchReporterAppointResponse{}, nil + return &types.MsgMatchReporterAppointResponse{}, k.SetMatchReporter(ctx, msg.Reporter) } diff --git a/x/cardchain/keeper/server.go b/x/cardchain/keeper/server.go new file mode 100644 index 00000000..2b465d53 --- /dev/null +++ b/x/cardchain/keeper/server.go @@ -0,0 +1,32 @@ +package keeper + +import ( + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// GetServerId Gets the number of a certain server by it's reporters address +func (k Keeper) GetServerId(ctx sdk.Context, addr string) uint64 { + for idx, server := range k.Servers.GetAll(ctx) { + if server.Reporter == addr { + return uint64(idx) + } + } + id := k.Servers.GetNumber(ctx) + server := types.Server{Reporter: addr} + k.Servers.Set(ctx, id, &server) + return id +} + +// ReportServerMatch Adds a number of reports to the server record +func (k Keeper) ReportServerMatch(ctx sdk.Context, addr string, num uint64, isValid bool) { + id := k.GetServerId(ctx, addr) + server := k.Servers.Get(ctx, id) + switch isValid { + case true: + server.ValidReports += num + case false: + server.InvalidReports += num + } + k.Servers.Set(ctx, id, server) +} diff --git a/x/cardchain/keeper/user.go b/x/cardchain/keeper/user.go new file mode 100644 index 00000000..809a6fae --- /dev/null +++ b/x/cardchain/keeper/user.go @@ -0,0 +1,97 @@ +package keeper + +import ( + 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" +) + +type MsgWithCreator interface { + GetSigners() []sdk.AccAddress +} + +const MAX_ALIAS_LEN = 25 + +// User Combines types.User and it's account address for better usability +type User struct { + *types.User + Addr sdk.AccAddress +} + +// InitUser Initializes a new user +func (k Keeper) InitUser(ctx sdk.Context, address sdk.AccAddress, alias string) error { + if alias == "" { + alias = "newbie" + } + newUser := types.NewUser() + err := checkAliasLimit(alias) + if err != nil { + return err + } + newUser.Alias = alias + 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.VotableCards = k.GetAllVotableCards(ctx) + } + + userObj := User{&newUser, address} + k.ClaimAirDrop(ctx, &userObj, types.AirDrop_user) + k.SetUserFromUser(ctx, userObj) + return nil +} + +func (k Keeper) GetMsgCreator(ctx sdk.Context, msg MsgWithCreator) (user User, err error) { + user.Addr = msg.GetSigners()[0] + + user.User = k.Users.Get(ctx, user.Addr) + return +} + +// GetUserFromString Gets a user from store, but instead of taking an accountaddress it takes a string and returns a User struct (defined above) +func (k Keeper) GetUserFromString(ctx sdk.Context, addr string) (user User, err error) { + user.Addr, err = sdk.AccAddressFromBech32(addr) + if err != nil { + return user, sdkerrors.Wrap(errors.ErrInvalidAddress, "Unable to convert to AccAddress") + } + user.User = k.Users.Get(ctx, user.Addr) + if err != nil { + return + } + return +} + +// SetUserFromUser Sets a user in store, but takes a User struct as defined above +func (k Keeper) SetUserFromUser(ctx sdk.Context, user User) { + k.Users.Set(ctx, user.Addr, user.User) +} + +// GetAllUsers Gets all users from store +func (k Keeper) GetAllUsers(ctx sdk.Context) (allUsers []*types.User, allAddresses []sdk.AccAddress) { + iterator := k.Users.GetIterator(ctx) + for ; iterator.Valid(); iterator.Next() { + + var gottenUser types.User + k.cdc.MustUnmarshal(iterator.Value(), &gottenUser) + + allUsers = append(allUsers, &gottenUser) + allAddresses = append(allAddresses, iterator.Key()) + } + return +} + +func checkAliasLimit(alias string) error { + if len(alias) > MAX_ALIAS_LEN { + return sdkerrors.Wrapf(types.ErrInvalidData, "alias is too long (%d) maximum is %d", len(alias), MAX_ALIAS_LEN) + } + + return nil +} diff --git a/x/cardchain/keeper/vote_right.go b/x/cardchain/keeper/vote_right.go new file mode 100644 index 00000000..66cddc66 --- /dev/null +++ b/x/cardchain/keeper/vote_right.go @@ -0,0 +1,97 @@ +package keeper + +import ( + "slices" + + sdkerrors "cosmossdk.io/errors" + "cosmossdk.io/math" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +// GetVoteReward Calculates winner rewards +func (k Keeper) GetVoteReward(ctx sdk.Context) sdk.Coin { + params := k.GetParams(ctx) + + pool := k.Pools.Get(ctx, BalancersPoolKey) + reward := QuoCoin(*pool, params.VotePoolFraction) + if reward.Amount.GTE(math.NewInt(params.VotingRewardCap)) { + return sdk.NewInt64Coin(reward.Denom, params.VotingRewardCap) + } + return reward +} + +// AddVoteRightToUser Adds a voteright for a certain card to a certain user +func (k Keeper) AddVoteRightToUser(ctx sdk.Context, user *types.User, cardId uint64) { + card := k.Cards.Get(ctx, cardId) + if !card.BalanceAnchor { + if !slices.Contains(user.VotableCards, cardId) && !slices.Contains(user.VotedCards, cardId) { + user.VotableCards = append(user.VotableCards, cardId) + } + } +} + +// AddVoteRightsToAllUsers Adds voterights to all cards to all users +func (k Keeper) AddVoteRightsToAllUsers(ctx sdk.Context) { + votables := k.GetAllVotableCards(ctx) + allUsers, allAddrs := k.GetAllUsers(ctx) + for idx, user := range allUsers { + user.VotableCards = votables + k.Users.Set(ctx, allAddrs[idx], user) + } +} + +// RegisterVote Removes a voteright from a user +func (k Keeper) RegisterVote(voter *User, cardId uint64) error { + var rightsIndex = slices.Index(voter.VotableCards, cardId) + + // check if voting rights are true + if rightsIndex < 0 { + return sdkerrors.Wrap(errors.ErrUnauthorized, "No Voting Rights") + } + voter.VotableCards = slices.Delete(voter.VotableCards, rightsIndex, rightsIndex+1) + voter.VotedCards = append(voter.VotedCards, cardId) + return nil +} + +// GetAllVotableCards Gets the voterights to all cards +func (k Keeper) GetAllVotableCards(ctx sdk.Context) (votables []uint64) { + iter := k.Cards.GetItemIterator(ctx) + + for ; iter.Valid(); iter.Next() { + // here only give right if card is not a scheme or banished + idx, gottenCard := iter.Value() + if !gottenCard.BalanceAnchor { + switch gottenCard.Status { + case types.Status_permanent, types.Status_trial: + votables = append(votables, idx) + } + } + } + return +} + +// RemoveExpiredVoteRights Removes all expied voteRights +func (k Keeper) RemoveExpiredVoteRights(ctx sdk.Context) { + allUsers, allAddrs := k.GetAllUsers(ctx) + + for idx, user := range allUsers { + user.VotableCards = []uint64{} + user.VotedCards = []uint64{} + k.Users.Set(ctx, allAddrs[idx], user) + } +} + +// ResetAllVotes Resets all cards votes +func (k Keeper) ResetAllVotes(ctx sdk.Context) { + iter := k.Cards.GetItemIterator(ctx) + + for ; iter.Valid(); iter.Next() { + idx, resetCard := iter.Value() + if resetCard.Status != types.Status_trial { + resetCard.ResetVotes() + } + k.Cards.Set(ctx, uint64(idx), resetCard) + } +} diff --git a/x/cardchain/keeper/voting.go b/x/cardchain/keeper/voting.go new file mode 100644 index 00000000..a48830ce --- /dev/null +++ b/x/cardchain/keeper/voting.go @@ -0,0 +1,87 @@ +package keeper + +import ( + "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 Keeper) voteCard( + ctx sdk.Context, + voter *User, + cardId uint64, + voteType types.VoteType, +) error { + // 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") + } + + err := k.RegisterVote(voter, cardId) + if err != nil { + return err + } + + switch voteType { + case types.VoteType_fairEnough: + card.FairEnoughVotes++ + case types.VoteType_inappropriate: + card.InappropriateVotes++ + case types.VoteType_overpowered: + card.OverpoweredVotes++ + case types.VoteType_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) + 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) error { + var n = 0 + + for i, vote := range votes { + err := k.voteCard(ctx, voter, vote.CardId, vote.VoteType) + if err != nil { + return err + } + n = i + } + + k.incVotesAverageBy(ctx, int64(n+1)) + + return nil +} diff --git a/x/cardchain/types/card.go b/x/cardchain/types/card.go new file mode 100644 index 00000000..4e5517c3 --- /dev/null +++ b/x/cardchain/types/card.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardobject/keywords" +) + +// ResetVotes resets a cards votes +func (card *Card) ResetVotes() { + card.Voters = []string{} + card.FairEnoughVotes = 0 + card.OverpoweredVotes = 0 + card.UnderpoweredVotes = 0 + card.InappropriateVotes = 0 +} + +func (card *Card) GetCardObj() (*keywords.Card, error) { + cardobj, err := keywords.Unmarshal(card.Content) + if err != nil { + errorsmod.Wrapf(ErrCardobject, "Invalid cardobject: %s", err) + } + + return cardobj, nil +} diff --git a/x/cardchain/types/errors.go b/x/cardchain/types/errors.go index 8acf92a6..eeb1765f 100644 --- a/x/cardchain/types/errors.go +++ b/x/cardchain/types/errors.go @@ -12,6 +12,8 @@ var ( ErrCardDoesNotExist = sdkerrors.Register(ModuleName, 1, "card does not exist") ErrCardAlreadyInSet = sdkerrors.Register(ModuleName, 8, "Card already in set") ErrInvalidCardStatus = sdkerrors.Register(ModuleName, 13, "Invalid card-status") + ErrUserDoesNotExist = sdkerrors.Register(ModuleName, 5, "User does not exist") + ErrCardobject = sdkerrors.Register(ModuleName, 19, "Faulty cardobject") ErrImageSizeExceeded = sdkerrors.Register(ModuleName, 17, "Image too big! Max size is 500kb") ErrInvalidData = sdkerrors.Register(ModuleName, 27, "Invalid data in transaction") ) diff --git a/x/cardchain/types/types.go b/x/cardchain/types/types.go index ab1254f4..5561488c 100644 --- a/x/cardchain/types/types.go +++ b/x/cardchain/types/types.go @@ -1 +1,14 @@ package types + +func NewUser() User { + return User{ + Alias: "newPlayer", + Cards: []uint64{}, + OwnedCardSchemes: []uint64{}, + OwnedPrototypes: []uint64{}, + CouncilStatus: CouncilStatus_unavailable, + ReportMatches: false, + AirDrops: &AirDrops{}, + EarlyAccess: &EarlyAccess{}, + } +} diff --git a/x/cardchain/types/user.go b/x/cardchain/types/user.go new file mode 100644 index 00000000..5bb13ecf --- /dev/null +++ b/x/cardchain/types/user.go @@ -0,0 +1,2 @@ +package types + diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go new file mode 100644 index 00000000..f70e234d --- /dev/null +++ b/x/cardchain/types/user.pb.go @@ -0,0 +1,2572 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/user.proto + +package types + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/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 CouncilStatus int32 + +const ( + CouncilStatus_available CouncilStatus = 0 + CouncilStatus_unavailable CouncilStatus = 1 + CouncilStatus_openCouncil CouncilStatus = 2 + CouncilStatus_startedCouncil CouncilStatus = 3 +) + +var CouncilStatus_name = map[int32]string{ + 0: "available", + 1: "unavailable", + 2: "openCouncil", + 3: "startedCouncil", +} + +var CouncilStatus_value = map[string]int32{ + "available": 0, + "unavailable": 1, + "openCouncil": 2, + "startedCouncil": 3, +} + +func (x CouncilStatus) String() string { + return proto.EnumName(CouncilStatus_name, int32(x)) +} + +func (CouncilStatus) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_eb1a13ac65ffc756, []int{0} +} + +type AirDrop int32 + +const ( + AirDrop_play AirDrop = 0 + AirDrop_vote AirDrop = 1 + AirDrop_create AirDrop = 2 + AirDrop_buy AirDrop = 3 + AirDrop_user AirDrop = 4 +) + +var AirDrop_name = map[int32]string{ + 0: "play", + 1: "vote", + 2: "create", + 3: "buy", + 4: "user", +} + +var AirDrop_value = map[string]int32{ + "play": 0, + "vote": 1, + "create": 2, + "buy": 3, + "user": 4, +} + +func (x AirDrop) String() string { + return proto.EnumName(AirDrop_name, int32(x)) +} + +func (AirDrop) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_eb1a13ac65ffc756, []int{1} +} + +type User struct { + Alias string `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"` + OwnedCardSchemes []uint64 `protobuf:"varint,2,rep,packed,name=ownedCardSchemes,proto3" json:"ownedCardSchemes,omitempty"` + OwnedPrototypes []uint64 `protobuf:"varint,3,rep,packed,name=ownedPrototypes,proto3" json:"ownedPrototypes,omitempty"` + Cards []uint64 `protobuf:"varint,4,rep,packed,name=cards,proto3" json:"cards,omitempty"` + CouncilStatus CouncilStatus `protobuf:"varint,6,opt,name=CouncilStatus,proto3,enum=cardchain.cardchain.CouncilStatus" json:"CouncilStatus,omitempty"` + ReportMatches bool `protobuf:"varint,7,opt,name=ReportMatches,proto3" json:"ReportMatches,omitempty"` + ProfileCard uint64 `protobuf:"varint,8,opt,name=profileCard,proto3" json:"profileCard,omitempty"` + AirDrops *AirDrops `protobuf:"bytes,9,opt,name=airDrops,proto3" json:"airDrops,omitempty"` + BoosterPacks []*BoosterPack `protobuf:"bytes,10,rep,name=boosterPacks,proto3" json:"boosterPacks,omitempty"` + Website string `protobuf:"bytes,11,opt,name=website,proto3" json:"website,omitempty"` + Biography string `protobuf:"bytes,12,opt,name=biography,proto3" json:"biography,omitempty"` + VotableCards []uint64 `protobuf:"varint,13,rep,packed,name=votableCards,proto3" json:"votableCards,omitempty"` + VotedCards []uint64 `protobuf:"varint,14,rep,packed,name=votedCards,proto3" json:"votedCards,omitempty"` + EarlyAccess *EarlyAccess `protobuf:"bytes,15,opt,name=earlyAccess,proto3" json:"earlyAccess,omitempty"` + OpenEncounters []uint64 `protobuf:"varint,16,rep,packed,name=OpenEncounters,proto3" json:"OpenEncounters,omitempty"` + WonEncounters []uint64 `protobuf:"varint,17,rep,packed,name=WonEncounters,proto3" json:"WonEncounters,omitempty"` +} + +func (m *User) Reset() { *m = User{} } +func (m *User) String() string { return proto.CompactTextString(m) } +func (*User) ProtoMessage() {} +func (*User) Descriptor() ([]byte, []int) { + return fileDescriptor_eb1a13ac65ffc756, []int{0} +} +func (m *User) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *User) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_User.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 *User) XXX_Merge(src proto.Message) { + xxx_messageInfo_User.Merge(m, src) +} +func (m *User) XXX_Size() int { + return m.Size() +} +func (m *User) XXX_DiscardUnknown() { + xxx_messageInfo_User.DiscardUnknown(m) +} + +var xxx_messageInfo_User proto.InternalMessageInfo + +func (m *User) GetAlias() string { + if m != nil { + return m.Alias + } + return "" +} + +func (m *User) GetOwnedCardSchemes() []uint64 { + if m != nil { + return m.OwnedCardSchemes + } + return nil +} + +func (m *User) GetOwnedPrototypes() []uint64 { + if m != nil { + return m.OwnedPrototypes + } + return nil +} + +func (m *User) GetCards() []uint64 { + if m != nil { + return m.Cards + } + return nil +} + +func (m *User) GetCouncilStatus() CouncilStatus { + if m != nil { + return m.CouncilStatus + } + return CouncilStatus_available +} + +func (m *User) GetReportMatches() bool { + if m != nil { + return m.ReportMatches + } + return false +} + +func (m *User) GetProfileCard() uint64 { + if m != nil { + return m.ProfileCard + } + return 0 +} + +func (m *User) GetAirDrops() *AirDrops { + if m != nil { + return m.AirDrops + } + return nil +} + +func (m *User) GetBoosterPacks() []*BoosterPack { + if m != nil { + return m.BoosterPacks + } + return nil +} + +func (m *User) GetWebsite() string { + if m != nil { + return m.Website + } + return "" +} + +func (m *User) GetBiography() string { + if m != nil { + return m.Biography + } + return "" +} + +func (m *User) GetVotableCards() []uint64 { + if m != nil { + return m.VotableCards + } + return nil +} + +func (m *User) GetVotedCards() []uint64 { + if m != nil { + return m.VotedCards + } + return nil +} + +func (m *User) GetEarlyAccess() *EarlyAccess { + if m != nil { + return m.EarlyAccess + } + return nil +} + +func (m *User) GetOpenEncounters() []uint64 { + if m != nil { + return m.OpenEncounters + } + return nil +} + +func (m *User) GetWonEncounters() []uint64 { + if m != nil { + return m.WonEncounters + } + return nil +} + +type EarlyAccess struct { + Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"` + InvitedByUser string `protobuf:"bytes,2,opt,name=invitedByUser,proto3" json:"invitedByUser,omitempty"` + InvitedUser string `protobuf:"bytes,3,opt,name=invitedUser,proto3" json:"invitedUser,omitempty"` +} + +func (m *EarlyAccess) Reset() { *m = EarlyAccess{} } +func (m *EarlyAccess) String() string { return proto.CompactTextString(m) } +func (*EarlyAccess) ProtoMessage() {} +func (*EarlyAccess) Descriptor() ([]byte, []int) { + return fileDescriptor_eb1a13ac65ffc756, []int{1} +} +func (m *EarlyAccess) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EarlyAccess) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EarlyAccess.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 *EarlyAccess) XXX_Merge(src proto.Message) { + xxx_messageInfo_EarlyAccess.Merge(m, src) +} +func (m *EarlyAccess) XXX_Size() int { + return m.Size() +} +func (m *EarlyAccess) XXX_DiscardUnknown() { + xxx_messageInfo_EarlyAccess.DiscardUnknown(m) +} + +var xxx_messageInfo_EarlyAccess proto.InternalMessageInfo + +func (m *EarlyAccess) GetActive() bool { + if m != nil { + return m.Active + } + return false +} + +func (m *EarlyAccess) GetInvitedByUser() string { + if m != nil { + return m.InvitedByUser + } + return "" +} + +func (m *EarlyAccess) GetInvitedUser() string { + if m != nil { + return m.InvitedUser + } + return "" +} + +type BoosterPack struct { + 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{} } +func (m *BoosterPack) String() string { return proto.CompactTextString(m) } +func (*BoosterPack) ProtoMessage() {} +func (*BoosterPack) Descriptor() ([]byte, []int) { + return fileDescriptor_eb1a13ac65ffc756, []int{2} +} +func (m *BoosterPack) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BoosterPack) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BoosterPack.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 *BoosterPack) XXX_Merge(src proto.Message) { + xxx_messageInfo_BoosterPack.Merge(m, src) +} +func (m *BoosterPack) XXX_Size() int { + return m.Size() +} +func (m *BoosterPack) XXX_DiscardUnknown() { + xxx_messageInfo_BoosterPack.DiscardUnknown(m) +} + +var xxx_messageInfo_BoosterPack proto.InternalMessageInfo + +func (m *BoosterPack) GetSetId() uint64 { + if m != nil { + return m.SetId + } + return 0 +} + +func (m *BoosterPack) GetTimeStamp() int64 { + if m != nil { + return m.TimeStamp + } + return 0 +} + +func (m *BoosterPack) GetRaritiesPerPack() []uint64 { + if m != nil { + return m.RaritiesPerPack + } + 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"` + Buy bool `protobuf:"varint,3,opt,name=buy,proto3" json:"buy,omitempty"` + Play bool `protobuf:"varint,4,opt,name=play,proto3" json:"play,omitempty"` + User bool `protobuf:"varint,5,opt,name=user,proto3" json:"user,omitempty"` +} + +func (m *AirDrops) Reset() { *m = AirDrops{} } +func (m *AirDrops) String() string { return proto.CompactTextString(m) } +func (*AirDrops) ProtoMessage() {} +func (*AirDrops) Descriptor() ([]byte, []int) { + return fileDescriptor_eb1a13ac65ffc756, []int{3} +} +func (m *AirDrops) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AirDrops) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AirDrops.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 *AirDrops) XXX_Merge(src proto.Message) { + xxx_messageInfo_AirDrops.Merge(m, src) +} +func (m *AirDrops) XXX_Size() int { + return m.Size() +} +func (m *AirDrops) XXX_DiscardUnknown() { + xxx_messageInfo_AirDrops.DiscardUnknown(m) +} + +var xxx_messageInfo_AirDrops proto.InternalMessageInfo + +func (m *AirDrops) GetVote() bool { + if m != nil { + return m.Vote + } + return false +} + +func (m *AirDrops) GetCreate() bool { + if m != nil { + return m.Create + } + return false +} + +func (m *AirDrops) GetBuy() bool { + if m != nil { + return m.Buy + } + return false +} + +func (m *AirDrops) GetPlay() bool { + if m != nil { + return m.Play + } + return false +} + +func (m *AirDrops) GetUser() bool { + if m != nil { + return m.User + } + return false +} + +func init() { + proto.RegisterEnum("cardchain.cardchain.CouncilStatus", CouncilStatus_name, CouncilStatus_value) + proto.RegisterEnum("cardchain.cardchain.AirDrop", AirDrop_name, AirDrop_value) + proto.RegisterType((*User)(nil), "cardchain.cardchain.User") + proto.RegisterType((*EarlyAccess)(nil), "cardchain.cardchain.EarlyAccess") + proto.RegisterType((*BoosterPack)(nil), "cardchain.cardchain.BoosterPack") + proto.RegisterType((*AirDrops)(nil), "cardchain.cardchain.AirDrops") +} + +func init() { proto.RegisterFile("cardchain/cardchain/user.proto", fileDescriptor_eb1a13ac65ffc756) } + +var fileDescriptor_eb1a13ac65ffc756 = []byte{ + // 695 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x94, 0x41, 0x6f, 0xd3, 0x30, + 0x14, 0xc7, 0x9b, 0x26, 0x5b, 0xd3, 0x97, 0xb5, 0xcb, 0x0c, 0x42, 0x16, 0x82, 0x28, 0xaa, 0x10, + 0x8a, 0x26, 0xd4, 0x49, 0xe3, 0x02, 0x12, 0x97, 0x75, 0x9b, 0x80, 0x03, 0x62, 0xf2, 0x40, 0x48, + 0xdc, 0xdc, 0xd4, 0xac, 0x16, 0x6d, 0x1c, 0xd9, 0x6e, 0x47, 0xbf, 0x05, 0x57, 0x3e, 0x02, 0xdf, + 0x84, 0xe3, 0x8e, 0x1c, 0xd1, 0xf6, 0x45, 0x90, 0x9d, 0xb4, 0x4d, 0xba, 0xde, 0xde, 0xfb, 0xf9, + 0xff, 0xec, 0xf7, 0xfc, 0x9e, 0x0d, 0x51, 0x4a, 0xe5, 0x28, 0x1d, 0x53, 0x9e, 0x1d, 0xad, 0xad, + 0x99, 0x62, 0xb2, 0x9f, 0x4b, 0xa1, 0x05, 0x7a, 0xb0, 0xa2, 0xfd, 0x95, 0xf5, 0x38, 0xde, 0x16, + 0x34, 0x17, 0x9a, 0x67, 0x57, 0x45, 0x58, 0xef, 0xf7, 0x0e, 0x78, 0x9f, 0x15, 0x93, 0xe8, 0x21, + 0xec, 0xd0, 0x09, 0xa7, 0x0a, 0x3b, 0xb1, 0x93, 0xb4, 0x49, 0xe1, 0xa0, 0x43, 0x08, 0xc5, 0x75, + 0xc6, 0x46, 0xa7, 0x54, 0x8e, 0x2e, 0xd3, 0x31, 0x9b, 0x32, 0x85, 0x9b, 0xb1, 0x9b, 0x78, 0xe4, + 0x1e, 0x47, 0x09, 0xec, 0x5b, 0x76, 0x61, 0x36, 0xd6, 0x8b, 0x9c, 0x29, 0xec, 0x5a, 0xe9, 0x26, + 0x36, 0x67, 0x99, 0x74, 0x14, 0xf6, 0xec, 0x7a, 0xe1, 0xa0, 0x77, 0xd0, 0x39, 0x15, 0xb3, 0x2c, + 0xe5, 0x93, 0x4b, 0x4d, 0xf5, 0x4c, 0xe1, 0xdd, 0xd8, 0x49, 0xba, 0xc7, 0xbd, 0xfe, 0x96, 0xca, + 0xfa, 0x35, 0x25, 0xa9, 0x07, 0xa2, 0x67, 0xd0, 0x21, 0x2c, 0x17, 0x52, 0x7f, 0xa0, 0x3a, 0x1d, + 0x33, 0x85, 0x5b, 0xb1, 0x93, 0xf8, 0xa4, 0x0e, 0x51, 0x0c, 0x41, 0x2e, 0xc5, 0x37, 0x3e, 0x61, + 0xa6, 0x0a, 0xec, 0xc7, 0x4e, 0xe2, 0x91, 0x2a, 0x42, 0xaf, 0xc1, 0xa7, 0x5c, 0x9e, 0x49, 0x91, + 0x2b, 0xdc, 0x8e, 0x9d, 0x24, 0x38, 0x7e, 0xba, 0x35, 0x99, 0x93, 0x52, 0x44, 0x56, 0x72, 0x74, + 0x06, 0x7b, 0x43, 0x21, 0x94, 0x66, 0xf2, 0x82, 0xa6, 0xdf, 0x15, 0x86, 0xd8, 0x4d, 0x82, 0xe3, + 0x78, 0x6b, 0xf8, 0x60, 0x2d, 0x24, 0xb5, 0x28, 0x84, 0xa1, 0x75, 0xcd, 0x86, 0x8a, 0x6b, 0x86, + 0x03, 0xdb, 0x96, 0xa5, 0x8b, 0x9e, 0x40, 0x7b, 0xc8, 0xc5, 0x95, 0xa4, 0xf9, 0x78, 0x81, 0xf7, + 0xec, 0xda, 0x1a, 0xa0, 0x1e, 0xec, 0xcd, 0x85, 0xa6, 0xc3, 0xa2, 0x0e, 0x85, 0x3b, 0xf6, 0x9e, + 0x6b, 0x0c, 0x45, 0x00, 0x73, 0xa1, 0x8b, 0x16, 0x2a, 0xdc, 0xb5, 0x8a, 0x0a, 0x41, 0x03, 0x08, + 0x18, 0x95, 0x93, 0xc5, 0x49, 0x9a, 0x32, 0xa5, 0xf0, 0xbe, 0xad, 0x7f, 0x7b, 0x01, 0xe7, 0x6b, + 0x1d, 0xa9, 0x06, 0xa1, 0xe7, 0xd0, 0xfd, 0x98, 0xb3, 0xec, 0x3c, 0x4b, 0xc5, 0x2c, 0xd3, 0x4c, + 0x2a, 0x1c, 0xda, 0x73, 0x36, 0xa8, 0x69, 0xd8, 0x17, 0x51, 0x95, 0x1d, 0x58, 0x59, 0x1d, 0xf6, + 0xa6, 0x10, 0x54, 0x4e, 0x42, 0x8f, 0x60, 0x97, 0xa6, 0x9a, 0xcf, 0x99, 0x1d, 0x59, 0x9f, 0x94, + 0x9e, 0xd9, 0x8c, 0x67, 0x73, 0xae, 0xd9, 0x68, 0xb0, 0x30, 0xa3, 0x8d, 0x9b, 0xf6, 0x7a, 0xea, + 0xd0, 0x74, 0xbf, 0x04, 0x56, 0xe3, 0x5a, 0x4d, 0x15, 0xf5, 0x7e, 0x39, 0x10, 0x54, 0x5a, 0x63, + 0xa6, 0x56, 0x31, 0xfd, 0x7e, 0x64, 0x8f, 0xf3, 0x48, 0xe1, 0x98, 0x46, 0x68, 0x3e, 0x65, 0x97, + 0x9a, 0x4e, 0x73, 0x7b, 0x92, 0x4b, 0xd6, 0xc0, 0xbc, 0x09, 0x49, 0x25, 0xd7, 0x9c, 0xa9, 0x8b, + 0x62, 0x9b, 0xe5, 0x9b, 0xd8, 0xc0, 0xe8, 0x05, 0x1c, 0x8c, 0xa4, 0xc8, 0x09, 0xd5, 0x5c, 0xac, + 0xb4, 0xc5, 0xfb, 0xb8, 0xbf, 0xd0, 0xcb, 0xc1, 0x5f, 0x0e, 0x1d, 0x42, 0xe0, 0x99, 0xb6, 0x95, + 0xb7, 0x60, 0x6d, 0x73, 0x37, 0xa9, 0x64, 0x54, 0x33, 0x9b, 0x92, 0x4f, 0x4a, 0x0f, 0x85, 0xe0, + 0x0e, 0x67, 0x0b, 0x5b, 0xad, 0x4f, 0x8c, 0x69, 0xa2, 0xf3, 0x09, 0x5d, 0x60, 0xaf, 0x88, 0x36, + 0xb6, 0x61, 0xe6, 0x67, 0xc1, 0x3b, 0x05, 0x33, 0xf6, 0xe1, 0xa7, 0x8d, 0xd7, 0x89, 0x3a, 0xd0, + 0xa6, 0x73, 0xca, 0x27, 0x66, 0xa2, 0xc2, 0x06, 0xda, 0x87, 0x60, 0x96, 0xad, 0x81, 0x63, 0x80, + 0xc8, 0x59, 0x56, 0x06, 0x85, 0x4d, 0x84, 0xa0, 0xab, 0x34, 0x95, 0x66, 0xc0, 0x4a, 0xe6, 0x1e, + 0xbe, 0x81, 0x56, 0x59, 0x07, 0xf2, 0x8b, 0x44, 0xc2, 0x86, 0xb1, 0x4c, 0x11, 0xa1, 0x83, 0x60, + 0x59, 0x46, 0xd8, 0x44, 0x2d, 0x9b, 0x7a, 0xe8, 0x9a, 0x65, 0x93, 0x51, 0xe8, 0x0d, 0xc8, 0x9f, + 0xdb, 0xc8, 0xb9, 0xb9, 0x8d, 0x9c, 0x7f, 0xb7, 0x91, 0xf3, 0xf3, 0x2e, 0x6a, 0xdc, 0xdc, 0x45, + 0x8d, 0xbf, 0x77, 0x51, 0xe3, 0xeb, 0xab, 0x2b, 0xae, 0xc7, 0xb3, 0x61, 0x3f, 0x15, 0xd3, 0xa3, + 0x33, 0x96, 0xb2, 0x4c, 0x4b, 0x3a, 0x31, 0x73, 0xfd, 0x96, 0x4e, 0x59, 0xe5, 0x2f, 0xfc, 0x51, + 0xb1, 0xed, 0xdf, 0x34, 0xdc, 0xb5, 0xff, 0xe2, 0xcb, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x97, + 0x39, 0xc7, 0xaf, 0x70, 0x05, 0x00, 0x00, +} + +func (m *User) 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 *User) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *User) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.WonEncounters) > 0 { + dAtA2 := make([]byte, len(m.WonEncounters)*10) + var j1 int + for _, num := range m.WonEncounters { + 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 = encodeVarintUser(dAtA, i, uint64(j1)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + if len(m.OpenEncounters) > 0 { + dAtA4 := make([]byte, len(m.OpenEncounters)*10) + var j3 int + for _, num := range m.OpenEncounters { + 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 = encodeVarintUser(dAtA, i, uint64(j3)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + if m.EarlyAccess != nil { + { + size, err := m.EarlyAccess.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintUser(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x7a + } + if len(m.VotedCards) > 0 { + dAtA7 := make([]byte, len(m.VotedCards)*10) + var j6 int + for _, num := range m.VotedCards { + 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 = encodeVarintUser(dAtA, i, uint64(j6)) + i-- + dAtA[i] = 0x72 + } + if len(m.VotableCards) > 0 { + dAtA9 := make([]byte, len(m.VotableCards)*10) + var j8 int + for _, num := range m.VotableCards { + 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 = encodeVarintUser(dAtA, i, uint64(j8)) + i-- + dAtA[i] = 0x6a + } + if len(m.Biography) > 0 { + i -= len(m.Biography) + copy(dAtA[i:], m.Biography) + i = encodeVarintUser(dAtA, i, uint64(len(m.Biography))) + i-- + dAtA[i] = 0x62 + } + if len(m.Website) > 0 { + i -= len(m.Website) + copy(dAtA[i:], m.Website) + i = encodeVarintUser(dAtA, i, uint64(len(m.Website))) + i-- + dAtA[i] = 0x5a + } + if len(m.BoosterPacks) > 0 { + for iNdEx := len(m.BoosterPacks) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.BoosterPacks[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintUser(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x52 + } + } + if m.AirDrops != nil { + { + size, err := m.AirDrops.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintUser(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4a + } + if m.ProfileCard != 0 { + i = encodeVarintUser(dAtA, i, uint64(m.ProfileCard)) + i-- + dAtA[i] = 0x40 + } + if m.ReportMatches { + i-- + if m.ReportMatches { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if m.CouncilStatus != 0 { + i = encodeVarintUser(dAtA, i, uint64(m.CouncilStatus)) + i-- + dAtA[i] = 0x30 + } + if len(m.Cards) > 0 { + dAtA12 := make([]byte, len(m.Cards)*10) + var j11 int + for _, num := range m.Cards { + 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] = 0x22 + } + if len(m.OwnedPrototypes) > 0 { + dAtA14 := make([]byte, len(m.OwnedPrototypes)*10) + var j13 int + for _, num := range m.OwnedPrototypes { + for num >= 1<<7 { + dAtA14[j13] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j13++ + } + dAtA14[j13] = uint8(num) + j13++ + } + i -= j13 + copy(dAtA[i:], dAtA14[:j13]) + i = encodeVarintUser(dAtA, i, uint64(j13)) + i-- + dAtA[i] = 0x1a + } + if len(m.OwnedCardSchemes) > 0 { + dAtA16 := make([]byte, len(m.OwnedCardSchemes)*10) + var j15 int + for _, num := range m.OwnedCardSchemes { + for num >= 1<<7 { + dAtA16[j15] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j15++ + } + dAtA16[j15] = uint8(num) + j15++ + } + i -= j15 + copy(dAtA[i:], dAtA16[:j15]) + i = encodeVarintUser(dAtA, i, uint64(j15)) + i-- + dAtA[i] = 0x12 + } + if len(m.Alias) > 0 { + i -= len(m.Alias) + copy(dAtA[i:], m.Alias) + i = encodeVarintUser(dAtA, i, uint64(len(m.Alias))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EarlyAccess) 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 *EarlyAccess) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EarlyAccess) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.InvitedUser) > 0 { + i -= len(m.InvitedUser) + copy(dAtA[i:], m.InvitedUser) + i = encodeVarintUser(dAtA, i, uint64(len(m.InvitedUser))) + i-- + dAtA[i] = 0x1a + } + if len(m.InvitedByUser) > 0 { + i -= len(m.InvitedByUser) + copy(dAtA[i:], m.InvitedByUser) + i = encodeVarintUser(dAtA, i, uint64(len(m.InvitedByUser))) + i-- + dAtA[i] = 0x12 + } + if m.Active { + i-- + if m.Active { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *BoosterPack) 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 *BoosterPack) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BoosterPack) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.DropRatiosPerPack) > 0 { + dAtA18 := make([]byte, len(m.DropRatiosPerPack)*10) + var j17 int + for _, num := range m.DropRatiosPerPack { + for num >= 1<<7 { + dAtA18[j17] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j17++ + } + dAtA18[j17] = uint8(num) + j17++ + } + i -= j17 + copy(dAtA[i:], dAtA18[:j17]) + i = encodeVarintUser(dAtA, i, uint64(j17)) + i-- + dAtA[i] = 0x22 + } + if len(m.RaritiesPerPack) > 0 { + dAtA20 := make([]byte, len(m.RaritiesPerPack)*10) + var j19 int + for _, num := range m.RaritiesPerPack { + for num >= 1<<7 { + dAtA20[j19] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j19++ + } + dAtA20[j19] = uint8(num) + j19++ + } + i -= j19 + copy(dAtA[i:], dAtA20[:j19]) + i = encodeVarintUser(dAtA, i, uint64(j19)) + i-- + dAtA[i] = 0x1a + } + if m.TimeStamp != 0 { + i = encodeVarintUser(dAtA, i, uint64(m.TimeStamp)) + i-- + dAtA[i] = 0x10 + } + if m.SetId != 0 { + i = encodeVarintUser(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *AirDrops) 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 *AirDrops) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AirDrops) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.User { + i-- + if m.User { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.Play { + i-- + if m.Play { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.Buy { + i-- + if m.Buy { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.Create { + i-- + if m.Create { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.Vote { + i-- + if m.Vote { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintUser(dAtA []byte, offset int, v uint64) int { + offset -= sovUser(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *User) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Alias) + if l > 0 { + n += 1 + l + sovUser(uint64(l)) + } + if len(m.OwnedCardSchemes) > 0 { + l = 0 + for _, e := range m.OwnedCardSchemes { + l += sovUser(uint64(e)) + } + n += 1 + sovUser(uint64(l)) + l + } + if len(m.OwnedPrototypes) > 0 { + l = 0 + for _, e := range m.OwnedPrototypes { + l += sovUser(uint64(e)) + } + n += 1 + sovUser(uint64(l)) + l + } + if len(m.Cards) > 0 { + l = 0 + for _, e := range m.Cards { + l += sovUser(uint64(e)) + } + n += 1 + sovUser(uint64(l)) + l + } + if m.CouncilStatus != 0 { + n += 1 + sovUser(uint64(m.CouncilStatus)) + } + if m.ReportMatches { + n += 2 + } + if m.ProfileCard != 0 { + n += 1 + sovUser(uint64(m.ProfileCard)) + } + if m.AirDrops != nil { + l = m.AirDrops.Size() + n += 1 + l + sovUser(uint64(l)) + } + if len(m.BoosterPacks) > 0 { + for _, e := range m.BoosterPacks { + l = e.Size() + n += 1 + l + sovUser(uint64(l)) + } + } + l = len(m.Website) + if l > 0 { + n += 1 + l + sovUser(uint64(l)) + } + l = len(m.Biography) + if l > 0 { + n += 1 + l + sovUser(uint64(l)) + } + if len(m.VotableCards) > 0 { + l = 0 + for _, e := range m.VotableCards { + l += sovUser(uint64(e)) + } + n += 1 + sovUser(uint64(l)) + l + } + if len(m.VotedCards) > 0 { + l = 0 + for _, e := range m.VotedCards { + l += sovUser(uint64(e)) + } + n += 1 + sovUser(uint64(l)) + l + } + if m.EarlyAccess != nil { + l = m.EarlyAccess.Size() + n += 1 + l + sovUser(uint64(l)) + } + if len(m.OpenEncounters) > 0 { + l = 0 + for _, e := range m.OpenEncounters { + l += sovUser(uint64(e)) + } + n += 2 + sovUser(uint64(l)) + l + } + if len(m.WonEncounters) > 0 { + l = 0 + for _, e := range m.WonEncounters { + l += sovUser(uint64(e)) + } + n += 2 + sovUser(uint64(l)) + l + } + return n +} + +func (m *EarlyAccess) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Active { + n += 2 + } + l = len(m.InvitedByUser) + if l > 0 { + n += 1 + l + sovUser(uint64(l)) + } + l = len(m.InvitedUser) + if l > 0 { + n += 1 + l + sovUser(uint64(l)) + } + return n +} + +func (m *BoosterPack) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SetId != 0 { + n += 1 + sovUser(uint64(m.SetId)) + } + if m.TimeStamp != 0 { + n += 1 + sovUser(uint64(m.TimeStamp)) + } + if len(m.RaritiesPerPack) > 0 { + l = 0 + for _, e := range m.RaritiesPerPack { + l += sovUser(uint64(e)) + } + 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 +} + +func (m *AirDrops) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Vote { + n += 2 + } + if m.Create { + n += 2 + } + if m.Buy { + n += 2 + } + if m.Play { + n += 2 + } + if m.User { + n += 2 + } + return n +} + +func sovUser(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozUser(x uint64) (n int) { + return sovUser(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *User) 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 ErrIntOverflowUser + } + 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: User: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: User: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Alias", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + 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 ErrInvalidLengthUser + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthUser + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Alias = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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.OwnedCardSchemes = append(m.OwnedCardSchemes, 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.OwnedCardSchemes) == 0 { + m.OwnedCardSchemes = 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.OwnedCardSchemes = append(m.OwnedCardSchemes, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field OwnedCardSchemes", wireType) + } + case 3: + 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.OwnedPrototypes = append(m.OwnedPrototypes, 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.OwnedPrototypes) == 0 { + m.OwnedPrototypes = 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.OwnedPrototypes = append(m.OwnedPrototypes, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field OwnedPrototypes", 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.Cards = append(m.Cards, 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.Cards) == 0 { + m.Cards = 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.Cards = append(m.Cards, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Cards", wireType) + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CouncilStatus", wireType) + } + m.CouncilStatus = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CouncilStatus |= CouncilStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReportMatches", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ReportMatches = bool(v != 0) + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ProfileCard", wireType) + } + m.ProfileCard = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ProfileCard |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AirDrops", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthUser + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthUser + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.AirDrops == nil { + m.AirDrops = &AirDrops{} + } + if err := m.AirDrops.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BoosterPacks", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthUser + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthUser + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BoosterPacks = append(m.BoosterPacks, &BoosterPack{}) + if err := m.BoosterPacks[len(m.BoosterPacks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Website", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + 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 ErrInvalidLengthUser + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthUser + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Website = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Biography", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + 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 ErrInvalidLengthUser + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthUser + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Biography = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 13: + 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.VotableCards = append(m.VotableCards, 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.VotableCards) == 0 { + m.VotableCards = 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.VotableCards = append(m.VotableCards, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field VotableCards", wireType) + } + case 14: + 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.VotedCards = append(m.VotedCards, 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.VotedCards) == 0 { + m.VotedCards = 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.VotedCards = append(m.VotedCards, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) + } + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EarlyAccess", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthUser + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthUser + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.EarlyAccess == nil { + m.EarlyAccess = &EarlyAccess{} + } + if err := m.EarlyAccess.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 16: + 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.OpenEncounters = append(m.OpenEncounters, 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.OpenEncounters) == 0 { + m.OpenEncounters = 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.OpenEncounters = append(m.OpenEncounters, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field OpenEncounters", wireType) + } + case 17: + 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.WonEncounters = append(m.WonEncounters, 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.WonEncounters) == 0 { + m.WonEncounters = 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.WonEncounters = append(m.WonEncounters, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field WonEncounters", wireType) + } + default: + iNdEx = preIndex + skippy, err := skipUser(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthUser + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EarlyAccess) 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 ErrIntOverflowUser + } + 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: EarlyAccess: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EarlyAccess: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Active", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Active = bool(v != 0) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InvitedByUser", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + 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 ErrInvalidLengthUser + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthUser + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.InvitedByUser = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InvitedUser", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + 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 ErrInvalidLengthUser + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthUser + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.InvitedUser = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipUser(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthUser + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BoosterPack) 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 ErrIntOverflowUser + } + 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: BoosterPack: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BoosterPack: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + 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 ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TimeStamp |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + 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.RaritiesPerPack = append(m.RaritiesPerPack, 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.RaritiesPerPack) == 0 { + m.RaritiesPerPack = 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.RaritiesPerPack = append(m.RaritiesPerPack, v) + } + } 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:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthUser + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AirDrops) 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 ErrIntOverflowUser + } + 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: AirDrops: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AirDrops: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Vote = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Create", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Create = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Buy", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Buy = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Play", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Play = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.User = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipUser(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthUser + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipUser(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, ErrIntOverflowUser + } + 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, ErrIntOverflowUser + } + 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, ErrIntOverflowUser + } + 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, ErrInvalidLengthUser + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupUser + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthUser + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthUser = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowUser = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupUser = fmt.Errorf("proto: unexpected end of group") +) From c25b02d4d1218f71720bb89def71664c3f0cb5d7 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Thu, 19 Dec 2024 21:15:03 +0100 Subject: [PATCH 30/99] feat(#242): move method to type --- x/cardchain/keeper/match.go | 19 ++----------------- x/cardchain/types/match.go | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 17 deletions(-) create mode 100644 x/cardchain/types/match.go diff --git a/x/cardchain/keeper/match.go b/x/cardchain/keeper/match.go index b8e3e192..3c39f2a3 100644 --- a/x/cardchain/keeper/match.go +++ b/x/cardchain/keeper/match.go @@ -53,26 +53,11 @@ 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) { - for _, player := range []string{match.PlayerA.Addr, match.PlayerB.Addr} { - var address sdk.AccAddress - address, err = sdk.AccAddressFromBech32(player) - if err != nil { - err = sdkerrors.Wrap(errors.ErrInvalidAddress, "Invalid player") - return - } - addresses = append(addresses, address) - } - - return -} - 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 + return users, err } users = append(users, &user) } @@ -82,7 +67,7 @@ func (k Keeper) getMatchUsers(ctx sdk.Context, match types.Match) (users []*User // 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) + addresses, err := match.GetMatchAddresses() if err != nil { return err } diff --git a/x/cardchain/types/match.go b/x/cardchain/types/match.go new file mode 100644 index 00000000..9b57de53 --- /dev/null +++ b/x/cardchain/types/match.go @@ -0,0 +1,22 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +// getMatchAddresses Get's and verifies the players of a match +func (m Match) GetMatchAddresses() (addresses []sdk.AccAddress, err error) { + for _, player := range []string{m.PlayerA.Addr, m.PlayerB.Addr} { + var address sdk.AccAddress + address, err = sdk.AccAddressFromBech32(player) + if err != nil { + err = errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "Invalid player") + return + } + addresses = append(addresses, address) + } + + return +} From a787b784dfde46da10c4cf06f93995432ff8101c Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Thu, 19 Dec 2024 23:25:50 +0100 Subject: [PATCH 31/99] feat(#242): Many things --- api/cardchain/cardchain/card.pulsar.go | 9 +- api/cardchain/cardchain/council.pulsar.go | 9 +- api/cardchain/cardchain/encounter.pulsar.go | 9 +- api/cardchain/cardchain/genesis.pulsar.go | 9 +- api/cardchain/cardchain/image.pulsar.go | 7 +- api/cardchain/cardchain/match.pulsar.go | 7 +- .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- .../cardchain/product_details.pulsar.go | 7 +- api/cardchain/cardchain/query.pulsar.go | 9 +- api/cardchain/cardchain/query_grpc.pb.go | 1 + .../cardchain/running_average.pulsar.go | 7 +- api/cardchain/cardchain/sell_offer.pulsar.go | 9 +- api/cardchain/cardchain/server.pulsar.go | 7 +- api/cardchain/cardchain/set.pulsar.go | 9 +- api/cardchain/cardchain/tx.pulsar.go | 2647 +++++++++++------ api/cardchain/cardchain/tx_grpc.pb.go | 38 + api/cardchain/cardchain/user.pulsar.go | 7 +- api/cardchain/cardchain/voting.pulsar.go | 7 +- api/cardchain/cardchain/zealy.pulsar.go | 643 ++++ api/cardchain/featureflag/flag.pulsar.go | 7 +- api/cardchain/featureflag/genesis.pulsar.go | 11 +- .../featureflag/module/module.pulsar.go | 9 +- api/cardchain/featureflag/params.pulsar.go | 9 +- api/cardchain/featureflag/query.pulsar.go | 9 +- api/cardchain/featureflag/query_grpc.pb.go | 1 + api/cardchain/featureflag/tx.pulsar.go | 9 +- api/cardchain/featureflag/tx_grpc.pb.go | 1 + docs/static/openapi.yml | 2 +- gen.sh | 17 +- go.mod | 2 +- proto/buf.lock | 17 +- proto/cardchain/cardchain/tx.proto | 11 +- proto/cardchain/cardchain/zealy.proto | 9 + types/generic_type_keeper/string_gtk.go | 26 + x/cardchain/keeper/arrays.go | 15 + x/cardchain/keeper/council.go | 142 + x/cardchain/keeper/keeper.go | 2 + .../keeper/msg_server_booster_pack_buy.go | 52 +- .../keeper/msg_server_card_artist_change.go | 22 +- .../keeper/msg_server_card_scheme_buy.go | 40 +- .../keeper/msg_server_council_create.go | 70 +- .../msg_server_council_response_commit.go | 61 +- .../msg_server_early_access_disinvite.go | 39 + .../keeper/msg_server_match_confirm.go | 37 +- .../keeper/msg_server_profile_alias_set.go | 10 +- .../keeper/msg_server_sell_offer_buy.go | 31 +- .../keeper/msg_server_sell_offer_create.go | 32 +- x/cardchain/keeper/msg_server_set_create.go | 24 +- x/cardchain/keeper/msg_server_user_create.go | 16 +- .../keeper/msg_server_zealy_connect.go | 26 +- x/cardchain/keeper/user.go | 17 +- x/cardchain/module/autocli.go | 6 + x/cardchain/module/simulation.go | 23 + .../simulation/early_access_disinvite.go | 29 + x/cardchain/types/booster_pack.go | 14 + x/cardchain/types/card.go | 12 + x/cardchain/types/card.pb.go | 7 +- x/cardchain/types/codec.go | 3 + x/cardchain/types/council.pb.go | 7 +- x/cardchain/types/encounter.pb.go | 5 +- x/cardchain/types/genesis.pb.go | 7 +- x/cardchain/types/image.pb.go | 3 +- x/cardchain/types/match.pb.go | 3 +- .../types/message_early_access_disinvite.go | 24 + .../message_early_access_disinvite_test.go | 40 + .../types/message_profile_alias_set.go | 5 + x/cardchain/types/message_user_create.go | 5 + x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/product_details.pb.go | 3 +- x/cardchain/types/profile.go | 13 + x/cardchain/types/query.pb.go | 7 +- x/cardchain/types/running_average.pb.go | 3 +- x/cardchain/types/sell_offer.pb.go | 7 +- x/cardchain/types/server.pb.go | 3 +- x/cardchain/types/set.pb.go | 5 +- x/cardchain/types/tx.pb.go | 769 +++-- x/cardchain/types/user.go | 11 + x/cardchain/types/user.pb.go | 3 +- x/cardchain/types/voting.pb.go | 3 +- x/cardchain/types/zealy.pb.go | 367 +++ x/featureflag/types/flag.pb.go | 3 +- x/featureflag/types/genesis.pb.go | 7 +- x/featureflag/types/params.pb.go | 7 +- x/featureflag/types/query.pb.go | 7 +- x/featureflag/types/tx.pb.go | 7 +- 86 files changed, 4436 insertions(+), 1224 deletions(-) create mode 100644 api/cardchain/cardchain/zealy.pulsar.go create mode 100644 proto/cardchain/cardchain/zealy.proto create mode 100644 types/generic_type_keeper/string_gtk.go create mode 100644 x/cardchain/keeper/arrays.go create mode 100644 x/cardchain/keeper/council.go create mode 100644 x/cardchain/keeper/msg_server_early_access_disinvite.go create mode 100644 x/cardchain/simulation/early_access_disinvite.go create mode 100644 x/cardchain/types/booster_pack.go create mode 100644 x/cardchain/types/message_early_access_disinvite.go create mode 100644 x/cardchain/types/message_early_access_disinvite_test.go create mode 100644 x/cardchain/types/profile.go create mode 100644 x/cardchain/types/zealy.pb.go diff --git a/api/cardchain/cardchain/card.pulsar.go b/api/cardchain/cardchain/card.pulsar.go index 193c865e..dbd52ee2 100644 --- a/api/cardchain/cardchain/card.pulsar.go +++ b/api/cardchain/cardchain/card.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Card_14_list)(nil) diff --git a/api/cardchain/cardchain/council.pulsar.go b/api/cardchain/cardchain/council.pulsar.go index ad8e4373..1afba505 100644 --- a/api/cardchain/cardchain/council.pulsar.go +++ b/api/cardchain/cardchain/council.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Council_2_list)(nil) diff --git a/api/cardchain/cardchain/encounter.pulsar.go b/api/cardchain/cardchain/encounter.pulsar.go index f8002c77..7dc474db 100644 --- a/api/cardchain/cardchain/encounter.pulsar.go +++ b/api/cardchain/cardchain/encounter.pulsar.go @@ -3,15 +3,16 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var _ protoreflect.List = (*_Encounter_2_list)(nil) diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index c48c933d..4d3bf7a0 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_GenesisState_2_list)(nil) diff --git a/api/cardchain/cardchain/image.pulsar.go b/api/cardchain/cardchain/image.pulsar.go index 627dece1..db59a9e8 100644 --- a/api/cardchain/cardchain/image.pulsar.go +++ b/api/cardchain/cardchain/image.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go index 191ba7fd..b2e29884 100644 --- a/api/cardchain/cardchain/match.pulsar.go +++ b/api/cardchain/cardchain/match.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index 2b190f83..dead9881 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,15 +2,16 @@ package module import ( - _ "cosmossdk.io/api/cosmos/app/v1alpha1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/cosmos/app/v1alpha1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index 11ddc437..ed6b2b87 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,17 +2,18 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/product_details.pulsar.go b/api/cardchain/cardchain/product_details.pulsar.go index 4217d854..f50578bd 100644 --- a/api/cardchain/cardchain/product_details.pulsar.go +++ b/api/cardchain/cardchain/product_details.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 0bf3306c..13f0031e 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,18 +2,19 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index eaabaeb4..1f94614b 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,6 +8,7 @@ package cardchain import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/running_average.pulsar.go b/api/cardchain/cardchain/running_average.pulsar.go index 9cff2c1b..48c3ca74 100644 --- a/api/cardchain/cardchain/running_average.pulsar.go +++ b/api/cardchain/cardchain/running_average.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_RunningAverage_1_list)(nil) diff --git a/api/cardchain/cardchain/sell_offer.pulsar.go b/api/cardchain/cardchain/sell_offer.pulsar.go index 55fde4b3..5f5fb235 100644 --- a/api/cardchain/cardchain/sell_offer.pulsar.go +++ b/api/cardchain/cardchain/sell_offer.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/server.pulsar.go b/api/cardchain/cardchain/server.pulsar.go index e8d66d38..25cbab32 100644 --- a/api/cardchain/cardchain/server.pulsar.go +++ b/api/cardchain/cardchain/server.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go index 84be5f2e..0ff46d34 100644 --- a/api/cardchain/cardchain/set.pulsar.go +++ b/api/cardchain/cardchain/set.pulsar.go @@ -2,15 +2,16 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Set_2_list)(nil) diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index 8ee76fba..91c94b9a 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,20 +2,21 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" - fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var ( @@ -24353,7 +24354,7 @@ var ( md_MsgCouncilResponseCommit protoreflect.MessageDescriptor fd_MsgCouncilResponseCommit_creator protoreflect.FieldDescriptor fd_MsgCouncilResponseCommit_councilId protoreflect.FieldDescriptor - fd_MsgCouncilResponseCommit_reponse protoreflect.FieldDescriptor + fd_MsgCouncilResponseCommit_response protoreflect.FieldDescriptor fd_MsgCouncilResponseCommit_suggestion protoreflect.FieldDescriptor ) @@ -24362,7 +24363,7 @@ func init() { md_MsgCouncilResponseCommit = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilResponseCommit") fd_MsgCouncilResponseCommit_creator = md_MsgCouncilResponseCommit.Fields().ByName("creator") fd_MsgCouncilResponseCommit_councilId = md_MsgCouncilResponseCommit.Fields().ByName("councilId") - fd_MsgCouncilResponseCommit_reponse = md_MsgCouncilResponseCommit.Fields().ByName("reponse") + fd_MsgCouncilResponseCommit_response = md_MsgCouncilResponseCommit.Fields().ByName("response") fd_MsgCouncilResponseCommit_suggestion = md_MsgCouncilResponseCommit.Fields().ByName("suggestion") } @@ -24443,9 +24444,9 @@ func (x *fastReflection_MsgCouncilResponseCommit) Range(f func(protoreflect.Fiel return } } - if x.Reponse != "" { - value := protoreflect.ValueOfString(x.Reponse) - if !f(fd_MsgCouncilResponseCommit_reponse, value) { + if x.Response != "" { + value := protoreflect.ValueOfString(x.Response) + if !f(fd_MsgCouncilResponseCommit_response, value) { return } } @@ -24474,8 +24475,8 @@ func (x *fastReflection_MsgCouncilResponseCommit) Has(fd protoreflect.FieldDescr return x.Creator != "" case "cardchain.cardchain.MsgCouncilResponseCommit.councilId": return x.CouncilId != uint64(0) - case "cardchain.cardchain.MsgCouncilResponseCommit.reponse": - return x.Reponse != "" + case "cardchain.cardchain.MsgCouncilResponseCommit.response": + return x.Response != "" case "cardchain.cardchain.MsgCouncilResponseCommit.suggestion": return x.Suggestion != "" default: @@ -24498,8 +24499,8 @@ func (x *fastReflection_MsgCouncilResponseCommit) Clear(fd protoreflect.FieldDes x.Creator = "" case "cardchain.cardchain.MsgCouncilResponseCommit.councilId": x.CouncilId = uint64(0) - case "cardchain.cardchain.MsgCouncilResponseCommit.reponse": - x.Reponse = "" + case "cardchain.cardchain.MsgCouncilResponseCommit.response": + x.Response = "" case "cardchain.cardchain.MsgCouncilResponseCommit.suggestion": x.Suggestion = "" default: @@ -24524,8 +24525,8 @@ func (x *fastReflection_MsgCouncilResponseCommit) Get(descriptor protoreflect.Fi case "cardchain.cardchain.MsgCouncilResponseCommit.councilId": value := x.CouncilId return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.MsgCouncilResponseCommit.reponse": - value := x.Reponse + case "cardchain.cardchain.MsgCouncilResponseCommit.response": + value := x.Response return protoreflect.ValueOfString(value) case "cardchain.cardchain.MsgCouncilResponseCommit.suggestion": value := x.Suggestion @@ -24554,8 +24555,8 @@ func (x *fastReflection_MsgCouncilResponseCommit) Set(fd protoreflect.FieldDescr x.Creator = value.Interface().(string) case "cardchain.cardchain.MsgCouncilResponseCommit.councilId": x.CouncilId = value.Uint() - case "cardchain.cardchain.MsgCouncilResponseCommit.reponse": - x.Reponse = value.Interface().(string) + case "cardchain.cardchain.MsgCouncilResponseCommit.response": + x.Response = value.Interface().(string) case "cardchain.cardchain.MsgCouncilResponseCommit.suggestion": x.Suggestion = value.Interface().(string) default: @@ -24582,8 +24583,8 @@ func (x *fastReflection_MsgCouncilResponseCommit) Mutable(fd protoreflect.FieldD panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCouncilResponseCommit is not mutable")) case "cardchain.cardchain.MsgCouncilResponseCommit.councilId": panic(fmt.Errorf("field councilId of message cardchain.cardchain.MsgCouncilResponseCommit is not mutable")) - case "cardchain.cardchain.MsgCouncilResponseCommit.reponse": - panic(fmt.Errorf("field reponse of message cardchain.cardchain.MsgCouncilResponseCommit is not mutable")) + case "cardchain.cardchain.MsgCouncilResponseCommit.response": + panic(fmt.Errorf("field response of message cardchain.cardchain.MsgCouncilResponseCommit is not mutable")) case "cardchain.cardchain.MsgCouncilResponseCommit.suggestion": panic(fmt.Errorf("field suggestion of message cardchain.cardchain.MsgCouncilResponseCommit is not mutable")) default: @@ -24603,7 +24604,7 @@ func (x *fastReflection_MsgCouncilResponseCommit) NewField(fd protoreflect.Field return protoreflect.ValueOfString("") case "cardchain.cardchain.MsgCouncilResponseCommit.councilId": return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.MsgCouncilResponseCommit.reponse": + case "cardchain.cardchain.MsgCouncilResponseCommit.response": return protoreflect.ValueOfString("") case "cardchain.cardchain.MsgCouncilResponseCommit.suggestion": return protoreflect.ValueOfString("") @@ -24683,7 +24684,7 @@ func (x *fastReflection_MsgCouncilResponseCommit) ProtoMethods() *protoiface.Met if x.CouncilId != 0 { n += 1 + runtime.Sov(uint64(x.CouncilId)) } - l = len(x.Reponse) + l = len(x.Response) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -24727,10 +24728,10 @@ func (x *fastReflection_MsgCouncilResponseCommit) ProtoMethods() *protoiface.Met i-- dAtA[i] = 0x22 } - if len(x.Reponse) > 0 { - i -= len(x.Reponse) - copy(dAtA[i:], x.Reponse) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reponse))) + if len(x.Response) > 0 { + i -= len(x.Response) + copy(dAtA[i:], x.Response) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Response))) i-- dAtA[i] = 0x1a } @@ -24848,7 +24849,7 @@ func (x *fastReflection_MsgCouncilResponseCommit) ProtoMethods() *protoiface.Met } case 3: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reponse", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -24876,7 +24877,7 @@ func (x *fastReflection_MsgCouncilResponseCommit) ProtoMethods() *protoiface.Met if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Reponse = string(dAtA[iNdEx:postIndex]) + x.Response = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { @@ -44630,13 +44631,850 @@ func (x *fastReflection_MsgUpdateProductDetails) ProtoMethods() *protoiface.Meth if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Name = string(dAtA[iNdEx:postIndex]) + x.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Desc = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgUpdateProductDetailsResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgUpdateProductDetailsResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgUpdateProductDetailsResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateProductDetailsResponse)(nil) + +type fastReflection_MsgUpdateProductDetailsResponse MsgUpdateProductDetailsResponse + +func (x *MsgUpdateProductDetailsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProductDetailsResponse)(x) +} + +func (x *MsgUpdateProductDetailsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[97] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgUpdateProductDetailsResponse_messageType fastReflection_MsgUpdateProductDetailsResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProductDetailsResponse_messageType{} + +type fastReflection_MsgUpdateProductDetailsResponse_messageType struct{} + +func (x fastReflection_MsgUpdateProductDetailsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProductDetailsResponse)(nil) +} +func (x fastReflection_MsgUpdateProductDetailsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProductDetailsResponse) +} +func (x fastReflection_MsgUpdateProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProductDetailsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProductDetailsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProductDetailsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateProductDetailsResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProductDetailsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProductDetailsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUpdateProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUpdateProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgUpdateProductDetailsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUpdateProductDetailsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUpdateProductDetailsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUpdateProductDetailsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateProductDetailsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateProductDetailsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateProductDetailsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProductDetailsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgDeleteProductDetails protoreflect.MessageDescriptor + fd_MsgDeleteProductDetails_creator protoreflect.FieldDescriptor + fd_MsgDeleteProductDetails_id protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgDeleteProductDetails = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgDeleteProductDetails") + fd_MsgDeleteProductDetails_creator = md_MsgDeleteProductDetails.Fields().ByName("creator") + fd_MsgDeleteProductDetails_id = md_MsgDeleteProductDetails.Fields().ByName("id") +} + +var _ protoreflect.Message = (*fastReflection_MsgDeleteProductDetails)(nil) + +type fastReflection_MsgDeleteProductDetails MsgDeleteProductDetails + +func (x *MsgDeleteProductDetails) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgDeleteProductDetails)(x) +} + +func (x *MsgDeleteProductDetails) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[98] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgDeleteProductDetails_messageType fastReflection_MsgDeleteProductDetails_messageType +var _ protoreflect.MessageType = fastReflection_MsgDeleteProductDetails_messageType{} + +type fastReflection_MsgDeleteProductDetails_messageType struct{} + +func (x fastReflection_MsgDeleteProductDetails_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgDeleteProductDetails)(nil) +} +func (x fastReflection_MsgDeleteProductDetails_messageType) New() protoreflect.Message { + return new(fastReflection_MsgDeleteProductDetails) +} +func (x fastReflection_MsgDeleteProductDetails_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgDeleteProductDetails +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgDeleteProductDetails) Descriptor() protoreflect.MessageDescriptor { + return md_MsgDeleteProductDetails +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgDeleteProductDetails) Type() protoreflect.MessageType { + return _fastReflection_MsgDeleteProductDetails_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgDeleteProductDetails) New() protoreflect.Message { + return new(fastReflection_MsgDeleteProductDetails) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgDeleteProductDetails) Interface() protoreflect.ProtoMessage { + return (*MsgDeleteProductDetails)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgDeleteProductDetails) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgDeleteProductDetails_creator, value) { + return + } + } + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_MsgDeleteProductDetails_id, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgDeleteProductDetails) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgDeleteProductDetails.creator": + return x.Creator != "" + case "cardchain.cardchain.MsgDeleteProductDetails.id": + return x.Id != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDeleteProductDetails) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgDeleteProductDetails.creator": + x.Creator = "" + case "cardchain.cardchain.MsgDeleteProductDetails.id": + x.Id = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgDeleteProductDetails) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgDeleteProductDetails.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgDeleteProductDetails.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDeleteProductDetails) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgDeleteProductDetails.creator": + x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgDeleteProductDetails.id": + x.Id = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDeleteProductDetails) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgDeleteProductDetails.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgDeleteProductDetails is not mutable")) + case "cardchain.cardchain.MsgDeleteProductDetails.id": + panic(fmt.Errorf("field id of message cardchain.cardchain.MsgDeleteProductDetails is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgDeleteProductDetails) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgDeleteProductDetails.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgDeleteProductDetails.id": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgDeleteProductDetails) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgDeleteProductDetails", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgDeleteProductDetails) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDeleteProductDetails) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgDeleteProductDetails) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgDeleteProductDetails) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgDeleteProductDetails) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgDeleteProductDetails) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x10 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgDeleteProductDetails) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetails: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType) + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) } - var stringLen uint64 + x.Id = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -44646,24 +45484,11 @@ func (x *fastReflection_MsgUpdateProductDetails) ProtoMethods() *protoiface.Meth } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + x.Id |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Desc = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -44700,24 +45525,24 @@ func (x *fastReflection_MsgUpdateProductDetails) ProtoMethods() *protoiface.Meth } var ( - md_MsgUpdateProductDetailsResponse protoreflect.MessageDescriptor + md_MsgDeleteProductDetailsResponse protoreflect.MessageDescriptor ) func init() { file_cardchain_cardchain_tx_proto_init() - md_MsgUpdateProductDetailsResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgUpdateProductDetailsResponse") + md_MsgDeleteProductDetailsResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgDeleteProductDetailsResponse") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateProductDetailsResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgDeleteProductDetailsResponse)(nil) -type fastReflection_MsgUpdateProductDetailsResponse MsgUpdateProductDetailsResponse +type fastReflection_MsgDeleteProductDetailsResponse MsgDeleteProductDetailsResponse -func (x *MsgUpdateProductDetailsResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateProductDetailsResponse)(x) +func (x *MsgDeleteProductDetailsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgDeleteProductDetailsResponse)(x) } -func (x *MsgUpdateProductDetailsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[97] +func (x *MsgDeleteProductDetailsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44728,43 +45553,43 @@ func (x *MsgUpdateProductDetailsResponse) slowProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -var _fastReflection_MsgUpdateProductDetailsResponse_messageType fastReflection_MsgUpdateProductDetailsResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateProductDetailsResponse_messageType{} +var _fastReflection_MsgDeleteProductDetailsResponse_messageType fastReflection_MsgDeleteProductDetailsResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgDeleteProductDetailsResponse_messageType{} -type fastReflection_MsgUpdateProductDetailsResponse_messageType struct{} +type fastReflection_MsgDeleteProductDetailsResponse_messageType struct{} -func (x fastReflection_MsgUpdateProductDetailsResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateProductDetailsResponse)(nil) +func (x fastReflection_MsgDeleteProductDetailsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgDeleteProductDetailsResponse)(nil) } -func (x fastReflection_MsgUpdateProductDetailsResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProductDetailsResponse) +func (x fastReflection_MsgDeleteProductDetailsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgDeleteProductDetailsResponse) } -func (x fastReflection_MsgUpdateProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProductDetailsResponse +func (x fastReflection_MsgDeleteProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgDeleteProductDetailsResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProductDetailsResponse +func (x *fastReflection_MsgDeleteProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgDeleteProductDetailsResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateProductDetailsResponse_messageType +func (x *fastReflection_MsgDeleteProductDetailsResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgDeleteProductDetailsResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateProductDetailsResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProductDetailsResponse) +func (x *fastReflection_MsgDeleteProductDetailsResponse) New() protoreflect.Message { + return new(fastReflection_MsgDeleteProductDetailsResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateProductDetailsResponse)(x) +func (x *fastReflection_MsgDeleteProductDetailsResponse) Interface() protoreflect.ProtoMessage { + return (*MsgDeleteProductDetailsResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -44772,7 +45597,7 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) Interface() protoreflec // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgDeleteProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -44786,13 +45611,13 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) Range(f func(protorefle // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgDeleteProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) } } @@ -44802,13 +45627,13 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) Has(fd protoreflect.Fie // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgDeleteProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) } } @@ -44818,13 +45643,13 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) Clear(fd protoreflect.F // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgDeleteProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", descriptor.FullName())) } } @@ -44838,13 +45663,13 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) Get(descriptor protoref // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgDeleteProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) } } @@ -44858,36 +45683,36 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) Set(fd protoreflect.Fie // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgDeleteProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgUpdateProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgDeleteProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgUpdateProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgDeleteProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgUpdateProductDetailsResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgDeleteProductDetailsResponse", d.FullName())) } panic("unreachable") } @@ -44895,7 +45720,7 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) WhichOneof(d protorefle // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgUpdateProductDetailsResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgDeleteProductDetailsResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -44906,7 +45731,7 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) GetUnknown() protorefle // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgDeleteProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -44918,7 +45743,7 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) SetUnknown(fields proto // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgUpdateProductDetailsResponse) IsValid() bool { +func (x *fastReflection_MsgDeleteProductDetailsResponse) IsValid() bool { return x != nil } @@ -44928,9 +45753,9 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateProductDetailsResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgDeleteProductDetailsResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateProductDetailsResponse) + x := input.Message.Interface().(*MsgDeleteProductDetailsResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -44952,7 +45777,7 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) ProtoMethods() *protoif } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProductDetailsResponse) + x := input.Message.Interface().(*MsgDeleteProductDetailsResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -44982,7 +45807,7 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) ProtoMethods() *protoif }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProductDetailsResponse) + x := input.Message.Interface().(*MsgDeleteProductDetailsResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -45014,10 +45839,10 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) ProtoMethods() *protoif fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProductDetailsResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetailsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -45056,28 +45881,28 @@ func (x *fastReflection_MsgUpdateProductDetailsResponse) ProtoMethods() *protoif } var ( - md_MsgDeleteProductDetails protoreflect.MessageDescriptor - fd_MsgDeleteProductDetails_creator protoreflect.FieldDescriptor - fd_MsgDeleteProductDetails_id protoreflect.FieldDescriptor + md_MsgEarlyAccessDisinvite protoreflect.MessageDescriptor + fd_MsgEarlyAccessDisinvite_creator protoreflect.FieldDescriptor + fd_MsgEarlyAccessDisinvite_user protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_tx_proto_init() - md_MsgDeleteProductDetails = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgDeleteProductDetails") - fd_MsgDeleteProductDetails_creator = md_MsgDeleteProductDetails.Fields().ByName("creator") - fd_MsgDeleteProductDetails_id = md_MsgDeleteProductDetails.Fields().ByName("id") + md_MsgEarlyAccessDisinvite = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgEarlyAccessDisinvite") + fd_MsgEarlyAccessDisinvite_creator = md_MsgEarlyAccessDisinvite.Fields().ByName("creator") + fd_MsgEarlyAccessDisinvite_user = md_MsgEarlyAccessDisinvite.Fields().ByName("user") } -var _ protoreflect.Message = (*fastReflection_MsgDeleteProductDetails)(nil) +var _ protoreflect.Message = (*fastReflection_MsgEarlyAccessDisinvite)(nil) -type fastReflection_MsgDeleteProductDetails MsgDeleteProductDetails +type fastReflection_MsgEarlyAccessDisinvite MsgEarlyAccessDisinvite -func (x *MsgDeleteProductDetails) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgDeleteProductDetails)(x) +func (x *MsgEarlyAccessDisinvite) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEarlyAccessDisinvite)(x) } -func (x *MsgDeleteProductDetails) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[98] +func (x *MsgEarlyAccessDisinvite) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45088,43 +45913,43 @@ func (x *MsgDeleteProductDetails) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgDeleteProductDetails_messageType fastReflection_MsgDeleteProductDetails_messageType -var _ protoreflect.MessageType = fastReflection_MsgDeleteProductDetails_messageType{} +var _fastReflection_MsgEarlyAccessDisinvite_messageType fastReflection_MsgEarlyAccessDisinvite_messageType +var _ protoreflect.MessageType = fastReflection_MsgEarlyAccessDisinvite_messageType{} -type fastReflection_MsgDeleteProductDetails_messageType struct{} +type fastReflection_MsgEarlyAccessDisinvite_messageType struct{} -func (x fastReflection_MsgDeleteProductDetails_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgDeleteProductDetails)(nil) +func (x fastReflection_MsgEarlyAccessDisinvite_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEarlyAccessDisinvite)(nil) } -func (x fastReflection_MsgDeleteProductDetails_messageType) New() protoreflect.Message { - return new(fastReflection_MsgDeleteProductDetails) +func (x fastReflection_MsgEarlyAccessDisinvite_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEarlyAccessDisinvite) } -func (x fastReflection_MsgDeleteProductDetails_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgDeleteProductDetails +func (x fastReflection_MsgEarlyAccessDisinvite_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEarlyAccessDisinvite } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgDeleteProductDetails) Descriptor() protoreflect.MessageDescriptor { - return md_MsgDeleteProductDetails +func (x *fastReflection_MsgEarlyAccessDisinvite) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEarlyAccessDisinvite } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgDeleteProductDetails) Type() protoreflect.MessageType { - return _fastReflection_MsgDeleteProductDetails_messageType +func (x *fastReflection_MsgEarlyAccessDisinvite) Type() protoreflect.MessageType { + return _fastReflection_MsgEarlyAccessDisinvite_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgDeleteProductDetails) New() protoreflect.Message { - return new(fastReflection_MsgDeleteProductDetails) +func (x *fastReflection_MsgEarlyAccessDisinvite) New() protoreflect.Message { + return new(fastReflection_MsgEarlyAccessDisinvite) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgDeleteProductDetails) Interface() protoreflect.ProtoMessage { - return (*MsgDeleteProductDetails)(x) +func (x *fastReflection_MsgEarlyAccessDisinvite) Interface() protoreflect.ProtoMessage { + return (*MsgEarlyAccessDisinvite)(x) } // Range iterates over every populated field in an undefined order, @@ -45132,16 +45957,16 @@ func (x *fastReflection_MsgDeleteProductDetails) Interface() protoreflect.ProtoM // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgDeleteProductDetails) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgEarlyAccessDisinvite) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Creator != "" { value := protoreflect.ValueOfString(x.Creator) - if !f(fd_MsgDeleteProductDetails_creator, value) { + if !f(fd_MsgEarlyAccessDisinvite_creator, value) { return } } - if x.Id != uint64(0) { - value := protoreflect.ValueOfUint64(x.Id) - if !f(fd_MsgDeleteProductDetails_id, value) { + if x.User != "" { + value := protoreflect.ValueOfString(x.User) + if !f(fd_MsgEarlyAccessDisinvite_user, value) { return } } @@ -45158,17 +45983,17 @@ func (x *fastReflection_MsgDeleteProductDetails) Range(f func(protoreflect.Field // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgDeleteProductDetails) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgEarlyAccessDisinvite) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cardchain.cardchain.MsgDeleteProductDetails.creator": + case "cardchain.cardchain.MsgEarlyAccessDisinvite.creator": return x.Creator != "" - case "cardchain.cardchain.MsgDeleteProductDetails.id": - return x.Id != uint64(0) + case "cardchain.cardchain.MsgEarlyAccessDisinvite.user": + return x.User != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessDisinvite")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessDisinvite does not contain field %s", fd.FullName())) } } @@ -45178,17 +46003,17 @@ func (x *fastReflection_MsgDeleteProductDetails) Has(fd protoreflect.FieldDescri // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetails) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgEarlyAccessDisinvite) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cardchain.cardchain.MsgDeleteProductDetails.creator": + case "cardchain.cardchain.MsgEarlyAccessDisinvite.creator": x.Creator = "" - case "cardchain.cardchain.MsgDeleteProductDetails.id": - x.Id = uint64(0) + case "cardchain.cardchain.MsgEarlyAccessDisinvite.user": + x.User = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessDisinvite")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessDisinvite does not contain field %s", fd.FullName())) } } @@ -45198,19 +46023,19 @@ func (x *fastReflection_MsgDeleteProductDetails) Clear(fd protoreflect.FieldDesc // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgDeleteProductDetails) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEarlyAccessDisinvite) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cardchain.cardchain.MsgDeleteProductDetails.creator": + case "cardchain.cardchain.MsgEarlyAccessDisinvite.creator": value := x.Creator return protoreflect.ValueOfString(value) - case "cardchain.cardchain.MsgDeleteProductDetails.id": - value := x.Id - return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.MsgEarlyAccessDisinvite.user": + value := x.User + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessDisinvite")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessDisinvite does not contain field %s", descriptor.FullName())) } } @@ -45224,17 +46049,17 @@ func (x *fastReflection_MsgDeleteProductDetails) Get(descriptor protoreflect.Fie // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetails) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgEarlyAccessDisinvite) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cardchain.cardchain.MsgDeleteProductDetails.creator": + case "cardchain.cardchain.MsgEarlyAccessDisinvite.creator": x.Creator = value.Interface().(string) - case "cardchain.cardchain.MsgDeleteProductDetails.id": - x.Id = value.Uint() + case "cardchain.cardchain.MsgEarlyAccessDisinvite.user": + x.User = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessDisinvite")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessDisinvite does not contain field %s", fd.FullName())) } } @@ -45248,44 +46073,44 @@ func (x *fastReflection_MsgDeleteProductDetails) Set(fd protoreflect.FieldDescri // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetails) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEarlyAccessDisinvite) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.MsgDeleteProductDetails.creator": - panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgDeleteProductDetails is not mutable")) - case "cardchain.cardchain.MsgDeleteProductDetails.id": - panic(fmt.Errorf("field id of message cardchain.cardchain.MsgDeleteProductDetails is not mutable")) + case "cardchain.cardchain.MsgEarlyAccessDisinvite.creator": + panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgEarlyAccessDisinvite is not mutable")) + case "cardchain.cardchain.MsgEarlyAccessDisinvite.user": + panic(fmt.Errorf("field user of message cardchain.cardchain.MsgEarlyAccessDisinvite is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessDisinvite")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessDisinvite does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgDeleteProductDetails) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEarlyAccessDisinvite) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.MsgDeleteProductDetails.creator": + case "cardchain.cardchain.MsgEarlyAccessDisinvite.creator": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgEarlyAccessDisinvite.user": return protoreflect.ValueOfString("") - case "cardchain.cardchain.MsgDeleteProductDetails.id": - return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessDisinvite")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessDisinvite does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgDeleteProductDetails) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgEarlyAccessDisinvite) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgDeleteProductDetails", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgEarlyAccessDisinvite", d.FullName())) } panic("unreachable") } @@ -45293,7 +46118,7 @@ func (x *fastReflection_MsgDeleteProductDetails) WhichOneof(d protoreflect.Oneof // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgDeleteProductDetails) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgEarlyAccessDisinvite) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -45304,7 +46129,7 @@ func (x *fastReflection_MsgDeleteProductDetails) GetUnknown() protoreflect.RawFi // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetails) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgEarlyAccessDisinvite) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -45316,7 +46141,7 @@ func (x *fastReflection_MsgDeleteProductDetails) SetUnknown(fields protoreflect. // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgDeleteProductDetails) IsValid() bool { +func (x *fastReflection_MsgEarlyAccessDisinvite) IsValid() bool { return x != nil } @@ -45326,9 +46151,9 @@ func (x *fastReflection_MsgDeleteProductDetails) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgDeleteProductDetails) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgEarlyAccessDisinvite) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgDeleteProductDetails) + x := input.Message.Interface().(*MsgEarlyAccessDisinvite) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -45344,8 +46169,9 @@ func (x *fastReflection_MsgDeleteProductDetails) ProtoMethods() *protoiface.Meth if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.Id != 0 { - n += 1 + runtime.Sov(uint64(x.Id)) + l = len(x.User) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -45357,7 +46183,7 @@ func (x *fastReflection_MsgDeleteProductDetails) ProtoMethods() *protoiface.Meth } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgDeleteProductDetails) + x := input.Message.Interface().(*MsgEarlyAccessDisinvite) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -45376,10 +46202,12 @@ func (x *fastReflection_MsgDeleteProductDetails) ProtoMethods() *protoiface.Meth i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Id != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + if len(x.User) > 0 { + i -= len(x.User) + copy(dAtA[i:], x.User) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.User))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(x.Creator) > 0 { i -= len(x.Creator) @@ -45399,7 +46227,7 @@ func (x *fastReflection_MsgDeleteProductDetails) ProtoMethods() *protoiface.Meth }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgDeleteProductDetails) + x := input.Message.Interface().(*MsgEarlyAccessDisinvite) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -45431,10 +46259,10 @@ func (x *fastReflection_MsgDeleteProductDetails) ProtoMethods() *protoiface.Meth fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetails: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEarlyAccessDisinvite: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEarlyAccessDisinvite: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -45470,10 +46298,10 @@ func (x *fastReflection_MsgDeleteProductDetails) ProtoMethods() *protoiface.Meth x.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field User", wireType) } - x.Id = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -45483,11 +46311,24 @@ func (x *fastReflection_MsgDeleteProductDetails) ProtoMethods() *protoiface.Meth } b := dAtA[iNdEx] iNdEx++ - x.Id |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -45524,24 +46365,24 @@ func (x *fastReflection_MsgDeleteProductDetails) ProtoMethods() *protoiface.Meth } var ( - md_MsgDeleteProductDetailsResponse protoreflect.MessageDescriptor + md_MsgEarlyAccessDisinviteResponse protoreflect.MessageDescriptor ) func init() { file_cardchain_cardchain_tx_proto_init() - md_MsgDeleteProductDetailsResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgDeleteProductDetailsResponse") + md_MsgEarlyAccessDisinviteResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgEarlyAccessDisinviteResponse") } -var _ protoreflect.Message = (*fastReflection_MsgDeleteProductDetailsResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgEarlyAccessDisinviteResponse)(nil) -type fastReflection_MsgDeleteProductDetailsResponse MsgDeleteProductDetailsResponse +type fastReflection_MsgEarlyAccessDisinviteResponse MsgEarlyAccessDisinviteResponse -func (x *MsgDeleteProductDetailsResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgDeleteProductDetailsResponse)(x) +func (x *MsgEarlyAccessDisinviteResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEarlyAccessDisinviteResponse)(x) } -func (x *MsgDeleteProductDetailsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[99] +func (x *MsgEarlyAccessDisinviteResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45552,43 +46393,43 @@ func (x *MsgDeleteProductDetailsResponse) slowProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -var _fastReflection_MsgDeleteProductDetailsResponse_messageType fastReflection_MsgDeleteProductDetailsResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgDeleteProductDetailsResponse_messageType{} +var _fastReflection_MsgEarlyAccessDisinviteResponse_messageType fastReflection_MsgEarlyAccessDisinviteResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgEarlyAccessDisinviteResponse_messageType{} -type fastReflection_MsgDeleteProductDetailsResponse_messageType struct{} +type fastReflection_MsgEarlyAccessDisinviteResponse_messageType struct{} -func (x fastReflection_MsgDeleteProductDetailsResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgDeleteProductDetailsResponse)(nil) +func (x fastReflection_MsgEarlyAccessDisinviteResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEarlyAccessDisinviteResponse)(nil) } -func (x fastReflection_MsgDeleteProductDetailsResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgDeleteProductDetailsResponse) +func (x fastReflection_MsgEarlyAccessDisinviteResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEarlyAccessDisinviteResponse) } -func (x fastReflection_MsgDeleteProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgDeleteProductDetailsResponse +func (x fastReflection_MsgEarlyAccessDisinviteResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEarlyAccessDisinviteResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgDeleteProductDetailsResponse +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEarlyAccessDisinviteResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgDeleteProductDetailsResponse_messageType +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgEarlyAccessDisinviteResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgDeleteProductDetailsResponse) New() protoreflect.Message { - return new(fastReflection_MsgDeleteProductDetailsResponse) +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) New() protoreflect.Message { + return new(fastReflection_MsgEarlyAccessDisinviteResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Interface() protoreflect.ProtoMessage { - return (*MsgDeleteProductDetailsResponse)(x) +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) Interface() protoreflect.ProtoMessage { + return (*MsgEarlyAccessDisinviteResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -45596,7 +46437,7 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) Interface() protoreflec // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -45610,13 +46451,13 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) Range(f func(protorefle // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessDisinviteResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessDisinviteResponse does not contain field %s", fd.FullName())) } } @@ -45626,13 +46467,13 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) Has(fd protoreflect.Fie // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessDisinviteResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessDisinviteResponse does not contain field %s", fd.FullName())) } } @@ -45642,13 +46483,13 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) Clear(fd protoreflect.F // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessDisinviteResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessDisinviteResponse does not contain field %s", descriptor.FullName())) } } @@ -45662,13 +46503,13 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) Get(descriptor protoref // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessDisinviteResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessDisinviteResponse does not contain field %s", fd.FullName())) } } @@ -45682,36 +46523,36 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) Set(fd protoreflect.Fie // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessDisinviteResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessDisinviteResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgDeleteProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessDisinviteResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessDisinviteResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgDeleteProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgDeleteProductDetailsResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgEarlyAccessDisinviteResponse", d.FullName())) } panic("unreachable") } @@ -45719,7 +46560,7 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) WhichOneof(d protorefle // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgDeleteProductDetailsResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -45730,7 +46571,7 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) GetUnknown() protorefle // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -45742,7 +46583,7 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) SetUnknown(fields proto // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgDeleteProductDetailsResponse) IsValid() bool { +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) IsValid() bool { return x != nil } @@ -45752,9 +46593,9 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgDeleteProductDetailsResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgEarlyAccessDisinviteResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgDeleteProductDetailsResponse) + x := input.Message.Interface().(*MsgEarlyAccessDisinviteResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -45776,7 +46617,7 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) ProtoMethods() *protoif } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgDeleteProductDetailsResponse) + x := input.Message.Interface().(*MsgEarlyAccessDisinviteResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -45806,7 +46647,7 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) ProtoMethods() *protoif }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgDeleteProductDetailsResponse) + x := input.Message.Interface().(*MsgEarlyAccessDisinviteResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -45838,10 +46679,10 @@ func (x *fastReflection_MsgDeleteProductDetailsResponse) ProtoMethods() *protoif fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetailsResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEarlyAccessDisinviteResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEarlyAccessDisinviteResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -47988,7 +48829,7 @@ type MsgCouncilResponseCommit struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` - Reponse string `protobuf:"bytes,3,opt,name=reponse,proto3" json:"reponse,omitempty"` + Response string `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"` Suggestion string `protobuf:"bytes,4,opt,name=suggestion,proto3" json:"suggestion,omitempty"` } @@ -48026,9 +48867,9 @@ func (x *MsgCouncilResponseCommit) GetCouncilId() uint64 { return 0 } -func (x *MsgCouncilResponseCommit) GetReponse() string { +func (x *MsgCouncilResponseCommit) GetResponse() string { if x != nil { - return x.Reponse + return x.Response } return "" } @@ -49780,6 +50621,75 @@ func (*MsgDeleteProductDetailsResponse) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{99} } +type MsgEarlyAccessDisinvite struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` +} + +func (x *MsgEarlyAccessDisinvite) Reset() { + *x = MsgEarlyAccessDisinvite{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgEarlyAccessDisinvite) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgEarlyAccessDisinvite) ProtoMessage() {} + +// Deprecated: Use MsgEarlyAccessDisinvite.ProtoReflect.Descriptor instead. +func (*MsgEarlyAccessDisinvite) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{100} +} + +func (x *MsgEarlyAccessDisinvite) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgEarlyAccessDisinvite) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +type MsgEarlyAccessDisinviteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgEarlyAccessDisinviteResponse) Reset() { + *x = MsgEarlyAccessDisinviteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgEarlyAccessDisinviteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgEarlyAccessDisinviteResponse) ProtoMessage() {} + +// Deprecated: Use MsgEarlyAccessDisinviteResponse.ProtoReflect.Descriptor instead. +func (*MsgEarlyAccessDisinviteResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{101} +} + var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ @@ -50063,582 +50973,597 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x72, 0x69, 0x74, 0x79, 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, - 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x67, 0x67, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, - 0x76, 0x65, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, - 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, - 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x59, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, - 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, - 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, - 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, - 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x0a, 0x76, 0x6f, - 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x53, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, - 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x67, 0x67, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x67, + 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x18, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, - 0x1c, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, - 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x0a, - 0x10, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x62, - 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x6f, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x42, 0x6f, - 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, - 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, - 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x36, 0x0a, 0x1a, 0x4d, - 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, - 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, - 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x73, - 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x42, - 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x14, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, - 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, - 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, - 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, - 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x42, 0x0a, 0x18, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, - 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, - 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0xae, 0x01, - 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x41, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x41, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x12, 0x20, 0x0a, 0x0b, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x65, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x65, 0x63, 0x6b, 0x12, 0x20, - 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x64, 0x65, 0x63, 0x6b, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x64, 0x65, 0x63, 0x6b, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x30, - 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x22, 0x61, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x12, - 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, - 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, - 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, - 0x61, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, - 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, - 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x37, + 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, + 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, + 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x59, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x53, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x5a, 0x65, - 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x9a, 0x02, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x77, 0x6c, - 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x64, 0x72, 0x61, 0x77, 0x6c, - 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, - 0x0e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x3a, 0x0c, + 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x4d, 0x73, + 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x64, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x76, 0x6f, 0x74, + 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x0a, + 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, + 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, + 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x4c, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, + 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, + 0x03, 0x62, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x6f, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, + 0x18, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x4d, 0x73, 0x67, + 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, + 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x36, 0x0a, + 0x1a, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, + 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, + 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, + 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, + 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x14, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, + 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, + 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, + 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x42, 0x0a, 0x18, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, + 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, + 0xae, 0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x41, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x41, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x12, 0x20, + 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x65, 0x63, 0x6b, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x65, 0x63, 0x6b, + 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x64, 0x65, 0x63, 0x6b, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x64, 0x65, + 0x63, 0x6b, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x30, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x64, 0x22, 0x61, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, + 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, + 0x73, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x52, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, + 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, + 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x02, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x72, 0x61, + 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x64, 0x72, 0x61, + 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x6e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, + 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x65, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4d, 0x73, + 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, - 0x16, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, - 0x03, 0x77, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x77, 0x6f, 0x6e, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, - 0x19, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x17, 0x4d, 0x73, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, + 0x10, 0x0a, 0x03, 0x77, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x77, 0x6f, + 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, + 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x17, + 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x31, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x17, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x31, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x64, 0x65, 0x73, 0x63, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xde, 0x29, 0x0a, - 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, + 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, + 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, + 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xda, 0x2a, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, - 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, - 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, - 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, + 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, + 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, - 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, + 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, + 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, - 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, + 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, + 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, + 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, - 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, + 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, - 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, + 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, + 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, - 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, - 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, - 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, - 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, - 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, - 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, - 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, - 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, - 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, - 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, - 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, - 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, + 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, + 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, - 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, - 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, - 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, + 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, + 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, + 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, - 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x1a, - 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, - 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x1a, - 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, - 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, - 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x63, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, + 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, - 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, - 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, - 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x2b, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, - 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x1a, - 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, - 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, - 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, - 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x2d, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, - 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x29, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, + 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, + 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, + 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, - 0x65, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, - 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, + 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, + 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, + 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, + 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x63, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, + 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, + 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, + 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, + 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, + 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, + 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, + 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, 0x2e, 0x63, 0x61, + 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, + 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, + 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, + 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, + 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x1a, 0x2f, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, + 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, + 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, + 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, + 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, - 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x2e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, + 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, - 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, + 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, + 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, + 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, + 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -50653,7 +51578,7 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 101) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 103) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse @@ -50755,27 +51680,29 @@ var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgUpdateProductDetailsResponse)(nil), // 97: cardchain.cardchain.MsgUpdateProductDetailsResponse (*MsgDeleteProductDetails)(nil), // 98: cardchain.cardchain.MsgDeleteProductDetails (*MsgDeleteProductDetailsResponse)(nil), // 99: cardchain.cardchain.MsgDeleteProductDetailsResponse - nil, // 100: cardchain.cardchain.MsgEncounterCreate.ParametersEntry - (*Params)(nil), // 101: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 102: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 103: cardchain.cardchain.SingleVote - (Outcome)(0), // 104: cardchain.cardchain.Outcome - (CardRarity)(0), // 105: cardchain.cardchain.CardRarity - (Response)(0), // 106: cardchain.cardchain.Response + (*MsgEarlyAccessDisinvite)(nil), // 100: cardchain.cardchain.MsgEarlyAccessDisinvite + (*MsgEarlyAccessDisinviteResponse)(nil), // 101: cardchain.cardchain.MsgEarlyAccessDisinviteResponse + nil, // 102: cardchain.cardchain.MsgEncounterCreate.ParametersEntry + (*Params)(nil), // 103: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 104: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 105: cardchain.cardchain.SingleVote + (Outcome)(0), // 106: cardchain.cardchain.Outcome + (CardRarity)(0), // 107: cardchain.cardchain.CardRarity + (Response)(0), // 108: cardchain.cardchain.Response } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 101, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 102, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 103, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 102, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 104, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome - 102, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin - 105, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity - 106, // 7: cardchain.cardchain.MsgCouncilResponseReveal.reponse:type_name -> cardchain.cardchain.Response - 104, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome - 103, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote - 103, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote - 100, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry + 103, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 104, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 105, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 104, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 106, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 104, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin + 107, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity + 108, // 7: cardchain.cardchain.MsgCouncilResponseReveal.reponse:type_name -> cardchain.cardchain.Response + 106, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome + 105, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote + 105, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote + 102, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry 0, // 12: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams 2, // 13: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate 4, // 14: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy @@ -50826,58 +51753,60 @@ var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ 94, // 59: cardchain.cardchain.Msg.CreateProductDetails:input_type -> cardchain.cardchain.MsgCreateProductDetails 96, // 60: cardchain.cardchain.Msg.UpdateProductDetails:input_type -> cardchain.cardchain.MsgUpdateProductDetails 98, // 61: cardchain.cardchain.Msg.DeleteProductDetails:input_type -> cardchain.cardchain.MsgDeleteProductDetails - 1, // 62: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 63: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 64: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 65: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 66: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 67: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 68: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 69: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 70: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 71: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 72: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 73: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 25, // 74: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse - 27, // 75: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse - 29, // 76: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse - 31, // 77: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse - 33, // 78: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse - 35, // 79: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse - 37, // 80: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse - 39, // 81: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse - 41, // 82: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse - 43, // 83: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse - 45, // 84: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse - 47, // 85: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse - 49, // 86: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse - 51, // 87: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse - 53, // 88: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse - 55, // 89: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse - 57, // 90: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse - 59, // 91: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse - 61, // 92: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse - 63, // 93: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse - 65, // 94: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse - 67, // 95: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse - 69, // 96: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse - 71, // 97: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse - 73, // 98: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse - 75, // 99: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse - 77, // 100: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse - 79, // 101: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse - 81, // 102: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse - 83, // 103: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse - 85, // 104: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse - 87, // 105: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse - 89, // 106: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse - 91, // 107: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse - 93, // 108: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse - 95, // 109: cardchain.cardchain.Msg.CreateProductDetails:output_type -> cardchain.cardchain.MsgCreateProductDetailsResponse - 97, // 110: cardchain.cardchain.Msg.UpdateProductDetails:output_type -> cardchain.cardchain.MsgUpdateProductDetailsResponse - 99, // 111: cardchain.cardchain.Msg.DeleteProductDetails:output_type -> cardchain.cardchain.MsgDeleteProductDetailsResponse - 62, // [62:112] is the sub-list for method output_type - 12, // [12:62] is the sub-list for method input_type + 100, // 62: cardchain.cardchain.Msg.EarlyAccessDisinvite:input_type -> cardchain.cardchain.MsgEarlyAccessDisinvite + 1, // 63: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 64: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 65: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 66: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 67: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 68: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 69: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 70: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 71: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 72: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 73: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 74: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 25, // 75: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse + 27, // 76: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse + 29, // 77: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse + 31, // 78: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse + 33, // 79: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse + 35, // 80: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse + 37, // 81: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse + 39, // 82: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse + 41, // 83: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse + 43, // 84: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse + 45, // 85: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse + 47, // 86: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse + 49, // 87: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse + 51, // 88: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse + 53, // 89: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse + 55, // 90: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse + 57, // 91: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse + 59, // 92: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse + 61, // 93: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse + 63, // 94: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse + 65, // 95: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse + 67, // 96: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse + 69, // 97: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse + 71, // 98: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse + 73, // 99: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse + 75, // 100: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse + 77, // 101: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse + 79, // 102: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse + 81, // 103: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse + 83, // 104: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse + 85, // 105: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse + 87, // 106: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse + 89, // 107: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse + 91, // 108: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse + 93, // 109: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse + 95, // 110: cardchain.cardchain.Msg.CreateProductDetails:output_type -> cardchain.cardchain.MsgCreateProductDetailsResponse + 97, // 111: cardchain.cardchain.Msg.UpdateProductDetails:output_type -> cardchain.cardchain.MsgUpdateProductDetailsResponse + 99, // 112: cardchain.cardchain.Msg.DeleteProductDetails:output_type -> cardchain.cardchain.MsgDeleteProductDetailsResponse + 101, // 113: cardchain.cardchain.Msg.EarlyAccessDisinvite:output_type -> cardchain.cardchain.MsgEarlyAccessDisinviteResponse + 63, // [63:114] is the sub-list for method output_type + 12, // [12:63] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name @@ -52095,6 +53024,30 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } + file_cardchain_cardchain_tx_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEarlyAccessDisinvite); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEarlyAccessDisinviteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -52102,7 +53055,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 101, + NumMessages: 103, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index bf094045..51db3503 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,6 +8,7 @@ package cardchain import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -69,6 +70,7 @@ const ( Msg_CreateProductDetails_FullMethodName = "/cardchain.cardchain.Msg/CreateProductDetails" Msg_UpdateProductDetails_FullMethodName = "/cardchain.cardchain.Msg/UpdateProductDetails" Msg_DeleteProductDetails_FullMethodName = "/cardchain.cardchain.Msg/DeleteProductDetails" + Msg_EarlyAccessDisinvite_FullMethodName = "/cardchain.cardchain.Msg/EarlyAccessDisinvite" ) // MsgClient is the client API for Msg service. @@ -127,6 +129,7 @@ type MsgClient interface { CreateProductDetails(ctx context.Context, in *MsgCreateProductDetails, opts ...grpc.CallOption) (*MsgCreateProductDetailsResponse, error) UpdateProductDetails(ctx context.Context, in *MsgUpdateProductDetails, opts ...grpc.CallOption) (*MsgUpdateProductDetailsResponse, error) DeleteProductDetails(ctx context.Context, in *MsgDeleteProductDetails, opts ...grpc.CallOption) (*MsgDeleteProductDetailsResponse, error) + EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) } type msgClient struct { @@ -587,6 +590,15 @@ func (c *msgClient) DeleteProductDetails(ctx context.Context, in *MsgDeleteProdu return out, nil } +func (c *msgClient) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) { + out := new(MsgEarlyAccessDisinviteResponse) + err := c.cc.Invoke(ctx, Msg_EarlyAccessDisinvite_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -643,6 +655,7 @@ type MsgServer interface { CreateProductDetails(context.Context, *MsgCreateProductDetails) (*MsgCreateProductDetailsResponse, error) UpdateProductDetails(context.Context, *MsgUpdateProductDetails) (*MsgUpdateProductDetailsResponse, error) DeleteProductDetails(context.Context, *MsgDeleteProductDetails) (*MsgDeleteProductDetailsResponse, error) + EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) mustEmbedUnimplementedMsgServer() } @@ -800,6 +813,9 @@ func (UnimplementedMsgServer) UpdateProductDetails(context.Context, *MsgUpdatePr func (UnimplementedMsgServer) DeleteProductDetails(context.Context, *MsgDeleteProductDetails) (*MsgDeleteProductDetailsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteProductDetails not implemented") } +func (UnimplementedMsgServer) EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessDisinvite not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -1713,6 +1729,24 @@ func _Msg_DeleteProductDetails_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Msg_EarlyAccessDisinvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEarlyAccessDisinvite) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).EarlyAccessDisinvite(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_EarlyAccessDisinvite_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EarlyAccessDisinvite(ctx, req.(*MsgEarlyAccessDisinvite)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1920,6 +1954,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "DeleteProductDetails", Handler: _Msg_DeleteProductDetails_Handler, }, + { + MethodName: "EarlyAccessDisinvite", + Handler: _Msg_EarlyAccessDisinvite_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/api/cardchain/cardchain/user.pulsar.go b/api/cardchain/cardchain/user.pulsar.go index c0c7e0ad..a6f11922 100644 --- a/api/cardchain/cardchain/user.pulsar.go +++ b/api/cardchain/cardchain/user.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_User_2_list)(nil) diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go index 2a02aa7e..bf614c4f 100644 --- a/api/cardchain/cardchain/voting.pulsar.go +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_VotingResults_6_list)(nil) diff --git a/api/cardchain/cardchain/zealy.pulsar.go b/api/cardchain/cardchain/zealy.pulsar.go new file mode 100644 index 00000000..7879a400 --- /dev/null +++ b/api/cardchain/cardchain/zealy.pulsar.go @@ -0,0 +1,643 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +var ( + md_Zealy protoreflect.MessageDescriptor + fd_Zealy_address protoreflect.FieldDescriptor + fd_Zealy_zealyId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_zealy_proto_init() + md_Zealy = File_cardchain_cardchain_zealy_proto.Messages().ByName("Zealy") + fd_Zealy_address = md_Zealy.Fields().ByName("address") + fd_Zealy_zealyId = md_Zealy.Fields().ByName("zealyId") +} + +var _ protoreflect.Message = (*fastReflection_Zealy)(nil) + +type fastReflection_Zealy Zealy + +func (x *Zealy) ProtoReflect() protoreflect.Message { + return (*fastReflection_Zealy)(x) +} + +func (x *Zealy) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_zealy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Zealy_messageType fastReflection_Zealy_messageType +var _ protoreflect.MessageType = fastReflection_Zealy_messageType{} + +type fastReflection_Zealy_messageType struct{} + +func (x fastReflection_Zealy_messageType) Zero() protoreflect.Message { + return (*fastReflection_Zealy)(nil) +} +func (x fastReflection_Zealy_messageType) New() protoreflect.Message { + return new(fastReflection_Zealy) +} +func (x fastReflection_Zealy_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Zealy +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Zealy) Descriptor() protoreflect.MessageDescriptor { + return md_Zealy +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Zealy) Type() protoreflect.MessageType { + return _fastReflection_Zealy_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Zealy) New() protoreflect.Message { + return new(fastReflection_Zealy) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Zealy) Interface() protoreflect.ProtoMessage { + return (*Zealy)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Zealy) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Address != "" { + value := protoreflect.ValueOfString(x.Address) + if !f(fd_Zealy_address, value) { + return + } + } + if x.ZealyId != "" { + value := protoreflect.ValueOfString(x.ZealyId) + if !f(fd_Zealy_zealyId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Zealy) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.Zealy.address": + return x.Address != "" + case "cardchain.cardchain.Zealy.zealyId": + return x.ZealyId != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Zealy")) + } + panic(fmt.Errorf("message cardchain.cardchain.Zealy does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Zealy) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.Zealy.address": + x.Address = "" + case "cardchain.cardchain.Zealy.zealyId": + x.ZealyId = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Zealy")) + } + panic(fmt.Errorf("message cardchain.cardchain.Zealy does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Zealy) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.Zealy.address": + value := x.Address + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.Zealy.zealyId": + value := x.ZealyId + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Zealy")) + } + panic(fmt.Errorf("message cardchain.cardchain.Zealy does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Zealy) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.Zealy.address": + x.Address = value.Interface().(string) + case "cardchain.cardchain.Zealy.zealyId": + x.ZealyId = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Zealy")) + } + panic(fmt.Errorf("message cardchain.cardchain.Zealy does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Zealy) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Zealy.address": + panic(fmt.Errorf("field address of message cardchain.cardchain.Zealy is not mutable")) + case "cardchain.cardchain.Zealy.zealyId": + panic(fmt.Errorf("field zealyId of message cardchain.cardchain.Zealy is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Zealy")) + } + panic(fmt.Errorf("message cardchain.cardchain.Zealy does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Zealy) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.Zealy.address": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.Zealy.zealyId": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.Zealy")) + } + panic(fmt.Errorf("message cardchain.cardchain.Zealy does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Zealy) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.Zealy", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Zealy) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Zealy) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Zealy) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Zealy) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Zealy) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Address) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ZealyId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Zealy) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.ZealyId) > 0 { + i -= len(x.ZealyId) + copy(dAtA[i:], x.ZealyId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ZealyId))) + i-- + dAtA[i] = 0x12 + } + if len(x.Address) > 0 { + i -= len(x.Address) + copy(dAtA[i:], x.Address) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Zealy) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Zealy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Zealy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ZealyId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ZealyId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/zealy.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Zealy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + ZealyId string `protobuf:"bytes,2,opt,name=zealyId,proto3" json:"zealyId,omitempty"` +} + +func (x *Zealy) Reset() { + *x = Zealy{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_zealy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Zealy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Zealy) ProtoMessage() {} + +// Deprecated: Use Zealy.ProtoReflect.Descriptor instead. +func (*Zealy) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_zealy_proto_rawDescGZIP(), []int{0} +} + +func (x *Zealy) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *Zealy) GetZealyId() string { + if x != nil { + return x.ZealyId + } + return "" +} + +var File_cardchain_cardchain_zealy_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_zealy_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x22, 0x3b, 0x0a, 0x05, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, + 0x6c, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, + 0x79, 0x49, 0x64, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, + 0x0a, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, + 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, + 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_zealy_proto_rawDescOnce sync.Once + file_cardchain_cardchain_zealy_proto_rawDescData = file_cardchain_cardchain_zealy_proto_rawDesc +) + +func file_cardchain_cardchain_zealy_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_zealy_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_zealy_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_zealy_proto_rawDescData) + }) + return file_cardchain_cardchain_zealy_proto_rawDescData +} + +var file_cardchain_cardchain_zealy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_zealy_proto_goTypes = []interface{}{ + (*Zealy)(nil), // 0: cardchain.cardchain.Zealy +} +var file_cardchain_cardchain_zealy_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_zealy_proto_init() } +func file_cardchain_cardchain_zealy_proto_init() { + if File_cardchain_cardchain_zealy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_zealy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Zealy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_zealy_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_zealy_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_zealy_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_zealy_proto_msgTypes, + }.Build() + File_cardchain_cardchain_zealy_proto = out.File + file_cardchain_cardchain_zealy_proto_rawDesc = nil + file_cardchain_cardchain_zealy_proto_goTypes = nil + file_cardchain_cardchain_zealy_proto_depIdxs = nil +} diff --git a/api/cardchain/featureflag/flag.pulsar.go b/api/cardchain/featureflag/flag.pulsar.go index 10b5e452..932ce355 100644 --- a/api/cardchain/featureflag/flag.pulsar.go +++ b/api/cardchain/featureflag/flag.pulsar.go @@ -3,13 +3,14 @@ package featureflag import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/genesis.pulsar.go b/api/cardchain/featureflag/genesis.pulsar.go index 2c435bb2..ddfe3040 100644 --- a/api/cardchain/featureflag/genesis.pulsar.go +++ b/api/cardchain/featureflag/genesis.pulsar.go @@ -2,17 +2,18 @@ package featureflag import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var _ protoreflect.Map = (*_GenesisState_2_map)(nil) diff --git a/api/cardchain/featureflag/module/module.pulsar.go b/api/cardchain/featureflag/module/module.pulsar.go index 947efc3f..5650e208 100644 --- a/api/cardchain/featureflag/module/module.pulsar.go +++ b/api/cardchain/featureflag/module/module.pulsar.go @@ -2,15 +2,16 @@ package module import ( - _ "cosmossdk.io/api/cosmos/app/v1alpha1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/cosmos/app/v1alpha1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/params.pulsar.go b/api/cardchain/featureflag/params.pulsar.go index fb51fec2..6b347b45 100644 --- a/api/cardchain/featureflag/params.pulsar.go +++ b/api/cardchain/featureflag/params.pulsar.go @@ -2,16 +2,17 @@ package featureflag import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query.pulsar.go b/api/cardchain/featureflag/query.pulsar.go index 3419d3a4..1e62212d 100644 --- a/api/cardchain/featureflag/query.pulsar.go +++ b/api/cardchain/featureflag/query.pulsar.go @@ -2,18 +2,19 @@ package featureflag import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query_grpc.pb.go b/api/cardchain/featureflag/query_grpc.pb.go index f7957337..0e8130e8 100644 --- a/api/cardchain/featureflag/query_grpc.pb.go +++ b/api/cardchain/featureflag/query_grpc.pb.go @@ -8,6 +8,7 @@ package featureflag import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/featureflag/tx.pulsar.go b/api/cardchain/featureflag/tx.pulsar.go index 0cef5f49..dd3db629 100644 --- a/api/cardchain/featureflag/tx.pulsar.go +++ b/api/cardchain/featureflag/tx.pulsar.go @@ -2,18 +2,19 @@ package featureflag import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/msg/v1" - fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/tx_grpc.pb.go b/api/cardchain/featureflag/tx_grpc.pb.go index 95442cac..9d8cbe66 100644 --- a/api/cardchain/featureflag/tx_grpc.pb.go +++ b/api/cardchain/featureflag/tx_grpc.pb.go @@ -8,6 +8,7 @@ package featureflag import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index c4f677d2..e4d83bb7 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin19","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin20","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerAdeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBdeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin20","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin21","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerAdeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBdeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh index dd1b9ca6..4a6b4327 100755 --- a/gen.sh +++ b/gen.sh @@ -40,11 +40,12 @@ #ignite scaffold message SetStoryWriterSet setId:uint storyWriter #ignite scaffold message SetArtistSet setId:uint artist #ignite scaffold message CardVoteMulti votes:array.int --response airdropClaimed:bool -ignite scaffold message MatchOpen playerA:string playerB:string playerADeck:uints playerBDeck:uints --response matchId:uint -ignite scaffold message SetNameSet setId:uint name -ignite scaffold message ProfileAliasSet alias -ignite scaffold message EarlyAccessInvite user -ignite scaffold message ZealyConnect zealyId -ignite scaffold message EncounterCreate name drawlist:uints parameters image -ignite scaffold message EncounterDo encounterId:uint user -ignite scaffold message EncounterClose encounterId:uint user won:bool +#ignite scaffold message MatchOpen playerA:string playerB:string playerADeck:uints playerBDeck:uints --response matchId:uint +#ignite scaffold message SetNameSet setId:uint name +#ignite scaffold message ProfileAliasSet alias +#ignite scaffold message EarlyAccessInvite user +ignite scaffold message EarlyAccessDisinvite user +#ignite scaffold message ZealyConnect zealyId +#ignite scaffold message EncounterCreate name drawlist:uints parameters image +#ignite scaffold message EncounterDo encounterId:uint user +#ignite scaffold message EncounterClose encounterId:uint user won:bool diff --git a/go.mod b/go.mod index a5dede3c..98c347a0 100644 --- a/go.mod +++ b/go.mod @@ -44,6 +44,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.10.0 + golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 golang.org/x/tools v0.22.0 google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697 google.golang.org/grpc v1.68.0 @@ -246,7 +247,6 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/crypto v0.29.0 // indirect - golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect golang.org/x/mod v0.18.0 // indirect golang.org/x/net v0.31.0 // indirect golang.org/x/oauth2 v0.24.0 // indirect diff --git a/proto/buf.lock b/proto/buf.lock index 10e5484d..b72c8cc6 100644 --- a/proto/buf.lock +++ b/proto/buf.lock @@ -1,6 +1,11 @@ # Generated by buf. DO NOT EDIT. version: v1 deps: + - remote: buf.build + owner: cometbft + repository: cometbft + commit: c0d3497e35d649538679874acdd86660 + digest: shake256:05d2fb9e6b6bf82385ac26b250afbba281a2ca79f51729291373d24ca676d743183bf70a921daae6feafd5f9917120e2548a7c477d9743f668bca27cc1e12fdf - remote: buf.build owner: cosmos repository: cosmos-proto @@ -19,8 +24,8 @@ deps: - remote: buf.build owner: cosmos repository: ibc - commit: a7af51c19a5c4027881b0f6ec5441718 - digest: shake256:33e24113f0f697aad2fd3f0a5ee16a2607f6ec54d715835e3864b353bd72800a3d52bb040786763dc465942c4d796e7c141dba729e53091268ecbe0614004072 + commit: f3cb7e9a10ab4cd5a402b9913f65e38d + digest: shake256:aaa8a2a46a3ab5cb4c54f9f14920bc472e5e5f93453fa250de49f15c76dce7f82faa5615afd341967797ead8052306db6b1e6327cb1d8d94345bf07a22f8aebd - remote: buf.build owner: cosmos repository: ics23 @@ -29,13 +34,13 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: acd896313c55464b993332136ded1b6e - digest: shake256:66626d5e4d9c8ecf25cd72bdbfbbf62b9a68e9e9c33dab6b9b39a53a67063eeba6b8493247dd6d6240b1ac1c32eb2dc311484e67dd7d271884a960c2e5ce8c9a + commit: e93e34f48be043dab55be31b4b47f458 + digest: shake256:93dbe51c27606999eef918360df509485a4d272e79aaed6d0016940379a9b06d316fc5228b7b50cca94bb310f34c5fc5955ce7474f655f0d0a224c4121dda3c1 - remote: buf.build owner: protocolbuffers repository: wellknowntypes - commit: 384f8deef6ae4110b57d996aad0032c4 - digest: shake256:2ed272f48ab530c2581a71237043ce20e93724aa2e84f0ac555e82d7dca8061ee530d0e5f91835f1b7374b8db179ab2a75e8452af71ceb2285f411de8816bec3 + commit: d4f14e5e0a9c40889c90d373c74e95eb + digest: shake256:c9824714afd6cc432c2e1fafa20df47c87a8a0aca9e27192cd5732619453997af1721c2eac5c0fbbe7b29a741af5b8d7ba4ee89c85903e782d9c725d7b9436b5 - remote: buf.build owner: tendermint repository: tendermint diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 2a0cd8d2..a2b9ecc2 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -72,6 +72,7 @@ service Msg { rpc CreateProductDetails (MsgCreateProductDetails ) returns (MsgCreateProductDetailsResponse ); rpc UpdateProductDetails (MsgUpdateProductDetails ) returns (MsgUpdateProductDetailsResponse ); rpc DeleteProductDetails (MsgDeleteProductDetails ) returns (MsgDeleteProductDetailsResponse ); + rpc EarlyAccessDisinvite (MsgEarlyAccessDisinvite ) returns (MsgEarlyAccessDisinviteResponse ); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -335,7 +336,7 @@ message MsgCouncilResponseCommit { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; uint64 councilId = 2; - string reponse = 3; + string response = 3; string suggestion = 4; } @@ -545,3 +546,11 @@ message MsgDeleteProductDetails { message MsgDeleteProductDetailsResponse {} +message MsgEarlyAccessDisinvite { + option (cosmos.msg.v1.signer) = "creator"; + string creator = 1; + string user = 2; +} + +message MsgEarlyAccessDisinviteResponse {} + diff --git a/proto/cardchain/cardchain/zealy.proto b/proto/cardchain/cardchain/zealy.proto new file mode 100644 index 00000000..e0f901ec --- /dev/null +++ b/proto/cardchain/cardchain/zealy.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package cardchain.cardchain; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message Zealy { + string address = 1; + string zealyId = 2; +} diff --git a/types/generic_type_keeper/string_gtk.go b/types/generic_type_keeper/string_gtk.go new file mode 100644 index 00000000..e27c65cf --- /dev/null +++ b/types/generic_type_keeper/string_gtk.go @@ -0,0 +1,26 @@ +package generic_type_keeper + +import ( + "cosmossdk.io/core/store" + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/gogoproto/proto" +) + +type GenericStringTypeKeeper[T proto.Message] struct { + GenericTypeKeeper[T, string] +} + +func NewStringGTK[T proto.Message](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T) GenericStringTypeKeeper[T] { + gtk := GenericStringTypeKeeper[T]{ + GenericTypeKeeper[T, string]{ + key: key, + cdc: cdc, + getEmpty: getEmpty, + storeService: storeService, + keyConverter: func(bz []byte, key string) []byte { + return append(bz, key...) + }, + }, + } + return gtk +} diff --git a/x/cardchain/keeper/arrays.go b/x/cardchain/keeper/arrays.go new file mode 100644 index 00000000..26bfab4e --- /dev/null +++ b/x/cardchain/keeper/arrays.go @@ -0,0 +1,15 @@ +package keeper + +import ( + "fmt" + "slices" +) + +func PopItemFromArr[E comparable](item E, arr []E) ([]E, error) { + idx := slices.Index(arr, item) + if idx == -1 { + return arr, fmt.Errorf("item not in array") + } + arr = slices.Delete(arr, idx, idx+1) + return arr, nil +} diff --git a/x/cardchain/keeper/council.go b/x/cardchain/keeper/council.go new file mode 100644 index 00000000..fce3091e --- /dev/null +++ b/x/cardchain/keeper/council.go @@ -0,0 +1,142 @@ +package keeper + +import ( + "crypto/sha256" + "encoding/hex" + "fmt" + "sort" + + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// GetResponseHash generates a hash form a response and a secret +func GetResponseHash(response types.Response, secret string) string { + clearResponse := response.String() + secret + hashResponse := sha256.Sum256([]byte(clearResponse)) + hashStringResponse := hex.EncodeToString(hashResponse[:]) + return hashStringResponse +} + +// GetCouncilPartiedVoters Sorts the voters of a council in approvers, deniers and suggestors +func GetCouncilPartiedVoters(responses []*types.WrapClearResponse) (approvers []string, deniers []string, suggestors []string) { + for _, response := range responses { + switch response.Response { + case types.Response_Yes: + approvers = append(approvers, response.User) + case types.Response_No: + deniers = append(deniers, response.User) + case types.Response_Suggestion: + suggestors = append(suggestors, response.User) + } + } + return +} + +// TryEvaluate Tries to evaluate the council decision +func (k Keeper) TryEvaluate(ctx sdk.Context, council *types.Council) error { + collateralDeposit := k.GetParams(ctx).CollateralDeposit + bounty := MulCoin(collateralDeposit, 2) + votePool := MulCoin(collateralDeposit, 5) + + if len(council.ClearResponses) == 5 { + approvers, deniers, suggestors := GetCouncilPartiedVoters(council.ClearResponses) + nrYes, nrNo, nrSuggestion := len(approvers), len(deniers), len(suggestors) + + if nrNo == nrYes || nrSuggestion > nrNo || nrSuggestion > nrYes { + council.Status = types.CouncelingStatus_suggestionsMade + return nil + } else if nrNo > nrYes { + for _, user := range deniers { + err := k.TransferFromCoin(ctx, user, &council.Treasury, bounty) + if err != nil { + return err + } + } + k.AddPoolCredits(ctx, PublicPoolKey, council.Treasury) + council.Treasury = council.Treasury.Sub(council.Treasury) + council.Status = types.CouncelingStatus_councilClosed + } else if nrNo < nrYes { + k.SetCardToTrial(ctx, council.CardId, votePool) + council.TrialStart = uint64(ctx.BlockHeight()) + council.Treasury = council.Treasury.Sub(votePool) + } + for _, addr := range council.Voters { + user, err := k.GetUserFromString(ctx, addr) + if err != nil { + return err + } + user.CouncilStatus = types.CouncilStatus_available + user.Cards = append(user.Cards, council.CardId) + k.SetUserFromUser(ctx, user) + } + } + return nil +} + +// CheckTrial Checks for councils that shouldn't be in trial anymore +func (k Keeper) CheckTrial(ctx sdk.Context) error { + collateralDeposit := k.GetParams(ctx).CollateralDeposit + iter := k.Councils.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + idx, council := iter.Value() + if council.Status == types.CouncelingStatus_revealed { + if council.TrialStart+k.GetParams(ctx).TrialPeriod <= uint64(ctx.BlockHeight()) { + card := k.Cards.Get(ctx, council.CardId) + + var ( + group []string + amt int64 + ) + + approvers, deniers, _ := GetCouncilPartiedVoters(council.ClearResponses) + + votes := []uint64{card.FairEnoughVotes, card.OverpoweredVotes, card.UnderpoweredVotes, card.InappropriateVotes} + sort.Slice(votes, func(i, j int) bool { + return votes[i] < votes[j] + }) + if votes[len(votes)-1] == 0 { + council.TrialStart = uint64(ctx.BlockHeight()) + 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 + amt = 3 + } + + k.Logger().Debug(fmt.Sprintf(":: Card Set to %s", card.Status.String())) + + bounty := MulCoin(collateralDeposit, amt) + for _, user := range group { + err := k.TransferFromCoin(ctx, user, &council.Treasury, bounty) + if err != nil { + return nil + } + } + k.AddPoolCredits(ctx, PublicPoolKey, council.Treasury) + council.Treasury = council.Treasury.Sub(council.Treasury) + + incentive := QuoCoin(card.VotePool, int64(len(card.Voters))) + for _, user := range card.Voters { + err := k.MintCoinsToString(ctx, user, sdk.Coins{incentive}) + if err != nil { + return nil + } + } + card.VotePool = card.VotePool.Sub(card.VotePool) + council.Status = types.CouncelingStatus_councilClosed + + k.Councils.Set(ctx, idx, council) + k.Cards.Set(ctx, council.CardId, card) + } + } + } + return nil +} diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index de69b759..65b054f1 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -30,6 +30,7 @@ type ( Images gtk.GenericUint64TypeKeeper[*types.Image] Encounters gtk.GenericUint64TypeKeeper[*types.Encounter] Users gtk.GenericAddressTypeKeeper[*types.User] + Zealy gtk.GenericStringTypeKeeper[*types.Zealy] // the address capable of executing a MsgUpdateParams message. Typically, this // should be the x/gov module account. @@ -70,6 +71,7 @@ func NewKeeper( Servers: gtk.NewUintGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), Encounters: gtk.NewUintGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), Users: gtk.NewAddressGTK[*types.User]("Users", storeService, cdc, gtk.GetEmpty[types.User]), + Zealy: gtk.NewStringGTK[*types.Zealy]("Zealy", storeService, cdc, gtk.GetEmpty[types.Zealy]), FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), BankKeeper: bankKeeper, diff --git a/x/cardchain/keeper/msg_server_booster_pack_buy.go b/x/cardchain/keeper/msg_server_booster_pack_buy.go index baa74fc6..4d8f9383 100644 --- a/x/cardchain/keeper/msg_server_booster_pack_buy.go +++ b/x/cardchain/keeper/msg_server_booster_pack_buy.go @@ -2,16 +2,62 @@ package keeper import ( "context" + "fmt" + "strconv" + errorsmod "cosmossdk.io/errors" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) BoosterPackBuy(goCtx context.Context, msg *types.MsgBoosterPackBuy) (*types.MsgBoosterPackBuyResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + params := k.GetParams(ctx) - return &types.MsgBoosterPackBuyResponse{}, nil + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + + set := k.Sets.Get(ctx, msg.SetId) + + if set.Status != types.CStatus_active { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invalid set status: %s", set.Status) + } + + boosterPack := types.NewBoosterPack( + ctx, + msg.SetId, + []uint64{params.CommonsPerPack, params.UnCommonsPerPack, params.RaresPerPack}, + []uint64{params.RareDropRatio, params.ExceptionalDropRatio, params.UniqueDropRatio}, + ) + + // payment + for _, contrib := range set.ContributorsDistribution { + contribAddr, err := sdk.AccAddressFromBech32(contrib.Addr) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "Unable to convert to AccAddress") + } + + err = k.BankKeeper.SendCoins(ctx, creator.Addr, contribAddr, sdk.Coins{*contrib.Payment}) + if err != nil { + return nil, errorsmod.Wrap(errors.ErrInsufficientFunds, err.Error()) + } + } + + claimedAirdrop := k.ClaimAirDrop(ctx, &creator, types.AirDrop_buy) + creator.BoosterPacks = append(creator.BoosterPacks, &boosterPack) + + k.SetUserFromUser(ctx, creator) + + inflationRate, err := strconv.ParseFloat(params.InflationRate, 8) + pPool := k.Pools.Get(ctx, PublicPoolKey) + newPool := MulCoinFloat(*pPool, inflationRate) + k.Pools.Set(ctx, PublicPoolKey, &newPool) + k.Logger().Info(fmt.Sprintf(":: PublicPool: %s", newPool)) + + return &types.MsgBoosterPackBuyResponse{AirdropClaimed: claimedAirdrop}, nil } diff --git a/x/cardchain/keeper/msg_server_card_artist_change.go b/x/cardchain/keeper/msg_server_card_artist_change.go index cf1d54d0..7d47cad2 100644 --- a/x/cardchain/keeper/msg_server_card_artist_change.go +++ b/x/cardchain/keeper/msg_server_card_artist_change.go @@ -3,15 +3,33 @@ package keeper import ( "context" + errorsmod "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) CardArtistChange(goCtx context.Context, msg *types.MsgCardArtistChange) (*types.MsgCardArtistChangeResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + card := k.Cards.Get(ctx, msg.CardId) + + if card.Status != types.Status_prototype { + return nil, errorsmod.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype to be changeable") + } + + if card.Owner != msg.Creator { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Owner") + } + + newArtist, err := sdk.AccAddressFromBech32(msg.Artist) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "Invalid Artist address") + } + + card.Artist = newArtist.String() + + k.Cards.Set(ctx, msg.CardId, card) return &types.MsgCardArtistChangeResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_scheme_buy.go b/x/cardchain/keeper/msg_server_card_scheme_buy.go index 4874750e..d32745dd 100644 --- a/x/cardchain/keeper/msg_server_card_scheme_buy.go +++ b/x/cardchain/keeper/msg_server_card_scheme_buy.go @@ -2,16 +2,50 @@ package keeper import ( "context" + "math" + errorsmod "cosmossdk.io/errors" + sdkmath "cosmossdk.io/math" "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) CardSchemeBuy(goCtx context.Context, msg *types.MsgCardSchemeBuy) (*types.MsgCardSchemeBuyResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + currId := k.Cards.GetNum(ctx) + price := k.GetCardAuctionPrice(ctx) + bid := msg.Bid - return &types.MsgCardSchemeBuyResponse{}, nil + buyer, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "Unable to convert to AccAddress") + } + + if bid.IsLT(price) { // Checks if the bid is less than price + return nil, errorsmod.Wrap(sdkerrors.ErrInsufficientFunds, "Bid not high enough") + } + + err = k.BurnCoinsFromAddr(ctx, buyer.Addr, sdk.Coins{price}) // If so, deduct the Bid amount from the sender + if err != nil { + return nil, errorsmod.Wrapf(sdkerrors.ErrInsufficientFunds, "Buyer does not have enough coins %s", err) + } + + k.AddPoolCredits(ctx, PublicPoolKey, price) + if price.Amount.Mul(sdkmath.NewInt(2)).LT(sdkmath.NewInt(int64(math.Pow(10, 12)))) { + k.SetCardAuctionPrice(ctx, price.Add(price)) + } + + newCard := types.NewCard(buyer.Addr) + newCard.ImageId = k.Images.GetNum(ctx) + image := types.Image{} + + buyer.OwnedCardSchemes = append(buyer.OwnedCardSchemes, currId) + + k.SetUserFromUser(ctx, buyer) + k.Cards.Set(ctx, currId, &newCard) + k.Images.Set(ctx, newCard.ImageId, &image) + + return &types.MsgCardSchemeBuyResponse{CardId: currId}, nil } diff --git a/x/cardchain/keeper/msg_server_council_create.go b/x/cardchain/keeper/msg_server_council_create.go index 9881a5b5..b5d2d6dc 100644 --- a/x/cardchain/keeper/msg_server_council_create.go +++ b/x/cardchain/keeper/msg_server_council_create.go @@ -3,15 +3,81 @@ package keeper import ( "context" + errorsmod "cosmossdk.io/errors" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" + "golang.org/x/exp/rand" ) func (k msgServer) CouncilCreate(goCtx context.Context, msg *types.MsgCouncilCreate) (*types.MsgCouncilCreateResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + rand.Seed(uint64(ctx.BlockTime().Unix())) + + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + + card := k.Cards.Get(ctx, msg.CardId) + //if card.Status != types.Status_prototype { + // return nil, sdkerrors.Wrapf(types.ErrInvalidCardStatus, "%s", card.Status.String()) + //} else + if card.Owner != msg.Creator { + return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Incorrect Creator") + } + + var possibleVoters []User + var fiveVoters []User + var voters []string + var status types.CouncelingStatus + collateralDeposit := k.GetParams(ctx).CollateralDeposit + treasury := MulCoin(collateralDeposit, 10) + councilId := k.Councils.GetNum(ctx) + users, addresses := k.GetAllUsers(ctx) + + for idx, user := range users { + if user.CouncilStatus == types.CouncilStatus_available { + possibleVoters = append(possibleVoters, User{user, addresses[idx]}) + } + } + + rand.Shuffle(len(possibleVoters), func(i, j int) { + possibleVoters[i], possibleVoters[j] = possibleVoters[j], possibleVoters[i] + }) + + if len(possibleVoters) < 5 { + status = types.CouncelingStatus_councilOpen + fiveVoters = possibleVoters + } else { + status = types.CouncelingStatus_councilCreated + fiveVoters = possibleVoters[:5] + } + + err = k.BurnCoinsFromAddr(ctx, creator.Addr, sdk.Coins{treasury}) + if err != nil { + return nil, errorsmod.Wrap(errors.ErrInsufficientFunds, "Creator does not have enough coins") + } + + for _, user := range fiveVoters { + if status == types.CouncelingStatus_councilOpen { + user.CouncilStatus = types.CouncilStatus_openCouncil + } else { + user.CouncilStatus = types.CouncilStatus_startedCouncil + } + k.SetUserFromUser(ctx, user) + voters = append(voters, user.Addr.String()) + } + + council := types.Council{ + CardId: msg.CardId, + Voters: voters, + Treasury: treasury, + Status: status, + } + + k.Councils.Set(ctx, councilId, &council) return &types.MsgCouncilCreateResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_council_response_commit.go b/x/cardchain/keeper/msg_server_council_response_commit.go index 62e2be36..c40c4155 100644 --- a/x/cardchain/keeper/msg_server_council_response_commit.go +++ b/x/cardchain/keeper/msg_server_council_response_commit.go @@ -2,16 +2,73 @@ package keeper import ( "context" + "slices" + errorsmod "cosmossdk.io/errors" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) CouncilResponseCommit(goCtx context.Context, msg *types.MsgCouncilResponseCommit) (*types.MsgCouncilResponseCommitResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + collateralDeposit := k.GetParams(ctx).CollateralDeposit + + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + + council := k.Councils.Get(ctx, msg.CouncilId) + if !slices.Contains(council.Voters, msg.Creator) { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid Voter") + } + + if council.Status != types.CouncelingStatus_councilCreated { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invalid status, have '%s', want '%s'", council.Status.String(), types.CouncelingStatus_councilCreated.String()) + } + + var allreadyVoted []string + for _, response := range council.HashResponses { + allreadyVoted = append(allreadyVoted, response.User) + } + + if slices.Contains(allreadyVoted, msg.Creator) { + return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Allready voted") + } + + resp := types.WrapHashResponse{ + 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, + } + council.ClearResponses = append(council.ClearResponses, &clearResp) + } + + if len(council.HashResponses) == 5 { + council.Status = types.CouncelingStatus_commited + } + + err = k.BurnCoinsFromAddr(ctx, creator.Addr, sdk.Coins{collateralDeposit}) + if err != nil { + return nil, errorsmod.Wrap(errors.ErrInsufficientFunds, "Voter does not have enough coins") + } + council.Treasury = council.Treasury.Add(collateralDeposit) + + err = k.TryEvaluate(ctx, council) + if err != nil { + return nil, err + } + + k.Councils.Set(ctx, msg.CouncilId, council) return &types.MsgCouncilResponseCommitResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_early_access_disinvite.go b/x/cardchain/keeper/msg_server_early_access_disinvite.go new file mode 100644 index 00000000..efd97f41 --- /dev/null +++ b/x/cardchain/keeper/msg_server_early_access_disinvite.go @@ -0,0 +1,39 @@ +package keeper + +import ( + "context" + + errorsmod "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) EarlyAccessDisinvite(goCtx context.Context, msg *types.MsgEarlyAccessDisinvite) (*types.MsgEarlyAccessDisinviteResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + inviter, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, err + } + + if inviter.EarlyAccess == nil || !inviter.EarlyAccess.Active || inviter.EarlyAccess.InvitedByUser != "" { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "inviter has to be enroled in early access to invite users") + } + + invited, err := k.GetUserFromString(ctx, msg.User) + if err != nil { + return nil, err + } + + if invited.EarlyAccess == nil || !invited.EarlyAccess.Active || invited.EarlyAccess.InvitedByUser != msg.Creator || inviter.EarlyAccess.InvitedUser != msg.User { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invited user has not been invited to early access by the creator") + } + + inviter.EarlyAccess.InvitedUser = "" + invited.RemoveEarlyAccess() + + k.SetUserFromUser(ctx, inviter) + k.SetUserFromUser(ctx, invited) + return &types.MsgEarlyAccessDisinviteResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_match_confirm.go b/x/cardchain/keeper/msg_server_match_confirm.go index 877fa855..0cf35a39 100644 --- a/x/cardchain/keeper/msg_server_match_confirm.go +++ b/x/cardchain/keeper/msg_server_match_confirm.go @@ -3,15 +3,48 @@ package keeper import ( "context" + errorsmod "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) MatchConfirm(goCtx context.Context, msg *types.MsgMatchConfirm) (*types.MsgMatchConfirmResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + var ( + player *types.MatchPlayer + ) + + match := k.Matches.Get(ctx, msg.MatchId) + + switch msg.Creator { + case match.PlayerA.Addr: + player = match.PlayerA + case match.PlayerB.Addr: + player = match.PlayerB + default: + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Didn't participate in match") + } + + if player.Confirmed { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Already reported") + } + if match.Outcome == types.Outcome_Aborted { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Can't report, because match was aborted") + } + + player.Outcome = msg.Outcome + player.VotedCards = msg.VotedCards + player.Confirmed = true + match.Timestamp = uint64(ctx.BlockHeight()) + + err := k.TryHandleMatchOutcome(ctx, match) + if err != nil { + return nil, err + } + + k.Matches.Set(ctx, msg.MatchId, match) return &types.MsgMatchConfirmResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_profile_alias_set.go b/x/cardchain/keeper/msg_server_profile_alias_set.go index e8ca2576..7171a048 100644 --- a/x/cardchain/keeper/msg_server_profile_alias_set.go +++ b/x/cardchain/keeper/msg_server_profile_alias_set.go @@ -10,8 +10,14 @@ import ( func (k msgServer) ProfileAliasSet(goCtx context.Context, msg *types.MsgProfileAliasSet) (*types.MsgProfileAliasSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + user, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, err + } + + user.Alias = msg.Alias + + k.SetUserFromUser(ctx, user) return &types.MsgProfileAliasSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_sell_offer_buy.go b/x/cardchain/keeper/msg_server_sell_offer_buy.go index 0da02399..8f6d1895 100644 --- a/x/cardchain/keeper/msg_server_sell_offer_buy.go +++ b/x/cardchain/keeper/msg_server_sell_offer_buy.go @@ -3,15 +3,42 @@ package keeper import ( "context" + errorsmod "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) SellOfferBuy(goCtx context.Context, msg *types.MsgSellOfferBuy) (*types.MsgSellOfferBuyResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + buyer, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + + sellOffer := k.SellOffers.Get(ctx, msg.SellOfferId) + + sellerAddr, err := sdk.AccAddressFromBech32(sellOffer.Seller) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "Unable to convert to AccAddress") + } + + if sellOffer.Status != types.SellOfferStatus_open || sellOffer.Seller == "" { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "Selloffer Status: %v", sellOffer.Status) + } + + err = k.BankKeeper.SendCoins(ctx, buyer.Addr, sellerAddr, sdk.Coins{sellOffer.Price}) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrInsufficientFunds, err.Error()) + } + + buyer.Cards = append(buyer.Cards, sellOffer.Card) + sellOffer.Buyer = msg.Creator + sellOffer.Status = types.SellOfferStatus_sold + + k.SellOffers.Set(ctx, msg.SellOfferId, sellOffer) + k.SetUserFromUser(ctx, buyer) return &types.MsgSellOfferBuyResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_sell_offer_create.go b/x/cardchain/keeper/msg_server_sell_offer_create.go index 9dbfdc2e..17d3e4a3 100644 --- a/x/cardchain/keeper/msg_server_sell_offer_create.go +++ b/x/cardchain/keeper/msg_server_sell_offer_create.go @@ -3,15 +3,43 @@ package keeper import ( "context" + errorsmod "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) SellOfferCreate(goCtx context.Context, msg *types.MsgSellOfferCreate) (*types.MsgSellOfferCreateResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + + // Check if card is startercard + card := k.Cards.Get(ctx, msg.CardId) + if card.StarterCard { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Card is startercard and therefore not sellable") + } + + newCards, err := PopItemFromArr(msg.CardId, creator.Cards) + if err != nil { + return nil, errorsmod.Wrapf(err, "User does not posses Card: %d", msg.CardId) + } + creator.Cards = newCards + + sellOfferId := k.SellOffers.GetNum(ctx) + sellOffer := types.SellOffer{ + Seller: msg.Creator, + Buyer: "", + Card: msg.CardId, + Price: msg.Price, + Status: types.SellOfferStatus_open, + } + + k.SellOffers.Set(ctx, sellOfferId, &sellOffer) + k.SetUserFromUser(ctx, creator) return &types.MsgSellOfferCreateResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_create.go b/x/cardchain/keeper/msg_server_set_create.go index 5cf82d45..c9fcfbd8 100644 --- a/x/cardchain/keeper/msg_server_set_create.go +++ b/x/cardchain/keeper/msg_server_set_create.go @@ -3,15 +3,35 @@ package keeper import ( "context" + errorsmod "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) SetCreate(goCtx context.Context, msg *types.MsgSetCreate) (*types.MsgSetCreateResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + err := k.CollectSetCreationFee(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.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.Append(ctx, &set) return &types.MsgSetCreateResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_user_create.go b/x/cardchain/keeper/msg_server_user_create.go index 9551a5f8..bcda5d16 100644 --- a/x/cardchain/keeper/msg_server_user_create.go +++ b/x/cardchain/keeper/msg_server_user_create.go @@ -3,15 +3,25 @@ package keeper import ( "context" + errorsmod "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) UserCreate(goCtx context.Context, msg *types.MsgUserCreate) (*types.MsgUserCreateResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + user, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } - return &types.MsgUserCreateResponse{}, nil + if user.Alias != "" { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "user already initialized") + } + + err = k.InitUser(ctx, user.Addr, msg.Alias) + + return &types.MsgUserCreateResponse{}, err } diff --git a/x/cardchain/keeper/msg_server_zealy_connect.go b/x/cardchain/keeper/msg_server_zealy_connect.go index 3753ba52..66490ac7 100644 --- a/x/cardchain/keeper/msg_server_zealy_connect.go +++ b/x/cardchain/keeper/msg_server_zealy_connect.go @@ -3,15 +3,37 @@ package keeper import ( "context" + errorsmod "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) ZealyConnect(goCtx context.Context, msg *types.MsgZealyConnect) (*types.MsgZealyConnectResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + _, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, msg.Creator) + } + + zealy := k.Zealy.Get(ctx, msg.ZealyId) + if zealy.ZealyId == msg.ZealyId { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "ZealyId `%s` is already registered", msg.ZealyId) + } + + iterator := k.Zealy.GetIterator(ctx) + for ; iterator.Valid(); iterator.Next() { + + var gotten types.Zealy + k.cdc.MustUnmarshal(iterator.Value(), &gotten) + + if gotten.Address == msg.Creator { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "User `%s` has already registered a zealyId", msg.Creator) + } + } + + k.Zealy.Set(ctx, msg.ZealyId, &types.Zealy{Address: msg.Creator, ZealyId: msg.ZealyId}) return &types.MsgZealyConnectResponse{}, nil } diff --git a/x/cardchain/keeper/user.go b/x/cardchain/keeper/user.go index 809a6fae..189fd903 100644 --- a/x/cardchain/keeper/user.go +++ b/x/cardchain/keeper/user.go @@ -11,8 +11,6 @@ type MsgWithCreator interface { GetSigners() []sdk.AccAddress } -const MAX_ALIAS_LEN = 25 - // User Combines types.User and it's account address for better usability type User struct { *types.User @@ -25,12 +23,9 @@ func (k Keeper) InitUser(ctx sdk.Context, address sdk.AccAddress, alias string) alias = "newbie" } newUser := types.NewUser() - err := checkAliasLimit(alias) - if err != nil { - return err - } + newUser.Alias = alias - err = k.MintCoinsToAddr(ctx, address, sdk.Coins{sdk.NewInt64Coin("ucredits", 10000000000)}) + err := k.MintCoinsToAddr(ctx, address, sdk.Coins{sdk.NewInt64Coin("ucredits", 10000000000)}) if err != nil { return err } @@ -87,11 +82,3 @@ func (k Keeper) GetAllUsers(ctx sdk.Context) (allUsers []*types.User, allAddress } return } - -func checkAliasLimit(alias string) error { - if len(alias) > MAX_ALIAS_LEN { - return sdkerrors.Wrapf(types.ErrInvalidData, "alias is too long (%d) maximum is %d", len(alias), MAX_ALIAS_LEN) - } - - return nil -} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 6bad68a5..c249bdce 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -333,6 +333,12 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Delete product-details", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "id"}}, }, + { + RpcMethod: "EarlyAccessDisinvite", + Use: "early-access-disinvite [user]", + Short: "Send a EarlyAccessDisinvite tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "user"}}, + }, // this line is used by ignite scaffolding # autocli/tx }, }, diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index 985ee3b1..319ec800 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -219,6 +219,10 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgDeleteProductDetails int = 100 + opWeightMsgEarlyAccessDisinvite = "op_weight_msg_early_access_disinvite" + // TODO: Determine the simulation weight value + defaultWeightMsgEarlyAccessDisinvite int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -792,6 +796,17 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgDeleteProductDetails(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgEarlyAccessDisinvite int + simState.AppParams.GetOrGenerate(opWeightMsgEarlyAccessDisinvite, &weightMsgEarlyAccessDisinvite, nil, + func(_ *rand.Rand) { + weightMsgEarlyAccessDisinvite = defaultWeightMsgEarlyAccessDisinvite + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgEarlyAccessDisinvite, + cardchainsimulation.SimulateMsgEarlyAccessDisinvite(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -1192,6 +1207,14 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei return nil }, ), + simulation.NewWeightedProposalMsg( + opWeightMsgEarlyAccessDisinvite, + defaultWeightMsgEarlyAccessDisinvite, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgEarlyAccessDisinvite(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/early_access_disinvite.go b/x/cardchain/simulation/early_access_disinvite.go new file mode 100644 index 00000000..190e47e1 --- /dev/null +++ b/x/cardchain/simulation/early_access_disinvite.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 SimulateMsgEarlyAccessDisinvite( + 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.MsgEarlyAccessDisinvite{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the EarlyAccessDisinvite simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "EarlyAccessDisinvite simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/booster_pack.go b/x/cardchain/types/booster_pack.go new file mode 100644 index 00000000..ab9df731 --- /dev/null +++ b/x/cardchain/types/booster_pack.go @@ -0,0 +1,14 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func NewBoosterPack(ctx sdk.Context, setId uint64, raritiesPerPack []uint64, dropRatiosPerPack []uint64) BoosterPack { + return BoosterPack{ + SetId: setId, + RaritiesPerPack: raritiesPerPack, + TimeStamp: ctx.BlockHeight(), + DropRatiosPerPack: dropRatiosPerPack, + } +} diff --git a/x/cardchain/types/card.go b/x/cardchain/types/card.go index 4e5517c3..c1b81a30 100644 --- a/x/cardchain/types/card.go +++ b/x/cardchain/types/card.go @@ -3,8 +3,20 @@ package types import ( errorsmod "cosmossdk.io/errors" "github.com/DecentralCardGame/cardobject/keywords" + sdk "github.com/cosmos/cosmos-sdk/types" ) +// NewCard Constructor for Card +func NewCard(owner sdk.AccAddress) Card { + return Card{ + Owner: owner.String(), + Notes: "", + FullArt: true, + Status: Status_scheme, + VotePool: sdk.NewInt64Coin("ucredits", 0), + } +} + // ResetVotes resets a cards votes func (card *Card) ResetVotes() { card.Voters = []string{} diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go index 7f1e6d76..80c58dff 100644 --- a/x/cardchain/types/card.pb.go +++ b/x/cardchain/types/card.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index b4338a17..54b49da2 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -151,6 +151,9 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { &MsgUpdateProductDetails{}, &MsgDeleteProductDetails{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgEarlyAccessDisinvite{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/cardchain/types/council.pb.go b/x/cardchain/types/council.pb.go index a6f6f6d7..1bbdfc01 100644 --- a/x/cardchain/types/council.pb.go +++ b/x/cardchain/types/council.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/encounter.pb.go b/x/cardchain/types/encounter.pb.go index 5c6f1b54..0f2e0d18 100644 --- a/x/cardchain/types/encounter.pb.go +++ b/x/cardchain/types/encounter.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 4306f207..636f7c25 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/image.pb.go b/x/cardchain/types/image.pb.go index a4fe2647..a2a036be 100644 --- a/x/cardchain/types/image.pb.go +++ b/x/cardchain/types/image.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 7ac97cf8..660c57d2 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/message_early_access_disinvite.go b/x/cardchain/types/message_early_access_disinvite.go new file mode 100644 index 00000000..1ab12c28 --- /dev/null +++ b/x/cardchain/types/message_early_access_disinvite.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgEarlyAccessDisinvite{} + +func NewMsgEarlyAccessDisinvite(creator string, user string) *MsgEarlyAccessDisinvite { + return &MsgEarlyAccessDisinvite{ + Creator: creator, + User: user, + } +} + +func (msg *MsgEarlyAccessDisinvite) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_early_access_disinvite_test.go b/x/cardchain/types/message_early_access_disinvite_test.go new file mode 100644 index 00000000..b2192599 --- /dev/null +++ b/x/cardchain/types/message_early_access_disinvite_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgEarlyAccessDisinvite_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgEarlyAccessDisinvite + err error + }{ + { + name: "invalid address", + msg: MsgEarlyAccessDisinvite{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgEarlyAccessDisinvite{ + 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_profile_alias_set.go b/x/cardchain/types/message_profile_alias_set.go index 8d814d32..5c546815 100644 --- a/x/cardchain/types/message_profile_alias_set.go +++ b/x/cardchain/types/message_profile_alias_set.go @@ -20,5 +20,10 @@ func (msg *MsgProfileAliasSet) ValidateBasic() error { if err != nil { return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) } + + if err = checkAliasLimit(msg.Alias); err != nil { + return err + } + return nil } diff --git a/x/cardchain/types/message_user_create.go b/x/cardchain/types/message_user_create.go index 3140ef59..e6ac763b 100644 --- a/x/cardchain/types/message_user_create.go +++ b/x/cardchain/types/message_user_create.go @@ -21,5 +21,10 @@ func (msg *MsgUserCreate) ValidateBasic() error { if err != nil { return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) } + + if err = checkAliasLimit(msg.Alias); err != nil { + return err + } + return nil } diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index d9081e8f..2874c6ce 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,13 +5,14 @@ package types import ( fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" - io "io" - math "math" - math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/product_details.pb.go b/x/cardchain/types/product_details.pb.go index 11fdabcb..6f38ca9c 100644 --- a/x/cardchain/types/product_details.pb.go +++ b/x/cardchain/types/product_details.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/profile.go b/x/cardchain/types/profile.go new file mode 100644 index 00000000..fa0ddac2 --- /dev/null +++ b/x/cardchain/types/profile.go @@ -0,0 +1,13 @@ +package types + +import errorsmod "cosmossdk.io/errors" + +const MAX_ALIAS_LEN = 25 + +func checkAliasLimit(alias string) error { + if len(alias) > MAX_ALIAS_LEN { + return errorsmod.Wrapf(ErrInvalidData, "alias is too long (%d) maximum is %d", len(alias), MAX_ALIAS_LEN) + } + + return nil +} diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index c1e3686e..5ddccd25 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -15,9 +19,6 @@ import ( 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. diff --git a/x/cardchain/types/running_average.pb.go b/x/cardchain/types/running_average.pb.go index 21f80b8f..66809249 100644 --- a/x/cardchain/types/running_average.pb.go +++ b/x/cardchain/types/running_average.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go index 32a2be10..460f7093 100644 --- a/x/cardchain/types/sell_offer.pb.go +++ b/x/cardchain/types/sell_offer.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/server.pb.go b/x/cardchain/types/server.pb.go index ea0ae809..8ed475d1 100644 --- a/x/cardchain/types/server.pb.go +++ b/x/cardchain/types/server.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index c3d8340f..78eb5228 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index a21c325a..7dab2340 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -16,9 +20,6 @@ import ( 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. @@ -2633,7 +2634,7 @@ var xxx_messageInfo_MsgCardRaritySetResponse proto.InternalMessageInfo type MsgCouncilResponseCommit struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` - Reponse string `protobuf:"bytes,3,opt,name=reponse,proto3" json:"reponse,omitempty"` + Response string `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"` Suggestion string `protobuf:"bytes,4,opt,name=suggestion,proto3" json:"suggestion,omitempty"` } @@ -2684,9 +2685,9 @@ func (m *MsgCouncilResponseCommit) GetCouncilId() uint64 { return 0 } -func (m *MsgCouncilResponseCommit) GetReponse() string { +func (m *MsgCouncilResponseCommit) GetResponse() string { if m != nil { - return m.Reponse + return m.Response } return "" } @@ -4862,6 +4863,94 @@ func (m *MsgDeleteProductDetailsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgDeleteProductDetailsResponse proto.InternalMessageInfo +type MsgEarlyAccessDisinvite struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` +} + +func (m *MsgEarlyAccessDisinvite) Reset() { *m = MsgEarlyAccessDisinvite{} } +func (m *MsgEarlyAccessDisinvite) String() string { return proto.CompactTextString(m) } +func (*MsgEarlyAccessDisinvite) ProtoMessage() {} +func (*MsgEarlyAccessDisinvite) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{100} +} +func (m *MsgEarlyAccessDisinvite) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgEarlyAccessDisinvite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEarlyAccessDisinvite.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 *MsgEarlyAccessDisinvite) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEarlyAccessDisinvite.Merge(m, src) +} +func (m *MsgEarlyAccessDisinvite) XXX_Size() int { + return m.Size() +} +func (m *MsgEarlyAccessDisinvite) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEarlyAccessDisinvite.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgEarlyAccessDisinvite proto.InternalMessageInfo + +func (m *MsgEarlyAccessDisinvite) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgEarlyAccessDisinvite) GetUser() string { + if m != nil { + return m.User + } + return "" +} + +type MsgEarlyAccessDisinviteResponse struct { +} + +func (m *MsgEarlyAccessDisinviteResponse) Reset() { *m = MsgEarlyAccessDisinviteResponse{} } +func (m *MsgEarlyAccessDisinviteResponse) String() string { return proto.CompactTextString(m) } +func (*MsgEarlyAccessDisinviteResponse) ProtoMessage() {} +func (*MsgEarlyAccessDisinviteResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{101} +} +func (m *MsgEarlyAccessDisinviteResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgEarlyAccessDisinviteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEarlyAccessDisinviteResponse.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 *MsgEarlyAccessDisinviteResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEarlyAccessDisinviteResponse.Merge(m, src) +} +func (m *MsgEarlyAccessDisinviteResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgEarlyAccessDisinviteResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEarlyAccessDisinviteResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgEarlyAccessDisinviteResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") @@ -4964,193 +5053,197 @@ func init() { proto.RegisterType((*MsgUpdateProductDetailsResponse)(nil), "cardchain.cardchain.MsgUpdateProductDetailsResponse") proto.RegisterType((*MsgDeleteProductDetails)(nil), "cardchain.cardchain.MsgDeleteProductDetails") proto.RegisterType((*MsgDeleteProductDetailsResponse)(nil), "cardchain.cardchain.MsgDeleteProductDetailsResponse") + proto.RegisterType((*MsgEarlyAccessDisinvite)(nil), "cardchain.cardchain.MsgEarlyAccessDisinvite") + proto.RegisterType((*MsgEarlyAccessDisinviteResponse)(nil), "cardchain.cardchain.MsgEarlyAccessDisinviteResponse") } func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2881 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcd, 0x6f, 0x14, 0xc9, - 0x15, 0x67, 0x3c, 0xb6, 0xb1, 0x0b, 0x63, 0xa0, 0xf1, 0xc2, 0xd0, 0xb0, 0xc6, 0x0c, 0x36, 0xd8, - 0x2c, 0x78, 0xd6, 0x66, 0xf9, 0x10, 0xca, 0x6e, 0xe4, 0xb1, 0x49, 0xb4, 0x52, 0xbc, 0x90, 0x76, - 0xb2, 0x84, 0xcd, 0x07, 0xea, 0xe9, 0x29, 0x8f, 0x3b, 0xee, 0xe9, 0x9a, 0xed, 0xee, 0x19, 0xaf, - 0x91, 0x22, 0x45, 0x9b, 0x4b, 0x94, 0x5c, 0x72, 0xce, 0x2d, 0xb7, 0x3d, 0x45, 0x44, 0xca, 0x5f, - 0x90, 0x5c, 0xf6, 0x90, 0xc3, 0x6a, 0x4f, 0x39, 0xad, 0x22, 0x38, 0xf0, 0x6f, 0x44, 0xf5, 0xd1, - 0xd5, 0xd5, 0x35, 0x55, 0xd5, 0x3d, 0xa3, 0xe4, 0x02, 0x53, 0xd5, 0xbf, 0x7a, 0x1f, 0x55, 0xaf, - 0xde, 0x7b, 0xf5, 0x9e, 0x0c, 0xae, 0x78, 0x6e, 0xd4, 0xf6, 0x0e, 0x5c, 0x3f, 0x6c, 0x64, 0xbf, - 0x92, 0x2f, 0xd6, 0x7b, 0x11, 0x4a, 0x90, 0x75, 0x9e, 0xcf, 0xad, 0xf3, 0x5f, 0xf6, 0x39, 0xb7, - 0xeb, 0x87, 0xa8, 0x41, 0xfe, 0xa5, 0x38, 0xfb, 0xa2, 0x87, 0xe2, 0x2e, 0x8a, 0x1b, 0xdd, 0xb8, - 0xd3, 0x18, 0x6c, 0xe0, 0xff, 0xd8, 0x87, 0x4b, 0xf4, 0xc3, 0x0b, 0x32, 0x6a, 0xd0, 0x01, 0xfb, - 0xb4, 0xd0, 0x41, 0x1d, 0x44, 0xe7, 0xf1, 0x2f, 0x36, 0xbb, 0xa4, 0x92, 0xa7, 0xe7, 0x46, 0x6e, - 0x37, 0x5d, 0xb7, 0xc8, 0x78, 0xb5, 0xdc, 0x18, 0x36, 0x06, 0x1b, 0x2d, 0x98, 0xb8, 0x1b, 0x0d, - 0x0f, 0xf9, 0xa1, 0x89, 0xc2, 0x00, 0x25, 0x7e, 0x98, 0x0a, 0x75, 0x55, 0x85, 0xe8, 0xba, 0x89, - 0x77, 0xc0, 0x00, 0xd7, 0x54, 0x00, 0x0f, 0xf5, 0x43, 0xcf, 0x0f, 0xb8, 0x14, 0x2a, 0x88, 0x1b, - 0xb5, 0xd9, 0xf7, 0x35, 0xa5, 0x1e, 0x11, 0x6a, 0xf7, 0xbd, 0xe4, 0x45, 0x1b, 0x26, 0xae, 0x1f, - 0x30, 0x85, 0xea, 0xff, 0xac, 0x80, 0x33, 0xbb, 0x71, 0xe7, 0xa7, 0xbd, 0xb6, 0x9b, 0xc0, 0xa7, - 0x44, 0x55, 0xeb, 0x3e, 0x98, 0x75, 0xfb, 0xc9, 0x01, 0x8a, 0xfc, 0xe4, 0xb8, 0x56, 0x59, 0xaa, - 0xac, 0xce, 0x36, 0x6b, 0xdf, 0xfe, 0xfd, 0xce, 0x02, 0xdb, 0xc1, 0xad, 0x76, 0x3b, 0x82, 0x71, - 0xbc, 0x97, 0x44, 0x7e, 0xd8, 0x71, 0x32, 0xa8, 0xf5, 0x11, 0x98, 0xa6, 0x9b, 0x55, 0x9b, 0x58, - 0xaa, 0xac, 0x9e, 0xda, 0xbc, 0xbc, 0xae, 0x38, 0xc1, 0x75, 0xca, 0xa4, 0x39, 0xfb, 0xf5, 0x77, - 0x57, 0x4f, 0x7c, 0xf5, 0xf6, 0xd5, 0xad, 0x8a, 0xc3, 0x56, 0x3d, 0x7a, 0xf8, 0xe5, 0xdb, 0x57, - 0xb7, 0x32, 0x7a, 0x7f, 0x78, 0xfb, 0xea, 0xd6, 0x4a, 0x26, 0xff, 0x17, 0x82, 0x2e, 0x92, 0xc4, - 0xf5, 0x4b, 0xe0, 0xa2, 0x34, 0xe5, 0xc0, 0xb8, 0x87, 0xc2, 0x18, 0xd6, 0x3b, 0xe0, 0x34, 0xfe, - 0x14, 0xc3, 0x68, 0x3b, 0x82, 0x6e, 0x02, 0xad, 0x1a, 0x38, 0xe9, 0xe1, 0x5f, 0x28, 0xa2, 0xba, - 0x39, 0xe9, 0x10, 0x7f, 0x09, 0xe1, 0x11, 0x86, 0x12, 0x05, 0x66, 0x9d, 0x74, 0x68, 0x2d, 0x80, - 0x29, 0x37, 0xf0, 0xdd, 0xb8, 0x56, 0x25, 0xf3, 0x74, 0xf0, 0x68, 0x0e, 0xcb, 0x9b, 0xae, 0xae, - 0x5f, 0x04, 0xef, 0xe4, 0x18, 0x71, 0x09, 0xba, 0xe0, 0xec, 0x6e, 0xdc, 0xd9, 0x76, 0xa3, 0xf6, - 0x9e, 0x77, 0x00, 0xbb, 0xb0, 0xd9, 0x3f, 0x36, 0x08, 0xb1, 0x01, 0xaa, 0x2d, 0xbf, 0xcd, 0x76, - 0xf0, 0xd2, 0x3a, 0xdb, 0x73, 0x6c, 0x6f, 0xeb, 0xcc, 0xde, 0xd6, 0xb7, 0x91, 0x1f, 0x36, 0x27, - 0xf1, 0xfe, 0x39, 0x18, 0x2b, 0xc9, 0xb1, 0x09, 0x6a, 0x32, 0xbb, 0x54, 0x14, 0xeb, 0x02, 0x98, - 0xc6, 0x9b, 0xf8, 0x71, 0x9b, 0x70, 0x9d, 0x74, 0xd8, 0xa8, 0xfe, 0x8f, 0x0a, 0xb0, 0xd2, 0x45, - 0xee, 0x00, 0x6e, 0xa3, 0x30, 0x81, 0x61, 0x62, 0x90, 0x32, 0x23, 0x34, 0x21, 0x12, 0x22, 0x2b, - 0xe8, 0x62, 0xb2, 0x55, 0x73, 0x4e, 0x3a, 0xc4, 0x5b, 0x18, 0xa2, 0x04, 0xc6, 0xb5, 0x49, 0xba, - 0x85, 0x64, 0x80, 0xe9, 0xb8, 0x51, 0xe2, 0xc7, 0x49, 0x6d, 0x8a, 0x4c, 0xb3, 0x91, 0xb5, 0x0c, - 0x4e, 0xb7, 0xdc, 0xc0, 0x0d, 0x3d, 0xb8, 0x15, 0x7a, 0x07, 0x28, 0xaa, 0x4d, 0x2f, 0x55, 0x56, - 0x67, 0x9c, 0xfc, 0xa4, 0xa4, 0xf8, 0x0e, 0xb0, 0x87, 0x75, 0xe0, 0xaa, 0xdf, 0x00, 0xf3, 0xae, - 0x1f, 0xb5, 0x23, 0xd4, 0xdb, 0x0e, 0x5c, 0xbf, 0x0b, 0xe9, 0x16, 0xcc, 0x38, 0xd2, 0x6c, 0xfd, - 0xd7, 0xe0, 0x14, 0xa3, 0xf2, 0x29, 0x32, 0x5a, 0xcb, 0x5d, 0x30, 0x39, 0x40, 0x09, 0x64, 0x27, - 0x75, 0x55, 0x69, 0xeb, 0x7b, 0x7e, 0xd8, 0x09, 0x20, 0x26, 0xe4, 0x10, 0xb0, 0x24, 0xf1, 0x87, - 0xe0, 0xbc, 0xc0, 0x6b, 0x64, 0x51, 0xbb, 0xe4, 0xea, 0xe2, 0xe5, 0x3f, 0x89, 0xdc, 0x30, 0xde, - 0x87, 0xd1, 0x18, 0x27, 0x66, 0x83, 0x99, 0x08, 0x7a, 0xd0, 0x1f, 0xc0, 0x88, 0x59, 0x37, 0x1f, - 0x4b, 0xd2, 0xd2, 0x4b, 0x26, 0xb2, 0xe3, 0x26, 0xfe, 0xfb, 0x0a, 0xb9, 0x65, 0xf8, 0xdb, 0x0e, - 0x0a, 0xcd, 0xb7, 0x4c, 0x27, 0xc8, 0x03, 0x30, 0xed, 0x76, 0x51, 0x9f, 0x59, 0x4e, 0x09, 0xdb, - 0x67, 0x70, 0xe5, 0x35, 0xcc, 0x24, 0xe1, 0x32, 0xfe, 0xae, 0x02, 0xce, 0xb1, 0x2f, 0x5b, 0x51, - 0x72, 0x84, 0xa2, 0xc3, 0xad, 0x76, 0x7b, 0x0c, 0x39, 0x17, 0xc0, 0x94, 0xdf, 0x75, 0x3b, 0x90, - 0x19, 0x38, 0x1d, 0x60, 0x3a, 0xfb, 0xfd, 0x20, 0xd8, 0x8a, 0x12, 0x62, 0xe0, 0x33, 0x4e, 0x3a, - 0x94, 0xc4, 0xbb, 0x0c, 0x2e, 0x0d, 0x09, 0x21, 0x78, 0x8a, 0xf3, 0xd9, 0x47, 0x3f, 0x4e, 0xb6, - 0x0f, 0xdc, 0xb0, 0x33, 0xce, 0x5e, 0x66, 0xd7, 0xaa, 0x2a, 0x5e, 0x2b, 0x49, 0x96, 0x77, 0xc1, - 0x65, 0x05, 0x3b, 0x2e, 0xcd, 0xf7, 0xa8, 0x4f, 0xa0, 0x91, 0xc7, 0x81, 0x1d, 0x3f, 0x4e, 0x4c, - 0x16, 0x26, 0x11, 0xbf, 0x42, 0x6f, 0x63, 0x7e, 0x35, 0xa7, 0xfd, 0x11, 0x58, 0xc8, 0xbe, 0xee, - 0xc0, 0x68, 0x54, 0xea, 0x8b, 0xe0, 0x8a, 0x6a, 0x3d, 0xa7, 0xff, 0x6d, 0x05, 0xcc, 0xef, 0xc6, - 0x9d, 0x5d, 0x1c, 0x57, 0x1d, 0xd8, 0x43, 0x51, 0x62, 0xf6, 0xfb, 0x24, 0x00, 0xf3, 0x6d, 0x4c, - 0x87, 0x56, 0x1d, 0xcc, 0xf5, 0x02, 0xf7, 0x18, 0xb6, 0xf1, 0x26, 0xc5, 0x5b, 0xb5, 0xea, 0x52, - 0x75, 0x75, 0xd2, 0xc9, 0xcd, 0x49, 0x98, 0x66, 0x6d, 0x72, 0x08, 0xd3, 0xb4, 0xee, 0x83, 0x93, - 0xa8, 0x9f, 0x78, 0xa8, 0x0b, 0x89, 0x9f, 0x9b, 0xdf, 0xbc, 0xa2, 0x74, 0x17, 0x4f, 0x28, 0xc6, - 0x49, 0xc1, 0x92, 0xd2, 0x35, 0x70, 0x21, 0xaf, 0x13, 0x57, 0xd7, 0xa1, 0x21, 0x86, 0x6e, 0x47, - 0x61, 0x9c, 0xd3, 0x58, 0x8d, 0xc4, 0xcd, 0xa6, 0x71, 0x44, 0xa4, 0xc9, 0xf9, 0xfd, 0x92, 0xb8, - 0x02, 0x41, 0x12, 0x18, 0x6d, 0xf5, 0x7a, 0xc8, 0x37, 0xc6, 0x0c, 0xe2, 0x69, 0x28, 0x98, 0xc5, - 0x57, 0x3e, 0x96, 0x58, 0x5f, 0x03, 0x57, 0x35, 0xe4, 0xb9, 0x04, 0x5f, 0x55, 0xc0, 0xdc, 0x6e, - 0xdc, 0xd9, 0x83, 0x49, 0xa1, 0xba, 0x16, 0x98, 0x0c, 0xdd, 0x2e, 0x64, 0x3c, 0xc9, 0x6f, 0xdd, - 0x05, 0xb1, 0x96, 0xc0, 0xa9, 0x38, 0x41, 0xd1, 0xf1, 0xb3, 0xc8, 0xc7, 0x62, 0xd2, 0x58, 0x25, - 0x4e, 0xe1, 0xe3, 0xc6, 0x21, 0x2d, 0xf2, 0x5b, 0xfd, 0x04, 0x45, 0x71, 0x6d, 0x6a, 0xa9, 0xba, - 0x3a, 0xeb, 0xe4, 0xe6, 0x24, 0x6d, 0x2e, 0x10, 0x5b, 0xe7, 0x92, 0x72, 0x15, 0x20, 0xf1, 0x99, - 0x78, 0x1e, 0xdf, 0x40, 0xa3, 0x2f, 0x5a, 0x00, 0x53, 0x31, 0x4c, 0xf8, 0x81, 0xd1, 0x81, 0x70, - 0x8e, 0x55, 0xc3, 0x39, 0x52, 0x87, 0x98, 0xb1, 0xe1, 0xfc, 0x0f, 0x88, 0xd1, 0xb0, 0x0f, 0x0e, - 0xec, 0xa2, 0x01, 0xfc, 0x3f, 0x89, 0x40, 0x4d, 0x29, 0xc7, 0x49, 0x90, 0x22, 0xdd, 0x9d, 0x6c, - 0x07, 0xc7, 0xd9, 0x0c, 0x0b, 0x4c, 0xf6, 0x63, 0x1e, 0xc3, 0xc8, 0x6f, 0xa5, 0xcf, 0x18, 0xe2, - 0xc4, 0x25, 0x39, 0x24, 0x46, 0x9d, 0xff, 0x3e, 0xe6, 0xb6, 0x14, 0x0b, 0x43, 0x4d, 0x5c, 0xc5, - 0x8c, 0xcb, 0xf3, 0x09, 0x71, 0x61, 0x7b, 0x30, 0xf9, 0x81, 0x1f, 0xba, 0x81, 0xff, 0x72, 0x64, - 0x31, 0x94, 0xee, 0x43, 0xa0, 0xc7, 0x39, 0xed, 0xa7, 0x96, 0x50, 0x2a, 0x30, 0xaa, 0x55, 0x56, - 0x86, 0x45, 0x9d, 0x1d, 0x28, 0x62, 0x5f, 0x3b, 0xd5, 0x76, 0x0f, 0x5f, 0xb6, 0x31, 0x25, 0x20, - 0x17, 0x35, 0x4d, 0xd2, 0xc9, 0x40, 0xb7, 0x07, 0x29, 0x17, 0xce, 0xff, 0xc7, 0x24, 0x3b, 0x68, - 0x22, 0x84, 0xe3, 0xc8, 0x53, 0xd7, 0x3b, 0x34, 0xa7, 0xe9, 0x65, 0x36, 0x7c, 0x9b, 0xc4, 0xfa, - 0x3c, 0xc9, 0x91, 0x93, 0xbc, 0x3f, 0xd2, 0xd4, 0x7c, 0x0f, 0x06, 0xc1, 0x93, 0xfd, 0xfd, 0x12, - 0xaf, 0x18, 0x5d, 0x4e, 0x70, 0x0f, 0x4c, 0xf5, 0x22, 0xdf, 0x83, 0x65, 0xd3, 0x2b, 0x8a, 0x56, - 0x46, 0x75, 0x49, 0x18, 0xbe, 0x87, 0x3f, 0x27, 0x09, 0x29, 0xff, 0x6a, 0xde, 0x41, 0xec, 0x6a, - 0x53, 0x24, 0x17, 0x56, 0x9c, 0x52, 0xa6, 0x9f, 0x22, 0x71, 0xce, 0xf7, 0x57, 0xf9, 0x2d, 0x2a, - 0xbc, 0xb4, 0xa3, 0xb2, 0x96, 0xb4, 0x96, 0xee, 0xe9, 0x5f, 0x2a, 0xfc, 0x81, 0xe7, 0xb8, 0xf8, - 0xe1, 0xba, 0x07, 0x93, 0xf1, 0xf2, 0x4a, 0x6a, 0x51, 0x55, 0xd1, 0xa8, 0x1f, 0x80, 0xe9, 0x88, - 0x10, 0x25, 0xb1, 0x68, 0x5e, 0xf3, 0xce, 0xc8, 0x78, 0x3b, 0x0c, 0xae, 0x0e, 0xe6, 0xa2, 0x88, - 0x5c, 0xfe, 0x3f, 0x57, 0xc4, 0x48, 0x9f, 0x4e, 0x6f, 0xa3, 0x6e, 0xd7, 0x37, 0xe9, 0x71, 0x05, - 0xcc, 0xb2, 0xaa, 0x04, 0x57, 0x25, 0x9b, 0xc0, 0xeb, 0x70, 0x70, 0x0f, 0x63, 0xc8, 0xae, 0x63, - 0x3a, 0xb4, 0x16, 0x01, 0x88, 0xfb, 0x9d, 0x0e, 0x8c, 0x13, 0x1f, 0x85, 0x2c, 0xc2, 0x0a, 0x33, - 0x92, 0xe0, 0x75, 0xb0, 0xa4, 0x93, 0x8d, 0x2b, 0xf0, 0x37, 0xa5, 0x02, 0x0e, 0x1c, 0x40, 0x37, - 0x18, 0x5b, 0x81, 0x07, 0x79, 0x05, 0xe6, 0x37, 0xdf, 0x55, 0xee, 0x3c, 0xe7, 0xc6, 0xf5, 0xbb, - 0x00, 0xa6, 0x63, 0xe8, 0x45, 0x30, 0x61, 0xba, 0xb1, 0x51, 0x19, 0xbd, 0xa8, 0xc8, 0x5c, 0xaf, - 0xe7, 0xf4, 0xc1, 0xc2, 0x31, 0x89, 0x1b, 0x8d, 0x7d, 0x20, 0xea, 0x67, 0x48, 0x8e, 0x34, 0xe7, - 0xfb, 0x2f, 0x5a, 0x13, 0x22, 0xf9, 0xd7, 0x36, 0x0a, 0xf7, 0xfd, 0xa8, 0x3b, 0x56, 0xf6, 0x2c, - 0x64, 0xbd, 0xd5, 0x11, 0xb2, 0x5e, 0xeb, 0xfb, 0x00, 0xe0, 0xc7, 0x32, 0x4d, 0x9e, 0x49, 0x3e, - 0x5d, 0xe2, 0x7d, 0x2d, 0x2c, 0x51, 0x3a, 0x0e, 0x51, 0x1b, 0xae, 0xe9, 0x1e, 0xd9, 0xe1, 0xa7, - 0x11, 0xda, 0xf7, 0x03, 0x48, 0x2a, 0x07, 0xe3, 0x5c, 0x5d, 0xe5, 0xde, 0xe6, 0x89, 0x72, 0x8e, - 0x3f, 0x23, 0xe9, 0x0e, 0xfb, 0xf8, 0x0c, 0xb6, 0x62, 0x3f, 0x81, 0x66, 0xa6, 0x35, 0x70, 0xf2, - 0x88, 0xe2, 0xd2, 0xaa, 0x14, 0x1b, 0x2a, 0xd3, 0x9b, 0x21, 0xca, 0x9c, 0xf3, 0x8f, 0x88, 0x97, - 0x62, 0xdf, 0x9b, 0x3e, 0x32, 0x73, 0x3d, 0x0b, 0xaa, 0x2d, 0x1f, 0x31, 0x8e, 0xf8, 0xa7, 0xd2, - 0xa1, 0xe4, 0xa8, 0x71, 0x4e, 0x2d, 0xe2, 0x8e, 0x85, 0xb8, 0xf7, 0xa4, 0x07, 0x43, 0x03, 0xaf, - 0x65, 0x70, 0xba, 0x95, 0x81, 0xf9, 0xee, 0xe6, 0x27, 0x25, 0xfe, 0xf7, 0x89, 0x4b, 0x96, 0x78, - 0xf0, 0xe0, 0x8a, 0x79, 0x91, 0xa3, 0x89, 0x6b, 0x15, 0xf2, 0x1c, 0x4b, 0x87, 0xf5, 0x2f, 0x2b, - 0x24, 0x03, 0x10, 0x16, 0x96, 0xa8, 0x9d, 0x94, 0x12, 0x70, 0x84, 0x4a, 0xca, 0x12, 0x58, 0x54, - 0xcb, 0xc0, 0xb7, 0x70, 0x90, 0x66, 0xc5, 0x7b, 0xd9, 0xd3, 0xc3, 0x7c, 0x60, 0xea, 0x9c, 0x48, - 0x7a, 0xcf, 0x54, 0x87, 0xde, 0x33, 0xba, 0x1c, 0x39, 0xcf, 0x57, 0xa8, 0xa6, 0x9e, 0xe1, 0x19, - 0x9c, 0x1f, 0x27, 0xe3, 0x88, 0x54, 0xae, 0x36, 0x91, 0x46, 0xfb, 0x8c, 0x11, 0x97, 0xe1, 0x73, - 0x1e, 0x6e, 0xf1, 0xc5, 0xdf, 0xed, 0x07, 0x89, 0x6f, 0x10, 0xe2, 0x1e, 0x98, 0x1a, 0x90, 0xba, - 0xe3, 0x44, 0x39, 0x3f, 0x42, 0xd1, 0x92, 0x34, 0x4d, 0x1e, 0x3e, 0x39, 0xcb, 0x91, 0x13, 0xb9, - 0xbf, 0xd2, 0x17, 0x2b, 0xf1, 0x43, 0x05, 0x17, 0xa2, 0x06, 0x4e, 0x92, 0xf2, 0x41, 0xb4, 0x95, - 0x5e, 0x79, 0x36, 0xcc, 0xbe, 0x34, 0xd3, 0xb0, 0xca, 0x86, 0xf8, 0xa4, 0x19, 0xa8, 0x0d, 0xbd, - 0x43, 0x56, 0x85, 0x10, 0xa7, 0x32, 0x44, 0x93, 0x20, 0xa6, 0x44, 0x04, 0x99, 0x92, 0x94, 0x7e, - 0x9f, 0xd8, 0x20, 0x97, 0x57, 0xbc, 0x5c, 0xa9, 0xc3, 0xaf, 0xe4, 0x1c, 0x7e, 0xdd, 0x4d, 0x5f, - 0xb4, 0x9f, 0xb8, 0x5d, 0x38, 0x8e, 0x6d, 0xa4, 0x4f, 0xf5, 0x6a, 0xf6, 0x54, 0xd7, 0xbd, 0x66, - 0x19, 0x0b, 0xa1, 0x04, 0x62, 0x65, 0x0e, 0x69, 0x2b, 0xf0, 0xdd, 0xb8, 0x50, 0x00, 0x5a, 0xd2, - 0x9f, 0xd0, 0x97, 0xf4, 0x69, 0xde, 0x27, 0xd1, 0x14, 0x38, 0xe2, 0xfd, 0x79, 0xec, 0x46, 0xc1, - 0xf1, 0x96, 0xe7, 0xc1, 0x38, 0xfe, 0x38, 0x1c, 0xf8, 0x45, 0x95, 0x88, 0x7e, 0xd6, 0x5d, 0xd0, - 0xbf, 0x51, 0x87, 0x68, 0x0a, 0x01, 0x0b, 0xdf, 0xbf, 0xcf, 0xa0, 0x1b, 0x1c, 0x6f, 0xa3, 0x30, - 0x84, 0x5e, 0x41, 0xe4, 0x78, 0x89, 0x91, 0x6c, 0x97, 0x67, 0x9d, 0x74, 0xa8, 0xbc, 0x6b, 0x22, - 0xd1, 0x2c, 0x37, 0x9c, 0x20, 0xdb, 0xfa, 0x38, 0xc4, 0x89, 0x44, 0x52, 0xe2, 0xf5, 0xa1, 0x2a, - 0xb6, 0xd8, 0x60, 0xa6, 0x1d, 0xb9, 0x47, 0x01, 0xbd, 0xf3, 0xd8, 0xea, 0xf8, 0xd8, 0x7a, 0x06, - 0x00, 0xe9, 0xfe, 0xc0, 0x04, 0x46, 0x69, 0xac, 0x7f, 0xa0, 0xbc, 0xa3, 0xc3, 0x62, 0xd0, 0x56, - 0x12, 0x59, 0xf9, 0x38, 0x4c, 0xa2, 0x63, 0x47, 0x20, 0x95, 0xbd, 0x47, 0xa7, 0x84, 0xf7, 0xa8, - 0xfd, 0x21, 0x38, 0x23, 0x2d, 0xc2, 0x91, 0xee, 0x10, 0xb2, 0x3e, 0x97, 0x83, 0x7f, 0xe2, 0xa5, - 0x03, 0x37, 0xe8, 0xa7, 0x4a, 0xd0, 0xc1, 0xa3, 0x89, 0x87, 0x15, 0xa5, 0x79, 0x48, 0x42, 0xf1, - 0xad, 0x0b, 0xc9, 0x83, 0x96, 0x7f, 0xdd, 0x41, 0xe6, 0x07, 0x09, 0x4c, 0x81, 0xd9, 0x83, 0x44, - 0x98, 0x2a, 0x51, 0x51, 0xa0, 0x4f, 0x5b, 0x81, 0x9f, 0x5c, 0xf9, 0xce, 0x04, 0x0d, 0x50, 0x0c, - 0xff, 0xd7, 0xd2, 0xe0, 0x7d, 0x3c, 0x62, 0x09, 0xfd, 0x8c, 0x83, 0x7f, 0x2a, 0xd3, 0xa2, 0xbc, - 0x10, 0x5c, 0x44, 0x9f, 0xf6, 0x16, 0xc8, 0x0e, 0x3e, 0xa5, 0x8d, 0xca, 0x1d, 0xda, 0xa7, 0x1c, - 0xd1, 0xd6, 0x2c, 0x30, 0xd9, 0x86, 0xb1, 0x97, 0x4a, 0x86, 0x7f, 0x4b, 0x72, 0x6c, 0x90, 0xca, - 0x8b, 0x8a, 0x15, 0xf7, 0x70, 0xf3, 0x60, 0xc2, 0x4f, 0x9d, 0xdb, 0x84, 0xdf, 0xae, 0x1f, 0x8b, - 0xed, 0xc5, 0xb2, 0xd2, 0x51, 0x22, 0x13, 0x29, 0x11, 0x95, 0x6f, 0xe3, 0xd2, 0x4e, 0x6a, 0xa5, - 0xa5, 0x75, 0x22, 0x15, 0x6b, 0xa1, 0x72, 0x81, 0xa5, 0xdb, 0x81, 0x01, 0x1c, 0x5f, 0x3a, 0x25, - 0x57, 0x15, 0xc9, 0x94, 0xeb, 0xe6, 0x77, 0x6b, 0xa0, 0xba, 0x1b, 0x77, 0xac, 0x16, 0x98, 0xcb, - 0x35, 0x8f, 0x97, 0x75, 0x97, 0x57, 0x44, 0xd9, 0xb7, 0xcb, 0xa0, 0xf8, 0x79, 0xfc, 0x02, 0x00, - 0xa1, 0x81, 0x5b, 0xd7, 0xae, 0xe5, 0x18, 0xfb, 0x56, 0x31, 0x86, 0x53, 0x87, 0xe0, 0x74, 0xbe, - 0x39, 0xbb, 0xa2, 0x5b, 0x9c, 0x83, 0xd9, 0x77, 0x4a, 0xc1, 0x38, 0x9b, 0x43, 0x70, 0x46, 0xee, - 0xaf, 0xde, 0x34, 0x52, 0xc8, 0x80, 0x76, 0xa3, 0x24, 0x90, 0x33, 0xfb, 0x14, 0xcc, 0xf0, 0x16, - 0xe6, 0x92, 0x69, 0x31, 0x46, 0xd8, 0xab, 0x45, 0x08, 0x4e, 0xb7, 0x05, 0xe6, 0x72, 0xfd, 0xc6, - 0x65, 0xd3, 0xca, 0x14, 0xa5, 0x3f, 0x6d, 0x55, 0x33, 0x11, 0x9f, 0xb6, 0xd0, 0x48, 0xac, 0x9b, - 0xd6, 0x52, 0x8c, 0xfe, 0xb4, 0x87, 0xdb, 0x80, 0xd6, 0x01, 0x98, 0x97, 0x5a, 0x80, 0x37, 0x4c, - 0xab, 0x33, 0x9c, 0xbd, 0x5e, 0x0e, 0xc7, 0x39, 0x85, 0xe0, 0xec, 0x50, 0x2b, 0x6f, 0xb5, 0x80, - 0x06, 0x47, 0xda, 0xef, 0x97, 0x45, 0xe6, 0x0c, 0x4c, 0x6a, 0xd6, 0xe9, 0x0d, 0x2c, 0x0f, 0x34, - 0x18, 0x98, 0xba, 0x81, 0x67, 0x7d, 0x0e, 0xce, 0x0d, 0x77, 0xef, 0xd6, 0x0a, 0xa8, 0x64, 0x50, - 0x7b, 0xa3, 0x34, 0x94, 0xb3, 0x7c, 0x01, 0x4e, 0x89, 0xfd, 0xbc, 0xeb, 0x3a, 0x0a, 0x02, 0xc8, - 0x7e, 0xaf, 0x04, 0x28, 0xe7, 0x08, 0x72, 0x2d, 0xb4, 0x95, 0x02, 0x21, 0x99, 0xb3, 0xb9, 0x53, - 0x0a, 0xc6, 0xd9, 0xbc, 0x04, 0x0b, 0xca, 0xce, 0xd9, 0xed, 0x12, 0xb2, 0x72, 0xb4, 0xfd, 0xc1, - 0x28, 0x68, 0xce, 0xfb, 0x39, 0x98, 0xcd, 0x5a, 0x66, 0xd7, 0x74, 0x24, 0x38, 0xc4, 0x5e, 0x2b, - 0x84, 0x88, 0xd7, 0x56, 0xe8, 0x65, 0xd5, 0x4d, 0x0b, 0x29, 0x46, 0x7f, 0x6d, 0x87, 0x9b, 0x55, - 0xf8, 0x6c, 0xf2, 0x9d, 0xaa, 0x95, 0x82, 0xc5, 0x14, 0xa6, 0x3f, 0x1b, 0x65, 0x37, 0x0a, 0x9b, - 0xf5, 0x70, 0x2b, 0xca, 0xb8, 0x09, 0x39, 0xa8, 0xde, 0xac, 0xb5, 0x6d, 0x27, 0x6c, 0x0e, 0xca, - 0x9e, 0xd3, 0xed, 0x72, 0xa4, 0x98, 0x9e, 0x1f, 0x8c, 0x82, 0x16, 0xaf, 0x94, 0xd8, 0x5f, 0xba, - 0x6e, 0x20, 0x92, 0x82, 0xf4, 0x57, 0x4a, 0xd1, 0x59, 0x62, 0xc7, 0x26, 0x38, 0x5b, 0xd3, 0xb1, - 0x09, 0xbe, 0xf6, 0x4e, 0x29, 0x98, 0xa4, 0x07, 0xef, 0x1c, 0x99, 0xf4, 0x48, 0x41, 0x46, 0x3d, - 0xe4, 0xee, 0x10, 0x8e, 0x1a, 0x52, 0x6b, 0x48, 0x1b, 0x35, 0xf2, 0x38, 0x7d, 0xd4, 0xd0, 0xf4, - 0x85, 0x0e, 0xc1, 0x19, 0xb9, 0xd7, 0x73, 0x53, 0x2f, 0x69, 0x0e, 0xa8, 0xf7, 0xe2, 0x9a, 0x86, - 0x0d, 0x0e, 0xe7, 0xb9, 0x6e, 0xcd, 0x72, 0x21, 0x01, 0xac, 0xd2, 0xed, 0x32, 0x28, 0xa5, 0x42, - 0xcc, 0xb4, 0x8b, 0x15, 0x62, 0x56, 0xdd, 0x28, 0x09, 0x94, 0x73, 0xb9, 0xac, 0x0f, 0x63, 0xcc, - 0xe5, 0x38, 0xcc, 0x9c, 0xcb, 0x0d, 0xb5, 0x4c, 0xac, 0xdf, 0x80, 0x77, 0xd4, 0xed, 0x92, 0x3b, - 0x85, 0x71, 0x54, 0x84, 0xdb, 0xf7, 0x46, 0x82, 0x1b, 0xd8, 0xb3, 0x66, 0x47, 0x59, 0xf6, 0x14, - 0x5e, 0x9a, 0x7d, 0xbe, 0x2f, 0x41, 0x52, 0xa8, 0x7c, 0x53, 0xe2, 0x46, 0x31, 0x21, 0x8c, 0x33, - 0xa4, 0x50, 0xca, 0x4e, 0x04, 0xb6, 0xcf, 0x5c, 0x17, 0x62, 0xd9, 0x18, 0xf4, 0x18, 0xca, 0xbe, - 0x5d, 0x06, 0x25, 0x6a, 0x23, 0x35, 0x00, 0xb4, 0xda, 0xe4, 0x71, 0x7a, 0x6d, 0xd4, 0xb5, 0x7f, - 0x1c, 0x5c, 0x86, 0x0b, 0xff, 0x6b, 0x05, 0x44, 0x32, 0xa8, 0x3e, 0xb8, 0x68, 0x8b, 0xfe, 0xf8, - 0x3e, 0xe4, 0x2b, 0xfe, 0x2b, 0x05, 0x34, 0x28, 0x4c, 0x7f, 0x1f, 0x94, 0x15, 0x7f, 0x7c, 0xc7, - 0xe5, 0x72, 0xff, 0xcd, 0x12, 0x7e, 0x0f, 0x03, 0xf5, 0x77, 0x5c, 0x57, 0xdc, 0x3f, 0x02, 0xe7, - 0x55, 0xe5, 0xfb, 0xf7, 0x4a, 0xd0, 0xe1, 0x2f, 0x92, 0xbb, 0x23, 0x80, 0xa5, 0xe4, 0x40, 0xaa, - 0xc8, 0xaf, 0x15, 0x85, 0x11, 0x0e, 0x35, 0x26, 0x07, 0xea, 0x7a, 0x3b, 0x75, 0xd0, 0x42, 0xb1, - 0x7d, 0xd9, 0x1c, 0x17, 0x29, 0xca, 0xe4, 0xa0, 0x87, 0xeb, 0xe9, 0xa9, 0xcf, 0xcc, 0x8a, 0xe9, - 0x2b, 0x45, 0xcf, 0x41, 0x02, 0x33, 0xfb, 0xcc, 0xe1, 0x3a, 0xf9, 0x73, 0x30, 0x9b, 0xd5, 0xbe, - 0xaf, 0x19, 0xaf, 0x28, 0xb1, 0x8b, 0xb5, 0x42, 0x88, 0x94, 0x7a, 0xa6, 0x45, 0x67, 0x53, 0xea, - 0xc9, 0x30, 0xc6, 0xd4, 0x53, 0xaa, 0x2c, 0x63, 0xe3, 0x96, 0xcb, 0xca, 0x37, 0x0b, 0xae, 0x47, - 0x0a, 0xd4, 0x1b, 0xb7, 0xa6, 0xa8, 0x8c, 0x6d, 0x6c, 0xb8, 0xa2, 0xac, 0xdd, 0x8a, 0x21, 0xa8, - 0xde, 0xc6, 0xb4, 0x35, 0x65, 0x6c, 0x63, 0xb9, 0x82, 0xb2, 0xd6, 0xc6, 0x44, 0x94, 0xde, 0xc6, - 0x54, 0x75, 0x64, 0xbc, 0x87, 0x72, 0x0d, 0xf9, 0x66, 0xc9, 0x2a, 0xaf, 0x7e, 0x0f, 0x35, 0x95, - 0x57, 0x9c, 0x0d, 0x8a, 0x65, 0xd7, 0xeb, 0x85, 0xeb, 0x77, 0x90, 0x3e, 0x1b, 0x54, 0x14, 0x54, - 0x71, 0xc8, 0x90, 0x8a, 0xa9, 0x37, 0x8a, 0x65, 0xc4, 0x38, 0x7d, 0xc8, 0x50, 0xd7, 0x45, 0xf1, - 0xe3, 0x40, 0x59, 0x14, 0xd5, 0x57, 0x54, 0x14, 0x68, 0xfd, 0xe3, 0xc0, 0x58, 0x05, 0x7d, 0x09, - 0x16, 0x94, 0x25, 0xcf, 0xa2, 0xda, 0x5d, 0x49, 0xde, 0xa6, 0x9a, 0x26, 0xe6, 0xad, 0x2c, 0x68, - 0x6a, 0x79, 0xab, 0xd0, 0x7a, 0xde, 0xa6, 0xca, 0xa6, 0x3d, 0xf5, 0xdb, 0xb7, 0xaf, 0x6e, 0x55, - 0x9a, 0xce, 0xd7, 0xaf, 0x17, 0x2b, 0xdf, 0xbc, 0x5e, 0xac, 0xfc, 0xe7, 0xf5, 0x62, 0xe5, 0x4f, - 0x6f, 0x16, 0x4f, 0x7c, 0xf3, 0x66, 0xf1, 0xc4, 0xbf, 0xdf, 0x2c, 0x9e, 0xf8, 0xec, 0x61, 0xc7, - 0x4f, 0x0e, 0xfa, 0xad, 0x75, 0x0f, 0x75, 0x1b, 0x3b, 0xd0, 0x83, 0x61, 0x12, 0xb9, 0x01, 0x76, - 0x7a, 0x3f, 0x74, 0xbb, 0xb0, 0xa1, 0xfe, 0x8b, 0x95, 0xe4, 0xb8, 0x07, 0xe3, 0xd6, 0x34, 0xf9, - 0xa3, 0x9b, 0xbb, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x7d, 0x51, 0x8b, 0x18, 0xf9, 0x34, 0x00, - 0x00, + // 2915 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcd, 0x6f, 0x1b, 0xc7, + 0x15, 0x37, 0x45, 0x49, 0x96, 0xc6, 0xb2, 0x6c, 0xd3, 0x8a, 0x4d, 0xd3, 0x8e, 0x2c, 0xd3, 0x92, + 0x2d, 0x29, 0xb2, 0x14, 0xd9, 0xf1, 0x07, 0x8c, 0x26, 0x85, 0x28, 0xb9, 0x45, 0x80, 0x2a, 0x76, + 0x57, 0x4d, 0x5c, 0xa7, 0x1f, 0xc6, 0x72, 0x39, 0xa2, 0xb6, 0x5a, 0xee, 0x30, 0xbb, 0x4b, 0x2a, + 0x32, 0x50, 0xa0, 0x48, 0x2f, 0x45, 0x7b, 0xe9, 0xb9, 0xe8, 0xa5, 0xb7, 0x9c, 0x0a, 0x17, 0xe8, + 0x5f, 0xd0, 0x5e, 0x72, 0xe8, 0x21, 0xc8, 0xa9, 0xe8, 0xa1, 0x28, 0xec, 0x83, 0xff, 0x8d, 0x62, + 0x3e, 0x77, 0x76, 0x38, 0x33, 0xbb, 0x64, 0x9b, 0x8b, 0xcd, 0xd9, 0xfd, 0xcd, 0xfb, 0xda, 0x37, + 0xef, 0xbd, 0x79, 0x0f, 0x02, 0x57, 0x3c, 0x37, 0x6a, 0x79, 0x07, 0xae, 0x1f, 0x6e, 0xa4, 0xbf, + 0x92, 0xcf, 0xd7, 0xbb, 0x11, 0x4a, 0x50, 0xe5, 0xbc, 0x78, 0xb6, 0x2e, 0x7e, 0xd5, 0xce, 0xb9, + 0x1d, 0x3f, 0x44, 0x1b, 0xe4, 0x5f, 0x8a, 0xab, 0x5d, 0xf4, 0x50, 0xdc, 0x41, 0xf1, 0x46, 0x27, + 0x6e, 0x6f, 0xf4, 0x37, 0xf1, 0x7f, 0xec, 0xc5, 0x25, 0xfa, 0xe2, 0x39, 0x59, 0x6d, 0xd0, 0x05, + 0x7b, 0x35, 0xd7, 0x46, 0x6d, 0x44, 0x9f, 0xe3, 0x5f, 0xec, 0xe9, 0x82, 0x4e, 0x9e, 0xae, 0x1b, + 0xb9, 0x1d, 0xbe, 0x6f, 0x9e, 0xf1, 0x6a, 0xba, 0x31, 0xdc, 0xe8, 0x6f, 0x36, 0x61, 0xe2, 0x6e, + 0x6e, 0x78, 0xc8, 0x0f, 0x6d, 0x14, 0xfa, 0x28, 0xf1, 0x43, 0x2e, 0xd4, 0x55, 0x1d, 0xa2, 0xe3, + 0x26, 0xde, 0x01, 0x03, 0x5c, 0xd3, 0x01, 0x3c, 0xd4, 0x0b, 0x3d, 0x3f, 0x10, 0x52, 0xe8, 0x20, + 0x6e, 0xd4, 0x62, 0xef, 0x57, 0xb4, 0x7a, 0x44, 0xa8, 0xd5, 0xf3, 0x92, 0xe7, 0x2d, 0x98, 0xb8, + 0x7e, 0xc0, 0x14, 0xaa, 0xff, 0xbd, 0x04, 0xce, 0xec, 0xc6, 0xed, 0x8f, 0xbb, 0x2d, 0x37, 0x81, + 0x4f, 0x88, 0xaa, 0x95, 0x7b, 0x60, 0xda, 0xed, 0x25, 0x07, 0x28, 0xf2, 0x93, 0xe3, 0x6a, 0x69, + 0xa1, 0xb4, 0x3c, 0xdd, 0xa8, 0x7e, 0xf3, 0xd7, 0x5b, 0x73, 0xcc, 0x82, 0x5b, 0xad, 0x56, 0x04, + 0xe3, 0x78, 0x2f, 0x89, 0xfc, 0xb0, 0xed, 0xa4, 0xd0, 0xca, 0x07, 0x60, 0x92, 0x1a, 0xab, 0x3a, + 0xb6, 0x50, 0x5a, 0x3e, 0x75, 0xfb, 0xf2, 0xba, 0xe6, 0x0b, 0xae, 0x53, 0x26, 0x8d, 0xe9, 0xaf, + 0xfe, 0x7d, 0xf5, 0xc4, 0x97, 0x6f, 0x5e, 0xae, 0x96, 0x1c, 0xb6, 0xeb, 0xe1, 0x83, 0x2f, 0xde, + 0xbc, 0x5c, 0x4d, 0xe9, 0xfd, 0xf6, 0xcd, 0xcb, 0xd5, 0xa5, 0x54, 0xfe, 0xcf, 0x25, 0x5d, 0x14, + 0x89, 0xeb, 0x97, 0xc0, 0x45, 0xe5, 0x91, 0x03, 0xe3, 0x2e, 0x0a, 0x63, 0x58, 0x6f, 0x83, 0xd3, + 0xf8, 0x55, 0x0c, 0xa3, 0xed, 0x08, 0xba, 0x09, 0xac, 0x54, 0xc1, 0x49, 0x0f, 0xff, 0x42, 0x11, + 0xd5, 0xcd, 0xe1, 0x4b, 0xfc, 0x26, 0x84, 0x47, 0x18, 0x4a, 0x14, 0x98, 0x76, 0xf8, 0xb2, 0x32, + 0x07, 0x26, 0xdc, 0xc0, 0x77, 0xe3, 0x6a, 0x99, 0x3c, 0xa7, 0x8b, 0x87, 0x33, 0x58, 0x5e, 0xbe, + 0xbb, 0x7e, 0x11, 0xbc, 0x95, 0x61, 0x24, 0x24, 0xe8, 0x80, 0xb3, 0xbb, 0x71, 0x7b, 0xdb, 0x8d, + 0x5a, 0x7b, 0xde, 0x01, 0xec, 0xc0, 0x46, 0xef, 0xd8, 0x22, 0xc4, 0x26, 0x28, 0x37, 0xfd, 0x16, + 0xb3, 0xe0, 0xa5, 0x75, 0x66, 0x73, 0xec, 0x6f, 0xeb, 0xcc, 0xdf, 0xd6, 0xb7, 0x91, 0x1f, 0x36, + 0xc6, 0xb1, 0xfd, 0x1c, 0x8c, 0x55, 0xe4, 0xb8, 0x0d, 0xaa, 0x2a, 0x3b, 0x2e, 0x4a, 0xe5, 0x02, + 0x98, 0xc4, 0x46, 0xfc, 0xb0, 0x45, 0xb8, 0x8e, 0x3b, 0x6c, 0x55, 0xff, 0x5b, 0x09, 0x54, 0xf8, + 0x26, 0xb7, 0x0f, 0xb7, 0x51, 0x98, 0xc0, 0x30, 0xb1, 0x48, 0x99, 0x12, 0x1a, 0x93, 0x09, 0x91, + 0x1d, 0x74, 0x33, 0x31, 0xd5, 0x8c, 0xc3, 0x97, 0xd8, 0x84, 0x21, 0x4a, 0x60, 0x5c, 0x1d, 0xa7, + 0x26, 0x24, 0x0b, 0x4c, 0xc7, 0x8d, 0x12, 0x3f, 0x4e, 0xaa, 0x13, 0xe4, 0x31, 0x5b, 0x55, 0x16, + 0xc1, 0xe9, 0xa6, 0x1b, 0xb8, 0xa1, 0x07, 0xb7, 0x42, 0xef, 0x00, 0x45, 0xd5, 0xc9, 0x85, 0xd2, + 0xf2, 0x94, 0x93, 0x7d, 0xa8, 0x28, 0xbe, 0x03, 0x6a, 0x83, 0x3a, 0x08, 0xd5, 0x6f, 0x80, 0x59, + 0xd7, 0x8f, 0x5a, 0x11, 0xea, 0x6e, 0x07, 0xae, 0xdf, 0x81, 0xd4, 0x04, 0x53, 0x8e, 0xf2, 0xb4, + 0xfe, 0x0b, 0x70, 0x8a, 0x51, 0xf9, 0x04, 0x59, 0xbd, 0xe5, 0x0e, 0x18, 0xef, 0xa3, 0x04, 0xb2, + 0x2f, 0x75, 0x55, 0xeb, 0xeb, 0x7b, 0x7e, 0xd8, 0x0e, 0x20, 0x26, 0xe4, 0x10, 0xb0, 0x22, 0xf1, + 0xfb, 0xe0, 0xbc, 0xc4, 0x6b, 0x68, 0x51, 0x3b, 0xe4, 0xe8, 0xe2, 0xed, 0x3f, 0x8a, 0xdc, 0x30, + 0xde, 0x87, 0xd1, 0x08, 0x5f, 0xac, 0x06, 0xa6, 0x22, 0xe8, 0x41, 0xbf, 0x0f, 0x23, 0xe6, 0xdd, + 0x62, 0xad, 0x48, 0x4b, 0x0f, 0x99, 0xcc, 0x4e, 0xb8, 0xf8, 0x6f, 0x4a, 0xe4, 0x94, 0xe1, 0x77, + 0x3b, 0x28, 0xb4, 0x9f, 0x32, 0x93, 0x20, 0xf7, 0xc1, 0xa4, 0xdb, 0x41, 0x3d, 0xe6, 0x39, 0x05, + 0x7c, 0x9f, 0xc1, 0xb5, 0xc7, 0x30, 0x95, 0x44, 0xc8, 0xf8, 0xeb, 0x12, 0x38, 0xc7, 0xde, 0x6c, + 0x45, 0xc9, 0x11, 0x8a, 0x0e, 0xb7, 0x5a, 0xad, 0x11, 0xe4, 0x9c, 0x03, 0x13, 0x7e, 0xc7, 0x6d, + 0x43, 0xe6, 0xe0, 0x74, 0x81, 0xe9, 0xec, 0xf7, 0x82, 0x60, 0x2b, 0x4a, 0x88, 0x83, 0x4f, 0x39, + 0x7c, 0xa9, 0x88, 0x77, 0x19, 0x5c, 0x1a, 0x10, 0x42, 0x8a, 0x14, 0xe7, 0xd3, 0x97, 0x7e, 0x9c, + 0x6c, 0x1f, 0xb8, 0x61, 0x7b, 0x14, 0x5b, 0xa6, 0xc7, 0xaa, 0x2c, 0x1f, 0x2b, 0x45, 0x96, 0xb7, + 0xc1, 0x65, 0x0d, 0x3b, 0x21, 0xcd, 0x77, 0x68, 0x4c, 0xa0, 0x99, 0xc7, 0x81, 0x6d, 0x3f, 0x4e, + 0x6c, 0x1e, 0xa6, 0x10, 0xbf, 0x42, 0x4f, 0x63, 0x76, 0xb7, 0xa0, 0xfd, 0x01, 0x98, 0x4b, 0xdf, + 0xee, 0xc0, 0x68, 0x58, 0xea, 0xf3, 0xe0, 0x8a, 0x6e, 0xbf, 0xa0, 0xff, 0x4d, 0x09, 0xcc, 0xee, + 0xc6, 0xed, 0x5d, 0x9c, 0x57, 0x1d, 0xd8, 0x45, 0x51, 0x62, 0x8f, 0xfb, 0x24, 0x01, 0x0b, 0x33, + 0xf2, 0x65, 0xa5, 0x0e, 0x66, 0xba, 0x81, 0x7b, 0x0c, 0x5b, 0xd8, 0x48, 0xf1, 0x56, 0xb5, 0xbc, + 0x50, 0x5e, 0x1e, 0x77, 0x32, 0xcf, 0x14, 0x4c, 0xa3, 0x3a, 0x3e, 0x80, 0x69, 0x54, 0xee, 0x81, + 0x93, 0xa8, 0x97, 0x78, 0xa8, 0x03, 0x49, 0x9c, 0x9b, 0xbd, 0x7d, 0x45, 0x1b, 0x2e, 0x1e, 0x53, + 0x8c, 0xc3, 0xc1, 0x8a, 0xd2, 0x55, 0x70, 0x21, 0xab, 0x93, 0x50, 0xd7, 0xa1, 0x29, 0x86, 0x9a, + 0x23, 0x37, 0xcf, 0x19, 0xbc, 0x46, 0xe1, 0x56, 0xa3, 0x79, 0x44, 0xa6, 0x29, 0xf8, 0xfd, 0x8c, + 0x84, 0x02, 0x49, 0x12, 0x18, 0x6d, 0x75, 0xbb, 0xc8, 0xb7, 0xe6, 0x0c, 0x12, 0x69, 0x28, 0x98, + 0xe5, 0x57, 0xb1, 0x56, 0x58, 0x5f, 0x03, 0x57, 0x0d, 0xe4, 0x85, 0x04, 0x5f, 0x96, 0xc0, 0xcc, + 0x6e, 0xdc, 0xde, 0x83, 0x49, 0xae, 0xba, 0x15, 0x30, 0x1e, 0xba, 0x1d, 0xc8, 0x78, 0x92, 0xdf, + 0xa6, 0x03, 0x52, 0x59, 0x00, 0xa7, 0xe2, 0x04, 0x45, 0xc7, 0x4f, 0x23, 0x1f, 0x8b, 0x49, 0x73, + 0x95, 0xfc, 0x08, 0x7f, 0x6e, 0x9c, 0xd2, 0x22, 0xbf, 0xd9, 0x4b, 0x50, 0x14, 0x57, 0x27, 0x16, + 0xca, 0xcb, 0xd3, 0x4e, 0xe6, 0x99, 0xa2, 0xcd, 0x05, 0xe2, 0xeb, 0x42, 0x52, 0xa1, 0x02, 0x24, + 0x31, 0x13, 0x3f, 0xc7, 0x27, 0xd0, 0x1a, 0x8b, 0xe6, 0xc0, 0x44, 0x0c, 0x13, 0xf1, 0xc1, 0xe8, + 0x42, 0xfa, 0x8e, 0x65, 0xcb, 0x77, 0xa4, 0x01, 0x31, 0x65, 0x23, 0xf8, 0x1f, 0x10, 0xa7, 0x61, + 0x2f, 0x1c, 0xd8, 0x41, 0x7d, 0xf8, 0x2d, 0x89, 0x40, 0x5d, 0x29, 0xc3, 0x49, 0x92, 0x82, 0x5b, + 0x27, 0xb5, 0xe0, 0x28, 0xc6, 0xa8, 0x80, 0xf1, 0x5e, 0x2c, 0x72, 0x18, 0xf9, 0xad, 0x8d, 0x19, + 0x03, 0x9c, 0x84, 0x24, 0x87, 0xc4, 0xa9, 0xb3, 0xef, 0x47, 0x34, 0x4b, 0xbe, 0x30, 0xd4, 0xc5, + 0x75, 0xcc, 0x84, 0x3c, 0x1f, 0x91, 0x10, 0xb6, 0x07, 0x93, 0xef, 0xf9, 0xa1, 0x1b, 0xf8, 0x2f, + 0x86, 0x16, 0x43, 0x1b, 0x3e, 0x24, 0x7a, 0x82, 0xd3, 0x3e, 0xf7, 0x84, 0x42, 0x89, 0x51, 0xaf, + 0xb2, 0x36, 0x2d, 0x9a, 0xfc, 0x40, 0x93, 0xfb, 0x5a, 0x5c, 0xdb, 0x3d, 0x7c, 0xd8, 0x46, 0x94, + 0x80, 0x1c, 0x54, 0x5e, 0xa4, 0x93, 0x85, 0xc9, 0x06, 0x9c, 0x8b, 0xe0, 0xff, 0x43, 0x52, 0x1d, + 0x34, 0x10, 0xc2, 0x79, 0xe4, 0x89, 0xeb, 0x1d, 0xda, 0xcb, 0xf4, 0x22, 0x06, 0xdf, 0x26, 0xb9, + 0x3e, 0x4b, 0x72, 0xe8, 0x22, 0xef, 0x77, 0xb4, 0x34, 0xdf, 0x83, 0x41, 0xf0, 0x78, 0x7f, 0xbf, + 0xc0, 0x2d, 0xc6, 0x54, 0x13, 0xdc, 0x05, 0x13, 0xdd, 0xc8, 0xf7, 0x60, 0xd1, 0xf2, 0x8a, 0xa2, + 0xb5, 0x59, 0x5d, 0x11, 0x46, 0xd8, 0xf0, 0x27, 0xa4, 0x20, 0x15, 0x6f, 0xed, 0x16, 0xc4, 0xa1, + 0x96, 0x23, 0x85, 0xb0, 0xf2, 0x23, 0x6d, 0xf9, 0x29, 0x13, 0x17, 0x7c, 0x7f, 0x9e, 0x35, 0x51, + 0xee, 0xa1, 0x1d, 0x96, 0xb5, 0xa2, 0xb5, 0x72, 0x4e, 0xff, 0x54, 0x12, 0x17, 0x3c, 0xc7, 0xc5, + 0x17, 0xd7, 0x3d, 0x98, 0x8c, 0x56, 0x57, 0x52, 0x8f, 0x2a, 0xcb, 0x4e, 0x7d, 0x1f, 0x4c, 0x46, + 0x84, 0x28, 0xc9, 0x45, 0xb3, 0x86, 0x7b, 0x46, 0xca, 0xdb, 0x61, 0x70, 0x7d, 0x32, 0x97, 0x45, + 0x14, 0xf2, 0xff, 0xb1, 0x24, 0x67, 0x7a, 0xfe, 0x78, 0x1b, 0x75, 0x3a, 0xbe, 0x4d, 0x8f, 0x2b, + 0x60, 0x9a, 0x75, 0x25, 0x84, 0x2a, 0xe9, 0x03, 0x9a, 0xec, 0x29, 0xa5, 0xf4, 0x5a, 0xc1, 0x5c, + 0x7f, 0x1e, 0x80, 0xb8, 0xd7, 0x6e, 0xc3, 0x38, 0xf1, 0x51, 0xc8, 0x72, 0xac, 0xf4, 0x44, 0x11, + 0xbd, 0x0e, 0x16, 0x4c, 0xd2, 0x09, 0x15, 0xfe, 0xa2, 0x55, 0xc1, 0x81, 0x7d, 0xe8, 0x06, 0x23, + 0xab, 0x70, 0x1f, 0x9c, 0xc4, 0xf5, 0x09, 0xd7, 0x60, 0xf6, 0xf6, 0xdb, 0x5a, 0xdb, 0x0b, 0x6e, + 0x1c, 0x8d, 0xbf, 0x70, 0x0c, 0xbd, 0x08, 0x26, 0x4c, 0x37, 0xb6, 0x2a, 0xa2, 0x17, 0x15, 0x59, + 0xe8, 0xf5, 0x8c, 0x5e, 0x59, 0x04, 0x26, 0x71, 0xa3, 0x91, 0x3f, 0x89, 0xfe, 0x22, 0x92, 0x21, + 0x2d, 0xf8, 0xfe, 0x83, 0x76, 0x85, 0x48, 0x05, 0xb6, 0x8d, 0xc2, 0x7d, 0x3f, 0xea, 0x8c, 0x54, + 0x3f, 0x4b, 0x75, 0x6f, 0x79, 0x88, 0xba, 0xb7, 0xf2, 0x5d, 0x00, 0xf0, 0x75, 0x99, 0x96, 0xcf, + 0xa4, 0xa2, 0x2e, 0x70, 0xc3, 0x96, 0xb6, 0x68, 0x43, 0x87, 0xac, 0x8d, 0xd0, 0x74, 0x8f, 0x58, + 0xf8, 0x49, 0x84, 0xf6, 0xfd, 0x00, 0x92, 0xde, 0xc1, 0x28, 0x87, 0x57, 0x6b, 0xdb, 0x2c, 0x51, + 0xc1, 0xf1, 0xc7, 0xa4, 0xe0, 0x61, 0x2f, 0x9f, 0xc2, 0x66, 0xec, 0x27, 0xd0, 0xce, 0xb4, 0x0a, + 0x4e, 0x1e, 0x51, 0x1c, 0xef, 0x4b, 0xb1, 0xa5, 0xb6, 0xc0, 0x19, 0xa0, 0x2c, 0x38, 0xff, 0x80, + 0xc4, 0x29, 0xf6, 0xbe, 0xe1, 0x23, 0x3b, 0xd7, 0xb3, 0xa0, 0xdc, 0xf4, 0x11, 0xe3, 0x88, 0x7f, + 0x6a, 0x43, 0x4a, 0x86, 0x9a, 0xe0, 0xd4, 0x24, 0x01, 0x59, 0xca, 0x7c, 0x8f, 0xbb, 0x30, 0xb4, + 0xf0, 0x5a, 0x04, 0xa7, 0x9b, 0x29, 0x58, 0x58, 0x37, 0xfb, 0x50, 0xe1, 0x7f, 0x8f, 0x04, 0x65, + 0x85, 0x87, 0x48, 0xaf, 0x98, 0x17, 0xf9, 0x34, 0x71, 0xb5, 0x44, 0x2e, 0x64, 0x7c, 0x59, 0xff, + 0xa2, 0x44, 0x6a, 0x00, 0x69, 0x63, 0x81, 0xee, 0x49, 0x21, 0x01, 0x87, 0xe8, 0xa5, 0x2c, 0x80, + 0x79, 0xbd, 0x0c, 0xc2, 0x84, 0x7d, 0x5e, 0x17, 0xef, 0xa5, 0x97, 0x0f, 0xfb, 0x07, 0xd3, 0x57, + 0x45, 0xca, 0x8d, 0xa6, 0x3c, 0x70, 0xa3, 0x31, 0x55, 0xc9, 0x59, 0xbe, 0x52, 0x3f, 0xf5, 0x8c, + 0xa8, 0xe1, 0xfc, 0x38, 0x19, 0x45, 0xa4, 0x62, 0xdd, 0x09, 0x9e, 0xef, 0x53, 0x46, 0x42, 0x86, + 0xcf, 0x44, 0xc2, 0xc5, 0x07, 0x7f, 0xb7, 0x17, 0x24, 0xbe, 0x45, 0x88, 0xbb, 0x60, 0xa2, 0x4f, + 0x3a, 0x8f, 0x63, 0xc5, 0xe2, 0x08, 0x45, 0x2b, 0xd2, 0x34, 0x44, 0x02, 0x15, 0x2c, 0x87, 0x2e, + 0xe5, 0xfe, 0x4c, 0xef, 0xac, 0x24, 0x0e, 0xe5, 0x1c, 0x88, 0x2a, 0x38, 0x49, 0x1a, 0x08, 0xd1, + 0x16, 0x3f, 0xf2, 0x6c, 0x99, 0xbe, 0x69, 0x30, 0xeb, 0xf1, 0x25, 0xfe, 0xd2, 0x0c, 0xd4, 0x82, + 0xde, 0x21, 0xeb, 0x43, 0xc8, 0x8f, 0x52, 0x44, 0x83, 0x20, 0x26, 0x64, 0x04, 0x79, 0xa4, 0x28, + 0xfd, 0x2e, 0xf1, 0x41, 0x21, 0xaf, 0x7c, 0xb8, 0x78, 0xc0, 0x2f, 0x65, 0x02, 0x7e, 0xdd, 0xe5, + 0x77, 0xda, 0x8f, 0xdc, 0x0e, 0x1c, 0xc5, 0x37, 0xf8, 0x65, 0xbd, 0x9c, 0x5e, 0xd6, 0x4d, 0xf7, + 0x59, 0xc6, 0x42, 0x6a, 0x82, 0x54, 0xd2, 0x80, 0xb4, 0x15, 0xf8, 0x6e, 0x9c, 0x2b, 0x00, 0x6d, + 0xea, 0x8f, 0x99, 0x9b, 0xfa, 0xb4, 0xf2, 0x53, 0x68, 0x4a, 0x1c, 0xb1, 0x7d, 0x1e, 0xb9, 0x51, + 0x70, 0xbc, 0xe5, 0x79, 0x30, 0x8e, 0x3f, 0x0c, 0xfb, 0x7e, 0x5e, 0x2f, 0xa2, 0x97, 0xce, 0x17, + 0xcc, 0xb7, 0xd4, 0x01, 0x9a, 0x52, 0xc2, 0xc2, 0xe7, 0xef, 0x53, 0xe8, 0x06, 0xc7, 0xdb, 0x28, + 0x0c, 0xa1, 0x97, 0x93, 0x39, 0x5e, 0x60, 0x24, 0xb3, 0xf2, 0xb4, 0xc3, 0x97, 0xda, 0xb3, 0x26, + 0x13, 0x15, 0xfc, 0xfe, 0x30, 0x46, 0xcc, 0xfa, 0x28, 0xc4, 0x85, 0x44, 0x52, 0xe0, 0xfe, 0xa1, + 0x6b, 0xb7, 0xd4, 0xc0, 0x54, 0x2b, 0x72, 0x8f, 0x02, 0x7a, 0xe6, 0xb1, 0xd7, 0x89, 0x75, 0xe5, + 0x29, 0x00, 0x64, 0xfe, 0x03, 0x13, 0x18, 0xf1, 0x5c, 0x7f, 0x5f, 0x7b, 0x46, 0x07, 0xc5, 0xa0, + 0xc3, 0x24, 0xb2, 0xf3, 0x51, 0x98, 0x44, 0xc7, 0x8e, 0x44, 0x2a, 0xbd, 0x91, 0x4e, 0x48, 0x37, + 0xd2, 0xda, 0xfb, 0xe0, 0x8c, 0xb2, 0x09, 0x67, 0xba, 0x43, 0xc8, 0x26, 0x5d, 0x0e, 0xfe, 0x89, + 0xb7, 0xf6, 0xdd, 0xa0, 0xc7, 0x95, 0xa0, 0x8b, 0x87, 0x63, 0x0f, 0x4a, 0x5a, 0xf7, 0x50, 0x84, + 0x12, 0xa6, 0x0b, 0xc9, 0x95, 0x56, 0xbc, 0xdd, 0x41, 0xf6, 0x2b, 0x09, 0xe4, 0xc0, 0xf4, 0x4a, + 0x22, 0x3d, 0x2a, 0xd0, 0x53, 0xa0, 0x97, 0x5b, 0x89, 0x9f, 0xda, 0xfb, 0x4e, 0x05, 0x0d, 0x50, + 0x0c, 0xff, 0xdf, 0xd2, 0x60, 0x3b, 0x1e, 0xb1, 0x82, 0x7e, 0xca, 0xc1, 0x3f, 0xb5, 0x65, 0x51, + 0x56, 0x08, 0x21, 0xa2, 0x4f, 0xa7, 0x0b, 0xc4, 0x82, 0x4f, 0xe8, 0xa8, 0x72, 0x87, 0x4e, 0x2a, + 0x87, 0xf4, 0xb5, 0x0a, 0x18, 0x6f, 0xc1, 0xd8, 0xe3, 0x92, 0xe1, 0xdf, 0x8a, 0x1c, 0x9b, 0xa4, + 0xf7, 0xa2, 0x63, 0x25, 0x22, 0xdc, 0x2c, 0x18, 0xf3, 0x79, 0x70, 0x1b, 0xf3, 0x5b, 0xf5, 0x63, + 0x79, 0xc0, 0x58, 0x54, 0x3a, 0x4a, 0x64, 0x8c, 0x13, 0xd1, 0xc5, 0x36, 0x21, 0xed, 0xb8, 0x51, + 0x5a, 0xda, 0x29, 0xd2, 0xb1, 0x96, 0x7a, 0x17, 0x58, 0xba, 0x1d, 0x18, 0xc0, 0xd1, 0xa5, 0xd3, + 0x72, 0xd5, 0x91, 0x14, 0x5c, 0x3f, 0x26, 0x5c, 0xa5, 0x48, 0xb5, 0xe3, 0xc7, 0xfe, 0xff, 0x1e, + 0x00, 0x29, 0x67, 0x1d, 0x59, 0xce, 0xf9, 0xf6, 0xbf, 0x56, 0x41, 0x79, 0x37, 0x6e, 0x57, 0x9a, + 0x60, 0x26, 0x33, 0xb8, 0x5e, 0x34, 0x85, 0x0d, 0x19, 0x55, 0x5b, 0x2b, 0x82, 0x12, 0x9e, 0xf0, + 0x53, 0x00, 0xa4, 0xe1, 0x71, 0xdd, 0xb8, 0x57, 0x60, 0x6a, 0xab, 0xf9, 0x18, 0x41, 0x1d, 0x82, + 0xd3, 0xd9, 0xc1, 0xf0, 0x92, 0x69, 0x73, 0x06, 0x56, 0xbb, 0x55, 0x08, 0x26, 0xd8, 0x1c, 0x82, + 0x33, 0xea, 0x6c, 0xf7, 0xa6, 0x95, 0x42, 0x0a, 0xac, 0x6d, 0x14, 0x04, 0x0a, 0x66, 0x9f, 0x80, + 0x29, 0x31, 0x3e, 0x5d, 0xb0, 0x6d, 0xc6, 0x88, 0xda, 0x72, 0x1e, 0x42, 0xd0, 0x6d, 0x82, 0x99, + 0xcc, 0xac, 0x73, 0xd1, 0xb6, 0x93, 0xa3, 0xcc, 0x5f, 0x5b, 0x37, 0xc8, 0xc4, 0x5f, 0x5b, 0x1a, + 0x62, 0xd6, 0x6d, 0x7b, 0x29, 0xc6, 0xfc, 0xb5, 0x07, 0x47, 0x90, 0x95, 0x03, 0x30, 0xab, 0x8c, + 0x1f, 0x6f, 0xd8, 0x76, 0xa7, 0xb8, 0xda, 0x7a, 0x31, 0x9c, 0xe0, 0x14, 0x82, 0xb3, 0x03, 0x63, + 0xc4, 0xe5, 0x1c, 0x1a, 0x02, 0x59, 0x7b, 0xb7, 0x28, 0x32, 0xe3, 0x60, 0xca, 0xa0, 0xd0, 0xec, + 0x60, 0x59, 0xa0, 0xc5, 0xc1, 0xf4, 0xc3, 0xc3, 0xca, 0x67, 0xe0, 0xdc, 0xe0, 0xe4, 0x70, 0x25, + 0x87, 0x4a, 0x0a, 0xad, 0x6d, 0x16, 0x86, 0x0a, 0x96, 0xcf, 0xc1, 0x29, 0x79, 0x96, 0x78, 0xdd, + 0x44, 0x41, 0x02, 0xd5, 0xde, 0x29, 0x00, 0xca, 0x04, 0x82, 0xcc, 0xf8, 0x6e, 0x29, 0x47, 0x48, + 0x16, 0x6c, 0x6e, 0x15, 0x82, 0x09, 0x36, 0x2f, 0xc0, 0x9c, 0x76, 0x6a, 0xb7, 0x56, 0x40, 0x56, + 0x81, 0xae, 0xbd, 0x37, 0x0c, 0x5a, 0xf0, 0x7e, 0x06, 0xa6, 0xd3, 0x71, 0xdd, 0x35, 0x13, 0x09, + 0x01, 0xa9, 0xad, 0xe4, 0x42, 0xe4, 0x63, 0x2b, 0xcd, 0xd1, 0xea, 0xb6, 0x8d, 0x14, 0x63, 0x3e, + 0xb6, 0x83, 0x83, 0x32, 0xfc, 0x6d, 0xb2, 0x53, 0xb2, 0xa5, 0x9c, 0xcd, 0x14, 0x66, 0xfe, 0x36, + 0xda, 0x49, 0x18, 0x76, 0xeb, 0xc1, 0x31, 0x98, 0xd5, 0x08, 0x19, 0xa8, 0xd9, 0xad, 0x8d, 0x23, + 0x2f, 0xec, 0x0e, 0xda, 0x79, 0xd7, 0x5a, 0x31, 0x52, 0x4c, 0xcf, 0xf7, 0x86, 0x41, 0xcb, 0x47, + 0x4a, 0x9e, 0x6d, 0x5d, 0xb7, 0x10, 0xe1, 0x20, 0xf3, 0x91, 0xd2, 0x4c, 0xb5, 0xd8, 0x67, 0x93, + 0x82, 0xad, 0xed, 0xb3, 0x49, 0xb1, 0xf6, 0x56, 0x21, 0x98, 0xa2, 0x87, 0x98, 0x5a, 0xd9, 0xf4, + 0xe0, 0x20, 0xab, 0x1e, 0xea, 0x64, 0x0a, 0x67, 0x0d, 0x65, 0x2c, 0x65, 0xcc, 0x1a, 0x59, 0x9c, + 0x39, 0x6b, 0x18, 0x66, 0x52, 0x87, 0xe0, 0x8c, 0x3a, 0x67, 0xba, 0x69, 0x96, 0x34, 0x03, 0x34, + 0x47, 0x71, 0xc3, 0xb0, 0x08, 0xa7, 0xf3, 0xcc, 0xa4, 0x68, 0x31, 0x97, 0x00, 0x56, 0x69, 0xad, + 0x08, 0x4a, 0xab, 0x10, 0x73, 0xed, 0x7c, 0x85, 0x98, 0x57, 0x6f, 0x14, 0x04, 0xaa, 0xb5, 0x5c, + 0x3a, 0x03, 0xb2, 0xd6, 0x72, 0x02, 0x66, 0xaf, 0xe5, 0x06, 0xc6, 0x35, 0x95, 0x5f, 0x82, 0xb7, + 0xf4, 0xa3, 0x9a, 0x5b, 0xb9, 0x79, 0x54, 0x86, 0xd7, 0xee, 0x0e, 0x05, 0xb7, 0xb0, 0x67, 0x63, + 0x96, 0xa2, 0xec, 0x29, 0xbc, 0x30, 0xfb, 0xec, 0x44, 0x84, 0x94, 0x50, 0xd9, 0x71, 0xc8, 0x8d, + 0x7c, 0x42, 0x18, 0x67, 0x29, 0xa1, 0xb4, 0x33, 0x10, 0xec, 0x9f, 0x99, 0xf9, 0xc7, 0xa2, 0x35, + 0xe9, 0x31, 0x54, 0x6d, 0xad, 0x08, 0x4a, 0xd6, 0x46, 0x19, 0x3d, 0x18, 0xb5, 0xc9, 0xe2, 0xcc, + 0xda, 0xe8, 0xa7, 0x0e, 0x38, 0xb9, 0x0c, 0x8e, 0x1c, 0x56, 0x72, 0x88, 0xa4, 0x50, 0x73, 0x72, + 0x31, 0x8e, 0x1b, 0xf0, 0x79, 0xc8, 0xce, 0x1a, 0x96, 0x72, 0x68, 0x50, 0x98, 0xf9, 0x3c, 0x68, + 0x67, 0x0d, 0xf8, 0x8c, 0xab, 0x83, 0x86, 0x9b, 0x05, 0xe2, 0x1e, 0x06, 0x9a, 0xcf, 0xb8, 0x69, + 0xac, 0x70, 0x04, 0xce, 0xeb, 0x06, 0x07, 0xef, 0x14, 0xa0, 0x23, 0x6e, 0x24, 0x77, 0x86, 0x00, + 0x2b, 0xc5, 0x81, 0x32, 0x0b, 0x58, 0xc9, 0x4b, 0x23, 0x02, 0x6a, 0x2d, 0x0e, 0xf4, 0x9d, 0x7e, + 0x1a, 0xa0, 0xa5, 0x36, 0xff, 0xa2, 0x3d, 0x2f, 0x52, 0x94, 0x2d, 0x40, 0x0f, 0x76, 0xf2, 0x79, + 0xcc, 0x4c, 0xdb, 0xf8, 0x4b, 0x79, 0xd7, 0x41, 0x02, 0xb3, 0xc7, 0xcc, 0xc1, 0x0e, 0xfd, 0x33, + 0x30, 0x9d, 0x76, 0xdd, 0xaf, 0x59, 0x8f, 0x28, 0xf1, 0x8b, 0x95, 0x5c, 0x88, 0x52, 0x7a, 0xf2, + 0x76, 0xb7, 0xad, 0xf4, 0x64, 0x18, 0x6b, 0xe9, 0xa9, 0xf4, 0xb4, 0xb1, 0x73, 0xab, 0x0d, 0xed, + 0x9b, 0x39, 0xc7, 0x83, 0x03, 0xcd, 0xce, 0x6d, 0x68, 0x67, 0x63, 0x1f, 0x1b, 0xec, 0x65, 0x1b, + 0x4d, 0x31, 0x00, 0x35, 0xfb, 0x98, 0xb1, 0x9b, 0x8d, 0x7d, 0x2c, 0xd3, 0xca, 0x36, 0xfa, 0x98, + 0x8c, 0x32, 0xfb, 0x98, 0xae, 0x83, 0x8d, 0x6d, 0xa8, 0x76, 0xaf, 0x6f, 0x16, 0xec, 0x2f, 0x9b, + 0x6d, 0x68, 0xe8, 0xf9, 0xe2, 0x6a, 0x50, 0x6e, 0xf8, 0x5e, 0xcf, 0xdd, 0xbf, 0x83, 0xcc, 0xd5, + 0xa0, 0xa6, 0x95, 0x8b, 0x53, 0x86, 0xd2, 0xc6, 0xbd, 0x91, 0x2f, 0x23, 0xc6, 0x99, 0x53, 0x86, + 0xbe, 0x23, 0x8b, 0x2f, 0x07, 0xda, 0x76, 0xac, 0xb9, 0xa3, 0xa2, 0x41, 0x9b, 0x2f, 0x07, 0xd6, + 0xfe, 0xeb, 0x0b, 0x30, 0xa7, 0x6d, 0xb6, 0xe6, 0xf5, 0xee, 0x0a, 0xf2, 0xb6, 0x75, 0x53, 0x31, + 0x6f, 0x6d, 0x2b, 0xd5, 0xc8, 0x5b, 0x87, 0x36, 0xf3, 0xb6, 0xf5, 0x54, 0x31, 0x6f, 0x6d, 0x43, + 0x75, 0xad, 0xc0, 0xd1, 0x12, 0x68, 0x33, 0x6f, 0x5b, 0x57, 0xb5, 0x36, 0xf1, 0xab, 0x37, 0x2f, + 0x57, 0x4b, 0x0d, 0xe7, 0xab, 0x57, 0xf3, 0xa5, 0xaf, 0x5f, 0xcd, 0x97, 0xfe, 0xf3, 0x6a, 0xbe, + 0xf4, 0xfb, 0xd7, 0xf3, 0x27, 0xbe, 0x7e, 0x3d, 0x7f, 0xe2, 0x9f, 0xaf, 0xe7, 0x4f, 0x7c, 0xfa, + 0xa0, 0xed, 0x27, 0x07, 0xbd, 0xe6, 0xba, 0x87, 0x3a, 0x1b, 0x3b, 0xd0, 0x83, 0x61, 0x12, 0xb9, + 0x01, 0x0e, 0xb8, 0xdf, 0x77, 0x3b, 0x70, 0x43, 0xff, 0x97, 0x3a, 0xc9, 0x71, 0x17, 0xc6, 0xcd, + 0x49, 0xf2, 0xc7, 0x46, 0x77, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x01, 0x50, 0x90, 0x54, 0xf1, + 0x35, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5217,6 +5310,7 @@ type MsgClient interface { CreateProductDetails(ctx context.Context, in *MsgCreateProductDetails, opts ...grpc.CallOption) (*MsgCreateProductDetailsResponse, error) UpdateProductDetails(ctx context.Context, in *MsgUpdateProductDetails, opts ...grpc.CallOption) (*MsgUpdateProductDetailsResponse, error) DeleteProductDetails(ctx context.Context, in *MsgDeleteProductDetails, opts ...grpc.CallOption) (*MsgDeleteProductDetailsResponse, error) + EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) } type msgClient struct { @@ -5677,6 +5771,15 @@ func (c *msgClient) DeleteProductDetails(ctx context.Context, in *MsgDeleteProdu return out, nil } +func (c *msgClient) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) { + out := new(MsgEarlyAccessDisinviteResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/EarlyAccessDisinvite", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module @@ -5731,6 +5834,7 @@ type MsgServer interface { CreateProductDetails(context.Context, *MsgCreateProductDetails) (*MsgCreateProductDetailsResponse, error) UpdateProductDetails(context.Context, *MsgUpdateProductDetails) (*MsgUpdateProductDetailsResponse, error) DeleteProductDetails(context.Context, *MsgDeleteProductDetails) (*MsgDeleteProductDetailsResponse, error) + EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -5887,6 +5991,9 @@ func (*UnimplementedMsgServer) UpdateProductDetails(ctx context.Context, req *Ms func (*UnimplementedMsgServer) DeleteProductDetails(ctx context.Context, req *MsgDeleteProductDetails) (*MsgDeleteProductDetailsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteProductDetails not implemented") } +func (*UnimplementedMsgServer) EarlyAccessDisinvite(ctx context.Context, req *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessDisinvite not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -6792,6 +6899,24 @@ func _Msg_DeleteProductDetails_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Msg_EarlyAccessDisinvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEarlyAccessDisinvite) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).EarlyAccessDisinvite(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/EarlyAccessDisinvite", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EarlyAccessDisinvite(ctx, req.(*MsgEarlyAccessDisinvite)) + } + return interceptor(ctx, in, info, handler) +} + var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Msg", @@ -6997,6 +7122,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "DeleteProductDetails", Handler: _Msg_DeleteProductDetails_Handler, }, + { + MethodName: "EarlyAccessDisinvite", + Handler: _Msg_EarlyAccessDisinvite_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", @@ -8844,10 +8973,10 @@ func (m *MsgCouncilResponseCommit) MarshalToSizedBuffer(dAtA []byte) (int, error i-- dAtA[i] = 0x22 } - if len(m.Reponse) > 0 { - i -= len(m.Reponse) - copy(dAtA[i:], m.Reponse) - i = encodeVarintTx(dAtA, i, uint64(len(m.Reponse))) + if len(m.Response) > 0 { + i -= len(m.Response) + copy(dAtA[i:], m.Response) + i = encodeVarintTx(dAtA, i, uint64(len(m.Response))) i-- dAtA[i] = 0x1a } @@ -10419,6 +10548,66 @@ func (m *MsgDeleteProductDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } +func (m *MsgEarlyAccessDisinvite) 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 *MsgEarlyAccessDisinvite) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEarlyAccessDisinvite) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintTx(dAtA, i, uint64(len(m.User))) + 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 *MsgEarlyAccessDisinviteResponse) 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 *MsgEarlyAccessDisinviteResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEarlyAccessDisinviteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -11223,7 +11412,7 @@ func (m *MsgCouncilResponseCommit) Size() (n int) { if m.CouncilId != 0 { n += 1 + sovTx(uint64(m.CouncilId)) } - l = len(m.Reponse) + l = len(m.Response) if l > 0 { n += 1 + l + sovTx(uint64(l)) } @@ -11912,6 +12101,32 @@ func (m *MsgDeleteProductDetailsResponse) Size() (n int) { return n } +func (m *MsgEarlyAccessDisinvite) 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.User) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgEarlyAccessDisinviteResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -17009,7 +17224,7 @@ func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { } case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reponse", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17037,7 +17252,7 @@ func (m *MsgCouncilResponseCommit) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Reponse = string(dAtA[iNdEx:postIndex]) + m.Response = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { @@ -21550,6 +21765,170 @@ func (m *MsgDeleteProductDetailsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgEarlyAccessDisinvite) 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: MsgEarlyAccessDisinvite: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgEarlyAccessDisinvite: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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 + } + 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.User = 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 *MsgEarlyAccessDisinviteResponse) 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: MsgEarlyAccessDisinviteResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgEarlyAccessDisinviteResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/user.go b/x/cardchain/types/user.go index 5bb13ecf..3599aa39 100644 --- a/x/cardchain/types/user.go +++ b/x/cardchain/types/user.go @@ -1,2 +1,13 @@ package types +func (u *User) RemoveEarlyAccess() { + u.EarlyAccess.Active = false + u.EarlyAccess.InvitedByUser = "" +} + +func (u *User) AddEarlyAccess(inviter string) { + u.EarlyAccess = &EarlyAccess{ + Active: true, + InvitedByUser: inviter, + } +} diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index f70e234d..bc73282c 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go index 6911a3d0..45e01b16 100644 --- a/x/cardchain/types/voting.pb.go +++ b/x/cardchain/types/voting.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go new file mode 100644 index 00000000..36bda627 --- /dev/null +++ b/x/cardchain/types/zealy.pb.go @@ -0,0 +1,367 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/zealy.proto + +package types + +import ( + fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" +) + +// 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 Zealy struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + ZealyId string `protobuf:"bytes,2,opt,name=zealyId,proto3" json:"zealyId,omitempty"` +} + +func (m *Zealy) Reset() { *m = Zealy{} } +func (m *Zealy) String() string { return proto.CompactTextString(m) } +func (*Zealy) ProtoMessage() {} +func (*Zealy) Descriptor() ([]byte, []int) { + return fileDescriptor_1558e1909559da0f, []int{0} +} +func (m *Zealy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Zealy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Zealy.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 *Zealy) XXX_Merge(src proto.Message) { + xxx_messageInfo_Zealy.Merge(m, src) +} +func (m *Zealy) XXX_Size() int { + return m.Size() +} +func (m *Zealy) XXX_DiscardUnknown() { + xxx_messageInfo_Zealy.DiscardUnknown(m) +} + +var xxx_messageInfo_Zealy proto.InternalMessageInfo + +func (m *Zealy) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func (m *Zealy) GetZealyId() string { + if m != nil { + return m.ZealyId + } + return "" +} + +func init() { + proto.RegisterType((*Zealy)(nil), "cardchain.cardchain.Zealy") +} + +func init() { proto.RegisterFile("cardchain/cardchain/zealy.proto", fileDescriptor_1558e1909559da0f) } + +var fileDescriptor_1558e1909559da0f = []byte{ + // 167 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xaa, 0x52, 0x13, 0x73, 0x2a, 0xf5, 0x0a, 0x8a, + 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xc2, 0x7a, 0x70, 0x96, 0x92, 0x35, 0x17, 0x6b, 0x14, 0x48, + 0x8d, 0x90, 0x04, 0x17, 0x7b, 0x62, 0x4a, 0x4a, 0x51, 0x6a, 0x71, 0xb1, 0x04, 0xa3, 0x02, 0xa3, + 0x06, 0x67, 0x10, 0x8c, 0x0b, 0x92, 0x01, 0x1b, 0xe3, 0x99, 0x22, 0xc1, 0x04, 0x91, 0x81, 0x72, + 0x9d, 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, 0xdf, 0x25, 0x35, 0x39, 0x35, 0xaf, 0xa4, 0x28, + 0x31, 0xc7, 0x39, 0xb1, 0x28, 0xc5, 0x3d, 0x31, 0x37, 0x15, 0xc9, 0x7d, 0x15, 0x48, 0xec, 0x92, + 0xca, 0x82, 0xd4, 0xe2, 0x24, 0x36, 0xb0, 0x63, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x93, + 0x34, 0xdc, 0x70, 0xcf, 0x00, 0x00, 0x00, +} + +func (m *Zealy) 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 *Zealy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Zealy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ZealyId) > 0 { + i -= len(m.ZealyId) + copy(dAtA[i:], m.ZealyId) + i = encodeVarintZealy(dAtA, i, uint64(len(m.ZealyId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintZealy(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintZealy(dAtA []byte, offset int, v uint64) int { + offset -= sovZealy(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Zealy) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovZealy(uint64(l)) + } + l = len(m.ZealyId) + if l > 0 { + n += 1 + l + sovZealy(uint64(l)) + } + return n +} + +func sovZealy(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozZealy(x uint64) (n int) { + return sovZealy(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Zealy) 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 ErrIntOverflowZealy + } + 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: Zealy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Zealy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowZealy + } + 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 ErrInvalidLengthZealy + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthZealy + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ZealyId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowZealy + } + 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 ErrInvalidLengthZealy + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthZealy + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ZealyId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipZealy(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthZealy + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipZealy(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, ErrIntOverflowZealy + } + 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, ErrIntOverflowZealy + } + 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, ErrIntOverflowZealy + } + 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, ErrInvalidLengthZealy + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupZealy + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthZealy + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthZealy = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowZealy = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupZealy = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/featureflag/types/flag.pb.go b/x/featureflag/types/flag.pb.go index e1dd5d4d..9ea00283 100644 --- a/x/featureflag/types/flag.pb.go +++ b/x/featureflag/types/flag.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/genesis.pb.go b/x/featureflag/types/genesis.pb.go index da869d10..6113e755 100644 --- a/x/featureflag/types/genesis.pb.go +++ b/x/featureflag/types/genesis.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/params.pb.go b/x/featureflag/types/params.pb.go index 46dbabd7..41595524 100644 --- a/x/featureflag/types/params.pb.go +++ b/x/featureflag/types/params.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/query.pb.go b/x/featureflag/types/query.pb.go index 2ec990b9..e7d3b919 100644 --- a/x/featureflag/types/query.pb.go +++ b/x/featureflag/types/query.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -15,9 +19,6 @@ import ( 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. diff --git a/x/featureflag/types/tx.pb.go b/x/featureflag/types/tx.pb.go index af61eaab..94b4be1b 100644 --- a/x/featureflag/types/tx.pb.go +++ b/x/featureflag/types/tx.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -15,9 +19,6 @@ import ( 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. From 06b6fc0cd31821772461495c0f9d01d93d8e02fc Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 23 Dec 2024 07:15:56 +0100 Subject: [PATCH 32/99] feat(#242): All msgs should be implemented now --- api/cardchain/cardchain/card.pulsar.go | 9 +- api/cardchain/cardchain/council.pulsar.go | 9 +- api/cardchain/cardchain/encounter.pulsar.go | 9 +- api/cardchain/cardchain/genesis.pulsar.go | 9 +- api/cardchain/cardchain/image.pulsar.go | 7 +- api/cardchain/cardchain/match.pulsar.go | 7 +- .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- .../cardchain/product_details.pulsar.go | 7 +- api/cardchain/cardchain/query.pulsar.go | 9 +- api/cardchain/cardchain/query_grpc.pb.go | 1 - .../cardchain/running_average.pulsar.go | 7 +- api/cardchain/cardchain/sell_offer.pulsar.go | 9 +- api/cardchain/cardchain/server.pulsar.go | 7 +- api/cardchain/cardchain/set.pulsar.go | 9 +- api/cardchain/cardchain/tx.pulsar.go | 1246 ++++++++--------- api/cardchain/cardchain/tx_grpc.pb.go | 1 - api/cardchain/cardchain/user.pulsar.go | 7 +- api/cardchain/cardchain/voting.pulsar.go | 7 +- api/cardchain/cardchain/zealy.pulsar.go | 7 +- api/cardchain/featureflag/flag.pulsar.go | 7 +- api/cardchain/featureflag/genesis.pulsar.go | 11 +- .../featureflag/module/module.pulsar.go | 9 +- api/cardchain/featureflag/params.pulsar.go | 9 +- api/cardchain/featureflag/query.pulsar.go | 9 +- api/cardchain/featureflag/query_grpc.pb.go | 1 - api/cardchain/featureflag/tx.pulsar.go | 9 +- api/cardchain/featureflag/tx_grpc.pb.go | 1 - proto/cardchain/cardchain/tx.proto | 371 +++-- {x/cardchain/keeper => util}/arrays.go | 2 +- .../keeper/msg_server_booster_pack_open.go | 63 +- .../msg_server_booster_pack_transfer.go | 36 +- x/cardchain/keeper/msg_server_card_donate.go | 12 +- .../keeper/msg_server_card_rarity_set.go | 14 +- .../keeper/msg_server_card_save_content.go | 62 +- .../keeper/msg_server_card_transfer.go | 40 +- x/cardchain/keeper/msg_server_card_vote.go | 20 +- .../keeper/msg_server_card_vote_multi.go | 16 +- .../keeper/msg_server_council_deregister.go | 16 +- .../keeper/msg_server_council_register.go | 46 +- .../msg_server_council_response_reveal.go | 63 +- .../keeper/msg_server_council_restart.go | 18 +- .../keeper/msg_server_early_access_invite.go | 32 +- .../keeper/msg_server_encounter_close.go | 39 +- .../keeper/msg_server_encounter_create.go | 66 +- x/cardchain/keeper/msg_server_encounter_do.go | 28 +- x/cardchain/keeper/msg_server_match_open.go | 24 +- x/cardchain/keeper/msg_server_match_report.go | 32 +- .../keeper/msg_server_profile_bio_set.go | 10 +- .../keeper/msg_server_profile_card_set.go | 20 +- .../keeper/msg_server_profile_website_set.go | 10 +- .../keeper/msg_server_sell_offer_create.go | 3 +- .../keeper/msg_server_sell_offer_remove.go | 24 +- .../keeper/msg_server_set_artist_set.go | 11 +- .../keeper/msg_server_set_card_remove.go | 21 +- .../msg_server_set_contributor_remove.go | 17 +- x/cardchain/keeper/msg_server_set_finalize.go | 49 +- x/cardchain/keeper/msg_server_set_name_set.go | 11 +- .../keeper/msg_server_set_story_writer_set.go | 11 +- x/cardchain/keeper/user.go | 11 - x/cardchain/types/card.pb.go | 7 +- x/cardchain/types/council.pb.go | 7 +- x/cardchain/types/encounter.pb.go | 5 +- x/cardchain/types/errors.go | 1 + x/cardchain/types/genesis.pb.go | 7 +- x/cardchain/types/image.pb.go | 3 +- x/cardchain/types/match.pb.go | 3 +- x/cardchain/types/match_player.go | 11 + .../types/message_council_response_reveal.go | 2 +- x/cardchain/types/message_match_open.go | 6 +- x/cardchain/types/message_profile_bio_set.go | 7 + .../types/message_profile_website_set.go | 7 + x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/product_details.pb.go | 3 +- x/cardchain/types/query.pb.go | 7 +- x/cardchain/types/running_average.pb.go | 3 +- x/cardchain/types/sell_offer.pb.go | 7 +- x/cardchain/types/server.pb.go | 3 +- x/cardchain/types/set.pb.go | 5 +- x/cardchain/types/tx.pb.go | 441 +++--- x/cardchain/types/user.go | 16 + x/cardchain/types/user.pb.go | 3 +- x/cardchain/types/voting.pb.go | 3 +- x/cardchain/types/zealy.pb.go | 3 +- x/featureflag/types/flag.pb.go | 3 +- x/featureflag/types/genesis.pb.go | 7 +- x/featureflag/types/params.pb.go | 7 +- x/featureflag/types/query.pb.go | 7 +- x/featureflag/types/tx.pb.go | 7 +- 89 files changed, 1955 insertions(+), 1282 deletions(-) rename {x/cardchain/keeper => util}/arrays.go (94%) create mode 100644 x/cardchain/types/match_player.go diff --git a/api/cardchain/cardchain/card.pulsar.go b/api/cardchain/cardchain/card.pulsar.go index dbd52ee2..193c865e 100644 --- a/api/cardchain/cardchain/card.pulsar.go +++ b/api/cardchain/cardchain/card.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Card_14_list)(nil) diff --git a/api/cardchain/cardchain/council.pulsar.go b/api/cardchain/cardchain/council.pulsar.go index 1afba505..ad8e4373 100644 --- a/api/cardchain/cardchain/council.pulsar.go +++ b/api/cardchain/cardchain/council.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Council_2_list)(nil) diff --git a/api/cardchain/cardchain/encounter.pulsar.go b/api/cardchain/cardchain/encounter.pulsar.go index 7dc474db..f8002c77 100644 --- a/api/cardchain/cardchain/encounter.pulsar.go +++ b/api/cardchain/cardchain/encounter.pulsar.go @@ -3,16 +3,15 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var _ protoreflect.List = (*_Encounter_2_list)(nil) diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index 4d3bf7a0..c48c933d 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_GenesisState_2_list)(nil) diff --git a/api/cardchain/cardchain/image.pulsar.go b/api/cardchain/cardchain/image.pulsar.go index db59a9e8..627dece1 100644 --- a/api/cardchain/cardchain/image.pulsar.go +++ b/api/cardchain/cardchain/image.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go index b2e29884..191ba7fd 100644 --- a/api/cardchain/cardchain/match.pulsar.go +++ b/api/cardchain/cardchain/match.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index dead9881..2b190f83 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,16 +2,15 @@ package module import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index ed6b2b87..11ddc437 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,18 +2,17 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/product_details.pulsar.go b/api/cardchain/cardchain/product_details.pulsar.go index f50578bd..4217d854 100644 --- a/api/cardchain/cardchain/product_details.pulsar.go +++ b/api/cardchain/cardchain/product_details.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 13f0031e..0bf3306c 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,19 +2,18 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 1f94614b..eaabaeb4 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/running_average.pulsar.go b/api/cardchain/cardchain/running_average.pulsar.go index 48c3ca74..9cff2c1b 100644 --- a/api/cardchain/cardchain/running_average.pulsar.go +++ b/api/cardchain/cardchain/running_average.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_RunningAverage_1_list)(nil) diff --git a/api/cardchain/cardchain/sell_offer.pulsar.go b/api/cardchain/cardchain/sell_offer.pulsar.go index 5f5fb235..55fde4b3 100644 --- a/api/cardchain/cardchain/sell_offer.pulsar.go +++ b/api/cardchain/cardchain/sell_offer.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/server.pulsar.go b/api/cardchain/cardchain/server.pulsar.go index 25cbab32..e8d66d38 100644 --- a/api/cardchain/cardchain/server.pulsar.go +++ b/api/cardchain/cardchain/server.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go index 0ff46d34..84be5f2e 100644 --- a/api/cardchain/cardchain/set.pulsar.go +++ b/api/cardchain/cardchain/set.pulsar.go @@ -2,16 +2,15 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Set_2_list)(nil) diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index 91c94b9a..ac894ab3 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,21 +2,20 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var ( @@ -25306,7 +25305,7 @@ var ( md_MsgCouncilResponseReveal protoreflect.MessageDescriptor fd_MsgCouncilResponseReveal_creator protoreflect.FieldDescriptor fd_MsgCouncilResponseReveal_councilId protoreflect.FieldDescriptor - fd_MsgCouncilResponseReveal_reponse protoreflect.FieldDescriptor + fd_MsgCouncilResponseReveal_response protoreflect.FieldDescriptor fd_MsgCouncilResponseReveal_secret protoreflect.FieldDescriptor ) @@ -25315,7 +25314,7 @@ func init() { md_MsgCouncilResponseReveal = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCouncilResponseReveal") fd_MsgCouncilResponseReveal_creator = md_MsgCouncilResponseReveal.Fields().ByName("creator") fd_MsgCouncilResponseReveal_councilId = md_MsgCouncilResponseReveal.Fields().ByName("councilId") - fd_MsgCouncilResponseReveal_reponse = md_MsgCouncilResponseReveal.Fields().ByName("reponse") + fd_MsgCouncilResponseReveal_response = md_MsgCouncilResponseReveal.Fields().ByName("response") fd_MsgCouncilResponseReveal_secret = md_MsgCouncilResponseReveal.Fields().ByName("secret") } @@ -25396,9 +25395,9 @@ func (x *fastReflection_MsgCouncilResponseReveal) Range(f func(protoreflect.Fiel return } } - if x.Reponse != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Reponse)) - if !f(fd_MsgCouncilResponseReveal_reponse, value) { + if x.Response != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Response)) + if !f(fd_MsgCouncilResponseReveal_response, value) { return } } @@ -25427,8 +25426,8 @@ func (x *fastReflection_MsgCouncilResponseReveal) Has(fd protoreflect.FieldDescr return x.Creator != "" case "cardchain.cardchain.MsgCouncilResponseReveal.councilId": return x.CouncilId != uint64(0) - case "cardchain.cardchain.MsgCouncilResponseReveal.reponse": - return x.Reponse != 0 + case "cardchain.cardchain.MsgCouncilResponseReveal.response": + return x.Response != 0 case "cardchain.cardchain.MsgCouncilResponseReveal.secret": return x.Secret != "" default: @@ -25451,8 +25450,8 @@ func (x *fastReflection_MsgCouncilResponseReveal) Clear(fd protoreflect.FieldDes x.Creator = "" case "cardchain.cardchain.MsgCouncilResponseReveal.councilId": x.CouncilId = uint64(0) - case "cardchain.cardchain.MsgCouncilResponseReveal.reponse": - x.Reponse = 0 + case "cardchain.cardchain.MsgCouncilResponseReveal.response": + x.Response = 0 case "cardchain.cardchain.MsgCouncilResponseReveal.secret": x.Secret = "" default: @@ -25477,8 +25476,8 @@ func (x *fastReflection_MsgCouncilResponseReveal) Get(descriptor protoreflect.Fi case "cardchain.cardchain.MsgCouncilResponseReveal.councilId": value := x.CouncilId return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.MsgCouncilResponseReveal.reponse": - value := x.Reponse + case "cardchain.cardchain.MsgCouncilResponseReveal.response": + value := x.Response return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) case "cardchain.cardchain.MsgCouncilResponseReveal.secret": value := x.Secret @@ -25507,8 +25506,8 @@ func (x *fastReflection_MsgCouncilResponseReveal) Set(fd protoreflect.FieldDescr x.Creator = value.Interface().(string) case "cardchain.cardchain.MsgCouncilResponseReveal.councilId": x.CouncilId = value.Uint() - case "cardchain.cardchain.MsgCouncilResponseReveal.reponse": - x.Reponse = (Response)(value.Enum()) + case "cardchain.cardchain.MsgCouncilResponseReveal.response": + x.Response = (Response)(value.Enum()) case "cardchain.cardchain.MsgCouncilResponseReveal.secret": x.Secret = value.Interface().(string) default: @@ -25535,8 +25534,8 @@ func (x *fastReflection_MsgCouncilResponseReveal) Mutable(fd protoreflect.FieldD panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCouncilResponseReveal is not mutable")) case "cardchain.cardchain.MsgCouncilResponseReveal.councilId": panic(fmt.Errorf("field councilId of message cardchain.cardchain.MsgCouncilResponseReveal is not mutable")) - case "cardchain.cardchain.MsgCouncilResponseReveal.reponse": - panic(fmt.Errorf("field reponse of message cardchain.cardchain.MsgCouncilResponseReveal is not mutable")) + case "cardchain.cardchain.MsgCouncilResponseReveal.response": + panic(fmt.Errorf("field response of message cardchain.cardchain.MsgCouncilResponseReveal is not mutable")) case "cardchain.cardchain.MsgCouncilResponseReveal.secret": panic(fmt.Errorf("field secret of message cardchain.cardchain.MsgCouncilResponseReveal is not mutable")) default: @@ -25556,7 +25555,7 @@ func (x *fastReflection_MsgCouncilResponseReveal) NewField(fd protoreflect.Field return protoreflect.ValueOfString("") case "cardchain.cardchain.MsgCouncilResponseReveal.councilId": return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.MsgCouncilResponseReveal.reponse": + case "cardchain.cardchain.MsgCouncilResponseReveal.response": return protoreflect.ValueOfEnum(0) case "cardchain.cardchain.MsgCouncilResponseReveal.secret": return protoreflect.ValueOfString("") @@ -25636,8 +25635,8 @@ func (x *fastReflection_MsgCouncilResponseReveal) ProtoMethods() *protoiface.Met if x.CouncilId != 0 { n += 1 + runtime.Sov(uint64(x.CouncilId)) } - if x.Reponse != 0 { - n += 1 + runtime.Sov(uint64(x.Reponse)) + if x.Response != 0 { + n += 1 + runtime.Sov(uint64(x.Response)) } l = len(x.Secret) if l > 0 { @@ -25679,8 +25678,8 @@ func (x *fastReflection_MsgCouncilResponseReveal) ProtoMethods() *protoiface.Met i-- dAtA[i] = 0x22 } - if x.Reponse != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Reponse)) + if x.Response != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Response)) i-- dAtA[i] = 0x18 } @@ -25798,9 +25797,9 @@ func (x *fastReflection_MsgCouncilResponseReveal) ProtoMethods() *protoiface.Met } case 3: if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reponse", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) } - x.Reponse = 0 + x.Response = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -25810,7 +25809,7 @@ func (x *fastReflection_MsgCouncilResponseReveal) ProtoMethods() *protoiface.Met } b := dAtA[iNdEx] iNdEx++ - x.Reponse |= Response(b&0x7F) << shift + x.Response |= Response(b&0x7F) << shift if b < 0x80 { break } @@ -35242,7 +35241,7 @@ func (x *_MsgMatchOpen_4_list) Append(value protoreflect.Value) { } func (x *_MsgMatchOpen_4_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message MsgMatchOpen at list field PlayerAdeck as it is not of Message kind")) + panic(fmt.Errorf("AppendMutable can not be called on message MsgMatchOpen at list field PlayerADeck as it is not of Message kind")) } func (x *_MsgMatchOpen_4_list) Truncate(n int) { @@ -35288,7 +35287,7 @@ func (x *_MsgMatchOpen_5_list) Append(value protoreflect.Value) { } func (x *_MsgMatchOpen_5_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message MsgMatchOpen at list field PlayerBdeck as it is not of Message kind")) + panic(fmt.Errorf("AppendMutable can not be called on message MsgMatchOpen at list field PlayerBDeck as it is not of Message kind")) } func (x *_MsgMatchOpen_5_list) Truncate(n int) { @@ -35309,8 +35308,8 @@ var ( fd_MsgMatchOpen_creator protoreflect.FieldDescriptor fd_MsgMatchOpen_playerA protoreflect.FieldDescriptor fd_MsgMatchOpen_playerB protoreflect.FieldDescriptor - fd_MsgMatchOpen_playerAdeck protoreflect.FieldDescriptor - fd_MsgMatchOpen_playerBdeck protoreflect.FieldDescriptor + fd_MsgMatchOpen_playerADeck protoreflect.FieldDescriptor + fd_MsgMatchOpen_playerBDeck protoreflect.FieldDescriptor ) func init() { @@ -35319,8 +35318,8 @@ func init() { fd_MsgMatchOpen_creator = md_MsgMatchOpen.Fields().ByName("creator") fd_MsgMatchOpen_playerA = md_MsgMatchOpen.Fields().ByName("playerA") fd_MsgMatchOpen_playerB = md_MsgMatchOpen.Fields().ByName("playerB") - fd_MsgMatchOpen_playerAdeck = md_MsgMatchOpen.Fields().ByName("playerAdeck") - fd_MsgMatchOpen_playerBdeck = md_MsgMatchOpen.Fields().ByName("playerBdeck") + fd_MsgMatchOpen_playerADeck = md_MsgMatchOpen.Fields().ByName("playerADeck") + fd_MsgMatchOpen_playerBDeck = md_MsgMatchOpen.Fields().ByName("playerBDeck") } var _ protoreflect.Message = (*fastReflection_MsgMatchOpen)(nil) @@ -35406,15 +35405,15 @@ func (x *fastReflection_MsgMatchOpen) Range(f func(protoreflect.FieldDescriptor, return } } - if len(x.PlayerAdeck) != 0 { - value := protoreflect.ValueOfList(&_MsgMatchOpen_4_list{list: &x.PlayerAdeck}) - if !f(fd_MsgMatchOpen_playerAdeck, value) { + if len(x.PlayerADeck) != 0 { + value := protoreflect.ValueOfList(&_MsgMatchOpen_4_list{list: &x.PlayerADeck}) + if !f(fd_MsgMatchOpen_playerADeck, value) { return } } - if len(x.PlayerBdeck) != 0 { - value := protoreflect.ValueOfList(&_MsgMatchOpen_5_list{list: &x.PlayerBdeck}) - if !f(fd_MsgMatchOpen_playerBdeck, value) { + if len(x.PlayerBDeck) != 0 { + value := protoreflect.ValueOfList(&_MsgMatchOpen_5_list{list: &x.PlayerBDeck}) + if !f(fd_MsgMatchOpen_playerBDeck, value) { return } } @@ -35439,10 +35438,10 @@ func (x *fastReflection_MsgMatchOpen) Has(fd protoreflect.FieldDescriptor) bool return x.PlayerA != "" case "cardchain.cardchain.MsgMatchOpen.playerB": return x.PlayerB != "" - case "cardchain.cardchain.MsgMatchOpen.playerAdeck": - return len(x.PlayerAdeck) != 0 - case "cardchain.cardchain.MsgMatchOpen.playerBdeck": - return len(x.PlayerBdeck) != 0 + case "cardchain.cardchain.MsgMatchOpen.playerADeck": + return len(x.PlayerADeck) != 0 + case "cardchain.cardchain.MsgMatchOpen.playerBDeck": + return len(x.PlayerBDeck) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpen")) @@ -35465,10 +35464,10 @@ func (x *fastReflection_MsgMatchOpen) Clear(fd protoreflect.FieldDescriptor) { x.PlayerA = "" case "cardchain.cardchain.MsgMatchOpen.playerB": x.PlayerB = "" - case "cardchain.cardchain.MsgMatchOpen.playerAdeck": - x.PlayerAdeck = nil - case "cardchain.cardchain.MsgMatchOpen.playerBdeck": - x.PlayerBdeck = nil + case "cardchain.cardchain.MsgMatchOpen.playerADeck": + x.PlayerADeck = nil + case "cardchain.cardchain.MsgMatchOpen.playerBDeck": + x.PlayerBDeck = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpen")) @@ -35494,17 +35493,17 @@ func (x *fastReflection_MsgMatchOpen) Get(descriptor protoreflect.FieldDescripto case "cardchain.cardchain.MsgMatchOpen.playerB": value := x.PlayerB return protoreflect.ValueOfString(value) - case "cardchain.cardchain.MsgMatchOpen.playerAdeck": - if len(x.PlayerAdeck) == 0 { + case "cardchain.cardchain.MsgMatchOpen.playerADeck": + if len(x.PlayerADeck) == 0 { return protoreflect.ValueOfList(&_MsgMatchOpen_4_list{}) } - listValue := &_MsgMatchOpen_4_list{list: &x.PlayerAdeck} + listValue := &_MsgMatchOpen_4_list{list: &x.PlayerADeck} return protoreflect.ValueOfList(listValue) - case "cardchain.cardchain.MsgMatchOpen.playerBdeck": - if len(x.PlayerBdeck) == 0 { + case "cardchain.cardchain.MsgMatchOpen.playerBDeck": + if len(x.PlayerBDeck) == 0 { return protoreflect.ValueOfList(&_MsgMatchOpen_5_list{}) } - listValue := &_MsgMatchOpen_5_list{list: &x.PlayerBdeck} + listValue := &_MsgMatchOpen_5_list{list: &x.PlayerBDeck} return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { @@ -35532,14 +35531,14 @@ func (x *fastReflection_MsgMatchOpen) Set(fd protoreflect.FieldDescriptor, value x.PlayerA = value.Interface().(string) case "cardchain.cardchain.MsgMatchOpen.playerB": x.PlayerB = value.Interface().(string) - case "cardchain.cardchain.MsgMatchOpen.playerAdeck": + case "cardchain.cardchain.MsgMatchOpen.playerADeck": lv := value.List() clv := lv.(*_MsgMatchOpen_4_list) - x.PlayerAdeck = *clv.list - case "cardchain.cardchain.MsgMatchOpen.playerBdeck": + x.PlayerADeck = *clv.list + case "cardchain.cardchain.MsgMatchOpen.playerBDeck": lv := value.List() clv := lv.(*_MsgMatchOpen_5_list) - x.PlayerBdeck = *clv.list + x.PlayerBDeck = *clv.list default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgMatchOpen")) @@ -35560,17 +35559,17 @@ func (x *fastReflection_MsgMatchOpen) Set(fd protoreflect.FieldDescriptor, value // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgMatchOpen) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.MsgMatchOpen.playerAdeck": - if x.PlayerAdeck == nil { - x.PlayerAdeck = []uint64{} + case "cardchain.cardchain.MsgMatchOpen.playerADeck": + if x.PlayerADeck == nil { + x.PlayerADeck = []uint64{} } - value := &_MsgMatchOpen_4_list{list: &x.PlayerAdeck} + value := &_MsgMatchOpen_4_list{list: &x.PlayerADeck} return protoreflect.ValueOfList(value) - case "cardchain.cardchain.MsgMatchOpen.playerBdeck": - if x.PlayerBdeck == nil { - x.PlayerBdeck = []uint64{} + case "cardchain.cardchain.MsgMatchOpen.playerBDeck": + if x.PlayerBDeck == nil { + x.PlayerBDeck = []uint64{} } - value := &_MsgMatchOpen_5_list{list: &x.PlayerBdeck} + value := &_MsgMatchOpen_5_list{list: &x.PlayerBDeck} return protoreflect.ValueOfList(value) case "cardchain.cardchain.MsgMatchOpen.creator": panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgMatchOpen is not mutable")) @@ -35597,10 +35596,10 @@ func (x *fastReflection_MsgMatchOpen) NewField(fd protoreflect.FieldDescriptor) return protoreflect.ValueOfString("") case "cardchain.cardchain.MsgMatchOpen.playerB": return protoreflect.ValueOfString("") - case "cardchain.cardchain.MsgMatchOpen.playerAdeck": + case "cardchain.cardchain.MsgMatchOpen.playerADeck": list := []uint64{} return protoreflect.ValueOfList(&_MsgMatchOpen_4_list{list: &list}) - case "cardchain.cardchain.MsgMatchOpen.playerBdeck": + case "cardchain.cardchain.MsgMatchOpen.playerBDeck": list := []uint64{} return protoreflect.ValueOfList(&_MsgMatchOpen_5_list{list: &list}) default: @@ -35684,16 +35683,16 @@ func (x *fastReflection_MsgMatchOpen) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if len(x.PlayerAdeck) > 0 { + if len(x.PlayerADeck) > 0 { l = 0 - for _, e := range x.PlayerAdeck { + for _, e := range x.PlayerADeck { l += runtime.Sov(uint64(e)) } n += 1 + runtime.Sov(uint64(l)) + l } - if len(x.PlayerBdeck) > 0 { + if len(x.PlayerBDeck) > 0 { l = 0 - for _, e := range x.PlayerBdeck { + for _, e := range x.PlayerBDeck { l += runtime.Sov(uint64(e)) } n += 1 + runtime.Sov(uint64(l)) + l @@ -35727,14 +35726,14 @@ func (x *fastReflection_MsgMatchOpen) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.PlayerBdeck) > 0 { + if len(x.PlayerBDeck) > 0 { var pksize2 int - for _, num := range x.PlayerBdeck { + for _, num := range x.PlayerBDeck { pksize2 += runtime.Sov(uint64(num)) } i -= pksize2 j1 := i - for _, num := range x.PlayerBdeck { + for _, num := range x.PlayerBDeck { for num >= 1<<7 { dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -35747,14 +35746,14 @@ func (x *fastReflection_MsgMatchOpen) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x2a } - if len(x.PlayerAdeck) > 0 { + if len(x.PlayerADeck) > 0 { var pksize4 int - for _, num := range x.PlayerAdeck { + for _, num := range x.PlayerADeck { pksize4 += runtime.Sov(uint64(num)) } i -= pksize4 j3 := i - for _, num := range x.PlayerAdeck { + for _, num := range x.PlayerADeck { for num >= 1<<7 { dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -35950,7 +35949,7 @@ func (x *fastReflection_MsgMatchOpen) ProtoMethods() *protoiface.Methods { break } } - x.PlayerAdeck = append(x.PlayerAdeck, v) + x.PlayerADeck = append(x.PlayerADeck, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -35985,8 +35984,8 @@ func (x *fastReflection_MsgMatchOpen) ProtoMethods() *protoiface.Methods { } } elementCount = count - if elementCount != 0 && len(x.PlayerAdeck) == 0 { - x.PlayerAdeck = make([]uint64, 0, elementCount) + if elementCount != 0 && len(x.PlayerADeck) == 0 { + x.PlayerADeck = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -36004,10 +36003,10 @@ func (x *fastReflection_MsgMatchOpen) ProtoMethods() *protoiface.Methods { break } } - x.PlayerAdeck = append(x.PlayerAdeck, v) + x.PlayerADeck = append(x.PlayerADeck, v) } } else { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PlayerAdeck", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PlayerADeck", wireType) } case 5: if wireType == 0 { @@ -36026,7 +36025,7 @@ func (x *fastReflection_MsgMatchOpen) ProtoMethods() *protoiface.Methods { break } } - x.PlayerBdeck = append(x.PlayerBdeck, v) + x.PlayerBDeck = append(x.PlayerBDeck, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -36061,8 +36060,8 @@ func (x *fastReflection_MsgMatchOpen) ProtoMethods() *protoiface.Methods { } } elementCount = count - if elementCount != 0 && len(x.PlayerBdeck) == 0 { - x.PlayerBdeck = make([]uint64, 0, elementCount) + if elementCount != 0 && len(x.PlayerBDeck) == 0 { + x.PlayerBDeck = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -36080,10 +36079,10 @@ func (x *fastReflection_MsgMatchOpen) ProtoMethods() *protoiface.Methods { break } } - x.PlayerBdeck = append(x.PlayerBdeck, v) + x.PlayerBDeck = append(x.PlayerBDeck, v) } } else { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PlayerBdeck", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PlayerBDeck", wireType) } default: iNdEx = preIndex @@ -48914,7 +48913,7 @@ type MsgCouncilResponseReveal struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` - Reponse Response `protobuf:"varint,3,opt,name=reponse,proto3,enum=cardchain.cardchain.Response" json:"reponse,omitempty"` + Response Response `protobuf:"varint,3,opt,name=response,proto3,enum=cardchain.cardchain.Response" json:"response,omitempty"` Secret string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` } @@ -48952,9 +48951,9 @@ func (x *MsgCouncilResponseReveal) GetCouncilId() uint64 { return 0 } -func (x *MsgCouncilResponseReveal) GetReponse() Response { +func (x *MsgCouncilResponseReveal) GetResponse() Response { if x != nil { - return x.Reponse + return x.Response } return Response_Yes } @@ -49748,8 +49747,8 @@ type MsgMatchOpen 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"` + 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 (x *MsgMatchOpen) Reset() { @@ -49793,16 +49792,16 @@ func (x *MsgMatchOpen) GetPlayerB() string { return "" } -func (x *MsgMatchOpen) GetPlayerAdeck() []uint64 { +func (x *MsgMatchOpen) GetPlayerADeck() []uint64 { if x != nil { - return x.PlayerAdeck + return x.PlayerADeck } return nil } -func (x *MsgMatchOpen) GetPlayerBdeck() []uint64 { +func (x *MsgMatchOpen) GetPlayerBDeck() []uint64 { if x != nil { - return x.PlayerBdeck + return x.PlayerBDeck } return nil } @@ -50985,585 +50984,586 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x18, 0x4d, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x37, - 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, - 0x72, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, - 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x59, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, - 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x3a, 0x0c, - 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x4d, 0x73, - 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x64, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, - 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x76, 0x6f, 0x74, - 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x0a, - 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x39, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x59, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, - 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, - 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, - 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x4c, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, - 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, - 0x03, 0x62, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x6f, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, - 0x18, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x4d, 0x73, 0x67, - 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, + 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, + 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x0f, + 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, - 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x36, 0x0a, - 0x1a, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, - 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, - 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, - 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, - 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x14, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x72, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, - 0x65, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, - 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, - 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, - 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x42, 0x0a, 0x18, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, - 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, - 0xae, 0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x41, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x41, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x12, 0x20, - 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x65, 0x63, 0x6b, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x65, 0x63, 0x6b, - 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x64, 0x65, 0x63, 0x6b, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x64, 0x65, - 0x63, 0x6b, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x30, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x22, 0x61, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, - 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, - 0x73, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, - 0x6c, 0x69, 0x61, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x52, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, - 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x02, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x72, 0x61, - 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x64, 0x72, 0x61, - 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x6e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, - 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, + 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x76, + 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, + 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, + 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, + 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, + 0x73, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, + 0x69, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, + 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x4c, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, + 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x10, 0x0a, 0x03, 0x62, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, + 0x6f, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x4d, + 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, + 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x62, + 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, + 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x36, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, + 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, + 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x42, + 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, + 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, + 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x3a, 0x0c, + 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x0a, 0x1e, + 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, + 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x0a, 0x10, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x6f, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, + 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x42, 0x0a, + 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, + 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, + 0x64, 0x22, 0xae, 0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, + 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x42, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, + 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x44, 0x65, 0x63, 0x6b, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x44, 0x65, + 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x44, 0x65, 0x63, + 0x6b, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, + 0x44, 0x65, 0x63, 0x6b, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x30, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, + 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x52, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, + 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x52, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, + 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, + 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, + 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x02, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x72, 0x61, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x64, + 0x72, 0x61, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x6e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x44, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, + 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, + 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4d, 0x73, - 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, - 0x10, 0x0a, 0x03, 0x77, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x77, 0x6f, - 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x17, - 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x72, 0x12, 0x10, 0x0a, 0x03, 0x77, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, + 0x77, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, + 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, + 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x31, 0x0a, 0x1f, 0x4d, 0x73, 0x67, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x17, + 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, + 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x31, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x17, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x4d, 0x73, + 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, - 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, - 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, - 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xda, 0x2a, 0x0a, 0x03, 0x4d, 0x73, 0x67, - 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, + 0x1f, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x55, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x45, 0x61, + 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xda, 0x2a, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, + 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, + 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, + 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, - 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, - 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, - 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, - 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, - 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, - 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, + 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, + 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, - 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, - 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, + 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, + 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, - 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, - 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, + 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, + 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, + 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, - 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, - 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, - 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, - 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, + 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, + 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, + 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, + 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, + 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, - 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, - 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, + 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, - 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, - 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, + 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, - 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, - 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, - 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, - 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, - 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, + 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, + 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, + 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, + 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, + 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, - 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, + 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, + 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, + 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, - 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, - 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, + 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, + 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, + 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, + 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, + 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, - 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, - 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, - 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, - 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, - 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, + 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, + 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, + 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, + 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, - 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, - 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, - 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, + 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x2d, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, - 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, - 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, - 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, - 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x1a, 0x2f, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, - 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, - 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, - 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, - 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, + 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, + 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x2e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, - 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, + 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, + 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x7a, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x55, 0x70, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, - 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, - 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, - 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, - 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, + 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -51698,7 +51698,7 @@ var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ 106, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome 104, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin 107, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity - 108, // 7: cardchain.cardchain.MsgCouncilResponseReveal.reponse:type_name -> cardchain.cardchain.Response + 108, // 7: cardchain.cardchain.MsgCouncilResponseReveal.response:type_name -> cardchain.cardchain.Response 106, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome 105, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote 105, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 51db3503..3dd8f52f 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/user.pulsar.go b/api/cardchain/cardchain/user.pulsar.go index a6f11922..c0c7e0ad 100644 --- a/api/cardchain/cardchain/user.pulsar.go +++ b/api/cardchain/cardchain/user.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_User_2_list)(nil) diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go index bf614c4f..2a02aa7e 100644 --- a/api/cardchain/cardchain/voting.pulsar.go +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_VotingResults_6_list)(nil) diff --git a/api/cardchain/cardchain/zealy.pulsar.go b/api/cardchain/cardchain/zealy.pulsar.go index 7879a400..8dedd508 100644 --- a/api/cardchain/cardchain/zealy.pulsar.go +++ b/api/cardchain/cardchain/zealy.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/flag.pulsar.go b/api/cardchain/featureflag/flag.pulsar.go index 932ce355..10b5e452 100644 --- a/api/cardchain/featureflag/flag.pulsar.go +++ b/api/cardchain/featureflag/flag.pulsar.go @@ -3,14 +3,13 @@ package featureflag import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/genesis.pulsar.go b/api/cardchain/featureflag/genesis.pulsar.go index ddfe3040..2c435bb2 100644 --- a/api/cardchain/featureflag/genesis.pulsar.go +++ b/api/cardchain/featureflag/genesis.pulsar.go @@ -2,18 +2,17 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var _ protoreflect.Map = (*_GenesisState_2_map)(nil) diff --git a/api/cardchain/featureflag/module/module.pulsar.go b/api/cardchain/featureflag/module/module.pulsar.go index 5650e208..947efc3f 100644 --- a/api/cardchain/featureflag/module/module.pulsar.go +++ b/api/cardchain/featureflag/module/module.pulsar.go @@ -2,16 +2,15 @@ package module import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/params.pulsar.go b/api/cardchain/featureflag/params.pulsar.go index 6b347b45..fb51fec2 100644 --- a/api/cardchain/featureflag/params.pulsar.go +++ b/api/cardchain/featureflag/params.pulsar.go @@ -2,17 +2,16 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query.pulsar.go b/api/cardchain/featureflag/query.pulsar.go index 1e62212d..3419d3a4 100644 --- a/api/cardchain/featureflag/query.pulsar.go +++ b/api/cardchain/featureflag/query.pulsar.go @@ -2,19 +2,18 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query_grpc.pb.go b/api/cardchain/featureflag/query_grpc.pb.go index 0e8130e8..f7957337 100644 --- a/api/cardchain/featureflag/query_grpc.pb.go +++ b/api/cardchain/featureflag/query_grpc.pb.go @@ -8,7 +8,6 @@ package featureflag import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/featureflag/tx.pulsar.go b/api/cardchain/featureflag/tx.pulsar.go index dd3db629..0cef5f49 100644 --- a/api/cardchain/featureflag/tx.pulsar.go +++ b/api/cardchain/featureflag/tx.pulsar.go @@ -2,19 +2,18 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/tx_grpc.pb.go b/api/cardchain/featureflag/tx_grpc.pb.go index 9d8cbe66..95442cac 100644 --- a/api/cardchain/featureflag/tx_grpc.pb.go +++ b/api/cardchain/featureflag/tx_grpc.pb.go @@ -8,7 +8,6 @@ package featureflag import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index a2b9ecc2..0a5adc21 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -19,74 +19,90 @@ option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // Msg defines the Msg service. service Msg { option (cosmos.msg.v1.service) = true; - + // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. - rpc UpdateParams (MsgUpdateParams ) returns (MsgUpdateParamsResponse ); - rpc UserCreate (MsgUserCreate ) returns (MsgUserCreateResponse ); - rpc CardSchemeBuy (MsgCardSchemeBuy ) returns (MsgCardSchemeBuyResponse ); - rpc CardSaveContent (MsgCardSaveContent ) returns (MsgCardSaveContentResponse ); - rpc CardVote (MsgCardVote ) returns (MsgCardVoteResponse ); - rpc CardTransfer (MsgCardTransfer ) returns (MsgCardTransferResponse ); - rpc CardDonate (MsgCardDonate ) returns (MsgCardDonateResponse ); - rpc CardArtworkAdd (MsgCardArtworkAdd ) returns (MsgCardArtworkAddResponse ); - rpc CardArtistChange (MsgCardArtistChange ) returns (MsgCardArtistChangeResponse ); - rpc CouncilRegister (MsgCouncilRegister ) returns (MsgCouncilRegisterResponse ); - rpc CouncilDeregister (MsgCouncilDeregister ) returns (MsgCouncilDeregisterResponse ); - rpc MatchReport (MsgMatchReport ) returns (MsgMatchReportResponse ); - rpc CouncilCreate (MsgCouncilCreate ) returns (MsgCouncilCreateResponse ); - rpc MatchReporterAppoint (MsgMatchReporterAppoint ) returns (MsgMatchReporterAppointResponse ); - rpc SetCreate (MsgSetCreate ) returns (MsgSetCreateResponse ); - rpc SetCardAdd (MsgSetCardAdd ) returns (MsgSetCardAddResponse ); - rpc SetCardRemove (MsgSetCardRemove ) returns (MsgSetCardRemoveResponse ); - rpc SetContributorAdd (MsgSetContributorAdd ) returns (MsgSetContributorAddResponse ); - rpc SetContributorRemove (MsgSetContributorRemove ) returns (MsgSetContributorRemoveResponse ); - rpc SetFinalize (MsgSetFinalize ) returns (MsgSetFinalizeResponse ); - rpc SetArtworkAdd (MsgSetArtworkAdd ) returns (MsgSetArtworkAddResponse ); - rpc SetStoryAdd (MsgSetStoryAdd ) returns (MsgSetStoryAddResponse ); - rpc BoosterPackBuy (MsgBoosterPackBuy ) returns (MsgBoosterPackBuyResponse ); - rpc SellOfferCreate (MsgSellOfferCreate ) returns (MsgSellOfferCreateResponse ); - rpc SellOfferBuy (MsgSellOfferBuy ) returns (MsgSellOfferBuyResponse ); - rpc SellOfferRemove (MsgSellOfferRemove ) returns (MsgSellOfferRemoveResponse ); - rpc CardRaritySet (MsgCardRaritySet ) returns (MsgCardRaritySetResponse ); - rpc CouncilResponseCommit (MsgCouncilResponseCommit) returns (MsgCouncilResponseCommitResponse); - rpc CouncilResponseReveal (MsgCouncilResponseReveal) returns (MsgCouncilResponseRevealResponse); - rpc CouncilRestart (MsgCouncilRestart ) returns (MsgCouncilRestartResponse ); - rpc MatchConfirm (MsgMatchConfirm ) returns (MsgMatchConfirmResponse ); - rpc ProfileCardSet (MsgProfileCardSet ) returns (MsgProfileCardSetResponse ); - rpc ProfileWebsiteSet (MsgProfileWebsiteSet ) returns (MsgProfileWebsiteSetResponse ); - rpc ProfileBioSet (MsgProfileBioSet ) returns (MsgProfileBioSetResponse ); - rpc BoosterPackOpen (MsgBoosterPackOpen ) returns (MsgBoosterPackOpenResponse ); - rpc BoosterPackTransfer (MsgBoosterPackTransfer ) returns (MsgBoosterPackTransferResponse ); - rpc SetStoryWriterSet (MsgSetStoryWriterSet ) returns (MsgSetStoryWriterSetResponse ); - rpc SetArtistSet (MsgSetArtistSet ) returns (MsgSetArtistSetResponse ); - rpc CardVoteMulti (MsgCardVoteMulti ) returns (MsgCardVoteMultiResponse ); - rpc MatchOpen (MsgMatchOpen ) returns (MsgMatchOpenResponse ); - rpc SetNameSet (MsgSetNameSet ) returns (MsgSetNameSetResponse ); - rpc ProfileAliasSet (MsgProfileAliasSet ) returns (MsgProfileAliasSetResponse ); - rpc EarlyAccessInvite (MsgEarlyAccessInvite ) returns (MsgEarlyAccessInviteResponse ); - rpc ZealyConnect (MsgZealyConnect ) returns (MsgZealyConnectResponse ); - rpc EncounterCreate (MsgEncounterCreate ) returns (MsgEncounterCreateResponse ); - rpc EncounterDo (MsgEncounterDo ) returns (MsgEncounterDoResponse ); - rpc EncounterClose (MsgEncounterClose ) returns (MsgEncounterCloseResponse ); - rpc CreateProductDetails (MsgCreateProductDetails ) returns (MsgCreateProductDetailsResponse ); - rpc UpdateProductDetails (MsgUpdateProductDetails ) returns (MsgUpdateProductDetailsResponse ); - rpc DeleteProductDetails (MsgDeleteProductDetails ) returns (MsgDeleteProductDetailsResponse ); - rpc EarlyAccessDisinvite (MsgEarlyAccessDisinvite ) returns (MsgEarlyAccessDisinviteResponse ); + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); + rpc UserCreate(MsgUserCreate) returns (MsgUserCreateResponse); + rpc CardSchemeBuy(MsgCardSchemeBuy) returns (MsgCardSchemeBuyResponse); + rpc CardSaveContent(MsgCardSaveContent) returns (MsgCardSaveContentResponse); + rpc CardVote(MsgCardVote) returns (MsgCardVoteResponse); + rpc CardTransfer(MsgCardTransfer) returns (MsgCardTransferResponse); + rpc CardDonate(MsgCardDonate) returns (MsgCardDonateResponse); + rpc CardArtworkAdd(MsgCardArtworkAdd) returns (MsgCardArtworkAddResponse); + rpc CardArtistChange(MsgCardArtistChange) + returns (MsgCardArtistChangeResponse); + rpc CouncilRegister(MsgCouncilRegister) returns (MsgCouncilRegisterResponse); + rpc CouncilDeregister(MsgCouncilDeregister) + returns (MsgCouncilDeregisterResponse); + rpc MatchReport(MsgMatchReport) returns (MsgMatchReportResponse); + rpc CouncilCreate(MsgCouncilCreate) returns (MsgCouncilCreateResponse); + rpc MatchReporterAppoint(MsgMatchReporterAppoint) + returns (MsgMatchReporterAppointResponse); + rpc SetCreate(MsgSetCreate) returns (MsgSetCreateResponse); + rpc SetCardAdd(MsgSetCardAdd) returns (MsgSetCardAddResponse); + rpc SetCardRemove(MsgSetCardRemove) returns (MsgSetCardRemoveResponse); + rpc SetContributorAdd(MsgSetContributorAdd) + returns (MsgSetContributorAddResponse); + rpc SetContributorRemove(MsgSetContributorRemove) + returns (MsgSetContributorRemoveResponse); + rpc SetFinalize(MsgSetFinalize) returns (MsgSetFinalizeResponse); + rpc SetArtworkAdd(MsgSetArtworkAdd) returns (MsgSetArtworkAddResponse); + rpc SetStoryAdd(MsgSetStoryAdd) returns (MsgSetStoryAddResponse); + rpc BoosterPackBuy(MsgBoosterPackBuy) returns (MsgBoosterPackBuyResponse); + rpc SellOfferCreate(MsgSellOfferCreate) returns (MsgSellOfferCreateResponse); + rpc SellOfferBuy(MsgSellOfferBuy) returns (MsgSellOfferBuyResponse); + rpc SellOfferRemove(MsgSellOfferRemove) returns (MsgSellOfferRemoveResponse); + rpc CardRaritySet(MsgCardRaritySet) returns (MsgCardRaritySetResponse); + rpc CouncilResponseCommit(MsgCouncilResponseCommit) + returns (MsgCouncilResponseCommitResponse); + rpc CouncilResponseReveal(MsgCouncilResponseReveal) + returns (MsgCouncilResponseRevealResponse); + rpc CouncilRestart(MsgCouncilRestart) returns (MsgCouncilRestartResponse); + rpc MatchConfirm(MsgMatchConfirm) returns (MsgMatchConfirmResponse); + rpc ProfileCardSet(MsgProfileCardSet) returns (MsgProfileCardSetResponse); + rpc ProfileWebsiteSet(MsgProfileWebsiteSet) + returns (MsgProfileWebsiteSetResponse); + rpc ProfileBioSet(MsgProfileBioSet) returns (MsgProfileBioSetResponse); + rpc BoosterPackOpen(MsgBoosterPackOpen) returns (MsgBoosterPackOpenResponse); + rpc BoosterPackTransfer(MsgBoosterPackTransfer) + returns (MsgBoosterPackTransferResponse); + rpc SetStoryWriterSet(MsgSetStoryWriterSet) + returns (MsgSetStoryWriterSetResponse); + rpc SetArtistSet(MsgSetArtistSet) returns (MsgSetArtistSetResponse); + rpc CardVoteMulti(MsgCardVoteMulti) returns (MsgCardVoteMultiResponse); + rpc MatchOpen(MsgMatchOpen) returns (MsgMatchOpenResponse); + rpc SetNameSet(MsgSetNameSet) returns (MsgSetNameSetResponse); + rpc ProfileAliasSet(MsgProfileAliasSet) returns (MsgProfileAliasSetResponse); + rpc EarlyAccessInvite(MsgEarlyAccessInvite) + returns (MsgEarlyAccessInviteResponse); + rpc ZealyConnect(MsgZealyConnect) returns (MsgZealyConnectResponse); + rpc EncounterCreate(MsgEncounterCreate) returns (MsgEncounterCreateResponse); + rpc EncounterDo(MsgEncounterDo) returns (MsgEncounterDoResponse); + rpc EncounterClose(MsgEncounterClose) returns (MsgEncounterCloseResponse); + rpc CreateProductDetails(MsgCreateProductDetails) + returns (MsgCreateProductDetailsResponse); + rpc UpdateProductDetails(MsgUpdateProductDetails) + returns (MsgUpdateProductDetailsResponse); + rpc DeleteProductDetails(MsgDeleteProductDetails) + returns (MsgDeleteProductDetailsResponse); + rpc EarlyAccessDisinvite(MsgEarlyAccessDisinvite) + returns (MsgEarlyAccessDisinviteResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { - option (cosmos.msg.v1.signer) = "authority"; - option (amino.name) = "cardchain/x/cardchain/MsgUpdateParams"; - + option (cosmos.msg.v1.signer) = "authority"; + option (amino.name) = "cardchain/x/cardchain/MsgUpdateParams"; + // authority is the address that controls the module (defaults to x/gov unless // overwritten). - string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; // params defines the module parameters to update. - + // NOTE: All parameters must be supplied. - Params params = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; + Params params = 2 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; } // MsgUpdateParamsResponse defines the response structure for executing a @@ -97,49 +113,43 @@ message MsgUserCreate { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; string newUser = 2; - string alias = 3; + string alias = 3; } message MsgUserCreateResponse {} message MsgCardSchemeBuy { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - cosmos.base.v1beta1.Coin bid = 2 [(gogoproto.nullable) = false]; + string creator = 1; + cosmos.base.v1beta1.Coin bid = 2 [ (gogoproto.nullable) = false ]; } -message MsgCardSchemeBuyResponse { - uint64 cardId = 1; -} +message MsgCardSchemeBuyResponse { uint64 cardId = 1; } message MsgCardSaveContent { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; - bytes content = 3; - string notes = 4; - string artist = 5; - bool balanceAnchor = 6; + string creator = 1; + uint64 cardId = 2; + bytes content = 3; + string notes = 4; + string artist = 5; + bool balanceAnchor = 6; } -message MsgCardSaveContentResponse { - bool airdropClaimed = 1; -} +message MsgCardSaveContentResponse { bool airdropClaimed = 1; } message MsgCardVote { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - SingleVote vote = 2; + string creator = 1; + SingleVote vote = 2; } -message MsgCardVoteResponse { - bool airdropClaimed = 1; -} +message MsgCardVoteResponse { bool airdropClaimed = 1; } message MsgCardTransfer { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; + string creator = 1; + uint64 cardId = 2; string receiver = 3; } @@ -147,9 +157,9 @@ message MsgCardTransferResponse {} message MsgCardDonate { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; - cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; + string creator = 1; + uint64 cardId = 2; + cosmos.base.v1beta1.Coin amount = 3 [ (gogoproto.nullable) = false ]; } message MsgCardDonateResponse {} @@ -157,9 +167,9 @@ message MsgCardDonateResponse {} message MsgCardArtworkAdd { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 cardId = 2; - bytes image = 3; - bool fullArt = 4; + uint64 cardId = 2; + bytes image = 3; + bool fullArt = 4; } message MsgCardArtworkAddResponse {} @@ -167,8 +177,8 @@ message MsgCardArtworkAddResponse {} message MsgCardArtistChange { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 cardId = 2; - string artist = 3; + uint64 cardId = 2; + string artist = 3; } message MsgCardArtistChangeResponse {} @@ -189,11 +199,11 @@ message MsgCouncilDeregisterResponse {} message MsgMatchReport { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 matchId = 2; - repeated uint64 playedCardsA = 3; - repeated uint64 playedCardsB = 4; - Outcome outcome = 5; + string creator = 1; + uint64 matchId = 2; + repeated uint64 playedCardsA = 3; + repeated uint64 playedCardsB = 4; + Outcome outcome = 5; } message MsgMatchReportResponse {} @@ -201,14 +211,14 @@ message MsgMatchReportResponse {} message MsgCouncilCreate { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 cardId = 2; + uint64 cardId = 2; } message MsgCouncilCreateResponse {} message MsgMatchReporterAppoint { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; string reporter = 2; } @@ -216,10 +226,10 @@ message MsgMatchReporterAppointResponse {} message MsgSetCreate { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - string name = 2; - string artist = 3; - string storyWriter = 4; + string creator = 1; + string name = 2; + string artist = 3; + string storyWriter = 4; repeated string contributors = 5; } @@ -228,8 +238,8 @@ message MsgSetCreateResponse {} message MsgSetCardAdd { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - uint64 cardId = 3; + uint64 setId = 2; + uint64 cardId = 3; } message MsgSetCardAddResponse {} @@ -237,8 +247,8 @@ message MsgSetCardAddResponse {} message MsgSetCardRemove { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - uint64 cardId = 3; + uint64 setId = 2; + uint64 cardId = 3; } message MsgSetCardRemoveResponse {} @@ -246,8 +256,8 @@ message MsgSetCardRemoveResponse {} message MsgSetContributorAdd { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - string user = 3; + uint64 setId = 2; + string user = 3; } message MsgSetContributorAddResponse {} @@ -255,8 +265,8 @@ message MsgSetContributorAddResponse {} message MsgSetContributorRemove { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - string user = 3; + uint64 setId = 2; + string user = 3; } message MsgSetContributorRemoveResponse {} @@ -264,7 +274,7 @@ message MsgSetContributorRemoveResponse {} message MsgSetFinalize { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; + uint64 setId = 2; } message MsgSetFinalizeResponse {} @@ -272,8 +282,8 @@ message MsgSetFinalizeResponse {} message MsgSetArtworkAdd { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - bytes image = 3; + uint64 setId = 2; + bytes image = 3; } message MsgSetArtworkAddResponse {} @@ -281,8 +291,8 @@ message MsgSetArtworkAddResponse {} message MsgSetStoryAdd { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - string story = 3; + uint64 setId = 2; + string story = 3; } message MsgSetStoryAddResponse {} @@ -290,25 +300,23 @@ message MsgSetStoryAddResponse {} message MsgBoosterPackBuy { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; + uint64 setId = 2; } -message MsgBoosterPackBuyResponse { - bool airdropClaimed = 1; -} +message MsgBoosterPackBuyResponse { bool airdropClaimed = 1; } message MsgSellOfferCreate { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; - cosmos.base.v1beta1.Coin price = 3 [(gogoproto.nullable) = false]; + string creator = 1; + uint64 cardId = 2; + cosmos.base.v1beta1.Coin price = 3 [ (gogoproto.nullable) = false ]; } message MsgSellOfferCreateResponse {} message MsgSellOfferBuy { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 sellOfferId = 2; } @@ -316,7 +324,7 @@ message MsgSellOfferBuyResponse {} message MsgSellOfferRemove { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 sellOfferId = 2; } @@ -324,19 +332,19 @@ message MsgSellOfferRemoveResponse {} message MsgCardRaritySet { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 cardId = 2; - uint64 setId = 3; - CardRarity rarity = 4; + string creator = 1; + uint64 cardId = 2; + uint64 setId = 3; + CardRarity rarity = 4; } message MsgCardRaritySetResponse {} message MsgCouncilResponseCommit { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 councilId = 2; - string response = 3; + string creator = 1; + uint64 councilId = 2; + string response = 3; string suggestion = 4; } @@ -344,17 +352,17 @@ message MsgCouncilResponseCommitResponse {} message MsgCouncilResponseReveal { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 councilId = 2; - Response reponse = 3; - string secret = 4; + string creator = 1; + uint64 councilId = 2; + Response response = 3; + string secret = 4; } message MsgCouncilResponseRevealResponse {} message MsgCouncilRestart { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 councilId = 2; } @@ -362,9 +370,9 @@ message MsgCouncilRestartResponse {} message MsgMatchConfirm { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 matchId = 2; - Outcome outcome = 3; + string creator = 1; + uint64 matchId = 2; + Outcome outcome = 3; repeated SingleVote votedCards = 4; } @@ -373,7 +381,7 @@ message MsgMatchConfirmResponse {} message MsgProfileCardSet { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 cardId = 2; + uint64 cardId = 2; } message MsgProfileCardSetResponse {} @@ -389,34 +397,32 @@ message MsgProfileWebsiteSetResponse {} message MsgProfileBioSet { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - string bio = 2; + string bio = 2; } message MsgProfileBioSetResponse {} message MsgBoosterPackOpen { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 boosterPackId = 2; } -message MsgBoosterPackOpenResponse { - repeated uint64 cardIds = 1; -} +message MsgBoosterPackOpenResponse { repeated uint64 cardIds = 1; } message MsgBoosterPackTransfer { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 boosterPackId = 2; - string receiver = 3; + string receiver = 3; } message MsgBoosterPackTransferResponse {} message MsgSetStoryWriterSet { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 setId = 2; + string creator = 1; + uint64 setId = 2; string storyWriter = 3; } @@ -425,40 +431,36 @@ message MsgSetStoryWriterSetResponse {} message MsgSetArtistSet { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - string artist = 3; + uint64 setId = 2; + string artist = 3; } message MsgSetArtistSetResponse {} message MsgCardVoteMulti { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - repeated SingleVote votes = 2; + string creator = 1; + repeated SingleVote votes = 2; } -message MsgCardVoteMultiResponse { - bool airdropClaimed = 1; -} +message MsgCardVoteMultiResponse { bool airdropClaimed = 1; } message MsgMatchOpen { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - string playerA = 2; - string playerB = 3; - repeated uint64 playerAdeck = 4; - repeated uint64 playerBdeck = 5; + string creator = 1; + string playerA = 2; + string playerB = 3; + repeated uint64 playerADeck = 4; + repeated uint64 playerBDeck = 5; } -message MsgMatchOpenResponse { - uint64 matchId = 1; -} +message MsgMatchOpenResponse { uint64 matchId = 1; } message MsgSetNameSet { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 setId = 2; - string name = 3; + uint64 setId = 2; + string name = 3; } message MsgSetNameSetResponse {} @@ -466,7 +468,7 @@ message MsgSetNameSetResponse {} message MsgProfileAliasSet { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - string alias = 2; + string alias = 2; } message MsgProfileAliasSetResponse {} @@ -474,7 +476,7 @@ message MsgProfileAliasSetResponse {} message MsgEarlyAccessInvite { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - string user = 2; + string user = 2; } message MsgEarlyAccessInviteResponse {} @@ -489,30 +491,30 @@ message MsgZealyConnectResponse {} message MsgEncounterCreate { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - string name = 2; - repeated uint64 drawlist = 3; - map parameters = 4; - bytes image = 5; + string creator = 1; + string name = 2; + repeated uint64 drawlist = 3; + map parameters = 4; + bytes image = 5; } message MsgEncounterCreateResponse {} message MsgEncounterDo { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 encounterId = 2; - string user = 3; + string user = 3; } message MsgEncounterDoResponse {} message MsgEncounterClose { option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + string creator = 1; uint64 encounterId = 2; - string user = 3; - bool won = 4; + string user = 3; + bool won = 4; } message MsgEncounterCloseResponse {} @@ -520,20 +522,18 @@ message MsgEncounterCloseResponse {} message MsgCreateProductDetails { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - string name = 2; - string desc = 3; + string name = 2; + string desc = 3; } -message MsgCreateProductDetailsResponse { - uint64 id = 1; -} +message MsgCreateProductDetailsResponse { uint64 id = 1; } message MsgUpdateProductDetails { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 id = 2; - string name = 3; - string desc = 4; + uint64 id = 2; + string name = 3; + string desc = 4; } message MsgUpdateProductDetailsResponse {} @@ -541,7 +541,7 @@ message MsgUpdateProductDetailsResponse {} message MsgDeleteProductDetails { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - uint64 id = 2; + uint64 id = 2; } message MsgDeleteProductDetailsResponse {} @@ -549,8 +549,7 @@ message MsgDeleteProductDetailsResponse {} message MsgEarlyAccessDisinvite { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; - string user = 2; + string user = 2; } message MsgEarlyAccessDisinviteResponse {} - diff --git a/x/cardchain/keeper/arrays.go b/util/arrays.go similarity index 94% rename from x/cardchain/keeper/arrays.go rename to util/arrays.go index 26bfab4e..712766ef 100644 --- a/x/cardchain/keeper/arrays.go +++ b/util/arrays.go @@ -1,4 +1,4 @@ -package keeper +package util import ( "fmt" diff --git a/x/cardchain/keeper/msg_server_booster_pack_open.go b/x/cardchain/keeper/msg_server_booster_pack_open.go index aa61826d..d1c5101f 100644 --- a/x/cardchain/keeper/msg_server_booster_pack_open.go +++ b/x/cardchain/keeper/msg_server_booster_pack_open.go @@ -2,16 +2,73 @@ package keeper import ( "context" + "slices" + errorsmod "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/rand" ) func (k msgServer) BoosterPackOpen(goCtx context.Context, msg *types.MsgBoosterPackOpen) (*types.MsgBoosterPackOpenResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } - return &types.MsgBoosterPackOpenResponse{}, nil + if uint64(len(creator.BoosterPacks)) <= msg.BoosterPackId { + return nil, errorsmod.Wrapf( + sdkerrors.ErrUnauthorized, + "BoosterPackId %d is not in list length %d", + msg.BoosterPackId, + len(creator.BoosterPacks), + ) + } + rand.Seed(uint64(ctx.BlockTime().Unix()) + uint64(len(creator.BoosterPacks))) + + var ( + cardsList []uint64 + cleanedRatios [3]uint64 + ) + pack := creator.BoosterPacks[msg.BoosterPackId] + set := k.Sets.Get(ctx, pack.SetId) + + for idx, ratio := range pack.DropRatiosPerPack { + if len(set.Rarities[idx+2].R) == 0 { + cleanedRatios[idx] = 0 + } else { + cleanedRatios[idx] = ratio + } + } + + for idx, num := range pack.RaritiesPerPack { + for i := 0; i < int(num); i++ { + if idx != 2 { + cardsList = append(cardsList, set.Rarities[idx].R[rand.Intn(len(set.Rarities[idx].R))]) + } 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, set.Rarities[j].R[rand.Intn(len(set.Rarities[j].R))]) + } + } + } + + creator.Cards = append(creator.Cards, cardsList...) + creator.BoosterPacks = slices.Delete( + creator.BoosterPacks, + int(msg.BoosterPackId), + int(msg.BoosterPackId+1), + ) + + k.SetUserFromUser(ctx, creator) + + return &types.MsgBoosterPackOpenResponse{CardIds: cardsList}, nil } diff --git a/x/cardchain/keeper/msg_server_booster_pack_transfer.go b/x/cardchain/keeper/msg_server_booster_pack_transfer.go index cf22c753..db0593db 100644 --- a/x/cardchain/keeper/msg_server_booster_pack_transfer.go +++ b/x/cardchain/keeper/msg_server_booster_pack_transfer.go @@ -2,7 +2,9 @@ package keeper import ( "context" + "slices" + errorsmod "cosmossdk.io/errors" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -10,8 +12,38 @@ import ( func (k msgServer) BoosterPackTransfer(goCtx context.Context, msg *types.MsgBoosterPackTransfer) (*types.MsgBoosterPackTransferResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + + receiver, err := k.GetUserFromString(ctx, msg.Receiver) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + + if uint64(len(creator.BoosterPacks)) <= msg.BoosterPackId { + return nil, errorsmod.Wrapf( + types.ErrInvalidData, + "BoosterPackId %d is not in list length %d", + msg.BoosterPackId, + len(creator.BoosterPacks), + ) + } + + receiver.BoosterPacks = append( + receiver.BoosterPacks, + creator.BoosterPacks[msg.BoosterPackId], + ) + + creator.BoosterPacks = slices.Delete( + creator.BoosterPacks, + int(msg.BoosterPackId), + int(msg.BoosterPackId+1), + ) + + k.SetUserFromUser(ctx, creator) + k.SetUserFromUser(ctx, receiver) return &types.MsgBoosterPackTransferResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_donate.go b/x/cardchain/keeper/msg_server_card_donate.go index 1395a6f0..39df77d5 100644 --- a/x/cardchain/keeper/msg_server_card_donate.go +++ b/x/cardchain/keeper/msg_server_card_donate.go @@ -3,15 +3,23 @@ package keeper import ( "context" + errorsmod "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) CardDonate(goCtx context.Context, msg *types.MsgCardDonate) (*types.MsgCardDonateResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + err := k.BurnCoinsFromString(ctx, msg.Creator, sdk.Coins{msg.Amount}) // If so, deduct the Bid amount from the sender + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrInsufficientFunds, "Donator does not have enough coins") + } + + card := k.Cards.Get(ctx, msg.CardId) + card.VotePool = card.VotePool.Add(msg.Amount) + k.Cards.Set(ctx, msg.CardId, card) return &types.MsgCardDonateResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_rarity_set.go b/x/cardchain/keeper/msg_server_card_rarity_set.go index 03b2ec03..8279b093 100644 --- a/x/cardchain/keeper/msg_server_card_rarity_set.go +++ b/x/cardchain/keeper/msg_server_card_rarity_set.go @@ -2,16 +2,26 @@ package keeper import ( "context" + "slices" + errorsmod "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) CardRaritySet(goCtx context.Context, msg *types.MsgCardRaritySet) (*types.MsgCardRaritySetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + card := k.Cards.Get(ctx, msg.CardId) + set := k.Sets.Get(ctx, msg.SetId) + + if set.Contributors[0] != msg.Creator || !slices.Contains(set.Cards, msg.CardId) { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Creator") + } + + card.Rarity = msg.Rarity + k.Cards.Set(ctx, msg.CardId, card) return &types.MsgCardRaritySetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_save_content.go b/x/cardchain/keeper/msg_server_card_save_content.go index 77499b72..6965f3a7 100644 --- a/x/cardchain/keeper/msg_server_card_save_content.go +++ b/x/cardchain/keeper/msg_server_card_save_content.go @@ -2,16 +2,72 @@ package keeper import ( "context" + "encoding/json" + errorsmod "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" ) func (k msgServer) CardSaveContent(goCtx context.Context, msg *types.MsgCardSaveContent) (*types.MsgCardSaveContentResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + card := k.Cards.Get(ctx, msg.CardId) + councilEnabled, err := k.FeatureFlagModuleInstance.Get(ctx, string(types.FeatureFlagName_Council)) + if err != nil { + return nil, err + } - return &types.MsgCardSaveContentResponse{}, nil + msgOwner, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrInvalidAddress, err.Error()) + } + + // Checks card status + if councilEnabled && card.Status != types.Status_prototype && card.Status != types.Status_scheme { + return nil, errorsmod.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype or scheme to be changeable") + } + + if card.Owner == "" { + return nil, errorsmod.Wrap(sdkerrors.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, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Owner") + } + + cardobj, err := keywords.Unmarshal(msg.Content) + if err != nil { + return nil, errorsmod.Wrap(types.ErrCardobject, err.Error()) + + } + + card.Content, err = json.Marshal(cardobj) + if err != nil { + return nil, errorsmod.Wrap(types.ErrCardobject, err.Error()) + } + + card.Notes = msg.Notes + card.Artist = msg.Artist + card.BalanceAnchor = msg.BalanceAnchor + if card.Status == types.Status_scheme { + err = msgOwner.SchemeToCard(msg.CardId) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.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) + + // Sets correct state + if councilEnabled { + card.Status = types.Status_prototype + } else { + card.Status = types.Status_permanent + } + k.Cards.Set(ctx, msg.CardId, card) + k.SetLastCardModifiedNow(ctx) + + return &types.MsgCardSaveContentResponse{AirdropClaimed: claimedAirdrop}, nil } diff --git a/x/cardchain/keeper/msg_server_card_transfer.go b/x/cardchain/keeper/msg_server_card_transfer.go index 62232513..31ef92fb 100644 --- a/x/cardchain/keeper/msg_server_card_transfer.go +++ b/x/cardchain/keeper/msg_server_card_transfer.go @@ -3,15 +3,51 @@ package keeper import ( "context" + errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardchain/util" "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) CardTransfer(goCtx context.Context, msg *types.MsgCardTransfer) (*types.MsgCardTransferResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + // if the vote right is valid, get the Card + card := k.Cards.Get(ctx, msg.CardId) + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + receiver, err := k.GetUserFromString(ctx, msg.Receiver) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + + if card.Owner == "" { + return nil, errorsmod.Wrap(sdkerrors.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, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Owner") // If not, throw an error + } + + if card.Status == types.Status_scheme { + creator.OwnedCardSchemes, err = util.PopItemFromArr(msg.CardId, creator.OwnedCardSchemes) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, err.Error()) + } + receiver.OwnedCardSchemes = append(receiver.OwnedCardSchemes, msg.CardId) + } else { + creator.OwnedPrototypes, err = util.PopItemFromArr(msg.CardId, creator.OwnedPrototypes) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, err.Error()) + } + receiver.OwnedPrototypes = append(receiver.OwnedPrototypes, msg.CardId) + } + + card.Owner = msg.Receiver + k.Cards.Set(ctx, msg.CardId, card) + k.SetUserFromUser(ctx, creator) + k.SetUserFromUser(ctx, receiver) return &types.MsgCardTransferResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_vote.go b/x/cardchain/keeper/msg_server_card_vote.go index 16aabdfa..6a158316 100644 --- a/x/cardchain/keeper/msg_server_card_vote.go +++ b/x/cardchain/keeper/msg_server_card_vote.go @@ -3,15 +3,29 @@ package keeper import ( "context" + errorsmod "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) CardVote(goCtx context.Context, msg *types.MsgCardVote) (*types.MsgCardVoteResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + voter, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "Unable to convert to AccAddress") + } - return &types.MsgCardVoteResponse{}, nil + err = k.voteCard(ctx, &voter, msg.Vote.CardId, msg.Vote.VoteType) + if err != nil { + return nil, err + } + + k.incVotesAverageBy(ctx, 1) + + claimedAirdrop := k.ClaimAirDrop(ctx, &voter, types.AirDrop_vote) + k.SetUserFromUser(ctx, voter) + + return &types.MsgCardVoteResponse{AirdropClaimed: claimedAirdrop}, nil } diff --git a/x/cardchain/keeper/msg_server_card_vote_multi.go b/x/cardchain/keeper/msg_server_card_vote_multi.go index a4246882..5c6c018d 100644 --- a/x/cardchain/keeper/msg_server_card_vote_multi.go +++ b/x/cardchain/keeper/msg_server_card_vote_multi.go @@ -3,15 +3,27 @@ package keeper import ( "context" + errorsmod "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) CardVoteMulti(goCtx context.Context, msg *types.MsgCardVoteMulti) (*types.MsgCardVoteMultiResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + voter, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "Unable to convert to AccAddress") + } + + err = k.multiVote(ctx, &voter, msg.Votes) + if err != nil { + return nil, err + } + + k.ClaimAirDrop(ctx, &voter, types.AirDrop_vote) + k.SetUserFromUser(ctx, voter) return &types.MsgCardVoteMultiResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_council_deregister.go b/x/cardchain/keeper/msg_server_council_deregister.go index f20738e4..8e6cddc6 100644 --- a/x/cardchain/keeper/msg_server_council_deregister.go +++ b/x/cardchain/keeper/msg_server_council_deregister.go @@ -3,15 +3,27 @@ package keeper import ( "context" + errorsmod "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) CouncilDeregister(goCtx context.Context, msg *types.MsgCouncilDeregister) (*types.MsgCouncilDeregisterResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + user, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + + if user.CouncilStatus != types.CouncilStatus_available { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "%s", user.CouncilStatus.String()) + } + + user.CouncilStatus = types.CouncilStatus_unavailable + + k.SetUserFromUser(ctx, user) return &types.MsgCouncilDeregisterResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_council_register.go b/x/cardchain/keeper/msg_server_council_register.go index d989b313..f9f9df2e 100644 --- a/x/cardchain/keeper/msg_server_council_register.go +++ b/x/cardchain/keeper/msg_server_council_register.go @@ -3,15 +3,57 @@ package keeper import ( "context" + errorsmod "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) CouncilRegister(goCtx context.Context, msg *types.MsgCouncilRegister) (*types.MsgCouncilRegisterResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + user, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + + if user.CouncilStatus != types.CouncilStatus_unavailable { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invalid council status %s", user.CouncilStatus.String()) + } + + iter := k.Councils.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + idx, council := iter.Value() + if council.Status == types.CouncelingStatus_councilOpen { + council.Voters = append(council.Voters, msg.Creator) + if len(council.Voters) == 5 { + council.Status = types.CouncelingStatus_councilCreated + } + for _, addr := range council.Voters { + usr, err := k.GetUserFromString(ctx, addr) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + if len(council.Voters) == 5 { + usr.CouncilStatus = types.CouncilStatus_startedCouncil + } else { + usr.CouncilStatus = types.CouncilStatus_openCouncil + } + k.SetUserFromUser(ctx, usr) + } + k.Councils.Set(ctx, idx, council) + break + } + } + + user, err = k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + if user.CouncilStatus == types.CouncilStatus_unavailable { + user.CouncilStatus = types.CouncilStatus_available + } + k.SetUserFromUser(ctx, user) return &types.MsgCouncilRegisterResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_council_response_reveal.go b/x/cardchain/keeper/msg_server_council_response_reveal.go index 564e48cf..b5638ec6 100644 --- a/x/cardchain/keeper/msg_server_council_response_reveal.go +++ b/x/cardchain/keeper/msg_server_council_response_reveal.go @@ -2,16 +2,75 @@ package keeper import ( "context" + "slices" + errorsmod "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) CouncilResponseReveal(goCtx context.Context, msg *types.MsgCouncilResponseReveal) (*types.MsgCouncilResponseRevealResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + collateralDeposit := k.GetParams(ctx).CollateralDeposit + + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + + council := k.Councils.Get(ctx, msg.CouncilId) + if !slices.Contains(council.Voters, msg.Creator) { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid Voter") + } + + if council.Status != types.CouncelingStatus_commited { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invalid status, ave '%s', want '%s'", council.Status.String(), types.CouncelingStatus_commited.String()) + } + + var allreadyVoted []string + for _, response := range council.ClearResponses { + allreadyVoted = append(allreadyVoted, response.User) + } + + if slices.Contains(allreadyVoted, msg.Creator) { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Already voted") + } + + hashStringResponse := GetResponseHash(msg.Response, msg.Secret) + var originalHash string + + for _, hash := range council.HashResponses { + if hash.User == msg.Creator { + originalHash = hash.Hash + break + } + } + + if originalHash != hashStringResponse { + return nil, types.ErrBadReveal + } + + resp := types.WrapClearResponse{User: msg.Creator, Response: msg.Response} + council.ClearResponses = append(council.ClearResponses, &resp) + + if len(council.ClearResponses) == 5 { + council.Status = types.CouncelingStatus_revealed + } + + err = k.BurnCoinsFromAddr(ctx, creator.Addr, sdk.Coins{collateralDeposit}) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrInsufficientFunds, "Voter does not have enough coins") + } + council.Treasury = council.Treasury.Add(collateralDeposit) + + err = k.TryEvaluate(ctx, council) + if err != nil { + return nil, err + } + + k.Councils.Set(ctx, msg.CouncilId, council) return &types.MsgCouncilResponseRevealResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_council_restart.go b/x/cardchain/keeper/msg_server_council_restart.go index b3a1c1ea..75d853a6 100644 --- a/x/cardchain/keeper/msg_server_council_restart.go +++ b/x/cardchain/keeper/msg_server_council_restart.go @@ -3,15 +3,29 @@ package keeper import ( "context" + errorsmod "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) CouncilRestart(goCtx context.Context, msg *types.MsgCouncilRestart) (*types.MsgCouncilRestartResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + council := k.Councils.Get(ctx, msg.CouncilId) + card := k.Cards.Get(ctx, council.CardId) + if card.Owner != msg.Creator { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid Owner") + } + if council.Status != types.CouncelingStatus_suggestionsMade { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invalid status, have '%s', want '%s'", council.Status.String(), types.CouncelingStatus_suggestionsMade.String()) + } + + council.ClearResponses = []*types.WrapClearResponse{} + council.HashResponses = []*types.WrapHashResponse{} + council.Status = types.CouncelingStatus_councilCreated + + k.Councils.Set(ctx, msg.CouncilId, council) return &types.MsgCouncilRestartResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_early_access_invite.go b/x/cardchain/keeper/msg_server_early_access_invite.go index 8c22d6db..49998e7f 100644 --- a/x/cardchain/keeper/msg_server_early_access_invite.go +++ b/x/cardchain/keeper/msg_server_early_access_invite.go @@ -3,15 +3,43 @@ package keeper import ( "context" + errorsmod "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) EarlyAccessInvite(goCtx context.Context, msg *types.MsgEarlyAccessInvite) (*types.MsgEarlyAccessInviteResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + inviter, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, err + } + if inviter.EarlyAccess == nil || !inviter.EarlyAccess.Active || inviter.EarlyAccess.InvitedByUser != "" { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "inviter has to be enroled in early access to invite users") + } + + if inviter.EarlyAccess.InvitedUser != "" { + oldInvitee, _ := k.GetUserFromString(ctx, inviter.EarlyAccess.InvitedUser) + oldInvitee.RemoveEarlyAccess() + k.SetUserFromUser(ctx, oldInvitee) + } + + invited, err := k.GetUserFromString(ctx, msg.User) + if err != nil { + return nil, err + } + + if invited.EarlyAccess != nil && invited.EarlyAccess.Active { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invited user is already enroled in early access") + } + + invited.AddEarlyAccess(msg.Creator) + inviter.EarlyAccess.InvitedUser = msg.User + + k.SetUserFromUser(ctx, inviter) + k.SetUserFromUser(ctx, invited) return &types.MsgEarlyAccessInviteResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_encounter_close.go b/x/cardchain/keeper/msg_server_encounter_close.go index 3e29de8c..9d53e729 100644 --- a/x/cardchain/keeper/msg_server_encounter_close.go +++ b/x/cardchain/keeper/msg_server_encounter_close.go @@ -2,16 +2,51 @@ package keeper import ( "context" + "slices" + errorsmod "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) EncounterClose(goCtx context.Context, msg *types.MsgEncounterClose) (*types.MsgEncounterCloseResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + reporter, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, err + } + + if !reporter.ReportMatches { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "unauthorized reporter") + } + + user, err := k.GetUserFromString(ctx, msg.User) + if err != nil { + return nil, err + } + + index := slices.Index(user.OpenEncounters, msg.EncounterId) + + if index == -1 { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "encounter %d isn't open for user", msg.EncounterId) + } + + user.OpenEncounters = append(user.OpenEncounters[:index], user.OpenEncounters[index+1:]...) + + if msg.Won { + user.WonEncounters = append(user.WonEncounters, msg.EncounterId) + // TODO: Treasury reward here + + encounter := k.Encounters.Get(ctx, msg.EncounterId) + if !encounter.Proven { + encounter.Proven = true + k.Encounters.Set(ctx, msg.EncounterId, encounter) + } + } + + k.SetUserFromUser(ctx, user) return &types.MsgEncounterCloseResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_encounter_create.go b/x/cardchain/keeper/msg_server_encounter_create.go index 424acd8f..c635ddf3 100644 --- a/x/cardchain/keeper/msg_server_encounter_create.go +++ b/x/cardchain/keeper/msg_server_encounter_create.go @@ -2,16 +2,78 @@ package keeper import ( "context" + "slices" + errorsmod "cosmossdk.io/errors" "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardobject/cardobject" sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) EncounterCreate(goCtx context.Context, msg *types.MsgEncounterCreate) (*types.MsgEncounterCreateResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, err + } + err = k.validateDrawlist(ctx, msg, &creator) + if err != nil { + return nil, err + } + + id := k.Encounters.GetNum(ctx) + imageId := k.Images.GetNum(ctx) + + encounter := types.Encounter{ + Id: id, + Drawlist: msg.Drawlist, + Proven: false, + Owner: msg.Creator, + Parameters: msg.Parameters, + ImageId: imageId, + } + + k.Images.Set(ctx, imageId, &types.Image{Image: msg.Image}) + k.Encounters.Set(ctx, id, &encounter) + k.SetUserFromUser(ctx, creator) return &types.MsgEncounterCreateResponse{}, nil } + +func (k Keeper) validateDrawlist(ctx sdk.Context, msg *types.MsgEncounterCreate, creator *User) error { + for idx, cardId := range msg.Drawlist { + card := k.Cards.Get(ctx, cardId) + + if card.Owner != msg.Creator { + index := slices.Index(creator.Cards, cardId) + if index != -1 { + creator.Cards = append(creator.Cards[:index], creator.Cards[index+1:]...) + } else { + return errorsmod.Wrapf( + sdkerrors.ErrUnauthorized, + "creator has to own all cards, doesnt own '%d'", cardId, + ) + } + } + + cardObj, err := card.GetCardObj() + if err != nil { + return err + } + + if idx == 0 && cardObj.GetType() != cardobject.HEADQUARTERTYPE { + return errorsmod.Wrapf( + types.ErrInvalidData, + "first card has to be Headquarter but is: %s", cardObj.GetType(), + ) + } else if cardObj.GetType() == cardobject.HEADQUARTERTYPE { + return errorsmod.Wrapf( + types.ErrInvalidData, + "only first card can be headquartter but card-%d is ", idx, + ) + } + } + return nil +} diff --git a/x/cardchain/keeper/msg_server_encounter_do.go b/x/cardchain/keeper/msg_server_encounter_do.go index 5ca210fa..3e6ab069 100644 --- a/x/cardchain/keeper/msg_server_encounter_do.go +++ b/x/cardchain/keeper/msg_server_encounter_do.go @@ -3,15 +3,39 @@ package keeper import ( "context" + errorsmod "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) EncounterDo(goCtx context.Context, msg *types.MsgEncounterDo) (*types.MsgEncounterDoResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + reporter, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, err + } + + if !reporter.ReportMatches { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "unauthorized reporter") + } + + maxId := k.Encounters.GetNum(ctx) + if msg.EncounterId >= maxId { + return nil, errorsmod.Wrap(types.ErrInvalidData, "encounter doesnt exist") + } + + // TODO: Treasury fee here + + user, err := k.GetUserFromString(ctx, msg.User) + if err != nil { + return nil, err + } + + user.OpenEncounters = append(user.OpenEncounters, msg.EncounterId) + + k.SetUserFromUser(ctx, user) return &types.MsgEncounterDoResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_match_open.go b/x/cardchain/keeper/msg_server_match_open.go index 2f905358..628e586d 100644 --- a/x/cardchain/keeper/msg_server_match_open.go +++ b/x/cardchain/keeper/msg_server_match_open.go @@ -3,15 +3,33 @@ package keeper import ( "context" + errorsmod "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) MatchOpen(goCtx context.Context, msg *types.MsgMatchOpen) (*types.MsgMatchOpenResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + if creator.ReportMatches == false { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Reporter") + } - return &types.MsgMatchOpenResponse{}, nil + 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.MsgMatchOpenResponse{MatchId: matchId}, nil } diff --git a/x/cardchain/keeper/msg_server_match_report.go b/x/cardchain/keeper/msg_server_match_report.go index 6ac1c7d9..a2710889 100644 --- a/x/cardchain/keeper/msg_server_match_report.go +++ b/x/cardchain/keeper/msg_server_match_report.go @@ -3,15 +3,43 @@ package keeper import ( "context" + errorsmod "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) MatchReport(goCtx context.Context, msg *types.MsgMatchReport) (*types.MsgMatchReportResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + match := k.Matches.Get(ctx, msg.MatchId) + + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + if creator.ReportMatches == false { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Reporter") + } + if msg.Creator != match.Reporter { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "Wrong Reporter, reporter is %s", match.Reporter) + } + if match.CoinsDistributed { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Match already reported") + } + + match.PlayerA.PlayedCards = msg.PlayedCardsA + match.PlayerB.PlayedCards = msg.PlayedCardsB + match.Outcome = msg.Outcome + match.ServerConfirmed = true + match.Timestamp = uint64(ctx.BlockHeight()) + + err = k.TryHandleMatchOutcome(ctx, match) + if err != nil { + return nil, err + } + + k.Matches.Set(ctx, msg.MatchId, match) return &types.MsgMatchReportResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_profile_bio_set.go b/x/cardchain/keeper/msg_server_profile_bio_set.go index 77ca1b2c..bff54e19 100644 --- a/x/cardchain/keeper/msg_server_profile_bio_set.go +++ b/x/cardchain/keeper/msg_server_profile_bio_set.go @@ -10,8 +10,14 @@ import ( func (k msgServer) ProfileBioSet(goCtx context.Context, msg *types.MsgProfileBioSet) (*types.MsgProfileBioSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + user, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, err + } + + user.Biography = msg.Bio + + k.SetUserFromUser(ctx, user) return &types.MsgProfileBioSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_profile_card_set.go b/x/cardchain/keeper/msg_server_profile_card_set.go index c14ad4d8..fddc738f 100644 --- a/x/cardchain/keeper/msg_server_profile_card_set.go +++ b/x/cardchain/keeper/msg_server_profile_card_set.go @@ -2,16 +2,32 @@ package keeper import ( "context" + "slices" + errorsmod "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) ProfileCardSet(goCtx context.Context, msg *types.MsgProfileCardSet) (*types.MsgProfileCardSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + user, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, err + } + + card := k.Cards.Get(ctx, msg.CardId) + if card.Owner != msg.Creator { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "You have to own the card") + } else if !slices.Contains([]types.Status{types.Status_trial, types.Status_permanent}, card.Status) { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "The card has to be playable") + } + + user.ProfileCard = msg.CardId + + k.SetUserFromUser(ctx, user) return &types.MsgProfileCardSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_profile_website_set.go b/x/cardchain/keeper/msg_server_profile_website_set.go index 6b55f6fa..ebcdc207 100644 --- a/x/cardchain/keeper/msg_server_profile_website_set.go +++ b/x/cardchain/keeper/msg_server_profile_website_set.go @@ -10,8 +10,14 @@ import ( func (k msgServer) ProfileWebsiteSet(goCtx context.Context, msg *types.MsgProfileWebsiteSet) (*types.MsgProfileWebsiteSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + user, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, err + } + + user.Website = msg.Website + + k.SetUserFromUser(ctx, user) return &types.MsgProfileWebsiteSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_sell_offer_create.go b/x/cardchain/keeper/msg_server_sell_offer_create.go index 17d3e4a3..42b9d099 100644 --- a/x/cardchain/keeper/msg_server_sell_offer_create.go +++ b/x/cardchain/keeper/msg_server_sell_offer_create.go @@ -4,6 +4,7 @@ import ( "context" errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardchain/util" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -23,7 +24,7 @@ func (k msgServer) SellOfferCreate(goCtx context.Context, msg *types.MsgSellOffe return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Card is startercard and therefore not sellable") } - newCards, err := PopItemFromArr(msg.CardId, creator.Cards) + newCards, err := util.PopItemFromArr(msg.CardId, creator.Cards) if err != nil { return nil, errorsmod.Wrapf(err, "User does not posses Card: %d", msg.CardId) } diff --git a/x/cardchain/keeper/msg_server_sell_offer_remove.go b/x/cardchain/keeper/msg_server_sell_offer_remove.go index 399e0c72..08e6fd2d 100644 --- a/x/cardchain/keeper/msg_server_sell_offer_remove.go +++ b/x/cardchain/keeper/msg_server_sell_offer_remove.go @@ -3,15 +3,35 @@ package keeper import ( "context" + errorsmod "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) SellOfferRemove(goCtx context.Context, msg *types.MsgSellOfferRemove) (*types.MsgSellOfferRemoveResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + + sellOffer := k.SellOffers.Get(ctx, msg.SellOfferId) + + if sellOffer.Seller != msg.Creator { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Seller") + } + + if sellOffer.Status != types.SellOfferStatus_open { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "Invalid status: %v", sellOffer.Status) + } + + sellOffer.Status = types.SellOfferStatus_removed + creator.Cards = append(creator.Cards, sellOffer.Card) + + k.SellOffers.Set(ctx, msg.SellOfferId, sellOffer) + k.SetUserFromUser(ctx, creator) return &types.MsgSellOfferRemoveResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_artist_set.go b/x/cardchain/keeper/msg_server_set_artist_set.go index ad439848..44f62a19 100644 --- a/x/cardchain/keeper/msg_server_set_artist_set.go +++ b/x/cardchain/keeper/msg_server_set_artist_set.go @@ -10,8 +10,15 @@ import ( func (k msgServer) SetArtistSet(goCtx context.Context, msg *types.MsgSetArtistSet) (*types.MsgSetArtistSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + 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.MsgSetArtistSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_card_remove.go b/x/cardchain/keeper/msg_server_set_card_remove.go index ae98edfa..ad304c73 100644 --- a/x/cardchain/keeper/msg_server_set_card_remove.go +++ b/x/cardchain/keeper/msg_server_set_card_remove.go @@ -2,16 +2,33 @@ package keeper import ( "context" + "slices" + errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardchain/util" "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) SetCardRemove(goCtx context.Context, msg *types.MsgSetCardRemove) (*types.MsgSetCardRemoveResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + set := k.Sets.Get(ctx, msg.SetId) + if !slices.Contains(set.Contributors, msg.Creator) { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid contributor") + } + if set.Status != types.CStatus_design { + return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "set not in design") + } + newCards, err := util.PopItemFromArr(msg.CardId, set.Cards) + if err != nil { + return nil, errorsmod.Wrapf(err, "Card: %d", msg.CardId) + } + + set.Cards = newCards + + k.Sets.Set(ctx, msg.SetId, set) return &types.MsgSetCardRemoveResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_contributor_remove.go b/x/cardchain/keeper/msg_server_set_contributor_remove.go index 51ff018c..20d78d31 100644 --- a/x/cardchain/keeper/msg_server_set_contributor_remove.go +++ b/x/cardchain/keeper/msg_server_set_contributor_remove.go @@ -3,6 +3,8 @@ package keeper import ( "context" + errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardchain/util" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -10,8 +12,19 @@ import ( func (k msgServer) SetContributorRemove(goCtx context.Context, msg *types.MsgSetContributorRemove) (*types.MsgSetContributorRemoveResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + set := k.Sets.Get(ctx, msg.SetId) + if err := checkSetEditable(set, msg.Creator); err != nil { + return nil, err + } + + newContributors, err := util.PopItemFromArr(msg.User, set.Contributors) + if err != nil { + return nil, errorsmod.Wrap(err, "Contributor is not a contributor: "+msg.User) + } + + set.Contributors = newContributors + + k.Sets.Set(ctx, msg.SetId, set) return &types.MsgSetContributorRemoveResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_finalize.go b/x/cardchain/keeper/msg_server_set_finalize.go index f2cc1cbf..a24a9e47 100644 --- a/x/cardchain/keeper/msg_server_set_finalize.go +++ b/x/cardchain/keeper/msg_server_set_finalize.go @@ -3,15 +3,60 @@ package keeper import ( "context" + errorsmod "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) SetFinalize(goCtx context.Context, msg *types.MsgSetFinalize) (*types.MsgSetFinalizeResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + 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, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "Set artwork is needed") + } + + err = k.CollectSetCreationFee(ctx, msg.Creator) + if err != nil { + return nil, errorsmod.Wrap(sdkerrors.ErrInsufficientFunds, err.Error()) + } + + dist, err := k.GetRarityDistribution(ctx, *set, uint32(setSize)) + if err != nil { + return nil, err + } + + if dist[0] != dist[1] { + return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "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 + set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) + set.Rarities = k.GetCardRaritiesInSet(ctx, set) + + k.Sets.Set(ctx, msg.SetId, set) return &types.MsgSetFinalizeResponse{}, nil } + +func (k Keeper) GetCardRaritiesInSet(ctx sdk.Context, set *types.Set) []*types.InnerRarities { + var rarityNums []*types.InnerRarities = make([]*types.InnerRarities, 5) + for idx := range rarityNums { + rarityNums[idx] = &types.InnerRarities{} + } + for _, cardId := range set.Cards { + card := k.Cards.Get(ctx, cardId) + rarityNums[int(card.Rarity)].R = append(rarityNums[int(card.Rarity)].R, cardId) + } + return rarityNums[:] +} diff --git a/x/cardchain/keeper/msg_server_set_name_set.go b/x/cardchain/keeper/msg_server_set_name_set.go index 0eb59a80..fff13bc9 100644 --- a/x/cardchain/keeper/msg_server_set_name_set.go +++ b/x/cardchain/keeper/msg_server_set_name_set.go @@ -10,8 +10,15 @@ import ( func (k msgServer) SetNameSet(goCtx context.Context, msg *types.MsgSetNameSet) (*types.MsgSetNameSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + 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.MsgSetNameSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_story_writer_set.go b/x/cardchain/keeper/msg_server_set_story_writer_set.go index 27c212e2..6705aec0 100644 --- a/x/cardchain/keeper/msg_server_set_story_writer_set.go +++ b/x/cardchain/keeper/msg_server_set_story_writer_set.go @@ -10,8 +10,15 @@ import ( func (k msgServer) SetStoryWriterSet(goCtx context.Context, msg *types.MsgSetStoryWriterSet) (*types.MsgSetStoryWriterSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Handling the message - _ = ctx + 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.MsgSetStoryWriterSetResponse{}, nil } diff --git a/x/cardchain/keeper/user.go b/x/cardchain/keeper/user.go index 189fd903..9800bdec 100644 --- a/x/cardchain/keeper/user.go +++ b/x/cardchain/keeper/user.go @@ -7,10 +7,6 @@ import ( "github.com/cosmos/cosmos-sdk/types/errors" ) -type MsgWithCreator interface { - GetSigners() []sdk.AccAddress -} - // User Combines types.User and it's account address for better usability type User struct { *types.User @@ -44,13 +40,6 @@ func (k Keeper) InitUser(ctx sdk.Context, address sdk.AccAddress, alias string) return nil } -func (k Keeper) GetMsgCreator(ctx sdk.Context, msg MsgWithCreator) (user User, err error) { - user.Addr = msg.GetSigners()[0] - - user.User = k.Users.Get(ctx, user.Addr) - return -} - // GetUserFromString Gets a user from store, but instead of taking an accountaddress it takes a string and returns a User struct (defined above) func (k Keeper) GetUserFromString(ctx sdk.Context, addr string) (user User, err error) { user.Addr, err = sdk.AccAddressFromBech32(addr) diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go index 80c58dff..7f1e6d76 100644 --- a/x/cardchain/types/card.pb.go +++ b/x/cardchain/types/card.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/council.pb.go b/x/cardchain/types/council.pb.go index 1bbdfc01..a6f6f6d7 100644 --- a/x/cardchain/types/council.pb.go +++ b/x/cardchain/types/council.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/encounter.pb.go b/x/cardchain/types/encounter.pb.go index 0f2e0d18..5c6f1b54 100644 --- a/x/cardchain/types/encounter.pb.go +++ b/x/cardchain/types/encounter.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/errors.go b/x/cardchain/types/errors.go index eeb1765f..7cd58ff3 100644 --- a/x/cardchain/types/errors.go +++ b/x/cardchain/types/errors.go @@ -16,4 +16,5 @@ var ( ErrCardobject = sdkerrors.Register(ModuleName, 19, "Faulty cardobject") ErrImageSizeExceeded = sdkerrors.Register(ModuleName, 17, "Image too big! Max size is 500kb") ErrInvalidData = sdkerrors.Register(ModuleName, 27, "Invalid data in transaction") + ErrBadReveal = sdkerrors.Register(ModuleName, 15, "Reveal does not fit commit") ) diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 636f7c25..4306f207 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/image.pb.go b/x/cardchain/types/image.pb.go index a2a036be..a4fe2647 100644 --- a/x/cardchain/types/image.pb.go +++ b/x/cardchain/types/image.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 660c57d2..7ac97cf8 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match_player.go b/x/cardchain/types/match_player.go new file mode 100644 index 00000000..298a70e8 --- /dev/null +++ b/x/cardchain/types/match_player.go @@ -0,0 +1,11 @@ +package types + +func NewMatchPlayer(addr string, cards []uint64, deck []uint64) *MatchPlayer { + return &MatchPlayer{ + Addr: addr, + PlayedCards: cards, + Deck: deck, + Confirmed: false, + Outcome: Outcome_Aborted, + } +} diff --git a/x/cardchain/types/message_council_response_reveal.go b/x/cardchain/types/message_council_response_reveal.go index 08bc63f0..9d210bb1 100644 --- a/x/cardchain/types/message_council_response_reveal.go +++ b/x/cardchain/types/message_council_response_reveal.go @@ -12,7 +12,7 @@ func NewMsgCouncilResponseReveal(creator string, councilId uint64, reponse Respo return &MsgCouncilResponseReveal{ Creator: creator, CouncilId: councilId, - Reponse: reponse, + Response: reponse, Secret: secret, } } diff --git a/x/cardchain/types/message_match_open.go b/x/cardchain/types/message_match_open.go index 31523fdb..547d3590 100644 --- a/x/cardchain/types/message_match_open.go +++ b/x/cardchain/types/message_match_open.go @@ -8,13 +8,13 @@ import ( var _ sdk.Msg = &MsgMatchOpen{} -func NewMsgMatchOpen(creator string, playerA string, playerB string, playerAdeck []uint64, playerBdeck []uint64) *MsgMatchOpen { +func NewMsgMatchOpen(creator string, playerA string, playerB string, playerADeck []uint64, playerBDeck []uint64) *MsgMatchOpen { return &MsgMatchOpen{ Creator: creator, PlayerA: playerA, PlayerB: playerB, - PlayerAdeck: playerAdeck, - PlayerBdeck: playerBdeck, + PlayerADeck: playerADeck, + PlayerBDeck: playerBDeck, } } diff --git a/x/cardchain/types/message_profile_bio_set.go b/x/cardchain/types/message_profile_bio_set.go index 3255a2e8..4bb751ac 100644 --- a/x/cardchain/types/message_profile_bio_set.go +++ b/x/cardchain/types/message_profile_bio_set.go @@ -6,6 +6,8 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) +const BIO_MAX_LENGTH = 400 + var _ sdk.Msg = &MsgProfileBioSet{} func NewMsgProfileBioSet(creator string, bio string) *MsgProfileBioSet { @@ -20,5 +22,10 @@ func (msg *MsgProfileBioSet) ValidateBasic() error { if err != nil { return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) } + + if len(msg.Bio) > BIO_MAX_LENGTH { + return errorsmod.Wrapf(ErrInvalidData, "Website length exceded %d chars", BIO_MAX_LENGTH) + } + return nil } diff --git a/x/cardchain/types/message_profile_website_set.go b/x/cardchain/types/message_profile_website_set.go index 67c5847d..0469b4b3 100644 --- a/x/cardchain/types/message_profile_website_set.go +++ b/x/cardchain/types/message_profile_website_set.go @@ -6,6 +6,8 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) +const WEBSITE_MAX_LENGTH = 50 + var _ sdk.Msg = &MsgProfileWebsiteSet{} func NewMsgProfileWebsiteSet(creator string, website string) *MsgProfileWebsiteSet { @@ -20,5 +22,10 @@ func (msg *MsgProfileWebsiteSet) ValidateBasic() error { if err != nil { return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) } + + if len(msg.Website) > WEBSITE_MAX_LENGTH { + return errorsmod.Wrapf(ErrInvalidData, "Website length exceded %d chars", WEBSITE_MAX_LENGTH) + } + return nil } diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index 2874c6ce..d9081e8f 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,14 +5,13 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/product_details.pb.go b/x/cardchain/types/product_details.pb.go index 6f38ca9c..11fdabcb 100644 --- a/x/cardchain/types/product_details.pb.go +++ b/x/cardchain/types/product_details.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 5ddccd25..c1e3686e 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -19,6 +15,9 @@ import ( 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. diff --git a/x/cardchain/types/running_average.pb.go b/x/cardchain/types/running_average.pb.go index 66809249..21f80b8f 100644 --- a/x/cardchain/types/running_average.pb.go +++ b/x/cardchain/types/running_average.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go index 460f7093..32a2be10 100644 --- a/x/cardchain/types/sell_offer.pb.go +++ b/x/cardchain/types/sell_offer.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/server.pb.go b/x/cardchain/types/server.pb.go index 8ed475d1..ea0ae809 100644 --- a/x/cardchain/types/server.pb.go +++ b/x/cardchain/types/server.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index 78eb5228..c3d8340f 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - types "github.com/cosmos/cosmos-sdk/types" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index 7dab2340..182c66f7 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -20,6 +16,9 @@ import ( 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. @@ -2738,7 +2737,7 @@ var xxx_messageInfo_MsgCouncilResponseCommitResponse proto.InternalMessageInfo type MsgCouncilResponseReveal struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` CouncilId uint64 `protobuf:"varint,2,opt,name=councilId,proto3" json:"councilId,omitempty"` - Reponse Response `protobuf:"varint,3,opt,name=reponse,proto3,enum=cardchain.cardchain.Response" json:"reponse,omitempty"` + Response Response `protobuf:"varint,3,opt,name=response,proto3,enum=cardchain.cardchain.Response" json:"response,omitempty"` Secret string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` } @@ -2789,9 +2788,9 @@ func (m *MsgCouncilResponseReveal) GetCouncilId() uint64 { return 0 } -func (m *MsgCouncilResponseReveal) GetReponse() Response { +func (m *MsgCouncilResponseReveal) GetResponse() Response { if m != nil { - return m.Reponse + return m.Response } return Response_Yes } @@ -3779,8 +3778,8 @@ type MsgMatchOpen 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"` + 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 *MsgMatchOpen) Reset() { *m = MsgMatchOpen{} } @@ -3837,16 +3836,16 @@ func (m *MsgMatchOpen) GetPlayerB() string { return "" } -func (m *MsgMatchOpen) GetPlayerAdeck() []uint64 { +func (m *MsgMatchOpen) GetPlayerADeck() []uint64 { if m != nil { - return m.PlayerAdeck + return m.PlayerADeck } return nil } -func (m *MsgMatchOpen) GetPlayerBdeck() []uint64 { +func (m *MsgMatchOpen) GetPlayerBDeck() []uint64 { if m != nil { - return m.PlayerBdeck + return m.PlayerBDeck } return nil } @@ -5060,190 +5059,190 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2915 bytes of a gzipped FileDescriptorProto + // 2914 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcd, 0x6f, 0x1b, 0xc7, 0x15, 0x37, 0x45, 0x49, 0x96, 0xc6, 0xb2, 0x6c, 0xd3, 0x8a, 0x4d, 0xd3, 0x8e, 0x2c, 0xd3, 0x92, - 0x2d, 0x29, 0xb2, 0x14, 0xd9, 0xf1, 0x07, 0x8c, 0x26, 0x85, 0x28, 0xb9, 0x45, 0x80, 0x2a, 0x76, - 0x57, 0x4d, 0x5c, 0xa7, 0x1f, 0xc6, 0x72, 0x39, 0xa2, 0xb6, 0x5a, 0xee, 0x30, 0xbb, 0x4b, 0x2a, - 0x32, 0x50, 0xa0, 0x48, 0x2f, 0x45, 0x7b, 0xe9, 0xb9, 0xe8, 0xa5, 0xb7, 0x9c, 0x0a, 0x17, 0xe8, + 0x2d, 0x29, 0xb2, 0x14, 0xd9, 0xf1, 0x47, 0x8d, 0x26, 0x85, 0x28, 0xb9, 0x45, 0x80, 0x2a, 0x76, + 0x57, 0x4d, 0x5c, 0xa7, 0x1f, 0xc6, 0x72, 0x39, 0xa2, 0xb6, 0x5a, 0xee, 0x30, 0xbb, 0x43, 0x2a, + 0x32, 0x50, 0xa0, 0x48, 0x2f, 0x45, 0x7b, 0xe9, 0xb9, 0xe8, 0xa5, 0xb7, 0x9c, 0x0a, 0x03, 0xed, 0x5f, 0xd0, 0x5e, 0x72, 0xe8, 0x21, 0xc8, 0xa9, 0xe8, 0xa1, 0x28, 0xec, 0x83, 0xff, 0x8d, 0x62, - 0x3e, 0x77, 0x76, 0x38, 0x33, 0xbb, 0x64, 0x9b, 0x8b, 0xcd, 0xd9, 0xfd, 0xcd, 0xfb, 0xda, 0x37, - 0xef, 0xbd, 0x79, 0x0f, 0x02, 0x57, 0x3c, 0x37, 0x6a, 0x79, 0x07, 0xae, 0x1f, 0x6e, 0xa4, 0xbf, - 0x92, 0xcf, 0xd7, 0xbb, 0x11, 0x4a, 0x50, 0xe5, 0xbc, 0x78, 0xb6, 0x2e, 0x7e, 0xd5, 0xce, 0xb9, - 0x1d, 0x3f, 0x44, 0x1b, 0xe4, 0x5f, 0x8a, 0xab, 0x5d, 0xf4, 0x50, 0xdc, 0x41, 0xf1, 0x46, 0x27, - 0x6e, 0x6f, 0xf4, 0x37, 0xf1, 0x7f, 0xec, 0xc5, 0x25, 0xfa, 0xe2, 0x39, 0x59, 0x6d, 0xd0, 0x05, - 0x7b, 0x35, 0xd7, 0x46, 0x6d, 0x44, 0x9f, 0xe3, 0x5f, 0xec, 0xe9, 0x82, 0x4e, 0x9e, 0xae, 0x1b, - 0xb9, 0x1d, 0xbe, 0x6f, 0x9e, 0xf1, 0x6a, 0xba, 0x31, 0xdc, 0xe8, 0x6f, 0x36, 0x61, 0xe2, 0x6e, - 0x6e, 0x78, 0xc8, 0x0f, 0x6d, 0x14, 0xfa, 0x28, 0xf1, 0x43, 0x2e, 0xd4, 0x55, 0x1d, 0xa2, 0xe3, - 0x26, 0xde, 0x01, 0x03, 0x5c, 0xd3, 0x01, 0x3c, 0xd4, 0x0b, 0x3d, 0x3f, 0x10, 0x52, 0xe8, 0x20, - 0x6e, 0xd4, 0x62, 0xef, 0x57, 0xb4, 0x7a, 0x44, 0xa8, 0xd5, 0xf3, 0x92, 0xe7, 0x2d, 0x98, 0xb8, - 0x7e, 0xc0, 0x14, 0xaa, 0xff, 0xbd, 0x04, 0xce, 0xec, 0xc6, 0xed, 0x8f, 0xbb, 0x2d, 0x37, 0x81, - 0x4f, 0x88, 0xaa, 0x95, 0x7b, 0x60, 0xda, 0xed, 0x25, 0x07, 0x28, 0xf2, 0x93, 0xe3, 0x6a, 0x69, - 0xa1, 0xb4, 0x3c, 0xdd, 0xa8, 0x7e, 0xf3, 0xd7, 0x5b, 0x73, 0xcc, 0x82, 0x5b, 0xad, 0x56, 0x04, - 0xe3, 0x78, 0x2f, 0x89, 0xfc, 0xb0, 0xed, 0xa4, 0xd0, 0xca, 0x07, 0x60, 0x92, 0x1a, 0xab, 0x3a, - 0xb6, 0x50, 0x5a, 0x3e, 0x75, 0xfb, 0xf2, 0xba, 0xe6, 0x0b, 0xae, 0x53, 0x26, 0x8d, 0xe9, 0xaf, - 0xfe, 0x7d, 0xf5, 0xc4, 0x97, 0x6f, 0x5e, 0xae, 0x96, 0x1c, 0xb6, 0xeb, 0xe1, 0x83, 0x2f, 0xde, - 0xbc, 0x5c, 0x4d, 0xe9, 0xfd, 0xf6, 0xcd, 0xcb, 0xd5, 0xa5, 0x54, 0xfe, 0xcf, 0x25, 0x5d, 0x14, - 0x89, 0xeb, 0x97, 0xc0, 0x45, 0xe5, 0x91, 0x03, 0xe3, 0x2e, 0x0a, 0x63, 0x58, 0x6f, 0x83, 0xd3, - 0xf8, 0x55, 0x0c, 0xa3, 0xed, 0x08, 0xba, 0x09, 0xac, 0x54, 0xc1, 0x49, 0x0f, 0xff, 0x42, 0x11, - 0xd5, 0xcd, 0xe1, 0x4b, 0xfc, 0x26, 0x84, 0x47, 0x18, 0x4a, 0x14, 0x98, 0x76, 0xf8, 0xb2, 0x32, - 0x07, 0x26, 0xdc, 0xc0, 0x77, 0xe3, 0x6a, 0x99, 0x3c, 0xa7, 0x8b, 0x87, 0x33, 0x58, 0x5e, 0xbe, - 0xbb, 0x7e, 0x11, 0xbc, 0x95, 0x61, 0x24, 0x24, 0xe8, 0x80, 0xb3, 0xbb, 0x71, 0x7b, 0xdb, 0x8d, - 0x5a, 0x7b, 0xde, 0x01, 0xec, 0xc0, 0x46, 0xef, 0xd8, 0x22, 0xc4, 0x26, 0x28, 0x37, 0xfd, 0x16, - 0xb3, 0xe0, 0xa5, 0x75, 0x66, 0x73, 0xec, 0x6f, 0xeb, 0xcc, 0xdf, 0xd6, 0xb7, 0x91, 0x1f, 0x36, - 0xc6, 0xb1, 0xfd, 0x1c, 0x8c, 0x55, 0xe4, 0xb8, 0x0d, 0xaa, 0x2a, 0x3b, 0x2e, 0x4a, 0xe5, 0x02, - 0x98, 0xc4, 0x46, 0xfc, 0xb0, 0x45, 0xb8, 0x8e, 0x3b, 0x6c, 0x55, 0xff, 0x5b, 0x09, 0x54, 0xf8, - 0x26, 0xb7, 0x0f, 0xb7, 0x51, 0x98, 0xc0, 0x30, 0xb1, 0x48, 0x99, 0x12, 0x1a, 0x93, 0x09, 0x91, - 0x1d, 0x74, 0x33, 0x31, 0xd5, 0x8c, 0xc3, 0x97, 0xd8, 0x84, 0x21, 0x4a, 0x60, 0x5c, 0x1d, 0xa7, - 0x26, 0x24, 0x0b, 0x4c, 0xc7, 0x8d, 0x12, 0x3f, 0x4e, 0xaa, 0x13, 0xe4, 0x31, 0x5b, 0x55, 0x16, - 0xc1, 0xe9, 0xa6, 0x1b, 0xb8, 0xa1, 0x07, 0xb7, 0x42, 0xef, 0x00, 0x45, 0xd5, 0xc9, 0x85, 0xd2, - 0xf2, 0x94, 0x93, 0x7d, 0xa8, 0x28, 0xbe, 0x03, 0x6a, 0x83, 0x3a, 0x08, 0xd5, 0x6f, 0x80, 0x59, - 0xd7, 0x8f, 0x5a, 0x11, 0xea, 0x6e, 0x07, 0xae, 0xdf, 0x81, 0xd4, 0x04, 0x53, 0x8e, 0xf2, 0xb4, - 0xfe, 0x0b, 0x70, 0x8a, 0x51, 0xf9, 0x04, 0x59, 0xbd, 0xe5, 0x0e, 0x18, 0xef, 0xa3, 0x04, 0xb2, - 0x2f, 0x75, 0x55, 0xeb, 0xeb, 0x7b, 0x7e, 0xd8, 0x0e, 0x20, 0x26, 0xe4, 0x10, 0xb0, 0x22, 0xf1, - 0xfb, 0xe0, 0xbc, 0xc4, 0x6b, 0x68, 0x51, 0x3b, 0xe4, 0xe8, 0xe2, 0xed, 0x3f, 0x8a, 0xdc, 0x30, - 0xde, 0x87, 0xd1, 0x08, 0x5f, 0xac, 0x06, 0xa6, 0x22, 0xe8, 0x41, 0xbf, 0x0f, 0x23, 0xe6, 0xdd, - 0x62, 0xad, 0x48, 0x4b, 0x0f, 0x99, 0xcc, 0x4e, 0xb8, 0xf8, 0x6f, 0x4a, 0xe4, 0x94, 0xe1, 0x77, - 0x3b, 0x28, 0xb4, 0x9f, 0x32, 0x93, 0x20, 0xf7, 0xc1, 0xa4, 0xdb, 0x41, 0x3d, 0xe6, 0x39, 0x05, - 0x7c, 0x9f, 0xc1, 0xb5, 0xc7, 0x30, 0x95, 0x44, 0xc8, 0xf8, 0xeb, 0x12, 0x38, 0xc7, 0xde, 0x6c, - 0x45, 0xc9, 0x11, 0x8a, 0x0e, 0xb7, 0x5a, 0xad, 0x11, 0xe4, 0x9c, 0x03, 0x13, 0x7e, 0xc7, 0x6d, - 0x43, 0xe6, 0xe0, 0x74, 0x81, 0xe9, 0xec, 0xf7, 0x82, 0x60, 0x2b, 0x4a, 0x88, 0x83, 0x4f, 0x39, - 0x7c, 0xa9, 0x88, 0x77, 0x19, 0x5c, 0x1a, 0x10, 0x42, 0x8a, 0x14, 0xe7, 0xd3, 0x97, 0x7e, 0x9c, - 0x6c, 0x1f, 0xb8, 0x61, 0x7b, 0x14, 0x5b, 0xa6, 0xc7, 0xaa, 0x2c, 0x1f, 0x2b, 0x45, 0x96, 0xb7, - 0xc1, 0x65, 0x0d, 0x3b, 0x21, 0xcd, 0x77, 0x68, 0x4c, 0xa0, 0x99, 0xc7, 0x81, 0x6d, 0x3f, 0x4e, - 0x6c, 0x1e, 0xa6, 0x10, 0xbf, 0x42, 0x4f, 0x63, 0x76, 0xb7, 0xa0, 0xfd, 0x01, 0x98, 0x4b, 0xdf, - 0xee, 0xc0, 0x68, 0x58, 0xea, 0xf3, 0xe0, 0x8a, 0x6e, 0xbf, 0xa0, 0xff, 0x4d, 0x09, 0xcc, 0xee, - 0xc6, 0xed, 0x5d, 0x9c, 0x57, 0x1d, 0xd8, 0x45, 0x51, 0x62, 0x8f, 0xfb, 0x24, 0x01, 0x0b, 0x33, - 0xf2, 0x65, 0xa5, 0x0e, 0x66, 0xba, 0x81, 0x7b, 0x0c, 0x5b, 0xd8, 0x48, 0xf1, 0x56, 0xb5, 0xbc, - 0x50, 0x5e, 0x1e, 0x77, 0x32, 0xcf, 0x14, 0x4c, 0xa3, 0x3a, 0x3e, 0x80, 0x69, 0x54, 0xee, 0x81, - 0x93, 0xa8, 0x97, 0x78, 0xa8, 0x03, 0x49, 0x9c, 0x9b, 0xbd, 0x7d, 0x45, 0x1b, 0x2e, 0x1e, 0x53, - 0x8c, 0xc3, 0xc1, 0x8a, 0xd2, 0x55, 0x70, 0x21, 0xab, 0x93, 0x50, 0xd7, 0xa1, 0x29, 0x86, 0x9a, - 0x23, 0x37, 0xcf, 0x19, 0xbc, 0x46, 0xe1, 0x56, 0xa3, 0x79, 0x44, 0xa6, 0x29, 0xf8, 0xfd, 0x8c, - 0x84, 0x02, 0x49, 0x12, 0x18, 0x6d, 0x75, 0xbb, 0xc8, 0xb7, 0xe6, 0x0c, 0x12, 0x69, 0x28, 0x98, - 0xe5, 0x57, 0xb1, 0x56, 0x58, 0x5f, 0x03, 0x57, 0x0d, 0xe4, 0x85, 0x04, 0x5f, 0x96, 0xc0, 0xcc, - 0x6e, 0xdc, 0xde, 0x83, 0x49, 0xae, 0xba, 0x15, 0x30, 0x1e, 0xba, 0x1d, 0xc8, 0x78, 0x92, 0xdf, - 0xa6, 0x03, 0x52, 0x59, 0x00, 0xa7, 0xe2, 0x04, 0x45, 0xc7, 0x4f, 0x23, 0x1f, 0x8b, 0x49, 0x73, - 0x95, 0xfc, 0x08, 0x7f, 0x6e, 0x9c, 0xd2, 0x22, 0xbf, 0xd9, 0x4b, 0x50, 0x14, 0x57, 0x27, 0x16, - 0xca, 0xcb, 0xd3, 0x4e, 0xe6, 0x99, 0xa2, 0xcd, 0x05, 0xe2, 0xeb, 0x42, 0x52, 0xa1, 0x02, 0x24, - 0x31, 0x13, 0x3f, 0xc7, 0x27, 0xd0, 0x1a, 0x8b, 0xe6, 0xc0, 0x44, 0x0c, 0x13, 0xf1, 0xc1, 0xe8, - 0x42, 0xfa, 0x8e, 0x65, 0xcb, 0x77, 0xa4, 0x01, 0x31, 0x65, 0x23, 0xf8, 0x1f, 0x10, 0xa7, 0x61, - 0x2f, 0x1c, 0xd8, 0x41, 0x7d, 0xf8, 0x2d, 0x89, 0x40, 0x5d, 0x29, 0xc3, 0x49, 0x92, 0x82, 0x5b, - 0x27, 0xb5, 0xe0, 0x28, 0xc6, 0xa8, 0x80, 0xf1, 0x5e, 0x2c, 0x72, 0x18, 0xf9, 0xad, 0x8d, 0x19, - 0x03, 0x9c, 0x84, 0x24, 0x87, 0xc4, 0xa9, 0xb3, 0xef, 0x47, 0x34, 0x4b, 0xbe, 0x30, 0xd4, 0xc5, - 0x75, 0xcc, 0x84, 0x3c, 0x1f, 0x91, 0x10, 0xb6, 0x07, 0x93, 0xef, 0xf9, 0xa1, 0x1b, 0xf8, 0x2f, - 0x86, 0x16, 0x43, 0x1b, 0x3e, 0x24, 0x7a, 0x82, 0xd3, 0x3e, 0xf7, 0x84, 0x42, 0x89, 0x51, 0xaf, - 0xb2, 0x36, 0x2d, 0x9a, 0xfc, 0x40, 0x93, 0xfb, 0x5a, 0x5c, 0xdb, 0x3d, 0x7c, 0xd8, 0x46, 0x94, - 0x80, 0x1c, 0x54, 0x5e, 0xa4, 0x93, 0x85, 0xc9, 0x06, 0x9c, 0x8b, 0xe0, 0xff, 0x43, 0x52, 0x1d, - 0x34, 0x10, 0xc2, 0x79, 0xe4, 0x89, 0xeb, 0x1d, 0xda, 0xcb, 0xf4, 0x22, 0x06, 0xdf, 0x26, 0xb9, - 0x3e, 0x4b, 0x72, 0xe8, 0x22, 0xef, 0x77, 0xb4, 0x34, 0xdf, 0x83, 0x41, 0xf0, 0x78, 0x7f, 0xbf, - 0xc0, 0x2d, 0xc6, 0x54, 0x13, 0xdc, 0x05, 0x13, 0xdd, 0xc8, 0xf7, 0x60, 0xd1, 0xf2, 0x8a, 0xa2, - 0xb5, 0x59, 0x5d, 0x11, 0x46, 0xd8, 0xf0, 0x27, 0xa4, 0x20, 0x15, 0x6f, 0xed, 0x16, 0xc4, 0xa1, - 0x96, 0x23, 0x85, 0xb0, 0xf2, 0x23, 0x6d, 0xf9, 0x29, 0x13, 0x17, 0x7c, 0x7f, 0x9e, 0x35, 0x51, - 0xee, 0xa1, 0x1d, 0x96, 0xb5, 0xa2, 0xb5, 0x72, 0x4e, 0xff, 0x54, 0x12, 0x17, 0x3c, 0xc7, 0xc5, - 0x17, 0xd7, 0x3d, 0x98, 0x8c, 0x56, 0x57, 0x52, 0x8f, 0x2a, 0xcb, 0x4e, 0x7d, 0x1f, 0x4c, 0x46, - 0x84, 0x28, 0xc9, 0x45, 0xb3, 0x86, 0x7b, 0x46, 0xca, 0xdb, 0x61, 0x70, 0x7d, 0x32, 0x97, 0x45, - 0x14, 0xf2, 0xff, 0xb1, 0x24, 0x67, 0x7a, 0xfe, 0x78, 0x1b, 0x75, 0x3a, 0xbe, 0x4d, 0x8f, 0x2b, - 0x60, 0x9a, 0x75, 0x25, 0x84, 0x2a, 0xe9, 0x03, 0x9a, 0xec, 0x29, 0xa5, 0xf4, 0x5a, 0xc1, 0x5c, - 0x7f, 0x1e, 0x80, 0xb8, 0xd7, 0x6e, 0xc3, 0x38, 0xf1, 0x51, 0xc8, 0x72, 0xac, 0xf4, 0x44, 0x11, - 0xbd, 0x0e, 0x16, 0x4c, 0xd2, 0x09, 0x15, 0xfe, 0xa2, 0x55, 0xc1, 0x81, 0x7d, 0xe8, 0x06, 0x23, - 0xab, 0x70, 0x1f, 0x9c, 0xc4, 0xf5, 0x09, 0xd7, 0x60, 0xf6, 0xf6, 0xdb, 0x5a, 0xdb, 0x0b, 0x6e, - 0x1c, 0x8d, 0xbf, 0x70, 0x0c, 0xbd, 0x08, 0x26, 0x4c, 0x37, 0xb6, 0x2a, 0xa2, 0x17, 0x15, 0x59, - 0xe8, 0xf5, 0x8c, 0x5e, 0x59, 0x04, 0x26, 0x71, 0xa3, 0x91, 0x3f, 0x89, 0xfe, 0x22, 0x92, 0x21, - 0x2d, 0xf8, 0xfe, 0x83, 0x76, 0x85, 0x48, 0x05, 0xb6, 0x8d, 0xc2, 0x7d, 0x3f, 0xea, 0x8c, 0x54, - 0x3f, 0x4b, 0x75, 0x6f, 0x79, 0x88, 0xba, 0xb7, 0xf2, 0x5d, 0x00, 0xf0, 0x75, 0x99, 0x96, 0xcf, - 0xa4, 0xa2, 0x2e, 0x70, 0xc3, 0x96, 0xb6, 0x68, 0x43, 0x87, 0xac, 0x8d, 0xd0, 0x74, 0x8f, 0x58, - 0xf8, 0x49, 0x84, 0xf6, 0xfd, 0x00, 0x92, 0xde, 0xc1, 0x28, 0x87, 0x57, 0x6b, 0xdb, 0x2c, 0x51, - 0xc1, 0xf1, 0xc7, 0xa4, 0xe0, 0x61, 0x2f, 0x9f, 0xc2, 0x66, 0xec, 0x27, 0xd0, 0xce, 0xb4, 0x0a, - 0x4e, 0x1e, 0x51, 0x1c, 0xef, 0x4b, 0xb1, 0xa5, 0xb6, 0xc0, 0x19, 0xa0, 0x2c, 0x38, 0xff, 0x80, - 0xc4, 0x29, 0xf6, 0xbe, 0xe1, 0x23, 0x3b, 0xd7, 0xb3, 0xa0, 0xdc, 0xf4, 0x11, 0xe3, 0x88, 0x7f, - 0x6a, 0x43, 0x4a, 0x86, 0x9a, 0xe0, 0xd4, 0x24, 0x01, 0x59, 0xca, 0x7c, 0x8f, 0xbb, 0x30, 0xb4, - 0xf0, 0x5a, 0x04, 0xa7, 0x9b, 0x29, 0x58, 0x58, 0x37, 0xfb, 0x50, 0xe1, 0x7f, 0x8f, 0x04, 0x65, - 0x85, 0x87, 0x48, 0xaf, 0x98, 0x17, 0xf9, 0x34, 0x71, 0xb5, 0x44, 0x2e, 0x64, 0x7c, 0x59, 0xff, - 0xa2, 0x44, 0x6a, 0x00, 0x69, 0x63, 0x81, 0xee, 0x49, 0x21, 0x01, 0x87, 0xe8, 0xa5, 0x2c, 0x80, - 0x79, 0xbd, 0x0c, 0xc2, 0x84, 0x7d, 0x5e, 0x17, 0xef, 0xa5, 0x97, 0x0f, 0xfb, 0x07, 0xd3, 0x57, - 0x45, 0xca, 0x8d, 0xa6, 0x3c, 0x70, 0xa3, 0x31, 0x55, 0xc9, 0x59, 0xbe, 0x52, 0x3f, 0xf5, 0x8c, - 0xa8, 0xe1, 0xfc, 0x38, 0x19, 0x45, 0xa4, 0x62, 0xdd, 0x09, 0x9e, 0xef, 0x53, 0x46, 0x42, 0x86, - 0xcf, 0x44, 0xc2, 0xc5, 0x07, 0x7f, 0xb7, 0x17, 0x24, 0xbe, 0x45, 0x88, 0xbb, 0x60, 0xa2, 0x4f, - 0x3a, 0x8f, 0x63, 0xc5, 0xe2, 0x08, 0x45, 0x2b, 0xd2, 0x34, 0x44, 0x02, 0x15, 0x2c, 0x87, 0x2e, - 0xe5, 0xfe, 0x4c, 0xef, 0xac, 0x24, 0x0e, 0xe5, 0x1c, 0x88, 0x2a, 0x38, 0x49, 0x1a, 0x08, 0xd1, - 0x16, 0x3f, 0xf2, 0x6c, 0x99, 0xbe, 0x69, 0x30, 0xeb, 0xf1, 0x25, 0xfe, 0xd2, 0x0c, 0xd4, 0x82, - 0xde, 0x21, 0xeb, 0x43, 0xc8, 0x8f, 0x52, 0x44, 0x83, 0x20, 0x26, 0x64, 0x04, 0x79, 0xa4, 0x28, - 0xfd, 0x2e, 0xf1, 0x41, 0x21, 0xaf, 0x7c, 0xb8, 0x78, 0xc0, 0x2f, 0x65, 0x02, 0x7e, 0xdd, 0xe5, - 0x77, 0xda, 0x8f, 0xdc, 0x0e, 0x1c, 0xc5, 0x37, 0xf8, 0x65, 0xbd, 0x9c, 0x5e, 0xd6, 0x4d, 0xf7, - 0x59, 0xc6, 0x42, 0x6a, 0x82, 0x54, 0xd2, 0x80, 0xb4, 0x15, 0xf8, 0x6e, 0x9c, 0x2b, 0x00, 0x6d, - 0xea, 0x8f, 0x99, 0x9b, 0xfa, 0xb4, 0xf2, 0x53, 0x68, 0x4a, 0x1c, 0xb1, 0x7d, 0x1e, 0xb9, 0x51, - 0x70, 0xbc, 0xe5, 0x79, 0x30, 0x8e, 0x3f, 0x0c, 0xfb, 0x7e, 0x5e, 0x2f, 0xa2, 0x97, 0xce, 0x17, - 0xcc, 0xb7, 0xd4, 0x01, 0x9a, 0x52, 0xc2, 0xc2, 0xe7, 0xef, 0x53, 0xe8, 0x06, 0xc7, 0xdb, 0x28, - 0x0c, 0xa1, 0x97, 0x93, 0x39, 0x5e, 0x60, 0x24, 0xb3, 0xf2, 0xb4, 0xc3, 0x97, 0xda, 0xb3, 0x26, - 0x13, 0x15, 0xfc, 0xfe, 0x30, 0x46, 0xcc, 0xfa, 0x28, 0xc4, 0x85, 0x44, 0x52, 0xe0, 0xfe, 0xa1, - 0x6b, 0xb7, 0xd4, 0xc0, 0x54, 0x2b, 0x72, 0x8f, 0x02, 0x7a, 0xe6, 0xb1, 0xd7, 0x89, 0x75, 0xe5, - 0x29, 0x00, 0x64, 0xfe, 0x03, 0x13, 0x18, 0xf1, 0x5c, 0x7f, 0x5f, 0x7b, 0x46, 0x07, 0xc5, 0xa0, - 0xc3, 0x24, 0xb2, 0xf3, 0x51, 0x98, 0x44, 0xc7, 0x8e, 0x44, 0x2a, 0xbd, 0x91, 0x4e, 0x48, 0x37, - 0xd2, 0xda, 0xfb, 0xe0, 0x8c, 0xb2, 0x09, 0x67, 0xba, 0x43, 0xc8, 0x26, 0x5d, 0x0e, 0xfe, 0x89, - 0xb7, 0xf6, 0xdd, 0xa0, 0xc7, 0x95, 0xa0, 0x8b, 0x87, 0x63, 0x0f, 0x4a, 0x5a, 0xf7, 0x50, 0x84, - 0x12, 0xa6, 0x0b, 0xc9, 0x95, 0x56, 0xbc, 0xdd, 0x41, 0xf6, 0x2b, 0x09, 0xe4, 0xc0, 0xf4, 0x4a, - 0x22, 0x3d, 0x2a, 0xd0, 0x53, 0xa0, 0x97, 0x5b, 0x89, 0x9f, 0xda, 0xfb, 0x4e, 0x05, 0x0d, 0x50, - 0x0c, 0xff, 0xdf, 0xd2, 0x60, 0x3b, 0x1e, 0xb1, 0x82, 0x7e, 0xca, 0xc1, 0x3f, 0xb5, 0x65, 0x51, - 0x56, 0x08, 0x21, 0xa2, 0x4f, 0xa7, 0x0b, 0xc4, 0x82, 0x4f, 0xe8, 0xa8, 0x72, 0x87, 0x4e, 0x2a, - 0x87, 0xf4, 0xb5, 0x0a, 0x18, 0x6f, 0xc1, 0xd8, 0xe3, 0x92, 0xe1, 0xdf, 0x8a, 0x1c, 0x9b, 0xa4, - 0xf7, 0xa2, 0x63, 0x25, 0x22, 0xdc, 0x2c, 0x18, 0xf3, 0x79, 0x70, 0x1b, 0xf3, 0x5b, 0xf5, 0x63, - 0x79, 0xc0, 0x58, 0x54, 0x3a, 0x4a, 0x64, 0x8c, 0x13, 0xd1, 0xc5, 0x36, 0x21, 0xed, 0xb8, 0x51, - 0x5a, 0xda, 0x29, 0xd2, 0xb1, 0x96, 0x7a, 0x17, 0x58, 0xba, 0x1d, 0x18, 0xc0, 0xd1, 0xa5, 0xd3, - 0x72, 0xd5, 0x91, 0x14, 0x5c, 0x3f, 0x26, 0x5c, 0xa5, 0x48, 0xb5, 0xe3, 0xc7, 0xfe, 0xff, 0x1e, - 0x00, 0x29, 0x67, 0x1d, 0x59, 0xce, 0xf9, 0xf6, 0xbf, 0x56, 0x41, 0x79, 0x37, 0x6e, 0x57, 0x9a, - 0x60, 0x26, 0x33, 0xb8, 0x5e, 0x34, 0x85, 0x0d, 0x19, 0x55, 0x5b, 0x2b, 0x82, 0x12, 0x9e, 0xf0, - 0x53, 0x00, 0xa4, 0xe1, 0x71, 0xdd, 0xb8, 0x57, 0x60, 0x6a, 0xab, 0xf9, 0x18, 0x41, 0x1d, 0x82, - 0xd3, 0xd9, 0xc1, 0xf0, 0x92, 0x69, 0x73, 0x06, 0x56, 0xbb, 0x55, 0x08, 0x26, 0xd8, 0x1c, 0x82, - 0x33, 0xea, 0x6c, 0xf7, 0xa6, 0x95, 0x42, 0x0a, 0xac, 0x6d, 0x14, 0x04, 0x0a, 0x66, 0x9f, 0x80, - 0x29, 0x31, 0x3e, 0x5d, 0xb0, 0x6d, 0xc6, 0x88, 0xda, 0x72, 0x1e, 0x42, 0xd0, 0x6d, 0x82, 0x99, - 0xcc, 0xac, 0x73, 0xd1, 0xb6, 0x93, 0xa3, 0xcc, 0x5f, 0x5b, 0x37, 0xc8, 0xc4, 0x5f, 0x5b, 0x1a, - 0x62, 0xd6, 0x6d, 0x7b, 0x29, 0xc6, 0xfc, 0xb5, 0x07, 0x47, 0x90, 0x95, 0x03, 0x30, 0xab, 0x8c, - 0x1f, 0x6f, 0xd8, 0x76, 0xa7, 0xb8, 0xda, 0x7a, 0x31, 0x9c, 0xe0, 0x14, 0x82, 0xb3, 0x03, 0x63, - 0xc4, 0xe5, 0x1c, 0x1a, 0x02, 0x59, 0x7b, 0xb7, 0x28, 0x32, 0xe3, 0x60, 0xca, 0xa0, 0xd0, 0xec, - 0x60, 0x59, 0xa0, 0xc5, 0xc1, 0xf4, 0xc3, 0xc3, 0xca, 0x67, 0xe0, 0xdc, 0xe0, 0xe4, 0x70, 0x25, - 0x87, 0x4a, 0x0a, 0xad, 0x6d, 0x16, 0x86, 0x0a, 0x96, 0xcf, 0xc1, 0x29, 0x79, 0x96, 0x78, 0xdd, - 0x44, 0x41, 0x02, 0xd5, 0xde, 0x29, 0x00, 0xca, 0x04, 0x82, 0xcc, 0xf8, 0x6e, 0x29, 0x47, 0x48, - 0x16, 0x6c, 0x6e, 0x15, 0x82, 0x09, 0x36, 0x2f, 0xc0, 0x9c, 0x76, 0x6a, 0xb7, 0x56, 0x40, 0x56, - 0x81, 0xae, 0xbd, 0x37, 0x0c, 0x5a, 0xf0, 0x7e, 0x06, 0xa6, 0xd3, 0x71, 0xdd, 0x35, 0x13, 0x09, - 0x01, 0xa9, 0xad, 0xe4, 0x42, 0xe4, 0x63, 0x2b, 0xcd, 0xd1, 0xea, 0xb6, 0x8d, 0x14, 0x63, 0x3e, - 0xb6, 0x83, 0x83, 0x32, 0xfc, 0x6d, 0xb2, 0x53, 0xb2, 0xa5, 0x9c, 0xcd, 0x14, 0x66, 0xfe, 0x36, - 0xda, 0x49, 0x18, 0x76, 0xeb, 0xc1, 0x31, 0x98, 0xd5, 0x08, 0x19, 0xa8, 0xd9, 0xad, 0x8d, 0x23, - 0x2f, 0xec, 0x0e, 0xda, 0x79, 0xd7, 0x5a, 0x31, 0x52, 0x4c, 0xcf, 0xf7, 0x86, 0x41, 0xcb, 0x47, - 0x4a, 0x9e, 0x6d, 0x5d, 0xb7, 0x10, 0xe1, 0x20, 0xf3, 0x91, 0xd2, 0x4c, 0xb5, 0xd8, 0x67, 0x93, - 0x82, 0xad, 0xed, 0xb3, 0x49, 0xb1, 0xf6, 0x56, 0x21, 0x98, 0xa2, 0x87, 0x98, 0x5a, 0xd9, 0xf4, - 0xe0, 0x20, 0xab, 0x1e, 0xea, 0x64, 0x0a, 0x67, 0x0d, 0x65, 0x2c, 0x65, 0xcc, 0x1a, 0x59, 0x9c, - 0x39, 0x6b, 0x18, 0x66, 0x52, 0x87, 0xe0, 0x8c, 0x3a, 0x67, 0xba, 0x69, 0x96, 0x34, 0x03, 0x34, - 0x47, 0x71, 0xc3, 0xb0, 0x08, 0xa7, 0xf3, 0xcc, 0xa4, 0x68, 0x31, 0x97, 0x00, 0x56, 0x69, 0xad, - 0x08, 0x4a, 0xab, 0x10, 0x73, 0xed, 0x7c, 0x85, 0x98, 0x57, 0x6f, 0x14, 0x04, 0xaa, 0xb5, 0x5c, - 0x3a, 0x03, 0xb2, 0xd6, 0x72, 0x02, 0x66, 0xaf, 0xe5, 0x06, 0xc6, 0x35, 0x95, 0x5f, 0x82, 0xb7, - 0xf4, 0xa3, 0x9a, 0x5b, 0xb9, 0x79, 0x54, 0x86, 0xd7, 0xee, 0x0e, 0x05, 0xb7, 0xb0, 0x67, 0x63, - 0x96, 0xa2, 0xec, 0x29, 0xbc, 0x30, 0xfb, 0xec, 0x44, 0x84, 0x94, 0x50, 0xd9, 0x71, 0xc8, 0x8d, - 0x7c, 0x42, 0x18, 0x67, 0x29, 0xa1, 0xb4, 0x33, 0x10, 0xec, 0x9f, 0x99, 0xf9, 0xc7, 0xa2, 0x35, - 0xe9, 0x31, 0x54, 0x6d, 0xad, 0x08, 0x4a, 0xd6, 0x46, 0x19, 0x3d, 0x18, 0xb5, 0xc9, 0xe2, 0xcc, - 0xda, 0xe8, 0xa7, 0x0e, 0x38, 0xb9, 0x0c, 0x8e, 0x1c, 0x56, 0x72, 0x88, 0xa4, 0x50, 0x73, 0x72, - 0x31, 0x8e, 0x1b, 0xf0, 0x79, 0xc8, 0xce, 0x1a, 0x96, 0x72, 0x68, 0x50, 0x98, 0xf9, 0x3c, 0x68, - 0x67, 0x0d, 0xf8, 0x8c, 0xab, 0x83, 0x86, 0x9b, 0x05, 0xe2, 0x1e, 0x06, 0x9a, 0xcf, 0xb8, 0x69, - 0xac, 0x70, 0x04, 0xce, 0xeb, 0x06, 0x07, 0xef, 0x14, 0xa0, 0x23, 0x6e, 0x24, 0x77, 0x86, 0x00, - 0x2b, 0xc5, 0x81, 0x32, 0x0b, 0x58, 0xc9, 0x4b, 0x23, 0x02, 0x6a, 0x2d, 0x0e, 0xf4, 0x9d, 0x7e, - 0x1a, 0xa0, 0xa5, 0x36, 0xff, 0xa2, 0x3d, 0x2f, 0x52, 0x94, 0x2d, 0x40, 0x0f, 0x76, 0xf2, 0x79, - 0xcc, 0x4c, 0xdb, 0xf8, 0x4b, 0x79, 0xd7, 0x41, 0x02, 0xb3, 0xc7, 0xcc, 0xc1, 0x0e, 0xfd, 0x33, - 0x30, 0x9d, 0x76, 0xdd, 0xaf, 0x59, 0x8f, 0x28, 0xf1, 0x8b, 0x95, 0x5c, 0x88, 0x52, 0x7a, 0xf2, - 0x76, 0xb7, 0xad, 0xf4, 0x64, 0x18, 0x6b, 0xe9, 0xa9, 0xf4, 0xb4, 0xb1, 0x73, 0xab, 0x0d, 0xed, - 0x9b, 0x39, 0xc7, 0x83, 0x03, 0xcd, 0xce, 0x6d, 0x68, 0x67, 0x63, 0x1f, 0x1b, 0xec, 0x65, 0x1b, - 0x4d, 0x31, 0x00, 0x35, 0xfb, 0x98, 0xb1, 0x9b, 0x8d, 0x7d, 0x2c, 0xd3, 0xca, 0x36, 0xfa, 0x98, - 0x8c, 0x32, 0xfb, 0x98, 0xae, 0x83, 0x8d, 0x6d, 0xa8, 0x76, 0xaf, 0x6f, 0x16, 0xec, 0x2f, 0x9b, - 0x6d, 0x68, 0xe8, 0xf9, 0xe2, 0x6a, 0x50, 0x6e, 0xf8, 0x5e, 0xcf, 0xdd, 0xbf, 0x83, 0xcc, 0xd5, - 0xa0, 0xa6, 0x95, 0x8b, 0x53, 0x86, 0xd2, 0xc6, 0xbd, 0x91, 0x2f, 0x23, 0xc6, 0x99, 0x53, 0x86, - 0xbe, 0x23, 0x8b, 0x2f, 0x07, 0xda, 0x76, 0xac, 0xb9, 0xa3, 0xa2, 0x41, 0x9b, 0x2f, 0x07, 0xd6, - 0xfe, 0xeb, 0x0b, 0x30, 0xa7, 0x6d, 0xb6, 0xe6, 0xf5, 0xee, 0x0a, 0xf2, 0xb6, 0x75, 0x53, 0x31, - 0x6f, 0x6d, 0x2b, 0xd5, 0xc8, 0x5b, 0x87, 0x36, 0xf3, 0xb6, 0xf5, 0x54, 0x31, 0x6f, 0x6d, 0x43, - 0x75, 0xad, 0xc0, 0xd1, 0x12, 0x68, 0x33, 0x6f, 0x5b, 0x57, 0xb5, 0x36, 0xf1, 0xab, 0x37, 0x2f, - 0x57, 0x4b, 0x0d, 0xe7, 0xab, 0x57, 0xf3, 0xa5, 0xaf, 0x5f, 0xcd, 0x97, 0xfe, 0xf3, 0x6a, 0xbe, - 0xf4, 0xfb, 0xd7, 0xf3, 0x27, 0xbe, 0x7e, 0x3d, 0x7f, 0xe2, 0x9f, 0xaf, 0xe7, 0x4f, 0x7c, 0xfa, - 0xa0, 0xed, 0x27, 0x07, 0xbd, 0xe6, 0xba, 0x87, 0x3a, 0x1b, 0x3b, 0xd0, 0x83, 0x61, 0x12, 0xb9, - 0x01, 0x0e, 0xb8, 0xdf, 0x77, 0x3b, 0x70, 0x43, 0xff, 0x97, 0x3a, 0xc9, 0x71, 0x17, 0xc6, 0xcd, - 0x49, 0xf2, 0xc7, 0x46, 0x77, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x01, 0x50, 0x90, 0x54, 0xf1, - 0x35, 0x00, 0x00, + 0x3e, 0x76, 0x76, 0x76, 0x38, 0x33, 0xbb, 0x64, 0xdb, 0x8b, 0xcd, 0xd9, 0xfd, 0xcd, 0xfb, 0xda, + 0x37, 0xef, 0xbd, 0x79, 0x0f, 0x02, 0x57, 0x3c, 0x37, 0x6a, 0x79, 0x07, 0xae, 0x1f, 0x6e, 0xa4, + 0xbf, 0xf0, 0xe7, 0xeb, 0xdd, 0x08, 0x61, 0x54, 0x39, 0x2f, 0x9e, 0xad, 0x8b, 0x5f, 0xb5, 0x73, + 0x6e, 0xc7, 0x0f, 0xd1, 0x06, 0xfd, 0x97, 0xe1, 0x6a, 0x17, 0x3d, 0x14, 0x77, 0x50, 0xbc, 0xd1, + 0x89, 0xdb, 0x1b, 0xfd, 0x4d, 0xf2, 0x1f, 0x7f, 0x71, 0x89, 0xbd, 0x78, 0x4e, 0x57, 0x1b, 0x6c, + 0xc1, 0x5f, 0xcd, 0xb5, 0x51, 0x1b, 0xb1, 0xe7, 0xe4, 0x17, 0x7f, 0xba, 0xa0, 0x93, 0xa7, 0xeb, + 0x46, 0x6e, 0x27, 0xd9, 0x37, 0xcf, 0x79, 0x35, 0xdd, 0x18, 0x6e, 0xf4, 0x37, 0x9b, 0x10, 0xbb, + 0x9b, 0x1b, 0x1e, 0xf2, 0x43, 0x1b, 0x85, 0x3e, 0xc2, 0x7e, 0x98, 0x08, 0x75, 0x55, 0x87, 0xe8, + 0xb8, 0xd8, 0x3b, 0xe0, 0x80, 0x6b, 0x3a, 0x80, 0x87, 0x7a, 0xa1, 0xe7, 0x07, 0x42, 0x0a, 0x1d, + 0xc4, 0x8d, 0x5a, 0xfc, 0xfd, 0x8a, 0x56, 0x8f, 0x08, 0xb5, 0x7a, 0x1e, 0x7e, 0xde, 0x82, 0xd8, + 0xf5, 0x03, 0xae, 0x50, 0xfd, 0x6f, 0x25, 0x70, 0x66, 0x37, 0x6e, 0x7f, 0xdc, 0x6d, 0xb9, 0x18, + 0x3e, 0xa1, 0xaa, 0x56, 0xee, 0x81, 0x69, 0xb7, 0x87, 0x0f, 0x50, 0xe4, 0xe3, 0xe3, 0x6a, 0x69, + 0xa1, 0xb4, 0x3c, 0xdd, 0xa8, 0x7e, 0xf3, 0x97, 0x5b, 0x73, 0xdc, 0x82, 0x5b, 0xad, 0x56, 0x04, + 0xe3, 0x78, 0x0f, 0x47, 0x7e, 0xd8, 0x76, 0x52, 0x68, 0xe5, 0x03, 0x30, 0xc9, 0x8c, 0x55, 0x1d, + 0x5b, 0x28, 0x2d, 0x9f, 0xba, 0x7d, 0x79, 0x5d, 0xf3, 0x05, 0xd7, 0x19, 0x93, 0xc6, 0xf4, 0x57, + 0xff, 0xba, 0x7a, 0xe2, 0xcb, 0x37, 0x2f, 0x57, 0x4b, 0x0e, 0xdf, 0xf5, 0xf0, 0xc1, 0x17, 0x6f, + 0x5e, 0xae, 0xa6, 0xf4, 0x7e, 0xf3, 0xe6, 0xe5, 0xea, 0x52, 0x2a, 0xff, 0xe7, 0x92, 0x2e, 0x8a, + 0xc4, 0xf5, 0x4b, 0xe0, 0xa2, 0xf2, 0xc8, 0x81, 0x71, 0x17, 0x85, 0x31, 0xac, 0xb7, 0xc1, 0x69, + 0xf2, 0x2a, 0x86, 0xd1, 0x76, 0x04, 0x5d, 0x0c, 0x2b, 0x55, 0x70, 0xd2, 0x23, 0xbf, 0x50, 0xc4, + 0x74, 0x73, 0x92, 0x25, 0x79, 0x13, 0xc2, 0x23, 0x02, 0xa5, 0x0a, 0x4c, 0x3b, 0xc9, 0xb2, 0x32, + 0x07, 0x26, 0xdc, 0xc0, 0x77, 0xe3, 0x6a, 0x99, 0x3e, 0x67, 0x8b, 0x87, 0x33, 0x44, 0xde, 0x64, + 0x77, 0xfd, 0x22, 0x78, 0x2b, 0xc3, 0x48, 0x48, 0xd0, 0x01, 0x67, 0x77, 0xe3, 0xf6, 0xb6, 0x1b, + 0xb5, 0xf6, 0xbc, 0x03, 0xd8, 0x81, 0x8d, 0xde, 0xb1, 0x45, 0x88, 0x4d, 0x50, 0x6e, 0xfa, 0x2d, + 0x6e, 0xc1, 0x4b, 0xeb, 0xdc, 0xe6, 0xc4, 0xdf, 0xd6, 0xb9, 0xbf, 0xad, 0x6f, 0x23, 0x3f, 0x6c, + 0x8c, 0x13, 0xfb, 0x39, 0x04, 0xab, 0xc8, 0x71, 0x1b, 0x54, 0x55, 0x76, 0x89, 0x28, 0x95, 0x0b, + 0x60, 0x92, 0x18, 0xf1, 0xc3, 0x16, 0xe5, 0x3a, 0xee, 0xf0, 0x55, 0xfd, 0xaf, 0x25, 0x50, 0x49, + 0x36, 0xb9, 0x7d, 0xb8, 0x8d, 0x42, 0x0c, 0x43, 0x6c, 0x91, 0x32, 0x25, 0x34, 0x26, 0x13, 0xa2, + 0x3b, 0xd8, 0x66, 0x6a, 0xaa, 0x19, 0x27, 0x59, 0x12, 0x13, 0x86, 0x08, 0xc3, 0xb8, 0x3a, 0xce, + 0x4c, 0x48, 0x17, 0x84, 0x8e, 0x1b, 0x61, 0x3f, 0xc6, 0xd5, 0x09, 0xfa, 0x98, 0xaf, 0x2a, 0x8b, + 0xe0, 0x74, 0xd3, 0x0d, 0xdc, 0xd0, 0x83, 0x5b, 0xa1, 0x77, 0x80, 0xa2, 0xea, 0xe4, 0x42, 0x69, + 0x79, 0xca, 0xc9, 0x3e, 0x54, 0x14, 0xdf, 0x01, 0xb5, 0x41, 0x1d, 0x84, 0xea, 0x37, 0xc0, 0xac, + 0xeb, 0x47, 0xad, 0x08, 0x75, 0xb7, 0x03, 0xd7, 0xef, 0x40, 0x66, 0x82, 0x29, 0x47, 0x79, 0x5a, + 0xff, 0x39, 0x38, 0xc5, 0xa9, 0x7c, 0x82, 0xac, 0xde, 0x72, 0x07, 0x8c, 0xf7, 0x11, 0x86, 0xfc, + 0x4b, 0x5d, 0xd5, 0xfa, 0xfa, 0x9e, 0x1f, 0xb6, 0x03, 0x48, 0x08, 0x39, 0x14, 0xac, 0x48, 0xfc, + 0x3e, 0x38, 0x2f, 0xf1, 0x1a, 0x5a, 0xd4, 0x0e, 0x3d, 0xba, 0x64, 0xfb, 0x0f, 0x23, 0x37, 0x8c, + 0xf7, 0x61, 0x34, 0xc2, 0x17, 0xab, 0x81, 0xa9, 0x08, 0x7a, 0xd0, 0xef, 0xc3, 0x88, 0x7b, 0xb7, + 0x58, 0x2b, 0xd2, 0xb2, 0x43, 0x26, 0xb3, 0x13, 0x2e, 0xfe, 0xeb, 0x12, 0x3d, 0x65, 0xe4, 0xdd, + 0x0e, 0x0a, 0xed, 0xa7, 0xcc, 0x24, 0xc8, 0x7d, 0x30, 0xe9, 0x76, 0x50, 0x8f, 0x7b, 0x4e, 0x01, + 0xdf, 0xe7, 0x70, 0xed, 0x31, 0x4c, 0x25, 0x11, 0x32, 0xfe, 0xaa, 0x04, 0xce, 0xf1, 0x37, 0x5b, + 0x11, 0x3e, 0x42, 0xd1, 0xe1, 0x56, 0xab, 0x35, 0x82, 0x9c, 0x73, 0x60, 0xc2, 0xef, 0xb8, 0x6d, + 0xc8, 0x1d, 0x9c, 0x2d, 0x08, 0x9d, 0xfd, 0x5e, 0x10, 0x6c, 0x45, 0x98, 0x3a, 0xf8, 0x94, 0x93, + 0x2c, 0x15, 0xf1, 0x2e, 0x83, 0x4b, 0x03, 0x42, 0x48, 0x91, 0xe2, 0x7c, 0xfa, 0xd2, 0x8f, 0xf1, + 0xf6, 0x81, 0x1b, 0xb6, 0x47, 0xb1, 0x65, 0x7a, 0xac, 0xca, 0xf2, 0xb1, 0x52, 0x64, 0x79, 0x1b, + 0x5c, 0xd6, 0xb0, 0x13, 0xd2, 0x7c, 0x9b, 0xc5, 0x04, 0x96, 0x79, 0x1c, 0xd8, 0xf6, 0x63, 0x6c, + 0xf3, 0x30, 0x85, 0xf8, 0x15, 0x76, 0x1a, 0xb3, 0xbb, 0x05, 0xed, 0x0f, 0xc0, 0x5c, 0xfa, 0x76, + 0x07, 0x46, 0xc3, 0x52, 0x9f, 0x07, 0x57, 0x74, 0xfb, 0x05, 0xfd, 0x6f, 0x4a, 0x60, 0x76, 0x37, + 0x6e, 0xef, 0x92, 0xbc, 0xea, 0xc0, 0x2e, 0x8a, 0xb0, 0x3d, 0xee, 0xd3, 0x04, 0x2c, 0xcc, 0x98, + 0x2c, 0x2b, 0x75, 0x30, 0xd3, 0x0d, 0xdc, 0x63, 0xd8, 0x22, 0x46, 0x8a, 0xb7, 0xaa, 0xe5, 0x85, + 0xf2, 0xf2, 0xb8, 0x93, 0x79, 0xa6, 0x60, 0x1a, 0xd5, 0xf1, 0x01, 0x4c, 0xa3, 0x72, 0x0f, 0x9c, + 0x44, 0x3d, 0xec, 0xa1, 0x0e, 0xa4, 0x71, 0x6e, 0xf6, 0xf6, 0x15, 0x6d, 0xb8, 0x78, 0xcc, 0x30, + 0x4e, 0x02, 0x56, 0x94, 0xae, 0x82, 0x0b, 0x59, 0x9d, 0x84, 0xba, 0x0e, 0x4b, 0x31, 0xcc, 0x1c, + 0xb9, 0x79, 0xce, 0xe0, 0x35, 0x0a, 0xb7, 0x1a, 0xcb, 0x23, 0x32, 0x4d, 0xc1, 0xef, 0xa7, 0x34, + 0x14, 0x48, 0x92, 0xc0, 0x68, 0xab, 0xdb, 0x45, 0xbe, 0x35, 0x67, 0xd0, 0x48, 0xc3, 0xc0, 0x3c, + 0xbf, 0x8a, 0xb5, 0xc2, 0xfa, 0x1a, 0xb8, 0x6a, 0x20, 0x2f, 0x24, 0xf8, 0xb2, 0x04, 0x66, 0x76, + 0xe3, 0xf6, 0x1e, 0xc4, 0xb9, 0xea, 0x56, 0xc0, 0x78, 0xe8, 0x76, 0x20, 0xe7, 0x49, 0x7f, 0x9b, + 0x0e, 0x48, 0x65, 0x01, 0x9c, 0x8a, 0x31, 0x8a, 0x8e, 0x9f, 0x46, 0x3e, 0x11, 0x93, 0xe5, 0x2a, + 0xf9, 0x11, 0xf9, 0xdc, 0x24, 0xa5, 0x45, 0x7e, 0xb3, 0x87, 0x51, 0x14, 0x57, 0x27, 0x16, 0xca, + 0xcb, 0xd3, 0x4e, 0xe6, 0x99, 0xa2, 0xcd, 0x05, 0xea, 0xeb, 0x42, 0x52, 0xa1, 0x02, 0xa4, 0x31, + 0x93, 0x3c, 0x27, 0x27, 0xd0, 0x1a, 0x8b, 0xe6, 0xc0, 0x44, 0x0c, 0xb1, 0xf8, 0x60, 0x6c, 0x21, + 0x7d, 0xc7, 0xb2, 0xe5, 0x3b, 0xb2, 0x80, 0x98, 0xb2, 0x11, 0xfc, 0x0f, 0xa8, 0xd3, 0xf0, 0x17, + 0x0e, 0xec, 0xa0, 0x3e, 0xfc, 0x3f, 0x89, 0xc0, 0x5c, 0x29, 0xc3, 0x49, 0x92, 0x22, 0xb1, 0x4e, + 0x6a, 0xc1, 0x51, 0x8c, 0x51, 0x01, 0xe3, 0xbd, 0x58, 0xe4, 0x30, 0xfa, 0x5b, 0x1b, 0x33, 0x06, + 0x38, 0x09, 0x49, 0x0e, 0xa9, 0x53, 0x67, 0xdf, 0x8f, 0x68, 0x96, 0x7c, 0x61, 0x98, 0x8b, 0xeb, + 0x98, 0x09, 0x79, 0x3e, 0xa2, 0x21, 0x6c, 0x0f, 0xe2, 0xef, 0xfa, 0xa1, 0x1b, 0xf8, 0x2f, 0x86, + 0x16, 0x43, 0x1b, 0x3e, 0x24, 0x7a, 0x82, 0xd3, 0x7e, 0xe2, 0x09, 0x85, 0x12, 0xa3, 0x5e, 0x65, + 0x6d, 0x5a, 0x34, 0xf9, 0x81, 0x26, 0xf7, 0xb5, 0x12, 0x6d, 0xf7, 0xc8, 0x61, 0x1b, 0x51, 0x02, + 0x7a, 0x50, 0x93, 0x22, 0x9d, 0x2e, 0x4c, 0x36, 0x48, 0xb8, 0x08, 0xfe, 0x3f, 0xa0, 0xd5, 0x41, + 0x03, 0x21, 0x92, 0x47, 0x9e, 0xb8, 0xde, 0xa1, 0xbd, 0x4c, 0x2f, 0x62, 0xf0, 0x6d, 0x9a, 0xeb, + 0xb3, 0x24, 0x87, 0x2e, 0xf2, 0x7e, 0xcb, 0x4a, 0xf3, 0x3d, 0x18, 0x04, 0x8f, 0xf7, 0xf7, 0x0b, + 0xdc, 0x62, 0x4c, 0x35, 0xc1, 0x5d, 0x30, 0xd1, 0x8d, 0x7c, 0x0f, 0x16, 0x2d, 0xaf, 0x18, 0x5a, + 0x9b, 0xd5, 0x15, 0x61, 0x84, 0x0d, 0x7f, 0x4c, 0x0b, 0x52, 0xf1, 0xd6, 0x6e, 0x41, 0x12, 0x6a, + 0x13, 0xa4, 0x10, 0x56, 0x7e, 0xa4, 0x2d, 0x3f, 0x65, 0xe2, 0x82, 0xef, 0xcf, 0xb2, 0x26, 0xca, + 0x3d, 0xb4, 0xc3, 0xb2, 0x56, 0xb4, 0x56, 0xce, 0xe9, 0x1f, 0x4b, 0xe2, 0x82, 0xe7, 0xb8, 0xe4, + 0xe2, 0xba, 0x07, 0xf1, 0x68, 0x75, 0x25, 0xf3, 0xa8, 0xb2, 0xec, 0xd4, 0xf7, 0xc1, 0x64, 0x44, + 0x89, 0xd2, 0x5c, 0x34, 0x6b, 0xb8, 0x67, 0xa4, 0xbc, 0x1d, 0x0e, 0xd7, 0x27, 0x73, 0x59, 0x44, + 0x21, 0xff, 0x1f, 0x4a, 0x72, 0xa6, 0x4f, 0x1e, 0x6f, 0xa3, 0x4e, 0xc7, 0xb7, 0xe9, 0x71, 0x05, + 0x4c, 0xf3, 0xae, 0x84, 0x50, 0x25, 0x7d, 0xc0, 0x92, 0x3d, 0xa3, 0x94, 0x5e, 0x2b, 0xb8, 0xeb, + 0xcf, 0x03, 0x10, 0xf7, 0xda, 0x6d, 0x18, 0x63, 0x1f, 0x85, 0x3c, 0xc7, 0x4a, 0x4f, 0x14, 0xd1, + 0xeb, 0x60, 0xc1, 0x24, 0x9d, 0x50, 0xe1, 0xcf, 0x5a, 0x15, 0x1c, 0xd8, 0x87, 0x6e, 0x30, 0xb2, + 0x0a, 0xdf, 0x52, 0x54, 0x98, 0xbd, 0xfd, 0xb6, 0xd6, 0xf8, 0x82, 0x5d, 0xaa, 0xe1, 0x05, 0x30, + 0x19, 0x43, 0x2f, 0x82, 0x98, 0x6b, 0xc7, 0x57, 0x45, 0x34, 0x63, 0x42, 0x0b, 0xcd, 0x9e, 0xb1, + 0x4b, 0x8b, 0xc0, 0x60, 0x37, 0x1a, 0xf9, 0xa3, 0xe8, 0xaf, 0x22, 0x19, 0xd2, 0x82, 0xef, 0xdf, + 0x59, 0x5f, 0x88, 0xd6, 0x60, 0xdb, 0x28, 0xdc, 0xf7, 0xa3, 0xce, 0x48, 0x15, 0xb4, 0x54, 0xf9, + 0x96, 0x87, 0xa8, 0x7c, 0x2b, 0xdf, 0x01, 0x80, 0x5c, 0x98, 0x59, 0x01, 0x4d, 0x6b, 0xea, 0x02, + 0x77, 0x6c, 0x69, 0x8b, 0x36, 0x78, 0xc8, 0xda, 0x08, 0x4d, 0xf7, 0xa8, 0x85, 0x9f, 0x44, 0x68, + 0xdf, 0x0f, 0x20, 0xed, 0x1e, 0x8c, 0x72, 0x7c, 0xb5, 0xb6, 0xcd, 0x12, 0x15, 0x1c, 0x7f, 0x44, + 0x4b, 0x1e, 0xfe, 0xf2, 0x29, 0x6c, 0xc6, 0x3e, 0x86, 0x76, 0xa6, 0x55, 0x70, 0xf2, 0x88, 0xe1, + 0x92, 0xce, 0x14, 0x5f, 0x6a, 0x4b, 0x9c, 0x01, 0xca, 0x82, 0xf3, 0xf7, 0x69, 0xa4, 0xe2, 0xef, + 0x1b, 0x3e, 0xb2, 0x73, 0x3d, 0x0b, 0xca, 0x4d, 0x1f, 0x71, 0x8e, 0xe4, 0xa7, 0x36, 0xa8, 0x64, + 0xa8, 0x09, 0x4e, 0x4d, 0x1a, 0x92, 0xa5, 0xdc, 0xf7, 0xb8, 0x0b, 0x43, 0x0b, 0xaf, 0x45, 0x70, + 0xba, 0x99, 0x82, 0x85, 0x75, 0xb3, 0x0f, 0x15, 0xfe, 0xf7, 0x68, 0x58, 0x56, 0x78, 0x88, 0x04, + 0x4b, 0x78, 0xd1, 0x4f, 0x13, 0x57, 0x4b, 0xf4, 0x4a, 0x96, 0x2c, 0xeb, 0x5f, 0x94, 0x68, 0x15, + 0x20, 0x6d, 0x2c, 0xd0, 0x3f, 0x29, 0x24, 0xe0, 0x10, 0xdd, 0x94, 0x05, 0x30, 0xaf, 0x97, 0x41, + 0x98, 0xb0, 0x9f, 0x54, 0xc6, 0x7b, 0xe9, 0xf5, 0xc3, 0xfe, 0xc1, 0xf4, 0x75, 0x91, 0x72, 0xa7, + 0x29, 0x0f, 0xdc, 0x69, 0x4c, 0x75, 0x72, 0x96, 0xaf, 0xd4, 0x51, 0x3d, 0x23, 0xaa, 0x38, 0x3f, + 0xc6, 0xa3, 0x88, 0x54, 0xac, 0x3f, 0x91, 0x64, 0xfc, 0x94, 0x91, 0x90, 0xe1, 0x33, 0x91, 0x72, + 0xc9, 0xc1, 0xdf, 0xed, 0x05, 0xd8, 0xb7, 0x08, 0x71, 0x17, 0x4c, 0xf4, 0x69, 0xef, 0x71, 0xac, + 0x58, 0x1c, 0x61, 0x68, 0x45, 0x9a, 0x86, 0x48, 0xa1, 0x82, 0xe5, 0xd0, 0xc5, 0xdc, 0x9f, 0xd8, + 0xad, 0x95, 0xc6, 0xa1, 0x9c, 0x03, 0x51, 0x05, 0x27, 0x69, 0x0b, 0x21, 0xda, 0x4a, 0x8e, 0x3c, + 0x5f, 0xa6, 0x6f, 0x1a, 0xdc, 0x7a, 0xc9, 0x92, 0x7c, 0x69, 0x0e, 0xda, 0x81, 0xde, 0x21, 0xef, + 0x44, 0xc8, 0x8f, 0x52, 0x44, 0x83, 0x22, 0x26, 0x64, 0x04, 0x7d, 0xa4, 0x28, 0xfd, 0x2e, 0xf5, + 0x41, 0x21, 0xaf, 0x7c, 0xb8, 0x92, 0x80, 0x5f, 0xca, 0x04, 0xfc, 0xba, 0x9b, 0xdc, 0x6a, 0x3f, + 0x72, 0x3b, 0x70, 0x14, 0xdf, 0x48, 0xae, 0xeb, 0xe5, 0xf4, 0xba, 0x6e, 0xba, 0xd1, 0x72, 0x16, + 0x52, 0x1b, 0xa4, 0x92, 0x06, 0xa4, 0xad, 0xc0, 0x77, 0xe3, 0x5c, 0x01, 0x58, 0x5b, 0x7f, 0xcc, + 0xdc, 0xd6, 0x67, 0xb5, 0x9f, 0x42, 0x53, 0xe2, 0x48, 0xec, 0xf3, 0xc8, 0x8d, 0x82, 0xe3, 0x2d, + 0xcf, 0x83, 0x71, 0xfc, 0x61, 0xd8, 0xf7, 0xf3, 0xba, 0x11, 0xbd, 0x74, 0xc2, 0x60, 0xbe, 0xa7, + 0x0e, 0xd0, 0x94, 0x12, 0x16, 0x39, 0x7f, 0x9f, 0x42, 0x37, 0x38, 0xde, 0x46, 0x61, 0x08, 0xbd, + 0x9c, 0xcc, 0xf1, 0x82, 0x20, 0xb9, 0x95, 0xa7, 0x9d, 0x64, 0xa9, 0x3d, 0x6b, 0x32, 0x51, 0xc1, + 0xef, 0xf7, 0x63, 0xd4, 0xac, 0x8f, 0x42, 0x52, 0x48, 0xe0, 0x02, 0x37, 0x10, 0x5d, 0xc3, 0xa5, + 0x06, 0xa6, 0x5a, 0x91, 0x7b, 0x14, 0xb0, 0x33, 0x4f, 0xbc, 0x4e, 0xac, 0x2b, 0x4f, 0x01, 0xa0, + 0x13, 0x20, 0x88, 0x61, 0x94, 0xe4, 0xfa, 0xfb, 0xda, 0x33, 0x3a, 0x28, 0x06, 0x1b, 0x27, 0xd1, + 0x9d, 0x8f, 0x42, 0x1c, 0x1d, 0x3b, 0x12, 0xa9, 0xf4, 0x4e, 0x3a, 0x21, 0xdd, 0x49, 0x6b, 0xef, + 0x83, 0x33, 0xca, 0x26, 0x92, 0xe9, 0x0e, 0x21, 0x9f, 0x75, 0x39, 0xe4, 0x27, 0xd9, 0xda, 0x77, + 0x83, 0x5e, 0xa2, 0x04, 0x5b, 0x3c, 0x1c, 0x7b, 0x50, 0xd2, 0xba, 0x87, 0x22, 0x94, 0x30, 0x5d, + 0x48, 0x2f, 0xb5, 0xe2, 0xed, 0x0e, 0xb2, 0x5f, 0x4a, 0x60, 0x02, 0x4c, 0x2f, 0x25, 0xd2, 0xa3, + 0x02, 0x5d, 0x05, 0x76, 0xbd, 0x95, 0xf8, 0xa9, 0xdd, 0xef, 0x54, 0xd0, 0x00, 0xc5, 0xf0, 0x7f, + 0x2d, 0x0d, 0xb1, 0xe3, 0x11, 0x2f, 0xe9, 0xa7, 0x1c, 0xf2, 0x53, 0x5b, 0x16, 0x65, 0x85, 0x10, + 0x22, 0xfa, 0x6c, 0xbe, 0x40, 0x2d, 0xf8, 0x84, 0x0d, 0x2b, 0x77, 0xd8, 0xac, 0x72, 0x48, 0x5f, + 0xab, 0x80, 0xf1, 0x16, 0x8c, 0xbd, 0x44, 0x32, 0xf2, 0x5b, 0x91, 0x63, 0x93, 0x76, 0x5f, 0x74, + 0xac, 0x44, 0x84, 0x9b, 0x05, 0x63, 0x7e, 0x12, 0xdc, 0xc6, 0xfc, 0x56, 0xfd, 0x58, 0x1e, 0x31, + 0x16, 0x95, 0x8e, 0x11, 0x19, 0x4b, 0x88, 0xe8, 0x62, 0x9b, 0x90, 0x76, 0xdc, 0x28, 0x2d, 0xeb, + 0x15, 0xe9, 0x58, 0x4b, 0xdd, 0x0b, 0x22, 0xdd, 0x0e, 0x0c, 0xe0, 0xe8, 0xd2, 0x69, 0xb9, 0xea, + 0x48, 0x0a, 0xae, 0x1f, 0x53, 0xae, 0x52, 0xa4, 0xda, 0xf1, 0x63, 0xff, 0xbf, 0x0f, 0x80, 0x8c, + 0xb3, 0x8e, 0x6c, 0xc2, 0xf9, 0xf6, 0x3f, 0x57, 0x41, 0x79, 0x37, 0x6e, 0x57, 0x9a, 0x60, 0x26, + 0x33, 0xba, 0x5e, 0x34, 0x85, 0x0d, 0x19, 0x55, 0x5b, 0x2b, 0x82, 0x12, 0x9e, 0xf0, 0x13, 0x00, + 0xa4, 0xf1, 0x71, 0xdd, 0xb8, 0x57, 0x60, 0x6a, 0xab, 0xf9, 0x18, 0x41, 0x1d, 0x82, 0xd3, 0xd9, + 0xd1, 0xf0, 0x92, 0x69, 0x73, 0x06, 0x56, 0xbb, 0x55, 0x08, 0x26, 0xd8, 0x1c, 0x82, 0x33, 0xea, + 0x74, 0xf7, 0xa6, 0x95, 0x42, 0x0a, 0xac, 0x6d, 0x14, 0x04, 0x0a, 0x66, 0x9f, 0x80, 0x29, 0x31, + 0x40, 0x5d, 0xb0, 0x6d, 0x26, 0x88, 0xda, 0x72, 0x1e, 0x42, 0xd0, 0x6d, 0x82, 0x99, 0xcc, 0xb4, + 0x73, 0xd1, 0xb6, 0x33, 0x41, 0x99, 0xbf, 0xb6, 0x6e, 0x94, 0x49, 0xbe, 0xb6, 0x34, 0xc6, 0xac, + 0xdb, 0xf6, 0x32, 0x8c, 0xf9, 0x6b, 0x0f, 0x0e, 0x21, 0x2b, 0x07, 0x60, 0x56, 0x19, 0x40, 0xde, + 0xb0, 0xed, 0x4e, 0x71, 0xb5, 0xf5, 0x62, 0x38, 0xc1, 0x29, 0x04, 0x67, 0x07, 0x06, 0x89, 0xcb, + 0x39, 0x34, 0x04, 0xb2, 0xf6, 0x6e, 0x51, 0x64, 0xc6, 0xc1, 0x94, 0x51, 0xa1, 0xd9, 0xc1, 0xb2, + 0x40, 0x8b, 0x83, 0xe9, 0xc7, 0x87, 0x95, 0xcf, 0xc0, 0xb9, 0xc1, 0xd9, 0xe1, 0x4a, 0x0e, 0x95, + 0x14, 0x5a, 0xdb, 0x2c, 0x0c, 0x15, 0x2c, 0x9f, 0x83, 0x53, 0xf2, 0x34, 0xf1, 0xba, 0x89, 0x82, + 0x04, 0xaa, 0xbd, 0x53, 0x00, 0x94, 0x09, 0x04, 0x99, 0x01, 0xde, 0x52, 0x8e, 0x90, 0x3c, 0xd8, + 0xdc, 0x2a, 0x04, 0x13, 0x6c, 0x5e, 0x80, 0x39, 0xed, 0xdc, 0x6e, 0xad, 0x80, 0xac, 0x02, 0x5d, + 0x7b, 0x6f, 0x18, 0xb4, 0xe0, 0xfd, 0x0c, 0x4c, 0xa7, 0x03, 0xbb, 0x6b, 0x26, 0x12, 0x02, 0x52, + 0x5b, 0xc9, 0x85, 0xc8, 0xc7, 0x56, 0x9a, 0xa4, 0xd5, 0x6d, 0x1b, 0x19, 0xc6, 0x7c, 0x6c, 0x07, + 0x47, 0x65, 0xe4, 0xdb, 0x64, 0xe7, 0x64, 0x4b, 0x39, 0x9b, 0x19, 0xcc, 0xfc, 0x6d, 0xb4, 0xb3, + 0x30, 0xe2, 0xd6, 0x83, 0x83, 0x30, 0xab, 0x11, 0x32, 0x50, 0xb3, 0x5b, 0x1b, 0x87, 0x5e, 0xc4, + 0x1d, 0xb4, 0x13, 0xaf, 0xb5, 0x62, 0xa4, 0xb8, 0x9e, 0xef, 0x0d, 0x83, 0x96, 0x8f, 0x94, 0x3c, + 0xdd, 0xba, 0x6e, 0x21, 0x92, 0x80, 0xcc, 0x47, 0x4a, 0x33, 0xd7, 0xe2, 0x9f, 0x4d, 0x0a, 0xb6, + 0xb6, 0xcf, 0x26, 0xc5, 0xda, 0x5b, 0x85, 0x60, 0x8a, 0x1e, 0x62, 0x6e, 0x65, 0xd3, 0x23, 0x01, + 0x59, 0xf5, 0x50, 0x67, 0x53, 0x24, 0x6b, 0x28, 0x83, 0x29, 0x63, 0xd6, 0xc8, 0xe2, 0xcc, 0x59, + 0xc3, 0x30, 0x95, 0x3a, 0x04, 0x67, 0xd4, 0x49, 0xd3, 0x4d, 0xb3, 0xa4, 0x19, 0xa0, 0x39, 0x8a, + 0x1b, 0xc6, 0x45, 0x24, 0x9d, 0x67, 0x66, 0x45, 0x8b, 0xb9, 0x04, 0x88, 0x4a, 0x6b, 0x45, 0x50, + 0x5a, 0x85, 0xb8, 0x6b, 0xe7, 0x2b, 0xc4, 0xbd, 0x7a, 0xa3, 0x20, 0x50, 0xad, 0xe5, 0xd2, 0x29, + 0x90, 0xb5, 0x96, 0x13, 0x30, 0x7b, 0x2d, 0x37, 0x30, 0xb0, 0xa9, 0xfc, 0x02, 0xbc, 0xa5, 0x1f, + 0xd6, 0xdc, 0xca, 0xcd, 0xa3, 0x32, 0xbc, 0x76, 0x77, 0x28, 0xb8, 0x85, 0x3d, 0x1f, 0xb4, 0x14, + 0x65, 0xcf, 0xe0, 0x85, 0xd9, 0x67, 0x27, 0x22, 0xb4, 0x84, 0xca, 0x8e, 0x43, 0x6e, 0xe4, 0x13, + 0x22, 0x38, 0x4b, 0x09, 0xa5, 0x9d, 0x81, 0x10, 0xff, 0xcc, 0xcc, 0x3f, 0x16, 0xad, 0x49, 0x8f, + 0xa3, 0x6a, 0x6b, 0x45, 0x50, 0xb2, 0x36, 0xca, 0xe8, 0xc1, 0xa8, 0x4d, 0x16, 0x67, 0xd6, 0x46, + 0x3f, 0x75, 0x20, 0xc9, 0x65, 0x70, 0xe4, 0xb0, 0x92, 0x43, 0x24, 0x85, 0x9a, 0x93, 0x8b, 0x71, + 0xdc, 0x40, 0xce, 0x43, 0x76, 0xd6, 0xb0, 0x94, 0x43, 0x83, 0xc1, 0xcc, 0xe7, 0x41, 0x3b, 0x6b, + 0x20, 0x67, 0x5c, 0x1d, 0x34, 0xdc, 0x2c, 0x10, 0xf7, 0x08, 0xd0, 0x7c, 0xc6, 0x4d, 0x63, 0x85, + 0x23, 0x70, 0x5e, 0x37, 0x38, 0x78, 0xa7, 0x00, 0x1d, 0x71, 0x23, 0xb9, 0x33, 0x04, 0x58, 0x29, + 0x0e, 0x94, 0x59, 0xc0, 0x4a, 0x5e, 0x1a, 0x11, 0x50, 0x6b, 0x71, 0xa0, 0xef, 0xf4, 0xb3, 0x00, + 0x2d, 0xb5, 0xf9, 0x17, 0xed, 0x79, 0x91, 0xa1, 0x6c, 0x01, 0x7a, 0xb0, 0x93, 0x9f, 0xc4, 0xcc, + 0xb4, 0x8d, 0xbf, 0x94, 0x77, 0x1d, 0xa4, 0x30, 0x7b, 0xcc, 0x1c, 0xec, 0xd0, 0x3f, 0x03, 0xd3, + 0x69, 0xd7, 0xfd, 0x9a, 0xf5, 0x88, 0x52, 0xbf, 0x58, 0xc9, 0x85, 0x28, 0xa5, 0x67, 0xd2, 0xee, + 0xb6, 0x95, 0x9e, 0x1c, 0x63, 0x2d, 0x3d, 0x95, 0x9e, 0x36, 0x71, 0x6e, 0xb5, 0xa1, 0x7d, 0x33, + 0xe7, 0x78, 0x24, 0x40, 0xb3, 0x73, 0x1b, 0xda, 0xd9, 0xc4, 0xc7, 0x06, 0x7b, 0xd9, 0x46, 0x53, + 0x0c, 0x40, 0xcd, 0x3e, 0x66, 0xec, 0x66, 0x13, 0x1f, 0xcb, 0xb4, 0xb2, 0x8d, 0x3e, 0x26, 0xa3, + 0xcc, 0x3e, 0xa6, 0xeb, 0x60, 0x13, 0x1b, 0xaa, 0xdd, 0xeb, 0x9b, 0x05, 0xfb, 0xcb, 0x66, 0x1b, + 0x1a, 0x7a, 0xbe, 0xa4, 0x1a, 0x94, 0x1b, 0xbe, 0xd7, 0x73, 0xf7, 0xef, 0x20, 0x73, 0x35, 0xa8, + 0x69, 0xe5, 0x92, 0x94, 0xa1, 0xb4, 0x71, 0x6f, 0xe4, 0xcb, 0x48, 0x70, 0xe6, 0x94, 0xa1, 0xef, + 0xc8, 0x92, 0xcb, 0x81, 0xb6, 0x1d, 0x6b, 0xee, 0xa8, 0x68, 0xd0, 0xe6, 0xcb, 0x81, 0xb5, 0xff, + 0xfa, 0x02, 0xcc, 0x69, 0x9b, 0xad, 0x79, 0xbd, 0xbb, 0x82, 0xbc, 0x6d, 0xdd, 0x54, 0xc2, 0x5b, + 0xdb, 0x4a, 0x35, 0xf2, 0xd6, 0xa1, 0xcd, 0xbc, 0x6d, 0x3d, 0x55, 0xc2, 0x5b, 0xdb, 0x50, 0x5d, + 0x2b, 0x70, 0xb4, 0x04, 0xda, 0xcc, 0xdb, 0xd6, 0x55, 0xad, 0x4d, 0xfc, 0xf2, 0xcd, 0xcb, 0xd5, + 0x52, 0xc3, 0xf9, 0xea, 0xd5, 0x7c, 0xe9, 0xeb, 0x57, 0xf3, 0xa5, 0x7f, 0xbf, 0x9a, 0x2f, 0xfd, + 0xee, 0xf5, 0xfc, 0x89, 0xaf, 0x5f, 0xcf, 0x9f, 0xf8, 0xc7, 0xeb, 0xf9, 0x13, 0x9f, 0x3e, 0x68, + 0xfb, 0xf8, 0xa0, 0xd7, 0x5c, 0xf7, 0x50, 0x67, 0x63, 0x07, 0x7a, 0x30, 0xc4, 0x91, 0x1b, 0x90, + 0x80, 0xfb, 0x3d, 0xb7, 0x03, 0x37, 0xf4, 0x7f, 0xab, 0x83, 0x8f, 0xbb, 0x30, 0x6e, 0x4e, 0xd2, + 0x3f, 0x37, 0xba, 0xf3, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9e, 0xc8, 0x75, 0xcf, 0xf3, 0x35, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -9045,8 +9044,8 @@ func (m *MsgCouncilResponseReveal) MarshalToSizedBuffer(dAtA []byte) (int, error i-- dAtA[i] = 0x22 } - if m.Reponse != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Reponse)) + if m.Response != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Response)) i-- dAtA[i] = 0x18 } @@ -9769,10 +9768,10 @@ func (m *MsgMatchOpen) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.PlayerBdeck) > 0 { - dAtA13 := make([]byte, len(m.PlayerBdeck)*10) + if len(m.PlayerBDeck) > 0 { + dAtA13 := make([]byte, len(m.PlayerBDeck)*10) var j12 int - for _, num := range m.PlayerBdeck { + for _, num := range m.PlayerBDeck { for num >= 1<<7 { dAtA13[j12] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -9787,10 +9786,10 @@ func (m *MsgMatchOpen) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - if len(m.PlayerAdeck) > 0 { - dAtA15 := make([]byte, len(m.PlayerAdeck)*10) + if len(m.PlayerADeck) > 0 { + dAtA15 := make([]byte, len(m.PlayerADeck)*10) var j14 int - for _, num := range m.PlayerAdeck { + for _, num := range m.PlayerADeck { for num >= 1<<7 { dAtA15[j14] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -11445,8 +11444,8 @@ func (m *MsgCouncilResponseReveal) Size() (n int) { if m.CouncilId != 0 { n += 1 + sovTx(uint64(m.CouncilId)) } - if m.Reponse != 0 { - n += 1 + sovTx(uint64(m.Reponse)) + if m.Response != 0 { + n += 1 + sovTx(uint64(m.Response)) } l = len(m.Secret) if l > 0 { @@ -11768,16 +11767,16 @@ func (m *MsgMatchOpen) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if len(m.PlayerAdeck) > 0 { + if len(m.PlayerADeck) > 0 { l = 0 - for _, e := range m.PlayerAdeck { + for _, e := range m.PlayerADeck { l += sovTx(uint64(e)) } n += 1 + sovTx(uint64(l)) + l } - if len(m.PlayerBdeck) > 0 { + if len(m.PlayerBDeck) > 0 { l = 0 - for _, e := range m.PlayerBdeck { + for _, e := range m.PlayerBDeck { l += sovTx(uint64(e)) } n += 1 + sovTx(uint64(l)) + l @@ -17439,9 +17438,9 @@ func (m *MsgCouncilResponseReveal) Unmarshal(dAtA []byte) error { } case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Reponse", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) } - m.Reponse = 0 + m.Response = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17451,7 +17450,7 @@ func (m *MsgCouncilResponseReveal) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Reponse |= Response(b&0x7F) << shift + m.Response |= Response(b&0x7F) << shift if b < 0x80 { break } @@ -19497,7 +19496,7 @@ func (m *MsgMatchOpen) Unmarshal(dAtA []byte) error { break } } - m.PlayerAdeck = append(m.PlayerAdeck, v) + m.PlayerADeck = append(m.PlayerADeck, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -19532,8 +19531,8 @@ func (m *MsgMatchOpen) Unmarshal(dAtA []byte) error { } } elementCount = count - if elementCount != 0 && len(m.PlayerAdeck) == 0 { - m.PlayerAdeck = make([]uint64, 0, elementCount) + if elementCount != 0 && len(m.PlayerADeck) == 0 { + m.PlayerADeck = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -19551,10 +19550,10 @@ func (m *MsgMatchOpen) Unmarshal(dAtA []byte) error { break } } - m.PlayerAdeck = append(m.PlayerAdeck, v) + m.PlayerADeck = append(m.PlayerADeck, v) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerAdeck", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PlayerADeck", wireType) } case 5: if wireType == 0 { @@ -19573,7 +19572,7 @@ func (m *MsgMatchOpen) Unmarshal(dAtA []byte) error { break } } - m.PlayerBdeck = append(m.PlayerBdeck, v) + m.PlayerBDeck = append(m.PlayerBDeck, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -19608,8 +19607,8 @@ func (m *MsgMatchOpen) Unmarshal(dAtA []byte) error { } } elementCount = count - if elementCount != 0 && len(m.PlayerBdeck) == 0 { - m.PlayerBdeck = make([]uint64, 0, elementCount) + if elementCount != 0 && len(m.PlayerBDeck) == 0 { + m.PlayerBDeck = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -19627,10 +19626,10 @@ func (m *MsgMatchOpen) Unmarshal(dAtA []byte) error { break } } - m.PlayerBdeck = append(m.PlayerBdeck, v) + m.PlayerBDeck = append(m.PlayerBDeck, v) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerBdeck", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PlayerBDeck", wireType) } default: iNdEx = preIndex diff --git a/x/cardchain/types/user.go b/x/cardchain/types/user.go index 3599aa39..9061d6ce 100644 --- a/x/cardchain/types/user.go +++ b/x/cardchain/types/user.go @@ -1,5 +1,10 @@ package types +import ( + "github.com/DecentralCardGame/cardchain/util" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + func (u *User) RemoveEarlyAccess() { u.EarlyAccess.Active = false u.EarlyAccess.InvitedByUser = "" @@ -11,3 +16,14 @@ func (u *User) AddEarlyAccess(inviter string) { InvitedByUser: inviter, } } + +// TransferSchemeToCard Makes a users cardscheme a card +func (u *User) SchemeToCard(cardId uint64) (err error) { + u.OwnedCardSchemes, err = util.PopItemFromArr(cardId, u.OwnedCardSchemes) + if err != nil { + return sdkerrors.ErrUnauthorized + } + + u.OwnedPrototypes = append(u.OwnedPrototypes, cardId) + return nil +} diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index bc73282c..f70e234d 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go index 45e01b16..6911a3d0 100644 --- a/x/cardchain/types/voting.pb.go +++ b/x/cardchain/types/voting.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go index 36bda627..30e9aaf4 100644 --- a/x/cardchain/types/zealy.pb.go +++ b/x/cardchain/types/zealy.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/flag.pb.go b/x/featureflag/types/flag.pb.go index 9ea00283..e1dd5d4d 100644 --- a/x/featureflag/types/flag.pb.go +++ b/x/featureflag/types/flag.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/genesis.pb.go b/x/featureflag/types/genesis.pb.go index 6113e755..da869d10 100644 --- a/x/featureflag/types/genesis.pb.go +++ b/x/featureflag/types/genesis.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/params.pb.go b/x/featureflag/types/params.pb.go index 41595524..46dbabd7 100644 --- a/x/featureflag/types/params.pb.go +++ b/x/featureflag/types/params.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/query.pb.go b/x/featureflag/types/query.pb.go index e7d3b919..2ec990b9 100644 --- a/x/featureflag/types/query.pb.go +++ b/x/featureflag/types/query.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -19,6 +15,9 @@ import ( 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. diff --git a/x/featureflag/types/tx.pb.go b/x/featureflag/types/tx.pb.go index 94b4be1b..af61eaab 100644 --- a/x/featureflag/types/tx.pb.go +++ b/x/featureflag/types/tx.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -19,6 +15,9 @@ import ( 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. From c5c5464b76025eef57a6dcfd38e100b5e0b5d979 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Thu, 26 Dec 2024 11:35:31 +0100 Subject: [PATCH 33/99] feat(#242): Rewrote some gtk stuff --- docs/static/openapi.yml | 2 +- types/generic_type_keeper/address_gtk.go | 10 ++-- types/generic_type_keeper/base_keeper.go | 33 ++++++++++++ .../generic_type_keeper.go | 32 +++--------- types/generic_type_keeper/single_value_gtk.go | 39 ++++++++++++++ types/generic_type_keeper/string_gtk.go | 10 ++-- types/generic_type_keeper/uint_gtk.go | 10 ++-- x/cardchain/keeper/card.go | 22 ++++++++ x/cardchain/keeper/keeper.go | 52 ++++++++++--------- .../keeper/msg_server_card_scheme_buy.go | 5 +- .../types/message_council_response_commit.go | 2 +- 11 files changed, 153 insertions(+), 64 deletions(-) create mode 100644 types/generic_type_keeper/base_keeper.go create mode 100644 types/generic_type_keeper/single_value_gtk.go create mode 100644 x/cardchain/keeper/card.go diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index e4d83bb7..80f1771b 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin20","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin21","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"reponse":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerAdeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBdeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin20","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin21","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/types/generic_type_keeper/address_gtk.go b/types/generic_type_keeper/address_gtk.go index f1db46bd..97ee6e63 100644 --- a/types/generic_type_keeper/address_gtk.go +++ b/types/generic_type_keeper/address_gtk.go @@ -14,10 +14,12 @@ type GenericAddressTypeKeeper[T proto.Message] struct { func NewAddressGTK[T proto.Message](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T) GenericAddressTypeKeeper[T] { gtk := GenericAddressTypeKeeper[T]{ GenericTypeKeeper[T, sdk.AccAddress]{ - key: key, - cdc: cdc, - getEmpty: getEmpty, - storeService: storeService, + BaseKeeper: BaseKeeper[T]{ + key: key, + cdc: cdc, + storeService: storeService, + getEmpty: getEmpty, + }, keyConverter: func(bz []byte, address sdk.AccAddress) []byte { return append(bz, address...) }, diff --git a/types/generic_type_keeper/base_keeper.go b/types/generic_type_keeper/base_keeper.go new file mode 100644 index 00000000..b4d264a3 --- /dev/null +++ b/types/generic_type_keeper/base_keeper.go @@ -0,0 +1,33 @@ +package generic_type_keeper + +import ( + "cosmossdk.io/core/store" + "cosmossdk.io/store/prefix" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/runtime" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/gogoproto/proto" +) + +// GetEmpty Just returns a empty object of a certain type +func GetEmpty[A any]() *A { + var obj A + return &obj +} + +type BaseKeeper[T proto.Message] struct { + storeService store.KVStoreService + key string + cdc codec.BinaryCodec + getEmpty func() T +} + +func (bk BaseKeeper[T]) valueKey() string { + return bk.key + "/value/" +} + +func (bk BaseKeeper[T]) getValueStore(ctx sdk.Context) prefix.Store { + storeAdapter := runtime.KVStoreAdapter(bk.storeService.OpenKVStore(ctx)) + return prefix.NewStore(storeAdapter, types.KeyPrefix(bk.valueKey())) +} diff --git a/types/generic_type_keeper/generic_type_keeper.go b/types/generic_type_keeper/generic_type_keeper.go index 00e1e002..6aff2b84 100644 --- a/types/generic_type_keeper/generic_type_keeper.go +++ b/types/generic_type_keeper/generic_type_keeper.go @@ -12,36 +12,25 @@ import ( "github.com/cosmos/gogoproto/proto" ) -// GetEmpty Just returns a empty object of a certain type -func GetEmpty[A any]() *A { - var obj A - return &obj -} - type GenericTypeKeeper[T proto.Message, K any] struct { - storeService store.KVStoreService - key string - cdc codec.BinaryCodec - 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 - keyConverter KeyConver[K] + BaseKeeper[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 + keyConverter KeyConver[K] } // NewGTK Returns a new GenericTypeKeeper func NewGTK[T proto.Message, K any](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T, keyConverter KeyConver[K]) GenericTypeKeeper[T, K] { gtk := GenericTypeKeeper[T, K]{ - key: key, - cdc: cdc, - getEmpty: getEmpty, - storeService: storeService, + BaseKeeper: BaseKeeper[T]{ + key: key, + cdc: cdc, + storeService: storeService, + getEmpty: getEmpty, + }, keyConverter: keyConverter, } return gtk } -func (gtk GenericTypeKeeper[T, K]) valueKey() string { - return gtk.key + "/value/" -} - func (gtk GenericTypeKeeper[T, K]) countKey() string { return gtk.key + "/count/" } @@ -53,11 +42,6 @@ func (gtk GenericTypeKeeper[T, K]) getIDBytes(id K) []byte { return bz } -func (gtk GenericTypeKeeper[T, K]) getValueStore(ctx sdk.Context) prefix.Store { - storeAdapter := runtime.KVStoreAdapter(gtk.storeService.OpenKVStore(ctx)) - return prefix.NewStore(storeAdapter, types.KeyPrefix(gtk.valueKey())) -} - func (gtk GenericTypeKeeper[T, K]) getCountStore(ctx sdk.Context) prefix.Store { storeAdapter := runtime.KVStoreAdapter(gtk.storeService.OpenKVStore(ctx)) return prefix.NewStore(storeAdapter, []byte{}) diff --git a/types/generic_type_keeper/single_value_gtk.go b/types/generic_type_keeper/single_value_gtk.go new file mode 100644 index 00000000..b08f8f07 --- /dev/null +++ b/types/generic_type_keeper/single_value_gtk.go @@ -0,0 +1,39 @@ +package generic_type_keeper + +import ( + "cosmossdk.io/core/store" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/gogoproto/proto" +) + +func NewSingleValueGenericTypeKeeper[T proto.Message](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T) SingleValueGenericTypeKeeper[T] { + return SingleValueGenericTypeKeeper[T]{ + BaseKeeper: BaseKeeper[T]{ + key: key, + cdc: cdc, + storeService: storeService, + getEmpty: getEmpty, + }, + } +} + +type SingleValueGenericTypeKeeper[T proto.Message] struct { + BaseKeeper[T] +} + +// Get Gets an object from store +func (svgtk SingleValueGenericTypeKeeper[T]) Get(ctx sdk.Context) T { + store := svgtk.getValueStore(ctx) + bz := store.Get([]byte{1}) + + gotten := svgtk.getEmpty() + svgtk.cdc.MustUnmarshal(bz, gotten) + return gotten +} + +// Set Sets an object in store +func (svgtk SingleValueGenericTypeKeeper[T]) Set(ctx sdk.Context, new T) { + store := svgtk.getValueStore(ctx) + store.Set([]byte{1}, svgtk.cdc.MustMarshal(new)) +} diff --git a/types/generic_type_keeper/string_gtk.go b/types/generic_type_keeper/string_gtk.go index e27c65cf..b4a86609 100644 --- a/types/generic_type_keeper/string_gtk.go +++ b/types/generic_type_keeper/string_gtk.go @@ -13,10 +13,12 @@ type GenericStringTypeKeeper[T proto.Message] struct { func NewStringGTK[T proto.Message](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T) GenericStringTypeKeeper[T] { gtk := GenericStringTypeKeeper[T]{ GenericTypeKeeper[T, string]{ - key: key, - cdc: cdc, - getEmpty: getEmpty, - storeService: storeService, + BaseKeeper: BaseKeeper[T]{ + key: key, + cdc: cdc, + storeService: storeService, + getEmpty: getEmpty, + }, keyConverter: func(bz []byte, key string) []byte { return append(bz, key...) }, diff --git a/types/generic_type_keeper/uint_gtk.go b/types/generic_type_keeper/uint_gtk.go index fa395473..903ed8b3 100644 --- a/types/generic_type_keeper/uint_gtk.go +++ b/types/generic_type_keeper/uint_gtk.go @@ -17,10 +17,12 @@ type GenericUint64TypeKeeper[T proto.Message] struct { func NewUintGTK[T proto.Message](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T) GenericUint64TypeKeeper[T] { gtk := GenericUint64TypeKeeper[T]{ GenericTypeKeeper[T, uint64]{ - key: key, - cdc: cdc, - getEmpty: getEmpty, - storeService: storeService, + BaseKeeper: BaseKeeper[T]{ + key: key, + cdc: cdc, + storeService: storeService, + getEmpty: getEmpty, + }, keyConverter: func(bz []byte, id uint64) []byte { return binary.BigEndian.AppendUint64(bz, id) }, diff --git a/x/cardchain/keeper/card.go b/x/cardchain/keeper/card.go new file mode 100644 index 00000000..265c0836 --- /dev/null +++ b/x/cardchain/keeper/card.go @@ -0,0 +1,22 @@ +package keeper + +import ( + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// 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.LastCardModified.Set(ctx, &timeStamp) +} + +// SetCardToTrial Sets a card to trial +func (k Keeper) SetCardToTrial(ctx sdk.Context, cardId uint64, votePool sdk.Coin) { + card := k.Cards.Get(ctx, cardId) + card.ResetVotes() + card.VotePool = card.VotePool.Add(votePool) + card.Status = types.Status_trial + k.Cards.Set(ctx, cardId, card) + k.SetLastCardModifiedNow(ctx) +} diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index 65b054f1..ae6b0dc8 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -19,18 +19,20 @@ type ( storeService store.KVStoreService logger log.Logger - Cards gtk.GenericUint64TypeKeeper[*types.Card] - Councils gtk.GenericUint64TypeKeeper[*types.Council] - SellOffers gtk.GenericUint64TypeKeeper[*types.SellOffer] - Sets gtk.GenericUint64TypeKeeper[*types.Set] - Matches gtk.GenericUint64TypeKeeper[*types.Match] - Servers gtk.GenericUint64TypeKeeper[*types.Server] - RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] - Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] - Images gtk.GenericUint64TypeKeeper[*types.Image] - Encounters gtk.GenericUint64TypeKeeper[*types.Encounter] - Users gtk.GenericAddressTypeKeeper[*types.User] - Zealy gtk.GenericStringTypeKeeper[*types.Zealy] + Cards gtk.GenericUint64TypeKeeper[*types.Card] + Councils gtk.GenericUint64TypeKeeper[*types.Council] + SellOffers gtk.GenericUint64TypeKeeper[*types.SellOffer] + Sets gtk.GenericUint64TypeKeeper[*types.Set] + Matches gtk.GenericUint64TypeKeeper[*types.Match] + Servers gtk.GenericUint64TypeKeeper[*types.Server] + RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] + Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] + Images gtk.GenericUint64TypeKeeper[*types.Image] + Encounters gtk.GenericUint64TypeKeeper[*types.Encounter] + Users gtk.GenericAddressTypeKeeper[*types.User] + Zealy gtk.GenericStringTypeKeeper[*types.Zealy] + LastCardModified gtk.SingleValueGenericTypeKeeper[*types.TimeStamp] + CardAuctionPrice gtk.SingleValueGenericTypeKeeper[*sdk.Coin] // the address capable of executing a MsgUpdateParams message. Typically, this // should be the x/gov module account. @@ -60,18 +62,20 @@ func NewKeeper( authority: authority, logger: logger, - Cards: gtk.NewUintGTK[*types.Card]("Cards", storeService, cdc, gtk.GetEmpty[types.Card]), - Councils: gtk.NewUintGTK[*types.Council]("Councils", storeService, cdc, gtk.GetEmpty[types.Council]), - SellOffers: gtk.NewUintGTK[*types.SellOffer]("SellOffers", storeService, cdc, gtk.GetEmpty[types.SellOffer]), - Sets: gtk.NewUintGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), - Matches: gtk.NewUintGTK[*types.Match]("Matches", storeService, cdc, gtk.GetEmpty[types.Match]), - RunningAverages: gtk.NewKGTK[*types.RunningAverage]("RunningAverages", storeService, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), - Pools: gtk.NewKGTK[*sdk.Coin]("Pools", storeService, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), - Images: gtk.NewUintGTK[*types.Image]("Images", storeService, cdc, gtk.GetEmpty[types.Image]), - Servers: gtk.NewUintGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), - Encounters: gtk.NewUintGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), - Users: gtk.NewAddressGTK[*types.User]("Users", storeService, cdc, gtk.GetEmpty[types.User]), - Zealy: gtk.NewStringGTK[*types.Zealy]("Zealy", storeService, cdc, gtk.GetEmpty[types.Zealy]), + Cards: gtk.NewUintGTK[*types.Card]("Cards", storeService, cdc, gtk.GetEmpty[types.Card]), + Councils: gtk.NewUintGTK[*types.Council]("Councils", storeService, cdc, gtk.GetEmpty[types.Council]), + SellOffers: gtk.NewUintGTK[*types.SellOffer]("SellOffers", storeService, cdc, gtk.GetEmpty[types.SellOffer]), + Sets: gtk.NewUintGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), + Matches: gtk.NewUintGTK[*types.Match]("Matches", storeService, cdc, gtk.GetEmpty[types.Match]), + RunningAverages: gtk.NewKGTK[*types.RunningAverage]("RunningAverages", storeService, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), + Pools: gtk.NewKGTK[*sdk.Coin]("Pools", storeService, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), + Images: gtk.NewUintGTK[*types.Image]("Images", storeService, cdc, gtk.GetEmpty[types.Image]), + Servers: gtk.NewUintGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), + Encounters: gtk.NewUintGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), + Users: gtk.NewAddressGTK[*types.User]("Users", storeService, cdc, gtk.GetEmpty[types.User]), + Zealy: gtk.NewStringGTK[*types.Zealy]("Zealy", storeService, cdc, gtk.GetEmpty[types.Zealy]), + LastCardModified: gtk.NewSingleValueGenericTypeKeeper[*types.TimeStamp]("LastCardModified", storeService, cdc, gtk.GetEmpty[types.TimeStamp]), + CardAuctionPrice: gtk.NewSingleValueGenericTypeKeeper[*sdk.Coin]("CardAuctionPrice", storeService, cdc, gtk.GetEmpty[sdk.Coin]), FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), BankKeeper: bankKeeper, diff --git a/x/cardchain/keeper/msg_server_card_scheme_buy.go b/x/cardchain/keeper/msg_server_card_scheme_buy.go index d32745dd..424643cf 100644 --- a/x/cardchain/keeper/msg_server_card_scheme_buy.go +++ b/x/cardchain/keeper/msg_server_card_scheme_buy.go @@ -15,7 +15,7 @@ func (k msgServer) CardSchemeBuy(goCtx context.Context, msg *types.MsgCardScheme ctx := sdk.UnwrapSDKContext(goCtx) currId := k.Cards.GetNum(ctx) - price := k.GetCardAuctionPrice(ctx) + price := *k.CardAuctionPrice.Get(ctx) bid := msg.Bid buyer, err := k.GetUserFromString(ctx, msg.Creator) @@ -34,7 +34,8 @@ func (k msgServer) CardSchemeBuy(goCtx context.Context, msg *types.MsgCardScheme k.AddPoolCredits(ctx, PublicPoolKey, price) if price.Amount.Mul(sdkmath.NewInt(2)).LT(sdkmath.NewInt(int64(math.Pow(10, 12)))) { - k.SetCardAuctionPrice(ctx, price.Add(price)) + newPrice := price.Add(price) + k.CardAuctionPrice.Set(ctx, &newPrice) } newCard := types.NewCard(buyer.Addr) diff --git a/x/cardchain/types/message_council_response_commit.go b/x/cardchain/types/message_council_response_commit.go index 7b144e62..005eeb08 100644 --- a/x/cardchain/types/message_council_response_commit.go +++ b/x/cardchain/types/message_council_response_commit.go @@ -12,7 +12,7 @@ func NewMsgCouncilResponseCommit(creator string, councilId uint64, reponse strin return &MsgCouncilResponseCommit{ Creator: creator, CouncilId: councilId, - Reponse: reponse, + Response: reponse, Suggestion: suggestion, } } From ee9f54d35efc7b0bb64be4e787ebc08fab62b17f Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 11:12:26 +0100 Subject: [PATCH 34/99] fix(#242): Small keyrenames so chain actually starts again --- docs/static/openapi.yml | 2 +- x/cardchain/module/autocli.go | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 80f1771b..80cf3331 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin20","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin21","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin20","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin21","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.auth.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the x/auth module\nparameters. The authority defaults to the x/gov module account.","operationId":"AuthMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","operationId":"AuthMsg_Exec","parameters":[{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Grant":{"post":{"tags":["Msg"],"summary":"Grant grants the provided authorization to the grantee on the granter's\naccount with the provided expiration time. If there is already a grant\nfor the given (granter, grantee, Authorization) triple, then the grant\nwill be overwritten.","operationId":"AuthMsg_Grant","parameters":[{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Revoke":{"post":{"tags":["Msg"],"summary":"Revoke revokes any authorization corresponding to the provided method name on the\ngranter's account that has been granted to the grantee.","operationId":"AuthMsg_Revoke","parameters":[{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevokeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.autocli.v1.Query/AppOptions":{"post":{"tags":["Query"],"summary":"AppOptions returns the autocli options for all of the modules in an app.","operationId":"AuthQuery_AppOptions","parameters":[{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/MultiSend":{"post":{"tags":["Msg"],"summary":"MultiSend defines a method for sending coins from some accounts to other accounts.","operationId":"AuthMsg_MultiSend","parameters":[{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method for sending coins from one account to another account.","operationId":"AuthMsg_Send","parameters":[{"description":"MsgSend represents a message to send coins from one account to another.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/SetSendEnabled":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"SetSendEnabled is a governance operation for setting the SendEnabled flag\non any number of Denoms. Only the entries to add or update should be\nincluded. Entries that already exist in the store, but that aren't\nincluded in this message, will be left unchanged.","operationId":"AuthMsg_SetSendEnabled","parameters":[{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabled"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/bank module parameters.\nThe authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin38","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/AuthorizeCircuitBreaker":{"post":{"tags":["Msg"],"summary":"AuthorizeCircuitBreaker allows a super-admin to grant (or revoke) another\naccount's circuit breaker permissions.","operationId":"AuthMsg_AuthorizeCircuitBreaker","parameters":[{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/ResetCircuitBreaker":{"post":{"tags":["Msg"],"summary":"ResetCircuitBreaker resumes processing of Msg's in the state machine that\nhave been been paused using TripCircuitBreaker.","operationId":"AuthMsg_ResetCircuitBreaker","parameters":[{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/TripCircuitBreaker":{"post":{"tags":["Msg"],"summary":"TripCircuitBreaker pauses processing of Msg's in the state machine.","operationId":"AuthMsg_TripCircuitBreaker","parameters":[{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.consensus.v1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/consensus module parameters.\nThe authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin51","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/crisis module\nparameters. The authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin53","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/VerifyInvariant":{"post":{"tags":["Msg"],"summary":"VerifyInvariant defines a method to verify a particular invariant.","operationId":"AuthMsg_VerifyInvariant","parameters":[{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/CommunityPoolSpend":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"CommunityPoolSpend defines a governance operation for sending tokens from\nthe community pool in the x/distribution module to another account, which\ncould be the governance module itself. The authority is defined in the\nkeeper.","operationId":"AuthMsg_CommunityPoolSpend","parameters":[{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/DepositValidatorRewardsPool":{"post":{"description":"Since: cosmos-sdk 0.50","tags":["Msg"],"summary":"DepositValidatorRewardsPool defines a method to provide additional rewards\nto delegators to a specific validator.","operationId":"AuthMsg_DepositValidatorRewardsPool","parameters":[{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.\n\nSince: cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/FundCommunityPool":{"post":{"tags":["Msg"],"summary":"FundCommunityPool defines a method to allow an account to directly\nfund the community pool.","operationId":"AuthMsg_FundCommunityPool","parameters":[{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/SetWithdrawAddress":{"post":{"tags":["Msg"],"summary":"SetWithdrawAddress defines a method to change the withdraw address\nfor a delegator (or validator self-delegation).","operationId":"AuthMsg_SetWithdrawAddress","parameters":[{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/distribution\nmodule parameters. The authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin64","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward":{"post":{"tags":["Msg"],"summary":"WithdrawDelegatorReward defines a method to withdraw rewards of delegator\nfrom a single validator.","operationId":"AuthMsg_WithdrawDelegatorReward","parameters":[{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission":{"post":{"tags":["Msg"],"summary":"WithdrawValidatorCommission defines a method to withdraw the\nfull commission to the validator address.","operationId":"AuthMsg_WithdrawValidatorCommission","parameters":[{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.evidence.v1beta1.Msg/SubmitEvidence":{"post":{"tags":["Msg"],"summary":"SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or\ncounterfactual signing.","operationId":"AuthMsg_SubmitEvidence","parameters":[{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidence"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/GrantAllowance":{"post":{"tags":["Msg"],"summary":"GrantAllowance grants fee allowance to the grantee on the granter's\naccount with the provided expiration time.","operationId":"AuthMsg_GrantAllowance","parameters":[{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/PruneAllowances":{"post":{"description":"Since cosmos-sdk 0.50","tags":["Msg"],"summary":"PruneAllowances prunes expired fee allowances, currently up to 75 at a time.","operationId":"AuthMsg_PruneAllowances","parameters":[{"description":"MsgPruneAllowances prunes expired fee allowances.\n\nSince cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowances"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/RevokeAllowance":{"post":{"tags":["Msg"],"summary":"RevokeAllowance revokes any fee allowance of granter's account that\nhas been granted to the grantee.","operationId":"AuthMsg_RevokeAllowance","parameters":[{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/CancelProposal":{"post":{"description":"Since: cosmos-sdk 0.50","tags":["Msg"],"summary":"CancelProposal defines a method to cancel governance proposal","operationId":"AuthMsg_CancelProposal","parameters":[{"description":"MsgCancelProposal is the Msg/CancelProposal request type.\n\nSince: cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"AuthMsg_Deposit","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/ExecLegacyContent":{"post":{"tags":["Msg"],"summary":"ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal\nto execute a legacy content-based proposal.","operationId":"AuthMsg_ExecLegacyContent","parameters":[{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given the messages.","operationId":"AuthMsg_SubmitProposal","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/gov module\nparameters. The authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin77","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"AuthMsg_Vote","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/VoteWeighted":{"post":{"tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"AuthMsg_VoteWeighted","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"AuthMsg_DepositMixin81","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given a content.","operationId":"AuthMsg_SubmitProposalMixin81","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"AuthMsg_VoteMixin81","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/VoteWeighted":{"post":{"description":"Since: cosmos-sdk 0.43","tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"AuthMsg_VoteWeightedMixin81","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.\n\nSince: cosmos-sdk 0.43","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroup":{"post":{"tags":["Msg"],"summary":"CreateGroup creates a new group with an admin account address, a list of members and some optional metadata.","operationId":"AuthMsg_CreateGroup","parameters":[{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupPolicy creates a new group policy using given DecisionPolicy.","operationId":"AuthMsg_CreateGroupPolicy","parameters":[{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupWithPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupWithPolicy creates a new group with policy.","operationId":"AuthMsg_CreateGroupWithPolicy","parameters":[{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec executes a proposal.","operationId":"AuthMsg_ExecMixin85","parameters":[{"description":"MsgExec is the Msg/Exec request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/LeaveGroup":{"post":{"tags":["Msg"],"summary":"LeaveGroup allows a group member to leave the group.","operationId":"AuthMsg_LeaveGroup","parameters":[{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal submits a new proposal.","operationId":"AuthMsg_SubmitProposalMixin85","parameters":[{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupAdmin updates the group admin with given group id and previous admin address.","operationId":"AuthMsg_UpdateGroupAdmin","parameters":[{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMembers":{"post":{"tags":["Msg"],"summary":"UpdateGroupMembers updates the group members with given group id and admin address.","operationId":"AuthMsg_UpdateGroupMembers","parameters":[{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembers"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupMetadata updates the group metadata with given group id and admin address.","operationId":"AuthMsg_UpdateGroupMetadata","parameters":[{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyAdmin updates a group policy admin.","operationId":"AuthMsg_UpdateGroupPolicyAdmin","parameters":[{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyDecisionPolicy":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyDecisionPolicy allows a group policy's decision policy to be updated.","operationId":"AuthMsg_UpdateGroupPolicyDecisionPolicy","parameters":[{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyMetadata updates a group policy metadata.","operationId":"AuthMsg_UpdateGroupPolicyMetadata","parameters":[{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote allows a voter to vote on a proposal.","operationId":"AuthMsg_VoteMixin85","parameters":[{"description":"MsgVote is the Msg/Vote request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/WithdrawProposal":{"post":{"tags":["Msg"],"summary":"WithdrawProposal withdraws a proposal.","operationId":"AuthMsg_WithdrawProposal","parameters":[{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.mint.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/mint module\nparameters. The authority is defaults to the x/gov module account.","operationId":"AuthMsg_UpdateParamsMixin90","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.nft.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method to send a nft from one account to another account.","operationId":"AuthMsg_SendMixin96","parameters":[{"description":"MsgSend represents a message to send a nft from one account to another account.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/Unjail":{"post":{"tags":["Msg"],"summary":"Unjail defines a method for unjailing a jailed validator, thus returning\nthem into the bonded validator set, so they can begin receiving provisions\nand rewards again.","operationId":"AuthMsg_Unjail","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjail"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjailResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/slashing module\nparameters. The authority defaults to the x/gov module account.","operationId":"AuthMsg_UpdateParamsMixin103","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/BeginRedelegate":{"post":{"tags":["Msg"],"summary":"BeginRedelegate defines a method for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","operationId":"AuthMsg_BeginRedelegate","parameters":[{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CancelUnbondingDelegation defines a method for performing canceling the unbonding delegation\nand delegate back to previous validator.","operationId":"AuthMsg_CancelUnbondingDelegation","parameters":[{"description":"Since: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CreateValidator":{"post":{"tags":["Msg"],"summary":"CreateValidator defines a method for creating a new validator.","operationId":"AuthMsg_CreateValidator","parameters":[{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Delegate":{"post":{"tags":["Msg"],"summary":"Delegate defines a method for performing a delegation of coins\nfrom a delegator to a validator.","operationId":"AuthMsg_Delegate","parameters":[{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/EditValidator":{"post":{"tags":["Msg"],"summary":"EditValidator defines a method for editing an existing validator.","operationId":"AuthMsg_EditValidator","parameters":[{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Undelegate":{"post":{"tags":["Msg"],"summary":"Undelegate defines a method for performing an undelegation from a\ndelegate and a validator.","operationId":"AuthMsg_Undelegate","parameters":[{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines an operation for updating the x/staking module\nparameters.\nSince: cosmos-sdk 0.47","operationId":"AuthMsg_UpdateParamsMixin108","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenCommit":{"post":{"tags":["ABCIListenerService"],"summary":"ListenCommit is the corresponding endpoint for ABCIListener.ListenCommit","operationId":"AuthABCIListenerService_ListenCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenFinalizeBlock":{"post":{"tags":["ABCIListenerService"],"summary":"ListenFinalizeBlock is the corresponding endpoint for ABCIListener.ListenEndBlock","operationId":"AuthABCIListenerService_ListenFinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/CancelUpgrade":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CancelUpgrade is a governance operation for cancelling a previously\napproved software upgrade.","operationId":"AuthMsg_CancelUpgrade","parameters":[{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/SoftwareUpgrade":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"SoftwareUpgrade is a governance operation for initiating a software upgrade.","operationId":"AuthMsg_SoftwareUpgrade","parameters":[{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePeriodicVestingAccount":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CreatePeriodicVestingAccount defines a method that enables creating a\nperiodic vesting account.","operationId":"AuthMsg_CreatePeriodicVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePermanentLockedAccount":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CreatePermanentLockedAccount defines a method that enables creating a permanent\nlocked account.","operationId":"AuthMsg_CreatePermanentLockedAccount","parameters":[{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreateVestingAccount":{"post":{"tags":["Msg"],"summary":"CreateVestingAccount defines a method that enables creating a vesting\naccount.","operationId":"AuthMsg_CreateVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/account_info/{address}":{"get":{"description":"Since: cosmos-sdk 0.47","tags":["Query"],"summary":"AccountInfo queries account info which is common to all account types.","operationId":"AuthQuery_AccountInfo","parameters":[{"type":"string","description":"address is the account address string.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.43","tags":["Query"],"summary":"Accounts returns all the existing accounts.","operationId":"AuthQuery_Accounts","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account details based on address.","operationId":"AuthQuery_Account","parameters":[{"type":"string","description":"address defines the address to query for.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/address_by_id/{id}":{"get":{"description":"Since: cosmos-sdk 0.46.2","tags":["Query"],"summary":"AccountAddressByID returns account address based on account number.","operationId":"AuthQuery_AccountAddressByID","parameters":[{"type":"string","format":"int64","description":"Deprecated, use account_id instead\n\nid is the account number of the address to be queried. This field\nshould have been an uint64 (like all account numbers), and will be\nupdated to uint64 in a future version of the auth query.","name":"id","in":"path","required":true},{"type":"string","format":"uint64","description":"account_id is the account number of the address to be queried.\n\nSince: cosmos-sdk 0.47","name":"account_id","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountAddressByIDResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Bech32Prefix queries bech32Prefix","operationId":"AuthQuery_Bech32Prefix","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.Bech32PrefixResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_bytes}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AddressBytesToString converts Account Address bytes to string","operationId":"AuthQuery_AddressBytesToString","parameters":[{"type":"string","format":"byte","name":"address_bytes","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressBytesToStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_string}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AddressStringToBytes converts Address string to bytes","operationId":"AuthQuery_AddressStringToBytes","parameters":[{"type":"string","name":"address_string","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressStringToBytesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"ModuleAccounts returns all the existing module accounts.","operationId":"AuthQuery_ModuleAccounts","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts/{name}":{"get":{"tags":["Query"],"summary":"ModuleAccountByName returns the module account info by module name","operationId":"AuthQuery_ModuleAccountByName","parameters":[{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountByNameResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters.","operationId":"AuthQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants":{"get":{"tags":["Query"],"summary":"Returns list of `Authorization`, granted to the grantee by the granter.","operationId":"AuthQuery_Grants","parameters":[{"type":"string","name":"granter","in":"query"},{"type":"string","name":"grantee","in":"query"},{"type":"string","description":"Optional, msg_type_url, when set, will query only grants matching given msg type.","name":"msg_type_url","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/grantee/{grantee}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"GranteeGrants returns a list of `GrantAuthorization` by grantee.","operationId":"AuthQuery_GranteeGrants","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranteeGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/granter/{granter}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"GranterGrants returns list of `GrantAuthorization`, granted by granter.","operationId":"AuthQuery_GranterGrants","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranterGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"AllBalances queries the balance of all coins for a single account.","operationId":"AuthQuery_AllBalances","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"boolean","description":"resolve_denom is the flag to resolve the denom into a human-readable form from the metadata.\n\nSince: cosmos-sdk 0.50","name":"resolve_denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryAllBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}/by_denom":{"get":{"tags":["Query"],"summary":"Balance queries the balance of a single coin for a single account.","operationId":"AuthQuery_Balance","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners/{denom}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46","tags":["Query"],"summary":"DenomOwners queries for all account addresses that own a particular token\ndenomination.","operationId":"AuthQuery_DenomOwners","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners_by_query":{"get":{"description":"Since: cosmos-sdk 0.50.3","tags":["Query"],"summary":"DenomOwnersByQuery queries for all account addresses that own a particular token\ndenomination.","operationId":"AuthQuery_DenomOwnersByQuery","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata":{"get":{"tags":["Query"],"summary":"DenomsMetadata queries the client metadata for all registered coin\ndenominations.","operationId":"AuthQuery_DenomsMetadata","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomsMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata/{denom}":{"get":{"tags":["Query"],"summary":"DenomMetadata queries the client metadata of a given coin denomination.","operationId":"AuthQuery_DenomMetadata","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata_by_query_string":{"get":{"tags":["Query"],"summary":"DenomMetadataByQueryString queries the client metadata of a given coin denomination.","operationId":"AuthQuery_DenomMetadataByQueryString","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/bank module.","operationId":"AuthQuery_ParamsMixin37","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/send_enabled":{"get":{"description":"This query only returns denominations that have specific SendEnabled settings.\nAny denomination that does not have a specific setting will use the default\nparams.default_send_enabled, and will not be returned by this query.\n\nSince: cosmos-sdk 0.47","tags":["Query"],"summary":"SendEnabled queries for SendEnabled entries.","operationId":"AuthQuery_SendEnabled","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"denoms is the specific denoms you want look up. Leave empty to get all entries.","name":"denoms","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46","tags":["Query"],"summary":"SpendableBalances queries the spendable balance of all coins for a single\naccount.","operationId":"AuthQuery_SpendableBalances","parameters":[{"type":"string","description":"address is the address to query spendable balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.47","tags":["Query"],"summary":"SpendableBalanceByDenom queries the spendable balance of a single denom for\na single account.","operationId":"AuthQuery_SpendableBalanceByDenom","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"TotalSupply queries the total supply of all coins.","operationId":"AuthQuery_TotalSupply","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryTotalSupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"SupplyOf queries the supply of a single coin.","operationId":"AuthQuery_SupplyOf","parameters":[{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySupplyOfResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/config":{"get":{"tags":["Service"],"summary":"Config queries for the operator configuration.","operationId":"AuthService_Config","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.ConfigResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/status":{"get":{"tags":["Service"],"summary":"Status queries for the node status.","operationId":"AuthService_Status","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.StatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/authn":{"get":{"tags":["ReflectionService"],"summary":"GetAuthnDescriptor returns information on how to authenticate transactions in the application\nNOTE: this RPC is still experimental and might be subject to breaking changes or removal in\nfuture releases of the cosmos-sdk.","operationId":"AuthReflectionService_GetAuthnDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/chain":{"get":{"tags":["ReflectionService"],"summary":"GetChainDescriptor returns the description of the chain","operationId":"AuthReflectionService_GetChainDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/codec":{"get":{"tags":["ReflectionService"],"summary":"GetCodecDescriptor returns the descriptor of the codec of the application","operationId":"AuthReflectionService_GetCodecDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/configuration":{"get":{"tags":["ReflectionService"],"summary":"GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application","operationId":"AuthReflectionService_GetConfigurationDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/query_services":{"get":{"tags":["ReflectionService"],"summary":"GetQueryServicesDescriptor returns the available gRPC queryable services of the application","operationId":"AuthReflectionService_GetQueryServicesDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/tx_descriptor":{"get":{"tags":["ReflectionService"],"summary":"GetTxDescriptor returns information on the used transaction object and available msgs that can be used","operationId":"AuthReflectionService_GetTxDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces":{"get":{"tags":["ReflectionService"],"summary":"ListAllInterfaces lists all the interfaces registered in the interface\nregistry.","operationId":"AuthReflectionService_ListAllInterfaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListAllInterfacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces/{interface_name}/implementations":{"get":{"tags":["ReflectionService"],"summary":"ListImplementations list all the concrete types that implement a given\ninterface.","operationId":"AuthReflectionService_ListImplementations","parameters":[{"type":"string","description":"interface_name defines the interface to query the implementations for.","name":"interface_name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListImplementationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/abci_query":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Service"],"summary":"ABCIQuery defines a query handler that supports ABCI queries directly to the\napplication, bypassing Tendermint completely. The ABCI query must contain\na valid and supported path, including app, custom, p2p, and store.","operationId":"AuthService_ABCIQuery","parameters":[{"type":"string","format":"byte","name":"data","in":"query"},{"type":"string","name":"path","in":"query"},{"type":"string","format":"int64","name":"height","in":"query"},{"type":"boolean","name":"prove","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ABCIQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/latest":{"get":{"tags":["Service"],"summary":"GetLatestBlock returns the latest block.","operationId":"AuthService_GetLatestBlock","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/{height}":{"get":{"tags":["Service"],"summary":"GetBlockByHeight queries block for given height.","operationId":"AuthService_GetBlockByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/node_info":{"get":{"tags":["Service"],"summary":"GetNodeInfo queries the current node info.","operationId":"AuthService_GetNodeInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetNodeInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/syncing":{"get":{"tags":["Service"],"summary":"GetSyncing queries node syncing.","operationId":"AuthService_GetSyncing","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetSyncingResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/latest":{"get":{"tags":["Service"],"summary":"GetLatestValidatorSet queries latest validator-set.","operationId":"AuthService_GetLatestValidatorSet","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/{height}":{"get":{"tags":["Service"],"summary":"GetValidatorSetByHeight queries validator-set at a given height.","operationId":"AuthService_GetValidatorSetByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"AuthQuery_AccountsMixin47","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"AuthQuery_AccountMixin47","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/disable_list":{"get":{"tags":["Query"],"summary":"DisabledList returns a list of disabled message urls","operationId":"AuthQuery_DisabledList","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.DisabledListResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/consensus/v1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/consensus module.","operationId":"AuthQuery_ParamsMixin50","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/community_pool":{"get":{"tags":["Query"],"summary":"CommunityPool queries the community pool coins.","operationId":"AuthQuery_CommunityPool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards":{"get":{"tags":["Query"],"summary":"DelegationTotalRewards queries the total rewards accrued by each\nvalidator.","operationId":"AuthQuery_DelegationTotalRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}":{"get":{"tags":["Query"],"summary":"DelegationRewards queries the total rewards accrued by a delegation.","operationId":"AuthQuery_DelegationRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true},{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators":{"get":{"tags":["Query"],"summary":"DelegatorValidators queries the validators of a delegator.","operationId":"AuthQuery_DelegatorValidators","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address":{"get":{"tags":["Query"],"summary":"DelegatorWithdrawAddress queries withdraw address of a delegator.","operationId":"AuthQuery_DelegatorWithdrawAddress","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries params of the distribution module.","operationId":"AuthQuery_ParamsMixin63","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}":{"get":{"tags":["Query"],"summary":"ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator","operationId":"AuthQuery_ValidatorDistributionInfo","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/commission":{"get":{"tags":["Query"],"summary":"ValidatorCommission queries accumulated commission for a validator.","operationId":"AuthQuery_ValidatorCommission","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards":{"get":{"tags":["Query"],"summary":"ValidatorOutstandingRewards queries rewards of a validator address.","operationId":"AuthQuery_ValidatorOutstandingRewards","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/slashes":{"get":{"tags":["Query"],"summary":"ValidatorSlashes queries slash events of a validator.","operationId":"AuthQuery_ValidatorSlashes","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true},{"type":"string","format":"uint64","description":"starting_height defines the optional starting height to query the slashes.","name":"starting_height","in":"query"},{"type":"string","format":"uint64","description":"starting_height defines the optional ending height to query the slashes.","name":"ending_height","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorSlashesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence":{"get":{"tags":["Query"],"summary":"AllEvidence queries all evidence.","operationId":"AuthQuery_AllEvidence","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryAllEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence/{hash}":{"get":{"tags":["Query"],"summary":"Evidence queries evidence based on evidence hash.","operationId":"AuthQuery_Evidence","parameters":[{"type":"string","description":"hash defines the evidence hash of the requested evidence.\n\nSince: cosmos-sdk 0.47","name":"hash","in":"path","required":true},{"type":"string","format":"byte","description":"evidence_hash defines the hash of the requested evidence.\nDeprecated: Use hash, a HEX encoded string, instead.","name":"evidence_hash","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}":{"get":{"tags":["Query"],"summary":"Allowance returns granted allwance to the grantee by the granter.","operationId":"AuthQuery_Allowance","parameters":[{"type":"string","description":"granter is the address of the user granting an allowance of their funds.","name":"granter","in":"path","required":true},{"type":"string","description":"grantee is the address of the user being granted an allowance of another user's funds.","name":"grantee","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowances/{grantee}":{"get":{"tags":["Query"],"summary":"Allowances returns all the grants for the given grantee address.","operationId":"AuthQuery_Allowances","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/issued/{granter}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AllowancesByGranter returns all the grants given by an address","operationId":"AuthQuery_AllowancesByGranter","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/constitution":{"get":{"tags":["Query"],"summary":"Constitution queries the chain's constitution.","operationId":"AuthQuery_Constitution","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryConstitutionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"AuthQuery_ParamsMixin76","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"AuthQuery_Proposals","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"AuthQuery_Proposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"AuthQuery_Deposits","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositAddr.","operationId":"AuthQuery_Deposit","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"AuthQuery_TallyResult","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"AuthQuery_Votes","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"AuthQuery_Vote","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"AuthQuery_ParamsMixin80","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"AuthQuery_ProposalsMixin80","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"AuthQuery_ProposalMixin80","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"AuthQuery_DepositsMixin80","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositor address.","operationId":"AuthQuery_DepositMixin80","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"AuthQuery_TallyResultMixin80","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"AuthQuery_VotesMixin80","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"AuthQuery_VoteMixin80","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_info/{group_id}":{"get":{"tags":["Query"],"summary":"GroupInfo queries group info based on group id.","operationId":"AuthQuery_GroupInfo","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_members/{group_id}":{"get":{"tags":["Query"],"summary":"GroupMembers queries members of a group by group id.","operationId":"AuthQuery_GroupMembers","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByAdmin queries group policies by admin address.","operationId":"AuthQuery_GroupPoliciesByAdmin","parameters":[{"type":"string","description":"admin is the admin address of the group policy.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_group/{group_id}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByGroup queries group policies by group id.","operationId":"AuthQuery_GroupPoliciesByGroup","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group policy's group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policy_info/{address}":{"get":{"tags":["Query"],"summary":"GroupPolicyInfo queries group policy info based on account address of group policy.","operationId":"AuthQuery_GroupPolicyInfo","parameters":[{"type":"string","description":"address is the account address of the group policy.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPolicyInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups":{"get":{"description":"Since: cosmos-sdk 0.47.1","tags":["Query"],"summary":"Groups queries all groups in state.","operationId":"AuthQuery_Groups","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupsByAdmin queries groups by admin address.","operationId":"AuthQuery_GroupsByAdmin","parameters":[{"type":"string","description":"admin is the account address of a group's admin.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_member/{address}":{"get":{"tags":["Query"],"summary":"GroupsByMember queries groups by member address.","operationId":"AuthQuery_GroupsByMember","parameters":[{"type":"string","description":"address is the group member address.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByMemberResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries a proposal based on proposal id.","operationId":"AuthQuery_ProposalMixin84","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult returns the tally result of a proposal. If the proposal is\nstill in voting period, then this query computes the current tally state,\nwhich might not be final. On the other hand, if the proposal is final,\nthen it simply returns the `final_tally_result` state stored in the\nproposal itself.","operationId":"AuthQuery_TallyResultMixin84","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique id of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals_by_group_policy/{address}":{"get":{"tags":["Query"],"summary":"ProposalsByGroupPolicy queries proposals based on account address of group policy.","operationId":"AuthQuery_ProposalsByGroupPolicy","parameters":[{"type":"string","description":"address is the account address of the group policy related to proposals.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalsByGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/vote_by_proposal_voter/{proposal_id}/{voter}":{"get":{"tags":["Query"],"summary":"VoteByProposalVoter queries a vote by proposal id and voter.","operationId":"AuthQuery_VoteByProposalVoter","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVoteByProposalVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"VotesByProposal queries a vote by proposal id.","operationId":"AuthQuery_VotesByProposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_voter/{voter}":{"get":{"tags":["Query"],"summary":"VotesByVoter queries a vote by voter.","operationId":"AuthQuery_VotesByVoter","parameters":[{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/annual_provisions":{"get":{"tags":["Query"],"summary":"AnnualProvisions current minting annual provisions value.","operationId":"AuthQuery_AnnualProvisions","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryAnnualProvisionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/inflation":{"get":{"tags":["Query"],"summary":"Inflation returns the current minting inflation value.","operationId":"AuthQuery_Inflation","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryInflationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params returns the total set of minting parameters.","operationId":"AuthQuery_ParamsMixin89","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/balance/{owner}/{class_id}":{"get":{"tags":["Query"],"summary":"Balance queries the number of NFTs of a given class owned by the owner, same as balanceOf in ERC721","operationId":"AuthQuery_BalanceMixin95","parameters":[{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"path","required":true},{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes":{"get":{"tags":["Query"],"summary":"Classes queries all NFT classes","operationId":"AuthQuery_Classes","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes/{class_id}":{"get":{"tags":["Query"],"summary":"Class queries an NFT class based on its id","operationId":"AuthQuery_Class","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts":{"get":{"tags":["Query"],"summary":"NFTs queries all NFTs of a given class or owner,choose at least one of the two, similar to tokenByIndex in\nERC721Enumerable","operationId":"AuthQuery_NFTs","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"query"},{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"NFT queries an NFT based on its class and id.","operationId":"AuthQuery_NFT","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/owner/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"Owner queries the owner of the NFT based on its class and id, same as ownerOf in ERC721","operationId":"AuthQuery_Owner","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryOwnerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/supply/{class_id}":{"get":{"tags":["Query"],"summary":"Supply queries the number of NFTs from the given class, same as totalSupply of ERC721.","operationId":"AuthQuery_Supply","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QuerySupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries a specific parameter of a module, given its subspace and\nkey.","operationId":"AuthQuery_ParamsMixin98","parameters":[{"type":"string","description":"subspace defines the module to query the parameter for.","name":"subspace","in":"query"},{"type":"string","description":"key defines the key of the parameter in the subspace.","name":"key","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/subspaces":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Subspaces queries for all registered subspaces and all keys for a subspace.","operationId":"AuthQuery_Subspaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QuerySubspacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of slashing module","operationId":"AuthQuery_ParamsMixin101","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos":{"get":{"tags":["Query"],"summary":"SigningInfos queries signing info of all validators","operationId":"AuthQuery_SigningInfos","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfosResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos/{cons_address}":{"get":{"tags":["Query"],"summary":"SigningInfo queries the signing info of given cons address","operationId":"AuthQuery_SigningInfo","parameters":[{"type":"string","description":"cons_address is the address to query signing info of","name":"cons_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegations/{delegator_addr}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorDelegations queries all delegations of a given delegator address.","operationId":"AuthQuery_DelegatorDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Redelegations queries redelegations of given address.","operationId":"AuthQuery_Redelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"src_validator_addr defines the validator address to redelegate from.","name":"src_validator_addr","in":"query"},{"type":"string","description":"dst_validator_addr defines the validator address to redelegate to.","name":"dst_validator_addr","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryRedelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorUnbondingDelegations queries all unbonding delegations of a given\ndelegator address.","operationId":"AuthQuery_DelegatorUnbondingDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorValidators queries all validators info for given delegator\naddress.","operationId":"AuthQuery_DelegatorValidatorsMixin106","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"DelegatorValidator queries validator info for given delegator validator\npair.","operationId":"AuthQuery_DelegatorValidator","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/historical_info/{height}":{"get":{"tags":["Query"],"summary":"HistoricalInfo queries the historical info for given height.","operationId":"AuthQuery_HistoricalInfo","parameters":[{"type":"string","format":"int64","description":"height defines at which height to query the historical info.","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryHistoricalInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/params":{"get":{"tags":["Query"],"summary":"Parameters queries the staking parameters.","operationId":"AuthQuery_ParamsMixin106","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/pool":{"get":{"tags":["Query"],"summary":"Pool queries the pool info.","operationId":"AuthQuery_Pool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Validators queries all validators that match the given status.","operationId":"AuthQuery_Validators","parameters":[{"type":"string","description":"status enables to query for validators matching a given status.","name":"status","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"Validator queries validator info for given validator address.","operationId":"AuthQuery_Validator","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorDelegations queries delegate info for given validator.","operationId":"AuthQuery_ValidatorDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}":{"get":{"tags":["Query"],"summary":"Delegation queries delegate info for given validator delegator pair.","operationId":"AuthQuery_Delegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation":{"get":{"tags":["Query"],"summary":"UnbondingDelegation queries unbonding info for given validator delegator\npair.","operationId":"AuthQuery_UnbondingDelegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorUnbondingDelegations queries unbonding delegations of a validator.","operationId":"AuthQuery_ValidatorUnbondingDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxDecode decodes the transaction.","operationId":"AuthService_TxDecode","parameters":[{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode/amino":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON.","operationId":"AuthService_TxDecodeAmino","parameters":[{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxEncode encodes the transaction.","operationId":"AuthService_TxEncode","parameters":[{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode/amino":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes.","operationId":"AuthService_TxEncodeAmino","parameters":[{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/simulate":{"post":{"tags":["Service"],"summary":"Simulate simulates executing a transaction for estimating gas usage.","operationId":"AuthService_Simulate","parameters":[{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs":{"get":{"tags":["Service"],"summary":"GetTxsEvent fetches txs by event.","operationId":"AuthService_GetTxsEvent","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"events is the list of transaction event type.\nDeprecated post v0.47.x: use query instead, which should contain a valid\nevents query.","name":"events","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"],"type":"string","default":"ORDER_BY_UNSPECIFIED","description":" - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","name":"order_by","in":"query"},{"type":"string","format":"uint64","description":"page is the page number to query, starts at 1. If not provided, will\ndefault to first page.","name":"page","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"limit","in":"query"},{"type":"string","description":"query defines the transaction event query that is proxied to Tendermint's\nTxSearch RPC method. The query must be valid.\n\nSince cosmos-sdk 0.50","name":"query","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}},"post":{"tags":["Service"],"summary":"BroadcastTx broadcast transaction.","operationId":"AuthService_BroadcastTx","parameters":[{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/block/{height}":{"get":{"description":"Since: cosmos-sdk 0.45.2","tags":["Service"],"summary":"GetBlockWithTxs fetches a block with decoded txs.","operationId":"AuthService_GetBlockWithTxs","parameters":[{"type":"string","format":"int64","description":"height is the height of the block to query.","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetBlockWithTxsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/{hash}":{"get":{"tags":["Service"],"summary":"GetTx fetches a tx by hash.","operationId":"AuthService_GetTx","parameters":[{"type":"string","description":"hash is the tx hash to query, encoded as a hex string.","name":"hash","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/applied_plan/{name}":{"get":{"tags":["Query"],"summary":"AppliedPlan queries a previously applied upgrade plan by its name.","operationId":"AuthQuery_AppliedPlan","parameters":[{"type":"string","description":"name is the name of the applied plan to query for.","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAppliedPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/authority":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Returns the account with authority to conduct upgrades","operationId":"AuthQuery_Authority","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAuthorityResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/current_plan":{"get":{"tags":["Query"],"summary":"CurrentPlan queries the current upgrade plan.","operationId":"AuthQuery_CurrentPlan","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryCurrentPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/module_versions":{"get":{"description":"Since: cosmos-sdk 0.43","tags":["Query"],"summary":"ModuleVersions queries the list of module versions from state.","operationId":"AuthQuery_ModuleVersions","parameters":[{"type":"string","description":"module_name is a field to query a specific module\nconsensus version from state. Leaving this empty will\nfetch the full list of module versions from state","name":"module_name","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryModuleVersionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}":{"get":{"tags":["Query"],"summary":"UpgradedConsensusState queries the consensus state that will serve\nas a trusted kernel for the next version of this chain. It will only be\nstored at the last height of this chain.\nUpgradedConsensusState RPC not supported with legacy querier\nThis rpc is deprecated now that IBC has its own replacement\n(https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54)","operationId":"AuthQuery_UpgradedConsensusState","parameters":[{"type":"string","format":"int64","description":"last height of the current chain must be sent in request\nas this is the height under which next consensus state is stored","name":"last_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/PayPacketFee":{"post":{"tags":["Msg"],"summary":"PayPacketFee defines a rpc handler method for MsgPayPacketFee\nPayPacketFee is an open callback that may be called by any module/user that wishes to escrow funds in order to\nincentivize the relaying of the packet at the next sequence\nNOTE: This method is intended to be used within a multi msg transaction, where the subsequent msg that follows\ninitiates the lifecycle of the incentivized packet","operationId":"FeeMsg_PayPacketFee","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFee"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/PayPacketFeeAsync":{"post":{"tags":["Msg"],"summary":"PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync\nPayPacketFeeAsync is an open callback that may be called by any module/user that wishes to escrow funds in order to\nincentivize the relaying of a known packet (i.e. at a particular sequence)","operationId":"FeeMsg_PayPacketFeeAsync","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFeeAsync"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/RegisterCounterpartyPayee":{"post":{"tags":["Msg"],"summary":"RegisterCounterpartyPayee defines a rpc handler method for MsgRegisterCounterpartyPayee\nRegisterCounterpartyPayee is called by the relayer on each channelEnd and allows them to specify the counterparty\npayee address before relaying. This ensures they will be properly compensated for forward relaying since\nthe destination chain must include the registered counterparty payee address in the acknowledgement. This function\nmay be called more than once by a relayer, in which case, the latest counterparty payee address is always used.","operationId":"FeeMsg_RegisterCounterpartyPayee","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterCounterpartyPayee"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/RegisterPayee":{"post":{"tags":["Msg"],"summary":"RegisterPayee defines a rpc handler method for MsgRegisterPayee\nRegisterPayee is called by the relayer on each channelEnd and allows them to set an optional\npayee to which reverse and timeout relayer packet fees will be paid out. The payee should be registered on\nthe source chain from which packets originate as this is where fee distribution takes place. This function may be\ncalled more than once by a relayer, in which case, the latest payee is always used.","operationId":"FeeMsg_RegisterPayee","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterPayee"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.controller.v1.Msg/RegisterInterchainAccount":{"post":{"tags":["Msg"],"summary":"RegisterInterchainAccount defines a rpc handler for MsgRegisterInterchainAccount.","operationId":"FeeMsg_RegisterInterchainAccount","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.controller.v1.Msg/SendTx":{"post":{"tags":["Msg"],"summary":"SendTx defines a rpc handler for MsgSendTx.","operationId":"FeeMsg_SendTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgSendTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.controller.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a rpc handler for MsgUpdateParams.","operationId":"FeeMsg_UpdateParams","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.host.v1.Msg/ModuleQuerySafe":{"post":{"tags":["Msg"],"summary":"ModuleQuerySafe defines a rpc handler for MsgModuleQuerySafe.","operationId":"FeeMsg_ModuleQuerySafe","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.host.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a rpc handler for MsgUpdateParams.","operationId":"FeeMsg_UpdateParamsMixin147","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.transfer.v1.Msg/Transfer":{"post":{"tags":["Msg"],"summary":"Transfer defines a rpc handler method for MsgTransfer.","operationId":"FeeMsg_Transfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.transfer.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a rpc handler for MsgUpdateParams.","operationId":"FeeMsg_UpdateParamsMixin155","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/Acknowledgement":{"post":{"tags":["Msg"],"summary":"Acknowledgement defines a rpc handler method for MsgAcknowledgement.","operationId":"FeeMsg_Acknowledgement","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgAcknowledgement"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgAcknowledgementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelCloseConfirm":{"post":{"tags":["Msg"],"summary":"ChannelCloseConfirm defines a rpc handler method for\nMsgChannelCloseConfirm.","operationId":"FeeMsg_ChannelCloseConfirm","parameters":[{"description":"MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B\nto acknowledge the change of channel state to CLOSED on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelCloseInit":{"post":{"tags":["Msg"],"summary":"ChannelCloseInit defines a rpc handler method for MsgChannelCloseInit.","operationId":"FeeMsg_ChannelCloseInit","parameters":[{"description":"MsgChannelCloseInit defines a msg sent by a Relayer to Chain A\nto close a channel with Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenAck":{"post":{"tags":["Msg"],"summary":"ChannelOpenAck defines a rpc handler method for MsgChannelOpenAck.","operationId":"FeeMsg_ChannelOpenAck","parameters":[{"description":"MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge\nthe change of channel state to TRYOPEN on Chain B.\nWARNING: a channel upgrade MUST NOT initialize an upgrade for this channel\nin the same block as executing this message otherwise the counterparty will\nbe incapable of opening.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenAck"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenAckResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenConfirm":{"post":{"tags":["Msg"],"summary":"ChannelOpenConfirm defines a rpc handler method for MsgChannelOpenConfirm.","operationId":"FeeMsg_ChannelOpenConfirm","parameters":[{"description":"MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of channel state to OPEN on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenInit":{"post":{"tags":["Msg"],"summary":"ChannelOpenInit defines a rpc handler method for MsgChannelOpenInit.","operationId":"FeeMsg_ChannelOpenInit","parameters":[{"description":"MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It\nis called by a relayer on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenTry":{"post":{"tags":["Msg"],"summary":"ChannelOpenTry defines a rpc handler method for MsgChannelOpenTry.","operationId":"FeeMsg_ChannelOpenTry","parameters":[{"description":"MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel\non Chain B. The version field within the Channel field has been deprecated. Its\nvalue will be ignored by core IBC.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenTry"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenTryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeAck":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeAck defines a rpc handler method for MsgChannelUpgradeAck.","operationId":"FeeMsg_ChannelUpgradeAck","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeAck"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeAckResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeCancel":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeCancel defines a rpc handler method for MsgChannelUpgradeCancel.","operationId":"FeeMsg_ChannelUpgradeCancel","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeCancel"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeCancelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeConfirm":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeConfirm defines a rpc handler method for MsgChannelUpgradeConfirm.","operationId":"FeeMsg_ChannelUpgradeConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeInit":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeInit defines a rpc handler method for MsgChannelUpgradeInit.","operationId":"FeeMsg_ChannelUpgradeInit","parameters":[{"description":"MsgChannelUpgradeInit defines the request type for the ChannelUpgradeInit rpc\nWARNING: Initializing a channel upgrade in the same block as opening the channel\nmay result in the counterparty being incapable of opening.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeOpen":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeOpen defines a rpc handler method for MsgChannelUpgradeOpen.","operationId":"FeeMsg_ChannelUpgradeOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeTimeout":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeTimeout defines a rpc handler method for MsgChannelUpgradeTimeout.","operationId":"FeeMsg_ChannelUpgradeTimeout","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTimeout"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTimeoutResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeTry":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeTry defines a rpc handler method for MsgChannelUpgradeTry.","operationId":"FeeMsg_ChannelUpgradeTry","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTry"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/PruneAcknowledgements":{"post":{"tags":["Msg"],"summary":"PruneAcknowledgements defines a rpc handler method for MsgPruneAcknowledgements.","operationId":"FeeMsg_PruneAcknowledgements","parameters":[{"description":"MsgPruneAcknowledgements defines the request type for the PruneAcknowledgements rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgPruneAcknowledgements"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgPruneAcknowledgementsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/RecvPacket":{"post":{"tags":["Msg"],"summary":"RecvPacket defines a rpc handler method for MsgRecvPacket.","operationId":"FeeMsg_RecvPacket","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgRecvPacket"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgRecvPacketResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/Timeout":{"post":{"tags":["Msg"],"summary":"Timeout defines a rpc handler method for MsgTimeout.","operationId":"FeeMsg_Timeout","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeout"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeoutResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/TimeoutOnClose":{"post":{"tags":["Msg"],"summary":"TimeoutOnClose defines a rpc handler method for MsgTimeoutOnClose.","operationId":"FeeMsg_TimeoutOnClose","parameters":[{"description":"MsgTimeoutOnClose timed-out packet upon counterparty channel closure.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeoutOnClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeoutOnCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/UpdateChannelParams":{"post":{"tags":["Msg"],"summary":"UpdateChannelParams defines a rpc handler method for MsgUpdateParams.","operationId":"FeeMsg_UpdateChannelParams","parameters":[{"description":"MsgUpdateParams is the MsgUpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/CreateClient":{"post":{"tags":["Msg"],"summary":"CreateClient defines a rpc handler method for MsgCreateClient.","operationId":"FeeMsg_CreateClient","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgCreateClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgCreateClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/IBCSoftwareUpgrade":{"post":{"tags":["Msg"],"summary":"IBCSoftwareUpgrade defines a rpc handler method for MsgIBCSoftwareUpgrade.","operationId":"FeeMsg_IBCSoftwareUpgrade","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgIBCSoftwareUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/RecoverClient":{"post":{"tags":["Msg"],"summary":"RecoverClient defines a rpc handler method for MsgRecoverClient.","operationId":"FeeMsg_RecoverClient","parameters":[{"description":"MsgRecoverClient defines the message used to recover a frozen or expired client.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgRecoverClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgRecoverClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/SubmitMisbehaviour":{"post":{"tags":["Msg"],"summary":"SubmitMisbehaviour defines a rpc handler method for MsgSubmitMisbehaviour.","operationId":"FeeMsg_SubmitMisbehaviour","parameters":[{"description":"MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for\nlight client misbehaviour.\nThis message has been deprecated. Use MsgUpdateClient instead.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgSubmitMisbehaviour"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgSubmitMisbehaviourResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/UpdateClient":{"post":{"tags":["Msg"],"summary":"UpdateClient defines a rpc handler method for MsgUpdateClient.","operationId":"FeeMsg_UpdateClient","parameters":[{"description":"MsgUpdateClient defines an sdk.Msg to update a IBC client state using\nthe given client message.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/UpdateClientParams":{"post":{"tags":["Msg"],"summary":"UpdateClientParams defines a rpc handler method for MsgUpdateParams.","operationId":"FeeMsg_UpdateClientParams","parameters":[{"description":"MsgUpdateParams defines the sdk.Msg type to update the client parameters.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/UpgradeClient":{"post":{"tags":["Msg"],"summary":"UpgradeClient defines a rpc handler method for MsgUpgradeClient.","operationId":"FeeMsg_UpgradeClient","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpgradeClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpgradeClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenAck":{"post":{"tags":["Msg"],"summary":"ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck.","operationId":"FeeMsg_ConnectionOpenAck","parameters":[{"description":"MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to\nacknowledge the change of connection state to TRYOPEN on Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenAck"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenAckResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenConfirm":{"post":{"tags":["Msg"],"summary":"ConnectionOpenConfirm defines a rpc handler method for\nMsgConnectionOpenConfirm.","operationId":"FeeMsg_ConnectionOpenConfirm","parameters":[{"description":"MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of connection state to OPEN on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenInit":{"post":{"tags":["Msg"],"summary":"ConnectionOpenInit defines a rpc handler method for MsgConnectionOpenInit.","operationId":"FeeMsg_ConnectionOpenInit","parameters":[{"description":"MsgConnectionOpenInit defines the msg sent by an account on Chain A to\ninitialize a connection with Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenTry":{"post":{"tags":["Msg"],"summary":"ConnectionOpenTry defines a rpc handler method for MsgConnectionOpenTry.","operationId":"FeeMsg_ConnectionOpenTry","parameters":[{"description":"MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a\nconnection on Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenTry"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenTryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/UpdateConnectionParams":{"post":{"tags":["Msg"],"summary":"UpdateConnectionParams defines a rpc handler method for\nMsgUpdateParams.","operationId":"FeeMsg_UpdateConnectionParams","parameters":[{"description":"MsgUpdateParams defines the sdk.Msg type to update the connection parameters.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.lightclients.wasm.v1.Msg/MigrateContract":{"post":{"tags":["Msg"],"summary":"MigrateContract defines a rpc handler method for MsgMigrateContract.","operationId":"FeeMsg_MigrateContract","parameters":[{"description":"MsgMigrateContract defines the request type for the MigrateContract rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgMigrateContract"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgMigrateContractResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.lightclients.wasm.v1.Msg/RemoveChecksum":{"post":{"tags":["Msg"],"summary":"RemoveChecksum defines a rpc handler method for MsgRemoveChecksum.","operationId":"FeeMsg_RemoveChecksum","parameters":[{"description":"MsgRemoveChecksum defines the request type for the MsgRemoveChecksum rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgRemoveChecksum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgRemoveChecksumResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.lightclients.wasm.v1.Msg/StoreCode":{"post":{"tags":["Msg"],"summary":"StoreCode defines a rpc handler method for MsgStoreCode.","operationId":"FeeMsg_StoreCode","parameters":[{"description":"MsgStoreCode defines the request type for the StoreCode rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgStoreCode"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgStoreCodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/ports/{port_id}/fee_enabled":{"get":{"tags":["Query"],"summary":"FeeEnabledChannel returns true if the provided port and channel identifiers belong to a fee enabled channel","operationId":"FeeQuery_FeeEnabledChannel","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"unique port identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryFeeEnabledChannelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/ports/{port_id}/incentivized_packets":{"get":{"tags":["Query"],"summary":"Gets all incentivized packets for a specific channel","operationId":"FeeQuery_IncentivizedPacketsForChannel","parameters":[{"type":"string","name":"channel_id","in":"path","required":true},{"type":"string","name":"port_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"string","format":"uint64","description":"Height to query at","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/relayers/{relayer}/counterparty_payee":{"get":{"tags":["Query"],"summary":"CounterpartyPayee returns the registered counterparty payee for forward relaying","operationId":"FeeQuery_CounterpartyPayee","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"the relayer address to which the counterparty is registered","name":"relayer","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryCounterpartyPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/relayers/{relayer}/payee":{"get":{"tags":["Query"],"summary":"Payee returns the registered payee address for a specific channel given the relayer address","operationId":"FeeQuery_Payee","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"the relayer address to which the distribution address is registered","name":"relayer","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/incentivized_packet":{"get":{"tags":["Query"],"summary":"IncentivizedPacket returns all packet fees for a packet given its identifier","operationId":"FeeQuery_IncentivizedPacket","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true},{"type":"string","format":"uint64","description":"block height at which to query","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryIncentivizedPacketResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_ack_fees":{"get":{"tags":["Query"],"summary":"TotalAckFees returns the total acknowledgement fees for a packet given its identifier","operationId":"FeeQuery_TotalAckFees","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryTotalAckFeesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_recv_fees":{"get":{"tags":["Query"],"summary":"TotalRecvFees returns the total receive fees for a packet given its identifier","operationId":"FeeQuery_TotalRecvFees","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryTotalRecvFeesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_timeout_fees":{"get":{"tags":["Query"],"summary":"TotalTimeoutFees returns the total timeout fees for a packet given its identifier","operationId":"FeeQuery_TotalTimeoutFees","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/fee_enabled":{"get":{"tags":["Query"],"summary":"FeeEnabledChannels returns a list of all fee enabled channels","operationId":"FeeQuery_FeeEnabledChannels","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"string","format":"uint64","description":"block height at which to query","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/incentivized_packets":{"get":{"tags":["Query"],"summary":"IncentivizedPackets returns all incentivized packets and their associated fees","operationId":"FeeQuery_IncentivizedPackets","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"string","format":"uint64","description":"block height at which to query","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryIncentivizedPacketsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/interchain_accounts/controller/v1/owners/{owner}/connections/{connection_id}":{"get":{"tags":["Query"],"summary":"InterchainAccount returns the interchain account address for a given owner address on a given connection","operationId":"FeeQuery_InterchainAccount","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"string","name":"connection_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/interchain_accounts/controller/v1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the ICA controller submodule.","operationId":"FeeQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/interchain_accounts/host/v1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the ICA host submodule.","operationId":"FeeQuery_ParamsMixin146","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address":{"get":{"tags":["Query"],"summary":"EscrowAddress returns the escrow address for a particular port and channel id.","operationId":"FeeQuery_EscrowAddress","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"unique port identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryEscrowAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denom_hashes/{trace}":{"get":{"tags":["Query"],"summary":"DenomHash queries a denomination hash information.","operationId":"FeeQuery_DenomHash","parameters":[{"pattern":".+","type":"string","description":"The denomination trace ([port_id]/[channel_id])+/[denom]","name":"trace","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryDenomHashResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denom_traces":{"get":{"tags":["Query"],"summary":"DenomTraces queries all denomination traces.","operationId":"FeeQuery_DenomTraces","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryDenomTracesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denom_traces/{hash}":{"get":{"tags":["Query"],"summary":"DenomTrace queries a denomination trace information.","operationId":"FeeQuery_DenomTrace","parameters":[{"pattern":".+","type":"string","description":"hash (in hex format) or denom (full denom with ibc prefix) of the denomination trace information.","name":"hash","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryDenomTraceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denoms/{denom}/total_escrow":{"get":{"tags":["Query"],"summary":"TotalEscrowForDenom returns the total amount of tokens in escrow based on the denom.","operationId":"FeeQuery_TotalEscrowForDenom","parameters":[{"pattern":".+","type":"string","name":"denom","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the ibc-transfer module.","operationId":"FeeQuery_ParamsMixin153","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels":{"get":{"tags":["Query"],"summary":"Channels queries all the IBC channels of a chain.","operationId":"FeeQuery_Channels","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}":{"get":{"tags":["Query"],"summary":"Channel queries an IBC Channel.","operationId":"FeeQuery_Channel","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state":{"get":{"tags":["Query"],"summary":"ChannelClientState queries for the client state for the channel associated\nwith the provided channel identifiers.","operationId":"FeeQuery_ChannelClientState","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}":{"get":{"tags":["Query"],"summary":"ChannelConsensusState queries for the consensus state for the channel\nassociated with the provided channel identifiers.","operationId":"FeeQuery_ChannelConsensusState","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"revision number of the consensus state","name":"revision_number","in":"path","required":true},{"type":"string","format":"uint64","description":"revision height of the consensus state","name":"revision_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence":{"get":{"tags":["Query"],"summary":"NextSequenceReceive returns the next receive sequence for a given channel.","operationId":"FeeQuery_NextSequenceReceive","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryNextSequenceReceiveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence_send":{"get":{"tags":["Query"],"summary":"NextSequenceSend returns the next send sequence for a given channel.","operationId":"FeeQuery_NextSequenceSend","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryNextSequenceSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements":{"get":{"tags":["Query"],"summary":"PacketAcknowledgements returns all the packet acknowledgements associated\nwith a channel.","operationId":"FeeQuery_PacketAcknowledgements","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","description":"list of packet sequences","name":"packet_commitment_sequences","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketAcknowledgementsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}":{"get":{"tags":["Query"],"summary":"PacketAcknowledgement queries a stored packet acknowledgement hash.","operationId":"FeeQuery_PacketAcknowledgement","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketAcknowledgementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments":{"get":{"tags":["Query"],"summary":"PacketCommitments returns all the packet commitments hashes associated\nwith a channel.","operationId":"FeeQuery_PacketCommitments","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketCommitmentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks":{"get":{"tags":["Query"],"summary":"UnreceivedAcks returns all the unreceived IBC acknowledgements associated\nwith a channel and sequences.","operationId":"FeeQuery_UnreceivedAcks","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","description":"list of acknowledgement sequences","name":"packet_ack_sequences","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUnreceivedAcksResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets":{"get":{"tags":["Query"],"summary":"UnreceivedPackets returns all the unreceived IBC packets associated with a\nchannel and sequences.","operationId":"FeeQuery_UnreceivedPackets","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","description":"list of packet sequences","name":"packet_commitment_sequences","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUnreceivedPacketsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}":{"get":{"tags":["Query"],"summary":"PacketCommitment queries a stored packet commitment hash.","operationId":"FeeQuery_PacketCommitment","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketCommitmentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}":{"get":{"tags":["Query"],"summary":"PacketReceipt queries if a given packet sequence has been received on the\nqueried chain","operationId":"FeeQuery_PacketReceipt","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketReceiptResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade":{"get":{"tags":["Query"],"summary":"Upgrade returns the upgrade for a given port and channel id.","operationId":"FeeQuery_Upgrade","parameters":[{"type":"string","name":"channel_id","in":"path","required":true},{"type":"string","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade_error":{"get":{"tags":["Query"],"summary":"UpgradeError returns the error receipt if the upgrade handshake failed.","operationId":"FeeQuery_UpgradeError","parameters":[{"type":"string","name":"channel_id","in":"path","required":true},{"type":"string","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUpgradeErrorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/connections/{connection}/channels":{"get":{"tags":["Query"],"summary":"ConnectionChannels queries all the channels associated with a connection\nend.","operationId":"FeeQuery_ConnectionChannels","parameters":[{"type":"string","description":"connection unique identifier","name":"connection","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryConnectionChannelsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/params":{"get":{"tags":["Query"],"summary":"ChannelParams queries all parameters of the ibc channel submodule.","operationId":"FeeQuery_ChannelParams","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/client_states":{"get":{"tags":["Query"],"summary":"ClientStates queries all the IBC light clients of a chain.","operationId":"FeeQuery_ClientStates","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientStatesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/client_states/{client_id}":{"get":{"tags":["Query"],"summary":"ClientState queries an IBC light client.","operationId":"FeeQuery_ClientState","parameters":[{"type":"string","description":"client state unique identifier","name":"client_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/client_status/{client_id}":{"get":{"tags":["Query"],"summary":"Status queries the status of an IBC client.","operationId":"FeeQuery_ClientStatus","parameters":[{"type":"string","description":"client unique identifier","name":"client_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/consensus_states/{client_id}":{"get":{"tags":["Query"],"summary":"ConsensusStates queries all the consensus state associated with a given\nclient.","operationId":"FeeQuery_ConsensusStates","parameters":[{"type":"string","description":"client identifier","name":"client_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryConsensusStatesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/consensus_states/{client_id}/heights":{"get":{"tags":["Query"],"summary":"ConsensusStateHeights queries the height of every consensus states associated with a given client.","operationId":"FeeQuery_ConsensusStateHeights","parameters":[{"type":"string","description":"client identifier","name":"client_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryConsensusStateHeightsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}":{"get":{"tags":["Query"],"summary":"ConsensusState queries a consensus state associated with a client state at\na given height.","operationId":"FeeQuery_ConsensusState","parameters":[{"type":"string","description":"client identifier","name":"client_id","in":"path","required":true},{"type":"string","format":"uint64","description":"consensus state revision number","name":"revision_number","in":"path","required":true},{"type":"string","format":"uint64","description":"consensus state revision height","name":"revision_height","in":"path","required":true},{"type":"boolean","description":"latest_height overrrides the height field and queries the latest stored\nConsensusState","name":"latest_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/params":{"get":{"tags":["Query"],"summary":"ClientParams queries all parameters of the ibc client submodule.","operationId":"FeeQuery_ClientParams","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/upgraded_client_states":{"get":{"tags":["Query"],"summary":"UpgradedClientState queries an Upgraded IBC light client.","operationId":"FeeQuery_UpgradedClientState","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryUpgradedClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/upgraded_consensus_states":{"get":{"tags":["Query"],"summary":"UpgradedConsensusState queries an Upgraded IBC consensus state.","operationId":"FeeQuery_UpgradedConsensusState","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryUpgradedConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/verify_membership":{"post":{"tags":["Query"],"summary":"VerifyMembership queries an IBC light client for proof verification of a value at a given key path.","operationId":"FeeQuery_VerifyMembership","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryVerifyMembershipRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryVerifyMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/client_connections/{client_id}":{"get":{"tags":["Query"],"summary":"ClientConnections queries the connection paths associated with a client\nstate.","operationId":"FeeQuery_ClientConnections","parameters":[{"type":"string","description":"client identifier associated with a connection","name":"client_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryClientConnectionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections":{"get":{"tags":["Query"],"summary":"Connections queries all the IBC connections of a chain.","operationId":"FeeQuery_Connections","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections/{connection_id}":{"get":{"tags":["Query"],"summary":"Connection queries an IBC connection end.","operationId":"FeeQuery_Connection","parameters":[{"type":"string","description":"connection unique identifier","name":"connection_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections/{connection_id}/client_state":{"get":{"tags":["Query"],"summary":"ConnectionClientState queries the client state associated with the\nconnection.","operationId":"FeeQuery_ConnectionClientState","parameters":[{"type":"string","description":"connection identifier","name":"connection_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}":{"get":{"tags":["Query"],"summary":"ConnectionConsensusState queries the consensus state associated with the\nconnection.","operationId":"FeeQuery_ConnectionConsensusState","parameters":[{"type":"string","description":"connection identifier","name":"connection_id","in":"path","required":true},{"type":"string","format":"uint64","name":"revision_number","in":"path","required":true},{"type":"string","format":"uint64","name":"revision_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/params":{"get":{"tags":["Query"],"summary":"ConnectionParams queries all parameters of the ibc connection submodule.","operationId":"FeeQuery_ConnectionParams","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/lightclients/wasm/v1/checksums":{"get":{"tags":["Query"],"summary":"Get all Wasm checksums","operationId":"FeeQuery_Checksums","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.QueryChecksumsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/lightclients/wasm/v1/checksums/{checksum}/code":{"get":{"tags":["Query"],"summary":"Get Wasm code for given checksum","operationId":"FeeQuery_Code","parameters":[{"type":"string","description":"checksum is a hex encoded string of the code stored.","name":"checksum","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.QueryCodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ApplySnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ApplySnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestApplySnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/CheckTx":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_CheckTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCheckTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCheckTx"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Commit":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Commit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Echo":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Echo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestEcho"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseEcho"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ExtendVote":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ExtendVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestExtendVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseExtendVote"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/FinalizeBlock":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_FinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Flush":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Flush","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFlush"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFlush"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Info":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Info","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInfo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInfo"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/InitChain":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_InitChain","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInitChain"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInitChain"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ListSnapshots":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ListSnapshots","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestListSnapshots"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseListSnapshots"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/LoadSnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_LoadSnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestLoadSnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseLoadSnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/OfferSnapshot":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_OfferSnapshot","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestOfferSnapshot"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/PrepareProposal":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_PrepareProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestPrepareProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponsePrepareProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ProcessProposal":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ProcessProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestProcessProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Query":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Query","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestQuery"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseQuery"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/VerifyVoteExtension":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_VerifyVoteExtension","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestVerifyVoteExtension"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.auth.v1beta1.AddressBytesToStringResponse":{"description":"AddressBytesToStringResponse is the response type for AddressString rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address_string":{"type":"string"}}},"cosmos.auth.v1beta1.AddressStringToBytesResponse":{"description":"AddressStringToBytesResponse is the response type for AddressBytes rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address_bytes":{"type":"string","format":"byte"}}},"cosmos.auth.v1beta1.BaseAccount":{"description":"BaseAccount defines a base account type. It contains all the necessary fields\nfor basic account functionality. Any custom account type should extend this\ntype for additional functionality (e.g. vesting).","type":"object","properties":{"account_number":{"type":"string","format":"uint64"},"address":{"type":"string"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"sequence":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.Bech32PrefixResponse":{"description":"Bech32PrefixResponse is the response type for Bech32Prefix rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"bech32_prefix":{"type":"string"}}},"cosmos.auth.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/auth parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.auth.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.auth.v1beta1.Params":{"description":"Params defines the parameters for the auth module.","type":"object","properties":{"max_memo_characters":{"type":"string","format":"uint64"},"sig_verify_cost_ed25519":{"type":"string","format":"uint64"},"sig_verify_cost_secp256k1":{"type":"string","format":"uint64"},"tx_sig_limit":{"type":"string","format":"uint64"},"tx_size_cost_per_byte":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.QueryAccountAddressByIDResponse":{"description":"Since: cosmos-sdk 0.46.2","type":"object","title":"QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method","properties":{"account_address":{"type":"string"}}},"cosmos.auth.v1beta1.QueryAccountInfoResponse":{"description":"QueryAccountInfoResponse is the Query/AccountInfo response type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"info":{"description":"info is the account info which is represented by BaseAccount.","$ref":"#/definitions/cosmos.auth.v1beta1.BaseAccount"}}},"cosmos.auth.v1beta1.QueryAccountResponse":{"description":"QueryAccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"account":{"description":"account defines the account of the corresponding address.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryAccountsResponse":{"description":"QueryAccountsResponse is the response type for the Query/Accounts RPC method.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"accounts":{"type":"array","title":"accounts are the existing accounts","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.auth.v1beta1.QueryModuleAccountByNameResponse":{"description":"QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method.","type":"object","properties":{"account":{"$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryModuleAccountsResponse":{"description":"QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.auth.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.authz.v1beta1.Grant":{"description":"Grant gives permissions to execute\nthe provide method with expiration time.","type":"object","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time","title":"time when the grant will expire and will be pruned. If null, then the grant\ndoesn't have a time expiration (other conditions in `authorization`\nmay apply to invalidate the grant)"}}},"cosmos.authz.v1beta1.GrantAuthorization":{"type":"object","title":"GrantAuthorization extends a grant with both the addresses of the grantee and granter.\nIt is used in genesis.proto and query.proto","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgExec":{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","type":"object","properties":{"grantee":{"type":"string"},"msgs":{"description":"Execute Msg.\nThe x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg))\ntriple and validate it.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.authz.v1beta1.MsgExecResponse":{"description":"MsgExecResponse defines the Msg/MsgExecResponse response type.","type":"object","properties":{"results":{"type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.authz.v1beta1.MsgGrant":{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","type":"object","properties":{"grant":{"$ref":"#/definitions/cosmos.authz.v1beta1.Grant"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgGrantResponse":{"description":"MsgGrantResponse defines the Msg/MsgGrant response type.","type":"object"},"cosmos.authz.v1beta1.MsgRevoke":{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","type":"object","properties":{"grantee":{"type":"string"},"granter":{"type":"string"},"msg_type_url":{"type":"string"}}},"cosmos.authz.v1beta1.MsgRevokeResponse":{"description":"MsgRevokeResponse defines the Msg/MsgRevokeResponse response type.","type":"object"},"cosmos.authz.v1beta1.QueryGranteeGrantsResponse":{"description":"QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted to the grantee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGranterGrantsResponse":{"description":"QueryGranterGrantsResponse is the response type for the Query/GranterGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGrantsResponse":{"description":"QueryGrantsResponse is the response type for the Query/Authorizations RPC method.","type":"object","properties":{"grants":{"description":"authorizations is a list of grants granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.autocli.v1.AppOptionsRequest":{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","type":"object"},"cosmos.autocli.v1.AppOptionsResponse":{"description":"AppOptionsResponse is the RemoteInfoService/AppOptions response type.","type":"object","properties":{"module_options":{"description":"module_options is a map of module name to autocli module options.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ModuleOptions"}}}},"cosmos.autocli.v1.FlagOptions":{"description":"FlagOptions are options for flags generated from rpc request fields.\nBy default, all request fields are configured as flags based on the\nkebab-case name of the field. Fields can be turned into positional arguments\ninstead by using RpcCommandOptions.positional_args.","type":"object","properties":{"default_value":{"description":"default_value is the default value as text.","type":"string"},"deprecated":{"description":"deprecated is the usage text to show if this flag is deprecated.","type":"string"},"hidden":{"type":"boolean","title":"hidden hides the flag from help/usage text"},"name":{"description":"name is an alternate name to use for the field flag.","type":"string"},"shorthand":{"description":"shorthand is a one-letter abbreviated flag.","type":"string"},"shorthand_deprecated":{"description":"shorthand_deprecated is the usage text to show if the shorthand of this flag is deprecated.","type":"string"},"usage":{"description":"usage is the help message.","type":"string"}}},"cosmos.autocli.v1.ModuleOptions":{"description":"ModuleOptions describes the CLI options for a Cosmos SDK module.","type":"object","properties":{"query":{"description":"query describes the queries commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"},"tx":{"description":"tx describes the tx commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}},"cosmos.autocli.v1.PositionalArgDescriptor":{"description":"PositionalArgDescriptor describes a positional argument.","type":"object","properties":{"proto_field":{"description":"proto_field specifies the proto field to use as the positional arg. Any\nfields used as positional args will not have a flag generated.","type":"string"},"varargs":{"description":"varargs makes a positional parameter a varargs parameter. This can only be\napplied to last positional parameter and the proto_field must a repeated\nfield.","type":"boolean"}}},"cosmos.autocli.v1.RpcCommandOptions":{"description":"RpcCommandOptions specifies options for commands generated from protobuf\nrpc methods.","type":"object","properties":{"alias":{"description":"alias is an array of aliases that can be used instead of the first word in Use.","type":"array","items":{"type":"string"}},"deprecated":{"description":"deprecated defines, if this command is deprecated and should print this string when used.","type":"string"},"example":{"description":"example is examples of how to use the command.","type":"string"},"flag_options":{"description":"flag_options are options for flags generated from rpc request fields.\nBy default all request fields are configured as flags. They can\nalso be configured as positional args instead using positional_args.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.FlagOptions"}},"long":{"description":"long is the long message shown in the 'help \u003cthis-command\u003e' output.","type":"string"},"positional_args":{"description":"positional_args specifies positional arguments for the command.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.PositionalArgDescriptor"}},"rpc_method":{"description":"rpc_method is short name of the protobuf rpc method that this command is\ngenerated from.","type":"string"},"short":{"description":"short is the short description shown in the 'help' output.","type":"string"},"skip":{"description":"skip specifies whether to skip this rpc method when generating commands.","type":"boolean"},"suggest_for":{"description":"suggest_for is an array of command names for which this command will be suggested -\nsimilar to aliases but only suggests.","type":"array","items":{"type":"string"}},"use":{"description":"use is the one-line usage method. It also allows specifying an alternate\nname for the command as the first word of the usage text.\n\nBy default the name of an rpc command is the kebab-case short name of the\nrpc method.","type":"string"},"version":{"description":"version defines the version for this command. If this value is non-empty and the command does not\ndefine a \"version\" flag, a \"version\" boolean flag will be added to the command and, if specified,\nwill print content of the \"Version\" variable. A shorthand \"v\" flag will also be added if the\ncommand does not define one.","type":"string"}}},"cosmos.autocli.v1.ServiceCommandDescriptor":{"description":"ServiceCommandDescriptor describes a CLI command based on a protobuf service.","type":"object","properties":{"rpc_command_options":{"description":"rpc_command_options are options for commands generated from rpc methods.\nIf no options are specified for a given rpc method on the service, a\ncommand will be generated for that method with the default options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.RpcCommandOptions"}},"service":{"description":"service is the fully qualified name of the protobuf service to build\nthe command from. It can be left empty if sub_commands are used instead\nwhich may be the case if a module provides multiple tx and/or query services.","type":"string"},"sub_commands":{"description":"sub_commands is a map of optional sub-commands for this command based on\ndifferent protobuf services. The map key is used as the name of the\nsub-command.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}}},"cosmos.bank.v1beta1.DenomOwner":{"description":"DenomOwner defines structure representing an account that owns or holds a\nparticular denominated token. It contains the account address and account\nbalance of the denominated token.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address":{"description":"address defines the address that owns a particular denomination.","type":"string"},"balance":{"description":"balance is the balance of the denominated coin for an account.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.DenomUnit":{"description":"DenomUnit represents a struct that describes a given\ndenomination unit of the basic token.","type":"object","properties":{"aliases":{"type":"array","title":"aliases is a list of string aliases for the given denom","items":{"type":"string"}},"denom":{"description":"denom represents the string name of the given denom unit (e.g uatom).","type":"string"},"exponent":{"description":"exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom).","type":"integer","format":"int64"}}},"cosmos.bank.v1beta1.Input":{"description":"Input models transaction input.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Metadata":{"description":"Metadata represents a struct that describes\na basic token.","type":"object","properties":{"base":{"description":"base represents the base denom (should be the DenomUnit with exponent = 0).","type":"string"},"denom_units":{"type":"array","title":"denom_units represents the list of DenomUnit's for a given coin","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomUnit"}},"description":{"type":"string"},"display":{"description":"display indicates the suggested denom that should be\ndisplayed in clients.","type":"string"},"name":{"description":"Since: cosmos-sdk 0.43","type":"string","title":"name defines the name of the token (eg: Cosmos Atom)"},"symbol":{"description":"symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.\n\nSince: cosmos-sdk 0.43","type":"string"},"uri":{"description":"URI to a document (on or off-chain) that contains additional information. Optional.\n\nSince: cosmos-sdk 0.46","type":"string"},"uri_hash":{"description":"URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.\n\nSince: cosmos-sdk 0.46","type":"string"}}},"cosmos.bank.v1beta1.MsgMultiSend":{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","type":"object","properties":{"inputs":{"description":"Inputs, despite being `repeated`, only allows one sender input. This is\nchecked in MsgMultiSend's ValidateBasic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Input"}},"outputs":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Output"}}}},"cosmos.bank.v1beta1.MsgMultiSendResponse":{"description":"MsgMultiSendResponse defines the Msg/MultiSend response type.","type":"object"},"cosmos.bank.v1beta1.MsgSend":{"description":"MsgSend represents a message to send coins from one account to another.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.bank.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.bank.v1beta1.MsgSetSendEnabled":{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module.","type":"string"},"send_enabled":{"description":"send_enabled is the list of entries to add or update.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}},"use_default_for":{"description":"use_default_for is a list of denoms that should use the params.default_send_enabled value.\nDenoms listed here will have their SendEnabled entries deleted.\nIf a denom is included that doesn't have a SendEnabled entry,\nit will be ignored.","type":"array","items":{"type":"string"}}}},"cosmos.bank.v1beta1.MsgSetSendEnabledResponse":{"description":"MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.bank.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/bank parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.bank.v1beta1.Output":{"description":"Output models transaction outputs.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Params":{"description":"Params defines the parameters for the bank module.","type":"object","properties":{"default_send_enabled":{"type":"boolean"},"send_enabled":{"description":"Deprecated: Use of SendEnabled in params is deprecated.\nFor genesis, use the newly added send_enabled field in the genesis object.\nStorage, lookup, and manipulation of this information is now in the keeper.\n\nAs of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QueryAllBalancesResponse":{"description":"QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod.","type":"object","properties":{"balances":{"description":"balances is the balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryBalanceResponse":{"description":"QueryBalanceResponse is the response type for the Query/Balance RPC method.","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse":{"description":"QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC\nmethod. Identical with QueryDenomMetadataResponse but receives denom as query string in request.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomMetadataResponse":{"description":"QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC\nmethod.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse":{"description":"QueryDenomOwnersByQueryResponse defines the RPC response of a DenomOwnersByQuery RPC query.\n\nSince: cosmos-sdk 0.50.3","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomOwnersResponse":{"description":"QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomsMetadataResponse":{"description":"QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC\nmethod.","type":"object","properties":{"metadatas":{"description":"metadata provides the client information for all the registered tokens.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/bank parameters.","type":"object","properties":{"params":{"description":"params provides the parameters of the bank module.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.QuerySendEnabledResponse":{"description":"QuerySendEnabledResponse defines the RPC response of a SendEnable query.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response. This field is only\npopulated if the denoms field in the request is empty.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"send_enabled":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse":{"description":"QuerySpendableBalanceByDenomResponse defines the gRPC response structure for\nquerying an account's spendable balance for a specific denom.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QuerySpendableBalancesResponse":{"description":"QuerySpendableBalancesResponse defines the gRPC response structure for querying\nan account's spendable balances.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"balances":{"description":"balances is the spendable balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QuerySupplyOfResponse":{"description":"QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method.","type":"object","properties":{"amount":{"description":"amount is the supply of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryTotalSupplyResponse":{"type":"object","title":"QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC\nmethod","properties":{"pagination":{"description":"pagination defines the pagination in the response.\n\nSince: cosmos-sdk 0.43","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"supply":{"type":"array","title":"supply is the supply of the coins","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.SendEnabled":{"description":"SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable).","type":"object","properties":{"denom":{"type":"string"},"enabled":{"type":"boolean"}}},"cosmos.base.abci.v1beta1.ABCIMessageLog":{"description":"ABCIMessageLog defines a structure containing an indexed tx ABCI message log.","type":"object","properties":{"events":{"description":"Events contains a slice of Event objects that were emitted during some\nexecution.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.StringEvent"}},"log":{"type":"string"},"msg_index":{"type":"integer","format":"int64"}}},"cosmos.base.abci.v1beta1.Attribute":{"description":"Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes.","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"cosmos.base.abci.v1beta1.GasInfo":{"description":"GasInfo defines tx execution gas context.","type":"object","properties":{"gas_used":{"description":"GasUsed is the amount of gas actually consumed.","type":"string","format":"uint64"},"gas_wanted":{"description":"GasWanted is the maximum units of work we allow this tx to perform.","type":"string","format":"uint64"}}},"cosmos.base.abci.v1beta1.Result":{"description":"Result is the union of ResponseFormat and ResponseCheckTx.","type":"object","properties":{"data":{"description":"Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL.","type":"string","format":"byte"},"events":{"description":"Events contains a slice of Event objects that were emitted during message\nor handler execution.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"log":{"description":"Log contains the log information from message or handler execution.","type":"string"},"msg_responses":{"description":"msg_responses contains the Msg handler responses type packed in Anys.\n\nSince: cosmos-sdk 0.46","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.base.abci.v1beta1.StringEvent":{"description":"StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.Attribute"}},"type":{"type":"string"}}},"cosmos.base.abci.v1beta1.TxResponse":{"description":"TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded.","type":"object","properties":{"code":{"description":"Response code.","type":"integer","format":"int64"},"codespace":{"type":"string","title":"Namespace for the Code"},"data":{"description":"Result bytes, if any.","type":"string"},"events":{"description":"Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"description":"Amount of gas consumed by transaction.","type":"string","format":"int64"},"gas_wanted":{"description":"Amount of gas requested for transaction.","type":"string","format":"int64"},"height":{"type":"string","format":"int64","title":"The block height"},"info":{"description":"Additional information. May be non-deterministic.","type":"string"},"logs":{"description":"The output of the application's logger (typed). May be non-deterministic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.ABCIMessageLog"}},"raw_log":{"description":"The output of the application's logger (raw string). May be\nnon-deterministic.","type":"string"},"timestamp":{"description":"Time of the previous block. For heights \u003e 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time.","type":"string"},"tx":{"description":"The request transaction bytes.","$ref":"#/definitions/google.protobuf.Any"},"txhash":{"description":"The transaction hash.","type":"string"}}},"cosmos.base.node.v1beta1.ConfigResponse":{"description":"ConfigResponse defines the response structure for the Config gRPC query.","type":"object","properties":{"halt_height":{"type":"string","format":"uint64"},"minimum_gas_price":{"type":"string"},"pruning_interval":{"type":"string"},"pruning_keep_recent":{"type":"string"}}},"cosmos.base.node.v1beta1.StatusResponse":{"description":"StateResponse defines the response structure for the status of a node.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"app hash of the current block"},"earliest_store_height":{"type":"string","format":"uint64","title":"earliest block height available in the store"},"height":{"type":"string","format":"uint64","title":"current block height"},"timestamp":{"type":"string","format":"date-time","title":"block height timestamp"},"validator_hash":{"type":"string","format":"byte","title":"validator hash provided by the consensus header"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.reflection.v1beta1.ListAllInterfacesResponse":{"description":"ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC.","type":"object","properties":{"interface_names":{"description":"interface_names is an array of all the registered interfaces.","type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v1beta1.ListImplementationsResponse":{"description":"ListImplementationsResponse is the response type of the ListImplementations\nRPC.","type":"object","properties":{"implementation_message_names":{"type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v2alpha1.AuthnDescriptor":{"type":"object","title":"AuthnDescriptor provides information on how to sign transactions without relying\non the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures","properties":{"sign_modes":{"type":"array","title":"sign_modes defines the supported signature algorithm","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.SigningModeDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ChainDescriptor":{"type":"object","title":"ChainDescriptor describes chain information of the application","properties":{"id":{"type":"string","title":"id is the chain id"}}},"cosmos.base.reflection.v2alpha1.CodecDescriptor":{"type":"object","title":"CodecDescriptor describes the registered interfaces and provides metadata information on the types","properties":{"interfaces":{"type":"array","title":"interfaces is a list of the registerted interfaces descriptors","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ConfigurationDescriptor":{"type":"object","title":"ConfigurationDescriptor contains metadata information on the sdk.Config","properties":{"bech32_account_address_prefix":{"type":"string","title":"bech32_account_address_prefix is the account address prefix"}}},"cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse":{"type":"object","title":"GetAuthnDescriptorResponse is the response returned by the GetAuthnDescriptor RPC","properties":{"authn":{"title":"authn describes how to authenticate to the application when sending transactions","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.AuthnDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse":{"type":"object","title":"GetChainDescriptorResponse is the response returned by the GetChainDescriptor RPC","properties":{"chain":{"title":"chain describes application chain information","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ChainDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse":{"type":"object","title":"GetCodecDescriptorResponse is the response returned by the GetCodecDescriptor RPC","properties":{"codec":{"title":"codec describes the application codec such as registered interfaces and implementations","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.CodecDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse":{"type":"object","title":"GetConfigurationDescriptorResponse is the response returned by the GetConfigurationDescriptor RPC","properties":{"config":{"title":"config describes the application's sdk.Config","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ConfigurationDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse":{"type":"object","title":"GetQueryServicesDescriptorResponse is the response returned by the GetQueryServicesDescriptor RPC","properties":{"queries":{"title":"queries provides information on the available queryable services","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServicesDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse":{"type":"object","title":"GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC","properties":{"tx":{"title":"tx provides information on msgs that can be forwarded to the application\nalongside the accepted transaction protobuf type","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.TxDescriptor"}}},"cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor":{"type":"object","title":"InterfaceAcceptingMessageDescriptor describes a protobuf message which contains\nan interface represented as a google.protobuf.Any","properties":{"field_descriptor_names":{"type":"array","title":"field_descriptor_names is a list of the protobuf name (not fullname) of the field\nwhich contains the interface as google.protobuf.Any (the interface is the same, but\nit can be in multiple fields of the same proto message)","items":{"type":"string"}},"fullname":{"type":"string","title":"fullname is the protobuf fullname of the type containing the interface"}}},"cosmos.base.reflection.v2alpha1.InterfaceDescriptor":{"type":"object","title":"InterfaceDescriptor describes the implementation of an interface","properties":{"fullname":{"type":"string","title":"fullname is the name of the interface"},"interface_accepting_messages":{"type":"array","title":"interface_accepting_messages contains information regarding the proto messages which contain the interface as\ngoogle.protobuf.Any field","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor"}},"interface_implementers":{"type":"array","title":"interface_implementers is a list of the descriptors of the interface implementers","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor"}}}},"cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor":{"type":"object","title":"InterfaceImplementerDescriptor describes an interface implementer","properties":{"fullname":{"type":"string","title":"fullname is the protobuf queryable name of the interface implementer"},"type_url":{"type":"string","title":"type_url defines the type URL used when marshalling the type as any\nthis is required so we can provide type safe google.protobuf.Any marshalling and\nunmarshalling, making sure that we don't accept just 'any' type\nin our interface fields"}}},"cosmos.base.reflection.v2alpha1.MsgDescriptor":{"type":"object","title":"MsgDescriptor describes a cosmos-sdk message that can be delivered with a transaction","properties":{"msg_type_url":{"description":"msg_type_url contains the TypeURL of a sdk.Msg.","type":"string"}}},"cosmos.base.reflection.v2alpha1.QueryMethodDescriptor":{"type":"object","title":"QueryMethodDescriptor describes a queryable method of a query service\nno other info is provided beside method name and tendermint queryable path\nbecause it would be redundant with the grpc reflection service","properties":{"full_query_path":{"type":"string","title":"full_query_path is the path that can be used to query\nthis method via tendermint abci.Query"},"name":{"type":"string","title":"name is the protobuf name (not fullname) of the method"}}},"cosmos.base.reflection.v2alpha1.QueryServiceDescriptor":{"type":"object","title":"QueryServiceDescriptor describes a cosmos-sdk queryable service","properties":{"fullname":{"type":"string","title":"fullname is the protobuf fullname of the service descriptor"},"is_module":{"type":"boolean","title":"is_module describes if this service is actually exposed by an application's module"},"methods":{"type":"array","title":"methods provides a list of query service methods","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryMethodDescriptor"}}}},"cosmos.base.reflection.v2alpha1.QueryServicesDescriptor":{"type":"object","title":"QueryServicesDescriptor contains the list of cosmos-sdk queriable services","properties":{"query_services":{"type":"array","title":"query_services is a list of cosmos-sdk QueryServiceDescriptor","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServiceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.SigningModeDescriptor":{"type":"object","title":"SigningModeDescriptor provides information on a signing flow of the application\nNOTE(fdymylja): here we could go as far as providing an entire flow on how\nto sign a message given a SigningModeDescriptor, but it's better to think about\nthis another time","properties":{"authn_info_provider_method_fullname":{"type":"string","title":"authn_info_provider_method_fullname defines the fullname of the method to call to get\nthe metadata required to authenticate using the provided sign_modes"},"name":{"type":"string","title":"name defines the unique name of the signing mode"},"number":{"type":"integer","format":"int32","title":"number is the unique int32 identifier for the sign_mode enum"}}},"cosmos.base.reflection.v2alpha1.TxDescriptor":{"type":"object","title":"TxDescriptor describes the accepted transaction type","properties":{"fullname":{"description":"fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type)\nit is not meant to support polymorphism of transaction types, it is supposed to be used by\nreflection clients to understand if they can handle a specific transaction type in an application.","type":"string"},"msgs":{"type":"array","title":"msgs lists the accepted application messages (sdk.Msg)","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.MsgDescriptor"}}}},"cosmos.base.tendermint.v1beta1.ABCIQueryResponse":{"description":"ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint.","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"type":"string","title":"nondeterministic"},"proof_ops":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOps"},"value":{"type":"string","format":"byte"}}},"cosmos.base.tendermint.v1beta1.Block":{"description":"Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string.","type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse":{"description":"GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"title":"Since: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestBlockResponse":{"description":"GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"title":"Since: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse":{"description":"GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.GetNodeInfoResponse":{"description":"GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method.","type":"object","properties":{"application_version":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.VersionInfo"},"default_node_info":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfo"}}},"cosmos.base.tendermint.v1beta1.GetSyncingResponse":{"description":"GetSyncingResponse is the response type for the Query/GetSyncing RPC method.","type":"object","properties":{"syncing":{"type":"boolean"}}},"cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse":{"description":"GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.Header":{"description":"Header defines the structure of a Tendermint block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"description":"proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX.\n\noriginal proposer of the block","type":"string"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"cosmos.base.tendermint.v1beta1.Module":{"type":"object","title":"Module is the type for VersionInfo","properties":{"path":{"type":"string","title":"module path"},"sum":{"type":"string","title":"checksum"},"version":{"type":"string","title":"module version"}}},"cosmos.base.tendermint.v1beta1.ProofOp":{"description":"ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint.","type":"object","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"cosmos.base.tendermint.v1beta1.ProofOps":{"description":"ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint.","type":"object","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOp"}}}},"cosmos.base.tendermint.v1beta1.Validator":{"description":"Validator is the type for the validator-set.","type":"object","properties":{"address":{"type":"string"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"voting_power":{"type":"string","format":"int64"}}},"cosmos.base.tendermint.v1beta1.VersionInfo":{"description":"VersionInfo is the type for the GetNodeInfoResponse message.","type":"object","properties":{"app_name":{"type":"string"},"build_deps":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Module"}},"build_tags":{"type":"string"},"cosmos_sdk_version":{"type":"string","title":"Since: cosmos-sdk 0.43"},"git_commit":{"type":"string"},"go_version":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.base.v1beta1.DecCoin":{"description":"DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.circuit.v1.AccountResponse":{"description":"AccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"permission":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.AccountsResponse":{"description":"AccountsResponse is the response type for the Query/Accounts RPC method.","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.circuit.v1.GenesisAccountPermissions"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.circuit.v1.DisabledListResponse":{"description":"DisabledListResponse is the response type for the Query/DisabledList RPC method.","type":"object","properties":{"disabled_list":{"type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.GenesisAccountPermissions":{"type":"object","title":"GenesisAccountPermissions is the account permissions for the circuit breaker in genesis","properties":{"address":{"type":"string"},"permissions":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreaker":{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","type":"object","properties":{"grantee":{"description":"grantee is the account authorized with the provided permissions.","type":"string"},"granter":{"description":"granter is the granter of the circuit breaker permissions and must have\nLEVEL_SUPER_ADMIN.","type":"string"},"permissions":{"description":"permissions are the circuit breaker permissions that the grantee receives.\nThese will overwrite any existing permissions. LEVEL_NONE_UNSPECIFIED can\nbe specified to revoke all permissions.","$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse":{"description":"MsgAuthorizeCircuitBreakerResponse defines the Msg/AuthorizeCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgResetCircuitBreaker":{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip or reset the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of Msg type URLs to resume processing. If\nit is left empty all Msg processing for type URLs that the account is\nauthorized to trip will resume.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgResetCircuitBreakerResponse":{"description":"MsgResetCircuitBreakerResponse defines the Msg/ResetCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgTripCircuitBreaker":{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of type URLs to immediately stop processing.\nIF IT IS LEFT EMPTY, ALL MSG PROCESSING WILL STOP IMMEDIATELY.\nThis value is validated against the authority's permissions and if the\nauthority does not have permissions to trip the specified msg type URLs\n(or all URLs), the operation will fail.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgTripCircuitBreakerResponse":{"description":"MsgTripCircuitBreakerResponse defines the Msg/TripCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.Permissions":{"description":"Permissions are the permissions that an account has to trip\nor reset the circuit breaker.","type":"object","properties":{"level":{"description":"level is the level of permissions granted to this account.","$ref":"#/definitions/cosmos.circuit.v1.Permissions.Level"},"limit_type_urls":{"description":"limit_type_urls is used with LEVEL_SOME_MSGS to limit the lists of Msg type\nURLs that the account can trip. It is an error to use limit_type_urls with\na level other than LEVEL_SOME_MSGS.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.Permissions.Level":{"description":"Level is the permission level.\n\n - LEVEL_NONE_UNSPECIFIED: LEVEL_NONE_UNSPECIFIED indicates that the account will have no circuit\nbreaker permissions.\n - LEVEL_SOME_MSGS: LEVEL_SOME_MSGS indicates that the account will have permission to\ntrip or reset the circuit breaker for some Msg type URLs. If this level\nis chosen, a non-empty list of Msg type URLs must be provided in\nlimit_type_urls.\n - LEVEL_ALL_MSGS: LEVEL_ALL_MSGS indicates that the account can trip or reset the circuit\nbreaker for Msg's of all type URLs.\n - LEVEL_SUPER_ADMIN: LEVEL_SUPER_ADMIN indicates that the account can take all circuit breaker\nactions and can grant permissions to other accounts.","type":"string","default":"LEVEL_NONE_UNSPECIFIED","enum":["LEVEL_NONE_UNSPECIFIED","LEVEL_SOME_MSGS","LEVEL_ALL_MSGS","LEVEL_SUPER_ADMIN"]},"cosmos.consensus.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"abci":{"title":"Since: cosmos-sdk 0.50","$ref":"#/definitions/tendermint.types.ABCIParams"},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"block":{"description":"params defines the x/consensus parameters to update.\nVersionsParams is not included in this Msg because it is tracked\nsepararately in x/upgrade.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"}}},"cosmos.consensus.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.consensus.v1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/consensus parameters.","type":"object","properties":{"params":{"description":"params are the tendermint consensus params stored in the consensus module.\nPlease note that `params.version` is not populated in this response, it is\ntracked separately in the x/upgrade module.","$ref":"#/definitions/tendermint.types.ConsensusParams"}}},"cosmos.crisis.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"constant_fee":{"description":"constant_fee defines the x/crisis parameter.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.crisis.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.crisis.v1beta1.MsgVerifyInvariant":{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","type":"object","properties":{"invariant_module_name":{"description":"name of the invariant module.","type":"string"},"invariant_route":{"description":"invariant_route is the msg's invariant route.","type":"string"},"sender":{"description":"sender is the account address of private key to send coins to fee collector account.","type":"string"}}},"cosmos.crisis.v1beta1.MsgVerifyInvariantResponse":{"description":"MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type.","type":"object"},"cosmos.crypto.multisig.v1beta1.CompactBitArray":{"description":"CompactBitArray is an implementation of a space efficient bit array.\nThis is used to ensure that the encoded data takes up a minimal amount of\nspace after proto encoding.\nThis is not thread safe, and is not intended for concurrent usage.","type":"object","properties":{"elems":{"type":"string","format":"byte"},"extra_bits_stored":{"type":"integer","format":"int64"}}},"cosmos.distribution.v1beta1.DelegationDelegatorReward":{"description":"DelegationDelegatorReward represents the properties\nof a delegator's delegation reward.","type":"object","properties":{"reward":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpend":{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"recipient":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse":{"description":"MsgCommunityPoolSpendResponse defines the response to executing a\nMsgCommunityPoolSpend message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool":{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse":{"description":"MsgDepositValidatorRewardsPoolResponse defines the response to executing a\nMsgDepositValidatorRewardsPool message.\n\nSince: cosmos-sdk 0.50","type":"object"},"cosmos.distribution.v1beta1.MsgFundCommunityPool":{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse":{"description":"MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.","type":"object"},"cosmos.distribution.v1beta1.MsgSetWithdrawAddress":{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","type":"object","properties":{"delegator_address":{"type":"string"},"withdraw_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse":{"description":"MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response\ntype.","type":"object"},"cosmos.distribution.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/distribution parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward":{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","type":"object","properties":{"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse":{"description":"MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward\nresponse type.","type":"object","properties":{"amount":{"type":"array","title":"Since: cosmos-sdk 0.46","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission":{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","type":"object","properties":{"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse":{"description":"MsgWithdrawValidatorCommissionResponse defines the\nMsg/WithdrawValidatorCommission response type.","type":"object","properties":{"amount":{"type":"array","title":"Since: cosmos-sdk 0.46","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.Params":{"description":"Params defines the set of params for the distribution module.","type":"object","properties":{"base_proposer_reward":{"description":"Deprecated: The base_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"bonus_proposer_reward":{"description":"Deprecated: The bonus_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"community_tax":{"type":"string"},"withdraw_addr_enabled":{"type":"boolean"}}},"cosmos.distribution.v1beta1.QueryCommunityPoolResponse":{"description":"QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method.","type":"object","properties":{"pool":{"description":"pool defines community pool's coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationRewardsResponse":{"description":"QueryDelegationRewardsResponse is the response type for the\nQuery/DelegationRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines the rewards accrued by a delegation.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse":{"description":"QueryDelegationTotalRewardsResponse is the response type for the\nQuery/DelegationTotalRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines all the rewards accrued by a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.DelegationDelegatorReward"}},"total":{"description":"total defines the sum of all the rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is the response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"validators":{"description":"validators defines the validators a delegator is delegating for.","type":"array","items":{"type":"string"}}}},"cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse":{"description":"QueryDelegatorWithdrawAddressResponse is the response type for the\nQuery/DelegatorWithdrawAddress RPC method.","type":"object","properties":{"withdraw_address":{"description":"withdraw_address defines the delegator address to query for.","type":"string"}}},"cosmos.distribution.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.QueryValidatorCommissionResponse":{"type":"object","title":"QueryValidatorCommissionResponse is the response type for the\nQuery/ValidatorCommission RPC method","properties":{"commission":{"description":"commission defines the commission the validator received.","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission"}}},"cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse":{"description":"QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method.","type":"object","properties":{"commission":{"description":"commission defines the commission the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"operator_address":{"description":"operator_address defines the validator operator address.","type":"string"},"self_bond_rewards":{"description":"self_bond_rewards defines the self delegations rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse":{"description":"QueryValidatorOutstandingRewardsResponse is the response type for the\nQuery/ValidatorOutstandingRewards RPC method.","type":"object","properties":{"rewards":{"$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorOutstandingRewards"}}},"cosmos.distribution.v1beta1.QueryValidatorSlashesResponse":{"description":"QueryValidatorSlashesResponse is the response type for the\nQuery/ValidatorSlashes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"slashes":{"description":"slashes defines the slashes the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorSlashEvent"}}}},"cosmos.distribution.v1beta1.ValidatorAccumulatedCommission":{"description":"ValidatorAccumulatedCommission represents accumulated commission\nfor a validator kept as a running counter, can be withdrawn at any time.","type":"object","properties":{"commission":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorOutstandingRewards":{"description":"ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards\nfor a validator inexpensive to track, allows simple sanity checks.","type":"object","properties":{"rewards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorSlashEvent":{"description":"ValidatorSlashEvent represents a validator slash event.\nHeight is implicit within the store key.\nThis is needed to calculate appropriate amount of staking tokens\nfor delegations which are withdrawn after a slash has occurred.","type":"object","properties":{"fraction":{"type":"string"},"validator_period":{"type":"string","format":"uint64"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidence":{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","type":"object","properties":{"evidence":{"description":"evidence defines the evidence of misbehavior.","$ref":"#/definitions/google.protobuf.Any"},"submitter":{"description":"submitter is the signer account address of evidence.","type":"string"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse":{"description":"MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.","type":"object","properties":{"hash":{"description":"hash defines the hash of the evidence.","type":"string","format":"byte"}}},"cosmos.evidence.v1beta1.QueryAllEvidenceResponse":{"description":"QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod.","type":"object","properties":{"evidence":{"description":"evidence returns all evidences.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.evidence.v1beta1.QueryEvidenceResponse":{"description":"QueryEvidenceResponse is the response type for the Query/Evidence RPC method.","type":"object","properties":{"evidence":{"description":"evidence returns the requested evidence.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.feegrant.v1beta1.Grant":{"type":"object","title":"Grant is stored in the KVStore to record a grant with full context","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowance":{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","type":"object","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse":{"description":"MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.MsgPruneAllowances":{"description":"MsgPruneAllowances prunes expired fee allowances.\n\nSince cosmos-sdk 0.50","type":"object","properties":{"pruner":{"description":"pruner is the address of the user pruning expired allowances.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse":{"description":"MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse response type.\n\nSince cosmos-sdk 0.50","type":"object"},"cosmos.feegrant.v1beta1.MsgRevokeAllowance":{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","type":"object","properties":{"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse":{"description":"MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.QueryAllowanceResponse":{"description":"QueryAllowanceResponse is the response type for the Query/Allowance RPC method.","type":"object","properties":{"allowance":{"description":"allowance is a allowance granted for grantee by granter.","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}}},"cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse":{"description":"QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"allowances":{"description":"allowances that have been issued by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.feegrant.v1beta1.QueryAllowancesResponse":{"description":"QueryAllowancesResponse is the response type for the Query/Allowances RPC method.","type":"object","properties":{"allowances":{"description":"allowances are allowance's granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1.MsgCancelProposal":{"description":"MsgCancelProposal is the Msg/CancelProposal request type.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1.MsgCancelProposalResponse":{"description":"MsgCancelProposalResponse defines the response structure for executing a\nMsgCancelProposal message.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"canceled_height":{"description":"canceled_height defines the block height at which the proposal is canceled.","type":"string","format":"uint64"},"canceled_time":{"description":"canceled_time is the time when proposal is canceled.","type":"string","format":"date-time"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1.MsgExecLegacyContent":{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","type":"object","properties":{"authority":{"description":"authority must be the gov module address.","type":"string"},"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.gov.v1.MsgExecLegacyContentResponse":{"description":"MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type.","type":"object"},"cosmos.gov.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"expedited":{"description":"Since: cosmos-sdk 0.50","type":"boolean","title":"expedited defines if the proposal is expedited or not"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"messages":{"description":"messages are the arbitrary messages to be executed if proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is the summary of the proposal"},"title":{"description":"title is the title of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"}}},"cosmos.gov.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/gov parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.gov.v1.Params"}}},"cosmos.gov.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.gov.v1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the Vote.","type":"string"},"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the VoteWeighted.","type":"string"},"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.","type":"object"},"cosmos.gov.v1.Params":{"description":"Params defines the parameters for the x/gov module.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"burn_proposal_deposit_prevote":{"type":"boolean","title":"burn deposits if the proposal does not enter voting period"},"burn_vote_quorum":{"type":"boolean","title":"burn deposits if a proposal does not meet quorum"},"burn_vote_veto":{"type":"boolean","title":"burn deposits if quorum with vote type no_veto is met"},"expedited_min_deposit":{"description":"Minimum expedited deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"expedited_threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.\n\nSince: cosmos-sdk 0.50","type":"string"},"expedited_voting_period":{"description":"Duration of the voting period of an expedited proposal.\n\nSince: cosmos-sdk 0.50","type":"string"},"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"min_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.\nDefault value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be\nrequired.\n\nSince: cosmos-sdk 0.50","type":"string"},"min_initial_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value that must be paid at proposal submission.","type":"string"},"proposal_cancel_dest":{"description":"The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.\nIf empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.\n\nSince: cosmos-sdk 0.50","type":"string"},"proposal_cancel_ratio":{"description":"The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.\n\nSince: cosmos-sdk 0.50","type":"string"},"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\n considered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3.","type":"string"},"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"expedited":{"description":"Since: cosmos-sdk 0.50","type":"boolean","title":"expedited defines if the proposal is expedited"},"failed_reason":{"description":"Since: cosmos-sdk 0.50","type":"string","title":"failed_reason defines the reason why the proposal failed"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"},"id":{"description":"id defines the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages are the arbitrary messages to be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3"},"proposer":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"proposer is the address of the proposal sumbitter"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is a short summary of the proposal"},"title":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"title is the title of the proposal"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1.QueryConstitutionResponse":{"type":"object","title":"QueryConstitutionResponse is the response type for the Query/Constitution RPC method","properties":{"constitution":{"type":"string"}}},"cosmos.gov.v1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1.Deposit"}}},"cosmos.gov.v1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1.DepositParams"},"params":{"description":"params defines all the paramaters of x/gov module.\n\nSince: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.gov.v1.Params"},"tally_params":{"description":"Deprecated: Prefer to use `params` instead.\ntally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1.TallyParams"},"voting_params":{"description":"Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1.VotingParams"}}},"cosmos.gov.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"description":"proposal is the requested governance proposal.","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}},"cosmos.gov.v1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}}},"cosmos.gov.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"}}},"cosmos.gov.v1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1.Vote"}}},"cosmos.gov.v1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Vote"}}}},"cosmos.gov.v1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string"}}},"cosmos.gov.v1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the number of abstain votes on a proposal.","type":"string"},"no_count":{"description":"no_count is the number of no votes on a proposal.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the number of no with veto votes on a proposal.","type":"string"},"yes_count":{"description":"yes_count is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5"},"options":{"description":"options is the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.gov.v1beta1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1beta1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1beta1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1beta1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1beta1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.\n\nSince: cosmos-sdk 0.43","type":"object"},"cosmos.gov.v1beta1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1beta1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1beta1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1beta1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}}},"cosmos.gov.v1beta1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"deposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.DepositParams"},"tally_params":{"description":"tally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyParams"},"voting_params":{"description":"voting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1beta1.VotingParams"}}},"cosmos.gov.v1beta1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}},"cosmos.gov.v1beta1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}}},"cosmos.gov.v1beta1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"}}},"cosmos.gov.v1beta1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}},"cosmos.gov.v1beta1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}}},"cosmos.gov.v1beta1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string","format":"byte"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string","format":"byte"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string","format":"byte"}}},"cosmos.gov.v1beta1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain":{"description":"abstain is the number of abstain votes on a proposal.","type":"string"},"no":{"description":"no is the number of no votes on a proposal.","type":"string"},"no_with_veto":{"description":"no_with_veto is the number of no with veto votes on a proposal.","type":"string"},"yes":{"description":"yes is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1beta1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"option":{"description":"Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"options":{"description":"options is the weighted vote options.\n\nSince: cosmos-sdk 0.43","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1beta1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1beta1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1beta1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.group.v1.Exec":{"description":"Exec defines modes of execution of a proposal on creation or on new vote.\n\n - EXEC_UNSPECIFIED: An empty value means that there should be a separate\nMsgExec request for the proposal to execute.\n - EXEC_TRY: Try to execute the proposal immediately.\nIf the proposal is not allowed per the DecisionPolicy,\nthe proposal will still be open and could\nbe executed at a later point.","type":"string","default":"EXEC_UNSPECIFIED","enum":["EXEC_UNSPECIFIED","EXEC_TRY"]},"cosmos.group.v1.GroupInfo":{"description":"GroupInfo represents the high-level on-chain information for a group.","type":"object","properties":{"admin":{"description":"admin is the account address of the group's admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group was created.","type":"string","format":"date-time"},"id":{"description":"id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata to attached to the group.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#group-1"},"total_weight":{"description":"total_weight is the sum of the group members' weights.","type":"string"},"version":{"type":"string","format":"uint64","title":"version is used to track changes to a group's membership structure that\nwould break existing proposals. Whenever any members weight is changed,\nor any member is added or removed this version is incremented and will\ncause proposals based on older versions of this group to fail"}}},"cosmos.group.v1.GroupMember":{"description":"GroupMember represents the relationship between a group and a member.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member":{"description":"member is the member data.","$ref":"#/definitions/cosmos.group.v1.Member"}}},"cosmos.group.v1.GroupPolicyInfo":{"description":"GroupPolicyInfo represents the high-level on-chain information for a group policy.","type":"object","properties":{"address":{"description":"address is the account address of group policy.","type":"string"},"admin":{"description":"admin is the account address of the group admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group policy was created.","type":"string","format":"date-time"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the group policy.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#decision-policy-1"},"version":{"description":"version is used to track changes to a group's GroupPolicyInfo structure that\nwould create a different result on a running proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.Member":{"description":"Member represents a group member with an account address,\nnon-zero weight, metadata and added_at timestamp.","type":"object","properties":{"added_at":{"description":"added_at is a timestamp specifying when a member was added.","type":"string","format":"date-time"},"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MemberRequest":{"description":"MemberRequest represents a group member to be used in Msg server requests.\nContrary to `Member`, it doesn't have any `added_at` field\nsince this field cannot be set as part of requests.","type":"object","properties":{"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MsgCreateGroup":{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}},"metadata":{"description":"metadata is any arbitrary metadata to attached to the group.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicy":{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is any arbitrary metadata attached to the group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicyResponse":{"description":"MsgCreateGroupPolicyResponse is the Msg/CreateGroupPolicy response type.","type":"object","properties":{"address":{"description":"address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupResponse":{"description":"MsgCreateGroupResponse is the Msg/CreateGroup response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgCreateGroupWithPolicy":{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group and group policy admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_metadata":{"description":"group_metadata is any arbitrary metadata attached to the group.","type":"string"},"group_policy_as_admin":{"description":"group_policy_as_admin is a boolean field, if set to true, the group policy account address will be used as group\nand group policy admin.","type":"boolean"},"group_policy_metadata":{"description":"group_policy_metadata is any arbitrary metadata attached to the group policy.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgCreateGroupWithPolicyResponse":{"description":"MsgCreateGroupWithPolicyResponse is the Msg/CreateGroupWithPolicy response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group with policy.","type":"string","format":"uint64"},"group_policy_address":{"description":"group_policy_address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgExec":{"description":"MsgExec is the Msg/Exec request type.","type":"object","properties":{"executor":{"description":"executor is the account address used to execute the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgExecResponse":{"description":"MsgExecResponse is the Msg/Exec request type.","type":"object","properties":{"result":{"description":"result is the final result of the proposal execution.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"}}},"cosmos.group.v1.MsgLeaveGroup":{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","type":"object","properties":{"address":{"description":"address is the account address of the group member.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgLeaveGroupResponse":{"description":"MsgLeaveGroupResponse is the Msg/LeaveGroup response type.","type":"object"},"cosmos.group.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","type":"object","properties":{"exec":{"description":"exec defines the mode of execution of the proposal,\nwhether it should be executed immediately on creation or not.\nIf so, proposers signatures are considered as Yes votes.","$ref":"#/definitions/cosmos.group.v1.Exec"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposers":{"description":"proposers are the account addresses of the proposers.\nProposers signatures will be counted as yes votes.","type":"array","items":{"type":"string"}},"summary":{"description":"summary is the summary of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"},"title":{"description":"title is the title of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"}}},"cosmos.group.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse is the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgUpdateGroupAdmin":{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the current account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"new_admin":{"description":"new_admin is the group new admin account address.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupAdminResponse":{"description":"MsgUpdateGroupAdminResponse is the Msg/UpdateGroupAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMembers":{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member_updates":{"description":"member_updates is the list of members to update,\nset weight to 0 to remove a member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgUpdateGroupMembersResponse":{"description":"MsgUpdateGroupMembersResponse is the Msg/UpdateGroupMembers response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMetadata":{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is the updated group's metadata.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupMetadataResponse":{"description":"MsgUpdateGroupMetadataResponse is the Msg/UpdateGroupMetadata response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyAdmin":{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of the group policy.","type":"string"},"new_admin":{"description":"new_admin is the new group policy admin.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse":{"description":"MsgUpdateGroupPolicyAdminResponse is the Msg/UpdateGroupPolicyAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy":{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy is the updated group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse":{"description":"MsgUpdateGroupPolicyDecisionPolicyResponse is the Msg/UpdateGroupPolicyDecisionPolicy response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyMetadata":{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"metadata":{"description":"metadata is the group policy metadata to be updated.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse":{"description":"MsgUpdateGroupPolicyMetadataResponse is the Msg/UpdateGroupPolicyMetadata response type.","type":"object"},"cosmos.group.v1.MsgVote":{"description":"MsgVote is the Msg/Vote request type.","type":"object","properties":{"exec":{"description":"exec defines whether the proposal should be executed\nimmediately after voting or not.","$ref":"#/definitions/cosmos.group.v1.Exec"},"metadata":{"description":"metadata is any arbitrary metadata attached to the vote.","type":"string"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter account address.","type":"string"}}},"cosmos.group.v1.MsgVoteResponse":{"description":"MsgVoteResponse is the Msg/Vote response type.","type":"object"},"cosmos.group.v1.MsgWithdrawProposal":{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","type":"object","properties":{"address":{"description":"address is the admin of the group policy or one of the proposer of the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgWithdrawProposalResponse":{"description":"MsgWithdrawProposalResponse is the Msg/WithdrawProposal response type.","type":"object"},"cosmos.group.v1.Proposal":{"description":"Proposal defines a group proposal. Any member of a group can submit a proposal\nfor a group policy to decide upon.\nA proposal consists of a set of `sdk.Msg`s that will be executed if the proposal\npasses as well as some optional metadata associated with the proposal.","type":"object","properties":{"executor_result":{"description":"executor_result is the final result of the proposal execution. Initial value is NotRun.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"},"final_tally_result":{"description":"final_tally_result contains the sums of all weighted votes for this\nproposal for each vote option. It is empty at submission, and only\npopulated after tallying, at voting period end or at proposal execution,\nwhichever happens first.","$ref":"#/definitions/cosmos.group.v1.TallyResult"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"group_policy_version":{"description":"group_policy_version tracks the version of the group policy at proposal submission.\nWhen a decision policy is changed, existing proposals from previous policy\nversions will become invalid with the `ABORTED` status.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"group_version":{"description":"group_version tracks the version of the group at proposal submission.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"id":{"description":"id is the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#proposal-4"},"proposers":{"description":"proposers are the account addresses of the proposers.","type":"array","items":{"type":"string"}},"status":{"description":"status represents the high level position in the life cycle of the proposal. Initial value is Submitted.","$ref":"#/definitions/cosmos.group.v1.ProposalStatus"},"submit_time":{"description":"submit_time is a timestamp specifying when a proposal was submitted.","type":"string","format":"date-time"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is a short summary of the proposal"},"title":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"title is the title of the proposal"},"voting_period_end":{"description":"voting_period_end is the timestamp before which voting must be done.\nUnless a successful MsgExec is called before (to execute a proposal whose\ntally is successful before the voting period ends), tallying will be done\nat this point, and the `final_tally_result`and `status` fields will be\naccordingly updated.","type":"string","format":"date-time"}}},"cosmos.group.v1.ProposalExecutorResult":{"description":"ProposalExecutorResult defines types of proposal executor results.\n\n - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: An empty value is not allowed.\n - PROPOSAL_EXECUTOR_RESULT_NOT_RUN: We have not yet run the executor.\n - PROPOSAL_EXECUTOR_RESULT_SUCCESS: The executor was successful and proposed action updated state.\n - PROPOSAL_EXECUTOR_RESULT_FAILURE: The executor returned an error and proposed action didn't update state.","type":"string","default":"PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","enum":["PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","PROPOSAL_EXECUTOR_RESULT_NOT_RUN","PROPOSAL_EXECUTOR_RESULT_SUCCESS","PROPOSAL_EXECUTOR_RESULT_FAILURE"]},"cosmos.group.v1.ProposalStatus":{"description":"ProposalStatus defines proposal statuses.\n\n - PROPOSAL_STATUS_UNSPECIFIED: An empty value is invalid and not allowed.\n - PROPOSAL_STATUS_SUBMITTED: Initial status of a proposal when submitted.\n - PROPOSAL_STATUS_ACCEPTED: Final status of a proposal when the final tally is done and the outcome\npasses the group policy's decision policy.\n - PROPOSAL_STATUS_REJECTED: Final status of a proposal when the final tally is done and the outcome\nis rejected by the group policy's decision policy.\n - PROPOSAL_STATUS_ABORTED: Final status of a proposal when the group policy is modified before the\nfinal tally.\n - PROPOSAL_STATUS_WITHDRAWN: A proposal can be withdrawn before the voting start time by the owner.\nWhen this happens the final status is Withdrawn.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_SUBMITTED","PROPOSAL_STATUS_ACCEPTED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_ABORTED","PROPOSAL_STATUS_WITHDRAWN"]},"cosmos.group.v1.QueryGroupInfoResponse":{"description":"QueryGroupInfoResponse is the Query/GroupInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupInfo of the group.","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}}},"cosmos.group.v1.QueryGroupMembersResponse":{"description":"QueryGroupMembersResponse is the Query/GroupMembersResponse response type.","type":"object","properties":{"members":{"description":"members are the members of the group with given group_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupMember"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByAdminResponse":{"description":"QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info with provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByGroupResponse":{"description":"QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info associated with the provided group.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPolicyInfoResponse":{"description":"QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupPolicyInfo of the group policy.","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}}},"cosmos.group.v1.QueryGroupsByAdminResponse":{"description":"QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsByMemberResponse":{"description":"QueryGroupsByMemberResponse is the Query/GroupsByMember response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided group member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsResponse":{"description":"QueryGroupsResponse is the Query/Groups response type.\n\nSince: cosmos-sdk 0.47.1","type":"object","properties":{"groups":{"description":"`groups` is all the groups present in state.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the Query/Proposal response type.","type":"object","properties":{"proposal":{"description":"proposal is the proposal info.","$ref":"#/definitions/cosmos.group.v1.Proposal"}}},"cosmos.group.v1.QueryProposalsByGroupPolicyResponse":{"description":"QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals are the proposals with given group policy.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Proposal"}}}},"cosmos.group.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the Query/TallyResult response type.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.group.v1.TallyResult"}}},"cosmos.group.v1.QueryVoteByProposalVoterResponse":{"description":"QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter response type.","type":"object","properties":{"vote":{"description":"vote is the vote with given proposal_id and voter.","$ref":"#/definitions/cosmos.group.v1.Vote"}}},"cosmos.group.v1.QueryVotesByProposalResponse":{"description":"QueryVotesByProposalResponse is the Query/VotesByProposal response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes for given proposal_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.QueryVotesByVoterResponse":{"description":"QueryVotesByVoterResponse is the Query/VotesByVoter response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes by given voter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.TallyResult":{"description":"TallyResult represents the sum of weighted votes for each vote option.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the weighted sum of abstainers.","type":"string"},"no_count":{"description":"no_count is the weighted sum of no votes.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the weighted sum of veto.","type":"string"},"yes_count":{"description":"yes_count is the weighted sum of yes votes.","type":"string"}}},"cosmos.group.v1.Vote":{"type":"object","title":"Vote represents a vote for a proposal.string metadata","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#vote-2"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"submit_time":{"description":"submit_time is the timestamp when the vote was submitted.","type":"string","format":"date-time"},"voter":{"description":"voter is the account address of the voter.","type":"string"}}},"cosmos.group.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will\nreturn an error.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.mint.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/mint parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.mint.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.mint.v1beta1.Params":{"description":"Params defines the parameters for the x/mint module.","type":"object","properties":{"blocks_per_year":{"type":"string","format":"uint64","title":"expected blocks per year"},"goal_bonded":{"type":"string","title":"goal of percent bonded atoms"},"inflation_max":{"type":"string","title":"maximum inflation rate"},"inflation_min":{"type":"string","title":"minimum inflation rate"},"inflation_rate_change":{"type":"string","title":"maximum annual change in inflation rate"},"mint_denom":{"type":"string","title":"type of coin to mint"}}},"cosmos.mint.v1beta1.QueryAnnualProvisionsResponse":{"description":"QueryAnnualProvisionsResponse is the response type for the\nQuery/AnnualProvisions RPC method.","type":"object","properties":{"annual_provisions":{"description":"annual_provisions is the current minting annual provisions value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryInflationResponse":{"description":"QueryInflationResponse is the response type for the Query/Inflation RPC\nmethod.","type":"object","properties":{"inflation":{"description":"inflation is the current minting inflation value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.nft.v1beta1.Class":{"description":"Class defines the class of the nft type.","type":"object","properties":{"data":{"title":"data is the app specific metadata of the NFT class. Optional","$ref":"#/definitions/google.protobuf.Any"},"description":{"type":"string","title":"description is a brief description of nft classification. Optional"},"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"},"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"}}},"cosmos.nft.v1beta1.MsgSend":{"description":"MsgSend represents a message to send a nft from one account to another account.","type":"object","properties":{"class_id":{"type":"string","title":"class_id defines the unique identifier of the nft classification, similar to the contract address of ERC721"},"id":{"type":"string","title":"id defines the unique identification of nft"},"receiver":{"type":"string","title":"receiver is the receiver address of nft"},"sender":{"type":"string","title":"sender is the address of the owner of nft"}}},"cosmos.nft.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.nft.v1beta1.NFT":{"description":"NFT defines the NFT.","type":"object","properties":{"class_id":{"type":"string","title":"class_id associated with the NFT, similar to the contract address of ERC721"},"data":{"title":"data is an app specific data of the NFT. Optional","$ref":"#/definitions/google.protobuf.Any"},"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"}}},"cosmos.nft.v1beta1.QueryBalanceResponse":{"type":"object","title":"QueryBalanceResponse is the response type for the Query/Balance RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs of a given class owned by the owner"}}},"cosmos.nft.v1beta1.QueryClassResponse":{"type":"object","title":"QueryClassResponse is the response type for the Query/Class RPC method","properties":{"class":{"description":"class defines the class of the nft type.","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}}},"cosmos.nft.v1beta1.QueryClassesResponse":{"type":"object","title":"QueryClassesResponse is the response type for the Query/Classes RPC method","properties":{"classes":{"description":"class defines the class of the nft type.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryNFTResponse":{"type":"object","title":"QueryNFTResponse is the response type for the Query/NFT RPC method","properties":{"nft":{"title":"owner is the owner address of the nft","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}}},"cosmos.nft.v1beta1.QueryNFTsResponse":{"type":"object","title":"QueryNFTsResponse is the response type for the Query/NFTs RPC methods","properties":{"nfts":{"type":"array","title":"NFT defines the NFT","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryOwnerResponse":{"type":"object","title":"QueryOwnerResponse is the response type for the Query/Owner RPC method","properties":{"owner":{"type":"string","title":"owner is the owner address of the nft"}}},"cosmos.nft.v1beta1.QuerySupplyResponse":{"type":"object","title":"QuerySupplyResponse is the response type for the Query/Supply RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs from the given class"}}},"cosmos.params.v1beta1.ParamChange":{"description":"ParamChange defines an individual parameter change, for use in\nParameterChangeProposal.","type":"object","properties":{"key":{"type":"string"},"subspace":{"type":"string"},"value":{"type":"string"}}},"cosmos.params.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"param":{"description":"param defines the queried parameter.","$ref":"#/definitions/cosmos.params.v1beta1.ParamChange"}}},"cosmos.params.v1beta1.QuerySubspacesResponse":{"description":"QuerySubspacesResponse defines the response types for querying for all\nregistered subspaces and all keys for a subspace.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"subspaces":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.params.v1beta1.Subspace"}}}},"cosmos.params.v1beta1.Subspace":{"description":"Subspace defines a parameter subspace name and all the keys that exist for\nthe subspace.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"keys":{"type":"array","items":{"type":"string"}},"subspace":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjail":{"type":"object","title":"MsgUnjail defines the Msg/Unjail request type","properties":{"validator_addr":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjailResponse":{"type":"object","title":"MsgUnjailResponse defines the Msg/Unjail response type"},"cosmos.slashing.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/slashing parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.slashing.v1beta1.Params":{"description":"Params represents the parameters used for by the slashing module.","type":"object","properties":{"downtime_jail_duration":{"type":"string"},"min_signed_per_window":{"type":"string","format":"byte"},"signed_blocks_window":{"type":"string","format":"int64"},"slash_fraction_double_sign":{"type":"string","format":"byte"},"slash_fraction_downtime":{"type":"string","format":"byte"}}},"cosmos.slashing.v1beta1.QueryParamsResponse":{"type":"object","title":"QueryParamsResponse is the response type for the Query/Params RPC method","properties":{"params":{"$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.QuerySigningInfoResponse":{"type":"object","title":"QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod","properties":{"val_signing_info":{"title":"val_signing_info is the signing info of requested val cons address","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}}},"cosmos.slashing.v1beta1.QuerySigningInfosResponse":{"type":"object","title":"QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod","properties":{"info":{"type":"array","title":"info is the signing info of all validators","items":{"type":"object","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.slashing.v1beta1.ValidatorSigningInfo":{"description":"ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity.","type":"object","properties":{"address":{"type":"string"},"index_offset":{"description":"Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap.","type":"string","format":"int64"},"jailed_until":{"description":"Timestamp until which the validator is jailed due to liveness downtime.","type":"string","format":"date-time"},"missed_blocks_counter":{"description":"A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap.","type":"string","format":"int64"},"start_height":{"type":"string","format":"int64","title":"Height at which validator was first a candidate OR was un-jailed"},"tombstoned":{"description":"Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior.","type":"boolean"}}},"cosmos.staking.v1beta1.BondStatus":{"description":"BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded.","type":"string","default":"BOND_STATUS_UNSPECIFIED","enum":["BOND_STATUS_UNSPECIFIED","BOND_STATUS_UNBONDED","BOND_STATUS_UNBONDING","BOND_STATUS_BONDED"]},"cosmos.staking.v1beta1.Commission":{"description":"Commission defines commission parameters for a given validator.","type":"object","properties":{"commission_rates":{"description":"commission_rates defines the initial commission rates to be used for creating a validator.","$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"update_time":{"description":"update_time is the last time the commission rate was changed.","type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.CommissionRates":{"description":"CommissionRates defines the initial commission rates to be used for creating\na validator.","type":"object","properties":{"max_change_rate":{"description":"max_change_rate defines the maximum daily increase of the validator commission, as a fraction.","type":"string"},"max_rate":{"description":"max_rate defines the maximum commission rate which validator can ever charge, as a fraction.","type":"string"},"rate":{"description":"rate is the commission rate charged to delegators, as a fraction.","type":"string"}}},"cosmos.staking.v1beta1.Delegation":{"description":"Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"shares":{"description":"shares define the delegation shares received.","type":"string"},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.DelegationResponse":{"description":"DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses.","type":"object","properties":{"balance":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Delegation"}}},"cosmos.staking.v1beta1.Description":{"description":"Description defines a validator description.","type":"object","properties":{"details":{"description":"details define other optional details.","type":"string"},"identity":{"description":"identity defines an optional identity signature (ex. UPort or Keybase).","type":"string"},"moniker":{"description":"moniker defines a human-readable name for the validator.","type":"string"},"security_contact":{"description":"security_contact defines an optional email for security contact.","type":"string"},"website":{"description":"website defines an optional website link.","type":"string"}}},"cosmos.staking.v1beta1.HistoricalInfo":{"description":"HistoricalInfo contains header and validator information for a given block.\nIt is stored as part of staking module's state, which persists the `n` most\nrecent HistoricalInfo\n(`n` is set by the staking module's `historical_entries` parameter).","type":"object","properties":{"header":{"$ref":"#/definitions/tendermint.types.Header"},"valset":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.MsgBeginRedelegate":{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_dst_address":{"type":"string"},"validator_src_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgBeginRedelegateResponse":{"description":"MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type.","type":"object","properties":{"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegation":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator","properties":{"amount":{"title":"amount is always less than or equal to unbonding delegation entry balance","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgCancelUnbondingDelegationResponse"},"cosmos.staking.v1beta1.MsgCreateValidator":{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","type":"object","properties":{"commission":{"$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"delegator_address":{"description":"Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated.\nThe validator address bytes and delegator address bytes refer to the same account while creating validator (defer\nonly in bech32 notation).","type":"string"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"pubkey":{"$ref":"#/definitions/google.protobuf.Any"},"validator_address":{"type":"string"},"value":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.staking.v1beta1.MsgCreateValidatorResponse":{"description":"MsgCreateValidatorResponse defines the Msg/CreateValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgDelegate":{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgDelegateResponse":{"description":"MsgDelegateResponse defines the Msg/Delegate response type.","type":"object"},"cosmos.staking.v1beta1.MsgEditValidator":{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","type":"object","properties":{"commission_rate":{"type":"string","title":"We pass a reference to the new commission rate and min self delegation as\nit's not mandatory to update. If not updated, the deserialized rate will be\nzero with no way to distinguish if an update was intended.\nREF: #2373"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgEditValidatorResponse":{"description":"MsgEditValidatorResponse defines the Msg/EditValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgUndelegate":{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgUndelegateResponse":{"description":"MsgUndelegateResponse defines the Msg/Undelegate response type.","type":"object","properties":{"amount":{"description":"Since: cosmos-sdk 0.50","title":"amount returns the amount of undelegated coins","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/staking parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.staking.v1beta1.Params":{"description":"Params defines the parameters for the x/staking module.","type":"object","properties":{"bond_denom":{"description":"bond_denom defines the bondable coin denomination.","type":"string"},"historical_entries":{"description":"historical_entries is the number of historical entries to persist.","type":"integer","format":"int64"},"max_entries":{"description":"max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).","type":"integer","format":"int64"},"max_validators":{"description":"max_validators is the maximum number of validators.","type":"integer","format":"int64"},"min_commission_rate":{"type":"string","title":"min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators"},"unbonding_time":{"description":"unbonding_time is the time duration of unbonding.","type":"string"}}},"cosmos.staking.v1beta1.Pool":{"description":"Pool is used for tracking bonded and not-bonded token supply of the bond\ndenomination.","type":"object","properties":{"bonded_tokens":{"type":"string"},"not_bonded_tokens":{"type":"string"}}},"cosmos.staking.v1beta1.QueryDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/Delegation RPC method.","type":"object","properties":{"delegation_response":{"description":"delegation_responses defines the delegation info of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse":{"description":"QueryDelegatorDelegationsResponse is response type for the\nQuery/DelegatorDelegations RPC method.","type":"object","properties":{"delegation_responses":{"description":"delegation_responses defines all the delegations' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse":{"description":"QueryUnbondingDelegatorDelegationsResponse is response type for the\nQuery/UnbondingDelegatorDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorResponse":{"description":"QueryDelegatorValidatorResponse response type for the\nQuery/DelegatorValidator RPC method.","type":"object","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators defines the validators' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.QueryHistoricalInfoResponse":{"description":"QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC\nmethod.","type":"object","properties":{"hist":{"description":"hist defines the historical info at the given height.","$ref":"#/definitions/cosmos.staking.v1beta1.HistoricalInfo"}}},"cosmos.staking.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.QueryPoolResponse":{"description":"QueryPoolResponse is response type for the Query/Pool RPC method.","type":"object","properties":{"pool":{"description":"pool defines the pool info.","$ref":"#/definitions/cosmos.staking.v1beta1.Pool"}}},"cosmos.staking.v1beta1.QueryRedelegationsResponse":{"description":"QueryRedelegationsResponse is response type for the Query/Redelegations RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"redelegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationResponse"}}}},"cosmos.staking.v1beta1.QueryUnbondingDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/UnbondingDelegation\nRPC method.","type":"object","properties":{"unbond":{"description":"unbond defines the unbonding information of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}},"cosmos.staking.v1beta1.QueryValidatorDelegationsResponse":{"type":"object","title":"QueryValidatorDelegationsResponse is response type for the\nQuery/ValidatorDelegations RPC method","properties":{"delegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryValidatorResponse":{"type":"object","title":"QueryValidatorResponse is response type for the Query/Validator RPC method","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse":{"description":"QueryValidatorUnbondingDelegationsResponse is response type for the\nQuery/ValidatorUnbondingDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryValidatorsResponse":{"type":"object","title":"QueryValidatorsResponse is response type for the Query/Validators RPC method","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators contains all the queried validators.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.Redelegation":{"description":"Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the bech32-encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the redelegation entries.\n\nredelegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}},"validator_dst_address":{"description":"validator_dst_address is the validator redelegation destination operator address.","type":"string"},"validator_src_address":{"description":"validator_src_address is the validator redelegation source operator address.","type":"string"}}},"cosmos.staking.v1beta1.RedelegationEntry":{"description":"RedelegationEntry defines a redelegation object with relevant metadata.","type":"object","properties":{"completion_time":{"description":"completion_time defines the unix time for redelegation completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height defines the height which the redelegation took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the initial balance when redelegation started.","type":"string"},"shares_dst":{"description":"shares_dst is the amount of destination-validator shares created by redelegation.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.RedelegationEntryResponse":{"description":"RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"balance":{"type":"string"},"redelegation_entry":{"$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}}},"cosmos.staking.v1beta1.RedelegationResponse":{"description":"RedelegationResponse is equivalent to a Redelegation except that its entries\ncontain a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"entries":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntryResponse"}},"redelegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Redelegation"}}},"cosmos.staking.v1beta1.UnbondingDelegation":{"description":"UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the unbonding delegation entries.\n\nunbonding delegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegationEntry"}},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.UnbondingDelegationEntry":{"description":"UnbondingDelegationEntry defines an unbonding object with relevant metadata.","type":"object","properties":{"balance":{"description":"balance defines the tokens to receive at completion.","type":"string"},"completion_time":{"description":"completion_time is the unix time for unbonding completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the tokens initially scheduled to receive at completion.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.Validator":{"description":"Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate.","type":"object","properties":{"commission":{"description":"commission defines the commission parameters.","$ref":"#/definitions/cosmos.staking.v1beta1.Commission"},"consensus_pubkey":{"description":"consensus_pubkey is the consensus public key of the validator, as a Protobuf Any.","$ref":"#/definitions/google.protobuf.Any"},"delegator_shares":{"description":"delegator_shares defines total shares issued to a validator's delegators.","type":"string"},"description":{"description":"description defines the description terms for the validator.","$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"jailed":{"description":"jailed defined whether the validator has been jailed from bonded status or not.","type":"boolean"},"min_self_delegation":{"description":"min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46","type":"string"},"operator_address":{"description":"operator_address defines the address of the validator's operator; bech encoded in JSON.","type":"string"},"status":{"description":"status is the validator status (bonded/unbonding/unbonded).","$ref":"#/definitions/cosmos.staking.v1beta1.BondStatus"},"tokens":{"description":"tokens define the delegated tokens (incl. self-delegation).","type":"string"},"unbonding_height":{"description":"unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.","type":"string","format":"int64"},"unbonding_ids":{"type":"array","title":"list of unbonding ids, each uniquely identifing an unbonding of this validator","items":{"type":"string","format":"uint64"}},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"strictly positive if this validator's unbonding has been stopped by external modules"},"unbonding_time":{"description":"unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.","type":"string","format":"date-time"}}},"cosmos.store.streaming.abci.ListenCommitRequest":{"type":"object","title":"ListenCommitRequest is the request type for the ListenCommit RPC method","properties":{"block_height":{"type":"string","format":"int64","title":"explicitly pass in block height as ResponseCommit does not contain this info"},"change_set":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.store.v1beta1.StoreKVPair"}},"res":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}}},"cosmos.store.streaming.abci.ListenCommitResponse":{"type":"object","title":"ListenCommitResponse is the response type for the ListenCommit RPC method"},"cosmos.store.streaming.abci.ListenFinalizeBlockRequest":{"type":"object","title":"ListenEndBlockRequest is the request type for the ListenEndBlock RPC method","properties":{"req":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"},"res":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}}},"cosmos.store.streaming.abci.ListenFinalizeBlockResponse":{"type":"object","title":"ListenEndBlockResponse is the response type for the ListenEndBlock RPC method"},"cosmos.store.v1beta1.StoreKVPair":{"description":"Since: cosmos-sdk 0.43","type":"object","title":"StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes)\nIt optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and\nDeletes","properties":{"delete":{"type":"boolean","title":"true indicates a delete operation, false indicates a set operation"},"key":{"type":"string","format":"byte"},"store_key":{"type":"string","title":"the store key for the KVStore this pair originates from"},"value":{"type":"string","format":"byte"}}},"cosmos.tx.signing.v1beta1.SignMode":{"description":"SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT.\n\nSince: cosmos-sdk 0.50\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2","type":"string","default":"SIGN_MODE_UNSPECIFIED","enum":["SIGN_MODE_UNSPECIFIED","SIGN_MODE_DIRECT","SIGN_MODE_TEXTUAL","SIGN_MODE_DIRECT_AUX","SIGN_MODE_LEGACY_AMINO_JSON","SIGN_MODE_EIP_191"]},"cosmos.tx.v1beta1.AuthInfo":{"description":"AuthInfo describes the fee and signer modes that are used to sign a\ntransaction.","type":"object","properties":{"fee":{"description":"Fee is the fee and gas limit for the transaction. The first signer is the\nprimary signer and the one which pays the fee. The fee can be calculated\nbased on the cost of evaluating the body and doing signature verification\nof the signers. This can be estimated via simulation.","$ref":"#/definitions/cosmos.tx.v1beta1.Fee"},"signer_infos":{"description":"signer_infos defines the signing modes for the required signers. The number\nand order of elements must match the required signers from TxBody's\nmessages. The first element is the primary signer and the one which pays\nthe fee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.SignerInfo"}},"tip":{"description":"Tip is the optional tip used for transactions fees paid in another denom.\n\nThis field is ignored if the chain didn't enable tips, i.e. didn't add the\n`TipDecorator` in its posthandler.\n\nSince: cosmos-sdk 0.46","$ref":"#/definitions/cosmos.tx.v1beta1.Tip"}}},"cosmos.tx.v1beta1.BroadcastMode":{"description":"BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC\nmethod.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits\nfor a CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client\nreturns immediately.","type":"string","default":"BROADCAST_MODE_UNSPECIFIED","enum":["BROADCAST_MODE_UNSPECIFIED","BROADCAST_MODE_BLOCK","BROADCAST_MODE_SYNC","BROADCAST_MODE_ASYNC"]},"cosmos.tx.v1beta1.BroadcastTxRequest":{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","type":"object","properties":{"mode":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastMode"},"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.BroadcastTxResponse":{"description":"BroadcastTxResponse is the response type for the\nService.BroadcastTx method.","type":"object","properties":{"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.Fee":{"description":"Fee includes the amount of coins paid in fees and the maximum\ngas to be used by the transaction. The ratio yields an effective \"gasprice\",\nwhich must be above some miminum to be accepted into the mempool.","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of coins to be paid as a fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"gas_limit":{"type":"string","format":"uint64","title":"gas_limit is the maximum gas that can be used in transaction processing\nbefore an out of gas error occurs"},"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\nto pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does\nnot support fee grants, this will fail"},"payer":{"description":"if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees.\nthe payer must be a tx signer (and thus have signed this field in AuthInfo).\nsetting this field does *not* change the ordering of required signers for the transaction.","type":"string"}}},"cosmos.tx.v1beta1.GetBlockWithTxsResponse":{"description":"GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs\nmethod.\n\nSince: cosmos-sdk 0.45.2","type":"object","properties":{"block":{"$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"pagination":{"description":"pagination defines a pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"txs":{"description":"txs are the transactions in the block.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.GetTxResponse":{"description":"GetTxResponse is the response type for the Service.GetTx method.","type":"object","properties":{"tx":{"description":"tx is the queried transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.GetTxsEventResponse":{"description":"GetTxsEventResponse is the response type for the Service.TxsByEvents\nRPC method.","type":"object","properties":{"pagination":{"description":"pagination defines a pagination for the response.\nDeprecated post v0.46.x: use total instead.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64","title":"total is total number of results available"},"tx_responses":{"description":"tx_responses is the list of queried TxResponses.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}},"txs":{"description":"txs is the list of queried transactions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.ModeInfo":{"description":"ModeInfo describes the signing mode of a single or nested multisig signer.","type":"object","properties":{"multi":{"title":"multi represents a nested multisig signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi"},"single":{"title":"single represents a single signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Single"}}},"cosmos.tx.v1beta1.ModeInfo.Multi":{"type":"object","title":"Multi is the mode info for a multisig public key","properties":{"bitarray":{"title":"bitarray specifies which keys within the multisig are signing","$ref":"#/definitions/cosmos.crypto.multisig.v1beta1.CompactBitArray"},"mode_infos":{"type":"array","title":"mode_infos is the corresponding modes of the signers of the multisig\nwhich could include nested multisig public keys","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"}}}},"cosmos.tx.v1beta1.ModeInfo.Single":{"type":"object","title":"Single is the mode info for a single signer. It is structured as a message\nto allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the\nfuture","properties":{"mode":{"title":"mode is the signing mode of the single signer","$ref":"#/definitions/cosmos.tx.signing.v1beta1.SignMode"}}},"cosmos.tx.v1beta1.OrderBy":{"description":"- ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","type":"string","title":"OrderBy defines the sorting order","default":"ORDER_BY_UNSPECIFIED","enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"]},"cosmos.tx.v1beta1.SignerInfo":{"description":"SignerInfo describes the public key and signing mode of a single top-level\nsigner.","type":"object","properties":{"mode_info":{"title":"mode_info describes the signing mode of the signer and is a nested\nstructure to support nested multisig pubkey's","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"},"public_key":{"description":"public_key is the public key of the signer. It is optional for accounts\nthat already exist in state. If unset, the verifier can use the required \\\nsigner address for this position and lookup the public key.","$ref":"#/definitions/google.protobuf.Any"},"sequence":{"description":"sequence is the sequence of the account, which describes the\nnumber of committed transactions signed by a given address. It is used to\nprevent replay attacks.","type":"string","format":"uint64"}}},"cosmos.tx.v1beta1.SimulateRequest":{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","type":"object","properties":{"tx":{"description":"tx is the transaction to simulate.\nDeprecated. Send raw tx bytes instead.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_bytes":{"description":"tx_bytes is the raw transaction.\n\nSince: cosmos-sdk 0.43","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.SimulateResponse":{"description":"SimulateResponse is the response type for the\nService.SimulateRPC method.","type":"object","properties":{"gas_info":{"description":"gas_info is the information about gas used in the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.GasInfo"},"result":{"description":"result is the result of the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.Result"}}},"cosmos.tx.v1beta1.Tip":{"description":"Tip is the tip used for meta-transactions.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of the tip","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"tipper":{"type":"string","title":"tipper is the address of the account paying for the tip"}}},"cosmos.tx.v1beta1.Tx":{"description":"Tx is the standard type used for broadcasting transactions.","type":"object","properties":{"auth_info":{"title":"auth_info is the authorization related content of the transaction,\nspecifically signers, signer modes and fee","$ref":"#/definitions/cosmos.tx.v1beta1.AuthInfo"},"body":{"title":"body is the processable content of the transaction","$ref":"#/definitions/cosmos.tx.v1beta1.TxBody"},"signatures":{"description":"signatures is a list of signatures that matches the length and order of\nAuthInfo's signer_infos to allow connecting signature meta information like\npublic key and signing mode by position.","type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.tx.v1beta1.TxBody":{"description":"TxBody is the body of a transaction that all signers sign over.","type":"object","properties":{"extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, the transaction will be rejected","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"memo":{"description":"memo is any arbitrary note/comment to be added to the transaction.\nWARNING: in clients, any publicly exposed text should not be called memo,\nbut should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122).","type":"string"},"messages":{"description":"messages is a list of messages to be executed. The required signers of\nthose messages define the number and order of elements in AuthInfo's\nsigner_infos and Tx's signatures. Each required signer address is added to\nthe list only the first time it occurs.\nBy convention, the first required signer (usually from the first message)\nis referred to as the primary signer and pays the fee for the whole\ntransaction.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"non_critical_extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, they will be ignored","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"timeout_height":{"type":"string","format":"uint64","title":"timeout is the block height after which this transaction will not\nbe processed by the chain"}}},"cosmos.tx.v1beta1.TxDecodeAminoRequest":{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeAminoResponse":{"description":"TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxDecodeRequest":{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeResponse":{"description":"TxDecodeResponse is the response type for the\nService.TxDecode method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx":{"description":"tx is the decoded transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeAminoRequest":{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxEncodeAminoResponse":{"description":"TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxEncodeRequest":{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx":{"description":"tx is the transaction to encode.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeResponse":{"description":"TxEncodeResponse is the response type for the\nService.TxEncode method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the encoded transaction bytes.","type":"string","format":"byte"}}},"cosmos.upgrade.v1beta1.ModuleVersion":{"description":"ModuleVersion specifies a module and its consensus version.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"name":{"type":"string","title":"name of the app module"},"version":{"type":"string","format":"uint64","title":"consensus version of the app module"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgrade":{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse":{"description":"MsgCancelUpgradeResponse is the Msg/CancelUpgrade response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.upgrade.v1beta1.MsgSoftwareUpgrade":{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"plan":{"description":"plan is the upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse":{"description":"MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.upgrade.v1beta1.Plan":{"description":"Plan specifies information about a planned upgrade and when it should occur.","type":"object","properties":{"height":{"description":"The height at which the upgrade must be performed.","type":"string","format":"int64"},"info":{"type":"string","title":"Any application specific upgrade info to be included on-chain\nsuch as a git commit that validators could automatically upgrade to"},"name":{"description":"Sets the name for the upgrade. This name will be used by the upgraded\nversion of the software to apply any special \"on-upgrade\" commands during\nthe first BeginBlock method after the upgrade is applied. It is also used\nto detect whether a software version can handle a given upgrade. If no\nupgrade handler with this name has been set in the software, it will be\nassumed that the software is out-of-date when the upgrade Time or Height is\nreached and the software will exit.","type":"string"},"time":{"description":"Deprecated: Time based upgrades have been deprecated. Time based upgrade logic\nhas been removed from the SDK.\nIf this field is not empty, an error will be thrown.","type":"string","format":"date-time"},"upgraded_client_state":{"description":"Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been\nmoved to the IBC module in the sub module 02-client.\nIf this field is not empty, an error will be thrown.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.upgrade.v1beta1.QueryAppliedPlanResponse":{"description":"QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC\nmethod.","type":"object","properties":{"height":{"description":"height is the block height at which the plan was applied.","type":"string","format":"int64"}}},"cosmos.upgrade.v1beta1.QueryAuthorityResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"QueryAuthorityResponse is the response type for Query/Authority","properties":{"address":{"type":"string"}}},"cosmos.upgrade.v1beta1.QueryCurrentPlanResponse":{"description":"QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC\nmethod.","type":"object","properties":{"plan":{"description":"plan is the current upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.QueryModuleVersionsResponse":{"description":"QueryModuleVersionsResponse is the response type for the Query/ModuleVersions\nRPC method.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"module_versions":{"description":"module_versions is a list of module names with their consensus versions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.upgrade.v1beta1.ModuleVersion"}}}},"cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse":{"description":"QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState\nRPC method.","type":"object","properties":{"upgraded_consensus_state":{"type":"string","format":"byte","title":"Since: cosmos-sdk 0.43"}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"from_address":{"type":"string"},"start_time":{"description":"start of vesting as unix time (in seconds).","type":"string","format":"int64"},"to_address":{"type":"string"},"vesting_periods":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.vesting.v1beta1.Period"}}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreatePeriodicVestingAccount\nresponse type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount":{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse":{"description":"MsgCreatePermanentLockedAccountResponse defines the Msg/CreatePermanentLockedAccount response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.vesting.v1beta1.MsgCreateVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"delayed":{"type":"boolean"},"end_time":{"description":"end of vesting as unix time (in seconds).","type":"string","format":"int64"},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type.","type":"object"},"cosmos.vesting.v1beta1.Period":{"description":"Period defines a length of time and amount of coins that will vest.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"length":{"description":"Period duration in seconds.","type":"string","format":"int64"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}},"ibc.applications.fee.v1.Fee":{"type":"object","title":"Fee defines the ICS29 receive, acknowledgement and timeout fees","properties":{"ack_fee":{"type":"array","title":"the packet acknowledgement fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"recv_fee":{"type":"array","title":"the packet receive fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"timeout_fee":{"type":"array","title":"the packet timeout fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.fee.v1.FeeEnabledChannel":{"type":"object","title":"FeeEnabledChannel contains the PortID \u0026 ChannelID for a fee enabled channel","properties":{"channel_id":{"type":"string","title":"unique channel identifier"},"port_id":{"type":"string","title":"unique port identifier"}}},"ibc.applications.fee.v1.IdentifiedPacketFees":{"type":"object","title":"IdentifiedPacketFees contains a list of type PacketFee and associated PacketId","properties":{"packet_fees":{"type":"array","title":"list of packet fees","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.PacketFee"}},"packet_id":{"title":"unique packet identifier comprised of the channel ID, port ID and sequence","$ref":"#/definitions/ibc.core.channel.v1.PacketId"}}},"ibc.applications.fee.v1.MsgPayPacketFee":{"type":"object","title":"MsgPayPacketFee defines the request type for the PayPacketFee rpc\nThis Msg can be used to pay for a packet at the next sequence send \u0026 should be combined with the Msg that will be\npaid for","properties":{"fee":{"title":"fee encapsulates the recv, ack and timeout fees associated with an IBC packet","$ref":"#/definitions/ibc.applications.fee.v1.Fee"},"relayers":{"type":"array","title":"optional list of relayers permitted to the receive packet fees","items":{"type":"string"}},"signer":{"type":"string","title":"account address to refund fee if necessary"},"source_channel_id":{"type":"string","title":"the source channel unique identifer"},"source_port_id":{"type":"string","title":"the source port unique identifier"}}},"ibc.applications.fee.v1.MsgPayPacketFeeAsync":{"type":"object","title":"MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync rpc\nThis Msg can be used to pay for a packet at a specified sequence (instead of the next sequence send)","properties":{"packet_fee":{"title":"the packet fee associated with a particular IBC packet","$ref":"#/definitions/ibc.applications.fee.v1.PacketFee"},"packet_id":{"title":"unique packet identifier comprised of the channel ID, port ID and sequence","$ref":"#/definitions/ibc.core.channel.v1.PacketId"}}},"ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse":{"type":"object","title":"MsgPayPacketFeeAsyncResponse defines the response type for the PayPacketFeeAsync rpc"},"ibc.applications.fee.v1.MsgPayPacketFeeResponse":{"type":"object","title":"MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc"},"ibc.applications.fee.v1.MsgRegisterCounterpartyPayee":{"type":"object","title":"MsgRegisterCounterpartyPayee defines the request type for the RegisterCounterpartyPayee rpc","properties":{"channel_id":{"type":"string","title":"unique channel identifier"},"counterparty_payee":{"type":"string","title":"the counterparty payee address"},"port_id":{"type":"string","title":"unique port identifier"},"relayer":{"type":"string","title":"the relayer address"}}},"ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse":{"type":"object","title":"MsgRegisterCounterpartyPayeeResponse defines the response type for the RegisterCounterpartyPayee rpc"},"ibc.applications.fee.v1.MsgRegisterPayee":{"type":"object","title":"MsgRegisterPayee defines the request type for the RegisterPayee rpc","properties":{"channel_id":{"type":"string","title":"unique channel identifier"},"payee":{"type":"string","title":"the payee address"},"port_id":{"type":"string","title":"unique port identifier"},"relayer":{"type":"string","title":"the relayer address"}}},"ibc.applications.fee.v1.MsgRegisterPayeeResponse":{"type":"object","title":"MsgRegisterPayeeResponse defines the response type for the RegisterPayee rpc"},"ibc.applications.fee.v1.PacketFee":{"type":"object","title":"PacketFee contains ICS29 relayer fees, refund address and optional list of permitted relayers","properties":{"fee":{"title":"fee encapsulates the recv, ack and timeout fees associated with an IBC packet","$ref":"#/definitions/ibc.applications.fee.v1.Fee"},"refund_address":{"type":"string","title":"the refund address for unspent fees"},"relayers":{"type":"array","title":"optional list of relayers permitted to receive fees","items":{"type":"string"}}}},"ibc.applications.fee.v1.QueryCounterpartyPayeeResponse":{"type":"object","title":"QueryCounterpartyPayeeResponse defines the response type for the CounterpartyPayee rpc","properties":{"counterparty_payee":{"type":"string","title":"the counterparty payee address used to compensate forward relaying"}}},"ibc.applications.fee.v1.QueryFeeEnabledChannelResponse":{"type":"object","title":"QueryFeeEnabledChannelResponse defines the response type for the FeeEnabledChannel rpc","properties":{"fee_enabled":{"type":"boolean","title":"boolean flag representing the fee enabled channel status"}}},"ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse":{"type":"object","title":"QueryFeeEnabledChannelsResponse defines the response type for the FeeEnabledChannels rpc","properties":{"fee_enabled_channels":{"type":"array","title":"list of fee enabled channels","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.FeeEnabledChannel"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.fee.v1.QueryIncentivizedPacketResponse":{"type":"object","title":"QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPacket rpc","properties":{"incentivized_packet":{"title":"the identified fees for the incentivized packet","$ref":"#/definitions/ibc.applications.fee.v1.IdentifiedPacketFees"}}},"ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse":{"type":"object","title":"QueryIncentivizedPacketsResponse defines the response type for the incentivized packets RPC","properties":{"incentivized_packets":{"type":"array","title":"Map of all incentivized_packets","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.IdentifiedPacketFees"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.fee.v1.QueryIncentivizedPacketsResponse":{"type":"object","title":"QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPackets rpc","properties":{"incentivized_packets":{"type":"array","title":"list of identified fees for incentivized packets","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.IdentifiedPacketFees"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.fee.v1.QueryPayeeResponse":{"type":"object","title":"QueryPayeeResponse defines the response type for the Payee rpc","properties":{"payee_address":{"type":"string","title":"the payee address to which packet fees are paid out"}}},"ibc.applications.fee.v1.QueryTotalAckFeesResponse":{"type":"object","title":"QueryTotalAckFeesResponse defines the response type for the TotalAckFees rpc","properties":{"ack_fees":{"type":"array","title":"the total packet acknowledgement fees","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.fee.v1.QueryTotalRecvFeesResponse":{"type":"object","title":"QueryTotalRecvFeesResponse defines the response type for the TotalRecvFees rpc","properties":{"recv_fees":{"type":"array","title":"the total packet receive fees","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse":{"type":"object","title":"QueryTotalTimeoutFeesResponse defines the response type for the TotalTimeoutFees rpc","properties":{"timeout_fees":{"type":"array","title":"the total packet timeout fees","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount":{"type":"object","title":"MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount","properties":{"connection_id":{"type":"string"},"ordering":{"$ref":"#/definitions/ibc.core.channel.v1.Order"},"owner":{"type":"string"},"version":{"type":"string"}}},"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse":{"type":"object","title":"MsgRegisterInterchainAccountResponse defines the response for Msg/RegisterAccount","properties":{"channel_id":{"type":"string"},"port_id":{"type":"string"}}},"ibc.applications.interchain_accounts.controller.v1.MsgSendTx":{"type":"object","title":"MsgSendTx defines the payload for Msg/SendTx","properties":{"connection_id":{"type":"string"},"owner":{"type":"string"},"packet_data":{"$ref":"#/definitions/ibc.applications.interchain_accounts.v1.InterchainAccountPacketData"},"relative_timeout":{"description":"Relative timeout timestamp provided will be added to the current block time during transaction execution.\nThe timeout timestamp must be non-zero.","type":"string","format":"uint64"}}},"ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse":{"type":"object","title":"MsgSendTxResponse defines the response for MsgSendTx","properties":{"sequence":{"type":"string","format":"uint64"}}},"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams":{"type":"object","title":"MsgUpdateParams defines the payload for Msg/UpdateParams","properties":{"params":{"description":"params defines the 27-interchain-accounts/controller parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse":{"type":"object","title":"MsgUpdateParamsResponse defines the response for Msg/UpdateParams"},"ibc.applications.interchain_accounts.controller.v1.Params":{"description":"Params defines the set of on-chain interchain accounts parameters.\nThe following parameters may be used to disable the controller submodule.","type":"object","properties":{"controller_enabled":{"description":"controller_enabled enables or disables the controller submodule.","type":"boolean"}}},"ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse":{"description":"QueryInterchainAccountResponse the response type for the Query/InterchainAccount RPC method.","type":"object","properties":{"address":{"type":"string"}}},"ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.Params"}}},"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe":{"type":"object","title":"MsgModuleQuerySafe defines the payload for Msg/ModuleQuerySafe","properties":{"requests":{"description":"requests defines the module safe queries to execute.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.QueryRequest"}},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse":{"type":"object","title":"MsgModuleQuerySafeResponse defines the response for Msg/ModuleQuerySafe","properties":{"height":{"type":"string","format":"uint64","title":"height at which the responses were queried"},"responses":{"type":"array","title":"protobuf encoded responses for each query","items":{"type":"string","format":"byte"}}}},"ibc.applications.interchain_accounts.host.v1.MsgUpdateParams":{"type":"object","title":"MsgUpdateParams defines the payload for Msg/UpdateParams","properties":{"params":{"description":"params defines the 27-interchain-accounts/host parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse":{"type":"object","title":"MsgUpdateParamsResponse defines the response for Msg/UpdateParams"},"ibc.applications.interchain_accounts.host.v1.Params":{"description":"Params defines the set of on-chain interchain accounts parameters.\nThe following parameters may be used to disable the host submodule.","type":"object","properties":{"allow_messages":{"description":"allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain.","type":"array","items":{"type":"string"}},"host_enabled":{"description":"host_enabled enables or disables the host submodule.","type":"boolean"}}},"ibc.applications.interchain_accounts.host.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.Params"}}},"ibc.applications.interchain_accounts.host.v1.QueryRequest":{"description":"QueryRequest defines the parameters for a particular query request\nby an interchain account.","type":"object","properties":{"data":{"type":"string","format":"byte","title":"data defines the payload of the query request as defined by ADR-021.\nhttps://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing"},"path":{"type":"string","title":"path defines the path of the query request as defined by ADR-021.\nhttps://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing"}}},"ibc.applications.interchain_accounts.v1.InterchainAccountPacketData":{"description":"InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field.","type":"object","properties":{"data":{"type":"string","format":"byte"},"memo":{"type":"string"},"type":{"$ref":"#/definitions/ibc.applications.interchain_accounts.v1.Type"}}},"ibc.applications.interchain_accounts.v1.Type":{"description":"- TYPE_UNSPECIFIED: Default zero value enumeration\n - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain","type":"string","title":"Type defines a classification of message issued from a controller chain to its associated interchain accounts\nhost","default":"TYPE_UNSPECIFIED","enum":["TYPE_UNSPECIFIED","TYPE_EXECUTE_TX"]},"ibc.applications.transfer.v1.DenomTrace":{"description":"DenomTrace contains the base denomination for ICS20 fungible tokens and the\nsource tracing information path.","type":"object","properties":{"base_denom":{"description":"base denomination of the relayed fungible token.","type":"string"},"path":{"description":"path defines the chain of port/channel identifiers used for tracing the\nsource of the fungible token.","type":"string"}}},"ibc.applications.transfer.v1.MsgTransfer":{"type":"object","title":"MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between\nICS20 enabled chains. See ICS Spec here:\nhttps://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures","properties":{"memo":{"type":"string","title":"optional memo"},"receiver":{"type":"string","title":"the recipient address on the destination chain"},"sender":{"type":"string","title":"the sender address"},"source_channel":{"type":"string","title":"the channel by which the packet will be sent"},"source_port":{"type":"string","title":"the port on which the packet will be sent"},"timeout_height":{"description":"Timeout height relative to the current block height.\nThe timeout is disabled when set to 0.","$ref":"#/definitions/ibc.core.client.v1.Height"},"timeout_timestamp":{"description":"Timeout timestamp in absolute nanoseconds since unix epoch.\nThe timeout is disabled when set to 0.","type":"string","format":"uint64"},"token":{"title":"the tokens to be transferred","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"ibc.applications.transfer.v1.MsgTransferResponse":{"description":"MsgTransferResponse defines the Msg/Transfer response type.","type":"object","properties":{"sequence":{"type":"string","format":"uint64","title":"sequence number of the transfer packet sent"}}},"ibc.applications.transfer.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"params":{"description":"params defines the transfer parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.applications.transfer.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.transfer.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"ibc.applications.transfer.v1.Params":{"description":"Params defines the set of IBC transfer parameters.\nNOTE: To prevent a single token from being transferred, set the\nTransfersEnabled parameter to true and then set the bank module's SendEnabled\nparameter for the denomination to false.","type":"object","properties":{"receive_enabled":{"description":"receive_enabled enables or disables all cross-chain token transfers to this\nchain.","type":"boolean"},"send_enabled":{"description":"send_enabled enables or disables all cross-chain token transfers from this\nchain.","type":"boolean"}}},"ibc.applications.transfer.v1.QueryDenomHashResponse":{"description":"QueryDenomHashResponse is the response type for the Query/DenomHash RPC\nmethod.","type":"object","properties":{"hash":{"description":"hash (in hex format) of the denomination trace information.","type":"string"}}},"ibc.applications.transfer.v1.QueryDenomTraceResponse":{"description":"QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC\nmethod.","type":"object","properties":{"denom_trace":{"description":"denom_trace returns the requested denomination trace information.","$ref":"#/definitions/ibc.applications.transfer.v1.DenomTrace"}}},"ibc.applications.transfer.v1.QueryDenomTracesResponse":{"description":"QueryConnectionsResponse is the response type for the Query/DenomTraces RPC\nmethod.","type":"object","properties":{"denom_traces":{"description":"denom_traces returns all denominations trace information.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.applications.transfer.v1.DenomTrace"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.transfer.v1.QueryEscrowAddressResponse":{"description":"QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method.","type":"object","properties":{"escrow_address":{"type":"string","title":"the escrow account address"}}},"ibc.applications.transfer.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.applications.transfer.v1.Params"}}},"ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse":{"description":"QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom RPC method.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"ibc.core.channel.v1.Channel":{"description":"Channel defines pipeline for exactly-once packet delivery between specific\nmodules on separate blockchains, which has at least one end capable of\nsending packets and one end capable of receiving packets.","type":"object","properties":{"connection_hops":{"type":"array","title":"list of connection identifiers, in order, along which packets sent on\nthis channel will travel","items":{"type":"string"}},"counterparty":{"title":"counterparty channel end","$ref":"#/definitions/ibc.core.channel.v1.Counterparty"},"ordering":{"title":"whether the channel is ordered or unordered","$ref":"#/definitions/ibc.core.channel.v1.Order"},"state":{"title":"current state of the channel end","$ref":"#/definitions/ibc.core.channel.v1.State"},"upgrade_sequence":{"type":"string","format":"uint64","title":"upgrade sequence indicates the latest upgrade attempt performed by this channel\nthe value of 0 indicates the channel has never been upgraded"},"version":{"type":"string","title":"opaque channel version, which is agreed upon during the handshake"}}},"ibc.core.channel.v1.Counterparty":{"type":"object","title":"Counterparty defines a channel end counterparty","properties":{"channel_id":{"type":"string","title":"channel end on the counterparty chain"},"port_id":{"description":"port on the counterparty chain which owns the other end of the channel.","type":"string"}}},"ibc.core.channel.v1.ErrorReceipt":{"description":"ErrorReceipt defines a type which encapsulates the upgrade sequence and error associated with the\nupgrade handshake failure. When a channel upgrade handshake is aborted both chains are expected to increment to the\nnext sequence.","type":"object","properties":{"message":{"type":"string","title":"the error message detailing the cause of failure"},"sequence":{"type":"string","format":"uint64","title":"the channel upgrade sequence"}}},"ibc.core.channel.v1.IdentifiedChannel":{"description":"IdentifiedChannel defines a channel with additional port and channel\nidentifier fields.","type":"object","properties":{"channel_id":{"type":"string","title":"channel identifier"},"connection_hops":{"type":"array","title":"list of connection identifiers, in order, along which packets sent on\nthis channel will travel","items":{"type":"string"}},"counterparty":{"title":"counterparty channel end","$ref":"#/definitions/ibc.core.channel.v1.Counterparty"},"ordering":{"title":"whether the channel is ordered or unordered","$ref":"#/definitions/ibc.core.channel.v1.Order"},"port_id":{"type":"string","title":"port identifier"},"state":{"title":"current state of the channel end","$ref":"#/definitions/ibc.core.channel.v1.State"},"upgrade_sequence":{"type":"string","format":"uint64","title":"upgrade sequence indicates the latest upgrade attempt performed by this channel\nthe value of 0 indicates the channel has never been upgraded"},"version":{"type":"string","title":"opaque channel version, which is agreed upon during the handshake"}}},"ibc.core.channel.v1.MsgAcknowledgement":{"type":"object","title":"MsgAcknowledgement receives incoming IBC acknowledgement","properties":{"acknowledgement":{"type":"string","format":"byte"},"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_acked":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgAcknowledgementResponse":{"description":"MsgAcknowledgementResponse defines the Msg/Acknowledgement response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgChannelCloseConfirm":{"description":"MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B\nto acknowledge the change of channel state to CLOSED on Chain A.","type":"object","properties":{"channel_id":{"type":"string"},"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_init":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelCloseConfirmResponse":{"description":"MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm response\ntype.","type":"object"},"ibc.core.channel.v1.MsgChannelCloseInit":{"description":"MsgChannelCloseInit defines a msg sent by a Relayer to Chain A\nto close a channel with Chain B.","type":"object","properties":{"channel_id":{"type":"string"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelCloseInitResponse":{"description":"MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response type.","type":"object"},"ibc.core.channel.v1.MsgChannelOpenAck":{"description":"MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge\nthe change of channel state to TRYOPEN on Chain B.\nWARNING: a channel upgrade MUST NOT initialize an upgrade for this channel\nin the same block as executing this message otherwise the counterparty will\nbe incapable of opening.","type":"object","properties":{"channel_id":{"type":"string"},"counterparty_channel_id":{"type":"string"},"counterparty_version":{"type":"string"},"port_id":{"type":"string"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_try":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenAckResponse":{"description":"MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type.","type":"object"},"ibc.core.channel.v1.MsgChannelOpenConfirm":{"description":"MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of channel state to OPEN on Chain A.","type":"object","properties":{"channel_id":{"type":"string"},"port_id":{"type":"string"},"proof_ack":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenConfirmResponse":{"description":"MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response\ntype.","type":"object"},"ibc.core.channel.v1.MsgChannelOpenInit":{"description":"MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It\nis called by a relayer on Chain A.","type":"object","properties":{"channel":{"$ref":"#/definitions/ibc.core.channel.v1.Channel"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenInitResponse":{"description":"MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type.","type":"object","properties":{"channel_id":{"type":"string"},"version":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenTry":{"description":"MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel\non Chain B. The version field within the Channel field has been deprecated. Its\nvalue will be ignored by core IBC.","type":"object","properties":{"channel":{"description":"NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC.","$ref":"#/definitions/ibc.core.channel.v1.Channel"},"counterparty_version":{"type":"string"},"port_id":{"type":"string"},"previous_channel_id":{"description":"Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC.","type":"string"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_init":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenTryResponse":{"description":"MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type.","type":"object","properties":{"channel_id":{"type":"string"},"version":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeAck":{"type":"object","title":"MsgChannelUpgradeAck defines the request type for the ChannelUpgradeAck rpc","properties":{"channel_id":{"type":"string"},"counterparty_upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_upgrade":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeAckResponse":{"type":"object","title":"MsgChannelUpgradeAckResponse defines MsgChannelUpgradeAck response type","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgChannelUpgradeCancel":{"type":"object","title":"MsgChannelUpgradeCancel defines the request type for the ChannelUpgradeCancel rpc","properties":{"channel_id":{"type":"string"},"error_receipt":{"$ref":"#/definitions/ibc.core.channel.v1.ErrorReceipt"},"port_id":{"type":"string"},"proof_error_receipt":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeCancelResponse":{"type":"object","title":"MsgChannelUpgradeCancelResponse defines the MsgChannelUpgradeCancel response type"},"ibc.core.channel.v1.MsgChannelUpgradeConfirm":{"type":"object","title":"MsgChannelUpgradeConfirm defines the request type for the ChannelUpgradeConfirm rpc","properties":{"channel_id":{"type":"string"},"counterparty_channel_state":{"$ref":"#/definitions/ibc.core.channel.v1.State"},"counterparty_upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_upgrade":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeConfirmResponse":{"type":"object","title":"MsgChannelUpgradeConfirmResponse defines MsgChannelUpgradeConfirm response type","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgChannelUpgradeInit":{"description":"MsgChannelUpgradeInit defines the request type for the ChannelUpgradeInit rpc\nWARNING: Initializing a channel upgrade in the same block as opening the channel\nmay result in the counterparty being incapable of opening.","type":"object","properties":{"channel_id":{"type":"string"},"fields":{"$ref":"#/definitions/ibc.core.channel.v1.UpgradeFields"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeInitResponse":{"type":"object","title":"MsgChannelUpgradeInitResponse defines the MsgChannelUpgradeInit response type","properties":{"upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"upgrade_sequence":{"type":"string","format":"uint64"}}},"ibc.core.channel.v1.MsgChannelUpgradeOpen":{"type":"object","title":"MsgChannelUpgradeOpen defines the request type for the ChannelUpgradeOpen rpc","properties":{"channel_id":{"type":"string"},"counterparty_channel_state":{"$ref":"#/definitions/ibc.core.channel.v1.State"},"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeOpenResponse":{"type":"object","title":"MsgChannelUpgradeOpenResponse defines the MsgChannelUpgradeOpen response type"},"ibc.core.channel.v1.MsgChannelUpgradeTimeout":{"type":"object","title":"MsgChannelUpgradeTimeout defines the request type for the ChannelUpgradeTimeout rpc","properties":{"channel_id":{"type":"string"},"counterparty_channel":{"$ref":"#/definitions/ibc.core.channel.v1.Channel"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeTimeoutResponse":{"type":"object","title":"MsgChannelUpgradeTimeoutRepsonse defines the MsgChannelUpgradeTimeout response type"},"ibc.core.channel.v1.MsgChannelUpgradeTry":{"type":"object","title":"MsgChannelUpgradeTry defines the request type for the ChannelUpgradeTry rpc","properties":{"channel_id":{"type":"string"},"counterparty_upgrade_fields":{"$ref":"#/definitions/ibc.core.channel.v1.UpgradeFields"},"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_upgrade":{"type":"string","format":"byte"},"proposed_upgrade_connection_hops":{"type":"array","items":{"type":"string"}},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeTryResponse":{"type":"object","title":"MsgChannelUpgradeTryResponse defines the MsgChannelUpgradeTry response type","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"},"upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"upgrade_sequence":{"type":"string","format":"uint64"}}},"ibc.core.channel.v1.MsgPruneAcknowledgements":{"description":"MsgPruneAcknowledgements defines the request type for the PruneAcknowledgements rpc.","type":"object","properties":{"channel_id":{"type":"string"},"limit":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgPruneAcknowledgementsResponse":{"description":"MsgPruneAcknowledgementsResponse defines the response type for the PruneAcknowledgements rpc.","type":"object","properties":{"total_pruned_sequences":{"description":"Number of sequences pruned (includes both packet acknowledgements and packet receipts where appropriate).","type":"string","format":"uint64"},"total_remaining_sequences":{"description":"Number of sequences left after pruning.","type":"string","format":"uint64"}}},"ibc.core.channel.v1.MsgRecvPacket":{"type":"object","title":"MsgRecvPacket receives incoming IBC packet","properties":{"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_commitment":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgRecvPacketResponse":{"description":"MsgRecvPacketResponse defines the Msg/RecvPacket response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgTimeout":{"type":"object","title":"MsgTimeout receives timed-out packet","properties":{"next_sequence_recv":{"type":"string","format":"uint64"},"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_unreceived":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgTimeoutOnClose":{"description":"MsgTimeoutOnClose timed-out packet upon counterparty channel closure.","type":"object","properties":{"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"next_sequence_recv":{"type":"string","format":"uint64"},"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_close":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_unreceived":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgTimeoutOnCloseResponse":{"description":"MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgTimeoutResponse":{"description":"MsgTimeoutResponse defines the Msg/Timeout response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the MsgUpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the channel parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.core.channel.v1.Params"}}},"ibc.core.channel.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the MsgUpdateParams response type.","type":"object"},"ibc.core.channel.v1.Order":{"description":"- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering\n - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in\nwhich they were sent.\n - ORDER_ORDERED: packets are delivered exactly in the order which they were sent","type":"string","title":"Order defines if a channel is ORDERED or UNORDERED","default":"ORDER_NONE_UNSPECIFIED","enum":["ORDER_NONE_UNSPECIFIED","ORDER_UNORDERED","ORDER_ORDERED"]},"ibc.core.channel.v1.Packet":{"type":"object","title":"Packet defines a type that carries data across different chains through IBC","properties":{"data":{"type":"string","format":"byte","title":"actual opaque bytes transferred directly to the application module"},"destination_channel":{"description":"identifies the channel end on the receiving chain.","type":"string"},"destination_port":{"description":"identifies the port on the receiving chain.","type":"string"},"sequence":{"description":"number corresponds to the order of sends and receives, where a Packet\nwith an earlier sequence number must be sent and received before a Packet\nwith a later sequence number.","type":"string","format":"uint64"},"source_channel":{"description":"identifies the channel end on the sending chain.","type":"string"},"source_port":{"description":"identifies the port on the sending chain.","type":"string"},"timeout_height":{"title":"block height after which the packet times out","$ref":"#/definitions/ibc.core.client.v1.Height"},"timeout_timestamp":{"type":"string","format":"uint64","title":"block timestamp (in nanoseconds) after which the packet times out"}}},"ibc.core.channel.v1.PacketId":{"type":"object","title":"PacketId is an identifer for a unique Packet\nSource chains refer to packets by source port/channel\nDestination chains refer to packets by destination port/channel","properties":{"channel_id":{"type":"string","title":"channel unique identifier"},"port_id":{"type":"string","title":"channel port identifier"},"sequence":{"type":"string","format":"uint64","title":"packet sequence"}}},"ibc.core.channel.v1.PacketState":{"description":"PacketState defines the generic type necessary to retrieve and store\npacket commitments, acknowledgements, and receipts.\nCaller is responsible for knowing the context necessary to interpret this\nstate as a commitment, acknowledgement, or a receipt.","type":"object","properties":{"channel_id":{"description":"channel unique identifier.","type":"string"},"data":{"description":"embedded data that represents packet state.","type":"string","format":"byte"},"port_id":{"description":"channel port identifier.","type":"string"},"sequence":{"description":"packet sequence.","type":"string","format":"uint64"}}},"ibc.core.channel.v1.Params":{"description":"Params defines the set of IBC channel parameters.","type":"object","properties":{"upgrade_timeout":{"description":"the relative timeout after which channel upgrades will time out.","$ref":"#/definitions/ibc.core.channel.v1.Timeout"}}},"ibc.core.channel.v1.QueryChannelClientStateResponse":{"type":"object","title":"QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method","properties":{"identified_client_state":{"title":"client state associated with the channel","$ref":"#/definitions/ibc.core.client.v1.IdentifiedClientState"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryChannelConsensusStateResponse":{"type":"object","title":"QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method","properties":{"client_id":{"type":"string","title":"client ID associated with the consensus state"},"consensus_state":{"title":"consensus state associated with the channel","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryChannelParamsResponse":{"description":"QueryChannelParamsResponse is the response type for the Query/ChannelParams RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.core.channel.v1.Params"}}},"ibc.core.channel.v1.QueryChannelResponse":{"description":"QueryChannelResponse is the response type for the Query/Channel RPC method.\nBesides the Channel end, it includes a proof and the height from which the\nproof was retrieved.","type":"object","properties":{"channel":{"title":"channel associated with the request identifiers","$ref":"#/definitions/ibc.core.channel.v1.Channel"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryChannelsResponse":{"description":"QueryChannelsResponse is the response type for the Query/Channels RPC method.","type":"object","properties":{"channels":{"description":"list of stored channels of the chain.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.IdentifiedChannel"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryConnectionChannelsResponse":{"type":"object","title":"QueryConnectionChannelsResponse is the Response type for the\nQuery/QueryConnectionChannels RPC method","properties":{"channels":{"description":"list of channels associated with a connection.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.IdentifiedChannel"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryNextSequenceReceiveResponse":{"type":"object","title":"QuerySequenceResponse is the response type for the\nQuery/QueryNextSequenceReceiveResponse RPC method","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","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryNextSequenceSendResponse":{"type":"object","title":"QueryNextSequenceSendResponse is the request type for the\nQuery/QueryNextSequenceSend RPC method","properties":{"next_sequence_send":{"type":"string","format":"uint64","title":"next sequence send number"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryPacketAcknowledgementResponse":{"type":"object","title":"QueryPacketAcknowledgementResponse defines the client query response for a\npacket which also includes a proof and the height from which the\nproof was retrieved","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","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryPacketAcknowledgementsResponse":{"type":"object","title":"QueryPacketAcknowledgemetsResponse is the request type for the\nQuery/QueryPacketAcknowledgements RPC method","properties":{"acknowledgements":{"type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.PacketState"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryPacketCommitmentResponse":{"type":"object","title":"QueryPacketCommitmentResponse defines the client query response for a packet\nwhich also includes a proof and the height from which the proof was\nretrieved","properties":{"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","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryPacketCommitmentsResponse":{"type":"object","title":"QueryPacketCommitmentsResponse is the request type for the\nQuery/QueryPacketCommitments RPC method","properties":{"commitments":{"type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.PacketState"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryPacketReceiptResponse":{"type":"object","title":"QueryPacketReceiptResponse defines the client query response for a packet\nreceipt which also includes a proof, and the height from which the proof was\nretrieved","properties":{"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"},"received":{"type":"boolean","title":"success flag for if receipt exists"}}},"ibc.core.channel.v1.QueryUnreceivedAcksResponse":{"type":"object","title":"QueryUnreceivedAcksResponse is the response type for the\nQuery/UnreceivedAcks RPC method","properties":{"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"sequences":{"type":"array","title":"list of unreceived acknowledgement sequences","items":{"type":"string","format":"uint64"}}}},"ibc.core.channel.v1.QueryUnreceivedPacketsResponse":{"type":"object","title":"QueryUnreceivedPacketsResponse is the response type for the\nQuery/UnreceivedPacketCommitments RPC method","properties":{"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"sequences":{"type":"array","title":"list of unreceived packet sequences","items":{"type":"string","format":"uint64"}}}},"ibc.core.channel.v1.QueryUpgradeErrorResponse":{"type":"object","title":"QueryUpgradeErrorResponse is the response type for the Query/QueryUpgradeError RPC method","properties":{"error_receipt":{"$ref":"#/definitions/ibc.core.channel.v1.ErrorReceipt"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryUpgradeResponse":{"type":"object","title":"QueryUpgradeResponse is the response type for the QueryUpgradeResponse RPC method","properties":{"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"},"upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"}}},"ibc.core.channel.v1.ResponseResultType":{"description":"- RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration\n - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed)\n - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully\n - RESPONSE_RESULT_TYPE_FAILURE: The message was executed unsuccessfully","type":"string","title":"ResponseResultType defines the possible outcomes of the execution of a message","default":"RESPONSE_RESULT_TYPE_UNSPECIFIED","enum":["RESPONSE_RESULT_TYPE_UNSPECIFIED","RESPONSE_RESULT_TYPE_NOOP","RESPONSE_RESULT_TYPE_SUCCESS","RESPONSE_RESULT_TYPE_FAILURE"]},"ibc.core.channel.v1.State":{"description":"State defines if a channel is in one of the following states:\nCLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A channel has just started the opening handshake.\n - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.\n - STATE_OPEN: A channel has completed the handshake. Open channels are\nready to send and receive packets.\n - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive\npackets.\n - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets.\n - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.","type":"string","default":"STATE_UNINITIALIZED_UNSPECIFIED","enum":["STATE_UNINITIALIZED_UNSPECIFIED","STATE_INIT","STATE_TRYOPEN","STATE_OPEN","STATE_CLOSED","STATE_FLUSHING","STATE_FLUSHCOMPLETE"]},"ibc.core.channel.v1.Timeout":{"description":"Timeout defines an execution deadline structure for 04-channel handlers.\nThis includes packet lifecycle handlers as well as the upgrade handshake handlers.\nA valid Timeout contains either one or both of a timestamp and block height (sequence).","type":"object","properties":{"height":{"title":"block height after which the packet or upgrade times out","$ref":"#/definitions/ibc.core.client.v1.Height"},"timestamp":{"type":"string","format":"uint64","title":"block timestamp (in nanoseconds) after which the packet or upgrade times out"}}},"ibc.core.channel.v1.Upgrade":{"description":"Upgrade is a verifiable type which contains the relevant information\nfor an attempted upgrade. It provides the proposed changes to the channel\nend, the timeout for this upgrade attempt and the next packet sequence\nwhich allows the counterparty to efficiently know the highest sequence it has received.\nThe next sequence send is used for pruning and upgrading from unordered to ordered channels.","type":"object","properties":{"fields":{"$ref":"#/definitions/ibc.core.channel.v1.UpgradeFields"},"next_sequence_send":{"type":"string","format":"uint64"},"timeout":{"$ref":"#/definitions/ibc.core.channel.v1.Timeout"}}},"ibc.core.channel.v1.UpgradeFields":{"description":"UpgradeFields are the fields in a channel end which may be changed\nduring a channel upgrade.","type":"object","properties":{"connection_hops":{"type":"array","items":{"type":"string"}},"ordering":{"$ref":"#/definitions/ibc.core.channel.v1.Order"},"version":{"type":"string"}}},"ibc.core.client.v1.ConsensusStateWithHeight":{"description":"ConsensusStateWithHeight defines a consensus state with an additional height\nfield.","type":"object","properties":{"consensus_state":{"title":"consensus state","$ref":"#/definitions/google.protobuf.Any"},"height":{"title":"consensus state height","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.client.v1.Height":{"description":"Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset","type":"object","title":"Height is a monotonically increasing data type\nthat can be compared against another Height for the purposes of updating and\nfreezing clients","properties":{"revision_height":{"type":"string","format":"uint64","title":"the height within the given revision"},"revision_number":{"type":"string","format":"uint64","title":"the revision that the client is currently on"}}},"ibc.core.client.v1.IdentifiedClientState":{"description":"IdentifiedClientState defines a client state with an additional client\nidentifier field.","type":"object","properties":{"client_id":{"type":"string","title":"client identifier"},"client_state":{"title":"client state","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.MsgCreateClient":{"type":"object","title":"MsgCreateClient defines a message to create an IBC client","properties":{"client_state":{"title":"light client state","$ref":"#/definitions/google.protobuf.Any"},"consensus_state":{"description":"consensus state associated with the client that corresponds to a given\nheight.","$ref":"#/definitions/google.protobuf.Any"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgCreateClientResponse":{"description":"MsgCreateClientResponse defines the Msg/CreateClient response type.","type":"object"},"ibc.core.client.v1.MsgIBCSoftwareUpgrade":{"type":"object","title":"MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of an IBC client using a v1 governance proposal","properties":{"plan":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"},"signer":{"type":"string","title":"signer address"},"upgraded_client_state":{"description":"An UpgradedClientState must be provided to perform an IBC breaking upgrade.\nThis will make the chain commit to the correct upgraded (self) client state\nbefore the upgrade occurs, so that connecting chains can verify that the\nnew upgraded client is valid by verifying a proof on the previous version\nof the chain. This will allow IBC connections to persist smoothly across\nplanned chain upgrades. Correspondingly, the UpgradedClientState field has been\ndeprecated in the Cosmos SDK to allow for this logic to exist solely in\nthe 02-client module.","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse":{"description":"MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response type.","type":"object"},"ibc.core.client.v1.MsgRecoverClient":{"description":"MsgRecoverClient defines the message used to recover a frozen or expired client.","type":"object","properties":{"signer":{"type":"string","title":"signer address"},"subject_client_id":{"type":"string","title":"the client identifier for the client to be updated if the proposal passes"},"substitute_client_id":{"type":"string","title":"the substitute client identifier for the client which will replace the subject\nclient"}}},"ibc.core.client.v1.MsgRecoverClientResponse":{"description":"MsgRecoverClientResponse defines the Msg/RecoverClient response type.","type":"object"},"ibc.core.client.v1.MsgSubmitMisbehaviour":{"description":"MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for\nlight client misbehaviour.\nThis message has been deprecated. Use MsgUpdateClient instead.","type":"object","properties":{"client_id":{"type":"string","title":"client unique identifier"},"misbehaviour":{"title":"misbehaviour used for freezing the light client","$ref":"#/definitions/google.protobuf.Any"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgSubmitMisbehaviourResponse":{"description":"MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response\ntype.","type":"object"},"ibc.core.client.v1.MsgUpdateClient":{"description":"MsgUpdateClient defines an sdk.Msg to update a IBC client state using\nthe given client message.","type":"object","properties":{"client_id":{"type":"string","title":"client unique identifier"},"client_message":{"title":"client message to update the light client","$ref":"#/definitions/google.protobuf.Any"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgUpdateClientResponse":{"description":"MsgUpdateClientResponse defines the Msg/UpdateClient response type.","type":"object"},"ibc.core.client.v1.MsgUpdateParams":{"description":"MsgUpdateParams defines the sdk.Msg type to update the client parameters.","type":"object","properties":{"params":{"description":"params defines the client parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.core.client.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the MsgUpdateParams response type.","type":"object"},"ibc.core.client.v1.MsgUpgradeClient":{"type":"object","title":"MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client\nstate","properties":{"client_id":{"type":"string","title":"client unique identifier"},"client_state":{"title":"upgraded client state","$ref":"#/definitions/google.protobuf.Any"},"consensus_state":{"title":"upgraded consensus state, only contains enough information to serve as a\nbasis of trust in update logic","$ref":"#/definitions/google.protobuf.Any"},"proof_upgrade_client":{"type":"string","format":"byte","title":"proof that old chain committed to new client"},"proof_upgrade_consensus_state":{"type":"string","format":"byte","title":"proof that old chain committed to new consensus state"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgUpgradeClientResponse":{"description":"MsgUpgradeClientResponse defines the Msg/UpgradeClient response type.","type":"object"},"ibc.core.client.v1.Params":{"description":"Params defines the set of IBC light client parameters.","type":"object","properties":{"allowed_clients":{"description":"allowed_clients defines the list of allowed client state types which can be created\nand interacted with. If a client type is removed from the allowed clients list, usage\nof this client will be disabled until it is added again to the list.","type":"array","items":{"type":"string"}}}},"ibc.core.client.v1.QueryClientParamsResponse":{"description":"QueryClientParamsResponse is the response type for the Query/ClientParams RPC\nmethod.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.core.client.v1.Params"}}},"ibc.core.client.v1.QueryClientStateResponse":{"description":"QueryClientStateResponse is the response type for the Query/ClientState RPC\nmethod. Besides the client state, it includes a proof and the height from\nwhich the proof was retrieved.","type":"object","properties":{"client_state":{"title":"client state associated with the request identifier","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.client.v1.QueryClientStatesResponse":{"description":"QueryClientStatesResponse is the response type for the Query/ClientStates RPC\nmethod.","type":"object","properties":{"client_states":{"description":"list of stored ClientStates of the chain.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.client.v1.IdentifiedClientState"}},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.client.v1.QueryClientStatusResponse":{"description":"QueryClientStatusResponse is the response type for the Query/ClientStatus RPC\nmethod. It returns the current status of the IBC client.","type":"object","properties":{"status":{"type":"string"}}},"ibc.core.client.v1.QueryConsensusStateHeightsResponse":{"type":"object","title":"QueryConsensusStateHeightsResponse is the response type for the\nQuery/ConsensusStateHeights RPC method","properties":{"consensus_state_heights":{"type":"array","title":"consensus state heights","items":{"type":"object","$ref":"#/definitions/ibc.core.client.v1.Height"}},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.client.v1.QueryConsensusStateResponse":{"type":"object","title":"QueryConsensusStateResponse is the response type for the Query/ConsensusState\nRPC method","properties":{"consensus_state":{"title":"consensus state associated with the client identifier at the given height","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.client.v1.QueryConsensusStatesResponse":{"type":"object","title":"QueryConsensusStatesResponse is the response type for the\nQuery/ConsensusStates RPC method","properties":{"consensus_states":{"type":"array","title":"consensus states associated with the identifier","items":{"type":"object","$ref":"#/definitions/ibc.core.client.v1.ConsensusStateWithHeight"}},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.client.v1.QueryUpgradedClientStateResponse":{"description":"QueryUpgradedClientStateResponse is the response type for the\nQuery/UpgradedClientState RPC method.","type":"object","properties":{"upgraded_client_state":{"title":"client state associated with the request identifier","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.QueryUpgradedConsensusStateResponse":{"description":"QueryUpgradedConsensusStateResponse is the response type for the\nQuery/UpgradedConsensusState RPC method.","type":"object","properties":{"upgraded_consensus_state":{"title":"Consensus state associated with the request identifier","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.QueryVerifyMembershipRequest":{"type":"object","title":"QueryVerifyMembershipRequest is the request type for the Query/VerifyMembership RPC method","properties":{"block_delay":{"type":"string","format":"uint64","title":"optional block delay"},"client_id":{"description":"client unique identifier.","type":"string"},"merkle_path":{"description":"the commitment key path.","$ref":"#/definitions/ibc.core.commitment.v1.MerklePath"},"proof":{"description":"the proof to be verified by the client.","type":"string","format":"byte"},"proof_height":{"description":"the height of the commitment root at which the proof is verified.","$ref":"#/definitions/ibc.core.client.v1.Height"},"time_delay":{"type":"string","format":"uint64","title":"optional time delay"},"value":{"description":"the value which is proven.","type":"string","format":"byte"}}},"ibc.core.client.v1.QueryVerifyMembershipResponse":{"type":"object","title":"QueryVerifyMembershipResponse is the response type for the Query/VerifyMembership RPC method","properties":{"success":{"description":"boolean indicating success or failure of proof verification.","type":"boolean"}}},"ibc.core.commitment.v1.MerklePath":{"type":"object","title":"MerklePath is the path used to verify commitment proofs, which can be an\narbitrary structured object (defined by a commitment type).\nMerklePath is represented from root-to-leaf","properties":{"key_path":{"type":"array","items":{"type":"string"}}}},"ibc.core.commitment.v1.MerklePrefix":{"type":"object","title":"MerklePrefix is merkle path prefixed to the key.\nThe constructed key from the Path and the key will be append(Path.KeyPath,\nappend(Path.KeyPrefix, key...))","properties":{"key_prefix":{"type":"string","format":"byte"}}},"ibc.core.connection.v1.ConnectionEnd":{"description":"ConnectionEnd defines a stateful object on a chain connected to another\nseparate one.\nNOTE: there must only be 2 defined ConnectionEnds to establish\na connection between two chains.","type":"object","properties":{"client_id":{"description":"client associated with this connection.","type":"string"},"counterparty":{"description":"counterparty chain associated with this connection.","$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"delay_period":{"description":"delay period that must pass before a consensus state can be used for\npacket-verification NOTE: delay period logic is only implemented by some\nclients.","type":"string","format":"uint64"},"state":{"description":"current state of the connection end.","$ref":"#/definitions/ibc.core.connection.v1.State"},"versions":{"description":"IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.Version"}}}},"ibc.core.connection.v1.Counterparty":{"description":"Counterparty defines the counterparty chain associated with a connection end.","type":"object","properties":{"client_id":{"description":"identifies the client on the counterparty chain associated with a given\nconnection.","type":"string"},"connection_id":{"description":"identifies the connection end on the counterparty chain associated with a\ngiven connection.","type":"string"},"prefix":{"description":"commitment merkle prefix of the counterparty chain.","$ref":"#/definitions/ibc.core.commitment.v1.MerklePrefix"}}},"ibc.core.connection.v1.IdentifiedConnection":{"description":"IdentifiedConnection defines a connection with additional connection\nidentifier field.","type":"object","properties":{"client_id":{"description":"client associated with this connection.","type":"string"},"counterparty":{"description":"counterparty chain associated with this connection.","$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"delay_period":{"description":"delay period associated with this connection.","type":"string","format":"uint64"},"id":{"description":"connection identifier.","type":"string"},"state":{"description":"current state of the connection end.","$ref":"#/definitions/ibc.core.connection.v1.State"},"versions":{"type":"array","title":"IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.Version"}}}},"ibc.core.connection.v1.MsgConnectionOpenAck":{"description":"MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to\nacknowledge the change of connection state to TRYOPEN on Chain B.","type":"object","properties":{"client_state":{"$ref":"#/definitions/google.protobuf.Any"},"connection_id":{"type":"string"},"consensus_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"counterparty_connection_id":{"type":"string"},"host_consensus_state_proof":{"type":"string","format":"byte","title":"optional proof data for host state machines that are unable to introspect their own consensus state"},"proof_client":{"type":"string","format":"byte","title":"proof of client state included in message"},"proof_consensus":{"type":"string","format":"byte","title":"proof of client consensus state"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_try":{"type":"string","format":"byte","title":"proof of the initialization the connection on Chain B: `UNITIALIZED -\u003e\nTRYOPEN`"},"signer":{"type":"string"},"version":{"$ref":"#/definitions/ibc.core.connection.v1.Version"}}},"ibc.core.connection.v1.MsgConnectionOpenAckResponse":{"description":"MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type.","type":"object"},"ibc.core.connection.v1.MsgConnectionOpenConfirm":{"description":"MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of connection state to OPEN on Chain A.","type":"object","properties":{"connection_id":{"type":"string"},"proof_ack":{"type":"string","format":"byte","title":"proof for the change of the connection state on Chain A: `INIT -\u003e OPEN`"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.connection.v1.MsgConnectionOpenConfirmResponse":{"description":"MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm\nresponse type.","type":"object"},"ibc.core.connection.v1.MsgConnectionOpenInit":{"description":"MsgConnectionOpenInit defines the msg sent by an account on Chain A to\ninitialize a connection with Chain B.","type":"object","properties":{"client_id":{"type":"string"},"counterparty":{"$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"delay_period":{"type":"string","format":"uint64"},"signer":{"type":"string"},"version":{"$ref":"#/definitions/ibc.core.connection.v1.Version"}}},"ibc.core.connection.v1.MsgConnectionOpenInitResponse":{"description":"MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response\ntype.","type":"object"},"ibc.core.connection.v1.MsgConnectionOpenTry":{"description":"MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a\nconnection on Chain B.","type":"object","properties":{"client_id":{"type":"string"},"client_state":{"$ref":"#/definitions/google.protobuf.Any"},"consensus_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"counterparty":{"$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"counterparty_versions":{"type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.Version"}},"delay_period":{"type":"string","format":"uint64"},"host_consensus_state_proof":{"type":"string","format":"byte","title":"optional proof data for host state machines that are unable to introspect their own consensus state"},"previous_connection_id":{"description":"Deprecated: this field is unused. Crossing hellos are no longer supported in core IBC.","type":"string"},"proof_client":{"type":"string","format":"byte","title":"proof of client state included in message"},"proof_consensus":{"type":"string","format":"byte","title":"proof of client consensus state"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_init":{"type":"string","format":"byte","title":"proof of the initialization the connection on Chain A: `UNITIALIZED -\u003e\nINIT`"},"signer":{"type":"string"}}},"ibc.core.connection.v1.MsgConnectionOpenTryResponse":{"description":"MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type.","type":"object"},"ibc.core.connection.v1.MsgUpdateParams":{"description":"MsgUpdateParams defines the sdk.Msg type to update the connection parameters.","type":"object","properties":{"params":{"description":"params defines the connection parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.core.connection.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.connection.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the MsgUpdateParams response type.","type":"object"},"ibc.core.connection.v1.Params":{"description":"Params defines the set of Connection parameters.","type":"object","properties":{"max_expected_time_per_block":{"description":"maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the\nlargest amount of time that the chain might reasonably take to produce the next block under normal operating\nconditions. A safe choice is 3-5x the expected time per block.","type":"string","format":"uint64"}}},"ibc.core.connection.v1.QueryClientConnectionsResponse":{"type":"object","title":"QueryClientConnectionsResponse is the response type for the\nQuery/ClientConnections RPC method","properties":{"connection_paths":{"description":"slice of all the connection paths associated with a client.","type":"array","items":{"type":"string"}},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was generated","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionClientStateResponse":{"type":"object","title":"QueryConnectionClientStateResponse is the response type for the\nQuery/ConnectionClientState RPC method","properties":{"identified_client_state":{"title":"client state associated with the channel","$ref":"#/definitions/ibc.core.client.v1.IdentifiedClientState"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionConsensusStateResponse":{"type":"object","title":"QueryConnectionConsensusStateResponse is the response type for the\nQuery/ConnectionConsensusState RPC method","properties":{"client_id":{"type":"string","title":"client ID associated with the consensus state"},"consensus_state":{"title":"consensus state associated with the channel","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionParamsResponse":{"description":"QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.core.connection.v1.Params"}}},"ibc.core.connection.v1.QueryConnectionResponse":{"description":"QueryConnectionResponse is the response type for the Query/Connection RPC\nmethod. Besides the connection end, it includes a proof and the height from\nwhich the proof was retrieved.","type":"object","properties":{"connection":{"title":"connection associated with the request identifier","$ref":"#/definitions/ibc.core.connection.v1.ConnectionEnd"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionsResponse":{"description":"QueryConnectionsResponse is the response type for the Query/Connections RPC\nmethod.","type":"object","properties":{"connections":{"description":"list of stored connections of the chain.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.IdentifiedConnection"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.connection.v1.State":{"description":"State defines if a connection is in one of the following states:\nINIT, TRYOPEN, OPEN or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A connection end has just started the opening handshake.\n - STATE_TRYOPEN: A connection end has acknowledged the handshake step on the counterparty\nchain.\n - STATE_OPEN: A connection end has completed the handshake.","type":"string","default":"STATE_UNINITIALIZED_UNSPECIFIED","enum":["STATE_UNINITIALIZED_UNSPECIFIED","STATE_INIT","STATE_TRYOPEN","STATE_OPEN"]},"ibc.core.connection.v1.Version":{"description":"Version defines the versioning scheme used to negotiate the IBC verison in\nthe connection handshake.","type":"object","properties":{"features":{"type":"array","title":"list of features compatible with the specified identifier","items":{"type":"string"}},"identifier":{"type":"string","title":"unique version identifier"}}},"ibc.lightclients.wasm.v1.MsgMigrateContract":{"description":"MsgMigrateContract defines the request type for the MigrateContract rpc.","type":"object","properties":{"checksum":{"type":"string","format":"byte","title":"checksum is the sha256 hash of the new wasm byte code for the contract"},"client_id":{"type":"string","title":"the client id of the contract"},"msg":{"type":"string","format":"byte","title":"the json encoded message to be passed to the contract on migration"},"signer":{"type":"string","title":"signer address"}}},"ibc.lightclients.wasm.v1.MsgMigrateContractResponse":{"type":"object","title":"MsgMigrateContractResponse defines the response type for the MigrateContract rpc"},"ibc.lightclients.wasm.v1.MsgRemoveChecksum":{"description":"MsgRemoveChecksum defines the request type for the MsgRemoveChecksum rpc.","type":"object","properties":{"checksum":{"type":"string","format":"byte","title":"checksum is the sha256 hash to be removed from the store"},"signer":{"type":"string","title":"signer address"}}},"ibc.lightclients.wasm.v1.MsgRemoveChecksumResponse":{"type":"object","title":"MsgStoreChecksumResponse defines the response type for the StoreCode rpc"},"ibc.lightclients.wasm.v1.MsgStoreCode":{"description":"MsgStoreCode defines the request type for the StoreCode rpc.","type":"object","properties":{"signer":{"type":"string","title":"signer address"},"wasm_byte_code":{"type":"string","format":"byte","title":"wasm byte code of light client contract. It can be raw or gzip compressed"}}},"ibc.lightclients.wasm.v1.MsgStoreCodeResponse":{"type":"object","title":"MsgStoreCodeResponse defines the response type for the StoreCode rpc","properties":{"checksum":{"type":"string","format":"byte","title":"checksum is the sha256 hash of the stored code"}}},"ibc.lightclients.wasm.v1.QueryChecksumsResponse":{"description":"QueryChecksumsResponse is the response type for the Query/Checksums RPC method.","type":"object","properties":{"checksums":{"description":"checksums is a list of the hex encoded checksums of all wasm codes stored.","type":"array","items":{"type":"string"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.lightclients.wasm.v1.QueryCodeResponse":{"description":"QueryCodeResponse is the response type for the Query/Code RPC method.","type":"object","properties":{"data":{"type":"string","format":"byte"}}},"tendermint.abci.CheckTxType":{"type":"string","default":"NEW","enum":["NEW","RECHECK"]},"tendermint.abci.CommitInfo":{"type":"object","properties":{"round":{"type":"integer","format":"int32"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.VoteInfo"}}}},"tendermint.abci.Event":{"description":"Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.EventAttribute"}},"type":{"type":"string"}}},"tendermint.abci.EventAttribute":{"description":"EventAttribute is a single key-value pair, associated with an event.","type":"object","properties":{"index":{"type":"boolean","title":"nondeterministic"},"key":{"type":"string"},"value":{"type":"string"}}},"tendermint.abci.ExecTxResult":{"description":"ExecTxResult contains results of executing one individual transaction.\n\n* Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","title":"nondeterministic","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ExtendedCommitInfo":{"description":"ExtendedCommitInfo is similar to CommitInfo except that it is only used in\nthe PrepareProposal request such that CometBFT can provide vote extensions\nto the application.","type":"object","properties":{"round":{"description":"The round at which the block proposer decided in the previous height.","type":"integer","format":"int32"},"votes":{"description":"List of validators' addresses in the last validator set with their voting\ninformation, including vote extensions.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExtendedVoteInfo"}}}},"tendermint.abci.ExtendedVoteInfo":{"type":"object","properties":{"block_id_flag":{"title":"block_id_flag indicates whether the validator voted for a block, nil, or did not vote at all","$ref":"#/definitions/tendermint.types.BlockIDFlag"},"extension_signature":{"type":"string","format":"byte","title":"Vote extension signature created by CometBFT"},"validator":{"description":"The validator that sent the vote.","$ref":"#/definitions/tendermint.abci.Validator"},"vote_extension":{"description":"Non-deterministic extension provided by the sending validator's application.","type":"string","format":"byte"}}},"tendermint.abci.Misbehavior":{"type":"object","properties":{"height":{"type":"string","format":"int64","title":"The height when the offense occurred"},"time":{"type":"string","format":"date-time","title":"The corresponding time where the offense occurred"},"total_voting_power":{"type":"string","format":"int64","title":"Total voting power of the validator set in case the ABCI application does\nnot store historical validators.\nhttps://github.com/tendermint/tendermint/issues/4581"},"type":{"$ref":"#/definitions/tendermint.abci.MisbehaviorType"},"validator":{"title":"The offending validator","$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.abci.MisbehaviorType":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","DUPLICATE_VOTE","LIGHT_CLIENT_ATTACK"]},"tendermint.abci.RequestApplySnapshotChunk":{"type":"object","title":"Applies a snapshot chunk","properties":{"chunk":{"type":"string","format":"byte"},"index":{"type":"integer","format":"int64"},"sender":{"type":"string"}}},"tendermint.abci.RequestCheckTx":{"type":"object","properties":{"tx":{"type":"string","format":"byte"},"type":{"$ref":"#/definitions/tendermint.abci.CheckTxType"}}},"tendermint.abci.RequestCommit":{"type":"object"},"tendermint.abci.RequestEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.RequestExtendVote":{"type":"object","title":"Extends a vote with application-injected data","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this vote may be referring to"},"height":{"type":"string","format":"int64","title":"the height of the extended vote"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time","title":"info of the block that this vote may be referring to"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFinalizeBlock":{"type":"object","properties":{"decided_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"hash":{"description":"hash is the merkle root hash of the fields of the decided block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"proposer_address is the address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFlush":{"type":"object"},"tendermint.abci.RequestInfo":{"type":"object","properties":{"abci_version":{"type":"string"},"block_version":{"type":"string","format":"uint64"},"p2p_version":{"type":"string","format":"uint64"},"version":{"type":"string"}}},"tendermint.abci.RequestInitChain":{"type":"object","properties":{"app_state_bytes":{"type":"string","format":"byte"},"chain_id":{"type":"string"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"initial_height":{"type":"string","format":"int64"},"time":{"type":"string","format":"date-time"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.RequestListSnapshots":{"type":"object","title":"lists available snapshots"},"tendermint.abci.RequestLoadSnapshotChunk":{"type":"object","title":"loads a snapshot chunk","properties":{"chunk":{"type":"integer","format":"int64"},"format":{"type":"integer","format":"int64"},"height":{"type":"string","format":"uint64"}}},"tendermint.abci.RequestOfferSnapshot":{"type":"object","title":"offers a snapshot to the application","properties":{"app_hash":{"type":"string","format":"byte","title":"light client-verified app hash for snapshot height"},"snapshot":{"title":"snapshot offered by peers","$ref":"#/definitions/tendermint.abci.Snapshot"}}},"tendermint.abci.RequestPrepareProposal":{"type":"object","properties":{"height":{"type":"string","format":"int64"},"local_last_commit":{"$ref":"#/definitions/tendermint.abci.ExtendedCommitInfo"},"max_tx_bytes":{"description":"the modified transactions cannot exceed this size.","type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"address of the public key of the validator proposing the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"description":"txs is an array of transactions that will be included in a block,\nsent to the app for possible modifications.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestProcessProposal":{"type":"object","properties":{"hash":{"description":"hash is the merkle root hash of the fields of the proposed block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestQuery":{"type":"object","properties":{"data":{"type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"path":{"type":"string"},"prove":{"type":"boolean"}}},"tendermint.abci.RequestVerifyVoteExtension":{"type":"object","title":"Verify the vote extension","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this received vote corresponds to"},"height":{"type":"string","format":"int64"},"validator_address":{"type":"string","format":"byte","title":"the validator that signed the vote extension"},"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseApplySnapshotChunk":{"type":"object","properties":{"refetch_chunks":{"type":"array","title":"Chunks to refetch and reapply","items":{"type":"integer","format":"int64"}},"reject_senders":{"type":"array","title":"Chunk senders to reject and ban","items":{"type":"string"}},"result":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk.Result"}}},"tendermint.abci.ResponseApplySnapshotChunk.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Chunk successfully accepted\n - ABORT: Abort all snapshot restoration\n - RETRY: Retry chunk (combine with refetch and reject)\n - RETRY_SNAPSHOT: Retry snapshot (combine with refetch and reject)\n - REJECT_SNAPSHOT: Reject this snapshot, try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","RETRY","RETRY_SNAPSHOT","REJECT_SNAPSHOT"]},"tendermint.abci.ResponseCheckTx":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ResponseCommit":{"type":"object","properties":{"retain_height":{"type":"string","format":"int64"}}},"tendermint.abci.ResponseEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.ResponseExtendVote":{"type":"object","properties":{"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseFinalizeBlock":{"type":"object","properties":{"app_hash":{"description":"app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was\ndeterministic. It is up to the application to decide which algorithm to use.","type":"string","format":"byte"},"consensus_param_updates":{"description":"updates to the consensus params, if any.","$ref":"#/definitions/tendermint.types.ConsensusParams"},"events":{"type":"array","title":"set of block events emmitted as part of executing the block","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"tx_results":{"type":"array","title":"the result of executing each transaction including the events\nthe particular transction emitted. This should match the order\nof the transactions delivered in the block itself","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExecTxResult"}},"validator_updates":{"description":"a list of updates to the validator set. These will reflect the validator set at current height + 2.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseFlush":{"type":"object"},"tendermint.abci.ResponseInfo":{"type":"object","properties":{"app_version":{"type":"string","format":"uint64"},"data":{"type":"string"},"last_block_app_hash":{"type":"string","format":"byte"},"last_block_height":{"type":"string","format":"int64"},"version":{"type":"string"}}},"tendermint.abci.ResponseInitChain":{"type":"object","properties":{"app_hash":{"type":"string","format":"byte"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseListSnapshots":{"type":"object","properties":{"snapshots":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Snapshot"}}}},"tendermint.abci.ResponseLoadSnapshotChunk":{"type":"object","properties":{"chunk":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseOfferSnapshot":{"type":"object","properties":{"result":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot.Result"}}},"tendermint.abci.ResponseOfferSnapshot.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Snapshot accepted, apply chunks\n - ABORT: Abort all snapshot restoration\n - REJECT: Reject this specific snapshot, try others\n - REJECT_FORMAT: Reject all snapshots of this format, try others\n - REJECT_SENDER: Reject all snapshots from the sender(s), try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","REJECT","REJECT_FORMAT","REJECT_SENDER"]},"tendermint.abci.ResponsePrepareProposal":{"type":"object","properties":{"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.ResponseProcessProposal":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal.ProposalStatus"}}},"tendermint.abci.ResponseProcessProposal.ProposalStatus":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.ResponseQuery":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"description":"bytes data = 2; // use \"value\" instead.\n\nnondeterministic","type":"string"},"proof_ops":{"$ref":"#/definitions/tendermint.crypto.ProofOps"},"value":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseVerifyVoteExtension":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus"}}},"tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus":{"description":" - REJECT: Rejecting the vote extension will reject the entire precommit by the sender.\nIncorrectly implementing this thus has liveness implications as it may affect\nCometBFT's ability to receive 2/3+ valid votes to finalize the block.\nHonest nodes should never be rejected.","type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.Snapshot":{"type":"object","properties":{"chunks":{"type":"integer","format":"int64","title":"Number of chunks in the snapshot"},"format":{"type":"integer","format":"int64","title":"The application-specific snapshot format"},"hash":{"type":"string","format":"byte","title":"Arbitrary snapshot hash, equal only if identical"},"height":{"type":"string","format":"uint64","title":"The height at which the snapshot was taken"},"metadata":{"type":"string","format":"byte","title":"Arbitrary application metadata"}}},"tendermint.abci.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte","title":"The first 20 bytes of SHA256(public key)"},"power":{"description":"The voting power","type":"string","format":"int64","title":"PubKey pub_key = 2 [(gogoproto.nullable)=false];"}}},"tendermint.abci.ValidatorUpdate":{"type":"object","properties":{"power":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"}}},"tendermint.abci.VoteInfo":{"type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"validator":{"$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.crypto.ProofOp":{"type":"object","title":"ProofOp defines an operation used for calculating Merkle root\nThe data could be arbitrary format, providing nessecary data\nfor example neighbouring node hash","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"tendermint.crypto.ProofOps":{"type":"object","title":"ProofOps is Merkle proof defined by the list of ProofOps","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.crypto.ProofOp"}}}},"tendermint.crypto.PublicKey":{"type":"object","title":"PublicKey defines the keys available for use with Validators","properties":{"ed25519":{"type":"string","format":"byte"},"secp256k1":{"type":"string","format":"byte"}}},"tendermint.p2p.DefaultNodeInfo":{"type":"object","properties":{"channels":{"type":"string","format":"byte"},"default_node_id":{"type":"string"},"listen_addr":{"type":"string"},"moniker":{"type":"string"},"network":{"type":"string"},"other":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfoOther"},"protocol_version":{"$ref":"#/definitions/tendermint.p2p.ProtocolVersion"},"version":{"type":"string"}}},"tendermint.p2p.DefaultNodeInfoOther":{"type":"object","properties":{"rpc_address":{"type":"string"},"tx_index":{"type":"string"}}},"tendermint.p2p.ProtocolVersion":{"type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"},"p2p":{"type":"string","format":"uint64"}}},"tendermint.types.ABCIParams":{"description":"ABCIParams configure functionality specific to the Application Blockchain Interface.","type":"object","properties":{"vote_extensions_enable_height":{"description":"vote_extensions_enable_height configures the first height during which\nvote extensions will be enabled. During this specified height, and for all\nsubsequent heights, precommit messages that do not contain valid extension data\nwill be considered invalid. Prior to this height, vote extensions will not\nbe used or accepted by validators on the network.\n\nOnce enabled, vote extensions will be created by the application in ExtendVote,\npassed to the application for validation in VerifyVoteExtension and given\nto the application to use when proposing a block during PrepareProposal.","type":"string","format":"int64"}}},"tendermint.types.Block":{"type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/tendermint.types.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"tendermint.types.BlockID":{"type":"object","title":"BlockID","properties":{"hash":{"type":"string","format":"byte"},"part_set_header":{"$ref":"#/definitions/tendermint.types.PartSetHeader"}}},"tendermint.types.BlockIDFlag":{"description":"- BLOCK_ID_FLAG_UNKNOWN: indicates an error condition\n - BLOCK_ID_FLAG_ABSENT: the vote was not received\n - BLOCK_ID_FLAG_COMMIT: voted for the block that received the majority\n - BLOCK_ID_FLAG_NIL: voted for nil","type":"string","title":"BlockIdFlag indicates which BlockID the signature is for","default":"BLOCK_ID_FLAG_UNKNOWN","enum":["BLOCK_ID_FLAG_UNKNOWN","BLOCK_ID_FLAG_ABSENT","BLOCK_ID_FLAG_COMMIT","BLOCK_ID_FLAG_NIL"]},"tendermint.types.BlockParams":{"description":"BlockParams contains limits on the block size.","type":"object","properties":{"max_bytes":{"type":"string","format":"int64","title":"Max block size, in bytes.\nNote: must be greater than 0"},"max_gas":{"type":"string","format":"int64","title":"Max gas per block.\nNote: must be greater or equal to -1"}}},"tendermint.types.Commit":{"description":"Commit contains the evidence that a block was committed by a set of validators.","type":"object","properties":{"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signatures":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.CommitSig"}}}},"tendermint.types.CommitSig":{"description":"CommitSig is a part of the Vote included in a Commit.","type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"signature":{"type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"validator_address":{"type":"string","format":"byte"}}},"tendermint.types.ConsensusParams":{"description":"ConsensusParams contains consensus critical parameters that determine the\nvalidity of blocks.","type":"object","properties":{"abci":{"$ref":"#/definitions/tendermint.types.ABCIParams"},"block":{"$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"},"version":{"$ref":"#/definitions/tendermint.types.VersionParams"}}},"tendermint.types.Data":{"type":"object","title":"Data contains the set of transactions included in the block","properties":{"txs":{"description":"Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.types.DuplicateVoteEvidence":{"description":"DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.","type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"},"validator_power":{"type":"string","format":"int64"},"vote_a":{"$ref":"#/definitions/tendermint.types.Vote"},"vote_b":{"$ref":"#/definitions/tendermint.types.Vote"}}},"tendermint.types.Evidence":{"type":"object","properties":{"duplicate_vote_evidence":{"$ref":"#/definitions/tendermint.types.DuplicateVoteEvidence"},"light_client_attack_evidence":{"$ref":"#/definitions/tendermint.types.LightClientAttackEvidence"}}},"tendermint.types.EvidenceList":{"type":"object","properties":{"evidence":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Evidence"}}}},"tendermint.types.EvidenceParams":{"description":"EvidenceParams determine how we handle evidence of malfeasance.","type":"object","properties":{"max_age_duration":{"description":"Max age of evidence, in time.\n\nIt should correspond with an app's \"unbonding period\" or other similar\nmechanism for handling [Nothing-At-Stake\nattacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).","type":"string"},"max_age_num_blocks":{"description":"Max age of evidence, in blocks.\n\nThe basic formula for calculating this is: MaxAgeDuration / {average block\ntime}.","type":"string","format":"int64"},"max_bytes":{"type":"string","format":"int64","title":"This sets the maximum size of total evidence in bytes that can be committed in a single block.\nand should fall comfortably under the max block bytes.\nDefault is 1048576 or 1MB"}}},"tendermint.types.Header":{"description":"Header defines the structure of a block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"type":"string","format":"byte","title":"original proposer of the block"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"tendermint.types.LightBlock":{"type":"object","properties":{"signed_header":{"$ref":"#/definitions/tendermint.types.SignedHeader"},"validator_set":{"$ref":"#/definitions/tendermint.types.ValidatorSet"}}},"tendermint.types.LightClientAttackEvidence":{"description":"LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.","type":"object","properties":{"byzantine_validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}},"common_height":{"type":"string","format":"int64"},"conflicting_block":{"$ref":"#/definitions/tendermint.types.LightBlock"},"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"}}},"tendermint.types.PartSetHeader":{"type":"object","title":"PartsetHeader","properties":{"hash":{"type":"string","format":"byte"},"total":{"type":"integer","format":"int64"}}},"tendermint.types.SignedHeader":{"type":"object","properties":{"commit":{"$ref":"#/definitions/tendermint.types.Commit"},"header":{"$ref":"#/definitions/tendermint.types.Header"}}},"tendermint.types.SignedMsgType":{"description":"SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals","type":"string","default":"SIGNED_MSG_TYPE_UNKNOWN","enum":["SIGNED_MSG_TYPE_UNKNOWN","SIGNED_MSG_TYPE_PREVOTE","SIGNED_MSG_TYPE_PRECOMMIT","SIGNED_MSG_TYPE_PROPOSAL"]},"tendermint.types.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"},"voting_power":{"type":"string","format":"int64"}}},"tendermint.types.ValidatorParams":{"description":"ValidatorParams restrict the public key types validators can use.\nNOTE: uses ABCI pubkey naming, not Amino names.","type":"object","properties":{"pub_key_types":{"type":"array","items":{"type":"string"}}}},"tendermint.types.ValidatorSet":{"type":"object","properties":{"proposer":{"$ref":"#/definitions/tendermint.types.Validator"},"total_voting_power":{"type":"string","format":"int64"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}}}},"tendermint.types.VersionParams":{"description":"VersionParams contains the ABCI application version.","type":"object","properties":{"app":{"type":"string","format":"uint64"}}},"tendermint.types.Vote":{"description":"Vote represents a prevote or precommit vote from validators for\nconsensus.","type":"object","properties":{"block_id":{"description":"zero if vote is nil.","$ref":"#/definitions/tendermint.types.BlockID"},"extension":{"description":"Vote extension provided by the application. Only valid for precommit\nmessages.","type":"string","format":"byte"},"extension_signature":{"description":"Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signature":{"description":"Vote signature by the validator if they participated in consensus for the\nassociated block.","type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"type":{"$ref":"#/definitions/tendermint.types.SignedMsgType"},"validator_address":{"type":"string","format":"byte"},"validator_index":{"type":"integer","format":"int32"}}},"tendermint.version.Consensus":{"description":"Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine.","type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"}}}},"tags":[{"name":"Query"},{"name":"Msg"},{"name":"Service"},{"name":"ReflectionService"},{"name":"ABCIListenerService"},{"name":"ABCI"}]} \ No newline at end of file diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index c249bdce..8b55c689 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -197,15 +197,15 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { }, { RpcMethod: "CouncilResponseCommit", - Use: "council-response-commit [council-id] [reponse] [suggestion]", + Use: "council-response-commit [council-id] [response] [suggestion]", Short: "Send a CouncilResponseCommit tx", - PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "councilId"}, {ProtoField: "reponse"}, {ProtoField: "suggestion"}}, + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "councilId"}, {ProtoField: "response"}, {ProtoField: "suggestion"}}, }, { RpcMethod: "CouncilResponseReveal", - Use: "council-response-reveal [council-id] [reponse] [secret]", + Use: "council-response-reveal [council-id] [response] [secret]", Short: "Send a CouncilResponseReveal tx", - PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "councilId"}, {ProtoField: "reponse"}, {ProtoField: "secret"}}, + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "councilId"}, {ProtoField: "response"}, {ProtoField: "secret"}}, }, { RpcMethod: "CouncilRestart", @@ -271,7 +271,7 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { RpcMethod: "MatchOpen", Use: "match-open [player-a] [player-b] [player-a-deck] [player-b-deck]", Short: "Send a MatchOpen tx", - PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "playerA"}, {ProtoField: "playerB"}, {ProtoField: "playerAdeck"}, {ProtoField: "playerBdeck"}}, + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "playerA"}, {ProtoField: "playerB"}, {ProtoField: "playerADeck"}, {ProtoField: "playerBDeck"}}, }, { RpcMethod: "SetNameSet", From 0cd02ea3c923421d53f03bc87563dd27b84d776b Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 11:22:49 +0100 Subject: [PATCH 35/99] feat(#242): Added card query proto --- api/cardchain/cardchain/card.pulsar.go | 760 +-------- .../cardchain/card_with_image.pulsar.go | 742 +++++++++ api/cardchain/cardchain/council.pulsar.go | 9 +- api/cardchain/cardchain/encounter.pulsar.go | 9 +- api/cardchain/cardchain/genesis.pulsar.go | 9 +- api/cardchain/cardchain/image.pulsar.go | 7 +- api/cardchain/cardchain/match.pulsar.go | 7 +- .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- .../cardchain/product_details.pulsar.go | 7 +- api/cardchain/cardchain/query.pulsar.go | 1417 ++++++++++++++--- api/cardchain/cardchain/query_grpc.pb.go | 40 + .../cardchain/running_average.pulsar.go | 7 +- api/cardchain/cardchain/sell_offer.pulsar.go | 9 +- api/cardchain/cardchain/server.pulsar.go | 7 +- api/cardchain/cardchain/set.pulsar.go | 9 +- api/cardchain/cardchain/tx.pulsar.go | 11 +- api/cardchain/cardchain/tx_grpc.pb.go | 1 + api/cardchain/cardchain/user.pulsar.go | 7 +- api/cardchain/cardchain/voting.pulsar.go | 7 +- api/cardchain/cardchain/zealy.pulsar.go | 7 +- api/cardchain/featureflag/flag.pulsar.go | 7 +- api/cardchain/featureflag/genesis.pulsar.go | 11 +- .../featureflag/module/module.pulsar.go | 9 +- api/cardchain/featureflag/params.pulsar.go | 9 +- api/cardchain/featureflag/query.pulsar.go | 9 +- api/cardchain/featureflag/query_grpc.pb.go | 1 + api/cardchain/featureflag/tx.pulsar.go | 9 +- api/cardchain/featureflag/tx_grpc.pb.go | 1 + docs/static/openapi.yml | 2 +- gen_queries.sh | 1 + proto/buf.lock | 13 +- proto/cardchain/cardchain/card.proto | 6 - .../cardchain/cardchain/card_with_image.proto | 13 + proto/cardchain/cardchain/query.proto | 15 + x/cardchain/keeper/query_card.go | 23 + x/cardchain/module/autocli.go | 7 + x/cardchain/types/card.pb.go | 389 +---- x/cardchain/types/card_with_image.pb.go | 433 +++++ x/cardchain/types/council.pb.go | 7 +- x/cardchain/types/encounter.pb.go | 5 +- x/cardchain/types/genesis.pb.go | 7 +- x/cardchain/types/image.pb.go | 3 +- x/cardchain/types/match.pb.go | 3 +- x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/product_details.pb.go | 3 +- x/cardchain/types/query.pb.go | 453 +++++- x/cardchain/types/query.pb.gw.go | 101 ++ x/cardchain/types/running_average.pb.go | 3 +- x/cardchain/types/sell_offer.pb.go | 7 +- x/cardchain/types/server.pb.go | 3 +- x/cardchain/types/set.pb.go | 5 +- x/cardchain/types/tx.pb.go | 7 +- x/cardchain/types/user.pb.go | 3 +- x/cardchain/types/voting.pb.go | 3 +- x/cardchain/types/zealy.pb.go | 3 +- x/featureflag/types/flag.pb.go | 3 +- x/featureflag/types/genesis.pb.go | 7 +- x/featureflag/types/params.pb.go | 7 +- x/featureflag/types/query.pb.go | 7 +- x/featureflag/types/tx.pb.go | 7 +- 61 files changed, 3266 insertions(+), 1436 deletions(-) create mode 100644 api/cardchain/cardchain/card_with_image.pulsar.go create mode 100755 gen_queries.sh create mode 100644 proto/cardchain/cardchain/card_with_image.proto create mode 100644 x/cardchain/keeper/query_card.go create mode 100644 x/cardchain/types/card_with_image.pb.go diff --git a/api/cardchain/cardchain/card.pulsar.go b/api/cardchain/cardchain/card.pulsar.go index 193c865e..b7c45e96 100644 --- a/api/cardchain/cardchain/card.pulsar.go +++ b/api/cardchain/cardchain/card.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Card_14_list)(nil) @@ -1381,569 +1382,6 @@ func (x *fastReflection_Card) ProtoMethods() *protoiface.Methods { } } -var ( - md_CardWithImage protoreflect.MessageDescriptor - fd_CardWithImage_card protoreflect.FieldDescriptor - fd_CardWithImage_image protoreflect.FieldDescriptor - fd_CardWithImage_hash protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_card_proto_init() - md_CardWithImage = File_cardchain_cardchain_card_proto.Messages().ByName("CardWithImage") - fd_CardWithImage_card = md_CardWithImage.Fields().ByName("card") - fd_CardWithImage_image = md_CardWithImage.Fields().ByName("image") - fd_CardWithImage_hash = md_CardWithImage.Fields().ByName("hash") -} - -var _ protoreflect.Message = (*fastReflection_CardWithImage)(nil) - -type fastReflection_CardWithImage CardWithImage - -func (x *CardWithImage) ProtoReflect() protoreflect.Message { - return (*fastReflection_CardWithImage)(x) -} - -func (x *CardWithImage) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_card_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_CardWithImage_messageType fastReflection_CardWithImage_messageType -var _ protoreflect.MessageType = fastReflection_CardWithImage_messageType{} - -type fastReflection_CardWithImage_messageType struct{} - -func (x fastReflection_CardWithImage_messageType) Zero() protoreflect.Message { - return (*fastReflection_CardWithImage)(nil) -} -func (x fastReflection_CardWithImage_messageType) New() protoreflect.Message { - return new(fastReflection_CardWithImage) -} -func (x fastReflection_CardWithImage_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_CardWithImage -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_CardWithImage) Descriptor() protoreflect.MessageDescriptor { - return md_CardWithImage -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_CardWithImage) Type() protoreflect.MessageType { - return _fastReflection_CardWithImage_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_CardWithImage) New() protoreflect.Message { - return new(fastReflection_CardWithImage) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_CardWithImage) Interface() protoreflect.ProtoMessage { - return (*CardWithImage)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_CardWithImage) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Card != nil { - value := protoreflect.ValueOfMessage(x.Card.ProtoReflect()) - if !f(fd_CardWithImage_card, value) { - return - } - } - if x.Image != "" { - value := protoreflect.ValueOfString(x.Image) - if !f(fd_CardWithImage_image, value) { - return - } - } - if x.Hash != "" { - value := protoreflect.ValueOfString(x.Hash) - if !f(fd_CardWithImage_hash, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_CardWithImage) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.CardWithImage.card": - return x.Card != nil - case "cardchain.cardchain.CardWithImage.image": - return x.Image != "" - case "cardchain.cardchain.CardWithImage.hash": - return x.Hash != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) - } - panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_CardWithImage) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.CardWithImage.card": - x.Card = nil - case "cardchain.cardchain.CardWithImage.image": - x.Image = "" - case "cardchain.cardchain.CardWithImage.hash": - x.Hash = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) - } - panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_CardWithImage) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.CardWithImage.card": - value := x.Card - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "cardchain.cardchain.CardWithImage.image": - value := x.Image - return protoreflect.ValueOfString(value) - case "cardchain.cardchain.CardWithImage.hash": - value := x.Hash - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) - } - panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_CardWithImage) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.CardWithImage.card": - x.Card = value.Message().Interface().(*Card) - case "cardchain.cardchain.CardWithImage.image": - x.Image = value.Interface().(string) - case "cardchain.cardchain.CardWithImage.hash": - x.Hash = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) - } - panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_CardWithImage) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.CardWithImage.card": - if x.Card == nil { - x.Card = new(Card) - } - return protoreflect.ValueOfMessage(x.Card.ProtoReflect()) - case "cardchain.cardchain.CardWithImage.image": - panic(fmt.Errorf("field image of message cardchain.cardchain.CardWithImage is not mutable")) - case "cardchain.cardchain.CardWithImage.hash": - panic(fmt.Errorf("field hash of message cardchain.cardchain.CardWithImage is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) - } - panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_CardWithImage) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.CardWithImage.card": - m := new(Card) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "cardchain.cardchain.CardWithImage.image": - return protoreflect.ValueOfString("") - case "cardchain.cardchain.CardWithImage.hash": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) - } - panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_CardWithImage) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.CardWithImage", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_CardWithImage) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_CardWithImage) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_CardWithImage) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_CardWithImage) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*CardWithImage) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Card != nil { - l = options.Size(x.Card) - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Image) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Hash) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*CardWithImage) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Hash) > 0 { - i -= len(x.Hash) - copy(dAtA[i:], x.Hash) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Hash))) - i-- - dAtA[i] = 0x1a - } - if len(x.Image) > 0 { - i -= len(x.Image) - copy(dAtA[i:], x.Image) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Image))) - i-- - dAtA[i] = 0x12 - } - if x.Card != nil { - encoded, err := options.Marshal(x.Card) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*CardWithImage) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: CardWithImage: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: CardWithImage: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Card == nil { - x.Card = &Card{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Card); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Image = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Hash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - var ( md_TimeStamp protoreflect.MessageDescriptor fd_TimeStamp_timeStamp protoreflect.FieldDescriptor @@ -1964,7 +1402,7 @@ func (x *TimeStamp) ProtoReflect() protoreflect.Message { } func (x *TimeStamp) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_card_proto_msgTypes[2] + mi := &file_cardchain_cardchain_card_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2753,57 +2191,6 @@ func (x *Card) GetRarity() CardRarity { return CardRarity_common } -type CardWithImage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Card *Card `protobuf:"bytes,1,opt,name=card,proto3" json:"card,omitempty"` - Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` - Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` -} - -func (x *CardWithImage) Reset() { - *x = CardWithImage{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_card_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CardWithImage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CardWithImage) ProtoMessage() {} - -// Deprecated: Use CardWithImage.ProtoReflect.Descriptor instead. -func (*CardWithImage) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_card_proto_rawDescGZIP(), []int{1} -} - -func (x *CardWithImage) GetCard() *Card { - if x != nil { - return x.Card - } - return nil -} - -func (x *CardWithImage) GetImage() string { - if x != nil { - return x.Image - } - return "" -} - -func (x *CardWithImage) GetHash() string { - if x != nil { - return x.Hash - } - return "" -} - type TimeStamp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2815,7 +2202,7 @@ type TimeStamp struct { func (x *TimeStamp) Reset() { *x = TimeStamp{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_card_proto_msgTypes[2] + mi := &file_cardchain_cardchain_card_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2829,7 +2216,7 @@ func (*TimeStamp) ProtoMessage() {} // Deprecated: Use TimeStamp.ProtoReflect.Descriptor instead. func (*TimeStamp) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_card_proto_rawDescGZIP(), []int{2} + return file_cardchain_cardchain_card_proto_rawDescGZIP(), []int{1} } func (x *TimeStamp) GetTimeStamp() uint64 { @@ -2888,53 +2275,46 @@ var file_cardchain_cardchain_card_proto_rawDesc = []byte{ 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x06, 0x72, 0x61, - 0x72, 0x69, 0x74, 0x79, 0x22, 0x68, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x04, - 0x63, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x29, - 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x2a, 0x99, 0x01, 0x0a, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x10, 0x00, - 0x12, 0x0d, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x74, 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, - 0x09, 0x0a, 0x05, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x70, 0x65, - 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x73, 0x75, 0x73, - 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x62, 0x61, 0x6e, 0x6e, - 0x65, 0x64, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x53, 0x6f, - 0x6f, 0x6e, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x56, 0x65, - 0x72, 0x79, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, - 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x65, 0x49, - 0x74, 0x65, 0x6d, 0x10, 0x09, 0x2a, 0x4d, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, - 0x69, 0x74, 0x79, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x10, 0x00, 0x12, - 0x0c, 0x0a, 0x08, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x08, 0x0a, - 0x04, 0x72, 0x61, 0x72, 0x65, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, - 0x75, 0x65, 0x10, 0x04, 0x2a, 0x43, 0x0a, 0x09, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, - 0x07, 0x63, 0x75, 0x6c, 0x74, 0x75, 0x72, 0x65, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x6d, 0x79, - 0x73, 0x74, 0x69, 0x63, 0x69, 0x73, 0x6d, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x74, 0x65, 0x63, - 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x10, 0x03, 0x2a, 0x3e, 0x0a, 0x08, 0x43, 0x61, 0x72, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x10, 0x00, - 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, - 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x10, 0x03, 0x42, 0xd1, 0x01, 0x0a, 0x17, 0x63, 0x6f, - 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x09, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, - 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x69, 0x74, 0x79, 0x22, 0x29, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, + 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x2a, + 0x99, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x65, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x74, + 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x10, 0x02, + 0x12, 0x0d, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x10, 0x03, 0x12, + 0x0d, 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x10, 0x04, 0x12, 0x0a, + 0x0a, 0x06, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x62, 0x61, + 0x6e, 0x6e, 0x65, 0x64, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x62, 0x61, + 0x6e, 0x6e, 0x65, 0x64, 0x56, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x07, 0x12, 0x08, + 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, + 0x6e, 0x74, 0x75, 0x72, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x09, 0x2a, 0x4d, 0x0a, 0x0a, 0x43, + 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x72, 0x61, 0x72, 0x65, 0x10, 0x02, 0x12, 0x0f, 0x0a, + 0x0b, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x10, 0x03, 0x12, 0x0a, + 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x10, 0x04, 0x2a, 0x43, 0x0a, 0x09, 0x43, 0x61, + 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x63, 0x75, 0x6c, 0x74, 0x75, 0x72, 0x65, 0x10, 0x01, + 0x12, 0x0d, 0x0a, 0x09, 0x6d, 0x79, 0x73, 0x74, 0x69, 0x63, 0x69, 0x73, 0x6d, 0x10, 0x02, 0x12, + 0x0e, 0x0a, 0x0a, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x10, 0x03, 0x2a, + 0x3e, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x02, 0x12, 0x0f, + 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x10, 0x03, 0x42, + 0xd1, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x09, 0x43, 0x61, 0x72, + 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, + 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2950,27 +2330,25 @@ func file_cardchain_cardchain_card_proto_rawDescGZIP() []byte { } var file_cardchain_cardchain_card_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_cardchain_cardchain_card_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_cardchain_cardchain_card_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_cardchain_cardchain_card_proto_goTypes = []interface{}{ - (Status)(0), // 0: cardchain.cardchain.Status - (CardRarity)(0), // 1: cardchain.cardchain.CardRarity - (CardClass)(0), // 2: cardchain.cardchain.CardClass - (CardType)(0), // 3: cardchain.cardchain.CardType - (*Card)(nil), // 4: cardchain.cardchain.Card - (*CardWithImage)(nil), // 5: cardchain.cardchain.CardWithImage - (*TimeStamp)(nil), // 6: cardchain.cardchain.TimeStamp - (*v1beta1.Coin)(nil), // 7: cosmos.base.v1beta1.Coin + (Status)(0), // 0: cardchain.cardchain.Status + (CardRarity)(0), // 1: cardchain.cardchain.CardRarity + (CardClass)(0), // 2: cardchain.cardchain.CardClass + (CardType)(0), // 3: cardchain.cardchain.CardType + (*Card)(nil), // 4: cardchain.cardchain.Card + (*TimeStamp)(nil), // 5: cardchain.cardchain.TimeStamp + (*v1beta1.Coin)(nil), // 6: cosmos.base.v1beta1.Coin } var file_cardchain_cardchain_card_proto_depIdxs = []int32{ 0, // 0: cardchain.cardchain.Card.status:type_name -> cardchain.cardchain.Status - 7, // 1: cardchain.cardchain.Card.votePool:type_name -> cosmos.base.v1beta1.Coin + 6, // 1: cardchain.cardchain.Card.votePool:type_name -> cosmos.base.v1beta1.Coin 1, // 2: cardchain.cardchain.Card.rarity:type_name -> cardchain.cardchain.CardRarity - 4, // 3: cardchain.cardchain.CardWithImage.card:type_name -> cardchain.cardchain.Card - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name } func init() { file_cardchain_cardchain_card_proto_init() } @@ -2992,18 +2370,6 @@ func file_cardchain_cardchain_card_proto_init() { } } file_cardchain_cardchain_card_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CardWithImage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_card_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TimeStamp); i { case 0: return &v.state @@ -3022,7 +2388,7 @@ func file_cardchain_cardchain_card_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_card_proto_rawDesc, NumEnums: 4, - NumMessages: 3, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/api/cardchain/cardchain/card_with_image.pulsar.go b/api/cardchain/cardchain/card_with_image.pulsar.go new file mode 100644 index 00000000..d8c51a08 --- /dev/null +++ b/api/cardchain/cardchain/card_with_image.pulsar.go @@ -0,0 +1,742 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +var ( + md_CardWithImage protoreflect.MessageDescriptor + fd_CardWithImage_card protoreflect.FieldDescriptor + fd_CardWithImage_image protoreflect.FieldDescriptor + fd_CardWithImage_hash protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_card_with_image_proto_init() + md_CardWithImage = File_cardchain_cardchain_card_with_image_proto.Messages().ByName("CardWithImage") + fd_CardWithImage_card = md_CardWithImage.Fields().ByName("card") + fd_CardWithImage_image = md_CardWithImage.Fields().ByName("image") + fd_CardWithImage_hash = md_CardWithImage.Fields().ByName("hash") +} + +var _ protoreflect.Message = (*fastReflection_CardWithImage)(nil) + +type fastReflection_CardWithImage CardWithImage + +func (x *CardWithImage) ProtoReflect() protoreflect.Message { + return (*fastReflection_CardWithImage)(x) +} + +func (x *CardWithImage) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_card_with_image_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_CardWithImage_messageType fastReflection_CardWithImage_messageType +var _ protoreflect.MessageType = fastReflection_CardWithImage_messageType{} + +type fastReflection_CardWithImage_messageType struct{} + +func (x fastReflection_CardWithImage_messageType) Zero() protoreflect.Message { + return (*fastReflection_CardWithImage)(nil) +} +func (x fastReflection_CardWithImage_messageType) New() protoreflect.Message { + return new(fastReflection_CardWithImage) +} +func (x fastReflection_CardWithImage_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_CardWithImage +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_CardWithImage) Descriptor() protoreflect.MessageDescriptor { + return md_CardWithImage +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_CardWithImage) Type() protoreflect.MessageType { + return _fastReflection_CardWithImage_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_CardWithImage) New() protoreflect.Message { + return new(fastReflection_CardWithImage) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_CardWithImage) Interface() protoreflect.ProtoMessage { + return (*CardWithImage)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_CardWithImage) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Card != nil { + value := protoreflect.ValueOfMessage(x.Card.ProtoReflect()) + if !f(fd_CardWithImage_card, value) { + return + } + } + if x.Image != "" { + value := protoreflect.ValueOfString(x.Image) + if !f(fd_CardWithImage_image, value) { + return + } + } + if x.Hash != "" { + value := protoreflect.ValueOfString(x.Hash) + if !f(fd_CardWithImage_hash, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_CardWithImage) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.CardWithImage.card": + return x.Card != nil + case "cardchain.cardchain.CardWithImage.image": + return x.Image != "" + case "cardchain.cardchain.CardWithImage.hash": + return x.Hash != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_CardWithImage) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.CardWithImage.card": + x.Card = nil + case "cardchain.cardchain.CardWithImage.image": + x.Image = "" + case "cardchain.cardchain.CardWithImage.hash": + x.Hash = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_CardWithImage) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.CardWithImage.card": + value := x.Card + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.CardWithImage.image": + value := x.Image + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.CardWithImage.hash": + value := x.Hash + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_CardWithImage) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.CardWithImage.card": + x.Card = value.Message().Interface().(*Card) + case "cardchain.cardchain.CardWithImage.image": + x.Image = value.Interface().(string) + case "cardchain.cardchain.CardWithImage.hash": + x.Hash = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_CardWithImage) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.CardWithImage.card": + if x.Card == nil { + x.Card = new(Card) + } + return protoreflect.ValueOfMessage(x.Card.ProtoReflect()) + case "cardchain.cardchain.CardWithImage.image": + panic(fmt.Errorf("field image of message cardchain.cardchain.CardWithImage is not mutable")) + case "cardchain.cardchain.CardWithImage.hash": + panic(fmt.Errorf("field hash of message cardchain.cardchain.CardWithImage is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_CardWithImage) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.CardWithImage.card": + m := new(Card) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.CardWithImage.image": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.CardWithImage.hash": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardWithImage does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_CardWithImage) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.CardWithImage", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_CardWithImage) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_CardWithImage) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_CardWithImage) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_CardWithImage) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*CardWithImage) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Card != nil { + l = options.Size(x.Card) + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Image) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Hash) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*CardWithImage) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Hash) > 0 { + i -= len(x.Hash) + copy(dAtA[i:], x.Hash) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Hash))) + i-- + dAtA[i] = 0x1a + } + if len(x.Image) > 0 { + i -= len(x.Image) + copy(dAtA[i:], x.Image) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Image))) + i-- + dAtA[i] = 0x12 + } + if x.Card != nil { + encoded, err := options.Marshal(x.Card) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*CardWithImage) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: CardWithImage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: CardWithImage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Card == nil { + x.Card = &Card{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Card); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Image = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Hash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/card_with_image.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CardWithImage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Card *Card `protobuf:"bytes,1,opt,name=card,proto3" json:"card,omitempty"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` + Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` +} + +func (x *CardWithImage) Reset() { + *x = CardWithImage{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_card_with_image_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CardWithImage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CardWithImage) ProtoMessage() {} + +// Deprecated: Use CardWithImage.ProtoReflect.Descriptor instead. +func (*CardWithImage) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_card_with_image_proto_rawDescGZIP(), []int{0} +} + +func (x *CardWithImage) GetCard() *Card { + if x != nil { + return x.Card + } + return nil +} + +func (x *CardWithImage) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *CardWithImage) GetHash() string { + if x != nil { + return x.Hash + } + return "" +} + +var File_cardchain_cardchain_card_with_image_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_card_with_image_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, + 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, + 0x42, 0xda, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x12, 0x43, 0x61, + 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, + 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_card_with_image_proto_rawDescOnce sync.Once + file_cardchain_cardchain_card_with_image_proto_rawDescData = file_cardchain_cardchain_card_with_image_proto_rawDesc +) + +func file_cardchain_cardchain_card_with_image_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_card_with_image_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_card_with_image_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_card_with_image_proto_rawDescData) + }) + return file_cardchain_cardchain_card_with_image_proto_rawDescData +} + +var file_cardchain_cardchain_card_with_image_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_card_with_image_proto_goTypes = []interface{}{ + (*CardWithImage)(nil), // 0: cardchain.cardchain.CardWithImage + (*Card)(nil), // 1: cardchain.cardchain.Card +} +var file_cardchain_cardchain_card_with_image_proto_depIdxs = []int32{ + 1, // 0: cardchain.cardchain.CardWithImage.card:type_name -> cardchain.cardchain.Card + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_card_with_image_proto_init() } +func file_cardchain_cardchain_card_with_image_proto_init() { + if File_cardchain_cardchain_card_with_image_proto != nil { + return + } + file_cardchain_cardchain_card_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_card_with_image_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CardWithImage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_card_with_image_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_card_with_image_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_card_with_image_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_card_with_image_proto_msgTypes, + }.Build() + File_cardchain_cardchain_card_with_image_proto = out.File + file_cardchain_cardchain_card_with_image_proto_rawDesc = nil + file_cardchain_cardchain_card_with_image_proto_goTypes = nil + file_cardchain_cardchain_card_with_image_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/council.pulsar.go b/api/cardchain/cardchain/council.pulsar.go index ad8e4373..1afba505 100644 --- a/api/cardchain/cardchain/council.pulsar.go +++ b/api/cardchain/cardchain/council.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Council_2_list)(nil) diff --git a/api/cardchain/cardchain/encounter.pulsar.go b/api/cardchain/cardchain/encounter.pulsar.go index f8002c77..7dc474db 100644 --- a/api/cardchain/cardchain/encounter.pulsar.go +++ b/api/cardchain/cardchain/encounter.pulsar.go @@ -3,15 +3,16 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var _ protoreflect.List = (*_Encounter_2_list)(nil) diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index c48c933d..4d3bf7a0 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_GenesisState_2_list)(nil) diff --git a/api/cardchain/cardchain/image.pulsar.go b/api/cardchain/cardchain/image.pulsar.go index 627dece1..db59a9e8 100644 --- a/api/cardchain/cardchain/image.pulsar.go +++ b/api/cardchain/cardchain/image.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go index 191ba7fd..b2e29884 100644 --- a/api/cardchain/cardchain/match.pulsar.go +++ b/api/cardchain/cardchain/match.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index 2b190f83..dead9881 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,15 +2,16 @@ package module import ( - _ "cosmossdk.io/api/cosmos/app/v1alpha1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/cosmos/app/v1alpha1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index 11ddc437..ed6b2b87 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,17 +2,18 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/product_details.pulsar.go b/api/cardchain/cardchain/product_details.pulsar.go index 4217d854..f50578bd 100644 --- a/api/cardchain/cardchain/product_details.pulsar.go +++ b/api/cardchain/cardchain/product_details.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 0bf3306c..107ff6b8 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,18 +2,19 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( @@ -2654,183 +2655,1022 @@ func (x *fastReflection_QueryAllProductDetailsResponse) ProtoMethods() *protoifa } } -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: cardchain/cardchain/query.proto - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +var ( + md_QueryCardRequest protoreflect.MessageDescriptor + fd_QueryCardRequest_cardId protoreflect.FieldDescriptor ) -// QueryParamsRequest is request type for the Query/Params RPC method. -type QueryParamsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *QueryParamsRequest) Reset() { - *x = QueryParamsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryParamsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryCardRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardRequest") + fd_QueryCardRequest_cardId = md_QueryCardRequest.Fields().ByName("cardId") } -func (*QueryParamsRequest) ProtoMessage() {} - -// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. -func (*QueryParamsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{0} -} +var _ protoreflect.Message = (*fastReflection_QueryCardRequest)(nil) -// QueryParamsResponse is response type for the Query/Params RPC method. -type QueryParamsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type fastReflection_QueryCardRequest QueryCardRequest - // params holds all the parameters of this module. - Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +func (x *QueryCardRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCardRequest)(x) } -func (x *QueryParamsResponse) Reset() { - *x = QueryParamsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[1] +func (x *QueryCardRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } + return mi.MessageOf(x) } -func (x *QueryParamsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} +var _fastReflection_QueryCardRequest_messageType fastReflection_QueryCardRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryCardRequest_messageType{} -func (*QueryParamsResponse) ProtoMessage() {} +type fastReflection_QueryCardRequest_messageType struct{} -// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. -func (*QueryParamsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{1} +func (x fastReflection_QueryCardRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCardRequest)(nil) } - -func (x *QueryParamsResponse) GetParams() *Params { - if x != nil { - return x.Params - } - return nil +func (x fastReflection_QueryCardRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCardRequest) } - -type QueryGetProductDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +func (x fastReflection_QueryCardRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardRequest } -func (x *QueryGetProductDetailsRequest) Reset() { - *x = QueryGetProductDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCardRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardRequest } -func (x *QueryGetProductDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCardRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryCardRequest_messageType } -func (*QueryGetProductDetailsRequest) ProtoMessage() {} +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCardRequest) New() protoreflect.Message { + return new(fastReflection_QueryCardRequest) +} -// Deprecated: Use QueryGetProductDetailsRequest.ProtoReflect.Descriptor instead. -func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCardRequest) Interface() protoreflect.ProtoMessage { + return (*QueryCardRequest)(x) } -func (x *QueryGetProductDetailsRequest) GetId() uint64 { - if x != nil { - return x.Id +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCardRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_QueryCardRequest_cardId, value) { + return + } } - return 0 } -type QueryGetProductDetailsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProductDetails *ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCardRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardRequest.cardId": + return x.CardId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) + } } -func (x *QueryGetProductDetailsResponse) Reset() { - *x = QueryGetProductDetailsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardRequest.cardId": + x.CardId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) } } -func (x *QueryGetProductDetailsResponse) String() string { - return protoimpl.X.MessageStringOf(x) +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCardRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryCardRequest.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", descriptor.FullName())) + } } -func (*QueryGetProductDetailsResponse) ProtoMessage() {} - -// Deprecated: Use QueryGetProductDetailsResponse.ProtoReflect.Descriptor instead. -func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardRequest.cardId": + x.CardId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) + } } -func (x *QueryGetProductDetailsResponse) GetProductDetails() *ProductDetails { - if x != nil { - return x.ProductDetails +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardRequest.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.QueryCardRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) } - return nil } -type QueryAllProductDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCardRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardRequest.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) + } } -func (x *QueryAllProductDetailsRequest) Reset() { - *x = QueryAllProductDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCardRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardRequest", d.FullName())) } + panic("unreachable") } -func (x *QueryAllProductDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCardRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields } -func (*QueryAllProductDetailsRequest) ProtoMessage() {} - -// Deprecated: Use QueryAllProductDetailsRequest.ProtoReflect.Descriptor instead. -func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields } -func (x *QueryAllProductDetailsRequest) GetPagination() *v1beta1.PageRequest { - if x != nil { +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCardRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCardRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCardRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCardRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCardRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryCardResponse protoreflect.MessageDescriptor + fd_QueryCardResponse_card protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryCardResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardResponse") + fd_QueryCardResponse_card = md_QueryCardResponse.Fields().ByName("card") +} + +var _ protoreflect.Message = (*fastReflection_QueryCardResponse)(nil) + +type fastReflection_QueryCardResponse QueryCardResponse + +func (x *QueryCardResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCardResponse)(x) +} + +func (x *QueryCardResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCardResponse_messageType fastReflection_QueryCardResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryCardResponse_messageType{} + +type fastReflection_QueryCardResponse_messageType struct{} + +func (x fastReflection_QueryCardResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCardResponse)(nil) +} +func (x fastReflection_QueryCardResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCardResponse) +} +func (x fastReflection_QueryCardResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCardResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCardResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryCardResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCardResponse) New() protoreflect.Message { + return new(fastReflection_QueryCardResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCardResponse) Interface() protoreflect.ProtoMessage { + return (*QueryCardResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCardResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Card != nil { + value := protoreflect.ValueOfMessage(x.Card.ProtoReflect()) + if !f(fd_QueryCardResponse_card, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCardResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardResponse.card": + return x.Card != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardResponse.card": + x.Card = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCardResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryCardResponse.card": + value := x.Card + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardResponse.card": + x.Card = value.Message().Interface().(*CardWithImage) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardResponse.card": + if x.Card == nil { + x.Card = new(CardWithImage) + } + return protoreflect.ValueOfMessage(x.Card.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCardResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardResponse.card": + m := new(CardWithImage) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCardResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCardResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCardResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCardResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCardResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Card != nil { + l = options.Size(x.Card) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCardResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Card != nil { + encoded, err := options.Marshal(x.Card) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCardResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Card == nil { + x.Card = &CardWithImage{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Card); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/query.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// QueryParamsRequest is request type for the Query/Params RPC method. +type QueryParamsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryParamsRequest) Reset() { + *x = QueryParamsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsRequest) ProtoMessage() {} + +// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. +func (*QueryParamsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{0} +} + +// QueryParamsResponse is response type for the Query/Params RPC method. +type QueryParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // params holds all the parameters of this module. + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *QueryParamsResponse) Reset() { + *x = QueryParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsResponse) ProtoMessage() {} + +// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. +func (*QueryParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{1} +} + +func (x *QueryParamsResponse) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +type QueryGetProductDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *QueryGetProductDetailsRequest) Reset() { + *x = QueryGetProductDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetProductDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetProductDetailsRequest) ProtoMessage() {} + +// Deprecated: Use QueryGetProductDetailsRequest.ProtoReflect.Descriptor instead. +func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} +} + +func (x *QueryGetProductDetailsRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type QueryGetProductDetailsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProductDetails *ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` +} + +func (x *QueryGetProductDetailsResponse) Reset() { + *x = QueryGetProductDetailsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetProductDetailsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetProductDetailsResponse) ProtoMessage() {} + +// Deprecated: Use QueryGetProductDetailsResponse.ProtoReflect.Descriptor instead. +func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} +} + +func (x *QueryGetProductDetailsResponse) GetProductDetails() *ProductDetails { + if x != nil { + return x.ProductDetails + } + return nil +} + +type QueryAllProductDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryAllProductDetailsRequest) Reset() { + *x = QueryAllProductDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryAllProductDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryAllProductDetailsRequest) ProtoMessage() {} + +// Deprecated: Use QueryAllProductDetailsRequest.ProtoReflect.Descriptor instead. +func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} +} + +func (x *QueryAllProductDetailsRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { return x.Pagination } return nil @@ -2879,6 +3719,76 @@ func (x *QueryAllProductDetailsResponse) GetPagination() *v1beta1.PageResponse { return nil } +type QueryCardRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (x *QueryCardRequest) Reset() { + *x = QueryCardRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardRequest) ProtoMessage() {} + +// Deprecated: Use QueryCardRequest.ProtoReflect.Descriptor instead. +func (*QueryCardRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{6} +} + +func (x *QueryCardRequest) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +type QueryCardResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Card *CardWithImage `protobuf:"bytes,1,opt,name=card,proto3" json:"card,omitempty"` +} + +func (x *QueryCardResponse) Reset() { + *x = QueryCardResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardResponse) ProtoMessage() {} + +// Deprecated: Use QueryCardResponse.ProtoReflect.Descriptor instead. +func (*QueryCardResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{7} +} + +func (x *QueryCardResponse) GetCard() *CardWithImage { + if x != nil { + return x.Card + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -2897,90 +3807,110 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x32, 0x9c, 0x04, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, - 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, + 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, + 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, + 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, + 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, + 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, + 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, + 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x04, 0x63, 0x61, 0x72, 0x64, 0x32, 0xb2, 0x05, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, - 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, + 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2995,7 +3925,7 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse @@ -3003,28 +3933,34 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryGetProductDetailsResponse)(nil), // 3: cardchain.cardchain.QueryGetProductDetailsResponse (*QueryAllProductDetailsRequest)(nil), // 4: cardchain.cardchain.QueryAllProductDetailsRequest (*QueryAllProductDetailsResponse)(nil), // 5: cardchain.cardchain.QueryAllProductDetailsResponse - (*Params)(nil), // 6: cardchain.cardchain.Params - (*ProductDetails)(nil), // 7: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 8: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 9: cosmos.base.query.v1beta1.PageResponse + (*QueryCardRequest)(nil), // 6: cardchain.cardchain.QueryCardRequest + (*QueryCardResponse)(nil), // 7: cardchain.cardchain.QueryCardResponse + (*Params)(nil), // 8: cardchain.cardchain.Params + (*ProductDetails)(nil), // 9: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 10: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 11: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 12: cardchain.cardchain.CardWithImage } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 6, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 7, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 8, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 7, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 9, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 0, // 5: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 6: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 7: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 1, // 8: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 9: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 10: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 8, // [8:11] is the sub-list for method output_type - 5, // [5:8] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 8, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 9, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 10, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 9, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 11, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 12, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 0, // 6: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 7: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 8: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 9: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 1, // 10: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 11: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 12: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 13: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 10, // [10:14] is the sub-list for method output_type + 6, // [6:10] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -3034,6 +3970,7 @@ func file_cardchain_cardchain_query_proto_init() { } file_cardchain_cardchain_params_proto_init() file_cardchain_cardchain_product_details_proto_init() + file_cardchain_cardchain_card_with_image_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsRequest); i { @@ -3107,6 +4044,30 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryCardRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryCardResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -3114,7 +4075,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 8, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index eaabaeb4..46f27756 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,6 +8,7 @@ package cardchain import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -22,6 +23,7 @@ const ( Query_Params_FullMethodName = "/cardchain.cardchain.Query/Params" Query_ProductDetails_FullMethodName = "/cardchain.cardchain.Query/ProductDetails" Query_ProductDetailsAll_FullMethodName = "/cardchain.cardchain.Query/ProductDetailsAll" + Query_Card_FullMethodName = "/cardchain.cardchain.Query/Card" ) // QueryClient is the client API for Query service. @@ -33,6 +35,8 @@ type QueryClient interface { // Queries a list of ProductDetails items. ProductDetails(ctx context.Context, in *QueryGetProductDetailsRequest, opts ...grpc.CallOption) (*QueryGetProductDetailsResponse, error) ProductDetailsAll(ctx context.Context, in *QueryAllProductDetailsRequest, opts ...grpc.CallOption) (*QueryAllProductDetailsResponse, error) + // Queries a list of Card items. + Card(ctx context.Context, in *QueryCardRequest, opts ...grpc.CallOption) (*QueryCardResponse, error) } type queryClient struct { @@ -70,6 +74,15 @@ func (c *queryClient) ProductDetailsAll(ctx context.Context, in *QueryAllProduct return out, nil } +func (c *queryClient) Card(ctx context.Context, in *QueryCardRequest, opts ...grpc.CallOption) (*QueryCardResponse, error) { + out := new(QueryCardResponse) + err := c.cc.Invoke(ctx, Query_Card_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -79,6 +92,8 @@ type QueryServer interface { // Queries a list of ProductDetails items. ProductDetails(context.Context, *QueryGetProductDetailsRequest) (*QueryGetProductDetailsResponse, error) ProductDetailsAll(context.Context, *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) + // Queries a list of Card items. + Card(context.Context, *QueryCardRequest) (*QueryCardResponse, error) mustEmbedUnimplementedQueryServer() } @@ -95,6 +110,9 @@ func (UnimplementedQueryServer) ProductDetails(context.Context, *QueryGetProduct func (UnimplementedQueryServer) ProductDetailsAll(context.Context, *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ProductDetailsAll not implemented") } +func (UnimplementedQueryServer) Card(context.Context, *QueryCardRequest) (*QueryCardResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Card not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -162,6 +180,24 @@ func _Query_ProductDetailsAll_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Query_Card_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCardRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Card(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Card_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Card(ctx, req.(*QueryCardRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -181,6 +217,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "ProductDetailsAll", Handler: _Query_ProductDetailsAll_Handler, }, + { + MethodName: "Card", + Handler: _Query_Card_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/api/cardchain/cardchain/running_average.pulsar.go b/api/cardchain/cardchain/running_average.pulsar.go index 9cff2c1b..48c3ca74 100644 --- a/api/cardchain/cardchain/running_average.pulsar.go +++ b/api/cardchain/cardchain/running_average.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_RunningAverage_1_list)(nil) diff --git a/api/cardchain/cardchain/sell_offer.pulsar.go b/api/cardchain/cardchain/sell_offer.pulsar.go index 55fde4b3..5f5fb235 100644 --- a/api/cardchain/cardchain/sell_offer.pulsar.go +++ b/api/cardchain/cardchain/sell_offer.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/server.pulsar.go b/api/cardchain/cardchain/server.pulsar.go index e8d66d38..25cbab32 100644 --- a/api/cardchain/cardchain/server.pulsar.go +++ b/api/cardchain/cardchain/server.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go index 84be5f2e..0ff46d34 100644 --- a/api/cardchain/cardchain/set.pulsar.go +++ b/api/cardchain/cardchain/set.pulsar.go @@ -2,15 +2,16 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Set_2_list)(nil) diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index ac894ab3..3617fc13 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,20 +2,21 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" - fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 3dd8f52f..51db3503 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,6 +8,7 @@ package cardchain import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/user.pulsar.go b/api/cardchain/cardchain/user.pulsar.go index c0c7e0ad..a6f11922 100644 --- a/api/cardchain/cardchain/user.pulsar.go +++ b/api/cardchain/cardchain/user.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_User_2_list)(nil) diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go index 2a02aa7e..bf614c4f 100644 --- a/api/cardchain/cardchain/voting.pulsar.go +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_VotingResults_6_list)(nil) diff --git a/api/cardchain/cardchain/zealy.pulsar.go b/api/cardchain/cardchain/zealy.pulsar.go index 8dedd508..7879a400 100644 --- a/api/cardchain/cardchain/zealy.pulsar.go +++ b/api/cardchain/cardchain/zealy.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/flag.pulsar.go b/api/cardchain/featureflag/flag.pulsar.go index 10b5e452..932ce355 100644 --- a/api/cardchain/featureflag/flag.pulsar.go +++ b/api/cardchain/featureflag/flag.pulsar.go @@ -3,13 +3,14 @@ package featureflag import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/genesis.pulsar.go b/api/cardchain/featureflag/genesis.pulsar.go index 2c435bb2..ddfe3040 100644 --- a/api/cardchain/featureflag/genesis.pulsar.go +++ b/api/cardchain/featureflag/genesis.pulsar.go @@ -2,17 +2,18 @@ package featureflag import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var _ protoreflect.Map = (*_GenesisState_2_map)(nil) diff --git a/api/cardchain/featureflag/module/module.pulsar.go b/api/cardchain/featureflag/module/module.pulsar.go index 947efc3f..5650e208 100644 --- a/api/cardchain/featureflag/module/module.pulsar.go +++ b/api/cardchain/featureflag/module/module.pulsar.go @@ -2,15 +2,16 @@ package module import ( - _ "cosmossdk.io/api/cosmos/app/v1alpha1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/cosmos/app/v1alpha1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/params.pulsar.go b/api/cardchain/featureflag/params.pulsar.go index fb51fec2..6b347b45 100644 --- a/api/cardchain/featureflag/params.pulsar.go +++ b/api/cardchain/featureflag/params.pulsar.go @@ -2,16 +2,17 @@ package featureflag import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query.pulsar.go b/api/cardchain/featureflag/query.pulsar.go index 3419d3a4..1e62212d 100644 --- a/api/cardchain/featureflag/query.pulsar.go +++ b/api/cardchain/featureflag/query.pulsar.go @@ -2,18 +2,19 @@ package featureflag import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query_grpc.pb.go b/api/cardchain/featureflag/query_grpc.pb.go index f7957337..0e8130e8 100644 --- a/api/cardchain/featureflag/query_grpc.pb.go +++ b/api/cardchain/featureflag/query_grpc.pb.go @@ -8,6 +8,7 @@ package featureflag import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/featureflag/tx.pulsar.go b/api/cardchain/featureflag/tx.pulsar.go index 0cef5f49..dd3db629 100644 --- a/api/cardchain/featureflag/tx.pulsar.go +++ b/api/cardchain/featureflag/tx.pulsar.go @@ -2,18 +2,19 @@ package featureflag import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/msg/v1" - fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/tx_grpc.pb.go b/api/cardchain/featureflag/tx_grpc.pb.go index 95442cac..9d8cbe66 100644 --- a/api/cardchain/featureflag/tx_grpc.pb.go +++ b/api/cardchain/featureflag/tx_grpc.pb.go @@ -8,6 +8,7 @@ package featureflag import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 80cf3331..4e32f608 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin20","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin21","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.auth.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the x/auth module\nparameters. The authority defaults to the x/gov module account.","operationId":"AuthMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","operationId":"AuthMsg_Exec","parameters":[{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Grant":{"post":{"tags":["Msg"],"summary":"Grant grants the provided authorization to the grantee on the granter's\naccount with the provided expiration time. If there is already a grant\nfor the given (granter, grantee, Authorization) triple, then the grant\nwill be overwritten.","operationId":"AuthMsg_Grant","parameters":[{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Revoke":{"post":{"tags":["Msg"],"summary":"Revoke revokes any authorization corresponding to the provided method name on the\ngranter's account that has been granted to the grantee.","operationId":"AuthMsg_Revoke","parameters":[{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevokeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.autocli.v1.Query/AppOptions":{"post":{"tags":["Query"],"summary":"AppOptions returns the autocli options for all of the modules in an app.","operationId":"AuthQuery_AppOptions","parameters":[{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/MultiSend":{"post":{"tags":["Msg"],"summary":"MultiSend defines a method for sending coins from some accounts to other accounts.","operationId":"AuthMsg_MultiSend","parameters":[{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method for sending coins from one account to another account.","operationId":"AuthMsg_Send","parameters":[{"description":"MsgSend represents a message to send coins from one account to another.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/SetSendEnabled":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"SetSendEnabled is a governance operation for setting the SendEnabled flag\non any number of Denoms. Only the entries to add or update should be\nincluded. Entries that already exist in the store, but that aren't\nincluded in this message, will be left unchanged.","operationId":"AuthMsg_SetSendEnabled","parameters":[{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabled"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/bank module parameters.\nThe authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin38","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/AuthorizeCircuitBreaker":{"post":{"tags":["Msg"],"summary":"AuthorizeCircuitBreaker allows a super-admin to grant (or revoke) another\naccount's circuit breaker permissions.","operationId":"AuthMsg_AuthorizeCircuitBreaker","parameters":[{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/ResetCircuitBreaker":{"post":{"tags":["Msg"],"summary":"ResetCircuitBreaker resumes processing of Msg's in the state machine that\nhave been been paused using TripCircuitBreaker.","operationId":"AuthMsg_ResetCircuitBreaker","parameters":[{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/TripCircuitBreaker":{"post":{"tags":["Msg"],"summary":"TripCircuitBreaker pauses processing of Msg's in the state machine.","operationId":"AuthMsg_TripCircuitBreaker","parameters":[{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.consensus.v1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/consensus module parameters.\nThe authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin51","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/crisis module\nparameters. The authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin53","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/VerifyInvariant":{"post":{"tags":["Msg"],"summary":"VerifyInvariant defines a method to verify a particular invariant.","operationId":"AuthMsg_VerifyInvariant","parameters":[{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/CommunityPoolSpend":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"CommunityPoolSpend defines a governance operation for sending tokens from\nthe community pool in the x/distribution module to another account, which\ncould be the governance module itself. The authority is defined in the\nkeeper.","operationId":"AuthMsg_CommunityPoolSpend","parameters":[{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/DepositValidatorRewardsPool":{"post":{"description":"Since: cosmos-sdk 0.50","tags":["Msg"],"summary":"DepositValidatorRewardsPool defines a method to provide additional rewards\nto delegators to a specific validator.","operationId":"AuthMsg_DepositValidatorRewardsPool","parameters":[{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.\n\nSince: cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/FundCommunityPool":{"post":{"tags":["Msg"],"summary":"FundCommunityPool defines a method to allow an account to directly\nfund the community pool.","operationId":"AuthMsg_FundCommunityPool","parameters":[{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/SetWithdrawAddress":{"post":{"tags":["Msg"],"summary":"SetWithdrawAddress defines a method to change the withdraw address\nfor a delegator (or validator self-delegation).","operationId":"AuthMsg_SetWithdrawAddress","parameters":[{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/distribution\nmodule parameters. The authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin64","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward":{"post":{"tags":["Msg"],"summary":"WithdrawDelegatorReward defines a method to withdraw rewards of delegator\nfrom a single validator.","operationId":"AuthMsg_WithdrawDelegatorReward","parameters":[{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission":{"post":{"tags":["Msg"],"summary":"WithdrawValidatorCommission defines a method to withdraw the\nfull commission to the validator address.","operationId":"AuthMsg_WithdrawValidatorCommission","parameters":[{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.evidence.v1beta1.Msg/SubmitEvidence":{"post":{"tags":["Msg"],"summary":"SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or\ncounterfactual signing.","operationId":"AuthMsg_SubmitEvidence","parameters":[{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidence"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/GrantAllowance":{"post":{"tags":["Msg"],"summary":"GrantAllowance grants fee allowance to the grantee on the granter's\naccount with the provided expiration time.","operationId":"AuthMsg_GrantAllowance","parameters":[{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/PruneAllowances":{"post":{"description":"Since cosmos-sdk 0.50","tags":["Msg"],"summary":"PruneAllowances prunes expired fee allowances, currently up to 75 at a time.","operationId":"AuthMsg_PruneAllowances","parameters":[{"description":"MsgPruneAllowances prunes expired fee allowances.\n\nSince cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowances"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/RevokeAllowance":{"post":{"tags":["Msg"],"summary":"RevokeAllowance revokes any fee allowance of granter's account that\nhas been granted to the grantee.","operationId":"AuthMsg_RevokeAllowance","parameters":[{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/CancelProposal":{"post":{"description":"Since: cosmos-sdk 0.50","tags":["Msg"],"summary":"CancelProposal defines a method to cancel governance proposal","operationId":"AuthMsg_CancelProposal","parameters":[{"description":"MsgCancelProposal is the Msg/CancelProposal request type.\n\nSince: cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"AuthMsg_Deposit","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/ExecLegacyContent":{"post":{"tags":["Msg"],"summary":"ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal\nto execute a legacy content-based proposal.","operationId":"AuthMsg_ExecLegacyContent","parameters":[{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given the messages.","operationId":"AuthMsg_SubmitProposal","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/gov module\nparameters. The authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin77","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"AuthMsg_Vote","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/VoteWeighted":{"post":{"tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"AuthMsg_VoteWeighted","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"AuthMsg_DepositMixin81","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given a content.","operationId":"AuthMsg_SubmitProposalMixin81","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"AuthMsg_VoteMixin81","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/VoteWeighted":{"post":{"description":"Since: cosmos-sdk 0.43","tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"AuthMsg_VoteWeightedMixin81","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.\n\nSince: cosmos-sdk 0.43","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroup":{"post":{"tags":["Msg"],"summary":"CreateGroup creates a new group with an admin account address, a list of members and some optional metadata.","operationId":"AuthMsg_CreateGroup","parameters":[{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupPolicy creates a new group policy using given DecisionPolicy.","operationId":"AuthMsg_CreateGroupPolicy","parameters":[{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupWithPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupWithPolicy creates a new group with policy.","operationId":"AuthMsg_CreateGroupWithPolicy","parameters":[{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec executes a proposal.","operationId":"AuthMsg_ExecMixin85","parameters":[{"description":"MsgExec is the Msg/Exec request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/LeaveGroup":{"post":{"tags":["Msg"],"summary":"LeaveGroup allows a group member to leave the group.","operationId":"AuthMsg_LeaveGroup","parameters":[{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal submits a new proposal.","operationId":"AuthMsg_SubmitProposalMixin85","parameters":[{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupAdmin updates the group admin with given group id and previous admin address.","operationId":"AuthMsg_UpdateGroupAdmin","parameters":[{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMembers":{"post":{"tags":["Msg"],"summary":"UpdateGroupMembers updates the group members with given group id and admin address.","operationId":"AuthMsg_UpdateGroupMembers","parameters":[{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembers"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupMetadata updates the group metadata with given group id and admin address.","operationId":"AuthMsg_UpdateGroupMetadata","parameters":[{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyAdmin updates a group policy admin.","operationId":"AuthMsg_UpdateGroupPolicyAdmin","parameters":[{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyDecisionPolicy":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyDecisionPolicy allows a group policy's decision policy to be updated.","operationId":"AuthMsg_UpdateGroupPolicyDecisionPolicy","parameters":[{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyMetadata updates a group policy metadata.","operationId":"AuthMsg_UpdateGroupPolicyMetadata","parameters":[{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote allows a voter to vote on a proposal.","operationId":"AuthMsg_VoteMixin85","parameters":[{"description":"MsgVote is the Msg/Vote request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/WithdrawProposal":{"post":{"tags":["Msg"],"summary":"WithdrawProposal withdraws a proposal.","operationId":"AuthMsg_WithdrawProposal","parameters":[{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.mint.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/mint module\nparameters. The authority is defaults to the x/gov module account.","operationId":"AuthMsg_UpdateParamsMixin90","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.nft.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method to send a nft from one account to another account.","operationId":"AuthMsg_SendMixin96","parameters":[{"description":"MsgSend represents a message to send a nft from one account to another account.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/Unjail":{"post":{"tags":["Msg"],"summary":"Unjail defines a method for unjailing a jailed validator, thus returning\nthem into the bonded validator set, so they can begin receiving provisions\nand rewards again.","operationId":"AuthMsg_Unjail","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjail"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjailResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/slashing module\nparameters. The authority defaults to the x/gov module account.","operationId":"AuthMsg_UpdateParamsMixin103","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/BeginRedelegate":{"post":{"tags":["Msg"],"summary":"BeginRedelegate defines a method for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","operationId":"AuthMsg_BeginRedelegate","parameters":[{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CancelUnbondingDelegation defines a method for performing canceling the unbonding delegation\nand delegate back to previous validator.","operationId":"AuthMsg_CancelUnbondingDelegation","parameters":[{"description":"Since: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CreateValidator":{"post":{"tags":["Msg"],"summary":"CreateValidator defines a method for creating a new validator.","operationId":"AuthMsg_CreateValidator","parameters":[{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Delegate":{"post":{"tags":["Msg"],"summary":"Delegate defines a method for performing a delegation of coins\nfrom a delegator to a validator.","operationId":"AuthMsg_Delegate","parameters":[{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/EditValidator":{"post":{"tags":["Msg"],"summary":"EditValidator defines a method for editing an existing validator.","operationId":"AuthMsg_EditValidator","parameters":[{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Undelegate":{"post":{"tags":["Msg"],"summary":"Undelegate defines a method for performing an undelegation from a\ndelegate and a validator.","operationId":"AuthMsg_Undelegate","parameters":[{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines an operation for updating the x/staking module\nparameters.\nSince: cosmos-sdk 0.47","operationId":"AuthMsg_UpdateParamsMixin108","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenCommit":{"post":{"tags":["ABCIListenerService"],"summary":"ListenCommit is the corresponding endpoint for ABCIListener.ListenCommit","operationId":"AuthABCIListenerService_ListenCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenFinalizeBlock":{"post":{"tags":["ABCIListenerService"],"summary":"ListenFinalizeBlock is the corresponding endpoint for ABCIListener.ListenEndBlock","operationId":"AuthABCIListenerService_ListenFinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/CancelUpgrade":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CancelUpgrade is a governance operation for cancelling a previously\napproved software upgrade.","operationId":"AuthMsg_CancelUpgrade","parameters":[{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/SoftwareUpgrade":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"SoftwareUpgrade is a governance operation for initiating a software upgrade.","operationId":"AuthMsg_SoftwareUpgrade","parameters":[{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePeriodicVestingAccount":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CreatePeriodicVestingAccount defines a method that enables creating a\nperiodic vesting account.","operationId":"AuthMsg_CreatePeriodicVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePermanentLockedAccount":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CreatePermanentLockedAccount defines a method that enables creating a permanent\nlocked account.","operationId":"AuthMsg_CreatePermanentLockedAccount","parameters":[{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreateVestingAccount":{"post":{"tags":["Msg"],"summary":"CreateVestingAccount defines a method that enables creating a vesting\naccount.","operationId":"AuthMsg_CreateVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/account_info/{address}":{"get":{"description":"Since: cosmos-sdk 0.47","tags":["Query"],"summary":"AccountInfo queries account info which is common to all account types.","operationId":"AuthQuery_AccountInfo","parameters":[{"type":"string","description":"address is the account address string.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.43","tags":["Query"],"summary":"Accounts returns all the existing accounts.","operationId":"AuthQuery_Accounts","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account details based on address.","operationId":"AuthQuery_Account","parameters":[{"type":"string","description":"address defines the address to query for.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/address_by_id/{id}":{"get":{"description":"Since: cosmos-sdk 0.46.2","tags":["Query"],"summary":"AccountAddressByID returns account address based on account number.","operationId":"AuthQuery_AccountAddressByID","parameters":[{"type":"string","format":"int64","description":"Deprecated, use account_id instead\n\nid is the account number of the address to be queried. This field\nshould have been an uint64 (like all account numbers), and will be\nupdated to uint64 in a future version of the auth query.","name":"id","in":"path","required":true},{"type":"string","format":"uint64","description":"account_id is the account number of the address to be queried.\n\nSince: cosmos-sdk 0.47","name":"account_id","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountAddressByIDResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Bech32Prefix queries bech32Prefix","operationId":"AuthQuery_Bech32Prefix","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.Bech32PrefixResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_bytes}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AddressBytesToString converts Account Address bytes to string","operationId":"AuthQuery_AddressBytesToString","parameters":[{"type":"string","format":"byte","name":"address_bytes","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressBytesToStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_string}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AddressStringToBytes converts Address string to bytes","operationId":"AuthQuery_AddressStringToBytes","parameters":[{"type":"string","name":"address_string","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressStringToBytesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"ModuleAccounts returns all the existing module accounts.","operationId":"AuthQuery_ModuleAccounts","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts/{name}":{"get":{"tags":["Query"],"summary":"ModuleAccountByName returns the module account info by module name","operationId":"AuthQuery_ModuleAccountByName","parameters":[{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountByNameResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters.","operationId":"AuthQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants":{"get":{"tags":["Query"],"summary":"Returns list of `Authorization`, granted to the grantee by the granter.","operationId":"AuthQuery_Grants","parameters":[{"type":"string","name":"granter","in":"query"},{"type":"string","name":"grantee","in":"query"},{"type":"string","description":"Optional, msg_type_url, when set, will query only grants matching given msg type.","name":"msg_type_url","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/grantee/{grantee}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"GranteeGrants returns a list of `GrantAuthorization` by grantee.","operationId":"AuthQuery_GranteeGrants","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranteeGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/granter/{granter}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"GranterGrants returns list of `GrantAuthorization`, granted by granter.","operationId":"AuthQuery_GranterGrants","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranterGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"AllBalances queries the balance of all coins for a single account.","operationId":"AuthQuery_AllBalances","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"boolean","description":"resolve_denom is the flag to resolve the denom into a human-readable form from the metadata.\n\nSince: cosmos-sdk 0.50","name":"resolve_denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryAllBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}/by_denom":{"get":{"tags":["Query"],"summary":"Balance queries the balance of a single coin for a single account.","operationId":"AuthQuery_Balance","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners/{denom}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46","tags":["Query"],"summary":"DenomOwners queries for all account addresses that own a particular token\ndenomination.","operationId":"AuthQuery_DenomOwners","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners_by_query":{"get":{"description":"Since: cosmos-sdk 0.50.3","tags":["Query"],"summary":"DenomOwnersByQuery queries for all account addresses that own a particular token\ndenomination.","operationId":"AuthQuery_DenomOwnersByQuery","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata":{"get":{"tags":["Query"],"summary":"DenomsMetadata queries the client metadata for all registered coin\ndenominations.","operationId":"AuthQuery_DenomsMetadata","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomsMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata/{denom}":{"get":{"tags":["Query"],"summary":"DenomMetadata queries the client metadata of a given coin denomination.","operationId":"AuthQuery_DenomMetadata","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata_by_query_string":{"get":{"tags":["Query"],"summary":"DenomMetadataByQueryString queries the client metadata of a given coin denomination.","operationId":"AuthQuery_DenomMetadataByQueryString","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/bank module.","operationId":"AuthQuery_ParamsMixin37","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/send_enabled":{"get":{"description":"This query only returns denominations that have specific SendEnabled settings.\nAny denomination that does not have a specific setting will use the default\nparams.default_send_enabled, and will not be returned by this query.\n\nSince: cosmos-sdk 0.47","tags":["Query"],"summary":"SendEnabled queries for SendEnabled entries.","operationId":"AuthQuery_SendEnabled","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"denoms is the specific denoms you want look up. Leave empty to get all entries.","name":"denoms","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46","tags":["Query"],"summary":"SpendableBalances queries the spendable balance of all coins for a single\naccount.","operationId":"AuthQuery_SpendableBalances","parameters":[{"type":"string","description":"address is the address to query spendable balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.47","tags":["Query"],"summary":"SpendableBalanceByDenom queries the spendable balance of a single denom for\na single account.","operationId":"AuthQuery_SpendableBalanceByDenom","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"TotalSupply queries the total supply of all coins.","operationId":"AuthQuery_TotalSupply","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryTotalSupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"SupplyOf queries the supply of a single coin.","operationId":"AuthQuery_SupplyOf","parameters":[{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySupplyOfResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/config":{"get":{"tags":["Service"],"summary":"Config queries for the operator configuration.","operationId":"AuthService_Config","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.ConfigResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/status":{"get":{"tags":["Service"],"summary":"Status queries for the node status.","operationId":"AuthService_Status","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.StatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/authn":{"get":{"tags":["ReflectionService"],"summary":"GetAuthnDescriptor returns information on how to authenticate transactions in the application\nNOTE: this RPC is still experimental and might be subject to breaking changes or removal in\nfuture releases of the cosmos-sdk.","operationId":"AuthReflectionService_GetAuthnDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/chain":{"get":{"tags":["ReflectionService"],"summary":"GetChainDescriptor returns the description of the chain","operationId":"AuthReflectionService_GetChainDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/codec":{"get":{"tags":["ReflectionService"],"summary":"GetCodecDescriptor returns the descriptor of the codec of the application","operationId":"AuthReflectionService_GetCodecDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/configuration":{"get":{"tags":["ReflectionService"],"summary":"GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application","operationId":"AuthReflectionService_GetConfigurationDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/query_services":{"get":{"tags":["ReflectionService"],"summary":"GetQueryServicesDescriptor returns the available gRPC queryable services of the application","operationId":"AuthReflectionService_GetQueryServicesDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/tx_descriptor":{"get":{"tags":["ReflectionService"],"summary":"GetTxDescriptor returns information on the used transaction object and available msgs that can be used","operationId":"AuthReflectionService_GetTxDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces":{"get":{"tags":["ReflectionService"],"summary":"ListAllInterfaces lists all the interfaces registered in the interface\nregistry.","operationId":"AuthReflectionService_ListAllInterfaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListAllInterfacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces/{interface_name}/implementations":{"get":{"tags":["ReflectionService"],"summary":"ListImplementations list all the concrete types that implement a given\ninterface.","operationId":"AuthReflectionService_ListImplementations","parameters":[{"type":"string","description":"interface_name defines the interface to query the implementations for.","name":"interface_name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListImplementationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/abci_query":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Service"],"summary":"ABCIQuery defines a query handler that supports ABCI queries directly to the\napplication, bypassing Tendermint completely. The ABCI query must contain\na valid and supported path, including app, custom, p2p, and store.","operationId":"AuthService_ABCIQuery","parameters":[{"type":"string","format":"byte","name":"data","in":"query"},{"type":"string","name":"path","in":"query"},{"type":"string","format":"int64","name":"height","in":"query"},{"type":"boolean","name":"prove","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ABCIQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/latest":{"get":{"tags":["Service"],"summary":"GetLatestBlock returns the latest block.","operationId":"AuthService_GetLatestBlock","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/{height}":{"get":{"tags":["Service"],"summary":"GetBlockByHeight queries block for given height.","operationId":"AuthService_GetBlockByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/node_info":{"get":{"tags":["Service"],"summary":"GetNodeInfo queries the current node info.","operationId":"AuthService_GetNodeInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetNodeInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/syncing":{"get":{"tags":["Service"],"summary":"GetSyncing queries node syncing.","operationId":"AuthService_GetSyncing","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetSyncingResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/latest":{"get":{"tags":["Service"],"summary":"GetLatestValidatorSet queries latest validator-set.","operationId":"AuthService_GetLatestValidatorSet","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/{height}":{"get":{"tags":["Service"],"summary":"GetValidatorSetByHeight queries validator-set at a given height.","operationId":"AuthService_GetValidatorSetByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"AuthQuery_AccountsMixin47","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"AuthQuery_AccountMixin47","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/disable_list":{"get":{"tags":["Query"],"summary":"DisabledList returns a list of disabled message urls","operationId":"AuthQuery_DisabledList","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.DisabledListResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/consensus/v1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/consensus module.","operationId":"AuthQuery_ParamsMixin50","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/community_pool":{"get":{"tags":["Query"],"summary":"CommunityPool queries the community pool coins.","operationId":"AuthQuery_CommunityPool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards":{"get":{"tags":["Query"],"summary":"DelegationTotalRewards queries the total rewards accrued by each\nvalidator.","operationId":"AuthQuery_DelegationTotalRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}":{"get":{"tags":["Query"],"summary":"DelegationRewards queries the total rewards accrued by a delegation.","operationId":"AuthQuery_DelegationRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true},{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators":{"get":{"tags":["Query"],"summary":"DelegatorValidators queries the validators of a delegator.","operationId":"AuthQuery_DelegatorValidators","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address":{"get":{"tags":["Query"],"summary":"DelegatorWithdrawAddress queries withdraw address of a delegator.","operationId":"AuthQuery_DelegatorWithdrawAddress","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries params of the distribution module.","operationId":"AuthQuery_ParamsMixin63","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}":{"get":{"tags":["Query"],"summary":"ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator","operationId":"AuthQuery_ValidatorDistributionInfo","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/commission":{"get":{"tags":["Query"],"summary":"ValidatorCommission queries accumulated commission for a validator.","operationId":"AuthQuery_ValidatorCommission","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards":{"get":{"tags":["Query"],"summary":"ValidatorOutstandingRewards queries rewards of a validator address.","operationId":"AuthQuery_ValidatorOutstandingRewards","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/slashes":{"get":{"tags":["Query"],"summary":"ValidatorSlashes queries slash events of a validator.","operationId":"AuthQuery_ValidatorSlashes","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true},{"type":"string","format":"uint64","description":"starting_height defines the optional starting height to query the slashes.","name":"starting_height","in":"query"},{"type":"string","format":"uint64","description":"starting_height defines the optional ending height to query the slashes.","name":"ending_height","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorSlashesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence":{"get":{"tags":["Query"],"summary":"AllEvidence queries all evidence.","operationId":"AuthQuery_AllEvidence","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryAllEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence/{hash}":{"get":{"tags":["Query"],"summary":"Evidence queries evidence based on evidence hash.","operationId":"AuthQuery_Evidence","parameters":[{"type":"string","description":"hash defines the evidence hash of the requested evidence.\n\nSince: cosmos-sdk 0.47","name":"hash","in":"path","required":true},{"type":"string","format":"byte","description":"evidence_hash defines the hash of the requested evidence.\nDeprecated: Use hash, a HEX encoded string, instead.","name":"evidence_hash","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}":{"get":{"tags":["Query"],"summary":"Allowance returns granted allwance to the grantee by the granter.","operationId":"AuthQuery_Allowance","parameters":[{"type":"string","description":"granter is the address of the user granting an allowance of their funds.","name":"granter","in":"path","required":true},{"type":"string","description":"grantee is the address of the user being granted an allowance of another user's funds.","name":"grantee","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowances/{grantee}":{"get":{"tags":["Query"],"summary":"Allowances returns all the grants for the given grantee address.","operationId":"AuthQuery_Allowances","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/issued/{granter}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AllowancesByGranter returns all the grants given by an address","operationId":"AuthQuery_AllowancesByGranter","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/constitution":{"get":{"tags":["Query"],"summary":"Constitution queries the chain's constitution.","operationId":"AuthQuery_Constitution","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryConstitutionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"AuthQuery_ParamsMixin76","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"AuthQuery_Proposals","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"AuthQuery_Proposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"AuthQuery_Deposits","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositAddr.","operationId":"AuthQuery_Deposit","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"AuthQuery_TallyResult","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"AuthQuery_Votes","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"AuthQuery_Vote","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"AuthQuery_ParamsMixin80","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"AuthQuery_ProposalsMixin80","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"AuthQuery_ProposalMixin80","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"AuthQuery_DepositsMixin80","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositor address.","operationId":"AuthQuery_DepositMixin80","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"AuthQuery_TallyResultMixin80","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"AuthQuery_VotesMixin80","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"AuthQuery_VoteMixin80","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_info/{group_id}":{"get":{"tags":["Query"],"summary":"GroupInfo queries group info based on group id.","operationId":"AuthQuery_GroupInfo","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_members/{group_id}":{"get":{"tags":["Query"],"summary":"GroupMembers queries members of a group by group id.","operationId":"AuthQuery_GroupMembers","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByAdmin queries group policies by admin address.","operationId":"AuthQuery_GroupPoliciesByAdmin","parameters":[{"type":"string","description":"admin is the admin address of the group policy.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_group/{group_id}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByGroup queries group policies by group id.","operationId":"AuthQuery_GroupPoliciesByGroup","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group policy's group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policy_info/{address}":{"get":{"tags":["Query"],"summary":"GroupPolicyInfo queries group policy info based on account address of group policy.","operationId":"AuthQuery_GroupPolicyInfo","parameters":[{"type":"string","description":"address is the account address of the group policy.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPolicyInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups":{"get":{"description":"Since: cosmos-sdk 0.47.1","tags":["Query"],"summary":"Groups queries all groups in state.","operationId":"AuthQuery_Groups","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupsByAdmin queries groups by admin address.","operationId":"AuthQuery_GroupsByAdmin","parameters":[{"type":"string","description":"admin is the account address of a group's admin.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_member/{address}":{"get":{"tags":["Query"],"summary":"GroupsByMember queries groups by member address.","operationId":"AuthQuery_GroupsByMember","parameters":[{"type":"string","description":"address is the group member address.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByMemberResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries a proposal based on proposal id.","operationId":"AuthQuery_ProposalMixin84","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult returns the tally result of a proposal. If the proposal is\nstill in voting period, then this query computes the current tally state,\nwhich might not be final. On the other hand, if the proposal is final,\nthen it simply returns the `final_tally_result` state stored in the\nproposal itself.","operationId":"AuthQuery_TallyResultMixin84","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique id of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals_by_group_policy/{address}":{"get":{"tags":["Query"],"summary":"ProposalsByGroupPolicy queries proposals based on account address of group policy.","operationId":"AuthQuery_ProposalsByGroupPolicy","parameters":[{"type":"string","description":"address is the account address of the group policy related to proposals.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalsByGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/vote_by_proposal_voter/{proposal_id}/{voter}":{"get":{"tags":["Query"],"summary":"VoteByProposalVoter queries a vote by proposal id and voter.","operationId":"AuthQuery_VoteByProposalVoter","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVoteByProposalVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"VotesByProposal queries a vote by proposal id.","operationId":"AuthQuery_VotesByProposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_voter/{voter}":{"get":{"tags":["Query"],"summary":"VotesByVoter queries a vote by voter.","operationId":"AuthQuery_VotesByVoter","parameters":[{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/annual_provisions":{"get":{"tags":["Query"],"summary":"AnnualProvisions current minting annual provisions value.","operationId":"AuthQuery_AnnualProvisions","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryAnnualProvisionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/inflation":{"get":{"tags":["Query"],"summary":"Inflation returns the current minting inflation value.","operationId":"AuthQuery_Inflation","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryInflationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params returns the total set of minting parameters.","operationId":"AuthQuery_ParamsMixin89","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/balance/{owner}/{class_id}":{"get":{"tags":["Query"],"summary":"Balance queries the number of NFTs of a given class owned by the owner, same as balanceOf in ERC721","operationId":"AuthQuery_BalanceMixin95","parameters":[{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"path","required":true},{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes":{"get":{"tags":["Query"],"summary":"Classes queries all NFT classes","operationId":"AuthQuery_Classes","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes/{class_id}":{"get":{"tags":["Query"],"summary":"Class queries an NFT class based on its id","operationId":"AuthQuery_Class","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts":{"get":{"tags":["Query"],"summary":"NFTs queries all NFTs of a given class or owner,choose at least one of the two, similar to tokenByIndex in\nERC721Enumerable","operationId":"AuthQuery_NFTs","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"query"},{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"NFT queries an NFT based on its class and id.","operationId":"AuthQuery_NFT","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/owner/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"Owner queries the owner of the NFT based on its class and id, same as ownerOf in ERC721","operationId":"AuthQuery_Owner","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryOwnerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/supply/{class_id}":{"get":{"tags":["Query"],"summary":"Supply queries the number of NFTs from the given class, same as totalSupply of ERC721.","operationId":"AuthQuery_Supply","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QuerySupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries a specific parameter of a module, given its subspace and\nkey.","operationId":"AuthQuery_ParamsMixin98","parameters":[{"type":"string","description":"subspace defines the module to query the parameter for.","name":"subspace","in":"query"},{"type":"string","description":"key defines the key of the parameter in the subspace.","name":"key","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/subspaces":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Subspaces queries for all registered subspaces and all keys for a subspace.","operationId":"AuthQuery_Subspaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QuerySubspacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of slashing module","operationId":"AuthQuery_ParamsMixin101","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos":{"get":{"tags":["Query"],"summary":"SigningInfos queries signing info of all validators","operationId":"AuthQuery_SigningInfos","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfosResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos/{cons_address}":{"get":{"tags":["Query"],"summary":"SigningInfo queries the signing info of given cons address","operationId":"AuthQuery_SigningInfo","parameters":[{"type":"string","description":"cons_address is the address to query signing info of","name":"cons_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegations/{delegator_addr}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorDelegations queries all delegations of a given delegator address.","operationId":"AuthQuery_DelegatorDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Redelegations queries redelegations of given address.","operationId":"AuthQuery_Redelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"src_validator_addr defines the validator address to redelegate from.","name":"src_validator_addr","in":"query"},{"type":"string","description":"dst_validator_addr defines the validator address to redelegate to.","name":"dst_validator_addr","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryRedelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorUnbondingDelegations queries all unbonding delegations of a given\ndelegator address.","operationId":"AuthQuery_DelegatorUnbondingDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorValidators queries all validators info for given delegator\naddress.","operationId":"AuthQuery_DelegatorValidatorsMixin106","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"DelegatorValidator queries validator info for given delegator validator\npair.","operationId":"AuthQuery_DelegatorValidator","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/historical_info/{height}":{"get":{"tags":["Query"],"summary":"HistoricalInfo queries the historical info for given height.","operationId":"AuthQuery_HistoricalInfo","parameters":[{"type":"string","format":"int64","description":"height defines at which height to query the historical info.","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryHistoricalInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/params":{"get":{"tags":["Query"],"summary":"Parameters queries the staking parameters.","operationId":"AuthQuery_ParamsMixin106","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/pool":{"get":{"tags":["Query"],"summary":"Pool queries the pool info.","operationId":"AuthQuery_Pool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Validators queries all validators that match the given status.","operationId":"AuthQuery_Validators","parameters":[{"type":"string","description":"status enables to query for validators matching a given status.","name":"status","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"Validator queries validator info for given validator address.","operationId":"AuthQuery_Validator","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorDelegations queries delegate info for given validator.","operationId":"AuthQuery_ValidatorDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}":{"get":{"tags":["Query"],"summary":"Delegation queries delegate info for given validator delegator pair.","operationId":"AuthQuery_Delegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation":{"get":{"tags":["Query"],"summary":"UnbondingDelegation queries unbonding info for given validator delegator\npair.","operationId":"AuthQuery_UnbondingDelegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorUnbondingDelegations queries unbonding delegations of a validator.","operationId":"AuthQuery_ValidatorUnbondingDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxDecode decodes the transaction.","operationId":"AuthService_TxDecode","parameters":[{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode/amino":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON.","operationId":"AuthService_TxDecodeAmino","parameters":[{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxEncode encodes the transaction.","operationId":"AuthService_TxEncode","parameters":[{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode/amino":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes.","operationId":"AuthService_TxEncodeAmino","parameters":[{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/simulate":{"post":{"tags":["Service"],"summary":"Simulate simulates executing a transaction for estimating gas usage.","operationId":"AuthService_Simulate","parameters":[{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs":{"get":{"tags":["Service"],"summary":"GetTxsEvent fetches txs by event.","operationId":"AuthService_GetTxsEvent","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"events is the list of transaction event type.\nDeprecated post v0.47.x: use query instead, which should contain a valid\nevents query.","name":"events","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"],"type":"string","default":"ORDER_BY_UNSPECIFIED","description":" - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","name":"order_by","in":"query"},{"type":"string","format":"uint64","description":"page is the page number to query, starts at 1. If not provided, will\ndefault to first page.","name":"page","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"limit","in":"query"},{"type":"string","description":"query defines the transaction event query that is proxied to Tendermint's\nTxSearch RPC method. The query must be valid.\n\nSince cosmos-sdk 0.50","name":"query","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}},"post":{"tags":["Service"],"summary":"BroadcastTx broadcast transaction.","operationId":"AuthService_BroadcastTx","parameters":[{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/block/{height}":{"get":{"description":"Since: cosmos-sdk 0.45.2","tags":["Service"],"summary":"GetBlockWithTxs fetches a block with decoded txs.","operationId":"AuthService_GetBlockWithTxs","parameters":[{"type":"string","format":"int64","description":"height is the height of the block to query.","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetBlockWithTxsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/{hash}":{"get":{"tags":["Service"],"summary":"GetTx fetches a tx by hash.","operationId":"AuthService_GetTx","parameters":[{"type":"string","description":"hash is the tx hash to query, encoded as a hex string.","name":"hash","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/applied_plan/{name}":{"get":{"tags":["Query"],"summary":"AppliedPlan queries a previously applied upgrade plan by its name.","operationId":"AuthQuery_AppliedPlan","parameters":[{"type":"string","description":"name is the name of the applied plan to query for.","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAppliedPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/authority":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Returns the account with authority to conduct upgrades","operationId":"AuthQuery_Authority","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAuthorityResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/current_plan":{"get":{"tags":["Query"],"summary":"CurrentPlan queries the current upgrade plan.","operationId":"AuthQuery_CurrentPlan","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryCurrentPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/module_versions":{"get":{"description":"Since: cosmos-sdk 0.43","tags":["Query"],"summary":"ModuleVersions queries the list of module versions from state.","operationId":"AuthQuery_ModuleVersions","parameters":[{"type":"string","description":"module_name is a field to query a specific module\nconsensus version from state. Leaving this empty will\nfetch the full list of module versions from state","name":"module_name","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryModuleVersionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}":{"get":{"tags":["Query"],"summary":"UpgradedConsensusState queries the consensus state that will serve\nas a trusted kernel for the next version of this chain. It will only be\nstored at the last height of this chain.\nUpgradedConsensusState RPC not supported with legacy querier\nThis rpc is deprecated now that IBC has its own replacement\n(https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54)","operationId":"AuthQuery_UpgradedConsensusState","parameters":[{"type":"string","format":"int64","description":"last height of the current chain must be sent in request\nas this is the height under which next consensus state is stored","name":"last_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/PayPacketFee":{"post":{"tags":["Msg"],"summary":"PayPacketFee defines a rpc handler method for MsgPayPacketFee\nPayPacketFee is an open callback that may be called by any module/user that wishes to escrow funds in order to\nincentivize the relaying of the packet at the next sequence\nNOTE: This method is intended to be used within a multi msg transaction, where the subsequent msg that follows\ninitiates the lifecycle of the incentivized packet","operationId":"FeeMsg_PayPacketFee","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFee"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/PayPacketFeeAsync":{"post":{"tags":["Msg"],"summary":"PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync\nPayPacketFeeAsync is an open callback that may be called by any module/user that wishes to escrow funds in order to\nincentivize the relaying of a known packet (i.e. at a particular sequence)","operationId":"FeeMsg_PayPacketFeeAsync","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFeeAsync"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/RegisterCounterpartyPayee":{"post":{"tags":["Msg"],"summary":"RegisterCounterpartyPayee defines a rpc handler method for MsgRegisterCounterpartyPayee\nRegisterCounterpartyPayee is called by the relayer on each channelEnd and allows them to specify the counterparty\npayee address before relaying. This ensures they will be properly compensated for forward relaying since\nthe destination chain must include the registered counterparty payee address in the acknowledgement. This function\nmay be called more than once by a relayer, in which case, the latest counterparty payee address is always used.","operationId":"FeeMsg_RegisterCounterpartyPayee","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterCounterpartyPayee"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.fee.v1.Msg/RegisterPayee":{"post":{"tags":["Msg"],"summary":"RegisterPayee defines a rpc handler method for MsgRegisterPayee\nRegisterPayee is called by the relayer on each channelEnd and allows them to set an optional\npayee to which reverse and timeout relayer packet fees will be paid out. The payee should be registered on\nthe source chain from which packets originate as this is where fee distribution takes place. This function may be\ncalled more than once by a relayer, in which case, the latest payee is always used.","operationId":"FeeMsg_RegisterPayee","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterPayee"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.MsgRegisterPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.controller.v1.Msg/RegisterInterchainAccount":{"post":{"tags":["Msg"],"summary":"RegisterInterchainAccount defines a rpc handler for MsgRegisterInterchainAccount.","operationId":"FeeMsg_RegisterInterchainAccount","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.controller.v1.Msg/SendTx":{"post":{"tags":["Msg"],"summary":"SendTx defines a rpc handler for MsgSendTx.","operationId":"FeeMsg_SendTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgSendTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.controller.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a rpc handler for MsgUpdateParams.","operationId":"FeeMsg_UpdateParams","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.host.v1.Msg/ModuleQuerySafe":{"post":{"tags":["Msg"],"summary":"ModuleQuerySafe defines a rpc handler for MsgModuleQuerySafe.","operationId":"FeeMsg_ModuleQuerySafe","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.interchain_accounts.host.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a rpc handler for MsgUpdateParams.","operationId":"FeeMsg_UpdateParamsMixin147","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.transfer.v1.Msg/Transfer":{"post":{"tags":["Msg"],"summary":"Transfer defines a rpc handler method for MsgTransfer.","operationId":"FeeMsg_Transfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.applications.transfer.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a rpc handler for MsgUpdateParams.","operationId":"FeeMsg_UpdateParamsMixin155","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/Acknowledgement":{"post":{"tags":["Msg"],"summary":"Acknowledgement defines a rpc handler method for MsgAcknowledgement.","operationId":"FeeMsg_Acknowledgement","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgAcknowledgement"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgAcknowledgementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelCloseConfirm":{"post":{"tags":["Msg"],"summary":"ChannelCloseConfirm defines a rpc handler method for\nMsgChannelCloseConfirm.","operationId":"FeeMsg_ChannelCloseConfirm","parameters":[{"description":"MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B\nto acknowledge the change of channel state to CLOSED on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelCloseInit":{"post":{"tags":["Msg"],"summary":"ChannelCloseInit defines a rpc handler method for MsgChannelCloseInit.","operationId":"FeeMsg_ChannelCloseInit","parameters":[{"description":"MsgChannelCloseInit defines a msg sent by a Relayer to Chain A\nto close a channel with Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelCloseInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenAck":{"post":{"tags":["Msg"],"summary":"ChannelOpenAck defines a rpc handler method for MsgChannelOpenAck.","operationId":"FeeMsg_ChannelOpenAck","parameters":[{"description":"MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge\nthe change of channel state to TRYOPEN on Chain B.\nWARNING: a channel upgrade MUST NOT initialize an upgrade for this channel\nin the same block as executing this message otherwise the counterparty will\nbe incapable of opening.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenAck"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenAckResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenConfirm":{"post":{"tags":["Msg"],"summary":"ChannelOpenConfirm defines a rpc handler method for MsgChannelOpenConfirm.","operationId":"FeeMsg_ChannelOpenConfirm","parameters":[{"description":"MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of channel state to OPEN on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenInit":{"post":{"tags":["Msg"],"summary":"ChannelOpenInit defines a rpc handler method for MsgChannelOpenInit.","operationId":"FeeMsg_ChannelOpenInit","parameters":[{"description":"MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It\nis called by a relayer on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelOpenTry":{"post":{"tags":["Msg"],"summary":"ChannelOpenTry defines a rpc handler method for MsgChannelOpenTry.","operationId":"FeeMsg_ChannelOpenTry","parameters":[{"description":"MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel\non Chain B. The version field within the Channel field has been deprecated. Its\nvalue will be ignored by core IBC.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenTry"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelOpenTryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeAck":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeAck defines a rpc handler method for MsgChannelUpgradeAck.","operationId":"FeeMsg_ChannelUpgradeAck","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeAck"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeAckResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeCancel":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeCancel defines a rpc handler method for MsgChannelUpgradeCancel.","operationId":"FeeMsg_ChannelUpgradeCancel","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeCancel"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeCancelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeConfirm":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeConfirm defines a rpc handler method for MsgChannelUpgradeConfirm.","operationId":"FeeMsg_ChannelUpgradeConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeInit":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeInit defines a rpc handler method for MsgChannelUpgradeInit.","operationId":"FeeMsg_ChannelUpgradeInit","parameters":[{"description":"MsgChannelUpgradeInit defines the request type for the ChannelUpgradeInit rpc\nWARNING: Initializing a channel upgrade in the same block as opening the channel\nmay result in the counterparty being incapable of opening.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeOpen":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeOpen defines a rpc handler method for MsgChannelUpgradeOpen.","operationId":"FeeMsg_ChannelUpgradeOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeTimeout":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeTimeout defines a rpc handler method for MsgChannelUpgradeTimeout.","operationId":"FeeMsg_ChannelUpgradeTimeout","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTimeout"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTimeoutResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/ChannelUpgradeTry":{"post":{"tags":["Msg"],"summary":"ChannelUpgradeTry defines a rpc handler method for MsgChannelUpgradeTry.","operationId":"FeeMsg_ChannelUpgradeTry","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTry"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgChannelUpgradeTryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/PruneAcknowledgements":{"post":{"tags":["Msg"],"summary":"PruneAcknowledgements defines a rpc handler method for MsgPruneAcknowledgements.","operationId":"FeeMsg_PruneAcknowledgements","parameters":[{"description":"MsgPruneAcknowledgements defines the request type for the PruneAcknowledgements rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgPruneAcknowledgements"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgPruneAcknowledgementsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/RecvPacket":{"post":{"tags":["Msg"],"summary":"RecvPacket defines a rpc handler method for MsgRecvPacket.","operationId":"FeeMsg_RecvPacket","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgRecvPacket"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgRecvPacketResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/Timeout":{"post":{"tags":["Msg"],"summary":"Timeout defines a rpc handler method for MsgTimeout.","operationId":"FeeMsg_Timeout","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeout"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeoutResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/TimeoutOnClose":{"post":{"tags":["Msg"],"summary":"TimeoutOnClose defines a rpc handler method for MsgTimeoutOnClose.","operationId":"FeeMsg_TimeoutOnClose","parameters":[{"description":"MsgTimeoutOnClose timed-out packet upon counterparty channel closure.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeoutOnClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgTimeoutOnCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.channel.v1.Msg/UpdateChannelParams":{"post":{"tags":["Msg"],"summary":"UpdateChannelParams defines a rpc handler method for MsgUpdateParams.","operationId":"FeeMsg_UpdateChannelParams","parameters":[{"description":"MsgUpdateParams is the MsgUpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/CreateClient":{"post":{"tags":["Msg"],"summary":"CreateClient defines a rpc handler method for MsgCreateClient.","operationId":"FeeMsg_CreateClient","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgCreateClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgCreateClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/IBCSoftwareUpgrade":{"post":{"tags":["Msg"],"summary":"IBCSoftwareUpgrade defines a rpc handler method for MsgIBCSoftwareUpgrade.","operationId":"FeeMsg_IBCSoftwareUpgrade","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgIBCSoftwareUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/RecoverClient":{"post":{"tags":["Msg"],"summary":"RecoverClient defines a rpc handler method for MsgRecoverClient.","operationId":"FeeMsg_RecoverClient","parameters":[{"description":"MsgRecoverClient defines the message used to recover a frozen or expired client.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgRecoverClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgRecoverClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/SubmitMisbehaviour":{"post":{"tags":["Msg"],"summary":"SubmitMisbehaviour defines a rpc handler method for MsgSubmitMisbehaviour.","operationId":"FeeMsg_SubmitMisbehaviour","parameters":[{"description":"MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for\nlight client misbehaviour.\nThis message has been deprecated. Use MsgUpdateClient instead.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgSubmitMisbehaviour"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgSubmitMisbehaviourResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/UpdateClient":{"post":{"tags":["Msg"],"summary":"UpdateClient defines a rpc handler method for MsgUpdateClient.","operationId":"FeeMsg_UpdateClient","parameters":[{"description":"MsgUpdateClient defines an sdk.Msg to update a IBC client state using\nthe given client message.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/UpdateClientParams":{"post":{"tags":["Msg"],"summary":"UpdateClientParams defines a rpc handler method for MsgUpdateParams.","operationId":"FeeMsg_UpdateClientParams","parameters":[{"description":"MsgUpdateParams defines the sdk.Msg type to update the client parameters.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.client.v1.Msg/UpgradeClient":{"post":{"tags":["Msg"],"summary":"UpgradeClient defines a rpc handler method for MsgUpgradeClient.","operationId":"FeeMsg_UpgradeClient","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpgradeClient"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.MsgUpgradeClientResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenAck":{"post":{"tags":["Msg"],"summary":"ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck.","operationId":"FeeMsg_ConnectionOpenAck","parameters":[{"description":"MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to\nacknowledge the change of connection state to TRYOPEN on Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenAck"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenAckResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenConfirm":{"post":{"tags":["Msg"],"summary":"ConnectionOpenConfirm defines a rpc handler method for\nMsgConnectionOpenConfirm.","operationId":"FeeMsg_ConnectionOpenConfirm","parameters":[{"description":"MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of connection state to OPEN on Chain A.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenInit":{"post":{"tags":["Msg"],"summary":"ConnectionOpenInit defines a rpc handler method for MsgConnectionOpenInit.","operationId":"FeeMsg_ConnectionOpenInit","parameters":[{"description":"MsgConnectionOpenInit defines the msg sent by an account on Chain A to\ninitialize a connection with Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenInit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenInitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/ConnectionOpenTry":{"post":{"tags":["Msg"],"summary":"ConnectionOpenTry defines a rpc handler method for MsgConnectionOpenTry.","operationId":"FeeMsg_ConnectionOpenTry","parameters":[{"description":"MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a\nconnection on Chain B.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenTry"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgConnectionOpenTryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.core.connection.v1.Msg/UpdateConnectionParams":{"post":{"tags":["Msg"],"summary":"UpdateConnectionParams defines a rpc handler method for\nMsgUpdateParams.","operationId":"FeeMsg_UpdateConnectionParams","parameters":[{"description":"MsgUpdateParams defines the sdk.Msg type to update the connection parameters.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.lightclients.wasm.v1.Msg/MigrateContract":{"post":{"tags":["Msg"],"summary":"MigrateContract defines a rpc handler method for MsgMigrateContract.","operationId":"FeeMsg_MigrateContract","parameters":[{"description":"MsgMigrateContract defines the request type for the MigrateContract rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgMigrateContract"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgMigrateContractResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.lightclients.wasm.v1.Msg/RemoveChecksum":{"post":{"tags":["Msg"],"summary":"RemoveChecksum defines a rpc handler method for MsgRemoveChecksum.","operationId":"FeeMsg_RemoveChecksum","parameters":[{"description":"MsgRemoveChecksum defines the request type for the MsgRemoveChecksum rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgRemoveChecksum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgRemoveChecksumResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc.lightclients.wasm.v1.Msg/StoreCode":{"post":{"tags":["Msg"],"summary":"StoreCode defines a rpc handler method for MsgStoreCode.","operationId":"FeeMsg_StoreCode","parameters":[{"description":"MsgStoreCode defines the request type for the StoreCode rpc.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgStoreCode"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.MsgStoreCodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/ports/{port_id}/fee_enabled":{"get":{"tags":["Query"],"summary":"FeeEnabledChannel returns true if the provided port and channel identifiers belong to a fee enabled channel","operationId":"FeeQuery_FeeEnabledChannel","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"unique port identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryFeeEnabledChannelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/ports/{port_id}/incentivized_packets":{"get":{"tags":["Query"],"summary":"Gets all incentivized packets for a specific channel","operationId":"FeeQuery_IncentivizedPacketsForChannel","parameters":[{"type":"string","name":"channel_id","in":"path","required":true},{"type":"string","name":"port_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"string","format":"uint64","description":"Height to query at","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/relayers/{relayer}/counterparty_payee":{"get":{"tags":["Query"],"summary":"CounterpartyPayee returns the registered counterparty payee for forward relaying","operationId":"FeeQuery_CounterpartyPayee","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"the relayer address to which the counterparty is registered","name":"relayer","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryCounterpartyPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{channel_id}/relayers/{relayer}/payee":{"get":{"tags":["Query"],"summary":"Payee returns the registered payee address for a specific channel given the relayer address","operationId":"FeeQuery_Payee","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"the relayer address to which the distribution address is registered","name":"relayer","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryPayeeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/incentivized_packet":{"get":{"tags":["Query"],"summary":"IncentivizedPacket returns all packet fees for a packet given its identifier","operationId":"FeeQuery_IncentivizedPacket","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true},{"type":"string","format":"uint64","description":"block height at which to query","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryIncentivizedPacketResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_ack_fees":{"get":{"tags":["Query"],"summary":"TotalAckFees returns the total acknowledgement fees for a packet given its identifier","operationId":"FeeQuery_TotalAckFees","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryTotalAckFeesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_recv_fees":{"get":{"tags":["Query"],"summary":"TotalRecvFees returns the total receive fees for a packet given its identifier","operationId":"FeeQuery_TotalRecvFees","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryTotalRecvFeesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/channels/{packet_id.channel_id}/ports/{packet_id.port_id}/sequences/{packet_id.sequence}/total_timeout_fees":{"get":{"tags":["Query"],"summary":"TotalTimeoutFees returns the total timeout fees for a packet given its identifier","operationId":"FeeQuery_TotalTimeoutFees","parameters":[{"type":"string","description":"channel unique identifier","name":"packet_id.channel_id","in":"path","required":true},{"type":"string","description":"channel port identifier","name":"packet_id.port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"packet_id.sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/fee_enabled":{"get":{"tags":["Query"],"summary":"FeeEnabledChannels returns a list of all fee enabled channels","operationId":"FeeQuery_FeeEnabledChannels","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"string","format":"uint64","description":"block height at which to query","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/fee/v1/incentivized_packets":{"get":{"tags":["Query"],"summary":"IncentivizedPackets returns all incentivized packets and their associated fees","operationId":"FeeQuery_IncentivizedPackets","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"string","format":"uint64","description":"block height at which to query","name":"query_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.fee.v1.QueryIncentivizedPacketsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/interchain_accounts/controller/v1/owners/{owner}/connections/{connection_id}":{"get":{"tags":["Query"],"summary":"InterchainAccount returns the interchain account address for a given owner address on a given connection","operationId":"FeeQuery_InterchainAccount","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"string","name":"connection_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/interchain_accounts/controller/v1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the ICA controller submodule.","operationId":"FeeQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/interchain_accounts/host/v1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the ICA host submodule.","operationId":"FeeQuery_ParamsMixin146","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address":{"get":{"tags":["Query"],"summary":"EscrowAddress returns the escrow address for a particular port and channel id.","operationId":"FeeQuery_EscrowAddress","parameters":[{"type":"string","description":"unique channel identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"unique port identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryEscrowAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denom_hashes/{trace}":{"get":{"tags":["Query"],"summary":"DenomHash queries a denomination hash information.","operationId":"FeeQuery_DenomHash","parameters":[{"pattern":".+","type":"string","description":"The denomination trace ([port_id]/[channel_id])+/[denom]","name":"trace","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryDenomHashResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denom_traces":{"get":{"tags":["Query"],"summary":"DenomTraces queries all denomination traces.","operationId":"FeeQuery_DenomTraces","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryDenomTracesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denom_traces/{hash}":{"get":{"tags":["Query"],"summary":"DenomTrace queries a denomination trace information.","operationId":"FeeQuery_DenomTrace","parameters":[{"pattern":".+","type":"string","description":"hash (in hex format) or denom (full denom with ibc prefix) of the denomination trace information.","name":"hash","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryDenomTraceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/denoms/{denom}/total_escrow":{"get":{"tags":["Query"],"summary":"TotalEscrowForDenom returns the total amount of tokens in escrow based on the denom.","operationId":"FeeQuery_TotalEscrowForDenom","parameters":[{"pattern":".+","type":"string","name":"denom","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/apps/transfer/v1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the ibc-transfer module.","operationId":"FeeQuery_ParamsMixin153","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.applications.transfer.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels":{"get":{"tags":["Query"],"summary":"Channels queries all the IBC channels of a chain.","operationId":"FeeQuery_Channels","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}":{"get":{"tags":["Query"],"summary":"Channel queries an IBC Channel.","operationId":"FeeQuery_Channel","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state":{"get":{"tags":["Query"],"summary":"ChannelClientState queries for the client state for the channel associated\nwith the provided channel identifiers.","operationId":"FeeQuery_ChannelClientState","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}":{"get":{"tags":["Query"],"summary":"ChannelConsensusState queries for the consensus state for the channel\nassociated with the provided channel identifiers.","operationId":"FeeQuery_ChannelConsensusState","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"revision number of the consensus state","name":"revision_number","in":"path","required":true},{"type":"string","format":"uint64","description":"revision height of the consensus state","name":"revision_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence":{"get":{"tags":["Query"],"summary":"NextSequenceReceive returns the next receive sequence for a given channel.","operationId":"FeeQuery_NextSequenceReceive","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryNextSequenceReceiveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence_send":{"get":{"tags":["Query"],"summary":"NextSequenceSend returns the next send sequence for a given channel.","operationId":"FeeQuery_NextSequenceSend","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryNextSequenceSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements":{"get":{"tags":["Query"],"summary":"PacketAcknowledgements returns all the packet acknowledgements associated\nwith a channel.","operationId":"FeeQuery_PacketAcknowledgements","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","description":"list of packet sequences","name":"packet_commitment_sequences","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketAcknowledgementsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}":{"get":{"tags":["Query"],"summary":"PacketAcknowledgement queries a stored packet acknowledgement hash.","operationId":"FeeQuery_PacketAcknowledgement","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketAcknowledgementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments":{"get":{"tags":["Query"],"summary":"PacketCommitments returns all the packet commitments hashes associated\nwith a channel.","operationId":"FeeQuery_PacketCommitments","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketCommitmentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks":{"get":{"tags":["Query"],"summary":"UnreceivedAcks returns all the unreceived IBC acknowledgements associated\nwith a channel and sequences.","operationId":"FeeQuery_UnreceivedAcks","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","description":"list of acknowledgement sequences","name":"packet_ack_sequences","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUnreceivedAcksResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets":{"get":{"tags":["Query"],"summary":"UnreceivedPackets returns all the unreceived IBC packets associated with a\nchannel and sequences.","operationId":"FeeQuery_UnreceivedPackets","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","description":"list of packet sequences","name":"packet_commitment_sequences","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUnreceivedPacketsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}":{"get":{"tags":["Query"],"summary":"PacketCommitment queries a stored packet commitment hash.","operationId":"FeeQuery_PacketCommitment","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketCommitmentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}":{"get":{"tags":["Query"],"summary":"PacketReceipt queries if a given packet sequence has been received on the\nqueried chain","operationId":"FeeQuery_PacketReceipt","parameters":[{"type":"string","description":"channel unique identifier","name":"channel_id","in":"path","required":true},{"type":"string","description":"port unique identifier","name":"port_id","in":"path","required":true},{"type":"string","format":"uint64","description":"packet sequence","name":"sequence","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryPacketReceiptResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade":{"get":{"tags":["Query"],"summary":"Upgrade returns the upgrade for a given port and channel id.","operationId":"FeeQuery_Upgrade","parameters":[{"type":"string","name":"channel_id","in":"path","required":true},{"type":"string","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/upgrade_error":{"get":{"tags":["Query"],"summary":"UpgradeError returns the error receipt if the upgrade handshake failed.","operationId":"FeeQuery_UpgradeError","parameters":[{"type":"string","name":"channel_id","in":"path","required":true},{"type":"string","name":"port_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryUpgradeErrorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/connections/{connection}/channels":{"get":{"tags":["Query"],"summary":"ConnectionChannels queries all the channels associated with a connection\nend.","operationId":"FeeQuery_ConnectionChannels","parameters":[{"type":"string","description":"connection unique identifier","name":"connection","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryConnectionChannelsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/channel/v1/params":{"get":{"tags":["Query"],"summary":"ChannelParams queries all parameters of the ibc channel submodule.","operationId":"FeeQuery_ChannelParams","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.channel.v1.QueryChannelParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/client_states":{"get":{"tags":["Query"],"summary":"ClientStates queries all the IBC light clients of a chain.","operationId":"FeeQuery_ClientStates","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientStatesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/client_states/{client_id}":{"get":{"tags":["Query"],"summary":"ClientState queries an IBC light client.","operationId":"FeeQuery_ClientState","parameters":[{"type":"string","description":"client state unique identifier","name":"client_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/client_status/{client_id}":{"get":{"tags":["Query"],"summary":"Status queries the status of an IBC client.","operationId":"FeeQuery_ClientStatus","parameters":[{"type":"string","description":"client unique identifier","name":"client_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/consensus_states/{client_id}":{"get":{"tags":["Query"],"summary":"ConsensusStates queries all the consensus state associated with a given\nclient.","operationId":"FeeQuery_ConsensusStates","parameters":[{"type":"string","description":"client identifier","name":"client_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryConsensusStatesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/consensus_states/{client_id}/heights":{"get":{"tags":["Query"],"summary":"ConsensusStateHeights queries the height of every consensus states associated with a given client.","operationId":"FeeQuery_ConsensusStateHeights","parameters":[{"type":"string","description":"client identifier","name":"client_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryConsensusStateHeightsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}":{"get":{"tags":["Query"],"summary":"ConsensusState queries a consensus state associated with a client state at\na given height.","operationId":"FeeQuery_ConsensusState","parameters":[{"type":"string","description":"client identifier","name":"client_id","in":"path","required":true},{"type":"string","format":"uint64","description":"consensus state revision number","name":"revision_number","in":"path","required":true},{"type":"string","format":"uint64","description":"consensus state revision height","name":"revision_height","in":"path","required":true},{"type":"boolean","description":"latest_height overrrides the height field and queries the latest stored\nConsensusState","name":"latest_height","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/params":{"get":{"tags":["Query"],"summary":"ClientParams queries all parameters of the ibc client submodule.","operationId":"FeeQuery_ClientParams","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryClientParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/upgraded_client_states":{"get":{"tags":["Query"],"summary":"UpgradedClientState queries an Upgraded IBC light client.","operationId":"FeeQuery_UpgradedClientState","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryUpgradedClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/upgraded_consensus_states":{"get":{"tags":["Query"],"summary":"UpgradedConsensusState queries an Upgraded IBC consensus state.","operationId":"FeeQuery_UpgradedConsensusState","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryUpgradedConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/client/v1/verify_membership":{"post":{"tags":["Query"],"summary":"VerifyMembership queries an IBC light client for proof verification of a value at a given key path.","operationId":"FeeQuery_VerifyMembership","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryVerifyMembershipRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.client.v1.QueryVerifyMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/client_connections/{client_id}":{"get":{"tags":["Query"],"summary":"ClientConnections queries the connection paths associated with a client\nstate.","operationId":"FeeQuery_ClientConnections","parameters":[{"type":"string","description":"client identifier associated with a connection","name":"client_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryClientConnectionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections":{"get":{"tags":["Query"],"summary":"Connections queries all the IBC connections of a chain.","operationId":"FeeQuery_Connections","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections/{connection_id}":{"get":{"tags":["Query"],"summary":"Connection queries an IBC connection end.","operationId":"FeeQuery_Connection","parameters":[{"type":"string","description":"connection unique identifier","name":"connection_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections/{connection_id}/client_state":{"get":{"tags":["Query"],"summary":"ConnectionClientState queries the client state associated with the\nconnection.","operationId":"FeeQuery_ConnectionClientState","parameters":[{"type":"string","description":"connection identifier","name":"connection_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionClientStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}":{"get":{"tags":["Query"],"summary":"ConnectionConsensusState queries the consensus state associated with the\nconnection.","operationId":"FeeQuery_ConnectionConsensusState","parameters":[{"type":"string","description":"connection identifier","name":"connection_id","in":"path","required":true},{"type":"string","format":"uint64","name":"revision_number","in":"path","required":true},{"type":"string","format":"uint64","name":"revision_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/core/connection/v1/params":{"get":{"tags":["Query"],"summary":"ConnectionParams queries all parameters of the ibc connection submodule.","operationId":"FeeQuery_ConnectionParams","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.core.connection.v1.QueryConnectionParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/lightclients/wasm/v1/checksums":{"get":{"tags":["Query"],"summary":"Get all Wasm checksums","operationId":"FeeQuery_Checksums","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.QueryChecksumsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/ibc/lightclients/wasm/v1/checksums/{checksum}/code":{"get":{"tags":["Query"],"summary":"Get Wasm code for given checksum","operationId":"FeeQuery_Code","parameters":[{"type":"string","description":"checksum is a hex encoded string of the code stored.","name":"checksum","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/ibc.lightclients.wasm.v1.QueryCodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ApplySnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ApplySnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestApplySnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/CheckTx":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_CheckTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCheckTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCheckTx"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Commit":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Commit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Echo":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Echo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestEcho"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseEcho"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ExtendVote":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ExtendVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestExtendVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseExtendVote"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/FinalizeBlock":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_FinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Flush":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Flush","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFlush"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFlush"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Info":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Info","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInfo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInfo"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/InitChain":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_InitChain","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInitChain"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInitChain"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ListSnapshots":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ListSnapshots","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestListSnapshots"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseListSnapshots"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/LoadSnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_LoadSnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestLoadSnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseLoadSnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/OfferSnapshot":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_OfferSnapshot","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestOfferSnapshot"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/PrepareProposal":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_PrepareProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestPrepareProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponsePrepareProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ProcessProposal":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ProcessProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestProcessProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Query":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Query","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestQuery"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseQuery"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/VerifyVoteExtension":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_VerifyVoteExtension","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestVerifyVoteExtension"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.auth.v1beta1.AddressBytesToStringResponse":{"description":"AddressBytesToStringResponse is the response type for AddressString rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address_string":{"type":"string"}}},"cosmos.auth.v1beta1.AddressStringToBytesResponse":{"description":"AddressStringToBytesResponse is the response type for AddressBytes rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address_bytes":{"type":"string","format":"byte"}}},"cosmos.auth.v1beta1.BaseAccount":{"description":"BaseAccount defines a base account type. It contains all the necessary fields\nfor basic account functionality. Any custom account type should extend this\ntype for additional functionality (e.g. vesting).","type":"object","properties":{"account_number":{"type":"string","format":"uint64"},"address":{"type":"string"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"sequence":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.Bech32PrefixResponse":{"description":"Bech32PrefixResponse is the response type for Bech32Prefix rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"bech32_prefix":{"type":"string"}}},"cosmos.auth.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/auth parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.auth.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.auth.v1beta1.Params":{"description":"Params defines the parameters for the auth module.","type":"object","properties":{"max_memo_characters":{"type":"string","format":"uint64"},"sig_verify_cost_ed25519":{"type":"string","format":"uint64"},"sig_verify_cost_secp256k1":{"type":"string","format":"uint64"},"tx_sig_limit":{"type":"string","format":"uint64"},"tx_size_cost_per_byte":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.QueryAccountAddressByIDResponse":{"description":"Since: cosmos-sdk 0.46.2","type":"object","title":"QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method","properties":{"account_address":{"type":"string"}}},"cosmos.auth.v1beta1.QueryAccountInfoResponse":{"description":"QueryAccountInfoResponse is the Query/AccountInfo response type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"info":{"description":"info is the account info which is represented by BaseAccount.","$ref":"#/definitions/cosmos.auth.v1beta1.BaseAccount"}}},"cosmos.auth.v1beta1.QueryAccountResponse":{"description":"QueryAccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"account":{"description":"account defines the account of the corresponding address.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryAccountsResponse":{"description":"QueryAccountsResponse is the response type for the Query/Accounts RPC method.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"accounts":{"type":"array","title":"accounts are the existing accounts","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.auth.v1beta1.QueryModuleAccountByNameResponse":{"description":"QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method.","type":"object","properties":{"account":{"$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryModuleAccountsResponse":{"description":"QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.auth.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.authz.v1beta1.Grant":{"description":"Grant gives permissions to execute\nthe provide method with expiration time.","type":"object","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time","title":"time when the grant will expire and will be pruned. If null, then the grant\ndoesn't have a time expiration (other conditions in `authorization`\nmay apply to invalidate the grant)"}}},"cosmos.authz.v1beta1.GrantAuthorization":{"type":"object","title":"GrantAuthorization extends a grant with both the addresses of the grantee and granter.\nIt is used in genesis.proto and query.proto","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgExec":{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","type":"object","properties":{"grantee":{"type":"string"},"msgs":{"description":"Execute Msg.\nThe x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg))\ntriple and validate it.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.authz.v1beta1.MsgExecResponse":{"description":"MsgExecResponse defines the Msg/MsgExecResponse response type.","type":"object","properties":{"results":{"type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.authz.v1beta1.MsgGrant":{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","type":"object","properties":{"grant":{"$ref":"#/definitions/cosmos.authz.v1beta1.Grant"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgGrantResponse":{"description":"MsgGrantResponse defines the Msg/MsgGrant response type.","type":"object"},"cosmos.authz.v1beta1.MsgRevoke":{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","type":"object","properties":{"grantee":{"type":"string"},"granter":{"type":"string"},"msg_type_url":{"type":"string"}}},"cosmos.authz.v1beta1.MsgRevokeResponse":{"description":"MsgRevokeResponse defines the Msg/MsgRevokeResponse response type.","type":"object"},"cosmos.authz.v1beta1.QueryGranteeGrantsResponse":{"description":"QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted to the grantee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGranterGrantsResponse":{"description":"QueryGranterGrantsResponse is the response type for the Query/GranterGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGrantsResponse":{"description":"QueryGrantsResponse is the response type for the Query/Authorizations RPC method.","type":"object","properties":{"grants":{"description":"authorizations is a list of grants granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.autocli.v1.AppOptionsRequest":{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","type":"object"},"cosmos.autocli.v1.AppOptionsResponse":{"description":"AppOptionsResponse is the RemoteInfoService/AppOptions response type.","type":"object","properties":{"module_options":{"description":"module_options is a map of module name to autocli module options.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ModuleOptions"}}}},"cosmos.autocli.v1.FlagOptions":{"description":"FlagOptions are options for flags generated from rpc request fields.\nBy default, all request fields are configured as flags based on the\nkebab-case name of the field. Fields can be turned into positional arguments\ninstead by using RpcCommandOptions.positional_args.","type":"object","properties":{"default_value":{"description":"default_value is the default value as text.","type":"string"},"deprecated":{"description":"deprecated is the usage text to show if this flag is deprecated.","type":"string"},"hidden":{"type":"boolean","title":"hidden hides the flag from help/usage text"},"name":{"description":"name is an alternate name to use for the field flag.","type":"string"},"shorthand":{"description":"shorthand is a one-letter abbreviated flag.","type":"string"},"shorthand_deprecated":{"description":"shorthand_deprecated is the usage text to show if the shorthand of this flag is deprecated.","type":"string"},"usage":{"description":"usage is the help message.","type":"string"}}},"cosmos.autocli.v1.ModuleOptions":{"description":"ModuleOptions describes the CLI options for a Cosmos SDK module.","type":"object","properties":{"query":{"description":"query describes the queries commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"},"tx":{"description":"tx describes the tx commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}},"cosmos.autocli.v1.PositionalArgDescriptor":{"description":"PositionalArgDescriptor describes a positional argument.","type":"object","properties":{"proto_field":{"description":"proto_field specifies the proto field to use as the positional arg. Any\nfields used as positional args will not have a flag generated.","type":"string"},"varargs":{"description":"varargs makes a positional parameter a varargs parameter. This can only be\napplied to last positional parameter and the proto_field must a repeated\nfield.","type":"boolean"}}},"cosmos.autocli.v1.RpcCommandOptions":{"description":"RpcCommandOptions specifies options for commands generated from protobuf\nrpc methods.","type":"object","properties":{"alias":{"description":"alias is an array of aliases that can be used instead of the first word in Use.","type":"array","items":{"type":"string"}},"deprecated":{"description":"deprecated defines, if this command is deprecated and should print this string when used.","type":"string"},"example":{"description":"example is examples of how to use the command.","type":"string"},"flag_options":{"description":"flag_options are options for flags generated from rpc request fields.\nBy default all request fields are configured as flags. They can\nalso be configured as positional args instead using positional_args.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.FlagOptions"}},"long":{"description":"long is the long message shown in the 'help \u003cthis-command\u003e' output.","type":"string"},"positional_args":{"description":"positional_args specifies positional arguments for the command.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.PositionalArgDescriptor"}},"rpc_method":{"description":"rpc_method is short name of the protobuf rpc method that this command is\ngenerated from.","type":"string"},"short":{"description":"short is the short description shown in the 'help' output.","type":"string"},"skip":{"description":"skip specifies whether to skip this rpc method when generating commands.","type":"boolean"},"suggest_for":{"description":"suggest_for is an array of command names for which this command will be suggested -\nsimilar to aliases but only suggests.","type":"array","items":{"type":"string"}},"use":{"description":"use is the one-line usage method. It also allows specifying an alternate\nname for the command as the first word of the usage text.\n\nBy default the name of an rpc command is the kebab-case short name of the\nrpc method.","type":"string"},"version":{"description":"version defines the version for this command. If this value is non-empty and the command does not\ndefine a \"version\" flag, a \"version\" boolean flag will be added to the command and, if specified,\nwill print content of the \"Version\" variable. A shorthand \"v\" flag will also be added if the\ncommand does not define one.","type":"string"}}},"cosmos.autocli.v1.ServiceCommandDescriptor":{"description":"ServiceCommandDescriptor describes a CLI command based on a protobuf service.","type":"object","properties":{"rpc_command_options":{"description":"rpc_command_options are options for commands generated from rpc methods.\nIf no options are specified for a given rpc method on the service, a\ncommand will be generated for that method with the default options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.RpcCommandOptions"}},"service":{"description":"service is the fully qualified name of the protobuf service to build\nthe command from. It can be left empty if sub_commands are used instead\nwhich may be the case if a module provides multiple tx and/or query services.","type":"string"},"sub_commands":{"description":"sub_commands is a map of optional sub-commands for this command based on\ndifferent protobuf services. The map key is used as the name of the\nsub-command.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}}},"cosmos.bank.v1beta1.DenomOwner":{"description":"DenomOwner defines structure representing an account that owns or holds a\nparticular denominated token. It contains the account address and account\nbalance of the denominated token.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address":{"description":"address defines the address that owns a particular denomination.","type":"string"},"balance":{"description":"balance is the balance of the denominated coin for an account.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.DenomUnit":{"description":"DenomUnit represents a struct that describes a given\ndenomination unit of the basic token.","type":"object","properties":{"aliases":{"type":"array","title":"aliases is a list of string aliases for the given denom","items":{"type":"string"}},"denom":{"description":"denom represents the string name of the given denom unit (e.g uatom).","type":"string"},"exponent":{"description":"exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom).","type":"integer","format":"int64"}}},"cosmos.bank.v1beta1.Input":{"description":"Input models transaction input.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Metadata":{"description":"Metadata represents a struct that describes\na basic token.","type":"object","properties":{"base":{"description":"base represents the base denom (should be the DenomUnit with exponent = 0).","type":"string"},"denom_units":{"type":"array","title":"denom_units represents the list of DenomUnit's for a given coin","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomUnit"}},"description":{"type":"string"},"display":{"description":"display indicates the suggested denom that should be\ndisplayed in clients.","type":"string"},"name":{"description":"Since: cosmos-sdk 0.43","type":"string","title":"name defines the name of the token (eg: Cosmos Atom)"},"symbol":{"description":"symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.\n\nSince: cosmos-sdk 0.43","type":"string"},"uri":{"description":"URI to a document (on or off-chain) that contains additional information. Optional.\n\nSince: cosmos-sdk 0.46","type":"string"},"uri_hash":{"description":"URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.\n\nSince: cosmos-sdk 0.46","type":"string"}}},"cosmos.bank.v1beta1.MsgMultiSend":{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","type":"object","properties":{"inputs":{"description":"Inputs, despite being `repeated`, only allows one sender input. This is\nchecked in MsgMultiSend's ValidateBasic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Input"}},"outputs":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Output"}}}},"cosmos.bank.v1beta1.MsgMultiSendResponse":{"description":"MsgMultiSendResponse defines the Msg/MultiSend response type.","type":"object"},"cosmos.bank.v1beta1.MsgSend":{"description":"MsgSend represents a message to send coins from one account to another.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.bank.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.bank.v1beta1.MsgSetSendEnabled":{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module.","type":"string"},"send_enabled":{"description":"send_enabled is the list of entries to add or update.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}},"use_default_for":{"description":"use_default_for is a list of denoms that should use the params.default_send_enabled value.\nDenoms listed here will have their SendEnabled entries deleted.\nIf a denom is included that doesn't have a SendEnabled entry,\nit will be ignored.","type":"array","items":{"type":"string"}}}},"cosmos.bank.v1beta1.MsgSetSendEnabledResponse":{"description":"MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.bank.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/bank parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.bank.v1beta1.Output":{"description":"Output models transaction outputs.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Params":{"description":"Params defines the parameters for the bank module.","type":"object","properties":{"default_send_enabled":{"type":"boolean"},"send_enabled":{"description":"Deprecated: Use of SendEnabled in params is deprecated.\nFor genesis, use the newly added send_enabled field in the genesis object.\nStorage, lookup, and manipulation of this information is now in the keeper.\n\nAs of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QueryAllBalancesResponse":{"description":"QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod.","type":"object","properties":{"balances":{"description":"balances is the balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryBalanceResponse":{"description":"QueryBalanceResponse is the response type for the Query/Balance RPC method.","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse":{"description":"QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC\nmethod. Identical with QueryDenomMetadataResponse but receives denom as query string in request.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomMetadataResponse":{"description":"QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC\nmethod.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse":{"description":"QueryDenomOwnersByQueryResponse defines the RPC response of a DenomOwnersByQuery RPC query.\n\nSince: cosmos-sdk 0.50.3","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomOwnersResponse":{"description":"QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomsMetadataResponse":{"description":"QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC\nmethod.","type":"object","properties":{"metadatas":{"description":"metadata provides the client information for all the registered tokens.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/bank parameters.","type":"object","properties":{"params":{"description":"params provides the parameters of the bank module.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.QuerySendEnabledResponse":{"description":"QuerySendEnabledResponse defines the RPC response of a SendEnable query.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response. This field is only\npopulated if the denoms field in the request is empty.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"send_enabled":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse":{"description":"QuerySpendableBalanceByDenomResponse defines the gRPC response structure for\nquerying an account's spendable balance for a specific denom.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QuerySpendableBalancesResponse":{"description":"QuerySpendableBalancesResponse defines the gRPC response structure for querying\nan account's spendable balances.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"balances":{"description":"balances is the spendable balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QuerySupplyOfResponse":{"description":"QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method.","type":"object","properties":{"amount":{"description":"amount is the supply of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryTotalSupplyResponse":{"type":"object","title":"QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC\nmethod","properties":{"pagination":{"description":"pagination defines the pagination in the response.\n\nSince: cosmos-sdk 0.43","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"supply":{"type":"array","title":"supply is the supply of the coins","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.SendEnabled":{"description":"SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable).","type":"object","properties":{"denom":{"type":"string"},"enabled":{"type":"boolean"}}},"cosmos.base.abci.v1beta1.ABCIMessageLog":{"description":"ABCIMessageLog defines a structure containing an indexed tx ABCI message log.","type":"object","properties":{"events":{"description":"Events contains a slice of Event objects that were emitted during some\nexecution.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.StringEvent"}},"log":{"type":"string"},"msg_index":{"type":"integer","format":"int64"}}},"cosmos.base.abci.v1beta1.Attribute":{"description":"Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes.","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"cosmos.base.abci.v1beta1.GasInfo":{"description":"GasInfo defines tx execution gas context.","type":"object","properties":{"gas_used":{"description":"GasUsed is the amount of gas actually consumed.","type":"string","format":"uint64"},"gas_wanted":{"description":"GasWanted is the maximum units of work we allow this tx to perform.","type":"string","format":"uint64"}}},"cosmos.base.abci.v1beta1.Result":{"description":"Result is the union of ResponseFormat and ResponseCheckTx.","type":"object","properties":{"data":{"description":"Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL.","type":"string","format":"byte"},"events":{"description":"Events contains a slice of Event objects that were emitted during message\nor handler execution.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"log":{"description":"Log contains the log information from message or handler execution.","type":"string"},"msg_responses":{"description":"msg_responses contains the Msg handler responses type packed in Anys.\n\nSince: cosmos-sdk 0.46","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.base.abci.v1beta1.StringEvent":{"description":"StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.Attribute"}},"type":{"type":"string"}}},"cosmos.base.abci.v1beta1.TxResponse":{"description":"TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded.","type":"object","properties":{"code":{"description":"Response code.","type":"integer","format":"int64"},"codespace":{"type":"string","title":"Namespace for the Code"},"data":{"description":"Result bytes, if any.","type":"string"},"events":{"description":"Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"description":"Amount of gas consumed by transaction.","type":"string","format":"int64"},"gas_wanted":{"description":"Amount of gas requested for transaction.","type":"string","format":"int64"},"height":{"type":"string","format":"int64","title":"The block height"},"info":{"description":"Additional information. May be non-deterministic.","type":"string"},"logs":{"description":"The output of the application's logger (typed). May be non-deterministic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.ABCIMessageLog"}},"raw_log":{"description":"The output of the application's logger (raw string). May be\nnon-deterministic.","type":"string"},"timestamp":{"description":"Time of the previous block. For heights \u003e 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time.","type":"string"},"tx":{"description":"The request transaction bytes.","$ref":"#/definitions/google.protobuf.Any"},"txhash":{"description":"The transaction hash.","type":"string"}}},"cosmos.base.node.v1beta1.ConfigResponse":{"description":"ConfigResponse defines the response structure for the Config gRPC query.","type":"object","properties":{"halt_height":{"type":"string","format":"uint64"},"minimum_gas_price":{"type":"string"},"pruning_interval":{"type":"string"},"pruning_keep_recent":{"type":"string"}}},"cosmos.base.node.v1beta1.StatusResponse":{"description":"StateResponse defines the response structure for the status of a node.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"app hash of the current block"},"earliest_store_height":{"type":"string","format":"uint64","title":"earliest block height available in the store"},"height":{"type":"string","format":"uint64","title":"current block height"},"timestamp":{"type":"string","format":"date-time","title":"block height timestamp"},"validator_hash":{"type":"string","format":"byte","title":"validator hash provided by the consensus header"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.reflection.v1beta1.ListAllInterfacesResponse":{"description":"ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC.","type":"object","properties":{"interface_names":{"description":"interface_names is an array of all the registered interfaces.","type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v1beta1.ListImplementationsResponse":{"description":"ListImplementationsResponse is the response type of the ListImplementations\nRPC.","type":"object","properties":{"implementation_message_names":{"type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v2alpha1.AuthnDescriptor":{"type":"object","title":"AuthnDescriptor provides information on how to sign transactions without relying\non the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures","properties":{"sign_modes":{"type":"array","title":"sign_modes defines the supported signature algorithm","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.SigningModeDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ChainDescriptor":{"type":"object","title":"ChainDescriptor describes chain information of the application","properties":{"id":{"type":"string","title":"id is the chain id"}}},"cosmos.base.reflection.v2alpha1.CodecDescriptor":{"type":"object","title":"CodecDescriptor describes the registered interfaces and provides metadata information on the types","properties":{"interfaces":{"type":"array","title":"interfaces is a list of the registerted interfaces descriptors","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ConfigurationDescriptor":{"type":"object","title":"ConfigurationDescriptor contains metadata information on the sdk.Config","properties":{"bech32_account_address_prefix":{"type":"string","title":"bech32_account_address_prefix is the account address prefix"}}},"cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse":{"type":"object","title":"GetAuthnDescriptorResponse is the response returned by the GetAuthnDescriptor RPC","properties":{"authn":{"title":"authn describes how to authenticate to the application when sending transactions","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.AuthnDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse":{"type":"object","title":"GetChainDescriptorResponse is the response returned by the GetChainDescriptor RPC","properties":{"chain":{"title":"chain describes application chain information","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ChainDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse":{"type":"object","title":"GetCodecDescriptorResponse is the response returned by the GetCodecDescriptor RPC","properties":{"codec":{"title":"codec describes the application codec such as registered interfaces and implementations","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.CodecDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse":{"type":"object","title":"GetConfigurationDescriptorResponse is the response returned by the GetConfigurationDescriptor RPC","properties":{"config":{"title":"config describes the application's sdk.Config","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ConfigurationDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse":{"type":"object","title":"GetQueryServicesDescriptorResponse is the response returned by the GetQueryServicesDescriptor RPC","properties":{"queries":{"title":"queries provides information on the available queryable services","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServicesDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse":{"type":"object","title":"GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC","properties":{"tx":{"title":"tx provides information on msgs that can be forwarded to the application\nalongside the accepted transaction protobuf type","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.TxDescriptor"}}},"cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor":{"type":"object","title":"InterfaceAcceptingMessageDescriptor describes a protobuf message which contains\nan interface represented as a google.protobuf.Any","properties":{"field_descriptor_names":{"type":"array","title":"field_descriptor_names is a list of the protobuf name (not fullname) of the field\nwhich contains the interface as google.protobuf.Any (the interface is the same, but\nit can be in multiple fields of the same proto message)","items":{"type":"string"}},"fullname":{"type":"string","title":"fullname is the protobuf fullname of the type containing the interface"}}},"cosmos.base.reflection.v2alpha1.InterfaceDescriptor":{"type":"object","title":"InterfaceDescriptor describes the implementation of an interface","properties":{"fullname":{"type":"string","title":"fullname is the name of the interface"},"interface_accepting_messages":{"type":"array","title":"interface_accepting_messages contains information regarding the proto messages which contain the interface as\ngoogle.protobuf.Any field","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor"}},"interface_implementers":{"type":"array","title":"interface_implementers is a list of the descriptors of the interface implementers","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor"}}}},"cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor":{"type":"object","title":"InterfaceImplementerDescriptor describes an interface implementer","properties":{"fullname":{"type":"string","title":"fullname is the protobuf queryable name of the interface implementer"},"type_url":{"type":"string","title":"type_url defines the type URL used when marshalling the type as any\nthis is required so we can provide type safe google.protobuf.Any marshalling and\nunmarshalling, making sure that we don't accept just 'any' type\nin our interface fields"}}},"cosmos.base.reflection.v2alpha1.MsgDescriptor":{"type":"object","title":"MsgDescriptor describes a cosmos-sdk message that can be delivered with a transaction","properties":{"msg_type_url":{"description":"msg_type_url contains the TypeURL of a sdk.Msg.","type":"string"}}},"cosmos.base.reflection.v2alpha1.QueryMethodDescriptor":{"type":"object","title":"QueryMethodDescriptor describes a queryable method of a query service\nno other info is provided beside method name and tendermint queryable path\nbecause it would be redundant with the grpc reflection service","properties":{"full_query_path":{"type":"string","title":"full_query_path is the path that can be used to query\nthis method via tendermint abci.Query"},"name":{"type":"string","title":"name is the protobuf name (not fullname) of the method"}}},"cosmos.base.reflection.v2alpha1.QueryServiceDescriptor":{"type":"object","title":"QueryServiceDescriptor describes a cosmos-sdk queryable service","properties":{"fullname":{"type":"string","title":"fullname is the protobuf fullname of the service descriptor"},"is_module":{"type":"boolean","title":"is_module describes if this service is actually exposed by an application's module"},"methods":{"type":"array","title":"methods provides a list of query service methods","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryMethodDescriptor"}}}},"cosmos.base.reflection.v2alpha1.QueryServicesDescriptor":{"type":"object","title":"QueryServicesDescriptor contains the list of cosmos-sdk queriable services","properties":{"query_services":{"type":"array","title":"query_services is a list of cosmos-sdk QueryServiceDescriptor","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServiceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.SigningModeDescriptor":{"type":"object","title":"SigningModeDescriptor provides information on a signing flow of the application\nNOTE(fdymylja): here we could go as far as providing an entire flow on how\nto sign a message given a SigningModeDescriptor, but it's better to think about\nthis another time","properties":{"authn_info_provider_method_fullname":{"type":"string","title":"authn_info_provider_method_fullname defines the fullname of the method to call to get\nthe metadata required to authenticate using the provided sign_modes"},"name":{"type":"string","title":"name defines the unique name of the signing mode"},"number":{"type":"integer","format":"int32","title":"number is the unique int32 identifier for the sign_mode enum"}}},"cosmos.base.reflection.v2alpha1.TxDescriptor":{"type":"object","title":"TxDescriptor describes the accepted transaction type","properties":{"fullname":{"description":"fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type)\nit is not meant to support polymorphism of transaction types, it is supposed to be used by\nreflection clients to understand if they can handle a specific transaction type in an application.","type":"string"},"msgs":{"type":"array","title":"msgs lists the accepted application messages (sdk.Msg)","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.MsgDescriptor"}}}},"cosmos.base.tendermint.v1beta1.ABCIQueryResponse":{"description":"ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint.","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"type":"string","title":"nondeterministic"},"proof_ops":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOps"},"value":{"type":"string","format":"byte"}}},"cosmos.base.tendermint.v1beta1.Block":{"description":"Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string.","type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse":{"description":"GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"title":"Since: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestBlockResponse":{"description":"GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"title":"Since: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse":{"description":"GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.GetNodeInfoResponse":{"description":"GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method.","type":"object","properties":{"application_version":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.VersionInfo"},"default_node_info":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfo"}}},"cosmos.base.tendermint.v1beta1.GetSyncingResponse":{"description":"GetSyncingResponse is the response type for the Query/GetSyncing RPC method.","type":"object","properties":{"syncing":{"type":"boolean"}}},"cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse":{"description":"GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.Header":{"description":"Header defines the structure of a Tendermint block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"description":"proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX.\n\noriginal proposer of the block","type":"string"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"cosmos.base.tendermint.v1beta1.Module":{"type":"object","title":"Module is the type for VersionInfo","properties":{"path":{"type":"string","title":"module path"},"sum":{"type":"string","title":"checksum"},"version":{"type":"string","title":"module version"}}},"cosmos.base.tendermint.v1beta1.ProofOp":{"description":"ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint.","type":"object","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"cosmos.base.tendermint.v1beta1.ProofOps":{"description":"ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint.","type":"object","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOp"}}}},"cosmos.base.tendermint.v1beta1.Validator":{"description":"Validator is the type for the validator-set.","type":"object","properties":{"address":{"type":"string"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"voting_power":{"type":"string","format":"int64"}}},"cosmos.base.tendermint.v1beta1.VersionInfo":{"description":"VersionInfo is the type for the GetNodeInfoResponse message.","type":"object","properties":{"app_name":{"type":"string"},"build_deps":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Module"}},"build_tags":{"type":"string"},"cosmos_sdk_version":{"type":"string","title":"Since: cosmos-sdk 0.43"},"git_commit":{"type":"string"},"go_version":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.base.v1beta1.DecCoin":{"description":"DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.circuit.v1.AccountResponse":{"description":"AccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"permission":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.AccountsResponse":{"description":"AccountsResponse is the response type for the Query/Accounts RPC method.","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.circuit.v1.GenesisAccountPermissions"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.circuit.v1.DisabledListResponse":{"description":"DisabledListResponse is the response type for the Query/DisabledList RPC method.","type":"object","properties":{"disabled_list":{"type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.GenesisAccountPermissions":{"type":"object","title":"GenesisAccountPermissions is the account permissions for the circuit breaker in genesis","properties":{"address":{"type":"string"},"permissions":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreaker":{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","type":"object","properties":{"grantee":{"description":"grantee is the account authorized with the provided permissions.","type":"string"},"granter":{"description":"granter is the granter of the circuit breaker permissions and must have\nLEVEL_SUPER_ADMIN.","type":"string"},"permissions":{"description":"permissions are the circuit breaker permissions that the grantee receives.\nThese will overwrite any existing permissions. LEVEL_NONE_UNSPECIFIED can\nbe specified to revoke all permissions.","$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse":{"description":"MsgAuthorizeCircuitBreakerResponse defines the Msg/AuthorizeCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgResetCircuitBreaker":{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip or reset the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of Msg type URLs to resume processing. If\nit is left empty all Msg processing for type URLs that the account is\nauthorized to trip will resume.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgResetCircuitBreakerResponse":{"description":"MsgResetCircuitBreakerResponse defines the Msg/ResetCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgTripCircuitBreaker":{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of type URLs to immediately stop processing.\nIF IT IS LEFT EMPTY, ALL MSG PROCESSING WILL STOP IMMEDIATELY.\nThis value is validated against the authority's permissions and if the\nauthority does not have permissions to trip the specified msg type URLs\n(or all URLs), the operation will fail.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgTripCircuitBreakerResponse":{"description":"MsgTripCircuitBreakerResponse defines the Msg/TripCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.Permissions":{"description":"Permissions are the permissions that an account has to trip\nor reset the circuit breaker.","type":"object","properties":{"level":{"description":"level is the level of permissions granted to this account.","$ref":"#/definitions/cosmos.circuit.v1.Permissions.Level"},"limit_type_urls":{"description":"limit_type_urls is used with LEVEL_SOME_MSGS to limit the lists of Msg type\nURLs that the account can trip. It is an error to use limit_type_urls with\na level other than LEVEL_SOME_MSGS.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.Permissions.Level":{"description":"Level is the permission level.\n\n - LEVEL_NONE_UNSPECIFIED: LEVEL_NONE_UNSPECIFIED indicates that the account will have no circuit\nbreaker permissions.\n - LEVEL_SOME_MSGS: LEVEL_SOME_MSGS indicates that the account will have permission to\ntrip or reset the circuit breaker for some Msg type URLs. If this level\nis chosen, a non-empty list of Msg type URLs must be provided in\nlimit_type_urls.\n - LEVEL_ALL_MSGS: LEVEL_ALL_MSGS indicates that the account can trip or reset the circuit\nbreaker for Msg's of all type URLs.\n - LEVEL_SUPER_ADMIN: LEVEL_SUPER_ADMIN indicates that the account can take all circuit breaker\nactions and can grant permissions to other accounts.","type":"string","default":"LEVEL_NONE_UNSPECIFIED","enum":["LEVEL_NONE_UNSPECIFIED","LEVEL_SOME_MSGS","LEVEL_ALL_MSGS","LEVEL_SUPER_ADMIN"]},"cosmos.consensus.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"abci":{"title":"Since: cosmos-sdk 0.50","$ref":"#/definitions/tendermint.types.ABCIParams"},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"block":{"description":"params defines the x/consensus parameters to update.\nVersionsParams is not included in this Msg because it is tracked\nsepararately in x/upgrade.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"}}},"cosmos.consensus.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.consensus.v1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/consensus parameters.","type":"object","properties":{"params":{"description":"params are the tendermint consensus params stored in the consensus module.\nPlease note that `params.version` is not populated in this response, it is\ntracked separately in the x/upgrade module.","$ref":"#/definitions/tendermint.types.ConsensusParams"}}},"cosmos.crisis.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"constant_fee":{"description":"constant_fee defines the x/crisis parameter.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.crisis.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.crisis.v1beta1.MsgVerifyInvariant":{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","type":"object","properties":{"invariant_module_name":{"description":"name of the invariant module.","type":"string"},"invariant_route":{"description":"invariant_route is the msg's invariant route.","type":"string"},"sender":{"description":"sender is the account address of private key to send coins to fee collector account.","type":"string"}}},"cosmos.crisis.v1beta1.MsgVerifyInvariantResponse":{"description":"MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type.","type":"object"},"cosmos.crypto.multisig.v1beta1.CompactBitArray":{"description":"CompactBitArray is an implementation of a space efficient bit array.\nThis is used to ensure that the encoded data takes up a minimal amount of\nspace after proto encoding.\nThis is not thread safe, and is not intended for concurrent usage.","type":"object","properties":{"elems":{"type":"string","format":"byte"},"extra_bits_stored":{"type":"integer","format":"int64"}}},"cosmos.distribution.v1beta1.DelegationDelegatorReward":{"description":"DelegationDelegatorReward represents the properties\nof a delegator's delegation reward.","type":"object","properties":{"reward":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpend":{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"recipient":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse":{"description":"MsgCommunityPoolSpendResponse defines the response to executing a\nMsgCommunityPoolSpend message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool":{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse":{"description":"MsgDepositValidatorRewardsPoolResponse defines the response to executing a\nMsgDepositValidatorRewardsPool message.\n\nSince: cosmos-sdk 0.50","type":"object"},"cosmos.distribution.v1beta1.MsgFundCommunityPool":{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse":{"description":"MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.","type":"object"},"cosmos.distribution.v1beta1.MsgSetWithdrawAddress":{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","type":"object","properties":{"delegator_address":{"type":"string"},"withdraw_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse":{"description":"MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response\ntype.","type":"object"},"cosmos.distribution.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/distribution parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward":{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","type":"object","properties":{"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse":{"description":"MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward\nresponse type.","type":"object","properties":{"amount":{"type":"array","title":"Since: cosmos-sdk 0.46","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission":{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","type":"object","properties":{"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse":{"description":"MsgWithdrawValidatorCommissionResponse defines the\nMsg/WithdrawValidatorCommission response type.","type":"object","properties":{"amount":{"type":"array","title":"Since: cosmos-sdk 0.46","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.Params":{"description":"Params defines the set of params for the distribution module.","type":"object","properties":{"base_proposer_reward":{"description":"Deprecated: The base_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"bonus_proposer_reward":{"description":"Deprecated: The bonus_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"community_tax":{"type":"string"},"withdraw_addr_enabled":{"type":"boolean"}}},"cosmos.distribution.v1beta1.QueryCommunityPoolResponse":{"description":"QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method.","type":"object","properties":{"pool":{"description":"pool defines community pool's coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationRewardsResponse":{"description":"QueryDelegationRewardsResponse is the response type for the\nQuery/DelegationRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines the rewards accrued by a delegation.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse":{"description":"QueryDelegationTotalRewardsResponse is the response type for the\nQuery/DelegationTotalRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines all the rewards accrued by a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.DelegationDelegatorReward"}},"total":{"description":"total defines the sum of all the rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is the response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"validators":{"description":"validators defines the validators a delegator is delegating for.","type":"array","items":{"type":"string"}}}},"cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse":{"description":"QueryDelegatorWithdrawAddressResponse is the response type for the\nQuery/DelegatorWithdrawAddress RPC method.","type":"object","properties":{"withdraw_address":{"description":"withdraw_address defines the delegator address to query for.","type":"string"}}},"cosmos.distribution.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.QueryValidatorCommissionResponse":{"type":"object","title":"QueryValidatorCommissionResponse is the response type for the\nQuery/ValidatorCommission RPC method","properties":{"commission":{"description":"commission defines the commission the validator received.","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission"}}},"cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse":{"description":"QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method.","type":"object","properties":{"commission":{"description":"commission defines the commission the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"operator_address":{"description":"operator_address defines the validator operator address.","type":"string"},"self_bond_rewards":{"description":"self_bond_rewards defines the self delegations rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse":{"description":"QueryValidatorOutstandingRewardsResponse is the response type for the\nQuery/ValidatorOutstandingRewards RPC method.","type":"object","properties":{"rewards":{"$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorOutstandingRewards"}}},"cosmos.distribution.v1beta1.QueryValidatorSlashesResponse":{"description":"QueryValidatorSlashesResponse is the response type for the\nQuery/ValidatorSlashes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"slashes":{"description":"slashes defines the slashes the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorSlashEvent"}}}},"cosmos.distribution.v1beta1.ValidatorAccumulatedCommission":{"description":"ValidatorAccumulatedCommission represents accumulated commission\nfor a validator kept as a running counter, can be withdrawn at any time.","type":"object","properties":{"commission":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorOutstandingRewards":{"description":"ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards\nfor a validator inexpensive to track, allows simple sanity checks.","type":"object","properties":{"rewards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorSlashEvent":{"description":"ValidatorSlashEvent represents a validator slash event.\nHeight is implicit within the store key.\nThis is needed to calculate appropriate amount of staking tokens\nfor delegations which are withdrawn after a slash has occurred.","type":"object","properties":{"fraction":{"type":"string"},"validator_period":{"type":"string","format":"uint64"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidence":{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","type":"object","properties":{"evidence":{"description":"evidence defines the evidence of misbehavior.","$ref":"#/definitions/google.protobuf.Any"},"submitter":{"description":"submitter is the signer account address of evidence.","type":"string"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse":{"description":"MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.","type":"object","properties":{"hash":{"description":"hash defines the hash of the evidence.","type":"string","format":"byte"}}},"cosmos.evidence.v1beta1.QueryAllEvidenceResponse":{"description":"QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod.","type":"object","properties":{"evidence":{"description":"evidence returns all evidences.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.evidence.v1beta1.QueryEvidenceResponse":{"description":"QueryEvidenceResponse is the response type for the Query/Evidence RPC method.","type":"object","properties":{"evidence":{"description":"evidence returns the requested evidence.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.feegrant.v1beta1.Grant":{"type":"object","title":"Grant is stored in the KVStore to record a grant with full context","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowance":{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","type":"object","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse":{"description":"MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.MsgPruneAllowances":{"description":"MsgPruneAllowances prunes expired fee allowances.\n\nSince cosmos-sdk 0.50","type":"object","properties":{"pruner":{"description":"pruner is the address of the user pruning expired allowances.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse":{"description":"MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse response type.\n\nSince cosmos-sdk 0.50","type":"object"},"cosmos.feegrant.v1beta1.MsgRevokeAllowance":{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","type":"object","properties":{"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse":{"description":"MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.QueryAllowanceResponse":{"description":"QueryAllowanceResponse is the response type for the Query/Allowance RPC method.","type":"object","properties":{"allowance":{"description":"allowance is a allowance granted for grantee by granter.","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}}},"cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse":{"description":"QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"allowances":{"description":"allowances that have been issued by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.feegrant.v1beta1.QueryAllowancesResponse":{"description":"QueryAllowancesResponse is the response type for the Query/Allowances RPC method.","type":"object","properties":{"allowances":{"description":"allowances are allowance's granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1.MsgCancelProposal":{"description":"MsgCancelProposal is the Msg/CancelProposal request type.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1.MsgCancelProposalResponse":{"description":"MsgCancelProposalResponse defines the response structure for executing a\nMsgCancelProposal message.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"canceled_height":{"description":"canceled_height defines the block height at which the proposal is canceled.","type":"string","format":"uint64"},"canceled_time":{"description":"canceled_time is the time when proposal is canceled.","type":"string","format":"date-time"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1.MsgExecLegacyContent":{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","type":"object","properties":{"authority":{"description":"authority must be the gov module address.","type":"string"},"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.gov.v1.MsgExecLegacyContentResponse":{"description":"MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type.","type":"object"},"cosmos.gov.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"expedited":{"description":"Since: cosmos-sdk 0.50","type":"boolean","title":"expedited defines if the proposal is expedited or not"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"messages":{"description":"messages are the arbitrary messages to be executed if proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is the summary of the proposal"},"title":{"description":"title is the title of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"}}},"cosmos.gov.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/gov parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.gov.v1.Params"}}},"cosmos.gov.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.gov.v1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the Vote.","type":"string"},"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the VoteWeighted.","type":"string"},"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.","type":"object"},"cosmos.gov.v1.Params":{"description":"Params defines the parameters for the x/gov module.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"burn_proposal_deposit_prevote":{"type":"boolean","title":"burn deposits if the proposal does not enter voting period"},"burn_vote_quorum":{"type":"boolean","title":"burn deposits if a proposal does not meet quorum"},"burn_vote_veto":{"type":"boolean","title":"burn deposits if quorum with vote type no_veto is met"},"expedited_min_deposit":{"description":"Minimum expedited deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"expedited_threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.\n\nSince: cosmos-sdk 0.50","type":"string"},"expedited_voting_period":{"description":"Duration of the voting period of an expedited proposal.\n\nSince: cosmos-sdk 0.50","type":"string"},"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"min_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.\nDefault value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be\nrequired.\n\nSince: cosmos-sdk 0.50","type":"string"},"min_initial_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value that must be paid at proposal submission.","type":"string"},"proposal_cancel_dest":{"description":"The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.\nIf empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.\n\nSince: cosmos-sdk 0.50","type":"string"},"proposal_cancel_ratio":{"description":"The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.\n\nSince: cosmos-sdk 0.50","type":"string"},"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\n considered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3.","type":"string"},"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"expedited":{"description":"Since: cosmos-sdk 0.50","type":"boolean","title":"expedited defines if the proposal is expedited"},"failed_reason":{"description":"Since: cosmos-sdk 0.50","type":"string","title":"failed_reason defines the reason why the proposal failed"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"},"id":{"description":"id defines the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages are the arbitrary messages to be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3"},"proposer":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"proposer is the address of the proposal sumbitter"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is a short summary of the proposal"},"title":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"title is the title of the proposal"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1.QueryConstitutionResponse":{"type":"object","title":"QueryConstitutionResponse is the response type for the Query/Constitution RPC method","properties":{"constitution":{"type":"string"}}},"cosmos.gov.v1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1.Deposit"}}},"cosmos.gov.v1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1.DepositParams"},"params":{"description":"params defines all the paramaters of x/gov module.\n\nSince: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.gov.v1.Params"},"tally_params":{"description":"Deprecated: Prefer to use `params` instead.\ntally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1.TallyParams"},"voting_params":{"description":"Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1.VotingParams"}}},"cosmos.gov.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"description":"proposal is the requested governance proposal.","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}},"cosmos.gov.v1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}}},"cosmos.gov.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"}}},"cosmos.gov.v1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1.Vote"}}},"cosmos.gov.v1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Vote"}}}},"cosmos.gov.v1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string"}}},"cosmos.gov.v1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the number of abstain votes on a proposal.","type":"string"},"no_count":{"description":"no_count is the number of no votes on a proposal.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the number of no with veto votes on a proposal.","type":"string"},"yes_count":{"description":"yes_count is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5"},"options":{"description":"options is the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.gov.v1beta1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1beta1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1beta1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1beta1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1beta1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.\n\nSince: cosmos-sdk 0.43","type":"object"},"cosmos.gov.v1beta1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1beta1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1beta1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1beta1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}}},"cosmos.gov.v1beta1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"deposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.DepositParams"},"tally_params":{"description":"tally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyParams"},"voting_params":{"description":"voting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1beta1.VotingParams"}}},"cosmos.gov.v1beta1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}},"cosmos.gov.v1beta1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}}},"cosmos.gov.v1beta1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"}}},"cosmos.gov.v1beta1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}},"cosmos.gov.v1beta1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}}},"cosmos.gov.v1beta1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string","format":"byte"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string","format":"byte"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string","format":"byte"}}},"cosmos.gov.v1beta1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain":{"description":"abstain is the number of abstain votes on a proposal.","type":"string"},"no":{"description":"no is the number of no votes on a proposal.","type":"string"},"no_with_veto":{"description":"no_with_veto is the number of no with veto votes on a proposal.","type":"string"},"yes":{"description":"yes is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1beta1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"option":{"description":"Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"options":{"description":"options is the weighted vote options.\n\nSince: cosmos-sdk 0.43","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1beta1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1beta1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1beta1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.group.v1.Exec":{"description":"Exec defines modes of execution of a proposal on creation or on new vote.\n\n - EXEC_UNSPECIFIED: An empty value means that there should be a separate\nMsgExec request for the proposal to execute.\n - EXEC_TRY: Try to execute the proposal immediately.\nIf the proposal is not allowed per the DecisionPolicy,\nthe proposal will still be open and could\nbe executed at a later point.","type":"string","default":"EXEC_UNSPECIFIED","enum":["EXEC_UNSPECIFIED","EXEC_TRY"]},"cosmos.group.v1.GroupInfo":{"description":"GroupInfo represents the high-level on-chain information for a group.","type":"object","properties":{"admin":{"description":"admin is the account address of the group's admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group was created.","type":"string","format":"date-time"},"id":{"description":"id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata to attached to the group.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#group-1"},"total_weight":{"description":"total_weight is the sum of the group members' weights.","type":"string"},"version":{"type":"string","format":"uint64","title":"version is used to track changes to a group's membership structure that\nwould break existing proposals. Whenever any members weight is changed,\nor any member is added or removed this version is incremented and will\ncause proposals based on older versions of this group to fail"}}},"cosmos.group.v1.GroupMember":{"description":"GroupMember represents the relationship between a group and a member.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member":{"description":"member is the member data.","$ref":"#/definitions/cosmos.group.v1.Member"}}},"cosmos.group.v1.GroupPolicyInfo":{"description":"GroupPolicyInfo represents the high-level on-chain information for a group policy.","type":"object","properties":{"address":{"description":"address is the account address of group policy.","type":"string"},"admin":{"description":"admin is the account address of the group admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group policy was created.","type":"string","format":"date-time"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the group policy.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#decision-policy-1"},"version":{"description":"version is used to track changes to a group's GroupPolicyInfo structure that\nwould create a different result on a running proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.Member":{"description":"Member represents a group member with an account address,\nnon-zero weight, metadata and added_at timestamp.","type":"object","properties":{"added_at":{"description":"added_at is a timestamp specifying when a member was added.","type":"string","format":"date-time"},"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MemberRequest":{"description":"MemberRequest represents a group member to be used in Msg server requests.\nContrary to `Member`, it doesn't have any `added_at` field\nsince this field cannot be set as part of requests.","type":"object","properties":{"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MsgCreateGroup":{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}},"metadata":{"description":"metadata is any arbitrary metadata to attached to the group.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicy":{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is any arbitrary metadata attached to the group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicyResponse":{"description":"MsgCreateGroupPolicyResponse is the Msg/CreateGroupPolicy response type.","type":"object","properties":{"address":{"description":"address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupResponse":{"description":"MsgCreateGroupResponse is the Msg/CreateGroup response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgCreateGroupWithPolicy":{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group and group policy admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_metadata":{"description":"group_metadata is any arbitrary metadata attached to the group.","type":"string"},"group_policy_as_admin":{"description":"group_policy_as_admin is a boolean field, if set to true, the group policy account address will be used as group\nand group policy admin.","type":"boolean"},"group_policy_metadata":{"description":"group_policy_metadata is any arbitrary metadata attached to the group policy.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgCreateGroupWithPolicyResponse":{"description":"MsgCreateGroupWithPolicyResponse is the Msg/CreateGroupWithPolicy response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group with policy.","type":"string","format":"uint64"},"group_policy_address":{"description":"group_policy_address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgExec":{"description":"MsgExec is the Msg/Exec request type.","type":"object","properties":{"executor":{"description":"executor is the account address used to execute the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgExecResponse":{"description":"MsgExecResponse is the Msg/Exec request type.","type":"object","properties":{"result":{"description":"result is the final result of the proposal execution.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"}}},"cosmos.group.v1.MsgLeaveGroup":{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","type":"object","properties":{"address":{"description":"address is the account address of the group member.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgLeaveGroupResponse":{"description":"MsgLeaveGroupResponse is the Msg/LeaveGroup response type.","type":"object"},"cosmos.group.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","type":"object","properties":{"exec":{"description":"exec defines the mode of execution of the proposal,\nwhether it should be executed immediately on creation or not.\nIf so, proposers signatures are considered as Yes votes.","$ref":"#/definitions/cosmos.group.v1.Exec"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposers":{"description":"proposers are the account addresses of the proposers.\nProposers signatures will be counted as yes votes.","type":"array","items":{"type":"string"}},"summary":{"description":"summary is the summary of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"},"title":{"description":"title is the title of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"}}},"cosmos.group.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse is the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgUpdateGroupAdmin":{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the current account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"new_admin":{"description":"new_admin is the group new admin account address.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupAdminResponse":{"description":"MsgUpdateGroupAdminResponse is the Msg/UpdateGroupAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMembers":{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member_updates":{"description":"member_updates is the list of members to update,\nset weight to 0 to remove a member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgUpdateGroupMembersResponse":{"description":"MsgUpdateGroupMembersResponse is the Msg/UpdateGroupMembers response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMetadata":{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is the updated group's metadata.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupMetadataResponse":{"description":"MsgUpdateGroupMetadataResponse is the Msg/UpdateGroupMetadata response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyAdmin":{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of the group policy.","type":"string"},"new_admin":{"description":"new_admin is the new group policy admin.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse":{"description":"MsgUpdateGroupPolicyAdminResponse is the Msg/UpdateGroupPolicyAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy":{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy is the updated group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse":{"description":"MsgUpdateGroupPolicyDecisionPolicyResponse is the Msg/UpdateGroupPolicyDecisionPolicy response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyMetadata":{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"metadata":{"description":"metadata is the group policy metadata to be updated.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse":{"description":"MsgUpdateGroupPolicyMetadataResponse is the Msg/UpdateGroupPolicyMetadata response type.","type":"object"},"cosmos.group.v1.MsgVote":{"description":"MsgVote is the Msg/Vote request type.","type":"object","properties":{"exec":{"description":"exec defines whether the proposal should be executed\nimmediately after voting or not.","$ref":"#/definitions/cosmos.group.v1.Exec"},"metadata":{"description":"metadata is any arbitrary metadata attached to the vote.","type":"string"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter account address.","type":"string"}}},"cosmos.group.v1.MsgVoteResponse":{"description":"MsgVoteResponse is the Msg/Vote response type.","type":"object"},"cosmos.group.v1.MsgWithdrawProposal":{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","type":"object","properties":{"address":{"description":"address is the admin of the group policy or one of the proposer of the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgWithdrawProposalResponse":{"description":"MsgWithdrawProposalResponse is the Msg/WithdrawProposal response type.","type":"object"},"cosmos.group.v1.Proposal":{"description":"Proposal defines a group proposal. Any member of a group can submit a proposal\nfor a group policy to decide upon.\nA proposal consists of a set of `sdk.Msg`s that will be executed if the proposal\npasses as well as some optional metadata associated with the proposal.","type":"object","properties":{"executor_result":{"description":"executor_result is the final result of the proposal execution. Initial value is NotRun.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"},"final_tally_result":{"description":"final_tally_result contains the sums of all weighted votes for this\nproposal for each vote option. It is empty at submission, and only\npopulated after tallying, at voting period end or at proposal execution,\nwhichever happens first.","$ref":"#/definitions/cosmos.group.v1.TallyResult"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"group_policy_version":{"description":"group_policy_version tracks the version of the group policy at proposal submission.\nWhen a decision policy is changed, existing proposals from previous policy\nversions will become invalid with the `ABORTED` status.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"group_version":{"description":"group_version tracks the version of the group at proposal submission.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"id":{"description":"id is the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#proposal-4"},"proposers":{"description":"proposers are the account addresses of the proposers.","type":"array","items":{"type":"string"}},"status":{"description":"status represents the high level position in the life cycle of the proposal. Initial value is Submitted.","$ref":"#/definitions/cosmos.group.v1.ProposalStatus"},"submit_time":{"description":"submit_time is a timestamp specifying when a proposal was submitted.","type":"string","format":"date-time"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is a short summary of the proposal"},"title":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"title is the title of the proposal"},"voting_period_end":{"description":"voting_period_end is the timestamp before which voting must be done.\nUnless a successful MsgExec is called before (to execute a proposal whose\ntally is successful before the voting period ends), tallying will be done\nat this point, and the `final_tally_result`and `status` fields will be\naccordingly updated.","type":"string","format":"date-time"}}},"cosmos.group.v1.ProposalExecutorResult":{"description":"ProposalExecutorResult defines types of proposal executor results.\n\n - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: An empty value is not allowed.\n - PROPOSAL_EXECUTOR_RESULT_NOT_RUN: We have not yet run the executor.\n - PROPOSAL_EXECUTOR_RESULT_SUCCESS: The executor was successful and proposed action updated state.\n - PROPOSAL_EXECUTOR_RESULT_FAILURE: The executor returned an error and proposed action didn't update state.","type":"string","default":"PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","enum":["PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","PROPOSAL_EXECUTOR_RESULT_NOT_RUN","PROPOSAL_EXECUTOR_RESULT_SUCCESS","PROPOSAL_EXECUTOR_RESULT_FAILURE"]},"cosmos.group.v1.ProposalStatus":{"description":"ProposalStatus defines proposal statuses.\n\n - PROPOSAL_STATUS_UNSPECIFIED: An empty value is invalid and not allowed.\n - PROPOSAL_STATUS_SUBMITTED: Initial status of a proposal when submitted.\n - PROPOSAL_STATUS_ACCEPTED: Final status of a proposal when the final tally is done and the outcome\npasses the group policy's decision policy.\n - PROPOSAL_STATUS_REJECTED: Final status of a proposal when the final tally is done and the outcome\nis rejected by the group policy's decision policy.\n - PROPOSAL_STATUS_ABORTED: Final status of a proposal when the group policy is modified before the\nfinal tally.\n - PROPOSAL_STATUS_WITHDRAWN: A proposal can be withdrawn before the voting start time by the owner.\nWhen this happens the final status is Withdrawn.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_SUBMITTED","PROPOSAL_STATUS_ACCEPTED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_ABORTED","PROPOSAL_STATUS_WITHDRAWN"]},"cosmos.group.v1.QueryGroupInfoResponse":{"description":"QueryGroupInfoResponse is the Query/GroupInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupInfo of the group.","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}}},"cosmos.group.v1.QueryGroupMembersResponse":{"description":"QueryGroupMembersResponse is the Query/GroupMembersResponse response type.","type":"object","properties":{"members":{"description":"members are the members of the group with given group_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupMember"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByAdminResponse":{"description":"QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info with provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByGroupResponse":{"description":"QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info associated with the provided group.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPolicyInfoResponse":{"description":"QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupPolicyInfo of the group policy.","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}}},"cosmos.group.v1.QueryGroupsByAdminResponse":{"description":"QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsByMemberResponse":{"description":"QueryGroupsByMemberResponse is the Query/GroupsByMember response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided group member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsResponse":{"description":"QueryGroupsResponse is the Query/Groups response type.\n\nSince: cosmos-sdk 0.47.1","type":"object","properties":{"groups":{"description":"`groups` is all the groups present in state.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the Query/Proposal response type.","type":"object","properties":{"proposal":{"description":"proposal is the proposal info.","$ref":"#/definitions/cosmos.group.v1.Proposal"}}},"cosmos.group.v1.QueryProposalsByGroupPolicyResponse":{"description":"QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals are the proposals with given group policy.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Proposal"}}}},"cosmos.group.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the Query/TallyResult response type.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.group.v1.TallyResult"}}},"cosmos.group.v1.QueryVoteByProposalVoterResponse":{"description":"QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter response type.","type":"object","properties":{"vote":{"description":"vote is the vote with given proposal_id and voter.","$ref":"#/definitions/cosmos.group.v1.Vote"}}},"cosmos.group.v1.QueryVotesByProposalResponse":{"description":"QueryVotesByProposalResponse is the Query/VotesByProposal response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes for given proposal_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.QueryVotesByVoterResponse":{"description":"QueryVotesByVoterResponse is the Query/VotesByVoter response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes by given voter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.TallyResult":{"description":"TallyResult represents the sum of weighted votes for each vote option.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the weighted sum of abstainers.","type":"string"},"no_count":{"description":"no_count is the weighted sum of no votes.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the weighted sum of veto.","type":"string"},"yes_count":{"description":"yes_count is the weighted sum of yes votes.","type":"string"}}},"cosmos.group.v1.Vote":{"type":"object","title":"Vote represents a vote for a proposal.string metadata","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#vote-2"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"submit_time":{"description":"submit_time is the timestamp when the vote was submitted.","type":"string","format":"date-time"},"voter":{"description":"voter is the account address of the voter.","type":"string"}}},"cosmos.group.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will\nreturn an error.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.mint.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/mint parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.mint.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.mint.v1beta1.Params":{"description":"Params defines the parameters for the x/mint module.","type":"object","properties":{"blocks_per_year":{"type":"string","format":"uint64","title":"expected blocks per year"},"goal_bonded":{"type":"string","title":"goal of percent bonded atoms"},"inflation_max":{"type":"string","title":"maximum inflation rate"},"inflation_min":{"type":"string","title":"minimum inflation rate"},"inflation_rate_change":{"type":"string","title":"maximum annual change in inflation rate"},"mint_denom":{"type":"string","title":"type of coin to mint"}}},"cosmos.mint.v1beta1.QueryAnnualProvisionsResponse":{"description":"QueryAnnualProvisionsResponse is the response type for the\nQuery/AnnualProvisions RPC method.","type":"object","properties":{"annual_provisions":{"description":"annual_provisions is the current minting annual provisions value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryInflationResponse":{"description":"QueryInflationResponse is the response type for the Query/Inflation RPC\nmethod.","type":"object","properties":{"inflation":{"description":"inflation is the current minting inflation value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.nft.v1beta1.Class":{"description":"Class defines the class of the nft type.","type":"object","properties":{"data":{"title":"data is the app specific metadata of the NFT class. Optional","$ref":"#/definitions/google.protobuf.Any"},"description":{"type":"string","title":"description is a brief description of nft classification. Optional"},"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"},"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"}}},"cosmos.nft.v1beta1.MsgSend":{"description":"MsgSend represents a message to send a nft from one account to another account.","type":"object","properties":{"class_id":{"type":"string","title":"class_id defines the unique identifier of the nft classification, similar to the contract address of ERC721"},"id":{"type":"string","title":"id defines the unique identification of nft"},"receiver":{"type":"string","title":"receiver is the receiver address of nft"},"sender":{"type":"string","title":"sender is the address of the owner of nft"}}},"cosmos.nft.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.nft.v1beta1.NFT":{"description":"NFT defines the NFT.","type":"object","properties":{"class_id":{"type":"string","title":"class_id associated with the NFT, similar to the contract address of ERC721"},"data":{"title":"data is an app specific data of the NFT. Optional","$ref":"#/definitions/google.protobuf.Any"},"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"}}},"cosmos.nft.v1beta1.QueryBalanceResponse":{"type":"object","title":"QueryBalanceResponse is the response type for the Query/Balance RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs of a given class owned by the owner"}}},"cosmos.nft.v1beta1.QueryClassResponse":{"type":"object","title":"QueryClassResponse is the response type for the Query/Class RPC method","properties":{"class":{"description":"class defines the class of the nft type.","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}}},"cosmos.nft.v1beta1.QueryClassesResponse":{"type":"object","title":"QueryClassesResponse is the response type for the Query/Classes RPC method","properties":{"classes":{"description":"class defines the class of the nft type.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryNFTResponse":{"type":"object","title":"QueryNFTResponse is the response type for the Query/NFT RPC method","properties":{"nft":{"title":"owner is the owner address of the nft","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}}},"cosmos.nft.v1beta1.QueryNFTsResponse":{"type":"object","title":"QueryNFTsResponse is the response type for the Query/NFTs RPC methods","properties":{"nfts":{"type":"array","title":"NFT defines the NFT","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryOwnerResponse":{"type":"object","title":"QueryOwnerResponse is the response type for the Query/Owner RPC method","properties":{"owner":{"type":"string","title":"owner is the owner address of the nft"}}},"cosmos.nft.v1beta1.QuerySupplyResponse":{"type":"object","title":"QuerySupplyResponse is the response type for the Query/Supply RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs from the given class"}}},"cosmos.params.v1beta1.ParamChange":{"description":"ParamChange defines an individual parameter change, for use in\nParameterChangeProposal.","type":"object","properties":{"key":{"type":"string"},"subspace":{"type":"string"},"value":{"type":"string"}}},"cosmos.params.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"param":{"description":"param defines the queried parameter.","$ref":"#/definitions/cosmos.params.v1beta1.ParamChange"}}},"cosmos.params.v1beta1.QuerySubspacesResponse":{"description":"QuerySubspacesResponse defines the response types for querying for all\nregistered subspaces and all keys for a subspace.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"subspaces":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.params.v1beta1.Subspace"}}}},"cosmos.params.v1beta1.Subspace":{"description":"Subspace defines a parameter subspace name and all the keys that exist for\nthe subspace.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"keys":{"type":"array","items":{"type":"string"}},"subspace":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjail":{"type":"object","title":"MsgUnjail defines the Msg/Unjail request type","properties":{"validator_addr":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjailResponse":{"type":"object","title":"MsgUnjailResponse defines the Msg/Unjail response type"},"cosmos.slashing.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/slashing parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.slashing.v1beta1.Params":{"description":"Params represents the parameters used for by the slashing module.","type":"object","properties":{"downtime_jail_duration":{"type":"string"},"min_signed_per_window":{"type":"string","format":"byte"},"signed_blocks_window":{"type":"string","format":"int64"},"slash_fraction_double_sign":{"type":"string","format":"byte"},"slash_fraction_downtime":{"type":"string","format":"byte"}}},"cosmos.slashing.v1beta1.QueryParamsResponse":{"type":"object","title":"QueryParamsResponse is the response type for the Query/Params RPC method","properties":{"params":{"$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.QuerySigningInfoResponse":{"type":"object","title":"QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod","properties":{"val_signing_info":{"title":"val_signing_info is the signing info of requested val cons address","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}}},"cosmos.slashing.v1beta1.QuerySigningInfosResponse":{"type":"object","title":"QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod","properties":{"info":{"type":"array","title":"info is the signing info of all validators","items":{"type":"object","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.slashing.v1beta1.ValidatorSigningInfo":{"description":"ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity.","type":"object","properties":{"address":{"type":"string"},"index_offset":{"description":"Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap.","type":"string","format":"int64"},"jailed_until":{"description":"Timestamp until which the validator is jailed due to liveness downtime.","type":"string","format":"date-time"},"missed_blocks_counter":{"description":"A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap.","type":"string","format":"int64"},"start_height":{"type":"string","format":"int64","title":"Height at which validator was first a candidate OR was un-jailed"},"tombstoned":{"description":"Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior.","type":"boolean"}}},"cosmos.staking.v1beta1.BondStatus":{"description":"BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded.","type":"string","default":"BOND_STATUS_UNSPECIFIED","enum":["BOND_STATUS_UNSPECIFIED","BOND_STATUS_UNBONDED","BOND_STATUS_UNBONDING","BOND_STATUS_BONDED"]},"cosmos.staking.v1beta1.Commission":{"description":"Commission defines commission parameters for a given validator.","type":"object","properties":{"commission_rates":{"description":"commission_rates defines the initial commission rates to be used for creating a validator.","$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"update_time":{"description":"update_time is the last time the commission rate was changed.","type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.CommissionRates":{"description":"CommissionRates defines the initial commission rates to be used for creating\na validator.","type":"object","properties":{"max_change_rate":{"description":"max_change_rate defines the maximum daily increase of the validator commission, as a fraction.","type":"string"},"max_rate":{"description":"max_rate defines the maximum commission rate which validator can ever charge, as a fraction.","type":"string"},"rate":{"description":"rate is the commission rate charged to delegators, as a fraction.","type":"string"}}},"cosmos.staking.v1beta1.Delegation":{"description":"Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"shares":{"description":"shares define the delegation shares received.","type":"string"},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.DelegationResponse":{"description":"DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses.","type":"object","properties":{"balance":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Delegation"}}},"cosmos.staking.v1beta1.Description":{"description":"Description defines a validator description.","type":"object","properties":{"details":{"description":"details define other optional details.","type":"string"},"identity":{"description":"identity defines an optional identity signature (ex. UPort or Keybase).","type":"string"},"moniker":{"description":"moniker defines a human-readable name for the validator.","type":"string"},"security_contact":{"description":"security_contact defines an optional email for security contact.","type":"string"},"website":{"description":"website defines an optional website link.","type":"string"}}},"cosmos.staking.v1beta1.HistoricalInfo":{"description":"HistoricalInfo contains header and validator information for a given block.\nIt is stored as part of staking module's state, which persists the `n` most\nrecent HistoricalInfo\n(`n` is set by the staking module's `historical_entries` parameter).","type":"object","properties":{"header":{"$ref":"#/definitions/tendermint.types.Header"},"valset":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.MsgBeginRedelegate":{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_dst_address":{"type":"string"},"validator_src_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgBeginRedelegateResponse":{"description":"MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type.","type":"object","properties":{"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegation":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator","properties":{"amount":{"title":"amount is always less than or equal to unbonding delegation entry balance","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgCancelUnbondingDelegationResponse"},"cosmos.staking.v1beta1.MsgCreateValidator":{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","type":"object","properties":{"commission":{"$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"delegator_address":{"description":"Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated.\nThe validator address bytes and delegator address bytes refer to the same account while creating validator (defer\nonly in bech32 notation).","type":"string"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"pubkey":{"$ref":"#/definitions/google.protobuf.Any"},"validator_address":{"type":"string"},"value":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.staking.v1beta1.MsgCreateValidatorResponse":{"description":"MsgCreateValidatorResponse defines the Msg/CreateValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgDelegate":{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgDelegateResponse":{"description":"MsgDelegateResponse defines the Msg/Delegate response type.","type":"object"},"cosmos.staking.v1beta1.MsgEditValidator":{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","type":"object","properties":{"commission_rate":{"type":"string","title":"We pass a reference to the new commission rate and min self delegation as\nit's not mandatory to update. If not updated, the deserialized rate will be\nzero with no way to distinguish if an update was intended.\nREF: #2373"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgEditValidatorResponse":{"description":"MsgEditValidatorResponse defines the Msg/EditValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgUndelegate":{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgUndelegateResponse":{"description":"MsgUndelegateResponse defines the Msg/Undelegate response type.","type":"object","properties":{"amount":{"description":"Since: cosmos-sdk 0.50","title":"amount returns the amount of undelegated coins","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/staking parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.staking.v1beta1.Params":{"description":"Params defines the parameters for the x/staking module.","type":"object","properties":{"bond_denom":{"description":"bond_denom defines the bondable coin denomination.","type":"string"},"historical_entries":{"description":"historical_entries is the number of historical entries to persist.","type":"integer","format":"int64"},"max_entries":{"description":"max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).","type":"integer","format":"int64"},"max_validators":{"description":"max_validators is the maximum number of validators.","type":"integer","format":"int64"},"min_commission_rate":{"type":"string","title":"min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators"},"unbonding_time":{"description":"unbonding_time is the time duration of unbonding.","type":"string"}}},"cosmos.staking.v1beta1.Pool":{"description":"Pool is used for tracking bonded and not-bonded token supply of the bond\ndenomination.","type":"object","properties":{"bonded_tokens":{"type":"string"},"not_bonded_tokens":{"type":"string"}}},"cosmos.staking.v1beta1.QueryDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/Delegation RPC method.","type":"object","properties":{"delegation_response":{"description":"delegation_responses defines the delegation info of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse":{"description":"QueryDelegatorDelegationsResponse is response type for the\nQuery/DelegatorDelegations RPC method.","type":"object","properties":{"delegation_responses":{"description":"delegation_responses defines all the delegations' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse":{"description":"QueryUnbondingDelegatorDelegationsResponse is response type for the\nQuery/UnbondingDelegatorDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorResponse":{"description":"QueryDelegatorValidatorResponse response type for the\nQuery/DelegatorValidator RPC method.","type":"object","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators defines the validators' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.QueryHistoricalInfoResponse":{"description":"QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC\nmethod.","type":"object","properties":{"hist":{"description":"hist defines the historical info at the given height.","$ref":"#/definitions/cosmos.staking.v1beta1.HistoricalInfo"}}},"cosmos.staking.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.QueryPoolResponse":{"description":"QueryPoolResponse is response type for the Query/Pool RPC method.","type":"object","properties":{"pool":{"description":"pool defines the pool info.","$ref":"#/definitions/cosmos.staking.v1beta1.Pool"}}},"cosmos.staking.v1beta1.QueryRedelegationsResponse":{"description":"QueryRedelegationsResponse is response type for the Query/Redelegations RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"redelegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationResponse"}}}},"cosmos.staking.v1beta1.QueryUnbondingDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/UnbondingDelegation\nRPC method.","type":"object","properties":{"unbond":{"description":"unbond defines the unbonding information of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}},"cosmos.staking.v1beta1.QueryValidatorDelegationsResponse":{"type":"object","title":"QueryValidatorDelegationsResponse is response type for the\nQuery/ValidatorDelegations RPC method","properties":{"delegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryValidatorResponse":{"type":"object","title":"QueryValidatorResponse is response type for the Query/Validator RPC method","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse":{"description":"QueryValidatorUnbondingDelegationsResponse is response type for the\nQuery/ValidatorUnbondingDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryValidatorsResponse":{"type":"object","title":"QueryValidatorsResponse is response type for the Query/Validators RPC method","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators contains all the queried validators.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.Redelegation":{"description":"Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the bech32-encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the redelegation entries.\n\nredelegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}},"validator_dst_address":{"description":"validator_dst_address is the validator redelegation destination operator address.","type":"string"},"validator_src_address":{"description":"validator_src_address is the validator redelegation source operator address.","type":"string"}}},"cosmos.staking.v1beta1.RedelegationEntry":{"description":"RedelegationEntry defines a redelegation object with relevant metadata.","type":"object","properties":{"completion_time":{"description":"completion_time defines the unix time for redelegation completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height defines the height which the redelegation took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the initial balance when redelegation started.","type":"string"},"shares_dst":{"description":"shares_dst is the amount of destination-validator shares created by redelegation.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.RedelegationEntryResponse":{"description":"RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"balance":{"type":"string"},"redelegation_entry":{"$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}}},"cosmos.staking.v1beta1.RedelegationResponse":{"description":"RedelegationResponse is equivalent to a Redelegation except that its entries\ncontain a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"entries":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntryResponse"}},"redelegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Redelegation"}}},"cosmos.staking.v1beta1.UnbondingDelegation":{"description":"UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the unbonding delegation entries.\n\nunbonding delegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegationEntry"}},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.UnbondingDelegationEntry":{"description":"UnbondingDelegationEntry defines an unbonding object with relevant metadata.","type":"object","properties":{"balance":{"description":"balance defines the tokens to receive at completion.","type":"string"},"completion_time":{"description":"completion_time is the unix time for unbonding completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the tokens initially scheduled to receive at completion.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.Validator":{"description":"Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate.","type":"object","properties":{"commission":{"description":"commission defines the commission parameters.","$ref":"#/definitions/cosmos.staking.v1beta1.Commission"},"consensus_pubkey":{"description":"consensus_pubkey is the consensus public key of the validator, as a Protobuf Any.","$ref":"#/definitions/google.protobuf.Any"},"delegator_shares":{"description":"delegator_shares defines total shares issued to a validator's delegators.","type":"string"},"description":{"description":"description defines the description terms for the validator.","$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"jailed":{"description":"jailed defined whether the validator has been jailed from bonded status or not.","type":"boolean"},"min_self_delegation":{"description":"min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46","type":"string"},"operator_address":{"description":"operator_address defines the address of the validator's operator; bech encoded in JSON.","type":"string"},"status":{"description":"status is the validator status (bonded/unbonding/unbonded).","$ref":"#/definitions/cosmos.staking.v1beta1.BondStatus"},"tokens":{"description":"tokens define the delegated tokens (incl. self-delegation).","type":"string"},"unbonding_height":{"description":"unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.","type":"string","format":"int64"},"unbonding_ids":{"type":"array","title":"list of unbonding ids, each uniquely identifing an unbonding of this validator","items":{"type":"string","format":"uint64"}},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"strictly positive if this validator's unbonding has been stopped by external modules"},"unbonding_time":{"description":"unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.","type":"string","format":"date-time"}}},"cosmos.store.streaming.abci.ListenCommitRequest":{"type":"object","title":"ListenCommitRequest is the request type for the ListenCommit RPC method","properties":{"block_height":{"type":"string","format":"int64","title":"explicitly pass in block height as ResponseCommit does not contain this info"},"change_set":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.store.v1beta1.StoreKVPair"}},"res":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}}},"cosmos.store.streaming.abci.ListenCommitResponse":{"type":"object","title":"ListenCommitResponse is the response type for the ListenCommit RPC method"},"cosmos.store.streaming.abci.ListenFinalizeBlockRequest":{"type":"object","title":"ListenEndBlockRequest is the request type for the ListenEndBlock RPC method","properties":{"req":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"},"res":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}}},"cosmos.store.streaming.abci.ListenFinalizeBlockResponse":{"type":"object","title":"ListenEndBlockResponse is the response type for the ListenEndBlock RPC method"},"cosmos.store.v1beta1.StoreKVPair":{"description":"Since: cosmos-sdk 0.43","type":"object","title":"StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes)\nIt optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and\nDeletes","properties":{"delete":{"type":"boolean","title":"true indicates a delete operation, false indicates a set operation"},"key":{"type":"string","format":"byte"},"store_key":{"type":"string","title":"the store key for the KVStore this pair originates from"},"value":{"type":"string","format":"byte"}}},"cosmos.tx.signing.v1beta1.SignMode":{"description":"SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT.\n\nSince: cosmos-sdk 0.50\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2","type":"string","default":"SIGN_MODE_UNSPECIFIED","enum":["SIGN_MODE_UNSPECIFIED","SIGN_MODE_DIRECT","SIGN_MODE_TEXTUAL","SIGN_MODE_DIRECT_AUX","SIGN_MODE_LEGACY_AMINO_JSON","SIGN_MODE_EIP_191"]},"cosmos.tx.v1beta1.AuthInfo":{"description":"AuthInfo describes the fee and signer modes that are used to sign a\ntransaction.","type":"object","properties":{"fee":{"description":"Fee is the fee and gas limit for the transaction. The first signer is the\nprimary signer and the one which pays the fee. The fee can be calculated\nbased on the cost of evaluating the body and doing signature verification\nof the signers. This can be estimated via simulation.","$ref":"#/definitions/cosmos.tx.v1beta1.Fee"},"signer_infos":{"description":"signer_infos defines the signing modes for the required signers. The number\nand order of elements must match the required signers from TxBody's\nmessages. The first element is the primary signer and the one which pays\nthe fee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.SignerInfo"}},"tip":{"description":"Tip is the optional tip used for transactions fees paid in another denom.\n\nThis field is ignored if the chain didn't enable tips, i.e. didn't add the\n`TipDecorator` in its posthandler.\n\nSince: cosmos-sdk 0.46","$ref":"#/definitions/cosmos.tx.v1beta1.Tip"}}},"cosmos.tx.v1beta1.BroadcastMode":{"description":"BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC\nmethod.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits\nfor a CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client\nreturns immediately.","type":"string","default":"BROADCAST_MODE_UNSPECIFIED","enum":["BROADCAST_MODE_UNSPECIFIED","BROADCAST_MODE_BLOCK","BROADCAST_MODE_SYNC","BROADCAST_MODE_ASYNC"]},"cosmos.tx.v1beta1.BroadcastTxRequest":{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","type":"object","properties":{"mode":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastMode"},"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.BroadcastTxResponse":{"description":"BroadcastTxResponse is the response type for the\nService.BroadcastTx method.","type":"object","properties":{"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.Fee":{"description":"Fee includes the amount of coins paid in fees and the maximum\ngas to be used by the transaction. The ratio yields an effective \"gasprice\",\nwhich must be above some miminum to be accepted into the mempool.","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of coins to be paid as a fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"gas_limit":{"type":"string","format":"uint64","title":"gas_limit is the maximum gas that can be used in transaction processing\nbefore an out of gas error occurs"},"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\nto pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does\nnot support fee grants, this will fail"},"payer":{"description":"if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees.\nthe payer must be a tx signer (and thus have signed this field in AuthInfo).\nsetting this field does *not* change the ordering of required signers for the transaction.","type":"string"}}},"cosmos.tx.v1beta1.GetBlockWithTxsResponse":{"description":"GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs\nmethod.\n\nSince: cosmos-sdk 0.45.2","type":"object","properties":{"block":{"$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"pagination":{"description":"pagination defines a pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"txs":{"description":"txs are the transactions in the block.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.GetTxResponse":{"description":"GetTxResponse is the response type for the Service.GetTx method.","type":"object","properties":{"tx":{"description":"tx is the queried transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.GetTxsEventResponse":{"description":"GetTxsEventResponse is the response type for the Service.TxsByEvents\nRPC method.","type":"object","properties":{"pagination":{"description":"pagination defines a pagination for the response.\nDeprecated post v0.46.x: use total instead.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64","title":"total is total number of results available"},"tx_responses":{"description":"tx_responses is the list of queried TxResponses.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}},"txs":{"description":"txs is the list of queried transactions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.ModeInfo":{"description":"ModeInfo describes the signing mode of a single or nested multisig signer.","type":"object","properties":{"multi":{"title":"multi represents a nested multisig signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi"},"single":{"title":"single represents a single signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Single"}}},"cosmos.tx.v1beta1.ModeInfo.Multi":{"type":"object","title":"Multi is the mode info for a multisig public key","properties":{"bitarray":{"title":"bitarray specifies which keys within the multisig are signing","$ref":"#/definitions/cosmos.crypto.multisig.v1beta1.CompactBitArray"},"mode_infos":{"type":"array","title":"mode_infos is the corresponding modes of the signers of the multisig\nwhich could include nested multisig public keys","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"}}}},"cosmos.tx.v1beta1.ModeInfo.Single":{"type":"object","title":"Single is the mode info for a single signer. It is structured as a message\nto allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the\nfuture","properties":{"mode":{"title":"mode is the signing mode of the single signer","$ref":"#/definitions/cosmos.tx.signing.v1beta1.SignMode"}}},"cosmos.tx.v1beta1.OrderBy":{"description":"- ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","type":"string","title":"OrderBy defines the sorting order","default":"ORDER_BY_UNSPECIFIED","enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"]},"cosmos.tx.v1beta1.SignerInfo":{"description":"SignerInfo describes the public key and signing mode of a single top-level\nsigner.","type":"object","properties":{"mode_info":{"title":"mode_info describes the signing mode of the signer and is a nested\nstructure to support nested multisig pubkey's","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"},"public_key":{"description":"public_key is the public key of the signer. It is optional for accounts\nthat already exist in state. If unset, the verifier can use the required \\\nsigner address for this position and lookup the public key.","$ref":"#/definitions/google.protobuf.Any"},"sequence":{"description":"sequence is the sequence of the account, which describes the\nnumber of committed transactions signed by a given address. It is used to\nprevent replay attacks.","type":"string","format":"uint64"}}},"cosmos.tx.v1beta1.SimulateRequest":{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","type":"object","properties":{"tx":{"description":"tx is the transaction to simulate.\nDeprecated. Send raw tx bytes instead.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_bytes":{"description":"tx_bytes is the raw transaction.\n\nSince: cosmos-sdk 0.43","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.SimulateResponse":{"description":"SimulateResponse is the response type for the\nService.SimulateRPC method.","type":"object","properties":{"gas_info":{"description":"gas_info is the information about gas used in the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.GasInfo"},"result":{"description":"result is the result of the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.Result"}}},"cosmos.tx.v1beta1.Tip":{"description":"Tip is the tip used for meta-transactions.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of the tip","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"tipper":{"type":"string","title":"tipper is the address of the account paying for the tip"}}},"cosmos.tx.v1beta1.Tx":{"description":"Tx is the standard type used for broadcasting transactions.","type":"object","properties":{"auth_info":{"title":"auth_info is the authorization related content of the transaction,\nspecifically signers, signer modes and fee","$ref":"#/definitions/cosmos.tx.v1beta1.AuthInfo"},"body":{"title":"body is the processable content of the transaction","$ref":"#/definitions/cosmos.tx.v1beta1.TxBody"},"signatures":{"description":"signatures is a list of signatures that matches the length and order of\nAuthInfo's signer_infos to allow connecting signature meta information like\npublic key and signing mode by position.","type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.tx.v1beta1.TxBody":{"description":"TxBody is the body of a transaction that all signers sign over.","type":"object","properties":{"extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, the transaction will be rejected","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"memo":{"description":"memo is any arbitrary note/comment to be added to the transaction.\nWARNING: in clients, any publicly exposed text should not be called memo,\nbut should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122).","type":"string"},"messages":{"description":"messages is a list of messages to be executed. The required signers of\nthose messages define the number and order of elements in AuthInfo's\nsigner_infos and Tx's signatures. Each required signer address is added to\nthe list only the first time it occurs.\nBy convention, the first required signer (usually from the first message)\nis referred to as the primary signer and pays the fee for the whole\ntransaction.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"non_critical_extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, they will be ignored","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"timeout_height":{"type":"string","format":"uint64","title":"timeout is the block height after which this transaction will not\nbe processed by the chain"}}},"cosmos.tx.v1beta1.TxDecodeAminoRequest":{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeAminoResponse":{"description":"TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxDecodeRequest":{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeResponse":{"description":"TxDecodeResponse is the response type for the\nService.TxDecode method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx":{"description":"tx is the decoded transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeAminoRequest":{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxEncodeAminoResponse":{"description":"TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxEncodeRequest":{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx":{"description":"tx is the transaction to encode.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeResponse":{"description":"TxEncodeResponse is the response type for the\nService.TxEncode method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the encoded transaction bytes.","type":"string","format":"byte"}}},"cosmos.upgrade.v1beta1.ModuleVersion":{"description":"ModuleVersion specifies a module and its consensus version.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"name":{"type":"string","title":"name of the app module"},"version":{"type":"string","format":"uint64","title":"consensus version of the app module"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgrade":{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse":{"description":"MsgCancelUpgradeResponse is the Msg/CancelUpgrade response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.upgrade.v1beta1.MsgSoftwareUpgrade":{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"plan":{"description":"plan is the upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse":{"description":"MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.upgrade.v1beta1.Plan":{"description":"Plan specifies information about a planned upgrade and when it should occur.","type":"object","properties":{"height":{"description":"The height at which the upgrade must be performed.","type":"string","format":"int64"},"info":{"type":"string","title":"Any application specific upgrade info to be included on-chain\nsuch as a git commit that validators could automatically upgrade to"},"name":{"description":"Sets the name for the upgrade. This name will be used by the upgraded\nversion of the software to apply any special \"on-upgrade\" commands during\nthe first BeginBlock method after the upgrade is applied. It is also used\nto detect whether a software version can handle a given upgrade. If no\nupgrade handler with this name has been set in the software, it will be\nassumed that the software is out-of-date when the upgrade Time or Height is\nreached and the software will exit.","type":"string"},"time":{"description":"Deprecated: Time based upgrades have been deprecated. Time based upgrade logic\nhas been removed from the SDK.\nIf this field is not empty, an error will be thrown.","type":"string","format":"date-time"},"upgraded_client_state":{"description":"Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been\nmoved to the IBC module in the sub module 02-client.\nIf this field is not empty, an error will be thrown.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.upgrade.v1beta1.QueryAppliedPlanResponse":{"description":"QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC\nmethod.","type":"object","properties":{"height":{"description":"height is the block height at which the plan was applied.","type":"string","format":"int64"}}},"cosmos.upgrade.v1beta1.QueryAuthorityResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"QueryAuthorityResponse is the response type for Query/Authority","properties":{"address":{"type":"string"}}},"cosmos.upgrade.v1beta1.QueryCurrentPlanResponse":{"description":"QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC\nmethod.","type":"object","properties":{"plan":{"description":"plan is the current upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.QueryModuleVersionsResponse":{"description":"QueryModuleVersionsResponse is the response type for the Query/ModuleVersions\nRPC method.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"module_versions":{"description":"module_versions is a list of module names with their consensus versions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.upgrade.v1beta1.ModuleVersion"}}}},"cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse":{"description":"QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState\nRPC method.","type":"object","properties":{"upgraded_consensus_state":{"type":"string","format":"byte","title":"Since: cosmos-sdk 0.43"}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"from_address":{"type":"string"},"start_time":{"description":"start of vesting as unix time (in seconds).","type":"string","format":"int64"},"to_address":{"type":"string"},"vesting_periods":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.vesting.v1beta1.Period"}}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreatePeriodicVestingAccount\nresponse type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount":{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse":{"description":"MsgCreatePermanentLockedAccountResponse defines the Msg/CreatePermanentLockedAccount response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.vesting.v1beta1.MsgCreateVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"delayed":{"type":"boolean"},"end_time":{"description":"end of vesting as unix time (in seconds).","type":"string","format":"int64"},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type.","type":"object"},"cosmos.vesting.v1beta1.Period":{"description":"Period defines a length of time and amount of coins that will vest.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"length":{"description":"Period duration in seconds.","type":"string","format":"int64"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}},"ibc.applications.fee.v1.Fee":{"type":"object","title":"Fee defines the ICS29 receive, acknowledgement and timeout fees","properties":{"ack_fee":{"type":"array","title":"the packet acknowledgement fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"recv_fee":{"type":"array","title":"the packet receive fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"timeout_fee":{"type":"array","title":"the packet timeout fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.fee.v1.FeeEnabledChannel":{"type":"object","title":"FeeEnabledChannel contains the PortID \u0026 ChannelID for a fee enabled channel","properties":{"channel_id":{"type":"string","title":"unique channel identifier"},"port_id":{"type":"string","title":"unique port identifier"}}},"ibc.applications.fee.v1.IdentifiedPacketFees":{"type":"object","title":"IdentifiedPacketFees contains a list of type PacketFee and associated PacketId","properties":{"packet_fees":{"type":"array","title":"list of packet fees","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.PacketFee"}},"packet_id":{"title":"unique packet identifier comprised of the channel ID, port ID and sequence","$ref":"#/definitions/ibc.core.channel.v1.PacketId"}}},"ibc.applications.fee.v1.MsgPayPacketFee":{"type":"object","title":"MsgPayPacketFee defines the request type for the PayPacketFee rpc\nThis Msg can be used to pay for a packet at the next sequence send \u0026 should be combined with the Msg that will be\npaid for","properties":{"fee":{"title":"fee encapsulates the recv, ack and timeout fees associated with an IBC packet","$ref":"#/definitions/ibc.applications.fee.v1.Fee"},"relayers":{"type":"array","title":"optional list of relayers permitted to the receive packet fees","items":{"type":"string"}},"signer":{"type":"string","title":"account address to refund fee if necessary"},"source_channel_id":{"type":"string","title":"the source channel unique identifer"},"source_port_id":{"type":"string","title":"the source port unique identifier"}}},"ibc.applications.fee.v1.MsgPayPacketFeeAsync":{"type":"object","title":"MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync rpc\nThis Msg can be used to pay for a packet at a specified sequence (instead of the next sequence send)","properties":{"packet_fee":{"title":"the packet fee associated with a particular IBC packet","$ref":"#/definitions/ibc.applications.fee.v1.PacketFee"},"packet_id":{"title":"unique packet identifier comprised of the channel ID, port ID and sequence","$ref":"#/definitions/ibc.core.channel.v1.PacketId"}}},"ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse":{"type":"object","title":"MsgPayPacketFeeAsyncResponse defines the response type for the PayPacketFeeAsync rpc"},"ibc.applications.fee.v1.MsgPayPacketFeeResponse":{"type":"object","title":"MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc"},"ibc.applications.fee.v1.MsgRegisterCounterpartyPayee":{"type":"object","title":"MsgRegisterCounterpartyPayee defines the request type for the RegisterCounterpartyPayee rpc","properties":{"channel_id":{"type":"string","title":"unique channel identifier"},"counterparty_payee":{"type":"string","title":"the counterparty payee address"},"port_id":{"type":"string","title":"unique port identifier"},"relayer":{"type":"string","title":"the relayer address"}}},"ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse":{"type":"object","title":"MsgRegisterCounterpartyPayeeResponse defines the response type for the RegisterCounterpartyPayee rpc"},"ibc.applications.fee.v1.MsgRegisterPayee":{"type":"object","title":"MsgRegisterPayee defines the request type for the RegisterPayee rpc","properties":{"channel_id":{"type":"string","title":"unique channel identifier"},"payee":{"type":"string","title":"the payee address"},"port_id":{"type":"string","title":"unique port identifier"},"relayer":{"type":"string","title":"the relayer address"}}},"ibc.applications.fee.v1.MsgRegisterPayeeResponse":{"type":"object","title":"MsgRegisterPayeeResponse defines the response type for the RegisterPayee rpc"},"ibc.applications.fee.v1.PacketFee":{"type":"object","title":"PacketFee contains ICS29 relayer fees, refund address and optional list of permitted relayers","properties":{"fee":{"title":"fee encapsulates the recv, ack and timeout fees associated with an IBC packet","$ref":"#/definitions/ibc.applications.fee.v1.Fee"},"refund_address":{"type":"string","title":"the refund address for unspent fees"},"relayers":{"type":"array","title":"optional list of relayers permitted to receive fees","items":{"type":"string"}}}},"ibc.applications.fee.v1.QueryCounterpartyPayeeResponse":{"type":"object","title":"QueryCounterpartyPayeeResponse defines the response type for the CounterpartyPayee rpc","properties":{"counterparty_payee":{"type":"string","title":"the counterparty payee address used to compensate forward relaying"}}},"ibc.applications.fee.v1.QueryFeeEnabledChannelResponse":{"type":"object","title":"QueryFeeEnabledChannelResponse defines the response type for the FeeEnabledChannel rpc","properties":{"fee_enabled":{"type":"boolean","title":"boolean flag representing the fee enabled channel status"}}},"ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse":{"type":"object","title":"QueryFeeEnabledChannelsResponse defines the response type for the FeeEnabledChannels rpc","properties":{"fee_enabled_channels":{"type":"array","title":"list of fee enabled channels","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.FeeEnabledChannel"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.fee.v1.QueryIncentivizedPacketResponse":{"type":"object","title":"QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPacket rpc","properties":{"incentivized_packet":{"title":"the identified fees for the incentivized packet","$ref":"#/definitions/ibc.applications.fee.v1.IdentifiedPacketFees"}}},"ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse":{"type":"object","title":"QueryIncentivizedPacketsResponse defines the response type for the incentivized packets RPC","properties":{"incentivized_packets":{"type":"array","title":"Map of all incentivized_packets","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.IdentifiedPacketFees"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.fee.v1.QueryIncentivizedPacketsResponse":{"type":"object","title":"QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPackets rpc","properties":{"incentivized_packets":{"type":"array","title":"list of identified fees for incentivized packets","items":{"type":"object","$ref":"#/definitions/ibc.applications.fee.v1.IdentifiedPacketFees"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.fee.v1.QueryPayeeResponse":{"type":"object","title":"QueryPayeeResponse defines the response type for the Payee rpc","properties":{"payee_address":{"type":"string","title":"the payee address to which packet fees are paid out"}}},"ibc.applications.fee.v1.QueryTotalAckFeesResponse":{"type":"object","title":"QueryTotalAckFeesResponse defines the response type for the TotalAckFees rpc","properties":{"ack_fees":{"type":"array","title":"the total packet acknowledgement fees","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.fee.v1.QueryTotalRecvFeesResponse":{"type":"object","title":"QueryTotalRecvFeesResponse defines the response type for the TotalRecvFees rpc","properties":{"recv_fees":{"type":"array","title":"the total packet receive fees","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse":{"type":"object","title":"QueryTotalTimeoutFeesResponse defines the response type for the TotalTimeoutFees rpc","properties":{"timeout_fees":{"type":"array","title":"the total packet timeout fees","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount":{"type":"object","title":"MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount","properties":{"connection_id":{"type":"string"},"ordering":{"$ref":"#/definitions/ibc.core.channel.v1.Order"},"owner":{"type":"string"},"version":{"type":"string"}}},"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse":{"type":"object","title":"MsgRegisterInterchainAccountResponse defines the response for Msg/RegisterAccount","properties":{"channel_id":{"type":"string"},"port_id":{"type":"string"}}},"ibc.applications.interchain_accounts.controller.v1.MsgSendTx":{"type":"object","title":"MsgSendTx defines the payload for Msg/SendTx","properties":{"connection_id":{"type":"string"},"owner":{"type":"string"},"packet_data":{"$ref":"#/definitions/ibc.applications.interchain_accounts.v1.InterchainAccountPacketData"},"relative_timeout":{"description":"Relative timeout timestamp provided will be added to the current block time during transaction execution.\nThe timeout timestamp must be non-zero.","type":"string","format":"uint64"}}},"ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse":{"type":"object","title":"MsgSendTxResponse defines the response for MsgSendTx","properties":{"sequence":{"type":"string","format":"uint64"}}},"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams":{"type":"object","title":"MsgUpdateParams defines the payload for Msg/UpdateParams","properties":{"params":{"description":"params defines the 27-interchain-accounts/controller parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse":{"type":"object","title":"MsgUpdateParamsResponse defines the response for Msg/UpdateParams"},"ibc.applications.interchain_accounts.controller.v1.Params":{"description":"Params defines the set of on-chain interchain accounts parameters.\nThe following parameters may be used to disable the controller submodule.","type":"object","properties":{"controller_enabled":{"description":"controller_enabled enables or disables the controller submodule.","type":"boolean"}}},"ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse":{"description":"QueryInterchainAccountResponse the response type for the Query/InterchainAccount RPC method.","type":"object","properties":{"address":{"type":"string"}}},"ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.applications.interchain_accounts.controller.v1.Params"}}},"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe":{"type":"object","title":"MsgModuleQuerySafe defines the payload for Msg/ModuleQuerySafe","properties":{"requests":{"description":"requests defines the module safe queries to execute.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.QueryRequest"}},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse":{"type":"object","title":"MsgModuleQuerySafeResponse defines the response for Msg/ModuleQuerySafe","properties":{"height":{"type":"string","format":"uint64","title":"height at which the responses were queried"},"responses":{"type":"array","title":"protobuf encoded responses for each query","items":{"type":"string","format":"byte"}}}},"ibc.applications.interchain_accounts.host.v1.MsgUpdateParams":{"type":"object","title":"MsgUpdateParams defines the payload for Msg/UpdateParams","properties":{"params":{"description":"params defines the 27-interchain-accounts/host parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse":{"type":"object","title":"MsgUpdateParamsResponse defines the response for Msg/UpdateParams"},"ibc.applications.interchain_accounts.host.v1.Params":{"description":"Params defines the set of on-chain interchain accounts parameters.\nThe following parameters may be used to disable the host submodule.","type":"object","properties":{"allow_messages":{"description":"allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain.","type":"array","items":{"type":"string"}},"host_enabled":{"description":"host_enabled enables or disables the host submodule.","type":"boolean"}}},"ibc.applications.interchain_accounts.host.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.applications.interchain_accounts.host.v1.Params"}}},"ibc.applications.interchain_accounts.host.v1.QueryRequest":{"description":"QueryRequest defines the parameters for a particular query request\nby an interchain account.","type":"object","properties":{"data":{"type":"string","format":"byte","title":"data defines the payload of the query request as defined by ADR-021.\nhttps://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing"},"path":{"type":"string","title":"path defines the path of the query request as defined by ADR-021.\nhttps://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing"}}},"ibc.applications.interchain_accounts.v1.InterchainAccountPacketData":{"description":"InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field.","type":"object","properties":{"data":{"type":"string","format":"byte"},"memo":{"type":"string"},"type":{"$ref":"#/definitions/ibc.applications.interchain_accounts.v1.Type"}}},"ibc.applications.interchain_accounts.v1.Type":{"description":"- TYPE_UNSPECIFIED: Default zero value enumeration\n - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain","type":"string","title":"Type defines a classification of message issued from a controller chain to its associated interchain accounts\nhost","default":"TYPE_UNSPECIFIED","enum":["TYPE_UNSPECIFIED","TYPE_EXECUTE_TX"]},"ibc.applications.transfer.v1.DenomTrace":{"description":"DenomTrace contains the base denomination for ICS20 fungible tokens and the\nsource tracing information path.","type":"object","properties":{"base_denom":{"description":"base denomination of the relayed fungible token.","type":"string"},"path":{"description":"path defines the chain of port/channel identifiers used for tracing the\nsource of the fungible token.","type":"string"}}},"ibc.applications.transfer.v1.MsgTransfer":{"type":"object","title":"MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between\nICS20 enabled chains. See ICS Spec here:\nhttps://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures","properties":{"memo":{"type":"string","title":"optional memo"},"receiver":{"type":"string","title":"the recipient address on the destination chain"},"sender":{"type":"string","title":"the sender address"},"source_channel":{"type":"string","title":"the channel by which the packet will be sent"},"source_port":{"type":"string","title":"the port on which the packet will be sent"},"timeout_height":{"description":"Timeout height relative to the current block height.\nThe timeout is disabled when set to 0.","$ref":"#/definitions/ibc.core.client.v1.Height"},"timeout_timestamp":{"description":"Timeout timestamp in absolute nanoseconds since unix epoch.\nThe timeout is disabled when set to 0.","type":"string","format":"uint64"},"token":{"title":"the tokens to be transferred","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"ibc.applications.transfer.v1.MsgTransferResponse":{"description":"MsgTransferResponse defines the Msg/Transfer response type.","type":"object","properties":{"sequence":{"type":"string","format":"uint64","title":"sequence number of the transfer packet sent"}}},"ibc.applications.transfer.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"params":{"description":"params defines the transfer parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.applications.transfer.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.applications.transfer.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"ibc.applications.transfer.v1.Params":{"description":"Params defines the set of IBC transfer parameters.\nNOTE: To prevent a single token from being transferred, set the\nTransfersEnabled parameter to true and then set the bank module's SendEnabled\nparameter for the denomination to false.","type":"object","properties":{"receive_enabled":{"description":"receive_enabled enables or disables all cross-chain token transfers to this\nchain.","type":"boolean"},"send_enabled":{"description":"send_enabled enables or disables all cross-chain token transfers from this\nchain.","type":"boolean"}}},"ibc.applications.transfer.v1.QueryDenomHashResponse":{"description":"QueryDenomHashResponse is the response type for the Query/DenomHash RPC\nmethod.","type":"object","properties":{"hash":{"description":"hash (in hex format) of the denomination trace information.","type":"string"}}},"ibc.applications.transfer.v1.QueryDenomTraceResponse":{"description":"QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC\nmethod.","type":"object","properties":{"denom_trace":{"description":"denom_trace returns the requested denomination trace information.","$ref":"#/definitions/ibc.applications.transfer.v1.DenomTrace"}}},"ibc.applications.transfer.v1.QueryDenomTracesResponse":{"description":"QueryConnectionsResponse is the response type for the Query/DenomTraces RPC\nmethod.","type":"object","properties":{"denom_traces":{"description":"denom_traces returns all denominations trace information.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.applications.transfer.v1.DenomTrace"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.applications.transfer.v1.QueryEscrowAddressResponse":{"description":"QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method.","type":"object","properties":{"escrow_address":{"type":"string","title":"the escrow account address"}}},"ibc.applications.transfer.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.applications.transfer.v1.Params"}}},"ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse":{"description":"QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom RPC method.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"ibc.core.channel.v1.Channel":{"description":"Channel defines pipeline for exactly-once packet delivery between specific\nmodules on separate blockchains, which has at least one end capable of\nsending packets and one end capable of receiving packets.","type":"object","properties":{"connection_hops":{"type":"array","title":"list of connection identifiers, in order, along which packets sent on\nthis channel will travel","items":{"type":"string"}},"counterparty":{"title":"counterparty channel end","$ref":"#/definitions/ibc.core.channel.v1.Counterparty"},"ordering":{"title":"whether the channel is ordered or unordered","$ref":"#/definitions/ibc.core.channel.v1.Order"},"state":{"title":"current state of the channel end","$ref":"#/definitions/ibc.core.channel.v1.State"},"upgrade_sequence":{"type":"string","format":"uint64","title":"upgrade sequence indicates the latest upgrade attempt performed by this channel\nthe value of 0 indicates the channel has never been upgraded"},"version":{"type":"string","title":"opaque channel version, which is agreed upon during the handshake"}}},"ibc.core.channel.v1.Counterparty":{"type":"object","title":"Counterparty defines a channel end counterparty","properties":{"channel_id":{"type":"string","title":"channel end on the counterparty chain"},"port_id":{"description":"port on the counterparty chain which owns the other end of the channel.","type":"string"}}},"ibc.core.channel.v1.ErrorReceipt":{"description":"ErrorReceipt defines a type which encapsulates the upgrade sequence and error associated with the\nupgrade handshake failure. When a channel upgrade handshake is aborted both chains are expected to increment to the\nnext sequence.","type":"object","properties":{"message":{"type":"string","title":"the error message detailing the cause of failure"},"sequence":{"type":"string","format":"uint64","title":"the channel upgrade sequence"}}},"ibc.core.channel.v1.IdentifiedChannel":{"description":"IdentifiedChannel defines a channel with additional port and channel\nidentifier fields.","type":"object","properties":{"channel_id":{"type":"string","title":"channel identifier"},"connection_hops":{"type":"array","title":"list of connection identifiers, in order, along which packets sent on\nthis channel will travel","items":{"type":"string"}},"counterparty":{"title":"counterparty channel end","$ref":"#/definitions/ibc.core.channel.v1.Counterparty"},"ordering":{"title":"whether the channel is ordered or unordered","$ref":"#/definitions/ibc.core.channel.v1.Order"},"port_id":{"type":"string","title":"port identifier"},"state":{"title":"current state of the channel end","$ref":"#/definitions/ibc.core.channel.v1.State"},"upgrade_sequence":{"type":"string","format":"uint64","title":"upgrade sequence indicates the latest upgrade attempt performed by this channel\nthe value of 0 indicates the channel has never been upgraded"},"version":{"type":"string","title":"opaque channel version, which is agreed upon during the handshake"}}},"ibc.core.channel.v1.MsgAcknowledgement":{"type":"object","title":"MsgAcknowledgement receives incoming IBC acknowledgement","properties":{"acknowledgement":{"type":"string","format":"byte"},"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_acked":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgAcknowledgementResponse":{"description":"MsgAcknowledgementResponse defines the Msg/Acknowledgement response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgChannelCloseConfirm":{"description":"MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B\nto acknowledge the change of channel state to CLOSED on Chain A.","type":"object","properties":{"channel_id":{"type":"string"},"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_init":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelCloseConfirmResponse":{"description":"MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm response\ntype.","type":"object"},"ibc.core.channel.v1.MsgChannelCloseInit":{"description":"MsgChannelCloseInit defines a msg sent by a Relayer to Chain A\nto close a channel with Chain B.","type":"object","properties":{"channel_id":{"type":"string"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelCloseInitResponse":{"description":"MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response type.","type":"object"},"ibc.core.channel.v1.MsgChannelOpenAck":{"description":"MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge\nthe change of channel state to TRYOPEN on Chain B.\nWARNING: a channel upgrade MUST NOT initialize an upgrade for this channel\nin the same block as executing this message otherwise the counterparty will\nbe incapable of opening.","type":"object","properties":{"channel_id":{"type":"string"},"counterparty_channel_id":{"type":"string"},"counterparty_version":{"type":"string"},"port_id":{"type":"string"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_try":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenAckResponse":{"description":"MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type.","type":"object"},"ibc.core.channel.v1.MsgChannelOpenConfirm":{"description":"MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of channel state to OPEN on Chain A.","type":"object","properties":{"channel_id":{"type":"string"},"port_id":{"type":"string"},"proof_ack":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenConfirmResponse":{"description":"MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response\ntype.","type":"object"},"ibc.core.channel.v1.MsgChannelOpenInit":{"description":"MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It\nis called by a relayer on Chain A.","type":"object","properties":{"channel":{"$ref":"#/definitions/ibc.core.channel.v1.Channel"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenInitResponse":{"description":"MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type.","type":"object","properties":{"channel_id":{"type":"string"},"version":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenTry":{"description":"MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel\non Chain B. The version field within the Channel field has been deprecated. Its\nvalue will be ignored by core IBC.","type":"object","properties":{"channel":{"description":"NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC.","$ref":"#/definitions/ibc.core.channel.v1.Channel"},"counterparty_version":{"type":"string"},"port_id":{"type":"string"},"previous_channel_id":{"description":"Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC.","type":"string"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_init":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelOpenTryResponse":{"description":"MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type.","type":"object","properties":{"channel_id":{"type":"string"},"version":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeAck":{"type":"object","title":"MsgChannelUpgradeAck defines the request type for the ChannelUpgradeAck rpc","properties":{"channel_id":{"type":"string"},"counterparty_upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_upgrade":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeAckResponse":{"type":"object","title":"MsgChannelUpgradeAckResponse defines MsgChannelUpgradeAck response type","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgChannelUpgradeCancel":{"type":"object","title":"MsgChannelUpgradeCancel defines the request type for the ChannelUpgradeCancel rpc","properties":{"channel_id":{"type":"string"},"error_receipt":{"$ref":"#/definitions/ibc.core.channel.v1.ErrorReceipt"},"port_id":{"type":"string"},"proof_error_receipt":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeCancelResponse":{"type":"object","title":"MsgChannelUpgradeCancelResponse defines the MsgChannelUpgradeCancel response type"},"ibc.core.channel.v1.MsgChannelUpgradeConfirm":{"type":"object","title":"MsgChannelUpgradeConfirm defines the request type for the ChannelUpgradeConfirm rpc","properties":{"channel_id":{"type":"string"},"counterparty_channel_state":{"$ref":"#/definitions/ibc.core.channel.v1.State"},"counterparty_upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_upgrade":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeConfirmResponse":{"type":"object","title":"MsgChannelUpgradeConfirmResponse defines MsgChannelUpgradeConfirm response type","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgChannelUpgradeInit":{"description":"MsgChannelUpgradeInit defines the request type for the ChannelUpgradeInit rpc\nWARNING: Initializing a channel upgrade in the same block as opening the channel\nmay result in the counterparty being incapable of opening.","type":"object","properties":{"channel_id":{"type":"string"},"fields":{"$ref":"#/definitions/ibc.core.channel.v1.UpgradeFields"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeInitResponse":{"type":"object","title":"MsgChannelUpgradeInitResponse defines the MsgChannelUpgradeInit response type","properties":{"upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"upgrade_sequence":{"type":"string","format":"uint64"}}},"ibc.core.channel.v1.MsgChannelUpgradeOpen":{"type":"object","title":"MsgChannelUpgradeOpen defines the request type for the ChannelUpgradeOpen rpc","properties":{"channel_id":{"type":"string"},"counterparty_channel_state":{"$ref":"#/definitions/ibc.core.channel.v1.State"},"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeOpenResponse":{"type":"object","title":"MsgChannelUpgradeOpenResponse defines the MsgChannelUpgradeOpen response type"},"ibc.core.channel.v1.MsgChannelUpgradeTimeout":{"type":"object","title":"MsgChannelUpgradeTimeout defines the request type for the ChannelUpgradeTimeout rpc","properties":{"channel_id":{"type":"string"},"counterparty_channel":{"$ref":"#/definitions/ibc.core.channel.v1.Channel"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeTimeoutResponse":{"type":"object","title":"MsgChannelUpgradeTimeoutRepsonse defines the MsgChannelUpgradeTimeout response type"},"ibc.core.channel.v1.MsgChannelUpgradeTry":{"type":"object","title":"MsgChannelUpgradeTry defines the request type for the ChannelUpgradeTry rpc","properties":{"channel_id":{"type":"string"},"counterparty_upgrade_fields":{"$ref":"#/definitions/ibc.core.channel.v1.UpgradeFields"},"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"proof_channel":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_upgrade":{"type":"string","format":"byte"},"proposed_upgrade_connection_hops":{"type":"array","items":{"type":"string"}},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgChannelUpgradeTryResponse":{"type":"object","title":"MsgChannelUpgradeTryResponse defines the MsgChannelUpgradeTry response type","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"},"upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"},"upgrade_sequence":{"type":"string","format":"uint64"}}},"ibc.core.channel.v1.MsgPruneAcknowledgements":{"description":"MsgPruneAcknowledgements defines the request type for the PruneAcknowledgements rpc.","type":"object","properties":{"channel_id":{"type":"string"},"limit":{"type":"string","format":"uint64"},"port_id":{"type":"string"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgPruneAcknowledgementsResponse":{"description":"MsgPruneAcknowledgementsResponse defines the response type for the PruneAcknowledgements rpc.","type":"object","properties":{"total_pruned_sequences":{"description":"Number of sequences pruned (includes both packet acknowledgements and packet receipts where appropriate).","type":"string","format":"uint64"},"total_remaining_sequences":{"description":"Number of sequences left after pruning.","type":"string","format":"uint64"}}},"ibc.core.channel.v1.MsgRecvPacket":{"type":"object","title":"MsgRecvPacket receives incoming IBC packet","properties":{"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_commitment":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgRecvPacketResponse":{"description":"MsgRecvPacketResponse defines the Msg/RecvPacket response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgTimeout":{"type":"object","title":"MsgTimeout receives timed-out packet","properties":{"next_sequence_recv":{"type":"string","format":"uint64"},"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_unreceived":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgTimeoutOnClose":{"description":"MsgTimeoutOnClose timed-out packet upon counterparty channel closure.","type":"object","properties":{"counterparty_upgrade_sequence":{"type":"string","format":"uint64"},"next_sequence_recv":{"type":"string","format":"uint64"},"packet":{"$ref":"#/definitions/ibc.core.channel.v1.Packet"},"proof_close":{"type":"string","format":"byte"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_unreceived":{"type":"string","format":"byte"},"signer":{"type":"string"}}},"ibc.core.channel.v1.MsgTimeoutOnCloseResponse":{"description":"MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgTimeoutResponse":{"description":"MsgTimeoutResponse defines the Msg/Timeout response type.","type":"object","properties":{"result":{"$ref":"#/definitions/ibc.core.channel.v1.ResponseResultType"}}},"ibc.core.channel.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the MsgUpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the channel parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.core.channel.v1.Params"}}},"ibc.core.channel.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the MsgUpdateParams response type.","type":"object"},"ibc.core.channel.v1.Order":{"description":"- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering\n - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in\nwhich they were sent.\n - ORDER_ORDERED: packets are delivered exactly in the order which they were sent","type":"string","title":"Order defines if a channel is ORDERED or UNORDERED","default":"ORDER_NONE_UNSPECIFIED","enum":["ORDER_NONE_UNSPECIFIED","ORDER_UNORDERED","ORDER_ORDERED"]},"ibc.core.channel.v1.Packet":{"type":"object","title":"Packet defines a type that carries data across different chains through IBC","properties":{"data":{"type":"string","format":"byte","title":"actual opaque bytes transferred directly to the application module"},"destination_channel":{"description":"identifies the channel end on the receiving chain.","type":"string"},"destination_port":{"description":"identifies the port on the receiving chain.","type":"string"},"sequence":{"description":"number corresponds to the order of sends and receives, where a Packet\nwith an earlier sequence number must be sent and received before a Packet\nwith a later sequence number.","type":"string","format":"uint64"},"source_channel":{"description":"identifies the channel end on the sending chain.","type":"string"},"source_port":{"description":"identifies the port on the sending chain.","type":"string"},"timeout_height":{"title":"block height after which the packet times out","$ref":"#/definitions/ibc.core.client.v1.Height"},"timeout_timestamp":{"type":"string","format":"uint64","title":"block timestamp (in nanoseconds) after which the packet times out"}}},"ibc.core.channel.v1.PacketId":{"type":"object","title":"PacketId is an identifer for a unique Packet\nSource chains refer to packets by source port/channel\nDestination chains refer to packets by destination port/channel","properties":{"channel_id":{"type":"string","title":"channel unique identifier"},"port_id":{"type":"string","title":"channel port identifier"},"sequence":{"type":"string","format":"uint64","title":"packet sequence"}}},"ibc.core.channel.v1.PacketState":{"description":"PacketState defines the generic type necessary to retrieve and store\npacket commitments, acknowledgements, and receipts.\nCaller is responsible for knowing the context necessary to interpret this\nstate as a commitment, acknowledgement, or a receipt.","type":"object","properties":{"channel_id":{"description":"channel unique identifier.","type":"string"},"data":{"description":"embedded data that represents packet state.","type":"string","format":"byte"},"port_id":{"description":"channel port identifier.","type":"string"},"sequence":{"description":"packet sequence.","type":"string","format":"uint64"}}},"ibc.core.channel.v1.Params":{"description":"Params defines the set of IBC channel parameters.","type":"object","properties":{"upgrade_timeout":{"description":"the relative timeout after which channel upgrades will time out.","$ref":"#/definitions/ibc.core.channel.v1.Timeout"}}},"ibc.core.channel.v1.QueryChannelClientStateResponse":{"type":"object","title":"QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method","properties":{"identified_client_state":{"title":"client state associated with the channel","$ref":"#/definitions/ibc.core.client.v1.IdentifiedClientState"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryChannelConsensusStateResponse":{"type":"object","title":"QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method","properties":{"client_id":{"type":"string","title":"client ID associated with the consensus state"},"consensus_state":{"title":"consensus state associated with the channel","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryChannelParamsResponse":{"description":"QueryChannelParamsResponse is the response type for the Query/ChannelParams RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.core.channel.v1.Params"}}},"ibc.core.channel.v1.QueryChannelResponse":{"description":"QueryChannelResponse is the response type for the Query/Channel RPC method.\nBesides the Channel end, it includes a proof and the height from which the\nproof was retrieved.","type":"object","properties":{"channel":{"title":"channel associated with the request identifiers","$ref":"#/definitions/ibc.core.channel.v1.Channel"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryChannelsResponse":{"description":"QueryChannelsResponse is the response type for the Query/Channels RPC method.","type":"object","properties":{"channels":{"description":"list of stored channels of the chain.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.IdentifiedChannel"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryConnectionChannelsResponse":{"type":"object","title":"QueryConnectionChannelsResponse is the Response type for the\nQuery/QueryConnectionChannels RPC method","properties":{"channels":{"description":"list of channels associated with a connection.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.IdentifiedChannel"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryNextSequenceReceiveResponse":{"type":"object","title":"QuerySequenceResponse is the response type for the\nQuery/QueryNextSequenceReceiveResponse RPC method","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","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryNextSequenceSendResponse":{"type":"object","title":"QueryNextSequenceSendResponse is the request type for the\nQuery/QueryNextSequenceSend RPC method","properties":{"next_sequence_send":{"type":"string","format":"uint64","title":"next sequence send number"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryPacketAcknowledgementResponse":{"type":"object","title":"QueryPacketAcknowledgementResponse defines the client query response for a\npacket which also includes a proof and the height from which the\nproof was retrieved","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","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryPacketAcknowledgementsResponse":{"type":"object","title":"QueryPacketAcknowledgemetsResponse is the request type for the\nQuery/QueryPacketAcknowledgements RPC method","properties":{"acknowledgements":{"type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.PacketState"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryPacketCommitmentResponse":{"type":"object","title":"QueryPacketCommitmentResponse defines the client query response for a packet\nwhich also includes a proof and the height from which the proof was\nretrieved","properties":{"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","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryPacketCommitmentsResponse":{"type":"object","title":"QueryPacketCommitmentsResponse is the request type for the\nQuery/QueryPacketCommitments RPC method","properties":{"commitments":{"type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.channel.v1.PacketState"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.channel.v1.QueryPacketReceiptResponse":{"type":"object","title":"QueryPacketReceiptResponse defines the client query response for a packet\nreceipt which also includes a proof, and the height from which the proof was\nretrieved","properties":{"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"},"received":{"type":"boolean","title":"success flag for if receipt exists"}}},"ibc.core.channel.v1.QueryUnreceivedAcksResponse":{"type":"object","title":"QueryUnreceivedAcksResponse is the response type for the\nQuery/UnreceivedAcks RPC method","properties":{"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"sequences":{"type":"array","title":"list of unreceived acknowledgement sequences","items":{"type":"string","format":"uint64"}}}},"ibc.core.channel.v1.QueryUnreceivedPacketsResponse":{"type":"object","title":"QueryUnreceivedPacketsResponse is the response type for the\nQuery/UnreceivedPacketCommitments RPC method","properties":{"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"sequences":{"type":"array","title":"list of unreceived packet sequences","items":{"type":"string","format":"uint64"}}}},"ibc.core.channel.v1.QueryUpgradeErrorResponse":{"type":"object","title":"QueryUpgradeErrorResponse is the response type for the Query/QueryUpgradeError RPC method","properties":{"error_receipt":{"$ref":"#/definitions/ibc.core.channel.v1.ErrorReceipt"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.channel.v1.QueryUpgradeResponse":{"type":"object","title":"QueryUpgradeResponse is the response type for the QueryUpgradeResponse RPC method","properties":{"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"},"upgrade":{"$ref":"#/definitions/ibc.core.channel.v1.Upgrade"}}},"ibc.core.channel.v1.ResponseResultType":{"description":"- RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration\n - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed)\n - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully\n - RESPONSE_RESULT_TYPE_FAILURE: The message was executed unsuccessfully","type":"string","title":"ResponseResultType defines the possible outcomes of the execution of a message","default":"RESPONSE_RESULT_TYPE_UNSPECIFIED","enum":["RESPONSE_RESULT_TYPE_UNSPECIFIED","RESPONSE_RESULT_TYPE_NOOP","RESPONSE_RESULT_TYPE_SUCCESS","RESPONSE_RESULT_TYPE_FAILURE"]},"ibc.core.channel.v1.State":{"description":"State defines if a channel is in one of the following states:\nCLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A channel has just started the opening handshake.\n - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.\n - STATE_OPEN: A channel has completed the handshake. Open channels are\nready to send and receive packets.\n - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive\npackets.\n - STATE_FLUSHING: A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets.\n - STATE_FLUSHCOMPLETE: A channel has just completed flushing any in-flight packets.","type":"string","default":"STATE_UNINITIALIZED_UNSPECIFIED","enum":["STATE_UNINITIALIZED_UNSPECIFIED","STATE_INIT","STATE_TRYOPEN","STATE_OPEN","STATE_CLOSED","STATE_FLUSHING","STATE_FLUSHCOMPLETE"]},"ibc.core.channel.v1.Timeout":{"description":"Timeout defines an execution deadline structure for 04-channel handlers.\nThis includes packet lifecycle handlers as well as the upgrade handshake handlers.\nA valid Timeout contains either one or both of a timestamp and block height (sequence).","type":"object","properties":{"height":{"title":"block height after which the packet or upgrade times out","$ref":"#/definitions/ibc.core.client.v1.Height"},"timestamp":{"type":"string","format":"uint64","title":"block timestamp (in nanoseconds) after which the packet or upgrade times out"}}},"ibc.core.channel.v1.Upgrade":{"description":"Upgrade is a verifiable type which contains the relevant information\nfor an attempted upgrade. It provides the proposed changes to the channel\nend, the timeout for this upgrade attempt and the next packet sequence\nwhich allows the counterparty to efficiently know the highest sequence it has received.\nThe next sequence send is used for pruning and upgrading from unordered to ordered channels.","type":"object","properties":{"fields":{"$ref":"#/definitions/ibc.core.channel.v1.UpgradeFields"},"next_sequence_send":{"type":"string","format":"uint64"},"timeout":{"$ref":"#/definitions/ibc.core.channel.v1.Timeout"}}},"ibc.core.channel.v1.UpgradeFields":{"description":"UpgradeFields are the fields in a channel end which may be changed\nduring a channel upgrade.","type":"object","properties":{"connection_hops":{"type":"array","items":{"type":"string"}},"ordering":{"$ref":"#/definitions/ibc.core.channel.v1.Order"},"version":{"type":"string"}}},"ibc.core.client.v1.ConsensusStateWithHeight":{"description":"ConsensusStateWithHeight defines a consensus state with an additional height\nfield.","type":"object","properties":{"consensus_state":{"title":"consensus state","$ref":"#/definitions/google.protobuf.Any"},"height":{"title":"consensus state height","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.client.v1.Height":{"description":"Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset","type":"object","title":"Height is a monotonically increasing data type\nthat can be compared against another Height for the purposes of updating and\nfreezing clients","properties":{"revision_height":{"type":"string","format":"uint64","title":"the height within the given revision"},"revision_number":{"type":"string","format":"uint64","title":"the revision that the client is currently on"}}},"ibc.core.client.v1.IdentifiedClientState":{"description":"IdentifiedClientState defines a client state with an additional client\nidentifier field.","type":"object","properties":{"client_id":{"type":"string","title":"client identifier"},"client_state":{"title":"client state","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.MsgCreateClient":{"type":"object","title":"MsgCreateClient defines a message to create an IBC client","properties":{"client_state":{"title":"light client state","$ref":"#/definitions/google.protobuf.Any"},"consensus_state":{"description":"consensus state associated with the client that corresponds to a given\nheight.","$ref":"#/definitions/google.protobuf.Any"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgCreateClientResponse":{"description":"MsgCreateClientResponse defines the Msg/CreateClient response type.","type":"object"},"ibc.core.client.v1.MsgIBCSoftwareUpgrade":{"type":"object","title":"MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of an IBC client using a v1 governance proposal","properties":{"plan":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"},"signer":{"type":"string","title":"signer address"},"upgraded_client_state":{"description":"An UpgradedClientState must be provided to perform an IBC breaking upgrade.\nThis will make the chain commit to the correct upgraded (self) client state\nbefore the upgrade occurs, so that connecting chains can verify that the\nnew upgraded client is valid by verifying a proof on the previous version\nof the chain. This will allow IBC connections to persist smoothly across\nplanned chain upgrades. Correspondingly, the UpgradedClientState field has been\ndeprecated in the Cosmos SDK to allow for this logic to exist solely in\nthe 02-client module.","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse":{"description":"MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response type.","type":"object"},"ibc.core.client.v1.MsgRecoverClient":{"description":"MsgRecoverClient defines the message used to recover a frozen or expired client.","type":"object","properties":{"signer":{"type":"string","title":"signer address"},"subject_client_id":{"type":"string","title":"the client identifier for the client to be updated if the proposal passes"},"substitute_client_id":{"type":"string","title":"the substitute client identifier for the client which will replace the subject\nclient"}}},"ibc.core.client.v1.MsgRecoverClientResponse":{"description":"MsgRecoverClientResponse defines the Msg/RecoverClient response type.","type":"object"},"ibc.core.client.v1.MsgSubmitMisbehaviour":{"description":"MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for\nlight client misbehaviour.\nThis message has been deprecated. Use MsgUpdateClient instead.","type":"object","properties":{"client_id":{"type":"string","title":"client unique identifier"},"misbehaviour":{"title":"misbehaviour used for freezing the light client","$ref":"#/definitions/google.protobuf.Any"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgSubmitMisbehaviourResponse":{"description":"MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response\ntype.","type":"object"},"ibc.core.client.v1.MsgUpdateClient":{"description":"MsgUpdateClient defines an sdk.Msg to update a IBC client state using\nthe given client message.","type":"object","properties":{"client_id":{"type":"string","title":"client unique identifier"},"client_message":{"title":"client message to update the light client","$ref":"#/definitions/google.protobuf.Any"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgUpdateClientResponse":{"description":"MsgUpdateClientResponse defines the Msg/UpdateClient response type.","type":"object"},"ibc.core.client.v1.MsgUpdateParams":{"description":"MsgUpdateParams defines the sdk.Msg type to update the client parameters.","type":"object","properties":{"params":{"description":"params defines the client parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.core.client.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the MsgUpdateParams response type.","type":"object"},"ibc.core.client.v1.MsgUpgradeClient":{"type":"object","title":"MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client\nstate","properties":{"client_id":{"type":"string","title":"client unique identifier"},"client_state":{"title":"upgraded client state","$ref":"#/definitions/google.protobuf.Any"},"consensus_state":{"title":"upgraded consensus state, only contains enough information to serve as a\nbasis of trust in update logic","$ref":"#/definitions/google.protobuf.Any"},"proof_upgrade_client":{"type":"string","format":"byte","title":"proof that old chain committed to new client"},"proof_upgrade_consensus_state":{"type":"string","format":"byte","title":"proof that old chain committed to new consensus state"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.client.v1.MsgUpgradeClientResponse":{"description":"MsgUpgradeClientResponse defines the Msg/UpgradeClient response type.","type":"object"},"ibc.core.client.v1.Params":{"description":"Params defines the set of IBC light client parameters.","type":"object","properties":{"allowed_clients":{"description":"allowed_clients defines the list of allowed client state types which can be created\nand interacted with. If a client type is removed from the allowed clients list, usage\nof this client will be disabled until it is added again to the list.","type":"array","items":{"type":"string"}}}},"ibc.core.client.v1.QueryClientParamsResponse":{"description":"QueryClientParamsResponse is the response type for the Query/ClientParams RPC\nmethod.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.core.client.v1.Params"}}},"ibc.core.client.v1.QueryClientStateResponse":{"description":"QueryClientStateResponse is the response type for the Query/ClientState RPC\nmethod. Besides the client state, it includes a proof and the height from\nwhich the proof was retrieved.","type":"object","properties":{"client_state":{"title":"client state associated with the request identifier","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.client.v1.QueryClientStatesResponse":{"description":"QueryClientStatesResponse is the response type for the Query/ClientStates RPC\nmethod.","type":"object","properties":{"client_states":{"description":"list of stored ClientStates of the chain.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.client.v1.IdentifiedClientState"}},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.client.v1.QueryClientStatusResponse":{"description":"QueryClientStatusResponse is the response type for the Query/ClientStatus RPC\nmethod. It returns the current status of the IBC client.","type":"object","properties":{"status":{"type":"string"}}},"ibc.core.client.v1.QueryConsensusStateHeightsResponse":{"type":"object","title":"QueryConsensusStateHeightsResponse is the response type for the\nQuery/ConsensusStateHeights RPC method","properties":{"consensus_state_heights":{"type":"array","title":"consensus state heights","items":{"type":"object","$ref":"#/definitions/ibc.core.client.v1.Height"}},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.client.v1.QueryConsensusStateResponse":{"type":"object","title":"QueryConsensusStateResponse is the response type for the Query/ConsensusState\nRPC method","properties":{"consensus_state":{"title":"consensus state associated with the client identifier at the given height","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.client.v1.QueryConsensusStatesResponse":{"type":"object","title":"QueryConsensusStatesResponse is the response type for the\nQuery/ConsensusStates RPC method","properties":{"consensus_states":{"type":"array","title":"consensus states associated with the identifier","items":{"type":"object","$ref":"#/definitions/ibc.core.client.v1.ConsensusStateWithHeight"}},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.client.v1.QueryUpgradedClientStateResponse":{"description":"QueryUpgradedClientStateResponse is the response type for the\nQuery/UpgradedClientState RPC method.","type":"object","properties":{"upgraded_client_state":{"title":"client state associated with the request identifier","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.QueryUpgradedConsensusStateResponse":{"description":"QueryUpgradedConsensusStateResponse is the response type for the\nQuery/UpgradedConsensusState RPC method.","type":"object","properties":{"upgraded_consensus_state":{"title":"Consensus state associated with the request identifier","$ref":"#/definitions/google.protobuf.Any"}}},"ibc.core.client.v1.QueryVerifyMembershipRequest":{"type":"object","title":"QueryVerifyMembershipRequest is the request type for the Query/VerifyMembership RPC method","properties":{"block_delay":{"type":"string","format":"uint64","title":"optional block delay"},"client_id":{"description":"client unique identifier.","type":"string"},"merkle_path":{"description":"the commitment key path.","$ref":"#/definitions/ibc.core.commitment.v1.MerklePath"},"proof":{"description":"the proof to be verified by the client.","type":"string","format":"byte"},"proof_height":{"description":"the height of the commitment root at which the proof is verified.","$ref":"#/definitions/ibc.core.client.v1.Height"},"time_delay":{"type":"string","format":"uint64","title":"optional time delay"},"value":{"description":"the value which is proven.","type":"string","format":"byte"}}},"ibc.core.client.v1.QueryVerifyMembershipResponse":{"type":"object","title":"QueryVerifyMembershipResponse is the response type for the Query/VerifyMembership RPC method","properties":{"success":{"description":"boolean indicating success or failure of proof verification.","type":"boolean"}}},"ibc.core.commitment.v1.MerklePath":{"type":"object","title":"MerklePath is the path used to verify commitment proofs, which can be an\narbitrary structured object (defined by a commitment type).\nMerklePath is represented from root-to-leaf","properties":{"key_path":{"type":"array","items":{"type":"string"}}}},"ibc.core.commitment.v1.MerklePrefix":{"type":"object","title":"MerklePrefix is merkle path prefixed to the key.\nThe constructed key from the Path and the key will be append(Path.KeyPath,\nappend(Path.KeyPrefix, key...))","properties":{"key_prefix":{"type":"string","format":"byte"}}},"ibc.core.connection.v1.ConnectionEnd":{"description":"ConnectionEnd defines a stateful object on a chain connected to another\nseparate one.\nNOTE: there must only be 2 defined ConnectionEnds to establish\na connection between two chains.","type":"object","properties":{"client_id":{"description":"client associated with this connection.","type":"string"},"counterparty":{"description":"counterparty chain associated with this connection.","$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"delay_period":{"description":"delay period that must pass before a consensus state can be used for\npacket-verification NOTE: delay period logic is only implemented by some\nclients.","type":"string","format":"uint64"},"state":{"description":"current state of the connection end.","$ref":"#/definitions/ibc.core.connection.v1.State"},"versions":{"description":"IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.Version"}}}},"ibc.core.connection.v1.Counterparty":{"description":"Counterparty defines the counterparty chain associated with a connection end.","type":"object","properties":{"client_id":{"description":"identifies the client on the counterparty chain associated with a given\nconnection.","type":"string"},"connection_id":{"description":"identifies the connection end on the counterparty chain associated with a\ngiven connection.","type":"string"},"prefix":{"description":"commitment merkle prefix of the counterparty chain.","$ref":"#/definitions/ibc.core.commitment.v1.MerklePrefix"}}},"ibc.core.connection.v1.IdentifiedConnection":{"description":"IdentifiedConnection defines a connection with additional connection\nidentifier field.","type":"object","properties":{"client_id":{"description":"client associated with this connection.","type":"string"},"counterparty":{"description":"counterparty chain associated with this connection.","$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"delay_period":{"description":"delay period associated with this connection.","type":"string","format":"uint64"},"id":{"description":"connection identifier.","type":"string"},"state":{"description":"current state of the connection end.","$ref":"#/definitions/ibc.core.connection.v1.State"},"versions":{"type":"array","title":"IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.Version"}}}},"ibc.core.connection.v1.MsgConnectionOpenAck":{"description":"MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to\nacknowledge the change of connection state to TRYOPEN on Chain B.","type":"object","properties":{"client_state":{"$ref":"#/definitions/google.protobuf.Any"},"connection_id":{"type":"string"},"consensus_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"counterparty_connection_id":{"type":"string"},"host_consensus_state_proof":{"type":"string","format":"byte","title":"optional proof data for host state machines that are unable to introspect their own consensus state"},"proof_client":{"type":"string","format":"byte","title":"proof of client state included in message"},"proof_consensus":{"type":"string","format":"byte","title":"proof of client consensus state"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_try":{"type":"string","format":"byte","title":"proof of the initialization the connection on Chain B: `UNITIALIZED -\u003e\nTRYOPEN`"},"signer":{"type":"string"},"version":{"$ref":"#/definitions/ibc.core.connection.v1.Version"}}},"ibc.core.connection.v1.MsgConnectionOpenAckResponse":{"description":"MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type.","type":"object"},"ibc.core.connection.v1.MsgConnectionOpenConfirm":{"description":"MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to\nacknowledge the change of connection state to OPEN on Chain A.","type":"object","properties":{"connection_id":{"type":"string"},"proof_ack":{"type":"string","format":"byte","title":"proof for the change of the connection state on Chain A: `INIT -\u003e OPEN`"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"signer":{"type":"string"}}},"ibc.core.connection.v1.MsgConnectionOpenConfirmResponse":{"description":"MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm\nresponse type.","type":"object"},"ibc.core.connection.v1.MsgConnectionOpenInit":{"description":"MsgConnectionOpenInit defines the msg sent by an account on Chain A to\ninitialize a connection with Chain B.","type":"object","properties":{"client_id":{"type":"string"},"counterparty":{"$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"delay_period":{"type":"string","format":"uint64"},"signer":{"type":"string"},"version":{"$ref":"#/definitions/ibc.core.connection.v1.Version"}}},"ibc.core.connection.v1.MsgConnectionOpenInitResponse":{"description":"MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response\ntype.","type":"object"},"ibc.core.connection.v1.MsgConnectionOpenTry":{"description":"MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a\nconnection on Chain B.","type":"object","properties":{"client_id":{"type":"string"},"client_state":{"$ref":"#/definitions/google.protobuf.Any"},"consensus_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"counterparty":{"$ref":"#/definitions/ibc.core.connection.v1.Counterparty"},"counterparty_versions":{"type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.Version"}},"delay_period":{"type":"string","format":"uint64"},"host_consensus_state_proof":{"type":"string","format":"byte","title":"optional proof data for host state machines that are unable to introspect their own consensus state"},"previous_connection_id":{"description":"Deprecated: this field is unused. Crossing hellos are no longer supported in core IBC.","type":"string"},"proof_client":{"type":"string","format":"byte","title":"proof of client state included in message"},"proof_consensus":{"type":"string","format":"byte","title":"proof of client consensus state"},"proof_height":{"$ref":"#/definitions/ibc.core.client.v1.Height"},"proof_init":{"type":"string","format":"byte","title":"proof of the initialization the connection on Chain A: `UNITIALIZED -\u003e\nINIT`"},"signer":{"type":"string"}}},"ibc.core.connection.v1.MsgConnectionOpenTryResponse":{"description":"MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type.","type":"object"},"ibc.core.connection.v1.MsgUpdateParams":{"description":"MsgUpdateParams defines the sdk.Msg type to update the connection parameters.","type":"object","properties":{"params":{"description":"params defines the connection parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/ibc.core.connection.v1.Params"},"signer":{"type":"string","title":"signer address"}}},"ibc.core.connection.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the MsgUpdateParams response type.","type":"object"},"ibc.core.connection.v1.Params":{"description":"Params defines the set of Connection parameters.","type":"object","properties":{"max_expected_time_per_block":{"description":"maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the\nlargest amount of time that the chain might reasonably take to produce the next block under normal operating\nconditions. A safe choice is 3-5x the expected time per block.","type":"string","format":"uint64"}}},"ibc.core.connection.v1.QueryClientConnectionsResponse":{"type":"object","title":"QueryClientConnectionsResponse is the response type for the\nQuery/ClientConnections RPC method","properties":{"connection_paths":{"description":"slice of all the connection paths associated with a client.","type":"array","items":{"type":"string"}},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was generated","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionClientStateResponse":{"type":"object","title":"QueryConnectionClientStateResponse is the response type for the\nQuery/ConnectionClientState RPC method","properties":{"identified_client_state":{"title":"client state associated with the channel","$ref":"#/definitions/ibc.core.client.v1.IdentifiedClientState"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionConsensusStateResponse":{"type":"object","title":"QueryConnectionConsensusStateResponse is the response type for the\nQuery/ConnectionConsensusState RPC method","properties":{"client_id":{"type":"string","title":"client ID associated with the consensus state"},"consensus_state":{"title":"consensus state associated with the channel","$ref":"#/definitions/google.protobuf.Any"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionParamsResponse":{"description":"QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/ibc.core.connection.v1.Params"}}},"ibc.core.connection.v1.QueryConnectionResponse":{"description":"QueryConnectionResponse is the response type for the Query/Connection RPC\nmethod. Besides the connection end, it includes a proof and the height from\nwhich the proof was retrieved.","type":"object","properties":{"connection":{"title":"connection associated with the request identifier","$ref":"#/definitions/ibc.core.connection.v1.ConnectionEnd"},"proof":{"type":"string","format":"byte","title":"merkle proof of existence"},"proof_height":{"title":"height at which the proof was retrieved","$ref":"#/definitions/ibc.core.client.v1.Height"}}},"ibc.core.connection.v1.QueryConnectionsResponse":{"description":"QueryConnectionsResponse is the response type for the Query/Connections RPC\nmethod.","type":"object","properties":{"connections":{"description":"list of stored connections of the chain.","type":"array","items":{"type":"object","$ref":"#/definitions/ibc.core.connection.v1.IdentifiedConnection"}},"height":{"title":"query block height","$ref":"#/definitions/ibc.core.client.v1.Height"},"pagination":{"title":"pagination response","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.core.connection.v1.State":{"description":"State defines if a connection is in one of the following states:\nINIT, TRYOPEN, OPEN or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A connection end has just started the opening handshake.\n - STATE_TRYOPEN: A connection end has acknowledged the handshake step on the counterparty\nchain.\n - STATE_OPEN: A connection end has completed the handshake.","type":"string","default":"STATE_UNINITIALIZED_UNSPECIFIED","enum":["STATE_UNINITIALIZED_UNSPECIFIED","STATE_INIT","STATE_TRYOPEN","STATE_OPEN"]},"ibc.core.connection.v1.Version":{"description":"Version defines the versioning scheme used to negotiate the IBC verison in\nthe connection handshake.","type":"object","properties":{"features":{"type":"array","title":"list of features compatible with the specified identifier","items":{"type":"string"}},"identifier":{"type":"string","title":"unique version identifier"}}},"ibc.lightclients.wasm.v1.MsgMigrateContract":{"description":"MsgMigrateContract defines the request type for the MigrateContract rpc.","type":"object","properties":{"checksum":{"type":"string","format":"byte","title":"checksum is the sha256 hash of the new wasm byte code for the contract"},"client_id":{"type":"string","title":"the client id of the contract"},"msg":{"type":"string","format":"byte","title":"the json encoded message to be passed to the contract on migration"},"signer":{"type":"string","title":"signer address"}}},"ibc.lightclients.wasm.v1.MsgMigrateContractResponse":{"type":"object","title":"MsgMigrateContractResponse defines the response type for the MigrateContract rpc"},"ibc.lightclients.wasm.v1.MsgRemoveChecksum":{"description":"MsgRemoveChecksum defines the request type for the MsgRemoveChecksum rpc.","type":"object","properties":{"checksum":{"type":"string","format":"byte","title":"checksum is the sha256 hash to be removed from the store"},"signer":{"type":"string","title":"signer address"}}},"ibc.lightclients.wasm.v1.MsgRemoveChecksumResponse":{"type":"object","title":"MsgStoreChecksumResponse defines the response type for the StoreCode rpc"},"ibc.lightclients.wasm.v1.MsgStoreCode":{"description":"MsgStoreCode defines the request type for the StoreCode rpc.","type":"object","properties":{"signer":{"type":"string","title":"signer address"},"wasm_byte_code":{"type":"string","format":"byte","title":"wasm byte code of light client contract. It can be raw or gzip compressed"}}},"ibc.lightclients.wasm.v1.MsgStoreCodeResponse":{"type":"object","title":"MsgStoreCodeResponse defines the response type for the StoreCode rpc","properties":{"checksum":{"type":"string","format":"byte","title":"checksum is the sha256 hash of the stored code"}}},"ibc.lightclients.wasm.v1.QueryChecksumsResponse":{"description":"QueryChecksumsResponse is the response type for the Query/Checksums RPC method.","type":"object","properties":{"checksums":{"description":"checksums is a list of the hex encoded checksums of all wasm codes stored.","type":"array","items":{"type":"string"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"ibc.lightclients.wasm.v1.QueryCodeResponse":{"description":"QueryCodeResponse is the response type for the Query/Code RPC method.","type":"object","properties":{"data":{"type":"string","format":"byte"}}},"tendermint.abci.CheckTxType":{"type":"string","default":"NEW","enum":["NEW","RECHECK"]},"tendermint.abci.CommitInfo":{"type":"object","properties":{"round":{"type":"integer","format":"int32"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.VoteInfo"}}}},"tendermint.abci.Event":{"description":"Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.EventAttribute"}},"type":{"type":"string"}}},"tendermint.abci.EventAttribute":{"description":"EventAttribute is a single key-value pair, associated with an event.","type":"object","properties":{"index":{"type":"boolean","title":"nondeterministic"},"key":{"type":"string"},"value":{"type":"string"}}},"tendermint.abci.ExecTxResult":{"description":"ExecTxResult contains results of executing one individual transaction.\n\n* Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","title":"nondeterministic","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ExtendedCommitInfo":{"description":"ExtendedCommitInfo is similar to CommitInfo except that it is only used in\nthe PrepareProposal request such that CometBFT can provide vote extensions\nto the application.","type":"object","properties":{"round":{"description":"The round at which the block proposer decided in the previous height.","type":"integer","format":"int32"},"votes":{"description":"List of validators' addresses in the last validator set with their voting\ninformation, including vote extensions.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExtendedVoteInfo"}}}},"tendermint.abci.ExtendedVoteInfo":{"type":"object","properties":{"block_id_flag":{"title":"block_id_flag indicates whether the validator voted for a block, nil, or did not vote at all","$ref":"#/definitions/tendermint.types.BlockIDFlag"},"extension_signature":{"type":"string","format":"byte","title":"Vote extension signature created by CometBFT"},"validator":{"description":"The validator that sent the vote.","$ref":"#/definitions/tendermint.abci.Validator"},"vote_extension":{"description":"Non-deterministic extension provided by the sending validator's application.","type":"string","format":"byte"}}},"tendermint.abci.Misbehavior":{"type":"object","properties":{"height":{"type":"string","format":"int64","title":"The height when the offense occurred"},"time":{"type":"string","format":"date-time","title":"The corresponding time where the offense occurred"},"total_voting_power":{"type":"string","format":"int64","title":"Total voting power of the validator set in case the ABCI application does\nnot store historical validators.\nhttps://github.com/tendermint/tendermint/issues/4581"},"type":{"$ref":"#/definitions/tendermint.abci.MisbehaviorType"},"validator":{"title":"The offending validator","$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.abci.MisbehaviorType":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","DUPLICATE_VOTE","LIGHT_CLIENT_ATTACK"]},"tendermint.abci.RequestApplySnapshotChunk":{"type":"object","title":"Applies a snapshot chunk","properties":{"chunk":{"type":"string","format":"byte"},"index":{"type":"integer","format":"int64"},"sender":{"type":"string"}}},"tendermint.abci.RequestCheckTx":{"type":"object","properties":{"tx":{"type":"string","format":"byte"},"type":{"$ref":"#/definitions/tendermint.abci.CheckTxType"}}},"tendermint.abci.RequestCommit":{"type":"object"},"tendermint.abci.RequestEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.RequestExtendVote":{"type":"object","title":"Extends a vote with application-injected data","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this vote may be referring to"},"height":{"type":"string","format":"int64","title":"the height of the extended vote"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time","title":"info of the block that this vote may be referring to"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFinalizeBlock":{"type":"object","properties":{"decided_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"hash":{"description":"hash is the merkle root hash of the fields of the decided block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"proposer_address is the address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFlush":{"type":"object"},"tendermint.abci.RequestInfo":{"type":"object","properties":{"abci_version":{"type":"string"},"block_version":{"type":"string","format":"uint64"},"p2p_version":{"type":"string","format":"uint64"},"version":{"type":"string"}}},"tendermint.abci.RequestInitChain":{"type":"object","properties":{"app_state_bytes":{"type":"string","format":"byte"},"chain_id":{"type":"string"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"initial_height":{"type":"string","format":"int64"},"time":{"type":"string","format":"date-time"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.RequestListSnapshots":{"type":"object","title":"lists available snapshots"},"tendermint.abci.RequestLoadSnapshotChunk":{"type":"object","title":"loads a snapshot chunk","properties":{"chunk":{"type":"integer","format":"int64"},"format":{"type":"integer","format":"int64"},"height":{"type":"string","format":"uint64"}}},"tendermint.abci.RequestOfferSnapshot":{"type":"object","title":"offers a snapshot to the application","properties":{"app_hash":{"type":"string","format":"byte","title":"light client-verified app hash for snapshot height"},"snapshot":{"title":"snapshot offered by peers","$ref":"#/definitions/tendermint.abci.Snapshot"}}},"tendermint.abci.RequestPrepareProposal":{"type":"object","properties":{"height":{"type":"string","format":"int64"},"local_last_commit":{"$ref":"#/definitions/tendermint.abci.ExtendedCommitInfo"},"max_tx_bytes":{"description":"the modified transactions cannot exceed this size.","type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"address of the public key of the validator proposing the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"description":"txs is an array of transactions that will be included in a block,\nsent to the app for possible modifications.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestProcessProposal":{"type":"object","properties":{"hash":{"description":"hash is the merkle root hash of the fields of the proposed block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestQuery":{"type":"object","properties":{"data":{"type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"path":{"type":"string"},"prove":{"type":"boolean"}}},"tendermint.abci.RequestVerifyVoteExtension":{"type":"object","title":"Verify the vote extension","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this received vote corresponds to"},"height":{"type":"string","format":"int64"},"validator_address":{"type":"string","format":"byte","title":"the validator that signed the vote extension"},"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseApplySnapshotChunk":{"type":"object","properties":{"refetch_chunks":{"type":"array","title":"Chunks to refetch and reapply","items":{"type":"integer","format":"int64"}},"reject_senders":{"type":"array","title":"Chunk senders to reject and ban","items":{"type":"string"}},"result":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk.Result"}}},"tendermint.abci.ResponseApplySnapshotChunk.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Chunk successfully accepted\n - ABORT: Abort all snapshot restoration\n - RETRY: Retry chunk (combine with refetch and reject)\n - RETRY_SNAPSHOT: Retry snapshot (combine with refetch and reject)\n - REJECT_SNAPSHOT: Reject this snapshot, try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","RETRY","RETRY_SNAPSHOT","REJECT_SNAPSHOT"]},"tendermint.abci.ResponseCheckTx":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ResponseCommit":{"type":"object","properties":{"retain_height":{"type":"string","format":"int64"}}},"tendermint.abci.ResponseEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.ResponseExtendVote":{"type":"object","properties":{"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseFinalizeBlock":{"type":"object","properties":{"app_hash":{"description":"app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was\ndeterministic. It is up to the application to decide which algorithm to use.","type":"string","format":"byte"},"consensus_param_updates":{"description":"updates to the consensus params, if any.","$ref":"#/definitions/tendermint.types.ConsensusParams"},"events":{"type":"array","title":"set of block events emmitted as part of executing the block","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"tx_results":{"type":"array","title":"the result of executing each transaction including the events\nthe particular transction emitted. This should match the order\nof the transactions delivered in the block itself","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExecTxResult"}},"validator_updates":{"description":"a list of updates to the validator set. These will reflect the validator set at current height + 2.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseFlush":{"type":"object"},"tendermint.abci.ResponseInfo":{"type":"object","properties":{"app_version":{"type":"string","format":"uint64"},"data":{"type":"string"},"last_block_app_hash":{"type":"string","format":"byte"},"last_block_height":{"type":"string","format":"int64"},"version":{"type":"string"}}},"tendermint.abci.ResponseInitChain":{"type":"object","properties":{"app_hash":{"type":"string","format":"byte"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseListSnapshots":{"type":"object","properties":{"snapshots":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Snapshot"}}}},"tendermint.abci.ResponseLoadSnapshotChunk":{"type":"object","properties":{"chunk":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseOfferSnapshot":{"type":"object","properties":{"result":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot.Result"}}},"tendermint.abci.ResponseOfferSnapshot.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Snapshot accepted, apply chunks\n - ABORT: Abort all snapshot restoration\n - REJECT: Reject this specific snapshot, try others\n - REJECT_FORMAT: Reject all snapshots of this format, try others\n - REJECT_SENDER: Reject all snapshots from the sender(s), try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","REJECT","REJECT_FORMAT","REJECT_SENDER"]},"tendermint.abci.ResponsePrepareProposal":{"type":"object","properties":{"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.ResponseProcessProposal":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal.ProposalStatus"}}},"tendermint.abci.ResponseProcessProposal.ProposalStatus":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.ResponseQuery":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"description":"bytes data = 2; // use \"value\" instead.\n\nnondeterministic","type":"string"},"proof_ops":{"$ref":"#/definitions/tendermint.crypto.ProofOps"},"value":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseVerifyVoteExtension":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus"}}},"tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus":{"description":" - REJECT: Rejecting the vote extension will reject the entire precommit by the sender.\nIncorrectly implementing this thus has liveness implications as it may affect\nCometBFT's ability to receive 2/3+ valid votes to finalize the block.\nHonest nodes should never be rejected.","type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.Snapshot":{"type":"object","properties":{"chunks":{"type":"integer","format":"int64","title":"Number of chunks in the snapshot"},"format":{"type":"integer","format":"int64","title":"The application-specific snapshot format"},"hash":{"type":"string","format":"byte","title":"Arbitrary snapshot hash, equal only if identical"},"height":{"type":"string","format":"uint64","title":"The height at which the snapshot was taken"},"metadata":{"type":"string","format":"byte","title":"Arbitrary application metadata"}}},"tendermint.abci.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte","title":"The first 20 bytes of SHA256(public key)"},"power":{"description":"The voting power","type":"string","format":"int64","title":"PubKey pub_key = 2 [(gogoproto.nullable)=false];"}}},"tendermint.abci.ValidatorUpdate":{"type":"object","properties":{"power":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"}}},"tendermint.abci.VoteInfo":{"type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"validator":{"$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.crypto.ProofOp":{"type":"object","title":"ProofOp defines an operation used for calculating Merkle root\nThe data could be arbitrary format, providing nessecary data\nfor example neighbouring node hash","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"tendermint.crypto.ProofOps":{"type":"object","title":"ProofOps is Merkle proof defined by the list of ProofOps","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.crypto.ProofOp"}}}},"tendermint.crypto.PublicKey":{"type":"object","title":"PublicKey defines the keys available for use with Validators","properties":{"ed25519":{"type":"string","format":"byte"},"secp256k1":{"type":"string","format":"byte"}}},"tendermint.p2p.DefaultNodeInfo":{"type":"object","properties":{"channels":{"type":"string","format":"byte"},"default_node_id":{"type":"string"},"listen_addr":{"type":"string"},"moniker":{"type":"string"},"network":{"type":"string"},"other":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfoOther"},"protocol_version":{"$ref":"#/definitions/tendermint.p2p.ProtocolVersion"},"version":{"type":"string"}}},"tendermint.p2p.DefaultNodeInfoOther":{"type":"object","properties":{"rpc_address":{"type":"string"},"tx_index":{"type":"string"}}},"tendermint.p2p.ProtocolVersion":{"type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"},"p2p":{"type":"string","format":"uint64"}}},"tendermint.types.ABCIParams":{"description":"ABCIParams configure functionality specific to the Application Blockchain Interface.","type":"object","properties":{"vote_extensions_enable_height":{"description":"vote_extensions_enable_height configures the first height during which\nvote extensions will be enabled. During this specified height, and for all\nsubsequent heights, precommit messages that do not contain valid extension data\nwill be considered invalid. Prior to this height, vote extensions will not\nbe used or accepted by validators on the network.\n\nOnce enabled, vote extensions will be created by the application in ExtendVote,\npassed to the application for validation in VerifyVoteExtension and given\nto the application to use when proposing a block during PrepareProposal.","type":"string","format":"int64"}}},"tendermint.types.Block":{"type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/tendermint.types.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"tendermint.types.BlockID":{"type":"object","title":"BlockID","properties":{"hash":{"type":"string","format":"byte"},"part_set_header":{"$ref":"#/definitions/tendermint.types.PartSetHeader"}}},"tendermint.types.BlockIDFlag":{"description":"- BLOCK_ID_FLAG_UNKNOWN: indicates an error condition\n - BLOCK_ID_FLAG_ABSENT: the vote was not received\n - BLOCK_ID_FLAG_COMMIT: voted for the block that received the majority\n - BLOCK_ID_FLAG_NIL: voted for nil","type":"string","title":"BlockIdFlag indicates which BlockID the signature is for","default":"BLOCK_ID_FLAG_UNKNOWN","enum":["BLOCK_ID_FLAG_UNKNOWN","BLOCK_ID_FLAG_ABSENT","BLOCK_ID_FLAG_COMMIT","BLOCK_ID_FLAG_NIL"]},"tendermint.types.BlockParams":{"description":"BlockParams contains limits on the block size.","type":"object","properties":{"max_bytes":{"type":"string","format":"int64","title":"Max block size, in bytes.\nNote: must be greater than 0"},"max_gas":{"type":"string","format":"int64","title":"Max gas per block.\nNote: must be greater or equal to -1"}}},"tendermint.types.Commit":{"description":"Commit contains the evidence that a block was committed by a set of validators.","type":"object","properties":{"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signatures":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.CommitSig"}}}},"tendermint.types.CommitSig":{"description":"CommitSig is a part of the Vote included in a Commit.","type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"signature":{"type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"validator_address":{"type":"string","format":"byte"}}},"tendermint.types.ConsensusParams":{"description":"ConsensusParams contains consensus critical parameters that determine the\nvalidity of blocks.","type":"object","properties":{"abci":{"$ref":"#/definitions/tendermint.types.ABCIParams"},"block":{"$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"},"version":{"$ref":"#/definitions/tendermint.types.VersionParams"}}},"tendermint.types.Data":{"type":"object","title":"Data contains the set of transactions included in the block","properties":{"txs":{"description":"Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.types.DuplicateVoteEvidence":{"description":"DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.","type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"},"validator_power":{"type":"string","format":"int64"},"vote_a":{"$ref":"#/definitions/tendermint.types.Vote"},"vote_b":{"$ref":"#/definitions/tendermint.types.Vote"}}},"tendermint.types.Evidence":{"type":"object","properties":{"duplicate_vote_evidence":{"$ref":"#/definitions/tendermint.types.DuplicateVoteEvidence"},"light_client_attack_evidence":{"$ref":"#/definitions/tendermint.types.LightClientAttackEvidence"}}},"tendermint.types.EvidenceList":{"type":"object","properties":{"evidence":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Evidence"}}}},"tendermint.types.EvidenceParams":{"description":"EvidenceParams determine how we handle evidence of malfeasance.","type":"object","properties":{"max_age_duration":{"description":"Max age of evidence, in time.\n\nIt should correspond with an app's \"unbonding period\" or other similar\nmechanism for handling [Nothing-At-Stake\nattacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).","type":"string"},"max_age_num_blocks":{"description":"Max age of evidence, in blocks.\n\nThe basic formula for calculating this is: MaxAgeDuration / {average block\ntime}.","type":"string","format":"int64"},"max_bytes":{"type":"string","format":"int64","title":"This sets the maximum size of total evidence in bytes that can be committed in a single block.\nand should fall comfortably under the max block bytes.\nDefault is 1048576 or 1MB"}}},"tendermint.types.Header":{"description":"Header defines the structure of a block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"type":"string","format":"byte","title":"original proposer of the block"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"tendermint.types.LightBlock":{"type":"object","properties":{"signed_header":{"$ref":"#/definitions/tendermint.types.SignedHeader"},"validator_set":{"$ref":"#/definitions/tendermint.types.ValidatorSet"}}},"tendermint.types.LightClientAttackEvidence":{"description":"LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.","type":"object","properties":{"byzantine_validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}},"common_height":{"type":"string","format":"int64"},"conflicting_block":{"$ref":"#/definitions/tendermint.types.LightBlock"},"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"}}},"tendermint.types.PartSetHeader":{"type":"object","title":"PartsetHeader","properties":{"hash":{"type":"string","format":"byte"},"total":{"type":"integer","format":"int64"}}},"tendermint.types.SignedHeader":{"type":"object","properties":{"commit":{"$ref":"#/definitions/tendermint.types.Commit"},"header":{"$ref":"#/definitions/tendermint.types.Header"}}},"tendermint.types.SignedMsgType":{"description":"SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals","type":"string","default":"SIGNED_MSG_TYPE_UNKNOWN","enum":["SIGNED_MSG_TYPE_UNKNOWN","SIGNED_MSG_TYPE_PREVOTE","SIGNED_MSG_TYPE_PRECOMMIT","SIGNED_MSG_TYPE_PROPOSAL"]},"tendermint.types.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"},"voting_power":{"type":"string","format":"int64"}}},"tendermint.types.ValidatorParams":{"description":"ValidatorParams restrict the public key types validators can use.\nNOTE: uses ABCI pubkey naming, not Amino names.","type":"object","properties":{"pub_key_types":{"type":"array","items":{"type":"string"}}}},"tendermint.types.ValidatorSet":{"type":"object","properties":{"proposer":{"$ref":"#/definitions/tendermint.types.Validator"},"total_voting_power":{"type":"string","format":"int64"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}}}},"tendermint.types.VersionParams":{"description":"VersionParams contains the ABCI application version.","type":"object","properties":{"app":{"type":"string","format":"uint64"}}},"tendermint.types.Vote":{"description":"Vote represents a prevote or precommit vote from validators for\nconsensus.","type":"object","properties":{"block_id":{"description":"zero if vote is nil.","$ref":"#/definitions/tendermint.types.BlockID"},"extension":{"description":"Vote extension provided by the application. Only valid for precommit\nmessages.","type":"string","format":"byte"},"extension_signature":{"description":"Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signature":{"description":"Vote signature by the validator if they participated in consensus for the\nassociated block.","type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"type":{"$ref":"#/definitions/tendermint.types.SignedMsgType"},"validator_address":{"type":"string","format":"byte"},"validator_index":{"type":"integer","format":"int32"}}},"tendermint.version.Consensus":{"description":"Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine.","type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"}}}},"tags":[{"name":"Query"},{"name":"Msg"},{"name":"Service"},{"name":"ReflectionService"},{"name":"ABCIListenerService"},{"name":"ABCI"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin21","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin22","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.Status"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.Status":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh new file mode 100755 index 00000000..ba0c994f --- /dev/null +++ b/gen_queries.sh @@ -0,0 +1 @@ +ignite scaffold query card cardId:uint --response card:CardWithImage diff --git a/proto/buf.lock b/proto/buf.lock index b72c8cc6..7a02b10a 100644 --- a/proto/buf.lock +++ b/proto/buf.lock @@ -1,11 +1,6 @@ # Generated by buf. DO NOT EDIT. version: v1 deps: - - remote: buf.build - owner: cometbft - repository: cometbft - commit: c0d3497e35d649538679874acdd86660 - digest: shake256:05d2fb9e6b6bf82385ac26b250afbba281a2ca79f51729291373d24ca676d743183bf70a921daae6feafd5f9917120e2548a7c477d9743f668bca27cc1e12fdf - remote: buf.build owner: cosmos repository: cosmos-proto @@ -24,8 +19,8 @@ deps: - remote: buf.build owner: cosmos repository: ibc - commit: f3cb7e9a10ab4cd5a402b9913f65e38d - digest: shake256:aaa8a2a46a3ab5cb4c54f9f14920bc472e5e5f93453fa250de49f15c76dce7f82faa5615afd341967797ead8052306db6b1e6327cb1d8d94345bf07a22f8aebd + commit: e587235c5f964e93ab25889de137dc1f + digest: shake256:21b86553b7f5e0517af826b1bb460d8e8d3a764211d9fa9f53c10c2dba238752b7271a6f892a5ae623c63a2faeeb7d4b8732570cec053e930822a31dc76ac973 - remote: buf.build owner: cosmos repository: ics23 @@ -34,8 +29,8 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: e93e34f48be043dab55be31b4b47f458 - digest: shake256:93dbe51c27606999eef918360df509485a4d272e79aaed6d0016940379a9b06d316fc5228b7b50cca94bb310f34c5fc5955ce7474f655f0d0a224c4121dda3c1 + commit: 546238c53f7340c6a2a6099fb863bc1b + digest: shake256:8d75c12f391e392b24c076d05117b47aeddb090add99c70247a8f4389b906a65f61a933c68e54ed8b73a050b967b6b712ba194348b67c3ab3ee26cc2cb25852c - remote: buf.build owner: protocolbuffers repository: wellknowntypes diff --git a/proto/cardchain/cardchain/card.proto b/proto/cardchain/cardchain/card.proto index 2688e4a3..23fff9c0 100644 --- a/proto/cardchain/cardchain/card.proto +++ b/proto/cardchain/cardchain/card.proto @@ -26,12 +26,6 @@ message Card { CardRarity rarity = 17; } -message CardWithImage { - Card card = 1; - string image = 2; - string hash = 3; -} - enum Status { scheme = 0; prototype = 1; diff --git a/proto/cardchain/cardchain/card_with_image.proto b/proto/cardchain/cardchain/card_with_image.proto new file mode 100644 index 00000000..8433d04f --- /dev/null +++ b/proto/cardchain/cardchain/card_with_image.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package cardchain.cardchain; + +import "gogoproto/gogo.proto"; +import "cardchain/cardchain/card.proto"; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message CardWithImage { + Card card = 1; + string image = 2; + string hash = 3; +} diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 013a39e7..95fb824c 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -8,6 +8,7 @@ import "google/api/annotations.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; import "cardchain/cardchain/params.proto"; import "cardchain/cardchain/product_details.proto"; +import "cardchain/cardchain/card_with_image.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; @@ -29,6 +30,12 @@ service Query { option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details"; } + + // Queries a list of Card items. + rpc Card (QueryCardRequest) returns (QueryCardResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; + + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -57,3 +64,11 @@ message QueryAllProductDetailsResponse { cosmos.base.query.v1beta1.PageResponse pagination = 2; } +message QueryCardRequest { + uint64 cardId = 1; +} + +message QueryCardResponse { + CardWithImage card = 1; +} + diff --git a/x/cardchain/keeper/query_card.go b/x/cardchain/keeper/query_card.go new file mode 100644 index 00000000..0bcd8360 --- /dev/null +++ b/x/cardchain/keeper/query_card.go @@ -0,0 +1,23 @@ +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) Card(goCtx context.Context, req *types.QueryCardRequest) (*types.QueryCardResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryCardResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 8b55c689..998ab287 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -28,6 +28,13 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Shows a product-details by id", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "id"}}, }, + { + RpcMethod: "Card", + Use: "card [card-id]", + Short: "Query card", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go index 7f1e6d76..a5012bdd 100644 --- a/x/cardchain/types/card.pb.go +++ b/x/cardchain/types/card.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. @@ -341,66 +342,6 @@ func (m *Card) GetRarity() CardRarity { return CardRarity_common } -type CardWithImage struct { - Card *Card `protobuf:"bytes,1,opt,name=card,proto3" json:"card,omitempty"` - Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` - Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` -} - -func (m *CardWithImage) Reset() { *m = CardWithImage{} } -func (m *CardWithImage) String() string { return proto.CompactTextString(m) } -func (*CardWithImage) ProtoMessage() {} -func (*CardWithImage) Descriptor() ([]byte, []int) { - return fileDescriptor_a360ffd2377ddc30, []int{1} -} -func (m *CardWithImage) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *CardWithImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_CardWithImage.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 *CardWithImage) XXX_Merge(src proto.Message) { - xxx_messageInfo_CardWithImage.Merge(m, src) -} -func (m *CardWithImage) XXX_Size() int { - return m.Size() -} -func (m *CardWithImage) XXX_DiscardUnknown() { - xxx_messageInfo_CardWithImage.DiscardUnknown(m) -} - -var xxx_messageInfo_CardWithImage proto.InternalMessageInfo - -func (m *CardWithImage) GetCard() *Card { - if m != nil { - return m.Card - } - return nil -} - -func (m *CardWithImage) GetImage() string { - if m != nil { - return m.Image - } - return "" -} - -func (m *CardWithImage) GetHash() string { - if m != nil { - return m.Hash - } - return "" -} - type TimeStamp struct { TimeStamp uint64 `protobuf:"varint,1,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` } @@ -409,7 +350,7 @@ 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} + return fileDescriptor_a360ffd2377ddc30, []int{1} } func (m *TimeStamp) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -451,64 +392,60 @@ func init() { proto.RegisterEnum("cardchain.cardchain.CardClass", CardClass_name, CardClass_value) proto.RegisterEnum("cardchain.cardchain.CardType", CardType_name, CardType_value) proto.RegisterType((*Card)(nil), "cardchain.cardchain.Card") - proto.RegisterType((*CardWithImage)(nil), "cardchain.cardchain.CardWithImage") proto.RegisterType((*TimeStamp)(nil), "cardchain.cardchain.TimeStamp") } func init() { proto.RegisterFile("cardchain/cardchain/card.proto", fileDescriptor_a360ffd2377ddc30) } var fileDescriptor_a360ffd2377ddc30 = []byte{ - // 785 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x54, 0x4d, 0x6f, 0xdb, 0x46, - 0x10, 0x15, 0x2d, 0x9a, 0x12, 0x47, 0x96, 0xbd, 0xde, 0x06, 0x05, 0x93, 0x16, 0x0a, 0x61, 0xf4, - 0xc0, 0x0a, 0x2d, 0x85, 0x24, 0x87, 0x16, 0x28, 0x50, 0x20, 0x51, 0x8b, 0xc2, 0x87, 0x02, 0x05, - 0x1d, 0xa4, 0x40, 0x2f, 0xc5, 0x6a, 0x39, 0x16, 0x17, 0x20, 0x77, 0x99, 0xdd, 0xa5, 0x12, 0xfd, - 0x8b, 0x5e, 0xfb, 0x8f, 0x72, 0xcc, 0xb1, 0xa7, 0xa2, 0xb0, 0xff, 0x43, 0xcf, 0xc5, 0x2e, 0xe5, - 0x8f, 0xc4, 0xee, 0x6d, 0xde, 0x9b, 0xb7, 0x33, 0x9c, 0x99, 0x27, 0xc1, 0x8c, 0x33, 0x5d, 0xf2, - 0x8a, 0x09, 0xb9, 0xf8, 0x30, 0xca, 0x5b, 0xad, 0xac, 0xa2, 0x9f, 0x5c, 0xb3, 0xf9, 0x75, 0xf4, - 0xe8, 0xc1, 0x5a, 0xad, 0x95, 0xcf, 0x2f, 0x5c, 0xd4, 0x4b, 0x1f, 0xcd, 0xb8, 0x32, 0x8d, 0x32, - 0x8b, 0x15, 0x33, 0xb8, 0xd8, 0x3c, 0x59, 0xa1, 0x65, 0x4f, 0x16, 0x5c, 0x09, 0xd9, 0xe7, 0x4f, - 0xfe, 0x0d, 0x21, 0x5c, 0x32, 0x5d, 0xd2, 0x07, 0xb0, 0xaf, 0xde, 0x48, 0xd4, 0x49, 0x90, 0x06, - 0x59, 0x5c, 0xf4, 0x80, 0x7e, 0x0a, 0x11, 0xd3, 0x56, 0x18, 0x9b, 0xec, 0x79, 0x7a, 0x87, 0x68, - 0x02, 0x23, 0xae, 0xa4, 0x45, 0x69, 0x93, 0x61, 0x1a, 0x64, 0x07, 0xc5, 0x15, 0xa4, 0x0f, 0x61, - 0x2c, 0x1a, 0xb6, 0xc6, 0xdf, 0x45, 0x99, 0x84, 0x69, 0x90, 0x85, 0xc5, 0xc8, 0xe3, 0xd3, 0xd2, - 0x3d, 0x3a, 0xef, 0xea, 0xfa, 0xb9, 0xb6, 0xc9, 0x7e, 0x1a, 0x64, 0xe3, 0xe2, 0x0a, 0xba, 0xe6, - 0x52, 0x59, 0x34, 0x49, 0xd4, 0x37, 0xf7, 0x80, 0x3e, 0x83, 0xc8, 0x58, 0x66, 0x3b, 0x93, 0x8c, - 0xd2, 0x20, 0x3b, 0x7c, 0xfa, 0x59, 0x7e, 0xcf, 0xdc, 0xf9, 0x99, 0x97, 0x14, 0x3b, 0x29, 0xfd, - 0x0e, 0xc6, 0x1b, 0x65, 0xf1, 0x17, 0xa5, 0xea, 0x64, 0x9c, 0x06, 0xd9, 0xe4, 0xe9, 0xc3, 0xbc, - 0xdf, 0x41, 0xee, 0x76, 0x90, 0xef, 0x76, 0x90, 0x2f, 0x95, 0x90, 0x2f, 0xc2, 0x77, 0x7f, 0x3f, - 0x1e, 0x14, 0xd7, 0x0f, 0xdc, 0xb8, 0x2e, 0xd6, 0x26, 0x39, 0x4c, 0x87, 0x6e, 0xdc, 0x1e, 0xd1, - 0x0c, 0x8e, 0xce, 0x99, 0xd0, 0x3f, 0x4a, 0xd5, 0xad, 0xab, 0x57, 0xfe, 0x4b, 0x63, 0x3f, 0xdb, - 0xc7, 0x34, 0x9d, 0x03, 0x51, 0x1b, 0xd4, 0xad, 0x7a, 0x83, 0x1a, 0xcb, 0x5e, 0x0a, 0x5e, 0x7a, - 0x87, 0xa7, 0x5f, 0xc1, 0x71, 0x27, 0xcb, 0x8f, 0xc4, 0x13, 0x2f, 0xbe, 0x9b, 0xa0, 0x39, 0x50, - 0x21, 0x59, 0xdb, 0x6a, 0xd5, 0x6a, 0xc1, 0x2c, 0xf6, 0xf2, 0x03, 0x2f, 0xbf, 0x27, 0x43, 0x3f, - 0x87, 0x58, 0xa2, 0x3e, 0xaf, 0x71, 0x83, 0x75, 0x32, 0x4d, 0x83, 0x6c, 0x58, 0xdc, 0x10, 0xf4, - 0x0b, 0x98, 0xae, 0x58, 0xcd, 0x24, 0xc7, 0xe7, 0x92, 0x57, 0x4a, 0x27, 0x47, 0xfe, 0x22, 0x1f, - 0x92, 0x34, 0x85, 0x89, 0xb1, 0x4c, 0x5b, 0xd4, 0xce, 0x23, 0x09, 0xf1, 0x9a, 0xdb, 0x14, 0xfd, - 0x06, 0x22, 0xcd, 0xb4, 0xb0, 0xdb, 0xe4, 0xd8, 0xdf, 0xe8, 0xf1, 0xbd, 0x37, 0x72, 0xd2, 0xc2, - 0xcb, 0x8a, 0x9d, 0xfc, 0xa4, 0x82, 0xa9, 0x63, 0x7f, 0x15, 0xb6, 0x3a, 0x75, 0xfe, 0xa0, 0x5f, - 0x43, 0xe8, 0x1e, 0x78, 0xff, 0xf9, 0xa3, 0xfd, 0x5f, 0x1d, 0x2f, 0x73, 0x96, 0xf1, 0xbe, 0xda, - 0x19, 0xb3, 0x07, 0x94, 0x42, 0x58, 0x31, 0x53, 0x79, 0x53, 0xc6, 0x85, 0x8f, 0x4f, 0xbe, 0x84, - 0xf8, 0xa5, 0x68, 0xf0, 0xcc, 0xb2, 0xa6, 0x75, 0x5b, 0xb1, 0x57, 0xc0, 0xb7, 0x0a, 0x8b, 0x1b, - 0x62, 0xfe, 0x67, 0x00, 0x51, 0xef, 0x27, 0x0a, 0x10, 0x19, 0x5e, 0x61, 0x83, 0x64, 0x40, 0xa7, - 0x10, 0xfb, 0x5f, 0x8b, 0xdd, 0xb6, 0x48, 0x02, 0x1a, 0xc3, 0xbe, 0xd5, 0x82, 0xd5, 0x64, 0xcf, - 0x67, 0x50, 0x37, 0x4c, 0xa2, 0xb4, 0x64, 0xe8, 0xa0, 0xe9, 0x4c, 0x8b, 0xb2, 0xc4, 0x92, 0x84, - 0xae, 0xc6, 0x8a, 0x49, 0x89, 0x25, 0xd9, 0xa7, 0x87, 0x00, 0x7d, 0x7c, 0xa6, 0x94, 0x24, 0x11, - 0xa5, 0x70, 0xd8, 0xe3, 0x57, 0xa8, 0xb7, 0x9e, 0x1b, 0xd1, 0x31, 0x84, 0x52, 0x49, 0x24, 0x63, - 0x7a, 0x0c, 0x53, 0x56, 0x6e, 0x50, 0xda, 0x4e, 0xe3, 0xa9, 0xc5, 0x86, 0xc4, 0xf3, 0x9f, 0x01, - 0x6e, 0xd6, 0xe8, 0x4a, 0x73, 0xd5, 0x34, 0x4a, 0x92, 0x01, 0x3d, 0x80, 0x71, 0x27, 0x77, 0x28, - 0x70, 0x45, 0x34, 0xd3, 0x48, 0xf6, 0xe8, 0x11, 0x4c, 0xf0, 0x2d, 0xc7, 0xd6, 0x0a, 0x25, 0x59, - 0x4d, 0x86, 0xee, 0x51, 0x27, 0xc5, 0xeb, 0x0e, 0x49, 0x38, 0x5f, 0x42, 0xec, 0xca, 0x2d, 0x6b, - 0x66, 0xfc, 0xb0, 0x92, 0xb9, 0x5e, 0x64, 0x40, 0x27, 0x30, 0xe2, 0x5d, 0xed, 0x41, 0xe0, 0x06, - 0x6a, 0xb6, 0xc6, 0x0a, 0x2e, 0x4c, 0x43, 0xf6, 0xdc, 0x10, 0x16, 0x79, 0x25, 0x55, 0xad, 0xd6, - 0x5b, 0x32, 0x9c, 0x7f, 0x0f, 0x63, 0x57, 0xe4, 0xe5, 0xb6, 0x45, 0xb7, 0x95, 0xb6, 0x66, 0xdc, - 0x95, 0x00, 0x88, 0x18, 0x77, 0x5d, 0x49, 0xe0, 0x62, 0x94, 0x56, 0xd8, 0x6d, 0xff, 0x41, 0x15, - 0xb2, 0xf2, 0x75, 0xe7, 0xfd, 0x43, 0x86, 0x2f, 0x8a, 0x77, 0x17, 0xb3, 0xe0, 0xfd, 0xc5, 0x2c, - 0xf8, 0xe7, 0x62, 0x16, 0xfc, 0x71, 0x39, 0x1b, 0xbc, 0xbf, 0x9c, 0x0d, 0xfe, 0xba, 0x9c, 0x0d, - 0x7e, 0xfb, 0x76, 0x2d, 0x6c, 0xd5, 0xad, 0x72, 0xae, 0x9a, 0xc5, 0x0f, 0xc8, 0x51, 0x5a, 0xcd, - 0x6a, 0xd7, 0xeb, 0x27, 0xd6, 0xe0, 0xad, 0x7f, 0xc5, 0xb7, 0xb7, 0x62, 0x77, 0x1e, 0xb3, 0x8a, - 0xfc, 0xa9, 0x9e, 0xfd, 0x17, 0x00, 0x00, 0xff, 0xff, 0x01, 0xfd, 0x47, 0x47, 0x45, 0x05, 0x00, - 0x00, + // 741 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x54, 0x4d, 0x8f, 0xdb, 0x36, + 0x10, 0x35, 0xd7, 0x5a, 0xd9, 0x1a, 0xef, 0x07, 0x97, 0x0d, 0x0a, 0x25, 0x2d, 0x14, 0x21, 0xe8, + 0x41, 0x35, 0x0a, 0x19, 0x49, 0x0e, 0x2d, 0x50, 0xa0, 0x40, 0xb2, 0x2d, 0x8a, 0x1c, 0x0a, 0x14, + 0xda, 0x20, 0x87, 0x5e, 0x0a, 0x9a, 0x9a, 0xb5, 0x09, 0x48, 0xa4, 0x42, 0x52, 0x4e, 0xfc, 0x2f, + 0x7a, 0xed, 0x3f, 0xca, 0x31, 0xc7, 0x9e, 0x8a, 0x62, 0xf7, 0x3f, 0xf4, 0x1c, 0x90, 0xf2, 0x7e, + 0x24, 0xd9, 0xdb, 0xbc, 0x37, 0x8f, 0x33, 0x7c, 0x33, 0x04, 0x21, 0x13, 0xdc, 0xd4, 0x62, 0xcd, + 0xa5, 0x5a, 0x7c, 0x1c, 0x95, 0x9d, 0xd1, 0x4e, 0xb3, 0x2f, 0xae, 0xd9, 0xf2, 0x3a, 0x7a, 0x70, + 0x6f, 0xa5, 0x57, 0x3a, 0xe4, 0x17, 0x3e, 0x1a, 0xa4, 0x0f, 0x32, 0xa1, 0x6d, 0xab, 0xed, 0x62, + 0xc9, 0x2d, 0x2e, 0x36, 0x8f, 0x97, 0xe8, 0xf8, 0xe3, 0x85, 0xd0, 0x52, 0x0d, 0xf9, 0x47, 0xff, + 0x47, 0x10, 0x9d, 0x72, 0x53, 0xb3, 0x7b, 0xb0, 0xaf, 0xdf, 0x28, 0x34, 0x29, 0xc9, 0x49, 0x91, + 0x54, 0x03, 0x60, 0x5f, 0x42, 0xcc, 0x8d, 0x93, 0xd6, 0xa5, 0x7b, 0x81, 0xde, 0x21, 0x96, 0xc2, + 0x44, 0x68, 0xe5, 0x50, 0xb9, 0x74, 0x9c, 0x93, 0xe2, 0xa0, 0xba, 0x82, 0xec, 0x3e, 0x4c, 0x65, + 0xcb, 0x57, 0xf8, 0xa7, 0xac, 0xd3, 0x28, 0x27, 0x45, 0x54, 0x4d, 0x02, 0x7e, 0x51, 0xfb, 0x43, + 0xe7, 0x7d, 0xd3, 0x3c, 0x33, 0x2e, 0xdd, 0xcf, 0x49, 0x31, 0xad, 0xae, 0xa0, 0x6f, 0xae, 0xb4, + 0x43, 0x9b, 0xc6, 0x43, 0xf3, 0x00, 0xd8, 0x53, 0x88, 0xad, 0xe3, 0xae, 0xb7, 0xe9, 0x24, 0x27, + 0xc5, 0xd1, 0x93, 0xaf, 0xca, 0x3b, 0x7c, 0x97, 0x67, 0x41, 0x52, 0xed, 0xa4, 0xec, 0x47, 0x98, + 0x6e, 0xb4, 0xc3, 0xdf, 0xb5, 0x6e, 0xd2, 0x69, 0x4e, 0x8a, 0xd9, 0x93, 0xfb, 0xe5, 0x30, 0x83, + 0xd2, 0xcf, 0xa0, 0xdc, 0xcd, 0xa0, 0x3c, 0xd5, 0x52, 0x3d, 0x8f, 0xde, 0xfd, 0xfb, 0x70, 0x54, + 0x5d, 0x1f, 0xf0, 0x76, 0x7d, 0x6c, 0x6c, 0x7a, 0x94, 0x8f, 0xbd, 0xdd, 0x01, 0xb1, 0x02, 0x8e, + 0xcf, 0xb9, 0x34, 0xbf, 0x28, 0xdd, 0xaf, 0xd6, 0xaf, 0xc2, 0x4d, 0x93, 0xe0, 0xed, 0x53, 0x9a, + 0xcd, 0x81, 0xea, 0x0d, 0x9a, 0x4e, 0xbf, 0x41, 0x83, 0xf5, 0x20, 0x85, 0x20, 0xfd, 0x8c, 0x67, + 0xdf, 0xc1, 0x49, 0xaf, 0xea, 0x4f, 0xc4, 0xb3, 0x20, 0xfe, 0x3c, 0xc1, 0x4a, 0x60, 0x52, 0xf1, + 0xae, 0x33, 0xba, 0x33, 0x92, 0x3b, 0x1c, 0xe4, 0x07, 0x41, 0x7e, 0x47, 0x86, 0x7d, 0x0d, 0x89, + 0x42, 0x73, 0xde, 0xe0, 0x06, 0x9b, 0xf4, 0x30, 0x27, 0xc5, 0xb8, 0xba, 0x21, 0xd8, 0x37, 0x70, + 0xb8, 0xe4, 0x0d, 0x57, 0x02, 0x9f, 0x29, 0xb1, 0xd6, 0x26, 0x3d, 0x0e, 0x1b, 0xf9, 0x98, 0x64, + 0x39, 0xcc, 0xac, 0xe3, 0xc6, 0xa1, 0xf1, 0x6f, 0x24, 0xa5, 0x41, 0x73, 0x9b, 0x62, 0xdf, 0x43, + 0x6c, 0xb8, 0x91, 0x6e, 0x9b, 0x9e, 0x84, 0x1d, 0x3d, 0xbc, 0x73, 0x47, 0x5e, 0x5a, 0x05, 0x59, + 0xb5, 0x93, 0x3f, 0xfa, 0x16, 0x92, 0x97, 0xb2, 0xc5, 0x33, 0xc7, 0xdb, 0xce, 0xdf, 0xd5, 0x5d, + 0x81, 0xf0, 0x00, 0xa3, 0xea, 0x86, 0x98, 0xff, 0x4d, 0x20, 0x1e, 0xb6, 0xcc, 0x00, 0x62, 0x2b, + 0xd6, 0xd8, 0x22, 0x1d, 0xb1, 0x43, 0x48, 0xc2, 0x1b, 0x76, 0xdb, 0x0e, 0x29, 0x61, 0x09, 0xec, + 0x3b, 0x23, 0x79, 0x43, 0xf7, 0x42, 0x06, 0x4d, 0xcb, 0x15, 0x2a, 0x47, 0xc7, 0x1e, 0xda, 0xde, + 0x76, 0xa8, 0x6a, 0xac, 0x69, 0xe4, 0x6b, 0x2c, 0xb9, 0x52, 0x58, 0xd3, 0x7d, 0x76, 0x04, 0x30, + 0xc4, 0x67, 0x5a, 0x2b, 0x1a, 0x33, 0x06, 0x47, 0x03, 0x7e, 0x85, 0x66, 0x1b, 0xb8, 0x09, 0x9b, + 0x42, 0xa4, 0xb4, 0x42, 0x3a, 0x65, 0x27, 0x70, 0xc8, 0xeb, 0x0d, 0x2a, 0xd7, 0x1b, 0x7c, 0xe1, + 0xb0, 0xa5, 0xc9, 0xfc, 0x37, 0x80, 0x1b, 0x73, 0xbe, 0xb4, 0xd0, 0x6d, 0xab, 0x15, 0x1d, 0xb1, + 0x03, 0x98, 0xf6, 0x6a, 0x87, 0x88, 0x2f, 0x62, 0xb8, 0x41, 0xba, 0xc7, 0x8e, 0x61, 0x86, 0x6f, + 0x05, 0x76, 0x4e, 0x6a, 0xc5, 0x1b, 0x3a, 0xf6, 0x87, 0x7a, 0x25, 0x5f, 0xf7, 0x48, 0xa3, 0xf9, + 0x29, 0x24, 0xbe, 0xdc, 0x69, 0xc3, 0x6d, 0x30, 0xab, 0xb8, 0xef, 0x45, 0x47, 0x6c, 0x06, 0x13, + 0xd1, 0x37, 0x01, 0x10, 0x6f, 0xa8, 0xdd, 0x5a, 0x27, 0x85, 0xb4, 0x2d, 0xdd, 0xf3, 0x26, 0x1c, + 0x8a, 0xb5, 0xd2, 0x8d, 0x5e, 0x6d, 0xe9, 0x78, 0xfe, 0x13, 0x4c, 0x7d, 0x91, 0x97, 0xdb, 0x0e, + 0xfd, 0x54, 0xba, 0x86, 0x0b, 0x5f, 0x02, 0x20, 0xe6, 0xc2, 0x77, 0xa5, 0xc4, 0xc7, 0xa8, 0x9c, + 0x74, 0xdb, 0xe1, 0x42, 0x6b, 0xe4, 0xf5, 0xeb, 0x3e, 0x6c, 0x95, 0x8e, 0x9f, 0x57, 0xef, 0x2e, + 0x32, 0xf2, 0xfe, 0x22, 0x23, 0xff, 0x5d, 0x64, 0xe4, 0xaf, 0xcb, 0x6c, 0xf4, 0xfe, 0x32, 0x1b, + 0xfd, 0x73, 0x99, 0x8d, 0xfe, 0xf8, 0x61, 0x25, 0xdd, 0xba, 0x5f, 0x96, 0x42, 0xb7, 0x8b, 0x9f, + 0x51, 0xa0, 0x72, 0x86, 0x37, 0xbe, 0xd7, 0xaf, 0xbc, 0xc5, 0x5b, 0x7f, 0xd5, 0xdb, 0x5b, 0xb1, + 0x5f, 0x8f, 0x5d, 0xc6, 0x61, 0x55, 0x4f, 0x3f, 0x04, 0x00, 0x00, 0xff, 0xff, 0x59, 0x6e, 0x4f, + 0xc4, 0xdb, 0x04, 0x00, 0x00, } func (m *Card) Marshal() (dAtA []byte, err error) { @@ -655,55 +592,6 @@ func (m *Card) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *CardWithImage) 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 *CardWithImage) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *CardWithImage) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - 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] = 0x1a - } - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintCard(dAtA, i, uint64(len(m.Image))) - i-- - dAtA[i] = 0x12 - } - if m.Card != nil { - { - size, err := m.Card.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintCard(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - func (m *TimeStamp) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -809,27 +697,6 @@ func (m *Card) Size() (n int) { return n } -func (m *CardWithImage) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Card != nil { - l = m.Card.Size() - n += 1 + l + sovCard(uint64(l)) - } - l = len(m.Image) - if l > 0 { - n += 1 + l + sovCard(uint64(l)) - } - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovCard(uint64(l)) - } - return n -} - func (m *TimeStamp) Size() (n int) { if m == nil { return 0 @@ -1305,156 +1172,6 @@ func (m *Card) Unmarshal(dAtA []byte) error { } return nil } -func (m *CardWithImage) 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: CardWithImage: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CardWithImage: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCard - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthCard - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthCard - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Card == nil { - m.Card = &Card{} - } - if err := m.Card.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Image", 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.Image = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - 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 - 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 diff --git a/x/cardchain/types/card_with_image.pb.go b/x/cardchain/types/card_with_image.pb.go new file mode 100644 index 00000000..cccc278d --- /dev/null +++ b/x/cardchain/types/card_with_image.pb.go @@ -0,0 +1,433 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/card_with_image.proto + +package types + +import ( + fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" +) + +// 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 CardWithImage struct { + Card *Card `protobuf:"bytes,1,opt,name=card,proto3" json:"card,omitempty"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` + Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` +} + +func (m *CardWithImage) Reset() { *m = CardWithImage{} } +func (m *CardWithImage) String() string { return proto.CompactTextString(m) } +func (*CardWithImage) ProtoMessage() {} +func (*CardWithImage) Descriptor() ([]byte, []int) { + return fileDescriptor_ce46ddf1ce794b2c, []int{0} +} +func (m *CardWithImage) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CardWithImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CardWithImage.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 *CardWithImage) XXX_Merge(src proto.Message) { + xxx_messageInfo_CardWithImage.Merge(m, src) +} +func (m *CardWithImage) XXX_Size() int { + return m.Size() +} +func (m *CardWithImage) XXX_DiscardUnknown() { + xxx_messageInfo_CardWithImage.DiscardUnknown(m) +} + +var xxx_messageInfo_CardWithImage proto.InternalMessageInfo + +func (m *CardWithImage) GetCard() *Card { + if m != nil { + return m.Card + } + return nil +} + +func (m *CardWithImage) GetImage() string { + if m != nil { + return m.Image + } + return "" +} + +func (m *CardWithImage) GetHash() string { + if m != nil { + return m.Hash + } + return "" +} + +func init() { + proto.RegisterType((*CardWithImage)(nil), "cardchain.cardchain.CardWithImage") +} + +func init() { + proto.RegisterFile("cardchain/cardchain/card_with_image.proto", fileDescriptor_ce46ddf1ce794b2c) +} + +var fileDescriptor_ce46ddf1ce794b2c = []byte{ + // 219 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4c, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0x65, 0xc5, 0x97, 0x67, 0x96, 0x64, 0xc4, 0x67, 0xe6, + 0x26, 0xa6, 0xa7, 0xea, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0x09, 0xc3, 0x15, 0xe8, 0xc1, 0x59, + 0x52, 0x22, 0xe9, 0xf9, 0xe9, 0xf9, 0x60, 0x79, 0x7d, 0x10, 0x0b, 0xa2, 0x54, 0x4a, 0x0e, 0x97, + 0xa9, 0x10, 0x79, 0xa5, 0x0c, 0x2e, 0x5e, 0xe7, 0xc4, 0xa2, 0x94, 0xf0, 0xcc, 0x92, 0x0c, 0x4f, + 0x90, 0x0d, 0x42, 0xba, 0x5c, 0x2c, 0x20, 0x69, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x6e, 0x23, 0x49, + 0x3d, 0x2c, 0x56, 0xe9, 0x81, 0x74, 0x04, 0x81, 0x95, 0x09, 0x89, 0x70, 0xb1, 0x82, 0x5d, 0x26, + 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0x19, 0x04, 0xe1, 0x08, 0x09, 0x71, 0xb1, 0x64, 0x24, 0x16, 0x67, + 0x48, 0x30, 0x83, 0x05, 0xc1, 0x6c, 0xa7, 0xa0, 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, 0x48, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x77, 0x49, + 0x4d, 0x4e, 0xcd, 0x2b, 0x29, 0x4a, 0xcc, 0x01, 0xd9, 0xe1, 0x9e, 0x98, 0x9b, 0x8a, 0xe4, 0xec, + 0x0a, 0x24, 0x76, 0x49, 0x65, 0x41, 0x6a, 0x71, 0x12, 0x1b, 0xd8, 0x13, 0xc6, 0x80, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xa0, 0x4d, 0xa9, 0x97, 0x3c, 0x01, 0x00, 0x00, +} + +func (m *CardWithImage) 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 *CardWithImage) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *CardWithImage) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Hash) > 0 { + i -= len(m.Hash) + copy(dAtA[i:], m.Hash) + i = encodeVarintCardWithImage(dAtA, i, uint64(len(m.Hash))) + i-- + dAtA[i] = 0x1a + } + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintCardWithImage(dAtA, i, uint64(len(m.Image))) + i-- + dAtA[i] = 0x12 + } + if m.Card != nil { + { + size, err := m.Card.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCardWithImage(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintCardWithImage(dAtA []byte, offset int, v uint64) int { + offset -= sovCardWithImage(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *CardWithImage) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Card != nil { + l = m.Card.Size() + n += 1 + l + sovCardWithImage(uint64(l)) + } + l = len(m.Image) + if l > 0 { + n += 1 + l + sovCardWithImage(uint64(l)) + } + l = len(m.Hash) + if l > 0 { + n += 1 + l + sovCardWithImage(uint64(l)) + } + return n +} + +func sovCardWithImage(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozCardWithImage(x uint64) (n int) { + return sovCardWithImage(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *CardWithImage) 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 ErrIntOverflowCardWithImage + } + 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: CardWithImage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CardWithImage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCardWithImage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCardWithImage + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCardWithImage + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Card == nil { + m.Card = &Card{} + } + if err := m.Card.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCardWithImage + } + 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 ErrInvalidLengthCardWithImage + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCardWithImage + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Image = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + 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 ErrIntOverflowCardWithImage + } + 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 ErrInvalidLengthCardWithImage + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCardWithImage + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCardWithImage(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCardWithImage + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipCardWithImage(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, ErrIntOverflowCardWithImage + } + 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, ErrIntOverflowCardWithImage + } + 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, ErrIntOverflowCardWithImage + } + 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, ErrInvalidLengthCardWithImage + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupCardWithImage + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthCardWithImage + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthCardWithImage = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowCardWithImage = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupCardWithImage = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/council.pb.go b/x/cardchain/types/council.pb.go index a6f6f6d7..1bbdfc01 100644 --- a/x/cardchain/types/council.pb.go +++ b/x/cardchain/types/council.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/encounter.pb.go b/x/cardchain/types/encounter.pb.go index 5c6f1b54..0f2e0d18 100644 --- a/x/cardchain/types/encounter.pb.go +++ b/x/cardchain/types/encounter.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 4306f207..636f7c25 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/image.pb.go b/x/cardchain/types/image.pb.go index a4fe2647..a2a036be 100644 --- a/x/cardchain/types/image.pb.go +++ b/x/cardchain/types/image.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 7ac97cf8..660c57d2 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index d9081e8f..2874c6ce 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,13 +5,14 @@ package types import ( fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" - io "io" - math "math" - math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/product_details.pb.go b/x/cardchain/types/product_details.pb.go index 11fdabcb..6f38ca9c 100644 --- a/x/cardchain/types/product_details.pb.go +++ b/x/cardchain/types/product_details.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index c1e3686e..c57557c2 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -15,9 +19,6 @@ import ( 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. @@ -298,6 +299,94 @@ func (m *QueryAllProductDetailsResponse) GetPagination() *query.PageResponse { return nil } +type QueryCardRequest struct { + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (m *QueryCardRequest) Reset() { *m = QueryCardRequest{} } +func (m *QueryCardRequest) String() string { return proto.CompactTextString(m) } +func (*QueryCardRequest) ProtoMessage() {} +func (*QueryCardRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{6} +} +func (m *QueryCardRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCardRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCardRequest.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 *QueryCardRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCardRequest.Merge(m, src) +} +func (m *QueryCardRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryCardRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCardRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCardRequest proto.InternalMessageInfo + +func (m *QueryCardRequest) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +type QueryCardResponse struct { + Card *CardWithImage `protobuf:"bytes,1,opt,name=card,proto3" json:"card,omitempty"` +} + +func (m *QueryCardResponse) Reset() { *m = QueryCardResponse{} } +func (m *QueryCardResponse) String() string { return proto.CompactTextString(m) } +func (*QueryCardResponse) ProtoMessage() {} +func (*QueryCardResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{7} +} +func (m *QueryCardResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCardResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCardResponse.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 *QueryCardResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCardResponse.Merge(m, src) +} +func (m *QueryCardResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryCardResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCardResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCardResponse proto.InternalMessageInfo + +func (m *QueryCardResponse) GetCard() *CardWithImage { + if m != nil { + return m.Card + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -305,46 +394,53 @@ func init() { proto.RegisterType((*QueryGetProductDetailsResponse)(nil), "cardchain.cardchain.QueryGetProductDetailsResponse") proto.RegisterType((*QueryAllProductDetailsRequest)(nil), "cardchain.cardchain.QueryAllProductDetailsRequest") proto.RegisterType((*QueryAllProductDetailsResponse)(nil), "cardchain.cardchain.QueryAllProductDetailsResponse") + proto.RegisterType((*QueryCardRequest)(nil), "cardchain.cardchain.QueryCardRequest") + proto.RegisterType((*QueryCardResponse)(nil), "cardchain.cardchain.QueryCardResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 531 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0x41, 0x6b, 0x14, 0x31, - 0x14, 0xc7, 0x37, 0xeb, 0xba, 0x60, 0x84, 0x42, 0xd3, 0x1e, 0x64, 0xd5, 0x69, 0x19, 0xc1, 0xd6, - 0x82, 0x09, 0xdd, 0xa2, 0x14, 0xc4, 0x42, 0xb7, 0xc5, 0xbd, 0x6e, 0x07, 0xbc, 0x78, 0x91, 0xec, - 0x4c, 0x98, 0x06, 0x66, 0x92, 0xe9, 0x24, 0x2b, 0x16, 0xf1, 0xe2, 0x27, 0x10, 0xbd, 0xfa, 0x01, - 0x3c, 0xfa, 0x01, 0x8a, 0xe7, 0x1e, 0x0b, 0x5e, 0x3c, 0x89, 0xec, 0x0a, 0x7e, 0x0d, 0xd9, 0x24, - 0xb6, 0x3b, 0x75, 0x66, 0xaa, 0xf6, 0xb2, 0x3c, 0x32, 0xef, 0xbd, 0xff, 0xef, 0x9f, 0xf7, 0xb2, - 0x70, 0x29, 0xa4, 0x79, 0x14, 0xee, 0x53, 0x2e, 0xc8, 0x59, 0x74, 0x30, 0x62, 0xf9, 0x21, 0xce, - 0x72, 0xa9, 0x25, 0x5a, 0x38, 0x3d, 0xc6, 0xa7, 0x51, 0x67, 0x9e, 0xa6, 0x5c, 0x48, 0x62, 0x7e, - 0x6d, 0x5e, 0x67, 0x31, 0x96, 0xb1, 0x34, 0x21, 0x99, 0x46, 0xee, 0xf4, 0x56, 0x2c, 0x65, 0x9c, - 0x30, 0x42, 0x33, 0x4e, 0xa8, 0x10, 0x52, 0x53, 0xcd, 0xa5, 0x50, 0xee, 0xeb, 0x5a, 0x28, 0x55, - 0x2a, 0x15, 0x19, 0x52, 0xc5, 0xac, 0x28, 0x79, 0xb1, 0x3e, 0x64, 0x9a, 0xae, 0x93, 0x8c, 0xc6, - 0x5c, 0x98, 0x64, 0x97, 0xbb, 0x5c, 0x06, 0x9a, 0xd1, 0x9c, 0xa6, 0xbf, 0xbb, 0xdd, 0x2b, 0xcd, - 0xc8, 0x65, 0x34, 0x0a, 0xf5, 0xf3, 0x88, 0x69, 0xca, 0x13, 0x97, 0xea, 0x2f, 0x42, 0xb4, 0x37, - 0x95, 0x1b, 0x98, 0xfa, 0x80, 0x1d, 0x8c, 0x98, 0xd2, 0xfe, 0x53, 0xb8, 0x50, 0x38, 0x55, 0x99, - 0x14, 0x8a, 0xa1, 0x2d, 0xd8, 0xb6, 0x3a, 0x37, 0xc0, 0x32, 0x58, 0xbd, 0xde, 0xbd, 0x89, 0x4b, - 0xae, 0x04, 0xdb, 0xa2, 0xde, 0xb5, 0xe3, 0x6f, 0x4b, 0x8d, 0x8f, 0x3f, 0x3f, 0xad, 0x81, 0xc0, - 0x55, 0xf9, 0x04, 0xde, 0x36, 0x6d, 0xfb, 0x4c, 0x0f, 0x2c, 0xcd, 0xae, 0x85, 0x71, 0xba, 0x68, - 0x0e, 0x36, 0x79, 0x64, 0x9a, 0xb7, 0x82, 0x26, 0x8f, 0x7c, 0x05, 0xbd, 0xaa, 0x02, 0x87, 0xb4, - 0x07, 0xe7, 0x8a, 0x5f, 0x1c, 0xda, 0x9d, 0x72, 0xb4, 0x42, 0x6a, 0xaf, 0x35, 0x45, 0x0c, 0xce, - 0x35, 0xf0, 0x63, 0x47, 0xb9, 0x9d, 0x24, 0xe5, 0x94, 0x4f, 0x20, 0x3c, 0x1b, 0x8a, 0xd3, 0xbb, - 0x8b, 0xed, 0x04, 0xf1, 0x74, 0x82, 0xd8, 0xae, 0x8d, 0x9b, 0x20, 0x1e, 0xd0, 0x98, 0xb9, 0xda, - 0x60, 0xa6, 0xd2, 0x3f, 0x02, 0xce, 0x5e, 0x89, 0x52, 0x8d, 0xbd, 0x2b, 0x97, 0xb2, 0x87, 0xfa, - 0x05, 0xfa, 0xa6, 0xa1, 0x5f, 0xb9, 0x90, 0xde, 0xf2, 0xcc, 0xe2, 0x77, 0x3f, 0xb4, 0xe0, 0x55, - 0x83, 0x8f, 0xde, 0x01, 0xd8, 0xb6, 0x53, 0x47, 0x2b, 0xa5, 0x60, 0x7f, 0xae, 0x58, 0x67, 0xf5, - 0xe2, 0x44, 0xab, 0xe9, 0x3f, 0x78, 0xf3, 0xe5, 0xc7, 0xfb, 0x26, 0x41, 0xf7, 0xc9, 0x2e, 0x0b, - 0x99, 0xd0, 0x39, 0x4d, 0x76, 0x68, 0x1e, 0xf5, 0x69, 0xca, 0x48, 0xf5, 0x53, 0x40, 0x9f, 0xc1, - 0xf9, 0xbb, 0x43, 0xdd, 0x6a, 0xcd, 0xaa, 0x95, 0xec, 0x6c, 0xfc, 0x53, 0x8d, 0x43, 0xde, 0x31, - 0xc8, 0x8f, 0xd1, 0xa3, 0xbf, 0x45, 0x2e, 0xbe, 0x4d, 0xf2, 0x8a, 0x47, 0xaf, 0xd1, 0x11, 0x80, - 0xf3, 0xc5, 0xfe, 0xdb, 0x49, 0x52, 0xe7, 0xa1, 0x6a, 0x61, 0xeb, 0x3c, 0x54, 0xae, 0x9e, 0xbf, - 0x65, 0x3c, 0x6c, 0xa2, 0x87, 0xff, 0xe7, 0xa1, 0x17, 0x1c, 0x8f, 0x3d, 0x70, 0x32, 0xf6, 0xc0, - 0xf7, 0xb1, 0x07, 0xde, 0x4e, 0xbc, 0xc6, 0xc9, 0xc4, 0x6b, 0x7c, 0x9d, 0x78, 0x8d, 0x67, 0x9b, - 0x31, 0xd7, 0xfb, 0xa3, 0x21, 0x0e, 0x65, 0x5a, 0xdb, 0xfb, 0xe5, 0x4c, 0xac, 0x0f, 0x33, 0xa6, - 0x86, 0x6d, 0xf3, 0xa7, 0xb5, 0xf1, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xa1, 0x12, 0x63, 0x46, 0xac, - 0x05, 0x00, 0x00, + // 623 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0xcf, 0x6b, 0x13, 0x41, + 0x14, 0xc7, 0xb3, 0x31, 0x0d, 0x38, 0x42, 0xb1, 0xd3, 0x22, 0x12, 0x75, 0x5b, 0x56, 0x6c, 0x6b, + 0xc1, 0x1d, 0xda, 0x6a, 0x29, 0xa8, 0x85, 0xa6, 0xc5, 0x50, 0xbc, 0xa4, 0x0b, 0x22, 0x78, 0x09, + 0x93, 0xdd, 0x61, 0x33, 0xb0, 0xbb, 0xb3, 0xdd, 0x9d, 0xa8, 0xa5, 0xf4, 0xe2, 0x5f, 0x20, 0xf6, + 0x9f, 0xf0, 0x28, 0x9e, 0x8b, 0xe7, 0x1e, 0x0b, 0x5e, 0x3c, 0x89, 0x24, 0x82, 0xff, 0x86, 0xcc, + 0x8f, 0xb4, 0xd9, 0xba, 0x9b, 0x54, 0xbd, 0x84, 0x97, 0x99, 0xef, 0x7b, 0xef, 0xf3, 0xe6, 0xbd, + 0xb7, 0x60, 0xd6, 0xc5, 0x89, 0xe7, 0x76, 0x30, 0x8d, 0xd0, 0xb9, 0xb5, 0xd7, 0x25, 0xc9, 0xbe, + 0x1d, 0x27, 0x8c, 0x33, 0x38, 0x7d, 0x76, 0x6c, 0x9f, 0x59, 0xb5, 0x29, 0x1c, 0xd2, 0x88, 0x21, + 0xf9, 0xab, 0x74, 0xb5, 0x19, 0x9f, 0xf9, 0x4c, 0x9a, 0x48, 0x58, 0xfa, 0xf4, 0xb6, 0xcf, 0x98, + 0x1f, 0x10, 0x84, 0x63, 0x8a, 0x70, 0x14, 0x31, 0x8e, 0x39, 0x65, 0x51, 0xaa, 0x6f, 0x97, 0x5c, + 0x96, 0x86, 0x2c, 0x45, 0x6d, 0x9c, 0x12, 0x95, 0x14, 0xbd, 0x5e, 0x6e, 0x13, 0x8e, 0x97, 0x51, + 0x8c, 0x7d, 0x1a, 0x49, 0xb1, 0xd6, 0xce, 0xe5, 0x81, 0xc6, 0x38, 0xc1, 0xe1, 0x20, 0xda, 0xfd, + 0x5c, 0x45, 0xc2, 0xbc, 0xae, 0xcb, 0x5b, 0x1e, 0xe1, 0x98, 0x06, 0x23, 0xa5, 0xc2, 0x6a, 0xbd, + 0xa1, 0xbc, 0xd3, 0xa2, 0x21, 0xf6, 0x89, 0x92, 0x5a, 0x33, 0x00, 0xee, 0x0a, 0xb2, 0xa6, 0x4c, + 0xe5, 0x90, 0xbd, 0x2e, 0x49, 0xb9, 0xf5, 0x02, 0x4c, 0x67, 0x4e, 0xd3, 0x98, 0x45, 0x29, 0x81, + 0x1b, 0xa0, 0xaa, 0x90, 0x6e, 0x1a, 0x73, 0xc6, 0xe2, 0xb5, 0x95, 0x5b, 0x76, 0xce, 0xeb, 0xd9, + 0xca, 0xa9, 0x7e, 0xf5, 0xe4, 0xfb, 0x6c, 0xe9, 0xe3, 0xaf, 0x4f, 0x4b, 0x86, 0xa3, 0xbd, 0x2c, + 0x04, 0xee, 0xc8, 0xb0, 0x0d, 0xc2, 0x9b, 0x0a, 0x7c, 0x5b, 0x71, 0xeb, 0xbc, 0x70, 0x12, 0x94, + 0xa9, 0x27, 0x83, 0x57, 0x9c, 0x32, 0xf5, 0xac, 0x14, 0x98, 0x45, 0x0e, 0x1a, 0x69, 0x17, 0x4c, + 0x66, 0x6f, 0x34, 0xda, 0xdd, 0x7c, 0xb4, 0x8c, 0xb4, 0x5e, 0x11, 0x88, 0xce, 0x85, 0x00, 0x96, + 0xaf, 0x29, 0x37, 0x83, 0x20, 0x9f, 0xf2, 0x19, 0x00, 0xe7, 0xfd, 0xd3, 0xf9, 0xe6, 0x6d, 0xd5, + 0x6c, 0x5b, 0x34, 0xdb, 0x56, 0x13, 0xa6, 0x9b, 0x6d, 0x37, 0xb1, 0x4f, 0xb4, 0xaf, 0x33, 0xe4, + 0x69, 0x1d, 0x1b, 0xba, 0xbc, 0x9c, 0x4c, 0x23, 0xca, 0xbb, 0xf2, 0x5f, 0xe5, 0xc1, 0x46, 0x86, + 0xbe, 0x2c, 0xe9, 0x17, 0xc6, 0xd2, 0x2b, 0x9e, 0x0c, 0xfe, 0x12, 0xb8, 0x2e, 0xe9, 0xb7, 0x70, + 0xe2, 0x0d, 0x9e, 0xe6, 0x06, 0xa8, 0x0a, 0x9c, 0x9d, 0x41, 0x13, 0xf5, 0x3f, 0xeb, 0x39, 0x98, + 0x1a, 0xd2, 0xea, 0xe2, 0xd6, 0x40, 0x45, 0x5c, 0xeb, 0x17, 0xb4, 0x72, 0x4b, 0x12, 0x0e, 0x2f, + 0x29, 0xef, 0xec, 0x88, 0x99, 0x75, 0xa4, 0x7e, 0xe5, 0xf3, 0x04, 0x98, 0x90, 0xd1, 0xe0, 0x07, + 0x03, 0x54, 0xd5, 0xb8, 0xc1, 0x85, 0x5c, 0xf7, 0x3f, 0x67, 0xbb, 0xb6, 0x38, 0x5e, 0xa8, 0xf8, + 0xac, 0x47, 0xef, 0xbe, 0xfe, 0x3c, 0x2a, 0x23, 0xf8, 0x00, 0x6d, 0x13, 0x97, 0x44, 0x3c, 0xc1, + 0x81, 0xc0, 0x69, 0xe0, 0x90, 0xa0, 0xe2, 0x75, 0x85, 0x5f, 0x8c, 0x8b, 0x4d, 0x83, 0x2b, 0xc5, + 0x39, 0x8b, 0x76, 0xa1, 0xb6, 0xfa, 0x57, 0x3e, 0x1a, 0x79, 0x4b, 0x22, 0x3f, 0x85, 0x8f, 0x2f, + 0x8b, 0x9c, 0xfd, 0x7e, 0xa0, 0x03, 0xea, 0x1d, 0xc2, 0x63, 0x03, 0x4c, 0x65, 0xe3, 0x6f, 0x06, + 0xc1, 0xa8, 0x1a, 0x8a, 0x36, 0x65, 0x54, 0x0d, 0x85, 0x33, 0x6f, 0x6d, 0xc8, 0x1a, 0xd6, 0xe1, + 0xda, 0xbf, 0xd5, 0x00, 0x8f, 0x0c, 0x50, 0x11, 0x0e, 0xf0, 0x5e, 0x71, 0xf6, 0xa1, 0x99, 0xad, + 0xcd, 0x8f, 0x93, 0x69, 0xae, 0x27, 0x92, 0x6b, 0x0d, 0x3e, 0xbc, 0x24, 0x97, 0xb0, 0xd0, 0x81, + 0x5a, 0x80, 0xc3, 0xba, 0x73, 0xd2, 0x33, 0x8d, 0xd3, 0x9e, 0x69, 0xfc, 0xe8, 0x99, 0xc6, 0xfb, + 0xbe, 0x59, 0x3a, 0xed, 0x9b, 0xa5, 0x6f, 0x7d, 0xb3, 0xf4, 0x6a, 0xdd, 0xa7, 0xbc, 0xd3, 0x6d, + 0xdb, 0x2e, 0x0b, 0x47, 0x46, 0x7e, 0x3b, 0x64, 0xf3, 0xfd, 0x98, 0xa4, 0xed, 0xaa, 0xfc, 0x86, + 0xaf, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x6d, 0x7b, 0xc8, 0x76, 0xe6, 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -364,6 +460,8 @@ type QueryClient interface { // Queries a list of ProductDetails items. ProductDetails(ctx context.Context, in *QueryGetProductDetailsRequest, opts ...grpc.CallOption) (*QueryGetProductDetailsResponse, error) ProductDetailsAll(ctx context.Context, in *QueryAllProductDetailsRequest, opts ...grpc.CallOption) (*QueryAllProductDetailsResponse, error) + // Queries a list of Card items. + Card(ctx context.Context, in *QueryCardRequest, opts ...grpc.CallOption) (*QueryCardResponse, error) } type queryClient struct { @@ -401,6 +499,15 @@ func (c *queryClient) ProductDetailsAll(ctx context.Context, in *QueryAllProduct return out, nil } +func (c *queryClient) Card(ctx context.Context, in *QueryCardRequest, opts ...grpc.CallOption) (*QueryCardResponse, error) { + out := new(QueryCardResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Card", 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. @@ -408,6 +515,8 @@ type QueryServer interface { // Queries a list of ProductDetails items. ProductDetails(context.Context, *QueryGetProductDetailsRequest) (*QueryGetProductDetailsResponse, error) ProductDetailsAll(context.Context, *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) + // Queries a list of Card items. + Card(context.Context, *QueryCardRequest) (*QueryCardResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -423,6 +532,9 @@ func (*UnimplementedQueryServer) ProductDetails(ctx context.Context, req *QueryG func (*UnimplementedQueryServer) ProductDetailsAll(ctx context.Context, req *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ProductDetailsAll not implemented") } +func (*UnimplementedQueryServer) Card(ctx context.Context, req *QueryCardRequest) (*QueryCardResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Card not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -482,6 +594,24 @@ func _Query_ProductDetailsAll_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Query_Card_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCardRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Card(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/Card", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Card(ctx, req.(*QueryCardRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -499,6 +629,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "ProductDetailsAll", Handler: _Query_ProductDetailsAll_Handler, }, + { + MethodName: "Card", + Handler: _Query_Card_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -705,6 +839,69 @@ func (m *QueryAllProductDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } +func (m *QueryCardRequest) 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 *QueryCardRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryCardRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.CardId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryCardResponse) 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 *QueryCardResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryCardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Card != nil { + { + size, err := m.Card.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 @@ -791,6 +988,31 @@ func (m *QueryAllProductDetailsResponse) Size() (n int) { return n } +func (m *QueryCardRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovQuery(uint64(m.CardId)) + } + return n +} + +func (m *QueryCardResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Card != nil { + l = m.Card.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -1288,6 +1510,161 @@ func (m *QueryAllProductDetailsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryCardRequest) 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: QueryCardRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCardRequest: 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 ErrIntOverflowQuery + } + 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 := 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 *QueryCardResponse) 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: QueryCardResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Card", 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.Card == nil { + m.Card = &CardWithImage{} + } + if err := m.Card.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 7db501f8..af5883b3 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -141,6 +141,60 @@ func local_request_Query_ProductDetailsAll_0(ctx context.Context, marshaler runt } +func request_Query_Card_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCardRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["cardId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardId") + } + + protoReq.CardId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardId", err) + } + + msg, err := client.Card(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Card_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCardRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["cardId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardId") + } + + protoReq.CardId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardId", err) + } + + msg, err := server.Card(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. @@ -216,6 +270,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_Card_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_Card_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_Card_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -317,6 +394,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_Card_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_Card_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_Card_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -326,6 +423,8 @@ var ( pattern_Query_ProductDetails_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "product_details", "id"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_ProductDetailsAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "product_details"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_Card_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "card", "cardId"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -334,4 +433,6 @@ var ( forward_Query_ProductDetails_0 = runtime.ForwardResponseMessage forward_Query_ProductDetailsAll_0 = runtime.ForwardResponseMessage + + forward_Query_Card_0 = runtime.ForwardResponseMessage ) diff --git a/x/cardchain/types/running_average.pb.go b/x/cardchain/types/running_average.pb.go index 21f80b8f..66809249 100644 --- a/x/cardchain/types/running_average.pb.go +++ b/x/cardchain/types/running_average.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go index 32a2be10..460f7093 100644 --- a/x/cardchain/types/sell_offer.pb.go +++ b/x/cardchain/types/sell_offer.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/server.pb.go b/x/cardchain/types/server.pb.go index ea0ae809..8ed475d1 100644 --- a/x/cardchain/types/server.pb.go +++ b/x/cardchain/types/server.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index c3d8340f..78eb5228 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index 182c66f7..dd34e69e 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -16,9 +20,6 @@ import ( 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. diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index f70e234d..bc73282c 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go index 6911a3d0..45e01b16 100644 --- a/x/cardchain/types/voting.pb.go +++ b/x/cardchain/types/voting.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go index 30e9aaf4..36bda627 100644 --- a/x/cardchain/types/zealy.pb.go +++ b/x/cardchain/types/zealy.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/flag.pb.go b/x/featureflag/types/flag.pb.go index e1dd5d4d..9ea00283 100644 --- a/x/featureflag/types/flag.pb.go +++ b/x/featureflag/types/flag.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/genesis.pb.go b/x/featureflag/types/genesis.pb.go index da869d10..6113e755 100644 --- a/x/featureflag/types/genesis.pb.go +++ b/x/featureflag/types/genesis.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/params.pb.go b/x/featureflag/types/params.pb.go index 46dbabd7..41595524 100644 --- a/x/featureflag/types/params.pb.go +++ b/x/featureflag/types/params.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/query.pb.go b/x/featureflag/types/query.pb.go index 2ec990b9..e7d3b919 100644 --- a/x/featureflag/types/query.pb.go +++ b/x/featureflag/types/query.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -15,9 +19,6 @@ import ( 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. diff --git a/x/featureflag/types/tx.pb.go b/x/featureflag/types/tx.pb.go index af61eaab..94b4be1b 100644 --- a/x/featureflag/types/tx.pb.go +++ b/x/featureflag/types/tx.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -15,9 +19,6 @@ import ( 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. From d3b17a6405af2a80996a6359e1db2cbf0935f714 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 11:41:29 +0100 Subject: [PATCH 36/99] feat(#242): Added user query proto --- api/cardchain/cardchain/query.pulsar.go | 1136 ++++++++++++++++++++-- api/cardchain/cardchain/query_grpc.pb.go | 39 + docs/static/openapi.yml | 2 +- gen_queries.sh | 5 +- proto/cardchain/cardchain/query.proto | 15 + x/cardchain/keeper/query_user.go | 23 + x/cardchain/module/autocli.go | 7 + x/cardchain/types/query.pb.go | 473 ++++++++- x/cardchain/types/query.pb.gw.go | 101 ++ 9 files changed, 1678 insertions(+), 123 deletions(-) create mode 100644 x/cardchain/keeper/query_user.go diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 107ff6b8..ad9ee40b 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -3494,6 +3494,861 @@ func (x *fastReflection_QueryCardResponse) ProtoMethods() *protoiface.Methods { } } +var ( + md_QueryUserRequest protoreflect.MessageDescriptor + fd_QueryUserRequest_address protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryUserRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryUserRequest") + fd_QueryUserRequest_address = md_QueryUserRequest.Fields().ByName("address") +} + +var _ protoreflect.Message = (*fastReflection_QueryUserRequest)(nil) + +type fastReflection_QueryUserRequest QueryUserRequest + +func (x *QueryUserRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryUserRequest)(x) +} + +func (x *QueryUserRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryUserRequest_messageType fastReflection_QueryUserRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryUserRequest_messageType{} + +type fastReflection_QueryUserRequest_messageType struct{} + +func (x fastReflection_QueryUserRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryUserRequest)(nil) +} +func (x fastReflection_QueryUserRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryUserRequest) +} +func (x fastReflection_QueryUserRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryUserRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryUserRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryUserRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryUserRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryUserRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryUserRequest) New() protoreflect.Message { + return new(fastReflection_QueryUserRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryUserRequest) Interface() protoreflect.ProtoMessage { + return (*QueryUserRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryUserRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Address != "" { + value := protoreflect.ValueOfString(x.Address) + if !f(fd_QueryUserRequest_address, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryUserRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryUserRequest.address": + return x.Address != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryUserRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryUserRequest.address": + x.Address = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryUserRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryUserRequest.address": + value := x.Address + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryUserRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryUserRequest.address": + x.Address = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryUserRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryUserRequest.address": + panic(fmt.Errorf("field address of message cardchain.cardchain.QueryUserRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryUserRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryUserRequest.address": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryUserRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryUserRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryUserRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryUserRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryUserRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryUserRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryUserRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Address) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryUserRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Address) > 0 { + i -= len(x.Address) + copy(dAtA[i:], x.Address) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryUserRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryUserRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryUserRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryUserResponse protoreflect.MessageDescriptor + fd_QueryUserResponse_user protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryUserResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryUserResponse") + fd_QueryUserResponse_user = md_QueryUserResponse.Fields().ByName("user") +} + +var _ protoreflect.Message = (*fastReflection_QueryUserResponse)(nil) + +type fastReflection_QueryUserResponse QueryUserResponse + +func (x *QueryUserResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryUserResponse)(x) +} + +func (x *QueryUserResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryUserResponse_messageType fastReflection_QueryUserResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryUserResponse_messageType{} + +type fastReflection_QueryUserResponse_messageType struct{} + +func (x fastReflection_QueryUserResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryUserResponse)(nil) +} +func (x fastReflection_QueryUserResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryUserResponse) +} +func (x fastReflection_QueryUserResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryUserResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryUserResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryUserResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryUserResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryUserResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryUserResponse) New() protoreflect.Message { + return new(fastReflection_QueryUserResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryUserResponse) Interface() protoreflect.ProtoMessage { + return (*QueryUserResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryUserResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.User != nil { + value := protoreflect.ValueOfMessage(x.User.ProtoReflect()) + if !f(fd_QueryUserResponse_user, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryUserResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryUserResponse.user": + return x.User != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryUserResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryUserResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryUserResponse.user": + x.User = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryUserResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryUserResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryUserResponse.user": + value := x.User + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryUserResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryUserResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryUserResponse.user": + x.User = value.Message().Interface().(*User) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryUserResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryUserResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryUserResponse.user": + if x.User == nil { + x.User = new(User) + } + return protoreflect.ValueOfMessage(x.User.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryUserResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryUserResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryUserResponse.user": + m := new(User) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryUserResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryUserResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryUserResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryUserResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryUserResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryUserResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryUserResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryUserResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.User != nil { + l = options.Size(x.User) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryUserResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.User != nil { + encoded, err := options.Marshal(x.User) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryUserResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryUserResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryUserResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.User == nil { + x.User = &User{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.User); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -3789,6 +4644,76 @@ func (x *QueryCardResponse) GetCard() *CardWithImage { return nil } +type QueryUserRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` +} + +func (x *QueryUserRequest) Reset() { + *x = QueryUserRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryUserRequest) ProtoMessage() {} + +// Deprecated: Use QueryUserRequest.ProtoReflect.Descriptor instead. +func (*QueryUserRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{8} +} + +func (x *QueryUserRequest) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +type QueryUserResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` +} + +func (x *QueryUserResponse) Reset() { + *x = QueryUserResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryUserResponse) ProtoMessage() {} + +// Deprecated: Use QueryUserResponse.ProtoReflect.Descriptor instead. +func (*QueryUserResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{9} +} + +func (x *QueryUserResponse) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -3810,6 +4735,8 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, @@ -3853,64 +4780,80 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x04, 0x63, 0x61, 0x72, 0x64, 0x32, 0xb2, 0x05, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, - 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, + 0x04, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x32, 0xc9, 0x06, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, - 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, + 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, + 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, + 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, + 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3925,7 +4868,7 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse @@ -3935,32 +4878,38 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryAllProductDetailsResponse)(nil), // 5: cardchain.cardchain.QueryAllProductDetailsResponse (*QueryCardRequest)(nil), // 6: cardchain.cardchain.QueryCardRequest (*QueryCardResponse)(nil), // 7: cardchain.cardchain.QueryCardResponse - (*Params)(nil), // 8: cardchain.cardchain.Params - (*ProductDetails)(nil), // 9: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 10: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 11: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 12: cardchain.cardchain.CardWithImage + (*QueryUserRequest)(nil), // 8: cardchain.cardchain.QueryUserRequest + (*QueryUserResponse)(nil), // 9: cardchain.cardchain.QueryUserResponse + (*Params)(nil), // 10: cardchain.cardchain.Params + (*ProductDetails)(nil), // 11: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 12: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 13: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 14: cardchain.cardchain.CardWithImage + (*User)(nil), // 15: cardchain.cardchain.User } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 8, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 9, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 10, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 9, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 11, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 12, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 0, // 6: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 7: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 8: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 9: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 1, // 10: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 11: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 12: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 13: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 10, // [10:14] is the sub-list for method output_type - 6, // [6:10] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 10, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 11, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 12, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 11, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 13, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 14, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 15, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 0, // 7: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 8: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 9: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 10: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 11: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 1, // 12: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 13: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 14: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 15: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 16: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 12, // [12:17] is the sub-list for method output_type + 7, // [7:12] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -3971,6 +4920,7 @@ func file_cardchain_cardchain_query_proto_init() { file_cardchain_cardchain_params_proto_init() file_cardchain_cardchain_product_details_proto_init() file_cardchain_cardchain_card_with_image_proto_init() + file_cardchain_cardchain_user_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsRequest); i { @@ -4068,6 +5018,30 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryUserRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryUserResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -4075,7 +5049,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 8, + NumMessages: 10, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 46f27756..5e2a4004 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -24,6 +24,7 @@ const ( Query_ProductDetails_FullMethodName = "/cardchain.cardchain.Query/ProductDetails" Query_ProductDetailsAll_FullMethodName = "/cardchain.cardchain.Query/ProductDetailsAll" Query_Card_FullMethodName = "/cardchain.cardchain.Query/Card" + Query_User_FullMethodName = "/cardchain.cardchain.Query/User" ) // QueryClient is the client API for Query service. @@ -37,6 +38,8 @@ type QueryClient interface { ProductDetailsAll(ctx context.Context, in *QueryAllProductDetailsRequest, opts ...grpc.CallOption) (*QueryAllProductDetailsResponse, error) // Queries a list of Card items. Card(ctx context.Context, in *QueryCardRequest, opts ...grpc.CallOption) (*QueryCardResponse, error) + // Queries a list of User items. + User(ctx context.Context, in *QueryUserRequest, opts ...grpc.CallOption) (*QueryUserResponse, error) } type queryClient struct { @@ -83,6 +86,15 @@ func (c *queryClient) Card(ctx context.Context, in *QueryCardRequest, opts ...gr return out, nil } +func (c *queryClient) User(ctx context.Context, in *QueryUserRequest, opts ...grpc.CallOption) (*QueryUserResponse, error) { + out := new(QueryUserResponse) + err := c.cc.Invoke(ctx, Query_User_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -94,6 +106,8 @@ type QueryServer interface { ProductDetailsAll(context.Context, *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) // Queries a list of Card items. Card(context.Context, *QueryCardRequest) (*QueryCardResponse, error) + // Queries a list of User items. + User(context.Context, *QueryUserRequest) (*QueryUserResponse, error) mustEmbedUnimplementedQueryServer() } @@ -113,6 +127,9 @@ func (UnimplementedQueryServer) ProductDetailsAll(context.Context, *QueryAllProd func (UnimplementedQueryServer) Card(context.Context, *QueryCardRequest) (*QueryCardResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Card not implemented") } +func (UnimplementedQueryServer) User(context.Context, *QueryUserRequest) (*QueryUserResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method User not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -198,6 +215,24 @@ func _Query_Card_Handler(srv interface{}, ctx context.Context, dec func(interfac return interceptor(ctx, in, info, handler) } +func _Query_User_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryUserRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).User(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_User_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).User(ctx, req.(*QueryUserRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -221,6 +256,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Card", Handler: _Query_Card_Handler, }, + { + MethodName: "User", + Handler: _Query_User_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 4e32f608..02051d55 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin21","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin22","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.Status"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.Status":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin21","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin22","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.Status"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.Status":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index ba0c994f..11e6c4e3 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -1 +1,4 @@ -ignite scaffold query card cardId:uint --response card:CardWithImage +#ignite scaffold query card cardId:uint --response card:CardWithImage +# ---ignite scaffold query card_content cardId:uint --response card:Card +ignite scaffold query user address:string --response user:User +#ignite scaffold query cards owner --response cardIds:uints diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 95fb824c..aaaf9d7d 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -9,6 +9,7 @@ import "cosmos/base/query/v1beta1/pagination.proto"; import "cardchain/cardchain/params.proto"; import "cardchain/cardchain/product_details.proto"; import "cardchain/cardchain/card_with_image.proto"; +import "cardchain/cardchain/user.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; @@ -36,6 +37,12 @@ service Query { option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; } + + // Queries a list of User items. + rpc User (QueryUserRequest) returns (QueryUserResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/user/{address}"; + + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -72,3 +79,11 @@ message QueryCardResponse { CardWithImage card = 1; } +message QueryUserRequest { + string address = 1; +} + +message QueryUserResponse { + User user = 1; +} + diff --git a/x/cardchain/keeper/query_user.go b/x/cardchain/keeper/query_user.go new file mode 100644 index 00000000..98d31a39 --- /dev/null +++ b/x/cardchain/keeper/query_user.go @@ -0,0 +1,23 @@ +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) User(goCtx context.Context, req *types.QueryUserRequest) (*types.QueryUserResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryUserResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 998ab287..36ee998e 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -35,6 +35,13 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}}, }, + { + RpcMethod: "User", + Use: "user [address]", + Short: "Query user", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "address"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index c57557c2..58a18b95 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -387,6 +387,94 @@ func (m *QueryCardResponse) GetCard() *CardWithImage { return nil } +type QueryUserRequest struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` +} + +func (m *QueryUserRequest) Reset() { *m = QueryUserRequest{} } +func (m *QueryUserRequest) String() string { return proto.CompactTextString(m) } +func (*QueryUserRequest) ProtoMessage() {} +func (*QueryUserRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{8} +} +func (m *QueryUserRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryUserRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryUserRequest.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 *QueryUserRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryUserRequest.Merge(m, src) +} +func (m *QueryUserRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryUserRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryUserRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryUserRequest proto.InternalMessageInfo + +func (m *QueryUserRequest) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +type QueryUserResponse struct { + User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` +} + +func (m *QueryUserResponse) Reset() { *m = QueryUserResponse{} } +func (m *QueryUserResponse) String() string { return proto.CompactTextString(m) } +func (*QueryUserResponse) ProtoMessage() {} +func (*QueryUserResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{9} +} +func (m *QueryUserResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryUserResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryUserResponse.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 *QueryUserResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryUserResponse.Merge(m, src) +} +func (m *QueryUserResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryUserResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryUserResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryUserResponse proto.InternalMessageInfo + +func (m *QueryUserResponse) GetUser() *User { + if m != nil { + return m.User + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -396,51 +484,59 @@ func init() { proto.RegisterType((*QueryAllProductDetailsResponse)(nil), "cardchain.cardchain.QueryAllProductDetailsResponse") proto.RegisterType((*QueryCardRequest)(nil), "cardchain.cardchain.QueryCardRequest") proto.RegisterType((*QueryCardResponse)(nil), "cardchain.cardchain.QueryCardResponse") + proto.RegisterType((*QueryUserRequest)(nil), "cardchain.cardchain.QueryUserRequest") + proto.RegisterType((*QueryUserResponse)(nil), "cardchain.cardchain.QueryUserResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 623 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0xcf, 0x6b, 0x13, 0x41, - 0x14, 0xc7, 0xb3, 0x31, 0x0d, 0x38, 0x42, 0xb1, 0xd3, 0x22, 0x12, 0x75, 0x5b, 0x56, 0x6c, 0x6b, - 0xc1, 0x1d, 0xda, 0x6a, 0x29, 0xa8, 0x85, 0xa6, 0xc5, 0x50, 0xbc, 0xa4, 0x0b, 0x22, 0x78, 0x09, - 0x93, 0xdd, 0x61, 0x33, 0xb0, 0xbb, 0xb3, 0xdd, 0x9d, 0xa8, 0xa5, 0xf4, 0xe2, 0x5f, 0x20, 0xf6, - 0x9f, 0xf0, 0x28, 0x9e, 0x8b, 0xe7, 0x1e, 0x0b, 0x5e, 0x3c, 0x89, 0x24, 0x82, 0xff, 0x86, 0xcc, - 0x8f, 0xb4, 0xd9, 0xba, 0x9b, 0x54, 0xbd, 0x84, 0x97, 0x99, 0xef, 0x7b, 0xef, 0xf3, 0xe6, 0xbd, - 0xb7, 0x60, 0xd6, 0xc5, 0x89, 0xe7, 0x76, 0x30, 0x8d, 0xd0, 0xb9, 0xb5, 0xd7, 0x25, 0xc9, 0xbe, - 0x1d, 0x27, 0x8c, 0x33, 0x38, 0x7d, 0x76, 0x6c, 0x9f, 0x59, 0xb5, 0x29, 0x1c, 0xd2, 0x88, 0x21, - 0xf9, 0xab, 0x74, 0xb5, 0x19, 0x9f, 0xf9, 0x4c, 0x9a, 0x48, 0x58, 0xfa, 0xf4, 0xb6, 0xcf, 0x98, - 0x1f, 0x10, 0x84, 0x63, 0x8a, 0x70, 0x14, 0x31, 0x8e, 0x39, 0x65, 0x51, 0xaa, 0x6f, 0x97, 0x5c, - 0x96, 0x86, 0x2c, 0x45, 0x6d, 0x9c, 0x12, 0x95, 0x14, 0xbd, 0x5e, 0x6e, 0x13, 0x8e, 0x97, 0x51, - 0x8c, 0x7d, 0x1a, 0x49, 0xb1, 0xd6, 0xce, 0xe5, 0x81, 0xc6, 0x38, 0xc1, 0xe1, 0x20, 0xda, 0xfd, - 0x5c, 0x45, 0xc2, 0xbc, 0xae, 0xcb, 0x5b, 0x1e, 0xe1, 0x98, 0x06, 0x23, 0xa5, 0xc2, 0x6a, 0xbd, - 0xa1, 0xbc, 0xd3, 0xa2, 0x21, 0xf6, 0x89, 0x92, 0x5a, 0x33, 0x00, 0xee, 0x0a, 0xb2, 0xa6, 0x4c, - 0xe5, 0x90, 0xbd, 0x2e, 0x49, 0xb9, 0xf5, 0x02, 0x4c, 0x67, 0x4e, 0xd3, 0x98, 0x45, 0x29, 0x81, - 0x1b, 0xa0, 0xaa, 0x90, 0x6e, 0x1a, 0x73, 0xc6, 0xe2, 0xb5, 0x95, 0x5b, 0x76, 0xce, 0xeb, 0xd9, - 0xca, 0xa9, 0x7e, 0xf5, 0xe4, 0xfb, 0x6c, 0xe9, 0xe3, 0xaf, 0x4f, 0x4b, 0x86, 0xa3, 0xbd, 0x2c, - 0x04, 0xee, 0xc8, 0xb0, 0x0d, 0xc2, 0x9b, 0x0a, 0x7c, 0x5b, 0x71, 0xeb, 0xbc, 0x70, 0x12, 0x94, - 0xa9, 0x27, 0x83, 0x57, 0x9c, 0x32, 0xf5, 0xac, 0x14, 0x98, 0x45, 0x0e, 0x1a, 0x69, 0x17, 0x4c, - 0x66, 0x6f, 0x34, 0xda, 0xdd, 0x7c, 0xb4, 0x8c, 0xb4, 0x5e, 0x11, 0x88, 0xce, 0x85, 0x00, 0x96, - 0xaf, 0x29, 0x37, 0x83, 0x20, 0x9f, 0xf2, 0x19, 0x00, 0xe7, 0xfd, 0xd3, 0xf9, 0xe6, 0x6d, 0xd5, - 0x6c, 0x5b, 0x34, 0xdb, 0x56, 0x13, 0xa6, 0x9b, 0x6d, 0x37, 0xb1, 0x4f, 0xb4, 0xaf, 0x33, 0xe4, - 0x69, 0x1d, 0x1b, 0xba, 0xbc, 0x9c, 0x4c, 0x23, 0xca, 0xbb, 0xf2, 0x5f, 0xe5, 0xc1, 0x46, 0x86, - 0xbe, 0x2c, 0xe9, 0x17, 0xc6, 0xd2, 0x2b, 0x9e, 0x0c, 0xfe, 0x12, 0xb8, 0x2e, 0xe9, 0xb7, 0x70, - 0xe2, 0x0d, 0x9e, 0xe6, 0x06, 0xa8, 0x0a, 0x9c, 0x9d, 0x41, 0x13, 0xf5, 0x3f, 0xeb, 0x39, 0x98, - 0x1a, 0xd2, 0xea, 0xe2, 0xd6, 0x40, 0x45, 0x5c, 0xeb, 0x17, 0xb4, 0x72, 0x4b, 0x12, 0x0e, 0x2f, - 0x29, 0xef, 0xec, 0x88, 0x99, 0x75, 0xa4, 0x7e, 0xe5, 0xf3, 0x04, 0x98, 0x90, 0xd1, 0xe0, 0x07, - 0x03, 0x54, 0xd5, 0xb8, 0xc1, 0x85, 0x5c, 0xf7, 0x3f, 0x67, 0xbb, 0xb6, 0x38, 0x5e, 0xa8, 0xf8, - 0xac, 0x47, 0xef, 0xbe, 0xfe, 0x3c, 0x2a, 0x23, 0xf8, 0x00, 0x6d, 0x13, 0x97, 0x44, 0x3c, 0xc1, - 0x81, 0xc0, 0x69, 0xe0, 0x90, 0xa0, 0xe2, 0x75, 0x85, 0x5f, 0x8c, 0x8b, 0x4d, 0x83, 0x2b, 0xc5, - 0x39, 0x8b, 0x76, 0xa1, 0xb6, 0xfa, 0x57, 0x3e, 0x1a, 0x79, 0x4b, 0x22, 0x3f, 0x85, 0x8f, 0x2f, - 0x8b, 0x9c, 0xfd, 0x7e, 0xa0, 0x03, 0xea, 0x1d, 0xc2, 0x63, 0x03, 0x4c, 0x65, 0xe3, 0x6f, 0x06, - 0xc1, 0xa8, 0x1a, 0x8a, 0x36, 0x65, 0x54, 0x0d, 0x85, 0x33, 0x6f, 0x6d, 0xc8, 0x1a, 0xd6, 0xe1, - 0xda, 0xbf, 0xd5, 0x00, 0x8f, 0x0c, 0x50, 0x11, 0x0e, 0xf0, 0x5e, 0x71, 0xf6, 0xa1, 0x99, 0xad, - 0xcd, 0x8f, 0x93, 0x69, 0xae, 0x27, 0x92, 0x6b, 0x0d, 0x3e, 0xbc, 0x24, 0x97, 0xb0, 0xd0, 0x81, - 0x5a, 0x80, 0xc3, 0xba, 0x73, 0xd2, 0x33, 0x8d, 0xd3, 0x9e, 0x69, 0xfc, 0xe8, 0x99, 0xc6, 0xfb, - 0xbe, 0x59, 0x3a, 0xed, 0x9b, 0xa5, 0x6f, 0x7d, 0xb3, 0xf4, 0x6a, 0xdd, 0xa7, 0xbc, 0xd3, 0x6d, - 0xdb, 0x2e, 0x0b, 0x47, 0x46, 0x7e, 0x3b, 0x64, 0xf3, 0xfd, 0x98, 0xa4, 0xed, 0xaa, 0xfc, 0x86, - 0xaf, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x6d, 0x7b, 0xc8, 0x76, 0xe6, 0x06, 0x00, 0x00, + // 705 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xdf, 0x4e, 0xd4, 0x40, + 0x14, 0xc6, 0xb7, 0xeb, 0xba, 0x86, 0x31, 0x21, 0x32, 0x10, 0x83, 0xab, 0x16, 0x32, 0x46, 0x40, + 0x22, 0x9d, 0x00, 0x82, 0x24, 0x0a, 0x09, 0x0b, 0x91, 0x10, 0x6f, 0xa0, 0x09, 0x31, 0xf1, 0x86, + 0xcc, 0x6e, 0x27, 0xdd, 0x49, 0xba, 0x9d, 0xa5, 0x9d, 0x55, 0x09, 0xe1, 0xc6, 0x27, 0x30, 0xe2, + 0x43, 0x78, 0xe9, 0x03, 0x10, 0xaf, 0xf1, 0x8e, 0xc4, 0x1b, 0xaf, 0x8c, 0x01, 0x13, 0x5f, 0xc3, + 0xcc, 0x9f, 0x85, 0x2d, 0xb6, 0x65, 0xd5, 0x1b, 0x72, 0xb6, 0xf3, 0x9d, 0xf3, 0xfd, 0xce, 0xf4, + 0x9c, 0x02, 0x46, 0xea, 0x24, 0xf2, 0xea, 0x0d, 0xc2, 0x42, 0x7c, 0x1e, 0xed, 0xb4, 0x69, 0xb4, + 0xeb, 0xb4, 0x22, 0x2e, 0x38, 0x1c, 0x3c, 0x7b, 0xec, 0x9c, 0x45, 0x95, 0x01, 0xd2, 0x64, 0x21, + 0xc7, 0xea, 0xaf, 0xd6, 0x55, 0x86, 0x7c, 0xee, 0x73, 0x15, 0x62, 0x19, 0x99, 0xa7, 0x77, 0x7c, + 0xce, 0xfd, 0x80, 0x62, 0xd2, 0x62, 0x98, 0x84, 0x21, 0x17, 0x44, 0x30, 0x1e, 0xc6, 0xe6, 0x74, + 0xb2, 0xce, 0xe3, 0x26, 0x8f, 0x71, 0x8d, 0xc4, 0x54, 0x9b, 0xe2, 0x57, 0xd3, 0x35, 0x2a, 0xc8, + 0x34, 0x6e, 0x11, 0x9f, 0x85, 0x4a, 0x6c, 0xb4, 0xa3, 0x69, 0xa0, 0x2d, 0x12, 0x91, 0x66, 0xa7, + 0xda, 0x83, 0x54, 0x45, 0xc4, 0xbd, 0x76, 0x5d, 0x6c, 0x7b, 0x54, 0x10, 0x16, 0xe4, 0x4a, 0x65, + 0xb4, 0xfd, 0x9a, 0x89, 0xc6, 0x36, 0x6b, 0x12, 0x9f, 0x1a, 0xa9, 0x9d, 0x26, 0x6d, 0xc7, 0x34, + 0xd2, 0xe7, 0x68, 0x08, 0xc0, 0x4d, 0x49, 0xbe, 0xa1, 0x50, 0x5c, 0xba, 0xd3, 0xa6, 0xb1, 0x40, + 0x5b, 0x60, 0x30, 0xf1, 0x34, 0x6e, 0xf1, 0x30, 0xa6, 0x70, 0x09, 0x94, 0x35, 0xf2, 0xb0, 0x35, + 0x6a, 0x4d, 0x5c, 0x9f, 0xb9, 0xed, 0xa4, 0xdc, 0xae, 0xa3, 0x93, 0xaa, 0x7d, 0x47, 0xdf, 0x47, + 0x0a, 0x1f, 0x7f, 0x7d, 0x9a, 0xb4, 0x5c, 0x93, 0x85, 0x30, 0xb8, 0xab, 0xca, 0xae, 0x51, 0xb1, + 0xa1, 0x1b, 0x5b, 0xd5, 0x7d, 0x19, 0x5f, 0xd8, 0x0f, 0x8a, 0xcc, 0x53, 0xc5, 0x4b, 0x6e, 0x91, + 0x79, 0x28, 0x06, 0x76, 0x56, 0x82, 0x41, 0xda, 0x04, 0xfd, 0xc9, 0x13, 0x83, 0x76, 0x2f, 0x1d, + 0x2d, 0x21, 0xad, 0x96, 0x24, 0xa2, 0x7b, 0xa1, 0x00, 0xf2, 0x0d, 0xe5, 0x72, 0x10, 0xa4, 0x53, + 0x3e, 0x03, 0xe0, 0xfc, 0xfd, 0x1a, 0xbf, 0x31, 0x47, 0x0f, 0x83, 0x23, 0x87, 0xc1, 0xd1, 0x13, + 0x68, 0x86, 0xc1, 0xd9, 0x20, 0x3e, 0x35, 0xb9, 0x6e, 0x57, 0x26, 0x3a, 0xb4, 0x4c, 0x7b, 0x29, + 0x4e, 0x39, 0xed, 0x5d, 0xf9, 0xaf, 0xf6, 0xe0, 0x5a, 0x82, 0xbe, 0xa8, 0xe8, 0xc7, 0x2f, 0xa5, + 0xd7, 0x3c, 0x09, 0xfc, 0x49, 0x70, 0x43, 0xd1, 0xaf, 0x90, 0xc8, 0xeb, 0x5c, 0xcd, 0x4d, 0x50, + 0x96, 0x38, 0xeb, 0x9d, 0x97, 0x68, 0x7e, 0xa1, 0xe7, 0x60, 0xa0, 0x4b, 0x6b, 0x9a, 0x9b, 0x07, + 0x25, 0x79, 0x6c, 0x6e, 0x10, 0xa5, 0xb6, 0x24, 0x13, 0x5e, 0x30, 0xd1, 0x58, 0x97, 0x33, 0xed, + 0x2a, 0x3d, 0x7a, 0x68, 0x8c, 0xb7, 0x62, 0x1a, 0x75, 0x8c, 0x87, 0xc1, 0x35, 0xe2, 0x79, 0x11, + 0x8d, 0xf5, 0x00, 0xf4, 0xb9, 0x9d, 0x9f, 0xa8, 0x6a, 0xac, 0xb5, 0xda, 0x58, 0x4f, 0x81, 0x92, + 0x5c, 0x02, 0x63, 0x7d, 0x2b, 0xd5, 0x5a, 0x25, 0x28, 0xd9, 0xcc, 0x97, 0x32, 0xb8, 0xaa, 0x8a, + 0xc0, 0xf7, 0x16, 0x28, 0xeb, 0x01, 0x87, 0xe3, 0xa9, 0x59, 0x7f, 0x6e, 0x53, 0x65, 0xe2, 0x72, + 0xa1, 0xc6, 0x42, 0x73, 0x6f, 0xbf, 0xfe, 0x3c, 0x28, 0x62, 0x38, 0x85, 0x57, 0x69, 0x9d, 0x86, + 0x22, 0x22, 0x81, 0xbc, 0x80, 0x35, 0xd2, 0xa4, 0x38, 0xfb, 0x03, 0x02, 0x3f, 0x5b, 0x17, 0xc7, + 0x04, 0xce, 0x64, 0x7b, 0x66, 0x6d, 0x5f, 0x65, 0xf6, 0xaf, 0x72, 0x0c, 0xf2, 0x8a, 0x42, 0x5e, + 0x84, 0x4f, 0x7a, 0x45, 0x4e, 0x7e, 0xd1, 0xf0, 0x1e, 0xf3, 0xf6, 0xe1, 0xa1, 0x05, 0x06, 0x92, + 0xf5, 0x97, 0x83, 0x20, 0xaf, 0x87, 0xac, 0xdd, 0xcc, 0xeb, 0x21, 0x73, 0xcb, 0xd0, 0x92, 0xea, + 0x61, 0x01, 0xce, 0xff, 0x5b, 0x0f, 0xf0, 0xc0, 0x02, 0x25, 0x99, 0x00, 0xef, 0x67, 0xbb, 0x77, + 0x6d, 0x49, 0x65, 0xec, 0x32, 0x99, 0xe1, 0x7a, 0xaa, 0xb8, 0xe6, 0xe1, 0xa3, 0x1e, 0xb9, 0x64, + 0x84, 0xf7, 0xf4, 0xca, 0xed, 0xc3, 0x0f, 0x16, 0x28, 0xc9, 0x19, 0xce, 0xa3, 0xea, 0x5a, 0xa1, + 0x3c, 0xaa, 0xee, 0xdd, 0x41, 0x8b, 0x8a, 0xea, 0x31, 0x9c, 0xeb, 0x91, 0x4a, 0x6e, 0x10, 0xde, + 0x33, 0xeb, 0xb8, 0x5f, 0x75, 0x8f, 0x4e, 0x6c, 0xeb, 0xf8, 0xc4, 0xb6, 0x7e, 0x9c, 0xd8, 0xd6, + 0xbb, 0x53, 0xbb, 0x70, 0x7c, 0x6a, 0x17, 0xbe, 0x9d, 0xda, 0x85, 0x97, 0x0b, 0x3e, 0x13, 0x8d, + 0x76, 0xcd, 0xa9, 0xf3, 0x66, 0x6e, 0xe9, 0x37, 0x5d, 0xb1, 0xd8, 0x6d, 0xd1, 0xb8, 0x56, 0x56, + 0xff, 0xcc, 0x66, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xf7, 0x42, 0x8e, 0xdf, 0x0f, 0x08, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -462,6 +558,8 @@ type QueryClient interface { ProductDetailsAll(ctx context.Context, in *QueryAllProductDetailsRequest, opts ...grpc.CallOption) (*QueryAllProductDetailsResponse, error) // Queries a list of Card items. Card(ctx context.Context, in *QueryCardRequest, opts ...grpc.CallOption) (*QueryCardResponse, error) + // Queries a list of User items. + User(ctx context.Context, in *QueryUserRequest, opts ...grpc.CallOption) (*QueryUserResponse, error) } type queryClient struct { @@ -508,6 +606,15 @@ func (c *queryClient) Card(ctx context.Context, in *QueryCardRequest, opts ...gr return out, nil } +func (c *queryClient) User(ctx context.Context, in *QueryUserRequest, opts ...grpc.CallOption) (*QueryUserResponse, error) { + out := new(QueryUserResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/User", 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. @@ -517,6 +624,8 @@ type QueryServer interface { ProductDetailsAll(context.Context, *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) // Queries a list of Card items. Card(context.Context, *QueryCardRequest) (*QueryCardResponse, error) + // Queries a list of User items. + User(context.Context, *QueryUserRequest) (*QueryUserResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -535,6 +644,9 @@ func (*UnimplementedQueryServer) ProductDetailsAll(ctx context.Context, req *Que func (*UnimplementedQueryServer) Card(ctx context.Context, req *QueryCardRequest) (*QueryCardResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Card not implemented") } +func (*UnimplementedQueryServer) User(ctx context.Context, req *QueryUserRequest) (*QueryUserResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method User not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -612,6 +724,24 @@ func _Query_Card_Handler(srv interface{}, ctx context.Context, dec func(interfac return interceptor(ctx, in, info, handler) } +func _Query_User_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryUserRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).User(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/User", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).User(ctx, req.(*QueryUserRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -633,6 +763,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Card", Handler: _Query_Card_Handler, }, + { + MethodName: "User", + Handler: _Query_User_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -902,6 +1036,71 @@ func (m *QueryCardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *QueryUserRequest) 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 *QueryUserRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryUserRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryUserResponse) 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 *QueryUserResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryUserResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.User != nil { + { + size, err := m.User.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 @@ -1013,6 +1212,32 @@ func (m *QueryCardResponse) Size() (n int) { return n } +func (m *QueryUserRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryUserResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.User != nil { + l = m.User.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -1665,6 +1890,174 @@ func (m *QueryCardResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryUserRequest) 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: QueryUserRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryUserRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", 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.Address = 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 *QueryUserResponse) 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: QueryUserResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryUserResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", 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.User == nil { + m.User = &User{} + } + if err := m.User.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index af5883b3..766f2924 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -195,6 +195,60 @@ func local_request_Query_Card_0(ctx context.Context, marshaler runtime.Marshaler } +func request_Query_User_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryUserRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["address"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "address") + } + + protoReq.Address, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "address", err) + } + + msg, err := client.User(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_User_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryUserRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["address"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "address") + } + + protoReq.Address, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "address", err) + } + + msg, err := server.User(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. @@ -293,6 +347,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_User_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_User_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_User_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -414,6 +491,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_User_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_User_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_User_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -425,6 +522,8 @@ var ( pattern_Query_ProductDetailsAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "product_details"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_Card_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "card", "cardId"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_User_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "user", "address"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -435,4 +534,6 @@ var ( forward_Query_ProductDetailsAll_0 = runtime.ForwardResponseMessage forward_Query_Card_0 = runtime.ForwardResponseMessage + + forward_Query_User_0 = runtime.ForwardResponseMessage ) From 4e8a863bd38f954831696ada8b709d16f2f9dbc8 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 11:46:50 +0100 Subject: [PATCH 37/99] feat(#242): renamed status to cardStatus because hell --- api/cardchain/cardchain/card.pulsar.go | 210 +++++++++--------- .../cardchain/card_with_image.pulsar.go | 7 +- api/cardchain/cardchain/council.pulsar.go | 9 +- api/cardchain/cardchain/encounter.pulsar.go | 9 +- api/cardchain/cardchain/genesis.pulsar.go | 9 +- api/cardchain/cardchain/image.pulsar.go | 7 +- api/cardchain/cardchain/match.pulsar.go | 7 +- .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- .../cardchain/product_details.pulsar.go | 7 +- api/cardchain/cardchain/query.pulsar.go | 9 +- api/cardchain/cardchain/query_grpc.pb.go | 1 - .../cardchain/running_average.pulsar.go | 7 +- api/cardchain/cardchain/sell_offer.pulsar.go | 9 +- api/cardchain/cardchain/server.pulsar.go | 7 +- api/cardchain/cardchain/set.pulsar.go | 9 +- api/cardchain/cardchain/tx.pulsar.go | 11 +- api/cardchain/cardchain/tx_grpc.pb.go | 1 - api/cardchain/cardchain/user.pulsar.go | 7 +- api/cardchain/cardchain/voting.pulsar.go | 7 +- api/cardchain/cardchain/zealy.pulsar.go | 7 +- api/cardchain/featureflag/flag.pulsar.go | 7 +- api/cardchain/featureflag/genesis.pulsar.go | 11 +- .../featureflag/module/module.pulsar.go | 9 +- api/cardchain/featureflag/params.pulsar.go | 9 +- api/cardchain/featureflag/query.pulsar.go | 9 +- api/cardchain/featureflag/query_grpc.pb.go | 1 - api/cardchain/featureflag/tx.pulsar.go | 9 +- api/cardchain/featureflag/tx_grpc.pb.go | 1 - docs/static/openapi.yml | 2 +- proto/cardchain/cardchain/card.proto | 4 +- x/cardchain/keeper/card.go | 2 +- x/cardchain/keeper/council.go | 4 +- .../keeper/msg_server_card_artist_change.go | 2 +- .../keeper/msg_server_card_artwork_add.go | 6 +- .../keeper/msg_server_card_save_content.go | 8 +- .../keeper/msg_server_card_transfer.go | 2 +- .../keeper/msg_server_council_create.go | 2 +- .../keeper/msg_server_profile_card_set.go | 2 +- x/cardchain/keeper/msg_server_set_card_add.go | 2 +- x/cardchain/keeper/vote_right.go | 4 +- x/cardchain/keeper/voting.go | 2 +- x/cardchain/types/card.go | 2 +- x/cardchain/types/card.pb.go | 145 ++++++------ x/cardchain/types/card_with_image.pb.go | 5 +- x/cardchain/types/council.pb.go | 7 +- x/cardchain/types/encounter.pb.go | 5 +- x/cardchain/types/genesis.pb.go | 7 +- x/cardchain/types/image.pb.go | 3 +- x/cardchain/types/match.pb.go | 3 +- x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/product_details.pb.go | 3 +- x/cardchain/types/query.pb.go | 7 +- x/cardchain/types/running_average.pb.go | 3 +- x/cardchain/types/sell_offer.pb.go | 7 +- x/cardchain/types/server.pb.go | 3 +- x/cardchain/types/set.pb.go | 5 +- x/cardchain/types/tx.pb.go | 7 +- x/cardchain/types/user.pb.go | 3 +- x/cardchain/types/voting.pb.go | 3 +- x/cardchain/types/zealy.pb.go | 3 +- x/featureflag/types/flag.pb.go | 3 +- x/featureflag/types/genesis.pb.go | 7 +- x/featureflag/types/params.pb.go | 7 +- x/featureflag/types/query.pb.go | 7 +- x/featureflag/types/tx.pb.go | 7 +- 66 files changed, 332 insertions(+), 383 deletions(-) diff --git a/api/cardchain/cardchain/card.pulsar.go b/api/cardchain/cardchain/card.pulsar.go index b7c45e96..32747a36 100644 --- a/api/cardchain/cardchain/card.pulsar.go +++ b/api/cardchain/cardchain/card.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Card_14_list)(nil) @@ -473,7 +472,7 @@ func (x *fastReflection_Card) Set(fd protoreflect.FieldDescriptor, value protore case "cardchain.cardchain.Card.notes": x.Notes = value.Interface().(string) case "cardchain.cardchain.Card.status": - x.Status = (Status)(value.Enum()) + x.Status = (CardStatus)(value.Enum()) case "cardchain.cardchain.Card.votePool": x.VotePool = value.Message().Interface().(*v1beta1.Coin) case "cardchain.cardchain.Card.voters": @@ -1120,7 +1119,7 @@ func (x *fastReflection_Card) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.Status |= Status(b&0x7F) << shift + x.Status |= CardStatus(b&0x7F) << shift if b < 0x80 { break } @@ -1799,24 +1798,24 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type Status int32 +type CardStatus int32 const ( - Status_scheme Status = 0 - Status_prototype Status = 1 - Status_trial Status = 2 - Status_permanent Status = 3 - Status_suspended Status = 4 - Status_banned Status = 5 - Status_bannedSoon Status = 6 - Status_bannedVerySoon Status = 7 - Status_none Status = 8 - Status_adventureItem Status = 9 + CardStatus_scheme CardStatus = 0 + CardStatus_prototype CardStatus = 1 + CardStatus_trial CardStatus = 2 + CardStatus_permanent CardStatus = 3 + CardStatus_suspended CardStatus = 4 + CardStatus_banned CardStatus = 5 + CardStatus_bannedSoon CardStatus = 6 + CardStatus_bannedVerySoon CardStatus = 7 + CardStatus_none CardStatus = 8 + CardStatus_adventureItem CardStatus = 9 ) -// Enum value maps for Status. +// Enum value maps for CardStatus. var ( - Status_name = map[int32]string{ + CardStatus_name = map[int32]string{ 0: "scheme", 1: "prototype", 2: "trial", @@ -1828,7 +1827,7 @@ var ( 8: "none", 9: "adventureItem", } - Status_value = map[string]int32{ + CardStatus_value = map[string]int32{ "scheme": 0, "prototype": 1, "trial": 2, @@ -1842,30 +1841,30 @@ var ( } ) -func (x Status) Enum() *Status { - p := new(Status) +func (x CardStatus) Enum() *CardStatus { + p := new(CardStatus) *p = x return p } -func (x Status) String() string { +func (x CardStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (Status) Descriptor() protoreflect.EnumDescriptor { +func (CardStatus) Descriptor() protoreflect.EnumDescriptor { return file_cardchain_cardchain_card_proto_enumTypes[0].Descriptor() } -func (Status) Type() protoreflect.EnumType { +func (CardStatus) Type() protoreflect.EnumType { return &file_cardchain_cardchain_card_proto_enumTypes[0] } -func (x Status) Number() protoreflect.EnumNumber { +func (x CardStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use Status.Descriptor instead. -func (Status) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use CardStatus.Descriptor instead. +func (CardStatus) EnumDescriptor() ([]byte, []int) { return file_cardchain_cardchain_card_proto_rawDescGZIP(), []int{0} } @@ -2039,7 +2038,7 @@ type Card struct { ImageId uint64 `protobuf:"varint,4,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` FullArt bool `protobuf:"varint,5,opt,name=fullArt,proto3" json:"fullArt,omitempty"` Notes string `protobuf:"bytes,6,opt,name=notes,proto3" json:"notes,omitempty"` - Status Status `protobuf:"varint,7,opt,name=status,proto3,enum=cardchain.cardchain.Status" json:"status,omitempty"` + Status CardStatus `protobuf:"varint,7,opt,name=status,proto3,enum=cardchain.cardchain.CardStatus" json:"status,omitempty"` VotePool *v1beta1.Coin `protobuf:"bytes,8,opt,name=votePool,proto3" json:"votePool,omitempty"` Voters []string `protobuf:"bytes,14,rep,name=voters,proto3" json:"voters,omitempty"` FairEnoughVotes uint64 `protobuf:"varint,9,opt,name=fairEnoughVotes,proto3" json:"fairEnoughVotes,omitempty"` @@ -2114,11 +2113,11 @@ func (x *Card) GetNotes() string { return "" } -func (x *Card) GetStatus() Status { +func (x *Card) GetStatus() CardStatus { if x != nil { return x.Status } - return Status_scheme + return CardStatus_scheme } func (x *Card) GetVotePool() *v1beta1.Coin { @@ -2235,7 +2234,7 @@ var file_cardchain_cardchain_card_proto_rawDesc = []byte{ 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6, 0x04, 0x0a, 0x04, + 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa, 0x04, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, @@ -2245,76 +2244,77 @@ var file_cardchain_cardchain_card_proto_rawDesc = []byte{ 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x08, - 0x76, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, - 0x08, 0x76, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x6f, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, - 0x6f, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x72, - 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6f, - 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, - 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x75, 0x6e, 0x64, 0x65, 0x72, - 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x11, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, - 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, - 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, - 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x72, 0x66, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x72, 0x66, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, - 0x63, 0x68, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x72, - 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x06, 0x72, 0x61, - 0x72, 0x69, 0x74, 0x79, 0x22, 0x29, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x2a, - 0x99, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x65, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x74, - 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x10, 0x02, - 0x12, 0x0d, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x10, 0x03, 0x12, - 0x0d, 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x10, 0x04, 0x12, 0x0a, - 0x0a, 0x06, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x62, 0x61, - 0x6e, 0x6e, 0x65, 0x64, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x62, 0x61, - 0x6e, 0x6e, 0x65, 0x64, 0x56, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x07, 0x12, 0x08, - 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, - 0x6e, 0x74, 0x75, 0x72, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x09, 0x2a, 0x4d, 0x0a, 0x0a, 0x43, - 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x72, 0x61, 0x72, 0x65, 0x10, 0x02, 0x12, 0x0f, 0x0a, - 0x0b, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x10, 0x03, 0x12, 0x0a, - 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x10, 0x04, 0x2a, 0x43, 0x0a, 0x09, 0x43, 0x61, - 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x63, 0x75, 0x6c, 0x74, 0x75, 0x72, 0x65, 0x10, 0x01, - 0x12, 0x0d, 0x0a, 0x09, 0x6d, 0x79, 0x73, 0x74, 0x69, 0x63, 0x69, 0x73, 0x6d, 0x10, 0x02, 0x12, - 0x0e, 0x0a, 0x0a, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x10, 0x03, 0x2a, - 0x3e, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x70, - 0x6c, 0x61, 0x63, 0x65, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x02, 0x12, 0x0f, - 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x10, 0x03, 0x42, - 0xd1, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x09, 0x43, 0x61, 0x72, - 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, - 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, + 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x3b, 0x0a, 0x08, 0x76, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, + 0xde, 0x1f, 0x00, 0x52, 0x08, 0x76, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, + 0x06, 0x76, 0x6f, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, + 0x6f, 0x74, 0x65, 0x72, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x72, 0x45, 0x6e, 0x6f, + 0x75, 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, + 0x66, 0x61, 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, + 0x2a, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, + 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x70, + 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x75, + 0x6e, 0x64, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x70, 0x6f, 0x77, + 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, + 0x69, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x72, + 0x66, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, + 0x72, 0x66, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x12, 0x20, 0x0a, + 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, + 0x37, 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x22, 0x29, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, + 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x6d, 0x70, 0x2a, 0x9d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x10, 0x00, 0x12, 0x0d, + 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x74, 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, 0x09, 0x0a, + 0x05, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, + 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, + 0x6e, 0x64, 0x65, 0x64, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, + 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x53, 0x6f, 0x6f, 0x6e, + 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x56, 0x65, 0x72, 0x79, + 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x10, 0x08, + 0x12, 0x11, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x65, 0x49, 0x74, 0x65, + 0x6d, 0x10, 0x09, 0x2a, 0x4d, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x0c, 0x0a, + 0x08, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x72, + 0x61, 0x72, 0x65, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, + 0x10, 0x04, 0x2a, 0x43, 0x0a, 0x09, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, + 0x0a, 0x0a, 0x06, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x63, + 0x75, 0x6c, 0x74, 0x75, 0x72, 0x65, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x6d, 0x79, 0x73, 0x74, + 0x69, 0x63, 0x69, 0x73, 0x6d, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x74, 0x65, 0x63, 0x68, 0x6e, + 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x10, 0x03, 0x2a, 0x3e, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x10, 0x00, 0x12, 0x0a, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x71, 0x75, + 0x61, 0x72, 0x74, 0x65, 0x72, 0x10, 0x03, 0x42, 0xd1, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x42, 0x09, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -2332,7 +2332,7 @@ func file_cardchain_cardchain_card_proto_rawDescGZIP() []byte { var file_cardchain_cardchain_card_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_cardchain_cardchain_card_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_cardchain_cardchain_card_proto_goTypes = []interface{}{ - (Status)(0), // 0: cardchain.cardchain.Status + (CardStatus)(0), // 0: cardchain.cardchain.CardStatus (CardRarity)(0), // 1: cardchain.cardchain.CardRarity (CardClass)(0), // 2: cardchain.cardchain.CardClass (CardType)(0), // 3: cardchain.cardchain.CardType @@ -2341,7 +2341,7 @@ var file_cardchain_cardchain_card_proto_goTypes = []interface{}{ (*v1beta1.Coin)(nil), // 6: cosmos.base.v1beta1.Coin } var file_cardchain_cardchain_card_proto_depIdxs = []int32{ - 0, // 0: cardchain.cardchain.Card.status:type_name -> cardchain.cardchain.Status + 0, // 0: cardchain.cardchain.Card.status:type_name -> cardchain.cardchain.CardStatus 6, // 1: cardchain.cardchain.Card.votePool:type_name -> cosmos.base.v1beta1.Coin 1, // 2: cardchain.cardchain.Card.rarity:type_name -> cardchain.cardchain.CardRarity 3, // [3:3] is the sub-list for method output_type diff --git a/api/cardchain/cardchain/card_with_image.pulsar.go b/api/cardchain/cardchain/card_with_image.pulsar.go index d8c51a08..c161546e 100644 --- a/api/cardchain/cardchain/card_with_image.pulsar.go +++ b/api/cardchain/cardchain/card_with_image.pulsar.go @@ -3,15 +3,14 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/council.pulsar.go b/api/cardchain/cardchain/council.pulsar.go index 1afba505..ad8e4373 100644 --- a/api/cardchain/cardchain/council.pulsar.go +++ b/api/cardchain/cardchain/council.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Council_2_list)(nil) diff --git a/api/cardchain/cardchain/encounter.pulsar.go b/api/cardchain/cardchain/encounter.pulsar.go index 7dc474db..f8002c77 100644 --- a/api/cardchain/cardchain/encounter.pulsar.go +++ b/api/cardchain/cardchain/encounter.pulsar.go @@ -3,16 +3,15 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var _ protoreflect.List = (*_Encounter_2_list)(nil) diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index 4d3bf7a0..c48c933d 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_GenesisState_2_list)(nil) diff --git a/api/cardchain/cardchain/image.pulsar.go b/api/cardchain/cardchain/image.pulsar.go index db59a9e8..627dece1 100644 --- a/api/cardchain/cardchain/image.pulsar.go +++ b/api/cardchain/cardchain/image.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go index b2e29884..191ba7fd 100644 --- a/api/cardchain/cardchain/match.pulsar.go +++ b/api/cardchain/cardchain/match.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index dead9881..2b190f83 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,16 +2,15 @@ package module import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index ed6b2b87..11ddc437 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,18 +2,17 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/product_details.pulsar.go b/api/cardchain/cardchain/product_details.pulsar.go index f50578bd..4217d854 100644 --- a/api/cardchain/cardchain/product_details.pulsar.go +++ b/api/cardchain/cardchain/product_details.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index ad9ee40b..48c58896 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,19 +2,18 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 5e2a4004..91f804be 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/running_average.pulsar.go b/api/cardchain/cardchain/running_average.pulsar.go index 48c3ca74..9cff2c1b 100644 --- a/api/cardchain/cardchain/running_average.pulsar.go +++ b/api/cardchain/cardchain/running_average.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_RunningAverage_1_list)(nil) diff --git a/api/cardchain/cardchain/sell_offer.pulsar.go b/api/cardchain/cardchain/sell_offer.pulsar.go index 5f5fb235..55fde4b3 100644 --- a/api/cardchain/cardchain/sell_offer.pulsar.go +++ b/api/cardchain/cardchain/sell_offer.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/server.pulsar.go b/api/cardchain/cardchain/server.pulsar.go index 25cbab32..e8d66d38 100644 --- a/api/cardchain/cardchain/server.pulsar.go +++ b/api/cardchain/cardchain/server.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go index 0ff46d34..84be5f2e 100644 --- a/api/cardchain/cardchain/set.pulsar.go +++ b/api/cardchain/cardchain/set.pulsar.go @@ -2,16 +2,15 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Set_2_list)(nil) diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index 3617fc13..ac894ab3 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,21 +2,20 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 51db3503..3dd8f52f 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/user.pulsar.go b/api/cardchain/cardchain/user.pulsar.go index a6f11922..c0c7e0ad 100644 --- a/api/cardchain/cardchain/user.pulsar.go +++ b/api/cardchain/cardchain/user.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_User_2_list)(nil) diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go index bf614c4f..2a02aa7e 100644 --- a/api/cardchain/cardchain/voting.pulsar.go +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_VotingResults_6_list)(nil) diff --git a/api/cardchain/cardchain/zealy.pulsar.go b/api/cardchain/cardchain/zealy.pulsar.go index 7879a400..8dedd508 100644 --- a/api/cardchain/cardchain/zealy.pulsar.go +++ b/api/cardchain/cardchain/zealy.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/flag.pulsar.go b/api/cardchain/featureflag/flag.pulsar.go index 932ce355..10b5e452 100644 --- a/api/cardchain/featureflag/flag.pulsar.go +++ b/api/cardchain/featureflag/flag.pulsar.go @@ -3,14 +3,13 @@ package featureflag import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/genesis.pulsar.go b/api/cardchain/featureflag/genesis.pulsar.go index ddfe3040..2c435bb2 100644 --- a/api/cardchain/featureflag/genesis.pulsar.go +++ b/api/cardchain/featureflag/genesis.pulsar.go @@ -2,18 +2,17 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var _ protoreflect.Map = (*_GenesisState_2_map)(nil) diff --git a/api/cardchain/featureflag/module/module.pulsar.go b/api/cardchain/featureflag/module/module.pulsar.go index 5650e208..947efc3f 100644 --- a/api/cardchain/featureflag/module/module.pulsar.go +++ b/api/cardchain/featureflag/module/module.pulsar.go @@ -2,16 +2,15 @@ package module import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/params.pulsar.go b/api/cardchain/featureflag/params.pulsar.go index 6b347b45..fb51fec2 100644 --- a/api/cardchain/featureflag/params.pulsar.go +++ b/api/cardchain/featureflag/params.pulsar.go @@ -2,17 +2,16 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query.pulsar.go b/api/cardchain/featureflag/query.pulsar.go index 1e62212d..3419d3a4 100644 --- a/api/cardchain/featureflag/query.pulsar.go +++ b/api/cardchain/featureflag/query.pulsar.go @@ -2,19 +2,18 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query_grpc.pb.go b/api/cardchain/featureflag/query_grpc.pb.go index 0e8130e8..f7957337 100644 --- a/api/cardchain/featureflag/query_grpc.pb.go +++ b/api/cardchain/featureflag/query_grpc.pb.go @@ -8,7 +8,6 @@ package featureflag import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/featureflag/tx.pulsar.go b/api/cardchain/featureflag/tx.pulsar.go index dd3db629..0cef5f49 100644 --- a/api/cardchain/featureflag/tx.pulsar.go +++ b/api/cardchain/featureflag/tx.pulsar.go @@ -2,19 +2,18 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/tx_grpc.pb.go b/api/cardchain/featureflag/tx_grpc.pb.go index 9d8cbe66..95442cac 100644 --- a/api/cardchain/featureflag/tx_grpc.pb.go +++ b/api/cardchain/featureflag/tx_grpc.pb.go @@ -8,7 +8,6 @@ package featureflag import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 02051d55..cb9ef825 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin21","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin22","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.Status"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.Status":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin21","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin22","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/card.proto b/proto/cardchain/cardchain/card.proto index 23fff9c0..39834343 100644 --- a/proto/cardchain/cardchain/card.proto +++ b/proto/cardchain/cardchain/card.proto @@ -13,7 +13,7 @@ message Card { uint64 image_id = 4; bool fullArt = 5; string notes = 6; - Status status = 7; + CardStatus status = 7; cosmos.base.v1beta1.Coin votePool = 8 [ (gogoproto.nullable) = false ]; repeated string voters = 14; uint64 fairEnoughVotes = 9; @@ -26,7 +26,7 @@ message Card { CardRarity rarity = 17; } -enum Status { +enum CardStatus { scheme = 0; prototype = 1; trial = 2; diff --git a/x/cardchain/keeper/card.go b/x/cardchain/keeper/card.go index 265c0836..96149c16 100644 --- a/x/cardchain/keeper/card.go +++ b/x/cardchain/keeper/card.go @@ -16,7 +16,7 @@ func (k Keeper) SetCardToTrial(ctx sdk.Context, cardId uint64, votePool sdk.Coin card := k.Cards.Get(ctx, cardId) card.ResetVotes() card.VotePool = card.VotePool.Add(votePool) - card.Status = types.Status_trial + card.Status = types.CardStatus_trial k.Cards.Set(ctx, cardId, card) k.SetLastCardModifiedNow(ctx) } diff --git a/x/cardchain/keeper/council.go b/x/cardchain/keeper/council.go index fce3091e..fe7f8b8c 100644 --- a/x/cardchain/keeper/council.go +++ b/x/cardchain/keeper/council.go @@ -101,12 +101,12 @@ func (k Keeper) CheckTrial(ctx sdk.Context) error { continue } if card.FairEnoughVotes == votes[len(votes)-1] { - card.Status = types.Status_permanent + card.Status = types.CardStatus_permanent group = approvers amt = 2 k.SetLastCardModifiedNow(ctx) } else { - card.Status = types.Status_prototype + card.Status = types.CardStatus_prototype group = deniers amt = 3 } diff --git a/x/cardchain/keeper/msg_server_card_artist_change.go b/x/cardchain/keeper/msg_server_card_artist_change.go index 7d47cad2..05162d8f 100644 --- a/x/cardchain/keeper/msg_server_card_artist_change.go +++ b/x/cardchain/keeper/msg_server_card_artist_change.go @@ -14,7 +14,7 @@ func (k msgServer) CardArtistChange(goCtx context.Context, msg *types.MsgCardArt card := k.Cards.Get(ctx, msg.CardId) - if card.Status != types.Status_prototype { + if card.Status != types.CardStatus_prototype { return nil, errorsmod.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype to be changeable") } diff --git a/x/cardchain/keeper/msg_server_card_artwork_add.go b/x/cardchain/keeper/msg_server_card_artwork_add.go index 623449fa..1d4fc453 100644 --- a/x/cardchain/keeper/msg_server_card_artwork_add.go +++ b/x/cardchain/keeper/msg_server_card_artwork_add.go @@ -20,7 +20,7 @@ func (k msgServer) CardArtworkAdd(goCtx context.Context, msg *types.MsgCardArtwo return nil, err } - if councilEnabled && card.Status != types.Status_prototype && card.Status != types.Status_scheme { + if councilEnabled && card.Status != types.CardStatus_prototype && card.Status != types.CardStatus_scheme { return nil, sdkerrors.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype to be changeable") } @@ -31,8 +31,8 @@ func (k msgServer) CardArtworkAdd(goCtx context.Context, msg *types.MsgCardArtwo card.FullArt = msg.FullArt image.Image = msg.Image - if card.Status == types.Status_suspended { - card.Status = types.Status_permanent + if card.Status == types.CardStatus_suspended { + card.Status = types.CardStatus_permanent } k.Cards.Set(ctx, msg.CardId, card) diff --git a/x/cardchain/keeper/msg_server_card_save_content.go b/x/cardchain/keeper/msg_server_card_save_content.go index 6965f3a7..4486f283 100644 --- a/x/cardchain/keeper/msg_server_card_save_content.go +++ b/x/cardchain/keeper/msg_server_card_save_content.go @@ -26,7 +26,7 @@ func (k msgServer) CardSaveContent(goCtx context.Context, msg *types.MsgCardSave } // Checks card status - if councilEnabled && card.Status != types.Status_prototype && card.Status != types.Status_scheme { + if councilEnabled && card.Status != types.CardStatus_prototype && card.Status != types.CardStatus_scheme { return nil, errorsmod.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype or scheme to be changeable") } @@ -50,7 +50,7 @@ func (k msgServer) CardSaveContent(goCtx context.Context, msg *types.MsgCardSave card.Notes = msg.Notes card.Artist = msg.Artist card.BalanceAnchor = msg.BalanceAnchor - if card.Status == types.Status_scheme { + if card.Status == types.CardStatus_scheme { err = msgOwner.SchemeToCard(msg.CardId) if err != nil { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "An error accured while converting a card to a scheme: "+err.Error()) @@ -62,9 +62,9 @@ func (k msgServer) CardSaveContent(goCtx context.Context, msg *types.MsgCardSave // Sets correct state if councilEnabled { - card.Status = types.Status_prototype + card.Status = types.CardStatus_prototype } else { - card.Status = types.Status_permanent + card.Status = types.CardStatus_permanent } k.Cards.Set(ctx, msg.CardId, card) k.SetLastCardModifiedNow(ctx) diff --git a/x/cardchain/keeper/msg_server_card_transfer.go b/x/cardchain/keeper/msg_server_card_transfer.go index 31ef92fb..e1b366b2 100644 --- a/x/cardchain/keeper/msg_server_card_transfer.go +++ b/x/cardchain/keeper/msg_server_card_transfer.go @@ -30,7 +30,7 @@ func (k msgServer) CardTransfer(goCtx context.Context, msg *types.MsgCardTransfe return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Owner") // If not, throw an error } - if card.Status == types.Status_scheme { + if card.Status == types.CardStatus_scheme { creator.OwnedCardSchemes, err = util.PopItemFromArr(msg.CardId, creator.OwnedCardSchemes) if err != nil { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, err.Error()) diff --git a/x/cardchain/keeper/msg_server_council_create.go b/x/cardchain/keeper/msg_server_council_create.go index b5d2d6dc..bff66a8a 100644 --- a/x/cardchain/keeper/msg_server_council_create.go +++ b/x/cardchain/keeper/msg_server_council_create.go @@ -21,7 +21,7 @@ func (k msgServer) CouncilCreate(goCtx context.Context, msg *types.MsgCouncilCre } card := k.Cards.Get(ctx, msg.CardId) - //if card.Status != types.Status_prototype { + //if card.Status != types.CardStatus_prototype { // return nil, sdkerrors.Wrapf(types.ErrInvalidCardStatus, "%s", card.Status.String()) //} else if card.Owner != msg.Creator { diff --git a/x/cardchain/keeper/msg_server_profile_card_set.go b/x/cardchain/keeper/msg_server_profile_card_set.go index fddc738f..b425ae12 100644 --- a/x/cardchain/keeper/msg_server_profile_card_set.go +++ b/x/cardchain/keeper/msg_server_profile_card_set.go @@ -21,7 +21,7 @@ func (k msgServer) ProfileCardSet(goCtx context.Context, msg *types.MsgProfileCa card := k.Cards.Get(ctx, msg.CardId) if card.Owner != msg.Creator { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "You have to own the card") - } else if !slices.Contains([]types.Status{types.Status_trial, types.Status_permanent}, card.Status) { + } else if !slices.Contains([]types.CardStatus{types.CardStatus_trial, types.CardStatus_permanent}, card.Status) { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "The card has to be playable") } diff --git a/x/cardchain/keeper/msg_server_set_card_add.go b/x/cardchain/keeper/msg_server_set_card_add.go index 3411f9a4..7d02532d 100644 --- a/x/cardchain/keeper/msg_server_set_card_add.go +++ b/x/cardchain/keeper/msg_server_set_card_add.go @@ -32,7 +32,7 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( } card := k.Cards.Get(ctx, msg.CardId) - if card.Status != types.Status_permanent { + if card.Status != types.CardStatus_permanent { return nil, errorsmod.Wrap(types.ErrCardDoesNotExist, "Card is not permanent or does not exist") } diff --git a/x/cardchain/keeper/vote_right.go b/x/cardchain/keeper/vote_right.go index 66cddc66..4eaad39d 100644 --- a/x/cardchain/keeper/vote_right.go +++ b/x/cardchain/keeper/vote_right.go @@ -64,7 +64,7 @@ func (k Keeper) GetAllVotableCards(ctx sdk.Context) (votables []uint64) { idx, gottenCard := iter.Value() if !gottenCard.BalanceAnchor { switch gottenCard.Status { - case types.Status_permanent, types.Status_trial: + case types.CardStatus_permanent, types.CardStatus_trial: votables = append(votables, idx) } } @@ -89,7 +89,7 @@ func (k Keeper) ResetAllVotes(ctx sdk.Context) { for ; iter.Valid(); iter.Next() { idx, resetCard := iter.Value() - if resetCard.Status != types.Status_trial { + if resetCard.Status != types.CardStatus_trial { resetCard.ResetVotes() } k.Cards.Set(ctx, uint64(idx), resetCard) diff --git a/x/cardchain/keeper/voting.go b/x/cardchain/keeper/voting.go index a48830ce..6ef990f0 100644 --- a/x/cardchain/keeper/voting.go +++ b/x/cardchain/keeper/voting.go @@ -19,7 +19,7 @@ func (k Keeper) voteCard( card := k.Cards.Get(ctx, cardId) // check if card status is valid - if card.Status != types.Status_permanent && card.Status != types.Status_trial { + if card.Status != types.CardStatus_permanent && card.Status != types.CardStatus_trial { return sdkerrors.Wrap(errors.ErrUnknownRequest, "Voting on a card is only possible if it is in trial or a permanent card") } diff --git a/x/cardchain/types/card.go b/x/cardchain/types/card.go index c1b81a30..fa3d308e 100644 --- a/x/cardchain/types/card.go +++ b/x/cardchain/types/card.go @@ -12,7 +12,7 @@ func NewCard(owner sdk.AccAddress) Card { Owner: owner.String(), Notes: "", FullArt: true, - Status: Status_scheme, + Status: CardStatus_scheme, VotePool: sdk.NewInt64Coin("ucredits", 0), } } diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go index a5012bdd..e0cd33af 100644 --- a/x/cardchain/types/card.pb.go +++ b/x/cardchain/types/card.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. @@ -25,22 +24,22 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -type Status int32 +type CardStatus int32 const ( - Status_scheme Status = 0 - Status_prototype Status = 1 - Status_trial Status = 2 - Status_permanent Status = 3 - Status_suspended Status = 4 - Status_banned Status = 5 - Status_bannedSoon Status = 6 - Status_bannedVerySoon Status = 7 - Status_none Status = 8 - Status_adventureItem Status = 9 + CardStatus_scheme CardStatus = 0 + CardStatus_prototype CardStatus = 1 + CardStatus_trial CardStatus = 2 + CardStatus_permanent CardStatus = 3 + CardStatus_suspended CardStatus = 4 + CardStatus_banned CardStatus = 5 + CardStatus_bannedSoon CardStatus = 6 + CardStatus_bannedVerySoon CardStatus = 7 + CardStatus_none CardStatus = 8 + CardStatus_adventureItem CardStatus = 9 ) -var Status_name = map[int32]string{ +var CardStatus_name = map[int32]string{ 0: "scheme", 1: "prototype", 2: "trial", @@ -53,7 +52,7 @@ var Status_name = map[int32]string{ 9: "adventureItem", } -var Status_value = map[string]int32{ +var CardStatus_value = map[string]int32{ "scheme": 0, "prototype": 1, "trial": 2, @@ -66,11 +65,11 @@ var Status_value = map[string]int32{ "adventureItem": 9, } -func (x Status) String() string { - return proto.EnumName(Status_name, int32(x)) +func (x CardStatus) String() string { + return proto.EnumName(CardStatus_name, int32(x)) } -func (Status) EnumDescriptor() ([]byte, []int) { +func (CardStatus) EnumDescriptor() ([]byte, []int) { return fileDescriptor_a360ffd2377ddc30, []int{0} } @@ -177,7 +176,7 @@ type Card struct { ImageId uint64 `protobuf:"varint,4,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` FullArt bool `protobuf:"varint,5,opt,name=fullArt,proto3" json:"fullArt,omitempty"` Notes string `protobuf:"bytes,6,opt,name=notes,proto3" json:"notes,omitempty"` - Status Status `protobuf:"varint,7,opt,name=status,proto3,enum=cardchain.cardchain.Status" json:"status,omitempty"` + Status CardStatus `protobuf:"varint,7,opt,name=status,proto3,enum=cardchain.cardchain.CardStatus" json:"status,omitempty"` VotePool types.Coin `protobuf:"bytes,8,opt,name=votePool,proto3" json:"votePool"` Voters []string `protobuf:"bytes,14,rep,name=voters,proto3" json:"voters,omitempty"` FairEnoughVotes uint64 `protobuf:"varint,9,opt,name=fairEnoughVotes,proto3" json:"fairEnoughVotes,omitempty"` @@ -265,11 +264,11 @@ func (m *Card) GetNotes() string { return "" } -func (m *Card) GetStatus() Status { +func (m *Card) GetStatus() CardStatus { if m != nil { return m.Status } - return Status_scheme + return CardStatus_scheme } func (m *Card) GetVotePool() types.Coin { @@ -387,7 +386,7 @@ func (m *TimeStamp) GetTimeStamp() uint64 { } func init() { - proto.RegisterEnum("cardchain.cardchain.Status", Status_name, Status_value) + proto.RegisterEnum("cardchain.cardchain.CardStatus", CardStatus_name, CardStatus_value) proto.RegisterEnum("cardchain.cardchain.CardRarity", CardRarity_name, CardRarity_value) proto.RegisterEnum("cardchain.cardchain.CardClass", CardClass_name, CardClass_value) proto.RegisterEnum("cardchain.cardchain.CardType", CardType_name, CardType_value) @@ -398,54 +397,54 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/card.proto", fileDescriptor_a360ffd2377ddc30) } var fileDescriptor_a360ffd2377ddc30 = []byte{ - // 741 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x54, 0x4d, 0x8f, 0xdb, 0x36, - 0x10, 0x35, 0xd7, 0x5a, 0xd9, 0x1a, 0xef, 0x07, 0x97, 0x0d, 0x0a, 0x25, 0x2d, 0x14, 0x21, 0xe8, - 0x41, 0x35, 0x0a, 0x19, 0x49, 0x0e, 0x2d, 0x50, 0xa0, 0x40, 0xb2, 0x2d, 0x8a, 0x1c, 0x0a, 0x14, - 0xda, 0x20, 0x87, 0x5e, 0x0a, 0x9a, 0x9a, 0xb5, 0x09, 0x48, 0xa4, 0x42, 0x52, 0x4e, 0xfc, 0x2f, - 0x7a, 0xed, 0x3f, 0xca, 0x31, 0xc7, 0x9e, 0x8a, 0x62, 0xf7, 0x3f, 0xf4, 0x1c, 0x90, 0xf2, 0x7e, - 0x24, 0xd9, 0xdb, 0xbc, 0x37, 0x8f, 0x33, 0x7c, 0x33, 0x04, 0x21, 0x13, 0xdc, 0xd4, 0x62, 0xcd, - 0xa5, 0x5a, 0x7c, 0x1c, 0x95, 0x9d, 0xd1, 0x4e, 0xb3, 0x2f, 0xae, 0xd9, 0xf2, 0x3a, 0x7a, 0x70, - 0x6f, 0xa5, 0x57, 0x3a, 0xe4, 0x17, 0x3e, 0x1a, 0xa4, 0x0f, 0x32, 0xa1, 0x6d, 0xab, 0xed, 0x62, - 0xc9, 0x2d, 0x2e, 0x36, 0x8f, 0x97, 0xe8, 0xf8, 0xe3, 0x85, 0xd0, 0x52, 0x0d, 0xf9, 0x47, 0xff, - 0x47, 0x10, 0x9d, 0x72, 0x53, 0xb3, 0x7b, 0xb0, 0xaf, 0xdf, 0x28, 0x34, 0x29, 0xc9, 0x49, 0x91, - 0x54, 0x03, 0x60, 0x5f, 0x42, 0xcc, 0x8d, 0x93, 0xd6, 0xa5, 0x7b, 0x81, 0xde, 0x21, 0x96, 0xc2, - 0x44, 0x68, 0xe5, 0x50, 0xb9, 0x74, 0x9c, 0x93, 0xe2, 0xa0, 0xba, 0x82, 0xec, 0x3e, 0x4c, 0x65, - 0xcb, 0x57, 0xf8, 0xa7, 0xac, 0xd3, 0x28, 0x27, 0x45, 0x54, 0x4d, 0x02, 0x7e, 0x51, 0xfb, 0x43, - 0xe7, 0x7d, 0xd3, 0x3c, 0x33, 0x2e, 0xdd, 0xcf, 0x49, 0x31, 0xad, 0xae, 0xa0, 0x6f, 0xae, 0xb4, - 0x43, 0x9b, 0xc6, 0x43, 0xf3, 0x00, 0xd8, 0x53, 0x88, 0xad, 0xe3, 0xae, 0xb7, 0xe9, 0x24, 0x27, - 0xc5, 0xd1, 0x93, 0xaf, 0xca, 0x3b, 0x7c, 0x97, 0x67, 0x41, 0x52, 0xed, 0xa4, 0xec, 0x47, 0x98, - 0x6e, 0xb4, 0xc3, 0xdf, 0xb5, 0x6e, 0xd2, 0x69, 0x4e, 0x8a, 0xd9, 0x93, 0xfb, 0xe5, 0x30, 0x83, - 0xd2, 0xcf, 0xa0, 0xdc, 0xcd, 0xa0, 0x3c, 0xd5, 0x52, 0x3d, 0x8f, 0xde, 0xfd, 0xfb, 0x70, 0x54, - 0x5d, 0x1f, 0xf0, 0x76, 0x7d, 0x6c, 0x6c, 0x7a, 0x94, 0x8f, 0xbd, 0xdd, 0x01, 0xb1, 0x02, 0x8e, - 0xcf, 0xb9, 0x34, 0xbf, 0x28, 0xdd, 0xaf, 0xd6, 0xaf, 0xc2, 0x4d, 0x93, 0xe0, 0xed, 0x53, 0x9a, - 0xcd, 0x81, 0xea, 0x0d, 0x9a, 0x4e, 0xbf, 0x41, 0x83, 0xf5, 0x20, 0x85, 0x20, 0xfd, 0x8c, 0x67, - 0xdf, 0xc1, 0x49, 0xaf, 0xea, 0x4f, 0xc4, 0xb3, 0x20, 0xfe, 0x3c, 0xc1, 0x4a, 0x60, 0x52, 0xf1, - 0xae, 0x33, 0xba, 0x33, 0x92, 0x3b, 0x1c, 0xe4, 0x07, 0x41, 0x7e, 0x47, 0x86, 0x7d, 0x0d, 0x89, - 0x42, 0x73, 0xde, 0xe0, 0x06, 0x9b, 0xf4, 0x30, 0x27, 0xc5, 0xb8, 0xba, 0x21, 0xd8, 0x37, 0x70, - 0xb8, 0xe4, 0x0d, 0x57, 0x02, 0x9f, 0x29, 0xb1, 0xd6, 0x26, 0x3d, 0x0e, 0x1b, 0xf9, 0x98, 0x64, - 0x39, 0xcc, 0xac, 0xe3, 0xc6, 0xa1, 0xf1, 0x6f, 0x24, 0xa5, 0x41, 0x73, 0x9b, 0x62, 0xdf, 0x43, - 0x6c, 0xb8, 0x91, 0x6e, 0x9b, 0x9e, 0x84, 0x1d, 0x3d, 0xbc, 0x73, 0x47, 0x5e, 0x5a, 0x05, 0x59, - 0xb5, 0x93, 0x3f, 0xfa, 0x16, 0x92, 0x97, 0xb2, 0xc5, 0x33, 0xc7, 0xdb, 0xce, 0xdf, 0xd5, 0x5d, - 0x81, 0xf0, 0x00, 0xa3, 0xea, 0x86, 0x98, 0xff, 0x4d, 0x20, 0x1e, 0xb6, 0xcc, 0x00, 0x62, 0x2b, - 0xd6, 0xd8, 0x22, 0x1d, 0xb1, 0x43, 0x48, 0xc2, 0x1b, 0x76, 0xdb, 0x0e, 0x29, 0x61, 0x09, 0xec, - 0x3b, 0x23, 0x79, 0x43, 0xf7, 0x42, 0x06, 0x4d, 0xcb, 0x15, 0x2a, 0x47, 0xc7, 0x1e, 0xda, 0xde, - 0x76, 0xa8, 0x6a, 0xac, 0x69, 0xe4, 0x6b, 0x2c, 0xb9, 0x52, 0x58, 0xd3, 0x7d, 0x76, 0x04, 0x30, - 0xc4, 0x67, 0x5a, 0x2b, 0x1a, 0x33, 0x06, 0x47, 0x03, 0x7e, 0x85, 0x66, 0x1b, 0xb8, 0x09, 0x9b, - 0x42, 0xa4, 0xb4, 0x42, 0x3a, 0x65, 0x27, 0x70, 0xc8, 0xeb, 0x0d, 0x2a, 0xd7, 0x1b, 0x7c, 0xe1, - 0xb0, 0xa5, 0xc9, 0xfc, 0x37, 0x80, 0x1b, 0x73, 0xbe, 0xb4, 0xd0, 0x6d, 0xab, 0x15, 0x1d, 0xb1, - 0x03, 0x98, 0xf6, 0x6a, 0x87, 0x88, 0x2f, 0x62, 0xb8, 0x41, 0xba, 0xc7, 0x8e, 0x61, 0x86, 0x6f, - 0x05, 0x76, 0x4e, 0x6a, 0xc5, 0x1b, 0x3a, 0xf6, 0x87, 0x7a, 0x25, 0x5f, 0xf7, 0x48, 0xa3, 0xf9, - 0x29, 0x24, 0xbe, 0xdc, 0x69, 0xc3, 0x6d, 0x30, 0xab, 0xb8, 0xef, 0x45, 0x47, 0x6c, 0x06, 0x13, - 0xd1, 0x37, 0x01, 0x10, 0x6f, 0xa8, 0xdd, 0x5a, 0x27, 0x85, 0xb4, 0x2d, 0xdd, 0xf3, 0x26, 0x1c, - 0x8a, 0xb5, 0xd2, 0x8d, 0x5e, 0x6d, 0xe9, 0x78, 0xfe, 0x13, 0x4c, 0x7d, 0x91, 0x97, 0xdb, 0x0e, - 0xfd, 0x54, 0xba, 0x86, 0x0b, 0x5f, 0x02, 0x20, 0xe6, 0xc2, 0x77, 0xa5, 0xc4, 0xc7, 0xa8, 0x9c, - 0x74, 0xdb, 0xe1, 0x42, 0x6b, 0xe4, 0xf5, 0xeb, 0x3e, 0x6c, 0x95, 0x8e, 0x9f, 0x57, 0xef, 0x2e, - 0x32, 0xf2, 0xfe, 0x22, 0x23, 0xff, 0x5d, 0x64, 0xe4, 0xaf, 0xcb, 0x6c, 0xf4, 0xfe, 0x32, 0x1b, - 0xfd, 0x73, 0x99, 0x8d, 0xfe, 0xf8, 0x61, 0x25, 0xdd, 0xba, 0x5f, 0x96, 0x42, 0xb7, 0x8b, 0x9f, - 0x51, 0xa0, 0x72, 0x86, 0x37, 0xbe, 0xd7, 0xaf, 0xbc, 0xc5, 0x5b, 0x7f, 0xd5, 0xdb, 0x5b, 0xb1, - 0x5f, 0x8f, 0x5d, 0xc6, 0x61, 0x55, 0x4f, 0x3f, 0x04, 0x00, 0x00, 0xff, 0xff, 0x59, 0x6e, 0x4f, - 0xc4, 0xdb, 0x04, 0x00, 0x00, + // 739 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0xcd, 0x8a, 0xdc, 0x46, + 0x10, 0x9e, 0xde, 0xd1, 0xce, 0x48, 0x35, 0xfb, 0xd3, 0xdb, 0x31, 0x41, 0x36, 0x41, 0x16, 0x26, + 0x07, 0x65, 0x08, 0x1a, 0xec, 0x1c, 0x12, 0x08, 0x04, 0xec, 0x49, 0x08, 0x3e, 0x04, 0x82, 0xd6, + 0xf8, 0x90, 0x4b, 0xe8, 0x69, 0xd5, 0xce, 0x34, 0x48, 0xdd, 0x72, 0x77, 0x6b, 0xec, 0x79, 0x8b, + 0xbc, 0x40, 0xde, 0xc7, 0x47, 0x1f, 0x73, 0x0a, 0x61, 0xf7, 0x2d, 0x72, 0x0a, 0xdd, 0x9a, 0xfd, + 0xf1, 0x0f, 0xe4, 0x56, 0xdf, 0x57, 0x5f, 0x57, 0xd5, 0x57, 0x25, 0x04, 0x99, 0xe0, 0xa6, 0x16, + 0x1b, 0x2e, 0xd5, 0xe2, 0xfd, 0xa8, 0xec, 0x8c, 0x76, 0x9a, 0x7d, 0x76, 0xc3, 0x96, 0x37, 0xd1, + 0x83, 0x7b, 0x6b, 0xbd, 0xd6, 0x21, 0xbf, 0xf0, 0xd1, 0x20, 0x7d, 0x90, 0x09, 0x6d, 0x5b, 0x6d, + 0x17, 0x2b, 0x6e, 0x71, 0xb1, 0x7d, 0xbc, 0x42, 0xc7, 0x1f, 0x2f, 0x84, 0x96, 0x6a, 0xc8, 0x3f, + 0xfa, 0x37, 0x82, 0x68, 0xc9, 0x4d, 0xcd, 0xee, 0xc1, 0xa1, 0x7e, 0xad, 0xd0, 0xa4, 0x24, 0x27, + 0x45, 0x52, 0x0d, 0x80, 0x7d, 0x0e, 0x13, 0x6e, 0x9c, 0xb4, 0x2e, 0x3d, 0x08, 0xf4, 0x1e, 0xb1, + 0x14, 0xa6, 0x42, 0x2b, 0x87, 0xca, 0xa5, 0xe3, 0x9c, 0x14, 0x47, 0xd5, 0x35, 0x64, 0xf7, 0x21, + 0x96, 0x2d, 0x5f, 0xe3, 0xef, 0xb2, 0x4e, 0xa3, 0x9c, 0x14, 0x51, 0x35, 0x0d, 0xf8, 0x79, 0xed, + 0x1f, 0x5d, 0xf4, 0x4d, 0xf3, 0xd4, 0xb8, 0xf4, 0x30, 0x27, 0x45, 0x5c, 0x5d, 0x43, 0xdf, 0x5c, + 0x69, 0x87, 0x36, 0x9d, 0x0c, 0xcd, 0x03, 0x60, 0xdf, 0xc2, 0xc4, 0x3a, 0xee, 0x7a, 0x9b, 0x4e, + 0x73, 0x52, 0x9c, 0x3c, 0x79, 0x58, 0x7e, 0xc2, 0x77, 0xe9, 0xa7, 0x3f, 0x0f, 0xb2, 0x6a, 0x2f, + 0x67, 0xdf, 0x43, 0xbc, 0xd5, 0x0e, 0x7f, 0xd5, 0xba, 0x49, 0xe3, 0x9c, 0x14, 0xb3, 0x27, 0xf7, + 0xcb, 0x61, 0x0f, 0xa5, 0xdf, 0x43, 0xb9, 0xdf, 0x43, 0xb9, 0xd4, 0x52, 0x3d, 0x8b, 0xde, 0xfe, + 0xfd, 0x70, 0x54, 0xdd, 0x3c, 0xf0, 0x96, 0x7d, 0x6c, 0x6c, 0x7a, 0x92, 0x8f, 0xbd, 0xe5, 0x01, + 0xb1, 0x02, 0x4e, 0x2f, 0xb8, 0x34, 0x3f, 0x29, 0xdd, 0xaf, 0x37, 0x2f, 0xc3, 0xb4, 0x49, 0xf0, + 0xf7, 0x21, 0xcd, 0xe6, 0x40, 0xf5, 0x16, 0x4d, 0xa7, 0x5f, 0xa3, 0xc1, 0x7a, 0x90, 0x42, 0x90, + 0x7e, 0xc4, 0xb3, 0xaf, 0xe1, 0xac, 0x57, 0xf5, 0x07, 0xe2, 0x59, 0x10, 0x7f, 0x9c, 0x60, 0x25, + 0x30, 0xa9, 0x78, 0xd7, 0x19, 0xdd, 0x19, 0xc9, 0x1d, 0x0e, 0xf2, 0xa3, 0x20, 0xff, 0x44, 0x86, + 0x7d, 0x01, 0x89, 0x42, 0x73, 0xd1, 0xe0, 0x16, 0x9b, 0xf4, 0x38, 0x27, 0xc5, 0xb8, 0xba, 0x25, + 0xd8, 0x97, 0x70, 0xbc, 0xe2, 0x0d, 0x57, 0x02, 0x9f, 0x2a, 0xb1, 0xd1, 0x26, 0x3d, 0x0d, 0x57, + 0x79, 0x9f, 0x64, 0x39, 0xcc, 0xac, 0xe3, 0xc6, 0xa1, 0xf1, 0x9b, 0x4e, 0x69, 0xd0, 0xdc, 0xa5, + 0xfc, 0x9d, 0x0c, 0x37, 0xd2, 0xed, 0xd2, 0xb3, 0xff, 0xb9, 0x53, 0x15, 0x64, 0xd5, 0x5e, 0xfe, + 0xe8, 0x2b, 0x48, 0x5e, 0xc8, 0x16, 0xcf, 0x1d, 0x6f, 0x3b, 0x3f, 0xab, 0xbb, 0x06, 0xe1, 0x23, + 0x8c, 0xaa, 0x5b, 0x62, 0xfe, 0x27, 0x01, 0xb8, 0xbd, 0x34, 0x03, 0x98, 0x58, 0xb1, 0xc1, 0x16, + 0xe9, 0x88, 0x1d, 0x43, 0x12, 0xbe, 0x65, 0xb7, 0xeb, 0x90, 0x12, 0x96, 0xc0, 0xa1, 0x33, 0x92, + 0x37, 0xf4, 0x20, 0x64, 0xd0, 0xb4, 0x5c, 0xa1, 0x72, 0x74, 0xec, 0xa1, 0xed, 0x6d, 0x87, 0xaa, + 0xc6, 0x9a, 0x46, 0xbe, 0xc6, 0x8a, 0x2b, 0x85, 0x35, 0x3d, 0x64, 0x27, 0x00, 0x43, 0x7c, 0xae, + 0xb5, 0xa2, 0x13, 0xc6, 0xe0, 0x64, 0xc0, 0x2f, 0xd1, 0xec, 0x02, 0x37, 0x65, 0x31, 0x44, 0x4a, + 0x2b, 0xa4, 0x31, 0x3b, 0x83, 0x63, 0x5e, 0x6f, 0x51, 0xb9, 0xde, 0xe0, 0x73, 0x87, 0x2d, 0x4d, + 0xe6, 0xbf, 0x0c, 0xe3, 0x0d, 0x06, 0x7d, 0x69, 0xa1, 0xdb, 0x56, 0x2b, 0x3a, 0x62, 0x47, 0x10, + 0xf7, 0x6a, 0x8f, 0x88, 0x2f, 0x62, 0xb8, 0x41, 0x7a, 0xc0, 0x4e, 0x61, 0x86, 0x6f, 0x04, 0x76, + 0x4e, 0x6a, 0xc5, 0x1b, 0x3a, 0xf6, 0x8f, 0x7a, 0x25, 0x5f, 0xf5, 0x48, 0xa3, 0xf9, 0x12, 0x12, + 0x5f, 0x6e, 0xd9, 0x70, 0x1b, 0xcc, 0x2a, 0xee, 0x7b, 0xd1, 0x11, 0x9b, 0xc1, 0x54, 0xf4, 0x4d, + 0x00, 0xc4, 0x1b, 0x6a, 0x77, 0xd6, 0x49, 0x21, 0x6d, 0x4b, 0x0f, 0xbc, 0x09, 0x87, 0x62, 0xa3, + 0x74, 0xa3, 0xd7, 0x3b, 0x3a, 0x9e, 0xff, 0x00, 0xb1, 0x2f, 0xf2, 0x62, 0xd7, 0xa1, 0xdf, 0x4a, + 0xd7, 0x70, 0xe1, 0x4b, 0x00, 0x4c, 0xb8, 0xf0, 0x5d, 0x29, 0xf1, 0x31, 0x2a, 0x27, 0xdd, 0x6e, + 0x18, 0x68, 0x83, 0xbc, 0x7e, 0xd5, 0x87, 0xcb, 0xd2, 0xf1, 0xb3, 0xea, 0xed, 0x65, 0x46, 0xde, + 0x5d, 0x66, 0xe4, 0x9f, 0xcb, 0x8c, 0xfc, 0x71, 0x95, 0x8d, 0xde, 0x5d, 0x65, 0xa3, 0xbf, 0xae, + 0xb2, 0xd1, 0x6f, 0xdf, 0xad, 0xa5, 0xdb, 0xf4, 0xab, 0x52, 0xe8, 0x76, 0xf1, 0x23, 0x0a, 0x54, + 0xce, 0xf0, 0xc6, 0xf7, 0xfa, 0x99, 0xb7, 0x78, 0xe7, 0x9f, 0xf5, 0xe6, 0x4e, 0xec, 0xcf, 0x63, + 0x57, 0x93, 0x70, 0xaa, 0x6f, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xba, 0x42, 0x07, 0x16, 0xe3, + 0x04, 0x00, 0x00, } func (m *Card) Marshal() (dAtA []byte, err error) { @@ -927,7 +926,7 @@ func (m *Card) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Status |= Status(b&0x7F) << shift + m.Status |= CardStatus(b&0x7F) << shift if b < 0x80 { break } diff --git a/x/cardchain/types/card_with_image.pb.go b/x/cardchain/types/card_with_image.pb.go index cccc278d..39e731f0 100644 --- a/x/cardchain/types/card_with_image.pb.go +++ b/x/cardchain/types/card_with_image.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/council.pb.go b/x/cardchain/types/council.pb.go index 1bbdfc01..a6f6f6d7 100644 --- a/x/cardchain/types/council.pb.go +++ b/x/cardchain/types/council.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/encounter.pb.go b/x/cardchain/types/encounter.pb.go index 0f2e0d18..5c6f1b54 100644 --- a/x/cardchain/types/encounter.pb.go +++ b/x/cardchain/types/encounter.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 636f7c25..4306f207 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/image.pb.go b/x/cardchain/types/image.pb.go index a2a036be..a4fe2647 100644 --- a/x/cardchain/types/image.pb.go +++ b/x/cardchain/types/image.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 660c57d2..7ac97cf8 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index 2874c6ce..d9081e8f 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,14 +5,13 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/product_details.pb.go b/x/cardchain/types/product_details.pb.go index 6f38ca9c..11fdabcb 100644 --- a/x/cardchain/types/product_details.pb.go +++ b/x/cardchain/types/product_details.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 58a18b95..d341e28b 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -19,6 +15,9 @@ import ( 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. diff --git a/x/cardchain/types/running_average.pb.go b/x/cardchain/types/running_average.pb.go index 66809249..21f80b8f 100644 --- a/x/cardchain/types/running_average.pb.go +++ b/x/cardchain/types/running_average.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go index 460f7093..32a2be10 100644 --- a/x/cardchain/types/sell_offer.pb.go +++ b/x/cardchain/types/sell_offer.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/server.pb.go b/x/cardchain/types/server.pb.go index 8ed475d1..ea0ae809 100644 --- a/x/cardchain/types/server.pb.go +++ b/x/cardchain/types/server.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index 78eb5228..c3d8340f 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - types "github.com/cosmos/cosmos-sdk/types" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index dd34e69e..182c66f7 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -20,6 +16,9 @@ import ( 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. diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index bc73282c..f70e234d 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go index 45e01b16..6911a3d0 100644 --- a/x/cardchain/types/voting.pb.go +++ b/x/cardchain/types/voting.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go index 36bda627..30e9aaf4 100644 --- a/x/cardchain/types/zealy.pb.go +++ b/x/cardchain/types/zealy.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/flag.pb.go b/x/featureflag/types/flag.pb.go index 9ea00283..e1dd5d4d 100644 --- a/x/featureflag/types/flag.pb.go +++ b/x/featureflag/types/flag.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/genesis.pb.go b/x/featureflag/types/genesis.pb.go index 6113e755..da869d10 100644 --- a/x/featureflag/types/genesis.pb.go +++ b/x/featureflag/types/genesis.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/params.pb.go b/x/featureflag/types/params.pb.go index 41595524..46dbabd7 100644 --- a/x/featureflag/types/params.pb.go +++ b/x/featureflag/types/params.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/query.pb.go b/x/featureflag/types/query.pb.go index e7d3b919..2ec990b9 100644 --- a/x/featureflag/types/query.pb.go +++ b/x/featureflag/types/query.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -19,6 +15,9 @@ import ( 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. diff --git a/x/featureflag/types/tx.pb.go b/x/featureflag/types/tx.pb.go index 94b4be1b..af61eaab 100644 --- a/x/featureflag/types/tx.pb.go +++ b/x/featureflag/types/tx.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -19,6 +15,9 @@ import ( 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. From 48f0d973b10402c623db80d9d8d49ed041360e0b Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 12:03:00 +0100 Subject: [PATCH 38/99] feat(#242): im in pain --- api/cardchain/cardchain/query.pulsar.go | 1240 ++++++++++++++++++++-- api/cardchain/cardchain/query_grpc.pb.go | 39 + docs/static/openapi.yml | 2 +- gen_queries.sh | 4 +- proto/cardchain/cardchain/query.proto | 14 + x/cardchain/keeper/query_cards.go | 23 + x/cardchain/module/autocli.go | 7 + x/cardchain/types/query.pb.go | 531 ++++++++- x/cardchain/types/query.pb.gw.go | 101 ++ 9 files changed, 1827 insertions(+), 134 deletions(-) create mode 100644 x/cardchain/keeper/query_cards.go diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 48c58896..d9081ac9 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -4348,6 +4348,962 @@ func (x *fastReflection_QueryUserResponse) ProtoMethods() *protoiface.Methods { } } +var ( + md_QueryCardsRequest protoreflect.MessageDescriptor + fd_QueryCardsRequest_owner protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryCardsRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardsRequest") + fd_QueryCardsRequest_owner = md_QueryCardsRequest.Fields().ByName("owner") +} + +var _ protoreflect.Message = (*fastReflection_QueryCardsRequest)(nil) + +type fastReflection_QueryCardsRequest QueryCardsRequest + +func (x *QueryCardsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCardsRequest)(x) +} + +func (x *QueryCardsRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCardsRequest_messageType fastReflection_QueryCardsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryCardsRequest_messageType{} + +type fastReflection_QueryCardsRequest_messageType struct{} + +func (x fastReflection_QueryCardsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCardsRequest)(nil) +} +func (x fastReflection_QueryCardsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCardsRequest) +} +func (x fastReflection_QueryCardsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardsRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCardsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardsRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCardsRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryCardsRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCardsRequest) New() protoreflect.Message { + return new(fastReflection_QueryCardsRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCardsRequest) Interface() protoreflect.ProtoMessage { + return (*QueryCardsRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCardsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Owner != "" { + value := protoreflect.ValueOfString(x.Owner) + if !f(fd_QueryCardsRequest_owner, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCardsRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardsRequest.owner": + return x.Owner != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardsRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardsRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardsRequest.owner": + x.Owner = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardsRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCardsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryCardsRequest.owner": + value := x.Owner + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardsRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardsRequest.owner": + x.Owner = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardsRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardsRequest.owner": + panic(fmt.Errorf("field owner of message cardchain.cardchain.QueryCardsRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardsRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCardsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardsRequest.owner": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardsRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCardsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardsRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCardsRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardsRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCardsRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCardsRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCardsRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Owner) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCardsRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Owner) > 0 { + i -= len(x.Owner) + copy(dAtA[i:], x.Owner) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Owner))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCardsRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QueryCardsResponse_1_list)(nil) + +type _QueryCardsResponse_1_list struct { + list *[]uint64 +} + +func (x *_QueryCardsResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryCardsResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_QueryCardsResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QueryCardsResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryCardsResponse_1_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QueryCardsResponse at list field CardIds as it is not of Message kind")) +} + +func (x *_QueryCardsResponse_1_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QueryCardsResponse_1_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_QueryCardsResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryCardsResponse protoreflect.MessageDescriptor + fd_QueryCardsResponse_cardIds protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryCardsResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardsResponse") + fd_QueryCardsResponse_cardIds = md_QueryCardsResponse.Fields().ByName("cardIds") +} + +var _ protoreflect.Message = (*fastReflection_QueryCardsResponse)(nil) + +type fastReflection_QueryCardsResponse QueryCardsResponse + +func (x *QueryCardsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCardsResponse)(x) +} + +func (x *QueryCardsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCardsResponse_messageType fastReflection_QueryCardsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryCardsResponse_messageType{} + +type fastReflection_QueryCardsResponse_messageType struct{} + +func (x fastReflection_QueryCardsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCardsResponse)(nil) +} +func (x fastReflection_QueryCardsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCardsResponse) +} +func (x fastReflection_QueryCardsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCardsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCardsResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryCardsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCardsResponse) New() protoreflect.Message { + return new(fastReflection_QueryCardsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCardsResponse) Interface() protoreflect.ProtoMessage { + return (*QueryCardsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCardsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.CardIds) != 0 { + value := protoreflect.ValueOfList(&_QueryCardsResponse_1_list{list: &x.CardIds}) + if !f(fd_QueryCardsResponse_cardIds, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCardsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardsResponse.cardIds": + return len(x.CardIds) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardsResponse.cardIds": + x.CardIds = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCardsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryCardsResponse.cardIds": + if len(x.CardIds) == 0 { + return protoreflect.ValueOfList(&_QueryCardsResponse_1_list{}) + } + listValue := &_QueryCardsResponse_1_list{list: &x.CardIds} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardsResponse.cardIds": + lv := value.List() + clv := lv.(*_QueryCardsResponse_1_list) + x.CardIds = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardsResponse.cardIds": + if x.CardIds == nil { + x.CardIds = []uint64{} + } + value := &_QueryCardsResponse_1_list{list: &x.CardIds} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCardsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardsResponse.cardIds": + list := []uint64{} + return protoreflect.ValueOfList(&_QueryCardsResponse_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCardsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCardsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCardsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCardsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCardsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.CardIds) > 0 { + l = 0 + for _, e := range x.CardIds { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCardsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.CardIds) > 0 { + var pksize2 int + for _, num := range x.CardIds { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.CardIds { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCardsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardsResponse: 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.CardIds = append(x.CardIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.CardIds) == 0 { + x.CardIds = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.CardIds = append(x.CardIds, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardIds", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -4713,6 +5669,76 @@ func (x *QueryUserResponse) GetUser() *User { return nil } +type QueryCardsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` +} + +func (x *QueryCardsRequest) Reset() { + *x = QueryCardsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardsRequest) ProtoMessage() {} + +// Deprecated: Use QueryCardsRequest.ProtoReflect.Descriptor instead. +func (*QueryCardsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{10} +} + +func (x *QueryCardsRequest) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +type QueryCardsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardIds []uint64 `protobuf:"varint,1,rep,packed,name=cardIds,proto3" json:"cardIds,omitempty"` +} + +func (x *QueryCardsResponse) Reset() { + *x = QueryCardsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardsResponse) ProtoMessage() {} + +// Deprecated: Use QueryCardsResponse.ProtoReflect.Descriptor instead. +func (*QueryCardsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{11} +} + +func (x *QueryCardsResponse) GetCardIds() []uint64 { + if x != nil { + return x.CardIds + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -4786,73 +5812,89 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x32, 0xc9, 0x06, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, + 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x29, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x73, 0x32, 0xe2, 0x07, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, + 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, + 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, + 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, + 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, + 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, + 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, + 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, - 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, - 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, - 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, - 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -4867,7 +5909,7 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse @@ -4879,33 +5921,37 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryCardResponse)(nil), // 7: cardchain.cardchain.QueryCardResponse (*QueryUserRequest)(nil), // 8: cardchain.cardchain.QueryUserRequest (*QueryUserResponse)(nil), // 9: cardchain.cardchain.QueryUserResponse - (*Params)(nil), // 10: cardchain.cardchain.Params - (*ProductDetails)(nil), // 11: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 12: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 13: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 14: cardchain.cardchain.CardWithImage - (*User)(nil), // 15: cardchain.cardchain.User + (*QueryCardsRequest)(nil), // 10: cardchain.cardchain.QueryCardsRequest + (*QueryCardsResponse)(nil), // 11: cardchain.cardchain.QueryCardsResponse + (*Params)(nil), // 12: cardchain.cardchain.Params + (*ProductDetails)(nil), // 13: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 14: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 15: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 16: cardchain.cardchain.CardWithImage + (*User)(nil), // 17: cardchain.cardchain.User } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 10, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 11, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 12, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 11, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 13, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 14, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 15, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 12, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 13, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 14, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 13, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 15, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 16, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 17, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User 0, // 7: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest 2, // 8: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest 4, // 9: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest 6, // 10: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest 8, // 11: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 1, // 12: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 13: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 14: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 15: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 16: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 12, // [12:17] is the sub-list for method output_type - 7, // [7:12] is the sub-list for method input_type + 10, // 12: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 1, // 13: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 14: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 15: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 16: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 17: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 18: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 13, // [13:19] is the sub-list for method output_type + 7, // [7:13] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name @@ -5041,6 +6087,30 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryCardsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryCardsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -5048,7 +6118,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 10, + NumMessages: 12, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 91f804be..32e78a8f 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -24,6 +24,7 @@ const ( Query_ProductDetailsAll_FullMethodName = "/cardchain.cardchain.Query/ProductDetailsAll" Query_Card_FullMethodName = "/cardchain.cardchain.Query/Card" Query_User_FullMethodName = "/cardchain.cardchain.Query/User" + Query_Cards_FullMethodName = "/cardchain.cardchain.Query/Cards" ) // QueryClient is the client API for Query service. @@ -39,6 +40,8 @@ type QueryClient interface { Card(ctx context.Context, in *QueryCardRequest, opts ...grpc.CallOption) (*QueryCardResponse, error) // Queries a list of User items. User(ctx context.Context, in *QueryUserRequest, opts ...grpc.CallOption) (*QueryUserResponse, error) + // Queries a list of Cards items. + Cards(ctx context.Context, in *QueryCardsRequest, opts ...grpc.CallOption) (*QueryCardsResponse, error) } type queryClient struct { @@ -94,6 +97,15 @@ func (c *queryClient) User(ctx context.Context, in *QueryUserRequest, opts ...gr return out, nil } +func (c *queryClient) Cards(ctx context.Context, in *QueryCardsRequest, opts ...grpc.CallOption) (*QueryCardsResponse, error) { + out := new(QueryCardsResponse) + err := c.cc.Invoke(ctx, Query_Cards_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -107,6 +119,8 @@ type QueryServer interface { Card(context.Context, *QueryCardRequest) (*QueryCardResponse, error) // Queries a list of User items. User(context.Context, *QueryUserRequest) (*QueryUserResponse, error) + // Queries a list of Cards items. + Cards(context.Context, *QueryCardsRequest) (*QueryCardsResponse, error) mustEmbedUnimplementedQueryServer() } @@ -129,6 +143,9 @@ func (UnimplementedQueryServer) Card(context.Context, *QueryCardRequest) (*Query func (UnimplementedQueryServer) User(context.Context, *QueryUserRequest) (*QueryUserResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method User not implemented") } +func (UnimplementedQueryServer) Cards(context.Context, *QueryCardsRequest) (*QueryCardsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Cards not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -232,6 +249,24 @@ func _Query_User_Handler(srv interface{}, ctx context.Context, dec func(interfac return interceptor(ctx, in, info, handler) } +func _Query_Cards_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCardsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Cards(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Cards_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Cards(ctx, req.(*QueryCardsRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -259,6 +294,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "User", Handler: _Query_User_Handler, }, + { + MethodName: "Cards", + Handler: _Query_Cards_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index cb9ef825..60a9c995 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin21","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin22","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index 11e6c4e3..89f39a88 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -1,4 +1,4 @@ #ignite scaffold query card cardId:uint --response card:CardWithImage # ---ignite scaffold query card_content cardId:uint --response card:Card -ignite scaffold query user address:string --response user:User -#ignite scaffold query cards owner --response cardIds:uints +#ignite scaffold query user address:string --response user:User +ignite scaffold query cards owner --response cardIds:uints diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index aaaf9d7d..1d27c5a7 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -43,6 +43,12 @@ service Query { option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/user/{address}"; } + + // Queries a list of Cards items. + rpc Cards (QueryCardsRequest) returns (QueryCardsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; + + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -87,3 +93,11 @@ message QueryUserResponse { User user = 1; } +message QueryCardsRequest { + string owner = 1; +} + +message QueryCardsResponse { + repeated uint64 cardIds = 1; +} + diff --git a/x/cardchain/keeper/query_cards.go b/x/cardchain/keeper/query_cards.go new file mode 100644 index 00000000..15ed5eaf --- /dev/null +++ b/x/cardchain/keeper/query_cards.go @@ -0,0 +1,23 @@ +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) Cards(goCtx context.Context, req *types.QueryCardsRequest) (*types.QueryCardsResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryCardsResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 36ee998e..73f50442 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -42,6 +42,13 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "address"}}, }, + { + RpcMethod: "Cards", + Use: "cards [owner]", + Short: "Query cards", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "owner"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index d341e28b..2992c13c 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -474,6 +474,94 @@ func (m *QueryUserResponse) GetUser() *User { return nil } +type QueryCardsRequest struct { + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` +} + +func (m *QueryCardsRequest) Reset() { *m = QueryCardsRequest{} } +func (m *QueryCardsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryCardsRequest) ProtoMessage() {} +func (*QueryCardsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{10} +} +func (m *QueryCardsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCardsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCardsRequest.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 *QueryCardsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCardsRequest.Merge(m, src) +} +func (m *QueryCardsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryCardsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCardsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCardsRequest proto.InternalMessageInfo + +func (m *QueryCardsRequest) GetOwner() string { + if m != nil { + return m.Owner + } + return "" +} + +type QueryCardsResponse struct { + CardIds []uint64 `protobuf:"varint,1,rep,packed,name=cardIds,proto3" json:"cardIds,omitempty"` +} + +func (m *QueryCardsResponse) Reset() { *m = QueryCardsResponse{} } +func (m *QueryCardsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryCardsResponse) ProtoMessage() {} +func (*QueryCardsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{11} +} +func (m *QueryCardsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCardsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCardsResponse.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 *QueryCardsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCardsResponse.Merge(m, src) +} +func (m *QueryCardsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryCardsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCardsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCardsResponse proto.InternalMessageInfo + +func (m *QueryCardsResponse) GetCardIds() []uint64 { + if m != nil { + return m.CardIds + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -485,57 +573,62 @@ func init() { proto.RegisterType((*QueryCardResponse)(nil), "cardchain.cardchain.QueryCardResponse") proto.RegisterType((*QueryUserRequest)(nil), "cardchain.cardchain.QueryUserRequest") proto.RegisterType((*QueryUserResponse)(nil), "cardchain.cardchain.QueryUserResponse") + proto.RegisterType((*QueryCardsRequest)(nil), "cardchain.cardchain.QueryCardsRequest") + proto.RegisterType((*QueryCardsResponse)(nil), "cardchain.cardchain.QueryCardsResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 705 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xdf, 0x4e, 0xd4, 0x40, - 0x14, 0xc6, 0xb7, 0xeb, 0xba, 0x86, 0x31, 0x21, 0x32, 0x10, 0x83, 0xab, 0x16, 0x32, 0x46, 0x40, - 0x22, 0x9d, 0x00, 0x82, 0x24, 0x0a, 0x09, 0x0b, 0x91, 0x10, 0x6f, 0xa0, 0x09, 0x31, 0xf1, 0x86, - 0xcc, 0x6e, 0x27, 0xdd, 0x49, 0xba, 0x9d, 0xa5, 0x9d, 0x55, 0x09, 0xe1, 0xc6, 0x27, 0x30, 0xe2, - 0x43, 0x78, 0xe9, 0x03, 0x10, 0xaf, 0xf1, 0x8e, 0xc4, 0x1b, 0xaf, 0x8c, 0x01, 0x13, 0x5f, 0xc3, - 0xcc, 0x9f, 0x85, 0x2d, 0xb6, 0x65, 0xd5, 0x1b, 0x72, 0xb6, 0xf3, 0x9d, 0xf3, 0xfd, 0xce, 0xf4, - 0x9c, 0x02, 0x46, 0xea, 0x24, 0xf2, 0xea, 0x0d, 0xc2, 0x42, 0x7c, 0x1e, 0xed, 0xb4, 0x69, 0xb4, - 0xeb, 0xb4, 0x22, 0x2e, 0x38, 0x1c, 0x3c, 0x7b, 0xec, 0x9c, 0x45, 0x95, 0x01, 0xd2, 0x64, 0x21, - 0xc7, 0xea, 0xaf, 0xd6, 0x55, 0x86, 0x7c, 0xee, 0x73, 0x15, 0x62, 0x19, 0x99, 0xa7, 0x77, 0x7c, - 0xce, 0xfd, 0x80, 0x62, 0xd2, 0x62, 0x98, 0x84, 0x21, 0x17, 0x44, 0x30, 0x1e, 0xc6, 0xe6, 0x74, - 0xb2, 0xce, 0xe3, 0x26, 0x8f, 0x71, 0x8d, 0xc4, 0x54, 0x9b, 0xe2, 0x57, 0xd3, 0x35, 0x2a, 0xc8, - 0x34, 0x6e, 0x11, 0x9f, 0x85, 0x4a, 0x6c, 0xb4, 0xa3, 0x69, 0xa0, 0x2d, 0x12, 0x91, 0x66, 0xa7, - 0xda, 0x83, 0x54, 0x45, 0xc4, 0xbd, 0x76, 0x5d, 0x6c, 0x7b, 0x54, 0x10, 0x16, 0xe4, 0x4a, 0x65, - 0xb4, 0xfd, 0x9a, 0x89, 0xc6, 0x36, 0x6b, 0x12, 0x9f, 0x1a, 0xa9, 0x9d, 0x26, 0x6d, 0xc7, 0x34, - 0xd2, 0xe7, 0x68, 0x08, 0xc0, 0x4d, 0x49, 0xbe, 0xa1, 0x50, 0x5c, 0xba, 0xd3, 0xa6, 0xb1, 0x40, - 0x5b, 0x60, 0x30, 0xf1, 0x34, 0x6e, 0xf1, 0x30, 0xa6, 0x70, 0x09, 0x94, 0x35, 0xf2, 0xb0, 0x35, - 0x6a, 0x4d, 0x5c, 0x9f, 0xb9, 0xed, 0xa4, 0xdc, 0xae, 0xa3, 0x93, 0xaa, 0x7d, 0x47, 0xdf, 0x47, - 0x0a, 0x1f, 0x7f, 0x7d, 0x9a, 0xb4, 0x5c, 0x93, 0x85, 0x30, 0xb8, 0xab, 0xca, 0xae, 0x51, 0xb1, - 0xa1, 0x1b, 0x5b, 0xd5, 0x7d, 0x19, 0x5f, 0xd8, 0x0f, 0x8a, 0xcc, 0x53, 0xc5, 0x4b, 0x6e, 0x91, - 0x79, 0x28, 0x06, 0x76, 0x56, 0x82, 0x41, 0xda, 0x04, 0xfd, 0xc9, 0x13, 0x83, 0x76, 0x2f, 0x1d, - 0x2d, 0x21, 0xad, 0x96, 0x24, 0xa2, 0x7b, 0xa1, 0x00, 0xf2, 0x0d, 0xe5, 0x72, 0x10, 0xa4, 0x53, - 0x3e, 0x03, 0xe0, 0xfc, 0xfd, 0x1a, 0xbf, 0x31, 0x47, 0x0f, 0x83, 0x23, 0x87, 0xc1, 0xd1, 0x13, - 0x68, 0x86, 0xc1, 0xd9, 0x20, 0x3e, 0x35, 0xb9, 0x6e, 0x57, 0x26, 0x3a, 0xb4, 0x4c, 0x7b, 0x29, - 0x4e, 0x39, 0xed, 0x5d, 0xf9, 0xaf, 0xf6, 0xe0, 0x5a, 0x82, 0xbe, 0xa8, 0xe8, 0xc7, 0x2f, 0xa5, - 0xd7, 0x3c, 0x09, 0xfc, 0x49, 0x70, 0x43, 0xd1, 0xaf, 0x90, 0xc8, 0xeb, 0x5c, 0xcd, 0x4d, 0x50, - 0x96, 0x38, 0xeb, 0x9d, 0x97, 0x68, 0x7e, 0xa1, 0xe7, 0x60, 0xa0, 0x4b, 0x6b, 0x9a, 0x9b, 0x07, - 0x25, 0x79, 0x6c, 0x6e, 0x10, 0xa5, 0xb6, 0x24, 0x13, 0x5e, 0x30, 0xd1, 0x58, 0x97, 0x33, 0xed, - 0x2a, 0x3d, 0x7a, 0x68, 0x8c, 0xb7, 0x62, 0x1a, 0x75, 0x8c, 0x87, 0xc1, 0x35, 0xe2, 0x79, 0x11, - 0x8d, 0xf5, 0x00, 0xf4, 0xb9, 0x9d, 0x9f, 0xa8, 0x6a, 0xac, 0xb5, 0xda, 0x58, 0x4f, 0x81, 0x92, - 0x5c, 0x02, 0x63, 0x7d, 0x2b, 0xd5, 0x5a, 0x25, 0x28, 0xd9, 0xcc, 0x97, 0x32, 0xb8, 0xaa, 0x8a, - 0xc0, 0xf7, 0x16, 0x28, 0xeb, 0x01, 0x87, 0xe3, 0xa9, 0x59, 0x7f, 0x6e, 0x53, 0x65, 0xe2, 0x72, - 0xa1, 0xc6, 0x42, 0x73, 0x6f, 0xbf, 0xfe, 0x3c, 0x28, 0x62, 0x38, 0x85, 0x57, 0x69, 0x9d, 0x86, - 0x22, 0x22, 0x81, 0xbc, 0x80, 0x35, 0xd2, 0xa4, 0x38, 0xfb, 0x03, 0x02, 0x3f, 0x5b, 0x17, 0xc7, - 0x04, 0xce, 0x64, 0x7b, 0x66, 0x6d, 0x5f, 0x65, 0xf6, 0xaf, 0x72, 0x0c, 0xf2, 0x8a, 0x42, 0x5e, - 0x84, 0x4f, 0x7a, 0x45, 0x4e, 0x7e, 0xd1, 0xf0, 0x1e, 0xf3, 0xf6, 0xe1, 0xa1, 0x05, 0x06, 0x92, - 0xf5, 0x97, 0x83, 0x20, 0xaf, 0x87, 0xac, 0xdd, 0xcc, 0xeb, 0x21, 0x73, 0xcb, 0xd0, 0x92, 0xea, - 0x61, 0x01, 0xce, 0xff, 0x5b, 0x0f, 0xf0, 0xc0, 0x02, 0x25, 0x99, 0x00, 0xef, 0x67, 0xbb, 0x77, - 0x6d, 0x49, 0x65, 0xec, 0x32, 0x99, 0xe1, 0x7a, 0xaa, 0xb8, 0xe6, 0xe1, 0xa3, 0x1e, 0xb9, 0x64, - 0x84, 0xf7, 0xf4, 0xca, 0xed, 0xc3, 0x0f, 0x16, 0x28, 0xc9, 0x19, 0xce, 0xa3, 0xea, 0x5a, 0xa1, - 0x3c, 0xaa, 0xee, 0xdd, 0x41, 0x8b, 0x8a, 0xea, 0x31, 0x9c, 0xeb, 0x91, 0x4a, 0x6e, 0x10, 0xde, - 0x33, 0xeb, 0xb8, 0x5f, 0x75, 0x8f, 0x4e, 0x6c, 0xeb, 0xf8, 0xc4, 0xb6, 0x7e, 0x9c, 0xd8, 0xd6, - 0xbb, 0x53, 0xbb, 0x70, 0x7c, 0x6a, 0x17, 0xbe, 0x9d, 0xda, 0x85, 0x97, 0x0b, 0x3e, 0x13, 0x8d, - 0x76, 0xcd, 0xa9, 0xf3, 0x66, 0x6e, 0xe9, 0x37, 0x5d, 0xb1, 0xd8, 0x6d, 0xd1, 0xb8, 0x56, 0x56, - 0xff, 0xcc, 0x66, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xf7, 0x42, 0x8e, 0xdf, 0x0f, 0x08, 0x00, - 0x00, + // 764 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0x4f, 0x4b, 0x1b, 0x4f, + 0x18, 0xc7, 0xb3, 0xf9, 0xc5, 0x88, 0xf3, 0x03, 0xa9, 0xa3, 0x14, 0x9b, 0xb6, 0xab, 0x4c, 0xa9, + 0xff, 0xa8, 0x3b, 0xa8, 0xd5, 0x0a, 0xad, 0x82, 0x51, 0x2a, 0xd2, 0x8b, 0x2e, 0x48, 0xa1, 0x17, + 0x99, 0x64, 0x87, 0xcd, 0xc2, 0x66, 0x27, 0xee, 0x6e, 0x6a, 0x25, 0xe4, 0xd2, 0x57, 0x50, 0x6a, + 0xe9, 0x6b, 0xe8, 0xb1, 0x2f, 0x40, 0x7a, 0xf6, 0x28, 0xf4, 0xd2, 0x53, 0x29, 0xb1, 0xd0, 0xb7, + 0x51, 0xe6, 0x4f, 0xe2, 0xae, 0xdd, 0xdd, 0xd8, 0x7a, 0x09, 0xb3, 0x3b, 0xdf, 0xe7, 0x79, 0x3e, + 0xcf, 0xcc, 0xf3, 0xdd, 0x80, 0x89, 0x2a, 0xf1, 0xad, 0x6a, 0x8d, 0x38, 0x1e, 0xbe, 0x5c, 0x1d, + 0x36, 0xa9, 0x7f, 0x6c, 0x34, 0x7c, 0x16, 0x32, 0x38, 0xda, 0x7b, 0x6d, 0xf4, 0x56, 0xa5, 0x11, + 0x52, 0x77, 0x3c, 0x86, 0xc5, 0xaf, 0xd4, 0x95, 0xc6, 0x6c, 0x66, 0x33, 0xb1, 0xc4, 0x7c, 0xa5, + 0xde, 0xde, 0xb3, 0x19, 0xb3, 0x5d, 0x8a, 0x49, 0xc3, 0xc1, 0xc4, 0xf3, 0x58, 0x48, 0x42, 0x87, + 0x79, 0x81, 0xda, 0x9d, 0xab, 0xb2, 0xa0, 0xce, 0x02, 0x5c, 0x21, 0x01, 0x95, 0x45, 0xf1, 0xeb, + 0x85, 0x0a, 0x0d, 0xc9, 0x02, 0x6e, 0x10, 0xdb, 0xf1, 0x84, 0x58, 0x69, 0x27, 0x93, 0x40, 0x1b, + 0xc4, 0x27, 0xf5, 0x6e, 0xb6, 0xd9, 0x44, 0x85, 0xcf, 0xac, 0x66, 0x35, 0x3c, 0xb0, 0x68, 0x48, + 0x1c, 0x37, 0x53, 0xca, 0x57, 0x07, 0x47, 0x4e, 0x58, 0x3b, 0x70, 0xea, 0xc4, 0xa6, 0x4a, 0xaa, + 0x27, 0x49, 0x9b, 0x01, 0xf5, 0xe5, 0x3e, 0x1a, 0x03, 0x70, 0x8f, 0x93, 0xef, 0x0a, 0x14, 0x93, + 0x1e, 0x36, 0x69, 0x10, 0xa2, 0x7d, 0x30, 0x1a, 0x7b, 0x1b, 0x34, 0x98, 0x17, 0x50, 0xb8, 0x0e, + 0x8a, 0x12, 0x79, 0x5c, 0x9b, 0xd4, 0x66, 0xfe, 0x5f, 0xbc, 0x6b, 0x24, 0x9c, 0xae, 0x21, 0x83, + 0xca, 0x43, 0x67, 0xdf, 0x27, 0x72, 0x9f, 0x7e, 0x7d, 0x9e, 0xd3, 0x4c, 0x15, 0x85, 0x30, 0xb8, + 0x2f, 0xd2, 0x6e, 0xd3, 0x70, 0x57, 0x36, 0xb6, 0x25, 0xfb, 0x52, 0x75, 0xe1, 0x30, 0xc8, 0x3b, + 0x96, 0x48, 0x5e, 0x30, 0xf3, 0x8e, 0x85, 0x02, 0xa0, 0xa7, 0x05, 0x28, 0xa4, 0x3d, 0x30, 0x1c, + 0xdf, 0x51, 0x68, 0x0f, 0x92, 0xd1, 0x62, 0xd2, 0x72, 0x81, 0x23, 0x9a, 0x57, 0x12, 0x20, 0x5b, + 0x51, 0x6e, 0xb8, 0x6e, 0x32, 0xe5, 0x73, 0x00, 0x2e, 0xef, 0x57, 0xd5, 0x9b, 0x32, 0xe4, 0x30, + 0x18, 0x7c, 0x18, 0x0c, 0x39, 0x81, 0x6a, 0x18, 0x8c, 0x5d, 0x62, 0x53, 0x15, 0x6b, 0x46, 0x22, + 0xd1, 0xa9, 0xa6, 0xda, 0x4b, 0xa8, 0x94, 0xd1, 0xde, 0x7f, 0x37, 0x6a, 0x0f, 0x6e, 0xc7, 0xe8, + 0xf3, 0x82, 0x7e, 0xba, 0x2f, 0xbd, 0xe4, 0x89, 0xe1, 0xcf, 0x81, 0x5b, 0x82, 0x7e, 0x93, 0xf8, + 0x56, 0xf7, 0x68, 0x6e, 0x83, 0x22, 0xc7, 0xd9, 0xe9, 0x5e, 0xa2, 0x7a, 0x42, 0x2f, 0xc0, 0x48, + 0x44, 0xab, 0x9a, 0x5b, 0x01, 0x05, 0xbe, 0xad, 0x4e, 0x10, 0x25, 0xb6, 0xc4, 0x03, 0x5e, 0x3a, + 0x61, 0x6d, 0x87, 0xcf, 0xb4, 0x29, 0xf4, 0xe8, 0x91, 0x2a, 0xbc, 0x1f, 0x50, 0xbf, 0x5b, 0x78, + 0x1c, 0x0c, 0x12, 0xcb, 0xf2, 0x69, 0x20, 0x07, 0x60, 0xc8, 0xec, 0x3e, 0xa2, 0xb2, 0x2a, 0x2d, + 0xd5, 0xaa, 0xf4, 0x3c, 0x28, 0x70, 0x13, 0xa8, 0xd2, 0x77, 0x12, 0x4b, 0x8b, 0x00, 0x21, 0x43, + 0xb3, 0x11, 0xfc, 0xde, 0x18, 0x8c, 0x81, 0x01, 0x76, 0xe4, 0xa9, 0x24, 0x43, 0xa6, 0x7c, 0x40, + 0x86, 0x32, 0x94, 0x92, 0xaa, 0x7a, 0xe3, 0x60, 0x50, 0x9e, 0x84, 0xbc, 0xc0, 0x82, 0xd9, 0x7d, + 0x5c, 0xec, 0x0c, 0x82, 0x01, 0x11, 0x00, 0xdf, 0x6b, 0xa0, 0x28, 0xbd, 0x03, 0xa7, 0x13, 0x81, + 0xfe, 0x34, 0x6a, 0x69, 0xa6, 0xbf, 0x50, 0x12, 0xa0, 0xe5, 0xb7, 0x5f, 0x7f, 0x9e, 0xe4, 0x31, + 0x9c, 0xc7, 0x5b, 0xb4, 0x4a, 0xbd, 0xd0, 0x27, 0x2e, 0x47, 0xdc, 0x26, 0x75, 0x8a, 0xd3, 0xbf, + 0x4d, 0xf0, 0x8b, 0x76, 0x75, 0x02, 0xe1, 0x62, 0x7a, 0xcd, 0x34, 0x63, 0x97, 0x96, 0xfe, 0x2a, + 0x46, 0x21, 0x6f, 0x0a, 0xe4, 0x35, 0xf8, 0xf4, 0xba, 0xc8, 0xf1, 0x8f, 0x25, 0x6e, 0x39, 0x56, + 0x1b, 0x9e, 0x6a, 0x60, 0x24, 0x9e, 0x7f, 0xc3, 0x75, 0xb3, 0x7a, 0x48, 0xb3, 0x7d, 0x56, 0x0f, + 0xa9, 0x06, 0x46, 0xeb, 0xa2, 0x87, 0x55, 0xb8, 0xf2, 0x6f, 0x3d, 0xc0, 0x13, 0x0d, 0x14, 0x78, + 0x00, 0x7c, 0x98, 0x5e, 0x3d, 0x62, 0xc0, 0xd2, 0x54, 0x3f, 0x99, 0xe2, 0x7a, 0x26, 0xb8, 0x56, + 0xe0, 0xe3, 0x6b, 0x72, 0xf1, 0x15, 0x6e, 0xc9, 0xa1, 0x6d, 0xc3, 0x0f, 0x1a, 0x28, 0x70, 0x7b, + 0x64, 0x51, 0x45, 0xdc, 0x99, 0x45, 0x15, 0xb5, 0x25, 0x5a, 0x13, 0x54, 0x4f, 0xe0, 0xf2, 0x35, + 0xa9, 0xb8, 0x39, 0x71, 0x4b, 0x39, 0xbd, 0x0d, 0x3f, 0x6a, 0x60, 0x40, 0xf8, 0x0e, 0xf6, 0x39, + 0x86, 0xde, 0x9d, 0x4e, 0xf7, 0xd5, 0xdd, 0xe0, 0xbc, 0x02, 0xdc, 0x12, 0xdf, 0x84, 0x76, 0xd9, + 0x3c, 0xeb, 0xe8, 0xda, 0x79, 0x47, 0xd7, 0x7e, 0x74, 0x74, 0xed, 0xdd, 0x85, 0x9e, 0x3b, 0xbf, + 0xd0, 0x73, 0xdf, 0x2e, 0xf4, 0xdc, 0xab, 0x55, 0xdb, 0x09, 0x6b, 0xcd, 0x8a, 0x51, 0x65, 0xf5, + 0xcc, 0xcc, 0x6f, 0x22, 0xeb, 0xf0, 0xb8, 0x41, 0x83, 0x4a, 0x51, 0xfc, 0x81, 0x2f, 0xfd, 0x0e, + 0x00, 0x00, 0xff, 0xff, 0x0b, 0x05, 0x85, 0xbd, 0x03, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -559,6 +652,8 @@ type QueryClient interface { Card(ctx context.Context, in *QueryCardRequest, opts ...grpc.CallOption) (*QueryCardResponse, error) // Queries a list of User items. User(ctx context.Context, in *QueryUserRequest, opts ...grpc.CallOption) (*QueryUserResponse, error) + // Queries a list of Cards items. + Cards(ctx context.Context, in *QueryCardsRequest, opts ...grpc.CallOption) (*QueryCardsResponse, error) } type queryClient struct { @@ -614,6 +709,15 @@ func (c *queryClient) User(ctx context.Context, in *QueryUserRequest, opts ...gr return out, nil } +func (c *queryClient) Cards(ctx context.Context, in *QueryCardsRequest, opts ...grpc.CallOption) (*QueryCardsResponse, error) { + out := new(QueryCardsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Cards", 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. @@ -625,6 +729,8 @@ type QueryServer interface { Card(context.Context, *QueryCardRequest) (*QueryCardResponse, error) // Queries a list of User items. User(context.Context, *QueryUserRequest) (*QueryUserResponse, error) + // Queries a list of Cards items. + Cards(context.Context, *QueryCardsRequest) (*QueryCardsResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -646,6 +752,9 @@ func (*UnimplementedQueryServer) Card(ctx context.Context, req *QueryCardRequest func (*UnimplementedQueryServer) User(ctx context.Context, req *QueryUserRequest) (*QueryUserResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method User not implemented") } +func (*UnimplementedQueryServer) Cards(ctx context.Context, req *QueryCardsRequest) (*QueryCardsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Cards not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -741,6 +850,24 @@ func _Query_User_Handler(srv interface{}, ctx context.Context, dec func(interfac return interceptor(ctx, in, info, handler) } +func _Query_Cards_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCardsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Cards(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/Cards", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Cards(ctx, req.(*QueryCardsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -766,6 +893,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "User", Handler: _Query_User_Handler, }, + { + MethodName: "Cards", + Handler: _Query_Cards_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -1100,6 +1231,77 @@ func (m *QueryUserResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *QueryCardsRequest) 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 *QueryCardsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryCardsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryCardsResponse) 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 *QueryCardsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryCardsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.CardIds) > 0 { + dAtA8 := make([]byte, len(m.CardIds)*10) + var j7 int + for _, num := range m.CardIds { + for num >= 1<<7 { + dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j7++ + } + dAtA8[j7] = uint8(num) + j7++ + } + i -= j7 + copy(dAtA[i:], dAtA8[:j7]) + i = encodeVarintQuery(dAtA, i, uint64(j7)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { offset -= sovQuery(v) base := offset @@ -1237,6 +1439,35 @@ func (m *QueryUserResponse) Size() (n int) { return n } +func (m *QueryCardsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryCardsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.CardIds) > 0 { + l = 0 + for _, e := range m.CardIds { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -2057,6 +2288,214 @@ func (m *QueryUserResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryCardsRequest) 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: QueryCardsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCardsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", 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.Owner = 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 *QueryCardsResponse) 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: QueryCardsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCardsResponse: 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 ErrIntOverflowQuery + } + 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 ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + 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 ErrIntOverflowQuery + } + 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 := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 766f2924..d3227169 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -249,6 +249,60 @@ func local_request_Query_User_0(ctx context.Context, marshaler runtime.Marshaler } +func request_Query_Cards_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCardsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["owner"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "owner") + } + + protoReq.Owner, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) + } + + msg, err := client.Cards(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Cards_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCardsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["owner"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "owner") + } + + protoReq.Owner, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) + } + + msg, err := server.Cards(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. @@ -370,6 +424,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_Cards_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_Cards_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_Cards_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -511,6 +588,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_Cards_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_Cards_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_Cards_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -524,6 +621,8 @@ var ( pattern_Query_Card_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "card", "cardId"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_User_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "user", "address"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_Cards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "cards", "owner"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -536,4 +635,6 @@ var ( forward_Query_Card_0 = runtime.ForwardResponseMessage forward_Query_User_0 = runtime.ForwardResponseMessage + + forward_Query_Cards_0 = runtime.ForwardResponseMessage ) From 906eea981a4e0b739e1e5cd62a2861a0d50f85a9 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 12:12:10 +0100 Subject: [PATCH 39/99] feat(#242): renamed keepers because of name conflics with generated queries, FML --- x/cardchain/keeper/card.go | 6 +-- x/cardchain/keeper/council.go | 10 ++-- x/cardchain/keeper/keeper.go | 48 +++++++++---------- x/cardchain/keeper/match.go | 10 ++-- .../keeper/msg_server_booster_pack_buy.go | 2 +- .../keeper/msg_server_booster_pack_open.go | 2 +- .../keeper/msg_server_card_artist_change.go | 4 +- .../keeper/msg_server_card_artwork_add.go | 8 ++-- x/cardchain/keeper/msg_server_card_donate.go | 4 +- .../keeper/msg_server_card_rarity_set.go | 6 +-- .../keeper/msg_server_card_save_content.go | 4 +- .../keeper/msg_server_card_scheme_buy.go | 12 ++--- .../keeper/msg_server_card_transfer.go | 4 +- .../keeper/msg_server_council_create.go | 6 +-- .../keeper/msg_server_council_register.go | 4 +- .../msg_server_council_response_commit.go | 4 +- .../msg_server_council_response_reveal.go | 4 +- .../keeper/msg_server_council_restart.go | 6 +-- .../keeper/msg_server_encounter_close.go | 4 +- .../keeper/msg_server_encounter_create.go | 10 ++-- x/cardchain/keeper/msg_server_encounter_do.go | 2 +- .../keeper/msg_server_match_confirm.go | 4 +- x/cardchain/keeper/msg_server_match_open.go | 4 +- x/cardchain/keeper/msg_server_match_report.go | 4 +- .../keeper/msg_server_profile_card_set.go | 2 +- .../keeper/msg_server_sell_offer_buy.go | 4 +- .../keeper/msg_server_sell_offer_create.go | 6 +-- .../keeper/msg_server_sell_offer_remove.go | 4 +- .../keeper/msg_server_set_artist_set.go | 4 +- .../keeper/msg_server_set_artwork_add.go | 6 +-- x/cardchain/keeper/msg_server_set_card_add.go | 8 ++-- .../keeper/msg_server_set_card_remove.go | 4 +- .../keeper/msg_server_set_contributor_add.go | 4 +- .../msg_server_set_contributor_remove.go | 4 +- x/cardchain/keeper/msg_server_set_create.go | 6 +-- x/cardchain/keeper/msg_server_set_finalize.go | 8 ++-- x/cardchain/keeper/msg_server_set_name_set.go | 4 +- .../keeper/msg_server_set_story_add.go | 4 +- .../keeper/msg_server_set_story_writer_set.go | 4 +- .../keeper/msg_server_zealy_connect.go | 6 +-- x/cardchain/keeper/server.go | 10 ++-- x/cardchain/keeper/set.go | 6 +-- x/cardchain/keeper/user.go | 6 +-- x/cardchain/keeper/vote_right.go | 12 ++--- x/cardchain/keeper/voting.go | 4 +- 45 files changed, 144 insertions(+), 144 deletions(-) diff --git a/x/cardchain/keeper/card.go b/x/cardchain/keeper/card.go index 96149c16..96fad301 100644 --- a/x/cardchain/keeper/card.go +++ b/x/cardchain/keeper/card.go @@ -8,15 +8,15 @@ import ( // 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.LastCardModified.Set(ctx, &timeStamp) + k.lastCardModified.Set(ctx, &timeStamp) } // SetCardToTrial Sets a card to trial func (k Keeper) SetCardToTrial(ctx sdk.Context, cardId uint64, votePool sdk.Coin) { - card := k.Cards.Get(ctx, cardId) + card := k.cards.Get(ctx, cardId) card.ResetVotes() card.VotePool = card.VotePool.Add(votePool) card.Status = types.CardStatus_trial - k.Cards.Set(ctx, cardId, card) + k.cards.Set(ctx, cardId, card) k.SetLastCardModifiedNow(ctx) } diff --git a/x/cardchain/keeper/council.go b/x/cardchain/keeper/council.go index fe7f8b8c..5da16e2a 100644 --- a/x/cardchain/keeper/council.go +++ b/x/cardchain/keeper/council.go @@ -77,12 +77,12 @@ func (k Keeper) TryEvaluate(ctx sdk.Context, council *types.Council) error { // CheckTrial Checks for councils that shouldn't be in trial anymore func (k Keeper) CheckTrial(ctx sdk.Context) error { collateralDeposit := k.GetParams(ctx).CollateralDeposit - iter := k.Councils.GetItemIterator(ctx) + iter := k.councils.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, council := iter.Value() if council.Status == types.CouncelingStatus_revealed { if council.TrialStart+k.GetParams(ctx).TrialPeriod <= uint64(ctx.BlockHeight()) { - card := k.Cards.Get(ctx, council.CardId) + card := k.cards.Get(ctx, council.CardId) var ( group []string @@ -97,7 +97,7 @@ func (k Keeper) CheckTrial(ctx sdk.Context) error { }) if votes[len(votes)-1] == 0 { council.TrialStart = uint64(ctx.BlockHeight()) - k.Councils.Set(ctx, idx, council) + k.councils.Set(ctx, idx, council) continue } if card.FairEnoughVotes == votes[len(votes)-1] { @@ -133,8 +133,8 @@ func (k Keeper) CheckTrial(ctx sdk.Context) error { card.VotePool = card.VotePool.Sub(card.VotePool) council.Status = types.CouncelingStatus_councilClosed - k.Councils.Set(ctx, idx, council) - k.Cards.Set(ctx, council.CardId, card) + k.councils.Set(ctx, idx, council) + k.cards.Set(ctx, council.CardId, card) } } } diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index ae6b0dc8..f4defe88 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -19,20 +19,20 @@ type ( storeService store.KVStoreService logger log.Logger - Cards gtk.GenericUint64TypeKeeper[*types.Card] - Councils gtk.GenericUint64TypeKeeper[*types.Council] - SellOffers gtk.GenericUint64TypeKeeper[*types.SellOffer] - Sets gtk.GenericUint64TypeKeeper[*types.Set] - Matches gtk.GenericUint64TypeKeeper[*types.Match] - Servers gtk.GenericUint64TypeKeeper[*types.Server] + cards gtk.GenericUint64TypeKeeper[*types.Card] + councils gtk.GenericUint64TypeKeeper[*types.Council] + sellOffers gtk.GenericUint64TypeKeeper[*types.SellOffer] + sets gtk.GenericUint64TypeKeeper[*types.Set] + matches gtk.GenericUint64TypeKeeper[*types.Match] + servers gtk.GenericUint64TypeKeeper[*types.Server] RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] - Images gtk.GenericUint64TypeKeeper[*types.Image] - Encounters gtk.GenericUint64TypeKeeper[*types.Encounter] - Users gtk.GenericAddressTypeKeeper[*types.User] - Zealy gtk.GenericStringTypeKeeper[*types.Zealy] - LastCardModified gtk.SingleValueGenericTypeKeeper[*types.TimeStamp] - CardAuctionPrice gtk.SingleValueGenericTypeKeeper[*sdk.Coin] + images gtk.GenericUint64TypeKeeper[*types.Image] + encounters gtk.GenericUint64TypeKeeper[*types.Encounter] + users gtk.GenericAddressTypeKeeper[*types.User] + zealy gtk.GenericStringTypeKeeper[*types.Zealy] + lastCardModified gtk.SingleValueGenericTypeKeeper[*types.TimeStamp] + cardAuctionPrice gtk.SingleValueGenericTypeKeeper[*sdk.Coin] // the address capable of executing a MsgUpdateParams message. Typically, this // should be the x/gov module account. @@ -62,20 +62,20 @@ func NewKeeper( authority: authority, logger: logger, - Cards: gtk.NewUintGTK[*types.Card]("Cards", storeService, cdc, gtk.GetEmpty[types.Card]), - Councils: gtk.NewUintGTK[*types.Council]("Councils", storeService, cdc, gtk.GetEmpty[types.Council]), - SellOffers: gtk.NewUintGTK[*types.SellOffer]("SellOffers", storeService, cdc, gtk.GetEmpty[types.SellOffer]), - Sets: gtk.NewUintGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), - Matches: gtk.NewUintGTK[*types.Match]("Matches", storeService, cdc, gtk.GetEmpty[types.Match]), + cards: gtk.NewUintGTK[*types.Card]("Cards", storeService, cdc, gtk.GetEmpty[types.Card]), + councils: gtk.NewUintGTK[*types.Council]("Councils", storeService, cdc, gtk.GetEmpty[types.Council]), + sellOffers: gtk.NewUintGTK[*types.SellOffer]("SellOffers", storeService, cdc, gtk.GetEmpty[types.SellOffer]), + sets: gtk.NewUintGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), + matches: gtk.NewUintGTK[*types.Match]("Matches", storeService, cdc, gtk.GetEmpty[types.Match]), RunningAverages: gtk.NewKGTK[*types.RunningAverage]("RunningAverages", storeService, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), Pools: gtk.NewKGTK[*sdk.Coin]("Pools", storeService, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), - Images: gtk.NewUintGTK[*types.Image]("Images", storeService, cdc, gtk.GetEmpty[types.Image]), - Servers: gtk.NewUintGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), - Encounters: gtk.NewUintGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), - Users: gtk.NewAddressGTK[*types.User]("Users", storeService, cdc, gtk.GetEmpty[types.User]), - Zealy: gtk.NewStringGTK[*types.Zealy]("Zealy", storeService, cdc, gtk.GetEmpty[types.Zealy]), - LastCardModified: gtk.NewSingleValueGenericTypeKeeper[*types.TimeStamp]("LastCardModified", storeService, cdc, gtk.GetEmpty[types.TimeStamp]), - CardAuctionPrice: gtk.NewSingleValueGenericTypeKeeper[*sdk.Coin]("CardAuctionPrice", storeService, cdc, gtk.GetEmpty[sdk.Coin]), + images: gtk.NewUintGTK[*types.Image]("Images", storeService, cdc, gtk.GetEmpty[types.Image]), + servers: gtk.NewUintGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), + encounters: gtk.NewUintGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), + users: gtk.NewAddressGTK[*types.User]("Users", storeService, cdc, gtk.GetEmpty[types.User]), + zealy: gtk.NewStringGTK[*types.Zealy]("Zealy", storeService, cdc, gtk.GetEmpty[types.Zealy]), + lastCardModified: gtk.NewSingleValueGenericTypeKeeper[*types.TimeStamp]("LastCardModified", storeService, cdc, gtk.GetEmpty[types.TimeStamp]), + cardAuctionPrice: gtk.NewSingleValueGenericTypeKeeper[*sdk.Coin]("CardAuctionPrice", storeService, cdc, gtk.GetEmpty[sdk.Coin]), FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), BankKeeper: bankKeeper, diff --git a/x/cardchain/keeper/match.go b/x/cardchain/keeper/match.go index 3c39f2a3..aa34bb22 100644 --- a/x/cardchain/keeper/match.go +++ b/x/cardchain/keeper/match.go @@ -82,7 +82,7 @@ func (k Keeper) distributeCoins(ctx sdk.Context, match *types.Match, outcome typ } k.SubPoolCredits(ctx, WinnersPoolKey, amounts[idx]) - user := k.Users.Get(ctx, address) + user := k.users.Get(ctx, address) userObj := User{Addr: address, User: user} k.ClaimAirDrop(ctx, &userObj, types.AirDrop_play) k.SetUserFromUser(ctx, userObj) @@ -97,9 +97,9 @@ func (k Keeper) distributeCoins(ctx sdk.Context, match *types.Match, outcome typ if outcome != types.Outcome_Aborted { for _, address := range addresses { - user := k.Users.Get(ctx, address) + user := k.users.Get(ctx, address) // TODO: Whats going on here - k.Users.Set(ctx, address, user) + k.users.Set(ctx, address, user) } } @@ -199,7 +199,7 @@ func (k Keeper) MatchWorker(ctx sdk.Context) { now := uint64(ctx.BlockHeight()) matchWorkerDelay := k.GetParams(ctx).MatchWorkerDelay if ctx.BlockHeight()%20 == 0 { - matchIter := k.Matches.GetItemIterator(ctx) + matchIter := k.matches.GetItemIterator(ctx) for ; matchIter.Valid(); matchIter.Next() { id, match := matchIter.Value() if !match.CoinsDistributed && match.Timestamp != 0 && match.Timestamp+matchWorkerDelay < now { @@ -209,7 +209,7 @@ func (k Keeper) MatchWorker(ctx sdk.Context) { match.Outcome = types.Outcome_Aborted match.CoinsDistributed = true } - k.Matches.Set(ctx, id, match) + k.matches.Set(ctx, id, match) } } } diff --git a/x/cardchain/keeper/msg_server_booster_pack_buy.go b/x/cardchain/keeper/msg_server_booster_pack_buy.go index 4d8f9383..fd720cc8 100644 --- a/x/cardchain/keeper/msg_server_booster_pack_buy.go +++ b/x/cardchain/keeper/msg_server_booster_pack_buy.go @@ -22,7 +22,7 @@ func (k msgServer) BoosterPackBuy(goCtx context.Context, msg *types.MsgBoosterPa return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - set := k.Sets.Get(ctx, msg.SetId) + set := k.sets.Get(ctx, msg.SetId) if set.Status != types.CStatus_active { return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invalid set status: %s", set.Status) diff --git a/x/cardchain/keeper/msg_server_booster_pack_open.go b/x/cardchain/keeper/msg_server_booster_pack_open.go index d1c5101f..a4e47c20 100644 --- a/x/cardchain/keeper/msg_server_booster_pack_open.go +++ b/x/cardchain/keeper/msg_server_booster_pack_open.go @@ -34,7 +34,7 @@ func (k msgServer) BoosterPackOpen(goCtx context.Context, msg *types.MsgBoosterP cleanedRatios [3]uint64 ) pack := creator.BoosterPacks[msg.BoosterPackId] - set := k.Sets.Get(ctx, pack.SetId) + set := k.sets.Get(ctx, pack.SetId) for idx, ratio := range pack.DropRatiosPerPack { if len(set.Rarities[idx+2].R) == 0 { diff --git a/x/cardchain/keeper/msg_server_card_artist_change.go b/x/cardchain/keeper/msg_server_card_artist_change.go index 05162d8f..15b096a1 100644 --- a/x/cardchain/keeper/msg_server_card_artist_change.go +++ b/x/cardchain/keeper/msg_server_card_artist_change.go @@ -12,7 +12,7 @@ import ( func (k msgServer) CardArtistChange(goCtx context.Context, msg *types.MsgCardArtistChange) (*types.MsgCardArtistChangeResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - card := k.Cards.Get(ctx, msg.CardId) + card := k.cards.Get(ctx, msg.CardId) if card.Status != types.CardStatus_prototype { return nil, errorsmod.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype to be changeable") @@ -29,7 +29,7 @@ func (k msgServer) CardArtistChange(goCtx context.Context, msg *types.MsgCardArt card.Artist = newArtist.String() - k.Cards.Set(ctx, msg.CardId, card) + k.cards.Set(ctx, msg.CardId, card) return &types.MsgCardArtistChangeResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_artwork_add.go b/x/cardchain/keeper/msg_server_card_artwork_add.go index 1d4fc453..685542aa 100644 --- a/x/cardchain/keeper/msg_server_card_artwork_add.go +++ b/x/cardchain/keeper/msg_server_card_artwork_add.go @@ -12,8 +12,8 @@ import ( func (k msgServer) CardArtworkAdd(goCtx context.Context, msg *types.MsgCardArtworkAdd) (*types.MsgCardArtworkAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - card := k.Cards.Get(ctx, msg.CardId) - image := k.Images.Get(ctx, card.ImageId) + card := k.cards.Get(ctx, msg.CardId) + image := k.images.Get(ctx, card.ImageId) councilEnabled, err := k.FeatureFlagModuleInstance.Get(ctx, string(types.FeatureFlagName_Council)) if err != nil { @@ -35,8 +35,8 @@ func (k msgServer) CardArtworkAdd(goCtx context.Context, msg *types.MsgCardArtwo card.Status = types.CardStatus_permanent } - k.Cards.Set(ctx, msg.CardId, card) - k.Images.Set(ctx, card.ImageId, image) + k.cards.Set(ctx, msg.CardId, card) + k.images.Set(ctx, card.ImageId, image) return &types.MsgCardArtworkAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_donate.go b/x/cardchain/keeper/msg_server_card_donate.go index 39df77d5..21b4f960 100644 --- a/x/cardchain/keeper/msg_server_card_donate.go +++ b/x/cardchain/keeper/msg_server_card_donate.go @@ -17,9 +17,9 @@ func (k msgServer) CardDonate(goCtx context.Context, msg *types.MsgCardDonate) ( return nil, errorsmod.Wrap(sdkerrors.ErrInsufficientFunds, "Donator does not have enough coins") } - card := k.Cards.Get(ctx, msg.CardId) + card := k.cards.Get(ctx, msg.CardId) card.VotePool = card.VotePool.Add(msg.Amount) - k.Cards.Set(ctx, msg.CardId, card) + k.cards.Set(ctx, msg.CardId, card) return &types.MsgCardDonateResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_rarity_set.go b/x/cardchain/keeper/msg_server_card_rarity_set.go index 8279b093..cdc13afe 100644 --- a/x/cardchain/keeper/msg_server_card_rarity_set.go +++ b/x/cardchain/keeper/msg_server_card_rarity_set.go @@ -13,15 +13,15 @@ import ( func (k msgServer) CardRaritySet(goCtx context.Context, msg *types.MsgCardRaritySet) (*types.MsgCardRaritySetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - card := k.Cards.Get(ctx, msg.CardId) - set := k.Sets.Get(ctx, msg.SetId) + card := k.cards.Get(ctx, msg.CardId) + set := k.sets.Get(ctx, msg.SetId) if set.Contributors[0] != msg.Creator || !slices.Contains(set.Cards, msg.CardId) { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Creator") } card.Rarity = msg.Rarity - k.Cards.Set(ctx, msg.CardId, card) + k.cards.Set(ctx, msg.CardId, card) return &types.MsgCardRaritySetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_save_content.go b/x/cardchain/keeper/msg_server_card_save_content.go index 4486f283..4380c81a 100644 --- a/x/cardchain/keeper/msg_server_card_save_content.go +++ b/x/cardchain/keeper/msg_server_card_save_content.go @@ -14,7 +14,7 @@ import ( func (k msgServer) CardSaveContent(goCtx context.Context, msg *types.MsgCardSaveContent) (*types.MsgCardSaveContentResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - card := k.Cards.Get(ctx, msg.CardId) + card := k.cards.Get(ctx, msg.CardId) councilEnabled, err := k.FeatureFlagModuleInstance.Get(ctx, string(types.FeatureFlagName_Council)) if err != nil { return nil, err @@ -66,7 +66,7 @@ func (k msgServer) CardSaveContent(goCtx context.Context, msg *types.MsgCardSave } else { card.Status = types.CardStatus_permanent } - k.Cards.Set(ctx, msg.CardId, card) + k.cards.Set(ctx, msg.CardId, card) k.SetLastCardModifiedNow(ctx) return &types.MsgCardSaveContentResponse{AirdropClaimed: claimedAirdrop}, nil diff --git a/x/cardchain/keeper/msg_server_card_scheme_buy.go b/x/cardchain/keeper/msg_server_card_scheme_buy.go index 424643cf..32029a82 100644 --- a/x/cardchain/keeper/msg_server_card_scheme_buy.go +++ b/x/cardchain/keeper/msg_server_card_scheme_buy.go @@ -14,8 +14,8 @@ import ( func (k msgServer) CardSchemeBuy(goCtx context.Context, msg *types.MsgCardSchemeBuy) (*types.MsgCardSchemeBuyResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - currId := k.Cards.GetNum(ctx) - price := *k.CardAuctionPrice.Get(ctx) + currId := k.cards.GetNum(ctx) + price := *k.cardAuctionPrice.Get(ctx) bid := msg.Bid buyer, err := k.GetUserFromString(ctx, msg.Creator) @@ -35,18 +35,18 @@ func (k msgServer) CardSchemeBuy(goCtx context.Context, msg *types.MsgCardScheme k.AddPoolCredits(ctx, PublicPoolKey, price) if price.Amount.Mul(sdkmath.NewInt(2)).LT(sdkmath.NewInt(int64(math.Pow(10, 12)))) { newPrice := price.Add(price) - k.CardAuctionPrice.Set(ctx, &newPrice) + k.cardAuctionPrice.Set(ctx, &newPrice) } newCard := types.NewCard(buyer.Addr) - newCard.ImageId = k.Images.GetNum(ctx) + newCard.ImageId = k.images.GetNum(ctx) image := types.Image{} buyer.OwnedCardSchemes = append(buyer.OwnedCardSchemes, currId) k.SetUserFromUser(ctx, buyer) - k.Cards.Set(ctx, currId, &newCard) - k.Images.Set(ctx, newCard.ImageId, &image) + k.cards.Set(ctx, currId, &newCard) + k.images.Set(ctx, newCard.ImageId, &image) return &types.MsgCardSchemeBuyResponse{CardId: currId}, nil } diff --git a/x/cardchain/keeper/msg_server_card_transfer.go b/x/cardchain/keeper/msg_server_card_transfer.go index e1b366b2..486ae2f4 100644 --- a/x/cardchain/keeper/msg_server_card_transfer.go +++ b/x/cardchain/keeper/msg_server_card_transfer.go @@ -14,7 +14,7 @@ func (k msgServer) CardTransfer(goCtx context.Context, msg *types.MsgCardTransfe ctx := sdk.UnwrapSDKContext(goCtx) // if the vote right is valid, get the Card - card := k.Cards.Get(ctx, msg.CardId) + card := k.cards.Get(ctx, msg.CardId) creator, err := k.GetUserFromString(ctx, msg.Creator) if err != nil { return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) @@ -45,7 +45,7 @@ func (k msgServer) CardTransfer(goCtx context.Context, msg *types.MsgCardTransfe } card.Owner = msg.Receiver - k.Cards.Set(ctx, msg.CardId, card) + k.cards.Set(ctx, msg.CardId, card) k.SetUserFromUser(ctx, creator) k.SetUserFromUser(ctx, receiver) diff --git a/x/cardchain/keeper/msg_server_council_create.go b/x/cardchain/keeper/msg_server_council_create.go index bff66a8a..86012cac 100644 --- a/x/cardchain/keeper/msg_server_council_create.go +++ b/x/cardchain/keeper/msg_server_council_create.go @@ -20,7 +20,7 @@ func (k msgServer) CouncilCreate(goCtx context.Context, msg *types.MsgCouncilCre return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - card := k.Cards.Get(ctx, msg.CardId) + card := k.cards.Get(ctx, msg.CardId) //if card.Status != types.CardStatus_prototype { // return nil, sdkerrors.Wrapf(types.ErrInvalidCardStatus, "%s", card.Status.String()) //} else @@ -34,7 +34,7 @@ func (k msgServer) CouncilCreate(goCtx context.Context, msg *types.MsgCouncilCre var status types.CouncelingStatus collateralDeposit := k.GetParams(ctx).CollateralDeposit treasury := MulCoin(collateralDeposit, 10) - councilId := k.Councils.GetNum(ctx) + councilId := k.councils.GetNum(ctx) users, addresses := k.GetAllUsers(ctx) for idx, user := range users { @@ -77,7 +77,7 @@ func (k msgServer) CouncilCreate(goCtx context.Context, msg *types.MsgCouncilCre Status: status, } - k.Councils.Set(ctx, councilId, &council) + k.councils.Set(ctx, councilId, &council) return &types.MsgCouncilCreateResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_council_register.go b/x/cardchain/keeper/msg_server_council_register.go index f9f9df2e..f44fb966 100644 --- a/x/cardchain/keeper/msg_server_council_register.go +++ b/x/cardchain/keeper/msg_server_council_register.go @@ -21,7 +21,7 @@ func (k msgServer) CouncilRegister(goCtx context.Context, msg *types.MsgCouncilR return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invalid council status %s", user.CouncilStatus.String()) } - iter := k.Councils.GetItemIterator(ctx) + iter := k.councils.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, council := iter.Value() if council.Status == types.CouncelingStatus_councilOpen { @@ -41,7 +41,7 @@ func (k msgServer) CouncilRegister(goCtx context.Context, msg *types.MsgCouncilR } k.SetUserFromUser(ctx, usr) } - k.Councils.Set(ctx, idx, council) + k.councils.Set(ctx, idx, council) break } } diff --git a/x/cardchain/keeper/msg_server_council_response_commit.go b/x/cardchain/keeper/msg_server_council_response_commit.go index c40c4155..334d1ccf 100644 --- a/x/cardchain/keeper/msg_server_council_response_commit.go +++ b/x/cardchain/keeper/msg_server_council_response_commit.go @@ -21,7 +21,7 @@ func (k msgServer) CouncilResponseCommit(goCtx context.Context, msg *types.MsgCo return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - council := k.Councils.Get(ctx, msg.CouncilId) + council := k.councils.Get(ctx, msg.CouncilId) if !slices.Contains(council.Voters, msg.Creator) { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid Voter") } @@ -68,7 +68,7 @@ func (k msgServer) CouncilResponseCommit(goCtx context.Context, msg *types.MsgCo return nil, err } - k.Councils.Set(ctx, msg.CouncilId, council) + k.councils.Set(ctx, msg.CouncilId, council) return &types.MsgCouncilResponseCommitResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_council_response_reveal.go b/x/cardchain/keeper/msg_server_council_response_reveal.go index b5638ec6..d2e6467f 100644 --- a/x/cardchain/keeper/msg_server_council_response_reveal.go +++ b/x/cardchain/keeper/msg_server_council_response_reveal.go @@ -20,7 +20,7 @@ func (k msgServer) CouncilResponseReveal(goCtx context.Context, msg *types.MsgCo return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - council := k.Councils.Get(ctx, msg.CouncilId) + council := k.councils.Get(ctx, msg.CouncilId) if !slices.Contains(council.Voters, msg.Creator) { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid Voter") } @@ -70,7 +70,7 @@ func (k msgServer) CouncilResponseReveal(goCtx context.Context, msg *types.MsgCo return nil, err } - k.Councils.Set(ctx, msg.CouncilId, council) + k.councils.Set(ctx, msg.CouncilId, council) return &types.MsgCouncilResponseRevealResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_council_restart.go b/x/cardchain/keeper/msg_server_council_restart.go index 75d853a6..6d1fa64e 100644 --- a/x/cardchain/keeper/msg_server_council_restart.go +++ b/x/cardchain/keeper/msg_server_council_restart.go @@ -12,8 +12,8 @@ import ( func (k msgServer) CouncilRestart(goCtx context.Context, msg *types.MsgCouncilRestart) (*types.MsgCouncilRestartResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - council := k.Councils.Get(ctx, msg.CouncilId) - card := k.Cards.Get(ctx, council.CardId) + council := k.councils.Get(ctx, msg.CouncilId) + card := k.cards.Get(ctx, council.CardId) if card.Owner != msg.Creator { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid Owner") } @@ -26,6 +26,6 @@ func (k msgServer) CouncilRestart(goCtx context.Context, msg *types.MsgCouncilRe council.HashResponses = []*types.WrapHashResponse{} council.Status = types.CouncelingStatus_councilCreated - k.Councils.Set(ctx, msg.CouncilId, council) + k.councils.Set(ctx, msg.CouncilId, council) return &types.MsgCouncilRestartResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_encounter_close.go b/x/cardchain/keeper/msg_server_encounter_close.go index 9d53e729..603b39b2 100644 --- a/x/cardchain/keeper/msg_server_encounter_close.go +++ b/x/cardchain/keeper/msg_server_encounter_close.go @@ -39,10 +39,10 @@ func (k msgServer) EncounterClose(goCtx context.Context, msg *types.MsgEncounter user.WonEncounters = append(user.WonEncounters, msg.EncounterId) // TODO: Treasury reward here - encounter := k.Encounters.Get(ctx, msg.EncounterId) + encounter := k.encounters.Get(ctx, msg.EncounterId) if !encounter.Proven { encounter.Proven = true - k.Encounters.Set(ctx, msg.EncounterId, encounter) + k.encounters.Set(ctx, msg.EncounterId, encounter) } } diff --git a/x/cardchain/keeper/msg_server_encounter_create.go b/x/cardchain/keeper/msg_server_encounter_create.go index c635ddf3..e2c8fd2a 100644 --- a/x/cardchain/keeper/msg_server_encounter_create.go +++ b/x/cardchain/keeper/msg_server_encounter_create.go @@ -24,8 +24,8 @@ func (k msgServer) EncounterCreate(goCtx context.Context, msg *types.MsgEncounte return nil, err } - id := k.Encounters.GetNum(ctx) - imageId := k.Images.GetNum(ctx) + id := k.encounters.GetNum(ctx) + imageId := k.images.GetNum(ctx) encounter := types.Encounter{ Id: id, @@ -36,15 +36,15 @@ func (k msgServer) EncounterCreate(goCtx context.Context, msg *types.MsgEncounte ImageId: imageId, } - k.Images.Set(ctx, imageId, &types.Image{Image: msg.Image}) - k.Encounters.Set(ctx, id, &encounter) + k.images.Set(ctx, imageId, &types.Image{Image: msg.Image}) + k.encounters.Set(ctx, id, &encounter) k.SetUserFromUser(ctx, creator) return &types.MsgEncounterCreateResponse{}, nil } func (k Keeper) validateDrawlist(ctx sdk.Context, msg *types.MsgEncounterCreate, creator *User) error { for idx, cardId := range msg.Drawlist { - card := k.Cards.Get(ctx, cardId) + card := k.cards.Get(ctx, cardId) if card.Owner != msg.Creator { index := slices.Index(creator.Cards, cardId) diff --git a/x/cardchain/keeper/msg_server_encounter_do.go b/x/cardchain/keeper/msg_server_encounter_do.go index 3e6ab069..ad2a4578 100644 --- a/x/cardchain/keeper/msg_server_encounter_do.go +++ b/x/cardchain/keeper/msg_server_encounter_do.go @@ -21,7 +21,7 @@ func (k msgServer) EncounterDo(goCtx context.Context, msg *types.MsgEncounterDo) return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "unauthorized reporter") } - maxId := k.Encounters.GetNum(ctx) + maxId := k.encounters.GetNum(ctx) if msg.EncounterId >= maxId { return nil, errorsmod.Wrap(types.ErrInvalidData, "encounter doesnt exist") } diff --git a/x/cardchain/keeper/msg_server_match_confirm.go b/x/cardchain/keeper/msg_server_match_confirm.go index 0cf35a39..64633b59 100644 --- a/x/cardchain/keeper/msg_server_match_confirm.go +++ b/x/cardchain/keeper/msg_server_match_confirm.go @@ -16,7 +16,7 @@ func (k msgServer) MatchConfirm(goCtx context.Context, msg *types.MsgMatchConfir player *types.MatchPlayer ) - match := k.Matches.Get(ctx, msg.MatchId) + match := k.matches.Get(ctx, msg.MatchId) switch msg.Creator { case match.PlayerA.Addr: @@ -44,7 +44,7 @@ func (k msgServer) MatchConfirm(goCtx context.Context, msg *types.MsgMatchConfir return nil, err } - k.Matches.Set(ctx, msg.MatchId, match) + k.matches.Set(ctx, msg.MatchId, match) return &types.MsgMatchConfirmResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_match_open.go b/x/cardchain/keeper/msg_server_match_open.go index 628e586d..7f15ca61 100644 --- a/x/cardchain/keeper/msg_server_match_open.go +++ b/x/cardchain/keeper/msg_server_match_open.go @@ -20,7 +20,7 @@ func (k msgServer) MatchOpen(goCtx context.Context, msg *types.MsgMatchOpen) (*t return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Reporter") } - matchId := k.Matches.GetNum(ctx) + matchId := k.matches.GetNum(ctx) match := types.Match{ Reporter: msg.Creator, @@ -29,7 +29,7 @@ func (k msgServer) MatchOpen(goCtx context.Context, msg *types.MsgMatchOpen) (*t CoinsDistributed: false, } - k.Matches.Set(ctx, matchId, &match) + k.matches.Set(ctx, matchId, &match) return &types.MsgMatchOpenResponse{MatchId: matchId}, nil } diff --git a/x/cardchain/keeper/msg_server_match_report.go b/x/cardchain/keeper/msg_server_match_report.go index a2710889..7448668d 100644 --- a/x/cardchain/keeper/msg_server_match_report.go +++ b/x/cardchain/keeper/msg_server_match_report.go @@ -12,7 +12,7 @@ import ( func (k msgServer) MatchReport(goCtx context.Context, msg *types.MsgMatchReport) (*types.MsgMatchReportResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - match := k.Matches.Get(ctx, msg.MatchId) + match := k.matches.Get(ctx, msg.MatchId) creator, err := k.GetUserFromString(ctx, msg.Creator) if err != nil { @@ -39,7 +39,7 @@ func (k msgServer) MatchReport(goCtx context.Context, msg *types.MsgMatchReport) return nil, err } - k.Matches.Set(ctx, msg.MatchId, match) + k.matches.Set(ctx, msg.MatchId, match) return &types.MsgMatchReportResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_profile_card_set.go b/x/cardchain/keeper/msg_server_profile_card_set.go index b425ae12..68692f3d 100644 --- a/x/cardchain/keeper/msg_server_profile_card_set.go +++ b/x/cardchain/keeper/msg_server_profile_card_set.go @@ -18,7 +18,7 @@ func (k msgServer) ProfileCardSet(goCtx context.Context, msg *types.MsgProfileCa return nil, err } - card := k.Cards.Get(ctx, msg.CardId) + card := k.cards.Get(ctx, msg.CardId) if card.Owner != msg.Creator { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "You have to own the card") } else if !slices.Contains([]types.CardStatus{types.CardStatus_trial, types.CardStatus_permanent}, card.Status) { diff --git a/x/cardchain/keeper/msg_server_sell_offer_buy.go b/x/cardchain/keeper/msg_server_sell_offer_buy.go index 8f6d1895..808ad169 100644 --- a/x/cardchain/keeper/msg_server_sell_offer_buy.go +++ b/x/cardchain/keeper/msg_server_sell_offer_buy.go @@ -17,7 +17,7 @@ func (k msgServer) SellOfferBuy(goCtx context.Context, msg *types.MsgSellOfferBu return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - sellOffer := k.SellOffers.Get(ctx, msg.SellOfferId) + sellOffer := k.sellOffers.Get(ctx, msg.SellOfferId) sellerAddr, err := sdk.AccAddressFromBech32(sellOffer.Seller) if err != nil { @@ -37,7 +37,7 @@ func (k msgServer) SellOfferBuy(goCtx context.Context, msg *types.MsgSellOfferBu sellOffer.Buyer = msg.Creator sellOffer.Status = types.SellOfferStatus_sold - k.SellOffers.Set(ctx, msg.SellOfferId, sellOffer) + k.sellOffers.Set(ctx, msg.SellOfferId, sellOffer) k.SetUserFromUser(ctx, buyer) return &types.MsgSellOfferBuyResponse{}, nil diff --git a/x/cardchain/keeper/msg_server_sell_offer_create.go b/x/cardchain/keeper/msg_server_sell_offer_create.go index 42b9d099..ba2f9eee 100644 --- a/x/cardchain/keeper/msg_server_sell_offer_create.go +++ b/x/cardchain/keeper/msg_server_sell_offer_create.go @@ -19,7 +19,7 @@ func (k msgServer) SellOfferCreate(goCtx context.Context, msg *types.MsgSellOffe } // Check if card is startercard - card := k.Cards.Get(ctx, msg.CardId) + card := k.cards.Get(ctx, msg.CardId) if card.StarterCard { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Card is startercard and therefore not sellable") } @@ -30,7 +30,7 @@ func (k msgServer) SellOfferCreate(goCtx context.Context, msg *types.MsgSellOffe } creator.Cards = newCards - sellOfferId := k.SellOffers.GetNum(ctx) + sellOfferId := k.sellOffers.GetNum(ctx) sellOffer := types.SellOffer{ Seller: msg.Creator, Buyer: "", @@ -39,7 +39,7 @@ func (k msgServer) SellOfferCreate(goCtx context.Context, msg *types.MsgSellOffe Status: types.SellOfferStatus_open, } - k.SellOffers.Set(ctx, sellOfferId, &sellOffer) + k.sellOffers.Set(ctx, sellOfferId, &sellOffer) k.SetUserFromUser(ctx, creator) return &types.MsgSellOfferCreateResponse{}, nil diff --git a/x/cardchain/keeper/msg_server_sell_offer_remove.go b/x/cardchain/keeper/msg_server_sell_offer_remove.go index 08e6fd2d..d907c7e2 100644 --- a/x/cardchain/keeper/msg_server_sell_offer_remove.go +++ b/x/cardchain/keeper/msg_server_sell_offer_remove.go @@ -17,7 +17,7 @@ func (k msgServer) SellOfferRemove(goCtx context.Context, msg *types.MsgSellOffe return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - sellOffer := k.SellOffers.Get(ctx, msg.SellOfferId) + sellOffer := k.sellOffers.Get(ctx, msg.SellOfferId) if sellOffer.Seller != msg.Creator { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Seller") @@ -30,7 +30,7 @@ func (k msgServer) SellOfferRemove(goCtx context.Context, msg *types.MsgSellOffe sellOffer.Status = types.SellOfferStatus_removed creator.Cards = append(creator.Cards, sellOffer.Card) - k.SellOffers.Set(ctx, msg.SellOfferId, sellOffer) + k.sellOffers.Set(ctx, msg.SellOfferId, sellOffer) k.SetUserFromUser(ctx, creator) return &types.MsgSellOfferRemoveResponse{}, nil diff --git a/x/cardchain/keeper/msg_server_set_artist_set.go b/x/cardchain/keeper/msg_server_set_artist_set.go index 44f62a19..354d497d 100644 --- a/x/cardchain/keeper/msg_server_set_artist_set.go +++ b/x/cardchain/keeper/msg_server_set_artist_set.go @@ -10,7 +10,7 @@ import ( func (k msgServer) SetArtistSet(goCtx context.Context, msg *types.MsgSetArtistSet) (*types.MsgSetArtistSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Sets.Get(ctx, msg.SetId) + set := k.sets.Get(ctx, msg.SetId) err := checkSetEditable(set, msg.Creator) if err != nil { return nil, err @@ -18,7 +18,7 @@ func (k msgServer) SetArtistSet(goCtx context.Context, msg *types.MsgSetArtistSe set.Artist = msg.Artist - k.Sets.Set(ctx, msg.SetId, set) + k.sets.Set(ctx, msg.SetId, set) return &types.MsgSetArtistSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_artwork_add.go b/x/cardchain/keeper/msg_server_set_artwork_add.go index be19108c..6482f9a4 100644 --- a/x/cardchain/keeper/msg_server_set_artwork_add.go +++ b/x/cardchain/keeper/msg_server_set_artwork_add.go @@ -12,8 +12,8 @@ import ( func (k msgServer) SetArtworkAdd(goCtx context.Context, msg *types.MsgSetArtworkAdd) (*types.MsgSetArtworkAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Sets.Get(ctx, msg.SetId) - image := k.Images.Get(ctx, set.ArtworkId) + set := k.sets.Get(ctx, msg.SetId) + image := k.images.Get(ctx, set.ArtworkId) if set.Artist != msg.Creator { return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Incorrect Artist") @@ -29,7 +29,7 @@ func (k msgServer) SetArtworkAdd(goCtx context.Context, msg *types.MsgSetArtwork image.Image = msg.Image - k.Images.Set(ctx, set.ArtworkId, image) + k.images.Set(ctx, set.ArtworkId, image) return &types.MsgSetArtworkAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_card_add.go b/x/cardchain/keeper/msg_server_set_card_add.go index 7d02532d..68e3ba07 100644 --- a/x/cardchain/keeper/msg_server_set_card_add.go +++ b/x/cardchain/keeper/msg_server_set_card_add.go @@ -15,7 +15,7 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( setSize := int(k.GetParams(ctx).SetSize) - set := k.Sets.Get(ctx, msg.SetId) + set := k.sets.Get(ctx, msg.SetId) if !slices.Contains(set.Contributors, msg.Creator) { return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Invalid contributor") } @@ -23,7 +23,7 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( return nil, errorsmod.Wrapf(errors.ErrUnauthorized, "Invalid set status is: %s", set.Status.String()) } - iter := k.Sets.GetItemIterator(ctx) + 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) { @@ -31,7 +31,7 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( } } - card := k.Cards.Get(ctx, msg.CardId) + card := k.cards.Get(ctx, msg.CardId) if card.Status != types.CardStatus_permanent { return nil, errorsmod.Wrap(types.ErrCardDoesNotExist, "Card is not permanent or does not exist") } @@ -55,7 +55,7 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( set.Cards = append(set.Cards, msg.CardId) - k.Sets.Set(ctx, msg.SetId, set) + k.sets.Set(ctx, msg.SetId, set) return &types.MsgSetCardAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_card_remove.go b/x/cardchain/keeper/msg_server_set_card_remove.go index ad304c73..dddc77f8 100644 --- a/x/cardchain/keeper/msg_server_set_card_remove.go +++ b/x/cardchain/keeper/msg_server_set_card_remove.go @@ -14,7 +14,7 @@ import ( func (k msgServer) SetCardRemove(goCtx context.Context, msg *types.MsgSetCardRemove) (*types.MsgSetCardRemoveResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Sets.Get(ctx, msg.SetId) + set := k.sets.Get(ctx, msg.SetId) if !slices.Contains(set.Contributors, msg.Creator) { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid contributor") } @@ -29,6 +29,6 @@ func (k msgServer) SetCardRemove(goCtx context.Context, msg *types.MsgSetCardRem set.Cards = newCards - k.Sets.Set(ctx, msg.SetId, set) + k.sets.Set(ctx, msg.SetId, set) return &types.MsgSetCardRemoveResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_contributor_add.go b/x/cardchain/keeper/msg_server_set_contributor_add.go index ee381ccd..8452b6ea 100644 --- a/x/cardchain/keeper/msg_server_set_contributor_add.go +++ b/x/cardchain/keeper/msg_server_set_contributor_add.go @@ -13,7 +13,7 @@ import ( func (k msgServer) SetContributorAdd(goCtx context.Context, msg *types.MsgSetContributorAdd) (*types.MsgSetContributorAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Sets.Get(ctx, msg.SetId) + set := k.sets.Get(ctx, msg.SetId) if err := checkSetEditable(set, msg.Creator); err != nil { return nil, err } @@ -28,7 +28,7 @@ func (k msgServer) SetContributorAdd(goCtx context.Context, msg *types.MsgSetCon set.Contributors = append(set.Contributors, msg.User) - k.Sets.Set(ctx, msg.SetId, set) + k.sets.Set(ctx, msg.SetId, set) return &types.MsgSetContributorAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_contributor_remove.go b/x/cardchain/keeper/msg_server_set_contributor_remove.go index 20d78d31..0d44bdba 100644 --- a/x/cardchain/keeper/msg_server_set_contributor_remove.go +++ b/x/cardchain/keeper/msg_server_set_contributor_remove.go @@ -12,7 +12,7 @@ import ( func (k msgServer) SetContributorRemove(goCtx context.Context, msg *types.MsgSetContributorRemove) (*types.MsgSetContributorRemoveResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Sets.Get(ctx, msg.SetId) + set := k.sets.Get(ctx, msg.SetId) if err := checkSetEditable(set, msg.Creator); err != nil { return nil, err } @@ -24,7 +24,7 @@ func (k msgServer) SetContributorRemove(goCtx context.Context, msg *types.MsgSet set.Contributors = newContributors - k.Sets.Set(ctx, msg.SetId, set) + k.sets.Set(ctx, msg.SetId, set) return &types.MsgSetContributorRemoveResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_create.go b/x/cardchain/keeper/msg_server_set_create.go index c9fcfbd8..6bbc4db3 100644 --- a/x/cardchain/keeper/msg_server_set_create.go +++ b/x/cardchain/keeper/msg_server_set_create.go @@ -25,13 +25,13 @@ func (k msgServer) SetCreate(goCtx context.Context, msg *types.MsgSetCreate) (*t StoryWriter: msg.StoryWriter, Status: types.CStatus_design, TimeStamp: 0, - ArtworkId: k.Images.GetNum(ctx), + ArtworkId: k.images.GetNum(ctx), } image := types.Image{} - k.Images.Set(ctx, set.ArtworkId, &image) - k.Sets.Append(ctx, &set) + k.images.Set(ctx, set.ArtworkId, &image) + k.sets.Append(ctx, &set) return &types.MsgSetCreateResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_finalize.go b/x/cardchain/keeper/msg_server_set_finalize.go index a24a9e47..481cda51 100644 --- a/x/cardchain/keeper/msg_server_set_finalize.go +++ b/x/cardchain/keeper/msg_server_set_finalize.go @@ -14,13 +14,13 @@ func (k msgServer) SetFinalize(goCtx context.Context, msg *types.MsgSetFinalize) setSize := int(k.GetParams(ctx).SetSize) - set := k.Sets.Get(ctx, msg.SetId) + 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) + image := k.images.Get(ctx, set.ArtworkId) if len(image.Image) == 0 { return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "Set artwork is needed") @@ -44,7 +44,7 @@ func (k msgServer) SetFinalize(goCtx context.Context, msg *types.MsgSetFinalize) set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) set.Rarities = k.GetCardRaritiesInSet(ctx, set) - k.Sets.Set(ctx, msg.SetId, set) + k.sets.Set(ctx, msg.SetId, set) return &types.MsgSetFinalizeResponse{}, nil } @@ -55,7 +55,7 @@ func (k Keeper) GetCardRaritiesInSet(ctx sdk.Context, set *types.Set) []*types.I rarityNums[idx] = &types.InnerRarities{} } for _, cardId := range set.Cards { - card := k.Cards.Get(ctx, cardId) + card := k.cards.Get(ctx, cardId) rarityNums[int(card.Rarity)].R = append(rarityNums[int(card.Rarity)].R, cardId) } return rarityNums[:] diff --git a/x/cardchain/keeper/msg_server_set_name_set.go b/x/cardchain/keeper/msg_server_set_name_set.go index fff13bc9..de9e902b 100644 --- a/x/cardchain/keeper/msg_server_set_name_set.go +++ b/x/cardchain/keeper/msg_server_set_name_set.go @@ -10,7 +10,7 @@ import ( func (k msgServer) SetNameSet(goCtx context.Context, msg *types.MsgSetNameSet) (*types.MsgSetNameSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Sets.Get(ctx, msg.SetId) + set := k.sets.Get(ctx, msg.SetId) err := checkSetEditable(set, msg.Creator) if err != nil { return nil, err @@ -18,7 +18,7 @@ func (k msgServer) SetNameSet(goCtx context.Context, msg *types.MsgSetNameSet) ( set.Name = msg.Name - k.Sets.Set(ctx, msg.SetId, set) + k.sets.Set(ctx, msg.SetId, set) return &types.MsgSetNameSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_story_add.go b/x/cardchain/keeper/msg_server_set_story_add.go index 598eb3a2..f0bf02f3 100644 --- a/x/cardchain/keeper/msg_server_set_story_add.go +++ b/x/cardchain/keeper/msg_server_set_story_add.go @@ -12,7 +12,7 @@ import ( func (k msgServer) SetStoryAdd(goCtx context.Context, msg *types.MsgSetStoryAdd) (*types.MsgSetStoryAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Sets.Get(ctx, msg.SetId) + set := k.sets.Get(ctx, msg.SetId) if set.StoryWriter != msg.Creator { return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Incorrect StoryWriter") } @@ -27,6 +27,6 @@ func (k msgServer) SetStoryAdd(goCtx context.Context, msg *types.MsgSetStoryAdd) set.Story = msg.Story - k.Sets.Set(ctx, msg.SetId, set) + k.sets.Set(ctx, msg.SetId, set) return &types.MsgSetStoryAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_story_writer_set.go b/x/cardchain/keeper/msg_server_set_story_writer_set.go index 6705aec0..61e1049a 100644 --- a/x/cardchain/keeper/msg_server_set_story_writer_set.go +++ b/x/cardchain/keeper/msg_server_set_story_writer_set.go @@ -10,7 +10,7 @@ import ( func (k msgServer) SetStoryWriterSet(goCtx context.Context, msg *types.MsgSetStoryWriterSet) (*types.MsgSetStoryWriterSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Sets.Get(ctx, msg.SetId) + set := k.sets.Get(ctx, msg.SetId) err := checkSetEditable(set, msg.Creator) if err != nil { return nil, err @@ -18,7 +18,7 @@ func (k msgServer) SetStoryWriterSet(goCtx context.Context, msg *types.MsgSetSto set.StoryWriter = msg.StoryWriter - k.Sets.Set(ctx, msg.SetId, set) + k.sets.Set(ctx, msg.SetId, set) return &types.MsgSetStoryWriterSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_zealy_connect.go b/x/cardchain/keeper/msg_server_zealy_connect.go index 66490ac7..e18d32aa 100644 --- a/x/cardchain/keeper/msg_server_zealy_connect.go +++ b/x/cardchain/keeper/msg_server_zealy_connect.go @@ -17,12 +17,12 @@ func (k msgServer) ZealyConnect(goCtx context.Context, msg *types.MsgZealyConnec return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, msg.Creator) } - zealy := k.Zealy.Get(ctx, msg.ZealyId) + zealy := k.zealy.Get(ctx, msg.ZealyId) if zealy.ZealyId == msg.ZealyId { return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "ZealyId `%s` is already registered", msg.ZealyId) } - iterator := k.Zealy.GetIterator(ctx) + iterator := k.zealy.GetIterator(ctx) for ; iterator.Valid(); iterator.Next() { var gotten types.Zealy @@ -33,7 +33,7 @@ func (k msgServer) ZealyConnect(goCtx context.Context, msg *types.MsgZealyConnec } } - k.Zealy.Set(ctx, msg.ZealyId, &types.Zealy{Address: msg.Creator, ZealyId: msg.ZealyId}) + k.zealy.Set(ctx, msg.ZealyId, &types.Zealy{Address: msg.Creator, ZealyId: msg.ZealyId}) return &types.MsgZealyConnectResponse{}, nil } diff --git a/x/cardchain/keeper/server.go b/x/cardchain/keeper/server.go index 2b465d53..f91c6c9d 100644 --- a/x/cardchain/keeper/server.go +++ b/x/cardchain/keeper/server.go @@ -7,26 +7,26 @@ import ( // GetServerId Gets the number of a certain server by it's reporters address func (k Keeper) GetServerId(ctx sdk.Context, addr string) uint64 { - for idx, server := range k.Servers.GetAll(ctx) { + for idx, server := range k.servers.GetAll(ctx) { if server.Reporter == addr { return uint64(idx) } } - id := k.Servers.GetNumber(ctx) + id := k.servers.GetNumber(ctx) server := types.Server{Reporter: addr} - k.Servers.Set(ctx, id, &server) + k.servers.Set(ctx, id, &server) return id } // ReportServerMatch Adds a number of reports to the server record func (k Keeper) ReportServerMatch(ctx sdk.Context, addr string, num uint64, isValid bool) { id := k.GetServerId(ctx, addr) - server := k.Servers.Get(ctx, id) + server := k.servers.Get(ctx, id) switch isValid { case true: server.ValidReports += num case false: server.InvalidReports += num } - k.Servers.Set(ctx, id, server) + k.servers.Set(ctx, id, server) } diff --git a/x/cardchain/keeper/set.go b/x/cardchain/keeper/set.go index b007a216..df213f07 100644 --- a/x/cardchain/keeper/set.go +++ b/x/cardchain/keeper/set.go @@ -33,7 +33,7 @@ func (k Keeper) GetContributorDistribution(ctx sdk.Context, set types.Set) []*ty params := k.GetParams(ctx) contribs := []*types.AddrWithQuantity{{Addr: set.StoryWriter, Q: 2}, {Addr: set.Artist, Q: 2}, {Addr: set.Contributors[0], Q: 4}} for _, cardId := range set.Cards { - var card = k.Cards.Get(ctx, cardId) + var card = k.cards.Get(ctx, cardId) if card.Owner != "" { for _, addr := range []string{card.Owner, card.Artist} { incQ(&contribs, addr) @@ -67,7 +67,7 @@ func incQ(addrsWithQ *[]*types.AddrWithQuantity, addr string) { // GetActiveSets Return a list of all active sets ids func (k Keeper) GetActiveSets(ctx sdk.Context) (activeSets []uint64) { - iter := k.Sets.GetItemIterator(ctx) + iter := k.sets.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, set := iter.Value() if set.Status == types.CStatus_active { @@ -87,7 +87,7 @@ func (k Keeper) GetRarityDistribution(ctx sdk.Context, set types.Set, setSize ui commonsAll = uint32(setSize - raresAll - unCommonsAll) for _, cardId := range set.Cards { - card := k.Cards.Get(ctx, cardId) + card := k.cards.Get(ctx, cardId) switch card.Rarity { case types.CardRarity_common, types.CardRarity_unique, types.CardRarity_exceptional: diff --git a/x/cardchain/keeper/user.go b/x/cardchain/keeper/user.go index 9800bdec..8baee4f6 100644 --- a/x/cardchain/keeper/user.go +++ b/x/cardchain/keeper/user.go @@ -46,7 +46,7 @@ func (k Keeper) GetUserFromString(ctx sdk.Context, addr string) (user User, err if err != nil { return user, sdkerrors.Wrap(errors.ErrInvalidAddress, "Unable to convert to AccAddress") } - user.User = k.Users.Get(ctx, user.Addr) + user.User = k.users.Get(ctx, user.Addr) if err != nil { return } @@ -55,12 +55,12 @@ func (k Keeper) GetUserFromString(ctx sdk.Context, addr string) (user User, err // SetUserFromUser Sets a user in store, but takes a User struct as defined above func (k Keeper) SetUserFromUser(ctx sdk.Context, user User) { - k.Users.Set(ctx, user.Addr, user.User) + k.users.Set(ctx, user.Addr, user.User) } // GetAllUsers Gets all users from store func (k Keeper) GetAllUsers(ctx sdk.Context) (allUsers []*types.User, allAddresses []sdk.AccAddress) { - iterator := k.Users.GetIterator(ctx) + iterator := k.users.GetIterator(ctx) for ; iterator.Valid(); iterator.Next() { var gottenUser types.User diff --git a/x/cardchain/keeper/vote_right.go b/x/cardchain/keeper/vote_right.go index 4eaad39d..712cd6e6 100644 --- a/x/cardchain/keeper/vote_right.go +++ b/x/cardchain/keeper/vote_right.go @@ -24,7 +24,7 @@ func (k Keeper) GetVoteReward(ctx sdk.Context) sdk.Coin { // AddVoteRightToUser Adds a voteright for a certain card to a certain user func (k Keeper) AddVoteRightToUser(ctx sdk.Context, user *types.User, cardId uint64) { - card := k.Cards.Get(ctx, cardId) + card := k.cards.Get(ctx, cardId) if !card.BalanceAnchor { if !slices.Contains(user.VotableCards, cardId) && !slices.Contains(user.VotedCards, cardId) { user.VotableCards = append(user.VotableCards, cardId) @@ -38,7 +38,7 @@ func (k Keeper) AddVoteRightsToAllUsers(ctx sdk.Context) { allUsers, allAddrs := k.GetAllUsers(ctx) for idx, user := range allUsers { user.VotableCards = votables - k.Users.Set(ctx, allAddrs[idx], user) + k.users.Set(ctx, allAddrs[idx], user) } } @@ -57,7 +57,7 @@ func (k Keeper) RegisterVote(voter *User, cardId uint64) error { // GetAllVotableCards Gets the voterights to all cards func (k Keeper) GetAllVotableCards(ctx sdk.Context) (votables []uint64) { - iter := k.Cards.GetItemIterator(ctx) + iter := k.cards.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { // here only give right if card is not a scheme or banished @@ -79,19 +79,19 @@ func (k Keeper) RemoveExpiredVoteRights(ctx sdk.Context) { for idx, user := range allUsers { user.VotableCards = []uint64{} user.VotedCards = []uint64{} - k.Users.Set(ctx, allAddrs[idx], user) + k.users.Set(ctx, allAddrs[idx], user) } } // ResetAllVotes Resets all cards votes func (k Keeper) ResetAllVotes(ctx sdk.Context) { - iter := k.Cards.GetItemIterator(ctx) + iter := k.cards.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, resetCard := iter.Value() if resetCard.Status != types.CardStatus_trial { resetCard.ResetVotes() } - k.Cards.Set(ctx, uint64(idx), resetCard) + k.cards.Set(ctx, uint64(idx), resetCard) } } diff --git a/x/cardchain/keeper/voting.go b/x/cardchain/keeper/voting.go index 6ef990f0..8ede7c71 100644 --- a/x/cardchain/keeper/voting.go +++ b/x/cardchain/keeper/voting.go @@ -16,7 +16,7 @@ func (k Keeper) voteCard( voteType types.VoteType, ) error { // if the vote right is valid, get the Card - card := k.Cards.Get(ctx, cardId) + card := k.cards.Get(ctx, cardId) // check if card status is valid if card.Status != types.CardStatus_permanent && card.Status != types.CardStatus_trial { @@ -59,7 +59,7 @@ func (k Keeper) voteCard( return err } k.SubPoolCredits(ctx, BalancersPoolKey, amount) - k.Cards.Set(ctx, cardId, card) + k.cards.Set(ctx, cardId, card) return nil } From b460616a46ea70b8bd2d57cf19d35b7519aa02ff Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 12:18:04 +0100 Subject: [PATCH 40/99] feat(#242); Cards fr --- api/cardchain/cardchain/query.pulsar.go | 1474 +++++++++++++++++++++-- proto/cardchain/cardchain/query.proto | 96 +- x/cardchain/keeper/pools_test.go | 2 +- x/cardchain/types/query.pb.go | 866 ++++++++++++- x/cardchain/types/query.pb.gw.go | 18 + 5 files changed, 2234 insertions(+), 222 deletions(-) diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index d9081ac9..3e79a176 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -4348,15 +4348,221 @@ func (x *fastReflection_QueryUserResponse) ProtoMethods() *protoiface.Methods { } } +var _ protoreflect.List = (*_QueryCardsRequest_2_list)(nil) + +type _QueryCardsRequest_2_list struct { + list *[]CardStatus +} + +func (x *_QueryCardsRequest_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryCardsRequest_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)((*x.list)[i])) +} + +func (x *_QueryCardsRequest_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Enum() + concreteValue := (CardStatus)(valueUnwrapped) + (*x.list)[i] = concreteValue +} + +func (x *_QueryCardsRequest_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Enum() + concreteValue := (CardStatus)(valueUnwrapped) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryCardsRequest_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QueryCardsRequest at list field Status as it is not of Message kind")) +} + +func (x *_QueryCardsRequest_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QueryCardsRequest_2_list) NewElement() protoreflect.Value { + v := 0 + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v)) +} + +func (x *_QueryCardsRequest_2_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_QueryCardsRequest_3_list)(nil) + +type _QueryCardsRequest_3_list struct { + list *[]CardType +} + +func (x *_QueryCardsRequest_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryCardsRequest_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)((*x.list)[i])) +} + +func (x *_QueryCardsRequest_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Enum() + concreteValue := (CardType)(valueUnwrapped) + (*x.list)[i] = concreteValue +} + +func (x *_QueryCardsRequest_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Enum() + concreteValue := (CardType)(valueUnwrapped) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryCardsRequest_3_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QueryCardsRequest at list field CardType as it is not of Message kind")) +} + +func (x *_QueryCardsRequest_3_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QueryCardsRequest_3_list) NewElement() protoreflect.Value { + v := 0 + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v)) +} + +func (x *_QueryCardsRequest_3_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_QueryCardsRequest_4_list)(nil) + +type _QueryCardsRequest_4_list struct { + list *[]CardClass +} + +func (x *_QueryCardsRequest_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryCardsRequest_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)((*x.list)[i])) +} + +func (x *_QueryCardsRequest_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Enum() + concreteValue := (CardClass)(valueUnwrapped) + (*x.list)[i] = concreteValue +} + +func (x *_QueryCardsRequest_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Enum() + concreteValue := (CardClass)(valueUnwrapped) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryCardsRequest_4_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QueryCardsRequest at list field Class as it is not of Message kind")) +} + +func (x *_QueryCardsRequest_4_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QueryCardsRequest_4_list) NewElement() protoreflect.Value { + v := 0 + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v)) +} + +func (x *_QueryCardsRequest_4_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_QueryCardsRequest_11_list)(nil) + +type _QueryCardsRequest_11_list struct { + list *[]CardRarity +} + +func (x *_QueryCardsRequest_11_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryCardsRequest_11_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)((*x.list)[i])) +} + +func (x *_QueryCardsRequest_11_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Enum() + concreteValue := (CardRarity)(valueUnwrapped) + (*x.list)[i] = concreteValue +} + +func (x *_QueryCardsRequest_11_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Enum() + concreteValue := (CardRarity)(valueUnwrapped) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryCardsRequest_11_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QueryCardsRequest at list field Rarities as it is not of Message kind")) +} + +func (x *_QueryCardsRequest_11_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QueryCardsRequest_11_list) NewElement() protoreflect.Value { + v := 0 + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v)) +} + +func (x *_QueryCardsRequest_11_list) IsValid() bool { + return x.list != nil +} + var ( - md_QueryCardsRequest protoreflect.MessageDescriptor - fd_QueryCardsRequest_owner protoreflect.FieldDescriptor + md_QueryCardsRequest protoreflect.MessageDescriptor + fd_QueryCardsRequest_owner protoreflect.FieldDescriptor + fd_QueryCardsRequest_status protoreflect.FieldDescriptor + fd_QueryCardsRequest_cardType protoreflect.FieldDescriptor + fd_QueryCardsRequest_class protoreflect.FieldDescriptor + fd_QueryCardsRequest_sortBy protoreflect.FieldDescriptor + fd_QueryCardsRequest_nameContains protoreflect.FieldDescriptor + fd_QueryCardsRequest_keywordsContains protoreflect.FieldDescriptor + fd_QueryCardsRequest_notesContains protoreflect.FieldDescriptor + fd_QueryCardsRequest_onlyStarterCard protoreflect.FieldDescriptor + fd_QueryCardsRequest_onlyBalanceAnchors protoreflect.FieldDescriptor + fd_QueryCardsRequest_rarities protoreflect.FieldDescriptor + fd_QueryCardsRequest_multiClassOnly protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_query_proto_init() md_QueryCardsRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardsRequest") fd_QueryCardsRequest_owner = md_QueryCardsRequest.Fields().ByName("owner") + fd_QueryCardsRequest_status = md_QueryCardsRequest.Fields().ByName("status") + fd_QueryCardsRequest_cardType = md_QueryCardsRequest.Fields().ByName("cardType") + fd_QueryCardsRequest_class = md_QueryCardsRequest.Fields().ByName("class") + fd_QueryCardsRequest_sortBy = md_QueryCardsRequest.Fields().ByName("sortBy") + fd_QueryCardsRequest_nameContains = md_QueryCardsRequest.Fields().ByName("nameContains") + fd_QueryCardsRequest_keywordsContains = md_QueryCardsRequest.Fields().ByName("keywordsContains") + fd_QueryCardsRequest_notesContains = md_QueryCardsRequest.Fields().ByName("notesContains") + fd_QueryCardsRequest_onlyStarterCard = md_QueryCardsRequest.Fields().ByName("onlyStarterCard") + fd_QueryCardsRequest_onlyBalanceAnchors = md_QueryCardsRequest.Fields().ByName("onlyBalanceAnchors") + fd_QueryCardsRequest_rarities = md_QueryCardsRequest.Fields().ByName("rarities") + fd_QueryCardsRequest_multiClassOnly = md_QueryCardsRequest.Fields().ByName("multiClassOnly") } var _ protoreflect.Message = (*fastReflection_QueryCardsRequest)(nil) @@ -4430,6 +4636,72 @@ func (x *fastReflection_QueryCardsRequest) Range(f func(protoreflect.FieldDescri return } } + if len(x.Status) != 0 { + value := protoreflect.ValueOfList(&_QueryCardsRequest_2_list{list: &x.Status}) + if !f(fd_QueryCardsRequest_status, value) { + return + } + } + if len(x.CardType) != 0 { + value := protoreflect.ValueOfList(&_QueryCardsRequest_3_list{list: &x.CardType}) + if !f(fd_QueryCardsRequest_cardType, value) { + return + } + } + if len(x.Class) != 0 { + value := protoreflect.ValueOfList(&_QueryCardsRequest_4_list{list: &x.Class}) + if !f(fd_QueryCardsRequest_class, value) { + return + } + } + if x.SortBy != "" { + value := protoreflect.ValueOfString(x.SortBy) + if !f(fd_QueryCardsRequest_sortBy, value) { + return + } + } + if x.NameContains != "" { + value := protoreflect.ValueOfString(x.NameContains) + if !f(fd_QueryCardsRequest_nameContains, value) { + return + } + } + if x.KeywordsContains != "" { + value := protoreflect.ValueOfString(x.KeywordsContains) + if !f(fd_QueryCardsRequest_keywordsContains, value) { + return + } + } + if x.NotesContains != "" { + value := protoreflect.ValueOfString(x.NotesContains) + if !f(fd_QueryCardsRequest_notesContains, value) { + return + } + } + if x.OnlyStarterCard != false { + value := protoreflect.ValueOfBool(x.OnlyStarterCard) + if !f(fd_QueryCardsRequest_onlyStarterCard, value) { + return + } + } + if x.OnlyBalanceAnchors != false { + value := protoreflect.ValueOfBool(x.OnlyBalanceAnchors) + if !f(fd_QueryCardsRequest_onlyBalanceAnchors, value) { + return + } + } + if len(x.Rarities) != 0 { + value := protoreflect.ValueOfList(&_QueryCardsRequest_11_list{list: &x.Rarities}) + if !f(fd_QueryCardsRequest_rarities, value) { + return + } + } + if x.MultiClassOnly != false { + value := protoreflect.ValueOfBool(x.MultiClassOnly) + if !f(fd_QueryCardsRequest_multiClassOnly, value) { + return + } + } } // Has reports whether a field is populated. @@ -4447,6 +4719,28 @@ func (x *fastReflection_QueryCardsRequest) Has(fd protoreflect.FieldDescriptor) switch fd.FullName() { case "cardchain.cardchain.QueryCardsRequest.owner": return x.Owner != "" + case "cardchain.cardchain.QueryCardsRequest.status": + return len(x.Status) != 0 + case "cardchain.cardchain.QueryCardsRequest.cardType": + return len(x.CardType) != 0 + case "cardchain.cardchain.QueryCardsRequest.class": + return len(x.Class) != 0 + case "cardchain.cardchain.QueryCardsRequest.sortBy": + return x.SortBy != "" + case "cardchain.cardchain.QueryCardsRequest.nameContains": + return x.NameContains != "" + case "cardchain.cardchain.QueryCardsRequest.keywordsContains": + return x.KeywordsContains != "" + case "cardchain.cardchain.QueryCardsRequest.notesContains": + return x.NotesContains != "" + case "cardchain.cardchain.QueryCardsRequest.onlyStarterCard": + return x.OnlyStarterCard != false + case "cardchain.cardchain.QueryCardsRequest.onlyBalanceAnchors": + return x.OnlyBalanceAnchors != false + case "cardchain.cardchain.QueryCardsRequest.rarities": + return len(x.Rarities) != 0 + case "cardchain.cardchain.QueryCardsRequest.multiClassOnly": + return x.MultiClassOnly != false default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsRequest")) @@ -4465,6 +4759,28 @@ func (x *fastReflection_QueryCardsRequest) Clear(fd protoreflect.FieldDescriptor switch fd.FullName() { case "cardchain.cardchain.QueryCardsRequest.owner": x.Owner = "" + case "cardchain.cardchain.QueryCardsRequest.status": + x.Status = nil + case "cardchain.cardchain.QueryCardsRequest.cardType": + x.CardType = nil + case "cardchain.cardchain.QueryCardsRequest.class": + x.Class = nil + case "cardchain.cardchain.QueryCardsRequest.sortBy": + x.SortBy = "" + case "cardchain.cardchain.QueryCardsRequest.nameContains": + x.NameContains = "" + case "cardchain.cardchain.QueryCardsRequest.keywordsContains": + x.KeywordsContains = "" + case "cardchain.cardchain.QueryCardsRequest.notesContains": + x.NotesContains = "" + case "cardchain.cardchain.QueryCardsRequest.onlyStarterCard": + x.OnlyStarterCard = false + case "cardchain.cardchain.QueryCardsRequest.onlyBalanceAnchors": + x.OnlyBalanceAnchors = false + case "cardchain.cardchain.QueryCardsRequest.rarities": + x.Rarities = nil + case "cardchain.cardchain.QueryCardsRequest.multiClassOnly": + x.MultiClassOnly = false default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsRequest")) @@ -4484,6 +4800,51 @@ func (x *fastReflection_QueryCardsRequest) Get(descriptor protoreflect.FieldDesc case "cardchain.cardchain.QueryCardsRequest.owner": value := x.Owner return protoreflect.ValueOfString(value) + case "cardchain.cardchain.QueryCardsRequest.status": + if len(x.Status) == 0 { + return protoreflect.ValueOfList(&_QueryCardsRequest_2_list{}) + } + listValue := &_QueryCardsRequest_2_list{list: &x.Status} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QueryCardsRequest.cardType": + if len(x.CardType) == 0 { + return protoreflect.ValueOfList(&_QueryCardsRequest_3_list{}) + } + listValue := &_QueryCardsRequest_3_list{list: &x.CardType} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QueryCardsRequest.class": + if len(x.Class) == 0 { + return protoreflect.ValueOfList(&_QueryCardsRequest_4_list{}) + } + listValue := &_QueryCardsRequest_4_list{list: &x.Class} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QueryCardsRequest.sortBy": + value := x.SortBy + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.QueryCardsRequest.nameContains": + value := x.NameContains + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.QueryCardsRequest.keywordsContains": + value := x.KeywordsContains + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.QueryCardsRequest.notesContains": + value := x.NotesContains + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.QueryCardsRequest.onlyStarterCard": + value := x.OnlyStarterCard + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.QueryCardsRequest.onlyBalanceAnchors": + value := x.OnlyBalanceAnchors + return protoreflect.ValueOfBool(value) + case "cardchain.cardchain.QueryCardsRequest.rarities": + if len(x.Rarities) == 0 { + return protoreflect.ValueOfList(&_QueryCardsRequest_11_list{}) + } + listValue := &_QueryCardsRequest_11_list{list: &x.Rarities} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QueryCardsRequest.multiClassOnly": + value := x.MultiClassOnly + return protoreflect.ValueOfBool(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsRequest")) @@ -4506,6 +4867,36 @@ func (x *fastReflection_QueryCardsRequest) Set(fd protoreflect.FieldDescriptor, switch fd.FullName() { case "cardchain.cardchain.QueryCardsRequest.owner": x.Owner = value.Interface().(string) + case "cardchain.cardchain.QueryCardsRequest.status": + lv := value.List() + clv := lv.(*_QueryCardsRequest_2_list) + x.Status = *clv.list + case "cardchain.cardchain.QueryCardsRequest.cardType": + lv := value.List() + clv := lv.(*_QueryCardsRequest_3_list) + x.CardType = *clv.list + case "cardchain.cardchain.QueryCardsRequest.class": + lv := value.List() + clv := lv.(*_QueryCardsRequest_4_list) + x.Class = *clv.list + case "cardchain.cardchain.QueryCardsRequest.sortBy": + x.SortBy = value.Interface().(string) + case "cardchain.cardchain.QueryCardsRequest.nameContains": + x.NameContains = value.Interface().(string) + case "cardchain.cardchain.QueryCardsRequest.keywordsContains": + x.KeywordsContains = value.Interface().(string) + case "cardchain.cardchain.QueryCardsRequest.notesContains": + x.NotesContains = value.Interface().(string) + case "cardchain.cardchain.QueryCardsRequest.onlyStarterCard": + x.OnlyStarterCard = value.Bool() + case "cardchain.cardchain.QueryCardsRequest.onlyBalanceAnchors": + x.OnlyBalanceAnchors = value.Bool() + case "cardchain.cardchain.QueryCardsRequest.rarities": + lv := value.List() + clv := lv.(*_QueryCardsRequest_11_list) + x.Rarities = *clv.list + case "cardchain.cardchain.QueryCardsRequest.multiClassOnly": + x.MultiClassOnly = value.Bool() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsRequest")) @@ -4526,8 +4917,46 @@ func (x *fastReflection_QueryCardsRequest) Set(fd protoreflect.FieldDescriptor, // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryCardsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "cardchain.cardchain.QueryCardsRequest.status": + if x.Status == nil { + x.Status = []CardStatus{} + } + value := &_QueryCardsRequest_2_list{list: &x.Status} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QueryCardsRequest.cardType": + if x.CardType == nil { + x.CardType = []CardType{} + } + value := &_QueryCardsRequest_3_list{list: &x.CardType} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QueryCardsRequest.class": + if x.Class == nil { + x.Class = []CardClass{} + } + value := &_QueryCardsRequest_4_list{list: &x.Class} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QueryCardsRequest.rarities": + if x.Rarities == nil { + x.Rarities = []CardRarity{} + } + value := &_QueryCardsRequest_11_list{list: &x.Rarities} + return protoreflect.ValueOfList(value) case "cardchain.cardchain.QueryCardsRequest.owner": panic(fmt.Errorf("field owner of message cardchain.cardchain.QueryCardsRequest is not mutable")) + case "cardchain.cardchain.QueryCardsRequest.sortBy": + panic(fmt.Errorf("field sortBy of message cardchain.cardchain.QueryCardsRequest is not mutable")) + case "cardchain.cardchain.QueryCardsRequest.nameContains": + panic(fmt.Errorf("field nameContains of message cardchain.cardchain.QueryCardsRequest is not mutable")) + case "cardchain.cardchain.QueryCardsRequest.keywordsContains": + panic(fmt.Errorf("field keywordsContains of message cardchain.cardchain.QueryCardsRequest is not mutable")) + case "cardchain.cardchain.QueryCardsRequest.notesContains": + panic(fmt.Errorf("field notesContains of message cardchain.cardchain.QueryCardsRequest is not mutable")) + case "cardchain.cardchain.QueryCardsRequest.onlyStarterCard": + panic(fmt.Errorf("field onlyStarterCard of message cardchain.cardchain.QueryCardsRequest is not mutable")) + case "cardchain.cardchain.QueryCardsRequest.onlyBalanceAnchors": + panic(fmt.Errorf("field onlyBalanceAnchors of message cardchain.cardchain.QueryCardsRequest is not mutable")) + case "cardchain.cardchain.QueryCardsRequest.multiClassOnly": + panic(fmt.Errorf("field multiClassOnly of message cardchain.cardchain.QueryCardsRequest is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsRequest")) @@ -4543,6 +4972,32 @@ func (x *fastReflection_QueryCardsRequest) NewField(fd protoreflect.FieldDescrip switch fd.FullName() { case "cardchain.cardchain.QueryCardsRequest.owner": return protoreflect.ValueOfString("") + case "cardchain.cardchain.QueryCardsRequest.status": + list := []CardStatus{} + return protoreflect.ValueOfList(&_QueryCardsRequest_2_list{list: &list}) + case "cardchain.cardchain.QueryCardsRequest.cardType": + list := []CardType{} + return protoreflect.ValueOfList(&_QueryCardsRequest_3_list{list: &list}) + case "cardchain.cardchain.QueryCardsRequest.class": + list := []CardClass{} + return protoreflect.ValueOfList(&_QueryCardsRequest_4_list{list: &list}) + case "cardchain.cardchain.QueryCardsRequest.sortBy": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.QueryCardsRequest.nameContains": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.QueryCardsRequest.keywordsContains": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.QueryCardsRequest.notesContains": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.QueryCardsRequest.onlyStarterCard": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.QueryCardsRequest.onlyBalanceAnchors": + return protoreflect.ValueOfBool(false) + case "cardchain.cardchain.QueryCardsRequest.rarities": + list := []CardRarity{} + return protoreflect.ValueOfList(&_QueryCardsRequest_11_list{list: &list}) + case "cardchain.cardchain.QueryCardsRequest.multiClassOnly": + return protoreflect.ValueOfBool(false) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardsRequest")) @@ -4616,6 +5071,59 @@ func (x *fastReflection_QueryCardsRequest) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + if len(x.Status) > 0 { + l = 0 + for _, e := range x.Status { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if len(x.CardType) > 0 { + l = 0 + for _, e := range x.CardType { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if len(x.Class) > 0 { + l = 0 + for _, e := range x.Class { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + l = len(x.SortBy) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.NameContains) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.KeywordsContains) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.NotesContains) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.OnlyStarterCard { + n += 2 + } + if x.OnlyBalanceAnchors { + n += 2 + } + if len(x.Rarities) > 0 { + l = 0 + for _, e := range x.Rarities { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.MultiClassOnly { + n += 2 + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -4645,6 +5153,148 @@ func (x *fastReflection_QueryCardsRequest) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.MultiClassOnly { + i-- + if x.MultiClassOnly { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + } + if len(x.Rarities) > 0 { + var pksize2 int + for _, num := range x.Rarities { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num1 := range x.Rarities { + num := uint64(num1) + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x5a + } + if x.OnlyBalanceAnchors { + i-- + if x.OnlyBalanceAnchors { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if x.OnlyStarterCard { + i-- + if x.OnlyStarterCard { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if len(x.NotesContains) > 0 { + i -= len(x.NotesContains) + copy(dAtA[i:], x.NotesContains) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NotesContains))) + i-- + dAtA[i] = 0x42 + } + if len(x.KeywordsContains) > 0 { + i -= len(x.KeywordsContains) + copy(dAtA[i:], x.KeywordsContains) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.KeywordsContains))) + i-- + dAtA[i] = 0x3a + } + if len(x.NameContains) > 0 { + i -= len(x.NameContains) + copy(dAtA[i:], x.NameContains) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NameContains))) + i-- + dAtA[i] = 0x32 + } + if len(x.SortBy) > 0 { + i -= len(x.SortBy) + copy(dAtA[i:], x.SortBy) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SortBy))) + i-- + dAtA[i] = 0x2a + } + if len(x.Class) > 0 { + var pksize4 int + for _, num := range x.Class { + pksize4 += runtime.Sov(uint64(num)) + } + i -= pksize4 + j3 := i + for _, num1 := range x.Class { + num := uint64(num1) + for num >= 1<<7 { + dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j3++ + } + dAtA[j3] = uint8(num) + j3++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize4)) + i-- + dAtA[i] = 0x22 + } + if len(x.CardType) > 0 { + var pksize6 int + for _, num := range x.CardType { + pksize6 += runtime.Sov(uint64(num)) + } + i -= pksize6 + j5 := i + for _, num1 := range x.CardType { + num := uint64(num1) + for num >= 1<<7 { + dAtA[j5] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j5++ + } + dAtA[j5] = uint8(num) + j5++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize6)) + i-- + dAtA[i] = 0x1a + } + if len(x.Status) > 0 { + var pksize8 int + for _, num := range x.Status { + pksize8 += runtime.Sov(uint64(num)) + } + i -= pksize8 + j7 := i + for _, num1 := range x.Status { + num := uint64(num1) + for num >= 1<<7 { + dAtA[j7] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j7++ + } + dAtA[j7] = uint8(num) + j7++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize8)) + i-- + dAtA[i] = 0x12 + } if len(x.Owner) > 0 { i -= len(x.Owner) copy(dAtA[i:], x.Owner) @@ -4682,28 +5332,331 @@ func (x *fastReflection_QueryCardsRequest) ProtoMethods() *protoiface.Methods { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow } - if iNdEx >= l { + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType == 0 { + var v CardStatus + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Status = append(x.Status, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + if elementCount != 0 && len(x.Status) == 0 { + x.Status = make([]CardStatus, 0, elementCount) + } + for iNdEx < postIndex { + var v CardStatus + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Status = append(x.Status, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + case 3: + if wireType == 0 { + var v CardType + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardType(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.CardType = append(x.CardType, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + if elementCount != 0 && len(x.CardType) == 0 { + x.CardType = make([]CardType, 0, elementCount) + } + for iNdEx < postIndex { + var v CardType + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardType(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.CardType = append(x.CardType, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardType", wireType) + } + case 4: + if wireType == 0 { + var v CardClass + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardClass(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Class = append(x.Class, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + if elementCount != 0 && len(x.Class) == 0 { + x.Class = make([]CardClass, 0, elementCount) + } + for iNdEx < postIndex { + var v CardClass + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardClass(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Class = append(x.Class, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Class", wireType) + } + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SortBy", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + x.SortBy = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NameContains", wireType) } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.NameContains = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field KeywordsContains", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4731,8 +5684,169 @@ func (x *fastReflection_QueryCardsRequest) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Owner = string(dAtA[iNdEx:postIndex]) + x.KeywordsContains = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NotesContains", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.NotesContains = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 9: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OnlyStarterCard", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.OnlyStarterCard = bool(v != 0) + case 10: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OnlyBalanceAnchors", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.OnlyBalanceAnchors = bool(v != 0) + case 11: + if wireType == 0 { + var v CardRarity + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardRarity(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Rarities = append(x.Rarities, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + if elementCount != 0 && len(x.Rarities) == 0 { + x.Rarities = make([]CardRarity, 0, elementCount) + } + for iNdEx < postIndex { + var v CardRarity + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardRarity(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Rarities = append(x.Rarities, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Rarities", wireType) + } + case 12: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MultiClassOnly", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.MultiClassOnly = bool(v != 0) default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -5674,7 +6788,18 @@ type QueryCardsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + Status []CardStatus `protobuf:"varint,2,rep,packed,name=status,proto3,enum=cardchain.cardchain.CardStatus" json:"status,omitempty"` + CardType []CardType `protobuf:"varint,3,rep,packed,name=cardType,proto3,enum=cardchain.cardchain.CardType" json:"cardType,omitempty"` + Class []CardClass `protobuf:"varint,4,rep,packed,name=class,proto3,enum=cardchain.cardchain.CardClass" json:"class,omitempty"` + SortBy string `protobuf:"bytes,5,opt,name=sortBy,proto3" json:"sortBy,omitempty"` + 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"` + OnlyBalanceAnchors bool `protobuf:"varint,10,opt,name=onlyBalanceAnchors,proto3" json:"onlyBalanceAnchors,omitempty"` + Rarities []CardRarity `protobuf:"varint,11,rep,packed,name=rarities,proto3,enum=cardchain.cardchain.CardRarity" json:"rarities,omitempty"` + MultiClassOnly bool `protobuf:"varint,12,opt,name=multiClassOnly,proto3" json:"multiClassOnly,omitempty"` } func (x *QueryCardsRequest) Reset() { @@ -5704,6 +6829,83 @@ func (x *QueryCardsRequest) GetOwner() string { return "" } +func (x *QueryCardsRequest) GetStatus() []CardStatus { + if x != nil { + return x.Status + } + return nil +} + +func (x *QueryCardsRequest) GetCardType() []CardType { + if x != nil { + return x.CardType + } + return nil +} + +func (x *QueryCardsRequest) GetClass() []CardClass { + if x != nil { + return x.Class + } + return nil +} + +func (x *QueryCardsRequest) GetSortBy() string { + if x != nil { + return x.SortBy + } + return "" +} + +func (x *QueryCardsRequest) GetNameContains() string { + if x != nil { + return x.NameContains + } + return "" +} + +func (x *QueryCardsRequest) GetKeywordsContains() string { + if x != nil { + return x.KeywordsContains + } + return "" +} + +func (x *QueryCardsRequest) GetNotesContains() string { + if x != nil { + return x.NotesContains + } + return "" +} + +func (x *QueryCardsRequest) GetOnlyStarterCard() bool { + if x != nil { + return x.OnlyStarterCard + } + return false +} + +func (x *QueryCardsRequest) GetOnlyBalanceAnchors() bool { + if x != nil { + return x.OnlyBalanceAnchors + } + return false +} + +func (x *QueryCardsRequest) GetRarities() []CardRarity { + if x != nil { + return x.Rarities + } + return nil +} + +func (x *QueryCardsRequest) GetMultiClassOnly() bool { + if x != nil { + return x.MultiClassOnly + } + return false +} + type QueryCardsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5762,6 +6964,8 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, @@ -5812,89 +7016,120 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x29, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x73, 0x32, 0xe2, 0x07, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, - 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, - 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, + 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, + 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, + 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, + 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, + 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, + 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, + 0x63, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, + 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x32, 0xe2, 0x07, 0x0a, 0x05, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, + 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, + 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, - 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, - 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, - 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, + 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, + 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, + 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, - 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x42, + 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, + 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5929,6 +7164,10 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*v1beta1.PageResponse)(nil), // 15: cosmos.base.query.v1beta1.PageResponse (*CardWithImage)(nil), // 16: cardchain.cardchain.CardWithImage (*User)(nil), // 17: cardchain.cardchain.User + (CardStatus)(0), // 18: cardchain.cardchain.CardStatus + (CardType)(0), // 19: cardchain.cardchain.CardType + (CardClass)(0), // 20: cardchain.cardchain.CardClass + (CardRarity)(0), // 21: cardchain.cardchain.CardRarity } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ 12, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params @@ -5938,23 +7177,27 @@ var file_cardchain_cardchain_query_proto_depIdxs = []int32{ 15, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 16, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage 17, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 0, // 7: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 8: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 9: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 10: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 11: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 12: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 1, // 13: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 14: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 15: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 16: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 17: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 18: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 13, // [13:19] is the sub-list for method output_type - 7, // [7:13] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 18, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 19, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 20, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 21, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 0, // 11: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 12: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 13: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 14: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 15: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 10, // 16: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 1, // 17: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 18: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 19: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 20: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 21: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 22: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 17, // [17:23] is the sub-list for method output_type + 11, // [11:17] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -5966,6 +7209,7 @@ func file_cardchain_cardchain_query_proto_init() { file_cardchain_cardchain_product_details_proto_init() file_cardchain_cardchain_card_with_image_proto_init() file_cardchain_cardchain_user_proto_init() + file_cardchain_cardchain_card_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsRequest); i { diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 1d27c5a7..4900085c 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -10,44 +10,47 @@ import "cardchain/cardchain/params.proto"; import "cardchain/cardchain/product_details.proto"; import "cardchain/cardchain/card_with_image.proto"; import "cardchain/cardchain/user.proto"; +import "cardchain/cardchain/card.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/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/cardchain/params"; - + rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/params"; } - + // Queries a list of ProductDetails items. - rpc ProductDetails (QueryGetProductDetailsRequest) returns (QueryGetProductDetailsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; - + rpc ProductDetails(QueryGetProductDetailsRequest) + returns (QueryGetProductDetailsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; } - rpc ProductDetailsAll (QueryAllProductDetailsRequest) returns (QueryAllProductDetailsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details"; - + rpc ProductDetailsAll(QueryAllProductDetailsRequest) + returns (QueryAllProductDetailsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/product_details"; } - + // Queries a list of Card items. - rpc Card (QueryCardRequest) returns (QueryCardResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; - + rpc Card(QueryCardRequest) returns (QueryCardResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; } - + // Queries a list of User items. - rpc User (QueryUserRequest) returns (QueryUserResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/user/{address}"; - + rpc User(QueryUserRequest) returns (QueryUserResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/user/{address}"; } - + // Queries a list of Cards items. - rpc Cards (QueryCardsRequest) returns (QueryCardsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; - + rpc Cards(QueryCardsRequest) returns (QueryCardsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; } } // QueryParamsRequest is request type for the Query/Params RPC method. @@ -55,17 +58,16 @@ 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, (amino.dont_omitempty) = true]; + Params params = 1 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; } -message QueryGetProductDetailsRequest { - uint64 id = 1; -} +message QueryGetProductDetailsRequest { uint64 id = 1; } message QueryGetProductDetailsResponse { - ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; + ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; } message QueryAllProductDetailsRequest { @@ -73,31 +75,31 @@ message QueryAllProductDetailsRequest { } message QueryAllProductDetailsResponse { - repeated ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; - cosmos.base.query.v1beta1.PageResponse pagination = 2; + repeated ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; + cosmos.base.query.v1beta1.PageResponse pagination = 2; } -message QueryCardRequest { - uint64 cardId = 1; -} +message QueryCardRequest { uint64 cardId = 1; } -message QueryCardResponse { - CardWithImage card = 1; -} +message QueryCardResponse { CardWithImage card = 1; } -message QueryUserRequest { - string address = 1; -} +message QueryUserRequest { string address = 1; } -message QueryUserResponse { - User user = 1; -} +message QueryUserResponse { User user = 1; } message QueryCardsRequest { string owner = 1; + repeated CardStatus status = 2; + repeated CardType cardType = 3; + repeated CardClass class = 4; + string sortBy = 5; + string nameContains = 6; + string keywordsContains = 7; + string notesContains = 8; + bool onlyStarterCard = 9; + bool onlyBalanceAnchors = 10; + repeated CardRarity rarities = 11; + bool multiClassOnly = 12; } -message QueryCardsResponse { - repeated uint64 cardIds = 1; -} - +message QueryCardsResponse { repeated uint64 cardIds = 1; } diff --git a/x/cardchain/keeper/pools_test.go b/x/cardchain/keeper/pools_test.go index c8a15c80..1bec2747 100644 --- a/x/cardchain/keeper/pools_test.go +++ b/x/cardchain/keeper/pools_test.go @@ -23,7 +23,7 @@ func SetUpPools(ctx sdk.Context, k keeper.Keeper) (sdk.Coin, sdk.Coin, sdk.Coin) func TestPools(t *testing.T) { k, ctx := testkeeper.CardchainKeeper(t) - pool, pool1, pool2 := SetUpPools(ctx, *k) + pool, pool1, pool2 := SetUpPools(ctx, k) require.EqualValues(t, pool, *k.Pools.Get(ctx, keeper.PublicPoolKey)) require.EqualValues(t, []*sdk.Coin{&pool, &pool1, &pool2}, k.Pools.GetAll(ctx)) diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 2992c13c..d6882660 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -475,7 +475,18 @@ func (m *QueryUserResponse) GetUser() *User { } type QueryCardsRequest struct { - Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + Status []CardStatus `protobuf:"varint,2,rep,packed,name=status,proto3,enum=cardchain.cardchain.CardStatus" json:"status,omitempty"` + CardType []CardType `protobuf:"varint,3,rep,packed,name=cardType,proto3,enum=cardchain.cardchain.CardType" json:"cardType,omitempty"` + Class []CardClass `protobuf:"varint,4,rep,packed,name=class,proto3,enum=cardchain.cardchain.CardClass" json:"class,omitempty"` + SortBy string `protobuf:"bytes,5,opt,name=sortBy,proto3" json:"sortBy,omitempty"` + 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"` + OnlyBalanceAnchors bool `protobuf:"varint,10,opt,name=onlyBalanceAnchors,proto3" json:"onlyBalanceAnchors,omitempty"` + Rarities []CardRarity `protobuf:"varint,11,rep,packed,name=rarities,proto3,enum=cardchain.cardchain.CardRarity" json:"rarities,omitempty"` + MultiClassOnly bool `protobuf:"varint,12,opt,name=multiClassOnly,proto3" json:"multiClassOnly,omitempty"` } func (m *QueryCardsRequest) Reset() { *m = QueryCardsRequest{} } @@ -518,6 +529,83 @@ func (m *QueryCardsRequest) GetOwner() string { return "" } +func (m *QueryCardsRequest) GetStatus() []CardStatus { + if m != nil { + return m.Status + } + return nil +} + +func (m *QueryCardsRequest) GetCardType() []CardType { + if m != nil { + return m.CardType + } + return nil +} + +func (m *QueryCardsRequest) GetClass() []CardClass { + if m != nil { + return m.Class + } + return nil +} + +func (m *QueryCardsRequest) GetSortBy() string { + if m != nil { + return m.SortBy + } + return "" +} + +func (m *QueryCardsRequest) GetNameContains() string { + if m != nil { + return m.NameContains + } + return "" +} + +func (m *QueryCardsRequest) GetKeywordsContains() string { + if m != nil { + return m.KeywordsContains + } + return "" +} + +func (m *QueryCardsRequest) GetNotesContains() string { + if m != nil { + return m.NotesContains + } + return "" +} + +func (m *QueryCardsRequest) GetOnlyStarterCard() bool { + if m != nil { + return m.OnlyStarterCard + } + return false +} + +func (m *QueryCardsRequest) GetOnlyBalanceAnchors() bool { + if m != nil { + return m.OnlyBalanceAnchors + } + return false +} + +func (m *QueryCardsRequest) GetRarities() []CardRarity { + if m != nil { + return m.Rarities + } + return nil +} + +func (m *QueryCardsRequest) GetMultiClassOnly() bool { + if m != nil { + return m.MultiClassOnly + } + return false +} + type QueryCardsResponse struct { CardIds []uint64 `protobuf:"varint,1,rep,packed,name=cardIds,proto3" json:"cardIds,omitempty"` } @@ -580,55 +668,68 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 764 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0x4f, 0x4b, 0x1b, 0x4f, - 0x18, 0xc7, 0xb3, 0xf9, 0xc5, 0x88, 0xf3, 0x03, 0xa9, 0xa3, 0x14, 0x9b, 0xb6, 0xab, 0x4c, 0xa9, - 0xff, 0xa8, 0x3b, 0xa8, 0xd5, 0x0a, 0xad, 0x82, 0x51, 0x2a, 0xd2, 0x8b, 0x2e, 0x48, 0xa1, 0x17, - 0x99, 0x64, 0x87, 0xcd, 0xc2, 0x66, 0x27, 0xee, 0x6e, 0x6a, 0x25, 0xe4, 0xd2, 0x57, 0x50, 0x6a, - 0xe9, 0x6b, 0xe8, 0xb1, 0x2f, 0x40, 0x7a, 0xf6, 0x28, 0xf4, 0xd2, 0x53, 0x29, 0xb1, 0xd0, 0xb7, - 0x51, 0xe6, 0x4f, 0xe2, 0xae, 0xdd, 0xdd, 0xd8, 0x7a, 0x09, 0xb3, 0x3b, 0xdf, 0xe7, 0x79, 0x3e, - 0xcf, 0xcc, 0xf3, 0xdd, 0x80, 0x89, 0x2a, 0xf1, 0xad, 0x6a, 0x8d, 0x38, 0x1e, 0xbe, 0x5c, 0x1d, - 0x36, 0xa9, 0x7f, 0x6c, 0x34, 0x7c, 0x16, 0x32, 0x38, 0xda, 0x7b, 0x6d, 0xf4, 0x56, 0xa5, 0x11, - 0x52, 0x77, 0x3c, 0x86, 0xc5, 0xaf, 0xd4, 0x95, 0xc6, 0x6c, 0x66, 0x33, 0xb1, 0xc4, 0x7c, 0xa5, - 0xde, 0xde, 0xb3, 0x19, 0xb3, 0x5d, 0x8a, 0x49, 0xc3, 0xc1, 0xc4, 0xf3, 0x58, 0x48, 0x42, 0x87, - 0x79, 0x81, 0xda, 0x9d, 0xab, 0xb2, 0xa0, 0xce, 0x02, 0x5c, 0x21, 0x01, 0x95, 0x45, 0xf1, 0xeb, - 0x85, 0x0a, 0x0d, 0xc9, 0x02, 0x6e, 0x10, 0xdb, 0xf1, 0x84, 0x58, 0x69, 0x27, 0x93, 0x40, 0x1b, - 0xc4, 0x27, 0xf5, 0x6e, 0xb6, 0xd9, 0x44, 0x85, 0xcf, 0xac, 0x66, 0x35, 0x3c, 0xb0, 0x68, 0x48, - 0x1c, 0x37, 0x53, 0xca, 0x57, 0x07, 0x47, 0x4e, 0x58, 0x3b, 0x70, 0xea, 0xc4, 0xa6, 0x4a, 0xaa, - 0x27, 0x49, 0x9b, 0x01, 0xf5, 0xe5, 0x3e, 0x1a, 0x03, 0x70, 0x8f, 0x93, 0xef, 0x0a, 0x14, 0x93, - 0x1e, 0x36, 0x69, 0x10, 0xa2, 0x7d, 0x30, 0x1a, 0x7b, 0x1b, 0x34, 0x98, 0x17, 0x50, 0xb8, 0x0e, - 0x8a, 0x12, 0x79, 0x5c, 0x9b, 0xd4, 0x66, 0xfe, 0x5f, 0xbc, 0x6b, 0x24, 0x9c, 0xae, 0x21, 0x83, - 0xca, 0x43, 0x67, 0xdf, 0x27, 0x72, 0x9f, 0x7e, 0x7d, 0x9e, 0xd3, 0x4c, 0x15, 0x85, 0x30, 0xb8, - 0x2f, 0xd2, 0x6e, 0xd3, 0x70, 0x57, 0x36, 0xb6, 0x25, 0xfb, 0x52, 0x75, 0xe1, 0x30, 0xc8, 0x3b, - 0x96, 0x48, 0x5e, 0x30, 0xf3, 0x8e, 0x85, 0x02, 0xa0, 0xa7, 0x05, 0x28, 0xa4, 0x3d, 0x30, 0x1c, - 0xdf, 0x51, 0x68, 0x0f, 0x92, 0xd1, 0x62, 0xd2, 0x72, 0x81, 0x23, 0x9a, 0x57, 0x12, 0x20, 0x5b, - 0x51, 0x6e, 0xb8, 0x6e, 0x32, 0xe5, 0x73, 0x00, 0x2e, 0xef, 0x57, 0xd5, 0x9b, 0x32, 0xe4, 0x30, - 0x18, 0x7c, 0x18, 0x0c, 0x39, 0x81, 0x6a, 0x18, 0x8c, 0x5d, 0x62, 0x53, 0x15, 0x6b, 0x46, 0x22, - 0xd1, 0xa9, 0xa6, 0xda, 0x4b, 0xa8, 0x94, 0xd1, 0xde, 0x7f, 0x37, 0x6a, 0x0f, 0x6e, 0xc7, 0xe8, - 0xf3, 0x82, 0x7e, 0xba, 0x2f, 0xbd, 0xe4, 0x89, 0xe1, 0xcf, 0x81, 0x5b, 0x82, 0x7e, 0x93, 0xf8, - 0x56, 0xf7, 0x68, 0x6e, 0x83, 0x22, 0xc7, 0xd9, 0xe9, 0x5e, 0xa2, 0x7a, 0x42, 0x2f, 0xc0, 0x48, - 0x44, 0xab, 0x9a, 0x5b, 0x01, 0x05, 0xbe, 0xad, 0x4e, 0x10, 0x25, 0xb6, 0xc4, 0x03, 0x5e, 0x3a, - 0x61, 0x6d, 0x87, 0xcf, 0xb4, 0x29, 0xf4, 0xe8, 0x91, 0x2a, 0xbc, 0x1f, 0x50, 0xbf, 0x5b, 0x78, - 0x1c, 0x0c, 0x12, 0xcb, 0xf2, 0x69, 0x20, 0x07, 0x60, 0xc8, 0xec, 0x3e, 0xa2, 0xb2, 0x2a, 0x2d, - 0xd5, 0xaa, 0xf4, 0x3c, 0x28, 0x70, 0x13, 0xa8, 0xd2, 0x77, 0x12, 0x4b, 0x8b, 0x00, 0x21, 0x43, - 0xb3, 0x11, 0xfc, 0xde, 0x18, 0x8c, 0x81, 0x01, 0x76, 0xe4, 0xa9, 0x24, 0x43, 0xa6, 0x7c, 0x40, - 0x86, 0x32, 0x94, 0x92, 0xaa, 0x7a, 0xe3, 0x60, 0x50, 0x9e, 0x84, 0xbc, 0xc0, 0x82, 0xd9, 0x7d, - 0x5c, 0xec, 0x0c, 0x82, 0x01, 0x11, 0x00, 0xdf, 0x6b, 0xa0, 0x28, 0xbd, 0x03, 0xa7, 0x13, 0x81, - 0xfe, 0x34, 0x6a, 0x69, 0xa6, 0xbf, 0x50, 0x12, 0xa0, 0xe5, 0xb7, 0x5f, 0x7f, 0x9e, 0xe4, 0x31, - 0x9c, 0xc7, 0x5b, 0xb4, 0x4a, 0xbd, 0xd0, 0x27, 0x2e, 0x47, 0xdc, 0x26, 0x75, 0x8a, 0xd3, 0xbf, - 0x4d, 0xf0, 0x8b, 0x76, 0x75, 0x02, 0xe1, 0x62, 0x7a, 0xcd, 0x34, 0x63, 0x97, 0x96, 0xfe, 0x2a, - 0x46, 0x21, 0x6f, 0x0a, 0xe4, 0x35, 0xf8, 0xf4, 0xba, 0xc8, 0xf1, 0x8f, 0x25, 0x6e, 0x39, 0x56, - 0x1b, 0x9e, 0x6a, 0x60, 0x24, 0x9e, 0x7f, 0xc3, 0x75, 0xb3, 0x7a, 0x48, 0xb3, 0x7d, 0x56, 0x0f, - 0xa9, 0x06, 0x46, 0xeb, 0xa2, 0x87, 0x55, 0xb8, 0xf2, 0x6f, 0x3d, 0xc0, 0x13, 0x0d, 0x14, 0x78, - 0x00, 0x7c, 0x98, 0x5e, 0x3d, 0x62, 0xc0, 0xd2, 0x54, 0x3f, 0x99, 0xe2, 0x7a, 0x26, 0xb8, 0x56, - 0xe0, 0xe3, 0x6b, 0x72, 0xf1, 0x15, 0x6e, 0xc9, 0xa1, 0x6d, 0xc3, 0x0f, 0x1a, 0x28, 0x70, 0x7b, - 0x64, 0x51, 0x45, 0xdc, 0x99, 0x45, 0x15, 0xb5, 0x25, 0x5a, 0x13, 0x54, 0x4f, 0xe0, 0xf2, 0x35, - 0xa9, 0xb8, 0x39, 0x71, 0x4b, 0x39, 0xbd, 0x0d, 0x3f, 0x6a, 0x60, 0x40, 0xf8, 0x0e, 0xf6, 0x39, - 0x86, 0xde, 0x9d, 0x4e, 0xf7, 0xd5, 0xdd, 0xe0, 0xbc, 0x02, 0xdc, 0x12, 0xdf, 0x84, 0x76, 0xd9, - 0x3c, 0xeb, 0xe8, 0xda, 0x79, 0x47, 0xd7, 0x7e, 0x74, 0x74, 0xed, 0xdd, 0x85, 0x9e, 0x3b, 0xbf, - 0xd0, 0x73, 0xdf, 0x2e, 0xf4, 0xdc, 0xab, 0x55, 0xdb, 0x09, 0x6b, 0xcd, 0x8a, 0x51, 0x65, 0xf5, - 0xcc, 0xcc, 0x6f, 0x22, 0xeb, 0xf0, 0xb8, 0x41, 0x83, 0x4a, 0x51, 0xfc, 0x81, 0x2f, 0xfd, 0x0e, - 0x00, 0x00, 0xff, 0xff, 0x0b, 0x05, 0x85, 0xbd, 0x03, 0x09, 0x00, 0x00, + // 976 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xcf, 0xba, 0x6b, 0x27, 0x79, 0x2d, 0xa1, 0x99, 0x46, 0x68, 0x31, 0x74, 0x13, 0x2d, 0x90, + 0x98, 0x88, 0xee, 0xaa, 0x69, 0x9b, 0x16, 0x95, 0x56, 0x8a, 0x53, 0x11, 0x55, 0x1c, 0x48, 0xb7, + 0x54, 0x48, 0x5c, 0xa2, 0xc9, 0xee, 0x68, 0xbd, 0x62, 0xbd, 0xe3, 0xce, 0x8c, 0x09, 0x56, 0x94, + 0x0b, 0x9f, 0x00, 0x51, 0xc4, 0x99, 0x23, 0x47, 0x3e, 0x40, 0xc5, 0xb9, 0xc7, 0x4a, 0x5c, 0x38, + 0x21, 0x94, 0x20, 0xf1, 0x35, 0xd0, 0xfc, 0xb1, 0xe3, 0x4d, 0x77, 0xed, 0x40, 0x2f, 0xd6, 0x9b, + 0xf7, 0x7e, 0x6f, 0xde, 0xef, 0x37, 0xf3, 0xe6, 0xad, 0x61, 0x39, 0xc2, 0x2c, 0x8e, 0x3a, 0x38, + 0xcd, 0x83, 0x53, 0xeb, 0x69, 0x9f, 0xb0, 0x81, 0xdf, 0x63, 0x54, 0x50, 0x74, 0x65, 0xe4, 0xf6, + 0x47, 0x56, 0x73, 0x11, 0x77, 0xd3, 0x9c, 0x06, 0xea, 0x57, 0xe3, 0x9a, 0x4b, 0x09, 0x4d, 0xa8, + 0x32, 0x03, 0x69, 0x19, 0xef, 0xbb, 0x09, 0xa5, 0x49, 0x46, 0x02, 0xdc, 0x4b, 0x03, 0x9c, 0xe7, + 0x54, 0x60, 0x91, 0xd2, 0x9c, 0x9b, 0xe8, 0x7a, 0x44, 0x79, 0x97, 0xf2, 0x60, 0x1f, 0x73, 0xa2, + 0x8b, 0x06, 0xdf, 0x5c, 0xdf, 0x27, 0x02, 0x5f, 0x0f, 0x7a, 0x38, 0x49, 0x73, 0x05, 0x36, 0xd8, + 0x95, 0x32, 0xa2, 0x3d, 0xcc, 0x70, 0x77, 0xb8, 0xdb, 0x87, 0xa5, 0x08, 0x46, 0xe3, 0x7e, 0x24, + 0xf6, 0x62, 0x22, 0x70, 0x9a, 0x4d, 0x84, 0x4a, 0x6b, 0xef, 0x20, 0x15, 0x9d, 0xbd, 0xb4, 0x8b, + 0x13, 0x62, 0xa0, 0x6e, 0x19, 0xb4, 0xcf, 0x09, 0x9b, 0x14, 0x97, 0x96, 0x8e, 0x7b, 0x4b, 0x80, + 0x1e, 0x49, 0x65, 0xbb, 0x8a, 0x6a, 0x48, 0x9e, 0xf6, 0x09, 0x17, 0xde, 0x13, 0xb8, 0x52, 0xf0, + 0xf2, 0x1e, 0xcd, 0x39, 0x41, 0xf7, 0xa1, 0xa1, 0x25, 0x39, 0xd6, 0x8a, 0xd5, 0xba, 0xb8, 0xf1, + 0x8e, 0x5f, 0x72, 0xfa, 0xbe, 0x4e, 0x6a, 0xcf, 0xbf, 0xf8, 0x73, 0x79, 0xe6, 0x97, 0x7f, 0x7e, + 0x5d, 0xb7, 0x42, 0x93, 0xe5, 0x05, 0x70, 0x55, 0x6d, 0xbb, 0x43, 0xc4, 0xae, 0x16, 0xfe, 0x40, + 0xeb, 0x36, 0x75, 0xd1, 0x02, 0xd4, 0xd2, 0x58, 0x6d, 0x6e, 0x87, 0xb5, 0x34, 0xf6, 0x38, 0xb8, + 0x55, 0x09, 0x86, 0xd2, 0x23, 0x58, 0x28, 0x46, 0x0c, 0xb5, 0xf7, 0xca, 0xa9, 0x15, 0xa0, 0x6d, + 0x5b, 0x52, 0x0c, 0xcf, 0x6c, 0xe0, 0x25, 0x86, 0xe5, 0x56, 0x96, 0x95, 0xb3, 0xfc, 0x14, 0xe0, + 0xf4, 0xfe, 0x4d, 0xbd, 0x55, 0x5f, 0x37, 0x8b, 0x2f, 0x9b, 0xc5, 0xd7, 0x1d, 0x6a, 0x9a, 0xc5, + 0xdf, 0xc5, 0x09, 0x31, 0xb9, 0xe1, 0x58, 0xa6, 0xf7, 0xdc, 0x32, 0xf2, 0x4a, 0x2a, 0x4d, 0x90, + 0x77, 0xe1, 0xb5, 0xe4, 0xa1, 0x9d, 0x02, 0xfb, 0x9a, 0x62, 0xbf, 0x36, 0x95, 0xbd, 0xe6, 0x53, + 0xa0, 0xbf, 0x0e, 0x97, 0x15, 0xfb, 0x6d, 0xcc, 0xe2, 0xe1, 0xd1, 0xbc, 0x05, 0x0d, 0x49, 0xe7, + 0xe1, 0xf0, 0x12, 0xcd, 0xca, 0xfb, 0x0c, 0x16, 0xc7, 0xb0, 0x46, 0xdc, 0x26, 0xd8, 0x32, 0x6c, + 0x4e, 0xd0, 0x2b, 0x95, 0x24, 0x13, 0xbe, 0x4c, 0x45, 0xe7, 0xa1, 0xec, 0xf9, 0x50, 0xe1, 0xbd, + 0x8f, 0x4c, 0xe1, 0x27, 0x9c, 0xb0, 0x61, 0x61, 0x07, 0x66, 0x71, 0x1c, 0x33, 0xc2, 0x75, 0x03, + 0xcc, 0x87, 0xc3, 0xa5, 0xd7, 0x36, 0xa5, 0x35, 0xda, 0x94, 0xbe, 0x06, 0xb6, 0x7c, 0x24, 0xa6, + 0xf4, 0xdb, 0xa5, 0xa5, 0x55, 0x82, 0x82, 0x79, 0x3f, 0xdb, 0x63, 0xfc, 0x47, 0x7d, 0xb0, 0x04, + 0x75, 0x7a, 0x90, 0x9b, 0x5d, 0xe6, 0x43, 0xbd, 0x40, 0xb7, 0xa1, 0xc1, 0x05, 0x16, 0x7d, 0xee, + 0xd4, 0x56, 0x2e, 0xb4, 0x16, 0x36, 0x96, 0x2b, 0x75, 0x3d, 0x56, 0xb0, 0xd0, 0xc0, 0xd1, 0xc7, + 0x30, 0x27, 0xe3, 0x5f, 0x0c, 0x7a, 0xc4, 0xb9, 0xa0, 0x52, 0xaf, 0x56, 0xa6, 0x4a, 0x50, 0x38, + 0x82, 0xa3, 0x9b, 0x50, 0x8f, 0x32, 0xcc, 0xb9, 0x63, 0xab, 0x3c, 0xb7, 0x32, 0x6f, 0x5b, 0xa2, + 0x42, 0x0d, 0x96, 0x97, 0xc5, 0x29, 0x13, 0xed, 0x81, 0x53, 0x57, 0x02, 0xcc, 0x0a, 0x79, 0x70, + 0x29, 0xc7, 0x5d, 0xb2, 0x4d, 0x73, 0x81, 0xd3, 0x9c, 0x3b, 0x0d, 0x15, 0x2d, 0xf8, 0xd0, 0x3a, + 0x5c, 0xfe, 0x9a, 0x0c, 0x0e, 0x28, 0x8b, 0xf9, 0x08, 0x37, 0xab, 0x70, 0xaf, 0xf8, 0xd1, 0xfb, + 0xf0, 0x46, 0x4e, 0x05, 0x39, 0x05, 0xce, 0x29, 0x60, 0xd1, 0x89, 0x5a, 0xf0, 0x26, 0xcd, 0xb3, + 0xc1, 0x63, 0x81, 0x99, 0x20, 0x4c, 0x92, 0x75, 0xe6, 0x57, 0xac, 0xd6, 0x5c, 0x78, 0xd6, 0x8d, + 0x7c, 0x40, 0xd2, 0xd5, 0xc6, 0x19, 0xce, 0x23, 0xb2, 0x95, 0x47, 0x1d, 0xca, 0xb8, 0x03, 0x0a, + 0x5c, 0x12, 0x41, 0x77, 0x61, 0x8e, 0x61, 0x96, 0x8a, 0x94, 0x70, 0xe7, 0xe2, 0x94, 0x3b, 0x09, + 0x25, 0x70, 0x10, 0x8e, 0x12, 0xd0, 0x2a, 0x2c, 0x74, 0xfb, 0x99, 0x48, 0xd5, 0xc9, 0x7d, 0x9e, + 0x67, 0x03, 0xe7, 0x92, 0x2a, 0x74, 0xc6, 0xeb, 0xf9, 0x66, 0x90, 0x9a, 0x0e, 0x31, 0x7d, 0xe6, + 0xc0, 0xac, 0x7e, 0x01, 0xfa, 0xe1, 0xda, 0xe1, 0x70, 0xb9, 0x71, 0x3c, 0x0b, 0x75, 0x95, 0x80, + 0x7e, 0xb0, 0xa0, 0xa1, 0x67, 0x26, 0x5a, 0x2b, 0xe5, 0xf5, 0xea, 0x80, 0x6e, 0xb6, 0xa6, 0x03, + 0x35, 0x03, 0xef, 0xd6, 0x77, 0xbf, 0xff, 0xfd, 0xac, 0x16, 0xa0, 0x6b, 0xc1, 0x03, 0x12, 0x91, + 0x5c, 0x30, 0x9c, 0x49, 0x8a, 0x3b, 0xb8, 0x4b, 0x82, 0xea, 0x6f, 0x16, 0xfa, 0xcd, 0x3a, 0x3b, + 0x79, 0xd0, 0x46, 0x75, 0xcd, 0xaa, 0x81, 0xde, 0xbc, 0xf1, 0x9f, 0x72, 0x0c, 0xe5, 0x6d, 0x45, + 0xf9, 0x1e, 0xba, 0x7b, 0x5e, 0xca, 0xc5, 0x8f, 0x68, 0x70, 0x98, 0xc6, 0x47, 0xe8, 0xb9, 0x05, + 0x8b, 0xc5, 0xfd, 0xb7, 0xb2, 0x6c, 0x92, 0x86, 0xaa, 0x71, 0x3f, 0x49, 0x43, 0xe5, 0xe0, 0xf6, + 0xee, 0x2b, 0x0d, 0x77, 0xd0, 0xe6, 0xff, 0xd3, 0x80, 0x9e, 0x59, 0x60, 0xab, 0x66, 0xff, 0xa0, + 0xba, 0xfa, 0xd8, 0xe0, 0x6d, 0xae, 0x4e, 0x83, 0x19, 0x5e, 0x9f, 0x28, 0x5e, 0x9b, 0xe8, 0xe6, + 0x39, 0x79, 0x49, 0x2b, 0x38, 0xd4, 0x4d, 0x7b, 0x84, 0x7e, 0xb4, 0xc0, 0x96, 0x63, 0x71, 0x12, + 0xab, 0xb1, 0xa9, 0x3c, 0x89, 0xd5, 0xf8, 0x38, 0xf6, 0xee, 0x29, 0x56, 0xb7, 0xd1, 0xad, 0x73, + 0xb2, 0x92, 0x43, 0x39, 0x38, 0x34, 0x13, 0xfe, 0x08, 0xfd, 0x64, 0x41, 0x5d, 0xbd, 0x3b, 0x34, + 0xe5, 0x18, 0x46, 0x77, 0xba, 0x36, 0x15, 0xf7, 0x1a, 0xe7, 0xc5, 0x83, 0x43, 0xf5, 0x29, 0x38, + 0x6a, 0x87, 0x2f, 0x8e, 0x5d, 0xeb, 0xe5, 0xb1, 0x6b, 0xfd, 0x75, 0xec, 0x5a, 0xdf, 0x9f, 0xb8, + 0x33, 0x2f, 0x4f, 0xdc, 0x99, 0x3f, 0x4e, 0xdc, 0x99, 0xaf, 0xee, 0x24, 0xa9, 0xe8, 0xf4, 0xf7, + 0xfd, 0x88, 0x76, 0x27, 0xee, 0xfc, 0xed, 0x98, 0x2d, 0x06, 0x3d, 0xc2, 0xf7, 0x1b, 0xea, 0x8f, + 0xdb, 0x8d, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x59, 0xd5, 0x08, 0x1b, 0x0b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1251,6 +1352,136 @@ func (m *QueryCardsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.MultiClassOnly { + i-- + if m.MultiClassOnly { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + } + if len(m.Rarities) > 0 { + dAtA8 := make([]byte, len(m.Rarities)*10) + var j7 int + for _, num := range m.Rarities { + for num >= 1<<7 { + dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j7++ + } + dAtA8[j7] = uint8(num) + j7++ + } + i -= j7 + copy(dAtA[i:], dAtA8[:j7]) + i = encodeVarintQuery(dAtA, i, uint64(j7)) + i-- + dAtA[i] = 0x5a + } + if m.OnlyBalanceAnchors { + i-- + if m.OnlyBalanceAnchors { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + 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) + i = encodeVarintQuery(dAtA, i, uint64(len(m.NotesContains))) + i-- + dAtA[i] = 0x42 + } + if len(m.KeywordsContains) > 0 { + i -= len(m.KeywordsContains) + copy(dAtA[i:], m.KeywordsContains) + i = encodeVarintQuery(dAtA, i, uint64(len(m.KeywordsContains))) + i-- + dAtA[i] = 0x3a + } + if len(m.NameContains) > 0 { + i -= len(m.NameContains) + copy(dAtA[i:], m.NameContains) + i = encodeVarintQuery(dAtA, i, uint64(len(m.NameContains))) + i-- + dAtA[i] = 0x32 + } + if len(m.SortBy) > 0 { + i -= len(m.SortBy) + copy(dAtA[i:], m.SortBy) + i = encodeVarintQuery(dAtA, i, uint64(len(m.SortBy))) + i-- + dAtA[i] = 0x2a + } + if len(m.Class) > 0 { + dAtA10 := make([]byte, len(m.Class)*10) + var j9 int + for _, num := range m.Class { + for num >= 1<<7 { + dAtA10[j9] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j9++ + } + dAtA10[j9] = uint8(num) + j9++ + } + i -= j9 + copy(dAtA[i:], dAtA10[:j9]) + i = encodeVarintQuery(dAtA, i, uint64(j9)) + i-- + dAtA[i] = 0x22 + } + if len(m.CardType) > 0 { + dAtA12 := make([]byte, len(m.CardType)*10) + var j11 int + for _, num := range m.CardType { + 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 = encodeVarintQuery(dAtA, i, uint64(j11)) + i-- + dAtA[i] = 0x1a + } + if len(m.Status) > 0 { + dAtA14 := make([]byte, len(m.Status)*10) + var j13 int + for _, num := range m.Status { + for num >= 1<<7 { + dAtA14[j13] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j13++ + } + dAtA14[j13] = uint8(num) + j13++ + } + i -= j13 + copy(dAtA[i:], dAtA14[:j13]) + i = encodeVarintQuery(dAtA, i, uint64(j13)) + i-- + dAtA[i] = 0x12 + } if len(m.Owner) > 0 { i -= len(m.Owner) copy(dAtA[i:], m.Owner) @@ -1282,20 +1513,20 @@ func (m *QueryCardsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.CardIds) > 0 { - dAtA8 := make([]byte, len(m.CardIds)*10) - var j7 int + dAtA16 := make([]byte, len(m.CardIds)*10) + var j15 int for _, num := range m.CardIds { for num >= 1<<7 { - dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) + dAtA16[j15] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j7++ + j15++ } - dAtA8[j7] = uint8(num) - j7++ + dAtA16[j15] = uint8(num) + j15++ } - i -= j7 - copy(dAtA[i:], dAtA8[:j7]) - i = encodeVarintQuery(dAtA, i, uint64(j7)) + i -= j15 + copy(dAtA[i:], dAtA16[:j15]) + i = encodeVarintQuery(dAtA, i, uint64(j15)) i-- dAtA[i] = 0xa } @@ -1449,6 +1680,59 @@ func (m *QueryCardsRequest) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + if len(m.Status) > 0 { + l = 0 + for _, e := range m.Status { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + if len(m.CardType) > 0 { + l = 0 + for _, e := range m.CardType { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + if len(m.Class) > 0 { + l = 0 + for _, e := range m.Class { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + l = len(m.SortBy) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.NameContains) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.KeywordsContains) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.NotesContains) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.OnlyStarterCard { + n += 2 + } + if m.OnlyBalanceAnchors { + n += 2 + } + if len(m.Rarities) > 0 { + l = 0 + for _, e := range m.Rarities { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + if m.MultiClassOnly { + n += 2 + } return n } @@ -2349,6 +2633,470 @@ func (m *QueryCardsRequest) Unmarshal(dAtA []byte) error { } m.Owner = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType == 0 { + var v CardStatus + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Status = append(m.Status, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + if elementCount != 0 && len(m.Status) == 0 { + m.Status = make([]CardStatus, 0, elementCount) + } + for iNdEx < postIndex { + var v CardStatus + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Status = append(m.Status, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + case 3: + if wireType == 0 { + var v CardType + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardType(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.CardType = append(m.CardType, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + if elementCount != 0 && len(m.CardType) == 0 { + m.CardType = make([]CardType, 0, elementCount) + } + for iNdEx < postIndex { + var v CardType + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardType(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.CardType = append(m.CardType, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field CardType", wireType) + } + case 4: + if wireType == 0 { + var v CardClass + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardClass(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Class = append(m.Class, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + if elementCount != 0 && len(m.Class) == 0 { + m.Class = make([]CardClass, 0, elementCount) + } + for iNdEx < postIndex { + var v CardClass + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardClass(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Class = append(m.Class, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Class", wireType) + } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SortBy", 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.SortBy = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NameContains", 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.NameContains = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field KeywordsContains", 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.KeywordsContains = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NotesContains", 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.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) + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OnlyBalanceAnchors", 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.OnlyBalanceAnchors = bool(v != 0) + case 11: + if wireType == 0 { + var v CardRarity + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardRarity(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Rarities = append(m.Rarities, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + if elementCount != 0 && len(m.Rarities) == 0 { + m.Rarities = make([]CardRarity, 0, elementCount) + } + for iNdEx < postIndex { + var v CardRarity + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= CardRarity(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Rarities = append(m.Rarities, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Rarities", wireType) + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MultiClassOnly", 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.MultiClassOnly = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index d3227169..46e1a706 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -249,6 +249,10 @@ func local_request_Query_User_0(ctx context.Context, marshaler runtime.Marshaler } +var ( + filter_Query_Cards_0 = &utilities.DoubleArray{Encoding: map[string]int{"owner": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + func request_Query_Cards_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryCardsRequest var metadata runtime.ServerMetadata @@ -271,6 +275,13 @@ func request_Query_Cards_0(ctx context.Context, marshaler runtime.Marshaler, cli return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_Cards_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.Cards(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err @@ -298,6 +309,13 @@ func local_request_Query_Cards_0(ctx context.Context, marshaler runtime.Marshale return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_Cards_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.Cards(ctx, &protoReq) return msg, metadata, err From d8f3b80eaea075ac24ba8562aa581e15f7c21e33 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 12:30:56 +0100 Subject: [PATCH 41/99] feat(#242): SetWithAtwork --- api/cardchain/cardchain/set.pulsar.go | 643 ++--------------- .../cardchain/set_with_artwork.pulsar.go | 667 ++++++++++++++++++ proto/cardchain/cardchain/set.proto | 5 - .../cardchain/set_with_artwork.proto | 11 + x/cardchain/types/set.pb.go | 302 +------- x/cardchain/types/set_with_artwork.pb.go | 381 ++++++++++ 6 files changed, 1133 insertions(+), 876 deletions(-) create mode 100644 api/cardchain/cardchain/set_with_artwork.pulsar.go create mode 100644 proto/cardchain/cardchain/set_with_artwork.proto create mode 100644 x/cardchain/types/set_with_artwork.pb.go diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go index 84be5f2e..339ce34d 100644 --- a/api/cardchain/cardchain/set.pulsar.go +++ b/api/cardchain/cardchain/set.pulsar.go @@ -1885,507 +1885,6 @@ func (x *fastReflection_InnerRarities) ProtoMethods() *protoiface.Methods { } } -var ( - md_OutpSet protoreflect.MessageDescriptor - fd_OutpSet_set protoreflect.FieldDescriptor - fd_OutpSet_artwork protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_set_proto_init() - md_OutpSet = File_cardchain_cardchain_set_proto.Messages().ByName("OutpSet") - fd_OutpSet_set = md_OutpSet.Fields().ByName("set") - fd_OutpSet_artwork = md_OutpSet.Fields().ByName("artwork") -} - -var _ protoreflect.Message = (*fastReflection_OutpSet)(nil) - -type fastReflection_OutpSet OutpSet - -func (x *OutpSet) ProtoReflect() protoreflect.Message { - return (*fastReflection_OutpSet)(x) -} - -func (x *OutpSet) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_set_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_OutpSet_messageType fastReflection_OutpSet_messageType -var _ protoreflect.MessageType = fastReflection_OutpSet_messageType{} - -type fastReflection_OutpSet_messageType struct{} - -func (x fastReflection_OutpSet_messageType) Zero() protoreflect.Message { - return (*fastReflection_OutpSet)(nil) -} -func (x fastReflection_OutpSet_messageType) New() protoreflect.Message { - return new(fastReflection_OutpSet) -} -func (x fastReflection_OutpSet_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_OutpSet -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_OutpSet) Descriptor() protoreflect.MessageDescriptor { - return md_OutpSet -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_OutpSet) Type() protoreflect.MessageType { - return _fastReflection_OutpSet_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_OutpSet) New() protoreflect.Message { - return new(fastReflection_OutpSet) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_OutpSet) Interface() protoreflect.ProtoMessage { - return (*OutpSet)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_OutpSet) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Set_ != nil { - value := protoreflect.ValueOfMessage(x.Set_.ProtoReflect()) - if !f(fd_OutpSet_set, value) { - return - } - } - if len(x.Artwork) != 0 { - value := protoreflect.ValueOfBytes(x.Artwork) - if !f(fd_OutpSet_artwork, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_OutpSet) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.OutpSet.set": - return x.Set_ != nil - case "cardchain.cardchain.OutpSet.artwork": - return len(x.Artwork) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.OutpSet")) - } - panic(fmt.Errorf("message cardchain.cardchain.OutpSet does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_OutpSet) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.OutpSet.set": - x.Set_ = nil - case "cardchain.cardchain.OutpSet.artwork": - x.Artwork = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.OutpSet")) - } - panic(fmt.Errorf("message cardchain.cardchain.OutpSet does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_OutpSet) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.OutpSet.set": - value := x.Set_ - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "cardchain.cardchain.OutpSet.artwork": - value := x.Artwork - return protoreflect.ValueOfBytes(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.OutpSet")) - } - panic(fmt.Errorf("message cardchain.cardchain.OutpSet does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_OutpSet) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.OutpSet.set": - x.Set_ = value.Message().Interface().(*Set) - case "cardchain.cardchain.OutpSet.artwork": - x.Artwork = value.Bytes() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.OutpSet")) - } - panic(fmt.Errorf("message cardchain.cardchain.OutpSet does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_OutpSet) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.OutpSet.set": - if x.Set_ == nil { - x.Set_ = new(Set) - } - return protoreflect.ValueOfMessage(x.Set_.ProtoReflect()) - case "cardchain.cardchain.OutpSet.artwork": - panic(fmt.Errorf("field artwork of message cardchain.cardchain.OutpSet is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.OutpSet")) - } - panic(fmt.Errorf("message cardchain.cardchain.OutpSet does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_OutpSet) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.OutpSet.set": - m := new(Set) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "cardchain.cardchain.OutpSet.artwork": - return protoreflect.ValueOfBytes(nil) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.OutpSet")) - } - panic(fmt.Errorf("message cardchain.cardchain.OutpSet does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_OutpSet) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.OutpSet", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_OutpSet) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_OutpSet) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_OutpSet) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_OutpSet) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*OutpSet) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Set_ != nil { - l = options.Size(x.Set_) - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Artwork) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*OutpSet) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Artwork) > 0 { - i -= len(x.Artwork) - copy(dAtA[i:], x.Artwork) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Artwork))) - i-- - dAtA[i] = 0x12 - } - if x.Set_ != nil { - encoded, err := options.Marshal(x.Set_) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*OutpSet) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: OutpSet: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: OutpSet: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Set_", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Set_ == nil { - x.Set_ = &Set{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Set_); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Artwork", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Artwork = append(x.Artwork[:0], dAtA[iNdEx:postIndex]...) - if x.Artwork == nil { - x.Artwork = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - var ( md_AddrWithQuantity protoreflect.MessageDescriptor fd_AddrWithQuantity_addr protoreflect.FieldDescriptor @@ -2410,7 +1909,7 @@ func (x *AddrWithQuantity) ProtoReflect() protoreflect.Message { } func (x *AddrWithQuantity) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_set_proto_msgTypes[3] + mi := &file_cardchain_cardchain_set_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3148,49 +2647,6 @@ func (x *InnerRarities) GetR() []uint64 { return nil } -type OutpSet struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Set_ *Set `protobuf:"bytes,1,opt,name=set,proto3" json:"set,omitempty"` - Artwork []byte `protobuf:"bytes,2,opt,name=artwork,proto3" json:"artwork,omitempty"` -} - -func (x *OutpSet) Reset() { - *x = OutpSet{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_set_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OutpSet) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OutpSet) ProtoMessage() {} - -// Deprecated: Use OutpSet.ProtoReflect.Descriptor instead. -func (*OutpSet) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_set_proto_rawDescGZIP(), []int{2} -} - -func (x *OutpSet) GetSet_() *Set { - if x != nil { - return x.Set_ - } - return nil -} - -func (x *OutpSet) GetArtwork() []byte { - if x != nil { - return x.Artwork - } - return nil -} - type AddrWithQuantity struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3204,7 +2660,7 @@ type AddrWithQuantity struct { func (x *AddrWithQuantity) Reset() { *x = AddrWithQuantity{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_set_proto_msgTypes[3] + mi := &file_cardchain_cardchain_set_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3218,7 +2674,7 @@ func (*AddrWithQuantity) ProtoMessage() {} // Deprecated: Use AddrWithQuantity.ProtoReflect.Descriptor instead. func (*AddrWithQuantity) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_set_proto_rawDescGZIP(), []int{3} + return file_cardchain_cardchain_set_proto_rawDescGZIP(), []int{2} } func (x *AddrWithQuantity) GetAddr() string { @@ -3279,37 +2735,32 @@ var file_cardchain_cardchain_set_proto_rawDesc = []byte{ 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x08, 0x52, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x1d, 0x0a, 0x0d, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x12, 0x0c, 0x0a, 0x01, 0x52, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x01, 0x52, 0x22, 0x4f, - 0x0a, 0x07, 0x4f, 0x75, 0x74, 0x70, 0x53, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x03, 0x73, 0x65, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, - 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, - 0x69, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x72, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x01, 0x71, 0x12, 0x33, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, - 0x6e, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2a, 0x3e, 0x0a, 0x07, 0x43, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x10, - 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x10, 0x01, - 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x10, 0x03, 0x42, 0xd0, 0x01, 0x0a, 0x17, 0x63, - 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x08, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, - 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x0c, 0x0a, 0x01, 0x52, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x01, 0x52, 0x22, 0x69, + 0x0a, 0x10, 0x41, 0x64, 0x64, 0x72, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x01, 0x71, 0x12, 0x33, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2a, 0x3e, 0x0a, 0x07, 0x43, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x10, 0x00, + 0x12, 0x0d, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x10, 0x01, 0x12, + 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x10, 0x03, 0x42, 0xd0, 0x01, 0x0a, 0x17, 0x63, 0x6f, + 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x08, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3325,26 +2776,24 @@ func file_cardchain_cardchain_set_proto_rawDescGZIP() []byte { } var file_cardchain_cardchain_set_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_cardchain_cardchain_set_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_cardchain_cardchain_set_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_cardchain_cardchain_set_proto_goTypes = []interface{}{ (CStatus)(0), // 0: cardchain.cardchain.CStatus (*Set)(nil), // 1: cardchain.cardchain.Set (*InnerRarities)(nil), // 2: cardchain.cardchain.InnerRarities - (*OutpSet)(nil), // 3: cardchain.cardchain.OutpSet - (*AddrWithQuantity)(nil), // 4: cardchain.cardchain.AddrWithQuantity - (*v1beta1.Coin)(nil), // 5: cosmos.base.v1beta1.Coin + (*AddrWithQuantity)(nil), // 3: cardchain.cardchain.AddrWithQuantity + (*v1beta1.Coin)(nil), // 4: cosmos.base.v1beta1.Coin } var file_cardchain_cardchain_set_proto_depIdxs = []int32{ 0, // 0: cardchain.cardchain.Set.status:type_name -> cardchain.cardchain.CStatus - 4, // 1: cardchain.cardchain.Set.contributorsDistribution:type_name -> cardchain.cardchain.AddrWithQuantity + 3, // 1: cardchain.cardchain.Set.contributorsDistribution:type_name -> cardchain.cardchain.AddrWithQuantity 2, // 2: cardchain.cardchain.Set.Rarities:type_name -> cardchain.cardchain.InnerRarities - 1, // 3: cardchain.cardchain.OutpSet.set:type_name -> cardchain.cardchain.Set - 5, // 4: cardchain.cardchain.AddrWithQuantity.payment:type_name -> cosmos.base.v1beta1.Coin - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 4, // 3: cardchain.cardchain.AddrWithQuantity.payment:type_name -> cosmos.base.v1beta1.Coin + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } func init() { file_cardchain_cardchain_set_proto_init() } @@ -3378,18 +2827,6 @@ func file_cardchain_cardchain_set_proto_init() { } } file_cardchain_cardchain_set_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutpSet); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_set_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddrWithQuantity); i { case 0: return &v.state @@ -3408,7 +2845,7 @@ func file_cardchain_cardchain_set_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_set_proto_rawDesc, NumEnums: 1, - NumMessages: 4, + NumMessages: 3, NumExtensions: 0, NumServices: 0, }, diff --git a/api/cardchain/cardchain/set_with_artwork.pulsar.go b/api/cardchain/cardchain/set_with_artwork.pulsar.go new file mode 100644 index 00000000..2de6c3ae --- /dev/null +++ b/api/cardchain/cardchain/set_with_artwork.pulsar.go @@ -0,0 +1,667 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_SetWithArtwork protoreflect.MessageDescriptor + fd_SetWithArtwork_set protoreflect.FieldDescriptor + fd_SetWithArtwork_artwork protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_set_with_artwork_proto_init() + md_SetWithArtwork = File_cardchain_cardchain_set_with_artwork_proto.Messages().ByName("SetWithArtwork") + fd_SetWithArtwork_set = md_SetWithArtwork.Fields().ByName("set") + fd_SetWithArtwork_artwork = md_SetWithArtwork.Fields().ByName("artwork") +} + +var _ protoreflect.Message = (*fastReflection_SetWithArtwork)(nil) + +type fastReflection_SetWithArtwork SetWithArtwork + +func (x *SetWithArtwork) ProtoReflect() protoreflect.Message { + return (*fastReflection_SetWithArtwork)(x) +} + +func (x *SetWithArtwork) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_set_with_artwork_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_SetWithArtwork_messageType fastReflection_SetWithArtwork_messageType +var _ protoreflect.MessageType = fastReflection_SetWithArtwork_messageType{} + +type fastReflection_SetWithArtwork_messageType struct{} + +func (x fastReflection_SetWithArtwork_messageType) Zero() protoreflect.Message { + return (*fastReflection_SetWithArtwork)(nil) +} +func (x fastReflection_SetWithArtwork_messageType) New() protoreflect.Message { + return new(fastReflection_SetWithArtwork) +} +func (x fastReflection_SetWithArtwork_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_SetWithArtwork +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_SetWithArtwork) Descriptor() protoreflect.MessageDescriptor { + return md_SetWithArtwork +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_SetWithArtwork) Type() protoreflect.MessageType { + return _fastReflection_SetWithArtwork_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_SetWithArtwork) New() protoreflect.Message { + return new(fastReflection_SetWithArtwork) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_SetWithArtwork) Interface() protoreflect.ProtoMessage { + return (*SetWithArtwork)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_SetWithArtwork) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Set_ != nil { + value := protoreflect.ValueOfMessage(x.Set_.ProtoReflect()) + if !f(fd_SetWithArtwork_set, value) { + return + } + } + if len(x.Artwork) != 0 { + value := protoreflect.ValueOfBytes(x.Artwork) + if !f(fd_SetWithArtwork_artwork, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_SetWithArtwork) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.SetWithArtwork.set": + return x.Set_ != nil + case "cardchain.cardchain.SetWithArtwork.artwork": + return len(x.Artwork) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SetWithArtwork")) + } + panic(fmt.Errorf("message cardchain.cardchain.SetWithArtwork does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SetWithArtwork) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.SetWithArtwork.set": + x.Set_ = nil + case "cardchain.cardchain.SetWithArtwork.artwork": + x.Artwork = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SetWithArtwork")) + } + panic(fmt.Errorf("message cardchain.cardchain.SetWithArtwork does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_SetWithArtwork) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.SetWithArtwork.set": + value := x.Set_ + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.SetWithArtwork.artwork": + value := x.Artwork + return protoreflect.ValueOfBytes(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SetWithArtwork")) + } + panic(fmt.Errorf("message cardchain.cardchain.SetWithArtwork does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SetWithArtwork) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.SetWithArtwork.set": + x.Set_ = value.Message().Interface().(*Set) + case "cardchain.cardchain.SetWithArtwork.artwork": + x.Artwork = value.Bytes() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SetWithArtwork")) + } + panic(fmt.Errorf("message cardchain.cardchain.SetWithArtwork does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SetWithArtwork) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.SetWithArtwork.set": + if x.Set_ == nil { + x.Set_ = new(Set) + } + return protoreflect.ValueOfMessage(x.Set_.ProtoReflect()) + case "cardchain.cardchain.SetWithArtwork.artwork": + panic(fmt.Errorf("field artwork of message cardchain.cardchain.SetWithArtwork is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SetWithArtwork")) + } + panic(fmt.Errorf("message cardchain.cardchain.SetWithArtwork does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_SetWithArtwork) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.SetWithArtwork.set": + m := new(Set) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.SetWithArtwork.artwork": + return protoreflect.ValueOfBytes(nil) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.SetWithArtwork")) + } + panic(fmt.Errorf("message cardchain.cardchain.SetWithArtwork does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_SetWithArtwork) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.SetWithArtwork", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_SetWithArtwork) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_SetWithArtwork) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_SetWithArtwork) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_SetWithArtwork) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*SetWithArtwork) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Set_ != nil { + l = options.Size(x.Set_) + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Artwork) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*SetWithArtwork) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Artwork) > 0 { + i -= len(x.Artwork) + copy(dAtA[i:], x.Artwork) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Artwork))) + i-- + dAtA[i] = 0x12 + } + if x.Set_ != nil { + encoded, err := options.Marshal(x.Set_) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*SetWithArtwork) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: SetWithArtwork: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: SetWithArtwork: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Set_", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Set_ == nil { + x.Set_ = &Set{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Set_); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Artwork", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Artwork = append(x.Artwork[:0], dAtA[iNdEx:postIndex]...) + if x.Artwork == nil { + x.Artwork = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/set_with_artwork.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type SetWithArtwork struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set_ *Set `protobuf:"bytes,1,opt,name=set,proto3" json:"set,omitempty"` + Artwork []byte `protobuf:"bytes,2,opt,name=artwork,proto3" json:"artwork,omitempty"` +} + +func (x *SetWithArtwork) Reset() { + *x = SetWithArtwork{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_set_with_artwork_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetWithArtwork) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWithArtwork) ProtoMessage() {} + +// Deprecated: Use SetWithArtwork.ProtoReflect.Descriptor instead. +func (*SetWithArtwork) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_set_with_artwork_proto_rawDescGZIP(), []int{0} +} + +func (x *SetWithArtwork) GetSet_() *Set { + if x != nil { + return x.Set_ + } + return nil +} + +func (x *SetWithArtwork) GetArtwork() []byte { + if x != nil { + return x.Artwork + } + return nil +} + +var File_cardchain_cardchain_set_with_artwork_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_set_with_artwork_proto_rawDesc = []byte{ + 0x0a, 0x2a, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x61, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x1a, 0x1d, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x56, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x12, 0x2a, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x07, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0xdb, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x42, 0x13, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, + 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_set_with_artwork_proto_rawDescOnce sync.Once + file_cardchain_cardchain_set_with_artwork_proto_rawDescData = file_cardchain_cardchain_set_with_artwork_proto_rawDesc +) + +func file_cardchain_cardchain_set_with_artwork_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_set_with_artwork_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_set_with_artwork_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_set_with_artwork_proto_rawDescData) + }) + return file_cardchain_cardchain_set_with_artwork_proto_rawDescData +} + +var file_cardchain_cardchain_set_with_artwork_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_set_with_artwork_proto_goTypes = []interface{}{ + (*SetWithArtwork)(nil), // 0: cardchain.cardchain.SetWithArtwork + (*Set)(nil), // 1: cardchain.cardchain.Set +} +var file_cardchain_cardchain_set_with_artwork_proto_depIdxs = []int32{ + 1, // 0: cardchain.cardchain.SetWithArtwork.set:type_name -> cardchain.cardchain.Set + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_set_with_artwork_proto_init() } +func file_cardchain_cardchain_set_with_artwork_proto_init() { + if File_cardchain_cardchain_set_with_artwork_proto != nil { + return + } + file_cardchain_cardchain_set_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_set_with_artwork_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetWithArtwork); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_set_with_artwork_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_set_with_artwork_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_set_with_artwork_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_set_with_artwork_proto_msgTypes, + }.Build() + File_cardchain_cardchain_set_with_artwork_proto = out.File + file_cardchain_cardchain_set_with_artwork_proto_rawDesc = nil + file_cardchain_cardchain_set_with_artwork_proto_goTypes = nil + file_cardchain_cardchain_set_with_artwork_proto_depIdxs = nil +} diff --git a/proto/cardchain/cardchain/set.proto b/proto/cardchain/cardchain/set.proto index 3cd3ea84..e3109eb2 100644 --- a/proto/cardchain/cardchain/set.proto +++ b/proto/cardchain/cardchain/set.proto @@ -21,11 +21,6 @@ message Set { message InnerRarities { repeated uint64 R = 1; } -message OutpSet { - Set set = 1; - bytes artwork = 2; -} - enum CStatus { design = 0; finalized = 1; diff --git a/proto/cardchain/cardchain/set_with_artwork.proto b/proto/cardchain/cardchain/set_with_artwork.proto new file mode 100644 index 00000000..8e5886ff --- /dev/null +++ b/proto/cardchain/cardchain/set_with_artwork.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package cardchain.cardchain; + +import "cardchain/cardchain/set.proto"; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message SetWithArtwork { + Set set = 1; + bytes artwork = 2; +} diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index c3d8340f..d3b01e31 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -222,58 +222,6 @@ func (m *InnerRarities) GetR() []uint64 { return nil } -type OutpSet struct { - Set *Set `protobuf:"bytes,1,opt,name=set,proto3" json:"set,omitempty"` - Artwork []byte `protobuf:"bytes,2,opt,name=artwork,proto3" json:"artwork,omitempty"` -} - -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{2} -} -func (m *OutpSet) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OutpSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OutpSet.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 *OutpSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutpSet.Merge(m, src) -} -func (m *OutpSet) XXX_Size() int { - return m.Size() -} -func (m *OutpSet) XXX_DiscardUnknown() { - xxx_messageInfo_OutpSet.DiscardUnknown(m) -} - -var xxx_messageInfo_OutpSet proto.InternalMessageInfo - -func (m *OutpSet) GetSet() *Set { - if m != nil { - return m.Set - } - return nil -} - -func (m *OutpSet) GetArtwork() []byte { - if m != nil { - return m.Artwork - } - return nil -} - type AddrWithQuantity struct { Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` Q uint32 `protobuf:"varint,2,opt,name=q,proto3" json:"q,omitempty"` @@ -284,7 +232,7 @@ func (m *AddrWithQuantity) Reset() { *m = AddrWithQuantity{} } func (m *AddrWithQuantity) String() string { return proto.CompactTextString(m) } func (*AddrWithQuantity) ProtoMessage() {} func (*AddrWithQuantity) Descriptor() ([]byte, []int) { - return fileDescriptor_4433f04964645edd, []int{3} + return fileDescriptor_4433f04964645edd, []int{2} } func (m *AddrWithQuantity) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -338,48 +286,45 @@ func init() { proto.RegisterEnum("cardchain.cardchain.CStatus", CStatus_name, CStatus_value) proto.RegisterType((*Set)(nil), "cardchain.cardchain.Set") proto.RegisterType((*InnerRarities)(nil), "cardchain.cardchain.InnerRarities") - proto.RegisterType((*OutpSet)(nil), "cardchain.cardchain.OutpSet") proto.RegisterType((*AddrWithQuantity)(nil), "cardchain.cardchain.AddrWithQuantity") } func init() { proto.RegisterFile("cardchain/cardchain/set.proto", fileDescriptor_4433f04964645edd) } var fileDescriptor_4433f04964645edd = []byte{ - // 533 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0xcd, 0x6e, 0x13, 0x31, - 0x10, 0x8e, 0xb3, 0x69, 0x7e, 0x26, 0x09, 0x8a, 0x0c, 0x42, 0x06, 0xb5, 0xab, 0xd5, 0x4a, 0x48, - 0xab, 0x1e, 0x36, 0x6a, 0xca, 0x81, 0x53, 0x25, 0x48, 0x25, 0xd4, 0x53, 0x85, 0x73, 0xa8, 0xc4, - 0xcd, 0xd9, 0x35, 0x8d, 0x45, 0xd7, 0x4e, 0xed, 0x49, 0x20, 0x3c, 0x05, 0x8f, 0xc3, 0x23, 0x70, - 0xec, 0x91, 0x23, 0x4a, 0x5e, 0x04, 0xed, 0x6e, 0xfe, 0x8a, 0xd2, 0xdb, 0x37, 0x33, 0xdf, 0x7c, - 0x63, 0x7b, 0x3e, 0xc3, 0x49, 0x22, 0x6c, 0x9a, 0x4c, 0x84, 0xd2, 0xfd, 0x1d, 0x72, 0x12, 0xe3, - 0xa9, 0x35, 0x68, 0xe8, 0xf3, 0x6d, 0x32, 0xde, 0xa2, 0xd7, 0x7e, 0x62, 0x5c, 0x66, 0x5c, 0x7f, - 0x2c, 0x9c, 0xec, 0xcf, 0xcf, 0xc6, 0x12, 0xc5, 0x59, 0x3f, 0x31, 0x4a, 0x97, 0x4d, 0xe1, 0x2f, - 0x0f, 0xbc, 0x91, 0x44, 0x4a, 0xa1, 0xa6, 0x45, 0x26, 0x19, 0x09, 0x48, 0xd4, 0xe2, 0x05, 0xa6, - 0x2f, 0xe0, 0x28, 0x17, 0x72, 0xac, 0x1a, 0x78, 0x51, 0x8d, 0x97, 0x01, 0x7d, 0x09, 0x75, 0x61, - 0x51, 0x39, 0x64, 0x5e, 0xc1, 0x5d, 0x47, 0x34, 0x80, 0xb6, 0x43, 0x63, 0x17, 0x37, 0x56, 0xa1, - 0xb4, 0xac, 0x56, 0x14, 0xf7, 0x53, 0x34, 0x84, 0x4e, 0x62, 0x34, 0x5a, 0x35, 0x9e, 0xa1, 0xb1, - 0x8e, 0x1d, 0x05, 0x5e, 0xd4, 0xe2, 0x8f, 0x72, 0xf9, 0xcc, 0xa2, 0x85, 0xd5, 0x8b, 0xfe, 0x32, - 0xa0, 0xc7, 0xd0, 0x12, 0x16, 0xbf, 0x19, 0xfb, 0xf5, 0x2a, 0x65, 0x8d, 0x80, 0x44, 0x35, 0xbe, - 0x4b, 0xd0, 0xb7, 0x50, 0x77, 0x28, 0x70, 0xe6, 0x58, 0x33, 0x20, 0xd1, 0xb3, 0xc1, 0x71, 0x7c, - 0xe0, 0x25, 0xe2, 0xe1, 0xa8, 0xe0, 0xf0, 0x35, 0x37, 0xd7, 0x44, 0x95, 0xc9, 0x11, 0x8a, 0x6c, - 0xca, 0x5a, 0x01, 0x89, 0x3c, 0xbe, 0x4b, 0x50, 0x01, 0x6c, 0xff, 0x5c, 0x97, 0xca, 0x95, 0x58, - 0x19, 0xcd, 0x20, 0xf0, 0xa2, 0xf6, 0xe0, 0xcd, 0xc1, 0x29, 0xef, 0xd3, 0xd4, 0xde, 0x28, 0x9c, - 0x7c, 0x9a, 0x09, 0x8d, 0x0a, 0x17, 0xfc, 0x49, 0x19, 0x7a, 0x01, 0x4d, 0x2e, 0xac, 0x42, 0x25, - 0x1d, 0x6b, 0x17, 0x92, 0xe1, 0x41, 0xc9, 0x2b, 0xad, 0xa5, 0xdd, 0x30, 0xf9, 0xb6, 0x27, 0x3c, - 0x81, 0xee, 0xa3, 0x12, 0xed, 0x00, 0xe1, 0x8c, 0x14, 0xbb, 0x22, 0x3c, 0xbc, 0x86, 0xc6, 0xf5, - 0x0c, 0xa7, 0xf9, 0x72, 0x4f, 0xc1, 0x73, 0x12, 0x8b, 0xdd, 0xb6, 0x07, 0xec, 0xe0, 0x90, 0x91, - 0x44, 0x9e, 0x93, 0x28, 0x83, 0xc6, 0xfa, 0x65, 0x59, 0x35, 0x20, 0x51, 0x87, 0x6f, 0xc2, 0x50, - 0x41, 0xef, 0xff, 0xdb, 0xe5, 0xb6, 0x11, 0x69, 0x6a, 0x37, 0xb6, 0xc9, 0x71, 0x7e, 0x8c, 0xfb, - 0xa2, 0xb7, 0xcb, 0xc9, 0x3d, 0x3d, 0x87, 0xc6, 0x54, 0x2c, 0x32, 0xa9, 0x4b, 0xbf, 0xb4, 0x07, - 0xaf, 0xe2, 0xd2, 0x92, 0x71, 0x6e, 0xc9, 0x78, 0x6d, 0xc9, 0x78, 0x68, 0x94, 0xe6, 0x1b, 0xe6, - 0xe9, 0x05, 0x34, 0xd6, 0xeb, 0xa2, 0x00, 0xf5, 0x54, 0x3a, 0x75, 0xab, 0x7b, 0x15, 0xda, 0x85, - 0xd6, 0x17, 0xa5, 0xc5, 0x9d, 0xfa, 0x21, 0xd3, 0x1e, 0xc9, 0x4b, 0x22, 0x41, 0x35, 0x97, 0xbd, - 0x2a, 0xed, 0x40, 0x53, 0xd8, 0x64, 0xa2, 0xe6, 0x32, 0xed, 0x79, 0x1f, 0xf8, 0xef, 0xa5, 0x4f, - 0x1e, 0x96, 0x3e, 0xf9, 0xbb, 0xf4, 0xc9, 0xcf, 0x95, 0x5f, 0x79, 0x58, 0xf9, 0x95, 0x3f, 0x2b, - 0xbf, 0xf2, 0xf9, 0xdd, 0xad, 0xc2, 0xc9, 0x6c, 0x1c, 0x27, 0x26, 0xeb, 0x5f, 0xca, 0x44, 0x6a, - 0xb4, 0xe2, 0x6e, 0x28, 0x6c, 0xfa, 0x51, 0x64, 0x72, 0xef, 0x5b, 0x7d, 0xdf, 0xc3, 0xb8, 0x98, - 0x4a, 0x37, 0xae, 0x17, 0x1f, 0xe6, 0xfc, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x49, 0xb7, 0x11, - 0x92, 0x86, 0x03, 0x00, 0x00, + // 497 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0x4d, 0x6f, 0x13, 0x31, + 0x10, 0x8d, 0xb3, 0x69, 0x3e, 0x26, 0x09, 0x8a, 0x0c, 0x42, 0x06, 0xb5, 0xab, 0x55, 0x24, 0xa4, + 0x15, 0x87, 0x8d, 0x9a, 0x72, 0xe0, 0x54, 0x09, 0x52, 0x09, 0xf5, 0x88, 0x73, 0xa8, 0xc4, 0xcd, + 0x59, 0x9b, 0xc6, 0xa2, 0x6b, 0xa7, 0xf6, 0x24, 0x10, 0x7e, 0x05, 0x3f, 0x87, 0x9f, 0xc0, 0xb1, + 0x47, 0x8e, 0x28, 0xf9, 0x23, 0x68, 0x77, 0xf3, 0x55, 0x14, 0x6e, 0x6f, 0xde, 0xbc, 0xf7, 0x6c, + 0x79, 0xc6, 0x70, 0x96, 0x0a, 0x27, 0xd3, 0xa9, 0xd0, 0x66, 0xb0, 0x47, 0x5e, 0x61, 0x32, 0x73, + 0x16, 0x2d, 0x7d, 0xba, 0x23, 0x93, 0x1d, 0x7a, 0x19, 0xa6, 0xd6, 0x67, 0xd6, 0x0f, 0x26, 0xc2, + 0xab, 0xc1, 0xe2, 0x7c, 0xa2, 0x50, 0x9c, 0x0f, 0x52, 0xab, 0x4d, 0x69, 0xea, 0xff, 0x0c, 0x20, + 0x18, 0x2b, 0xa4, 0x14, 0x6a, 0x46, 0x64, 0x8a, 0x91, 0x88, 0xc4, 0x2d, 0x5e, 0x60, 0xfa, 0x0c, + 0x4e, 0xf2, 0x20, 0xcf, 0xaa, 0x51, 0x10, 0xd7, 0x78, 0x59, 0xd0, 0xe7, 0x50, 0x17, 0x0e, 0xb5, + 0x47, 0x16, 0x14, 0xda, 0x4d, 0x45, 0x23, 0x68, 0x7b, 0xb4, 0x6e, 0x79, 0xe3, 0x34, 0x2a, 0xc7, + 0x6a, 0x45, 0xf3, 0x90, 0xa2, 0x7d, 0xe8, 0xa4, 0xd6, 0xa0, 0xd3, 0x93, 0x39, 0x5a, 0xe7, 0xd9, + 0x49, 0x14, 0xc4, 0x2d, 0xfe, 0x88, 0xcb, 0xcf, 0x2c, 0x2c, 0xac, 0x5e, 0xf8, 0xcb, 0x82, 0x9e, + 0x42, 0x4b, 0x38, 0xfc, 0x6a, 0xdd, 0x97, 0x6b, 0xc9, 0x1a, 0x11, 0x89, 0x6b, 0x7c, 0x4f, 0xd0, + 0x37, 0x50, 0xf7, 0x28, 0x70, 0xee, 0x59, 0x33, 0x22, 0xf1, 0x93, 0xe1, 0x69, 0x72, 0xe4, 0x25, + 0x92, 0xd1, 0xb8, 0xd0, 0xf0, 0x8d, 0x36, 0xcf, 0x44, 0x9d, 0xa9, 0x31, 0x8a, 0x6c, 0xc6, 0x5a, + 0x11, 0x89, 0x03, 0xbe, 0x27, 0xa8, 0x00, 0x76, 0x78, 0xaf, 0x2b, 0xed, 0x4b, 0xac, 0xad, 0x61, + 0x10, 0x05, 0x71, 0x7b, 0xf8, 0xea, 0xe8, 0x29, 0xef, 0xa4, 0x74, 0x37, 0x1a, 0xa7, 0x1f, 0xe7, + 0xc2, 0xa0, 0xc6, 0x25, 0xff, 0x6f, 0x0c, 0xbd, 0x84, 0x26, 0x17, 0x4e, 0xa3, 0x56, 0x9e, 0xb5, + 0x8b, 0xc8, 0xfe, 0xd1, 0xc8, 0x6b, 0x63, 0x94, 0xdb, 0x2a, 0xf9, 0xce, 0xd3, 0x3f, 0x83, 0xee, + 0xa3, 0x16, 0xed, 0x00, 0xe1, 0x8c, 0x14, 0xb3, 0x22, 0xbc, 0xaf, 0xa1, 0xf7, 0xef, 0x65, 0xf2, + 0x29, 0x0b, 0x29, 0xdd, 0x76, 0xca, 0x39, 0xce, 0x5d, 0xf7, 0xac, 0x1a, 0x91, 0xb8, 0xcb, 0xc9, + 0x3d, 0xbd, 0x80, 0xc6, 0x4c, 0x2c, 0x33, 0x65, 0xca, 0xf1, 0xb6, 0x87, 0x2f, 0x92, 0x72, 0x83, + 0x92, 0x7c, 0x83, 0x92, 0xcd, 0x06, 0x25, 0x23, 0xab, 0x0d, 0xdf, 0x2a, 0x5f, 0x5f, 0x42, 0x63, + 0xf3, 0xba, 0x14, 0xa0, 0x2e, 0x95, 0xd7, 0xb7, 0xa6, 0x57, 0xa1, 0x5d, 0x68, 0x7d, 0xd6, 0x46, + 0xdc, 0xe9, 0xef, 0x4a, 0xf6, 0x48, 0xde, 0x12, 0x29, 0xea, 0x85, 0xea, 0x55, 0x69, 0x07, 0x9a, + 0xc2, 0xa5, 0x53, 0xbd, 0x50, 0xb2, 0x17, 0xbc, 0xe7, 0xbf, 0x56, 0x21, 0x79, 0x58, 0x85, 0xe4, + 0xcf, 0x2a, 0x24, 0x3f, 0xd6, 0x61, 0xe5, 0x61, 0x1d, 0x56, 0x7e, 0xaf, 0xc3, 0xca, 0xa7, 0xb7, + 0xb7, 0x1a, 0xa7, 0xf3, 0x49, 0x92, 0xda, 0x6c, 0x70, 0xa5, 0x52, 0x65, 0xd0, 0x89, 0xbb, 0x91, + 0x70, 0xf2, 0x83, 0xc8, 0xd4, 0xc1, 0x2f, 0xf8, 0x76, 0x80, 0x71, 0x39, 0x53, 0x7e, 0x52, 0x2f, + 0xf6, 0xfb, 0xe2, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4c, 0x1a, 0x36, 0x6c, 0x35, 0x03, 0x00, + 0x00, } func (m *Set) Marshal() (dAtA []byte, err error) { @@ -544,48 +489,6 @@ func (m *InnerRarities) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *OutpSet) 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 *OutpSet) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *OutpSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Artwork) > 0 { - i -= len(m.Artwork) - copy(dAtA[i:], m.Artwork) - i = encodeVarintSet(dAtA, i, uint64(len(m.Artwork))) - i-- - dAtA[i] = 0x12 - } - if m.Set != nil { - { - size, err := m.Set.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintSet(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - func (m *AddrWithQuantity) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -719,23 +622,6 @@ func (m *InnerRarities) Size() (n int) { return n } -func (m *OutpSet) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Set != nil { - l = m.Set.Size() - n += 1 + l + sovSet(uint64(l)) - } - l = len(m.Artwork) - if l > 0 { - n += 1 + l + sovSet(uint64(l)) - } - return n -} - func (m *AddrWithQuantity) Size() (n int) { if m == nil { return 0 @@ -1299,126 +1185,6 @@ func (m *InnerRarities) Unmarshal(dAtA []byte) error { } return nil } -func (m *OutpSet) 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 ErrIntOverflowSet - } - 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: OutpSet: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: OutpSet: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Set", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthSet - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Set == nil { - m.Set = &Set{} - } - if err := m.Set.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Artwork", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowSet - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthSet - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthSet - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Artwork = append(m.Artwork[:0], dAtA[iNdEx:postIndex]...) - if m.Artwork == nil { - m.Artwork = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipSet(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthSet - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *AddrWithQuantity) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/set_with_artwork.pb.go b/x/cardchain/types/set_with_artwork.pb.go new file mode 100644 index 00000000..04e0c25e --- /dev/null +++ b/x/cardchain/types/set_with_artwork.pb.go @@ -0,0 +1,381 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/set_with_artwork.proto + +package types + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/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 SetWithArtwork struct { + Set *Set `protobuf:"bytes,1,opt,name=set,proto3" json:"set,omitempty"` + Artwork []byte `protobuf:"bytes,2,opt,name=artwork,proto3" json:"artwork,omitempty"` +} + +func (m *SetWithArtwork) Reset() { *m = SetWithArtwork{} } +func (m *SetWithArtwork) String() string { return proto.CompactTextString(m) } +func (*SetWithArtwork) ProtoMessage() {} +func (*SetWithArtwork) Descriptor() ([]byte, []int) { + return fileDescriptor_e1aba62f65953858, []int{0} +} +func (m *SetWithArtwork) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *SetWithArtwork) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_SetWithArtwork.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 *SetWithArtwork) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetWithArtwork.Merge(m, src) +} +func (m *SetWithArtwork) XXX_Size() int { + return m.Size() +} +func (m *SetWithArtwork) XXX_DiscardUnknown() { + xxx_messageInfo_SetWithArtwork.DiscardUnknown(m) +} + +var xxx_messageInfo_SetWithArtwork proto.InternalMessageInfo + +func (m *SetWithArtwork) GetSet() *Set { + if m != nil { + return m.Set + } + return nil +} + +func (m *SetWithArtwork) GetArtwork() []byte { + if m != nil { + return m.Artwork + } + return nil +} + +func init() { + proto.RegisterType((*SetWithArtwork)(nil), "cardchain.cardchain.SetWithArtwork") +} + +func init() { + proto.RegisterFile("cardchain/cardchain/set_with_artwork.proto", fileDescriptor_e1aba62f65953858) +} + +var fileDescriptor_e1aba62f65953858 = []byte{ + // 200 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4a, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x8a, 0x53, 0x4b, 0xe2, 0xcb, 0x33, 0x4b, 0x32, + 0xe2, 0x13, 0x8b, 0x4a, 0xca, 0xf3, 0x8b, 0xb2, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, + 0xe1, 0x2a, 0xf4, 0xe0, 0x2c, 0x29, 0x59, 0x1c, 0x06, 0x40, 0xf4, 0x28, 0x85, 0x71, 0xf1, 0x05, + 0xa7, 0x96, 0x84, 0x67, 0x96, 0x64, 0x38, 0x42, 0xcc, 0x12, 0xd2, 0xe2, 0x62, 0x2e, 0x4e, 0x2d, + 0x91, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x36, 0x92, 0xd0, 0xc3, 0x62, 0xa6, 0x5e, 0x70, 0x6a, 0x49, + 0x10, 0x48, 0x91, 0x90, 0x04, 0x17, 0x3b, 0xd4, 0x09, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0x3c, 0x41, + 0x30, 0xae, 0x53, 0xd0, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, + 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x59, 0xa4, + 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xbb, 0xa4, 0x26, 0xa7, 0xe6, 0x95, + 0x14, 0x25, 0xe6, 0x38, 0x27, 0x16, 0xa5, 0xb8, 0x27, 0xe6, 0xa6, 0x22, 0xb9, 0xb1, 0x02, 0x89, + 0x5d, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, 0x06, 0x76, 0xb2, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, + 0x04, 0xf7, 0x03, 0x96, 0x14, 0x01, 0x00, 0x00, +} + +func (m *SetWithArtwork) 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 *SetWithArtwork) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *SetWithArtwork) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Artwork) > 0 { + i -= len(m.Artwork) + copy(dAtA[i:], m.Artwork) + i = encodeVarintSetWithArtwork(dAtA, i, uint64(len(m.Artwork))) + i-- + dAtA[i] = 0x12 + } + if m.Set != nil { + { + size, err := m.Set.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintSetWithArtwork(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintSetWithArtwork(dAtA []byte, offset int, v uint64) int { + offset -= sovSetWithArtwork(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *SetWithArtwork) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Set != nil { + l = m.Set.Size() + n += 1 + l + sovSetWithArtwork(uint64(l)) + } + l = len(m.Artwork) + if l > 0 { + n += 1 + l + sovSetWithArtwork(uint64(l)) + } + return n +} + +func sovSetWithArtwork(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozSetWithArtwork(x uint64) (n int) { + return sovSetWithArtwork(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *SetWithArtwork) 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 ErrIntOverflowSetWithArtwork + } + 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: SetWithArtwork: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SetWithArtwork: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Set", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSetWithArtwork + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSetWithArtwork + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSetWithArtwork + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Set == nil { + m.Set = &Set{} + } + if err := m.Set.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Artwork", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSetWithArtwork + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthSetWithArtwork + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthSetWithArtwork + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Artwork = append(m.Artwork[:0], dAtA[iNdEx:postIndex]...) + if m.Artwork == nil { + m.Artwork = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSetWithArtwork(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthSetWithArtwork + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipSetWithArtwork(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, ErrIntOverflowSetWithArtwork + } + 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, ErrIntOverflowSetWithArtwork + } + 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, ErrIntOverflowSetWithArtwork + } + 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, ErrInvalidLengthSetWithArtwork + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupSetWithArtwork + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthSetWithArtwork + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthSetWithArtwork = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowSetWithArtwork = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupSetWithArtwork = fmt.Errorf("proto: unexpected end of group") +) From 9f18b8ab28bd2f45860fa61b4ded57fb7799c37d Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 12:43:50 +0100 Subject: [PATCH 42/99] feat(#242): Added set and match query proto --- api/cardchain/cardchain/card.pulsar.go | 9 +- .../cardchain/card_with_image.pulsar.go | 7 +- api/cardchain/cardchain/council.pulsar.go | 9 +- api/cardchain/cardchain/encounter.pulsar.go | 9 +- api/cardchain/cardchain/genesis.pulsar.go | 9 +- api/cardchain/cardchain/image.pulsar.go | 7 +- api/cardchain/cardchain/match.pulsar.go | 7 +- .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- .../cardchain/product_details.pulsar.go | 7 +- api/cardchain/cardchain/query.pulsar.go | 2600 +++++++++++++++-- api/cardchain/cardchain/query_grpc.pb.go | 79 + .../cardchain/running_average.pulsar.go | 7 +- api/cardchain/cardchain/sell_offer.pulsar.go | 9 +- api/cardchain/cardchain/server.pulsar.go | 7 +- api/cardchain/cardchain/set.pulsar.go | 143 +- .../cardchain/set_with_artwork.pulsar.go | 7 +- api/cardchain/cardchain/tx.pulsar.go | 11 +- api/cardchain/cardchain/tx_grpc.pb.go | 1 + api/cardchain/cardchain/user.pulsar.go | 7 +- api/cardchain/cardchain/voting.pulsar.go | 7 +- api/cardchain/cardchain/zealy.pulsar.go | 7 +- api/cardchain/featureflag/flag.pulsar.go | 7 +- api/cardchain/featureflag/genesis.pulsar.go | 11 +- .../featureflag/module/module.pulsar.go | 9 +- api/cardchain/featureflag/params.pulsar.go | 9 +- api/cardchain/featureflag/query.pulsar.go | 9 +- api/cardchain/featureflag/query_grpc.pb.go | 1 + api/cardchain/featureflag/tx.pulsar.go | 9 +- api/cardchain/featureflag/tx_grpc.pb.go | 1 + docs/static/openapi.yml | 2 +- gen_queries.sh | 7 +- proto/cardchain/cardchain/query.proto | 142 +- proto/cardchain/cardchain/set.proto | 4 +- .../keeper/msg_server_booster_pack_buy.go | 2 +- .../keeper/msg_server_set_artwork_add.go | 2 +- x/cardchain/keeper/msg_server_set_card_add.go | 4 +- .../keeper/msg_server_set_card_remove.go | 2 +- x/cardchain/keeper/msg_server_set_create.go | 2 +- x/cardchain/keeper/msg_server_set_finalize.go | 2 +- .../keeper/msg_server_set_story_add.go | 2 +- x/cardchain/keeper/query_match.go | 23 + x/cardchain/keeper/query_set.go | 23 + x/cardchain/keeper/set.go | 4 +- x/cardchain/module/autocli.go | 14 + x/cardchain/types/card.pb.go | 7 +- x/cardchain/types/card_with_image.pb.go | 5 +- x/cardchain/types/council.pb.go | 7 +- x/cardchain/types/encounter.pb.go | 5 +- x/cardchain/types/genesis.pb.go | 7 +- x/cardchain/types/image.pb.go | 3 +- x/cardchain/types/match.pb.go | 3 +- x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/product_details.pb.go | 3 +- x/cardchain/types/query.pb.go | 1007 ++++++- x/cardchain/types/query.pb.gw.go | 202 ++ x/cardchain/types/running_average.pb.go | 3 +- x/cardchain/types/sell_offer.pb.go | 7 +- x/cardchain/types/server.pb.go | 3 +- x/cardchain/types/set.pb.go | 99 +- x/cardchain/types/set_with_artwork.pb.go | 3 +- x/cardchain/types/tx.pb.go | 7 +- x/cardchain/types/user.pb.go | 3 +- x/cardchain/types/voting.pb.go | 3 +- x/cardchain/types/zealy.pb.go | 3 +- x/featureflag/types/flag.pb.go | 3 +- x/featureflag/types/genesis.pb.go | 7 +- x/featureflag/types/params.pb.go | 7 +- x/featureflag/types/query.pb.go | 7 +- x/featureflag/types/tx.pb.go | 7 +- 70 files changed, 3925 insertions(+), 751 deletions(-) create mode 100644 x/cardchain/keeper/query_match.go create mode 100644 x/cardchain/keeper/query_set.go diff --git a/api/cardchain/cardchain/card.pulsar.go b/api/cardchain/cardchain/card.pulsar.go index 32747a36..a986b06e 100644 --- a/api/cardchain/cardchain/card.pulsar.go +++ b/api/cardchain/cardchain/card.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Card_14_list)(nil) diff --git a/api/cardchain/cardchain/card_with_image.pulsar.go b/api/cardchain/cardchain/card_with_image.pulsar.go index c161546e..d8c51a08 100644 --- a/api/cardchain/cardchain/card_with_image.pulsar.go +++ b/api/cardchain/cardchain/card_with_image.pulsar.go @@ -3,14 +3,15 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/council.pulsar.go b/api/cardchain/cardchain/council.pulsar.go index ad8e4373..1afba505 100644 --- a/api/cardchain/cardchain/council.pulsar.go +++ b/api/cardchain/cardchain/council.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Council_2_list)(nil) diff --git a/api/cardchain/cardchain/encounter.pulsar.go b/api/cardchain/cardchain/encounter.pulsar.go index f8002c77..7dc474db 100644 --- a/api/cardchain/cardchain/encounter.pulsar.go +++ b/api/cardchain/cardchain/encounter.pulsar.go @@ -3,15 +3,16 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var _ protoreflect.List = (*_Encounter_2_list)(nil) diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index c48c933d..4d3bf7a0 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_GenesisState_2_list)(nil) diff --git a/api/cardchain/cardchain/image.pulsar.go b/api/cardchain/cardchain/image.pulsar.go index 627dece1..db59a9e8 100644 --- a/api/cardchain/cardchain/image.pulsar.go +++ b/api/cardchain/cardchain/image.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go index 191ba7fd..b2e29884 100644 --- a/api/cardchain/cardchain/match.pulsar.go +++ b/api/cardchain/cardchain/match.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index 2b190f83..dead9881 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,15 +2,16 @@ package module import ( - _ "cosmossdk.io/api/cosmos/app/v1alpha1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/cosmos/app/v1alpha1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index 11ddc437..ed6b2b87 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,17 +2,18 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/product_details.pulsar.go b/api/cardchain/cardchain/product_details.pulsar.go index 4217d854..f50578bd 100644 --- a/api/cardchain/cardchain/product_details.pulsar.go +++ b/api/cardchain/cardchain/product_details.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 3e79a176..41680fe9 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,18 +2,19 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( @@ -6418,183 +6419,1893 @@ func (x *fastReflection_QueryCardsResponse) ProtoMethods() *protoiface.Methods { } } -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: cardchain/cardchain/query.proto - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +var ( + md_QueryMatchRequest protoreflect.MessageDescriptor + fd_QueryMatchRequest_matchId protoreflect.FieldDescriptor ) -// QueryParamsRequest is request type for the Query/Params RPC method. -type QueryParamsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *QueryParamsRequest) Reset() { - *x = QueryParamsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryParamsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryMatchRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryMatchRequest") + fd_QueryMatchRequest_matchId = md_QueryMatchRequest.Fields().ByName("matchId") } -func (*QueryParamsRequest) ProtoMessage() {} - -// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. -func (*QueryParamsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{0} -} +var _ protoreflect.Message = (*fastReflection_QueryMatchRequest)(nil) -// QueryParamsResponse is response type for the Query/Params RPC method. -type QueryParamsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type fastReflection_QueryMatchRequest QueryMatchRequest - // params holds all the parameters of this module. - Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +func (x *QueryMatchRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryMatchRequest)(x) } -func (x *QueryParamsResponse) Reset() { - *x = QueryParamsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[1] +func (x *QueryMatchRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } + return mi.MessageOf(x) } -func (x *QueryParamsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} +var _fastReflection_QueryMatchRequest_messageType fastReflection_QueryMatchRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryMatchRequest_messageType{} -func (*QueryParamsResponse) ProtoMessage() {} +type fastReflection_QueryMatchRequest_messageType struct{} -// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. -func (*QueryParamsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{1} +func (x fastReflection_QueryMatchRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryMatchRequest)(nil) } - -func (x *QueryParamsResponse) GetParams() *Params { - if x != nil { - return x.Params - } - return nil +func (x fastReflection_QueryMatchRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryMatchRequest) } - -type QueryGetProductDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +func (x fastReflection_QueryMatchRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryMatchRequest } -func (x *QueryGetProductDetailsRequest) Reset() { - *x = QueryGetProductDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryMatchRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryMatchRequest } -func (x *QueryGetProductDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryMatchRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryMatchRequest_messageType } -func (*QueryGetProductDetailsRequest) ProtoMessage() {} +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryMatchRequest) New() protoreflect.Message { + return new(fastReflection_QueryMatchRequest) +} -// Deprecated: Use QueryGetProductDetailsRequest.ProtoReflect.Descriptor instead. -func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryMatchRequest) Interface() protoreflect.ProtoMessage { + return (*QueryMatchRequest)(x) } -func (x *QueryGetProductDetailsRequest) GetId() uint64 { - if x != nil { - return x.Id +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryMatchRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.MatchId != "" { + value := protoreflect.ValueOfString(x.MatchId) + if !f(fd_QueryMatchRequest_matchId, value) { + return + } } - return 0 } -type QueryGetProductDetailsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProductDetails *ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryMatchRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchRequest.matchId": + return x.MatchId != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchRequest does not contain field %s", fd.FullName())) + } } -func (x *QueryGetProductDetailsResponse) Reset() { - *x = QueryGetProductDetailsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchRequest.matchId": + x.MatchId = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchRequest does not contain field %s", fd.FullName())) } } -func (x *QueryGetProductDetailsResponse) String() string { - return protoimpl.X.MessageStringOf(x) +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryMatchRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryMatchRequest.matchId": + value := x.MatchId + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchRequest does not contain field %s", descriptor.FullName())) + } } -func (*QueryGetProductDetailsResponse) ProtoMessage() {} - -// Deprecated: Use QueryGetProductDetailsResponse.ProtoReflect.Descriptor instead. -func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchRequest.matchId": + x.MatchId = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchRequest does not contain field %s", fd.FullName())) + } } -func (x *QueryGetProductDetailsResponse) GetProductDetails() *ProductDetails { - if x != nil { - return x.ProductDetails +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchRequest.matchId": + panic(fmt.Errorf("field matchId of message cardchain.cardchain.QueryMatchRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchRequest does not contain field %s", fd.FullName())) } - return nil } -type QueryAllProductDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryMatchRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchRequest.matchId": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchRequest does not contain field %s", fd.FullName())) + } } -func (x *QueryAllProductDetailsRequest) Reset() { - *x = QueryAllProductDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryMatchRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryMatchRequest", d.FullName())) } + panic("unreachable") } -func (x *QueryAllProductDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryMatchRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields } -func (*QueryAllProductDetailsRequest) ProtoMessage() {} - -// Deprecated: Use QueryAllProductDetailsRequest.ProtoReflect.Descriptor instead. -func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields } -func (x *QueryAllProductDetailsRequest) GetPagination() *v1beta1.PageRequest { - if x != nil { +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryMatchRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryMatchRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryMatchRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.MatchId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryMatchRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.MatchId) > 0 { + i -= len(x.MatchId) + copy(dAtA[i:], x.MatchId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.MatchId))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryMatchRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryMatchRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryMatchRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MatchId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.MatchId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryMatchResponse protoreflect.MessageDescriptor + fd_QueryMatchResponse_match protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryMatchResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryMatchResponse") + fd_QueryMatchResponse_match = md_QueryMatchResponse.Fields().ByName("match") +} + +var _ protoreflect.Message = (*fastReflection_QueryMatchResponse)(nil) + +type fastReflection_QueryMatchResponse QueryMatchResponse + +func (x *QueryMatchResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryMatchResponse)(x) +} + +func (x *QueryMatchResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryMatchResponse_messageType fastReflection_QueryMatchResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryMatchResponse_messageType{} + +type fastReflection_QueryMatchResponse_messageType struct{} + +func (x fastReflection_QueryMatchResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryMatchResponse)(nil) +} +func (x fastReflection_QueryMatchResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryMatchResponse) +} +func (x fastReflection_QueryMatchResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryMatchResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryMatchResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryMatchResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryMatchResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryMatchResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryMatchResponse) New() protoreflect.Message { + return new(fastReflection_QueryMatchResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryMatchResponse) Interface() protoreflect.ProtoMessage { + return (*QueryMatchResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryMatchResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Match != nil { + value := protoreflect.ValueOfMessage(x.Match.ProtoReflect()) + if !f(fd_QueryMatchResponse_match, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryMatchResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchResponse.match": + return x.Match != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchResponse.match": + x.Match = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryMatchResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryMatchResponse.match": + value := x.Match + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchResponse.match": + x.Match = value.Message().Interface().(*Match) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchResponse.match": + if x.Match == nil { + x.Match = new(Match) + } + return protoreflect.ValueOfMessage(x.Match.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryMatchResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchResponse.match": + m := new(Match) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryMatchResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryMatchResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryMatchResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryMatchResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryMatchResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryMatchResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Match != nil { + l = options.Size(x.Match) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryMatchResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Match != nil { + encoded, err := options.Marshal(x.Match) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryMatchResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryMatchResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryMatchResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Match", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Match == nil { + x.Match = &Match{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Match); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QuerySetRequest protoreflect.MessageDescriptor + fd_QuerySetRequest_setId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QuerySetRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySetRequest") + fd_QuerySetRequest_setId = md_QuerySetRequest.Fields().ByName("setId") +} + +var _ protoreflect.Message = (*fastReflection_QuerySetRequest)(nil) + +type fastReflection_QuerySetRequest QuerySetRequest + +func (x *QuerySetRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QuerySetRequest)(x) +} + +func (x *QuerySetRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QuerySetRequest_messageType fastReflection_QuerySetRequest_messageType +var _ protoreflect.MessageType = fastReflection_QuerySetRequest_messageType{} + +type fastReflection_QuerySetRequest_messageType struct{} + +func (x fastReflection_QuerySetRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QuerySetRequest)(nil) +} +func (x fastReflection_QuerySetRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QuerySetRequest) +} +func (x fastReflection_QuerySetRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySetRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QuerySetRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySetRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QuerySetRequest) Type() protoreflect.MessageType { + return _fastReflection_QuerySetRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QuerySetRequest) New() protoreflect.Message { + return new(fastReflection_QuerySetRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QuerySetRequest) Interface() protoreflect.ProtoMessage { + return (*QuerySetRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QuerySetRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.SetId != "" { + value := protoreflect.ValueOfString(x.SetId) + if !f(fd_QuerySetRequest_setId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QuerySetRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRequest.setId": + return x.SetId != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRequest.setId": + x.SetId = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QuerySetRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QuerySetRequest.setId": + value := x.SetId + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRequest.setId": + x.SetId = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRequest.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.QuerySetRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QuerySetRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRequest.setId": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QuerySetRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QuerySetRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QuerySetRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QuerySetRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QuerySetRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QuerySetRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.SetId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QuerySetRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.SetId) > 0 { + i -= len(x.SetId) + copy(dAtA[i:], x.SetId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SetId))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QuerySetRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySetRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySetRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.SetId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QuerySetResponse protoreflect.MessageDescriptor + fd_QuerySetResponse_match protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QuerySetResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySetResponse") + fd_QuerySetResponse_match = md_QuerySetResponse.Fields().ByName("match") +} + +var _ protoreflect.Message = (*fastReflection_QuerySetResponse)(nil) + +type fastReflection_QuerySetResponse QuerySetResponse + +func (x *QuerySetResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QuerySetResponse)(x) +} + +func (x *QuerySetResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QuerySetResponse_messageType fastReflection_QuerySetResponse_messageType +var _ protoreflect.MessageType = fastReflection_QuerySetResponse_messageType{} + +type fastReflection_QuerySetResponse_messageType struct{} + +func (x fastReflection_QuerySetResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QuerySetResponse)(nil) +} +func (x fastReflection_QuerySetResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QuerySetResponse) +} +func (x fastReflection_QuerySetResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySetResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QuerySetResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySetResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QuerySetResponse) Type() protoreflect.MessageType { + return _fastReflection_QuerySetResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QuerySetResponse) New() protoreflect.Message { + return new(fastReflection_QuerySetResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QuerySetResponse) Interface() protoreflect.ProtoMessage { + return (*QuerySetResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QuerySetResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Match != nil { + value := protoreflect.ValueOfMessage(x.Match.ProtoReflect()) + if !f(fd_QuerySetResponse_match, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QuerySetResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetResponse.match": + return x.Match != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetResponse.match": + x.Match = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QuerySetResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QuerySetResponse.match": + value := x.Match + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetResponse.match": + x.Match = value.Message().Interface().(*SetWithArtwork) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetResponse.match": + if x.Match == nil { + x.Match = new(SetWithArtwork) + } + return protoreflect.ValueOfMessage(x.Match.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QuerySetResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetResponse.match": + m := new(SetWithArtwork) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QuerySetResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QuerySetResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QuerySetResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QuerySetResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QuerySetResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QuerySetResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Match != nil { + l = options.Size(x.Match) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QuerySetResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Match != nil { + encoded, err := options.Marshal(x.Match) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QuerySetResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Match", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Match == nil { + x.Match = &SetWithArtwork{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Match); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/query.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// QueryParamsRequest is request type for the Query/Params RPC method. +type QueryParamsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryParamsRequest) Reset() { + *x = QueryParamsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsRequest) ProtoMessage() {} + +// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. +func (*QueryParamsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{0} +} + +// QueryParamsResponse is response type for the Query/Params RPC method. +type QueryParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // params holds all the parameters of this module. + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *QueryParamsResponse) Reset() { + *x = QueryParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsResponse) ProtoMessage() {} + +// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. +func (*QueryParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{1} +} + +func (x *QueryParamsResponse) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +type QueryGetProductDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *QueryGetProductDetailsRequest) Reset() { + *x = QueryGetProductDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetProductDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetProductDetailsRequest) ProtoMessage() {} + +// Deprecated: Use QueryGetProductDetailsRequest.ProtoReflect.Descriptor instead. +func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} +} + +func (x *QueryGetProductDetailsRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type QueryGetProductDetailsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProductDetails *ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` +} + +func (x *QueryGetProductDetailsResponse) Reset() { + *x = QueryGetProductDetailsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetProductDetailsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetProductDetailsResponse) ProtoMessage() {} + +// Deprecated: Use QueryGetProductDetailsResponse.ProtoReflect.Descriptor instead. +func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} +} + +func (x *QueryGetProductDetailsResponse) GetProductDetails() *ProductDetails { + if x != nil { + return x.ProductDetails + } + return nil +} + +type QueryAllProductDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryAllProductDetailsRequest) Reset() { + *x = QueryAllProductDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryAllProductDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryAllProductDetailsRequest) ProtoMessage() {} + +// Deprecated: Use QueryAllProductDetailsRequest.ProtoReflect.Descriptor instead. +func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} +} + +func (x *QueryAllProductDetailsRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { return x.Pagination } return nil @@ -6941,6 +8652,146 @@ func (x *QueryCardsResponse) GetCardIds() []uint64 { return nil } +type QueryMatchRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MatchId string `protobuf:"bytes,1,opt,name=matchId,proto3" json:"matchId,omitempty"` +} + +func (x *QueryMatchRequest) Reset() { + *x = QueryMatchRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryMatchRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryMatchRequest) ProtoMessage() {} + +// Deprecated: Use QueryMatchRequest.ProtoReflect.Descriptor instead. +func (*QueryMatchRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{12} +} + +func (x *QueryMatchRequest) GetMatchId() string { + if x != nil { + return x.MatchId + } + return "" +} + +type QueryMatchResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Match *Match `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` +} + +func (x *QueryMatchResponse) Reset() { + *x = QueryMatchResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryMatchResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryMatchResponse) ProtoMessage() {} + +// Deprecated: Use QueryMatchResponse.ProtoReflect.Descriptor instead. +func (*QueryMatchResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{13} +} + +func (x *QueryMatchResponse) GetMatch() *Match { + if x != nil { + return x.Match + } + return nil +} + +type QuerySetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SetId string `protobuf:"bytes,1,opt,name=setId,proto3" json:"setId,omitempty"` +} + +func (x *QuerySetRequest) Reset() { + *x = QuerySetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QuerySetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QuerySetRequest) ProtoMessage() {} + +// Deprecated: Use QuerySetRequest.ProtoReflect.Descriptor instead. +func (*QuerySetRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{14} +} + +func (x *QuerySetRequest) GetSetId() string { + if x != nil { + return x.SetId + } + return "" +} + +type QuerySetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Match *SetWithArtwork `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` +} + +func (x *QuerySetResponse) Reset() { + *x = QuerySetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QuerySetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QuerySetResponse) ProtoMessage() {} + +// Deprecated: Use QuerySetResponse.ProtoReflect.Descriptor instead. +func (*QuerySetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{15} +} + +func (x *QuerySetResponse) GetMatch() *SetWithArtwork { + if x != nil { + return x.Match + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -6966,170 +8817,209 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, - 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, - 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, - 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, - 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, - 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, - 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, - 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, - 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, + 0x6f, 0x1a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, + 0x5f, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, + 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x04, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, - 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, - 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, - 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, - 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, - 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, - 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, - 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, - 0x63, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, - 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, - 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x32, 0xe2, 0x07, 0x0a, 0x05, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, + 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, + 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, + 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, + 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, + 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, + 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, + 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, + 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, + 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, + 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, + 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, + 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, + 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, + 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, + 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, + 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, + 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, + 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, + 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, + 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x32, 0x8e, 0x0a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, + 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, - 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, - 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, - 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, - 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, - 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x42, - 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, - 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, + 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -7144,7 +9034,7 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse @@ -7158,46 +9048,58 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryUserResponse)(nil), // 9: cardchain.cardchain.QueryUserResponse (*QueryCardsRequest)(nil), // 10: cardchain.cardchain.QueryCardsRequest (*QueryCardsResponse)(nil), // 11: cardchain.cardchain.QueryCardsResponse - (*Params)(nil), // 12: cardchain.cardchain.Params - (*ProductDetails)(nil), // 13: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 14: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 15: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 16: cardchain.cardchain.CardWithImage - (*User)(nil), // 17: cardchain.cardchain.User - (CardStatus)(0), // 18: cardchain.cardchain.CardStatus - (CardType)(0), // 19: cardchain.cardchain.CardType - (CardClass)(0), // 20: cardchain.cardchain.CardClass - (CardRarity)(0), // 21: cardchain.cardchain.CardRarity + (*QueryMatchRequest)(nil), // 12: cardchain.cardchain.QueryMatchRequest + (*QueryMatchResponse)(nil), // 13: cardchain.cardchain.QueryMatchResponse + (*QuerySetRequest)(nil), // 14: cardchain.cardchain.QuerySetRequest + (*QuerySetResponse)(nil), // 15: cardchain.cardchain.QuerySetResponse + (*Params)(nil), // 16: cardchain.cardchain.Params + (*ProductDetails)(nil), // 17: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 18: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 19: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 20: cardchain.cardchain.CardWithImage + (*User)(nil), // 21: cardchain.cardchain.User + (CardStatus)(0), // 22: cardchain.cardchain.CardStatus + (CardType)(0), // 23: cardchain.cardchain.CardType + (CardClass)(0), // 24: cardchain.cardchain.CardClass + (CardRarity)(0), // 25: cardchain.cardchain.CardRarity + (*Match)(nil), // 26: cardchain.cardchain.Match + (*SetWithArtwork)(nil), // 27: cardchain.cardchain.SetWithArtwork } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 12, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 13, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 14, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 13, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 15, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 16, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 17, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 18, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus - 19, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType - 20, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass - 21, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity - 0, // 11: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 12: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 13: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 14: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 15: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 16: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 1, // 17: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 18: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 19: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 20: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 21: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 22: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 17, // [17:23] is the sub-list for method output_type - 11, // [11:17] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 16, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 17, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 18, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 17, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 19, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 20, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 21, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 22, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 23, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 24, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 25, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 26, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match + 27, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork + 0, // 13: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 14: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 15: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 16: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 17: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 10, // 18: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 12, // 19: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest + 14, // 20: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest + 1, // 21: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 22: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 23: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 24: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 25: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 26: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 13, // 27: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse + 15, // 28: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse + 21, // [21:29] is the sub-list for method output_type + 13, // [13:21] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -7210,6 +9112,8 @@ func file_cardchain_cardchain_query_proto_init() { file_cardchain_cardchain_card_with_image_proto_init() file_cardchain_cardchain_user_proto_init() file_cardchain_cardchain_card_proto_init() + file_cardchain_cardchain_match_proto_init() + file_cardchain_cardchain_set_with_artwork_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsRequest); i { @@ -7355,6 +9259,54 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryMatchRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryMatchResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuerySetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuerySetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -7362,7 +9314,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 12, + NumMessages: 16, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 32e78a8f..7580e9e9 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,6 +8,7 @@ package cardchain import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -25,6 +26,8 @@ const ( Query_Card_FullMethodName = "/cardchain.cardchain.Query/Card" Query_User_FullMethodName = "/cardchain.cardchain.Query/User" Query_Cards_FullMethodName = "/cardchain.cardchain.Query/Cards" + Query_Match_FullMethodName = "/cardchain.cardchain.Query/Match" + Query_Set_FullMethodName = "/cardchain.cardchain.Query/Set" ) // QueryClient is the client API for Query service. @@ -42,6 +45,10 @@ type QueryClient interface { User(ctx context.Context, in *QueryUserRequest, opts ...grpc.CallOption) (*QueryUserResponse, error) // Queries a list of Cards items. Cards(ctx context.Context, in *QueryCardsRequest, opts ...grpc.CallOption) (*QueryCardsResponse, error) + // Queries a list of Match items. + Match(ctx context.Context, in *QueryMatchRequest, opts ...grpc.CallOption) (*QueryMatchResponse, error) + // Queries a list of Set items. + Set(ctx context.Context, in *QuerySetRequest, opts ...grpc.CallOption) (*QuerySetResponse, error) } type queryClient struct { @@ -106,6 +113,24 @@ func (c *queryClient) Cards(ctx context.Context, in *QueryCardsRequest, opts ... return out, nil } +func (c *queryClient) Match(ctx context.Context, in *QueryMatchRequest, opts ...grpc.CallOption) (*QueryMatchResponse, error) { + out := new(QueryMatchResponse) + err := c.cc.Invoke(ctx, Query_Match_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) Set(ctx context.Context, in *QuerySetRequest, opts ...grpc.CallOption) (*QuerySetResponse, error) { + out := new(QuerySetResponse) + err := c.cc.Invoke(ctx, Query_Set_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -121,6 +146,10 @@ type QueryServer interface { User(context.Context, *QueryUserRequest) (*QueryUserResponse, error) // Queries a list of Cards items. Cards(context.Context, *QueryCardsRequest) (*QueryCardsResponse, error) + // Queries a list of Match items. + Match(context.Context, *QueryMatchRequest) (*QueryMatchResponse, error) + // Queries a list of Set items. + Set(context.Context, *QuerySetRequest) (*QuerySetResponse, error) mustEmbedUnimplementedQueryServer() } @@ -146,6 +175,12 @@ func (UnimplementedQueryServer) User(context.Context, *QueryUserRequest) (*Query func (UnimplementedQueryServer) Cards(context.Context, *QueryCardsRequest) (*QueryCardsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Cards not implemented") } +func (UnimplementedQueryServer) Match(context.Context, *QueryMatchRequest) (*QueryMatchResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Match not implemented") +} +func (UnimplementedQueryServer) Set(context.Context, *QuerySetRequest) (*QuerySetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Set not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -267,6 +302,42 @@ func _Query_Cards_Handler(srv interface{}, ctx context.Context, dec func(interfa return interceptor(ctx, in, info, handler) } +func _Query_Match_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryMatchRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Match(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Match_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Match(ctx, req.(*QueryMatchRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_Set_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QuerySetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Set(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Set_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Set(ctx, req.(*QuerySetRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -298,6 +369,14 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Cards", Handler: _Query_Cards_Handler, }, + { + MethodName: "Match", + Handler: _Query_Match_Handler, + }, + { + MethodName: "Set", + Handler: _Query_Set_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/api/cardchain/cardchain/running_average.pulsar.go b/api/cardchain/cardchain/running_average.pulsar.go index 9cff2c1b..48c3ca74 100644 --- a/api/cardchain/cardchain/running_average.pulsar.go +++ b/api/cardchain/cardchain/running_average.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_RunningAverage_1_list)(nil) diff --git a/api/cardchain/cardchain/sell_offer.pulsar.go b/api/cardchain/cardchain/sell_offer.pulsar.go index 55fde4b3..5f5fb235 100644 --- a/api/cardchain/cardchain/sell_offer.pulsar.go +++ b/api/cardchain/cardchain/sell_offer.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/server.pulsar.go b/api/cardchain/cardchain/server.pulsar.go index e8d66d38..25cbab32 100644 --- a/api/cardchain/cardchain/server.pulsar.go +++ b/api/cardchain/cardchain/server.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go index 339ce34d..984c3c6d 100644 --- a/api/cardchain/cardchain/set.pulsar.go +++ b/api/cardchain/cardchain/set.pulsar.go @@ -2,15 +2,16 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Set_2_list)(nil) @@ -544,7 +545,7 @@ func (x *fastReflection_Set) Set(fd protoreflect.FieldDescriptor, value protoref case "cardchain.cardchain.Set.artworkId": x.ArtworkId = value.Uint() case "cardchain.cardchain.Set.status": - x.Status = (CStatus)(value.Enum()) + x.Status = (SetStatus)(value.Enum()) case "cardchain.cardchain.Set.timeStamp": x.TimeStamp = value.Int() case "cardchain.cardchain.Set.contributorsDistribution": @@ -1222,7 +1223,7 @@ func (x *fastReflection_Set) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.Status |= CStatus(b&0x7F) << shift + x.Status |= SetStatus(b&0x7F) << shift if b < 0x80 { break } @@ -2445,24 +2446,24 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type CStatus int32 +type SetStatus int32 const ( - CStatus_design CStatus = 0 - CStatus_finalized CStatus = 1 - CStatus_active CStatus = 2 - CStatus_archived CStatus = 3 + SetStatus_design SetStatus = 0 + SetStatus_finalized SetStatus = 1 + SetStatus_active SetStatus = 2 + SetStatus_archived SetStatus = 3 ) -// Enum value maps for CStatus. +// Enum value maps for SetStatus. var ( - CStatus_name = map[int32]string{ + SetStatus_name = map[int32]string{ 0: "design", 1: "finalized", 2: "active", 3: "archived", } - CStatus_value = map[string]int32{ + SetStatus_value = map[string]int32{ "design": 0, "finalized": 1, "active": 2, @@ -2470,30 +2471,30 @@ var ( } ) -func (x CStatus) Enum() *CStatus { - p := new(CStatus) +func (x SetStatus) Enum() *SetStatus { + p := new(SetStatus) *p = x return p } -func (x CStatus) String() string { +func (x SetStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (CStatus) Descriptor() protoreflect.EnumDescriptor { +func (SetStatus) Descriptor() protoreflect.EnumDescriptor { return file_cardchain_cardchain_set_proto_enumTypes[0].Descriptor() } -func (CStatus) Type() protoreflect.EnumType { +func (SetStatus) Type() protoreflect.EnumType { return &file_cardchain_cardchain_set_proto_enumTypes[0] } -func (x CStatus) Number() protoreflect.EnumNumber { +func (x SetStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use CStatus.Descriptor instead. -func (CStatus) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use SetStatus.Descriptor instead. +func (SetStatus) EnumDescriptor() ([]byte, []int) { return file_cardchain_cardchain_set_proto_rawDescGZIP(), []int{0} } @@ -2509,7 +2510,7 @@ type Set struct { Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` Story string `protobuf:"bytes,6,opt,name=story,proto3" json:"story,omitempty"` ArtworkId uint64 `protobuf:"varint,7,opt,name=artworkId,proto3" json:"artworkId,omitempty"` - Status CStatus `protobuf:"varint,8,opt,name=status,proto3,enum=cardchain.cardchain.CStatus" json:"status,omitempty"` + Status SetStatus `protobuf:"varint,8,opt,name=status,proto3,enum=cardchain.cardchain.SetStatus" json:"status,omitempty"` TimeStamp int64 `protobuf:"varint,9,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` ContributorsDistribution []*AddrWithQuantity `protobuf:"bytes,10,rep,name=contributorsDistribution,proto3" json:"contributorsDistribution,omitempty"` Rarities []*InnerRarities `protobuf:"bytes,11,rep,name=Rarities,proto3" json:"Rarities,omitempty"` @@ -2584,11 +2585,11 @@ func (x *Set) GetArtworkId() uint64 { return 0 } -func (x *Set) GetStatus() CStatus { +func (x *Set) GetStatus() SetStatus { if x != nil { return x.Status } - return CStatus_design + return SetStatus_design } func (x *Set) GetTimeStamp() int64 { @@ -2706,7 +2707,7 @@ var file_cardchain_cardchain_set_proto_rawDesc = []byte{ 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x03, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x03, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, @@ -2718,49 +2719,49 @@ var file_cardchain_cardchain_set_proto_rawDesc = []byte{ 0x74, 0x6f, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x61, 0x0a, 0x18, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x61, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x6f, 0x72, 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x3e, 0x0a, 0x08, 0x52, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x61, 0x72, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x08, 0x52, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, - 0x1d, 0x0a, 0x0d, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x12, 0x0c, 0x0a, 0x01, 0x52, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x01, 0x52, 0x22, 0x69, - 0x0a, 0x10, 0x41, 0x64, 0x64, 0x72, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x01, 0x71, 0x12, 0x33, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, - 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, - 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2a, 0x3e, 0x0a, 0x07, 0x43, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x10, 0x00, - 0x12, 0x0d, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x10, 0x01, 0x12, - 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x10, 0x03, 0x42, 0xd0, 0x01, 0x0a, 0x17, 0x63, 0x6f, - 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x08, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x61, + 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x44, 0x69, + 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x57, 0x69, 0x74, 0x68, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x6f, 0x72, 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3e, 0x0a, 0x08, 0x52, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x52, + 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x08, 0x52, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x22, 0x1d, 0x0a, 0x0d, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x61, 0x72, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x12, 0x0c, 0x0a, 0x01, 0x52, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x01, 0x52, + 0x22, 0x69, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x72, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x01, 0x71, 0x12, 0x33, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x69, 0x6e, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2a, 0x40, 0x0a, 0x09, 0x53, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x64, 0x65, 0x73, 0x69, + 0x67, 0x6e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x02, 0x12, + 0x0c, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x10, 0x03, 0x42, 0xd0, 0x01, + 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x08, 0x53, 0x65, 0x74, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2778,14 +2779,14 @@ func file_cardchain_cardchain_set_proto_rawDescGZIP() []byte { var file_cardchain_cardchain_set_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_cardchain_cardchain_set_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_cardchain_cardchain_set_proto_goTypes = []interface{}{ - (CStatus)(0), // 0: cardchain.cardchain.CStatus + (SetStatus)(0), // 0: cardchain.cardchain.SetStatus (*Set)(nil), // 1: cardchain.cardchain.Set (*InnerRarities)(nil), // 2: cardchain.cardchain.InnerRarities (*AddrWithQuantity)(nil), // 3: cardchain.cardchain.AddrWithQuantity (*v1beta1.Coin)(nil), // 4: cosmos.base.v1beta1.Coin } var file_cardchain_cardchain_set_proto_depIdxs = []int32{ - 0, // 0: cardchain.cardchain.Set.status:type_name -> cardchain.cardchain.CStatus + 0, // 0: cardchain.cardchain.Set.status:type_name -> cardchain.cardchain.SetStatus 3, // 1: cardchain.cardchain.Set.contributorsDistribution:type_name -> cardchain.cardchain.AddrWithQuantity 2, // 2: cardchain.cardchain.Set.Rarities:type_name -> cardchain.cardchain.InnerRarities 4, // 3: cardchain.cardchain.AddrWithQuantity.payment:type_name -> cosmos.base.v1beta1.Coin diff --git a/api/cardchain/cardchain/set_with_artwork.pulsar.go b/api/cardchain/cardchain/set_with_artwork.pulsar.go index 2de6c3ae..15c9094d 100644 --- a/api/cardchain/cardchain/set_with_artwork.pulsar.go +++ b/api/cardchain/cardchain/set_with_artwork.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index ac894ab3..3617fc13 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,20 +2,21 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" - fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 3dd8f52f..51db3503 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,6 +8,7 @@ package cardchain import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/user.pulsar.go b/api/cardchain/cardchain/user.pulsar.go index c0c7e0ad..a6f11922 100644 --- a/api/cardchain/cardchain/user.pulsar.go +++ b/api/cardchain/cardchain/user.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_User_2_list)(nil) diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go index 2a02aa7e..bf614c4f 100644 --- a/api/cardchain/cardchain/voting.pulsar.go +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_VotingResults_6_list)(nil) diff --git a/api/cardchain/cardchain/zealy.pulsar.go b/api/cardchain/cardchain/zealy.pulsar.go index 8dedd508..7879a400 100644 --- a/api/cardchain/cardchain/zealy.pulsar.go +++ b/api/cardchain/cardchain/zealy.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/flag.pulsar.go b/api/cardchain/featureflag/flag.pulsar.go index 10b5e452..932ce355 100644 --- a/api/cardchain/featureflag/flag.pulsar.go +++ b/api/cardchain/featureflag/flag.pulsar.go @@ -3,13 +3,14 @@ package featureflag import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/genesis.pulsar.go b/api/cardchain/featureflag/genesis.pulsar.go index 2c435bb2..ddfe3040 100644 --- a/api/cardchain/featureflag/genesis.pulsar.go +++ b/api/cardchain/featureflag/genesis.pulsar.go @@ -2,17 +2,18 @@ package featureflag import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var _ protoreflect.Map = (*_GenesisState_2_map)(nil) diff --git a/api/cardchain/featureflag/module/module.pulsar.go b/api/cardchain/featureflag/module/module.pulsar.go index 947efc3f..5650e208 100644 --- a/api/cardchain/featureflag/module/module.pulsar.go +++ b/api/cardchain/featureflag/module/module.pulsar.go @@ -2,15 +2,16 @@ package module import ( - _ "cosmossdk.io/api/cosmos/app/v1alpha1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/cosmos/app/v1alpha1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/params.pulsar.go b/api/cardchain/featureflag/params.pulsar.go index fb51fec2..6b347b45 100644 --- a/api/cardchain/featureflag/params.pulsar.go +++ b/api/cardchain/featureflag/params.pulsar.go @@ -2,16 +2,17 @@ package featureflag import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query.pulsar.go b/api/cardchain/featureflag/query.pulsar.go index 3419d3a4..1e62212d 100644 --- a/api/cardchain/featureflag/query.pulsar.go +++ b/api/cardchain/featureflag/query.pulsar.go @@ -2,18 +2,19 @@ package featureflag import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query_grpc.pb.go b/api/cardchain/featureflag/query_grpc.pb.go index f7957337..0e8130e8 100644 --- a/api/cardchain/featureflag/query_grpc.pb.go +++ b/api/cardchain/featureflag/query_grpc.pb.go @@ -8,6 +8,7 @@ package featureflag import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/featureflag/tx.pulsar.go b/api/cardchain/featureflag/tx.pulsar.go index 0cef5f49..dd3db629 100644 --- a/api/cardchain/featureflag/tx.pulsar.go +++ b/api/cardchain/featureflag/tx.pulsar.go @@ -2,18 +2,19 @@ package featureflag import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/msg/v1" - fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/tx_grpc.pb.go b/api/cardchain/featureflag/tx_grpc.pb.go index 95442cac..9d8cbe66 100644 --- a/api/cardchain/featureflag/tx_grpc.pb.go +++ b/api/cardchain/featureflag/tx_grpc.pb.go @@ -8,6 +8,7 @@ package featureflag import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 60a9c995..e020f990 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin22","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin23","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index 89f39a88..ebd211dc 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -1,4 +1,9 @@ +set -o errexit +set -o pipefail + #ignite scaffold query card cardId:uint --response card:CardWithImage # ---ignite scaffold query card_content cardId:uint --response card:Card #ignite scaffold query user address:string --response user:User -ignite scaffold query cards owner --response cardIds:uints +#ignite scaffold query cards owner --response cardIds:uints +ignite scaffold query match matchId --response match:Match +ignite scaffold query set setId --response match:SetWithArtwork diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 4900085c..99c16ba0 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -11,46 +11,58 @@ import "cardchain/cardchain/product_details.proto"; import "cardchain/cardchain/card_with_image.proto"; import "cardchain/cardchain/user.proto"; import "cardchain/cardchain/card.proto"; +import "cardchain/cardchain/match.proto"; +import "cardchain/cardchain/set_with_artwork.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/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/cardchain/params"; + rpc Params (QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/params"; + } - + // Queries a list of ProductDetails items. - rpc ProductDetails(QueryGetProductDetailsRequest) - returns (QueryGetProductDetailsResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; + rpc ProductDetails (QueryGetProductDetailsRequest) returns (QueryGetProductDetailsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; + } - rpc ProductDetailsAll(QueryAllProductDetailsRequest) - returns (QueryAllProductDetailsResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/product_details"; + rpc ProductDetailsAll (QueryAllProductDetailsRequest) returns (QueryAllProductDetailsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details"; + } - + // Queries a list of Card items. - rpc Card(QueryCardRequest) returns (QueryCardResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; + rpc Card (QueryCardRequest) returns (QueryCardResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; + } - + // Queries a list of User items. - rpc User(QueryUserRequest) returns (QueryUserResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/user/{address}"; + rpc User (QueryUserRequest) returns (QueryUserResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/user/{address}"; + } - + // Queries a list of Cards items. - rpc Cards(QueryCardsRequest) returns (QueryCardsResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; + rpc Cards (QueryCardsRequest) returns (QueryCardsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; + + } + + // Queries a list of Match items. + rpc Match (QueryMatchRequest) returns (QueryMatchResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/match/{matchId}"; + + } + + // Queries a list of Set items. + rpc Set (QuerySetRequest) returns (QuerySetResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/set/{setId}"; + } } // QueryParamsRequest is request type for the Query/Params RPC method. @@ -58,16 +70,17 @@ 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, (amino.dont_omitempty) = true ]; + Params params = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } -message QueryGetProductDetailsRequest { uint64 id = 1; } +message QueryGetProductDetailsRequest { + uint64 id = 1; +} message QueryGetProductDetailsResponse { - ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; + ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; } message QueryAllProductDetailsRequest { @@ -75,31 +88,58 @@ message QueryAllProductDetailsRequest { } message QueryAllProductDetailsResponse { - repeated ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; - cosmos.base.query.v1beta1.PageResponse pagination = 2; + repeated ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; + cosmos.base.query.v1beta1.PageResponse pagination = 2; } -message QueryCardRequest { uint64 cardId = 1; } +message QueryCardRequest { + uint64 cardId = 1; +} -message QueryCardResponse { CardWithImage card = 1; } +message QueryCardResponse { + CardWithImage card = 1; +} -message QueryUserRequest { string address = 1; } +message QueryUserRequest { + string address = 1; +} -message QueryUserResponse { User user = 1; } +message QueryUserResponse { + User user = 1; +} message QueryCardsRequest { - string owner = 1; - repeated CardStatus status = 2; - repeated CardType cardType = 3; - repeated CardClass class = 4; - string sortBy = 5; - string nameContains = 6; - string keywordsContains = 7; - string notesContains = 8; - bool onlyStarterCard = 9; - bool onlyBalanceAnchors = 10; - repeated CardRarity rarities = 11; - bool multiClassOnly = 12; -} - -message QueryCardsResponse { repeated uint64 cardIds = 1; } + string owner = 1; + repeated CardStatus status = 2; + repeated CardType cardType = 3; + repeated CardClass class = 4; + string sortBy = 5; + string nameContains = 6; + string keywordsContains = 7; + string notesContains = 8; + bool onlyStarterCard = 9; + bool onlyBalanceAnchors = 10; + repeated CardRarity rarities = 11; + bool multiClassOnly = 12; +} + +message QueryCardsResponse { + repeated uint64 cardIds = 1; +} + +message QueryMatchRequest { + string matchId = 1; +} + +message QueryMatchResponse { + Match match = 1; +} + +message QuerySetRequest { + string setId = 1; +} + +message QuerySetResponse { + SetWithArtwork match = 1; +} + diff --git a/proto/cardchain/cardchain/set.proto b/proto/cardchain/cardchain/set.proto index e3109eb2..dd1140db 100644 --- a/proto/cardchain/cardchain/set.proto +++ b/proto/cardchain/cardchain/set.proto @@ -13,7 +13,7 @@ message Set { repeated string contributors = 5; string story = 6; uint64 artworkId = 7; - CStatus status = 8; + SetStatus status = 8; int64 timeStamp = 9; repeated AddrWithQuantity contributorsDistribution = 10; repeated InnerRarities Rarities = 11; @@ -21,7 +21,7 @@ message Set { message InnerRarities { repeated uint64 R = 1; } -enum CStatus { +enum SetStatus { design = 0; finalized = 1; active = 2; diff --git a/x/cardchain/keeper/msg_server_booster_pack_buy.go b/x/cardchain/keeper/msg_server_booster_pack_buy.go index fd720cc8..d30784e2 100644 --- a/x/cardchain/keeper/msg_server_booster_pack_buy.go +++ b/x/cardchain/keeper/msg_server_booster_pack_buy.go @@ -24,7 +24,7 @@ func (k msgServer) BoosterPackBuy(goCtx context.Context, msg *types.MsgBoosterPa set := k.sets.Get(ctx, msg.SetId) - if set.Status != types.CStatus_active { + if set.Status != types.SetStatus_active { return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invalid set status: %s", set.Status) } diff --git a/x/cardchain/keeper/msg_server_set_artwork_add.go b/x/cardchain/keeper/msg_server_set_artwork_add.go index 6482f9a4..d45d70e5 100644 --- a/x/cardchain/keeper/msg_server_set_artwork_add.go +++ b/x/cardchain/keeper/msg_server_set_artwork_add.go @@ -18,7 +18,7 @@ func (k msgServer) SetArtworkAdd(goCtx context.Context, msg *types.MsgSetArtwork if set.Artist != msg.Creator { return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Incorrect Artist") } - if set.Status != types.CStatus_design { + if set.Status != types.SetStatus_design { return nil, errorsmod.Wrapf(errors.ErrUnauthorized, "Invalid set status is: %s", set.Status.String()) } diff --git a/x/cardchain/keeper/msg_server_set_card_add.go b/x/cardchain/keeper/msg_server_set_card_add.go index 68e3ba07..05039f42 100644 --- a/x/cardchain/keeper/msg_server_set_card_add.go +++ b/x/cardchain/keeper/msg_server_set_card_add.go @@ -19,14 +19,14 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( if !slices.Contains(set.Contributors, msg.Creator) { return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Invalid contributor") } - if set.Status != types.CStatus_design { + if set.Status != types.SetStatus_design { return nil, errorsmod.Wrapf(errors.ErrUnauthorized, "Invalid set status is: %s", set.Status.String()) } 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) { + if coll.Status != types.SetStatus_archived && slices.Contains(coll.Cards, msg.CardId) { return nil, errorsmod.Wrapf(types.ErrCardAlreadyInSet, "Set: %d", idx) } } diff --git a/x/cardchain/keeper/msg_server_set_card_remove.go b/x/cardchain/keeper/msg_server_set_card_remove.go index dddc77f8..e0087463 100644 --- a/x/cardchain/keeper/msg_server_set_card_remove.go +++ b/x/cardchain/keeper/msg_server_set_card_remove.go @@ -18,7 +18,7 @@ func (k msgServer) SetCardRemove(goCtx context.Context, msg *types.MsgSetCardRem if !slices.Contains(set.Contributors, msg.Creator) { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid contributor") } - if set.Status != types.CStatus_design { + if set.Status != types.SetStatus_design { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "set not in design") } diff --git a/x/cardchain/keeper/msg_server_set_create.go b/x/cardchain/keeper/msg_server_set_create.go index 6bbc4db3..a5372d6a 100644 --- a/x/cardchain/keeper/msg_server_set_create.go +++ b/x/cardchain/keeper/msg_server_set_create.go @@ -23,7 +23,7 @@ func (k msgServer) SetCreate(goCtx context.Context, msg *types.MsgSetCreate) (*t Contributors: append([]string{msg.Creator}, msg.Contributors...), Artist: msg.Artist, StoryWriter: msg.StoryWriter, - Status: types.CStatus_design, + Status: types.SetStatus_design, TimeStamp: 0, ArtworkId: k.images.GetNum(ctx), } diff --git a/x/cardchain/keeper/msg_server_set_finalize.go b/x/cardchain/keeper/msg_server_set_finalize.go index 481cda51..f9462835 100644 --- a/x/cardchain/keeper/msg_server_set_finalize.go +++ b/x/cardchain/keeper/msg_server_set_finalize.go @@ -40,7 +40,7 @@ func (k msgServer) SetFinalize(goCtx context.Context, msg *types.MsgSetFinalize) return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "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 + set.Status = types.SetStatus_finalized set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) set.Rarities = k.GetCardRaritiesInSet(ctx, set) diff --git a/x/cardchain/keeper/msg_server_set_story_add.go b/x/cardchain/keeper/msg_server_set_story_add.go index f0bf02f3..0e0d680d 100644 --- a/x/cardchain/keeper/msg_server_set_story_add.go +++ b/x/cardchain/keeper/msg_server_set_story_add.go @@ -16,7 +16,7 @@ func (k msgServer) SetStoryAdd(goCtx context.Context, msg *types.MsgSetStoryAdd) if set.StoryWriter != msg.Creator { return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Incorrect StoryWriter") } - if set.Status != types.CStatus_design { + if set.Status != types.SetStatus_design { return nil, errorsmod.Wrapf(errors.ErrUnauthorized, "Invalid set status is: %s", set.Status.String()) } diff --git a/x/cardchain/keeper/query_match.go b/x/cardchain/keeper/query_match.go new file mode 100644 index 00000000..25329bc4 --- /dev/null +++ b/x/cardchain/keeper/query_match.go @@ -0,0 +1,23 @@ +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) Match(goCtx context.Context, req *types.QueryMatchRequest) (*types.QueryMatchResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryMatchResponse{}, nil +} diff --git a/x/cardchain/keeper/query_set.go b/x/cardchain/keeper/query_set.go new file mode 100644 index 00000000..670b2e0f --- /dev/null +++ b/x/cardchain/keeper/query_set.go @@ -0,0 +1,23 @@ +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) Set(goCtx context.Context, req *types.QuerySetRequest) (*types.QuerySetResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QuerySetResponse{}, nil +} diff --git a/x/cardchain/keeper/set.go b/x/cardchain/keeper/set.go index df213f07..ca4dacfa 100644 --- a/x/cardchain/keeper/set.go +++ b/x/cardchain/keeper/set.go @@ -70,7 +70,7 @@ 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 { + if set.Status == types.SetStatus_active { activeSets = append(activeSets, idx) } } @@ -116,7 +116,7 @@ func checkSetEditable(set *types.Set, user string) error { return errorsmod.Wrap(errors.ErrUnauthorized, "Invalid creator") } - if set.Status != types.CStatus_design { + if set.Status != types.SetStatus_design { return errorsmod.Wrapf(errors.ErrUnauthorized, "Invalid set status is: %s", set.Status.String()) } diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 73f50442..01333665 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -49,6 +49,20 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "owner"}}, }, + { + RpcMethod: "Match", + Use: "match [match-id]", + Short: "Query match", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "matchId"}}, + }, + + { + RpcMethod: "Set", + Use: "set [set-id]", + Short: "Query set", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go index e0cd33af..bf541854 100644 --- a/x/cardchain/types/card.pb.go +++ b/x/cardchain/types/card.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/card_with_image.pb.go b/x/cardchain/types/card_with_image.pb.go index 39e731f0..cccc278d 100644 --- a/x/cardchain/types/card_with_image.pb.go +++ b/x/cardchain/types/card_with_image.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/council.pb.go b/x/cardchain/types/council.pb.go index a6f6f6d7..1bbdfc01 100644 --- a/x/cardchain/types/council.pb.go +++ b/x/cardchain/types/council.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/encounter.pb.go b/x/cardchain/types/encounter.pb.go index 5c6f1b54..0f2e0d18 100644 --- a/x/cardchain/types/encounter.pb.go +++ b/x/cardchain/types/encounter.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 4306f207..636f7c25 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/image.pb.go b/x/cardchain/types/image.pb.go index a4fe2647..a2a036be 100644 --- a/x/cardchain/types/image.pb.go +++ b/x/cardchain/types/image.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 7ac97cf8..660c57d2 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index d9081e8f..2874c6ce 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,13 +5,14 @@ package types import ( fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" - io "io" - math "math" - math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/product_details.pb.go b/x/cardchain/types/product_details.pb.go index 11fdabcb..6f38ca9c 100644 --- a/x/cardchain/types/product_details.pb.go +++ b/x/cardchain/types/product_details.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index d6882660..21b55359 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -15,9 +19,6 @@ import ( 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. @@ -650,6 +651,182 @@ func (m *QueryCardsResponse) GetCardIds() []uint64 { return nil } +type QueryMatchRequest struct { + MatchId string `protobuf:"bytes,1,opt,name=matchId,proto3" json:"matchId,omitempty"` +} + +func (m *QueryMatchRequest) Reset() { *m = QueryMatchRequest{} } +func (m *QueryMatchRequest) String() string { return proto.CompactTextString(m) } +func (*QueryMatchRequest) ProtoMessage() {} +func (*QueryMatchRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{12} +} +func (m *QueryMatchRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryMatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryMatchRequest.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 *QueryMatchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryMatchRequest.Merge(m, src) +} +func (m *QueryMatchRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryMatchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryMatchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryMatchRequest proto.InternalMessageInfo + +func (m *QueryMatchRequest) GetMatchId() string { + if m != nil { + return m.MatchId + } + return "" +} + +type QueryMatchResponse struct { + Match *Match `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` +} + +func (m *QueryMatchResponse) Reset() { *m = QueryMatchResponse{} } +func (m *QueryMatchResponse) String() string { return proto.CompactTextString(m) } +func (*QueryMatchResponse) ProtoMessage() {} +func (*QueryMatchResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{13} +} +func (m *QueryMatchResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryMatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryMatchResponse.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 *QueryMatchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryMatchResponse.Merge(m, src) +} +func (m *QueryMatchResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryMatchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryMatchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryMatchResponse proto.InternalMessageInfo + +func (m *QueryMatchResponse) GetMatch() *Match { + if m != nil { + return m.Match + } + return nil +} + +type QuerySetRequest struct { + SetId string `protobuf:"bytes,1,opt,name=setId,proto3" json:"setId,omitempty"` +} + +func (m *QuerySetRequest) Reset() { *m = QuerySetRequest{} } +func (m *QuerySetRequest) String() string { return proto.CompactTextString(m) } +func (*QuerySetRequest) ProtoMessage() {} +func (*QuerySetRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{14} +} +func (m *QuerySetRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuerySetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuerySetRequest.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 *QuerySetRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySetRequest.Merge(m, src) +} +func (m *QuerySetRequest) XXX_Size() int { + return m.Size() +} +func (m *QuerySetRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySetRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QuerySetRequest proto.InternalMessageInfo + +func (m *QuerySetRequest) GetSetId() string { + if m != nil { + return m.SetId + } + return "" +} + +type QuerySetResponse struct { + Match *SetWithArtwork `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` +} + +func (m *QuerySetResponse) Reset() { *m = QuerySetResponse{} } +func (m *QuerySetResponse) String() string { return proto.CompactTextString(m) } +func (*QuerySetResponse) ProtoMessage() {} +func (*QuerySetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{15} +} +func (m *QuerySetResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuerySetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuerySetResponse.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 *QuerySetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySetResponse.Merge(m, src) +} +func (m *QuerySetResponse) XXX_Size() int { + return m.Size() +} +func (m *QuerySetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySetResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QuerySetResponse proto.InternalMessageInfo + +func (m *QuerySetResponse) GetMatch() *SetWithArtwork { + if m != nil { + return m.Match + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -663,73 +840,87 @@ func init() { proto.RegisterType((*QueryUserResponse)(nil), "cardchain.cardchain.QueryUserResponse") proto.RegisterType((*QueryCardsRequest)(nil), "cardchain.cardchain.QueryCardsRequest") proto.RegisterType((*QueryCardsResponse)(nil), "cardchain.cardchain.QueryCardsResponse") + proto.RegisterType((*QueryMatchRequest)(nil), "cardchain.cardchain.QueryMatchRequest") + proto.RegisterType((*QueryMatchResponse)(nil), "cardchain.cardchain.QueryMatchResponse") + proto.RegisterType((*QuerySetRequest)(nil), "cardchain.cardchain.QuerySetRequest") + proto.RegisterType((*QuerySetResponse)(nil), "cardchain.cardchain.QuerySetResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 976 bytes of a gzipped FileDescriptorProto + // 1136 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xcf, 0xba, 0x6b, 0x27, 0x79, 0x2d, 0xa1, 0x99, 0x46, 0x68, 0x31, 0x74, 0x13, 0x2d, 0x90, - 0x98, 0x88, 0xee, 0xaa, 0x69, 0x9b, 0x16, 0x95, 0x56, 0x8a, 0x53, 0x11, 0x55, 0x1c, 0x48, 0xb7, - 0x54, 0x48, 0x5c, 0xa2, 0xc9, 0xee, 0x68, 0xbd, 0x62, 0xbd, 0xe3, 0xce, 0x8c, 0x09, 0x56, 0x94, - 0x0b, 0x9f, 0x00, 0x51, 0xc4, 0x99, 0x23, 0x47, 0x3e, 0x40, 0xc5, 0xb9, 0xc7, 0x4a, 0x5c, 0x38, - 0x21, 0x94, 0x20, 0xf1, 0x35, 0xd0, 0xfc, 0xb1, 0xe3, 0x4d, 0x77, 0xed, 0x40, 0x2f, 0xd6, 0x9b, - 0xf7, 0x7e, 0x6f, 0xde, 0xef, 0x37, 0xf3, 0xe6, 0xad, 0x61, 0x39, 0xc2, 0x2c, 0x8e, 0x3a, 0x38, - 0xcd, 0x83, 0x53, 0xeb, 0x69, 0x9f, 0xb0, 0x81, 0xdf, 0x63, 0x54, 0x50, 0x74, 0x65, 0xe4, 0xf6, - 0x47, 0x56, 0x73, 0x11, 0x77, 0xd3, 0x9c, 0x06, 0xea, 0x57, 0xe3, 0x9a, 0x4b, 0x09, 0x4d, 0xa8, - 0x32, 0x03, 0x69, 0x19, 0xef, 0xbb, 0x09, 0xa5, 0x49, 0x46, 0x02, 0xdc, 0x4b, 0x03, 0x9c, 0xe7, - 0x54, 0x60, 0x91, 0xd2, 0x9c, 0x9b, 0xe8, 0x7a, 0x44, 0x79, 0x97, 0xf2, 0x60, 0x1f, 0x73, 0xa2, - 0x8b, 0x06, 0xdf, 0x5c, 0xdf, 0x27, 0x02, 0x5f, 0x0f, 0x7a, 0x38, 0x49, 0x73, 0x05, 0x36, 0xd8, - 0x95, 0x32, 0xa2, 0x3d, 0xcc, 0x70, 0x77, 0xb8, 0xdb, 0x87, 0xa5, 0x08, 0x46, 0xe3, 0x7e, 0x24, - 0xf6, 0x62, 0x22, 0x70, 0x9a, 0x4d, 0x84, 0x4a, 0x6b, 0xef, 0x20, 0x15, 0x9d, 0xbd, 0xb4, 0x8b, - 0x13, 0x62, 0xa0, 0x6e, 0x19, 0xb4, 0xcf, 0x09, 0x9b, 0x14, 0x97, 0x96, 0x8e, 0x7b, 0x4b, 0x80, - 0x1e, 0x49, 0x65, 0xbb, 0x8a, 0x6a, 0x48, 0x9e, 0xf6, 0x09, 0x17, 0xde, 0x13, 0xb8, 0x52, 0xf0, - 0xf2, 0x1e, 0xcd, 0x39, 0x41, 0xf7, 0xa1, 0xa1, 0x25, 0x39, 0xd6, 0x8a, 0xd5, 0xba, 0xb8, 0xf1, - 0x8e, 0x5f, 0x72, 0xfa, 0xbe, 0x4e, 0x6a, 0xcf, 0xbf, 0xf8, 0x73, 0x79, 0xe6, 0x97, 0x7f, 0x7e, - 0x5d, 0xb7, 0x42, 0x93, 0xe5, 0x05, 0x70, 0x55, 0x6d, 0xbb, 0x43, 0xc4, 0xae, 0x16, 0xfe, 0x40, - 0xeb, 0x36, 0x75, 0xd1, 0x02, 0xd4, 0xd2, 0x58, 0x6d, 0x6e, 0x87, 0xb5, 0x34, 0xf6, 0x38, 0xb8, - 0x55, 0x09, 0x86, 0xd2, 0x23, 0x58, 0x28, 0x46, 0x0c, 0xb5, 0xf7, 0xca, 0xa9, 0x15, 0xa0, 0x6d, - 0x5b, 0x52, 0x0c, 0xcf, 0x6c, 0xe0, 0x25, 0x86, 0xe5, 0x56, 0x96, 0x95, 0xb3, 0xfc, 0x14, 0xe0, - 0xf4, 0xfe, 0x4d, 0xbd, 0x55, 0x5f, 0x37, 0x8b, 0x2f, 0x9b, 0xc5, 0xd7, 0x1d, 0x6a, 0x9a, 0xc5, - 0xdf, 0xc5, 0x09, 0x31, 0xb9, 0xe1, 0x58, 0xa6, 0xf7, 0xdc, 0x32, 0xf2, 0x4a, 0x2a, 0x4d, 0x90, - 0x77, 0xe1, 0xb5, 0xe4, 0xa1, 0x9d, 0x02, 0xfb, 0x9a, 0x62, 0xbf, 0x36, 0x95, 0xbd, 0xe6, 0x53, - 0xa0, 0xbf, 0x0e, 0x97, 0x15, 0xfb, 0x6d, 0xcc, 0xe2, 0xe1, 0xd1, 0xbc, 0x05, 0x0d, 0x49, 0xe7, - 0xe1, 0xf0, 0x12, 0xcd, 0xca, 0xfb, 0x0c, 0x16, 0xc7, 0xb0, 0x46, 0xdc, 0x26, 0xd8, 0x32, 0x6c, - 0x4e, 0xd0, 0x2b, 0x95, 0x24, 0x13, 0xbe, 0x4c, 0x45, 0xe7, 0xa1, 0xec, 0xf9, 0x50, 0xe1, 0xbd, - 0x8f, 0x4c, 0xe1, 0x27, 0x9c, 0xb0, 0x61, 0x61, 0x07, 0x66, 0x71, 0x1c, 0x33, 0xc2, 0x75, 0x03, - 0xcc, 0x87, 0xc3, 0xa5, 0xd7, 0x36, 0xa5, 0x35, 0xda, 0x94, 0xbe, 0x06, 0xb6, 0x7c, 0x24, 0xa6, - 0xf4, 0xdb, 0xa5, 0xa5, 0x55, 0x82, 0x82, 0x79, 0x3f, 0xdb, 0x63, 0xfc, 0x47, 0x7d, 0xb0, 0x04, - 0x75, 0x7a, 0x90, 0x9b, 0x5d, 0xe6, 0x43, 0xbd, 0x40, 0xb7, 0xa1, 0xc1, 0x05, 0x16, 0x7d, 0xee, - 0xd4, 0x56, 0x2e, 0xb4, 0x16, 0x36, 0x96, 0x2b, 0x75, 0x3d, 0x56, 0xb0, 0xd0, 0xc0, 0xd1, 0xc7, - 0x30, 0x27, 0xe3, 0x5f, 0x0c, 0x7a, 0xc4, 0xb9, 0xa0, 0x52, 0xaf, 0x56, 0xa6, 0x4a, 0x50, 0x38, - 0x82, 0xa3, 0x9b, 0x50, 0x8f, 0x32, 0xcc, 0xb9, 0x63, 0xab, 0x3c, 0xb7, 0x32, 0x6f, 0x5b, 0xa2, - 0x42, 0x0d, 0x96, 0x97, 0xc5, 0x29, 0x13, 0xed, 0x81, 0x53, 0x57, 0x02, 0xcc, 0x0a, 0x79, 0x70, - 0x29, 0xc7, 0x5d, 0xb2, 0x4d, 0x73, 0x81, 0xd3, 0x9c, 0x3b, 0x0d, 0x15, 0x2d, 0xf8, 0xd0, 0x3a, - 0x5c, 0xfe, 0x9a, 0x0c, 0x0e, 0x28, 0x8b, 0xf9, 0x08, 0x37, 0xab, 0x70, 0xaf, 0xf8, 0xd1, 0xfb, - 0xf0, 0x46, 0x4e, 0x05, 0x39, 0x05, 0xce, 0x29, 0x60, 0xd1, 0x89, 0x5a, 0xf0, 0x26, 0xcd, 0xb3, - 0xc1, 0x63, 0x81, 0x99, 0x20, 0x4c, 0x92, 0x75, 0xe6, 0x57, 0xac, 0xd6, 0x5c, 0x78, 0xd6, 0x8d, - 0x7c, 0x40, 0xd2, 0xd5, 0xc6, 0x19, 0xce, 0x23, 0xb2, 0x95, 0x47, 0x1d, 0xca, 0xb8, 0x03, 0x0a, - 0x5c, 0x12, 0x41, 0x77, 0x61, 0x8e, 0x61, 0x96, 0x8a, 0x94, 0x70, 0xe7, 0xe2, 0x94, 0x3b, 0x09, - 0x25, 0x70, 0x10, 0x8e, 0x12, 0xd0, 0x2a, 0x2c, 0x74, 0xfb, 0x99, 0x48, 0xd5, 0xc9, 0x7d, 0x9e, - 0x67, 0x03, 0xe7, 0x92, 0x2a, 0x74, 0xc6, 0xeb, 0xf9, 0x66, 0x90, 0x9a, 0x0e, 0x31, 0x7d, 0xe6, - 0xc0, 0xac, 0x7e, 0x01, 0xfa, 0xe1, 0xda, 0xe1, 0x70, 0xb9, 0x71, 0x3c, 0x0b, 0x75, 0x95, 0x80, - 0x7e, 0xb0, 0xa0, 0xa1, 0x67, 0x26, 0x5a, 0x2b, 0xe5, 0xf5, 0xea, 0x80, 0x6e, 0xb6, 0xa6, 0x03, - 0x35, 0x03, 0xef, 0xd6, 0x77, 0xbf, 0xff, 0xfd, 0xac, 0x16, 0xa0, 0x6b, 0xc1, 0x03, 0x12, 0x91, - 0x5c, 0x30, 0x9c, 0x49, 0x8a, 0x3b, 0xb8, 0x4b, 0x82, 0xea, 0x6f, 0x16, 0xfa, 0xcd, 0x3a, 0x3b, - 0x79, 0xd0, 0x46, 0x75, 0xcd, 0xaa, 0x81, 0xde, 0xbc, 0xf1, 0x9f, 0x72, 0x0c, 0xe5, 0x6d, 0x45, - 0xf9, 0x1e, 0xba, 0x7b, 0x5e, 0xca, 0xc5, 0x8f, 0x68, 0x70, 0x98, 0xc6, 0x47, 0xe8, 0xb9, 0x05, - 0x8b, 0xc5, 0xfd, 0xb7, 0xb2, 0x6c, 0x92, 0x86, 0xaa, 0x71, 0x3f, 0x49, 0x43, 0xe5, 0xe0, 0xf6, - 0xee, 0x2b, 0x0d, 0x77, 0xd0, 0xe6, 0xff, 0xd3, 0x80, 0x9e, 0x59, 0x60, 0xab, 0x66, 0xff, 0xa0, - 0xba, 0xfa, 0xd8, 0xe0, 0x6d, 0xae, 0x4e, 0x83, 0x19, 0x5e, 0x9f, 0x28, 0x5e, 0x9b, 0xe8, 0xe6, - 0x39, 0x79, 0x49, 0x2b, 0x38, 0xd4, 0x4d, 0x7b, 0x84, 0x7e, 0xb4, 0xc0, 0x96, 0x63, 0x71, 0x12, - 0xab, 0xb1, 0xa9, 0x3c, 0x89, 0xd5, 0xf8, 0x38, 0xf6, 0xee, 0x29, 0x56, 0xb7, 0xd1, 0xad, 0x73, - 0xb2, 0x92, 0x43, 0x39, 0x38, 0x34, 0x13, 0xfe, 0x08, 0xfd, 0x64, 0x41, 0x5d, 0xbd, 0x3b, 0x34, - 0xe5, 0x18, 0x46, 0x77, 0xba, 0x36, 0x15, 0xf7, 0x1a, 0xe7, 0xc5, 0x83, 0x43, 0xf5, 0x29, 0x38, - 0x6a, 0x87, 0x2f, 0x8e, 0x5d, 0xeb, 0xe5, 0xb1, 0x6b, 0xfd, 0x75, 0xec, 0x5a, 0xdf, 0x9f, 0xb8, - 0x33, 0x2f, 0x4f, 0xdc, 0x99, 0x3f, 0x4e, 0xdc, 0x99, 0xaf, 0xee, 0x24, 0xa9, 0xe8, 0xf4, 0xf7, - 0xfd, 0x88, 0x76, 0x27, 0xee, 0xfc, 0xed, 0x98, 0x2d, 0x06, 0x3d, 0xc2, 0xf7, 0x1b, 0xea, 0x8f, - 0xdb, 0x8d, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x59, 0xd5, 0x08, 0x1b, 0x0b, 0x00, 0x00, + 0x14, 0xcf, 0x26, 0xb6, 0x9b, 0xbc, 0x96, 0xb4, 0x99, 0x46, 0x68, 0x31, 0xd4, 0x89, 0x96, 0x36, + 0x09, 0x11, 0xd9, 0xa5, 0x69, 0x9a, 0xb6, 0x94, 0x56, 0x8a, 0x53, 0x35, 0xaa, 0x50, 0x45, 0xba, + 0xa6, 0x42, 0xe2, 0x12, 0x4d, 0xec, 0x91, 0xbd, 0xea, 0x7a, 0xc7, 0xdd, 0x19, 0x13, 0x2c, 0xcb, + 0x17, 0x3e, 0x40, 0x85, 0x28, 0x42, 0x1c, 0x39, 0x72, 0xe4, 0x03, 0x54, 0x9c, 0x7b, 0xac, 0xc4, + 0x85, 0x13, 0x42, 0x09, 0x12, 0x5f, 0x03, 0xcd, 0xcc, 0xb3, 0xe3, 0x4d, 0x77, 0xed, 0x94, 0x5e, + 0xac, 0xf9, 0xf3, 0x7b, 0xef, 0xf7, 0x7b, 0x6f, 0xdf, 0xbc, 0x67, 0x58, 0xa8, 0xd2, 0xb8, 0x56, + 0x6d, 0xd0, 0x20, 0xf2, 0x8e, 0x57, 0x4f, 0xdb, 0x2c, 0xee, 0xb8, 0xad, 0x98, 0x4b, 0x4e, 0x2e, + 0x0e, 0x8e, 0xdd, 0xc1, 0xaa, 0x38, 0x47, 0x9b, 0x41, 0xc4, 0x3d, 0xfd, 0x6b, 0x70, 0xc5, 0xf9, + 0x3a, 0xaf, 0x73, 0xbd, 0xf4, 0xd4, 0x0a, 0x4f, 0x3f, 0xa8, 0x73, 0x5e, 0x0f, 0x99, 0x47, 0x5b, + 0x81, 0x47, 0xa3, 0x88, 0x4b, 0x2a, 0x03, 0x1e, 0x09, 0xbc, 0x5d, 0xad, 0x72, 0xd1, 0xe4, 0xc2, + 0xdb, 0xa7, 0x82, 0x19, 0x52, 0xef, 0x9b, 0xab, 0xfb, 0x4c, 0xd2, 0xab, 0x5e, 0x8b, 0xd6, 0x83, + 0x48, 0x83, 0x11, 0xbb, 0x98, 0x26, 0xb4, 0x45, 0x63, 0xda, 0xec, 0x7b, 0xfb, 0x28, 0x15, 0x11, + 0xf3, 0x5a, 0xbb, 0x2a, 0xf7, 0x6a, 0x4c, 0xd2, 0x20, 0x1c, 0x09, 0x55, 0xab, 0xbd, 0x83, 0x40, + 0x36, 0xf6, 0x82, 0x26, 0xad, 0x33, 0x84, 0x96, 0xd2, 0xa0, 0x6d, 0xc1, 0xe2, 0x51, 0xf7, 0x6a, + 0x85, 0xf7, 0xa9, 0x09, 0x6e, 0x52, 0x59, 0x6d, 0x0c, 0x92, 0x90, 0x02, 0x10, 0x4c, 0x1a, 0x29, + 0x34, 0x96, 0x07, 0x3c, 0x7e, 0x62, 0xb0, 0xce, 0x3c, 0x90, 0x47, 0x2a, 0x4d, 0xbb, 0x3a, 0x6e, + 0x9f, 0x3d, 0x6d, 0x33, 0x21, 0x9d, 0xc7, 0x70, 0x31, 0x71, 0x2a, 0x5a, 0x3c, 0x12, 0x8c, 0xdc, + 0x85, 0x82, 0xc9, 0x8f, 0x6d, 0x2d, 0x5a, 0x2b, 0x67, 0xd7, 0xdf, 0x77, 0x53, 0x3e, 0xa5, 0x6b, + 0x8c, 0xca, 0x33, 0x2f, 0xff, 0x5a, 0x98, 0xf8, 0xf5, 0xdf, 0xdf, 0x56, 0x2d, 0x1f, 0xad, 0x1c, + 0x0f, 0x2e, 0x69, 0xb7, 0x3b, 0x4c, 0xee, 0x9a, 0x2c, 0xde, 0x33, 0x49, 0x44, 0x5e, 0x32, 0x0b, + 0x93, 0x41, 0x4d, 0x3b, 0xcf, 0xf9, 0x93, 0x41, 0xcd, 0x11, 0x50, 0xca, 0x32, 0x40, 0x49, 0x8f, + 0x60, 0x36, 0x79, 0x83, 0xd2, 0x3e, 0x4c, 0x97, 0x96, 0x80, 0x96, 0x73, 0x4a, 0xa2, 0x7f, 0xc2, + 0x81, 0x53, 0x47, 0x95, 0x5b, 0x61, 0x98, 0xae, 0xf2, 0x3e, 0xc0, 0x71, 0x31, 0x21, 0xdf, 0x92, + 0x6b, 0x2a, 0xcf, 0x55, 0x95, 0xe7, 0x9a, 0x72, 0xc7, 0xca, 0x73, 0x77, 0x69, 0x9d, 0xa1, 0xad, + 0x3f, 0x64, 0xe9, 0xbc, 0xb0, 0x30, 0xbc, 0x14, 0xa6, 0x11, 0xe1, 0x4d, 0xbd, 0x55, 0x78, 0x64, + 0x27, 0xa1, 0x7e, 0x52, 0xab, 0x5f, 0x1e, 0xab, 0xde, 0xe8, 0x49, 0xc8, 0x5f, 0x85, 0x0b, 0x5a, + 0xfd, 0x36, 0x8d, 0x6b, 0xfd, 0xd4, 0xbc, 0x0b, 0x05, 0x25, 0xe7, 0x41, 0xff, 0x23, 0xe2, 0xce, + 0xf9, 0x1c, 0xe6, 0x86, 0xb0, 0x18, 0xdc, 0x26, 0xe4, 0xd4, 0x35, 0x66, 0xd0, 0x49, 0x0d, 0x49, + 0x19, 0x7c, 0x15, 0xc8, 0xc6, 0x03, 0xf5, 0x80, 0x7c, 0x8d, 0x77, 0x3e, 0x46, 0xe2, 0xc7, 0x82, + 0xc5, 0x7d, 0x62, 0x1b, 0xce, 0xd0, 0x5a, 0x2d, 0x66, 0xc2, 0x14, 0xc0, 0x8c, 0xdf, 0xdf, 0x3a, + 0x65, 0xa4, 0x36, 0x68, 0xa4, 0x5e, 0x83, 0x9c, 0x7a, 0x71, 0x48, 0xfd, 0x5e, 0x2a, 0xb5, 0x36, + 0xd0, 0x30, 0xe7, 0x97, 0xdc, 0x90, 0xfe, 0x41, 0x1d, 0xcc, 0x43, 0x9e, 0x1f, 0x44, 0xe8, 0x65, + 0xc6, 0x37, 0x1b, 0x72, 0x03, 0x0a, 0x42, 0x52, 0xd9, 0x16, 0xf6, 0xe4, 0xe2, 0xd4, 0xca, 0xec, + 0xfa, 0x42, 0x66, 0x5c, 0x15, 0x0d, 0xf3, 0x11, 0x4e, 0x6e, 0xc1, 0xb4, 0xba, 0xff, 0xb2, 0xd3, + 0x62, 0xf6, 0x94, 0x36, 0xbd, 0x94, 0x69, 0xaa, 0x40, 0xfe, 0x00, 0x4e, 0x36, 0x20, 0x5f, 0x0d, + 0xa9, 0x10, 0x76, 0x4e, 0xdb, 0x95, 0x32, 0xed, 0xb6, 0x15, 0xca, 0x37, 0x60, 0xf5, 0xb1, 0x04, + 0x8f, 0x65, 0xb9, 0x63, 0xe7, 0x75, 0x00, 0xb8, 0x23, 0x0e, 0x9c, 0x8b, 0x68, 0x93, 0x6d, 0xf3, + 0x48, 0xd2, 0x20, 0x12, 0x76, 0x41, 0xdf, 0x26, 0xce, 0xc8, 0x2a, 0x5c, 0x78, 0xc2, 0x3a, 0x07, + 0x3c, 0xae, 0x89, 0x01, 0xee, 0x8c, 0xc6, 0xbd, 0x76, 0x4e, 0x2e, 0xc3, 0x3b, 0x11, 0x97, 0xec, + 0x18, 0x38, 0xad, 0x81, 0xc9, 0x43, 0xb2, 0x02, 0xe7, 0x79, 0x14, 0x76, 0x2a, 0x92, 0xc6, 0x92, + 0xc5, 0x4a, 0xac, 0x3d, 0xb3, 0x68, 0xad, 0x4c, 0xfb, 0x27, 0x8f, 0x89, 0x0b, 0x44, 0x1d, 0x95, + 0x69, 0x48, 0xa3, 0x2a, 0xdb, 0x8a, 0xaa, 0x0d, 0x1e, 0x0b, 0x1b, 0x34, 0x38, 0xe5, 0x86, 0xdc, + 0x86, 0xe9, 0x98, 0xc6, 0x81, 0x0c, 0x98, 0xb0, 0xcf, 0x8e, 0xf9, 0x26, 0xbe, 0x02, 0x76, 0xfc, + 0x81, 0x01, 0x59, 0x82, 0xd9, 0x66, 0x3b, 0x94, 0x81, 0xce, 0xdc, 0x17, 0x51, 0xd8, 0xb1, 0xcf, + 0x69, 0xa2, 0x13, 0xa7, 0x8e, 0x8b, 0x8d, 0x14, 0x2b, 0x04, 0xeb, 0xcc, 0x86, 0x33, 0xe6, 0x05, + 0x98, 0x87, 0x9b, 0xf3, 0xfb, 0x5b, 0x67, 0x0d, 0x2b, 0xea, 0xa1, 0x6a, 0xdc, 0x43, 0x55, 0xac, + 0x1b, 0x39, 0xbe, 0x9f, 0x19, 0xbf, 0xbf, 0x75, 0xee, 0xa3, 0x7b, 0x84, 0xa3, 0xfb, 0x4f, 0x20, + 0xaf, 0x01, 0x58, 0xc7, 0xc5, 0xd4, 0xb0, 0x8c, 0x89, 0x01, 0x3a, 0xcb, 0x70, 0x5e, 0xfb, 0xa9, + 0x30, 0x39, 0x54, 0xc6, 0x82, 0xc9, 0x01, 0xa5, 0xd9, 0x38, 0x0f, 0xf1, 0x91, 0x69, 0x20, 0xd2, + 0xdd, 0x4a, 0xd2, 0xa5, 0x37, 0xa1, 0x0a, 0x93, 0xea, 0xc1, 0x6e, 0x99, 0x31, 0x83, 0xbc, 0xeb, + 0xcf, 0x00, 0xf2, 0xda, 0x1f, 0xf9, 0xc1, 0x82, 0x82, 0x19, 0x11, 0x64, 0x39, 0xd5, 0xc1, 0xeb, + 0xf3, 0xa8, 0xb8, 0x32, 0x1e, 0x68, 0x24, 0x3a, 0xd7, 0xbf, 0xfb, 0xe3, 0x9f, 0xe7, 0x93, 0x1e, + 0x59, 0xf3, 0xee, 0xb1, 0x2a, 0x8b, 0x64, 0x4c, 0x43, 0xf5, 0x45, 0x76, 0x68, 0x93, 0x79, 0xd9, + 0xf3, 0x9e, 0xfc, 0x6e, 0x9d, 0x6c, 0xb4, 0x64, 0x3d, 0x9b, 0x33, 0x6b, 0x7e, 0x15, 0xaf, 0xbd, + 0x91, 0x0d, 0x4a, 0xde, 0xd6, 0x92, 0xef, 0x90, 0xdb, 0xa7, 0x95, 0x9c, 0xfc, 0x03, 0xe2, 0x75, + 0x83, 0x5a, 0x8f, 0xbc, 0xb0, 0x60, 0x2e, 0xe9, 0x7f, 0x2b, 0x0c, 0x47, 0xc5, 0x90, 0x35, 0xdd, + 0x46, 0xc5, 0x90, 0x39, 0xa7, 0x9c, 0xbb, 0x3a, 0x86, 0x9b, 0x64, 0xf3, 0xff, 0xc5, 0x40, 0x9e, + 0x5b, 0x90, 0xd3, 0x6f, 0xfb, 0x4a, 0x36, 0xfb, 0xd0, 0x9c, 0x29, 0x2e, 0x8d, 0x83, 0xa1, 0xae, + 0xcf, 0xb4, 0xae, 0x4d, 0xb2, 0x71, 0x4a, 0x5d, 0x6a, 0xe5, 0x75, 0xcd, 0x1b, 0xed, 0x91, 0x1f, + 0x2d, 0xc8, 0xa9, 0x29, 0x30, 0x4a, 0xd5, 0xd0, 0x10, 0x1a, 0xa5, 0x6a, 0x78, 0xfa, 0x38, 0x77, + 0xb4, 0xaa, 0x1b, 0xe4, 0xfa, 0x29, 0x55, 0xa9, 0x19, 0xe4, 0x75, 0x71, 0xa0, 0xf5, 0xc8, 0x4f, + 0x16, 0xe4, 0x75, 0x9b, 0x21, 0x63, 0xd2, 0x30, 0xf8, 0xa6, 0xcb, 0x63, 0x71, 0x6f, 0x91, 0x2f, + 0xe1, 0x75, 0xf5, 0xe4, 0xeb, 0x91, 0x9f, 0x2d, 0xc8, 0xeb, 0x6e, 0x33, 0x4a, 0xd8, 0x70, 0xc3, + 0x1b, 0x25, 0x2c, 0xd1, 0xe9, 0xde, 0xb8, 0xc0, 0x74, 0xd7, 0xf1, 0xba, 0xd8, 0x3e, 0x7b, 0xe4, + 0x99, 0x05, 0x53, 0x15, 0x26, 0xc9, 0xe5, 0x6c, 0xc2, 0xe3, 0x96, 0x58, 0xbc, 0x32, 0x06, 0x85, + 0xa2, 0x3e, 0xd5, 0xa2, 0x36, 0xc8, 0xfa, 0x29, 0x45, 0x09, 0x26, 0xbd, 0xae, 0x6e, 0xaf, 0xbd, + 0xb2, 0xff, 0xf2, 0xb0, 0x64, 0xbd, 0x3a, 0x2c, 0x59, 0x7f, 0x1f, 0x96, 0xac, 0xef, 0x8f, 0x4a, + 0x13, 0xaf, 0x8e, 0x4a, 0x13, 0x7f, 0x1e, 0x95, 0x26, 0xbe, 0xbe, 0x59, 0x0f, 0x64, 0xa3, 0xbd, + 0xef, 0x56, 0x79, 0x73, 0xa4, 0xdf, 0x6f, 0x87, 0xd6, 0xb2, 0xd3, 0x62, 0x62, 0xbf, 0xa0, 0xff, + 0xd3, 0x5f, 0xfb, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x24, 0xfb, 0x0c, 0x83, 0x0d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -755,6 +946,10 @@ type QueryClient interface { User(ctx context.Context, in *QueryUserRequest, opts ...grpc.CallOption) (*QueryUserResponse, error) // Queries a list of Cards items. Cards(ctx context.Context, in *QueryCardsRequest, opts ...grpc.CallOption) (*QueryCardsResponse, error) + // Queries a list of Match items. + Match(ctx context.Context, in *QueryMatchRequest, opts ...grpc.CallOption) (*QueryMatchResponse, error) + // Queries a list of Set items. + Set(ctx context.Context, in *QuerySetRequest, opts ...grpc.CallOption) (*QuerySetResponse, error) } type queryClient struct { @@ -819,6 +1014,24 @@ func (c *queryClient) Cards(ctx context.Context, in *QueryCardsRequest, opts ... return out, nil } +func (c *queryClient) Match(ctx context.Context, in *QueryMatchRequest, opts ...grpc.CallOption) (*QueryMatchResponse, error) { + out := new(QueryMatchResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Match", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) Set(ctx context.Context, in *QuerySetRequest, opts ...grpc.CallOption) (*QuerySetResponse, error) { + out := new(QuerySetResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Set", 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. @@ -832,6 +1045,10 @@ type QueryServer interface { User(context.Context, *QueryUserRequest) (*QueryUserResponse, error) // Queries a list of Cards items. Cards(context.Context, *QueryCardsRequest) (*QueryCardsResponse, error) + // Queries a list of Match items. + Match(context.Context, *QueryMatchRequest) (*QueryMatchResponse, error) + // Queries a list of Set items. + Set(context.Context, *QuerySetRequest) (*QuerySetResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -856,6 +1073,12 @@ func (*UnimplementedQueryServer) User(ctx context.Context, req *QueryUserRequest func (*UnimplementedQueryServer) Cards(ctx context.Context, req *QueryCardsRequest) (*QueryCardsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Cards not implemented") } +func (*UnimplementedQueryServer) Match(ctx context.Context, req *QueryMatchRequest) (*QueryMatchResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Match not implemented") +} +func (*UnimplementedQueryServer) Set(ctx context.Context, req *QuerySetRequest) (*QuerySetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Set not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -969,6 +1192,42 @@ func _Query_Cards_Handler(srv interface{}, ctx context.Context, dec func(interfa return interceptor(ctx, in, info, handler) } +func _Query_Match_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryMatchRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Match(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/Match", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Match(ctx, req.(*QueryMatchRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_Set_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QuerySetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Set(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/Set", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Set(ctx, req.(*QuerySetRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -998,6 +1257,14 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Cards", Handler: _Query_Cards_Handler, }, + { + MethodName: "Match", + Handler: _Query_Match_Handler, + }, + { + MethodName: "Set", + Handler: _Query_Set_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -1533,75 +1800,205 @@ func (m *QueryCardsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { 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++ +func (m *QueryMatchRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *QueryParamsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n + +func (m *QueryMatchRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryParamsResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryMatchRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = m.Params.Size() - n += 1 + l + sovQuery(uint64(l)) - return n + if len(m.MatchId) > 0 { + i -= len(m.MatchId) + copy(dAtA[i:], m.MatchId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.MatchId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *QueryGetProductDetailsRequest) Size() (n int) { - if m == nil { - return 0 +func (m *QueryMatchResponse) 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 *QueryMatchResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryMatchResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.Id != 0 { - n += 1 + sovQuery(uint64(m.Id)) + if m.Match != nil { + { + size, err := m.Match.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *QueryGetProductDetailsResponse) Size() (n int) { - if m == nil { - return 0 +func (m *QuerySetRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - l = m.ProductDetails.Size() - n += 1 + l + sovQuery(uint64(l)) - return n + return dAtA[:n], nil } -func (m *QueryAllProductDetailsRequest) Size() (n int) { - if m == nil { - return 0 - } +func (m *QuerySetRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QuerySetRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + if len(m.SetId) > 0 { + i -= len(m.SetId) + copy(dAtA[i:], m.SetId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.SetId))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *QueryAllProductDetailsResponse) Size() (n int) { - if m == nil { +func (m *QuerySetResponse) 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 *QuerySetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QuerySetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Match != nil { + { + size, err := m.Match.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 *QueryGetProductDetailsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovQuery(uint64(m.Id)) + } + return n +} + +func (m *QueryGetProductDetailsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.ProductDetails.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryAllProductDetailsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAllProductDetailsResponse) Size() (n int) { + if m == nil { return 0 } var l int @@ -1752,6 +2149,58 @@ func (m *QueryCardsResponse) Size() (n int) { return n } +func (m *QueryMatchRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.MatchId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryMatchResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Match != nil { + l = m.Match.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QuerySetRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.SetId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QuerySetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Match != nil { + l = m.Match.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -3244,6 +3693,342 @@ func (m *QueryCardsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryMatchRequest) 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: QueryMatchRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryMatchRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MatchId", 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.MatchId = 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 *QueryMatchResponse) 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: QueryMatchResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryMatchResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Match", 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.Match == nil { + m.Match = &Match{} + } + if err := m.Match.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 *QuerySetRequest) 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: QuerySetRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QuerySetRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetId", 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.SetId = 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 *QuerySetResponse) 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: QuerySetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QuerySetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Match", 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.Match == nil { + m.Match = &SetWithArtwork{} + } + if err := m.Match.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 46e1a706..19739dde 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -321,6 +321,114 @@ func local_request_Query_Cards_0(ctx context.Context, marshaler runtime.Marshale } +func request_Query_Match_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryMatchRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["matchId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "matchId") + } + + protoReq.MatchId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "matchId", err) + } + + msg, err := client.Match(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Match_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryMatchRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["matchId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "matchId") + } + + protoReq.MatchId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "matchId", err) + } + + msg, err := server.Match(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_Set_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QuerySetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["setId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") + } + + protoReq.SetId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) + } + + msg, err := client.Set(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Set_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QuerySetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["setId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") + } + + protoReq.SetId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) + } + + msg, err := server.Set(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. @@ -465,6 +573,52 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_Match_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_Match_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_Match_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Set_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_Set_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_Set_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -626,6 +780,46 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_Match_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_Match_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_Match_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Set_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_Set_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_Set_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -641,6 +835,10 @@ var ( pattern_Query_User_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "user", "address"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_Cards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "cards", "owner"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_Match_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "match", "matchId"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_Set_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "set", "setId"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -655,4 +853,8 @@ var ( forward_Query_User_0 = runtime.ForwardResponseMessage forward_Query_Cards_0 = runtime.ForwardResponseMessage + + forward_Query_Match_0 = runtime.ForwardResponseMessage + + forward_Query_Set_0 = runtime.ForwardResponseMessage ) diff --git a/x/cardchain/types/running_average.pb.go b/x/cardchain/types/running_average.pb.go index 21f80b8f..66809249 100644 --- a/x/cardchain/types/running_average.pb.go +++ b/x/cardchain/types/running_average.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go index 32a2be10..460f7093 100644 --- a/x/cardchain/types/sell_offer.pb.go +++ b/x/cardchain/types/sell_offer.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/server.pb.go b/x/cardchain/types/server.pb.go index ea0ae809..8ed475d1 100644 --- a/x/cardchain/types/server.pb.go +++ b/x/cardchain/types/server.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index d3b01e31..94c81951 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. @@ -23,34 +24,34 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -type CStatus int32 +type SetStatus int32 const ( - CStatus_design CStatus = 0 - CStatus_finalized CStatus = 1 - CStatus_active CStatus = 2 - CStatus_archived CStatus = 3 + SetStatus_design SetStatus = 0 + SetStatus_finalized SetStatus = 1 + SetStatus_active SetStatus = 2 + SetStatus_archived SetStatus = 3 ) -var CStatus_name = map[int32]string{ +var SetStatus_name = map[int32]string{ 0: "design", 1: "finalized", 2: "active", 3: "archived", } -var CStatus_value = map[string]int32{ +var SetStatus_value = map[string]int32{ "design": 0, "finalized": 1, "active": 2, "archived": 3, } -func (x CStatus) String() string { - return proto.EnumName(CStatus_name, int32(x)) +func (x SetStatus) String() string { + return proto.EnumName(SetStatus_name, int32(x)) } -func (CStatus) EnumDescriptor() ([]byte, []int) { +func (SetStatus) EnumDescriptor() ([]byte, []int) { return fileDescriptor_4433f04964645edd, []int{0} } @@ -62,7 +63,7 @@ type Set struct { Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` Story string `protobuf:"bytes,6,opt,name=story,proto3" json:"story,omitempty"` ArtworkId uint64 `protobuf:"varint,7,opt,name=artworkId,proto3" json:"artworkId,omitempty"` - Status CStatus `protobuf:"varint,8,opt,name=status,proto3,enum=cardchain.cardchain.CStatus" json:"status,omitempty"` + Status SetStatus `protobuf:"varint,8,opt,name=status,proto3,enum=cardchain.cardchain.SetStatus" json:"status,omitempty"` TimeStamp int64 `protobuf:"varint,9,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` ContributorsDistribution []*AddrWithQuantity `protobuf:"bytes,10,rep,name=contributorsDistribution,proto3" json:"contributorsDistribution,omitempty"` Rarities []*InnerRarities `protobuf:"bytes,11,rep,name=Rarities,proto3" json:"Rarities,omitempty"` @@ -150,11 +151,11 @@ func (m *Set) GetArtworkId() uint64 { return 0 } -func (m *Set) GetStatus() CStatus { +func (m *Set) GetStatus() SetStatus { if m != nil { return m.Status } - return CStatus_design + return SetStatus_design } func (m *Set) GetTimeStamp() int64 { @@ -283,7 +284,7 @@ func (m *AddrWithQuantity) GetPayment() *types.Coin { } func init() { - proto.RegisterEnum("cardchain.cardchain.CStatus", CStatus_name, CStatus_value) + proto.RegisterEnum("cardchain.cardchain.SetStatus", SetStatus_name, SetStatus_value) proto.RegisterType((*Set)(nil), "cardchain.cardchain.Set") proto.RegisterType((*InnerRarities)(nil), "cardchain.cardchain.InnerRarities") proto.RegisterType((*AddrWithQuantity)(nil), "cardchain.cardchain.AddrWithQuantity") @@ -292,39 +293,39 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/set.proto", fileDescriptor_4433f04964645edd) } var fileDescriptor_4433f04964645edd = []byte{ - // 497 bytes of a gzipped FileDescriptorProto + // 498 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0x4d, 0x6f, 0x13, 0x31, - 0x10, 0x8d, 0xb3, 0x69, 0x3e, 0x26, 0x09, 0x8a, 0x0c, 0x42, 0x06, 0xb5, 0xab, 0x55, 0x24, 0xa4, - 0x15, 0x87, 0x8d, 0x9a, 0x72, 0xe0, 0x54, 0x09, 0x52, 0x09, 0xf5, 0x88, 0x73, 0xa8, 0xc4, 0xcd, - 0x59, 0x9b, 0xc6, 0xa2, 0x6b, 0xa7, 0xf6, 0x24, 0x10, 0x7e, 0x05, 0x3f, 0x87, 0x9f, 0xc0, 0xb1, - 0x47, 0x8e, 0x28, 0xf9, 0x23, 0x68, 0x77, 0xf3, 0x55, 0x14, 0x6e, 0x6f, 0xde, 0xbc, 0xf7, 0x6c, - 0x79, 0xc6, 0x70, 0x96, 0x0a, 0x27, 0xd3, 0xa9, 0xd0, 0x66, 0xb0, 0x47, 0x5e, 0x61, 0x32, 0x73, - 0x16, 0x2d, 0x7d, 0xba, 0x23, 0x93, 0x1d, 0x7a, 0x19, 0xa6, 0xd6, 0x67, 0xd6, 0x0f, 0x26, 0xc2, - 0xab, 0xc1, 0xe2, 0x7c, 0xa2, 0x50, 0x9c, 0x0f, 0x52, 0xab, 0x4d, 0x69, 0xea, 0xff, 0x0c, 0x20, - 0x18, 0x2b, 0xa4, 0x14, 0x6a, 0x46, 0x64, 0x8a, 0x91, 0x88, 0xc4, 0x2d, 0x5e, 0x60, 0xfa, 0x0c, - 0x4e, 0xf2, 0x20, 0xcf, 0xaa, 0x51, 0x10, 0xd7, 0x78, 0x59, 0xd0, 0xe7, 0x50, 0x17, 0x0e, 0xb5, - 0x47, 0x16, 0x14, 0xda, 0x4d, 0x45, 0x23, 0x68, 0x7b, 0xb4, 0x6e, 0x79, 0xe3, 0x34, 0x2a, 0xc7, - 0x6a, 0x45, 0xf3, 0x90, 0xa2, 0x7d, 0xe8, 0xa4, 0xd6, 0xa0, 0xd3, 0x93, 0x39, 0x5a, 0xe7, 0xd9, - 0x49, 0x14, 0xc4, 0x2d, 0xfe, 0x88, 0xcb, 0xcf, 0x2c, 0x2c, 0xac, 0x5e, 0xf8, 0xcb, 0x82, 0x9e, - 0x42, 0x4b, 0x38, 0xfc, 0x6a, 0xdd, 0x97, 0x6b, 0xc9, 0x1a, 0x11, 0x89, 0x6b, 0x7c, 0x4f, 0xd0, - 0x37, 0x50, 0xf7, 0x28, 0x70, 0xee, 0x59, 0x33, 0x22, 0xf1, 0x93, 0xe1, 0x69, 0x72, 0xe4, 0x25, - 0x92, 0xd1, 0xb8, 0xd0, 0xf0, 0x8d, 0x36, 0xcf, 0x44, 0x9d, 0xa9, 0x31, 0x8a, 0x6c, 0xc6, 0x5a, - 0x11, 0x89, 0x03, 0xbe, 0x27, 0xa8, 0x00, 0x76, 0x78, 0xaf, 0x2b, 0xed, 0x4b, 0xac, 0xad, 0x61, - 0x10, 0x05, 0x71, 0x7b, 0xf8, 0xea, 0xe8, 0x29, 0xef, 0xa4, 0x74, 0x37, 0x1a, 0xa7, 0x1f, 0xe7, - 0xc2, 0xa0, 0xc6, 0x25, 0xff, 0x6f, 0x0c, 0xbd, 0x84, 0x26, 0x17, 0x4e, 0xa3, 0x56, 0x9e, 0xb5, - 0x8b, 0xc8, 0xfe, 0xd1, 0xc8, 0x6b, 0x63, 0x94, 0xdb, 0x2a, 0xf9, 0xce, 0xd3, 0x3f, 0x83, 0xee, - 0xa3, 0x16, 0xed, 0x00, 0xe1, 0x8c, 0x14, 0xb3, 0x22, 0xbc, 0xaf, 0xa1, 0xf7, 0xef, 0x65, 0xf2, - 0x29, 0x0b, 0x29, 0xdd, 0x76, 0xca, 0x39, 0xce, 0x5d, 0xf7, 0xac, 0x1a, 0x91, 0xb8, 0xcb, 0xc9, - 0x3d, 0xbd, 0x80, 0xc6, 0x4c, 0x2c, 0x33, 0x65, 0xca, 0xf1, 0xb6, 0x87, 0x2f, 0x92, 0x72, 0x83, - 0x92, 0x7c, 0x83, 0x92, 0xcd, 0x06, 0x25, 0x23, 0xab, 0x0d, 0xdf, 0x2a, 0x5f, 0x5f, 0x42, 0x63, - 0xf3, 0xba, 0x14, 0xa0, 0x2e, 0x95, 0xd7, 0xb7, 0xa6, 0x57, 0xa1, 0x5d, 0x68, 0x7d, 0xd6, 0x46, - 0xdc, 0xe9, 0xef, 0x4a, 0xf6, 0x48, 0xde, 0x12, 0x29, 0xea, 0x85, 0xea, 0x55, 0x69, 0x07, 0x9a, - 0xc2, 0xa5, 0x53, 0xbd, 0x50, 0xb2, 0x17, 0xbc, 0xe7, 0xbf, 0x56, 0x21, 0x79, 0x58, 0x85, 0xe4, - 0xcf, 0x2a, 0x24, 0x3f, 0xd6, 0x61, 0xe5, 0x61, 0x1d, 0x56, 0x7e, 0xaf, 0xc3, 0xca, 0xa7, 0xb7, - 0xb7, 0x1a, 0xa7, 0xf3, 0x49, 0x92, 0xda, 0x6c, 0x70, 0xa5, 0x52, 0x65, 0xd0, 0x89, 0xbb, 0x91, - 0x70, 0xf2, 0x83, 0xc8, 0xd4, 0xc1, 0x2f, 0xf8, 0x76, 0x80, 0x71, 0x39, 0x53, 0x7e, 0x52, 0x2f, - 0xf6, 0xfb, 0xe2, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4c, 0x1a, 0x36, 0x6c, 0x35, 0x03, 0x00, - 0x00, + 0x10, 0x8d, 0xb3, 0x69, 0x9a, 0x9d, 0x24, 0x28, 0x32, 0x08, 0x19, 0x44, 0x57, 0xab, 0x48, 0x48, + 0x2b, 0x0e, 0x1b, 0x35, 0x95, 0x10, 0x27, 0x04, 0xb4, 0x12, 0xea, 0x11, 0xe7, 0x50, 0x89, 0x9b, + 0xb3, 0x36, 0x8d, 0x45, 0xd7, 0x4e, 0xed, 0x49, 0x20, 0xfc, 0x0a, 0x7e, 0x0f, 0xbf, 0x80, 0x63, + 0x8f, 0x1c, 0x51, 0xf2, 0x47, 0xd0, 0xee, 0xe6, 0xab, 0x28, 0xbd, 0xbd, 0x79, 0xf3, 0xde, 0xb3, + 0xe5, 0x19, 0xc3, 0x49, 0x26, 0x9c, 0xcc, 0x26, 0x42, 0x9b, 0xc1, 0x0e, 0x79, 0x85, 0xe9, 0xd4, + 0x59, 0xb4, 0xf4, 0xf1, 0x96, 0x4c, 0xb7, 0xe8, 0x79, 0x94, 0x59, 0x9f, 0x5b, 0x3f, 0x18, 0x0b, + 0xaf, 0x06, 0xf3, 0xd3, 0xb1, 0x42, 0x71, 0x3a, 0xc8, 0xac, 0x36, 0x95, 0xa9, 0xff, 0x2b, 0x80, + 0x60, 0xa4, 0x90, 0x52, 0x68, 0x18, 0x91, 0x2b, 0x46, 0x62, 0x92, 0x84, 0xbc, 0xc4, 0xf4, 0x09, + 0x1c, 0x15, 0x41, 0x9e, 0xd5, 0xe3, 0x20, 0x69, 0xf0, 0xaa, 0xa0, 0x4f, 0xa1, 0x29, 0x1c, 0x6a, + 0x8f, 0x2c, 0x28, 0xb5, 0xeb, 0x8a, 0xc6, 0xd0, 0xf6, 0x68, 0xdd, 0xe2, 0xca, 0x69, 0x54, 0x8e, + 0x35, 0xca, 0xe6, 0x3e, 0x45, 0xfb, 0xd0, 0xc9, 0xac, 0x41, 0xa7, 0xc7, 0x33, 0xb4, 0xce, 0xb3, + 0xa3, 0x38, 0x48, 0x42, 0x7e, 0x8f, 0x2b, 0xce, 0x2c, 0x2d, 0xac, 0x59, 0xfa, 0xab, 0x82, 0xbe, + 0x80, 0x50, 0x38, 0xfc, 0x66, 0xdd, 0xd7, 0x4b, 0xc9, 0x8e, 0x63, 0x92, 0x34, 0xf8, 0x8e, 0xa0, + 0xaf, 0xa1, 0xe9, 0x51, 0xe0, 0xcc, 0xb3, 0x56, 0x4c, 0x92, 0x47, 0xc3, 0x28, 0x3d, 0xf0, 0x12, + 0xe9, 0x48, 0xe1, 0xa8, 0x54, 0xf1, 0xb5, 0xba, 0x48, 0x45, 0x9d, 0xab, 0x11, 0x8a, 0x7c, 0xca, + 0xc2, 0x98, 0x24, 0x01, 0xdf, 0x11, 0x54, 0x00, 0xdb, 0xbf, 0xd9, 0x85, 0xf6, 0x15, 0xd6, 0xd6, + 0x30, 0x88, 0x83, 0xa4, 0x3d, 0x7c, 0x79, 0xf0, 0x9c, 0xf7, 0x52, 0xba, 0x2b, 0x8d, 0x93, 0x4f, + 0x33, 0x61, 0x50, 0xe3, 0x82, 0x3f, 0x18, 0x43, 0xdf, 0x42, 0x8b, 0x0b, 0xa7, 0x51, 0x2b, 0xcf, + 0xda, 0x65, 0x64, 0xff, 0x60, 0xe4, 0xa5, 0x31, 0xca, 0x6d, 0x94, 0x7c, 0xeb, 0xe9, 0x9f, 0x40, + 0xf7, 0x5e, 0x8b, 0x76, 0x80, 0x70, 0x46, 0xca, 0x69, 0x11, 0xde, 0xd7, 0xd0, 0xfb, 0xff, 0x32, + 0xc5, 0x9c, 0x85, 0x94, 0x6e, 0x33, 0xe7, 0x02, 0x17, 0xae, 0x5b, 0x56, 0x8f, 0x49, 0xd2, 0xe5, + 0xe4, 0x96, 0x9e, 0xc1, 0xf1, 0x54, 0x2c, 0x72, 0x65, 0xaa, 0x01, 0xb7, 0x87, 0xcf, 0xd2, 0x6a, + 0x87, 0xd2, 0x62, 0x87, 0xd2, 0xf5, 0x0e, 0xa5, 0xe7, 0x56, 0x1b, 0xbe, 0x51, 0xbe, 0x7a, 0x07, + 0xe1, 0xf6, 0x7d, 0x29, 0x40, 0x53, 0x2a, 0xaf, 0xaf, 0x4d, 0xaf, 0x46, 0xbb, 0x10, 0x7e, 0xd1, + 0x46, 0xdc, 0xe8, 0x1f, 0x4a, 0xf6, 0x48, 0xd1, 0x12, 0x19, 0xea, 0xb9, 0xea, 0xd5, 0x69, 0x07, + 0x5a, 0xc2, 0x65, 0x13, 0x3d, 0x57, 0xb2, 0x17, 0x7c, 0xe0, 0xbf, 0x97, 0x11, 0xb9, 0x5b, 0x46, + 0xe4, 0xef, 0x32, 0x22, 0x3f, 0x57, 0x51, 0xed, 0x6e, 0x15, 0xd5, 0xfe, 0xac, 0xa2, 0xda, 0xe7, + 0x37, 0xd7, 0x1a, 0x27, 0xb3, 0x71, 0x9a, 0xd9, 0x7c, 0x70, 0xa1, 0x32, 0x65, 0xd0, 0x89, 0x9b, + 0x73, 0xe1, 0xe4, 0x47, 0x91, 0xab, 0xbd, 0x9f, 0xf0, 0x7d, 0x0f, 0xe3, 0x62, 0xaa, 0xfc, 0xb8, + 0x59, 0xee, 0xf8, 0xd9, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc8, 0xc2, 0x6b, 0xe5, 0x39, 0x03, + 0x00, 0x00, } func (m *Set) Marshal() (dAtA []byte, err error) { @@ -946,7 +947,7 @@ func (m *Set) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Status |= CStatus(b&0x7F) << shift + m.Status |= SetStatus(b&0x7F) << shift if b < 0x80 { break } diff --git a/x/cardchain/types/set_with_artwork.pb.go b/x/cardchain/types/set_with_artwork.pb.go index 04e0c25e..31f9721e 100644 --- a/x/cardchain/types/set_with_artwork.pb.go +++ b/x/cardchain/types/set_with_artwork.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index 182c66f7..dd34e69e 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -16,9 +20,6 @@ import ( 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. diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index f70e234d..bc73282c 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go index 6911a3d0..45e01b16 100644 --- a/x/cardchain/types/voting.pb.go +++ b/x/cardchain/types/voting.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go index 30e9aaf4..36bda627 100644 --- a/x/cardchain/types/zealy.pb.go +++ b/x/cardchain/types/zealy.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/flag.pb.go b/x/featureflag/types/flag.pb.go index e1dd5d4d..9ea00283 100644 --- a/x/featureflag/types/flag.pb.go +++ b/x/featureflag/types/flag.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/genesis.pb.go b/x/featureflag/types/genesis.pb.go index da869d10..6113e755 100644 --- a/x/featureflag/types/genesis.pb.go +++ b/x/featureflag/types/genesis.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/params.pb.go b/x/featureflag/types/params.pb.go index 46dbabd7..41595524 100644 --- a/x/featureflag/types/params.pb.go +++ b/x/featureflag/types/params.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/query.pb.go b/x/featureflag/types/query.pb.go index 2ec990b9..e7d3b919 100644 --- a/x/featureflag/types/query.pb.go +++ b/x/featureflag/types/query.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -15,9 +19,6 @@ import ( 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. diff --git a/x/featureflag/types/tx.pb.go b/x/featureflag/types/tx.pb.go index af61eaab..94b4be1b 100644 --- a/x/featureflag/types/tx.pb.go +++ b/x/featureflag/types/tx.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -15,9 +19,6 @@ import ( 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. From f81143155c72a810ef9836499b1ab852e2bdbdac Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 12:53:48 +0100 Subject: [PATCH 43/99] feat(#242): Added council and sellOffer query proto --- api/cardchain/cardchain/query.pulsar.go | 2397 +++++++++++++++++++--- api/cardchain/cardchain/query_grpc.pb.go | 78 + docs/static/openapi.yml | 2 +- gen_queries.sh | 6 +- proto/cardchain/cardchain/query.proto | 30 + x/cardchain/keeper/query_council.go | 23 + x/cardchain/keeper/query_sell_offer.go | 23 + x/cardchain/module/autocli.go | 14 + x/cardchain/types/query.pb.go | 901 +++++++- x/cardchain/types/query.pb.gw.go | 202 ++ 10 files changed, 3362 insertions(+), 314 deletions(-) create mode 100644 x/cardchain/keeper/query_council.go create mode 100644 x/cardchain/keeper/query_sell_offer.go diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 41680fe9..fdf2b865 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -8129,6 +8129,1684 @@ func (x *fastReflection_QuerySetResponse) ProtoMethods() *protoiface.Methods { } } +var ( + md_QuerySellOfferRequest protoreflect.MessageDescriptor + fd_QuerySellOfferRequest_sellOfferId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QuerySellOfferRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySellOfferRequest") + fd_QuerySellOfferRequest_sellOfferId = md_QuerySellOfferRequest.Fields().ByName("sellOfferId") +} + +var _ protoreflect.Message = (*fastReflection_QuerySellOfferRequest)(nil) + +type fastReflection_QuerySellOfferRequest QuerySellOfferRequest + +func (x *QuerySellOfferRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QuerySellOfferRequest)(x) +} + +func (x *QuerySellOfferRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QuerySellOfferRequest_messageType fastReflection_QuerySellOfferRequest_messageType +var _ protoreflect.MessageType = fastReflection_QuerySellOfferRequest_messageType{} + +type fastReflection_QuerySellOfferRequest_messageType struct{} + +func (x fastReflection_QuerySellOfferRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QuerySellOfferRequest)(nil) +} +func (x fastReflection_QuerySellOfferRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QuerySellOfferRequest) +} +func (x fastReflection_QuerySellOfferRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySellOfferRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QuerySellOfferRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySellOfferRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QuerySellOfferRequest) Type() protoreflect.MessageType { + return _fastReflection_QuerySellOfferRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QuerySellOfferRequest) New() protoreflect.Message { + return new(fastReflection_QuerySellOfferRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QuerySellOfferRequest) Interface() protoreflect.ProtoMessage { + return (*QuerySellOfferRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QuerySellOfferRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.SellOfferId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SellOfferId) + if !f(fd_QuerySellOfferRequest_sellOfferId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QuerySellOfferRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOfferRequest.sellOfferId": + return x.SellOfferId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOfferRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOfferRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOfferRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOfferRequest.sellOfferId": + x.SellOfferId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOfferRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOfferRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QuerySellOfferRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QuerySellOfferRequest.sellOfferId": + value := x.SellOfferId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOfferRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOfferRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOfferRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOfferRequest.sellOfferId": + x.SellOfferId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOfferRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOfferRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOfferRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOfferRequest.sellOfferId": + panic(fmt.Errorf("field sellOfferId of message cardchain.cardchain.QuerySellOfferRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOfferRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOfferRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QuerySellOfferRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOfferRequest.sellOfferId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOfferRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOfferRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QuerySellOfferRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QuerySellOfferRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QuerySellOfferRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOfferRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QuerySellOfferRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QuerySellOfferRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QuerySellOfferRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.SellOfferId != 0 { + n += 1 + runtime.Sov(uint64(x.SellOfferId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QuerySellOfferRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.SellOfferId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SellOfferId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QuerySellOfferRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySellOfferRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySellOfferRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) + } + x.SellOfferId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SellOfferId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QuerySellOfferResponse protoreflect.MessageDescriptor + fd_QuerySellOfferResponse_sellOffer protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QuerySellOfferResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySellOfferResponse") + fd_QuerySellOfferResponse_sellOffer = md_QuerySellOfferResponse.Fields().ByName("sellOffer") +} + +var _ protoreflect.Message = (*fastReflection_QuerySellOfferResponse)(nil) + +type fastReflection_QuerySellOfferResponse QuerySellOfferResponse + +func (x *QuerySellOfferResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QuerySellOfferResponse)(x) +} + +func (x *QuerySellOfferResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QuerySellOfferResponse_messageType fastReflection_QuerySellOfferResponse_messageType +var _ protoreflect.MessageType = fastReflection_QuerySellOfferResponse_messageType{} + +type fastReflection_QuerySellOfferResponse_messageType struct{} + +func (x fastReflection_QuerySellOfferResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QuerySellOfferResponse)(nil) +} +func (x fastReflection_QuerySellOfferResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QuerySellOfferResponse) +} +func (x fastReflection_QuerySellOfferResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySellOfferResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QuerySellOfferResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySellOfferResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QuerySellOfferResponse) Type() protoreflect.MessageType { + return _fastReflection_QuerySellOfferResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QuerySellOfferResponse) New() protoreflect.Message { + return new(fastReflection_QuerySellOfferResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QuerySellOfferResponse) Interface() protoreflect.ProtoMessage { + return (*QuerySellOfferResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QuerySellOfferResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.SellOffer != nil { + value := protoreflect.ValueOfMessage(x.SellOffer.ProtoReflect()) + if !f(fd_QuerySellOfferResponse_sellOffer, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QuerySellOfferResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOfferResponse.sellOffer": + return x.SellOffer != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOfferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOfferResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOfferResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOfferResponse.sellOffer": + x.SellOffer = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOfferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOfferResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QuerySellOfferResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QuerySellOfferResponse.sellOffer": + value := x.SellOffer + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOfferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOfferResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOfferResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOfferResponse.sellOffer": + x.SellOffer = value.Message().Interface().(*SellOffer) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOfferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOfferResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOfferResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOfferResponse.sellOffer": + if x.SellOffer == nil { + x.SellOffer = new(SellOffer) + } + return protoreflect.ValueOfMessage(x.SellOffer.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOfferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOfferResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QuerySellOfferResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOfferResponse.sellOffer": + m := new(SellOffer) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOfferResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOfferResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QuerySellOfferResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QuerySellOfferResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QuerySellOfferResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOfferResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QuerySellOfferResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QuerySellOfferResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QuerySellOfferResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.SellOffer != nil { + l = options.Size(x.SellOffer) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QuerySellOfferResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.SellOffer != nil { + encoded, err := options.Marshal(x.SellOffer) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QuerySellOfferResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySellOfferResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySellOfferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SellOffer", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.SellOffer == nil { + x.SellOffer = &SellOffer{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.SellOffer); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryCouncilRequest protoreflect.MessageDescriptor + fd_QueryCouncilRequest_councilId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryCouncilRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCouncilRequest") + fd_QueryCouncilRequest_councilId = md_QueryCouncilRequest.Fields().ByName("councilId") +} + +var _ protoreflect.Message = (*fastReflection_QueryCouncilRequest)(nil) + +type fastReflection_QueryCouncilRequest QueryCouncilRequest + +func (x *QueryCouncilRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCouncilRequest)(x) +} + +func (x *QueryCouncilRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCouncilRequest_messageType fastReflection_QueryCouncilRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryCouncilRequest_messageType{} + +type fastReflection_QueryCouncilRequest_messageType struct{} + +func (x fastReflection_QueryCouncilRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCouncilRequest)(nil) +} +func (x fastReflection_QueryCouncilRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCouncilRequest) +} +func (x fastReflection_QueryCouncilRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCouncilRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCouncilRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCouncilRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCouncilRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryCouncilRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCouncilRequest) New() protoreflect.Message { + return new(fastReflection_QueryCouncilRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCouncilRequest) Interface() protoreflect.ProtoMessage { + return (*QueryCouncilRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCouncilRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CouncilId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CouncilId) + if !f(fd_QueryCouncilRequest_councilId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCouncilRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryCouncilRequest.councilId": + return x.CouncilId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCouncilRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCouncilRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCouncilRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCouncilRequest.councilId": + x.CouncilId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCouncilRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCouncilRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCouncilRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryCouncilRequest.councilId": + value := x.CouncilId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCouncilRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCouncilRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCouncilRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCouncilRequest.councilId": + x.CouncilId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCouncilRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCouncilRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCouncilRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCouncilRequest.councilId": + panic(fmt.Errorf("field councilId of message cardchain.cardchain.QueryCouncilRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCouncilRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCouncilRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCouncilRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCouncilRequest.councilId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCouncilRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCouncilRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCouncilRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCouncilRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCouncilRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCouncilRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCouncilRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCouncilRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCouncilRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.CouncilId != 0 { + n += 1 + runtime.Sov(uint64(x.CouncilId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCouncilRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CouncilId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CouncilId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCouncilRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCouncilRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCouncilRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) + } + x.CouncilId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CouncilId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryCouncilResponse protoreflect.MessageDescriptor + fd_QueryCouncilResponse_council protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryCouncilResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCouncilResponse") + fd_QueryCouncilResponse_council = md_QueryCouncilResponse.Fields().ByName("council") +} + +var _ protoreflect.Message = (*fastReflection_QueryCouncilResponse)(nil) + +type fastReflection_QueryCouncilResponse QueryCouncilResponse + +func (x *QueryCouncilResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCouncilResponse)(x) +} + +func (x *QueryCouncilResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCouncilResponse_messageType fastReflection_QueryCouncilResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryCouncilResponse_messageType{} + +type fastReflection_QueryCouncilResponse_messageType struct{} + +func (x fastReflection_QueryCouncilResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCouncilResponse)(nil) +} +func (x fastReflection_QueryCouncilResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCouncilResponse) +} +func (x fastReflection_QueryCouncilResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCouncilResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCouncilResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCouncilResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCouncilResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryCouncilResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCouncilResponse) New() protoreflect.Message { + return new(fastReflection_QueryCouncilResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCouncilResponse) Interface() protoreflect.ProtoMessage { + return (*QueryCouncilResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCouncilResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Council != nil { + value := protoreflect.ValueOfMessage(x.Council.ProtoReflect()) + if !f(fd_QueryCouncilResponse_council, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCouncilResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryCouncilResponse.council": + return x.Council != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCouncilResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCouncilResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCouncilResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCouncilResponse.council": + x.Council = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCouncilResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCouncilResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCouncilResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryCouncilResponse.council": + value := x.Council + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCouncilResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCouncilResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCouncilResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCouncilResponse.council": + x.Council = value.Message().Interface().(*Council) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCouncilResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCouncilResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCouncilResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCouncilResponse.council": + if x.Council == nil { + x.Council = new(Council) + } + return protoreflect.ValueOfMessage(x.Council.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCouncilResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCouncilResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCouncilResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCouncilResponse.council": + m := new(Council) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCouncilResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCouncilResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCouncilResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCouncilResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCouncilResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCouncilResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCouncilResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCouncilResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCouncilResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Council != nil { + l = options.Size(x.Council) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCouncilResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Council != nil { + encoded, err := options.Marshal(x.Council) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCouncilResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCouncilResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Council", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Council == nil { + x.Council = &Council{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Council); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -8792,6 +10470,146 @@ func (x *QuerySetResponse) GetMatch() *SetWithArtwork { return nil } +type QuerySellOfferRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SellOfferId uint64 `protobuf:"varint,1,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` +} + +func (x *QuerySellOfferRequest) Reset() { + *x = QuerySellOfferRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QuerySellOfferRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QuerySellOfferRequest) ProtoMessage() {} + +// Deprecated: Use QuerySellOfferRequest.ProtoReflect.Descriptor instead. +func (*QuerySellOfferRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{16} +} + +func (x *QuerySellOfferRequest) GetSellOfferId() uint64 { + if x != nil { + return x.SellOfferId + } + return 0 +} + +type QuerySellOfferResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SellOffer *SellOffer `protobuf:"bytes,1,opt,name=sellOffer,proto3" json:"sellOffer,omitempty"` +} + +func (x *QuerySellOfferResponse) Reset() { + *x = QuerySellOfferResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QuerySellOfferResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QuerySellOfferResponse) ProtoMessage() {} + +// Deprecated: Use QuerySellOfferResponse.ProtoReflect.Descriptor instead. +func (*QuerySellOfferResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{17} +} + +func (x *QuerySellOfferResponse) GetSellOffer() *SellOffer { + if x != nil { + return x.SellOffer + } + return nil +} + +type QueryCouncilRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CouncilId uint64 `protobuf:"varint,1,opt,name=councilId,proto3" json:"councilId,omitempty"` +} + +func (x *QueryCouncilRequest) Reset() { + *x = QueryCouncilRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCouncilRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCouncilRequest) ProtoMessage() {} + +// Deprecated: Use QueryCouncilRequest.ProtoReflect.Descriptor instead. +func (*QueryCouncilRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{18} +} + +func (x *QueryCouncilRequest) GetCouncilId() uint64 { + if x != nil { + return x.CouncilId + } + return 0 +} + +type QueryCouncilResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Council *Council `protobuf:"bytes,1,opt,name=council,proto3" json:"council,omitempty"` +} + +func (x *QueryCouncilResponse) Reset() { + *x = QueryCouncilResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCouncilResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCouncilResponse) ProtoMessage() {} + +// Deprecated: Use QueryCouncilResponse.ProtoReflect.Descriptor instead. +func (*QueryCouncilResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{19} +} + +func (x *QueryCouncilResponse) GetCouncil() *Council { + if x != nil { + return x.Council + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -8821,205 +10639,248 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, - 0x5f, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, - 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, - 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, - 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, - 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, - 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, - 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, - 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, - 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, - 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, - 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, - 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, - 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, - 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, - 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, - 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, - 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, - 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, - 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, - 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, - 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, - 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, - 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x32, 0x8e, 0x0a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, + 0x5f, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, + 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, + 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, + 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, + 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, + 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, - 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, + 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, + 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, + 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, + 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, + 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, + 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, + 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, + 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, + 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, + 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, + 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, + 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, + 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, + 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, + 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, + 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x07, + 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x32, 0xe3, 0x0c, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, + 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, + 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, + 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, + 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, + 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, + 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, - 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x42, 0xd2, 0x01, + 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -9034,7 +10895,7 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse @@ -9052,54 +10913,66 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryMatchResponse)(nil), // 13: cardchain.cardchain.QueryMatchResponse (*QuerySetRequest)(nil), // 14: cardchain.cardchain.QuerySetRequest (*QuerySetResponse)(nil), // 15: cardchain.cardchain.QuerySetResponse - (*Params)(nil), // 16: cardchain.cardchain.Params - (*ProductDetails)(nil), // 17: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 18: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 19: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 20: cardchain.cardchain.CardWithImage - (*User)(nil), // 21: cardchain.cardchain.User - (CardStatus)(0), // 22: cardchain.cardchain.CardStatus - (CardType)(0), // 23: cardchain.cardchain.CardType - (CardClass)(0), // 24: cardchain.cardchain.CardClass - (CardRarity)(0), // 25: cardchain.cardchain.CardRarity - (*Match)(nil), // 26: cardchain.cardchain.Match - (*SetWithArtwork)(nil), // 27: cardchain.cardchain.SetWithArtwork + (*QuerySellOfferRequest)(nil), // 16: cardchain.cardchain.QuerySellOfferRequest + (*QuerySellOfferResponse)(nil), // 17: cardchain.cardchain.QuerySellOfferResponse + (*QueryCouncilRequest)(nil), // 18: cardchain.cardchain.QueryCouncilRequest + (*QueryCouncilResponse)(nil), // 19: cardchain.cardchain.QueryCouncilResponse + (*Params)(nil), // 20: cardchain.cardchain.Params + (*ProductDetails)(nil), // 21: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 22: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 23: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 24: cardchain.cardchain.CardWithImage + (*User)(nil), // 25: cardchain.cardchain.User + (CardStatus)(0), // 26: cardchain.cardchain.CardStatus + (CardType)(0), // 27: cardchain.cardchain.CardType + (CardClass)(0), // 28: cardchain.cardchain.CardClass + (CardRarity)(0), // 29: cardchain.cardchain.CardRarity + (*Match)(nil), // 30: cardchain.cardchain.Match + (*SetWithArtwork)(nil), // 31: cardchain.cardchain.SetWithArtwork + (*SellOffer)(nil), // 32: cardchain.cardchain.SellOffer + (*Council)(nil), // 33: cardchain.cardchain.Council } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 16, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 17, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 18, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 17, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 19, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 20, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 21, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 22, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus - 23, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType - 24, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass - 25, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity - 26, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match - 27, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork - 0, // 13: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 14: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 15: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 16: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 17: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 18: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 12, // 19: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest - 14, // 20: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest - 1, // 21: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 22: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 23: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 24: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 25: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 26: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 13, // 27: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse - 15, // 28: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse - 21, // [21:29] is the sub-list for method output_type - 13, // [13:21] is the sub-list for method input_type - 13, // [13:13] is the sub-list for extension type_name - 13, // [13:13] is the sub-list for extension extendee - 0, // [0:13] is the sub-list for field type_name + 20, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 21, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 22, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 21, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 23, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 24, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 25, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 26, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 27, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 28, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 29, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 30, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match + 31, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork + 32, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer + 33, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council + 0, // 15: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 16: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 17: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 18: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 19: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 10, // 20: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 12, // 21: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest + 14, // 22: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest + 16, // 23: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest + 18, // 24: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest + 1, // 25: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 26: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 27: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 28: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 29: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 30: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 13, // 31: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse + 15, // 32: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse + 17, // 33: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse + 19, // 34: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse + 25, // [25:35] is the sub-list for method output_type + 15, // [15:25] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -9114,6 +10987,8 @@ func file_cardchain_cardchain_query_proto_init() { file_cardchain_cardchain_card_proto_init() file_cardchain_cardchain_match_proto_init() file_cardchain_cardchain_set_with_artwork_proto_init() + file_cardchain_cardchain_sell_offer_proto_init() + file_cardchain_cardchain_council_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsRequest); i { @@ -9307,6 +11182,54 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuerySellOfferRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuerySellOfferResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryCouncilRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryCouncilResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -9314,7 +11237,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 16, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 7580e9e9..b2baa8da 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -28,6 +28,8 @@ const ( Query_Cards_FullMethodName = "/cardchain.cardchain.Query/Cards" Query_Match_FullMethodName = "/cardchain.cardchain.Query/Match" Query_Set_FullMethodName = "/cardchain.cardchain.Query/Set" + Query_SellOffer_FullMethodName = "/cardchain.cardchain.Query/SellOffer" + Query_Council_FullMethodName = "/cardchain.cardchain.Query/Council" ) // QueryClient is the client API for Query service. @@ -49,6 +51,10 @@ type QueryClient interface { Match(ctx context.Context, in *QueryMatchRequest, opts ...grpc.CallOption) (*QueryMatchResponse, error) // Queries a list of Set items. Set(ctx context.Context, in *QuerySetRequest, opts ...grpc.CallOption) (*QuerySetResponse, error) + // Queries a list of SellOffer items. + SellOffer(ctx context.Context, in *QuerySellOfferRequest, opts ...grpc.CallOption) (*QuerySellOfferResponse, error) + // Queries a list of Council items. + Council(ctx context.Context, in *QueryCouncilRequest, opts ...grpc.CallOption) (*QueryCouncilResponse, error) } type queryClient struct { @@ -131,6 +137,24 @@ func (c *queryClient) Set(ctx context.Context, in *QuerySetRequest, opts ...grpc return out, nil } +func (c *queryClient) SellOffer(ctx context.Context, in *QuerySellOfferRequest, opts ...grpc.CallOption) (*QuerySellOfferResponse, error) { + out := new(QuerySellOfferResponse) + err := c.cc.Invoke(ctx, Query_SellOffer_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) Council(ctx context.Context, in *QueryCouncilRequest, opts ...grpc.CallOption) (*QueryCouncilResponse, error) { + out := new(QueryCouncilResponse) + err := c.cc.Invoke(ctx, Query_Council_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -150,6 +174,10 @@ type QueryServer interface { Match(context.Context, *QueryMatchRequest) (*QueryMatchResponse, error) // Queries a list of Set items. Set(context.Context, *QuerySetRequest) (*QuerySetResponse, error) + // Queries a list of SellOffer items. + SellOffer(context.Context, *QuerySellOfferRequest) (*QuerySellOfferResponse, error) + // Queries a list of Council items. + Council(context.Context, *QueryCouncilRequest) (*QueryCouncilResponse, error) mustEmbedUnimplementedQueryServer() } @@ -181,6 +209,12 @@ func (UnimplementedQueryServer) Match(context.Context, *QueryMatchRequest) (*Que func (UnimplementedQueryServer) Set(context.Context, *QuerySetRequest) (*QuerySetResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Set not implemented") } +func (UnimplementedQueryServer) SellOffer(context.Context, *QuerySellOfferRequest) (*QuerySellOfferResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOffer not implemented") +} +func (UnimplementedQueryServer) Council(context.Context, *QueryCouncilRequest) (*QueryCouncilResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Council not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -338,6 +372,42 @@ func _Query_Set_Handler(srv interface{}, ctx context.Context, dec func(interface return interceptor(ctx, in, info, handler) } +func _Query_SellOffer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QuerySellOfferRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).SellOffer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_SellOffer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).SellOffer(ctx, req.(*QuerySellOfferRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_Council_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCouncilRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Council(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Council_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Council(ctx, req.(*QueryCouncilRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -377,6 +447,14 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Set", Handler: _Query_Set_Handler, }, + { + MethodName: "SellOffer", + Handler: _Query_SellOffer_Handler, + }, + { + MethodName: "Council", + Handler: _Query_Council_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index e020f990..082160dc 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin22","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin23","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin22","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin23","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index ebd211dc..5470f5d8 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -5,5 +5,7 @@ set -o pipefail # ---ignite scaffold query card_content cardId:uint --response card:Card #ignite scaffold query user address:string --response user:User #ignite scaffold query cards owner --response cardIds:uints -ignite scaffold query match matchId --response match:Match -ignite scaffold query set setId --response match:SetWithArtwork +#ignite scaffold query match matchId --response match:Match +#ignite scaffold query set setId --response match:SetWithArtwork +ignite scaffold query sellOffer sellOfferId:uint --response sellOffer:SellOffer +ignite scaffold query council councilId:uint --response council:Council diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 99c16ba0..c7873509 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -13,6 +13,8 @@ import "cardchain/cardchain/user.proto"; import "cardchain/cardchain/card.proto"; import "cardchain/cardchain/match.proto"; import "cardchain/cardchain/set_with_artwork.proto"; +import "cardchain/cardchain/sell_offer.proto"; +import "cardchain/cardchain/council.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; @@ -64,6 +66,18 @@ service Query { option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/set/{setId}"; } + + // Queries a list of SellOffer items. + rpc SellOffer (QuerySellOfferRequest) returns (QuerySellOfferResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}"; + + } + + // Queries a list of Council items. + rpc Council (QueryCouncilRequest) returns (QueryCouncilResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/council/{councilId}"; + + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -143,3 +157,19 @@ message QuerySetResponse { SetWithArtwork match = 1; } +message QuerySellOfferRequest { + uint64 sellOfferId = 1; +} + +message QuerySellOfferResponse { + SellOffer sellOffer = 1; +} + +message QueryCouncilRequest { + uint64 councilId = 1; +} + +message QueryCouncilResponse { + Council council = 1; +} + diff --git a/x/cardchain/keeper/query_council.go b/x/cardchain/keeper/query_council.go new file mode 100644 index 00000000..30d5a9b2 --- /dev/null +++ b/x/cardchain/keeper/query_council.go @@ -0,0 +1,23 @@ +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) Council(goCtx context.Context, req *types.QueryCouncilRequest) (*types.QueryCouncilResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryCouncilResponse{}, nil +} diff --git a/x/cardchain/keeper/query_sell_offer.go b/x/cardchain/keeper/query_sell_offer.go new file mode 100644 index 00000000..1978ab32 --- /dev/null +++ b/x/cardchain/keeper/query_sell_offer.go @@ -0,0 +1,23 @@ +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) SellOffer(goCtx context.Context, req *types.QuerySellOfferRequest) (*types.QuerySellOfferResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QuerySellOfferResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 01333665..890065e6 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -63,6 +63,20 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}}, }, + { + RpcMethod: "SellOffer", + Use: "sell-offer [sell-offer-id]", + Short: "Query sellOffer", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "sellOfferId"}}, + }, + + { + RpcMethod: "Council", + Use: "council [council-id]", + Short: "Query council", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "councilId"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 21b55359..8c487e18 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -827,6 +827,182 @@ func (m *QuerySetResponse) GetMatch() *SetWithArtwork { return nil } +type QuerySellOfferRequest struct { + SellOfferId uint64 `protobuf:"varint,1,opt,name=sellOfferId,proto3" json:"sellOfferId,omitempty"` +} + +func (m *QuerySellOfferRequest) Reset() { *m = QuerySellOfferRequest{} } +func (m *QuerySellOfferRequest) String() string { return proto.CompactTextString(m) } +func (*QuerySellOfferRequest) ProtoMessage() {} +func (*QuerySellOfferRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{16} +} +func (m *QuerySellOfferRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuerySellOfferRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuerySellOfferRequest.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 *QuerySellOfferRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySellOfferRequest.Merge(m, src) +} +func (m *QuerySellOfferRequest) XXX_Size() int { + return m.Size() +} +func (m *QuerySellOfferRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySellOfferRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QuerySellOfferRequest proto.InternalMessageInfo + +func (m *QuerySellOfferRequest) GetSellOfferId() uint64 { + if m != nil { + return m.SellOfferId + } + return 0 +} + +type QuerySellOfferResponse struct { + SellOffer *SellOffer `protobuf:"bytes,1,opt,name=sellOffer,proto3" json:"sellOffer,omitempty"` +} + +func (m *QuerySellOfferResponse) Reset() { *m = QuerySellOfferResponse{} } +func (m *QuerySellOfferResponse) String() string { return proto.CompactTextString(m) } +func (*QuerySellOfferResponse) ProtoMessage() {} +func (*QuerySellOfferResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{17} +} +func (m *QuerySellOfferResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuerySellOfferResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuerySellOfferResponse.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 *QuerySellOfferResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySellOfferResponse.Merge(m, src) +} +func (m *QuerySellOfferResponse) XXX_Size() int { + return m.Size() +} +func (m *QuerySellOfferResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySellOfferResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QuerySellOfferResponse proto.InternalMessageInfo + +func (m *QuerySellOfferResponse) GetSellOffer() *SellOffer { + if m != nil { + return m.SellOffer + } + return nil +} + +type QueryCouncilRequest struct { + CouncilId uint64 `protobuf:"varint,1,opt,name=councilId,proto3" json:"councilId,omitempty"` +} + +func (m *QueryCouncilRequest) Reset() { *m = QueryCouncilRequest{} } +func (m *QueryCouncilRequest) String() string { return proto.CompactTextString(m) } +func (*QueryCouncilRequest) ProtoMessage() {} +func (*QueryCouncilRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{18} +} +func (m *QueryCouncilRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCouncilRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCouncilRequest.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 *QueryCouncilRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCouncilRequest.Merge(m, src) +} +func (m *QueryCouncilRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryCouncilRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCouncilRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCouncilRequest proto.InternalMessageInfo + +func (m *QueryCouncilRequest) GetCouncilId() uint64 { + if m != nil { + return m.CouncilId + } + return 0 +} + +type QueryCouncilResponse struct { + Council *Council `protobuf:"bytes,1,opt,name=council,proto3" json:"council,omitempty"` +} + +func (m *QueryCouncilResponse) Reset() { *m = QueryCouncilResponse{} } +func (m *QueryCouncilResponse) String() string { return proto.CompactTextString(m) } +func (*QueryCouncilResponse) ProtoMessage() {} +func (*QueryCouncilResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{19} +} +func (m *QueryCouncilResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCouncilResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCouncilResponse.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 *QueryCouncilResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCouncilResponse.Merge(m, src) +} +func (m *QueryCouncilResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryCouncilResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCouncilResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCouncilResponse proto.InternalMessageInfo + +func (m *QueryCouncilResponse) GetCouncil() *Council { + if m != nil { + return m.Council + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -844,83 +1020,98 @@ func init() { proto.RegisterType((*QueryMatchResponse)(nil), "cardchain.cardchain.QueryMatchResponse") proto.RegisterType((*QuerySetRequest)(nil), "cardchain.cardchain.QuerySetRequest") proto.RegisterType((*QuerySetResponse)(nil), "cardchain.cardchain.QuerySetResponse") + proto.RegisterType((*QuerySellOfferRequest)(nil), "cardchain.cardchain.QuerySellOfferRequest") + proto.RegisterType((*QuerySellOfferResponse)(nil), "cardchain.cardchain.QuerySellOfferResponse") + proto.RegisterType((*QueryCouncilRequest)(nil), "cardchain.cardchain.QueryCouncilRequest") + proto.RegisterType((*QueryCouncilResponse)(nil), "cardchain.cardchain.QueryCouncilResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 1136 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xcf, 0x26, 0xb6, 0x9b, 0xbc, 0x96, 0xb4, 0x99, 0x46, 0x68, 0x31, 0xd4, 0x89, 0x96, 0x36, - 0x09, 0x11, 0xd9, 0xa5, 0x69, 0x9a, 0xb6, 0x94, 0x56, 0x8a, 0x53, 0x35, 0xaa, 0x50, 0x45, 0xba, - 0xa6, 0x42, 0xe2, 0x12, 0x4d, 0xec, 0x91, 0xbd, 0xea, 0x7a, 0xc7, 0xdd, 0x19, 0x13, 0x2c, 0xcb, - 0x17, 0x3e, 0x40, 0x85, 0x28, 0x42, 0x1c, 0x39, 0x72, 0xe4, 0x03, 0x54, 0x9c, 0x7b, 0xac, 0xc4, - 0x85, 0x13, 0x42, 0x09, 0x12, 0x5f, 0x03, 0xcd, 0xcc, 0xb3, 0xe3, 0x4d, 0x77, 0xed, 0x94, 0x5e, - 0xac, 0xf9, 0xf3, 0x7b, 0xef, 0xf7, 0x7b, 0x6f, 0xdf, 0xbc, 0x67, 0x58, 0xa8, 0xd2, 0xb8, 0x56, - 0x6d, 0xd0, 0x20, 0xf2, 0x8e, 0x57, 0x4f, 0xdb, 0x2c, 0xee, 0xb8, 0xad, 0x98, 0x4b, 0x4e, 0x2e, - 0x0e, 0x8e, 0xdd, 0xc1, 0xaa, 0x38, 0x47, 0x9b, 0x41, 0xc4, 0x3d, 0xfd, 0x6b, 0x70, 0xc5, 0xf9, - 0x3a, 0xaf, 0x73, 0xbd, 0xf4, 0xd4, 0x0a, 0x4f, 0x3f, 0xa8, 0x73, 0x5e, 0x0f, 0x99, 0x47, 0x5b, - 0x81, 0x47, 0xa3, 0x88, 0x4b, 0x2a, 0x03, 0x1e, 0x09, 0xbc, 0x5d, 0xad, 0x72, 0xd1, 0xe4, 0xc2, - 0xdb, 0xa7, 0x82, 0x19, 0x52, 0xef, 0x9b, 0xab, 0xfb, 0x4c, 0xd2, 0xab, 0x5e, 0x8b, 0xd6, 0x83, - 0x48, 0x83, 0x11, 0xbb, 0x98, 0x26, 0xb4, 0x45, 0x63, 0xda, 0xec, 0x7b, 0xfb, 0x28, 0x15, 0x11, - 0xf3, 0x5a, 0xbb, 0x2a, 0xf7, 0x6a, 0x4c, 0xd2, 0x20, 0x1c, 0x09, 0x55, 0xab, 0xbd, 0x83, 0x40, - 0x36, 0xf6, 0x82, 0x26, 0xad, 0x33, 0x84, 0x96, 0xd2, 0xa0, 0x6d, 0xc1, 0xe2, 0x51, 0xf7, 0x6a, - 0x85, 0xf7, 0xa9, 0x09, 0x6e, 0x52, 0x59, 0x6d, 0x0c, 0x92, 0x90, 0x02, 0x10, 0x4c, 0x1a, 0x29, - 0x34, 0x96, 0x07, 0x3c, 0x7e, 0x62, 0xb0, 0xce, 0x3c, 0x90, 0x47, 0x2a, 0x4d, 0xbb, 0x3a, 0x6e, - 0x9f, 0x3d, 0x6d, 0x33, 0x21, 0x9d, 0xc7, 0x70, 0x31, 0x71, 0x2a, 0x5a, 0x3c, 0x12, 0x8c, 0xdc, - 0x85, 0x82, 0xc9, 0x8f, 0x6d, 0x2d, 0x5a, 0x2b, 0x67, 0xd7, 0xdf, 0x77, 0x53, 0x3e, 0xa5, 0x6b, - 0x8c, 0xca, 0x33, 0x2f, 0xff, 0x5a, 0x98, 0xf8, 0xf5, 0xdf, 0xdf, 0x56, 0x2d, 0x1f, 0xad, 0x1c, - 0x0f, 0x2e, 0x69, 0xb7, 0x3b, 0x4c, 0xee, 0x9a, 0x2c, 0xde, 0x33, 0x49, 0x44, 0x5e, 0x32, 0x0b, - 0x93, 0x41, 0x4d, 0x3b, 0xcf, 0xf9, 0x93, 0x41, 0xcd, 0x11, 0x50, 0xca, 0x32, 0x40, 0x49, 0x8f, - 0x60, 0x36, 0x79, 0x83, 0xd2, 0x3e, 0x4c, 0x97, 0x96, 0x80, 0x96, 0x73, 0x4a, 0xa2, 0x7f, 0xc2, - 0x81, 0x53, 0x47, 0x95, 0x5b, 0x61, 0x98, 0xae, 0xf2, 0x3e, 0xc0, 0x71, 0x31, 0x21, 0xdf, 0x92, - 0x6b, 0x2a, 0xcf, 0x55, 0x95, 0xe7, 0x9a, 0x72, 0xc7, 0xca, 0x73, 0x77, 0x69, 0x9d, 0xa1, 0xad, - 0x3f, 0x64, 0xe9, 0xbc, 0xb0, 0x30, 0xbc, 0x14, 0xa6, 0x11, 0xe1, 0x4d, 0xbd, 0x55, 0x78, 0x64, - 0x27, 0xa1, 0x7e, 0x52, 0xab, 0x5f, 0x1e, 0xab, 0xde, 0xe8, 0x49, 0xc8, 0x5f, 0x85, 0x0b, 0x5a, - 0xfd, 0x36, 0x8d, 0x6b, 0xfd, 0xd4, 0xbc, 0x0b, 0x05, 0x25, 0xe7, 0x41, 0xff, 0x23, 0xe2, 0xce, - 0xf9, 0x1c, 0xe6, 0x86, 0xb0, 0x18, 0xdc, 0x26, 0xe4, 0xd4, 0x35, 0x66, 0xd0, 0x49, 0x0d, 0x49, - 0x19, 0x7c, 0x15, 0xc8, 0xc6, 0x03, 0xf5, 0x80, 0x7c, 0x8d, 0x77, 0x3e, 0x46, 0xe2, 0xc7, 0x82, - 0xc5, 0x7d, 0x62, 0x1b, 0xce, 0xd0, 0x5a, 0x2d, 0x66, 0xc2, 0x14, 0xc0, 0x8c, 0xdf, 0xdf, 0x3a, - 0x65, 0xa4, 0x36, 0x68, 0xa4, 0x5e, 0x83, 0x9c, 0x7a, 0x71, 0x48, 0xfd, 0x5e, 0x2a, 0xb5, 0x36, - 0xd0, 0x30, 0xe7, 0x97, 0xdc, 0x90, 0xfe, 0x41, 0x1d, 0xcc, 0x43, 0x9e, 0x1f, 0x44, 0xe8, 0x65, - 0xc6, 0x37, 0x1b, 0x72, 0x03, 0x0a, 0x42, 0x52, 0xd9, 0x16, 0xf6, 0xe4, 0xe2, 0xd4, 0xca, 0xec, - 0xfa, 0x42, 0x66, 0x5c, 0x15, 0x0d, 0xf3, 0x11, 0x4e, 0x6e, 0xc1, 0xb4, 0xba, 0xff, 0xb2, 0xd3, - 0x62, 0xf6, 0x94, 0x36, 0xbd, 0x94, 0x69, 0xaa, 0x40, 0xfe, 0x00, 0x4e, 0x36, 0x20, 0x5f, 0x0d, - 0xa9, 0x10, 0x76, 0x4e, 0xdb, 0x95, 0x32, 0xed, 0xb6, 0x15, 0xca, 0x37, 0x60, 0xf5, 0xb1, 0x04, - 0x8f, 0x65, 0xb9, 0x63, 0xe7, 0x75, 0x00, 0xb8, 0x23, 0x0e, 0x9c, 0x8b, 0x68, 0x93, 0x6d, 0xf3, - 0x48, 0xd2, 0x20, 0x12, 0x76, 0x41, 0xdf, 0x26, 0xce, 0xc8, 0x2a, 0x5c, 0x78, 0xc2, 0x3a, 0x07, - 0x3c, 0xae, 0x89, 0x01, 0xee, 0x8c, 0xc6, 0xbd, 0x76, 0x4e, 0x2e, 0xc3, 0x3b, 0x11, 0x97, 0xec, - 0x18, 0x38, 0xad, 0x81, 0xc9, 0x43, 0xb2, 0x02, 0xe7, 0x79, 0x14, 0x76, 0x2a, 0x92, 0xc6, 0x92, - 0xc5, 0x4a, 0xac, 0x3d, 0xb3, 0x68, 0xad, 0x4c, 0xfb, 0x27, 0x8f, 0x89, 0x0b, 0x44, 0x1d, 0x95, - 0x69, 0x48, 0xa3, 0x2a, 0xdb, 0x8a, 0xaa, 0x0d, 0x1e, 0x0b, 0x1b, 0x34, 0x38, 0xe5, 0x86, 0xdc, - 0x86, 0xe9, 0x98, 0xc6, 0x81, 0x0c, 0x98, 0xb0, 0xcf, 0x8e, 0xf9, 0x26, 0xbe, 0x02, 0x76, 0xfc, - 0x81, 0x01, 0x59, 0x82, 0xd9, 0x66, 0x3b, 0x94, 0x81, 0xce, 0xdc, 0x17, 0x51, 0xd8, 0xb1, 0xcf, - 0x69, 0xa2, 0x13, 0xa7, 0x8e, 0x8b, 0x8d, 0x14, 0x2b, 0x04, 0xeb, 0xcc, 0x86, 0x33, 0xe6, 0x05, - 0x98, 0x87, 0x9b, 0xf3, 0xfb, 0x5b, 0x67, 0x0d, 0x2b, 0xea, 0xa1, 0x6a, 0xdc, 0x43, 0x55, 0xac, - 0x1b, 0x39, 0xbe, 0x9f, 0x19, 0xbf, 0xbf, 0x75, 0xee, 0xa3, 0x7b, 0x84, 0xa3, 0xfb, 0x4f, 0x20, - 0xaf, 0x01, 0x58, 0xc7, 0xc5, 0xd4, 0xb0, 0x8c, 0x89, 0x01, 0x3a, 0xcb, 0x70, 0x5e, 0xfb, 0xa9, - 0x30, 0x39, 0x54, 0xc6, 0x82, 0xc9, 0x01, 0xa5, 0xd9, 0x38, 0x0f, 0xf1, 0x91, 0x69, 0x20, 0xd2, - 0xdd, 0x4a, 0xd2, 0xa5, 0x37, 0xa1, 0x0a, 0x93, 0xea, 0xc1, 0x6e, 0x99, 0x31, 0x83, 0xbc, 0xeb, - 0xcf, 0x00, 0xf2, 0xda, 0x1f, 0xf9, 0xc1, 0x82, 0x82, 0x19, 0x11, 0x64, 0x39, 0xd5, 0xc1, 0xeb, - 0xf3, 0xa8, 0xb8, 0x32, 0x1e, 0x68, 0x24, 0x3a, 0xd7, 0xbf, 0xfb, 0xe3, 0x9f, 0xe7, 0x93, 0x1e, - 0x59, 0xf3, 0xee, 0xb1, 0x2a, 0x8b, 0x64, 0x4c, 0x43, 0xf5, 0x45, 0x76, 0x68, 0x93, 0x79, 0xd9, - 0xf3, 0x9e, 0xfc, 0x6e, 0x9d, 0x6c, 0xb4, 0x64, 0x3d, 0x9b, 0x33, 0x6b, 0x7e, 0x15, 0xaf, 0xbd, - 0x91, 0x0d, 0x4a, 0xde, 0xd6, 0x92, 0xef, 0x90, 0xdb, 0xa7, 0x95, 0x9c, 0xfc, 0x03, 0xe2, 0x75, - 0x83, 0x5a, 0x8f, 0xbc, 0xb0, 0x60, 0x2e, 0xe9, 0x7f, 0x2b, 0x0c, 0x47, 0xc5, 0x90, 0x35, 0xdd, - 0x46, 0xc5, 0x90, 0x39, 0xa7, 0x9c, 0xbb, 0x3a, 0x86, 0x9b, 0x64, 0xf3, 0xff, 0xc5, 0x40, 0x9e, - 0x5b, 0x90, 0xd3, 0x6f, 0xfb, 0x4a, 0x36, 0xfb, 0xd0, 0x9c, 0x29, 0x2e, 0x8d, 0x83, 0xa1, 0xae, - 0xcf, 0xb4, 0xae, 0x4d, 0xb2, 0x71, 0x4a, 0x5d, 0x6a, 0xe5, 0x75, 0xcd, 0x1b, 0xed, 0x91, 0x1f, - 0x2d, 0xc8, 0xa9, 0x29, 0x30, 0x4a, 0xd5, 0xd0, 0x10, 0x1a, 0xa5, 0x6a, 0x78, 0xfa, 0x38, 0x77, - 0xb4, 0xaa, 0x1b, 0xe4, 0xfa, 0x29, 0x55, 0xa9, 0x19, 0xe4, 0x75, 0x71, 0xa0, 0xf5, 0xc8, 0x4f, - 0x16, 0xe4, 0x75, 0x9b, 0x21, 0x63, 0xd2, 0x30, 0xf8, 0xa6, 0xcb, 0x63, 0x71, 0x6f, 0x91, 0x2f, - 0xe1, 0x75, 0xf5, 0xe4, 0xeb, 0x91, 0x9f, 0x2d, 0xc8, 0xeb, 0x6e, 0x33, 0x4a, 0xd8, 0x70, 0xc3, - 0x1b, 0x25, 0x2c, 0xd1, 0xe9, 0xde, 0xb8, 0xc0, 0x74, 0xd7, 0xf1, 0xba, 0xd8, 0x3e, 0x7b, 0xe4, - 0x99, 0x05, 0x53, 0x15, 0x26, 0xc9, 0xe5, 0x6c, 0xc2, 0xe3, 0x96, 0x58, 0xbc, 0x32, 0x06, 0x85, - 0xa2, 0x3e, 0xd5, 0xa2, 0x36, 0xc8, 0xfa, 0x29, 0x45, 0x09, 0x26, 0xbd, 0xae, 0x6e, 0xaf, 0xbd, - 0xb2, 0xff, 0xf2, 0xb0, 0x64, 0xbd, 0x3a, 0x2c, 0x59, 0x7f, 0x1f, 0x96, 0xac, 0xef, 0x8f, 0x4a, - 0x13, 0xaf, 0x8e, 0x4a, 0x13, 0x7f, 0x1e, 0x95, 0x26, 0xbe, 0xbe, 0x59, 0x0f, 0x64, 0xa3, 0xbd, - 0xef, 0x56, 0x79, 0x73, 0xa4, 0xdf, 0x6f, 0x87, 0xd6, 0xb2, 0xd3, 0x62, 0x62, 0xbf, 0xa0, 0xff, - 0xd3, 0x5f, 0xfb, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x24, 0xfb, 0x0c, 0x83, 0x0d, 0x00, 0x00, + // 1307 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0xcf, 0x6f, 0x13, 0xc7, + 0x17, 0xcf, 0x26, 0xb6, 0x13, 0x0f, 0x7c, 0x03, 0x0c, 0xf9, 0xa2, 0xad, 0x0b, 0x26, 0xdd, 0x02, + 0x09, 0x69, 0xf1, 0x96, 0xf0, 0x33, 0x10, 0xa8, 0xe2, 0x20, 0x22, 0x54, 0x51, 0xc2, 0xa6, 0xb4, + 0x52, 0x2f, 0xd1, 0xc4, 0x1e, 0xec, 0x15, 0xeb, 0x1d, 0xb3, 0x33, 0x6e, 0x6a, 0x59, 0xbe, 0xf4, + 0x0f, 0xa8, 0xaa, 0x52, 0x55, 0x3d, 0x56, 0x3d, 0xf5, 0x52, 0xa9, 0x7f, 0x00, 0xea, 0x99, 0x23, + 0x52, 0x2f, 0x3d, 0x55, 0x55, 0x52, 0xa9, 0xff, 0x46, 0x35, 0x33, 0x6f, 0xd7, 0xde, 0xb0, 0xbb, + 0x36, 0xe5, 0x12, 0xcd, 0xbc, 0xf9, 0xbc, 0xf7, 0x3e, 0x6f, 0xf6, 0xcd, 0xfb, 0x38, 0xe8, 0x74, + 0x8d, 0x04, 0xf5, 0x5a, 0x93, 0xb8, 0xbe, 0x3d, 0x58, 0x3d, 0xed, 0xd0, 0xa0, 0x5b, 0x69, 0x07, + 0x4c, 0x30, 0x7c, 0x3c, 0x32, 0x57, 0xa2, 0x55, 0xe9, 0x18, 0x69, 0xb9, 0x3e, 0xb3, 0xd5, 0x5f, + 0x8d, 0x2b, 0xcd, 0x35, 0x58, 0x83, 0xa9, 0xa5, 0x2d, 0x57, 0x60, 0x3d, 0xd9, 0x60, 0xac, 0xe1, + 0x51, 0x9b, 0xb4, 0x5d, 0x9b, 0xf8, 0x3e, 0x13, 0x44, 0xb8, 0xcc, 0xe7, 0x70, 0xba, 0x54, 0x63, + 0xbc, 0xc5, 0xb8, 0xbd, 0x43, 0x38, 0xd5, 0x49, 0xed, 0x2f, 0x2e, 0xee, 0x50, 0x41, 0x2e, 0xda, + 0x6d, 0xd2, 0x70, 0x7d, 0x05, 0x06, 0xec, 0x7c, 0x12, 0xd1, 0x36, 0x09, 0x48, 0x2b, 0x8c, 0x76, + 0x3e, 0x11, 0x11, 0xb0, 0x7a, 0xa7, 0x26, 0xb6, 0xeb, 0x54, 0x10, 0xd7, 0xcb, 0x84, 0xca, 0xd5, + 0xf6, 0xae, 0x2b, 0x9a, 0xdb, 0x6e, 0x8b, 0x34, 0x28, 0x40, 0xcb, 0x49, 0xd0, 0x0e, 0xa7, 0x41, + 0xd6, 0xb9, 0x5c, 0xc1, 0x79, 0xe2, 0x05, 0xb7, 0x88, 0xa8, 0x35, 0xa3, 0x4b, 0x48, 0x00, 0x70, + 0x2a, 0x34, 0x15, 0x12, 0x88, 0x5d, 0x16, 0x3c, 0x01, 0xec, 0x99, 0x64, 0xac, 0xe7, 0x6d, 0xb3, + 0xc7, 0x8f, 0x23, 0x4a, 0xef, 0x24, 0x52, 0x62, 0x1d, 0xbf, 0xe6, 0x7a, 0x1a, 0x62, 0xcd, 0x21, + 0xfc, 0x50, 0xde, 0xf7, 0xa6, 0xba, 0x40, 0x87, 0x3e, 0xed, 0x50, 0x2e, 0xac, 0x47, 0xe8, 0x78, + 0xcc, 0xca, 0xdb, 0xcc, 0xe7, 0x14, 0xdf, 0x46, 0x05, 0x7d, 0xd1, 0xa6, 0x31, 0x6f, 0x2c, 0x1e, + 0x5a, 0x7e, 0xbb, 0x92, 0xd0, 0x13, 0x15, 0xed, 0x54, 0x2d, 0xbe, 0xf8, 0xf3, 0xf4, 0xc4, 0xcf, + 0xff, 0xfc, 0xba, 0x64, 0x38, 0xe0, 0x65, 0xd9, 0xe8, 0x94, 0x0a, 0xbb, 0x41, 0xc5, 0xa6, 0xfe, + 0x1c, 0x77, 0xf4, 0xd7, 0x80, 0xbc, 0x78, 0x16, 0x4d, 0xba, 0x75, 0x15, 0x3c, 0xe7, 0x4c, 0xba, + 0x75, 0x8b, 0xa3, 0x72, 0x9a, 0x03, 0x50, 0x7a, 0x88, 0x66, 0xe3, 0x27, 0x40, 0xed, 0xdd, 0x64, + 0x6a, 0x31, 0x68, 0x35, 0x27, 0x29, 0x3a, 0x07, 0x02, 0x58, 0x0d, 0x60, 0xb9, 0xe6, 0x79, 0xc9, + 0x2c, 0xef, 0x22, 0x34, 0xe8, 0x4a, 0xc8, 0x77, 0xae, 0xa2, 0x5b, 0xb8, 0x22, 0x5b, 0xb8, 0xa2, + 0xdf, 0x0d, 0xb4, 0x70, 0x65, 0x93, 0x34, 0x28, 0xf8, 0x3a, 0x43, 0x9e, 0xd6, 0x73, 0x03, 0xca, + 0x4b, 0xc8, 0x94, 0x51, 0xde, 0xd4, 0x1b, 0x95, 0x87, 0x37, 0x62, 0xec, 0x27, 0x15, 0xfb, 0x85, + 0x91, 0xec, 0x35, 0x9f, 0x18, 0xfd, 0x25, 0x74, 0x54, 0xb1, 0x5f, 0x27, 0x41, 0x3d, 0xbc, 0x9a, + 0x13, 0xa8, 0x20, 0xe9, 0xdc, 0x0b, 0x3f, 0x22, 0xec, 0xac, 0x8f, 0xd0, 0xb1, 0x21, 0x2c, 0x14, + 0x77, 0x15, 0xe5, 0xe4, 0x31, 0xdc, 0xa0, 0x95, 0x58, 0x92, 0x74, 0xf8, 0xcc, 0x15, 0xcd, 0x7b, + 0xf2, 0x25, 0x3a, 0x0a, 0x6f, 0xbd, 0x0f, 0x89, 0x1f, 0x71, 0x1a, 0x84, 0x89, 0x4d, 0x34, 0x4d, + 0xea, 0xf5, 0x80, 0x72, 0xdd, 0x00, 0x45, 0x27, 0xdc, 0x5a, 0x55, 0x48, 0xad, 0xd1, 0x90, 0xfa, + 0x02, 0xca, 0xc9, 0xa7, 0x0b, 0xa9, 0xdf, 0x4a, 0x4c, 0xad, 0x1c, 0x14, 0xcc, 0xfa, 0x31, 0x37, + 0xc4, 0x3f, 0xea, 0x83, 0x39, 0x94, 0x67, 0xbb, 0x3e, 0x44, 0x29, 0x3a, 0x7a, 0x83, 0xaf, 0xa1, + 0x02, 0x17, 0x44, 0x74, 0xb8, 0x39, 0x39, 0x3f, 0xb5, 0x38, 0xbb, 0x7c, 0x3a, 0xb5, 0xae, 0x2d, + 0x05, 0x73, 0x00, 0x8e, 0x57, 0xd0, 0x8c, 0x3c, 0xff, 0xa4, 0xdb, 0xa6, 0xe6, 0x94, 0x72, 0x3d, + 0x95, 0xea, 0x2a, 0x41, 0x4e, 0x04, 0xc7, 0x97, 0x51, 0xbe, 0xe6, 0x11, 0xce, 0xcd, 0x9c, 0xf2, + 0x2b, 0xa7, 0xfa, 0xad, 0x4b, 0x94, 0xa3, 0xc1, 0xf2, 0x63, 0x71, 0x16, 0x88, 0x6a, 0xd7, 0xcc, + 0xab, 0x02, 0x60, 0x87, 0x2d, 0x74, 0xd8, 0x27, 0x2d, 0xba, 0xce, 0x7c, 0x41, 0x5c, 0x9f, 0x9b, + 0x05, 0x75, 0x1a, 0xb3, 0xe1, 0x25, 0x74, 0xf4, 0x09, 0xed, 0xee, 0xb2, 0xa0, 0xce, 0x23, 0xdc, + 0xb4, 0xc2, 0xbd, 0x62, 0xc7, 0x67, 0xd0, 0xff, 0x7c, 0x26, 0xe8, 0x00, 0x38, 0xa3, 0x80, 0x71, + 0x23, 0x5e, 0x44, 0x47, 0x98, 0xef, 0x75, 0xb7, 0x04, 0x09, 0x04, 0x0d, 0x24, 0x59, 0xb3, 0x38, + 0x6f, 0x2c, 0xce, 0x38, 0x07, 0xcd, 0xb8, 0x82, 0xb0, 0x34, 0x55, 0x89, 0x47, 0xfc, 0x1a, 0x5d, + 0xf3, 0x6b, 0x4d, 0x16, 0x70, 0x13, 0x29, 0x70, 0xc2, 0x09, 0xbe, 0x89, 0x66, 0x02, 0x12, 0xb8, + 0xc2, 0xa5, 0xdc, 0x3c, 0x34, 0xe2, 0x9b, 0x38, 0x12, 0xd8, 0x75, 0x22, 0x07, 0x7c, 0x0e, 0xcd, + 0xb6, 0x3a, 0x9e, 0x70, 0xd5, 0xcd, 0x3d, 0xf0, 0xbd, 0xae, 0x79, 0x58, 0x25, 0x3a, 0x60, 0xb5, + 0x2a, 0x30, 0x48, 0xa1, 0x43, 0xa0, 0xcf, 0x4c, 0x34, 0xad, 0x5f, 0x80, 0x7e, 0xb8, 0x39, 0x27, + 0xdc, 0x5a, 0x17, 0xa0, 0xa3, 0xee, 0x4b, 0x05, 0x18, 0xea, 0x62, 0xa5, 0x08, 0xf0, 0x7e, 0x8a, + 0x4e, 0xb8, 0xb5, 0xee, 0x42, 0x78, 0x80, 0x43, 0xf8, 0x0f, 0x50, 0x5e, 0x01, 0xa0, 0x8f, 0x4b, + 0x89, 0x65, 0x69, 0x17, 0x0d, 0xb4, 0x16, 0xd0, 0x11, 0x15, 0x67, 0x8b, 0x8a, 0xa1, 0x36, 0xe6, + 0x54, 0x44, 0x29, 0xf5, 0xc6, 0xba, 0x0f, 0x8f, 0x4c, 0x01, 0x21, 0xdd, 0x4a, 0x3c, 0x5d, 0xf2, + 0x10, 0xda, 0xa2, 0x42, 0x3e, 0xd8, 0x35, 0xad, 0x57, 0x61, 0xde, 0x15, 0xf4, 0x7f, 0x08, 0xe7, + 0x79, 0x0f, 0xa4, 0x44, 0x85, 0xd9, 0xe7, 0xd1, 0x21, 0x1e, 0xda, 0xa2, 0xb1, 0x31, 0x6c, 0xb2, + 0x3e, 0x45, 0x27, 0x0e, 0xba, 0x02, 0x9f, 0x55, 0x54, 0x8c, 0x80, 0xc0, 0xa9, 0x9c, 0xc2, 0x29, + 0x74, 0x1d, 0x38, 0x58, 0x97, 0x40, 0xe4, 0xd6, 0xb5, 0x20, 0x86, 0x84, 0x4e, 0xa2, 0x22, 0x48, + 0x64, 0x44, 0x67, 0x60, 0xb0, 0x3e, 0x46, 0x73, 0x71, 0xa7, 0x68, 0x96, 0x4d, 0x03, 0x08, 0x88, + 0x9c, 0x4c, 0x6e, 0x31, 0x70, 0x0b, 0xc1, 0xcb, 0xfb, 0x87, 0x51, 0x5e, 0x05, 0xc4, 0xdf, 0x1a, + 0xa8, 0xa0, 0xa5, 0x13, 0x2f, 0x24, 0xfa, 0xbe, 0xaa, 0xd3, 0xa5, 0xc5, 0xd1, 0x40, 0xcd, 0xcf, + 0xba, 0xf2, 0xd5, 0xef, 0x7f, 0x3f, 0x9b, 0xb4, 0xf1, 0x05, 0xfb, 0x0e, 0xad, 0x51, 0x5f, 0x04, + 0xc4, 0x93, 0x9d, 0xba, 0x41, 0x5a, 0xd4, 0x4e, 0xff, 0x41, 0x85, 0x7f, 0x33, 0x0e, 0x0a, 0x10, + 0x5e, 0x4e, 0xcf, 0x99, 0xa6, 0xeb, 0xa5, 0x4b, 0xaf, 0xe5, 0x03, 0x94, 0xd7, 0x15, 0xe5, 0x5b, + 0xf8, 0xe6, 0xb8, 0x94, 0xe3, 0xbf, 0xf0, 0xec, 0x9e, 0x5b, 0xef, 0xe3, 0xe7, 0x06, 0x3a, 0x16, + 0x8f, 0xbf, 0xe6, 0x79, 0x59, 0x35, 0xa4, 0xa9, 0x7e, 0x56, 0x0d, 0xa9, 0xfa, 0x6d, 0xdd, 0x56, + 0x35, 0x5c, 0xc7, 0x57, 0xff, 0x5b, 0x0d, 0xf8, 0x99, 0x81, 0x72, 0x6a, 0xe6, 0x9d, 0x4d, 0xcf, + 0x3e, 0xa4, 0xbf, 0xa5, 0x73, 0xa3, 0x60, 0xc0, 0x6b, 0x55, 0xf1, 0xba, 0x8a, 0x2f, 0x8f, 0xc9, + 0x4b, 0xae, 0xec, 0x9e, 0x9e, 0x5d, 0x7d, 0xfc, 0x9d, 0x81, 0x72, 0x52, 0x1d, 0xb3, 0x58, 0x0d, + 0x89, 0x73, 0x16, 0xab, 0x61, 0x55, 0xb6, 0x6e, 0x29, 0x56, 0xd7, 0xf0, 0x95, 0x31, 0x59, 0x49, + 0x6d, 0xb6, 0x7b, 0x20, 0xf4, 0x7d, 0xfc, 0xbd, 0x81, 0xf2, 0x6a, 0xfc, 0xe2, 0x11, 0xd7, 0x10, + 0x7d, 0xd3, 0x85, 0x91, 0xb8, 0x37, 0xb8, 0x2f, 0x6e, 0xf7, 0xd4, 0x2f, 0x82, 0x3e, 0xfe, 0xc1, + 0x40, 0x79, 0x35, 0x85, 0xb3, 0x88, 0x0d, 0x0b, 0x41, 0x16, 0xb1, 0x98, 0x02, 0xbc, 0x76, 0x83, + 0xa9, 0x69, 0x6c, 0xf7, 0x40, 0x56, 0xfa, 0xf8, 0x6b, 0x03, 0x4d, 0x6d, 0x51, 0x81, 0xcf, 0xa4, + 0x27, 0x1c, 0x48, 0x45, 0xe9, 0xec, 0x08, 0x14, 0x90, 0xba, 0xa1, 0x48, 0x5d, 0xc6, 0xcb, 0x63, + 0x92, 0xe2, 0x54, 0xd8, 0x3d, 0x25, 0x3b, 0x7d, 0xfc, 0x8b, 0x81, 0x8a, 0xd1, 0xb8, 0xc6, 0x4b, + 0x59, 0x09, 0xe3, 0x4a, 0x52, 0x7a, 0x6f, 0x2c, 0x2c, 0x50, 0xdc, 0x50, 0x14, 0xd7, 0xf0, 0x87, + 0x63, 0x53, 0x0c, 0xff, 0xb7, 0x92, 0x4c, 0x23, 0x71, 0xea, 0xe3, 0x9f, 0x0c, 0x34, 0x0d, 0x53, + 0x1d, 0x67, 0x8c, 0xe3, 0xb8, 0xc8, 0x94, 0xce, 0x8f, 0x81, 0x04, 0xa6, 0x55, 0xc5, 0x74, 0x15, + 0xdf, 0x18, 0xb7, 0xf5, 0xb4, 0xbf, 0xdd, 0x8b, 0x44, 0xab, 0x5f, 0x75, 0x5e, 0xec, 0x95, 0x8d, + 0x97, 0x7b, 0x65, 0xe3, 0xaf, 0xbd, 0xb2, 0xf1, 0xcd, 0x7e, 0x79, 0xe2, 0xe5, 0x7e, 0x79, 0xe2, + 0x8f, 0xfd, 0xf2, 0xc4, 0xe7, 0xd7, 0x1b, 0xae, 0x68, 0x76, 0x76, 0x2a, 0x35, 0xd6, 0xca, 0x8c, + 0xff, 0xe5, 0xd0, 0x5a, 0x74, 0xdb, 0x94, 0xef, 0x14, 0xd4, 0x3f, 0x90, 0x97, 0xfe, 0x0d, 0x00, + 0x00, 0xff, 0xff, 0xf9, 0x91, 0xbc, 0x61, 0x39, 0x10, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -950,6 +1141,10 @@ type QueryClient interface { Match(ctx context.Context, in *QueryMatchRequest, opts ...grpc.CallOption) (*QueryMatchResponse, error) // Queries a list of Set items. Set(ctx context.Context, in *QuerySetRequest, opts ...grpc.CallOption) (*QuerySetResponse, error) + // Queries a list of SellOffer items. + SellOffer(ctx context.Context, in *QuerySellOfferRequest, opts ...grpc.CallOption) (*QuerySellOfferResponse, error) + // Queries a list of Council items. + Council(ctx context.Context, in *QueryCouncilRequest, opts ...grpc.CallOption) (*QueryCouncilResponse, error) } type queryClient struct { @@ -1032,6 +1227,24 @@ func (c *queryClient) Set(ctx context.Context, in *QuerySetRequest, opts ...grpc return out, nil } +func (c *queryClient) SellOffer(ctx context.Context, in *QuerySellOfferRequest, opts ...grpc.CallOption) (*QuerySellOfferResponse, error) { + out := new(QuerySellOfferResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/SellOffer", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) Council(ctx context.Context, in *QueryCouncilRequest, opts ...grpc.CallOption) (*QueryCouncilResponse, error) { + out := new(QueryCouncilResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Council", 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. @@ -1049,6 +1262,10 @@ type QueryServer interface { Match(context.Context, *QueryMatchRequest) (*QueryMatchResponse, error) // Queries a list of Set items. Set(context.Context, *QuerySetRequest) (*QuerySetResponse, error) + // Queries a list of SellOffer items. + SellOffer(context.Context, *QuerySellOfferRequest) (*QuerySellOfferResponse, error) + // Queries a list of Council items. + Council(context.Context, *QueryCouncilRequest) (*QueryCouncilResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -1079,6 +1296,12 @@ func (*UnimplementedQueryServer) Match(ctx context.Context, req *QueryMatchReque func (*UnimplementedQueryServer) Set(ctx context.Context, req *QuerySetRequest) (*QuerySetResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Set not implemented") } +func (*UnimplementedQueryServer) SellOffer(ctx context.Context, req *QuerySellOfferRequest) (*QuerySellOfferResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOffer not implemented") +} +func (*UnimplementedQueryServer) Council(ctx context.Context, req *QueryCouncilRequest) (*QueryCouncilResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Council not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -1228,6 +1451,42 @@ func _Query_Set_Handler(srv interface{}, ctx context.Context, dec func(interface return interceptor(ctx, in, info, handler) } +func _Query_SellOffer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QuerySellOfferRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).SellOffer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/SellOffer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).SellOffer(ctx, req.(*QuerySellOfferRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_Council_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCouncilRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Council(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/Council", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Council(ctx, req.(*QueryCouncilRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -1265,6 +1524,14 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Set", Handler: _Query_Set_Handler, }, + { + MethodName: "SellOffer", + Handler: _Query_SellOffer_Handler, + }, + { + MethodName: "Council", + Handler: _Query_Council_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -1930,6 +2197,132 @@ func (m *QuerySetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *QuerySellOfferRequest) 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 *QuerySellOfferRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QuerySellOfferRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.SellOfferId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.SellOfferId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QuerySellOfferResponse) 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 *QuerySellOfferResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QuerySellOfferResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.SellOffer != nil { + { + size, err := m.SellOffer.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 *QueryCouncilRequest) 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 *QueryCouncilRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryCouncilRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.CouncilId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.CouncilId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryCouncilResponse) 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 *QueryCouncilResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryCouncilResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Council != nil { + { + size, err := m.Council.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 @@ -2201,8 +2594,58 @@ func (m *QuerySetResponse) Size() (n int) { return n } -func sovQuery(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 +func (m *QuerySellOfferRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SellOfferId != 0 { + n += 1 + sovQuery(uint64(m.SellOfferId)) + } + return n +} + +func (m *QuerySellOfferResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SellOffer != nil { + l = m.SellOffer.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryCouncilRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CouncilId != 0 { + n += 1 + sovQuery(uint64(m.CouncilId)) + } + return n +} + +func (m *QueryCouncilResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Council != nil { + l = m.Council.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)))) @@ -4029,6 +4472,316 @@ func (m *QuerySetResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QuerySellOfferRequest) 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: QuerySellOfferRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QuerySellOfferRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) + } + m.SellOfferId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SellOfferId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 *QuerySellOfferResponse) 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: QuerySellOfferResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QuerySellOfferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SellOffer", 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.SellOffer == nil { + m.SellOffer = &SellOffer{} + } + if err := m.SellOffer.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 *QueryCouncilRequest) 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: QueryCouncilRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCouncilRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 ErrIntOverflowQuery + } + 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 := 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 *QueryCouncilResponse) 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: QueryCouncilResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Council", 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.Council == nil { + m.Council = &Council{} + } + if err := m.Council.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 19739dde..a738a7ba 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -429,6 +429,114 @@ func local_request_Query_Set_0(ctx context.Context, marshaler runtime.Marshaler, } +func request_Query_SellOffer_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QuerySellOfferRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["sellOfferId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sellOfferId") + } + + protoReq.SellOfferId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sellOfferId", err) + } + + msg, err := client.SellOffer(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_SellOffer_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QuerySellOfferRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["sellOfferId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sellOfferId") + } + + protoReq.SellOfferId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sellOfferId", err) + } + + msg, err := server.SellOffer(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_Council_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCouncilRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["councilId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "councilId") + } + + protoReq.CouncilId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "councilId", err) + } + + msg, err := client.Council(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Council_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCouncilRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["councilId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "councilId") + } + + protoReq.CouncilId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "councilId", err) + } + + msg, err := server.Council(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. @@ -619,6 +727,52 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_SellOffer_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_SellOffer_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_SellOffer_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Council_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_Council_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_Council_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -820,6 +974,46 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_SellOffer_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_SellOffer_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_SellOffer_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Council_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_Council_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_Council_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -839,6 +1033,10 @@ var ( pattern_Query_Match_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "match", "matchId"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_Set_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "set", "setId"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_SellOffer_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "sell_offer", "sellOfferId"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_Council_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "council", "councilId"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -857,4 +1055,8 @@ var ( forward_Query_Match_0 = runtime.ForwardResponseMessage forward_Query_Set_0 = runtime.ForwardResponseMessage + + forward_Query_SellOffer_0 = runtime.ForwardResponseMessage + + forward_Query_Council_0 = runtime.ForwardResponseMessage ) From 49a9723e201a2c8260905e6535225b08ff4e857c Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 12:58:03 +0100 Subject: [PATCH 44/99] feat(#242): changed ids to uints --- api/cardchain/cardchain/card.pulsar.go | 9 +- .../cardchain/card_with_image.pulsar.go | 7 +- api/cardchain/cardchain/council.pulsar.go | 9 +- api/cardchain/cardchain/encounter.pulsar.go | 9 +- api/cardchain/cardchain/genesis.pulsar.go | 9 +- api/cardchain/cardchain/image.pulsar.go | 7 +- api/cardchain/cardchain/match.pulsar.go | 7 +- .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- .../cardchain/product_details.pulsar.go | 7 +- api/cardchain/cardchain/query.pulsar.go | 117 +++----- api/cardchain/cardchain/query_grpc.pb.go | 1 - .../cardchain/running_average.pulsar.go | 7 +- api/cardchain/cardchain/sell_offer.pulsar.go | 9 +- api/cardchain/cardchain/server.pulsar.go | 7 +- api/cardchain/cardchain/set.pulsar.go | 9 +- .../cardchain/set_with_artwork.pulsar.go | 7 +- api/cardchain/cardchain/tx.pulsar.go | 11 +- api/cardchain/cardchain/tx_grpc.pb.go | 1 - api/cardchain/cardchain/user.pulsar.go | 7 +- api/cardchain/cardchain/voting.pulsar.go | 7 +- api/cardchain/cardchain/zealy.pulsar.go | 7 +- api/cardchain/featureflag/flag.pulsar.go | 7 +- api/cardchain/featureflag/genesis.pulsar.go | 11 +- .../featureflag/module/module.pulsar.go | 9 +- api/cardchain/featureflag/params.pulsar.go | 9 +- api/cardchain/featureflag/query.pulsar.go | 9 +- api/cardchain/featureflag/query_grpc.pb.go | 1 - api/cardchain/featureflag/tx.pulsar.go | 9 +- api/cardchain/featureflag/tx_grpc.pb.go | 1 - gen_queries.sh | 4 +- proto/cardchain/cardchain/query.proto | 172 +++++------- x/cardchain/types/card.pb.go | 7 +- x/cardchain/types/card_with_image.pb.go | 5 +- x/cardchain/types/council.pb.go | 7 +- x/cardchain/types/encounter.pb.go | 5 +- x/cardchain/types/genesis.pb.go | 7 +- x/cardchain/types/image.pb.go | 3 +- x/cardchain/types/match.pb.go | 3 +- x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/product_details.pb.go | 3 +- x/cardchain/types/query.pb.go | 249 ++++++++---------- x/cardchain/types/query.pb.gw.go | 8 +- x/cardchain/types/running_average.pb.go | 3 +- x/cardchain/types/sell_offer.pb.go | 7 +- x/cardchain/types/server.pb.go | 3 +- x/cardchain/types/set.pb.go | 5 +- x/cardchain/types/set_with_artwork.pb.go | 3 +- x/cardchain/types/tx.pb.go | 7 +- x/cardchain/types/user.pb.go | 3 +- x/cardchain/types/voting.pb.go | 3 +- x/cardchain/types/zealy.pb.go | 3 +- x/featureflag/types/flag.pb.go | 3 +- x/featureflag/types/genesis.pb.go | 7 +- x/featureflag/types/params.pb.go | 7 +- x/featureflag/types/query.pb.go | 7 +- x/featureflag/types/tx.pb.go | 7 +- 57 files changed, 366 insertions(+), 510 deletions(-) diff --git a/api/cardchain/cardchain/card.pulsar.go b/api/cardchain/cardchain/card.pulsar.go index a986b06e..32747a36 100644 --- a/api/cardchain/cardchain/card.pulsar.go +++ b/api/cardchain/cardchain/card.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Card_14_list)(nil) diff --git a/api/cardchain/cardchain/card_with_image.pulsar.go b/api/cardchain/cardchain/card_with_image.pulsar.go index d8c51a08..c161546e 100644 --- a/api/cardchain/cardchain/card_with_image.pulsar.go +++ b/api/cardchain/cardchain/card_with_image.pulsar.go @@ -3,15 +3,14 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/council.pulsar.go b/api/cardchain/cardchain/council.pulsar.go index 1afba505..ad8e4373 100644 --- a/api/cardchain/cardchain/council.pulsar.go +++ b/api/cardchain/cardchain/council.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Council_2_list)(nil) diff --git a/api/cardchain/cardchain/encounter.pulsar.go b/api/cardchain/cardchain/encounter.pulsar.go index 7dc474db..f8002c77 100644 --- a/api/cardchain/cardchain/encounter.pulsar.go +++ b/api/cardchain/cardchain/encounter.pulsar.go @@ -3,16 +3,15 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var _ protoreflect.List = (*_Encounter_2_list)(nil) diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index 4d3bf7a0..c48c933d 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_GenesisState_2_list)(nil) diff --git a/api/cardchain/cardchain/image.pulsar.go b/api/cardchain/cardchain/image.pulsar.go index db59a9e8..627dece1 100644 --- a/api/cardchain/cardchain/image.pulsar.go +++ b/api/cardchain/cardchain/image.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go index b2e29884..191ba7fd 100644 --- a/api/cardchain/cardchain/match.pulsar.go +++ b/api/cardchain/cardchain/match.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index dead9881..2b190f83 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,16 +2,15 @@ package module import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index ed6b2b87..11ddc437 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,18 +2,17 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/product_details.pulsar.go b/api/cardchain/cardchain/product_details.pulsar.go index f50578bd..4217d854 100644 --- a/api/cardchain/cardchain/product_details.pulsar.go +++ b/api/cardchain/cardchain/product_details.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index fdf2b865..d8d9ef7e 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,19 +2,18 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( @@ -6495,8 +6494,8 @@ func (x *fastReflection_QueryMatchRequest) Interface() protoreflect.ProtoMessage // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_QueryMatchRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.MatchId != "" { - value := protoreflect.ValueOfString(x.MatchId) + if x.MatchId != uint64(0) { + value := protoreflect.ValueOfUint64(x.MatchId) if !f(fd_QueryMatchRequest_matchId, value) { return } @@ -6517,7 +6516,7 @@ func (x *fastReflection_QueryMatchRequest) Range(f func(protoreflect.FieldDescri func (x *fastReflection_QueryMatchRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { case "cardchain.cardchain.QueryMatchRequest.matchId": - return x.MatchId != "" + return x.MatchId != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchRequest")) @@ -6535,7 +6534,7 @@ func (x *fastReflection_QueryMatchRequest) Has(fd protoreflect.FieldDescriptor) func (x *fastReflection_QueryMatchRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { case "cardchain.cardchain.QueryMatchRequest.matchId": - x.MatchId = "" + x.MatchId = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchRequest")) @@ -6554,7 +6553,7 @@ func (x *fastReflection_QueryMatchRequest) Get(descriptor protoreflect.FieldDesc switch descriptor.FullName() { case "cardchain.cardchain.QueryMatchRequest.matchId": value := x.MatchId - return protoreflect.ValueOfString(value) + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchRequest")) @@ -6576,7 +6575,7 @@ func (x *fastReflection_QueryMatchRequest) Get(descriptor protoreflect.FieldDesc func (x *fastReflection_QueryMatchRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { case "cardchain.cardchain.QueryMatchRequest.matchId": - x.MatchId = value.Interface().(string) + x.MatchId = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchRequest")) @@ -6613,7 +6612,7 @@ func (x *fastReflection_QueryMatchRequest) Mutable(fd protoreflect.FieldDescript func (x *fastReflection_QueryMatchRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { case "cardchain.cardchain.QueryMatchRequest.matchId": - return protoreflect.ValueOfString("") + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchRequest")) @@ -6683,9 +6682,8 @@ func (x *fastReflection_QueryMatchRequest) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.MatchId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) + if x.MatchId != 0 { + n += 1 + runtime.Sov(uint64(x.MatchId)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -6716,12 +6714,10 @@ func (x *fastReflection_QueryMatchRequest) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.MatchId) > 0 { - i -= len(x.MatchId) - copy(dAtA[i:], x.MatchId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.MatchId))) + if x.MatchId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.MatchId)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x8 } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) @@ -6773,10 +6769,10 @@ func (x *fastReflection_QueryMatchRequest) ProtoMethods() *protoiface.Methods { } switch fieldNum { case 1: - if wireType != 2 { + if wireType != 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MatchId", wireType) } - var stringLen uint64 + x.MatchId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -6786,24 +6782,11 @@ func (x *fastReflection_QueryMatchRequest) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + x.MatchId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.MatchId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -7350,8 +7333,8 @@ func (x *fastReflection_QuerySetRequest) Interface() protoreflect.ProtoMessage { // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_QuerySetRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.SetId != "" { - value := protoreflect.ValueOfString(x.SetId) + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) if !f(fd_QuerySetRequest_setId, value) { return } @@ -7372,7 +7355,7 @@ func (x *fastReflection_QuerySetRequest) Range(f func(protoreflect.FieldDescript func (x *fastReflection_QuerySetRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { case "cardchain.cardchain.QuerySetRequest.setId": - return x.SetId != "" + return x.SetId != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRequest")) @@ -7390,7 +7373,7 @@ func (x *fastReflection_QuerySetRequest) Has(fd protoreflect.FieldDescriptor) bo func (x *fastReflection_QuerySetRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { case "cardchain.cardchain.QuerySetRequest.setId": - x.SetId = "" + x.SetId = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRequest")) @@ -7409,7 +7392,7 @@ func (x *fastReflection_QuerySetRequest) Get(descriptor protoreflect.FieldDescri switch descriptor.FullName() { case "cardchain.cardchain.QuerySetRequest.setId": value := x.SetId - return protoreflect.ValueOfString(value) + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRequest")) @@ -7431,7 +7414,7 @@ func (x *fastReflection_QuerySetRequest) Get(descriptor protoreflect.FieldDescri func (x *fastReflection_QuerySetRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { case "cardchain.cardchain.QuerySetRequest.setId": - x.SetId = value.Interface().(string) + x.SetId = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRequest")) @@ -7468,7 +7451,7 @@ func (x *fastReflection_QuerySetRequest) Mutable(fd protoreflect.FieldDescriptor func (x *fastReflection_QuerySetRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { case "cardchain.cardchain.QuerySetRequest.setId": - return protoreflect.ValueOfString("") + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRequest")) @@ -7538,9 +7521,8 @@ func (x *fastReflection_QuerySetRequest) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.SetId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -7571,12 +7553,10 @@ func (x *fastReflection_QuerySetRequest) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.SetId) > 0 { - i -= len(x.SetId) - copy(dAtA[i:], x.SetId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SetId))) + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x8 } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) @@ -7628,10 +7608,10 @@ func (x *fastReflection_QuerySetRequest) ProtoMethods() *protoiface.Methods { } switch fieldNum { case 1: - if wireType != 2 { + if wireType != 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - var stringLen uint64 + x.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -7641,24 +7621,11 @@ func (x *fastReflection_QuerySetRequest) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + x.SetId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.SetId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -10335,7 +10302,7 @@ type QueryMatchRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - MatchId string `protobuf:"bytes,1,opt,name=matchId,proto3" json:"matchId,omitempty"` + MatchId uint64 `protobuf:"varint,1,opt,name=matchId,proto3" json:"matchId,omitempty"` } func (x *QueryMatchRequest) Reset() { @@ -10358,11 +10325,11 @@ func (*QueryMatchRequest) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{12} } -func (x *QueryMatchRequest) GetMatchId() string { +func (x *QueryMatchRequest) GetMatchId() uint64 { if x != nil { return x.MatchId } - return "" + return 0 } type QueryMatchResponse struct { @@ -10405,7 +10372,7 @@ type QuerySetRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SetId string `protobuf:"bytes,1,opt,name=setId,proto3" json:"setId,omitempty"` + SetId uint64 `protobuf:"varint,1,opt,name=setId,proto3" json:"setId,omitempty"` } func (x *QuerySetRequest) Reset() { @@ -10428,11 +10395,11 @@ func (*QuerySetRequest) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{14} } -func (x *QuerySetRequest) GetSetId() string { +func (x *QuerySetRequest) GetSetId() uint64 { if x != nil { return x.SetId } - return "" + return 0 } type QuerySetResponse struct { @@ -10734,14 +10701,14 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, + 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index b2baa8da..eb969d2c 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/running_average.pulsar.go b/api/cardchain/cardchain/running_average.pulsar.go index 48c3ca74..9cff2c1b 100644 --- a/api/cardchain/cardchain/running_average.pulsar.go +++ b/api/cardchain/cardchain/running_average.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_RunningAverage_1_list)(nil) diff --git a/api/cardchain/cardchain/sell_offer.pulsar.go b/api/cardchain/cardchain/sell_offer.pulsar.go index 5f5fb235..55fde4b3 100644 --- a/api/cardchain/cardchain/sell_offer.pulsar.go +++ b/api/cardchain/cardchain/sell_offer.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/server.pulsar.go b/api/cardchain/cardchain/server.pulsar.go index 25cbab32..e8d66d38 100644 --- a/api/cardchain/cardchain/server.pulsar.go +++ b/api/cardchain/cardchain/server.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go index 984c3c6d..bd4a42db 100644 --- a/api/cardchain/cardchain/set.pulsar.go +++ b/api/cardchain/cardchain/set.pulsar.go @@ -2,16 +2,15 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Set_2_list)(nil) diff --git a/api/cardchain/cardchain/set_with_artwork.pulsar.go b/api/cardchain/cardchain/set_with_artwork.pulsar.go index 15c9094d..2de6c3ae 100644 --- a/api/cardchain/cardchain/set_with_artwork.pulsar.go +++ b/api/cardchain/cardchain/set_with_artwork.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index 3617fc13..ac894ab3 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,21 +2,20 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 51db3503..3dd8f52f 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/user.pulsar.go b/api/cardchain/cardchain/user.pulsar.go index a6f11922..c0c7e0ad 100644 --- a/api/cardchain/cardchain/user.pulsar.go +++ b/api/cardchain/cardchain/user.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_User_2_list)(nil) diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go index bf614c4f..2a02aa7e 100644 --- a/api/cardchain/cardchain/voting.pulsar.go +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_VotingResults_6_list)(nil) diff --git a/api/cardchain/cardchain/zealy.pulsar.go b/api/cardchain/cardchain/zealy.pulsar.go index 7879a400..8dedd508 100644 --- a/api/cardchain/cardchain/zealy.pulsar.go +++ b/api/cardchain/cardchain/zealy.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/flag.pulsar.go b/api/cardchain/featureflag/flag.pulsar.go index 932ce355..10b5e452 100644 --- a/api/cardchain/featureflag/flag.pulsar.go +++ b/api/cardchain/featureflag/flag.pulsar.go @@ -3,14 +3,13 @@ package featureflag import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/genesis.pulsar.go b/api/cardchain/featureflag/genesis.pulsar.go index ddfe3040..2c435bb2 100644 --- a/api/cardchain/featureflag/genesis.pulsar.go +++ b/api/cardchain/featureflag/genesis.pulsar.go @@ -2,18 +2,17 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var _ protoreflect.Map = (*_GenesisState_2_map)(nil) diff --git a/api/cardchain/featureflag/module/module.pulsar.go b/api/cardchain/featureflag/module/module.pulsar.go index 5650e208..947efc3f 100644 --- a/api/cardchain/featureflag/module/module.pulsar.go +++ b/api/cardchain/featureflag/module/module.pulsar.go @@ -2,16 +2,15 @@ package module import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/params.pulsar.go b/api/cardchain/featureflag/params.pulsar.go index 6b347b45..fb51fec2 100644 --- a/api/cardchain/featureflag/params.pulsar.go +++ b/api/cardchain/featureflag/params.pulsar.go @@ -2,17 +2,16 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query.pulsar.go b/api/cardchain/featureflag/query.pulsar.go index 1e62212d..3419d3a4 100644 --- a/api/cardchain/featureflag/query.pulsar.go +++ b/api/cardchain/featureflag/query.pulsar.go @@ -2,19 +2,18 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query_grpc.pb.go b/api/cardchain/featureflag/query_grpc.pb.go index 0e8130e8..f7957337 100644 --- a/api/cardchain/featureflag/query_grpc.pb.go +++ b/api/cardchain/featureflag/query_grpc.pb.go @@ -8,7 +8,6 @@ package featureflag import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/featureflag/tx.pulsar.go b/api/cardchain/featureflag/tx.pulsar.go index dd3db629..0cef5f49 100644 --- a/api/cardchain/featureflag/tx.pulsar.go +++ b/api/cardchain/featureflag/tx.pulsar.go @@ -2,19 +2,18 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/tx_grpc.pb.go b/api/cardchain/featureflag/tx_grpc.pb.go index 9d8cbe66..95442cac 100644 --- a/api/cardchain/featureflag/tx_grpc.pb.go +++ b/api/cardchain/featureflag/tx_grpc.pb.go @@ -8,7 +8,6 @@ package featureflag import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/gen_queries.sh b/gen_queries.sh index 5470f5d8..64b43c80 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -7,5 +7,5 @@ set -o pipefail #ignite scaffold query cards owner --response cardIds:uints #ignite scaffold query match matchId --response match:Match #ignite scaffold query set setId --response match:SetWithArtwork -ignite scaffold query sellOffer sellOfferId:uint --response sellOffer:SellOffer -ignite scaffold query council councilId:uint --response council:Council +#ignite scaffold query sellOffer sellOfferId:uint --response sellOffer:SellOffer +#ignite scaffold query council councilId:uint --response council:Council diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index c7873509..61277970 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -20,63 +20,65 @@ option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/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/cardchain/params"; - + rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/params"; } - + // Queries a list of ProductDetails items. - rpc ProductDetails (QueryGetProductDetailsRequest) returns (QueryGetProductDetailsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; - + rpc ProductDetails(QueryGetProductDetailsRequest) + returns (QueryGetProductDetailsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; } - rpc ProductDetailsAll (QueryAllProductDetailsRequest) returns (QueryAllProductDetailsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details"; - + rpc ProductDetailsAll(QueryAllProductDetailsRequest) + returns (QueryAllProductDetailsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/product_details"; } - + // Queries a list of Card items. - rpc Card (QueryCardRequest) returns (QueryCardResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; - + rpc Card(QueryCardRequest) returns (QueryCardResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; } - + // Queries a list of User items. - rpc User (QueryUserRequest) returns (QueryUserResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/user/{address}"; - + rpc User(QueryUserRequest) returns (QueryUserResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/user/{address}"; } - + // Queries a list of Cards items. - rpc Cards (QueryCardsRequest) returns (QueryCardsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; - + rpc Cards(QueryCardsRequest) returns (QueryCardsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; } - + // Queries a list of Match items. - rpc Match (QueryMatchRequest) returns (QueryMatchResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/match/{matchId}"; - + rpc Match(QueryMatchRequest) returns (QueryMatchResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/match/{matchId}"; } - + // Queries a list of Set items. - rpc Set (QuerySetRequest) returns (QuerySetResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/set/{setId}"; - + rpc Set(QuerySetRequest) returns (QuerySetResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/set/{setId}"; } - + // Queries a list of SellOffer items. - rpc SellOffer (QuerySellOfferRequest) returns (QuerySellOfferResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}"; - + rpc SellOffer(QuerySellOfferRequest) returns (QuerySellOfferResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}"; } - + // Queries a list of Council items. - rpc Council (QueryCouncilRequest) returns (QueryCouncilResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/council/{councilId}"; - + rpc Council(QueryCouncilRequest) returns (QueryCouncilResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/council/{councilId}"; } } // QueryParamsRequest is request type for the Query/Params RPC method. @@ -84,17 +86,16 @@ 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, (amino.dont_omitempty) = true]; + Params params = 1 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; } -message QueryGetProductDetailsRequest { - uint64 id = 1; -} +message QueryGetProductDetailsRequest { uint64 id = 1; } message QueryGetProductDetailsResponse { - ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; + ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; } message QueryAllProductDetailsRequest { @@ -102,74 +103,47 @@ message QueryAllProductDetailsRequest { } message QueryAllProductDetailsResponse { - repeated ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; - cosmos.base.query.v1beta1.PageResponse pagination = 2; + repeated ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; + cosmos.base.query.v1beta1.PageResponse pagination = 2; } -message QueryCardRequest { - uint64 cardId = 1; -} +message QueryCardRequest { uint64 cardId = 1; } -message QueryCardResponse { - CardWithImage card = 1; -} +message QueryCardResponse { CardWithImage card = 1; } -message QueryUserRequest { - string address = 1; -} +message QueryUserRequest { string address = 1; } -message QueryUserResponse { - User user = 1; -} +message QueryUserResponse { User user = 1; } message QueryCardsRequest { - string owner = 1; - repeated CardStatus status = 2; - repeated CardType cardType = 3; - repeated CardClass class = 4; - string sortBy = 5; - string nameContains = 6; - string keywordsContains = 7; - string notesContains = 8; - bool onlyStarterCard = 9; - bool onlyBalanceAnchors = 10; - repeated CardRarity rarities = 11; - bool multiClassOnly = 12; -} - -message QueryCardsResponse { - repeated uint64 cardIds = 1; + string owner = 1; + repeated CardStatus status = 2; + repeated CardType cardType = 3; + repeated CardClass class = 4; + string sortBy = 5; + string nameContains = 6; + string keywordsContains = 7; + string notesContains = 8; + bool onlyStarterCard = 9; + bool onlyBalanceAnchors = 10; + repeated CardRarity rarities = 11; + bool multiClassOnly = 12; } -message QueryMatchRequest { - string matchId = 1; -} +message QueryCardsResponse { repeated uint64 cardIds = 1; } -message QueryMatchResponse { - Match match = 1; -} +message QueryMatchRequest { uint64 matchId = 1; } -message QuerySetRequest { - string setId = 1; -} +message QueryMatchResponse { Match match = 1; } -message QuerySetResponse { - SetWithArtwork match = 1; -} +message QuerySetRequest { uint64 setId = 1; } -message QuerySellOfferRequest { - uint64 sellOfferId = 1; -} +message QuerySetResponse { SetWithArtwork match = 1; } -message QuerySellOfferResponse { - SellOffer sellOffer = 1; -} +message QuerySellOfferRequest { uint64 sellOfferId = 1; } -message QueryCouncilRequest { - uint64 councilId = 1; -} +message QuerySellOfferResponse { SellOffer sellOffer = 1; } -message QueryCouncilResponse { - Council council = 1; -} +message QueryCouncilRequest { uint64 councilId = 1; } +message QueryCouncilResponse { Council council = 1; } diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go index bf541854..e0cd33af 100644 --- a/x/cardchain/types/card.pb.go +++ b/x/cardchain/types/card.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/card_with_image.pb.go b/x/cardchain/types/card_with_image.pb.go index cccc278d..39e731f0 100644 --- a/x/cardchain/types/card_with_image.pb.go +++ b/x/cardchain/types/card_with_image.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/council.pb.go b/x/cardchain/types/council.pb.go index 1bbdfc01..a6f6f6d7 100644 --- a/x/cardchain/types/council.pb.go +++ b/x/cardchain/types/council.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/encounter.pb.go b/x/cardchain/types/encounter.pb.go index 0f2e0d18..5c6f1b54 100644 --- a/x/cardchain/types/encounter.pb.go +++ b/x/cardchain/types/encounter.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 636f7c25..4306f207 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/image.pb.go b/x/cardchain/types/image.pb.go index a2a036be..a4fe2647 100644 --- a/x/cardchain/types/image.pb.go +++ b/x/cardchain/types/image.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 660c57d2..7ac97cf8 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index 2874c6ce..d9081e8f 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,14 +5,13 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/product_details.pb.go b/x/cardchain/types/product_details.pb.go index 6f38ca9c..11fdabcb 100644 --- a/x/cardchain/types/product_details.pb.go +++ b/x/cardchain/types/product_details.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 8c487e18..22a5d6ff 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -19,6 +15,9 @@ import ( 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. @@ -652,7 +651,7 @@ func (m *QueryCardsResponse) GetCardIds() []uint64 { } type QueryMatchRequest struct { - MatchId string `protobuf:"bytes,1,opt,name=matchId,proto3" json:"matchId,omitempty"` + MatchId uint64 `protobuf:"varint,1,opt,name=matchId,proto3" json:"matchId,omitempty"` } func (m *QueryMatchRequest) Reset() { *m = QueryMatchRequest{} } @@ -688,11 +687,11 @@ func (m *QueryMatchRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryMatchRequest proto.InternalMessageInfo -func (m *QueryMatchRequest) GetMatchId() string { +func (m *QueryMatchRequest) GetMatchId() uint64 { if m != nil { return m.MatchId } - return "" + return 0 } type QueryMatchResponse struct { @@ -740,7 +739,7 @@ func (m *QueryMatchResponse) GetMatch() *Match { } type QuerySetRequest struct { - SetId string `protobuf:"bytes,1,opt,name=setId,proto3" json:"setId,omitempty"` + SetId uint64 `protobuf:"varint,1,opt,name=setId,proto3" json:"setId,omitempty"` } func (m *QuerySetRequest) Reset() { *m = QuerySetRequest{} } @@ -776,11 +775,11 @@ func (m *QuerySetRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QuerySetRequest proto.InternalMessageInfo -func (m *QuerySetRequest) GetSetId() string { +func (m *QuerySetRequest) GetSetId() uint64 { if m != nil { return m.SetId } - return "" + return 0 } type QuerySetResponse struct { @@ -1029,89 +1028,89 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 1307 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0xcf, 0x6f, 0x13, 0xc7, - 0x17, 0xcf, 0x26, 0xb6, 0x13, 0x0f, 0x7c, 0x03, 0x0c, 0xf9, 0xa2, 0xad, 0x0b, 0x26, 0xdd, 0x02, - 0x09, 0x69, 0xf1, 0x96, 0xf0, 0x33, 0x10, 0xa8, 0xe2, 0x20, 0x22, 0x54, 0x51, 0xc2, 0xa6, 0xb4, - 0x52, 0x2f, 0xd1, 0xc4, 0x1e, 0xec, 0x15, 0xeb, 0x1d, 0xb3, 0x33, 0x6e, 0x6a, 0x59, 0xbe, 0xf4, - 0x0f, 0xa8, 0xaa, 0x52, 0x55, 0x3d, 0x56, 0x3d, 0xf5, 0x52, 0xa9, 0x7f, 0x00, 0xea, 0x99, 0x23, - 0x52, 0x2f, 0x3d, 0x55, 0x55, 0x52, 0xa9, 0xff, 0x46, 0x35, 0x33, 0x6f, 0xd7, 0xde, 0xb0, 0xbb, - 0x36, 0xe5, 0x12, 0xcd, 0xbc, 0xf9, 0xbc, 0xf7, 0x3e, 0x6f, 0xf6, 0xcd, 0xfb, 0x38, 0xe8, 0x74, - 0x8d, 0x04, 0xf5, 0x5a, 0x93, 0xb8, 0xbe, 0x3d, 0x58, 0x3d, 0xed, 0xd0, 0xa0, 0x5b, 0x69, 0x07, - 0x4c, 0x30, 0x7c, 0x3c, 0x32, 0x57, 0xa2, 0x55, 0xe9, 0x18, 0x69, 0xb9, 0x3e, 0xb3, 0xd5, 0x5f, - 0x8d, 0x2b, 0xcd, 0x35, 0x58, 0x83, 0xa9, 0xa5, 0x2d, 0x57, 0x60, 0x3d, 0xd9, 0x60, 0xac, 0xe1, - 0x51, 0x9b, 0xb4, 0x5d, 0x9b, 0xf8, 0x3e, 0x13, 0x44, 0xb8, 0xcc, 0xe7, 0x70, 0xba, 0x54, 0x63, - 0xbc, 0xc5, 0xb8, 0xbd, 0x43, 0x38, 0xd5, 0x49, 0xed, 0x2f, 0x2e, 0xee, 0x50, 0x41, 0x2e, 0xda, - 0x6d, 0xd2, 0x70, 0x7d, 0x05, 0x06, 0xec, 0x7c, 0x12, 0xd1, 0x36, 0x09, 0x48, 0x2b, 0x8c, 0x76, - 0x3e, 0x11, 0x11, 0xb0, 0x7a, 0xa7, 0x26, 0xb6, 0xeb, 0x54, 0x10, 0xd7, 0xcb, 0x84, 0xca, 0xd5, - 0xf6, 0xae, 0x2b, 0x9a, 0xdb, 0x6e, 0x8b, 0x34, 0x28, 0x40, 0xcb, 0x49, 0xd0, 0x0e, 0xa7, 0x41, - 0xd6, 0xb9, 0x5c, 0xc1, 0x79, 0xe2, 0x05, 0xb7, 0x88, 0xa8, 0x35, 0xa3, 0x4b, 0x48, 0x00, 0x70, - 0x2a, 0x34, 0x15, 0x12, 0x88, 0x5d, 0x16, 0x3c, 0x01, 0xec, 0x99, 0x64, 0xac, 0xe7, 0x6d, 0xb3, - 0xc7, 0x8f, 0x23, 0x4a, 0xef, 0x24, 0x52, 0x62, 0x1d, 0xbf, 0xe6, 0x7a, 0x1a, 0x62, 0xcd, 0x21, - 0xfc, 0x50, 0xde, 0xf7, 0xa6, 0xba, 0x40, 0x87, 0x3e, 0xed, 0x50, 0x2e, 0xac, 0x47, 0xe8, 0x78, - 0xcc, 0xca, 0xdb, 0xcc, 0xe7, 0x14, 0xdf, 0x46, 0x05, 0x7d, 0xd1, 0xa6, 0x31, 0x6f, 0x2c, 0x1e, - 0x5a, 0x7e, 0xbb, 0x92, 0xd0, 0x13, 0x15, 0xed, 0x54, 0x2d, 0xbe, 0xf8, 0xf3, 0xf4, 0xc4, 0xcf, - 0xff, 0xfc, 0xba, 0x64, 0x38, 0xe0, 0x65, 0xd9, 0xe8, 0x94, 0x0a, 0xbb, 0x41, 0xc5, 0xa6, 0xfe, - 0x1c, 0x77, 0xf4, 0xd7, 0x80, 0xbc, 0x78, 0x16, 0x4d, 0xba, 0x75, 0x15, 0x3c, 0xe7, 0x4c, 0xba, - 0x75, 0x8b, 0xa3, 0x72, 0x9a, 0x03, 0x50, 0x7a, 0x88, 0x66, 0xe3, 0x27, 0x40, 0xed, 0xdd, 0x64, - 0x6a, 0x31, 0x68, 0x35, 0x27, 0x29, 0x3a, 0x07, 0x02, 0x58, 0x0d, 0x60, 0xb9, 0xe6, 0x79, 0xc9, - 0x2c, 0xef, 0x22, 0x34, 0xe8, 0x4a, 0xc8, 0x77, 0xae, 0xa2, 0x5b, 0xb8, 0x22, 0x5b, 0xb8, 0xa2, - 0xdf, 0x0d, 0xb4, 0x70, 0x65, 0x93, 0x34, 0x28, 0xf8, 0x3a, 0x43, 0x9e, 0xd6, 0x73, 0x03, 0xca, - 0x4b, 0xc8, 0x94, 0x51, 0xde, 0xd4, 0x1b, 0x95, 0x87, 0x37, 0x62, 0xec, 0x27, 0x15, 0xfb, 0x85, - 0x91, 0xec, 0x35, 0x9f, 0x18, 0xfd, 0x25, 0x74, 0x54, 0xb1, 0x5f, 0x27, 0x41, 0x3d, 0xbc, 0x9a, - 0x13, 0xa8, 0x20, 0xe9, 0xdc, 0x0b, 0x3f, 0x22, 0xec, 0xac, 0x8f, 0xd0, 0xb1, 0x21, 0x2c, 0x14, - 0x77, 0x15, 0xe5, 0xe4, 0x31, 0xdc, 0xa0, 0x95, 0x58, 0x92, 0x74, 0xf8, 0xcc, 0x15, 0xcd, 0x7b, - 0xf2, 0x25, 0x3a, 0x0a, 0x6f, 0xbd, 0x0f, 0x89, 0x1f, 0x71, 0x1a, 0x84, 0x89, 0x4d, 0x34, 0x4d, - 0xea, 0xf5, 0x80, 0x72, 0xdd, 0x00, 0x45, 0x27, 0xdc, 0x5a, 0x55, 0x48, 0xad, 0xd1, 0x90, 0xfa, - 0x02, 0xca, 0xc9, 0xa7, 0x0b, 0xa9, 0xdf, 0x4a, 0x4c, 0xad, 0x1c, 0x14, 0xcc, 0xfa, 0x31, 0x37, - 0xc4, 0x3f, 0xea, 0x83, 0x39, 0x94, 0x67, 0xbb, 0x3e, 0x44, 0x29, 0x3a, 0x7a, 0x83, 0xaf, 0xa1, - 0x02, 0x17, 0x44, 0x74, 0xb8, 0x39, 0x39, 0x3f, 0xb5, 0x38, 0xbb, 0x7c, 0x3a, 0xb5, 0xae, 0x2d, - 0x05, 0x73, 0x00, 0x8e, 0x57, 0xd0, 0x8c, 0x3c, 0xff, 0xa4, 0xdb, 0xa6, 0xe6, 0x94, 0x72, 0x3d, - 0x95, 0xea, 0x2a, 0x41, 0x4e, 0x04, 0xc7, 0x97, 0x51, 0xbe, 0xe6, 0x11, 0xce, 0xcd, 0x9c, 0xf2, - 0x2b, 0xa7, 0xfa, 0xad, 0x4b, 0x94, 0xa3, 0xc1, 0xf2, 0x63, 0x71, 0x16, 0x88, 0x6a, 0xd7, 0xcc, - 0xab, 0x02, 0x60, 0x87, 0x2d, 0x74, 0xd8, 0x27, 0x2d, 0xba, 0xce, 0x7c, 0x41, 0x5c, 0x9f, 0x9b, - 0x05, 0x75, 0x1a, 0xb3, 0xe1, 0x25, 0x74, 0xf4, 0x09, 0xed, 0xee, 0xb2, 0xa0, 0xce, 0x23, 0xdc, - 0xb4, 0xc2, 0xbd, 0x62, 0xc7, 0x67, 0xd0, 0xff, 0x7c, 0x26, 0xe8, 0x00, 0x38, 0xa3, 0x80, 0x71, - 0x23, 0x5e, 0x44, 0x47, 0x98, 0xef, 0x75, 0xb7, 0x04, 0x09, 0x04, 0x0d, 0x24, 0x59, 0xb3, 0x38, - 0x6f, 0x2c, 0xce, 0x38, 0x07, 0xcd, 0xb8, 0x82, 0xb0, 0x34, 0x55, 0x89, 0x47, 0xfc, 0x1a, 0x5d, - 0xf3, 0x6b, 0x4d, 0x16, 0x70, 0x13, 0x29, 0x70, 0xc2, 0x09, 0xbe, 0x89, 0x66, 0x02, 0x12, 0xb8, - 0xc2, 0xa5, 0xdc, 0x3c, 0x34, 0xe2, 0x9b, 0x38, 0x12, 0xd8, 0x75, 0x22, 0x07, 0x7c, 0x0e, 0xcd, - 0xb6, 0x3a, 0x9e, 0x70, 0xd5, 0xcd, 0x3d, 0xf0, 0xbd, 0xae, 0x79, 0x58, 0x25, 0x3a, 0x60, 0xb5, - 0x2a, 0x30, 0x48, 0xa1, 0x43, 0xa0, 0xcf, 0x4c, 0x34, 0xad, 0x5f, 0x80, 0x7e, 0xb8, 0x39, 0x27, - 0xdc, 0x5a, 0x17, 0xa0, 0xa3, 0xee, 0x4b, 0x05, 0x18, 0xea, 0x62, 0xa5, 0x08, 0xf0, 0x7e, 0x8a, - 0x4e, 0xb8, 0xb5, 0xee, 0x42, 0x78, 0x80, 0x43, 0xf8, 0x0f, 0x50, 0x5e, 0x01, 0xa0, 0x8f, 0x4b, - 0x89, 0x65, 0x69, 0x17, 0x0d, 0xb4, 0x16, 0xd0, 0x11, 0x15, 0x67, 0x8b, 0x8a, 0xa1, 0x36, 0xe6, - 0x54, 0x44, 0x29, 0xf5, 0xc6, 0xba, 0x0f, 0x8f, 0x4c, 0x01, 0x21, 0xdd, 0x4a, 0x3c, 0x5d, 0xf2, - 0x10, 0xda, 0xa2, 0x42, 0x3e, 0xd8, 0x35, 0xad, 0x57, 0x61, 0xde, 0x15, 0xf4, 0x7f, 0x08, 0xe7, - 0x79, 0x0f, 0xa4, 0x44, 0x85, 0xd9, 0xe7, 0xd1, 0x21, 0x1e, 0xda, 0xa2, 0xb1, 0x31, 0x6c, 0xb2, - 0x3e, 0x45, 0x27, 0x0e, 0xba, 0x02, 0x9f, 0x55, 0x54, 0x8c, 0x80, 0xc0, 0xa9, 0x9c, 0xc2, 0x29, - 0x74, 0x1d, 0x38, 0x58, 0x97, 0x40, 0xe4, 0xd6, 0xb5, 0x20, 0x86, 0x84, 0x4e, 0xa2, 0x22, 0x48, - 0x64, 0x44, 0x67, 0x60, 0xb0, 0x3e, 0x46, 0x73, 0x71, 0xa7, 0x68, 0x96, 0x4d, 0x03, 0x08, 0x88, - 0x9c, 0x4c, 0x6e, 0x31, 0x70, 0x0b, 0xc1, 0xcb, 0xfb, 0x87, 0x51, 0x5e, 0x05, 0xc4, 0xdf, 0x1a, - 0xa8, 0xa0, 0xa5, 0x13, 0x2f, 0x24, 0xfa, 0xbe, 0xaa, 0xd3, 0xa5, 0xc5, 0xd1, 0x40, 0xcd, 0xcf, - 0xba, 0xf2, 0xd5, 0xef, 0x7f, 0x3f, 0x9b, 0xb4, 0xf1, 0x05, 0xfb, 0x0e, 0xad, 0x51, 0x5f, 0x04, - 0xc4, 0x93, 0x9d, 0xba, 0x41, 0x5a, 0xd4, 0x4e, 0xff, 0x41, 0x85, 0x7f, 0x33, 0x0e, 0x0a, 0x10, - 0x5e, 0x4e, 0xcf, 0x99, 0xa6, 0xeb, 0xa5, 0x4b, 0xaf, 0xe5, 0x03, 0x94, 0xd7, 0x15, 0xe5, 0x5b, - 0xf8, 0xe6, 0xb8, 0x94, 0xe3, 0xbf, 0xf0, 0xec, 0x9e, 0x5b, 0xef, 0xe3, 0xe7, 0x06, 0x3a, 0x16, - 0x8f, 0xbf, 0xe6, 0x79, 0x59, 0x35, 0xa4, 0xa9, 0x7e, 0x56, 0x0d, 0xa9, 0xfa, 0x6d, 0xdd, 0x56, - 0x35, 0x5c, 0xc7, 0x57, 0xff, 0x5b, 0x0d, 0xf8, 0x99, 0x81, 0x72, 0x6a, 0xe6, 0x9d, 0x4d, 0xcf, - 0x3e, 0xa4, 0xbf, 0xa5, 0x73, 0xa3, 0x60, 0xc0, 0x6b, 0x55, 0xf1, 0xba, 0x8a, 0x2f, 0x8f, 0xc9, - 0x4b, 0xae, 0xec, 0x9e, 0x9e, 0x5d, 0x7d, 0xfc, 0x9d, 0x81, 0x72, 0x52, 0x1d, 0xb3, 0x58, 0x0d, - 0x89, 0x73, 0x16, 0xab, 0x61, 0x55, 0xb6, 0x6e, 0x29, 0x56, 0xd7, 0xf0, 0x95, 0x31, 0x59, 0x49, - 0x6d, 0xb6, 0x7b, 0x20, 0xf4, 0x7d, 0xfc, 0xbd, 0x81, 0xf2, 0x6a, 0xfc, 0xe2, 0x11, 0xd7, 0x10, - 0x7d, 0xd3, 0x85, 0x91, 0xb8, 0x37, 0xb8, 0x2f, 0x6e, 0xf7, 0xd4, 0x2f, 0x82, 0x3e, 0xfe, 0xc1, - 0x40, 0x79, 0x35, 0x85, 0xb3, 0x88, 0x0d, 0x0b, 0x41, 0x16, 0xb1, 0x98, 0x02, 0xbc, 0x76, 0x83, - 0xa9, 0x69, 0x6c, 0xf7, 0x40, 0x56, 0xfa, 0xf8, 0x6b, 0x03, 0x4d, 0x6d, 0x51, 0x81, 0xcf, 0xa4, - 0x27, 0x1c, 0x48, 0x45, 0xe9, 0xec, 0x08, 0x14, 0x90, 0xba, 0xa1, 0x48, 0x5d, 0xc6, 0xcb, 0x63, - 0x92, 0xe2, 0x54, 0xd8, 0x3d, 0x25, 0x3b, 0x7d, 0xfc, 0x8b, 0x81, 0x8a, 0xd1, 0xb8, 0xc6, 0x4b, - 0x59, 0x09, 0xe3, 0x4a, 0x52, 0x7a, 0x6f, 0x2c, 0x2c, 0x50, 0xdc, 0x50, 0x14, 0xd7, 0xf0, 0x87, - 0x63, 0x53, 0x0c, 0xff, 0xb7, 0x92, 0x4c, 0x23, 0x71, 0xea, 0xe3, 0x9f, 0x0c, 0x34, 0x0d, 0x53, - 0x1d, 0x67, 0x8c, 0xe3, 0xb8, 0xc8, 0x94, 0xce, 0x8f, 0x81, 0x04, 0xa6, 0x55, 0xc5, 0x74, 0x15, - 0xdf, 0x18, 0xb7, 0xf5, 0xb4, 0xbf, 0xdd, 0x8b, 0x44, 0xab, 0x5f, 0x75, 0x5e, 0xec, 0x95, 0x8d, - 0x97, 0x7b, 0x65, 0xe3, 0xaf, 0xbd, 0xb2, 0xf1, 0xcd, 0x7e, 0x79, 0xe2, 0xe5, 0x7e, 0x79, 0xe2, - 0x8f, 0xfd, 0xf2, 0xc4, 0xe7, 0xd7, 0x1b, 0xae, 0x68, 0x76, 0x76, 0x2a, 0x35, 0xd6, 0xca, 0x8c, - 0xff, 0xe5, 0xd0, 0x5a, 0x74, 0xdb, 0x94, 0xef, 0x14, 0xd4, 0x3f, 0x90, 0x97, 0xfe, 0x0d, 0x00, - 0x00, 0xff, 0xff, 0xf9, 0x91, 0xbc, 0x61, 0x39, 0x10, 0x00, 0x00, + // 1305 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x97, 0x4f, 0x6f, 0x13, 0xc7, + 0x1b, 0xc7, 0xb3, 0x89, 0xed, 0xc4, 0x03, 0xbf, 0x00, 0x43, 0x7e, 0x68, 0xeb, 0x82, 0x49, 0xb7, + 0x40, 0x42, 0x5a, 0xbc, 0x25, 0xfc, 0x0d, 0x04, 0xaa, 0x38, 0x88, 0x08, 0x55, 0x94, 0xb0, 0x29, + 0xad, 0xd4, 0x4b, 0x34, 0xb1, 0x07, 0x7b, 0xc5, 0x7a, 0xc7, 0xec, 0x8c, 0x9b, 0x5a, 0x96, 0x2f, + 0x7d, 0x01, 0x55, 0x55, 0xaa, 0xaa, 0xc7, 0xaa, 0xa7, 0x5e, 0x2a, 0xf5, 0x05, 0xa0, 0x9e, 0x39, + 0x22, 0xf5, 0xd2, 0x53, 0x55, 0x25, 0x95, 0xfa, 0x36, 0xaa, 0x99, 0x79, 0x76, 0xed, 0x0d, 0xbb, + 0x6b, 0x53, 0x2e, 0xd1, 0xfc, 0xf9, 0x3e, 0xf3, 0x7c, 0x66, 0xf6, 0x99, 0xf9, 0x3a, 0xe8, 0x74, + 0x8d, 0x04, 0xf5, 0x5a, 0x93, 0xb8, 0xbe, 0x3d, 0x68, 0x3d, 0xed, 0xd0, 0xa0, 0x5b, 0x69, 0x07, + 0x4c, 0x30, 0x7c, 0x3c, 0x1a, 0xae, 0x44, 0xad, 0xd2, 0x31, 0xd2, 0x72, 0x7d, 0x66, 0xab, 0xbf, + 0x5a, 0x57, 0x9a, 0x6b, 0xb0, 0x06, 0x53, 0x4d, 0x5b, 0xb6, 0x60, 0xf4, 0x64, 0x83, 0xb1, 0x86, + 0x47, 0x6d, 0xd2, 0x76, 0x6d, 0xe2, 0xfb, 0x4c, 0x10, 0xe1, 0x32, 0x9f, 0xc3, 0xec, 0x52, 0x8d, + 0xf1, 0x16, 0xe3, 0xf6, 0x0e, 0xe1, 0x54, 0x27, 0xb5, 0xbf, 0xb8, 0xb8, 0x43, 0x05, 0xb9, 0x68, + 0xb7, 0x49, 0xc3, 0xf5, 0x95, 0x18, 0xb4, 0xf3, 0x49, 0xa0, 0x6d, 0x12, 0x90, 0x56, 0xb8, 0xda, + 0xf9, 0x44, 0x45, 0xc0, 0xea, 0x9d, 0x9a, 0xd8, 0xae, 0x53, 0x41, 0x5c, 0x2f, 0x53, 0x2a, 0x5b, + 0xdb, 0xbb, 0xae, 0x68, 0x6e, 0xbb, 0x2d, 0xd2, 0xa0, 0x20, 0x2d, 0x27, 0x49, 0x3b, 0x9c, 0x06, + 0x59, 0xf3, 0xb2, 0x05, 0xf3, 0x89, 0x07, 0xdc, 0x22, 0xa2, 0xd6, 0x8c, 0x0e, 0x21, 0x41, 0xc0, + 0xa9, 0xd0, 0x28, 0x24, 0x10, 0xbb, 0x2c, 0x78, 0x02, 0xda, 0x33, 0xc9, 0x5a, 0xcf, 0xdb, 0x66, + 0x8f, 0x1f, 0x47, 0x48, 0xef, 0x24, 0x22, 0xb1, 0x8e, 0x5f, 0x73, 0x3d, 0x2d, 0xb1, 0xe6, 0x10, + 0x7e, 0x28, 0xcf, 0x7b, 0x53, 0x1d, 0xa0, 0x43, 0x9f, 0x76, 0x28, 0x17, 0xd6, 0x23, 0x74, 0x3c, + 0x36, 0xca, 0xdb, 0xcc, 0xe7, 0x14, 0xdf, 0x46, 0x05, 0x7d, 0xd0, 0xa6, 0x31, 0x6f, 0x2c, 0x1e, + 0x5a, 0x7e, 0xbb, 0x92, 0x50, 0x13, 0x15, 0x1d, 0x54, 0x2d, 0xbe, 0xf8, 0xf3, 0xf4, 0xc4, 0xcf, + 0xff, 0xfc, 0xba, 0x64, 0x38, 0x10, 0x65, 0xd9, 0xe8, 0x94, 0x5a, 0x76, 0x83, 0x8a, 0x4d, 0xfd, + 0x39, 0xee, 0xe8, 0xaf, 0x01, 0x79, 0xf1, 0x2c, 0x9a, 0x74, 0xeb, 0x6a, 0xf1, 0x9c, 0x33, 0xe9, + 0xd6, 0x2d, 0x8e, 0xca, 0x69, 0x01, 0x80, 0xf4, 0x10, 0xcd, 0xc6, 0x67, 0x00, 0xed, 0xdd, 0x64, + 0xb4, 0x98, 0xb4, 0x9a, 0x93, 0x88, 0xce, 0x81, 0x05, 0xac, 0x06, 0x50, 0xae, 0x79, 0x5e, 0x32, + 0xe5, 0x5d, 0x84, 0x06, 0x55, 0x09, 0xf9, 0xce, 0x55, 0x74, 0x09, 0x57, 0x64, 0x09, 0x57, 0xf4, + 0xbd, 0x81, 0x12, 0xae, 0x6c, 0x92, 0x06, 0x85, 0x58, 0x67, 0x28, 0xd2, 0x7a, 0x6e, 0xc0, 0xf6, + 0x12, 0x32, 0x65, 0x6c, 0x6f, 0xea, 0x8d, 0xb6, 0x87, 0x37, 0x62, 0xf4, 0x93, 0x8a, 0x7e, 0x61, + 0x24, 0xbd, 0xe6, 0x89, 0xe1, 0x2f, 0xa1, 0xa3, 0x8a, 0x7e, 0x9d, 0x04, 0xf5, 0xf0, 0x68, 0x4e, + 0xa0, 0x82, 0xc4, 0xb9, 0x17, 0x7e, 0x44, 0xe8, 0x59, 0x1f, 0xa1, 0x63, 0x43, 0x5a, 0xd8, 0xdc, + 0x55, 0x94, 0x93, 0xd3, 0x70, 0x82, 0x56, 0xe2, 0x96, 0x64, 0xc0, 0x67, 0xae, 0x68, 0xde, 0x93, + 0x37, 0xd1, 0x51, 0x7a, 0xeb, 0x7d, 0x48, 0xfc, 0x88, 0xd3, 0x20, 0x4c, 0x6c, 0xa2, 0x69, 0x52, + 0xaf, 0x07, 0x94, 0xeb, 0x02, 0x28, 0x3a, 0x61, 0xd7, 0xaa, 0x42, 0x6a, 0xad, 0x86, 0xd4, 0x17, + 0x50, 0x4e, 0x5e, 0x5d, 0x48, 0xfd, 0x56, 0x62, 0x6a, 0x15, 0xa0, 0x64, 0xd6, 0x8f, 0xb9, 0x21, + 0xfe, 0xa8, 0x0e, 0xe6, 0x50, 0x9e, 0xed, 0xfa, 0xb0, 0x4a, 0xd1, 0xd1, 0x1d, 0x7c, 0x0d, 0x15, + 0xb8, 0x20, 0xa2, 0xc3, 0xcd, 0xc9, 0xf9, 0xa9, 0xc5, 0xd9, 0xe5, 0xd3, 0xa9, 0xfb, 0xda, 0x52, + 0x32, 0x07, 0xe4, 0x78, 0x05, 0xcd, 0xc8, 0xf9, 0x4f, 0xba, 0x6d, 0x6a, 0x4e, 0xa9, 0xd0, 0x53, + 0xa9, 0xa1, 0x52, 0xe4, 0x44, 0x72, 0x7c, 0x19, 0xe5, 0x6b, 0x1e, 0xe1, 0xdc, 0xcc, 0xa9, 0xb8, + 0x72, 0x6a, 0xdc, 0xba, 0x54, 0x39, 0x5a, 0x2c, 0x3f, 0x16, 0x67, 0x81, 0xa8, 0x76, 0xcd, 0xbc, + 0xda, 0x00, 0xf4, 0xb0, 0x85, 0x0e, 0xfb, 0xa4, 0x45, 0xd7, 0x99, 0x2f, 0x88, 0xeb, 0x73, 0xb3, + 0xa0, 0x66, 0x63, 0x63, 0x78, 0x09, 0x1d, 0x7d, 0x42, 0xbb, 0xbb, 0x2c, 0xa8, 0xf3, 0x48, 0x37, + 0xad, 0x74, 0xaf, 0x8c, 0xe3, 0x33, 0xe8, 0x7f, 0x3e, 0x13, 0x74, 0x20, 0x9c, 0x51, 0xc2, 0xf8, + 0x20, 0x5e, 0x44, 0x47, 0x98, 0xef, 0x75, 0xb7, 0x04, 0x09, 0x04, 0x0d, 0x24, 0xac, 0x59, 0x9c, + 0x37, 0x16, 0x67, 0x9c, 0x83, 0xc3, 0xb8, 0x82, 0xb0, 0x1c, 0xaa, 0x12, 0x8f, 0xf8, 0x35, 0xba, + 0xe6, 0xd7, 0x9a, 0x2c, 0xe0, 0x26, 0x52, 0xe2, 0x84, 0x19, 0x7c, 0x13, 0xcd, 0x04, 0x24, 0x70, + 0x85, 0x4b, 0xb9, 0x79, 0x68, 0xc4, 0x37, 0x71, 0xa4, 0xb0, 0xeb, 0x44, 0x01, 0xf8, 0x1c, 0x9a, + 0x6d, 0x75, 0x3c, 0xe1, 0xaa, 0x93, 0x7b, 0xe0, 0x7b, 0x5d, 0xf3, 0xb0, 0x4a, 0x74, 0x60, 0xd4, + 0xaa, 0xc0, 0x43, 0x0a, 0x15, 0x02, 0x75, 0x66, 0xa2, 0x69, 0x7d, 0x03, 0xf4, 0xc5, 0xcd, 0x39, + 0x61, 0xd7, 0xba, 0x00, 0x15, 0x75, 0x5f, 0x3a, 0xc0, 0x50, 0x15, 0x2b, 0x47, 0x88, 0xee, 0x4f, + 0xd8, 0xb5, 0xee, 0xc2, 0xf2, 0x20, 0x87, 0xe5, 0x3f, 0x40, 0x79, 0x25, 0x80, 0x3a, 0x2e, 0x25, + 0x6e, 0x4b, 0x87, 0x68, 0xa1, 0xb5, 0x80, 0x8e, 0xa8, 0x75, 0xb6, 0xa8, 0x18, 0x2a, 0x63, 0x4e, + 0x45, 0x94, 0x52, 0x77, 0xac, 0xfb, 0x70, 0xc9, 0x94, 0x10, 0xd2, 0xad, 0xc4, 0xd3, 0x25, 0x3f, + 0x42, 0x5b, 0x54, 0xc8, 0x0b, 0xbb, 0xa6, 0xfd, 0x2a, 0xcc, 0xbb, 0x82, 0xfe, 0x0f, 0xcb, 0x79, + 0xde, 0x03, 0x69, 0x51, 0x61, 0xf6, 0x79, 0x74, 0x88, 0x87, 0x63, 0x11, 0xc3, 0xf0, 0x90, 0xf5, + 0x29, 0x3a, 0x71, 0x30, 0x14, 0x78, 0x56, 0x51, 0x31, 0x12, 0x02, 0x53, 0x39, 0x85, 0x29, 0x0c, + 0x1d, 0x04, 0x58, 0x97, 0xc0, 0xe4, 0xd6, 0xb5, 0x21, 0x86, 0x40, 0x27, 0x51, 0x11, 0x2c, 0x32, + 0xc2, 0x19, 0x0c, 0x58, 0x1f, 0xa3, 0xb9, 0x78, 0x50, 0xf4, 0x96, 0x4d, 0x83, 0x08, 0x40, 0x4e, + 0x26, 0x97, 0x18, 0x84, 0x85, 0xe2, 0xe5, 0xfd, 0xc3, 0x28, 0xaf, 0x16, 0xc4, 0xdf, 0x1a, 0xa8, + 0xa0, 0xad, 0x13, 0x2f, 0x24, 0xc6, 0xbe, 0xea, 0xd3, 0xa5, 0xc5, 0xd1, 0x42, 0xcd, 0x67, 0x5d, + 0xf9, 0xea, 0xf7, 0xbf, 0x9f, 0x4d, 0xda, 0xf8, 0x82, 0x7d, 0x87, 0xd6, 0xa8, 0x2f, 0x02, 0xe2, + 0xc9, 0x4a, 0xdd, 0x20, 0x2d, 0x6a, 0xa7, 0xff, 0xa0, 0xc2, 0xbf, 0x19, 0x07, 0x0d, 0x08, 0x2f, + 0xa7, 0xe7, 0x4c, 0xf3, 0xf5, 0xd2, 0xa5, 0xd7, 0x8a, 0x01, 0xe4, 0x75, 0x85, 0x7c, 0x0b, 0xdf, + 0x1c, 0x17, 0x39, 0xfe, 0x0b, 0xcf, 0xee, 0xb9, 0xf5, 0x3e, 0x7e, 0x6e, 0xa0, 0x63, 0xf1, 0xf5, + 0xd7, 0x3c, 0x2f, 0x6b, 0x0f, 0x69, 0xae, 0x9f, 0xb5, 0x87, 0x54, 0xff, 0xb6, 0x6e, 0xab, 0x3d, + 0x5c, 0xc7, 0x57, 0xff, 0xdb, 0x1e, 0xf0, 0x33, 0x03, 0xe5, 0xd4, 0x9b, 0x77, 0x36, 0x3d, 0xfb, + 0x90, 0xff, 0x96, 0xce, 0x8d, 0x92, 0x01, 0xd7, 0xaa, 0xe2, 0xba, 0x8a, 0x2f, 0x8f, 0xc9, 0x25, + 0x5b, 0x76, 0x4f, 0xbf, 0x5d, 0x7d, 0xfc, 0x9d, 0x81, 0x72, 0xd2, 0x1d, 0xb3, 0xa8, 0x86, 0xcc, + 0x39, 0x8b, 0x6a, 0xd8, 0x95, 0xad, 0x5b, 0x8a, 0xea, 0x1a, 0xbe, 0x32, 0x26, 0x95, 0xf4, 0x66, + 0xbb, 0x07, 0x46, 0xdf, 0xc7, 0xdf, 0x1b, 0x28, 0xaf, 0x9e, 0x5f, 0x3c, 0xe2, 0x18, 0xa2, 0x6f, + 0xba, 0x30, 0x52, 0xf7, 0x06, 0xe7, 0xc5, 0xed, 0x9e, 0xfa, 0x45, 0xd0, 0xc7, 0x3f, 0x18, 0x28, + 0xaf, 0x5e, 0xe1, 0x2c, 0xb0, 0x61, 0x23, 0xc8, 0x02, 0x8b, 0x39, 0xc0, 0x6b, 0x17, 0x98, 0x7a, + 0x8d, 0xed, 0x1e, 0xd8, 0x4a, 0x1f, 0x7f, 0x6d, 0xa0, 0xa9, 0x2d, 0x2a, 0xf0, 0x99, 0xf4, 0x84, + 0x03, 0xab, 0x28, 0x9d, 0x1d, 0xa1, 0x02, 0xa8, 0x1b, 0x0a, 0xea, 0x32, 0x5e, 0x1e, 0x13, 0x8a, + 0x53, 0x61, 0xf7, 0x94, 0xed, 0xf4, 0xf1, 0x2f, 0x06, 0x2a, 0x46, 0xcf, 0x35, 0x5e, 0xca, 0x4a, + 0x18, 0x77, 0x92, 0xd2, 0x7b, 0x63, 0x69, 0x01, 0x71, 0x43, 0x21, 0xae, 0xe1, 0x0f, 0xc7, 0x46, + 0x0c, 0xff, 0xb7, 0x92, 0xa4, 0x91, 0x39, 0xf5, 0xf1, 0x4f, 0x06, 0x9a, 0x86, 0x57, 0x1d, 0x67, + 0x3c, 0xc7, 0x71, 0x93, 0x29, 0x9d, 0x1f, 0x43, 0x09, 0xa4, 0x55, 0x45, 0xba, 0x8a, 0x6f, 0x8c, + 0x5b, 0x7a, 0x3a, 0xde, 0xee, 0x45, 0xa6, 0xd5, 0xaf, 0x3a, 0x2f, 0xf6, 0xca, 0xc6, 0xcb, 0xbd, + 0xb2, 0xf1, 0xd7, 0x5e, 0xd9, 0xf8, 0x66, 0xbf, 0x3c, 0xf1, 0x72, 0xbf, 0x3c, 0xf1, 0xc7, 0x7e, + 0x79, 0xe2, 0xf3, 0xeb, 0x0d, 0x57, 0x34, 0x3b, 0x3b, 0x95, 0x1a, 0x6b, 0x65, 0xae, 0xff, 0xe5, + 0x50, 0x5b, 0x74, 0xdb, 0x94, 0xef, 0x14, 0xd4, 0x3f, 0x90, 0x97, 0xfe, 0x0d, 0x00, 0x00, 0xff, + 0xff, 0x1c, 0xf1, 0x84, 0x18, 0x39, 0x10, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2087,12 +2086,10 @@ func (m *QueryMatchRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.MatchId) > 0 { - i -= len(m.MatchId) - copy(dAtA[i:], m.MatchId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.MatchId))) + if m.MatchId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.MatchId)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x8 } return len(dAtA) - i, nil } @@ -2152,12 +2149,10 @@ func (m *QuerySetRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.SetId) > 0 { - i -= len(m.SetId) - copy(dAtA[i:], m.SetId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.SetId))) + if m.SetId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.SetId)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x8 } return len(dAtA) - i, nil } @@ -2548,9 +2543,8 @@ func (m *QueryMatchRequest) Size() (n int) { } var l int _ = l - l = len(m.MatchId) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if m.MatchId != 0 { + n += 1 + sovQuery(uint64(m.MatchId)) } return n } @@ -2574,9 +2568,8 @@ func (m *QuerySetRequest) Size() (n int) { } var l int _ = l - l = len(m.SetId) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if m.SetId != 0 { + n += 1 + sovQuery(uint64(m.SetId)) } return n } @@ -4166,10 +4159,10 @@ func (m *QueryMatchRequest) Unmarshal(dAtA []byte) error { } switch fieldNum { case 1: - if wireType != 2 { + 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 ErrIntOverflowQuery @@ -4179,24 +4172,11 @@ func (m *QueryMatchRequest) 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 ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.MatchId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -4334,10 +4314,10 @@ func (m *QuerySetRequest) Unmarshal(dAtA []byte) error { } switch fieldNum { case 1: - if wireType != 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 ErrIntOverflowQuery @@ -4347,24 +4327,11 @@ func (m *QuerySetRequest) 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 ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SetId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index a738a7ba..a7a68ccd 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -337,7 +337,7 @@ func request_Query_Match_0(ctx context.Context, marshaler runtime.Marshaler, cli return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "matchId") } - protoReq.MatchId, err = runtime.String(val) + protoReq.MatchId, err = runtime.Uint64(val) if err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "matchId", err) @@ -364,7 +364,7 @@ func local_request_Query_Match_0(ctx context.Context, marshaler runtime.Marshale return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "matchId") } - protoReq.MatchId, err = runtime.String(val) + protoReq.MatchId, err = runtime.Uint64(val) if err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "matchId", err) @@ -391,7 +391,7 @@ func request_Query_Set_0(ctx context.Context, marshaler runtime.Marshaler, clien return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") } - protoReq.SetId, err = runtime.String(val) + protoReq.SetId, err = runtime.Uint64(val) if err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) @@ -418,7 +418,7 @@ func local_request_Query_Set_0(ctx context.Context, marshaler runtime.Marshaler, return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") } - protoReq.SetId, err = runtime.String(val) + protoReq.SetId, err = runtime.Uint64(val) if err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) diff --git a/x/cardchain/types/running_average.pb.go b/x/cardchain/types/running_average.pb.go index 66809249..21f80b8f 100644 --- a/x/cardchain/types/running_average.pb.go +++ b/x/cardchain/types/running_average.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go index 460f7093..32a2be10 100644 --- a/x/cardchain/types/sell_offer.pb.go +++ b/x/cardchain/types/sell_offer.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/server.pb.go b/x/cardchain/types/server.pb.go index 8ed475d1..ea0ae809 100644 --- a/x/cardchain/types/server.pb.go +++ b/x/cardchain/types/server.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index 94c81951..e855ac39 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - types "github.com/cosmos/cosmos-sdk/types" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set_with_artwork.pb.go b/x/cardchain/types/set_with_artwork.pb.go index 31f9721e..04e0c25e 100644 --- a/x/cardchain/types/set_with_artwork.pb.go +++ b/x/cardchain/types/set_with_artwork.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index dd34e69e..182c66f7 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -20,6 +16,9 @@ import ( 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. diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index bc73282c..f70e234d 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go index 45e01b16..6911a3d0 100644 --- a/x/cardchain/types/voting.pb.go +++ b/x/cardchain/types/voting.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go index 36bda627..30e9aaf4 100644 --- a/x/cardchain/types/zealy.pb.go +++ b/x/cardchain/types/zealy.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/flag.pb.go b/x/featureflag/types/flag.pb.go index 9ea00283..e1dd5d4d 100644 --- a/x/featureflag/types/flag.pb.go +++ b/x/featureflag/types/flag.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/genesis.pb.go b/x/featureflag/types/genesis.pb.go index 6113e755..da869d10 100644 --- a/x/featureflag/types/genesis.pb.go +++ b/x/featureflag/types/genesis.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/params.pb.go b/x/featureflag/types/params.pb.go index 41595524..46dbabd7 100644 --- a/x/featureflag/types/params.pb.go +++ b/x/featureflag/types/params.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/query.pb.go b/x/featureflag/types/query.pb.go index e7d3b919..2ec990b9 100644 --- a/x/featureflag/types/query.pb.go +++ b/x/featureflag/types/query.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -19,6 +15,9 @@ import ( 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. diff --git a/x/featureflag/types/tx.pb.go b/x/featureflag/types/tx.pb.go index 94b4be1b..af61eaab 100644 --- a/x/featureflag/types/tx.pb.go +++ b/x/featureflag/types/tx.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -19,6 +15,9 @@ import ( 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. From 0bbb9f27fae81dafac727764a0ad9c0bf7f3fe0b Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 13:05:27 +0100 Subject: [PATCH 45/99] feat(#242): Added server query and added editorconfig --- .editorconfig | 5 + api/cardchain/cardchain/card.pulsar.go | 9 +- .../cardchain/card_with_image.pulsar.go | 7 +- api/cardchain/cardchain/council.pulsar.go | 9 +- api/cardchain/cardchain/encounter.pulsar.go | 9 +- api/cardchain/cardchain/genesis.pulsar.go | 9 +- api/cardchain/cardchain/image.pulsar.go | 7 +- api/cardchain/cardchain/match.pulsar.go | 7 +- .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- .../cardchain/product_details.pulsar.go | 7 +- api/cardchain/cardchain/query.pulsar.go | 1575 +++++++++++++---- api/cardchain/cardchain/query_grpc.pb.go | 40 + .../cardchain/running_average.pulsar.go | 7 +- api/cardchain/cardchain/sell_offer.pulsar.go | 9 +- api/cardchain/cardchain/server.pulsar.go | 7 +- api/cardchain/cardchain/set.pulsar.go | 9 +- .../cardchain/set_with_artwork.pulsar.go | 7 +- api/cardchain/cardchain/tx.pulsar.go | 11 +- api/cardchain/cardchain/tx_grpc.pb.go | 1 + api/cardchain/cardchain/user.pulsar.go | 7 +- api/cardchain/cardchain/voting.pulsar.go | 7 +- api/cardchain/cardchain/zealy.pulsar.go | 7 +- api/cardchain/featureflag/flag.pulsar.go | 7 +- api/cardchain/featureflag/genesis.pulsar.go | 11 +- .../featureflag/module/module.pulsar.go | 9 +- api/cardchain/featureflag/params.pulsar.go | 9 +- api/cardchain/featureflag/query.pulsar.go | 9 +- api/cardchain/featureflag/query_grpc.pb.go | 1 + api/cardchain/featureflag/tx.pulsar.go | 9 +- api/cardchain/featureflag/tx_grpc.pb.go | 1 + docs/static/openapi.yml | 2 +- gen_queries.sh | 1 + proto/cardchain/cardchain/query.proto | 11 + x/cardchain/keeper/query_server.go | 23 + x/cardchain/module/autocli.go | 7 + x/cardchain/types/card.pb.go | 7 +- x/cardchain/types/card_with_image.pb.go | 5 +- x/cardchain/types/council.pb.go | 7 +- x/cardchain/types/encounter.pb.go | 5 +- x/cardchain/types/genesis.pb.go | 7 +- x/cardchain/types/image.pb.go | 3 +- x/cardchain/types/match.pb.go | 3 +- x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/product_details.pb.go | 3 +- x/cardchain/types/query.pb.go | 549 +++++- x/cardchain/types/query.pb.gw.go | 101 ++ x/cardchain/types/running_average.pb.go | 3 +- x/cardchain/types/sell_offer.pb.go | 7 +- x/cardchain/types/server.pb.go | 3 +- x/cardchain/types/set.pb.go | 5 +- x/cardchain/types/set_with_artwork.pb.go | 3 +- x/cardchain/types/tx.pb.go | 7 +- x/cardchain/types/user.pb.go | 3 +- x/cardchain/types/voting.pb.go | 3 +- x/cardchain/types/zealy.pb.go | 3 +- x/featureflag/types/flag.pb.go | 3 +- x/featureflag/types/genesis.pb.go | 7 +- x/featureflag/types/params.pb.go | 7 +- x/featureflag/types/query.pb.go | 7 +- x/featureflag/types/tx.pb.go | 7 +- 61 files changed, 2108 insertions(+), 531 deletions(-) create mode 100644 .editorconfig create mode 100644 x/cardchain/keeper/query_server.go diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..197dc989 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,5 @@ +[*.proto] +indent_style = space +trim_trailing_whitespace = false +indent_size = 2 +tab_width = 2 diff --git a/api/cardchain/cardchain/card.pulsar.go b/api/cardchain/cardchain/card.pulsar.go index 32747a36..a986b06e 100644 --- a/api/cardchain/cardchain/card.pulsar.go +++ b/api/cardchain/cardchain/card.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Card_14_list)(nil) diff --git a/api/cardchain/cardchain/card_with_image.pulsar.go b/api/cardchain/cardchain/card_with_image.pulsar.go index c161546e..d8c51a08 100644 --- a/api/cardchain/cardchain/card_with_image.pulsar.go +++ b/api/cardchain/cardchain/card_with_image.pulsar.go @@ -3,14 +3,15 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/council.pulsar.go b/api/cardchain/cardchain/council.pulsar.go index ad8e4373..1afba505 100644 --- a/api/cardchain/cardchain/council.pulsar.go +++ b/api/cardchain/cardchain/council.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Council_2_list)(nil) diff --git a/api/cardchain/cardchain/encounter.pulsar.go b/api/cardchain/cardchain/encounter.pulsar.go index f8002c77..7dc474db 100644 --- a/api/cardchain/cardchain/encounter.pulsar.go +++ b/api/cardchain/cardchain/encounter.pulsar.go @@ -3,15 +3,16 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var _ protoreflect.List = (*_Encounter_2_list)(nil) diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index c48c933d..4d3bf7a0 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_GenesisState_2_list)(nil) diff --git a/api/cardchain/cardchain/image.pulsar.go b/api/cardchain/cardchain/image.pulsar.go index 627dece1..db59a9e8 100644 --- a/api/cardchain/cardchain/image.pulsar.go +++ b/api/cardchain/cardchain/image.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go index 191ba7fd..b2e29884 100644 --- a/api/cardchain/cardchain/match.pulsar.go +++ b/api/cardchain/cardchain/match.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index 2b190f83..dead9881 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,15 +2,16 @@ package module import ( - _ "cosmossdk.io/api/cosmos/app/v1alpha1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/cosmos/app/v1alpha1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index 11ddc437..ed6b2b87 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,17 +2,18 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/product_details.pulsar.go b/api/cardchain/cardchain/product_details.pulsar.go index 4217d854..f50578bd 100644 --- a/api/cardchain/cardchain/product_details.pulsar.go +++ b/api/cardchain/cardchain/product_details.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index d8d9ef7e..f2cd4ad6 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,18 +2,19 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( @@ -9774,183 +9775,1022 @@ func (x *fastReflection_QueryCouncilResponse) ProtoMethods() *protoiface.Methods } } -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: cardchain/cardchain/query.proto - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +var ( + md_QueryServerRequest protoreflect.MessageDescriptor + fd_QueryServerRequest_serverId protoreflect.FieldDescriptor ) -// QueryParamsRequest is request type for the Query/Params RPC method. -type QueryParamsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *QueryParamsRequest) Reset() { - *x = QueryParamsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryParamsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryServerRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryServerRequest") + fd_QueryServerRequest_serverId = md_QueryServerRequest.Fields().ByName("serverId") } -func (*QueryParamsRequest) ProtoMessage() {} - -// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. -func (*QueryParamsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{0} -} +var _ protoreflect.Message = (*fastReflection_QueryServerRequest)(nil) -// QueryParamsResponse is response type for the Query/Params RPC method. -type QueryParamsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type fastReflection_QueryServerRequest QueryServerRequest - // params holds all the parameters of this module. - Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +func (x *QueryServerRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryServerRequest)(x) } -func (x *QueryParamsResponse) Reset() { - *x = QueryParamsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[1] +func (x *QueryServerRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } + return mi.MessageOf(x) } -func (x *QueryParamsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} +var _fastReflection_QueryServerRequest_messageType fastReflection_QueryServerRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryServerRequest_messageType{} -func (*QueryParamsResponse) ProtoMessage() {} +type fastReflection_QueryServerRequest_messageType struct{} -// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. -func (*QueryParamsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{1} +func (x fastReflection_QueryServerRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryServerRequest)(nil) } - -func (x *QueryParamsResponse) GetParams() *Params { - if x != nil { - return x.Params - } - return nil +func (x fastReflection_QueryServerRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryServerRequest) } - -type QueryGetProductDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +func (x fastReflection_QueryServerRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryServerRequest } -func (x *QueryGetProductDetailsRequest) Reset() { - *x = QueryGetProductDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryServerRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryServerRequest } -func (x *QueryGetProductDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryServerRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryServerRequest_messageType } -func (*QueryGetProductDetailsRequest) ProtoMessage() {} +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryServerRequest) New() protoreflect.Message { + return new(fastReflection_QueryServerRequest) +} -// Deprecated: Use QueryGetProductDetailsRequest.ProtoReflect.Descriptor instead. -func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryServerRequest) Interface() protoreflect.ProtoMessage { + return (*QueryServerRequest)(x) } -func (x *QueryGetProductDetailsRequest) GetId() uint64 { - if x != nil { - return x.Id +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryServerRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ServerId != uint64(0) { + value := protoreflect.ValueOfUint64(x.ServerId) + if !f(fd_QueryServerRequest_serverId, value) { + return + } } - return 0 } -type QueryGetProductDetailsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProductDetails *ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryServerRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryServerRequest.serverId": + return x.ServerId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryServerRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryServerRequest does not contain field %s", fd.FullName())) + } } -func (x *QueryGetProductDetailsResponse) Reset() { - *x = QueryGetProductDetailsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryServerRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryServerRequest.serverId": + x.ServerId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryServerRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryServerRequest does not contain field %s", fd.FullName())) } } -func (x *QueryGetProductDetailsResponse) String() string { - return protoimpl.X.MessageStringOf(x) +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryServerRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryServerRequest.serverId": + value := x.ServerId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryServerRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryServerRequest does not contain field %s", descriptor.FullName())) + } } -func (*QueryGetProductDetailsResponse) ProtoMessage() {} - -// Deprecated: Use QueryGetProductDetailsResponse.ProtoReflect.Descriptor instead. -func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryServerRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryServerRequest.serverId": + x.ServerId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryServerRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryServerRequest does not contain field %s", fd.FullName())) + } } -func (x *QueryGetProductDetailsResponse) GetProductDetails() *ProductDetails { - if x != nil { - return x.ProductDetails +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryServerRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryServerRequest.serverId": + panic(fmt.Errorf("field serverId of message cardchain.cardchain.QueryServerRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryServerRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryServerRequest does not contain field %s", fd.FullName())) } - return nil } -type QueryAllProductDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryServerRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryServerRequest.serverId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryServerRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryServerRequest does not contain field %s", fd.FullName())) + } } -func (x *QueryAllProductDetailsRequest) Reset() { - *x = QueryAllProductDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryServerRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryServerRequest", d.FullName())) } + panic("unreachable") } -func (x *QueryAllProductDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryServerRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields } -func (*QueryAllProductDetailsRequest) ProtoMessage() {} - -// Deprecated: Use QueryAllProductDetailsRequest.ProtoReflect.Descriptor instead. -func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryServerRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields } -func (x *QueryAllProductDetailsRequest) GetPagination() *v1beta1.PageRequest { - if x != nil { +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryServerRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryServerRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryServerRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.ServerId != 0 { + n += 1 + runtime.Sov(uint64(x.ServerId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryServerRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.ServerId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ServerId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryServerRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryServerRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryServerRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ServerId", wireType) + } + x.ServerId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.ServerId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryServerResponse protoreflect.MessageDescriptor + fd_QueryServerResponse_server protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryServerResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryServerResponse") + fd_QueryServerResponse_server = md_QueryServerResponse.Fields().ByName("server") +} + +var _ protoreflect.Message = (*fastReflection_QueryServerResponse)(nil) + +type fastReflection_QueryServerResponse QueryServerResponse + +func (x *QueryServerResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryServerResponse)(x) +} + +func (x *QueryServerResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryServerResponse_messageType fastReflection_QueryServerResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryServerResponse_messageType{} + +type fastReflection_QueryServerResponse_messageType struct{} + +func (x fastReflection_QueryServerResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryServerResponse)(nil) +} +func (x fastReflection_QueryServerResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryServerResponse) +} +func (x fastReflection_QueryServerResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryServerResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryServerResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryServerResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryServerResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryServerResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryServerResponse) New() protoreflect.Message { + return new(fastReflection_QueryServerResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryServerResponse) Interface() protoreflect.ProtoMessage { + return (*QueryServerResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryServerResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Server != nil { + value := protoreflect.ValueOfMessage(x.Server.ProtoReflect()) + if !f(fd_QueryServerResponse_server, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryServerResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryServerResponse.server": + return x.Server != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryServerResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryServerResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryServerResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryServerResponse.server": + x.Server = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryServerResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryServerResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryServerResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryServerResponse.server": + value := x.Server + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryServerResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryServerResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryServerResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryServerResponse.server": + x.Server = value.Message().Interface().(*Server) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryServerResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryServerResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryServerResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryServerResponse.server": + if x.Server == nil { + x.Server = new(Server) + } + return protoreflect.ValueOfMessage(x.Server.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryServerResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryServerResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryServerResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryServerResponse.server": + m := new(Server) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryServerResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryServerResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryServerResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryServerResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryServerResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryServerResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryServerResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryServerResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryServerResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Server != nil { + l = options.Size(x.Server) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryServerResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Server != nil { + encoded, err := options.Marshal(x.Server) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryServerResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryServerResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryServerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Server", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Server == nil { + x.Server = &Server{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Server); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/query.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// QueryParamsRequest is request type for the Query/Params RPC method. +type QueryParamsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryParamsRequest) Reset() { + *x = QueryParamsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsRequest) ProtoMessage() {} + +// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. +func (*QueryParamsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{0} +} + +// QueryParamsResponse is response type for the Query/Params RPC method. +type QueryParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // params holds all the parameters of this module. + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *QueryParamsResponse) Reset() { + *x = QueryParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsResponse) ProtoMessage() {} + +// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. +func (*QueryParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{1} +} + +func (x *QueryParamsResponse) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +type QueryGetProductDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *QueryGetProductDetailsRequest) Reset() { + *x = QueryGetProductDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetProductDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetProductDetailsRequest) ProtoMessage() {} + +// Deprecated: Use QueryGetProductDetailsRequest.ProtoReflect.Descriptor instead. +func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} +} + +func (x *QueryGetProductDetailsRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type QueryGetProductDetailsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProductDetails *ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` +} + +func (x *QueryGetProductDetailsResponse) Reset() { + *x = QueryGetProductDetailsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetProductDetailsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetProductDetailsResponse) ProtoMessage() {} + +// Deprecated: Use QueryGetProductDetailsResponse.ProtoReflect.Descriptor instead. +func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} +} + +func (x *QueryGetProductDetailsResponse) GetProductDetails() *ProductDetails { + if x != nil { + return x.ProductDetails + } + return nil +} + +type QueryAllProductDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryAllProductDetailsRequest) Reset() { + *x = QueryAllProductDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryAllProductDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryAllProductDetailsRequest) ProtoMessage() {} + +// Deprecated: Use QueryAllProductDetailsRequest.ProtoReflect.Descriptor instead. +func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} +} + +func (x *QueryAllProductDetailsRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { return x.Pagination } return nil @@ -10577,6 +11417,76 @@ func (x *QueryCouncilResponse) GetCouncil() *Council { return nil } +type QueryServerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId uint64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"` +} + +func (x *QueryServerRequest) Reset() { + *x = QueryServerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryServerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryServerRequest) ProtoMessage() {} + +// Deprecated: Use QueryServerRequest.ProtoReflect.Descriptor instead. +func (*QueryServerRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{20} +} + +func (x *QueryServerRequest) GetServerId() uint64 { + if x != nil { + return x.ServerId + } + return 0 +} + +type QueryServerResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Server *Server `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` +} + +func (x *QueryServerResponse) Reset() { + *x = QueryServerResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryServerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryServerResponse) ProtoMessage() {} + +// Deprecated: Use QueryServerResponse.ProtoReflect.Descriptor instead. +func (*QueryServerResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{21} +} + +func (x *QueryServerResponse) GetServer() *Server { + if x != nil { + return x.Server + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -10611,127 +11521,137 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, - 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, + 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, + 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x22, 0x4b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, + 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, + 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, - 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, - 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, + 0xa0, 0x04, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x34, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, + 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, + 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, + 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, + 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, + 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, + 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, + 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, + 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x52, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, + 0x6c, 0x79, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x64, 0x22, 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, + 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x57, + 0x69, 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, - 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, - 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, - 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, - 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, - 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, - 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, - 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, - 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, - 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, - 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, - 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, - 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, - 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, - 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, - 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, - 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, - 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x07, - 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x32, 0xe3, 0x0c, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, + 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x14, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x22, 0x30, 0x0a, 0x12, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x13, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x32, 0x83, 0x0e, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, @@ -10833,7 +11753,17 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x42, 0xd2, 0x01, + 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, + 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, @@ -10862,7 +11792,7 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 22) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse @@ -10884,62 +11814,68 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QuerySellOfferResponse)(nil), // 17: cardchain.cardchain.QuerySellOfferResponse (*QueryCouncilRequest)(nil), // 18: cardchain.cardchain.QueryCouncilRequest (*QueryCouncilResponse)(nil), // 19: cardchain.cardchain.QueryCouncilResponse - (*Params)(nil), // 20: cardchain.cardchain.Params - (*ProductDetails)(nil), // 21: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 22: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 23: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 24: cardchain.cardchain.CardWithImage - (*User)(nil), // 25: cardchain.cardchain.User - (CardStatus)(0), // 26: cardchain.cardchain.CardStatus - (CardType)(0), // 27: cardchain.cardchain.CardType - (CardClass)(0), // 28: cardchain.cardchain.CardClass - (CardRarity)(0), // 29: cardchain.cardchain.CardRarity - (*Match)(nil), // 30: cardchain.cardchain.Match - (*SetWithArtwork)(nil), // 31: cardchain.cardchain.SetWithArtwork - (*SellOffer)(nil), // 32: cardchain.cardchain.SellOffer - (*Council)(nil), // 33: cardchain.cardchain.Council + (*QueryServerRequest)(nil), // 20: cardchain.cardchain.QueryServerRequest + (*QueryServerResponse)(nil), // 21: cardchain.cardchain.QueryServerResponse + (*Params)(nil), // 22: cardchain.cardchain.Params + (*ProductDetails)(nil), // 23: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 24: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 25: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 26: cardchain.cardchain.CardWithImage + (*User)(nil), // 27: cardchain.cardchain.User + (CardStatus)(0), // 28: cardchain.cardchain.CardStatus + (CardType)(0), // 29: cardchain.cardchain.CardType + (CardClass)(0), // 30: cardchain.cardchain.CardClass + (CardRarity)(0), // 31: cardchain.cardchain.CardRarity + (*Match)(nil), // 32: cardchain.cardchain.Match + (*SetWithArtwork)(nil), // 33: cardchain.cardchain.SetWithArtwork + (*SellOffer)(nil), // 34: cardchain.cardchain.SellOffer + (*Council)(nil), // 35: cardchain.cardchain.Council + (*Server)(nil), // 36: cardchain.cardchain.Server } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 20, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 21, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 22, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 21, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 23, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 24, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 25, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 26, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus - 27, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType - 28, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass - 29, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity - 30, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match - 31, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork - 32, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer - 33, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council - 0, // 15: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 16: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 17: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 18: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 19: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 20: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 12, // 21: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest - 14, // 22: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest - 16, // 23: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest - 18, // 24: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest - 1, // 25: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 26: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 27: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 28: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 29: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 30: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 13, // 31: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse - 15, // 32: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse - 17, // 33: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse - 19, // 34: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse - 25, // [25:35] is the sub-list for method output_type - 15, // [15:25] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 22, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 23, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 24, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 23, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 25, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 26, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 27, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 28, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 29, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 30, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 31, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 32, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match + 33, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork + 34, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer + 35, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council + 36, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server + 0, // 16: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 17: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 18: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 19: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 20: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 10, // 21: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 12, // 22: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest + 14, // 23: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest + 16, // 24: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest + 18, // 25: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest + 20, // 26: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest + 1, // 27: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 28: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 29: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 30: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 31: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 32: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 13, // 33: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse + 15, // 34: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse + 17, // 35: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse + 19, // 36: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse + 21, // 37: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse + 27, // [27:38] is the sub-list for method output_type + 16, // [16:27] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -10956,6 +11892,7 @@ func file_cardchain_cardchain_query_proto_init() { file_cardchain_cardchain_set_with_artwork_proto_init() file_cardchain_cardchain_sell_offer_proto_init() file_cardchain_cardchain_council_proto_init() + file_cardchain_cardchain_server_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsRequest); i { @@ -11197,6 +12134,30 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryServerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryServerResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -11204,7 +12165,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 20, + NumMessages: 22, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index eb969d2c..74326301 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,6 +8,7 @@ package cardchain import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -29,6 +30,7 @@ const ( Query_Set_FullMethodName = "/cardchain.cardchain.Query/Set" Query_SellOffer_FullMethodName = "/cardchain.cardchain.Query/SellOffer" Query_Council_FullMethodName = "/cardchain.cardchain.Query/Council" + Query_Server_FullMethodName = "/cardchain.cardchain.Query/Server" ) // QueryClient is the client API for Query service. @@ -54,6 +56,8 @@ type QueryClient interface { SellOffer(ctx context.Context, in *QuerySellOfferRequest, opts ...grpc.CallOption) (*QuerySellOfferResponse, error) // Queries a list of Council items. Council(ctx context.Context, in *QueryCouncilRequest, opts ...grpc.CallOption) (*QueryCouncilResponse, error) + // Queries a list of Server items. + Server(ctx context.Context, in *QueryServerRequest, opts ...grpc.CallOption) (*QueryServerResponse, error) } type queryClient struct { @@ -154,6 +158,15 @@ func (c *queryClient) Council(ctx context.Context, in *QueryCouncilRequest, opts return out, nil } +func (c *queryClient) Server(ctx context.Context, in *QueryServerRequest, opts ...grpc.CallOption) (*QueryServerResponse, error) { + out := new(QueryServerResponse) + err := c.cc.Invoke(ctx, Query_Server_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -177,6 +190,8 @@ type QueryServer interface { SellOffer(context.Context, *QuerySellOfferRequest) (*QuerySellOfferResponse, error) // Queries a list of Council items. Council(context.Context, *QueryCouncilRequest) (*QueryCouncilResponse, error) + // Queries a list of Server items. + Server(context.Context, *QueryServerRequest) (*QueryServerResponse, error) mustEmbedUnimplementedQueryServer() } @@ -214,6 +229,9 @@ func (UnimplementedQueryServer) SellOffer(context.Context, *QuerySellOfferReques func (UnimplementedQueryServer) Council(context.Context, *QueryCouncilRequest) (*QueryCouncilResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Council not implemented") } +func (UnimplementedQueryServer) Server(context.Context, *QueryServerRequest) (*QueryServerResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Server not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -407,6 +425,24 @@ func _Query_Council_Handler(srv interface{}, ctx context.Context, dec func(inter return interceptor(ctx, in, info, handler) } +func _Query_Server_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryServerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Server(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Server_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Server(ctx, req.(*QueryServerRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -454,6 +490,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Council", Handler: _Query_Council_Handler, }, + { + MethodName: "Server", + Handler: _Query_Server_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/api/cardchain/cardchain/running_average.pulsar.go b/api/cardchain/cardchain/running_average.pulsar.go index 9cff2c1b..48c3ca74 100644 --- a/api/cardchain/cardchain/running_average.pulsar.go +++ b/api/cardchain/cardchain/running_average.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_RunningAverage_1_list)(nil) diff --git a/api/cardchain/cardchain/sell_offer.pulsar.go b/api/cardchain/cardchain/sell_offer.pulsar.go index 55fde4b3..5f5fb235 100644 --- a/api/cardchain/cardchain/sell_offer.pulsar.go +++ b/api/cardchain/cardchain/sell_offer.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/server.pulsar.go b/api/cardchain/cardchain/server.pulsar.go index e8d66d38..25cbab32 100644 --- a/api/cardchain/cardchain/server.pulsar.go +++ b/api/cardchain/cardchain/server.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go index bd4a42db..984c3c6d 100644 --- a/api/cardchain/cardchain/set.pulsar.go +++ b/api/cardchain/cardchain/set.pulsar.go @@ -2,15 +2,16 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Set_2_list)(nil) diff --git a/api/cardchain/cardchain/set_with_artwork.pulsar.go b/api/cardchain/cardchain/set_with_artwork.pulsar.go index 2de6c3ae..15c9094d 100644 --- a/api/cardchain/cardchain/set_with_artwork.pulsar.go +++ b/api/cardchain/cardchain/set_with_artwork.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index ac894ab3..3617fc13 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,20 +2,21 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" - fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 3dd8f52f..51db3503 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,6 +8,7 @@ package cardchain import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/user.pulsar.go b/api/cardchain/cardchain/user.pulsar.go index c0c7e0ad..a6f11922 100644 --- a/api/cardchain/cardchain/user.pulsar.go +++ b/api/cardchain/cardchain/user.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_User_2_list)(nil) diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go index 2a02aa7e..bf614c4f 100644 --- a/api/cardchain/cardchain/voting.pulsar.go +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_VotingResults_6_list)(nil) diff --git a/api/cardchain/cardchain/zealy.pulsar.go b/api/cardchain/cardchain/zealy.pulsar.go index 8dedd508..7879a400 100644 --- a/api/cardchain/cardchain/zealy.pulsar.go +++ b/api/cardchain/cardchain/zealy.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/flag.pulsar.go b/api/cardchain/featureflag/flag.pulsar.go index 10b5e452..932ce355 100644 --- a/api/cardchain/featureflag/flag.pulsar.go +++ b/api/cardchain/featureflag/flag.pulsar.go @@ -3,13 +3,14 @@ package featureflag import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/genesis.pulsar.go b/api/cardchain/featureflag/genesis.pulsar.go index 2c435bb2..ddfe3040 100644 --- a/api/cardchain/featureflag/genesis.pulsar.go +++ b/api/cardchain/featureflag/genesis.pulsar.go @@ -2,17 +2,18 @@ package featureflag import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var _ protoreflect.Map = (*_GenesisState_2_map)(nil) diff --git a/api/cardchain/featureflag/module/module.pulsar.go b/api/cardchain/featureflag/module/module.pulsar.go index 947efc3f..5650e208 100644 --- a/api/cardchain/featureflag/module/module.pulsar.go +++ b/api/cardchain/featureflag/module/module.pulsar.go @@ -2,15 +2,16 @@ package module import ( - _ "cosmossdk.io/api/cosmos/app/v1alpha1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/cosmos/app/v1alpha1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/params.pulsar.go b/api/cardchain/featureflag/params.pulsar.go index fb51fec2..6b347b45 100644 --- a/api/cardchain/featureflag/params.pulsar.go +++ b/api/cardchain/featureflag/params.pulsar.go @@ -2,16 +2,17 @@ package featureflag import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query.pulsar.go b/api/cardchain/featureflag/query.pulsar.go index 3419d3a4..1e62212d 100644 --- a/api/cardchain/featureflag/query.pulsar.go +++ b/api/cardchain/featureflag/query.pulsar.go @@ -2,18 +2,19 @@ package featureflag import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query_grpc.pb.go b/api/cardchain/featureflag/query_grpc.pb.go index f7957337..0e8130e8 100644 --- a/api/cardchain/featureflag/query_grpc.pb.go +++ b/api/cardchain/featureflag/query_grpc.pb.go @@ -8,6 +8,7 @@ package featureflag import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/featureflag/tx.pulsar.go b/api/cardchain/featureflag/tx.pulsar.go index 0cef5f49..dd3db629 100644 --- a/api/cardchain/featureflag/tx.pulsar.go +++ b/api/cardchain/featureflag/tx.pulsar.go @@ -2,18 +2,19 @@ package featureflag import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/msg/v1" - fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/tx_grpc.pb.go b/api/cardchain/featureflag/tx_grpc.pb.go index 95442cac..9d8cbe66 100644 --- a/api/cardchain/featureflag/tx_grpc.pb.go +++ b/api/cardchain/featureflag/tx_grpc.pb.go @@ -8,6 +8,7 @@ package featureflag import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 082160dc..a6077137 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin22","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin23","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin22","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin23","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index 64b43c80..e3467329 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -9,3 +9,4 @@ set -o pipefail #ignite scaffold query set setId --response match:SetWithArtwork #ignite scaffold query sellOffer sellOfferId:uint --response sellOffer:SellOffer #ignite scaffold query council councilId:uint --response council:Council +ignite scaffold query server serverId:uint --response server:Server diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 61277970..0fd5e934 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -15,6 +15,7 @@ import "cardchain/cardchain/match.proto"; import "cardchain/cardchain/set_with_artwork.proto"; import "cardchain/cardchain/sell_offer.proto"; import "cardchain/cardchain/council.proto"; +import "cardchain/cardchain/server.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; @@ -80,6 +81,12 @@ service Query { option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/council/{councilId}"; } + + // Queries a list of Server items. + rpc Server(QueryServerRequest) returns (QueryServerResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/server/{serverId}"; + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -147,3 +154,7 @@ message QuerySellOfferResponse { SellOffer sellOffer = 1; } message QueryCouncilRequest { uint64 councilId = 1; } message QueryCouncilResponse { Council council = 1; } + +message QueryServerRequest { uint64 serverId = 1; } + +message QueryServerResponse { Server server = 1; } diff --git a/x/cardchain/keeper/query_server.go b/x/cardchain/keeper/query_server.go new file mode 100644 index 00000000..0cf3c885 --- /dev/null +++ b/x/cardchain/keeper/query_server.go @@ -0,0 +1,23 @@ +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) Server(goCtx context.Context, req *types.QueryServerRequest) (*types.QueryServerResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryServerResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 890065e6..d1137f4f 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -77,6 +77,13 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "councilId"}}, }, + { + RpcMethod: "Server", + Use: "server [server-id]", + Short: "Query server", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "serverId"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go index e0cd33af..bf541854 100644 --- a/x/cardchain/types/card.pb.go +++ b/x/cardchain/types/card.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/card_with_image.pb.go b/x/cardchain/types/card_with_image.pb.go index 39e731f0..cccc278d 100644 --- a/x/cardchain/types/card_with_image.pb.go +++ b/x/cardchain/types/card_with_image.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/council.pb.go b/x/cardchain/types/council.pb.go index a6f6f6d7..1bbdfc01 100644 --- a/x/cardchain/types/council.pb.go +++ b/x/cardchain/types/council.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/encounter.pb.go b/x/cardchain/types/encounter.pb.go index 5c6f1b54..0f2e0d18 100644 --- a/x/cardchain/types/encounter.pb.go +++ b/x/cardchain/types/encounter.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 4306f207..636f7c25 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/image.pb.go b/x/cardchain/types/image.pb.go index a4fe2647..a2a036be 100644 --- a/x/cardchain/types/image.pb.go +++ b/x/cardchain/types/image.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 7ac97cf8..660c57d2 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index d9081e8f..2874c6ce 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,13 +5,14 @@ package types import ( fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" - io "io" - math "math" - math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/product_details.pb.go b/x/cardchain/types/product_details.pb.go index 11fdabcb..6f38ca9c 100644 --- a/x/cardchain/types/product_details.pb.go +++ b/x/cardchain/types/product_details.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 22a5d6ff..fe77913d 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -15,9 +19,6 @@ import ( 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. @@ -1002,6 +1003,94 @@ func (m *QueryCouncilResponse) GetCouncil() *Council { return nil } +type QueryServerRequest struct { + ServerId uint64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"` +} + +func (m *QueryServerRequest) Reset() { *m = QueryServerRequest{} } +func (m *QueryServerRequest) String() string { return proto.CompactTextString(m) } +func (*QueryServerRequest) ProtoMessage() {} +func (*QueryServerRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{20} +} +func (m *QueryServerRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryServerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryServerRequest.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 *QueryServerRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryServerRequest.Merge(m, src) +} +func (m *QueryServerRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryServerRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryServerRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryServerRequest proto.InternalMessageInfo + +func (m *QueryServerRequest) GetServerId() uint64 { + if m != nil { + return m.ServerId + } + return 0 +} + +type QueryServerResponse struct { + Server *Server `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` +} + +func (m *QueryServerResponse) Reset() { *m = QueryServerResponse{} } +func (m *QueryServerResponse) String() string { return proto.CompactTextString(m) } +func (*QueryServerResponse) ProtoMessage() {} +func (*QueryServerResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{21} +} +func (m *QueryServerResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryServerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryServerResponse.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 *QueryServerResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryServerResponse.Merge(m, src) +} +func (m *QueryServerResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryServerResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryServerResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryServerResponse proto.InternalMessageInfo + +func (m *QueryServerResponse) GetServer() *Server { + if m != nil { + return m.Server + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -1023,94 +1112,101 @@ func init() { proto.RegisterType((*QuerySellOfferResponse)(nil), "cardchain.cardchain.QuerySellOfferResponse") proto.RegisterType((*QueryCouncilRequest)(nil), "cardchain.cardchain.QueryCouncilRequest") proto.RegisterType((*QueryCouncilResponse)(nil), "cardchain.cardchain.QueryCouncilResponse") + proto.RegisterType((*QueryServerRequest)(nil), "cardchain.cardchain.QueryServerRequest") + proto.RegisterType((*QueryServerResponse)(nil), "cardchain.cardchain.QueryServerResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 1305 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x97, 0x4f, 0x6f, 0x13, 0xc7, - 0x1b, 0xc7, 0xb3, 0x89, 0xed, 0xc4, 0x03, 0xbf, 0x00, 0x43, 0x7e, 0x68, 0xeb, 0x82, 0x49, 0xb7, - 0x40, 0x42, 0x5a, 0xbc, 0x25, 0xfc, 0x0d, 0x04, 0xaa, 0x38, 0x88, 0x08, 0x55, 0x94, 0xb0, 0x29, - 0xad, 0xd4, 0x4b, 0x34, 0xb1, 0x07, 0x7b, 0xc5, 0x7a, 0xc7, 0xec, 0x8c, 0x9b, 0x5a, 0x96, 0x2f, - 0x7d, 0x01, 0x55, 0x55, 0xaa, 0xaa, 0xc7, 0xaa, 0xa7, 0x5e, 0x2a, 0xf5, 0x05, 0xa0, 0x9e, 0x39, - 0x22, 0xf5, 0xd2, 0x53, 0x55, 0x25, 0x95, 0xfa, 0x36, 0xaa, 0x99, 0x79, 0x76, 0xed, 0x0d, 0xbb, - 0x6b, 0x53, 0x2e, 0xd1, 0xfc, 0xf9, 0x3e, 0xf3, 0x7c, 0x66, 0xf6, 0x99, 0xf9, 0x3a, 0xe8, 0x74, - 0x8d, 0x04, 0xf5, 0x5a, 0x93, 0xb8, 0xbe, 0x3d, 0x68, 0x3d, 0xed, 0xd0, 0xa0, 0x5b, 0x69, 0x07, - 0x4c, 0x30, 0x7c, 0x3c, 0x1a, 0xae, 0x44, 0xad, 0xd2, 0x31, 0xd2, 0x72, 0x7d, 0x66, 0xab, 0xbf, - 0x5a, 0x57, 0x9a, 0x6b, 0xb0, 0x06, 0x53, 0x4d, 0x5b, 0xb6, 0x60, 0xf4, 0x64, 0x83, 0xb1, 0x86, - 0x47, 0x6d, 0xd2, 0x76, 0x6d, 0xe2, 0xfb, 0x4c, 0x10, 0xe1, 0x32, 0x9f, 0xc3, 0xec, 0x52, 0x8d, - 0xf1, 0x16, 0xe3, 0xf6, 0x0e, 0xe1, 0x54, 0x27, 0xb5, 0xbf, 0xb8, 0xb8, 0x43, 0x05, 0xb9, 0x68, - 0xb7, 0x49, 0xc3, 0xf5, 0x95, 0x18, 0xb4, 0xf3, 0x49, 0xa0, 0x6d, 0x12, 0x90, 0x56, 0xb8, 0xda, - 0xf9, 0x44, 0x45, 0xc0, 0xea, 0x9d, 0x9a, 0xd8, 0xae, 0x53, 0x41, 0x5c, 0x2f, 0x53, 0x2a, 0x5b, - 0xdb, 0xbb, 0xae, 0x68, 0x6e, 0xbb, 0x2d, 0xd2, 0xa0, 0x20, 0x2d, 0x27, 0x49, 0x3b, 0x9c, 0x06, - 0x59, 0xf3, 0xb2, 0x05, 0xf3, 0x89, 0x07, 0xdc, 0x22, 0xa2, 0xd6, 0x8c, 0x0e, 0x21, 0x41, 0xc0, - 0xa9, 0xd0, 0x28, 0x24, 0x10, 0xbb, 0x2c, 0x78, 0x02, 0xda, 0x33, 0xc9, 0x5a, 0xcf, 0xdb, 0x66, - 0x8f, 0x1f, 0x47, 0x48, 0xef, 0x24, 0x22, 0xb1, 0x8e, 0x5f, 0x73, 0x3d, 0x2d, 0xb1, 0xe6, 0x10, - 0x7e, 0x28, 0xcf, 0x7b, 0x53, 0x1d, 0xa0, 0x43, 0x9f, 0x76, 0x28, 0x17, 0xd6, 0x23, 0x74, 0x3c, - 0x36, 0xca, 0xdb, 0xcc, 0xe7, 0x14, 0xdf, 0x46, 0x05, 0x7d, 0xd0, 0xa6, 0x31, 0x6f, 0x2c, 0x1e, - 0x5a, 0x7e, 0xbb, 0x92, 0x50, 0x13, 0x15, 0x1d, 0x54, 0x2d, 0xbe, 0xf8, 0xf3, 0xf4, 0xc4, 0xcf, - 0xff, 0xfc, 0xba, 0x64, 0x38, 0x10, 0x65, 0xd9, 0xe8, 0x94, 0x5a, 0x76, 0x83, 0x8a, 0x4d, 0xfd, - 0x39, 0xee, 0xe8, 0xaf, 0x01, 0x79, 0xf1, 0x2c, 0x9a, 0x74, 0xeb, 0x6a, 0xf1, 0x9c, 0x33, 0xe9, - 0xd6, 0x2d, 0x8e, 0xca, 0x69, 0x01, 0x80, 0xf4, 0x10, 0xcd, 0xc6, 0x67, 0x00, 0xed, 0xdd, 0x64, - 0xb4, 0x98, 0xb4, 0x9a, 0x93, 0x88, 0xce, 0x81, 0x05, 0xac, 0x06, 0x50, 0xae, 0x79, 0x5e, 0x32, - 0xe5, 0x5d, 0x84, 0x06, 0x55, 0x09, 0xf9, 0xce, 0x55, 0x74, 0x09, 0x57, 0x64, 0x09, 0x57, 0xf4, - 0xbd, 0x81, 0x12, 0xae, 0x6c, 0x92, 0x06, 0x85, 0x58, 0x67, 0x28, 0xd2, 0x7a, 0x6e, 0xc0, 0xf6, - 0x12, 0x32, 0x65, 0x6c, 0x6f, 0xea, 0x8d, 0xb6, 0x87, 0x37, 0x62, 0xf4, 0x93, 0x8a, 0x7e, 0x61, - 0x24, 0xbd, 0xe6, 0x89, 0xe1, 0x2f, 0xa1, 0xa3, 0x8a, 0x7e, 0x9d, 0x04, 0xf5, 0xf0, 0x68, 0x4e, - 0xa0, 0x82, 0xc4, 0xb9, 0x17, 0x7e, 0x44, 0xe8, 0x59, 0x1f, 0xa1, 0x63, 0x43, 0x5a, 0xd8, 0xdc, - 0x55, 0x94, 0x93, 0xd3, 0x70, 0x82, 0x56, 0xe2, 0x96, 0x64, 0xc0, 0x67, 0xae, 0x68, 0xde, 0x93, - 0x37, 0xd1, 0x51, 0x7a, 0xeb, 0x7d, 0x48, 0xfc, 0x88, 0xd3, 0x20, 0x4c, 0x6c, 0xa2, 0x69, 0x52, - 0xaf, 0x07, 0x94, 0xeb, 0x02, 0x28, 0x3a, 0x61, 0xd7, 0xaa, 0x42, 0x6a, 0xad, 0x86, 0xd4, 0x17, - 0x50, 0x4e, 0x5e, 0x5d, 0x48, 0xfd, 0x56, 0x62, 0x6a, 0x15, 0xa0, 0x64, 0xd6, 0x8f, 0xb9, 0x21, - 0xfe, 0xa8, 0x0e, 0xe6, 0x50, 0x9e, 0xed, 0xfa, 0xb0, 0x4a, 0xd1, 0xd1, 0x1d, 0x7c, 0x0d, 0x15, - 0xb8, 0x20, 0xa2, 0xc3, 0xcd, 0xc9, 0xf9, 0xa9, 0xc5, 0xd9, 0xe5, 0xd3, 0xa9, 0xfb, 0xda, 0x52, - 0x32, 0x07, 0xe4, 0x78, 0x05, 0xcd, 0xc8, 0xf9, 0x4f, 0xba, 0x6d, 0x6a, 0x4e, 0xa9, 0xd0, 0x53, - 0xa9, 0xa1, 0x52, 0xe4, 0x44, 0x72, 0x7c, 0x19, 0xe5, 0x6b, 0x1e, 0xe1, 0xdc, 0xcc, 0xa9, 0xb8, - 0x72, 0x6a, 0xdc, 0xba, 0x54, 0x39, 0x5a, 0x2c, 0x3f, 0x16, 0x67, 0x81, 0xa8, 0x76, 0xcd, 0xbc, - 0xda, 0x00, 0xf4, 0xb0, 0x85, 0x0e, 0xfb, 0xa4, 0x45, 0xd7, 0x99, 0x2f, 0x88, 0xeb, 0x73, 0xb3, - 0xa0, 0x66, 0x63, 0x63, 0x78, 0x09, 0x1d, 0x7d, 0x42, 0xbb, 0xbb, 0x2c, 0xa8, 0xf3, 0x48, 0x37, - 0xad, 0x74, 0xaf, 0x8c, 0xe3, 0x33, 0xe8, 0x7f, 0x3e, 0x13, 0x74, 0x20, 0x9c, 0x51, 0xc2, 0xf8, - 0x20, 0x5e, 0x44, 0x47, 0x98, 0xef, 0x75, 0xb7, 0x04, 0x09, 0x04, 0x0d, 0x24, 0xac, 0x59, 0x9c, - 0x37, 0x16, 0x67, 0x9c, 0x83, 0xc3, 0xb8, 0x82, 0xb0, 0x1c, 0xaa, 0x12, 0x8f, 0xf8, 0x35, 0xba, - 0xe6, 0xd7, 0x9a, 0x2c, 0xe0, 0x26, 0x52, 0xe2, 0x84, 0x19, 0x7c, 0x13, 0xcd, 0x04, 0x24, 0x70, - 0x85, 0x4b, 0xb9, 0x79, 0x68, 0xc4, 0x37, 0x71, 0xa4, 0xb0, 0xeb, 0x44, 0x01, 0xf8, 0x1c, 0x9a, - 0x6d, 0x75, 0x3c, 0xe1, 0xaa, 0x93, 0x7b, 0xe0, 0x7b, 0x5d, 0xf3, 0xb0, 0x4a, 0x74, 0x60, 0xd4, - 0xaa, 0xc0, 0x43, 0x0a, 0x15, 0x02, 0x75, 0x66, 0xa2, 0x69, 0x7d, 0x03, 0xf4, 0xc5, 0xcd, 0x39, - 0x61, 0xd7, 0xba, 0x00, 0x15, 0x75, 0x5f, 0x3a, 0xc0, 0x50, 0x15, 0x2b, 0x47, 0x88, 0xee, 0x4f, - 0xd8, 0xb5, 0xee, 0xc2, 0xf2, 0x20, 0x87, 0xe5, 0x3f, 0x40, 0x79, 0x25, 0x80, 0x3a, 0x2e, 0x25, - 0x6e, 0x4b, 0x87, 0x68, 0xa1, 0xb5, 0x80, 0x8e, 0xa8, 0x75, 0xb6, 0xa8, 0x18, 0x2a, 0x63, 0x4e, - 0x45, 0x94, 0x52, 0x77, 0xac, 0xfb, 0x70, 0xc9, 0x94, 0x10, 0xd2, 0xad, 0xc4, 0xd3, 0x25, 0x3f, - 0x42, 0x5b, 0x54, 0xc8, 0x0b, 0xbb, 0xa6, 0xfd, 0x2a, 0xcc, 0xbb, 0x82, 0xfe, 0x0f, 0xcb, 0x79, - 0xde, 0x03, 0x69, 0x51, 0x61, 0xf6, 0x79, 0x74, 0x88, 0x87, 0x63, 0x11, 0xc3, 0xf0, 0x90, 0xf5, - 0x29, 0x3a, 0x71, 0x30, 0x14, 0x78, 0x56, 0x51, 0x31, 0x12, 0x02, 0x53, 0x39, 0x85, 0x29, 0x0c, - 0x1d, 0x04, 0x58, 0x97, 0xc0, 0xe4, 0xd6, 0xb5, 0x21, 0x86, 0x40, 0x27, 0x51, 0x11, 0x2c, 0x32, - 0xc2, 0x19, 0x0c, 0x58, 0x1f, 0xa3, 0xb9, 0x78, 0x50, 0xf4, 0x96, 0x4d, 0x83, 0x08, 0x40, 0x4e, - 0x26, 0x97, 0x18, 0x84, 0x85, 0xe2, 0xe5, 0xfd, 0xc3, 0x28, 0xaf, 0x16, 0xc4, 0xdf, 0x1a, 0xa8, - 0xa0, 0xad, 0x13, 0x2f, 0x24, 0xc6, 0xbe, 0xea, 0xd3, 0xa5, 0xc5, 0xd1, 0x42, 0xcd, 0x67, 0x5d, - 0xf9, 0xea, 0xf7, 0xbf, 0x9f, 0x4d, 0xda, 0xf8, 0x82, 0x7d, 0x87, 0xd6, 0xa8, 0x2f, 0x02, 0xe2, - 0xc9, 0x4a, 0xdd, 0x20, 0x2d, 0x6a, 0xa7, 0xff, 0xa0, 0xc2, 0xbf, 0x19, 0x07, 0x0d, 0x08, 0x2f, - 0xa7, 0xe7, 0x4c, 0xf3, 0xf5, 0xd2, 0xa5, 0xd7, 0x8a, 0x01, 0xe4, 0x75, 0x85, 0x7c, 0x0b, 0xdf, - 0x1c, 0x17, 0x39, 0xfe, 0x0b, 0xcf, 0xee, 0xb9, 0xf5, 0x3e, 0x7e, 0x6e, 0xa0, 0x63, 0xf1, 0xf5, - 0xd7, 0x3c, 0x2f, 0x6b, 0x0f, 0x69, 0xae, 0x9f, 0xb5, 0x87, 0x54, 0xff, 0xb6, 0x6e, 0xab, 0x3d, - 0x5c, 0xc7, 0x57, 0xff, 0xdb, 0x1e, 0xf0, 0x33, 0x03, 0xe5, 0xd4, 0x9b, 0x77, 0x36, 0x3d, 0xfb, - 0x90, 0xff, 0x96, 0xce, 0x8d, 0x92, 0x01, 0xd7, 0xaa, 0xe2, 0xba, 0x8a, 0x2f, 0x8f, 0xc9, 0x25, - 0x5b, 0x76, 0x4f, 0xbf, 0x5d, 0x7d, 0xfc, 0x9d, 0x81, 0x72, 0xd2, 0x1d, 0xb3, 0xa8, 0x86, 0xcc, - 0x39, 0x8b, 0x6a, 0xd8, 0x95, 0xad, 0x5b, 0x8a, 0xea, 0x1a, 0xbe, 0x32, 0x26, 0x95, 0xf4, 0x66, - 0xbb, 0x07, 0x46, 0xdf, 0xc7, 0xdf, 0x1b, 0x28, 0xaf, 0x9e, 0x5f, 0x3c, 0xe2, 0x18, 0xa2, 0x6f, - 0xba, 0x30, 0x52, 0xf7, 0x06, 0xe7, 0xc5, 0xed, 0x9e, 0xfa, 0x45, 0xd0, 0xc7, 0x3f, 0x18, 0x28, - 0xaf, 0x5e, 0xe1, 0x2c, 0xb0, 0x61, 0x23, 0xc8, 0x02, 0x8b, 0x39, 0xc0, 0x6b, 0x17, 0x98, 0x7a, - 0x8d, 0xed, 0x1e, 0xd8, 0x4a, 0x1f, 0x7f, 0x6d, 0xa0, 0xa9, 0x2d, 0x2a, 0xf0, 0x99, 0xf4, 0x84, - 0x03, 0xab, 0x28, 0x9d, 0x1d, 0xa1, 0x02, 0xa8, 0x1b, 0x0a, 0xea, 0x32, 0x5e, 0x1e, 0x13, 0x8a, - 0x53, 0x61, 0xf7, 0x94, 0xed, 0xf4, 0xf1, 0x2f, 0x06, 0x2a, 0x46, 0xcf, 0x35, 0x5e, 0xca, 0x4a, - 0x18, 0x77, 0x92, 0xd2, 0x7b, 0x63, 0x69, 0x01, 0x71, 0x43, 0x21, 0xae, 0xe1, 0x0f, 0xc7, 0x46, - 0x0c, 0xff, 0xb7, 0x92, 0xa4, 0x91, 0x39, 0xf5, 0xf1, 0x4f, 0x06, 0x9a, 0x86, 0x57, 0x1d, 0x67, - 0x3c, 0xc7, 0x71, 0x93, 0x29, 0x9d, 0x1f, 0x43, 0x09, 0xa4, 0x55, 0x45, 0xba, 0x8a, 0x6f, 0x8c, - 0x5b, 0x7a, 0x3a, 0xde, 0xee, 0x45, 0xa6, 0xd5, 0xaf, 0x3a, 0x2f, 0xf6, 0xca, 0xc6, 0xcb, 0xbd, - 0xb2, 0xf1, 0xd7, 0x5e, 0xd9, 0xf8, 0x66, 0xbf, 0x3c, 0xf1, 0x72, 0xbf, 0x3c, 0xf1, 0xc7, 0x7e, - 0x79, 0xe2, 0xf3, 0xeb, 0x0d, 0x57, 0x34, 0x3b, 0x3b, 0x95, 0x1a, 0x6b, 0x65, 0xae, 0xff, 0xe5, - 0x50, 0x5b, 0x74, 0xdb, 0x94, 0xef, 0x14, 0xd4, 0x3f, 0x90, 0x97, 0xfe, 0x0d, 0x00, 0x00, 0xff, - 0xff, 0x1c, 0xf1, 0x84, 0x18, 0x39, 0x10, 0x00, 0x00, + // 1382 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x97, 0xcf, 0x6f, 0x13, 0x47, + 0x1b, 0xc7, 0xb3, 0x89, 0xe3, 0xc4, 0x0f, 0xbc, 0x01, 0x86, 0xbc, 0xc8, 0xaf, 0x5f, 0x30, 0x79, + 0xe7, 0x05, 0x12, 0xd2, 0xe2, 0x85, 0x84, 0xdf, 0xbf, 0xda, 0x38, 0x88, 0x88, 0x56, 0x14, 0xd8, + 0x94, 0x56, 0xea, 0x25, 0x9a, 0xd8, 0x83, 0xb3, 0x62, 0xbd, 0x6b, 0x76, 0xc6, 0xa4, 0x96, 0xe5, + 0x4b, 0x7b, 0xaf, 0xaa, 0x52, 0x55, 0xbd, 0x54, 0xaa, 0x7a, 0xea, 0xa5, 0x52, 0xff, 0x00, 0xd4, + 0x33, 0x47, 0xa4, 0x5e, 0x7a, 0xaa, 0x2a, 0xa8, 0xd4, 0x7f, 0xa3, 0x9a, 0x99, 0x67, 0x37, 0xde, + 0xb0, 0x5e, 0x9b, 0x72, 0xb1, 0x76, 0x67, 0xbe, 0xcf, 0x3c, 0x9f, 0x99, 0x79, 0x66, 0xbf, 0x63, + 0x38, 0x5a, 0x63, 0x61, 0xbd, 0xb6, 0xc5, 0x5c, 0xdf, 0xde, 0x79, 0x7a, 0xd4, 0xe6, 0x61, 0xa7, + 0xd2, 0x0a, 0x03, 0x19, 0x90, 0x83, 0x71, 0x73, 0x25, 0x7e, 0x2a, 0x1d, 0x60, 0x4d, 0xd7, 0x0f, + 0x6c, 0xfd, 0x6b, 0x74, 0xa5, 0xd9, 0x46, 0xd0, 0x08, 0xf4, 0xa3, 0xad, 0x9e, 0xb0, 0xf5, 0x70, + 0x23, 0x08, 0x1a, 0x1e, 0xb7, 0x59, 0xcb, 0xb5, 0x99, 0xef, 0x07, 0x92, 0x49, 0x37, 0xf0, 0x05, + 0xf6, 0x2e, 0xd6, 0x02, 0xd1, 0x0c, 0x84, 0xbd, 0xc9, 0x04, 0x37, 0x49, 0xed, 0xc7, 0x67, 0x36, + 0xb9, 0x64, 0x67, 0xec, 0x16, 0x6b, 0xb8, 0xbe, 0x16, 0xa3, 0x76, 0x2e, 0x0d, 0xb4, 0xc5, 0x42, + 0xd6, 0x8c, 0x46, 0x3b, 0x99, 0xaa, 0x08, 0x83, 0x7a, 0xbb, 0x26, 0x37, 0xea, 0x5c, 0x32, 0xd7, + 0xcb, 0x94, 0xaa, 0xa7, 0x8d, 0x6d, 0x57, 0x6e, 0x6d, 0xb8, 0x4d, 0xd6, 0xe0, 0x28, 0x2d, 0xa7, + 0x49, 0xdb, 0x82, 0x87, 0x59, 0xfd, 0xea, 0x09, 0xfb, 0x53, 0x17, 0xb8, 0xc9, 0x64, 0x6d, 0x2b, + 0x5e, 0x84, 0x14, 0x81, 0xe0, 0xd2, 0xa0, 0xb0, 0x50, 0x6e, 0x07, 0xe1, 0x43, 0xd4, 0x1e, 0x4b, + 0xd7, 0x7a, 0xde, 0x46, 0xf0, 0xe0, 0x41, 0x8c, 0xf4, 0xbf, 0x54, 0xa4, 0xa0, 0xed, 0xd7, 0x5c, + 0x2f, 0x6b, 0x35, 0x05, 0x0f, 0x1f, 0x47, 0x83, 0xd0, 0x59, 0x20, 0xf7, 0xd4, 0x8e, 0xdc, 0xd5, + 0x4b, 0xec, 0xf0, 0x47, 0x6d, 0x2e, 0x24, 0xbd, 0x0f, 0x07, 0x13, 0xad, 0xa2, 0x15, 0xf8, 0x82, + 0x93, 0xeb, 0x90, 0x37, 0x5b, 0x51, 0xb4, 0xe6, 0xac, 0x85, 0x3d, 0x4b, 0xff, 0xad, 0xa4, 0x54, + 0x4d, 0xc5, 0x04, 0x55, 0x0b, 0xcf, 0x7e, 0x3f, 0x3a, 0xf6, 0xe3, 0x5f, 0x3f, 0x2f, 0x5a, 0x0e, + 0x46, 0x51, 0x1b, 0x8e, 0xe8, 0x61, 0xd7, 0xb8, 0xbc, 0x6b, 0x36, 0xec, 0x86, 0xd9, 0x2f, 0xcc, + 0x4b, 0x66, 0x60, 0xdc, 0xad, 0xeb, 0xc1, 0x73, 0xce, 0xb8, 0x5b, 0xa7, 0x02, 0xca, 0x83, 0x02, + 0x10, 0xe9, 0x1e, 0xcc, 0x24, 0x7b, 0x10, 0xed, 0xff, 0xe9, 0x68, 0x09, 0x69, 0x35, 0xa7, 0x10, + 0x9d, 0x5d, 0x03, 0xd0, 0x06, 0x52, 0xae, 0x78, 0x5e, 0x3a, 0xe5, 0x4d, 0x80, 0x9d, 0xba, 0xc5, + 0x7c, 0x27, 0x2a, 0xa6, 0xc8, 0x2b, 0xaa, 0xc8, 0x2b, 0xe6, 0x64, 0x61, 0x91, 0x57, 0xee, 0xb2, + 0x06, 0xc7, 0x58, 0xa7, 0x2f, 0x92, 0x3e, 0xb5, 0x70, 0x7a, 0x29, 0x99, 0x32, 0xa6, 0x37, 0xf1, + 0x46, 0xd3, 0x23, 0x6b, 0x09, 0xfa, 0x71, 0x4d, 0x3f, 0x3f, 0x94, 0xde, 0xf0, 0x24, 0xf0, 0x17, + 0x61, 0xbf, 0xa6, 0x5f, 0x65, 0x61, 0x3d, 0x5a, 0x9a, 0x43, 0x90, 0x57, 0x38, 0xb7, 0xa2, 0x4d, + 0xc4, 0x37, 0xfa, 0x3e, 0x1c, 0xe8, 0xd3, 0xe2, 0xe4, 0xce, 0x43, 0x4e, 0x75, 0xe3, 0x0a, 0xd2, + 0xd4, 0x29, 0xa9, 0x80, 0x8f, 0x5d, 0xb9, 0x75, 0x4b, 0x9d, 0x55, 0x47, 0xeb, 0xe9, 0xdb, 0x98, + 0xf8, 0xbe, 0xe0, 0x61, 0x94, 0xb8, 0x08, 0x53, 0xac, 0x5e, 0x0f, 0xb9, 0x30, 0x05, 0x50, 0x70, + 0xa2, 0x57, 0x5a, 0xc5, 0xd4, 0x46, 0x8d, 0xa9, 0x4f, 0x41, 0x4e, 0x1d, 0x6e, 0x4c, 0xfd, 0x9f, + 0xd4, 0xd4, 0x3a, 0x40, 0xcb, 0xe8, 0xf7, 0xb9, 0x3e, 0xfe, 0xb8, 0x0e, 0x66, 0x61, 0x32, 0xd8, + 0xf6, 0x71, 0x94, 0x82, 0x63, 0x5e, 0xc8, 0x05, 0xc8, 0x0b, 0xc9, 0x64, 0x5b, 0x14, 0xc7, 0xe7, + 0x26, 0x16, 0x66, 0x96, 0x8e, 0x0e, 0x9c, 0xd7, 0xba, 0x96, 0x39, 0x28, 0x27, 0x97, 0x60, 0x5a, + 0xf5, 0x7f, 0xd8, 0x69, 0xf1, 0xe2, 0x84, 0x0e, 0x3d, 0x32, 0x30, 0x54, 0x89, 0x9c, 0x58, 0x4e, + 0xce, 0xc2, 0x64, 0xcd, 0x63, 0x42, 0x14, 0x73, 0x3a, 0xae, 0x3c, 0x30, 0x6e, 0x55, 0xa9, 0x1c, + 0x23, 0x56, 0x9b, 0x25, 0x82, 0x50, 0x56, 0x3b, 0xc5, 0x49, 0x3d, 0x01, 0x7c, 0x23, 0x14, 0xf6, + 0xfa, 0xac, 0xc9, 0x57, 0x03, 0x5f, 0x32, 0xd7, 0x17, 0xc5, 0xbc, 0xee, 0x4d, 0xb4, 0x91, 0x45, + 0xd8, 0xff, 0x90, 0x77, 0xb6, 0x83, 0xb0, 0x2e, 0x62, 0xdd, 0x94, 0xd6, 0xbd, 0xd2, 0x4e, 0x8e, + 0xc1, 0xbf, 0xfc, 0x40, 0xf2, 0x1d, 0xe1, 0xb4, 0x16, 0x26, 0x1b, 0xc9, 0x02, 0xec, 0x0b, 0x7c, + 0xaf, 0xb3, 0x2e, 0x59, 0x28, 0x79, 0xa8, 0x60, 0x8b, 0x85, 0x39, 0x6b, 0x61, 0xda, 0xd9, 0xdd, + 0x4c, 0x2a, 0x40, 0x54, 0x53, 0x95, 0x79, 0xcc, 0xaf, 0xf1, 0x15, 0xbf, 0xb6, 0x15, 0x84, 0xa2, + 0x08, 0x5a, 0x9c, 0xd2, 0x43, 0xae, 0xc0, 0x74, 0xc8, 0x42, 0x57, 0xba, 0x5c, 0x14, 0xf7, 0x0c, + 0xd9, 0x13, 0x47, 0x09, 0x3b, 0x4e, 0x1c, 0x40, 0x4e, 0xc0, 0x4c, 0xb3, 0xed, 0x49, 0x57, 0xaf, + 0xdc, 0x1d, 0xdf, 0xeb, 0x14, 0xf7, 0xea, 0x44, 0xbb, 0x5a, 0x69, 0x05, 0x3f, 0xa4, 0x58, 0x21, + 0x58, 0x67, 0x45, 0x98, 0x32, 0x27, 0xc0, 0x1c, 0xdc, 0x9c, 0x13, 0xbd, 0xd2, 0x53, 0x58, 0x51, + 0xb7, 0x95, 0x47, 0xf4, 0x55, 0xb1, 0xf6, 0x8c, 0xf8, 0xfc, 0x44, 0xaf, 0xf4, 0x26, 0x0e, 0x8f, + 0x72, 0x1c, 0xfe, 0x34, 0x4c, 0x6a, 0x01, 0xd6, 0x71, 0x29, 0x75, 0x5a, 0x26, 0xc4, 0x08, 0xe9, + 0x3c, 0xec, 0xd3, 0xe3, 0xac, 0x73, 0xd9, 0x57, 0xc6, 0x82, 0xcb, 0x38, 0xa5, 0x79, 0xa1, 0xb7, + 0xf1, 0x90, 0x69, 0x21, 0xa6, 0xbb, 0x94, 0x4c, 0x97, 0xfe, 0x11, 0x5a, 0xe7, 0x52, 0x1d, 0xd8, + 0x15, 0xe3, 0x68, 0x51, 0xde, 0x4b, 0xf0, 0x6f, 0x1c, 0xce, 0xf3, 0xee, 0x28, 0x13, 0x8b, 0xb2, + 0xcf, 0xc1, 0x1e, 0x11, 0xb5, 0xc5, 0x0c, 0xfd, 0x4d, 0xf4, 0x23, 0x38, 0xb4, 0x3b, 0x14, 0x79, + 0xae, 0x42, 0x21, 0x16, 0x22, 0x53, 0x79, 0x00, 0x53, 0x14, 0xba, 0x13, 0x40, 0x97, 0xd1, 0xe4, + 0x56, 0x8d, 0x65, 0x46, 0x40, 0x87, 0xa1, 0x80, 0x26, 0x1a, 0xe3, 0xec, 0x34, 0xd0, 0x0f, 0x60, + 0x36, 0x19, 0x14, 0x7f, 0xcb, 0xa6, 0x50, 0x84, 0x20, 0x87, 0xd3, 0x4b, 0x0c, 0xc3, 0x22, 0x31, + 0x3d, 0x8d, 0xfb, 0xba, 0xae, 0x4d, 0x39, 0x62, 0x28, 0xc1, 0xb4, 0x71, 0xe9, 0x18, 0x21, 0x7e, + 0xa7, 0xef, 0x21, 0x76, 0x14, 0x81, 0x00, 0xcb, 0x90, 0x37, 0x92, 0x4c, 0x6f, 0xc6, 0x20, 0x94, + 0x2e, 0x7d, 0x3e, 0x03, 0x93, 0x7a, 0x30, 0xf2, 0x95, 0x05, 0x79, 0x63, 0xdc, 0x64, 0x3e, 0x35, + 0xf2, 0xd5, 0x5b, 0x42, 0x69, 0x61, 0xb8, 0xd0, 0xc0, 0xd1, 0x73, 0x9f, 0xfd, 0xfa, 0xe7, 0x93, + 0x71, 0x9b, 0x9c, 0xb2, 0x6f, 0xf0, 0x1a, 0xf7, 0x65, 0xc8, 0x3c, 0x75, 0x4e, 0xd6, 0x58, 0x93, + 0xdb, 0x83, 0x2f, 0x7c, 0xe4, 0x17, 0x6b, 0xb7, 0xfd, 0x91, 0xa5, 0xc1, 0x39, 0x07, 0xdd, 0x2a, + 0x4a, 0xcb, 0xaf, 0x15, 0x83, 0xc8, 0xab, 0x1a, 0xf9, 0x1a, 0xb9, 0x32, 0x2a, 0x72, 0xf2, 0x06, + 0x6a, 0x77, 0xdd, 0x7a, 0x8f, 0x3c, 0xb5, 0xe0, 0x40, 0x72, 0xfc, 0x15, 0xcf, 0xcb, 0x9a, 0xc3, + 0xa0, 0x3b, 0x47, 0xd6, 0x1c, 0x06, 0xde, 0x1e, 0xe8, 0x75, 0x3d, 0x87, 0x8b, 0xe4, 0xfc, 0x3f, + 0x9b, 0x03, 0x79, 0x62, 0x41, 0x4e, 0x7f, 0x71, 0x8f, 0x0f, 0xce, 0xde, 0xe7, 0xfe, 0xa5, 0x13, + 0xc3, 0x64, 0xc8, 0x75, 0x55, 0x73, 0x9d, 0x27, 0x67, 0x47, 0xe4, 0x52, 0x4f, 0x76, 0xd7, 0x7c, + 0x39, 0x7b, 0xe4, 0x6b, 0x0b, 0x72, 0xca, 0x9b, 0xb3, 0xa8, 0xfa, 0xae, 0x06, 0x59, 0x54, 0xfd, + 0x77, 0x02, 0x7a, 0x4d, 0x53, 0x5d, 0x20, 0xe7, 0x46, 0xa4, 0x52, 0x37, 0x03, 0xbb, 0x8b, 0xd7, + 0x8c, 0x1e, 0xf9, 0xc6, 0x82, 0x49, 0xfd, 0xf1, 0x27, 0x43, 0x96, 0x21, 0xde, 0xd3, 0xf9, 0xa1, + 0xba, 0x37, 0x58, 0x2f, 0x61, 0x77, 0xf5, 0x7d, 0xa4, 0x47, 0xbe, 0xb5, 0x60, 0x52, 0x7b, 0x40, + 0x16, 0x58, 0xbf, 0x0d, 0x65, 0x81, 0x25, 0xfc, 0xe7, 0xb5, 0x0b, 0x4c, 0x7b, 0x81, 0xdd, 0x45, + 0x53, 0xeb, 0x91, 0x2f, 0x2c, 0x98, 0x58, 0xe7, 0x92, 0x1c, 0x1b, 0x9c, 0x70, 0xc7, 0xa8, 0x4a, + 0xc7, 0x87, 0xa8, 0x10, 0xea, 0xb2, 0x86, 0x3a, 0x4b, 0x96, 0x46, 0x84, 0x12, 0x5c, 0xda, 0x5d, + 0x6d, 0x7a, 0x3d, 0xf2, 0x93, 0x05, 0x85, 0xd8, 0x2c, 0xc8, 0x62, 0x56, 0xc2, 0xa4, 0x8f, 0x95, + 0xde, 0x1a, 0x49, 0x8b, 0x88, 0x6b, 0x1a, 0x71, 0x85, 0xbc, 0x33, 0x32, 0x62, 0xf4, 0xdf, 0x4f, + 0x91, 0xc6, 0xd6, 0xd8, 0x23, 0x3f, 0x58, 0x30, 0x85, 0x9e, 0x42, 0x32, 0x3e, 0xc7, 0x49, 0x8b, + 0x2b, 0x9d, 0x1c, 0x41, 0x89, 0xa4, 0x55, 0x4d, 0x7a, 0x95, 0x5c, 0x1e, 0xb5, 0xf4, 0x4c, 0xbc, + 0xdd, 0x8d, 0x2d, 0xb3, 0x47, 0xbe, 0xb3, 0x20, 0x6f, 0x8c, 0x27, 0xcb, 0x5b, 0x12, 0x0e, 0x98, + 0xe5, 0x2d, 0x49, 0xe3, 0xa3, 0xef, 0x6a, 0xc2, 0xcb, 0xe4, 0xe2, 0xc8, 0x6b, 0xa9, 0xc2, 0xd5, + 0x3a, 0x1a, 0x43, 0xed, 0x55, 0x9d, 0x67, 0x2f, 0xca, 0xd6, 0xf3, 0x17, 0x65, 0xeb, 0x8f, 0x17, + 0x65, 0xeb, 0xcb, 0x97, 0xe5, 0xb1, 0xe7, 0x2f, 0xcb, 0x63, 0xbf, 0xbd, 0x2c, 0x8f, 0x7d, 0x72, + 0xb1, 0xe1, 0xca, 0xad, 0xf6, 0x66, 0xa5, 0x16, 0x34, 0x33, 0x47, 0xff, 0xb4, 0xef, 0x59, 0x76, + 0x5a, 0x5c, 0x6c, 0xe6, 0xf5, 0xdf, 0xeb, 0xe5, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x1d, 0xd1, + 0x24, 0x7c, 0x79, 0x11, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1144,6 +1240,8 @@ type QueryClient interface { SellOffer(ctx context.Context, in *QuerySellOfferRequest, opts ...grpc.CallOption) (*QuerySellOfferResponse, error) // Queries a list of Council items. Council(ctx context.Context, in *QueryCouncilRequest, opts ...grpc.CallOption) (*QueryCouncilResponse, error) + // Queries a list of Server items. + Server(ctx context.Context, in *QueryServerRequest, opts ...grpc.CallOption) (*QueryServerResponse, error) } type queryClient struct { @@ -1244,6 +1342,15 @@ func (c *queryClient) Council(ctx context.Context, in *QueryCouncilRequest, opts return out, nil } +func (c *queryClient) Server(ctx context.Context, in *QueryServerRequest, opts ...grpc.CallOption) (*QueryServerResponse, error) { + out := new(QueryServerResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Server", 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. @@ -1265,6 +1372,8 @@ type QueryServer interface { SellOffer(context.Context, *QuerySellOfferRequest) (*QuerySellOfferResponse, error) // Queries a list of Council items. Council(context.Context, *QueryCouncilRequest) (*QueryCouncilResponse, error) + // Queries a list of Server items. + Server(context.Context, *QueryServerRequest) (*QueryServerResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -1301,6 +1410,9 @@ func (*UnimplementedQueryServer) SellOffer(ctx context.Context, req *QuerySellOf func (*UnimplementedQueryServer) Council(ctx context.Context, req *QueryCouncilRequest) (*QueryCouncilResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Council not implemented") } +func (*UnimplementedQueryServer) Server(ctx context.Context, req *QueryServerRequest) (*QueryServerResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Server not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -1486,6 +1598,24 @@ func _Query_Council_Handler(srv interface{}, ctx context.Context, dec func(inter return interceptor(ctx, in, info, handler) } +func _Query_Server_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryServerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Server(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/Server", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Server(ctx, req.(*QueryServerRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -1531,6 +1661,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Council", Handler: _Query_Council_Handler, }, + { + MethodName: "Server", + Handler: _Query_Server_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -2318,6 +2452,69 @@ func (m *QueryCouncilResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *QueryServerRequest) 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 *QueryServerRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryServerRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ServerId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.ServerId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryServerResponse) 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 *QueryServerResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryServerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Server != nil { + { + size, err := m.Server.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 @@ -2637,6 +2834,31 @@ func (m *QueryCouncilResponse) Size() (n int) { return n } +func (m *QueryServerRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ServerId != 0 { + n += 1 + sovQuery(uint64(m.ServerId)) + } + return n +} + +func (m *QueryServerResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Server != nil { + l = m.Server.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -4749,6 +4971,161 @@ func (m *QueryCouncilResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryServerRequest) 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: QueryServerRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryServerRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ServerId", wireType) + } + m.ServerId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ServerId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 *QueryServerResponse) 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: QueryServerResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryServerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Server", 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.Server == nil { + m.Server = &Server{} + } + if err := m.Server.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index a7a68ccd..12c094f9 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -537,6 +537,60 @@ func local_request_Query_Council_0(ctx context.Context, marshaler runtime.Marsha } +func request_Query_Server_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryServerRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["serverId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "serverId") + } + + protoReq.ServerId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "serverId", err) + } + + msg, err := client.Server(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Server_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryServerRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["serverId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "serverId") + } + + protoReq.ServerId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "serverId", err) + } + + msg, err := server.Server(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. @@ -773,6 +827,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_Server_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_Server_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_Server_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1014,6 +1091,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_Server_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_Server_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_Server_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1037,6 +1134,8 @@ var ( pattern_Query_SellOffer_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "sell_offer", "sellOfferId"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_Council_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "council", "councilId"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_Server_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "server", "serverId"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -1059,4 +1158,6 @@ var ( forward_Query_SellOffer_0 = runtime.ForwardResponseMessage forward_Query_Council_0 = runtime.ForwardResponseMessage + + forward_Query_Server_0 = runtime.ForwardResponseMessage ) diff --git a/x/cardchain/types/running_average.pb.go b/x/cardchain/types/running_average.pb.go index 21f80b8f..66809249 100644 --- a/x/cardchain/types/running_average.pb.go +++ b/x/cardchain/types/running_average.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go index 32a2be10..460f7093 100644 --- a/x/cardchain/types/sell_offer.pb.go +++ b/x/cardchain/types/sell_offer.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/server.pb.go b/x/cardchain/types/server.pb.go index ea0ae809..8ed475d1 100644 --- a/x/cardchain/types/server.pb.go +++ b/x/cardchain/types/server.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index e855ac39..94c81951 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set_with_artwork.pb.go b/x/cardchain/types/set_with_artwork.pb.go index 04e0c25e..31f9721e 100644 --- a/x/cardchain/types/set_with_artwork.pb.go +++ b/x/cardchain/types/set_with_artwork.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index 182c66f7..dd34e69e 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -16,9 +20,6 @@ import ( 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. diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index f70e234d..bc73282c 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go index 6911a3d0..45e01b16 100644 --- a/x/cardchain/types/voting.pb.go +++ b/x/cardchain/types/voting.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go index 30e9aaf4..36bda627 100644 --- a/x/cardchain/types/zealy.pb.go +++ b/x/cardchain/types/zealy.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/flag.pb.go b/x/featureflag/types/flag.pb.go index e1dd5d4d..9ea00283 100644 --- a/x/featureflag/types/flag.pb.go +++ b/x/featureflag/types/flag.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/genesis.pb.go b/x/featureflag/types/genesis.pb.go index da869d10..6113e755 100644 --- a/x/featureflag/types/genesis.pb.go +++ b/x/featureflag/types/genesis.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/params.pb.go b/x/featureflag/types/params.pb.go index 46dbabd7..41595524 100644 --- a/x/featureflag/types/params.pb.go +++ b/x/featureflag/types/params.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/query.pb.go b/x/featureflag/types/query.pb.go index 2ec990b9..e7d3b919 100644 --- a/x/featureflag/types/query.pb.go +++ b/x/featureflag/types/query.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -15,9 +19,6 @@ import ( 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. diff --git a/x/featureflag/types/tx.pb.go b/x/featureflag/types/tx.pb.go index af61eaab..94b4be1b 100644 --- a/x/featureflag/types/tx.pb.go +++ b/x/featureflag/types/tx.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -15,9 +19,6 @@ import ( 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. From 11c6346ef51caaf39e107c1225ffd017dfc1a981 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 14:00:52 +0100 Subject: [PATCH 46/99] feat(#242): Added encounter query --- api/cardchain/cardchain/query.pulsar.go | 1563 +++++++++++++++++----- api/cardchain/cardchain/query_grpc.pb.go | 39 + docs/static/openapi.yml | 2 +- gen_queries.sh | 3 +- proto/cardchain/cardchain/query.proto | 203 +-- x/cardchain/keeper/query_encounter.go | 23 + x/cardchain/module/autocli.go | 7 + x/cardchain/types/query.pb.go | 551 ++++++-- x/cardchain/types/query.pb.gw.go | 101 ++ 9 files changed, 2023 insertions(+), 469 deletions(-) create mode 100644 x/cardchain/keeper/query_encounter.go diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index f2cd4ad6..f24d3046 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -10614,6 +10614,845 @@ func (x *fastReflection_QueryServerResponse) ProtoMethods() *protoiface.Methods } } +var ( + md_QueryEncounterRequest protoreflect.MessageDescriptor + fd_QueryEncounterRequest_encounterId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryEncounterRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryEncounterRequest") + fd_QueryEncounterRequest_encounterId = md_QueryEncounterRequest.Fields().ByName("encounterId") +} + +var _ protoreflect.Message = (*fastReflection_QueryEncounterRequest)(nil) + +type fastReflection_QueryEncounterRequest QueryEncounterRequest + +func (x *QueryEncounterRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryEncounterRequest)(x) +} + +func (x *QueryEncounterRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryEncounterRequest_messageType fastReflection_QueryEncounterRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryEncounterRequest_messageType{} + +type fastReflection_QueryEncounterRequest_messageType struct{} + +func (x fastReflection_QueryEncounterRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryEncounterRequest)(nil) +} +func (x fastReflection_QueryEncounterRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryEncounterRequest) +} +func (x fastReflection_QueryEncounterRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncounterRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryEncounterRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncounterRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryEncounterRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryEncounterRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryEncounterRequest) New() protoreflect.Message { + return new(fastReflection_QueryEncounterRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryEncounterRequest) Interface() protoreflect.ProtoMessage { + return (*QueryEncounterRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryEncounterRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.EncounterId != uint64(0) { + value := protoreflect.ValueOfUint64(x.EncounterId) + if !f(fd_QueryEncounterRequest_encounterId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryEncounterRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterRequest.encounterId": + return x.EncounterId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterRequest.encounterId": + x.EncounterId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryEncounterRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryEncounterRequest.encounterId": + value := x.EncounterId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterRequest.encounterId": + x.EncounterId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterRequest.encounterId": + panic(fmt.Errorf("field encounterId of message cardchain.cardchain.QueryEncounterRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryEncounterRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterRequest.encounterId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryEncounterRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryEncounterRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryEncounterRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryEncounterRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryEncounterRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryEncounterRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.EncounterId != 0 { + n += 1 + runtime.Sov(uint64(x.EncounterId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryEncounterRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.EncounterId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.EncounterId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryEncounterRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncounterRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncounterRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncounterId", wireType) + } + x.EncounterId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.EncounterId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryEncounterResponse protoreflect.MessageDescriptor + fd_QueryEncounterResponse_encounter protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryEncounterResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryEncounterResponse") + fd_QueryEncounterResponse_encounter = md_QueryEncounterResponse.Fields().ByName("encounter") +} + +var _ protoreflect.Message = (*fastReflection_QueryEncounterResponse)(nil) + +type fastReflection_QueryEncounterResponse QueryEncounterResponse + +func (x *QueryEncounterResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryEncounterResponse)(x) +} + +func (x *QueryEncounterResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryEncounterResponse_messageType fastReflection_QueryEncounterResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryEncounterResponse_messageType{} + +type fastReflection_QueryEncounterResponse_messageType struct{} + +func (x fastReflection_QueryEncounterResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryEncounterResponse)(nil) +} +func (x fastReflection_QueryEncounterResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryEncounterResponse) +} +func (x fastReflection_QueryEncounterResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncounterResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryEncounterResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncounterResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryEncounterResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryEncounterResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryEncounterResponse) New() protoreflect.Message { + return new(fastReflection_QueryEncounterResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryEncounterResponse) Interface() protoreflect.ProtoMessage { + return (*QueryEncounterResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryEncounterResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Encounter != nil { + value := protoreflect.ValueOfMessage(x.Encounter.ProtoReflect()) + if !f(fd_QueryEncounterResponse_encounter, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryEncounterResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterResponse.encounter": + return x.Encounter != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterResponse.encounter": + x.Encounter = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryEncounterResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryEncounterResponse.encounter": + value := x.Encounter + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterResponse.encounter": + x.Encounter = value.Message().Interface().(*Encounter) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterResponse.encounter": + if x.Encounter == nil { + x.Encounter = new(Encounter) + } + return protoreflect.ValueOfMessage(x.Encounter.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryEncounterResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterResponse.encounter": + m := new(Encounter) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryEncounterResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryEncounterResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryEncounterResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryEncounterResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryEncounterResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryEncounterResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Encounter != nil { + l = options.Size(x.Encounter) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryEncounterResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Encounter != nil { + encoded, err := options.Marshal(x.Encounter) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryEncounterResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncounterResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncounterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Encounter", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Encounter == nil { + x.Encounter = &Encounter{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Encounter); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -11487,6 +12326,76 @@ func (x *QueryServerResponse) GetServer() *Server { return nil } +type QueryEncounterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EncounterId uint64 `protobuf:"varint,1,opt,name=encounterId,proto3" json:"encounterId,omitempty"` +} + +func (x *QueryEncounterRequest) Reset() { + *x = QueryEncounterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEncounterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEncounterRequest) ProtoMessage() {} + +// Deprecated: Use QueryEncounterRequest.ProtoReflect.Descriptor instead. +func (*QueryEncounterRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{22} +} + +func (x *QueryEncounterRequest) GetEncounterId() uint64 { + if x != nil { + return x.EncounterId + } + return 0 +} + +type QueryEncounterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` +} + +func (x *QueryEncounterResponse) Reset() { + *x = QueryEncounterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEncounterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEncounterResponse) ProtoMessage() {} + +// Deprecated: Use QueryEncounterResponse.ProtoReflect.Descriptor instead. +func (*QueryEncounterResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{23} +} + +func (x *QueryEncounterResponse) GetEncounter() *Encounter { + if x != nil { + return x.Encounter + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -11523,261 +12432,284 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, - 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, - 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x22, 0x4b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, - 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, - 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, - 0xa0, 0x04, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, + 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, + 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x34, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, - 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, - 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, - 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, - 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, - 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, - 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, - 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, - 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, - 0x52, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, - 0x6c, 0x79, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x64, 0x22, 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, - 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x57, - 0x69, 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x14, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x22, 0x30, 0x0a, 0x12, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x13, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, - 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x32, 0x83, 0x0e, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, + 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, + 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, + 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, + 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, + 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, + 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, + 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, + 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, + 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, + 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, + 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, + 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, + 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, + 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, + 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, + 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, + 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, + 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, + 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, + 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, + 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x09, + 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x4e, + 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x22, 0x30, + 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, + 0x22, 0x4a, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x15, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x32, + 0xb2, 0x0f, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, + 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, + 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, + 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, + 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, - 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, + 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, + 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, - 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, - 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, - 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, - 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, + 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, + 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, - 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x42, 0xd2, 0x01, - 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, + 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, + 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, + 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x49, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, + 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -11792,7 +12724,7 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse @@ -11816,66 +12748,72 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryCouncilResponse)(nil), // 19: cardchain.cardchain.QueryCouncilResponse (*QueryServerRequest)(nil), // 20: cardchain.cardchain.QueryServerRequest (*QueryServerResponse)(nil), // 21: cardchain.cardchain.QueryServerResponse - (*Params)(nil), // 22: cardchain.cardchain.Params - (*ProductDetails)(nil), // 23: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 24: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 25: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 26: cardchain.cardchain.CardWithImage - (*User)(nil), // 27: cardchain.cardchain.User - (CardStatus)(0), // 28: cardchain.cardchain.CardStatus - (CardType)(0), // 29: cardchain.cardchain.CardType - (CardClass)(0), // 30: cardchain.cardchain.CardClass - (CardRarity)(0), // 31: cardchain.cardchain.CardRarity - (*Match)(nil), // 32: cardchain.cardchain.Match - (*SetWithArtwork)(nil), // 33: cardchain.cardchain.SetWithArtwork - (*SellOffer)(nil), // 34: cardchain.cardchain.SellOffer - (*Council)(nil), // 35: cardchain.cardchain.Council - (*Server)(nil), // 36: cardchain.cardchain.Server + (*QueryEncounterRequest)(nil), // 22: cardchain.cardchain.QueryEncounterRequest + (*QueryEncounterResponse)(nil), // 23: cardchain.cardchain.QueryEncounterResponse + (*Params)(nil), // 24: cardchain.cardchain.Params + (*ProductDetails)(nil), // 25: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 26: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 27: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 28: cardchain.cardchain.CardWithImage + (*User)(nil), // 29: cardchain.cardchain.User + (CardStatus)(0), // 30: cardchain.cardchain.CardStatus + (CardType)(0), // 31: cardchain.cardchain.CardType + (CardClass)(0), // 32: cardchain.cardchain.CardClass + (CardRarity)(0), // 33: cardchain.cardchain.CardRarity + (*Match)(nil), // 34: cardchain.cardchain.Match + (*SetWithArtwork)(nil), // 35: cardchain.cardchain.SetWithArtwork + (*SellOffer)(nil), // 36: cardchain.cardchain.SellOffer + (*Council)(nil), // 37: cardchain.cardchain.Council + (*Server)(nil), // 38: cardchain.cardchain.Server + (*Encounter)(nil), // 39: cardchain.cardchain.Encounter } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 22, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 23, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 24, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 23, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 25, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 26, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 27, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 28, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus - 29, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType - 30, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass - 31, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity - 32, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match - 33, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork - 34, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer - 35, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council - 36, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server - 0, // 16: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 17: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 18: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 19: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 20: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 21: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 12, // 22: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest - 14, // 23: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest - 16, // 24: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest - 18, // 25: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest - 20, // 26: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest - 1, // 27: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 28: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 29: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 30: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 31: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 32: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 13, // 33: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse - 15, // 34: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse - 17, // 35: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse - 19, // 36: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse - 21, // 37: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse - 27, // [27:38] is the sub-list for method output_type - 16, // [16:27] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 24, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 25, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 26, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 25, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 27, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 28, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 29, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 30, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 31, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 32, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 33, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 34, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match + 35, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork + 36, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer + 37, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council + 38, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server + 39, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter + 0, // 17: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 18: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 19: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 20: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 21: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 10, // 22: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 12, // 23: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest + 14, // 24: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest + 16, // 25: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest + 18, // 26: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest + 20, // 27: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest + 22, // 28: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest + 1, // 29: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 30: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 31: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 32: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 33: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 34: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 13, // 35: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse + 15, // 36: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse + 17, // 37: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse + 19, // 38: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse + 21, // 39: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse + 23, // 40: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse + 29, // [29:41] is the sub-list for method output_type + 17, // [17:29] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -11893,6 +12831,7 @@ func file_cardchain_cardchain_query_proto_init() { file_cardchain_cardchain_sell_offer_proto_init() file_cardchain_cardchain_council_proto_init() file_cardchain_cardchain_server_proto_init() + file_cardchain_cardchain_encounter_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsRequest); i { @@ -12158,6 +13097,30 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryEncounterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryEncounterResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -12165,7 +13128,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 22, + NumMessages: 24, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 74326301..a1176b0e 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -31,6 +31,7 @@ const ( Query_SellOffer_FullMethodName = "/cardchain.cardchain.Query/SellOffer" Query_Council_FullMethodName = "/cardchain.cardchain.Query/Council" Query_Server_FullMethodName = "/cardchain.cardchain.Query/Server" + Query_Encounter_FullMethodName = "/cardchain.cardchain.Query/Encounter" ) // QueryClient is the client API for Query service. @@ -58,6 +59,8 @@ type QueryClient interface { Council(ctx context.Context, in *QueryCouncilRequest, opts ...grpc.CallOption) (*QueryCouncilResponse, error) // Queries a list of Server items. Server(ctx context.Context, in *QueryServerRequest, opts ...grpc.CallOption) (*QueryServerResponse, error) + // Queries a list of Encounter items. + Encounter(ctx context.Context, in *QueryEncounterRequest, opts ...grpc.CallOption) (*QueryEncounterResponse, error) } type queryClient struct { @@ -167,6 +170,15 @@ func (c *queryClient) Server(ctx context.Context, in *QueryServerRequest, opts . return out, nil } +func (c *queryClient) Encounter(ctx context.Context, in *QueryEncounterRequest, opts ...grpc.CallOption) (*QueryEncounterResponse, error) { + out := new(QueryEncounterResponse) + err := c.cc.Invoke(ctx, Query_Encounter_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -192,6 +204,8 @@ type QueryServer interface { Council(context.Context, *QueryCouncilRequest) (*QueryCouncilResponse, error) // Queries a list of Server items. Server(context.Context, *QueryServerRequest) (*QueryServerResponse, error) + // Queries a list of Encounter items. + Encounter(context.Context, *QueryEncounterRequest) (*QueryEncounterResponse, error) mustEmbedUnimplementedQueryServer() } @@ -232,6 +246,9 @@ func (UnimplementedQueryServer) Council(context.Context, *QueryCouncilRequest) ( func (UnimplementedQueryServer) Server(context.Context, *QueryServerRequest) (*QueryServerResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Server not implemented") } +func (UnimplementedQueryServer) Encounter(context.Context, *QueryEncounterRequest) (*QueryEncounterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Encounter not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -443,6 +460,24 @@ func _Query_Server_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +func _Query_Encounter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryEncounterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Encounter(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Encounter_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Encounter(ctx, req.(*QueryEncounterRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -494,6 +529,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Server", Handler: _Query_Server_Handler, }, + { + MethodName: "Encounter", + Handler: _Query_Encounter_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index a6077137..601372b3 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin22","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin23","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin22","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin23","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index e3467329..1046d3cf 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -9,4 +9,5 @@ set -o pipefail #ignite scaffold query set setId --response match:SetWithArtwork #ignite scaffold query sellOffer sellOfferId:uint --response sellOffer:SellOffer #ignite scaffold query council councilId:uint --response council:Council -ignite scaffold query server serverId:uint --response server:Server +#ignite scaffold query server serverId:uint --response server:Server +ignite scaffold query encounter encounterId:uint --response encounter:Encounter diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 0fd5e934..deb64e44 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -16,76 +16,81 @@ import "cardchain/cardchain/set_with_artwork.proto"; import "cardchain/cardchain/sell_offer.proto"; import "cardchain/cardchain/council.proto"; import "cardchain/cardchain/server.proto"; +import "cardchain/cardchain/encounter.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/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/cardchain/params"; + rpc Params (QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/params"; + } - + // Queries a list of ProductDetails items. - rpc ProductDetails(QueryGetProductDetailsRequest) - returns (QueryGetProductDetailsResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; + rpc ProductDetails (QueryGetProductDetailsRequest) returns (QueryGetProductDetailsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; + } - rpc ProductDetailsAll(QueryAllProductDetailsRequest) - returns (QueryAllProductDetailsResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/product_details"; + rpc ProductDetailsAll (QueryAllProductDetailsRequest) returns (QueryAllProductDetailsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details"; + } - + // Queries a list of Card items. - rpc Card(QueryCardRequest) returns (QueryCardResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; + rpc Card (QueryCardRequest) returns (QueryCardResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; + } - + // Queries a list of User items. - rpc User(QueryUserRequest) returns (QueryUserResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/user/{address}"; + rpc User (QueryUserRequest) returns (QueryUserResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/user/{address}"; + } - + // Queries a list of Cards items. - rpc Cards(QueryCardsRequest) returns (QueryCardsResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; + rpc Cards (QueryCardsRequest) returns (QueryCardsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; + } - + // Queries a list of Match items. - rpc Match(QueryMatchRequest) returns (QueryMatchResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/match/{matchId}"; + rpc Match (QueryMatchRequest) returns (QueryMatchResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/match/{matchId}"; + } - + // Queries a list of Set items. - rpc Set(QuerySetRequest) returns (QuerySetResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/set/{setId}"; + rpc Set (QuerySetRequest) returns (QuerySetResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/set/{setId}"; + } - + // Queries a list of SellOffer items. - rpc SellOffer(QuerySellOfferRequest) returns (QuerySellOfferResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}"; + rpc SellOffer (QuerySellOfferRequest) returns (QuerySellOfferResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}"; + } - + // Queries a list of Council items. - rpc Council(QueryCouncilRequest) returns (QueryCouncilResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/council/{councilId}"; + rpc Council (QueryCouncilRequest) returns (QueryCouncilResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/council/{councilId}"; + } - + // Queries a list of Server items. - rpc Server(QueryServerRequest) returns (QueryServerResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/server/{serverId}"; + rpc Server (QueryServerRequest) returns (QueryServerResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/server/{serverId}"; + + } + + // Queries a list of Encounter items. + rpc Encounter (QueryEncounterRequest) returns (QueryEncounterResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}"; + } } // QueryParamsRequest is request type for the Query/Params RPC method. @@ -93,16 +98,17 @@ 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, (amino.dont_omitempty) = true ]; + Params params = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } -message QueryGetProductDetailsRequest { uint64 id = 1; } +message QueryGetProductDetailsRequest { + uint64 id = 1; +} message QueryGetProductDetailsResponse { - ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; + ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; } message QueryAllProductDetailsRequest { @@ -110,51 +116,90 @@ message QueryAllProductDetailsRequest { } message QueryAllProductDetailsResponse { - repeated ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; - cosmos.base.query.v1beta1.PageResponse pagination = 2; + repeated ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; + cosmos.base.query.v1beta1.PageResponse pagination = 2; } -message QueryCardRequest { uint64 cardId = 1; } +message QueryCardRequest { + uint64 cardId = 1; +} -message QueryCardResponse { CardWithImage card = 1; } +message QueryCardResponse { + CardWithImage card = 1; +} -message QueryUserRequest { string address = 1; } +message QueryUserRequest { + string address = 1; +} -message QueryUserResponse { User user = 1; } +message QueryUserResponse { + User user = 1; +} message QueryCardsRequest { - string owner = 1; - repeated CardStatus status = 2; - repeated CardType cardType = 3; - repeated CardClass class = 4; - string sortBy = 5; - string nameContains = 6; - string keywordsContains = 7; - string notesContains = 8; - bool onlyStarterCard = 9; - bool onlyBalanceAnchors = 10; - repeated CardRarity rarities = 11; - bool multiClassOnly = 12; + string owner = 1; + repeated CardStatus status = 2; + repeated CardType cardType = 3; + repeated CardClass class = 4; + string sortBy = 5; + string nameContains = 6; + string keywordsContains = 7; + string notesContains = 8; + bool onlyStarterCard = 9; + bool onlyBalanceAnchors = 10; + repeated CardRarity rarities = 11; + bool multiClassOnly = 12; } -message QueryCardsResponse { repeated uint64 cardIds = 1; } +message QueryCardsResponse { + repeated uint64 cardIds = 1; +} + +message QueryMatchRequest { + uint64 matchId = 1; +} + +message QueryMatchResponse { + Match match = 1; +} + +message QuerySetRequest { + uint64 setId = 1; +} -message QueryMatchRequest { uint64 matchId = 1; } +message QuerySetResponse { + SetWithArtwork match = 1; +} -message QueryMatchResponse { Match match = 1; } +message QuerySellOfferRequest { + uint64 sellOfferId = 1; +} -message QuerySetRequest { uint64 setId = 1; } +message QuerySellOfferResponse { + SellOffer sellOffer = 1; +} -message QuerySetResponse { SetWithArtwork match = 1; } +message QueryCouncilRequest { + uint64 councilId = 1; +} -message QuerySellOfferRequest { uint64 sellOfferId = 1; } +message QueryCouncilResponse { + Council council = 1; +} -message QuerySellOfferResponse { SellOffer sellOffer = 1; } +message QueryServerRequest { + uint64 serverId = 1; +} -message QueryCouncilRequest { uint64 councilId = 1; } +message QueryServerResponse { + Server server = 1; +} -message QueryCouncilResponse { Council council = 1; } +message QueryEncounterRequest { + uint64 encounterId = 1; +} -message QueryServerRequest { uint64 serverId = 1; } +message QueryEncounterResponse { + Encounter encounter = 1; +} -message QueryServerResponse { Server server = 1; } diff --git a/x/cardchain/keeper/query_encounter.go b/x/cardchain/keeper/query_encounter.go new file mode 100644 index 00000000..26a3d383 --- /dev/null +++ b/x/cardchain/keeper/query_encounter.go @@ -0,0 +1,23 @@ +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) Encounter(goCtx context.Context, req *types.QueryEncounterRequest) (*types.QueryEncounterResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryEncounterResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index d1137f4f..36dfdf14 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -84,6 +84,13 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "serverId"}}, }, + { + RpcMethod: "Encounter", + Use: "encounter [encounter-id]", + Short: "Query encounter", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "encounterId"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index fe77913d..ec73b79c 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -1091,6 +1091,94 @@ func (m *QueryServerResponse) GetServer() *Server { return nil } +type QueryEncounterRequest struct { + EncounterId uint64 `protobuf:"varint,1,opt,name=encounterId,proto3" json:"encounterId,omitempty"` +} + +func (m *QueryEncounterRequest) Reset() { *m = QueryEncounterRequest{} } +func (m *QueryEncounterRequest) String() string { return proto.CompactTextString(m) } +func (*QueryEncounterRequest) ProtoMessage() {} +func (*QueryEncounterRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{22} +} +func (m *QueryEncounterRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryEncounterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryEncounterRequest.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 *QueryEncounterRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryEncounterRequest.Merge(m, src) +} +func (m *QueryEncounterRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryEncounterRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryEncounterRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryEncounterRequest proto.InternalMessageInfo + +func (m *QueryEncounterRequest) GetEncounterId() uint64 { + if m != nil { + return m.EncounterId + } + return 0 +} + +type QueryEncounterResponse struct { + Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` +} + +func (m *QueryEncounterResponse) Reset() { *m = QueryEncounterResponse{} } +func (m *QueryEncounterResponse) String() string { return proto.CompactTextString(m) } +func (*QueryEncounterResponse) ProtoMessage() {} +func (*QueryEncounterResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{23} +} +func (m *QueryEncounterResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryEncounterResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryEncounterResponse.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 *QueryEncounterResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryEncounterResponse.Merge(m, src) +} +func (m *QueryEncounterResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryEncounterResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryEncounterResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryEncounterResponse proto.InternalMessageInfo + +func (m *QueryEncounterResponse) GetEncounter() *Encounter { + if m != nil { + return m.Encounter + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -1114,99 +1202,105 @@ func init() { proto.RegisterType((*QueryCouncilResponse)(nil), "cardchain.cardchain.QueryCouncilResponse") proto.RegisterType((*QueryServerRequest)(nil), "cardchain.cardchain.QueryServerRequest") proto.RegisterType((*QueryServerResponse)(nil), "cardchain.cardchain.QueryServerResponse") + proto.RegisterType((*QueryEncounterRequest)(nil), "cardchain.cardchain.QueryEncounterRequest") + proto.RegisterType((*QueryEncounterResponse)(nil), "cardchain.cardchain.QueryEncounterResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 1382 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x97, 0xcf, 0x6f, 0x13, 0x47, - 0x1b, 0xc7, 0xb3, 0x89, 0xe3, 0xc4, 0x0f, 0xbc, 0x01, 0x86, 0xbc, 0xc8, 0xaf, 0x5f, 0x30, 0x79, - 0xe7, 0x05, 0x12, 0xd2, 0xe2, 0x85, 0x84, 0xdf, 0xbf, 0xda, 0x38, 0x88, 0x88, 0x56, 0x14, 0xd8, - 0x94, 0x56, 0xea, 0x25, 0x9a, 0xd8, 0x83, 0xb3, 0x62, 0xbd, 0x6b, 0x76, 0xc6, 0xa4, 0x96, 0xe5, - 0x4b, 0x7b, 0xaf, 0xaa, 0x52, 0x55, 0xbd, 0x54, 0xaa, 0x7a, 0xea, 0xa5, 0x52, 0xff, 0x00, 0xd4, - 0x33, 0x47, 0xa4, 0x5e, 0x7a, 0xaa, 0x2a, 0xa8, 0xd4, 0x7f, 0xa3, 0x9a, 0x99, 0x67, 0x37, 0xde, - 0xb0, 0x5e, 0x9b, 0x72, 0xb1, 0x76, 0x67, 0xbe, 0xcf, 0x3c, 0x9f, 0x99, 0x79, 0x66, 0xbf, 0x63, - 0x38, 0x5a, 0x63, 0x61, 0xbd, 0xb6, 0xc5, 0x5c, 0xdf, 0xde, 0x79, 0x7a, 0xd4, 0xe6, 0x61, 0xa7, - 0xd2, 0x0a, 0x03, 0x19, 0x90, 0x83, 0x71, 0x73, 0x25, 0x7e, 0x2a, 0x1d, 0x60, 0x4d, 0xd7, 0x0f, - 0x6c, 0xfd, 0x6b, 0x74, 0xa5, 0xd9, 0x46, 0xd0, 0x08, 0xf4, 0xa3, 0xad, 0x9e, 0xb0, 0xf5, 0x70, - 0x23, 0x08, 0x1a, 0x1e, 0xb7, 0x59, 0xcb, 0xb5, 0x99, 0xef, 0x07, 0x92, 0x49, 0x37, 0xf0, 0x05, - 0xf6, 0x2e, 0xd6, 0x02, 0xd1, 0x0c, 0x84, 0xbd, 0xc9, 0x04, 0x37, 0x49, 0xed, 0xc7, 0x67, 0x36, - 0xb9, 0x64, 0x67, 0xec, 0x16, 0x6b, 0xb8, 0xbe, 0x16, 0xa3, 0x76, 0x2e, 0x0d, 0xb4, 0xc5, 0x42, - 0xd6, 0x8c, 0x46, 0x3b, 0x99, 0xaa, 0x08, 0x83, 0x7a, 0xbb, 0x26, 0x37, 0xea, 0x5c, 0x32, 0xd7, - 0xcb, 0x94, 0xaa, 0xa7, 0x8d, 0x6d, 0x57, 0x6e, 0x6d, 0xb8, 0x4d, 0xd6, 0xe0, 0x28, 0x2d, 0xa7, - 0x49, 0xdb, 0x82, 0x87, 0x59, 0xfd, 0xea, 0x09, 0xfb, 0x53, 0x17, 0xb8, 0xc9, 0x64, 0x6d, 0x2b, - 0x5e, 0x84, 0x14, 0x81, 0xe0, 0xd2, 0xa0, 0xb0, 0x50, 0x6e, 0x07, 0xe1, 0x43, 0xd4, 0x1e, 0x4b, - 0xd7, 0x7a, 0xde, 0x46, 0xf0, 0xe0, 0x41, 0x8c, 0xf4, 0xbf, 0x54, 0xa4, 0xa0, 0xed, 0xd7, 0x5c, - 0x2f, 0x6b, 0x35, 0x05, 0x0f, 0x1f, 0x47, 0x83, 0xd0, 0x59, 0x20, 0xf7, 0xd4, 0x8e, 0xdc, 0xd5, - 0x4b, 0xec, 0xf0, 0x47, 0x6d, 0x2e, 0x24, 0xbd, 0x0f, 0x07, 0x13, 0xad, 0xa2, 0x15, 0xf8, 0x82, - 0x93, 0xeb, 0x90, 0x37, 0x5b, 0x51, 0xb4, 0xe6, 0xac, 0x85, 0x3d, 0x4b, 0xff, 0xad, 0xa4, 0x54, - 0x4d, 0xc5, 0x04, 0x55, 0x0b, 0xcf, 0x7e, 0x3f, 0x3a, 0xf6, 0xe3, 0x5f, 0x3f, 0x2f, 0x5a, 0x0e, - 0x46, 0x51, 0x1b, 0x8e, 0xe8, 0x61, 0xd7, 0xb8, 0xbc, 0x6b, 0x36, 0xec, 0x86, 0xd9, 0x2f, 0xcc, - 0x4b, 0x66, 0x60, 0xdc, 0xad, 0xeb, 0xc1, 0x73, 0xce, 0xb8, 0x5b, 0xa7, 0x02, 0xca, 0x83, 0x02, - 0x10, 0xe9, 0x1e, 0xcc, 0x24, 0x7b, 0x10, 0xed, 0xff, 0xe9, 0x68, 0x09, 0x69, 0x35, 0xa7, 0x10, - 0x9d, 0x5d, 0x03, 0xd0, 0x06, 0x52, 0xae, 0x78, 0x5e, 0x3a, 0xe5, 0x4d, 0x80, 0x9d, 0xba, 0xc5, - 0x7c, 0x27, 0x2a, 0xa6, 0xc8, 0x2b, 0xaa, 0xc8, 0x2b, 0xe6, 0x64, 0x61, 0x91, 0x57, 0xee, 0xb2, - 0x06, 0xc7, 0x58, 0xa7, 0x2f, 0x92, 0x3e, 0xb5, 0x70, 0x7a, 0x29, 0x99, 0x32, 0xa6, 0x37, 0xf1, - 0x46, 0xd3, 0x23, 0x6b, 0x09, 0xfa, 0x71, 0x4d, 0x3f, 0x3f, 0x94, 0xde, 0xf0, 0x24, 0xf0, 0x17, - 0x61, 0xbf, 0xa6, 0x5f, 0x65, 0x61, 0x3d, 0x5a, 0x9a, 0x43, 0x90, 0x57, 0x38, 0xb7, 0xa2, 0x4d, - 0xc4, 0x37, 0xfa, 0x3e, 0x1c, 0xe8, 0xd3, 0xe2, 0xe4, 0xce, 0x43, 0x4e, 0x75, 0xe3, 0x0a, 0xd2, - 0xd4, 0x29, 0xa9, 0x80, 0x8f, 0x5d, 0xb9, 0x75, 0x4b, 0x9d, 0x55, 0x47, 0xeb, 0xe9, 0xdb, 0x98, - 0xf8, 0xbe, 0xe0, 0x61, 0x94, 0xb8, 0x08, 0x53, 0xac, 0x5e, 0x0f, 0xb9, 0x30, 0x05, 0x50, 0x70, - 0xa2, 0x57, 0x5a, 0xc5, 0xd4, 0x46, 0x8d, 0xa9, 0x4f, 0x41, 0x4e, 0x1d, 0x6e, 0x4c, 0xfd, 0x9f, - 0xd4, 0xd4, 0x3a, 0x40, 0xcb, 0xe8, 0xf7, 0xb9, 0x3e, 0xfe, 0xb8, 0x0e, 0x66, 0x61, 0x32, 0xd8, - 0xf6, 0x71, 0x94, 0x82, 0x63, 0x5e, 0xc8, 0x05, 0xc8, 0x0b, 0xc9, 0x64, 0x5b, 0x14, 0xc7, 0xe7, - 0x26, 0x16, 0x66, 0x96, 0x8e, 0x0e, 0x9c, 0xd7, 0xba, 0x96, 0x39, 0x28, 0x27, 0x97, 0x60, 0x5a, - 0xf5, 0x7f, 0xd8, 0x69, 0xf1, 0xe2, 0x84, 0x0e, 0x3d, 0x32, 0x30, 0x54, 0x89, 0x9c, 0x58, 0x4e, - 0xce, 0xc2, 0x64, 0xcd, 0x63, 0x42, 0x14, 0x73, 0x3a, 0xae, 0x3c, 0x30, 0x6e, 0x55, 0xa9, 0x1c, - 0x23, 0x56, 0x9b, 0x25, 0x82, 0x50, 0x56, 0x3b, 0xc5, 0x49, 0x3d, 0x01, 0x7c, 0x23, 0x14, 0xf6, - 0xfa, 0xac, 0xc9, 0x57, 0x03, 0x5f, 0x32, 0xd7, 0x17, 0xc5, 0xbc, 0xee, 0x4d, 0xb4, 0x91, 0x45, - 0xd8, 0xff, 0x90, 0x77, 0xb6, 0x83, 0xb0, 0x2e, 0x62, 0xdd, 0x94, 0xd6, 0xbd, 0xd2, 0x4e, 0x8e, - 0xc1, 0xbf, 0xfc, 0x40, 0xf2, 0x1d, 0xe1, 0xb4, 0x16, 0x26, 0x1b, 0xc9, 0x02, 0xec, 0x0b, 0x7c, - 0xaf, 0xb3, 0x2e, 0x59, 0x28, 0x79, 0xa8, 0x60, 0x8b, 0x85, 0x39, 0x6b, 0x61, 0xda, 0xd9, 0xdd, - 0x4c, 0x2a, 0x40, 0x54, 0x53, 0x95, 0x79, 0xcc, 0xaf, 0xf1, 0x15, 0xbf, 0xb6, 0x15, 0x84, 0xa2, - 0x08, 0x5a, 0x9c, 0xd2, 0x43, 0xae, 0xc0, 0x74, 0xc8, 0x42, 0x57, 0xba, 0x5c, 0x14, 0xf7, 0x0c, - 0xd9, 0x13, 0x47, 0x09, 0x3b, 0x4e, 0x1c, 0x40, 0x4e, 0xc0, 0x4c, 0xb3, 0xed, 0x49, 0x57, 0xaf, - 0xdc, 0x1d, 0xdf, 0xeb, 0x14, 0xf7, 0xea, 0x44, 0xbb, 0x5a, 0x69, 0x05, 0x3f, 0xa4, 0x58, 0x21, - 0x58, 0x67, 0x45, 0x98, 0x32, 0x27, 0xc0, 0x1c, 0xdc, 0x9c, 0x13, 0xbd, 0xd2, 0x53, 0x58, 0x51, - 0xb7, 0x95, 0x47, 0xf4, 0x55, 0xb1, 0xf6, 0x8c, 0xf8, 0xfc, 0x44, 0xaf, 0xf4, 0x26, 0x0e, 0x8f, - 0x72, 0x1c, 0xfe, 0x34, 0x4c, 0x6a, 0x01, 0xd6, 0x71, 0x29, 0x75, 0x5a, 0x26, 0xc4, 0x08, 0xe9, - 0x3c, 0xec, 0xd3, 0xe3, 0xac, 0x73, 0xd9, 0x57, 0xc6, 0x82, 0xcb, 0x38, 0xa5, 0x79, 0xa1, 0xb7, - 0xf1, 0x90, 0x69, 0x21, 0xa6, 0xbb, 0x94, 0x4c, 0x97, 0xfe, 0x11, 0x5a, 0xe7, 0x52, 0x1d, 0xd8, - 0x15, 0xe3, 0x68, 0x51, 0xde, 0x4b, 0xf0, 0x6f, 0x1c, 0xce, 0xf3, 0xee, 0x28, 0x13, 0x8b, 0xb2, - 0xcf, 0xc1, 0x1e, 0x11, 0xb5, 0xc5, 0x0c, 0xfd, 0x4d, 0xf4, 0x23, 0x38, 0xb4, 0x3b, 0x14, 0x79, - 0xae, 0x42, 0x21, 0x16, 0x22, 0x53, 0x79, 0x00, 0x53, 0x14, 0xba, 0x13, 0x40, 0x97, 0xd1, 0xe4, - 0x56, 0x8d, 0x65, 0x46, 0x40, 0x87, 0xa1, 0x80, 0x26, 0x1a, 0xe3, 0xec, 0x34, 0xd0, 0x0f, 0x60, - 0x36, 0x19, 0x14, 0x7f, 0xcb, 0xa6, 0x50, 0x84, 0x20, 0x87, 0xd3, 0x4b, 0x0c, 0xc3, 0x22, 0x31, - 0x3d, 0x8d, 0xfb, 0xba, 0xae, 0x4d, 0x39, 0x62, 0x28, 0xc1, 0xb4, 0x71, 0xe9, 0x18, 0x21, 0x7e, - 0xa7, 0xef, 0x21, 0x76, 0x14, 0x81, 0x00, 0xcb, 0x90, 0x37, 0x92, 0x4c, 0x6f, 0xc6, 0x20, 0x94, - 0x2e, 0x7d, 0x3e, 0x03, 0x93, 0x7a, 0x30, 0xf2, 0x95, 0x05, 0x79, 0x63, 0xdc, 0x64, 0x3e, 0x35, - 0xf2, 0xd5, 0x5b, 0x42, 0x69, 0x61, 0xb8, 0xd0, 0xc0, 0xd1, 0x73, 0x9f, 0xfd, 0xfa, 0xe7, 0x93, - 0x71, 0x9b, 0x9c, 0xb2, 0x6f, 0xf0, 0x1a, 0xf7, 0x65, 0xc8, 0x3c, 0x75, 0x4e, 0xd6, 0x58, 0x93, - 0xdb, 0x83, 0x2f, 0x7c, 0xe4, 0x17, 0x6b, 0xb7, 0xfd, 0x91, 0xa5, 0xc1, 0x39, 0x07, 0xdd, 0x2a, - 0x4a, 0xcb, 0xaf, 0x15, 0x83, 0xc8, 0xab, 0x1a, 0xf9, 0x1a, 0xb9, 0x32, 0x2a, 0x72, 0xf2, 0x06, - 0x6a, 0x77, 0xdd, 0x7a, 0x8f, 0x3c, 0xb5, 0xe0, 0x40, 0x72, 0xfc, 0x15, 0xcf, 0xcb, 0x9a, 0xc3, - 0xa0, 0x3b, 0x47, 0xd6, 0x1c, 0x06, 0xde, 0x1e, 0xe8, 0x75, 0x3d, 0x87, 0x8b, 0xe4, 0xfc, 0x3f, - 0x9b, 0x03, 0x79, 0x62, 0x41, 0x4e, 0x7f, 0x71, 0x8f, 0x0f, 0xce, 0xde, 0xe7, 0xfe, 0xa5, 0x13, - 0xc3, 0x64, 0xc8, 0x75, 0x55, 0x73, 0x9d, 0x27, 0x67, 0x47, 0xe4, 0x52, 0x4f, 0x76, 0xd7, 0x7c, - 0x39, 0x7b, 0xe4, 0x6b, 0x0b, 0x72, 0xca, 0x9b, 0xb3, 0xa8, 0xfa, 0xae, 0x06, 0x59, 0x54, 0xfd, - 0x77, 0x02, 0x7a, 0x4d, 0x53, 0x5d, 0x20, 0xe7, 0x46, 0xa4, 0x52, 0x37, 0x03, 0xbb, 0x8b, 0xd7, - 0x8c, 0x1e, 0xf9, 0xc6, 0x82, 0x49, 0xfd, 0xf1, 0x27, 0x43, 0x96, 0x21, 0xde, 0xd3, 0xf9, 0xa1, - 0xba, 0x37, 0x58, 0x2f, 0x61, 0x77, 0xf5, 0x7d, 0xa4, 0x47, 0xbe, 0xb5, 0x60, 0x52, 0x7b, 0x40, - 0x16, 0x58, 0xbf, 0x0d, 0x65, 0x81, 0x25, 0xfc, 0xe7, 0xb5, 0x0b, 0x4c, 0x7b, 0x81, 0xdd, 0x45, - 0x53, 0xeb, 0x91, 0x2f, 0x2c, 0x98, 0x58, 0xe7, 0x92, 0x1c, 0x1b, 0x9c, 0x70, 0xc7, 0xa8, 0x4a, - 0xc7, 0x87, 0xa8, 0x10, 0xea, 0xb2, 0x86, 0x3a, 0x4b, 0x96, 0x46, 0x84, 0x12, 0x5c, 0xda, 0x5d, - 0x6d, 0x7a, 0x3d, 0xf2, 0x93, 0x05, 0x85, 0xd8, 0x2c, 0xc8, 0x62, 0x56, 0xc2, 0xa4, 0x8f, 0x95, - 0xde, 0x1a, 0x49, 0x8b, 0x88, 0x6b, 0x1a, 0x71, 0x85, 0xbc, 0x33, 0x32, 0x62, 0xf4, 0xdf, 0x4f, - 0x91, 0xc6, 0xd6, 0xd8, 0x23, 0x3f, 0x58, 0x30, 0x85, 0x9e, 0x42, 0x32, 0x3e, 0xc7, 0x49, 0x8b, - 0x2b, 0x9d, 0x1c, 0x41, 0x89, 0xa4, 0x55, 0x4d, 0x7a, 0x95, 0x5c, 0x1e, 0xb5, 0xf4, 0x4c, 0xbc, - 0xdd, 0x8d, 0x2d, 0xb3, 0x47, 0xbe, 0xb3, 0x20, 0x6f, 0x8c, 0x27, 0xcb, 0x5b, 0x12, 0x0e, 0x98, - 0xe5, 0x2d, 0x49, 0xe3, 0xa3, 0xef, 0x6a, 0xc2, 0xcb, 0xe4, 0xe2, 0xc8, 0x6b, 0xa9, 0xc2, 0xd5, - 0x3a, 0x1a, 0x43, 0xed, 0x55, 0x9d, 0x67, 0x2f, 0xca, 0xd6, 0xf3, 0x17, 0x65, 0xeb, 0x8f, 0x17, - 0x65, 0xeb, 0xcb, 0x97, 0xe5, 0xb1, 0xe7, 0x2f, 0xcb, 0x63, 0xbf, 0xbd, 0x2c, 0x8f, 0x7d, 0x72, - 0xb1, 0xe1, 0xca, 0xad, 0xf6, 0x66, 0xa5, 0x16, 0x34, 0x33, 0x47, 0xff, 0xb4, 0xef, 0x59, 0x76, - 0x5a, 0x5c, 0x6c, 0xe6, 0xf5, 0xdf, 0xeb, 0xe5, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x1d, 0xd1, - 0x24, 0x7c, 0x79, 0x11, 0x00, 0x00, + // 1453 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0x5d, 0x6f, 0x13, 0xc7, + 0x1a, 0xce, 0x26, 0x8e, 0x13, 0x0f, 0x9c, 0x00, 0x43, 0x0e, 0xf2, 0xf1, 0x01, 0x93, 0x33, 0x7c, + 0x24, 0xe4, 0x14, 0x2f, 0x24, 0x7c, 0x7f, 0x95, 0x38, 0x94, 0x88, 0x56, 0x14, 0xd8, 0x94, 0x56, + 0xea, 0x4d, 0x34, 0xb1, 0x07, 0x67, 0xc5, 0x7a, 0xd7, 0xec, 0x8c, 0x49, 0x2d, 0xcb, 0x37, 0xfd, + 0x01, 0x55, 0x55, 0xaa, 0xaa, 0x37, 0x95, 0xaa, 0x5e, 0xf5, 0xa2, 0x95, 0xaa, 0x5e, 0xa3, 0x5e, + 0x73, 0x89, 0xd4, 0x9b, 0x5e, 0x55, 0x15, 0x54, 0xea, 0xdf, 0xa8, 0x66, 0xe6, 0xdd, 0xf1, 0x6e, + 0x58, 0xaf, 0x4d, 0xb9, 0x89, 0xe6, 0xe3, 0x79, 0xe6, 0x7d, 0x66, 0xde, 0x99, 0x7d, 0xde, 0x18, + 0x1d, 0xae, 0xd1, 0xb0, 0x5e, 0xdb, 0xa2, 0xae, 0x6f, 0xf7, 0x5b, 0x8f, 0xda, 0x2c, 0xec, 0x54, + 0x5a, 0x61, 0x20, 0x02, 0xbc, 0xdf, 0x0c, 0x57, 0x4c, 0xab, 0xb4, 0x8f, 0x36, 0x5d, 0x3f, 0xb0, + 0xd5, 0x5f, 0x8d, 0x2b, 0xcd, 0x36, 0x82, 0x46, 0xa0, 0x9a, 0xb6, 0x6c, 0xc1, 0xe8, 0xc1, 0x46, + 0x10, 0x34, 0x3c, 0x66, 0xd3, 0x96, 0x6b, 0x53, 0xdf, 0x0f, 0x04, 0x15, 0x6e, 0xe0, 0x73, 0x98, + 0x5d, 0xac, 0x05, 0xbc, 0x19, 0x70, 0x7b, 0x93, 0x72, 0xa6, 0x83, 0xda, 0x8f, 0x4f, 0x6f, 0x32, + 0x41, 0x4f, 0xdb, 0x2d, 0xda, 0x70, 0x7d, 0x05, 0x06, 0xec, 0x5c, 0x9a, 0xd0, 0x16, 0x0d, 0x69, + 0x33, 0x5a, 0xed, 0x44, 0x2a, 0x22, 0x0c, 0xea, 0xed, 0x9a, 0xd8, 0xa8, 0x33, 0x41, 0x5d, 0x2f, + 0x13, 0x2a, 0x5b, 0x1b, 0xdb, 0xae, 0xd8, 0xda, 0x70, 0x9b, 0xb4, 0xc1, 0x00, 0x5a, 0x4e, 0x83, + 0xb6, 0x39, 0x0b, 0xb3, 0xe6, 0x65, 0x0b, 0xe6, 0x53, 0x0f, 0xb8, 0x49, 0x45, 0x6d, 0xcb, 0x1c, + 0x42, 0x0a, 0x80, 0x33, 0xa1, 0xa5, 0xd0, 0x50, 0x6c, 0x07, 0xe1, 0x43, 0xc0, 0x1e, 0x4d, 0xc7, + 0x7a, 0xde, 0x46, 0xf0, 0xe0, 0x81, 0x91, 0xf4, 0xbf, 0x54, 0x49, 0x41, 0xdb, 0xaf, 0xb9, 0x5e, + 0xd6, 0x69, 0x72, 0x16, 0x3e, 0x36, 0x8b, 0x1c, 0x49, 0x43, 0x30, 0x5f, 0x2e, 0x23, 0x22, 0x10, + 0x99, 0x45, 0xf8, 0x9e, 0x4c, 0xdb, 0x5d, 0x95, 0x07, 0x87, 0x3d, 0x6a, 0x33, 0x2e, 0xc8, 0x7d, + 0xb4, 0x3f, 0x31, 0xca, 0x5b, 0x81, 0xcf, 0x19, 0xbe, 0x86, 0xf2, 0x3a, 0x5f, 0x45, 0x6b, 0xce, + 0x5a, 0xd8, 0xb5, 0xf4, 0xdf, 0x4a, 0xca, 0xd5, 0xaa, 0x68, 0x52, 0xb5, 0xf0, 0xec, 0xf7, 0xc3, + 0x63, 0xdf, 0xff, 0xf5, 0xd3, 0xa2, 0xe5, 0x00, 0x8b, 0xd8, 0xe8, 0x90, 0x5a, 0x76, 0x8d, 0x89, + 0xbb, 0x3a, 0xab, 0x37, 0x74, 0x52, 0x21, 0x2e, 0x9e, 0x41, 0xe3, 0x6e, 0x5d, 0x2d, 0x9e, 0x73, + 0xc6, 0xdd, 0x3a, 0xe1, 0xa8, 0x3c, 0x88, 0x00, 0x92, 0xee, 0xa1, 0x99, 0xe4, 0x0c, 0x48, 0x3b, + 0x92, 0x2e, 0x2d, 0x01, 0xad, 0xe6, 0xa4, 0x44, 0x67, 0xc7, 0x02, 0xa4, 0x01, 0x2a, 0x57, 0x3c, + 0x2f, 0x5d, 0xe5, 0x4d, 0x84, 0xfa, 0x97, 0x1b, 0xe2, 0x1d, 0xaf, 0xe8, 0x97, 0x50, 0x91, 0x2f, + 0xa1, 0xa2, 0x9f, 0x1f, 0xbc, 0x84, 0xca, 0x5d, 0xda, 0x60, 0xc0, 0x75, 0x62, 0x4c, 0xf2, 0xd4, + 0x82, 0xed, 0xa5, 0x44, 0xca, 0xd8, 0xde, 0xc4, 0x1b, 0x6d, 0x0f, 0xaf, 0x25, 0xd4, 0x8f, 0x2b, + 0xf5, 0xf3, 0x43, 0xd5, 0x6b, 0x3d, 0x09, 0xf9, 0x8b, 0x68, 0xaf, 0x52, 0xbf, 0x4a, 0xc3, 0x7a, + 0x74, 0x34, 0x07, 0x50, 0x5e, 0xca, 0xb9, 0x15, 0x25, 0x11, 0x7a, 0xe4, 0x3d, 0xb4, 0x2f, 0x86, + 0x85, 0xcd, 0x9d, 0x43, 0x39, 0x39, 0x0d, 0x27, 0x48, 0x52, 0xb7, 0x24, 0x09, 0x1f, 0xb9, 0x62, + 0xeb, 0x96, 0x7c, 0xd0, 0x8e, 0xc2, 0x93, 0xb7, 0x20, 0xf0, 0x7d, 0xce, 0xc2, 0x28, 0x70, 0x11, + 0x4d, 0xd1, 0x7a, 0x3d, 0x64, 0x5c, 0x5f, 0x80, 0x82, 0x13, 0x75, 0x49, 0x15, 0x42, 0x6b, 0x34, + 0x84, 0x3e, 0x89, 0x72, 0xf2, 0x0b, 0x00, 0xa1, 0xff, 0x93, 0x1a, 0x5a, 0x11, 0x14, 0x8c, 0x7c, + 0x9b, 0x8b, 0xe9, 0x37, 0xf7, 0x60, 0x16, 0x4d, 0x06, 0xdb, 0x3e, 0xac, 0x52, 0x70, 0x74, 0x07, + 0x9f, 0x47, 0x79, 0x2e, 0xa8, 0x68, 0xf3, 0xe2, 0xf8, 0xdc, 0xc4, 0xc2, 0xcc, 0xd2, 0xe1, 0x81, + 0xfb, 0x5a, 0x57, 0x30, 0x07, 0xe0, 0xf8, 0x22, 0x9a, 0x96, 0xf3, 0x1f, 0x74, 0x5a, 0xac, 0x38, + 0xa1, 0xa8, 0x87, 0x06, 0x52, 0x25, 0xc8, 0x31, 0x70, 0x7c, 0x06, 0x4d, 0xd6, 0x3c, 0xca, 0x79, + 0x31, 0xa7, 0x78, 0xe5, 0x81, 0xbc, 0x55, 0x89, 0x72, 0x34, 0x58, 0x26, 0x8b, 0x07, 0xa1, 0xa8, + 0x76, 0x8a, 0x93, 0x6a, 0x03, 0xd0, 0xc3, 0x04, 0xed, 0xf6, 0x69, 0x93, 0xad, 0x06, 0xbe, 0xa0, + 0xae, 0xcf, 0x8b, 0x79, 0x35, 0x9b, 0x18, 0xc3, 0x8b, 0x68, 0xef, 0x43, 0xd6, 0xd9, 0x0e, 0xc2, + 0x3a, 0x37, 0xb8, 0x29, 0x85, 0x7b, 0x65, 0x1c, 0x1f, 0x45, 0xff, 0xf2, 0x03, 0xc1, 0xfa, 0xc0, + 0x69, 0x05, 0x4c, 0x0e, 0xe2, 0x05, 0xb4, 0x27, 0xf0, 0xbd, 0xce, 0xba, 0xa0, 0xa1, 0x60, 0xa1, + 0x14, 0x5b, 0x2c, 0xcc, 0x59, 0x0b, 0xd3, 0xce, 0xce, 0x61, 0x5c, 0x41, 0x58, 0x0e, 0x55, 0xa9, + 0x47, 0xfd, 0x1a, 0x5b, 0xf1, 0x6b, 0x5b, 0x41, 0xc8, 0x8b, 0x48, 0x81, 0x53, 0x66, 0xf0, 0x65, + 0x34, 0x1d, 0xd2, 0xd0, 0x15, 0x2e, 0xe3, 0xc5, 0x5d, 0x43, 0x72, 0xe2, 0x48, 0x60, 0xc7, 0x31, + 0x04, 0x7c, 0x1c, 0xcd, 0x34, 0xdb, 0x9e, 0x70, 0xd5, 0xc9, 0xdd, 0xf1, 0xbd, 0x4e, 0x71, 0xb7, + 0x0a, 0xb4, 0x63, 0x94, 0x54, 0xe0, 0x43, 0x0a, 0x37, 0x04, 0xee, 0x59, 0x11, 0x4d, 0xe9, 0x17, + 0xa0, 0x1f, 0x6e, 0xce, 0x89, 0xba, 0xe4, 0x24, 0xdc, 0xa8, 0xdb, 0xd2, 0x48, 0x62, 0xb7, 0x58, + 0x19, 0x8b, 0x79, 0x3f, 0x51, 0x97, 0xdc, 0x84, 0xe5, 0x01, 0x0e, 0xcb, 0x9f, 0x42, 0x93, 0x0a, + 0x00, 0xf7, 0xb8, 0x94, 0xba, 0x2d, 0x4d, 0xd1, 0x40, 0x32, 0x8f, 0xf6, 0xa8, 0x75, 0xd6, 0x99, + 0x88, 0x5d, 0x63, 0xce, 0x84, 0x09, 0xa9, 0x3b, 0xe4, 0x36, 0x3c, 0x32, 0x05, 0x84, 0x70, 0x17, + 0x93, 0xe1, 0xd2, 0x3f, 0x42, 0xeb, 0x4c, 0xc8, 0x07, 0xbb, 0xa2, 0x6d, 0x2f, 0x8a, 0x7b, 0x11, + 0xfd, 0x1b, 0x96, 0xf3, 0xbc, 0x3b, 0xd2, 0xe9, 0xa2, 0xe8, 0x73, 0x68, 0x17, 0x8f, 0xc6, 0x8c, + 0x86, 0xf8, 0x10, 0xf9, 0x10, 0x1d, 0xd8, 0x49, 0x05, 0x3d, 0x57, 0x50, 0xc1, 0x00, 0x41, 0x53, + 0x79, 0x80, 0xa6, 0x88, 0xda, 0x27, 0x90, 0x65, 0x30, 0xb9, 0x55, 0xed, 0xab, 0x91, 0xa0, 0x83, + 0xa8, 0x00, 0x4e, 0x6b, 0xe4, 0xf4, 0x07, 0xc8, 0xfb, 0x68, 0x36, 0x49, 0x32, 0xdf, 0xb2, 0x29, + 0x00, 0x81, 0x90, 0x83, 0xe9, 0x57, 0x0c, 0x68, 0x11, 0x98, 0x9c, 0x82, 0xbc, 0xae, 0x2b, 0xe7, + 0x8e, 0x34, 0x94, 0xd0, 0xb4, 0xb6, 0x72, 0x23, 0xc1, 0xf4, 0xc9, 0xbb, 0x20, 0x3b, 0x62, 0x80, + 0x80, 0x65, 0x94, 0xd7, 0x90, 0x4c, 0x6f, 0x06, 0x12, 0x40, 0x4d, 0x56, 0xde, 0x89, 0xaa, 0x82, + 0x58, 0x56, 0x4c, 0xa5, 0xd0, 0xcf, 0x4a, 0x6c, 0xc8, 0x64, 0x25, 0x46, 0xed, 0x67, 0xc5, 0x00, + 0x33, 0xb3, 0xd2, 0xa7, 0xf6, 0x09, 0x4b, 0x3f, 0xef, 0x41, 0x93, 0x6a, 0x61, 0xfc, 0x85, 0x85, + 0xf2, 0xba, 0x96, 0xc0, 0xf3, 0xa9, 0xfc, 0x57, 0x0b, 0x97, 0xd2, 0xc2, 0x70, 0xa0, 0x56, 0x49, + 0xce, 0x7e, 0xfa, 0xeb, 0x9f, 0x4f, 0xc6, 0x6d, 0x7c, 0xd2, 0xbe, 0xc1, 0x6a, 0xcc, 0x17, 0x21, + 0xf5, 0xe4, 0xd3, 0x5d, 0xa3, 0x4d, 0x66, 0x0f, 0x2e, 0x54, 0xf1, 0x2f, 0xd6, 0x4e, 0x47, 0xc6, + 0x4b, 0x83, 0x63, 0x0e, 0x2a, 0x74, 0x4a, 0xcb, 0xaf, 0xc5, 0x01, 0xc9, 0xab, 0x4a, 0xf2, 0x55, + 0x7c, 0x79, 0x54, 0xc9, 0xc9, 0xca, 0xd9, 0xee, 0xba, 0xf5, 0x1e, 0x7e, 0x6a, 0xa1, 0x7d, 0xc9, + 0xf5, 0x57, 0x3c, 0x2f, 0x6b, 0x0f, 0x83, 0xca, 0xa0, 0xac, 0x3d, 0x0c, 0x2c, 0x68, 0xc8, 0x35, + 0xb5, 0x87, 0x0b, 0xf8, 0xdc, 0x3f, 0xdb, 0x03, 0x7e, 0x62, 0xa1, 0x9c, 0x32, 0x81, 0x63, 0x83, + 0xa3, 0xc7, 0x0a, 0x92, 0xd2, 0xf1, 0x61, 0x30, 0xd0, 0x75, 0x45, 0xe9, 0x3a, 0x87, 0xcf, 0x8c, + 0xa8, 0x4b, 0xb6, 0xec, 0xae, 0xfe, 0x98, 0xf7, 0xf0, 0x97, 0x16, 0xca, 0xc9, 0x72, 0x21, 0x4b, + 0x55, 0xac, 0x5a, 0xc9, 0x52, 0x15, 0x2f, 0x53, 0xc8, 0x55, 0xa5, 0xea, 0x3c, 0x3e, 0x3b, 0xa2, + 0x2a, 0x59, 0xac, 0xd8, 0x5d, 0xa8, 0x7c, 0x7a, 0xf8, 0x2b, 0x0b, 0x4d, 0x2a, 0x3f, 0xc2, 0x43, + 0x8e, 0xc1, 0xe4, 0x74, 0x7e, 0x28, 0xee, 0x0d, 0xce, 0x8b, 0xdb, 0x5d, 0x55, 0x22, 0xf5, 0xf0, + 0xd7, 0x16, 0x9a, 0x54, 0xb6, 0x94, 0x25, 0x2c, 0xee, 0x8c, 0x59, 0xc2, 0x12, 0x96, 0xf8, 0xda, + 0x17, 0x4c, 0xd9, 0x93, 0xdd, 0x05, 0x9f, 0xed, 0xe1, 0xcf, 0x2c, 0x34, 0xb1, 0xce, 0x04, 0x3e, + 0x3a, 0x38, 0x60, 0xdf, 0x3b, 0x4b, 0xc7, 0x86, 0xa0, 0x40, 0xd4, 0x25, 0x25, 0xea, 0x0c, 0x5e, + 0x1a, 0x51, 0x14, 0x67, 0xc2, 0xee, 0x2a, 0x1f, 0xee, 0xe1, 0x1f, 0x2d, 0x54, 0x30, 0xfe, 0x85, + 0x17, 0xb3, 0x02, 0x26, 0xad, 0xb5, 0xf4, 0xff, 0x91, 0xb0, 0x20, 0x71, 0x4d, 0x49, 0x5c, 0xc1, + 0x6f, 0x8f, 0x2c, 0x31, 0xfa, 0x9f, 0x55, 0x2a, 0x35, 0x6e, 0xdd, 0xc3, 0xdf, 0x59, 0x68, 0x0a, + 0x6c, 0x0e, 0x67, 0x7c, 0x8e, 0x93, 0xae, 0x5b, 0x3a, 0x31, 0x02, 0x12, 0x94, 0x56, 0x95, 0xd2, + 0x2b, 0xf8, 0xd2, 0xa8, 0x57, 0x4f, 0xf3, 0xed, 0xae, 0x71, 0xf1, 0x1e, 0xfe, 0xc6, 0x42, 0x79, + 0xed, 0x85, 0x59, 0xde, 0x92, 0x30, 0xe5, 0x2c, 0x6f, 0x49, 0x7a, 0x31, 0xb9, 0xae, 0x14, 0x5e, + 0xc2, 0x17, 0x46, 0x3e, 0x4b, 0x49, 0x97, 0xe7, 0xa8, 0x3d, 0xbe, 0x87, 0x7f, 0xb0, 0x50, 0xc1, + 0xd8, 0x63, 0x56, 0xd2, 0x77, 0x3a, 0x77, 0x56, 0xd2, 0x5f, 0xb1, 0x6a, 0x72, 0x53, 0x09, 0xbd, + 0x8e, 0xaf, 0x8d, 0x28, 0xd4, 0xd8, 0xb4, 0xdd, 0x8d, 0xd5, 0x02, 0xbd, 0xaa, 0xf3, 0xec, 0x45, + 0xd9, 0x7a, 0xfe, 0xa2, 0x6c, 0xfd, 0xf1, 0xa2, 0x6c, 0x7d, 0xfe, 0xb2, 0x3c, 0xf6, 0xfc, 0x65, + 0x79, 0xec, 0xb7, 0x97, 0xe5, 0xb1, 0x8f, 0x2f, 0x34, 0x5c, 0xb1, 0xd5, 0xde, 0xac, 0xd4, 0x82, + 0x66, 0x66, 0x8c, 0x4f, 0x62, 0x6d, 0xd1, 0x69, 0x31, 0xbe, 0x99, 0x57, 0x3f, 0x50, 0x2c, 0xff, + 0x1d, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x2b, 0xe2, 0xfc, 0xe0, 0x12, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1242,6 +1336,8 @@ type QueryClient interface { Council(ctx context.Context, in *QueryCouncilRequest, opts ...grpc.CallOption) (*QueryCouncilResponse, error) // Queries a list of Server items. Server(ctx context.Context, in *QueryServerRequest, opts ...grpc.CallOption) (*QueryServerResponse, error) + // Queries a list of Encounter items. + Encounter(ctx context.Context, in *QueryEncounterRequest, opts ...grpc.CallOption) (*QueryEncounterResponse, error) } type queryClient struct { @@ -1351,6 +1447,15 @@ func (c *queryClient) Server(ctx context.Context, in *QueryServerRequest, opts . return out, nil } +func (c *queryClient) Encounter(ctx context.Context, in *QueryEncounterRequest, opts ...grpc.CallOption) (*QueryEncounterResponse, error) { + out := new(QueryEncounterResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Encounter", 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. @@ -1374,6 +1479,8 @@ type QueryServer interface { Council(context.Context, *QueryCouncilRequest) (*QueryCouncilResponse, error) // Queries a list of Server items. Server(context.Context, *QueryServerRequest) (*QueryServerResponse, error) + // Queries a list of Encounter items. + Encounter(context.Context, *QueryEncounterRequest) (*QueryEncounterResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -1413,6 +1520,9 @@ func (*UnimplementedQueryServer) Council(ctx context.Context, req *QueryCouncilR func (*UnimplementedQueryServer) Server(ctx context.Context, req *QueryServerRequest) (*QueryServerResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Server not implemented") } +func (*UnimplementedQueryServer) Encounter(ctx context.Context, req *QueryEncounterRequest) (*QueryEncounterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Encounter not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -1616,6 +1726,24 @@ func _Query_Server_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +func _Query_Encounter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryEncounterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Encounter(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/Encounter", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Encounter(ctx, req.(*QueryEncounterRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -1665,6 +1793,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Server", Handler: _Query_Server_Handler, }, + { + MethodName: "Encounter", + Handler: _Query_Encounter_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -2515,6 +2647,69 @@ func (m *QueryServerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *QueryEncounterRequest) 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 *QueryEncounterRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryEncounterRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.EncounterId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.EncounterId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryEncounterResponse) 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 *QueryEncounterResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryEncounterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Encounter != nil { + { + size, err := m.Encounter.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 @@ -2859,6 +3054,31 @@ func (m *QueryServerResponse) Size() (n int) { return n } +func (m *QueryEncounterRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EncounterId != 0 { + n += 1 + sovQuery(uint64(m.EncounterId)) + } + return n +} + +func (m *QueryEncounterResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Encounter != nil { + l = m.Encounter.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -5126,6 +5346,161 @@ func (m *QueryServerResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryEncounterRequest) 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: QueryEncounterRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryEncounterRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EncounterId", wireType) + } + m.EncounterId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.EncounterId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 *QueryEncounterResponse) 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: QueryEncounterResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryEncounterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Encounter", 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.Encounter == nil { + m.Encounter = &Encounter{} + } + if err := m.Encounter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 12c094f9..7ebbd6bf 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -591,6 +591,60 @@ func local_request_Query_Server_0(ctx context.Context, marshaler runtime.Marshal } +func request_Query_Encounter_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryEncounterRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["encounterId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "encounterId") + } + + protoReq.EncounterId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "encounterId", err) + } + + msg, err := client.Encounter(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Encounter_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryEncounterRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["encounterId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "encounterId") + } + + protoReq.EncounterId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "encounterId", err) + } + + msg, err := server.Encounter(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. @@ -850,6 +904,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_Encounter_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_Encounter_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_Encounter_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1111,6 +1188,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_Encounter_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_Encounter_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_Encounter_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1136,6 +1233,8 @@ var ( pattern_Query_Council_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "council", "councilId"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_Server_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "server", "serverId"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_Encounter_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "encounter", "encounterId"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -1160,4 +1259,6 @@ var ( forward_Query_Council_0 = runtime.ForwardResponseMessage forward_Query_Server_0 = runtime.ForwardResponseMessage + + forward_Query_Encounter_0 = runtime.ForwardResponseMessage ) From 392a3035062ec11ed0796ef25ebee6499f5aeaf3 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 14:19:25 +0100 Subject: [PATCH 47/99] feat(#242): Added encounter queries proto --- api/cardchain/cardchain/card.pulsar.go | 9 +- .../cardchain/card_with_image.pulsar.go | 7 +- api/cardchain/cardchain/council.pulsar.go | 9 +- api/cardchain/cardchain/encounter.pulsar.go | 623 +-- .../cardchain/encounter_with_image.pulsar.go | 672 ++++ api/cardchain/cardchain/genesis.pulsar.go | 9 +- api/cardchain/cardchain/image.pulsar.go | 7 +- api/cardchain/cardchain/match.pulsar.go | 7 +- .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- .../cardchain/product_details.pulsar.go | 7 +- api/cardchain/cardchain/query.pulsar.go | 3531 +++++++++++++++-- api/cardchain/cardchain/query_grpc.pb.go | 142 +- .../cardchain/running_average.pulsar.go | 7 +- api/cardchain/cardchain/sell_offer.pulsar.go | 9 +- api/cardchain/cardchain/server.pulsar.go | 7 +- api/cardchain/cardchain/set.pulsar.go | 9 +- .../cardchain/set_with_artwork.pulsar.go | 7 +- api/cardchain/cardchain/tx.pulsar.go | 11 +- api/cardchain/cardchain/tx_grpc.pb.go | 1 - api/cardchain/cardchain/user.pulsar.go | 7 +- api/cardchain/cardchain/voting.pulsar.go | 7 +- api/cardchain/cardchain/zealy.pulsar.go | 7 +- api/cardchain/featureflag/flag.pulsar.go | 7 +- api/cardchain/featureflag/genesis.pulsar.go | 11 +- .../featureflag/module/module.pulsar.go | 9 +- api/cardchain/featureflag/params.pulsar.go | 9 +- api/cardchain/featureflag/query.pulsar.go | 9 +- api/cardchain/featureflag/query_grpc.pb.go | 1 - api/cardchain/featureflag/tx.pulsar.go | 9 +- api/cardchain/featureflag/tx_grpc.pb.go | 1 - docs/static/openapi.yml | 2 +- gen_queries.sh | 5 +- proto/cardchain/cardchain/encounter.proto | 5 - .../cardchain/encounter_with_image.proto | 12 + proto/cardchain/cardchain/query.proto | 237 +- .../keeper/query_encounter_with_image.go | 23 + x/cardchain/keeper/query_encounters.go | 23 + .../keeper/query_encounters_with_image.go | 23 + x/cardchain/module/autocli.go | 21 + x/cardchain/types/card.pb.go | 7 +- x/cardchain/types/card_with_image.pb.go | 5 +- x/cardchain/types/council.pb.go | 7 +- x/cardchain/types/encounter.pb.go | 283 +- x/cardchain/types/encounter_with_image.pb.go | 383 ++ x/cardchain/types/genesis.pb.go | 7 +- x/cardchain/types/image.pb.go | 3 +- x/cardchain/types/match.pb.go | 3 +- x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/product_details.pb.go | 3 +- x/cardchain/types/query.pb.go | 1271 +++++- x/cardchain/types/query.pb.gw.go | 195 + x/cardchain/types/running_average.pb.go | 3 +- x/cardchain/types/sell_offer.pb.go | 7 +- x/cardchain/types/server.pb.go | 3 +- x/cardchain/types/set.pb.go | 5 +- x/cardchain/types/set_with_artwork.pb.go | 3 +- x/cardchain/types/tx.pb.go | 7 +- x/cardchain/types/user.pb.go | 3 +- x/cardchain/types/voting.pb.go | 3 +- x/cardchain/types/zealy.pb.go | 3 +- x/featureflag/types/flag.pb.go | 3 +- x/featureflag/types/genesis.pb.go | 7 +- x/featureflag/types/params.pb.go | 7 +- x/featureflag/types/query.pb.go | 7 +- x/featureflag/types/tx.pb.go | 7 +- 66 files changed, 6113 insertions(+), 1649 deletions(-) create mode 100644 api/cardchain/cardchain/encounter_with_image.pulsar.go create mode 100644 proto/cardchain/cardchain/encounter_with_image.proto create mode 100644 x/cardchain/keeper/query_encounter_with_image.go create mode 100644 x/cardchain/keeper/query_encounters.go create mode 100644 x/cardchain/keeper/query_encounters_with_image.go create mode 100644 x/cardchain/types/encounter_with_image.pb.go diff --git a/api/cardchain/cardchain/card.pulsar.go b/api/cardchain/cardchain/card.pulsar.go index a986b06e..32747a36 100644 --- a/api/cardchain/cardchain/card.pulsar.go +++ b/api/cardchain/cardchain/card.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Card_14_list)(nil) diff --git a/api/cardchain/cardchain/card_with_image.pulsar.go b/api/cardchain/cardchain/card_with_image.pulsar.go index d8c51a08..c161546e 100644 --- a/api/cardchain/cardchain/card_with_image.pulsar.go +++ b/api/cardchain/cardchain/card_with_image.pulsar.go @@ -3,15 +3,14 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/council.pulsar.go b/api/cardchain/cardchain/council.pulsar.go index 1afba505..ad8e4373 100644 --- a/api/cardchain/cardchain/council.pulsar.go +++ b/api/cardchain/cardchain/council.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Council_2_list)(nil) diff --git a/api/cardchain/cardchain/encounter.pulsar.go b/api/cardchain/cardchain/encounter.pulsar.go index 7dc474db..cd9398ab 100644 --- a/api/cardchain/cardchain/encounter.pulsar.go +++ b/api/cardchain/cardchain/encounter.pulsar.go @@ -3,16 +3,15 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var _ protoreflect.List = (*_Encounter_2_list)(nil) @@ -1133,507 +1132,6 @@ func (x *fastReflection_Encounter) ProtoMethods() *protoiface.Methods { } } -var ( - md_EncounterWithImage protoreflect.MessageDescriptor - fd_EncounterWithImage_encounter protoreflect.FieldDescriptor - fd_EncounterWithImage_image protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_encounter_proto_init() - md_EncounterWithImage = File_cardchain_cardchain_encounter_proto.Messages().ByName("EncounterWithImage") - fd_EncounterWithImage_encounter = md_EncounterWithImage.Fields().ByName("encounter") - fd_EncounterWithImage_image = md_EncounterWithImage.Fields().ByName("image") -} - -var _ protoreflect.Message = (*fastReflection_EncounterWithImage)(nil) - -type fastReflection_EncounterWithImage EncounterWithImage - -func (x *EncounterWithImage) ProtoReflect() protoreflect.Message { - return (*fastReflection_EncounterWithImage)(x) -} - -func (x *EncounterWithImage) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_encounter_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_EncounterWithImage_messageType fastReflection_EncounterWithImage_messageType -var _ protoreflect.MessageType = fastReflection_EncounterWithImage_messageType{} - -type fastReflection_EncounterWithImage_messageType struct{} - -func (x fastReflection_EncounterWithImage_messageType) Zero() protoreflect.Message { - return (*fastReflection_EncounterWithImage)(nil) -} -func (x fastReflection_EncounterWithImage_messageType) New() protoreflect.Message { - return new(fastReflection_EncounterWithImage) -} -func (x fastReflection_EncounterWithImage_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_EncounterWithImage -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_EncounterWithImage) Descriptor() protoreflect.MessageDescriptor { - return md_EncounterWithImage -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_EncounterWithImage) Type() protoreflect.MessageType { - return _fastReflection_EncounterWithImage_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_EncounterWithImage) New() protoreflect.Message { - return new(fastReflection_EncounterWithImage) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_EncounterWithImage) Interface() protoreflect.ProtoMessage { - return (*EncounterWithImage)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_EncounterWithImage) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Encounter != nil { - value := protoreflect.ValueOfMessage(x.Encounter.ProtoReflect()) - if !f(fd_EncounterWithImage_encounter, value) { - return - } - } - if len(x.Image) != 0 { - value := protoreflect.ValueOfBytes(x.Image) - if !f(fd_EncounterWithImage_image, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_EncounterWithImage) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.EncounterWithImage.encounter": - return x.Encounter != nil - case "cardchain.cardchain.EncounterWithImage.image": - return len(x.Image) != 0 - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) - } - panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_EncounterWithImage) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.EncounterWithImage.encounter": - x.Encounter = nil - case "cardchain.cardchain.EncounterWithImage.image": - x.Image = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) - } - panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_EncounterWithImage) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.EncounterWithImage.encounter": - value := x.Encounter - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "cardchain.cardchain.EncounterWithImage.image": - value := x.Image - return protoreflect.ValueOfBytes(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) - } - panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_EncounterWithImage) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.EncounterWithImage.encounter": - x.Encounter = value.Message().Interface().(*Encounter) - case "cardchain.cardchain.EncounterWithImage.image": - x.Image = value.Bytes() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) - } - panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_EncounterWithImage) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.EncounterWithImage.encounter": - if x.Encounter == nil { - x.Encounter = new(Encounter) - } - return protoreflect.ValueOfMessage(x.Encounter.ProtoReflect()) - case "cardchain.cardchain.EncounterWithImage.image": - panic(fmt.Errorf("field image of message cardchain.cardchain.EncounterWithImage is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) - } - panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_EncounterWithImage) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.EncounterWithImage.encounter": - m := new(Encounter) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "cardchain.cardchain.EncounterWithImage.image": - return protoreflect.ValueOfBytes(nil) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) - } - panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_EncounterWithImage) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.EncounterWithImage", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_EncounterWithImage) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_EncounterWithImage) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_EncounterWithImage) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_EncounterWithImage) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*EncounterWithImage) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Encounter != nil { - l = options.Size(x.Encounter) - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Image) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*EncounterWithImage) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Image) > 0 { - i -= len(x.Image) - copy(dAtA[i:], x.Image) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Image))) - i-- - dAtA[i] = 0x12 - } - if x.Encounter != nil { - encoded, err := options.Marshal(x.Encounter) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*EncounterWithImage) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EncounterWithImage: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EncounterWithImage: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Encounter", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Encounter == nil { - x.Encounter = &Encounter{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Encounter); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Image = append(x.Image[:0], dAtA[iNdEx:postIndex]...) - if x.Image == nil { - x.Image = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -1730,49 +1228,6 @@ func (x *Encounter) GetName() string { return "" } -type EncounterWithImage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` - Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` -} - -func (x *EncounterWithImage) Reset() { - *x = EncounterWithImage{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_encounter_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EncounterWithImage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EncounterWithImage) ProtoMessage() {} - -// Deprecated: Use EncounterWithImage.ProtoReflect.Descriptor instead. -func (*EncounterWithImage) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_encounter_proto_rawDescGZIP(), []int{1} -} - -func (x *EncounterWithImage) GetEncounter() *Encounter { - if x != nil { - return x.Encounter - } - return nil -} - -func (x *EncounterWithImage) GetImage() []byte { - if x != nil { - return x.Image - } - return nil -} - var File_cardchain_cardchain_encounter_proto protoreflect.FileDescriptor var file_cardchain_cardchain_encounter_proto_rawDesc = []byte{ @@ -1799,27 +1254,21 @@ var file_cardchain_cardchain_encounter_proto_rawDesc = []byte{ 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x68, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, - 0xd6, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0e, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, - 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, - 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xd6, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x42, 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, + 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1834,20 +1283,18 @@ func file_cardchain_cardchain_encounter_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_encounter_proto_rawDescData } -var file_cardchain_cardchain_encounter_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_cardchain_cardchain_encounter_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_cardchain_cardchain_encounter_proto_goTypes = []interface{}{ - (*Encounter)(nil), // 0: cardchain.cardchain.Encounter - (*EncounterWithImage)(nil), // 1: cardchain.cardchain.EncounterWithImage - nil, // 2: cardchain.cardchain.Encounter.ParametersEntry + (*Encounter)(nil), // 0: cardchain.cardchain.Encounter + nil, // 1: cardchain.cardchain.Encounter.ParametersEntry } var file_cardchain_cardchain_encounter_proto_depIdxs = []int32{ - 2, // 0: cardchain.cardchain.Encounter.parameters:type_name -> cardchain.cardchain.Encounter.ParametersEntry - 0, // 1: cardchain.cardchain.EncounterWithImage.encounter:type_name -> cardchain.cardchain.Encounter - 2, // [2:2] is the sub-list for method output_type - 2, // [2:2] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 1, // 0: cardchain.cardchain.Encounter.parameters:type_name -> cardchain.cardchain.Encounter.ParametersEntry + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name } func init() { file_cardchain_cardchain_encounter_proto_init() } @@ -1868,18 +1315,6 @@ func file_cardchain_cardchain_encounter_proto_init() { return nil } } - file_cardchain_cardchain_encounter_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EncounterWithImage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1887,7 +1322,7 @@ func file_cardchain_cardchain_encounter_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_encounter_proto_rawDesc, NumEnums: 0, - NumMessages: 3, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/api/cardchain/cardchain/encounter_with_image.pulsar.go b/api/cardchain/cardchain/encounter_with_image.pulsar.go new file mode 100644 index 00000000..10ddcaa6 --- /dev/null +++ b/api/cardchain/cardchain/encounter_with_image.pulsar.go @@ -0,0 +1,672 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_EncounterWithImage protoreflect.MessageDescriptor + fd_EncounterWithImage_encounter protoreflect.FieldDescriptor + fd_EncounterWithImage_image protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_encounter_with_image_proto_init() + md_EncounterWithImage = File_cardchain_cardchain_encounter_with_image_proto.Messages().ByName("EncounterWithImage") + fd_EncounterWithImage_encounter = md_EncounterWithImage.Fields().ByName("encounter") + fd_EncounterWithImage_image = md_EncounterWithImage.Fields().ByName("image") +} + +var _ protoreflect.Message = (*fastReflection_EncounterWithImage)(nil) + +type fastReflection_EncounterWithImage EncounterWithImage + +func (x *EncounterWithImage) ProtoReflect() protoreflect.Message { + return (*fastReflection_EncounterWithImage)(x) +} + +func (x *EncounterWithImage) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_encounter_with_image_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_EncounterWithImage_messageType fastReflection_EncounterWithImage_messageType +var _ protoreflect.MessageType = fastReflection_EncounterWithImage_messageType{} + +type fastReflection_EncounterWithImage_messageType struct{} + +func (x fastReflection_EncounterWithImage_messageType) Zero() protoreflect.Message { + return (*fastReflection_EncounterWithImage)(nil) +} +func (x fastReflection_EncounterWithImage_messageType) New() protoreflect.Message { + return new(fastReflection_EncounterWithImage) +} +func (x fastReflection_EncounterWithImage_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EncounterWithImage +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_EncounterWithImage) Descriptor() protoreflect.MessageDescriptor { + return md_EncounterWithImage +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_EncounterWithImage) Type() protoreflect.MessageType { + return _fastReflection_EncounterWithImage_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_EncounterWithImage) New() protoreflect.Message { + return new(fastReflection_EncounterWithImage) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_EncounterWithImage) Interface() protoreflect.ProtoMessage { + return (*EncounterWithImage)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_EncounterWithImage) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Encounter != nil { + value := protoreflect.ValueOfMessage(x.Encounter.ProtoReflect()) + if !f(fd_EncounterWithImage_encounter, value) { + return + } + } + if len(x.Image) != 0 { + value := protoreflect.ValueOfBytes(x.Image) + if !f(fd_EncounterWithImage_image, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_EncounterWithImage) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.EncounterWithImage.encounter": + return x.Encounter != nil + case "cardchain.cardchain.EncounterWithImage.image": + return len(x.Image) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EncounterWithImage) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.EncounterWithImage.encounter": + x.Encounter = nil + case "cardchain.cardchain.EncounterWithImage.image": + x.Image = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_EncounterWithImage) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.EncounterWithImage.encounter": + value := x.Encounter + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.EncounterWithImage.image": + value := x.Image + return protoreflect.ValueOfBytes(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EncounterWithImage) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.EncounterWithImage.encounter": + x.Encounter = value.Message().Interface().(*Encounter) + case "cardchain.cardchain.EncounterWithImage.image": + x.Image = value.Bytes() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EncounterWithImage) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.EncounterWithImage.encounter": + if x.Encounter == nil { + x.Encounter = new(Encounter) + } + return protoreflect.ValueOfMessage(x.Encounter.ProtoReflect()) + case "cardchain.cardchain.EncounterWithImage.image": + panic(fmt.Errorf("field image of message cardchain.cardchain.EncounterWithImage is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_EncounterWithImage) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.EncounterWithImage.encounter": + m := new(Encounter) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.EncounterWithImage.image": + return protoreflect.ValueOfBytes(nil) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) + } + panic(fmt.Errorf("message cardchain.cardchain.EncounterWithImage does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_EncounterWithImage) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.EncounterWithImage", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_EncounterWithImage) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EncounterWithImage) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_EncounterWithImage) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_EncounterWithImage) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*EncounterWithImage) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Encounter != nil { + l = options.Size(x.Encounter) + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Image) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*EncounterWithImage) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Image) > 0 { + i -= len(x.Image) + copy(dAtA[i:], x.Image) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Image))) + i-- + dAtA[i] = 0x12 + } + if x.Encounter != nil { + encoded, err := options.Marshal(x.Encounter) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*EncounterWithImage) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EncounterWithImage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EncounterWithImage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Encounter", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Encounter == nil { + x.Encounter = &Encounter{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Encounter); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Image = append(x.Image[:0], dAtA[iNdEx:postIndex]...) + if x.Image == nil { + x.Image = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/encounter_with_image.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type EncounterWithImage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` + Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` +} + +func (x *EncounterWithImage) Reset() { + *x = EncounterWithImage{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_encounter_with_image_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EncounterWithImage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncounterWithImage) ProtoMessage() {} + +// Deprecated: Use EncounterWithImage.ProtoReflect.Descriptor instead. +func (*EncounterWithImage) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_encounter_with_image_proto_rawDescGZIP(), []int{0} +} + +func (x *EncounterWithImage) GetEncounter() *Encounter { + if x != nil { + return x.Encounter + } + return nil +} + +func (x *EncounterWithImage) GetImage() []byte { + if x != nil { + return x.Image + } + return nil +} + +var File_cardchain_cardchain_encounter_with_image_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_encounter_with_image_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, + 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x68, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, + 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0xdf, 0x01, 0x0a, 0x17, 0x63, + 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x17, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_encounter_with_image_proto_rawDescOnce sync.Once + file_cardchain_cardchain_encounter_with_image_proto_rawDescData = file_cardchain_cardchain_encounter_with_image_proto_rawDesc +) + +func file_cardchain_cardchain_encounter_with_image_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_encounter_with_image_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_encounter_with_image_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_encounter_with_image_proto_rawDescData) + }) + return file_cardchain_cardchain_encounter_with_image_proto_rawDescData +} + +var file_cardchain_cardchain_encounter_with_image_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_encounter_with_image_proto_goTypes = []interface{}{ + (*EncounterWithImage)(nil), // 0: cardchain.cardchain.EncounterWithImage + (*Encounter)(nil), // 1: cardchain.cardchain.Encounter +} +var file_cardchain_cardchain_encounter_with_image_proto_depIdxs = []int32{ + 1, // 0: cardchain.cardchain.EncounterWithImage.encounter:type_name -> cardchain.cardchain.Encounter + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_encounter_with_image_proto_init() } +func file_cardchain_cardchain_encounter_with_image_proto_init() { + if File_cardchain_cardchain_encounter_with_image_proto != nil { + return + } + file_cardchain_cardchain_encounter_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_encounter_with_image_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EncounterWithImage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_encounter_with_image_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_encounter_with_image_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_encounter_with_image_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_encounter_with_image_proto_msgTypes, + }.Build() + File_cardchain_cardchain_encounter_with_image_proto = out.File + file_cardchain_cardchain_encounter_with_image_proto_rawDesc = nil + file_cardchain_cardchain_encounter_with_image_proto_goTypes = nil + file_cardchain_cardchain_encounter_with_image_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index 4d3bf7a0..c48c933d 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_GenesisState_2_list)(nil) diff --git a/api/cardchain/cardchain/image.pulsar.go b/api/cardchain/cardchain/image.pulsar.go index db59a9e8..627dece1 100644 --- a/api/cardchain/cardchain/image.pulsar.go +++ b/api/cardchain/cardchain/image.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go index b2e29884..191ba7fd 100644 --- a/api/cardchain/cardchain/match.pulsar.go +++ b/api/cardchain/cardchain/match.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index dead9881..2b190f83 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,16 +2,15 @@ package module import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index ed6b2b87..11ddc437 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,18 +2,17 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/product_details.pulsar.go b/api/cardchain/cardchain/product_details.pulsar.go index f50578bd..4217d854 100644 --- a/api/cardchain/cardchain/product_details.pulsar.go +++ b/api/cardchain/cardchain/product_details.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index f24d3046..8c9c20e3 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,19 +2,18 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( @@ -11453,186 +11452,2677 @@ func (x *fastReflection_QueryEncounterResponse) ProtoMethods() *protoiface.Metho } } -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: cardchain/cardchain/query.proto - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +var ( + md_QueryEncountersRequest protoreflect.MessageDescriptor ) -// QueryParamsRequest is request type for the Query/Params RPC method. -type QueryParamsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *QueryParamsRequest) Reset() { - *x = QueryParamsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryParamsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryEncountersRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryEncountersRequest") } -func (*QueryParamsRequest) ProtoMessage() {} - -// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. -func (*QueryParamsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{0} -} +var _ protoreflect.Message = (*fastReflection_QueryEncountersRequest)(nil) -// QueryParamsResponse is response type for the Query/Params RPC method. -type QueryParamsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type fastReflection_QueryEncountersRequest QueryEncountersRequest - // params holds all the parameters of this module. - Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +func (x *QueryEncountersRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryEncountersRequest)(x) } -func (x *QueryParamsResponse) Reset() { - *x = QueryParamsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[1] +func (x *QueryEncountersRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } + return mi.MessageOf(x) } -func (x *QueryParamsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} +var _fastReflection_QueryEncountersRequest_messageType fastReflection_QueryEncountersRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryEncountersRequest_messageType{} -func (*QueryParamsResponse) ProtoMessage() {} +type fastReflection_QueryEncountersRequest_messageType struct{} -// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. -func (*QueryParamsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{1} +func (x fastReflection_QueryEncountersRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryEncountersRequest)(nil) } - -func (x *QueryParamsResponse) GetParams() *Params { - if x != nil { - return x.Params - } - return nil +func (x fastReflection_QueryEncountersRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryEncountersRequest) } - -type QueryGetProductDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +func (x fastReflection_QueryEncountersRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncountersRequest } -func (x *QueryGetProductDetailsRequest) Reset() { - *x = QueryGetProductDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryEncountersRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncountersRequest } -func (x *QueryGetProductDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryEncountersRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryEncountersRequest_messageType } -func (*QueryGetProductDetailsRequest) ProtoMessage() {} - -// Deprecated: Use QueryGetProductDetailsRequest.ProtoReflect.Descriptor instead. -func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryEncountersRequest) New() protoreflect.Message { + return new(fastReflection_QueryEncountersRequest) } -func (x *QueryGetProductDetailsRequest) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryEncountersRequest) Interface() protoreflect.ProtoMessage { + return (*QueryEncountersRequest)(x) } -type QueryGetProductDetailsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProductDetails *ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryEncountersRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } -func (x *QueryGetProductDetailsResponse) Reset() { - *x = QueryGetProductDetailsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryEncountersRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersRequest does not contain field %s", fd.FullName())) } } -func (x *QueryGetProductDetailsResponse) String() string { - return protoimpl.X.MessageStringOf(x) +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersRequest does not contain field %s", fd.FullName())) + } } -func (*QueryGetProductDetailsResponse) ProtoMessage() {} - -// Deprecated: Use QueryGetProductDetailsResponse.ProtoReflect.Descriptor instead. -func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryEncountersRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersRequest does not contain field %s", descriptor.FullName())) + } } -func (x *QueryGetProductDetailsResponse) GetProductDetails() *ProductDetails { - if x != nil { - return x.ProductDetails +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersRequest does not contain field %s", fd.FullName())) } - return nil } -type QueryAllProductDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersRequest does not contain field %s", fd.FullName())) + } } -func (x *QueryAllProductDetailsRequest) Reset() { - *x = QueryAllProductDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryEncountersRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersRequest does not contain field %s", fd.FullName())) } } -func (x *QueryAllProductDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryEncountersRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryEncountersRequest", d.FullName())) + } + panic("unreachable") } -func (*QueryAllProductDetailsRequest) ProtoMessage() {} - -// Deprecated: Use QueryAllProductDetailsRequest.ProtoReflect.Descriptor instead. -func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryEncountersRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields } -func (x *QueryAllProductDetailsRequest) GetPagination() *v1beta1.PageRequest { - if x != nil { - return x.Pagination - } - return nil +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryEncountersRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryEncountersRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryEncountersRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryEncountersRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryEncountersRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncountersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncountersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QueryEncountersResponse_1_list)(nil) + +type _QueryEncountersResponse_1_list struct { + list *[]*Encounter +} + +func (x *_QueryEncountersResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryEncountersResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_QueryEncountersResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Encounter) + (*x.list)[i] = concreteValue +} + +func (x *_QueryEncountersResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Encounter) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryEncountersResponse_1_list) AppendMutable() protoreflect.Value { + v := new(Encounter) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryEncountersResponse_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_QueryEncountersResponse_1_list) NewElement() protoreflect.Value { + v := new(Encounter) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryEncountersResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryEncountersResponse protoreflect.MessageDescriptor + fd_QueryEncountersResponse_encounters protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryEncountersResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryEncountersResponse") + fd_QueryEncountersResponse_encounters = md_QueryEncountersResponse.Fields().ByName("encounters") +} + +var _ protoreflect.Message = (*fastReflection_QueryEncountersResponse)(nil) + +type fastReflection_QueryEncountersResponse QueryEncountersResponse + +func (x *QueryEncountersResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryEncountersResponse)(x) +} + +func (x *QueryEncountersResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryEncountersResponse_messageType fastReflection_QueryEncountersResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryEncountersResponse_messageType{} + +type fastReflection_QueryEncountersResponse_messageType struct{} + +func (x fastReflection_QueryEncountersResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryEncountersResponse)(nil) +} +func (x fastReflection_QueryEncountersResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryEncountersResponse) +} +func (x fastReflection_QueryEncountersResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncountersResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryEncountersResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncountersResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryEncountersResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryEncountersResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryEncountersResponse) New() protoreflect.Message { + return new(fastReflection_QueryEncountersResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryEncountersResponse) Interface() protoreflect.ProtoMessage { + return (*QueryEncountersResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryEncountersResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Encounters) != 0 { + value := protoreflect.ValueOfList(&_QueryEncountersResponse_1_list{list: &x.Encounters}) + if !f(fd_QueryEncountersResponse_encounters, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryEncountersResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncountersResponse.encounters": + return len(x.Encounters) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncountersResponse.encounters": + x.Encounters = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryEncountersResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryEncountersResponse.encounters": + if len(x.Encounters) == 0 { + return protoreflect.ValueOfList(&_QueryEncountersResponse_1_list{}) + } + listValue := &_QueryEncountersResponse_1_list{list: &x.Encounters} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncountersResponse.encounters": + lv := value.List() + clv := lv.(*_QueryEncountersResponse_1_list) + x.Encounters = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncountersResponse.encounters": + if x.Encounters == nil { + x.Encounters = []*Encounter{} + } + value := &_QueryEncountersResponse_1_list{list: &x.Encounters} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryEncountersResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncountersResponse.encounters": + list := []*Encounter{} + return protoreflect.ValueOfList(&_QueryEncountersResponse_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryEncountersResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryEncountersResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryEncountersResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryEncountersResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryEncountersResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryEncountersResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Encounters) > 0 { + for _, e := range x.Encounters { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryEncountersResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Encounters) > 0 { + for iNdEx := len(x.Encounters) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Encounters[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryEncountersResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncountersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncountersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Encounters", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Encounters = append(x.Encounters, &Encounter{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Encounters[len(x.Encounters)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryEncounterWithImageRequest protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryEncounterWithImageRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryEncounterWithImageRequest") +} + +var _ protoreflect.Message = (*fastReflection_QueryEncounterWithImageRequest)(nil) + +type fastReflection_QueryEncounterWithImageRequest QueryEncounterWithImageRequest + +func (x *QueryEncounterWithImageRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryEncounterWithImageRequest)(x) +} + +func (x *QueryEncounterWithImageRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryEncounterWithImageRequest_messageType fastReflection_QueryEncounterWithImageRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryEncounterWithImageRequest_messageType{} + +type fastReflection_QueryEncounterWithImageRequest_messageType struct{} + +func (x fastReflection_QueryEncounterWithImageRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryEncounterWithImageRequest)(nil) +} +func (x fastReflection_QueryEncounterWithImageRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryEncounterWithImageRequest) +} +func (x fastReflection_QueryEncounterWithImageRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncounterWithImageRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryEncounterWithImageRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncounterWithImageRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryEncounterWithImageRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryEncounterWithImageRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryEncounterWithImageRequest) New() protoreflect.Message { + return new(fastReflection_QueryEncounterWithImageRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryEncounterWithImageRequest) Interface() protoreflect.ProtoMessage { + return (*QueryEncounterWithImageRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryEncounterWithImageRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryEncounterWithImageRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterWithImageRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterWithImageRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterWithImageRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryEncounterWithImageRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterWithImageRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterWithImageRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterWithImageRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterWithImageRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterWithImageRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryEncounterWithImageRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterWithImageRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryEncounterWithImageRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryEncounterWithImageRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryEncounterWithImageRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterWithImageRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryEncounterWithImageRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryEncounterWithImageRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryEncounterWithImageRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryEncounterWithImageRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryEncounterWithImageRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncounterWithImageRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncounterWithImageRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryEncounterWithImageResponse protoreflect.MessageDescriptor + fd_QueryEncounterWithImageResponse_encounter protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryEncounterWithImageResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryEncounterWithImageResponse") + fd_QueryEncounterWithImageResponse_encounter = md_QueryEncounterWithImageResponse.Fields().ByName("encounter") +} + +var _ protoreflect.Message = (*fastReflection_QueryEncounterWithImageResponse)(nil) + +type fastReflection_QueryEncounterWithImageResponse QueryEncounterWithImageResponse + +func (x *QueryEncounterWithImageResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryEncounterWithImageResponse)(x) +} + +func (x *QueryEncounterWithImageResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryEncounterWithImageResponse_messageType fastReflection_QueryEncounterWithImageResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryEncounterWithImageResponse_messageType{} + +type fastReflection_QueryEncounterWithImageResponse_messageType struct{} + +func (x fastReflection_QueryEncounterWithImageResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryEncounterWithImageResponse)(nil) +} +func (x fastReflection_QueryEncounterWithImageResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryEncounterWithImageResponse) +} +func (x fastReflection_QueryEncounterWithImageResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncounterWithImageResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryEncounterWithImageResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncounterWithImageResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryEncounterWithImageResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryEncounterWithImageResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryEncounterWithImageResponse) New() protoreflect.Message { + return new(fastReflection_QueryEncounterWithImageResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryEncounterWithImageResponse) Interface() protoreflect.ProtoMessage { + return (*QueryEncounterWithImageResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryEncounterWithImageResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Encounter != nil { + value := protoreflect.ValueOfMessage(x.Encounter.ProtoReflect()) + if !f(fd_QueryEncounterWithImageResponse_encounter, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryEncounterWithImageResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterWithImageResponse.encounter": + return x.Encounter != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterWithImageResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterWithImageResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterWithImageResponse.encounter": + x.Encounter = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterWithImageResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryEncounterWithImageResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryEncounterWithImageResponse.encounter": + value := x.Encounter + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterWithImageResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterWithImageResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterWithImageResponse.encounter": + x.Encounter = value.Message().Interface().(*EncounterWithImage) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterWithImageResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterWithImageResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterWithImageResponse.encounter": + if x.Encounter == nil { + x.Encounter = new(EncounterWithImage) + } + return protoreflect.ValueOfMessage(x.Encounter.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterWithImageResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryEncounterWithImageResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterWithImageResponse.encounter": + m := new(EncounterWithImage) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncounterWithImageResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryEncounterWithImageResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryEncounterWithImageResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryEncounterWithImageResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncounterWithImageResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryEncounterWithImageResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryEncounterWithImageResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryEncounterWithImageResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Encounter != nil { + l = options.Size(x.Encounter) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryEncounterWithImageResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Encounter != nil { + encoded, err := options.Marshal(x.Encounter) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryEncounterWithImageResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncounterWithImageResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncounterWithImageResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Encounter", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Encounter == nil { + x.Encounter = &EncounterWithImage{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Encounter); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryEncountersWithImageRequest protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryEncountersWithImageRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryEncountersWithImageRequest") +} + +var _ protoreflect.Message = (*fastReflection_QueryEncountersWithImageRequest)(nil) + +type fastReflection_QueryEncountersWithImageRequest QueryEncountersWithImageRequest + +func (x *QueryEncountersWithImageRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryEncountersWithImageRequest)(x) +} + +func (x *QueryEncountersWithImageRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryEncountersWithImageRequest_messageType fastReflection_QueryEncountersWithImageRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryEncountersWithImageRequest_messageType{} + +type fastReflection_QueryEncountersWithImageRequest_messageType struct{} + +func (x fastReflection_QueryEncountersWithImageRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryEncountersWithImageRequest)(nil) +} +func (x fastReflection_QueryEncountersWithImageRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryEncountersWithImageRequest) +} +func (x fastReflection_QueryEncountersWithImageRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncountersWithImageRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryEncountersWithImageRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncountersWithImageRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryEncountersWithImageRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryEncountersWithImageRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryEncountersWithImageRequest) New() protoreflect.Message { + return new(fastReflection_QueryEncountersWithImageRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryEncountersWithImageRequest) Interface() protoreflect.ProtoMessage { + return (*QueryEncountersWithImageRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryEncountersWithImageRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryEncountersWithImageRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersWithImageRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersWithImageRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersWithImageRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersWithImageRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersWithImageRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryEncountersWithImageRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersWithImageRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersWithImageRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersWithImageRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersWithImageRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersWithImageRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersWithImageRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersWithImageRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersWithImageRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryEncountersWithImageRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersWithImageRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersWithImageRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryEncountersWithImageRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryEncountersWithImageRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryEncountersWithImageRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersWithImageRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryEncountersWithImageRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryEncountersWithImageRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryEncountersWithImageRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryEncountersWithImageRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryEncountersWithImageRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncountersWithImageRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncountersWithImageRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QueryEncountersWithImageResponse_1_list)(nil) + +type _QueryEncountersWithImageResponse_1_list struct { + list *[]*EncounterWithImage +} + +func (x *_QueryEncountersWithImageResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryEncountersWithImageResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_QueryEncountersWithImageResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*EncounterWithImage) + (*x.list)[i] = concreteValue +} + +func (x *_QueryEncountersWithImageResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*EncounterWithImage) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryEncountersWithImageResponse_1_list) AppendMutable() protoreflect.Value { + v := new(EncounterWithImage) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryEncountersWithImageResponse_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_QueryEncountersWithImageResponse_1_list) NewElement() protoreflect.Value { + v := new(EncounterWithImage) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryEncountersWithImageResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryEncountersWithImageResponse protoreflect.MessageDescriptor + fd_QueryEncountersWithImageResponse_encounters protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryEncountersWithImageResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryEncountersWithImageResponse") + fd_QueryEncountersWithImageResponse_encounters = md_QueryEncountersWithImageResponse.Fields().ByName("encounters") +} + +var _ protoreflect.Message = (*fastReflection_QueryEncountersWithImageResponse)(nil) + +type fastReflection_QueryEncountersWithImageResponse QueryEncountersWithImageResponse + +func (x *QueryEncountersWithImageResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryEncountersWithImageResponse)(x) +} + +func (x *QueryEncountersWithImageResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryEncountersWithImageResponse_messageType fastReflection_QueryEncountersWithImageResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryEncountersWithImageResponse_messageType{} + +type fastReflection_QueryEncountersWithImageResponse_messageType struct{} + +func (x fastReflection_QueryEncountersWithImageResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryEncountersWithImageResponse)(nil) +} +func (x fastReflection_QueryEncountersWithImageResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryEncountersWithImageResponse) +} +func (x fastReflection_QueryEncountersWithImageResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncountersWithImageResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryEncountersWithImageResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryEncountersWithImageResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryEncountersWithImageResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryEncountersWithImageResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryEncountersWithImageResponse) New() protoreflect.Message { + return new(fastReflection_QueryEncountersWithImageResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryEncountersWithImageResponse) Interface() protoreflect.ProtoMessage { + return (*QueryEncountersWithImageResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryEncountersWithImageResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Encounters) != 0 { + value := protoreflect.ValueOfList(&_QueryEncountersWithImageResponse_1_list{list: &x.Encounters}) + if !f(fd_QueryEncountersWithImageResponse_encounters, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryEncountersWithImageResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncountersWithImageResponse.encounters": + return len(x.Encounters) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersWithImageResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersWithImageResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersWithImageResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncountersWithImageResponse.encounters": + x.Encounters = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersWithImageResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersWithImageResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryEncountersWithImageResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryEncountersWithImageResponse.encounters": + if len(x.Encounters) == 0 { + return protoreflect.ValueOfList(&_QueryEncountersWithImageResponse_1_list{}) + } + listValue := &_QueryEncountersWithImageResponse_1_list{list: &x.Encounters} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersWithImageResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersWithImageResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersWithImageResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncountersWithImageResponse.encounters": + lv := value.List() + clv := lv.(*_QueryEncountersWithImageResponse_1_list) + x.Encounters = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersWithImageResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersWithImageResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersWithImageResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncountersWithImageResponse.encounters": + if x.Encounters == nil { + x.Encounters = []*EncounterWithImage{} + } + value := &_QueryEncountersWithImageResponse_1_list{list: &x.Encounters} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersWithImageResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersWithImageResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryEncountersWithImageResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryEncountersWithImageResponse.encounters": + list := []*EncounterWithImage{} + return protoreflect.ValueOfList(&_QueryEncountersWithImageResponse_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncountersWithImageResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryEncountersWithImageResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryEncountersWithImageResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryEncountersWithImageResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryEncountersWithImageResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryEncountersWithImageResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryEncountersWithImageResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryEncountersWithImageResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryEncountersWithImageResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Encounters) > 0 { + for _, e := range x.Encounters { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryEncountersWithImageResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Encounters) > 0 { + for iNdEx := len(x.Encounters) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Encounters[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryEncountersWithImageResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncountersWithImageResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncountersWithImageResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Encounters", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Encounters = append(x.Encounters, &EncounterWithImage{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Encounters[len(x.Encounters)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/query.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// QueryParamsRequest is request type for the Query/Params RPC method. +type QueryParamsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryParamsRequest) Reset() { + *x = QueryParamsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsRequest) ProtoMessage() {} + +// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. +func (*QueryParamsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{0} +} + +// QueryParamsResponse is response type for the Query/Params RPC method. +type QueryParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // params holds all the parameters of this module. + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *QueryParamsResponse) Reset() { + *x = QueryParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsResponse) ProtoMessage() {} + +// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. +func (*QueryParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{1} +} + +func (x *QueryParamsResponse) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +type QueryGetProductDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *QueryGetProductDetailsRequest) Reset() { + *x = QueryGetProductDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetProductDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetProductDetailsRequest) ProtoMessage() {} + +// Deprecated: Use QueryGetProductDetailsRequest.ProtoReflect.Descriptor instead. +func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} +} + +func (x *QueryGetProductDetailsRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type QueryGetProductDetailsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProductDetails *ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` +} + +func (x *QueryGetProductDetailsResponse) Reset() { + *x = QueryGetProductDetailsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetProductDetailsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetProductDetailsResponse) ProtoMessage() {} + +// Deprecated: Use QueryGetProductDetailsResponse.ProtoReflect.Descriptor instead. +func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} +} + +func (x *QueryGetProductDetailsResponse) GetProductDetails() *ProductDetails { + if x != nil { + return x.ProductDetails + } + return nil +} + +type QueryAllProductDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryAllProductDetailsRequest) Reset() { + *x = QueryAllProductDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryAllProductDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryAllProductDetailsRequest) ProtoMessage() {} + +// Deprecated: Use QueryAllProductDetailsRequest.ProtoReflect.Descriptor instead. +func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} +} + +func (x *QueryAllProductDetailsRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { + return x.Pagination + } + return nil } type QueryAllProductDetailsResponse struct { @@ -12396,6 +14886,189 @@ func (x *QueryEncounterResponse) GetEncounter() *Encounter { return nil } +type QueryEncountersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryEncountersRequest) Reset() { + *x = QueryEncountersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEncountersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEncountersRequest) ProtoMessage() {} + +// Deprecated: Use QueryEncountersRequest.ProtoReflect.Descriptor instead. +func (*QueryEncountersRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{24} +} + +type QueryEncountersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Encounters []*Encounter `protobuf:"bytes,1,rep,name=encounters,proto3" json:"encounters,omitempty"` +} + +func (x *QueryEncountersResponse) Reset() { + *x = QueryEncountersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEncountersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEncountersResponse) ProtoMessage() {} + +// Deprecated: Use QueryEncountersResponse.ProtoReflect.Descriptor instead. +func (*QueryEncountersResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{25} +} + +func (x *QueryEncountersResponse) GetEncounters() []*Encounter { + if x != nil { + return x.Encounters + } + return nil +} + +type QueryEncounterWithImageRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryEncounterWithImageRequest) Reset() { + *x = QueryEncounterWithImageRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEncounterWithImageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEncounterWithImageRequest) ProtoMessage() {} + +// Deprecated: Use QueryEncounterWithImageRequest.ProtoReflect.Descriptor instead. +func (*QueryEncounterWithImageRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{26} +} + +type QueryEncounterWithImageResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Encounter *EncounterWithImage `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` +} + +func (x *QueryEncounterWithImageResponse) Reset() { + *x = QueryEncounterWithImageResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEncounterWithImageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEncounterWithImageResponse) ProtoMessage() {} + +// Deprecated: Use QueryEncounterWithImageResponse.ProtoReflect.Descriptor instead. +func (*QueryEncounterWithImageResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{27} +} + +func (x *QueryEncounterWithImageResponse) GetEncounter() *EncounterWithImage { + if x != nil { + return x.Encounter + } + return nil +} + +type QueryEncountersWithImageRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryEncountersWithImageRequest) Reset() { + *x = QueryEncountersWithImageRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEncountersWithImageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEncountersWithImageRequest) ProtoMessage() {} + +// Deprecated: Use QueryEncountersWithImageRequest.ProtoReflect.Descriptor instead. +func (*QueryEncountersWithImageRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{28} +} + +type QueryEncountersWithImageResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Encounters []*EncounterWithImage `protobuf:"bytes,1,rep,name=encounters,proto3" json:"encounters,omitempty"` +} + +func (x *QueryEncountersWithImageResponse) Reset() { + *x = QueryEncountersWithImageResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEncountersWithImageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEncountersWithImageResponse) ProtoMessage() {} + +// Deprecated: Use QueryEncountersWithImageResponse.ProtoReflect.Descriptor instead. +func (*QueryEncountersWithImageResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{29} +} + +func (x *QueryEncountersWithImageResponse) GetEncounters() []*EncounterWithImage { + if x != nil { + return x.Encounters + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -12434,7 +15107,10 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, + 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, @@ -12571,145 +15247,205 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x32, - 0xb2, 0x0f, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, - 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, - 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, - 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, - 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, - 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, - 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, - 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, + 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, 0x17, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x68, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x22, 0x21, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, + 0x32, 0xe9, 0x13, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, + 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, + 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, + 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, - 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, + 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, + 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, + 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, + 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, + 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, + 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, + 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, + 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, + 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, - 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, - 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, - 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, - 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x49, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, - 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, + 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, + 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0xd2, 0x01, 0x0a, + 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -12724,96 +15460,112 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 30) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ - (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest - (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse - (*QueryGetProductDetailsRequest)(nil), // 2: cardchain.cardchain.QueryGetProductDetailsRequest - (*QueryGetProductDetailsResponse)(nil), // 3: cardchain.cardchain.QueryGetProductDetailsResponse - (*QueryAllProductDetailsRequest)(nil), // 4: cardchain.cardchain.QueryAllProductDetailsRequest - (*QueryAllProductDetailsResponse)(nil), // 5: cardchain.cardchain.QueryAllProductDetailsResponse - (*QueryCardRequest)(nil), // 6: cardchain.cardchain.QueryCardRequest - (*QueryCardResponse)(nil), // 7: cardchain.cardchain.QueryCardResponse - (*QueryUserRequest)(nil), // 8: cardchain.cardchain.QueryUserRequest - (*QueryUserResponse)(nil), // 9: cardchain.cardchain.QueryUserResponse - (*QueryCardsRequest)(nil), // 10: cardchain.cardchain.QueryCardsRequest - (*QueryCardsResponse)(nil), // 11: cardchain.cardchain.QueryCardsResponse - (*QueryMatchRequest)(nil), // 12: cardchain.cardchain.QueryMatchRequest - (*QueryMatchResponse)(nil), // 13: cardchain.cardchain.QueryMatchResponse - (*QuerySetRequest)(nil), // 14: cardchain.cardchain.QuerySetRequest - (*QuerySetResponse)(nil), // 15: cardchain.cardchain.QuerySetResponse - (*QuerySellOfferRequest)(nil), // 16: cardchain.cardchain.QuerySellOfferRequest - (*QuerySellOfferResponse)(nil), // 17: cardchain.cardchain.QuerySellOfferResponse - (*QueryCouncilRequest)(nil), // 18: cardchain.cardchain.QueryCouncilRequest - (*QueryCouncilResponse)(nil), // 19: cardchain.cardchain.QueryCouncilResponse - (*QueryServerRequest)(nil), // 20: cardchain.cardchain.QueryServerRequest - (*QueryServerResponse)(nil), // 21: cardchain.cardchain.QueryServerResponse - (*QueryEncounterRequest)(nil), // 22: cardchain.cardchain.QueryEncounterRequest - (*QueryEncounterResponse)(nil), // 23: cardchain.cardchain.QueryEncounterResponse - (*Params)(nil), // 24: cardchain.cardchain.Params - (*ProductDetails)(nil), // 25: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 26: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 27: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 28: cardchain.cardchain.CardWithImage - (*User)(nil), // 29: cardchain.cardchain.User - (CardStatus)(0), // 30: cardchain.cardchain.CardStatus - (CardType)(0), // 31: cardchain.cardchain.CardType - (CardClass)(0), // 32: cardchain.cardchain.CardClass - (CardRarity)(0), // 33: cardchain.cardchain.CardRarity - (*Match)(nil), // 34: cardchain.cardchain.Match - (*SetWithArtwork)(nil), // 35: cardchain.cardchain.SetWithArtwork - (*SellOffer)(nil), // 36: cardchain.cardchain.SellOffer - (*Council)(nil), // 37: cardchain.cardchain.Council - (*Server)(nil), // 38: cardchain.cardchain.Server - (*Encounter)(nil), // 39: cardchain.cardchain.Encounter + (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest + (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse + (*QueryGetProductDetailsRequest)(nil), // 2: cardchain.cardchain.QueryGetProductDetailsRequest + (*QueryGetProductDetailsResponse)(nil), // 3: cardchain.cardchain.QueryGetProductDetailsResponse + (*QueryAllProductDetailsRequest)(nil), // 4: cardchain.cardchain.QueryAllProductDetailsRequest + (*QueryAllProductDetailsResponse)(nil), // 5: cardchain.cardchain.QueryAllProductDetailsResponse + (*QueryCardRequest)(nil), // 6: cardchain.cardchain.QueryCardRequest + (*QueryCardResponse)(nil), // 7: cardchain.cardchain.QueryCardResponse + (*QueryUserRequest)(nil), // 8: cardchain.cardchain.QueryUserRequest + (*QueryUserResponse)(nil), // 9: cardchain.cardchain.QueryUserResponse + (*QueryCardsRequest)(nil), // 10: cardchain.cardchain.QueryCardsRequest + (*QueryCardsResponse)(nil), // 11: cardchain.cardchain.QueryCardsResponse + (*QueryMatchRequest)(nil), // 12: cardchain.cardchain.QueryMatchRequest + (*QueryMatchResponse)(nil), // 13: cardchain.cardchain.QueryMatchResponse + (*QuerySetRequest)(nil), // 14: cardchain.cardchain.QuerySetRequest + (*QuerySetResponse)(nil), // 15: cardchain.cardchain.QuerySetResponse + (*QuerySellOfferRequest)(nil), // 16: cardchain.cardchain.QuerySellOfferRequest + (*QuerySellOfferResponse)(nil), // 17: cardchain.cardchain.QuerySellOfferResponse + (*QueryCouncilRequest)(nil), // 18: cardchain.cardchain.QueryCouncilRequest + (*QueryCouncilResponse)(nil), // 19: cardchain.cardchain.QueryCouncilResponse + (*QueryServerRequest)(nil), // 20: cardchain.cardchain.QueryServerRequest + (*QueryServerResponse)(nil), // 21: cardchain.cardchain.QueryServerResponse + (*QueryEncounterRequest)(nil), // 22: cardchain.cardchain.QueryEncounterRequest + (*QueryEncounterResponse)(nil), // 23: cardchain.cardchain.QueryEncounterResponse + (*QueryEncountersRequest)(nil), // 24: cardchain.cardchain.QueryEncountersRequest + (*QueryEncountersResponse)(nil), // 25: cardchain.cardchain.QueryEncountersResponse + (*QueryEncounterWithImageRequest)(nil), // 26: cardchain.cardchain.QueryEncounterWithImageRequest + (*QueryEncounterWithImageResponse)(nil), // 27: cardchain.cardchain.QueryEncounterWithImageResponse + (*QueryEncountersWithImageRequest)(nil), // 28: cardchain.cardchain.QueryEncountersWithImageRequest + (*QueryEncountersWithImageResponse)(nil), // 29: cardchain.cardchain.QueryEncountersWithImageResponse + (*Params)(nil), // 30: cardchain.cardchain.Params + (*ProductDetails)(nil), // 31: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 32: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 33: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 34: cardchain.cardchain.CardWithImage + (*User)(nil), // 35: cardchain.cardchain.User + (CardStatus)(0), // 36: cardchain.cardchain.CardStatus + (CardType)(0), // 37: cardchain.cardchain.CardType + (CardClass)(0), // 38: cardchain.cardchain.CardClass + (CardRarity)(0), // 39: cardchain.cardchain.CardRarity + (*Match)(nil), // 40: cardchain.cardchain.Match + (*SetWithArtwork)(nil), // 41: cardchain.cardchain.SetWithArtwork + (*SellOffer)(nil), // 42: cardchain.cardchain.SellOffer + (*Council)(nil), // 43: cardchain.cardchain.Council + (*Server)(nil), // 44: cardchain.cardchain.Server + (*Encounter)(nil), // 45: cardchain.cardchain.Encounter + (*EncounterWithImage)(nil), // 46: cardchain.cardchain.EncounterWithImage } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 24, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 25, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 26, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 25, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 27, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 28, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 29, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 30, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus - 31, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType - 32, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass - 33, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity - 34, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match - 35, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork - 36, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer - 37, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council - 38, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server - 39, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter - 0, // 17: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 18: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 19: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 20: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 21: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 22: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 12, // 23: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest - 14, // 24: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest - 16, // 25: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest - 18, // 26: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest - 20, // 27: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest - 22, // 28: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest - 1, // 29: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 30: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 31: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 32: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 33: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 34: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 13, // 35: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse - 15, // 36: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse - 17, // 37: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse - 19, // 38: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse - 21, // 39: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse - 23, // 40: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse - 29, // [29:41] is the sub-list for method output_type - 17, // [17:29] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 17, // [17:17] is the sub-list for extension extendee - 0, // [0:17] is the sub-list for field type_name + 30, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 31, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 32, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 31, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 33, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 34, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 35, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 36, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 37, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 38, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 39, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 40, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match + 41, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork + 42, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer + 43, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council + 44, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server + 45, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter + 45, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter + 46, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage + 46, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage + 0, // 20: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 21: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 22: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 23: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 24: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 10, // 25: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 12, // 26: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest + 14, // 27: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest + 16, // 28: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest + 18, // 29: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest + 20, // 30: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest + 22, // 31: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest + 24, // 32: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest + 26, // 33: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest + 28, // 34: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest + 1, // 35: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 36: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 37: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 38: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 39: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 40: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 13, // 41: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse + 15, // 42: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse + 17, // 43: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse + 19, // 44: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse + 21, // 45: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse + 23, // 46: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse + 25, // 47: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse + 27, // 48: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse + 29, // 49: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse + 35, // [35:50] is the sub-list for method output_type + 20, // [20:35] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -12832,6 +15584,7 @@ func file_cardchain_cardchain_query_proto_init() { file_cardchain_cardchain_council_proto_init() file_cardchain_cardchain_server_proto_init() file_cardchain_cardchain_encounter_proto_init() + file_cardchain_cardchain_encounter_with_image_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsRequest); i { @@ -13121,6 +15874,78 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryEncountersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryEncountersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryEncounterWithImageRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryEncounterWithImageResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryEncountersWithImageRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryEncountersWithImageResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -13128,7 +15953,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 24, + NumMessages: 30, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index a1176b0e..ddf6f16f 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -20,18 +19,21 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - Query_Params_FullMethodName = "/cardchain.cardchain.Query/Params" - Query_ProductDetails_FullMethodName = "/cardchain.cardchain.Query/ProductDetails" - Query_ProductDetailsAll_FullMethodName = "/cardchain.cardchain.Query/ProductDetailsAll" - Query_Card_FullMethodName = "/cardchain.cardchain.Query/Card" - Query_User_FullMethodName = "/cardchain.cardchain.Query/User" - Query_Cards_FullMethodName = "/cardchain.cardchain.Query/Cards" - Query_Match_FullMethodName = "/cardchain.cardchain.Query/Match" - Query_Set_FullMethodName = "/cardchain.cardchain.Query/Set" - Query_SellOffer_FullMethodName = "/cardchain.cardchain.Query/SellOffer" - Query_Council_FullMethodName = "/cardchain.cardchain.Query/Council" - Query_Server_FullMethodName = "/cardchain.cardchain.Query/Server" - Query_Encounter_FullMethodName = "/cardchain.cardchain.Query/Encounter" + Query_Params_FullMethodName = "/cardchain.cardchain.Query/Params" + Query_ProductDetails_FullMethodName = "/cardchain.cardchain.Query/ProductDetails" + Query_ProductDetailsAll_FullMethodName = "/cardchain.cardchain.Query/ProductDetailsAll" + Query_Card_FullMethodName = "/cardchain.cardchain.Query/Card" + Query_User_FullMethodName = "/cardchain.cardchain.Query/User" + Query_Cards_FullMethodName = "/cardchain.cardchain.Query/Cards" + Query_Match_FullMethodName = "/cardchain.cardchain.Query/Match" + Query_Set_FullMethodName = "/cardchain.cardchain.Query/Set" + Query_SellOffer_FullMethodName = "/cardchain.cardchain.Query/SellOffer" + Query_Council_FullMethodName = "/cardchain.cardchain.Query/Council" + Query_Server_FullMethodName = "/cardchain.cardchain.Query/Server" + Query_Encounter_FullMethodName = "/cardchain.cardchain.Query/Encounter" + Query_Encounters_FullMethodName = "/cardchain.cardchain.Query/Encounters" + Query_EncounterWithImage_FullMethodName = "/cardchain.cardchain.Query/EncounterWithImage" + Query_EncountersWithImage_FullMethodName = "/cardchain.cardchain.Query/EncountersWithImage" ) // QueryClient is the client API for Query service. @@ -61,6 +63,12 @@ type QueryClient interface { Server(ctx context.Context, in *QueryServerRequest, opts ...grpc.CallOption) (*QueryServerResponse, error) // Queries a list of Encounter items. Encounter(ctx context.Context, in *QueryEncounterRequest, opts ...grpc.CallOption) (*QueryEncounterResponse, error) + // Queries a list of Encounters items. + Encounters(ctx context.Context, in *QueryEncountersRequest, opts ...grpc.CallOption) (*QueryEncountersResponse, error) + // Queries a list of EncounterWithImage items. + EncounterWithImage(ctx context.Context, in *QueryEncounterWithImageRequest, opts ...grpc.CallOption) (*QueryEncounterWithImageResponse, error) + // Queries a list of EncountersWithImage items. + EncountersWithImage(ctx context.Context, in *QueryEncountersWithImageRequest, opts ...grpc.CallOption) (*QueryEncountersWithImageResponse, error) } type queryClient struct { @@ -179,6 +187,33 @@ func (c *queryClient) Encounter(ctx context.Context, in *QueryEncounterRequest, return out, nil } +func (c *queryClient) Encounters(ctx context.Context, in *QueryEncountersRequest, opts ...grpc.CallOption) (*QueryEncountersResponse, error) { + out := new(QueryEncountersResponse) + err := c.cc.Invoke(ctx, Query_Encounters_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) EncounterWithImage(ctx context.Context, in *QueryEncounterWithImageRequest, opts ...grpc.CallOption) (*QueryEncounterWithImageResponse, error) { + out := new(QueryEncounterWithImageResponse) + err := c.cc.Invoke(ctx, Query_EncounterWithImage_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) EncountersWithImage(ctx context.Context, in *QueryEncountersWithImageRequest, opts ...grpc.CallOption) (*QueryEncountersWithImageResponse, error) { + out := new(QueryEncountersWithImageResponse) + err := c.cc.Invoke(ctx, Query_EncountersWithImage_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -206,6 +241,12 @@ type QueryServer interface { Server(context.Context, *QueryServerRequest) (*QueryServerResponse, error) // Queries a list of Encounter items. Encounter(context.Context, *QueryEncounterRequest) (*QueryEncounterResponse, error) + // Queries a list of Encounters items. + Encounters(context.Context, *QueryEncountersRequest) (*QueryEncountersResponse, error) + // Queries a list of EncounterWithImage items. + EncounterWithImage(context.Context, *QueryEncounterWithImageRequest) (*QueryEncounterWithImageResponse, error) + // Queries a list of EncountersWithImage items. + EncountersWithImage(context.Context, *QueryEncountersWithImageRequest) (*QueryEncountersWithImageResponse, error) mustEmbedUnimplementedQueryServer() } @@ -249,6 +290,15 @@ func (UnimplementedQueryServer) Server(context.Context, *QueryServerRequest) (*Q func (UnimplementedQueryServer) Encounter(context.Context, *QueryEncounterRequest) (*QueryEncounterResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Encounter not implemented") } +func (UnimplementedQueryServer) Encounters(context.Context, *QueryEncountersRequest) (*QueryEncountersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Encounters not implemented") +} +func (UnimplementedQueryServer) EncounterWithImage(context.Context, *QueryEncounterWithImageRequest) (*QueryEncounterWithImageResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncounterWithImage not implemented") +} +func (UnimplementedQueryServer) EncountersWithImage(context.Context, *QueryEncountersWithImageRequest) (*QueryEncountersWithImageResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncountersWithImage not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -478,6 +528,60 @@ func _Query_Encounter_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +func _Query_Encounters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryEncountersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Encounters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Encounters_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Encounters(ctx, req.(*QueryEncountersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_EncounterWithImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryEncounterWithImageRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).EncounterWithImage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_EncounterWithImage_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).EncounterWithImage(ctx, req.(*QueryEncounterWithImageRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_EncountersWithImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryEncountersWithImageRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).EncountersWithImage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_EncountersWithImage_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).EncountersWithImage(ctx, req.(*QueryEncountersWithImageRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -533,6 +637,18 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Encounter", Handler: _Query_Encounter_Handler, }, + { + MethodName: "Encounters", + Handler: _Query_Encounters_Handler, + }, + { + MethodName: "EncounterWithImage", + Handler: _Query_EncounterWithImage_Handler, + }, + { + MethodName: "EncountersWithImage", + Handler: _Query_EncountersWithImage_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/api/cardchain/cardchain/running_average.pulsar.go b/api/cardchain/cardchain/running_average.pulsar.go index 48c3ca74..9cff2c1b 100644 --- a/api/cardchain/cardchain/running_average.pulsar.go +++ b/api/cardchain/cardchain/running_average.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_RunningAverage_1_list)(nil) diff --git a/api/cardchain/cardchain/sell_offer.pulsar.go b/api/cardchain/cardchain/sell_offer.pulsar.go index 5f5fb235..55fde4b3 100644 --- a/api/cardchain/cardchain/sell_offer.pulsar.go +++ b/api/cardchain/cardchain/sell_offer.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/server.pulsar.go b/api/cardchain/cardchain/server.pulsar.go index 25cbab32..e8d66d38 100644 --- a/api/cardchain/cardchain/server.pulsar.go +++ b/api/cardchain/cardchain/server.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go index 984c3c6d..bd4a42db 100644 --- a/api/cardchain/cardchain/set.pulsar.go +++ b/api/cardchain/cardchain/set.pulsar.go @@ -2,16 +2,15 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Set_2_list)(nil) diff --git a/api/cardchain/cardchain/set_with_artwork.pulsar.go b/api/cardchain/cardchain/set_with_artwork.pulsar.go index 15c9094d..2de6c3ae 100644 --- a/api/cardchain/cardchain/set_with_artwork.pulsar.go +++ b/api/cardchain/cardchain/set_with_artwork.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index 3617fc13..ac894ab3 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,21 +2,20 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 51db3503..3dd8f52f 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/user.pulsar.go b/api/cardchain/cardchain/user.pulsar.go index a6f11922..c0c7e0ad 100644 --- a/api/cardchain/cardchain/user.pulsar.go +++ b/api/cardchain/cardchain/user.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_User_2_list)(nil) diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go index bf614c4f..2a02aa7e 100644 --- a/api/cardchain/cardchain/voting.pulsar.go +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_VotingResults_6_list)(nil) diff --git a/api/cardchain/cardchain/zealy.pulsar.go b/api/cardchain/cardchain/zealy.pulsar.go index 7879a400..8dedd508 100644 --- a/api/cardchain/cardchain/zealy.pulsar.go +++ b/api/cardchain/cardchain/zealy.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/flag.pulsar.go b/api/cardchain/featureflag/flag.pulsar.go index 932ce355..10b5e452 100644 --- a/api/cardchain/featureflag/flag.pulsar.go +++ b/api/cardchain/featureflag/flag.pulsar.go @@ -3,14 +3,13 @@ package featureflag import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/genesis.pulsar.go b/api/cardchain/featureflag/genesis.pulsar.go index ddfe3040..2c435bb2 100644 --- a/api/cardchain/featureflag/genesis.pulsar.go +++ b/api/cardchain/featureflag/genesis.pulsar.go @@ -2,18 +2,17 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var _ protoreflect.Map = (*_GenesisState_2_map)(nil) diff --git a/api/cardchain/featureflag/module/module.pulsar.go b/api/cardchain/featureflag/module/module.pulsar.go index 5650e208..947efc3f 100644 --- a/api/cardchain/featureflag/module/module.pulsar.go +++ b/api/cardchain/featureflag/module/module.pulsar.go @@ -2,16 +2,15 @@ package module import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/params.pulsar.go b/api/cardchain/featureflag/params.pulsar.go index 6b347b45..fb51fec2 100644 --- a/api/cardchain/featureflag/params.pulsar.go +++ b/api/cardchain/featureflag/params.pulsar.go @@ -2,17 +2,16 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query.pulsar.go b/api/cardchain/featureflag/query.pulsar.go index 1e62212d..3419d3a4 100644 --- a/api/cardchain/featureflag/query.pulsar.go +++ b/api/cardchain/featureflag/query.pulsar.go @@ -2,19 +2,18 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query_grpc.pb.go b/api/cardchain/featureflag/query_grpc.pb.go index 0e8130e8..f7957337 100644 --- a/api/cardchain/featureflag/query_grpc.pb.go +++ b/api/cardchain/featureflag/query_grpc.pb.go @@ -8,7 +8,6 @@ package featureflag import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/featureflag/tx.pulsar.go b/api/cardchain/featureflag/tx.pulsar.go index dd3db629..0cef5f49 100644 --- a/api/cardchain/featureflag/tx.pulsar.go +++ b/api/cardchain/featureflag/tx.pulsar.go @@ -2,19 +2,18 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/tx_grpc.pb.go b/api/cardchain/featureflag/tx_grpc.pb.go index 9d8cbe66..95442cac 100644 --- a/api/cardchain/featureflag/tx_grpc.pb.go +++ b/api/cardchain/featureflag/tx_grpc.pb.go @@ -8,7 +8,6 @@ package featureflag import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 601372b3..a209a22b 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin22","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin23","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin23","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin24","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"string"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index 1046d3cf..41e25d60 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -10,4 +10,7 @@ set -o pipefail #ignite scaffold query sellOffer sellOfferId:uint --response sellOffer:SellOffer #ignite scaffold query council councilId:uint --response council:Council #ignite scaffold query server serverId:uint --response server:Server -ignite scaffold query encounter encounterId:uint --response encounter:Encounter +#ignite scaffold query encounter encounterId:uint --response encounter:Encounter +# ignite scaffold query encounters --response encounters +ignite scaffold query encounterWithImage --response encounter:EncounterWithImage +ignite scaffold query encountersWithImage --response encounters diff --git a/proto/cardchain/cardchain/encounter.proto b/proto/cardchain/cardchain/encounter.proto index 8d2016ce..7d09b1d5 100644 --- a/proto/cardchain/cardchain/encounter.proto +++ b/proto/cardchain/cardchain/encounter.proto @@ -14,8 +14,3 @@ message Encounter { uint64 imageId = 6; string name = 7; } - -message EncounterWithImage { - Encounter encounter = 1; - bytes image = 2; -} diff --git a/proto/cardchain/cardchain/encounter_with_image.proto b/proto/cardchain/cardchain/encounter_with_image.proto new file mode 100644 index 00000000..35c52c18 --- /dev/null +++ b/proto/cardchain/cardchain/encounter_with_image.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package cardchain.cardchain; + +import "gogoproto/gogo.proto"; +import "cardchain/cardchain/encounter.proto"; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message EncounterWithImage { + Encounter encounter = 1; + bytes image = 2; +} diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index deb64e44..9b069d70 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -17,80 +17,103 @@ import "cardchain/cardchain/sell_offer.proto"; import "cardchain/cardchain/council.proto"; import "cardchain/cardchain/server.proto"; import "cardchain/cardchain/encounter.proto"; +import "cardchain/cardchain/encounter_with_image.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/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/cardchain/params"; - + rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/params"; } - + // Queries a list of ProductDetails items. - rpc ProductDetails (QueryGetProductDetailsRequest) returns (QueryGetProductDetailsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; - + rpc ProductDetails(QueryGetProductDetailsRequest) + returns (QueryGetProductDetailsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; } - rpc ProductDetailsAll (QueryAllProductDetailsRequest) returns (QueryAllProductDetailsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details"; - + rpc ProductDetailsAll(QueryAllProductDetailsRequest) + returns (QueryAllProductDetailsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/product_details"; } - + // Queries a list of Card items. - rpc Card (QueryCardRequest) returns (QueryCardResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; - + rpc Card(QueryCardRequest) returns (QueryCardResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; } - + // Queries a list of User items. - rpc User (QueryUserRequest) returns (QueryUserResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/user/{address}"; - + rpc User(QueryUserRequest) returns (QueryUserResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/user/{address}"; } - + // Queries a list of Cards items. - rpc Cards (QueryCardsRequest) returns (QueryCardsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; - + rpc Cards(QueryCardsRequest) returns (QueryCardsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; } - + // Queries a list of Match items. - rpc Match (QueryMatchRequest) returns (QueryMatchResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/match/{matchId}"; - + rpc Match(QueryMatchRequest) returns (QueryMatchResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/match/{matchId}"; } - + // Queries a list of Set items. - rpc Set (QuerySetRequest) returns (QuerySetResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/set/{setId}"; - + rpc Set(QuerySetRequest) returns (QuerySetResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/set/{setId}"; } - + // Queries a list of SellOffer items. - rpc SellOffer (QuerySellOfferRequest) returns (QuerySellOfferResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}"; - + rpc SellOffer(QuerySellOfferRequest) returns (QuerySellOfferResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}"; } - + // Queries a list of Council items. - rpc Council (QueryCouncilRequest) returns (QueryCouncilResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/council/{councilId}"; - + rpc Council(QueryCouncilRequest) returns (QueryCouncilResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/council/{councilId}"; } - + // Queries a list of Server items. - rpc Server (QueryServerRequest) returns (QueryServerResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/server/{serverId}"; - + rpc Server(QueryServerRequest) returns (QueryServerResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/server/{serverId}"; } - + // Queries a list of Encounter items. - rpc Encounter (QueryEncounterRequest) returns (QueryEncounterResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}"; - + rpc Encounter(QueryEncounterRequest) returns (QueryEncounterResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}"; + } + + // Queries a list of Encounters items. + rpc Encounters(QueryEncountersRequest) returns (QueryEncountersResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/encounters"; + } + + // Queries a list of EncounterWithImage items. + rpc EncounterWithImage(QueryEncounterWithImageRequest) + returns (QueryEncounterWithImageResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/encounter_with_image"; + } + + // Queries a list of EncountersWithImage items. + rpc EncountersWithImage(QueryEncountersWithImageRequest) + returns (QueryEncountersWithImageResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/encounters_with_image"; } } // QueryParamsRequest is request type for the Query/Params RPC method. @@ -98,17 +121,16 @@ 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, (amino.dont_omitempty) = true]; + Params params = 1 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; } -message QueryGetProductDetailsRequest { - uint64 id = 1; -} +message QueryGetProductDetailsRequest { uint64 id = 1; } message QueryGetProductDetailsResponse { - ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; + ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; } message QueryAllProductDetailsRequest { @@ -116,90 +138,69 @@ message QueryAllProductDetailsRequest { } message QueryAllProductDetailsResponse { - repeated ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; - cosmos.base.query.v1beta1.PageResponse pagination = 2; + repeated ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; + cosmos.base.query.v1beta1.PageResponse pagination = 2; } -message QueryCardRequest { - uint64 cardId = 1; -} +message QueryCardRequest { uint64 cardId = 1; } -message QueryCardResponse { - CardWithImage card = 1; -} +message QueryCardResponse { CardWithImage card = 1; } -message QueryUserRequest { - string address = 1; -} +message QueryUserRequest { string address = 1; } -message QueryUserResponse { - User user = 1; -} +message QueryUserResponse { User user = 1; } message QueryCardsRequest { - string owner = 1; - repeated CardStatus status = 2; - repeated CardType cardType = 3; - repeated CardClass class = 4; - string sortBy = 5; - string nameContains = 6; - string keywordsContains = 7; - string notesContains = 8; - bool onlyStarterCard = 9; - bool onlyBalanceAnchors = 10; - repeated CardRarity rarities = 11; - bool multiClassOnly = 12; + string owner = 1; + repeated CardStatus status = 2; + repeated CardType cardType = 3; + repeated CardClass class = 4; + string sortBy = 5; + string nameContains = 6; + string keywordsContains = 7; + string notesContains = 8; + bool onlyStarterCard = 9; + bool onlyBalanceAnchors = 10; + repeated CardRarity rarities = 11; + bool multiClassOnly = 12; } -message QueryCardsResponse { - repeated uint64 cardIds = 1; -} +message QueryCardsResponse { repeated uint64 cardIds = 1; } -message QueryMatchRequest { - uint64 matchId = 1; -} +message QueryMatchRequest { uint64 matchId = 1; } -message QueryMatchResponse { - Match match = 1; -} +message QueryMatchResponse { Match match = 1; } -message QuerySetRequest { - uint64 setId = 1; -} +message QuerySetRequest { uint64 setId = 1; } -message QuerySetResponse { - SetWithArtwork match = 1; -} +message QuerySetResponse { SetWithArtwork match = 1; } -message QuerySellOfferRequest { - uint64 sellOfferId = 1; -} +message QuerySellOfferRequest { uint64 sellOfferId = 1; } -message QuerySellOfferResponse { - SellOffer sellOffer = 1; -} +message QuerySellOfferResponse { SellOffer sellOffer = 1; } -message QueryCouncilRequest { - uint64 councilId = 1; -} +message QueryCouncilRequest { uint64 councilId = 1; } -message QueryCouncilResponse { - Council council = 1; -} +message QueryCouncilResponse { Council council = 1; } -message QueryServerRequest { - uint64 serverId = 1; -} +message QueryServerRequest { uint64 serverId = 1; } -message QueryServerResponse { - Server server = 1; -} +message QueryServerResponse { Server server = 1; } -message QueryEncounterRequest { - uint64 encounterId = 1; -} +message QueryEncounterRequest { uint64 encounterId = 1; } -message QueryEncounterResponse { - Encounter encounter = 1; -} +message QueryEncounterResponse { Encounter encounter = 1; } + +message QueryEncountersRequest {} +message QueryEncountersResponse { repeated Encounter encounters = 1; } + +message QueryEncounterWithImageRequest {} + +message QueryEncounterWithImageResponse { EncounterWithImage encounter = 1; } + +message QueryEncountersWithImageRequest {} + +message QueryEncountersWithImageResponse { + repeated EncounterWithImage encounters = 1; +} diff --git a/x/cardchain/keeper/query_encounter_with_image.go b/x/cardchain/keeper/query_encounter_with_image.go new file mode 100644 index 00000000..fbb2ef67 --- /dev/null +++ b/x/cardchain/keeper/query_encounter_with_image.go @@ -0,0 +1,23 @@ +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) EncounterWithImage(goCtx context.Context, req *types.QueryEncounterWithImageRequest) (*types.QueryEncounterWithImageResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryEncounterWithImageResponse{}, nil +} diff --git a/x/cardchain/keeper/query_encounters.go b/x/cardchain/keeper/query_encounters.go new file mode 100644 index 00000000..447e1bd7 --- /dev/null +++ b/x/cardchain/keeper/query_encounters.go @@ -0,0 +1,23 @@ +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) Encounters(goCtx context.Context, req *types.QueryEncountersRequest) (*types.QueryEncountersResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryEncountersResponse{}, nil +} diff --git a/x/cardchain/keeper/query_encounters_with_image.go b/x/cardchain/keeper/query_encounters_with_image.go new file mode 100644 index 00000000..8476213a --- /dev/null +++ b/x/cardchain/keeper/query_encounters_with_image.go @@ -0,0 +1,23 @@ +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) EncountersWithImage(goCtx context.Context, req *types.QueryEncountersWithImageRequest) (*types.QueryEncountersWithImageResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryEncountersWithImageResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 36dfdf14..375ade85 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -91,6 +91,27 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "encounterId"}}, }, + { + RpcMethod: "Encounters", + Use: "encounters", + Short: "Query encounters", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{}, + }, + + { + RpcMethod: "EncounterWithImage", + Use: "encounter-with-image", + Short: "Query encounterWithImage", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{}, + }, + + { + RpcMethod: "EncountersWithImage", + Use: "encounters-with-image", + Short: "Query encountersWithImage", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go index bf541854..e0cd33af 100644 --- a/x/cardchain/types/card.pb.go +++ b/x/cardchain/types/card.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/card_with_image.pb.go b/x/cardchain/types/card_with_image.pb.go index cccc278d..39e731f0 100644 --- a/x/cardchain/types/card_with_image.pb.go +++ b/x/cardchain/types/card_with_image.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/council.pb.go b/x/cardchain/types/council.pb.go index 1bbdfc01..a6f6f6d7 100644 --- a/x/cardchain/types/council.pb.go +++ b/x/cardchain/types/council.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/encounter.pb.go b/x/cardchain/types/encounter.pb.go index 0f2e0d18..1eff5df8 100644 --- a/x/cardchain/types/encounter.pb.go +++ b/x/cardchain/types/encounter.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. @@ -116,62 +115,9 @@ func (m *Encounter) GetName() string { return "" } -type EncounterWithImage struct { - Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` - Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` -} - -func (m *EncounterWithImage) Reset() { *m = EncounterWithImage{} } -func (m *EncounterWithImage) String() string { return proto.CompactTextString(m) } -func (*EncounterWithImage) ProtoMessage() {} -func (*EncounterWithImage) Descriptor() ([]byte, []int) { - return fileDescriptor_d1555abf6f7ee418, []int{1} -} -func (m *EncounterWithImage) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *EncounterWithImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_EncounterWithImage.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 *EncounterWithImage) XXX_Merge(src proto.Message) { - xxx_messageInfo_EncounterWithImage.Merge(m, src) -} -func (m *EncounterWithImage) XXX_Size() int { - return m.Size() -} -func (m *EncounterWithImage) XXX_DiscardUnknown() { - xxx_messageInfo_EncounterWithImage.DiscardUnknown(m) -} - -var xxx_messageInfo_EncounterWithImage proto.InternalMessageInfo - -func (m *EncounterWithImage) GetEncounter() *Encounter { - if m != nil { - return m.Encounter - } - return nil -} - -func (m *EncounterWithImage) GetImage() []byte { - if m != nil { - return m.Image - } - return nil -} - func init() { proto.RegisterType((*Encounter)(nil), "cardchain.cardchain.Encounter") proto.RegisterMapType((map[string]string)(nil), "cardchain.cardchain.Encounter.ParametersEntry") - proto.RegisterType((*EncounterWithImage)(nil), "cardchain.cardchain.EncounterWithImage") } func init() { @@ -179,30 +125,28 @@ func init() { } var fileDescriptor_d1555abf6f7ee418 = []byte{ - // 362 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xbf, 0x4e, 0xf3, 0x30, - 0x14, 0xc5, 0xeb, 0x24, 0xfd, 0x13, 0xf7, 0xd3, 0x07, 0x32, 0x15, 0xb2, 0x3a, 0x44, 0x51, 0x59, - 0x32, 0xa5, 0x52, 0x59, 0x2a, 0x04, 0x0b, 0x50, 0xa1, 0x2e, 0x08, 0x79, 0x41, 0x62, 0x73, 0x13, - 0x2b, 0x89, 0x68, 0xec, 0xc8, 0x75, 0x5b, 0xfa, 0x16, 0x3c, 0x03, 0x4f, 0xc3, 0xd8, 0x91, 0x11, - 0xb5, 0x2f, 0x82, 0xe2, 0x50, 0xb7, 0x42, 0x88, 0xed, 0x1c, 0x5d, 0xdf, 0x7b, 0x7e, 0xd7, 0x36, - 0x3c, 0x8b, 0xa8, 0x8c, 0xa3, 0x94, 0x66, 0xbc, 0xbf, 0x57, 0x8c, 0x47, 0x62, 0xce, 0x15, 0x93, - 0x61, 0x21, 0x85, 0x12, 0xe8, 0xc4, 0x94, 0x42, 0xa3, 0xba, 0x9d, 0x44, 0x24, 0x42, 0xd7, 0xfb, - 0xa5, 0xaa, 0x8e, 0xf6, 0xde, 0x2c, 0xe8, 0x8e, 0x76, 0xed, 0xe8, 0x3f, 0xb4, 0xb2, 0x18, 0x03, - 0x1f, 0x04, 0x0e, 0xb1, 0xb2, 0x18, 0x75, 0x61, 0x2b, 0x96, 0x74, 0x39, 0xcd, 0x66, 0x0a, 0x5b, - 0xbe, 0x1d, 0x38, 0xc4, 0x78, 0x74, 0x0a, 0x1b, 0x85, 0x14, 0x0b, 0xc6, 0xb1, 0xed, 0x83, 0xa0, - 0x45, 0xbe, 0x1d, 0xea, 0xc0, 0xba, 0x58, 0x72, 0x26, 0xb1, 0xe3, 0x83, 0xc0, 0x25, 0x95, 0x41, - 0xf7, 0x10, 0x16, 0x54, 0xd2, 0x9c, 0x29, 0x26, 0x67, 0xb8, 0xee, 0xdb, 0x41, 0x7b, 0x10, 0x86, - 0xbf, 0x70, 0x86, 0x86, 0x26, 0x7c, 0x30, 0x0d, 0x23, 0xae, 0xe4, 0x8a, 0x1c, 0x4c, 0x40, 0x18, - 0x36, 0xb3, 0x9c, 0x26, 0x6c, 0x1c, 0xe3, 0x86, 0xc6, 0xdd, 0x59, 0x84, 0xa0, 0xc3, 0x69, 0xce, - 0x70, 0x53, 0xc7, 0x6b, 0xdd, 0xbd, 0x82, 0x47, 0x3f, 0x86, 0xa1, 0x63, 0x68, 0x3f, 0xb3, 0x95, - 0xde, 0xd5, 0x25, 0xa5, 0x2c, 0xc1, 0x17, 0x74, 0x3a, 0x67, 0xd8, 0xaa, 0xc0, 0xb5, 0xb9, 0xb0, - 0x86, 0xa0, 0x97, 0x42, 0x64, 0xa8, 0x1e, 0x33, 0x95, 0x8e, 0xcb, 0x28, 0x74, 0x09, 0x5d, 0x73, - 0xf1, 0x7a, 0x4e, 0x7b, 0xe0, 0xfd, 0xbd, 0x11, 0xd9, 0x37, 0x94, 0x69, 0x9a, 0x58, 0xa7, 0xfd, - 0x23, 0x95, 0xb9, 0x26, 0xef, 0x1b, 0x0f, 0xac, 0x37, 0x1e, 0xf8, 0xdc, 0x78, 0xe0, 0x75, 0xeb, - 0xd5, 0xd6, 0x5b, 0xaf, 0xf6, 0xb1, 0xf5, 0x6a, 0x4f, 0xc3, 0x24, 0x53, 0xe9, 0x7c, 0x12, 0x46, - 0x22, 0xef, 0xdf, 0xb2, 0x88, 0x71, 0x25, 0xe9, 0xf4, 0x86, 0xca, 0xf8, 0x8e, 0xe6, 0xec, 0xe0, - 0x2f, 0xbc, 0x1c, 0x68, 0xb5, 0x2a, 0xd8, 0x6c, 0xd2, 0xd0, 0x2f, 0x7d, 0xfe, 0x15, 0x00, 0x00, - 0xff, 0xff, 0xc7, 0x31, 0xc4, 0xfa, 0x3b, 0x02, 0x00, 0x00, + // 323 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0xcf, 0x4a, 0x03, 0x31, + 0x10, 0x87, 0x9b, 0xdd, 0xed, 0xbf, 0x11, 0x54, 0x62, 0x91, 0xd0, 0xc3, 0xb2, 0xe8, 0x65, 0x4f, + 0x29, 0xe8, 0xa5, 0x08, 0x5e, 0xd4, 0x22, 0x5e, 0x44, 0x72, 0xf4, 0x96, 0xee, 0x0e, 0xdb, 0xc5, + 0x6e, 0xb2, 0xa4, 0x69, 0x6b, 0xdf, 0xc2, 0x67, 0xf0, 0x69, 0x3c, 0xf6, 0xe8, 0x51, 0xda, 0x17, + 0x91, 0xa6, 0x76, 0x2d, 0xe2, 0xed, 0xfb, 0x31, 0x99, 0xc9, 0x97, 0x0c, 0x9c, 0x27, 0xd2, 0xa4, + 0xc9, 0x48, 0xe6, 0xaa, 0xf7, 0x4b, 0xa8, 0x12, 0x3d, 0x55, 0x16, 0x0d, 0x2f, 0x8d, 0xb6, 0x9a, + 0x9e, 0x54, 0x25, 0x5e, 0x51, 0xb7, 0x93, 0xe9, 0x4c, 0xbb, 0x7a, 0x6f, 0x43, 0xdb, 0xa3, 0x67, + 0xef, 0x1e, 0xb4, 0x07, 0xbb, 0x76, 0x7a, 0x08, 0x5e, 0x9e, 0x32, 0x12, 0x91, 0x38, 0x10, 0x5e, + 0x9e, 0xd2, 0x2e, 0xb4, 0x52, 0x23, 0xe7, 0xe3, 0x7c, 0x62, 0x99, 0x17, 0xf9, 0x71, 0x20, 0xaa, + 0x4c, 0x4f, 0xa1, 0x51, 0x1a, 0x3d, 0x43, 0xc5, 0xfc, 0x88, 0xc4, 0x2d, 0xf1, 0x93, 0x68, 0x07, + 0xea, 0x7a, 0xae, 0xd0, 0xb0, 0x20, 0x22, 0x71, 0x5b, 0x6c, 0x03, 0x7d, 0x04, 0x28, 0xa5, 0x91, + 0x05, 0x5a, 0x34, 0x13, 0x56, 0x8f, 0xfc, 0xf8, 0xe0, 0x82, 0xf3, 0x7f, 0x3c, 0x79, 0x65, 0xc3, + 0x9f, 0xaa, 0x86, 0x81, 0xb2, 0x66, 0x21, 0xf6, 0x26, 0x50, 0x06, 0xcd, 0xbc, 0x90, 0x19, 0x3e, + 0xa4, 0xac, 0xe1, 0x74, 0x77, 0x91, 0x52, 0x08, 0x94, 0x2c, 0x90, 0x35, 0xdd, 0xf5, 0x8e, 0xbb, + 0xd7, 0x70, 0xf4, 0x67, 0x18, 0x3d, 0x06, 0xff, 0x05, 0x17, 0xee, 0xad, 0x6d, 0xb1, 0xc1, 0x8d, + 0xf8, 0x4c, 0x8e, 0xa7, 0xc8, 0xbc, 0xad, 0xb8, 0x0b, 0x57, 0x5e, 0x9f, 0xdc, 0x88, 0x8f, 0x55, + 0x48, 0x96, 0xab, 0x90, 0x7c, 0xad, 0x42, 0xf2, 0xb6, 0x0e, 0x6b, 0xcb, 0x75, 0x58, 0xfb, 0x5c, + 0x87, 0xb5, 0xe7, 0x7e, 0x96, 0xdb, 0xd1, 0x74, 0xc8, 0x13, 0x5d, 0xf4, 0xee, 0x30, 0x41, 0x65, + 0x8d, 0x1c, 0xdf, 0x4a, 0x93, 0xde, 0xcb, 0x02, 0xf7, 0x36, 0xf4, 0xba, 0xc7, 0x76, 0x51, 0xe2, + 0x64, 0xd8, 0x70, 0xff, 0x7f, 0xf9, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x4e, 0xda, 0x8b, 0x18, 0xd1, + 0x01, 0x00, 0x00, } func (m *Encounter) Marshal() (dAtA []byte, err error) { @@ -299,48 +243,6 @@ func (m *Encounter) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *EncounterWithImage) 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 *EncounterWithImage) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *EncounterWithImage) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Image) > 0 { - i -= len(m.Image) - copy(dAtA[i:], m.Image) - i = encodeVarintEncounter(dAtA, i, uint64(len(m.Image))) - i-- - dAtA[i] = 0x12 - } - if m.Encounter != nil { - { - size, err := m.Encounter.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEncounter(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - func encodeVarintEncounter(dAtA []byte, offset int, v uint64) int { offset -= sovEncounter(v) base := offset @@ -393,23 +295,6 @@ func (m *Encounter) Size() (n int) { return n } -func (m *EncounterWithImage) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Encounter != nil { - l = m.Encounter.Size() - n += 1 + l + sovEncounter(uint64(l)) - } - l = len(m.Image) - if l > 0 { - n += 1 + l + sovEncounter(uint64(l)) - } - return n -} - func sovEncounter(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -791,126 +676,6 @@ func (m *Encounter) Unmarshal(dAtA []byte) error { } return nil } -func (m *EncounterWithImage) 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 ErrIntOverflowEncounter - } - 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: EncounterWithImage: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: EncounterWithImage: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Encounter", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounter - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEncounter - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEncounter - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Encounter == nil { - m.Encounter = &Encounter{} - } - if err := m.Encounter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEncounter - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthEncounter - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthEncounter - } - 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 := skipEncounter(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthEncounter - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func skipEncounter(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/encounter_with_image.pb.go b/x/cardchain/types/encounter_with_image.pb.go new file mode 100644 index 00000000..8e33d62b --- /dev/null +++ b/x/cardchain/types/encounter_with_image.pb.go @@ -0,0 +1,383 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/encounter_with_image.proto + +package types + +import ( + fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/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 EncounterWithImage struct { + Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` + Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` +} + +func (m *EncounterWithImage) Reset() { *m = EncounterWithImage{} } +func (m *EncounterWithImage) String() string { return proto.CompactTextString(m) } +func (*EncounterWithImage) ProtoMessage() {} +func (*EncounterWithImage) Descriptor() ([]byte, []int) { + return fileDescriptor_7885039e5cdeedd4, []int{0} +} +func (m *EncounterWithImage) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EncounterWithImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EncounterWithImage.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 *EncounterWithImage) XXX_Merge(src proto.Message) { + xxx_messageInfo_EncounterWithImage.Merge(m, src) +} +func (m *EncounterWithImage) XXX_Size() int { + return m.Size() +} +func (m *EncounterWithImage) XXX_DiscardUnknown() { + xxx_messageInfo_EncounterWithImage.DiscardUnknown(m) +} + +var xxx_messageInfo_EncounterWithImage proto.InternalMessageInfo + +func (m *EncounterWithImage) GetEncounter() *Encounter { + if m != nil { + return m.Encounter + } + return nil +} + +func (m *EncounterWithImage) GetImage() []byte { + if m != nil { + return m.Image + } + return nil +} + +func init() { + proto.RegisterType((*EncounterWithImage)(nil), "cardchain.cardchain.EncounterWithImage") +} + +func init() { + proto.RegisterFile("cardchain/cardchain/encounter_with_image.proto", fileDescriptor_7885039e5cdeedd4) +} + +var fileDescriptor_7885039e5cdeedd4 = []byte{ + // 214 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4b, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x52, 0xf3, 0x92, 0xf3, 0x4b, 0xf3, 0x4a, 0x52, + 0x8b, 0xe2, 0xcb, 0x33, 0x4b, 0x32, 0xe2, 0x33, 0x73, 0x13, 0xd3, 0x53, 0xf5, 0x0a, 0x8a, 0xf2, + 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xaa, 0x10, 0x3a, 0xa5, 0x44, 0xd2, 0xf3, 0xd3, 0xf3, 0xc1, 0xf2, + 0xfa, 0x20, 0x16, 0x44, 0xa9, 0x94, 0x32, 0x5e, 0xa3, 0x21, 0x8a, 0x94, 0x32, 0xb8, 0x84, 0x5c, + 0x61, 0x42, 0xe1, 0x99, 0x25, 0x19, 0x9e, 0x20, 0xbb, 0x84, 0x6c, 0xb8, 0x38, 0xe1, 0x0a, 0x25, + 0x18, 0x15, 0x18, 0x35, 0xb8, 0x8d, 0xe4, 0xf4, 0xb0, 0xd8, 0xac, 0x07, 0xd7, 0x1b, 0x84, 0xd0, + 0x20, 0x24, 0xc2, 0xc5, 0x0a, 0x76, 0xb2, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x4f, 0x10, 0x84, 0xe3, + 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, 0x2e, 0xa9, 0xc9, 0xa9, 0x79, 0x25, 0x45, 0x89, + 0x39, 0xce, 0x89, 0x45, 0x29, 0xee, 0x89, 0xb9, 0xa9, 0x48, 0x6e, 0xaf, 0x40, 0x62, 0x97, 0x54, + 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, 0x3d, 0x61, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x93, 0x54, + 0xcb, 0x2a, 0x46, 0x01, 0x00, 0x00, +} + +func (m *EncounterWithImage) 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 *EncounterWithImage) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EncounterWithImage) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Image) > 0 { + i -= len(m.Image) + copy(dAtA[i:], m.Image) + i = encodeVarintEncounterWithImage(dAtA, i, uint64(len(m.Image))) + i-- + dAtA[i] = 0x12 + } + if m.Encounter != nil { + { + size, err := m.Encounter.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEncounterWithImage(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintEncounterWithImage(dAtA []byte, offset int, v uint64) int { + offset -= sovEncounterWithImage(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *EncounterWithImage) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Encounter != nil { + l = m.Encounter.Size() + n += 1 + l + sovEncounterWithImage(uint64(l)) + } + l = len(m.Image) + if l > 0 { + n += 1 + l + sovEncounterWithImage(uint64(l)) + } + return n +} + +func sovEncounterWithImage(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozEncounterWithImage(x uint64) (n int) { + return sovEncounterWithImage(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *EncounterWithImage) 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 ErrIntOverflowEncounterWithImage + } + 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: EncounterWithImage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EncounterWithImage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Encounter", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounterWithImage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEncounterWithImage + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEncounterWithImage + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Encounter == nil { + m.Encounter = &Encounter{} + } + if err := m.Encounter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEncounterWithImage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthEncounterWithImage + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthEncounterWithImage + } + 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 := skipEncounterWithImage(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEncounterWithImage + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipEncounterWithImage(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, ErrIntOverflowEncounterWithImage + } + 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, ErrIntOverflowEncounterWithImage + } + 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, ErrIntOverflowEncounterWithImage + } + 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, ErrInvalidLengthEncounterWithImage + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupEncounterWithImage + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthEncounterWithImage + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthEncounterWithImage = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowEncounterWithImage = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupEncounterWithImage = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 636f7c25..4306f207 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/image.pb.go b/x/cardchain/types/image.pb.go index a2a036be..a4fe2647 100644 --- a/x/cardchain/types/image.pb.go +++ b/x/cardchain/types/image.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 660c57d2..7ac97cf8 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index 2874c6ce..d9081e8f 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,14 +5,13 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/product_details.pb.go b/x/cardchain/types/product_details.pb.go index 6f38ca9c..11fdabcb 100644 --- a/x/cardchain/types/product_details.pb.go +++ b/x/cardchain/types/product_details.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index ec73b79c..81d3deff 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -19,6 +15,9 @@ import ( 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. @@ -1179,6 +1178,246 @@ func (m *QueryEncounterResponse) GetEncounter() *Encounter { return nil } +type QueryEncountersRequest struct { +} + +func (m *QueryEncountersRequest) Reset() { *m = QueryEncountersRequest{} } +func (m *QueryEncountersRequest) String() string { return proto.CompactTextString(m) } +func (*QueryEncountersRequest) ProtoMessage() {} +func (*QueryEncountersRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{24} +} +func (m *QueryEncountersRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryEncountersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryEncountersRequest.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 *QueryEncountersRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryEncountersRequest.Merge(m, src) +} +func (m *QueryEncountersRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryEncountersRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryEncountersRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryEncountersRequest proto.InternalMessageInfo + +type QueryEncountersResponse struct { + Encounters []*Encounter `protobuf:"bytes,1,rep,name=encounters,proto3" json:"encounters,omitempty"` +} + +func (m *QueryEncountersResponse) Reset() { *m = QueryEncountersResponse{} } +func (m *QueryEncountersResponse) String() string { return proto.CompactTextString(m) } +func (*QueryEncountersResponse) ProtoMessage() {} +func (*QueryEncountersResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{25} +} +func (m *QueryEncountersResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryEncountersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryEncountersResponse.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 *QueryEncountersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryEncountersResponse.Merge(m, src) +} +func (m *QueryEncountersResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryEncountersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryEncountersResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryEncountersResponse proto.InternalMessageInfo + +func (m *QueryEncountersResponse) GetEncounters() []*Encounter { + if m != nil { + return m.Encounters + } + return nil +} + +type QueryEncounterWithImageRequest struct { +} + +func (m *QueryEncounterWithImageRequest) Reset() { *m = QueryEncounterWithImageRequest{} } +func (m *QueryEncounterWithImageRequest) String() string { return proto.CompactTextString(m) } +func (*QueryEncounterWithImageRequest) ProtoMessage() {} +func (*QueryEncounterWithImageRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{26} +} +func (m *QueryEncounterWithImageRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryEncounterWithImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryEncounterWithImageRequest.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 *QueryEncounterWithImageRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryEncounterWithImageRequest.Merge(m, src) +} +func (m *QueryEncounterWithImageRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryEncounterWithImageRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryEncounterWithImageRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryEncounterWithImageRequest proto.InternalMessageInfo + +type QueryEncounterWithImageResponse struct { + Encounter *EncounterWithImage `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` +} + +func (m *QueryEncounterWithImageResponse) Reset() { *m = QueryEncounterWithImageResponse{} } +func (m *QueryEncounterWithImageResponse) String() string { return proto.CompactTextString(m) } +func (*QueryEncounterWithImageResponse) ProtoMessage() {} +func (*QueryEncounterWithImageResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{27} +} +func (m *QueryEncounterWithImageResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryEncounterWithImageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryEncounterWithImageResponse.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 *QueryEncounterWithImageResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryEncounterWithImageResponse.Merge(m, src) +} +func (m *QueryEncounterWithImageResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryEncounterWithImageResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryEncounterWithImageResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryEncounterWithImageResponse proto.InternalMessageInfo + +func (m *QueryEncounterWithImageResponse) GetEncounter() *EncounterWithImage { + if m != nil { + return m.Encounter + } + return nil +} + +type QueryEncountersWithImageRequest struct { +} + +func (m *QueryEncountersWithImageRequest) Reset() { *m = QueryEncountersWithImageRequest{} } +func (m *QueryEncountersWithImageRequest) String() string { return proto.CompactTextString(m) } +func (*QueryEncountersWithImageRequest) ProtoMessage() {} +func (*QueryEncountersWithImageRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{28} +} +func (m *QueryEncountersWithImageRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryEncountersWithImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryEncountersWithImageRequest.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 *QueryEncountersWithImageRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryEncountersWithImageRequest.Merge(m, src) +} +func (m *QueryEncountersWithImageRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryEncountersWithImageRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryEncountersWithImageRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryEncountersWithImageRequest proto.InternalMessageInfo + +type QueryEncountersWithImageResponse struct { + Encounters []*EncounterWithImage `protobuf:"bytes,1,rep,name=encounters,proto3" json:"encounters,omitempty"` +} + +func (m *QueryEncountersWithImageResponse) Reset() { *m = QueryEncountersWithImageResponse{} } +func (m *QueryEncountersWithImageResponse) String() string { return proto.CompactTextString(m) } +func (*QueryEncountersWithImageResponse) ProtoMessage() {} +func (*QueryEncountersWithImageResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{29} +} +func (m *QueryEncountersWithImageResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryEncountersWithImageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryEncountersWithImageResponse.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 *QueryEncountersWithImageResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryEncountersWithImageResponse.Merge(m, src) +} +func (m *QueryEncountersWithImageResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryEncountersWithImageResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryEncountersWithImageResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryEncountersWithImageResponse proto.InternalMessageInfo + +func (m *QueryEncountersWithImageResponse) GetEncounters() []*EncounterWithImage { + if m != nil { + return m.Encounters + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -1204,103 +1443,119 @@ func init() { proto.RegisterType((*QueryServerResponse)(nil), "cardchain.cardchain.QueryServerResponse") proto.RegisterType((*QueryEncounterRequest)(nil), "cardchain.cardchain.QueryEncounterRequest") proto.RegisterType((*QueryEncounterResponse)(nil), "cardchain.cardchain.QueryEncounterResponse") + proto.RegisterType((*QueryEncountersRequest)(nil), "cardchain.cardchain.QueryEncountersRequest") + proto.RegisterType((*QueryEncountersResponse)(nil), "cardchain.cardchain.QueryEncountersResponse") + proto.RegisterType((*QueryEncounterWithImageRequest)(nil), "cardchain.cardchain.QueryEncounterWithImageRequest") + proto.RegisterType((*QueryEncounterWithImageResponse)(nil), "cardchain.cardchain.QueryEncounterWithImageResponse") + proto.RegisterType((*QueryEncountersWithImageRequest)(nil), "cardchain.cardchain.QueryEncountersWithImageRequest") + proto.RegisterType((*QueryEncountersWithImageResponse)(nil), "cardchain.cardchain.QueryEncountersWithImageResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 1453 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0x5d, 0x6f, 0x13, 0xc7, - 0x1a, 0xce, 0x26, 0x8e, 0x13, 0x0f, 0x9c, 0x00, 0x43, 0x0e, 0xf2, 0xf1, 0x01, 0x93, 0x33, 0x7c, - 0x24, 0xe4, 0x14, 0x2f, 0x24, 0x7c, 0x7f, 0x95, 0x38, 0x94, 0x88, 0x56, 0x14, 0xd8, 0x94, 0x56, - 0xea, 0x4d, 0x34, 0xb1, 0x07, 0x67, 0xc5, 0x7a, 0xd7, 0xec, 0x8c, 0x49, 0x2d, 0xcb, 0x37, 0xfd, - 0x01, 0x55, 0x55, 0xaa, 0xaa, 0x37, 0x95, 0xaa, 0x5e, 0xf5, 0xa2, 0x95, 0xaa, 0x5e, 0xa3, 0x5e, - 0x73, 0x89, 0xd4, 0x9b, 0x5e, 0x55, 0x15, 0x54, 0xea, 0xdf, 0xa8, 0x66, 0xe6, 0xdd, 0xf1, 0x6e, - 0x58, 0xaf, 0x4d, 0xb9, 0x89, 0xe6, 0xe3, 0x79, 0xe6, 0x7d, 0x66, 0xde, 0x99, 0x7d, 0xde, 0x18, - 0x1d, 0xae, 0xd1, 0xb0, 0x5e, 0xdb, 0xa2, 0xae, 0x6f, 0xf7, 0x5b, 0x8f, 0xda, 0x2c, 0xec, 0x54, - 0x5a, 0x61, 0x20, 0x02, 0xbc, 0xdf, 0x0c, 0x57, 0x4c, 0xab, 0xb4, 0x8f, 0x36, 0x5d, 0x3f, 0xb0, - 0xd5, 0x5f, 0x8d, 0x2b, 0xcd, 0x36, 0x82, 0x46, 0xa0, 0x9a, 0xb6, 0x6c, 0xc1, 0xe8, 0xc1, 0x46, - 0x10, 0x34, 0x3c, 0x66, 0xd3, 0x96, 0x6b, 0x53, 0xdf, 0x0f, 0x04, 0x15, 0x6e, 0xe0, 0x73, 0x98, - 0x5d, 0xac, 0x05, 0xbc, 0x19, 0x70, 0x7b, 0x93, 0x72, 0xa6, 0x83, 0xda, 0x8f, 0x4f, 0x6f, 0x32, - 0x41, 0x4f, 0xdb, 0x2d, 0xda, 0x70, 0x7d, 0x05, 0x06, 0xec, 0x5c, 0x9a, 0xd0, 0x16, 0x0d, 0x69, - 0x33, 0x5a, 0xed, 0x44, 0x2a, 0x22, 0x0c, 0xea, 0xed, 0x9a, 0xd8, 0xa8, 0x33, 0x41, 0x5d, 0x2f, - 0x13, 0x2a, 0x5b, 0x1b, 0xdb, 0xae, 0xd8, 0xda, 0x70, 0x9b, 0xb4, 0xc1, 0x00, 0x5a, 0x4e, 0x83, - 0xb6, 0x39, 0x0b, 0xb3, 0xe6, 0x65, 0x0b, 0xe6, 0x53, 0x0f, 0xb8, 0x49, 0x45, 0x6d, 0xcb, 0x1c, - 0x42, 0x0a, 0x80, 0x33, 0xa1, 0xa5, 0xd0, 0x50, 0x6c, 0x07, 0xe1, 0x43, 0xc0, 0x1e, 0x4d, 0xc7, - 0x7a, 0xde, 0x46, 0xf0, 0xe0, 0x81, 0x91, 0xf4, 0xbf, 0x54, 0x49, 0x41, 0xdb, 0xaf, 0xb9, 0x5e, - 0xd6, 0x69, 0x72, 0x16, 0x3e, 0x36, 0x8b, 0x1c, 0x49, 0x43, 0x30, 0x5f, 0x2e, 0x23, 0x22, 0x10, - 0x99, 0x45, 0xf8, 0x9e, 0x4c, 0xdb, 0x5d, 0x95, 0x07, 0x87, 0x3d, 0x6a, 0x33, 0x2e, 0xc8, 0x7d, - 0xb4, 0x3f, 0x31, 0xca, 0x5b, 0x81, 0xcf, 0x19, 0xbe, 0x86, 0xf2, 0x3a, 0x5f, 0x45, 0x6b, 0xce, - 0x5a, 0xd8, 0xb5, 0xf4, 0xdf, 0x4a, 0xca, 0xd5, 0xaa, 0x68, 0x52, 0xb5, 0xf0, 0xec, 0xf7, 0xc3, - 0x63, 0xdf, 0xff, 0xf5, 0xd3, 0xa2, 0xe5, 0x00, 0x8b, 0xd8, 0xe8, 0x90, 0x5a, 0x76, 0x8d, 0x89, - 0xbb, 0x3a, 0xab, 0x37, 0x74, 0x52, 0x21, 0x2e, 0x9e, 0x41, 0xe3, 0x6e, 0x5d, 0x2d, 0x9e, 0x73, - 0xc6, 0xdd, 0x3a, 0xe1, 0xa8, 0x3c, 0x88, 0x00, 0x92, 0xee, 0xa1, 0x99, 0xe4, 0x0c, 0x48, 0x3b, - 0x92, 0x2e, 0x2d, 0x01, 0xad, 0xe6, 0xa4, 0x44, 0x67, 0xc7, 0x02, 0xa4, 0x01, 0x2a, 0x57, 0x3c, - 0x2f, 0x5d, 0xe5, 0x4d, 0x84, 0xfa, 0x97, 0x1b, 0xe2, 0x1d, 0xaf, 0xe8, 0x97, 0x50, 0x91, 0x2f, - 0xa1, 0xa2, 0x9f, 0x1f, 0xbc, 0x84, 0xca, 0x5d, 0xda, 0x60, 0xc0, 0x75, 0x62, 0x4c, 0xf2, 0xd4, - 0x82, 0xed, 0xa5, 0x44, 0xca, 0xd8, 0xde, 0xc4, 0x1b, 0x6d, 0x0f, 0xaf, 0x25, 0xd4, 0x8f, 0x2b, - 0xf5, 0xf3, 0x43, 0xd5, 0x6b, 0x3d, 0x09, 0xf9, 0x8b, 0x68, 0xaf, 0x52, 0xbf, 0x4a, 0xc3, 0x7a, - 0x74, 0x34, 0x07, 0x50, 0x5e, 0xca, 0xb9, 0x15, 0x25, 0x11, 0x7a, 0xe4, 0x3d, 0xb4, 0x2f, 0x86, - 0x85, 0xcd, 0x9d, 0x43, 0x39, 0x39, 0x0d, 0x27, 0x48, 0x52, 0xb7, 0x24, 0x09, 0x1f, 0xb9, 0x62, - 0xeb, 0x96, 0x7c, 0xd0, 0x8e, 0xc2, 0x93, 0xb7, 0x20, 0xf0, 0x7d, 0xce, 0xc2, 0x28, 0x70, 0x11, - 0x4d, 0xd1, 0x7a, 0x3d, 0x64, 0x5c, 0x5f, 0x80, 0x82, 0x13, 0x75, 0x49, 0x15, 0x42, 0x6b, 0x34, - 0x84, 0x3e, 0x89, 0x72, 0xf2, 0x0b, 0x00, 0xa1, 0xff, 0x93, 0x1a, 0x5a, 0x11, 0x14, 0x8c, 0x7c, - 0x9b, 0x8b, 0xe9, 0x37, 0xf7, 0x60, 0x16, 0x4d, 0x06, 0xdb, 0x3e, 0xac, 0x52, 0x70, 0x74, 0x07, - 0x9f, 0x47, 0x79, 0x2e, 0xa8, 0x68, 0xf3, 0xe2, 0xf8, 0xdc, 0xc4, 0xc2, 0xcc, 0xd2, 0xe1, 0x81, - 0xfb, 0x5a, 0x57, 0x30, 0x07, 0xe0, 0xf8, 0x22, 0x9a, 0x96, 0xf3, 0x1f, 0x74, 0x5a, 0xac, 0x38, - 0xa1, 0xa8, 0x87, 0x06, 0x52, 0x25, 0xc8, 0x31, 0x70, 0x7c, 0x06, 0x4d, 0xd6, 0x3c, 0xca, 0x79, - 0x31, 0xa7, 0x78, 0xe5, 0x81, 0xbc, 0x55, 0x89, 0x72, 0x34, 0x58, 0x26, 0x8b, 0x07, 0xa1, 0xa8, - 0x76, 0x8a, 0x93, 0x6a, 0x03, 0xd0, 0xc3, 0x04, 0xed, 0xf6, 0x69, 0x93, 0xad, 0x06, 0xbe, 0xa0, - 0xae, 0xcf, 0x8b, 0x79, 0x35, 0x9b, 0x18, 0xc3, 0x8b, 0x68, 0xef, 0x43, 0xd6, 0xd9, 0x0e, 0xc2, - 0x3a, 0x37, 0xb8, 0x29, 0x85, 0x7b, 0x65, 0x1c, 0x1f, 0x45, 0xff, 0xf2, 0x03, 0xc1, 0xfa, 0xc0, - 0x69, 0x05, 0x4c, 0x0e, 0xe2, 0x05, 0xb4, 0x27, 0xf0, 0xbd, 0xce, 0xba, 0xa0, 0xa1, 0x60, 0xa1, - 0x14, 0x5b, 0x2c, 0xcc, 0x59, 0x0b, 0xd3, 0xce, 0xce, 0x61, 0x5c, 0x41, 0x58, 0x0e, 0x55, 0xa9, - 0x47, 0xfd, 0x1a, 0x5b, 0xf1, 0x6b, 0x5b, 0x41, 0xc8, 0x8b, 0x48, 0x81, 0x53, 0x66, 0xf0, 0x65, - 0x34, 0x1d, 0xd2, 0xd0, 0x15, 0x2e, 0xe3, 0xc5, 0x5d, 0x43, 0x72, 0xe2, 0x48, 0x60, 0xc7, 0x31, - 0x04, 0x7c, 0x1c, 0xcd, 0x34, 0xdb, 0x9e, 0x70, 0xd5, 0xc9, 0xdd, 0xf1, 0xbd, 0x4e, 0x71, 0xb7, - 0x0a, 0xb4, 0x63, 0x94, 0x54, 0xe0, 0x43, 0x0a, 0x37, 0x04, 0xee, 0x59, 0x11, 0x4d, 0xe9, 0x17, - 0xa0, 0x1f, 0x6e, 0xce, 0x89, 0xba, 0xe4, 0x24, 0xdc, 0xa8, 0xdb, 0xd2, 0x48, 0x62, 0xb7, 0x58, - 0x19, 0x8b, 0x79, 0x3f, 0x51, 0x97, 0xdc, 0x84, 0xe5, 0x01, 0x0e, 0xcb, 0x9f, 0x42, 0x93, 0x0a, - 0x00, 0xf7, 0xb8, 0x94, 0xba, 0x2d, 0x4d, 0xd1, 0x40, 0x32, 0x8f, 0xf6, 0xa8, 0x75, 0xd6, 0x99, - 0x88, 0x5d, 0x63, 0xce, 0x84, 0x09, 0xa9, 0x3b, 0xe4, 0x36, 0x3c, 0x32, 0x05, 0x84, 0x70, 0x17, - 0x93, 0xe1, 0xd2, 0x3f, 0x42, 0xeb, 0x4c, 0xc8, 0x07, 0xbb, 0xa2, 0x6d, 0x2f, 0x8a, 0x7b, 0x11, - 0xfd, 0x1b, 0x96, 0xf3, 0xbc, 0x3b, 0xd2, 0xe9, 0xa2, 0xe8, 0x73, 0x68, 0x17, 0x8f, 0xc6, 0x8c, - 0x86, 0xf8, 0x10, 0xf9, 0x10, 0x1d, 0xd8, 0x49, 0x05, 0x3d, 0x57, 0x50, 0xc1, 0x00, 0x41, 0x53, - 0x79, 0x80, 0xa6, 0x88, 0xda, 0x27, 0x90, 0x65, 0x30, 0xb9, 0x55, 0xed, 0xab, 0x91, 0xa0, 0x83, - 0xa8, 0x00, 0x4e, 0x6b, 0xe4, 0xf4, 0x07, 0xc8, 0xfb, 0x68, 0x36, 0x49, 0x32, 0xdf, 0xb2, 0x29, - 0x00, 0x81, 0x90, 0x83, 0xe9, 0x57, 0x0c, 0x68, 0x11, 0x98, 0x9c, 0x82, 0xbc, 0xae, 0x2b, 0xe7, - 0x8e, 0x34, 0x94, 0xd0, 0xb4, 0xb6, 0x72, 0x23, 0xc1, 0xf4, 0xc9, 0xbb, 0x20, 0x3b, 0x62, 0x80, - 0x80, 0x65, 0x94, 0xd7, 0x90, 0x4c, 0x6f, 0x06, 0x12, 0x40, 0x4d, 0x56, 0xde, 0x89, 0xaa, 0x82, - 0x58, 0x56, 0x4c, 0xa5, 0xd0, 0xcf, 0x4a, 0x6c, 0xc8, 0x64, 0x25, 0x46, 0xed, 0x67, 0xc5, 0x00, - 0x33, 0xb3, 0xd2, 0xa7, 0xf6, 0x09, 0x4b, 0x3f, 0xef, 0x41, 0x93, 0x6a, 0x61, 0xfc, 0x85, 0x85, - 0xf2, 0xba, 0x96, 0xc0, 0xf3, 0xa9, 0xfc, 0x57, 0x0b, 0x97, 0xd2, 0xc2, 0x70, 0xa0, 0x56, 0x49, - 0xce, 0x7e, 0xfa, 0xeb, 0x9f, 0x4f, 0xc6, 0x6d, 0x7c, 0xd2, 0xbe, 0xc1, 0x6a, 0xcc, 0x17, 0x21, - 0xf5, 0xe4, 0xd3, 0x5d, 0xa3, 0x4d, 0x66, 0x0f, 0x2e, 0x54, 0xf1, 0x2f, 0xd6, 0x4e, 0x47, 0xc6, - 0x4b, 0x83, 0x63, 0x0e, 0x2a, 0x74, 0x4a, 0xcb, 0xaf, 0xc5, 0x01, 0xc9, 0xab, 0x4a, 0xf2, 0x55, - 0x7c, 0x79, 0x54, 0xc9, 0xc9, 0xca, 0xd9, 0xee, 0xba, 0xf5, 0x1e, 0x7e, 0x6a, 0xa1, 0x7d, 0xc9, - 0xf5, 0x57, 0x3c, 0x2f, 0x6b, 0x0f, 0x83, 0xca, 0xa0, 0xac, 0x3d, 0x0c, 0x2c, 0x68, 0xc8, 0x35, - 0xb5, 0x87, 0x0b, 0xf8, 0xdc, 0x3f, 0xdb, 0x03, 0x7e, 0x62, 0xa1, 0x9c, 0x32, 0x81, 0x63, 0x83, - 0xa3, 0xc7, 0x0a, 0x92, 0xd2, 0xf1, 0x61, 0x30, 0xd0, 0x75, 0x45, 0xe9, 0x3a, 0x87, 0xcf, 0x8c, - 0xa8, 0x4b, 0xb6, 0xec, 0xae, 0xfe, 0x98, 0xf7, 0xf0, 0x97, 0x16, 0xca, 0xc9, 0x72, 0x21, 0x4b, - 0x55, 0xac, 0x5a, 0xc9, 0x52, 0x15, 0x2f, 0x53, 0xc8, 0x55, 0xa5, 0xea, 0x3c, 0x3e, 0x3b, 0xa2, - 0x2a, 0x59, 0xac, 0xd8, 0x5d, 0xa8, 0x7c, 0x7a, 0xf8, 0x2b, 0x0b, 0x4d, 0x2a, 0x3f, 0xc2, 0x43, - 0x8e, 0xc1, 0xe4, 0x74, 0x7e, 0x28, 0xee, 0x0d, 0xce, 0x8b, 0xdb, 0x5d, 0x55, 0x22, 0xf5, 0xf0, - 0xd7, 0x16, 0x9a, 0x54, 0xb6, 0x94, 0x25, 0x2c, 0xee, 0x8c, 0x59, 0xc2, 0x12, 0x96, 0xf8, 0xda, - 0x17, 0x4c, 0xd9, 0x93, 0xdd, 0x05, 0x9f, 0xed, 0xe1, 0xcf, 0x2c, 0x34, 0xb1, 0xce, 0x04, 0x3e, - 0x3a, 0x38, 0x60, 0xdf, 0x3b, 0x4b, 0xc7, 0x86, 0xa0, 0x40, 0xd4, 0x25, 0x25, 0xea, 0x0c, 0x5e, - 0x1a, 0x51, 0x14, 0x67, 0xc2, 0xee, 0x2a, 0x1f, 0xee, 0xe1, 0x1f, 0x2d, 0x54, 0x30, 0xfe, 0x85, - 0x17, 0xb3, 0x02, 0x26, 0xad, 0xb5, 0xf4, 0xff, 0x91, 0xb0, 0x20, 0x71, 0x4d, 0x49, 0x5c, 0xc1, - 0x6f, 0x8f, 0x2c, 0x31, 0xfa, 0x9f, 0x55, 0x2a, 0x35, 0x6e, 0xdd, 0xc3, 0xdf, 0x59, 0x68, 0x0a, - 0x6c, 0x0e, 0x67, 0x7c, 0x8e, 0x93, 0xae, 0x5b, 0x3a, 0x31, 0x02, 0x12, 0x94, 0x56, 0x95, 0xd2, - 0x2b, 0xf8, 0xd2, 0xa8, 0x57, 0x4f, 0xf3, 0xed, 0xae, 0x71, 0xf1, 0x1e, 0xfe, 0xc6, 0x42, 0x79, - 0xed, 0x85, 0x59, 0xde, 0x92, 0x30, 0xe5, 0x2c, 0x6f, 0x49, 0x7a, 0x31, 0xb9, 0xae, 0x14, 0x5e, - 0xc2, 0x17, 0x46, 0x3e, 0x4b, 0x49, 0x97, 0xe7, 0xa8, 0x3d, 0xbe, 0x87, 0x7f, 0xb0, 0x50, 0xc1, - 0xd8, 0x63, 0x56, 0xd2, 0x77, 0x3a, 0x77, 0x56, 0xd2, 0x5f, 0xb1, 0x6a, 0x72, 0x53, 0x09, 0xbd, - 0x8e, 0xaf, 0x8d, 0x28, 0xd4, 0xd8, 0xb4, 0xdd, 0x8d, 0xd5, 0x02, 0xbd, 0xaa, 0xf3, 0xec, 0x45, - 0xd9, 0x7a, 0xfe, 0xa2, 0x6c, 0xfd, 0xf1, 0xa2, 0x6c, 0x7d, 0xfe, 0xb2, 0x3c, 0xf6, 0xfc, 0x65, - 0x79, 0xec, 0xb7, 0x97, 0xe5, 0xb1, 0x8f, 0x2f, 0x34, 0x5c, 0xb1, 0xd5, 0xde, 0xac, 0xd4, 0x82, - 0x66, 0x66, 0x8c, 0x4f, 0x62, 0x6d, 0xd1, 0x69, 0x31, 0xbe, 0x99, 0x57, 0x3f, 0x50, 0x2c, 0xff, - 0x1d, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x2b, 0xe2, 0xfc, 0xe0, 0x12, 0x00, 0x00, + // 1612 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0x4d, 0x6f, 0x13, 0x57, + 0x17, 0xce, 0x24, 0x8e, 0x13, 0x1f, 0x78, 0x03, 0xdc, 0xe4, 0xe5, 0xf5, 0xeb, 0x82, 0x13, 0x86, + 0x8f, 0x84, 0x14, 0x3c, 0x90, 0x84, 0x8f, 0x40, 0x48, 0x49, 0x02, 0x44, 0xb4, 0xa2, 0xc0, 0xa4, + 0xb4, 0x6a, 0x37, 0xd1, 0xc4, 0xbe, 0x38, 0x23, 0xc6, 0x33, 0x61, 0xe6, 0x9a, 0xd4, 0xb2, 0xbc, + 0xe9, 0x0f, 0xa8, 0xaa, 0x52, 0x55, 0xdd, 0x54, 0xaa, 0xba, 0xea, 0xa2, 0x95, 0xfa, 0x03, 0x50, + 0x57, 0x5d, 0xb0, 0x44, 0xea, 0xa6, 0xab, 0xaa, 0x82, 0x4a, 0x55, 0xff, 0x45, 0x35, 0xf7, 0x9e, + 0xb9, 0x9e, 0xb1, 0xc7, 0xe3, 0x09, 0x6c, 0xa2, 0xfb, 0xf1, 0x9c, 0x73, 0x9e, 0x73, 0xcf, 0xbd, + 0x73, 0x9e, 0x18, 0x26, 0xcb, 0x86, 0x5b, 0x29, 0x6f, 0x1b, 0xa6, 0xad, 0xb5, 0x47, 0x8f, 0xeb, + 0xd4, 0x6d, 0x94, 0x76, 0x5c, 0x87, 0x39, 0x64, 0x5c, 0x2e, 0x97, 0xe4, 0xa8, 0x70, 0xc8, 0xa8, + 0x99, 0xb6, 0xa3, 0xf1, 0xbf, 0x02, 0x57, 0x98, 0xa8, 0x3a, 0x55, 0x87, 0x0f, 0x35, 0x7f, 0x84, + 0xab, 0x47, 0xaa, 0x8e, 0x53, 0xb5, 0xa8, 0x66, 0xec, 0x98, 0x9a, 0x61, 0xdb, 0x0e, 0x33, 0x98, + 0xe9, 0xd8, 0x1e, 0xee, 0xce, 0x96, 0x1d, 0xaf, 0xe6, 0x78, 0xda, 0x96, 0xe1, 0x51, 0x11, 0x54, + 0x7b, 0x72, 0x7e, 0x8b, 0x32, 0xe3, 0xbc, 0xb6, 0x63, 0x54, 0x4d, 0x9b, 0x83, 0x11, 0x3b, 0x15, + 0x47, 0x74, 0xc7, 0x70, 0x8d, 0x5a, 0xe0, 0xed, 0x74, 0x2c, 0xc2, 0x75, 0x2a, 0xf5, 0x32, 0xdb, + 0xac, 0x50, 0x66, 0x98, 0x56, 0x22, 0xd4, 0x1f, 0x6d, 0xee, 0x9a, 0x6c, 0x7b, 0xd3, 0xac, 0x19, + 0x55, 0x8a, 0xd0, 0x62, 0x1c, 0xb4, 0xee, 0x51, 0x37, 0x69, 0xdf, 0x1f, 0xe1, 0x7e, 0xec, 0x01, + 0xd7, 0x0c, 0x56, 0xde, 0x96, 0x87, 0x10, 0x03, 0xf0, 0x28, 0x13, 0x54, 0x0c, 0x97, 0xed, 0x3a, + 0xee, 0x23, 0xc4, 0x9e, 0x88, 0xc7, 0x5a, 0xd6, 0xa6, 0xf3, 0xf0, 0xa1, 0xa4, 0x74, 0x2c, 0x96, + 0x92, 0x53, 0xb7, 0xcb, 0xa6, 0x95, 0x74, 0x9a, 0x1e, 0x75, 0x9f, 0x48, 0x27, 0xc7, 0xe3, 0x10, + 0xd4, 0xf6, 0xdd, 0x30, 0x09, 0x2a, 0x25, 0x82, 0xba, 0x0e, 0x53, 0x9d, 0x00, 0x72, 0xdf, 0x2f, + 0xf3, 0x3d, 0x5e, 0x37, 0x9d, 0x3e, 0xae, 0x53, 0x8f, 0xa9, 0x0f, 0x60, 0x3c, 0xb2, 0xea, 0xed, + 0x38, 0xb6, 0x47, 0xc9, 0x32, 0x64, 0x45, 0x7d, 0xf3, 0xca, 0x94, 0x32, 0xb3, 0x6f, 0xee, 0xad, + 0x52, 0xcc, 0x55, 0x2c, 0x09, 0xa3, 0xd5, 0xdc, 0xf3, 0x3f, 0x26, 0x07, 0x7e, 0xf8, 0xfb, 0xe7, + 0x59, 0x45, 0x47, 0x2b, 0x55, 0x83, 0xa3, 0xdc, 0xed, 0x3a, 0x65, 0xf7, 0xc4, 0x2d, 0xb8, 0x21, + 0x2e, 0x01, 0xc6, 0x25, 0x63, 0x30, 0x68, 0x56, 0xb8, 0xf3, 0x8c, 0x3e, 0x68, 0x56, 0x54, 0x0f, + 0x8a, 0xbd, 0x0c, 0x90, 0xd2, 0x7d, 0x18, 0x8b, 0xee, 0x20, 0xb5, 0xe3, 0xf1, 0xd4, 0x22, 0xd0, + 0xd5, 0x8c, 0x4f, 0x51, 0xef, 0x70, 0xa0, 0x56, 0x91, 0xe5, 0x8a, 0x65, 0xc5, 0xb3, 0xbc, 0x05, + 0xd0, 0x7e, 0x0c, 0x18, 0xef, 0x54, 0x49, 0xbc, 0x9c, 0x92, 0xff, 0x72, 0x4a, 0xe2, 0xb9, 0xe2, + 0xcb, 0x29, 0xdd, 0x33, 0xaa, 0x14, 0x6d, 0xf5, 0x90, 0xa5, 0xfa, 0x4c, 0xc1, 0xf4, 0x62, 0x22, + 0x25, 0xa4, 0x37, 0xf4, 0x46, 0xe9, 0x91, 0xf5, 0x08, 0xfb, 0x41, 0xce, 0x7e, 0xba, 0x2f, 0x7b, + 0xc1, 0x27, 0x42, 0x7f, 0x16, 0x0e, 0x72, 0xf6, 0x6b, 0x86, 0x5b, 0x09, 0x8e, 0xe6, 0x30, 0x64, + 0x7d, 0x3a, 0xb7, 0x83, 0x22, 0xe2, 0x4c, 0x7d, 0x0f, 0x0e, 0x85, 0xb0, 0x98, 0xdc, 0x45, 0xc8, + 0xf8, 0xdb, 0x78, 0x82, 0x6a, 0x6c, 0x4a, 0xbe, 0xc1, 0x47, 0x26, 0xdb, 0xbe, 0xed, 0xdf, 0x59, + 0x9d, 0xe3, 0xd5, 0x33, 0x18, 0xf8, 0x81, 0x47, 0xdd, 0x20, 0x70, 0x1e, 0x46, 0x8c, 0x4a, 0xc5, + 0xa5, 0x9e, 0xb8, 0x00, 0x39, 0x3d, 0x98, 0xaa, 0xab, 0x18, 0x5a, 0xa0, 0x31, 0xf4, 0x59, 0xc8, + 0xf8, 0x5f, 0x0c, 0x0c, 0xfd, 0xff, 0xd8, 0xd0, 0xdc, 0x80, 0xc3, 0xd4, 0xef, 0x32, 0x21, 0xfe, + 0xf2, 0x1e, 0x4c, 0xc0, 0xb0, 0xb3, 0x6b, 0xa3, 0x97, 0x9c, 0x2e, 0x26, 0xe4, 0x12, 0x64, 0x3d, + 0x66, 0xb0, 0xba, 0x97, 0x1f, 0x9c, 0x1a, 0x9a, 0x19, 0x9b, 0x9b, 0xec, 0x99, 0xd7, 0x06, 0x87, + 0xe9, 0x08, 0x27, 0x8b, 0x30, 0xea, 0xef, 0x7f, 0xd0, 0xd8, 0xa1, 0xf9, 0x21, 0x6e, 0x7a, 0xb4, + 0xa7, 0xa9, 0x0f, 0xd2, 0x25, 0x9c, 0x2c, 0xc0, 0x70, 0xd9, 0x32, 0x3c, 0x2f, 0x9f, 0xe1, 0x76, + 0xc5, 0x9e, 0x76, 0x6b, 0x3e, 0x4a, 0x17, 0x60, 0xbf, 0x58, 0x9e, 0xe3, 0xb2, 0xd5, 0x46, 0x7e, + 0x98, 0x27, 0x80, 0x33, 0xa2, 0xc2, 0x7e, 0xdb, 0xa8, 0xd1, 0x35, 0xc7, 0x66, 0x86, 0x69, 0x7b, + 0xf9, 0x2c, 0xdf, 0x8d, 0xac, 0x91, 0x59, 0x38, 0xf8, 0x88, 0x36, 0x76, 0x1d, 0xb7, 0xe2, 0x49, + 0xdc, 0x08, 0xc7, 0x75, 0xad, 0x93, 0x13, 0xf0, 0x1f, 0xdb, 0x61, 0xb4, 0x0d, 0x1c, 0xe5, 0xc0, + 0xe8, 0x22, 0x99, 0x81, 0x03, 0x8e, 0x6d, 0x35, 0x36, 0x98, 0xe1, 0x32, 0xea, 0xfa, 0x64, 0xf3, + 0xb9, 0x29, 0x65, 0x66, 0x54, 0xef, 0x5c, 0x26, 0x25, 0x20, 0xfe, 0xd2, 0xaa, 0x61, 0x19, 0x76, + 0x99, 0xae, 0xd8, 0xe5, 0x6d, 0xc7, 0xf5, 0xf2, 0xc0, 0xc1, 0x31, 0x3b, 0xe4, 0x2a, 0x8c, 0xba, + 0x86, 0x6b, 0x32, 0x93, 0x7a, 0xf9, 0x7d, 0x7d, 0x6a, 0xa2, 0xfb, 0xc0, 0x86, 0x2e, 0x0d, 0xc8, + 0x29, 0x18, 0xab, 0xd5, 0x2d, 0x66, 0xf2, 0x93, 0xbb, 0x6b, 0x5b, 0x8d, 0xfc, 0x7e, 0x1e, 0xa8, + 0x63, 0x55, 0x2d, 0xe1, 0x87, 0x14, 0x6f, 0x08, 0xde, 0xb3, 0x3c, 0x8c, 0x88, 0x17, 0x20, 0x1e, + 0x6e, 0x46, 0x0f, 0xa6, 0xea, 0x59, 0xbc, 0x51, 0x77, 0xfc, 0xc6, 0x13, 0xba, 0xc5, 0xbc, 0x11, + 0xc9, 0xf7, 0x13, 0x4c, 0xd5, 0x5b, 0xe8, 0x1e, 0xe1, 0xe8, 0xfe, 0x1c, 0x0c, 0x73, 0x00, 0xde, + 0xe3, 0x42, 0x6c, 0x5a, 0xc2, 0x44, 0x00, 0xd5, 0x69, 0x38, 0xc0, 0xfd, 0x6c, 0x50, 0x16, 0xba, + 0xc6, 0x1e, 0x65, 0x32, 0xa4, 0x98, 0xa8, 0x77, 0xf0, 0x91, 0x71, 0x20, 0x86, 0x5b, 0x8c, 0x86, + 0x8b, 0xff, 0x08, 0x6d, 0x50, 0xe6, 0x3f, 0xd8, 0x15, 0xd1, 0x26, 0x83, 0xb8, 0x8b, 0xf0, 0x5f, + 0x74, 0x67, 0x59, 0x77, 0xfd, 0xce, 0x18, 0x44, 0x9f, 0x82, 0x7d, 0x5e, 0xb0, 0x26, 0x39, 0x84, + 0x97, 0xd4, 0x0f, 0xe1, 0x70, 0xa7, 0x29, 0xf2, 0x59, 0x82, 0x9c, 0x04, 0x22, 0xa7, 0x62, 0x0f, + 0x4e, 0x81, 0x69, 0xdb, 0x40, 0x9d, 0xc7, 0x26, 0xb7, 0x26, 0xfa, 0x70, 0x40, 0xe8, 0x08, 0xe4, + 0xb0, 0x33, 0x4b, 0x3a, 0xed, 0x05, 0xf5, 0x7d, 0x98, 0x88, 0x1a, 0xc9, 0x6f, 0xd9, 0x08, 0x82, + 0x90, 0xc8, 0x91, 0xf8, 0x2b, 0x86, 0x66, 0x01, 0x58, 0x3d, 0x87, 0x75, 0xdd, 0xe0, 0x9d, 0x3e, + 0xe0, 0x50, 0x80, 0x51, 0xd1, 0xfa, 0x25, 0x05, 0x39, 0x57, 0xdf, 0x45, 0xda, 0x81, 0x05, 0x12, + 0x98, 0x87, 0xac, 0x80, 0x24, 0xf6, 0x66, 0x34, 0x42, 0xa8, 0xac, 0xca, 0xcd, 0x40, 0x20, 0x84, + 0xaa, 0x22, 0x45, 0x43, 0xbb, 0x2a, 0xa1, 0x25, 0x59, 0x95, 0x90, 0x69, 0xbb, 0x2a, 0x12, 0x98, + 0x58, 0x95, 0xb6, 0x69, 0xdb, 0x40, 0xcd, 0x77, 0xfa, 0x95, 0xa2, 0xe4, 0x63, 0xf8, 0x5f, 0xd7, + 0x8e, 0x14, 0x26, 0x20, 0x3d, 0x04, 0x2d, 0xb2, 0x5f, 0xcc, 0x90, 0x85, 0x3a, 0x85, 0x8d, 0x58, + 0xee, 0xb6, 0x5b, 0x0e, 0x06, 0xdf, 0x86, 0xc9, 0x9e, 0x08, 0x24, 0x71, 0xb3, 0x3b, 0xef, 0xe9, + 0x64, 0x0e, 0x6d, 0x1f, 0xa1, 0x03, 0x38, 0xd6, 0x19, 0xc9, 0xeb, 0x22, 0xf3, 0x08, 0xa6, 0x7a, + 0x43, 0x90, 0xcd, 0x7a, 0xcc, 0x91, 0xa4, 0xa6, 0x13, 0x32, 0x9d, 0xfb, 0x67, 0x1c, 0x86, 0x79, + 0x34, 0xf2, 0xa5, 0x02, 0x59, 0x21, 0xee, 0x48, 0xbc, 0xa7, 0x6e, 0x25, 0x59, 0x98, 0xe9, 0x0f, + 0x14, 0x84, 0xd5, 0x0b, 0x9f, 0xfd, 0xf6, 0xd7, 0xd3, 0x41, 0x8d, 0x9c, 0xd5, 0x6e, 0xd0, 0x32, + 0xb5, 0x99, 0x6b, 0x58, 0xfe, 0xb7, 0x74, 0xdd, 0xa8, 0x51, 0xad, 0xf7, 0x7f, 0x1a, 0xe4, 0x17, + 0xa5, 0x53, 0x22, 0x91, 0xb9, 0xde, 0x31, 0x7b, 0x29, 0xcf, 0xc2, 0xfc, 0x9e, 0x6c, 0x90, 0xf2, + 0x1a, 0xa7, 0x7c, 0x8d, 0x5c, 0x4d, 0x4b, 0x39, 0xfa, 0xaf, 0x8f, 0xd6, 0x34, 0x2b, 0x2d, 0xf2, + 0x4c, 0x81, 0x43, 0x51, 0xff, 0x2b, 0x96, 0x95, 0x94, 0x43, 0x2f, 0x5d, 0x9a, 0x94, 0x43, 0x4f, + 0x85, 0xa9, 0x2e, 0xf3, 0x1c, 0x2e, 0x93, 0x8b, 0xaf, 0x97, 0x03, 0x79, 0xaa, 0x40, 0x86, 0x77, + 0xe5, 0x93, 0xbd, 0xa3, 0x87, 0x14, 0x62, 0xe1, 0x54, 0x3f, 0x18, 0xf2, 0x5a, 0xe2, 0xbc, 0x2e, + 0x92, 0x85, 0x94, 0xbc, 0xfc, 0x91, 0xd6, 0x14, 0xdd, 0xb5, 0x45, 0xbe, 0x52, 0x20, 0xe3, 0xeb, + 0xb7, 0x24, 0x56, 0x21, 0xf9, 0x98, 0xc4, 0x2a, 0xac, 0x1b, 0xd5, 0x6b, 0x9c, 0xd5, 0x25, 0x72, + 0x21, 0x25, 0x2b, 0x5f, 0x3d, 0x6a, 0x4d, 0x94, 0xa2, 0x2d, 0xf2, 0xb5, 0x02, 0xc3, 0x5c, 0x20, + 0x90, 0x3e, 0xc7, 0x20, 0x6b, 0x3a, 0xdd, 0x17, 0xf7, 0x06, 0xe7, 0xe5, 0x69, 0x4d, 0xae, 0x59, + 0x5b, 0xe4, 0x1b, 0x05, 0x86, 0xb9, 0x4e, 0x48, 0x22, 0x16, 0x96, 0x2a, 0x49, 0xc4, 0x22, 0x1a, + 0x65, 0xcf, 0x17, 0x8c, 0xeb, 0x05, 0xad, 0x89, 0xc2, 0xa7, 0x45, 0x3e, 0x57, 0x60, 0x68, 0x83, + 0x32, 0x72, 0xa2, 0x77, 0xc0, 0xb6, 0x98, 0x29, 0x9c, 0xec, 0x83, 0x42, 0x52, 0x57, 0x38, 0xa9, + 0x05, 0x32, 0x97, 0x92, 0x94, 0x47, 0x99, 0xd6, 0xe4, 0xc2, 0xa8, 0x45, 0x7e, 0x52, 0x20, 0x27, + 0x05, 0x05, 0x99, 0x4d, 0x0a, 0x18, 0xd5, 0x3a, 0x85, 0xb7, 0x53, 0x61, 0x91, 0xe2, 0x3a, 0xa7, + 0xb8, 0x42, 0xde, 0x49, 0x4d, 0x31, 0xf8, 0xd1, 0xc1, 0x67, 0x2a, 0xe5, 0x53, 0x8b, 0x7c, 0xaf, + 0xc0, 0x08, 0xea, 0x0e, 0x92, 0xf0, 0x39, 0x8e, 0xca, 0xa0, 0xc2, 0xe9, 0x14, 0x48, 0x64, 0xba, + 0xca, 0x99, 0x2e, 0x91, 0x2b, 0x69, 0xaf, 0x9e, 0xb0, 0xd7, 0x9a, 0x52, 0x56, 0xb5, 0xc8, 0xb7, + 0x0a, 0x64, 0x85, 0x38, 0x49, 0xea, 0x2d, 0x11, 0x95, 0x94, 0xd4, 0x5b, 0xa2, 0xe2, 0x48, 0xbd, + 0xce, 0x19, 0x5e, 0x21, 0x97, 0x53, 0x9f, 0xa5, 0x6f, 0xee, 0x9f, 0xa3, 0x10, 0x5d, 0x2d, 0xf2, + 0xa3, 0x02, 0x39, 0xd9, 0x28, 0x93, 0x8a, 0xde, 0x29, 0xa5, 0x92, 0x8a, 0xde, 0xa5, 0x9d, 0xd4, + 0x5b, 0x9c, 0xe8, 0x75, 0xb2, 0x9c, 0x92, 0xa8, 0xec, 0xd3, 0x5a, 0x33, 0x24, 0xce, 0x78, 0xcd, + 0xa1, 0xad, 0x0e, 0x48, 0x1a, 0x0e, 0xf2, 0x93, 0x73, 0x26, 0x1d, 0x18, 0x19, 0x2f, 0x72, 0xc6, + 0xf3, 0xe4, 0xfc, 0x5e, 0x19, 0x7b, 0xe4, 0x57, 0x05, 0x48, 0xb7, 0xf8, 0x20, 0xf3, 0x29, 0xe2, + 0x77, 0x4a, 0xa2, 0xc2, 0xc2, 0xde, 0x8c, 0x5e, 0xb3, 0x81, 0xc7, 0xfd, 0x90, 0x46, 0x9e, 0x2b, + 0x30, 0x1e, 0xa3, 0xc4, 0x48, 0x1a, 0x4a, 0x5d, 0xda, 0xae, 0x70, 0x61, 0x8f, 0x56, 0x98, 0xc9, + 0x0d, 0x9e, 0xc9, 0x32, 0x59, 0xda, 0x73, 0x19, 0x42, 0xa9, 0xac, 0xea, 0xcf, 0x5f, 0x16, 0x95, + 0x17, 0x2f, 0x8b, 0xca, 0x9f, 0x2f, 0x8b, 0xca, 0x17, 0xaf, 0x8a, 0x03, 0x2f, 0x5e, 0x15, 0x07, + 0x7e, 0x7f, 0x55, 0x1c, 0xf8, 0xe4, 0x72, 0xd5, 0x64, 0xdb, 0xf5, 0xad, 0x52, 0xd9, 0xa9, 0x25, + 0x46, 0xf8, 0x34, 0x34, 0x66, 0x8d, 0x1d, 0xea, 0x6d, 0x65, 0xf9, 0x0f, 0x8d, 0xf3, 0xff, 0x06, + 0x00, 0x00, 0xff, 0xff, 0xac, 0xb4, 0xc9, 0x1b, 0xd8, 0x16, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1338,6 +1593,12 @@ type QueryClient interface { Server(ctx context.Context, in *QueryServerRequest, opts ...grpc.CallOption) (*QueryServerResponse, error) // Queries a list of Encounter items. Encounter(ctx context.Context, in *QueryEncounterRequest, opts ...grpc.CallOption) (*QueryEncounterResponse, error) + // Queries a list of Encounters items. + Encounters(ctx context.Context, in *QueryEncountersRequest, opts ...grpc.CallOption) (*QueryEncountersResponse, error) + // Queries a list of EncounterWithImage items. + EncounterWithImage(ctx context.Context, in *QueryEncounterWithImageRequest, opts ...grpc.CallOption) (*QueryEncounterWithImageResponse, error) + // Queries a list of EncountersWithImage items. + EncountersWithImage(ctx context.Context, in *QueryEncountersWithImageRequest, opts ...grpc.CallOption) (*QueryEncountersWithImageResponse, error) } type queryClient struct { @@ -1456,6 +1717,33 @@ func (c *queryClient) Encounter(ctx context.Context, in *QueryEncounterRequest, return out, nil } +func (c *queryClient) Encounters(ctx context.Context, in *QueryEncountersRequest, opts ...grpc.CallOption) (*QueryEncountersResponse, error) { + out := new(QueryEncountersResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Encounters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) EncounterWithImage(ctx context.Context, in *QueryEncounterWithImageRequest, opts ...grpc.CallOption) (*QueryEncounterWithImageResponse, error) { + out := new(QueryEncounterWithImageResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/EncounterWithImage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) EncountersWithImage(ctx context.Context, in *QueryEncountersWithImageRequest, opts ...grpc.CallOption) (*QueryEncountersWithImageResponse, error) { + out := new(QueryEncountersWithImageResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/EncountersWithImage", 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. @@ -1481,6 +1769,12 @@ type QueryServer interface { Server(context.Context, *QueryServerRequest) (*QueryServerResponse, error) // Queries a list of Encounter items. Encounter(context.Context, *QueryEncounterRequest) (*QueryEncounterResponse, error) + // Queries a list of Encounters items. + Encounters(context.Context, *QueryEncountersRequest) (*QueryEncountersResponse, error) + // Queries a list of EncounterWithImage items. + EncounterWithImage(context.Context, *QueryEncounterWithImageRequest) (*QueryEncounterWithImageResponse, error) + // Queries a list of EncountersWithImage items. + EncountersWithImage(context.Context, *QueryEncountersWithImageRequest) (*QueryEncountersWithImageResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -1523,6 +1817,15 @@ func (*UnimplementedQueryServer) Server(ctx context.Context, req *QueryServerReq func (*UnimplementedQueryServer) Encounter(ctx context.Context, req *QueryEncounterRequest) (*QueryEncounterResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Encounter not implemented") } +func (*UnimplementedQueryServer) Encounters(ctx context.Context, req *QueryEncountersRequest) (*QueryEncountersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Encounters not implemented") +} +func (*UnimplementedQueryServer) EncounterWithImage(ctx context.Context, req *QueryEncounterWithImageRequest) (*QueryEncounterWithImageResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncounterWithImage not implemented") +} +func (*UnimplementedQueryServer) EncountersWithImage(ctx context.Context, req *QueryEncountersWithImageRequest) (*QueryEncountersWithImageResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EncountersWithImage not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -1744,6 +2047,60 @@ func _Query_Encounter_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +func _Query_Encounters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryEncountersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Encounters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/Encounters", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Encounters(ctx, req.(*QueryEncountersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_EncounterWithImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryEncounterWithImageRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).EncounterWithImage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/EncounterWithImage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).EncounterWithImage(ctx, req.(*QueryEncounterWithImageRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_EncountersWithImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryEncountersWithImageRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).EncountersWithImage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/EncountersWithImage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).EncountersWithImage(ctx, req.(*QueryEncountersWithImageRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -1797,6 +2154,18 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Encounter", Handler: _Query_Encounter_Handler, }, + { + MethodName: "Encounters", + Handler: _Query_Encounters_Handler, + }, + { + MethodName: "EncounterWithImage", + Handler: _Query_EncounterWithImage_Handler, + }, + { + MethodName: "EncountersWithImage", + Handler: _Query_EncountersWithImage_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -2710,43 +3079,221 @@ func (m *QueryEncounterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) 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++ +func (m *QueryEncountersRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *QueryParamsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n + +func (m *QueryEncountersRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryParamsResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryEncountersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = m.Params.Size() - n += 1 + l + sovQuery(uint64(l)) - return n + return len(dAtA) - i, nil } -func (m *QueryGetProductDetailsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l +func (m *QueryEncountersResponse) 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 *QueryEncountersResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryEncountersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Encounters) > 0 { + for iNdEx := len(m.Encounters) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Encounters[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 (m *QueryEncounterWithImageRequest) 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 *QueryEncounterWithImageRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryEncounterWithImageRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryEncounterWithImageResponse) 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 *QueryEncounterWithImageResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryEncounterWithImageResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Encounter != nil { + { + size, err := m.Encounter.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 *QueryEncountersWithImageRequest) 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 *QueryEncountersWithImageRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryEncountersWithImageRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryEncountersWithImageResponse) 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 *QueryEncountersWithImageResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryEncountersWithImageResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Encounters) > 0 { + for iNdEx := len(m.Encounters) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Encounters[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 *QueryGetProductDetailsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l if m.Id != 0 { n += 1 + sovQuery(uint64(m.Id)) } @@ -3079,6 +3626,76 @@ func (m *QueryEncounterResponse) Size() (n int) { return n } +func (m *QueryEncountersRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryEncountersResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Encounters) > 0 { + for _, e := range m.Encounters { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryEncounterWithImageRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryEncounterWithImageResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Encounter != nil { + l = m.Encounter.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryEncountersWithImageRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryEncountersWithImageResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Encounters) > 0 { + for _, e := range m.Encounters { + 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 } @@ -5501,6 +6118,410 @@ func (m *QueryEncounterResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryEncountersRequest) 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: QueryEncountersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryEncountersRequest: 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 *QueryEncountersResponse) 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: QueryEncountersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryEncountersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Encounters", 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.Encounters = append(m.Encounters, &Encounter{}) + if err := m.Encounters[len(m.Encounters)-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 (m *QueryEncounterWithImageRequest) 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: QueryEncounterWithImageRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryEncounterWithImageRequest: 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 *QueryEncounterWithImageResponse) 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: QueryEncounterWithImageResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryEncounterWithImageResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Encounter", 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.Encounter == nil { + m.Encounter = &EncounterWithImage{} + } + if err := m.Encounter.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 *QueryEncountersWithImageRequest) 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: QueryEncountersWithImageRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryEncountersWithImageRequest: 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 *QueryEncountersWithImageResponse) 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: QueryEncountersWithImageResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryEncountersWithImageResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Encounters", 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.Encounters = append(m.Encounters, &EncounterWithImage{}) + if err := m.Encounters[len(m.Encounters)-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 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 7ebbd6bf..f06d599a 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -645,6 +645,60 @@ func local_request_Query_Encounter_0(ctx context.Context, marshaler runtime.Mars } +func request_Query_Encounters_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryEncountersRequest + var metadata runtime.ServerMetadata + + msg, err := client.Encounters(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Encounters_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryEncountersRequest + var metadata runtime.ServerMetadata + + msg, err := server.Encounters(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_EncounterWithImage_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryEncounterWithImageRequest + var metadata runtime.ServerMetadata + + msg, err := client.EncounterWithImage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_EncounterWithImage_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryEncounterWithImageRequest + var metadata runtime.ServerMetadata + + msg, err := server.EncounterWithImage(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_EncountersWithImage_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryEncountersWithImageRequest + var metadata runtime.ServerMetadata + + msg, err := client.EncountersWithImage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_EncountersWithImage_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryEncountersWithImageRequest + var metadata runtime.ServerMetadata + + msg, err := server.EncountersWithImage(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. @@ -927,6 +981,75 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_Encounters_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_Encounters_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_Encounters_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_EncounterWithImage_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_EncounterWithImage_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_EncounterWithImage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_EncountersWithImage_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_EncountersWithImage_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_EncountersWithImage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1208,6 +1331,66 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_Encounters_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_Encounters_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_Encounters_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_EncounterWithImage_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_EncounterWithImage_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_EncounterWithImage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_EncountersWithImage_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_EncountersWithImage_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_EncountersWithImage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1235,6 +1418,12 @@ var ( pattern_Query_Server_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "server", "serverId"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_Encounter_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "encounter", "encounterId"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_Encounters_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "encounters"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_EncounterWithImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "encounter_with_image"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_EncountersWithImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "encounters_with_image"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -1261,4 +1450,10 @@ var ( forward_Query_Server_0 = runtime.ForwardResponseMessage forward_Query_Encounter_0 = runtime.ForwardResponseMessage + + forward_Query_Encounters_0 = runtime.ForwardResponseMessage + + forward_Query_EncounterWithImage_0 = runtime.ForwardResponseMessage + + forward_Query_EncountersWithImage_0 = runtime.ForwardResponseMessage ) diff --git a/x/cardchain/types/running_average.pb.go b/x/cardchain/types/running_average.pb.go index 66809249..21f80b8f 100644 --- a/x/cardchain/types/running_average.pb.go +++ b/x/cardchain/types/running_average.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go index 460f7093..32a2be10 100644 --- a/x/cardchain/types/sell_offer.pb.go +++ b/x/cardchain/types/sell_offer.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/server.pb.go b/x/cardchain/types/server.pb.go index 8ed475d1..ea0ae809 100644 --- a/x/cardchain/types/server.pb.go +++ b/x/cardchain/types/server.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index 94c81951..e855ac39 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - types "github.com/cosmos/cosmos-sdk/types" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set_with_artwork.pb.go b/x/cardchain/types/set_with_artwork.pb.go index 31f9721e..04e0c25e 100644 --- a/x/cardchain/types/set_with_artwork.pb.go +++ b/x/cardchain/types/set_with_artwork.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index dd34e69e..182c66f7 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -20,6 +16,9 @@ import ( 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. diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index bc73282c..f70e234d 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go index 45e01b16..6911a3d0 100644 --- a/x/cardchain/types/voting.pb.go +++ b/x/cardchain/types/voting.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go index 36bda627..30e9aaf4 100644 --- a/x/cardchain/types/zealy.pb.go +++ b/x/cardchain/types/zealy.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/flag.pb.go b/x/featureflag/types/flag.pb.go index 9ea00283..e1dd5d4d 100644 --- a/x/featureflag/types/flag.pb.go +++ b/x/featureflag/types/flag.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/genesis.pb.go b/x/featureflag/types/genesis.pb.go index 6113e755..da869d10 100644 --- a/x/featureflag/types/genesis.pb.go +++ b/x/featureflag/types/genesis.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/params.pb.go b/x/featureflag/types/params.pb.go index 41595524..46dbabd7 100644 --- a/x/featureflag/types/params.pb.go +++ b/x/featureflag/types/params.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/query.pb.go b/x/featureflag/types/query.pb.go index e7d3b919..2ec990b9 100644 --- a/x/featureflag/types/query.pb.go +++ b/x/featureflag/types/query.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -19,6 +15,9 @@ import ( 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. diff --git a/x/featureflag/types/tx.pb.go b/x/featureflag/types/tx.pb.go index 94b4be1b..af61eaab 100644 --- a/x/featureflag/types/tx.pb.go +++ b/x/featureflag/types/tx.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -19,6 +15,9 @@ import ( 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. From 57bc4244eb0e9e4b80cbf365f727893a7352c924 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 14:23:40 +0100 Subject: [PATCH 48/99] feat(#242): cosmos v0.50.11 --- go.mod | 20 ++++++++++---------- go.sum | 40 ++++++++++++++++++++-------------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/go.mod b/go.mod index 98c347a0..21835be7 100644 --- a/go.mod +++ b/go.mod @@ -12,10 +12,10 @@ replace ( ) require ( - cosmossdk.io/api v0.7.5 + cosmossdk.io/api v0.7.6 cosmossdk.io/client/v2 v2.0.0-beta.5 cosmossdk.io/core v0.11.1 - cosmossdk.io/depinject v1.0.0 + cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.4.1 cosmossdk.io/math v1.4.0 @@ -29,9 +29,9 @@ require ( github.com/DecentralCardGame/cardobject v0.5.3 github.com/bufbuild/buf v1.34.0 github.com/cometbft/cometbft v0.38.12 - github.com/cosmos/cosmos-db v1.0.2 + github.com/cosmos/cosmos-db v1.1.0 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/cosmos-sdk v0.50.10 + github.com/cosmos/cosmos-sdk v0.50.11 github.com/cosmos/gogoproto v1.7.0 github.com/cosmos/ibc-go/modules/capability v1.0.1 github.com/cosmos/ibc-go/v8 v8.5.1 @@ -39,7 +39,7 @@ require ( github.com/gorilla/mux v1.8.1 github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 - github.com/spf13/cast v1.6.0 + github.com/spf13/cast v1.7.0 github.com/spf13/cobra v1.8.1 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.19.0 @@ -65,7 +65,7 @@ require ( connectrpc.com/connect v1.16.2 // indirect connectrpc.com/otelconnect v0.7.0 // indirect cosmossdk.io/collections v0.4.0 // indirect - cosmossdk.io/x/tx v0.13.5 // indirect + cosmossdk.io/x/tx v0.13.7 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect @@ -92,7 +92,7 @@ require ( github.com/cockroachdb/errors v1.11.3 // indirect github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect - github.com/cockroachdb/pebble v1.1.1 // indirect + github.com/cockroachdb/pebble v1.1.2 // indirect github.com/cockroachdb/redact v1.1.5 // indirect github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft-db v0.11.0 // indirect @@ -100,7 +100,7 @@ require ( github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/iavl v1.2.0 // indirect + github.com/cosmos/iavl v1.2.2 // indirect github.com/cosmos/ics23/go v0.11.0 // indirect github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect @@ -122,7 +122,7 @@ require ( github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.6.0 // indirect - github.com/emicklei/dot v1.6.1 // indirect + github.com/emicklei/dot v1.6.2 // indirect github.com/fatih/camelcase v1.0.0 // indirect github.com/fatih/color v1.15.0 // indirect github.com/felixge/fgprof v0.9.4 // indirect @@ -144,7 +144,7 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/mock v1.6.0 // indirect github.com/golang/snappy v0.0.4 // indirect - github.com/google/btree v1.1.2 // indirect + github.com/google/btree v1.1.3 // indirect github.com/google/cel-go v0.20.1 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/go-containerregistry v0.19.2 // indirect diff --git a/go.sum b/go.sum index 5a7f4466..735c0209 100644 --- a/go.sum +++ b/go.sum @@ -196,16 +196,16 @@ connectrpc.com/connect v1.16.2 h1:ybd6y+ls7GOlb7Bh5C8+ghA6SvCBajHwxssO2CGFjqE= connectrpc.com/connect v1.16.2/go.mod h1:n2kgwskMHXC+lVqb18wngEpF95ldBHXjZYJussz5FRc= connectrpc.com/otelconnect v0.7.0 h1:ZH55ZZtcJOTKWWLy3qmL4Pam4RzRWBJFOqTPyAqCXkY= connectrpc.com/otelconnect v0.7.0/go.mod h1:Bt2ivBymHZHqxvo4HkJ0EwHuUzQN6k2l0oH+mp/8nwc= -cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= -cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/api v0.7.6 h1:PC20PcXy1xYKH2KU4RMurVoFjjKkCgYRbVAD4PdqUuY= +cosmossdk.io/api v0.7.6/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= cosmossdk.io/client/v2 v2.0.0-beta.5 h1:0LVv3nEByn//hFDIrYLs2WvsEU3HodOelh4SDHnA/1I= cosmossdk.io/client/v2 v2.0.0-beta.5/go.mod h1:4p0P6o0ro+FizakJUYS9SeM94RNbv0thLmkHRw5o5as= cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= cosmossdk.io/core v0.11.1 h1:h9WfBey7NAiFfIcUhDVNS503I2P2HdZLebJlUIs8LPA= cosmossdk.io/core v0.11.1/go.mod h1:OJzxcdC+RPrgGF8NJZR2uoQr56tc7gfBKhiKeDO7hH0= -cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050= -cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8= +cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= +cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= cosmossdk.io/log v1.4.1 h1:wKdjfDRbDyZRuWa8M+9nuvpVYxrEOwbD/CA8hvhU8QM= @@ -224,8 +224,8 @@ cosmossdk.io/x/feegrant v0.1.1 h1:EKFWOeo/pup0yF0svDisWWKAA9Zags6Zd0P3nRvVvw8= cosmossdk.io/x/feegrant v0.1.1/go.mod h1:2GjVVxX6G2fta8LWj7pC/ytHjryA6MHAJroBWHFNiEQ= cosmossdk.io/x/nft v0.1.0 h1:VhcsFiEK33ODN27kxKLa0r/CeFd8laBfbDBwYqCyYCM= cosmossdk.io/x/nft v0.1.0/go.mod h1:ec4j4QAO4mJZ+45jeYRnW7awLHby1JZANqe1hNZ4S3g= -cosmossdk.io/x/tx v0.13.5 h1:FdnU+MdmFWn1pTsbfU0OCf2u6mJ8cqc1H4OMG418MLw= -cosmossdk.io/x/tx v0.13.5/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= +cosmossdk.io/x/tx v0.13.7 h1:8WSk6B/OHJLYjiZeMKhq7DK7lHDMyK0UfDbBMxVmeOI= +cosmossdk.io/x/tx v0.13.7/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= cosmossdk.io/x/upgrade v0.1.4 h1:/BWJim24QHoXde8Bc64/2BSEB6W4eTydq0X/2f8+g38= cosmossdk.io/x/upgrade v0.1.4/go.mod h1:9v0Aj+fs97O+Ztw+tG3/tp5JSlrmT7IcFhAebQHmOPo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= @@ -357,8 +357,8 @@ github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce h1:giXvy4KSc/6g/e github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce/go.mod h1:9/y3cnZ5GKakj/H4y9r9GTjCvAFta7KLgSHPJJYc52M= github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= -github.com/cockroachdb/pebble v1.1.1 h1:XnKU22oiCLy2Xn8vp1re67cXg4SAasg/WDt1NtcRFaw= -github.com/cockroachdb/pebble v1.1.1/go.mod h1:4exszw1r40423ZsmkG/09AFEG83I0uDgfujJdbL6kYU= +github.com/cockroachdb/pebble v1.1.2 h1:CUh2IPtR4swHlEj48Rhfzw6l/d0qA31fItcIszQVIsA= +github.com/cockroachdb/pebble v1.1.2/go.mod h1:4exszw1r40423ZsmkG/09AFEG83I0uDgfujJdbL6kYU= github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= @@ -382,12 +382,12 @@ github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= 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-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAKs= -github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= +github.com/cosmos/cosmos-db v1.1.0 h1:KLHNVQ73h7vawXTpj9UJ7ZR2IXv51tsEHkQJJ9EBDzI= +github.com/cosmos/cosmos-db v1.1.0/go.mod h1:t7c4A6cfGdpUwwVxrQ0gQLeRQqGUBJu0yvE4F/26REg= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.50.10 h1:zXfeu/z653tWZARr/jESzAEiCUYjgJwwG4ytnYWMoDM= -github.com/cosmos/cosmos-sdk v0.50.10/go.mod h1:6Eesrx3ZE7vxBZWpK++30H+Uc7Q4ahQWCL7JKU/LEdU= +github.com/cosmos/cosmos-sdk v0.50.11 h1:LxR1aAc8kixdrs3itO+3a44sFoc+vjxVAOyPFx22yjk= +github.com/cosmos/cosmos-sdk v0.50.11/go.mod h1:gt14Meok2IDCjbDtjwkbUcgVNEpUBDN/4hg9cCUtLgw= 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/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= @@ -395,8 +395,8 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= github.com/cosmos/gogoproto v1.7.0 h1:79USr0oyXAbxg3rspGh/m4SWNyoz/GLaAh0QlCe2fro= github.com/cosmos/gogoproto v1.7.0/go.mod h1:yWChEv5IUEYURQasfyBW5ffkMHR/90hiHgbNgrtp4j0= -github.com/cosmos/iavl v1.2.0 h1:kVxTmjTh4k0Dh1VNL046v6BXqKziqMDzxo93oh3kOfM= -github.com/cosmos/iavl v1.2.0/go.mod h1:HidWWLVAtODJqFD6Hbne2Y0q3SdxByJepHUOeoH4LiI= +github.com/cosmos/iavl v1.2.2 h1:qHhKW3I70w+04g5KdsdVSHRbFLgt3yY3qTMd4Xa4rC8= +github.com/cosmos/iavl v1.2.2/go.mod h1:GiM43q0pB+uG53mLxLDzimxM9l/5N9UuSY3/D0huuVw= github.com/cosmos/ibc-go/modules/capability v1.0.1 h1:ibwhrpJ3SftEEZRxCRkH0fQZ9svjthrX2+oXdZvzgGI= github.com/cosmos/ibc-go/modules/capability v1.0.1/go.mod h1:rquyOV262nGJplkumH+/LeYs04P3eV8oB7ZM4Ygqk4E= github.com/cosmos/ibc-go/v8 v8.5.1 h1:3JleEMKBjRKa3FeTKt4fjg22za/qygLBo7mDkoYTNBs= @@ -462,8 +462,8 @@ github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5m 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 v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/emicklei/dot v1.6.1 h1:ujpDlBkkwgWUY+qPId5IwapRW/xEoligRSYjioR6DFI= -github.com/emicklei/dot v1.6.1/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= +github.com/emicklei/dot v1.6.2 h1:08GN+DD79cy/tzN6uLCT84+2Wk9u+wvqP+Hkx/dIR8A= +github.com/emicklei/dot v1.6.2/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= 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= @@ -614,8 +614,8 @@ github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/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/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -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/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= +github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= github.com/google/cel-go v0.20.1 h1:nDx9r8S3L4pE61eDdt8igGj8rf5kjYR3ILxWIpWNi84= github.com/google/cel-go v0.20.1/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u4dOYLg= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -1064,8 +1064,8 @@ github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= -github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w= +github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= 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.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= From bf5fa239f9626d6589b54e8a9d396579a4cc9466 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 14:45:13 +0100 Subject: [PATCH 49/99] feat(#242): Added CardchainInfo query proto --- api/cardchain/cardchain/query.pulsar.go | 1867 +++++++++++++++++--- api/cardchain/cardchain/query_grpc.pb.go | 39 + docs/static/openapi.yml | 2 +- gen_queries.sh | 7 +- proto/cardchain/cardchain/query.proto | 258 +-- x/cardchain/keeper/query_cardchain_info.go | 23 + x/cardchain/module/autocli.go | 7 + x/cardchain/types/query.pb.go | 831 +++++++-- x/cardchain/types/query.pb.gw.go | 211 +++ 9 files changed, 2802 insertions(+), 443 deletions(-) create mode 100644 x/cardchain/keeper/query_cardchain_info.go diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 8c9c20e3..7085ae9c 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -4,6 +4,7 @@ package cardchain import ( _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" + v1beta11 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" @@ -13943,6 +13944,1217 @@ func (x *fastReflection_QueryEncountersWithImageResponse) ProtoMethods() *protoi } } +var _ protoreflect.List = (*_QueryCardchainInfoRequest_1_list)(nil) + +type _QueryCardchainInfoRequest_1_list struct { + list *[]uint64 +} + +func (x *_QueryCardchainInfoRequest_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryCardchainInfoRequest_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_QueryCardchainInfoRequest_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QueryCardchainInfoRequest_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryCardchainInfoRequest_1_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QueryCardchainInfoRequest at list field ActiveSets as it is not of Message kind")) +} + +func (x *_QueryCardchainInfoRequest_1_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QueryCardchainInfoRequest_1_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_QueryCardchainInfoRequest_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryCardchainInfoRequest protoreflect.MessageDescriptor + fd_QueryCardchainInfoRequest_activeSets protoreflect.FieldDescriptor + fd_QueryCardchainInfoRequest_cardsNumber protoreflect.FieldDescriptor + fd_QueryCardchainInfoRequest_matchesNumber protoreflect.FieldDescriptor + fd_QueryCardchainInfoRequest_sellOffersNumber protoreflect.FieldDescriptor + fd_QueryCardchainInfoRequest_councilsNumber protoreflect.FieldDescriptor + fd_QueryCardchainInfoRequest_lastCardModified protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryCardchainInfoRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardchainInfoRequest") + fd_QueryCardchainInfoRequest_activeSets = md_QueryCardchainInfoRequest.Fields().ByName("activeSets") + fd_QueryCardchainInfoRequest_cardsNumber = md_QueryCardchainInfoRequest.Fields().ByName("cardsNumber") + fd_QueryCardchainInfoRequest_matchesNumber = md_QueryCardchainInfoRequest.Fields().ByName("matchesNumber") + fd_QueryCardchainInfoRequest_sellOffersNumber = md_QueryCardchainInfoRequest.Fields().ByName("sellOffersNumber") + fd_QueryCardchainInfoRequest_councilsNumber = md_QueryCardchainInfoRequest.Fields().ByName("councilsNumber") + fd_QueryCardchainInfoRequest_lastCardModified = md_QueryCardchainInfoRequest.Fields().ByName("lastCardModified") +} + +var _ protoreflect.Message = (*fastReflection_QueryCardchainInfoRequest)(nil) + +type fastReflection_QueryCardchainInfoRequest QueryCardchainInfoRequest + +func (x *QueryCardchainInfoRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCardchainInfoRequest)(x) +} + +func (x *QueryCardchainInfoRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCardchainInfoRequest_messageType fastReflection_QueryCardchainInfoRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryCardchainInfoRequest_messageType{} + +type fastReflection_QueryCardchainInfoRequest_messageType struct{} + +func (x fastReflection_QueryCardchainInfoRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCardchainInfoRequest)(nil) +} +func (x fastReflection_QueryCardchainInfoRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCardchainInfoRequest) +} +func (x fastReflection_QueryCardchainInfoRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardchainInfoRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCardchainInfoRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardchainInfoRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCardchainInfoRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryCardchainInfoRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCardchainInfoRequest) New() protoreflect.Message { + return new(fastReflection_QueryCardchainInfoRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCardchainInfoRequest) Interface() protoreflect.ProtoMessage { + return (*QueryCardchainInfoRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCardchainInfoRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.ActiveSets) != 0 { + value := protoreflect.ValueOfList(&_QueryCardchainInfoRequest_1_list{list: &x.ActiveSets}) + if !f(fd_QueryCardchainInfoRequest_activeSets, value) { + return + } + } + if x.CardsNumber != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardsNumber) + if !f(fd_QueryCardchainInfoRequest_cardsNumber, value) { + return + } + } + if x.MatchesNumber != uint64(0) { + value := protoreflect.ValueOfUint64(x.MatchesNumber) + if !f(fd_QueryCardchainInfoRequest_matchesNumber, value) { + return + } + } + if x.SellOffersNumber != uint64(0) { + value := protoreflect.ValueOfUint64(x.SellOffersNumber) + if !f(fd_QueryCardchainInfoRequest_sellOffersNumber, value) { + return + } + } + if x.CouncilsNumber != uint64(0) { + value := protoreflect.ValueOfUint64(x.CouncilsNumber) + if !f(fd_QueryCardchainInfoRequest_councilsNumber, value) { + return + } + } + if x.LastCardModified != uint64(0) { + value := protoreflect.ValueOfUint64(x.LastCardModified) + if !f(fd_QueryCardchainInfoRequest_lastCardModified, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCardchainInfoRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardchainInfoRequest.activeSets": + return len(x.ActiveSets) != 0 + case "cardchain.cardchain.QueryCardchainInfoRequest.cardsNumber": + return x.CardsNumber != uint64(0) + case "cardchain.cardchain.QueryCardchainInfoRequest.matchesNumber": + return x.MatchesNumber != uint64(0) + case "cardchain.cardchain.QueryCardchainInfoRequest.sellOffersNumber": + return x.SellOffersNumber != uint64(0) + case "cardchain.cardchain.QueryCardchainInfoRequest.councilsNumber": + return x.CouncilsNumber != uint64(0) + case "cardchain.cardchain.QueryCardchainInfoRequest.lastCardModified": + return x.LastCardModified != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardchainInfoRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardchainInfoRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardchainInfoRequest.activeSets": + x.ActiveSets = nil + case "cardchain.cardchain.QueryCardchainInfoRequest.cardsNumber": + x.CardsNumber = uint64(0) + case "cardchain.cardchain.QueryCardchainInfoRequest.matchesNumber": + x.MatchesNumber = uint64(0) + case "cardchain.cardchain.QueryCardchainInfoRequest.sellOffersNumber": + x.SellOffersNumber = uint64(0) + case "cardchain.cardchain.QueryCardchainInfoRequest.councilsNumber": + x.CouncilsNumber = uint64(0) + case "cardchain.cardchain.QueryCardchainInfoRequest.lastCardModified": + x.LastCardModified = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardchainInfoRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCardchainInfoRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryCardchainInfoRequest.activeSets": + if len(x.ActiveSets) == 0 { + return protoreflect.ValueOfList(&_QueryCardchainInfoRequest_1_list{}) + } + listValue := &_QueryCardchainInfoRequest_1_list{list: &x.ActiveSets} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QueryCardchainInfoRequest.cardsNumber": + value := x.CardsNumber + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.QueryCardchainInfoRequest.matchesNumber": + value := x.MatchesNumber + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.QueryCardchainInfoRequest.sellOffersNumber": + value := x.SellOffersNumber + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.QueryCardchainInfoRequest.councilsNumber": + value := x.CouncilsNumber + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.QueryCardchainInfoRequest.lastCardModified": + value := x.LastCardModified + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardchainInfoRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardchainInfoRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardchainInfoRequest.activeSets": + lv := value.List() + clv := lv.(*_QueryCardchainInfoRequest_1_list) + x.ActiveSets = *clv.list + case "cardchain.cardchain.QueryCardchainInfoRequest.cardsNumber": + x.CardsNumber = value.Uint() + case "cardchain.cardchain.QueryCardchainInfoRequest.matchesNumber": + x.MatchesNumber = value.Uint() + case "cardchain.cardchain.QueryCardchainInfoRequest.sellOffersNumber": + x.SellOffersNumber = value.Uint() + case "cardchain.cardchain.QueryCardchainInfoRequest.councilsNumber": + x.CouncilsNumber = value.Uint() + case "cardchain.cardchain.QueryCardchainInfoRequest.lastCardModified": + x.LastCardModified = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardchainInfoRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardchainInfoRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardchainInfoRequest.activeSets": + if x.ActiveSets == nil { + x.ActiveSets = []uint64{} + } + value := &_QueryCardchainInfoRequest_1_list{list: &x.ActiveSets} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QueryCardchainInfoRequest.cardsNumber": + panic(fmt.Errorf("field cardsNumber of message cardchain.cardchain.QueryCardchainInfoRequest is not mutable")) + case "cardchain.cardchain.QueryCardchainInfoRequest.matchesNumber": + panic(fmt.Errorf("field matchesNumber of message cardchain.cardchain.QueryCardchainInfoRequest is not mutable")) + case "cardchain.cardchain.QueryCardchainInfoRequest.sellOffersNumber": + panic(fmt.Errorf("field sellOffersNumber of message cardchain.cardchain.QueryCardchainInfoRequest is not mutable")) + case "cardchain.cardchain.QueryCardchainInfoRequest.councilsNumber": + panic(fmt.Errorf("field councilsNumber of message cardchain.cardchain.QueryCardchainInfoRequest is not mutable")) + case "cardchain.cardchain.QueryCardchainInfoRequest.lastCardModified": + panic(fmt.Errorf("field lastCardModified of message cardchain.cardchain.QueryCardchainInfoRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardchainInfoRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCardchainInfoRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardchainInfoRequest.activeSets": + list := []uint64{} + return protoreflect.ValueOfList(&_QueryCardchainInfoRequest_1_list{list: &list}) + case "cardchain.cardchain.QueryCardchainInfoRequest.cardsNumber": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.QueryCardchainInfoRequest.matchesNumber": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.QueryCardchainInfoRequest.sellOffersNumber": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.QueryCardchainInfoRequest.councilsNumber": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.QueryCardchainInfoRequest.lastCardModified": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardchainInfoRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCardchainInfoRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardchainInfoRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCardchainInfoRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardchainInfoRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCardchainInfoRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCardchainInfoRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCardchainInfoRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.ActiveSets) > 0 { + l = 0 + for _, e := range x.ActiveSets { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.CardsNumber != 0 { + n += 1 + runtime.Sov(uint64(x.CardsNumber)) + } + if x.MatchesNumber != 0 { + n += 1 + runtime.Sov(uint64(x.MatchesNumber)) + } + if x.SellOffersNumber != 0 { + n += 1 + runtime.Sov(uint64(x.SellOffersNumber)) + } + if x.CouncilsNumber != 0 { + n += 1 + runtime.Sov(uint64(x.CouncilsNumber)) + } + if x.LastCardModified != 0 { + n += 1 + runtime.Sov(uint64(x.LastCardModified)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCardchainInfoRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.LastCardModified != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.LastCardModified)) + i-- + dAtA[i] = 0x30 + } + if x.CouncilsNumber != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CouncilsNumber)) + i-- + dAtA[i] = 0x28 + } + if x.SellOffersNumber != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SellOffersNumber)) + i-- + dAtA[i] = 0x20 + } + if x.MatchesNumber != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.MatchesNumber)) + i-- + dAtA[i] = 0x18 + } + if x.CardsNumber != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardsNumber)) + i-- + dAtA[i] = 0x10 + } + if len(x.ActiveSets) > 0 { + var pksize2 int + for _, num := range x.ActiveSets { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.ActiveSets { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCardchainInfoRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardchainInfoRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardchainInfoRequest: 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.ActiveSets = append(x.ActiveSets, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.ActiveSets) == 0 { + x.ActiveSets = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.ActiveSets = append(x.ActiveSets, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ActiveSets", wireType) + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardsNumber", wireType) + } + x.CardsNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardsNumber |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MatchesNumber", wireType) + } + x.MatchesNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.MatchesNumber |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SellOffersNumber", wireType) + } + x.SellOffersNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SellOffersNumber |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CouncilsNumber", wireType) + } + x.CouncilsNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CouncilsNumber |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field LastCardModified", wireType) + } + x.LastCardModified = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.LastCardModified |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryCardchainInfoResponse protoreflect.MessageDescriptor + fd_QueryCardchainInfoResponse_cardAuctionPrice protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryCardchainInfoResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardchainInfoResponse") + fd_QueryCardchainInfoResponse_cardAuctionPrice = md_QueryCardchainInfoResponse.Fields().ByName("cardAuctionPrice") +} + +var _ protoreflect.Message = (*fastReflection_QueryCardchainInfoResponse)(nil) + +type fastReflection_QueryCardchainInfoResponse QueryCardchainInfoResponse + +func (x *QueryCardchainInfoResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCardchainInfoResponse)(x) +} + +func (x *QueryCardchainInfoResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCardchainInfoResponse_messageType fastReflection_QueryCardchainInfoResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryCardchainInfoResponse_messageType{} + +type fastReflection_QueryCardchainInfoResponse_messageType struct{} + +func (x fastReflection_QueryCardchainInfoResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCardchainInfoResponse)(nil) +} +func (x fastReflection_QueryCardchainInfoResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCardchainInfoResponse) +} +func (x fastReflection_QueryCardchainInfoResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardchainInfoResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCardchainInfoResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardchainInfoResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCardchainInfoResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryCardchainInfoResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCardchainInfoResponse) New() protoreflect.Message { + return new(fastReflection_QueryCardchainInfoResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCardchainInfoResponse) Interface() protoreflect.ProtoMessage { + return (*QueryCardchainInfoResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCardchainInfoResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CardAuctionPrice != nil { + value := protoreflect.ValueOfMessage(x.CardAuctionPrice.ProtoReflect()) + if !f(fd_QueryCardchainInfoResponse_cardAuctionPrice, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCardchainInfoResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": + return x.CardAuctionPrice != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardchainInfoResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardchainInfoResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": + x.CardAuctionPrice = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardchainInfoResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCardchainInfoResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": + value := x.CardAuctionPrice + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardchainInfoResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardchainInfoResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": + x.CardAuctionPrice = value.Message().Interface().(*v1beta11.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardchainInfoResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardchainInfoResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": + if x.CardAuctionPrice == nil { + x.CardAuctionPrice = new(v1beta11.Coin) + } + return protoreflect.ValueOfMessage(x.CardAuctionPrice.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardchainInfoResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCardchainInfoResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": + m := new(v1beta11.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardchainInfoResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCardchainInfoResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardchainInfoResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCardchainInfoResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardchainInfoResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCardchainInfoResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCardchainInfoResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCardchainInfoResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.CardAuctionPrice != nil { + l = options.Size(x.CardAuctionPrice) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCardchainInfoResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CardAuctionPrice != nil { + encoded, err := options.Marshal(x.CardAuctionPrice) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCardchainInfoResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardchainInfoResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardchainInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardAuctionPrice", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.CardAuctionPrice == nil { + x.CardAuctionPrice = &v1beta11.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CardAuctionPrice); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -15069,6 +16281,116 @@ func (x *QueryEncountersWithImageResponse) GetEncounters() []*EncounterWithImage return nil } +type QueryCardchainInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ActiveSets []uint64 `protobuf:"varint,1,rep,packed,name=activeSets,proto3" json:"activeSets,omitempty"` + CardsNumber uint64 `protobuf:"varint,2,opt,name=cardsNumber,proto3" json:"cardsNumber,omitempty"` + MatchesNumber uint64 `protobuf:"varint,3,opt,name=matchesNumber,proto3" json:"matchesNumber,omitempty"` + SellOffersNumber uint64 `protobuf:"varint,4,opt,name=sellOffersNumber,proto3" json:"sellOffersNumber,omitempty"` + CouncilsNumber uint64 `protobuf:"varint,5,opt,name=councilsNumber,proto3" json:"councilsNumber,omitempty"` + LastCardModified uint64 `protobuf:"varint,6,opt,name=lastCardModified,proto3" json:"lastCardModified,omitempty"` +} + +func (x *QueryCardchainInfoRequest) Reset() { + *x = QueryCardchainInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardchainInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardchainInfoRequest) ProtoMessage() {} + +// Deprecated: Use QueryCardchainInfoRequest.ProtoReflect.Descriptor instead. +func (*QueryCardchainInfoRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{30} +} + +func (x *QueryCardchainInfoRequest) GetActiveSets() []uint64 { + if x != nil { + return x.ActiveSets + } + return nil +} + +func (x *QueryCardchainInfoRequest) GetCardsNumber() uint64 { + if x != nil { + return x.CardsNumber + } + return 0 +} + +func (x *QueryCardchainInfoRequest) GetMatchesNumber() uint64 { + if x != nil { + return x.MatchesNumber + } + return 0 +} + +func (x *QueryCardchainInfoRequest) GetSellOffersNumber() uint64 { + if x != nil { + return x.SellOffersNumber + } + return 0 +} + +func (x *QueryCardchainInfoRequest) GetCouncilsNumber() uint64 { + if x != nil { + return x.CouncilsNumber + } + return 0 +} + +func (x *QueryCardchainInfoRequest) GetLastCardModified() uint64 { + if x != nil { + return x.LastCardModified + } + return 0 +} + +type QueryCardchainInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardAuctionPrice *v1beta11.Coin `protobuf:"bytes,1,opt,name=cardAuctionPrice,proto3" json:"cardAuctionPrice,omitempty"` +} + +func (x *QueryCardchainInfoResponse) Reset() { + *x = QueryCardchainInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardchainInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardchainInfoResponse) ProtoMessage() {} + +// Deprecated: Use QueryCardchainInfoResponse.ProtoReflect.Descriptor instead. +func (*QueryCardchainInfoResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{31} +} + +func (x *QueryCardchainInfoResponse) GetCardAuctionPrice() *v1beta11.Coin { + if x != nil { + return x.CardAuctionPrice + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -15110,7 +16432,9 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, - 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, + 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, @@ -15273,179 +16597,220 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x32, 0xe9, 0x13, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, - 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, - 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, - 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, - 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, - 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x22, 0x83, 0x02, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x20, + 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, + 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x69, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, + 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x32, 0x80, 0x16, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, - 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, + 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, - 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, + 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, + 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, + 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, + 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, + 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, + 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, - 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, - 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, - 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, - 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, - 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, - 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0xd2, 0x01, 0x0a, - 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, + 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, + 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x94, 0x02, + 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xa1, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9a, 0x01, 0x12, 0x97, 0x01, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x2f, 0x7b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x7d, 0x2f, + 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x73, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, + 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x7d, 0x2f, 0x7b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, + 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -15460,7 +16825,7 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 32) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse @@ -15492,80 +16857,86 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryEncounterWithImageResponse)(nil), // 27: cardchain.cardchain.QueryEncounterWithImageResponse (*QueryEncountersWithImageRequest)(nil), // 28: cardchain.cardchain.QueryEncountersWithImageRequest (*QueryEncountersWithImageResponse)(nil), // 29: cardchain.cardchain.QueryEncountersWithImageResponse - (*Params)(nil), // 30: cardchain.cardchain.Params - (*ProductDetails)(nil), // 31: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 32: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 33: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 34: cardchain.cardchain.CardWithImage - (*User)(nil), // 35: cardchain.cardchain.User - (CardStatus)(0), // 36: cardchain.cardchain.CardStatus - (CardType)(0), // 37: cardchain.cardchain.CardType - (CardClass)(0), // 38: cardchain.cardchain.CardClass - (CardRarity)(0), // 39: cardchain.cardchain.CardRarity - (*Match)(nil), // 40: cardchain.cardchain.Match - (*SetWithArtwork)(nil), // 41: cardchain.cardchain.SetWithArtwork - (*SellOffer)(nil), // 42: cardchain.cardchain.SellOffer - (*Council)(nil), // 43: cardchain.cardchain.Council - (*Server)(nil), // 44: cardchain.cardchain.Server - (*Encounter)(nil), // 45: cardchain.cardchain.Encounter - (*EncounterWithImage)(nil), // 46: cardchain.cardchain.EncounterWithImage + (*QueryCardchainInfoRequest)(nil), // 30: cardchain.cardchain.QueryCardchainInfoRequest + (*QueryCardchainInfoResponse)(nil), // 31: cardchain.cardchain.QueryCardchainInfoResponse + (*Params)(nil), // 32: cardchain.cardchain.Params + (*ProductDetails)(nil), // 33: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 34: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 35: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 36: cardchain.cardchain.CardWithImage + (*User)(nil), // 37: cardchain.cardchain.User + (CardStatus)(0), // 38: cardchain.cardchain.CardStatus + (CardType)(0), // 39: cardchain.cardchain.CardType + (CardClass)(0), // 40: cardchain.cardchain.CardClass + (CardRarity)(0), // 41: cardchain.cardchain.CardRarity + (*Match)(nil), // 42: cardchain.cardchain.Match + (*SetWithArtwork)(nil), // 43: cardchain.cardchain.SetWithArtwork + (*SellOffer)(nil), // 44: cardchain.cardchain.SellOffer + (*Council)(nil), // 45: cardchain.cardchain.Council + (*Server)(nil), // 46: cardchain.cardchain.Server + (*Encounter)(nil), // 47: cardchain.cardchain.Encounter + (*EncounterWithImage)(nil), // 48: cardchain.cardchain.EncounterWithImage + (*v1beta11.Coin)(nil), // 49: cosmos.base.v1beta1.Coin } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 30, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 31, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 32, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 31, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 33, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 34, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 35, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 36, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus - 37, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType - 38, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass - 39, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity - 40, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match - 41, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork - 42, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer - 43, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council - 44, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server - 45, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter - 45, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter - 46, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage - 46, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage - 0, // 20: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 21: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 22: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 23: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 24: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 25: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 12, // 26: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest - 14, // 27: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest - 16, // 28: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest - 18, // 29: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest - 20, // 30: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest - 22, // 31: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest - 24, // 32: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest - 26, // 33: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest - 28, // 34: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest - 1, // 35: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 36: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 37: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 38: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 39: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 40: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 13, // 41: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse - 15, // 42: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse - 17, // 43: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse - 19, // 44: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse - 21, // 45: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse - 23, // 46: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse - 25, // 47: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse - 27, // 48: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse - 29, // 49: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse - 35, // [35:50] is the sub-list for method output_type - 20, // [20:35] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 32, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 33, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 34, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 33, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 35, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 36, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 37, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 38, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 39, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 40, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 41, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 42, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match + 43, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork + 44, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer + 45, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council + 46, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server + 47, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter + 47, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter + 48, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage + 48, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage + 49, // 20: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin + 0, // 21: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 22: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 23: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 24: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 25: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 10, // 26: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 12, // 27: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest + 14, // 28: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest + 16, // 29: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest + 18, // 30: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest + 20, // 31: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest + 22, // 32: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest + 24, // 33: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest + 26, // 34: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest + 28, // 35: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest + 30, // 36: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest + 1, // 37: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 38: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 39: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 40: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 41: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 42: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 13, // 43: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse + 15, // 44: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse + 17, // 45: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse + 19, // 46: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse + 21, // 47: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse + 23, // 48: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse + 25, // 49: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse + 27, // 50: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse + 29, // 51: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse + 31, // 52: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse + 37, // [37:53] is the sub-list for method output_type + 21, // [21:37] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -15946,6 +17317,30 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryCardchainInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryCardchainInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -15953,7 +17348,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 30, + NumMessages: 32, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index ddf6f16f..7e704286 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -34,6 +34,7 @@ const ( Query_Encounters_FullMethodName = "/cardchain.cardchain.Query/Encounters" Query_EncounterWithImage_FullMethodName = "/cardchain.cardchain.Query/EncounterWithImage" Query_EncountersWithImage_FullMethodName = "/cardchain.cardchain.Query/EncountersWithImage" + Query_CardchainInfo_FullMethodName = "/cardchain.cardchain.Query/CardchainInfo" ) // QueryClient is the client API for Query service. @@ -69,6 +70,8 @@ type QueryClient interface { EncounterWithImage(ctx context.Context, in *QueryEncounterWithImageRequest, opts ...grpc.CallOption) (*QueryEncounterWithImageResponse, error) // Queries a list of EncountersWithImage items. EncountersWithImage(ctx context.Context, in *QueryEncountersWithImageRequest, opts ...grpc.CallOption) (*QueryEncountersWithImageResponse, error) + // Queries a list of CardchainInfo items. + CardchainInfo(ctx context.Context, in *QueryCardchainInfoRequest, opts ...grpc.CallOption) (*QueryCardchainInfoResponse, error) } type queryClient struct { @@ -214,6 +217,15 @@ func (c *queryClient) EncountersWithImage(ctx context.Context, in *QueryEncounte return out, nil } +func (c *queryClient) CardchainInfo(ctx context.Context, in *QueryCardchainInfoRequest, opts ...grpc.CallOption) (*QueryCardchainInfoResponse, error) { + out := new(QueryCardchainInfoResponse) + err := c.cc.Invoke(ctx, Query_CardchainInfo_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -247,6 +259,8 @@ type QueryServer interface { EncounterWithImage(context.Context, *QueryEncounterWithImageRequest) (*QueryEncounterWithImageResponse, error) // Queries a list of EncountersWithImage items. EncountersWithImage(context.Context, *QueryEncountersWithImageRequest) (*QueryEncountersWithImageResponse, error) + // Queries a list of CardchainInfo items. + CardchainInfo(context.Context, *QueryCardchainInfoRequest) (*QueryCardchainInfoResponse, error) mustEmbedUnimplementedQueryServer() } @@ -299,6 +313,9 @@ func (UnimplementedQueryServer) EncounterWithImage(context.Context, *QueryEncoun func (UnimplementedQueryServer) EncountersWithImage(context.Context, *QueryEncountersWithImageRequest) (*QueryEncountersWithImageResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EncountersWithImage not implemented") } +func (UnimplementedQueryServer) CardchainInfo(context.Context, *QueryCardchainInfoRequest) (*QueryCardchainInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardchainInfo not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -582,6 +599,24 @@ func _Query_EncountersWithImage_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Query_CardchainInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCardchainInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).CardchainInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_CardchainInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).CardchainInfo(ctx, req.(*QueryCardchainInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -649,6 +684,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "EncountersWithImage", Handler: _Query_EncountersWithImage_Handler, }, + { + MethodName: "CardchainInfo", + Handler: _Query_CardchainInfo_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index a209a22b..e4ef36b7 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin23","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin24","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"string"}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info/{activeSets}/{cardsNumber}/{matchesNumber}/{sellOffersNumber}/{councilsNumber}/{lastCardModified}":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","parameters":[{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"activeSets","in":"path","required":true},{"type":"string","format":"uint64","name":"cardsNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"matchesNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"sellOffersNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"councilsNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"lastCardModified","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin23","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin24","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.auth.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the x/auth module\nparameters. The authority defaults to the x/gov module account.","operationId":"AuthMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","operationId":"AuthMsg_Exec","parameters":[{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Grant":{"post":{"tags":["Msg"],"summary":"Grant grants the provided authorization to the grantee on the granter's\naccount with the provided expiration time. If there is already a grant\nfor the given (granter, grantee, Authorization) triple, then the grant\nwill be overwritten.","operationId":"AuthMsg_Grant","parameters":[{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Revoke":{"post":{"tags":["Msg"],"summary":"Revoke revokes any authorization corresponding to the provided method name on the\ngranter's account that has been granted to the grantee.","operationId":"AuthMsg_Revoke","parameters":[{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevokeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.autocli.v1.Query/AppOptions":{"post":{"tags":["Query"],"summary":"AppOptions returns the autocli options for all of the modules in an app.","operationId":"AuthQuery_AppOptions","parameters":[{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/MultiSend":{"post":{"tags":["Msg"],"summary":"MultiSend defines a method for sending coins from some accounts to other accounts.","operationId":"AuthMsg_MultiSend","parameters":[{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method for sending coins from one account to another account.","operationId":"AuthMsg_Send","parameters":[{"description":"MsgSend represents a message to send coins from one account to another.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/SetSendEnabled":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"SetSendEnabled is a governance operation for setting the SendEnabled flag\non any number of Denoms. Only the entries to add or update should be\nincluded. Entries that already exist in the store, but that aren't\nincluded in this message, will be left unchanged.","operationId":"AuthMsg_SetSendEnabled","parameters":[{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabled"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/bank module parameters.\nThe authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin41","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/AuthorizeCircuitBreaker":{"post":{"tags":["Msg"],"summary":"AuthorizeCircuitBreaker allows a super-admin to grant (or revoke) another\naccount's circuit breaker permissions.","operationId":"AuthMsg_AuthorizeCircuitBreaker","parameters":[{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/ResetCircuitBreaker":{"post":{"tags":["Msg"],"summary":"ResetCircuitBreaker resumes processing of Msg's in the state machine that\nhave been been paused using TripCircuitBreaker.","operationId":"AuthMsg_ResetCircuitBreaker","parameters":[{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/TripCircuitBreaker":{"post":{"tags":["Msg"],"summary":"TripCircuitBreaker pauses processing of Msg's in the state machine.","operationId":"AuthMsg_TripCircuitBreaker","parameters":[{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.consensus.v1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/consensus module parameters.\nThe authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin54","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/crisis module\nparameters. The authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin56","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/VerifyInvariant":{"post":{"tags":["Msg"],"summary":"VerifyInvariant defines a method to verify a particular invariant.","operationId":"AuthMsg_VerifyInvariant","parameters":[{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/CommunityPoolSpend":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"CommunityPoolSpend defines a governance operation for sending tokens from\nthe community pool in the x/distribution module to another account, which\ncould be the governance module itself. The authority is defined in the\nkeeper.","operationId":"AuthMsg_CommunityPoolSpend","parameters":[{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/DepositValidatorRewardsPool":{"post":{"description":"Since: cosmos-sdk 0.50","tags":["Msg"],"summary":"DepositValidatorRewardsPool defines a method to provide additional rewards\nto delegators to a specific validator.","operationId":"AuthMsg_DepositValidatorRewardsPool","parameters":[{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.\n\nSince: cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/FundCommunityPool":{"post":{"tags":["Msg"],"summary":"FundCommunityPool defines a method to allow an account to directly\nfund the community pool.","operationId":"AuthMsg_FundCommunityPool","parameters":[{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/SetWithdrawAddress":{"post":{"tags":["Msg"],"summary":"SetWithdrawAddress defines a method to change the withdraw address\nfor a delegator (or validator self-delegation).","operationId":"AuthMsg_SetWithdrawAddress","parameters":[{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/distribution\nmodule parameters. The authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin67","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward":{"post":{"tags":["Msg"],"summary":"WithdrawDelegatorReward defines a method to withdraw rewards of delegator\nfrom a single validator.","operationId":"AuthMsg_WithdrawDelegatorReward","parameters":[{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission":{"post":{"tags":["Msg"],"summary":"WithdrawValidatorCommission defines a method to withdraw the\nfull commission to the validator address.","operationId":"AuthMsg_WithdrawValidatorCommission","parameters":[{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.evidence.v1beta1.Msg/SubmitEvidence":{"post":{"tags":["Msg"],"summary":"SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or\ncounterfactual signing.","operationId":"AuthMsg_SubmitEvidence","parameters":[{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidence"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/GrantAllowance":{"post":{"tags":["Msg"],"summary":"GrantAllowance grants fee allowance to the grantee on the granter's\naccount with the provided expiration time.","operationId":"AuthMsg_GrantAllowance","parameters":[{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/PruneAllowances":{"post":{"description":"Since cosmos-sdk 0.50","tags":["Msg"],"summary":"PruneAllowances prunes expired fee allowances, currently up to 75 at a time.","operationId":"AuthMsg_PruneAllowances","parameters":[{"description":"MsgPruneAllowances prunes expired fee allowances.\n\nSince cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowances"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/RevokeAllowance":{"post":{"tags":["Msg"],"summary":"RevokeAllowance revokes any fee allowance of granter's account that\nhas been granted to the grantee.","operationId":"AuthMsg_RevokeAllowance","parameters":[{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/CancelProposal":{"post":{"description":"Since: cosmos-sdk 0.50","tags":["Msg"],"summary":"CancelProposal defines a method to cancel governance proposal","operationId":"AuthMsg_CancelProposal","parameters":[{"description":"MsgCancelProposal is the Msg/CancelProposal request type.\n\nSince: cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"AuthMsg_Deposit","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/ExecLegacyContent":{"post":{"tags":["Msg"],"summary":"ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal\nto execute a legacy content-based proposal.","operationId":"AuthMsg_ExecLegacyContent","parameters":[{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given the messages.","operationId":"AuthMsg_SubmitProposal","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/gov module\nparameters. The authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin80","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"AuthMsg_Vote","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/VoteWeighted":{"post":{"tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"AuthMsg_VoteWeighted","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"AuthMsg_DepositMixin84","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given a content.","operationId":"AuthMsg_SubmitProposalMixin84","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"AuthMsg_VoteMixin84","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/VoteWeighted":{"post":{"description":"Since: cosmos-sdk 0.43","tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"AuthMsg_VoteWeightedMixin84","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.\n\nSince: cosmos-sdk 0.43","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroup":{"post":{"tags":["Msg"],"summary":"CreateGroup creates a new group with an admin account address, a list of members and some optional metadata.","operationId":"AuthMsg_CreateGroup","parameters":[{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupPolicy creates a new group policy using given DecisionPolicy.","operationId":"AuthMsg_CreateGroupPolicy","parameters":[{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupWithPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupWithPolicy creates a new group with policy.","operationId":"AuthMsg_CreateGroupWithPolicy","parameters":[{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec executes a proposal.","operationId":"AuthMsg_ExecMixin88","parameters":[{"description":"MsgExec is the Msg/Exec request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/LeaveGroup":{"post":{"tags":["Msg"],"summary":"LeaveGroup allows a group member to leave the group.","operationId":"AuthMsg_LeaveGroup","parameters":[{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal submits a new proposal.","operationId":"AuthMsg_SubmitProposalMixin88","parameters":[{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupAdmin updates the group admin with given group id and previous admin address.","operationId":"AuthMsg_UpdateGroupAdmin","parameters":[{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMembers":{"post":{"tags":["Msg"],"summary":"UpdateGroupMembers updates the group members with given group id and admin address.","operationId":"AuthMsg_UpdateGroupMembers","parameters":[{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembers"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupMetadata updates the group metadata with given group id and admin address.","operationId":"AuthMsg_UpdateGroupMetadata","parameters":[{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyAdmin updates a group policy admin.","operationId":"AuthMsg_UpdateGroupPolicyAdmin","parameters":[{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyDecisionPolicy":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyDecisionPolicy allows a group policy's decision policy to be updated.","operationId":"AuthMsg_UpdateGroupPolicyDecisionPolicy","parameters":[{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyMetadata updates a group policy metadata.","operationId":"AuthMsg_UpdateGroupPolicyMetadata","parameters":[{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote allows a voter to vote on a proposal.","operationId":"AuthMsg_VoteMixin88","parameters":[{"description":"MsgVote is the Msg/Vote request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/WithdrawProposal":{"post":{"tags":["Msg"],"summary":"WithdrawProposal withdraws a proposal.","operationId":"AuthMsg_WithdrawProposal","parameters":[{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.mint.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/mint module\nparameters. The authority is defaults to the x/gov module account.","operationId":"AuthMsg_UpdateParamsMixin93","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.nft.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method to send a nft from one account to another account.","operationId":"AuthMsg_SendMixin99","parameters":[{"description":"MsgSend represents a message to send a nft from one account to another account.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/Unjail":{"post":{"tags":["Msg"],"summary":"Unjail defines a method for unjailing a jailed validator, thus returning\nthem into the bonded validator set, so they can begin receiving provisions\nand rewards again.","operationId":"AuthMsg_Unjail","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjail"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjailResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/slashing module\nparameters. The authority defaults to the x/gov module account.","operationId":"AuthMsg_UpdateParamsMixin106","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/BeginRedelegate":{"post":{"tags":["Msg"],"summary":"BeginRedelegate defines a method for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","operationId":"AuthMsg_BeginRedelegate","parameters":[{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CancelUnbondingDelegation defines a method for performing canceling the unbonding delegation\nand delegate back to previous validator.","operationId":"AuthMsg_CancelUnbondingDelegation","parameters":[{"description":"Since: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CreateValidator":{"post":{"tags":["Msg"],"summary":"CreateValidator defines a method for creating a new validator.","operationId":"AuthMsg_CreateValidator","parameters":[{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Delegate":{"post":{"tags":["Msg"],"summary":"Delegate defines a method for performing a delegation of coins\nfrom a delegator to a validator.","operationId":"AuthMsg_Delegate","parameters":[{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/EditValidator":{"post":{"tags":["Msg"],"summary":"EditValidator defines a method for editing an existing validator.","operationId":"AuthMsg_EditValidator","parameters":[{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Undelegate":{"post":{"tags":["Msg"],"summary":"Undelegate defines a method for performing an undelegation from a\ndelegate and a validator.","operationId":"AuthMsg_Undelegate","parameters":[{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines an operation for updating the x/staking module\nparameters.\nSince: cosmos-sdk 0.47","operationId":"AuthMsg_UpdateParamsMixin111","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenCommit":{"post":{"tags":["ABCIListenerService"],"summary":"ListenCommit is the corresponding endpoint for ABCIListener.ListenCommit","operationId":"AuthABCIListenerService_ListenCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenFinalizeBlock":{"post":{"tags":["ABCIListenerService"],"summary":"ListenFinalizeBlock is the corresponding endpoint for ABCIListener.ListenEndBlock","operationId":"AuthABCIListenerService_ListenFinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/CancelUpgrade":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CancelUpgrade is a governance operation for cancelling a previously\napproved software upgrade.","operationId":"AuthMsg_CancelUpgrade","parameters":[{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/SoftwareUpgrade":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"SoftwareUpgrade is a governance operation for initiating a software upgrade.","operationId":"AuthMsg_SoftwareUpgrade","parameters":[{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePeriodicVestingAccount":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CreatePeriodicVestingAccount defines a method that enables creating a\nperiodic vesting account.","operationId":"AuthMsg_CreatePeriodicVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePermanentLockedAccount":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CreatePermanentLockedAccount defines a method that enables creating a permanent\nlocked account.","operationId":"AuthMsg_CreatePermanentLockedAccount","parameters":[{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreateVestingAccount":{"post":{"tags":["Msg"],"summary":"CreateVestingAccount defines a method that enables creating a vesting\naccount.","operationId":"AuthMsg_CreateVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/account_info/{address}":{"get":{"description":"Since: cosmos-sdk 0.47","tags":["Query"],"summary":"AccountInfo queries account info which is common to all account types.","operationId":"AuthQuery_AccountInfo","parameters":[{"type":"string","description":"address is the account address string.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.43","tags":["Query"],"summary":"Accounts returns all the existing accounts.","operationId":"AuthQuery_Accounts","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account details based on address.","operationId":"AuthQuery_Account","parameters":[{"type":"string","description":"address defines the address to query for.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/address_by_id/{id}":{"get":{"description":"Since: cosmos-sdk 0.46.2","tags":["Query"],"summary":"AccountAddressByID returns account address based on account number.","operationId":"AuthQuery_AccountAddressByID","parameters":[{"type":"string","format":"int64","description":"Deprecated, use account_id instead\n\nid is the account number of the address to be queried. This field\nshould have been an uint64 (like all account numbers), and will be\nupdated to uint64 in a future version of the auth query.","name":"id","in":"path","required":true},{"type":"string","format":"uint64","description":"account_id is the account number of the address to be queried.\n\nSince: cosmos-sdk 0.47","name":"account_id","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountAddressByIDResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Bech32Prefix queries bech32Prefix","operationId":"AuthQuery_Bech32Prefix","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.Bech32PrefixResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_bytes}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AddressBytesToString converts Account Address bytes to string","operationId":"AuthQuery_AddressBytesToString","parameters":[{"type":"string","format":"byte","name":"address_bytes","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressBytesToStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_string}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AddressStringToBytes converts Address string to bytes","operationId":"AuthQuery_AddressStringToBytes","parameters":[{"type":"string","name":"address_string","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressStringToBytesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"ModuleAccounts returns all the existing module accounts.","operationId":"AuthQuery_ModuleAccounts","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts/{name}":{"get":{"tags":["Query"],"summary":"ModuleAccountByName returns the module account info by module name","operationId":"AuthQuery_ModuleAccountByName","parameters":[{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountByNameResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters.","operationId":"AuthQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants":{"get":{"tags":["Query"],"summary":"Returns list of `Authorization`, granted to the grantee by the granter.","operationId":"AuthQuery_Grants","parameters":[{"type":"string","name":"granter","in":"query"},{"type":"string","name":"grantee","in":"query"},{"type":"string","description":"Optional, msg_type_url, when set, will query only grants matching given msg type.","name":"msg_type_url","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/grantee/{grantee}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"GranteeGrants returns a list of `GrantAuthorization` by grantee.","operationId":"AuthQuery_GranteeGrants","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranteeGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/granter/{granter}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"GranterGrants returns list of `GrantAuthorization`, granted by granter.","operationId":"AuthQuery_GranterGrants","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranterGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"AllBalances queries the balance of all coins for a single account.","operationId":"AuthQuery_AllBalances","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"boolean","description":"resolve_denom is the flag to resolve the denom into a human-readable form from the metadata.\n\nSince: cosmos-sdk 0.50","name":"resolve_denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryAllBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}/by_denom":{"get":{"tags":["Query"],"summary":"Balance queries the balance of a single coin for a single account.","operationId":"AuthQuery_Balance","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners/{denom}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46","tags":["Query"],"summary":"DenomOwners queries for all account addresses that own a particular token\ndenomination.","operationId":"AuthQuery_DenomOwners","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners_by_query":{"get":{"description":"Since: cosmos-sdk 0.50.3","tags":["Query"],"summary":"DenomOwnersByQuery queries for all account addresses that own a particular token\ndenomination.","operationId":"AuthQuery_DenomOwnersByQuery","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata":{"get":{"tags":["Query"],"summary":"DenomsMetadata queries the client metadata for all registered coin\ndenominations.","operationId":"AuthQuery_DenomsMetadata","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomsMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata/{denom}":{"get":{"tags":["Query"],"summary":"DenomMetadata queries the client metadata of a given coin denomination.","operationId":"AuthQuery_DenomMetadata","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata_by_query_string":{"get":{"tags":["Query"],"summary":"DenomMetadataByQueryString queries the client metadata of a given coin denomination.","operationId":"AuthQuery_DenomMetadataByQueryString","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/bank module.","operationId":"AuthQuery_ParamsMixin40","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/send_enabled":{"get":{"description":"This query only returns denominations that have specific SendEnabled settings.\nAny denomination that does not have a specific setting will use the default\nparams.default_send_enabled, and will not be returned by this query.\n\nSince: cosmos-sdk 0.47","tags":["Query"],"summary":"SendEnabled queries for SendEnabled entries.","operationId":"AuthQuery_SendEnabled","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"denoms is the specific denoms you want look up. Leave empty to get all entries.","name":"denoms","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46","tags":["Query"],"summary":"SpendableBalances queries the spendable balance of all coins for a single\naccount.","operationId":"AuthQuery_SpendableBalances","parameters":[{"type":"string","description":"address is the address to query spendable balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.47","tags":["Query"],"summary":"SpendableBalanceByDenom queries the spendable balance of a single denom for\na single account.","operationId":"AuthQuery_SpendableBalanceByDenom","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"TotalSupply queries the total supply of all coins.","operationId":"AuthQuery_TotalSupply","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryTotalSupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"SupplyOf queries the supply of a single coin.","operationId":"AuthQuery_SupplyOf","parameters":[{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySupplyOfResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/config":{"get":{"tags":["Service"],"summary":"Config queries for the operator configuration.","operationId":"AuthService_Config","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.ConfigResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/status":{"get":{"tags":["Service"],"summary":"Status queries for the node status.","operationId":"AuthService_Status","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.StatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/authn":{"get":{"tags":["ReflectionService"],"summary":"GetAuthnDescriptor returns information on how to authenticate transactions in the application\nNOTE: this RPC is still experimental and might be subject to breaking changes or removal in\nfuture releases of the cosmos-sdk.","operationId":"AuthReflectionService_GetAuthnDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/chain":{"get":{"tags":["ReflectionService"],"summary":"GetChainDescriptor returns the description of the chain","operationId":"AuthReflectionService_GetChainDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/codec":{"get":{"tags":["ReflectionService"],"summary":"GetCodecDescriptor returns the descriptor of the codec of the application","operationId":"AuthReflectionService_GetCodecDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/configuration":{"get":{"tags":["ReflectionService"],"summary":"GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application","operationId":"AuthReflectionService_GetConfigurationDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/query_services":{"get":{"tags":["ReflectionService"],"summary":"GetQueryServicesDescriptor returns the available gRPC queryable services of the application","operationId":"AuthReflectionService_GetQueryServicesDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/tx_descriptor":{"get":{"tags":["ReflectionService"],"summary":"GetTxDescriptor returns information on the used transaction object and available msgs that can be used","operationId":"AuthReflectionService_GetTxDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces":{"get":{"tags":["ReflectionService"],"summary":"ListAllInterfaces lists all the interfaces registered in the interface\nregistry.","operationId":"AuthReflectionService_ListAllInterfaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListAllInterfacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces/{interface_name}/implementations":{"get":{"tags":["ReflectionService"],"summary":"ListImplementations list all the concrete types that implement a given\ninterface.","operationId":"AuthReflectionService_ListImplementations","parameters":[{"type":"string","description":"interface_name defines the interface to query the implementations for.","name":"interface_name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListImplementationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/abci_query":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Service"],"summary":"ABCIQuery defines a query handler that supports ABCI queries directly to the\napplication, bypassing Tendermint completely. The ABCI query must contain\na valid and supported path, including app, custom, p2p, and store.","operationId":"AuthService_ABCIQuery","parameters":[{"type":"string","format":"byte","name":"data","in":"query"},{"type":"string","name":"path","in":"query"},{"type":"string","format":"int64","name":"height","in":"query"},{"type":"boolean","name":"prove","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ABCIQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/latest":{"get":{"tags":["Service"],"summary":"GetLatestBlock returns the latest block.","operationId":"AuthService_GetLatestBlock","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/{height}":{"get":{"tags":["Service"],"summary":"GetBlockByHeight queries block for given height.","operationId":"AuthService_GetBlockByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/node_info":{"get":{"tags":["Service"],"summary":"GetNodeInfo queries the current node info.","operationId":"AuthService_GetNodeInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetNodeInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/syncing":{"get":{"tags":["Service"],"summary":"GetSyncing queries node syncing.","operationId":"AuthService_GetSyncing","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetSyncingResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/latest":{"get":{"tags":["Service"],"summary":"GetLatestValidatorSet queries latest validator-set.","operationId":"AuthService_GetLatestValidatorSet","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/{height}":{"get":{"tags":["Service"],"summary":"GetValidatorSetByHeight queries validator-set at a given height.","operationId":"AuthService_GetValidatorSetByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"AuthQuery_AccountsMixin50","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"AuthQuery_AccountMixin50","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/disable_list":{"get":{"tags":["Query"],"summary":"DisabledList returns a list of disabled message urls","operationId":"AuthQuery_DisabledList","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.DisabledListResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/consensus/v1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/consensus module.","operationId":"AuthQuery_ParamsMixin53","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/community_pool":{"get":{"tags":["Query"],"summary":"CommunityPool queries the community pool coins.","operationId":"AuthQuery_CommunityPool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards":{"get":{"tags":["Query"],"summary":"DelegationTotalRewards queries the total rewards accrued by each\nvalidator.","operationId":"AuthQuery_DelegationTotalRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}":{"get":{"tags":["Query"],"summary":"DelegationRewards queries the total rewards accrued by a delegation.","operationId":"AuthQuery_DelegationRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true},{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators":{"get":{"tags":["Query"],"summary":"DelegatorValidators queries the validators of a delegator.","operationId":"AuthQuery_DelegatorValidators","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address":{"get":{"tags":["Query"],"summary":"DelegatorWithdrawAddress queries withdraw address of a delegator.","operationId":"AuthQuery_DelegatorWithdrawAddress","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries params of the distribution module.","operationId":"AuthQuery_ParamsMixin66","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}":{"get":{"tags":["Query"],"summary":"ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator","operationId":"AuthQuery_ValidatorDistributionInfo","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/commission":{"get":{"tags":["Query"],"summary":"ValidatorCommission queries accumulated commission for a validator.","operationId":"AuthQuery_ValidatorCommission","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards":{"get":{"tags":["Query"],"summary":"ValidatorOutstandingRewards queries rewards of a validator address.","operationId":"AuthQuery_ValidatorOutstandingRewards","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/slashes":{"get":{"tags":["Query"],"summary":"ValidatorSlashes queries slash events of a validator.","operationId":"AuthQuery_ValidatorSlashes","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true},{"type":"string","format":"uint64","description":"starting_height defines the optional starting height to query the slashes.","name":"starting_height","in":"query"},{"type":"string","format":"uint64","description":"starting_height defines the optional ending height to query the slashes.","name":"ending_height","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorSlashesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence":{"get":{"tags":["Query"],"summary":"AllEvidence queries all evidence.","operationId":"AuthQuery_AllEvidence","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryAllEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence/{hash}":{"get":{"tags":["Query"],"summary":"Evidence queries evidence based on evidence hash.","operationId":"AuthQuery_Evidence","parameters":[{"type":"string","description":"hash defines the evidence hash of the requested evidence.\n\nSince: cosmos-sdk 0.47","name":"hash","in":"path","required":true},{"type":"string","format":"byte","description":"evidence_hash defines the hash of the requested evidence.\nDeprecated: Use hash, a HEX encoded string, instead.","name":"evidence_hash","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}":{"get":{"tags":["Query"],"summary":"Allowance returns granted allwance to the grantee by the granter.","operationId":"AuthQuery_Allowance","parameters":[{"type":"string","description":"granter is the address of the user granting an allowance of their funds.","name":"granter","in":"path","required":true},{"type":"string","description":"grantee is the address of the user being granted an allowance of another user's funds.","name":"grantee","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowances/{grantee}":{"get":{"tags":["Query"],"summary":"Allowances returns all the grants for the given grantee address.","operationId":"AuthQuery_Allowances","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/issued/{granter}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AllowancesByGranter returns all the grants given by an address","operationId":"AuthQuery_AllowancesByGranter","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/constitution":{"get":{"tags":["Query"],"summary":"Constitution queries the chain's constitution.","operationId":"AuthQuery_Constitution","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryConstitutionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"AuthQuery_ParamsMixin79","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"AuthQuery_Proposals","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"AuthQuery_Proposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"AuthQuery_Deposits","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositAddr.","operationId":"AuthQuery_Deposit","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"AuthQuery_TallyResult","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"AuthQuery_Votes","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"AuthQuery_Vote","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"AuthQuery_ParamsMixin83","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"AuthQuery_ProposalsMixin83","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"AuthQuery_ProposalMixin83","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"AuthQuery_DepositsMixin83","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositor address.","operationId":"AuthQuery_DepositMixin83","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"AuthQuery_TallyResultMixin83","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"AuthQuery_VotesMixin83","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"AuthQuery_VoteMixin83","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_info/{group_id}":{"get":{"tags":["Query"],"summary":"GroupInfo queries group info based on group id.","operationId":"AuthQuery_GroupInfo","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_members/{group_id}":{"get":{"tags":["Query"],"summary":"GroupMembers queries members of a group by group id.","operationId":"AuthQuery_GroupMembers","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByAdmin queries group policies by admin address.","operationId":"AuthQuery_GroupPoliciesByAdmin","parameters":[{"type":"string","description":"admin is the admin address of the group policy.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_group/{group_id}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByGroup queries group policies by group id.","operationId":"AuthQuery_GroupPoliciesByGroup","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group policy's group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policy_info/{address}":{"get":{"tags":["Query"],"summary":"GroupPolicyInfo queries group policy info based on account address of group policy.","operationId":"AuthQuery_GroupPolicyInfo","parameters":[{"type":"string","description":"address is the account address of the group policy.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPolicyInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups":{"get":{"description":"Since: cosmos-sdk 0.47.1","tags":["Query"],"summary":"Groups queries all groups in state.","operationId":"AuthQuery_Groups","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupsByAdmin queries groups by admin address.","operationId":"AuthQuery_GroupsByAdmin","parameters":[{"type":"string","description":"admin is the account address of a group's admin.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_member/{address}":{"get":{"tags":["Query"],"summary":"GroupsByMember queries groups by member address.","operationId":"AuthQuery_GroupsByMember","parameters":[{"type":"string","description":"address is the group member address.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByMemberResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries a proposal based on proposal id.","operationId":"AuthQuery_ProposalMixin87","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult returns the tally result of a proposal. If the proposal is\nstill in voting period, then this query computes the current tally state,\nwhich might not be final. On the other hand, if the proposal is final,\nthen it simply returns the `final_tally_result` state stored in the\nproposal itself.","operationId":"AuthQuery_TallyResultMixin87","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique id of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals_by_group_policy/{address}":{"get":{"tags":["Query"],"summary":"ProposalsByGroupPolicy queries proposals based on account address of group policy.","operationId":"AuthQuery_ProposalsByGroupPolicy","parameters":[{"type":"string","description":"address is the account address of the group policy related to proposals.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalsByGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/vote_by_proposal_voter/{proposal_id}/{voter}":{"get":{"tags":["Query"],"summary":"VoteByProposalVoter queries a vote by proposal id and voter.","operationId":"AuthQuery_VoteByProposalVoter","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVoteByProposalVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"VotesByProposal queries a vote by proposal id.","operationId":"AuthQuery_VotesByProposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_voter/{voter}":{"get":{"tags":["Query"],"summary":"VotesByVoter queries a vote by voter.","operationId":"AuthQuery_VotesByVoter","parameters":[{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/annual_provisions":{"get":{"tags":["Query"],"summary":"AnnualProvisions current minting annual provisions value.","operationId":"AuthQuery_AnnualProvisions","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryAnnualProvisionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/inflation":{"get":{"tags":["Query"],"summary":"Inflation returns the current minting inflation value.","operationId":"AuthQuery_Inflation","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryInflationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params returns the total set of minting parameters.","operationId":"AuthQuery_ParamsMixin92","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/balance/{owner}/{class_id}":{"get":{"tags":["Query"],"summary":"Balance queries the number of NFTs of a given class owned by the owner, same as balanceOf in ERC721","operationId":"AuthQuery_BalanceMixin98","parameters":[{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"path","required":true},{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes":{"get":{"tags":["Query"],"summary":"Classes queries all NFT classes","operationId":"AuthQuery_Classes","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes/{class_id}":{"get":{"tags":["Query"],"summary":"Class queries an NFT class based on its id","operationId":"AuthQuery_Class","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts":{"get":{"tags":["Query"],"summary":"NFTs queries all NFTs of a given class or owner,choose at least one of the two, similar to tokenByIndex in\nERC721Enumerable","operationId":"AuthQuery_NFTs","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"query"},{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"NFT queries an NFT based on its class and id.","operationId":"AuthQuery_NFT","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/owner/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"Owner queries the owner of the NFT based on its class and id, same as ownerOf in ERC721","operationId":"AuthQuery_Owner","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryOwnerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/supply/{class_id}":{"get":{"tags":["Query"],"summary":"Supply queries the number of NFTs from the given class, same as totalSupply of ERC721.","operationId":"AuthQuery_Supply","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QuerySupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries a specific parameter of a module, given its subspace and\nkey.","operationId":"AuthQuery_ParamsMixin101","parameters":[{"type":"string","description":"subspace defines the module to query the parameter for.","name":"subspace","in":"query"},{"type":"string","description":"key defines the key of the parameter in the subspace.","name":"key","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/subspaces":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Subspaces queries for all registered subspaces and all keys for a subspace.","operationId":"AuthQuery_Subspaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QuerySubspacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of slashing module","operationId":"AuthQuery_ParamsMixin104","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos":{"get":{"tags":["Query"],"summary":"SigningInfos queries signing info of all validators","operationId":"AuthQuery_SigningInfos","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfosResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos/{cons_address}":{"get":{"tags":["Query"],"summary":"SigningInfo queries the signing info of given cons address","operationId":"AuthQuery_SigningInfo","parameters":[{"type":"string","description":"cons_address is the address to query signing info of","name":"cons_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegations/{delegator_addr}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorDelegations queries all delegations of a given delegator address.","operationId":"AuthQuery_DelegatorDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Redelegations queries redelegations of given address.","operationId":"AuthQuery_Redelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"src_validator_addr defines the validator address to redelegate from.","name":"src_validator_addr","in":"query"},{"type":"string","description":"dst_validator_addr defines the validator address to redelegate to.","name":"dst_validator_addr","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryRedelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorUnbondingDelegations queries all unbonding delegations of a given\ndelegator address.","operationId":"AuthQuery_DelegatorUnbondingDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorValidators queries all validators info for given delegator\naddress.","operationId":"AuthQuery_DelegatorValidatorsMixin109","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"DelegatorValidator queries validator info for given delegator validator\npair.","operationId":"AuthQuery_DelegatorValidator","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/historical_info/{height}":{"get":{"tags":["Query"],"summary":"HistoricalInfo queries the historical info for given height.","operationId":"AuthQuery_HistoricalInfo","parameters":[{"type":"string","format":"int64","description":"height defines at which height to query the historical info.","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryHistoricalInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/params":{"get":{"tags":["Query"],"summary":"Parameters queries the staking parameters.","operationId":"AuthQuery_ParamsMixin109","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/pool":{"get":{"tags":["Query"],"summary":"Pool queries the pool info.","operationId":"AuthQuery_Pool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Validators queries all validators that match the given status.","operationId":"AuthQuery_Validators","parameters":[{"type":"string","description":"status enables to query for validators matching a given status.","name":"status","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"Validator queries validator info for given validator address.","operationId":"AuthQuery_Validator","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorDelegations queries delegate info for given validator.","operationId":"AuthQuery_ValidatorDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}":{"get":{"tags":["Query"],"summary":"Delegation queries delegate info for given validator delegator pair.","operationId":"AuthQuery_Delegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation":{"get":{"tags":["Query"],"summary":"UnbondingDelegation queries unbonding info for given validator delegator\npair.","operationId":"AuthQuery_UnbondingDelegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorUnbondingDelegations queries unbonding delegations of a validator.","operationId":"AuthQuery_ValidatorUnbondingDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxDecode decodes the transaction.","operationId":"AuthService_TxDecode","parameters":[{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode/amino":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON.","operationId":"AuthService_TxDecodeAmino","parameters":[{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxEncode encodes the transaction.","operationId":"AuthService_TxEncode","parameters":[{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode/amino":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes.","operationId":"AuthService_TxEncodeAmino","parameters":[{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/simulate":{"post":{"tags":["Service"],"summary":"Simulate simulates executing a transaction for estimating gas usage.","operationId":"AuthService_Simulate","parameters":[{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs":{"get":{"tags":["Service"],"summary":"GetTxsEvent fetches txs by event.","operationId":"AuthService_GetTxsEvent","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"events is the list of transaction event type.\nDeprecated post v0.47.x: use query instead, which should contain a valid\nevents query.","name":"events","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"],"type":"string","default":"ORDER_BY_UNSPECIFIED","description":" - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","name":"order_by","in":"query"},{"type":"string","format":"uint64","description":"page is the page number to query, starts at 1. If not provided, will\ndefault to first page.","name":"page","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"limit","in":"query"},{"type":"string","description":"query defines the transaction event query that is proxied to Tendermint's\nTxSearch RPC method. The query must be valid.\n\nSince cosmos-sdk 0.50","name":"query","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}},"post":{"tags":["Service"],"summary":"BroadcastTx broadcast transaction.","operationId":"AuthService_BroadcastTx","parameters":[{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/block/{height}":{"get":{"description":"Since: cosmos-sdk 0.45.2","tags":["Service"],"summary":"GetBlockWithTxs fetches a block with decoded txs.","operationId":"AuthService_GetBlockWithTxs","parameters":[{"type":"string","format":"int64","description":"height is the height of the block to query.","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetBlockWithTxsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/{hash}":{"get":{"tags":["Service"],"summary":"GetTx fetches a tx by hash.","operationId":"AuthService_GetTx","parameters":[{"type":"string","description":"hash is the tx hash to query, encoded as a hex string.","name":"hash","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/applied_plan/{name}":{"get":{"tags":["Query"],"summary":"AppliedPlan queries a previously applied upgrade plan by its name.","operationId":"AuthQuery_AppliedPlan","parameters":[{"type":"string","description":"name is the name of the applied plan to query for.","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAppliedPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/authority":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Returns the account with authority to conduct upgrades","operationId":"AuthQuery_Authority","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAuthorityResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/current_plan":{"get":{"tags":["Query"],"summary":"CurrentPlan queries the current upgrade plan.","operationId":"AuthQuery_CurrentPlan","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryCurrentPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/module_versions":{"get":{"description":"Since: cosmos-sdk 0.43","tags":["Query"],"summary":"ModuleVersions queries the list of module versions from state.","operationId":"AuthQuery_ModuleVersions","parameters":[{"type":"string","description":"module_name is a field to query a specific module\nconsensus version from state. Leaving this empty will\nfetch the full list of module versions from state","name":"module_name","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryModuleVersionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}":{"get":{"tags":["Query"],"summary":"UpgradedConsensusState queries the consensus state that will serve\nas a trusted kernel for the next version of this chain. It will only be\nstored at the last height of this chain.\nUpgradedConsensusState RPC not supported with legacy querier\nThis rpc is deprecated now that IBC has its own replacement\n(https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54)","operationId":"AuthQuery_UpgradedConsensusState","parameters":[{"type":"string","format":"int64","description":"last height of the current chain must be sent in request\nas this is the height under which next consensus state is stored","name":"last_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ApplySnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ApplySnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestApplySnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/CheckTx":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_CheckTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCheckTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCheckTx"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Commit":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Commit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Echo":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Echo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestEcho"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseEcho"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ExtendVote":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ExtendVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestExtendVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseExtendVote"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/FinalizeBlock":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_FinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Flush":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Flush","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFlush"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFlush"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Info":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Info","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInfo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInfo"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/InitChain":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_InitChain","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInitChain"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInitChain"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ListSnapshots":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ListSnapshots","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestListSnapshots"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseListSnapshots"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/LoadSnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_LoadSnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestLoadSnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseLoadSnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/OfferSnapshot":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_OfferSnapshot","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestOfferSnapshot"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/PrepareProposal":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_PrepareProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestPrepareProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponsePrepareProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ProcessProposal":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ProcessProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestProcessProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Query":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Query","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestQuery"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseQuery"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/VerifyVoteExtension":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_VerifyVoteExtension","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestVerifyVoteExtension"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.auth.v1beta1.AddressBytesToStringResponse":{"description":"AddressBytesToStringResponse is the response type for AddressString rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address_string":{"type":"string"}}},"cosmos.auth.v1beta1.AddressStringToBytesResponse":{"description":"AddressStringToBytesResponse is the response type for AddressBytes rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address_bytes":{"type":"string","format":"byte"}}},"cosmos.auth.v1beta1.BaseAccount":{"description":"BaseAccount defines a base account type. It contains all the necessary fields\nfor basic account functionality. Any custom account type should extend this\ntype for additional functionality (e.g. vesting).","type":"object","properties":{"account_number":{"type":"string","format":"uint64"},"address":{"type":"string"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"sequence":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.Bech32PrefixResponse":{"description":"Bech32PrefixResponse is the response type for Bech32Prefix rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"bech32_prefix":{"type":"string"}}},"cosmos.auth.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/auth parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.auth.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.auth.v1beta1.Params":{"description":"Params defines the parameters for the auth module.","type":"object","properties":{"max_memo_characters":{"type":"string","format":"uint64"},"sig_verify_cost_ed25519":{"type":"string","format":"uint64"},"sig_verify_cost_secp256k1":{"type":"string","format":"uint64"},"tx_sig_limit":{"type":"string","format":"uint64"},"tx_size_cost_per_byte":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.QueryAccountAddressByIDResponse":{"description":"Since: cosmos-sdk 0.46.2","type":"object","title":"QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method","properties":{"account_address":{"type":"string"}}},"cosmos.auth.v1beta1.QueryAccountInfoResponse":{"description":"QueryAccountInfoResponse is the Query/AccountInfo response type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"info":{"description":"info is the account info which is represented by BaseAccount.","$ref":"#/definitions/cosmos.auth.v1beta1.BaseAccount"}}},"cosmos.auth.v1beta1.QueryAccountResponse":{"description":"QueryAccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"account":{"description":"account defines the account of the corresponding address.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryAccountsResponse":{"description":"QueryAccountsResponse is the response type for the Query/Accounts RPC method.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"accounts":{"type":"array","title":"accounts are the existing accounts","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.auth.v1beta1.QueryModuleAccountByNameResponse":{"description":"QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method.","type":"object","properties":{"account":{"$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryModuleAccountsResponse":{"description":"QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.auth.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.authz.v1beta1.Grant":{"description":"Grant gives permissions to execute\nthe provide method with expiration time.","type":"object","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time","title":"time when the grant will expire and will be pruned. If null, then the grant\ndoesn't have a time expiration (other conditions in `authorization`\nmay apply to invalidate the grant)"}}},"cosmos.authz.v1beta1.GrantAuthorization":{"type":"object","title":"GrantAuthorization extends a grant with both the addresses of the grantee and granter.\nIt is used in genesis.proto and query.proto","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgExec":{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","type":"object","properties":{"grantee":{"type":"string"},"msgs":{"description":"Execute Msg.\nThe x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg))\ntriple and validate it.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.authz.v1beta1.MsgExecResponse":{"description":"MsgExecResponse defines the Msg/MsgExecResponse response type.","type":"object","properties":{"results":{"type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.authz.v1beta1.MsgGrant":{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","type":"object","properties":{"grant":{"$ref":"#/definitions/cosmos.authz.v1beta1.Grant"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgGrantResponse":{"description":"MsgGrantResponse defines the Msg/MsgGrant response type.","type":"object"},"cosmos.authz.v1beta1.MsgRevoke":{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","type":"object","properties":{"grantee":{"type":"string"},"granter":{"type":"string"},"msg_type_url":{"type":"string"}}},"cosmos.authz.v1beta1.MsgRevokeResponse":{"description":"MsgRevokeResponse defines the Msg/MsgRevokeResponse response type.","type":"object"},"cosmos.authz.v1beta1.QueryGranteeGrantsResponse":{"description":"QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted to the grantee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGranterGrantsResponse":{"description":"QueryGranterGrantsResponse is the response type for the Query/GranterGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGrantsResponse":{"description":"QueryGrantsResponse is the response type for the Query/Authorizations RPC method.","type":"object","properties":{"grants":{"description":"authorizations is a list of grants granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.autocli.v1.AppOptionsRequest":{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","type":"object"},"cosmos.autocli.v1.AppOptionsResponse":{"description":"AppOptionsResponse is the RemoteInfoService/AppOptions response type.","type":"object","properties":{"module_options":{"description":"module_options is a map of module name to autocli module options.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ModuleOptions"}}}},"cosmos.autocli.v1.FlagOptions":{"description":"FlagOptions are options for flags generated from rpc request fields.\nBy default, all request fields are configured as flags based on the\nkebab-case name of the field. Fields can be turned into positional arguments\ninstead by using RpcCommandOptions.positional_args.","type":"object","properties":{"default_value":{"description":"default_value is the default value as text.","type":"string"},"deprecated":{"description":"deprecated is the usage text to show if this flag is deprecated.","type":"string"},"hidden":{"type":"boolean","title":"hidden hides the flag from help/usage text"},"name":{"description":"name is an alternate name to use for the field flag.","type":"string"},"shorthand":{"description":"shorthand is a one-letter abbreviated flag.","type":"string"},"shorthand_deprecated":{"description":"shorthand_deprecated is the usage text to show if the shorthand of this flag is deprecated.","type":"string"},"usage":{"description":"usage is the help message.","type":"string"}}},"cosmos.autocli.v1.ModuleOptions":{"description":"ModuleOptions describes the CLI options for a Cosmos SDK module.","type":"object","properties":{"query":{"description":"query describes the queries commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"},"tx":{"description":"tx describes the tx commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}},"cosmos.autocli.v1.PositionalArgDescriptor":{"description":"PositionalArgDescriptor describes a positional argument.","type":"object","properties":{"proto_field":{"description":"proto_field specifies the proto field to use as the positional arg. Any\nfields used as positional args will not have a flag generated.","type":"string"},"varargs":{"description":"varargs makes a positional parameter a varargs parameter. This can only be\napplied to last positional parameter and the proto_field must a repeated\nfield.","type":"boolean"}}},"cosmos.autocli.v1.RpcCommandOptions":{"description":"RpcCommandOptions specifies options for commands generated from protobuf\nrpc methods.","type":"object","properties":{"alias":{"description":"alias is an array of aliases that can be used instead of the first word in Use.","type":"array","items":{"type":"string"}},"deprecated":{"description":"deprecated defines, if this command is deprecated and should print this string when used.","type":"string"},"example":{"description":"example is examples of how to use the command.","type":"string"},"flag_options":{"description":"flag_options are options for flags generated from rpc request fields.\nBy default all request fields are configured as flags. They can\nalso be configured as positional args instead using positional_args.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.FlagOptions"}},"long":{"description":"long is the long message shown in the 'help \u003cthis-command\u003e' output.","type":"string"},"positional_args":{"description":"positional_args specifies positional arguments for the command.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.PositionalArgDescriptor"}},"rpc_method":{"description":"rpc_method is short name of the protobuf rpc method that this command is\ngenerated from.","type":"string"},"short":{"description":"short is the short description shown in the 'help' output.","type":"string"},"skip":{"description":"skip specifies whether to skip this rpc method when generating commands.","type":"boolean"},"suggest_for":{"description":"suggest_for is an array of command names for which this command will be suggested -\nsimilar to aliases but only suggests.","type":"array","items":{"type":"string"}},"use":{"description":"use is the one-line usage method. It also allows specifying an alternate\nname for the command as the first word of the usage text.\n\nBy default the name of an rpc command is the kebab-case short name of the\nrpc method.","type":"string"},"version":{"description":"version defines the version for this command. If this value is non-empty and the command does not\ndefine a \"version\" flag, a \"version\" boolean flag will be added to the command and, if specified,\nwill print content of the \"Version\" variable. A shorthand \"v\" flag will also be added if the\ncommand does not define one.","type":"string"}}},"cosmos.autocli.v1.ServiceCommandDescriptor":{"description":"ServiceCommandDescriptor describes a CLI command based on a protobuf service.","type":"object","properties":{"rpc_command_options":{"description":"rpc_command_options are options for commands generated from rpc methods.\nIf no options are specified for a given rpc method on the service, a\ncommand will be generated for that method with the default options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.RpcCommandOptions"}},"service":{"description":"service is the fully qualified name of the protobuf service to build\nthe command from. It can be left empty if sub_commands are used instead\nwhich may be the case if a module provides multiple tx and/or query services.","type":"string"},"sub_commands":{"description":"sub_commands is a map of optional sub-commands for this command based on\ndifferent protobuf services. The map key is used as the name of the\nsub-command.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}}},"cosmos.bank.v1beta1.DenomOwner":{"description":"DenomOwner defines structure representing an account that owns or holds a\nparticular denominated token. It contains the account address and account\nbalance of the denominated token.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address":{"description":"address defines the address that owns a particular denomination.","type":"string"},"balance":{"description":"balance is the balance of the denominated coin for an account.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.DenomUnit":{"description":"DenomUnit represents a struct that describes a given\ndenomination unit of the basic token.","type":"object","properties":{"aliases":{"type":"array","title":"aliases is a list of string aliases for the given denom","items":{"type":"string"}},"denom":{"description":"denom represents the string name of the given denom unit (e.g uatom).","type":"string"},"exponent":{"description":"exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom).","type":"integer","format":"int64"}}},"cosmos.bank.v1beta1.Input":{"description":"Input models transaction input.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Metadata":{"description":"Metadata represents a struct that describes\na basic token.","type":"object","properties":{"base":{"description":"base represents the base denom (should be the DenomUnit with exponent = 0).","type":"string"},"denom_units":{"type":"array","title":"denom_units represents the list of DenomUnit's for a given coin","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomUnit"}},"description":{"type":"string"},"display":{"description":"display indicates the suggested denom that should be\ndisplayed in clients.","type":"string"},"name":{"description":"Since: cosmos-sdk 0.43","type":"string","title":"name defines the name of the token (eg: Cosmos Atom)"},"symbol":{"description":"symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.\n\nSince: cosmos-sdk 0.43","type":"string"},"uri":{"description":"URI to a document (on or off-chain) that contains additional information. Optional.\n\nSince: cosmos-sdk 0.46","type":"string"},"uri_hash":{"description":"URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.\n\nSince: cosmos-sdk 0.46","type":"string"}}},"cosmos.bank.v1beta1.MsgMultiSend":{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","type":"object","properties":{"inputs":{"description":"Inputs, despite being `repeated`, only allows one sender input. This is\nchecked in MsgMultiSend's ValidateBasic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Input"}},"outputs":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Output"}}}},"cosmos.bank.v1beta1.MsgMultiSendResponse":{"description":"MsgMultiSendResponse defines the Msg/MultiSend response type.","type":"object"},"cosmos.bank.v1beta1.MsgSend":{"description":"MsgSend represents a message to send coins from one account to another.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.bank.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.bank.v1beta1.MsgSetSendEnabled":{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module.","type":"string"},"send_enabled":{"description":"send_enabled is the list of entries to add or update.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}},"use_default_for":{"description":"use_default_for is a list of denoms that should use the params.default_send_enabled value.\nDenoms listed here will have their SendEnabled entries deleted.\nIf a denom is included that doesn't have a SendEnabled entry,\nit will be ignored.","type":"array","items":{"type":"string"}}}},"cosmos.bank.v1beta1.MsgSetSendEnabledResponse":{"description":"MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.bank.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/bank parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.bank.v1beta1.Output":{"description":"Output models transaction outputs.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Params":{"description":"Params defines the parameters for the bank module.","type":"object","properties":{"default_send_enabled":{"type":"boolean"},"send_enabled":{"description":"Deprecated: Use of SendEnabled in params is deprecated.\nFor genesis, use the newly added send_enabled field in the genesis object.\nStorage, lookup, and manipulation of this information is now in the keeper.\n\nAs of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QueryAllBalancesResponse":{"description":"QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod.","type":"object","properties":{"balances":{"description":"balances is the balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryBalanceResponse":{"description":"QueryBalanceResponse is the response type for the Query/Balance RPC method.","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse":{"description":"QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC\nmethod. Identical with QueryDenomMetadataResponse but receives denom as query string in request.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomMetadataResponse":{"description":"QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC\nmethod.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse":{"description":"QueryDenomOwnersByQueryResponse defines the RPC response of a DenomOwnersByQuery RPC query.\n\nSince: cosmos-sdk 0.50.3","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomOwnersResponse":{"description":"QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomsMetadataResponse":{"description":"QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC\nmethod.","type":"object","properties":{"metadatas":{"description":"metadata provides the client information for all the registered tokens.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/bank parameters.","type":"object","properties":{"params":{"description":"params provides the parameters of the bank module.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.QuerySendEnabledResponse":{"description":"QuerySendEnabledResponse defines the RPC response of a SendEnable query.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response. This field is only\npopulated if the denoms field in the request is empty.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"send_enabled":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse":{"description":"QuerySpendableBalanceByDenomResponse defines the gRPC response structure for\nquerying an account's spendable balance for a specific denom.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QuerySpendableBalancesResponse":{"description":"QuerySpendableBalancesResponse defines the gRPC response structure for querying\nan account's spendable balances.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"balances":{"description":"balances is the spendable balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QuerySupplyOfResponse":{"description":"QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method.","type":"object","properties":{"amount":{"description":"amount is the supply of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryTotalSupplyResponse":{"type":"object","title":"QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC\nmethod","properties":{"pagination":{"description":"pagination defines the pagination in the response.\n\nSince: cosmos-sdk 0.43","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"supply":{"type":"array","title":"supply is the supply of the coins","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.SendEnabled":{"description":"SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable).","type":"object","properties":{"denom":{"type":"string"},"enabled":{"type":"boolean"}}},"cosmos.base.abci.v1beta1.ABCIMessageLog":{"description":"ABCIMessageLog defines a structure containing an indexed tx ABCI message log.","type":"object","properties":{"events":{"description":"Events contains a slice of Event objects that were emitted during some\nexecution.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.StringEvent"}},"log":{"type":"string"},"msg_index":{"type":"integer","format":"int64"}}},"cosmos.base.abci.v1beta1.Attribute":{"description":"Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes.","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"cosmos.base.abci.v1beta1.GasInfo":{"description":"GasInfo defines tx execution gas context.","type":"object","properties":{"gas_used":{"description":"GasUsed is the amount of gas actually consumed.","type":"string","format":"uint64"},"gas_wanted":{"description":"GasWanted is the maximum units of work we allow this tx to perform.","type":"string","format":"uint64"}}},"cosmos.base.abci.v1beta1.Result":{"description":"Result is the union of ResponseFormat and ResponseCheckTx.","type":"object","properties":{"data":{"description":"Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL.","type":"string","format":"byte"},"events":{"description":"Events contains a slice of Event objects that were emitted during message\nor handler execution.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"log":{"description":"Log contains the log information from message or handler execution.","type":"string"},"msg_responses":{"description":"msg_responses contains the Msg handler responses type packed in Anys.\n\nSince: cosmos-sdk 0.46","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.base.abci.v1beta1.StringEvent":{"description":"StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.Attribute"}},"type":{"type":"string"}}},"cosmos.base.abci.v1beta1.TxResponse":{"description":"TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded.","type":"object","properties":{"code":{"description":"Response code.","type":"integer","format":"int64"},"codespace":{"type":"string","title":"Namespace for the Code"},"data":{"description":"Result bytes, if any.","type":"string"},"events":{"description":"Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"description":"Amount of gas consumed by transaction.","type":"string","format":"int64"},"gas_wanted":{"description":"Amount of gas requested for transaction.","type":"string","format":"int64"},"height":{"type":"string","format":"int64","title":"The block height"},"info":{"description":"Additional information. May be non-deterministic.","type":"string"},"logs":{"description":"The output of the application's logger (typed). May be non-deterministic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.ABCIMessageLog"}},"raw_log":{"description":"The output of the application's logger (raw string). May be\nnon-deterministic.","type":"string"},"timestamp":{"description":"Time of the previous block. For heights \u003e 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time.","type":"string"},"tx":{"description":"The request transaction bytes.","$ref":"#/definitions/google.protobuf.Any"},"txhash":{"description":"The transaction hash.","type":"string"}}},"cosmos.base.node.v1beta1.ConfigResponse":{"description":"ConfigResponse defines the response structure for the Config gRPC query.","type":"object","properties":{"halt_height":{"type":"string","format":"uint64"},"minimum_gas_price":{"type":"string"},"pruning_interval":{"type":"string"},"pruning_keep_recent":{"type":"string"}}},"cosmos.base.node.v1beta1.StatusResponse":{"description":"StateResponse defines the response structure for the status of a node.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"app hash of the current block"},"earliest_store_height":{"type":"string","format":"uint64","title":"earliest block height available in the store"},"height":{"type":"string","format":"uint64","title":"current block height"},"timestamp":{"type":"string","format":"date-time","title":"block height timestamp"},"validator_hash":{"type":"string","format":"byte","title":"validator hash provided by the consensus header"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.reflection.v1beta1.ListAllInterfacesResponse":{"description":"ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC.","type":"object","properties":{"interface_names":{"description":"interface_names is an array of all the registered interfaces.","type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v1beta1.ListImplementationsResponse":{"description":"ListImplementationsResponse is the response type of the ListImplementations\nRPC.","type":"object","properties":{"implementation_message_names":{"type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v2alpha1.AuthnDescriptor":{"type":"object","title":"AuthnDescriptor provides information on how to sign transactions without relying\non the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures","properties":{"sign_modes":{"type":"array","title":"sign_modes defines the supported signature algorithm","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.SigningModeDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ChainDescriptor":{"type":"object","title":"ChainDescriptor describes chain information of the application","properties":{"id":{"type":"string","title":"id is the chain id"}}},"cosmos.base.reflection.v2alpha1.CodecDescriptor":{"type":"object","title":"CodecDescriptor describes the registered interfaces and provides metadata information on the types","properties":{"interfaces":{"type":"array","title":"interfaces is a list of the registerted interfaces descriptors","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ConfigurationDescriptor":{"type":"object","title":"ConfigurationDescriptor contains metadata information on the sdk.Config","properties":{"bech32_account_address_prefix":{"type":"string","title":"bech32_account_address_prefix is the account address prefix"}}},"cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse":{"type":"object","title":"GetAuthnDescriptorResponse is the response returned by the GetAuthnDescriptor RPC","properties":{"authn":{"title":"authn describes how to authenticate to the application when sending transactions","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.AuthnDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse":{"type":"object","title":"GetChainDescriptorResponse is the response returned by the GetChainDescriptor RPC","properties":{"chain":{"title":"chain describes application chain information","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ChainDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse":{"type":"object","title":"GetCodecDescriptorResponse is the response returned by the GetCodecDescriptor RPC","properties":{"codec":{"title":"codec describes the application codec such as registered interfaces and implementations","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.CodecDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse":{"type":"object","title":"GetConfigurationDescriptorResponse is the response returned by the GetConfigurationDescriptor RPC","properties":{"config":{"title":"config describes the application's sdk.Config","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ConfigurationDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse":{"type":"object","title":"GetQueryServicesDescriptorResponse is the response returned by the GetQueryServicesDescriptor RPC","properties":{"queries":{"title":"queries provides information on the available queryable services","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServicesDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse":{"type":"object","title":"GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC","properties":{"tx":{"title":"tx provides information on msgs that can be forwarded to the application\nalongside the accepted transaction protobuf type","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.TxDescriptor"}}},"cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor":{"type":"object","title":"InterfaceAcceptingMessageDescriptor describes a protobuf message which contains\nan interface represented as a google.protobuf.Any","properties":{"field_descriptor_names":{"type":"array","title":"field_descriptor_names is a list of the protobuf name (not fullname) of the field\nwhich contains the interface as google.protobuf.Any (the interface is the same, but\nit can be in multiple fields of the same proto message)","items":{"type":"string"}},"fullname":{"type":"string","title":"fullname is the protobuf fullname of the type containing the interface"}}},"cosmos.base.reflection.v2alpha1.InterfaceDescriptor":{"type":"object","title":"InterfaceDescriptor describes the implementation of an interface","properties":{"fullname":{"type":"string","title":"fullname is the name of the interface"},"interface_accepting_messages":{"type":"array","title":"interface_accepting_messages contains information regarding the proto messages which contain the interface as\ngoogle.protobuf.Any field","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor"}},"interface_implementers":{"type":"array","title":"interface_implementers is a list of the descriptors of the interface implementers","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor"}}}},"cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor":{"type":"object","title":"InterfaceImplementerDescriptor describes an interface implementer","properties":{"fullname":{"type":"string","title":"fullname is the protobuf queryable name of the interface implementer"},"type_url":{"type":"string","title":"type_url defines the type URL used when marshalling the type as any\nthis is required so we can provide type safe google.protobuf.Any marshalling and\nunmarshalling, making sure that we don't accept just 'any' type\nin our interface fields"}}},"cosmos.base.reflection.v2alpha1.MsgDescriptor":{"type":"object","title":"MsgDescriptor describes a cosmos-sdk message that can be delivered with a transaction","properties":{"msg_type_url":{"description":"msg_type_url contains the TypeURL of a sdk.Msg.","type":"string"}}},"cosmos.base.reflection.v2alpha1.QueryMethodDescriptor":{"type":"object","title":"QueryMethodDescriptor describes a queryable method of a query service\nno other info is provided beside method name and tendermint queryable path\nbecause it would be redundant with the grpc reflection service","properties":{"full_query_path":{"type":"string","title":"full_query_path is the path that can be used to query\nthis method via tendermint abci.Query"},"name":{"type":"string","title":"name is the protobuf name (not fullname) of the method"}}},"cosmos.base.reflection.v2alpha1.QueryServiceDescriptor":{"type":"object","title":"QueryServiceDescriptor describes a cosmos-sdk queryable service","properties":{"fullname":{"type":"string","title":"fullname is the protobuf fullname of the service descriptor"},"is_module":{"type":"boolean","title":"is_module describes if this service is actually exposed by an application's module"},"methods":{"type":"array","title":"methods provides a list of query service methods","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryMethodDescriptor"}}}},"cosmos.base.reflection.v2alpha1.QueryServicesDescriptor":{"type":"object","title":"QueryServicesDescriptor contains the list of cosmos-sdk queriable services","properties":{"query_services":{"type":"array","title":"query_services is a list of cosmos-sdk QueryServiceDescriptor","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServiceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.SigningModeDescriptor":{"type":"object","title":"SigningModeDescriptor provides information on a signing flow of the application\nNOTE(fdymylja): here we could go as far as providing an entire flow on how\nto sign a message given a SigningModeDescriptor, but it's better to think about\nthis another time","properties":{"authn_info_provider_method_fullname":{"type":"string","title":"authn_info_provider_method_fullname defines the fullname of the method to call to get\nthe metadata required to authenticate using the provided sign_modes"},"name":{"type":"string","title":"name defines the unique name of the signing mode"},"number":{"type":"integer","format":"int32","title":"number is the unique int32 identifier for the sign_mode enum"}}},"cosmos.base.reflection.v2alpha1.TxDescriptor":{"type":"object","title":"TxDescriptor describes the accepted transaction type","properties":{"fullname":{"description":"fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type)\nit is not meant to support polymorphism of transaction types, it is supposed to be used by\nreflection clients to understand if they can handle a specific transaction type in an application.","type":"string"},"msgs":{"type":"array","title":"msgs lists the accepted application messages (sdk.Msg)","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.MsgDescriptor"}}}},"cosmos.base.tendermint.v1beta1.ABCIQueryResponse":{"description":"ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint.","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"type":"string","title":"nondeterministic"},"proof_ops":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOps"},"value":{"type":"string","format":"byte"}}},"cosmos.base.tendermint.v1beta1.Block":{"description":"Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string.","type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse":{"description":"GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"title":"Since: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestBlockResponse":{"description":"GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"title":"Since: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse":{"description":"GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.GetNodeInfoResponse":{"description":"GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method.","type":"object","properties":{"application_version":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.VersionInfo"},"default_node_info":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfo"}}},"cosmos.base.tendermint.v1beta1.GetSyncingResponse":{"description":"GetSyncingResponse is the response type for the Query/GetSyncing RPC method.","type":"object","properties":{"syncing":{"type":"boolean"}}},"cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse":{"description":"GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.Header":{"description":"Header defines the structure of a Tendermint block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"description":"proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX.\n\noriginal proposer of the block","type":"string"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"cosmos.base.tendermint.v1beta1.Module":{"type":"object","title":"Module is the type for VersionInfo","properties":{"path":{"type":"string","title":"module path"},"sum":{"type":"string","title":"checksum"},"version":{"type":"string","title":"module version"}}},"cosmos.base.tendermint.v1beta1.ProofOp":{"description":"ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint.","type":"object","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"cosmos.base.tendermint.v1beta1.ProofOps":{"description":"ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint.","type":"object","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOp"}}}},"cosmos.base.tendermint.v1beta1.Validator":{"description":"Validator is the type for the validator-set.","type":"object","properties":{"address":{"type":"string"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"voting_power":{"type":"string","format":"int64"}}},"cosmos.base.tendermint.v1beta1.VersionInfo":{"description":"VersionInfo is the type for the GetNodeInfoResponse message.","type":"object","properties":{"app_name":{"type":"string"},"build_deps":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Module"}},"build_tags":{"type":"string"},"cosmos_sdk_version":{"type":"string","title":"Since: cosmos-sdk 0.43"},"git_commit":{"type":"string"},"go_version":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.base.v1beta1.DecCoin":{"description":"DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.circuit.v1.AccountResponse":{"description":"AccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"permission":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.AccountsResponse":{"description":"AccountsResponse is the response type for the Query/Accounts RPC method.","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.circuit.v1.GenesisAccountPermissions"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.circuit.v1.DisabledListResponse":{"description":"DisabledListResponse is the response type for the Query/DisabledList RPC method.","type":"object","properties":{"disabled_list":{"type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.GenesisAccountPermissions":{"type":"object","title":"GenesisAccountPermissions is the account permissions for the circuit breaker in genesis","properties":{"address":{"type":"string"},"permissions":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreaker":{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","type":"object","properties":{"grantee":{"description":"grantee is the account authorized with the provided permissions.","type":"string"},"granter":{"description":"granter is the granter of the circuit breaker permissions and must have\nLEVEL_SUPER_ADMIN.","type":"string"},"permissions":{"description":"permissions are the circuit breaker permissions that the grantee receives.\nThese will overwrite any existing permissions. LEVEL_NONE_UNSPECIFIED can\nbe specified to revoke all permissions.","$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse":{"description":"MsgAuthorizeCircuitBreakerResponse defines the Msg/AuthorizeCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgResetCircuitBreaker":{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip or reset the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of Msg type URLs to resume processing. If\nit is left empty all Msg processing for type URLs that the account is\nauthorized to trip will resume.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgResetCircuitBreakerResponse":{"description":"MsgResetCircuitBreakerResponse defines the Msg/ResetCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgTripCircuitBreaker":{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of type URLs to immediately stop processing.\nIF IT IS LEFT EMPTY, ALL MSG PROCESSING WILL STOP IMMEDIATELY.\nThis value is validated against the authority's permissions and if the\nauthority does not have permissions to trip the specified msg type URLs\n(or all URLs), the operation will fail.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgTripCircuitBreakerResponse":{"description":"MsgTripCircuitBreakerResponse defines the Msg/TripCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.Permissions":{"description":"Permissions are the permissions that an account has to trip\nor reset the circuit breaker.","type":"object","properties":{"level":{"description":"level is the level of permissions granted to this account.","$ref":"#/definitions/cosmos.circuit.v1.Permissions.Level"},"limit_type_urls":{"description":"limit_type_urls is used with LEVEL_SOME_MSGS to limit the lists of Msg type\nURLs that the account can trip. It is an error to use limit_type_urls with\na level other than LEVEL_SOME_MSGS.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.Permissions.Level":{"description":"Level is the permission level.\n\n - LEVEL_NONE_UNSPECIFIED: LEVEL_NONE_UNSPECIFIED indicates that the account will have no circuit\nbreaker permissions.\n - LEVEL_SOME_MSGS: LEVEL_SOME_MSGS indicates that the account will have permission to\ntrip or reset the circuit breaker for some Msg type URLs. If this level\nis chosen, a non-empty list of Msg type URLs must be provided in\nlimit_type_urls.\n - LEVEL_ALL_MSGS: LEVEL_ALL_MSGS indicates that the account can trip or reset the circuit\nbreaker for Msg's of all type URLs.\n - LEVEL_SUPER_ADMIN: LEVEL_SUPER_ADMIN indicates that the account can take all circuit breaker\nactions and can grant permissions to other accounts.","type":"string","default":"LEVEL_NONE_UNSPECIFIED","enum":["LEVEL_NONE_UNSPECIFIED","LEVEL_SOME_MSGS","LEVEL_ALL_MSGS","LEVEL_SUPER_ADMIN"]},"cosmos.consensus.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"abci":{"title":"Since: cosmos-sdk 0.50","$ref":"#/definitions/tendermint.types.ABCIParams"},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"block":{"description":"params defines the x/consensus parameters to update.\nVersionsParams is not included in this Msg because it is tracked\nsepararately in x/upgrade.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"}}},"cosmos.consensus.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.consensus.v1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/consensus parameters.","type":"object","properties":{"params":{"description":"params are the tendermint consensus params stored in the consensus module.\nPlease note that `params.version` is not populated in this response, it is\ntracked separately in the x/upgrade module.","$ref":"#/definitions/tendermint.types.ConsensusParams"}}},"cosmos.crisis.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"constant_fee":{"description":"constant_fee defines the x/crisis parameter.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.crisis.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.crisis.v1beta1.MsgVerifyInvariant":{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","type":"object","properties":{"invariant_module_name":{"description":"name of the invariant module.","type":"string"},"invariant_route":{"description":"invariant_route is the msg's invariant route.","type":"string"},"sender":{"description":"sender is the account address of private key to send coins to fee collector account.","type":"string"}}},"cosmos.crisis.v1beta1.MsgVerifyInvariantResponse":{"description":"MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type.","type":"object"},"cosmos.crypto.multisig.v1beta1.CompactBitArray":{"description":"CompactBitArray is an implementation of a space efficient bit array.\nThis is used to ensure that the encoded data takes up a minimal amount of\nspace after proto encoding.\nThis is not thread safe, and is not intended for concurrent usage.","type":"object","properties":{"elems":{"type":"string","format":"byte"},"extra_bits_stored":{"type":"integer","format":"int64"}}},"cosmos.distribution.v1beta1.DelegationDelegatorReward":{"description":"DelegationDelegatorReward represents the properties\nof a delegator's delegation reward.","type":"object","properties":{"reward":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpend":{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"recipient":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse":{"description":"MsgCommunityPoolSpendResponse defines the response to executing a\nMsgCommunityPoolSpend message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool":{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse":{"description":"MsgDepositValidatorRewardsPoolResponse defines the response to executing a\nMsgDepositValidatorRewardsPool message.\n\nSince: cosmos-sdk 0.50","type":"object"},"cosmos.distribution.v1beta1.MsgFundCommunityPool":{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse":{"description":"MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.","type":"object"},"cosmos.distribution.v1beta1.MsgSetWithdrawAddress":{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","type":"object","properties":{"delegator_address":{"type":"string"},"withdraw_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse":{"description":"MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response\ntype.","type":"object"},"cosmos.distribution.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/distribution parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward":{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","type":"object","properties":{"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse":{"description":"MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward\nresponse type.","type":"object","properties":{"amount":{"type":"array","title":"Since: cosmos-sdk 0.46","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission":{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","type":"object","properties":{"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse":{"description":"MsgWithdrawValidatorCommissionResponse defines the\nMsg/WithdrawValidatorCommission response type.","type":"object","properties":{"amount":{"type":"array","title":"Since: cosmos-sdk 0.46","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.Params":{"description":"Params defines the set of params for the distribution module.","type":"object","properties":{"base_proposer_reward":{"description":"Deprecated: The base_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"bonus_proposer_reward":{"description":"Deprecated: The bonus_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"community_tax":{"type":"string"},"withdraw_addr_enabled":{"type":"boolean"}}},"cosmos.distribution.v1beta1.QueryCommunityPoolResponse":{"description":"QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method.","type":"object","properties":{"pool":{"description":"pool defines community pool's coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationRewardsResponse":{"description":"QueryDelegationRewardsResponse is the response type for the\nQuery/DelegationRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines the rewards accrued by a delegation.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse":{"description":"QueryDelegationTotalRewardsResponse is the response type for the\nQuery/DelegationTotalRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines all the rewards accrued by a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.DelegationDelegatorReward"}},"total":{"description":"total defines the sum of all the rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is the response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"validators":{"description":"validators defines the validators a delegator is delegating for.","type":"array","items":{"type":"string"}}}},"cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse":{"description":"QueryDelegatorWithdrawAddressResponse is the response type for the\nQuery/DelegatorWithdrawAddress RPC method.","type":"object","properties":{"withdraw_address":{"description":"withdraw_address defines the delegator address to query for.","type":"string"}}},"cosmos.distribution.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.QueryValidatorCommissionResponse":{"type":"object","title":"QueryValidatorCommissionResponse is the response type for the\nQuery/ValidatorCommission RPC method","properties":{"commission":{"description":"commission defines the commission the validator received.","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission"}}},"cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse":{"description":"QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method.","type":"object","properties":{"commission":{"description":"commission defines the commission the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"operator_address":{"description":"operator_address defines the validator operator address.","type":"string"},"self_bond_rewards":{"description":"self_bond_rewards defines the self delegations rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse":{"description":"QueryValidatorOutstandingRewardsResponse is the response type for the\nQuery/ValidatorOutstandingRewards RPC method.","type":"object","properties":{"rewards":{"$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorOutstandingRewards"}}},"cosmos.distribution.v1beta1.QueryValidatorSlashesResponse":{"description":"QueryValidatorSlashesResponse is the response type for the\nQuery/ValidatorSlashes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"slashes":{"description":"slashes defines the slashes the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorSlashEvent"}}}},"cosmos.distribution.v1beta1.ValidatorAccumulatedCommission":{"description":"ValidatorAccumulatedCommission represents accumulated commission\nfor a validator kept as a running counter, can be withdrawn at any time.","type":"object","properties":{"commission":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorOutstandingRewards":{"description":"ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards\nfor a validator inexpensive to track, allows simple sanity checks.","type":"object","properties":{"rewards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorSlashEvent":{"description":"ValidatorSlashEvent represents a validator slash event.\nHeight is implicit within the store key.\nThis is needed to calculate appropriate amount of staking tokens\nfor delegations which are withdrawn after a slash has occurred.","type":"object","properties":{"fraction":{"type":"string"},"validator_period":{"type":"string","format":"uint64"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidence":{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","type":"object","properties":{"evidence":{"description":"evidence defines the evidence of misbehavior.","$ref":"#/definitions/google.protobuf.Any"},"submitter":{"description":"submitter is the signer account address of evidence.","type":"string"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse":{"description":"MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.","type":"object","properties":{"hash":{"description":"hash defines the hash of the evidence.","type":"string","format":"byte"}}},"cosmos.evidence.v1beta1.QueryAllEvidenceResponse":{"description":"QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod.","type":"object","properties":{"evidence":{"description":"evidence returns all evidences.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.evidence.v1beta1.QueryEvidenceResponse":{"description":"QueryEvidenceResponse is the response type for the Query/Evidence RPC method.","type":"object","properties":{"evidence":{"description":"evidence returns the requested evidence.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.feegrant.v1beta1.Grant":{"type":"object","title":"Grant is stored in the KVStore to record a grant with full context","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowance":{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","type":"object","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse":{"description":"MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.MsgPruneAllowances":{"description":"MsgPruneAllowances prunes expired fee allowances.\n\nSince cosmos-sdk 0.50","type":"object","properties":{"pruner":{"description":"pruner is the address of the user pruning expired allowances.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse":{"description":"MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse response type.\n\nSince cosmos-sdk 0.50","type":"object"},"cosmos.feegrant.v1beta1.MsgRevokeAllowance":{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","type":"object","properties":{"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse":{"description":"MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.QueryAllowanceResponse":{"description":"QueryAllowanceResponse is the response type for the Query/Allowance RPC method.","type":"object","properties":{"allowance":{"description":"allowance is a allowance granted for grantee by granter.","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}}},"cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse":{"description":"QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"allowances":{"description":"allowances that have been issued by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.feegrant.v1beta1.QueryAllowancesResponse":{"description":"QueryAllowancesResponse is the response type for the Query/Allowances RPC method.","type":"object","properties":{"allowances":{"description":"allowances are allowance's granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1.MsgCancelProposal":{"description":"MsgCancelProposal is the Msg/CancelProposal request type.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1.MsgCancelProposalResponse":{"description":"MsgCancelProposalResponse defines the response structure for executing a\nMsgCancelProposal message.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"canceled_height":{"description":"canceled_height defines the block height at which the proposal is canceled.","type":"string","format":"uint64"},"canceled_time":{"description":"canceled_time is the time when proposal is canceled.","type":"string","format":"date-time"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1.MsgExecLegacyContent":{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","type":"object","properties":{"authority":{"description":"authority must be the gov module address.","type":"string"},"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.gov.v1.MsgExecLegacyContentResponse":{"description":"MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type.","type":"object"},"cosmos.gov.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"expedited":{"description":"Since: cosmos-sdk 0.50","type":"boolean","title":"expedited defines if the proposal is expedited or not"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"messages":{"description":"messages are the arbitrary messages to be executed if proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is the summary of the proposal"},"title":{"description":"title is the title of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"}}},"cosmos.gov.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/gov parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.gov.v1.Params"}}},"cosmos.gov.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.gov.v1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the Vote.","type":"string"},"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the VoteWeighted.","type":"string"},"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.","type":"object"},"cosmos.gov.v1.Params":{"description":"Params defines the parameters for the x/gov module.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"burn_proposal_deposit_prevote":{"type":"boolean","title":"burn deposits if the proposal does not enter voting period"},"burn_vote_quorum":{"type":"boolean","title":"burn deposits if a proposal does not meet quorum"},"burn_vote_veto":{"type":"boolean","title":"burn deposits if quorum with vote type no_veto is met"},"expedited_min_deposit":{"description":"Minimum expedited deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"expedited_threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.\n\nSince: cosmos-sdk 0.50","type":"string"},"expedited_voting_period":{"description":"Duration of the voting period of an expedited proposal.\n\nSince: cosmos-sdk 0.50","type":"string"},"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"min_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.\nDefault value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be\nrequired.\n\nSince: cosmos-sdk 0.50","type":"string"},"min_initial_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value that must be paid at proposal submission.","type":"string"},"proposal_cancel_dest":{"description":"The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.\nIf empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.\n\nSince: cosmos-sdk 0.50","type":"string"},"proposal_cancel_ratio":{"description":"The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.\n\nSince: cosmos-sdk 0.50","type":"string"},"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\n considered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3.","type":"string"},"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"expedited":{"description":"Since: cosmos-sdk 0.50","type":"boolean","title":"expedited defines if the proposal is expedited"},"failed_reason":{"description":"Since: cosmos-sdk 0.50","type":"string","title":"failed_reason defines the reason why the proposal failed"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"},"id":{"description":"id defines the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages are the arbitrary messages to be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3"},"proposer":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"proposer is the address of the proposal sumbitter"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is a short summary of the proposal"},"title":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"title is the title of the proposal"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1.QueryConstitutionResponse":{"type":"object","title":"QueryConstitutionResponse is the response type for the Query/Constitution RPC method","properties":{"constitution":{"type":"string"}}},"cosmos.gov.v1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1.Deposit"}}},"cosmos.gov.v1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1.DepositParams"},"params":{"description":"params defines all the paramaters of x/gov module.\n\nSince: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.gov.v1.Params"},"tally_params":{"description":"Deprecated: Prefer to use `params` instead.\ntally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1.TallyParams"},"voting_params":{"description":"Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1.VotingParams"}}},"cosmos.gov.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"description":"proposal is the requested governance proposal.","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}},"cosmos.gov.v1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}}},"cosmos.gov.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"}}},"cosmos.gov.v1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1.Vote"}}},"cosmos.gov.v1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Vote"}}}},"cosmos.gov.v1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string"}}},"cosmos.gov.v1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the number of abstain votes on a proposal.","type":"string"},"no_count":{"description":"no_count is the number of no votes on a proposal.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the number of no with veto votes on a proposal.","type":"string"},"yes_count":{"description":"yes_count is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5"},"options":{"description":"options is the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.gov.v1beta1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1beta1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1beta1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1beta1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1beta1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.\n\nSince: cosmos-sdk 0.43","type":"object"},"cosmos.gov.v1beta1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1beta1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1beta1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1beta1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}}},"cosmos.gov.v1beta1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"deposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.DepositParams"},"tally_params":{"description":"tally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyParams"},"voting_params":{"description":"voting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1beta1.VotingParams"}}},"cosmos.gov.v1beta1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}},"cosmos.gov.v1beta1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}}},"cosmos.gov.v1beta1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"}}},"cosmos.gov.v1beta1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}},"cosmos.gov.v1beta1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}}},"cosmos.gov.v1beta1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string","format":"byte"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string","format":"byte"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string","format":"byte"}}},"cosmos.gov.v1beta1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain":{"description":"abstain is the number of abstain votes on a proposal.","type":"string"},"no":{"description":"no is the number of no votes on a proposal.","type":"string"},"no_with_veto":{"description":"no_with_veto is the number of no with veto votes on a proposal.","type":"string"},"yes":{"description":"yes is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1beta1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"option":{"description":"Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"options":{"description":"options is the weighted vote options.\n\nSince: cosmos-sdk 0.43","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1beta1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1beta1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1beta1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.group.v1.Exec":{"description":"Exec defines modes of execution of a proposal on creation or on new vote.\n\n - EXEC_UNSPECIFIED: An empty value means that there should be a separate\nMsgExec request for the proposal to execute.\n - EXEC_TRY: Try to execute the proposal immediately.\nIf the proposal is not allowed per the DecisionPolicy,\nthe proposal will still be open and could\nbe executed at a later point.","type":"string","default":"EXEC_UNSPECIFIED","enum":["EXEC_UNSPECIFIED","EXEC_TRY"]},"cosmos.group.v1.GroupInfo":{"description":"GroupInfo represents the high-level on-chain information for a group.","type":"object","properties":{"admin":{"description":"admin is the account address of the group's admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group was created.","type":"string","format":"date-time"},"id":{"description":"id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata to attached to the group.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#group-1"},"total_weight":{"description":"total_weight is the sum of the group members' weights.","type":"string"},"version":{"type":"string","format":"uint64","title":"version is used to track changes to a group's membership structure that\nwould break existing proposals. Whenever any members weight is changed,\nor any member is added or removed this version is incremented and will\ncause proposals based on older versions of this group to fail"}}},"cosmos.group.v1.GroupMember":{"description":"GroupMember represents the relationship between a group and a member.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member":{"description":"member is the member data.","$ref":"#/definitions/cosmos.group.v1.Member"}}},"cosmos.group.v1.GroupPolicyInfo":{"description":"GroupPolicyInfo represents the high-level on-chain information for a group policy.","type":"object","properties":{"address":{"description":"address is the account address of group policy.","type":"string"},"admin":{"description":"admin is the account address of the group admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group policy was created.","type":"string","format":"date-time"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the group policy.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#decision-policy-1"},"version":{"description":"version is used to track changes to a group's GroupPolicyInfo structure that\nwould create a different result on a running proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.Member":{"description":"Member represents a group member with an account address,\nnon-zero weight, metadata and added_at timestamp.","type":"object","properties":{"added_at":{"description":"added_at is a timestamp specifying when a member was added.","type":"string","format":"date-time"},"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MemberRequest":{"description":"MemberRequest represents a group member to be used in Msg server requests.\nContrary to `Member`, it doesn't have any `added_at` field\nsince this field cannot be set as part of requests.","type":"object","properties":{"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MsgCreateGroup":{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}},"metadata":{"description":"metadata is any arbitrary metadata to attached to the group.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicy":{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is any arbitrary metadata attached to the group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicyResponse":{"description":"MsgCreateGroupPolicyResponse is the Msg/CreateGroupPolicy response type.","type":"object","properties":{"address":{"description":"address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupResponse":{"description":"MsgCreateGroupResponse is the Msg/CreateGroup response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgCreateGroupWithPolicy":{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group and group policy admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_metadata":{"description":"group_metadata is any arbitrary metadata attached to the group.","type":"string"},"group_policy_as_admin":{"description":"group_policy_as_admin is a boolean field, if set to true, the group policy account address will be used as group\nand group policy admin.","type":"boolean"},"group_policy_metadata":{"description":"group_policy_metadata is any arbitrary metadata attached to the group policy.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgCreateGroupWithPolicyResponse":{"description":"MsgCreateGroupWithPolicyResponse is the Msg/CreateGroupWithPolicy response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group with policy.","type":"string","format":"uint64"},"group_policy_address":{"description":"group_policy_address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgExec":{"description":"MsgExec is the Msg/Exec request type.","type":"object","properties":{"executor":{"description":"executor is the account address used to execute the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgExecResponse":{"description":"MsgExecResponse is the Msg/Exec request type.","type":"object","properties":{"result":{"description":"result is the final result of the proposal execution.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"}}},"cosmos.group.v1.MsgLeaveGroup":{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","type":"object","properties":{"address":{"description":"address is the account address of the group member.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgLeaveGroupResponse":{"description":"MsgLeaveGroupResponse is the Msg/LeaveGroup response type.","type":"object"},"cosmos.group.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","type":"object","properties":{"exec":{"description":"exec defines the mode of execution of the proposal,\nwhether it should be executed immediately on creation or not.\nIf so, proposers signatures are considered as Yes votes.","$ref":"#/definitions/cosmos.group.v1.Exec"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposers":{"description":"proposers are the account addresses of the proposers.\nProposers signatures will be counted as yes votes.","type":"array","items":{"type":"string"}},"summary":{"description":"summary is the summary of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"},"title":{"description":"title is the title of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"}}},"cosmos.group.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse is the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgUpdateGroupAdmin":{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the current account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"new_admin":{"description":"new_admin is the group new admin account address.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupAdminResponse":{"description":"MsgUpdateGroupAdminResponse is the Msg/UpdateGroupAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMembers":{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member_updates":{"description":"member_updates is the list of members to update,\nset weight to 0 to remove a member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgUpdateGroupMembersResponse":{"description":"MsgUpdateGroupMembersResponse is the Msg/UpdateGroupMembers response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMetadata":{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is the updated group's metadata.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupMetadataResponse":{"description":"MsgUpdateGroupMetadataResponse is the Msg/UpdateGroupMetadata response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyAdmin":{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of the group policy.","type":"string"},"new_admin":{"description":"new_admin is the new group policy admin.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse":{"description":"MsgUpdateGroupPolicyAdminResponse is the Msg/UpdateGroupPolicyAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy":{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy is the updated group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse":{"description":"MsgUpdateGroupPolicyDecisionPolicyResponse is the Msg/UpdateGroupPolicyDecisionPolicy response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyMetadata":{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"metadata":{"description":"metadata is the group policy metadata to be updated.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse":{"description":"MsgUpdateGroupPolicyMetadataResponse is the Msg/UpdateGroupPolicyMetadata response type.","type":"object"},"cosmos.group.v1.MsgVote":{"description":"MsgVote is the Msg/Vote request type.","type":"object","properties":{"exec":{"description":"exec defines whether the proposal should be executed\nimmediately after voting or not.","$ref":"#/definitions/cosmos.group.v1.Exec"},"metadata":{"description":"metadata is any arbitrary metadata attached to the vote.","type":"string"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter account address.","type":"string"}}},"cosmos.group.v1.MsgVoteResponse":{"description":"MsgVoteResponse is the Msg/Vote response type.","type":"object"},"cosmos.group.v1.MsgWithdrawProposal":{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","type":"object","properties":{"address":{"description":"address is the admin of the group policy or one of the proposer of the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgWithdrawProposalResponse":{"description":"MsgWithdrawProposalResponse is the Msg/WithdrawProposal response type.","type":"object"},"cosmos.group.v1.Proposal":{"description":"Proposal defines a group proposal. Any member of a group can submit a proposal\nfor a group policy to decide upon.\nA proposal consists of a set of `sdk.Msg`s that will be executed if the proposal\npasses as well as some optional metadata associated with the proposal.","type":"object","properties":{"executor_result":{"description":"executor_result is the final result of the proposal execution. Initial value is NotRun.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"},"final_tally_result":{"description":"final_tally_result contains the sums of all weighted votes for this\nproposal for each vote option. It is empty at submission, and only\npopulated after tallying, at voting period end or at proposal execution,\nwhichever happens first.","$ref":"#/definitions/cosmos.group.v1.TallyResult"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"group_policy_version":{"description":"group_policy_version tracks the version of the group policy at proposal submission.\nWhen a decision policy is changed, existing proposals from previous policy\nversions will become invalid with the `ABORTED` status.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"group_version":{"description":"group_version tracks the version of the group at proposal submission.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"id":{"description":"id is the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#proposal-4"},"proposers":{"description":"proposers are the account addresses of the proposers.","type":"array","items":{"type":"string"}},"status":{"description":"status represents the high level position in the life cycle of the proposal. Initial value is Submitted.","$ref":"#/definitions/cosmos.group.v1.ProposalStatus"},"submit_time":{"description":"submit_time is a timestamp specifying when a proposal was submitted.","type":"string","format":"date-time"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is a short summary of the proposal"},"title":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"title is the title of the proposal"},"voting_period_end":{"description":"voting_period_end is the timestamp before which voting must be done.\nUnless a successful MsgExec is called before (to execute a proposal whose\ntally is successful before the voting period ends), tallying will be done\nat this point, and the `final_tally_result`and `status` fields will be\naccordingly updated.","type":"string","format":"date-time"}}},"cosmos.group.v1.ProposalExecutorResult":{"description":"ProposalExecutorResult defines types of proposal executor results.\n\n - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: An empty value is not allowed.\n - PROPOSAL_EXECUTOR_RESULT_NOT_RUN: We have not yet run the executor.\n - PROPOSAL_EXECUTOR_RESULT_SUCCESS: The executor was successful and proposed action updated state.\n - PROPOSAL_EXECUTOR_RESULT_FAILURE: The executor returned an error and proposed action didn't update state.","type":"string","default":"PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","enum":["PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","PROPOSAL_EXECUTOR_RESULT_NOT_RUN","PROPOSAL_EXECUTOR_RESULT_SUCCESS","PROPOSAL_EXECUTOR_RESULT_FAILURE"]},"cosmos.group.v1.ProposalStatus":{"description":"ProposalStatus defines proposal statuses.\n\n - PROPOSAL_STATUS_UNSPECIFIED: An empty value is invalid and not allowed.\n - PROPOSAL_STATUS_SUBMITTED: Initial status of a proposal when submitted.\n - PROPOSAL_STATUS_ACCEPTED: Final status of a proposal when the final tally is done and the outcome\npasses the group policy's decision policy.\n - PROPOSAL_STATUS_REJECTED: Final status of a proposal when the final tally is done and the outcome\nis rejected by the group policy's decision policy.\n - PROPOSAL_STATUS_ABORTED: Final status of a proposal when the group policy is modified before the\nfinal tally.\n - PROPOSAL_STATUS_WITHDRAWN: A proposal can be withdrawn before the voting start time by the owner.\nWhen this happens the final status is Withdrawn.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_SUBMITTED","PROPOSAL_STATUS_ACCEPTED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_ABORTED","PROPOSAL_STATUS_WITHDRAWN"]},"cosmos.group.v1.QueryGroupInfoResponse":{"description":"QueryGroupInfoResponse is the Query/GroupInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupInfo of the group.","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}}},"cosmos.group.v1.QueryGroupMembersResponse":{"description":"QueryGroupMembersResponse is the Query/GroupMembersResponse response type.","type":"object","properties":{"members":{"description":"members are the members of the group with given group_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupMember"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByAdminResponse":{"description":"QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info with provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByGroupResponse":{"description":"QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info associated with the provided group.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPolicyInfoResponse":{"description":"QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupPolicyInfo of the group policy.","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}}},"cosmos.group.v1.QueryGroupsByAdminResponse":{"description":"QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsByMemberResponse":{"description":"QueryGroupsByMemberResponse is the Query/GroupsByMember response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided group member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsResponse":{"description":"QueryGroupsResponse is the Query/Groups response type.\n\nSince: cosmos-sdk 0.47.1","type":"object","properties":{"groups":{"description":"`groups` is all the groups present in state.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the Query/Proposal response type.","type":"object","properties":{"proposal":{"description":"proposal is the proposal info.","$ref":"#/definitions/cosmos.group.v1.Proposal"}}},"cosmos.group.v1.QueryProposalsByGroupPolicyResponse":{"description":"QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals are the proposals with given group policy.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Proposal"}}}},"cosmos.group.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the Query/TallyResult response type.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.group.v1.TallyResult"}}},"cosmos.group.v1.QueryVoteByProposalVoterResponse":{"description":"QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter response type.","type":"object","properties":{"vote":{"description":"vote is the vote with given proposal_id and voter.","$ref":"#/definitions/cosmos.group.v1.Vote"}}},"cosmos.group.v1.QueryVotesByProposalResponse":{"description":"QueryVotesByProposalResponse is the Query/VotesByProposal response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes for given proposal_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.QueryVotesByVoterResponse":{"description":"QueryVotesByVoterResponse is the Query/VotesByVoter response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes by given voter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.TallyResult":{"description":"TallyResult represents the sum of weighted votes for each vote option.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the weighted sum of abstainers.","type":"string"},"no_count":{"description":"no_count is the weighted sum of no votes.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the weighted sum of veto.","type":"string"},"yes_count":{"description":"yes_count is the weighted sum of yes votes.","type":"string"}}},"cosmos.group.v1.Vote":{"type":"object","title":"Vote represents a vote for a proposal.string metadata","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#vote-2"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"submit_time":{"description":"submit_time is the timestamp when the vote was submitted.","type":"string","format":"date-time"},"voter":{"description":"voter is the account address of the voter.","type":"string"}}},"cosmos.group.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will\nreturn an error.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.mint.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/mint parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.mint.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.mint.v1beta1.Params":{"description":"Params defines the parameters for the x/mint module.","type":"object","properties":{"blocks_per_year":{"type":"string","format":"uint64","title":"expected blocks per year"},"goal_bonded":{"type":"string","title":"goal of percent bonded atoms"},"inflation_max":{"type":"string","title":"maximum inflation rate"},"inflation_min":{"type":"string","title":"minimum inflation rate"},"inflation_rate_change":{"type":"string","title":"maximum annual change in inflation rate"},"mint_denom":{"type":"string","title":"type of coin to mint"}}},"cosmos.mint.v1beta1.QueryAnnualProvisionsResponse":{"description":"QueryAnnualProvisionsResponse is the response type for the\nQuery/AnnualProvisions RPC method.","type":"object","properties":{"annual_provisions":{"description":"annual_provisions is the current minting annual provisions value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryInflationResponse":{"description":"QueryInflationResponse is the response type for the Query/Inflation RPC\nmethod.","type":"object","properties":{"inflation":{"description":"inflation is the current minting inflation value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.nft.v1beta1.Class":{"description":"Class defines the class of the nft type.","type":"object","properties":{"data":{"title":"data is the app specific metadata of the NFT class. Optional","$ref":"#/definitions/google.protobuf.Any"},"description":{"type":"string","title":"description is a brief description of nft classification. Optional"},"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"},"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"}}},"cosmos.nft.v1beta1.MsgSend":{"description":"MsgSend represents a message to send a nft from one account to another account.","type":"object","properties":{"class_id":{"type":"string","title":"class_id defines the unique identifier of the nft classification, similar to the contract address of ERC721"},"id":{"type":"string","title":"id defines the unique identification of nft"},"receiver":{"type":"string","title":"receiver is the receiver address of nft"},"sender":{"type":"string","title":"sender is the address of the owner of nft"}}},"cosmos.nft.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.nft.v1beta1.NFT":{"description":"NFT defines the NFT.","type":"object","properties":{"class_id":{"type":"string","title":"class_id associated with the NFT, similar to the contract address of ERC721"},"data":{"title":"data is an app specific data of the NFT. Optional","$ref":"#/definitions/google.protobuf.Any"},"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"}}},"cosmos.nft.v1beta1.QueryBalanceResponse":{"type":"object","title":"QueryBalanceResponse is the response type for the Query/Balance RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs of a given class owned by the owner"}}},"cosmos.nft.v1beta1.QueryClassResponse":{"type":"object","title":"QueryClassResponse is the response type for the Query/Class RPC method","properties":{"class":{"description":"class defines the class of the nft type.","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}}},"cosmos.nft.v1beta1.QueryClassesResponse":{"type":"object","title":"QueryClassesResponse is the response type for the Query/Classes RPC method","properties":{"classes":{"description":"class defines the class of the nft type.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryNFTResponse":{"type":"object","title":"QueryNFTResponse is the response type for the Query/NFT RPC method","properties":{"nft":{"title":"owner is the owner address of the nft","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}}},"cosmos.nft.v1beta1.QueryNFTsResponse":{"type":"object","title":"QueryNFTsResponse is the response type for the Query/NFTs RPC methods","properties":{"nfts":{"type":"array","title":"NFT defines the NFT","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryOwnerResponse":{"type":"object","title":"QueryOwnerResponse is the response type for the Query/Owner RPC method","properties":{"owner":{"type":"string","title":"owner is the owner address of the nft"}}},"cosmos.nft.v1beta1.QuerySupplyResponse":{"type":"object","title":"QuerySupplyResponse is the response type for the Query/Supply RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs from the given class"}}},"cosmos.params.v1beta1.ParamChange":{"description":"ParamChange defines an individual parameter change, for use in\nParameterChangeProposal.","type":"object","properties":{"key":{"type":"string"},"subspace":{"type":"string"},"value":{"type":"string"}}},"cosmos.params.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"param":{"description":"param defines the queried parameter.","$ref":"#/definitions/cosmos.params.v1beta1.ParamChange"}}},"cosmos.params.v1beta1.QuerySubspacesResponse":{"description":"QuerySubspacesResponse defines the response types for querying for all\nregistered subspaces and all keys for a subspace.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"subspaces":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.params.v1beta1.Subspace"}}}},"cosmos.params.v1beta1.Subspace":{"description":"Subspace defines a parameter subspace name and all the keys that exist for\nthe subspace.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"keys":{"type":"array","items":{"type":"string"}},"subspace":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjail":{"type":"object","title":"MsgUnjail defines the Msg/Unjail request type","properties":{"validator_addr":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjailResponse":{"type":"object","title":"MsgUnjailResponse defines the Msg/Unjail response type"},"cosmos.slashing.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/slashing parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.slashing.v1beta1.Params":{"description":"Params represents the parameters used for by the slashing module.","type":"object","properties":{"downtime_jail_duration":{"type":"string"},"min_signed_per_window":{"type":"string","format":"byte"},"signed_blocks_window":{"type":"string","format":"int64"},"slash_fraction_double_sign":{"type":"string","format":"byte"},"slash_fraction_downtime":{"type":"string","format":"byte"}}},"cosmos.slashing.v1beta1.QueryParamsResponse":{"type":"object","title":"QueryParamsResponse is the response type for the Query/Params RPC method","properties":{"params":{"$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.QuerySigningInfoResponse":{"type":"object","title":"QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod","properties":{"val_signing_info":{"title":"val_signing_info is the signing info of requested val cons address","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}}},"cosmos.slashing.v1beta1.QuerySigningInfosResponse":{"type":"object","title":"QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod","properties":{"info":{"type":"array","title":"info is the signing info of all validators","items":{"type":"object","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.slashing.v1beta1.ValidatorSigningInfo":{"description":"ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity.","type":"object","properties":{"address":{"type":"string"},"index_offset":{"description":"Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap.","type":"string","format":"int64"},"jailed_until":{"description":"Timestamp until which the validator is jailed due to liveness downtime.","type":"string","format":"date-time"},"missed_blocks_counter":{"description":"A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap.","type":"string","format":"int64"},"start_height":{"type":"string","format":"int64","title":"Height at which validator was first a candidate OR was un-jailed"},"tombstoned":{"description":"Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior.","type":"boolean"}}},"cosmos.staking.v1beta1.BondStatus":{"description":"BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded.","type":"string","default":"BOND_STATUS_UNSPECIFIED","enum":["BOND_STATUS_UNSPECIFIED","BOND_STATUS_UNBONDED","BOND_STATUS_UNBONDING","BOND_STATUS_BONDED"]},"cosmos.staking.v1beta1.Commission":{"description":"Commission defines commission parameters for a given validator.","type":"object","properties":{"commission_rates":{"description":"commission_rates defines the initial commission rates to be used for creating a validator.","$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"update_time":{"description":"update_time is the last time the commission rate was changed.","type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.CommissionRates":{"description":"CommissionRates defines the initial commission rates to be used for creating\na validator.","type":"object","properties":{"max_change_rate":{"description":"max_change_rate defines the maximum daily increase of the validator commission, as a fraction.","type":"string"},"max_rate":{"description":"max_rate defines the maximum commission rate which validator can ever charge, as a fraction.","type":"string"},"rate":{"description":"rate is the commission rate charged to delegators, as a fraction.","type":"string"}}},"cosmos.staking.v1beta1.Delegation":{"description":"Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"shares":{"description":"shares define the delegation shares received.","type":"string"},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.DelegationResponse":{"description":"DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses.","type":"object","properties":{"balance":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Delegation"}}},"cosmos.staking.v1beta1.Description":{"description":"Description defines a validator description.","type":"object","properties":{"details":{"description":"details define other optional details.","type":"string"},"identity":{"description":"identity defines an optional identity signature (ex. UPort or Keybase).","type":"string"},"moniker":{"description":"moniker defines a human-readable name for the validator.","type":"string"},"security_contact":{"description":"security_contact defines an optional email for security contact.","type":"string"},"website":{"description":"website defines an optional website link.","type":"string"}}},"cosmos.staking.v1beta1.HistoricalInfo":{"description":"HistoricalInfo contains header and validator information for a given block.\nIt is stored as part of staking module's state, which persists the `n` most\nrecent HistoricalInfo\n(`n` is set by the staking module's `historical_entries` parameter).","type":"object","properties":{"header":{"$ref":"#/definitions/tendermint.types.Header"},"valset":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.MsgBeginRedelegate":{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_dst_address":{"type":"string"},"validator_src_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgBeginRedelegateResponse":{"description":"MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type.","type":"object","properties":{"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegation":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator","properties":{"amount":{"title":"amount is always less than or equal to unbonding delegation entry balance","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgCancelUnbondingDelegationResponse"},"cosmos.staking.v1beta1.MsgCreateValidator":{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","type":"object","properties":{"commission":{"$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"delegator_address":{"description":"Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated.\nThe validator address bytes and delegator address bytes refer to the same account while creating validator (defer\nonly in bech32 notation).","type":"string"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"pubkey":{"$ref":"#/definitions/google.protobuf.Any"},"validator_address":{"type":"string"},"value":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.staking.v1beta1.MsgCreateValidatorResponse":{"description":"MsgCreateValidatorResponse defines the Msg/CreateValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgDelegate":{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgDelegateResponse":{"description":"MsgDelegateResponse defines the Msg/Delegate response type.","type":"object"},"cosmos.staking.v1beta1.MsgEditValidator":{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","type":"object","properties":{"commission_rate":{"type":"string","title":"We pass a reference to the new commission rate and min self delegation as\nit's not mandatory to update. If not updated, the deserialized rate will be\nzero with no way to distinguish if an update was intended.\nREF: #2373"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgEditValidatorResponse":{"description":"MsgEditValidatorResponse defines the Msg/EditValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgUndelegate":{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgUndelegateResponse":{"description":"MsgUndelegateResponse defines the Msg/Undelegate response type.","type":"object","properties":{"amount":{"description":"Since: cosmos-sdk 0.50","title":"amount returns the amount of undelegated coins","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/staking parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.staking.v1beta1.Params":{"description":"Params defines the parameters for the x/staking module.","type":"object","properties":{"bond_denom":{"description":"bond_denom defines the bondable coin denomination.","type":"string"},"historical_entries":{"description":"historical_entries is the number of historical entries to persist.","type":"integer","format":"int64"},"max_entries":{"description":"max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).","type":"integer","format":"int64"},"max_validators":{"description":"max_validators is the maximum number of validators.","type":"integer","format":"int64"},"min_commission_rate":{"type":"string","title":"min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators"},"unbonding_time":{"description":"unbonding_time is the time duration of unbonding.","type":"string"}}},"cosmos.staking.v1beta1.Pool":{"description":"Pool is used for tracking bonded and not-bonded token supply of the bond\ndenomination.","type":"object","properties":{"bonded_tokens":{"type":"string"},"not_bonded_tokens":{"type":"string"}}},"cosmos.staking.v1beta1.QueryDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/Delegation RPC method.","type":"object","properties":{"delegation_response":{"description":"delegation_responses defines the delegation info of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse":{"description":"QueryDelegatorDelegationsResponse is response type for the\nQuery/DelegatorDelegations RPC method.","type":"object","properties":{"delegation_responses":{"description":"delegation_responses defines all the delegations' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse":{"description":"QueryUnbondingDelegatorDelegationsResponse is response type for the\nQuery/UnbondingDelegatorDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorResponse":{"description":"QueryDelegatorValidatorResponse response type for the\nQuery/DelegatorValidator RPC method.","type":"object","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators defines the validators' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.QueryHistoricalInfoResponse":{"description":"QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC\nmethod.","type":"object","properties":{"hist":{"description":"hist defines the historical info at the given height.","$ref":"#/definitions/cosmos.staking.v1beta1.HistoricalInfo"}}},"cosmos.staking.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.QueryPoolResponse":{"description":"QueryPoolResponse is response type for the Query/Pool RPC method.","type":"object","properties":{"pool":{"description":"pool defines the pool info.","$ref":"#/definitions/cosmos.staking.v1beta1.Pool"}}},"cosmos.staking.v1beta1.QueryRedelegationsResponse":{"description":"QueryRedelegationsResponse is response type for the Query/Redelegations RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"redelegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationResponse"}}}},"cosmos.staking.v1beta1.QueryUnbondingDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/UnbondingDelegation\nRPC method.","type":"object","properties":{"unbond":{"description":"unbond defines the unbonding information of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}},"cosmos.staking.v1beta1.QueryValidatorDelegationsResponse":{"type":"object","title":"QueryValidatorDelegationsResponse is response type for the\nQuery/ValidatorDelegations RPC method","properties":{"delegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryValidatorResponse":{"type":"object","title":"QueryValidatorResponse is response type for the Query/Validator RPC method","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse":{"description":"QueryValidatorUnbondingDelegationsResponse is response type for the\nQuery/ValidatorUnbondingDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryValidatorsResponse":{"type":"object","title":"QueryValidatorsResponse is response type for the Query/Validators RPC method","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators contains all the queried validators.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.Redelegation":{"description":"Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the bech32-encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the redelegation entries.\n\nredelegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}},"validator_dst_address":{"description":"validator_dst_address is the validator redelegation destination operator address.","type":"string"},"validator_src_address":{"description":"validator_src_address is the validator redelegation source operator address.","type":"string"}}},"cosmos.staking.v1beta1.RedelegationEntry":{"description":"RedelegationEntry defines a redelegation object with relevant metadata.","type":"object","properties":{"completion_time":{"description":"completion_time defines the unix time for redelegation completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height defines the height which the redelegation took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the initial balance when redelegation started.","type":"string"},"shares_dst":{"description":"shares_dst is the amount of destination-validator shares created by redelegation.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.RedelegationEntryResponse":{"description":"RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"balance":{"type":"string"},"redelegation_entry":{"$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}}},"cosmos.staking.v1beta1.RedelegationResponse":{"description":"RedelegationResponse is equivalent to a Redelegation except that its entries\ncontain a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"entries":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntryResponse"}},"redelegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Redelegation"}}},"cosmos.staking.v1beta1.UnbondingDelegation":{"description":"UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the unbonding delegation entries.\n\nunbonding delegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegationEntry"}},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.UnbondingDelegationEntry":{"description":"UnbondingDelegationEntry defines an unbonding object with relevant metadata.","type":"object","properties":{"balance":{"description":"balance defines the tokens to receive at completion.","type":"string"},"completion_time":{"description":"completion_time is the unix time for unbonding completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the tokens initially scheduled to receive at completion.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.Validator":{"description":"Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate.","type":"object","properties":{"commission":{"description":"commission defines the commission parameters.","$ref":"#/definitions/cosmos.staking.v1beta1.Commission"},"consensus_pubkey":{"description":"consensus_pubkey is the consensus public key of the validator, as a Protobuf Any.","$ref":"#/definitions/google.protobuf.Any"},"delegator_shares":{"description":"delegator_shares defines total shares issued to a validator's delegators.","type":"string"},"description":{"description":"description defines the description terms for the validator.","$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"jailed":{"description":"jailed defined whether the validator has been jailed from bonded status or not.","type":"boolean"},"min_self_delegation":{"description":"min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46","type":"string"},"operator_address":{"description":"operator_address defines the address of the validator's operator; bech encoded in JSON.","type":"string"},"status":{"description":"status is the validator status (bonded/unbonding/unbonded).","$ref":"#/definitions/cosmos.staking.v1beta1.BondStatus"},"tokens":{"description":"tokens define the delegated tokens (incl. self-delegation).","type":"string"},"unbonding_height":{"description":"unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.","type":"string","format":"int64"},"unbonding_ids":{"type":"array","title":"list of unbonding ids, each uniquely identifing an unbonding of this validator","items":{"type":"string","format":"uint64"}},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"strictly positive if this validator's unbonding has been stopped by external modules"},"unbonding_time":{"description":"unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.","type":"string","format":"date-time"}}},"cosmos.store.streaming.abci.ListenCommitRequest":{"type":"object","title":"ListenCommitRequest is the request type for the ListenCommit RPC method","properties":{"block_height":{"type":"string","format":"int64","title":"explicitly pass in block height as ResponseCommit does not contain this info"},"change_set":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.store.v1beta1.StoreKVPair"}},"res":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}}},"cosmos.store.streaming.abci.ListenCommitResponse":{"type":"object","title":"ListenCommitResponse is the response type for the ListenCommit RPC method"},"cosmos.store.streaming.abci.ListenFinalizeBlockRequest":{"type":"object","title":"ListenEndBlockRequest is the request type for the ListenEndBlock RPC method","properties":{"req":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"},"res":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}}},"cosmos.store.streaming.abci.ListenFinalizeBlockResponse":{"type":"object","title":"ListenEndBlockResponse is the response type for the ListenEndBlock RPC method"},"cosmos.store.v1beta1.StoreKVPair":{"description":"Since: cosmos-sdk 0.43","type":"object","title":"StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes)\nIt optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and\nDeletes","properties":{"delete":{"type":"boolean","title":"true indicates a delete operation, false indicates a set operation"},"key":{"type":"string","format":"byte"},"store_key":{"type":"string","title":"the store key for the KVStore this pair originates from"},"value":{"type":"string","format":"byte"}}},"cosmos.tx.signing.v1beta1.SignMode":{"description":"SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT.\n\nSince: cosmos-sdk 0.50\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2","type":"string","default":"SIGN_MODE_UNSPECIFIED","enum":["SIGN_MODE_UNSPECIFIED","SIGN_MODE_DIRECT","SIGN_MODE_TEXTUAL","SIGN_MODE_DIRECT_AUX","SIGN_MODE_LEGACY_AMINO_JSON","SIGN_MODE_EIP_191"]},"cosmos.tx.v1beta1.AuthInfo":{"description":"AuthInfo describes the fee and signer modes that are used to sign a\ntransaction.","type":"object","properties":{"fee":{"description":"Fee is the fee and gas limit for the transaction. The first signer is the\nprimary signer and the one which pays the fee. The fee can be calculated\nbased on the cost of evaluating the body and doing signature verification\nof the signers. This can be estimated via simulation.","$ref":"#/definitions/cosmos.tx.v1beta1.Fee"},"signer_infos":{"description":"signer_infos defines the signing modes for the required signers. The number\nand order of elements must match the required signers from TxBody's\nmessages. The first element is the primary signer and the one which pays\nthe fee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.SignerInfo"}},"tip":{"description":"Tip is the optional tip used for transactions fees paid in another denom.\n\nThis field is ignored if the chain didn't enable tips, i.e. didn't add the\n`TipDecorator` in its posthandler.\n\nSince: cosmos-sdk 0.46","$ref":"#/definitions/cosmos.tx.v1beta1.Tip"}}},"cosmos.tx.v1beta1.BroadcastMode":{"description":"BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC\nmethod.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits\nfor a CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client\nreturns immediately.","type":"string","default":"BROADCAST_MODE_UNSPECIFIED","enum":["BROADCAST_MODE_UNSPECIFIED","BROADCAST_MODE_BLOCK","BROADCAST_MODE_SYNC","BROADCAST_MODE_ASYNC"]},"cosmos.tx.v1beta1.BroadcastTxRequest":{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","type":"object","properties":{"mode":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastMode"},"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.BroadcastTxResponse":{"description":"BroadcastTxResponse is the response type for the\nService.BroadcastTx method.","type":"object","properties":{"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.Fee":{"description":"Fee includes the amount of coins paid in fees and the maximum\ngas to be used by the transaction. The ratio yields an effective \"gasprice\",\nwhich must be above some miminum to be accepted into the mempool.","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of coins to be paid as a fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"gas_limit":{"type":"string","format":"uint64","title":"gas_limit is the maximum gas that can be used in transaction processing\nbefore an out of gas error occurs"},"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\nto pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does\nnot support fee grants, this will fail"},"payer":{"description":"if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees.\nthe payer must be a tx signer (and thus have signed this field in AuthInfo).\nsetting this field does *not* change the ordering of required signers for the transaction.","type":"string"}}},"cosmos.tx.v1beta1.GetBlockWithTxsResponse":{"description":"GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs\nmethod.\n\nSince: cosmos-sdk 0.45.2","type":"object","properties":{"block":{"$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"pagination":{"description":"pagination defines a pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"txs":{"description":"txs are the transactions in the block.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.GetTxResponse":{"description":"GetTxResponse is the response type for the Service.GetTx method.","type":"object","properties":{"tx":{"description":"tx is the queried transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.GetTxsEventResponse":{"description":"GetTxsEventResponse is the response type for the Service.TxsByEvents\nRPC method.","type":"object","properties":{"pagination":{"description":"pagination defines a pagination for the response.\nDeprecated post v0.46.x: use total instead.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64","title":"total is total number of results available"},"tx_responses":{"description":"tx_responses is the list of queried TxResponses.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}},"txs":{"description":"txs is the list of queried transactions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.ModeInfo":{"description":"ModeInfo describes the signing mode of a single or nested multisig signer.","type":"object","properties":{"multi":{"title":"multi represents a nested multisig signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi"},"single":{"title":"single represents a single signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Single"}}},"cosmos.tx.v1beta1.ModeInfo.Multi":{"type":"object","title":"Multi is the mode info for a multisig public key","properties":{"bitarray":{"title":"bitarray specifies which keys within the multisig are signing","$ref":"#/definitions/cosmos.crypto.multisig.v1beta1.CompactBitArray"},"mode_infos":{"type":"array","title":"mode_infos is the corresponding modes of the signers of the multisig\nwhich could include nested multisig public keys","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"}}}},"cosmos.tx.v1beta1.ModeInfo.Single":{"type":"object","title":"Single is the mode info for a single signer. It is structured as a message\nto allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the\nfuture","properties":{"mode":{"title":"mode is the signing mode of the single signer","$ref":"#/definitions/cosmos.tx.signing.v1beta1.SignMode"}}},"cosmos.tx.v1beta1.OrderBy":{"description":"- ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","type":"string","title":"OrderBy defines the sorting order","default":"ORDER_BY_UNSPECIFIED","enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"]},"cosmos.tx.v1beta1.SignerInfo":{"description":"SignerInfo describes the public key and signing mode of a single top-level\nsigner.","type":"object","properties":{"mode_info":{"title":"mode_info describes the signing mode of the signer and is a nested\nstructure to support nested multisig pubkey's","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"},"public_key":{"description":"public_key is the public key of the signer. It is optional for accounts\nthat already exist in state. If unset, the verifier can use the required \\\nsigner address for this position and lookup the public key.","$ref":"#/definitions/google.protobuf.Any"},"sequence":{"description":"sequence is the sequence of the account, which describes the\nnumber of committed transactions signed by a given address. It is used to\nprevent replay attacks.","type":"string","format":"uint64"}}},"cosmos.tx.v1beta1.SimulateRequest":{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","type":"object","properties":{"tx":{"description":"tx is the transaction to simulate.\nDeprecated. Send raw tx bytes instead.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_bytes":{"description":"tx_bytes is the raw transaction.\n\nSince: cosmos-sdk 0.43","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.SimulateResponse":{"description":"SimulateResponse is the response type for the\nService.SimulateRPC method.","type":"object","properties":{"gas_info":{"description":"gas_info is the information about gas used in the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.GasInfo"},"result":{"description":"result is the result of the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.Result"}}},"cosmos.tx.v1beta1.Tip":{"description":"Tip is the tip used for meta-transactions.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of the tip","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"tipper":{"type":"string","title":"tipper is the address of the account paying for the tip"}}},"cosmos.tx.v1beta1.Tx":{"description":"Tx is the standard type used for broadcasting transactions.","type":"object","properties":{"auth_info":{"title":"auth_info is the authorization related content of the transaction,\nspecifically signers, signer modes and fee","$ref":"#/definitions/cosmos.tx.v1beta1.AuthInfo"},"body":{"title":"body is the processable content of the transaction","$ref":"#/definitions/cosmos.tx.v1beta1.TxBody"},"signatures":{"description":"signatures is a list of signatures that matches the length and order of\nAuthInfo's signer_infos to allow connecting signature meta information like\npublic key and signing mode by position.","type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.tx.v1beta1.TxBody":{"description":"TxBody is the body of a transaction that all signers sign over.","type":"object","properties":{"extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, the transaction will be rejected","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"memo":{"description":"memo is any arbitrary note/comment to be added to the transaction.\nWARNING: in clients, any publicly exposed text should not be called memo,\nbut should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122).","type":"string"},"messages":{"description":"messages is a list of messages to be executed. The required signers of\nthose messages define the number and order of elements in AuthInfo's\nsigner_infos and Tx's signatures. Each required signer address is added to\nthe list only the first time it occurs.\nBy convention, the first required signer (usually from the first message)\nis referred to as the primary signer and pays the fee for the whole\ntransaction.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"non_critical_extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, they will be ignored","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"timeout_height":{"type":"string","format":"uint64","title":"timeout is the block height after which this transaction will not\nbe processed by the chain"}}},"cosmos.tx.v1beta1.TxDecodeAminoRequest":{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeAminoResponse":{"description":"TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxDecodeRequest":{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeResponse":{"description":"TxDecodeResponse is the response type for the\nService.TxDecode method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx":{"description":"tx is the decoded transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeAminoRequest":{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxEncodeAminoResponse":{"description":"TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxEncodeRequest":{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx":{"description":"tx is the transaction to encode.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeResponse":{"description":"TxEncodeResponse is the response type for the\nService.TxEncode method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the encoded transaction bytes.","type":"string","format":"byte"}}},"cosmos.upgrade.v1beta1.ModuleVersion":{"description":"ModuleVersion specifies a module and its consensus version.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"name":{"type":"string","title":"name of the app module"},"version":{"type":"string","format":"uint64","title":"consensus version of the app module"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgrade":{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse":{"description":"MsgCancelUpgradeResponse is the Msg/CancelUpgrade response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.upgrade.v1beta1.MsgSoftwareUpgrade":{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"plan":{"description":"plan is the upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse":{"description":"MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.upgrade.v1beta1.Plan":{"description":"Plan specifies information about a planned upgrade and when it should occur.","type":"object","properties":{"height":{"description":"The height at which the upgrade must be performed.","type":"string","format":"int64"},"info":{"type":"string","title":"Any application specific upgrade info to be included on-chain\nsuch as a git commit that validators could automatically upgrade to"},"name":{"description":"Sets the name for the upgrade. This name will be used by the upgraded\nversion of the software to apply any special \"on-upgrade\" commands during\nthe first BeginBlock method after the upgrade is applied. It is also used\nto detect whether a software version can handle a given upgrade. If no\nupgrade handler with this name has been set in the software, it will be\nassumed that the software is out-of-date when the upgrade Time or Height is\nreached and the software will exit.","type":"string"},"time":{"description":"Deprecated: Time based upgrades have been deprecated. Time based upgrade logic\nhas been removed from the SDK.\nIf this field is not empty, an error will be thrown.","type":"string","format":"date-time"},"upgraded_client_state":{"description":"Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been\nmoved to the IBC module in the sub module 02-client.\nIf this field is not empty, an error will be thrown.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.upgrade.v1beta1.QueryAppliedPlanResponse":{"description":"QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC\nmethod.","type":"object","properties":{"height":{"description":"height is the block height at which the plan was applied.","type":"string","format":"int64"}}},"cosmos.upgrade.v1beta1.QueryAuthorityResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"QueryAuthorityResponse is the response type for Query/Authority","properties":{"address":{"type":"string"}}},"cosmos.upgrade.v1beta1.QueryCurrentPlanResponse":{"description":"QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC\nmethod.","type":"object","properties":{"plan":{"description":"plan is the current upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.QueryModuleVersionsResponse":{"description":"QueryModuleVersionsResponse is the response type for the Query/ModuleVersions\nRPC method.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"module_versions":{"description":"module_versions is a list of module names with their consensus versions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.upgrade.v1beta1.ModuleVersion"}}}},"cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse":{"description":"QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState\nRPC method.","type":"object","properties":{"upgraded_consensus_state":{"type":"string","format":"byte","title":"Since: cosmos-sdk 0.43"}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"from_address":{"type":"string"},"start_time":{"description":"start of vesting as unix time (in seconds).","type":"string","format":"int64"},"to_address":{"type":"string"},"vesting_periods":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.vesting.v1beta1.Period"}}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreatePeriodicVestingAccount\nresponse type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount":{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse":{"description":"MsgCreatePermanentLockedAccountResponse defines the Msg/CreatePermanentLockedAccount response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.vesting.v1beta1.MsgCreateVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"delayed":{"type":"boolean"},"end_time":{"description":"end of vesting as unix time (in seconds).","type":"string","format":"int64"},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type.","type":"object"},"cosmos.vesting.v1beta1.Period":{"description":"Period defines a length of time and amount of coins that will vest.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"length":{"description":"Period duration in seconds.","type":"string","format":"int64"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}},"tendermint.abci.CheckTxType":{"type":"string","default":"NEW","enum":["NEW","RECHECK"]},"tendermint.abci.CommitInfo":{"type":"object","properties":{"round":{"type":"integer","format":"int32"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.VoteInfo"}}}},"tendermint.abci.Event":{"description":"Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.EventAttribute"}},"type":{"type":"string"}}},"tendermint.abci.EventAttribute":{"description":"EventAttribute is a single key-value pair, associated with an event.","type":"object","properties":{"index":{"type":"boolean","title":"nondeterministic"},"key":{"type":"string"},"value":{"type":"string"}}},"tendermint.abci.ExecTxResult":{"description":"ExecTxResult contains results of executing one individual transaction.\n\n* Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","title":"nondeterministic","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ExtendedCommitInfo":{"description":"ExtendedCommitInfo is similar to CommitInfo except that it is only used in\nthe PrepareProposal request such that CometBFT can provide vote extensions\nto the application.","type":"object","properties":{"round":{"description":"The round at which the block proposer decided in the previous height.","type":"integer","format":"int32"},"votes":{"description":"List of validators' addresses in the last validator set with their voting\ninformation, including vote extensions.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExtendedVoteInfo"}}}},"tendermint.abci.ExtendedVoteInfo":{"type":"object","properties":{"block_id_flag":{"title":"block_id_flag indicates whether the validator voted for a block, nil, or did not vote at all","$ref":"#/definitions/tendermint.types.BlockIDFlag"},"extension_signature":{"type":"string","format":"byte","title":"Vote extension signature created by CometBFT"},"validator":{"description":"The validator that sent the vote.","$ref":"#/definitions/tendermint.abci.Validator"},"vote_extension":{"description":"Non-deterministic extension provided by the sending validator's application.","type":"string","format":"byte"}}},"tendermint.abci.Misbehavior":{"type":"object","properties":{"height":{"type":"string","format":"int64","title":"The height when the offense occurred"},"time":{"type":"string","format":"date-time","title":"The corresponding time where the offense occurred"},"total_voting_power":{"type":"string","format":"int64","title":"Total voting power of the validator set in case the ABCI application does\nnot store historical validators.\nhttps://github.com/tendermint/tendermint/issues/4581"},"type":{"$ref":"#/definitions/tendermint.abci.MisbehaviorType"},"validator":{"title":"The offending validator","$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.abci.MisbehaviorType":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","DUPLICATE_VOTE","LIGHT_CLIENT_ATTACK"]},"tendermint.abci.RequestApplySnapshotChunk":{"type":"object","title":"Applies a snapshot chunk","properties":{"chunk":{"type":"string","format":"byte"},"index":{"type":"integer","format":"int64"},"sender":{"type":"string"}}},"tendermint.abci.RequestCheckTx":{"type":"object","properties":{"tx":{"type":"string","format":"byte"},"type":{"$ref":"#/definitions/tendermint.abci.CheckTxType"}}},"tendermint.abci.RequestCommit":{"type":"object"},"tendermint.abci.RequestEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.RequestExtendVote":{"type":"object","title":"Extends a vote with application-injected data","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this vote may be referring to"},"height":{"type":"string","format":"int64","title":"the height of the extended vote"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time","title":"info of the block that this vote may be referring to"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFinalizeBlock":{"type":"object","properties":{"decided_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"hash":{"description":"hash is the merkle root hash of the fields of the decided block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"proposer_address is the address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFlush":{"type":"object"},"tendermint.abci.RequestInfo":{"type":"object","properties":{"abci_version":{"type":"string"},"block_version":{"type":"string","format":"uint64"},"p2p_version":{"type":"string","format":"uint64"},"version":{"type":"string"}}},"tendermint.abci.RequestInitChain":{"type":"object","properties":{"app_state_bytes":{"type":"string","format":"byte"},"chain_id":{"type":"string"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"initial_height":{"type":"string","format":"int64"},"time":{"type":"string","format":"date-time"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.RequestListSnapshots":{"type":"object","title":"lists available snapshots"},"tendermint.abci.RequestLoadSnapshotChunk":{"type":"object","title":"loads a snapshot chunk","properties":{"chunk":{"type":"integer","format":"int64"},"format":{"type":"integer","format":"int64"},"height":{"type":"string","format":"uint64"}}},"tendermint.abci.RequestOfferSnapshot":{"type":"object","title":"offers a snapshot to the application","properties":{"app_hash":{"type":"string","format":"byte","title":"light client-verified app hash for snapshot height"},"snapshot":{"title":"snapshot offered by peers","$ref":"#/definitions/tendermint.abci.Snapshot"}}},"tendermint.abci.RequestPrepareProposal":{"type":"object","properties":{"height":{"type":"string","format":"int64"},"local_last_commit":{"$ref":"#/definitions/tendermint.abci.ExtendedCommitInfo"},"max_tx_bytes":{"description":"the modified transactions cannot exceed this size.","type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"address of the public key of the validator proposing the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"description":"txs is an array of transactions that will be included in a block,\nsent to the app for possible modifications.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestProcessProposal":{"type":"object","properties":{"hash":{"description":"hash is the merkle root hash of the fields of the proposed block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestQuery":{"type":"object","properties":{"data":{"type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"path":{"type":"string"},"prove":{"type":"boolean"}}},"tendermint.abci.RequestVerifyVoteExtension":{"type":"object","title":"Verify the vote extension","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this received vote corresponds to"},"height":{"type":"string","format":"int64"},"validator_address":{"type":"string","format":"byte","title":"the validator that signed the vote extension"},"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseApplySnapshotChunk":{"type":"object","properties":{"refetch_chunks":{"type":"array","title":"Chunks to refetch and reapply","items":{"type":"integer","format":"int64"}},"reject_senders":{"type":"array","title":"Chunk senders to reject and ban","items":{"type":"string"}},"result":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk.Result"}}},"tendermint.abci.ResponseApplySnapshotChunk.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Chunk successfully accepted\n - ABORT: Abort all snapshot restoration\n - RETRY: Retry chunk (combine with refetch and reject)\n - RETRY_SNAPSHOT: Retry snapshot (combine with refetch and reject)\n - REJECT_SNAPSHOT: Reject this snapshot, try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","RETRY","RETRY_SNAPSHOT","REJECT_SNAPSHOT"]},"tendermint.abci.ResponseCheckTx":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ResponseCommit":{"type":"object","properties":{"retain_height":{"type":"string","format":"int64"}}},"tendermint.abci.ResponseEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.ResponseExtendVote":{"type":"object","properties":{"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseFinalizeBlock":{"type":"object","properties":{"app_hash":{"description":"app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was\ndeterministic. It is up to the application to decide which algorithm to use.","type":"string","format":"byte"},"consensus_param_updates":{"description":"updates to the consensus params, if any.","$ref":"#/definitions/tendermint.types.ConsensusParams"},"events":{"type":"array","title":"set of block events emmitted as part of executing the block","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"tx_results":{"type":"array","title":"the result of executing each transaction including the events\nthe particular transction emitted. This should match the order\nof the transactions delivered in the block itself","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExecTxResult"}},"validator_updates":{"description":"a list of updates to the validator set. These will reflect the validator set at current height + 2.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseFlush":{"type":"object"},"tendermint.abci.ResponseInfo":{"type":"object","properties":{"app_version":{"type":"string","format":"uint64"},"data":{"type":"string"},"last_block_app_hash":{"type":"string","format":"byte"},"last_block_height":{"type":"string","format":"int64"},"version":{"type":"string"}}},"tendermint.abci.ResponseInitChain":{"type":"object","properties":{"app_hash":{"type":"string","format":"byte"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseListSnapshots":{"type":"object","properties":{"snapshots":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Snapshot"}}}},"tendermint.abci.ResponseLoadSnapshotChunk":{"type":"object","properties":{"chunk":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseOfferSnapshot":{"type":"object","properties":{"result":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot.Result"}}},"tendermint.abci.ResponseOfferSnapshot.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Snapshot accepted, apply chunks\n - ABORT: Abort all snapshot restoration\n - REJECT: Reject this specific snapshot, try others\n - REJECT_FORMAT: Reject all snapshots of this format, try others\n - REJECT_SENDER: Reject all snapshots from the sender(s), try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","REJECT","REJECT_FORMAT","REJECT_SENDER"]},"tendermint.abci.ResponsePrepareProposal":{"type":"object","properties":{"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.ResponseProcessProposal":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal.ProposalStatus"}}},"tendermint.abci.ResponseProcessProposal.ProposalStatus":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.ResponseQuery":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"description":"bytes data = 2; // use \"value\" instead.\n\nnondeterministic","type":"string"},"proof_ops":{"$ref":"#/definitions/tendermint.crypto.ProofOps"},"value":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseVerifyVoteExtension":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus"}}},"tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus":{"description":" - REJECT: Rejecting the vote extension will reject the entire precommit by the sender.\nIncorrectly implementing this thus has liveness implications as it may affect\nCometBFT's ability to receive 2/3+ valid votes to finalize the block.\nHonest nodes should never be rejected.","type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.Snapshot":{"type":"object","properties":{"chunks":{"type":"integer","format":"int64","title":"Number of chunks in the snapshot"},"format":{"type":"integer","format":"int64","title":"The application-specific snapshot format"},"hash":{"type":"string","format":"byte","title":"Arbitrary snapshot hash, equal only if identical"},"height":{"type":"string","format":"uint64","title":"The height at which the snapshot was taken"},"metadata":{"type":"string","format":"byte","title":"Arbitrary application metadata"}}},"tendermint.abci.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte","title":"The first 20 bytes of SHA256(public key)"},"power":{"description":"The voting power","type":"string","format":"int64","title":"PubKey pub_key = 2 [(gogoproto.nullable)=false];"}}},"tendermint.abci.ValidatorUpdate":{"type":"object","properties":{"power":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"}}},"tendermint.abci.VoteInfo":{"type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"validator":{"$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.crypto.ProofOp":{"type":"object","title":"ProofOp defines an operation used for calculating Merkle root\nThe data could be arbitrary format, providing nessecary data\nfor example neighbouring node hash","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"tendermint.crypto.ProofOps":{"type":"object","title":"ProofOps is Merkle proof defined by the list of ProofOps","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.crypto.ProofOp"}}}},"tendermint.crypto.PublicKey":{"type":"object","title":"PublicKey defines the keys available for use with Validators","properties":{"ed25519":{"type":"string","format":"byte"},"secp256k1":{"type":"string","format":"byte"}}},"tendermint.p2p.DefaultNodeInfo":{"type":"object","properties":{"channels":{"type":"string","format":"byte"},"default_node_id":{"type":"string"},"listen_addr":{"type":"string"},"moniker":{"type":"string"},"network":{"type":"string"},"other":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfoOther"},"protocol_version":{"$ref":"#/definitions/tendermint.p2p.ProtocolVersion"},"version":{"type":"string"}}},"tendermint.p2p.DefaultNodeInfoOther":{"type":"object","properties":{"rpc_address":{"type":"string"},"tx_index":{"type":"string"}}},"tendermint.p2p.ProtocolVersion":{"type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"},"p2p":{"type":"string","format":"uint64"}}},"tendermint.types.ABCIParams":{"description":"ABCIParams configure functionality specific to the Application Blockchain Interface.","type":"object","properties":{"vote_extensions_enable_height":{"description":"vote_extensions_enable_height configures the first height during which\nvote extensions will be enabled. During this specified height, and for all\nsubsequent heights, precommit messages that do not contain valid extension data\nwill be considered invalid. Prior to this height, vote extensions will not\nbe used or accepted by validators on the network.\n\nOnce enabled, vote extensions will be created by the application in ExtendVote,\npassed to the application for validation in VerifyVoteExtension and given\nto the application to use when proposing a block during PrepareProposal.","type":"string","format":"int64"}}},"tendermint.types.Block":{"type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/tendermint.types.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"tendermint.types.BlockID":{"type":"object","title":"BlockID","properties":{"hash":{"type":"string","format":"byte"},"part_set_header":{"$ref":"#/definitions/tendermint.types.PartSetHeader"}}},"tendermint.types.BlockIDFlag":{"description":"- BLOCK_ID_FLAG_UNKNOWN: indicates an error condition\n - BLOCK_ID_FLAG_ABSENT: the vote was not received\n - BLOCK_ID_FLAG_COMMIT: voted for the block that received the majority\n - BLOCK_ID_FLAG_NIL: voted for nil","type":"string","title":"BlockIdFlag indicates which BlockID the signature is for","default":"BLOCK_ID_FLAG_UNKNOWN","enum":["BLOCK_ID_FLAG_UNKNOWN","BLOCK_ID_FLAG_ABSENT","BLOCK_ID_FLAG_COMMIT","BLOCK_ID_FLAG_NIL"]},"tendermint.types.BlockParams":{"description":"BlockParams contains limits on the block size.","type":"object","properties":{"max_bytes":{"type":"string","format":"int64","title":"Max block size, in bytes.\nNote: must be greater than 0"},"max_gas":{"type":"string","format":"int64","title":"Max gas per block.\nNote: must be greater or equal to -1"}}},"tendermint.types.Commit":{"description":"Commit contains the evidence that a block was committed by a set of validators.","type":"object","properties":{"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signatures":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.CommitSig"}}}},"tendermint.types.CommitSig":{"description":"CommitSig is a part of the Vote included in a Commit.","type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"signature":{"type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"validator_address":{"type":"string","format":"byte"}}},"tendermint.types.ConsensusParams":{"description":"ConsensusParams contains consensus critical parameters that determine the\nvalidity of blocks.","type":"object","properties":{"abci":{"$ref":"#/definitions/tendermint.types.ABCIParams"},"block":{"$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"},"version":{"$ref":"#/definitions/tendermint.types.VersionParams"}}},"tendermint.types.Data":{"type":"object","title":"Data contains the set of transactions included in the block","properties":{"txs":{"description":"Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.types.DuplicateVoteEvidence":{"description":"DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.","type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"},"validator_power":{"type":"string","format":"int64"},"vote_a":{"$ref":"#/definitions/tendermint.types.Vote"},"vote_b":{"$ref":"#/definitions/tendermint.types.Vote"}}},"tendermint.types.Evidence":{"type":"object","properties":{"duplicate_vote_evidence":{"$ref":"#/definitions/tendermint.types.DuplicateVoteEvidence"},"light_client_attack_evidence":{"$ref":"#/definitions/tendermint.types.LightClientAttackEvidence"}}},"tendermint.types.EvidenceList":{"type":"object","properties":{"evidence":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Evidence"}}}},"tendermint.types.EvidenceParams":{"description":"EvidenceParams determine how we handle evidence of malfeasance.","type":"object","properties":{"max_age_duration":{"description":"Max age of evidence, in time.\n\nIt should correspond with an app's \"unbonding period\" or other similar\nmechanism for handling [Nothing-At-Stake\nattacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).","type":"string"},"max_age_num_blocks":{"description":"Max age of evidence, in blocks.\n\nThe basic formula for calculating this is: MaxAgeDuration / {average block\ntime}.","type":"string","format":"int64"},"max_bytes":{"type":"string","format":"int64","title":"This sets the maximum size of total evidence in bytes that can be committed in a single block.\nand should fall comfortably under the max block bytes.\nDefault is 1048576 or 1MB"}}},"tendermint.types.Header":{"description":"Header defines the structure of a block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"type":"string","format":"byte","title":"original proposer of the block"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"tendermint.types.LightBlock":{"type":"object","properties":{"signed_header":{"$ref":"#/definitions/tendermint.types.SignedHeader"},"validator_set":{"$ref":"#/definitions/tendermint.types.ValidatorSet"}}},"tendermint.types.LightClientAttackEvidence":{"description":"LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.","type":"object","properties":{"byzantine_validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}},"common_height":{"type":"string","format":"int64"},"conflicting_block":{"$ref":"#/definitions/tendermint.types.LightBlock"},"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"}}},"tendermint.types.PartSetHeader":{"type":"object","title":"PartsetHeader","properties":{"hash":{"type":"string","format":"byte"},"total":{"type":"integer","format":"int64"}}},"tendermint.types.SignedHeader":{"type":"object","properties":{"commit":{"$ref":"#/definitions/tendermint.types.Commit"},"header":{"$ref":"#/definitions/tendermint.types.Header"}}},"tendermint.types.SignedMsgType":{"description":"SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals","type":"string","default":"SIGNED_MSG_TYPE_UNKNOWN","enum":["SIGNED_MSG_TYPE_UNKNOWN","SIGNED_MSG_TYPE_PREVOTE","SIGNED_MSG_TYPE_PRECOMMIT","SIGNED_MSG_TYPE_PROPOSAL"]},"tendermint.types.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"},"voting_power":{"type":"string","format":"int64"}}},"tendermint.types.ValidatorParams":{"description":"ValidatorParams restrict the public key types validators can use.\nNOTE: uses ABCI pubkey naming, not Amino names.","type":"object","properties":{"pub_key_types":{"type":"array","items":{"type":"string"}}}},"tendermint.types.ValidatorSet":{"type":"object","properties":{"proposer":{"$ref":"#/definitions/tendermint.types.Validator"},"total_voting_power":{"type":"string","format":"int64"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}}}},"tendermint.types.VersionParams":{"description":"VersionParams contains the ABCI application version.","type":"object","properties":{"app":{"type":"string","format":"uint64"}}},"tendermint.types.Vote":{"description":"Vote represents a prevote or precommit vote from validators for\nconsensus.","type":"object","properties":{"block_id":{"description":"zero if vote is nil.","$ref":"#/definitions/tendermint.types.BlockID"},"extension":{"description":"Vote extension provided by the application. Only valid for precommit\nmessages.","type":"string","format":"byte"},"extension_signature":{"description":"Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signature":{"description":"Vote signature by the validator if they participated in consensus for the\nassociated block.","type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"type":{"$ref":"#/definitions/tendermint.types.SignedMsgType"},"validator_address":{"type":"string","format":"byte"},"validator_index":{"type":"integer","format":"int32"}}},"tendermint.version.Consensus":{"description":"Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine.","type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"}}}},"tags":[{"name":"Query"},{"name":"Msg"},{"name":"Service"},{"name":"ReflectionService"},{"name":"ABCIListenerService"},{"name":"ABCI"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index 41e25d60..e1d1f7aa 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -11,6 +11,7 @@ set -o pipefail #ignite scaffold query council councilId:uint --response council:Council #ignite scaffold query server serverId:uint --response server:Server #ignite scaffold query encounter encounterId:uint --response encounter:Encounter -# ignite scaffold query encounters --response encounters -ignite scaffold query encounterWithImage --response encounter:EncounterWithImage -ignite scaffold query encountersWithImage --response encounters +#ignite scaffold query encounters --response encounters +#ignite scaffold query encounterWithImage --response encounter:EncounterWithImage +#ignite scaffold query encountersWithImage --response encounters +ignite scaffold query cardchainInfo --response cardAuctionPrice:coin activeSets:uints cardsNumber:uint matchesNumber:uint sellOffersNumber:uint councilsNumber:uint lastCardModified:uint diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 9b069d70..89ed7a04 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -18,102 +18,105 @@ import "cardchain/cardchain/council.proto"; import "cardchain/cardchain/server.proto"; import "cardchain/cardchain/encounter.proto"; import "cardchain/cardchain/encounter_with_image.proto"; +import "cosmos/base/v1beta1/coin.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/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/cardchain/params"; + rpc Params (QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/params"; + } - + // Queries a list of ProductDetails items. - rpc ProductDetails(QueryGetProductDetailsRequest) - returns (QueryGetProductDetailsResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; + rpc ProductDetails (QueryGetProductDetailsRequest) returns (QueryGetProductDetailsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; + } - rpc ProductDetailsAll(QueryAllProductDetailsRequest) - returns (QueryAllProductDetailsResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/product_details"; + rpc ProductDetailsAll (QueryAllProductDetailsRequest) returns (QueryAllProductDetailsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details"; + } - + // Queries a list of Card items. - rpc Card(QueryCardRequest) returns (QueryCardResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; + rpc Card (QueryCardRequest) returns (QueryCardResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; + } - + // Queries a list of User items. - rpc User(QueryUserRequest) returns (QueryUserResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/user/{address}"; + rpc User (QueryUserRequest) returns (QueryUserResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/user/{address}"; + } - + // Queries a list of Cards items. - rpc Cards(QueryCardsRequest) returns (QueryCardsResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; + rpc Cards (QueryCardsRequest) returns (QueryCardsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; + } - + // Queries a list of Match items. - rpc Match(QueryMatchRequest) returns (QueryMatchResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/match/{matchId}"; + rpc Match (QueryMatchRequest) returns (QueryMatchResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/match/{matchId}"; + } - + // Queries a list of Set items. - rpc Set(QuerySetRequest) returns (QuerySetResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/set/{setId}"; + rpc Set (QuerySetRequest) returns (QuerySetResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/set/{setId}"; + } - + // Queries a list of SellOffer items. - rpc SellOffer(QuerySellOfferRequest) returns (QuerySellOfferResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}"; + rpc SellOffer (QuerySellOfferRequest) returns (QuerySellOfferResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}"; + } - + // Queries a list of Council items. - rpc Council(QueryCouncilRequest) returns (QueryCouncilResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/council/{councilId}"; + rpc Council (QueryCouncilRequest) returns (QueryCouncilResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/council/{councilId}"; + } - + // Queries a list of Server items. - rpc Server(QueryServerRequest) returns (QueryServerResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/server/{serverId}"; + rpc Server (QueryServerRequest) returns (QueryServerResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/server/{serverId}"; + } - + // Queries a list of Encounter items. - rpc Encounter(QueryEncounterRequest) returns (QueryEncounterResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}"; + rpc Encounter (QueryEncounterRequest) returns (QueryEncounterResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}"; + } - + // Queries a list of Encounters items. - rpc Encounters(QueryEncountersRequest) returns (QueryEncountersResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/encounters"; + rpc Encounters (QueryEncountersRequest) returns (QueryEncountersResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/encounters"; + } - + // Queries a list of EncounterWithImage items. - rpc EncounterWithImage(QueryEncounterWithImageRequest) - returns (QueryEncounterWithImageResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/encounter_with_image"; + rpc EncounterWithImage (QueryEncounterWithImageRequest) returns (QueryEncounterWithImageResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/encounter_with_image"; + } - + // Queries a list of EncountersWithImage items. - rpc EncountersWithImage(QueryEncountersWithImageRequest) - returns (QueryEncountersWithImageResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/encounters_with_image"; + rpc EncountersWithImage (QueryEncountersWithImageRequest) returns (QueryEncountersWithImageResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/encounters_with_image"; + + } + + // Queries a list of CardchainInfo items. + rpc CardchainInfo (QueryCardchainInfoRequest) returns (QueryCardchainInfoResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/cardchain_info/{activeSets}/{cardsNumber}/{matchesNumber}/{sellOffersNumber}/{councilsNumber}/{lastCardModified}"; + } } // QueryParamsRequest is request type for the Query/Params RPC method. @@ -121,16 +124,17 @@ 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, (amino.dont_omitempty) = true ]; + Params params = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } -message QueryGetProductDetailsRequest { uint64 id = 1; } +message QueryGetProductDetailsRequest { + uint64 id = 1; +} message QueryGetProductDetailsResponse { - ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; + ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; } message QueryAllProductDetailsRequest { @@ -138,69 +142,121 @@ message QueryAllProductDetailsRequest { } message QueryAllProductDetailsResponse { - repeated ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; - cosmos.base.query.v1beta1.PageResponse pagination = 2; + repeated ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; + cosmos.base.query.v1beta1.PageResponse pagination = 2; } -message QueryCardRequest { uint64 cardId = 1; } +message QueryCardRequest { + uint64 cardId = 1; +} -message QueryCardResponse { CardWithImage card = 1; } +message QueryCardResponse { + CardWithImage card = 1; +} -message QueryUserRequest { string address = 1; } +message QueryUserRequest { + string address = 1; +} -message QueryUserResponse { User user = 1; } +message QueryUserResponse { + User user = 1; +} message QueryCardsRequest { - string owner = 1; - repeated CardStatus status = 2; - repeated CardType cardType = 3; - repeated CardClass class = 4; - string sortBy = 5; - string nameContains = 6; - string keywordsContains = 7; - string notesContains = 8; - bool onlyStarterCard = 9; - bool onlyBalanceAnchors = 10; - repeated CardRarity rarities = 11; - bool multiClassOnly = 12; + string owner = 1; + repeated CardStatus status = 2; + repeated CardType cardType = 3; + repeated CardClass class = 4; + string sortBy = 5; + string nameContains = 6; + string keywordsContains = 7; + string notesContains = 8; + bool onlyStarterCard = 9; + bool onlyBalanceAnchors = 10; + repeated CardRarity rarities = 11; + bool multiClassOnly = 12; } -message QueryCardsResponse { repeated uint64 cardIds = 1; } +message QueryCardsResponse { + repeated uint64 cardIds = 1; +} -message QueryMatchRequest { uint64 matchId = 1; } +message QueryMatchRequest { + uint64 matchId = 1; +} -message QueryMatchResponse { Match match = 1; } +message QueryMatchResponse { + Match match = 1; +} -message QuerySetRequest { uint64 setId = 1; } +message QuerySetRequest { + uint64 setId = 1; +} -message QuerySetResponse { SetWithArtwork match = 1; } +message QuerySetResponse { + SetWithArtwork match = 1; +} -message QuerySellOfferRequest { uint64 sellOfferId = 1; } +message QuerySellOfferRequest { + uint64 sellOfferId = 1; +} -message QuerySellOfferResponse { SellOffer sellOffer = 1; } +message QuerySellOfferResponse { + SellOffer sellOffer = 1; +} -message QueryCouncilRequest { uint64 councilId = 1; } +message QueryCouncilRequest { + uint64 councilId = 1; +} -message QueryCouncilResponse { Council council = 1; } +message QueryCouncilResponse { + Council council = 1; +} -message QueryServerRequest { uint64 serverId = 1; } +message QueryServerRequest { + uint64 serverId = 1; +} -message QueryServerResponse { Server server = 1; } +message QueryServerResponse { + Server server = 1; +} -message QueryEncounterRequest { uint64 encounterId = 1; } +message QueryEncounterRequest { + uint64 encounterId = 1; +} -message QueryEncounterResponse { Encounter encounter = 1; } +message QueryEncounterResponse { + Encounter encounter = 1; +} message QueryEncountersRequest {} -message QueryEncountersResponse { repeated Encounter encounters = 1; } +message QueryEncountersResponse { + repeated Encounter encounters = 1; +} message QueryEncounterWithImageRequest {} -message QueryEncounterWithImageResponse { EncounterWithImage encounter = 1; } +message QueryEncounterWithImageResponse { + EncounterWithImage encounter = 1; +} message QueryEncountersWithImageRequest {} message QueryEncountersWithImageResponse { repeated EncounterWithImage encounters = 1; } + +message QueryCardchainInfoRequest { + repeated uint64 activeSets = 1; + uint64 cardsNumber = 2; + uint64 matchesNumber = 3; + uint64 sellOffersNumber = 4; + uint64 councilsNumber = 5; + uint64 lastCardModified = 6; +} + +message QueryCardchainInfoResponse { + cosmos.base.v1beta1.Coin cardAuctionPrice = 1 [(gogoproto.nullable) = false]; +} + diff --git a/x/cardchain/keeper/query_cardchain_info.go b/x/cardchain/keeper/query_cardchain_info.go new file mode 100644 index 00000000..e83104b3 --- /dev/null +++ b/x/cardchain/keeper/query_cardchain_info.go @@ -0,0 +1,23 @@ +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) CardchainInfo(goCtx context.Context, req *types.QueryCardchainInfoRequest) (*types.QueryCardchainInfoResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryCardchainInfoResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 375ade85..fa0a5c2d 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -112,6 +112,13 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{}, }, + { + RpcMethod: "CardchainInfo", + Use: "cardchain-info [active-sets] [cards-number] [matches-number] [sell-offers-number] [councils-number] [last-card-modified]", + Short: "Query cardchainInfo", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "activeSets"}, {ProtoField: "cardsNumber"}, {ProtoField: "matchesNumber"}, {ProtoField: "sellOffersNumber"}, {ProtoField: "councilsNumber"}, {ProtoField: "lastCardModified"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 81d3deff..a944bc54 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,6 +6,7 @@ package types import ( context "context" fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -1418,6 +1419,134 @@ func (m *QueryEncountersWithImageResponse) GetEncounters() []*EncounterWithImage return nil } +type QueryCardchainInfoRequest struct { + ActiveSets []uint64 `protobuf:"varint,1,rep,packed,name=activeSets,proto3" json:"activeSets,omitempty"` + CardsNumber uint64 `protobuf:"varint,2,opt,name=cardsNumber,proto3" json:"cardsNumber,omitempty"` + MatchesNumber uint64 `protobuf:"varint,3,opt,name=matchesNumber,proto3" json:"matchesNumber,omitempty"` + SellOffersNumber uint64 `protobuf:"varint,4,opt,name=sellOffersNumber,proto3" json:"sellOffersNumber,omitempty"` + CouncilsNumber uint64 `protobuf:"varint,5,opt,name=councilsNumber,proto3" json:"councilsNumber,omitempty"` + LastCardModified uint64 `protobuf:"varint,6,opt,name=lastCardModified,proto3" json:"lastCardModified,omitempty"` +} + +func (m *QueryCardchainInfoRequest) Reset() { *m = QueryCardchainInfoRequest{} } +func (m *QueryCardchainInfoRequest) String() string { return proto.CompactTextString(m) } +func (*QueryCardchainInfoRequest) ProtoMessage() {} +func (*QueryCardchainInfoRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{30} +} +func (m *QueryCardchainInfoRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCardchainInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCardchainInfoRequest.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 *QueryCardchainInfoRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCardchainInfoRequest.Merge(m, src) +} +func (m *QueryCardchainInfoRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryCardchainInfoRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCardchainInfoRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCardchainInfoRequest proto.InternalMessageInfo + +func (m *QueryCardchainInfoRequest) GetActiveSets() []uint64 { + if m != nil { + return m.ActiveSets + } + return nil +} + +func (m *QueryCardchainInfoRequest) GetCardsNumber() uint64 { + if m != nil { + return m.CardsNumber + } + return 0 +} + +func (m *QueryCardchainInfoRequest) GetMatchesNumber() uint64 { + if m != nil { + return m.MatchesNumber + } + return 0 +} + +func (m *QueryCardchainInfoRequest) GetSellOffersNumber() uint64 { + if m != nil { + return m.SellOffersNumber + } + return 0 +} + +func (m *QueryCardchainInfoRequest) GetCouncilsNumber() uint64 { + if m != nil { + return m.CouncilsNumber + } + return 0 +} + +func (m *QueryCardchainInfoRequest) GetLastCardModified() uint64 { + if m != nil { + return m.LastCardModified + } + return 0 +} + +type QueryCardchainInfoResponse struct { + CardAuctionPrice types.Coin `protobuf:"bytes,1,opt,name=cardAuctionPrice,proto3" json:"cardAuctionPrice"` +} + +func (m *QueryCardchainInfoResponse) Reset() { *m = QueryCardchainInfoResponse{} } +func (m *QueryCardchainInfoResponse) String() string { return proto.CompactTextString(m) } +func (*QueryCardchainInfoResponse) ProtoMessage() {} +func (*QueryCardchainInfoResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{31} +} +func (m *QueryCardchainInfoResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCardchainInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCardchainInfoResponse.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 *QueryCardchainInfoResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCardchainInfoResponse.Merge(m, src) +} +func (m *QueryCardchainInfoResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryCardchainInfoResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCardchainInfoResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCardchainInfoResponse proto.InternalMessageInfo + +func (m *QueryCardchainInfoResponse) GetCardAuctionPrice() types.Coin { + if m != nil { + return m.CardAuctionPrice + } + return types.Coin{} +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -1449,113 +1578,128 @@ func init() { proto.RegisterType((*QueryEncounterWithImageResponse)(nil), "cardchain.cardchain.QueryEncounterWithImageResponse") proto.RegisterType((*QueryEncountersWithImageRequest)(nil), "cardchain.cardchain.QueryEncountersWithImageRequest") proto.RegisterType((*QueryEncountersWithImageResponse)(nil), "cardchain.cardchain.QueryEncountersWithImageResponse") + proto.RegisterType((*QueryCardchainInfoRequest)(nil), "cardchain.cardchain.QueryCardchainInfoRequest") + proto.RegisterType((*QueryCardchainInfoResponse)(nil), "cardchain.cardchain.QueryCardchainInfoResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 1612 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0x4d, 0x6f, 0x13, 0x57, - 0x17, 0xce, 0x24, 0x8e, 0x13, 0x1f, 0x78, 0x03, 0xdc, 0xe4, 0xe5, 0xf5, 0xeb, 0x82, 0x13, 0x86, - 0x8f, 0x84, 0x14, 0x3c, 0x90, 0x84, 0x8f, 0x40, 0x48, 0x49, 0x02, 0x44, 0xb4, 0xa2, 0xc0, 0xa4, - 0xb4, 0x6a, 0x37, 0xd1, 0xc4, 0xbe, 0x38, 0x23, 0xc6, 0x33, 0x61, 0xe6, 0x9a, 0xd4, 0xb2, 0xbc, - 0xe9, 0x0f, 0xa8, 0xaa, 0x52, 0x55, 0xdd, 0x54, 0xaa, 0xba, 0xea, 0xa2, 0x95, 0xfa, 0x03, 0x50, - 0x57, 0x5d, 0xb0, 0x44, 0xea, 0xa6, 0xab, 0xaa, 0x82, 0x4a, 0x55, 0xff, 0x45, 0x35, 0xf7, 0x9e, - 0xb9, 0x9e, 0xb1, 0xc7, 0xe3, 0x09, 0x6c, 0xa2, 0xfb, 0xf1, 0x9c, 0x73, 0x9e, 0x73, 0xcf, 0xbd, - 0x73, 0x9e, 0x18, 0x26, 0xcb, 0x86, 0x5b, 0x29, 0x6f, 0x1b, 0xa6, 0xad, 0xb5, 0x47, 0x8f, 0xeb, - 0xd4, 0x6d, 0x94, 0x76, 0x5c, 0x87, 0x39, 0x64, 0x5c, 0x2e, 0x97, 0xe4, 0xa8, 0x70, 0xc8, 0xa8, - 0x99, 0xb6, 0xa3, 0xf1, 0xbf, 0x02, 0x57, 0x98, 0xa8, 0x3a, 0x55, 0x87, 0x0f, 0x35, 0x7f, 0x84, - 0xab, 0x47, 0xaa, 0x8e, 0x53, 0xb5, 0xa8, 0x66, 0xec, 0x98, 0x9a, 0x61, 0xdb, 0x0e, 0x33, 0x98, - 0xe9, 0xd8, 0x1e, 0xee, 0xce, 0x96, 0x1d, 0xaf, 0xe6, 0x78, 0xda, 0x96, 0xe1, 0x51, 0x11, 0x54, - 0x7b, 0x72, 0x7e, 0x8b, 0x32, 0xe3, 0xbc, 0xb6, 0x63, 0x54, 0x4d, 0x9b, 0x83, 0x11, 0x3b, 0x15, - 0x47, 0x74, 0xc7, 0x70, 0x8d, 0x5a, 0xe0, 0xed, 0x74, 0x2c, 0xc2, 0x75, 0x2a, 0xf5, 0x32, 0xdb, - 0xac, 0x50, 0x66, 0x98, 0x56, 0x22, 0xd4, 0x1f, 0x6d, 0xee, 0x9a, 0x6c, 0x7b, 0xd3, 0xac, 0x19, - 0x55, 0x8a, 0xd0, 0x62, 0x1c, 0xb4, 0xee, 0x51, 0x37, 0x69, 0xdf, 0x1f, 0xe1, 0x7e, 0xec, 0x01, - 0xd7, 0x0c, 0x56, 0xde, 0x96, 0x87, 0x10, 0x03, 0xf0, 0x28, 0x13, 0x54, 0x0c, 0x97, 0xed, 0x3a, - 0xee, 0x23, 0xc4, 0x9e, 0x88, 0xc7, 0x5a, 0xd6, 0xa6, 0xf3, 0xf0, 0xa1, 0xa4, 0x74, 0x2c, 0x96, - 0x92, 0x53, 0xb7, 0xcb, 0xa6, 0x95, 0x74, 0x9a, 0x1e, 0x75, 0x9f, 0x48, 0x27, 0xc7, 0xe3, 0x10, - 0xd4, 0xf6, 0xdd, 0x30, 0x09, 0x2a, 0x25, 0x82, 0xba, 0x0e, 0x53, 0x9d, 0x00, 0x72, 0xdf, 0x2f, - 0xf3, 0x3d, 0x5e, 0x37, 0x9d, 0x3e, 0xae, 0x53, 0x8f, 0xa9, 0x0f, 0x60, 0x3c, 0xb2, 0xea, 0xed, - 0x38, 0xb6, 0x47, 0xc9, 0x32, 0x64, 0x45, 0x7d, 0xf3, 0xca, 0x94, 0x32, 0xb3, 0x6f, 0xee, 0xad, - 0x52, 0xcc, 0x55, 0x2c, 0x09, 0xa3, 0xd5, 0xdc, 0xf3, 0x3f, 0x26, 0x07, 0x7e, 0xf8, 0xfb, 0xe7, - 0x59, 0x45, 0x47, 0x2b, 0x55, 0x83, 0xa3, 0xdc, 0xed, 0x3a, 0x65, 0xf7, 0xc4, 0x2d, 0xb8, 0x21, - 0x2e, 0x01, 0xc6, 0x25, 0x63, 0x30, 0x68, 0x56, 0xb8, 0xf3, 0x8c, 0x3e, 0x68, 0x56, 0x54, 0x0f, - 0x8a, 0xbd, 0x0c, 0x90, 0xd2, 0x7d, 0x18, 0x8b, 0xee, 0x20, 0xb5, 0xe3, 0xf1, 0xd4, 0x22, 0xd0, - 0xd5, 0x8c, 0x4f, 0x51, 0xef, 0x70, 0xa0, 0x56, 0x91, 0xe5, 0x8a, 0x65, 0xc5, 0xb3, 0xbc, 0x05, - 0xd0, 0x7e, 0x0c, 0x18, 0xef, 0x54, 0x49, 0xbc, 0x9c, 0x92, 0xff, 0x72, 0x4a, 0xe2, 0xb9, 0xe2, - 0xcb, 0x29, 0xdd, 0x33, 0xaa, 0x14, 0x6d, 0xf5, 0x90, 0xa5, 0xfa, 0x4c, 0xc1, 0xf4, 0x62, 0x22, - 0x25, 0xa4, 0x37, 0xf4, 0x46, 0xe9, 0x91, 0xf5, 0x08, 0xfb, 0x41, 0xce, 0x7e, 0xba, 0x2f, 0x7b, - 0xc1, 0x27, 0x42, 0x7f, 0x16, 0x0e, 0x72, 0xf6, 0x6b, 0x86, 0x5b, 0x09, 0x8e, 0xe6, 0x30, 0x64, - 0x7d, 0x3a, 0xb7, 0x83, 0x22, 0xe2, 0x4c, 0x7d, 0x0f, 0x0e, 0x85, 0xb0, 0x98, 0xdc, 0x45, 0xc8, - 0xf8, 0xdb, 0x78, 0x82, 0x6a, 0x6c, 0x4a, 0xbe, 0xc1, 0x47, 0x26, 0xdb, 0xbe, 0xed, 0xdf, 0x59, - 0x9d, 0xe3, 0xd5, 0x33, 0x18, 0xf8, 0x81, 0x47, 0xdd, 0x20, 0x70, 0x1e, 0x46, 0x8c, 0x4a, 0xc5, - 0xa5, 0x9e, 0xb8, 0x00, 0x39, 0x3d, 0x98, 0xaa, 0xab, 0x18, 0x5a, 0xa0, 0x31, 0xf4, 0x59, 0xc8, - 0xf8, 0x5f, 0x0c, 0x0c, 0xfd, 0xff, 0xd8, 0xd0, 0xdc, 0x80, 0xc3, 0xd4, 0xef, 0x32, 0x21, 0xfe, - 0xf2, 0x1e, 0x4c, 0xc0, 0xb0, 0xb3, 0x6b, 0xa3, 0x97, 0x9c, 0x2e, 0x26, 0xe4, 0x12, 0x64, 0x3d, - 0x66, 0xb0, 0xba, 0x97, 0x1f, 0x9c, 0x1a, 0x9a, 0x19, 0x9b, 0x9b, 0xec, 0x99, 0xd7, 0x06, 0x87, - 0xe9, 0x08, 0x27, 0x8b, 0x30, 0xea, 0xef, 0x7f, 0xd0, 0xd8, 0xa1, 0xf9, 0x21, 0x6e, 0x7a, 0xb4, - 0xa7, 0xa9, 0x0f, 0xd2, 0x25, 0x9c, 0x2c, 0xc0, 0x70, 0xd9, 0x32, 0x3c, 0x2f, 0x9f, 0xe1, 0x76, - 0xc5, 0x9e, 0x76, 0x6b, 0x3e, 0x4a, 0x17, 0x60, 0xbf, 0x58, 0x9e, 0xe3, 0xb2, 0xd5, 0x46, 0x7e, - 0x98, 0x27, 0x80, 0x33, 0xa2, 0xc2, 0x7e, 0xdb, 0xa8, 0xd1, 0x35, 0xc7, 0x66, 0x86, 0x69, 0x7b, - 0xf9, 0x2c, 0xdf, 0x8d, 0xac, 0x91, 0x59, 0x38, 0xf8, 0x88, 0x36, 0x76, 0x1d, 0xb7, 0xe2, 0x49, - 0xdc, 0x08, 0xc7, 0x75, 0xad, 0x93, 0x13, 0xf0, 0x1f, 0xdb, 0x61, 0xb4, 0x0d, 0x1c, 0xe5, 0xc0, - 0xe8, 0x22, 0x99, 0x81, 0x03, 0x8e, 0x6d, 0x35, 0x36, 0x98, 0xe1, 0x32, 0xea, 0xfa, 0x64, 0xf3, - 0xb9, 0x29, 0x65, 0x66, 0x54, 0xef, 0x5c, 0x26, 0x25, 0x20, 0xfe, 0xd2, 0xaa, 0x61, 0x19, 0x76, - 0x99, 0xae, 0xd8, 0xe5, 0x6d, 0xc7, 0xf5, 0xf2, 0xc0, 0xc1, 0x31, 0x3b, 0xe4, 0x2a, 0x8c, 0xba, - 0x86, 0x6b, 0x32, 0x93, 0x7a, 0xf9, 0x7d, 0x7d, 0x6a, 0xa2, 0xfb, 0xc0, 0x86, 0x2e, 0x0d, 0xc8, - 0x29, 0x18, 0xab, 0xd5, 0x2d, 0x66, 0xf2, 0x93, 0xbb, 0x6b, 0x5b, 0x8d, 0xfc, 0x7e, 0x1e, 0xa8, - 0x63, 0x55, 0x2d, 0xe1, 0x87, 0x14, 0x6f, 0x08, 0xde, 0xb3, 0x3c, 0x8c, 0x88, 0x17, 0x20, 0x1e, - 0x6e, 0x46, 0x0f, 0xa6, 0xea, 0x59, 0xbc, 0x51, 0x77, 0xfc, 0xc6, 0x13, 0xba, 0xc5, 0xbc, 0x11, - 0xc9, 0xf7, 0x13, 0x4c, 0xd5, 0x5b, 0xe8, 0x1e, 0xe1, 0xe8, 0xfe, 0x1c, 0x0c, 0x73, 0x00, 0xde, - 0xe3, 0x42, 0x6c, 0x5a, 0xc2, 0x44, 0x00, 0xd5, 0x69, 0x38, 0xc0, 0xfd, 0x6c, 0x50, 0x16, 0xba, - 0xc6, 0x1e, 0x65, 0x32, 0xa4, 0x98, 0xa8, 0x77, 0xf0, 0x91, 0x71, 0x20, 0x86, 0x5b, 0x8c, 0x86, - 0x8b, 0xff, 0x08, 0x6d, 0x50, 0xe6, 0x3f, 0xd8, 0x15, 0xd1, 0x26, 0x83, 0xb8, 0x8b, 0xf0, 0x5f, - 0x74, 0x67, 0x59, 0x77, 0xfd, 0xce, 0x18, 0x44, 0x9f, 0x82, 0x7d, 0x5e, 0xb0, 0x26, 0x39, 0x84, - 0x97, 0xd4, 0x0f, 0xe1, 0x70, 0xa7, 0x29, 0xf2, 0x59, 0x82, 0x9c, 0x04, 0x22, 0xa7, 0x62, 0x0f, - 0x4e, 0x81, 0x69, 0xdb, 0x40, 0x9d, 0xc7, 0x26, 0xb7, 0x26, 0xfa, 0x70, 0x40, 0xe8, 0x08, 0xe4, - 0xb0, 0x33, 0x4b, 0x3a, 0xed, 0x05, 0xf5, 0x7d, 0x98, 0x88, 0x1a, 0xc9, 0x6f, 0xd9, 0x08, 0x82, - 0x90, 0xc8, 0x91, 0xf8, 0x2b, 0x86, 0x66, 0x01, 0x58, 0x3d, 0x87, 0x75, 0xdd, 0xe0, 0x9d, 0x3e, - 0xe0, 0x50, 0x80, 0x51, 0xd1, 0xfa, 0x25, 0x05, 0x39, 0x57, 0xdf, 0x45, 0xda, 0x81, 0x05, 0x12, - 0x98, 0x87, 0xac, 0x80, 0x24, 0xf6, 0x66, 0x34, 0x42, 0xa8, 0xac, 0xca, 0xcd, 0x40, 0x20, 0x84, - 0xaa, 0x22, 0x45, 0x43, 0xbb, 0x2a, 0xa1, 0x25, 0x59, 0x95, 0x90, 0x69, 0xbb, 0x2a, 0x12, 0x98, - 0x58, 0x95, 0xb6, 0x69, 0xdb, 0x40, 0xcd, 0x77, 0xfa, 0x95, 0xa2, 0xe4, 0x63, 0xf8, 0x5f, 0xd7, - 0x8e, 0x14, 0x26, 0x20, 0x3d, 0x04, 0x2d, 0xb2, 0x5f, 0xcc, 0x90, 0x85, 0x3a, 0x85, 0x8d, 0x58, - 0xee, 0xb6, 0x5b, 0x0e, 0x06, 0xdf, 0x86, 0xc9, 0x9e, 0x08, 0x24, 0x71, 0xb3, 0x3b, 0xef, 0xe9, - 0x64, 0x0e, 0x6d, 0x1f, 0xa1, 0x03, 0x38, 0xd6, 0x19, 0xc9, 0xeb, 0x22, 0xf3, 0x08, 0xa6, 0x7a, - 0x43, 0x90, 0xcd, 0x7a, 0xcc, 0x91, 0xa4, 0xa6, 0x13, 0x32, 0x9d, 0xfb, 0x67, 0x1c, 0x86, 0x79, - 0x34, 0xf2, 0xa5, 0x02, 0x59, 0x21, 0xee, 0x48, 0xbc, 0xa7, 0x6e, 0x25, 0x59, 0x98, 0xe9, 0x0f, - 0x14, 0x84, 0xd5, 0x0b, 0x9f, 0xfd, 0xf6, 0xd7, 0xd3, 0x41, 0x8d, 0x9c, 0xd5, 0x6e, 0xd0, 0x32, - 0xb5, 0x99, 0x6b, 0x58, 0xfe, 0xb7, 0x74, 0xdd, 0xa8, 0x51, 0xad, 0xf7, 0x7f, 0x1a, 0xe4, 0x17, - 0xa5, 0x53, 0x22, 0x91, 0xb9, 0xde, 0x31, 0x7b, 0x29, 0xcf, 0xc2, 0xfc, 0x9e, 0x6c, 0x90, 0xf2, - 0x1a, 0xa7, 0x7c, 0x8d, 0x5c, 0x4d, 0x4b, 0x39, 0xfa, 0xaf, 0x8f, 0xd6, 0x34, 0x2b, 0x2d, 0xf2, - 0x4c, 0x81, 0x43, 0x51, 0xff, 0x2b, 0x96, 0x95, 0x94, 0x43, 0x2f, 0x5d, 0x9a, 0x94, 0x43, 0x4f, - 0x85, 0xa9, 0x2e, 0xf3, 0x1c, 0x2e, 0x93, 0x8b, 0xaf, 0x97, 0x03, 0x79, 0xaa, 0x40, 0x86, 0x77, - 0xe5, 0x93, 0xbd, 0xa3, 0x87, 0x14, 0x62, 0xe1, 0x54, 0x3f, 0x18, 0xf2, 0x5a, 0xe2, 0xbc, 0x2e, - 0x92, 0x85, 0x94, 0xbc, 0xfc, 0x91, 0xd6, 0x14, 0xdd, 0xb5, 0x45, 0xbe, 0x52, 0x20, 0xe3, 0xeb, - 0xb7, 0x24, 0x56, 0x21, 0xf9, 0x98, 0xc4, 0x2a, 0xac, 0x1b, 0xd5, 0x6b, 0x9c, 0xd5, 0x25, 0x72, - 0x21, 0x25, 0x2b, 0x5f, 0x3d, 0x6a, 0x4d, 0x94, 0xa2, 0x2d, 0xf2, 0xb5, 0x02, 0xc3, 0x5c, 0x20, - 0x90, 0x3e, 0xc7, 0x20, 0x6b, 0x3a, 0xdd, 0x17, 0xf7, 0x06, 0xe7, 0xe5, 0x69, 0x4d, 0xae, 0x59, - 0x5b, 0xe4, 0x1b, 0x05, 0x86, 0xb9, 0x4e, 0x48, 0x22, 0x16, 0x96, 0x2a, 0x49, 0xc4, 0x22, 0x1a, - 0x65, 0xcf, 0x17, 0x8c, 0xeb, 0x05, 0xad, 0x89, 0xc2, 0xa7, 0x45, 0x3e, 0x57, 0x60, 0x68, 0x83, - 0x32, 0x72, 0xa2, 0x77, 0xc0, 0xb6, 0x98, 0x29, 0x9c, 0xec, 0x83, 0x42, 0x52, 0x57, 0x38, 0xa9, - 0x05, 0x32, 0x97, 0x92, 0x94, 0x47, 0x99, 0xd6, 0xe4, 0xc2, 0xa8, 0x45, 0x7e, 0x52, 0x20, 0x27, - 0x05, 0x05, 0x99, 0x4d, 0x0a, 0x18, 0xd5, 0x3a, 0x85, 0xb7, 0x53, 0x61, 0x91, 0xe2, 0x3a, 0xa7, - 0xb8, 0x42, 0xde, 0x49, 0x4d, 0x31, 0xf8, 0xd1, 0xc1, 0x67, 0x2a, 0xe5, 0x53, 0x8b, 0x7c, 0xaf, - 0xc0, 0x08, 0xea, 0x0e, 0x92, 0xf0, 0x39, 0x8e, 0xca, 0xa0, 0xc2, 0xe9, 0x14, 0x48, 0x64, 0xba, - 0xca, 0x99, 0x2e, 0x91, 0x2b, 0x69, 0xaf, 0x9e, 0xb0, 0xd7, 0x9a, 0x52, 0x56, 0xb5, 0xc8, 0xb7, - 0x0a, 0x64, 0x85, 0x38, 0x49, 0xea, 0x2d, 0x11, 0x95, 0x94, 0xd4, 0x5b, 0xa2, 0xe2, 0x48, 0xbd, - 0xce, 0x19, 0x5e, 0x21, 0x97, 0x53, 0x9f, 0xa5, 0x6f, 0xee, 0x9f, 0xa3, 0x10, 0x5d, 0x2d, 0xf2, - 0xa3, 0x02, 0x39, 0xd9, 0x28, 0x93, 0x8a, 0xde, 0x29, 0xa5, 0x92, 0x8a, 0xde, 0xa5, 0x9d, 0xd4, - 0x5b, 0x9c, 0xe8, 0x75, 0xb2, 0x9c, 0x92, 0xa8, 0xec, 0xd3, 0x5a, 0x33, 0x24, 0xce, 0x78, 0xcd, - 0xa1, 0xad, 0x0e, 0x48, 0x1a, 0x0e, 0xf2, 0x93, 0x73, 0x26, 0x1d, 0x18, 0x19, 0x2f, 0x72, 0xc6, - 0xf3, 0xe4, 0xfc, 0x5e, 0x19, 0x7b, 0xe4, 0x57, 0x05, 0x48, 0xb7, 0xf8, 0x20, 0xf3, 0x29, 0xe2, - 0x77, 0x4a, 0xa2, 0xc2, 0xc2, 0xde, 0x8c, 0x5e, 0xb3, 0x81, 0xc7, 0xfd, 0x90, 0x46, 0x9e, 0x2b, - 0x30, 0x1e, 0xa3, 0xc4, 0x48, 0x1a, 0x4a, 0x5d, 0xda, 0xae, 0x70, 0x61, 0x8f, 0x56, 0x98, 0xc9, - 0x0d, 0x9e, 0xc9, 0x32, 0x59, 0xda, 0x73, 0x19, 0x42, 0xa9, 0xac, 0xea, 0xcf, 0x5f, 0x16, 0x95, - 0x17, 0x2f, 0x8b, 0xca, 0x9f, 0x2f, 0x8b, 0xca, 0x17, 0xaf, 0x8a, 0x03, 0x2f, 0x5e, 0x15, 0x07, - 0x7e, 0x7f, 0x55, 0x1c, 0xf8, 0xe4, 0x72, 0xd5, 0x64, 0xdb, 0xf5, 0xad, 0x52, 0xd9, 0xa9, 0x25, - 0x46, 0xf8, 0x34, 0x34, 0x66, 0x8d, 0x1d, 0xea, 0x6d, 0x65, 0xf9, 0x0f, 0x8d, 0xf3, 0xff, 0x06, - 0x00, 0x00, 0xff, 0xff, 0xac, 0xb4, 0xc9, 0x1b, 0xd8, 0x16, 0x00, 0x00, + // 1817 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xcf, 0x6f, 0xdb, 0xca, + 0x11, 0x36, 0x6d, 0x49, 0xb6, 0x26, 0xef, 0xf9, 0x25, 0x1b, 0x37, 0xd5, 0x53, 0xf3, 0x64, 0x3f, + 0xe6, 0x87, 0x1d, 0x37, 0x11, 0x13, 0xdb, 0xf9, 0xe1, 0xc4, 0x71, 0x63, 0x3b, 0x89, 0x91, 0x06, + 0x49, 0x1c, 0xba, 0x69, 0xd1, 0x5e, 0x0c, 0x5a, 0x5a, 0xcb, 0x44, 0x28, 0xd2, 0x21, 0x57, 0x71, + 0x05, 0x41, 0x40, 0xd1, 0xde, 0x8b, 0xa2, 0x09, 0xda, 0xa2, 0x40, 0x81, 0xb6, 0xa7, 0x1e, 0x5a, + 0xa0, 0x7f, 0x40, 0xd0, 0x53, 0x0f, 0x39, 0x06, 0xe8, 0xa5, 0xa7, 0xa2, 0x48, 0x0a, 0xf4, 0xdf, + 0x78, 0xd8, 0xe5, 0x70, 0x49, 0x4a, 0x14, 0x45, 0x27, 0x17, 0x83, 0x9c, 0xfd, 0x66, 0xe7, 0x9b, + 0x99, 0xe5, 0xce, 0x27, 0xc3, 0x74, 0xcd, 0x70, 0xeb, 0xb5, 0x7d, 0xc3, 0xb4, 0xb5, 0xf0, 0xe9, + 0x45, 0x8b, 0xba, 0xed, 0xea, 0x81, 0xeb, 0x30, 0x87, 0x9c, 0x94, 0xe6, 0xaa, 0x7c, 0x2a, 0x9f, + 0x30, 0x9a, 0xa6, 0xed, 0x68, 0xe2, 0xaf, 0x8f, 0x2b, 0x4f, 0x35, 0x9c, 0x86, 0x23, 0x1e, 0x35, + 0xfe, 0x84, 0xd6, 0xd3, 0x0d, 0xc7, 0x69, 0x58, 0x54, 0x33, 0x0e, 0x4c, 0xcd, 0xb0, 0x6d, 0x87, + 0x19, 0xcc, 0x74, 0x6c, 0x0f, 0x57, 0xe7, 0x6b, 0x8e, 0xd7, 0x74, 0x3c, 0x6d, 0xd7, 0xf0, 0xa8, + 0x1f, 0x54, 0x7b, 0x79, 0x65, 0x97, 0x32, 0xe3, 0x8a, 0x76, 0x60, 0x34, 0x4c, 0x5b, 0x80, 0x11, + 0x3b, 0x93, 0x44, 0xf4, 0xc0, 0x70, 0x8d, 0x66, 0xb0, 0xdb, 0x85, 0x44, 0x84, 0xeb, 0xd4, 0x5b, + 0x35, 0xb6, 0x53, 0xa7, 0xcc, 0x30, 0xad, 0x54, 0x28, 0x7f, 0xda, 0x39, 0x34, 0xd9, 0xfe, 0x8e, + 0xd9, 0x34, 0x1a, 0x14, 0xa1, 0x95, 0x24, 0x68, 0xcb, 0xa3, 0x6e, 0xda, 0x3a, 0x7f, 0xc2, 0xf5, + 0xc4, 0x02, 0x37, 0x0d, 0x56, 0xdb, 0x97, 0x45, 0x48, 0x00, 0x78, 0x94, 0xf9, 0x54, 0x0c, 0x97, + 0x1d, 0x3a, 0xee, 0x73, 0xc4, 0x9e, 0x4d, 0xc6, 0x5a, 0xd6, 0x8e, 0xb3, 0xb7, 0x27, 0x29, 0x7d, + 0x9d, 0x48, 0xc9, 0x69, 0xd9, 0x35, 0xd3, 0x4a, 0xab, 0xa6, 0x47, 0xdd, 0x97, 0x72, 0x93, 0x33, + 0x49, 0x08, 0x6a, 0xf3, 0x6d, 0x98, 0x04, 0x55, 0x53, 0x41, 0x49, 0xc5, 0x8c, 0x34, 0x3c, 0x68, + 0x75, 0xcd, 0x31, 0xb1, 0xc9, 0xea, 0x14, 0x90, 0xa7, 0xfc, 0x18, 0x6c, 0x89, 0xbe, 0xea, 0xf4, + 0x45, 0x8b, 0x7a, 0x4c, 0x7d, 0x06, 0x27, 0x63, 0x56, 0xef, 0xc0, 0xb1, 0x3d, 0x4a, 0x56, 0xa1, + 0xe0, 0xf7, 0xbf, 0xa4, 0xcc, 0x28, 0x73, 0xc7, 0x16, 0xbe, 0x53, 0x4d, 0x38, 0xaa, 0x55, 0xdf, + 0x69, 0xbd, 0xf8, 0xf6, 0x3f, 0xd3, 0x23, 0x7f, 0xf9, 0xff, 0xdf, 0xe7, 0x15, 0x1d, 0xbd, 0x54, + 0x0d, 0xbe, 0x12, 0xdb, 0x6e, 0x52, 0xb6, 0xe5, 0x9f, 0x92, 0xbb, 0xfe, 0x21, 0xc1, 0xb8, 0x64, + 0x12, 0x46, 0xcd, 0xba, 0xd8, 0x3c, 0xa7, 0x8f, 0x9a, 0x75, 0xd5, 0x83, 0xca, 0x20, 0x07, 0xa4, + 0xf4, 0x14, 0x26, 0xe3, 0x2b, 0x48, 0xed, 0x4c, 0x32, 0xb5, 0x18, 0x74, 0x3d, 0xc7, 0x29, 0xea, + 0x3d, 0x1b, 0xa8, 0x0d, 0x64, 0xb9, 0x66, 0x59, 0xc9, 0x2c, 0xef, 0x03, 0x84, 0x1f, 0x0b, 0xc6, + 0x3b, 0x5f, 0xf5, 0x0b, 0x5d, 0xe5, 0x85, 0xae, 0xfa, 0x9f, 0x33, 0x96, 0xbb, 0xba, 0x65, 0x34, + 0x28, 0xfa, 0xea, 0x11, 0x4f, 0xf5, 0x8d, 0x82, 0xe9, 0x25, 0x44, 0x4a, 0x49, 0x6f, 0xec, 0x93, + 0xd2, 0x23, 0x9b, 0x31, 0xf6, 0xa3, 0x82, 0xfd, 0xec, 0x50, 0xf6, 0x3e, 0x9f, 0x18, 0xfd, 0x79, + 0x38, 0x2e, 0xd8, 0x6f, 0x18, 0x6e, 0x3d, 0x28, 0xcd, 0x29, 0x28, 0x70, 0x3a, 0x0f, 0x82, 0x26, + 0xe2, 0x9b, 0xfa, 0x10, 0x4e, 0x44, 0xb0, 0x98, 0xdc, 0x35, 0xc8, 0xf1, 0x65, 0xac, 0xa0, 0x9a, + 0x98, 0x12, 0x77, 0xf8, 0x91, 0xc9, 0xf6, 0x1f, 0xf0, 0x33, 0xad, 0x0b, 0xbc, 0x7a, 0x11, 0x03, + 0x3f, 0xf3, 0xa8, 0x1b, 0x04, 0x2e, 0xc1, 0xb8, 0x51, 0xaf, 0xbb, 0xd4, 0xf3, 0x0f, 0x40, 0x51, + 0x0f, 0x5e, 0xd5, 0x75, 0x0c, 0xed, 0xa3, 0x31, 0xf4, 0x25, 0xc8, 0xf1, 0x1b, 0x05, 0x43, 0x7f, + 0x99, 0x18, 0x5a, 0x38, 0x08, 0x98, 0xfa, 0xc7, 0x5c, 0x84, 0xbf, 0x3c, 0x07, 0x53, 0x90, 0x77, + 0x0e, 0x6d, 0xdc, 0xa5, 0xa8, 0xfb, 0x2f, 0xe4, 0x3a, 0x14, 0x3c, 0x66, 0xb0, 0x96, 0x57, 0x1a, + 0x9d, 0x19, 0x9b, 0x9b, 0x5c, 0x98, 0x1e, 0x98, 0xd7, 0xb6, 0x80, 0xe9, 0x08, 0x27, 0xcb, 0x30, + 0xc1, 0xd7, 0x7f, 0xd0, 0x3e, 0xa0, 0xa5, 0x31, 0xe1, 0xfa, 0xd5, 0x40, 0x57, 0x0e, 0xd2, 0x25, + 0x9c, 0x2c, 0x41, 0xbe, 0x66, 0x19, 0x9e, 0x57, 0xca, 0x09, 0xbf, 0xca, 0x40, 0xbf, 0x0d, 0x8e, + 0xd2, 0x7d, 0x30, 0x6f, 0x96, 0xe7, 0xb8, 0x6c, 0xbd, 0x5d, 0xca, 0x8b, 0x04, 0xf0, 0x8d, 0xa8, + 0xf0, 0x99, 0x6d, 0x34, 0xe9, 0x86, 0x63, 0x33, 0xc3, 0xb4, 0xbd, 0x52, 0x41, 0xac, 0xc6, 0x6c, + 0x64, 0x1e, 0x8e, 0x3f, 0xa7, 0xed, 0x43, 0xc7, 0xad, 0x7b, 0x12, 0x37, 0x2e, 0x70, 0x7d, 0x76, + 0x72, 0x16, 0x3e, 0xb7, 0x1d, 0x46, 0x43, 0xe0, 0x84, 0x00, 0xc6, 0x8d, 0x64, 0x0e, 0xbe, 0x70, + 0x6c, 0xab, 0xbd, 0xcd, 0x0c, 0x97, 0x51, 0x97, 0x93, 0x2d, 0x15, 0x67, 0x94, 0xb9, 0x09, 0xbd, + 0xd7, 0x4c, 0xaa, 0x40, 0xb8, 0x69, 0xdd, 0xb0, 0x0c, 0xbb, 0x46, 0xd7, 0xec, 0xda, 0xbe, 0xe3, + 0x7a, 0x25, 0x10, 0xe0, 0x84, 0x15, 0x72, 0x0b, 0x26, 0x5c, 0xc3, 0x35, 0x99, 0x49, 0xbd, 0xd2, + 0xb1, 0x21, 0x3d, 0xd1, 0x39, 0xb0, 0xad, 0x4b, 0x07, 0x72, 0x1e, 0x26, 0x9b, 0x2d, 0x8b, 0x99, + 0xa2, 0x72, 0x4f, 0x6c, 0xab, 0x5d, 0xfa, 0x4c, 0x04, 0xea, 0xb1, 0xaa, 0x55, 0xbc, 0x48, 0xf1, + 0x84, 0xe0, 0x39, 0x2b, 0xc1, 0xb8, 0xff, 0x05, 0xf8, 0x1f, 0x6e, 0x4e, 0x0f, 0x5e, 0xd5, 0x4b, + 0x78, 0xa2, 0x1e, 0xf1, 0xc1, 0x14, 0x39, 0xc5, 0x62, 0x50, 0xc9, 0xef, 0x27, 0x78, 0x55, 0xef, + 0xe3, 0xf6, 0x08, 0xc7, 0xed, 0x2f, 0x43, 0x5e, 0x00, 0xf0, 0x1c, 0x97, 0x13, 0xd3, 0xf2, 0x5d, + 0x7c, 0xa0, 0x3a, 0x0b, 0x5f, 0x88, 0x7d, 0xb6, 0x29, 0x8b, 0x1c, 0x63, 0x8f, 0x32, 0x19, 0xd2, + 0x7f, 0x51, 0x1f, 0xe1, 0x47, 0x26, 0x80, 0x18, 0x6e, 0x39, 0x1e, 0x2e, 0xf9, 0x12, 0xda, 0xa6, + 0x8c, 0x7f, 0xb0, 0x6b, 0xfe, 0x18, 0x0d, 0xe2, 0x2e, 0xc3, 0xb7, 0x70, 0x3b, 0xcb, 0x7a, 0xc2, + 0x27, 0x67, 0x10, 0x7d, 0x06, 0x8e, 0x79, 0x81, 0x4d, 0x72, 0x88, 0x9a, 0xd4, 0x1f, 0xc2, 0xa9, + 0x5e, 0x57, 0xe4, 0xb3, 0x02, 0x45, 0x09, 0x44, 0x4e, 0x95, 0x01, 0x9c, 0x02, 0xd7, 0xd0, 0x41, + 0x5d, 0xc4, 0x21, 0xb7, 0xe1, 0xcf, 0xe9, 0x80, 0xd0, 0x69, 0x28, 0xe2, 0xe4, 0x96, 0x74, 0x42, + 0x83, 0xfa, 0x18, 0xa6, 0xe2, 0x4e, 0xf2, 0x2e, 0x1b, 0x47, 0x10, 0x12, 0x39, 0x9d, 0x7c, 0xc4, + 0xd0, 0x2d, 0x00, 0xab, 0x97, 0xb1, 0xaf, 0xdb, 0x42, 0x09, 0x04, 0x1c, 0xca, 0x30, 0xe1, 0x4b, + 0x03, 0x49, 0x41, 0xbe, 0xab, 0xdf, 0x47, 0xda, 0x81, 0x07, 0x12, 0x58, 0x84, 0x82, 0x0f, 0x49, + 0x9d, 0xcd, 0xe8, 0x84, 0x50, 0xd9, 0x95, 0x7b, 0x81, 0x80, 0x88, 0x74, 0x45, 0x8a, 0x8a, 0xb0, + 0x2b, 0x11, 0x93, 0xec, 0x4a, 0xc4, 0x35, 0xec, 0x8a, 0x04, 0xa6, 0x76, 0x25, 0x74, 0x0d, 0x1d, + 0xd4, 0x52, 0xef, 0xbe, 0x52, 0x94, 0xfc, 0x18, 0xbe, 0xdd, 0xb7, 0x22, 0x85, 0x09, 0xc8, 0x1d, + 0x82, 0x11, 0x39, 0x2c, 0x66, 0xc4, 0x43, 0x9d, 0xc1, 0x41, 0x2c, 0x57, 0xc3, 0x91, 0x83, 0xc1, + 0xf7, 0x61, 0x7a, 0x20, 0x02, 0x49, 0xdc, 0xeb, 0xcf, 0x7b, 0x36, 0x9d, 0x43, 0xb8, 0x47, 0xa4, + 0x00, 0x5f, 0xf7, 0x46, 0xf2, 0xfa, 0xc8, 0x3c, 0x87, 0x99, 0xc1, 0x10, 0x64, 0xb3, 0x99, 0x50, + 0x92, 0xcc, 0x74, 0xa2, 0xb5, 0xf9, 0xc5, 0x28, 0x7c, 0x29, 0x6f, 0x36, 0xe1, 0xf1, 0xc0, 0xde, + 0x73, 0x82, 0x83, 0x52, 0x01, 0x30, 0x6a, 0xcc, 0x7c, 0x49, 0xb7, 0x29, 0x0b, 0xee, 0xb8, 0x88, + 0x85, 0x1f, 0x24, 0x1e, 0xc9, 0x7b, 0xdc, 0x6a, 0xee, 0x52, 0x57, 0xc8, 0x8d, 0x9c, 0x1e, 0x35, + 0xf1, 0xe9, 0x20, 0xae, 0x08, 0x1a, 0x60, 0xc6, 0x04, 0x26, 0x6e, 0xe4, 0xf3, 0x46, 0x7e, 0xb9, + 0x01, 0x30, 0x27, 0x80, 0x7d, 0x76, 0x7e, 0x65, 0xe3, 0xe7, 0x15, 0x20, 0xf3, 0x02, 0xd9, 0x63, + 0xe5, 0x7b, 0x5a, 0x86, 0xc7, 0x78, 0x5e, 0x8f, 0x9c, 0xba, 0xb9, 0x67, 0xd2, 0xba, 0x98, 0x75, + 0x39, 0xbd, 0xcf, 0xae, 0x9a, 0x50, 0x4e, 0x2a, 0x02, 0x16, 0xfb, 0x21, 0x1c, 0xe7, 0x29, 0xad, + 0xb5, 0x6a, 0x5c, 0x19, 0x6d, 0xb9, 0x66, 0x8d, 0x86, 0xd2, 0x22, 0xa2, 0xac, 0x02, 0x4d, 0xb5, + 0xe1, 0x98, 0x36, 0xca, 0xb3, 0x3e, 0xc7, 0x85, 0x9f, 0x9d, 0x82, 0xbc, 0x88, 0x45, 0x7e, 0xad, + 0x40, 0xc1, 0x57, 0xd3, 0x24, 0xb9, 0x75, 0xfd, 0xd2, 0xbd, 0x3c, 0x37, 0x1c, 0xe8, 0x93, 0x56, + 0xaf, 0xfe, 0xfc, 0x5f, 0xff, 0x7b, 0x35, 0xaa, 0x91, 0x4b, 0xda, 0x5d, 0x5a, 0xa3, 0x36, 0x73, + 0x0d, 0x8b, 0x67, 0xb7, 0x69, 0x34, 0xa9, 0x36, 0xf8, 0xa7, 0x1f, 0xf9, 0x87, 0xd2, 0xab, 0x49, + 0xc9, 0xc2, 0xe0, 0x98, 0x83, 0xa4, 0x7e, 0x79, 0xf1, 0x48, 0x3e, 0x48, 0x79, 0x43, 0x50, 0xbe, + 0x4d, 0x6e, 0x65, 0xa5, 0x1c, 0xff, 0x2d, 0xaa, 0x75, 0xcc, 0x7a, 0x97, 0xbc, 0x51, 0xe0, 0x44, + 0x7c, 0xff, 0x35, 0xcb, 0x4a, 0xcb, 0x61, 0xd0, 0x0f, 0x81, 0xb4, 0x1c, 0x06, 0x4a, 0x7a, 0x75, + 0x55, 0xe4, 0x70, 0x83, 0x5c, 0xfb, 0xb8, 0x1c, 0xc8, 0x2b, 0x05, 0x72, 0x42, 0x06, 0x9d, 0x1b, + 0x1c, 0x3d, 0x22, 0xc9, 0xcb, 0xe7, 0x87, 0xc1, 0x90, 0xd7, 0x8a, 0xe0, 0x75, 0x8d, 0x2c, 0x65, + 0xe4, 0xc5, 0x9f, 0xb4, 0x8e, 0x2f, 0x67, 0xba, 0xe4, 0xb5, 0x02, 0x39, 0x2e, 0x98, 0xd3, 0x58, + 0x45, 0xf4, 0x7a, 0x1a, 0xab, 0xa8, 0x50, 0x57, 0x6f, 0x0b, 0x56, 0xd7, 0xc9, 0xd5, 0x8c, 0xac, + 0xb8, 0x5c, 0xd7, 0x3a, 0xa8, 0xfd, 0xbb, 0xe4, 0x37, 0x0a, 0xe4, 0x85, 0x22, 0x23, 0x43, 0xca, + 0x20, 0x7b, 0x3a, 0x3b, 0x14, 0xf7, 0x09, 0xf5, 0xf2, 0xb4, 0x8e, 0xf8, 0x91, 0xd0, 0x25, 0xbf, + 0x53, 0x20, 0x2f, 0x84, 0x59, 0x1a, 0xb1, 0xa8, 0x36, 0x4c, 0x23, 0x16, 0x13, 0x85, 0x47, 0x3e, + 0x60, 0xe2, 0xa2, 0xd5, 0x3a, 0xa8, 0x34, 0xbb, 0xe4, 0x97, 0x0a, 0x8c, 0x6d, 0x53, 0x46, 0xce, + 0x0e, 0x0e, 0x18, 0xaa, 0xc7, 0xf2, 0xb9, 0x21, 0x28, 0x24, 0x75, 0x53, 0x90, 0x5a, 0x22, 0x0b, + 0x19, 0x49, 0x79, 0x94, 0x69, 0x1d, 0xa1, 0x44, 0xbb, 0xe4, 0x6f, 0x0a, 0x14, 0xa5, 0x82, 0x23, + 0xf3, 0x69, 0x01, 0xe3, 0xe2, 0xb2, 0xfc, 0xdd, 0x4c, 0x58, 0xa4, 0xb8, 0x29, 0x28, 0xae, 0x91, + 0xef, 0x65, 0xa6, 0x18, 0xfc, 0x17, 0x88, 0x33, 0x95, 0x7a, 0xb5, 0x4b, 0xfe, 0xac, 0xc0, 0x38, + 0x0a, 0x3d, 0x92, 0x72, 0x1d, 0xc7, 0x75, 0x67, 0xf9, 0x42, 0x06, 0x24, 0x32, 0x5d, 0x17, 0x4c, + 0x57, 0xc8, 0xcd, 0xac, 0x47, 0xcf, 0xf7, 0xd7, 0x3a, 0x52, 0xc7, 0x76, 0xc9, 0x1f, 0x14, 0x28, + 0xf8, 0x6a, 0x30, 0x6d, 0xb6, 0xc4, 0x64, 0x69, 0xda, 0x6c, 0x89, 0xab, 0x51, 0xf5, 0x8e, 0x60, + 0x78, 0x93, 0xdc, 0xc8, 0x5c, 0x4b, 0xee, 0xce, 0xeb, 0xe8, 0xab, 0xdc, 0x2e, 0xf9, 0xab, 0x02, + 0x45, 0xa9, 0x4c, 0xd2, 0x9a, 0xde, 0xab, 0x5d, 0xd3, 0x9a, 0xde, 0x27, 0x56, 0xd5, 0xfb, 0x82, + 0xe8, 0x1d, 0xb2, 0x9a, 0x91, 0xa8, 0x14, 0x46, 0x5a, 0x27, 0xa2, 0x86, 0x45, 0xcf, 0x21, 0x94, + 0x63, 0x24, 0x0b, 0x07, 0x79, 0xe5, 0x5c, 0xcc, 0x06, 0x46, 0xc6, 0xcb, 0x82, 0xf1, 0x22, 0xb9, + 0x72, 0x54, 0xc6, 0x1e, 0xf9, 0xa7, 0x02, 0xa4, 0x5f, 0xed, 0x91, 0xc5, 0x0c, 0xf1, 0x7b, 0x35, + 0x68, 0x79, 0xe9, 0x68, 0x4e, 0x1f, 0x39, 0xc0, 0x93, 0xfe, 0xb3, 0x49, 0xde, 0x2a, 0x70, 0x32, + 0x41, 0xfa, 0x92, 0x2c, 0x94, 0xfa, 0xc4, 0x74, 0xf9, 0xea, 0x11, 0xbd, 0x30, 0x93, 0xbb, 0x22, + 0x93, 0x55, 0xb2, 0x72, 0xe4, 0x36, 0x44, 0x53, 0x79, 0x3d, 0x0a, 0x9f, 0xc7, 0x24, 0x25, 0xa9, + 0xa6, 0xcf, 0x9f, 0x5e, 0x01, 0x5e, 0xd6, 0x32, 0xe3, 0x91, 0xf8, 0x9f, 0x14, 0xc1, 0xfc, 0xf7, + 0x0a, 0xf9, 0xad, 0x72, 0x84, 0xd1, 0x25, 0x9e, 0x76, 0x4c, 0x7b, 0xcf, 0xd1, 0x3a, 0xa1, 0xbe, + 0xef, 0xfa, 0x0a, 0x00, 0x15, 0x75, 0x17, 0xa7, 0x08, 0x0d, 0xdf, 0x7b, 0xc5, 0x79, 0x57, 0x5e, + 0x42, 0xa1, 0xa1, 0x57, 0x6c, 0x77, 0xd7, 0xf5, 0xb7, 0xef, 0x2b, 0xca, 0xbb, 0xf7, 0x15, 0xe5, + 0xbf, 0xef, 0x2b, 0xca, 0xaf, 0x3e, 0x54, 0x46, 0xde, 0x7d, 0xa8, 0x8c, 0xfc, 0xfb, 0x43, 0x65, + 0xe4, 0x27, 0x37, 0x1a, 0x26, 0xdb, 0x6f, 0xed, 0x56, 0x6b, 0x4e, 0x33, 0x95, 0xfc, 0x4f, 0x23, + 0xcf, 0xac, 0x7d, 0x40, 0xbd, 0xdd, 0x82, 0xf8, 0x87, 0xf7, 0xe2, 0x37, 0x01, 0x00, 0x00, 0xff, + 0xff, 0xe8, 0x95, 0xc3, 0x8c, 0x80, 0x19, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1599,6 +1743,8 @@ type QueryClient interface { EncounterWithImage(ctx context.Context, in *QueryEncounterWithImageRequest, opts ...grpc.CallOption) (*QueryEncounterWithImageResponse, error) // Queries a list of EncountersWithImage items. EncountersWithImage(ctx context.Context, in *QueryEncountersWithImageRequest, opts ...grpc.CallOption) (*QueryEncountersWithImageResponse, error) + // Queries a list of CardchainInfo items. + CardchainInfo(ctx context.Context, in *QueryCardchainInfoRequest, opts ...grpc.CallOption) (*QueryCardchainInfoResponse, error) } type queryClient struct { @@ -1744,6 +1890,15 @@ func (c *queryClient) EncountersWithImage(ctx context.Context, in *QueryEncounte return out, nil } +func (c *queryClient) CardchainInfo(ctx context.Context, in *QueryCardchainInfoRequest, opts ...grpc.CallOption) (*QueryCardchainInfoResponse, error) { + out := new(QueryCardchainInfoResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/CardchainInfo", 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. @@ -1775,6 +1930,8 @@ type QueryServer interface { EncounterWithImage(context.Context, *QueryEncounterWithImageRequest) (*QueryEncounterWithImageResponse, error) // Queries a list of EncountersWithImage items. EncountersWithImage(context.Context, *QueryEncountersWithImageRequest) (*QueryEncountersWithImageResponse, error) + // Queries a list of CardchainInfo items. + CardchainInfo(context.Context, *QueryCardchainInfoRequest) (*QueryCardchainInfoResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -1826,6 +1983,9 @@ func (*UnimplementedQueryServer) EncounterWithImage(ctx context.Context, req *Qu func (*UnimplementedQueryServer) EncountersWithImage(ctx context.Context, req *QueryEncountersWithImageRequest) (*QueryEncountersWithImageResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EncountersWithImage not implemented") } +func (*UnimplementedQueryServer) CardchainInfo(ctx context.Context, req *QueryCardchainInfoRequest) (*QueryCardchainInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardchainInfo not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -2101,6 +2261,24 @@ func _Query_EncountersWithImage_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Query_CardchainInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCardchainInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).CardchainInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/CardchainInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).CardchainInfo(ctx, req.(*QueryCardchainInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -2166,6 +2344,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "EncountersWithImage", Handler: _Query_EncountersWithImage_Handler, }, + { + MethodName: "CardchainInfo", + Handler: _Query_CardchainInfo_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -3257,6 +3439,105 @@ func (m *QueryEncountersWithImageResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } +func (m *QueryCardchainInfoRequest) 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 *QueryCardchainInfoRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryCardchainInfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.LastCardModified != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.LastCardModified)) + i-- + dAtA[i] = 0x30 + } + if m.CouncilsNumber != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.CouncilsNumber)) + i-- + dAtA[i] = 0x28 + } + if m.SellOffersNumber != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.SellOffersNumber)) + i-- + dAtA[i] = 0x20 + } + if m.MatchesNumber != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.MatchesNumber)) + i-- + dAtA[i] = 0x18 + } + if m.CardsNumber != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.CardsNumber)) + i-- + dAtA[i] = 0x10 + } + if len(m.ActiveSets) > 0 { + dAtA25 := make([]byte, len(m.ActiveSets)*10) + var j24 int + for _, num := range m.ActiveSets { + for num >= 1<<7 { + dAtA25[j24] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j24++ + } + dAtA25[j24] = uint8(num) + j24++ + } + i -= j24 + copy(dAtA[i:], dAtA25[:j24]) + i = encodeVarintQuery(dAtA, i, uint64(j24)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryCardchainInfoResponse) 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 *QueryCardchainInfoResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryCardchainInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.CardAuctionPrice.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 @@ -3696,6 +3977,48 @@ func (m *QueryEncountersWithImageResponse) Size() (n int) { return n } +func (m *QueryCardchainInfoRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.ActiveSets) > 0 { + l = 0 + for _, e := range m.ActiveSets { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + if m.CardsNumber != 0 { + n += 1 + sovQuery(uint64(m.CardsNumber)) + } + if m.MatchesNumber != 0 { + n += 1 + sovQuery(uint64(m.MatchesNumber)) + } + if m.SellOffersNumber != 0 { + n += 1 + sovQuery(uint64(m.SellOffersNumber)) + } + if m.CouncilsNumber != 0 { + n += 1 + sovQuery(uint64(m.CouncilsNumber)) + } + if m.LastCardModified != 0 { + n += 1 + sovQuery(uint64(m.LastCardModified)) + } + return n +} + +func (m *QueryCardchainInfoResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.CardAuctionPrice.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -6522,6 +6845,310 @@ func (m *QueryEncountersWithImageResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryCardchainInfoRequest) 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: QueryCardchainInfoRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCardchainInfoRequest: 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 ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ActiveSets = append(m.ActiveSets, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + 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.ActiveSets) == 0 { + m.ActiveSets = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ActiveSets = append(m.ActiveSets, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field ActiveSets", wireType) + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardsNumber", wireType) + } + m.CardsNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CardsNumber |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MatchesNumber", wireType) + } + m.MatchesNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MatchesNumber |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SellOffersNumber", wireType) + } + m.SellOffersNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SellOffersNumber |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CouncilsNumber", wireType) + } + m.CouncilsNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CouncilsNumber |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + 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:]) + 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 *QueryCardchainInfoResponse) 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: QueryCardchainInfoResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCardchainInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CardAuctionPrice", 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.CardAuctionPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index f06d599a..3bb1559c 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -699,6 +699,170 @@ func local_request_Query_EncountersWithImage_0(ctx context.Context, marshaler ru } +func request_Query_CardchainInfo_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCardchainInfoRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["activeSets"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activeSets") + } + + protoReq.ActiveSets, err = runtime.Uint64Slice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activeSets", err) + } + + val, ok = pathParams["cardsNumber"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardsNumber") + } + + protoReq.CardsNumber, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardsNumber", err) + } + + val, ok = pathParams["matchesNumber"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "matchesNumber") + } + + protoReq.MatchesNumber, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "matchesNumber", err) + } + + val, ok = pathParams["sellOffersNumber"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sellOffersNumber") + } + + protoReq.SellOffersNumber, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sellOffersNumber", err) + } + + val, ok = pathParams["councilsNumber"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "councilsNumber") + } + + protoReq.CouncilsNumber, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "councilsNumber", err) + } + + val, ok = pathParams["lastCardModified"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lastCardModified") + } + + protoReq.LastCardModified, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lastCardModified", err) + } + + msg, err := client.CardchainInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_CardchainInfo_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCardchainInfoRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["activeSets"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activeSets") + } + + protoReq.ActiveSets, err = runtime.Uint64Slice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activeSets", err) + } + + val, ok = pathParams["cardsNumber"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardsNumber") + } + + protoReq.CardsNumber, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardsNumber", err) + } + + val, ok = pathParams["matchesNumber"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "matchesNumber") + } + + protoReq.MatchesNumber, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "matchesNumber", err) + } + + val, ok = pathParams["sellOffersNumber"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sellOffersNumber") + } + + protoReq.SellOffersNumber, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sellOffersNumber", err) + } + + val, ok = pathParams["councilsNumber"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "councilsNumber") + } + + protoReq.CouncilsNumber, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "councilsNumber", err) + } + + val, ok = pathParams["lastCardModified"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lastCardModified") + } + + protoReq.LastCardModified, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lastCardModified", err) + } + + msg, err := server.CardchainInfo(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. @@ -1050,6 +1214,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_CardchainInfo_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_CardchainInfo_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_CardchainInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1391,6 +1578,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_CardchainInfo_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_CardchainInfo_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_CardchainInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1424,6 +1631,8 @@ var ( pattern_Query_EncounterWithImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "encounter_with_image"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_EncountersWithImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "encounters_with_image"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_CardchainInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"DecentralCardGame", "cardchain", "cardchain_info", "activeSets", "cardsNumber", "matchesNumber", "sellOffersNumber", "councilsNumber", "lastCardModified"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -1456,4 +1665,6 @@ var ( forward_Query_EncounterWithImage_0 = runtime.ForwardResponseMessage forward_Query_EncountersWithImage_0 = runtime.ForwardResponseMessage + + forward_Query_CardchainInfo_0 = runtime.ForwardResponseMessage ) From 1d1c98b73c5b0b7e109c17e8a18fe9e98a64a1fd Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 15:27:41 +0100 Subject: [PATCH 50/99] feat(#242): Added small bullshit queries proto --- api/cardchain/cardchain/card.pulsar.go | 9 +- .../cardchain/card_with_image.pulsar.go | 7 +- api/cardchain/cardchain/council.pulsar.go | 9 +- api/cardchain/cardchain/encounter.pulsar.go | 9 +- .../cardchain/encounter_with_image.pulsar.go | 7 +- api/cardchain/cardchain/genesis.pulsar.go | 9 +- api/cardchain/cardchain/image.pulsar.go | 7 +- api/cardchain/cardchain/match.pulsar.go | 7 +- .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- .../cardchain/product_details.pulsar.go | 7 +- api/cardchain/cardchain/query.pulsar.go | 4507 ++++++++++++++--- api/cardchain/cardchain/query_grpc.pb.go | 150 +- .../cardchain/running_average.pulsar.go | 7 +- api/cardchain/cardchain/sell_offer.pulsar.go | 9 +- api/cardchain/cardchain/server.pulsar.go | 7 +- api/cardchain/cardchain/set.pulsar.go | 9 +- .../cardchain/set_with_artwork.pulsar.go | 7 +- api/cardchain/cardchain/tx.pulsar.go | 11 +- api/cardchain/cardchain/tx_grpc.pb.go | 1 + api/cardchain/cardchain/user.pulsar.go | 7 +- api/cardchain/cardchain/voting.pulsar.go | 1051 +--- .../cardchain/voting_results.pulsar.go | 1022 ++++ api/cardchain/cardchain/zealy.pulsar.go | 7 +- api/cardchain/featureflag/flag.pulsar.go | 7 +- api/cardchain/featureflag/genesis.pulsar.go | 11 +- .../featureflag/module/module.pulsar.go | 9 +- api/cardchain/featureflag/params.pulsar.go | 9 +- api/cardchain/featureflag/query.pulsar.go | 9 +- api/cardchain/featureflag/query_grpc.pb.go | 1 + api/cardchain/featureflag/tx.pulsar.go | 9 +- api/cardchain/featureflag/tx_grpc.pb.go | 1 + docs/static/openapi.yml | 2 +- gen_queries.sh | 6 +- proto/cardchain/cardchain/query.proto | 42 + proto/cardchain/cardchain/voting.proto | 11 - .../cardchain/cardchain/voting_results.proto | 16 + .../keeper/query_account_from_zealy.go | 23 + .../keeper/query_set_rarity_distribution.go | 23 + x/cardchain/keeper/query_voting_results.go | 23 + x/cardchain/module/autocli.go | 21 + x/cardchain/types/card.pb.go | 7 +- x/cardchain/types/card_with_image.pb.go | 5 +- x/cardchain/types/council.pb.go | 7 +- x/cardchain/types/encounter.pb.go | 5 +- x/cardchain/types/encounter_with_image.pb.go | 5 +- x/cardchain/types/genesis.pb.go | 7 +- x/cardchain/types/image.pb.go | 3 +- x/cardchain/types/match.pb.go | 3 +- x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/product_details.pb.go | 3 +- x/cardchain/types/query.pb.go | 1548 +++++- x/cardchain/types/query.pb.gw.go | 289 ++ x/cardchain/types/running_average.pb.go | 3 +- x/cardchain/types/sell_offer.pb.go | 7 +- x/cardchain/types/server.pb.go | 3 +- x/cardchain/types/set.pb.go | 5 +- x/cardchain/types/set_with_artwork.pb.go | 3 +- x/cardchain/types/tx.pb.go | 7 +- x/cardchain/types/user.pb.go | 3 +- x/cardchain/types/voting.pb.go | 464 +- x/cardchain/types/voting_results.pb.go | 563 ++ x/cardchain/types/zealy.pb.go | 3 +- x/featureflag/types/flag.pb.go | 3 +- x/featureflag/types/genesis.pb.go | 7 +- x/featureflag/types/params.pb.go | 7 +- x/featureflag/types/query.pb.go | 7 +- x/featureflag/types/tx.pb.go | 7 +- 68 files changed, 7674 insertions(+), 2414 deletions(-) create mode 100644 api/cardchain/cardchain/voting_results.pulsar.go create mode 100644 proto/cardchain/cardchain/voting_results.proto create mode 100644 x/cardchain/keeper/query_account_from_zealy.go create mode 100644 x/cardchain/keeper/query_set_rarity_distribution.go create mode 100644 x/cardchain/keeper/query_voting_results.go create mode 100644 x/cardchain/types/voting_results.pb.go diff --git a/api/cardchain/cardchain/card.pulsar.go b/api/cardchain/cardchain/card.pulsar.go index 32747a36..a986b06e 100644 --- a/api/cardchain/cardchain/card.pulsar.go +++ b/api/cardchain/cardchain/card.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Card_14_list)(nil) diff --git a/api/cardchain/cardchain/card_with_image.pulsar.go b/api/cardchain/cardchain/card_with_image.pulsar.go index c161546e..d8c51a08 100644 --- a/api/cardchain/cardchain/card_with_image.pulsar.go +++ b/api/cardchain/cardchain/card_with_image.pulsar.go @@ -3,14 +3,15 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/council.pulsar.go b/api/cardchain/cardchain/council.pulsar.go index ad8e4373..1afba505 100644 --- a/api/cardchain/cardchain/council.pulsar.go +++ b/api/cardchain/cardchain/council.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Council_2_list)(nil) diff --git a/api/cardchain/cardchain/encounter.pulsar.go b/api/cardchain/cardchain/encounter.pulsar.go index cd9398ab..83562fe5 100644 --- a/api/cardchain/cardchain/encounter.pulsar.go +++ b/api/cardchain/cardchain/encounter.pulsar.go @@ -3,15 +3,16 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var _ protoreflect.List = (*_Encounter_2_list)(nil) diff --git a/api/cardchain/cardchain/encounter_with_image.pulsar.go b/api/cardchain/cardchain/encounter_with_image.pulsar.go index 10ddcaa6..a4fdeddc 100644 --- a/api/cardchain/cardchain/encounter_with_image.pulsar.go +++ b/api/cardchain/cardchain/encounter_with_image.pulsar.go @@ -3,14 +3,15 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index c48c933d..4d3bf7a0 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_GenesisState_2_list)(nil) diff --git a/api/cardchain/cardchain/image.pulsar.go b/api/cardchain/cardchain/image.pulsar.go index 627dece1..db59a9e8 100644 --- a/api/cardchain/cardchain/image.pulsar.go +++ b/api/cardchain/cardchain/image.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go index 191ba7fd..b2e29884 100644 --- a/api/cardchain/cardchain/match.pulsar.go +++ b/api/cardchain/cardchain/match.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index 2b190f83..dead9881 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,15 +2,16 @@ package module import ( - _ "cosmossdk.io/api/cosmos/app/v1alpha1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/cosmos/app/v1alpha1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index 11ddc437..ed6b2b87 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,17 +2,18 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/product_details.pulsar.go b/api/cardchain/cardchain/product_details.pulsar.go index 4217d854..f50578bd 100644 --- a/api/cardchain/cardchain/product_details.pulsar.go +++ b/api/cardchain/cardchain/product_details.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 7085ae9c..de724cb2 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,19 +2,20 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" v1beta11 "cosmossdk.io/api/cosmos/base/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( @@ -15155,191 +15156,2958 @@ func (x *fastReflection_QueryCardchainInfoResponse) ProtoMethods() *protoiface.M } } -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: cardchain/cardchain/query.proto - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) +var _ protoreflect.List = (*_QuerySetRarityDistributionRequest_2_list)(nil) -// QueryParamsRequest is request type for the Query/Params RPC method. -type QueryParamsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type _QuerySetRarityDistributionRequest_2_list struct { + list *[]uint64 } -func (x *QueryParamsRequest) Reset() { - *x = QueryParamsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *_QuerySetRarityDistributionRequest_2_list) Len() int { + if x.list == nil { + return 0 } + return len(*x.list) } -func (x *QueryParamsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *_QuerySetRarityDistributionRequest_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) } -func (*QueryParamsRequest) ProtoMessage() {} +func (x *_QuerySetRarityDistributionRequest_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} -// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. -func (*QueryParamsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{0} +func (x *_QuerySetRarityDistributionRequest_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) } -// QueryParamsResponse is response type for the Query/Params RPC method. -type QueryParamsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *_QuerySetRarityDistributionRequest_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QuerySetRarityDistributionRequest at list field Wanted as it is not of Message kind")) +} - // params holds all the parameters of this module. - Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +func (x *_QuerySetRarityDistributionRequest_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] } -func (x *QueryParamsResponse) Reset() { - *x = QueryParamsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *_QuerySetRarityDistributionRequest_2_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) } -func (x *QueryParamsResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *_QuerySetRarityDistributionRequest_2_list) IsValid() bool { + return x.list != nil } -func (*QueryParamsResponse) ProtoMessage() {} +var ( + md_QuerySetRarityDistributionRequest protoreflect.MessageDescriptor + fd_QuerySetRarityDistributionRequest_setId protoreflect.FieldDescriptor + fd_QuerySetRarityDistributionRequest_wanted protoreflect.FieldDescriptor +) -// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. -func (*QueryParamsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{1} +func init() { + file_cardchain_cardchain_query_proto_init() + md_QuerySetRarityDistributionRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySetRarityDistributionRequest") + fd_QuerySetRarityDistributionRequest_setId = md_QuerySetRarityDistributionRequest.Fields().ByName("setId") + fd_QuerySetRarityDistributionRequest_wanted = md_QuerySetRarityDistributionRequest.Fields().ByName("wanted") } -func (x *QueryParamsResponse) GetParams() *Params { - if x != nil { - return x.Params - } - return nil -} +var _ protoreflect.Message = (*fastReflection_QuerySetRarityDistributionRequest)(nil) -type QueryGetProductDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type fastReflection_QuerySetRarityDistributionRequest QuerySetRarityDistributionRequest - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +func (x *QuerySetRarityDistributionRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QuerySetRarityDistributionRequest)(x) } -func (x *QueryGetProductDetailsRequest) Reset() { - *x = QueryGetProductDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[2] +func (x *QuerySetRarityDistributionRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } + return mi.MessageOf(x) } -func (x *QueryGetProductDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} +var _fastReflection_QuerySetRarityDistributionRequest_messageType fastReflection_QuerySetRarityDistributionRequest_messageType +var _ protoreflect.MessageType = fastReflection_QuerySetRarityDistributionRequest_messageType{} -func (*QueryGetProductDetailsRequest) ProtoMessage() {} +type fastReflection_QuerySetRarityDistributionRequest_messageType struct{} -// Deprecated: Use QueryGetProductDetailsRequest.ProtoReflect.Descriptor instead. -func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} +func (x fastReflection_QuerySetRarityDistributionRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QuerySetRarityDistributionRequest)(nil) } - -func (x *QueryGetProductDetailsRequest) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 +func (x fastReflection_QuerySetRarityDistributionRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QuerySetRarityDistributionRequest) } - -type QueryGetProductDetailsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProductDetails *ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` +func (x fastReflection_QuerySetRarityDistributionRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySetRarityDistributionRequest } -func (x *QueryGetProductDetailsResponse) Reset() { - *x = QueryGetProductDetailsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QuerySetRarityDistributionRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySetRarityDistributionRequest } -func (x *QueryGetProductDetailsResponse) String() string { - return protoimpl.X.MessageStringOf(x) +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QuerySetRarityDistributionRequest) Type() protoreflect.MessageType { + return _fastReflection_QuerySetRarityDistributionRequest_messageType } -func (*QueryGetProductDetailsResponse) ProtoMessage() {} +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QuerySetRarityDistributionRequest) New() protoreflect.Message { + return new(fastReflection_QuerySetRarityDistributionRequest) +} -// Deprecated: Use QueryGetProductDetailsResponse.ProtoReflect.Descriptor instead. -func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QuerySetRarityDistributionRequest) Interface() protoreflect.ProtoMessage { + return (*QuerySetRarityDistributionRequest)(x) } -func (x *QueryGetProductDetailsResponse) GetProductDetails() *ProductDetails { - if x != nil { - return x.ProductDetails +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QuerySetRarityDistributionRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.SetId != "" { + value := protoreflect.ValueOfString(x.SetId) + if !f(fd_QuerySetRarityDistributionRequest_setId, value) { + return + } + } + if len(x.Wanted) != 0 { + value := protoreflect.ValueOfList(&_QuerySetRarityDistributionRequest_2_list{list: &x.Wanted}) + if !f(fd_QuerySetRarityDistributionRequest_wanted, value) { + return + } } - return nil } -type QueryAllProductDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QuerySetRarityDistributionRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": + return x.SetId != "" + case "cardchain.cardchain.QuerySetRarityDistributionRequest.wanted": + return len(x.Wanted) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRarityDistributionRequest does not contain field %s", fd.FullName())) + } } -func (x *QueryAllProductDetailsRequest) Reset() { - *x = QueryAllProductDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetRarityDistributionRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": + x.SetId = "" + case "cardchain.cardchain.QuerySetRarityDistributionRequest.wanted": + x.Wanted = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRarityDistributionRequest does not contain field %s", fd.FullName())) } } -func (x *QueryAllProductDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QuerySetRarityDistributionRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": + value := x.SetId + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.QuerySetRarityDistributionRequest.wanted": + if len(x.Wanted) == 0 { + return protoreflect.ValueOfList(&_QuerySetRarityDistributionRequest_2_list{}) + } + listValue := &_QuerySetRarityDistributionRequest_2_list{list: &x.Wanted} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRarityDistributionRequest does not contain field %s", descriptor.FullName())) + } } -func (*QueryAllProductDetailsRequest) ProtoMessage() {} - -// Deprecated: Use QueryAllProductDetailsRequest.ProtoReflect.Descriptor instead. -func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetRarityDistributionRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": + x.SetId = value.Interface().(string) + case "cardchain.cardchain.QuerySetRarityDistributionRequest.wanted": + lv := value.List() + clv := lv.(*_QuerySetRarityDistributionRequest_2_list) + x.Wanted = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRarityDistributionRequest does not contain field %s", fd.FullName())) + } } -func (x *QueryAllProductDetailsRequest) GetPagination() *v1beta1.PageRequest { - if x != nil { - return x.Pagination +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetRarityDistributionRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRarityDistributionRequest.wanted": + if x.Wanted == nil { + x.Wanted = []uint64{} + } + value := &_QuerySetRarityDistributionRequest_2_list{list: &x.Wanted} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.QuerySetRarityDistributionRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRarityDistributionRequest does not contain field %s", fd.FullName())) } - return nil } -type QueryAllProductDetailsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QuerySetRarityDistributionRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.QuerySetRarityDistributionRequest.wanted": + list := []uint64{} + return protoreflect.ValueOfList(&_QuerySetRarityDistributionRequest_2_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRarityDistributionRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QuerySetRarityDistributionRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QuerySetRarityDistributionRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QuerySetRarityDistributionRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetRarityDistributionRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QuerySetRarityDistributionRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QuerySetRarityDistributionRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QuerySetRarityDistributionRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.SetId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Wanted) > 0 { + l = 0 + for _, e := range x.Wanted { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QuerySetRarityDistributionRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Wanted) > 0 { + var pksize2 int + for _, num := range x.Wanted { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.Wanted { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x12 + } + if len(x.SetId) > 0 { + i -= len(x.SetId) + copy(dAtA[i:], x.SetId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SetId))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QuerySetRarityDistributionRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySetRarityDistributionRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySetRarityDistributionRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.SetId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Wanted = append(x.Wanted, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.Wanted) == 0 { + x.Wanted = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Wanted = append(x.Wanted, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Wanted", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QuerySetRarityDistributionResponse_1_list)(nil) + +type _QuerySetRarityDistributionResponse_1_list struct { + list *[]uint64 +} + +func (x *_QuerySetRarityDistributionResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QuerySetRarityDistributionResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_QuerySetRarityDistributionResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QuerySetRarityDistributionResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QuerySetRarityDistributionResponse_1_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QuerySetRarityDistributionResponse at list field Current as it is not of Message kind")) +} + +func (x *_QuerySetRarityDistributionResponse_1_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QuerySetRarityDistributionResponse_1_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_QuerySetRarityDistributionResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QuerySetRarityDistributionResponse protoreflect.MessageDescriptor + fd_QuerySetRarityDistributionResponse_current protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QuerySetRarityDistributionResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySetRarityDistributionResponse") + fd_QuerySetRarityDistributionResponse_current = md_QuerySetRarityDistributionResponse.Fields().ByName("current") +} + +var _ protoreflect.Message = (*fastReflection_QuerySetRarityDistributionResponse)(nil) + +type fastReflection_QuerySetRarityDistributionResponse QuerySetRarityDistributionResponse + +func (x *QuerySetRarityDistributionResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QuerySetRarityDistributionResponse)(x) +} + +func (x *QuerySetRarityDistributionResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QuerySetRarityDistributionResponse_messageType fastReflection_QuerySetRarityDistributionResponse_messageType +var _ protoreflect.MessageType = fastReflection_QuerySetRarityDistributionResponse_messageType{} + +type fastReflection_QuerySetRarityDistributionResponse_messageType struct{} + +func (x fastReflection_QuerySetRarityDistributionResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QuerySetRarityDistributionResponse)(nil) +} +func (x fastReflection_QuerySetRarityDistributionResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QuerySetRarityDistributionResponse) +} +func (x fastReflection_QuerySetRarityDistributionResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySetRarityDistributionResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QuerySetRarityDistributionResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySetRarityDistributionResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QuerySetRarityDistributionResponse) Type() protoreflect.MessageType { + return _fastReflection_QuerySetRarityDistributionResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QuerySetRarityDistributionResponse) New() protoreflect.Message { + return new(fastReflection_QuerySetRarityDistributionResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QuerySetRarityDistributionResponse) Interface() protoreflect.ProtoMessage { + return (*QuerySetRarityDistributionResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QuerySetRarityDistributionResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Current) != 0 { + value := protoreflect.ValueOfList(&_QuerySetRarityDistributionResponse_1_list{list: &x.Current}) + if !f(fd_QuerySetRarityDistributionResponse_current, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QuerySetRarityDistributionResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRarityDistributionResponse.current": + return len(x.Current) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRarityDistributionResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetRarityDistributionResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRarityDistributionResponse.current": + x.Current = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRarityDistributionResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QuerySetRarityDistributionResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QuerySetRarityDistributionResponse.current": + if len(x.Current) == 0 { + return protoreflect.ValueOfList(&_QuerySetRarityDistributionResponse_1_list{}) + } + listValue := &_QuerySetRarityDistributionResponse_1_list{list: &x.Current} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRarityDistributionResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetRarityDistributionResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRarityDistributionResponse.current": + lv := value.List() + clv := lv.(*_QuerySetRarityDistributionResponse_1_list) + x.Current = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRarityDistributionResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetRarityDistributionResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRarityDistributionResponse.current": + if x.Current == nil { + x.Current = []uint64{} + } + value := &_QuerySetRarityDistributionResponse_1_list{list: &x.Current} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRarityDistributionResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QuerySetRarityDistributionResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetRarityDistributionResponse.current": + list := []uint64{} + return protoreflect.ValueOfList(&_QuerySetRarityDistributionResponse_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetRarityDistributionResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QuerySetRarityDistributionResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QuerySetRarityDistributionResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QuerySetRarityDistributionResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetRarityDistributionResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QuerySetRarityDistributionResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QuerySetRarityDistributionResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QuerySetRarityDistributionResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Current) > 0 { + l = 0 + for _, e := range x.Current { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QuerySetRarityDistributionResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Current) > 0 { + var pksize2 int + for _, num := range x.Current { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.Current { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QuerySetRarityDistributionResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySetRarityDistributionResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySetRarityDistributionResponse: 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Current = append(x.Current, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.Current) == 0 { + x.Current = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Current = append(x.Current, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryAccountFromZealyRequest protoreflect.MessageDescriptor + fd_QueryAccountFromZealyRequest_zealyId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryAccountFromZealyRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryAccountFromZealyRequest") + fd_QueryAccountFromZealyRequest_zealyId = md_QueryAccountFromZealyRequest.Fields().ByName("zealyId") +} + +var _ protoreflect.Message = (*fastReflection_QueryAccountFromZealyRequest)(nil) + +type fastReflection_QueryAccountFromZealyRequest QueryAccountFromZealyRequest + +func (x *QueryAccountFromZealyRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryAccountFromZealyRequest)(x) +} + +func (x *QueryAccountFromZealyRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryAccountFromZealyRequest_messageType fastReflection_QueryAccountFromZealyRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryAccountFromZealyRequest_messageType{} + +type fastReflection_QueryAccountFromZealyRequest_messageType struct{} + +func (x fastReflection_QueryAccountFromZealyRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryAccountFromZealyRequest)(nil) +} +func (x fastReflection_QueryAccountFromZealyRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryAccountFromZealyRequest) +} +func (x fastReflection_QueryAccountFromZealyRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryAccountFromZealyRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryAccountFromZealyRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryAccountFromZealyRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryAccountFromZealyRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryAccountFromZealyRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryAccountFromZealyRequest) New() protoreflect.Message { + return new(fastReflection_QueryAccountFromZealyRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryAccountFromZealyRequest) Interface() protoreflect.ProtoMessage { + return (*QueryAccountFromZealyRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryAccountFromZealyRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ZealyId != "" { + value := protoreflect.ValueOfString(x.ZealyId) + if !f(fd_QueryAccountFromZealyRequest_zealyId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryAccountFromZealyRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryAccountFromZealyRequest.zealyId": + return x.ZealyId != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAccountFromZealyRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAccountFromZealyRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAccountFromZealyRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryAccountFromZealyRequest.zealyId": + x.ZealyId = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAccountFromZealyRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAccountFromZealyRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryAccountFromZealyRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryAccountFromZealyRequest.zealyId": + value := x.ZealyId + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAccountFromZealyRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAccountFromZealyRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAccountFromZealyRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryAccountFromZealyRequest.zealyId": + x.ZealyId = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAccountFromZealyRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAccountFromZealyRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAccountFromZealyRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryAccountFromZealyRequest.zealyId": + panic(fmt.Errorf("field zealyId of message cardchain.cardchain.QueryAccountFromZealyRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAccountFromZealyRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAccountFromZealyRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryAccountFromZealyRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryAccountFromZealyRequest.zealyId": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAccountFromZealyRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAccountFromZealyRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryAccountFromZealyRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryAccountFromZealyRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryAccountFromZealyRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAccountFromZealyRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryAccountFromZealyRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryAccountFromZealyRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryAccountFromZealyRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.ZealyId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryAccountFromZealyRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.ZealyId) > 0 { + i -= len(x.ZealyId) + copy(dAtA[i:], x.ZealyId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ZealyId))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryAccountFromZealyRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAccountFromZealyRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAccountFromZealyRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ZealyId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ZealyId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryAccountFromZealyResponse protoreflect.MessageDescriptor + fd_QueryAccountFromZealyResponse_address protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryAccountFromZealyResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryAccountFromZealyResponse") + fd_QueryAccountFromZealyResponse_address = md_QueryAccountFromZealyResponse.Fields().ByName("address") +} + +var _ protoreflect.Message = (*fastReflection_QueryAccountFromZealyResponse)(nil) + +type fastReflection_QueryAccountFromZealyResponse QueryAccountFromZealyResponse + +func (x *QueryAccountFromZealyResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryAccountFromZealyResponse)(x) +} + +func (x *QueryAccountFromZealyResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryAccountFromZealyResponse_messageType fastReflection_QueryAccountFromZealyResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryAccountFromZealyResponse_messageType{} + +type fastReflection_QueryAccountFromZealyResponse_messageType struct{} + +func (x fastReflection_QueryAccountFromZealyResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryAccountFromZealyResponse)(nil) +} +func (x fastReflection_QueryAccountFromZealyResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryAccountFromZealyResponse) +} +func (x fastReflection_QueryAccountFromZealyResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryAccountFromZealyResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryAccountFromZealyResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryAccountFromZealyResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryAccountFromZealyResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryAccountFromZealyResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryAccountFromZealyResponse) New() protoreflect.Message { + return new(fastReflection_QueryAccountFromZealyResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryAccountFromZealyResponse) Interface() protoreflect.ProtoMessage { + return (*QueryAccountFromZealyResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryAccountFromZealyResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Address != "" { + value := protoreflect.ValueOfString(x.Address) + if !f(fd_QueryAccountFromZealyResponse_address, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryAccountFromZealyResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryAccountFromZealyResponse.address": + return x.Address != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAccountFromZealyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAccountFromZealyResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAccountFromZealyResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryAccountFromZealyResponse.address": + x.Address = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAccountFromZealyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAccountFromZealyResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryAccountFromZealyResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryAccountFromZealyResponse.address": + value := x.Address + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAccountFromZealyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAccountFromZealyResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAccountFromZealyResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryAccountFromZealyResponse.address": + x.Address = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAccountFromZealyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAccountFromZealyResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAccountFromZealyResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryAccountFromZealyResponse.address": + panic(fmt.Errorf("field address of message cardchain.cardchain.QueryAccountFromZealyResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAccountFromZealyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAccountFromZealyResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryAccountFromZealyResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryAccountFromZealyResponse.address": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAccountFromZealyResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryAccountFromZealyResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryAccountFromZealyResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryAccountFromZealyResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryAccountFromZealyResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAccountFromZealyResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryAccountFromZealyResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryAccountFromZealyResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryAccountFromZealyResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Address) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryAccountFromZealyResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Address) > 0 { + i -= len(x.Address) + copy(dAtA[i:], x.Address) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryAccountFromZealyResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAccountFromZealyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAccountFromZealyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryVotingResultsRequest protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryVotingResultsRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryVotingResultsRequest") +} + +var _ protoreflect.Message = (*fastReflection_QueryVotingResultsRequest)(nil) + +type fastReflection_QueryVotingResultsRequest QueryVotingResultsRequest + +func (x *QueryVotingResultsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryVotingResultsRequest)(x) +} + +func (x *QueryVotingResultsRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryVotingResultsRequest_messageType fastReflection_QueryVotingResultsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryVotingResultsRequest_messageType{} + +type fastReflection_QueryVotingResultsRequest_messageType struct{} + +func (x fastReflection_QueryVotingResultsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryVotingResultsRequest)(nil) +} +func (x fastReflection_QueryVotingResultsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryVotingResultsRequest) +} +func (x fastReflection_QueryVotingResultsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryVotingResultsRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryVotingResultsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryVotingResultsRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryVotingResultsRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryVotingResultsRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryVotingResultsRequest) New() protoreflect.Message { + return new(fastReflection_QueryVotingResultsRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryVotingResultsRequest) Interface() protoreflect.ProtoMessage { + return (*QueryVotingResultsRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryVotingResultsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryVotingResultsRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryVotingResultsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryVotingResultsRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryVotingResultsRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryVotingResultsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryVotingResultsRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryVotingResultsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryVotingResultsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryVotingResultsRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryVotingResultsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryVotingResultsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryVotingResultsRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryVotingResultsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryVotingResultsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryVotingResultsRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryVotingResultsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryVotingResultsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryVotingResultsRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryVotingResultsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryVotingResultsRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryVotingResultsRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryVotingResultsRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryVotingResultsRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryVotingResultsRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryVotingResultsRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryVotingResultsRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryVotingResultsRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryVotingResultsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryVotingResultsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryVotingResultsResponse protoreflect.MessageDescriptor + fd_QueryVotingResultsResponse_lastVotingResults protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryVotingResultsResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryVotingResultsResponse") + fd_QueryVotingResultsResponse_lastVotingResults = md_QueryVotingResultsResponse.Fields().ByName("lastVotingResults") +} + +var _ protoreflect.Message = (*fastReflection_QueryVotingResultsResponse)(nil) + +type fastReflection_QueryVotingResultsResponse QueryVotingResultsResponse + +func (x *QueryVotingResultsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryVotingResultsResponse)(x) +} + +func (x *QueryVotingResultsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryVotingResultsResponse_messageType fastReflection_QueryVotingResultsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryVotingResultsResponse_messageType{} + +type fastReflection_QueryVotingResultsResponse_messageType struct{} + +func (x fastReflection_QueryVotingResultsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryVotingResultsResponse)(nil) +} +func (x fastReflection_QueryVotingResultsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryVotingResultsResponse) +} +func (x fastReflection_QueryVotingResultsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryVotingResultsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryVotingResultsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryVotingResultsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryVotingResultsResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryVotingResultsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryVotingResultsResponse) New() protoreflect.Message { + return new(fastReflection_QueryVotingResultsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryVotingResultsResponse) Interface() protoreflect.ProtoMessage { + return (*QueryVotingResultsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryVotingResultsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.LastVotingResults != nil { + value := protoreflect.ValueOfMessage(x.LastVotingResults.ProtoReflect()) + if !f(fd_QueryVotingResultsResponse_lastVotingResults, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryVotingResultsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults": + return x.LastVotingResults != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryVotingResultsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryVotingResultsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryVotingResultsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults": + x.LastVotingResults = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryVotingResultsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryVotingResultsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryVotingResultsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults": + value := x.LastVotingResults + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryVotingResultsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryVotingResultsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryVotingResultsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults": + x.LastVotingResults = value.Message().Interface().(*VotingResults) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryVotingResultsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryVotingResultsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryVotingResultsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults": + if x.LastVotingResults == nil { + x.LastVotingResults = new(VotingResults) + } + return protoreflect.ValueOfMessage(x.LastVotingResults.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryVotingResultsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryVotingResultsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryVotingResultsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults": + m := new(VotingResults) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryVotingResultsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryVotingResultsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryVotingResultsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryVotingResultsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryVotingResultsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryVotingResultsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryVotingResultsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryVotingResultsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryVotingResultsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.LastVotingResults != nil { + l = options.Size(x.LastVotingResults) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryVotingResultsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.LastVotingResults != nil { + encoded, err := options.Marshal(x.LastVotingResults) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryVotingResultsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryVotingResultsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryVotingResultsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field LastVotingResults", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.LastVotingResults == nil { + x.LastVotingResults = &VotingResults{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.LastVotingResults); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/query.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// QueryParamsRequest is request type for the Query/Params RPC method. +type QueryParamsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryParamsRequest) Reset() { + *x = QueryParamsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsRequest) ProtoMessage() {} + +// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. +func (*QueryParamsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{0} +} + +// QueryParamsResponse is response type for the Query/Params RPC method. +type QueryParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // params holds all the parameters of this module. + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *QueryParamsResponse) Reset() { + *x = QueryParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsResponse) ProtoMessage() {} + +// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. +func (*QueryParamsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{1} +} + +func (x *QueryParamsResponse) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +type QueryGetProductDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *QueryGetProductDetailsRequest) Reset() { + *x = QueryGetProductDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetProductDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetProductDetailsRequest) ProtoMessage() {} + +// Deprecated: Use QueryGetProductDetailsRequest.ProtoReflect.Descriptor instead. +func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} +} + +func (x *QueryGetProductDetailsRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type QueryGetProductDetailsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProductDetails *ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` +} + +func (x *QueryGetProductDetailsResponse) Reset() { + *x = QueryGetProductDetailsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryGetProductDetailsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryGetProductDetailsResponse) ProtoMessage() {} + +// Deprecated: Use QueryGetProductDetailsResponse.ProtoReflect.Descriptor instead. +func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} +} + +func (x *QueryGetProductDetailsResponse) GetProductDetails() *ProductDetails { + if x != nil { + return x.ProductDetails + } + return nil +} + +type QueryAllProductDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryAllProductDetailsRequest) Reset() { + *x = QueryAllProductDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryAllProductDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryAllProductDetailsRequest) ProtoMessage() {} + +// Deprecated: Use QueryAllProductDetailsRequest.ProtoReflect.Descriptor instead. +func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} +} + +func (x *QueryAllProductDetailsRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { + return x.Pagination + } + return nil +} + +type QueryAllProductDetailsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProductDetails []*ProductDetails `protobuf:"bytes,1,rep,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` @@ -16185,208 +18953,417 @@ func (*QueryEncounterWithImageRequest) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{26} } -type QueryEncounterWithImageResponse struct { +type QueryEncounterWithImageResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Encounter *EncounterWithImage `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` +} + +func (x *QueryEncounterWithImageResponse) Reset() { + *x = QueryEncounterWithImageResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEncounterWithImageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEncounterWithImageResponse) ProtoMessage() {} + +// Deprecated: Use QueryEncounterWithImageResponse.ProtoReflect.Descriptor instead. +func (*QueryEncounterWithImageResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{27} +} + +func (x *QueryEncounterWithImageResponse) GetEncounter() *EncounterWithImage { + if x != nil { + return x.Encounter + } + return nil +} + +type QueryEncountersWithImageRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryEncountersWithImageRequest) Reset() { + *x = QueryEncountersWithImageRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEncountersWithImageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEncountersWithImageRequest) ProtoMessage() {} + +// Deprecated: Use QueryEncountersWithImageRequest.ProtoReflect.Descriptor instead. +func (*QueryEncountersWithImageRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{28} +} + +type QueryEncountersWithImageResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Encounters []*EncounterWithImage `protobuf:"bytes,1,rep,name=encounters,proto3" json:"encounters,omitempty"` +} + +func (x *QueryEncountersWithImageResponse) Reset() { + *x = QueryEncountersWithImageResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEncountersWithImageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEncountersWithImageResponse) ProtoMessage() {} + +// Deprecated: Use QueryEncountersWithImageResponse.ProtoReflect.Descriptor instead. +func (*QueryEncountersWithImageResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{29} +} + +func (x *QueryEncountersWithImageResponse) GetEncounters() []*EncounterWithImage { + if x != nil { + return x.Encounters + } + return nil +} + +type QueryCardchainInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ActiveSets []uint64 `protobuf:"varint,1,rep,packed,name=activeSets,proto3" json:"activeSets,omitempty"` + CardsNumber uint64 `protobuf:"varint,2,opt,name=cardsNumber,proto3" json:"cardsNumber,omitempty"` + MatchesNumber uint64 `protobuf:"varint,3,opt,name=matchesNumber,proto3" json:"matchesNumber,omitempty"` + SellOffersNumber uint64 `protobuf:"varint,4,opt,name=sellOffersNumber,proto3" json:"sellOffersNumber,omitempty"` + CouncilsNumber uint64 `protobuf:"varint,5,opt,name=councilsNumber,proto3" json:"councilsNumber,omitempty"` + LastCardModified uint64 `protobuf:"varint,6,opt,name=lastCardModified,proto3" json:"lastCardModified,omitempty"` +} + +func (x *QueryCardchainInfoRequest) Reset() { + *x = QueryCardchainInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardchainInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardchainInfoRequest) ProtoMessage() {} + +// Deprecated: Use QueryCardchainInfoRequest.ProtoReflect.Descriptor instead. +func (*QueryCardchainInfoRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{30} +} + +func (x *QueryCardchainInfoRequest) GetActiveSets() []uint64 { + if x != nil { + return x.ActiveSets + } + return nil +} + +func (x *QueryCardchainInfoRequest) GetCardsNumber() uint64 { + if x != nil { + return x.CardsNumber + } + return 0 +} + +func (x *QueryCardchainInfoRequest) GetMatchesNumber() uint64 { + if x != nil { + return x.MatchesNumber + } + return 0 +} + +func (x *QueryCardchainInfoRequest) GetSellOffersNumber() uint64 { + if x != nil { + return x.SellOffersNumber + } + return 0 +} + +func (x *QueryCardchainInfoRequest) GetCouncilsNumber() uint64 { + if x != nil { + return x.CouncilsNumber + } + return 0 +} + +func (x *QueryCardchainInfoRequest) GetLastCardModified() uint64 { + if x != nil { + return x.LastCardModified + } + return 0 +} + +type QueryCardchainInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardAuctionPrice *v1beta11.Coin `protobuf:"bytes,1,opt,name=cardAuctionPrice,proto3" json:"cardAuctionPrice,omitempty"` +} + +func (x *QueryCardchainInfoResponse) Reset() { + *x = QueryCardchainInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardchainInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardchainInfoResponse) ProtoMessage() {} + +// Deprecated: Use QueryCardchainInfoResponse.ProtoReflect.Descriptor instead. +func (*QueryCardchainInfoResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{31} +} + +func (x *QueryCardchainInfoResponse) GetCardAuctionPrice() *v1beta11.Coin { + if x != nil { + return x.CardAuctionPrice + } + return nil +} + +type QuerySetRarityDistributionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Encounter *EncounterWithImage `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` + SetId string `protobuf:"bytes,1,opt,name=setId,proto3" json:"setId,omitempty"` + Wanted []uint64 `protobuf:"varint,2,rep,packed,name=wanted,proto3" json:"wanted,omitempty"` } -func (x *QueryEncounterWithImageResponse) Reset() { - *x = QueryEncounterWithImageResponse{} +func (x *QuerySetRarityDistributionRequest) Reset() { + *x = QuerySetRarityDistributionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[27] + mi := &file_cardchain_cardchain_query_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryEncounterWithImageResponse) String() string { +func (x *QuerySetRarityDistributionRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryEncounterWithImageResponse) ProtoMessage() {} +func (*QuerySetRarityDistributionRequest) ProtoMessage() {} -// Deprecated: Use QueryEncounterWithImageResponse.ProtoReflect.Descriptor instead. -func (*QueryEncounterWithImageResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{27} +// Deprecated: Use QuerySetRarityDistributionRequest.ProtoReflect.Descriptor instead. +func (*QuerySetRarityDistributionRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{32} } -func (x *QueryEncounterWithImageResponse) GetEncounter() *EncounterWithImage { +func (x *QuerySetRarityDistributionRequest) GetSetId() string { if x != nil { - return x.Encounter + return x.SetId + } + return "" +} + +func (x *QuerySetRarityDistributionRequest) GetWanted() []uint64 { + if x != nil { + return x.Wanted } return nil } -type QueryEncountersWithImageRequest struct { +type QuerySetRarityDistributionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Current []uint64 `protobuf:"varint,1,rep,packed,name=current,proto3" json:"current,omitempty"` } -func (x *QueryEncountersWithImageRequest) Reset() { - *x = QueryEncountersWithImageRequest{} +func (x *QuerySetRarityDistributionResponse) Reset() { + *x = QuerySetRarityDistributionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[28] + mi := &file_cardchain_cardchain_query_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryEncountersWithImageRequest) String() string { +func (x *QuerySetRarityDistributionResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryEncountersWithImageRequest) ProtoMessage() {} +func (*QuerySetRarityDistributionResponse) ProtoMessage() {} -// Deprecated: Use QueryEncountersWithImageRequest.ProtoReflect.Descriptor instead. -func (*QueryEncountersWithImageRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{28} +// Deprecated: Use QuerySetRarityDistributionResponse.ProtoReflect.Descriptor instead. +func (*QuerySetRarityDistributionResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{33} } -type QueryEncountersWithImageResponse struct { +func (x *QuerySetRarityDistributionResponse) GetCurrent() []uint64 { + if x != nil { + return x.Current + } + return nil +} + +type QueryAccountFromZealyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Encounters []*EncounterWithImage `protobuf:"bytes,1,rep,name=encounters,proto3" json:"encounters,omitempty"` + ZealyId string `protobuf:"bytes,1,opt,name=zealyId,proto3" json:"zealyId,omitempty"` } -func (x *QueryEncountersWithImageResponse) Reset() { - *x = QueryEncountersWithImageResponse{} +func (x *QueryAccountFromZealyRequest) Reset() { + *x = QueryAccountFromZealyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[29] + mi := &file_cardchain_cardchain_query_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryEncountersWithImageResponse) String() string { +func (x *QueryAccountFromZealyRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryEncountersWithImageResponse) ProtoMessage() {} +func (*QueryAccountFromZealyRequest) ProtoMessage() {} -// Deprecated: Use QueryEncountersWithImageResponse.ProtoReflect.Descriptor instead. -func (*QueryEncountersWithImageResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{29} +// Deprecated: Use QueryAccountFromZealyRequest.ProtoReflect.Descriptor instead. +func (*QueryAccountFromZealyRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{34} } -func (x *QueryEncountersWithImageResponse) GetEncounters() []*EncounterWithImage { +func (x *QueryAccountFromZealyRequest) GetZealyId() string { if x != nil { - return x.Encounters + return x.ZealyId } - return nil + return "" } -type QueryCardchainInfoRequest struct { +type QueryAccountFromZealyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ActiveSets []uint64 `protobuf:"varint,1,rep,packed,name=activeSets,proto3" json:"activeSets,omitempty"` - CardsNumber uint64 `protobuf:"varint,2,opt,name=cardsNumber,proto3" json:"cardsNumber,omitempty"` - MatchesNumber uint64 `protobuf:"varint,3,opt,name=matchesNumber,proto3" json:"matchesNumber,omitempty"` - SellOffersNumber uint64 `protobuf:"varint,4,opt,name=sellOffersNumber,proto3" json:"sellOffersNumber,omitempty"` - CouncilsNumber uint64 `protobuf:"varint,5,opt,name=councilsNumber,proto3" json:"councilsNumber,omitempty"` - LastCardModified uint64 `protobuf:"varint,6,opt,name=lastCardModified,proto3" json:"lastCardModified,omitempty"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` } -func (x *QueryCardchainInfoRequest) Reset() { - *x = QueryCardchainInfoRequest{} +func (x *QueryAccountFromZealyResponse) Reset() { + *x = QueryAccountFromZealyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[30] + mi := &file_cardchain_cardchain_query_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryCardchainInfoRequest) String() string { +func (x *QueryAccountFromZealyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryCardchainInfoRequest) ProtoMessage() {} +func (*QueryAccountFromZealyResponse) ProtoMessage() {} -// Deprecated: Use QueryCardchainInfoRequest.ProtoReflect.Descriptor instead. -func (*QueryCardchainInfoRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{30} +// Deprecated: Use QueryAccountFromZealyResponse.ProtoReflect.Descriptor instead. +func (*QueryAccountFromZealyResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{35} } -func (x *QueryCardchainInfoRequest) GetActiveSets() []uint64 { +func (x *QueryAccountFromZealyResponse) GetAddress() string { if x != nil { - return x.ActiveSets + return x.Address } - return nil + return "" } -func (x *QueryCardchainInfoRequest) GetCardsNumber() uint64 { - if x != nil { - return x.CardsNumber - } - return 0 +type QueryVotingResultsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (x *QueryCardchainInfoRequest) GetMatchesNumber() uint64 { - if x != nil { - return x.MatchesNumber +func (x *QueryVotingResultsRequest) Reset() { + *x = QueryVotingResultsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *QueryCardchainInfoRequest) GetSellOffersNumber() uint64 { - if x != nil { - return x.SellOffersNumber - } - return 0 +func (x *QueryVotingResultsRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *QueryCardchainInfoRequest) GetCouncilsNumber() uint64 { - if x != nil { - return x.CouncilsNumber - } - return 0 -} +func (*QueryVotingResultsRequest) ProtoMessage() {} -func (x *QueryCardchainInfoRequest) GetLastCardModified() uint64 { - if x != nil { - return x.LastCardModified - } - return 0 +// Deprecated: Use QueryVotingResultsRequest.ProtoReflect.Descriptor instead. +func (*QueryVotingResultsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{36} } -type QueryCardchainInfoResponse struct { +type QueryVotingResultsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CardAuctionPrice *v1beta11.Coin `protobuf:"bytes,1,opt,name=cardAuctionPrice,proto3" json:"cardAuctionPrice,omitempty"` + LastVotingResults *VotingResults `protobuf:"bytes,1,opt,name=lastVotingResults,proto3" json:"lastVotingResults,omitempty"` } -func (x *QueryCardchainInfoResponse) Reset() { - *x = QueryCardchainInfoResponse{} +func (x *QueryVotingResultsResponse) Reset() { + *x = QueryVotingResultsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[31] + mi := &file_cardchain_cardchain_query_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryCardchainInfoResponse) String() string { +func (x *QueryVotingResultsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryCardchainInfoResponse) ProtoMessage() {} +func (*QueryVotingResultsResponse) ProtoMessage() {} -// Deprecated: Use QueryCardchainInfoResponse.ProtoReflect.Descriptor instead. -func (*QueryCardchainInfoResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{31} +// Deprecated: Use QueryVotingResultsResponse.ProtoReflect.Descriptor instead. +func (*QueryVotingResultsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{37} } -func (x *QueryCardchainInfoResponse) GetCardAuctionPrice() *v1beta11.Coin { +func (x *QueryVotingResultsResponse) GetLastVotingResults() *VotingResults { if x != nil { - return x.CardAuctionPrice + return x.LastVotingResults } return nil } @@ -16434,383 +19411,448 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, - 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, - 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, - 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, - 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, + 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, + 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, - 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, - 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, - 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, - 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, - 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, - 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, - 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, - 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, - 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, - 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, - 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, - 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, - 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, - 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, - 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, - 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, - 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, + 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, + 0x4b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, + 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, + 0x04, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, - 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, - 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, + 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, + 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, + 0x12, 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, + 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, + 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, + 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, + 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, + 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, + 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, + 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x09, - 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x4e, - 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x22, 0x30, - 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x4a, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x15, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, - 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, 0x17, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, + 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, + 0x79, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, + 0x22, 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, + 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, + 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x22, 0x30, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x13, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, + 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, + 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x20, + 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x68, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x68, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x22, 0x21, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x22, 0x83, 0x02, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x20, - 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, - 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x69, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, - 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x32, 0x80, 0x16, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, + 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6b, 0x0a, + 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, + 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x83, 0x02, 0x0a, 0x19, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, + 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, + 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, + 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, + 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, + 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x22, 0x69, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, + 0x0a, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x51, 0x0a, 0x21, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x3e, + 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x38, + 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, + 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x6e, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, + 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x11, 0x6c, + 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x32, 0xdf, 0x1a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, + 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, - 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, + 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, + 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, + 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, + 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, + 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, - 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, + 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, + 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, + 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, + 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, - 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, - 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, - 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, + 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, - 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, + 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, + 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, - 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, - 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x94, 0x02, 0x0a, + 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xa1, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9a, 0x01, 0x12, 0x97, 0x01, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x2f, 0x7b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x7d, 0x2f, 0x7b, + 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x73, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, + 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, + 0x2f, 0x7b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x7d, 0x12, 0xe1, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x12, 0x4f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, - 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x94, 0x02, - 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xa1, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9a, 0x01, 0x12, 0x97, 0x01, 0x2f, 0x44, 0x65, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, + 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x2f, 0x7b, + 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x7d, 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, - 0x66, 0x6f, 0x2f, 0x7b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x7d, 0x2f, - 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x73, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, - 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x7d, 0x2f, 0x7b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, - 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, + 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, + 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, + 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, + 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -16825,118 +19867,132 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 32) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 38) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ - (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest - (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse - (*QueryGetProductDetailsRequest)(nil), // 2: cardchain.cardchain.QueryGetProductDetailsRequest - (*QueryGetProductDetailsResponse)(nil), // 3: cardchain.cardchain.QueryGetProductDetailsResponse - (*QueryAllProductDetailsRequest)(nil), // 4: cardchain.cardchain.QueryAllProductDetailsRequest - (*QueryAllProductDetailsResponse)(nil), // 5: cardchain.cardchain.QueryAllProductDetailsResponse - (*QueryCardRequest)(nil), // 6: cardchain.cardchain.QueryCardRequest - (*QueryCardResponse)(nil), // 7: cardchain.cardchain.QueryCardResponse - (*QueryUserRequest)(nil), // 8: cardchain.cardchain.QueryUserRequest - (*QueryUserResponse)(nil), // 9: cardchain.cardchain.QueryUserResponse - (*QueryCardsRequest)(nil), // 10: cardchain.cardchain.QueryCardsRequest - (*QueryCardsResponse)(nil), // 11: cardchain.cardchain.QueryCardsResponse - (*QueryMatchRequest)(nil), // 12: cardchain.cardchain.QueryMatchRequest - (*QueryMatchResponse)(nil), // 13: cardchain.cardchain.QueryMatchResponse - (*QuerySetRequest)(nil), // 14: cardchain.cardchain.QuerySetRequest - (*QuerySetResponse)(nil), // 15: cardchain.cardchain.QuerySetResponse - (*QuerySellOfferRequest)(nil), // 16: cardchain.cardchain.QuerySellOfferRequest - (*QuerySellOfferResponse)(nil), // 17: cardchain.cardchain.QuerySellOfferResponse - (*QueryCouncilRequest)(nil), // 18: cardchain.cardchain.QueryCouncilRequest - (*QueryCouncilResponse)(nil), // 19: cardchain.cardchain.QueryCouncilResponse - (*QueryServerRequest)(nil), // 20: cardchain.cardchain.QueryServerRequest - (*QueryServerResponse)(nil), // 21: cardchain.cardchain.QueryServerResponse - (*QueryEncounterRequest)(nil), // 22: cardchain.cardchain.QueryEncounterRequest - (*QueryEncounterResponse)(nil), // 23: cardchain.cardchain.QueryEncounterResponse - (*QueryEncountersRequest)(nil), // 24: cardchain.cardchain.QueryEncountersRequest - (*QueryEncountersResponse)(nil), // 25: cardchain.cardchain.QueryEncountersResponse - (*QueryEncounterWithImageRequest)(nil), // 26: cardchain.cardchain.QueryEncounterWithImageRequest - (*QueryEncounterWithImageResponse)(nil), // 27: cardchain.cardchain.QueryEncounterWithImageResponse - (*QueryEncountersWithImageRequest)(nil), // 28: cardchain.cardchain.QueryEncountersWithImageRequest - (*QueryEncountersWithImageResponse)(nil), // 29: cardchain.cardchain.QueryEncountersWithImageResponse - (*QueryCardchainInfoRequest)(nil), // 30: cardchain.cardchain.QueryCardchainInfoRequest - (*QueryCardchainInfoResponse)(nil), // 31: cardchain.cardchain.QueryCardchainInfoResponse - (*Params)(nil), // 32: cardchain.cardchain.Params - (*ProductDetails)(nil), // 33: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 34: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 35: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 36: cardchain.cardchain.CardWithImage - (*User)(nil), // 37: cardchain.cardchain.User - (CardStatus)(0), // 38: cardchain.cardchain.CardStatus - (CardType)(0), // 39: cardchain.cardchain.CardType - (CardClass)(0), // 40: cardchain.cardchain.CardClass - (CardRarity)(0), // 41: cardchain.cardchain.CardRarity - (*Match)(nil), // 42: cardchain.cardchain.Match - (*SetWithArtwork)(nil), // 43: cardchain.cardchain.SetWithArtwork - (*SellOffer)(nil), // 44: cardchain.cardchain.SellOffer - (*Council)(nil), // 45: cardchain.cardchain.Council - (*Server)(nil), // 46: cardchain.cardchain.Server - (*Encounter)(nil), // 47: cardchain.cardchain.Encounter - (*EncounterWithImage)(nil), // 48: cardchain.cardchain.EncounterWithImage - (*v1beta11.Coin)(nil), // 49: cosmos.base.v1beta1.Coin + (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest + (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse + (*QueryGetProductDetailsRequest)(nil), // 2: cardchain.cardchain.QueryGetProductDetailsRequest + (*QueryGetProductDetailsResponse)(nil), // 3: cardchain.cardchain.QueryGetProductDetailsResponse + (*QueryAllProductDetailsRequest)(nil), // 4: cardchain.cardchain.QueryAllProductDetailsRequest + (*QueryAllProductDetailsResponse)(nil), // 5: cardchain.cardchain.QueryAllProductDetailsResponse + (*QueryCardRequest)(nil), // 6: cardchain.cardchain.QueryCardRequest + (*QueryCardResponse)(nil), // 7: cardchain.cardchain.QueryCardResponse + (*QueryUserRequest)(nil), // 8: cardchain.cardchain.QueryUserRequest + (*QueryUserResponse)(nil), // 9: cardchain.cardchain.QueryUserResponse + (*QueryCardsRequest)(nil), // 10: cardchain.cardchain.QueryCardsRequest + (*QueryCardsResponse)(nil), // 11: cardchain.cardchain.QueryCardsResponse + (*QueryMatchRequest)(nil), // 12: cardchain.cardchain.QueryMatchRequest + (*QueryMatchResponse)(nil), // 13: cardchain.cardchain.QueryMatchResponse + (*QuerySetRequest)(nil), // 14: cardchain.cardchain.QuerySetRequest + (*QuerySetResponse)(nil), // 15: cardchain.cardchain.QuerySetResponse + (*QuerySellOfferRequest)(nil), // 16: cardchain.cardchain.QuerySellOfferRequest + (*QuerySellOfferResponse)(nil), // 17: cardchain.cardchain.QuerySellOfferResponse + (*QueryCouncilRequest)(nil), // 18: cardchain.cardchain.QueryCouncilRequest + (*QueryCouncilResponse)(nil), // 19: cardchain.cardchain.QueryCouncilResponse + (*QueryServerRequest)(nil), // 20: cardchain.cardchain.QueryServerRequest + (*QueryServerResponse)(nil), // 21: cardchain.cardchain.QueryServerResponse + (*QueryEncounterRequest)(nil), // 22: cardchain.cardchain.QueryEncounterRequest + (*QueryEncounterResponse)(nil), // 23: cardchain.cardchain.QueryEncounterResponse + (*QueryEncountersRequest)(nil), // 24: cardchain.cardchain.QueryEncountersRequest + (*QueryEncountersResponse)(nil), // 25: cardchain.cardchain.QueryEncountersResponse + (*QueryEncounterWithImageRequest)(nil), // 26: cardchain.cardchain.QueryEncounterWithImageRequest + (*QueryEncounterWithImageResponse)(nil), // 27: cardchain.cardchain.QueryEncounterWithImageResponse + (*QueryEncountersWithImageRequest)(nil), // 28: cardchain.cardchain.QueryEncountersWithImageRequest + (*QueryEncountersWithImageResponse)(nil), // 29: cardchain.cardchain.QueryEncountersWithImageResponse + (*QueryCardchainInfoRequest)(nil), // 30: cardchain.cardchain.QueryCardchainInfoRequest + (*QueryCardchainInfoResponse)(nil), // 31: cardchain.cardchain.QueryCardchainInfoResponse + (*QuerySetRarityDistributionRequest)(nil), // 32: cardchain.cardchain.QuerySetRarityDistributionRequest + (*QuerySetRarityDistributionResponse)(nil), // 33: cardchain.cardchain.QuerySetRarityDistributionResponse + (*QueryAccountFromZealyRequest)(nil), // 34: cardchain.cardchain.QueryAccountFromZealyRequest + (*QueryAccountFromZealyResponse)(nil), // 35: cardchain.cardchain.QueryAccountFromZealyResponse + (*QueryVotingResultsRequest)(nil), // 36: cardchain.cardchain.QueryVotingResultsRequest + (*QueryVotingResultsResponse)(nil), // 37: cardchain.cardchain.QueryVotingResultsResponse + (*Params)(nil), // 38: cardchain.cardchain.Params + (*ProductDetails)(nil), // 39: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 40: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 41: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 42: cardchain.cardchain.CardWithImage + (*User)(nil), // 43: cardchain.cardchain.User + (CardStatus)(0), // 44: cardchain.cardchain.CardStatus + (CardType)(0), // 45: cardchain.cardchain.CardType + (CardClass)(0), // 46: cardchain.cardchain.CardClass + (CardRarity)(0), // 47: cardchain.cardchain.CardRarity + (*Match)(nil), // 48: cardchain.cardchain.Match + (*SetWithArtwork)(nil), // 49: cardchain.cardchain.SetWithArtwork + (*SellOffer)(nil), // 50: cardchain.cardchain.SellOffer + (*Council)(nil), // 51: cardchain.cardchain.Council + (*Server)(nil), // 52: cardchain.cardchain.Server + (*Encounter)(nil), // 53: cardchain.cardchain.Encounter + (*EncounterWithImage)(nil), // 54: cardchain.cardchain.EncounterWithImage + (*v1beta11.Coin)(nil), // 55: cosmos.base.v1beta1.Coin + (*VotingResults)(nil), // 56: cardchain.cardchain.VotingResults } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 32, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 33, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 34, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 33, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 35, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 36, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 37, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 38, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus - 39, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType - 40, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass - 41, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity - 42, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match - 43, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork - 44, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer - 45, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council - 46, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server - 47, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter - 47, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter - 48, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage - 48, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage - 49, // 20: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin - 0, // 21: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 22: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 23: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 24: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 25: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 26: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 12, // 27: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest - 14, // 28: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest - 16, // 29: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest - 18, // 30: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest - 20, // 31: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest - 22, // 32: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest - 24, // 33: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest - 26, // 34: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest - 28, // 35: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest - 30, // 36: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest - 1, // 37: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 38: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 39: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 40: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 41: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 42: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 13, // 43: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse - 15, // 44: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse - 17, // 45: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse - 19, // 46: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse - 21, // 47: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse - 23, // 48: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse - 25, // 49: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse - 27, // 50: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse - 29, // 51: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse - 31, // 52: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse - 37, // [37:53] is the sub-list for method output_type - 21, // [21:37] is the sub-list for method input_type - 21, // [21:21] is the sub-list for extension type_name - 21, // [21:21] is the sub-list for extension extendee - 0, // [0:21] is the sub-list for field type_name + 38, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 39, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 40, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 39, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 41, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 42, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 43, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 44, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 45, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 46, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 47, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 48, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match + 49, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork + 50, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer + 51, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council + 52, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server + 53, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter + 53, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter + 54, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage + 54, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage + 55, // 20: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin + 56, // 21: cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults:type_name -> cardchain.cardchain.VotingResults + 0, // 22: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 23: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 24: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 25: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 26: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 10, // 27: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 12, // 28: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest + 14, // 29: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest + 16, // 30: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest + 18, // 31: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest + 20, // 32: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest + 22, // 33: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest + 24, // 34: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest + 26, // 35: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest + 28, // 36: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest + 30, // 37: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest + 32, // 38: cardchain.cardchain.Query.SetRarityDistribution:input_type -> cardchain.cardchain.QuerySetRarityDistributionRequest + 34, // 39: cardchain.cardchain.Query.AccountFromZealy:input_type -> cardchain.cardchain.QueryAccountFromZealyRequest + 36, // 40: cardchain.cardchain.Query.VotingResults:input_type -> cardchain.cardchain.QueryVotingResultsRequest + 1, // 41: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 42: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 43: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 44: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 45: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 46: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 13, // 47: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse + 15, // 48: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse + 17, // 49: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse + 19, // 50: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse + 21, // 51: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse + 23, // 52: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse + 25, // 53: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse + 27, // 54: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse + 29, // 55: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse + 31, // 56: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse + 33, // 57: cardchain.cardchain.Query.SetRarityDistribution:output_type -> cardchain.cardchain.QuerySetRarityDistributionResponse + 35, // 58: cardchain.cardchain.Query.AccountFromZealy:output_type -> cardchain.cardchain.QueryAccountFromZealyResponse + 37, // 59: cardchain.cardchain.Query.VotingResults:output_type -> cardchain.cardchain.QueryVotingResultsResponse + 41, // [41:60] is the sub-list for method output_type + 22, // [22:41] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -16956,6 +20012,7 @@ func file_cardchain_cardchain_query_proto_init() { file_cardchain_cardchain_server_proto_init() file_cardchain_cardchain_encounter_proto_init() file_cardchain_cardchain_encounter_with_image_proto_init() + file_cardchain_cardchain_voting_results_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsRequest); i { @@ -17341,6 +20398,78 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuerySetRarityDistributionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuerySetRarityDistributionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryAccountFromZealyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryAccountFromZealyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryVotingResultsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryVotingResultsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -17348,7 +20477,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 32, + NumMessages: 38, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 7e704286..2df65e70 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,6 +8,7 @@ package cardchain import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -19,22 +20,25 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - Query_Params_FullMethodName = "/cardchain.cardchain.Query/Params" - Query_ProductDetails_FullMethodName = "/cardchain.cardchain.Query/ProductDetails" - Query_ProductDetailsAll_FullMethodName = "/cardchain.cardchain.Query/ProductDetailsAll" - Query_Card_FullMethodName = "/cardchain.cardchain.Query/Card" - Query_User_FullMethodName = "/cardchain.cardchain.Query/User" - Query_Cards_FullMethodName = "/cardchain.cardchain.Query/Cards" - Query_Match_FullMethodName = "/cardchain.cardchain.Query/Match" - Query_Set_FullMethodName = "/cardchain.cardchain.Query/Set" - Query_SellOffer_FullMethodName = "/cardchain.cardchain.Query/SellOffer" - Query_Council_FullMethodName = "/cardchain.cardchain.Query/Council" - Query_Server_FullMethodName = "/cardchain.cardchain.Query/Server" - Query_Encounter_FullMethodName = "/cardchain.cardchain.Query/Encounter" - Query_Encounters_FullMethodName = "/cardchain.cardchain.Query/Encounters" - Query_EncounterWithImage_FullMethodName = "/cardchain.cardchain.Query/EncounterWithImage" - Query_EncountersWithImage_FullMethodName = "/cardchain.cardchain.Query/EncountersWithImage" - Query_CardchainInfo_FullMethodName = "/cardchain.cardchain.Query/CardchainInfo" + Query_Params_FullMethodName = "/cardchain.cardchain.Query/Params" + Query_ProductDetails_FullMethodName = "/cardchain.cardchain.Query/ProductDetails" + Query_ProductDetailsAll_FullMethodName = "/cardchain.cardchain.Query/ProductDetailsAll" + Query_Card_FullMethodName = "/cardchain.cardchain.Query/Card" + Query_User_FullMethodName = "/cardchain.cardchain.Query/User" + Query_Cards_FullMethodName = "/cardchain.cardchain.Query/Cards" + Query_Match_FullMethodName = "/cardchain.cardchain.Query/Match" + Query_Set_FullMethodName = "/cardchain.cardchain.Query/Set" + Query_SellOffer_FullMethodName = "/cardchain.cardchain.Query/SellOffer" + Query_Council_FullMethodName = "/cardchain.cardchain.Query/Council" + Query_Server_FullMethodName = "/cardchain.cardchain.Query/Server" + Query_Encounter_FullMethodName = "/cardchain.cardchain.Query/Encounter" + Query_Encounters_FullMethodName = "/cardchain.cardchain.Query/Encounters" + Query_EncounterWithImage_FullMethodName = "/cardchain.cardchain.Query/EncounterWithImage" + Query_EncountersWithImage_FullMethodName = "/cardchain.cardchain.Query/EncountersWithImage" + Query_CardchainInfo_FullMethodName = "/cardchain.cardchain.Query/CardchainInfo" + Query_SetRarityDistribution_FullMethodName = "/cardchain.cardchain.Query/SetRarityDistribution" + Query_AccountFromZealy_FullMethodName = "/cardchain.cardchain.Query/AccountFromZealy" + Query_VotingResults_FullMethodName = "/cardchain.cardchain.Query/VotingResults" ) // QueryClient is the client API for Query service. @@ -72,6 +76,12 @@ type QueryClient interface { EncountersWithImage(ctx context.Context, in *QueryEncountersWithImageRequest, opts ...grpc.CallOption) (*QueryEncountersWithImageResponse, error) // Queries a list of CardchainInfo items. CardchainInfo(ctx context.Context, in *QueryCardchainInfoRequest, opts ...grpc.CallOption) (*QueryCardchainInfoResponse, error) + // Queries a list of SetRarityDistribution items. + SetRarityDistribution(ctx context.Context, in *QuerySetRarityDistributionRequest, opts ...grpc.CallOption) (*QuerySetRarityDistributionResponse, error) + // Queries a list of AccountFromZealy items. + AccountFromZealy(ctx context.Context, in *QueryAccountFromZealyRequest, opts ...grpc.CallOption) (*QueryAccountFromZealyResponse, error) + // Queries a list of VotingResults items. + VotingResults(ctx context.Context, in *QueryVotingResultsRequest, opts ...grpc.CallOption) (*QueryVotingResultsResponse, error) } type queryClient struct { @@ -226,6 +236,33 @@ func (c *queryClient) CardchainInfo(ctx context.Context, in *QueryCardchainInfoR return out, nil } +func (c *queryClient) SetRarityDistribution(ctx context.Context, in *QuerySetRarityDistributionRequest, opts ...grpc.CallOption) (*QuerySetRarityDistributionResponse, error) { + out := new(QuerySetRarityDistributionResponse) + err := c.cc.Invoke(ctx, Query_SetRarityDistribution_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) AccountFromZealy(ctx context.Context, in *QueryAccountFromZealyRequest, opts ...grpc.CallOption) (*QueryAccountFromZealyResponse, error) { + out := new(QueryAccountFromZealyResponse) + err := c.cc.Invoke(ctx, Query_AccountFromZealy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) VotingResults(ctx context.Context, in *QueryVotingResultsRequest, opts ...grpc.CallOption) (*QueryVotingResultsResponse, error) { + out := new(QueryVotingResultsResponse) + err := c.cc.Invoke(ctx, Query_VotingResults_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -261,6 +298,12 @@ type QueryServer interface { EncountersWithImage(context.Context, *QueryEncountersWithImageRequest) (*QueryEncountersWithImageResponse, error) // Queries a list of CardchainInfo items. CardchainInfo(context.Context, *QueryCardchainInfoRequest) (*QueryCardchainInfoResponse, error) + // Queries a list of SetRarityDistribution items. + SetRarityDistribution(context.Context, *QuerySetRarityDistributionRequest) (*QuerySetRarityDistributionResponse, error) + // Queries a list of AccountFromZealy items. + AccountFromZealy(context.Context, *QueryAccountFromZealyRequest) (*QueryAccountFromZealyResponse, error) + // Queries a list of VotingResults items. + VotingResults(context.Context, *QueryVotingResultsRequest) (*QueryVotingResultsResponse, error) mustEmbedUnimplementedQueryServer() } @@ -316,6 +359,15 @@ func (UnimplementedQueryServer) EncountersWithImage(context.Context, *QueryEncou func (UnimplementedQueryServer) CardchainInfo(context.Context, *QueryCardchainInfoRequest) (*QueryCardchainInfoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CardchainInfo not implemented") } +func (UnimplementedQueryServer) SetRarityDistribution(context.Context, *QuerySetRarityDistributionRequest) (*QuerySetRarityDistributionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetRarityDistribution not implemented") +} +func (UnimplementedQueryServer) AccountFromZealy(context.Context, *QueryAccountFromZealyRequest) (*QueryAccountFromZealyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AccountFromZealy not implemented") +} +func (UnimplementedQueryServer) VotingResults(context.Context, *QueryVotingResultsRequest) (*QueryVotingResultsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VotingResults not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -617,6 +669,60 @@ func _Query_CardchainInfo_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Query_SetRarityDistribution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QuerySetRarityDistributionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).SetRarityDistribution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_SetRarityDistribution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).SetRarityDistribution(ctx, req.(*QuerySetRarityDistributionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_AccountFromZealy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAccountFromZealyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AccountFromZealy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_AccountFromZealy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AccountFromZealy(ctx, req.(*QueryAccountFromZealyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_VotingResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryVotingResultsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).VotingResults(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_VotingResults_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).VotingResults(ctx, req.(*QueryVotingResultsRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -688,6 +794,18 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "CardchainInfo", Handler: _Query_CardchainInfo_Handler, }, + { + MethodName: "SetRarityDistribution", + Handler: _Query_SetRarityDistribution_Handler, + }, + { + MethodName: "AccountFromZealy", + Handler: _Query_AccountFromZealy_Handler, + }, + { + MethodName: "VotingResults", + Handler: _Query_VotingResults_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/api/cardchain/cardchain/running_average.pulsar.go b/api/cardchain/cardchain/running_average.pulsar.go index 9cff2c1b..48c3ca74 100644 --- a/api/cardchain/cardchain/running_average.pulsar.go +++ b/api/cardchain/cardchain/running_average.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_RunningAverage_1_list)(nil) diff --git a/api/cardchain/cardchain/sell_offer.pulsar.go b/api/cardchain/cardchain/sell_offer.pulsar.go index 55fde4b3..5f5fb235 100644 --- a/api/cardchain/cardchain/sell_offer.pulsar.go +++ b/api/cardchain/cardchain/sell_offer.pulsar.go @@ -2,16 +2,17 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/server.pulsar.go b/api/cardchain/cardchain/server.pulsar.go index e8d66d38..25cbab32 100644 --- a/api/cardchain/cardchain/server.pulsar.go +++ b/api/cardchain/cardchain/server.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go index bd4a42db..984c3c6d 100644 --- a/api/cardchain/cardchain/set.pulsar.go +++ b/api/cardchain/cardchain/set.pulsar.go @@ -2,15 +2,16 @@ package cardchain import ( - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_Set_2_list)(nil) diff --git a/api/cardchain/cardchain/set_with_artwork.pulsar.go b/api/cardchain/cardchain/set_with_artwork.pulsar.go index 2de6c3ae..15c9094d 100644 --- a/api/cardchain/cardchain/set_with_artwork.pulsar.go +++ b/api/cardchain/cardchain/set_with_artwork.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index ac894ab3..3617fc13 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,20 +2,21 @@ package cardchain import ( + fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" - fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 3dd8f52f..51db3503 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,6 +8,7 @@ package cardchain import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/user.pulsar.go b/api/cardchain/cardchain/user.pulsar.go index c0c7e0ad..a6f11922 100644 --- a/api/cardchain/cardchain/user.pulsar.go +++ b/api/cardchain/cardchain/user.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var _ protoreflect.List = (*_User_2_list)(nil) diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go index 2a02aa7e..e18713ef 100644 --- a/api/cardchain/cardchain/voting.pulsar.go +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -3,812 +3,15 @@ package cardchain import ( fmt "fmt" - runtime "github.com/cosmos/cosmos-proto/runtime" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoiface "google.golang.org/protobuf/runtime/protoiface" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" -) - -var _ protoreflect.List = (*_VotingResults_6_list)(nil) - -type _VotingResults_6_list struct { - list *[]*VotingResult -} - -func (x *_VotingResults_6_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_VotingResults_6_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_VotingResults_6_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*VotingResult) - (*x.list)[i] = concreteValue -} - -func (x *_VotingResults_6_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*VotingResult) - *x.list = append(*x.list, concreteValue) -} - -func (x *_VotingResults_6_list) AppendMutable() protoreflect.Value { - v := new(VotingResult) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_VotingResults_6_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_VotingResults_6_list) NewElement() protoreflect.Value { - v := new(VotingResult) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_VotingResults_6_list) IsValid() bool { - return x.list != nil -} - -var ( - md_VotingResults protoreflect.MessageDescriptor - fd_VotingResults_totalVotes protoreflect.FieldDescriptor - fd_VotingResults_totalFairEnoughVotes protoreflect.FieldDescriptor - fd_VotingResults_totalOverpoweredVotes protoreflect.FieldDescriptor - fd_VotingResults_totalUnderpoweredVotes protoreflect.FieldDescriptor - fd_VotingResults_totalInappropriateVotes protoreflect.FieldDescriptor - fd_VotingResults_cardResults protoreflect.FieldDescriptor - fd_VotingResults_notes protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_voting_proto_init() - md_VotingResults = File_cardchain_cardchain_voting_proto.Messages().ByName("VotingResults") - fd_VotingResults_totalVotes = md_VotingResults.Fields().ByName("totalVotes") - fd_VotingResults_totalFairEnoughVotes = md_VotingResults.Fields().ByName("totalFairEnoughVotes") - fd_VotingResults_totalOverpoweredVotes = md_VotingResults.Fields().ByName("totalOverpoweredVotes") - fd_VotingResults_totalUnderpoweredVotes = md_VotingResults.Fields().ByName("totalUnderpoweredVotes") - fd_VotingResults_totalInappropriateVotes = md_VotingResults.Fields().ByName("totalInappropriateVotes") - fd_VotingResults_cardResults = md_VotingResults.Fields().ByName("cardResults") - fd_VotingResults_notes = md_VotingResults.Fields().ByName("notes") -} - -var _ protoreflect.Message = (*fastReflection_VotingResults)(nil) - -type fastReflection_VotingResults VotingResults - -func (x *VotingResults) ProtoReflect() protoreflect.Message { - return (*fastReflection_VotingResults)(x) -} - -func (x *VotingResults) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_voting_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_VotingResults_messageType fastReflection_VotingResults_messageType -var _ protoreflect.MessageType = fastReflection_VotingResults_messageType{} - -type fastReflection_VotingResults_messageType struct{} - -func (x fastReflection_VotingResults_messageType) Zero() protoreflect.Message { - return (*fastReflection_VotingResults)(nil) -} -func (x fastReflection_VotingResults_messageType) New() protoreflect.Message { - return new(fastReflection_VotingResults) -} -func (x fastReflection_VotingResults_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_VotingResults -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_VotingResults) Descriptor() protoreflect.MessageDescriptor { - return md_VotingResults -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_VotingResults) Type() protoreflect.MessageType { - return _fastReflection_VotingResults_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_VotingResults) New() protoreflect.Message { - return new(fastReflection_VotingResults) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_VotingResults) Interface() protoreflect.ProtoMessage { - return (*VotingResults)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_VotingResults) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.TotalVotes != uint64(0) { - value := protoreflect.ValueOfUint64(x.TotalVotes) - if !f(fd_VotingResults_totalVotes, value) { - return - } - } - if x.TotalFairEnoughVotes != uint64(0) { - value := protoreflect.ValueOfUint64(x.TotalFairEnoughVotes) - if !f(fd_VotingResults_totalFairEnoughVotes, value) { - return - } - } - if x.TotalOverpoweredVotes != uint64(0) { - value := protoreflect.ValueOfUint64(x.TotalOverpoweredVotes) - if !f(fd_VotingResults_totalOverpoweredVotes, value) { - return - } - } - if x.TotalUnderpoweredVotes != uint64(0) { - value := protoreflect.ValueOfUint64(x.TotalUnderpoweredVotes) - if !f(fd_VotingResults_totalUnderpoweredVotes, value) { - return - } - } - if x.TotalInappropriateVotes != uint64(0) { - value := protoreflect.ValueOfUint64(x.TotalInappropriateVotes) - if !f(fd_VotingResults_totalInappropriateVotes, value) { - return - } - } - if len(x.CardResults) != 0 { - value := protoreflect.ValueOfList(&_VotingResults_6_list{list: &x.CardResults}) - if !f(fd_VotingResults_cardResults, value) { - return - } - } - if x.Notes != "" { - value := protoreflect.ValueOfString(x.Notes) - if !f(fd_VotingResults_notes, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_VotingResults) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.VotingResults.totalVotes": - return x.TotalVotes != uint64(0) - case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": - return x.TotalFairEnoughVotes != uint64(0) - case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": - return x.TotalOverpoweredVotes != uint64(0) - case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": - return x.TotalUnderpoweredVotes != uint64(0) - case "cardchain.cardchain.VotingResults.totalInappropriateVotes": - return x.TotalInappropriateVotes != uint64(0) - case "cardchain.cardchain.VotingResults.cardResults": - return len(x.CardResults) != 0 - case "cardchain.cardchain.VotingResults.notes": - return x.Notes != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) - } - panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_VotingResults) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.VotingResults.totalVotes": - x.TotalVotes = uint64(0) - case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": - x.TotalFairEnoughVotes = uint64(0) - case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": - x.TotalOverpoweredVotes = uint64(0) - case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": - x.TotalUnderpoweredVotes = uint64(0) - case "cardchain.cardchain.VotingResults.totalInappropriateVotes": - x.TotalInappropriateVotes = uint64(0) - case "cardchain.cardchain.VotingResults.cardResults": - x.CardResults = nil - case "cardchain.cardchain.VotingResults.notes": - x.Notes = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) - } - panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_VotingResults) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.VotingResults.totalVotes": - value := x.TotalVotes - return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": - value := x.TotalFairEnoughVotes - return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": - value := x.TotalOverpoweredVotes - return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": - value := x.TotalUnderpoweredVotes - return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.VotingResults.totalInappropriateVotes": - value := x.TotalInappropriateVotes - return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.VotingResults.cardResults": - if len(x.CardResults) == 0 { - return protoreflect.ValueOfList(&_VotingResults_6_list{}) - } - listValue := &_VotingResults_6_list{list: &x.CardResults} - return protoreflect.ValueOfList(listValue) - case "cardchain.cardchain.VotingResults.notes": - value := x.Notes - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) - } - panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_VotingResults) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.VotingResults.totalVotes": - x.TotalVotes = value.Uint() - case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": - x.TotalFairEnoughVotes = value.Uint() - case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": - x.TotalOverpoweredVotes = value.Uint() - case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": - x.TotalUnderpoweredVotes = value.Uint() - case "cardchain.cardchain.VotingResults.totalInappropriateVotes": - x.TotalInappropriateVotes = value.Uint() - case "cardchain.cardchain.VotingResults.cardResults": - lv := value.List() - clv := lv.(*_VotingResults_6_list) - x.CardResults = *clv.list - case "cardchain.cardchain.VotingResults.notes": - x.Notes = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) - } - panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_VotingResults) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.VotingResults.cardResults": - if x.CardResults == nil { - x.CardResults = []*VotingResult{} - } - value := &_VotingResults_6_list{list: &x.CardResults} - return protoreflect.ValueOfList(value) - case "cardchain.cardchain.VotingResults.totalVotes": - panic(fmt.Errorf("field totalVotes of message cardchain.cardchain.VotingResults is not mutable")) - case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": - panic(fmt.Errorf("field totalFairEnoughVotes of message cardchain.cardchain.VotingResults is not mutable")) - case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": - panic(fmt.Errorf("field totalOverpoweredVotes of message cardchain.cardchain.VotingResults is not mutable")) - case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": - panic(fmt.Errorf("field totalUnderpoweredVotes of message cardchain.cardchain.VotingResults is not mutable")) - case "cardchain.cardchain.VotingResults.totalInappropriateVotes": - panic(fmt.Errorf("field totalInappropriateVotes of message cardchain.cardchain.VotingResults is not mutable")) - case "cardchain.cardchain.VotingResults.notes": - panic(fmt.Errorf("field notes of message cardchain.cardchain.VotingResults is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) - } - panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_VotingResults) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.VotingResults.totalVotes": - return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": - return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": - return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": - return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.VotingResults.totalInappropriateVotes": - return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.VotingResults.cardResults": - list := []*VotingResult{} - return protoreflect.ValueOfList(&_VotingResults_6_list{list: &list}) - case "cardchain.cardchain.VotingResults.notes": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) - } - panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_VotingResults) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.VotingResults", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_VotingResults) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_VotingResults) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_VotingResults) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_VotingResults) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*VotingResults) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.TotalVotes != 0 { - n += 1 + runtime.Sov(uint64(x.TotalVotes)) - } - if x.TotalFairEnoughVotes != 0 { - n += 1 + runtime.Sov(uint64(x.TotalFairEnoughVotes)) - } - if x.TotalOverpoweredVotes != 0 { - n += 1 + runtime.Sov(uint64(x.TotalOverpoweredVotes)) - } - if x.TotalUnderpoweredVotes != 0 { - n += 1 + runtime.Sov(uint64(x.TotalUnderpoweredVotes)) - } - if x.TotalInappropriateVotes != 0 { - n += 1 + runtime.Sov(uint64(x.TotalInappropriateVotes)) - } - if len(x.CardResults) > 0 { - for _, e := range x.CardResults { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - l = len(x.Notes) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*VotingResults) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Notes) > 0 { - i -= len(x.Notes) - copy(dAtA[i:], x.Notes) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Notes))) - i-- - dAtA[i] = 0x3a - } - if len(x.CardResults) > 0 { - for iNdEx := len(x.CardResults) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.CardResults[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x32 - } - } - if x.TotalInappropriateVotes != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalInappropriateVotes)) - i-- - dAtA[i] = 0x28 - } - if x.TotalUnderpoweredVotes != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalUnderpoweredVotes)) - i-- - dAtA[i] = 0x20 - } - if x.TotalOverpoweredVotes != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalOverpoweredVotes)) - i-- - dAtA[i] = 0x18 - } - if x.TotalFairEnoughVotes != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalFairEnoughVotes)) - i-- - dAtA[i] = 0x10 - } - if x.TotalVotes != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalVotes)) - i-- - dAtA[i] = 0x8 - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*VotingResults) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: VotingResults: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: VotingResults: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalVotes", wireType) - } - x.TotalVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.TotalVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalFairEnoughVotes", wireType) - } - x.TotalFairEnoughVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.TotalFairEnoughVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalOverpoweredVotes", wireType) - } - x.TotalOverpoweredVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.TotalOverpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalUnderpoweredVotes", wireType) - } - x.TotalUnderpoweredVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.TotalUnderpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalInappropriateVotes", wireType) - } - x.TotalInappropriateVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.TotalInappropriateVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardResults", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.CardResults = append(x.CardResults, &VotingResult{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CardResults[len(x.CardResults)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Notes", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Notes = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } + io "io" + reflect "reflect" + sync "sync" - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) var ( md_VotingResult protoreflect.MessageDescriptor @@ -840,7 +43,7 @@ func (x *VotingResult) ProtoReflect() protoreflect.Message { } func (x *VotingResult) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_voting_proto_msgTypes[1] + mi := &file_cardchain_cardchain_voting_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1492,7 +695,7 @@ func (x *SingleVote) ProtoReflect() protoreflect.Message { } func (x *SingleVote) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_voting_proto_msgTypes[2] + mi := &file_cardchain_cardchain_voting_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1987,89 +1190,6 @@ func (VoteType) EnumDescriptor() ([]byte, []int) { return file_cardchain_cardchain_voting_proto_rawDescGZIP(), []int{0} } -type VotingResults struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - 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 (x *VotingResults) Reset() { - *x = VotingResults{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_voting_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VotingResults) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VotingResults) ProtoMessage() {} - -// Deprecated: Use VotingResults.ProtoReflect.Descriptor instead. -func (*VotingResults) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_voting_proto_rawDescGZIP(), []int{0} -} - -func (x *VotingResults) GetTotalVotes() uint64 { - if x != nil { - return x.TotalVotes - } - return 0 -} - -func (x *VotingResults) GetTotalFairEnoughVotes() uint64 { - if x != nil { - return x.TotalFairEnoughVotes - } - return 0 -} - -func (x *VotingResults) GetTotalOverpoweredVotes() uint64 { - if x != nil { - return x.TotalOverpoweredVotes - } - return 0 -} - -func (x *VotingResults) GetTotalUnderpoweredVotes() uint64 { - if x != nil { - return x.TotalUnderpoweredVotes - } - return 0 -} - -func (x *VotingResults) GetTotalInappropriateVotes() uint64 { - if x != nil { - return x.TotalInappropriateVotes - } - return 0 -} - -func (x *VotingResults) GetCardResults() []*VotingResult { - if x != nil { - return x.CardResults - } - return nil -} - -func (x *VotingResults) GetNotes() string { - if x != nil { - return x.Notes - } - return "" -} - type VotingResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2086,7 +1206,7 @@ type VotingResult struct { func (x *VotingResult) Reset() { *x = VotingResult{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_voting_proto_msgTypes[1] + mi := &file_cardchain_cardchain_voting_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2100,7 +1220,7 @@ func (*VotingResult) ProtoMessage() {} // Deprecated: Use VotingResult.ProtoReflect.Descriptor instead. func (*VotingResult) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_voting_proto_rawDescGZIP(), []int{1} + return file_cardchain_cardchain_voting_proto_rawDescGZIP(), []int{0} } func (x *VotingResult) GetCardId() uint64 { @@ -2157,7 +1277,7 @@ type SingleVote struct { func (x *SingleVote) Reset() { *x = SingleVote{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_voting_proto_msgTypes[2] + mi := &file_cardchain_cardchain_voting_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2171,7 +1291,7 @@ func (*SingleVote) ProtoMessage() {} // Deprecated: Use SingleVote.ProtoReflect.Descriptor instead. func (*SingleVote) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_voting_proto_rawDescGZIP(), []int{2} + return file_cardchain_cardchain_voting_proto_rawDescGZIP(), []int{1} } func (x *SingleVote) GetCardId() uint64 { @@ -2194,70 +1314,47 @@ var file_cardchain_cardchain_voting_proto_rawDesc = []byte{ 0x0a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x22, 0xe6, 0x02, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x46, 0x61, 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x61, - 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x34, 0x0a, - 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, - 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, - 0x74, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x64, 0x65, - 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x70, - 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x17, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, - 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, - 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x63, - 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, - 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, - 0x22, 0xf2, 0x01, 0x0a, 0x0c, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x61, 0x69, - 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, - 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, - 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6f, - 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, - 0x2c, 0x0a, 0x11, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, - 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x75, 0x6e, 0x64, 0x65, - 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, - 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x56, 0x6f, - 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, - 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x5f, 0x0a, 0x0a, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, - 0x6f, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x08, 0x76, - 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x56, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x76, 0x6f, - 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2a, 0x50, 0x0a, 0x08, 0x56, 0x6f, 0x74, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x66, 0x61, 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, - 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, - 0x61, 0x74, 0x65, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, - 0x65, 0x72, 0x65, 0x64, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x70, - 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x10, 0x03, 0x42, 0xd3, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0b, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, - 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x22, 0xf2, 0x01, 0x0a, 0x0c, 0x56, 0x6f, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, + 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x72, 0x45, + 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x76, + 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, + 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x70, + 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x11, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, + 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, + 0x72, 0x69, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x56, + 0x6f, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x5f, 0x0a, 0x0a, + 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x12, 0x39, 0x0a, 0x08, 0x76, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x56, 0x6f, 0x74, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x08, 0x76, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2a, 0x50, 0x0a, + 0x08, 0x56, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x66, 0x61, 0x69, + 0x72, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x69, 0x6e, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, + 0x6f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x10, 0x02, 0x12, 0x10, 0x0a, + 0x0c, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x10, 0x03, 0x42, + 0xd3, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0b, 0x56, 0x6f, 0x74, + 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, + 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2273,21 +1370,19 @@ func file_cardchain_cardchain_voting_proto_rawDescGZIP() []byte { } var file_cardchain_cardchain_voting_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_cardchain_cardchain_voting_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_cardchain_cardchain_voting_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_cardchain_cardchain_voting_proto_goTypes = []interface{}{ - (VoteType)(0), // 0: cardchain.cardchain.VoteType - (*VotingResults)(nil), // 1: cardchain.cardchain.VotingResults - (*VotingResult)(nil), // 2: cardchain.cardchain.VotingResult - (*SingleVote)(nil), // 3: cardchain.cardchain.SingleVote + (VoteType)(0), // 0: cardchain.cardchain.VoteType + (*VotingResult)(nil), // 1: cardchain.cardchain.VotingResult + (*SingleVote)(nil), // 2: cardchain.cardchain.SingleVote } var file_cardchain_cardchain_voting_proto_depIdxs = []int32{ - 2, // 0: cardchain.cardchain.VotingResults.cardResults:type_name -> cardchain.cardchain.VotingResult - 0, // 1: cardchain.cardchain.SingleVote.voteType:type_name -> cardchain.cardchain.VoteType - 2, // [2:2] is the sub-list for method output_type - 2, // [2:2] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 0, // 0: cardchain.cardchain.SingleVote.voteType:type_name -> cardchain.cardchain.VoteType + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name } func init() { file_cardchain_cardchain_voting_proto_init() } @@ -2297,18 +1392,6 @@ func file_cardchain_cardchain_voting_proto_init() { } if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_voting_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VotingResults); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_voting_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VotingResult); i { case 0: return &v.state @@ -2320,7 +1403,7 @@ func file_cardchain_cardchain_voting_proto_init() { return nil } } - file_cardchain_cardchain_voting_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_voting_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SingleVote); i { case 0: return &v.state @@ -2339,7 +1422,7 @@ func file_cardchain_cardchain_voting_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_voting_proto_rawDesc, NumEnums: 1, - NumMessages: 3, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/api/cardchain/cardchain/voting_results.pulsar.go b/api/cardchain/cardchain/voting_results.pulsar.go new file mode 100644 index 00000000..46a4658f --- /dev/null +++ b/api/cardchain/cardchain/voting_results.pulsar.go @@ -0,0 +1,1022 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +var _ protoreflect.List = (*_VotingResults_6_list)(nil) + +type _VotingResults_6_list struct { + list *[]*VotingResult +} + +func (x *_VotingResults_6_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_VotingResults_6_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_VotingResults_6_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*VotingResult) + (*x.list)[i] = concreteValue +} + +func (x *_VotingResults_6_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*VotingResult) + *x.list = append(*x.list, concreteValue) +} + +func (x *_VotingResults_6_list) AppendMutable() protoreflect.Value { + v := new(VotingResult) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_VotingResults_6_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_VotingResults_6_list) NewElement() protoreflect.Value { + v := new(VotingResult) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_VotingResults_6_list) IsValid() bool { + return x.list != nil +} + +var ( + md_VotingResults protoreflect.MessageDescriptor + fd_VotingResults_totalVotes protoreflect.FieldDescriptor + fd_VotingResults_totalFairEnoughVotes protoreflect.FieldDescriptor + fd_VotingResults_totalOverpoweredVotes protoreflect.FieldDescriptor + fd_VotingResults_totalUnderpoweredVotes protoreflect.FieldDescriptor + fd_VotingResults_totalInappropriateVotes protoreflect.FieldDescriptor + fd_VotingResults_cardResults protoreflect.FieldDescriptor + fd_VotingResults_notes protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_voting_results_proto_init() + md_VotingResults = File_cardchain_cardchain_voting_results_proto.Messages().ByName("VotingResults") + fd_VotingResults_totalVotes = md_VotingResults.Fields().ByName("totalVotes") + fd_VotingResults_totalFairEnoughVotes = md_VotingResults.Fields().ByName("totalFairEnoughVotes") + fd_VotingResults_totalOverpoweredVotes = md_VotingResults.Fields().ByName("totalOverpoweredVotes") + fd_VotingResults_totalUnderpoweredVotes = md_VotingResults.Fields().ByName("totalUnderpoweredVotes") + fd_VotingResults_totalInappropriateVotes = md_VotingResults.Fields().ByName("totalInappropriateVotes") + fd_VotingResults_cardResults = md_VotingResults.Fields().ByName("cardResults") + fd_VotingResults_notes = md_VotingResults.Fields().ByName("notes") +} + +var _ protoreflect.Message = (*fastReflection_VotingResults)(nil) + +type fastReflection_VotingResults VotingResults + +func (x *VotingResults) ProtoReflect() protoreflect.Message { + return (*fastReflection_VotingResults)(x) +} + +func (x *VotingResults) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_voting_results_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_VotingResults_messageType fastReflection_VotingResults_messageType +var _ protoreflect.MessageType = fastReflection_VotingResults_messageType{} + +type fastReflection_VotingResults_messageType struct{} + +func (x fastReflection_VotingResults_messageType) Zero() protoreflect.Message { + return (*fastReflection_VotingResults)(nil) +} +func (x fastReflection_VotingResults_messageType) New() protoreflect.Message { + return new(fastReflection_VotingResults) +} +func (x fastReflection_VotingResults_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_VotingResults +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_VotingResults) Descriptor() protoreflect.MessageDescriptor { + return md_VotingResults +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_VotingResults) Type() protoreflect.MessageType { + return _fastReflection_VotingResults_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_VotingResults) New() protoreflect.Message { + return new(fastReflection_VotingResults) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_VotingResults) Interface() protoreflect.ProtoMessage { + return (*VotingResults)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_VotingResults) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.TotalVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.TotalVotes) + if !f(fd_VotingResults_totalVotes, value) { + return + } + } + if x.TotalFairEnoughVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.TotalFairEnoughVotes) + if !f(fd_VotingResults_totalFairEnoughVotes, value) { + return + } + } + if x.TotalOverpoweredVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.TotalOverpoweredVotes) + if !f(fd_VotingResults_totalOverpoweredVotes, value) { + return + } + } + if x.TotalUnderpoweredVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.TotalUnderpoweredVotes) + if !f(fd_VotingResults_totalUnderpoweredVotes, value) { + return + } + } + if x.TotalInappropriateVotes != uint64(0) { + value := protoreflect.ValueOfUint64(x.TotalInappropriateVotes) + if !f(fd_VotingResults_totalInappropriateVotes, value) { + return + } + } + if len(x.CardResults) != 0 { + value := protoreflect.ValueOfList(&_VotingResults_6_list{list: &x.CardResults}) + if !f(fd_VotingResults_cardResults, value) { + return + } + } + if x.Notes != "" { + value := protoreflect.ValueOfString(x.Notes) + if !f(fd_VotingResults_notes, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_VotingResults) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.VotingResults.totalVotes": + return x.TotalVotes != uint64(0) + case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": + return x.TotalFairEnoughVotes != uint64(0) + case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": + return x.TotalOverpoweredVotes != uint64(0) + case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": + return x.TotalUnderpoweredVotes != uint64(0) + case "cardchain.cardchain.VotingResults.totalInappropriateVotes": + return x.TotalInappropriateVotes != uint64(0) + case "cardchain.cardchain.VotingResults.cardResults": + return len(x.CardResults) != 0 + case "cardchain.cardchain.VotingResults.notes": + return x.Notes != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_VotingResults) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.VotingResults.totalVotes": + x.TotalVotes = uint64(0) + case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": + x.TotalFairEnoughVotes = uint64(0) + case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": + x.TotalOverpoweredVotes = uint64(0) + case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": + x.TotalUnderpoweredVotes = uint64(0) + case "cardchain.cardchain.VotingResults.totalInappropriateVotes": + x.TotalInappropriateVotes = uint64(0) + case "cardchain.cardchain.VotingResults.cardResults": + x.CardResults = nil + case "cardchain.cardchain.VotingResults.notes": + x.Notes = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_VotingResults) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.VotingResults.totalVotes": + value := x.TotalVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": + value := x.TotalFairEnoughVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": + value := x.TotalOverpoweredVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": + value := x.TotalUnderpoweredVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResults.totalInappropriateVotes": + value := x.TotalInappropriateVotes + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.VotingResults.cardResults": + if len(x.CardResults) == 0 { + return protoreflect.ValueOfList(&_VotingResults_6_list{}) + } + listValue := &_VotingResults_6_list{list: &x.CardResults} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.VotingResults.notes": + value := x.Notes + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_VotingResults) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.VotingResults.totalVotes": + x.TotalVotes = value.Uint() + case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": + x.TotalFairEnoughVotes = value.Uint() + case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": + x.TotalOverpoweredVotes = value.Uint() + case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": + x.TotalUnderpoweredVotes = value.Uint() + case "cardchain.cardchain.VotingResults.totalInappropriateVotes": + x.TotalInappropriateVotes = value.Uint() + case "cardchain.cardchain.VotingResults.cardResults": + lv := value.List() + clv := lv.(*_VotingResults_6_list) + x.CardResults = *clv.list + case "cardchain.cardchain.VotingResults.notes": + x.Notes = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_VotingResults) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.VotingResults.cardResults": + if x.CardResults == nil { + x.CardResults = []*VotingResult{} + } + value := &_VotingResults_6_list{list: &x.CardResults} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.VotingResults.totalVotes": + panic(fmt.Errorf("field totalVotes of message cardchain.cardchain.VotingResults is not mutable")) + case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": + panic(fmt.Errorf("field totalFairEnoughVotes of message cardchain.cardchain.VotingResults is not mutable")) + case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": + panic(fmt.Errorf("field totalOverpoweredVotes of message cardchain.cardchain.VotingResults is not mutable")) + case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": + panic(fmt.Errorf("field totalUnderpoweredVotes of message cardchain.cardchain.VotingResults is not mutable")) + case "cardchain.cardchain.VotingResults.totalInappropriateVotes": + panic(fmt.Errorf("field totalInappropriateVotes of message cardchain.cardchain.VotingResults is not mutable")) + case "cardchain.cardchain.VotingResults.notes": + panic(fmt.Errorf("field notes of message cardchain.cardchain.VotingResults is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_VotingResults) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.VotingResults.totalVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResults.totalFairEnoughVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResults.totalOverpoweredVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResults.totalUnderpoweredVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResults.totalInappropriateVotes": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.VotingResults.cardResults": + list := []*VotingResult{} + return protoreflect.ValueOfList(&_VotingResults_6_list{list: &list}) + case "cardchain.cardchain.VotingResults.notes": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.VotingResults")) + } + panic(fmt.Errorf("message cardchain.cardchain.VotingResults does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_VotingResults) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.VotingResults", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_VotingResults) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_VotingResults) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_VotingResults) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_VotingResults) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*VotingResults) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.TotalVotes != 0 { + n += 1 + runtime.Sov(uint64(x.TotalVotes)) + } + if x.TotalFairEnoughVotes != 0 { + n += 1 + runtime.Sov(uint64(x.TotalFairEnoughVotes)) + } + if x.TotalOverpoweredVotes != 0 { + n += 1 + runtime.Sov(uint64(x.TotalOverpoweredVotes)) + } + if x.TotalUnderpoweredVotes != 0 { + n += 1 + runtime.Sov(uint64(x.TotalUnderpoweredVotes)) + } + if x.TotalInappropriateVotes != 0 { + n += 1 + runtime.Sov(uint64(x.TotalInappropriateVotes)) + } + if len(x.CardResults) > 0 { + for _, e := range x.CardResults { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + l = len(x.Notes) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*VotingResults) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Notes) > 0 { + i -= len(x.Notes) + copy(dAtA[i:], x.Notes) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Notes))) + i-- + dAtA[i] = 0x3a + } + if len(x.CardResults) > 0 { + for iNdEx := len(x.CardResults) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.CardResults[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x32 + } + } + if x.TotalInappropriateVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalInappropriateVotes)) + i-- + dAtA[i] = 0x28 + } + if x.TotalUnderpoweredVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalUnderpoweredVotes)) + i-- + dAtA[i] = 0x20 + } + if x.TotalOverpoweredVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalOverpoweredVotes)) + i-- + dAtA[i] = 0x18 + } + if x.TotalFairEnoughVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalFairEnoughVotes)) + i-- + dAtA[i] = 0x10 + } + if x.TotalVotes != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TotalVotes)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*VotingResults) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: VotingResults: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: VotingResults: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalVotes", wireType) + } + x.TotalVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TotalVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalFairEnoughVotes", wireType) + } + x.TotalFairEnoughVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TotalFairEnoughVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalOverpoweredVotes", wireType) + } + x.TotalOverpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TotalOverpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalUnderpoweredVotes", wireType) + } + x.TotalUnderpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TotalUnderpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalInappropriateVotes", wireType) + } + x.TotalInappropriateVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TotalInappropriateVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardResults", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.CardResults = append(x.CardResults, &VotingResult{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CardResults[len(x.CardResults)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Notes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Notes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/voting_results.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type VotingResults struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 (x *VotingResults) Reset() { + *x = VotingResults{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_voting_results_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VotingResults) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VotingResults) ProtoMessage() {} + +// Deprecated: Use VotingResults.ProtoReflect.Descriptor instead. +func (*VotingResults) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_voting_results_proto_rawDescGZIP(), []int{0} +} + +func (x *VotingResults) GetTotalVotes() uint64 { + if x != nil { + return x.TotalVotes + } + return 0 +} + +func (x *VotingResults) GetTotalFairEnoughVotes() uint64 { + if x != nil { + return x.TotalFairEnoughVotes + } + return 0 +} + +func (x *VotingResults) GetTotalOverpoweredVotes() uint64 { + if x != nil { + return x.TotalOverpoweredVotes + } + return 0 +} + +func (x *VotingResults) GetTotalUnderpoweredVotes() uint64 { + if x != nil { + return x.TotalUnderpoweredVotes + } + return 0 +} + +func (x *VotingResults) GetTotalInappropriateVotes() uint64 { + if x != nil { + return x.TotalInappropriateVotes + } + return 0 +} + +func (x *VotingResults) GetCardResults() []*VotingResult { + if x != nil { + return x.CardResults + } + return nil +} + +func (x *VotingResults) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +var File_cardchain_cardchain_voting_results_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_voting_results_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x1a, + 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xe6, 0x02, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x56, 0x6f, 0x74, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x56, 0x6f, + 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x72, + 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x72, 0x45, 0x6e, 0x6f, 0x75, + 0x67, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x4f, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x76, 0x65, + 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x36, 0x0a, + 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, + 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, + 0x43, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x56, 0x6f, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x42, 0xda, 0x01, 0x0a, 0x17, 0x63, + 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x12, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, + 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, + 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_voting_results_proto_rawDescOnce sync.Once + file_cardchain_cardchain_voting_results_proto_rawDescData = file_cardchain_cardchain_voting_results_proto_rawDesc +) + +func file_cardchain_cardchain_voting_results_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_voting_results_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_voting_results_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_voting_results_proto_rawDescData) + }) + return file_cardchain_cardchain_voting_results_proto_rawDescData +} + +var file_cardchain_cardchain_voting_results_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_voting_results_proto_goTypes = []interface{}{ + (*VotingResults)(nil), // 0: cardchain.cardchain.VotingResults + (*VotingResult)(nil), // 1: cardchain.cardchain.VotingResult +} +var file_cardchain_cardchain_voting_results_proto_depIdxs = []int32{ + 1, // 0: cardchain.cardchain.VotingResults.cardResults:type_name -> cardchain.cardchain.VotingResult + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_voting_results_proto_init() } +func file_cardchain_cardchain_voting_results_proto_init() { + if File_cardchain_cardchain_voting_results_proto != nil { + return + } + file_cardchain_cardchain_voting_proto_init() + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_voting_results_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VotingResults); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_voting_results_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_voting_results_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_voting_results_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_voting_results_proto_msgTypes, + }.Build() + File_cardchain_cardchain_voting_results_proto = out.File + file_cardchain_cardchain_voting_results_proto_rawDesc = nil + file_cardchain_cardchain_voting_results_proto_goTypes = nil + file_cardchain_cardchain_voting_results_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/zealy.pulsar.go b/api/cardchain/cardchain/zealy.pulsar.go index 8dedd508..7879a400 100644 --- a/api/cardchain/cardchain/zealy.pulsar.go +++ b/api/cardchain/cardchain/zealy.pulsar.go @@ -3,13 +3,14 @@ package cardchain import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/flag.pulsar.go b/api/cardchain/featureflag/flag.pulsar.go index 10b5e452..932ce355 100644 --- a/api/cardchain/featureflag/flag.pulsar.go +++ b/api/cardchain/featureflag/flag.pulsar.go @@ -3,13 +3,14 @@ package featureflag import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/genesis.pulsar.go b/api/cardchain/featureflag/genesis.pulsar.go index 2c435bb2..ddfe3040 100644 --- a/api/cardchain/featureflag/genesis.pulsar.go +++ b/api/cardchain/featureflag/genesis.pulsar.go @@ -2,17 +2,18 @@ package featureflag import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sort "sort" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sort "sort" - sync "sync" ) var _ protoreflect.Map = (*_GenesisState_2_map)(nil) diff --git a/api/cardchain/featureflag/module/module.pulsar.go b/api/cardchain/featureflag/module/module.pulsar.go index 947efc3f..5650e208 100644 --- a/api/cardchain/featureflag/module/module.pulsar.go +++ b/api/cardchain/featureflag/module/module.pulsar.go @@ -2,15 +2,16 @@ package module import ( - _ "cosmossdk.io/api/cosmos/app/v1alpha1" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/cosmos/app/v1alpha1" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/params.pulsar.go b/api/cardchain/featureflag/params.pulsar.go index fb51fec2..6b347b45 100644 --- a/api/cardchain/featureflag/params.pulsar.go +++ b/api/cardchain/featureflag/params.pulsar.go @@ -2,16 +2,17 @@ package featureflag import ( - _ "cosmossdk.io/api/amino" fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + + _ "cosmossdk.io/api/amino" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query.pulsar.go b/api/cardchain/featureflag/query.pulsar.go index 3419d3a4..1e62212d 100644 --- a/api/cardchain/featureflag/query.pulsar.go +++ b/api/cardchain/featureflag/query.pulsar.go @@ -2,18 +2,19 @@ package featureflag import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" - fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query_grpc.pb.go b/api/cardchain/featureflag/query_grpc.pb.go index f7957337..0e8130e8 100644 --- a/api/cardchain/featureflag/query_grpc.pb.go +++ b/api/cardchain/featureflag/query_grpc.pb.go @@ -8,6 +8,7 @@ package featureflag import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/featureflag/tx.pulsar.go b/api/cardchain/featureflag/tx.pulsar.go index 0cef5f49..dd3db629 100644 --- a/api/cardchain/featureflag/tx.pulsar.go +++ b/api/cardchain/featureflag/tx.pulsar.go @@ -2,18 +2,19 @@ package featureflag import ( + fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/msg/v1" - fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" ) var ( diff --git a/api/cardchain/featureflag/tx_grpc.pb.go b/api/cardchain/featureflag/tx_grpc.pb.go index 95442cac..9d8cbe66 100644 --- a/api/cardchain/featureflag/tx_grpc.pb.go +++ b/api/cardchain/featureflag/tx_grpc.pb.go @@ -8,6 +8,7 @@ package featureflag import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index e4ef36b7..0d026fd6 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info/{activeSets}/{cardsNumber}/{matchesNumber}/{sellOffersNumber}/{councilsNumber}/{lastCardModified}":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","parameters":[{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"activeSets","in":"path","required":true},{"type":"string","format":"uint64","name":"cardsNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"matchesNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"sellOffersNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"councilsNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"lastCardModified","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin23","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin24","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.auth.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the x/auth module\nparameters. The authority defaults to the x/gov module account.","operationId":"AuthMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","operationId":"AuthMsg_Exec","parameters":[{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Grant":{"post":{"tags":["Msg"],"summary":"Grant grants the provided authorization to the grantee on the granter's\naccount with the provided expiration time. If there is already a grant\nfor the given (granter, grantee, Authorization) triple, then the grant\nwill be overwritten.","operationId":"AuthMsg_Grant","parameters":[{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Revoke":{"post":{"tags":["Msg"],"summary":"Revoke revokes any authorization corresponding to the provided method name on the\ngranter's account that has been granted to the grantee.","operationId":"AuthMsg_Revoke","parameters":[{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevokeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.autocli.v1.Query/AppOptions":{"post":{"tags":["Query"],"summary":"AppOptions returns the autocli options for all of the modules in an app.","operationId":"AuthQuery_AppOptions","parameters":[{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/MultiSend":{"post":{"tags":["Msg"],"summary":"MultiSend defines a method for sending coins from some accounts to other accounts.","operationId":"AuthMsg_MultiSend","parameters":[{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method for sending coins from one account to another account.","operationId":"AuthMsg_Send","parameters":[{"description":"MsgSend represents a message to send coins from one account to another.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/SetSendEnabled":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"SetSendEnabled is a governance operation for setting the SendEnabled flag\non any number of Denoms. Only the entries to add or update should be\nincluded. Entries that already exist in the store, but that aren't\nincluded in this message, will be left unchanged.","operationId":"AuthMsg_SetSendEnabled","parameters":[{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabled"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/bank module parameters.\nThe authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin41","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/AuthorizeCircuitBreaker":{"post":{"tags":["Msg"],"summary":"AuthorizeCircuitBreaker allows a super-admin to grant (or revoke) another\naccount's circuit breaker permissions.","operationId":"AuthMsg_AuthorizeCircuitBreaker","parameters":[{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/ResetCircuitBreaker":{"post":{"tags":["Msg"],"summary":"ResetCircuitBreaker resumes processing of Msg's in the state machine that\nhave been been paused using TripCircuitBreaker.","operationId":"AuthMsg_ResetCircuitBreaker","parameters":[{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/TripCircuitBreaker":{"post":{"tags":["Msg"],"summary":"TripCircuitBreaker pauses processing of Msg's in the state machine.","operationId":"AuthMsg_TripCircuitBreaker","parameters":[{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.consensus.v1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/consensus module parameters.\nThe authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin54","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/crisis module\nparameters. The authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin56","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/VerifyInvariant":{"post":{"tags":["Msg"],"summary":"VerifyInvariant defines a method to verify a particular invariant.","operationId":"AuthMsg_VerifyInvariant","parameters":[{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/CommunityPoolSpend":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"CommunityPoolSpend defines a governance operation for sending tokens from\nthe community pool in the x/distribution module to another account, which\ncould be the governance module itself. The authority is defined in the\nkeeper.","operationId":"AuthMsg_CommunityPoolSpend","parameters":[{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/DepositValidatorRewardsPool":{"post":{"description":"Since: cosmos-sdk 0.50","tags":["Msg"],"summary":"DepositValidatorRewardsPool defines a method to provide additional rewards\nto delegators to a specific validator.","operationId":"AuthMsg_DepositValidatorRewardsPool","parameters":[{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.\n\nSince: cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/FundCommunityPool":{"post":{"tags":["Msg"],"summary":"FundCommunityPool defines a method to allow an account to directly\nfund the community pool.","operationId":"AuthMsg_FundCommunityPool","parameters":[{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/SetWithdrawAddress":{"post":{"tags":["Msg"],"summary":"SetWithdrawAddress defines a method to change the withdraw address\nfor a delegator (or validator self-delegation).","operationId":"AuthMsg_SetWithdrawAddress","parameters":[{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/distribution\nmodule parameters. The authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin67","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward":{"post":{"tags":["Msg"],"summary":"WithdrawDelegatorReward defines a method to withdraw rewards of delegator\nfrom a single validator.","operationId":"AuthMsg_WithdrawDelegatorReward","parameters":[{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission":{"post":{"tags":["Msg"],"summary":"WithdrawValidatorCommission defines a method to withdraw the\nfull commission to the validator address.","operationId":"AuthMsg_WithdrawValidatorCommission","parameters":[{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.evidence.v1beta1.Msg/SubmitEvidence":{"post":{"tags":["Msg"],"summary":"SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or\ncounterfactual signing.","operationId":"AuthMsg_SubmitEvidence","parameters":[{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidence"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/GrantAllowance":{"post":{"tags":["Msg"],"summary":"GrantAllowance grants fee allowance to the grantee on the granter's\naccount with the provided expiration time.","operationId":"AuthMsg_GrantAllowance","parameters":[{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/PruneAllowances":{"post":{"description":"Since cosmos-sdk 0.50","tags":["Msg"],"summary":"PruneAllowances prunes expired fee allowances, currently up to 75 at a time.","operationId":"AuthMsg_PruneAllowances","parameters":[{"description":"MsgPruneAllowances prunes expired fee allowances.\n\nSince cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowances"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/RevokeAllowance":{"post":{"tags":["Msg"],"summary":"RevokeAllowance revokes any fee allowance of granter's account that\nhas been granted to the grantee.","operationId":"AuthMsg_RevokeAllowance","parameters":[{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/CancelProposal":{"post":{"description":"Since: cosmos-sdk 0.50","tags":["Msg"],"summary":"CancelProposal defines a method to cancel governance proposal","operationId":"AuthMsg_CancelProposal","parameters":[{"description":"MsgCancelProposal is the Msg/CancelProposal request type.\n\nSince: cosmos-sdk 0.50","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"AuthMsg_Deposit","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/ExecLegacyContent":{"post":{"tags":["Msg"],"summary":"ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal\nto execute a legacy content-based proposal.","operationId":"AuthMsg_ExecLegacyContent","parameters":[{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given the messages.","operationId":"AuthMsg_SubmitProposal","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/gov module\nparameters. The authority is defined in the keeper.","operationId":"AuthMsg_UpdateParamsMixin80","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"AuthMsg_Vote","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/VoteWeighted":{"post":{"tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"AuthMsg_VoteWeighted","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"AuthMsg_DepositMixin84","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given a content.","operationId":"AuthMsg_SubmitProposalMixin84","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"AuthMsg_VoteMixin84","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/VoteWeighted":{"post":{"description":"Since: cosmos-sdk 0.43","tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"AuthMsg_VoteWeightedMixin84","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.\n\nSince: cosmos-sdk 0.43","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroup":{"post":{"tags":["Msg"],"summary":"CreateGroup creates a new group with an admin account address, a list of members and some optional metadata.","operationId":"AuthMsg_CreateGroup","parameters":[{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupPolicy creates a new group policy using given DecisionPolicy.","operationId":"AuthMsg_CreateGroupPolicy","parameters":[{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupWithPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupWithPolicy creates a new group with policy.","operationId":"AuthMsg_CreateGroupWithPolicy","parameters":[{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec executes a proposal.","operationId":"AuthMsg_ExecMixin88","parameters":[{"description":"MsgExec is the Msg/Exec request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/LeaveGroup":{"post":{"tags":["Msg"],"summary":"LeaveGroup allows a group member to leave the group.","operationId":"AuthMsg_LeaveGroup","parameters":[{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal submits a new proposal.","operationId":"AuthMsg_SubmitProposalMixin88","parameters":[{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupAdmin updates the group admin with given group id and previous admin address.","operationId":"AuthMsg_UpdateGroupAdmin","parameters":[{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMembers":{"post":{"tags":["Msg"],"summary":"UpdateGroupMembers updates the group members with given group id and admin address.","operationId":"AuthMsg_UpdateGroupMembers","parameters":[{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembers"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupMetadata updates the group metadata with given group id and admin address.","operationId":"AuthMsg_UpdateGroupMetadata","parameters":[{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyAdmin updates a group policy admin.","operationId":"AuthMsg_UpdateGroupPolicyAdmin","parameters":[{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyDecisionPolicy":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyDecisionPolicy allows a group policy's decision policy to be updated.","operationId":"AuthMsg_UpdateGroupPolicyDecisionPolicy","parameters":[{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyMetadata updates a group policy metadata.","operationId":"AuthMsg_UpdateGroupPolicyMetadata","parameters":[{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote allows a voter to vote on a proposal.","operationId":"AuthMsg_VoteMixin88","parameters":[{"description":"MsgVote is the Msg/Vote request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/WithdrawProposal":{"post":{"tags":["Msg"],"summary":"WithdrawProposal withdraws a proposal.","operationId":"AuthMsg_WithdrawProposal","parameters":[{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.mint.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/mint module\nparameters. The authority is defaults to the x/gov module account.","operationId":"AuthMsg_UpdateParamsMixin93","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.nft.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method to send a nft from one account to another account.","operationId":"AuthMsg_SendMixin99","parameters":[{"description":"MsgSend represents a message to send a nft from one account to another account.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/Unjail":{"post":{"tags":["Msg"],"summary":"Unjail defines a method for unjailing a jailed validator, thus returning\nthem into the bonded validator set, so they can begin receiving provisions\nand rewards again.","operationId":"AuthMsg_Unjail","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjail"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjailResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/UpdateParams":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/slashing module\nparameters. The authority defaults to the x/gov module account.","operationId":"AuthMsg_UpdateParamsMixin106","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/BeginRedelegate":{"post":{"tags":["Msg"],"summary":"BeginRedelegate defines a method for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","operationId":"AuthMsg_BeginRedelegate","parameters":[{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CancelUnbondingDelegation defines a method for performing canceling the unbonding delegation\nand delegate back to previous validator.","operationId":"AuthMsg_CancelUnbondingDelegation","parameters":[{"description":"Since: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CreateValidator":{"post":{"tags":["Msg"],"summary":"CreateValidator defines a method for creating a new validator.","operationId":"AuthMsg_CreateValidator","parameters":[{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Delegate":{"post":{"tags":["Msg"],"summary":"Delegate defines a method for performing a delegation of coins\nfrom a delegator to a validator.","operationId":"AuthMsg_Delegate","parameters":[{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/EditValidator":{"post":{"tags":["Msg"],"summary":"EditValidator defines a method for editing an existing validator.","operationId":"AuthMsg_EditValidator","parameters":[{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Undelegate":{"post":{"tags":["Msg"],"summary":"Undelegate defines a method for performing an undelegation from a\ndelegate and a validator.","operationId":"AuthMsg_Undelegate","parameters":[{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines an operation for updating the x/staking module\nparameters.\nSince: cosmos-sdk 0.47","operationId":"AuthMsg_UpdateParamsMixin111","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenCommit":{"post":{"tags":["ABCIListenerService"],"summary":"ListenCommit is the corresponding endpoint for ABCIListener.ListenCommit","operationId":"AuthABCIListenerService_ListenCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenFinalizeBlock":{"post":{"tags":["ABCIListenerService"],"summary":"ListenFinalizeBlock is the corresponding endpoint for ABCIListener.ListenEndBlock","operationId":"AuthABCIListenerService_ListenFinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/CancelUpgrade":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CancelUpgrade is a governance operation for cancelling a previously\napproved software upgrade.","operationId":"AuthMsg_CancelUpgrade","parameters":[{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/SoftwareUpgrade":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"SoftwareUpgrade is a governance operation for initiating a software upgrade.","operationId":"AuthMsg_SoftwareUpgrade","parameters":[{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePeriodicVestingAccount":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CreatePeriodicVestingAccount defines a method that enables creating a\nperiodic vesting account.","operationId":"AuthMsg_CreatePeriodicVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePermanentLockedAccount":{"post":{"description":"Since: cosmos-sdk 0.46","tags":["Msg"],"summary":"CreatePermanentLockedAccount defines a method that enables creating a permanent\nlocked account.","operationId":"AuthMsg_CreatePermanentLockedAccount","parameters":[{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.\n\nSince: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreateVestingAccount":{"post":{"tags":["Msg"],"summary":"CreateVestingAccount defines a method that enables creating a vesting\naccount.","operationId":"AuthMsg_CreateVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/account_info/{address}":{"get":{"description":"Since: cosmos-sdk 0.47","tags":["Query"],"summary":"AccountInfo queries account info which is common to all account types.","operationId":"AuthQuery_AccountInfo","parameters":[{"type":"string","description":"address is the account address string.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.43","tags":["Query"],"summary":"Accounts returns all the existing accounts.","operationId":"AuthQuery_Accounts","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account details based on address.","operationId":"AuthQuery_Account","parameters":[{"type":"string","description":"address defines the address to query for.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/address_by_id/{id}":{"get":{"description":"Since: cosmos-sdk 0.46.2","tags":["Query"],"summary":"AccountAddressByID returns account address based on account number.","operationId":"AuthQuery_AccountAddressByID","parameters":[{"type":"string","format":"int64","description":"Deprecated, use account_id instead\n\nid is the account number of the address to be queried. This field\nshould have been an uint64 (like all account numbers), and will be\nupdated to uint64 in a future version of the auth query.","name":"id","in":"path","required":true},{"type":"string","format":"uint64","description":"account_id is the account number of the address to be queried.\n\nSince: cosmos-sdk 0.47","name":"account_id","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountAddressByIDResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Bech32Prefix queries bech32Prefix","operationId":"AuthQuery_Bech32Prefix","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.Bech32PrefixResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_bytes}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AddressBytesToString converts Account Address bytes to string","operationId":"AuthQuery_AddressBytesToString","parameters":[{"type":"string","format":"byte","name":"address_bytes","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressBytesToStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_string}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AddressStringToBytes converts Address string to bytes","operationId":"AuthQuery_AddressStringToBytes","parameters":[{"type":"string","name":"address_string","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressStringToBytesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"ModuleAccounts returns all the existing module accounts.","operationId":"AuthQuery_ModuleAccounts","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts/{name}":{"get":{"tags":["Query"],"summary":"ModuleAccountByName returns the module account info by module name","operationId":"AuthQuery_ModuleAccountByName","parameters":[{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountByNameResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters.","operationId":"AuthQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants":{"get":{"tags":["Query"],"summary":"Returns list of `Authorization`, granted to the grantee by the granter.","operationId":"AuthQuery_Grants","parameters":[{"type":"string","name":"granter","in":"query"},{"type":"string","name":"grantee","in":"query"},{"type":"string","description":"Optional, msg_type_url, when set, will query only grants matching given msg type.","name":"msg_type_url","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/grantee/{grantee}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"GranteeGrants returns a list of `GrantAuthorization` by grantee.","operationId":"AuthQuery_GranteeGrants","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranteeGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/granter/{granter}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"GranterGrants returns list of `GrantAuthorization`, granted by granter.","operationId":"AuthQuery_GranterGrants","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranterGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"AllBalances queries the balance of all coins for a single account.","operationId":"AuthQuery_AllBalances","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"type":"boolean","description":"resolve_denom is the flag to resolve the denom into a human-readable form from the metadata.\n\nSince: cosmos-sdk 0.50","name":"resolve_denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryAllBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}/by_denom":{"get":{"tags":["Query"],"summary":"Balance queries the balance of a single coin for a single account.","operationId":"AuthQuery_Balance","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners/{denom}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46","tags":["Query"],"summary":"DenomOwners queries for all account addresses that own a particular token\ndenomination.","operationId":"AuthQuery_DenomOwners","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners_by_query":{"get":{"description":"Since: cosmos-sdk 0.50.3","tags":["Query"],"summary":"DenomOwnersByQuery queries for all account addresses that own a particular token\ndenomination.","operationId":"AuthQuery_DenomOwnersByQuery","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata":{"get":{"tags":["Query"],"summary":"DenomsMetadata queries the client metadata for all registered coin\ndenominations.","operationId":"AuthQuery_DenomsMetadata","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomsMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata/{denom}":{"get":{"tags":["Query"],"summary":"DenomMetadata queries the client metadata of a given coin denomination.","operationId":"AuthQuery_DenomMetadata","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata_by_query_string":{"get":{"tags":["Query"],"summary":"DenomMetadataByQueryString queries the client metadata of a given coin denomination.","operationId":"AuthQuery_DenomMetadataByQueryString","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/bank module.","operationId":"AuthQuery_ParamsMixin40","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/send_enabled":{"get":{"description":"This query only returns denominations that have specific SendEnabled settings.\nAny denomination that does not have a specific setting will use the default\nparams.default_send_enabled, and will not be returned by this query.\n\nSince: cosmos-sdk 0.47","tags":["Query"],"summary":"SendEnabled queries for SendEnabled entries.","operationId":"AuthQuery_SendEnabled","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"denoms is the specific denoms you want look up. Leave empty to get all entries.","name":"denoms","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46","tags":["Query"],"summary":"SpendableBalances queries the spendable balance of all coins for a single\naccount.","operationId":"AuthQuery_SpendableBalances","parameters":[{"type":"string","description":"address is the address to query spendable balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.47","tags":["Query"],"summary":"SpendableBalanceByDenom queries the spendable balance of a single denom for\na single account.","operationId":"AuthQuery_SpendableBalanceByDenom","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"TotalSupply queries the total supply of all coins.","operationId":"AuthQuery_TotalSupply","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryTotalSupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"SupplyOf queries the supply of a single coin.","operationId":"AuthQuery_SupplyOf","parameters":[{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySupplyOfResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/config":{"get":{"tags":["Service"],"summary":"Config queries for the operator configuration.","operationId":"AuthService_Config","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.ConfigResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/status":{"get":{"tags":["Service"],"summary":"Status queries for the node status.","operationId":"AuthService_Status","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.StatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/authn":{"get":{"tags":["ReflectionService"],"summary":"GetAuthnDescriptor returns information on how to authenticate transactions in the application\nNOTE: this RPC is still experimental and might be subject to breaking changes or removal in\nfuture releases of the cosmos-sdk.","operationId":"AuthReflectionService_GetAuthnDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/chain":{"get":{"tags":["ReflectionService"],"summary":"GetChainDescriptor returns the description of the chain","operationId":"AuthReflectionService_GetChainDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/codec":{"get":{"tags":["ReflectionService"],"summary":"GetCodecDescriptor returns the descriptor of the codec of the application","operationId":"AuthReflectionService_GetCodecDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/configuration":{"get":{"tags":["ReflectionService"],"summary":"GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application","operationId":"AuthReflectionService_GetConfigurationDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/query_services":{"get":{"tags":["ReflectionService"],"summary":"GetQueryServicesDescriptor returns the available gRPC queryable services of the application","operationId":"AuthReflectionService_GetQueryServicesDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/tx_descriptor":{"get":{"tags":["ReflectionService"],"summary":"GetTxDescriptor returns information on the used transaction object and available msgs that can be used","operationId":"AuthReflectionService_GetTxDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces":{"get":{"tags":["ReflectionService"],"summary":"ListAllInterfaces lists all the interfaces registered in the interface\nregistry.","operationId":"AuthReflectionService_ListAllInterfaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListAllInterfacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces/{interface_name}/implementations":{"get":{"tags":["ReflectionService"],"summary":"ListImplementations list all the concrete types that implement a given\ninterface.","operationId":"AuthReflectionService_ListImplementations","parameters":[{"type":"string","description":"interface_name defines the interface to query the implementations for.","name":"interface_name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListImplementationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/abci_query":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Service"],"summary":"ABCIQuery defines a query handler that supports ABCI queries directly to the\napplication, bypassing Tendermint completely. The ABCI query must contain\na valid and supported path, including app, custom, p2p, and store.","operationId":"AuthService_ABCIQuery","parameters":[{"type":"string","format":"byte","name":"data","in":"query"},{"type":"string","name":"path","in":"query"},{"type":"string","format":"int64","name":"height","in":"query"},{"type":"boolean","name":"prove","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ABCIQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/latest":{"get":{"tags":["Service"],"summary":"GetLatestBlock returns the latest block.","operationId":"AuthService_GetLatestBlock","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/{height}":{"get":{"tags":["Service"],"summary":"GetBlockByHeight queries block for given height.","operationId":"AuthService_GetBlockByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/node_info":{"get":{"tags":["Service"],"summary":"GetNodeInfo queries the current node info.","operationId":"AuthService_GetNodeInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetNodeInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/syncing":{"get":{"tags":["Service"],"summary":"GetSyncing queries node syncing.","operationId":"AuthService_GetSyncing","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetSyncingResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/latest":{"get":{"tags":["Service"],"summary":"GetLatestValidatorSet queries latest validator-set.","operationId":"AuthService_GetLatestValidatorSet","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/{height}":{"get":{"tags":["Service"],"summary":"GetValidatorSetByHeight queries validator-set at a given height.","operationId":"AuthService_GetValidatorSetByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"AuthQuery_AccountsMixin50","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"AuthQuery_AccountMixin50","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/disable_list":{"get":{"tags":["Query"],"summary":"DisabledList returns a list of disabled message urls","operationId":"AuthQuery_DisabledList","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.DisabledListResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/consensus/v1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/consensus module.","operationId":"AuthQuery_ParamsMixin53","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/community_pool":{"get":{"tags":["Query"],"summary":"CommunityPool queries the community pool coins.","operationId":"AuthQuery_CommunityPool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards":{"get":{"tags":["Query"],"summary":"DelegationTotalRewards queries the total rewards accrued by each\nvalidator.","operationId":"AuthQuery_DelegationTotalRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}":{"get":{"tags":["Query"],"summary":"DelegationRewards queries the total rewards accrued by a delegation.","operationId":"AuthQuery_DelegationRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true},{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators":{"get":{"tags":["Query"],"summary":"DelegatorValidators queries the validators of a delegator.","operationId":"AuthQuery_DelegatorValidators","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address":{"get":{"tags":["Query"],"summary":"DelegatorWithdrawAddress queries withdraw address of a delegator.","operationId":"AuthQuery_DelegatorWithdrawAddress","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries params of the distribution module.","operationId":"AuthQuery_ParamsMixin66","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}":{"get":{"tags":["Query"],"summary":"ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator","operationId":"AuthQuery_ValidatorDistributionInfo","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/commission":{"get":{"tags":["Query"],"summary":"ValidatorCommission queries accumulated commission for a validator.","operationId":"AuthQuery_ValidatorCommission","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards":{"get":{"tags":["Query"],"summary":"ValidatorOutstandingRewards queries rewards of a validator address.","operationId":"AuthQuery_ValidatorOutstandingRewards","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/slashes":{"get":{"tags":["Query"],"summary":"ValidatorSlashes queries slash events of a validator.","operationId":"AuthQuery_ValidatorSlashes","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true},{"type":"string","format":"uint64","description":"starting_height defines the optional starting height to query the slashes.","name":"starting_height","in":"query"},{"type":"string","format":"uint64","description":"starting_height defines the optional ending height to query the slashes.","name":"ending_height","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorSlashesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence":{"get":{"tags":["Query"],"summary":"AllEvidence queries all evidence.","operationId":"AuthQuery_AllEvidence","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryAllEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence/{hash}":{"get":{"tags":["Query"],"summary":"Evidence queries evidence based on evidence hash.","operationId":"AuthQuery_Evidence","parameters":[{"type":"string","description":"hash defines the evidence hash of the requested evidence.\n\nSince: cosmos-sdk 0.47","name":"hash","in":"path","required":true},{"type":"string","format":"byte","description":"evidence_hash defines the hash of the requested evidence.\nDeprecated: Use hash, a HEX encoded string, instead.","name":"evidence_hash","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}":{"get":{"tags":["Query"],"summary":"Allowance returns granted allwance to the grantee by the granter.","operationId":"AuthQuery_Allowance","parameters":[{"type":"string","description":"granter is the address of the user granting an allowance of their funds.","name":"granter","in":"path","required":true},{"type":"string","description":"grantee is the address of the user being granted an allowance of another user's funds.","name":"grantee","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowances/{grantee}":{"get":{"tags":["Query"],"summary":"Allowances returns all the grants for the given grantee address.","operationId":"AuthQuery_Allowances","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/issued/{granter}":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"AllowancesByGranter returns all the grants given by an address","operationId":"AuthQuery_AllowancesByGranter","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/constitution":{"get":{"tags":["Query"],"summary":"Constitution queries the chain's constitution.","operationId":"AuthQuery_Constitution","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryConstitutionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"AuthQuery_ParamsMixin79","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"AuthQuery_Proposals","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"AuthQuery_Proposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"AuthQuery_Deposits","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositAddr.","operationId":"AuthQuery_Deposit","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"AuthQuery_TallyResult","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"AuthQuery_Votes","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"AuthQuery_Vote","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"AuthQuery_ParamsMixin83","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"AuthQuery_ProposalsMixin83","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"AuthQuery_ProposalMixin83","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"AuthQuery_DepositsMixin83","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositor address.","operationId":"AuthQuery_DepositMixin83","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"AuthQuery_TallyResultMixin83","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"AuthQuery_VotesMixin83","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"AuthQuery_VoteMixin83","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_info/{group_id}":{"get":{"tags":["Query"],"summary":"GroupInfo queries group info based on group id.","operationId":"AuthQuery_GroupInfo","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_members/{group_id}":{"get":{"tags":["Query"],"summary":"GroupMembers queries members of a group by group id.","operationId":"AuthQuery_GroupMembers","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByAdmin queries group policies by admin address.","operationId":"AuthQuery_GroupPoliciesByAdmin","parameters":[{"type":"string","description":"admin is the admin address of the group policy.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_group/{group_id}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByGroup queries group policies by group id.","operationId":"AuthQuery_GroupPoliciesByGroup","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group policy's group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policy_info/{address}":{"get":{"tags":["Query"],"summary":"GroupPolicyInfo queries group policy info based on account address of group policy.","operationId":"AuthQuery_GroupPolicyInfo","parameters":[{"type":"string","description":"address is the account address of the group policy.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPolicyInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups":{"get":{"description":"Since: cosmos-sdk 0.47.1","tags":["Query"],"summary":"Groups queries all groups in state.","operationId":"AuthQuery_Groups","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupsByAdmin queries groups by admin address.","operationId":"AuthQuery_GroupsByAdmin","parameters":[{"type":"string","description":"admin is the account address of a group's admin.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_member/{address}":{"get":{"tags":["Query"],"summary":"GroupsByMember queries groups by member address.","operationId":"AuthQuery_GroupsByMember","parameters":[{"type":"string","description":"address is the group member address.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByMemberResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries a proposal based on proposal id.","operationId":"AuthQuery_ProposalMixin87","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult returns the tally result of a proposal. If the proposal is\nstill in voting period, then this query computes the current tally state,\nwhich might not be final. On the other hand, if the proposal is final,\nthen it simply returns the `final_tally_result` state stored in the\nproposal itself.","operationId":"AuthQuery_TallyResultMixin87","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique id of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals_by_group_policy/{address}":{"get":{"tags":["Query"],"summary":"ProposalsByGroupPolicy queries proposals based on account address of group policy.","operationId":"AuthQuery_ProposalsByGroupPolicy","parameters":[{"type":"string","description":"address is the account address of the group policy related to proposals.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalsByGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/vote_by_proposal_voter/{proposal_id}/{voter}":{"get":{"tags":["Query"],"summary":"VoteByProposalVoter queries a vote by proposal id and voter.","operationId":"AuthQuery_VoteByProposalVoter","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVoteByProposalVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"VotesByProposal queries a vote by proposal id.","operationId":"AuthQuery_VotesByProposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_voter/{voter}":{"get":{"tags":["Query"],"summary":"VotesByVoter queries a vote by voter.","operationId":"AuthQuery_VotesByVoter","parameters":[{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/annual_provisions":{"get":{"tags":["Query"],"summary":"AnnualProvisions current minting annual provisions value.","operationId":"AuthQuery_AnnualProvisions","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryAnnualProvisionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/inflation":{"get":{"tags":["Query"],"summary":"Inflation returns the current minting inflation value.","operationId":"AuthQuery_Inflation","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryInflationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params returns the total set of minting parameters.","operationId":"AuthQuery_ParamsMixin92","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/balance/{owner}/{class_id}":{"get":{"tags":["Query"],"summary":"Balance queries the number of NFTs of a given class owned by the owner, same as balanceOf in ERC721","operationId":"AuthQuery_BalanceMixin98","parameters":[{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"path","required":true},{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes":{"get":{"tags":["Query"],"summary":"Classes queries all NFT classes","operationId":"AuthQuery_Classes","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes/{class_id}":{"get":{"tags":["Query"],"summary":"Class queries an NFT class based on its id","operationId":"AuthQuery_Class","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts":{"get":{"tags":["Query"],"summary":"NFTs queries all NFTs of a given class or owner,choose at least one of the two, similar to tokenByIndex in\nERC721Enumerable","operationId":"AuthQuery_NFTs","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"query"},{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"NFT queries an NFT based on its class and id.","operationId":"AuthQuery_NFT","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/owner/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"Owner queries the owner of the NFT based on its class and id, same as ownerOf in ERC721","operationId":"AuthQuery_Owner","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryOwnerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/supply/{class_id}":{"get":{"tags":["Query"],"summary":"Supply queries the number of NFTs from the given class, same as totalSupply of ERC721.","operationId":"AuthQuery_Supply","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QuerySupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries a specific parameter of a module, given its subspace and\nkey.","operationId":"AuthQuery_ParamsMixin101","parameters":[{"type":"string","description":"subspace defines the module to query the parameter for.","name":"subspace","in":"query"},{"type":"string","description":"key defines the key of the parameter in the subspace.","name":"key","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/subspaces":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Subspaces queries for all registered subspaces and all keys for a subspace.","operationId":"AuthQuery_Subspaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QuerySubspacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of slashing module","operationId":"AuthQuery_ParamsMixin104","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos":{"get":{"tags":["Query"],"summary":"SigningInfos queries signing info of all validators","operationId":"AuthQuery_SigningInfos","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfosResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos/{cons_address}":{"get":{"tags":["Query"],"summary":"SigningInfo queries the signing info of given cons address","operationId":"AuthQuery_SigningInfo","parameters":[{"type":"string","description":"cons_address is the address to query signing info of","name":"cons_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegations/{delegator_addr}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorDelegations queries all delegations of a given delegator address.","operationId":"AuthQuery_DelegatorDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Redelegations queries redelegations of given address.","operationId":"AuthQuery_Redelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"src_validator_addr defines the validator address to redelegate from.","name":"src_validator_addr","in":"query"},{"type":"string","description":"dst_validator_addr defines the validator address to redelegate to.","name":"dst_validator_addr","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryRedelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorUnbondingDelegations queries all unbonding delegations of a given\ndelegator address.","operationId":"AuthQuery_DelegatorUnbondingDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorValidators queries all validators info for given delegator\naddress.","operationId":"AuthQuery_DelegatorValidatorsMixin109","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"DelegatorValidator queries validator info for given delegator validator\npair.","operationId":"AuthQuery_DelegatorValidator","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/historical_info/{height}":{"get":{"tags":["Query"],"summary":"HistoricalInfo queries the historical info for given height.","operationId":"AuthQuery_HistoricalInfo","parameters":[{"type":"string","format":"int64","description":"height defines at which height to query the historical info.","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryHistoricalInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/params":{"get":{"tags":["Query"],"summary":"Parameters queries the staking parameters.","operationId":"AuthQuery_ParamsMixin109","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/pool":{"get":{"tags":["Query"],"summary":"Pool queries the pool info.","operationId":"AuthQuery_Pool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Validators queries all validators that match the given status.","operationId":"AuthQuery_Validators","parameters":[{"type":"string","description":"status enables to query for validators matching a given status.","name":"status","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"Validator queries validator info for given validator address.","operationId":"AuthQuery_Validator","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorDelegations queries delegate info for given validator.","operationId":"AuthQuery_ValidatorDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}":{"get":{"tags":["Query"],"summary":"Delegation queries delegate info for given validator delegator pair.","operationId":"AuthQuery_Delegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation":{"get":{"tags":["Query"],"summary":"UnbondingDelegation queries unbonding info for given validator delegator\npair.","operationId":"AuthQuery_UnbondingDelegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorUnbondingDelegations queries unbonding delegations of a validator.","operationId":"AuthQuery_ValidatorUnbondingDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxDecode decodes the transaction.","operationId":"AuthService_TxDecode","parameters":[{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode/amino":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON.","operationId":"AuthService_TxDecodeAmino","parameters":[{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxEncode encodes the transaction.","operationId":"AuthService_TxEncode","parameters":[{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode/amino":{"post":{"description":"Since: cosmos-sdk 0.47","tags":["Service"],"summary":"TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes.","operationId":"AuthService_TxEncodeAmino","parameters":[{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/simulate":{"post":{"tags":["Service"],"summary":"Simulate simulates executing a transaction for estimating gas usage.","operationId":"AuthService_Simulate","parameters":[{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs":{"get":{"tags":["Service"],"summary":"GetTxsEvent fetches txs by event.","operationId":"AuthService_GetTxsEvent","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"events is the list of transaction event type.\nDeprecated post v0.47.x: use query instead, which should contain a valid\nevents query.","name":"events","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"},{"enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"],"type":"string","default":"ORDER_BY_UNSPECIFIED","description":" - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","name":"order_by","in":"query"},{"type":"string","format":"uint64","description":"page is the page number to query, starts at 1. If not provided, will\ndefault to first page.","name":"page","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"limit","in":"query"},{"type":"string","description":"query defines the transaction event query that is proxied to Tendermint's\nTxSearch RPC method. The query must be valid.\n\nSince cosmos-sdk 0.50","name":"query","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}},"post":{"tags":["Service"],"summary":"BroadcastTx broadcast transaction.","operationId":"AuthService_BroadcastTx","parameters":[{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/block/{height}":{"get":{"description":"Since: cosmos-sdk 0.45.2","tags":["Service"],"summary":"GetBlockWithTxs fetches a block with decoded txs.","operationId":"AuthService_GetBlockWithTxs","parameters":[{"type":"string","format":"int64","description":"height is the height of the block to query.","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetBlockWithTxsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/{hash}":{"get":{"tags":["Service"],"summary":"GetTx fetches a tx by hash.","operationId":"AuthService_GetTx","parameters":[{"type":"string","description":"hash is the tx hash to query, encoded as a hex string.","name":"hash","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/applied_plan/{name}":{"get":{"tags":["Query"],"summary":"AppliedPlan queries a previously applied upgrade plan by its name.","operationId":"AuthQuery_AppliedPlan","parameters":[{"type":"string","description":"name is the name of the applied plan to query for.","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAppliedPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/authority":{"get":{"description":"Since: cosmos-sdk 0.46","tags":["Query"],"summary":"Returns the account with authority to conduct upgrades","operationId":"AuthQuery_Authority","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAuthorityResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/current_plan":{"get":{"tags":["Query"],"summary":"CurrentPlan queries the current upgrade plan.","operationId":"AuthQuery_CurrentPlan","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryCurrentPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/module_versions":{"get":{"description":"Since: cosmos-sdk 0.43","tags":["Query"],"summary":"ModuleVersions queries the list of module versions from state.","operationId":"AuthQuery_ModuleVersions","parameters":[{"type":"string","description":"module_name is a field to query a specific module\nconsensus version from state. Leaving this empty will\nfetch the full list of module versions from state","name":"module_name","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryModuleVersionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}":{"get":{"tags":["Query"],"summary":"UpgradedConsensusState queries the consensus state that will serve\nas a trusted kernel for the next version of this chain. It will only be\nstored at the last height of this chain.\nUpgradedConsensusState RPC not supported with legacy querier\nThis rpc is deprecated now that IBC has its own replacement\n(https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54)","operationId":"AuthQuery_UpgradedConsensusState","parameters":[{"type":"string","format":"int64","description":"last height of the current chain must be sent in request\nas this is the height under which next consensus state is stored","name":"last_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ApplySnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ApplySnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestApplySnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/CheckTx":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_CheckTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCheckTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCheckTx"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Commit":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Commit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Echo":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Echo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestEcho"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseEcho"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ExtendVote":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ExtendVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestExtendVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseExtendVote"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/FinalizeBlock":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_FinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Flush":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Flush","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFlush"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFlush"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Info":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Info","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInfo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInfo"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/InitChain":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_InitChain","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInitChain"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInitChain"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ListSnapshots":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ListSnapshots","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestListSnapshots"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseListSnapshots"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/LoadSnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_LoadSnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestLoadSnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseLoadSnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/OfferSnapshot":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_OfferSnapshot","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestOfferSnapshot"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/PrepareProposal":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_PrepareProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestPrepareProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponsePrepareProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ProcessProposal":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_ProcessProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestProcessProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Query":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_Query","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestQuery"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseQuery"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/VerifyVoteExtension":{"post":{"tags":["ABCI"],"operationId":"AuthABCI_VerifyVoteExtension","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestVerifyVoteExtension"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.auth.v1beta1.AddressBytesToStringResponse":{"description":"AddressBytesToStringResponse is the response type for AddressString rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address_string":{"type":"string"}}},"cosmos.auth.v1beta1.AddressStringToBytesResponse":{"description":"AddressStringToBytesResponse is the response type for AddressBytes rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address_bytes":{"type":"string","format":"byte"}}},"cosmos.auth.v1beta1.BaseAccount":{"description":"BaseAccount defines a base account type. It contains all the necessary fields\nfor basic account functionality. Any custom account type should extend this\ntype for additional functionality (e.g. vesting).","type":"object","properties":{"account_number":{"type":"string","format":"uint64"},"address":{"type":"string"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"sequence":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.Bech32PrefixResponse":{"description":"Bech32PrefixResponse is the response type for Bech32Prefix rpc method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"bech32_prefix":{"type":"string"}}},"cosmos.auth.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/auth parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.auth.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.auth.v1beta1.Params":{"description":"Params defines the parameters for the auth module.","type":"object","properties":{"max_memo_characters":{"type":"string","format":"uint64"},"sig_verify_cost_ed25519":{"type":"string","format":"uint64"},"sig_verify_cost_secp256k1":{"type":"string","format":"uint64"},"tx_sig_limit":{"type":"string","format":"uint64"},"tx_size_cost_per_byte":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.QueryAccountAddressByIDResponse":{"description":"Since: cosmos-sdk 0.46.2","type":"object","title":"QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method","properties":{"account_address":{"type":"string"}}},"cosmos.auth.v1beta1.QueryAccountInfoResponse":{"description":"QueryAccountInfoResponse is the Query/AccountInfo response type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"info":{"description":"info is the account info which is represented by BaseAccount.","$ref":"#/definitions/cosmos.auth.v1beta1.BaseAccount"}}},"cosmos.auth.v1beta1.QueryAccountResponse":{"description":"QueryAccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"account":{"description":"account defines the account of the corresponding address.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryAccountsResponse":{"description":"QueryAccountsResponse is the response type for the Query/Accounts RPC method.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"accounts":{"type":"array","title":"accounts are the existing accounts","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.auth.v1beta1.QueryModuleAccountByNameResponse":{"description":"QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method.","type":"object","properties":{"account":{"$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryModuleAccountsResponse":{"description":"QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.auth.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.authz.v1beta1.Grant":{"description":"Grant gives permissions to execute\nthe provide method with expiration time.","type":"object","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time","title":"time when the grant will expire and will be pruned. If null, then the grant\ndoesn't have a time expiration (other conditions in `authorization`\nmay apply to invalidate the grant)"}}},"cosmos.authz.v1beta1.GrantAuthorization":{"type":"object","title":"GrantAuthorization extends a grant with both the addresses of the grantee and granter.\nIt is used in genesis.proto and query.proto","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgExec":{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","type":"object","properties":{"grantee":{"type":"string"},"msgs":{"description":"Execute Msg.\nThe x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg))\ntriple and validate it.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.authz.v1beta1.MsgExecResponse":{"description":"MsgExecResponse defines the Msg/MsgExecResponse response type.","type":"object","properties":{"results":{"type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.authz.v1beta1.MsgGrant":{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","type":"object","properties":{"grant":{"$ref":"#/definitions/cosmos.authz.v1beta1.Grant"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgGrantResponse":{"description":"MsgGrantResponse defines the Msg/MsgGrant response type.","type":"object"},"cosmos.authz.v1beta1.MsgRevoke":{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","type":"object","properties":{"grantee":{"type":"string"},"granter":{"type":"string"},"msg_type_url":{"type":"string"}}},"cosmos.authz.v1beta1.MsgRevokeResponse":{"description":"MsgRevokeResponse defines the Msg/MsgRevokeResponse response type.","type":"object"},"cosmos.authz.v1beta1.QueryGranteeGrantsResponse":{"description":"QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted to the grantee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGranterGrantsResponse":{"description":"QueryGranterGrantsResponse is the response type for the Query/GranterGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGrantsResponse":{"description":"QueryGrantsResponse is the response type for the Query/Authorizations RPC method.","type":"object","properties":{"grants":{"description":"authorizations is a list of grants granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.autocli.v1.AppOptionsRequest":{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","type":"object"},"cosmos.autocli.v1.AppOptionsResponse":{"description":"AppOptionsResponse is the RemoteInfoService/AppOptions response type.","type":"object","properties":{"module_options":{"description":"module_options is a map of module name to autocli module options.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ModuleOptions"}}}},"cosmos.autocli.v1.FlagOptions":{"description":"FlagOptions are options for flags generated from rpc request fields.\nBy default, all request fields are configured as flags based on the\nkebab-case name of the field. Fields can be turned into positional arguments\ninstead by using RpcCommandOptions.positional_args.","type":"object","properties":{"default_value":{"description":"default_value is the default value as text.","type":"string"},"deprecated":{"description":"deprecated is the usage text to show if this flag is deprecated.","type":"string"},"hidden":{"type":"boolean","title":"hidden hides the flag from help/usage text"},"name":{"description":"name is an alternate name to use for the field flag.","type":"string"},"shorthand":{"description":"shorthand is a one-letter abbreviated flag.","type":"string"},"shorthand_deprecated":{"description":"shorthand_deprecated is the usage text to show if the shorthand of this flag is deprecated.","type":"string"},"usage":{"description":"usage is the help message.","type":"string"}}},"cosmos.autocli.v1.ModuleOptions":{"description":"ModuleOptions describes the CLI options for a Cosmos SDK module.","type":"object","properties":{"query":{"description":"query describes the queries commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"},"tx":{"description":"tx describes the tx commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}},"cosmos.autocli.v1.PositionalArgDescriptor":{"description":"PositionalArgDescriptor describes a positional argument.","type":"object","properties":{"proto_field":{"description":"proto_field specifies the proto field to use as the positional arg. Any\nfields used as positional args will not have a flag generated.","type":"string"},"varargs":{"description":"varargs makes a positional parameter a varargs parameter. This can only be\napplied to last positional parameter and the proto_field must a repeated\nfield.","type":"boolean"}}},"cosmos.autocli.v1.RpcCommandOptions":{"description":"RpcCommandOptions specifies options for commands generated from protobuf\nrpc methods.","type":"object","properties":{"alias":{"description":"alias is an array of aliases that can be used instead of the first word in Use.","type":"array","items":{"type":"string"}},"deprecated":{"description":"deprecated defines, if this command is deprecated and should print this string when used.","type":"string"},"example":{"description":"example is examples of how to use the command.","type":"string"},"flag_options":{"description":"flag_options are options for flags generated from rpc request fields.\nBy default all request fields are configured as flags. They can\nalso be configured as positional args instead using positional_args.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.FlagOptions"}},"long":{"description":"long is the long message shown in the 'help \u003cthis-command\u003e' output.","type":"string"},"positional_args":{"description":"positional_args specifies positional arguments for the command.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.PositionalArgDescriptor"}},"rpc_method":{"description":"rpc_method is short name of the protobuf rpc method that this command is\ngenerated from.","type":"string"},"short":{"description":"short is the short description shown in the 'help' output.","type":"string"},"skip":{"description":"skip specifies whether to skip this rpc method when generating commands.","type":"boolean"},"suggest_for":{"description":"suggest_for is an array of command names for which this command will be suggested -\nsimilar to aliases but only suggests.","type":"array","items":{"type":"string"}},"use":{"description":"use is the one-line usage method. It also allows specifying an alternate\nname for the command as the first word of the usage text.\n\nBy default the name of an rpc command is the kebab-case short name of the\nrpc method.","type":"string"},"version":{"description":"version defines the version for this command. If this value is non-empty and the command does not\ndefine a \"version\" flag, a \"version\" boolean flag will be added to the command and, if specified,\nwill print content of the \"Version\" variable. A shorthand \"v\" flag will also be added if the\ncommand does not define one.","type":"string"}}},"cosmos.autocli.v1.ServiceCommandDescriptor":{"description":"ServiceCommandDescriptor describes a CLI command based on a protobuf service.","type":"object","properties":{"rpc_command_options":{"description":"rpc_command_options are options for commands generated from rpc methods.\nIf no options are specified for a given rpc method on the service, a\ncommand will be generated for that method with the default options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.RpcCommandOptions"}},"service":{"description":"service is the fully qualified name of the protobuf service to build\nthe command from. It can be left empty if sub_commands are used instead\nwhich may be the case if a module provides multiple tx and/or query services.","type":"string"},"sub_commands":{"description":"sub_commands is a map of optional sub-commands for this command based on\ndifferent protobuf services. The map key is used as the name of the\nsub-command.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}}},"cosmos.bank.v1beta1.DenomOwner":{"description":"DenomOwner defines structure representing an account that owns or holds a\nparticular denominated token. It contains the account address and account\nbalance of the denominated token.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"address":{"description":"address defines the address that owns a particular denomination.","type":"string"},"balance":{"description":"balance is the balance of the denominated coin for an account.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.DenomUnit":{"description":"DenomUnit represents a struct that describes a given\ndenomination unit of the basic token.","type":"object","properties":{"aliases":{"type":"array","title":"aliases is a list of string aliases for the given denom","items":{"type":"string"}},"denom":{"description":"denom represents the string name of the given denom unit (e.g uatom).","type":"string"},"exponent":{"description":"exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom).","type":"integer","format":"int64"}}},"cosmos.bank.v1beta1.Input":{"description":"Input models transaction input.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Metadata":{"description":"Metadata represents a struct that describes\na basic token.","type":"object","properties":{"base":{"description":"base represents the base denom (should be the DenomUnit with exponent = 0).","type":"string"},"denom_units":{"type":"array","title":"denom_units represents the list of DenomUnit's for a given coin","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomUnit"}},"description":{"type":"string"},"display":{"description":"display indicates the suggested denom that should be\ndisplayed in clients.","type":"string"},"name":{"description":"Since: cosmos-sdk 0.43","type":"string","title":"name defines the name of the token (eg: Cosmos Atom)"},"symbol":{"description":"symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.\n\nSince: cosmos-sdk 0.43","type":"string"},"uri":{"description":"URI to a document (on or off-chain) that contains additional information. Optional.\n\nSince: cosmos-sdk 0.46","type":"string"},"uri_hash":{"description":"URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.\n\nSince: cosmos-sdk 0.46","type":"string"}}},"cosmos.bank.v1beta1.MsgMultiSend":{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","type":"object","properties":{"inputs":{"description":"Inputs, despite being `repeated`, only allows one sender input. This is\nchecked in MsgMultiSend's ValidateBasic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Input"}},"outputs":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Output"}}}},"cosmos.bank.v1beta1.MsgMultiSendResponse":{"description":"MsgMultiSendResponse defines the Msg/MultiSend response type.","type":"object"},"cosmos.bank.v1beta1.MsgSend":{"description":"MsgSend represents a message to send coins from one account to another.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.bank.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.bank.v1beta1.MsgSetSendEnabled":{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module.","type":"string"},"send_enabled":{"description":"send_enabled is the list of entries to add or update.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}},"use_default_for":{"description":"use_default_for is a list of denoms that should use the params.default_send_enabled value.\nDenoms listed here will have their SendEnabled entries deleted.\nIf a denom is included that doesn't have a SendEnabled entry,\nit will be ignored.","type":"array","items":{"type":"string"}}}},"cosmos.bank.v1beta1.MsgSetSendEnabledResponse":{"description":"MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.bank.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/bank parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.bank.v1beta1.Output":{"description":"Output models transaction outputs.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Params":{"description":"Params defines the parameters for the bank module.","type":"object","properties":{"default_send_enabled":{"type":"boolean"},"send_enabled":{"description":"Deprecated: Use of SendEnabled in params is deprecated.\nFor genesis, use the newly added send_enabled field in the genesis object.\nStorage, lookup, and manipulation of this information is now in the keeper.\n\nAs of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QueryAllBalancesResponse":{"description":"QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod.","type":"object","properties":{"balances":{"description":"balances is the balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryBalanceResponse":{"description":"QueryBalanceResponse is the response type for the Query/Balance RPC method.","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse":{"description":"QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC\nmethod. Identical with QueryDenomMetadataResponse but receives denom as query string in request.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomMetadataResponse":{"description":"QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC\nmethod.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse":{"description":"QueryDenomOwnersByQueryResponse defines the RPC response of a DenomOwnersByQuery RPC query.\n\nSince: cosmos-sdk 0.50.3","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomOwnersResponse":{"description":"QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomsMetadataResponse":{"description":"QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC\nmethod.","type":"object","properties":{"metadatas":{"description":"metadata provides the client information for all the registered tokens.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/bank parameters.","type":"object","properties":{"params":{"description":"params provides the parameters of the bank module.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.QuerySendEnabledResponse":{"description":"QuerySendEnabledResponse defines the RPC response of a SendEnable query.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response. This field is only\npopulated if the denoms field in the request is empty.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"send_enabled":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse":{"description":"QuerySpendableBalanceByDenomResponse defines the gRPC response structure for\nquerying an account's spendable balance for a specific denom.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QuerySpendableBalancesResponse":{"description":"QuerySpendableBalancesResponse defines the gRPC response structure for querying\nan account's spendable balances.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"balances":{"description":"balances is the spendable balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QuerySupplyOfResponse":{"description":"QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method.","type":"object","properties":{"amount":{"description":"amount is the supply of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryTotalSupplyResponse":{"type":"object","title":"QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC\nmethod","properties":{"pagination":{"description":"pagination defines the pagination in the response.\n\nSince: cosmos-sdk 0.43","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"supply":{"type":"array","title":"supply is the supply of the coins","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.SendEnabled":{"description":"SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable).","type":"object","properties":{"denom":{"type":"string"},"enabled":{"type":"boolean"}}},"cosmos.base.abci.v1beta1.ABCIMessageLog":{"description":"ABCIMessageLog defines a structure containing an indexed tx ABCI message log.","type":"object","properties":{"events":{"description":"Events contains a slice of Event objects that were emitted during some\nexecution.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.StringEvent"}},"log":{"type":"string"},"msg_index":{"type":"integer","format":"int64"}}},"cosmos.base.abci.v1beta1.Attribute":{"description":"Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes.","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"cosmos.base.abci.v1beta1.GasInfo":{"description":"GasInfo defines tx execution gas context.","type":"object","properties":{"gas_used":{"description":"GasUsed is the amount of gas actually consumed.","type":"string","format":"uint64"},"gas_wanted":{"description":"GasWanted is the maximum units of work we allow this tx to perform.","type":"string","format":"uint64"}}},"cosmos.base.abci.v1beta1.Result":{"description":"Result is the union of ResponseFormat and ResponseCheckTx.","type":"object","properties":{"data":{"description":"Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL.","type":"string","format":"byte"},"events":{"description":"Events contains a slice of Event objects that were emitted during message\nor handler execution.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"log":{"description":"Log contains the log information from message or handler execution.","type":"string"},"msg_responses":{"description":"msg_responses contains the Msg handler responses type packed in Anys.\n\nSince: cosmos-sdk 0.46","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.base.abci.v1beta1.StringEvent":{"description":"StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.Attribute"}},"type":{"type":"string"}}},"cosmos.base.abci.v1beta1.TxResponse":{"description":"TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded.","type":"object","properties":{"code":{"description":"Response code.","type":"integer","format":"int64"},"codespace":{"type":"string","title":"Namespace for the Code"},"data":{"description":"Result bytes, if any.","type":"string"},"events":{"description":"Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"description":"Amount of gas consumed by transaction.","type":"string","format":"int64"},"gas_wanted":{"description":"Amount of gas requested for transaction.","type":"string","format":"int64"},"height":{"type":"string","format":"int64","title":"The block height"},"info":{"description":"Additional information. May be non-deterministic.","type":"string"},"logs":{"description":"The output of the application's logger (typed). May be non-deterministic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.ABCIMessageLog"}},"raw_log":{"description":"The output of the application's logger (raw string). May be\nnon-deterministic.","type":"string"},"timestamp":{"description":"Time of the previous block. For heights \u003e 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time.","type":"string"},"tx":{"description":"The request transaction bytes.","$ref":"#/definitions/google.protobuf.Any"},"txhash":{"description":"The transaction hash.","type":"string"}}},"cosmos.base.node.v1beta1.ConfigResponse":{"description":"ConfigResponse defines the response structure for the Config gRPC query.","type":"object","properties":{"halt_height":{"type":"string","format":"uint64"},"minimum_gas_price":{"type":"string"},"pruning_interval":{"type":"string"},"pruning_keep_recent":{"type":"string"}}},"cosmos.base.node.v1beta1.StatusResponse":{"description":"StateResponse defines the response structure for the status of a node.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"app hash of the current block"},"earliest_store_height":{"type":"string","format":"uint64","title":"earliest block height available in the store"},"height":{"type":"string","format":"uint64","title":"current block height"},"timestamp":{"type":"string","format":"date-time","title":"block height timestamp"},"validator_hash":{"type":"string","format":"byte","title":"validator hash provided by the consensus header"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.reflection.v1beta1.ListAllInterfacesResponse":{"description":"ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC.","type":"object","properties":{"interface_names":{"description":"interface_names is an array of all the registered interfaces.","type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v1beta1.ListImplementationsResponse":{"description":"ListImplementationsResponse is the response type of the ListImplementations\nRPC.","type":"object","properties":{"implementation_message_names":{"type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v2alpha1.AuthnDescriptor":{"type":"object","title":"AuthnDescriptor provides information on how to sign transactions without relying\non the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures","properties":{"sign_modes":{"type":"array","title":"sign_modes defines the supported signature algorithm","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.SigningModeDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ChainDescriptor":{"type":"object","title":"ChainDescriptor describes chain information of the application","properties":{"id":{"type":"string","title":"id is the chain id"}}},"cosmos.base.reflection.v2alpha1.CodecDescriptor":{"type":"object","title":"CodecDescriptor describes the registered interfaces and provides metadata information on the types","properties":{"interfaces":{"type":"array","title":"interfaces is a list of the registerted interfaces descriptors","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ConfigurationDescriptor":{"type":"object","title":"ConfigurationDescriptor contains metadata information on the sdk.Config","properties":{"bech32_account_address_prefix":{"type":"string","title":"bech32_account_address_prefix is the account address prefix"}}},"cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse":{"type":"object","title":"GetAuthnDescriptorResponse is the response returned by the GetAuthnDescriptor RPC","properties":{"authn":{"title":"authn describes how to authenticate to the application when sending transactions","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.AuthnDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse":{"type":"object","title":"GetChainDescriptorResponse is the response returned by the GetChainDescriptor RPC","properties":{"chain":{"title":"chain describes application chain information","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ChainDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse":{"type":"object","title":"GetCodecDescriptorResponse is the response returned by the GetCodecDescriptor RPC","properties":{"codec":{"title":"codec describes the application codec such as registered interfaces and implementations","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.CodecDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse":{"type":"object","title":"GetConfigurationDescriptorResponse is the response returned by the GetConfigurationDescriptor RPC","properties":{"config":{"title":"config describes the application's sdk.Config","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ConfigurationDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse":{"type":"object","title":"GetQueryServicesDescriptorResponse is the response returned by the GetQueryServicesDescriptor RPC","properties":{"queries":{"title":"queries provides information on the available queryable services","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServicesDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse":{"type":"object","title":"GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC","properties":{"tx":{"title":"tx provides information on msgs that can be forwarded to the application\nalongside the accepted transaction protobuf type","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.TxDescriptor"}}},"cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor":{"type":"object","title":"InterfaceAcceptingMessageDescriptor describes a protobuf message which contains\nan interface represented as a google.protobuf.Any","properties":{"field_descriptor_names":{"type":"array","title":"field_descriptor_names is a list of the protobuf name (not fullname) of the field\nwhich contains the interface as google.protobuf.Any (the interface is the same, but\nit can be in multiple fields of the same proto message)","items":{"type":"string"}},"fullname":{"type":"string","title":"fullname is the protobuf fullname of the type containing the interface"}}},"cosmos.base.reflection.v2alpha1.InterfaceDescriptor":{"type":"object","title":"InterfaceDescriptor describes the implementation of an interface","properties":{"fullname":{"type":"string","title":"fullname is the name of the interface"},"interface_accepting_messages":{"type":"array","title":"interface_accepting_messages contains information regarding the proto messages which contain the interface as\ngoogle.protobuf.Any field","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor"}},"interface_implementers":{"type":"array","title":"interface_implementers is a list of the descriptors of the interface implementers","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor"}}}},"cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor":{"type":"object","title":"InterfaceImplementerDescriptor describes an interface implementer","properties":{"fullname":{"type":"string","title":"fullname is the protobuf queryable name of the interface implementer"},"type_url":{"type":"string","title":"type_url defines the type URL used when marshalling the type as any\nthis is required so we can provide type safe google.protobuf.Any marshalling and\nunmarshalling, making sure that we don't accept just 'any' type\nin our interface fields"}}},"cosmos.base.reflection.v2alpha1.MsgDescriptor":{"type":"object","title":"MsgDescriptor describes a cosmos-sdk message that can be delivered with a transaction","properties":{"msg_type_url":{"description":"msg_type_url contains the TypeURL of a sdk.Msg.","type":"string"}}},"cosmos.base.reflection.v2alpha1.QueryMethodDescriptor":{"type":"object","title":"QueryMethodDescriptor describes a queryable method of a query service\nno other info is provided beside method name and tendermint queryable path\nbecause it would be redundant with the grpc reflection service","properties":{"full_query_path":{"type":"string","title":"full_query_path is the path that can be used to query\nthis method via tendermint abci.Query"},"name":{"type":"string","title":"name is the protobuf name (not fullname) of the method"}}},"cosmos.base.reflection.v2alpha1.QueryServiceDescriptor":{"type":"object","title":"QueryServiceDescriptor describes a cosmos-sdk queryable service","properties":{"fullname":{"type":"string","title":"fullname is the protobuf fullname of the service descriptor"},"is_module":{"type":"boolean","title":"is_module describes if this service is actually exposed by an application's module"},"methods":{"type":"array","title":"methods provides a list of query service methods","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryMethodDescriptor"}}}},"cosmos.base.reflection.v2alpha1.QueryServicesDescriptor":{"type":"object","title":"QueryServicesDescriptor contains the list of cosmos-sdk queriable services","properties":{"query_services":{"type":"array","title":"query_services is a list of cosmos-sdk QueryServiceDescriptor","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServiceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.SigningModeDescriptor":{"type":"object","title":"SigningModeDescriptor provides information on a signing flow of the application\nNOTE(fdymylja): here we could go as far as providing an entire flow on how\nto sign a message given a SigningModeDescriptor, but it's better to think about\nthis another time","properties":{"authn_info_provider_method_fullname":{"type":"string","title":"authn_info_provider_method_fullname defines the fullname of the method to call to get\nthe metadata required to authenticate using the provided sign_modes"},"name":{"type":"string","title":"name defines the unique name of the signing mode"},"number":{"type":"integer","format":"int32","title":"number is the unique int32 identifier for the sign_mode enum"}}},"cosmos.base.reflection.v2alpha1.TxDescriptor":{"type":"object","title":"TxDescriptor describes the accepted transaction type","properties":{"fullname":{"description":"fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type)\nit is not meant to support polymorphism of transaction types, it is supposed to be used by\nreflection clients to understand if they can handle a specific transaction type in an application.","type":"string"},"msgs":{"type":"array","title":"msgs lists the accepted application messages (sdk.Msg)","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.MsgDescriptor"}}}},"cosmos.base.tendermint.v1beta1.ABCIQueryResponse":{"description":"ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint.","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"type":"string","title":"nondeterministic"},"proof_ops":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOps"},"value":{"type":"string","format":"byte"}}},"cosmos.base.tendermint.v1beta1.Block":{"description":"Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string.","type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse":{"description":"GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"title":"Since: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestBlockResponse":{"description":"GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"title":"Since: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse":{"description":"GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.GetNodeInfoResponse":{"description":"GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method.","type":"object","properties":{"application_version":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.VersionInfo"},"default_node_info":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfo"}}},"cosmos.base.tendermint.v1beta1.GetSyncingResponse":{"description":"GetSyncingResponse is the response type for the Query/GetSyncing RPC method.","type":"object","properties":{"syncing":{"type":"boolean"}}},"cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse":{"description":"GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.Header":{"description":"Header defines the structure of a Tendermint block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"description":"proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX.\n\noriginal proposer of the block","type":"string"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"cosmos.base.tendermint.v1beta1.Module":{"type":"object","title":"Module is the type for VersionInfo","properties":{"path":{"type":"string","title":"module path"},"sum":{"type":"string","title":"checksum"},"version":{"type":"string","title":"module version"}}},"cosmos.base.tendermint.v1beta1.ProofOp":{"description":"ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint.","type":"object","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"cosmos.base.tendermint.v1beta1.ProofOps":{"description":"ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint.","type":"object","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOp"}}}},"cosmos.base.tendermint.v1beta1.Validator":{"description":"Validator is the type for the validator-set.","type":"object","properties":{"address":{"type":"string"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"voting_power":{"type":"string","format":"int64"}}},"cosmos.base.tendermint.v1beta1.VersionInfo":{"description":"VersionInfo is the type for the GetNodeInfoResponse message.","type":"object","properties":{"app_name":{"type":"string"},"build_deps":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Module"}},"build_tags":{"type":"string"},"cosmos_sdk_version":{"type":"string","title":"Since: cosmos-sdk 0.43"},"git_commit":{"type":"string"},"go_version":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.base.v1beta1.DecCoin":{"description":"DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.circuit.v1.AccountResponse":{"description":"AccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"permission":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.AccountsResponse":{"description":"AccountsResponse is the response type for the Query/Accounts RPC method.","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.circuit.v1.GenesisAccountPermissions"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.circuit.v1.DisabledListResponse":{"description":"DisabledListResponse is the response type for the Query/DisabledList RPC method.","type":"object","properties":{"disabled_list":{"type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.GenesisAccountPermissions":{"type":"object","title":"GenesisAccountPermissions is the account permissions for the circuit breaker in genesis","properties":{"address":{"type":"string"},"permissions":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreaker":{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","type":"object","properties":{"grantee":{"description":"grantee is the account authorized with the provided permissions.","type":"string"},"granter":{"description":"granter is the granter of the circuit breaker permissions and must have\nLEVEL_SUPER_ADMIN.","type":"string"},"permissions":{"description":"permissions are the circuit breaker permissions that the grantee receives.\nThese will overwrite any existing permissions. LEVEL_NONE_UNSPECIFIED can\nbe specified to revoke all permissions.","$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse":{"description":"MsgAuthorizeCircuitBreakerResponse defines the Msg/AuthorizeCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgResetCircuitBreaker":{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip or reset the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of Msg type URLs to resume processing. If\nit is left empty all Msg processing for type URLs that the account is\nauthorized to trip will resume.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgResetCircuitBreakerResponse":{"description":"MsgResetCircuitBreakerResponse defines the Msg/ResetCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgTripCircuitBreaker":{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of type URLs to immediately stop processing.\nIF IT IS LEFT EMPTY, ALL MSG PROCESSING WILL STOP IMMEDIATELY.\nThis value is validated against the authority's permissions and if the\nauthority does not have permissions to trip the specified msg type URLs\n(or all URLs), the operation will fail.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgTripCircuitBreakerResponse":{"description":"MsgTripCircuitBreakerResponse defines the Msg/TripCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.Permissions":{"description":"Permissions are the permissions that an account has to trip\nor reset the circuit breaker.","type":"object","properties":{"level":{"description":"level is the level of permissions granted to this account.","$ref":"#/definitions/cosmos.circuit.v1.Permissions.Level"},"limit_type_urls":{"description":"limit_type_urls is used with LEVEL_SOME_MSGS to limit the lists of Msg type\nURLs that the account can trip. It is an error to use limit_type_urls with\na level other than LEVEL_SOME_MSGS.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.Permissions.Level":{"description":"Level is the permission level.\n\n - LEVEL_NONE_UNSPECIFIED: LEVEL_NONE_UNSPECIFIED indicates that the account will have no circuit\nbreaker permissions.\n - LEVEL_SOME_MSGS: LEVEL_SOME_MSGS indicates that the account will have permission to\ntrip or reset the circuit breaker for some Msg type URLs. If this level\nis chosen, a non-empty list of Msg type URLs must be provided in\nlimit_type_urls.\n - LEVEL_ALL_MSGS: LEVEL_ALL_MSGS indicates that the account can trip or reset the circuit\nbreaker for Msg's of all type URLs.\n - LEVEL_SUPER_ADMIN: LEVEL_SUPER_ADMIN indicates that the account can take all circuit breaker\nactions and can grant permissions to other accounts.","type":"string","default":"LEVEL_NONE_UNSPECIFIED","enum":["LEVEL_NONE_UNSPECIFIED","LEVEL_SOME_MSGS","LEVEL_ALL_MSGS","LEVEL_SUPER_ADMIN"]},"cosmos.consensus.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"abci":{"title":"Since: cosmos-sdk 0.50","$ref":"#/definitions/tendermint.types.ABCIParams"},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"block":{"description":"params defines the x/consensus parameters to update.\nVersionsParams is not included in this Msg because it is tracked\nsepararately in x/upgrade.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"}}},"cosmos.consensus.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.consensus.v1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/consensus parameters.","type":"object","properties":{"params":{"description":"params are the tendermint consensus params stored in the consensus module.\nPlease note that `params.version` is not populated in this response, it is\ntracked separately in the x/upgrade module.","$ref":"#/definitions/tendermint.types.ConsensusParams"}}},"cosmos.crisis.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"constant_fee":{"description":"constant_fee defines the x/crisis parameter.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.crisis.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.crisis.v1beta1.MsgVerifyInvariant":{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","type":"object","properties":{"invariant_module_name":{"description":"name of the invariant module.","type":"string"},"invariant_route":{"description":"invariant_route is the msg's invariant route.","type":"string"},"sender":{"description":"sender is the account address of private key to send coins to fee collector account.","type":"string"}}},"cosmos.crisis.v1beta1.MsgVerifyInvariantResponse":{"description":"MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type.","type":"object"},"cosmos.crypto.multisig.v1beta1.CompactBitArray":{"description":"CompactBitArray is an implementation of a space efficient bit array.\nThis is used to ensure that the encoded data takes up a minimal amount of\nspace after proto encoding.\nThis is not thread safe, and is not intended for concurrent usage.","type":"object","properties":{"elems":{"type":"string","format":"byte"},"extra_bits_stored":{"type":"integer","format":"int64"}}},"cosmos.distribution.v1beta1.DelegationDelegatorReward":{"description":"DelegationDelegatorReward represents the properties\nof a delegator's delegation reward.","type":"object","properties":{"reward":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpend":{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"recipient":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse":{"description":"MsgCommunityPoolSpendResponse defines the response to executing a\nMsgCommunityPoolSpend message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool":{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse":{"description":"MsgDepositValidatorRewardsPoolResponse defines the response to executing a\nMsgDepositValidatorRewardsPool message.\n\nSince: cosmos-sdk 0.50","type":"object"},"cosmos.distribution.v1beta1.MsgFundCommunityPool":{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse":{"description":"MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.","type":"object"},"cosmos.distribution.v1beta1.MsgSetWithdrawAddress":{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","type":"object","properties":{"delegator_address":{"type":"string"},"withdraw_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse":{"description":"MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response\ntype.","type":"object"},"cosmos.distribution.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/distribution parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward":{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","type":"object","properties":{"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse":{"description":"MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward\nresponse type.","type":"object","properties":{"amount":{"type":"array","title":"Since: cosmos-sdk 0.46","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission":{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","type":"object","properties":{"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse":{"description":"MsgWithdrawValidatorCommissionResponse defines the\nMsg/WithdrawValidatorCommission response type.","type":"object","properties":{"amount":{"type":"array","title":"Since: cosmos-sdk 0.46","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.Params":{"description":"Params defines the set of params for the distribution module.","type":"object","properties":{"base_proposer_reward":{"description":"Deprecated: The base_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"bonus_proposer_reward":{"description":"Deprecated: The bonus_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"community_tax":{"type":"string"},"withdraw_addr_enabled":{"type":"boolean"}}},"cosmos.distribution.v1beta1.QueryCommunityPoolResponse":{"description":"QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method.","type":"object","properties":{"pool":{"description":"pool defines community pool's coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationRewardsResponse":{"description":"QueryDelegationRewardsResponse is the response type for the\nQuery/DelegationRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines the rewards accrued by a delegation.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse":{"description":"QueryDelegationTotalRewardsResponse is the response type for the\nQuery/DelegationTotalRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines all the rewards accrued by a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.DelegationDelegatorReward"}},"total":{"description":"total defines the sum of all the rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is the response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"validators":{"description":"validators defines the validators a delegator is delegating for.","type":"array","items":{"type":"string"}}}},"cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse":{"description":"QueryDelegatorWithdrawAddressResponse is the response type for the\nQuery/DelegatorWithdrawAddress RPC method.","type":"object","properties":{"withdraw_address":{"description":"withdraw_address defines the delegator address to query for.","type":"string"}}},"cosmos.distribution.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.QueryValidatorCommissionResponse":{"type":"object","title":"QueryValidatorCommissionResponse is the response type for the\nQuery/ValidatorCommission RPC method","properties":{"commission":{"description":"commission defines the commission the validator received.","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission"}}},"cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse":{"description":"QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method.","type":"object","properties":{"commission":{"description":"commission defines the commission the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"operator_address":{"description":"operator_address defines the validator operator address.","type":"string"},"self_bond_rewards":{"description":"self_bond_rewards defines the self delegations rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse":{"description":"QueryValidatorOutstandingRewardsResponse is the response type for the\nQuery/ValidatorOutstandingRewards RPC method.","type":"object","properties":{"rewards":{"$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorOutstandingRewards"}}},"cosmos.distribution.v1beta1.QueryValidatorSlashesResponse":{"description":"QueryValidatorSlashesResponse is the response type for the\nQuery/ValidatorSlashes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"slashes":{"description":"slashes defines the slashes the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorSlashEvent"}}}},"cosmos.distribution.v1beta1.ValidatorAccumulatedCommission":{"description":"ValidatorAccumulatedCommission represents accumulated commission\nfor a validator kept as a running counter, can be withdrawn at any time.","type":"object","properties":{"commission":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorOutstandingRewards":{"description":"ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards\nfor a validator inexpensive to track, allows simple sanity checks.","type":"object","properties":{"rewards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorSlashEvent":{"description":"ValidatorSlashEvent represents a validator slash event.\nHeight is implicit within the store key.\nThis is needed to calculate appropriate amount of staking tokens\nfor delegations which are withdrawn after a slash has occurred.","type":"object","properties":{"fraction":{"type":"string"},"validator_period":{"type":"string","format":"uint64"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidence":{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","type":"object","properties":{"evidence":{"description":"evidence defines the evidence of misbehavior.","$ref":"#/definitions/google.protobuf.Any"},"submitter":{"description":"submitter is the signer account address of evidence.","type":"string"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse":{"description":"MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.","type":"object","properties":{"hash":{"description":"hash defines the hash of the evidence.","type":"string","format":"byte"}}},"cosmos.evidence.v1beta1.QueryAllEvidenceResponse":{"description":"QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod.","type":"object","properties":{"evidence":{"description":"evidence returns all evidences.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.evidence.v1beta1.QueryEvidenceResponse":{"description":"QueryEvidenceResponse is the response type for the Query/Evidence RPC method.","type":"object","properties":{"evidence":{"description":"evidence returns the requested evidence.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.feegrant.v1beta1.Grant":{"type":"object","title":"Grant is stored in the KVStore to record a grant with full context","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowance":{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","type":"object","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse":{"description":"MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.MsgPruneAllowances":{"description":"MsgPruneAllowances prunes expired fee allowances.\n\nSince cosmos-sdk 0.50","type":"object","properties":{"pruner":{"description":"pruner is the address of the user pruning expired allowances.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse":{"description":"MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse response type.\n\nSince cosmos-sdk 0.50","type":"object"},"cosmos.feegrant.v1beta1.MsgRevokeAllowance":{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","type":"object","properties":{"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse":{"description":"MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.QueryAllowanceResponse":{"description":"QueryAllowanceResponse is the response type for the Query/Allowance RPC method.","type":"object","properties":{"allowance":{"description":"allowance is a allowance granted for grantee by granter.","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}}},"cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse":{"description":"QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"allowances":{"description":"allowances that have been issued by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.feegrant.v1beta1.QueryAllowancesResponse":{"description":"QueryAllowancesResponse is the response type for the Query/Allowances RPC method.","type":"object","properties":{"allowances":{"description":"allowances are allowance's granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1.MsgCancelProposal":{"description":"MsgCancelProposal is the Msg/CancelProposal request type.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1.MsgCancelProposalResponse":{"description":"MsgCancelProposalResponse defines the response structure for executing a\nMsgCancelProposal message.\n\nSince: cosmos-sdk 0.50","type":"object","properties":{"canceled_height":{"description":"canceled_height defines the block height at which the proposal is canceled.","type":"string","format":"uint64"},"canceled_time":{"description":"canceled_time is the time when proposal is canceled.","type":"string","format":"date-time"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1.MsgExecLegacyContent":{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","type":"object","properties":{"authority":{"description":"authority must be the gov module address.","type":"string"},"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.gov.v1.MsgExecLegacyContentResponse":{"description":"MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type.","type":"object"},"cosmos.gov.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"expedited":{"description":"Since: cosmos-sdk 0.50","type":"boolean","title":"expedited defines if the proposal is expedited or not"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"messages":{"description":"messages are the arbitrary messages to be executed if proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is the summary of the proposal"},"title":{"description":"title is the title of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"}}},"cosmos.gov.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/gov parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.gov.v1.Params"}}},"cosmos.gov.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.gov.v1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the Vote.","type":"string"},"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the VoteWeighted.","type":"string"},"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.","type":"object"},"cosmos.gov.v1.Params":{"description":"Params defines the parameters for the x/gov module.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"burn_proposal_deposit_prevote":{"type":"boolean","title":"burn deposits if the proposal does not enter voting period"},"burn_vote_quorum":{"type":"boolean","title":"burn deposits if a proposal does not meet quorum"},"burn_vote_veto":{"type":"boolean","title":"burn deposits if quorum with vote type no_veto is met"},"expedited_min_deposit":{"description":"Minimum expedited deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"expedited_threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.\n\nSince: cosmos-sdk 0.50","type":"string"},"expedited_voting_period":{"description":"Duration of the voting period of an expedited proposal.\n\nSince: cosmos-sdk 0.50","type":"string"},"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"min_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.\nDefault value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be\nrequired.\n\nSince: cosmos-sdk 0.50","type":"string"},"min_initial_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value that must be paid at proposal submission.","type":"string"},"proposal_cancel_dest":{"description":"The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.\nIf empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.\n\nSince: cosmos-sdk 0.50","type":"string"},"proposal_cancel_ratio":{"description":"The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.\n\nSince: cosmos-sdk 0.50","type":"string"},"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\n considered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3.","type":"string"},"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"expedited":{"description":"Since: cosmos-sdk 0.50","type":"boolean","title":"expedited defines if the proposal is expedited"},"failed_reason":{"description":"Since: cosmos-sdk 0.50","type":"string","title":"failed_reason defines the reason why the proposal failed"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"},"id":{"description":"id defines the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages are the arbitrary messages to be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3"},"proposer":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"proposer is the address of the proposal sumbitter"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is a short summary of the proposal"},"title":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"title is the title of the proposal"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1.QueryConstitutionResponse":{"type":"object","title":"QueryConstitutionResponse is the response type for the Query/Constitution RPC method","properties":{"constitution":{"type":"string"}}},"cosmos.gov.v1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1.Deposit"}}},"cosmos.gov.v1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1.DepositParams"},"params":{"description":"params defines all the paramaters of x/gov module.\n\nSince: cosmos-sdk 0.47","$ref":"#/definitions/cosmos.gov.v1.Params"},"tally_params":{"description":"Deprecated: Prefer to use `params` instead.\ntally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1.TallyParams"},"voting_params":{"description":"Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1.VotingParams"}}},"cosmos.gov.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"description":"proposal is the requested governance proposal.","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}},"cosmos.gov.v1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}}},"cosmos.gov.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"}}},"cosmos.gov.v1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1.Vote"}}},"cosmos.gov.v1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Vote"}}}},"cosmos.gov.v1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string"}}},"cosmos.gov.v1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the number of abstain votes on a proposal.","type":"string"},"no_count":{"description":"no_count is the number of no votes on a proposal.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the number of no with veto votes on a proposal.","type":"string"},"yes_count":{"description":"yes_count is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5"},"options":{"description":"options is the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.gov.v1beta1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1beta1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1beta1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1beta1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1beta1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.\n\nSince: cosmos-sdk 0.43","type":"object"},"cosmos.gov.v1beta1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1beta1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1beta1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1beta1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}}},"cosmos.gov.v1beta1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"deposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.DepositParams"},"tally_params":{"description":"tally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyParams"},"voting_params":{"description":"voting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1beta1.VotingParams"}}},"cosmos.gov.v1beta1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}},"cosmos.gov.v1beta1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}}},"cosmos.gov.v1beta1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"}}},"cosmos.gov.v1beta1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}},"cosmos.gov.v1beta1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}}},"cosmos.gov.v1beta1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string","format":"byte"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string","format":"byte"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string","format":"byte"}}},"cosmos.gov.v1beta1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain":{"description":"abstain is the number of abstain votes on a proposal.","type":"string"},"no":{"description":"no is the number of no votes on a proposal.","type":"string"},"no_with_veto":{"description":"no_with_veto is the number of no with veto votes on a proposal.","type":"string"},"yes":{"description":"yes is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1beta1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"option":{"description":"Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"options":{"description":"options is the weighted vote options.\n\nSince: cosmos-sdk 0.43","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1beta1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1beta1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1beta1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.group.v1.Exec":{"description":"Exec defines modes of execution of a proposal on creation or on new vote.\n\n - EXEC_UNSPECIFIED: An empty value means that there should be a separate\nMsgExec request for the proposal to execute.\n - EXEC_TRY: Try to execute the proposal immediately.\nIf the proposal is not allowed per the DecisionPolicy,\nthe proposal will still be open and could\nbe executed at a later point.","type":"string","default":"EXEC_UNSPECIFIED","enum":["EXEC_UNSPECIFIED","EXEC_TRY"]},"cosmos.group.v1.GroupInfo":{"description":"GroupInfo represents the high-level on-chain information for a group.","type":"object","properties":{"admin":{"description":"admin is the account address of the group's admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group was created.","type":"string","format":"date-time"},"id":{"description":"id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata to attached to the group.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#group-1"},"total_weight":{"description":"total_weight is the sum of the group members' weights.","type":"string"},"version":{"type":"string","format":"uint64","title":"version is used to track changes to a group's membership structure that\nwould break existing proposals. Whenever any members weight is changed,\nor any member is added or removed this version is incremented and will\ncause proposals based on older versions of this group to fail"}}},"cosmos.group.v1.GroupMember":{"description":"GroupMember represents the relationship between a group and a member.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member":{"description":"member is the member data.","$ref":"#/definitions/cosmos.group.v1.Member"}}},"cosmos.group.v1.GroupPolicyInfo":{"description":"GroupPolicyInfo represents the high-level on-chain information for a group policy.","type":"object","properties":{"address":{"description":"address is the account address of group policy.","type":"string"},"admin":{"description":"admin is the account address of the group admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group policy was created.","type":"string","format":"date-time"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the group policy.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#decision-policy-1"},"version":{"description":"version is used to track changes to a group's GroupPolicyInfo structure that\nwould create a different result on a running proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.Member":{"description":"Member represents a group member with an account address,\nnon-zero weight, metadata and added_at timestamp.","type":"object","properties":{"added_at":{"description":"added_at is a timestamp specifying when a member was added.","type":"string","format":"date-time"},"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MemberRequest":{"description":"MemberRequest represents a group member to be used in Msg server requests.\nContrary to `Member`, it doesn't have any `added_at` field\nsince this field cannot be set as part of requests.","type":"object","properties":{"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MsgCreateGroup":{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}},"metadata":{"description":"metadata is any arbitrary metadata to attached to the group.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicy":{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is any arbitrary metadata attached to the group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicyResponse":{"description":"MsgCreateGroupPolicyResponse is the Msg/CreateGroupPolicy response type.","type":"object","properties":{"address":{"description":"address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupResponse":{"description":"MsgCreateGroupResponse is the Msg/CreateGroup response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgCreateGroupWithPolicy":{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group and group policy admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_metadata":{"description":"group_metadata is any arbitrary metadata attached to the group.","type":"string"},"group_policy_as_admin":{"description":"group_policy_as_admin is a boolean field, if set to true, the group policy account address will be used as group\nand group policy admin.","type":"boolean"},"group_policy_metadata":{"description":"group_policy_metadata is any arbitrary metadata attached to the group policy.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgCreateGroupWithPolicyResponse":{"description":"MsgCreateGroupWithPolicyResponse is the Msg/CreateGroupWithPolicy response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group with policy.","type":"string","format":"uint64"},"group_policy_address":{"description":"group_policy_address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgExec":{"description":"MsgExec is the Msg/Exec request type.","type":"object","properties":{"executor":{"description":"executor is the account address used to execute the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgExecResponse":{"description":"MsgExecResponse is the Msg/Exec request type.","type":"object","properties":{"result":{"description":"result is the final result of the proposal execution.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"}}},"cosmos.group.v1.MsgLeaveGroup":{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","type":"object","properties":{"address":{"description":"address is the account address of the group member.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgLeaveGroupResponse":{"description":"MsgLeaveGroupResponse is the Msg/LeaveGroup response type.","type":"object"},"cosmos.group.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","type":"object","properties":{"exec":{"description":"exec defines the mode of execution of the proposal,\nwhether it should be executed immediately on creation or not.\nIf so, proposers signatures are considered as Yes votes.","$ref":"#/definitions/cosmos.group.v1.Exec"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposers":{"description":"proposers are the account addresses of the proposers.\nProposers signatures will be counted as yes votes.","type":"array","items":{"type":"string"}},"summary":{"description":"summary is the summary of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"},"title":{"description":"title is the title of the proposal.\n\nSince: cosmos-sdk 0.47","type":"string"}}},"cosmos.group.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse is the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgUpdateGroupAdmin":{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the current account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"new_admin":{"description":"new_admin is the group new admin account address.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupAdminResponse":{"description":"MsgUpdateGroupAdminResponse is the Msg/UpdateGroupAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMembers":{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member_updates":{"description":"member_updates is the list of members to update,\nset weight to 0 to remove a member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgUpdateGroupMembersResponse":{"description":"MsgUpdateGroupMembersResponse is the Msg/UpdateGroupMembers response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMetadata":{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is the updated group's metadata.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupMetadataResponse":{"description":"MsgUpdateGroupMetadataResponse is the Msg/UpdateGroupMetadata response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyAdmin":{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of the group policy.","type":"string"},"new_admin":{"description":"new_admin is the new group policy admin.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse":{"description":"MsgUpdateGroupPolicyAdminResponse is the Msg/UpdateGroupPolicyAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy":{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy is the updated group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse":{"description":"MsgUpdateGroupPolicyDecisionPolicyResponse is the Msg/UpdateGroupPolicyDecisionPolicy response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyMetadata":{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"metadata":{"description":"metadata is the group policy metadata to be updated.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse":{"description":"MsgUpdateGroupPolicyMetadataResponse is the Msg/UpdateGroupPolicyMetadata response type.","type":"object"},"cosmos.group.v1.MsgVote":{"description":"MsgVote is the Msg/Vote request type.","type":"object","properties":{"exec":{"description":"exec defines whether the proposal should be executed\nimmediately after voting or not.","$ref":"#/definitions/cosmos.group.v1.Exec"},"metadata":{"description":"metadata is any arbitrary metadata attached to the vote.","type":"string"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter account address.","type":"string"}}},"cosmos.group.v1.MsgVoteResponse":{"description":"MsgVoteResponse is the Msg/Vote response type.","type":"object"},"cosmos.group.v1.MsgWithdrawProposal":{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","type":"object","properties":{"address":{"description":"address is the admin of the group policy or one of the proposer of the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgWithdrawProposalResponse":{"description":"MsgWithdrawProposalResponse is the Msg/WithdrawProposal response type.","type":"object"},"cosmos.group.v1.Proposal":{"description":"Proposal defines a group proposal. Any member of a group can submit a proposal\nfor a group policy to decide upon.\nA proposal consists of a set of `sdk.Msg`s that will be executed if the proposal\npasses as well as some optional metadata associated with the proposal.","type":"object","properties":{"executor_result":{"description":"executor_result is the final result of the proposal execution. Initial value is NotRun.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"},"final_tally_result":{"description":"final_tally_result contains the sums of all weighted votes for this\nproposal for each vote option. It is empty at submission, and only\npopulated after tallying, at voting period end or at proposal execution,\nwhichever happens first.","$ref":"#/definitions/cosmos.group.v1.TallyResult"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"group_policy_version":{"description":"group_policy_version tracks the version of the group policy at proposal submission.\nWhen a decision policy is changed, existing proposals from previous policy\nversions will become invalid with the `ABORTED` status.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"group_version":{"description":"group_version tracks the version of the group at proposal submission.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"id":{"description":"id is the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#proposal-4"},"proposers":{"description":"proposers are the account addresses of the proposers.","type":"array","items":{"type":"string"}},"status":{"description":"status represents the high level position in the life cycle of the proposal. Initial value is Submitted.","$ref":"#/definitions/cosmos.group.v1.ProposalStatus"},"submit_time":{"description":"submit_time is a timestamp specifying when a proposal was submitted.","type":"string","format":"date-time"},"summary":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"summary is a short summary of the proposal"},"title":{"description":"Since: cosmos-sdk 0.47","type":"string","title":"title is the title of the proposal"},"voting_period_end":{"description":"voting_period_end is the timestamp before which voting must be done.\nUnless a successful MsgExec is called before (to execute a proposal whose\ntally is successful before the voting period ends), tallying will be done\nat this point, and the `final_tally_result`and `status` fields will be\naccordingly updated.","type":"string","format":"date-time"}}},"cosmos.group.v1.ProposalExecutorResult":{"description":"ProposalExecutorResult defines types of proposal executor results.\n\n - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: An empty value is not allowed.\n - PROPOSAL_EXECUTOR_RESULT_NOT_RUN: We have not yet run the executor.\n - PROPOSAL_EXECUTOR_RESULT_SUCCESS: The executor was successful and proposed action updated state.\n - PROPOSAL_EXECUTOR_RESULT_FAILURE: The executor returned an error and proposed action didn't update state.","type":"string","default":"PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","enum":["PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","PROPOSAL_EXECUTOR_RESULT_NOT_RUN","PROPOSAL_EXECUTOR_RESULT_SUCCESS","PROPOSAL_EXECUTOR_RESULT_FAILURE"]},"cosmos.group.v1.ProposalStatus":{"description":"ProposalStatus defines proposal statuses.\n\n - PROPOSAL_STATUS_UNSPECIFIED: An empty value is invalid and not allowed.\n - PROPOSAL_STATUS_SUBMITTED: Initial status of a proposal when submitted.\n - PROPOSAL_STATUS_ACCEPTED: Final status of a proposal when the final tally is done and the outcome\npasses the group policy's decision policy.\n - PROPOSAL_STATUS_REJECTED: Final status of a proposal when the final tally is done and the outcome\nis rejected by the group policy's decision policy.\n - PROPOSAL_STATUS_ABORTED: Final status of a proposal when the group policy is modified before the\nfinal tally.\n - PROPOSAL_STATUS_WITHDRAWN: A proposal can be withdrawn before the voting start time by the owner.\nWhen this happens the final status is Withdrawn.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_SUBMITTED","PROPOSAL_STATUS_ACCEPTED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_ABORTED","PROPOSAL_STATUS_WITHDRAWN"]},"cosmos.group.v1.QueryGroupInfoResponse":{"description":"QueryGroupInfoResponse is the Query/GroupInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupInfo of the group.","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}}},"cosmos.group.v1.QueryGroupMembersResponse":{"description":"QueryGroupMembersResponse is the Query/GroupMembersResponse response type.","type":"object","properties":{"members":{"description":"members are the members of the group with given group_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupMember"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByAdminResponse":{"description":"QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info with provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByGroupResponse":{"description":"QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info associated with the provided group.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPolicyInfoResponse":{"description":"QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupPolicyInfo of the group policy.","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}}},"cosmos.group.v1.QueryGroupsByAdminResponse":{"description":"QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsByMemberResponse":{"description":"QueryGroupsByMemberResponse is the Query/GroupsByMember response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided group member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsResponse":{"description":"QueryGroupsResponse is the Query/Groups response type.\n\nSince: cosmos-sdk 0.47.1","type":"object","properties":{"groups":{"description":"`groups` is all the groups present in state.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the Query/Proposal response type.","type":"object","properties":{"proposal":{"description":"proposal is the proposal info.","$ref":"#/definitions/cosmos.group.v1.Proposal"}}},"cosmos.group.v1.QueryProposalsByGroupPolicyResponse":{"description":"QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals are the proposals with given group policy.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Proposal"}}}},"cosmos.group.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the Query/TallyResult response type.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.group.v1.TallyResult"}}},"cosmos.group.v1.QueryVoteByProposalVoterResponse":{"description":"QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter response type.","type":"object","properties":{"vote":{"description":"vote is the vote with given proposal_id and voter.","$ref":"#/definitions/cosmos.group.v1.Vote"}}},"cosmos.group.v1.QueryVotesByProposalResponse":{"description":"QueryVotesByProposalResponse is the Query/VotesByProposal response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes for given proposal_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.QueryVotesByVoterResponse":{"description":"QueryVotesByVoterResponse is the Query/VotesByVoter response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes by given voter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.TallyResult":{"description":"TallyResult represents the sum of weighted votes for each vote option.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the weighted sum of abstainers.","type":"string"},"no_count":{"description":"no_count is the weighted sum of no votes.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the weighted sum of veto.","type":"string"},"yes_count":{"description":"yes_count is the weighted sum of yes votes.","type":"string"}}},"cosmos.group.v1.Vote":{"type":"object","title":"Vote represents a vote for a proposal.string metadata","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#vote-2"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"submit_time":{"description":"submit_time is the timestamp when the vote was submitted.","type":"string","format":"date-time"},"voter":{"description":"voter is the account address of the voter.","type":"string"}}},"cosmos.group.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will\nreturn an error.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.mint.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/mint parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.mint.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.mint.v1beta1.Params":{"description":"Params defines the parameters for the x/mint module.","type":"object","properties":{"blocks_per_year":{"type":"string","format":"uint64","title":"expected blocks per year"},"goal_bonded":{"type":"string","title":"goal of percent bonded atoms"},"inflation_max":{"type":"string","title":"maximum inflation rate"},"inflation_min":{"type":"string","title":"minimum inflation rate"},"inflation_rate_change":{"type":"string","title":"maximum annual change in inflation rate"},"mint_denom":{"type":"string","title":"type of coin to mint"}}},"cosmos.mint.v1beta1.QueryAnnualProvisionsResponse":{"description":"QueryAnnualProvisionsResponse is the response type for the\nQuery/AnnualProvisions RPC method.","type":"object","properties":{"annual_provisions":{"description":"annual_provisions is the current minting annual provisions value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryInflationResponse":{"description":"QueryInflationResponse is the response type for the Query/Inflation RPC\nmethod.","type":"object","properties":{"inflation":{"description":"inflation is the current minting inflation value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.nft.v1beta1.Class":{"description":"Class defines the class of the nft type.","type":"object","properties":{"data":{"title":"data is the app specific metadata of the NFT class. Optional","$ref":"#/definitions/google.protobuf.Any"},"description":{"type":"string","title":"description is a brief description of nft classification. Optional"},"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"},"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"}}},"cosmos.nft.v1beta1.MsgSend":{"description":"MsgSend represents a message to send a nft from one account to another account.","type":"object","properties":{"class_id":{"type":"string","title":"class_id defines the unique identifier of the nft classification, similar to the contract address of ERC721"},"id":{"type":"string","title":"id defines the unique identification of nft"},"receiver":{"type":"string","title":"receiver is the receiver address of nft"},"sender":{"type":"string","title":"sender is the address of the owner of nft"}}},"cosmos.nft.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.nft.v1beta1.NFT":{"description":"NFT defines the NFT.","type":"object","properties":{"class_id":{"type":"string","title":"class_id associated with the NFT, similar to the contract address of ERC721"},"data":{"title":"data is an app specific data of the NFT. Optional","$ref":"#/definitions/google.protobuf.Any"},"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"}}},"cosmos.nft.v1beta1.QueryBalanceResponse":{"type":"object","title":"QueryBalanceResponse is the response type for the Query/Balance RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs of a given class owned by the owner"}}},"cosmos.nft.v1beta1.QueryClassResponse":{"type":"object","title":"QueryClassResponse is the response type for the Query/Class RPC method","properties":{"class":{"description":"class defines the class of the nft type.","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}}},"cosmos.nft.v1beta1.QueryClassesResponse":{"type":"object","title":"QueryClassesResponse is the response type for the Query/Classes RPC method","properties":{"classes":{"description":"class defines the class of the nft type.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryNFTResponse":{"type":"object","title":"QueryNFTResponse is the response type for the Query/NFT RPC method","properties":{"nft":{"title":"owner is the owner address of the nft","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}}},"cosmos.nft.v1beta1.QueryNFTsResponse":{"type":"object","title":"QueryNFTsResponse is the response type for the Query/NFTs RPC methods","properties":{"nfts":{"type":"array","title":"NFT defines the NFT","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryOwnerResponse":{"type":"object","title":"QueryOwnerResponse is the response type for the Query/Owner RPC method","properties":{"owner":{"type":"string","title":"owner is the owner address of the nft"}}},"cosmos.nft.v1beta1.QuerySupplyResponse":{"type":"object","title":"QuerySupplyResponse is the response type for the Query/Supply RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs from the given class"}}},"cosmos.params.v1beta1.ParamChange":{"description":"ParamChange defines an individual parameter change, for use in\nParameterChangeProposal.","type":"object","properties":{"key":{"type":"string"},"subspace":{"type":"string"},"value":{"type":"string"}}},"cosmos.params.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"param":{"description":"param defines the queried parameter.","$ref":"#/definitions/cosmos.params.v1beta1.ParamChange"}}},"cosmos.params.v1beta1.QuerySubspacesResponse":{"description":"QuerySubspacesResponse defines the response types for querying for all\nregistered subspaces and all keys for a subspace.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"subspaces":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.params.v1beta1.Subspace"}}}},"cosmos.params.v1beta1.Subspace":{"description":"Subspace defines a parameter subspace name and all the keys that exist for\nthe subspace.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"keys":{"type":"array","items":{"type":"string"}},"subspace":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjail":{"type":"object","title":"MsgUnjail defines the Msg/Unjail request type","properties":{"validator_addr":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjailResponse":{"type":"object","title":"MsgUnjailResponse defines the Msg/Unjail response type"},"cosmos.slashing.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/slashing parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.slashing.v1beta1.Params":{"description":"Params represents the parameters used for by the slashing module.","type":"object","properties":{"downtime_jail_duration":{"type":"string"},"min_signed_per_window":{"type":"string","format":"byte"},"signed_blocks_window":{"type":"string","format":"int64"},"slash_fraction_double_sign":{"type":"string","format":"byte"},"slash_fraction_downtime":{"type":"string","format":"byte"}}},"cosmos.slashing.v1beta1.QueryParamsResponse":{"type":"object","title":"QueryParamsResponse is the response type for the Query/Params RPC method","properties":{"params":{"$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.QuerySigningInfoResponse":{"type":"object","title":"QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod","properties":{"val_signing_info":{"title":"val_signing_info is the signing info of requested val cons address","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}}},"cosmos.slashing.v1beta1.QuerySigningInfosResponse":{"type":"object","title":"QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod","properties":{"info":{"type":"array","title":"info is the signing info of all validators","items":{"type":"object","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.slashing.v1beta1.ValidatorSigningInfo":{"description":"ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity.","type":"object","properties":{"address":{"type":"string"},"index_offset":{"description":"Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap.","type":"string","format":"int64"},"jailed_until":{"description":"Timestamp until which the validator is jailed due to liveness downtime.","type":"string","format":"date-time"},"missed_blocks_counter":{"description":"A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap.","type":"string","format":"int64"},"start_height":{"type":"string","format":"int64","title":"Height at which validator was first a candidate OR was un-jailed"},"tombstoned":{"description":"Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior.","type":"boolean"}}},"cosmos.staking.v1beta1.BondStatus":{"description":"BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded.","type":"string","default":"BOND_STATUS_UNSPECIFIED","enum":["BOND_STATUS_UNSPECIFIED","BOND_STATUS_UNBONDED","BOND_STATUS_UNBONDING","BOND_STATUS_BONDED"]},"cosmos.staking.v1beta1.Commission":{"description":"Commission defines commission parameters for a given validator.","type":"object","properties":{"commission_rates":{"description":"commission_rates defines the initial commission rates to be used for creating a validator.","$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"update_time":{"description":"update_time is the last time the commission rate was changed.","type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.CommissionRates":{"description":"CommissionRates defines the initial commission rates to be used for creating\na validator.","type":"object","properties":{"max_change_rate":{"description":"max_change_rate defines the maximum daily increase of the validator commission, as a fraction.","type":"string"},"max_rate":{"description":"max_rate defines the maximum commission rate which validator can ever charge, as a fraction.","type":"string"},"rate":{"description":"rate is the commission rate charged to delegators, as a fraction.","type":"string"}}},"cosmos.staking.v1beta1.Delegation":{"description":"Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"shares":{"description":"shares define the delegation shares received.","type":"string"},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.DelegationResponse":{"description":"DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses.","type":"object","properties":{"balance":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Delegation"}}},"cosmos.staking.v1beta1.Description":{"description":"Description defines a validator description.","type":"object","properties":{"details":{"description":"details define other optional details.","type":"string"},"identity":{"description":"identity defines an optional identity signature (ex. UPort or Keybase).","type":"string"},"moniker":{"description":"moniker defines a human-readable name for the validator.","type":"string"},"security_contact":{"description":"security_contact defines an optional email for security contact.","type":"string"},"website":{"description":"website defines an optional website link.","type":"string"}}},"cosmos.staking.v1beta1.HistoricalInfo":{"description":"HistoricalInfo contains header and validator information for a given block.\nIt is stored as part of staking module's state, which persists the `n` most\nrecent HistoricalInfo\n(`n` is set by the staking module's `historical_entries` parameter).","type":"object","properties":{"header":{"$ref":"#/definitions/tendermint.types.Header"},"valset":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.MsgBeginRedelegate":{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_dst_address":{"type":"string"},"validator_src_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgBeginRedelegateResponse":{"description":"MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type.","type":"object","properties":{"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegation":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator","properties":{"amount":{"title":"amount is always less than or equal to unbonding delegation entry balance","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgCancelUnbondingDelegationResponse"},"cosmos.staking.v1beta1.MsgCreateValidator":{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","type":"object","properties":{"commission":{"$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"delegator_address":{"description":"Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated.\nThe validator address bytes and delegator address bytes refer to the same account while creating validator (defer\nonly in bech32 notation).","type":"string"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"pubkey":{"$ref":"#/definitions/google.protobuf.Any"},"validator_address":{"type":"string"},"value":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.staking.v1beta1.MsgCreateValidatorResponse":{"description":"MsgCreateValidatorResponse defines the Msg/CreateValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgDelegate":{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgDelegateResponse":{"description":"MsgDelegateResponse defines the Msg/Delegate response type.","type":"object"},"cosmos.staking.v1beta1.MsgEditValidator":{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","type":"object","properties":{"commission_rate":{"type":"string","title":"We pass a reference to the new commission rate and min self delegation as\nit's not mandatory to update. If not updated, the deserialized rate will be\nzero with no way to distinguish if an update was intended.\nREF: #2373"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgEditValidatorResponse":{"description":"MsgEditValidatorResponse defines the Msg/EditValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgUndelegate":{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgUndelegateResponse":{"description":"MsgUndelegateResponse defines the Msg/Undelegate response type.","type":"object","properties":{"amount":{"description":"Since: cosmos-sdk 0.50","title":"amount returns the amount of undelegated coins","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/staking parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.\n\nSince: cosmos-sdk 0.47","type":"object"},"cosmos.staking.v1beta1.Params":{"description":"Params defines the parameters for the x/staking module.","type":"object","properties":{"bond_denom":{"description":"bond_denom defines the bondable coin denomination.","type":"string"},"historical_entries":{"description":"historical_entries is the number of historical entries to persist.","type":"integer","format":"int64"},"max_entries":{"description":"max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).","type":"integer","format":"int64"},"max_validators":{"description":"max_validators is the maximum number of validators.","type":"integer","format":"int64"},"min_commission_rate":{"type":"string","title":"min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators"},"unbonding_time":{"description":"unbonding_time is the time duration of unbonding.","type":"string"}}},"cosmos.staking.v1beta1.Pool":{"description":"Pool is used for tracking bonded and not-bonded token supply of the bond\ndenomination.","type":"object","properties":{"bonded_tokens":{"type":"string"},"not_bonded_tokens":{"type":"string"}}},"cosmos.staking.v1beta1.QueryDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/Delegation RPC method.","type":"object","properties":{"delegation_response":{"description":"delegation_responses defines the delegation info of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse":{"description":"QueryDelegatorDelegationsResponse is response type for the\nQuery/DelegatorDelegations RPC method.","type":"object","properties":{"delegation_responses":{"description":"delegation_responses defines all the delegations' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse":{"description":"QueryUnbondingDelegatorDelegationsResponse is response type for the\nQuery/UnbondingDelegatorDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorResponse":{"description":"QueryDelegatorValidatorResponse response type for the\nQuery/DelegatorValidator RPC method.","type":"object","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators defines the validators' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.QueryHistoricalInfoResponse":{"description":"QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC\nmethod.","type":"object","properties":{"hist":{"description":"hist defines the historical info at the given height.","$ref":"#/definitions/cosmos.staking.v1beta1.HistoricalInfo"}}},"cosmos.staking.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.QueryPoolResponse":{"description":"QueryPoolResponse is response type for the Query/Pool RPC method.","type":"object","properties":{"pool":{"description":"pool defines the pool info.","$ref":"#/definitions/cosmos.staking.v1beta1.Pool"}}},"cosmos.staking.v1beta1.QueryRedelegationsResponse":{"description":"QueryRedelegationsResponse is response type for the Query/Redelegations RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"redelegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationResponse"}}}},"cosmos.staking.v1beta1.QueryUnbondingDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/UnbondingDelegation\nRPC method.","type":"object","properties":{"unbond":{"description":"unbond defines the unbonding information of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}},"cosmos.staking.v1beta1.QueryValidatorDelegationsResponse":{"type":"object","title":"QueryValidatorDelegationsResponse is response type for the\nQuery/ValidatorDelegations RPC method","properties":{"delegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryValidatorResponse":{"type":"object","title":"QueryValidatorResponse is response type for the Query/Validator RPC method","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse":{"description":"QueryValidatorUnbondingDelegationsResponse is response type for the\nQuery/ValidatorUnbondingDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryValidatorsResponse":{"type":"object","title":"QueryValidatorsResponse is response type for the Query/Validators RPC method","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators contains all the queried validators.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.Redelegation":{"description":"Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the bech32-encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the redelegation entries.\n\nredelegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}},"validator_dst_address":{"description":"validator_dst_address is the validator redelegation destination operator address.","type":"string"},"validator_src_address":{"description":"validator_src_address is the validator redelegation source operator address.","type":"string"}}},"cosmos.staking.v1beta1.RedelegationEntry":{"description":"RedelegationEntry defines a redelegation object with relevant metadata.","type":"object","properties":{"completion_time":{"description":"completion_time defines the unix time for redelegation completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height defines the height which the redelegation took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the initial balance when redelegation started.","type":"string"},"shares_dst":{"description":"shares_dst is the amount of destination-validator shares created by redelegation.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.RedelegationEntryResponse":{"description":"RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"balance":{"type":"string"},"redelegation_entry":{"$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}}},"cosmos.staking.v1beta1.RedelegationResponse":{"description":"RedelegationResponse is equivalent to a Redelegation except that its entries\ncontain a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"entries":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntryResponse"}},"redelegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Redelegation"}}},"cosmos.staking.v1beta1.UnbondingDelegation":{"description":"UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the unbonding delegation entries.\n\nunbonding delegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegationEntry"}},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.UnbondingDelegationEntry":{"description":"UnbondingDelegationEntry defines an unbonding object with relevant metadata.","type":"object","properties":{"balance":{"description":"balance defines the tokens to receive at completion.","type":"string"},"completion_time":{"description":"completion_time is the unix time for unbonding completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the tokens initially scheduled to receive at completion.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.Validator":{"description":"Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate.","type":"object","properties":{"commission":{"description":"commission defines the commission parameters.","$ref":"#/definitions/cosmos.staking.v1beta1.Commission"},"consensus_pubkey":{"description":"consensus_pubkey is the consensus public key of the validator, as a Protobuf Any.","$ref":"#/definitions/google.protobuf.Any"},"delegator_shares":{"description":"delegator_shares defines total shares issued to a validator's delegators.","type":"string"},"description":{"description":"description defines the description terms for the validator.","$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"jailed":{"description":"jailed defined whether the validator has been jailed from bonded status or not.","type":"boolean"},"min_self_delegation":{"description":"min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46","type":"string"},"operator_address":{"description":"operator_address defines the address of the validator's operator; bech encoded in JSON.","type":"string"},"status":{"description":"status is the validator status (bonded/unbonding/unbonded).","$ref":"#/definitions/cosmos.staking.v1beta1.BondStatus"},"tokens":{"description":"tokens define the delegated tokens (incl. self-delegation).","type":"string"},"unbonding_height":{"description":"unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.","type":"string","format":"int64"},"unbonding_ids":{"type":"array","title":"list of unbonding ids, each uniquely identifing an unbonding of this validator","items":{"type":"string","format":"uint64"}},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"strictly positive if this validator's unbonding has been stopped by external modules"},"unbonding_time":{"description":"unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.","type":"string","format":"date-time"}}},"cosmos.store.streaming.abci.ListenCommitRequest":{"type":"object","title":"ListenCommitRequest is the request type for the ListenCommit RPC method","properties":{"block_height":{"type":"string","format":"int64","title":"explicitly pass in block height as ResponseCommit does not contain this info"},"change_set":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.store.v1beta1.StoreKVPair"}},"res":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}}},"cosmos.store.streaming.abci.ListenCommitResponse":{"type":"object","title":"ListenCommitResponse is the response type for the ListenCommit RPC method"},"cosmos.store.streaming.abci.ListenFinalizeBlockRequest":{"type":"object","title":"ListenEndBlockRequest is the request type for the ListenEndBlock RPC method","properties":{"req":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"},"res":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}}},"cosmos.store.streaming.abci.ListenFinalizeBlockResponse":{"type":"object","title":"ListenEndBlockResponse is the response type for the ListenEndBlock RPC method"},"cosmos.store.v1beta1.StoreKVPair":{"description":"Since: cosmos-sdk 0.43","type":"object","title":"StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes)\nIt optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and\nDeletes","properties":{"delete":{"type":"boolean","title":"true indicates a delete operation, false indicates a set operation"},"key":{"type":"string","format":"byte"},"store_key":{"type":"string","title":"the store key for the KVStore this pair originates from"},"value":{"type":"string","format":"byte"}}},"cosmos.tx.signing.v1beta1.SignMode":{"description":"SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT.\n\nSince: cosmos-sdk 0.50\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2","type":"string","default":"SIGN_MODE_UNSPECIFIED","enum":["SIGN_MODE_UNSPECIFIED","SIGN_MODE_DIRECT","SIGN_MODE_TEXTUAL","SIGN_MODE_DIRECT_AUX","SIGN_MODE_LEGACY_AMINO_JSON","SIGN_MODE_EIP_191"]},"cosmos.tx.v1beta1.AuthInfo":{"description":"AuthInfo describes the fee and signer modes that are used to sign a\ntransaction.","type":"object","properties":{"fee":{"description":"Fee is the fee and gas limit for the transaction. The first signer is the\nprimary signer and the one which pays the fee. The fee can be calculated\nbased on the cost of evaluating the body and doing signature verification\nof the signers. This can be estimated via simulation.","$ref":"#/definitions/cosmos.tx.v1beta1.Fee"},"signer_infos":{"description":"signer_infos defines the signing modes for the required signers. The number\nand order of elements must match the required signers from TxBody's\nmessages. The first element is the primary signer and the one which pays\nthe fee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.SignerInfo"}},"tip":{"description":"Tip is the optional tip used for transactions fees paid in another denom.\n\nThis field is ignored if the chain didn't enable tips, i.e. didn't add the\n`TipDecorator` in its posthandler.\n\nSince: cosmos-sdk 0.46","$ref":"#/definitions/cosmos.tx.v1beta1.Tip"}}},"cosmos.tx.v1beta1.BroadcastMode":{"description":"BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC\nmethod.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits\nfor a CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client\nreturns immediately.","type":"string","default":"BROADCAST_MODE_UNSPECIFIED","enum":["BROADCAST_MODE_UNSPECIFIED","BROADCAST_MODE_BLOCK","BROADCAST_MODE_SYNC","BROADCAST_MODE_ASYNC"]},"cosmos.tx.v1beta1.BroadcastTxRequest":{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","type":"object","properties":{"mode":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastMode"},"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.BroadcastTxResponse":{"description":"BroadcastTxResponse is the response type for the\nService.BroadcastTx method.","type":"object","properties":{"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.Fee":{"description":"Fee includes the amount of coins paid in fees and the maximum\ngas to be used by the transaction. The ratio yields an effective \"gasprice\",\nwhich must be above some miminum to be accepted into the mempool.","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of coins to be paid as a fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"gas_limit":{"type":"string","format":"uint64","title":"gas_limit is the maximum gas that can be used in transaction processing\nbefore an out of gas error occurs"},"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\nto pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does\nnot support fee grants, this will fail"},"payer":{"description":"if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees.\nthe payer must be a tx signer (and thus have signed this field in AuthInfo).\nsetting this field does *not* change the ordering of required signers for the transaction.","type":"string"}}},"cosmos.tx.v1beta1.GetBlockWithTxsResponse":{"description":"GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs\nmethod.\n\nSince: cosmos-sdk 0.45.2","type":"object","properties":{"block":{"$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"pagination":{"description":"pagination defines a pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"txs":{"description":"txs are the transactions in the block.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.GetTxResponse":{"description":"GetTxResponse is the response type for the Service.GetTx method.","type":"object","properties":{"tx":{"description":"tx is the queried transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.GetTxsEventResponse":{"description":"GetTxsEventResponse is the response type for the Service.TxsByEvents\nRPC method.","type":"object","properties":{"pagination":{"description":"pagination defines a pagination for the response.\nDeprecated post v0.46.x: use total instead.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64","title":"total is total number of results available"},"tx_responses":{"description":"tx_responses is the list of queried TxResponses.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}},"txs":{"description":"txs is the list of queried transactions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.ModeInfo":{"description":"ModeInfo describes the signing mode of a single or nested multisig signer.","type":"object","properties":{"multi":{"title":"multi represents a nested multisig signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi"},"single":{"title":"single represents a single signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Single"}}},"cosmos.tx.v1beta1.ModeInfo.Multi":{"type":"object","title":"Multi is the mode info for a multisig public key","properties":{"bitarray":{"title":"bitarray specifies which keys within the multisig are signing","$ref":"#/definitions/cosmos.crypto.multisig.v1beta1.CompactBitArray"},"mode_infos":{"type":"array","title":"mode_infos is the corresponding modes of the signers of the multisig\nwhich could include nested multisig public keys","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"}}}},"cosmos.tx.v1beta1.ModeInfo.Single":{"type":"object","title":"Single is the mode info for a single signer. It is structured as a message\nto allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the\nfuture","properties":{"mode":{"title":"mode is the signing mode of the single signer","$ref":"#/definitions/cosmos.tx.signing.v1beta1.SignMode"}}},"cosmos.tx.v1beta1.OrderBy":{"description":"- ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","type":"string","title":"OrderBy defines the sorting order","default":"ORDER_BY_UNSPECIFIED","enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"]},"cosmos.tx.v1beta1.SignerInfo":{"description":"SignerInfo describes the public key and signing mode of a single top-level\nsigner.","type":"object","properties":{"mode_info":{"title":"mode_info describes the signing mode of the signer and is a nested\nstructure to support nested multisig pubkey's","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"},"public_key":{"description":"public_key is the public key of the signer. It is optional for accounts\nthat already exist in state. If unset, the verifier can use the required \\\nsigner address for this position and lookup the public key.","$ref":"#/definitions/google.protobuf.Any"},"sequence":{"description":"sequence is the sequence of the account, which describes the\nnumber of committed transactions signed by a given address. It is used to\nprevent replay attacks.","type":"string","format":"uint64"}}},"cosmos.tx.v1beta1.SimulateRequest":{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","type":"object","properties":{"tx":{"description":"tx is the transaction to simulate.\nDeprecated. Send raw tx bytes instead.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_bytes":{"description":"tx_bytes is the raw transaction.\n\nSince: cosmos-sdk 0.43","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.SimulateResponse":{"description":"SimulateResponse is the response type for the\nService.SimulateRPC method.","type":"object","properties":{"gas_info":{"description":"gas_info is the information about gas used in the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.GasInfo"},"result":{"description":"result is the result of the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.Result"}}},"cosmos.tx.v1beta1.Tip":{"description":"Tip is the tip used for meta-transactions.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of the tip","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"tipper":{"type":"string","title":"tipper is the address of the account paying for the tip"}}},"cosmos.tx.v1beta1.Tx":{"description":"Tx is the standard type used for broadcasting transactions.","type":"object","properties":{"auth_info":{"title":"auth_info is the authorization related content of the transaction,\nspecifically signers, signer modes and fee","$ref":"#/definitions/cosmos.tx.v1beta1.AuthInfo"},"body":{"title":"body is the processable content of the transaction","$ref":"#/definitions/cosmos.tx.v1beta1.TxBody"},"signatures":{"description":"signatures is a list of signatures that matches the length and order of\nAuthInfo's signer_infos to allow connecting signature meta information like\npublic key and signing mode by position.","type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.tx.v1beta1.TxBody":{"description":"TxBody is the body of a transaction that all signers sign over.","type":"object","properties":{"extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, the transaction will be rejected","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"memo":{"description":"memo is any arbitrary note/comment to be added to the transaction.\nWARNING: in clients, any publicly exposed text should not be called memo,\nbut should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122).","type":"string"},"messages":{"description":"messages is a list of messages to be executed. The required signers of\nthose messages define the number and order of elements in AuthInfo's\nsigner_infos and Tx's signatures. Each required signer address is added to\nthe list only the first time it occurs.\nBy convention, the first required signer (usually from the first message)\nis referred to as the primary signer and pays the fee for the whole\ntransaction.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"non_critical_extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, they will be ignored","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"timeout_height":{"type":"string","format":"uint64","title":"timeout is the block height after which this transaction will not\nbe processed by the chain"}}},"cosmos.tx.v1beta1.TxDecodeAminoRequest":{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeAminoResponse":{"description":"TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxDecodeRequest":{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeResponse":{"description":"TxDecodeResponse is the response type for the\nService.TxDecode method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx":{"description":"tx is the decoded transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeAminoRequest":{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxEncodeAminoResponse":{"description":"TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxEncodeRequest":{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx":{"description":"tx is the transaction to encode.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeResponse":{"description":"TxEncodeResponse is the response type for the\nService.TxEncode method.\n\nSince: cosmos-sdk 0.47","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the encoded transaction bytes.","type":"string","format":"byte"}}},"cosmos.upgrade.v1beta1.ModuleVersion":{"description":"ModuleVersion specifies a module and its consensus version.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"name":{"type":"string","title":"name of the app module"},"version":{"type":"string","format":"uint64","title":"consensus version of the app module"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgrade":{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse":{"description":"MsgCancelUpgradeResponse is the Msg/CancelUpgrade response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.upgrade.v1beta1.MsgSoftwareUpgrade":{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"plan":{"description":"plan is the upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse":{"description":"MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.upgrade.v1beta1.Plan":{"description":"Plan specifies information about a planned upgrade and when it should occur.","type":"object","properties":{"height":{"description":"The height at which the upgrade must be performed.","type":"string","format":"int64"},"info":{"type":"string","title":"Any application specific upgrade info to be included on-chain\nsuch as a git commit that validators could automatically upgrade to"},"name":{"description":"Sets the name for the upgrade. This name will be used by the upgraded\nversion of the software to apply any special \"on-upgrade\" commands during\nthe first BeginBlock method after the upgrade is applied. It is also used\nto detect whether a software version can handle a given upgrade. If no\nupgrade handler with this name has been set in the software, it will be\nassumed that the software is out-of-date when the upgrade Time or Height is\nreached and the software will exit.","type":"string"},"time":{"description":"Deprecated: Time based upgrades have been deprecated. Time based upgrade logic\nhas been removed from the SDK.\nIf this field is not empty, an error will be thrown.","type":"string","format":"date-time"},"upgraded_client_state":{"description":"Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been\nmoved to the IBC module in the sub module 02-client.\nIf this field is not empty, an error will be thrown.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.upgrade.v1beta1.QueryAppliedPlanResponse":{"description":"QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC\nmethod.","type":"object","properties":{"height":{"description":"height is the block height at which the plan was applied.","type":"string","format":"int64"}}},"cosmos.upgrade.v1beta1.QueryAuthorityResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"QueryAuthorityResponse is the response type for Query/Authority","properties":{"address":{"type":"string"}}},"cosmos.upgrade.v1beta1.QueryCurrentPlanResponse":{"description":"QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC\nmethod.","type":"object","properties":{"plan":{"description":"plan is the current upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.QueryModuleVersionsResponse":{"description":"QueryModuleVersionsResponse is the response type for the Query/ModuleVersions\nRPC method.\n\nSince: cosmos-sdk 0.43","type":"object","properties":{"module_versions":{"description":"module_versions is a list of module names with their consensus versions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.upgrade.v1beta1.ModuleVersion"}}}},"cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse":{"description":"QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState\nRPC method.","type":"object","properties":{"upgraded_consensus_state":{"type":"string","format":"byte","title":"Since: cosmos-sdk 0.43"}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"from_address":{"type":"string"},"start_time":{"description":"start of vesting as unix time (in seconds).","type":"string","format":"int64"},"to_address":{"type":"string"},"vesting_periods":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.vesting.v1beta1.Period"}}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreatePeriodicVestingAccount\nresponse type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount":{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.\n\nSince: cosmos-sdk 0.46","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse":{"description":"MsgCreatePermanentLockedAccountResponse defines the Msg/CreatePermanentLockedAccount response type.\n\nSince: cosmos-sdk 0.46","type":"object"},"cosmos.vesting.v1beta1.MsgCreateVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"delayed":{"type":"boolean"},"end_time":{"description":"end of vesting as unix time (in seconds).","type":"string","format":"int64"},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type.","type":"object"},"cosmos.vesting.v1beta1.Period":{"description":"Period defines a length of time and amount of coins that will vest.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"length":{"description":"Period duration in seconds.","type":"string","format":"int64"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}},"tendermint.abci.CheckTxType":{"type":"string","default":"NEW","enum":["NEW","RECHECK"]},"tendermint.abci.CommitInfo":{"type":"object","properties":{"round":{"type":"integer","format":"int32"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.VoteInfo"}}}},"tendermint.abci.Event":{"description":"Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.EventAttribute"}},"type":{"type":"string"}}},"tendermint.abci.EventAttribute":{"description":"EventAttribute is a single key-value pair, associated with an event.","type":"object","properties":{"index":{"type":"boolean","title":"nondeterministic"},"key":{"type":"string"},"value":{"type":"string"}}},"tendermint.abci.ExecTxResult":{"description":"ExecTxResult contains results of executing one individual transaction.\n\n* Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","title":"nondeterministic","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ExtendedCommitInfo":{"description":"ExtendedCommitInfo is similar to CommitInfo except that it is only used in\nthe PrepareProposal request such that CometBFT can provide vote extensions\nto the application.","type":"object","properties":{"round":{"description":"The round at which the block proposer decided in the previous height.","type":"integer","format":"int32"},"votes":{"description":"List of validators' addresses in the last validator set with their voting\ninformation, including vote extensions.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExtendedVoteInfo"}}}},"tendermint.abci.ExtendedVoteInfo":{"type":"object","properties":{"block_id_flag":{"title":"block_id_flag indicates whether the validator voted for a block, nil, or did not vote at all","$ref":"#/definitions/tendermint.types.BlockIDFlag"},"extension_signature":{"type":"string","format":"byte","title":"Vote extension signature created by CometBFT"},"validator":{"description":"The validator that sent the vote.","$ref":"#/definitions/tendermint.abci.Validator"},"vote_extension":{"description":"Non-deterministic extension provided by the sending validator's application.","type":"string","format":"byte"}}},"tendermint.abci.Misbehavior":{"type":"object","properties":{"height":{"type":"string","format":"int64","title":"The height when the offense occurred"},"time":{"type":"string","format":"date-time","title":"The corresponding time where the offense occurred"},"total_voting_power":{"type":"string","format":"int64","title":"Total voting power of the validator set in case the ABCI application does\nnot store historical validators.\nhttps://github.com/tendermint/tendermint/issues/4581"},"type":{"$ref":"#/definitions/tendermint.abci.MisbehaviorType"},"validator":{"title":"The offending validator","$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.abci.MisbehaviorType":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","DUPLICATE_VOTE","LIGHT_CLIENT_ATTACK"]},"tendermint.abci.RequestApplySnapshotChunk":{"type":"object","title":"Applies a snapshot chunk","properties":{"chunk":{"type":"string","format":"byte"},"index":{"type":"integer","format":"int64"},"sender":{"type":"string"}}},"tendermint.abci.RequestCheckTx":{"type":"object","properties":{"tx":{"type":"string","format":"byte"},"type":{"$ref":"#/definitions/tendermint.abci.CheckTxType"}}},"tendermint.abci.RequestCommit":{"type":"object"},"tendermint.abci.RequestEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.RequestExtendVote":{"type":"object","title":"Extends a vote with application-injected data","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this vote may be referring to"},"height":{"type":"string","format":"int64","title":"the height of the extended vote"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time","title":"info of the block that this vote may be referring to"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFinalizeBlock":{"type":"object","properties":{"decided_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"hash":{"description":"hash is the merkle root hash of the fields of the decided block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"proposer_address is the address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFlush":{"type":"object"},"tendermint.abci.RequestInfo":{"type":"object","properties":{"abci_version":{"type":"string"},"block_version":{"type":"string","format":"uint64"},"p2p_version":{"type":"string","format":"uint64"},"version":{"type":"string"}}},"tendermint.abci.RequestInitChain":{"type":"object","properties":{"app_state_bytes":{"type":"string","format":"byte"},"chain_id":{"type":"string"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"initial_height":{"type":"string","format":"int64"},"time":{"type":"string","format":"date-time"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.RequestListSnapshots":{"type":"object","title":"lists available snapshots"},"tendermint.abci.RequestLoadSnapshotChunk":{"type":"object","title":"loads a snapshot chunk","properties":{"chunk":{"type":"integer","format":"int64"},"format":{"type":"integer","format":"int64"},"height":{"type":"string","format":"uint64"}}},"tendermint.abci.RequestOfferSnapshot":{"type":"object","title":"offers a snapshot to the application","properties":{"app_hash":{"type":"string","format":"byte","title":"light client-verified app hash for snapshot height"},"snapshot":{"title":"snapshot offered by peers","$ref":"#/definitions/tendermint.abci.Snapshot"}}},"tendermint.abci.RequestPrepareProposal":{"type":"object","properties":{"height":{"type":"string","format":"int64"},"local_last_commit":{"$ref":"#/definitions/tendermint.abci.ExtendedCommitInfo"},"max_tx_bytes":{"description":"the modified transactions cannot exceed this size.","type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"address of the public key of the validator proposing the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"description":"txs is an array of transactions that will be included in a block,\nsent to the app for possible modifications.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestProcessProposal":{"type":"object","properties":{"hash":{"description":"hash is the merkle root hash of the fields of the proposed block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestQuery":{"type":"object","properties":{"data":{"type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"path":{"type":"string"},"prove":{"type":"boolean"}}},"tendermint.abci.RequestVerifyVoteExtension":{"type":"object","title":"Verify the vote extension","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this received vote corresponds to"},"height":{"type":"string","format":"int64"},"validator_address":{"type":"string","format":"byte","title":"the validator that signed the vote extension"},"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseApplySnapshotChunk":{"type":"object","properties":{"refetch_chunks":{"type":"array","title":"Chunks to refetch and reapply","items":{"type":"integer","format":"int64"}},"reject_senders":{"type":"array","title":"Chunk senders to reject and ban","items":{"type":"string"}},"result":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk.Result"}}},"tendermint.abci.ResponseApplySnapshotChunk.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Chunk successfully accepted\n - ABORT: Abort all snapshot restoration\n - RETRY: Retry chunk (combine with refetch and reject)\n - RETRY_SNAPSHOT: Retry snapshot (combine with refetch and reject)\n - REJECT_SNAPSHOT: Reject this snapshot, try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","RETRY","RETRY_SNAPSHOT","REJECT_SNAPSHOT"]},"tendermint.abci.ResponseCheckTx":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ResponseCommit":{"type":"object","properties":{"retain_height":{"type":"string","format":"int64"}}},"tendermint.abci.ResponseEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.ResponseExtendVote":{"type":"object","properties":{"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseFinalizeBlock":{"type":"object","properties":{"app_hash":{"description":"app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was\ndeterministic. It is up to the application to decide which algorithm to use.","type":"string","format":"byte"},"consensus_param_updates":{"description":"updates to the consensus params, if any.","$ref":"#/definitions/tendermint.types.ConsensusParams"},"events":{"type":"array","title":"set of block events emmitted as part of executing the block","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"tx_results":{"type":"array","title":"the result of executing each transaction including the events\nthe particular transction emitted. This should match the order\nof the transactions delivered in the block itself","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExecTxResult"}},"validator_updates":{"description":"a list of updates to the validator set. These will reflect the validator set at current height + 2.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseFlush":{"type":"object"},"tendermint.abci.ResponseInfo":{"type":"object","properties":{"app_version":{"type":"string","format":"uint64"},"data":{"type":"string"},"last_block_app_hash":{"type":"string","format":"byte"},"last_block_height":{"type":"string","format":"int64"},"version":{"type":"string"}}},"tendermint.abci.ResponseInitChain":{"type":"object","properties":{"app_hash":{"type":"string","format":"byte"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseListSnapshots":{"type":"object","properties":{"snapshots":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Snapshot"}}}},"tendermint.abci.ResponseLoadSnapshotChunk":{"type":"object","properties":{"chunk":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseOfferSnapshot":{"type":"object","properties":{"result":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot.Result"}}},"tendermint.abci.ResponseOfferSnapshot.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Snapshot accepted, apply chunks\n - ABORT: Abort all snapshot restoration\n - REJECT: Reject this specific snapshot, try others\n - REJECT_FORMAT: Reject all snapshots of this format, try others\n - REJECT_SENDER: Reject all snapshots from the sender(s), try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","REJECT","REJECT_FORMAT","REJECT_SENDER"]},"tendermint.abci.ResponsePrepareProposal":{"type":"object","properties":{"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.ResponseProcessProposal":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal.ProposalStatus"}}},"tendermint.abci.ResponseProcessProposal.ProposalStatus":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.ResponseQuery":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"description":"bytes data = 2; // use \"value\" instead.\n\nnondeterministic","type":"string"},"proof_ops":{"$ref":"#/definitions/tendermint.crypto.ProofOps"},"value":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseVerifyVoteExtension":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus"}}},"tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus":{"description":" - REJECT: Rejecting the vote extension will reject the entire precommit by the sender.\nIncorrectly implementing this thus has liveness implications as it may affect\nCometBFT's ability to receive 2/3+ valid votes to finalize the block.\nHonest nodes should never be rejected.","type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.Snapshot":{"type":"object","properties":{"chunks":{"type":"integer","format":"int64","title":"Number of chunks in the snapshot"},"format":{"type":"integer","format":"int64","title":"The application-specific snapshot format"},"hash":{"type":"string","format":"byte","title":"Arbitrary snapshot hash, equal only if identical"},"height":{"type":"string","format":"uint64","title":"The height at which the snapshot was taken"},"metadata":{"type":"string","format":"byte","title":"Arbitrary application metadata"}}},"tendermint.abci.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte","title":"The first 20 bytes of SHA256(public key)"},"power":{"description":"The voting power","type":"string","format":"int64","title":"PubKey pub_key = 2 [(gogoproto.nullable)=false];"}}},"tendermint.abci.ValidatorUpdate":{"type":"object","properties":{"power":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"}}},"tendermint.abci.VoteInfo":{"type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"validator":{"$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.crypto.ProofOp":{"type":"object","title":"ProofOp defines an operation used for calculating Merkle root\nThe data could be arbitrary format, providing nessecary data\nfor example neighbouring node hash","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"tendermint.crypto.ProofOps":{"type":"object","title":"ProofOps is Merkle proof defined by the list of ProofOps","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.crypto.ProofOp"}}}},"tendermint.crypto.PublicKey":{"type":"object","title":"PublicKey defines the keys available for use with Validators","properties":{"ed25519":{"type":"string","format":"byte"},"secp256k1":{"type":"string","format":"byte"}}},"tendermint.p2p.DefaultNodeInfo":{"type":"object","properties":{"channels":{"type":"string","format":"byte"},"default_node_id":{"type":"string"},"listen_addr":{"type":"string"},"moniker":{"type":"string"},"network":{"type":"string"},"other":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfoOther"},"protocol_version":{"$ref":"#/definitions/tendermint.p2p.ProtocolVersion"},"version":{"type":"string"}}},"tendermint.p2p.DefaultNodeInfoOther":{"type":"object","properties":{"rpc_address":{"type":"string"},"tx_index":{"type":"string"}}},"tendermint.p2p.ProtocolVersion":{"type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"},"p2p":{"type":"string","format":"uint64"}}},"tendermint.types.ABCIParams":{"description":"ABCIParams configure functionality specific to the Application Blockchain Interface.","type":"object","properties":{"vote_extensions_enable_height":{"description":"vote_extensions_enable_height configures the first height during which\nvote extensions will be enabled. During this specified height, and for all\nsubsequent heights, precommit messages that do not contain valid extension data\nwill be considered invalid. Prior to this height, vote extensions will not\nbe used or accepted by validators on the network.\n\nOnce enabled, vote extensions will be created by the application in ExtendVote,\npassed to the application for validation in VerifyVoteExtension and given\nto the application to use when proposing a block during PrepareProposal.","type":"string","format":"int64"}}},"tendermint.types.Block":{"type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/tendermint.types.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"tendermint.types.BlockID":{"type":"object","title":"BlockID","properties":{"hash":{"type":"string","format":"byte"},"part_set_header":{"$ref":"#/definitions/tendermint.types.PartSetHeader"}}},"tendermint.types.BlockIDFlag":{"description":"- BLOCK_ID_FLAG_UNKNOWN: indicates an error condition\n - BLOCK_ID_FLAG_ABSENT: the vote was not received\n - BLOCK_ID_FLAG_COMMIT: voted for the block that received the majority\n - BLOCK_ID_FLAG_NIL: voted for nil","type":"string","title":"BlockIdFlag indicates which BlockID the signature is for","default":"BLOCK_ID_FLAG_UNKNOWN","enum":["BLOCK_ID_FLAG_UNKNOWN","BLOCK_ID_FLAG_ABSENT","BLOCK_ID_FLAG_COMMIT","BLOCK_ID_FLAG_NIL"]},"tendermint.types.BlockParams":{"description":"BlockParams contains limits on the block size.","type":"object","properties":{"max_bytes":{"type":"string","format":"int64","title":"Max block size, in bytes.\nNote: must be greater than 0"},"max_gas":{"type":"string","format":"int64","title":"Max gas per block.\nNote: must be greater or equal to -1"}}},"tendermint.types.Commit":{"description":"Commit contains the evidence that a block was committed by a set of validators.","type":"object","properties":{"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signatures":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.CommitSig"}}}},"tendermint.types.CommitSig":{"description":"CommitSig is a part of the Vote included in a Commit.","type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"signature":{"type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"validator_address":{"type":"string","format":"byte"}}},"tendermint.types.ConsensusParams":{"description":"ConsensusParams contains consensus critical parameters that determine the\nvalidity of blocks.","type":"object","properties":{"abci":{"$ref":"#/definitions/tendermint.types.ABCIParams"},"block":{"$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"},"version":{"$ref":"#/definitions/tendermint.types.VersionParams"}}},"tendermint.types.Data":{"type":"object","title":"Data contains the set of transactions included in the block","properties":{"txs":{"description":"Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.types.DuplicateVoteEvidence":{"description":"DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.","type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"},"validator_power":{"type":"string","format":"int64"},"vote_a":{"$ref":"#/definitions/tendermint.types.Vote"},"vote_b":{"$ref":"#/definitions/tendermint.types.Vote"}}},"tendermint.types.Evidence":{"type":"object","properties":{"duplicate_vote_evidence":{"$ref":"#/definitions/tendermint.types.DuplicateVoteEvidence"},"light_client_attack_evidence":{"$ref":"#/definitions/tendermint.types.LightClientAttackEvidence"}}},"tendermint.types.EvidenceList":{"type":"object","properties":{"evidence":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Evidence"}}}},"tendermint.types.EvidenceParams":{"description":"EvidenceParams determine how we handle evidence of malfeasance.","type":"object","properties":{"max_age_duration":{"description":"Max age of evidence, in time.\n\nIt should correspond with an app's \"unbonding period\" or other similar\nmechanism for handling [Nothing-At-Stake\nattacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).","type":"string"},"max_age_num_blocks":{"description":"Max age of evidence, in blocks.\n\nThe basic formula for calculating this is: MaxAgeDuration / {average block\ntime}.","type":"string","format":"int64"},"max_bytes":{"type":"string","format":"int64","title":"This sets the maximum size of total evidence in bytes that can be committed in a single block.\nand should fall comfortably under the max block bytes.\nDefault is 1048576 or 1MB"}}},"tendermint.types.Header":{"description":"Header defines the structure of a block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"type":"string","format":"byte","title":"original proposer of the block"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"tendermint.types.LightBlock":{"type":"object","properties":{"signed_header":{"$ref":"#/definitions/tendermint.types.SignedHeader"},"validator_set":{"$ref":"#/definitions/tendermint.types.ValidatorSet"}}},"tendermint.types.LightClientAttackEvidence":{"description":"LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.","type":"object","properties":{"byzantine_validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}},"common_height":{"type":"string","format":"int64"},"conflicting_block":{"$ref":"#/definitions/tendermint.types.LightBlock"},"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"}}},"tendermint.types.PartSetHeader":{"type":"object","title":"PartsetHeader","properties":{"hash":{"type":"string","format":"byte"},"total":{"type":"integer","format":"int64"}}},"tendermint.types.SignedHeader":{"type":"object","properties":{"commit":{"$ref":"#/definitions/tendermint.types.Commit"},"header":{"$ref":"#/definitions/tendermint.types.Header"}}},"tendermint.types.SignedMsgType":{"description":"SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals","type":"string","default":"SIGNED_MSG_TYPE_UNKNOWN","enum":["SIGNED_MSG_TYPE_UNKNOWN","SIGNED_MSG_TYPE_PREVOTE","SIGNED_MSG_TYPE_PRECOMMIT","SIGNED_MSG_TYPE_PROPOSAL"]},"tendermint.types.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"},"voting_power":{"type":"string","format":"int64"}}},"tendermint.types.ValidatorParams":{"description":"ValidatorParams restrict the public key types validators can use.\nNOTE: uses ABCI pubkey naming, not Amino names.","type":"object","properties":{"pub_key_types":{"type":"array","items":{"type":"string"}}}},"tendermint.types.ValidatorSet":{"type":"object","properties":{"proposer":{"$ref":"#/definitions/tendermint.types.Validator"},"total_voting_power":{"type":"string","format":"int64"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}}}},"tendermint.types.VersionParams":{"description":"VersionParams contains the ABCI application version.","type":"object","properties":{"app":{"type":"string","format":"uint64"}}},"tendermint.types.Vote":{"description":"Vote represents a prevote or precommit vote from validators for\nconsensus.","type":"object","properties":{"block_id":{"description":"zero if vote is nil.","$ref":"#/definitions/tendermint.types.BlockID"},"extension":{"description":"Vote extension provided by the application. Only valid for precommit\nmessages.","type":"string","format":"byte"},"extension_signature":{"description":"Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signature":{"description":"Vote signature by the validator if they participated in consensus for the\nassociated block.","type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"type":{"$ref":"#/definitions/tendermint.types.SignedMsgType"},"validator_address":{"type":"string","format":"byte"},"validator_index":{"type":"integer","format":"int32"}}},"tendermint.version.Consensus":{"description":"Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine.","type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"}}}},"tags":[{"name":"Query"},{"name":"Msg"},{"name":"Service"},{"name":"ReflectionService"},{"name":"ABCIListenerService"},{"name":"ABCI"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info/{activeSets}/{cardsNumber}/{matchesNumber}/{sellOffersNumber}/{councilsNumber}/{lastCardModified}":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","parameters":[{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"activeSets","in":"path","required":true},{"type":"string","format":"uint64","name":"cardsNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"matchesNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"sellOffersNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"councilsNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"lastCardModified","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}/{wanted}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"wanted","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index e1d1f7aa..d79bcaf6 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -14,4 +14,8 @@ set -o pipefail #ignite scaffold query encounters --response encounters #ignite scaffold query encounterWithImage --response encounter:EncounterWithImage #ignite scaffold query encountersWithImage --response encounters -ignite scaffold query cardchainInfo --response cardAuctionPrice:coin activeSets:uints cardsNumber:uint matchesNumber:uint sellOffersNumber:uint councilsNumber:uint lastCardModified:uint +#ignite scaffold query cardchainInfo --response cardAuctionPrice:coin activeSets:uints cardsNumber:uint matchesNumber:uint sellOffersNumber:uint councilsNumber:uint lastCardModified:uint +#ignite scaffold query cardContent cardId:uint --response encounters +#ignite scaffold query setRarityDistribution setId --response current:uints wanted:uints +#ignite scaffold query accountFromZealy zealyId:string --response address:string +#ignite scaffold query votingResults --response lastVotingResults:VotingResults diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 89ed7a04..5fd1184d 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -19,6 +19,7 @@ import "cardchain/cardchain/server.proto"; import "cardchain/cardchain/encounter.proto"; import "cardchain/cardchain/encounter_with_image.proto"; import "cosmos/base/v1beta1/coin.proto"; +import "cardchain/cardchain/voting_results.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; @@ -118,6 +119,24 @@ service Query { option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/cardchain_info/{activeSets}/{cardsNumber}/{matchesNumber}/{sellOffersNumber}/{councilsNumber}/{lastCardModified}"; } + + // Queries a list of SetRarityDistribution items. + rpc SetRarityDistribution (QuerySetRarityDistributionRequest) returns (QuerySetRarityDistributionResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}/{wanted}"; + + } + + // Queries a list of AccountFromZealy items. + rpc AccountFromZealy (QueryAccountFromZealyRequest) returns (QueryAccountFromZealyResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}"; + + } + + // Queries a list of VotingResults items. + rpc VotingResults (QueryVotingResultsRequest) returns (QueryVotingResultsResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/voting_results"; + + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -260,3 +279,26 @@ message QueryCardchainInfoResponse { cosmos.base.v1beta1.Coin cardAuctionPrice = 1 [(gogoproto.nullable) = false]; } +message QuerySetRarityDistributionRequest { + string setId = 1; + repeated uint64 wanted = 2; +} + +message QuerySetRarityDistributionResponse { + repeated uint64 current = 1; +} + +message QueryAccountFromZealyRequest { + string zealyId = 1; +} + +message QueryAccountFromZealyResponse { + string address = 1; +} + +message QueryVotingResultsRequest {} + +message QueryVotingResultsResponse { + VotingResults lastVotingResults = 1; +} + diff --git a/proto/cardchain/cardchain/voting.proto b/proto/cardchain/cardchain/voting.proto index c719b9d2..c827eaed 100644 --- a/proto/cardchain/cardchain/voting.proto +++ b/proto/cardchain/cardchain/voting.proto @@ -3,17 +3,6 @@ package cardchain.cardchain; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; -message VotingResults { - - uint64 totalVotes = 1; - uint64 totalFairEnoughVotes = 2; - uint64 totalOverpoweredVotes = 3; - uint64 totalUnderpoweredVotes = 4; - uint64 totalInappropriateVotes = 5; - repeated VotingResult cardResults = 6; - string notes = 7; -} - message VotingResult { uint64 cardId = 1; diff --git a/proto/cardchain/cardchain/voting_results.proto b/proto/cardchain/cardchain/voting_results.proto new file mode 100644 index 00000000..a88aea61 --- /dev/null +++ b/proto/cardchain/cardchain/voting_results.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; +package cardchain.cardchain; + +import "cardchain/cardchain/voting.proto"; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message VotingResults { + uint64 totalVotes = 1; + uint64 totalFairEnoughVotes = 2; + uint64 totalOverpoweredVotes = 3; + uint64 totalUnderpoweredVotes = 4; + uint64 totalInappropriateVotes = 5; + repeated VotingResult cardResults = 6; + string notes = 7; +} diff --git a/x/cardchain/keeper/query_account_from_zealy.go b/x/cardchain/keeper/query_account_from_zealy.go new file mode 100644 index 00000000..f1ce6aeb --- /dev/null +++ b/x/cardchain/keeper/query_account_from_zealy.go @@ -0,0 +1,23 @@ +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) AccountFromZealy(goCtx context.Context, req *types.QueryAccountFromZealyRequest) (*types.QueryAccountFromZealyResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryAccountFromZealyResponse{}, nil +} diff --git a/x/cardchain/keeper/query_set_rarity_distribution.go b/x/cardchain/keeper/query_set_rarity_distribution.go new file mode 100644 index 00000000..3e4e2642 --- /dev/null +++ b/x/cardchain/keeper/query_set_rarity_distribution.go @@ -0,0 +1,23 @@ +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) SetRarityDistribution(goCtx context.Context, req *types.QuerySetRarityDistributionRequest) (*types.QuerySetRarityDistributionResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QuerySetRarityDistributionResponse{}, nil +} diff --git a/x/cardchain/keeper/query_voting_results.go b/x/cardchain/keeper/query_voting_results.go new file mode 100644 index 00000000..2db01f8d --- /dev/null +++ b/x/cardchain/keeper/query_voting_results.go @@ -0,0 +1,23 @@ +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) VotingResults(goCtx context.Context, req *types.QueryVotingResultsRequest) (*types.QueryVotingResultsResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryVotingResultsResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index fa0a5c2d..6e7444aa 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -119,6 +119,27 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "activeSets"}, {ProtoField: "cardsNumber"}, {ProtoField: "matchesNumber"}, {ProtoField: "sellOffersNumber"}, {ProtoField: "councilsNumber"}, {ProtoField: "lastCardModified"}}, }, + { + RpcMethod: "SetRarityDistribution", + Use: "set-rarity-distribution [set-id] [wanted]", + Short: "Query setRarityDistribution", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}, {ProtoField: "wanted"}}, + }, + + { + RpcMethod: "AccountFromZealy", + Use: "account-from-zealy [zealy-id]", + Short: "Query accountFromZealy", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "zealyId"}}, + }, + + { + RpcMethod: "VotingResults", + Use: "voting-results", + Short: "Query votingResults", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go index e0cd33af..bf541854 100644 --- a/x/cardchain/types/card.pb.go +++ b/x/cardchain/types/card.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/card_with_image.pb.go b/x/cardchain/types/card_with_image.pb.go index 39e731f0..cccc278d 100644 --- a/x/cardchain/types/card_with_image.pb.go +++ b/x/cardchain/types/card_with_image.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/council.pb.go b/x/cardchain/types/council.pb.go index a6f6f6d7..1bbdfc01 100644 --- a/x/cardchain/types/council.pb.go +++ b/x/cardchain/types/council.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/encounter.pb.go b/x/cardchain/types/encounter.pb.go index 1eff5df8..bd79c803 100644 --- a/x/cardchain/types/encounter.pb.go +++ b/x/cardchain/types/encounter.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/encounter_with_image.pb.go b/x/cardchain/types/encounter_with_image.pb.go index 8e33d62b..aa0aafa7 100644 --- a/x/cardchain/types/encounter_with_image.pb.go +++ b/x/cardchain/types/encounter_with_image.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 4306f207..636f7c25 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/image.pb.go b/x/cardchain/types/image.pb.go index a4fe2647..a2a036be 100644 --- a/x/cardchain/types/image.pb.go +++ b/x/cardchain/types/image.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 7ac97cf8..660c57d2 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index d9081e8f..2874c6ce 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,13 +5,14 @@ package types import ( fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" - io "io" - math "math" - math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/product_details.pb.go b/x/cardchain/types/product_details.pb.go index 11fdabcb..6f38ca9c 100644 --- a/x/cardchain/types/product_details.pb.go +++ b/x/cardchain/types/product_details.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index a944bc54..5686d3a6 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + types "github.com/cosmos/cosmos-sdk/types" query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -16,9 +20,6 @@ import ( 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. @@ -1547,6 +1548,270 @@ func (m *QueryCardchainInfoResponse) GetCardAuctionPrice() types.Coin { return types.Coin{} } +type QuerySetRarityDistributionRequest struct { + SetId string `protobuf:"bytes,1,opt,name=setId,proto3" json:"setId,omitempty"` + Wanted []uint64 `protobuf:"varint,2,rep,packed,name=wanted,proto3" json:"wanted,omitempty"` +} + +func (m *QuerySetRarityDistributionRequest) Reset() { *m = QuerySetRarityDistributionRequest{} } +func (m *QuerySetRarityDistributionRequest) String() string { return proto.CompactTextString(m) } +func (*QuerySetRarityDistributionRequest) ProtoMessage() {} +func (*QuerySetRarityDistributionRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{32} +} +func (m *QuerySetRarityDistributionRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuerySetRarityDistributionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuerySetRarityDistributionRequest.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 *QuerySetRarityDistributionRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySetRarityDistributionRequest.Merge(m, src) +} +func (m *QuerySetRarityDistributionRequest) XXX_Size() int { + return m.Size() +} +func (m *QuerySetRarityDistributionRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySetRarityDistributionRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QuerySetRarityDistributionRequest proto.InternalMessageInfo + +func (m *QuerySetRarityDistributionRequest) GetSetId() string { + if m != nil { + return m.SetId + } + return "" +} + +func (m *QuerySetRarityDistributionRequest) GetWanted() []uint64 { + if m != nil { + return m.Wanted + } + return nil +} + +type QuerySetRarityDistributionResponse struct { + Current []uint64 `protobuf:"varint,1,rep,packed,name=current,proto3" json:"current,omitempty"` +} + +func (m *QuerySetRarityDistributionResponse) Reset() { *m = QuerySetRarityDistributionResponse{} } +func (m *QuerySetRarityDistributionResponse) String() string { return proto.CompactTextString(m) } +func (*QuerySetRarityDistributionResponse) ProtoMessage() {} +func (*QuerySetRarityDistributionResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{33} +} +func (m *QuerySetRarityDistributionResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuerySetRarityDistributionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuerySetRarityDistributionResponse.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 *QuerySetRarityDistributionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySetRarityDistributionResponse.Merge(m, src) +} +func (m *QuerySetRarityDistributionResponse) XXX_Size() int { + return m.Size() +} +func (m *QuerySetRarityDistributionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySetRarityDistributionResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QuerySetRarityDistributionResponse proto.InternalMessageInfo + +func (m *QuerySetRarityDistributionResponse) GetCurrent() []uint64 { + if m != nil { + return m.Current + } + return nil +} + +type QueryAccountFromZealyRequest struct { + ZealyId string `protobuf:"bytes,1,opt,name=zealyId,proto3" json:"zealyId,omitempty"` +} + +func (m *QueryAccountFromZealyRequest) Reset() { *m = QueryAccountFromZealyRequest{} } +func (m *QueryAccountFromZealyRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAccountFromZealyRequest) ProtoMessage() {} +func (*QueryAccountFromZealyRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{34} +} +func (m *QueryAccountFromZealyRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAccountFromZealyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAccountFromZealyRequest.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 *QueryAccountFromZealyRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAccountFromZealyRequest.Merge(m, src) +} +func (m *QueryAccountFromZealyRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAccountFromZealyRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAccountFromZealyRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAccountFromZealyRequest proto.InternalMessageInfo + +func (m *QueryAccountFromZealyRequest) GetZealyId() string { + if m != nil { + return m.ZealyId + } + return "" +} + +type QueryAccountFromZealyResponse struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` +} + +func (m *QueryAccountFromZealyResponse) Reset() { *m = QueryAccountFromZealyResponse{} } +func (m *QueryAccountFromZealyResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAccountFromZealyResponse) ProtoMessage() {} +func (*QueryAccountFromZealyResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{35} +} +func (m *QueryAccountFromZealyResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAccountFromZealyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAccountFromZealyResponse.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 *QueryAccountFromZealyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAccountFromZealyResponse.Merge(m, src) +} +func (m *QueryAccountFromZealyResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryAccountFromZealyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAccountFromZealyResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAccountFromZealyResponse proto.InternalMessageInfo + +func (m *QueryAccountFromZealyResponse) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +type QueryVotingResultsRequest struct { +} + +func (m *QueryVotingResultsRequest) Reset() { *m = QueryVotingResultsRequest{} } +func (m *QueryVotingResultsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryVotingResultsRequest) ProtoMessage() {} +func (*QueryVotingResultsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{36} +} +func (m *QueryVotingResultsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryVotingResultsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryVotingResultsRequest.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 *QueryVotingResultsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryVotingResultsRequest.Merge(m, src) +} +func (m *QueryVotingResultsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryVotingResultsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryVotingResultsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryVotingResultsRequest proto.InternalMessageInfo + +type QueryVotingResultsResponse struct { + LastVotingResults *VotingResults `protobuf:"bytes,1,opt,name=lastVotingResults,proto3" json:"lastVotingResults,omitempty"` +} + +func (m *QueryVotingResultsResponse) Reset() { *m = QueryVotingResultsResponse{} } +func (m *QueryVotingResultsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryVotingResultsResponse) ProtoMessage() {} +func (*QueryVotingResultsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{37} +} +func (m *QueryVotingResultsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryVotingResultsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryVotingResultsResponse.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 *QueryVotingResultsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryVotingResultsResponse.Merge(m, src) +} +func (m *QueryVotingResultsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryVotingResultsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryVotingResultsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryVotingResultsResponse proto.InternalMessageInfo + +func (m *QueryVotingResultsResponse) GetLastVotingResults() *VotingResults { + if m != nil { + return m.LastVotingResults + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -1580,126 +1845,148 @@ func init() { proto.RegisterType((*QueryEncountersWithImageResponse)(nil), "cardchain.cardchain.QueryEncountersWithImageResponse") proto.RegisterType((*QueryCardchainInfoRequest)(nil), "cardchain.cardchain.QueryCardchainInfoRequest") proto.RegisterType((*QueryCardchainInfoResponse)(nil), "cardchain.cardchain.QueryCardchainInfoResponse") + proto.RegisterType((*QuerySetRarityDistributionRequest)(nil), "cardchain.cardchain.QuerySetRarityDistributionRequest") + proto.RegisterType((*QuerySetRarityDistributionResponse)(nil), "cardchain.cardchain.QuerySetRarityDistributionResponse") + proto.RegisterType((*QueryAccountFromZealyRequest)(nil), "cardchain.cardchain.QueryAccountFromZealyRequest") + proto.RegisterType((*QueryAccountFromZealyResponse)(nil), "cardchain.cardchain.QueryAccountFromZealyResponse") + proto.RegisterType((*QueryVotingResultsRequest)(nil), "cardchain.cardchain.QueryVotingResultsRequest") + proto.RegisterType((*QueryVotingResultsResponse)(nil), "cardchain.cardchain.QueryVotingResultsResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 1817 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xcf, 0x6f, 0xdb, 0xca, - 0x11, 0x36, 0x6d, 0x49, 0xb6, 0x26, 0xef, 0xf9, 0x25, 0x1b, 0x37, 0xd5, 0x53, 0xf3, 0x64, 0x3f, - 0xe6, 0x87, 0x1d, 0x37, 0x11, 0x13, 0xdb, 0xf9, 0xe1, 0xc4, 0x71, 0x63, 0x3b, 0x89, 0x91, 0x06, - 0x49, 0x1c, 0xba, 0x69, 0xd1, 0x5e, 0x0c, 0x5a, 0x5a, 0xcb, 0x44, 0x28, 0xd2, 0x21, 0x57, 0x71, - 0x05, 0x41, 0x40, 0xd1, 0xde, 0x8b, 0xa2, 0x09, 0xda, 0xa2, 0x40, 0x81, 0xb6, 0xa7, 0x1e, 0x5a, - 0xa0, 0x7f, 0x40, 0xd0, 0x53, 0x0f, 0x39, 0x06, 0xe8, 0xa5, 0xa7, 0xa2, 0x48, 0x0a, 0xf4, 0xdf, - 0x78, 0xd8, 0xe5, 0x70, 0x49, 0x4a, 0x14, 0x45, 0x27, 0x17, 0x83, 0x9c, 0xfd, 0x66, 0xe7, 0x9b, - 0x99, 0xe5, 0xce, 0x27, 0xc3, 0x74, 0xcd, 0x70, 0xeb, 0xb5, 0x7d, 0xc3, 0xb4, 0xb5, 0xf0, 0xe9, - 0x45, 0x8b, 0xba, 0xed, 0xea, 0x81, 0xeb, 0x30, 0x87, 0x9c, 0x94, 0xe6, 0xaa, 0x7c, 0x2a, 0x9f, - 0x30, 0x9a, 0xa6, 0xed, 0x68, 0xe2, 0xaf, 0x8f, 0x2b, 0x4f, 0x35, 0x9c, 0x86, 0x23, 0x1e, 0x35, - 0xfe, 0x84, 0xd6, 0xd3, 0x0d, 0xc7, 0x69, 0x58, 0x54, 0x33, 0x0e, 0x4c, 0xcd, 0xb0, 0x6d, 0x87, - 0x19, 0xcc, 0x74, 0x6c, 0x0f, 0x57, 0xe7, 0x6b, 0x8e, 0xd7, 0x74, 0x3c, 0x6d, 0xd7, 0xf0, 0xa8, - 0x1f, 0x54, 0x7b, 0x79, 0x65, 0x97, 0x32, 0xe3, 0x8a, 0x76, 0x60, 0x34, 0x4c, 0x5b, 0x80, 0x11, - 0x3b, 0x93, 0x44, 0xf4, 0xc0, 0x70, 0x8d, 0x66, 0xb0, 0xdb, 0x85, 0x44, 0x84, 0xeb, 0xd4, 0x5b, - 0x35, 0xb6, 0x53, 0xa7, 0xcc, 0x30, 0xad, 0x54, 0x28, 0x7f, 0xda, 0x39, 0x34, 0xd9, 0xfe, 0x8e, - 0xd9, 0x34, 0x1a, 0x14, 0xa1, 0x95, 0x24, 0x68, 0xcb, 0xa3, 0x6e, 0xda, 0x3a, 0x7f, 0xc2, 0xf5, - 0xc4, 0x02, 0x37, 0x0d, 0x56, 0xdb, 0x97, 0x45, 0x48, 0x00, 0x78, 0x94, 0xf9, 0x54, 0x0c, 0x97, - 0x1d, 0x3a, 0xee, 0x73, 0xc4, 0x9e, 0x4d, 0xc6, 0x5a, 0xd6, 0x8e, 0xb3, 0xb7, 0x27, 0x29, 0x7d, - 0x9d, 0x48, 0xc9, 0x69, 0xd9, 0x35, 0xd3, 0x4a, 0xab, 0xa6, 0x47, 0xdd, 0x97, 0x72, 0x93, 0x33, - 0x49, 0x08, 0x6a, 0xf3, 0x6d, 0x98, 0x04, 0x55, 0x53, 0x41, 0x49, 0xc5, 0x8c, 0x34, 0x3c, 0x68, - 0x75, 0xcd, 0x31, 0xb1, 0xc9, 0xea, 0x14, 0x90, 0xa7, 0xfc, 0x18, 0x6c, 0x89, 0xbe, 0xea, 0xf4, - 0x45, 0x8b, 0x7a, 0x4c, 0x7d, 0x06, 0x27, 0x63, 0x56, 0xef, 0xc0, 0xb1, 0x3d, 0x4a, 0x56, 0xa1, - 0xe0, 0xf7, 0xbf, 0xa4, 0xcc, 0x28, 0x73, 0xc7, 0x16, 0xbe, 0x53, 0x4d, 0x38, 0xaa, 0x55, 0xdf, - 0x69, 0xbd, 0xf8, 0xf6, 0x3f, 0xd3, 0x23, 0x7f, 0xf9, 0xff, 0xdf, 0xe7, 0x15, 0x1d, 0xbd, 0x54, - 0x0d, 0xbe, 0x12, 0xdb, 0x6e, 0x52, 0xb6, 0xe5, 0x9f, 0x92, 0xbb, 0xfe, 0x21, 0xc1, 0xb8, 0x64, - 0x12, 0x46, 0xcd, 0xba, 0xd8, 0x3c, 0xa7, 0x8f, 0x9a, 0x75, 0xd5, 0x83, 0xca, 0x20, 0x07, 0xa4, - 0xf4, 0x14, 0x26, 0xe3, 0x2b, 0x48, 0xed, 0x4c, 0x32, 0xb5, 0x18, 0x74, 0x3d, 0xc7, 0x29, 0xea, - 0x3d, 0x1b, 0xa8, 0x0d, 0x64, 0xb9, 0x66, 0x59, 0xc9, 0x2c, 0xef, 0x03, 0x84, 0x1f, 0x0b, 0xc6, - 0x3b, 0x5f, 0xf5, 0x0b, 0x5d, 0xe5, 0x85, 0xae, 0xfa, 0x9f, 0x33, 0x96, 0xbb, 0xba, 0x65, 0x34, - 0x28, 0xfa, 0xea, 0x11, 0x4f, 0xf5, 0x8d, 0x82, 0xe9, 0x25, 0x44, 0x4a, 0x49, 0x6f, 0xec, 0x93, - 0xd2, 0x23, 0x9b, 0x31, 0xf6, 0xa3, 0x82, 0xfd, 0xec, 0x50, 0xf6, 0x3e, 0x9f, 0x18, 0xfd, 0x79, - 0x38, 0x2e, 0xd8, 0x6f, 0x18, 0x6e, 0x3d, 0x28, 0xcd, 0x29, 0x28, 0x70, 0x3a, 0x0f, 0x82, 0x26, - 0xe2, 0x9b, 0xfa, 0x10, 0x4e, 0x44, 0xb0, 0x98, 0xdc, 0x35, 0xc8, 0xf1, 0x65, 0xac, 0xa0, 0x9a, - 0x98, 0x12, 0x77, 0xf8, 0x91, 0xc9, 0xf6, 0x1f, 0xf0, 0x33, 0xad, 0x0b, 0xbc, 0x7a, 0x11, 0x03, - 0x3f, 0xf3, 0xa8, 0x1b, 0x04, 0x2e, 0xc1, 0xb8, 0x51, 0xaf, 0xbb, 0xd4, 0xf3, 0x0f, 0x40, 0x51, - 0x0f, 0x5e, 0xd5, 0x75, 0x0c, 0xed, 0xa3, 0x31, 0xf4, 0x25, 0xc8, 0xf1, 0x1b, 0x05, 0x43, 0x7f, - 0x99, 0x18, 0x5a, 0x38, 0x08, 0x98, 0xfa, 0xc7, 0x5c, 0x84, 0xbf, 0x3c, 0x07, 0x53, 0x90, 0x77, - 0x0e, 0x6d, 0xdc, 0xa5, 0xa8, 0xfb, 0x2f, 0xe4, 0x3a, 0x14, 0x3c, 0x66, 0xb0, 0x96, 0x57, 0x1a, - 0x9d, 0x19, 0x9b, 0x9b, 0x5c, 0x98, 0x1e, 0x98, 0xd7, 0xb6, 0x80, 0xe9, 0x08, 0x27, 0xcb, 0x30, - 0xc1, 0xd7, 0x7f, 0xd0, 0x3e, 0xa0, 0xa5, 0x31, 0xe1, 0xfa, 0xd5, 0x40, 0x57, 0x0e, 0xd2, 0x25, - 0x9c, 0x2c, 0x41, 0xbe, 0x66, 0x19, 0x9e, 0x57, 0xca, 0x09, 0xbf, 0xca, 0x40, 0xbf, 0x0d, 0x8e, - 0xd2, 0x7d, 0x30, 0x6f, 0x96, 0xe7, 0xb8, 0x6c, 0xbd, 0x5d, 0xca, 0x8b, 0x04, 0xf0, 0x8d, 0xa8, - 0xf0, 0x99, 0x6d, 0x34, 0xe9, 0x86, 0x63, 0x33, 0xc3, 0xb4, 0xbd, 0x52, 0x41, 0xac, 0xc6, 0x6c, - 0x64, 0x1e, 0x8e, 0x3f, 0xa7, 0xed, 0x43, 0xc7, 0xad, 0x7b, 0x12, 0x37, 0x2e, 0x70, 0x7d, 0x76, - 0x72, 0x16, 0x3e, 0xb7, 0x1d, 0x46, 0x43, 0xe0, 0x84, 0x00, 0xc6, 0x8d, 0x64, 0x0e, 0xbe, 0x70, - 0x6c, 0xab, 0xbd, 0xcd, 0x0c, 0x97, 0x51, 0x97, 0x93, 0x2d, 0x15, 0x67, 0x94, 0xb9, 0x09, 0xbd, - 0xd7, 0x4c, 0xaa, 0x40, 0xb8, 0x69, 0xdd, 0xb0, 0x0c, 0xbb, 0x46, 0xd7, 0xec, 0xda, 0xbe, 0xe3, - 0x7a, 0x25, 0x10, 0xe0, 0x84, 0x15, 0x72, 0x0b, 0x26, 0x5c, 0xc3, 0x35, 0x99, 0x49, 0xbd, 0xd2, - 0xb1, 0x21, 0x3d, 0xd1, 0x39, 0xb0, 0xad, 0x4b, 0x07, 0x72, 0x1e, 0x26, 0x9b, 0x2d, 0x8b, 0x99, - 0xa2, 0x72, 0x4f, 0x6c, 0xab, 0x5d, 0xfa, 0x4c, 0x04, 0xea, 0xb1, 0xaa, 0x55, 0xbc, 0x48, 0xf1, - 0x84, 0xe0, 0x39, 0x2b, 0xc1, 0xb8, 0xff, 0x05, 0xf8, 0x1f, 0x6e, 0x4e, 0x0f, 0x5e, 0xd5, 0x4b, - 0x78, 0xa2, 0x1e, 0xf1, 0xc1, 0x14, 0x39, 0xc5, 0x62, 0x50, 0xc9, 0xef, 0x27, 0x78, 0x55, 0xef, - 0xe3, 0xf6, 0x08, 0xc7, 0xed, 0x2f, 0x43, 0x5e, 0x00, 0xf0, 0x1c, 0x97, 0x13, 0xd3, 0xf2, 0x5d, - 0x7c, 0xa0, 0x3a, 0x0b, 0x5f, 0x88, 0x7d, 0xb6, 0x29, 0x8b, 0x1c, 0x63, 0x8f, 0x32, 0x19, 0xd2, - 0x7f, 0x51, 0x1f, 0xe1, 0x47, 0x26, 0x80, 0x18, 0x6e, 0x39, 0x1e, 0x2e, 0xf9, 0x12, 0xda, 0xa6, - 0x8c, 0x7f, 0xb0, 0x6b, 0xfe, 0x18, 0x0d, 0xe2, 0x2e, 0xc3, 0xb7, 0x70, 0x3b, 0xcb, 0x7a, 0xc2, - 0x27, 0x67, 0x10, 0x7d, 0x06, 0x8e, 0x79, 0x81, 0x4d, 0x72, 0x88, 0x9a, 0xd4, 0x1f, 0xc2, 0xa9, - 0x5e, 0x57, 0xe4, 0xb3, 0x02, 0x45, 0x09, 0x44, 0x4e, 0x95, 0x01, 0x9c, 0x02, 0xd7, 0xd0, 0x41, - 0x5d, 0xc4, 0x21, 0xb7, 0xe1, 0xcf, 0xe9, 0x80, 0xd0, 0x69, 0x28, 0xe2, 0xe4, 0x96, 0x74, 0x42, - 0x83, 0xfa, 0x18, 0xa6, 0xe2, 0x4e, 0xf2, 0x2e, 0x1b, 0x47, 0x10, 0x12, 0x39, 0x9d, 0x7c, 0xc4, - 0xd0, 0x2d, 0x00, 0xab, 0x97, 0xb1, 0xaf, 0xdb, 0x42, 0x09, 0x04, 0x1c, 0xca, 0x30, 0xe1, 0x4b, - 0x03, 0x49, 0x41, 0xbe, 0xab, 0xdf, 0x47, 0xda, 0x81, 0x07, 0x12, 0x58, 0x84, 0x82, 0x0f, 0x49, - 0x9d, 0xcd, 0xe8, 0x84, 0x50, 0xd9, 0x95, 0x7b, 0x81, 0x80, 0x88, 0x74, 0x45, 0x8a, 0x8a, 0xb0, - 0x2b, 0x11, 0x93, 0xec, 0x4a, 0xc4, 0x35, 0xec, 0x8a, 0x04, 0xa6, 0x76, 0x25, 0x74, 0x0d, 0x1d, - 0xd4, 0x52, 0xef, 0xbe, 0x52, 0x94, 0xfc, 0x18, 0xbe, 0xdd, 0xb7, 0x22, 0x85, 0x09, 0xc8, 0x1d, - 0x82, 0x11, 0x39, 0x2c, 0x66, 0xc4, 0x43, 0x9d, 0xc1, 0x41, 0x2c, 0x57, 0xc3, 0x91, 0x83, 0xc1, - 0xf7, 0x61, 0x7a, 0x20, 0x02, 0x49, 0xdc, 0xeb, 0xcf, 0x7b, 0x36, 0x9d, 0x43, 0xb8, 0x47, 0xa4, - 0x00, 0x5f, 0xf7, 0x46, 0xf2, 0xfa, 0xc8, 0x3c, 0x87, 0x99, 0xc1, 0x10, 0x64, 0xb3, 0x99, 0x50, - 0x92, 0xcc, 0x74, 0xa2, 0xb5, 0xf9, 0xc5, 0x28, 0x7c, 0x29, 0x6f, 0x36, 0xe1, 0xf1, 0xc0, 0xde, - 0x73, 0x82, 0x83, 0x52, 0x01, 0x30, 0x6a, 0xcc, 0x7c, 0x49, 0xb7, 0x29, 0x0b, 0xee, 0xb8, 0x88, - 0x85, 0x1f, 0x24, 0x1e, 0xc9, 0x7b, 0xdc, 0x6a, 0xee, 0x52, 0x57, 0xc8, 0x8d, 0x9c, 0x1e, 0x35, - 0xf1, 0xe9, 0x20, 0xae, 0x08, 0x1a, 0x60, 0xc6, 0x04, 0x26, 0x6e, 0xe4, 0xf3, 0x46, 0x7e, 0xb9, - 0x01, 0x30, 0x27, 0x80, 0x7d, 0x76, 0x7e, 0x65, 0xe3, 0xe7, 0x15, 0x20, 0xf3, 0x02, 0xd9, 0x63, - 0xe5, 0x7b, 0x5a, 0x86, 0xc7, 0x78, 0x5e, 0x8f, 0x9c, 0xba, 0xb9, 0x67, 0xd2, 0xba, 0x98, 0x75, - 0x39, 0xbd, 0xcf, 0xae, 0x9a, 0x50, 0x4e, 0x2a, 0x02, 0x16, 0xfb, 0x21, 0x1c, 0xe7, 0x29, 0xad, - 0xb5, 0x6a, 0x5c, 0x19, 0x6d, 0xb9, 0x66, 0x8d, 0x86, 0xd2, 0x22, 0xa2, 0xac, 0x02, 0x4d, 0xb5, - 0xe1, 0x98, 0x36, 0xca, 0xb3, 0x3e, 0xc7, 0x85, 0x9f, 0x9d, 0x82, 0xbc, 0x88, 0x45, 0x7e, 0xad, - 0x40, 0xc1, 0x57, 0xd3, 0x24, 0xb9, 0x75, 0xfd, 0xd2, 0xbd, 0x3c, 0x37, 0x1c, 0xe8, 0x93, 0x56, - 0xaf, 0xfe, 0xfc, 0x5f, 0xff, 0x7b, 0x35, 0xaa, 0x91, 0x4b, 0xda, 0x5d, 0x5a, 0xa3, 0x36, 0x73, - 0x0d, 0x8b, 0x67, 0xb7, 0x69, 0x34, 0xa9, 0x36, 0xf8, 0xa7, 0x1f, 0xf9, 0x87, 0xd2, 0xab, 0x49, - 0xc9, 0xc2, 0xe0, 0x98, 0x83, 0xa4, 0x7e, 0x79, 0xf1, 0x48, 0x3e, 0x48, 0x79, 0x43, 0x50, 0xbe, - 0x4d, 0x6e, 0x65, 0xa5, 0x1c, 0xff, 0x2d, 0xaa, 0x75, 0xcc, 0x7a, 0x97, 0xbc, 0x51, 0xe0, 0x44, - 0x7c, 0xff, 0x35, 0xcb, 0x4a, 0xcb, 0x61, 0xd0, 0x0f, 0x81, 0xb4, 0x1c, 0x06, 0x4a, 0x7a, 0x75, - 0x55, 0xe4, 0x70, 0x83, 0x5c, 0xfb, 0xb8, 0x1c, 0xc8, 0x2b, 0x05, 0x72, 0x42, 0x06, 0x9d, 0x1b, - 0x1c, 0x3d, 0x22, 0xc9, 0xcb, 0xe7, 0x87, 0xc1, 0x90, 0xd7, 0x8a, 0xe0, 0x75, 0x8d, 0x2c, 0x65, - 0xe4, 0xc5, 0x9f, 0xb4, 0x8e, 0x2f, 0x67, 0xba, 0xe4, 0xb5, 0x02, 0x39, 0x2e, 0x98, 0xd3, 0x58, - 0x45, 0xf4, 0x7a, 0x1a, 0xab, 0xa8, 0x50, 0x57, 0x6f, 0x0b, 0x56, 0xd7, 0xc9, 0xd5, 0x8c, 0xac, - 0xb8, 0x5c, 0xd7, 0x3a, 0xa8, 0xfd, 0xbb, 0xe4, 0x37, 0x0a, 0xe4, 0x85, 0x22, 0x23, 0x43, 0xca, - 0x20, 0x7b, 0x3a, 0x3b, 0x14, 0xf7, 0x09, 0xf5, 0xf2, 0xb4, 0x8e, 0xf8, 0x91, 0xd0, 0x25, 0xbf, - 0x53, 0x20, 0x2f, 0x84, 0x59, 0x1a, 0xb1, 0xa8, 0x36, 0x4c, 0x23, 0x16, 0x13, 0x85, 0x47, 0x3e, - 0x60, 0xe2, 0xa2, 0xd5, 0x3a, 0xa8, 0x34, 0xbb, 0xe4, 0x97, 0x0a, 0x8c, 0x6d, 0x53, 0x46, 0xce, - 0x0e, 0x0e, 0x18, 0xaa, 0xc7, 0xf2, 0xb9, 0x21, 0x28, 0x24, 0x75, 0x53, 0x90, 0x5a, 0x22, 0x0b, - 0x19, 0x49, 0x79, 0x94, 0x69, 0x1d, 0xa1, 0x44, 0xbb, 0xe4, 0x6f, 0x0a, 0x14, 0xa5, 0x82, 0x23, - 0xf3, 0x69, 0x01, 0xe3, 0xe2, 0xb2, 0xfc, 0xdd, 0x4c, 0x58, 0xa4, 0xb8, 0x29, 0x28, 0xae, 0x91, - 0xef, 0x65, 0xa6, 0x18, 0xfc, 0x17, 0x88, 0x33, 0x95, 0x7a, 0xb5, 0x4b, 0xfe, 0xac, 0xc0, 0x38, - 0x0a, 0x3d, 0x92, 0x72, 0x1d, 0xc7, 0x75, 0x67, 0xf9, 0x42, 0x06, 0x24, 0x32, 0x5d, 0x17, 0x4c, - 0x57, 0xc8, 0xcd, 0xac, 0x47, 0xcf, 0xf7, 0xd7, 0x3a, 0x52, 0xc7, 0x76, 0xc9, 0x1f, 0x14, 0x28, - 0xf8, 0x6a, 0x30, 0x6d, 0xb6, 0xc4, 0x64, 0x69, 0xda, 0x6c, 0x89, 0xab, 0x51, 0xf5, 0x8e, 0x60, - 0x78, 0x93, 0xdc, 0xc8, 0x5c, 0x4b, 0xee, 0xce, 0xeb, 0xe8, 0xab, 0xdc, 0x2e, 0xf9, 0xab, 0x02, - 0x45, 0xa9, 0x4c, 0xd2, 0x9a, 0xde, 0xab, 0x5d, 0xd3, 0x9a, 0xde, 0x27, 0x56, 0xd5, 0xfb, 0x82, - 0xe8, 0x1d, 0xb2, 0x9a, 0x91, 0xa8, 0x14, 0x46, 0x5a, 0x27, 0xa2, 0x86, 0x45, 0xcf, 0x21, 0x94, - 0x63, 0x24, 0x0b, 0x07, 0x79, 0xe5, 0x5c, 0xcc, 0x06, 0x46, 0xc6, 0xcb, 0x82, 0xf1, 0x22, 0xb9, - 0x72, 0x54, 0xc6, 0x1e, 0xf9, 0xa7, 0x02, 0xa4, 0x5f, 0xed, 0x91, 0xc5, 0x0c, 0xf1, 0x7b, 0x35, - 0x68, 0x79, 0xe9, 0x68, 0x4e, 0x1f, 0x39, 0xc0, 0x93, 0xfe, 0xb3, 0x49, 0xde, 0x2a, 0x70, 0x32, - 0x41, 0xfa, 0x92, 0x2c, 0x94, 0xfa, 0xc4, 0x74, 0xf9, 0xea, 0x11, 0xbd, 0x30, 0x93, 0xbb, 0x22, - 0x93, 0x55, 0xb2, 0x72, 0xe4, 0x36, 0x44, 0x53, 0x79, 0x3d, 0x0a, 0x9f, 0xc7, 0x24, 0x25, 0xa9, - 0xa6, 0xcf, 0x9f, 0x5e, 0x01, 0x5e, 0xd6, 0x32, 0xe3, 0x91, 0xf8, 0x9f, 0x14, 0xc1, 0xfc, 0xf7, - 0x0a, 0xf9, 0xad, 0x72, 0x84, 0xd1, 0x25, 0x9e, 0x76, 0x4c, 0x7b, 0xcf, 0xd1, 0x3a, 0xa1, 0xbe, - 0xef, 0xfa, 0x0a, 0x00, 0x15, 0x75, 0x17, 0xa7, 0x08, 0x0d, 0xdf, 0x7b, 0xc5, 0x79, 0x57, 0x5e, - 0x42, 0xa1, 0xa1, 0x57, 0x6c, 0x77, 0xd7, 0xf5, 0xb7, 0xef, 0x2b, 0xca, 0xbb, 0xf7, 0x15, 0xe5, - 0xbf, 0xef, 0x2b, 0xca, 0xaf, 0x3e, 0x54, 0x46, 0xde, 0x7d, 0xa8, 0x8c, 0xfc, 0xfb, 0x43, 0x65, - 0xe4, 0x27, 0x37, 0x1a, 0x26, 0xdb, 0x6f, 0xed, 0x56, 0x6b, 0x4e, 0x33, 0x95, 0xfc, 0x4f, 0x23, - 0xcf, 0xac, 0x7d, 0x40, 0xbd, 0xdd, 0x82, 0xf8, 0x87, 0xf7, 0xe2, 0x37, 0x01, 0x00, 0x00, 0xff, - 0xff, 0xe8, 0x95, 0xc3, 0x8c, 0x80, 0x19, 0x00, 0x00, + // 2072 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xcd, 0x6f, 0x1b, 0xc7, + 0x15, 0xf7, 0xca, 0xd4, 0x07, 0x9f, 0x63, 0xc7, 0x1e, 0x3b, 0x29, 0xc3, 0x38, 0xb4, 0x3c, 0x71, + 0x6c, 0x45, 0x8d, 0xb9, 0xb1, 0xe4, 0x2f, 0x39, 0x8e, 0x1a, 0x49, 0xb6, 0x05, 0xd7, 0x70, 0x2c, + 0xaf, 0x9a, 0x04, 0xcd, 0x85, 0x58, 0x91, 0x23, 0x6a, 0xe1, 0xe5, 0xae, 0xb2, 0x3b, 0xb4, 0xca, + 0x12, 0xbc, 0xb4, 0xf7, 0xa2, 0x68, 0x82, 0xb6, 0x28, 0x50, 0xa0, 0xed, 0xa9, 0x87, 0x16, 0xed, + 0x1f, 0x10, 0xf4, 0x54, 0x14, 0x3e, 0x06, 0xe8, 0xa5, 0xa7, 0x7e, 0xd8, 0x05, 0xfa, 0x6f, 0x14, + 0x33, 0xf3, 0x76, 0x76, 0x97, 0x5c, 0xae, 0x96, 0xc9, 0x45, 0xd8, 0x99, 0xf9, 0xbd, 0xf7, 0x7e, + 0x33, 0xef, 0xcd, 0xbc, 0xf7, 0x28, 0x38, 0xd7, 0xb4, 0x83, 0x56, 0x73, 0xcf, 0x76, 0x3c, 0x33, + 0xfe, 0xfa, 0xac, 0xcb, 0x82, 0x5e, 0x7d, 0x3f, 0xf0, 0xb9, 0x4f, 0x4e, 0xeb, 0xe9, 0xba, 0xfe, + 0xaa, 0x9e, 0xb2, 0x3b, 0x8e, 0xe7, 0x9b, 0xf2, 0xaf, 0xc2, 0x55, 0xcf, 0xb4, 0xfd, 0xb6, 0x2f, + 0x3f, 0x4d, 0xf1, 0x85, 0xb3, 0x67, 0xdb, 0xbe, 0xdf, 0x76, 0x99, 0x69, 0xef, 0x3b, 0xa6, 0xed, + 0x79, 0x3e, 0xb7, 0xb9, 0xe3, 0x7b, 0x21, 0xae, 0x2e, 0x36, 0xfd, 0xb0, 0xe3, 0x87, 0xe6, 0x8e, + 0x1d, 0x32, 0x65, 0xd4, 0x7c, 0x7a, 0x65, 0x87, 0x71, 0xfb, 0x8a, 0xb9, 0x6f, 0xb7, 0x1d, 0x4f, + 0x82, 0x11, 0x3b, 0x9f, 0x45, 0x74, 0xdf, 0x0e, 0xec, 0x4e, 0xa4, 0xed, 0xed, 0x4c, 0x44, 0xe0, + 0xb7, 0xba, 0x4d, 0xde, 0x68, 0x31, 0x6e, 0x3b, 0x6e, 0x2e, 0x54, 0x7c, 0x35, 0x0e, 0x1c, 0xbe, + 0xd7, 0x70, 0x3a, 0x76, 0x9b, 0x21, 0xb4, 0x96, 0x05, 0xed, 0x86, 0x2c, 0xc8, 0x5b, 0x17, 0x5f, + 0xb8, 0x9e, 0x79, 0xc0, 0x1d, 0x9b, 0x37, 0xf7, 0xf4, 0x21, 0x64, 0x00, 0x42, 0xc6, 0x15, 0x15, + 0x3b, 0xe0, 0x07, 0x7e, 0xf0, 0x04, 0xb1, 0x17, 0xb2, 0xb1, 0xae, 0xdb, 0xf0, 0x77, 0x77, 0x35, + 0xa5, 0xf3, 0x99, 0x94, 0xfc, 0xae, 0xd7, 0x74, 0xdc, 0xbc, 0xd3, 0x0c, 0x59, 0xf0, 0x54, 0x2b, + 0x79, 0x33, 0x0b, 0xc1, 0x3c, 0xa1, 0x86, 0x6b, 0x50, 0x3d, 0x17, 0x94, 0x75, 0x98, 0x09, 0x87, + 0x47, 0xae, 0x6e, 0xfa, 0x4e, 0xe4, 0xe4, 0x85, 0x2c, 0x7d, 0x4f, 0x7d, 0xee, 0x78, 0xed, 0x46, + 0xc0, 0xc2, 0xae, 0xcb, 0xd1, 0x83, 0xf4, 0x0c, 0x90, 0xc7, 0x22, 0x60, 0xb6, 0x64, 0x04, 0x58, + 0xec, 0xb3, 0x2e, 0x0b, 0x39, 0xfd, 0x08, 0x4e, 0xa7, 0x66, 0xc3, 0x7d, 0xdf, 0x0b, 0x19, 0x59, + 0x85, 0x19, 0x15, 0x29, 0x15, 0x63, 0xde, 0x58, 0x38, 0xb6, 0xf4, 0x7a, 0x3d, 0x23, 0xa8, 0xeb, + 0x4a, 0x68, 0xbd, 0xfc, 0xec, 0x9f, 0xe7, 0x8e, 0xfc, 0xfe, 0x7f, 0x7f, 0x5e, 0x34, 0x2c, 0x94, + 0xa2, 0x26, 0xbc, 0x21, 0xd5, 0x6e, 0x32, 0xbe, 0xa5, 0xe2, 0xe9, 0x8e, 0x0a, 0x27, 0xb4, 0x4b, + 0x4e, 0xc0, 0x94, 0xd3, 0x92, 0xca, 0x4b, 0xd6, 0x94, 0xd3, 0xa2, 0x21, 0xd4, 0xc6, 0x09, 0x20, + 0xa5, 0xc7, 0x70, 0x22, 0xbd, 0x82, 0xd4, 0xde, 0xcc, 0xa6, 0x96, 0x82, 0xae, 0x97, 0x04, 0x45, + 0x6b, 0x48, 0x01, 0x6d, 0x23, 0xcb, 0x35, 0xd7, 0xcd, 0x66, 0x79, 0x0f, 0x20, 0xbe, 0x56, 0x68, + 0xef, 0x62, 0x5d, 0xb9, 0xa4, 0x2e, 0x5c, 0x52, 0x57, 0x17, 0x1f, 0x1d, 0x53, 0xdf, 0xb2, 0xdb, + 0x0c, 0x65, 0xad, 0x84, 0x24, 0xfd, 0xd2, 0xc0, 0xed, 0x65, 0x58, 0xca, 0xd9, 0xde, 0xd1, 0x6f, + 0xb4, 0x3d, 0xb2, 0x99, 0x62, 0x3f, 0x25, 0xd9, 0x5f, 0x3a, 0x94, 0xbd, 0xe2, 0x93, 0xa2, 0xbf, + 0x08, 0x27, 0x25, 0xfb, 0x0d, 0x3b, 0x68, 0x45, 0x47, 0xf3, 0x2a, 0xcc, 0x08, 0x3a, 0xf7, 0x23, + 0x27, 0xe2, 0x88, 0x3e, 0x80, 0x53, 0x09, 0x2c, 0x6e, 0xee, 0x3a, 0x94, 0xc4, 0x32, 0x9e, 0x20, + 0xcd, 0xdc, 0x92, 0x10, 0xf8, 0xc4, 0xe1, 0x7b, 0xf7, 0x45, 0xf4, 0x5b, 0x12, 0x4f, 0xdf, 0x41, + 0xc3, 0x1f, 0x85, 0x2c, 0x88, 0x0c, 0x57, 0x60, 0xd6, 0x6e, 0xb5, 0x02, 0x16, 0xaa, 0x00, 0x28, + 0x5b, 0xd1, 0x90, 0xae, 0xa3, 0x69, 0x85, 0x46, 0xd3, 0x97, 0xa1, 0x24, 0xde, 0x1e, 0x34, 0xfd, + 0x5a, 0xa6, 0x69, 0x29, 0x20, 0x61, 0xf4, 0x37, 0xa5, 0x04, 0x7f, 0x1d, 0x07, 0x67, 0x60, 0xda, + 0x3f, 0xf0, 0x50, 0x4b, 0xd9, 0x52, 0x03, 0x72, 0x03, 0x66, 0x42, 0x6e, 0xf3, 0x6e, 0x58, 0x99, + 0x9a, 0x3f, 0xba, 0x70, 0x62, 0xe9, 0xdc, 0xd8, 0x7d, 0x6d, 0x4b, 0x98, 0x85, 0x70, 0xb2, 0x02, + 0x73, 0x62, 0xfd, 0x7b, 0xbd, 0x7d, 0x56, 0x39, 0x2a, 0x45, 0xdf, 0x18, 0x2b, 0x2a, 0x40, 0x96, + 0x86, 0x93, 0xab, 0x30, 0xdd, 0x74, 0xed, 0x30, 0xac, 0x94, 0xa4, 0x5c, 0x6d, 0xac, 0xdc, 0x86, + 0x40, 0x59, 0x0a, 0x2c, 0x9c, 0x15, 0xfa, 0x01, 0x5f, 0xef, 0x55, 0xa6, 0xe5, 0x06, 0x70, 0x44, + 0x28, 0xbc, 0xe4, 0xd9, 0x1d, 0xb6, 0xe1, 0x7b, 0xdc, 0x76, 0xbc, 0xb0, 0x32, 0x23, 0x57, 0x53, + 0x73, 0x64, 0x11, 0x4e, 0x3e, 0x61, 0xbd, 0x03, 0x3f, 0x68, 0x85, 0x1a, 0x37, 0x2b, 0x71, 0x23, + 0xf3, 0xe4, 0x02, 0x1c, 0xf7, 0x7c, 0xce, 0x62, 0xe0, 0x9c, 0x04, 0xa6, 0x27, 0xc9, 0x02, 0xbc, + 0xec, 0x7b, 0x6e, 0x6f, 0x9b, 0xdb, 0x01, 0x67, 0x81, 0x20, 0x5b, 0x29, 0xcf, 0x1b, 0x0b, 0x73, + 0xd6, 0xf0, 0x34, 0xa9, 0x03, 0x11, 0x53, 0xeb, 0xb6, 0x6b, 0x7b, 0x4d, 0xb6, 0xe6, 0x35, 0xf7, + 0xfc, 0x20, 0xac, 0x80, 0x04, 0x67, 0xac, 0x90, 0xf7, 0x60, 0x2e, 0xb0, 0x03, 0x87, 0x3b, 0x2c, + 0xac, 0x1c, 0x3b, 0xc4, 0x27, 0x96, 0x00, 0xf6, 0x2c, 0x2d, 0x40, 0x2e, 0xc2, 0x89, 0x4e, 0xd7, + 0xe5, 0x8e, 0x3c, 0xb9, 0x47, 0x9e, 0xdb, 0xab, 0xbc, 0x24, 0x0d, 0x0d, 0xcd, 0xd2, 0x3a, 0x3e, + 0xa4, 0x18, 0x21, 0x18, 0x67, 0x15, 0x98, 0x55, 0x37, 0x40, 0x5d, 0xdc, 0x92, 0x15, 0x0d, 0xe9, + 0x65, 0x8c, 0xa8, 0x87, 0x22, 0x85, 0x25, 0xa2, 0x58, 0xa6, 0x34, 0x7d, 0x7f, 0xa2, 0x21, 0xbd, + 0x87, 0xea, 0x11, 0x8e, 0xea, 0xdf, 0x85, 0x69, 0x09, 0xc0, 0x38, 0xae, 0x66, 0x6e, 0x4b, 0x89, + 0x28, 0x20, 0xbd, 0x04, 0x2f, 0x4b, 0x3d, 0xdb, 0x8c, 0x27, 0xc2, 0x38, 0x64, 0x5c, 0x9b, 0x54, + 0x03, 0xfa, 0x10, 0x2f, 0x99, 0x04, 0xa2, 0xb9, 0x95, 0xb4, 0xb9, 0xec, 0x47, 0x68, 0x9b, 0x71, + 0x71, 0x61, 0xd7, 0x54, 0xc2, 0x8d, 0xec, 0xae, 0xc0, 0x2b, 0xa8, 0xce, 0x75, 0x1f, 0x89, 0x1c, + 0x1b, 0x59, 0x9f, 0x87, 0x63, 0x61, 0x34, 0xa7, 0x39, 0x24, 0xa7, 0xe8, 0xc7, 0xf0, 0xea, 0xb0, + 0x28, 0xf2, 0xb9, 0x0d, 0x65, 0x0d, 0x44, 0x4e, 0xb5, 0x31, 0x9c, 0x22, 0xd1, 0x58, 0x80, 0x2e, + 0x63, 0x92, 0xdb, 0x50, 0x19, 0x3d, 0x22, 0x74, 0x16, 0xca, 0x98, 0xe3, 0x35, 0x9d, 0x78, 0x82, + 0x7e, 0x08, 0x67, 0xd2, 0x42, 0xfa, 0x2d, 0x9b, 0x45, 0x10, 0x12, 0x39, 0x9b, 0x1d, 0x62, 0x28, + 0x16, 0x81, 0xe9, 0xbb, 0xe8, 0xd7, 0x6d, 0x59, 0x33, 0x44, 0x1c, 0xaa, 0x30, 0xa7, 0x8a, 0x08, + 0x4d, 0x41, 0x8f, 0xe9, 0x77, 0x91, 0x76, 0x24, 0x81, 0x04, 0x96, 0x61, 0x46, 0x41, 0x72, 0x73, + 0x33, 0x0a, 0x21, 0x54, 0x7b, 0xe5, 0x6e, 0x54, 0x6a, 0x24, 0xbc, 0xa2, 0xcb, 0x8f, 0xd8, 0x2b, + 0x89, 0x29, 0xed, 0x95, 0x84, 0x68, 0xec, 0x15, 0x0d, 0xcc, 0xf5, 0x4a, 0x2c, 0x1a, 0x0b, 0xd0, + 0xca, 0xb0, 0x5e, 0x5d, 0x94, 0x7c, 0x1f, 0xbe, 0x35, 0xb2, 0xa2, 0x0b, 0x13, 0xd0, 0x1a, 0xa2, + 0x14, 0x79, 0x98, 0xcd, 0x84, 0x04, 0x9d, 0xc7, 0x44, 0xac, 0x57, 0xe3, 0x94, 0x83, 0xc6, 0xf7, + 0xe0, 0xdc, 0x58, 0x04, 0x92, 0xb8, 0x3b, 0xba, 0xef, 0x4b, 0xf9, 0x1c, 0x62, 0x1d, 0x89, 0x03, + 0x38, 0x3f, 0x6c, 0x29, 0x1c, 0x21, 0xf3, 0x04, 0xe6, 0xc7, 0x43, 0x90, 0xcd, 0x66, 0xc6, 0x91, + 0x14, 0xa6, 0x93, 0x3c, 0x9b, 0x1f, 0x4f, 0xc1, 0x6b, 0xfa, 0x65, 0x93, 0x12, 0xf7, 0xbd, 0x5d, + 0x3f, 0x0a, 0x94, 0x1a, 0x80, 0xdd, 0xe4, 0xce, 0x53, 0xb6, 0xcd, 0x78, 0xf4, 0xc6, 0x25, 0x66, + 0x44, 0x20, 0x09, 0x4b, 0xe1, 0x87, 0xdd, 0xce, 0x0e, 0x0b, 0x64, 0xb9, 0x51, 0xb2, 0x92, 0x53, + 0x22, 0x3b, 0xc8, 0x27, 0x82, 0x45, 0x98, 0xa3, 0x12, 0x93, 0x9e, 0x14, 0xf9, 0x46, 0xdf, 0xdc, + 0x08, 0x58, 0x92, 0xc0, 0x91, 0x79, 0xf1, 0x64, 0xe3, 0xf5, 0x8a, 0x90, 0xd3, 0x12, 0x39, 0x34, + 0x2b, 0x74, 0xba, 0x76, 0xc8, 0xc5, 0xbe, 0x1e, 0xfa, 0x2d, 0x67, 0xd7, 0x61, 0x2d, 0x99, 0xeb, + 0x4a, 0xd6, 0xc8, 0x3c, 0x75, 0xa0, 0x9a, 0x75, 0x08, 0x78, 0xd8, 0x0f, 0xe0, 0xa4, 0xd8, 0xd2, + 0x5a, 0xb7, 0x29, 0x2a, 0xa3, 0xad, 0xc0, 0x69, 0xb2, 0xb8, 0xb4, 0x48, 0x54, 0x56, 0x51, 0x4d, + 0xb5, 0xe1, 0x3b, 0x1e, 0x96, 0x67, 0x23, 0x82, 0xf4, 0x31, 0x9c, 0xd7, 0x2f, 0xaf, 0xcc, 0x46, + 0x77, 0x9c, 0x90, 0x07, 0xce, 0x4e, 0x57, 0x40, 0x32, 0x1f, 0xed, 0x32, 0x3e, 0xda, 0x22, 0xa3, + 0x1f, 0xd8, 0x1e, 0x67, 0x2d, 0x59, 0x7b, 0x94, 0x2c, 0x1c, 0xd1, 0x55, 0xa0, 0x79, 0x2a, 0x13, + 0xc9, 0xaa, 0x1b, 0x04, 0xcc, 0xe3, 0x3a, 0x59, 0xa9, 0x21, 0xbd, 0x09, 0x67, 0x55, 0xa1, 0xda, + 0x94, 0x61, 0x71, 0x2f, 0xf0, 0x3b, 0x9f, 0x32, 0xdb, 0xed, 0x25, 0xf2, 0xd6, 0x0f, 0xc5, 0x58, + 0xf3, 0x89, 0x86, 0x74, 0x25, 0x2a, 0xa6, 0x47, 0x24, 0x63, 0xa3, 0x63, 0x0a, 0xb7, 0xd7, 0x31, + 0xee, 0x3e, 0x96, 0x7d, 0x8b, 0xa5, 0xda, 0x96, 0xe8, 0x0a, 0x78, 0xe8, 0x8f, 0xa1, 0x45, 0x54, + 0xba, 0x05, 0xa7, 0x84, 0x07, 0x53, 0x8b, 0xb9, 0x65, 0x66, 0x5a, 0xcd, 0xa8, 0xf0, 0xd2, 0xbf, + 0xaa, 0x30, 0x2d, 0x0d, 0x92, 0x9f, 0x19, 0x30, 0xa3, 0x5a, 0x1c, 0x92, 0x7d, 0x9f, 0x46, 0xfb, + 0xa9, 0xea, 0xc2, 0xe1, 0x40, 0xc5, 0x9c, 0x5e, 0xfb, 0xd1, 0xdf, 0xff, 0xfb, 0xf9, 0x94, 0x49, + 0x2e, 0x9b, 0x77, 0x58, 0x93, 0x79, 0x3c, 0xb0, 0x5d, 0x11, 0x72, 0x9b, 0x76, 0x87, 0x99, 0xe3, + 0x3b, 0x77, 0xf2, 0x17, 0x63, 0xb8, 0x51, 0x20, 0x4b, 0xe3, 0x6d, 0x8e, 0xeb, 0xbf, 0xaa, 0xcb, + 0x13, 0xc9, 0x20, 0xe5, 0x0d, 0x49, 0xf9, 0x7d, 0xf2, 0x5e, 0x51, 0xca, 0xe9, 0x9f, 0x12, 0xcc, + 0xbe, 0xd3, 0x1a, 0x90, 0x2f, 0x0d, 0x38, 0x95, 0xd6, 0xbf, 0xe6, 0xba, 0x79, 0x7b, 0x18, 0xd7, + 0x9d, 0xe5, 0xed, 0x61, 0x6c, 0x9f, 0x45, 0x57, 0xe5, 0x1e, 0x6e, 0x92, 0xeb, 0x5f, 0x6f, 0x0f, + 0xe4, 0x73, 0x03, 0x4a, 0xb2, 0x36, 0x7d, 0x6b, 0xbc, 0xf5, 0x44, 0x9f, 0x54, 0xbd, 0x78, 0x18, + 0x0c, 0x79, 0xdd, 0x96, 0xbc, 0xae, 0x93, 0xab, 0x05, 0x79, 0x89, 0x2f, 0xb3, 0xaf, 0x6a, 0xcc, + 0x01, 0xf9, 0xc2, 0x80, 0x92, 0xe8, 0x62, 0xf2, 0x58, 0x25, 0x9a, 0xa8, 0x3c, 0x56, 0xc9, 0xee, + 0x89, 0xbe, 0x2f, 0x59, 0xdd, 0x20, 0xd7, 0x0a, 0xb2, 0x12, 0x3d, 0x94, 0xd9, 0xc7, 0x7b, 0x3d, + 0x20, 0x3f, 0x37, 0x60, 0x5a, 0x96, 0xc9, 0xe4, 0x90, 0x63, 0xd0, 0x3e, 0xbd, 0x74, 0x28, 0xee, + 0x1b, 0x9c, 0x57, 0x68, 0xf6, 0x65, 0xe7, 0x36, 0x20, 0xbf, 0x34, 0x60, 0x5a, 0x56, 0xcb, 0x79, + 0xc4, 0x92, 0x05, 0x7b, 0x1e, 0xb1, 0x54, 0xa5, 0x3e, 0x71, 0x80, 0xc9, 0xec, 0x67, 0xf6, 0xb1, + 0xfc, 0x1f, 0x90, 0x9f, 0x18, 0x70, 0x74, 0x9b, 0x71, 0x72, 0x61, 0xbc, 0xc1, 0xb8, 0xa4, 0xaf, + 0xbe, 0x75, 0x08, 0x0a, 0x49, 0xdd, 0x92, 0xa4, 0xae, 0x92, 0xa5, 0x82, 0xa4, 0x42, 0xc6, 0xcd, + 0xbe, 0xcc, 0x34, 0x03, 0xf2, 0x47, 0x03, 0xca, 0xba, 0xac, 0x26, 0x8b, 0x79, 0x06, 0xd3, 0x15, + 0x7f, 0xf5, 0xdb, 0x85, 0xb0, 0x48, 0x71, 0x53, 0x52, 0x5c, 0x23, 0xdf, 0x29, 0x4c, 0x31, 0xfa, + 0x11, 0x4f, 0x30, 0xd5, 0x4d, 0xc4, 0x80, 0xfc, 0xce, 0x80, 0x59, 0xac, 0xbe, 0x49, 0xce, 0x73, + 0x9c, 0x6e, 0x06, 0xaa, 0x6f, 0x17, 0x40, 0x22, 0xd3, 0x75, 0xc9, 0xf4, 0x36, 0xb9, 0x55, 0x34, + 0xf4, 0x94, 0xbc, 0xd9, 0xd7, 0xcd, 0xc5, 0x80, 0xfc, 0xda, 0x80, 0x19, 0x55, 0xa2, 0xe7, 0xe5, + 0x96, 0x54, 0xaf, 0x90, 0x97, 0x5b, 0xd2, 0x2d, 0x02, 0xfd, 0x40, 0x32, 0xbc, 0x45, 0x6e, 0x16, + 0x3e, 0x4b, 0x21, 0x2e, 0xce, 0x51, 0xb5, 0x1e, 0x03, 0xf2, 0x07, 0x03, 0xca, 0xba, 0x5c, 0xcc, + 0x73, 0xfa, 0x70, 0x43, 0x91, 0xe7, 0xf4, 0x91, 0x0e, 0x82, 0xde, 0x93, 0x44, 0x3f, 0x20, 0xab, + 0x05, 0x89, 0xea, 0x6a, 0xd5, 0xec, 0x27, 0x5a, 0x14, 0xe9, 0x73, 0x88, 0x6b, 0x64, 0x52, 0x84, + 0x83, 0x7e, 0x72, 0xde, 0x29, 0x06, 0x46, 0xc6, 0x2b, 0x92, 0xf1, 0x32, 0xb9, 0x32, 0x29, 0xe3, + 0x90, 0xfc, 0xd5, 0x00, 0x32, 0x5a, 0x82, 0x93, 0xe5, 0x02, 0xf6, 0x87, 0x1b, 0x83, 0xea, 0xd5, + 0xc9, 0x84, 0xbe, 0x66, 0x02, 0xcf, 0xfa, 0x61, 0x9a, 0x3c, 0x33, 0xe0, 0x74, 0x46, 0x3f, 0x42, + 0x8a, 0x50, 0x1a, 0xe9, 0x70, 0xaa, 0xd7, 0x26, 0x94, 0xc2, 0x9d, 0xdc, 0x91, 0x3b, 0x59, 0x25, + 0xb7, 0x27, 0x76, 0x43, 0x72, 0x2b, 0x5f, 0x4c, 0xc1, 0xf1, 0x54, 0x9d, 0x4f, 0xea, 0xf9, 0xf9, + 0x67, 0xb8, 0x2b, 0xaa, 0x9a, 0x85, 0xf1, 0x48, 0xfc, 0xb7, 0x86, 0x64, 0xfe, 0x2b, 0x83, 0xfc, + 0xc2, 0x98, 0x20, 0x75, 0xc9, 0xaf, 0x86, 0xe3, 0xed, 0xfa, 0x66, 0x3f, 0x6e, 0xba, 0x06, 0xaa, + 0x02, 0xc0, 0x36, 0x67, 0x80, 0x59, 0x84, 0xc5, 0xe3, 0xe1, 0x8e, 0x69, 0xa0, 0x1f, 0xa1, 0x78, + 0x62, 0xb8, 0x03, 0x1a, 0x90, 0xff, 0x18, 0xf0, 0x4a, 0x66, 0x03, 0x41, 0xae, 0xe7, 0xa7, 0x9b, + 0x71, 0x4d, 0x4c, 0xf5, 0xc6, 0xc4, 0x72, 0x78, 0x5c, 0x9f, 0xc8, 0xd3, 0x7a, 0x4c, 0x1e, 0x15, + 0x4f, 0x5c, 0x0d, 0xf9, 0x8b, 0x5e, 0xaf, 0xd1, 0x4a, 0xe8, 0x8b, 0x92, 0x99, 0xd9, 0x57, 0x7d, + 0xd2, 0x80, 0xfc, 0xcd, 0x80, 0x93, 0xc3, 0xad, 0x0a, 0xb9, 0x92, 0x53, 0x51, 0x66, 0x37, 0x44, + 0xd5, 0xa5, 0x49, 0x44, 0x70, 0x53, 0x0f, 0xe4, 0xa6, 0xee, 0x92, 0x8d, 0x82, 0x9b, 0xb2, 0x95, + 0xa2, 0xc6, 0x6e, 0xe0, 0x77, 0x1a, 0xb2, 0xdf, 0x32, 0xfb, 0xd8, 0x76, 0x0d, 0xc8, 0x9f, 0x0c, + 0x38, 0x9e, 0xea, 0x60, 0xf2, 0x62, 0x38, 0xab, 0xc3, 0xca, 0x8b, 0xe1, 0xcc, 0xa6, 0x6b, 0xe2, + 0xaa, 0x30, 0xfd, 0xff, 0xa8, 0x75, 0xeb, 0xd9, 0xf3, 0x9a, 0xf1, 0xd5, 0xf3, 0x9a, 0xf1, 0xef, + 0xe7, 0x35, 0xe3, 0xa7, 0x2f, 0x6a, 0x47, 0xbe, 0x7a, 0x51, 0x3b, 0xf2, 0x8f, 0x17, 0xb5, 0x23, + 0x9f, 0xde, 0x6c, 0x3b, 0x7c, 0xaf, 0xbb, 0x53, 0x6f, 0xfa, 0x9d, 0x5c, 0xd5, 0x3f, 0x48, 0x7c, + 0xf3, 0xde, 0x3e, 0x0b, 0x77, 0x66, 0xe4, 0x3f, 0xb9, 0x96, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, + 0x41, 0x86, 0x6e, 0x72, 0x9e, 0x1d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1745,6 +2032,12 @@ type QueryClient interface { EncountersWithImage(ctx context.Context, in *QueryEncountersWithImageRequest, opts ...grpc.CallOption) (*QueryEncountersWithImageResponse, error) // Queries a list of CardchainInfo items. CardchainInfo(ctx context.Context, in *QueryCardchainInfoRequest, opts ...grpc.CallOption) (*QueryCardchainInfoResponse, error) + // Queries a list of SetRarityDistribution items. + SetRarityDistribution(ctx context.Context, in *QuerySetRarityDistributionRequest, opts ...grpc.CallOption) (*QuerySetRarityDistributionResponse, error) + // Queries a list of AccountFromZealy items. + AccountFromZealy(ctx context.Context, in *QueryAccountFromZealyRequest, opts ...grpc.CallOption) (*QueryAccountFromZealyResponse, error) + // Queries a list of VotingResults items. + VotingResults(ctx context.Context, in *QueryVotingResultsRequest, opts ...grpc.CallOption) (*QueryVotingResultsResponse, error) } type queryClient struct { @@ -1899,6 +2192,33 @@ func (c *queryClient) CardchainInfo(ctx context.Context, in *QueryCardchainInfoR return out, nil } +func (c *queryClient) SetRarityDistribution(ctx context.Context, in *QuerySetRarityDistributionRequest, opts ...grpc.CallOption) (*QuerySetRarityDistributionResponse, error) { + out := new(QuerySetRarityDistributionResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/SetRarityDistribution", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) AccountFromZealy(ctx context.Context, in *QueryAccountFromZealyRequest, opts ...grpc.CallOption) (*QueryAccountFromZealyResponse, error) { + out := new(QueryAccountFromZealyResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/AccountFromZealy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) VotingResults(ctx context.Context, in *QueryVotingResultsRequest, opts ...grpc.CallOption) (*QueryVotingResultsResponse, error) { + out := new(QueryVotingResultsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/VotingResults", 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. @@ -1932,6 +2252,12 @@ type QueryServer interface { EncountersWithImage(context.Context, *QueryEncountersWithImageRequest) (*QueryEncountersWithImageResponse, error) // Queries a list of CardchainInfo items. CardchainInfo(context.Context, *QueryCardchainInfoRequest) (*QueryCardchainInfoResponse, error) + // Queries a list of SetRarityDistribution items. + SetRarityDistribution(context.Context, *QuerySetRarityDistributionRequest) (*QuerySetRarityDistributionResponse, error) + // Queries a list of AccountFromZealy items. + AccountFromZealy(context.Context, *QueryAccountFromZealyRequest) (*QueryAccountFromZealyResponse, error) + // Queries a list of VotingResults items. + VotingResults(context.Context, *QueryVotingResultsRequest) (*QueryVotingResultsResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -1986,6 +2312,15 @@ func (*UnimplementedQueryServer) EncountersWithImage(ctx context.Context, req *Q func (*UnimplementedQueryServer) CardchainInfo(ctx context.Context, req *QueryCardchainInfoRequest) (*QueryCardchainInfoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CardchainInfo not implemented") } +func (*UnimplementedQueryServer) SetRarityDistribution(ctx context.Context, req *QuerySetRarityDistributionRequest) (*QuerySetRarityDistributionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetRarityDistribution not implemented") +} +func (*UnimplementedQueryServer) AccountFromZealy(ctx context.Context, req *QueryAccountFromZealyRequest) (*QueryAccountFromZealyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AccountFromZealy not implemented") +} +func (*UnimplementedQueryServer) VotingResults(ctx context.Context, req *QueryVotingResultsRequest) (*QueryVotingResultsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VotingResults not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -2279,6 +2614,60 @@ func _Query_CardchainInfo_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Query_SetRarityDistribution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QuerySetRarityDistributionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).SetRarityDistribution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/SetRarityDistribution", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).SetRarityDistribution(ctx, req.(*QuerySetRarityDistributionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_AccountFromZealy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAccountFromZealyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AccountFromZealy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/AccountFromZealy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AccountFromZealy(ctx, req.(*QueryAccountFromZealyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_VotingResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryVotingResultsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).VotingResults(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/VotingResults", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).VotingResults(ctx, req.(*QueryVotingResultsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -2348,6 +2737,18 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "CardchainInfo", Handler: _Query_CardchainInfo_Handler, }, + { + MethodName: "SetRarityDistribution", + Handler: _Query_SetRarityDistribution_Handler, + }, + { + MethodName: "AccountFromZealy", + Handler: _Query_AccountFromZealy_Handler, + }, + { + MethodName: "VotingResults", + Handler: _Query_VotingResults_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -3538,27 +3939,234 @@ func (m *QueryCardchainInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, err 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 +func (m *QuerySetRarityDistributionRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *QueryParamsResponse) Size() (n int) { +func (m *QuerySetRarityDistributionRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QuerySetRarityDistributionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Wanted) > 0 { + dAtA28 := make([]byte, len(m.Wanted)*10) + var j27 int + for _, num := range m.Wanted { + for num >= 1<<7 { + dAtA28[j27] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j27++ + } + dAtA28[j27] = uint8(num) + j27++ + } + i -= j27 + copy(dAtA[i:], dAtA28[:j27]) + i = encodeVarintQuery(dAtA, i, uint64(j27)) + i-- + dAtA[i] = 0x12 + } + if len(m.SetId) > 0 { + i -= len(m.SetId) + copy(dAtA[i:], m.SetId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.SetId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QuerySetRarityDistributionResponse) 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 *QuerySetRarityDistributionResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QuerySetRarityDistributionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Current) > 0 { + dAtA30 := make([]byte, len(m.Current)*10) + var j29 int + for _, num := range m.Current { + for num >= 1<<7 { + dAtA30[j29] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j29++ + } + dAtA30[j29] = uint8(num) + j29++ + } + i -= j29 + copy(dAtA[i:], dAtA30[:j29]) + i = encodeVarintQuery(dAtA, i, uint64(j29)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryAccountFromZealyRequest) 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 *QueryAccountFromZealyRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAccountFromZealyRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ZealyId) > 0 { + i -= len(m.ZealyId) + copy(dAtA[i:], m.ZealyId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ZealyId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryAccountFromZealyResponse) 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 *QueryAccountFromZealyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAccountFromZealyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryVotingResultsRequest) 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 *QueryVotingResultsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryVotingResultsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryVotingResultsResponse) 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 *QueryVotingResultsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryVotingResultsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.LastVotingResults != nil { + { + size, err := m.LastVotingResults.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 } @@ -4019,6 +4627,90 @@ func (m *QueryCardchainInfoResponse) Size() (n int) { return n } +func (m *QuerySetRarityDistributionRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.SetId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if len(m.Wanted) > 0 { + l = 0 + for _, e := range m.Wanted { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + return n +} + +func (m *QuerySetRarityDistributionResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Current) > 0 { + l = 0 + for _, e := range m.Current { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + return n +} + +func (m *QueryAccountFromZealyRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ZealyId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAccountFromZealyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryVotingResultsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryVotingResultsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.LastVotingResults != nil { + l = m.LastVotingResults.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -7149,6 +7841,590 @@ func (m *QueryCardchainInfoResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QuerySetRarityDistributionRequest) 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: QuerySetRarityDistributionRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QuerySetRarityDistributionRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetId", 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.SetId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Wanted = append(m.Wanted, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + 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.Wanted) == 0 { + m.Wanted = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Wanted = append(m.Wanted, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Wanted", wireType) + } + 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 *QuerySetRarityDistributionResponse) 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: QuerySetRarityDistributionResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QuerySetRarityDistributionResponse: 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 ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Current = append(m.Current, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + 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.Current) == 0 { + m.Current = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Current = append(m.Current, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) + } + 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 *QueryAccountFromZealyRequest) 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: QueryAccountFromZealyRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAccountFromZealyRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ZealyId", 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.ZealyId = 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 *QueryAccountFromZealyResponse) 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: QueryAccountFromZealyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAccountFromZealyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", 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.Address = 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 *QueryVotingResultsRequest) 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: QueryVotingResultsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryVotingResultsRequest: 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 *QueryVotingResultsResponse) 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: QueryVotingResultsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryVotingResultsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastVotingResults", 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.LastVotingResults == nil { + m.LastVotingResults = &VotingResults{} + } + if err := m.LastVotingResults.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 3bb1559c..e61fda2f 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -863,6 +863,154 @@ func local_request_Query_CardchainInfo_0(ctx context.Context, marshaler runtime. } +func request_Query_SetRarityDistribution_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QuerySetRarityDistributionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["setId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") + } + + protoReq.SetId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) + } + + val, ok = pathParams["wanted"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "wanted") + } + + protoReq.Wanted, err = runtime.Uint64Slice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "wanted", err) + } + + msg, err := client.SetRarityDistribution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_SetRarityDistribution_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QuerySetRarityDistributionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["setId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") + } + + protoReq.SetId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) + } + + val, ok = pathParams["wanted"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "wanted") + } + + protoReq.Wanted, err = runtime.Uint64Slice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "wanted", err) + } + + msg, err := server.SetRarityDistribution(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_AccountFromZealy_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAccountFromZealyRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["zealyId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "zealyId") + } + + protoReq.ZealyId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "zealyId", err) + } + + msg, err := client.AccountFromZealy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_AccountFromZealy_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAccountFromZealyRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["zealyId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "zealyId") + } + + protoReq.ZealyId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "zealyId", err) + } + + msg, err := server.AccountFromZealy(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_VotingResults_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryVotingResultsRequest + var metadata runtime.ServerMetadata + + msg, err := client.VotingResults(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_VotingResults_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryVotingResultsRequest + var metadata runtime.ServerMetadata + + msg, err := server.VotingResults(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. @@ -1237,6 +1385,75 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_SetRarityDistribution_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_SetRarityDistribution_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_SetRarityDistribution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_AccountFromZealy_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_AccountFromZealy_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_AccountFromZealy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_VotingResults_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_VotingResults_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_VotingResults_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1598,6 +1815,66 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_SetRarityDistribution_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_SetRarityDistribution_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_SetRarityDistribution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_AccountFromZealy_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_AccountFromZealy_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_AccountFromZealy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_VotingResults_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_VotingResults_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_VotingResults_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1633,6 +1910,12 @@ var ( pattern_Query_EncountersWithImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "encounters_with_image"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_CardchainInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"DecentralCardGame", "cardchain", "cardchain_info", "activeSets", "cardsNumber", "matchesNumber", "sellOffersNumber", "councilsNumber", "lastCardModified"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_SetRarityDistribution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "cardchain", "set_rarity_distribution", "setId", "wanted"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_AccountFromZealy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "account_from_zealy", "zealyId"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_VotingResults_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "voting_results"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -1667,4 +1950,10 @@ var ( forward_Query_EncountersWithImage_0 = runtime.ForwardResponseMessage forward_Query_CardchainInfo_0 = runtime.ForwardResponseMessage + + forward_Query_SetRarityDistribution_0 = runtime.ForwardResponseMessage + + forward_Query_AccountFromZealy_0 = runtime.ForwardResponseMessage + + forward_Query_VotingResults_0 = runtime.ForwardResponseMessage ) diff --git a/x/cardchain/types/running_average.pb.go b/x/cardchain/types/running_average.pb.go index 21f80b8f..66809249 100644 --- a/x/cardchain/types/running_average.pb.go +++ b/x/cardchain/types/running_average.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go index 32a2be10..460f7093 100644 --- a/x/cardchain/types/sell_offer.pb.go +++ b/x/cardchain/types/sell_offer.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/server.pb.go b/x/cardchain/types/server.pb.go index ea0ae809..8ed475d1 100644 --- a/x/cardchain/types/server.pb.go +++ b/x/cardchain/types/server.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index e855ac39..94c81951 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -5,11 +5,12 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + types "github.com/cosmos/cosmos-sdk/types" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set_with_artwork.pb.go b/x/cardchain/types/set_with_artwork.pb.go index 04e0c25e..31f9721e 100644 --- a/x/cardchain/types/set_with_artwork.pb.go +++ b/x/cardchain/types/set_with_artwork.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index 182c66f7..dd34e69e 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -16,9 +20,6 @@ import ( 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. diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index f70e234d..bc73282c 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go index 6911a3d0..dbcea152 100644 --- a/x/cardchain/types/voting.pb.go +++ b/x/cardchain/types/voting.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. @@ -53,98 +54,6 @@ func (VoteType) EnumDescriptor() ([]byte, []int) { return fileDescriptor_39c6bcdea6f40fbf, []int{0} } -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"` @@ -158,7 +67,7 @@ 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} + return fileDescriptor_39c6bcdea6f40fbf, []int{0} } func (m *VotingResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -238,7 +147,7 @@ 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} + return fileDescriptor_39c6bcdea6f40fbf, []int{1} } func (m *SingleVote) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -283,7 +192,6 @@ func (m *SingleVote) GetVoteType() VoteType { func init() { proto.RegisterEnum("cardchain.cardchain.VoteType", VoteType_name, VoteType_value) - proto.RegisterType((*VotingResults)(nil), "cardchain.cardchain.VotingResults") proto.RegisterType((*VotingResult)(nil), "cardchain.cardchain.VotingResult") proto.RegisterType((*SingleVote)(nil), "cardchain.cardchain.SingleVote") } @@ -291,103 +199,28 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/voting.proto", fileDescriptor_39c6bcdea6f40fbf) } var fileDescriptor_39c6bcdea6f40fbf = []byte{ - // 427 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0xcd, 0x6e, 0xd3, 0x40, - 0x14, 0x85, 0x33, 0x49, 0x6b, 0xca, 0x4d, 0x7f, 0xdc, 0x4b, 0x29, 0xd9, 0x60, 0x99, 0xac, 0xac, - 0x0a, 0xb9, 0x52, 0x40, 0xa8, 0x6c, 0x29, 0x3f, 0xea, 0x0a, 0x64, 0xa0, 0x0b, 0x36, 0x68, 0x6a, - 0x0f, 0x8e, 0x25, 0x77, 0xc6, 0x1a, 0x8f, 0x03, 0x7d, 0x0b, 0x1e, 0x8b, 0x65, 0x97, 0x2c, 0x51, - 0x22, 0xf1, 0x00, 0x3c, 0x01, 0xca, 0xb5, 0x49, 0x87, 0xc6, 0xde, 0xdd, 0x7b, 0xcf, 0x39, 0xb2, - 0xcf, 0x27, 0x0d, 0xf8, 0x31, 0xd7, 0x49, 0x3c, 0xe5, 0x99, 0x3c, 0xbe, 0x99, 0x66, 0xca, 0x64, - 0x32, 0x0d, 0x0b, 0xad, 0x8c, 0xc2, 0x7b, 0xab, 0x7b, 0xb8, 0x9a, 0xc6, 0xbf, 0xfb, 0xb0, 0x73, - 0x4e, 0xae, 0x48, 0x94, 0x55, 0x6e, 0x4a, 0xf4, 0x00, 0x8c, 0x32, 0x3c, 0x3f, 0x57, 0x46, 0x94, - 0x23, 0xe6, 0xb3, 0x60, 0x23, 0xb2, 0x2e, 0x38, 0x81, 0x03, 0xda, 0x5e, 0xf3, 0x4c, 0xbf, 0x92, - 0xaa, 0x4a, 0xa7, 0xb5, 0xb3, 0x4f, 0xce, 0x56, 0x0d, 0x9f, 0xc2, 0x7d, 0xba, 0xbf, 0x9d, 0x09, - 0x5d, 0xa8, 0xaf, 0x42, 0x8b, 0xa4, 0x0e, 0x0d, 0x28, 0xd4, 0x2e, 0xe2, 0x33, 0x38, 0x24, 0xe1, - 0xa3, 0x4c, 0x6e, 0xc5, 0x36, 0x28, 0xd6, 0xa1, 0xe2, 0x09, 0x3c, 0x20, 0xe5, 0x4c, 0xf2, 0xa2, - 0xd0, 0xaa, 0xd0, 0x19, 0x37, 0xa2, 0x0e, 0x6e, 0x52, 0xb0, 0x4b, 0xc6, 0x53, 0x18, 0x2e, 0xd1, - 0x34, 0x28, 0x46, 0x8e, 0x3f, 0x08, 0x86, 0x93, 0x47, 0x61, 0x0b, 0xb8, 0xd0, 0x86, 0x16, 0xd9, - 0x29, 0x3c, 0x80, 0x4d, 0x49, 0x1f, 0xbb, 0xe3, 0xb3, 0xe0, 0x6e, 0x54, 0x2f, 0xe3, 0x3f, 0x0c, - 0xb6, 0xed, 0x0c, 0x1e, 0x82, 0xb3, 0x4c, 0x9d, 0x25, 0x0d, 0xe3, 0x66, 0xc3, 0x00, 0xf6, 0xbe, - 0xb4, 0xa2, 0xbd, 0x7d, 0xc6, 0x23, 0x70, 0x55, 0x3b, 0xd0, 0xb5, 0x3b, 0x3e, 0x86, 0xfd, 0xaa, - 0x03, 0xe3, 0xba, 0x80, 0x21, 0x60, 0xd6, 0x05, 0xaf, 0x45, 0x59, 0x76, 0xd1, 0xd4, 0x6a, 0xe4, - 0x50, 0xe7, 0x66, 0x1b, 0x7f, 0x06, 0x78, 0x9f, 0xc9, 0x34, 0x27, 0x5b, 0x67, 0xe3, 0xe7, 0xb0, - 0x35, 0x53, 0x46, 0x7c, 0xb8, 0x2a, 0x04, 0x55, 0xdd, 0x9d, 0x3c, 0xec, 0x42, 0x4e, 0xa6, 0x68, - 0x65, 0x3f, 0x7a, 0x07, 0x5b, 0xff, 0xae, 0xb8, 0x0b, 0x70, 0x43, 0xc8, 0xed, 0xe1, 0x3e, 0xec, - 0xfc, 0xf7, 0xab, 0x2e, 0xc3, 0x3d, 0x18, 0x5a, 0x64, 0xdc, 0x3e, 0xba, 0xb0, 0x6d, 0xb7, 0x77, - 0x07, 0x2f, 0xa2, 0x1f, 0x73, 0x8f, 0x5d, 0xcf, 0x3d, 0xf6, 0x6b, 0xee, 0xb1, 0xef, 0x0b, 0xaf, - 0x77, 0xbd, 0xf0, 0x7a, 0x3f, 0x17, 0x5e, 0xef, 0xd3, 0x49, 0x9a, 0x99, 0x69, 0x75, 0x11, 0xc6, - 0xea, 0xf2, 0xf8, 0xa5, 0x88, 0x85, 0x34, 0x9a, 0xe7, 0xa7, 0x5c, 0x27, 0x6f, 0xf8, 0xa5, 0xb0, - 0x1e, 0xdd, 0x37, 0x6b, 0x36, 0x57, 0x85, 0x28, 0x2f, 0x1c, 0x7a, 0x80, 0x4f, 0xfe, 0x06, 0x00, - 0x00, 0xff, 0xff, 0x9c, 0xa0, 0xa4, 0xc9, 0xa4, 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 + // 332 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xbf, 0x4e, 0x32, 0x41, + 0x14, 0xc5, 0x77, 0x80, 0x8f, 0xf0, 0x5d, 0x11, 0x96, 0x31, 0x31, 0x34, 0x6e, 0x08, 0x15, 0x21, + 0x66, 0x49, 0xb4, 0xd1, 0xd6, 0x3f, 0x31, 0x76, 0x66, 0x35, 0x14, 0x36, 0x66, 0xd8, 0xbd, 0x2e, + 0x93, 0xc0, 0xcc, 0x64, 0x98, 0x45, 0x79, 0x0b, 0x1f, 0xcb, 0x92, 0xd2, 0xd2, 0xc0, 0x1b, 0xf8, + 0x04, 0x86, 0x01, 0x97, 0x15, 0xb0, 0x3b, 0x73, 0xce, 0xaf, 0x98, 0x73, 0x72, 0xa1, 0x11, 0x32, + 0x1d, 0x85, 0x7d, 0xc6, 0x45, 0x67, 0xad, 0xc6, 0xd2, 0x70, 0x11, 0xfb, 0x4a, 0x4b, 0x23, 0xe9, + 0x41, 0xea, 0xfb, 0xa9, 0x6a, 0x7e, 0x11, 0x28, 0x77, 0x2d, 0x15, 0xe0, 0x28, 0x19, 0x18, 0x7a, + 0x08, 0xc5, 0x45, 0x7a, 0x1b, 0xd5, 0x49, 0x83, 0xb4, 0x0a, 0xc1, 0xea, 0x45, 0x5b, 0x50, 0x7d, + 0x66, 0x5c, 0x5f, 0x0b, 0x99, 0xc4, 0xfd, 0xae, 0x34, 0x38, 0xaa, 0xe7, 0x2c, 0xb0, 0x69, 0xd3, + 0x36, 0xb8, 0x72, 0x8c, 0x5a, 0xc9, 0x17, 0xd4, 0x18, 0x2d, 0xd1, 0xbc, 0x45, 0xb7, 0x7c, 0x7a, + 0x0c, 0xb5, 0x44, 0x44, 0x1b, 0x70, 0xc1, 0xc2, 0xdb, 0x01, 0xf5, 0x81, 0x72, 0xc1, 0x94, 0xd2, + 0x52, 0x69, 0xce, 0x0c, 0x2e, 0xf1, 0x7f, 0x16, 0xdf, 0x91, 0x2c, 0xba, 0x68, 0xdb, 0xaa, 0x5e, + 0x6c, 0x90, 0xd6, 0xff, 0x60, 0xf5, 0x6a, 0x3e, 0x01, 0xdc, 0x73, 0x11, 0x0f, 0x2c, 0xf6, 0x67, + 0xe3, 0x73, 0x28, 0x8d, 0xa5, 0xc1, 0x87, 0x89, 0x42, 0x5b, 0xb5, 0x72, 0x72, 0xe4, 0xef, 0x98, + 0xd0, 0xef, 0xae, 0xa0, 0x20, 0xc5, 0xdb, 0x77, 0x50, 0xfa, 0x71, 0x69, 0x05, 0x60, 0xbd, 0x90, + 0xeb, 0xd0, 0x1a, 0xec, 0xff, 0xfa, 0xaa, 0x4b, 0x68, 0x15, 0xf6, 0x32, 0xcb, 0xb8, 0x39, 0xea, + 0x42, 0x39, 0xdb, 0xde, 0xcd, 0x5f, 0x04, 0xef, 0x33, 0x8f, 0x4c, 0x67, 0x1e, 0xf9, 0x9c, 0x79, + 0xe4, 0x6d, 0xee, 0x39, 0xd3, 0xb9, 0xe7, 0x7c, 0xcc, 0x3d, 0xe7, 0xf1, 0x2c, 0xe6, 0xa6, 0x9f, + 0xf4, 0xfc, 0x50, 0x0e, 0x3b, 0x57, 0x18, 0xa2, 0x30, 0x9a, 0x0d, 0x2e, 0x99, 0x8e, 0x6e, 0xd8, + 0x10, 0x33, 0xb7, 0xf0, 0x9a, 0xd1, 0x66, 0xa2, 0x70, 0xd4, 0x2b, 0xda, 0xbb, 0x38, 0xfd, 0x0e, + 0x00, 0x00, 0xff, 0xff, 0x26, 0xf8, 0x7b, 0x79, 0x3b, 0x02, 0x00, 0x00, } func (m *VotingResult) Marshal() (dAtA []byte, err error) { @@ -489,40 +322,6 @@ func encodeVarintVoting(dAtA []byte, offset int, v uint64) int { 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 @@ -572,217 +371,6 @@ func sovVoting(x uint64) (n int) { 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 diff --git a/x/cardchain/types/voting_results.pb.go b/x/cardchain/types/voting_results.pb.go new file mode 100644 index 00000000..26a4030b --- /dev/null +++ b/x/cardchain/types/voting_results.pb.go @@ -0,0 +1,563 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/voting_results.proto + +package types + +import ( + fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" +) + +// 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), "cardchain.cardchain.VotingResults") +} + +func init() { + proto.RegisterFile("cardchain/cardchain/voting_results.proto", fileDescriptor_a233499ddc8264f3) +} + +var fileDescriptor_a233499ddc8264f3 = []byte{ + // 304 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xcf, 0x4b, 0xc3, 0x30, + 0x14, 0xc7, 0x9b, 0xfd, 0x12, 0x33, 0xbc, 0xc4, 0xa9, 0xc3, 0x43, 0xa8, 0x9e, 0x7a, 0xea, 0x60, + 0x8a, 0xec, 0xec, 0xfc, 0x81, 0x27, 0xa1, 0xe0, 0x0e, 0x5e, 0x24, 0x6b, 0x43, 0x5b, 0xe8, 0x92, + 0x90, 0xa6, 0x53, 0xff, 0x0b, 0xff, 0x2c, 0x8f, 0x3b, 0x7a, 0x94, 0x16, 0xfc, 0x3b, 0xc4, 0x17, + 0x99, 0x45, 0xda, 0xdb, 0x7b, 0xef, 0xf3, 0x3e, 0x09, 0x7c, 0x1f, 0xf6, 0x42, 0xa6, 0xa3, 0x30, + 0x61, 0xa9, 0x98, 0xfc, 0x55, 0x6b, 0x69, 0x52, 0x11, 0x3f, 0x69, 0x9e, 0x17, 0x99, 0xc9, 0x7d, + 0xa5, 0xa5, 0x91, 0x64, 0x7f, 0xcb, 0xfd, 0x6d, 0x75, 0xec, 0xb6, 0xeb, 0x56, 0x3b, 0xfd, 0xea, + 0xe0, 0xbd, 0x05, 0x0c, 0x02, 0xfb, 0x1c, 0xa1, 0x18, 0x1b, 0x69, 0x58, 0xb6, 0x90, 0x86, 0xe7, + 0x63, 0xe4, 0x22, 0xaf, 0x17, 0xd4, 0x26, 0x64, 0x8a, 0x47, 0xd0, 0xdd, 0xb0, 0x54, 0x5f, 0x0b, + 0x59, 0xc4, 0x89, 0xdd, 0xec, 0xc0, 0x66, 0x23, 0x23, 0xe7, 0xf8, 0x00, 0xe6, 0xf7, 0x6b, 0xae, + 0x95, 0x7c, 0xe6, 0x9a, 0x47, 0x56, 0xea, 0x82, 0xd4, 0x0c, 0xc9, 0x05, 0x3e, 0x04, 0xf0, 0x20, + 0xa2, 0x7f, 0x5a, 0x0f, 0xb4, 0x16, 0x4a, 0x66, 0xf8, 0x08, 0xc8, 0x9d, 0x60, 0x4a, 0x69, 0xa9, + 0x74, 0xca, 0x0c, 0xb7, 0x62, 0x1f, 0xc4, 0x36, 0x4c, 0xe6, 0x78, 0xf8, 0x93, 0xd3, 0x6f, 0x14, + 0xe3, 0x81, 0xdb, 0xf5, 0x86, 0xd3, 0x13, 0xbf, 0x21, 0x5a, 0xbf, 0x1e, 0x5a, 0x50, 0xb7, 0xc8, + 0x08, 0xf7, 0x05, 0x7c, 0xb6, 0xe3, 0x22, 0x6f, 0x37, 0xb0, 0xcd, 0x65, 0xf0, 0x5e, 0x52, 0xb4, + 0x29, 0x29, 0xfa, 0x2c, 0x29, 0x7a, 0xab, 0xa8, 0xb3, 0xa9, 0xa8, 0xf3, 0x51, 0x51, 0xe7, 0x71, + 0x16, 0xa7, 0x26, 0x29, 0x96, 0x7e, 0x28, 0x57, 0x93, 0x2b, 0x1e, 0x72, 0x61, 0x34, 0xcb, 0xe6, + 0x4c, 0x47, 0xb7, 0x6c, 0xc5, 0x6b, 0x77, 0x7b, 0xa9, 0xd5, 0xe6, 0x55, 0xf1, 0x7c, 0x39, 0x80, + 0x1b, 0x9e, 0x7d, 0x07, 0x00, 0x00, 0xff, 0xff, 0x3c, 0xe0, 0x14, 0x9e, 0x26, 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/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go index 30e9aaf4..36bda627 100644 --- a/x/cardchain/types/zealy.pb.go +++ b/x/cardchain/types/zealy.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/flag.pb.go b/x/featureflag/types/flag.pb.go index e1dd5d4d..9ea00283 100644 --- a/x/featureflag/types/flag.pb.go +++ b/x/featureflag/types/flag.pb.go @@ -5,10 +5,11 @@ package types import ( fmt "fmt" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/genesis.pb.go b/x/featureflag/types/genesis.pb.go index da869d10..6113e755 100644 --- a/x/featureflag/types/genesis.pb.go +++ b/x/featureflag/types/genesis.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/params.pb.go b/x/featureflag/types/params.pb.go index 46dbabd7..41595524 100644 --- a/x/featureflag/types/params.pb.go +++ b/x/featureflag/types/params.pb.go @@ -5,12 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" + + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/query.pb.go b/x/featureflag/types/query.pb.go index 2ec990b9..e7d3b919 100644 --- a/x/featureflag/types/query.pb.go +++ b/x/featureflag/types/query.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -15,9 +19,6 @@ import ( 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. diff --git a/x/featureflag/types/tx.pb.go b/x/featureflag/types/tx.pb.go index af61eaab..94b4be1b 100644 --- a/x/featureflag/types/tx.pb.go +++ b/x/featureflag/types/tx.pb.go @@ -6,6 +6,10 @@ package types import ( context "context" fmt "fmt" + io "io" + math "math" + math_bits "math/bits" + _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -15,9 +19,6 @@ import ( 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. From 6ad6443fa25b069990af5562811049f8e6f98ca7 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 15:41:06 +0100 Subject: [PATCH 51/99] fix(#242): Ignite is utter garbage --- api/cardchain/cardchain/card.pulsar.go | 9 +- .../cardchain/card_with_image.pulsar.go | 7 +- api/cardchain/cardchain/council.pulsar.go | 9 +- api/cardchain/cardchain/encounter.pulsar.go | 9 +- .../cardchain/encounter_with_image.pulsar.go | 7 +- api/cardchain/cardchain/genesis.pulsar.go | 9 +- api/cardchain/cardchain/image.pulsar.go | 7 +- api/cardchain/cardchain/match.pulsar.go | 7 +- .../cardchain/module/module.pulsar.go | 9 +- api/cardchain/cardchain/params.pulsar.go | 9 +- .../cardchain/product_details.pulsar.go | 7 +- api/cardchain/cardchain/query.pulsar.go | 1600 ++++++++--------- api/cardchain/cardchain/query_grpc.pb.go | 1 - .../cardchain/running_average.pulsar.go | 7 +- api/cardchain/cardchain/sell_offer.pulsar.go | 9 +- api/cardchain/cardchain/server.pulsar.go | 7 +- api/cardchain/cardchain/set.pulsar.go | 9 +- .../cardchain/set_with_artwork.pulsar.go | 7 +- api/cardchain/cardchain/tx.pulsar.go | 11 +- api/cardchain/cardchain/tx_grpc.pb.go | 1 - api/cardchain/cardchain/user.pulsar.go | 7 +- api/cardchain/cardchain/voting.pulsar.go | 7 +- .../cardchain/voting_results.pulsar.go | 7 +- api/cardchain/cardchain/zealy.pulsar.go | 7 +- api/cardchain/featureflag/flag.pulsar.go | 7 +- api/cardchain/featureflag/genesis.pulsar.go | 11 +- .../featureflag/module/module.pulsar.go | 9 +- api/cardchain/featureflag/params.pulsar.go | 9 +- api/cardchain/featureflag/query.pulsar.go | 9 +- api/cardchain/featureflag/query_grpc.pb.go | 1 - api/cardchain/featureflag/tx.pulsar.go | 9 +- api/cardchain/featureflag/tx_grpc.pb.go | 1 - docs/static/openapi.yml | 2 +- proto/cardchain/cardchain/query.proto | 310 ++-- x/cardchain/module/autocli.go | 8 +- x/cardchain/types/card.pb.go | 7 +- x/cardchain/types/card_with_image.pb.go | 5 +- x/cardchain/types/council.pb.go | 7 +- x/cardchain/types/encounter.pb.go | 5 +- x/cardchain/types/encounter_with_image.pb.go | 5 +- x/cardchain/types/genesis.pb.go | 7 +- x/cardchain/types/image.pb.go | 3 +- x/cardchain/types/match.pb.go | 3 +- x/cardchain/types/params.pb.go | 7 +- x/cardchain/types/product_details.pb.go | 3 +- x/cardchain/types/query.pb.go | 734 ++++---- x/cardchain/types/query.pb.gw.go | 172 +- x/cardchain/types/running_average.pb.go | 3 +- x/cardchain/types/sell_offer.pb.go | 7 +- x/cardchain/types/server.pb.go | 3 +- x/cardchain/types/set.pb.go | 5 +- x/cardchain/types/set_with_artwork.pb.go | 3 +- x/cardchain/types/tx.pb.go | 7 +- x/cardchain/types/user.pb.go | 3 +- x/cardchain/types/voting.pb.go | 3 +- x/cardchain/types/voting_results.pb.go | 3 +- x/cardchain/types/zealy.pb.go | 3 +- x/featureflag/types/flag.pb.go | 3 +- x/featureflag/types/genesis.pb.go | 7 +- x/featureflag/types/params.pb.go | 7 +- x/featureflag/types/query.pb.go | 7 +- x/featureflag/types/tx.pb.go | 7 +- 62 files changed, 1449 insertions(+), 1725 deletions(-) diff --git a/api/cardchain/cardchain/card.pulsar.go b/api/cardchain/cardchain/card.pulsar.go index a986b06e..32747a36 100644 --- a/api/cardchain/cardchain/card.pulsar.go +++ b/api/cardchain/cardchain/card.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Card_14_list)(nil) diff --git a/api/cardchain/cardchain/card_with_image.pulsar.go b/api/cardchain/cardchain/card_with_image.pulsar.go index d8c51a08..c161546e 100644 --- a/api/cardchain/cardchain/card_with_image.pulsar.go +++ b/api/cardchain/cardchain/card_with_image.pulsar.go @@ -3,15 +3,14 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/council.pulsar.go b/api/cardchain/cardchain/council.pulsar.go index 1afba505..ad8e4373 100644 --- a/api/cardchain/cardchain/council.pulsar.go +++ b/api/cardchain/cardchain/council.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Council_2_list)(nil) diff --git a/api/cardchain/cardchain/encounter.pulsar.go b/api/cardchain/cardchain/encounter.pulsar.go index 83562fe5..cd9398ab 100644 --- a/api/cardchain/cardchain/encounter.pulsar.go +++ b/api/cardchain/cardchain/encounter.pulsar.go @@ -3,16 +3,15 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var _ protoreflect.List = (*_Encounter_2_list)(nil) diff --git a/api/cardchain/cardchain/encounter_with_image.pulsar.go b/api/cardchain/cardchain/encounter_with_image.pulsar.go index a4fdeddc..10ddcaa6 100644 --- a/api/cardchain/cardchain/encounter_with_image.pulsar.go +++ b/api/cardchain/cardchain/encounter_with_image.pulsar.go @@ -3,15 +3,14 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index 4d3bf7a0..c48c933d 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_GenesisState_2_list)(nil) diff --git a/api/cardchain/cardchain/image.pulsar.go b/api/cardchain/cardchain/image.pulsar.go index db59a9e8..627dece1 100644 --- a/api/cardchain/cardchain/image.pulsar.go +++ b/api/cardchain/cardchain/image.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go index b2e29884..191ba7fd 100644 --- a/api/cardchain/cardchain/match.pulsar.go +++ b/api/cardchain/cardchain/match.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/module/module.pulsar.go b/api/cardchain/cardchain/module/module.pulsar.go index dead9881..2b190f83 100644 --- a/api/cardchain/cardchain/module/module.pulsar.go +++ b/api/cardchain/cardchain/module/module.pulsar.go @@ -2,16 +2,15 @@ package module import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/params.pulsar.go b/api/cardchain/cardchain/params.pulsar.go index ed6b2b87..11ddc437 100644 --- a/api/cardchain/cardchain/params.pulsar.go +++ b/api/cardchain/cardchain/params.pulsar.go @@ -2,18 +2,17 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/product_details.pulsar.go b/api/cardchain/cardchain/product_details.pulsar.go index f50578bd..4217d854 100644 --- a/api/cardchain/cardchain/product_details.pulsar.go +++ b/api/cardchain/cardchain/product_details.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index de724cb2..233c5f6f 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -2,20 +2,19 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" v1beta11 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( @@ -13945,71 +13944,13 @@ func (x *fastReflection_QueryEncountersWithImageResponse) ProtoMethods() *protoi } } -var _ protoreflect.List = (*_QueryCardchainInfoRequest_1_list)(nil) - -type _QueryCardchainInfoRequest_1_list struct { - list *[]uint64 -} - -func (x *_QueryCardchainInfoRequest_1_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_QueryCardchainInfoRequest_1_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfUint64((*x.list)[i]) -} - -func (x *_QueryCardchainInfoRequest_1_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Uint() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_QueryCardchainInfoRequest_1_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Uint() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_QueryCardchainInfoRequest_1_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message QueryCardchainInfoRequest at list field ActiveSets as it is not of Message kind")) -} - -func (x *_QueryCardchainInfoRequest_1_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_QueryCardchainInfoRequest_1_list) NewElement() protoreflect.Value { - v := uint64(0) - return protoreflect.ValueOfUint64(v) -} - -func (x *_QueryCardchainInfoRequest_1_list) IsValid() bool { - return x.list != nil -} - var ( - md_QueryCardchainInfoRequest protoreflect.MessageDescriptor - fd_QueryCardchainInfoRequest_activeSets protoreflect.FieldDescriptor - fd_QueryCardchainInfoRequest_cardsNumber protoreflect.FieldDescriptor - fd_QueryCardchainInfoRequest_matchesNumber protoreflect.FieldDescriptor - fd_QueryCardchainInfoRequest_sellOffersNumber protoreflect.FieldDescriptor - fd_QueryCardchainInfoRequest_councilsNumber protoreflect.FieldDescriptor - fd_QueryCardchainInfoRequest_lastCardModified protoreflect.FieldDescriptor + md_QueryCardchainInfoRequest protoreflect.MessageDescriptor ) func init() { file_cardchain_cardchain_query_proto_init() md_QueryCardchainInfoRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardchainInfoRequest") - fd_QueryCardchainInfoRequest_activeSets = md_QueryCardchainInfoRequest.Fields().ByName("activeSets") - fd_QueryCardchainInfoRequest_cardsNumber = md_QueryCardchainInfoRequest.Fields().ByName("cardsNumber") - fd_QueryCardchainInfoRequest_matchesNumber = md_QueryCardchainInfoRequest.Fields().ByName("matchesNumber") - fd_QueryCardchainInfoRequest_sellOffersNumber = md_QueryCardchainInfoRequest.Fields().ByName("sellOffersNumber") - fd_QueryCardchainInfoRequest_councilsNumber = md_QueryCardchainInfoRequest.Fields().ByName("councilsNumber") - fd_QueryCardchainInfoRequest_lastCardModified = md_QueryCardchainInfoRequest.Fields().ByName("lastCardModified") } var _ protoreflect.Message = (*fastReflection_QueryCardchainInfoRequest)(nil) @@ -14077,42 +14018,6 @@ func (x *fastReflection_QueryCardchainInfoRequest) Interface() protoreflect.Prot // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_QueryCardchainInfoRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if len(x.ActiveSets) != 0 { - value := protoreflect.ValueOfList(&_QueryCardchainInfoRequest_1_list{list: &x.ActiveSets}) - if !f(fd_QueryCardchainInfoRequest_activeSets, value) { - return - } - } - if x.CardsNumber != uint64(0) { - value := protoreflect.ValueOfUint64(x.CardsNumber) - if !f(fd_QueryCardchainInfoRequest_cardsNumber, value) { - return - } - } - if x.MatchesNumber != uint64(0) { - value := protoreflect.ValueOfUint64(x.MatchesNumber) - if !f(fd_QueryCardchainInfoRequest_matchesNumber, value) { - return - } - } - if x.SellOffersNumber != uint64(0) { - value := protoreflect.ValueOfUint64(x.SellOffersNumber) - if !f(fd_QueryCardchainInfoRequest_sellOffersNumber, value) { - return - } - } - if x.CouncilsNumber != uint64(0) { - value := protoreflect.ValueOfUint64(x.CouncilsNumber) - if !f(fd_QueryCardchainInfoRequest_councilsNumber, value) { - return - } - } - if x.LastCardModified != uint64(0) { - value := protoreflect.ValueOfUint64(x.LastCardModified) - if !f(fd_QueryCardchainInfoRequest_lastCardModified, value) { - return - } - } } // Has reports whether a field is populated. @@ -14128,18 +14033,6 @@ func (x *fastReflection_QueryCardchainInfoRequest) Range(f func(protoreflect.Fie // a repeated field is populated if it is non-empty. func (x *fastReflection_QueryCardchainInfoRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cardchain.cardchain.QueryCardchainInfoRequest.activeSets": - return len(x.ActiveSets) != 0 - case "cardchain.cardchain.QueryCardchainInfoRequest.cardsNumber": - return x.CardsNumber != uint64(0) - case "cardchain.cardchain.QueryCardchainInfoRequest.matchesNumber": - return x.MatchesNumber != uint64(0) - case "cardchain.cardchain.QueryCardchainInfoRequest.sellOffersNumber": - return x.SellOffersNumber != uint64(0) - case "cardchain.cardchain.QueryCardchainInfoRequest.councilsNumber": - return x.CouncilsNumber != uint64(0) - case "cardchain.cardchain.QueryCardchainInfoRequest.lastCardModified": - return x.LastCardModified != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoRequest")) @@ -14156,18 +14049,6 @@ func (x *fastReflection_QueryCardchainInfoRequest) Has(fd protoreflect.FieldDesc // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryCardchainInfoRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cardchain.cardchain.QueryCardchainInfoRequest.activeSets": - x.ActiveSets = nil - case "cardchain.cardchain.QueryCardchainInfoRequest.cardsNumber": - x.CardsNumber = uint64(0) - case "cardchain.cardchain.QueryCardchainInfoRequest.matchesNumber": - x.MatchesNumber = uint64(0) - case "cardchain.cardchain.QueryCardchainInfoRequest.sellOffersNumber": - x.SellOffersNumber = uint64(0) - case "cardchain.cardchain.QueryCardchainInfoRequest.councilsNumber": - x.CouncilsNumber = uint64(0) - case "cardchain.cardchain.QueryCardchainInfoRequest.lastCardModified": - x.LastCardModified = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoRequest")) @@ -14184,27 +14065,6 @@ func (x *fastReflection_QueryCardchainInfoRequest) Clear(fd protoreflect.FieldDe // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_QueryCardchainInfoRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cardchain.cardchain.QueryCardchainInfoRequest.activeSets": - if len(x.ActiveSets) == 0 { - return protoreflect.ValueOfList(&_QueryCardchainInfoRequest_1_list{}) - } - listValue := &_QueryCardchainInfoRequest_1_list{list: &x.ActiveSets} - return protoreflect.ValueOfList(listValue) - case "cardchain.cardchain.QueryCardchainInfoRequest.cardsNumber": - value := x.CardsNumber - return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.QueryCardchainInfoRequest.matchesNumber": - value := x.MatchesNumber - return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.QueryCardchainInfoRequest.sellOffersNumber": - value := x.SellOffersNumber - return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.QueryCardchainInfoRequest.councilsNumber": - value := x.CouncilsNumber - return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.QueryCardchainInfoRequest.lastCardModified": - value := x.LastCardModified - return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoRequest")) @@ -14225,20 +14085,6 @@ func (x *fastReflection_QueryCardchainInfoRequest) Get(descriptor protoreflect.F // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryCardchainInfoRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cardchain.cardchain.QueryCardchainInfoRequest.activeSets": - lv := value.List() - clv := lv.(*_QueryCardchainInfoRequest_1_list) - x.ActiveSets = *clv.list - case "cardchain.cardchain.QueryCardchainInfoRequest.cardsNumber": - x.CardsNumber = value.Uint() - case "cardchain.cardchain.QueryCardchainInfoRequest.matchesNumber": - x.MatchesNumber = value.Uint() - case "cardchain.cardchain.QueryCardchainInfoRequest.sellOffersNumber": - x.SellOffersNumber = value.Uint() - case "cardchain.cardchain.QueryCardchainInfoRequest.councilsNumber": - x.CouncilsNumber = value.Uint() - case "cardchain.cardchain.QueryCardchainInfoRequest.lastCardModified": - x.LastCardModified = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoRequest")) @@ -14259,22 +14105,6 @@ func (x *fastReflection_QueryCardchainInfoRequest) Set(fd protoreflect.FieldDesc // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryCardchainInfoRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QueryCardchainInfoRequest.activeSets": - if x.ActiveSets == nil { - x.ActiveSets = []uint64{} - } - value := &_QueryCardchainInfoRequest_1_list{list: &x.ActiveSets} - return protoreflect.ValueOfList(value) - case "cardchain.cardchain.QueryCardchainInfoRequest.cardsNumber": - panic(fmt.Errorf("field cardsNumber of message cardchain.cardchain.QueryCardchainInfoRequest is not mutable")) - case "cardchain.cardchain.QueryCardchainInfoRequest.matchesNumber": - panic(fmt.Errorf("field matchesNumber of message cardchain.cardchain.QueryCardchainInfoRequest is not mutable")) - case "cardchain.cardchain.QueryCardchainInfoRequest.sellOffersNumber": - panic(fmt.Errorf("field sellOffersNumber of message cardchain.cardchain.QueryCardchainInfoRequest is not mutable")) - case "cardchain.cardchain.QueryCardchainInfoRequest.councilsNumber": - panic(fmt.Errorf("field councilsNumber of message cardchain.cardchain.QueryCardchainInfoRequest is not mutable")) - case "cardchain.cardchain.QueryCardchainInfoRequest.lastCardModified": - panic(fmt.Errorf("field lastCardModified of message cardchain.cardchain.QueryCardchainInfoRequest is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoRequest")) @@ -14288,19 +14118,6 @@ func (x *fastReflection_QueryCardchainInfoRequest) Mutable(fd protoreflect.Field // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_QueryCardchainInfoRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QueryCardchainInfoRequest.activeSets": - list := []uint64{} - return protoreflect.ValueOfList(&_QueryCardchainInfoRequest_1_list{list: &list}) - case "cardchain.cardchain.QueryCardchainInfoRequest.cardsNumber": - return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.QueryCardchainInfoRequest.matchesNumber": - return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.QueryCardchainInfoRequest.sellOffersNumber": - return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.QueryCardchainInfoRequest.councilsNumber": - return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.QueryCardchainInfoRequest.lastCardModified": - return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoRequest")) @@ -14370,28 +14187,6 @@ func (x *fastReflection_QueryCardchainInfoRequest) ProtoMethods() *protoiface.Me var n int var l int _ = l - if len(x.ActiveSets) > 0 { - l = 0 - for _, e := range x.ActiveSets { - l += runtime.Sov(uint64(e)) - } - n += 1 + runtime.Sov(uint64(l)) + l - } - if x.CardsNumber != 0 { - n += 1 + runtime.Sov(uint64(x.CardsNumber)) - } - if x.MatchesNumber != 0 { - n += 1 + runtime.Sov(uint64(x.MatchesNumber)) - } - if x.SellOffersNumber != 0 { - n += 1 + runtime.Sov(uint64(x.SellOffersNumber)) - } - if x.CouncilsNumber != 0 { - n += 1 + runtime.Sov(uint64(x.CouncilsNumber)) - } - if x.LastCardModified != 0 { - n += 1 + runtime.Sov(uint64(x.LastCardModified)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -14421,51 +14216,6 @@ func (x *fastReflection_QueryCardchainInfoRequest) ProtoMethods() *protoiface.Me i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.LastCardModified != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.LastCardModified)) - i-- - dAtA[i] = 0x30 - } - if x.CouncilsNumber != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.CouncilsNumber)) - i-- - dAtA[i] = 0x28 - } - if x.SellOffersNumber != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.SellOffersNumber)) - i-- - dAtA[i] = 0x20 - } - if x.MatchesNumber != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.MatchesNumber)) - i-- - dAtA[i] = 0x18 - } - if x.CardsNumber != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.CardsNumber)) - i-- - dAtA[i] = 0x10 - } - if len(x.ActiveSets) > 0 { - var pksize2 int - for _, num := range x.ActiveSets { - pksize2 += runtime.Sov(uint64(num)) - } - i -= pksize2 - j1 := i - for _, num := range x.ActiveSets { - for num >= 1<<7 { - dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j1++ - } - dAtA[j1] = uint8(num) - j1++ - } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) - i-- - dAtA[i] = 0xa - } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -14515,177 +14265,6 @@ func (x *fastReflection_QueryCardchainInfoRequest) ProtoMethods() *protoiface.Me return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardchainInfoRequest: 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.ActiveSets = append(x.ActiveSets, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - var elementCount int - var count int - for _, integer := range dAtA[iNdEx:postIndex] { - if integer < 128 { - count++ - } - } - elementCount = count - if elementCount != 0 && len(x.ActiveSets) == 0 { - x.ActiveSets = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.ActiveSets = append(x.ActiveSets, v) - } - } else { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ActiveSets", wireType) - } - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardsNumber", wireType) - } - x.CardsNumber = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.CardsNumber |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MatchesNumber", wireType) - } - x.MatchesNumber = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.MatchesNumber |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SellOffersNumber", wireType) - } - x.SellOffersNumber = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.SellOffersNumber |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CouncilsNumber", wireType) - } - x.CouncilsNumber = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.CouncilsNumber |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field LastCardModified", wireType) - } - x.LastCardModified = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.LastCardModified |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -14721,15 +14300,73 @@ func (x *fastReflection_QueryCardchainInfoRequest) ProtoMethods() *protoiface.Me } } +var _ protoreflect.List = (*_QueryCardchainInfoResponse_2_list)(nil) + +type _QueryCardchainInfoResponse_2_list struct { + list *[]uint64 +} + +func (x *_QueryCardchainInfoResponse_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryCardchainInfoResponse_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_QueryCardchainInfoResponse_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QueryCardchainInfoResponse_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryCardchainInfoResponse_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QueryCardchainInfoResponse at list field ActiveSets as it is not of Message kind")) +} + +func (x *_QueryCardchainInfoResponse_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QueryCardchainInfoResponse_2_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_QueryCardchainInfoResponse_2_list) IsValid() bool { + return x.list != nil +} + var ( md_QueryCardchainInfoResponse protoreflect.MessageDescriptor fd_QueryCardchainInfoResponse_cardAuctionPrice protoreflect.FieldDescriptor + fd_QueryCardchainInfoResponse_activeSets protoreflect.FieldDescriptor + fd_QueryCardchainInfoResponse_cardsNumber protoreflect.FieldDescriptor + fd_QueryCardchainInfoResponse_matchesNumber protoreflect.FieldDescriptor + fd_QueryCardchainInfoResponse_sellOffersNumber protoreflect.FieldDescriptor + fd_QueryCardchainInfoResponse_councilsNumber protoreflect.FieldDescriptor + fd_QueryCardchainInfoResponse_lastCardModified protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_query_proto_init() md_QueryCardchainInfoResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardchainInfoResponse") fd_QueryCardchainInfoResponse_cardAuctionPrice = md_QueryCardchainInfoResponse.Fields().ByName("cardAuctionPrice") + fd_QueryCardchainInfoResponse_activeSets = md_QueryCardchainInfoResponse.Fields().ByName("activeSets") + fd_QueryCardchainInfoResponse_cardsNumber = md_QueryCardchainInfoResponse.Fields().ByName("cardsNumber") + fd_QueryCardchainInfoResponse_matchesNumber = md_QueryCardchainInfoResponse.Fields().ByName("matchesNumber") + fd_QueryCardchainInfoResponse_sellOffersNumber = md_QueryCardchainInfoResponse.Fields().ByName("sellOffersNumber") + fd_QueryCardchainInfoResponse_councilsNumber = md_QueryCardchainInfoResponse.Fields().ByName("councilsNumber") + fd_QueryCardchainInfoResponse_lastCardModified = md_QueryCardchainInfoResponse.Fields().ByName("lastCardModified") } var _ protoreflect.Message = (*fastReflection_QueryCardchainInfoResponse)(nil) @@ -14803,6 +14440,42 @@ func (x *fastReflection_QueryCardchainInfoResponse) Range(f func(protoreflect.Fi return } } + if len(x.ActiveSets) != 0 { + value := protoreflect.ValueOfList(&_QueryCardchainInfoResponse_2_list{list: &x.ActiveSets}) + if !f(fd_QueryCardchainInfoResponse_activeSets, value) { + return + } + } + if x.CardsNumber != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardsNumber) + if !f(fd_QueryCardchainInfoResponse_cardsNumber, value) { + return + } + } + if x.MatchesNumber != uint64(0) { + value := protoreflect.ValueOfUint64(x.MatchesNumber) + if !f(fd_QueryCardchainInfoResponse_matchesNumber, value) { + return + } + } + if x.SellOffersNumber != uint64(0) { + value := protoreflect.ValueOfUint64(x.SellOffersNumber) + if !f(fd_QueryCardchainInfoResponse_sellOffersNumber, value) { + return + } + } + if x.CouncilsNumber != uint64(0) { + value := protoreflect.ValueOfUint64(x.CouncilsNumber) + if !f(fd_QueryCardchainInfoResponse_councilsNumber, value) { + return + } + } + if x.LastCardModified != uint64(0) { + value := protoreflect.ValueOfUint64(x.LastCardModified) + if !f(fd_QueryCardchainInfoResponse_lastCardModified, value) { + return + } + } } // Has reports whether a field is populated. @@ -14820,6 +14493,18 @@ func (x *fastReflection_QueryCardchainInfoResponse) Has(fd protoreflect.FieldDes switch fd.FullName() { case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": return x.CardAuctionPrice != nil + case "cardchain.cardchain.QueryCardchainInfoResponse.activeSets": + return len(x.ActiveSets) != 0 + case "cardchain.cardchain.QueryCardchainInfoResponse.cardsNumber": + return x.CardsNumber != uint64(0) + case "cardchain.cardchain.QueryCardchainInfoResponse.matchesNumber": + return x.MatchesNumber != uint64(0) + case "cardchain.cardchain.QueryCardchainInfoResponse.sellOffersNumber": + return x.SellOffersNumber != uint64(0) + case "cardchain.cardchain.QueryCardchainInfoResponse.councilsNumber": + return x.CouncilsNumber != uint64(0) + case "cardchain.cardchain.QueryCardchainInfoResponse.lastCardModified": + return x.LastCardModified != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoResponse")) @@ -14838,6 +14523,18 @@ func (x *fastReflection_QueryCardchainInfoResponse) Clear(fd protoreflect.FieldD switch fd.FullName() { case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": x.CardAuctionPrice = nil + case "cardchain.cardchain.QueryCardchainInfoResponse.activeSets": + x.ActiveSets = nil + case "cardchain.cardchain.QueryCardchainInfoResponse.cardsNumber": + x.CardsNumber = uint64(0) + case "cardchain.cardchain.QueryCardchainInfoResponse.matchesNumber": + x.MatchesNumber = uint64(0) + case "cardchain.cardchain.QueryCardchainInfoResponse.sellOffersNumber": + x.SellOffersNumber = uint64(0) + case "cardchain.cardchain.QueryCardchainInfoResponse.councilsNumber": + x.CouncilsNumber = uint64(0) + case "cardchain.cardchain.QueryCardchainInfoResponse.lastCardModified": + x.LastCardModified = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoResponse")) @@ -14857,6 +14554,27 @@ func (x *fastReflection_QueryCardchainInfoResponse) Get(descriptor protoreflect. case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": value := x.CardAuctionPrice return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.QueryCardchainInfoResponse.activeSets": + if len(x.ActiveSets) == 0 { + return protoreflect.ValueOfList(&_QueryCardchainInfoResponse_2_list{}) + } + listValue := &_QueryCardchainInfoResponse_2_list{list: &x.ActiveSets} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QueryCardchainInfoResponse.cardsNumber": + value := x.CardsNumber + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.QueryCardchainInfoResponse.matchesNumber": + value := x.MatchesNumber + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.QueryCardchainInfoResponse.sellOffersNumber": + value := x.SellOffersNumber + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.QueryCardchainInfoResponse.councilsNumber": + value := x.CouncilsNumber + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.QueryCardchainInfoResponse.lastCardModified": + value := x.LastCardModified + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoResponse")) @@ -14879,6 +14597,20 @@ func (x *fastReflection_QueryCardchainInfoResponse) Set(fd protoreflect.FieldDes switch fd.FullName() { case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": x.CardAuctionPrice = value.Message().Interface().(*v1beta11.Coin) + case "cardchain.cardchain.QueryCardchainInfoResponse.activeSets": + lv := value.List() + clv := lv.(*_QueryCardchainInfoResponse_2_list) + x.ActiveSets = *clv.list + case "cardchain.cardchain.QueryCardchainInfoResponse.cardsNumber": + x.CardsNumber = value.Uint() + case "cardchain.cardchain.QueryCardchainInfoResponse.matchesNumber": + x.MatchesNumber = value.Uint() + case "cardchain.cardchain.QueryCardchainInfoResponse.sellOffersNumber": + x.SellOffersNumber = value.Uint() + case "cardchain.cardchain.QueryCardchainInfoResponse.councilsNumber": + x.CouncilsNumber = value.Uint() + case "cardchain.cardchain.QueryCardchainInfoResponse.lastCardModified": + x.LastCardModified = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoResponse")) @@ -14904,6 +14636,22 @@ func (x *fastReflection_QueryCardchainInfoResponse) Mutable(fd protoreflect.Fiel x.CardAuctionPrice = new(v1beta11.Coin) } return protoreflect.ValueOfMessage(x.CardAuctionPrice.ProtoReflect()) + case "cardchain.cardchain.QueryCardchainInfoResponse.activeSets": + if x.ActiveSets == nil { + x.ActiveSets = []uint64{} + } + value := &_QueryCardchainInfoResponse_2_list{list: &x.ActiveSets} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QueryCardchainInfoResponse.cardsNumber": + panic(fmt.Errorf("field cardsNumber of message cardchain.cardchain.QueryCardchainInfoResponse is not mutable")) + case "cardchain.cardchain.QueryCardchainInfoResponse.matchesNumber": + panic(fmt.Errorf("field matchesNumber of message cardchain.cardchain.QueryCardchainInfoResponse is not mutable")) + case "cardchain.cardchain.QueryCardchainInfoResponse.sellOffersNumber": + panic(fmt.Errorf("field sellOffersNumber of message cardchain.cardchain.QueryCardchainInfoResponse is not mutable")) + case "cardchain.cardchain.QueryCardchainInfoResponse.councilsNumber": + panic(fmt.Errorf("field councilsNumber of message cardchain.cardchain.QueryCardchainInfoResponse is not mutable")) + case "cardchain.cardchain.QueryCardchainInfoResponse.lastCardModified": + panic(fmt.Errorf("field lastCardModified of message cardchain.cardchain.QueryCardchainInfoResponse is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoResponse")) @@ -14920,6 +14668,19 @@ func (x *fastReflection_QueryCardchainInfoResponse) NewField(fd protoreflect.Fie case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": m := new(v1beta11.Coin) return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.QueryCardchainInfoResponse.activeSets": + list := []uint64{} + return protoreflect.ValueOfList(&_QueryCardchainInfoResponse_2_list{list: &list}) + case "cardchain.cardchain.QueryCardchainInfoResponse.cardsNumber": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.QueryCardchainInfoResponse.matchesNumber": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.QueryCardchainInfoResponse.sellOffersNumber": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.QueryCardchainInfoResponse.councilsNumber": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.QueryCardchainInfoResponse.lastCardModified": + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardchainInfoResponse")) @@ -14993,6 +14754,28 @@ func (x *fastReflection_QueryCardchainInfoResponse) ProtoMethods() *protoiface.M l = options.Size(x.CardAuctionPrice) n += 1 + l + runtime.Sov(uint64(l)) } + if len(x.ActiveSets) > 0 { + l = 0 + for _, e := range x.ActiveSets { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.CardsNumber != 0 { + n += 1 + runtime.Sov(uint64(x.CardsNumber)) + } + if x.MatchesNumber != 0 { + n += 1 + runtime.Sov(uint64(x.MatchesNumber)) + } + if x.SellOffersNumber != 0 { + n += 1 + runtime.Sov(uint64(x.SellOffersNumber)) + } + if x.CouncilsNumber != 0 { + n += 1 + runtime.Sov(uint64(x.CouncilsNumber)) + } + if x.LastCardModified != 0 { + n += 1 + runtime.Sov(uint64(x.LastCardModified)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -15022,6 +14805,51 @@ func (x *fastReflection_QueryCardchainInfoResponse) ProtoMethods() *protoiface.M i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.LastCardModified != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.LastCardModified)) + i-- + dAtA[i] = 0x38 + } + if x.CouncilsNumber != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CouncilsNumber)) + i-- + dAtA[i] = 0x30 + } + if x.SellOffersNumber != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SellOffersNumber)) + i-- + dAtA[i] = 0x28 + } + if x.MatchesNumber != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.MatchesNumber)) + i-- + dAtA[i] = 0x20 + } + if x.CardsNumber != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardsNumber)) + i-- + dAtA[i] = 0x18 + } + if len(x.ActiveSets) > 0 { + var pksize2 int + for _, num := range x.ActiveSets { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.ActiveSets { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x12 + } if x.CardAuctionPrice != nil { encoded, err := options.Marshal(x.CardAuctionPrice) if err != nil { @@ -15089,7 +14917,176 @@ func (x *fastReflection_QueryCardchainInfoResponse) ProtoMethods() *protoiface.M if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardAuctionPrice", wireType) } - var msglen int + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.CardAuctionPrice == nil { + x.CardAuctionPrice = &v1beta11.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CardAuctionPrice); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.ActiveSets = append(x.ActiveSets, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.ActiveSets) == 0 { + x.ActiveSets = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.ActiveSets = append(x.ActiveSets, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ActiveSets", wireType) + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardsNumber", wireType) + } + x.CardsNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardsNumber |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MatchesNumber", wireType) + } + x.MatchesNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.MatchesNumber |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SellOffersNumber", wireType) + } + x.SellOffersNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SellOffersNumber |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CouncilsNumber", wireType) + } + x.CouncilsNumber = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -15099,28 +15096,30 @@ func (x *fastReflection_QueryCardchainInfoResponse) ProtoMethods() *protoiface.M } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + x.CouncilsNumber |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.CardAuctionPrice == nil { - x.CardAuctionPrice = &v1beta11.Coin{} + case 7: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field LastCardModified", wireType) } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CardAuctionPrice); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + x.LastCardModified = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.LastCardModified |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -15156,63 +15155,15 @@ func (x *fastReflection_QueryCardchainInfoResponse) ProtoMethods() *protoiface.M } } -var _ protoreflect.List = (*_QuerySetRarityDistributionRequest_2_list)(nil) - -type _QuerySetRarityDistributionRequest_2_list struct { - list *[]uint64 -} - -func (x *_QuerySetRarityDistributionRequest_2_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_QuerySetRarityDistributionRequest_2_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfUint64((*x.list)[i]) -} - -func (x *_QuerySetRarityDistributionRequest_2_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Uint() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_QuerySetRarityDistributionRequest_2_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Uint() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_QuerySetRarityDistributionRequest_2_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message QuerySetRarityDistributionRequest at list field Wanted as it is not of Message kind")) -} - -func (x *_QuerySetRarityDistributionRequest_2_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_QuerySetRarityDistributionRequest_2_list) NewElement() protoreflect.Value { - v := uint64(0) - return protoreflect.ValueOfUint64(v) -} - -func (x *_QuerySetRarityDistributionRequest_2_list) IsValid() bool { - return x.list != nil -} - var ( - md_QuerySetRarityDistributionRequest protoreflect.MessageDescriptor - fd_QuerySetRarityDistributionRequest_setId protoreflect.FieldDescriptor - fd_QuerySetRarityDistributionRequest_wanted protoreflect.FieldDescriptor + md_QuerySetRarityDistributionRequest protoreflect.MessageDescriptor + fd_QuerySetRarityDistributionRequest_setId protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_query_proto_init() md_QuerySetRarityDistributionRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySetRarityDistributionRequest") fd_QuerySetRarityDistributionRequest_setId = md_QuerySetRarityDistributionRequest.Fields().ByName("setId") - fd_QuerySetRarityDistributionRequest_wanted = md_QuerySetRarityDistributionRequest.Fields().ByName("wanted") } var _ protoreflect.Message = (*fastReflection_QuerySetRarityDistributionRequest)(nil) @@ -15286,12 +15237,6 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) Range(f func(protoref return } } - if len(x.Wanted) != 0 { - value := protoreflect.ValueOfList(&_QuerySetRarityDistributionRequest_2_list{list: &x.Wanted}) - if !f(fd_QuerySetRarityDistributionRequest_wanted, value) { - return - } - } } // Has reports whether a field is populated. @@ -15309,8 +15254,6 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) Has(fd protoreflect.F switch fd.FullName() { case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": return x.SetId != "" - case "cardchain.cardchain.QuerySetRarityDistributionRequest.wanted": - return len(x.Wanted) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) @@ -15329,8 +15272,6 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) Clear(fd protoreflect switch fd.FullName() { case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": x.SetId = "" - case "cardchain.cardchain.QuerySetRarityDistributionRequest.wanted": - x.Wanted = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) @@ -15350,12 +15291,6 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) Get(descriptor protor case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": value := x.SetId return protoreflect.ValueOfString(value) - case "cardchain.cardchain.QuerySetRarityDistributionRequest.wanted": - if len(x.Wanted) == 0 { - return protoreflect.ValueOfList(&_QuerySetRarityDistributionRequest_2_list{}) - } - listValue := &_QuerySetRarityDistributionRequest_2_list{list: &x.Wanted} - return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) @@ -15378,10 +15313,6 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) Set(fd protoreflect.F switch fd.FullName() { case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": x.SetId = value.Interface().(string) - case "cardchain.cardchain.QuerySetRarityDistributionRequest.wanted": - lv := value.List() - clv := lv.(*_QuerySetRarityDistributionRequest_2_list) - x.Wanted = *clv.list default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) @@ -15402,12 +15333,6 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) Set(fd protoreflect.F // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QuerySetRarityDistributionRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QuerySetRarityDistributionRequest.wanted": - if x.Wanted == nil { - x.Wanted = []uint64{} - } - value := &_QuerySetRarityDistributionRequest_2_list{list: &x.Wanted} - return protoreflect.ValueOfList(value) case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": panic(fmt.Errorf("field setId of message cardchain.cardchain.QuerySetRarityDistributionRequest is not mutable")) default: @@ -15425,9 +15350,6 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) NewField(fd protorefl switch fd.FullName() { case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": return protoreflect.ValueOfString("") - case "cardchain.cardchain.QuerySetRarityDistributionRequest.wanted": - list := []uint64{} - return protoreflect.ValueOfList(&_QuerySetRarityDistributionRequest_2_list{list: &list}) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) @@ -15501,13 +15423,6 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) ProtoMethods() *proto if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if len(x.Wanted) > 0 { - l = 0 - for _, e := range x.Wanted { - l += runtime.Sov(uint64(e)) - } - n += 1 + runtime.Sov(uint64(l)) + l - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -15537,26 +15452,6 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) ProtoMethods() *proto i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Wanted) > 0 { - var pksize2 int - for _, num := range x.Wanted { - pksize2 += runtime.Sov(uint64(num)) - } - i -= pksize2 - j1 := i - for _, num := range x.Wanted { - for num >= 1<<7 { - dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j1++ - } - dAtA[j1] = uint8(num) - j1++ - } - i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) - i-- - dAtA[i] = 0x12 - } if len(x.SetId) > 0 { i -= len(x.SetId) copy(dAtA[i:], x.SetId) @@ -15645,82 +15540,6 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) ProtoMethods() *proto } x.SetId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: - if wireType == 0 { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Wanted = append(x.Wanted, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - var elementCount int - var count int - for _, integer := range dAtA[iNdEx:postIndex] { - if integer < 128 { - count++ - } - } - elementCount = count - if elementCount != 0 && len(x.Wanted) == 0 { - x.Wanted = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - x.Wanted = append(x.Wanted, v) - } - } else { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Wanted", wireType) - } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -15740,77 +15559,125 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) ProtoMethods() *proto } } - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QuerySetRarityDistributionResponse_1_list)(nil) + +type _QuerySetRarityDistributionResponse_1_list struct { + list *[]uint64 +} + +func (x *_QuerySetRarityDistributionResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QuerySetRarityDistributionResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_QuerySetRarityDistributionResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QuerySetRarityDistributionResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QuerySetRarityDistributionResponse_1_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QuerySetRarityDistributionResponse at list field Current as it is not of Message kind")) +} + +func (x *_QuerySetRarityDistributionResponse_1_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QuerySetRarityDistributionResponse_1_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_QuerySetRarityDistributionResponse_1_list) IsValid() bool { + return x.list != nil } -var _ protoreflect.List = (*_QuerySetRarityDistributionResponse_1_list)(nil) +var _ protoreflect.List = (*_QuerySetRarityDistributionResponse_2_list)(nil) -type _QuerySetRarityDistributionResponse_1_list struct { +type _QuerySetRarityDistributionResponse_2_list struct { list *[]uint64 } -func (x *_QuerySetRarityDistributionResponse_1_list) Len() int { +func (x *_QuerySetRarityDistributionResponse_2_list) Len() int { if x.list == nil { return 0 } return len(*x.list) } -func (x *_QuerySetRarityDistributionResponse_1_list) Get(i int) protoreflect.Value { +func (x *_QuerySetRarityDistributionResponse_2_list) Get(i int) protoreflect.Value { return protoreflect.ValueOfUint64((*x.list)[i]) } -func (x *_QuerySetRarityDistributionResponse_1_list) Set(i int, value protoreflect.Value) { +func (x *_QuerySetRarityDistributionResponse_2_list) Set(i int, value protoreflect.Value) { valueUnwrapped := value.Uint() concreteValue := valueUnwrapped (*x.list)[i] = concreteValue } -func (x *_QuerySetRarityDistributionResponse_1_list) Append(value protoreflect.Value) { +func (x *_QuerySetRarityDistributionResponse_2_list) Append(value protoreflect.Value) { valueUnwrapped := value.Uint() concreteValue := valueUnwrapped *x.list = append(*x.list, concreteValue) } -func (x *_QuerySetRarityDistributionResponse_1_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message QuerySetRarityDistributionResponse at list field Current as it is not of Message kind")) +func (x *_QuerySetRarityDistributionResponse_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QuerySetRarityDistributionResponse at list field Wanted as it is not of Message kind")) } -func (x *_QuerySetRarityDistributionResponse_1_list) Truncate(n int) { +func (x *_QuerySetRarityDistributionResponse_2_list) Truncate(n int) { *x.list = (*x.list)[:n] } -func (x *_QuerySetRarityDistributionResponse_1_list) NewElement() protoreflect.Value { +func (x *_QuerySetRarityDistributionResponse_2_list) NewElement() protoreflect.Value { v := uint64(0) return protoreflect.ValueOfUint64(v) } -func (x *_QuerySetRarityDistributionResponse_1_list) IsValid() bool { +func (x *_QuerySetRarityDistributionResponse_2_list) IsValid() bool { return x.list != nil } var ( md_QuerySetRarityDistributionResponse protoreflect.MessageDescriptor fd_QuerySetRarityDistributionResponse_current protoreflect.FieldDescriptor + fd_QuerySetRarityDistributionResponse_wanted protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_query_proto_init() md_QuerySetRarityDistributionResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySetRarityDistributionResponse") fd_QuerySetRarityDistributionResponse_current = md_QuerySetRarityDistributionResponse.Fields().ByName("current") + fd_QuerySetRarityDistributionResponse_wanted = md_QuerySetRarityDistributionResponse.Fields().ByName("wanted") } var _ protoreflect.Message = (*fastReflection_QuerySetRarityDistributionResponse)(nil) @@ -15884,6 +15751,12 @@ func (x *fastReflection_QuerySetRarityDistributionResponse) Range(f func(protore return } } + if len(x.Wanted) != 0 { + value := protoreflect.ValueOfList(&_QuerySetRarityDistributionResponse_2_list{list: &x.Wanted}) + if !f(fd_QuerySetRarityDistributionResponse_wanted, value) { + return + } + } } // Has reports whether a field is populated. @@ -15901,6 +15774,8 @@ func (x *fastReflection_QuerySetRarityDistributionResponse) Has(fd protoreflect. switch fd.FullName() { case "cardchain.cardchain.QuerySetRarityDistributionResponse.current": return len(x.Current) != 0 + case "cardchain.cardchain.QuerySetRarityDistributionResponse.wanted": + return len(x.Wanted) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionResponse")) @@ -15919,6 +15794,8 @@ func (x *fastReflection_QuerySetRarityDistributionResponse) Clear(fd protoreflec switch fd.FullName() { case "cardchain.cardchain.QuerySetRarityDistributionResponse.current": x.Current = nil + case "cardchain.cardchain.QuerySetRarityDistributionResponse.wanted": + x.Wanted = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionResponse")) @@ -15941,6 +15818,12 @@ func (x *fastReflection_QuerySetRarityDistributionResponse) Get(descriptor proto } listValue := &_QuerySetRarityDistributionResponse_1_list{list: &x.Current} return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QuerySetRarityDistributionResponse.wanted": + if len(x.Wanted) == 0 { + return protoreflect.ValueOfList(&_QuerySetRarityDistributionResponse_2_list{}) + } + listValue := &_QuerySetRarityDistributionResponse_2_list{list: &x.Wanted} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionResponse")) @@ -15965,6 +15848,10 @@ func (x *fastReflection_QuerySetRarityDistributionResponse) Set(fd protoreflect. lv := value.List() clv := lv.(*_QuerySetRarityDistributionResponse_1_list) x.Current = *clv.list + case "cardchain.cardchain.QuerySetRarityDistributionResponse.wanted": + lv := value.List() + clv := lv.(*_QuerySetRarityDistributionResponse_2_list) + x.Wanted = *clv.list default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionResponse")) @@ -15991,6 +15878,12 @@ func (x *fastReflection_QuerySetRarityDistributionResponse) Mutable(fd protorefl } value := &_QuerySetRarityDistributionResponse_1_list{list: &x.Current} return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QuerySetRarityDistributionResponse.wanted": + if x.Wanted == nil { + x.Wanted = []uint64{} + } + value := &_QuerySetRarityDistributionResponse_2_list{list: &x.Wanted} + return protoreflect.ValueOfList(value) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionResponse")) @@ -16007,6 +15900,9 @@ func (x *fastReflection_QuerySetRarityDistributionResponse) NewField(fd protoref case "cardchain.cardchain.QuerySetRarityDistributionResponse.current": list := []uint64{} return protoreflect.ValueOfList(&_QuerySetRarityDistributionResponse_1_list{list: &list}) + case "cardchain.cardchain.QuerySetRarityDistributionResponse.wanted": + list := []uint64{} + return protoreflect.ValueOfList(&_QuerySetRarityDistributionResponse_2_list{list: &list}) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionResponse")) @@ -16083,6 +15979,13 @@ func (x *fastReflection_QuerySetRarityDistributionResponse) ProtoMethods() *prot } n += 1 + runtime.Sov(uint64(l)) + l } + if len(x.Wanted) > 0 { + l = 0 + for _, e := range x.Wanted { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -16112,14 +16015,14 @@ func (x *fastReflection_QuerySetRarityDistributionResponse) ProtoMethods() *prot i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Current) > 0 { + if len(x.Wanted) > 0 { var pksize2 int - for _, num := range x.Current { + for _, num := range x.Wanted { pksize2 += runtime.Sov(uint64(num)) } i -= pksize2 j1 := i - for _, num := range x.Current { + for _, num := range x.Wanted { for num >= 1<<7 { dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -16130,6 +16033,26 @@ func (x *fastReflection_QuerySetRarityDistributionResponse) ProtoMethods() *prot } i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) i-- + dAtA[i] = 0x12 + } + if len(x.Current) > 0 { + var pksize4 int + for _, num := range x.Current { + pksize4 += runtime.Sov(uint64(num)) + } + i -= pksize4 + j3 := i + for _, num := range x.Current { + for num >= 1<<7 { + dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j3++ + } + dAtA[j3] = uint8(num) + j3++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize4)) + i-- dAtA[i] = 0xa } if input.Buf != nil { @@ -16257,6 +16180,82 @@ func (x *fastReflection_QuerySetRarityDistributionResponse) ProtoMethods() *prot } else { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) } + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Wanted = append(x.Wanted, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.Wanted) == 0 { + x.Wanted = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Wanted = append(x.Wanted, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Wanted", wireType) + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -19053,13 +19052,6 @@ type QueryCardchainInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - ActiveSets []uint64 `protobuf:"varint,1,rep,packed,name=activeSets,proto3" json:"activeSets,omitempty"` - CardsNumber uint64 `protobuf:"varint,2,opt,name=cardsNumber,proto3" json:"cardsNumber,omitempty"` - MatchesNumber uint64 `protobuf:"varint,3,opt,name=matchesNumber,proto3" json:"matchesNumber,omitempty"` - SellOffersNumber uint64 `protobuf:"varint,4,opt,name=sellOffersNumber,proto3" json:"sellOffersNumber,omitempty"` - CouncilsNumber uint64 `protobuf:"varint,5,opt,name=councilsNumber,proto3" json:"councilsNumber,omitempty"` - LastCardModified uint64 `protobuf:"varint,6,opt,name=lastCardModified,proto3" json:"lastCardModified,omitempty"` } func (x *QueryCardchainInfoRequest) Reset() { @@ -19082,90 +19074,95 @@ func (*QueryCardchainInfoRequest) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{30} } -func (x *QueryCardchainInfoRequest) GetActiveSets() []uint64 { +type QueryCardchainInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardAuctionPrice *v1beta11.Coin `protobuf:"bytes,1,opt,name=cardAuctionPrice,proto3" json:"cardAuctionPrice,omitempty"` + 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 (x *QueryCardchainInfoResponse) Reset() { + *x = QueryCardchainInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardchainInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardchainInfoResponse) ProtoMessage() {} + +// Deprecated: Use QueryCardchainInfoResponse.ProtoReflect.Descriptor instead. +func (*QueryCardchainInfoResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{31} +} + +func (x *QueryCardchainInfoResponse) GetCardAuctionPrice() *v1beta11.Coin { + if x != nil { + return x.CardAuctionPrice + } + return nil +} + +func (x *QueryCardchainInfoResponse) GetActiveSets() []uint64 { if x != nil { return x.ActiveSets } return nil } -func (x *QueryCardchainInfoRequest) GetCardsNumber() uint64 { +func (x *QueryCardchainInfoResponse) GetCardsNumber() uint64 { if x != nil { return x.CardsNumber } return 0 } -func (x *QueryCardchainInfoRequest) GetMatchesNumber() uint64 { +func (x *QueryCardchainInfoResponse) GetMatchesNumber() uint64 { if x != nil { return x.MatchesNumber } return 0 } -func (x *QueryCardchainInfoRequest) GetSellOffersNumber() uint64 { +func (x *QueryCardchainInfoResponse) GetSellOffersNumber() uint64 { if x != nil { return x.SellOffersNumber } return 0 } -func (x *QueryCardchainInfoRequest) GetCouncilsNumber() uint64 { +func (x *QueryCardchainInfoResponse) GetCouncilsNumber() uint64 { if x != nil { return x.CouncilsNumber } return 0 } -func (x *QueryCardchainInfoRequest) GetLastCardModified() uint64 { +func (x *QueryCardchainInfoResponse) GetLastCardModified() uint64 { if x != nil { return x.LastCardModified } return 0 } -type QueryCardchainInfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CardAuctionPrice *v1beta11.Coin `protobuf:"bytes,1,opt,name=cardAuctionPrice,proto3" json:"cardAuctionPrice,omitempty"` -} - -func (x *QueryCardchainInfoResponse) Reset() { - *x = QueryCardchainInfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryCardchainInfoResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryCardchainInfoResponse) ProtoMessage() {} - -// Deprecated: Use QueryCardchainInfoResponse.ProtoReflect.Descriptor instead. -func (*QueryCardchainInfoResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{31} -} - -func (x *QueryCardchainInfoResponse) GetCardAuctionPrice() *v1beta11.Coin { - if x != nil { - return x.CardAuctionPrice - } - return nil -} - type QuerySetRarityDistributionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SetId string `protobuf:"bytes,1,opt,name=setId,proto3" json:"setId,omitempty"` - Wanted []uint64 `protobuf:"varint,2,rep,packed,name=wanted,proto3" json:"wanted,omitempty"` + SetId string `protobuf:"bytes,1,opt,name=setId,proto3" json:"setId,omitempty"` } func (x *QuerySetRarityDistributionRequest) Reset() { @@ -19195,19 +19192,13 @@ func (x *QuerySetRarityDistributionRequest) GetSetId() string { return "" } -func (x *QuerySetRarityDistributionRequest) GetWanted() []uint64 { - if x != nil { - return x.Wanted - } - return nil -} - type QuerySetRarityDistributionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields 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"` } func (x *QuerySetRarityDistributionResponse) Reset() { @@ -19237,6 +19228,13 @@ func (x *QuerySetRarityDistributionResponse) GetCurrent() []uint64 { return nil } +func (x *QuerySetRarityDistributionResponse) GetWanted() []uint64 { + if x != nil { + return x.Wanted + } + return nil +} + type QueryAccountFromZealyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -19576,39 +19574,39 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x83, 0x02, 0x0a, 0x19, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, - 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, - 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, - 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, - 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, - 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x22, 0x69, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, - 0x0a, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, - 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x51, 0x0a, 0x21, 0x51, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, 0x02, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, + 0x00, 0x52, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, + 0x65, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x73, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, + 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x39, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x3e, - 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, - 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x38, + 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x38, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, @@ -19625,7 +19623,7 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x32, 0xdf, 0x1a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, + 0x32, 0xf1, 0x19, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, @@ -19783,7 +19781,7 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x94, 0x02, 0x0a, + 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, @@ -19791,68 +19789,62 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xa1, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9a, 0x01, 0x12, 0x97, 0x01, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x2f, 0x7b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x7d, 0x2f, 0x7b, - 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x73, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, - 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, - 0x2f, 0x7b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x7d, 0x12, 0xe1, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, - 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, - 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x12, 0x4f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, - 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x2f, 0x7b, - 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x7d, 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, - 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, - 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, - 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, - 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, - 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xd8, + 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, + 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x61, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, 0x31, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x72, + 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, + 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, + 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 2df65e70..8a278254 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/running_average.pulsar.go b/api/cardchain/cardchain/running_average.pulsar.go index 48c3ca74..9cff2c1b 100644 --- a/api/cardchain/cardchain/running_average.pulsar.go +++ b/api/cardchain/cardchain/running_average.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_RunningAverage_1_list)(nil) diff --git a/api/cardchain/cardchain/sell_offer.pulsar.go b/api/cardchain/cardchain/sell_offer.pulsar.go index 5f5fb235..55fde4b3 100644 --- a/api/cardchain/cardchain/sell_offer.pulsar.go +++ b/api/cardchain/cardchain/sell_offer.pulsar.go @@ -2,17 +2,16 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/server.pulsar.go b/api/cardchain/cardchain/server.pulsar.go index 25cbab32..e8d66d38 100644 --- a/api/cardchain/cardchain/server.pulsar.go +++ b/api/cardchain/cardchain/server.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go index 984c3c6d..bd4a42db 100644 --- a/api/cardchain/cardchain/set.pulsar.go +++ b/api/cardchain/cardchain/set.pulsar.go @@ -2,16 +2,15 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_Set_2_list)(nil) diff --git a/api/cardchain/cardchain/set_with_artwork.pulsar.go b/api/cardchain/cardchain/set_with_artwork.pulsar.go index 15c9094d..2de6c3ae 100644 --- a/api/cardchain/cardchain/set_with_artwork.pulsar.go +++ b/api/cardchain/cardchain/set_with_artwork.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index 3617fc13..ac894ab3 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -2,21 +2,20 @@ package cardchain import ( - fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 51db3503..3dd8f52f 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -8,7 +8,6 @@ package cardchain import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/cardchain/user.pulsar.go b/api/cardchain/cardchain/user.pulsar.go index a6f11922..c0c7e0ad 100644 --- a/api/cardchain/cardchain/user.pulsar.go +++ b/api/cardchain/cardchain/user.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_User_2_list)(nil) diff --git a/api/cardchain/cardchain/voting.pulsar.go b/api/cardchain/cardchain/voting.pulsar.go index e18713ef..5b1dc8f6 100644 --- a/api/cardchain/cardchain/voting.pulsar.go +++ b/api/cardchain/cardchain/voting.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/cardchain/voting_results.pulsar.go b/api/cardchain/cardchain/voting_results.pulsar.go index 46a4658f..6ba75066 100644 --- a/api/cardchain/cardchain/voting_results.pulsar.go +++ b/api/cardchain/cardchain/voting_results.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var _ protoreflect.List = (*_VotingResults_6_list)(nil) diff --git a/api/cardchain/cardchain/zealy.pulsar.go b/api/cardchain/cardchain/zealy.pulsar.go index 7879a400..8dedd508 100644 --- a/api/cardchain/cardchain/zealy.pulsar.go +++ b/api/cardchain/cardchain/zealy.pulsar.go @@ -3,14 +3,13 @@ package cardchain import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/flag.pulsar.go b/api/cardchain/featureflag/flag.pulsar.go index 932ce355..10b5e452 100644 --- a/api/cardchain/featureflag/flag.pulsar.go +++ b/api/cardchain/featureflag/flag.pulsar.go @@ -3,14 +3,13 @@ package featureflag import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/genesis.pulsar.go b/api/cardchain/featureflag/genesis.pulsar.go index ddfe3040..2c435bb2 100644 --- a/api/cardchain/featureflag/genesis.pulsar.go +++ b/api/cardchain/featureflag/genesis.pulsar.go @@ -2,18 +2,17 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sort "sort" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sort "sort" + sync "sync" ) var _ protoreflect.Map = (*_GenesisState_2_map)(nil) diff --git a/api/cardchain/featureflag/module/module.pulsar.go b/api/cardchain/featureflag/module/module.pulsar.go index 5650e208..947efc3f 100644 --- a/api/cardchain/featureflag/module/module.pulsar.go +++ b/api/cardchain/featureflag/module/module.pulsar.go @@ -2,16 +2,15 @@ package module import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/cosmos/app/v1alpha1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/params.pulsar.go b/api/cardchain/featureflag/params.pulsar.go index 6b347b45..fb51fec2 100644 --- a/api/cardchain/featureflag/params.pulsar.go +++ b/api/cardchain/featureflag/params.pulsar.go @@ -2,17 +2,16 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query.pulsar.go b/api/cardchain/featureflag/query.pulsar.go index 1e62212d..3419d3a4 100644 --- a/api/cardchain/featureflag/query.pulsar.go +++ b/api/cardchain/featureflag/query.pulsar.go @@ -2,19 +2,18 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/base/query/v1beta1" + fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/query_grpc.pb.go b/api/cardchain/featureflag/query_grpc.pb.go index 0e8130e8..f7957337 100644 --- a/api/cardchain/featureflag/query_grpc.pb.go +++ b/api/cardchain/featureflag/query_grpc.pb.go @@ -8,7 +8,6 @@ package featureflag import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/api/cardchain/featureflag/tx.pulsar.go b/api/cardchain/featureflag/tx.pulsar.go index dd3db629..0cef5f49 100644 --- a/api/cardchain/featureflag/tx.pulsar.go +++ b/api/cardchain/featureflag/tx.pulsar.go @@ -2,19 +2,18 @@ package featureflag import ( - fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - _ "cosmossdk.io/api/amino" _ "cosmossdk.io/api/cosmos/msg/v1" + fmt "fmt" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" ) var ( diff --git a/api/cardchain/featureflag/tx_grpc.pb.go b/api/cardchain/featureflag/tx_grpc.pb.go index 9d8cbe66..95442cac 100644 --- a/api/cardchain/featureflag/tx_grpc.pb.go +++ b/api/cardchain/featureflag/tx_grpc.pb.go @@ -8,7 +8,6 @@ package featureflag import ( context "context" - grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 0d026fd6..21c41073 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info/{activeSets}/{cardsNumber}/{matchesNumber}/{sellOffersNumber}/{councilsNumber}/{lastCardModified}":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","parameters":[{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"activeSets","in":"path","required":true},{"type":"string","format":"uint64","name":"cardsNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"matchesNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"sellOffersNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"councilsNumber","in":"path","required":true},{"type":"string","format":"uint64","name":"lastCardModified","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}/{wanted}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"wanted","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 5fd1184d..1581c01f 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -25,117 +25,125 @@ option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/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/cardchain/params"; - + rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/params"; } - + // Queries a list of ProductDetails items. - rpc ProductDetails (QueryGetProductDetailsRequest) returns (QueryGetProductDetailsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; - + rpc ProductDetails(QueryGetProductDetailsRequest) + returns (QueryGetProductDetailsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; } - rpc ProductDetailsAll (QueryAllProductDetailsRequest) returns (QueryAllProductDetailsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/product_details"; - + rpc ProductDetailsAll(QueryAllProductDetailsRequest) + returns (QueryAllProductDetailsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/product_details"; } - + // Queries a list of Card items. - rpc Card (QueryCardRequest) returns (QueryCardResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; - + rpc Card(QueryCardRequest) returns (QueryCardResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/card/{cardId}"; } - + // Queries a list of User items. - rpc User (QueryUserRequest) returns (QueryUserResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/user/{address}"; - + rpc User(QueryUserRequest) returns (QueryUserResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/user/{address}"; } - + // Queries a list of Cards items. - rpc Cards (QueryCardsRequest) returns (QueryCardsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; - + rpc Cards(QueryCardsRequest) returns (QueryCardsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; } - + // Queries a list of Match items. - rpc Match (QueryMatchRequest) returns (QueryMatchResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/match/{matchId}"; - + rpc Match(QueryMatchRequest) returns (QueryMatchResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/match/{matchId}"; } - + // Queries a list of Set items. - rpc Set (QuerySetRequest) returns (QuerySetResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/set/{setId}"; - + rpc Set(QuerySetRequest) returns (QuerySetResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/set/{setId}"; } - + // Queries a list of SellOffer items. - rpc SellOffer (QuerySellOfferRequest) returns (QuerySellOfferResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}"; - + rpc SellOffer(QuerySellOfferRequest) returns (QuerySellOfferResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}"; } - + // Queries a list of Council items. - rpc Council (QueryCouncilRequest) returns (QueryCouncilResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/council/{councilId}"; - + rpc Council(QueryCouncilRequest) returns (QueryCouncilResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/council/{councilId}"; } - + // Queries a list of Server items. - rpc Server (QueryServerRequest) returns (QueryServerResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/server/{serverId}"; - + rpc Server(QueryServerRequest) returns (QueryServerResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/server/{serverId}"; } - + // Queries a list of Encounter items. - rpc Encounter (QueryEncounterRequest) returns (QueryEncounterResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}"; - + rpc Encounter(QueryEncounterRequest) returns (QueryEncounterResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}"; } - + // Queries a list of Encounters items. - rpc Encounters (QueryEncountersRequest) returns (QueryEncountersResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/encounters"; - + rpc Encounters(QueryEncountersRequest) returns (QueryEncountersResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/encounters"; } - + // Queries a list of EncounterWithImage items. - rpc EncounterWithImage (QueryEncounterWithImageRequest) returns (QueryEncounterWithImageResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/encounter_with_image"; - + rpc EncounterWithImage(QueryEncounterWithImageRequest) + returns (QueryEncounterWithImageResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/encounter_with_image"; } - + // Queries a list of EncountersWithImage items. - rpc EncountersWithImage (QueryEncountersWithImageRequest) returns (QueryEncountersWithImageResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/encounters_with_image"; - + rpc EncountersWithImage(QueryEncountersWithImageRequest) + returns (QueryEncountersWithImageResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/encounters_with_image"; } - + // Queries a list of CardchainInfo items. - rpc CardchainInfo (QueryCardchainInfoRequest) returns (QueryCardchainInfoResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/cardchain_info/{activeSets}/{cardsNumber}/{matchesNumber}/{sellOffersNumber}/{councilsNumber}/{lastCardModified}"; - + rpc CardchainInfo(QueryCardchainInfoRequest) + returns (QueryCardchainInfoResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/cardchain_info"; } - + // Queries a list of SetRarityDistribution items. - rpc SetRarityDistribution (QuerySetRarityDistributionRequest) returns (QuerySetRarityDistributionResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}/{wanted}"; - + rpc SetRarityDistribution(QuerySetRarityDistributionRequest) + returns (QuerySetRarityDistributionResponse) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/" + "set_rarity_distribution/{setId}"; } - + // Queries a list of AccountFromZealy items. - rpc AccountFromZealy (QueryAccountFromZealyRequest) returns (QueryAccountFromZealyResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}"; - + rpc AccountFromZealy(QueryAccountFromZealyRequest) + returns (QueryAccountFromZealyResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}"; } - + // Queries a list of VotingResults items. - rpc VotingResults (QueryVotingResultsRequest) returns (QueryVotingResultsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/voting_results"; - + rpc VotingResults(QueryVotingResultsRequest) + returns (QueryVotingResultsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/voting_results"; } } // QueryParamsRequest is request type for the Query/Params RPC method. @@ -143,17 +151,16 @@ 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, (amino.dont_omitempty) = true]; + Params params = 1 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; } -message QueryGetProductDetailsRequest { - uint64 id = 1; -} +message QueryGetProductDetailsRequest { uint64 id = 1; } message QueryGetProductDetailsResponse { - ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; + ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; } message QueryAllProductDetailsRequest { @@ -161,104 +168,66 @@ message QueryAllProductDetailsRequest { } message QueryAllProductDetailsResponse { - repeated ProductDetails ProductDetails = 1 [(gogoproto.nullable) = false]; - cosmos.base.query.v1beta1.PageResponse pagination = 2; + repeated ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; + cosmos.base.query.v1beta1.PageResponse pagination = 2; } -message QueryCardRequest { - uint64 cardId = 1; -} +message QueryCardRequest { uint64 cardId = 1; } -message QueryCardResponse { - CardWithImage card = 1; -} +message QueryCardResponse { CardWithImage card = 1; } -message QueryUserRequest { - string address = 1; -} +message QueryUserRequest { string address = 1; } -message QueryUserResponse { - User user = 1; -} +message QueryUserResponse { User user = 1; } message QueryCardsRequest { - string owner = 1; - repeated CardStatus status = 2; - repeated CardType cardType = 3; - repeated CardClass class = 4; - string sortBy = 5; - string nameContains = 6; - string keywordsContains = 7; - string notesContains = 8; - bool onlyStarterCard = 9; - bool onlyBalanceAnchors = 10; - repeated CardRarity rarities = 11; - bool multiClassOnly = 12; + string owner = 1; + repeated CardStatus status = 2; + repeated CardType cardType = 3; + repeated CardClass class = 4; + string sortBy = 5; + string nameContains = 6; + string keywordsContains = 7; + string notesContains = 8; + bool onlyStarterCard = 9; + bool onlyBalanceAnchors = 10; + repeated CardRarity rarities = 11; + bool multiClassOnly = 12; } -message QueryCardsResponse { - repeated uint64 cardIds = 1; -} +message QueryCardsResponse { repeated uint64 cardIds = 1; } -message QueryMatchRequest { - uint64 matchId = 1; -} +message QueryMatchRequest { uint64 matchId = 1; } -message QueryMatchResponse { - Match match = 1; -} +message QueryMatchResponse { Match match = 1; } -message QuerySetRequest { - uint64 setId = 1; -} +message QuerySetRequest { uint64 setId = 1; } -message QuerySetResponse { - SetWithArtwork match = 1; -} +message QuerySetResponse { SetWithArtwork match = 1; } -message QuerySellOfferRequest { - uint64 sellOfferId = 1; -} +message QuerySellOfferRequest { uint64 sellOfferId = 1; } -message QuerySellOfferResponse { - SellOffer sellOffer = 1; -} +message QuerySellOfferResponse { SellOffer sellOffer = 1; } -message QueryCouncilRequest { - uint64 councilId = 1; -} +message QueryCouncilRequest { uint64 councilId = 1; } -message QueryCouncilResponse { - Council council = 1; -} +message QueryCouncilResponse { Council council = 1; } -message QueryServerRequest { - uint64 serverId = 1; -} +message QueryServerRequest { uint64 serverId = 1; } -message QueryServerResponse { - Server server = 1; -} +message QueryServerResponse { Server server = 1; } -message QueryEncounterRequest { - uint64 encounterId = 1; -} +message QueryEncounterRequest { uint64 encounterId = 1; } -message QueryEncounterResponse { - Encounter encounter = 1; -} +message QueryEncounterResponse { Encounter encounter = 1; } message QueryEncountersRequest {} -message QueryEncountersResponse { - repeated Encounter encounters = 1; -} +message QueryEncountersResponse { repeated Encounter encounters = 1; } message QueryEncounterWithImageRequest {} -message QueryEncounterWithImageResponse { - EncounterWithImage encounter = 1; -} +message QueryEncounterWithImageResponse { EncounterWithImage encounter = 1; } message QueryEncountersWithImageRequest {} @@ -266,39 +235,30 @@ message QueryEncountersWithImageResponse { repeated EncounterWithImage encounters = 1; } -message QueryCardchainInfoRequest { - repeated uint64 activeSets = 1; - uint64 cardsNumber = 2; - uint64 matchesNumber = 3; - uint64 sellOffersNumber = 4; - uint64 councilsNumber = 5; - uint64 lastCardModified = 6; -} +message QueryCardchainInfoRequest {} message QueryCardchainInfoResponse { - cosmos.base.v1beta1.Coin cardAuctionPrice = 1 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin cardAuctionPrice = 1 + [ (gogoproto.nullable) = false ]; + repeated uint64 activeSets = 2; + uint64 cardsNumber = 3; + uint64 matchesNumber = 4; + uint64 sellOffersNumber = 5; + uint64 councilsNumber = 6; + uint64 lastCardModified = 7; } -message QuerySetRarityDistributionRequest { - string setId = 1; - repeated uint64 wanted = 2; -} +message QuerySetRarityDistributionRequest { string setId = 1; } message QuerySetRarityDistributionResponse { repeated uint64 current = 1; + repeated uint64 wanted = 2; } -message QueryAccountFromZealyRequest { - string zealyId = 1; -} +message QueryAccountFromZealyRequest { string zealyId = 1; } -message QueryAccountFromZealyResponse { - string address = 1; -} +message QueryAccountFromZealyResponse { string address = 1; } message QueryVotingResultsRequest {} -message QueryVotingResultsResponse { - VotingResults lastVotingResults = 1; -} - +message QueryVotingResultsResponse { VotingResults lastVotingResults = 1; } diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 6e7444aa..8a255007 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -114,16 +114,16 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { { RpcMethod: "CardchainInfo", - Use: "cardchain-info [active-sets] [cards-number] [matches-number] [sell-offers-number] [councils-number] [last-card-modified]", + Use: "cardchain-info", Short: "Query cardchainInfo", - PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "activeSets"}, {ProtoField: "cardsNumber"}, {ProtoField: "matchesNumber"}, {ProtoField: "sellOffersNumber"}, {ProtoField: "councilsNumber"}, {ProtoField: "lastCardModified"}}, + PositionalArgs: []*autocliv1.PositionalArgDescriptor{}, }, { RpcMethod: "SetRarityDistribution", - Use: "set-rarity-distribution [set-id] [wanted]", + Use: "set-rarity-distribution [set-id]", Short: "Query setRarityDistribution", - PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}, {ProtoField: "wanted"}}, + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}}, }, { diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go index bf541854..e0cd33af 100644 --- a/x/cardchain/types/card.pb.go +++ b/x/cardchain/types/card.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/card_with_image.pb.go b/x/cardchain/types/card_with_image.pb.go index cccc278d..39e731f0 100644 --- a/x/cardchain/types/card_with_image.pb.go +++ b/x/cardchain/types/card_with_image.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/council.pb.go b/x/cardchain/types/council.pb.go index 1bbdfc01..a6f6f6d7 100644 --- a/x/cardchain/types/council.pb.go +++ b/x/cardchain/types/council.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/encounter.pb.go b/x/cardchain/types/encounter.pb.go index bd79c803..1eff5df8 100644 --- a/x/cardchain/types/encounter.pb.go +++ b/x/cardchain/types/encounter.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/encounter_with_image.pb.go b/x/cardchain/types/encounter_with_image.pb.go index aa0aafa7..8e33d62b 100644 --- a/x/cardchain/types/encounter_with_image.pb.go +++ b/x/cardchain/types/encounter_with_image.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 636f7c25..4306f207 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/image.pb.go b/x/cardchain/types/image.pb.go index a2a036be..a4fe2647 100644 --- a/x/cardchain/types/image.pb.go +++ b/x/cardchain/types/image.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 660c57d2..7ac97cf8 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index 2874c6ce..d9081e8f 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -5,14 +5,13 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/product_details.pb.go b/x/cardchain/types/product_details.pb.go index 6f38ca9c..11fdabcb 100644 --- a/x/cardchain/types/product_details.pb.go +++ b/x/cardchain/types/product_details.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 5686d3a6..a138686b 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -20,6 +16,9 @@ import ( 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. @@ -1421,12 +1420,6 @@ func (m *QueryEncountersWithImageResponse) GetEncounters() []*EncounterWithImage } type QueryCardchainInfoRequest struct { - ActiveSets []uint64 `protobuf:"varint,1,rep,packed,name=activeSets,proto3" json:"activeSets,omitempty"` - CardsNumber uint64 `protobuf:"varint,2,opt,name=cardsNumber,proto3" json:"cardsNumber,omitempty"` - MatchesNumber uint64 `protobuf:"varint,3,opt,name=matchesNumber,proto3" json:"matchesNumber,omitempty"` - SellOffersNumber uint64 `protobuf:"varint,4,opt,name=sellOffersNumber,proto3" json:"sellOffersNumber,omitempty"` - CouncilsNumber uint64 `protobuf:"varint,5,opt,name=councilsNumber,proto3" json:"councilsNumber,omitempty"` - LastCardModified uint64 `protobuf:"varint,6,opt,name=lastCardModified,proto3" json:"lastCardModified,omitempty"` } func (m *QueryCardchainInfoRequest) Reset() { *m = QueryCardchainInfoRequest{} } @@ -1462,50 +1455,14 @@ func (m *QueryCardchainInfoRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryCardchainInfoRequest proto.InternalMessageInfo -func (m *QueryCardchainInfoRequest) GetActiveSets() []uint64 { - if m != nil { - return m.ActiveSets - } - return nil -} - -func (m *QueryCardchainInfoRequest) GetCardsNumber() uint64 { - if m != nil { - return m.CardsNumber - } - return 0 -} - -func (m *QueryCardchainInfoRequest) GetMatchesNumber() uint64 { - if m != nil { - return m.MatchesNumber - } - return 0 -} - -func (m *QueryCardchainInfoRequest) GetSellOffersNumber() uint64 { - if m != nil { - return m.SellOffersNumber - } - return 0 -} - -func (m *QueryCardchainInfoRequest) GetCouncilsNumber() uint64 { - if m != nil { - return m.CouncilsNumber - } - return 0 -} - -func (m *QueryCardchainInfoRequest) GetLastCardModified() uint64 { - if m != nil { - return m.LastCardModified - } - return 0 -} - type QueryCardchainInfoResponse struct { CardAuctionPrice types.Coin `protobuf:"bytes,1,opt,name=cardAuctionPrice,proto3" 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 *QueryCardchainInfoResponse) Reset() { *m = QueryCardchainInfoResponse{} } @@ -1548,9 +1505,50 @@ func (m *QueryCardchainInfoResponse) GetCardAuctionPrice() types.Coin { return types.Coin{} } +func (m *QueryCardchainInfoResponse) GetActiveSets() []uint64 { + if m != nil { + return m.ActiveSets + } + return nil +} + +func (m *QueryCardchainInfoResponse) GetCardsNumber() uint64 { + if m != nil { + return m.CardsNumber + } + return 0 +} + +func (m *QueryCardchainInfoResponse) GetMatchesNumber() uint64 { + if m != nil { + return m.MatchesNumber + } + return 0 +} + +func (m *QueryCardchainInfoResponse) GetSellOffersNumber() uint64 { + if m != nil { + return m.SellOffersNumber + } + return 0 +} + +func (m *QueryCardchainInfoResponse) GetCouncilsNumber() uint64 { + if m != nil { + return m.CouncilsNumber + } + return 0 +} + +func (m *QueryCardchainInfoResponse) GetLastCardModified() uint64 { + if m != nil { + return m.LastCardModified + } + return 0 +} + type QuerySetRarityDistributionRequest struct { - SetId string `protobuf:"bytes,1,opt,name=setId,proto3" json:"setId,omitempty"` - Wanted []uint64 `protobuf:"varint,2,rep,packed,name=wanted,proto3" json:"wanted,omitempty"` + SetId string `protobuf:"bytes,1,opt,name=setId,proto3" json:"setId,omitempty"` } func (m *QuerySetRarityDistributionRequest) Reset() { *m = QuerySetRarityDistributionRequest{} } @@ -1593,15 +1591,9 @@ func (m *QuerySetRarityDistributionRequest) GetSetId() string { return "" } -func (m *QuerySetRarityDistributionRequest) GetWanted() []uint64 { - if m != nil { - return m.Wanted - } - return nil -} - type QuerySetRarityDistributionResponse 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"` } func (m *QuerySetRarityDistributionResponse) Reset() { *m = QuerySetRarityDistributionResponse{} } @@ -1644,6 +1636,13 @@ func (m *QuerySetRarityDistributionResponse) GetCurrent() []uint64 { return nil } +func (m *QuerySetRarityDistributionResponse) GetWanted() []uint64 { + if m != nil { + return m.Wanted + } + return nil +} + type QueryAccountFromZealyRequest struct { ZealyId string `protobuf:"bytes,1,opt,name=zealyId,proto3" json:"zealyId,omitempty"` } @@ -1856,137 +1855,134 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2072 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0xf7, 0xca, 0xd4, 0x07, 0x9f, 0x63, 0xc7, 0x1e, 0x3b, 0x29, 0xc3, 0x38, 0xb4, 0x3c, 0x71, - 0x6c, 0x45, 0x8d, 0xb9, 0xb1, 0xe4, 0x2f, 0x39, 0x8e, 0x1a, 0x49, 0xb6, 0x05, 0xd7, 0x70, 0x2c, - 0xaf, 0x9a, 0x04, 0xcd, 0x85, 0x58, 0x91, 0x23, 0x6a, 0xe1, 0xe5, 0xae, 0xb2, 0x3b, 0xb4, 0xca, - 0x12, 0xbc, 0xb4, 0xf7, 0xa2, 0x68, 0x82, 0xb6, 0x28, 0x50, 0xa0, 0xed, 0xa9, 0x87, 0x16, 0xed, - 0x1f, 0x10, 0xf4, 0x54, 0x14, 0x3e, 0x06, 0xe8, 0xa5, 0xa7, 0x7e, 0xd8, 0x05, 0xfa, 0x6f, 0x14, - 0x33, 0xf3, 0x76, 0x76, 0x97, 0x5c, 0xae, 0x96, 0xc9, 0x45, 0xd8, 0x99, 0xf9, 0xbd, 0xf7, 0x7e, - 0x33, 0xef, 0xcd, 0xbc, 0xf7, 0x28, 0x38, 0xd7, 0xb4, 0x83, 0x56, 0x73, 0xcf, 0x76, 0x3c, 0x33, - 0xfe, 0xfa, 0xac, 0xcb, 0x82, 0x5e, 0x7d, 0x3f, 0xf0, 0xb9, 0x4f, 0x4e, 0xeb, 0xe9, 0xba, 0xfe, - 0xaa, 0x9e, 0xb2, 0x3b, 0x8e, 0xe7, 0x9b, 0xf2, 0xaf, 0xc2, 0x55, 0xcf, 0xb4, 0xfd, 0xb6, 0x2f, - 0x3f, 0x4d, 0xf1, 0x85, 0xb3, 0x67, 0xdb, 0xbe, 0xdf, 0x76, 0x99, 0x69, 0xef, 0x3b, 0xa6, 0xed, - 0x79, 0x3e, 0xb7, 0xb9, 0xe3, 0x7b, 0x21, 0xae, 0x2e, 0x36, 0xfd, 0xb0, 0xe3, 0x87, 0xe6, 0x8e, - 0x1d, 0x32, 0x65, 0xd4, 0x7c, 0x7a, 0x65, 0x87, 0x71, 0xfb, 0x8a, 0xb9, 0x6f, 0xb7, 0x1d, 0x4f, - 0x82, 0x11, 0x3b, 0x9f, 0x45, 0x74, 0xdf, 0x0e, 0xec, 0x4e, 0xa4, 0xed, 0xed, 0x4c, 0x44, 0xe0, - 0xb7, 0xba, 0x4d, 0xde, 0x68, 0x31, 0x6e, 0x3b, 0x6e, 0x2e, 0x54, 0x7c, 0x35, 0x0e, 0x1c, 0xbe, - 0xd7, 0x70, 0x3a, 0x76, 0x9b, 0x21, 0xb4, 0x96, 0x05, 0xed, 0x86, 0x2c, 0xc8, 0x5b, 0x17, 0x5f, - 0xb8, 0x9e, 0x79, 0xc0, 0x1d, 0x9b, 0x37, 0xf7, 0xf4, 0x21, 0x64, 0x00, 0x42, 0xc6, 0x15, 0x15, - 0x3b, 0xe0, 0x07, 0x7e, 0xf0, 0x04, 0xb1, 0x17, 0xb2, 0xb1, 0xae, 0xdb, 0xf0, 0x77, 0x77, 0x35, - 0xa5, 0xf3, 0x99, 0x94, 0xfc, 0xae, 0xd7, 0x74, 0xdc, 0xbc, 0xd3, 0x0c, 0x59, 0xf0, 0x54, 0x2b, - 0x79, 0x33, 0x0b, 0xc1, 0x3c, 0xa1, 0x86, 0x6b, 0x50, 0x3d, 0x17, 0x94, 0x75, 0x98, 0x09, 0x87, - 0x47, 0xae, 0x6e, 0xfa, 0x4e, 0xe4, 0xe4, 0x85, 0x2c, 0x7d, 0x4f, 0x7d, 0xee, 0x78, 0xed, 0x46, - 0xc0, 0xc2, 0xae, 0xcb, 0xd1, 0x83, 0xf4, 0x0c, 0x90, 0xc7, 0x22, 0x60, 0xb6, 0x64, 0x04, 0x58, - 0xec, 0xb3, 0x2e, 0x0b, 0x39, 0xfd, 0x08, 0x4e, 0xa7, 0x66, 0xc3, 0x7d, 0xdf, 0x0b, 0x19, 0x59, - 0x85, 0x19, 0x15, 0x29, 0x15, 0x63, 0xde, 0x58, 0x38, 0xb6, 0xf4, 0x7a, 0x3d, 0x23, 0xa8, 0xeb, - 0x4a, 0x68, 0xbd, 0xfc, 0xec, 0x9f, 0xe7, 0x8e, 0xfc, 0xfe, 0x7f, 0x7f, 0x5e, 0x34, 0x2c, 0x94, - 0xa2, 0x26, 0xbc, 0x21, 0xd5, 0x6e, 0x32, 0xbe, 0xa5, 0xe2, 0xe9, 0x8e, 0x0a, 0x27, 0xb4, 0x4b, - 0x4e, 0xc0, 0x94, 0xd3, 0x92, 0xca, 0x4b, 0xd6, 0x94, 0xd3, 0xa2, 0x21, 0xd4, 0xc6, 0x09, 0x20, - 0xa5, 0xc7, 0x70, 0x22, 0xbd, 0x82, 0xd4, 0xde, 0xcc, 0xa6, 0x96, 0x82, 0xae, 0x97, 0x04, 0x45, - 0x6b, 0x48, 0x01, 0x6d, 0x23, 0xcb, 0x35, 0xd7, 0xcd, 0x66, 0x79, 0x0f, 0x20, 0xbe, 0x56, 0x68, - 0xef, 0x62, 0x5d, 0xb9, 0xa4, 0x2e, 0x5c, 0x52, 0x57, 0x17, 0x1f, 0x1d, 0x53, 0xdf, 0xb2, 0xdb, - 0x0c, 0x65, 0xad, 0x84, 0x24, 0xfd, 0xd2, 0xc0, 0xed, 0x65, 0x58, 0xca, 0xd9, 0xde, 0xd1, 0x6f, - 0xb4, 0x3d, 0xb2, 0x99, 0x62, 0x3f, 0x25, 0xd9, 0x5f, 0x3a, 0x94, 0xbd, 0xe2, 0x93, 0xa2, 0xbf, - 0x08, 0x27, 0x25, 0xfb, 0x0d, 0x3b, 0x68, 0x45, 0x47, 0xf3, 0x2a, 0xcc, 0x08, 0x3a, 0xf7, 0x23, - 0x27, 0xe2, 0x88, 0x3e, 0x80, 0x53, 0x09, 0x2c, 0x6e, 0xee, 0x3a, 0x94, 0xc4, 0x32, 0x9e, 0x20, - 0xcd, 0xdc, 0x92, 0x10, 0xf8, 0xc4, 0xe1, 0x7b, 0xf7, 0x45, 0xf4, 0x5b, 0x12, 0x4f, 0xdf, 0x41, - 0xc3, 0x1f, 0x85, 0x2c, 0x88, 0x0c, 0x57, 0x60, 0xd6, 0x6e, 0xb5, 0x02, 0x16, 0xaa, 0x00, 0x28, - 0x5b, 0xd1, 0x90, 0xae, 0xa3, 0x69, 0x85, 0x46, 0xd3, 0x97, 0xa1, 0x24, 0xde, 0x1e, 0x34, 0xfd, - 0x5a, 0xa6, 0x69, 0x29, 0x20, 0x61, 0xf4, 0x37, 0xa5, 0x04, 0x7f, 0x1d, 0x07, 0x67, 0x60, 0xda, - 0x3f, 0xf0, 0x50, 0x4b, 0xd9, 0x52, 0x03, 0x72, 0x03, 0x66, 0x42, 0x6e, 0xf3, 0x6e, 0x58, 0x99, - 0x9a, 0x3f, 0xba, 0x70, 0x62, 0xe9, 0xdc, 0xd8, 0x7d, 0x6d, 0x4b, 0x98, 0x85, 0x70, 0xb2, 0x02, - 0x73, 0x62, 0xfd, 0x7b, 0xbd, 0x7d, 0x56, 0x39, 0x2a, 0x45, 0xdf, 0x18, 0x2b, 0x2a, 0x40, 0x96, - 0x86, 0x93, 0xab, 0x30, 0xdd, 0x74, 0xed, 0x30, 0xac, 0x94, 0xa4, 0x5c, 0x6d, 0xac, 0xdc, 0x86, - 0x40, 0x59, 0x0a, 0x2c, 0x9c, 0x15, 0xfa, 0x01, 0x5f, 0xef, 0x55, 0xa6, 0xe5, 0x06, 0x70, 0x44, - 0x28, 0xbc, 0xe4, 0xd9, 0x1d, 0xb6, 0xe1, 0x7b, 0xdc, 0x76, 0xbc, 0xb0, 0x32, 0x23, 0x57, 0x53, - 0x73, 0x64, 0x11, 0x4e, 0x3e, 0x61, 0xbd, 0x03, 0x3f, 0x68, 0x85, 0x1a, 0x37, 0x2b, 0x71, 0x23, - 0xf3, 0xe4, 0x02, 0x1c, 0xf7, 0x7c, 0xce, 0x62, 0xe0, 0x9c, 0x04, 0xa6, 0x27, 0xc9, 0x02, 0xbc, - 0xec, 0x7b, 0x6e, 0x6f, 0x9b, 0xdb, 0x01, 0x67, 0x81, 0x20, 0x5b, 0x29, 0xcf, 0x1b, 0x0b, 0x73, - 0xd6, 0xf0, 0x34, 0xa9, 0x03, 0x11, 0x53, 0xeb, 0xb6, 0x6b, 0x7b, 0x4d, 0xb6, 0xe6, 0x35, 0xf7, - 0xfc, 0x20, 0xac, 0x80, 0x04, 0x67, 0xac, 0x90, 0xf7, 0x60, 0x2e, 0xb0, 0x03, 0x87, 0x3b, 0x2c, - 0xac, 0x1c, 0x3b, 0xc4, 0x27, 0x96, 0x00, 0xf6, 0x2c, 0x2d, 0x40, 0x2e, 0xc2, 0x89, 0x4e, 0xd7, - 0xe5, 0x8e, 0x3c, 0xb9, 0x47, 0x9e, 0xdb, 0xab, 0xbc, 0x24, 0x0d, 0x0d, 0xcd, 0xd2, 0x3a, 0x3e, - 0xa4, 0x18, 0x21, 0x18, 0x67, 0x15, 0x98, 0x55, 0x37, 0x40, 0x5d, 0xdc, 0x92, 0x15, 0x0d, 0xe9, - 0x65, 0x8c, 0xa8, 0x87, 0x22, 0x85, 0x25, 0xa2, 0x58, 0xa6, 0x34, 0x7d, 0x7f, 0xa2, 0x21, 0xbd, - 0x87, 0xea, 0x11, 0x8e, 0xea, 0xdf, 0x85, 0x69, 0x09, 0xc0, 0x38, 0xae, 0x66, 0x6e, 0x4b, 0x89, - 0x28, 0x20, 0xbd, 0x04, 0x2f, 0x4b, 0x3d, 0xdb, 0x8c, 0x27, 0xc2, 0x38, 0x64, 0x5c, 0x9b, 0x54, - 0x03, 0xfa, 0x10, 0x2f, 0x99, 0x04, 0xa2, 0xb9, 0x95, 0xb4, 0xb9, 0xec, 0x47, 0x68, 0x9b, 0x71, - 0x71, 0x61, 0xd7, 0x54, 0xc2, 0x8d, 0xec, 0xae, 0xc0, 0x2b, 0xa8, 0xce, 0x75, 0x1f, 0x89, 0x1c, - 0x1b, 0x59, 0x9f, 0x87, 0x63, 0x61, 0x34, 0xa7, 0x39, 0x24, 0xa7, 0xe8, 0xc7, 0xf0, 0xea, 0xb0, - 0x28, 0xf2, 0xb9, 0x0d, 0x65, 0x0d, 0x44, 0x4e, 0xb5, 0x31, 0x9c, 0x22, 0xd1, 0x58, 0x80, 0x2e, - 0x63, 0x92, 0xdb, 0x50, 0x19, 0x3d, 0x22, 0x74, 0x16, 0xca, 0x98, 0xe3, 0x35, 0x9d, 0x78, 0x82, - 0x7e, 0x08, 0x67, 0xd2, 0x42, 0xfa, 0x2d, 0x9b, 0x45, 0x10, 0x12, 0x39, 0x9b, 0x1d, 0x62, 0x28, - 0x16, 0x81, 0xe9, 0xbb, 0xe8, 0xd7, 0x6d, 0x59, 0x33, 0x44, 0x1c, 0xaa, 0x30, 0xa7, 0x8a, 0x08, - 0x4d, 0x41, 0x8f, 0xe9, 0x77, 0x91, 0x76, 0x24, 0x81, 0x04, 0x96, 0x61, 0x46, 0x41, 0x72, 0x73, - 0x33, 0x0a, 0x21, 0x54, 0x7b, 0xe5, 0x6e, 0x54, 0x6a, 0x24, 0xbc, 0xa2, 0xcb, 0x8f, 0xd8, 0x2b, - 0x89, 0x29, 0xed, 0x95, 0x84, 0x68, 0xec, 0x15, 0x0d, 0xcc, 0xf5, 0x4a, 0x2c, 0x1a, 0x0b, 0xd0, - 0xca, 0xb0, 0x5e, 0x5d, 0x94, 0x7c, 0x1f, 0xbe, 0x35, 0xb2, 0xa2, 0x0b, 0x13, 0xd0, 0x1a, 0xa2, - 0x14, 0x79, 0x98, 0xcd, 0x84, 0x04, 0x9d, 0xc7, 0x44, 0xac, 0x57, 0xe3, 0x94, 0x83, 0xc6, 0xf7, - 0xe0, 0xdc, 0x58, 0x04, 0x92, 0xb8, 0x3b, 0xba, 0xef, 0x4b, 0xf9, 0x1c, 0x62, 0x1d, 0x89, 0x03, - 0x38, 0x3f, 0x6c, 0x29, 0x1c, 0x21, 0xf3, 0x04, 0xe6, 0xc7, 0x43, 0x90, 0xcd, 0x66, 0xc6, 0x91, - 0x14, 0xa6, 0x93, 0x3c, 0x9b, 0x1f, 0x4f, 0xc1, 0x6b, 0xfa, 0x65, 0x93, 0x12, 0xf7, 0xbd, 0x5d, - 0x3f, 0x0a, 0x94, 0x1a, 0x80, 0xdd, 0xe4, 0xce, 0x53, 0xb6, 0xcd, 0x78, 0xf4, 0xc6, 0x25, 0x66, - 0x44, 0x20, 0x09, 0x4b, 0xe1, 0x87, 0xdd, 0xce, 0x0e, 0x0b, 0x64, 0xb9, 0x51, 0xb2, 0x92, 0x53, - 0x22, 0x3b, 0xc8, 0x27, 0x82, 0x45, 0x98, 0xa3, 0x12, 0x93, 0x9e, 0x14, 0xf9, 0x46, 0xdf, 0xdc, - 0x08, 0x58, 0x92, 0xc0, 0x91, 0x79, 0xf1, 0x64, 0xe3, 0xf5, 0x8a, 0x90, 0xd3, 0x12, 0x39, 0x34, - 0x2b, 0x74, 0xba, 0x76, 0xc8, 0xc5, 0xbe, 0x1e, 0xfa, 0x2d, 0x67, 0xd7, 0x61, 0x2d, 0x99, 0xeb, - 0x4a, 0xd6, 0xc8, 0x3c, 0x75, 0xa0, 0x9a, 0x75, 0x08, 0x78, 0xd8, 0x0f, 0xe0, 0xa4, 0xd8, 0xd2, - 0x5a, 0xb7, 0x29, 0x2a, 0xa3, 0xad, 0xc0, 0x69, 0xb2, 0xb8, 0xb4, 0x48, 0x54, 0x56, 0x51, 0x4d, - 0xb5, 0xe1, 0x3b, 0x1e, 0x96, 0x67, 0x23, 0x82, 0xf4, 0x31, 0x9c, 0xd7, 0x2f, 0xaf, 0xcc, 0x46, - 0x77, 0x9c, 0x90, 0x07, 0xce, 0x4e, 0x57, 0x40, 0x32, 0x1f, 0xed, 0x32, 0x3e, 0xda, 0x22, 0xa3, - 0x1f, 0xd8, 0x1e, 0x67, 0x2d, 0x59, 0x7b, 0x94, 0x2c, 0x1c, 0xd1, 0x55, 0xa0, 0x79, 0x2a, 0x13, - 0xc9, 0xaa, 0x1b, 0x04, 0xcc, 0xe3, 0x3a, 0x59, 0xa9, 0x21, 0xbd, 0x09, 0x67, 0x55, 0xa1, 0xda, - 0x94, 0x61, 0x71, 0x2f, 0xf0, 0x3b, 0x9f, 0x32, 0xdb, 0xed, 0x25, 0xf2, 0xd6, 0x0f, 0xc5, 0x58, - 0xf3, 0x89, 0x86, 0x74, 0x25, 0x2a, 0xa6, 0x47, 0x24, 0x63, 0xa3, 0x63, 0x0a, 0xb7, 0xd7, 0x31, - 0xee, 0x3e, 0x96, 0x7d, 0x8b, 0xa5, 0xda, 0x96, 0xe8, 0x0a, 0x78, 0xe8, 0x8f, 0xa1, 0x45, 0x54, - 0xba, 0x05, 0xa7, 0x84, 0x07, 0x53, 0x8b, 0xb9, 0x65, 0x66, 0x5a, 0xcd, 0xa8, 0xf0, 0xd2, 0xbf, - 0xaa, 0x30, 0x2d, 0x0d, 0x92, 0x9f, 0x19, 0x30, 0xa3, 0x5a, 0x1c, 0x92, 0x7d, 0x9f, 0x46, 0xfb, - 0xa9, 0xea, 0xc2, 0xe1, 0x40, 0xc5, 0x9c, 0x5e, 0xfb, 0xd1, 0xdf, 0xff, 0xfb, 0xf9, 0x94, 0x49, - 0x2e, 0x9b, 0x77, 0x58, 0x93, 0x79, 0x3c, 0xb0, 0x5d, 0x11, 0x72, 0x9b, 0x76, 0x87, 0x99, 0xe3, - 0x3b, 0x77, 0xf2, 0x17, 0x63, 0xb8, 0x51, 0x20, 0x4b, 0xe3, 0x6d, 0x8e, 0xeb, 0xbf, 0xaa, 0xcb, - 0x13, 0xc9, 0x20, 0xe5, 0x0d, 0x49, 0xf9, 0x7d, 0xf2, 0x5e, 0x51, 0xca, 0xe9, 0x9f, 0x12, 0xcc, - 0xbe, 0xd3, 0x1a, 0x90, 0x2f, 0x0d, 0x38, 0x95, 0xd6, 0xbf, 0xe6, 0xba, 0x79, 0x7b, 0x18, 0xd7, - 0x9d, 0xe5, 0xed, 0x61, 0x6c, 0x9f, 0x45, 0x57, 0xe5, 0x1e, 0x6e, 0x92, 0xeb, 0x5f, 0x6f, 0x0f, - 0xe4, 0x73, 0x03, 0x4a, 0xb2, 0x36, 0x7d, 0x6b, 0xbc, 0xf5, 0x44, 0x9f, 0x54, 0xbd, 0x78, 0x18, - 0x0c, 0x79, 0xdd, 0x96, 0xbc, 0xae, 0x93, 0xab, 0x05, 0x79, 0x89, 0x2f, 0xb3, 0xaf, 0x6a, 0xcc, - 0x01, 0xf9, 0xc2, 0x80, 0x92, 0xe8, 0x62, 0xf2, 0x58, 0x25, 0x9a, 0xa8, 0x3c, 0x56, 0xc9, 0xee, - 0x89, 0xbe, 0x2f, 0x59, 0xdd, 0x20, 0xd7, 0x0a, 0xb2, 0x12, 0x3d, 0x94, 0xd9, 0xc7, 0x7b, 0x3d, - 0x20, 0x3f, 0x37, 0x60, 0x5a, 0x96, 0xc9, 0xe4, 0x90, 0x63, 0xd0, 0x3e, 0xbd, 0x74, 0x28, 0xee, - 0x1b, 0x9c, 0x57, 0x68, 0xf6, 0x65, 0xe7, 0x36, 0x20, 0xbf, 0x34, 0x60, 0x5a, 0x56, 0xcb, 0x79, - 0xc4, 0x92, 0x05, 0x7b, 0x1e, 0xb1, 0x54, 0xa5, 0x3e, 0x71, 0x80, 0xc9, 0xec, 0x67, 0xf6, 0xb1, - 0xfc, 0x1f, 0x90, 0x9f, 0x18, 0x70, 0x74, 0x9b, 0x71, 0x72, 0x61, 0xbc, 0xc1, 0xb8, 0xa4, 0xaf, - 0xbe, 0x75, 0x08, 0x0a, 0x49, 0xdd, 0x92, 0xa4, 0xae, 0x92, 0xa5, 0x82, 0xa4, 0x42, 0xc6, 0xcd, - 0xbe, 0xcc, 0x34, 0x03, 0xf2, 0x47, 0x03, 0xca, 0xba, 0xac, 0x26, 0x8b, 0x79, 0x06, 0xd3, 0x15, - 0x7f, 0xf5, 0xdb, 0x85, 0xb0, 0x48, 0x71, 0x53, 0x52, 0x5c, 0x23, 0xdf, 0x29, 0x4c, 0x31, 0xfa, - 0x11, 0x4f, 0x30, 0xd5, 0x4d, 0xc4, 0x80, 0xfc, 0xce, 0x80, 0x59, 0xac, 0xbe, 0x49, 0xce, 0x73, - 0x9c, 0x6e, 0x06, 0xaa, 0x6f, 0x17, 0x40, 0x22, 0xd3, 0x75, 0xc9, 0xf4, 0x36, 0xb9, 0x55, 0x34, - 0xf4, 0x94, 0xbc, 0xd9, 0xd7, 0xcd, 0xc5, 0x80, 0xfc, 0xda, 0x80, 0x19, 0x55, 0xa2, 0xe7, 0xe5, - 0x96, 0x54, 0xaf, 0x90, 0x97, 0x5b, 0xd2, 0x2d, 0x02, 0xfd, 0x40, 0x32, 0xbc, 0x45, 0x6e, 0x16, - 0x3e, 0x4b, 0x21, 0x2e, 0xce, 0x51, 0xb5, 0x1e, 0x03, 0xf2, 0x07, 0x03, 0xca, 0xba, 0x5c, 0xcc, - 0x73, 0xfa, 0x70, 0x43, 0x91, 0xe7, 0xf4, 0x91, 0x0e, 0x82, 0xde, 0x93, 0x44, 0x3f, 0x20, 0xab, - 0x05, 0x89, 0xea, 0x6a, 0xd5, 0xec, 0x27, 0x5a, 0x14, 0xe9, 0x73, 0x88, 0x6b, 0x64, 0x52, 0x84, - 0x83, 0x7e, 0x72, 0xde, 0x29, 0x06, 0x46, 0xc6, 0x2b, 0x92, 0xf1, 0x32, 0xb9, 0x32, 0x29, 0xe3, - 0x90, 0xfc, 0xd5, 0x00, 0x32, 0x5a, 0x82, 0x93, 0xe5, 0x02, 0xf6, 0x87, 0x1b, 0x83, 0xea, 0xd5, - 0xc9, 0x84, 0xbe, 0x66, 0x02, 0xcf, 0xfa, 0x61, 0x9a, 0x3c, 0x33, 0xe0, 0x74, 0x46, 0x3f, 0x42, - 0x8a, 0x50, 0x1a, 0xe9, 0x70, 0xaa, 0xd7, 0x26, 0x94, 0xc2, 0x9d, 0xdc, 0x91, 0x3b, 0x59, 0x25, - 0xb7, 0x27, 0x76, 0x43, 0x72, 0x2b, 0x5f, 0x4c, 0xc1, 0xf1, 0x54, 0x9d, 0x4f, 0xea, 0xf9, 0xf9, - 0x67, 0xb8, 0x2b, 0xaa, 0x9a, 0x85, 0xf1, 0x48, 0xfc, 0xb7, 0x86, 0x64, 0xfe, 0x2b, 0x83, 0xfc, - 0xc2, 0x98, 0x20, 0x75, 0xc9, 0xaf, 0x86, 0xe3, 0xed, 0xfa, 0x66, 0x3f, 0x6e, 0xba, 0x06, 0xaa, - 0x02, 0xc0, 0x36, 0x67, 0x80, 0x59, 0x84, 0xc5, 0xe3, 0xe1, 0x8e, 0x69, 0xa0, 0x1f, 0xa1, 0x78, - 0x62, 0xb8, 0x03, 0x1a, 0x90, 0xff, 0x18, 0xf0, 0x4a, 0x66, 0x03, 0x41, 0xae, 0xe7, 0xa7, 0x9b, - 0x71, 0x4d, 0x4c, 0xf5, 0xc6, 0xc4, 0x72, 0x78, 0x5c, 0x9f, 0xc8, 0xd3, 0x7a, 0x4c, 0x1e, 0x15, - 0x4f, 0x5c, 0x0d, 0xf9, 0x8b, 0x5e, 0xaf, 0xd1, 0x4a, 0xe8, 0x8b, 0x92, 0x99, 0xd9, 0x57, 0x7d, - 0xd2, 0x80, 0xfc, 0xcd, 0x80, 0x93, 0xc3, 0xad, 0x0a, 0xb9, 0x92, 0x53, 0x51, 0x66, 0x37, 0x44, - 0xd5, 0xa5, 0x49, 0x44, 0x70, 0x53, 0x0f, 0xe4, 0xa6, 0xee, 0x92, 0x8d, 0x82, 0x9b, 0xb2, 0x95, - 0xa2, 0xc6, 0x6e, 0xe0, 0x77, 0x1a, 0xb2, 0xdf, 0x32, 0xfb, 0xd8, 0x76, 0x0d, 0xc8, 0x9f, 0x0c, - 0x38, 0x9e, 0xea, 0x60, 0xf2, 0x62, 0x38, 0xab, 0xc3, 0xca, 0x8b, 0xe1, 0xcc, 0xa6, 0x6b, 0xe2, - 0xaa, 0x30, 0xfd, 0xff, 0xa8, 0x75, 0xeb, 0xd9, 0xf3, 0x9a, 0xf1, 0xd5, 0xf3, 0x9a, 0xf1, 0xef, - 0xe7, 0x35, 0xe3, 0xa7, 0x2f, 0x6a, 0x47, 0xbe, 0x7a, 0x51, 0x3b, 0xf2, 0x8f, 0x17, 0xb5, 0x23, - 0x9f, 0xde, 0x6c, 0x3b, 0x7c, 0xaf, 0xbb, 0x53, 0x6f, 0xfa, 0x9d, 0x5c, 0xd5, 0x3f, 0x48, 0x7c, - 0xf3, 0xde, 0x3e, 0x0b, 0x77, 0x66, 0xe4, 0x3f, 0xb9, 0x96, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, - 0x41, 0x86, 0x6e, 0x72, 0x9e, 0x1d, 0x00, 0x00, + // 2024 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0x4f, 0x6f, 0x1b, 0xc7, + 0x15, 0xf7, 0x4a, 0x14, 0x25, 0x3e, 0x27, 0x8e, 0x3d, 0x76, 0x52, 0x9a, 0x71, 0x68, 0x79, 0xe3, + 0xd8, 0x8a, 0x1a, 0x73, 0x63, 0xc9, 0xff, 0xe4, 0x38, 0x6e, 0x24, 0xd9, 0x52, 0x5d, 0xc3, 0x8e, + 0xb2, 0x6a, 0x5c, 0x34, 0x17, 0x62, 0x45, 0x8e, 0xa8, 0x85, 0x97, 0xbb, 0xca, 0xce, 0x50, 0x2a, + 0x4b, 0xf0, 0xd2, 0x0f, 0x50, 0x14, 0x4d, 0x51, 0xf4, 0x52, 0xa0, 0xe8, 0xa9, 0x87, 0x16, 0xed, + 0x07, 0x08, 0x7a, 0x2a, 0x0a, 0x1f, 0x53, 0xf4, 0x92, 0x53, 0x51, 0xd8, 0x05, 0x7a, 0xee, 0x37, + 0x28, 0x66, 0xe6, 0xed, 0x70, 0x97, 0x5c, 0xae, 0x96, 0xf6, 0x45, 0xd8, 0x99, 0xf9, 0xbd, 0xf7, + 0x7e, 0x33, 0xef, 0xcd, 0xbc, 0xf7, 0x28, 0x38, 0xdf, 0x70, 0xc2, 0x66, 0x63, 0xcf, 0x71, 0x7d, + 0x6b, 0xf0, 0xf5, 0x65, 0x87, 0x86, 0xdd, 0xda, 0x7e, 0x18, 0xf0, 0x80, 0x9c, 0xd6, 0xd3, 0x35, + 0xfd, 0x55, 0x39, 0xe5, 0xb4, 0x5d, 0x3f, 0xb0, 0xe4, 0x5f, 0x85, 0xab, 0x9c, 0x69, 0x05, 0xad, + 0x40, 0x7e, 0x5a, 0xe2, 0x0b, 0x67, 0xcf, 0xb5, 0x82, 0xa0, 0xe5, 0x51, 0xcb, 0xd9, 0x77, 0x2d, + 0xc7, 0xf7, 0x03, 0xee, 0x70, 0x37, 0xf0, 0x19, 0xae, 0x2e, 0x36, 0x02, 0xd6, 0x0e, 0x98, 0xb5, + 0xe3, 0x30, 0xaa, 0x8c, 0x5a, 0x07, 0x57, 0x77, 0x28, 0x77, 0xae, 0x5a, 0xfb, 0x4e, 0xcb, 0xf5, + 0x25, 0x18, 0xb1, 0xf3, 0x69, 0x44, 0xf7, 0x9d, 0xd0, 0x69, 0x47, 0xda, 0xde, 0x4f, 0x45, 0x84, + 0x41, 0xb3, 0xd3, 0xe0, 0xf5, 0x26, 0xe5, 0x8e, 0xeb, 0x65, 0x42, 0xc5, 0x57, 0xfd, 0xd0, 0xe5, + 0x7b, 0x75, 0xb7, 0xed, 0xb4, 0x28, 0x42, 0xab, 0x69, 0xd0, 0x0e, 0xa3, 0x61, 0xd6, 0xba, 0xf8, + 0xc2, 0xf5, 0xd4, 0x03, 0x6e, 0x3b, 0xbc, 0xb1, 0xa7, 0x0f, 0x21, 0x05, 0xc0, 0x28, 0x57, 0x54, + 0x9c, 0x90, 0x1f, 0x06, 0xe1, 0x53, 0xc4, 0x5e, 0x4c, 0xc7, 0x7a, 0x5e, 0x3d, 0xd8, 0xdd, 0xd5, + 0x94, 0x2e, 0xa4, 0x52, 0x0a, 0x3a, 0x7e, 0xc3, 0xf5, 0xb2, 0x4e, 0x93, 0xd1, 0xf0, 0x40, 0x2b, + 0x79, 0x37, 0x0d, 0x41, 0x7d, 0xa1, 0x86, 0x6b, 0x50, 0x2d, 0x13, 0x94, 0x76, 0x98, 0x31, 0x87, + 0x47, 0xae, 0x6e, 0x04, 0x6e, 0xe4, 0xe4, 0x85, 0x34, 0x7d, 0x07, 0x01, 0x77, 0xfd, 0x56, 0x3d, + 0xa4, 0xac, 0xe3, 0x71, 0xf4, 0xa0, 0x79, 0x06, 0xc8, 0x67, 0x22, 0x60, 0xb6, 0x64, 0x04, 0xd8, + 0xf4, 0xcb, 0x0e, 0x65, 0xdc, 0xfc, 0x1c, 0x4e, 0x27, 0x66, 0xd9, 0x7e, 0xe0, 0x33, 0x4a, 0xee, + 0x42, 0x51, 0x45, 0x4a, 0xd9, 0x98, 0x37, 0x16, 0x8e, 0x2f, 0xbd, 0x5d, 0x4b, 0x09, 0xea, 0x9a, + 0x12, 0x5a, 0x2b, 0x3d, 0xfb, 0xd7, 0xf9, 0x63, 0x7f, 0xf8, 0xef, 0x5f, 0x16, 0x0d, 0x1b, 0xa5, + 0x4c, 0x0b, 0xde, 0x91, 0x6a, 0x37, 0x29, 0xdf, 0x52, 0xf1, 0x74, 0x4f, 0x85, 0x13, 0xda, 0x25, + 0x27, 0x60, 0xca, 0x6d, 0x4a, 0xe5, 0x05, 0x7b, 0xca, 0x6d, 0x9a, 0x0c, 0xaa, 0xe3, 0x04, 0x90, + 0xd2, 0x67, 0x70, 0x22, 0xb9, 0x82, 0xd4, 0xde, 0x4d, 0xa7, 0x96, 0x80, 0xae, 0x15, 0x04, 0x45, + 0x7b, 0x48, 0x81, 0xd9, 0x42, 0x96, 0xab, 0x9e, 0x97, 0xce, 0x72, 0x03, 0x60, 0x70, 0xad, 0xd0, + 0xde, 0xa5, 0x9a, 0x72, 0x49, 0x4d, 0xb8, 0xa4, 0xa6, 0x2e, 0x3e, 0x3a, 0xa6, 0xb6, 0xe5, 0xb4, + 0x28, 0xca, 0xda, 0x31, 0x49, 0xf3, 0x6b, 0x03, 0xb7, 0x97, 0x62, 0x29, 0x63, 0x7b, 0xd3, 0xaf, + 0xb4, 0x3d, 0xb2, 0x99, 0x60, 0x3f, 0x25, 0xd9, 0x5f, 0x3e, 0x92, 0xbd, 0xe2, 0x93, 0xa0, 0xbf, + 0x08, 0x27, 0x25, 0xfb, 0x75, 0x27, 0x6c, 0x46, 0x47, 0xf3, 0x16, 0x14, 0x05, 0x9d, 0x07, 0x91, + 0x13, 0x71, 0x64, 0x3e, 0x84, 0x53, 0x31, 0x2c, 0x6e, 0xee, 0x06, 0x14, 0xc4, 0x32, 0x9e, 0xa0, + 0x99, 0xba, 0x25, 0x21, 0xf0, 0x23, 0x97, 0xef, 0x3d, 0x10, 0xd1, 0x6f, 0x4b, 0xbc, 0xf9, 0x01, + 0x1a, 0xfe, 0x9c, 0xd1, 0x30, 0x32, 0x5c, 0x86, 0x59, 0xa7, 0xd9, 0x0c, 0x29, 0x53, 0x01, 0x50, + 0xb2, 0xa3, 0xa1, 0xb9, 0x86, 0xa6, 0x15, 0x1a, 0x4d, 0x5f, 0x81, 0x82, 0x78, 0x7b, 0xd0, 0xf4, + 0xd9, 0x54, 0xd3, 0x52, 0x40, 0xc2, 0xcc, 0xdf, 0x15, 0x62, 0xfc, 0x75, 0x1c, 0x9c, 0x81, 0x99, + 0xe0, 0xd0, 0x47, 0x2d, 0x25, 0x5b, 0x0d, 0xc8, 0x4d, 0x28, 0x32, 0xee, 0xf0, 0x0e, 0x2b, 0x4f, + 0xcd, 0x4f, 0x2f, 0x9c, 0x58, 0x3a, 0x3f, 0x76, 0x5f, 0xdb, 0x12, 0x66, 0x23, 0x9c, 0xac, 0xc0, + 0x9c, 0x58, 0xff, 0x61, 0x77, 0x9f, 0x96, 0xa7, 0xa5, 0xe8, 0x3b, 0x63, 0x45, 0x05, 0xc8, 0xd6, + 0x70, 0x72, 0x0d, 0x66, 0x1a, 0x9e, 0xc3, 0x58, 0xb9, 0x20, 0xe5, 0xaa, 0x63, 0xe5, 0xd6, 0x05, + 0xca, 0x56, 0x60, 0xe1, 0x2c, 0x16, 0x84, 0x7c, 0xad, 0x5b, 0x9e, 0x91, 0x1b, 0xc0, 0x11, 0x31, + 0xe1, 0x35, 0xdf, 0x69, 0xd3, 0xf5, 0xc0, 0xe7, 0x8e, 0xeb, 0xb3, 0x72, 0x51, 0xae, 0x26, 0xe6, + 0xc8, 0x22, 0x9c, 0x7c, 0x4a, 0xbb, 0x87, 0x41, 0xd8, 0x64, 0x1a, 0x37, 0x2b, 0x71, 0x23, 0xf3, + 0xe4, 0x22, 0xbc, 0xee, 0x07, 0x9c, 0x0e, 0x80, 0x73, 0x12, 0x98, 0x9c, 0x24, 0x0b, 0xf0, 0x46, + 0xe0, 0x7b, 0xdd, 0x6d, 0xee, 0x84, 0x9c, 0x86, 0x82, 0x6c, 0xb9, 0x34, 0x6f, 0x2c, 0xcc, 0xd9, + 0xc3, 0xd3, 0xa4, 0x06, 0x44, 0x4c, 0xad, 0x39, 0x9e, 0xe3, 0x37, 0xe8, 0xaa, 0xdf, 0xd8, 0x0b, + 0x42, 0x56, 0x06, 0x09, 0x4e, 0x59, 0x21, 0x1f, 0xc1, 0x5c, 0xe8, 0x84, 0x2e, 0x77, 0x29, 0x2b, + 0x1f, 0x3f, 0xc2, 0x27, 0xb6, 0x00, 0x76, 0x6d, 0x2d, 0x40, 0x2e, 0xc1, 0x89, 0x76, 0xc7, 0xe3, + 0xae, 0x3c, 0xb9, 0x4f, 0x7d, 0xaf, 0x5b, 0x7e, 0x4d, 0x1a, 0x1a, 0x9a, 0x35, 0x6b, 0xf8, 0x90, + 0x62, 0x84, 0x60, 0x9c, 0x95, 0x61, 0x56, 0xdd, 0x00, 0x75, 0x71, 0x0b, 0x76, 0x34, 0x34, 0xaf, + 0x60, 0x44, 0x3d, 0x12, 0x29, 0x2c, 0x16, 0xc5, 0x32, 0xa5, 0xe9, 0xfb, 0x13, 0x0d, 0xcd, 0x0d, + 0x54, 0x8f, 0x70, 0x54, 0xff, 0x21, 0xcc, 0x48, 0x00, 0xc6, 0x71, 0x25, 0x75, 0x5b, 0x4a, 0x44, + 0x01, 0xcd, 0xcb, 0xf0, 0x86, 0xd4, 0xb3, 0x4d, 0x79, 0x2c, 0x8c, 0x19, 0xe5, 0xda, 0xa4, 0x1a, + 0x98, 0x8f, 0xf0, 0x92, 0x49, 0x20, 0x9a, 0x5b, 0x49, 0x9a, 0x4b, 0x7f, 0x84, 0xb6, 0x29, 0x17, + 0x17, 0x76, 0x55, 0x25, 0xdc, 0xc8, 0xee, 0x0a, 0xbc, 0x89, 0xea, 0x3c, 0xef, 0x53, 0x91, 0x63, + 0x23, 0xeb, 0xf3, 0x70, 0x9c, 0x45, 0x73, 0x9a, 0x43, 0x7c, 0xca, 0x7c, 0x02, 0x6f, 0x0d, 0x8b, + 0x22, 0x9f, 0x3b, 0x50, 0xd2, 0x40, 0xe4, 0x54, 0x1d, 0xc3, 0x29, 0x12, 0x1d, 0x08, 0x98, 0xcb, + 0x98, 0xe4, 0xd6, 0x55, 0x46, 0x8f, 0x08, 0x9d, 0x83, 0x12, 0xe6, 0x78, 0x4d, 0x67, 0x30, 0x61, + 0x3e, 0x86, 0x33, 0x49, 0x21, 0xfd, 0x96, 0xcd, 0x22, 0x08, 0x89, 0x9c, 0x4b, 0x0f, 0x31, 0x14, + 0x8b, 0xc0, 0xe6, 0x87, 0xe8, 0xd7, 0x6d, 0x59, 0x33, 0x44, 0x1c, 0x2a, 0x30, 0xa7, 0x8a, 0x08, + 0x4d, 0x41, 0x8f, 0xcd, 0x1f, 0x20, 0xed, 0x48, 0x02, 0x09, 0x2c, 0x43, 0x51, 0x41, 0x32, 0x73, + 0x33, 0x0a, 0x21, 0x54, 0x7b, 0xe5, 0x7e, 0x54, 0x6a, 0xc4, 0xbc, 0xa2, 0xcb, 0x8f, 0x81, 0x57, + 0x62, 0x53, 0xda, 0x2b, 0x31, 0xd1, 0x81, 0x57, 0x34, 0x30, 0xd3, 0x2b, 0x03, 0xd1, 0x81, 0x80, + 0x59, 0x1e, 0xd6, 0xab, 0x8b, 0x92, 0x1f, 0xc3, 0x77, 0x46, 0x56, 0x74, 0x61, 0x02, 0x5a, 0x43, + 0x94, 0x22, 0x8f, 0xb2, 0x19, 0x93, 0x30, 0xe7, 0x31, 0x11, 0xeb, 0xd5, 0x41, 0xca, 0x41, 0xe3, + 0x7b, 0x70, 0x7e, 0x2c, 0x02, 0x49, 0xdc, 0x1f, 0xdd, 0xf7, 0xe5, 0x6c, 0x0e, 0x03, 0x1d, 0xb1, + 0x03, 0xb8, 0x30, 0x6c, 0x89, 0x8d, 0x90, 0x79, 0x0a, 0xf3, 0xe3, 0x21, 0xc8, 0x66, 0x33, 0xe5, + 0x48, 0x72, 0xd3, 0x89, 0x9f, 0xcd, 0xdb, 0x70, 0x56, 0x3f, 0x6c, 0x52, 0xe0, 0x81, 0xbf, 0x1b, + 0x44, 0x4c, 0xfe, 0x31, 0x05, 0x95, 0xb4, 0x55, 0x24, 0xf1, 0x10, 0x4e, 0x0a, 0x3b, 0xab, 0x9d, + 0x86, 0xa8, 0x18, 0xb6, 0x42, 0xb7, 0x41, 0x07, 0x29, 0x37, 0x56, 0x71, 0x44, 0xb5, 0xc6, 0x7a, + 0xe0, 0xfa, 0x58, 0xb6, 0x8c, 0x08, 0x92, 0x2a, 0x80, 0xd3, 0xe0, 0xee, 0x01, 0xdd, 0xa6, 0x5c, + 0x25, 0xd7, 0x82, 0x1d, 0x9b, 0x11, 0x31, 0x2b, 0x64, 0xd8, 0xe3, 0x4e, 0x7b, 0x87, 0x86, 0xe5, + 0x69, 0x15, 0xb3, 0xb1, 0x29, 0x91, 0x88, 0xe4, 0x6b, 0x44, 0x23, 0x4c, 0x41, 0x62, 0x92, 0x93, + 0x22, 0xb5, 0xe9, 0x47, 0x22, 0x02, 0xce, 0x48, 0xe0, 0xc8, 0xbc, 0xc8, 0x0e, 0x78, 0x93, 0x23, + 0x64, 0x51, 0x22, 0x87, 0x66, 0x85, 0x4e, 0xcf, 0x61, 0x5c, 0x9c, 0xd2, 0xa3, 0xa0, 0xe9, 0xee, + 0xba, 0xb4, 0x29, 0xd3, 0x65, 0xc1, 0x1e, 0x99, 0x37, 0x57, 0xe0, 0x82, 0x7e, 0x79, 0x65, 0x36, + 0xba, 0xe7, 0x32, 0x1e, 0xba, 0x3b, 0x1d, 0x71, 0x14, 0xa9, 0x8f, 0x76, 0x29, 0x7a, 0xb4, 0x9f, + 0x80, 0x99, 0x25, 0x1a, 0x4b, 0x4a, 0x9d, 0x30, 0xa4, 0x3e, 0xd7, 0x49, 0x49, 0x0d, 0x45, 0x45, + 0x70, 0xe8, 0xf8, 0x9c, 0x36, 0xf1, 0x78, 0x71, 0x64, 0xde, 0x82, 0x73, 0xaa, 0x50, 0x6d, 0xc8, + 0xb0, 0xd8, 0x08, 0x83, 0xf6, 0x17, 0xd4, 0xf1, 0xba, 0xb1, 0xbc, 0xf5, 0x53, 0x31, 0xd6, 0x7c, + 0xa2, 0xa1, 0xb9, 0x12, 0x15, 0xd3, 0x23, 0x92, 0x03, 0x32, 0x63, 0x0a, 0xb7, 0x28, 0xf0, 0x9e, + 0xc8, 0xbe, 0xc5, 0x56, 0x6d, 0x4b, 0x14, 0x78, 0x3e, 0xc6, 0xdd, 0xd0, 0x22, 0x2a, 0xdd, 0x82, + 0x53, 0xe2, 0x58, 0x13, 0x8b, 0x99, 0x65, 0x66, 0x52, 0xcd, 0xa8, 0xf0, 0xd2, 0xff, 0xce, 0xc2, + 0x8c, 0x34, 0x48, 0x7e, 0x69, 0x40, 0x51, 0xb5, 0x38, 0x24, 0xfd, 0x3e, 0x8d, 0xf6, 0x53, 0x95, + 0x85, 0xa3, 0x81, 0x8a, 0xb9, 0x79, 0xfd, 0x67, 0xff, 0xfc, 0xcf, 0x57, 0x53, 0x16, 0xb9, 0x62, + 0xdd, 0xa3, 0x0d, 0xea, 0xf3, 0xd0, 0xf1, 0x44, 0x70, 0x6c, 0x3a, 0x6d, 0x6a, 0x8d, 0xef, 0xdc, + 0xc9, 0x5f, 0x8d, 0xe1, 0x46, 0x81, 0x2c, 0x8d, 0xb7, 0x39, 0xae, 0xff, 0xaa, 0x2c, 0x4f, 0x24, + 0x83, 0x94, 0xd7, 0x25, 0xe5, 0x8f, 0xc9, 0x47, 0x79, 0x29, 0x27, 0x7f, 0x4a, 0xb0, 0x7a, 0x6e, + 0xb3, 0x4f, 0xbe, 0x36, 0xe0, 0x54, 0x52, 0xff, 0xaa, 0xe7, 0x65, 0xed, 0x61, 0x5c, 0x77, 0x96, + 0xb5, 0x87, 0xb1, 0x7d, 0x96, 0x79, 0x57, 0xee, 0xe1, 0x16, 0xb9, 0xf1, 0x72, 0x7b, 0x20, 0x5f, + 0x19, 0x50, 0x90, 0xb5, 0xe9, 0x7b, 0xe3, 0xad, 0xc7, 0xfa, 0xa4, 0xca, 0xa5, 0xa3, 0x60, 0xc8, + 0xeb, 0x8e, 0xe4, 0x75, 0x83, 0x5c, 0xcb, 0xc9, 0x4b, 0x7c, 0x59, 0x3d, 0x55, 0x63, 0xf6, 0xc9, + 0xaf, 0x0c, 0x28, 0x88, 0x2e, 0x26, 0x8b, 0x55, 0xac, 0x89, 0xca, 0x62, 0x15, 0xef, 0x9e, 0xcc, + 0x8f, 0x25, 0xab, 0x9b, 0xe4, 0x7a, 0x4e, 0x56, 0xa2, 0x87, 0xb2, 0x7a, 0x78, 0xaf, 0xfb, 0xe4, + 0xd7, 0x06, 0xcc, 0xc8, 0x32, 0x99, 0x1c, 0x71, 0x0c, 0xda, 0xa7, 0x97, 0x8f, 0xc4, 0xbd, 0xc2, + 0x79, 0x31, 0xab, 0x27, 0x3b, 0xb7, 0x3e, 0xf9, 0x8d, 0x01, 0x33, 0xb2, 0x5a, 0xce, 0x22, 0x16, + 0x2f, 0xd8, 0xb3, 0x88, 0x25, 0x2a, 0xf5, 0x89, 0x03, 0x4c, 0xa6, 0x24, 0xab, 0x87, 0xe5, 0x7f, + 0x9f, 0xfc, 0xdc, 0x80, 0xe9, 0x6d, 0xca, 0xc9, 0xc5, 0xf1, 0x06, 0x07, 0x25, 0x7d, 0xe5, 0xbd, + 0x23, 0x50, 0x48, 0xea, 0xb6, 0x24, 0x75, 0x8d, 0x2c, 0xe5, 0x24, 0xc5, 0x28, 0xb7, 0x7a, 0x32, + 0xd3, 0xf4, 0xc9, 0x9f, 0x0c, 0x28, 0xe9, 0xb2, 0x9a, 0x2c, 0x66, 0x19, 0x4c, 0x56, 0xfc, 0x95, + 0xef, 0xe6, 0xc2, 0x22, 0xc5, 0x4d, 0x49, 0x71, 0x95, 0x7c, 0x2f, 0x37, 0xc5, 0xe8, 0x47, 0x3c, + 0xc1, 0x54, 0x37, 0x11, 0x7d, 0xf2, 0x7b, 0x03, 0x66, 0xb1, 0xfa, 0x26, 0x19, 0xcf, 0x71, 0xb2, + 0x19, 0xa8, 0xbc, 0x9f, 0x03, 0x89, 0x4c, 0xd7, 0x24, 0xd3, 0x3b, 0xe4, 0x76, 0xde, 0xd0, 0x53, + 0xf2, 0x56, 0x4f, 0x37, 0x17, 0x7d, 0xf2, 0x5b, 0x03, 0x8a, 0xaa, 0x44, 0xcf, 0xca, 0x2d, 0x89, + 0x5e, 0x21, 0x2b, 0xb7, 0x24, 0x5b, 0x04, 0xf3, 0x13, 0xc9, 0xf0, 0x36, 0xb9, 0x95, 0xfb, 0x2c, + 0x85, 0xb8, 0x38, 0x47, 0xd5, 0x7a, 0xf4, 0xc9, 0x1f, 0x0d, 0x28, 0xe9, 0x72, 0x31, 0xcb, 0xe9, + 0xc3, 0x0d, 0x45, 0x96, 0xd3, 0x47, 0x3a, 0x08, 0x73, 0x43, 0x12, 0xfd, 0x84, 0xdc, 0xcd, 0x49, + 0x54, 0x57, 0xab, 0x56, 0x2f, 0xd6, 0xa2, 0x48, 0x9f, 0xc3, 0xa0, 0x46, 0x26, 0x79, 0x38, 0xe8, + 0x27, 0xe7, 0x83, 0x7c, 0x60, 0x64, 0xbc, 0x22, 0x19, 0x2f, 0x93, 0xab, 0x93, 0x32, 0x66, 0xe4, + 0x6f, 0x06, 0x90, 0xd1, 0x12, 0x9c, 0x2c, 0xe7, 0xb0, 0x3f, 0xdc, 0x18, 0x54, 0xae, 0x4d, 0x26, + 0xf4, 0x92, 0x09, 0x3c, 0xed, 0x87, 0x69, 0xf2, 0xcc, 0x80, 0xd3, 0x29, 0xfd, 0x08, 0xc9, 0x43, + 0x69, 0xa4, 0xc3, 0xa9, 0x5c, 0x9f, 0x50, 0x0a, 0x77, 0x72, 0x4f, 0xee, 0xe4, 0x2e, 0xb9, 0x33, + 0xb1, 0x1b, 0xe2, 0x5b, 0xf9, 0xb3, 0x01, 0xaf, 0x27, 0xfa, 0x19, 0x52, 0xcb, 0xce, 0x3f, 0xc3, + 0x6d, 0x51, 0xc5, 0xca, 0x8d, 0x7f, 0xc9, 0x8c, 0xaa, 0xbf, 0xea, 0xae, 0xe0, 0xf7, 0xad, 0x01, + 0x6f, 0xa6, 0xd6, 0xfc, 0xe4, 0x46, 0x76, 0x26, 0x18, 0xd7, 0x5f, 0x54, 0x6e, 0x4e, 0x2c, 0x87, + 0x3b, 0x79, 0x2c, 0x77, 0xf2, 0x7d, 0xb2, 0x91, 0x3f, 0xa7, 0xd4, 0xe5, 0x8f, 0x6d, 0xdd, 0x7a, + 0x33, 0xa6, 0x4f, 0xe7, 0x99, 0xbf, 0x1b, 0x70, 0x72, 0xb8, 0x79, 0x20, 0x57, 0x33, 0x6a, 0xbc, + 0xf4, 0x16, 0xa5, 0xb2, 0x34, 0x89, 0x08, 0xee, 0xe5, 0xa1, 0xdc, 0xcb, 0x7d, 0xb2, 0x9e, 0x73, + 0x2f, 0x8e, 0x52, 0x54, 0xdf, 0x0d, 0x83, 0x76, 0x5d, 0x76, 0x40, 0x56, 0x0f, 0x1b, 0xa1, 0xbe, + 0x8c, 0xaa, 0x44, 0x4f, 0x91, 0x15, 0x55, 0x69, 0x3d, 0x4f, 0x56, 0x54, 0xa5, 0xb6, 0x41, 0x13, + 0x47, 0x55, 0xf2, 0x3f, 0x44, 0x6b, 0xf6, 0xb3, 0xe7, 0x55, 0xe3, 0x9b, 0xe7, 0x55, 0xe3, 0xdf, + 0xcf, 0xab, 0xc6, 0x2f, 0x5e, 0x54, 0x8f, 0x7d, 0xf3, 0xa2, 0x7a, 0xec, 0xdb, 0x17, 0xd5, 0x63, + 0x5f, 0xdc, 0x6a, 0xb9, 0x7c, 0xaf, 0xb3, 0x53, 0x6b, 0x04, 0xed, 0x4c, 0xd5, 0x3f, 0x89, 0x7d, + 0xf3, 0xee, 0x3e, 0x65, 0x3b, 0x45, 0xf9, 0x6f, 0xa7, 0xe5, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, + 0xc4, 0x5e, 0x62, 0x03, 0x30, 0x1d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3856,6 +3852,29 @@ func (m *QueryCardchainInfoRequest) MarshalTo(dAtA []byte) (int, error) { } func (m *QueryCardchainInfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryCardchainInfoResponse) 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 *QueryCardchainInfoResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryCardchainInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -3863,27 +3882,27 @@ func (m *QueryCardchainInfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro if m.LastCardModified != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.LastCardModified)) i-- - dAtA[i] = 0x30 + dAtA[i] = 0x38 } if m.CouncilsNumber != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.CouncilsNumber)) i-- - dAtA[i] = 0x28 + dAtA[i] = 0x30 } if m.SellOffersNumber != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.SellOffersNumber)) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x28 } if m.MatchesNumber != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.MatchesNumber)) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x20 } if m.CardsNumber != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.CardsNumber)) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x18 } if len(m.ActiveSets) > 0 { dAtA25 := make([]byte, len(m.ActiveSets)*10) @@ -3901,31 +3920,8 @@ func (m *QueryCardchainInfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro copy(dAtA[i:], dAtA25[:j24]) i = encodeVarintQuery(dAtA, i, uint64(j24)) i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *QueryCardchainInfoResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + dAtA[i] = 0x12 } - return dAtA[:n], nil -} - -func (m *QueryCardchainInfoResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryCardchainInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l { size, err := m.CardAuctionPrice.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -3959,24 +3955,6 @@ func (m *QuerySetRarityDistributionRequest) MarshalToSizedBuffer(dAtA []byte) (i _ = i var l int _ = l - if len(m.Wanted) > 0 { - dAtA28 := make([]byte, len(m.Wanted)*10) - var j27 int - for _, num := range m.Wanted { - for num >= 1<<7 { - dAtA28[j27] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j27++ - } - dAtA28[j27] = uint8(num) - j27++ - } - i -= j27 - copy(dAtA[i:], dAtA28[:j27]) - i = encodeVarintQuery(dAtA, i, uint64(j27)) - i-- - dAtA[i] = 0x12 - } if len(m.SetId) > 0 { i -= len(m.SetId) copy(dAtA[i:], m.SetId) @@ -4007,6 +3985,24 @@ func (m *QuerySetRarityDistributionResponse) MarshalToSizedBuffer(dAtA []byte) ( _ = i var l int _ = l + if len(m.Wanted) > 0 { + dAtA28 := make([]byte, len(m.Wanted)*10) + var j27 int + for _, num := range m.Wanted { + for num >= 1<<7 { + dAtA28[j27] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j27++ + } + dAtA28[j27] = uint8(num) + j27++ + } + i -= j27 + copy(dAtA[i:], dAtA28[:j27]) + i = encodeVarintQuery(dAtA, i, uint64(j27)) + i-- + dAtA[i] = 0x12 + } if len(m.Current) > 0 { dAtA30 := make([]byte, len(m.Current)*10) var j29 int @@ -4591,6 +4587,17 @@ func (m *QueryCardchainInfoRequest) Size() (n int) { } var l int _ = l + return n +} + +func (m *QueryCardchainInfoResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.CardAuctionPrice.Size() + n += 1 + l + sovQuery(uint64(l)) if len(m.ActiveSets) > 0 { l = 0 for _, e := range m.ActiveSets { @@ -4616,17 +4623,6 @@ func (m *QueryCardchainInfoRequest) Size() (n int) { return n } -func (m *QueryCardchainInfoResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.CardAuctionPrice.Size() - n += 1 + l + sovQuery(uint64(l)) - return n -} - func (m *QuerySetRarityDistributionRequest) Size() (n int) { if m == nil { return 0 @@ -4637,13 +4633,6 @@ func (m *QuerySetRarityDistributionRequest) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } - if len(m.Wanted) > 0 { - l = 0 - for _, e := range m.Wanted { - l += sovQuery(uint64(e)) - } - n += 1 + sovQuery(uint64(l)) + l - } return n } @@ -4660,6 +4649,13 @@ func (m *QuerySetRarityDistributionResponse) Size() (n int) { } n += 1 + sovQuery(uint64(l)) + l } + if len(m.Wanted) > 0 { + l = 0 + for _, e := range m.Wanted { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } return n } @@ -7566,7 +7562,90 @@ func (m *QueryCardchainInfoRequest) Unmarshal(dAtA []byte) error { return fmt.Errorf("proto: QueryCardchainInfoRequest: 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 *QueryCardchainInfoResponse) 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: QueryCardchainInfoResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCardchainInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CardAuctionPrice", 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.CardAuctionPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: if wireType == 0 { var v uint64 for shift := uint(0); ; shift += 7 { @@ -7642,7 +7721,7 @@ func (m *QueryCardchainInfoRequest) Unmarshal(dAtA []byte) error { } else { return fmt.Errorf("proto: wrong wireType = %d for field ActiveSets", wireType) } - case 2: + case 3: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field CardsNumber", wireType) } @@ -7661,7 +7740,7 @@ func (m *QueryCardchainInfoRequest) Unmarshal(dAtA []byte) error { break } } - case 3: + case 4: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field MatchesNumber", wireType) } @@ -7680,7 +7759,7 @@ func (m *QueryCardchainInfoRequest) Unmarshal(dAtA []byte) error { break } } - case 4: + case 5: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field SellOffersNumber", wireType) } @@ -7699,7 +7778,7 @@ func (m *QueryCardchainInfoRequest) Unmarshal(dAtA []byte) error { break } } - case 5: + case 6: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field CouncilsNumber", wireType) } @@ -7718,7 +7797,7 @@ func (m *QueryCardchainInfoRequest) Unmarshal(dAtA []byte) error { break } } - case 6: + case 7: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field LastCardModified", wireType) } @@ -7758,7 +7837,7 @@ func (m *QueryCardchainInfoRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryCardchainInfoResponse) Unmarshal(dAtA []byte) error { +func (m *QuerySetRarityDistributionRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7781,17 +7860,17 @@ func (m *QueryCardchainInfoResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryCardchainInfoResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QuerySetRarityDistributionRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryCardchainInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QuerySetRarityDistributionRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CardAuctionPrice", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -7801,24 +7880,23 @@ func (m *QueryCardchainInfoResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.CardAuctionPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.SetId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -7841,7 +7919,7 @@ func (m *QueryCardchainInfoResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QuerySetRarityDistributionRequest) Unmarshal(dAtA []byte) error { +func (m *QuerySetRarityDistributionResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7864,45 +7942,13 @@ func (m *QuerySetRarityDistributionRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QuerySetRarityDistributionRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QuerySetRarityDistributionResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QuerySetRarityDistributionRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QuerySetRarityDistributionResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SetId", 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.SetId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: if wireType == 0 { var v uint64 for shift := uint(0); ; shift += 7 { @@ -7919,7 +7965,7 @@ func (m *QuerySetRarityDistributionRequest) Unmarshal(dAtA []byte) error { break } } - m.Wanted = append(m.Wanted, v) + m.Current = append(m.Current, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -7954,8 +8000,8 @@ func (m *QuerySetRarityDistributionRequest) Unmarshal(dAtA []byte) error { } } elementCount = count - if elementCount != 0 && len(m.Wanted) == 0 { - m.Wanted = make([]uint64, 0, elementCount) + if elementCount != 0 && len(m.Current) == 0 { + m.Current = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -7973,62 +8019,12 @@ func (m *QuerySetRarityDistributionRequest) Unmarshal(dAtA []byte) error { break } } - m.Wanted = append(m.Wanted, v) + m.Current = append(m.Current, v) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field Wanted", wireType) - } - 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 *QuerySetRarityDistributionResponse) 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 + return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QuerySetRarityDistributionResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QuerySetRarityDistributionResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 2: if wireType == 0 { var v uint64 for shift := uint(0); ; shift += 7 { @@ -8045,7 +8041,7 @@ func (m *QuerySetRarityDistributionResponse) Unmarshal(dAtA []byte) error { break } } - m.Current = append(m.Current, v) + m.Wanted = append(m.Wanted, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -8080,8 +8076,8 @@ func (m *QuerySetRarityDistributionResponse) Unmarshal(dAtA []byte) error { } } elementCount = count - if elementCount != 0 && len(m.Current) == 0 { - m.Current = make([]uint64, 0, elementCount) + if elementCount != 0 && len(m.Wanted) == 0 { + m.Wanted = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -8099,10 +8095,10 @@ func (m *QuerySetRarityDistributionResponse) Unmarshal(dAtA []byte) error { break } } - m.Current = append(m.Current, v) + m.Wanted = append(m.Wanted, v) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Wanted", wireType) } default: iNdEx = preIndex diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index e61fda2f..b1261314 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -703,79 +703,6 @@ func request_Query_CardchainInfo_0(ctx context.Context, marshaler runtime.Marsha var protoReq QueryCardchainInfoRequest var metadata runtime.ServerMetadata - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["activeSets"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activeSets") - } - - protoReq.ActiveSets, err = runtime.Uint64Slice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activeSets", err) - } - - val, ok = pathParams["cardsNumber"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardsNumber") - } - - protoReq.CardsNumber, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardsNumber", err) - } - - val, ok = pathParams["matchesNumber"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "matchesNumber") - } - - protoReq.MatchesNumber, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "matchesNumber", err) - } - - val, ok = pathParams["sellOffersNumber"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sellOffersNumber") - } - - protoReq.SellOffersNumber, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sellOffersNumber", err) - } - - val, ok = pathParams["councilsNumber"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "councilsNumber") - } - - protoReq.CouncilsNumber, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "councilsNumber", err) - } - - val, ok = pathParams["lastCardModified"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lastCardModified") - } - - protoReq.LastCardModified, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lastCardModified", err) - } - msg, err := client.CardchainInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err @@ -785,79 +712,6 @@ func local_request_Query_CardchainInfo_0(ctx context.Context, marshaler runtime. var protoReq QueryCardchainInfoRequest var metadata runtime.ServerMetadata - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["activeSets"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activeSets") - } - - protoReq.ActiveSets, err = runtime.Uint64Slice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activeSets", err) - } - - val, ok = pathParams["cardsNumber"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardsNumber") - } - - protoReq.CardsNumber, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardsNumber", err) - } - - val, ok = pathParams["matchesNumber"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "matchesNumber") - } - - protoReq.MatchesNumber, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "matchesNumber", err) - } - - val, ok = pathParams["sellOffersNumber"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "sellOffersNumber") - } - - protoReq.SellOffersNumber, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "sellOffersNumber", err) - } - - val, ok = pathParams["councilsNumber"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "councilsNumber") - } - - protoReq.CouncilsNumber, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "councilsNumber", err) - } - - val, ok = pathParams["lastCardModified"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lastCardModified") - } - - protoReq.LastCardModified, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lastCardModified", err) - } - msg, err := server.CardchainInfo(ctx, &protoReq) return msg, metadata, err @@ -885,17 +739,6 @@ func request_Query_SetRarityDistribution_0(ctx context.Context, marshaler runtim return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) } - val, ok = pathParams["wanted"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "wanted") - } - - protoReq.Wanted, err = runtime.Uint64Slice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "wanted", err) - } - msg, err := client.SetRarityDistribution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err @@ -923,17 +766,6 @@ func local_request_Query_SetRarityDistribution_0(ctx context.Context, marshaler return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) } - val, ok = pathParams["wanted"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "wanted") - } - - protoReq.Wanted, err = runtime.Uint64Slice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "wanted", err) - } - msg, err := server.SetRarityDistribution(ctx, &protoReq) return msg, metadata, err @@ -1909,9 +1741,9 @@ var ( pattern_Query_EncountersWithImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "encounters_with_image"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_CardchainInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"DecentralCardGame", "cardchain", "cardchain_info", "activeSets", "cardsNumber", "matchesNumber", "sellOffersNumber", "councilsNumber", "lastCardModified"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_CardchainInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "cardchain_info"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_SetRarityDistribution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "cardchain", "set_rarity_distribution", "setId", "wanted"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_SetRarityDistribution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "set_rarity_distribution", "setId"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_AccountFromZealy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "account_from_zealy", "zealyId"}, "", runtime.AssumeColonVerbOpt(false))) diff --git a/x/cardchain/types/running_average.pb.go b/x/cardchain/types/running_average.pb.go index 66809249..21f80b8f 100644 --- a/x/cardchain/types/running_average.pb.go +++ b/x/cardchain/types/running_average.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go index 460f7093..32a2be10 100644 --- a/x/cardchain/types/sell_offer.pb.go +++ b/x/cardchain/types/sell_offer.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/server.pb.go b/x/cardchain/types/server.pb.go index 8ed475d1..ea0ae809 100644 --- a/x/cardchain/types/server.pb.go +++ b/x/cardchain/types/server.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index 94c81951..e855ac39 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -5,12 +5,11 @@ package types import ( fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - types "github.com/cosmos/cosmos-sdk/types" - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/set_with_artwork.pb.go b/x/cardchain/types/set_with_artwork.pb.go index 31f9721e..04e0c25e 100644 --- a/x/cardchain/types/set_with_artwork.pb.go +++ b/x/cardchain/types/set_with_artwork.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index dd34e69e..182c66f7 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -20,6 +16,9 @@ import ( 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. diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index bc73282c..f70e234d 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go index dbcea152..fa56efe2 100644 --- a/x/cardchain/types/voting.pb.go +++ b/x/cardchain/types/voting.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/voting_results.pb.go b/x/cardchain/types/voting_results.pb.go index 26a4030b..8f1b4fcf 100644 --- a/x/cardchain/types/voting_results.pb.go +++ b/x/cardchain/types/voting_results.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go index 36bda627..30e9aaf4 100644 --- a/x/cardchain/types/zealy.pb.go +++ b/x/cardchain/types/zealy.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/flag.pb.go b/x/featureflag/types/flag.pb.go index 9ea00283..e1dd5d4d 100644 --- a/x/featureflag/types/flag.pb.go +++ b/x/featureflag/types/flag.pb.go @@ -5,11 +5,10 @@ package types import ( fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/cosmos/gogoproto/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/genesis.pb.go b/x/featureflag/types/genesis.pb.go index 6113e755..da869d10 100644 --- a/x/featureflag/types/genesis.pb.go +++ b/x/featureflag/types/genesis.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/params.pb.go b/x/featureflag/types/params.pb.go index 41595524..46dbabd7 100644 --- a/x/featureflag/types/params.pb.go +++ b/x/featureflag/types/params.pb.go @@ -5,13 +5,12 @@ package types import ( fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/featureflag/types/query.pb.go b/x/featureflag/types/query.pb.go index e7d3b919..2ec990b9 100644 --- a/x/featureflag/types/query.pb.go +++ b/x/featureflag/types/query.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -19,6 +15,9 @@ import ( 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. diff --git a/x/featureflag/types/tx.pb.go b/x/featureflag/types/tx.pb.go index 94b4be1b..af61eaab 100644 --- a/x/featureflag/types/tx.pb.go +++ b/x/featureflag/types/tx.pb.go @@ -6,10 +6,6 @@ package types import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -19,6 +15,9 @@ import ( 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. From e95117c5cc80423f441a4ef04b425416ec5f2ff4 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 15:52:45 +0100 Subject: [PATCH 52/99] feat(#242): Added Matches Query proto --- api/cardchain/cardchain/match.pulsar.go | 68 +- api/cardchain/cardchain/query.pulsar.go | 2118 +++++++++++++++++++--- api/cardchain/cardchain/query_grpc.pb.go | 39 + api/cardchain/cardchain/tx.pulsar.go | 4 +- docs/static/openapi.yml | 2 +- gen_queries.sh | 1 + proto/cardchain/cardchain/match.proto | 9 +- proto/cardchain/cardchain/query.proto | 18 + x/cardchain/keeper/query_matches.go | 23 + x/cardchain/module/autocli.go | 7 + x/cardchain/types/match.pb.go | 88 +- x/cardchain/types/query.pb.go | 925 ++++++++-- x/cardchain/types/query.pb.gw.go | 217 +++ x/cardchain/types/tx.pb.go | 4 +- 14 files changed, 3022 insertions(+), 501 deletions(-) create mode 100644 x/cardchain/keeper/query_matches.go diff --git a/api/cardchain/cardchain/match.pulsar.go b/api/cardchain/cardchain/match.pulsar.go index 191ba7fd..8c0f3591 100644 --- a/api/cardchain/cardchain/match.pulsar.go +++ b/api/cardchain/cardchain/match.pulsar.go @@ -1830,25 +1830,28 @@ const ( type Outcome int32 const ( - Outcome_AWon Outcome = 0 - Outcome_BWon Outcome = 1 - Outcome_Draw Outcome = 2 - Outcome_Aborted Outcome = 3 + Outcome_Undefined Outcome = 0 + Outcome_AWon Outcome = 1 + Outcome_BWon Outcome = 2 + Outcome_Draw Outcome = 3 + Outcome_Aborted Outcome = 4 ) // Enum value maps for Outcome. var ( Outcome_name = map[int32]string{ - 0: "AWon", - 1: "BWon", - 2: "Draw", - 3: "Aborted", + 0: "Undefined", + 1: "AWon", + 2: "BWon", + 3: "Draw", + 4: "Aborted", } Outcome_value = map[string]int32{ - "AWon": 0, - "BWon": 1, - "Draw": 2, - "Aborted": 3, + "Undefined": 0, + "AWon": 1, + "BWon": 2, + "Draw": 3, + "Aborted": 4, } ) @@ -1945,7 +1948,7 @@ func (x *Match) GetOutcome() Outcome { if x != nil { return x.Outcome } - return Outcome_AWon + return Outcome_Undefined } func (x *Match) GetCoinsDistributed() bool { @@ -2020,7 +2023,7 @@ func (x *MatchPlayer) GetOutcome() Outcome { if x != nil { return x.Outcome } - return Outcome_AWon + return Outcome_Undefined } func (x *MatchPlayer) GetDeck() []uint64 { @@ -2081,24 +2084,25 @@ var file_cardchain_cardchain_match_proto_rawDesc = []byte{ 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, - 0x72, 0x64, 0x73, 0x2a, 0x34, 0x0a, 0x07, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x08, - 0x0a, 0x04, 0x41, 0x57, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x57, 0x6f, 0x6e, - 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x72, 0x61, 0x77, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, - 0x41, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x10, 0x03, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, - 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, - 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x64, 0x73, 0x2a, 0x43, 0x0a, 0x07, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x0d, + 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x08, 0x0a, + 0x04, 0x41, 0x57, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x57, 0x6f, 0x6e, 0x10, + 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x72, 0x61, 0x77, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x41, + 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x10, 0x04, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, + 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 233c5f6f..dc9e1c38 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -17922,6 +17922,1368 @@ func (x *fastReflection_QueryVotingResultsResponse) ProtoMethods() *protoiface.M } } +var _ protoreflect.List = (*_QueryMatchesRequest_3_list)(nil) + +type _QueryMatchesRequest_3_list struct { + list *[]string +} + +func (x *_QueryMatchesRequest_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryMatchesRequest_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_QueryMatchesRequest_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QueryMatchesRequest_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryMatchesRequest_3_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QueryMatchesRequest at list field ContainsUsers as it is not of Message kind")) +} + +func (x *_QueryMatchesRequest_3_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QueryMatchesRequest_3_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_QueryMatchesRequest_3_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_QueryMatchesRequest_6_list)(nil) + +type _QueryMatchesRequest_6_list struct { + list *[]uint64 +} + +func (x *_QueryMatchesRequest_6_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryMatchesRequest_6_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_QueryMatchesRequest_6_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QueryMatchesRequest_6_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryMatchesRequest_6_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QueryMatchesRequest at list field CardsPlayed as it is not of Message kind")) +} + +func (x *_QueryMatchesRequest_6_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QueryMatchesRequest_6_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_QueryMatchesRequest_6_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryMatchesRequest protoreflect.MessageDescriptor + fd_QueryMatchesRequest_timestampDown protoreflect.FieldDescriptor + fd_QueryMatchesRequest_timestampUp protoreflect.FieldDescriptor + fd_QueryMatchesRequest_containsUsers protoreflect.FieldDescriptor + fd_QueryMatchesRequest_reporter protoreflect.FieldDescriptor + fd_QueryMatchesRequest_outcome protoreflect.FieldDescriptor + fd_QueryMatchesRequest_cardsPlayed protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryMatchesRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryMatchesRequest") + fd_QueryMatchesRequest_timestampDown = md_QueryMatchesRequest.Fields().ByName("timestampDown") + fd_QueryMatchesRequest_timestampUp = md_QueryMatchesRequest.Fields().ByName("timestampUp") + fd_QueryMatchesRequest_containsUsers = md_QueryMatchesRequest.Fields().ByName("containsUsers") + fd_QueryMatchesRequest_reporter = md_QueryMatchesRequest.Fields().ByName("reporter") + fd_QueryMatchesRequest_outcome = md_QueryMatchesRequest.Fields().ByName("outcome") + fd_QueryMatchesRequest_cardsPlayed = md_QueryMatchesRequest.Fields().ByName("cardsPlayed") +} + +var _ protoreflect.Message = (*fastReflection_QueryMatchesRequest)(nil) + +type fastReflection_QueryMatchesRequest QueryMatchesRequest + +func (x *QueryMatchesRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryMatchesRequest)(x) +} + +func (x *QueryMatchesRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryMatchesRequest_messageType fastReflection_QueryMatchesRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryMatchesRequest_messageType{} + +type fastReflection_QueryMatchesRequest_messageType struct{} + +func (x fastReflection_QueryMatchesRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryMatchesRequest)(nil) +} +func (x fastReflection_QueryMatchesRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryMatchesRequest) +} +func (x fastReflection_QueryMatchesRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryMatchesRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryMatchesRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryMatchesRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryMatchesRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryMatchesRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryMatchesRequest) New() protoreflect.Message { + return new(fastReflection_QueryMatchesRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryMatchesRequest) Interface() protoreflect.ProtoMessage { + return (*QueryMatchesRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryMatchesRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.TimestampDown != uint64(0) { + value := protoreflect.ValueOfUint64(x.TimestampDown) + if !f(fd_QueryMatchesRequest_timestampDown, value) { + return + } + } + if x.TimestampUp != uint64(0) { + value := protoreflect.ValueOfUint64(x.TimestampUp) + if !f(fd_QueryMatchesRequest_timestampUp, value) { + return + } + } + if len(x.ContainsUsers) != 0 { + value := protoreflect.ValueOfList(&_QueryMatchesRequest_3_list{list: &x.ContainsUsers}) + if !f(fd_QueryMatchesRequest_containsUsers, value) { + return + } + } + if x.Reporter != "" { + value := protoreflect.ValueOfString(x.Reporter) + if !f(fd_QueryMatchesRequest_reporter, value) { + return + } + } + if x.Outcome != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Outcome)) + if !f(fd_QueryMatchesRequest_outcome, value) { + return + } + } + if len(x.CardsPlayed) != 0 { + value := protoreflect.ValueOfList(&_QueryMatchesRequest_6_list{list: &x.CardsPlayed}) + if !f(fd_QueryMatchesRequest_cardsPlayed, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryMatchesRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchesRequest.timestampDown": + return x.TimestampDown != uint64(0) + case "cardchain.cardchain.QueryMatchesRequest.timestampUp": + return x.TimestampUp != uint64(0) + case "cardchain.cardchain.QueryMatchesRequest.containsUsers": + return len(x.ContainsUsers) != 0 + case "cardchain.cardchain.QueryMatchesRequest.reporter": + return x.Reporter != "" + case "cardchain.cardchain.QueryMatchesRequest.outcome": + return x.Outcome != 0 + case "cardchain.cardchain.QueryMatchesRequest.cardsPlayed": + return len(x.CardsPlayed) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchesRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchesRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchesRequest.timestampDown": + x.TimestampDown = uint64(0) + case "cardchain.cardchain.QueryMatchesRequest.timestampUp": + x.TimestampUp = uint64(0) + case "cardchain.cardchain.QueryMatchesRequest.containsUsers": + x.ContainsUsers = nil + case "cardchain.cardchain.QueryMatchesRequest.reporter": + x.Reporter = "" + case "cardchain.cardchain.QueryMatchesRequest.outcome": + x.Outcome = 0 + case "cardchain.cardchain.QueryMatchesRequest.cardsPlayed": + x.CardsPlayed = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchesRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryMatchesRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryMatchesRequest.timestampDown": + value := x.TimestampDown + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.QueryMatchesRequest.timestampUp": + value := x.TimestampUp + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.QueryMatchesRequest.containsUsers": + if len(x.ContainsUsers) == 0 { + return protoreflect.ValueOfList(&_QueryMatchesRequest_3_list{}) + } + listValue := &_QueryMatchesRequest_3_list{list: &x.ContainsUsers} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QueryMatchesRequest.reporter": + value := x.Reporter + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.QueryMatchesRequest.outcome": + value := x.Outcome + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "cardchain.cardchain.QueryMatchesRequest.cardsPlayed": + if len(x.CardsPlayed) == 0 { + return protoreflect.ValueOfList(&_QueryMatchesRequest_6_list{}) + } + listValue := &_QueryMatchesRequest_6_list{list: &x.CardsPlayed} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchesRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchesRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchesRequest.timestampDown": + x.TimestampDown = value.Uint() + case "cardchain.cardchain.QueryMatchesRequest.timestampUp": + x.TimestampUp = value.Uint() + case "cardchain.cardchain.QueryMatchesRequest.containsUsers": + lv := value.List() + clv := lv.(*_QueryMatchesRequest_3_list) + x.ContainsUsers = *clv.list + case "cardchain.cardchain.QueryMatchesRequest.reporter": + x.Reporter = value.Interface().(string) + case "cardchain.cardchain.QueryMatchesRequest.outcome": + x.Outcome = (Outcome)(value.Enum()) + case "cardchain.cardchain.QueryMatchesRequest.cardsPlayed": + lv := value.List() + clv := lv.(*_QueryMatchesRequest_6_list) + x.CardsPlayed = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchesRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchesRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchesRequest.containsUsers": + if x.ContainsUsers == nil { + x.ContainsUsers = []string{} + } + value := &_QueryMatchesRequest_3_list{list: &x.ContainsUsers} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QueryMatchesRequest.cardsPlayed": + if x.CardsPlayed == nil { + x.CardsPlayed = []uint64{} + } + value := &_QueryMatchesRequest_6_list{list: &x.CardsPlayed} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QueryMatchesRequest.timestampDown": + panic(fmt.Errorf("field timestampDown of message cardchain.cardchain.QueryMatchesRequest is not mutable")) + case "cardchain.cardchain.QueryMatchesRequest.timestampUp": + panic(fmt.Errorf("field timestampUp of message cardchain.cardchain.QueryMatchesRequest is not mutable")) + case "cardchain.cardchain.QueryMatchesRequest.reporter": + panic(fmt.Errorf("field reporter of message cardchain.cardchain.QueryMatchesRequest is not mutable")) + case "cardchain.cardchain.QueryMatchesRequest.outcome": + panic(fmt.Errorf("field outcome of message cardchain.cardchain.QueryMatchesRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchesRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryMatchesRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchesRequest.timestampDown": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.QueryMatchesRequest.timestampUp": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.QueryMatchesRequest.containsUsers": + list := []string{} + return protoreflect.ValueOfList(&_QueryMatchesRequest_3_list{list: &list}) + case "cardchain.cardchain.QueryMatchesRequest.reporter": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.QueryMatchesRequest.outcome": + return protoreflect.ValueOfEnum(0) + case "cardchain.cardchain.QueryMatchesRequest.cardsPlayed": + list := []uint64{} + return protoreflect.ValueOfList(&_QueryMatchesRequest_6_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchesRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryMatchesRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryMatchesRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryMatchesRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchesRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryMatchesRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryMatchesRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryMatchesRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.TimestampDown != 0 { + n += 1 + runtime.Sov(uint64(x.TimestampDown)) + } + if x.TimestampUp != 0 { + n += 1 + runtime.Sov(uint64(x.TimestampUp)) + } + if len(x.ContainsUsers) > 0 { + for _, s := range x.ContainsUsers { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + l = len(x.Reporter) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Outcome != 0 { + n += 1 + runtime.Sov(uint64(x.Outcome)) + } + if len(x.CardsPlayed) > 0 { + l = 0 + for _, e := range x.CardsPlayed { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryMatchesRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.CardsPlayed) > 0 { + var pksize2 int + for _, num := range x.CardsPlayed { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.CardsPlayed { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x32 + } + if x.Outcome != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Outcome)) + i-- + dAtA[i] = 0x28 + } + if len(x.Reporter) > 0 { + i -= len(x.Reporter) + copy(dAtA[i:], x.Reporter) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reporter))) + i-- + dAtA[i] = 0x22 + } + if len(x.ContainsUsers) > 0 { + for iNdEx := len(x.ContainsUsers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.ContainsUsers[iNdEx]) + copy(dAtA[i:], x.ContainsUsers[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ContainsUsers[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if x.TimestampUp != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TimestampUp)) + i-- + dAtA[i] = 0x10 + } + if x.TimestampDown != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TimestampDown)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryMatchesRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryMatchesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryMatchesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TimestampDown", wireType) + } + x.TimestampDown = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TimestampDown |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TimestampUp", wireType) + } + x.TimestampUp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TimestampUp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ContainsUsers", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ContainsUsers = append(x.ContainsUsers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reporter", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Reporter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + x.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Outcome |= Outcome(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.CardsPlayed = append(x.CardsPlayed, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.CardsPlayed) == 0 { + x.CardsPlayed = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.CardsPlayed = append(x.CardsPlayed, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardsPlayed", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QueryMatchesResponse_1_list)(nil) + +type _QueryMatchesResponse_1_list struct { + list *[]*Match +} + +func (x *_QueryMatchesResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryMatchesResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_QueryMatchesResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Match) + (*x.list)[i] = concreteValue +} + +func (x *_QueryMatchesResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Match) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryMatchesResponse_1_list) AppendMutable() protoreflect.Value { + v := new(Match) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryMatchesResponse_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_QueryMatchesResponse_1_list) NewElement() protoreflect.Value { + v := new(Match) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryMatchesResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryMatchesResponse protoreflect.MessageDescriptor + fd_QueryMatchesResponse_matches protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryMatchesResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryMatchesResponse") + fd_QueryMatchesResponse_matches = md_QueryMatchesResponse.Fields().ByName("matches") +} + +var _ protoreflect.Message = (*fastReflection_QueryMatchesResponse)(nil) + +type fastReflection_QueryMatchesResponse QueryMatchesResponse + +func (x *QueryMatchesResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryMatchesResponse)(x) +} + +func (x *QueryMatchesResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryMatchesResponse_messageType fastReflection_QueryMatchesResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryMatchesResponse_messageType{} + +type fastReflection_QueryMatchesResponse_messageType struct{} + +func (x fastReflection_QueryMatchesResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryMatchesResponse)(nil) +} +func (x fastReflection_QueryMatchesResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryMatchesResponse) +} +func (x fastReflection_QueryMatchesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryMatchesResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryMatchesResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryMatchesResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryMatchesResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryMatchesResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryMatchesResponse) New() protoreflect.Message { + return new(fastReflection_QueryMatchesResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryMatchesResponse) Interface() protoreflect.ProtoMessage { + return (*QueryMatchesResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryMatchesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Matches) != 0 { + value := protoreflect.ValueOfList(&_QueryMatchesResponse_1_list{list: &x.Matches}) + if !f(fd_QueryMatchesResponse_matches, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryMatchesResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchesResponse.matches": + return len(x.Matches) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchesResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchesResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchesResponse.matches": + x.Matches = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchesResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryMatchesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryMatchesResponse.matches": + if len(x.Matches) == 0 { + return protoreflect.ValueOfList(&_QueryMatchesResponse_1_list{}) + } + listValue := &_QueryMatchesResponse_1_list{list: &x.Matches} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchesResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchesResponse.matches": + lv := value.List() + clv := lv.(*_QueryMatchesResponse_1_list) + x.Matches = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchesResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchesResponse.matches": + if x.Matches == nil { + x.Matches = []*Match{} + } + value := &_QueryMatchesResponse_1_list{list: &x.Matches} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchesResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryMatchesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryMatchesResponse.matches": + list := []*Match{} + return protoreflect.ValueOfList(&_QueryMatchesResponse_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryMatchesResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryMatchesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryMatchesResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryMatchesResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryMatchesResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryMatchesResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryMatchesResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryMatchesResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Matches) > 0 { + for _, e := range x.Matches { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryMatchesResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Matches) > 0 { + for iNdEx := len(x.Matches) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Matches[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryMatchesResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryMatchesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryMatchesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Matches", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Matches = append(x.Matches, &Match{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Matches[len(x.Matches)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -19366,6 +20728,116 @@ func (x *QueryVotingResultsResponse) GetLastVotingResults() *VotingResults { return nil } +type QueryMatchesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TimestampDown uint64 `protobuf:"varint,1,opt,name=timestampDown,proto3" json:"timestampDown,omitempty"` + TimestampUp uint64 `protobuf:"varint,2,opt,name=timestampUp,proto3" json:"timestampUp,omitempty"` + ContainsUsers []string `protobuf:"bytes,3,rep,name=containsUsers,proto3" json:"containsUsers,omitempty"` + Reporter string `protobuf:"bytes,4,opt,name=reporter,proto3" json:"reporter,omitempty"` + Outcome Outcome `protobuf:"varint,5,opt,name=outcome,proto3,enum=cardchain.cardchain.Outcome" json:"outcome,omitempty"` + CardsPlayed []uint64 `protobuf:"varint,6,rep,packed,name=cardsPlayed,proto3" json:"cardsPlayed,omitempty"` +} + +func (x *QueryMatchesRequest) Reset() { + *x = QueryMatchesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryMatchesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryMatchesRequest) ProtoMessage() {} + +// Deprecated: Use QueryMatchesRequest.ProtoReflect.Descriptor instead. +func (*QueryMatchesRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{38} +} + +func (x *QueryMatchesRequest) GetTimestampDown() uint64 { + if x != nil { + return x.TimestampDown + } + return 0 +} + +func (x *QueryMatchesRequest) GetTimestampUp() uint64 { + if x != nil { + return x.TimestampUp + } + return 0 +} + +func (x *QueryMatchesRequest) GetContainsUsers() []string { + if x != nil { + return x.ContainsUsers + } + return nil +} + +func (x *QueryMatchesRequest) GetReporter() string { + if x != nil { + return x.Reporter + } + return "" +} + +func (x *QueryMatchesRequest) GetOutcome() Outcome { + if x != nil { + return x.Outcome + } + return Outcome_Undefined +} + +func (x *QueryMatchesRequest) GetCardsPlayed() []uint64 { + if x != nil { + return x.CardsPlayed + } + return nil +} + +type QueryMatchesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Matches []*Match `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` +} + +func (x *QueryMatchesResponse) Reset() { + *x = QueryMatchesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryMatchesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryMatchesResponse) ProtoMessage() {} + +// Deprecated: Use QueryMatchesResponse.ProtoReflect.Descriptor instead. +func (*QueryMatchesResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{39} +} + +func (x *QueryMatchesResponse) GetMatches() []*Match { + if x != nil { + return x.Matches + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -19623,228 +21095,263 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x32, 0xf1, 0x19, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, - 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, - 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x22, 0xf9, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x20, + 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, + 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, + 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, + 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, + 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x22, 0x4c, 0x0a, 0x14, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x32, 0xdd, 0x1b, 0x0a, 0x05, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, + 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, + 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, + 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, - 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, + 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, + 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, + 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, + 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, + 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, - 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, - 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, + 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, + 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, - 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, + 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, - 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, + 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, - 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, - 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, - 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, - 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, - 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, - 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xaf, 0x01, 0x0a, - 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, + 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, + 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, + 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, + 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, + 0x49, 0x64, 0x7d, 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, + 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, + 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, + 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, + 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xd8, - 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, - 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x61, - 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, 0x31, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x72, - 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, - 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, + 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, + 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, - 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x7d, 0x2f, 0x7b, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, + 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, + 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -19859,7 +21366,7 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 38) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 40) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse @@ -19899,92 +21406,99 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryAccountFromZealyResponse)(nil), // 35: cardchain.cardchain.QueryAccountFromZealyResponse (*QueryVotingResultsRequest)(nil), // 36: cardchain.cardchain.QueryVotingResultsRequest (*QueryVotingResultsResponse)(nil), // 37: cardchain.cardchain.QueryVotingResultsResponse - (*Params)(nil), // 38: cardchain.cardchain.Params - (*ProductDetails)(nil), // 39: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 40: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 41: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 42: cardchain.cardchain.CardWithImage - (*User)(nil), // 43: cardchain.cardchain.User - (CardStatus)(0), // 44: cardchain.cardchain.CardStatus - (CardType)(0), // 45: cardchain.cardchain.CardType - (CardClass)(0), // 46: cardchain.cardchain.CardClass - (CardRarity)(0), // 47: cardchain.cardchain.CardRarity - (*Match)(nil), // 48: cardchain.cardchain.Match - (*SetWithArtwork)(nil), // 49: cardchain.cardchain.SetWithArtwork - (*SellOffer)(nil), // 50: cardchain.cardchain.SellOffer - (*Council)(nil), // 51: cardchain.cardchain.Council - (*Server)(nil), // 52: cardchain.cardchain.Server - (*Encounter)(nil), // 53: cardchain.cardchain.Encounter - (*EncounterWithImage)(nil), // 54: cardchain.cardchain.EncounterWithImage - (*v1beta11.Coin)(nil), // 55: cosmos.base.v1beta1.Coin - (*VotingResults)(nil), // 56: cardchain.cardchain.VotingResults + (*QueryMatchesRequest)(nil), // 38: cardchain.cardchain.QueryMatchesRequest + (*QueryMatchesResponse)(nil), // 39: cardchain.cardchain.QueryMatchesResponse + (*Params)(nil), // 40: cardchain.cardchain.Params + (*ProductDetails)(nil), // 41: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 42: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 43: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 44: cardchain.cardchain.CardWithImage + (*User)(nil), // 45: cardchain.cardchain.User + (CardStatus)(0), // 46: cardchain.cardchain.CardStatus + (CardType)(0), // 47: cardchain.cardchain.CardType + (CardClass)(0), // 48: cardchain.cardchain.CardClass + (CardRarity)(0), // 49: cardchain.cardchain.CardRarity + (*Match)(nil), // 50: cardchain.cardchain.Match + (*SetWithArtwork)(nil), // 51: cardchain.cardchain.SetWithArtwork + (*SellOffer)(nil), // 52: cardchain.cardchain.SellOffer + (*Council)(nil), // 53: cardchain.cardchain.Council + (*Server)(nil), // 54: cardchain.cardchain.Server + (*Encounter)(nil), // 55: cardchain.cardchain.Encounter + (*EncounterWithImage)(nil), // 56: cardchain.cardchain.EncounterWithImage + (*v1beta11.Coin)(nil), // 57: cosmos.base.v1beta1.Coin + (*VotingResults)(nil), // 58: cardchain.cardchain.VotingResults + (Outcome)(0), // 59: cardchain.cardchain.Outcome } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 38, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 39, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 40, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 39, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 41, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 42, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 43, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 44, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus - 45, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType - 46, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass - 47, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity - 48, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match - 49, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork - 50, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer - 51, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council - 52, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server - 53, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter - 53, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter - 54, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage - 54, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage - 55, // 20: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin - 56, // 21: cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults:type_name -> cardchain.cardchain.VotingResults - 0, // 22: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 23: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 24: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 25: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 26: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 27: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 12, // 28: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest - 14, // 29: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest - 16, // 30: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest - 18, // 31: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest - 20, // 32: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest - 22, // 33: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest - 24, // 34: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest - 26, // 35: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest - 28, // 36: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest - 30, // 37: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest - 32, // 38: cardchain.cardchain.Query.SetRarityDistribution:input_type -> cardchain.cardchain.QuerySetRarityDistributionRequest - 34, // 39: cardchain.cardchain.Query.AccountFromZealy:input_type -> cardchain.cardchain.QueryAccountFromZealyRequest - 36, // 40: cardchain.cardchain.Query.VotingResults:input_type -> cardchain.cardchain.QueryVotingResultsRequest - 1, // 41: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 42: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 43: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 44: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 45: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 46: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 13, // 47: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse - 15, // 48: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse - 17, // 49: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse - 19, // 50: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse - 21, // 51: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse - 23, // 52: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse - 25, // 53: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse - 27, // 54: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse - 29, // 55: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse - 31, // 56: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse - 33, // 57: cardchain.cardchain.Query.SetRarityDistribution:output_type -> cardchain.cardchain.QuerySetRarityDistributionResponse - 35, // 58: cardchain.cardchain.Query.AccountFromZealy:output_type -> cardchain.cardchain.QueryAccountFromZealyResponse - 37, // 59: cardchain.cardchain.Query.VotingResults:output_type -> cardchain.cardchain.QueryVotingResultsResponse - 41, // [41:60] is the sub-list for method output_type - 22, // [22:41] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 40, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 41, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 42, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 41, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 43, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 44, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 45, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 46, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 47, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 48, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 49, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 50, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match + 51, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork + 52, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer + 53, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council + 54, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server + 55, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter + 55, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter + 56, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage + 56, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage + 57, // 20: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin + 58, // 21: cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults:type_name -> cardchain.cardchain.VotingResults + 59, // 22: cardchain.cardchain.QueryMatchesRequest.outcome:type_name -> cardchain.cardchain.Outcome + 50, // 23: cardchain.cardchain.QueryMatchesResponse.matches:type_name -> cardchain.cardchain.Match + 0, // 24: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 25: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 26: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 27: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 28: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 10, // 29: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 12, // 30: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest + 14, // 31: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest + 16, // 32: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest + 18, // 33: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest + 20, // 34: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest + 22, // 35: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest + 24, // 36: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest + 26, // 37: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest + 28, // 38: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest + 30, // 39: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest + 32, // 40: cardchain.cardchain.Query.SetRarityDistribution:input_type -> cardchain.cardchain.QuerySetRarityDistributionRequest + 34, // 41: cardchain.cardchain.Query.AccountFromZealy:input_type -> cardchain.cardchain.QueryAccountFromZealyRequest + 36, // 42: cardchain.cardchain.Query.VotingResults:input_type -> cardchain.cardchain.QueryVotingResultsRequest + 38, // 43: cardchain.cardchain.Query.Matches:input_type -> cardchain.cardchain.QueryMatchesRequest + 1, // 44: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 45: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 46: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 47: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 48: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 49: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 13, // 50: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse + 15, // 51: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse + 17, // 52: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse + 19, // 53: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse + 21, // 54: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse + 23, // 55: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse + 25, // 56: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse + 27, // 57: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse + 29, // 58: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse + 31, // 59: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse + 33, // 60: cardchain.cardchain.Query.SetRarityDistribution:output_type -> cardchain.cardchain.QuerySetRarityDistributionResponse + 35, // 61: cardchain.cardchain.Query.AccountFromZealy:output_type -> cardchain.cardchain.QueryAccountFromZealyResponse + 37, // 62: cardchain.cardchain.Query.VotingResults:output_type -> cardchain.cardchain.QueryVotingResultsResponse + 39, // 63: cardchain.cardchain.Query.Matches:output_type -> cardchain.cardchain.QueryMatchesResponse + 44, // [44:64] is the sub-list for method output_type + 24, // [24:44] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -20462,6 +21976,30 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryMatchesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryMatchesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -20469,7 +22007,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 38, + NumMessages: 40, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 8a278254..f1710500 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -38,6 +38,7 @@ const ( Query_SetRarityDistribution_FullMethodName = "/cardchain.cardchain.Query/SetRarityDistribution" Query_AccountFromZealy_FullMethodName = "/cardchain.cardchain.Query/AccountFromZealy" Query_VotingResults_FullMethodName = "/cardchain.cardchain.Query/VotingResults" + Query_Matches_FullMethodName = "/cardchain.cardchain.Query/Matches" ) // QueryClient is the client API for Query service. @@ -81,6 +82,8 @@ type QueryClient interface { AccountFromZealy(ctx context.Context, in *QueryAccountFromZealyRequest, opts ...grpc.CallOption) (*QueryAccountFromZealyResponse, error) // Queries a list of VotingResults items. VotingResults(ctx context.Context, in *QueryVotingResultsRequest, opts ...grpc.CallOption) (*QueryVotingResultsResponse, error) + // Queries a list of Matches items. + Matches(ctx context.Context, in *QueryMatchesRequest, opts ...grpc.CallOption) (*QueryMatchesResponse, error) } type queryClient struct { @@ -262,6 +265,15 @@ func (c *queryClient) VotingResults(ctx context.Context, in *QueryVotingResultsR return out, nil } +func (c *queryClient) Matches(ctx context.Context, in *QueryMatchesRequest, opts ...grpc.CallOption) (*QueryMatchesResponse, error) { + out := new(QueryMatchesResponse) + err := c.cc.Invoke(ctx, Query_Matches_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -303,6 +315,8 @@ type QueryServer interface { AccountFromZealy(context.Context, *QueryAccountFromZealyRequest) (*QueryAccountFromZealyResponse, error) // Queries a list of VotingResults items. VotingResults(context.Context, *QueryVotingResultsRequest) (*QueryVotingResultsResponse, error) + // Queries a list of Matches items. + Matches(context.Context, *QueryMatchesRequest) (*QueryMatchesResponse, error) mustEmbedUnimplementedQueryServer() } @@ -367,6 +381,9 @@ func (UnimplementedQueryServer) AccountFromZealy(context.Context, *QueryAccountF func (UnimplementedQueryServer) VotingResults(context.Context, *QueryVotingResultsRequest) (*QueryVotingResultsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method VotingResults not implemented") } +func (UnimplementedQueryServer) Matches(context.Context, *QueryMatchesRequest) (*QueryMatchesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Matches not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -722,6 +739,24 @@ func _Query_VotingResults_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Query_Matches_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryMatchesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Matches(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Matches_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Matches(ctx, req.(*QueryMatchesRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -805,6 +840,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "VotingResults", Handler: _Query_VotingResults_Handler, }, + { + MethodName: "Matches", + Handler: _Query_Matches_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index ac894ab3..770d294f 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -47652,7 +47652,7 @@ func (x *MsgMatchReport) GetOutcome() Outcome { if x != nil { return x.Outcome } - return Outcome_AWon + return Outcome_Undefined } type MsgMatchReportResponse struct { @@ -49109,7 +49109,7 @@ func (x *MsgMatchConfirm) GetOutcome() Outcome { if x != nil { return x.Outcome } - return Outcome_AWon + return Outcome_Undefined } func (x *MsgMatchConfirm) GetVotedCards() []*SingleVote { diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 21c41073..4f930aa6 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"AWon","enum":["AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index d79bcaf6..1be762dd 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -19,3 +19,4 @@ set -o pipefail #ignite scaffold query setRarityDistribution setId --response current:uints wanted:uints #ignite scaffold query accountFromZealy zealyId:string --response address:string #ignite scaffold query votingResults --response lastVotingResults:VotingResults +ignite scaffold query matches timestampDown:uint timestampUp:uint containsUsers:strings reporter outcome cardsPlayed:uints --response matches diff --git a/proto/cardchain/cardchain/match.proto b/proto/cardchain/cardchain/match.proto index 0046ef6d..e890fd7d 100644 --- a/proto/cardchain/cardchain/match.proto +++ b/proto/cardchain/cardchain/match.proto @@ -25,8 +25,9 @@ message MatchPlayer { } enum Outcome { - AWon = 0; - BWon = 1; - Draw = 2; - Aborted = 3; + Undefined = 0; + AWon = 1; + BWon = 2; + Draw = 3; + Aborted = 4; } diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 1581c01f..3c0d9f2f 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -145,6 +145,13 @@ service Query { option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/voting_results"; } + + // Queries a list of Matches items. + rpc Matches(QueryMatchesRequest) returns (QueryMatchesResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/" + "{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}"; + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -262,3 +269,14 @@ message QueryAccountFromZealyResponse { string address = 1; } message QueryVotingResultsRequest {} message QueryVotingResultsResponse { VotingResults lastVotingResults = 1; } + +message QueryMatchesRequest { + uint64 timestampDown = 1; + uint64 timestampUp = 2; + repeated string containsUsers = 3; + string reporter = 4; + Outcome outcome = 5; + repeated uint64 cardsPlayed = 6; +} + +message QueryMatchesResponse { repeated Match matches = 1; } diff --git a/x/cardchain/keeper/query_matches.go b/x/cardchain/keeper/query_matches.go new file mode 100644 index 00000000..cb30c24d --- /dev/null +++ b/x/cardchain/keeper/query_matches.go @@ -0,0 +1,23 @@ +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) Matches(goCtx context.Context, req *types.QueryMatchesRequest) (*types.QueryMatchesResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryMatchesResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 8a255007..a705e251 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -140,6 +140,13 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{}, }, + { + RpcMethod: "Matches", + Use: "matches [timestamp-down] [timestamp-up] [contains-users] [reporter] [outcome] [cards-played]", + Short: "Query matches", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "timestampDown"}, {ProtoField: "timestampUp"}, {ProtoField: "containsUsers"}, {ProtoField: "reporter"}, {ProtoField: "outcome"}, {ProtoField: "cardsPlayed"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 7ac97cf8..d3eeb478 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -25,24 +25,27 @@ 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 + Outcome_Undefined Outcome = 0 + Outcome_AWon Outcome = 1 + Outcome_BWon Outcome = 2 + Outcome_Draw Outcome = 3 + Outcome_Aborted Outcome = 4 ) var Outcome_name = map[int32]string{ - 0: "AWon", - 1: "BWon", - 2: "Draw", - 3: "Aborted", + 0: "Undefined", + 1: "AWon", + 2: "BWon", + 3: "Draw", + 4: "Aborted", } var Outcome_value = map[string]int32{ - "AWon": 0, - "BWon": 1, - "Draw": 2, - "Aborted": 3, + "Undefined": 0, + "AWon": 1, + "BWon": 2, + "Draw": 3, + "Aborted": 4, } func (x Outcome) String() string { @@ -128,7 +131,7 @@ func (m *Match) GetOutcome() Outcome { if m != nil { return m.Outcome } - return Outcome_AWon + return Outcome_Undefined } func (m *Match) GetCoinsDistributed() bool { @@ -212,7 +215,7 @@ func (m *MatchPlayer) GetOutcome() Outcome { if m != nil { return m.Outcome } - return Outcome_AWon + return Outcome_Undefined } func (m *MatchPlayer) GetDeck() []uint64 { @@ -238,34 +241,35 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/match.proto", fileDescriptor_f49b609716516c9f) } var fileDescriptor_f49b609716516c9f = []byte{ - // 429 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0x41, 0x8b, 0x13, 0x31, - 0x1c, 0xc5, 0x9b, 0xce, 0xec, 0x4e, 0xfb, 0x1f, 0xd0, 0x12, 0x2f, 0x61, 0x59, 0x66, 0xc3, 0x9e, - 0xc2, 0x1e, 0x66, 0xa1, 0x8a, 0x88, 0x17, 0x69, 0xb7, 0xe0, 0x49, 0x94, 0x08, 0x0a, 0xde, 0xd2, - 0x24, 0xb6, 0xc1, 0xce, 0x64, 0xc8, 0xa4, 0xd5, 0xfd, 0x16, 0x7e, 0x2b, 0x3d, 0xee, 0xd1, 0xa3, - 0xb4, 0x77, 0x3f, 0x83, 0x4c, 0xd6, 0xb6, 0x83, 0xdb, 0x4b, 0x6f, 0xbf, 0x79, 0xfc, 0x5f, 0xde, - 0xcb, 0xe4, 0x0f, 0x17, 0x52, 0x38, 0x25, 0xe7, 0xc2, 0x94, 0xd7, 0x7b, 0x2a, 0x84, 0x97, 0xf3, - 0xbc, 0x72, 0xd6, 0x5b, 0xfc, 0x64, 0x27, 0xe7, 0x3b, 0x3a, 0xa3, 0x87, 0x5c, 0x2b, 0xeb, 0x4d, - 0x39, 0xbb, 0xb7, 0x5d, 0xfe, 0xe8, 0xc2, 0xc9, 0x9b, 0xe6, 0x18, 0x7c, 0x0e, 0x7d, 0x6f, 0x0a, - 0x5d, 0x7b, 0x51, 0x54, 0x04, 0x51, 0xc4, 0x62, 0xbe, 0x17, 0xf0, 0x19, 0xf4, 0x9c, 0xae, 0xac, - 0xf3, 0xda, 0x91, 0x2e, 0x45, 0xac, 0xcf, 0x77, 0xdf, 0xf8, 0x25, 0x24, 0xd5, 0x42, 0xdc, 0x6a, - 0x37, 0x22, 0x11, 0x45, 0x2c, 0x1d, 0xd2, 0xfc, 0x40, 0x99, 0x3c, 0xc4, 0xbc, 0x0b, 0x83, 0x7c, - 0x6b, 0xd8, 0x7b, 0xc7, 0x24, 0x3e, 0xce, 0x3b, 0xc6, 0xcf, 0x21, 0xb1, 0x4b, 0x2f, 0x6d, 0xa1, - 0x49, 0x42, 0x11, 0x7b, 0x34, 0x3c, 0x3f, 0xe8, 0x7d, 0x7b, 0x3f, 0xc3, 0xb7, 0xc3, 0xf8, 0x0a, - 0x06, 0xd2, 0x9a, 0xb2, 0x9e, 0x98, 0xda, 0x3b, 0x33, 0x5d, 0x7a, 0xad, 0x08, 0x50, 0xc4, 0x7a, - 0xfc, 0x81, 0x8e, 0x19, 0x3c, 0xae, 0xb5, 0x5b, 0x69, 0x77, 0x63, 0xcb, 0xcf, 0xc6, 0x15, 0x5a, - 0x91, 0x5e, 0x18, 0xfd, 0x5f, 0xbe, 0xfc, 0x83, 0x20, 0x6d, 0xd5, 0xc4, 0x18, 0x62, 0xa1, 0x94, - 0x0b, 0xbf, 0xb2, 0xcf, 0x03, 0x63, 0x0a, 0x69, 0x28, 0xaf, 0x6e, 0x84, 0x53, 0x35, 0xe9, 0xd2, - 0x88, 0xc5, 0xbc, 0x2d, 0x35, 0xaf, 0x20, 0x77, 0x49, 0x51, 0x48, 0xda, 0x0b, 0xed, 0x1b, 0xc7, - 0xc7, 0xdc, 0x18, 0x43, 0xac, 0xb4, 0xfc, 0x42, 0x4e, 0x42, 0x60, 0x60, 0xfc, 0x0a, 0x60, 0x65, - 0xfd, 0xb6, 0xca, 0x29, 0x8d, 0x58, 0x3a, 0xbc, 0x38, 0x78, 0xdc, 0x7b, 0x53, 0xce, 0x16, 0xfa, - 0x83, 0xf5, 0x9a, 0xb7, 0x2c, 0x57, 0xcf, 0x20, 0xf9, 0x17, 0x84, 0x7b, 0x10, 0x8f, 0x3e, 0xda, - 0x72, 0xd0, 0x69, 0x68, 0xdc, 0x10, 0x6a, 0x68, 0xe2, 0xc4, 0xd7, 0x41, 0x17, 0xa7, 0x90, 0x8c, - 0xa6, 0xcd, 0xaa, 0xa8, 0x41, 0x34, 0xe6, 0x3f, 0xd7, 0x19, 0xba, 0x5b, 0x67, 0xe8, 0xf7, 0x3a, - 0x43, 0xdf, 0x37, 0x59, 0xe7, 0x6e, 0x93, 0x75, 0x7e, 0x6d, 0xb2, 0xce, 0xa7, 0x17, 0x33, 0xe3, - 0xe7, 0xcb, 0x69, 0x2e, 0x6d, 0x71, 0x3d, 0xd1, 0x52, 0x97, 0xde, 0x89, 0x45, 0x13, 0xf5, 0x5a, - 0x14, 0xba, 0xb5, 0xbf, 0xdf, 0x5a, 0xec, 0x6f, 0x2b, 0x5d, 0x4f, 0x4f, 0xc3, 0x2e, 0x3f, 0xfd, - 0x1b, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x37, 0xf8, 0x73, 0x25, 0x03, 0x00, 0x00, + // 441 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0x4f, 0x8b, 0xd3, 0x40, + 0x18, 0xc6, 0x3b, 0x4d, 0x76, 0xd3, 0xbe, 0x41, 0x0d, 0xe3, 0x25, 0x2c, 0x4b, 0x76, 0xd8, 0x53, + 0xd8, 0x43, 0x16, 0x2a, 0x88, 0x78, 0x91, 0xfe, 0x01, 0x4f, 0xa2, 0x44, 0x54, 0xf0, 0x36, 0xcd, + 0xbc, 0xdb, 0x0e, 0x36, 0x33, 0x61, 0x32, 0xad, 0xee, 0xb7, 0xf0, 0x5b, 0xe9, 0x71, 0x8f, 0x1e, + 0xa5, 0xbd, 0xfb, 0x19, 0x24, 0xb3, 0xb6, 0x0d, 0x6e, 0x2f, 0xbd, 0xfd, 0xf2, 0xf0, 0x3e, 0xf3, + 0x3c, 0x93, 0x79, 0xe1, 0xa2, 0xe0, 0x46, 0x14, 0x73, 0x2e, 0xd5, 0xf5, 0x9e, 0x4a, 0x6e, 0x8b, + 0x79, 0x56, 0x19, 0x6d, 0x35, 0x7d, 0xba, 0x93, 0xb3, 0x1d, 0x9d, 0xb1, 0x43, 0xae, 0x95, 0xb6, + 0x52, 0xcd, 0xee, 0x6d, 0x97, 0x3f, 0xba, 0x70, 0xf2, 0xa6, 0x39, 0x86, 0x9e, 0x43, 0xdf, 0xca, + 0x12, 0x6b, 0xcb, 0xcb, 0x2a, 0x26, 0x8c, 0xa4, 0x7e, 0xbe, 0x17, 0xe8, 0x19, 0xf4, 0x0c, 0x56, + 0xda, 0x58, 0x34, 0x71, 0x97, 0x91, 0xb4, 0x9f, 0xef, 0xbe, 0xe9, 0x4b, 0x08, 0xaa, 0x05, 0xbf, + 0x45, 0x33, 0x8c, 0x3d, 0x46, 0xd2, 0x70, 0xc0, 0xb2, 0x03, 0x65, 0x32, 0x17, 0xf3, 0xce, 0x0d, + 0xe6, 0x5b, 0xc3, 0xde, 0x3b, 0x8a, 0xfd, 0xe3, 0xbc, 0x23, 0xfa, 0x1c, 0x02, 0xbd, 0xb4, 0x85, + 0x2e, 0x31, 0x0e, 0x18, 0x49, 0x1f, 0x0f, 0xce, 0x0f, 0x7a, 0xdf, 0xde, 0xcf, 0xe4, 0xdb, 0x61, + 0x7a, 0x05, 0x51, 0xa1, 0xa5, 0xaa, 0x27, 0xb2, 0xb6, 0x46, 0x4e, 0x97, 0x16, 0x45, 0x0c, 0x8c, + 0xa4, 0xbd, 0xfc, 0x81, 0x4e, 0x53, 0x78, 0x52, 0xa3, 0x59, 0xa1, 0x19, 0x6b, 0x75, 0x23, 0x4d, + 0x89, 0x22, 0xee, 0xb9, 0xd1, 0xff, 0xe5, 0xcb, 0x3f, 0x04, 0xc2, 0x56, 0x4d, 0x4a, 0xc1, 0xe7, + 0x42, 0x18, 0xf7, 0x2b, 0xfb, 0xb9, 0x63, 0xca, 0x20, 0x74, 0xe5, 0xc5, 0x98, 0x1b, 0x51, 0xc7, + 0x5d, 0xe6, 0xa5, 0x7e, 0xde, 0x96, 0x9a, 0x57, 0x28, 0x76, 0x49, 0x9e, 0x4b, 0xda, 0x0b, 0xed, + 0x1b, 0xfb, 0xc7, 0xdc, 0x98, 0x82, 0x2f, 0xb0, 0xf8, 0x12, 0x9f, 0xb8, 0x40, 0xc7, 0xf4, 0x15, + 0xc0, 0x4a, 0xdb, 0x6d, 0x95, 0x53, 0xe6, 0xa5, 0xe1, 0xe0, 0xe2, 0xe0, 0x71, 0xef, 0xa5, 0x9a, + 0x2d, 0xf0, 0xa3, 0xb6, 0x98, 0xb7, 0x2c, 0x57, 0x63, 0x08, 0xfe, 0x05, 0xd1, 0x47, 0xd0, 0xff, + 0xa0, 0x04, 0xde, 0x48, 0x85, 0x22, 0xea, 0xd0, 0x1e, 0xf8, 0xc3, 0x4f, 0x5a, 0x45, 0xa4, 0xa1, + 0x51, 0x43, 0xdd, 0x86, 0x26, 0x86, 0x7f, 0x8d, 0x3c, 0x1a, 0x42, 0x30, 0x9c, 0x36, 0x9b, 0x23, + 0x22, 0x7f, 0x94, 0xff, 0x5c, 0x27, 0xe4, 0x6e, 0x9d, 0x90, 0xdf, 0xeb, 0x84, 0x7c, 0xdf, 0x24, + 0x9d, 0xbb, 0x4d, 0xd2, 0xf9, 0xb5, 0x49, 0x3a, 0x9f, 0x5f, 0xcc, 0xa4, 0x9d, 0x2f, 0xa7, 0x59, + 0xa1, 0xcb, 0xeb, 0x09, 0x16, 0xa8, 0xac, 0xe1, 0x8b, 0x26, 0xf9, 0x35, 0x2f, 0xb1, 0xb5, 0xce, + 0xdf, 0x5a, 0x6c, 0x6f, 0x2b, 0xac, 0xa7, 0xa7, 0x6e, 0xb5, 0x9f, 0xfd, 0x0d, 0x00, 0x00, 0xff, + 0xff, 0x6c, 0xa7, 0x78, 0xb3, 0x34, 0x03, 0x00, 0x00, } func (m *Match) Marshal() (dAtA []byte, err error) { diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index a138686b..2d16a1b6 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -1811,6 +1811,134 @@ func (m *QueryVotingResultsResponse) GetLastVotingResults() *VotingResults { return nil } +type QueryMatchesRequest struct { + TimestampDown uint64 `protobuf:"varint,1,opt,name=timestampDown,proto3" json:"timestampDown,omitempty"` + TimestampUp uint64 `protobuf:"varint,2,opt,name=timestampUp,proto3" json:"timestampUp,omitempty"` + ContainsUsers []string `protobuf:"bytes,3,rep,name=containsUsers,proto3" json:"containsUsers,omitempty"` + Reporter string `protobuf:"bytes,4,opt,name=reporter,proto3" json:"reporter,omitempty"` + Outcome Outcome `protobuf:"varint,5,opt,name=outcome,proto3,enum=cardchain.cardchain.Outcome" json:"outcome,omitempty"` + CardsPlayed []uint64 `protobuf:"varint,6,rep,packed,name=cardsPlayed,proto3" json:"cardsPlayed,omitempty"` +} + +func (m *QueryMatchesRequest) Reset() { *m = QueryMatchesRequest{} } +func (m *QueryMatchesRequest) String() string { return proto.CompactTextString(m) } +func (*QueryMatchesRequest) ProtoMessage() {} +func (*QueryMatchesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{38} +} +func (m *QueryMatchesRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryMatchesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryMatchesRequest.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 *QueryMatchesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryMatchesRequest.Merge(m, src) +} +func (m *QueryMatchesRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryMatchesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryMatchesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryMatchesRequest proto.InternalMessageInfo + +func (m *QueryMatchesRequest) GetTimestampDown() uint64 { + if m != nil { + return m.TimestampDown + } + return 0 +} + +func (m *QueryMatchesRequest) GetTimestampUp() uint64 { + if m != nil { + return m.TimestampUp + } + return 0 +} + +func (m *QueryMatchesRequest) GetContainsUsers() []string { + if m != nil { + return m.ContainsUsers + } + return nil +} + +func (m *QueryMatchesRequest) GetReporter() string { + if m != nil { + return m.Reporter + } + return "" +} + +func (m *QueryMatchesRequest) GetOutcome() Outcome { + if m != nil { + return m.Outcome + } + return Outcome_Undefined +} + +func (m *QueryMatchesRequest) GetCardsPlayed() []uint64 { + if m != nil { + return m.CardsPlayed + } + return nil +} + +type QueryMatchesResponse struct { + Matches []*Match `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` +} + +func (m *QueryMatchesResponse) Reset() { *m = QueryMatchesResponse{} } +func (m *QueryMatchesResponse) String() string { return proto.CompactTextString(m) } +func (*QueryMatchesResponse) ProtoMessage() {} +func (*QueryMatchesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{39} +} +func (m *QueryMatchesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryMatchesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryMatchesResponse.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 *QueryMatchesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryMatchesResponse.Merge(m, src) +} +func (m *QueryMatchesResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryMatchesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryMatchesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryMatchesResponse proto.InternalMessageInfo + +func (m *QueryMatchesResponse) GetMatches() []*Match { + if m != nil { + return m.Matches + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -1850,139 +1978,152 @@ func init() { proto.RegisterType((*QueryAccountFromZealyResponse)(nil), "cardchain.cardchain.QueryAccountFromZealyResponse") proto.RegisterType((*QueryVotingResultsRequest)(nil), "cardchain.cardchain.QueryVotingResultsRequest") proto.RegisterType((*QueryVotingResultsResponse)(nil), "cardchain.cardchain.QueryVotingResultsResponse") + proto.RegisterType((*QueryMatchesRequest)(nil), "cardchain.cardchain.QueryMatchesRequest") + proto.RegisterType((*QueryMatchesResponse)(nil), "cardchain.cardchain.QueryMatchesResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2024 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0x4f, 0x6f, 0x1b, 0xc7, - 0x15, 0xf7, 0x4a, 0x14, 0x25, 0x3e, 0x27, 0x8e, 0x3d, 0x76, 0x52, 0x9a, 0x71, 0x68, 0x79, 0xe3, - 0xd8, 0x8a, 0x1a, 0x73, 0x63, 0xc9, 0xff, 0xe4, 0x38, 0x6e, 0x24, 0xd9, 0x52, 0x5d, 0xc3, 0x8e, - 0xb2, 0x6a, 0x5c, 0x34, 0x17, 0x62, 0x45, 0x8e, 0xa8, 0x85, 0x97, 0xbb, 0xca, 0xce, 0x50, 0x2a, - 0x4b, 0xf0, 0xd2, 0x0f, 0x50, 0x14, 0x4d, 0x51, 0xf4, 0x52, 0xa0, 0xe8, 0xa9, 0x87, 0x16, 0xed, - 0x07, 0x08, 0x7a, 0x2a, 0x0a, 0x1f, 0x53, 0xf4, 0x92, 0x53, 0x51, 0xd8, 0x05, 0x7a, 0xee, 0x37, - 0x28, 0x66, 0xe6, 0xed, 0x70, 0x97, 0x5c, 0xae, 0x96, 0xf6, 0x45, 0xd8, 0x99, 0xf9, 0xbd, 0xf7, - 0x7e, 0x33, 0xef, 0xcd, 0xbc, 0xf7, 0x28, 0x38, 0xdf, 0x70, 0xc2, 0x66, 0x63, 0xcf, 0x71, 0x7d, - 0x6b, 0xf0, 0xf5, 0x65, 0x87, 0x86, 0xdd, 0xda, 0x7e, 0x18, 0xf0, 0x80, 0x9c, 0xd6, 0xd3, 0x35, - 0xfd, 0x55, 0x39, 0xe5, 0xb4, 0x5d, 0x3f, 0xb0, 0xe4, 0x5f, 0x85, 0xab, 0x9c, 0x69, 0x05, 0xad, - 0x40, 0x7e, 0x5a, 0xe2, 0x0b, 0x67, 0xcf, 0xb5, 0x82, 0xa0, 0xe5, 0x51, 0xcb, 0xd9, 0x77, 0x2d, - 0xc7, 0xf7, 0x03, 0xee, 0x70, 0x37, 0xf0, 0x19, 0xae, 0x2e, 0x36, 0x02, 0xd6, 0x0e, 0x98, 0xb5, - 0xe3, 0x30, 0xaa, 0x8c, 0x5a, 0x07, 0x57, 0x77, 0x28, 0x77, 0xae, 0x5a, 0xfb, 0x4e, 0xcb, 0xf5, - 0x25, 0x18, 0xb1, 0xf3, 0x69, 0x44, 0xf7, 0x9d, 0xd0, 0x69, 0x47, 0xda, 0xde, 0x4f, 0x45, 0x84, - 0x41, 0xb3, 0xd3, 0xe0, 0xf5, 0x26, 0xe5, 0x8e, 0xeb, 0x65, 0x42, 0xc5, 0x57, 0xfd, 0xd0, 0xe5, - 0x7b, 0x75, 0xb7, 0xed, 0xb4, 0x28, 0x42, 0xab, 0x69, 0xd0, 0x0e, 0xa3, 0x61, 0xd6, 0xba, 0xf8, - 0xc2, 0xf5, 0xd4, 0x03, 0x6e, 0x3b, 0xbc, 0xb1, 0xa7, 0x0f, 0x21, 0x05, 0xc0, 0x28, 0x57, 0x54, - 0x9c, 0x90, 0x1f, 0x06, 0xe1, 0x53, 0xc4, 0x5e, 0x4c, 0xc7, 0x7a, 0x5e, 0x3d, 0xd8, 0xdd, 0xd5, - 0x94, 0x2e, 0xa4, 0x52, 0x0a, 0x3a, 0x7e, 0xc3, 0xf5, 0xb2, 0x4e, 0x93, 0xd1, 0xf0, 0x40, 0x2b, - 0x79, 0x37, 0x0d, 0x41, 0x7d, 0xa1, 0x86, 0x6b, 0x50, 0x2d, 0x13, 0x94, 0x76, 0x98, 0x31, 0x87, - 0x47, 0xae, 0x6e, 0x04, 0x6e, 0xe4, 0xe4, 0x85, 0x34, 0x7d, 0x07, 0x01, 0x77, 0xfd, 0x56, 0x3d, - 0xa4, 0xac, 0xe3, 0x71, 0xf4, 0xa0, 0x79, 0x06, 0xc8, 0x67, 0x22, 0x60, 0xb6, 0x64, 0x04, 0xd8, - 0xf4, 0xcb, 0x0e, 0x65, 0xdc, 0xfc, 0x1c, 0x4e, 0x27, 0x66, 0xd9, 0x7e, 0xe0, 0x33, 0x4a, 0xee, - 0x42, 0x51, 0x45, 0x4a, 0xd9, 0x98, 0x37, 0x16, 0x8e, 0x2f, 0xbd, 0x5d, 0x4b, 0x09, 0xea, 0x9a, - 0x12, 0x5a, 0x2b, 0x3d, 0xfb, 0xd7, 0xf9, 0x63, 0x7f, 0xf8, 0xef, 0x5f, 0x16, 0x0d, 0x1b, 0xa5, - 0x4c, 0x0b, 0xde, 0x91, 0x6a, 0x37, 0x29, 0xdf, 0x52, 0xf1, 0x74, 0x4f, 0x85, 0x13, 0xda, 0x25, - 0x27, 0x60, 0xca, 0x6d, 0x4a, 0xe5, 0x05, 0x7b, 0xca, 0x6d, 0x9a, 0x0c, 0xaa, 0xe3, 0x04, 0x90, - 0xd2, 0x67, 0x70, 0x22, 0xb9, 0x82, 0xd4, 0xde, 0x4d, 0xa7, 0x96, 0x80, 0xae, 0x15, 0x04, 0x45, - 0x7b, 0x48, 0x81, 0xd9, 0x42, 0x96, 0xab, 0x9e, 0x97, 0xce, 0x72, 0x03, 0x60, 0x70, 0xad, 0xd0, - 0xde, 0xa5, 0x9a, 0x72, 0x49, 0x4d, 0xb8, 0xa4, 0xa6, 0x2e, 0x3e, 0x3a, 0xa6, 0xb6, 0xe5, 0xb4, - 0x28, 0xca, 0xda, 0x31, 0x49, 0xf3, 0x6b, 0x03, 0xb7, 0x97, 0x62, 0x29, 0x63, 0x7b, 0xd3, 0xaf, - 0xb4, 0x3d, 0xb2, 0x99, 0x60, 0x3f, 0x25, 0xd9, 0x5f, 0x3e, 0x92, 0xbd, 0xe2, 0x93, 0xa0, 0xbf, - 0x08, 0x27, 0x25, 0xfb, 0x75, 0x27, 0x6c, 0x46, 0x47, 0xf3, 0x16, 0x14, 0x05, 0x9d, 0x07, 0x91, - 0x13, 0x71, 0x64, 0x3e, 0x84, 0x53, 0x31, 0x2c, 0x6e, 0xee, 0x06, 0x14, 0xc4, 0x32, 0x9e, 0xa0, - 0x99, 0xba, 0x25, 0x21, 0xf0, 0x23, 0x97, 0xef, 0x3d, 0x10, 0xd1, 0x6f, 0x4b, 0xbc, 0xf9, 0x01, - 0x1a, 0xfe, 0x9c, 0xd1, 0x30, 0x32, 0x5c, 0x86, 0x59, 0xa7, 0xd9, 0x0c, 0x29, 0x53, 0x01, 0x50, - 0xb2, 0xa3, 0xa1, 0xb9, 0x86, 0xa6, 0x15, 0x1a, 0x4d, 0x5f, 0x81, 0x82, 0x78, 0x7b, 0xd0, 0xf4, - 0xd9, 0x54, 0xd3, 0x52, 0x40, 0xc2, 0xcc, 0xdf, 0x15, 0x62, 0xfc, 0x75, 0x1c, 0x9c, 0x81, 0x99, - 0xe0, 0xd0, 0x47, 0x2d, 0x25, 0x5b, 0x0d, 0xc8, 0x4d, 0x28, 0x32, 0xee, 0xf0, 0x0e, 0x2b, 0x4f, - 0xcd, 0x4f, 0x2f, 0x9c, 0x58, 0x3a, 0x3f, 0x76, 0x5f, 0xdb, 0x12, 0x66, 0x23, 0x9c, 0xac, 0xc0, - 0x9c, 0x58, 0xff, 0x61, 0x77, 0x9f, 0x96, 0xa7, 0xa5, 0xe8, 0x3b, 0x63, 0x45, 0x05, 0xc8, 0xd6, - 0x70, 0x72, 0x0d, 0x66, 0x1a, 0x9e, 0xc3, 0x58, 0xb9, 0x20, 0xe5, 0xaa, 0x63, 0xe5, 0xd6, 0x05, - 0xca, 0x56, 0x60, 0xe1, 0x2c, 0x16, 0x84, 0x7c, 0xad, 0x5b, 0x9e, 0x91, 0x1b, 0xc0, 0x11, 0x31, - 0xe1, 0x35, 0xdf, 0x69, 0xd3, 0xf5, 0xc0, 0xe7, 0x8e, 0xeb, 0xb3, 0x72, 0x51, 0xae, 0x26, 0xe6, - 0xc8, 0x22, 0x9c, 0x7c, 0x4a, 0xbb, 0x87, 0x41, 0xd8, 0x64, 0x1a, 0x37, 0x2b, 0x71, 0x23, 0xf3, - 0xe4, 0x22, 0xbc, 0xee, 0x07, 0x9c, 0x0e, 0x80, 0x73, 0x12, 0x98, 0x9c, 0x24, 0x0b, 0xf0, 0x46, - 0xe0, 0x7b, 0xdd, 0x6d, 0xee, 0x84, 0x9c, 0x86, 0x82, 0x6c, 0xb9, 0x34, 0x6f, 0x2c, 0xcc, 0xd9, - 0xc3, 0xd3, 0xa4, 0x06, 0x44, 0x4c, 0xad, 0x39, 0x9e, 0xe3, 0x37, 0xe8, 0xaa, 0xdf, 0xd8, 0x0b, - 0x42, 0x56, 0x06, 0x09, 0x4e, 0x59, 0x21, 0x1f, 0xc1, 0x5c, 0xe8, 0x84, 0x2e, 0x77, 0x29, 0x2b, - 0x1f, 0x3f, 0xc2, 0x27, 0xb6, 0x00, 0x76, 0x6d, 0x2d, 0x40, 0x2e, 0xc1, 0x89, 0x76, 0xc7, 0xe3, - 0xae, 0x3c, 0xb9, 0x4f, 0x7d, 0xaf, 0x5b, 0x7e, 0x4d, 0x1a, 0x1a, 0x9a, 0x35, 0x6b, 0xf8, 0x90, - 0x62, 0x84, 0x60, 0x9c, 0x95, 0x61, 0x56, 0xdd, 0x00, 0x75, 0x71, 0x0b, 0x76, 0x34, 0x34, 0xaf, - 0x60, 0x44, 0x3d, 0x12, 0x29, 0x2c, 0x16, 0xc5, 0x32, 0xa5, 0xe9, 0xfb, 0x13, 0x0d, 0xcd, 0x0d, - 0x54, 0x8f, 0x70, 0x54, 0xff, 0x21, 0xcc, 0x48, 0x00, 0xc6, 0x71, 0x25, 0x75, 0x5b, 0x4a, 0x44, - 0x01, 0xcd, 0xcb, 0xf0, 0x86, 0xd4, 0xb3, 0x4d, 0x79, 0x2c, 0x8c, 0x19, 0xe5, 0xda, 0xa4, 0x1a, - 0x98, 0x8f, 0xf0, 0x92, 0x49, 0x20, 0x9a, 0x5b, 0x49, 0x9a, 0x4b, 0x7f, 0x84, 0xb6, 0x29, 0x17, - 0x17, 0x76, 0x55, 0x25, 0xdc, 0xc8, 0xee, 0x0a, 0xbc, 0x89, 0xea, 0x3c, 0xef, 0x53, 0x91, 0x63, - 0x23, 0xeb, 0xf3, 0x70, 0x9c, 0x45, 0x73, 0x9a, 0x43, 0x7c, 0xca, 0x7c, 0x02, 0x6f, 0x0d, 0x8b, - 0x22, 0x9f, 0x3b, 0x50, 0xd2, 0x40, 0xe4, 0x54, 0x1d, 0xc3, 0x29, 0x12, 0x1d, 0x08, 0x98, 0xcb, - 0x98, 0xe4, 0xd6, 0x55, 0x46, 0x8f, 0x08, 0x9d, 0x83, 0x12, 0xe6, 0x78, 0x4d, 0x67, 0x30, 0x61, - 0x3e, 0x86, 0x33, 0x49, 0x21, 0xfd, 0x96, 0xcd, 0x22, 0x08, 0x89, 0x9c, 0x4b, 0x0f, 0x31, 0x14, - 0x8b, 0xc0, 0xe6, 0x87, 0xe8, 0xd7, 0x6d, 0x59, 0x33, 0x44, 0x1c, 0x2a, 0x30, 0xa7, 0x8a, 0x08, - 0x4d, 0x41, 0x8f, 0xcd, 0x1f, 0x20, 0xed, 0x48, 0x02, 0x09, 0x2c, 0x43, 0x51, 0x41, 0x32, 0x73, - 0x33, 0x0a, 0x21, 0x54, 0x7b, 0xe5, 0x7e, 0x54, 0x6a, 0xc4, 0xbc, 0xa2, 0xcb, 0x8f, 0x81, 0x57, - 0x62, 0x53, 0xda, 0x2b, 0x31, 0xd1, 0x81, 0x57, 0x34, 0x30, 0xd3, 0x2b, 0x03, 0xd1, 0x81, 0x80, - 0x59, 0x1e, 0xd6, 0xab, 0x8b, 0x92, 0x1f, 0xc3, 0x77, 0x46, 0x56, 0x74, 0x61, 0x02, 0x5a, 0x43, - 0x94, 0x22, 0x8f, 0xb2, 0x19, 0x93, 0x30, 0xe7, 0x31, 0x11, 0xeb, 0xd5, 0x41, 0xca, 0x41, 0xe3, - 0x7b, 0x70, 0x7e, 0x2c, 0x02, 0x49, 0xdc, 0x1f, 0xdd, 0xf7, 0xe5, 0x6c, 0x0e, 0x03, 0x1d, 0xb1, - 0x03, 0xb8, 0x30, 0x6c, 0x89, 0x8d, 0x90, 0x79, 0x0a, 0xf3, 0xe3, 0x21, 0xc8, 0x66, 0x33, 0xe5, - 0x48, 0x72, 0xd3, 0x89, 0x9f, 0xcd, 0xdb, 0x70, 0x56, 0x3f, 0x6c, 0x52, 0xe0, 0x81, 0xbf, 0x1b, - 0x44, 0x4c, 0xfe, 0x31, 0x05, 0x95, 0xb4, 0x55, 0x24, 0xf1, 0x10, 0x4e, 0x0a, 0x3b, 0xab, 0x9d, - 0x86, 0xa8, 0x18, 0xb6, 0x42, 0xb7, 0x41, 0x07, 0x29, 0x37, 0x56, 0x71, 0x44, 0xb5, 0xc6, 0x7a, - 0xe0, 0xfa, 0x58, 0xb6, 0x8c, 0x08, 0x92, 0x2a, 0x80, 0xd3, 0xe0, 0xee, 0x01, 0xdd, 0xa6, 0x5c, - 0x25, 0xd7, 0x82, 0x1d, 0x9b, 0x11, 0x31, 0x2b, 0x64, 0xd8, 0xe3, 0x4e, 0x7b, 0x87, 0x86, 0xe5, - 0x69, 0x15, 0xb3, 0xb1, 0x29, 0x91, 0x88, 0xe4, 0x6b, 0x44, 0x23, 0x4c, 0x41, 0x62, 0x92, 0x93, - 0x22, 0xb5, 0xe9, 0x47, 0x22, 0x02, 0xce, 0x48, 0xe0, 0xc8, 0xbc, 0xc8, 0x0e, 0x78, 0x93, 0x23, - 0x64, 0x51, 0x22, 0x87, 0x66, 0x85, 0x4e, 0xcf, 0x61, 0x5c, 0x9c, 0xd2, 0xa3, 0xa0, 0xe9, 0xee, - 0xba, 0xb4, 0x29, 0xd3, 0x65, 0xc1, 0x1e, 0x99, 0x37, 0x57, 0xe0, 0x82, 0x7e, 0x79, 0x65, 0x36, - 0xba, 0xe7, 0x32, 0x1e, 0xba, 0x3b, 0x1d, 0x71, 0x14, 0xa9, 0x8f, 0x76, 0x29, 0x7a, 0xb4, 0x9f, - 0x80, 0x99, 0x25, 0x1a, 0x4b, 0x4a, 0x9d, 0x30, 0xa4, 0x3e, 0xd7, 0x49, 0x49, 0x0d, 0x45, 0x45, - 0x70, 0xe8, 0xf8, 0x9c, 0x36, 0xf1, 0x78, 0x71, 0x64, 0xde, 0x82, 0x73, 0xaa, 0x50, 0x6d, 0xc8, - 0xb0, 0xd8, 0x08, 0x83, 0xf6, 0x17, 0xd4, 0xf1, 0xba, 0xb1, 0xbc, 0xf5, 0x53, 0x31, 0xd6, 0x7c, - 0xa2, 0xa1, 0xb9, 0x12, 0x15, 0xd3, 0x23, 0x92, 0x03, 0x32, 0x63, 0x0a, 0xb7, 0x28, 0xf0, 0x9e, - 0xc8, 0xbe, 0xc5, 0x56, 0x6d, 0x4b, 0x14, 0x78, 0x3e, 0xc6, 0xdd, 0xd0, 0x22, 0x2a, 0xdd, 0x82, - 0x53, 0xe2, 0x58, 0x13, 0x8b, 0x99, 0x65, 0x66, 0x52, 0xcd, 0xa8, 0xf0, 0xd2, 0xff, 0xce, 0xc2, - 0x8c, 0x34, 0x48, 0x7e, 0x69, 0x40, 0x51, 0xb5, 0x38, 0x24, 0xfd, 0x3e, 0x8d, 0xf6, 0x53, 0x95, - 0x85, 0xa3, 0x81, 0x8a, 0xb9, 0x79, 0xfd, 0x67, 0xff, 0xfc, 0xcf, 0x57, 0x53, 0x16, 0xb9, 0x62, - 0xdd, 0xa3, 0x0d, 0xea, 0xf3, 0xd0, 0xf1, 0x44, 0x70, 0x6c, 0x3a, 0x6d, 0x6a, 0x8d, 0xef, 0xdc, - 0xc9, 0x5f, 0x8d, 0xe1, 0x46, 0x81, 0x2c, 0x8d, 0xb7, 0x39, 0xae, 0xff, 0xaa, 0x2c, 0x4f, 0x24, - 0x83, 0x94, 0xd7, 0x25, 0xe5, 0x8f, 0xc9, 0x47, 0x79, 0x29, 0x27, 0x7f, 0x4a, 0xb0, 0x7a, 0x6e, - 0xb3, 0x4f, 0xbe, 0x36, 0xe0, 0x54, 0x52, 0xff, 0xaa, 0xe7, 0x65, 0xed, 0x61, 0x5c, 0x77, 0x96, - 0xb5, 0x87, 0xb1, 0x7d, 0x96, 0x79, 0x57, 0xee, 0xe1, 0x16, 0xb9, 0xf1, 0x72, 0x7b, 0x20, 0x5f, - 0x19, 0x50, 0x90, 0xb5, 0xe9, 0x7b, 0xe3, 0xad, 0xc7, 0xfa, 0xa4, 0xca, 0xa5, 0xa3, 0x60, 0xc8, - 0xeb, 0x8e, 0xe4, 0x75, 0x83, 0x5c, 0xcb, 0xc9, 0x4b, 0x7c, 0x59, 0x3d, 0x55, 0x63, 0xf6, 0xc9, - 0xaf, 0x0c, 0x28, 0x88, 0x2e, 0x26, 0x8b, 0x55, 0xac, 0x89, 0xca, 0x62, 0x15, 0xef, 0x9e, 0xcc, - 0x8f, 0x25, 0xab, 0x9b, 0xe4, 0x7a, 0x4e, 0x56, 0xa2, 0x87, 0xb2, 0x7a, 0x78, 0xaf, 0xfb, 0xe4, - 0xd7, 0x06, 0xcc, 0xc8, 0x32, 0x99, 0x1c, 0x71, 0x0c, 0xda, 0xa7, 0x97, 0x8f, 0xc4, 0xbd, 0xc2, - 0x79, 0x31, 0xab, 0x27, 0x3b, 0xb7, 0x3e, 0xf9, 0x8d, 0x01, 0x33, 0xb2, 0x5a, 0xce, 0x22, 0x16, - 0x2f, 0xd8, 0xb3, 0x88, 0x25, 0x2a, 0xf5, 0x89, 0x03, 0x4c, 0xa6, 0x24, 0xab, 0x87, 0xe5, 0x7f, - 0x9f, 0xfc, 0xdc, 0x80, 0xe9, 0x6d, 0xca, 0xc9, 0xc5, 0xf1, 0x06, 0x07, 0x25, 0x7d, 0xe5, 0xbd, - 0x23, 0x50, 0x48, 0xea, 0xb6, 0x24, 0x75, 0x8d, 0x2c, 0xe5, 0x24, 0xc5, 0x28, 0xb7, 0x7a, 0x32, - 0xd3, 0xf4, 0xc9, 0x9f, 0x0c, 0x28, 0xe9, 0xb2, 0x9a, 0x2c, 0x66, 0x19, 0x4c, 0x56, 0xfc, 0x95, - 0xef, 0xe6, 0xc2, 0x22, 0xc5, 0x4d, 0x49, 0x71, 0x95, 0x7c, 0x2f, 0x37, 0xc5, 0xe8, 0x47, 0x3c, - 0xc1, 0x54, 0x37, 0x11, 0x7d, 0xf2, 0x7b, 0x03, 0x66, 0xb1, 0xfa, 0x26, 0x19, 0xcf, 0x71, 0xb2, - 0x19, 0xa8, 0xbc, 0x9f, 0x03, 0x89, 0x4c, 0xd7, 0x24, 0xd3, 0x3b, 0xe4, 0x76, 0xde, 0xd0, 0x53, - 0xf2, 0x56, 0x4f, 0x37, 0x17, 0x7d, 0xf2, 0x5b, 0x03, 0x8a, 0xaa, 0x44, 0xcf, 0xca, 0x2d, 0x89, - 0x5e, 0x21, 0x2b, 0xb7, 0x24, 0x5b, 0x04, 0xf3, 0x13, 0xc9, 0xf0, 0x36, 0xb9, 0x95, 0xfb, 0x2c, - 0x85, 0xb8, 0x38, 0x47, 0xd5, 0x7a, 0xf4, 0xc9, 0x1f, 0x0d, 0x28, 0xe9, 0x72, 0x31, 0xcb, 0xe9, - 0xc3, 0x0d, 0x45, 0x96, 0xd3, 0x47, 0x3a, 0x08, 0x73, 0x43, 0x12, 0xfd, 0x84, 0xdc, 0xcd, 0x49, - 0x54, 0x57, 0xab, 0x56, 0x2f, 0xd6, 0xa2, 0x48, 0x9f, 0xc3, 0xa0, 0x46, 0x26, 0x79, 0x38, 0xe8, - 0x27, 0xe7, 0x83, 0x7c, 0x60, 0x64, 0xbc, 0x22, 0x19, 0x2f, 0x93, 0xab, 0x93, 0x32, 0x66, 0xe4, - 0x6f, 0x06, 0x90, 0xd1, 0x12, 0x9c, 0x2c, 0xe7, 0xb0, 0x3f, 0xdc, 0x18, 0x54, 0xae, 0x4d, 0x26, - 0xf4, 0x92, 0x09, 0x3c, 0xed, 0x87, 0x69, 0xf2, 0xcc, 0x80, 0xd3, 0x29, 0xfd, 0x08, 0xc9, 0x43, - 0x69, 0xa4, 0xc3, 0xa9, 0x5c, 0x9f, 0x50, 0x0a, 0x77, 0x72, 0x4f, 0xee, 0xe4, 0x2e, 0xb9, 0x33, - 0xb1, 0x1b, 0xe2, 0x5b, 0xf9, 0xb3, 0x01, 0xaf, 0x27, 0xfa, 0x19, 0x52, 0xcb, 0xce, 0x3f, 0xc3, - 0x6d, 0x51, 0xc5, 0xca, 0x8d, 0x7f, 0xc9, 0x8c, 0xaa, 0xbf, 0xea, 0xae, 0xe0, 0xf7, 0xad, 0x01, - 0x6f, 0xa6, 0xd6, 0xfc, 0xe4, 0x46, 0x76, 0x26, 0x18, 0xd7, 0x5f, 0x54, 0x6e, 0x4e, 0x2c, 0x87, - 0x3b, 0x79, 0x2c, 0x77, 0xf2, 0x7d, 0xb2, 0x91, 0x3f, 0xa7, 0xd4, 0xe5, 0x8f, 0x6d, 0xdd, 0x7a, - 0x33, 0xa6, 0x4f, 0xe7, 0x99, 0xbf, 0x1b, 0x70, 0x72, 0xb8, 0x79, 0x20, 0x57, 0x33, 0x6a, 0xbc, - 0xf4, 0x16, 0xa5, 0xb2, 0x34, 0x89, 0x08, 0xee, 0xe5, 0xa1, 0xdc, 0xcb, 0x7d, 0xb2, 0x9e, 0x73, - 0x2f, 0x8e, 0x52, 0x54, 0xdf, 0x0d, 0x83, 0x76, 0x5d, 0x76, 0x40, 0x56, 0x0f, 0x1b, 0xa1, 0xbe, - 0x8c, 0xaa, 0x44, 0x4f, 0x91, 0x15, 0x55, 0x69, 0x3d, 0x4f, 0x56, 0x54, 0xa5, 0xb6, 0x41, 0x13, - 0x47, 0x55, 0xf2, 0x3f, 0x44, 0x6b, 0xf6, 0xb3, 0xe7, 0x55, 0xe3, 0x9b, 0xe7, 0x55, 0xe3, 0xdf, - 0xcf, 0xab, 0xc6, 0x2f, 0x5e, 0x54, 0x8f, 0x7d, 0xf3, 0xa2, 0x7a, 0xec, 0xdb, 0x17, 0xd5, 0x63, - 0x5f, 0xdc, 0x6a, 0xb9, 0x7c, 0xaf, 0xb3, 0x53, 0x6b, 0x04, 0xed, 0x4c, 0xd5, 0x3f, 0x89, 0x7d, - 0xf3, 0xee, 0x3e, 0x65, 0x3b, 0x45, 0xf9, 0x6f, 0xa7, 0xe5, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, - 0xc4, 0x5e, 0x62, 0x03, 0x30, 0x1d, 0x00, 0x00, + // 2204 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xcf, 0x6f, 0x1b, 0xc7, + 0x15, 0xf6, 0x4a, 0x14, 0x25, 0x3e, 0xc7, 0x8a, 0x3d, 0x76, 0x52, 0x86, 0x76, 0x68, 0x79, 0xe3, + 0xd8, 0x8a, 0x1a, 0x73, 0x63, 0x49, 0xfe, 0x21, 0xc7, 0x71, 0xa3, 0x1f, 0x96, 0xea, 0xba, 0xb6, + 0x95, 0x55, 0xed, 0xa2, 0xb9, 0x10, 0x2b, 0x72, 0x44, 0x2d, 0xbc, 0xdc, 0x65, 0x76, 0x87, 0x52, + 0x59, 0x82, 0x28, 0xda, 0x53, 0x4f, 0x45, 0xd1, 0x14, 0x45, 0x2f, 0x05, 0x8a, 0x9e, 0x7a, 0x68, + 0xd1, 0xfe, 0x01, 0x41, 0x4f, 0x45, 0xe1, 0x63, 0x8a, 0x5e, 0x72, 0x69, 0x51, 0xd8, 0x05, 0x8a, + 0xfe, 0x09, 0xbd, 0x15, 0x33, 0xf3, 0x76, 0xb8, 0x4b, 0x2e, 0x57, 0x4b, 0xfb, 0x22, 0xec, 0xcc, + 0x7c, 0x6f, 0xde, 0x37, 0x33, 0x6f, 0xe6, 0xbd, 0x8f, 0x82, 0xf3, 0x35, 0xcb, 0xaf, 0xd7, 0xf6, + 0x2d, 0xdb, 0x35, 0xfa, 0x5f, 0x9f, 0xb5, 0xa9, 0xdf, 0xa9, 0xb4, 0x7c, 0x8f, 0x79, 0xe4, 0xb4, + 0xea, 0xae, 0xa8, 0xaf, 0xd2, 0x29, 0xab, 0x69, 0xbb, 0x9e, 0x21, 0xfe, 0x4a, 0x5c, 0xe9, 0x4c, + 0xc3, 0x6b, 0x78, 0xe2, 0xd3, 0xe0, 0x5f, 0xd8, 0x7b, 0xae, 0xe1, 0x79, 0x0d, 0x87, 0x1a, 0x56, + 0xcb, 0x36, 0x2c, 0xd7, 0xf5, 0x98, 0xc5, 0x6c, 0xcf, 0x0d, 0x70, 0x74, 0xa1, 0xe6, 0x05, 0x4d, + 0x2f, 0x30, 0x76, 0xad, 0x80, 0x4a, 0xa7, 0xc6, 0xc1, 0xd5, 0x5d, 0xca, 0xac, 0xab, 0x46, 0xcb, + 0x6a, 0xd8, 0xae, 0x00, 0x23, 0x76, 0x2e, 0x89, 0x68, 0xcb, 0xf2, 0xad, 0x66, 0x38, 0xdb, 0x7b, + 0x89, 0x08, 0xdf, 0xab, 0xb7, 0x6b, 0xac, 0x5a, 0xa7, 0xcc, 0xb2, 0x9d, 0x54, 0x28, 0xff, 0xaa, + 0x1e, 0xda, 0x6c, 0xbf, 0x6a, 0x37, 0xad, 0x06, 0x45, 0x68, 0x39, 0x09, 0xda, 0x0e, 0xa8, 0x9f, + 0x36, 0xce, 0xbf, 0x70, 0x3c, 0x71, 0x83, 0x9b, 0x16, 0xab, 0xed, 0xab, 0x4d, 0x48, 0x00, 0x04, + 0x94, 0x49, 0x2a, 0x96, 0xcf, 0x0e, 0x3d, 0xff, 0x29, 0x62, 0x2f, 0x26, 0x63, 0x1d, 0xa7, 0xea, + 0xed, 0xed, 0x29, 0x4a, 0x17, 0x12, 0x29, 0x79, 0x6d, 0xb7, 0x66, 0x3b, 0x69, 0xbb, 0x19, 0x50, + 0xff, 0x40, 0x4d, 0xf2, 0x4e, 0x12, 0x82, 0xba, 0x7c, 0x1a, 0xa6, 0x40, 0x95, 0x54, 0x50, 0xd2, + 0x66, 0x46, 0x0e, 0x3c, 0x3c, 0xea, 0x9a, 0x67, 0x87, 0x87, 0x3c, 0x9f, 0x34, 0xdf, 0x81, 0xc7, + 0x6c, 0xb7, 0x51, 0xf5, 0x69, 0xd0, 0x76, 0x18, 0x9e, 0xa0, 0x7e, 0x06, 0xc8, 0x27, 0x3c, 0x60, + 0xb6, 0x45, 0x04, 0x98, 0xf4, 0xb3, 0x36, 0x0d, 0x98, 0xfe, 0x18, 0x4e, 0xc7, 0x7a, 0x83, 0x96, + 0xe7, 0x06, 0x94, 0xdc, 0x81, 0xbc, 0x8c, 0x94, 0xa2, 0x36, 0xa7, 0xcd, 0x1f, 0x5f, 0x3c, 0x5b, + 0x49, 0x08, 0xea, 0x8a, 0x34, 0x5a, 0x2b, 0x3c, 0xfb, 0xe7, 0xf9, 0x63, 0xbf, 0xfb, 0xcf, 0x9f, + 0x16, 0x34, 0x13, 0xad, 0x74, 0x03, 0xde, 0x16, 0xd3, 0x6e, 0x51, 0xb6, 0x2d, 0xe3, 0x69, 0x43, + 0x86, 0x13, 0xfa, 0x25, 0xb3, 0x30, 0x61, 0xd7, 0xc5, 0xe4, 0x39, 0x73, 0xc2, 0xae, 0xeb, 0x01, + 0x94, 0x47, 0x19, 0x20, 0xa5, 0x4f, 0x60, 0x36, 0x3e, 0x82, 0xd4, 0xde, 0x49, 0xa6, 0x16, 0x83, + 0xae, 0xe5, 0x38, 0x45, 0x73, 0x60, 0x02, 0xbd, 0x81, 0x2c, 0x57, 0x1d, 0x27, 0x99, 0xe5, 0x26, + 0x40, 0xff, 0x5a, 0xa1, 0xbf, 0x4b, 0x15, 0x79, 0x24, 0x15, 0x7e, 0x24, 0x15, 0x79, 0xf1, 0xf1, + 0x60, 0x2a, 0xdb, 0x56, 0x83, 0xa2, 0xad, 0x19, 0xb1, 0xd4, 0xbf, 0xd0, 0x70, 0x79, 0x09, 0x9e, + 0x52, 0x96, 0x37, 0xf9, 0x4a, 0xcb, 0x23, 0x5b, 0x31, 0xf6, 0x13, 0x82, 0xfd, 0xe5, 0x23, 0xd9, + 0x4b, 0x3e, 0x31, 0xfa, 0x0b, 0x70, 0x52, 0xb0, 0x5f, 0xb7, 0xfc, 0x7a, 0xb8, 0x35, 0x6f, 0x42, + 0x9e, 0xd3, 0xb9, 0x17, 0x1e, 0x22, 0xb6, 0xf4, 0xfb, 0x70, 0x2a, 0x82, 0xc5, 0xc5, 0x5d, 0x87, + 0x1c, 0x1f, 0xc6, 0x1d, 0xd4, 0x13, 0x97, 0xc4, 0x0d, 0xbe, 0x6b, 0xb3, 0xfd, 0x7b, 0x3c, 0xfa, + 0x4d, 0x81, 0xd7, 0xdf, 0x47, 0xc7, 0x8f, 0x03, 0xea, 0x87, 0x8e, 0x8b, 0x30, 0x6d, 0xd5, 0xeb, + 0x3e, 0x0d, 0x64, 0x00, 0x14, 0xcc, 0xb0, 0xa9, 0xaf, 0xa1, 0x6b, 0x89, 0x46, 0xd7, 0x57, 0x20, + 0xc7, 0xdf, 0x1e, 0x74, 0xfd, 0x56, 0xa2, 0x6b, 0x61, 0x20, 0x60, 0xfa, 0x6f, 0x72, 0x11, 0xfe, + 0x2a, 0x0e, 0xce, 0xc0, 0x94, 0x77, 0xe8, 0xe2, 0x2c, 0x05, 0x53, 0x36, 0xc8, 0x0d, 0xc8, 0x07, + 0xcc, 0x62, 0xed, 0xa0, 0x38, 0x31, 0x37, 0x39, 0x3f, 0xbb, 0x78, 0x7e, 0xe4, 0xba, 0x76, 0x04, + 0xcc, 0x44, 0x38, 0x59, 0x81, 0x19, 0x3e, 0xfe, 0x9d, 0x4e, 0x8b, 0x16, 0x27, 0x85, 0xe9, 0xdb, + 0x23, 0x4d, 0x39, 0xc8, 0x54, 0x70, 0xb2, 0x0c, 0x53, 0x35, 0xc7, 0x0a, 0x82, 0x62, 0x4e, 0xd8, + 0x95, 0x47, 0xda, 0xad, 0x73, 0x94, 0x29, 0xc1, 0xfc, 0xb0, 0x02, 0xcf, 0x67, 0x6b, 0x9d, 0xe2, + 0x94, 0x58, 0x00, 0xb6, 0x88, 0x0e, 0xaf, 0xb9, 0x56, 0x93, 0xae, 0x7b, 0x2e, 0xb3, 0x6c, 0x37, + 0x28, 0xe6, 0xc5, 0x68, 0xac, 0x8f, 0x2c, 0xc0, 0xc9, 0xa7, 0xb4, 0x73, 0xe8, 0xf9, 0xf5, 0x40, + 0xe1, 0xa6, 0x05, 0x6e, 0xa8, 0x9f, 0x5c, 0x84, 0x13, 0xae, 0xc7, 0x68, 0x1f, 0x38, 0x23, 0x80, + 0xf1, 0x4e, 0x32, 0x0f, 0xaf, 0x7b, 0xae, 0xd3, 0xd9, 0x61, 0x96, 0xcf, 0xa8, 0xcf, 0xc9, 0x16, + 0x0b, 0x73, 0xda, 0xfc, 0x8c, 0x39, 0xd8, 0x4d, 0x2a, 0x40, 0x78, 0xd7, 0x9a, 0xe5, 0x58, 0x6e, + 0x8d, 0xae, 0xba, 0xb5, 0x7d, 0xcf, 0x0f, 0x8a, 0x20, 0xc0, 0x09, 0x23, 0xe4, 0x43, 0x98, 0xf1, + 0x2d, 0xdf, 0x66, 0x36, 0x0d, 0x8a, 0xc7, 0x8f, 0x38, 0x13, 0x93, 0x03, 0x3b, 0xa6, 0x32, 0x20, + 0x97, 0x60, 0xb6, 0xd9, 0x76, 0x98, 0x2d, 0x76, 0xee, 0x91, 0xeb, 0x74, 0x8a, 0xaf, 0x09, 0x47, + 0x03, 0xbd, 0x7a, 0x05, 0x1f, 0x52, 0x8c, 0x10, 0x8c, 0xb3, 0x22, 0x4c, 0xcb, 0x1b, 0x20, 0x2f, + 0x6e, 0xce, 0x0c, 0x9b, 0xfa, 0x15, 0x8c, 0xa8, 0x07, 0x3c, 0x85, 0x45, 0xa2, 0x58, 0xa4, 0x34, + 0x75, 0x7f, 0xc2, 0xa6, 0xbe, 0x89, 0xd3, 0x23, 0x1c, 0xa7, 0xff, 0x00, 0xa6, 0x04, 0x00, 0xe3, + 0xb8, 0x94, 0xb8, 0x2c, 0x69, 0x22, 0x81, 0xfa, 0x65, 0x78, 0x5d, 0xcc, 0xb3, 0x43, 0x59, 0x24, + 0x8c, 0x03, 0xca, 0x94, 0x4b, 0xd9, 0xd0, 0x1f, 0xe0, 0x25, 0x13, 0x40, 0x74, 0xb7, 0x12, 0x77, + 0x97, 0xfc, 0x08, 0xed, 0x50, 0xc6, 0x2f, 0xec, 0xaa, 0x4c, 0xb8, 0xa1, 0xdf, 0x15, 0x78, 0x03, + 0xa7, 0x73, 0x9c, 0x47, 0x3c, 0xc7, 0x86, 0xde, 0xe7, 0xe0, 0x78, 0x10, 0xf6, 0x29, 0x0e, 0xd1, + 0x2e, 0xfd, 0x09, 0xbc, 0x39, 0x68, 0x8a, 0x7c, 0x6e, 0x43, 0x41, 0x01, 0x91, 0x53, 0x79, 0x04, + 0xa7, 0xd0, 0xb4, 0x6f, 0xa0, 0x2f, 0x61, 0x92, 0x5b, 0x97, 0x19, 0x3d, 0x24, 0x74, 0x0e, 0x0a, + 0x98, 0xe3, 0x15, 0x9d, 0x7e, 0x87, 0xfe, 0x10, 0xce, 0xc4, 0x8d, 0xd4, 0x5b, 0x36, 0x8d, 0x20, + 0x24, 0x72, 0x2e, 0x39, 0xc4, 0xd0, 0x2c, 0x04, 0xeb, 0x1f, 0xe0, 0xb9, 0xee, 0x88, 0x9a, 0x21, + 0xe4, 0x50, 0x82, 0x19, 0x59, 0x44, 0x28, 0x0a, 0xaa, 0xad, 0x7f, 0x0b, 0x69, 0x87, 0x16, 0x48, + 0x60, 0x09, 0xf2, 0x12, 0x92, 0x9a, 0x9b, 0xd1, 0x08, 0xa1, 0xea, 0x54, 0xee, 0x86, 0xa5, 0x46, + 0xe4, 0x54, 0x54, 0xf9, 0xd1, 0x3f, 0x95, 0x48, 0x97, 0x3a, 0x95, 0x88, 0x69, 0xff, 0x54, 0x14, + 0x30, 0xf5, 0x54, 0xfa, 0xa6, 0x7d, 0x03, 0xbd, 0x38, 0x38, 0xaf, 0x2a, 0x4a, 0xbe, 0x07, 0x5f, + 0x1b, 0x1a, 0x51, 0x85, 0x09, 0xa8, 0x19, 0xc2, 0x14, 0x79, 0x94, 0xcf, 0x88, 0x85, 0x3e, 0x87, + 0x89, 0x58, 0x8d, 0xf6, 0x53, 0x0e, 0x3a, 0xdf, 0x87, 0xf3, 0x23, 0x11, 0x48, 0xe2, 0xee, 0xf0, + 0xba, 0x2f, 0xa7, 0x73, 0xe8, 0xcf, 0x11, 0xd9, 0x80, 0x0b, 0x83, 0x9e, 0x82, 0x21, 0x32, 0x4f, + 0x61, 0x6e, 0x34, 0x04, 0xd9, 0x6c, 0x25, 0x6c, 0x49, 0x66, 0x3a, 0xd1, 0xbd, 0x39, 0x0b, 0x6f, + 0xa9, 0x87, 0x4d, 0x18, 0xdc, 0x73, 0xf7, 0xbc, 0x90, 0xc9, 0xdf, 0x26, 0xa0, 0x94, 0x34, 0x8a, + 0x24, 0xee, 0xc3, 0x49, 0xee, 0x67, 0xb5, 0x5d, 0xe3, 0x15, 0xc3, 0xb6, 0x6f, 0xd7, 0x68, 0x3f, + 0xe5, 0x46, 0x2a, 0x8e, 0xb0, 0xd6, 0x58, 0xf7, 0x6c, 0x17, 0xcb, 0x96, 0x21, 0x43, 0x52, 0x06, + 0xb0, 0x6a, 0xcc, 0x3e, 0xa0, 0x3b, 0x94, 0xc9, 0xe4, 0x9a, 0x33, 0x23, 0x3d, 0x3c, 0x66, 0xb9, + 0x4d, 0xf0, 0xb0, 0xdd, 0xdc, 0xa5, 0x7e, 0x71, 0x52, 0xc6, 0x6c, 0xa4, 0x8b, 0x27, 0x22, 0xf1, + 0x1a, 0xd1, 0x10, 0x93, 0x13, 0x98, 0x78, 0x27, 0x4f, 0x6d, 0xea, 0x91, 0x08, 0x81, 0x53, 0x02, + 0x38, 0xd4, 0xcf, 0xb3, 0x03, 0xde, 0xe4, 0x10, 0x99, 0x17, 0xc8, 0x81, 0x5e, 0x3e, 0xa7, 0x63, + 0x05, 0x8c, 0xef, 0xd2, 0x03, 0xaf, 0x6e, 0xef, 0xd9, 0xb4, 0x2e, 0xd2, 0x65, 0xce, 0x1c, 0xea, + 0xd7, 0x57, 0xe0, 0x82, 0x7a, 0x79, 0x45, 0x36, 0xda, 0xb0, 0x03, 0xe6, 0xdb, 0xbb, 0x6d, 0xbe, + 0x15, 0x89, 0x8f, 0x76, 0x21, 0x7c, 0xb4, 0x9f, 0x80, 0x9e, 0x66, 0x1a, 0x49, 0x4a, 0x6d, 0xdf, + 0xa7, 0x2e, 0x53, 0x49, 0x49, 0x36, 0x79, 0x45, 0x70, 0x68, 0xb9, 0x8c, 0xd6, 0x71, 0x7b, 0xb1, + 0xa5, 0xdf, 0x84, 0x73, 0xb2, 0x50, 0xad, 0x89, 0xb0, 0xd8, 0xf4, 0xbd, 0xe6, 0xa7, 0xd4, 0x72, + 0x3a, 0x91, 0xbc, 0xf5, 0x03, 0xde, 0x56, 0x7c, 0xc2, 0xa6, 0xbe, 0x12, 0x16, 0xd3, 0x43, 0x96, + 0x7d, 0x32, 0x23, 0x0a, 0xb7, 0x30, 0xf0, 0x9e, 0x08, 0xdd, 0x62, 0x4a, 0xd9, 0x12, 0x06, 0x9e, + 0x8b, 0x71, 0x37, 0x30, 0x88, 0x93, 0x6e, 0xc3, 0x29, 0xbe, 0xad, 0xb1, 0xc1, 0xd4, 0x32, 0x33, + 0x3e, 0xcd, 0xb0, 0xb1, 0xfe, 0x3f, 0x0d, 0x9f, 0xdd, 0x07, 0x32, 0x56, 0xc2, 0x95, 0x5f, 0x84, + 0x13, 0xcc, 0x6e, 0xd2, 0x80, 0x59, 0xcd, 0xd6, 0x86, 0x77, 0xe8, 0xe2, 0x53, 0x19, 0xef, 0xe4, + 0xa1, 0xa9, 0x3a, 0x1e, 0xb7, 0x44, 0xd1, 0x9d, 0x33, 0xa3, 0x5d, 0x7c, 0x9e, 0x1a, 0x56, 0x42, + 0xbc, 0xee, 0x0c, 0x44, 0x05, 0x58, 0x30, 0xe3, 0x9d, 0x3c, 0x2f, 0xf8, 0xb4, 0xe5, 0xf1, 0x4a, + 0x48, 0xc4, 0x6e, 0xc1, 0x54, 0x6d, 0x9e, 0x81, 0xbc, 0x36, 0xab, 0x79, 0x4d, 0x2a, 0xa2, 0x75, + 0x76, 0x44, 0x06, 0x7a, 0x24, 0x31, 0x66, 0x08, 0x56, 0xd7, 0x66, 0xdb, 0xb1, 0x3a, 0xb4, 0x5e, + 0xcc, 0x8b, 0x83, 0x8f, 0x76, 0xe9, 0xdf, 0xc6, 0x9c, 0xa7, 0x96, 0x8e, 0xbb, 0xbc, 0x8c, 0xd5, + 0x0a, 0x0d, 0xdf, 0x97, 0xb4, 0xfa, 0x23, 0x84, 0x2e, 0xfe, 0xe3, 0x2c, 0x4c, 0x89, 0xe9, 0xc8, + 0xcf, 0x35, 0xc8, 0x4b, 0xb1, 0x48, 0x92, 0x5f, 0xa6, 0x61, 0x65, 0x5a, 0x9a, 0x3f, 0x1a, 0x28, + 0xd9, 0xe9, 0xd7, 0x7e, 0xfc, 0xf7, 0x7f, 0x7f, 0x3e, 0x61, 0x90, 0x2b, 0xc6, 0x06, 0xad, 0x51, + 0x97, 0xf9, 0x96, 0xc3, 0xaf, 0xd9, 0x96, 0xd5, 0xa4, 0xc6, 0xe8, 0xdf, 0x40, 0xc8, 0x9f, 0xb5, + 0x41, 0xc9, 0x45, 0x16, 0x47, 0xfb, 0x1c, 0xa5, 0x64, 0x4b, 0x4b, 0x63, 0xd9, 0x20, 0xe5, 0x75, + 0x41, 0xf9, 0x23, 0xf2, 0x61, 0x56, 0xca, 0xf1, 0x1f, 0x65, 0x8c, 0xae, 0x5d, 0xef, 0x91, 0x2f, + 0x34, 0x38, 0x15, 0x9f, 0x7f, 0xd5, 0x71, 0xd2, 0xd6, 0x30, 0x4a, 0xe7, 0xa6, 0xad, 0x61, 0xa4, + 0x62, 0xd5, 0xef, 0x88, 0x35, 0xdc, 0x24, 0xd7, 0x5f, 0x6e, 0x0d, 0xe4, 0x73, 0x0d, 0x72, 0xa2, + 0xca, 0x7f, 0x77, 0xb4, 0xf7, 0x88, 0xe2, 0x2c, 0x5d, 0x3a, 0x0a, 0x86, 0xbc, 0x6e, 0x0b, 0x5e, + 0xd7, 0xc9, 0x72, 0x46, 0x5e, 0xfc, 0xcb, 0xe8, 0xca, 0x6a, 0xbd, 0x47, 0x7e, 0xa1, 0x41, 0x8e, + 0x5f, 0xc1, 0x34, 0x56, 0x11, 0x39, 0x9a, 0xc6, 0x2a, 0xaa, 0x43, 0xf5, 0x8f, 0x04, 0xab, 0x1b, + 0xe4, 0x5a, 0x46, 0x56, 0x5c, 0x8d, 0x1a, 0x5d, 0x7c, 0x21, 0x7b, 0xe4, 0x97, 0x1a, 0x4c, 0x09, + 0xc1, 0x41, 0x8e, 0xd8, 0x06, 0x75, 0xa6, 0x97, 0x8f, 0xc4, 0xbd, 0xc2, 0x7e, 0x05, 0x46, 0x57, + 0x68, 0xe0, 0x1e, 0xf9, 0x95, 0x06, 0x53, 0xe2, 0xde, 0xa7, 0x11, 0x8b, 0x4a, 0x9f, 0x34, 0x62, + 0x31, 0xcd, 0x33, 0x76, 0x80, 0x89, 0x77, 0xc7, 0xe8, 0xa2, 0x90, 0xea, 0x91, 0x9f, 0x6a, 0x30, + 0xb9, 0x43, 0x19, 0xb9, 0x38, 0xda, 0x61, 0x5f, 0x1c, 0x95, 0xde, 0x3d, 0x02, 0x85, 0xa4, 0x6e, + 0x09, 0x52, 0xcb, 0x64, 0x31, 0x23, 0xa9, 0x80, 0x32, 0xa3, 0x2b, 0x72, 0x76, 0x8f, 0xfc, 0x41, + 0x83, 0x82, 0x12, 0x28, 0x64, 0x21, 0xcd, 0x61, 0x5c, 0x3b, 0x95, 0xbe, 0x9e, 0x09, 0x8b, 0x14, + 0xb7, 0x04, 0xc5, 0x55, 0xf2, 0x8d, 0xcc, 0x14, 0xc3, 0x9f, 0x43, 0x39, 0x53, 0x25, 0xc7, 0x7a, + 0xe4, 0xb7, 0x1a, 0x4c, 0xa3, 0x8e, 0x21, 0x29, 0xcf, 0x71, 0x5c, 0x56, 0x95, 0xde, 0xcb, 0x80, + 0x44, 0xa6, 0x6b, 0x82, 0xe9, 0x6d, 0x72, 0x2b, 0x6b, 0xe8, 0x49, 0x7b, 0xa3, 0xab, 0x64, 0x5a, + 0x8f, 0xfc, 0x5a, 0x83, 0xbc, 0x14, 0x3b, 0x69, 0xb9, 0x25, 0xa6, 0xba, 0xd2, 0x72, 0x4b, 0x5c, + 0x6c, 0xe9, 0x1f, 0x0b, 0x86, 0xb7, 0xc8, 0xcd, 0xcc, 0x7b, 0xc9, 0xcd, 0xf9, 0x3e, 0x4a, 0x11, + 0xd7, 0x23, 0xbf, 0xd7, 0xa0, 0xa0, 0x0a, 0xef, 0xb4, 0x43, 0x1f, 0x94, 0x66, 0x69, 0x87, 0x3e, + 0xa4, 0xc5, 0xf4, 0x4d, 0x41, 0xf4, 0x63, 0x72, 0x27, 0x23, 0x51, 0x55, 0xf7, 0x1b, 0xdd, 0x88, + 0xd8, 0x13, 0x67, 0x0e, 0x7d, 0xb5, 0x41, 0xb2, 0x70, 0x50, 0x4f, 0xce, 0xfb, 0xd9, 0xc0, 0xc8, + 0x78, 0x45, 0x30, 0x5e, 0x22, 0x57, 0xc7, 0x65, 0x1c, 0x90, 0xbf, 0x68, 0x40, 0x86, 0xc5, 0x0c, + 0x59, 0xca, 0xe0, 0x7f, 0x50, 0x62, 0x95, 0x96, 0xc7, 0x33, 0x7a, 0xc9, 0x04, 0x9e, 0xf4, 0x13, + 0x3f, 0x79, 0xa6, 0xc1, 0xe9, 0x04, 0x65, 0x47, 0xb2, 0x50, 0x1a, 0xd2, 0x8a, 0xa5, 0x6b, 0x63, + 0x5a, 0xe1, 0x4a, 0x36, 0xc4, 0x4a, 0xee, 0x90, 0xdb, 0x63, 0x1f, 0x43, 0x74, 0x29, 0x7f, 0xd4, + 0xe0, 0x44, 0x4c, 0x19, 0x92, 0x4a, 0x7a, 0xfe, 0x19, 0x14, 0x98, 0x25, 0x23, 0x33, 0xfe, 0x25, + 0x33, 0xaa, 0xfa, 0xaa, 0xda, 0x9c, 0xdf, 0x57, 0x1a, 0xbc, 0x91, 0xa8, 0x9e, 0xc8, 0xf5, 0xf4, + 0x4c, 0x30, 0x4a, 0xa9, 0x95, 0x6e, 0x8c, 0x6d, 0x87, 0x2b, 0x79, 0x28, 0x56, 0xf2, 0x4d, 0xb2, + 0x99, 0x3d, 0xa7, 0x54, 0xc5, 0xcf, 0x96, 0x9d, 0x6a, 0x3d, 0x32, 0x9f, 0xca, 0x33, 0x7f, 0xd5, + 0xe0, 0xe4, 0xa0, 0x0c, 0x23, 0x57, 0x53, 0x6a, 0xbc, 0x64, 0xb1, 0x57, 0x5a, 0x1c, 0xc7, 0x04, + 0xd7, 0x72, 0x5f, 0xac, 0xe5, 0x2e, 0x59, 0xcf, 0xb8, 0x16, 0x4b, 0x4e, 0x54, 0xdd, 0xf3, 0xbd, + 0x66, 0x55, 0x68, 0x49, 0xa3, 0x8b, 0x92, 0xb2, 0x27, 0xa2, 0x2a, 0xa6, 0xce, 0xd2, 0xa2, 0x2a, + 0x49, 0x3d, 0xa6, 0x45, 0x55, 0xa2, 0xa0, 0x1c, 0x3b, 0xaa, 0xe2, 0xff, 0x6b, 0x23, 0xff, 0xd5, + 0x60, 0x1a, 0xd5, 0x53, 0x5a, 0xca, 0x8c, 0x6b, 0xcb, 0xb4, 0x94, 0x39, 0x20, 0xc5, 0xf4, 0x9f, + 0x68, 0x82, 0xe0, 0x8f, 0x34, 0xf2, 0xc3, 0x71, 0xca, 0x22, 0x1a, 0x18, 0xdd, 0x98, 0x52, 0xed, + 0x45, 0xda, 0x8f, 0x5b, 0x3d, 0x9e, 0x52, 0x23, 0xfa, 0xb3, 0x67, 0x74, 0x43, 0xb9, 0xd9, 0x33, + 0xba, 0x28, 0x20, 0x7b, 0xb2, 0x4a, 0x46, 0xb1, 0xd8, 0x5b, 0x33, 0x9f, 0x3d, 0x2f, 0x6b, 0x5f, + 0x3e, 0x2f, 0x6b, 0xff, 0x7a, 0x5e, 0xd6, 0x7e, 0xf6, 0xa2, 0x7c, 0xec, 0xcb, 0x17, 0xe5, 0x63, + 0x5f, 0xbd, 0x28, 0x1f, 0xfb, 0xf4, 0x66, 0xc3, 0x66, 0xfb, 0xed, 0xdd, 0x4a, 0xcd, 0x6b, 0xa6, + 0x92, 0xfc, 0x7e, 0xe4, 0x9b, 0x75, 0x5a, 0x34, 0xd8, 0xcd, 0x8b, 0x7f, 0x56, 0x2e, 0xfd, 0x3f, + 0x00, 0x00, 0xff, 0xff, 0x9a, 0x98, 0x15, 0xf0, 0x66, 0x1f, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2034,6 +2175,8 @@ type QueryClient interface { AccountFromZealy(ctx context.Context, in *QueryAccountFromZealyRequest, opts ...grpc.CallOption) (*QueryAccountFromZealyResponse, error) // Queries a list of VotingResults items. VotingResults(ctx context.Context, in *QueryVotingResultsRequest, opts ...grpc.CallOption) (*QueryVotingResultsResponse, error) + // Queries a list of Matches items. + Matches(ctx context.Context, in *QueryMatchesRequest, opts ...grpc.CallOption) (*QueryMatchesResponse, error) } type queryClient struct { @@ -2215,6 +2358,15 @@ func (c *queryClient) VotingResults(ctx context.Context, in *QueryVotingResultsR return out, nil } +func (c *queryClient) Matches(ctx context.Context, in *QueryMatchesRequest, opts ...grpc.CallOption) (*QueryMatchesResponse, error) { + out := new(QueryMatchesResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Matches", 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. @@ -2254,6 +2406,8 @@ type QueryServer interface { AccountFromZealy(context.Context, *QueryAccountFromZealyRequest) (*QueryAccountFromZealyResponse, error) // Queries a list of VotingResults items. VotingResults(context.Context, *QueryVotingResultsRequest) (*QueryVotingResultsResponse, error) + // Queries a list of Matches items. + Matches(context.Context, *QueryMatchesRequest) (*QueryMatchesResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -2317,6 +2471,9 @@ func (*UnimplementedQueryServer) AccountFromZealy(ctx context.Context, req *Quer func (*UnimplementedQueryServer) VotingResults(ctx context.Context, req *QueryVotingResultsRequest) (*QueryVotingResultsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method VotingResults not implemented") } +func (*UnimplementedQueryServer) Matches(ctx context.Context, req *QueryMatchesRequest) (*QueryMatchesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Matches not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -2664,6 +2821,24 @@ func _Query_VotingResults_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Query_Matches_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryMatchesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Matches(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/Matches", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Matches(ctx, req.(*QueryMatchesRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -2745,6 +2920,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "VotingResults", Handler: _Query_VotingResults_Handler, }, + { + MethodName: "Matches", + Handler: _Query_Matches_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -4142,6 +4321,115 @@ func (m *QueryVotingResultsResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } +func (m *QueryMatchesRequest) 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 *QueryMatchesRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryMatchesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.CardsPlayed) > 0 { + dAtA33 := make([]byte, len(m.CardsPlayed)*10) + var j32 int + for _, num := range m.CardsPlayed { + for num >= 1<<7 { + dAtA33[j32] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j32++ + } + dAtA33[j32] = uint8(num) + j32++ + } + i -= j32 + copy(dAtA[i:], dAtA33[:j32]) + i = encodeVarintQuery(dAtA, i, uint64(j32)) + i-- + dAtA[i] = 0x32 + } + if m.Outcome != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Outcome)) + i-- + dAtA[i] = 0x28 + } + if len(m.Reporter) > 0 { + i -= len(m.Reporter) + copy(dAtA[i:], m.Reporter) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Reporter))) + i-- + dAtA[i] = 0x22 + } + if len(m.ContainsUsers) > 0 { + for iNdEx := len(m.ContainsUsers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.ContainsUsers[iNdEx]) + copy(dAtA[i:], m.ContainsUsers[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ContainsUsers[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if m.TimestampUp != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.TimestampUp)) + i-- + dAtA[i] = 0x10 + } + if m.TimestampDown != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.TimestampDown)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryMatchesResponse) 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 *QueryMatchesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryMatchesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Matches) > 0 { + for iNdEx := len(m.Matches) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Matches[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 @@ -4707,6 +4995,56 @@ func (m *QueryVotingResultsResponse) Size() (n int) { return n } +func (m *QueryMatchesRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TimestampDown != 0 { + n += 1 + sovQuery(uint64(m.TimestampDown)) + } + if m.TimestampUp != 0 { + n += 1 + sovQuery(uint64(m.TimestampUp)) + } + if len(m.ContainsUsers) > 0 { + for _, s := range m.ContainsUsers { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + l = len(m.Reporter) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Outcome != 0 { + n += 1 + sovQuery(uint64(m.Outcome)) + } + if len(m.CardsPlayed) > 0 { + l = 0 + for _, e := range m.CardsPlayed { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + return n +} + +func (m *QueryMatchesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Matches) > 0 { + for _, e := range m.Matches { + 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 } @@ -8421,6 +8759,337 @@ func (m *QueryVotingResultsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryMatchesRequest) 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: QueryMatchesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryMatchesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TimestampDown", wireType) + } + m.TimestampDown = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TimestampDown |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TimestampUp", wireType) + } + m.TimestampUp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TimestampUp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContainsUsers", 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.ContainsUsers = append(m.ContainsUsers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reporter", 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.Reporter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + m.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Outcome |= Outcome(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.CardsPlayed = append(m.CardsPlayed, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + 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.CardsPlayed) == 0 { + m.CardsPlayed = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.CardsPlayed = append(m.CardsPlayed, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field CardsPlayed", wireType) + } + 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 *QueryMatchesResponse) 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: QueryMatchesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryMatchesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Matches", 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.Matches = append(m.Matches, &Match{}) + if err := m.Matches[len(m.Matches)-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 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index b1261314..430a6b15 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -843,6 +843,176 @@ func local_request_Query_VotingResults_0(ctx context.Context, marshaler runtime. } +func request_Query_Matches_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryMatchesRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["timestampDown"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "timestampDown") + } + + protoReq.TimestampDown, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "timestampDown", err) + } + + val, ok = pathParams["timestampUp"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "timestampUp") + } + + protoReq.TimestampUp, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "timestampUp", err) + } + + val, ok = pathParams["containsUsers"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "containsUsers") + } + + protoReq.ContainsUsers, err = runtime.StringSlice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "containsUsers", err) + } + + val, ok = pathParams["reporter"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "reporter") + } + + protoReq.Reporter, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "reporter", err) + } + + val, ok = pathParams["outcome"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "outcome") + } + + e, err = runtime.Enum(val, Outcome_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "outcome", err) + } + + protoReq.Outcome = Outcome(e) + + val, ok = pathParams["cardsPlayed"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardsPlayed") + } + + protoReq.CardsPlayed, err = runtime.Uint64Slice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardsPlayed", err) + } + + msg, err := client.Matches(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Matches_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryMatchesRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["timestampDown"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "timestampDown") + } + + protoReq.TimestampDown, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "timestampDown", err) + } + + val, ok = pathParams["timestampUp"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "timestampUp") + } + + protoReq.TimestampUp, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "timestampUp", err) + } + + val, ok = pathParams["containsUsers"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "containsUsers") + } + + protoReq.ContainsUsers, err = runtime.StringSlice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "containsUsers", err) + } + + val, ok = pathParams["reporter"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "reporter") + } + + protoReq.Reporter, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "reporter", err) + } + + val, ok = pathParams["outcome"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "outcome") + } + + e, err = runtime.Enum(val, Outcome_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "outcome", err) + } + + protoReq.Outcome = Outcome(e) + + val, ok = pathParams["cardsPlayed"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardsPlayed") + } + + protoReq.CardsPlayed, err = runtime.Uint64Slice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardsPlayed", err) + } + + msg, err := server.Matches(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. @@ -1286,6 +1456,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_Matches_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_Matches_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_Matches_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1707,6 +1900,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_Matches_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_Matches_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_Matches_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1748,6 +1961,8 @@ var ( pattern_Query_AccountFromZealy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "account_from_zealy", "zealyId"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_VotingResults_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "voting_results"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_Matches_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"DecentralCardGame", "cardchain", "matches", "timestampDown", "timestampUp", "containsUsers", "reporter", "outcome", "cardsPlayed"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -1788,4 +2003,6 @@ var ( forward_Query_AccountFromZealy_0 = runtime.ForwardResponseMessage forward_Query_VotingResults_0 = runtime.ForwardResponseMessage + + forward_Query_Matches_0 = runtime.ForwardResponseMessage ) diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index 182c66f7..bcff9954 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -1167,7 +1167,7 @@ func (m *MsgMatchReport) GetOutcome() Outcome { if m != nil { return m.Outcome } - return Outcome_AWon + return Outcome_Undefined } type MsgMatchReportResponse struct { @@ -2984,7 +2984,7 @@ func (m *MsgMatchConfirm) GetOutcome() Outcome { if m != nil { return m.Outcome } - return Outcome_AWon + return Outcome_Undefined } func (m *MsgMatchConfirm) GetVotedCards() []*SingleVote { From 72137a227d9d98aadcdb0dea7b96a92c36f369e5 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 16:02:51 +0100 Subject: [PATCH 53/99] feat(#242): Added Sets Query --- api/cardchain/cardchain/query.pulsar.go | 2564 +++++++++++++++++----- api/cardchain/cardchain/query_grpc.pb.go | 39 + api/cardchain/cardchain/set.pulsar.go | 68 +- docs/static/openapi.yml | 2 +- gen_queries.sh | 3 +- proto/cardchain/cardchain/query.proto | 17 + proto/cardchain/cardchain/set.proto | 9 +- x/cardchain/keeper/query_sets.go | 23 + x/cardchain/module/autocli.go | 7 + x/cardchain/types/query.pb.go | 918 ++++++-- x/cardchain/types/query.pb.gw.go | 173 ++ x/cardchain/types/set.pb.go | 93 +- 12 files changed, 3143 insertions(+), 773 deletions(-) create mode 100644 x/cardchain/keeper/query_sets.go diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index dc9e1c38..389b8a6d 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -19284,6 +19284,1314 @@ func (x *fastReflection_QueryMatchesResponse) ProtoMethods() *protoiface.Methods } } +var _ protoreflect.List = (*_QuerySetsRequest_2_list)(nil) + +type _QuerySetsRequest_2_list struct { + list *[]string +} + +func (x *_QuerySetsRequest_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QuerySetsRequest_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_QuerySetsRequest_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QuerySetsRequest_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QuerySetsRequest_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QuerySetsRequest at list field Contributors as it is not of Message kind")) +} + +func (x *_QuerySetsRequest_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QuerySetsRequest_2_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_QuerySetsRequest_2_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_QuerySetsRequest_3_list)(nil) + +type _QuerySetsRequest_3_list struct { + list *[]uint64 +} + +func (x *_QuerySetsRequest_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QuerySetsRequest_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_QuerySetsRequest_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QuerySetsRequest_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QuerySetsRequest_3_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QuerySetsRequest at list field ContainsCards as it is not of Message kind")) +} + +func (x *_QuerySetsRequest_3_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QuerySetsRequest_3_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_QuerySetsRequest_3_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QuerySetsRequest protoreflect.MessageDescriptor + fd_QuerySetsRequest_status protoreflect.FieldDescriptor + fd_QuerySetsRequest_contributors protoreflect.FieldDescriptor + fd_QuerySetsRequest_containsCards protoreflect.FieldDescriptor + fd_QuerySetsRequest_owner protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QuerySetsRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySetsRequest") + fd_QuerySetsRequest_status = md_QuerySetsRequest.Fields().ByName("status") + fd_QuerySetsRequest_contributors = md_QuerySetsRequest.Fields().ByName("contributors") + fd_QuerySetsRequest_containsCards = md_QuerySetsRequest.Fields().ByName("containsCards") + fd_QuerySetsRequest_owner = md_QuerySetsRequest.Fields().ByName("owner") +} + +var _ protoreflect.Message = (*fastReflection_QuerySetsRequest)(nil) + +type fastReflection_QuerySetsRequest QuerySetsRequest + +func (x *QuerySetsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QuerySetsRequest)(x) +} + +func (x *QuerySetsRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QuerySetsRequest_messageType fastReflection_QuerySetsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QuerySetsRequest_messageType{} + +type fastReflection_QuerySetsRequest_messageType struct{} + +func (x fastReflection_QuerySetsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QuerySetsRequest)(nil) +} +func (x fastReflection_QuerySetsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QuerySetsRequest) +} +func (x fastReflection_QuerySetsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySetsRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QuerySetsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySetsRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QuerySetsRequest) Type() protoreflect.MessageType { + return _fastReflection_QuerySetsRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QuerySetsRequest) New() protoreflect.Message { + return new(fastReflection_QuerySetsRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QuerySetsRequest) Interface() protoreflect.ProtoMessage { + return (*QuerySetsRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QuerySetsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Status != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Status)) + if !f(fd_QuerySetsRequest_status, value) { + return + } + } + if len(x.Contributors) != 0 { + value := protoreflect.ValueOfList(&_QuerySetsRequest_2_list{list: &x.Contributors}) + if !f(fd_QuerySetsRequest_contributors, value) { + return + } + } + if len(x.ContainsCards) != 0 { + value := protoreflect.ValueOfList(&_QuerySetsRequest_3_list{list: &x.ContainsCards}) + if !f(fd_QuerySetsRequest_containsCards, value) { + return + } + } + if x.Owner != "" { + value := protoreflect.ValueOfString(x.Owner) + if !f(fd_QuerySetsRequest_owner, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QuerySetsRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetsRequest.status": + return x.Status != 0 + case "cardchain.cardchain.QuerySetsRequest.contributors": + return len(x.Contributors) != 0 + case "cardchain.cardchain.QuerySetsRequest.containsCards": + return len(x.ContainsCards) != 0 + case "cardchain.cardchain.QuerySetsRequest.owner": + return x.Owner != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetsRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetsRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetsRequest.status": + x.Status = 0 + case "cardchain.cardchain.QuerySetsRequest.contributors": + x.Contributors = nil + case "cardchain.cardchain.QuerySetsRequest.containsCards": + x.ContainsCards = nil + case "cardchain.cardchain.QuerySetsRequest.owner": + x.Owner = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetsRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QuerySetsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QuerySetsRequest.status": + value := x.Status + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "cardchain.cardchain.QuerySetsRequest.contributors": + if len(x.Contributors) == 0 { + return protoreflect.ValueOfList(&_QuerySetsRequest_2_list{}) + } + listValue := &_QuerySetsRequest_2_list{list: &x.Contributors} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QuerySetsRequest.containsCards": + if len(x.ContainsCards) == 0 { + return protoreflect.ValueOfList(&_QuerySetsRequest_3_list{}) + } + listValue := &_QuerySetsRequest_3_list{list: &x.ContainsCards} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QuerySetsRequest.owner": + value := x.Owner + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetsRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetsRequest.status": + x.Status = (SetStatus)(value.Enum()) + case "cardchain.cardchain.QuerySetsRequest.contributors": + lv := value.List() + clv := lv.(*_QuerySetsRequest_2_list) + x.Contributors = *clv.list + case "cardchain.cardchain.QuerySetsRequest.containsCards": + lv := value.List() + clv := lv.(*_QuerySetsRequest_3_list) + x.ContainsCards = *clv.list + case "cardchain.cardchain.QuerySetsRequest.owner": + x.Owner = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetsRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetsRequest.contributors": + if x.Contributors == nil { + x.Contributors = []string{} + } + value := &_QuerySetsRequest_2_list{list: &x.Contributors} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QuerySetsRequest.containsCards": + if x.ContainsCards == nil { + x.ContainsCards = []uint64{} + } + value := &_QuerySetsRequest_3_list{list: &x.ContainsCards} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QuerySetsRequest.status": + panic(fmt.Errorf("field status of message cardchain.cardchain.QuerySetsRequest is not mutable")) + case "cardchain.cardchain.QuerySetsRequest.owner": + panic(fmt.Errorf("field owner of message cardchain.cardchain.QuerySetsRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetsRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QuerySetsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetsRequest.status": + return protoreflect.ValueOfEnum(0) + case "cardchain.cardchain.QuerySetsRequest.contributors": + list := []string{} + return protoreflect.ValueOfList(&_QuerySetsRequest_2_list{list: &list}) + case "cardchain.cardchain.QuerySetsRequest.containsCards": + list := []uint64{} + return protoreflect.ValueOfList(&_QuerySetsRequest_3_list{list: &list}) + case "cardchain.cardchain.QuerySetsRequest.owner": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetsRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QuerySetsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QuerySetsRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QuerySetsRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetsRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QuerySetsRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QuerySetsRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QuerySetsRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Status != 0 { + n += 1 + runtime.Sov(uint64(x.Status)) + } + if len(x.Contributors) > 0 { + for _, s := range x.Contributors { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.ContainsCards) > 0 { + l = 0 + for _, e := range x.ContainsCards { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + l = len(x.Owner) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QuerySetsRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Owner) > 0 { + i -= len(x.Owner) + copy(dAtA[i:], x.Owner) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Owner))) + i-- + dAtA[i] = 0x22 + } + if len(x.ContainsCards) > 0 { + var pksize2 int + for _, num := range x.ContainsCards { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.ContainsCards { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x1a + } + if len(x.Contributors) > 0 { + for iNdEx := len(x.Contributors) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Contributors[iNdEx]) + copy(dAtA[i:], x.Contributors[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Contributors[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if x.Status != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Status)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QuerySetsRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySetsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySetsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + x.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Status |= SetStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Contributors", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Contributors = append(x.Contributors, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.ContainsCards = append(x.ContainsCards, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.ContainsCards) == 0 { + x.ContainsCards = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.ContainsCards = append(x.ContainsCards, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ContainsCards", wireType) + } + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QuerySetsResponse_1_list)(nil) + +type _QuerySetsResponse_1_list struct { + list *[]uint64 +} + +func (x *_QuerySetsResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QuerySetsResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_QuerySetsResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QuerySetsResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QuerySetsResponse_1_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QuerySetsResponse at list field SetIds as it is not of Message kind")) +} + +func (x *_QuerySetsResponse_1_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QuerySetsResponse_1_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_QuerySetsResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QuerySetsResponse protoreflect.MessageDescriptor + fd_QuerySetsResponse_setIds protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QuerySetsResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySetsResponse") + fd_QuerySetsResponse_setIds = md_QuerySetsResponse.Fields().ByName("setIds") +} + +var _ protoreflect.Message = (*fastReflection_QuerySetsResponse)(nil) + +type fastReflection_QuerySetsResponse QuerySetsResponse + +func (x *QuerySetsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QuerySetsResponse)(x) +} + +func (x *QuerySetsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QuerySetsResponse_messageType fastReflection_QuerySetsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QuerySetsResponse_messageType{} + +type fastReflection_QuerySetsResponse_messageType struct{} + +func (x fastReflection_QuerySetsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QuerySetsResponse)(nil) +} +func (x fastReflection_QuerySetsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QuerySetsResponse) +} +func (x fastReflection_QuerySetsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySetsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QuerySetsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySetsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QuerySetsResponse) Type() protoreflect.MessageType { + return _fastReflection_QuerySetsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QuerySetsResponse) New() protoreflect.Message { + return new(fastReflection_QuerySetsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QuerySetsResponse) Interface() protoreflect.ProtoMessage { + return (*QuerySetsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QuerySetsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.SetIds) != 0 { + value := protoreflect.ValueOfList(&_QuerySetsResponse_1_list{list: &x.SetIds}) + if !f(fd_QuerySetsResponse_setIds, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QuerySetsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetsResponse.setIds": + return len(x.SetIds) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetsResponse.setIds": + x.SetIds = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QuerySetsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QuerySetsResponse.setIds": + if len(x.SetIds) == 0 { + return protoreflect.ValueOfList(&_QuerySetsResponse_1_list{}) + } + listValue := &_QuerySetsResponse_1_list{list: &x.SetIds} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetsResponse.setIds": + lv := value.List() + clv := lv.(*_QuerySetsResponse_1_list) + x.SetIds = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetsResponse.setIds": + if x.SetIds == nil { + x.SetIds = []uint64{} + } + value := &_QuerySetsResponse_1_list{list: &x.SetIds} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QuerySetsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySetsResponse.setIds": + list := []uint64{} + return protoreflect.ValueOfList(&_QuerySetsResponse_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySetsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QuerySetsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QuerySetsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QuerySetsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySetsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QuerySetsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QuerySetsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QuerySetsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.SetIds) > 0 { + l = 0 + for _, e := range x.SetIds { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QuerySetsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.SetIds) > 0 { + var pksize2 int + for _, num := range x.SetIds { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.SetIds { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QuerySetsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySetsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySetsResponse: 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.SetIds = append(x.SetIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.SetIds) == 0 { + x.SetIds = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.SetIds = append(x.SetIds, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetIds", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -20838,6 +22146,100 @@ func (x *QueryMatchesResponse) GetMatches() []*Match { return nil } +type QuerySetsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status SetStatus `protobuf:"varint,1,opt,name=status,proto3,enum=cardchain.cardchain.SetStatus" json:"status,omitempty"` + Contributors []string `protobuf:"bytes,2,rep,name=contributors,proto3" json:"contributors,omitempty"` + ContainsCards []uint64 `protobuf:"varint,3,rep,packed,name=containsCards,proto3" json:"containsCards,omitempty"` + Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` +} + +func (x *QuerySetsRequest) Reset() { + *x = QuerySetsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QuerySetsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QuerySetsRequest) ProtoMessage() {} + +// Deprecated: Use QuerySetsRequest.ProtoReflect.Descriptor instead. +func (*QuerySetsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{40} +} + +func (x *QuerySetsRequest) GetStatus() SetStatus { + if x != nil { + return x.Status + } + return SetStatus_undefined +} + +func (x *QuerySetsRequest) GetContributors() []string { + if x != nil { + return x.Contributors + } + return nil +} + +func (x *QuerySetsRequest) GetContainsCards() []uint64 { + if x != nil { + return x.ContainsCards + } + return nil +} + +func (x *QuerySetsRequest) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +type QuerySetsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SetIds []uint64 `protobuf:"varint,1,rep,packed,name=setIds,proto3" json:"setIds,omitempty"` +} + +func (x *QuerySetsResponse) Reset() { + *x = QuerySetsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QuerySetsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QuerySetsResponse) ProtoMessage() {} + +// Deprecated: Use QuerySetsResponse.ProtoReflect.Descriptor instead. +func (*QuerySetsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{41} +} + +func (x *QuerySetsResponse) GetSetIds() []uint64 { + if x != nil { + return x.SetIds + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -20865,493 +22267,520 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, - 0x5f, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, - 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, - 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, + 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x2a, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, + 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, + 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, + 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, - 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, - 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, - 0x4b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, - 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, + 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, + 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, + 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, + 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, + 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, + 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, + 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, + 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, + 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, + 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, - 0x04, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, - 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, + 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, + 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, + 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, + 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, + 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, + 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, + 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, + 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, + 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x07, + 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x22, 0x30, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x13, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, - 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, - 0x12, 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, - 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, - 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, - 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, - 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, - 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, - 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, - 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, - 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, - 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, - 0x79, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x22, 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, - 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, - 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, - 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x22, 0x30, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x13, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, - 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, - 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x20, - 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x68, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, - 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6b, 0x0a, - 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x65, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0x59, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, + 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x20, 0x0a, + 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, + 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x68, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, 0x02, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, - 0x00, 0x52, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, - 0x65, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x73, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, - 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x39, 0x0a, 0x21, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x38, - 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, - 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x6e, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, - 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x11, 0x6c, - 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x22, 0xf9, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x20, - 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, - 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, - 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, - 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, - 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x22, 0x4c, 0x0a, 0x14, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x32, 0xdd, 0x1b, 0x0a, 0x05, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x09, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x20, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, + 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x47, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, 0x65, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, 0x02, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, + 0x52, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, + 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, + 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, + 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, + 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x39, 0x0a, 0x21, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, + 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x38, 0x0a, + 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, + 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x6e, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, + 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x56, + 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x11, 0x6c, 0x61, + 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, + 0xf9, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x0a, + 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, + 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, + 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x22, 0x4c, 0x0a, 0x14, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x2b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x73, 0x65, 0x74, + 0x49, 0x64, 0x73, 0x32, 0x9a, 0x1d, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, + 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, + 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, - 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, - 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, - 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, - 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, - 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, + 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, - 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, + 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, - 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, - 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, - 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, + 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, - 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, + 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, + 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, - 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, + 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, - 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, - 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, - 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, - 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, - 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, - 0x49, 0x64, 0x7d, 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, - 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, - 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, - 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, - 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, - 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, + 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, + 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, - 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, + 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, + 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, 0x01, 0x0a, + 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, + 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x7d, 0x2f, 0x7b, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, - 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, - 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, + 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, 0x61, + 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, + 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, + 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x7d, + 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x7d, + 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6f, 0x75, 0x74, + 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x73, + 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, + 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, + 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -21366,7 +22795,7 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 40) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 42) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse @@ -21408,97 +22837,103 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryVotingResultsResponse)(nil), // 37: cardchain.cardchain.QueryVotingResultsResponse (*QueryMatchesRequest)(nil), // 38: cardchain.cardchain.QueryMatchesRequest (*QueryMatchesResponse)(nil), // 39: cardchain.cardchain.QueryMatchesResponse - (*Params)(nil), // 40: cardchain.cardchain.Params - (*ProductDetails)(nil), // 41: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 42: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 43: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 44: cardchain.cardchain.CardWithImage - (*User)(nil), // 45: cardchain.cardchain.User - (CardStatus)(0), // 46: cardchain.cardchain.CardStatus - (CardType)(0), // 47: cardchain.cardchain.CardType - (CardClass)(0), // 48: cardchain.cardchain.CardClass - (CardRarity)(0), // 49: cardchain.cardchain.CardRarity - (*Match)(nil), // 50: cardchain.cardchain.Match - (*SetWithArtwork)(nil), // 51: cardchain.cardchain.SetWithArtwork - (*SellOffer)(nil), // 52: cardchain.cardchain.SellOffer - (*Council)(nil), // 53: cardchain.cardchain.Council - (*Server)(nil), // 54: cardchain.cardchain.Server - (*Encounter)(nil), // 55: cardchain.cardchain.Encounter - (*EncounterWithImage)(nil), // 56: cardchain.cardchain.EncounterWithImage - (*v1beta11.Coin)(nil), // 57: cosmos.base.v1beta1.Coin - (*VotingResults)(nil), // 58: cardchain.cardchain.VotingResults - (Outcome)(0), // 59: cardchain.cardchain.Outcome + (*QuerySetsRequest)(nil), // 40: cardchain.cardchain.QuerySetsRequest + (*QuerySetsResponse)(nil), // 41: cardchain.cardchain.QuerySetsResponse + (*Params)(nil), // 42: cardchain.cardchain.Params + (*ProductDetails)(nil), // 43: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 44: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 45: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 46: cardchain.cardchain.CardWithImage + (*User)(nil), // 47: cardchain.cardchain.User + (CardStatus)(0), // 48: cardchain.cardchain.CardStatus + (CardType)(0), // 49: cardchain.cardchain.CardType + (CardClass)(0), // 50: cardchain.cardchain.CardClass + (CardRarity)(0), // 51: cardchain.cardchain.CardRarity + (*Match)(nil), // 52: cardchain.cardchain.Match + (*SetWithArtwork)(nil), // 53: cardchain.cardchain.SetWithArtwork + (*SellOffer)(nil), // 54: cardchain.cardchain.SellOffer + (*Council)(nil), // 55: cardchain.cardchain.Council + (*Server)(nil), // 56: cardchain.cardchain.Server + (*Encounter)(nil), // 57: cardchain.cardchain.Encounter + (*EncounterWithImage)(nil), // 58: cardchain.cardchain.EncounterWithImage + (*v1beta11.Coin)(nil), // 59: cosmos.base.v1beta1.Coin + (*VotingResults)(nil), // 60: cardchain.cardchain.VotingResults + (Outcome)(0), // 61: cardchain.cardchain.Outcome + (SetStatus)(0), // 62: cardchain.cardchain.SetStatus } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 40, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 41, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 42, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 41, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 43, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 44, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 45, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 46, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus - 47, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType - 48, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass - 49, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity - 50, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match - 51, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork - 52, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer - 53, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council - 54, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server - 55, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter - 55, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter - 56, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage - 56, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage - 57, // 20: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin - 58, // 21: cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults:type_name -> cardchain.cardchain.VotingResults - 59, // 22: cardchain.cardchain.QueryMatchesRequest.outcome:type_name -> cardchain.cardchain.Outcome - 50, // 23: cardchain.cardchain.QueryMatchesResponse.matches:type_name -> cardchain.cardchain.Match - 0, // 24: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 25: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 26: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 27: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 28: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 29: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 12, // 30: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest - 14, // 31: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest - 16, // 32: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest - 18, // 33: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest - 20, // 34: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest - 22, // 35: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest - 24, // 36: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest - 26, // 37: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest - 28, // 38: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest - 30, // 39: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest - 32, // 40: cardchain.cardchain.Query.SetRarityDistribution:input_type -> cardchain.cardchain.QuerySetRarityDistributionRequest - 34, // 41: cardchain.cardchain.Query.AccountFromZealy:input_type -> cardchain.cardchain.QueryAccountFromZealyRequest - 36, // 42: cardchain.cardchain.Query.VotingResults:input_type -> cardchain.cardchain.QueryVotingResultsRequest - 38, // 43: cardchain.cardchain.Query.Matches:input_type -> cardchain.cardchain.QueryMatchesRequest - 1, // 44: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 45: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 46: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 47: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 48: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 49: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 13, // 50: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse - 15, // 51: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse - 17, // 52: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse - 19, // 53: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse - 21, // 54: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse - 23, // 55: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse - 25, // 56: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse - 27, // 57: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse - 29, // 58: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse - 31, // 59: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse - 33, // 60: cardchain.cardchain.Query.SetRarityDistribution:output_type -> cardchain.cardchain.QuerySetRarityDistributionResponse - 35, // 61: cardchain.cardchain.Query.AccountFromZealy:output_type -> cardchain.cardchain.QueryAccountFromZealyResponse - 37, // 62: cardchain.cardchain.Query.VotingResults:output_type -> cardchain.cardchain.QueryVotingResultsResponse - 39, // 63: cardchain.cardchain.Query.Matches:output_type -> cardchain.cardchain.QueryMatchesResponse - 44, // [44:64] is the sub-list for method output_type - 24, // [24:44] is the sub-list for method input_type - 24, // [24:24] is the sub-list for extension type_name - 24, // [24:24] is the sub-list for extension extendee - 0, // [0:24] is the sub-list for field type_name + 42, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 43, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 44, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 43, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 45, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 46, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 47, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 48, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 49, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 50, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 51, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 52, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match + 53, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork + 54, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer + 55, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council + 56, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server + 57, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter + 57, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter + 58, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage + 58, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage + 59, // 20: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin + 60, // 21: cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults:type_name -> cardchain.cardchain.VotingResults + 61, // 22: cardchain.cardchain.QueryMatchesRequest.outcome:type_name -> cardchain.cardchain.Outcome + 52, // 23: cardchain.cardchain.QueryMatchesResponse.matches:type_name -> cardchain.cardchain.Match + 62, // 24: cardchain.cardchain.QuerySetsRequest.status:type_name -> cardchain.cardchain.SetStatus + 0, // 25: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 26: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 27: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 28: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 29: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 10, // 30: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 12, // 31: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest + 14, // 32: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest + 16, // 33: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest + 18, // 34: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest + 20, // 35: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest + 22, // 36: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest + 24, // 37: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest + 26, // 38: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest + 28, // 39: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest + 30, // 40: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest + 32, // 41: cardchain.cardchain.Query.SetRarityDistribution:input_type -> cardchain.cardchain.QuerySetRarityDistributionRequest + 34, // 42: cardchain.cardchain.Query.AccountFromZealy:input_type -> cardchain.cardchain.QueryAccountFromZealyRequest + 36, // 43: cardchain.cardchain.Query.VotingResults:input_type -> cardchain.cardchain.QueryVotingResultsRequest + 38, // 44: cardchain.cardchain.Query.Matches:input_type -> cardchain.cardchain.QueryMatchesRequest + 40, // 45: cardchain.cardchain.Query.Sets:input_type -> cardchain.cardchain.QuerySetsRequest + 1, // 46: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 47: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 48: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 49: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 50: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 51: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 13, // 52: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse + 15, // 53: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse + 17, // 54: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse + 19, // 55: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse + 21, // 56: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse + 23, // 57: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse + 25, // 58: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse + 27, // 59: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse + 29, // 60: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse + 31, // 61: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse + 33, // 62: cardchain.cardchain.Query.SetRarityDistribution:output_type -> cardchain.cardchain.QuerySetRarityDistributionResponse + 35, // 63: cardchain.cardchain.Query.AccountFromZealy:output_type -> cardchain.cardchain.QueryAccountFromZealyResponse + 37, // 64: cardchain.cardchain.Query.VotingResults:output_type -> cardchain.cardchain.QueryVotingResultsResponse + 39, // 65: cardchain.cardchain.Query.Matches:output_type -> cardchain.cardchain.QueryMatchesResponse + 41, // 66: cardchain.cardchain.Query.Sets:output_type -> cardchain.cardchain.QuerySetsResponse + 46, // [46:67] is the sub-list for method output_type + 25, // [25:46] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -21512,6 +22947,7 @@ func file_cardchain_cardchain_query_proto_init() { file_cardchain_cardchain_user_proto_init() file_cardchain_cardchain_card_proto_init() file_cardchain_cardchain_match_proto_init() + file_cardchain_cardchain_set_proto_init() file_cardchain_cardchain_set_with_artwork_proto_init() file_cardchain_cardchain_sell_offer_proto_init() file_cardchain_cardchain_council_proto_init() @@ -22000,6 +23436,30 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuerySetsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuerySetsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -22007,7 +23467,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 40, + NumMessages: 42, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index f1710500..a5f58a61 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -39,6 +39,7 @@ const ( Query_AccountFromZealy_FullMethodName = "/cardchain.cardchain.Query/AccountFromZealy" Query_VotingResults_FullMethodName = "/cardchain.cardchain.Query/VotingResults" Query_Matches_FullMethodName = "/cardchain.cardchain.Query/Matches" + Query_Sets_FullMethodName = "/cardchain.cardchain.Query/Sets" ) // QueryClient is the client API for Query service. @@ -84,6 +85,8 @@ type QueryClient interface { VotingResults(ctx context.Context, in *QueryVotingResultsRequest, opts ...grpc.CallOption) (*QueryVotingResultsResponse, error) // Queries a list of Matches items. Matches(ctx context.Context, in *QueryMatchesRequest, opts ...grpc.CallOption) (*QueryMatchesResponse, error) + // Queries a list of Sets items. + Sets(ctx context.Context, in *QuerySetsRequest, opts ...grpc.CallOption) (*QuerySetsResponse, error) } type queryClient struct { @@ -274,6 +277,15 @@ func (c *queryClient) Matches(ctx context.Context, in *QueryMatchesRequest, opts return out, nil } +func (c *queryClient) Sets(ctx context.Context, in *QuerySetsRequest, opts ...grpc.CallOption) (*QuerySetsResponse, error) { + out := new(QuerySetsResponse) + err := c.cc.Invoke(ctx, Query_Sets_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -317,6 +329,8 @@ type QueryServer interface { VotingResults(context.Context, *QueryVotingResultsRequest) (*QueryVotingResultsResponse, error) // Queries a list of Matches items. Matches(context.Context, *QueryMatchesRequest) (*QueryMatchesResponse, error) + // Queries a list of Sets items. + Sets(context.Context, *QuerySetsRequest) (*QuerySetsResponse, error) mustEmbedUnimplementedQueryServer() } @@ -384,6 +398,9 @@ func (UnimplementedQueryServer) VotingResults(context.Context, *QueryVotingResul func (UnimplementedQueryServer) Matches(context.Context, *QueryMatchesRequest) (*QueryMatchesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Matches not implemented") } +func (UnimplementedQueryServer) Sets(context.Context, *QuerySetsRequest) (*QuerySetsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Sets not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -757,6 +774,24 @@ func _Query_Matches_Handler(srv interface{}, ctx context.Context, dec func(inter return interceptor(ctx, in, info, handler) } +func _Query_Sets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QuerySetsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Sets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Sets_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Sets(ctx, req.(*QuerySetsRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -844,6 +879,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Matches", Handler: _Query_Matches_Handler, }, + { + MethodName: "Sets", + Handler: _Query_Sets_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/api/cardchain/cardchain/set.pulsar.go b/api/cardchain/cardchain/set.pulsar.go index bd4a42db..19ac947b 100644 --- a/api/cardchain/cardchain/set.pulsar.go +++ b/api/cardchain/cardchain/set.pulsar.go @@ -2448,25 +2448,28 @@ const ( type SetStatus int32 const ( - SetStatus_design SetStatus = 0 - SetStatus_finalized SetStatus = 1 - SetStatus_active SetStatus = 2 - SetStatus_archived SetStatus = 3 + SetStatus_undefined SetStatus = 0 + SetStatus_design SetStatus = 1 + SetStatus_finalized SetStatus = 2 + SetStatus_active SetStatus = 3 + SetStatus_archived SetStatus = 4 ) // Enum value maps for SetStatus. var ( SetStatus_name = map[int32]string{ - 0: "design", - 1: "finalized", - 2: "active", - 3: "archived", + 0: "undefined", + 1: "design", + 2: "finalized", + 3: "active", + 4: "archived", } SetStatus_value = map[string]int32{ - "design": 0, - "finalized": 1, - "active": 2, - "archived": 3, + "undefined": 0, + "design": 1, + "finalized": 2, + "active": 3, + "archived": 4, } ) @@ -2588,7 +2591,7 @@ func (x *Set) GetStatus() SetStatus { if x != nil { return x.Status } - return SetStatus_design + return SetStatus_undefined } func (x *Set) GetTimeStamp() int64 { @@ -2742,25 +2745,26 @@ var file_cardchain_cardchain_set_proto_rawDesc = []byte{ 0x01, 0x28, 0x0d, 0x52, 0x01, 0x71, 0x12, 0x33, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, - 0x69, 0x6e, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2a, 0x40, 0x0a, 0x09, 0x53, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x64, 0x65, 0x73, 0x69, - 0x67, 0x6e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x02, 0x12, - 0x0c, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x10, 0x03, 0x42, 0xd0, 0x01, - 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x08, 0x53, 0x65, 0x74, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2a, 0x4f, 0x0a, 0x09, 0x53, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x75, 0x6e, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x64, 0x65, 0x73, 0x69, 0x67, + 0x6e, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, + 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x03, 0x12, 0x0c, + 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x10, 0x04, 0x42, 0xd0, 0x01, 0x0a, + 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x08, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 4f930aa6..6aa22b1b 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"design","enum":["design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index 1be762dd..ce8d818c 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -19,4 +19,5 @@ set -o pipefail #ignite scaffold query setRarityDistribution setId --response current:uints wanted:uints #ignite scaffold query accountFromZealy zealyId:string --response address:string #ignite scaffold query votingResults --response lastVotingResults:VotingResults -ignite scaffold query matches timestampDown:uint timestampUp:uint containsUsers:strings reporter outcome cardsPlayed:uints --response matches +#ignite scaffold query matches timestampDown:uint timestampUp:uint containsUsers:strings reporter outcome cardsPlayed:uints --response matches +ignite scaffold query sets status contributors:strings containsCards:uints owner --response sets diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 3c0d9f2f..2e7d6a94 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -12,6 +12,7 @@ import "cardchain/cardchain/card_with_image.proto"; import "cardchain/cardchain/user.proto"; import "cardchain/cardchain/card.proto"; import "cardchain/cardchain/match.proto"; +import "cardchain/cardchain/set.proto"; import "cardchain/cardchain/set_with_artwork.proto"; import "cardchain/cardchain/sell_offer.proto"; import "cardchain/cardchain/council.proto"; @@ -152,6 +153,13 @@ service Query { "/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/" "{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}"; } + + // Queries a list of Sets items. + rpc Sets(QuerySetsRequest) returns (QuerySetsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/" + "{containsCards}/{owner}"; + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -280,3 +288,12 @@ message QueryMatchesRequest { } message QueryMatchesResponse { repeated Match matches = 1; } + +message QuerySetsRequest { + SetStatus status = 1; + repeated string contributors = 2; + repeated uint64 containsCards = 3; + string owner = 4; +} + +message QuerySetsResponse { repeated uint64 setIds = 1; } diff --git a/proto/cardchain/cardchain/set.proto b/proto/cardchain/cardchain/set.proto index dd1140db..1ccdb0a0 100644 --- a/proto/cardchain/cardchain/set.proto +++ b/proto/cardchain/cardchain/set.proto @@ -22,10 +22,11 @@ message Set { message InnerRarities { repeated uint64 R = 1; } enum SetStatus { - design = 0; - finalized = 1; - active = 2; - archived = 3; + undefined = 0; + design = 1; + finalized = 2; + active = 3; + archived = 4; } message AddrWithQuantity { diff --git a/x/cardchain/keeper/query_sets.go b/x/cardchain/keeper/query_sets.go new file mode 100644 index 00000000..285af44e --- /dev/null +++ b/x/cardchain/keeper/query_sets.go @@ -0,0 +1,23 @@ +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) Sets(goCtx context.Context, req *types.QuerySetsRequest) (*types.QuerySetsResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QuerySetsResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index a705e251..38e57081 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -147,6 +147,13 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "timestampDown"}, {ProtoField: "timestampUp"}, {ProtoField: "containsUsers"}, {ProtoField: "reporter"}, {ProtoField: "outcome"}, {ProtoField: "cardsPlayed"}}, }, + { + RpcMethod: "Sets", + Use: "sets [status] [contributors] [contains-cards] [owner]", + Short: "Query sets", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "status"}, {ProtoField: "contributors"}, {ProtoField: "containsCards"}, {ProtoField: "owner"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 2d16a1b6..2d02c86c 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -1939,6 +1939,118 @@ func (m *QueryMatchesResponse) GetMatches() []*Match { return nil } +type QuerySetsRequest struct { + Status SetStatus `protobuf:"varint,1,opt,name=status,proto3,enum=cardchain.cardchain.SetStatus" json:"status,omitempty"` + Contributors []string `protobuf:"bytes,2,rep,name=contributors,proto3" json:"contributors,omitempty"` + ContainsCards []uint64 `protobuf:"varint,3,rep,packed,name=containsCards,proto3" json:"containsCards,omitempty"` + Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` +} + +func (m *QuerySetsRequest) Reset() { *m = QuerySetsRequest{} } +func (m *QuerySetsRequest) String() string { return proto.CompactTextString(m) } +func (*QuerySetsRequest) ProtoMessage() {} +func (*QuerySetsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{40} +} +func (m *QuerySetsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuerySetsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuerySetsRequest.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 *QuerySetsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySetsRequest.Merge(m, src) +} +func (m *QuerySetsRequest) XXX_Size() int { + return m.Size() +} +func (m *QuerySetsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySetsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QuerySetsRequest proto.InternalMessageInfo + +func (m *QuerySetsRequest) GetStatus() SetStatus { + if m != nil { + return m.Status + } + return SetStatus_undefined +} + +func (m *QuerySetsRequest) GetContributors() []string { + if m != nil { + return m.Contributors + } + return nil +} + +func (m *QuerySetsRequest) GetContainsCards() []uint64 { + if m != nil { + return m.ContainsCards + } + return nil +} + +func (m *QuerySetsRequest) GetOwner() string { + if m != nil { + return m.Owner + } + return "" +} + +type QuerySetsResponse struct { + SetIds []uint64 `protobuf:"varint,1,rep,packed,name=setIds,proto3" json:"setIds,omitempty"` +} + +func (m *QuerySetsResponse) Reset() { *m = QuerySetsResponse{} } +func (m *QuerySetsResponse) String() string { return proto.CompactTextString(m) } +func (*QuerySetsResponse) ProtoMessage() {} +func (*QuerySetsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{41} +} +func (m *QuerySetsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuerySetsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuerySetsResponse.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 *QuerySetsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySetsResponse.Merge(m, src) +} +func (m *QuerySetsResponse) XXX_Size() int { + return m.Size() +} +func (m *QuerySetsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySetsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QuerySetsResponse proto.InternalMessageInfo + +func (m *QuerySetsResponse) GetSetIds() []uint64 { + if m != nil { + return m.SetIds + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -1980,150 +2092,159 @@ func init() { proto.RegisterType((*QueryVotingResultsResponse)(nil), "cardchain.cardchain.QueryVotingResultsResponse") proto.RegisterType((*QueryMatchesRequest)(nil), "cardchain.cardchain.QueryMatchesRequest") proto.RegisterType((*QueryMatchesResponse)(nil), "cardchain.cardchain.QueryMatchesResponse") + proto.RegisterType((*QuerySetsRequest)(nil), "cardchain.cardchain.QuerySetsRequest") + proto.RegisterType((*QuerySetsResponse)(nil), "cardchain.cardchain.QuerySetsResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2204 bytes of a gzipped FileDescriptorProto + // 2319 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xcf, 0x6f, 0x1b, 0xc7, - 0x15, 0xf6, 0x4a, 0x14, 0x25, 0x3e, 0xc7, 0x8a, 0x3d, 0x76, 0x52, 0x86, 0x76, 0x68, 0x79, 0xe3, - 0xd8, 0x8a, 0x1a, 0x73, 0x63, 0x49, 0xfe, 0x21, 0xc7, 0x71, 0xa3, 0x1f, 0x96, 0xea, 0xba, 0xb6, - 0x95, 0x55, 0xed, 0xa2, 0xb9, 0x10, 0x2b, 0x72, 0x44, 0x2d, 0xbc, 0xdc, 0x65, 0x76, 0x87, 0x52, - 0x59, 0x82, 0x28, 0xda, 0x53, 0x4f, 0x45, 0xd1, 0x14, 0x45, 0x2f, 0x05, 0x8a, 0x9e, 0x7a, 0x68, - 0xd1, 0xfe, 0x01, 0x41, 0x4f, 0x45, 0xe1, 0x63, 0x8a, 0x5e, 0x72, 0x69, 0x51, 0xd8, 0x05, 0x8a, - 0xfe, 0x09, 0xbd, 0x15, 0x33, 0xf3, 0x76, 0xb8, 0x4b, 0x2e, 0x57, 0x4b, 0xfb, 0x22, 0xec, 0xcc, - 0x7c, 0x6f, 0xde, 0x37, 0x33, 0x6f, 0xe6, 0xbd, 0x8f, 0x82, 0xf3, 0x35, 0xcb, 0xaf, 0xd7, 0xf6, - 0x2d, 0xdb, 0x35, 0xfa, 0x5f, 0x9f, 0xb5, 0xa9, 0xdf, 0xa9, 0xb4, 0x7c, 0x8f, 0x79, 0xe4, 0xb4, - 0xea, 0xae, 0xa8, 0xaf, 0xd2, 0x29, 0xab, 0x69, 0xbb, 0x9e, 0x21, 0xfe, 0x4a, 0x5c, 0xe9, 0x4c, - 0xc3, 0x6b, 0x78, 0xe2, 0xd3, 0xe0, 0x5f, 0xd8, 0x7b, 0xae, 0xe1, 0x79, 0x0d, 0x87, 0x1a, 0x56, - 0xcb, 0x36, 0x2c, 0xd7, 0xf5, 0x98, 0xc5, 0x6c, 0xcf, 0x0d, 0x70, 0x74, 0xa1, 0xe6, 0x05, 0x4d, - 0x2f, 0x30, 0x76, 0xad, 0x80, 0x4a, 0xa7, 0xc6, 0xc1, 0xd5, 0x5d, 0xca, 0xac, 0xab, 0x46, 0xcb, - 0x6a, 0xd8, 0xae, 0x00, 0x23, 0x76, 0x2e, 0x89, 0x68, 0xcb, 0xf2, 0xad, 0x66, 0x38, 0xdb, 0x7b, - 0x89, 0x08, 0xdf, 0xab, 0xb7, 0x6b, 0xac, 0x5a, 0xa7, 0xcc, 0xb2, 0x9d, 0x54, 0x28, 0xff, 0xaa, - 0x1e, 0xda, 0x6c, 0xbf, 0x6a, 0x37, 0xad, 0x06, 0x45, 0x68, 0x39, 0x09, 0xda, 0x0e, 0xa8, 0x9f, - 0x36, 0xce, 0xbf, 0x70, 0x3c, 0x71, 0x83, 0x9b, 0x16, 0xab, 0xed, 0xab, 0x4d, 0x48, 0x00, 0x04, - 0x94, 0x49, 0x2a, 0x96, 0xcf, 0x0e, 0x3d, 0xff, 0x29, 0x62, 0x2f, 0x26, 0x63, 0x1d, 0xa7, 0xea, - 0xed, 0xed, 0x29, 0x4a, 0x17, 0x12, 0x29, 0x79, 0x6d, 0xb7, 0x66, 0x3b, 0x69, 0xbb, 0x19, 0x50, - 0xff, 0x40, 0x4d, 0xf2, 0x4e, 0x12, 0x82, 0xba, 0x7c, 0x1a, 0xa6, 0x40, 0x95, 0x54, 0x50, 0xd2, - 0x66, 0x46, 0x0e, 0x3c, 0x3c, 0xea, 0x9a, 0x67, 0x87, 0x87, 0x3c, 0x9f, 0x34, 0xdf, 0x81, 0xc7, - 0x6c, 0xb7, 0x51, 0xf5, 0x69, 0xd0, 0x76, 0x18, 0x9e, 0xa0, 0x7e, 0x06, 0xc8, 0x27, 0x3c, 0x60, - 0xb6, 0x45, 0x04, 0x98, 0xf4, 0xb3, 0x36, 0x0d, 0x98, 0xfe, 0x18, 0x4e, 0xc7, 0x7a, 0x83, 0x96, - 0xe7, 0x06, 0x94, 0xdc, 0x81, 0xbc, 0x8c, 0x94, 0xa2, 0x36, 0xa7, 0xcd, 0x1f, 0x5f, 0x3c, 0x5b, - 0x49, 0x08, 0xea, 0x8a, 0x34, 0x5a, 0x2b, 0x3c, 0xfb, 0xe7, 0xf9, 0x63, 0xbf, 0xfb, 0xcf, 0x9f, - 0x16, 0x34, 0x13, 0xad, 0x74, 0x03, 0xde, 0x16, 0xd3, 0x6e, 0x51, 0xb6, 0x2d, 0xe3, 0x69, 0x43, - 0x86, 0x13, 0xfa, 0x25, 0xb3, 0x30, 0x61, 0xd7, 0xc5, 0xe4, 0x39, 0x73, 0xc2, 0xae, 0xeb, 0x01, - 0x94, 0x47, 0x19, 0x20, 0xa5, 0x4f, 0x60, 0x36, 0x3e, 0x82, 0xd4, 0xde, 0x49, 0xa6, 0x16, 0x83, - 0xae, 0xe5, 0x38, 0x45, 0x73, 0x60, 0x02, 0xbd, 0x81, 0x2c, 0x57, 0x1d, 0x27, 0x99, 0xe5, 0x26, - 0x40, 0xff, 0x5a, 0xa1, 0xbf, 0x4b, 0x15, 0x79, 0x24, 0x15, 0x7e, 0x24, 0x15, 0x79, 0xf1, 0xf1, - 0x60, 0x2a, 0xdb, 0x56, 0x83, 0xa2, 0xad, 0x19, 0xb1, 0xd4, 0xbf, 0xd0, 0x70, 0x79, 0x09, 0x9e, - 0x52, 0x96, 0x37, 0xf9, 0x4a, 0xcb, 0x23, 0x5b, 0x31, 0xf6, 0x13, 0x82, 0xfd, 0xe5, 0x23, 0xd9, - 0x4b, 0x3e, 0x31, 0xfa, 0x0b, 0x70, 0x52, 0xb0, 0x5f, 0xb7, 0xfc, 0x7a, 0xb8, 0x35, 0x6f, 0x42, - 0x9e, 0xd3, 0xb9, 0x17, 0x1e, 0x22, 0xb6, 0xf4, 0xfb, 0x70, 0x2a, 0x82, 0xc5, 0xc5, 0x5d, 0x87, - 0x1c, 0x1f, 0xc6, 0x1d, 0xd4, 0x13, 0x97, 0xc4, 0x0d, 0xbe, 0x6b, 0xb3, 0xfd, 0x7b, 0x3c, 0xfa, - 0x4d, 0x81, 0xd7, 0xdf, 0x47, 0xc7, 0x8f, 0x03, 0xea, 0x87, 0x8e, 0x8b, 0x30, 0x6d, 0xd5, 0xeb, - 0x3e, 0x0d, 0x64, 0x00, 0x14, 0xcc, 0xb0, 0xa9, 0xaf, 0xa1, 0x6b, 0x89, 0x46, 0xd7, 0x57, 0x20, - 0xc7, 0xdf, 0x1e, 0x74, 0xfd, 0x56, 0xa2, 0x6b, 0x61, 0x20, 0x60, 0xfa, 0x6f, 0x72, 0x11, 0xfe, - 0x2a, 0x0e, 0xce, 0xc0, 0x94, 0x77, 0xe8, 0xe2, 0x2c, 0x05, 0x53, 0x36, 0xc8, 0x0d, 0xc8, 0x07, - 0xcc, 0x62, 0xed, 0xa0, 0x38, 0x31, 0x37, 0x39, 0x3f, 0xbb, 0x78, 0x7e, 0xe4, 0xba, 0x76, 0x04, - 0xcc, 0x44, 0x38, 0x59, 0x81, 0x19, 0x3e, 0xfe, 0x9d, 0x4e, 0x8b, 0x16, 0x27, 0x85, 0xe9, 0xdb, - 0x23, 0x4d, 0x39, 0xc8, 0x54, 0x70, 0xb2, 0x0c, 0x53, 0x35, 0xc7, 0x0a, 0x82, 0x62, 0x4e, 0xd8, - 0x95, 0x47, 0xda, 0xad, 0x73, 0x94, 0x29, 0xc1, 0xfc, 0xb0, 0x02, 0xcf, 0x67, 0x6b, 0x9d, 0xe2, - 0x94, 0x58, 0x00, 0xb6, 0x88, 0x0e, 0xaf, 0xb9, 0x56, 0x93, 0xae, 0x7b, 0x2e, 0xb3, 0x6c, 0x37, - 0x28, 0xe6, 0xc5, 0x68, 0xac, 0x8f, 0x2c, 0xc0, 0xc9, 0xa7, 0xb4, 0x73, 0xe8, 0xf9, 0xf5, 0x40, - 0xe1, 0xa6, 0x05, 0x6e, 0xa8, 0x9f, 0x5c, 0x84, 0x13, 0xae, 0xc7, 0x68, 0x1f, 0x38, 0x23, 0x80, - 0xf1, 0x4e, 0x32, 0x0f, 0xaf, 0x7b, 0xae, 0xd3, 0xd9, 0x61, 0x96, 0xcf, 0xa8, 0xcf, 0xc9, 0x16, - 0x0b, 0x73, 0xda, 0xfc, 0x8c, 0x39, 0xd8, 0x4d, 0x2a, 0x40, 0x78, 0xd7, 0x9a, 0xe5, 0x58, 0x6e, - 0x8d, 0xae, 0xba, 0xb5, 0x7d, 0xcf, 0x0f, 0x8a, 0x20, 0xc0, 0x09, 0x23, 0xe4, 0x43, 0x98, 0xf1, - 0x2d, 0xdf, 0x66, 0x36, 0x0d, 0x8a, 0xc7, 0x8f, 0x38, 0x13, 0x93, 0x03, 0x3b, 0xa6, 0x32, 0x20, - 0x97, 0x60, 0xb6, 0xd9, 0x76, 0x98, 0x2d, 0x76, 0xee, 0x91, 0xeb, 0x74, 0x8a, 0xaf, 0x09, 0x47, - 0x03, 0xbd, 0x7a, 0x05, 0x1f, 0x52, 0x8c, 0x10, 0x8c, 0xb3, 0x22, 0x4c, 0xcb, 0x1b, 0x20, 0x2f, - 0x6e, 0xce, 0x0c, 0x9b, 0xfa, 0x15, 0x8c, 0xa8, 0x07, 0x3c, 0x85, 0x45, 0xa2, 0x58, 0xa4, 0x34, - 0x75, 0x7f, 0xc2, 0xa6, 0xbe, 0x89, 0xd3, 0x23, 0x1c, 0xa7, 0xff, 0x00, 0xa6, 0x04, 0x00, 0xe3, - 0xb8, 0x94, 0xb8, 0x2c, 0x69, 0x22, 0x81, 0xfa, 0x65, 0x78, 0x5d, 0xcc, 0xb3, 0x43, 0x59, 0x24, - 0x8c, 0x03, 0xca, 0x94, 0x4b, 0xd9, 0xd0, 0x1f, 0xe0, 0x25, 0x13, 0x40, 0x74, 0xb7, 0x12, 0x77, - 0x97, 0xfc, 0x08, 0xed, 0x50, 0xc6, 0x2f, 0xec, 0xaa, 0x4c, 0xb8, 0xa1, 0xdf, 0x15, 0x78, 0x03, - 0xa7, 0x73, 0x9c, 0x47, 0x3c, 0xc7, 0x86, 0xde, 0xe7, 0xe0, 0x78, 0x10, 0xf6, 0x29, 0x0e, 0xd1, - 0x2e, 0xfd, 0x09, 0xbc, 0x39, 0x68, 0x8a, 0x7c, 0x6e, 0x43, 0x41, 0x01, 0x91, 0x53, 0x79, 0x04, - 0xa7, 0xd0, 0xb4, 0x6f, 0xa0, 0x2f, 0x61, 0x92, 0x5b, 0x97, 0x19, 0x3d, 0x24, 0x74, 0x0e, 0x0a, - 0x98, 0xe3, 0x15, 0x9d, 0x7e, 0x87, 0xfe, 0x10, 0xce, 0xc4, 0x8d, 0xd4, 0x5b, 0x36, 0x8d, 0x20, - 0x24, 0x72, 0x2e, 0x39, 0xc4, 0xd0, 0x2c, 0x04, 0xeb, 0x1f, 0xe0, 0xb9, 0xee, 0x88, 0x9a, 0x21, - 0xe4, 0x50, 0x82, 0x19, 0x59, 0x44, 0x28, 0x0a, 0xaa, 0xad, 0x7f, 0x0b, 0x69, 0x87, 0x16, 0x48, - 0x60, 0x09, 0xf2, 0x12, 0x92, 0x9a, 0x9b, 0xd1, 0x08, 0xa1, 0xea, 0x54, 0xee, 0x86, 0xa5, 0x46, - 0xe4, 0x54, 0x54, 0xf9, 0xd1, 0x3f, 0x95, 0x48, 0x97, 0x3a, 0x95, 0x88, 0x69, 0xff, 0x54, 0x14, - 0x30, 0xf5, 0x54, 0xfa, 0xa6, 0x7d, 0x03, 0xbd, 0x38, 0x38, 0xaf, 0x2a, 0x4a, 0xbe, 0x07, 0x5f, - 0x1b, 0x1a, 0x51, 0x85, 0x09, 0xa8, 0x19, 0xc2, 0x14, 0x79, 0x94, 0xcf, 0x88, 0x85, 0x3e, 0x87, - 0x89, 0x58, 0x8d, 0xf6, 0x53, 0x0e, 0x3a, 0xdf, 0x87, 0xf3, 0x23, 0x11, 0x48, 0xe2, 0xee, 0xf0, - 0xba, 0x2f, 0xa7, 0x73, 0xe8, 0xcf, 0x11, 0xd9, 0x80, 0x0b, 0x83, 0x9e, 0x82, 0x21, 0x32, 0x4f, - 0x61, 0x6e, 0x34, 0x04, 0xd9, 0x6c, 0x25, 0x6c, 0x49, 0x66, 0x3a, 0xd1, 0xbd, 0x39, 0x0b, 0x6f, - 0xa9, 0x87, 0x4d, 0x18, 0xdc, 0x73, 0xf7, 0xbc, 0x90, 0xc9, 0xdf, 0x26, 0xa0, 0x94, 0x34, 0x8a, - 0x24, 0xee, 0xc3, 0x49, 0xee, 0x67, 0xb5, 0x5d, 0xe3, 0x15, 0xc3, 0xb6, 0x6f, 0xd7, 0x68, 0x3f, - 0xe5, 0x46, 0x2a, 0x8e, 0xb0, 0xd6, 0x58, 0xf7, 0x6c, 0x17, 0xcb, 0x96, 0x21, 0x43, 0x52, 0x06, - 0xb0, 0x6a, 0xcc, 0x3e, 0xa0, 0x3b, 0x94, 0xc9, 0xe4, 0x9a, 0x33, 0x23, 0x3d, 0x3c, 0x66, 0xb9, - 0x4d, 0xf0, 0xb0, 0xdd, 0xdc, 0xa5, 0x7e, 0x71, 0x52, 0xc6, 0x6c, 0xa4, 0x8b, 0x27, 0x22, 0xf1, - 0x1a, 0xd1, 0x10, 0x93, 0x13, 0x98, 0x78, 0x27, 0x4f, 0x6d, 0xea, 0x91, 0x08, 0x81, 0x53, 0x02, - 0x38, 0xd4, 0xcf, 0xb3, 0x03, 0xde, 0xe4, 0x10, 0x99, 0x17, 0xc8, 0x81, 0x5e, 0x3e, 0xa7, 0x63, - 0x05, 0x8c, 0xef, 0xd2, 0x03, 0xaf, 0x6e, 0xef, 0xd9, 0xb4, 0x2e, 0xd2, 0x65, 0xce, 0x1c, 0xea, - 0xd7, 0x57, 0xe0, 0x82, 0x7a, 0x79, 0x45, 0x36, 0xda, 0xb0, 0x03, 0xe6, 0xdb, 0xbb, 0x6d, 0xbe, - 0x15, 0x89, 0x8f, 0x76, 0x21, 0x7c, 0xb4, 0x9f, 0x80, 0x9e, 0x66, 0x1a, 0x49, 0x4a, 0x6d, 0xdf, - 0xa7, 0x2e, 0x53, 0x49, 0x49, 0x36, 0x79, 0x45, 0x70, 0x68, 0xb9, 0x8c, 0xd6, 0x71, 0x7b, 0xb1, - 0xa5, 0xdf, 0x84, 0x73, 0xb2, 0x50, 0xad, 0x89, 0xb0, 0xd8, 0xf4, 0xbd, 0xe6, 0xa7, 0xd4, 0x72, - 0x3a, 0x91, 0xbc, 0xf5, 0x03, 0xde, 0x56, 0x7c, 0xc2, 0xa6, 0xbe, 0x12, 0x16, 0xd3, 0x43, 0x96, - 0x7d, 0x32, 0x23, 0x0a, 0xb7, 0x30, 0xf0, 0x9e, 0x08, 0xdd, 0x62, 0x4a, 0xd9, 0x12, 0x06, 0x9e, - 0x8b, 0x71, 0x37, 0x30, 0x88, 0x93, 0x6e, 0xc3, 0x29, 0xbe, 0xad, 0xb1, 0xc1, 0xd4, 0x32, 0x33, - 0x3e, 0xcd, 0xb0, 0xb1, 0xfe, 0x3f, 0x0d, 0x9f, 0xdd, 0x07, 0x32, 0x56, 0xc2, 0x95, 0x5f, 0x84, - 0x13, 0xcc, 0x6e, 0xd2, 0x80, 0x59, 0xcd, 0xd6, 0x86, 0x77, 0xe8, 0xe2, 0x53, 0x19, 0xef, 0xe4, - 0xa1, 0xa9, 0x3a, 0x1e, 0xb7, 0x44, 0xd1, 0x9d, 0x33, 0xa3, 0x5d, 0x7c, 0x9e, 0x1a, 0x56, 0x42, - 0xbc, 0xee, 0x0c, 0x44, 0x05, 0x58, 0x30, 0xe3, 0x9d, 0x3c, 0x2f, 0xf8, 0xb4, 0xe5, 0xf1, 0x4a, - 0x48, 0xc4, 0x6e, 0xc1, 0x54, 0x6d, 0x9e, 0x81, 0xbc, 0x36, 0xab, 0x79, 0x4d, 0x2a, 0xa2, 0x75, - 0x76, 0x44, 0x06, 0x7a, 0x24, 0x31, 0x66, 0x08, 0x56, 0xd7, 0x66, 0xdb, 0xb1, 0x3a, 0xb4, 0x5e, - 0xcc, 0x8b, 0x83, 0x8f, 0x76, 0xe9, 0xdf, 0xc6, 0x9c, 0xa7, 0x96, 0x8e, 0xbb, 0xbc, 0x8c, 0xd5, - 0x0a, 0x0d, 0xdf, 0x97, 0xb4, 0xfa, 0x23, 0x84, 0x2e, 0xfe, 0xe3, 0x2c, 0x4c, 0x89, 0xe9, 0xc8, - 0xcf, 0x35, 0xc8, 0x4b, 0xb1, 0x48, 0x92, 0x5f, 0xa6, 0x61, 0x65, 0x5a, 0x9a, 0x3f, 0x1a, 0x28, - 0xd9, 0xe9, 0xd7, 0x7e, 0xfc, 0xf7, 0x7f, 0x7f, 0x3e, 0x61, 0x90, 0x2b, 0xc6, 0x06, 0xad, 0x51, - 0x97, 0xf9, 0x96, 0xc3, 0xaf, 0xd9, 0x96, 0xd5, 0xa4, 0xc6, 0xe8, 0xdf, 0x40, 0xc8, 0x9f, 0xb5, - 0x41, 0xc9, 0x45, 0x16, 0x47, 0xfb, 0x1c, 0xa5, 0x64, 0x4b, 0x4b, 0x63, 0xd9, 0x20, 0xe5, 0x75, - 0x41, 0xf9, 0x23, 0xf2, 0x61, 0x56, 0xca, 0xf1, 0x1f, 0x65, 0x8c, 0xae, 0x5d, 0xef, 0x91, 0x2f, - 0x34, 0x38, 0x15, 0x9f, 0x7f, 0xd5, 0x71, 0xd2, 0xd6, 0x30, 0x4a, 0xe7, 0xa6, 0xad, 0x61, 0xa4, - 0x62, 0xd5, 0xef, 0x88, 0x35, 0xdc, 0x24, 0xd7, 0x5f, 0x6e, 0x0d, 0xe4, 0x73, 0x0d, 0x72, 0xa2, - 0xca, 0x7f, 0x77, 0xb4, 0xf7, 0x88, 0xe2, 0x2c, 0x5d, 0x3a, 0x0a, 0x86, 0xbc, 0x6e, 0x0b, 0x5e, - 0xd7, 0xc9, 0x72, 0x46, 0x5e, 0xfc, 0xcb, 0xe8, 0xca, 0x6a, 0xbd, 0x47, 0x7e, 0xa1, 0x41, 0x8e, - 0x5f, 0xc1, 0x34, 0x56, 0x11, 0x39, 0x9a, 0xc6, 0x2a, 0xaa, 0x43, 0xf5, 0x8f, 0x04, 0xab, 0x1b, - 0xe4, 0x5a, 0x46, 0x56, 0x5c, 0x8d, 0x1a, 0x5d, 0x7c, 0x21, 0x7b, 0xe4, 0x97, 0x1a, 0x4c, 0x09, - 0xc1, 0x41, 0x8e, 0xd8, 0x06, 0x75, 0xa6, 0x97, 0x8f, 0xc4, 0xbd, 0xc2, 0x7e, 0x05, 0x46, 0x57, - 0x68, 0xe0, 0x1e, 0xf9, 0x95, 0x06, 0x53, 0xe2, 0xde, 0xa7, 0x11, 0x8b, 0x4a, 0x9f, 0x34, 0x62, - 0x31, 0xcd, 0x33, 0x76, 0x80, 0x89, 0x77, 0xc7, 0xe8, 0xa2, 0x90, 0xea, 0x91, 0x9f, 0x6a, 0x30, - 0xb9, 0x43, 0x19, 0xb9, 0x38, 0xda, 0x61, 0x5f, 0x1c, 0x95, 0xde, 0x3d, 0x02, 0x85, 0xa4, 0x6e, - 0x09, 0x52, 0xcb, 0x64, 0x31, 0x23, 0xa9, 0x80, 0x32, 0xa3, 0x2b, 0x72, 0x76, 0x8f, 0xfc, 0x41, - 0x83, 0x82, 0x12, 0x28, 0x64, 0x21, 0xcd, 0x61, 0x5c, 0x3b, 0x95, 0xbe, 0x9e, 0x09, 0x8b, 0x14, - 0xb7, 0x04, 0xc5, 0x55, 0xf2, 0x8d, 0xcc, 0x14, 0xc3, 0x9f, 0x43, 0x39, 0x53, 0x25, 0xc7, 0x7a, - 0xe4, 0xb7, 0x1a, 0x4c, 0xa3, 0x8e, 0x21, 0x29, 0xcf, 0x71, 0x5c, 0x56, 0x95, 0xde, 0xcb, 0x80, - 0x44, 0xa6, 0x6b, 0x82, 0xe9, 0x6d, 0x72, 0x2b, 0x6b, 0xe8, 0x49, 0x7b, 0xa3, 0xab, 0x64, 0x5a, - 0x8f, 0xfc, 0x5a, 0x83, 0xbc, 0x14, 0x3b, 0x69, 0xb9, 0x25, 0xa6, 0xba, 0xd2, 0x72, 0x4b, 0x5c, - 0x6c, 0xe9, 0x1f, 0x0b, 0x86, 0xb7, 0xc8, 0xcd, 0xcc, 0x7b, 0xc9, 0xcd, 0xf9, 0x3e, 0x4a, 0x11, - 0xd7, 0x23, 0xbf, 0xd7, 0xa0, 0xa0, 0x0a, 0xef, 0xb4, 0x43, 0x1f, 0x94, 0x66, 0x69, 0x87, 0x3e, - 0xa4, 0xc5, 0xf4, 0x4d, 0x41, 0xf4, 0x63, 0x72, 0x27, 0x23, 0x51, 0x55, 0xf7, 0x1b, 0xdd, 0x88, - 0xd8, 0x13, 0x67, 0x0e, 0x7d, 0xb5, 0x41, 0xb2, 0x70, 0x50, 0x4f, 0xce, 0xfb, 0xd9, 0xc0, 0xc8, - 0x78, 0x45, 0x30, 0x5e, 0x22, 0x57, 0xc7, 0x65, 0x1c, 0x90, 0xbf, 0x68, 0x40, 0x86, 0xc5, 0x0c, - 0x59, 0xca, 0xe0, 0x7f, 0x50, 0x62, 0x95, 0x96, 0xc7, 0x33, 0x7a, 0xc9, 0x04, 0x9e, 0xf4, 0x13, - 0x3f, 0x79, 0xa6, 0xc1, 0xe9, 0x04, 0x65, 0x47, 0xb2, 0x50, 0x1a, 0xd2, 0x8a, 0xa5, 0x6b, 0x63, - 0x5a, 0xe1, 0x4a, 0x36, 0xc4, 0x4a, 0xee, 0x90, 0xdb, 0x63, 0x1f, 0x43, 0x74, 0x29, 0x7f, 0xd4, - 0xe0, 0x44, 0x4c, 0x19, 0x92, 0x4a, 0x7a, 0xfe, 0x19, 0x14, 0x98, 0x25, 0x23, 0x33, 0xfe, 0x25, - 0x33, 0xaa, 0xfa, 0xaa, 0xda, 0x9c, 0xdf, 0x57, 0x1a, 0xbc, 0x91, 0xa8, 0x9e, 0xc8, 0xf5, 0xf4, - 0x4c, 0x30, 0x4a, 0xa9, 0x95, 0x6e, 0x8c, 0x6d, 0x87, 0x2b, 0x79, 0x28, 0x56, 0xf2, 0x4d, 0xb2, - 0x99, 0x3d, 0xa7, 0x54, 0xc5, 0xcf, 0x96, 0x9d, 0x6a, 0x3d, 0x32, 0x9f, 0xca, 0x33, 0x7f, 0xd5, - 0xe0, 0xe4, 0xa0, 0x0c, 0x23, 0x57, 0x53, 0x6a, 0xbc, 0x64, 0xb1, 0x57, 0x5a, 0x1c, 0xc7, 0x04, - 0xd7, 0x72, 0x5f, 0xac, 0xe5, 0x2e, 0x59, 0xcf, 0xb8, 0x16, 0x4b, 0x4e, 0x54, 0xdd, 0xf3, 0xbd, - 0x66, 0x55, 0x68, 0x49, 0xa3, 0x8b, 0x92, 0xb2, 0x27, 0xa2, 0x2a, 0xa6, 0xce, 0xd2, 0xa2, 0x2a, - 0x49, 0x3d, 0xa6, 0x45, 0x55, 0xa2, 0xa0, 0x1c, 0x3b, 0xaa, 0xe2, 0xff, 0x6b, 0x23, 0xff, 0xd5, - 0x60, 0x1a, 0xd5, 0x53, 0x5a, 0xca, 0x8c, 0x6b, 0xcb, 0xb4, 0x94, 0x39, 0x20, 0xc5, 0xf4, 0x9f, - 0x68, 0x82, 0xe0, 0x8f, 0x34, 0xf2, 0xc3, 0x71, 0xca, 0x22, 0x1a, 0x18, 0xdd, 0x98, 0x52, 0xed, - 0x45, 0xda, 0x8f, 0x5b, 0x3d, 0x9e, 0x52, 0x23, 0xfa, 0xb3, 0x67, 0x74, 0x43, 0xb9, 0xd9, 0x33, - 0xba, 0x28, 0x20, 0x7b, 0xb2, 0x4a, 0x46, 0xb1, 0xd8, 0x5b, 0x33, 0x9f, 0x3d, 0x2f, 0x6b, 0x5f, - 0x3e, 0x2f, 0x6b, 0xff, 0x7a, 0x5e, 0xd6, 0x7e, 0xf6, 0xa2, 0x7c, 0xec, 0xcb, 0x17, 0xe5, 0x63, - 0x5f, 0xbd, 0x28, 0x1f, 0xfb, 0xf4, 0x66, 0xc3, 0x66, 0xfb, 0xed, 0xdd, 0x4a, 0xcd, 0x6b, 0xa6, - 0x92, 0xfc, 0x7e, 0xe4, 0x9b, 0x75, 0x5a, 0x34, 0xd8, 0xcd, 0x8b, 0x7f, 0x56, 0x2e, 0xfd, 0x3f, - 0x00, 0x00, 0xff, 0xff, 0x9a, 0x98, 0x15, 0xf0, 0x66, 0x1f, 0x00, 0x00, + 0xf5, 0xf7, 0xca, 0x14, 0x25, 0x8e, 0x6d, 0xc5, 0x1e, 0x3b, 0xf9, 0x32, 0x8c, 0x4d, 0xcb, 0x13, + 0xc7, 0x56, 0x94, 0x98, 0x1b, 0x4b, 0xb2, 0x6c, 0x39, 0x8e, 0xbf, 0xd1, 0x0f, 0x4b, 0x75, 0x5d, + 0xdb, 0xca, 0xaa, 0x76, 0xd1, 0x14, 0x05, 0xb1, 0x22, 0x47, 0xd4, 0xc2, 0xcb, 0x5d, 0x66, 0x77, + 0x68, 0x95, 0x25, 0x88, 0xa2, 0x3d, 0xf5, 0x54, 0x14, 0x4d, 0x51, 0x14, 0x05, 0x0a, 0x14, 0x3d, + 0x15, 0x45, 0x8b, 0xf6, 0x5c, 0x04, 0x3d, 0x15, 0x85, 0x8f, 0x29, 0x7a, 0xc9, 0xa9, 0x28, 0xec, + 0x02, 0x45, 0xff, 0x84, 0xde, 0x8a, 0x99, 0x79, 0x33, 0xdc, 0x25, 0x97, 0xab, 0xa5, 0x73, 0x11, + 0x76, 0x66, 0x3f, 0x6f, 0xde, 0xe7, 0xcd, 0xbc, 0x9d, 0xf7, 0x3e, 0x14, 0x3a, 0x5f, 0xb3, 0x83, + 0x7a, 0x6d, 0xdf, 0x76, 0x3c, 0xb3, 0xff, 0xf4, 0x49, 0x9b, 0x06, 0x9d, 0x4a, 0x2b, 0xf0, 0x99, + 0x8f, 0x4f, 0xeb, 0xe9, 0x8a, 0x7e, 0x2a, 0x9d, 0xb2, 0x9b, 0x8e, 0xe7, 0x9b, 0xe2, 0xaf, 0xc4, + 0x95, 0xce, 0x34, 0xfc, 0x86, 0x2f, 0x1e, 0x4d, 0xfe, 0x04, 0xb3, 0x67, 0x1b, 0xbe, 0xdf, 0x70, + 0xa9, 0x69, 0xb7, 0x1c, 0xd3, 0xf6, 0x3c, 0x9f, 0xd9, 0xcc, 0xf1, 0xbd, 0x10, 0xde, 0xce, 0xd7, + 0xfc, 0xb0, 0xe9, 0x87, 0xe6, 0xae, 0x1d, 0x52, 0xe9, 0xd4, 0x7c, 0x7a, 0x75, 0x97, 0x32, 0xfb, + 0xaa, 0xd9, 0xb2, 0x1b, 0x8e, 0x27, 0xc0, 0x80, 0x9d, 0x4d, 0x22, 0xda, 0xb2, 0x03, 0xbb, 0xa9, + 0x56, 0x7b, 0x3b, 0x11, 0x11, 0xf8, 0xf5, 0x76, 0x8d, 0x55, 0xeb, 0x94, 0xd9, 0x8e, 0x9b, 0x0a, + 0xe5, 0x4f, 0xd5, 0x03, 0x87, 0xed, 0x57, 0x9d, 0xa6, 0xdd, 0xa0, 0x00, 0x2d, 0x27, 0x41, 0xdb, + 0x21, 0x0d, 0xd2, 0xde, 0xf3, 0x27, 0x78, 0x9f, 0xb8, 0xc1, 0x4d, 0x9b, 0xd5, 0xf6, 0x01, 0x70, + 0x2e, 0x09, 0x10, 0x52, 0xa6, 0xf7, 0x28, 0xf9, 0xb5, 0x64, 0x6a, 0x07, 0xec, 0xc0, 0x0f, 0x9e, + 0x00, 0xf6, 0x62, 0x32, 0xd6, 0x75, 0xab, 0xfe, 0xde, 0x9e, 0x66, 0x7c, 0x21, 0x91, 0xb1, 0xdf, + 0xf6, 0x6a, 0x8e, 0x9b, 0xb6, 0xd9, 0x21, 0x0d, 0x9e, 0xea, 0x45, 0xde, 0x4c, 0x42, 0x50, 0x8f, + 0x2f, 0xc3, 0x34, 0xa8, 0x92, 0x0a, 0x4a, 0xda, 0xeb, 0x48, 0x3e, 0xa8, 0x4c, 0xa8, 0xf9, 0x8e, + 0xca, 0x81, 0xb9, 0xa4, 0xf5, 0x9e, 0xfa, 0xcc, 0xf1, 0x1a, 0xd5, 0x80, 0x86, 0x6d, 0x97, 0xc1, + 0x01, 0x93, 0x33, 0x08, 0x7f, 0xc4, 0xf3, 0x69, 0x5b, 0x24, 0x88, 0x45, 0x3f, 0x69, 0xd3, 0x90, + 0x91, 0x47, 0xe8, 0x74, 0x6c, 0x36, 0x6c, 0xf9, 0x5e, 0x48, 0xf1, 0x6d, 0x94, 0x97, 0x89, 0x54, + 0x34, 0x66, 0x8d, 0xb9, 0x63, 0x0b, 0x6f, 0x54, 0x12, 0x72, 0xbe, 0x22, 0x8d, 0xd6, 0x0a, 0xcf, + 0xfe, 0x71, 0xfe, 0xc8, 0x6f, 0xfe, 0xfd, 0xc7, 0x79, 0xc3, 0x02, 0x2b, 0x62, 0xa2, 0x73, 0x62, + 0xd9, 0x2d, 0xca, 0xb6, 0x65, 0xba, 0x6d, 0xc8, 0x6c, 0x03, 0xbf, 0x78, 0x06, 0x4d, 0x38, 0x75, + 0xb1, 0x78, 0xce, 0x9a, 0x70, 0xea, 0x24, 0x44, 0xe5, 0x51, 0x06, 0x40, 0xe9, 0x23, 0x34, 0x13, + 0x7f, 0x03, 0xd4, 0xde, 0x4c, 0xa6, 0x16, 0x83, 0xae, 0xe5, 0x38, 0x45, 0x6b, 0x60, 0x01, 0xd2, + 0x00, 0x96, 0xab, 0xae, 0x9b, 0xcc, 0x72, 0x13, 0xa1, 0xfe, 0x57, 0x07, 0xfe, 0x2e, 0x55, 0xe4, + 0x91, 0x54, 0xf8, 0x91, 0x54, 0xe4, 0xbd, 0x00, 0x07, 0x53, 0xd9, 0xb6, 0x1b, 0x14, 0x6c, 0xad, + 0x88, 0x25, 0xf9, 0xcc, 0x80, 0xf0, 0x12, 0x3c, 0xa5, 0x84, 0x77, 0xf4, 0x4b, 0x85, 0x87, 0xb7, + 0x62, 0xec, 0x27, 0x04, 0xfb, 0xcb, 0x87, 0xb2, 0x97, 0x7c, 0x62, 0xf4, 0xe7, 0xd1, 0x49, 0xc1, + 0x7e, 0xdd, 0x0e, 0xea, 0x6a, 0x6b, 0x5e, 0x43, 0x79, 0x4e, 0xe7, 0xae, 0x3a, 0x44, 0x18, 0x91, + 0x7b, 0xe8, 0x54, 0x04, 0x0b, 0xc1, 0x2d, 0xa3, 0x1c, 0x7f, 0x0d, 0x3b, 0x48, 0x12, 0x43, 0xe2, + 0x06, 0xdf, 0x70, 0xd8, 0xfe, 0x5d, 0x9e, 0xfd, 0x96, 0xc0, 0x93, 0x77, 0xc1, 0xf1, 0xa3, 0x90, + 0x06, 0xca, 0x71, 0x11, 0x4d, 0xd9, 0xf5, 0x7a, 0x40, 0x43, 0x99, 0x00, 0x05, 0x4b, 0x0d, 0xc9, + 0x1a, 0xb8, 0x96, 0x68, 0x70, 0x7d, 0x05, 0xe5, 0xf8, 0xd5, 0x04, 0xae, 0x5f, 0x4f, 0x74, 0x2d, + 0x0c, 0x04, 0x8c, 0xfc, 0x2a, 0x17, 0xe1, 0xaf, 0xf3, 0xe0, 0x0c, 0x9a, 0xf4, 0x0f, 0x3c, 0x58, + 0xa5, 0x60, 0xc9, 0x01, 0xbe, 0x8e, 0xf2, 0x21, 0xb3, 0x59, 0x3b, 0x2c, 0x4e, 0xcc, 0x1e, 0x9d, + 0x9b, 0x59, 0x38, 0x3f, 0x32, 0xae, 0x1d, 0x01, 0xb3, 0x00, 0x8e, 0x57, 0xd0, 0x34, 0x7f, 0xff, + 0xf5, 0x4e, 0x8b, 0x16, 0x8f, 0x0a, 0xd3, 0x73, 0x23, 0x4d, 0x39, 0xc8, 0xd2, 0x70, 0xbc, 0x84, + 0x26, 0x6b, 0xae, 0x1d, 0x86, 0xc5, 0x9c, 0xb0, 0x2b, 0x8f, 0xb4, 0x5b, 0xe7, 0x28, 0x4b, 0x82, + 0xf9, 0x61, 0x85, 0x7e, 0xc0, 0xd6, 0x3a, 0xc5, 0x49, 0x11, 0x00, 0x8c, 0x30, 0x41, 0xc7, 0x3d, + 0xbb, 0x49, 0xd7, 0x7d, 0x8f, 0xd9, 0x8e, 0x17, 0x16, 0xf3, 0xe2, 0x6d, 0x6c, 0x0e, 0xcf, 0xa3, + 0x93, 0x4f, 0x68, 0xe7, 0xc0, 0x0f, 0xea, 0xa1, 0xc6, 0x4d, 0x09, 0xdc, 0xd0, 0x3c, 0xbe, 0x88, + 0x4e, 0x78, 0x3e, 0xa3, 0x7d, 0xe0, 0xb4, 0x00, 0xc6, 0x27, 0xf1, 0x1c, 0x7a, 0xc5, 0xf7, 0xdc, + 0xce, 0x0e, 0xb3, 0x03, 0x46, 0x03, 0x4e, 0xb6, 0x58, 0x98, 0x35, 0xe6, 0xa6, 0xad, 0xc1, 0x69, + 0x5c, 0x41, 0x98, 0x4f, 0xad, 0xd9, 0xae, 0xed, 0xd5, 0xe8, 0xaa, 0x57, 0xdb, 0xf7, 0x83, 0xb0, + 0x88, 0x04, 0x38, 0xe1, 0x0d, 0x7e, 0x1f, 0x4d, 0x07, 0x76, 0xe0, 0x30, 0x87, 0x86, 0xc5, 0x63, + 0x87, 0x9c, 0x89, 0xc5, 0x81, 0x1d, 0x4b, 0x1b, 0xe0, 0x4b, 0x68, 0xa6, 0xd9, 0x76, 0x99, 0x23, + 0x76, 0xee, 0xa1, 0xe7, 0x76, 0x8a, 0xc7, 0x85, 0xa3, 0x81, 0x59, 0x52, 0x81, 0x8b, 0x14, 0x32, + 0x04, 0xf2, 0xac, 0x88, 0xa6, 0xe4, 0x17, 0x20, 0x3f, 0xdc, 0x9c, 0xa5, 0x86, 0xe4, 0x0a, 0x64, + 0xd4, 0x7d, 0x5e, 0xe1, 0x22, 0x59, 0x2c, 0x2a, 0x9e, 0xfe, 0x7e, 0xd4, 0x90, 0x6c, 0xc2, 0xf2, + 0x00, 0x87, 0xe5, 0xdf, 0x43, 0x93, 0x02, 0x00, 0x79, 0x5c, 0x4a, 0x0c, 0x4b, 0x9a, 0x48, 0x20, + 0xb9, 0x8c, 0x5e, 0x11, 0xeb, 0xec, 0x50, 0x16, 0x49, 0xe3, 0x90, 0x32, 0xed, 0x52, 0x0e, 0xc8, + 0x7d, 0xf8, 0xc8, 0x04, 0x10, 0xdc, 0xad, 0xc4, 0xdd, 0x25, 0x5f, 0x42, 0x3b, 0x94, 0xf1, 0x0f, + 0x76, 0x55, 0x16, 0x5c, 0xe5, 0x77, 0x05, 0xbd, 0x0a, 0xcb, 0xb9, 0xee, 0x43, 0x5e, 0x63, 0x95, + 0xf7, 0x59, 0x74, 0x2c, 0x54, 0x73, 0x9a, 0x43, 0x74, 0x8a, 0x3c, 0x46, 0xaf, 0x0d, 0x9a, 0x02, + 0x9f, 0x5b, 0xa8, 0xa0, 0x81, 0xc0, 0xa9, 0x3c, 0x82, 0x93, 0x32, 0xed, 0x1b, 0x90, 0x45, 0x28, + 0x72, 0xeb, 0xb2, 0xa2, 0x2b, 0x42, 0x67, 0x51, 0x01, 0x6a, 0xbc, 0xa6, 0xd3, 0x9f, 0x20, 0x0f, + 0xd0, 0x99, 0xb8, 0x91, 0xbe, 0xcb, 0xa6, 0x00, 0x04, 0x44, 0xce, 0x26, 0xa7, 0x18, 0x98, 0x29, + 0x30, 0x79, 0x0f, 0xce, 0x75, 0x47, 0xf4, 0x0c, 0x8a, 0x43, 0x09, 0x4d, 0xcb, 0x26, 0x42, 0x53, + 0xd0, 0x63, 0xf2, 0x55, 0xa0, 0xad, 0x2c, 0x80, 0xc0, 0x22, 0xca, 0x4b, 0x48, 0x6a, 0x6d, 0x06, + 0x23, 0x80, 0xea, 0x53, 0xb9, 0xa3, 0x5a, 0x8d, 0xc8, 0xa9, 0xe8, 0xf6, 0xa3, 0x7f, 0x2a, 0x91, + 0x29, 0x7d, 0x2a, 0x11, 0xd3, 0xfe, 0xa9, 0x68, 0x60, 0xea, 0xa9, 0xf4, 0x4d, 0xfb, 0x06, 0xa4, + 0x38, 0xb8, 0xae, 0x6e, 0x4a, 0xbe, 0x89, 0xfe, 0x6f, 0xe8, 0x8d, 0x6e, 0x4c, 0x90, 0x5e, 0x41, + 0x95, 0xc8, 0xc3, 0x7c, 0x46, 0x2c, 0xc8, 0x2c, 0x14, 0x62, 0xfd, 0xb6, 0x5f, 0x72, 0xc0, 0xf9, + 0x3e, 0x3a, 0x3f, 0x12, 0x01, 0x24, 0xee, 0x0c, 0xc7, 0x7d, 0x39, 0x9d, 0x43, 0x7f, 0x8d, 0xc8, + 0x06, 0x5c, 0x18, 0xf4, 0x14, 0x0e, 0x91, 0x79, 0x82, 0x66, 0x47, 0x43, 0x80, 0xcd, 0x56, 0xc2, + 0x96, 0x64, 0xa6, 0x13, 0xdd, 0x9b, 0x37, 0xd0, 0xeb, 0xfa, 0x62, 0x13, 0x06, 0x77, 0xbd, 0x3d, + 0x5f, 0x31, 0xf9, 0xdb, 0x04, 0x2a, 0x25, 0xbd, 0x05, 0x12, 0xf7, 0xd0, 0x49, 0xee, 0x67, 0xb5, + 0x5d, 0xe3, 0x1d, 0xc3, 0x76, 0xe0, 0xd4, 0x68, 0xbf, 0xe4, 0x46, 0x3a, 0x0e, 0xd5, 0x6b, 0xac, + 0xfb, 0x8e, 0x07, 0x6d, 0xcb, 0x90, 0x21, 0x2e, 0x23, 0x64, 0xd7, 0x98, 0xf3, 0x94, 0xee, 0x50, + 0x26, 0x8b, 0x6b, 0xce, 0x8a, 0xcc, 0xf0, 0x9c, 0xe5, 0x36, 0xe1, 0x83, 0x76, 0x73, 0x97, 0x06, + 0xc5, 0xa3, 0x32, 0x67, 0x23, 0x53, 0xbc, 0x10, 0x89, 0xdb, 0x88, 0x2a, 0x4c, 0x4e, 0x60, 0xe2, + 0x93, 0xbc, 0xb4, 0xe9, 0x4b, 0x42, 0x01, 0x27, 0x05, 0x70, 0x68, 0x9e, 0x57, 0x07, 0xf8, 0x92, + 0x15, 0x32, 0x2f, 0x90, 0x03, 0xb3, 0x7c, 0x4d, 0xd7, 0x0e, 0x19, 0xdf, 0xa5, 0xfb, 0x7e, 0xdd, + 0xd9, 0x73, 0x68, 0x5d, 0x94, 0xcb, 0x9c, 0x35, 0x34, 0x4f, 0x56, 0xd0, 0x05, 0x7d, 0xf3, 0x8a, + 0x6a, 0xb4, 0xe1, 0x84, 0x2c, 0x70, 0x76, 0xdb, 0x7c, 0x2b, 0x12, 0x2f, 0xed, 0x82, 0xba, 0xb4, + 0x1f, 0x23, 0x92, 0x66, 0x1a, 0x29, 0x4a, 0xed, 0x20, 0xa0, 0x1e, 0xd3, 0x45, 0x49, 0x0e, 0x79, + 0x47, 0x70, 0x60, 0x7b, 0x8c, 0xd6, 0x61, 0x7b, 0x61, 0x44, 0x6e, 0xa0, 0xb3, 0xb2, 0x51, 0xad, + 0x89, 0xb4, 0xd8, 0x0c, 0xfc, 0xe6, 0xc7, 0xd4, 0x76, 0x3b, 0x91, 0xba, 0xf5, 0x5d, 0x3e, 0xd6, + 0x7c, 0xd4, 0x90, 0xac, 0xa8, 0x66, 0x7a, 0xc8, 0xb2, 0x4f, 0x66, 0x44, 0xe3, 0xa6, 0x12, 0xef, + 0xb1, 0xd0, 0x2d, 0x96, 0x94, 0x2d, 0x2a, 0xf1, 0x3c, 0xc8, 0xbb, 0x81, 0x97, 0xb0, 0xe8, 0x36, + 0x3a, 0xc5, 0xb7, 0x35, 0xf6, 0x32, 0xb5, 0xcd, 0x8c, 0x2f, 0x33, 0x6c, 0x4c, 0xfe, 0x6b, 0xc0, + 0xb5, 0x7b, 0x5f, 0xe6, 0x8a, 0x8a, 0xfc, 0x22, 0x3a, 0xc1, 0x9c, 0x26, 0x0d, 0x99, 0xdd, 0x6c, + 0x6d, 0xf8, 0x07, 0x1e, 0x5c, 0x95, 0xf1, 0x49, 0x9e, 0x9a, 0x7a, 0xe2, 0x51, 0x4b, 0x34, 0xdd, + 0x39, 0x2b, 0x3a, 0xc5, 0xd7, 0xa9, 0x41, 0x27, 0xc4, 0xfb, 0xce, 0x50, 0x74, 0x80, 0x05, 0x2b, + 0x3e, 0xc9, 0xeb, 0x42, 0x40, 0x5b, 0x3e, 0xef, 0x84, 0x44, 0xee, 0x16, 0x2c, 0x3d, 0xe6, 0x15, + 0xc8, 0x6f, 0xb3, 0x9a, 0xdf, 0xa4, 0x22, 0x5b, 0x67, 0x46, 0x54, 0xa0, 0x87, 0x12, 0x63, 0x29, + 0xb0, 0xfe, 0x6c, 0xb6, 0x5d, 0xbb, 0x43, 0xeb, 0xc5, 0xbc, 0x38, 0xf8, 0xe8, 0x14, 0xf9, 0x1a, + 0xd4, 0x3c, 0x1d, 0x3a, 0xec, 0xf2, 0x12, 0x74, 0x2b, 0x54, 0xdd, 0x2f, 0x69, 0xfd, 0x87, 0x82, + 0x92, 0xdf, 0x1a, 0xfd, 0xce, 0x42, 0x6f, 0xe3, 0xb2, 0x6e, 0x9a, 0x0d, 0xc1, 0x7d, 0x54, 0x19, + 0x67, 0x03, 0x3d, 0x33, 0x41, 0xc7, 0xf9, 0x0e, 0x89, 0x14, 0xe7, 0x4d, 0xe0, 0x84, 0xd8, 0xb5, + 0xd8, 0x5c, 0x74, 0x6b, 0x45, 0x73, 0x26, 0xb6, 0x36, 0x67, 0xc5, 0x27, 0xfb, 0xcd, 0x7c, 0x2e, + 0xd2, 0xcc, 0x93, 0x77, 0xa0, 0x4b, 0x93, 0x5c, 0x21, 0x6e, 0xde, 0x37, 0xf3, 0xcf, 0x4d, 0xf5, + 0x74, 0x30, 0x5a, 0xf8, 0xc5, 0x39, 0x34, 0x29, 0xd0, 0xf8, 0x27, 0x06, 0xca, 0x4b, 0x19, 0x8c, + 0x93, 0xef, 0xdc, 0x61, 0xcd, 0x5d, 0x9a, 0x3b, 0x1c, 0x28, 0xfd, 0x93, 0x6b, 0x3f, 0xf8, 0xfb, + 0xbf, 0x3e, 0x9d, 0x30, 0xf1, 0x15, 0x73, 0x83, 0xd6, 0xa8, 0xc7, 0x02, 0xdb, 0xe5, 0x31, 0x6c, + 0xd9, 0x4d, 0x6a, 0x8e, 0xfe, 0xf1, 0x07, 0xff, 0xd9, 0x18, 0x14, 0x93, 0x78, 0x61, 0xb4, 0xcf, + 0x51, 0x1a, 0xbd, 0xb4, 0x38, 0x96, 0x0d, 0x50, 0x5e, 0x17, 0x94, 0x3f, 0xc0, 0xef, 0x67, 0xa5, + 0x1c, 0xff, 0x35, 0xca, 0xec, 0x3a, 0xf5, 0x1e, 0xfe, 0xcc, 0x40, 0xa7, 0xe2, 0xeb, 0xaf, 0xba, + 0x6e, 0x5a, 0x0c, 0xa3, 0x14, 0x7c, 0x5a, 0x0c, 0x23, 0xb5, 0x38, 0xb9, 0x2d, 0x62, 0xb8, 0x81, + 0x97, 0x5f, 0x2e, 0x06, 0xfc, 0xa9, 0x81, 0x72, 0x42, 0xbf, 0xbc, 0x35, 0xda, 0x7b, 0x44, 0x4b, + 0x97, 0x2e, 0x1d, 0x06, 0x03, 0x5e, 0xb7, 0x04, 0xaf, 0x65, 0xbc, 0x94, 0x91, 0x17, 0x7f, 0x32, + 0xbb, 0x52, 0x87, 0xf4, 0xf0, 0x4f, 0x0d, 0x94, 0xe3, 0x97, 0x4b, 0x1a, 0xab, 0x88, 0xd0, 0x4e, + 0x63, 0x15, 0x55, 0xd8, 0xe4, 0x03, 0xc1, 0xea, 0x3a, 0xbe, 0x96, 0x91, 0x15, 0xd7, 0xd9, 0x66, + 0x17, 0xee, 0xfe, 0x1e, 0xfe, 0x99, 0x81, 0x26, 0xe5, 0x87, 0x79, 0xc8, 0x36, 0xe8, 0x33, 0xbd, + 0x7c, 0x28, 0xee, 0x4b, 0xec, 0x57, 0x68, 0x76, 0xc5, 0x85, 0xd0, 0xc3, 0x3f, 0x37, 0xd0, 0xa4, + 0xb8, 0xd1, 0xd2, 0x88, 0x45, 0x45, 0x5d, 0x1a, 0xb1, 0x98, 0x9a, 0x1b, 0x3b, 0xc1, 0xc4, 0x8d, + 0x6a, 0x76, 0x41, 0x22, 0xf6, 0xf0, 0x8f, 0x0c, 0x74, 0x74, 0x87, 0x32, 0x7c, 0x71, 0xb4, 0xc3, + 0xbe, 0xec, 0x2b, 0xbd, 0x75, 0x08, 0x0a, 0x48, 0xdd, 0x14, 0xa4, 0x96, 0xf0, 0x42, 0x46, 0x52, + 0x21, 0x65, 0x66, 0x57, 0x5c, 0x88, 0x3d, 0xfc, 0x7b, 0x03, 0x15, 0xb4, 0xf4, 0xc2, 0xf3, 0x69, + 0x0e, 0xe3, 0xaa, 0xb0, 0xf4, 0x4e, 0x26, 0x2c, 0x50, 0xdc, 0x12, 0x14, 0x57, 0xf1, 0xff, 0x67, + 0xa6, 0xa8, 0x7e, 0xe8, 0xe5, 0x4c, 0xb5, 0xd0, 0xec, 0xe1, 0x5f, 0x1b, 0x68, 0x0a, 0x14, 0x1a, + 0x4e, 0xb9, 0x8e, 0xe3, 0x82, 0xb1, 0xf4, 0x76, 0x06, 0x24, 0x30, 0x5d, 0x13, 0x4c, 0x6f, 0xe1, + 0x9b, 0x59, 0x53, 0x4f, 0xda, 0x9b, 0x5d, 0x2d, 0x40, 0x7b, 0xf8, 0x97, 0x06, 0xca, 0x4b, 0x19, + 0x97, 0x56, 0x5b, 0x62, 0x7a, 0x32, 0xad, 0xb6, 0xc4, 0x65, 0x24, 0xf9, 0x50, 0x30, 0xbc, 0x89, + 0x6f, 0x64, 0xde, 0x4b, 0x6e, 0xce, 0xf7, 0x51, 0xca, 0xd3, 0x1e, 0xfe, 0x9d, 0x81, 0x0a, 0x5a, + 0x52, 0xa4, 0x1d, 0xfa, 0xa0, 0xe8, 0x4c, 0x3b, 0xf4, 0x21, 0x95, 0x49, 0x36, 0x05, 0xd1, 0x0f, + 0xf1, 0xed, 0x8c, 0x44, 0xb5, 0xa2, 0x31, 0xbb, 0x11, 0x19, 0x2b, 0xce, 0x1c, 0xf5, 0x75, 0x14, + 0xce, 0xc2, 0x41, 0x5f, 0x39, 0xef, 0x66, 0x03, 0x03, 0xe3, 0x15, 0xc1, 0x78, 0x11, 0x5f, 0x1d, + 0x97, 0x71, 0x88, 0xff, 0x62, 0x20, 0x3c, 0x2c, 0xd3, 0xf0, 0x62, 0x06, 0xff, 0x83, 0xe2, 0xb1, + 0xb4, 0x34, 0x9e, 0xd1, 0x4b, 0x16, 0xf0, 0xa4, 0x7f, 0x5e, 0xe0, 0x67, 0x06, 0x3a, 0x9d, 0xa0, + 0x59, 0x71, 0x16, 0x4a, 0x43, 0x2a, 0xb8, 0x74, 0x6d, 0x4c, 0x2b, 0x88, 0x64, 0x43, 0x44, 0x72, + 0x1b, 0xdf, 0x1a, 0xfb, 0x18, 0xa2, 0xa1, 0xfc, 0xc1, 0x40, 0x27, 0x62, 0x9a, 0x17, 0x57, 0xd2, + 0xeb, 0xcf, 0xa0, 0x74, 0x2e, 0x99, 0x99, 0xf1, 0x2f, 0x59, 0x51, 0xf5, 0x53, 0xd5, 0xe1, 0xfc, + 0xbe, 0x30, 0xd0, 0xab, 0x89, 0xba, 0x10, 0x2f, 0xa7, 0x57, 0x82, 0x51, 0x1a, 0xb4, 0x74, 0x7d, + 0x6c, 0x3b, 0x88, 0xe4, 0x81, 0x88, 0xe4, 0x2b, 0x78, 0x33, 0x7b, 0x4d, 0xa9, 0x8a, 0x1f, 0x64, + 0x3b, 0xd5, 0x7a, 0x64, 0x3d, 0x5d, 0x67, 0xfe, 0x6a, 0xa0, 0x93, 0x83, 0x02, 0x13, 0x5f, 0x4d, + 0xe9, 0xf1, 0x92, 0x65, 0x6c, 0x69, 0x61, 0x1c, 0x13, 0x88, 0xe5, 0x9e, 0x88, 0xe5, 0x0e, 0x5e, + 0xcf, 0x18, 0x8b, 0x2d, 0x17, 0xaa, 0xee, 0x05, 0x7e, 0xb3, 0x2a, 0x54, 0xb2, 0xd9, 0x05, 0xb1, + 0xdc, 0x13, 0x59, 0x15, 0xd3, 0x9d, 0x69, 0x59, 0x95, 0xa4, 0x8b, 0xd3, 0xb2, 0x2a, 0x51, 0x2a, + 0x8f, 0x9d, 0x55, 0xf1, 0xff, 0x22, 0xe2, 0xff, 0x18, 0x68, 0x0a, 0x74, 0x61, 0x5a, 0xc9, 0x8c, + 0xab, 0xe6, 0xb4, 0x92, 0x39, 0x20, 0x32, 0xc9, 0x0f, 0x0d, 0x41, 0xf0, 0xfb, 0x06, 0xfe, 0xde, + 0x38, 0x6d, 0x11, 0x0d, 0xcd, 0x6e, 0x4c, 0x83, 0xf7, 0x22, 0xe3, 0x47, 0xad, 0x1e, 0x2f, 0xa9, + 0x11, 0x65, 0xdd, 0x33, 0xbb, 0x4a, 0x48, 0xf7, 0xcc, 0x2e, 0x48, 0xe3, 0x9e, 0xec, 0x92, 0x41, + 0x06, 0xf7, 0xf0, 0x9f, 0x0c, 0x94, 0x13, 0xbf, 0x34, 0xa5, 0xb7, 0x4e, 0x61, 0x86, 0x56, 0x39, + 0xaa, 0x27, 0x49, 0x4d, 0x44, 0xf8, 0x6d, 0xfc, 0xad, 0xec, 0x9f, 0x43, 0x68, 0x76, 0xa5, 0x02, + 0x86, 0x40, 0x94, 0xd8, 0x8d, 0xc4, 0x25, 0x9a, 0xde, 0x9e, 0xea, 0x5b, 0xd7, 0xac, 0x67, 0xcf, + 0xcb, 0xc6, 0xe7, 0xcf, 0xcb, 0xc6, 0x3f, 0x9f, 0x97, 0x8d, 0x1f, 0xbf, 0x28, 0x1f, 0xf9, 0xfc, + 0x45, 0xf9, 0xc8, 0x17, 0x2f, 0xca, 0x47, 0x3e, 0xbe, 0xd1, 0x70, 0xd8, 0x7e, 0x7b, 0xb7, 0x52, + 0xf3, 0x9b, 0xa9, 0x04, 0xbe, 0x13, 0x79, 0x66, 0x9d, 0x16, 0x0d, 0x77, 0xf3, 0xe2, 0x7f, 0xc8, + 0x8b, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xd6, 0x84, 0x06, 0x0f, 0x1c, 0x21, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2177,6 +2298,8 @@ type QueryClient interface { VotingResults(ctx context.Context, in *QueryVotingResultsRequest, opts ...grpc.CallOption) (*QueryVotingResultsResponse, error) // Queries a list of Matches items. Matches(ctx context.Context, in *QueryMatchesRequest, opts ...grpc.CallOption) (*QueryMatchesResponse, error) + // Queries a list of Sets items. + Sets(ctx context.Context, in *QuerySetsRequest, opts ...grpc.CallOption) (*QuerySetsResponse, error) } type queryClient struct { @@ -2367,6 +2490,15 @@ func (c *queryClient) Matches(ctx context.Context, in *QueryMatchesRequest, opts return out, nil } +func (c *queryClient) Sets(ctx context.Context, in *QuerySetsRequest, opts ...grpc.CallOption) (*QuerySetsResponse, error) { + out := new(QuerySetsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Sets", 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. @@ -2408,6 +2540,8 @@ type QueryServer interface { VotingResults(context.Context, *QueryVotingResultsRequest) (*QueryVotingResultsResponse, error) // Queries a list of Matches items. Matches(context.Context, *QueryMatchesRequest) (*QueryMatchesResponse, error) + // Queries a list of Sets items. + Sets(context.Context, *QuerySetsRequest) (*QuerySetsResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -2474,6 +2608,9 @@ func (*UnimplementedQueryServer) VotingResults(ctx context.Context, req *QueryVo func (*UnimplementedQueryServer) Matches(ctx context.Context, req *QueryMatchesRequest) (*QueryMatchesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Matches not implemented") } +func (*UnimplementedQueryServer) Sets(ctx context.Context, req *QuerySetsRequest) (*QuerySetsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Sets not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -2839,6 +2976,24 @@ func _Query_Matches_Handler(srv interface{}, ctx context.Context, dec func(inter return interceptor(ctx, in, info, handler) } +func _Query_Sets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QuerySetsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Sets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/Sets", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Sets(ctx, req.(*QuerySetsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -2924,6 +3079,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Matches", Handler: _Query_Matches_Handler, }, + { + MethodName: "Sets", + Handler: _Query_Sets_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -4430,6 +4589,109 @@ func (m *QueryMatchesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *QuerySetsRequest) 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 *QuerySetsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QuerySetsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0x22 + } + if len(m.ContainsCards) > 0 { + dAtA35 := make([]byte, len(m.ContainsCards)*10) + var j34 int + for _, num := range m.ContainsCards { + for num >= 1<<7 { + dAtA35[j34] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j34++ + } + dAtA35[j34] = uint8(num) + j34++ + } + i -= j34 + copy(dAtA[i:], dAtA35[:j34]) + i = encodeVarintQuery(dAtA, i, uint64(j34)) + i-- + dAtA[i] = 0x1a + } + if len(m.Contributors) > 0 { + for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Contributors[iNdEx]) + copy(dAtA[i:], m.Contributors[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Contributors[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if m.Status != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QuerySetsResponse) 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 *QuerySetsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QuerySetsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SetIds) > 0 { + dAtA37 := make([]byte, len(m.SetIds)*10) + var j36 int + for _, num := range m.SetIds { + for num >= 1<<7 { + dAtA37[j36] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j36++ + } + dAtA37[j36] = uint8(num) + j36++ + } + i -= j36 + copy(dAtA[i:], dAtA37[:j36]) + i = encodeVarintQuery(dAtA, i, uint64(j36)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { offset -= sovQuery(v) base := offset @@ -5045,6 +5307,51 @@ func (m *QueryMatchesResponse) Size() (n int) { return n } +func (m *QuerySetsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Status != 0 { + n += 1 + sovQuery(uint64(m.Status)) + } + if len(m.Contributors) > 0 { + for _, s := range m.Contributors { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + if len(m.ContainsCards) > 0 { + l = 0 + for _, e := range m.ContainsCards { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QuerySetsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.SetIds) > 0 { + l = 0 + for _, e := range m.SetIds { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -9090,6 +9397,341 @@ func (m *QueryMatchesResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QuerySetsRequest) 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: QuerySetsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QuerySetsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= SetStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + 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 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.Contributors = append(m.Contributors, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ContainsCards = append(m.ContainsCards, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + 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.ContainsCards) == 0 { + m.ContainsCards = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ContainsCards = append(m.ContainsCards, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field ContainsCards", wireType) + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", 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.Owner = 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 *QuerySetsResponse) 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: QuerySetsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QuerySetsResponse: 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 ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SetIds = append(m.SetIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + 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.SetIds) == 0 { + m.SetIds = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SetIds = append(m.SetIds, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field SetIds", wireType) + } + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 430a6b15..749156a4 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -1013,6 +1013,132 @@ func local_request_Query_Matches_0(ctx context.Context, marshaler runtime.Marsha } +func request_Query_Sets_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QuerySetsRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["status"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "status") + } + + e, err = runtime.Enum(val, SetStatus_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "status", err) + } + + protoReq.Status = SetStatus(e) + + val, ok = pathParams["contributors"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "contributors") + } + + protoReq.Contributors, err = runtime.StringSlice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "contributors", err) + } + + val, ok = pathParams["containsCards"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "containsCards") + } + + protoReq.ContainsCards, err = runtime.Uint64Slice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "containsCards", err) + } + + val, ok = pathParams["owner"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "owner") + } + + protoReq.Owner, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) + } + + msg, err := client.Sets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Sets_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QuerySetsRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["status"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "status") + } + + e, err = runtime.Enum(val, SetStatus_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "status", err) + } + + protoReq.Status = SetStatus(e) + + val, ok = pathParams["contributors"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "contributors") + } + + protoReq.Contributors, err = runtime.StringSlice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "contributors", err) + } + + val, ok = pathParams["containsCards"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "containsCards") + } + + protoReq.ContainsCards, err = runtime.Uint64Slice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "containsCards", err) + } + + val, ok = pathParams["owner"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "owner") + } + + protoReq.Owner, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) + } + + msg, err := server.Sets(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. @@ -1479,6 +1605,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_Sets_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_Sets_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_Sets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1920,6 +2069,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_Sets_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_Sets_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_Sets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1963,6 +2132,8 @@ var ( pattern_Query_VotingResults_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "voting_results"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_Matches_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"DecentralCardGame", "cardchain", "matches", "timestampDown", "timestampUp", "containsUsers", "reporter", "outcome", "cardsPlayed"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_Sets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"DecentralCardGame", "cardchain", "sets", "status", "contributors", "containsCards", "owner"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -2005,4 +2176,6 @@ var ( forward_Query_VotingResults_0 = runtime.ForwardResponseMessage forward_Query_Matches_0 = runtime.ForwardResponseMessage + + forward_Query_Sets_0 = runtime.ForwardResponseMessage ) diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index e855ac39..9b795e35 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -26,24 +26,27 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type SetStatus int32 const ( - SetStatus_design SetStatus = 0 - SetStatus_finalized SetStatus = 1 - SetStatus_active SetStatus = 2 - SetStatus_archived SetStatus = 3 + SetStatus_undefined SetStatus = 0 + SetStatus_design SetStatus = 1 + SetStatus_finalized SetStatus = 2 + SetStatus_active SetStatus = 3 + SetStatus_archived SetStatus = 4 ) var SetStatus_name = map[int32]string{ - 0: "design", - 1: "finalized", - 2: "active", - 3: "archived", + 0: "undefined", + 1: "design", + 2: "finalized", + 3: "active", + 4: "archived", } var SetStatus_value = map[string]int32{ - "design": 0, - "finalized": 1, - "active": 2, - "archived": 3, + "undefined": 0, + "design": 1, + "finalized": 2, + "active": 3, + "archived": 4, } func (x SetStatus) String() string { @@ -154,7 +157,7 @@ func (m *Set) GetStatus() SetStatus { if m != nil { return m.Status } - return SetStatus_design + return SetStatus_undefined } func (m *Set) GetTimeStamp() int64 { @@ -292,39 +295,39 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/set.proto", fileDescriptor_4433f04964645edd) } var fileDescriptor_4433f04964645edd = []byte{ - // 498 bytes of a gzipped FileDescriptorProto + // 508 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0x4d, 0x6f, 0x13, 0x31, - 0x10, 0x8d, 0xb3, 0x69, 0x9a, 0x9d, 0x24, 0x28, 0x32, 0x08, 0x19, 0x44, 0x57, 0xab, 0x48, 0x48, - 0x2b, 0x0e, 0x1b, 0x35, 0x95, 0x10, 0x27, 0x04, 0xb4, 0x12, 0xea, 0x11, 0xe7, 0x50, 0x89, 0x9b, - 0xb3, 0x36, 0x8d, 0x45, 0xd7, 0x4e, 0xed, 0x49, 0x20, 0xfc, 0x0a, 0x7e, 0x0f, 0xbf, 0x80, 0x63, - 0x8f, 0x1c, 0x51, 0xf2, 0x47, 0xd0, 0xee, 0xe6, 0xab, 0x28, 0xbd, 0xbd, 0x79, 0xf3, 0xde, 0xb3, - 0xe5, 0x19, 0xc3, 0x49, 0x26, 0x9c, 0xcc, 0x26, 0x42, 0x9b, 0xc1, 0x0e, 0x79, 0x85, 0xe9, 0xd4, - 0x59, 0xb4, 0xf4, 0xf1, 0x96, 0x4c, 0xb7, 0xe8, 0x79, 0x94, 0x59, 0x9f, 0x5b, 0x3f, 0x18, 0x0b, - 0xaf, 0x06, 0xf3, 0xd3, 0xb1, 0x42, 0x71, 0x3a, 0xc8, 0xac, 0x36, 0x95, 0xa9, 0xff, 0x2b, 0x80, - 0x60, 0xa4, 0x90, 0x52, 0x68, 0x18, 0x91, 0x2b, 0x46, 0x62, 0x92, 0x84, 0xbc, 0xc4, 0xf4, 0x09, - 0x1c, 0x15, 0x41, 0x9e, 0xd5, 0xe3, 0x20, 0x69, 0xf0, 0xaa, 0xa0, 0x4f, 0xa1, 0x29, 0x1c, 0x6a, - 0x8f, 0x2c, 0x28, 0xb5, 0xeb, 0x8a, 0xc6, 0xd0, 0xf6, 0x68, 0xdd, 0xe2, 0xca, 0x69, 0x54, 0x8e, - 0x35, 0xca, 0xe6, 0x3e, 0x45, 0xfb, 0xd0, 0xc9, 0xac, 0x41, 0xa7, 0xc7, 0x33, 0xb4, 0xce, 0xb3, - 0xa3, 0x38, 0x48, 0x42, 0x7e, 0x8f, 0x2b, 0xce, 0x2c, 0x2d, 0xac, 0x59, 0xfa, 0xab, 0x82, 0xbe, - 0x80, 0x50, 0x38, 0xfc, 0x66, 0xdd, 0xd7, 0x4b, 0xc9, 0x8e, 0x63, 0x92, 0x34, 0xf8, 0x8e, 0xa0, - 0xaf, 0xa1, 0xe9, 0x51, 0xe0, 0xcc, 0xb3, 0x56, 0x4c, 0x92, 0x47, 0xc3, 0x28, 0x3d, 0xf0, 0x12, - 0xe9, 0x48, 0xe1, 0xa8, 0x54, 0xf1, 0xb5, 0xba, 0x48, 0x45, 0x9d, 0xab, 0x11, 0x8a, 0x7c, 0xca, - 0xc2, 0x98, 0x24, 0x01, 0xdf, 0x11, 0x54, 0x00, 0xdb, 0xbf, 0xd9, 0x85, 0xf6, 0x15, 0xd6, 0xd6, - 0x30, 0x88, 0x83, 0xa4, 0x3d, 0x7c, 0x79, 0xf0, 0x9c, 0xf7, 0x52, 0xba, 0x2b, 0x8d, 0x93, 0x4f, - 0x33, 0x61, 0x50, 0xe3, 0x82, 0x3f, 0x18, 0x43, 0xdf, 0x42, 0x8b, 0x0b, 0xa7, 0x51, 0x2b, 0xcf, - 0xda, 0x65, 0x64, 0xff, 0x60, 0xe4, 0xa5, 0x31, 0xca, 0x6d, 0x94, 0x7c, 0xeb, 0xe9, 0x9f, 0x40, - 0xf7, 0x5e, 0x8b, 0x76, 0x80, 0x70, 0x46, 0xca, 0x69, 0x11, 0xde, 0xd7, 0xd0, 0xfb, 0xff, 0x32, - 0xc5, 0x9c, 0x85, 0x94, 0x6e, 0x33, 0xe7, 0x02, 0x17, 0xae, 0x5b, 0x56, 0x8f, 0x49, 0xd2, 0xe5, - 0xe4, 0x96, 0x9e, 0xc1, 0xf1, 0x54, 0x2c, 0x72, 0x65, 0xaa, 0x01, 0xb7, 0x87, 0xcf, 0xd2, 0x6a, - 0x87, 0xd2, 0x62, 0x87, 0xd2, 0xf5, 0x0e, 0xa5, 0xe7, 0x56, 0x1b, 0xbe, 0x51, 0xbe, 0x7a, 0x07, - 0xe1, 0xf6, 0x7d, 0x29, 0x40, 0x53, 0x2a, 0xaf, 0xaf, 0x4d, 0xaf, 0x46, 0xbb, 0x10, 0x7e, 0xd1, - 0x46, 0xdc, 0xe8, 0x1f, 0x4a, 0xf6, 0x48, 0xd1, 0x12, 0x19, 0xea, 0xb9, 0xea, 0xd5, 0x69, 0x07, - 0x5a, 0xc2, 0x65, 0x13, 0x3d, 0x57, 0xb2, 0x17, 0x7c, 0xe0, 0xbf, 0x97, 0x11, 0xb9, 0x5b, 0x46, - 0xe4, 0xef, 0x32, 0x22, 0x3f, 0x57, 0x51, 0xed, 0x6e, 0x15, 0xd5, 0xfe, 0xac, 0xa2, 0xda, 0xe7, - 0x37, 0xd7, 0x1a, 0x27, 0xb3, 0x71, 0x9a, 0xd9, 0x7c, 0x70, 0xa1, 0x32, 0x65, 0xd0, 0x89, 0x9b, - 0x73, 0xe1, 0xe4, 0x47, 0x91, 0xab, 0xbd, 0x9f, 0xf0, 0x7d, 0x0f, 0xe3, 0x62, 0xaa, 0xfc, 0xb8, - 0x59, 0xee, 0xf8, 0xd9, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc8, 0xc2, 0x6b, 0xe5, 0x39, 0x03, - 0x00, 0x00, + 0x10, 0x8d, 0xbb, 0x69, 0xda, 0x75, 0x12, 0xb4, 0x32, 0x08, 0x19, 0x44, 0x57, 0xab, 0x48, 0x48, + 0x2b, 0x0e, 0x1b, 0x35, 0x95, 0x10, 0x27, 0x24, 0x68, 0x25, 0xd4, 0x13, 0xc2, 0x39, 0x54, 0xe2, + 0xe6, 0xac, 0xdd, 0x66, 0x44, 0xd7, 0x4e, 0xed, 0x49, 0x20, 0xfc, 0x0a, 0x7e, 0x0f, 0xbf, 0x80, + 0x63, 0x8f, 0x1c, 0x51, 0xf2, 0x47, 0xd0, 0xee, 0xe6, 0xab, 0x28, 0xdc, 0xde, 0xbc, 0x79, 0xef, + 0xd9, 0xf2, 0x8c, 0xe9, 0x49, 0x2e, 0x9d, 0xca, 0xc7, 0x12, 0x4c, 0x7f, 0x8b, 0xbc, 0xc6, 0x6c, + 0xe2, 0x2c, 0x5a, 0xf6, 0x78, 0x43, 0x66, 0x1b, 0xf4, 0x3c, 0xce, 0xad, 0x2f, 0xac, 0xef, 0x8f, + 0xa4, 0xd7, 0xfd, 0xd9, 0xe9, 0x48, 0xa3, 0x3c, 0xed, 0xe7, 0x16, 0x4c, 0x6d, 0xea, 0xfd, 0x0c, + 0x68, 0x30, 0xd4, 0xc8, 0x18, 0x6d, 0x1a, 0x59, 0x68, 0x4e, 0x12, 0x92, 0x86, 0xa2, 0xc2, 0xec, + 0x09, 0x3d, 0x2c, 0x83, 0x3c, 0x3f, 0x48, 0x82, 0xb4, 0x29, 0xea, 0x82, 0x3d, 0xa5, 0x2d, 0xe9, + 0x10, 0x3c, 0xf2, 0xa0, 0xd2, 0xae, 0x2a, 0x96, 0xd0, 0xb6, 0x47, 0xeb, 0xe6, 0x57, 0x0e, 0x50, + 0x3b, 0xde, 0xac, 0x9a, 0xbb, 0x14, 0xeb, 0xd1, 0x4e, 0x6e, 0x0d, 0x3a, 0x18, 0x4d, 0xd1, 0x3a, + 0xcf, 0x0f, 0x93, 0x20, 0x0d, 0xc5, 0x03, 0xae, 0x3c, 0xb3, 0xb2, 0xf0, 0x56, 0xe5, 0xaf, 0x0b, + 0xf6, 0x82, 0x86, 0xd2, 0xe1, 0x57, 0xeb, 0xbe, 0x5c, 0x2a, 0x7e, 0x94, 0x90, 0xb4, 0x29, 0xb6, + 0x04, 0x7b, 0x4d, 0x5b, 0x1e, 0x25, 0x4e, 0x3d, 0x3f, 0x4e, 0x48, 0xfa, 0x68, 0x10, 0x67, 0x7b, + 0x5e, 0x22, 0x1b, 0x6a, 0x1c, 0x56, 0x2a, 0xb1, 0x52, 0x97, 0xa9, 0x08, 0x85, 0x1e, 0xa2, 0x2c, + 0x26, 0x3c, 0x4c, 0x48, 0x1a, 0x88, 0x2d, 0xc1, 0x24, 0xe5, 0xbb, 0x37, 0xbb, 0x00, 0x5f, 0x63, + 0xb0, 0x86, 0xd3, 0x24, 0x48, 0xdb, 0x83, 0x97, 0x7b, 0xcf, 0x79, 0xa7, 0x94, 0xbb, 0x02, 0x1c, + 0x7f, 0x9a, 0x4a, 0x83, 0x80, 0x73, 0xf1, 0xdf, 0x18, 0xf6, 0x96, 0x1e, 0x0b, 0xe9, 0x00, 0x41, + 0x7b, 0xde, 0xae, 0x22, 0x7b, 0x7b, 0x23, 0x2f, 0x8d, 0xd1, 0x6e, 0xad, 0x14, 0x1b, 0x4f, 0xef, + 0x84, 0x76, 0x1f, 0xb4, 0x58, 0x87, 0x12, 0xc1, 0x49, 0x35, 0x2d, 0x22, 0x7a, 0x40, 0xa3, 0x7f, + 0x2f, 0x53, 0xce, 0x59, 0x2a, 0xe5, 0xd6, 0x73, 0x2e, 0x71, 0xe9, 0xba, 0xe3, 0x07, 0x09, 0x49, + 0xbb, 0x82, 0xdc, 0xb1, 0x33, 0x7a, 0x34, 0x91, 0xf3, 0x42, 0x9b, 0x7a, 0xc0, 0xed, 0xc1, 0xb3, + 0xac, 0xde, 0xa1, 0xac, 0xdc, 0xa1, 0x6c, 0xb5, 0x43, 0xd9, 0xb9, 0x05, 0x23, 0xd6, 0xca, 0x57, + 0x1f, 0x69, 0xb8, 0x79, 0x5f, 0xd6, 0xa5, 0xe1, 0xd4, 0x28, 0x7d, 0x0d, 0x46, 0xab, 0xa8, 0xc1, + 0x28, 0x6d, 0x29, 0xed, 0xe1, 0xc6, 0x44, 0xa4, 0x6c, 0x5d, 0x83, 0x91, 0xb7, 0xf0, 0x5d, 0xab, + 0xe8, 0xa0, 0x6c, 0xc9, 0x1c, 0x61, 0xa6, 0xa3, 0x80, 0x75, 0xe8, 0xb1, 0x74, 0xf9, 0x18, 0x66, + 0x5a, 0x45, 0xcd, 0xf7, 0xe2, 0xd7, 0x22, 0x26, 0xf7, 0x8b, 0x98, 0xfc, 0x59, 0xc4, 0xe4, 0xc7, + 0x32, 0x6e, 0xdc, 0x2f, 0xe3, 0xc6, 0xef, 0x65, 0xdc, 0xf8, 0xfc, 0xe6, 0x06, 0x70, 0x3c, 0x1d, + 0x65, 0xb9, 0x2d, 0xfa, 0x17, 0x3a, 0xd7, 0x06, 0x9d, 0xbc, 0x3d, 0x97, 0x4e, 0x7d, 0x90, 0x85, + 0xde, 0xf9, 0x18, 0xdf, 0x76, 0x30, 0xce, 0x27, 0xda, 0x8f, 0x5a, 0xd5, 0xca, 0x9f, 0xfd, 0x0d, + 0x00, 0x00, 0xff, 0xff, 0x36, 0x7b, 0xc5, 0x6c, 0x48, 0x03, 0x00, 0x00, } func (m *Set) Marshal() (dAtA []byte, err error) { From 34fac6468b466958dc2dbe8ebf9e979acc8bbb7d Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 16:45:12 +0100 Subject: [PATCH 54/99] feat(#242): Added CardContent protos --- .../cardchain/card_content.pulsar.go | 643 ++++ api/cardchain/cardchain/query.pulsar.go | 3241 ++++++++++++++--- api/cardchain/cardchain/query_grpc.pb.go | 78 + docs/static/openapi.yml | 2 +- gen_queries.sh | 4 +- proto/cardchain/cardchain/card_content.proto | 9 + proto/cardchain/cardchain/query.proto | 22 + x/cardchain/keeper/query_card_content.go | 23 + x/cardchain/keeper/query_card_contents.go | 23 + x/cardchain/module/autocli.go | 14 + x/cardchain/types/card_content.pb.go | 368 ++ x/cardchain/types/query.pb.go | 1209 +++++- x/cardchain/types/query.pb.gw.go | 202 + 13 files changed, 5081 insertions(+), 757 deletions(-) create mode 100644 api/cardchain/cardchain/card_content.pulsar.go create mode 100644 proto/cardchain/cardchain/card_content.proto create mode 100644 x/cardchain/keeper/query_card_content.go create mode 100644 x/cardchain/keeper/query_card_contents.go create mode 100644 x/cardchain/types/card_content.pb.go diff --git a/api/cardchain/cardchain/card_content.pulsar.go b/api/cardchain/cardchain/card_content.pulsar.go new file mode 100644 index 00000000..11c42425 --- /dev/null +++ b/api/cardchain/cardchain/card_content.pulsar.go @@ -0,0 +1,643 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package cardchain + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_CardContent protoreflect.MessageDescriptor + fd_CardContent_content protoreflect.FieldDescriptor + fd_CardContent_hash protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_card_content_proto_init() + md_CardContent = File_cardchain_cardchain_card_content_proto.Messages().ByName("CardContent") + fd_CardContent_content = md_CardContent.Fields().ByName("content") + fd_CardContent_hash = md_CardContent.Fields().ByName("hash") +} + +var _ protoreflect.Message = (*fastReflection_CardContent)(nil) + +type fastReflection_CardContent CardContent + +func (x *CardContent) ProtoReflect() protoreflect.Message { + return (*fastReflection_CardContent)(x) +} + +func (x *CardContent) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_card_content_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_CardContent_messageType fastReflection_CardContent_messageType +var _ protoreflect.MessageType = fastReflection_CardContent_messageType{} + +type fastReflection_CardContent_messageType struct{} + +func (x fastReflection_CardContent_messageType) Zero() protoreflect.Message { + return (*fastReflection_CardContent)(nil) +} +func (x fastReflection_CardContent_messageType) New() protoreflect.Message { + return new(fastReflection_CardContent) +} +func (x fastReflection_CardContent_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_CardContent +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_CardContent) Descriptor() protoreflect.MessageDescriptor { + return md_CardContent +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_CardContent) Type() protoreflect.MessageType { + return _fastReflection_CardContent_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_CardContent) New() protoreflect.Message { + return new(fastReflection_CardContent) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_CardContent) Interface() protoreflect.ProtoMessage { + return (*CardContent)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_CardContent) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Content != "" { + value := protoreflect.ValueOfString(x.Content) + if !f(fd_CardContent_content, value) { + return + } + } + if x.Hash != "" { + value := protoreflect.ValueOfString(x.Hash) + if !f(fd_CardContent_hash, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_CardContent) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.CardContent.content": + return x.Content != "" + case "cardchain.cardchain.CardContent.hash": + return x.Hash != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardContent")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardContent does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_CardContent) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.CardContent.content": + x.Content = "" + case "cardchain.cardchain.CardContent.hash": + x.Hash = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardContent")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardContent does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_CardContent) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.CardContent.content": + value := x.Content + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.CardContent.hash": + value := x.Hash + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardContent")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardContent does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_CardContent) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.CardContent.content": + x.Content = value.Interface().(string) + case "cardchain.cardchain.CardContent.hash": + x.Hash = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardContent")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardContent does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_CardContent) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.CardContent.content": + panic(fmt.Errorf("field content of message cardchain.cardchain.CardContent is not mutable")) + case "cardchain.cardchain.CardContent.hash": + panic(fmt.Errorf("field hash of message cardchain.cardchain.CardContent is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardContent")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardContent does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_CardContent) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.CardContent.content": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.CardContent.hash": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.CardContent")) + } + panic(fmt.Errorf("message cardchain.cardchain.CardContent does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_CardContent) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.CardContent", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_CardContent) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_CardContent) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_CardContent) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_CardContent) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*CardContent) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Content) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Hash) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*CardContent) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Hash) > 0 { + i -= len(x.Hash) + copy(dAtA[i:], x.Hash) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Hash))) + i-- + dAtA[i] = 0x12 + } + if len(x.Content) > 0 { + i -= len(x.Content) + copy(dAtA[i:], x.Content) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Content))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*CardContent) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: CardContent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: CardContent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Content", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Content = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Hash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cardchain/cardchain/card_content.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CardContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` + Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` +} + +func (x *CardContent) Reset() { + *x = CardContent{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_card_content_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CardContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CardContent) ProtoMessage() {} + +// Deprecated: Use CardContent.ProtoReflect.Descriptor instead. +func (*CardContent) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_card_content_proto_rawDescGZIP(), []int{0} +} + +func (x *CardContent) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +func (x *CardContent) GetHash() string { + if x != nil { + return x.Hash + } + return "" +} + +var File_cardchain_cardchain_card_content_proto protoreflect.FileDescriptor + +var file_cardchain_cardchain_card_content_proto_rawDesc = []byte{ + 0x0a, 0x26, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x22, 0x3b, 0x0a, + 0x0b, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x42, 0xd8, 0x01, 0x0a, 0x17, 0x63, + 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x10, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, + 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cardchain_cardchain_card_content_proto_rawDescOnce sync.Once + file_cardchain_cardchain_card_content_proto_rawDescData = file_cardchain_cardchain_card_content_proto_rawDesc +) + +func file_cardchain_cardchain_card_content_proto_rawDescGZIP() []byte { + file_cardchain_cardchain_card_content_proto_rawDescOnce.Do(func() { + file_cardchain_cardchain_card_content_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_card_content_proto_rawDescData) + }) + return file_cardchain_cardchain_card_content_proto_rawDescData +} + +var file_cardchain_cardchain_card_content_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cardchain_cardchain_card_content_proto_goTypes = []interface{}{ + (*CardContent)(nil), // 0: cardchain.cardchain.CardContent +} +var file_cardchain_cardchain_card_content_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cardchain_cardchain_card_content_proto_init() } +func file_cardchain_cardchain_card_content_proto_init() { + if File_cardchain_cardchain_card_content_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cardchain_cardchain_card_content_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CardContent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cardchain_cardchain_card_content_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cardchain_cardchain_card_content_proto_goTypes, + DependencyIndexes: file_cardchain_cardchain_card_content_proto_depIdxs, + MessageInfos: file_cardchain_cardchain_card_content_proto_msgTypes, + }.Build() + File_cardchain_cardchain_card_content_proto = out.File + file_cardchain_cardchain_card_content_proto_rawDesc = nil + file_cardchain_cardchain_card_content_proto_goTypes = nil + file_cardchain_cardchain_card_content_proto_depIdxs = nil +} diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 389b8a6d..675573bb 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -20592,6 +20592,1875 @@ func (x *fastReflection_QuerySetsResponse) ProtoMethods() *protoiface.Methods { } } +var ( + md_QueryCardContentRequest protoreflect.MessageDescriptor + fd_QueryCardContentRequest_cardId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryCardContentRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardContentRequest") + fd_QueryCardContentRequest_cardId = md_QueryCardContentRequest.Fields().ByName("cardId") +} + +var _ protoreflect.Message = (*fastReflection_QueryCardContentRequest)(nil) + +type fastReflection_QueryCardContentRequest QueryCardContentRequest + +func (x *QueryCardContentRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCardContentRequest)(x) +} + +func (x *QueryCardContentRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCardContentRequest_messageType fastReflection_QueryCardContentRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryCardContentRequest_messageType{} + +type fastReflection_QueryCardContentRequest_messageType struct{} + +func (x fastReflection_QueryCardContentRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCardContentRequest)(nil) +} +func (x fastReflection_QueryCardContentRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCardContentRequest) +} +func (x fastReflection_QueryCardContentRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardContentRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCardContentRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardContentRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCardContentRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryCardContentRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCardContentRequest) New() protoreflect.Message { + return new(fastReflection_QueryCardContentRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCardContentRequest) Interface() protoreflect.ProtoMessage { + return (*QueryCardContentRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCardContentRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_QueryCardContentRequest_cardId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCardContentRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentRequest.cardId": + return x.CardId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentRequest.cardId": + x.CardId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCardContentRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryCardContentRequest.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentRequest.cardId": + x.CardId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentRequest.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.QueryCardContentRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCardContentRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentRequest.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCardContentRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardContentRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCardContentRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCardContentRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCardContentRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCardContentRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCardContentRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCardContentRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardContentRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardContentRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryCardContentResponse protoreflect.MessageDescriptor + fd_QueryCardContentResponse_cardContent protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryCardContentResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardContentResponse") + fd_QueryCardContentResponse_cardContent = md_QueryCardContentResponse.Fields().ByName("cardContent") +} + +var _ protoreflect.Message = (*fastReflection_QueryCardContentResponse)(nil) + +type fastReflection_QueryCardContentResponse QueryCardContentResponse + +func (x *QueryCardContentResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCardContentResponse)(x) +} + +func (x *QueryCardContentResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCardContentResponse_messageType fastReflection_QueryCardContentResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryCardContentResponse_messageType{} + +type fastReflection_QueryCardContentResponse_messageType struct{} + +func (x fastReflection_QueryCardContentResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCardContentResponse)(nil) +} +func (x fastReflection_QueryCardContentResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCardContentResponse) +} +func (x fastReflection_QueryCardContentResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardContentResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCardContentResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardContentResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCardContentResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryCardContentResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCardContentResponse) New() protoreflect.Message { + return new(fastReflection_QueryCardContentResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCardContentResponse) Interface() protoreflect.ProtoMessage { + return (*QueryCardContentResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCardContentResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CardContent != nil { + value := protoreflect.ValueOfMessage(x.CardContent.ProtoReflect()) + if !f(fd_QueryCardContentResponse_cardContent, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCardContentResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentResponse.cardContent": + return x.CardContent != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentResponse.cardContent": + x.CardContent = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCardContentResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryCardContentResponse.cardContent": + value := x.CardContent + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentResponse.cardContent": + x.CardContent = value.Message().Interface().(*CardContent) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentResponse.cardContent": + if x.CardContent == nil { + x.CardContent = new(CardContent) + } + return protoreflect.ValueOfMessage(x.CardContent.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCardContentResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentResponse.cardContent": + m := new(CardContent) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCardContentResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardContentResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCardContentResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCardContentResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCardContentResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCardContentResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.CardContent != nil { + l = options.Size(x.CardContent) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCardContentResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CardContent != nil { + encoded, err := options.Marshal(x.CardContent) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCardContentResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardContentResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardContentResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardContent", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.CardContent == nil { + x.CardContent = &CardContent{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CardContent); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QueryCardContentsRequest_1_list)(nil) + +type _QueryCardContentsRequest_1_list struct { + list *[]uint64 +} + +func (x *_QueryCardContentsRequest_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryCardContentsRequest_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_QueryCardContentsRequest_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QueryCardContentsRequest_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryCardContentsRequest_1_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QueryCardContentsRequest at list field CardId as it is not of Message kind")) +} + +func (x *_QueryCardContentsRequest_1_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QueryCardContentsRequest_1_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_QueryCardContentsRequest_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryCardContentsRequest protoreflect.MessageDescriptor + fd_QueryCardContentsRequest_cardId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryCardContentsRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardContentsRequest") + fd_QueryCardContentsRequest_cardId = md_QueryCardContentsRequest.Fields().ByName("cardId") +} + +var _ protoreflect.Message = (*fastReflection_QueryCardContentsRequest)(nil) + +type fastReflection_QueryCardContentsRequest QueryCardContentsRequest + +func (x *QueryCardContentsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCardContentsRequest)(x) +} + +func (x *QueryCardContentsRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCardContentsRequest_messageType fastReflection_QueryCardContentsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryCardContentsRequest_messageType{} + +type fastReflection_QueryCardContentsRequest_messageType struct{} + +func (x fastReflection_QueryCardContentsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCardContentsRequest)(nil) +} +func (x fastReflection_QueryCardContentsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCardContentsRequest) +} +func (x fastReflection_QueryCardContentsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardContentsRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCardContentsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardContentsRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCardContentsRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryCardContentsRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCardContentsRequest) New() protoreflect.Message { + return new(fastReflection_QueryCardContentsRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCardContentsRequest) Interface() protoreflect.ProtoMessage { + return (*QueryCardContentsRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCardContentsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.CardId) != 0 { + value := protoreflect.ValueOfList(&_QueryCardContentsRequest_1_list{list: &x.CardId}) + if !f(fd_QueryCardContentsRequest_cardId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCardContentsRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentsRequest.cardId": + return len(x.CardId) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentsRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentsRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentsRequest.cardId": + x.CardId = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentsRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCardContentsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryCardContentsRequest.cardId": + if len(x.CardId) == 0 { + return protoreflect.ValueOfList(&_QueryCardContentsRequest_1_list{}) + } + listValue := &_QueryCardContentsRequest_1_list{list: &x.CardId} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentsRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentsRequest.cardId": + lv := value.List() + clv := lv.(*_QueryCardContentsRequest_1_list) + x.CardId = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentsRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentsRequest.cardId": + if x.CardId == nil { + x.CardId = []uint64{} + } + value := &_QueryCardContentsRequest_1_list{list: &x.CardId} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentsRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCardContentsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentsRequest.cardId": + list := []uint64{} + return protoreflect.ValueOfList(&_QueryCardContentsRequest_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentsRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCardContentsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardContentsRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCardContentsRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentsRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCardContentsRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCardContentsRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCardContentsRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.CardId) > 0 { + l = 0 + for _, e := range x.CardId { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCardContentsRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.CardId) > 0 { + var pksize2 int + for _, num := range x.CardId { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.CardId { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCardContentsRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardContentsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardContentsRequest: 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.CardId = append(x.CardId, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.CardId) == 0 { + x.CardId = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.CardId = append(x.CardId, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QueryCardContentsResponse_1_list)(nil) + +type _QueryCardContentsResponse_1_list struct { + list *[]*CardContent +} + +func (x *_QueryCardContentsResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryCardContentsResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_QueryCardContentsResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*CardContent) + (*x.list)[i] = concreteValue +} + +func (x *_QueryCardContentsResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*CardContent) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryCardContentsResponse_1_list) AppendMutable() protoreflect.Value { + v := new(CardContent) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryCardContentsResponse_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_QueryCardContentsResponse_1_list) NewElement() protoreflect.Value { + v := new(CardContent) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryCardContentsResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryCardContentsResponse protoreflect.MessageDescriptor + fd_QueryCardContentsResponse_cardContents protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QueryCardContentsResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardContentsResponse") + fd_QueryCardContentsResponse_cardContents = md_QueryCardContentsResponse.Fields().ByName("cardContents") +} + +var _ protoreflect.Message = (*fastReflection_QueryCardContentsResponse)(nil) + +type fastReflection_QueryCardContentsResponse QueryCardContentsResponse + +func (x *QueryCardContentsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCardContentsResponse)(x) +} + +func (x *QueryCardContentsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryCardContentsResponse_messageType fastReflection_QueryCardContentsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryCardContentsResponse_messageType{} + +type fastReflection_QueryCardContentsResponse_messageType struct{} + +func (x fastReflection_QueryCardContentsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCardContentsResponse)(nil) +} +func (x fastReflection_QueryCardContentsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCardContentsResponse) +} +func (x fastReflection_QueryCardContentsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardContentsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryCardContentsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardContentsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryCardContentsResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryCardContentsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryCardContentsResponse) New() protoreflect.Message { + return new(fastReflection_QueryCardContentsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryCardContentsResponse) Interface() protoreflect.ProtoMessage { + return (*QueryCardContentsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryCardContentsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.CardContents) != 0 { + value := protoreflect.ValueOfList(&_QueryCardContentsResponse_1_list{list: &x.CardContents}) + if !f(fd_QueryCardContentsResponse_cardContents, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryCardContentsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentsResponse.cardContents": + return len(x.CardContents) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentsResponse.cardContents": + x.CardContents = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryCardContentsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QueryCardContentsResponse.cardContents": + if len(x.CardContents) == 0 { + return protoreflect.ValueOfList(&_QueryCardContentsResponse_1_list{}) + } + listValue := &_QueryCardContentsResponse_1_list{list: &x.CardContents} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentsResponse.cardContents": + lv := value.List() + clv := lv.(*_QueryCardContentsResponse_1_list) + x.CardContents = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentsResponse.cardContents": + if x.CardContents == nil { + x.CardContents = []*CardContent{} + } + value := &_QueryCardContentsResponse_1_list{list: &x.CardContents} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryCardContentsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QueryCardContentsResponse.cardContents": + list := []*CardContent{} + return protoreflect.ValueOfList(&_QueryCardContentsResponse_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QueryCardContentsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryCardContentsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardContentsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryCardContentsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryCardContentsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryCardContentsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryCardContentsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryCardContentsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.CardContents) > 0 { + for _, e := range x.CardContents { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryCardContentsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.CardContents) > 0 { + for iNdEx := len(x.CardContents) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.CardContents[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryCardContentsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardContentsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardContentsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardContents", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.CardContents = append(x.CardContents, &CardContent{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CardContents[len(x.CardContents)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -22240,6 +24109,146 @@ func (x *QuerySetsResponse) GetSetIds() []uint64 { return nil } +type QueryCardContentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (x *QueryCardContentRequest) Reset() { + *x = QueryCardContentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardContentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardContentRequest) ProtoMessage() {} + +// Deprecated: Use QueryCardContentRequest.ProtoReflect.Descriptor instead. +func (*QueryCardContentRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{42} +} + +func (x *QueryCardContentRequest) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +type QueryCardContentResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardContent *CardContent `protobuf:"bytes,1,opt,name=cardContent,proto3" json:"cardContent,omitempty"` +} + +func (x *QueryCardContentResponse) Reset() { + *x = QueryCardContentResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardContentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardContentResponse) ProtoMessage() {} + +// Deprecated: Use QueryCardContentResponse.ProtoReflect.Descriptor instead. +func (*QueryCardContentResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{43} +} + +func (x *QueryCardContentResponse) GetCardContent() *CardContent { + if x != nil { + return x.CardContent + } + return nil +} + +type QueryCardContentsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardId []uint64 `protobuf:"varint,1,rep,packed,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (x *QueryCardContentsRequest) Reset() { + *x = QueryCardContentsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardContentsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardContentsRequest) ProtoMessage() {} + +// Deprecated: Use QueryCardContentsRequest.ProtoReflect.Descriptor instead. +func (*QueryCardContentsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{44} +} + +func (x *QueryCardContentsRequest) GetCardId() []uint64 { + if x != nil { + return x.CardId + } + return nil +} + +type QueryCardContentsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CardContents []*CardContent `protobuf:"bytes,1,rep,name=cardContents,proto3" json:"cardContents,omitempty"` +} + +func (x *QueryCardContentsResponse) Reset() { + *x = QueryCardContentsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryCardContentsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryCardContentsResponse) ProtoMessage() {} + +// Deprecated: Use QueryCardContentsResponse.ProtoReflect.Descriptor instead. +func (*QueryCardContentsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{45} +} + +func (x *QueryCardContentsResponse) GetCardContents() []*CardContent { + if x != nil { + return x.CardContents + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -22288,499 +24297,543 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, - 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, - 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, - 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, + 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, + 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, + 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, + 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, + 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, + 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, + 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, - 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, + 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, + 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, + 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, - 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, - 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, - 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, - 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, - 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, - 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, - 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, - 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, - 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, - 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, - 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, - 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, - 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, - 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, - 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, - 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x07, - 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x22, 0x30, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x13, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, - 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x65, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x59, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, - 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x20, 0x0a, - 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, - 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x68, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, + 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, + 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, + 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, + 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, + 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, + 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, + 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, + 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, + 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, + 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, + 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, + 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, + 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, + 0x4e, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x22, + 0x30, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, + 0x64, 0x22, 0x4a, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x39, 0x0a, + 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x09, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x20, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, - 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x47, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, 0x65, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, 0x02, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, - 0x52, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, - 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, - 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, - 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, - 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x39, 0x0a, 0x21, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, - 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x38, 0x0a, - 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, - 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x6e, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, - 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x56, - 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x11, 0x6c, 0x61, - 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, - 0xf9, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x0a, - 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x12, - 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, - 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, - 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, - 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, - 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x22, 0x4c, 0x0a, 0x14, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x2b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x65, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x73, 0x65, 0x74, - 0x49, 0x64, 0x73, 0x32, 0x9a, 0x1d, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, - 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, - 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x22, 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, 0x17, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x68, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, - 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, - 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, - 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, - 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, + 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, + 0x02, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, + 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, + 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, + 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, + 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x22, 0x39, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, + 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x56, 0x0a, + 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x77, + 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x38, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x22, + 0x39, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6e, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xf9, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x24, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, + 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, - 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, - 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, + 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x64, 0x22, 0x4c, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, + 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, + 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, + 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x2b, + 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x06, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x31, 0x0a, 0x17, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x5e, + 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x61, + 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x32, + 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x22, 0x61, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x44, 0x0a, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x32, 0x84, 0x20, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, - 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, + 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, - 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, - 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, + 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, + 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, + 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, - 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, + 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, + 0xc4, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, + 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, - 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, - 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, 0x01, 0x0a, - 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, - 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, - 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, 0x61, - 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, - 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, + 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, + 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, + 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, + 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, - 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x7d, - 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x7d, - 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6f, 0x75, 0x74, - 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x73, - 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, - 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, + 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, - 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, + 0x6f, 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, + 0x70, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6f, + 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, 0x12, 0x25, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, + 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, + 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -22795,7 +24848,7 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 42) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 46) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse @@ -22839,101 +24892,112 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryMatchesResponse)(nil), // 39: cardchain.cardchain.QueryMatchesResponse (*QuerySetsRequest)(nil), // 40: cardchain.cardchain.QuerySetsRequest (*QuerySetsResponse)(nil), // 41: cardchain.cardchain.QuerySetsResponse - (*Params)(nil), // 42: cardchain.cardchain.Params - (*ProductDetails)(nil), // 43: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 44: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 45: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 46: cardchain.cardchain.CardWithImage - (*User)(nil), // 47: cardchain.cardchain.User - (CardStatus)(0), // 48: cardchain.cardchain.CardStatus - (CardType)(0), // 49: cardchain.cardchain.CardType - (CardClass)(0), // 50: cardchain.cardchain.CardClass - (CardRarity)(0), // 51: cardchain.cardchain.CardRarity - (*Match)(nil), // 52: cardchain.cardchain.Match - (*SetWithArtwork)(nil), // 53: cardchain.cardchain.SetWithArtwork - (*SellOffer)(nil), // 54: cardchain.cardchain.SellOffer - (*Council)(nil), // 55: cardchain.cardchain.Council - (*Server)(nil), // 56: cardchain.cardchain.Server - (*Encounter)(nil), // 57: cardchain.cardchain.Encounter - (*EncounterWithImage)(nil), // 58: cardchain.cardchain.EncounterWithImage - (*v1beta11.Coin)(nil), // 59: cosmos.base.v1beta1.Coin - (*VotingResults)(nil), // 60: cardchain.cardchain.VotingResults - (Outcome)(0), // 61: cardchain.cardchain.Outcome - (SetStatus)(0), // 62: cardchain.cardchain.SetStatus + (*QueryCardContentRequest)(nil), // 42: cardchain.cardchain.QueryCardContentRequest + (*QueryCardContentResponse)(nil), // 43: cardchain.cardchain.QueryCardContentResponse + (*QueryCardContentsRequest)(nil), // 44: cardchain.cardchain.QueryCardContentsRequest + (*QueryCardContentsResponse)(nil), // 45: cardchain.cardchain.QueryCardContentsResponse + (*Params)(nil), // 46: cardchain.cardchain.Params + (*ProductDetails)(nil), // 47: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 48: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 49: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 50: cardchain.cardchain.CardWithImage + (*User)(nil), // 51: cardchain.cardchain.User + (CardStatus)(0), // 52: cardchain.cardchain.CardStatus + (CardType)(0), // 53: cardchain.cardchain.CardType + (CardClass)(0), // 54: cardchain.cardchain.CardClass + (CardRarity)(0), // 55: cardchain.cardchain.CardRarity + (*Match)(nil), // 56: cardchain.cardchain.Match + (*SetWithArtwork)(nil), // 57: cardchain.cardchain.SetWithArtwork + (*SellOffer)(nil), // 58: cardchain.cardchain.SellOffer + (*Council)(nil), // 59: cardchain.cardchain.Council + (*Server)(nil), // 60: cardchain.cardchain.Server + (*Encounter)(nil), // 61: cardchain.cardchain.Encounter + (*EncounterWithImage)(nil), // 62: cardchain.cardchain.EncounterWithImage + (*v1beta11.Coin)(nil), // 63: cosmos.base.v1beta1.Coin + (*VotingResults)(nil), // 64: cardchain.cardchain.VotingResults + (Outcome)(0), // 65: cardchain.cardchain.Outcome + (SetStatus)(0), // 66: cardchain.cardchain.SetStatus + (*CardContent)(nil), // 67: cardchain.cardchain.CardContent } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 42, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 43, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 44, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 43, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 45, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 46, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 47, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 48, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus - 49, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType - 50, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass - 51, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity - 52, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match - 53, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork - 54, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer - 55, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council - 56, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server - 57, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter - 57, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter - 58, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage - 58, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage - 59, // 20: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin - 60, // 21: cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults:type_name -> cardchain.cardchain.VotingResults - 61, // 22: cardchain.cardchain.QueryMatchesRequest.outcome:type_name -> cardchain.cardchain.Outcome - 52, // 23: cardchain.cardchain.QueryMatchesResponse.matches:type_name -> cardchain.cardchain.Match - 62, // 24: cardchain.cardchain.QuerySetsRequest.status:type_name -> cardchain.cardchain.SetStatus - 0, // 25: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 26: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 27: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 28: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 29: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 30: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 12, // 31: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest - 14, // 32: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest - 16, // 33: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest - 18, // 34: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest - 20, // 35: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest - 22, // 36: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest - 24, // 37: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest - 26, // 38: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest - 28, // 39: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest - 30, // 40: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest - 32, // 41: cardchain.cardchain.Query.SetRarityDistribution:input_type -> cardchain.cardchain.QuerySetRarityDistributionRequest - 34, // 42: cardchain.cardchain.Query.AccountFromZealy:input_type -> cardchain.cardchain.QueryAccountFromZealyRequest - 36, // 43: cardchain.cardchain.Query.VotingResults:input_type -> cardchain.cardchain.QueryVotingResultsRequest - 38, // 44: cardchain.cardchain.Query.Matches:input_type -> cardchain.cardchain.QueryMatchesRequest - 40, // 45: cardchain.cardchain.Query.Sets:input_type -> cardchain.cardchain.QuerySetsRequest - 1, // 46: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 47: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 48: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 49: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 50: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 51: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 13, // 52: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse - 15, // 53: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse - 17, // 54: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse - 19, // 55: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse - 21, // 56: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse - 23, // 57: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse - 25, // 58: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse - 27, // 59: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse - 29, // 60: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse - 31, // 61: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse - 33, // 62: cardchain.cardchain.Query.SetRarityDistribution:output_type -> cardchain.cardchain.QuerySetRarityDistributionResponse - 35, // 63: cardchain.cardchain.Query.AccountFromZealy:output_type -> cardchain.cardchain.QueryAccountFromZealyResponse - 37, // 64: cardchain.cardchain.Query.VotingResults:output_type -> cardchain.cardchain.QueryVotingResultsResponse - 39, // 65: cardchain.cardchain.Query.Matches:output_type -> cardchain.cardchain.QueryMatchesResponse - 41, // 66: cardchain.cardchain.Query.Sets:output_type -> cardchain.cardchain.QuerySetsResponse - 46, // [46:67] is the sub-list for method output_type - 25, // [25:46] is the sub-list for method input_type - 25, // [25:25] is the sub-list for extension type_name - 25, // [25:25] is the sub-list for extension extendee - 0, // [0:25] is the sub-list for field type_name + 46, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 47, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 48, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 47, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 49, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 50, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 51, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 52, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 53, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 54, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 55, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 56, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match + 57, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork + 58, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer + 59, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council + 60, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server + 61, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter + 61, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter + 62, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage + 62, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage + 63, // 20: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin + 64, // 21: cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults:type_name -> cardchain.cardchain.VotingResults + 65, // 22: cardchain.cardchain.QueryMatchesRequest.outcome:type_name -> cardchain.cardchain.Outcome + 56, // 23: cardchain.cardchain.QueryMatchesResponse.matches:type_name -> cardchain.cardchain.Match + 66, // 24: cardchain.cardchain.QuerySetsRequest.status:type_name -> cardchain.cardchain.SetStatus + 67, // 25: cardchain.cardchain.QueryCardContentResponse.cardContent:type_name -> cardchain.cardchain.CardContent + 67, // 26: cardchain.cardchain.QueryCardContentsResponse.cardContents:type_name -> cardchain.cardchain.CardContent + 0, // 27: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 28: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 29: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 30: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 31: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 10, // 32: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 12, // 33: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest + 14, // 34: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest + 16, // 35: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest + 18, // 36: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest + 20, // 37: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest + 22, // 38: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest + 24, // 39: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest + 26, // 40: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest + 28, // 41: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest + 30, // 42: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest + 32, // 43: cardchain.cardchain.Query.SetRarityDistribution:input_type -> cardchain.cardchain.QuerySetRarityDistributionRequest + 34, // 44: cardchain.cardchain.Query.AccountFromZealy:input_type -> cardchain.cardchain.QueryAccountFromZealyRequest + 36, // 45: cardchain.cardchain.Query.VotingResults:input_type -> cardchain.cardchain.QueryVotingResultsRequest + 38, // 46: cardchain.cardchain.Query.Matches:input_type -> cardchain.cardchain.QueryMatchesRequest + 40, // 47: cardchain.cardchain.Query.Sets:input_type -> cardchain.cardchain.QuerySetsRequest + 42, // 48: cardchain.cardchain.Query.CardContent:input_type -> cardchain.cardchain.QueryCardContentRequest + 44, // 49: cardchain.cardchain.Query.CardContents:input_type -> cardchain.cardchain.QueryCardContentsRequest + 1, // 50: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 51: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 52: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 53: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 54: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 55: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 13, // 56: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse + 15, // 57: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse + 17, // 58: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse + 19, // 59: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse + 21, // 60: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse + 23, // 61: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse + 25, // 62: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse + 27, // 63: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse + 29, // 64: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse + 31, // 65: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse + 33, // 66: cardchain.cardchain.Query.SetRarityDistribution:output_type -> cardchain.cardchain.QuerySetRarityDistributionResponse + 35, // 67: cardchain.cardchain.Query.AccountFromZealy:output_type -> cardchain.cardchain.QueryAccountFromZealyResponse + 37, // 68: cardchain.cardchain.Query.VotingResults:output_type -> cardchain.cardchain.QueryVotingResultsResponse + 39, // 69: cardchain.cardchain.Query.Matches:output_type -> cardchain.cardchain.QueryMatchesResponse + 41, // 70: cardchain.cardchain.Query.Sets:output_type -> cardchain.cardchain.QuerySetsResponse + 43, // 71: cardchain.cardchain.Query.CardContent:output_type -> cardchain.cardchain.QueryCardContentResponse + 45, // 72: cardchain.cardchain.Query.CardContents:output_type -> cardchain.cardchain.QueryCardContentsResponse + 50, // [50:73] is the sub-list for method output_type + 27, // [27:50] is the sub-list for method input_type + 27, // [27:27] is the sub-list for extension type_name + 27, // [27:27] is the sub-list for extension extendee + 0, // [0:27] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -22955,6 +25019,7 @@ func file_cardchain_cardchain_query_proto_init() { file_cardchain_cardchain_encounter_proto_init() file_cardchain_cardchain_encounter_with_image_proto_init() file_cardchain_cardchain_voting_results_proto_init() + file_cardchain_cardchain_card_content_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsRequest); i { @@ -23460,6 +25525,54 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryCardContentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryCardContentResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryCardContentsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryCardContentsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -23467,7 +25580,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 42, + NumMessages: 46, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index a5f58a61..a728c6c4 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -40,6 +40,8 @@ const ( Query_VotingResults_FullMethodName = "/cardchain.cardchain.Query/VotingResults" Query_Matches_FullMethodName = "/cardchain.cardchain.Query/Matches" Query_Sets_FullMethodName = "/cardchain.cardchain.Query/Sets" + Query_CardContent_FullMethodName = "/cardchain.cardchain.Query/CardContent" + Query_CardContents_FullMethodName = "/cardchain.cardchain.Query/CardContents" ) // QueryClient is the client API for Query service. @@ -87,6 +89,10 @@ type QueryClient interface { Matches(ctx context.Context, in *QueryMatchesRequest, opts ...grpc.CallOption) (*QueryMatchesResponse, error) // Queries a list of Sets items. Sets(ctx context.Context, in *QuerySetsRequest, opts ...grpc.CallOption) (*QuerySetsResponse, error) + // Queries a list of CardContent items. + CardContent(ctx context.Context, in *QueryCardContentRequest, opts ...grpc.CallOption) (*QueryCardContentResponse, error) + // Queries a list of CardContents items. + CardContents(ctx context.Context, in *QueryCardContentsRequest, opts ...grpc.CallOption) (*QueryCardContentsResponse, error) } type queryClient struct { @@ -286,6 +292,24 @@ func (c *queryClient) Sets(ctx context.Context, in *QuerySetsRequest, opts ...gr return out, nil } +func (c *queryClient) CardContent(ctx context.Context, in *QueryCardContentRequest, opts ...grpc.CallOption) (*QueryCardContentResponse, error) { + out := new(QueryCardContentResponse) + err := c.cc.Invoke(ctx, Query_CardContent_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) CardContents(ctx context.Context, in *QueryCardContentsRequest, opts ...grpc.CallOption) (*QueryCardContentsResponse, error) { + out := new(QueryCardContentsResponse) + err := c.cc.Invoke(ctx, Query_CardContents_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -331,6 +355,10 @@ type QueryServer interface { Matches(context.Context, *QueryMatchesRequest) (*QueryMatchesResponse, error) // Queries a list of Sets items. Sets(context.Context, *QuerySetsRequest) (*QuerySetsResponse, error) + // Queries a list of CardContent items. + CardContent(context.Context, *QueryCardContentRequest) (*QueryCardContentResponse, error) + // Queries a list of CardContents items. + CardContents(context.Context, *QueryCardContentsRequest) (*QueryCardContentsResponse, error) mustEmbedUnimplementedQueryServer() } @@ -401,6 +429,12 @@ func (UnimplementedQueryServer) Matches(context.Context, *QueryMatchesRequest) ( func (UnimplementedQueryServer) Sets(context.Context, *QuerySetsRequest) (*QuerySetsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Sets not implemented") } +func (UnimplementedQueryServer) CardContent(context.Context, *QueryCardContentRequest) (*QueryCardContentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardContent not implemented") +} +func (UnimplementedQueryServer) CardContents(context.Context, *QueryCardContentsRequest) (*QueryCardContentsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardContents not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -792,6 +826,42 @@ func _Query_Sets_Handler(srv interface{}, ctx context.Context, dec func(interfac return interceptor(ctx, in, info, handler) } +func _Query_CardContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCardContentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).CardContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_CardContent_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).CardContent(ctx, req.(*QueryCardContentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_CardContents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCardContentsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).CardContents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_CardContents_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).CardContents(ctx, req.(*QueryCardContentsRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -883,6 +953,14 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Sets", Handler: _Query_Sets_Handler, }, + { + MethodName: "CardContent", + Handler: _Query_CardContent_Handler, + }, + { + MethodName: "CardContents", + Handler: _Query_CardContents_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 6aa22b1b..a1642afd 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin25","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin26","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index ce8d818c..c7b1d772 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -20,4 +20,6 @@ set -o pipefail #ignite scaffold query accountFromZealy zealyId:string --response address:string #ignite scaffold query votingResults --response lastVotingResults:VotingResults #ignite scaffold query matches timestampDown:uint timestampUp:uint containsUsers:strings reporter outcome cardsPlayed:uints --response matches -ignite scaffold query sets status contributors:strings containsCards:uints owner --response sets +#ignite scaffold query sets status contributors:strings containsCards:uints owner --response sets +#ignite scaffold query cardContent cardId:uint --response cardContent:CardContent +ignite scaffold query cardContents cardId:uints --response cardContents diff --git a/proto/cardchain/cardchain/card_content.proto b/proto/cardchain/cardchain/card_content.proto new file mode 100644 index 00000000..a898b9d1 --- /dev/null +++ b/proto/cardchain/cardchain/card_content.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package cardchain.cardchain; + +option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; + +message CardContent { + string content = 1; + string hash = 2; +} diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 2e7d6a94..3eb137fd 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -21,6 +21,7 @@ import "cardchain/cardchain/encounter.proto"; import "cardchain/cardchain/encounter_with_image.proto"; import "cosmos/base/v1beta1/coin.proto"; import "cardchain/cardchain/voting_results.proto"; +import "cardchain/cardchain/card_content.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; @@ -160,6 +161,19 @@ service Query { "/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/" "{containsCards}/{owner}"; } + + // Queries a list of CardContent items. + rpc CardContent(QueryCardContentRequest) returns (QueryCardContentResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/card_content/{cardId}"; + } + + // Queries a list of CardContents items. + rpc CardContents(QueryCardContentsRequest) + returns (QueryCardContentsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/card_contents/{cardId}"; + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -297,3 +311,11 @@ message QuerySetsRequest { } message QuerySetsResponse { repeated uint64 setIds = 1; } + +message QueryCardContentRequest { uint64 cardId = 1; } + +message QueryCardContentResponse { CardContent cardContent = 1; } + +message QueryCardContentsRequest { repeated uint64 cardId = 1; } + +message QueryCardContentsResponse { repeated CardContent cardContents = 1; } diff --git a/x/cardchain/keeper/query_card_content.go b/x/cardchain/keeper/query_card_content.go new file mode 100644 index 00000000..a78f205c --- /dev/null +++ b/x/cardchain/keeper/query_card_content.go @@ -0,0 +1,23 @@ +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) CardContent(goCtx context.Context, req *types.QueryCardContentRequest) (*types.QueryCardContentResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryCardContentResponse{}, nil +} diff --git a/x/cardchain/keeper/query_card_contents.go b/x/cardchain/keeper/query_card_contents.go new file mode 100644 index 00000000..0d2e933c --- /dev/null +++ b/x/cardchain/keeper/query_card_contents.go @@ -0,0 +1,23 @@ +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) CardContents(goCtx context.Context, req *types.QueryCardContentsRequest) (*types.QueryCardContentsResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + // TODO: Process the query + _ = ctx + + return &types.QueryCardContentsResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 38e57081..ab6b0b12 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -154,6 +154,20 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "status"}, {ProtoField: "contributors"}, {ProtoField: "containsCards"}, {ProtoField: "owner"}}, }, + { + RpcMethod: "CardContent", + Use: "card-content [card-id]", + Short: "Query cardContent", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}}, + }, + + { + RpcMethod: "CardContents", + Use: "card-contents [card-id]", + Short: "Query cardContents", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/card_content.pb.go b/x/cardchain/types/card_content.pb.go new file mode 100644 index 00000000..4e72fcce --- /dev/null +++ b/x/cardchain/types/card_content.pb.go @@ -0,0 +1,368 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/card_content.proto + +package types + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/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 CardContent struct { + Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` + Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` +} + +func (m *CardContent) Reset() { *m = CardContent{} } +func (m *CardContent) String() string { return proto.CompactTextString(m) } +func (*CardContent) ProtoMessage() {} +func (*CardContent) Descriptor() ([]byte, []int) { + return fileDescriptor_8cf41823533873db, []int{0} +} +func (m *CardContent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CardContent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CardContent.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 *CardContent) XXX_Merge(src proto.Message) { + xxx_messageInfo_CardContent.Merge(m, src) +} +func (m *CardContent) XXX_Size() int { + return m.Size() +} +func (m *CardContent) XXX_DiscardUnknown() { + xxx_messageInfo_CardContent.DiscardUnknown(m) +} + +var xxx_messageInfo_CardContent proto.InternalMessageInfo + +func (m *CardContent) GetContent() string { + if m != nil { + return m.Content + } + return "" +} + +func (m *CardContent) GetHash() string { + if m != nil { + return m.Hash + } + return "" +} + +func init() { + proto.RegisterType((*CardContent)(nil), "cardchain.cardchain.CardContent") +} + +func init() { + proto.RegisterFile("cardchain/cardchain/card_content.proto", fileDescriptor_8cf41823533873db) +} + +var fileDescriptor_8cf41823533873db = []byte{ + // 169 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, 0x65, 0xc5, 0x27, 0xe7, 0xe7, 0x95, 0xa4, 0xe6, 0x95, + 0xe8, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0x09, 0xc3, 0x65, 0xf5, 0xe0, 0x2c, 0x25, 0x6b, 0x2e, + 0x6e, 0xe7, 0xc4, 0xa2, 0x14, 0x67, 0x88, 0x4a, 0x21, 0x09, 0x2e, 0x76, 0xa8, 0x26, 0x09, 0x46, + 0x05, 0x46, 0x0d, 0xce, 0x20, 0x18, 0x57, 0x48, 0x88, 0x8b, 0x25, 0x23, 0xb1, 0x38, 0x43, 0x82, + 0x09, 0x2c, 0x0c, 0x66, 0x3b, 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, 0xbe, 0x4b, 0x6a, 0x72, + 0x6a, 0x5e, 0x49, 0x51, 0x62, 0x0e, 0xc8, 0x22, 0xf7, 0xc4, 0xdc, 0x54, 0x24, 0x67, 0x56, 0x20, + 0xb1, 0x4b, 0x2a, 0x0b, 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x8e, 0x35, 0x06, 0x04, 0x00, 0x00, 0xff, + 0xff, 0x1a, 0x13, 0x31, 0xf6, 0xd6, 0x00, 0x00, 0x00, +} + +func (m *CardContent) 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 *CardContent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *CardContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Hash) > 0 { + i -= len(m.Hash) + copy(dAtA[i:], m.Hash) + i = encodeVarintCardContent(dAtA, i, uint64(len(m.Hash))) + i-- + dAtA[i] = 0x12 + } + if len(m.Content) > 0 { + i -= len(m.Content) + copy(dAtA[i:], m.Content) + i = encodeVarintCardContent(dAtA, i, uint64(len(m.Content))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintCardContent(dAtA []byte, offset int, v uint64) int { + offset -= sovCardContent(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *CardContent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Content) + if l > 0 { + n += 1 + l + sovCardContent(uint64(l)) + } + l = len(m.Hash) + if l > 0 { + n += 1 + l + sovCardContent(uint64(l)) + } + return n +} + +func sovCardContent(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozCardContent(x uint64) (n int) { + return sovCardContent(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *CardContent) 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 ErrIntOverflowCardContent + } + 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: CardContent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CardContent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Content", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCardContent + } + 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 ErrInvalidLengthCardContent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCardContent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Content = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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 ErrIntOverflowCardContent + } + 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 ErrInvalidLengthCardContent + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCardContent + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCardContent(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCardContent + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipCardContent(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, ErrIntOverflowCardContent + } + 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, ErrIntOverflowCardContent + } + 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, ErrIntOverflowCardContent + } + 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, ErrInvalidLengthCardContent + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupCardContent + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthCardContent + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthCardContent = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowCardContent = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupCardContent = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 2d02c86c..00654c0a 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -2051,6 +2051,182 @@ func (m *QuerySetsResponse) GetSetIds() []uint64 { return nil } +type QueryCardContentRequest struct { + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (m *QueryCardContentRequest) Reset() { *m = QueryCardContentRequest{} } +func (m *QueryCardContentRequest) String() string { return proto.CompactTextString(m) } +func (*QueryCardContentRequest) ProtoMessage() {} +func (*QueryCardContentRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{42} +} +func (m *QueryCardContentRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCardContentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCardContentRequest.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 *QueryCardContentRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCardContentRequest.Merge(m, src) +} +func (m *QueryCardContentRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryCardContentRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCardContentRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCardContentRequest proto.InternalMessageInfo + +func (m *QueryCardContentRequest) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +type QueryCardContentResponse struct { + CardContent *CardContent `protobuf:"bytes,1,opt,name=cardContent,proto3" json:"cardContent,omitempty"` +} + +func (m *QueryCardContentResponse) Reset() { *m = QueryCardContentResponse{} } +func (m *QueryCardContentResponse) String() string { return proto.CompactTextString(m) } +func (*QueryCardContentResponse) ProtoMessage() {} +func (*QueryCardContentResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{43} +} +func (m *QueryCardContentResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCardContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCardContentResponse.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 *QueryCardContentResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCardContentResponse.Merge(m, src) +} +func (m *QueryCardContentResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryCardContentResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCardContentResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCardContentResponse proto.InternalMessageInfo + +func (m *QueryCardContentResponse) GetCardContent() *CardContent { + if m != nil { + return m.CardContent + } + return nil +} + +type QueryCardContentsRequest struct { + CardId []uint64 `protobuf:"varint,1,rep,packed,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (m *QueryCardContentsRequest) Reset() { *m = QueryCardContentsRequest{} } +func (m *QueryCardContentsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryCardContentsRequest) ProtoMessage() {} +func (*QueryCardContentsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{44} +} +func (m *QueryCardContentsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCardContentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCardContentsRequest.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 *QueryCardContentsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCardContentsRequest.Merge(m, src) +} +func (m *QueryCardContentsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryCardContentsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCardContentsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCardContentsRequest proto.InternalMessageInfo + +func (m *QueryCardContentsRequest) GetCardId() []uint64 { + if m != nil { + return m.CardId + } + return nil +} + +type QueryCardContentsResponse struct { + CardContents []*CardContent `protobuf:"bytes,1,rep,name=cardContents,proto3" json:"cardContents,omitempty"` +} + +func (m *QueryCardContentsResponse) Reset() { *m = QueryCardContentsResponse{} } +func (m *QueryCardContentsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryCardContentsResponse) ProtoMessage() {} +func (*QueryCardContentsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{45} +} +func (m *QueryCardContentsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryCardContentsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryCardContentsResponse.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 *QueryCardContentsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryCardContentsResponse.Merge(m, src) +} +func (m *QueryCardContentsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryCardContentsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryCardContentsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryCardContentsResponse proto.InternalMessageInfo + +func (m *QueryCardContentsResponse) GetCardContents() []*CardContent { + if m != nil { + return m.CardContents + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -2094,157 +2270,170 @@ func init() { proto.RegisterType((*QueryMatchesResponse)(nil), "cardchain.cardchain.QueryMatchesResponse") proto.RegisterType((*QuerySetsRequest)(nil), "cardchain.cardchain.QuerySetsRequest") proto.RegisterType((*QuerySetsResponse)(nil), "cardchain.cardchain.QuerySetsResponse") + proto.RegisterType((*QueryCardContentRequest)(nil), "cardchain.cardchain.QueryCardContentRequest") + proto.RegisterType((*QueryCardContentResponse)(nil), "cardchain.cardchain.QueryCardContentResponse") + proto.RegisterType((*QueryCardContentsRequest)(nil), "cardchain.cardchain.QueryCardContentsRequest") + proto.RegisterType((*QueryCardContentsResponse)(nil), "cardchain.cardchain.QueryCardContentsResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2319 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xcf, 0x6f, 0x1b, 0xc7, - 0xf5, 0xf7, 0xca, 0x14, 0x25, 0x8e, 0x6d, 0xc5, 0x1e, 0x3b, 0xf9, 0x32, 0x8c, 0x4d, 0xcb, 0x13, - 0xc7, 0x56, 0x94, 0x98, 0x1b, 0x4b, 0xb2, 0x6c, 0x39, 0x8e, 0xbf, 0xd1, 0x0f, 0x4b, 0x75, 0x5d, - 0xdb, 0xca, 0xaa, 0x76, 0xd1, 0x14, 0x05, 0xb1, 0x22, 0x47, 0xd4, 0xc2, 0xcb, 0x5d, 0x66, 0x77, - 0x68, 0x95, 0x25, 0x88, 0xa2, 0x3d, 0xf5, 0x54, 0x14, 0x4d, 0x51, 0x14, 0x05, 0x0a, 0x14, 0x3d, - 0x15, 0x45, 0x8b, 0xf6, 0x5c, 0x04, 0x3d, 0x15, 0x85, 0x8f, 0x29, 0x7a, 0xc9, 0xa9, 0x28, 0xec, - 0x02, 0x45, 0xff, 0x84, 0xde, 0x8a, 0x99, 0x79, 0x33, 0xdc, 0x25, 0x97, 0xab, 0xa5, 0x73, 0x11, - 0x76, 0x66, 0x3f, 0x6f, 0xde, 0xe7, 0xcd, 0xbc, 0x9d, 0xf7, 0x3e, 0x14, 0x3a, 0x5f, 0xb3, 0x83, - 0x7a, 0x6d, 0xdf, 0x76, 0x3c, 0xb3, 0xff, 0xf4, 0x49, 0x9b, 0x06, 0x9d, 0x4a, 0x2b, 0xf0, 0x99, - 0x8f, 0x4f, 0xeb, 0xe9, 0x8a, 0x7e, 0x2a, 0x9d, 0xb2, 0x9b, 0x8e, 0xe7, 0x9b, 0xe2, 0xaf, 0xc4, - 0x95, 0xce, 0x34, 0xfc, 0x86, 0x2f, 0x1e, 0x4d, 0xfe, 0x04, 0xb3, 0x67, 0x1b, 0xbe, 0xdf, 0x70, - 0xa9, 0x69, 0xb7, 0x1c, 0xd3, 0xf6, 0x3c, 0x9f, 0xd9, 0xcc, 0xf1, 0xbd, 0x10, 0xde, 0xce, 0xd7, - 0xfc, 0xb0, 0xe9, 0x87, 0xe6, 0xae, 0x1d, 0x52, 0xe9, 0xd4, 0x7c, 0x7a, 0x75, 0x97, 0x32, 0xfb, - 0xaa, 0xd9, 0xb2, 0x1b, 0x8e, 0x27, 0xc0, 0x80, 0x9d, 0x4d, 0x22, 0xda, 0xb2, 0x03, 0xbb, 0xa9, - 0x56, 0x7b, 0x3b, 0x11, 0x11, 0xf8, 0xf5, 0x76, 0x8d, 0x55, 0xeb, 0x94, 0xd9, 0x8e, 0x9b, 0x0a, - 0xe5, 0x4f, 0xd5, 0x03, 0x87, 0xed, 0x57, 0x9d, 0xa6, 0xdd, 0xa0, 0x00, 0x2d, 0x27, 0x41, 0xdb, - 0x21, 0x0d, 0xd2, 0xde, 0xf3, 0x27, 0x78, 0x9f, 0xb8, 0xc1, 0x4d, 0x9b, 0xd5, 0xf6, 0x01, 0x70, - 0x2e, 0x09, 0x10, 0x52, 0xa6, 0xf7, 0x28, 0xf9, 0xb5, 0x64, 0x6a, 0x07, 0xec, 0xc0, 0x0f, 0x9e, - 0x00, 0xf6, 0x62, 0x32, 0xd6, 0x75, 0xab, 0xfe, 0xde, 0x9e, 0x66, 0x7c, 0x21, 0x91, 0xb1, 0xdf, - 0xf6, 0x6a, 0x8e, 0x9b, 0xb6, 0xd9, 0x21, 0x0d, 0x9e, 0xea, 0x45, 0xde, 0x4c, 0x42, 0x50, 0x8f, - 0x2f, 0xc3, 0x34, 0xa8, 0x92, 0x0a, 0x4a, 0xda, 0xeb, 0x48, 0x3e, 0xa8, 0x4c, 0xa8, 0xf9, 0x8e, - 0xca, 0x81, 0xb9, 0xa4, 0xf5, 0x9e, 0xfa, 0xcc, 0xf1, 0x1a, 0xd5, 0x80, 0x86, 0x6d, 0x97, 0xc1, - 0x01, 0x93, 0x33, 0x08, 0x7f, 0xc4, 0xf3, 0x69, 0x5b, 0x24, 0x88, 0x45, 0x3f, 0x69, 0xd3, 0x90, - 0x91, 0x47, 0xe8, 0x74, 0x6c, 0x36, 0x6c, 0xf9, 0x5e, 0x48, 0xf1, 0x6d, 0x94, 0x97, 0x89, 0x54, - 0x34, 0x66, 0x8d, 0xb9, 0x63, 0x0b, 0x6f, 0x54, 0x12, 0x72, 0xbe, 0x22, 0x8d, 0xd6, 0x0a, 0xcf, - 0xfe, 0x71, 0xfe, 0xc8, 0x6f, 0xfe, 0xfd, 0xc7, 0x79, 0xc3, 0x02, 0x2b, 0x62, 0xa2, 0x73, 0x62, - 0xd9, 0x2d, 0xca, 0xb6, 0x65, 0xba, 0x6d, 0xc8, 0x6c, 0x03, 0xbf, 0x78, 0x06, 0x4d, 0x38, 0x75, - 0xb1, 0x78, 0xce, 0x9a, 0x70, 0xea, 0x24, 0x44, 0xe5, 0x51, 0x06, 0x40, 0xe9, 0x23, 0x34, 0x13, - 0x7f, 0x03, 0xd4, 0xde, 0x4c, 0xa6, 0x16, 0x83, 0xae, 0xe5, 0x38, 0x45, 0x6b, 0x60, 0x01, 0xd2, - 0x00, 0x96, 0xab, 0xae, 0x9b, 0xcc, 0x72, 0x13, 0xa1, 0xfe, 0x57, 0x07, 0xfe, 0x2e, 0x55, 0xe4, - 0x91, 0x54, 0xf8, 0x91, 0x54, 0xe4, 0xbd, 0x00, 0x07, 0x53, 0xd9, 0xb6, 0x1b, 0x14, 0x6c, 0xad, - 0x88, 0x25, 0xf9, 0xcc, 0x80, 0xf0, 0x12, 0x3c, 0xa5, 0x84, 0x77, 0xf4, 0x4b, 0x85, 0x87, 0xb7, - 0x62, 0xec, 0x27, 0x04, 0xfb, 0xcb, 0x87, 0xb2, 0x97, 0x7c, 0x62, 0xf4, 0xe7, 0xd1, 0x49, 0xc1, - 0x7e, 0xdd, 0x0e, 0xea, 0x6a, 0x6b, 0x5e, 0x43, 0x79, 0x4e, 0xe7, 0xae, 0x3a, 0x44, 0x18, 0x91, - 0x7b, 0xe8, 0x54, 0x04, 0x0b, 0xc1, 0x2d, 0xa3, 0x1c, 0x7f, 0x0d, 0x3b, 0x48, 0x12, 0x43, 0xe2, - 0x06, 0xdf, 0x70, 0xd8, 0xfe, 0x5d, 0x9e, 0xfd, 0x96, 0xc0, 0x93, 0x77, 0xc1, 0xf1, 0xa3, 0x90, - 0x06, 0xca, 0x71, 0x11, 0x4d, 0xd9, 0xf5, 0x7a, 0x40, 0x43, 0x99, 0x00, 0x05, 0x4b, 0x0d, 0xc9, - 0x1a, 0xb8, 0x96, 0x68, 0x70, 0x7d, 0x05, 0xe5, 0xf8, 0xd5, 0x04, 0xae, 0x5f, 0x4f, 0x74, 0x2d, - 0x0c, 0x04, 0x8c, 0xfc, 0x2a, 0x17, 0xe1, 0xaf, 0xf3, 0xe0, 0x0c, 0x9a, 0xf4, 0x0f, 0x3c, 0x58, - 0xa5, 0x60, 0xc9, 0x01, 0xbe, 0x8e, 0xf2, 0x21, 0xb3, 0x59, 0x3b, 0x2c, 0x4e, 0xcc, 0x1e, 0x9d, - 0x9b, 0x59, 0x38, 0x3f, 0x32, 0xae, 0x1d, 0x01, 0xb3, 0x00, 0x8e, 0x57, 0xd0, 0x34, 0x7f, 0xff, - 0xf5, 0x4e, 0x8b, 0x16, 0x8f, 0x0a, 0xd3, 0x73, 0x23, 0x4d, 0x39, 0xc8, 0xd2, 0x70, 0xbc, 0x84, - 0x26, 0x6b, 0xae, 0x1d, 0x86, 0xc5, 0x9c, 0xb0, 0x2b, 0x8f, 0xb4, 0x5b, 0xe7, 0x28, 0x4b, 0x82, - 0xf9, 0x61, 0x85, 0x7e, 0xc0, 0xd6, 0x3a, 0xc5, 0x49, 0x11, 0x00, 0x8c, 0x30, 0x41, 0xc7, 0x3d, - 0xbb, 0x49, 0xd7, 0x7d, 0x8f, 0xd9, 0x8e, 0x17, 0x16, 0xf3, 0xe2, 0x6d, 0x6c, 0x0e, 0xcf, 0xa3, - 0x93, 0x4f, 0x68, 0xe7, 0xc0, 0x0f, 0xea, 0xa1, 0xc6, 0x4d, 0x09, 0xdc, 0xd0, 0x3c, 0xbe, 0x88, - 0x4e, 0x78, 0x3e, 0xa3, 0x7d, 0xe0, 0xb4, 0x00, 0xc6, 0x27, 0xf1, 0x1c, 0x7a, 0xc5, 0xf7, 0xdc, - 0xce, 0x0e, 0xb3, 0x03, 0x46, 0x03, 0x4e, 0xb6, 0x58, 0x98, 0x35, 0xe6, 0xa6, 0xad, 0xc1, 0x69, - 0x5c, 0x41, 0x98, 0x4f, 0xad, 0xd9, 0xae, 0xed, 0xd5, 0xe8, 0xaa, 0x57, 0xdb, 0xf7, 0x83, 0xb0, - 0x88, 0x04, 0x38, 0xe1, 0x0d, 0x7e, 0x1f, 0x4d, 0x07, 0x76, 0xe0, 0x30, 0x87, 0x86, 0xc5, 0x63, - 0x87, 0x9c, 0x89, 0xc5, 0x81, 0x1d, 0x4b, 0x1b, 0xe0, 0x4b, 0x68, 0xa6, 0xd9, 0x76, 0x99, 0x23, - 0x76, 0xee, 0xa1, 0xe7, 0x76, 0x8a, 0xc7, 0x85, 0xa3, 0x81, 0x59, 0x52, 0x81, 0x8b, 0x14, 0x32, - 0x04, 0xf2, 0xac, 0x88, 0xa6, 0xe4, 0x17, 0x20, 0x3f, 0xdc, 0x9c, 0xa5, 0x86, 0xe4, 0x0a, 0x64, - 0xd4, 0x7d, 0x5e, 0xe1, 0x22, 0x59, 0x2c, 0x2a, 0x9e, 0xfe, 0x7e, 0xd4, 0x90, 0x6c, 0xc2, 0xf2, - 0x00, 0x87, 0xe5, 0xdf, 0x43, 0x93, 0x02, 0x00, 0x79, 0x5c, 0x4a, 0x0c, 0x4b, 0x9a, 0x48, 0x20, - 0xb9, 0x8c, 0x5e, 0x11, 0xeb, 0xec, 0x50, 0x16, 0x49, 0xe3, 0x90, 0x32, 0xed, 0x52, 0x0e, 0xc8, - 0x7d, 0xf8, 0xc8, 0x04, 0x10, 0xdc, 0xad, 0xc4, 0xdd, 0x25, 0x5f, 0x42, 0x3b, 0x94, 0xf1, 0x0f, - 0x76, 0x55, 0x16, 0x5c, 0xe5, 0x77, 0x05, 0xbd, 0x0a, 0xcb, 0xb9, 0xee, 0x43, 0x5e, 0x63, 0x95, - 0xf7, 0x59, 0x74, 0x2c, 0x54, 0x73, 0x9a, 0x43, 0x74, 0x8a, 0x3c, 0x46, 0xaf, 0x0d, 0x9a, 0x02, - 0x9f, 0x5b, 0xa8, 0xa0, 0x81, 0xc0, 0xa9, 0x3c, 0x82, 0x93, 0x32, 0xed, 0x1b, 0x90, 0x45, 0x28, - 0x72, 0xeb, 0xb2, 0xa2, 0x2b, 0x42, 0x67, 0x51, 0x01, 0x6a, 0xbc, 0xa6, 0xd3, 0x9f, 0x20, 0x0f, - 0xd0, 0x99, 0xb8, 0x91, 0xbe, 0xcb, 0xa6, 0x00, 0x04, 0x44, 0xce, 0x26, 0xa7, 0x18, 0x98, 0x29, - 0x30, 0x79, 0x0f, 0xce, 0x75, 0x47, 0xf4, 0x0c, 0x8a, 0x43, 0x09, 0x4d, 0xcb, 0x26, 0x42, 0x53, - 0xd0, 0x63, 0xf2, 0x55, 0xa0, 0xad, 0x2c, 0x80, 0xc0, 0x22, 0xca, 0x4b, 0x48, 0x6a, 0x6d, 0x06, - 0x23, 0x80, 0xea, 0x53, 0xb9, 0xa3, 0x5a, 0x8d, 0xc8, 0xa9, 0xe8, 0xf6, 0xa3, 0x7f, 0x2a, 0x91, - 0x29, 0x7d, 0x2a, 0x11, 0xd3, 0xfe, 0xa9, 0x68, 0x60, 0xea, 0xa9, 0xf4, 0x4d, 0xfb, 0x06, 0xa4, - 0x38, 0xb8, 0xae, 0x6e, 0x4a, 0xbe, 0x89, 0xfe, 0x6f, 0xe8, 0x8d, 0x6e, 0x4c, 0x90, 0x5e, 0x41, - 0x95, 0xc8, 0xc3, 0x7c, 0x46, 0x2c, 0xc8, 0x2c, 0x14, 0x62, 0xfd, 0xb6, 0x5f, 0x72, 0xc0, 0xf9, - 0x3e, 0x3a, 0x3f, 0x12, 0x01, 0x24, 0xee, 0x0c, 0xc7, 0x7d, 0x39, 0x9d, 0x43, 0x7f, 0x8d, 0xc8, - 0x06, 0x5c, 0x18, 0xf4, 0x14, 0x0e, 0x91, 0x79, 0x82, 0x66, 0x47, 0x43, 0x80, 0xcd, 0x56, 0xc2, - 0x96, 0x64, 0xa6, 0x13, 0xdd, 0x9b, 0x37, 0xd0, 0xeb, 0xfa, 0x62, 0x13, 0x06, 0x77, 0xbd, 0x3d, - 0x5f, 0x31, 0xf9, 0xdb, 0x04, 0x2a, 0x25, 0xbd, 0x05, 0x12, 0xf7, 0xd0, 0x49, 0xee, 0x67, 0xb5, - 0x5d, 0xe3, 0x1d, 0xc3, 0x76, 0xe0, 0xd4, 0x68, 0xbf, 0xe4, 0x46, 0x3a, 0x0e, 0xd5, 0x6b, 0xac, - 0xfb, 0x8e, 0x07, 0x6d, 0xcb, 0x90, 0x21, 0x2e, 0x23, 0x64, 0xd7, 0x98, 0xf3, 0x94, 0xee, 0x50, - 0x26, 0x8b, 0x6b, 0xce, 0x8a, 0xcc, 0xf0, 0x9c, 0xe5, 0x36, 0xe1, 0x83, 0x76, 0x73, 0x97, 0x06, - 0xc5, 0xa3, 0x32, 0x67, 0x23, 0x53, 0xbc, 0x10, 0x89, 0xdb, 0x88, 0x2a, 0x4c, 0x4e, 0x60, 0xe2, - 0x93, 0xbc, 0xb4, 0xe9, 0x4b, 0x42, 0x01, 0x27, 0x05, 0x70, 0x68, 0x9e, 0x57, 0x07, 0xf8, 0x92, - 0x15, 0x32, 0x2f, 0x90, 0x03, 0xb3, 0x7c, 0x4d, 0xd7, 0x0e, 0x19, 0xdf, 0xa5, 0xfb, 0x7e, 0xdd, - 0xd9, 0x73, 0x68, 0x5d, 0x94, 0xcb, 0x9c, 0x35, 0x34, 0x4f, 0x56, 0xd0, 0x05, 0x7d, 0xf3, 0x8a, - 0x6a, 0xb4, 0xe1, 0x84, 0x2c, 0x70, 0x76, 0xdb, 0x7c, 0x2b, 0x12, 0x2f, 0xed, 0x82, 0xba, 0xb4, - 0x1f, 0x23, 0x92, 0x66, 0x1a, 0x29, 0x4a, 0xed, 0x20, 0xa0, 0x1e, 0xd3, 0x45, 0x49, 0x0e, 0x79, - 0x47, 0x70, 0x60, 0x7b, 0x8c, 0xd6, 0x61, 0x7b, 0x61, 0x44, 0x6e, 0xa0, 0xb3, 0xb2, 0x51, 0xad, - 0x89, 0xb4, 0xd8, 0x0c, 0xfc, 0xe6, 0xc7, 0xd4, 0x76, 0x3b, 0x91, 0xba, 0xf5, 0x5d, 0x3e, 0xd6, - 0x7c, 0xd4, 0x90, 0xac, 0xa8, 0x66, 0x7a, 0xc8, 0xb2, 0x4f, 0x66, 0x44, 0xe3, 0xa6, 0x12, 0xef, - 0xb1, 0xd0, 0x2d, 0x96, 0x94, 0x2d, 0x2a, 0xf1, 0x3c, 0xc8, 0xbb, 0x81, 0x97, 0xb0, 0xe8, 0x36, - 0x3a, 0xc5, 0xb7, 0x35, 0xf6, 0x32, 0xb5, 0xcd, 0x8c, 0x2f, 0x33, 0x6c, 0x4c, 0xfe, 0x6b, 0xc0, - 0xb5, 0x7b, 0x5f, 0xe6, 0x8a, 0x8a, 0xfc, 0x22, 0x3a, 0xc1, 0x9c, 0x26, 0x0d, 0x99, 0xdd, 0x6c, - 0x6d, 0xf8, 0x07, 0x1e, 0x5c, 0x95, 0xf1, 0x49, 0x9e, 0x9a, 0x7a, 0xe2, 0x51, 0x4b, 0x34, 0xdd, - 0x39, 0x2b, 0x3a, 0xc5, 0xd7, 0xa9, 0x41, 0x27, 0xc4, 0xfb, 0xce, 0x50, 0x74, 0x80, 0x05, 0x2b, - 0x3e, 0xc9, 0xeb, 0x42, 0x40, 0x5b, 0x3e, 0xef, 0x84, 0x44, 0xee, 0x16, 0x2c, 0x3d, 0xe6, 0x15, - 0xc8, 0x6f, 0xb3, 0x9a, 0xdf, 0xa4, 0x22, 0x5b, 0x67, 0x46, 0x54, 0xa0, 0x87, 0x12, 0x63, 0x29, - 0xb0, 0xfe, 0x6c, 0xb6, 0x5d, 0xbb, 0x43, 0xeb, 0xc5, 0xbc, 0x38, 0xf8, 0xe8, 0x14, 0xf9, 0x1a, - 0xd4, 0x3c, 0x1d, 0x3a, 0xec, 0xf2, 0x12, 0x74, 0x2b, 0x54, 0xdd, 0x2f, 0x69, 0xfd, 0x87, 0x82, - 0x92, 0xdf, 0x1a, 0xfd, 0xce, 0x42, 0x6f, 0xe3, 0xb2, 0x6e, 0x9a, 0x0d, 0xc1, 0x7d, 0x54, 0x19, - 0x67, 0x03, 0x3d, 0x33, 0x41, 0xc7, 0xf9, 0x0e, 0x89, 0x14, 0xe7, 0x4d, 0xe0, 0x84, 0xd8, 0xb5, - 0xd8, 0x5c, 0x74, 0x6b, 0x45, 0x73, 0x26, 0xb6, 0x36, 0x67, 0xc5, 0x27, 0xfb, 0xcd, 0x7c, 0x2e, - 0xd2, 0xcc, 0x93, 0x77, 0xa0, 0x4b, 0x93, 0x5c, 0x21, 0x6e, 0xde, 0x37, 0xf3, 0xcf, 0x4d, 0xf5, - 0x74, 0x30, 0x5a, 0xf8, 0xc5, 0x39, 0x34, 0x29, 0xd0, 0xf8, 0x27, 0x06, 0xca, 0x4b, 0x19, 0x8c, - 0x93, 0xef, 0xdc, 0x61, 0xcd, 0x5d, 0x9a, 0x3b, 0x1c, 0x28, 0xfd, 0x93, 0x6b, 0x3f, 0xf8, 0xfb, - 0xbf, 0x3e, 0x9d, 0x30, 0xf1, 0x15, 0x73, 0x83, 0xd6, 0xa8, 0xc7, 0x02, 0xdb, 0xe5, 0x31, 0x6c, - 0xd9, 0x4d, 0x6a, 0x8e, 0xfe, 0xf1, 0x07, 0xff, 0xd9, 0x18, 0x14, 0x93, 0x78, 0x61, 0xb4, 0xcf, - 0x51, 0x1a, 0xbd, 0xb4, 0x38, 0x96, 0x0d, 0x50, 0x5e, 0x17, 0x94, 0x3f, 0xc0, 0xef, 0x67, 0xa5, - 0x1c, 0xff, 0x35, 0xca, 0xec, 0x3a, 0xf5, 0x1e, 0xfe, 0xcc, 0x40, 0xa7, 0xe2, 0xeb, 0xaf, 0xba, - 0x6e, 0x5a, 0x0c, 0xa3, 0x14, 0x7c, 0x5a, 0x0c, 0x23, 0xb5, 0x38, 0xb9, 0x2d, 0x62, 0xb8, 0x81, - 0x97, 0x5f, 0x2e, 0x06, 0xfc, 0xa9, 0x81, 0x72, 0x42, 0xbf, 0xbc, 0x35, 0xda, 0x7b, 0x44, 0x4b, - 0x97, 0x2e, 0x1d, 0x06, 0x03, 0x5e, 0xb7, 0x04, 0xaf, 0x65, 0xbc, 0x94, 0x91, 0x17, 0x7f, 0x32, - 0xbb, 0x52, 0x87, 0xf4, 0xf0, 0x4f, 0x0d, 0x94, 0xe3, 0x97, 0x4b, 0x1a, 0xab, 0x88, 0xd0, 0x4e, - 0x63, 0x15, 0x55, 0xd8, 0xe4, 0x03, 0xc1, 0xea, 0x3a, 0xbe, 0x96, 0x91, 0x15, 0xd7, 0xd9, 0x66, - 0x17, 0xee, 0xfe, 0x1e, 0xfe, 0x99, 0x81, 0x26, 0xe5, 0x87, 0x79, 0xc8, 0x36, 0xe8, 0x33, 0xbd, - 0x7c, 0x28, 0xee, 0x4b, 0xec, 0x57, 0x68, 0x76, 0xc5, 0x85, 0xd0, 0xc3, 0x3f, 0x37, 0xd0, 0xa4, - 0xb8, 0xd1, 0xd2, 0x88, 0x45, 0x45, 0x5d, 0x1a, 0xb1, 0x98, 0x9a, 0x1b, 0x3b, 0xc1, 0xc4, 0x8d, - 0x6a, 0x76, 0x41, 0x22, 0xf6, 0xf0, 0x8f, 0x0c, 0x74, 0x74, 0x87, 0x32, 0x7c, 0x71, 0xb4, 0xc3, - 0xbe, 0xec, 0x2b, 0xbd, 0x75, 0x08, 0x0a, 0x48, 0xdd, 0x14, 0xa4, 0x96, 0xf0, 0x42, 0x46, 0x52, - 0x21, 0x65, 0x66, 0x57, 0x5c, 0x88, 0x3d, 0xfc, 0x7b, 0x03, 0x15, 0xb4, 0xf4, 0xc2, 0xf3, 0x69, - 0x0e, 0xe3, 0xaa, 0xb0, 0xf4, 0x4e, 0x26, 0x2c, 0x50, 0xdc, 0x12, 0x14, 0x57, 0xf1, 0xff, 0x67, - 0xa6, 0xa8, 0x7e, 0xe8, 0xe5, 0x4c, 0xb5, 0xd0, 0xec, 0xe1, 0x5f, 0x1b, 0x68, 0x0a, 0x14, 0x1a, - 0x4e, 0xb9, 0x8e, 0xe3, 0x82, 0xb1, 0xf4, 0x76, 0x06, 0x24, 0x30, 0x5d, 0x13, 0x4c, 0x6f, 0xe1, - 0x9b, 0x59, 0x53, 0x4f, 0xda, 0x9b, 0x5d, 0x2d, 0x40, 0x7b, 0xf8, 0x97, 0x06, 0xca, 0x4b, 0x19, - 0x97, 0x56, 0x5b, 0x62, 0x7a, 0x32, 0xad, 0xb6, 0xc4, 0x65, 0x24, 0xf9, 0x50, 0x30, 0xbc, 0x89, - 0x6f, 0x64, 0xde, 0x4b, 0x6e, 0xce, 0xf7, 0x51, 0xca, 0xd3, 0x1e, 0xfe, 0x9d, 0x81, 0x0a, 0x5a, - 0x52, 0xa4, 0x1d, 0xfa, 0xa0, 0xe8, 0x4c, 0x3b, 0xf4, 0x21, 0x95, 0x49, 0x36, 0x05, 0xd1, 0x0f, - 0xf1, 0xed, 0x8c, 0x44, 0xb5, 0xa2, 0x31, 0xbb, 0x11, 0x19, 0x2b, 0xce, 0x1c, 0xf5, 0x75, 0x14, - 0xce, 0xc2, 0x41, 0x5f, 0x39, 0xef, 0x66, 0x03, 0x03, 0xe3, 0x15, 0xc1, 0x78, 0x11, 0x5f, 0x1d, - 0x97, 0x71, 0x88, 0xff, 0x62, 0x20, 0x3c, 0x2c, 0xd3, 0xf0, 0x62, 0x06, 0xff, 0x83, 0xe2, 0xb1, - 0xb4, 0x34, 0x9e, 0xd1, 0x4b, 0x16, 0xf0, 0xa4, 0x7f, 0x5e, 0xe0, 0x67, 0x06, 0x3a, 0x9d, 0xa0, - 0x59, 0x71, 0x16, 0x4a, 0x43, 0x2a, 0xb8, 0x74, 0x6d, 0x4c, 0x2b, 0x88, 0x64, 0x43, 0x44, 0x72, - 0x1b, 0xdf, 0x1a, 0xfb, 0x18, 0xa2, 0xa1, 0xfc, 0xc1, 0x40, 0x27, 0x62, 0x9a, 0x17, 0x57, 0xd2, - 0xeb, 0xcf, 0xa0, 0x74, 0x2e, 0x99, 0x99, 0xf1, 0x2f, 0x59, 0x51, 0xf5, 0x53, 0xd5, 0xe1, 0xfc, - 0xbe, 0x30, 0xd0, 0xab, 0x89, 0xba, 0x10, 0x2f, 0xa7, 0x57, 0x82, 0x51, 0x1a, 0xb4, 0x74, 0x7d, - 0x6c, 0x3b, 0x88, 0xe4, 0x81, 0x88, 0xe4, 0x2b, 0x78, 0x33, 0x7b, 0x4d, 0xa9, 0x8a, 0x1f, 0x64, - 0x3b, 0xd5, 0x7a, 0x64, 0x3d, 0x5d, 0x67, 0xfe, 0x6a, 0xa0, 0x93, 0x83, 0x02, 0x13, 0x5f, 0x4d, - 0xe9, 0xf1, 0x92, 0x65, 0x6c, 0x69, 0x61, 0x1c, 0x13, 0x88, 0xe5, 0x9e, 0x88, 0xe5, 0x0e, 0x5e, - 0xcf, 0x18, 0x8b, 0x2d, 0x17, 0xaa, 0xee, 0x05, 0x7e, 0xb3, 0x2a, 0x54, 0xb2, 0xd9, 0x05, 0xb1, - 0xdc, 0x13, 0x59, 0x15, 0xd3, 0x9d, 0x69, 0x59, 0x95, 0xa4, 0x8b, 0xd3, 0xb2, 0x2a, 0x51, 0x2a, - 0x8f, 0x9d, 0x55, 0xf1, 0xff, 0x22, 0xe2, 0xff, 0x18, 0x68, 0x0a, 0x74, 0x61, 0x5a, 0xc9, 0x8c, - 0xab, 0xe6, 0xb4, 0x92, 0x39, 0x20, 0x32, 0xc9, 0x0f, 0x0d, 0x41, 0xf0, 0xfb, 0x06, 0xfe, 0xde, - 0x38, 0x6d, 0x11, 0x0d, 0xcd, 0x6e, 0x4c, 0x83, 0xf7, 0x22, 0xe3, 0x47, 0xad, 0x1e, 0x2f, 0xa9, - 0x11, 0x65, 0xdd, 0x33, 0xbb, 0x4a, 0x48, 0xf7, 0xcc, 0x2e, 0x48, 0xe3, 0x9e, 0xec, 0x92, 0x41, - 0x06, 0xf7, 0xf0, 0x9f, 0x0c, 0x94, 0x13, 0xbf, 0x34, 0xa5, 0xb7, 0x4e, 0x61, 0x86, 0x56, 0x39, - 0xaa, 0x27, 0x49, 0x4d, 0x44, 0xf8, 0x6d, 0xfc, 0xad, 0xec, 0x9f, 0x43, 0x68, 0x76, 0xa5, 0x02, - 0x86, 0x40, 0x94, 0xd8, 0x8d, 0xc4, 0x25, 0x9a, 0xde, 0x9e, 0xea, 0x5b, 0xd7, 0xac, 0x67, 0xcf, - 0xcb, 0xc6, 0xe7, 0xcf, 0xcb, 0xc6, 0x3f, 0x9f, 0x97, 0x8d, 0x1f, 0xbf, 0x28, 0x1f, 0xf9, 0xfc, - 0x45, 0xf9, 0xc8, 0x17, 0x2f, 0xca, 0x47, 0x3e, 0xbe, 0xd1, 0x70, 0xd8, 0x7e, 0x7b, 0xb7, 0x52, - 0xf3, 0x9b, 0xa9, 0x04, 0xbe, 0x13, 0x79, 0x66, 0x9d, 0x16, 0x0d, 0x77, 0xf3, 0xe2, 0x7f, 0xc8, - 0x8b, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xd6, 0x84, 0x06, 0x0f, 0x1c, 0x21, 0x00, 0x00, + // 2452 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x5a, 0xcf, 0x8f, 0x1c, 0x47, + 0xf5, 0x77, 0xef, 0xce, 0xee, 0x7a, 0xca, 0x3f, 0x62, 0x97, 0x9d, 0x7c, 0x27, 0x13, 0x7b, 0xbc, + 0xae, 0x38, 0xf6, 0xc6, 0xb1, 0xa7, 0xe3, 0x5d, 0xff, 0x5a, 0xc7, 0x76, 0xb2, 0x3f, 0x6c, 0x7f, + 0x8d, 0xb1, 0xbd, 0xe9, 0xc5, 0x46, 0x04, 0xc1, 0xaa, 0x77, 0xa6, 0xbc, 0xdb, 0x72, 0x4f, 0xf7, + 0xa4, 0xab, 0xc6, 0xcb, 0x30, 0x1a, 0x21, 0x10, 0x07, 0x4e, 0x08, 0x11, 0x84, 0xb8, 0x20, 0x21, + 0x4e, 0x08, 0x81, 0xc8, 0x81, 0x13, 0x8a, 0x38, 0x21, 0xe4, 0x63, 0x10, 0x97, 0x9c, 0x10, 0xb2, + 0x91, 0x10, 0x7f, 0x02, 0x37, 0x54, 0x55, 0xaf, 0x6b, 0xaa, 0x67, 0xba, 0x7b, 0x7b, 0x37, 0x17, + 0x6b, 0xaa, 0xea, 0xf3, 0xea, 0x7d, 0x5e, 0xd5, 0xeb, 0x7a, 0x3f, 0xd6, 0xe8, 0x44, 0xc3, 0x8d, + 0x9a, 0x8d, 0x4d, 0xd7, 0x0b, 0xec, 0xc1, 0xaf, 0x8f, 0x3b, 0x34, 0xea, 0xd6, 0xdb, 0x51, 0xc8, + 0x43, 0x7c, 0x44, 0x4f, 0xd7, 0xf5, 0xaf, 0xea, 0x61, 0xb7, 0xe5, 0x05, 0xa1, 0x2d, 0xff, 0x55, + 0xb8, 0xea, 0xd1, 0x8d, 0x70, 0x23, 0x94, 0x3f, 0x6d, 0xf1, 0x0b, 0x66, 0x8f, 0x6d, 0x84, 0xe1, + 0x86, 0x4f, 0x6d, 0xb7, 0xed, 0xd9, 0x6e, 0x10, 0x84, 0xdc, 0xe5, 0x5e, 0x18, 0x30, 0x58, 0x3d, + 0xdb, 0x08, 0x59, 0x2b, 0x64, 0xf6, 0xba, 0xcb, 0xa8, 0x52, 0x6a, 0x3f, 0xbb, 0xb0, 0x4e, 0xb9, + 0x7b, 0xc1, 0x6e, 0xbb, 0x1b, 0x5e, 0x20, 0xc1, 0x80, 0x9d, 0x4e, 0x23, 0xda, 0x76, 0x23, 0xb7, + 0x15, 0xef, 0xf6, 0x76, 0x2a, 0x22, 0x0a, 0x9b, 0x9d, 0x06, 0x5f, 0x6b, 0x52, 0xee, 0x7a, 0x7e, + 0x2e, 0x54, 0xfc, 0x5a, 0xdb, 0xf2, 0xf8, 0xe6, 0x9a, 0xd7, 0x72, 0x37, 0x28, 0x40, 0x6b, 0x69, + 0xd0, 0x0e, 0xa3, 0x51, 0xde, 0xba, 0xf8, 0x05, 0xeb, 0xa9, 0x07, 0xdc, 0x72, 0x79, 0x63, 0x13, + 0x00, 0xc7, 0xd3, 0x00, 0x8c, 0x72, 0x7d, 0x46, 0xe9, 0xcb, 0x8a, 0xa9, 0x1b, 0xf1, 0xad, 0x30, + 0x7a, 0x0a, 0xd8, 0x53, 0xe9, 0x58, 0xdf, 0x5f, 0x0b, 0x9f, 0x3c, 0xd1, 0x8c, 0x4f, 0xa6, 0x32, + 0x0e, 0x3b, 0x41, 0xc3, 0xf3, 0xf3, 0x0e, 0x9b, 0xd1, 0xe8, 0x99, 0xde, 0xe4, 0xcd, 0x34, 0x04, + 0x0d, 0xc4, 0x36, 0x5c, 0x83, 0xea, 0xb9, 0xa0, 0xb4, 0xb3, 0x36, 0xfc, 0x21, 0xf6, 0x84, 0x46, + 0xe8, 0xc5, 0x3e, 0x30, 0x93, 0xb6, 0xdf, 0xb3, 0x90, 0x7b, 0xc1, 0xc6, 0x5a, 0x44, 0x59, 0xc7, + 0xe7, 0xf1, 0x05, 0x9f, 0xce, 0xbc, 0xe0, 0x46, 0x18, 0x70, 0x1a, 0xc0, 0xe9, 0x92, 0xa3, 0x08, + 0x7f, 0x28, 0xfc, 0x6e, 0x45, 0x3a, 0x92, 0x43, 0x3f, 0xee, 0x50, 0xc6, 0xc9, 0x23, 0x74, 0x24, + 0x31, 0xcb, 0xda, 0x61, 0xc0, 0x28, 0xbe, 0x89, 0x26, 0x95, 0xc3, 0x55, 0xac, 0x69, 0x6b, 0x66, + 0xdf, 0xec, 0x1b, 0xf5, 0x94, 0x6f, 0xa3, 0xae, 0x84, 0x16, 0xcb, 0xcf, 0xff, 0x71, 0x62, 0xcf, + 0x6f, 0xfe, 0xfd, 0xe9, 0x59, 0xcb, 0x01, 0x29, 0x62, 0xa3, 0xe3, 0x72, 0xdb, 0x3b, 0x94, 0xaf, + 0x28, 0xb7, 0x5c, 0x56, 0x5e, 0x09, 0x7a, 0xf1, 0x41, 0x34, 0xe6, 0x35, 0xe5, 0xe6, 0x25, 0x67, + 0xcc, 0x6b, 0x12, 0x86, 0x6a, 0x59, 0x02, 0x40, 0xe9, 0x43, 0x74, 0x30, 0xb9, 0x02, 0xd4, 0xde, + 0x4c, 0xa7, 0x96, 0x80, 0x2e, 0x96, 0x04, 0x45, 0x67, 0x68, 0x03, 0xb2, 0x01, 0x2c, 0x17, 0x7c, + 0x3f, 0x9d, 0xe5, 0x6d, 0x84, 0x06, 0x5f, 0x27, 0xe8, 0x3b, 0x5d, 0x57, 0x57, 0x57, 0x17, 0x57, + 0x57, 0x57, 0xef, 0x07, 0x5c, 0x60, 0x7d, 0xc5, 0xdd, 0xa0, 0x20, 0xeb, 0x18, 0x92, 0xe4, 0x33, + 0x0b, 0xcc, 0x4b, 0xd1, 0x94, 0x63, 0xde, 0xf8, 0x97, 0x32, 0x0f, 0xdf, 0x49, 0xb0, 0x1f, 0x93, + 0xec, 0xcf, 0x6c, 0xcb, 0x5e, 0xf1, 0x49, 0xd0, 0x3f, 0x8b, 0x0e, 0x49, 0xf6, 0x4b, 0x6e, 0xd4, + 0x8c, 0x8f, 0xe6, 0x35, 0x34, 0x29, 0xe8, 0xdc, 0x8d, 0x2f, 0x11, 0x46, 0xe4, 0x1e, 0x3a, 0x6c, + 0x60, 0xc1, 0xb8, 0xcb, 0xa8, 0x24, 0x96, 0xe1, 0x04, 0x49, 0xaa, 0x49, 0x42, 0xe0, 0xeb, 0x1e, + 0xdf, 0xbc, 0x2b, 0xbe, 0x12, 0x47, 0xe2, 0xc9, 0x39, 0x50, 0xfc, 0x88, 0xd1, 0x28, 0x56, 0x5c, + 0x41, 0x53, 0x6e, 0xb3, 0x19, 0x51, 0xa6, 0x1c, 0xa0, 0xec, 0xc4, 0x43, 0xb2, 0x08, 0xaa, 0x15, + 0x1a, 0x54, 0x9f, 0x47, 0x25, 0xf1, 0x84, 0x81, 0xea, 0xd7, 0x53, 0x55, 0x4b, 0x01, 0x09, 0x23, + 0xbf, 0x2a, 0x19, 0xfc, 0xb5, 0x1f, 0x1c, 0x45, 0x13, 0xe1, 0x56, 0x00, 0xbb, 0x94, 0x1d, 0x35, + 0xc0, 0x57, 0xd0, 0x24, 0xe3, 0x2e, 0xef, 0xb0, 0xca, 0xd8, 0xf4, 0xf8, 0xcc, 0xc1, 0xd9, 0x13, + 0x99, 0x76, 0xad, 0x4a, 0x98, 0x03, 0x70, 0x3c, 0x8f, 0xf6, 0x8a, 0xf5, 0xaf, 0x75, 0xdb, 0xb4, + 0x32, 0x2e, 0x45, 0x8f, 0x67, 0x8a, 0x0a, 0x90, 0xa3, 0xe1, 0xf8, 0x22, 0x9a, 0x68, 0xf8, 0x2e, + 0x63, 0x95, 0x92, 0x94, 0xab, 0x65, 0xca, 0x2d, 0x09, 0x94, 0xa3, 0xc0, 0xe2, 0xb2, 0x58, 0x18, + 0xf1, 0xc5, 0x6e, 0x65, 0x42, 0x1a, 0x00, 0x23, 0x4c, 0xd0, 0xfe, 0xc0, 0x6d, 0xd1, 0xa5, 0x30, + 0xe0, 0xae, 0x17, 0xb0, 0xca, 0xa4, 0x5c, 0x4d, 0xcc, 0xe1, 0xb3, 0xe8, 0xd0, 0x53, 0xda, 0xdd, + 0x0a, 0xa3, 0x26, 0xd3, 0xb8, 0x29, 0x89, 0x1b, 0x99, 0xc7, 0xa7, 0xd0, 0x81, 0x20, 0xe4, 0x74, + 0x00, 0xdc, 0x2b, 0x81, 0xc9, 0x49, 0x3c, 0x83, 0x5e, 0x09, 0x03, 0xbf, 0xbb, 0xca, 0xdd, 0x88, + 0xd3, 0x48, 0x90, 0xad, 0x94, 0xa7, 0xad, 0x99, 0xbd, 0xce, 0xf0, 0x34, 0xae, 0x23, 0x2c, 0xa6, + 0x16, 0x5d, 0xdf, 0x0d, 0x1a, 0x74, 0x21, 0x68, 0x6c, 0x86, 0x11, 0xab, 0x20, 0x09, 0x4e, 0x59, + 0xc1, 0xef, 0xa1, 0xbd, 0x91, 0x1b, 0x79, 0xdc, 0xa3, 0xac, 0xb2, 0x6f, 0x9b, 0x3b, 0x71, 0x04, + 0xb0, 0xeb, 0x68, 0x01, 0x7c, 0x1a, 0x1d, 0x6c, 0x75, 0x7c, 0xee, 0xc9, 0x93, 0x7b, 0x18, 0xf8, + 0xdd, 0xca, 0x7e, 0xa9, 0x68, 0x68, 0x96, 0xd4, 0xe1, 0x21, 0x05, 0x0f, 0x01, 0x3f, 0xab, 0xa0, + 0x29, 0xf5, 0x05, 0xa8, 0x0f, 0xb7, 0xe4, 0xc4, 0x43, 0x72, 0x1e, 0x3c, 0xea, 0xbe, 0x88, 0x84, + 0x86, 0x17, 0xcb, 0xc8, 0xa8, 0xbf, 0x9f, 0x78, 0x48, 0x6e, 0xc3, 0xf6, 0x00, 0x87, 0xed, 0xdf, + 0x45, 0x13, 0x12, 0x00, 0x7e, 0x5c, 0x4d, 0x35, 0x4b, 0x89, 0x28, 0x20, 0x39, 0x83, 0x5e, 0x91, + 0xfb, 0xac, 0x52, 0x6e, 0xb8, 0x31, 0xa3, 0x5c, 0xab, 0x54, 0x03, 0x72, 0x1f, 0x3e, 0x32, 0x09, + 0x04, 0x75, 0xf3, 0x49, 0x75, 0xe9, 0x8f, 0xd0, 0x2a, 0xe5, 0xe2, 0x83, 0x5d, 0x50, 0x81, 0x39, + 0xd6, 0x3b, 0x8f, 0x5e, 0x85, 0xed, 0x7c, 0xff, 0xa1, 0x88, 0xc5, 0xb1, 0xf6, 0x69, 0xb4, 0x8f, + 0xc5, 0x73, 0x9a, 0x83, 0x39, 0x45, 0x1e, 0xa3, 0xd7, 0x86, 0x45, 0x81, 0xcf, 0x75, 0x54, 0xd6, + 0x40, 0xe0, 0x54, 0xcb, 0xe0, 0x14, 0x8b, 0x0e, 0x04, 0xc8, 0x1c, 0x04, 0xb9, 0x25, 0x15, 0xf9, + 0x63, 0x42, 0xc7, 0x50, 0x19, 0x72, 0x01, 0x4d, 0x67, 0x30, 0x41, 0x1e, 0xa0, 0xa3, 0x49, 0x21, + 0xfd, 0x96, 0x4d, 0x01, 0x08, 0x88, 0x1c, 0x4b, 0x77, 0x31, 0x10, 0x8b, 0xc1, 0xe4, 0x5d, 0xb8, + 0xd7, 0x55, 0x99, 0x5b, 0xc4, 0x1c, 0xaa, 0x68, 0xaf, 0x4a, 0x36, 0x34, 0x05, 0x3d, 0x26, 0x5f, + 0x01, 0xda, 0xb1, 0x04, 0x10, 0x98, 0x43, 0x93, 0x0a, 0x92, 0x1b, 0x9b, 0x41, 0x08, 0xa0, 0xfa, + 0x56, 0x6e, 0xc5, 0x29, 0x89, 0x71, 0x2b, 0x3a, 0x4d, 0x19, 0xdc, 0x8a, 0x31, 0xa5, 0x6f, 0xc5, + 0x10, 0x1d, 0xdc, 0x8a, 0x06, 0xe6, 0xde, 0xca, 0x40, 0x74, 0x20, 0x40, 0x2a, 0xc3, 0xfb, 0xea, + 0xa4, 0xe4, 0x1b, 0xe8, 0xff, 0x46, 0x56, 0x74, 0x62, 0x82, 0xf4, 0x0e, 0x71, 0x88, 0xdc, 0x4e, + 0xa7, 0x21, 0x41, 0xa6, 0x21, 0x10, 0xeb, 0xd5, 0x41, 0xc8, 0x01, 0xe5, 0x9b, 0xe8, 0x44, 0x26, + 0x02, 0x48, 0xdc, 0x1a, 0xb5, 0xfb, 0x4c, 0x3e, 0x87, 0xc1, 0x1e, 0xc6, 0x01, 0x9c, 0x1c, 0xd6, + 0xc4, 0x46, 0xc8, 0x3c, 0x45, 0xd3, 0xd9, 0x10, 0x60, 0x73, 0x27, 0xe5, 0x48, 0x0a, 0xd3, 0x31, + 0xcf, 0xe6, 0x0d, 0xf4, 0xba, 0x7e, 0xd8, 0xa4, 0xc0, 0xdd, 0xe0, 0x49, 0x18, 0x33, 0xf9, 0xdb, + 0x18, 0xaa, 0xa6, 0xad, 0x02, 0x89, 0x7b, 0xe8, 0x90, 0xd0, 0xb3, 0xd0, 0x69, 0x88, 0x8c, 0x61, + 0x25, 0xf2, 0x1a, 0x74, 0x10, 0x72, 0x8d, 0x8c, 0x23, 0xce, 0x35, 0x96, 0x42, 0x2f, 0x80, 0xb4, + 0x65, 0x44, 0x10, 0xd7, 0x10, 0x72, 0x1b, 0xdc, 0x7b, 0x46, 0x57, 0x29, 0x57, 0xc1, 0xb5, 0xe4, + 0x18, 0x33, 0xc2, 0x67, 0x85, 0x0c, 0x7b, 0xd0, 0x69, 0xad, 0xd3, 0xa8, 0x32, 0xae, 0x7c, 0xd6, + 0x98, 0x12, 0x81, 0x48, 0xbe, 0x46, 0x34, 0xc6, 0x94, 0x24, 0x26, 0x39, 0x29, 0x42, 0x9b, 0x7e, + 0x24, 0x62, 0xe0, 0x84, 0x04, 0x8e, 0xcc, 0x8b, 0xe8, 0x00, 0x5f, 0x72, 0x8c, 0x9c, 0x94, 0xc8, + 0xa1, 0x59, 0xb1, 0xa7, 0xef, 0x32, 0x2e, 0x4e, 0xe9, 0x7e, 0xd8, 0xf4, 0x9e, 0x78, 0xb4, 0x29, + 0xc3, 0x65, 0xc9, 0x19, 0x99, 0x27, 0xf3, 0xe8, 0xa4, 0x7e, 0x79, 0x65, 0x34, 0x5a, 0xf6, 0x18, + 0x8f, 0xbc, 0xf5, 0x8e, 0x38, 0x8a, 0xd4, 0x47, 0xbb, 0x1c, 0x3f, 0xda, 0x8f, 0x11, 0xc9, 0x13, + 0x35, 0x82, 0x52, 0x27, 0x8a, 0x68, 0xc0, 0x75, 0x50, 0x52, 0x43, 0x91, 0x11, 0x6c, 0xb9, 0x01, + 0xa7, 0x4d, 0x38, 0x5e, 0x18, 0x91, 0xab, 0xe8, 0x98, 0x4a, 0x54, 0x1b, 0xd2, 0x2d, 0x6e, 0x47, + 0x61, 0xeb, 0x23, 0xea, 0xfa, 0x5d, 0x23, 0x6e, 0x7d, 0x57, 0x8c, 0x35, 0x9f, 0x78, 0x48, 0xe6, + 0xe3, 0x64, 0x7a, 0x44, 0x72, 0x40, 0x26, 0x23, 0x71, 0x8b, 0x1d, 0xef, 0xb1, 0xac, 0x6f, 0x1c, + 0x55, 0xde, 0xc4, 0x8e, 0x17, 0x80, 0xdf, 0x0d, 0x2d, 0xc2, 0xa6, 0x2b, 0xe8, 0xb0, 0x38, 0xd6, + 0xc4, 0x62, 0x6e, 0x9a, 0x99, 0xdc, 0x66, 0x54, 0x98, 0xfc, 0xd7, 0x82, 0x67, 0xf7, 0xbe, 0xf2, + 0x95, 0xd8, 0xf2, 0x53, 0xe8, 0x00, 0xf7, 0x5a, 0x94, 0x71, 0xb7, 0xd5, 0x5e, 0x0e, 0xb7, 0x02, + 0x78, 0x2a, 0x93, 0x93, 0xc2, 0x35, 0xf5, 0xc4, 0xa3, 0xb6, 0x4c, 0xba, 0x4b, 0x8e, 0x39, 0x25, + 0xf6, 0x69, 0x40, 0x26, 0x24, 0xf2, 0x4e, 0x26, 0x33, 0xc0, 0xb2, 0x93, 0x9c, 0x14, 0x71, 0x21, + 0xa2, 0xed, 0x50, 0x64, 0x42, 0xd2, 0x77, 0xcb, 0x8e, 0x1e, 0x8b, 0x08, 0x14, 0x76, 0x78, 0x23, + 0x6c, 0x51, 0xe9, 0xad, 0x07, 0x33, 0x22, 0xd0, 0x43, 0x85, 0x71, 0x62, 0xb0, 0xfe, 0x6c, 0x56, + 0x7c, 0xb7, 0x4b, 0x9b, 0x95, 0x49, 0x79, 0xf1, 0xe6, 0x14, 0xf9, 0x2a, 0xc4, 0x3c, 0x6d, 0x3a, + 0x9c, 0xf2, 0x45, 0xc8, 0x56, 0x68, 0xfc, 0xbe, 0xe4, 0xe5, 0x1f, 0x31, 0x94, 0xfc, 0xd6, 0x1a, + 0x64, 0x16, 0xfa, 0x18, 0x2f, 0xeb, 0xa4, 0xd9, 0x92, 0xdc, 0xb3, 0xc2, 0x38, 0x1f, 0xca, 0x99, + 0x09, 0xda, 0x2f, 0x4e, 0x48, 0xba, 0xb8, 0x48, 0x02, 0xc7, 0xe4, 0xa9, 0x25, 0xe6, 0xcc, 0xa3, + 0x95, 0xc9, 0x99, 0x3c, 0xda, 0x92, 0x93, 0x9c, 0x1c, 0x24, 0xf3, 0x25, 0x23, 0x99, 0x27, 0xef, + 0x40, 0x96, 0xa6, 0xb8, 0x82, 0xdd, 0x22, 0x6f, 0x16, 0x9f, 0x5b, 0x9c, 0xd3, 0xc1, 0x88, 0x5c, + 0x80, 0x00, 0x25, 0x13, 0x6d, 0x55, 0x65, 0x6f, 0x57, 0x17, 0x7d, 0x1b, 0x55, 0x46, 0x45, 0x40, + 0xcd, 0xa2, 0xba, 0x18, 0x98, 0x06, 0xf7, 0x9d, 0xce, 0x4e, 0xed, 0x41, 0xdc, 0x14, 0x22, 0xb3, + 0xa3, 0xfb, 0xb3, 0x34, 0x4e, 0xe3, 0x06, 0x27, 0xd7, 0x78, 0xf0, 0x07, 0x32, 0x40, 0x6a, 0x19, + 0xed, 0x37, 0xf6, 0x8f, 0x2f, 0x7e, 0x7b, 0x56, 0x09, 0xa9, 0xd9, 0x1f, 0x4e, 0xa3, 0x09, 0xa9, + 0x03, 0xff, 0xd4, 0x42, 0x93, 0xaa, 0x61, 0x80, 0xd3, 0xa3, 0xd3, 0x68, 0x77, 0xa2, 0x3a, 0xb3, + 0x3d, 0x50, 0xb1, 0x25, 0x97, 0x7e, 0xf0, 0xf7, 0x7f, 0x7d, 0x32, 0x66, 0xe3, 0xf3, 0xf6, 0x32, + 0x6d, 0xd0, 0x80, 0x47, 0xae, 0x2f, 0x48, 0xdd, 0x71, 0x5b, 0xd4, 0xce, 0x6e, 0xa7, 0xe1, 0x3f, + 0x5b, 0xc3, 0x65, 0x37, 0x9e, 0xcd, 0xd6, 0x99, 0xd5, 0xcd, 0xa8, 0xce, 0xed, 0x48, 0x06, 0x28, + 0x2f, 0x49, 0xca, 0x37, 0xf0, 0x7b, 0x45, 0x29, 0x27, 0xfb, 0x7b, 0x76, 0xcf, 0x6b, 0xf6, 0xf1, + 0x67, 0x16, 0x3a, 0x9c, 0xdc, 0x7f, 0xc1, 0xf7, 0xf3, 0x6c, 0xc8, 0xea, 0x75, 0xe4, 0xd9, 0x90, + 0xd9, 0xb5, 0x20, 0x37, 0xa5, 0x0d, 0x57, 0xf1, 0xe5, 0xdd, 0xd9, 0x80, 0x3f, 0xb1, 0x50, 0x49, + 0x56, 0x7a, 0x6f, 0x65, 0x6b, 0x37, 0xba, 0x0e, 0xd5, 0xd3, 0xdb, 0xc1, 0x80, 0xd7, 0x75, 0xc9, + 0xeb, 0x32, 0xbe, 0x58, 0x90, 0x97, 0xf8, 0x65, 0xf7, 0xd4, 0x67, 0xd1, 0xc7, 0x3f, 0xb3, 0x50, + 0x49, 0x3c, 0xc3, 0x79, 0xac, 0x8c, 0x96, 0x44, 0x1e, 0x2b, 0xb3, 0x17, 0x41, 0x6e, 0x48, 0x56, + 0x57, 0xf0, 0xa5, 0x82, 0xac, 0x3a, 0x8c, 0x46, 0x76, 0x0f, 0xa2, 0x64, 0x1f, 0xff, 0xdc, 0x42, + 0x13, 0xea, 0x09, 0xdb, 0xe6, 0x18, 0xf4, 0x9d, 0x9e, 0xd9, 0x16, 0xf7, 0x25, 0xce, 0x8b, 0xd9, + 0x3d, 0xf9, 0x74, 0xf6, 0xf1, 0x2f, 0x2c, 0x34, 0x21, 0xdf, 0xfe, 0x3c, 0x62, 0x66, 0xf9, 0x9b, + 0x47, 0x2c, 0x51, 0xf7, 0xee, 0xd8, 0xc1, 0x64, 0xec, 0xb1, 0x7b, 0x50, 0x4c, 0xf7, 0xf1, 0x8f, + 0x2d, 0x34, 0xbe, 0x4a, 0x39, 0x3e, 0x95, 0xad, 0x70, 0x50, 0x20, 0x57, 0xdf, 0xda, 0x06, 0x05, + 0xa4, 0xae, 0x49, 0x52, 0x17, 0xf1, 0x6c, 0x41, 0x52, 0x8c, 0x72, 0xbb, 0x27, 0x43, 0x47, 0x1f, + 0xff, 0xde, 0x42, 0x65, 0x5d, 0xa4, 0xe2, 0xb3, 0x79, 0x0a, 0x93, 0xf5, 0x73, 0xf5, 0x9d, 0x42, + 0x58, 0xa0, 0x78, 0x47, 0x52, 0x5c, 0xc0, 0xef, 0x17, 0xa6, 0x18, 0xb7, 0xce, 0x05, 0x53, 0x5d, + 0x92, 0xf7, 0xf1, 0xaf, 0x2d, 0x34, 0x05, 0xb5, 0x2c, 0xce, 0x79, 0x8e, 0x93, 0xa5, 0x75, 0xf5, + 0xed, 0x02, 0x48, 0x60, 0xba, 0x28, 0x99, 0x5e, 0xc7, 0xd7, 0x8a, 0xba, 0x9e, 0x92, 0xb7, 0x7b, + 0xba, 0x54, 0xef, 0xe3, 0x5f, 0x5a, 0x68, 0x52, 0x15, 0xbc, 0x79, 0xb1, 0x25, 0x51, 0x79, 0xe7, + 0xc5, 0x96, 0x64, 0xc1, 0x4d, 0x3e, 0x90, 0x0c, 0xaf, 0xe1, 0xab, 0x85, 0xcf, 0x52, 0x88, 0x8b, + 0x73, 0x54, 0x85, 0x7c, 0x1f, 0xff, 0xce, 0x42, 0x65, 0x5d, 0x7c, 0xe5, 0x5d, 0xfa, 0x70, 0x79, + 0x9e, 0x77, 0xe9, 0x23, 0xf5, 0x38, 0xb9, 0x2d, 0x89, 0x7e, 0x80, 0x6f, 0x16, 0x24, 0xaa, 0x6b, + 0x3f, 0xbb, 0x67, 0x14, 0xfc, 0xf2, 0xce, 0xd1, 0xa0, 0xe2, 0xc4, 0x45, 0x38, 0xe8, 0x27, 0xe7, + 0x5c, 0x31, 0x30, 0x30, 0x9e, 0x97, 0x8c, 0xe7, 0xf0, 0x85, 0x9d, 0x32, 0x66, 0xf8, 0x2f, 0x16, + 0xc2, 0xa3, 0x05, 0x2d, 0x9e, 0x2b, 0xa0, 0x7f, 0xb8, 0xcc, 0xae, 0x5e, 0xdc, 0x99, 0xd0, 0x2e, + 0x03, 0x78, 0xda, 0x9f, 0x83, 0xf0, 0x73, 0x0b, 0x1d, 0x49, 0xa9, 0xee, 0x71, 0x11, 0x4a, 0x23, + 0xfd, 0x82, 0xea, 0xa5, 0x1d, 0x4a, 0x81, 0x25, 0xcb, 0xd2, 0x92, 0x9b, 0xf8, 0xfa, 0x8e, 0xaf, + 0xc1, 0x34, 0xe5, 0x0f, 0x16, 0x3a, 0x90, 0xe8, 0x0e, 0xe0, 0x7a, 0x7e, 0xfc, 0x19, 0x6e, 0x32, + 0x54, 0xed, 0xc2, 0xf8, 0x5d, 0x46, 0x54, 0xfd, 0x6b, 0xcd, 0x13, 0xfc, 0xbe, 0xb0, 0xd0, 0xab, + 0xa9, 0x15, 0x34, 0xbe, 0x9c, 0x1f, 0x09, 0xb2, 0xaa, 0xf5, 0xea, 0x95, 0x1d, 0xcb, 0x81, 0x25, + 0x0f, 0xa4, 0x25, 0xff, 0x8f, 0x6f, 0x17, 0x8f, 0x29, 0x6b, 0xb2, 0x75, 0xdd, 0x5d, 0x6b, 0x1a, + 0xfb, 0xe9, 0x38, 0xf3, 0x57, 0x0b, 0x1d, 0x1a, 0x2e, 0xc5, 0xf1, 0x85, 0x9c, 0x1c, 0x2f, 0xbd, + 0xe0, 0xaf, 0xce, 0xee, 0x44, 0x04, 0x6c, 0xb9, 0x27, 0x6d, 0xb9, 0x85, 0x97, 0x0a, 0xda, 0xe2, + 0xaa, 0x8d, 0xd6, 0x9e, 0x44, 0x61, 0x6b, 0x4d, 0xf6, 0x13, 0xec, 0x1e, 0xb4, 0x15, 0xfa, 0xd2, + 0xab, 0x12, 0x15, 0x7a, 0x9e, 0x57, 0xa5, 0x75, 0x10, 0xf2, 0xbc, 0x2a, 0xb5, 0xa9, 0xb0, 0x63, + 0xaf, 0x4a, 0xfe, 0x5d, 0x16, 0xff, 0xc7, 0x42, 0x53, 0x50, 0x41, 0xe7, 0x85, 0xcc, 0x64, 0x7f, + 0x21, 0x2f, 0x64, 0x0e, 0x95, 0xe3, 0xe4, 0x47, 0x96, 0x24, 0xf8, 0x7d, 0x0b, 0x7f, 0x6f, 0x27, + 0x69, 0x11, 0x65, 0x76, 0x2f, 0xd1, 0xad, 0xe8, 0x1b, 0xe3, 0x47, 0xed, 0xbe, 0x08, 0xa9, 0x46, + 0x0f, 0xa2, 0x6f, 0xf7, 0xe2, 0x96, 0x43, 0xdf, 0xee, 0x41, 0x13, 0xa1, 0xaf, 0xb2, 0x64, 0x68, + 0x18, 0xf4, 0xf1, 0x9f, 0x2c, 0x54, 0x92, 0x3d, 0xb9, 0xfc, 0xd4, 0x89, 0x15, 0x48, 0x95, 0xcd, + 0xca, 0x9b, 0x34, 0xa4, 0x85, 0xdf, 0xc2, 0xdf, 0x2c, 0xfe, 0x39, 0x30, 0xbb, 0xa7, 0x7a, 0x05, + 0x60, 0x48, 0xdc, 0x16, 0x30, 0xec, 0x92, 0x49, 0x6f, 0x5f, 0xe7, 0xad, 0x9f, 0x5a, 0x68, 0x9f, + 0x51, 0xba, 0xe2, 0x73, 0xf9, 0xcf, 0x4f, 0xb2, 0xd2, 0xaf, 0x9e, 0x2f, 0x88, 0xde, 0xe5, 0x1b, + 0x6b, 0xfe, 0x09, 0x7f, 0x50, 0x9a, 0xfc, 0xd1, 0x42, 0xfb, 0xcd, 0x72, 0x1d, 0x17, 0x63, 0xa1, + 0xcf, 0xbf, 0x5e, 0x14, 0x0e, 0xac, 0x6f, 0x49, 0xd6, 0xef, 0xe3, 0x1b, 0xbb, 0x60, 0xcd, 0x34, + 0xed, 0x45, 0xe7, 0xf9, 0x8b, 0x9a, 0xf5, 0xf9, 0x8b, 0x9a, 0xf5, 0xcf, 0x17, 0x35, 0xeb, 0x27, + 0x2f, 0x6b, 0x7b, 0x3e, 0x7f, 0x59, 0xdb, 0xf3, 0xc5, 0xcb, 0xda, 0x9e, 0x8f, 0xae, 0x6e, 0x78, + 0x7c, 0xb3, 0xb3, 0x5e, 0x6f, 0x84, 0xad, 0x5c, 0x15, 0xdf, 0x31, 0x7e, 0xf3, 0x6e, 0x9b, 0xb2, + 0xf5, 0x49, 0xf9, 0xff, 0x1a, 0xe6, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x4d, 0xa9, 0xae, 0xab, + 0xd8, 0x23, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2300,6 +2489,10 @@ type QueryClient interface { Matches(ctx context.Context, in *QueryMatchesRequest, opts ...grpc.CallOption) (*QueryMatchesResponse, error) // Queries a list of Sets items. Sets(ctx context.Context, in *QuerySetsRequest, opts ...grpc.CallOption) (*QuerySetsResponse, error) + // Queries a list of CardContent items. + CardContent(ctx context.Context, in *QueryCardContentRequest, opts ...grpc.CallOption) (*QueryCardContentResponse, error) + // Queries a list of CardContents items. + CardContents(ctx context.Context, in *QueryCardContentsRequest, opts ...grpc.CallOption) (*QueryCardContentsResponse, error) } type queryClient struct { @@ -2499,6 +2692,24 @@ func (c *queryClient) Sets(ctx context.Context, in *QuerySetsRequest, opts ...gr return out, nil } +func (c *queryClient) CardContent(ctx context.Context, in *QueryCardContentRequest, opts ...grpc.CallOption) (*QueryCardContentResponse, error) { + out := new(QueryCardContentResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/CardContent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) CardContents(ctx context.Context, in *QueryCardContentsRequest, opts ...grpc.CallOption) (*QueryCardContentsResponse, error) { + out := new(QueryCardContentsResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/CardContents", 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. @@ -2542,6 +2753,10 @@ type QueryServer interface { Matches(context.Context, *QueryMatchesRequest) (*QueryMatchesResponse, error) // Queries a list of Sets items. Sets(context.Context, *QuerySetsRequest) (*QuerySetsResponse, error) + // Queries a list of CardContent items. + CardContent(context.Context, *QueryCardContentRequest) (*QueryCardContentResponse, error) + // Queries a list of CardContents items. + CardContents(context.Context, *QueryCardContentsRequest) (*QueryCardContentsResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -2611,6 +2826,12 @@ func (*UnimplementedQueryServer) Matches(ctx context.Context, req *QueryMatchesR func (*UnimplementedQueryServer) Sets(ctx context.Context, req *QuerySetsRequest) (*QuerySetsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Sets not implemented") } +func (*UnimplementedQueryServer) CardContent(ctx context.Context, req *QueryCardContentRequest) (*QueryCardContentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardContent not implemented") +} +func (*UnimplementedQueryServer) CardContents(ctx context.Context, req *QueryCardContentsRequest) (*QueryCardContentsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardContents not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -2994,6 +3215,42 @@ func _Query_Sets_Handler(srv interface{}, ctx context.Context, dec func(interfac return interceptor(ctx, in, info, handler) } +func _Query_CardContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCardContentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).CardContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/CardContent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).CardContent(ctx, req.(*QueryCardContentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_CardContents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryCardContentsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).CardContents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/CardContents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).CardContents(ctx, req.(*QueryCardContentsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -3083,6 +3340,14 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Sets", Handler: _Query_Sets_Handler, }, + { + MethodName: "CardContent", + Handler: _Query_CardContent_Handler, + }, + { + MethodName: "CardContents", + Handler: _Query_CardContents_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -4692,71 +4957,212 @@ func (m *QuerySetsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { 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++ +func (m *QueryCardContentRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *QueryParamsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n + +func (m *QueryCardContentRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryParamsResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryCardContentRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = m.Params.Size() - n += 1 + l + sovQuery(uint64(l)) - return n + if m.CardId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil } -func (m *QueryGetProductDetailsRequest) Size() (n int) { - if m == nil { - return 0 +func (m *QueryCardContentResponse) 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 *QueryCardContentResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryCardContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.Id != 0 { - n += 1 + sovQuery(uint64(m.Id)) + if m.CardContent != nil { + { + size, err := m.CardContent.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *QueryGetProductDetailsResponse) Size() (n int) { - if m == nil { - return 0 +func (m *QueryCardContentsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - l = m.ProductDetails.Size() - n += 1 + l + sovQuery(uint64(l)) - return n + return dAtA[:n], nil } -func (m *QueryAllProductDetailsRequest) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryCardContentsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryCardContentsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + if len(m.CardId) > 0 { + dAtA40 := make([]byte, len(m.CardId)*10) + var j39 int + for _, num := range m.CardId { + for num >= 1<<7 { + dAtA40[j39] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j39++ + } + dAtA40[j39] = uint8(num) + j39++ + } + i -= j39 + copy(dAtA[i:], dAtA40[:j39]) + i = encodeVarintQuery(dAtA, i, uint64(j39)) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil +} + +func (m *QueryCardContentsResponse) 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 *QueryCardContentsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryCardContentsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.CardContents) > 0 { + for iNdEx := len(m.CardContents) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.CardContents[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 *QueryGetProductDetailsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovQuery(uint64(m.Id)) + } + return n +} + +func (m *QueryGetProductDetailsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.ProductDetails.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryAllProductDetailsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n } func (m *QueryAllProductDetailsResponse) Size() (n int) { @@ -5352,6 +5758,62 @@ func (m *QuerySetsResponse) Size() (n int) { return n } +func (m *QueryCardContentRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovQuery(uint64(m.CardId)) + } + return n +} + +func (m *QueryCardContentResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardContent != nil { + l = m.CardContent.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryCardContentsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.CardId) > 0 { + l = 0 + for _, e := range m.CardId { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + return n +} + +func (m *QueryCardContentsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.CardContents) > 0 { + for _, e := range m.CardContents { + 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 } @@ -9732,6 +10194,371 @@ func (m *QuerySetsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryCardContentRequest) 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: QueryCardContentRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCardContentRequest: 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 ErrIntOverflowQuery + } + 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 := 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 *QueryCardContentResponse) 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: QueryCardContentResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCardContentResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CardContent", 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.CardContent == nil { + m.CardContent = &CardContent{} + } + if err := m.CardContent.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 *QueryCardContentsRequest) 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: QueryCardContentsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCardContentsRequest: 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 ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.CardId = append(m.CardId, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + 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.CardId) == 0 { + m.CardId = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.CardId = append(m.CardId, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + 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 *QueryCardContentsResponse) 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: QueryCardContentsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryCardContentsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CardContents", 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.CardContents = append(m.CardContents, &CardContent{}) + if err := m.CardContents[len(m.CardContents)-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 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 749156a4..2bb5e29d 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -1139,6 +1139,114 @@ func local_request_Query_Sets_0(ctx context.Context, marshaler runtime.Marshaler } +func request_Query_CardContent_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCardContentRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["cardId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardId") + } + + protoReq.CardId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardId", err) + } + + msg, err := client.CardContent(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_CardContent_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCardContentRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["cardId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardId") + } + + protoReq.CardId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardId", err) + } + + msg, err := server.CardContent(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_CardContents_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCardContentsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["cardId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardId") + } + + protoReq.CardId, err = runtime.Uint64Slice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardId", err) + } + + msg, err := client.CardContents(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_CardContents_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryCardContentsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["cardId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardId") + } + + protoReq.CardId, err = runtime.Uint64Slice(val, ",") + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardId", err) + } + + msg, err := server.CardContents(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. @@ -1628,6 +1736,52 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_CardContent_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_CardContent_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_CardContent_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_CardContents_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_CardContents_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_CardContents_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -2089,6 +2243,46 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_CardContent_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_CardContent_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_CardContent_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_CardContents_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_CardContents_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_CardContents_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -2134,6 +2328,10 @@ var ( pattern_Query_Matches_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"DecentralCardGame", "cardchain", "matches", "timestampDown", "timestampUp", "containsUsers", "reporter", "outcome", "cardsPlayed"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_Sets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"DecentralCardGame", "cardchain", "sets", "status", "contributors", "containsCards", "owner"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_CardContent_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "card_content", "cardId"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_CardContents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "card_contents", "cardId"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -2178,4 +2376,8 @@ var ( forward_Query_Matches_0 = runtime.ForwardResponseMessage forward_Query_Sets_0 = runtime.ForwardResponseMessage + + forward_Query_CardContent_0 = runtime.ForwardResponseMessage + + forward_Query_CardContents_0 = runtime.ForwardResponseMessage ) From 03f6fa714016b36c17b9ca3805fc78b086ca0a13 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 17:10:51 +0100 Subject: [PATCH 55/99] feat(#242): Added Card queries --- api/cardchain/cardchain/query.pulsar.go | 588 +++++++++++----------- proto/cardchain/cardchain/query.proto | 4 +- x/cardchain/keeper/query_card.go | 14 +- x/cardchain/keeper/query_card_content.go | 21 +- x/cardchain/keeper/query_card_contents.go | 13 +- x/cardchain/module/autocli.go | 4 +- x/cardchain/types/image.go | 11 + x/cardchain/types/query.pb.go | 335 ++++++------ x/cardchain/types/query.pb.gw.go | 44 +- 9 files changed, 528 insertions(+), 506 deletions(-) create mode 100644 x/cardchain/types/image.go diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 675573bb..4d078b4f 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -21461,7 +21461,7 @@ func (x *_QueryCardContentsRequest_1_list) Append(value protoreflect.Value) { } func (x *_QueryCardContentsRequest_1_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message QueryCardContentsRequest at list field CardId as it is not of Message kind")) + panic(fmt.Errorf("AppendMutable can not be called on message QueryCardContentsRequest at list field CardIds as it is not of Message kind")) } func (x *_QueryCardContentsRequest_1_list) Truncate(n int) { @@ -21478,14 +21478,14 @@ func (x *_QueryCardContentsRequest_1_list) IsValid() bool { } var ( - md_QueryCardContentsRequest protoreflect.MessageDescriptor - fd_QueryCardContentsRequest_cardId protoreflect.FieldDescriptor + md_QueryCardContentsRequest protoreflect.MessageDescriptor + fd_QueryCardContentsRequest_cardIds protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_query_proto_init() md_QueryCardContentsRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardContentsRequest") - fd_QueryCardContentsRequest_cardId = md_QueryCardContentsRequest.Fields().ByName("cardId") + fd_QueryCardContentsRequest_cardIds = md_QueryCardContentsRequest.Fields().ByName("cardIds") } var _ protoreflect.Message = (*fastReflection_QueryCardContentsRequest)(nil) @@ -21553,9 +21553,9 @@ func (x *fastReflection_QueryCardContentsRequest) Interface() protoreflect.Proto // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_QueryCardContentsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if len(x.CardId) != 0 { - value := protoreflect.ValueOfList(&_QueryCardContentsRequest_1_list{list: &x.CardId}) - if !f(fd_QueryCardContentsRequest_cardId, value) { + if len(x.CardIds) != 0 { + value := protoreflect.ValueOfList(&_QueryCardContentsRequest_1_list{list: &x.CardIds}) + if !f(fd_QueryCardContentsRequest_cardIds, value) { return } } @@ -21574,8 +21574,8 @@ func (x *fastReflection_QueryCardContentsRequest) Range(f func(protoreflect.Fiel // a repeated field is populated if it is non-empty. func (x *fastReflection_QueryCardContentsRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cardchain.cardchain.QueryCardContentsRequest.cardId": - return len(x.CardId) != 0 + case "cardchain.cardchain.QueryCardContentsRequest.cardIds": + return len(x.CardIds) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsRequest")) @@ -21592,8 +21592,8 @@ func (x *fastReflection_QueryCardContentsRequest) Has(fd protoreflect.FieldDescr // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryCardContentsRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cardchain.cardchain.QueryCardContentsRequest.cardId": - x.CardId = nil + case "cardchain.cardchain.QueryCardContentsRequest.cardIds": + x.CardIds = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsRequest")) @@ -21610,11 +21610,11 @@ func (x *fastReflection_QueryCardContentsRequest) Clear(fd protoreflect.FieldDes // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_QueryCardContentsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cardchain.cardchain.QueryCardContentsRequest.cardId": - if len(x.CardId) == 0 { + case "cardchain.cardchain.QueryCardContentsRequest.cardIds": + if len(x.CardIds) == 0 { return protoreflect.ValueOfList(&_QueryCardContentsRequest_1_list{}) } - listValue := &_QueryCardContentsRequest_1_list{list: &x.CardId} + listValue := &_QueryCardContentsRequest_1_list{list: &x.CardIds} return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { @@ -21636,10 +21636,10 @@ func (x *fastReflection_QueryCardContentsRequest) Get(descriptor protoreflect.Fi // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryCardContentsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cardchain.cardchain.QueryCardContentsRequest.cardId": + case "cardchain.cardchain.QueryCardContentsRequest.cardIds": lv := value.List() clv := lv.(*_QueryCardContentsRequest_1_list) - x.CardId = *clv.list + x.CardIds = *clv.list default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardContentsRequest")) @@ -21660,11 +21660,11 @@ func (x *fastReflection_QueryCardContentsRequest) Set(fd protoreflect.FieldDescr // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryCardContentsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QueryCardContentsRequest.cardId": - if x.CardId == nil { - x.CardId = []uint64{} + case "cardchain.cardchain.QueryCardContentsRequest.cardIds": + if x.CardIds == nil { + x.CardIds = []uint64{} } - value := &_QueryCardContentsRequest_1_list{list: &x.CardId} + value := &_QueryCardContentsRequest_1_list{list: &x.CardIds} return protoreflect.ValueOfList(value) default: if fd.IsExtension() { @@ -21679,7 +21679,7 @@ func (x *fastReflection_QueryCardContentsRequest) Mutable(fd protoreflect.FieldD // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_QueryCardContentsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QueryCardContentsRequest.cardId": + case "cardchain.cardchain.QueryCardContentsRequest.cardIds": list := []uint64{} return protoreflect.ValueOfList(&_QueryCardContentsRequest_1_list{list: &list}) default: @@ -21751,9 +21751,9 @@ func (x *fastReflection_QueryCardContentsRequest) ProtoMethods() *protoiface.Met var n int var l int _ = l - if len(x.CardId) > 0 { + if len(x.CardIds) > 0 { l = 0 - for _, e := range x.CardId { + for _, e := range x.CardIds { l += runtime.Sov(uint64(e)) } n += 1 + runtime.Sov(uint64(l)) + l @@ -21787,14 +21787,14 @@ func (x *fastReflection_QueryCardContentsRequest) ProtoMethods() *protoiface.Met i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.CardId) > 0 { + if len(x.CardIds) > 0 { var pksize2 int - for _, num := range x.CardId { + for _, num := range x.CardIds { pksize2 += runtime.Sov(uint64(num)) } i -= pksize2 j1 := i - for _, num := range x.CardId { + for _, num := range x.CardIds { for num >= 1<<7 { dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -21873,7 +21873,7 @@ func (x *fastReflection_QueryCardContentsRequest) ProtoMethods() *protoiface.Met break } } - x.CardId = append(x.CardId, v) + x.CardIds = append(x.CardIds, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -21908,8 +21908,8 @@ func (x *fastReflection_QueryCardContentsRequest) ProtoMethods() *protoiface.Met } } elementCount = count - if elementCount != 0 && len(x.CardId) == 0 { - x.CardId = make([]uint64, 0, elementCount) + if elementCount != 0 && len(x.CardIds) == 0 { + x.CardIds = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -21927,10 +21927,10 @@ func (x *fastReflection_QueryCardContentsRequest) ProtoMethods() *protoiface.Met break } } - x.CardId = append(x.CardId, v) + x.CardIds = append(x.CardIds, v) } } else { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardIds", wireType) } default: iNdEx = preIndex @@ -24184,7 +24184,7 @@ type QueryCardContentsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CardId []uint64 `protobuf:"varint,1,rep,packed,name=cardId,proto3" json:"cardId,omitempty"` + CardIds []uint64 `protobuf:"varint,1,rep,packed,name=cardIds,proto3" json:"cardIds,omitempty"` } func (x *QueryCardContentsRequest) Reset() { @@ -24207,9 +24207,9 @@ func (*QueryCardContentsRequest) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{44} } -func (x *QueryCardContentsRequest) GetCardId() []uint64 { +func (x *QueryCardContentsRequest) GetCardIds() []uint64 { if x != nil { - return x.CardId + return x.CardIds } return nil } @@ -24553,287 +24553,287 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x32, + 0x74, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x34, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x22, 0x61, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x44, 0x0a, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x32, 0x84, 0x20, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, - 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, + 0x64, 0x49, 0x64, 0x73, 0x22, 0x61, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, + 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x32, 0xfb, 0x1f, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, - 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, + 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, - 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, - 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, - 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, + 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, + 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, - 0xc4, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, - 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, + 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, - 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, + 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, + 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, + 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, + 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, + 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, + 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, - 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, + 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, + 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, + 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, - 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, - 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, - 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, - 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, + 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, - 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, - 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, - 0x6f, 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, - 0x70, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6f, - 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, 0x12, 0x25, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, - 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, + 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, + 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, + 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, + 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, + 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, + 0x7b, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x55, 0x70, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, + 0x65, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, + 0x7b, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, + 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x42, 0xd2, 0x01, 0x0a, - 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x7b, + 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0xab, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, + 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, + 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, + 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 3eb137fd..5f1c7db6 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -172,7 +172,7 @@ service Query { rpc CardContents(QueryCardContentsRequest) returns (QueryCardContentsResponse) { option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/card_contents/{cardId}"; + "/DecentralCardGame/cardchain/cardchain/card_contents"; } } // QueryParamsRequest is request type for the Query/Params RPC method. @@ -316,6 +316,6 @@ message QueryCardContentRequest { uint64 cardId = 1; } message QueryCardContentResponse { CardContent cardContent = 1; } -message QueryCardContentsRequest { repeated uint64 cardId = 1; } +message QueryCardContentsRequest { repeated uint64 cardIds = 1; } message QueryCardContentsResponse { repeated CardContent cardContents = 1; } diff --git a/x/cardchain/keeper/query_card.go b/x/cardchain/keeper/query_card.go index 0bcd8360..b0794cf7 100644 --- a/x/cardchain/keeper/query_card.go +++ b/x/cardchain/keeper/query_card.go @@ -3,8 +3,10 @@ package keeper import ( "context" + errorsmod "cosmossdk.io/errors" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -16,8 +18,14 @@ func (k Keeper) Card(goCtx context.Context, req *types.QueryCardRequest) (*types ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + card := k.cards.Get(ctx, req.CardId) + if card == nil { + return nil, errorsmod.Wrap(errors.ErrUnknownRequest, "cardId does not represent a card") + } + + image := k.images.Get(ctx, card.ImageId) - return &types.QueryCardResponse{}, nil + return &types.QueryCardResponse{Card: &types.CardWithImage{ + Card: card, Image: string(image.Image), Hash: image.GetHash(), + }}, nil } diff --git a/x/cardchain/keeper/query_card_content.go b/x/cardchain/keeper/query_card_content.go index a78f205c..4dbd8964 100644 --- a/x/cardchain/keeper/query_card_content.go +++ b/x/cardchain/keeper/query_card_content.go @@ -3,8 +3,10 @@ package keeper import ( "context" + errorsmod "cosmossdk.io/errors" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -16,8 +18,21 @@ func (k Keeper) CardContent(goCtx context.Context, req *types.QueryCardContentRe ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + cardContent, err := k.getCardContentFromId(ctx, req.CardId) - return &types.QueryCardContentResponse{}, nil + return &types.QueryCardContentResponse{CardContent: cardContent}, err +} + +func (k Keeper) getCardContentFromId(ctx sdk.Context, id uint64) (resp *types.CardContent, err error) { + card := k.cards.Get(ctx, id) + if card == nil { + return nil, errorsmod.Wrap(errors.ErrUnknownRequest, "cardId does not represent a card") + } + + image := k.images.Get(ctx, card.ImageId) + + return &types.CardContent{ + Content: string(card.Content), + Hash: image.GetHash(), + }, nil } diff --git a/x/cardchain/keeper/query_card_contents.go b/x/cardchain/keeper/query_card_contents.go index 0d2e933c..df87069e 100644 --- a/x/cardchain/keeper/query_card_contents.go +++ b/x/cardchain/keeper/query_card_contents.go @@ -16,8 +16,15 @@ func (k Keeper) CardContents(goCtx context.Context, req *types.QueryCardContents ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + var contents []*types.CardContent - return &types.QueryCardContentsResponse{}, nil + for _, cardId := range req.CardIds { + resp, err := k.getCardContentFromId(ctx, cardId) + if err != nil { + return nil, err + } + contents = append(contents, resp) + } + + return &types.QueryCardContentsResponse{CardContents: contents}, nil } diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index ab6b0b12..d081430a 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -163,9 +163,9 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { { RpcMethod: "CardContents", - Use: "card-contents [card-id]", + Use: "card-contents [card-ids]", Short: "Query cardContents", - PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}}, + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardIds"}}, }, // this line is used by ignite scaffolding # autocli/query diff --git a/x/cardchain/types/image.go b/x/cardchain/types/image.go new file mode 100644 index 00000000..eb58a1c0 --- /dev/null +++ b/x/cardchain/types/image.go @@ -0,0 +1,11 @@ +package types + +import ( + "crypto/md5" + "encoding/hex" +) + +func (i Image) GetHash() string { + sum := md5.Sum(i.Image) + return hex.EncodeToString(sum[:]) +} diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 00654c0a..a627f79b 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -2140,7 +2140,7 @@ func (m *QueryCardContentResponse) GetCardContent() *CardContent { } type QueryCardContentsRequest struct { - CardId []uint64 `protobuf:"varint,1,rep,packed,name=cardId,proto3" json:"cardId,omitempty"` + CardIds []uint64 `protobuf:"varint,1,rep,packed,name=cardIds,proto3" json:"cardIds,omitempty"` } func (m *QueryCardContentsRequest) Reset() { *m = QueryCardContentsRequest{} } @@ -2176,9 +2176,9 @@ func (m *QueryCardContentsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryCardContentsRequest proto.InternalMessageInfo -func (m *QueryCardContentsRequest) GetCardId() []uint64 { +func (m *QueryCardContentsRequest) GetCardIds() []uint64 { if m != nil { - return m.CardId + return m.CardIds } return nil } @@ -2279,161 +2279,160 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2452 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x5a, 0xcf, 0x8f, 0x1c, 0x47, - 0xf5, 0x77, 0xef, 0xce, 0xee, 0x7a, 0xca, 0x3f, 0x62, 0x97, 0x9d, 0x7c, 0x27, 0x13, 0x7b, 0xbc, - 0xae, 0x38, 0xf6, 0xc6, 0xb1, 0xa7, 0xe3, 0x5d, 0xff, 0x5a, 0xc7, 0x76, 0xb2, 0x3f, 0x6c, 0x7f, - 0x8d, 0xb1, 0xbd, 0xe9, 0xc5, 0x46, 0x04, 0xc1, 0xaa, 0x77, 0xa6, 0xbc, 0xdb, 0x72, 0x4f, 0xf7, - 0xa4, 0xab, 0xc6, 0xcb, 0x30, 0x1a, 0x21, 0x10, 0x07, 0x4e, 0x08, 0x11, 0x84, 0xb8, 0x20, 0x21, - 0x4e, 0x08, 0x81, 0xc8, 0x81, 0x13, 0x8a, 0x38, 0x21, 0xe4, 0x63, 0x10, 0x97, 0x9c, 0x10, 0xb2, - 0x91, 0x10, 0x7f, 0x02, 0x37, 0x54, 0x55, 0xaf, 0x6b, 0xaa, 0x67, 0xba, 0x7b, 0x7b, 0x37, 0x17, - 0x6b, 0xaa, 0xea, 0xf3, 0xea, 0x7d, 0x5e, 0xd5, 0xeb, 0x7a, 0x3f, 0xd6, 0xe8, 0x44, 0xc3, 0x8d, - 0x9a, 0x8d, 0x4d, 0xd7, 0x0b, 0xec, 0xc1, 0xaf, 0x8f, 0x3b, 0x34, 0xea, 0xd6, 0xdb, 0x51, 0xc8, - 0x43, 0x7c, 0x44, 0x4f, 0xd7, 0xf5, 0xaf, 0xea, 0x61, 0xb7, 0xe5, 0x05, 0xa1, 0x2d, 0xff, 0x55, - 0xb8, 0xea, 0xd1, 0x8d, 0x70, 0x23, 0x94, 0x3f, 0x6d, 0xf1, 0x0b, 0x66, 0x8f, 0x6d, 0x84, 0xe1, - 0x86, 0x4f, 0x6d, 0xb7, 0xed, 0xd9, 0x6e, 0x10, 0x84, 0xdc, 0xe5, 0x5e, 0x18, 0x30, 0x58, 0x3d, - 0xdb, 0x08, 0x59, 0x2b, 0x64, 0xf6, 0xba, 0xcb, 0xa8, 0x52, 0x6a, 0x3f, 0xbb, 0xb0, 0x4e, 0xb9, - 0x7b, 0xc1, 0x6e, 0xbb, 0x1b, 0x5e, 0x20, 0xc1, 0x80, 0x9d, 0x4e, 0x23, 0xda, 0x76, 0x23, 0xb7, - 0x15, 0xef, 0xf6, 0x76, 0x2a, 0x22, 0x0a, 0x9b, 0x9d, 0x06, 0x5f, 0x6b, 0x52, 0xee, 0x7a, 0x7e, - 0x2e, 0x54, 0xfc, 0x5a, 0xdb, 0xf2, 0xf8, 0xe6, 0x9a, 0xd7, 0x72, 0x37, 0x28, 0x40, 0x6b, 0x69, - 0xd0, 0x0e, 0xa3, 0x51, 0xde, 0xba, 0xf8, 0x05, 0xeb, 0xa9, 0x07, 0xdc, 0x72, 0x79, 0x63, 0x13, - 0x00, 0xc7, 0xd3, 0x00, 0x8c, 0x72, 0x7d, 0x46, 0xe9, 0xcb, 0x8a, 0xa9, 0x1b, 0xf1, 0xad, 0x30, - 0x7a, 0x0a, 0xd8, 0x53, 0xe9, 0x58, 0xdf, 0x5f, 0x0b, 0x9f, 0x3c, 0xd1, 0x8c, 0x4f, 0xa6, 0x32, - 0x0e, 0x3b, 0x41, 0xc3, 0xf3, 0xf3, 0x0e, 0x9b, 0xd1, 0xe8, 0x99, 0xde, 0xe4, 0xcd, 0x34, 0x04, - 0x0d, 0xc4, 0x36, 0x5c, 0x83, 0xea, 0xb9, 0xa0, 0xb4, 0xb3, 0x36, 0xfc, 0x21, 0xf6, 0x84, 0x46, - 0xe8, 0xc5, 0x3e, 0x30, 0x93, 0xb6, 0xdf, 0xb3, 0x90, 0x7b, 0xc1, 0xc6, 0x5a, 0x44, 0x59, 0xc7, - 0xe7, 0xf1, 0x05, 0x9f, 0xce, 0xbc, 0xe0, 0x46, 0x18, 0x70, 0x1a, 0xc0, 0xe9, 0x92, 0xa3, 0x08, - 0x7f, 0x28, 0xfc, 0x6e, 0x45, 0x3a, 0x92, 0x43, 0x3f, 0xee, 0x50, 0xc6, 0xc9, 0x23, 0x74, 0x24, - 0x31, 0xcb, 0xda, 0x61, 0xc0, 0x28, 0xbe, 0x89, 0x26, 0x95, 0xc3, 0x55, 0xac, 0x69, 0x6b, 0x66, - 0xdf, 0xec, 0x1b, 0xf5, 0x94, 0x6f, 0xa3, 0xae, 0x84, 0x16, 0xcb, 0xcf, 0xff, 0x71, 0x62, 0xcf, - 0x6f, 0xfe, 0xfd, 0xe9, 0x59, 0xcb, 0x01, 0x29, 0x62, 0xa3, 0xe3, 0x72, 0xdb, 0x3b, 0x94, 0xaf, - 0x28, 0xb7, 0x5c, 0x56, 0x5e, 0x09, 0x7a, 0xf1, 0x41, 0x34, 0xe6, 0x35, 0xe5, 0xe6, 0x25, 0x67, - 0xcc, 0x6b, 0x12, 0x86, 0x6a, 0x59, 0x02, 0x40, 0xe9, 0x43, 0x74, 0x30, 0xb9, 0x02, 0xd4, 0xde, - 0x4c, 0xa7, 0x96, 0x80, 0x2e, 0x96, 0x04, 0x45, 0x67, 0x68, 0x03, 0xb2, 0x01, 0x2c, 0x17, 0x7c, - 0x3f, 0x9d, 0xe5, 0x6d, 0x84, 0x06, 0x5f, 0x27, 0xe8, 0x3b, 0x5d, 0x57, 0x57, 0x57, 0x17, 0x57, - 0x57, 0x57, 0xef, 0x07, 0x5c, 0x60, 0x7d, 0xc5, 0xdd, 0xa0, 0x20, 0xeb, 0x18, 0x92, 0xe4, 0x33, - 0x0b, 0xcc, 0x4b, 0xd1, 0x94, 0x63, 0xde, 0xf8, 0x97, 0x32, 0x0f, 0xdf, 0x49, 0xb0, 0x1f, 0x93, - 0xec, 0xcf, 0x6c, 0xcb, 0x5e, 0xf1, 0x49, 0xd0, 0x3f, 0x8b, 0x0e, 0x49, 0xf6, 0x4b, 0x6e, 0xd4, - 0x8c, 0x8f, 0xe6, 0x35, 0x34, 0x29, 0xe8, 0xdc, 0x8d, 0x2f, 0x11, 0x46, 0xe4, 0x1e, 0x3a, 0x6c, - 0x60, 0xc1, 0xb8, 0xcb, 0xa8, 0x24, 0x96, 0xe1, 0x04, 0x49, 0xaa, 0x49, 0x42, 0xe0, 0xeb, 0x1e, - 0xdf, 0xbc, 0x2b, 0xbe, 0x12, 0x47, 0xe2, 0xc9, 0x39, 0x50, 0xfc, 0x88, 0xd1, 0x28, 0x56, 0x5c, - 0x41, 0x53, 0x6e, 0xb3, 0x19, 0x51, 0xa6, 0x1c, 0xa0, 0xec, 0xc4, 0x43, 0xb2, 0x08, 0xaa, 0x15, - 0x1a, 0x54, 0x9f, 0x47, 0x25, 0xf1, 0x84, 0x81, 0xea, 0xd7, 0x53, 0x55, 0x4b, 0x01, 0x09, 0x23, - 0xbf, 0x2a, 0x19, 0xfc, 0xb5, 0x1f, 0x1c, 0x45, 0x13, 0xe1, 0x56, 0x00, 0xbb, 0x94, 0x1d, 0x35, - 0xc0, 0x57, 0xd0, 0x24, 0xe3, 0x2e, 0xef, 0xb0, 0xca, 0xd8, 0xf4, 0xf8, 0xcc, 0xc1, 0xd9, 0x13, - 0x99, 0x76, 0xad, 0x4a, 0x98, 0x03, 0x70, 0x3c, 0x8f, 0xf6, 0x8a, 0xf5, 0xaf, 0x75, 0xdb, 0xb4, - 0x32, 0x2e, 0x45, 0x8f, 0x67, 0x8a, 0x0a, 0x90, 0xa3, 0xe1, 0xf8, 0x22, 0x9a, 0x68, 0xf8, 0x2e, - 0x63, 0x95, 0x92, 0x94, 0xab, 0x65, 0xca, 0x2d, 0x09, 0x94, 0xa3, 0xc0, 0xe2, 0xb2, 0x58, 0x18, - 0xf1, 0xc5, 0x6e, 0x65, 0x42, 0x1a, 0x00, 0x23, 0x4c, 0xd0, 0xfe, 0xc0, 0x6d, 0xd1, 0xa5, 0x30, - 0xe0, 0xae, 0x17, 0xb0, 0xca, 0xa4, 0x5c, 0x4d, 0xcc, 0xe1, 0xb3, 0xe8, 0xd0, 0x53, 0xda, 0xdd, - 0x0a, 0xa3, 0x26, 0xd3, 0xb8, 0x29, 0x89, 0x1b, 0x99, 0xc7, 0xa7, 0xd0, 0x81, 0x20, 0xe4, 0x74, - 0x00, 0xdc, 0x2b, 0x81, 0xc9, 0x49, 0x3c, 0x83, 0x5e, 0x09, 0x03, 0xbf, 0xbb, 0xca, 0xdd, 0x88, - 0xd3, 0x48, 0x90, 0xad, 0x94, 0xa7, 0xad, 0x99, 0xbd, 0xce, 0xf0, 0x34, 0xae, 0x23, 0x2c, 0xa6, - 0x16, 0x5d, 0xdf, 0x0d, 0x1a, 0x74, 0x21, 0x68, 0x6c, 0x86, 0x11, 0xab, 0x20, 0x09, 0x4e, 0x59, - 0xc1, 0xef, 0xa1, 0xbd, 0x91, 0x1b, 0x79, 0xdc, 0xa3, 0xac, 0xb2, 0x6f, 0x9b, 0x3b, 0x71, 0x04, - 0xb0, 0xeb, 0x68, 0x01, 0x7c, 0x1a, 0x1d, 0x6c, 0x75, 0x7c, 0xee, 0xc9, 0x93, 0x7b, 0x18, 0xf8, - 0xdd, 0xca, 0x7e, 0xa9, 0x68, 0x68, 0x96, 0xd4, 0xe1, 0x21, 0x05, 0x0f, 0x01, 0x3f, 0xab, 0xa0, - 0x29, 0xf5, 0x05, 0xa8, 0x0f, 0xb7, 0xe4, 0xc4, 0x43, 0x72, 0x1e, 0x3c, 0xea, 0xbe, 0x88, 0x84, - 0x86, 0x17, 0xcb, 0xc8, 0xa8, 0xbf, 0x9f, 0x78, 0x48, 0x6e, 0xc3, 0xf6, 0x00, 0x87, 0xed, 0xdf, - 0x45, 0x13, 0x12, 0x00, 0x7e, 0x5c, 0x4d, 0x35, 0x4b, 0x89, 0x28, 0x20, 0x39, 0x83, 0x5e, 0x91, - 0xfb, 0xac, 0x52, 0x6e, 0xb8, 0x31, 0xa3, 0x5c, 0xab, 0x54, 0x03, 0x72, 0x1f, 0x3e, 0x32, 0x09, - 0x04, 0x75, 0xf3, 0x49, 0x75, 0xe9, 0x8f, 0xd0, 0x2a, 0xe5, 0xe2, 0x83, 0x5d, 0x50, 0x81, 0x39, - 0xd6, 0x3b, 0x8f, 0x5e, 0x85, 0xed, 0x7c, 0xff, 0xa1, 0x88, 0xc5, 0xb1, 0xf6, 0x69, 0xb4, 0x8f, - 0xc5, 0x73, 0x9a, 0x83, 0x39, 0x45, 0x1e, 0xa3, 0xd7, 0x86, 0x45, 0x81, 0xcf, 0x75, 0x54, 0xd6, - 0x40, 0xe0, 0x54, 0xcb, 0xe0, 0x14, 0x8b, 0x0e, 0x04, 0xc8, 0x1c, 0x04, 0xb9, 0x25, 0x15, 0xf9, - 0x63, 0x42, 0xc7, 0x50, 0x19, 0x72, 0x01, 0x4d, 0x67, 0x30, 0x41, 0x1e, 0xa0, 0xa3, 0x49, 0x21, - 0xfd, 0x96, 0x4d, 0x01, 0x08, 0x88, 0x1c, 0x4b, 0x77, 0x31, 0x10, 0x8b, 0xc1, 0xe4, 0x5d, 0xb8, - 0xd7, 0x55, 0x99, 0x5b, 0xc4, 0x1c, 0xaa, 0x68, 0xaf, 0x4a, 0x36, 0x34, 0x05, 0x3d, 0x26, 0x5f, - 0x01, 0xda, 0xb1, 0x04, 0x10, 0x98, 0x43, 0x93, 0x0a, 0x92, 0x1b, 0x9b, 0x41, 0x08, 0xa0, 0xfa, - 0x56, 0x6e, 0xc5, 0x29, 0x89, 0x71, 0x2b, 0x3a, 0x4d, 0x19, 0xdc, 0x8a, 0x31, 0xa5, 0x6f, 0xc5, - 0x10, 0x1d, 0xdc, 0x8a, 0x06, 0xe6, 0xde, 0xca, 0x40, 0x74, 0x20, 0x40, 0x2a, 0xc3, 0xfb, 0xea, - 0xa4, 0xe4, 0x1b, 0xe8, 0xff, 0x46, 0x56, 0x74, 0x62, 0x82, 0xf4, 0x0e, 0x71, 0x88, 0xdc, 0x4e, - 0xa7, 0x21, 0x41, 0xa6, 0x21, 0x10, 0xeb, 0xd5, 0x41, 0xc8, 0x01, 0xe5, 0x9b, 0xe8, 0x44, 0x26, - 0x02, 0x48, 0xdc, 0x1a, 0xb5, 0xfb, 0x4c, 0x3e, 0x87, 0xc1, 0x1e, 0xc6, 0x01, 0x9c, 0x1c, 0xd6, - 0xc4, 0x46, 0xc8, 0x3c, 0x45, 0xd3, 0xd9, 0x10, 0x60, 0x73, 0x27, 0xe5, 0x48, 0x0a, 0xd3, 0x31, - 0xcf, 0xe6, 0x0d, 0xf4, 0xba, 0x7e, 0xd8, 0xa4, 0xc0, 0xdd, 0xe0, 0x49, 0x18, 0x33, 0xf9, 0xdb, - 0x18, 0xaa, 0xa6, 0xad, 0x02, 0x89, 0x7b, 0xe8, 0x90, 0xd0, 0xb3, 0xd0, 0x69, 0x88, 0x8c, 0x61, - 0x25, 0xf2, 0x1a, 0x74, 0x10, 0x72, 0x8d, 0x8c, 0x23, 0xce, 0x35, 0x96, 0x42, 0x2f, 0x80, 0xb4, - 0x65, 0x44, 0x10, 0xd7, 0x10, 0x72, 0x1b, 0xdc, 0x7b, 0x46, 0x57, 0x29, 0x57, 0xc1, 0xb5, 0xe4, - 0x18, 0x33, 0xc2, 0x67, 0x85, 0x0c, 0x7b, 0xd0, 0x69, 0xad, 0xd3, 0xa8, 0x32, 0xae, 0x7c, 0xd6, - 0x98, 0x12, 0x81, 0x48, 0xbe, 0x46, 0x34, 0xc6, 0x94, 0x24, 0x26, 0x39, 0x29, 0x42, 0x9b, 0x7e, - 0x24, 0x62, 0xe0, 0x84, 0x04, 0x8e, 0xcc, 0x8b, 0xe8, 0x00, 0x5f, 0x72, 0x8c, 0x9c, 0x94, 0xc8, - 0xa1, 0x59, 0xb1, 0xa7, 0xef, 0x32, 0x2e, 0x4e, 0xe9, 0x7e, 0xd8, 0xf4, 0x9e, 0x78, 0xb4, 0x29, - 0xc3, 0x65, 0xc9, 0x19, 0x99, 0x27, 0xf3, 0xe8, 0xa4, 0x7e, 0x79, 0x65, 0x34, 0x5a, 0xf6, 0x18, - 0x8f, 0xbc, 0xf5, 0x8e, 0x38, 0x8a, 0xd4, 0x47, 0xbb, 0x1c, 0x3f, 0xda, 0x8f, 0x11, 0xc9, 0x13, - 0x35, 0x82, 0x52, 0x27, 0x8a, 0x68, 0xc0, 0x75, 0x50, 0x52, 0x43, 0x91, 0x11, 0x6c, 0xb9, 0x01, - 0xa7, 0x4d, 0x38, 0x5e, 0x18, 0x91, 0xab, 0xe8, 0x98, 0x4a, 0x54, 0x1b, 0xd2, 0x2d, 0x6e, 0x47, - 0x61, 0xeb, 0x23, 0xea, 0xfa, 0x5d, 0x23, 0x6e, 0x7d, 0x57, 0x8c, 0x35, 0x9f, 0x78, 0x48, 0xe6, - 0xe3, 0x64, 0x7a, 0x44, 0x72, 0x40, 0x26, 0x23, 0x71, 0x8b, 0x1d, 0xef, 0xb1, 0xac, 0x6f, 0x1c, - 0x55, 0xde, 0xc4, 0x8e, 0x17, 0x80, 0xdf, 0x0d, 0x2d, 0xc2, 0xa6, 0x2b, 0xe8, 0xb0, 0x38, 0xd6, - 0xc4, 0x62, 0x6e, 0x9a, 0x99, 0xdc, 0x66, 0x54, 0x98, 0xfc, 0xd7, 0x82, 0x67, 0xf7, 0xbe, 0xf2, - 0x95, 0xd8, 0xf2, 0x53, 0xe8, 0x00, 0xf7, 0x5a, 0x94, 0x71, 0xb7, 0xd5, 0x5e, 0x0e, 0xb7, 0x02, - 0x78, 0x2a, 0x93, 0x93, 0xc2, 0x35, 0xf5, 0xc4, 0xa3, 0xb6, 0x4c, 0xba, 0x4b, 0x8e, 0x39, 0x25, - 0xf6, 0x69, 0x40, 0x26, 0x24, 0xf2, 0x4e, 0x26, 0x33, 0xc0, 0xb2, 0x93, 0x9c, 0x14, 0x71, 0x21, - 0xa2, 0xed, 0x50, 0x64, 0x42, 0xd2, 0x77, 0xcb, 0x8e, 0x1e, 0x8b, 0x08, 0x14, 0x76, 0x78, 0x23, - 0x6c, 0x51, 0xe9, 0xad, 0x07, 0x33, 0x22, 0xd0, 0x43, 0x85, 0x71, 0x62, 0xb0, 0xfe, 0x6c, 0x56, - 0x7c, 0xb7, 0x4b, 0x9b, 0x95, 0x49, 0x79, 0xf1, 0xe6, 0x14, 0xf9, 0x2a, 0xc4, 0x3c, 0x6d, 0x3a, - 0x9c, 0xf2, 0x45, 0xc8, 0x56, 0x68, 0xfc, 0xbe, 0xe4, 0xe5, 0x1f, 0x31, 0x94, 0xfc, 0xd6, 0x1a, - 0x64, 0x16, 0xfa, 0x18, 0x2f, 0xeb, 0xa4, 0xd9, 0x92, 0xdc, 0xb3, 0xc2, 0x38, 0x1f, 0xca, 0x99, - 0x09, 0xda, 0x2f, 0x4e, 0x48, 0xba, 0xb8, 0x48, 0x02, 0xc7, 0xe4, 0xa9, 0x25, 0xe6, 0xcc, 0xa3, - 0x95, 0xc9, 0x99, 0x3c, 0xda, 0x92, 0x93, 0x9c, 0x1c, 0x24, 0xf3, 0x25, 0x23, 0x99, 0x27, 0xef, - 0x40, 0x96, 0xa6, 0xb8, 0x82, 0xdd, 0x22, 0x6f, 0x16, 0x9f, 0x5b, 0x9c, 0xd3, 0xc1, 0x88, 0x5c, - 0x80, 0x00, 0x25, 0x13, 0x6d, 0x55, 0x65, 0x6f, 0x57, 0x17, 0x7d, 0x1b, 0x55, 0x46, 0x45, 0x40, - 0xcd, 0xa2, 0xba, 0x18, 0x98, 0x06, 0xf7, 0x9d, 0xce, 0x4e, 0xed, 0x41, 0xdc, 0x14, 0x22, 0xb3, - 0xa3, 0xfb, 0xb3, 0x34, 0x4e, 0xe3, 0x06, 0x27, 0xd7, 0x78, 0xf0, 0x07, 0x32, 0x40, 0x6a, 0x19, - 0xed, 0x37, 0xf6, 0x8f, 0x2f, 0x7e, 0x7b, 0x56, 0x09, 0xa9, 0xd9, 0x1f, 0x4e, 0xa3, 0x09, 0xa9, - 0x03, 0xff, 0xd4, 0x42, 0x93, 0xaa, 0x61, 0x80, 0xd3, 0xa3, 0xd3, 0x68, 0x77, 0xa2, 0x3a, 0xb3, - 0x3d, 0x50, 0xb1, 0x25, 0x97, 0x7e, 0xf0, 0xf7, 0x7f, 0x7d, 0x32, 0x66, 0xe3, 0xf3, 0xf6, 0x32, - 0x6d, 0xd0, 0x80, 0x47, 0xae, 0x2f, 0x48, 0xdd, 0x71, 0x5b, 0xd4, 0xce, 0x6e, 0xa7, 0xe1, 0x3f, - 0x5b, 0xc3, 0x65, 0x37, 0x9e, 0xcd, 0xd6, 0x99, 0xd5, 0xcd, 0xa8, 0xce, 0xed, 0x48, 0x06, 0x28, - 0x2f, 0x49, 0xca, 0x37, 0xf0, 0x7b, 0x45, 0x29, 0x27, 0xfb, 0x7b, 0x76, 0xcf, 0x6b, 0xf6, 0xf1, - 0x67, 0x16, 0x3a, 0x9c, 0xdc, 0x7f, 0xc1, 0xf7, 0xf3, 0x6c, 0xc8, 0xea, 0x75, 0xe4, 0xd9, 0x90, - 0xd9, 0xb5, 0x20, 0x37, 0xa5, 0x0d, 0x57, 0xf1, 0xe5, 0xdd, 0xd9, 0x80, 0x3f, 0xb1, 0x50, 0x49, - 0x56, 0x7a, 0x6f, 0x65, 0x6b, 0x37, 0xba, 0x0e, 0xd5, 0xd3, 0xdb, 0xc1, 0x80, 0xd7, 0x75, 0xc9, - 0xeb, 0x32, 0xbe, 0x58, 0x90, 0x97, 0xf8, 0x65, 0xf7, 0xd4, 0x67, 0xd1, 0xc7, 0x3f, 0xb3, 0x50, - 0x49, 0x3c, 0xc3, 0x79, 0xac, 0x8c, 0x96, 0x44, 0x1e, 0x2b, 0xb3, 0x17, 0x41, 0x6e, 0x48, 0x56, - 0x57, 0xf0, 0xa5, 0x82, 0xac, 0x3a, 0x8c, 0x46, 0x76, 0x0f, 0xa2, 0x64, 0x1f, 0xff, 0xdc, 0x42, - 0x13, 0xea, 0x09, 0xdb, 0xe6, 0x18, 0xf4, 0x9d, 0x9e, 0xd9, 0x16, 0xf7, 0x25, 0xce, 0x8b, 0xd9, - 0x3d, 0xf9, 0x74, 0xf6, 0xf1, 0x2f, 0x2c, 0x34, 0x21, 0xdf, 0xfe, 0x3c, 0x62, 0x66, 0xf9, 0x9b, - 0x47, 0x2c, 0x51, 0xf7, 0xee, 0xd8, 0xc1, 0x64, 0xec, 0xb1, 0x7b, 0x50, 0x4c, 0xf7, 0xf1, 0x8f, - 0x2d, 0x34, 0xbe, 0x4a, 0x39, 0x3e, 0x95, 0xad, 0x70, 0x50, 0x20, 0x57, 0xdf, 0xda, 0x06, 0x05, - 0xa4, 0xae, 0x49, 0x52, 0x17, 0xf1, 0x6c, 0x41, 0x52, 0x8c, 0x72, 0xbb, 0x27, 0x43, 0x47, 0x1f, - 0xff, 0xde, 0x42, 0x65, 0x5d, 0xa4, 0xe2, 0xb3, 0x79, 0x0a, 0x93, 0xf5, 0x73, 0xf5, 0x9d, 0x42, - 0x58, 0xa0, 0x78, 0x47, 0x52, 0x5c, 0xc0, 0xef, 0x17, 0xa6, 0x18, 0xb7, 0xce, 0x05, 0x53, 0x5d, - 0x92, 0xf7, 0xf1, 0xaf, 0x2d, 0x34, 0x05, 0xb5, 0x2c, 0xce, 0x79, 0x8e, 0x93, 0xa5, 0x75, 0xf5, - 0xed, 0x02, 0x48, 0x60, 0xba, 0x28, 0x99, 0x5e, 0xc7, 0xd7, 0x8a, 0xba, 0x9e, 0x92, 0xb7, 0x7b, - 0xba, 0x54, 0xef, 0xe3, 0x5f, 0x5a, 0x68, 0x52, 0x15, 0xbc, 0x79, 0xb1, 0x25, 0x51, 0x79, 0xe7, - 0xc5, 0x96, 0x64, 0xc1, 0x4d, 0x3e, 0x90, 0x0c, 0xaf, 0xe1, 0xab, 0x85, 0xcf, 0x52, 0x88, 0x8b, - 0x73, 0x54, 0x85, 0x7c, 0x1f, 0xff, 0xce, 0x42, 0x65, 0x5d, 0x7c, 0xe5, 0x5d, 0xfa, 0x70, 0x79, - 0x9e, 0x77, 0xe9, 0x23, 0xf5, 0x38, 0xb9, 0x2d, 0x89, 0x7e, 0x80, 0x6f, 0x16, 0x24, 0xaa, 0x6b, - 0x3f, 0xbb, 0x67, 0x14, 0xfc, 0xf2, 0xce, 0xd1, 0xa0, 0xe2, 0xc4, 0x45, 0x38, 0xe8, 0x27, 0xe7, - 0x5c, 0x31, 0x30, 0x30, 0x9e, 0x97, 0x8c, 0xe7, 0xf0, 0x85, 0x9d, 0x32, 0x66, 0xf8, 0x2f, 0x16, - 0xc2, 0xa3, 0x05, 0x2d, 0x9e, 0x2b, 0xa0, 0x7f, 0xb8, 0xcc, 0xae, 0x5e, 0xdc, 0x99, 0xd0, 0x2e, - 0x03, 0x78, 0xda, 0x9f, 0x83, 0xf0, 0x73, 0x0b, 0x1d, 0x49, 0xa9, 0xee, 0x71, 0x11, 0x4a, 0x23, - 0xfd, 0x82, 0xea, 0xa5, 0x1d, 0x4a, 0x81, 0x25, 0xcb, 0xd2, 0x92, 0x9b, 0xf8, 0xfa, 0x8e, 0xaf, - 0xc1, 0x34, 0xe5, 0x0f, 0x16, 0x3a, 0x90, 0xe8, 0x0e, 0xe0, 0x7a, 0x7e, 0xfc, 0x19, 0x6e, 0x32, - 0x54, 0xed, 0xc2, 0xf8, 0x5d, 0x46, 0x54, 0xfd, 0x6b, 0xcd, 0x13, 0xfc, 0xbe, 0xb0, 0xd0, 0xab, - 0xa9, 0x15, 0x34, 0xbe, 0x9c, 0x1f, 0x09, 0xb2, 0xaa, 0xf5, 0xea, 0x95, 0x1d, 0xcb, 0x81, 0x25, - 0x0f, 0xa4, 0x25, 0xff, 0x8f, 0x6f, 0x17, 0x8f, 0x29, 0x6b, 0xb2, 0x75, 0xdd, 0x5d, 0x6b, 0x1a, - 0xfb, 0xe9, 0x38, 0xf3, 0x57, 0x0b, 0x1d, 0x1a, 0x2e, 0xc5, 0xf1, 0x85, 0x9c, 0x1c, 0x2f, 0xbd, - 0xe0, 0xaf, 0xce, 0xee, 0x44, 0x04, 0x6c, 0xb9, 0x27, 0x6d, 0xb9, 0x85, 0x97, 0x0a, 0xda, 0xe2, - 0xaa, 0x8d, 0xd6, 0x9e, 0x44, 0x61, 0x6b, 0x4d, 0xf6, 0x13, 0xec, 0x1e, 0xb4, 0x15, 0xfa, 0xd2, - 0xab, 0x12, 0x15, 0x7a, 0x9e, 0x57, 0xa5, 0x75, 0x10, 0xf2, 0xbc, 0x2a, 0xb5, 0xa9, 0xb0, 0x63, - 0xaf, 0x4a, 0xfe, 0x5d, 0x16, 0xff, 0xc7, 0x42, 0x53, 0x50, 0x41, 0xe7, 0x85, 0xcc, 0x64, 0x7f, - 0x21, 0x2f, 0x64, 0x0e, 0x95, 0xe3, 0xe4, 0x47, 0x96, 0x24, 0xf8, 0x7d, 0x0b, 0x7f, 0x6f, 0x27, - 0x69, 0x11, 0x65, 0x76, 0x2f, 0xd1, 0xad, 0xe8, 0x1b, 0xe3, 0x47, 0xed, 0xbe, 0x08, 0xa9, 0x46, - 0x0f, 0xa2, 0x6f, 0xf7, 0xe2, 0x96, 0x43, 0xdf, 0xee, 0x41, 0x13, 0xa1, 0xaf, 0xb2, 0x64, 0x68, - 0x18, 0xf4, 0xf1, 0x9f, 0x2c, 0x54, 0x92, 0x3d, 0xb9, 0xfc, 0xd4, 0x89, 0x15, 0x48, 0x95, 0xcd, - 0xca, 0x9b, 0x34, 0xa4, 0x85, 0xdf, 0xc2, 0xdf, 0x2c, 0xfe, 0x39, 0x30, 0xbb, 0xa7, 0x7a, 0x05, - 0x60, 0x48, 0xdc, 0x16, 0x30, 0xec, 0x92, 0x49, 0x6f, 0x5f, 0xe7, 0xad, 0x9f, 0x5a, 0x68, 0x9f, - 0x51, 0xba, 0xe2, 0x73, 0xf9, 0xcf, 0x4f, 0xb2, 0xd2, 0xaf, 0x9e, 0x2f, 0x88, 0xde, 0xe5, 0x1b, - 0x6b, 0xfe, 0x09, 0x7f, 0x50, 0x9a, 0xfc, 0xd1, 0x42, 0xfb, 0xcd, 0x72, 0x1d, 0x17, 0x63, 0xa1, - 0xcf, 0xbf, 0x5e, 0x14, 0x0e, 0xac, 0x6f, 0x49, 0xd6, 0xef, 0xe3, 0x1b, 0xbb, 0x60, 0xcd, 0x34, - 0xed, 0x45, 0xe7, 0xf9, 0x8b, 0x9a, 0xf5, 0xf9, 0x8b, 0x9a, 0xf5, 0xcf, 0x17, 0x35, 0xeb, 0x27, - 0x2f, 0x6b, 0x7b, 0x3e, 0x7f, 0x59, 0xdb, 0xf3, 0xc5, 0xcb, 0xda, 0x9e, 0x8f, 0xae, 0x6e, 0x78, - 0x7c, 0xb3, 0xb3, 0x5e, 0x6f, 0x84, 0xad, 0x5c, 0x15, 0xdf, 0x31, 0x7e, 0xf3, 0x6e, 0x9b, 0xb2, - 0xf5, 0x49, 0xf9, 0xff, 0x1a, 0xe6, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x4d, 0xa9, 0xae, 0xab, - 0xd8, 0x23, 0x00, 0x00, + // 2443 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x5a, 0xcb, 0x6f, 0x1c, 0x49, + 0x19, 0x4f, 0x3b, 0x63, 0x3b, 0x53, 0x79, 0x6c, 0x52, 0xc9, 0x2e, 0xb3, 0xb3, 0xc9, 0xc4, 0xa9, + 0xcd, 0x26, 0xde, 0x6c, 0x32, 0xbd, 0xb1, 0x9d, 0x87, 0xb3, 0xd9, 0xb0, 0x7e, 0x24, 0x21, 0x84, + 0x24, 0xde, 0x36, 0x09, 0x62, 0x11, 0x58, 0xed, 0x99, 0xb2, 0xdd, 0x4a, 0x4f, 0xf7, 0x6c, 0x57, + 0x4d, 0xcc, 0x30, 0x1a, 0x21, 0x38, 0x71, 0x42, 0x88, 0x45, 0x88, 0x0b, 0x12, 0xe2, 0x84, 0x78, + 0x88, 0x3d, 0xa3, 0x15, 0x27, 0x84, 0x72, 0x5c, 0xc4, 0x65, 0x4f, 0x08, 0x25, 0x48, 0x88, 0x3f, + 0x01, 0x71, 0x41, 0x55, 0xf5, 0x75, 0x4d, 0xf5, 0x4c, 0x77, 0xbb, 0x9d, 0x5c, 0xac, 0xae, 0xaa, + 0xdf, 0x57, 0xdf, 0xaf, 0xaa, 0xbe, 0xaa, 0xef, 0x31, 0x46, 0x27, 0x1b, 0x6e, 0xd4, 0x6c, 0x6c, + 0xb9, 0x5e, 0x60, 0x0f, 0xbe, 0x3e, 0xee, 0xd0, 0xa8, 0x5b, 0x6f, 0x47, 0x21, 0x0f, 0xf1, 0x51, + 0xdd, 0x5d, 0xd7, 0x5f, 0xd5, 0x23, 0x6e, 0xcb, 0x0b, 0x42, 0x5b, 0xfe, 0x55, 0xb8, 0xea, 0xb1, + 0xcd, 0x70, 0x33, 0x94, 0x9f, 0xb6, 0xf8, 0x82, 0xde, 0xe3, 0x9b, 0x61, 0xb8, 0xe9, 0x53, 0xdb, + 0x6d, 0x7b, 0xb6, 0x1b, 0x04, 0x21, 0x77, 0xb9, 0x17, 0x06, 0x0c, 0x46, 0xcf, 0x35, 0x42, 0xd6, + 0x0a, 0x99, 0xbd, 0xee, 0x32, 0xaa, 0x94, 0xda, 0x4f, 0x2e, 0xae, 0x53, 0xee, 0x5e, 0xb4, 0xdb, + 0xee, 0xa6, 0x17, 0x48, 0x30, 0x60, 0xa7, 0xd2, 0x88, 0xb6, 0xdd, 0xc8, 0x6d, 0xc5, 0xb3, 0xbd, + 0x9d, 0x8a, 0x88, 0xc2, 0x66, 0xa7, 0xc1, 0xd7, 0x9a, 0x94, 0xbb, 0x9e, 0x9f, 0x0b, 0x15, 0x5f, + 0x6b, 0xdb, 0x1e, 0xdf, 0x5a, 0xf3, 0x5a, 0xee, 0x26, 0x05, 0x68, 0x2d, 0x0d, 0xda, 0x61, 0x34, + 0xca, 0x1b, 0x17, 0x5f, 0x30, 0x9e, 0xba, 0xc1, 0x2d, 0x97, 0x37, 0xb6, 0x00, 0x70, 0x22, 0x0d, + 0xc0, 0x28, 0xd7, 0x7b, 0x94, 0x3e, 0xac, 0x98, 0xba, 0x11, 0xdf, 0x0e, 0xa3, 0xc7, 0x80, 0x3d, + 0x9d, 0x8e, 0xf5, 0xfd, 0xb5, 0x70, 0x63, 0x43, 0x33, 0x3e, 0x95, 0xca, 0x38, 0xec, 0x04, 0x0d, + 0xcf, 0xcf, 0xdb, 0x6c, 0x46, 0xa3, 0x27, 0x7a, 0x92, 0x37, 0xd3, 0x10, 0x34, 0x10, 0xd3, 0x70, + 0x0d, 0xaa, 0xe7, 0x82, 0xd2, 0xf6, 0xda, 0xb0, 0x87, 0xd8, 0x12, 0x1a, 0xa1, 0x17, 0xdb, 0xc0, + 0x74, 0xda, 0x7c, 0x4f, 0x42, 0xee, 0x05, 0x9b, 0x6b, 0x11, 0x65, 0x1d, 0x9f, 0xc7, 0x07, 0x7c, + 0x26, 0xf3, 0x80, 0x1b, 0x61, 0xc0, 0x69, 0x00, 0xbb, 0x4b, 0x8e, 0x21, 0xfc, 0xa1, 0xb0, 0xbb, + 0x15, 0x69, 0x48, 0x0e, 0xfd, 0xb8, 0x43, 0x19, 0x27, 0x0f, 0xd1, 0xd1, 0x44, 0x2f, 0x6b, 0x87, + 0x01, 0xa3, 0xf8, 0x06, 0x9a, 0x50, 0x06, 0x57, 0xb1, 0xa6, 0xac, 0xe9, 0xfd, 0x33, 0x6f, 0xd4, + 0x53, 0xee, 0x46, 0x5d, 0x09, 0x2d, 0x96, 0x9f, 0xfe, 0xe3, 0xe4, 0x9e, 0xdf, 0xfc, 0xfb, 0xd3, + 0x73, 0x96, 0x03, 0x52, 0xc4, 0x46, 0x27, 0xe4, 0xb4, 0xb7, 0x29, 0x5f, 0x51, 0x66, 0xb9, 0xac, + 0xac, 0x12, 0xf4, 0xe2, 0x43, 0x68, 0xcc, 0x6b, 0xca, 0xc9, 0x4b, 0xce, 0x98, 0xd7, 0x24, 0x0c, + 0xd5, 0xb2, 0x04, 0x80, 0xd2, 0x87, 0xe8, 0x50, 0x72, 0x04, 0xa8, 0xbd, 0x99, 0x4e, 0x2d, 0x01, + 0x5d, 0x2c, 0x09, 0x8a, 0xce, 0xd0, 0x04, 0x64, 0x13, 0x58, 0x2e, 0xf8, 0x7e, 0x3a, 0xcb, 0x5b, + 0x08, 0x0d, 0x6e, 0x27, 0xe8, 0x3b, 0x53, 0x57, 0x47, 0x57, 0x17, 0x47, 0x57, 0x57, 0xef, 0x07, + 0x1c, 0x60, 0x7d, 0xc5, 0xdd, 0xa4, 0x20, 0xeb, 0x18, 0x92, 0xe4, 0x33, 0x0b, 0x96, 0x97, 0xa2, + 0x29, 0x67, 0x79, 0x7b, 0x5f, 0x6a, 0x79, 0xf8, 0x76, 0x82, 0xfd, 0x98, 0x64, 0x7f, 0x76, 0x47, + 0xf6, 0x8a, 0x4f, 0x82, 0xfe, 0x39, 0x74, 0x58, 0xb2, 0x5f, 0x72, 0xa3, 0x66, 0xbc, 0x35, 0xaf, + 0xa1, 0x09, 0x41, 0xe7, 0x4e, 0x7c, 0x88, 0xd0, 0x22, 0x77, 0xd1, 0x11, 0x03, 0x0b, 0x8b, 0xbb, + 0x8c, 0x4a, 0x62, 0x18, 0x76, 0x90, 0xa4, 0x2e, 0x49, 0x08, 0x7c, 0xc3, 0xe3, 0x5b, 0x77, 0xc4, + 0x2d, 0x71, 0x24, 0x9e, 0x9c, 0x07, 0xc5, 0x0f, 0x19, 0x8d, 0x62, 0xc5, 0x15, 0x34, 0xe9, 0x36, + 0x9b, 0x11, 0x65, 0xca, 0x00, 0xca, 0x4e, 0xdc, 0x24, 0x8b, 0xa0, 0x5a, 0xa1, 0x41, 0xf5, 0x05, + 0x54, 0x12, 0x4f, 0x18, 0xa8, 0x7e, 0x3d, 0x55, 0xb5, 0x14, 0x90, 0x30, 0xf2, 0xab, 0x92, 0xc1, + 0x5f, 0xdb, 0xc1, 0x31, 0x34, 0x1e, 0x6e, 0x07, 0x30, 0x4b, 0xd9, 0x51, 0x0d, 0x7c, 0x05, 0x4d, + 0x30, 0xee, 0xf2, 0x0e, 0xab, 0x8c, 0x4d, 0xed, 0x9d, 0x3e, 0x34, 0x73, 0x32, 0x73, 0x5d, 0xab, + 0x12, 0xe6, 0x00, 0x1c, 0xcf, 0xa3, 0x7d, 0x62, 0xfc, 0xeb, 0xdd, 0x36, 0xad, 0xec, 0x95, 0xa2, + 0x27, 0x32, 0x45, 0x05, 0xc8, 0xd1, 0x70, 0x3c, 0x87, 0xc6, 0x1b, 0xbe, 0xcb, 0x58, 0xa5, 0x24, + 0xe5, 0x6a, 0x99, 0x72, 0x4b, 0x02, 0xe5, 0x28, 0xb0, 0x38, 0x2c, 0x16, 0x46, 0x7c, 0xb1, 0x5b, + 0x19, 0x97, 0x0b, 0x80, 0x16, 0x26, 0xe8, 0x40, 0xe0, 0xb6, 0xe8, 0x52, 0x18, 0x70, 0xd7, 0x0b, + 0x58, 0x65, 0x42, 0x8e, 0x26, 0xfa, 0xf0, 0x39, 0x74, 0xf8, 0x31, 0xed, 0x6e, 0x87, 0x51, 0x93, + 0x69, 0xdc, 0xa4, 0xc4, 0x8d, 0xf4, 0xe3, 0xd3, 0xe8, 0x60, 0x10, 0x72, 0x3a, 0x00, 0xee, 0x93, + 0xc0, 0x64, 0x27, 0x9e, 0x46, 0xaf, 0x84, 0x81, 0xdf, 0x5d, 0xe5, 0x6e, 0xc4, 0x69, 0x24, 0xc8, + 0x56, 0xca, 0x53, 0xd6, 0xf4, 0x3e, 0x67, 0xb8, 0x1b, 0xd7, 0x11, 0x16, 0x5d, 0x8b, 0xae, 0xef, + 0x06, 0x0d, 0xba, 0x10, 0x34, 0xb6, 0xc2, 0x88, 0x55, 0x90, 0x04, 0xa7, 0x8c, 0xe0, 0xf7, 0xd0, + 0xbe, 0xc8, 0x8d, 0x3c, 0xee, 0x51, 0x56, 0xd9, 0xbf, 0xc3, 0x99, 0x38, 0x02, 0xd8, 0x75, 0xb4, + 0x00, 0x3e, 0x83, 0x0e, 0xb5, 0x3a, 0x3e, 0xf7, 0xe4, 0xce, 0x3d, 0x08, 0xfc, 0x6e, 0xe5, 0x80, + 0x54, 0x34, 0xd4, 0x4b, 0xea, 0xf0, 0x90, 0x82, 0x85, 0x80, 0x9d, 0x55, 0xd0, 0xa4, 0xba, 0x01, + 0xea, 0xe2, 0x96, 0x9c, 0xb8, 0x49, 0x2e, 0x80, 0x45, 0xdd, 0x13, 0x9e, 0xd0, 0xb0, 0x62, 0xe9, + 0x19, 0xf5, 0xfd, 0x89, 0x9b, 0xe4, 0x16, 0x4c, 0x0f, 0x70, 0x98, 0xfe, 0x5d, 0x34, 0x2e, 0x01, + 0x60, 0xc7, 0xd5, 0xd4, 0x65, 0x29, 0x11, 0x05, 0x24, 0x67, 0xd1, 0x2b, 0x72, 0x9e, 0x55, 0xca, + 0x0d, 0x33, 0x66, 0x94, 0x6b, 0x95, 0xaa, 0x41, 0xee, 0xc1, 0x25, 0x93, 0x40, 0x50, 0x37, 0x9f, + 0x54, 0x97, 0xfe, 0x08, 0xad, 0x52, 0x2e, 0x2e, 0xec, 0x82, 0x72, 0xcc, 0xb1, 0xde, 0x79, 0xf4, + 0x2a, 0x4c, 0xe7, 0xfb, 0x0f, 0x84, 0x2f, 0x8e, 0xb5, 0x4f, 0xa1, 0xfd, 0x2c, 0xee, 0xd3, 0x1c, + 0xcc, 0x2e, 0xf2, 0x08, 0xbd, 0x36, 0x2c, 0x0a, 0x7c, 0xae, 0xa3, 0xb2, 0x06, 0x02, 0xa7, 0x5a, + 0x06, 0xa7, 0x58, 0x74, 0x20, 0x40, 0x66, 0xc1, 0xc9, 0x2d, 0x29, 0xcf, 0x1f, 0x13, 0x3a, 0x8e, + 0xca, 0x10, 0x0b, 0x68, 0x3a, 0x83, 0x0e, 0x72, 0x1f, 0x1d, 0x4b, 0x0a, 0xe9, 0xb7, 0x6c, 0x12, + 0x40, 0x40, 0xe4, 0x78, 0xba, 0x89, 0x81, 0x58, 0x0c, 0x26, 0xef, 0xc2, 0xb9, 0xae, 0xca, 0xd8, + 0x22, 0xe6, 0x50, 0x45, 0xfb, 0x54, 0xb0, 0xa1, 0x29, 0xe8, 0x36, 0xf9, 0x2a, 0xd0, 0x8e, 0x25, + 0x80, 0xc0, 0x2c, 0x9a, 0x50, 0x90, 0x5c, 0xdf, 0x0c, 0x42, 0x00, 0xd5, 0xa7, 0x72, 0x33, 0x0e, + 0x49, 0x8c, 0x53, 0xd1, 0x61, 0xca, 0xe0, 0x54, 0x8c, 0x2e, 0x7d, 0x2a, 0x86, 0xe8, 0xe0, 0x54, + 0x34, 0x30, 0xf7, 0x54, 0x06, 0xa2, 0x03, 0x01, 0x52, 0x19, 0x9e, 0x57, 0x07, 0x25, 0xdf, 0x44, + 0x5f, 0x1a, 0x19, 0xd1, 0x81, 0x09, 0xd2, 0x33, 0xc4, 0x2e, 0x72, 0x27, 0x9d, 0x86, 0x04, 0x99, + 0x02, 0x47, 0xac, 0x47, 0x07, 0x2e, 0x07, 0x94, 0x6f, 0xa1, 0x93, 0x99, 0x08, 0x20, 0x71, 0x73, + 0x74, 0xdd, 0x67, 0xf3, 0x39, 0x0c, 0xe6, 0x30, 0x36, 0xe0, 0xd4, 0xb0, 0x26, 0x36, 0x42, 0xe6, + 0x31, 0x9a, 0xca, 0x86, 0x00, 0x9b, 0xdb, 0x29, 0x5b, 0x52, 0x98, 0x8e, 0xb9, 0x37, 0x6f, 0xa0, + 0xd7, 0xf5, 0xc3, 0x26, 0x05, 0xee, 0x04, 0x1b, 0x61, 0xcc, 0xe4, 0x6f, 0x63, 0xa8, 0x9a, 0x36, + 0x0a, 0x24, 0xee, 0xa2, 0xc3, 0x42, 0xcf, 0x42, 0xa7, 0x21, 0x22, 0x86, 0x95, 0xc8, 0x6b, 0xd0, + 0x81, 0xcb, 0x35, 0x22, 0x8e, 0x38, 0xd6, 0x58, 0x0a, 0xbd, 0x00, 0xc2, 0x96, 0x11, 0x41, 0x5c, + 0x43, 0xc8, 0x6d, 0x70, 0xef, 0x09, 0x5d, 0xa5, 0x5c, 0x39, 0xd7, 0x92, 0x63, 0xf4, 0x08, 0x9b, + 0x15, 0x32, 0xec, 0x7e, 0xa7, 0xb5, 0x4e, 0xa3, 0xca, 0x5e, 0x65, 0xb3, 0x46, 0x97, 0x70, 0x44, + 0xf2, 0x35, 0xa2, 0x31, 0xa6, 0x24, 0x31, 0xc9, 0x4e, 0xe1, 0xda, 0xf4, 0x23, 0x11, 0x03, 0xc7, + 0x25, 0x70, 0xa4, 0x5f, 0x78, 0x07, 0xb8, 0xc9, 0x31, 0x72, 0x42, 0x22, 0x87, 0x7a, 0xc5, 0x9c, + 0xbe, 0xcb, 0xb8, 0xd8, 0xa5, 0x7b, 0x61, 0xd3, 0xdb, 0xf0, 0x68, 0x53, 0xba, 0xcb, 0x92, 0x33, + 0xd2, 0x4f, 0xe6, 0xd1, 0x29, 0xfd, 0xf2, 0x4a, 0x6f, 0xb4, 0xec, 0x31, 0x1e, 0x79, 0xeb, 0x1d, + 0xb1, 0x15, 0xa9, 0x8f, 0x76, 0x39, 0x7e, 0xb4, 0x1f, 0x21, 0x92, 0x27, 0x6a, 0x38, 0xa5, 0x4e, + 0x14, 0xd1, 0x80, 0x6b, 0xa7, 0xa4, 0x9a, 0x22, 0x22, 0xd8, 0x76, 0x03, 0x4e, 0x9b, 0xb0, 0xbd, + 0xd0, 0x22, 0x57, 0xd1, 0x71, 0x15, 0xa8, 0x36, 0xa4, 0x59, 0xdc, 0x8a, 0xc2, 0xd6, 0x47, 0xd4, + 0xf5, 0xbb, 0x86, 0xdf, 0xfa, 0x9e, 0x68, 0x6b, 0x3e, 0x71, 0x93, 0xcc, 0xc7, 0xc1, 0xf4, 0x88, + 0xe4, 0x80, 0x4c, 0x46, 0xe0, 0x16, 0x1b, 0xde, 0x23, 0x99, 0xdf, 0x38, 0x2a, 0xbd, 0x89, 0x0d, + 0x2f, 0x00, 0xbb, 0x1b, 0x1a, 0x84, 0x49, 0x57, 0xd0, 0x11, 0xb1, 0xad, 0x89, 0xc1, 0xdc, 0x30, + 0x33, 0x39, 0xcd, 0xa8, 0x30, 0xf9, 0xaf, 0x05, 0xcf, 0xee, 0x3d, 0x65, 0x2b, 0xf1, 0xca, 0x4f, + 0xa3, 0x83, 0xdc, 0x6b, 0x51, 0xc6, 0xdd, 0x56, 0x7b, 0x39, 0xdc, 0x0e, 0xe0, 0xa9, 0x4c, 0x76, + 0x0a, 0xd3, 0xd4, 0x1d, 0x0f, 0xdb, 0x32, 0xe8, 0x2e, 0x39, 0x66, 0x97, 0x98, 0xa7, 0x01, 0x91, + 0x90, 0x88, 0x3b, 0x99, 0x8c, 0x00, 0xcb, 0x4e, 0xb2, 0x53, 0xf8, 0x85, 0x88, 0xb6, 0x43, 0x11, + 0x09, 0x49, 0xdb, 0x2d, 0x3b, 0xba, 0x2d, 0x3c, 0x50, 0xd8, 0xe1, 0x8d, 0xb0, 0x45, 0xa5, 0xb5, + 0x1e, 0xca, 0xf0, 0x40, 0x0f, 0x14, 0xc6, 0x89, 0xc1, 0xfa, 0xda, 0xac, 0xf8, 0x6e, 0x97, 0x36, + 0x2b, 0x13, 0xf2, 0xe0, 0xcd, 0x2e, 0xf2, 0x35, 0xf0, 0x79, 0x7a, 0xe9, 0xb0, 0xcb, 0x73, 0x10, + 0xad, 0xd0, 0xf8, 0x7d, 0xc9, 0x8b, 0x3f, 0x62, 0x28, 0xf9, 0xad, 0x35, 0x88, 0x2c, 0xf4, 0x36, + 0x5e, 0xd6, 0x41, 0xb3, 0x25, 0xb9, 0x67, 0xb9, 0x71, 0x3e, 0x14, 0x33, 0x13, 0x74, 0x40, 0xec, + 0x90, 0x34, 0x71, 0x11, 0x04, 0x8e, 0xc9, 0x5d, 0x4b, 0xf4, 0x99, 0x5b, 0x2b, 0x83, 0x33, 0xb9, + 0xb5, 0x25, 0x27, 0xd9, 0x39, 0x08, 0xe6, 0x4b, 0x46, 0x30, 0x4f, 0xde, 0x81, 0x28, 0x4d, 0x71, + 0x85, 0x75, 0x8b, 0xb8, 0x59, 0x5c, 0xb7, 0x38, 0xa6, 0x83, 0x16, 0xb9, 0x08, 0x0e, 0x4a, 0x06, + 0xda, 0x2a, 0xcb, 0xde, 0x29, 0x2f, 0xfa, 0x0e, 0xaa, 0x8c, 0x8a, 0x80, 0x9a, 0x45, 0x75, 0x30, + 0xd0, 0x0d, 0xe6, 0x3b, 0x95, 0x1d, 0xda, 0x83, 0xb8, 0x29, 0x44, 0xe6, 0x46, 0xe7, 0x67, 0xc6, + 0xa5, 0xcd, 0x88, 0x4d, 0x5d, 0xe3, 0xc9, 0x1f, 0x48, 0x01, 0xad, 0x65, 0x74, 0xc0, 0xd0, 0x10, + 0x1f, 0xfd, 0xce, 0xbc, 0x12, 0x52, 0x33, 0xff, 0x3b, 0x89, 0xc6, 0xa5, 0x0e, 0xfc, 0x53, 0x0b, + 0x4d, 0xa8, 0x92, 0x01, 0x4e, 0xf7, 0x4f, 0xa3, 0xf5, 0x89, 0xea, 0xf4, 0xce, 0x40, 0xc5, 0x96, + 0x5c, 0xfa, 0xe1, 0xdf, 0xff, 0xf5, 0xc9, 0x98, 0x8d, 0x2f, 0xd8, 0xcb, 0xb4, 0x41, 0x03, 0x1e, + 0xb9, 0xbe, 0x20, 0x75, 0xdb, 0x6d, 0x51, 0x3b, 0xbb, 0xa0, 0x86, 0xff, 0x6c, 0x0d, 0x27, 0xde, + 0x78, 0x26, 0x5b, 0x67, 0x56, 0x3d, 0xa3, 0x3a, 0xbb, 0x2b, 0x19, 0xa0, 0xbc, 0x24, 0x29, 0xbf, + 0x8f, 0xdf, 0x2b, 0x4a, 0x39, 0x59, 0xe1, 0xb3, 0x7b, 0x5e, 0xb3, 0x8f, 0x3f, 0xb3, 0xd0, 0x91, + 0xe4, 0xfc, 0x0b, 0xbe, 0x9f, 0xb7, 0x86, 0xac, 0x6a, 0x47, 0xde, 0x1a, 0x32, 0xeb, 0x16, 0xe4, + 0x86, 0x5c, 0xc3, 0x55, 0x7c, 0xf9, 0xc5, 0xd6, 0x80, 0x3f, 0xb1, 0x50, 0x49, 0xe6, 0x7a, 0x6f, + 0x65, 0x6b, 0x37, 0xea, 0x0e, 0xd5, 0x33, 0x3b, 0xc1, 0x80, 0xd7, 0x75, 0xc9, 0xeb, 0x32, 0x9e, + 0x2b, 0xc8, 0x4b, 0x7c, 0xd9, 0x3d, 0x75, 0x2f, 0xfa, 0xf8, 0x67, 0x16, 0x2a, 0x89, 0x87, 0x38, + 0x8f, 0x95, 0x51, 0x94, 0xc8, 0x63, 0x65, 0x56, 0x23, 0xc8, 0xfb, 0x92, 0xd5, 0x15, 0x7c, 0xa9, + 0x20, 0xab, 0x0e, 0xa3, 0x91, 0xdd, 0x03, 0x3f, 0xd9, 0xc7, 0x3f, 0xb7, 0xd0, 0xb8, 0x7a, 0xc4, + 0x76, 0xd8, 0x06, 0x7d, 0xa6, 0x67, 0x77, 0xc4, 0xbd, 0xc4, 0x7e, 0x31, 0xbb, 0x27, 0x1f, 0xcf, + 0x3e, 0xfe, 0x85, 0x85, 0xc6, 0xe5, 0xeb, 0x9f, 0x47, 0xcc, 0x4c, 0x80, 0xf3, 0x88, 0x25, 0x32, + 0xdf, 0x5d, 0x1b, 0x98, 0xf4, 0x3e, 0x76, 0x0f, 0xd2, 0xe9, 0x3e, 0xfe, 0xb1, 0x85, 0xf6, 0xae, + 0x52, 0x8e, 0x4f, 0x67, 0x2b, 0x1c, 0xa4, 0xc8, 0xd5, 0xb7, 0x76, 0x40, 0x01, 0xa9, 0x6b, 0x92, + 0xd4, 0x1c, 0x9e, 0x29, 0x48, 0x8a, 0x51, 0x6e, 0xf7, 0xa4, 0xf3, 0xe8, 0xe3, 0x3f, 0x58, 0xa8, + 0xac, 0xd3, 0x54, 0x7c, 0x2e, 0x4f, 0x61, 0x32, 0x83, 0xae, 0xbe, 0x53, 0x08, 0x0b, 0x14, 0x6f, + 0x4b, 0x8a, 0x0b, 0xf8, 0xcb, 0x85, 0x29, 0xc6, 0xc5, 0x73, 0xc1, 0x54, 0x27, 0xe5, 0x7d, 0xfc, + 0x6b, 0x0b, 0x4d, 0x42, 0x36, 0x8b, 0x73, 0x9e, 0xe3, 0x64, 0x72, 0x5d, 0x7d, 0xbb, 0x00, 0x12, + 0x98, 0x2e, 0x4a, 0xa6, 0xd7, 0xf1, 0xb5, 0xa2, 0xa6, 0xa7, 0xe4, 0xed, 0x9e, 0x4e, 0xd6, 0xfb, + 0xf8, 0x97, 0x16, 0x9a, 0x50, 0x29, 0x6f, 0x9e, 0x6f, 0x49, 0xe4, 0xde, 0x79, 0xbe, 0x25, 0x99, + 0x72, 0x93, 0x0f, 0x24, 0xc3, 0x6b, 0xf8, 0x6a, 0xe1, 0xbd, 0x14, 0xe2, 0x62, 0x1f, 0x55, 0x2a, + 0xdf, 0xc7, 0xbf, 0xb7, 0x50, 0x59, 0xa7, 0x5f, 0x79, 0x87, 0x3e, 0x9c, 0xa0, 0xe7, 0x1d, 0xfa, + 0x48, 0x46, 0x4e, 0x6e, 0x49, 0xa2, 0x1f, 0xe0, 0x1b, 0x05, 0x89, 0xea, 0xec, 0xcf, 0xee, 0x19, + 0x29, 0xbf, 0x3c, 0x73, 0x34, 0xc8, 0x39, 0x71, 0x11, 0x0e, 0xfa, 0xc9, 0x39, 0x5f, 0x0c, 0x0c, + 0x8c, 0xe7, 0x25, 0xe3, 0x59, 0x7c, 0x71, 0xb7, 0x8c, 0x19, 0xfe, 0x8b, 0x85, 0xf0, 0x68, 0x4a, + 0x8b, 0x67, 0x0b, 0xe8, 0x1f, 0x4e, 0xb4, 0xab, 0x73, 0xbb, 0x13, 0x7a, 0x41, 0x07, 0x9e, 0xf6, + 0x83, 0x10, 0x7e, 0x6a, 0xa1, 0xa3, 0x29, 0xf9, 0x3d, 0x2e, 0x42, 0x69, 0xa4, 0x62, 0x50, 0xbd, + 0xb4, 0x4b, 0x29, 0x58, 0xc9, 0xb2, 0x5c, 0xc9, 0x0d, 0x7c, 0x7d, 0xd7, 0xc7, 0x60, 0x2e, 0xe5, + 0x8f, 0x16, 0x3a, 0x98, 0xa8, 0x0f, 0xe0, 0x7a, 0xbe, 0xff, 0x19, 0x2e, 0x33, 0x54, 0xed, 0xc2, + 0xf8, 0x17, 0xf4, 0xa8, 0xfa, 0x6b, 0xcd, 0x13, 0xfc, 0xbe, 0xb0, 0xd0, 0xab, 0xa9, 0x39, 0x34, + 0xbe, 0x9c, 0xef, 0x09, 0xb2, 0xf2, 0xf5, 0xea, 0x95, 0x5d, 0xcb, 0xc1, 0x4a, 0xee, 0xcb, 0x95, + 0x7c, 0x05, 0xdf, 0x2a, 0xee, 0x53, 0xd6, 0x64, 0xf1, 0xba, 0xbb, 0xd6, 0x34, 0xe6, 0xd3, 0x7e, + 0xe6, 0xaf, 0x16, 0x3a, 0x3c, 0x9c, 0x8c, 0xe3, 0x8b, 0x39, 0x31, 0x5e, 0x7a, 0xca, 0x5f, 0x9d, + 0xd9, 0x8d, 0x08, 0xac, 0xe5, 0xae, 0x5c, 0xcb, 0x4d, 0xbc, 0x54, 0x70, 0x2d, 0xae, 0x9a, 0x68, + 0x6d, 0x23, 0x0a, 0x5b, 0x6b, 0xb2, 0xa2, 0x60, 0xf7, 0xa0, 0xb0, 0xd0, 0x97, 0x56, 0x95, 0xc8, + 0xd1, 0xf3, 0xac, 0x2a, 0xad, 0x86, 0x90, 0x67, 0x55, 0xa9, 0x65, 0x85, 0x5d, 0x5b, 0x55, 0xf2, + 0x97, 0x59, 0xfc, 0x1f, 0x0b, 0x4d, 0x42, 0x0e, 0x9d, 0xe7, 0x32, 0x93, 0x15, 0x86, 0x3c, 0x97, + 0x39, 0x94, 0x90, 0x93, 0x1f, 0x59, 0x92, 0xe0, 0x0f, 0x2c, 0xfc, 0xfd, 0xdd, 0x84, 0x45, 0x94, + 0xd9, 0xbd, 0x44, 0xbd, 0xa2, 0x6f, 0xb4, 0x1f, 0xb6, 0xfb, 0xc2, 0xa5, 0x1a, 0x55, 0x88, 0xbe, + 0xdd, 0x8b, 0x8b, 0x0e, 0x7d, 0xbb, 0x07, 0x65, 0x84, 0xbe, 0x8a, 0x92, 0xa1, 0x64, 0xd0, 0xc7, + 0x7f, 0xb2, 0x50, 0x49, 0x56, 0xe5, 0xf2, 0x43, 0x27, 0x56, 0x20, 0x54, 0x36, 0x73, 0x6f, 0xd2, + 0x90, 0x2b, 0xfc, 0x36, 0xfe, 0x56, 0xf1, 0xeb, 0xc0, 0xec, 0x9e, 0xaa, 0x16, 0xc0, 0x42, 0xe2, + 0xc2, 0x80, 0xb1, 0x2e, 0x19, 0xf4, 0xf6, 0x75, 0xdc, 0xfa, 0xa9, 0x85, 0xf6, 0x1b, 0xa9, 0x2b, + 0x3e, 0x9f, 0xff, 0xfc, 0x24, 0x73, 0xfd, 0xea, 0x85, 0x82, 0xe8, 0x17, 0x7c, 0x63, 0xcd, 0x1f, + 0xf1, 0x07, 0xa9, 0xc9, 0xef, 0x2c, 0x74, 0xc0, 0x4c, 0xd7, 0x71, 0x31, 0x16, 0x7a, 0xff, 0xeb, + 0x45, 0xe1, 0x2f, 0x91, 0x18, 0xc4, 0xac, 0xd9, 0xa2, 0xf3, 0xf4, 0x59, 0xcd, 0xfa, 0xfc, 0x59, + 0xcd, 0xfa, 0xe7, 0xb3, 0x9a, 0xf5, 0x93, 0xe7, 0xb5, 0x3d, 0x9f, 0x3f, 0xaf, 0xed, 0xf9, 0xe2, + 0x79, 0x6d, 0xcf, 0x47, 0x57, 0x37, 0x3d, 0xbe, 0xd5, 0x59, 0xaf, 0x37, 0xc2, 0x56, 0xee, 0xcc, + 0xdf, 0x35, 0xbe, 0x79, 0xb7, 0x4d, 0xd9, 0xfa, 0x84, 0xfc, 0x87, 0x86, 0xd9, 0xff, 0x07, 0x00, + 0x00, 0xff, 0xff, 0xf9, 0xb6, 0xfb, 0x9d, 0xd1, 0x23, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5040,10 +5039,10 @@ func (m *QueryCardContentsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error _ = i var l int _ = l - if len(m.CardId) > 0 { - dAtA40 := make([]byte, len(m.CardId)*10) + if len(m.CardIds) > 0 { + dAtA40 := make([]byte, len(m.CardIds)*10) var j39 int - for _, num := range m.CardId { + for _, num := range m.CardIds { for num >= 1<<7 { dAtA40[j39] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -5789,9 +5788,9 @@ func (m *QueryCardContentsRequest) Size() (n int) { } var l int _ = l - if len(m.CardId) > 0 { + if len(m.CardIds) > 0 { l = 0 - for _, e := range m.CardId { + for _, e := range m.CardIds { l += sovQuery(uint64(e)) } n += 1 + sovQuery(uint64(l)) + l @@ -10395,7 +10394,7 @@ func (m *QueryCardContentsRequest) Unmarshal(dAtA []byte) error { break } } - m.CardId = append(m.CardId, v) + m.CardIds = append(m.CardIds, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -10430,8 +10429,8 @@ func (m *QueryCardContentsRequest) Unmarshal(dAtA []byte) error { } } elementCount = count - if elementCount != 0 && len(m.CardId) == 0 { - m.CardId = make([]uint64, 0, elementCount) + if elementCount != 0 && len(m.CardIds) == 0 { + m.CardIds = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -10449,10 +10448,10 @@ func (m *QueryCardContentsRequest) Unmarshal(dAtA []byte) error { break } } - m.CardId = append(m.CardId, v) + m.CardIds = append(m.CardIds, v) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CardIds", wireType) } default: iNdEx = preIndex diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 2bb5e29d..98637ee3 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -1193,26 +1193,19 @@ func local_request_Query_CardContent_0(ctx context.Context, marshaler runtime.Ma } +var ( + filter_Query_CardContents_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + func request_Query_CardContents_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryCardContentsRequest var metadata runtime.ServerMetadata - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["cardId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardId") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - - protoReq.CardId, err = runtime.Uint64Slice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardId", err) + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_CardContents_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } msg, err := client.CardContents(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) @@ -1224,22 +1217,11 @@ func local_request_Query_CardContents_0(ctx context.Context, marshaler runtime.M var protoReq QueryCardContentsRequest var metadata runtime.ServerMetadata - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["cardId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardId") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - - protoReq.CardId, err = runtime.Uint64Slice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardId", err) + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_CardContents_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } msg, err := server.CardContents(ctx, &protoReq) @@ -2331,7 +2313,7 @@ var ( pattern_Query_CardContent_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "card_content", "cardId"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_CardContents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "card_contents", "cardId"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_CardContents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "card_contents"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( From c84b99c0d25552e4665cb9ec3750b849c6c5c606 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 17:25:43 +0100 Subject: [PATCH 56/99] feat(#242): Added cards query --- api/cardchain/cardchain/card.pulsar.go | 72 +++--- docs/static/openapi.yml | 2 +- proto/cardchain/cardchain/card.proto | 18 +- x/cardchain/keeper/query_cardchain_info.go | 13 +- x/cardchain/keeper/query_cards.go | 241 ++++++++++++++++++++- x/cardchain/types/card.pb.go | 149 +++++++------ 6 files changed, 368 insertions(+), 127 deletions(-) diff --git a/api/cardchain/cardchain/card.pulsar.go b/api/cardchain/cardchain/card.pulsar.go index 32747a36..88f5e521 100644 --- a/api/cardchain/cardchain/card.pulsar.go +++ b/api/cardchain/cardchain/card.pulsar.go @@ -1801,42 +1801,42 @@ const ( type CardStatus int32 const ( - CardStatus_scheme CardStatus = 0 - CardStatus_prototype CardStatus = 1 - CardStatus_trial CardStatus = 2 - CardStatus_permanent CardStatus = 3 - CardStatus_suspended CardStatus = 4 - CardStatus_banned CardStatus = 5 - CardStatus_bannedSoon CardStatus = 6 - CardStatus_bannedVerySoon CardStatus = 7 - CardStatus_none CardStatus = 8 + CardStatus_none CardStatus = 0 + CardStatus_scheme CardStatus = 1 + CardStatus_prototype CardStatus = 2 + CardStatus_trial CardStatus = 3 + CardStatus_permanent CardStatus = 4 + CardStatus_suspended CardStatus = 5 + CardStatus_banned CardStatus = 6 + CardStatus_bannedSoon CardStatus = 7 + CardStatus_bannedVerySoon CardStatus = 8 CardStatus_adventureItem CardStatus = 9 ) // Enum value maps for CardStatus. var ( CardStatus_name = map[int32]string{ - 0: "scheme", - 1: "prototype", - 2: "trial", - 3: "permanent", - 4: "suspended", - 5: "banned", - 6: "bannedSoon", - 7: "bannedVerySoon", - 8: "none", + 0: "none", + 1: "scheme", + 2: "prototype", + 3: "trial", + 4: "permanent", + 5: "suspended", + 6: "banned", + 7: "bannedSoon", + 8: "bannedVerySoon", 9: "adventureItem", } CardStatus_value = map[string]int32{ - "scheme": 0, - "prototype": 1, - "trial": 2, - "permanent": 3, - "suspended": 4, - "banned": 5, - "bannedSoon": 6, - "bannedVerySoon": 7, - "none": 8, + "none": 0, + "scheme": 1, + "prototype": 2, + "trial": 3, + "permanent": 4, + "suspended": 5, + "banned": 6, + "bannedSoon": 7, + "bannedVerySoon": 8, "adventureItem": 9, } ) @@ -2117,7 +2117,7 @@ func (x *Card) GetStatus() CardStatus { if x != nil { return x.Status } - return CardStatus_scheme + return CardStatus_none } func (x *Card) GetVotePool() *v1beta1.Coin { @@ -2278,14 +2278,14 @@ var file_cardchain_cardchain_card_proto_rawDesc = []byte{ 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x2a, 0x9d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x10, 0x00, 0x12, 0x0d, - 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x74, 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, 0x09, 0x0a, - 0x05, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, - 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, - 0x6e, 0x64, 0x65, 0x64, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, - 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x53, 0x6f, 0x6f, 0x6e, - 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x56, 0x65, 0x72, 0x79, - 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x10, 0x08, + 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x74, 0x79, 0x70, 0x65, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x74, 0x72, 0x69, 0x61, 0x6c, + 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x10, + 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x10, 0x05, + 0x12, 0x0a, 0x0a, 0x06, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, + 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x07, 0x12, 0x12, 0x0a, 0x0e, + 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x56, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x09, 0x2a, 0x4d, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x0c, 0x0a, diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index a1642afd..90f7cd30 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin25","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin26","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"scheme","enum":["scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","none","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin25","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin26","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/card.proto b/proto/cardchain/cardchain/card.proto index 39834343..ea5c4ee6 100644 --- a/proto/cardchain/cardchain/card.proto +++ b/proto/cardchain/cardchain/card.proto @@ -27,15 +27,15 @@ message Card { } enum CardStatus { - scheme = 0; - prototype = 1; - trial = 2; - permanent = 3; - suspended = 4; - banned = 5; - bannedSoon = 6; - bannedVerySoon = 7; - none = 8; + none = 0; + scheme = 1; + prototype = 2; + trial = 3; + permanent = 4; + suspended = 5; + banned = 6; + bannedSoon = 7; + bannedVerySoon = 8; adventureItem = 9; } diff --git a/x/cardchain/keeper/query_cardchain_info.go b/x/cardchain/keeper/query_cardchain_info.go index e83104b3..f191d619 100644 --- a/x/cardchain/keeper/query_cardchain_info.go +++ b/x/cardchain/keeper/query_cardchain_info.go @@ -16,8 +16,13 @@ func (k Keeper) CardchainInfo(goCtx context.Context, req *types.QueryCardchainIn ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx - - return &types.QueryCardchainInfoResponse{}, nil + return &types.QueryCardchainInfoResponse{ + CardAuctionPrice: *k.cardAuctionPrice.Get(ctx), + 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.lastCardModified.Get(ctx).TimeStamp, + }, nil } diff --git a/x/cardchain/keeper/query_cards.go b/x/cardchain/keeper/query_cards.go index 15ed5eaf..fd61c1f0 100644 --- a/x/cardchain/keeper/query_cards.go +++ b/x/cardchain/keeper/query_cards.go @@ -2,22 +2,259 @@ 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" + "github.com/cosmos/cosmos-sdk/types/errors" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) +type Result struct { + Id uint64 + Value string + Num int +} + func (k Keeper) Cards(goCtx context.Context, req *types.QueryCardsRequest) (*types.QueryCardsResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } + var ( + cardsList []uint64 + results []Result + ) + ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + checkName := func(cardName cardobject.CardName) bool { + if req.NameContains != "" && !strings.Contains(strings.ToLower(string(cardName)), strings.ToLower(req.NameContains)) { + return false + } + return true + } + checkAbilities := func(cardAbilities string) bool { + if strings.Contains(strings.ToLower(cardAbilities), strings.ToLower(req.KeywordsContains)) { + return true + } + return false + } + checkClass := func(cardobjClass cardobject.Class) bool { + if len(req.Class) == 0 { + return true + } + if !req.MultiClassOnly { + if bool(cardobjClass.Mysticism) && slices.Contains(req.Class, types.CardClass_mysticism) { + return true + } + if bool(cardobjClass.Nature) && slices.Contains(req.Class, types.CardClass_nature) { + return true + } + if bool(cardobjClass.Technology) && slices.Contains(req.Class, types.CardClass_technology) { + return true + } + if bool(cardobjClass.Culture) && slices.Contains(req.Class, types.CardClass_culture) { + return true + } + return false + } else { + if bool(cardobjClass.Mysticism) != slices.Contains(req.Class, types.CardClass_mysticism) { + return false + } + if bool(cardobjClass.Nature) != slices.Contains(req.Class, types.CardClass_nature) { + return false + } + if bool(cardobjClass.Technology) != slices.Contains(req.Class, types.CardClass_technology) { + return false + } + if bool(cardobjClass.Culture) != slices.Contains(req.Class, types.CardClass_culture) { + return false + } + return true + } + } + + iterator := k.cards.GetItemIterator(ctx) + + for ; iterator.Valid(); iterator.Next() { + idx, gottenCard := iterator.Value() + + // filter for starterCards + if req.OnlyStarterCard && !gottenCard.StarterCard { + continue + } + + // filter for balance anchors + if req.OnlyBalanceAnchors && !gottenCard.BalanceAnchor { + continue + } + + // then check if a status constrain was given and skip the card if it has the wrong status + if len(req.Status) != 0 { + if !slices.Contains(req.Status, gottenCard.Status) { + continue + } + } else { + // first skip all cards with irrelevant status + if gottenCard.Status == types.CardStatus_none || gottenCard.Status == types.CardStatus_scheme { + continue + } + } + + // rarity + if len(req.Rarities) != 0 && !slices.Contains(req.Rarities, gottenCard.Rarity) { + continue + } + + // then check if an owner constrain was given and skip the card if it has the wrong owner + if req.Owner != "" { + if gottenCard.Owner != req.Owner { + continue + } + } + + // then check if the notes should contain something and skip the card if it does not + if req.NotesContains != "" { + if !strings.Contains(gottenCard.Notes, req.NotesContains) { + continue + } + } + + // lastly check if this is a special request and skip the card if it does not meet it + if req.NameContains != "" || len(req.CardType) != 0 || req.SortBy != "" || len(req.Class) != 0 || req.KeywordsContains != "" { + cardobj, err := keywords.Unmarshal(gottenCard.Content) + if err != nil { + return nil, sdkerrors.Wrap(errors.ErrJSONMarshal, err.Error()+" cardid="+strconv.FormatUint(idx, 10)) + } + + if cardobj.Action != nil { + if len(req.CardType) != 0 && !slices.Contains(req.CardType, types.CardType_action) { + continue + } + if !checkClass(cardobj.Action.Class) { + continue + } + if !checkName(cardobj.Action.CardName) { + continue + } + if req.KeywordsContains != "" { + jsonStr, _ := json.Marshal(cardobj.Action.Effects) + if !checkAbilities(string(jsonStr)) { + continue + } + } + if req.SortBy == "Name" { + results = append(results, Result{idx, string(cardobj.Action.CardName), 0}) + } else if req.SortBy == "CastingCost" { + results = append(results, Result{idx, "", int(cardobj.Action.CastingCost)}) + } else if req.SortBy == "Id" { + cardsList = append(cardsList, idx) + } + } + if cardobj.Entity != nil { + if len(req.CardType) != 0 && !slices.Contains(req.CardType, types.CardType_entity) { + continue + } + if !checkClass(cardobj.Entity.Class) { + continue + } + if !checkName(cardobj.Entity.CardName) { + continue + } + if req.KeywordsContains != "" { + jsonStr, _ := json.Marshal(cardobj.Entity.Abilities) + if !checkAbilities(string(jsonStr)) { + continue + } + } + if req.SortBy == "Name" { + results = append(results, Result{idx, string(cardobj.Entity.CardName), 0}) + } else if req.SortBy == "CastingCost" { + results = append(results, Result{idx, "", int(cardobj.Entity.CastingCost)}) + } else if req.SortBy == "Id" { + cardsList = append(cardsList, idx) + } + } + if cardobj.Headquarter != nil { + if len(req.CardType) != 0 && !slices.Contains(req.CardType, types.CardType_headquarter) { + continue + } + if !checkClass(cardobj.Headquarter.Class) { + continue + } + if !checkName(cardobj.Headquarter.CardName) { + continue + } + if req.KeywordsContains != "" { + jsonStr, _ := json.Marshal(cardobj.Headquarter.Abilities) + if !checkAbilities(string(jsonStr)) { + continue + } + } + if req.SortBy == "Name" { + results = append(results, Result{idx, string(cardobj.Headquarter.CardName), 0}) + } else if req.SortBy == "CastingCost" { + results = append(results, Result{idx, "", int(cardobj.Headquarter.Delay)}) + } else if req.SortBy == "Id" { + cardsList = append(cardsList, idx) + } + } + if cardobj.Place != nil { + if len(req.CardType) != 0 && !slices.Contains(req.CardType, types.CardType_place) { + continue + } + if !checkName(cardobj.Place.CardName) { + continue + } + if !checkClass(cardobj.Place.Class) { + continue + } + if req.KeywordsContains != "" { + jsonStr, _ := json.Marshal(cardobj.Place.Abilities) + if !checkAbilities(string(jsonStr)) { + continue + } + } + if req.SortBy == "Name" { + results = append(results, Result{idx, string(cardobj.Place.CardName), 0}) + } else if req.SortBy == "CastingCost" { + results = append(results, Result{idx, "", int(cardobj.Place.CastingCost)}) + } else if req.SortBy == "Id" { + cardsList = append(cardsList, idx) + } + } + } + // finally if all checks were passed and unsorted, add the card + if req.SortBy == "" { + cardsList = append(cardsList, idx) + } + } + + if req.SortBy == "Name" { + sort.Slice(results[:], func(i, j int) bool { + return results[i].Value < results[j].Value + }) + for _, val := range results { + cardsList = append(cardsList, val.Id) + } + } + if req.SortBy == "CastingCost" { + sort.Slice(results[:], func(i, j int) bool { + return results[i].Num < results[j].Num + }) + for _, val := range results { + cardsList = append(cardsList, val.Id) + } + } return &types.QueryCardsResponse{}, nil } diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go index e0cd33af..b2a99aa3 100644 --- a/x/cardchain/types/card.pb.go +++ b/x/cardchain/types/card.pb.go @@ -27,41 +27,41 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type CardStatus int32 const ( - CardStatus_scheme CardStatus = 0 - CardStatus_prototype CardStatus = 1 - CardStatus_trial CardStatus = 2 - CardStatus_permanent CardStatus = 3 - CardStatus_suspended CardStatus = 4 - CardStatus_banned CardStatus = 5 - CardStatus_bannedSoon CardStatus = 6 - CardStatus_bannedVerySoon CardStatus = 7 - CardStatus_none CardStatus = 8 + CardStatus_none CardStatus = 0 + CardStatus_scheme CardStatus = 1 + CardStatus_prototype CardStatus = 2 + CardStatus_trial CardStatus = 3 + CardStatus_permanent CardStatus = 4 + CardStatus_suspended CardStatus = 5 + CardStatus_banned CardStatus = 6 + CardStatus_bannedSoon CardStatus = 7 + CardStatus_bannedVerySoon CardStatus = 8 CardStatus_adventureItem CardStatus = 9 ) var CardStatus_name = map[int32]string{ - 0: "scheme", - 1: "prototype", - 2: "trial", - 3: "permanent", - 4: "suspended", - 5: "banned", - 6: "bannedSoon", - 7: "bannedVerySoon", - 8: "none", + 0: "none", + 1: "scheme", + 2: "prototype", + 3: "trial", + 4: "permanent", + 5: "suspended", + 6: "banned", + 7: "bannedSoon", + 8: "bannedVerySoon", 9: "adventureItem", } var CardStatus_value = map[string]int32{ - "scheme": 0, - "prototype": 1, - "trial": 2, - "permanent": 3, - "suspended": 4, - "banned": 5, - "bannedSoon": 6, - "bannedVerySoon": 7, - "none": 8, + "none": 0, + "scheme": 1, + "prototype": 2, + "trial": 3, + "permanent": 4, + "suspended": 5, + "banned": 6, + "bannedSoon": 7, + "bannedVerySoon": 8, "adventureItem": 9, } @@ -268,7 +268,7 @@ func (m *Card) GetStatus() CardStatus { if m != nil { return m.Status } - return CardStatus_scheme + return CardStatus_none } func (m *Card) GetVotePool() types.Coin { @@ -397,54 +397,53 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/card.proto", fileDescriptor_a360ffd2377ddc30) } var fileDescriptor_a360ffd2377ddc30 = []byte{ - // 739 bytes of a gzipped FileDescriptorProto + // 736 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0xcd, 0x8a, 0xdc, 0x46, - 0x10, 0x9e, 0xde, 0xd1, 0xce, 0x48, 0x35, 0xfb, 0xd3, 0xdb, 0x31, 0x41, 0x36, 0x41, 0x16, 0x26, - 0x07, 0x65, 0x08, 0x1a, 0xec, 0x1c, 0x12, 0x08, 0x04, 0xec, 0x49, 0x08, 0x3e, 0x04, 0x82, 0xd6, - 0xf8, 0x90, 0x4b, 0xe8, 0x69, 0xd5, 0xce, 0x34, 0x48, 0xdd, 0x72, 0x77, 0x6b, 0xec, 0x79, 0x8b, - 0xbc, 0x40, 0xde, 0xc7, 0x47, 0x1f, 0x73, 0x0a, 0x61, 0xf7, 0x2d, 0x72, 0x0a, 0xdd, 0x9a, 0xfd, - 0xf1, 0x0f, 0xe4, 0x56, 0xdf, 0x57, 0x5f, 0x57, 0xd5, 0x57, 0x25, 0x04, 0x99, 0xe0, 0xa6, 0x16, - 0x1b, 0x2e, 0xd5, 0xe2, 0xfd, 0xa8, 0xec, 0x8c, 0x76, 0x9a, 0x7d, 0x76, 0xc3, 0x96, 0x37, 0xd1, - 0x83, 0x7b, 0x6b, 0xbd, 0xd6, 0x21, 0xbf, 0xf0, 0xd1, 0x20, 0x7d, 0x90, 0x09, 0x6d, 0x5b, 0x6d, - 0x17, 0x2b, 0x6e, 0x71, 0xb1, 0x7d, 0xbc, 0x42, 0xc7, 0x1f, 0x2f, 0x84, 0x96, 0x6a, 0xc8, 0x3f, - 0xfa, 0x37, 0x82, 0x68, 0xc9, 0x4d, 0xcd, 0xee, 0xc1, 0xa1, 0x7e, 0xad, 0xd0, 0xa4, 0x24, 0x27, - 0x45, 0x52, 0x0d, 0x80, 0x7d, 0x0e, 0x13, 0x6e, 0x9c, 0xb4, 0x2e, 0x3d, 0x08, 0xf4, 0x1e, 0xb1, - 0x14, 0xa6, 0x42, 0x2b, 0x87, 0xca, 0xa5, 0xe3, 0x9c, 0x14, 0x47, 0xd5, 0x35, 0x64, 0xf7, 0x21, - 0x96, 0x2d, 0x5f, 0xe3, 0xef, 0xb2, 0x4e, 0xa3, 0x9c, 0x14, 0x51, 0x35, 0x0d, 0xf8, 0x79, 0xed, - 0x1f, 0x5d, 0xf4, 0x4d, 0xf3, 0xd4, 0xb8, 0xf4, 0x30, 0x27, 0x45, 0x5c, 0x5d, 0x43, 0xdf, 0x5c, - 0x69, 0x87, 0x36, 0x9d, 0x0c, 0xcd, 0x03, 0x60, 0xdf, 0xc2, 0xc4, 0x3a, 0xee, 0x7a, 0x9b, 0x4e, - 0x73, 0x52, 0x9c, 0x3c, 0x79, 0x58, 0x7e, 0xc2, 0x77, 0xe9, 0xa7, 0x3f, 0x0f, 0xb2, 0x6a, 0x2f, - 0x67, 0xdf, 0x43, 0xbc, 0xd5, 0x0e, 0x7f, 0xd5, 0xba, 0x49, 0xe3, 0x9c, 0x14, 0xb3, 0x27, 0xf7, - 0xcb, 0x61, 0x0f, 0xa5, 0xdf, 0x43, 0xb9, 0xdf, 0x43, 0xb9, 0xd4, 0x52, 0x3d, 0x8b, 0xde, 0xfe, - 0xfd, 0x70, 0x54, 0xdd, 0x3c, 0xf0, 0x96, 0x7d, 0x6c, 0x6c, 0x7a, 0x92, 0x8f, 0xbd, 0xe5, 0x01, - 0xb1, 0x02, 0x4e, 0x2f, 0xb8, 0x34, 0x3f, 0x29, 0xdd, 0xaf, 0x37, 0x2f, 0xc3, 0xb4, 0x49, 0xf0, - 0xf7, 0x21, 0xcd, 0xe6, 0x40, 0xf5, 0x16, 0x4d, 0xa7, 0x5f, 0xa3, 0xc1, 0x7a, 0x90, 0x42, 0x90, - 0x7e, 0xc4, 0xb3, 0xaf, 0xe1, 0xac, 0x57, 0xf5, 0x07, 0xe2, 0x59, 0x10, 0x7f, 0x9c, 0x60, 0x25, - 0x30, 0xa9, 0x78, 0xd7, 0x19, 0xdd, 0x19, 0xc9, 0x1d, 0x0e, 0xf2, 0xa3, 0x20, 0xff, 0x44, 0x86, - 0x7d, 0x01, 0x89, 0x42, 0x73, 0xd1, 0xe0, 0x16, 0x9b, 0xf4, 0x38, 0x27, 0xc5, 0xb8, 0xba, 0x25, - 0xd8, 0x97, 0x70, 0xbc, 0xe2, 0x0d, 0x57, 0x02, 0x9f, 0x2a, 0xb1, 0xd1, 0x26, 0x3d, 0x0d, 0x57, - 0x79, 0x9f, 0x64, 0x39, 0xcc, 0xac, 0xe3, 0xc6, 0xa1, 0xf1, 0x9b, 0x4e, 0x69, 0xd0, 0xdc, 0xa5, - 0xfc, 0x9d, 0x0c, 0x37, 0xd2, 0xed, 0xd2, 0xb3, 0xff, 0xb9, 0x53, 0x15, 0x64, 0xd5, 0x5e, 0xfe, - 0xe8, 0x2b, 0x48, 0x5e, 0xc8, 0x16, 0xcf, 0x1d, 0x6f, 0x3b, 0x3f, 0xab, 0xbb, 0x06, 0xe1, 0x23, - 0x8c, 0xaa, 0x5b, 0x62, 0xfe, 0x27, 0x01, 0xb8, 0xbd, 0x34, 0x03, 0x98, 0x58, 0xb1, 0xc1, 0x16, - 0xe9, 0x88, 0x1d, 0x43, 0x12, 0xbe, 0x65, 0xb7, 0xeb, 0x90, 0x12, 0x96, 0xc0, 0xa1, 0x33, 0x92, - 0x37, 0xf4, 0x20, 0x64, 0xd0, 0xb4, 0x5c, 0xa1, 0x72, 0x74, 0xec, 0xa1, 0xed, 0x6d, 0x87, 0xaa, - 0xc6, 0x9a, 0x46, 0xbe, 0xc6, 0x8a, 0x2b, 0x85, 0x35, 0x3d, 0x64, 0x27, 0x00, 0x43, 0x7c, 0xae, - 0xb5, 0xa2, 0x13, 0xc6, 0xe0, 0x64, 0xc0, 0x2f, 0xd1, 0xec, 0x02, 0x37, 0x65, 0x31, 0x44, 0x4a, - 0x2b, 0xa4, 0x31, 0x3b, 0x83, 0x63, 0x5e, 0x6f, 0x51, 0xb9, 0xde, 0xe0, 0x73, 0x87, 0x2d, 0x4d, - 0xe6, 0xbf, 0x0c, 0xe3, 0x0d, 0x06, 0x7d, 0x69, 0xa1, 0xdb, 0x56, 0x2b, 0x3a, 0x62, 0x47, 0x10, - 0xf7, 0x6a, 0x8f, 0x88, 0x2f, 0x62, 0xb8, 0x41, 0x7a, 0xc0, 0x4e, 0x61, 0x86, 0x6f, 0x04, 0x76, - 0x4e, 0x6a, 0xc5, 0x1b, 0x3a, 0xf6, 0x8f, 0x7a, 0x25, 0x5f, 0xf5, 0x48, 0xa3, 0xf9, 0x12, 0x12, - 0x5f, 0x6e, 0xd9, 0x70, 0x1b, 0xcc, 0x2a, 0xee, 0x7b, 0xd1, 0x11, 0x9b, 0xc1, 0x54, 0xf4, 0x4d, - 0x00, 0xc4, 0x1b, 0x6a, 0x77, 0xd6, 0x49, 0x21, 0x6d, 0x4b, 0x0f, 0xbc, 0x09, 0x87, 0x62, 0xa3, - 0x74, 0xa3, 0xd7, 0x3b, 0x3a, 0x9e, 0xff, 0x00, 0xb1, 0x2f, 0xf2, 0x62, 0xd7, 0xa1, 0xdf, 0x4a, - 0xd7, 0x70, 0xe1, 0x4b, 0x00, 0x4c, 0xb8, 0xf0, 0x5d, 0x29, 0xf1, 0x31, 0x2a, 0x27, 0xdd, 0x6e, - 0x18, 0x68, 0x83, 0xbc, 0x7e, 0xd5, 0x87, 0xcb, 0xd2, 0xf1, 0xb3, 0xea, 0xed, 0x65, 0x46, 0xde, - 0x5d, 0x66, 0xe4, 0x9f, 0xcb, 0x8c, 0xfc, 0x71, 0x95, 0x8d, 0xde, 0x5d, 0x65, 0xa3, 0xbf, 0xae, - 0xb2, 0xd1, 0x6f, 0xdf, 0xad, 0xa5, 0xdb, 0xf4, 0xab, 0x52, 0xe8, 0x76, 0xf1, 0x23, 0x0a, 0x54, - 0xce, 0xf0, 0xc6, 0xf7, 0xfa, 0x99, 0xb7, 0x78, 0xe7, 0x9f, 0xf5, 0xe6, 0x4e, 0xec, 0xcf, 0x63, - 0x57, 0x93, 0x70, 0xaa, 0x6f, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xba, 0x42, 0x07, 0x16, 0xe3, - 0x04, 0x00, 0x00, + 0x10, 0x1e, 0xed, 0x68, 0x66, 0xa4, 0x9a, 0x9d, 0xd9, 0xde, 0x8e, 0x09, 0xb2, 0x09, 0xb2, 0x30, + 0x39, 0x28, 0x43, 0xd0, 0x60, 0xe7, 0x90, 0x40, 0x20, 0x60, 0x4f, 0x42, 0xf0, 0x21, 0x10, 0xb4, + 0xc6, 0x87, 0x5c, 0x42, 0x4f, 0xab, 0x76, 0xa6, 0x41, 0xea, 0x96, 0xbb, 0x5b, 0x63, 0xcf, 0x5b, + 0xe4, 0x05, 0xf2, 0x3e, 0x3e, 0xfa, 0x98, 0x53, 0x08, 0xbb, 0x6f, 0x91, 0x53, 0xe8, 0xd6, 0xec, + 0x8f, 0xbd, 0x0b, 0xb9, 0xd5, 0xf7, 0xd5, 0xa7, 0xaa, 0xaf, 0xaa, 0x1a, 0x41, 0xca, 0x99, 0xae, + 0xf8, 0x96, 0x09, 0xb9, 0xfc, 0x38, 0x2a, 0x5a, 0xad, 0xac, 0xa2, 0x9f, 0x5d, 0xb3, 0xc5, 0x75, + 0xf4, 0xe8, 0xc1, 0x46, 0x6d, 0x94, 0xcf, 0x2f, 0x5d, 0xd4, 0x4b, 0x1f, 0xa5, 0x5c, 0x99, 0x46, + 0x99, 0xe5, 0x9a, 0x19, 0x5c, 0xee, 0x9e, 0xae, 0xd1, 0xb2, 0xa7, 0x4b, 0xae, 0x84, 0xec, 0xf3, + 0x4f, 0xfe, 0x0d, 0x21, 0x5c, 0x31, 0x5d, 0xd1, 0x07, 0x30, 0x52, 0x6f, 0x25, 0xea, 0x24, 0xc8, + 0x82, 0x3c, 0x2e, 0x7b, 0x40, 0x3f, 0x87, 0x31, 0xd3, 0x56, 0x18, 0x9b, 0x1c, 0x79, 0xfa, 0x80, + 0x68, 0x02, 0x13, 0xae, 0xa4, 0x45, 0x69, 0x93, 0x61, 0x16, 0xe4, 0xc7, 0xe5, 0x15, 0xa4, 0x0f, + 0x21, 0x12, 0x0d, 0xdb, 0xe0, 0xef, 0xa2, 0x4a, 0xc2, 0x2c, 0xc8, 0xc3, 0x72, 0xe2, 0xf1, 0xcb, + 0xca, 0x7d, 0x74, 0xde, 0xd5, 0xf5, 0x73, 0x6d, 0x93, 0x51, 0x16, 0xe4, 0x51, 0x79, 0x05, 0x5d, + 0x73, 0xa9, 0x2c, 0x9a, 0x64, 0xdc, 0x37, 0xf7, 0x80, 0x7e, 0x0b, 0x63, 0x63, 0x99, 0xed, 0x4c, + 0x32, 0xc9, 0x82, 0x7c, 0xfe, 0xec, 0x71, 0x71, 0xcf, 0xdc, 0x85, 0x73, 0x7f, 0xe6, 0x65, 0xe5, + 0x41, 0x4e, 0xbf, 0x87, 0x68, 0xa7, 0x2c, 0xfe, 0xaa, 0x54, 0x9d, 0x44, 0x59, 0x90, 0x4f, 0x9f, + 0x3d, 0x2c, 0xfa, 0x3d, 0x14, 0x6e, 0x0f, 0xc5, 0x61, 0x0f, 0xc5, 0x4a, 0x09, 0xf9, 0x22, 0x7c, + 0xff, 0xf7, 0xe3, 0x41, 0x79, 0xfd, 0x81, 0x1b, 0xd9, 0xc5, 0xda, 0x24, 0xf3, 0x6c, 0xe8, 0x46, + 0xee, 0x11, 0xcd, 0xe1, 0xe4, 0x9c, 0x09, 0xfd, 0x93, 0x54, 0xdd, 0x66, 0xfb, 0xda, 0xbb, 0x8d, + 0xfd, 0x7c, 0x9f, 0xd2, 0x74, 0x01, 0x44, 0xed, 0x50, 0xb7, 0xea, 0x2d, 0x6a, 0xac, 0x7a, 0x29, + 0x78, 0xe9, 0x1d, 0x9e, 0x7e, 0x0d, 0xa7, 0x9d, 0xac, 0x3e, 0x11, 0x4f, 0xbd, 0xf8, 0x6e, 0x82, + 0x16, 0x40, 0x85, 0x64, 0x6d, 0xab, 0x55, 0xab, 0x05, 0xb3, 0xd8, 0xcb, 0x8f, 0xbd, 0xfc, 0x9e, + 0x0c, 0xfd, 0x02, 0x62, 0x89, 0xfa, 0xbc, 0xc6, 0x1d, 0xd6, 0xc9, 0x2c, 0x0b, 0xf2, 0x61, 0x79, + 0x43, 0xd0, 0x2f, 0x61, 0xb6, 0x66, 0x35, 0x93, 0x1c, 0x9f, 0x4b, 0xbe, 0x55, 0x3a, 0x39, 0xf1, + 0x57, 0xf9, 0x98, 0xa4, 0x19, 0x4c, 0x8d, 0x65, 0xda, 0xa2, 0x76, 0x9b, 0x4e, 0x88, 0xd7, 0xdc, + 0xa6, 0xdc, 0x9d, 0x34, 0xd3, 0xc2, 0xee, 0x93, 0xd3, 0xff, 0xb9, 0x53, 0xe9, 0x65, 0xe5, 0x41, + 0xfe, 0xe4, 0x2b, 0x88, 0x5f, 0x89, 0x06, 0xcf, 0x2c, 0x6b, 0x5a, 0xe7, 0xd5, 0x5e, 0x01, 0xff, + 0x08, 0xc3, 0xf2, 0x86, 0x58, 0xfc, 0x19, 0x00, 0xdc, 0x5c, 0x9a, 0x46, 0x10, 0x4a, 0x25, 0x91, + 0x0c, 0x28, 0xc0, 0xd8, 0xf0, 0x2d, 0x36, 0x48, 0x02, 0x3a, 0x83, 0xd8, 0xbf, 0x6a, 0xbb, 0x6f, + 0x91, 0x1c, 0xd1, 0x18, 0x46, 0x56, 0x0b, 0x56, 0x93, 0xa1, 0xcf, 0xa0, 0x6e, 0x98, 0x44, 0x69, + 0x49, 0xe8, 0xa0, 0xe9, 0x4c, 0x8b, 0xb2, 0xc2, 0x8a, 0x8c, 0x5c, 0x8d, 0x35, 0x93, 0x12, 0x2b, + 0x32, 0xa6, 0x73, 0x80, 0x3e, 0x3e, 0x53, 0x4a, 0x92, 0x09, 0xa5, 0x30, 0xef, 0xf1, 0x6b, 0xd4, + 0x7b, 0xcf, 0x45, 0xf4, 0x14, 0x66, 0xac, 0xda, 0xa1, 0xb4, 0x9d, 0xc6, 0x97, 0x16, 0x1b, 0x12, + 0x2f, 0x7e, 0xe9, 0xed, 0xf5, 0x03, 0xba, 0x82, 0x5c, 0x35, 0x8d, 0x92, 0x64, 0x40, 0x8f, 0x21, + 0xea, 0xe4, 0x01, 0x05, 0xce, 0xb8, 0x66, 0xda, 0xb9, 0x3b, 0x81, 0x29, 0xbe, 0xe3, 0xd8, 0x5a, + 0xa1, 0xa4, 0xf7, 0x08, 0x30, 0xee, 0xa4, 0x78, 0xd3, 0x21, 0x09, 0x17, 0x2b, 0x88, 0x5d, 0xb9, + 0x55, 0xcd, 0x8c, 0x71, 0x09, 0xc9, 0x5c, 0x2f, 0x32, 0xa0, 0x53, 0x98, 0xf0, 0xae, 0xf6, 0xc0, + 0xcf, 0xdb, 0xec, 0x8d, 0x15, 0x5c, 0x98, 0x86, 0x1c, 0x39, 0xeb, 0x16, 0xf9, 0x56, 0xaa, 0x5a, + 0x6d, 0xf6, 0x64, 0xb8, 0xf8, 0x01, 0x22, 0x57, 0xe4, 0xd5, 0xbe, 0x45, 0xb7, 0x8b, 0xb6, 0x66, + 0xfc, 0xb0, 0x31, 0xc6, 0x5d, 0x57, 0x12, 0xb8, 0x18, 0xa5, 0x15, 0x76, 0xdf, 0x1b, 0xda, 0x22, + 0xab, 0xde, 0x74, 0xfe, 0xb2, 0x64, 0xf8, 0xa2, 0x7c, 0x7f, 0x91, 0x06, 0x1f, 0x2e, 0xd2, 0xe0, + 0x9f, 0x8b, 0x34, 0xf8, 0xe3, 0x32, 0x1d, 0x7c, 0xb8, 0x4c, 0x07, 0x7f, 0x5d, 0xa6, 0x83, 0xdf, + 0xbe, 0xdb, 0x08, 0xbb, 0xed, 0xd6, 0x05, 0x57, 0xcd, 0xf2, 0x47, 0xe4, 0x28, 0xad, 0x66, 0xb5, + 0xeb, 0xf5, 0x33, 0x6b, 0xf0, 0xd6, 0x3f, 0xeb, 0xdd, 0xad, 0xd8, 0x1d, 0xc5, 0xac, 0xc7, 0xfe, + 0x40, 0xdf, 0xfc, 0x17, 0x00, 0x00, 0xff, 0xff, 0x09, 0xea, 0xcb, 0x65, 0xe3, 0x04, 0x00, 0x00, } func (m *Card) Marshal() (dAtA []byte, err error) { From 22500b799ee59a397a11d2dda77d17cfcb67542e Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 17:34:51 +0100 Subject: [PATCH 57/99] feat(#242): Added match queries --- api/cardchain/cardchain/query.pulsar.go | 761 +++++++++++++++--------- docs/static/openapi.yml | 2 +- proto/cardchain/cardchain/query.proto | 5 +- x/cardchain/keeper/query_council.go | 5 +- x/cardchain/keeper/query_match.go | 5 +- x/cardchain/keeper/query_matches.go | 60 +- x/cardchain/keeper/query_sell_offer.go | 5 +- x/cardchain/types/query.pb.go | 474 +++++++++------ 8 files changed, 835 insertions(+), 482 deletions(-) diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 4d078b4f..3414589e 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -18841,15 +18841,63 @@ func (x *_QueryMatchesResponse_1_list) IsValid() bool { return x.list != nil } +var _ protoreflect.List = (*_QueryMatchesResponse_2_list)(nil) + +type _QueryMatchesResponse_2_list struct { + list *[]uint64 +} + +func (x *_QueryMatchesResponse_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryMatchesResponse_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_QueryMatchesResponse_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QueryMatchesResponse_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryMatchesResponse_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QueryMatchesResponse at list field MatchIds as it is not of Message kind")) +} + +func (x *_QueryMatchesResponse_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QueryMatchesResponse_2_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_QueryMatchesResponse_2_list) IsValid() bool { + return x.list != nil +} + var ( - md_QueryMatchesResponse protoreflect.MessageDescriptor - fd_QueryMatchesResponse_matches protoreflect.FieldDescriptor + md_QueryMatchesResponse protoreflect.MessageDescriptor + fd_QueryMatchesResponse_matches protoreflect.FieldDescriptor + fd_QueryMatchesResponse_matchIds protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_query_proto_init() md_QueryMatchesResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryMatchesResponse") fd_QueryMatchesResponse_matches = md_QueryMatchesResponse.Fields().ByName("matches") + fd_QueryMatchesResponse_matchIds = md_QueryMatchesResponse.Fields().ByName("matchIds") } var _ protoreflect.Message = (*fastReflection_QueryMatchesResponse)(nil) @@ -18923,6 +18971,12 @@ func (x *fastReflection_QueryMatchesResponse) Range(f func(protoreflect.FieldDes return } } + if len(x.MatchIds) != 0 { + value := protoreflect.ValueOfList(&_QueryMatchesResponse_2_list{list: &x.MatchIds}) + if !f(fd_QueryMatchesResponse_matchIds, value) { + return + } + } } // Has reports whether a field is populated. @@ -18940,6 +18994,8 @@ func (x *fastReflection_QueryMatchesResponse) Has(fd protoreflect.FieldDescripto switch fd.FullName() { case "cardchain.cardchain.QueryMatchesResponse.matches": return len(x.Matches) != 0 + case "cardchain.cardchain.QueryMatchesResponse.matchIds": + return len(x.MatchIds) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesResponse")) @@ -18958,6 +19014,8 @@ func (x *fastReflection_QueryMatchesResponse) Clear(fd protoreflect.FieldDescrip switch fd.FullName() { case "cardchain.cardchain.QueryMatchesResponse.matches": x.Matches = nil + case "cardchain.cardchain.QueryMatchesResponse.matchIds": + x.MatchIds = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesResponse")) @@ -18980,6 +19038,12 @@ func (x *fastReflection_QueryMatchesResponse) Get(descriptor protoreflect.FieldD } listValue := &_QueryMatchesResponse_1_list{list: &x.Matches} return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QueryMatchesResponse.matchIds": + if len(x.MatchIds) == 0 { + return protoreflect.ValueOfList(&_QueryMatchesResponse_2_list{}) + } + listValue := &_QueryMatchesResponse_2_list{list: &x.MatchIds} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesResponse")) @@ -19004,6 +19068,10 @@ func (x *fastReflection_QueryMatchesResponse) Set(fd protoreflect.FieldDescripto lv := value.List() clv := lv.(*_QueryMatchesResponse_1_list) x.Matches = *clv.list + case "cardchain.cardchain.QueryMatchesResponse.matchIds": + lv := value.List() + clv := lv.(*_QueryMatchesResponse_2_list) + x.MatchIds = *clv.list default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesResponse")) @@ -19030,6 +19098,12 @@ func (x *fastReflection_QueryMatchesResponse) Mutable(fd protoreflect.FieldDescr } value := &_QueryMatchesResponse_1_list{list: &x.Matches} return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QueryMatchesResponse.matchIds": + if x.MatchIds == nil { + x.MatchIds = []uint64{} + } + value := &_QueryMatchesResponse_2_list{list: &x.MatchIds} + return protoreflect.ValueOfList(value) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesResponse")) @@ -19046,6 +19120,9 @@ func (x *fastReflection_QueryMatchesResponse) NewField(fd protoreflect.FieldDesc case "cardchain.cardchain.QueryMatchesResponse.matches": list := []*Match{} return protoreflect.ValueOfList(&_QueryMatchesResponse_1_list{list: &list}) + case "cardchain.cardchain.QueryMatchesResponse.matchIds": + list := []uint64{} + return protoreflect.ValueOfList(&_QueryMatchesResponse_2_list{list: &list}) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryMatchesResponse")) @@ -19121,6 +19198,13 @@ func (x *fastReflection_QueryMatchesResponse) ProtoMethods() *protoiface.Methods n += 1 + l + runtime.Sov(uint64(l)) } } + if len(x.MatchIds) > 0 { + l = 0 + for _, e := range x.MatchIds { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -19150,6 +19234,26 @@ func (x *fastReflection_QueryMatchesResponse) ProtoMethods() *protoiface.Methods i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.MatchIds) > 0 { + var pksize2 int + for _, num := range x.MatchIds { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.MatchIds { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x12 + } if len(x.Matches) > 0 { for iNdEx := len(x.Matches) - 1; iNdEx >= 0; iNdEx-- { encoded, err := options.Marshal(x.Matches[iNdEx]) @@ -19249,6 +19353,82 @@ func (x *fastReflection_QueryMatchesResponse) ProtoMethods() *protoiface.Methods return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.MatchIds = append(x.MatchIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.MatchIds) == 0 { + x.MatchIds = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.MatchIds = append(x.MatchIds, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MatchIds", wireType) + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -23985,7 +24165,8 @@ type QueryMatchesResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Matches []*Match `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` + Matches []*Match `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` + MatchIds []uint64 `protobuf:"varint,2,rep,packed,name=matchIds,proto3" json:"matchIds,omitempty"` } func (x *QueryMatchesResponse) Reset() { @@ -24015,6 +24196,13 @@ func (x *QueryMatchesResponse) GetMatches() []*Match { return nil } +func (x *QueryMatchesResponse) GetMatchIds() []uint64 { + if x != nil { + return x.MatchIds + } + return nil +} + type QuerySetsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -24526,314 +24714,315 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x64, 0x22, 0x4c, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, + 0x79, 0x65, 0x64, 0x22, 0x68, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, - 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, - 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, - 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x2b, - 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x04, 0x52, 0x06, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x31, 0x0a, 0x17, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x5e, - 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x61, - 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x34, - 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, - 0x64, 0x49, 0x64, 0x73, 0x22, 0x61, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, - 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, - 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x32, 0xfb, 0x1f, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x73, 0x22, 0xaa, 0x01, + 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x24, + 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, + 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x2b, 0x0a, 0x11, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, + 0x06, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x31, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x18, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x63, + 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x34, 0x0a, 0x18, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, + 0x22, 0x61, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, + 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x32, 0xfb, 0x1f, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, + 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, + 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, + 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, - 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, - 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, - 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, - 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, - 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, - 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, - 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, + 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, - 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, - 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, + 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, - 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, + 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, + 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, + 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, - 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, - 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, - 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, + 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, + 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, + 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, - 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, - 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, - 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, - 0x7b, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x55, 0x70, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, - 0x7b, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, - 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, + 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, + 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, + 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, + 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, 0x01, 0x0a, + 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, + 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x7b, - 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0xab, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, + 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, 0x61, + 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, - 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, - 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, - 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, + 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, + 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x7d, + 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x7d, + 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6f, 0x75, 0x74, + 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x73, + 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, + 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x7d, 0x12, 0xab, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, + 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 90f7cd30..38eae6b3 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin25","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin26","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin25","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin26","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 5f1c7db6..846fa66b 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -301,7 +301,10 @@ message QueryMatchesRequest { repeated uint64 cardsPlayed = 6; } -message QueryMatchesResponse { repeated Match matches = 1; } +message QueryMatchesResponse { + repeated Match matches = 1; + repeated uint64 matchIds = 2; +} message QuerySetsRequest { SetStatus status = 1; diff --git a/x/cardchain/keeper/query_council.go b/x/cardchain/keeper/query_council.go index 30d5a9b2..63b0a0bd 100644 --- a/x/cardchain/keeper/query_council.go +++ b/x/cardchain/keeper/query_council.go @@ -16,8 +16,7 @@ func (k Keeper) Council(goCtx context.Context, req *types.QueryCouncilRequest) ( ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + council := k.councils.Get(ctx, req.CouncilId) - return &types.QueryCouncilResponse{}, nil + return &types.QueryCouncilResponse{Council: council}, nil } diff --git a/x/cardchain/keeper/query_match.go b/x/cardchain/keeper/query_match.go index 25329bc4..bc56694a 100644 --- a/x/cardchain/keeper/query_match.go +++ b/x/cardchain/keeper/query_match.go @@ -16,8 +16,7 @@ func (k Keeper) Match(goCtx context.Context, req *types.QueryMatchRequest) (*typ ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + match := k.matches.Get(ctx, req.MatchId) - return &types.QueryMatchResponse{}, nil + return &types.QueryMatchResponse{Match: match}, nil } diff --git a/x/cardchain/keeper/query_matches.go b/x/cardchain/keeper/query_matches.go index cb30c24d..0beae285 100644 --- a/x/cardchain/keeper/query_matches.go +++ b/x/cardchain/keeper/query_matches.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "slices" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -14,10 +15,63 @@ func (k Keeper) Matches(goCtx context.Context, req *types.QueryMatchesRequest) ( return nil, status.Error(codes.InvalidArgument, "invalid request") } + var ( + matchesList []*types.Match + matchIds []uint64 + ) + ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + iter := k.matches.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + allUsersInMatch := true + allCardsInMatch := true + + // Checks for timestamp + idx, match := iter.Value() + if req.TimestampUp != 0 || req.TimestampDown != 0 { + if !(req.TimestampDown <= match.Timestamp && match.Timestamp <= req.TimestampUp) { + continue + } + } + + // Checks for outcome + if req.Outcome != types.Outcome_Undefined { + if req.Outcome != match.Outcome { + continue + } + } + + // Checks for users contained in the match + for _, user := range req.ContainsUsers { + if !slices.Contains([]string{match.PlayerA.Addr, match.PlayerB.Addr}, user) { + allUsersInMatch = false + } + } + if !allUsersInMatch { + continue + } + + // Checks for card contained in the match + for _, card := range req.CardsPlayed { + if !slices.Contains(append(match.PlayerA.PlayedCards, match.PlayerB.PlayedCards...), card) { + allCardsInMatch = false + } + } + if !allCardsInMatch { + continue + } + + // Checks for reporter + if req.Reporter != "" { + if match.Reporter != req.Reporter { + continue + } + } + + matchIds = append(matchIds, idx) + matchesList = append(matchesList, match) + } - return &types.QueryMatchesResponse{}, nil + return &types.QueryMatchesResponse{Matches: matchesList, MatchIds: matchIds}, nil } diff --git a/x/cardchain/keeper/query_sell_offer.go b/x/cardchain/keeper/query_sell_offer.go index 1978ab32..2e9ead24 100644 --- a/x/cardchain/keeper/query_sell_offer.go +++ b/x/cardchain/keeper/query_sell_offer.go @@ -16,8 +16,7 @@ func (k Keeper) SellOffer(goCtx context.Context, req *types.QuerySellOfferReques ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + sellOffer := k.sellOffers.Get(ctx, req.SellOfferId) - return &types.QuerySellOfferResponse{}, nil + return &types.QuerySellOfferResponse{SellOffer: sellOffer}, nil } diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index a627f79b..5cf677be 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -1896,7 +1896,8 @@ func (m *QueryMatchesRequest) GetCardsPlayed() []uint64 { } type QueryMatchesResponse struct { - Matches []*Match `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` + Matches []*Match `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` + MatchIds []uint64 `protobuf:"varint,2,rep,packed,name=matchIds,proto3" json:"matchIds,omitempty"` } func (m *QueryMatchesResponse) Reset() { *m = QueryMatchesResponse{} } @@ -1939,6 +1940,13 @@ func (m *QueryMatchesResponse) GetMatches() []*Match { return nil } +func (m *QueryMatchesResponse) GetMatchIds() []uint64 { + if m != nil { + return m.MatchIds + } + return nil +} + type QuerySetsRequest struct { Status SetStatus `protobuf:"varint,1,opt,name=status,proto3,enum=cardchain.cardchain.SetStatus" json:"status,omitempty"` Contributors []string `protobuf:"bytes,2,rep,name=contributors,proto3" json:"contributors,omitempty"` @@ -2279,160 +2287,161 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2443 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x5a, 0xcb, 0x6f, 0x1c, 0x49, - 0x19, 0x4f, 0x3b, 0x63, 0x3b, 0x53, 0x79, 0x6c, 0x52, 0xc9, 0x2e, 0xb3, 0xb3, 0xc9, 0xc4, 0xa9, - 0xcd, 0x26, 0xde, 0x6c, 0x32, 0xbd, 0xb1, 0x9d, 0x87, 0xb3, 0xd9, 0xb0, 0x7e, 0x24, 0x21, 0x84, - 0x24, 0xde, 0x36, 0x09, 0x62, 0x11, 0x58, 0xed, 0x99, 0xb2, 0xdd, 0x4a, 0x4f, 0xf7, 0x6c, 0x57, - 0x4d, 0xcc, 0x30, 0x1a, 0x21, 0x38, 0x71, 0x42, 0x88, 0x45, 0x88, 0x0b, 0x12, 0xe2, 0x84, 0x78, - 0x88, 0x3d, 0xa3, 0x15, 0x27, 0x84, 0x72, 0x5c, 0xc4, 0x65, 0x4f, 0x08, 0x25, 0x48, 0x88, 0x3f, - 0x01, 0x71, 0x41, 0x55, 0xf5, 0x75, 0x4d, 0xf5, 0x4c, 0x77, 0xbb, 0x9d, 0x5c, 0xac, 0xae, 0xaa, - 0xdf, 0x57, 0xdf, 0xaf, 0xaa, 0xbe, 0xaa, 0xef, 0x31, 0x46, 0x27, 0x1b, 0x6e, 0xd4, 0x6c, 0x6c, - 0xb9, 0x5e, 0x60, 0x0f, 0xbe, 0x3e, 0xee, 0xd0, 0xa8, 0x5b, 0x6f, 0x47, 0x21, 0x0f, 0xf1, 0x51, - 0xdd, 0x5d, 0xd7, 0x5f, 0xd5, 0x23, 0x6e, 0xcb, 0x0b, 0x42, 0x5b, 0xfe, 0x55, 0xb8, 0xea, 0xb1, - 0xcd, 0x70, 0x33, 0x94, 0x9f, 0xb6, 0xf8, 0x82, 0xde, 0xe3, 0x9b, 0x61, 0xb8, 0xe9, 0x53, 0xdb, - 0x6d, 0x7b, 0xb6, 0x1b, 0x04, 0x21, 0x77, 0xb9, 0x17, 0x06, 0x0c, 0x46, 0xcf, 0x35, 0x42, 0xd6, - 0x0a, 0x99, 0xbd, 0xee, 0x32, 0xaa, 0x94, 0xda, 0x4f, 0x2e, 0xae, 0x53, 0xee, 0x5e, 0xb4, 0xdb, - 0xee, 0xa6, 0x17, 0x48, 0x30, 0x60, 0xa7, 0xd2, 0x88, 0xb6, 0xdd, 0xc8, 0x6d, 0xc5, 0xb3, 0xbd, - 0x9d, 0x8a, 0x88, 0xc2, 0x66, 0xa7, 0xc1, 0xd7, 0x9a, 0x94, 0xbb, 0x9e, 0x9f, 0x0b, 0x15, 0x5f, - 0x6b, 0xdb, 0x1e, 0xdf, 0x5a, 0xf3, 0x5a, 0xee, 0x26, 0x05, 0x68, 0x2d, 0x0d, 0xda, 0x61, 0x34, - 0xca, 0x1b, 0x17, 0x5f, 0x30, 0x9e, 0xba, 0xc1, 0x2d, 0x97, 0x37, 0xb6, 0x00, 0x70, 0x22, 0x0d, - 0xc0, 0x28, 0xd7, 0x7b, 0x94, 0x3e, 0xac, 0x98, 0xba, 0x11, 0xdf, 0x0e, 0xa3, 0xc7, 0x80, 0x3d, - 0x9d, 0x8e, 0xf5, 0xfd, 0xb5, 0x70, 0x63, 0x43, 0x33, 0x3e, 0x95, 0xca, 0x38, 0xec, 0x04, 0x0d, - 0xcf, 0xcf, 0xdb, 0x6c, 0x46, 0xa3, 0x27, 0x7a, 0x92, 0x37, 0xd3, 0x10, 0x34, 0x10, 0xd3, 0x70, - 0x0d, 0xaa, 0xe7, 0x82, 0xd2, 0xf6, 0xda, 0xb0, 0x87, 0xd8, 0x12, 0x1a, 0xa1, 0x17, 0xdb, 0xc0, - 0x74, 0xda, 0x7c, 0x4f, 0x42, 0xee, 0x05, 0x9b, 0x6b, 0x11, 0x65, 0x1d, 0x9f, 0xc7, 0x07, 0x7c, - 0x26, 0xf3, 0x80, 0x1b, 0x61, 0xc0, 0x69, 0x00, 0xbb, 0x4b, 0x8e, 0x21, 0xfc, 0xa1, 0xb0, 0xbb, - 0x15, 0x69, 0x48, 0x0e, 0xfd, 0xb8, 0x43, 0x19, 0x27, 0x0f, 0xd1, 0xd1, 0x44, 0x2f, 0x6b, 0x87, - 0x01, 0xa3, 0xf8, 0x06, 0x9a, 0x50, 0x06, 0x57, 0xb1, 0xa6, 0xac, 0xe9, 0xfd, 0x33, 0x6f, 0xd4, - 0x53, 0xee, 0x46, 0x5d, 0x09, 0x2d, 0x96, 0x9f, 0xfe, 0xe3, 0xe4, 0x9e, 0xdf, 0xfc, 0xfb, 0xd3, - 0x73, 0x96, 0x03, 0x52, 0xc4, 0x46, 0x27, 0xe4, 0xb4, 0xb7, 0x29, 0x5f, 0x51, 0x66, 0xb9, 0xac, - 0xac, 0x12, 0xf4, 0xe2, 0x43, 0x68, 0xcc, 0x6b, 0xca, 0xc9, 0x4b, 0xce, 0x98, 0xd7, 0x24, 0x0c, - 0xd5, 0xb2, 0x04, 0x80, 0xd2, 0x87, 0xe8, 0x50, 0x72, 0x04, 0xa8, 0xbd, 0x99, 0x4e, 0x2d, 0x01, - 0x5d, 0x2c, 0x09, 0x8a, 0xce, 0xd0, 0x04, 0x64, 0x13, 0x58, 0x2e, 0xf8, 0x7e, 0x3a, 0xcb, 0x5b, - 0x08, 0x0d, 0x6e, 0x27, 0xe8, 0x3b, 0x53, 0x57, 0x47, 0x57, 0x17, 0x47, 0x57, 0x57, 0xef, 0x07, - 0x1c, 0x60, 0x7d, 0xc5, 0xdd, 0xa4, 0x20, 0xeb, 0x18, 0x92, 0xe4, 0x33, 0x0b, 0x96, 0x97, 0xa2, - 0x29, 0x67, 0x79, 0x7b, 0x5f, 0x6a, 0x79, 0xf8, 0x76, 0x82, 0xfd, 0x98, 0x64, 0x7f, 0x76, 0x47, - 0xf6, 0x8a, 0x4f, 0x82, 0xfe, 0x39, 0x74, 0x58, 0xb2, 0x5f, 0x72, 0xa3, 0x66, 0xbc, 0x35, 0xaf, - 0xa1, 0x09, 0x41, 0xe7, 0x4e, 0x7c, 0x88, 0xd0, 0x22, 0x77, 0xd1, 0x11, 0x03, 0x0b, 0x8b, 0xbb, - 0x8c, 0x4a, 0x62, 0x18, 0x76, 0x90, 0xa4, 0x2e, 0x49, 0x08, 0x7c, 0xc3, 0xe3, 0x5b, 0x77, 0xc4, - 0x2d, 0x71, 0x24, 0x9e, 0x9c, 0x07, 0xc5, 0x0f, 0x19, 0x8d, 0x62, 0xc5, 0x15, 0x34, 0xe9, 0x36, - 0x9b, 0x11, 0x65, 0xca, 0x00, 0xca, 0x4e, 0xdc, 0x24, 0x8b, 0xa0, 0x5a, 0xa1, 0x41, 0xf5, 0x05, - 0x54, 0x12, 0x4f, 0x18, 0xa8, 0x7e, 0x3d, 0x55, 0xb5, 0x14, 0x90, 0x30, 0xf2, 0xab, 0x92, 0xc1, - 0x5f, 0xdb, 0xc1, 0x31, 0x34, 0x1e, 0x6e, 0x07, 0x30, 0x4b, 0xd9, 0x51, 0x0d, 0x7c, 0x05, 0x4d, - 0x30, 0xee, 0xf2, 0x0e, 0xab, 0x8c, 0x4d, 0xed, 0x9d, 0x3e, 0x34, 0x73, 0x32, 0x73, 0x5d, 0xab, - 0x12, 0xe6, 0x00, 0x1c, 0xcf, 0xa3, 0x7d, 0x62, 0xfc, 0xeb, 0xdd, 0x36, 0xad, 0xec, 0x95, 0xa2, - 0x27, 0x32, 0x45, 0x05, 0xc8, 0xd1, 0x70, 0x3c, 0x87, 0xc6, 0x1b, 0xbe, 0xcb, 0x58, 0xa5, 0x24, - 0xe5, 0x6a, 0x99, 0x72, 0x4b, 0x02, 0xe5, 0x28, 0xb0, 0x38, 0x2c, 0x16, 0x46, 0x7c, 0xb1, 0x5b, - 0x19, 0x97, 0x0b, 0x80, 0x16, 0x26, 0xe8, 0x40, 0xe0, 0xb6, 0xe8, 0x52, 0x18, 0x70, 0xd7, 0x0b, - 0x58, 0x65, 0x42, 0x8e, 0x26, 0xfa, 0xf0, 0x39, 0x74, 0xf8, 0x31, 0xed, 0x6e, 0x87, 0x51, 0x93, - 0x69, 0xdc, 0xa4, 0xc4, 0x8d, 0xf4, 0xe3, 0xd3, 0xe8, 0x60, 0x10, 0x72, 0x3a, 0x00, 0xee, 0x93, - 0xc0, 0x64, 0x27, 0x9e, 0x46, 0xaf, 0x84, 0x81, 0xdf, 0x5d, 0xe5, 0x6e, 0xc4, 0x69, 0x24, 0xc8, - 0x56, 0xca, 0x53, 0xd6, 0xf4, 0x3e, 0x67, 0xb8, 0x1b, 0xd7, 0x11, 0x16, 0x5d, 0x8b, 0xae, 0xef, - 0x06, 0x0d, 0xba, 0x10, 0x34, 0xb6, 0xc2, 0x88, 0x55, 0x90, 0x04, 0xa7, 0x8c, 0xe0, 0xf7, 0xd0, - 0xbe, 0xc8, 0x8d, 0x3c, 0xee, 0x51, 0x56, 0xd9, 0xbf, 0xc3, 0x99, 0x38, 0x02, 0xd8, 0x75, 0xb4, - 0x00, 0x3e, 0x83, 0x0e, 0xb5, 0x3a, 0x3e, 0xf7, 0xe4, 0xce, 0x3d, 0x08, 0xfc, 0x6e, 0xe5, 0x80, - 0x54, 0x34, 0xd4, 0x4b, 0xea, 0xf0, 0x90, 0x82, 0x85, 0x80, 0x9d, 0x55, 0xd0, 0xa4, 0xba, 0x01, - 0xea, 0xe2, 0x96, 0x9c, 0xb8, 0x49, 0x2e, 0x80, 0x45, 0xdd, 0x13, 0x9e, 0xd0, 0xb0, 0x62, 0xe9, - 0x19, 0xf5, 0xfd, 0x89, 0x9b, 0xe4, 0x16, 0x4c, 0x0f, 0x70, 0x98, 0xfe, 0x5d, 0x34, 0x2e, 0x01, - 0x60, 0xc7, 0xd5, 0xd4, 0x65, 0x29, 0x11, 0x05, 0x24, 0x67, 0xd1, 0x2b, 0x72, 0x9e, 0x55, 0xca, - 0x0d, 0x33, 0x66, 0x94, 0x6b, 0x95, 0xaa, 0x41, 0xee, 0xc1, 0x25, 0x93, 0x40, 0x50, 0x37, 0x9f, - 0x54, 0x97, 0xfe, 0x08, 0xad, 0x52, 0x2e, 0x2e, 0xec, 0x82, 0x72, 0xcc, 0xb1, 0xde, 0x79, 0xf4, - 0x2a, 0x4c, 0xe7, 0xfb, 0x0f, 0x84, 0x2f, 0x8e, 0xb5, 0x4f, 0xa1, 0xfd, 0x2c, 0xee, 0xd3, 0x1c, - 0xcc, 0x2e, 0xf2, 0x08, 0xbd, 0x36, 0x2c, 0x0a, 0x7c, 0xae, 0xa3, 0xb2, 0x06, 0x02, 0xa7, 0x5a, - 0x06, 0xa7, 0x58, 0x74, 0x20, 0x40, 0x66, 0xc1, 0xc9, 0x2d, 0x29, 0xcf, 0x1f, 0x13, 0x3a, 0x8e, - 0xca, 0x10, 0x0b, 0x68, 0x3a, 0x83, 0x0e, 0x72, 0x1f, 0x1d, 0x4b, 0x0a, 0xe9, 0xb7, 0x6c, 0x12, - 0x40, 0x40, 0xe4, 0x78, 0xba, 0x89, 0x81, 0x58, 0x0c, 0x26, 0xef, 0xc2, 0xb9, 0xae, 0xca, 0xd8, - 0x22, 0xe6, 0x50, 0x45, 0xfb, 0x54, 0xb0, 0xa1, 0x29, 0xe8, 0x36, 0xf9, 0x2a, 0xd0, 0x8e, 0x25, - 0x80, 0xc0, 0x2c, 0x9a, 0x50, 0x90, 0x5c, 0xdf, 0x0c, 0x42, 0x00, 0xd5, 0xa7, 0x72, 0x33, 0x0e, - 0x49, 0x8c, 0x53, 0xd1, 0x61, 0xca, 0xe0, 0x54, 0x8c, 0x2e, 0x7d, 0x2a, 0x86, 0xe8, 0xe0, 0x54, - 0x34, 0x30, 0xf7, 0x54, 0x06, 0xa2, 0x03, 0x01, 0x52, 0x19, 0x9e, 0x57, 0x07, 0x25, 0xdf, 0x44, - 0x5f, 0x1a, 0x19, 0xd1, 0x81, 0x09, 0xd2, 0x33, 0xc4, 0x2e, 0x72, 0x27, 0x9d, 0x86, 0x04, 0x99, - 0x02, 0x47, 0xac, 0x47, 0x07, 0x2e, 0x07, 0x94, 0x6f, 0xa1, 0x93, 0x99, 0x08, 0x20, 0x71, 0x73, - 0x74, 0xdd, 0x67, 0xf3, 0x39, 0x0c, 0xe6, 0x30, 0x36, 0xe0, 0xd4, 0xb0, 0x26, 0x36, 0x42, 0xe6, - 0x31, 0x9a, 0xca, 0x86, 0x00, 0x9b, 0xdb, 0x29, 0x5b, 0x52, 0x98, 0x8e, 0xb9, 0x37, 0x6f, 0xa0, - 0xd7, 0xf5, 0xc3, 0x26, 0x05, 0xee, 0x04, 0x1b, 0x61, 0xcc, 0xe4, 0x6f, 0x63, 0xa8, 0x9a, 0x36, - 0x0a, 0x24, 0xee, 0xa2, 0xc3, 0x42, 0xcf, 0x42, 0xa7, 0x21, 0x22, 0x86, 0x95, 0xc8, 0x6b, 0xd0, - 0x81, 0xcb, 0x35, 0x22, 0x8e, 0x38, 0xd6, 0x58, 0x0a, 0xbd, 0x00, 0xc2, 0x96, 0x11, 0x41, 0x5c, - 0x43, 0xc8, 0x6d, 0x70, 0xef, 0x09, 0x5d, 0xa5, 0x5c, 0x39, 0xd7, 0x92, 0x63, 0xf4, 0x08, 0x9b, - 0x15, 0x32, 0xec, 0x7e, 0xa7, 0xb5, 0x4e, 0xa3, 0xca, 0x5e, 0x65, 0xb3, 0x46, 0x97, 0x70, 0x44, - 0xf2, 0x35, 0xa2, 0x31, 0xa6, 0x24, 0x31, 0xc9, 0x4e, 0xe1, 0xda, 0xf4, 0x23, 0x11, 0x03, 0xc7, - 0x25, 0x70, 0xa4, 0x5f, 0x78, 0x07, 0xb8, 0xc9, 0x31, 0x72, 0x42, 0x22, 0x87, 0x7a, 0xc5, 0x9c, - 0xbe, 0xcb, 0xb8, 0xd8, 0xa5, 0x7b, 0x61, 0xd3, 0xdb, 0xf0, 0x68, 0x53, 0xba, 0xcb, 0x92, 0x33, - 0xd2, 0x4f, 0xe6, 0xd1, 0x29, 0xfd, 0xf2, 0x4a, 0x6f, 0xb4, 0xec, 0x31, 0x1e, 0x79, 0xeb, 0x1d, - 0xb1, 0x15, 0xa9, 0x8f, 0x76, 0x39, 0x7e, 0xb4, 0x1f, 0x21, 0x92, 0x27, 0x6a, 0x38, 0xa5, 0x4e, - 0x14, 0xd1, 0x80, 0x6b, 0xa7, 0xa4, 0x9a, 0x22, 0x22, 0xd8, 0x76, 0x03, 0x4e, 0x9b, 0xb0, 0xbd, - 0xd0, 0x22, 0x57, 0xd1, 0x71, 0x15, 0xa8, 0x36, 0xa4, 0x59, 0xdc, 0x8a, 0xc2, 0xd6, 0x47, 0xd4, - 0xf5, 0xbb, 0x86, 0xdf, 0xfa, 0x9e, 0x68, 0x6b, 0x3e, 0x71, 0x93, 0xcc, 0xc7, 0xc1, 0xf4, 0x88, - 0xe4, 0x80, 0x4c, 0x46, 0xe0, 0x16, 0x1b, 0xde, 0x23, 0x99, 0xdf, 0x38, 0x2a, 0xbd, 0x89, 0x0d, - 0x2f, 0x00, 0xbb, 0x1b, 0x1a, 0x84, 0x49, 0x57, 0xd0, 0x11, 0xb1, 0xad, 0x89, 0xc1, 0xdc, 0x30, - 0x33, 0x39, 0xcd, 0xa8, 0x30, 0xf9, 0xaf, 0x05, 0xcf, 0xee, 0x3d, 0x65, 0x2b, 0xf1, 0xca, 0x4f, - 0xa3, 0x83, 0xdc, 0x6b, 0x51, 0xc6, 0xdd, 0x56, 0x7b, 0x39, 0xdc, 0x0e, 0xe0, 0xa9, 0x4c, 0x76, - 0x0a, 0xd3, 0xd4, 0x1d, 0x0f, 0xdb, 0x32, 0xe8, 0x2e, 0x39, 0x66, 0x97, 0x98, 0xa7, 0x01, 0x91, - 0x90, 0x88, 0x3b, 0x99, 0x8c, 0x00, 0xcb, 0x4e, 0xb2, 0x53, 0xf8, 0x85, 0x88, 0xb6, 0x43, 0x11, - 0x09, 0x49, 0xdb, 0x2d, 0x3b, 0xba, 0x2d, 0x3c, 0x50, 0xd8, 0xe1, 0x8d, 0xb0, 0x45, 0xa5, 0xb5, - 0x1e, 0xca, 0xf0, 0x40, 0x0f, 0x14, 0xc6, 0x89, 0xc1, 0xfa, 0xda, 0xac, 0xf8, 0x6e, 0x97, 0x36, - 0x2b, 0x13, 0xf2, 0xe0, 0xcd, 0x2e, 0xf2, 0x35, 0xf0, 0x79, 0x7a, 0xe9, 0xb0, 0xcb, 0x73, 0x10, - 0xad, 0xd0, 0xf8, 0x7d, 0xc9, 0x8b, 0x3f, 0x62, 0x28, 0xf9, 0xad, 0x35, 0x88, 0x2c, 0xf4, 0x36, - 0x5e, 0xd6, 0x41, 0xb3, 0x25, 0xb9, 0x67, 0xb9, 0x71, 0x3e, 0x14, 0x33, 0x13, 0x74, 0x40, 0xec, - 0x90, 0x34, 0x71, 0x11, 0x04, 0x8e, 0xc9, 0x5d, 0x4b, 0xf4, 0x99, 0x5b, 0x2b, 0x83, 0x33, 0xb9, - 0xb5, 0x25, 0x27, 0xd9, 0x39, 0x08, 0xe6, 0x4b, 0x46, 0x30, 0x4f, 0xde, 0x81, 0x28, 0x4d, 0x71, - 0x85, 0x75, 0x8b, 0xb8, 0x59, 0x5c, 0xb7, 0x38, 0xa6, 0x83, 0x16, 0xb9, 0x08, 0x0e, 0x4a, 0x06, - 0xda, 0x2a, 0xcb, 0xde, 0x29, 0x2f, 0xfa, 0x0e, 0xaa, 0x8c, 0x8a, 0x80, 0x9a, 0x45, 0x75, 0x30, - 0xd0, 0x0d, 0xe6, 0x3b, 0x95, 0x1d, 0xda, 0x83, 0xb8, 0x29, 0x44, 0xe6, 0x46, 0xe7, 0x67, 0xc6, - 0xa5, 0xcd, 0x88, 0x4d, 0x5d, 0xe3, 0xc9, 0x1f, 0x48, 0x01, 0xad, 0x65, 0x74, 0xc0, 0xd0, 0x10, - 0x1f, 0xfd, 0xce, 0xbc, 0x12, 0x52, 0x33, 0xff, 0x3b, 0x89, 0xc6, 0xa5, 0x0e, 0xfc, 0x53, 0x0b, - 0x4d, 0xa8, 0x92, 0x01, 0x4e, 0xf7, 0x4f, 0xa3, 0xf5, 0x89, 0xea, 0xf4, 0xce, 0x40, 0xc5, 0x96, - 0x5c, 0xfa, 0xe1, 0xdf, 0xff, 0xf5, 0xc9, 0x98, 0x8d, 0x2f, 0xd8, 0xcb, 0xb4, 0x41, 0x03, 0x1e, - 0xb9, 0xbe, 0x20, 0x75, 0xdb, 0x6d, 0x51, 0x3b, 0xbb, 0xa0, 0x86, 0xff, 0x6c, 0x0d, 0x27, 0xde, - 0x78, 0x26, 0x5b, 0x67, 0x56, 0x3d, 0xa3, 0x3a, 0xbb, 0x2b, 0x19, 0xa0, 0xbc, 0x24, 0x29, 0xbf, - 0x8f, 0xdf, 0x2b, 0x4a, 0x39, 0x59, 0xe1, 0xb3, 0x7b, 0x5e, 0xb3, 0x8f, 0x3f, 0xb3, 0xd0, 0x91, - 0xe4, 0xfc, 0x0b, 0xbe, 0x9f, 0xb7, 0x86, 0xac, 0x6a, 0x47, 0xde, 0x1a, 0x32, 0xeb, 0x16, 0xe4, - 0x86, 0x5c, 0xc3, 0x55, 0x7c, 0xf9, 0xc5, 0xd6, 0x80, 0x3f, 0xb1, 0x50, 0x49, 0xe6, 0x7a, 0x6f, - 0x65, 0x6b, 0x37, 0xea, 0x0e, 0xd5, 0x33, 0x3b, 0xc1, 0x80, 0xd7, 0x75, 0xc9, 0xeb, 0x32, 0x9e, - 0x2b, 0xc8, 0x4b, 0x7c, 0xd9, 0x3d, 0x75, 0x2f, 0xfa, 0xf8, 0x67, 0x16, 0x2a, 0x89, 0x87, 0x38, - 0x8f, 0x95, 0x51, 0x94, 0xc8, 0x63, 0x65, 0x56, 0x23, 0xc8, 0xfb, 0x92, 0xd5, 0x15, 0x7c, 0xa9, - 0x20, 0xab, 0x0e, 0xa3, 0x91, 0xdd, 0x03, 0x3f, 0xd9, 0xc7, 0x3f, 0xb7, 0xd0, 0xb8, 0x7a, 0xc4, - 0x76, 0xd8, 0x06, 0x7d, 0xa6, 0x67, 0x77, 0xc4, 0xbd, 0xc4, 0x7e, 0x31, 0xbb, 0x27, 0x1f, 0xcf, - 0x3e, 0xfe, 0x85, 0x85, 0xc6, 0xe5, 0xeb, 0x9f, 0x47, 0xcc, 0x4c, 0x80, 0xf3, 0x88, 0x25, 0x32, - 0xdf, 0x5d, 0x1b, 0x98, 0xf4, 0x3e, 0x76, 0x0f, 0xd2, 0xe9, 0x3e, 0xfe, 0xb1, 0x85, 0xf6, 0xae, - 0x52, 0x8e, 0x4f, 0x67, 0x2b, 0x1c, 0xa4, 0xc8, 0xd5, 0xb7, 0x76, 0x40, 0x01, 0xa9, 0x6b, 0x92, - 0xd4, 0x1c, 0x9e, 0x29, 0x48, 0x8a, 0x51, 0x6e, 0xf7, 0xa4, 0xf3, 0xe8, 0xe3, 0x3f, 0x58, 0xa8, - 0xac, 0xd3, 0x54, 0x7c, 0x2e, 0x4f, 0x61, 0x32, 0x83, 0xae, 0xbe, 0x53, 0x08, 0x0b, 0x14, 0x6f, - 0x4b, 0x8a, 0x0b, 0xf8, 0xcb, 0x85, 0x29, 0xc6, 0xc5, 0x73, 0xc1, 0x54, 0x27, 0xe5, 0x7d, 0xfc, - 0x6b, 0x0b, 0x4d, 0x42, 0x36, 0x8b, 0x73, 0x9e, 0xe3, 0x64, 0x72, 0x5d, 0x7d, 0xbb, 0x00, 0x12, - 0x98, 0x2e, 0x4a, 0xa6, 0xd7, 0xf1, 0xb5, 0xa2, 0xa6, 0xa7, 0xe4, 0xed, 0x9e, 0x4e, 0xd6, 0xfb, - 0xf8, 0x97, 0x16, 0x9a, 0x50, 0x29, 0x6f, 0x9e, 0x6f, 0x49, 0xe4, 0xde, 0x79, 0xbe, 0x25, 0x99, - 0x72, 0x93, 0x0f, 0x24, 0xc3, 0x6b, 0xf8, 0x6a, 0xe1, 0xbd, 0x14, 0xe2, 0x62, 0x1f, 0x55, 0x2a, - 0xdf, 0xc7, 0xbf, 0xb7, 0x50, 0x59, 0xa7, 0x5f, 0x79, 0x87, 0x3e, 0x9c, 0xa0, 0xe7, 0x1d, 0xfa, - 0x48, 0x46, 0x4e, 0x6e, 0x49, 0xa2, 0x1f, 0xe0, 0x1b, 0x05, 0x89, 0xea, 0xec, 0xcf, 0xee, 0x19, - 0x29, 0xbf, 0x3c, 0x73, 0x34, 0xc8, 0x39, 0x71, 0x11, 0x0e, 0xfa, 0xc9, 0x39, 0x5f, 0x0c, 0x0c, - 0x8c, 0xe7, 0x25, 0xe3, 0x59, 0x7c, 0x71, 0xb7, 0x8c, 0x19, 0xfe, 0x8b, 0x85, 0xf0, 0x68, 0x4a, - 0x8b, 0x67, 0x0b, 0xe8, 0x1f, 0x4e, 0xb4, 0xab, 0x73, 0xbb, 0x13, 0x7a, 0x41, 0x07, 0x9e, 0xf6, - 0x83, 0x10, 0x7e, 0x6a, 0xa1, 0xa3, 0x29, 0xf9, 0x3d, 0x2e, 0x42, 0x69, 0xa4, 0x62, 0x50, 0xbd, - 0xb4, 0x4b, 0x29, 0x58, 0xc9, 0xb2, 0x5c, 0xc9, 0x0d, 0x7c, 0x7d, 0xd7, 0xc7, 0x60, 0x2e, 0xe5, - 0x8f, 0x16, 0x3a, 0x98, 0xa8, 0x0f, 0xe0, 0x7a, 0xbe, 0xff, 0x19, 0x2e, 0x33, 0x54, 0xed, 0xc2, - 0xf8, 0x17, 0xf4, 0xa8, 0xfa, 0x6b, 0xcd, 0x13, 0xfc, 0xbe, 0xb0, 0xd0, 0xab, 0xa9, 0x39, 0x34, - 0xbe, 0x9c, 0xef, 0x09, 0xb2, 0xf2, 0xf5, 0xea, 0x95, 0x5d, 0xcb, 0xc1, 0x4a, 0xee, 0xcb, 0x95, - 0x7c, 0x05, 0xdf, 0x2a, 0xee, 0x53, 0xd6, 0x64, 0xf1, 0xba, 0xbb, 0xd6, 0x34, 0xe6, 0xd3, 0x7e, - 0xe6, 0xaf, 0x16, 0x3a, 0x3c, 0x9c, 0x8c, 0xe3, 0x8b, 0x39, 0x31, 0x5e, 0x7a, 0xca, 0x5f, 0x9d, - 0xd9, 0x8d, 0x08, 0xac, 0xe5, 0xae, 0x5c, 0xcb, 0x4d, 0xbc, 0x54, 0x70, 0x2d, 0xae, 0x9a, 0x68, - 0x6d, 0x23, 0x0a, 0x5b, 0x6b, 0xb2, 0xa2, 0x60, 0xf7, 0xa0, 0xb0, 0xd0, 0x97, 0x56, 0x95, 0xc8, - 0xd1, 0xf3, 0xac, 0x2a, 0xad, 0x86, 0x90, 0x67, 0x55, 0xa9, 0x65, 0x85, 0x5d, 0x5b, 0x55, 0xf2, - 0x97, 0x59, 0xfc, 0x1f, 0x0b, 0x4d, 0x42, 0x0e, 0x9d, 0xe7, 0x32, 0x93, 0x15, 0x86, 0x3c, 0x97, - 0x39, 0x94, 0x90, 0x93, 0x1f, 0x59, 0x92, 0xe0, 0x0f, 0x2c, 0xfc, 0xfd, 0xdd, 0x84, 0x45, 0x94, - 0xd9, 0xbd, 0x44, 0xbd, 0xa2, 0x6f, 0xb4, 0x1f, 0xb6, 0xfb, 0xc2, 0xa5, 0x1a, 0x55, 0x88, 0xbe, - 0xdd, 0x8b, 0x8b, 0x0e, 0x7d, 0xbb, 0x07, 0x65, 0x84, 0xbe, 0x8a, 0x92, 0xa1, 0x64, 0xd0, 0xc7, - 0x7f, 0xb2, 0x50, 0x49, 0x56, 0xe5, 0xf2, 0x43, 0x27, 0x56, 0x20, 0x54, 0x36, 0x73, 0x6f, 0xd2, - 0x90, 0x2b, 0xfc, 0x36, 0xfe, 0x56, 0xf1, 0xeb, 0xc0, 0xec, 0x9e, 0xaa, 0x16, 0xc0, 0x42, 0xe2, - 0xc2, 0x80, 0xb1, 0x2e, 0x19, 0xf4, 0xf6, 0x75, 0xdc, 0xfa, 0xa9, 0x85, 0xf6, 0x1b, 0xa9, 0x2b, - 0x3e, 0x9f, 0xff, 0xfc, 0x24, 0x73, 0xfd, 0xea, 0x85, 0x82, 0xe8, 0x17, 0x7c, 0x63, 0xcd, 0x1f, - 0xf1, 0x07, 0xa9, 0xc9, 0xef, 0x2c, 0x74, 0xc0, 0x4c, 0xd7, 0x71, 0x31, 0x16, 0x7a, 0xff, 0xeb, - 0x45, 0xe1, 0x2f, 0x91, 0x18, 0xc4, 0xac, 0xd9, 0xa2, 0xf3, 0xf4, 0x59, 0xcd, 0xfa, 0xfc, 0x59, - 0xcd, 0xfa, 0xe7, 0xb3, 0x9a, 0xf5, 0x93, 0xe7, 0xb5, 0x3d, 0x9f, 0x3f, 0xaf, 0xed, 0xf9, 0xe2, - 0x79, 0x6d, 0xcf, 0x47, 0x57, 0x37, 0x3d, 0xbe, 0xd5, 0x59, 0xaf, 0x37, 0xc2, 0x56, 0xee, 0xcc, - 0xdf, 0x35, 0xbe, 0x79, 0xb7, 0x4d, 0xd9, 0xfa, 0x84, 0xfc, 0x87, 0x86, 0xd9, 0xff, 0x07, 0x00, - 0x00, 0xff, 0xff, 0xf9, 0xb6, 0xfb, 0x9d, 0xd1, 0x23, 0x00, 0x00, + // 2451 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x5a, 0xcd, 0x8f, 0x14, 0xc7, + 0x15, 0xa7, 0x97, 0xd9, 0x5d, 0xa6, 0xf8, 0x30, 0x14, 0xd8, 0x19, 0x8f, 0x61, 0x58, 0xca, 0x18, + 0xd6, 0x18, 0xa6, 0xcd, 0xee, 0xf2, 0xb1, 0x18, 0x13, 0xef, 0x07, 0x10, 0x82, 0x80, 0x75, 0x6f, + 0x20, 0x8a, 0xa3, 0x64, 0xd5, 0x3b, 0x53, 0xbb, 0xdb, 0xa2, 0xa7, 0x7b, 0xdc, 0x5d, 0xc3, 0x66, + 0x32, 0x1a, 0x45, 0xc9, 0x29, 0xa7, 0x28, 0x8a, 0xa3, 0x28, 0x97, 0x48, 0x51, 0x4e, 0x51, 0x3e, + 0x14, 0x9f, 0x23, 0x2b, 0xa7, 0x28, 0xe2, 0xe8, 0x28, 0x17, 0x9f, 0xa2, 0x08, 0x22, 0x45, 0xf9, + 0x13, 0xa2, 0x5c, 0xac, 0xaa, 0x7a, 0x55, 0x53, 0x3d, 0xd3, 0xdd, 0xdb, 0x0b, 0x17, 0x34, 0x55, + 0xfd, 0x7b, 0xf5, 0x7e, 0xaf, 0xea, 0x55, 0xbd, 0x8f, 0x05, 0x9d, 0x6c, 0xb8, 0x51, 0xb3, 0xb1, + 0xe5, 0x7a, 0x81, 0x3d, 0xf8, 0xf5, 0x71, 0x87, 0x46, 0xdd, 0x7a, 0x3b, 0x0a, 0x59, 0x88, 0x8f, + 0xea, 0xe9, 0xba, 0xfe, 0x55, 0x3d, 0xe2, 0xb6, 0xbc, 0x20, 0xb4, 0xc5, 0xbf, 0x12, 0x57, 0x3d, + 0xb6, 0x19, 0x6e, 0x86, 0xe2, 0xa7, 0xcd, 0x7f, 0xc1, 0xec, 0xf1, 0xcd, 0x30, 0xdc, 0xf4, 0xa9, + 0xed, 0xb6, 0x3d, 0xdb, 0x0d, 0x82, 0x90, 0xb9, 0xcc, 0x0b, 0x83, 0x18, 0xbe, 0x9e, 0x6b, 0x84, + 0x71, 0x2b, 0x8c, 0xed, 0x75, 0x37, 0xa6, 0x52, 0xa9, 0xfd, 0xe4, 0xe2, 0x3a, 0x65, 0xee, 0x45, + 0xbb, 0xed, 0x6e, 0x7a, 0x81, 0x00, 0x03, 0x76, 0x2a, 0x8d, 0x68, 0xdb, 0x8d, 0xdc, 0x96, 0x5a, + 0xed, 0xed, 0x54, 0x44, 0x14, 0x36, 0x3b, 0x0d, 0xb6, 0xd6, 0xa4, 0xcc, 0xf5, 0xfc, 0x5c, 0x28, + 0xff, 0xb5, 0xb6, 0xed, 0xb1, 0xad, 0x35, 0xaf, 0xe5, 0x6e, 0x52, 0x80, 0xd6, 0xd2, 0xa0, 0x9d, + 0x98, 0x46, 0x79, 0xdf, 0xf9, 0x2f, 0xf8, 0x9e, 0xba, 0xc1, 0x2d, 0x97, 0x35, 0xb6, 0x00, 0x70, + 0x22, 0x0d, 0x10, 0x53, 0xa6, 0xf7, 0x28, 0xfd, 0xb3, 0x64, 0xea, 0x46, 0x6c, 0x3b, 0x8c, 0x1e, + 0x03, 0xf6, 0x74, 0x3a, 0xd6, 0xf7, 0xd7, 0xc2, 0x8d, 0x0d, 0xcd, 0xf8, 0x54, 0x2a, 0xe3, 0xb0, + 0x13, 0x34, 0x3c, 0x3f, 0x6f, 0xb3, 0x63, 0x1a, 0x3d, 0xd1, 0x8b, 0xbc, 0x99, 0x86, 0xa0, 0x01, + 0x5f, 0x86, 0x69, 0x50, 0x3d, 0x17, 0x94, 0xb6, 0xd7, 0x86, 0x3f, 0x28, 0x4f, 0x68, 0x84, 0x9e, + 0xf2, 0x81, 0xe9, 0xb4, 0xf5, 0x9e, 0x84, 0xcc, 0x0b, 0x36, 0xd7, 0x22, 0x1a, 0x77, 0x7c, 0xa6, + 0x0e, 0xf8, 0x4c, 0xe6, 0x01, 0x37, 0xc2, 0x80, 0xd1, 0x00, 0x76, 0x97, 0x1c, 0x43, 0xf8, 0x43, + 0xee, 0x77, 0x2b, 0xc2, 0x91, 0x1c, 0xfa, 0x71, 0x87, 0xc6, 0x8c, 0x3c, 0x44, 0x47, 0x13, 0xb3, + 0x71, 0x3b, 0x0c, 0x62, 0x8a, 0x6f, 0xa0, 0x09, 0xe9, 0x70, 0x15, 0x6b, 0xca, 0x9a, 0xde, 0x3f, + 0xf3, 0x46, 0x3d, 0xe5, 0x6e, 0xd4, 0xa5, 0xd0, 0x62, 0xf9, 0xe9, 0x3f, 0x4f, 0xee, 0xf9, 0xed, + 0x7f, 0x3e, 0x3d, 0x67, 0x39, 0x20, 0x45, 0x6c, 0x74, 0x42, 0x2c, 0x7b, 0x9b, 0xb2, 0x15, 0xe9, + 0x96, 0xcb, 0xd2, 0x2b, 0x41, 0x2f, 0x3e, 0x84, 0xc6, 0xbc, 0xa6, 0x58, 0xbc, 0xe4, 0x8c, 0x79, + 0x4d, 0x12, 0xa3, 0x5a, 0x96, 0x00, 0x50, 0xfa, 0x10, 0x1d, 0x4a, 0x7e, 0x01, 0x6a, 0x6f, 0xa6, + 0x53, 0x4b, 0x40, 0x17, 0x4b, 0x9c, 0xa2, 0x33, 0xb4, 0x00, 0xd9, 0x04, 0x96, 0x0b, 0xbe, 0x9f, + 0xce, 0xf2, 0x16, 0x42, 0x83, 0xdb, 0x09, 0xfa, 0xce, 0xd4, 0xe5, 0xd1, 0xd5, 0xf9, 0xd1, 0xd5, + 0xe5, 0xfb, 0x01, 0x07, 0x58, 0x5f, 0x71, 0x37, 0x29, 0xc8, 0x3a, 0x86, 0x24, 0xf9, 0xcc, 0x02, + 0xf3, 0x52, 0x34, 0xe5, 0x98, 0xb7, 0xf7, 0xa5, 0xcc, 0xc3, 0xb7, 0x13, 0xec, 0xc7, 0x04, 0xfb, + 0xb3, 0x3b, 0xb2, 0x97, 0x7c, 0x12, 0xf4, 0xcf, 0xa1, 0xc3, 0x82, 0xfd, 0x92, 0x1b, 0x35, 0xd5, + 0xd6, 0xbc, 0x86, 0x26, 0x38, 0x9d, 0x3b, 0xea, 0x10, 0x61, 0x44, 0xee, 0xa2, 0x23, 0x06, 0x16, + 0x8c, 0xbb, 0x8c, 0x4a, 0xfc, 0x33, 0xec, 0x20, 0x49, 0x35, 0x89, 0x0b, 0x7c, 0xd3, 0x63, 0x5b, + 0x77, 0xf8, 0x2d, 0x71, 0x04, 0x9e, 0x9c, 0x07, 0xc5, 0x0f, 0x63, 0x1a, 0x29, 0xc5, 0x15, 0x34, + 0xe9, 0x36, 0x9b, 0x11, 0x8d, 0xa5, 0x03, 0x94, 0x1d, 0x35, 0x24, 0x8b, 0xa0, 0x5a, 0xa2, 0x41, + 0xf5, 0x05, 0x54, 0xe2, 0x4f, 0x18, 0xa8, 0x7e, 0x3d, 0x55, 0xb5, 0x10, 0x10, 0x30, 0xf2, 0xeb, + 0x92, 0xc1, 0x5f, 0xfb, 0xc1, 0x31, 0x34, 0x1e, 0x6e, 0x07, 0xb0, 0x4a, 0xd9, 0x91, 0x03, 0x7c, + 0x05, 0x4d, 0xc4, 0xcc, 0x65, 0x9d, 0xb8, 0x32, 0x36, 0xb5, 0x77, 0xfa, 0xd0, 0xcc, 0xc9, 0x4c, + 0xbb, 0x56, 0x05, 0xcc, 0x01, 0x38, 0x9e, 0x47, 0xfb, 0xf8, 0xf7, 0x6f, 0x74, 0xdb, 0xb4, 0xb2, + 0x57, 0x88, 0x9e, 0xc8, 0x14, 0xe5, 0x20, 0x47, 0xc3, 0xf1, 0x1c, 0x1a, 0x6f, 0xf8, 0x6e, 0x1c, + 0x57, 0x4a, 0x42, 0xae, 0x96, 0x29, 0xb7, 0xc4, 0x51, 0x8e, 0x04, 0xf3, 0xc3, 0x8a, 0xc3, 0x88, + 0x2d, 0x76, 0x2b, 0xe3, 0xc2, 0x00, 0x18, 0x61, 0x82, 0x0e, 0x04, 0x6e, 0x8b, 0x2e, 0x85, 0x01, + 0x73, 0xbd, 0x20, 0xae, 0x4c, 0x88, 0xaf, 0x89, 0x39, 0x7c, 0x0e, 0x1d, 0x7e, 0x4c, 0xbb, 0xdb, + 0x61, 0xd4, 0x8c, 0x35, 0x6e, 0x52, 0xe0, 0x46, 0xe6, 0xf1, 0x69, 0x74, 0x30, 0x08, 0x19, 0x1d, + 0x00, 0xf7, 0x09, 0x60, 0x72, 0x12, 0x4f, 0xa3, 0x57, 0xc2, 0xc0, 0xef, 0xae, 0x32, 0x37, 0x62, + 0x34, 0xe2, 0x64, 0x2b, 0xe5, 0x29, 0x6b, 0x7a, 0x9f, 0x33, 0x3c, 0x8d, 0xeb, 0x08, 0xf3, 0xa9, + 0x45, 0xd7, 0x77, 0x83, 0x06, 0x5d, 0x08, 0x1a, 0x5b, 0x61, 0x14, 0x57, 0x90, 0x00, 0xa7, 0x7c, + 0xc1, 0xef, 0xa1, 0x7d, 0x91, 0x1b, 0x79, 0xcc, 0xa3, 0x71, 0x65, 0xff, 0x0e, 0x67, 0xe2, 0x70, + 0x60, 0xd7, 0xd1, 0x02, 0xf8, 0x0c, 0x3a, 0xd4, 0xea, 0xf8, 0xcc, 0x13, 0x3b, 0xf7, 0x20, 0xf0, + 0xbb, 0x95, 0x03, 0x42, 0xd1, 0xd0, 0x2c, 0xa9, 0xc3, 0x43, 0x0a, 0x1e, 0x02, 0x7e, 0x56, 0x41, + 0x93, 0xf2, 0x06, 0xc8, 0x8b, 0x5b, 0x72, 0xd4, 0x90, 0x5c, 0x00, 0x8f, 0xba, 0xc7, 0x23, 0xa1, + 0xe1, 0xc5, 0x22, 0x32, 0xea, 0xfb, 0xa3, 0x86, 0xe4, 0x16, 0x2c, 0x0f, 0x70, 0x58, 0xfe, 0x5d, + 0x34, 0x2e, 0x00, 0xe0, 0xc7, 0xd5, 0x54, 0xb3, 0xa4, 0x88, 0x04, 0x92, 0xb3, 0xe8, 0x15, 0xb1, + 0xce, 0x2a, 0x65, 0x86, 0x1b, 0xc7, 0x94, 0x69, 0x95, 0x72, 0x40, 0xee, 0xc1, 0x25, 0x13, 0x40, + 0x50, 0x37, 0x9f, 0x54, 0x97, 0xfe, 0x08, 0xad, 0x52, 0xc6, 0x2f, 0xec, 0x82, 0x0c, 0xcc, 0x4a, + 0xef, 0x3c, 0x7a, 0x15, 0x96, 0xf3, 0xfd, 0x07, 0x3c, 0x16, 0x2b, 0xed, 0x53, 0x68, 0x7f, 0xac, + 0xe6, 0x34, 0x07, 0x73, 0x8a, 0x3c, 0x42, 0xaf, 0x0d, 0x8b, 0x02, 0x9f, 0xeb, 0xa8, 0xac, 0x81, + 0xc0, 0xa9, 0x96, 0xc1, 0x49, 0x89, 0x0e, 0x04, 0xc8, 0x2c, 0x04, 0xb9, 0x25, 0x19, 0xf9, 0x15, + 0xa1, 0xe3, 0xa8, 0x0c, 0xb9, 0x80, 0xa6, 0x33, 0x98, 0x20, 0xf7, 0xd1, 0xb1, 0xa4, 0x90, 0x7e, + 0xcb, 0x26, 0x01, 0x04, 0x44, 0x8e, 0xa7, 0xbb, 0x18, 0x88, 0x29, 0x30, 0x79, 0x17, 0xce, 0x75, + 0x55, 0xe4, 0x16, 0x8a, 0x43, 0x15, 0xed, 0x93, 0xc9, 0x86, 0xa6, 0xa0, 0xc7, 0xe4, 0xeb, 0x40, + 0x5b, 0x49, 0x00, 0x81, 0x59, 0x34, 0x21, 0x21, 0xb9, 0xb1, 0x19, 0x84, 0x00, 0xaa, 0x4f, 0xe5, + 0xa6, 0x4a, 0x49, 0x8c, 0x53, 0xd1, 0x69, 0xca, 0xe0, 0x54, 0x8c, 0x29, 0x7d, 0x2a, 0x86, 0xe8, + 0xe0, 0x54, 0x34, 0x30, 0xf7, 0x54, 0x06, 0xa2, 0x03, 0x01, 0x52, 0x19, 0x5e, 0x57, 0x27, 0x25, + 0xdf, 0x42, 0x5f, 0x19, 0xf9, 0xa2, 0x13, 0x13, 0xa4, 0x57, 0x50, 0x21, 0x72, 0x27, 0x9d, 0x86, + 0x04, 0x99, 0x82, 0x40, 0xac, 0xbf, 0x0e, 0x42, 0x0e, 0x28, 0xdf, 0x42, 0x27, 0x33, 0x11, 0x40, + 0xe2, 0xe6, 0xa8, 0xdd, 0x67, 0xf3, 0x39, 0x0c, 0xd6, 0x30, 0x36, 0xe0, 0xd4, 0xb0, 0xa6, 0x78, + 0x84, 0xcc, 0x63, 0x34, 0x95, 0x0d, 0x01, 0x36, 0xb7, 0x53, 0xb6, 0xa4, 0x30, 0x1d, 0x73, 0x6f, + 0xde, 0x40, 0xaf, 0xeb, 0x87, 0x4d, 0x08, 0xdc, 0x09, 0x36, 0x42, 0xc5, 0xe4, 0xef, 0x63, 0xa8, + 0x9a, 0xf6, 0x15, 0x48, 0xdc, 0x45, 0x87, 0xb9, 0x9e, 0x85, 0x4e, 0x83, 0x67, 0x0c, 0x2b, 0x91, + 0xd7, 0xa0, 0x83, 0x90, 0x6b, 0x64, 0x1c, 0x2a, 0xd7, 0x58, 0x0a, 0xbd, 0x00, 0xd2, 0x96, 0x11, + 0x41, 0x5c, 0x43, 0xc8, 0x6d, 0x30, 0xef, 0x09, 0x5d, 0xa5, 0x4c, 0x06, 0xd7, 0x92, 0x63, 0xcc, + 0x70, 0x9f, 0xe5, 0x32, 0xf1, 0xfd, 0x4e, 0x6b, 0x9d, 0x46, 0x95, 0xbd, 0xd2, 0x67, 0x8d, 0x29, + 0x1e, 0x88, 0xc4, 0x6b, 0x44, 0x15, 0xa6, 0x24, 0x30, 0xc9, 0x49, 0x1e, 0xda, 0xf4, 0x23, 0xa1, + 0x80, 0xe3, 0x02, 0x38, 0x32, 0xcf, 0xa3, 0x03, 0xdc, 0x64, 0x85, 0x9c, 0x10, 0xc8, 0xa1, 0x59, + 0xbe, 0xa6, 0xef, 0xc6, 0x8c, 0xef, 0xd2, 0xbd, 0xb0, 0xe9, 0x6d, 0x78, 0xb4, 0x29, 0xc2, 0x65, + 0xc9, 0x19, 0x99, 0x27, 0xf3, 0xe8, 0x94, 0x7e, 0x79, 0x45, 0x34, 0x5a, 0xf6, 0x62, 0x16, 0x79, + 0xeb, 0x1d, 0xbe, 0x15, 0xa9, 0x8f, 0x76, 0x59, 0x3d, 0xda, 0x8f, 0x10, 0xc9, 0x13, 0x35, 0x82, + 0x52, 0x27, 0x8a, 0x68, 0xc0, 0x74, 0x50, 0x92, 0x43, 0x9e, 0x11, 0x6c, 0xbb, 0x01, 0xa3, 0x4d, + 0xd8, 0x5e, 0x18, 0x91, 0xab, 0xe8, 0xb8, 0x4c, 0x54, 0x1b, 0xc2, 0x2d, 0x6e, 0x45, 0x61, 0xeb, + 0x23, 0xea, 0xfa, 0x5d, 0x23, 0x6e, 0x7d, 0x9f, 0x8f, 0x35, 0x1f, 0x35, 0x24, 0xf3, 0x2a, 0x99, + 0x1e, 0x91, 0x1c, 0x90, 0xc9, 0x48, 0xdc, 0x94, 0xe3, 0x3d, 0x12, 0xf5, 0x8d, 0x23, 0xcb, 0x1b, + 0xe5, 0x78, 0x01, 0xf8, 0xdd, 0xd0, 0x47, 0x58, 0x74, 0x05, 0x1d, 0xe1, 0xdb, 0x9a, 0xf8, 0x98, + 0x9b, 0x66, 0x26, 0x97, 0x19, 0x15, 0x26, 0xff, 0xb3, 0xe0, 0xd9, 0xbd, 0x27, 0x7d, 0x45, 0x59, + 0x7e, 0x1a, 0x1d, 0x64, 0x5e, 0x8b, 0xc6, 0xcc, 0x6d, 0xb5, 0x97, 0xc3, 0xed, 0x00, 0x9e, 0xca, + 0xe4, 0x24, 0x77, 0x4d, 0x3d, 0xf1, 0xb0, 0x2d, 0x92, 0xee, 0x92, 0x63, 0x4e, 0xf1, 0x75, 0x1a, + 0x90, 0x09, 0xf1, 0xbc, 0x33, 0x16, 0x19, 0x60, 0xd9, 0x49, 0x4e, 0xf2, 0xb8, 0x10, 0xd1, 0x76, + 0xc8, 0x33, 0x21, 0xe1, 0xbb, 0x65, 0x47, 0x8f, 0x79, 0x04, 0x0a, 0x3b, 0xac, 0x11, 0xb6, 0xa8, + 0xf0, 0xd6, 0x43, 0x19, 0x11, 0xe8, 0x81, 0xc4, 0x38, 0x0a, 0xac, 0xaf, 0xcd, 0x8a, 0xef, 0x76, + 0x69, 0xb3, 0x32, 0x21, 0x0e, 0xde, 0x9c, 0x22, 0x5b, 0x10, 0xf3, 0xb4, 0xe9, 0xb0, 0xcb, 0x73, + 0x90, 0xad, 0x50, 0xf5, 0xbe, 0xe4, 0xe5, 0x1f, 0x0a, 0xca, 0x6d, 0x80, 0xa4, 0x46, 0x5d, 0x62, + 0x3d, 0x26, 0xbf, 0xb3, 0x06, 0x59, 0x87, 0xde, 0xe2, 0xcb, 0x3a, 0xa1, 0xb6, 0x84, 0x5d, 0x59, + 0x21, 0x9e, 0x0d, 0xe5, 0xd3, 0x04, 0x1d, 0xe0, 0xbb, 0x27, 0xdc, 0x9f, 0x27, 0x88, 0x63, 0x62, + 0x47, 0x13, 0x73, 0xe6, 0xb6, 0x8b, 0xc4, 0x4d, 0x6c, 0x7b, 0xc9, 0x49, 0x4e, 0x0e, 0x12, 0xfd, + 0x92, 0x91, 0xe8, 0x93, 0x77, 0x20, 0x83, 0x93, 0x5c, 0x61, 0x4f, 0x78, 0x4e, 0xcd, 0xaf, 0xa2, + 0xca, 0xf7, 0x60, 0x44, 0x2e, 0x42, 0xf0, 0x12, 0x49, 0xb8, 0xac, 0xc0, 0x77, 0xaa, 0x99, 0xbe, + 0x8b, 0x2a, 0xa3, 0x22, 0xa0, 0x66, 0x51, 0x1e, 0x1a, 0x4c, 0x83, 0x6b, 0x4f, 0x65, 0xa7, 0xfd, + 0x20, 0x6e, 0x0a, 0x91, 0xb9, 0xd1, 0xf5, 0x63, 0xe3, 0x42, 0x67, 0xe4, 0xad, 0xae, 0x11, 0x0e, + 0x06, 0x52, 0x40, 0x6b, 0x19, 0x1d, 0x30, 0x34, 0x28, 0xb7, 0xd8, 0x99, 0x57, 0x42, 0x6a, 0xe6, + 0xff, 0x27, 0xd1, 0xb8, 0xd0, 0x81, 0x7f, 0x66, 0xa1, 0x09, 0xd9, 0x4e, 0xc0, 0xe9, 0xb1, 0x6b, + 0xb4, 0x77, 0x51, 0x9d, 0xde, 0x19, 0x28, 0xd9, 0x92, 0x4b, 0x3f, 0xfa, 0xc7, 0xbf, 0x3f, 0x19, + 0xb3, 0xf1, 0x05, 0x7b, 0x99, 0x36, 0x68, 0xc0, 0x22, 0xd7, 0xe7, 0xa4, 0x6e, 0xbb, 0x2d, 0x6a, + 0x67, 0x37, 0xdb, 0xf0, 0x5f, 0xac, 0xe1, 0xa2, 0x1c, 0xcf, 0x64, 0xeb, 0xcc, 0xea, 0x75, 0x54, + 0x67, 0x77, 0x25, 0x03, 0x94, 0x97, 0x04, 0xe5, 0xf7, 0xf1, 0x7b, 0x45, 0x29, 0x27, 0xbb, 0x7f, + 0x76, 0xcf, 0x6b, 0xf6, 0xf1, 0x67, 0x16, 0x3a, 0x92, 0x5c, 0x7f, 0xc1, 0xf7, 0xf3, 0x6c, 0xc8, + 0xea, 0x84, 0xe4, 0xd9, 0x90, 0xd9, 0xd3, 0x20, 0x37, 0x84, 0x0d, 0x57, 0xf1, 0xe5, 0x17, 0xb3, + 0x01, 0x7f, 0x62, 0xa1, 0x92, 0xa8, 0x03, 0xdf, 0xca, 0xd6, 0x6e, 0xf4, 0x24, 0xaa, 0x67, 0x76, + 0x82, 0x01, 0xaf, 0xeb, 0x82, 0xd7, 0x65, 0x3c, 0x57, 0x90, 0x17, 0xff, 0x65, 0xf7, 0xe4, 0xbd, + 0xe8, 0xe3, 0x9f, 0x5b, 0xa8, 0xc4, 0x1f, 0xe9, 0x3c, 0x56, 0x46, 0xc3, 0x22, 0x8f, 0x95, 0xd9, + 0xa9, 0x20, 0xef, 0x0b, 0x56, 0x57, 0xf0, 0xa5, 0x82, 0xac, 0x3a, 0x31, 0x8d, 0xec, 0x1e, 0xc4, + 0xd0, 0x3e, 0xfe, 0x85, 0x85, 0xc6, 0xe5, 0x23, 0xb6, 0xc3, 0x36, 0xe8, 0x33, 0x3d, 0xbb, 0x23, + 0xee, 0x25, 0xf6, 0x2b, 0xb6, 0x7b, 0xe2, 0xf1, 0xec, 0xe3, 0x5f, 0x5a, 0x68, 0x5c, 0x44, 0x86, + 0x3c, 0x62, 0x66, 0x71, 0x9c, 0x47, 0x2c, 0x51, 0x15, 0xef, 0xda, 0xc1, 0x44, 0xf8, 0xb1, 0x7b, + 0x10, 0x85, 0xfa, 0xf8, 0x27, 0x16, 0xda, 0xbb, 0x4a, 0x19, 0x3e, 0x9d, 0xad, 0x70, 0x50, 0x3e, + 0x57, 0xdf, 0xda, 0x01, 0x05, 0xa4, 0xae, 0x09, 0x52, 0x73, 0x78, 0xa6, 0x20, 0xa9, 0x98, 0x32, + 0xbb, 0x27, 0x82, 0x47, 0x1f, 0xff, 0xd1, 0x42, 0x65, 0x5d, 0xc2, 0xe2, 0x73, 0x79, 0x0a, 0x93, + 0xd5, 0x75, 0xf5, 0x9d, 0x42, 0x58, 0xa0, 0x78, 0x5b, 0x50, 0x5c, 0xc0, 0x5f, 0x2d, 0x4c, 0x51, + 0x35, 0xd6, 0x39, 0x53, 0x5d, 0xb0, 0xf7, 0xf1, 0x6f, 0x2c, 0x34, 0x09, 0x95, 0x2e, 0xce, 0x79, + 0x8e, 0x93, 0x85, 0x77, 0xf5, 0xed, 0x02, 0x48, 0x60, 0xba, 0x28, 0x98, 0x5e, 0xc7, 0xd7, 0x8a, + 0xba, 0x9e, 0x94, 0xb7, 0x7b, 0xba, 0x90, 0xef, 0xe3, 0x5f, 0x59, 0x68, 0x42, 0x96, 0xc3, 0x79, + 0xb1, 0x25, 0x51, 0x97, 0xe7, 0xc5, 0x96, 0x64, 0x39, 0x4e, 0x3e, 0x10, 0x0c, 0xaf, 0xe1, 0xab, + 0x85, 0xf7, 0x92, 0x8b, 0xf3, 0x7d, 0x94, 0x65, 0x7e, 0x1f, 0xff, 0xc1, 0x42, 0x65, 0x5d, 0x9a, + 0xe5, 0x1d, 0xfa, 0x70, 0xf1, 0x9e, 0x77, 0xe8, 0x23, 0xd5, 0x3a, 0xb9, 0x25, 0x88, 0x7e, 0x80, + 0x6f, 0x14, 0x24, 0xaa, 0x2b, 0x43, 0xbb, 0x67, 0xb4, 0x03, 0xc4, 0x99, 0xa3, 0x41, 0x3d, 0x8a, + 0x8b, 0x70, 0xd0, 0x4f, 0xce, 0xf9, 0x62, 0x60, 0x60, 0x3c, 0x2f, 0x18, 0xcf, 0xe2, 0x8b, 0xbb, + 0x65, 0x1c, 0xe3, 0xbf, 0x5a, 0x08, 0x8f, 0x96, 0xbb, 0x78, 0xb6, 0x80, 0xfe, 0xe1, 0x22, 0xbc, + 0x3a, 0xb7, 0x3b, 0xa1, 0x17, 0x0c, 0xe0, 0x69, 0x7f, 0x2c, 0xc2, 0x4f, 0x2d, 0x74, 0x34, 0xa5, + 0xf6, 0xc7, 0x45, 0x28, 0x8d, 0x74, 0x13, 0xaa, 0x97, 0x76, 0x29, 0x05, 0x96, 0x2c, 0x0b, 0x4b, + 0x6e, 0xe0, 0xeb, 0xbb, 0x3e, 0x06, 0xd3, 0x94, 0x3f, 0x59, 0xe8, 0x60, 0xa2, 0x77, 0x80, 0xeb, + 0xf9, 0xf1, 0x67, 0xb8, 0x05, 0x51, 0xb5, 0x0b, 0xe3, 0x5f, 0x30, 0xa2, 0xea, 0x5f, 0x6b, 0x1e, + 0xe7, 0xf7, 0x85, 0x85, 0x5e, 0x4d, 0xad, 0xaf, 0xf1, 0xe5, 0xfc, 0x48, 0x90, 0x55, 0xcb, 0x57, + 0xaf, 0xec, 0x5a, 0x0e, 0x2c, 0xb9, 0x2f, 0x2c, 0xf9, 0x1a, 0xbe, 0x55, 0x3c, 0xa6, 0xac, 0x89, + 0xc6, 0x76, 0x77, 0xad, 0x69, 0xac, 0xa7, 0xe3, 0xcc, 0xdf, 0x2c, 0x74, 0x78, 0xb8, 0x50, 0xc7, + 0x17, 0x73, 0x72, 0xbc, 0xf4, 0x76, 0x40, 0x75, 0x66, 0x37, 0x22, 0x60, 0xcb, 0x5d, 0x61, 0xcb, + 0x4d, 0xbc, 0x54, 0xd0, 0x16, 0x57, 0x2e, 0xb4, 0xb6, 0x11, 0x85, 0xad, 0x35, 0xd1, 0x6d, 0xb0, + 0x7b, 0xd0, 0x74, 0xe8, 0x0b, 0xaf, 0x4a, 0xd4, 0xef, 0x79, 0x5e, 0x95, 0xd6, 0x5f, 0xc8, 0xf3, + 0xaa, 0xd4, 0x96, 0xc3, 0xae, 0xbd, 0x2a, 0xf9, 0x57, 0x5b, 0xfc, 0x5f, 0x0b, 0x4d, 0x42, 0x7d, + 0x9d, 0x17, 0x32, 0x93, 0xdd, 0x87, 0xbc, 0x90, 0x39, 0x54, 0xac, 0x93, 0x1f, 0x5b, 0x82, 0xe0, + 0x0f, 0x2d, 0xfc, 0x83, 0xdd, 0xa4, 0x45, 0x34, 0xb6, 0x7b, 0x89, 0x5e, 0x46, 0xdf, 0x18, 0x3f, + 0x6c, 0xf7, 0x79, 0x48, 0x35, 0x3a, 0x14, 0x7d, 0xbb, 0xa7, 0x1a, 0x12, 0x7d, 0xbb, 0x07, 0x2d, + 0x86, 0xbe, 0xcc, 0x92, 0xa1, 0x9d, 0xd0, 0xc7, 0x7f, 0xb6, 0x50, 0x49, 0x74, 0xec, 0xf2, 0x53, + 0xa7, 0xb8, 0x40, 0xaa, 0x6c, 0xd6, 0xde, 0xa4, 0x21, 0x2c, 0xfc, 0x0e, 0xfe, 0x76, 0xf1, 0xeb, + 0x10, 0xdb, 0x3d, 0xd9, 0x2d, 0x00, 0x43, 0x54, 0x63, 0xc0, 0xb0, 0x4b, 0x24, 0xbd, 0x7d, 0x9d, + 0xb7, 0x7e, 0x6a, 0xa1, 0xfd, 0x46, 0xe9, 0x8a, 0xcf, 0xe7, 0x3f, 0x3f, 0xc9, 0x5a, 0xbf, 0x7a, + 0xa1, 0x20, 0xfa, 0x05, 0xdf, 0x58, 0xf3, 0x0f, 0xfc, 0x83, 0xd2, 0xe4, 0xf7, 0x16, 0x3a, 0x60, + 0x96, 0xeb, 0xb8, 0x18, 0x0b, 0xbd, 0xff, 0xf5, 0xa2, 0xf0, 0x97, 0x28, 0x0c, 0x14, 0xeb, 0x78, + 0xd1, 0x79, 0xfa, 0xac, 0x66, 0x7d, 0xfe, 0xac, 0x66, 0xfd, 0xeb, 0x59, 0xcd, 0xfa, 0xe9, 0xf3, + 0xda, 0x9e, 0xcf, 0x9f, 0xd7, 0xf6, 0x7c, 0xf1, 0xbc, 0xb6, 0xe7, 0xa3, 0xab, 0x9b, 0x1e, 0xdb, + 0xea, 0xac, 0xd7, 0x1b, 0x61, 0x2b, 0x77, 0xe5, 0xef, 0x19, 0xbf, 0x59, 0xb7, 0x4d, 0xe3, 0xf5, + 0x09, 0xf1, 0x9f, 0x1d, 0x66, 0xbf, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x50, 0xdc, 0xda, 0xc2, 0xed, + 0x23, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -4836,6 +4845,24 @@ func (m *QueryMatchesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.MatchIds) > 0 { + dAtA35 := make([]byte, len(m.MatchIds)*10) + var j34 int + for _, num := range m.MatchIds { + for num >= 1<<7 { + dAtA35[j34] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j34++ + } + dAtA35[j34] = uint8(num) + j34++ + } + i -= j34 + copy(dAtA[i:], dAtA35[:j34]) + i = encodeVarintQuery(dAtA, i, uint64(j34)) + i-- + dAtA[i] = 0x12 + } if len(m.Matches) > 0 { for iNdEx := len(m.Matches) - 1; iNdEx >= 0; iNdEx-- { { @@ -4881,20 +4908,20 @@ func (m *QuerySetsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x22 } if len(m.ContainsCards) > 0 { - dAtA35 := make([]byte, len(m.ContainsCards)*10) - var j34 int + dAtA37 := make([]byte, len(m.ContainsCards)*10) + var j36 int for _, num := range m.ContainsCards { for num >= 1<<7 { - dAtA35[j34] = uint8(uint64(num)&0x7f | 0x80) + dAtA37[j36] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j34++ + j36++ } - dAtA35[j34] = uint8(num) - j34++ + dAtA37[j36] = uint8(num) + j36++ } - i -= j34 - copy(dAtA[i:], dAtA35[:j34]) - i = encodeVarintQuery(dAtA, i, uint64(j34)) + i -= j36 + copy(dAtA[i:], dAtA37[:j36]) + i = encodeVarintQuery(dAtA, i, uint64(j36)) i-- dAtA[i] = 0x1a } @@ -4936,20 +4963,20 @@ func (m *QuerySetsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.SetIds) > 0 { - dAtA37 := make([]byte, len(m.SetIds)*10) - var j36 int + dAtA39 := make([]byte, len(m.SetIds)*10) + var j38 int for _, num := range m.SetIds { for num >= 1<<7 { - dAtA37[j36] = uint8(uint64(num)&0x7f | 0x80) + dAtA39[j38] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j36++ + j38++ } - dAtA37[j36] = uint8(num) - j36++ + dAtA39[j38] = uint8(num) + j38++ } - i -= j36 - copy(dAtA[i:], dAtA37[:j36]) - i = encodeVarintQuery(dAtA, i, uint64(j36)) + i -= j38 + copy(dAtA[i:], dAtA39[:j38]) + i = encodeVarintQuery(dAtA, i, uint64(j38)) i-- dAtA[i] = 0xa } @@ -5040,20 +5067,20 @@ func (m *QueryCardContentsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error var l int _ = l if len(m.CardIds) > 0 { - dAtA40 := make([]byte, len(m.CardIds)*10) - var j39 int + dAtA42 := make([]byte, len(m.CardIds)*10) + var j41 int for _, num := range m.CardIds { for num >= 1<<7 { - dAtA40[j39] = uint8(uint64(num)&0x7f | 0x80) + dAtA42[j41] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j39++ + j41++ } - dAtA40[j39] = uint8(num) - j39++ + dAtA42[j41] = uint8(num) + j41++ } - i -= j39 - copy(dAtA[i:], dAtA40[:j39]) - i = encodeVarintQuery(dAtA, i, uint64(j39)) + i -= j41 + copy(dAtA[i:], dAtA42[:j41]) + i = encodeVarintQuery(dAtA, i, uint64(j41)) i-- dAtA[i] = 0xa } @@ -5709,6 +5736,13 @@ func (m *QueryMatchesResponse) Size() (n int) { n += 1 + l + sovQuery(uint64(l)) } } + if len(m.MatchIds) > 0 { + l = 0 + for _, e := range m.MatchIds { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } return n } @@ -9837,6 +9871,82 @@ func (m *QueryMatchesResponse) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.MatchIds = append(m.MatchIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + 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.MatchIds) == 0 { + m.MatchIds = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.MatchIds = append(m.MatchIds, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field MatchIds", wireType) + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) From 7240f75050b1cbcd41767aa830590d6c3f545b5b Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 17:57:03 +0100 Subject: [PATCH 58/99] feat(#242): Added selloffers Query --- api/cardchain/cardchain/query.pulsar.go | 2299 +++++++++++++++--- api/cardchain/cardchain/query_grpc.pb.go | 39 + api/cardchain/cardchain/sell_offer.pulsar.go | 60 +- docs/static/openapi.yml | 2 +- gen_queries.sh | 3 +- proto/cardchain/cardchain/query.proto | 20 + proto/cardchain/cardchain/sell_offer.proto | 8 +- x/cardchain/keeper/query_sell_offers.go | 67 + x/cardchain/module/autocli.go | 7 + x/cardchain/types/query.pb.go | 1038 ++++++-- x/cardchain/types/query.pb.gw.go | 83 + x/cardchain/types/sell_offer.pb.go | 68 +- 12 files changed, 3125 insertions(+), 569 deletions(-) create mode 100644 x/cardchain/keeper/query_sell_offers.go diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 3414589e..aafd3f83 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -22641,6 +22641,1418 @@ func (x *fastReflection_QueryCardContentsResponse) ProtoMethods() *protoiface.Me } } +var ( + md_QuerySellOffersRequest protoreflect.MessageDescriptor + fd_QuerySellOffersRequest_priceDown protoreflect.FieldDescriptor + fd_QuerySellOffersRequest_priceUp protoreflect.FieldDescriptor + fd_QuerySellOffersRequest_seller protoreflect.FieldDescriptor + fd_QuerySellOffersRequest_buyer protoreflect.FieldDescriptor + fd_QuerySellOffersRequest_card protoreflect.FieldDescriptor + fd_QuerySellOffersRequest_status protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QuerySellOffersRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySellOffersRequest") + fd_QuerySellOffersRequest_priceDown = md_QuerySellOffersRequest.Fields().ByName("priceDown") + fd_QuerySellOffersRequest_priceUp = md_QuerySellOffersRequest.Fields().ByName("priceUp") + fd_QuerySellOffersRequest_seller = md_QuerySellOffersRequest.Fields().ByName("seller") + fd_QuerySellOffersRequest_buyer = md_QuerySellOffersRequest.Fields().ByName("buyer") + fd_QuerySellOffersRequest_card = md_QuerySellOffersRequest.Fields().ByName("card") + fd_QuerySellOffersRequest_status = md_QuerySellOffersRequest.Fields().ByName("status") +} + +var _ protoreflect.Message = (*fastReflection_QuerySellOffersRequest)(nil) + +type fastReflection_QuerySellOffersRequest QuerySellOffersRequest + +func (x *QuerySellOffersRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QuerySellOffersRequest)(x) +} + +func (x *QuerySellOffersRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QuerySellOffersRequest_messageType fastReflection_QuerySellOffersRequest_messageType +var _ protoreflect.MessageType = fastReflection_QuerySellOffersRequest_messageType{} + +type fastReflection_QuerySellOffersRequest_messageType struct{} + +func (x fastReflection_QuerySellOffersRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QuerySellOffersRequest)(nil) +} +func (x fastReflection_QuerySellOffersRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QuerySellOffersRequest) +} +func (x fastReflection_QuerySellOffersRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySellOffersRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QuerySellOffersRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySellOffersRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QuerySellOffersRequest) Type() protoreflect.MessageType { + return _fastReflection_QuerySellOffersRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QuerySellOffersRequest) New() protoreflect.Message { + return new(fastReflection_QuerySellOffersRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QuerySellOffersRequest) Interface() protoreflect.ProtoMessage { + return (*QuerySellOffersRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QuerySellOffersRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.PriceDown != nil { + value := protoreflect.ValueOfMessage(x.PriceDown.ProtoReflect()) + if !f(fd_QuerySellOffersRequest_priceDown, value) { + return + } + } + if x.PriceUp != nil { + value := protoreflect.ValueOfMessage(x.PriceUp.ProtoReflect()) + if !f(fd_QuerySellOffersRequest_priceUp, value) { + return + } + } + if x.Seller != "" { + value := protoreflect.ValueOfString(x.Seller) + if !f(fd_QuerySellOffersRequest_seller, value) { + return + } + } + if x.Buyer != "" { + value := protoreflect.ValueOfString(x.Buyer) + if !f(fd_QuerySellOffersRequest_buyer, value) { + return + } + } + if x.Card != uint64(0) { + value := protoreflect.ValueOfUint64(x.Card) + if !f(fd_QuerySellOffersRequest_card, value) { + return + } + } + if x.Status != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Status)) + if !f(fd_QuerySellOffersRequest_status, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QuerySellOffersRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOffersRequest.priceDown": + return x.PriceDown != nil + case "cardchain.cardchain.QuerySellOffersRequest.priceUp": + return x.PriceUp != nil + case "cardchain.cardchain.QuerySellOffersRequest.seller": + return x.Seller != "" + case "cardchain.cardchain.QuerySellOffersRequest.buyer": + return x.Buyer != "" + case "cardchain.cardchain.QuerySellOffersRequest.card": + return x.Card != uint64(0) + case "cardchain.cardchain.QuerySellOffersRequest.status": + return x.Status != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOffersRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOffersRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOffersRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOffersRequest.priceDown": + x.PriceDown = nil + case "cardchain.cardchain.QuerySellOffersRequest.priceUp": + x.PriceUp = nil + case "cardchain.cardchain.QuerySellOffersRequest.seller": + x.Seller = "" + case "cardchain.cardchain.QuerySellOffersRequest.buyer": + x.Buyer = "" + case "cardchain.cardchain.QuerySellOffersRequest.card": + x.Card = uint64(0) + case "cardchain.cardchain.QuerySellOffersRequest.status": + x.Status = 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOffersRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOffersRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QuerySellOffersRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QuerySellOffersRequest.priceDown": + value := x.PriceDown + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.QuerySellOffersRequest.priceUp": + value := x.PriceUp + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.QuerySellOffersRequest.seller": + value := x.Seller + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.QuerySellOffersRequest.buyer": + value := x.Buyer + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.QuerySellOffersRequest.card": + value := x.Card + return protoreflect.ValueOfUint64(value) + case "cardchain.cardchain.QuerySellOffersRequest.status": + value := x.Status + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOffersRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOffersRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOffersRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOffersRequest.priceDown": + x.PriceDown = value.Message().Interface().(*v1beta11.Coin) + case "cardchain.cardchain.QuerySellOffersRequest.priceUp": + x.PriceUp = value.Message().Interface().(*v1beta11.Coin) + case "cardchain.cardchain.QuerySellOffersRequest.seller": + x.Seller = value.Interface().(string) + case "cardchain.cardchain.QuerySellOffersRequest.buyer": + x.Buyer = value.Interface().(string) + case "cardchain.cardchain.QuerySellOffersRequest.card": + x.Card = value.Uint() + case "cardchain.cardchain.QuerySellOffersRequest.status": + x.Status = (SellOfferStatus)(value.Enum()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOffersRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOffersRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOffersRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOffersRequest.priceDown": + if x.PriceDown == nil { + x.PriceDown = new(v1beta11.Coin) + } + return protoreflect.ValueOfMessage(x.PriceDown.ProtoReflect()) + case "cardchain.cardchain.QuerySellOffersRequest.priceUp": + if x.PriceUp == nil { + x.PriceUp = new(v1beta11.Coin) + } + return protoreflect.ValueOfMessage(x.PriceUp.ProtoReflect()) + case "cardchain.cardchain.QuerySellOffersRequest.seller": + panic(fmt.Errorf("field seller of message cardchain.cardchain.QuerySellOffersRequest is not mutable")) + case "cardchain.cardchain.QuerySellOffersRequest.buyer": + panic(fmt.Errorf("field buyer of message cardchain.cardchain.QuerySellOffersRequest is not mutable")) + case "cardchain.cardchain.QuerySellOffersRequest.card": + panic(fmt.Errorf("field card of message cardchain.cardchain.QuerySellOffersRequest is not mutable")) + case "cardchain.cardchain.QuerySellOffersRequest.status": + panic(fmt.Errorf("field status of message cardchain.cardchain.QuerySellOffersRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOffersRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOffersRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QuerySellOffersRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOffersRequest.priceDown": + m := new(v1beta11.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.QuerySellOffersRequest.priceUp": + m := new(v1beta11.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.QuerySellOffersRequest.seller": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.QuerySellOffersRequest.buyer": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.QuerySellOffersRequest.card": + return protoreflect.ValueOfUint64(uint64(0)) + case "cardchain.cardchain.QuerySellOffersRequest.status": + return protoreflect.ValueOfEnum(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOffersRequest")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOffersRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QuerySellOffersRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QuerySellOffersRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QuerySellOffersRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOffersRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QuerySellOffersRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QuerySellOffersRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QuerySellOffersRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.PriceDown != nil { + l = options.Size(x.PriceDown) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.PriceUp != nil { + l = options.Size(x.PriceUp) + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Seller) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Buyer) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Card != 0 { + n += 1 + runtime.Sov(uint64(x.Card)) + } + if x.Status != 0 { + n += 1 + runtime.Sov(uint64(x.Status)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QuerySellOffersRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Status != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Status)) + i-- + dAtA[i] = 0x30 + } + if x.Card != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Card)) + i-- + dAtA[i] = 0x28 + } + if len(x.Buyer) > 0 { + i -= len(x.Buyer) + copy(dAtA[i:], x.Buyer) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Buyer))) + i-- + dAtA[i] = 0x22 + } + if len(x.Seller) > 0 { + i -= len(x.Seller) + copy(dAtA[i:], x.Seller) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Seller))) + i-- + dAtA[i] = 0x1a + } + if x.PriceUp != nil { + encoded, err := options.Marshal(x.PriceUp) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if x.PriceDown != nil { + encoded, err := options.Marshal(x.PriceDown) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QuerySellOffersRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySellOffersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySellOffersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PriceDown", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.PriceDown == nil { + x.PriceDown = &v1beta11.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.PriceDown); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PriceUp", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.PriceUp == nil { + x.PriceUp = &v1beta11.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.PriceUp); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Seller", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Seller = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Buyer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Buyer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) + } + x.Card = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Card |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + x.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Status |= SellOfferStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QuerySellOffersResponse_1_list)(nil) + +type _QuerySellOffersResponse_1_list struct { + list *[]*SellOffer +} + +func (x *_QuerySellOffersResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QuerySellOffersResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_QuerySellOffersResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*SellOffer) + (*x.list)[i] = concreteValue +} + +func (x *_QuerySellOffersResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*SellOffer) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QuerySellOffersResponse_1_list) AppendMutable() protoreflect.Value { + v := new(SellOffer) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QuerySellOffersResponse_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_QuerySellOffersResponse_1_list) NewElement() protoreflect.Value { + v := new(SellOffer) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QuerySellOffersResponse_1_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_QuerySellOffersResponse_2_list)(nil) + +type _QuerySellOffersResponse_2_list struct { + list *[]uint64 +} + +func (x *_QuerySellOffersResponse_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QuerySellOffersResponse_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfUint64((*x.list)[i]) +} + +func (x *_QuerySellOffersResponse_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_QuerySellOffersResponse_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Uint() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_QuerySellOffersResponse_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message QuerySellOffersResponse at list field SellOfferIds as it is not of Message kind")) +} + +func (x *_QuerySellOffersResponse_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_QuerySellOffersResponse_2_list) NewElement() protoreflect.Value { + v := uint64(0) + return protoreflect.ValueOfUint64(v) +} + +func (x *_QuerySellOffersResponse_2_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QuerySellOffersResponse protoreflect.MessageDescriptor + fd_QuerySellOffersResponse_sellOffers protoreflect.FieldDescriptor + fd_QuerySellOffersResponse_sellOfferIds protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_query_proto_init() + md_QuerySellOffersResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySellOffersResponse") + fd_QuerySellOffersResponse_sellOffers = md_QuerySellOffersResponse.Fields().ByName("sellOffers") + fd_QuerySellOffersResponse_sellOfferIds = md_QuerySellOffersResponse.Fields().ByName("sellOfferIds") +} + +var _ protoreflect.Message = (*fastReflection_QuerySellOffersResponse)(nil) + +type fastReflection_QuerySellOffersResponse QuerySellOffersResponse + +func (x *QuerySellOffersResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QuerySellOffersResponse)(x) +} + +func (x *QuerySellOffersResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_query_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QuerySellOffersResponse_messageType fastReflection_QuerySellOffersResponse_messageType +var _ protoreflect.MessageType = fastReflection_QuerySellOffersResponse_messageType{} + +type fastReflection_QuerySellOffersResponse_messageType struct{} + +func (x fastReflection_QuerySellOffersResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QuerySellOffersResponse)(nil) +} +func (x fastReflection_QuerySellOffersResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QuerySellOffersResponse) +} +func (x fastReflection_QuerySellOffersResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySellOffersResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QuerySellOffersResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QuerySellOffersResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QuerySellOffersResponse) Type() protoreflect.MessageType { + return _fastReflection_QuerySellOffersResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QuerySellOffersResponse) New() protoreflect.Message { + return new(fastReflection_QuerySellOffersResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QuerySellOffersResponse) Interface() protoreflect.ProtoMessage { + return (*QuerySellOffersResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QuerySellOffersResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.SellOffers) != 0 { + value := protoreflect.ValueOfList(&_QuerySellOffersResponse_1_list{list: &x.SellOffers}) + if !f(fd_QuerySellOffersResponse_sellOffers, value) { + return + } + } + if len(x.SellOfferIds) != 0 { + value := protoreflect.ValueOfList(&_QuerySellOffersResponse_2_list{list: &x.SellOfferIds}) + if !f(fd_QuerySellOffersResponse_sellOfferIds, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QuerySellOffersResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOffersResponse.sellOffers": + return len(x.SellOffers) != 0 + case "cardchain.cardchain.QuerySellOffersResponse.sellOfferIds": + return len(x.SellOfferIds) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOffersResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOffersResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOffersResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOffersResponse.sellOffers": + x.SellOffers = nil + case "cardchain.cardchain.QuerySellOffersResponse.sellOfferIds": + x.SellOfferIds = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOffersResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOffersResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QuerySellOffersResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.QuerySellOffersResponse.sellOffers": + if len(x.SellOffers) == 0 { + return protoreflect.ValueOfList(&_QuerySellOffersResponse_1_list{}) + } + listValue := &_QuerySellOffersResponse_1_list{list: &x.SellOffers} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.QuerySellOffersResponse.sellOfferIds": + if len(x.SellOfferIds) == 0 { + return protoreflect.ValueOfList(&_QuerySellOffersResponse_2_list{}) + } + listValue := &_QuerySellOffersResponse_2_list{list: &x.SellOfferIds} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOffersResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOffersResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOffersResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOffersResponse.sellOffers": + lv := value.List() + clv := lv.(*_QuerySellOffersResponse_1_list) + x.SellOffers = *clv.list + case "cardchain.cardchain.QuerySellOffersResponse.sellOfferIds": + lv := value.List() + clv := lv.(*_QuerySellOffersResponse_2_list) + x.SellOfferIds = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOffersResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOffersResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOffersResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOffersResponse.sellOffers": + if x.SellOffers == nil { + x.SellOffers = []*SellOffer{} + } + value := &_QuerySellOffersResponse_1_list{list: &x.SellOffers} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.QuerySellOffersResponse.sellOfferIds": + if x.SellOfferIds == nil { + x.SellOfferIds = []uint64{} + } + value := &_QuerySellOffersResponse_2_list{list: &x.SellOfferIds} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOffersResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOffersResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QuerySellOffersResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.QuerySellOffersResponse.sellOffers": + list := []*SellOffer{} + return protoreflect.ValueOfList(&_QuerySellOffersResponse_1_list{list: &list}) + case "cardchain.cardchain.QuerySellOffersResponse.sellOfferIds": + list := []uint64{} + return protoreflect.ValueOfList(&_QuerySellOffersResponse_2_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySellOffersResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.QuerySellOffersResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QuerySellOffersResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QuerySellOffersResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QuerySellOffersResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QuerySellOffersResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QuerySellOffersResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QuerySellOffersResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QuerySellOffersResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.SellOffers) > 0 { + for _, e := range x.SellOffers { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.SellOfferIds) > 0 { + l = 0 + for _, e := range x.SellOfferIds { + l += runtime.Sov(uint64(e)) + } + n += 1 + runtime.Sov(uint64(l)) + l + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QuerySellOffersResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.SellOfferIds) > 0 { + var pksize2 int + for _, num := range x.SellOfferIds { + pksize2 += runtime.Sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range x.SellOfferIds { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = runtime.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x12 + } + if len(x.SellOffers) > 0 { + for iNdEx := len(x.SellOffers) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.SellOffers[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QuerySellOffersResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySellOffersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QuerySellOffersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SellOffers", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.SellOffers = append(x.SellOffers, &SellOffer{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.SellOffers[len(x.SellOffers)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.SellOfferIds = append(x.SellOfferIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(x.SellOfferIds) == 0 { + x.SellOfferIds = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.SellOfferIds = append(x.SellOfferIds, v) + } + } else { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SellOfferIds", wireType) + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -24437,6 +25849,124 @@ func (x *QueryCardContentsResponse) GetCardContents() []*CardContent { return nil } +type QuerySellOffersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PriceDown *v1beta11.Coin `protobuf:"bytes,1,opt,name=priceDown,proto3" json:"priceDown,omitempty"` + PriceUp *v1beta11.Coin `protobuf:"bytes,2,opt,name=priceUp,proto3" json:"priceUp,omitempty"` + Seller string `protobuf:"bytes,3,opt,name=seller,proto3" json:"seller,omitempty"` + Buyer string `protobuf:"bytes,4,opt,name=buyer,proto3" json:"buyer,omitempty"` + Card uint64 `protobuf:"varint,5,opt,name=card,proto3" json:"card,omitempty"` + Status SellOfferStatus `protobuf:"varint,6,opt,name=status,proto3,enum=cardchain.cardchain.SellOfferStatus" json:"status,omitempty"` +} + +func (x *QuerySellOffersRequest) Reset() { + *x = QuerySellOffersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QuerySellOffersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QuerySellOffersRequest) ProtoMessage() {} + +// Deprecated: Use QuerySellOffersRequest.ProtoReflect.Descriptor instead. +func (*QuerySellOffersRequest) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{46} +} + +func (x *QuerySellOffersRequest) GetPriceDown() *v1beta11.Coin { + if x != nil { + return x.PriceDown + } + return nil +} + +func (x *QuerySellOffersRequest) GetPriceUp() *v1beta11.Coin { + if x != nil { + return x.PriceUp + } + return nil +} + +func (x *QuerySellOffersRequest) GetSeller() string { + if x != nil { + return x.Seller + } + return "" +} + +func (x *QuerySellOffersRequest) GetBuyer() string { + if x != nil { + return x.Buyer + } + return "" +} + +func (x *QuerySellOffersRequest) GetCard() uint64 { + if x != nil { + return x.Card + } + return 0 +} + +func (x *QuerySellOffersRequest) GetStatus() SellOfferStatus { + if x != nil { + return x.Status + } + return SellOfferStatus_empty +} + +type QuerySellOffersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SellOffers []*SellOffer `protobuf:"bytes,1,rep,name=sellOffers,proto3" json:"sellOffers,omitempty"` + SellOfferIds []uint64 `protobuf:"varint,2,rep,packed,name=sellOfferIds,proto3" json:"sellOfferIds,omitempty"` +} + +func (x *QuerySellOffersResponse) Reset() { + *x = QuerySellOffersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_query_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QuerySellOffersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QuerySellOffersResponse) ProtoMessage() {} + +// Deprecated: Use QuerySellOffersResponse.ProtoReflect.Descriptor instead. +func (*QuerySellOffersResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{47} +} + +func (x *QuerySellOffersResponse) GetSellOffers() []*SellOffer { + if x != nil { + return x.SellOffers + } + return nil +} + +func (x *QuerySellOffersResponse) GetSellOfferIds() []uint64 { + if x != nil { + return x.SellOfferIds + } + return nil +} + var File_cardchain_cardchain_query_proto protoreflect.FileDescriptor var file_cardchain_cardchain_query_proto_rawDesc = []byte{ @@ -24753,276 +26283,312 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x32, 0xfb, 0x1f, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, - 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x74, 0x73, 0x22, 0x92, 0x02, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, + 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, + 0x1f, 0x00, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x39, 0x0a, + 0x07, 0x70, 0x72, 0x69, 0x63, 0x65, 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, + 0x07, 0x70, 0x72, 0x69, 0x63, 0x65, 0x55, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x6c, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7d, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x73, 0x32, 0xa1, 0x21, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, - 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, + 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, - 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, - 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, - 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, - 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, - 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, + 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, + 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, + 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, + 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, + 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, + 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, - 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, + 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, + 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, + 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, + 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, - 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, + 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, + 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, + 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, + 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, + 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, + 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, + 0x7b, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, - 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, - 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x55, 0x70, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, + 0x65, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, + 0x7b, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, + 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, - 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, - 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, - 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, 0x01, 0x0a, - 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, - 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, - 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, 0x61, - 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x7b, + 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0xab, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, - 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, - 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x7d, - 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x7d, - 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6f, 0x75, 0x74, - 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x73, - 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, - 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x7d, 0x12, 0xab, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, + 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, - 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, + 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -25037,7 +26603,7 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 46) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 48) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse @@ -25085,108 +26651,117 @@ var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryCardContentResponse)(nil), // 43: cardchain.cardchain.QueryCardContentResponse (*QueryCardContentsRequest)(nil), // 44: cardchain.cardchain.QueryCardContentsRequest (*QueryCardContentsResponse)(nil), // 45: cardchain.cardchain.QueryCardContentsResponse - (*Params)(nil), // 46: cardchain.cardchain.Params - (*ProductDetails)(nil), // 47: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 48: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 49: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 50: cardchain.cardchain.CardWithImage - (*User)(nil), // 51: cardchain.cardchain.User - (CardStatus)(0), // 52: cardchain.cardchain.CardStatus - (CardType)(0), // 53: cardchain.cardchain.CardType - (CardClass)(0), // 54: cardchain.cardchain.CardClass - (CardRarity)(0), // 55: cardchain.cardchain.CardRarity - (*Match)(nil), // 56: cardchain.cardchain.Match - (*SetWithArtwork)(nil), // 57: cardchain.cardchain.SetWithArtwork - (*SellOffer)(nil), // 58: cardchain.cardchain.SellOffer - (*Council)(nil), // 59: cardchain.cardchain.Council - (*Server)(nil), // 60: cardchain.cardchain.Server - (*Encounter)(nil), // 61: cardchain.cardchain.Encounter - (*EncounterWithImage)(nil), // 62: cardchain.cardchain.EncounterWithImage - (*v1beta11.Coin)(nil), // 63: cosmos.base.v1beta1.Coin - (*VotingResults)(nil), // 64: cardchain.cardchain.VotingResults - (Outcome)(0), // 65: cardchain.cardchain.Outcome - (SetStatus)(0), // 66: cardchain.cardchain.SetStatus - (*CardContent)(nil), // 67: cardchain.cardchain.CardContent + (*QuerySellOffersRequest)(nil), // 46: cardchain.cardchain.QuerySellOffersRequest + (*QuerySellOffersResponse)(nil), // 47: cardchain.cardchain.QuerySellOffersResponse + (*Params)(nil), // 48: cardchain.cardchain.Params + (*ProductDetails)(nil), // 49: cardchain.cardchain.ProductDetails + (*v1beta1.PageRequest)(nil), // 50: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 51: cosmos.base.query.v1beta1.PageResponse + (*CardWithImage)(nil), // 52: cardchain.cardchain.CardWithImage + (*User)(nil), // 53: cardchain.cardchain.User + (CardStatus)(0), // 54: cardchain.cardchain.CardStatus + (CardType)(0), // 55: cardchain.cardchain.CardType + (CardClass)(0), // 56: cardchain.cardchain.CardClass + (CardRarity)(0), // 57: cardchain.cardchain.CardRarity + (*Match)(nil), // 58: cardchain.cardchain.Match + (*SetWithArtwork)(nil), // 59: cardchain.cardchain.SetWithArtwork + (*SellOffer)(nil), // 60: cardchain.cardchain.SellOffer + (*Council)(nil), // 61: cardchain.cardchain.Council + (*Server)(nil), // 62: cardchain.cardchain.Server + (*Encounter)(nil), // 63: cardchain.cardchain.Encounter + (*EncounterWithImage)(nil), // 64: cardchain.cardchain.EncounterWithImage + (*v1beta11.Coin)(nil), // 65: cosmos.base.v1beta1.Coin + (*VotingResults)(nil), // 66: cardchain.cardchain.VotingResults + (Outcome)(0), // 67: cardchain.cardchain.Outcome + (SetStatus)(0), // 68: cardchain.cardchain.SetStatus + (*CardContent)(nil), // 69: cardchain.cardchain.CardContent + (SellOfferStatus)(0), // 70: cardchain.cardchain.SellOfferStatus } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 46, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 47, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 48, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 47, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 49, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 50, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 51, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 52, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus - 53, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType - 54, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass - 55, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity - 56, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match - 57, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork - 58, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer - 59, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council - 60, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server - 61, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter - 61, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter - 62, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage - 62, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage - 63, // 20: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin - 64, // 21: cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults:type_name -> cardchain.cardchain.VotingResults - 65, // 22: cardchain.cardchain.QueryMatchesRequest.outcome:type_name -> cardchain.cardchain.Outcome - 56, // 23: cardchain.cardchain.QueryMatchesResponse.matches:type_name -> cardchain.cardchain.Match - 66, // 24: cardchain.cardchain.QuerySetsRequest.status:type_name -> cardchain.cardchain.SetStatus - 67, // 25: cardchain.cardchain.QueryCardContentResponse.cardContent:type_name -> cardchain.cardchain.CardContent - 67, // 26: cardchain.cardchain.QueryCardContentsResponse.cardContents:type_name -> cardchain.cardchain.CardContent - 0, // 27: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 28: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 29: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 30: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 31: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 32: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 12, // 33: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest - 14, // 34: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest - 16, // 35: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest - 18, // 36: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest - 20, // 37: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest - 22, // 38: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest - 24, // 39: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest - 26, // 40: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest - 28, // 41: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest - 30, // 42: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest - 32, // 43: cardchain.cardchain.Query.SetRarityDistribution:input_type -> cardchain.cardchain.QuerySetRarityDistributionRequest - 34, // 44: cardchain.cardchain.Query.AccountFromZealy:input_type -> cardchain.cardchain.QueryAccountFromZealyRequest - 36, // 45: cardchain.cardchain.Query.VotingResults:input_type -> cardchain.cardchain.QueryVotingResultsRequest - 38, // 46: cardchain.cardchain.Query.Matches:input_type -> cardchain.cardchain.QueryMatchesRequest - 40, // 47: cardchain.cardchain.Query.Sets:input_type -> cardchain.cardchain.QuerySetsRequest - 42, // 48: cardchain.cardchain.Query.CardContent:input_type -> cardchain.cardchain.QueryCardContentRequest - 44, // 49: cardchain.cardchain.Query.CardContents:input_type -> cardchain.cardchain.QueryCardContentsRequest - 1, // 50: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 51: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 52: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 53: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 54: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 55: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 13, // 56: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse - 15, // 57: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse - 17, // 58: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse - 19, // 59: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse - 21, // 60: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse - 23, // 61: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse - 25, // 62: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse - 27, // 63: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse - 29, // 64: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse - 31, // 65: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse - 33, // 66: cardchain.cardchain.Query.SetRarityDistribution:output_type -> cardchain.cardchain.QuerySetRarityDistributionResponse - 35, // 67: cardchain.cardchain.Query.AccountFromZealy:output_type -> cardchain.cardchain.QueryAccountFromZealyResponse - 37, // 68: cardchain.cardchain.Query.VotingResults:output_type -> cardchain.cardchain.QueryVotingResultsResponse - 39, // 69: cardchain.cardchain.Query.Matches:output_type -> cardchain.cardchain.QueryMatchesResponse - 41, // 70: cardchain.cardchain.Query.Sets:output_type -> cardchain.cardchain.QuerySetsResponse - 43, // 71: cardchain.cardchain.Query.CardContent:output_type -> cardchain.cardchain.QueryCardContentResponse - 45, // 72: cardchain.cardchain.Query.CardContents:output_type -> cardchain.cardchain.QueryCardContentsResponse - 50, // [50:73] is the sub-list for method output_type - 27, // [27:50] is the sub-list for method input_type - 27, // [27:27] is the sub-list for extension type_name - 27, // [27:27] is the sub-list for extension extendee - 0, // [0:27] is the sub-list for field type_name + 48, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 49, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 50, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 49, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails + 51, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 52, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 53, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 54, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 55, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 56, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 57, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 58, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match + 59, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork + 60, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer + 61, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council + 62, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server + 63, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter + 63, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter + 64, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage + 64, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage + 65, // 20: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin + 66, // 21: cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults:type_name -> cardchain.cardchain.VotingResults + 67, // 22: cardchain.cardchain.QueryMatchesRequest.outcome:type_name -> cardchain.cardchain.Outcome + 58, // 23: cardchain.cardchain.QueryMatchesResponse.matches:type_name -> cardchain.cardchain.Match + 68, // 24: cardchain.cardchain.QuerySetsRequest.status:type_name -> cardchain.cardchain.SetStatus + 69, // 25: cardchain.cardchain.QueryCardContentResponse.cardContent:type_name -> cardchain.cardchain.CardContent + 69, // 26: cardchain.cardchain.QueryCardContentsResponse.cardContents:type_name -> cardchain.cardchain.CardContent + 65, // 27: cardchain.cardchain.QuerySellOffersRequest.priceDown:type_name -> cosmos.base.v1beta1.Coin + 65, // 28: cardchain.cardchain.QuerySellOffersRequest.priceUp:type_name -> cosmos.base.v1beta1.Coin + 70, // 29: cardchain.cardchain.QuerySellOffersRequest.status:type_name -> cardchain.cardchain.SellOfferStatus + 60, // 30: cardchain.cardchain.QuerySellOffersResponse.sellOffers:type_name -> cardchain.cardchain.SellOffer + 0, // 31: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 32: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest + 4, // 33: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest + 6, // 34: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 8, // 35: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 10, // 36: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 12, // 37: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest + 14, // 38: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest + 16, // 39: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest + 18, // 40: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest + 20, // 41: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest + 22, // 42: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest + 24, // 43: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest + 26, // 44: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest + 28, // 45: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest + 30, // 46: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest + 32, // 47: cardchain.cardchain.Query.SetRarityDistribution:input_type -> cardchain.cardchain.QuerySetRarityDistributionRequest + 34, // 48: cardchain.cardchain.Query.AccountFromZealy:input_type -> cardchain.cardchain.QueryAccountFromZealyRequest + 36, // 49: cardchain.cardchain.Query.VotingResults:input_type -> cardchain.cardchain.QueryVotingResultsRequest + 38, // 50: cardchain.cardchain.Query.Matches:input_type -> cardchain.cardchain.QueryMatchesRequest + 40, // 51: cardchain.cardchain.Query.Sets:input_type -> cardchain.cardchain.QuerySetsRequest + 42, // 52: cardchain.cardchain.Query.CardContent:input_type -> cardchain.cardchain.QueryCardContentRequest + 44, // 53: cardchain.cardchain.Query.CardContents:input_type -> cardchain.cardchain.QueryCardContentsRequest + 46, // 54: cardchain.cardchain.Query.SellOffers:input_type -> cardchain.cardchain.QuerySellOffersRequest + 1, // 55: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 56: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse + 5, // 57: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse + 7, // 58: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 9, // 59: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 11, // 60: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 13, // 61: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse + 15, // 62: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse + 17, // 63: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse + 19, // 64: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse + 21, // 65: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse + 23, // 66: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse + 25, // 67: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse + 27, // 68: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse + 29, // 69: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse + 31, // 70: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse + 33, // 71: cardchain.cardchain.Query.SetRarityDistribution:output_type -> cardchain.cardchain.QuerySetRarityDistributionResponse + 35, // 72: cardchain.cardchain.Query.AccountFromZealy:output_type -> cardchain.cardchain.QueryAccountFromZealyResponse + 37, // 73: cardchain.cardchain.Query.VotingResults:output_type -> cardchain.cardchain.QueryVotingResultsResponse + 39, // 74: cardchain.cardchain.Query.Matches:output_type -> cardchain.cardchain.QueryMatchesResponse + 41, // 75: cardchain.cardchain.Query.Sets:output_type -> cardchain.cardchain.QuerySetsResponse + 43, // 76: cardchain.cardchain.Query.CardContent:output_type -> cardchain.cardchain.QueryCardContentResponse + 45, // 77: cardchain.cardchain.Query.CardContents:output_type -> cardchain.cardchain.QueryCardContentsResponse + 47, // 78: cardchain.cardchain.Query.SellOffers:output_type -> cardchain.cardchain.QuerySellOffersResponse + 55, // [55:79] is the sub-list for method output_type + 31, // [31:55] is the sub-list for method input_type + 31, // [31:31] is the sub-list for extension type_name + 31, // [31:31] is the sub-list for extension extendee + 0, // [0:31] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -25762,6 +27337,30 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } + file_cardchain_cardchain_query_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuerySellOffersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_query_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuerySellOffersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -25769,7 +27368,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 46, + NumMessages: 48, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index a728c6c4..21b61c46 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -42,6 +42,7 @@ const ( Query_Sets_FullMethodName = "/cardchain.cardchain.Query/Sets" Query_CardContent_FullMethodName = "/cardchain.cardchain.Query/CardContent" Query_CardContents_FullMethodName = "/cardchain.cardchain.Query/CardContents" + Query_SellOffers_FullMethodName = "/cardchain.cardchain.Query/SellOffers" ) // QueryClient is the client API for Query service. @@ -93,6 +94,8 @@ type QueryClient interface { CardContent(ctx context.Context, in *QueryCardContentRequest, opts ...grpc.CallOption) (*QueryCardContentResponse, error) // Queries a list of CardContents items. CardContents(ctx context.Context, in *QueryCardContentsRequest, opts ...grpc.CallOption) (*QueryCardContentsResponse, error) + // Queries a list of SellOffers items. + SellOffers(ctx context.Context, in *QuerySellOffersRequest, opts ...grpc.CallOption) (*QuerySellOffersResponse, error) } type queryClient struct { @@ -310,6 +313,15 @@ func (c *queryClient) CardContents(ctx context.Context, in *QueryCardContentsReq return out, nil } +func (c *queryClient) SellOffers(ctx context.Context, in *QuerySellOffersRequest, opts ...grpc.CallOption) (*QuerySellOffersResponse, error) { + out := new(QuerySellOffersResponse) + err := c.cc.Invoke(ctx, Query_SellOffers_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -359,6 +371,8 @@ type QueryServer interface { CardContent(context.Context, *QueryCardContentRequest) (*QueryCardContentResponse, error) // Queries a list of CardContents items. CardContents(context.Context, *QueryCardContentsRequest) (*QueryCardContentsResponse, error) + // Queries a list of SellOffers items. + SellOffers(context.Context, *QuerySellOffersRequest) (*QuerySellOffersResponse, error) mustEmbedUnimplementedQueryServer() } @@ -435,6 +449,9 @@ func (UnimplementedQueryServer) CardContent(context.Context, *QueryCardContentRe func (UnimplementedQueryServer) CardContents(context.Context, *QueryCardContentsRequest) (*QueryCardContentsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CardContents not implemented") } +func (UnimplementedQueryServer) SellOffers(context.Context, *QuerySellOffersRequest) (*QuerySellOffersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOffers not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -862,6 +879,24 @@ func _Query_CardContents_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Query_SellOffers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QuerySellOffersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).SellOffers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_SellOffers_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).SellOffers(ctx, req.(*QuerySellOffersRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -961,6 +996,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "CardContents", Handler: _Query_CardContents_Handler, }, + { + MethodName: "SellOffers", + Handler: _Query_SellOffers_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", diff --git a/api/cardchain/cardchain/sell_offer.pulsar.go b/api/cardchain/cardchain/sell_offer.pulsar.go index 55fde4b3..c3b03c7c 100644 --- a/api/cardchain/cardchain/sell_offer.pulsar.go +++ b/api/cardchain/cardchain/sell_offer.pulsar.go @@ -689,22 +689,25 @@ const ( type SellOfferStatus int32 const ( - SellOfferStatus_open SellOfferStatus = 0 - SellOfferStatus_sold SellOfferStatus = 1 - SellOfferStatus_removed SellOfferStatus = 2 + SellOfferStatus_empty SellOfferStatus = 0 + SellOfferStatus_open SellOfferStatus = 1 + SellOfferStatus_sold SellOfferStatus = 2 + SellOfferStatus_removed SellOfferStatus = 3 ) // Enum value maps for SellOfferStatus. var ( SellOfferStatus_name = map[int32]string{ - 0: "open", - 1: "sold", - 2: "removed", + 0: "empty", + 1: "open", + 2: "sold", + 3: "removed", } SellOfferStatus_value = map[string]int32{ - "open": 0, - "sold": 1, - "removed": 2, + "empty": 0, + "open": 1, + "sold": 2, + "removed": 3, } ) @@ -799,7 +802,7 @@ func (x *SellOffer) GetStatus() SellOfferStatus { if x != nil { return x.Status } - return SellOfferStatus_open + return SellOfferStatus_empty } var File_cardchain_cardchain_sell_offer_proto protoreflect.FileDescriptor @@ -824,24 +827,25 @@ var file_cardchain_cardchain_sell_offer_proto_rawDesc = []byte{ 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x32, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x6f, 0x70, 0x65, - 0x6e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x10, 0x01, 0x12, 0x0b, 0x0a, - 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x10, 0x02, 0x42, 0xd6, 0x01, 0x0a, 0x17, 0x63, - 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, - 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x3d, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x65, 0x6d, 0x70, + 0x74, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x10, 0x01, 0x12, 0x08, + 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x64, 0x10, 0x03, 0x42, 0xd6, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x42, 0x0e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, + 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 38eae6b3..2d410134 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin25","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin26","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers/{priceDown}/{priceUp}/{seller}/{buyer}/{card}/{status}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown","in":"path","required":true},{"type":"string","name":"priceUp","in":"path","required":true},{"type":"string","name":"seller","in":"path","required":true},{"type":"string","name":"buyer","in":"path","required":true},{"type":"string","format":"uint64","name":"card","in":"path","required":true},{"type":"string","name":"status","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin25","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin26","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"string"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index c7b1d772..c300ca64 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -22,4 +22,5 @@ set -o pipefail #ignite scaffold query matches timestampDown:uint timestampUp:uint containsUsers:strings reporter outcome cardsPlayed:uints --response matches #ignite scaffold query sets status contributors:strings containsCards:uints owner --response sets #ignite scaffold query cardContent cardId:uint --response cardContent:CardContent -ignite scaffold query cardContents cardId:uints --response cardContents +#ignite scaffold query cardContents cardId:uints --response cardContents +ignite scaffold query sellOffers priceDown priceUp seller buyer card:uint status --response sellOffers --response sellOfferIds:uints diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 846fa66b..634dabc1 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -174,6 +174,12 @@ service Query { option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/card_contents"; } + + // Queries a list of SellOffers items. + rpc SellOffers(QuerySellOffersRequest) returns (QuerySellOffersResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/cardchain/sell_offers"; + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -322,3 +328,17 @@ message QueryCardContentResponse { CardContent cardContent = 1; } message QueryCardContentsRequest { repeated uint64 cardIds = 1; } message QueryCardContentsResponse { repeated CardContent cardContents = 1; } + +message QuerySellOffersRequest { + cosmos.base.v1beta1.Coin priceDown = 1 [ (gogoproto.nullable) = false ]; + cosmos.base.v1beta1.Coin priceUp = 2 [ (gogoproto.nullable) = false ]; + string seller = 3; + string buyer = 4; + uint64 card = 5; + SellOfferStatus status = 6; +} + +message QuerySellOffersResponse { + repeated SellOffer sellOffers = 1; + repeated uint64 sellOfferIds = 2; +} diff --git a/proto/cardchain/cardchain/sell_offer.proto b/proto/cardchain/cardchain/sell_offer.proto index 98b383ff..5dec4e4c 100644 --- a/proto/cardchain/cardchain/sell_offer.proto +++ b/proto/cardchain/cardchain/sell_offer.proto @@ -7,7 +7,6 @@ import "cosmos/base/v1beta1/coin.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; message SellOffer { - string seller = 1; string buyer = 2; uint64 card = 3; @@ -16,7 +15,8 @@ message SellOffer { } enum SellOfferStatus { - open = 0; - sold = 1; - removed = 2; + empty = 0; + open = 1; + sold = 2; + removed = 3; } diff --git a/x/cardchain/keeper/query_sell_offers.go b/x/cardchain/keeper/query_sell_offers.go new file mode 100644 index 00000000..ddec0932 --- /dev/null +++ b/x/cardchain/keeper/query_sell_offers.go @@ -0,0 +1,67 @@ +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) SellOffers(goCtx context.Context, req *types.QuerySellOffersRequest) (*types.QuerySellOffersResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + var ( + sellOfferIds []uint64 + sellOffersList []*types.SellOffer + ) + + iter := k.sellOffers.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + idx, sellOffer := iter.Value() + // Checks for price + if req.PriceUp.IsValid() && req.PriceUp.IsValid() { + if !(sellOffer.Price.IsGTE(req.PriceDown) && req.PriceUp.IsGTE(sellOffer.Price)) { + continue + } + } + + // Checks for seller + if req.Seller != "" { + if req.Seller != sellOffer.Seller { + continue + } + } + + // Checks for buyer + if req.Buyer != "" { + if req.Buyer != sellOffer.Buyer { + continue + } + } + + // Checks for Status + if req.Status != types.SellOfferStatus_empty { + if req.Status != sellOffer.Status { + continue + } + } + + // Checks for Card + if req.Card != 0 { // I assume CardId 0 will never be used i a meeaningfull way + if req.Card != sellOffer.Card { + continue + } + } + + sellOffersList = append(sellOffersList, sellOffer) + sellOfferIds = append(sellOfferIds, idx) + } + + return &types.QuerySellOffersResponse{SellOffers: sellOffersList, SellOfferIds: sellOfferIds}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index d081430a..de49091e 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -168,6 +168,13 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardIds"}}, }, + { + RpcMethod: "SellOffers", + Use: "sell-offers [price-down] [price-up] [seller] [buyer] [card] [status]", + Short: "Query sellOffers", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "priceDown"}, {ProtoField: "priceUp"}, {ProtoField: "seller"}, {ProtoField: "buyer"}, {ProtoField: "card"}, {ProtoField: "status"}}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 5cf677be..7e7b53f1 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -2235,6 +2235,142 @@ func (m *QueryCardContentsResponse) GetCardContents() []*CardContent { return nil } +type QuerySellOffersRequest struct { + PriceDown types.Coin `protobuf:"bytes,1,opt,name=priceDown,proto3" json:"priceDown"` + PriceUp types.Coin `protobuf:"bytes,2,opt,name=priceUp,proto3" json:"priceUp"` + Seller string `protobuf:"bytes,3,opt,name=seller,proto3" json:"seller,omitempty"` + Buyer string `protobuf:"bytes,4,opt,name=buyer,proto3" json:"buyer,omitempty"` + Card uint64 `protobuf:"varint,5,opt,name=card,proto3" json:"card,omitempty"` + Status SellOfferStatus `protobuf:"varint,6,opt,name=status,proto3,enum=cardchain.cardchain.SellOfferStatus" json:"status,omitempty"` +} + +func (m *QuerySellOffersRequest) Reset() { *m = QuerySellOffersRequest{} } +func (m *QuerySellOffersRequest) String() string { return proto.CompactTextString(m) } +func (*QuerySellOffersRequest) ProtoMessage() {} +func (*QuerySellOffersRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{46} +} +func (m *QuerySellOffersRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuerySellOffersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuerySellOffersRequest.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 *QuerySellOffersRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySellOffersRequest.Merge(m, src) +} +func (m *QuerySellOffersRequest) XXX_Size() int { + return m.Size() +} +func (m *QuerySellOffersRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySellOffersRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QuerySellOffersRequest proto.InternalMessageInfo + +func (m *QuerySellOffersRequest) GetPriceDown() types.Coin { + if m != nil { + return m.PriceDown + } + return types.Coin{} +} + +func (m *QuerySellOffersRequest) GetPriceUp() types.Coin { + if m != nil { + return m.PriceUp + } + return types.Coin{} +} + +func (m *QuerySellOffersRequest) GetSeller() string { + if m != nil { + return m.Seller + } + return "" +} + +func (m *QuerySellOffersRequest) GetBuyer() string { + if m != nil { + return m.Buyer + } + return "" +} + +func (m *QuerySellOffersRequest) GetCard() uint64 { + if m != nil { + return m.Card + } + return 0 +} + +func (m *QuerySellOffersRequest) GetStatus() SellOfferStatus { + if m != nil { + return m.Status + } + return SellOfferStatus_empty +} + +type QuerySellOffersResponse struct { + SellOffers []*SellOffer `protobuf:"bytes,1,rep,name=sellOffers,proto3" json:"sellOffers,omitempty"` + SellOfferIds []uint64 `protobuf:"varint,2,rep,packed,name=sellOfferIds,proto3" json:"sellOfferIds,omitempty"` +} + +func (m *QuerySellOffersResponse) Reset() { *m = QuerySellOffersResponse{} } +func (m *QuerySellOffersResponse) String() string { return proto.CompactTextString(m) } +func (*QuerySellOffersResponse) ProtoMessage() {} +func (*QuerySellOffersResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{47} +} +func (m *QuerySellOffersResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QuerySellOffersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QuerySellOffersResponse.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 *QuerySellOffersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuerySellOffersResponse.Merge(m, src) +} +func (m *QuerySellOffersResponse) XXX_Size() int { + return m.Size() +} +func (m *QuerySellOffersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QuerySellOffersResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QuerySellOffersResponse proto.InternalMessageInfo + +func (m *QuerySellOffersResponse) GetSellOffers() []*SellOffer { + if m != nil { + return m.SellOffers + } + return nil +} + +func (m *QuerySellOffersResponse) GetSellOfferIds() []uint64 { + if m != nil { + return m.SellOfferIds + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") @@ -2282,166 +2418,175 @@ func init() { proto.RegisterType((*QueryCardContentResponse)(nil), "cardchain.cardchain.QueryCardContentResponse") proto.RegisterType((*QueryCardContentsRequest)(nil), "cardchain.cardchain.QueryCardContentsRequest") proto.RegisterType((*QueryCardContentsResponse)(nil), "cardchain.cardchain.QueryCardContentsResponse") + proto.RegisterType((*QuerySellOffersRequest)(nil), "cardchain.cardchain.QuerySellOffersRequest") + proto.RegisterType((*QuerySellOffersResponse)(nil), "cardchain.cardchain.QuerySellOffersResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2451 bytes of a gzipped FileDescriptorProto + // 2573 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x5a, 0xcd, 0x8f, 0x14, 0xc7, 0x15, 0xa7, 0x97, 0xd9, 0x5d, 0xa6, 0xf8, 0x30, 0x14, 0xd8, 0x19, 0x8f, 0x61, 0x58, 0xca, 0x18, - 0xd6, 0x18, 0xa6, 0xcd, 0xee, 0xf2, 0xb1, 0x18, 0x13, 0xef, 0x07, 0x10, 0x82, 0x80, 0x75, 0x6f, - 0x20, 0x8a, 0xa3, 0x64, 0xd5, 0x3b, 0x53, 0xbb, 0xdb, 0xa2, 0xa7, 0x7b, 0xdc, 0x5d, 0xc3, 0x66, - 0x32, 0x1a, 0x45, 0xc9, 0x29, 0xa7, 0x28, 0x8a, 0xa3, 0x28, 0x97, 0x48, 0x51, 0x4e, 0x51, 0x3e, - 0x14, 0x9f, 0x23, 0x2b, 0xa7, 0x28, 0xe2, 0xe8, 0x28, 0x17, 0x9f, 0xa2, 0x08, 0x22, 0x45, 0xf9, - 0x13, 0xa2, 0x5c, 0xac, 0xaa, 0x7a, 0x55, 0x53, 0x3d, 0xd3, 0xdd, 0xdb, 0x0b, 0x17, 0x34, 0x55, - 0xfd, 0x7b, 0xf5, 0x7e, 0xaf, 0xea, 0x55, 0xbd, 0x8f, 0x05, 0x9d, 0x6c, 0xb8, 0x51, 0xb3, 0xb1, - 0xe5, 0x7a, 0x81, 0x3d, 0xf8, 0xf5, 0x71, 0x87, 0x46, 0xdd, 0x7a, 0x3b, 0x0a, 0x59, 0x88, 0x8f, - 0xea, 0xe9, 0xba, 0xfe, 0x55, 0x3d, 0xe2, 0xb6, 0xbc, 0x20, 0xb4, 0xc5, 0xbf, 0x12, 0x57, 0x3d, - 0xb6, 0x19, 0x6e, 0x86, 0xe2, 0xa7, 0xcd, 0x7f, 0xc1, 0xec, 0xf1, 0xcd, 0x30, 0xdc, 0xf4, 0xa9, - 0xed, 0xb6, 0x3d, 0xdb, 0x0d, 0x82, 0x90, 0xb9, 0xcc, 0x0b, 0x83, 0x18, 0xbe, 0x9e, 0x6b, 0x84, - 0x71, 0x2b, 0x8c, 0xed, 0x75, 0x37, 0xa6, 0x52, 0xa9, 0xfd, 0xe4, 0xe2, 0x3a, 0x65, 0xee, 0x45, - 0xbb, 0xed, 0x6e, 0x7a, 0x81, 0x00, 0x03, 0x76, 0x2a, 0x8d, 0x68, 0xdb, 0x8d, 0xdc, 0x96, 0x5a, - 0xed, 0xed, 0x54, 0x44, 0x14, 0x36, 0x3b, 0x0d, 0xb6, 0xd6, 0xa4, 0xcc, 0xf5, 0xfc, 0x5c, 0x28, - 0xff, 0xb5, 0xb6, 0xed, 0xb1, 0xad, 0x35, 0xaf, 0xe5, 0x6e, 0x52, 0x80, 0xd6, 0xd2, 0xa0, 0x9d, - 0x98, 0x46, 0x79, 0xdf, 0xf9, 0x2f, 0xf8, 0x9e, 0xba, 0xc1, 0x2d, 0x97, 0x35, 0xb6, 0x00, 0x70, - 0x22, 0x0d, 0x10, 0x53, 0xa6, 0xf7, 0x28, 0xfd, 0xb3, 0x64, 0xea, 0x46, 0x6c, 0x3b, 0x8c, 0x1e, - 0x03, 0xf6, 0x74, 0x3a, 0xd6, 0xf7, 0xd7, 0xc2, 0x8d, 0x0d, 0xcd, 0xf8, 0x54, 0x2a, 0xe3, 0xb0, - 0x13, 0x34, 0x3c, 0x3f, 0x6f, 0xb3, 0x63, 0x1a, 0x3d, 0xd1, 0x8b, 0xbc, 0x99, 0x86, 0xa0, 0x01, - 0x5f, 0x86, 0x69, 0x50, 0x3d, 0x17, 0x94, 0xb6, 0xd7, 0x86, 0x3f, 0x28, 0x4f, 0x68, 0x84, 0x9e, - 0xf2, 0x81, 0xe9, 0xb4, 0xf5, 0x9e, 0x84, 0xcc, 0x0b, 0x36, 0xd7, 0x22, 0x1a, 0x77, 0x7c, 0xa6, - 0x0e, 0xf8, 0x4c, 0xe6, 0x01, 0x37, 0xc2, 0x80, 0xd1, 0x00, 0x76, 0x97, 0x1c, 0x43, 0xf8, 0x43, - 0xee, 0x77, 0x2b, 0xc2, 0x91, 0x1c, 0xfa, 0x71, 0x87, 0xc6, 0x8c, 0x3c, 0x44, 0x47, 0x13, 0xb3, - 0x71, 0x3b, 0x0c, 0x62, 0x8a, 0x6f, 0xa0, 0x09, 0xe9, 0x70, 0x15, 0x6b, 0xca, 0x9a, 0xde, 0x3f, - 0xf3, 0x46, 0x3d, 0xe5, 0x6e, 0xd4, 0xa5, 0xd0, 0x62, 0xf9, 0xe9, 0x3f, 0x4f, 0xee, 0xf9, 0xed, - 0x7f, 0x3e, 0x3d, 0x67, 0x39, 0x20, 0x45, 0x6c, 0x74, 0x42, 0x2c, 0x7b, 0x9b, 0xb2, 0x15, 0xe9, - 0x96, 0xcb, 0xd2, 0x2b, 0x41, 0x2f, 0x3e, 0x84, 0xc6, 0xbc, 0xa6, 0x58, 0xbc, 0xe4, 0x8c, 0x79, - 0x4d, 0x12, 0xa3, 0x5a, 0x96, 0x00, 0x50, 0xfa, 0x10, 0x1d, 0x4a, 0x7e, 0x01, 0x6a, 0x6f, 0xa6, - 0x53, 0x4b, 0x40, 0x17, 0x4b, 0x9c, 0xa2, 0x33, 0xb4, 0x00, 0xd9, 0x04, 0x96, 0x0b, 0xbe, 0x9f, - 0xce, 0xf2, 0x16, 0x42, 0x83, 0xdb, 0x09, 0xfa, 0xce, 0xd4, 0xe5, 0xd1, 0xd5, 0xf9, 0xd1, 0xd5, - 0xe5, 0xfb, 0x01, 0x07, 0x58, 0x5f, 0x71, 0x37, 0x29, 0xc8, 0x3a, 0x86, 0x24, 0xf9, 0xcc, 0x02, - 0xf3, 0x52, 0x34, 0xe5, 0x98, 0xb7, 0xf7, 0xa5, 0xcc, 0xc3, 0xb7, 0x13, 0xec, 0xc7, 0x04, 0xfb, - 0xb3, 0x3b, 0xb2, 0x97, 0x7c, 0x12, 0xf4, 0xcf, 0xa1, 0xc3, 0x82, 0xfd, 0x92, 0x1b, 0x35, 0xd5, - 0xd6, 0xbc, 0x86, 0x26, 0x38, 0x9d, 0x3b, 0xea, 0x10, 0x61, 0x44, 0xee, 0xa2, 0x23, 0x06, 0x16, - 0x8c, 0xbb, 0x8c, 0x4a, 0xfc, 0x33, 0xec, 0x20, 0x49, 0x35, 0x89, 0x0b, 0x7c, 0xd3, 0x63, 0x5b, - 0x77, 0xf8, 0x2d, 0x71, 0x04, 0x9e, 0x9c, 0x07, 0xc5, 0x0f, 0x63, 0x1a, 0x29, 0xc5, 0x15, 0x34, - 0xe9, 0x36, 0x9b, 0x11, 0x8d, 0xa5, 0x03, 0x94, 0x1d, 0x35, 0x24, 0x8b, 0xa0, 0x5a, 0xa2, 0x41, - 0xf5, 0x05, 0x54, 0xe2, 0x4f, 0x18, 0xa8, 0x7e, 0x3d, 0x55, 0xb5, 0x10, 0x10, 0x30, 0xf2, 0xeb, - 0x92, 0xc1, 0x5f, 0xfb, 0xc1, 0x31, 0x34, 0x1e, 0x6e, 0x07, 0xb0, 0x4a, 0xd9, 0x91, 0x03, 0x7c, - 0x05, 0x4d, 0xc4, 0xcc, 0x65, 0x9d, 0xb8, 0x32, 0x36, 0xb5, 0x77, 0xfa, 0xd0, 0xcc, 0xc9, 0x4c, - 0xbb, 0x56, 0x05, 0xcc, 0x01, 0x38, 0x9e, 0x47, 0xfb, 0xf8, 0xf7, 0x6f, 0x74, 0xdb, 0xb4, 0xb2, - 0x57, 0x88, 0x9e, 0xc8, 0x14, 0xe5, 0x20, 0x47, 0xc3, 0xf1, 0x1c, 0x1a, 0x6f, 0xf8, 0x6e, 0x1c, - 0x57, 0x4a, 0x42, 0xae, 0x96, 0x29, 0xb7, 0xc4, 0x51, 0x8e, 0x04, 0xf3, 0xc3, 0x8a, 0xc3, 0x88, - 0x2d, 0x76, 0x2b, 0xe3, 0xc2, 0x00, 0x18, 0x61, 0x82, 0x0e, 0x04, 0x6e, 0x8b, 0x2e, 0x85, 0x01, - 0x73, 0xbd, 0x20, 0xae, 0x4c, 0x88, 0xaf, 0x89, 0x39, 0x7c, 0x0e, 0x1d, 0x7e, 0x4c, 0xbb, 0xdb, - 0x61, 0xd4, 0x8c, 0x35, 0x6e, 0x52, 0xe0, 0x46, 0xe6, 0xf1, 0x69, 0x74, 0x30, 0x08, 0x19, 0x1d, - 0x00, 0xf7, 0x09, 0x60, 0x72, 0x12, 0x4f, 0xa3, 0x57, 0xc2, 0xc0, 0xef, 0xae, 0x32, 0x37, 0x62, - 0x34, 0xe2, 0x64, 0x2b, 0xe5, 0x29, 0x6b, 0x7a, 0x9f, 0x33, 0x3c, 0x8d, 0xeb, 0x08, 0xf3, 0xa9, - 0x45, 0xd7, 0x77, 0x83, 0x06, 0x5d, 0x08, 0x1a, 0x5b, 0x61, 0x14, 0x57, 0x90, 0x00, 0xa7, 0x7c, - 0xc1, 0xef, 0xa1, 0x7d, 0x91, 0x1b, 0x79, 0xcc, 0xa3, 0x71, 0x65, 0xff, 0x0e, 0x67, 0xe2, 0x70, - 0x60, 0xd7, 0xd1, 0x02, 0xf8, 0x0c, 0x3a, 0xd4, 0xea, 0xf8, 0xcc, 0x13, 0x3b, 0xf7, 0x20, 0xf0, - 0xbb, 0x95, 0x03, 0x42, 0xd1, 0xd0, 0x2c, 0xa9, 0xc3, 0x43, 0x0a, 0x1e, 0x02, 0x7e, 0x56, 0x41, - 0x93, 0xf2, 0x06, 0xc8, 0x8b, 0x5b, 0x72, 0xd4, 0x90, 0x5c, 0x00, 0x8f, 0xba, 0xc7, 0x23, 0xa1, - 0xe1, 0xc5, 0x22, 0x32, 0xea, 0xfb, 0xa3, 0x86, 0xe4, 0x16, 0x2c, 0x0f, 0x70, 0x58, 0xfe, 0x5d, - 0x34, 0x2e, 0x00, 0xe0, 0xc7, 0xd5, 0x54, 0xb3, 0xa4, 0x88, 0x04, 0x92, 0xb3, 0xe8, 0x15, 0xb1, - 0xce, 0x2a, 0x65, 0x86, 0x1b, 0xc7, 0x94, 0x69, 0x95, 0x72, 0x40, 0xee, 0xc1, 0x25, 0x13, 0x40, - 0x50, 0x37, 0x9f, 0x54, 0x97, 0xfe, 0x08, 0xad, 0x52, 0xc6, 0x2f, 0xec, 0x82, 0x0c, 0xcc, 0x4a, - 0xef, 0x3c, 0x7a, 0x15, 0x96, 0xf3, 0xfd, 0x07, 0x3c, 0x16, 0x2b, 0xed, 0x53, 0x68, 0x7f, 0xac, - 0xe6, 0x34, 0x07, 0x73, 0x8a, 0x3c, 0x42, 0xaf, 0x0d, 0x8b, 0x02, 0x9f, 0xeb, 0xa8, 0xac, 0x81, - 0xc0, 0xa9, 0x96, 0xc1, 0x49, 0x89, 0x0e, 0x04, 0xc8, 0x2c, 0x04, 0xb9, 0x25, 0x19, 0xf9, 0x15, - 0xa1, 0xe3, 0xa8, 0x0c, 0xb9, 0x80, 0xa6, 0x33, 0x98, 0x20, 0xf7, 0xd1, 0xb1, 0xa4, 0x90, 0x7e, - 0xcb, 0x26, 0x01, 0x04, 0x44, 0x8e, 0xa7, 0xbb, 0x18, 0x88, 0x29, 0x30, 0x79, 0x17, 0xce, 0x75, - 0x55, 0xe4, 0x16, 0x8a, 0x43, 0x15, 0xed, 0x93, 0xc9, 0x86, 0xa6, 0xa0, 0xc7, 0xe4, 0xeb, 0x40, - 0x5b, 0x49, 0x00, 0x81, 0x59, 0x34, 0x21, 0x21, 0xb9, 0xb1, 0x19, 0x84, 0x00, 0xaa, 0x4f, 0xe5, - 0xa6, 0x4a, 0x49, 0x8c, 0x53, 0xd1, 0x69, 0xca, 0xe0, 0x54, 0x8c, 0x29, 0x7d, 0x2a, 0x86, 0xe8, - 0xe0, 0x54, 0x34, 0x30, 0xf7, 0x54, 0x06, 0xa2, 0x03, 0x01, 0x52, 0x19, 0x5e, 0x57, 0x27, 0x25, - 0xdf, 0x42, 0x5f, 0x19, 0xf9, 0xa2, 0x13, 0x13, 0xa4, 0x57, 0x50, 0x21, 0x72, 0x27, 0x9d, 0x86, - 0x04, 0x99, 0x82, 0x40, 0xac, 0xbf, 0x0e, 0x42, 0x0e, 0x28, 0xdf, 0x42, 0x27, 0x33, 0x11, 0x40, - 0xe2, 0xe6, 0xa8, 0xdd, 0x67, 0xf3, 0x39, 0x0c, 0xd6, 0x30, 0x36, 0xe0, 0xd4, 0xb0, 0xa6, 0x78, - 0x84, 0xcc, 0x63, 0x34, 0x95, 0x0d, 0x01, 0x36, 0xb7, 0x53, 0xb6, 0xa4, 0x30, 0x1d, 0x73, 0x6f, - 0xde, 0x40, 0xaf, 0xeb, 0x87, 0x4d, 0x08, 0xdc, 0x09, 0x36, 0x42, 0xc5, 0xe4, 0xef, 0x63, 0xa8, - 0x9a, 0xf6, 0x15, 0x48, 0xdc, 0x45, 0x87, 0xb9, 0x9e, 0x85, 0x4e, 0x83, 0x67, 0x0c, 0x2b, 0x91, - 0xd7, 0xa0, 0x83, 0x90, 0x6b, 0x64, 0x1c, 0x2a, 0xd7, 0x58, 0x0a, 0xbd, 0x00, 0xd2, 0x96, 0x11, - 0x41, 0x5c, 0x43, 0xc8, 0x6d, 0x30, 0xef, 0x09, 0x5d, 0xa5, 0x4c, 0x06, 0xd7, 0x92, 0x63, 0xcc, - 0x70, 0x9f, 0xe5, 0x32, 0xf1, 0xfd, 0x4e, 0x6b, 0x9d, 0x46, 0x95, 0xbd, 0xd2, 0x67, 0x8d, 0x29, - 0x1e, 0x88, 0xc4, 0x6b, 0x44, 0x15, 0xa6, 0x24, 0x30, 0xc9, 0x49, 0x1e, 0xda, 0xf4, 0x23, 0xa1, - 0x80, 0xe3, 0x02, 0x38, 0x32, 0xcf, 0xa3, 0x03, 0xdc, 0x64, 0x85, 0x9c, 0x10, 0xc8, 0xa1, 0x59, - 0xbe, 0xa6, 0xef, 0xc6, 0x8c, 0xef, 0xd2, 0xbd, 0xb0, 0xe9, 0x6d, 0x78, 0xb4, 0x29, 0xc2, 0x65, - 0xc9, 0x19, 0x99, 0x27, 0xf3, 0xe8, 0x94, 0x7e, 0x79, 0x45, 0x34, 0x5a, 0xf6, 0x62, 0x16, 0x79, - 0xeb, 0x1d, 0xbe, 0x15, 0xa9, 0x8f, 0x76, 0x59, 0x3d, 0xda, 0x8f, 0x10, 0xc9, 0x13, 0x35, 0x82, - 0x52, 0x27, 0x8a, 0x68, 0xc0, 0x74, 0x50, 0x92, 0x43, 0x9e, 0x11, 0x6c, 0xbb, 0x01, 0xa3, 0x4d, - 0xd8, 0x5e, 0x18, 0x91, 0xab, 0xe8, 0xb8, 0x4c, 0x54, 0x1b, 0xc2, 0x2d, 0x6e, 0x45, 0x61, 0xeb, - 0x23, 0xea, 0xfa, 0x5d, 0x23, 0x6e, 0x7d, 0x9f, 0x8f, 0x35, 0x1f, 0x35, 0x24, 0xf3, 0x2a, 0x99, - 0x1e, 0x91, 0x1c, 0x90, 0xc9, 0x48, 0xdc, 0x94, 0xe3, 0x3d, 0x12, 0xf5, 0x8d, 0x23, 0xcb, 0x1b, - 0xe5, 0x78, 0x01, 0xf8, 0xdd, 0xd0, 0x47, 0x58, 0x74, 0x05, 0x1d, 0xe1, 0xdb, 0x9a, 0xf8, 0x98, - 0x9b, 0x66, 0x26, 0x97, 0x19, 0x15, 0x26, 0xff, 0xb3, 0xe0, 0xd9, 0xbd, 0x27, 0x7d, 0x45, 0x59, - 0x7e, 0x1a, 0x1d, 0x64, 0x5e, 0x8b, 0xc6, 0xcc, 0x6d, 0xb5, 0x97, 0xc3, 0xed, 0x00, 0x9e, 0xca, - 0xe4, 0x24, 0x77, 0x4d, 0x3d, 0xf1, 0xb0, 0x2d, 0x92, 0xee, 0x92, 0x63, 0x4e, 0xf1, 0x75, 0x1a, - 0x90, 0x09, 0xf1, 0xbc, 0x33, 0x16, 0x19, 0x60, 0xd9, 0x49, 0x4e, 0xf2, 0xb8, 0x10, 0xd1, 0x76, - 0xc8, 0x33, 0x21, 0xe1, 0xbb, 0x65, 0x47, 0x8f, 0x79, 0x04, 0x0a, 0x3b, 0xac, 0x11, 0xb6, 0xa8, - 0xf0, 0xd6, 0x43, 0x19, 0x11, 0xe8, 0x81, 0xc4, 0x38, 0x0a, 0xac, 0xaf, 0xcd, 0x8a, 0xef, 0x76, - 0x69, 0xb3, 0x32, 0x21, 0x0e, 0xde, 0x9c, 0x22, 0x5b, 0x10, 0xf3, 0xb4, 0xe9, 0xb0, 0xcb, 0x73, - 0x90, 0xad, 0x50, 0xf5, 0xbe, 0xe4, 0xe5, 0x1f, 0x0a, 0xca, 0x6d, 0x80, 0xa4, 0x46, 0x5d, 0x62, - 0x3d, 0x26, 0xbf, 0xb3, 0x06, 0x59, 0x87, 0xde, 0xe2, 0xcb, 0x3a, 0xa1, 0xb6, 0x84, 0x5d, 0x59, - 0x21, 0x9e, 0x0d, 0xe5, 0xd3, 0x04, 0x1d, 0xe0, 0xbb, 0x27, 0xdc, 0x9f, 0x27, 0x88, 0x63, 0x62, - 0x47, 0x13, 0x73, 0xe6, 0xb6, 0x8b, 0xc4, 0x4d, 0x6c, 0x7b, 0xc9, 0x49, 0x4e, 0x0e, 0x12, 0xfd, - 0x92, 0x91, 0xe8, 0x93, 0x77, 0x20, 0x83, 0x93, 0x5c, 0x61, 0x4f, 0x78, 0x4e, 0xcd, 0xaf, 0xa2, - 0xca, 0xf7, 0x60, 0x44, 0x2e, 0x42, 0xf0, 0x12, 0x49, 0xb8, 0xac, 0xc0, 0x77, 0xaa, 0x99, 0xbe, - 0x8b, 0x2a, 0xa3, 0x22, 0xa0, 0x66, 0x51, 0x1e, 0x1a, 0x4c, 0x83, 0x6b, 0x4f, 0x65, 0xa7, 0xfd, - 0x20, 0x6e, 0x0a, 0x91, 0xb9, 0xd1, 0xf5, 0x63, 0xe3, 0x42, 0x67, 0xe4, 0xad, 0xae, 0x11, 0x0e, - 0x06, 0x52, 0x40, 0x6b, 0x19, 0x1d, 0x30, 0x34, 0x28, 0xb7, 0xd8, 0x99, 0x57, 0x42, 0x6a, 0xe6, - 0xff, 0x27, 0xd1, 0xb8, 0xd0, 0x81, 0x7f, 0x66, 0xa1, 0x09, 0xd9, 0x4e, 0xc0, 0xe9, 0xb1, 0x6b, - 0xb4, 0x77, 0x51, 0x9d, 0xde, 0x19, 0x28, 0xd9, 0x92, 0x4b, 0x3f, 0xfa, 0xc7, 0xbf, 0x3f, 0x19, - 0xb3, 0xf1, 0x05, 0x7b, 0x99, 0x36, 0x68, 0xc0, 0x22, 0xd7, 0xe7, 0xa4, 0x6e, 0xbb, 0x2d, 0x6a, - 0x67, 0x37, 0xdb, 0xf0, 0x5f, 0xac, 0xe1, 0xa2, 0x1c, 0xcf, 0x64, 0xeb, 0xcc, 0xea, 0x75, 0x54, - 0x67, 0x77, 0x25, 0x03, 0x94, 0x97, 0x04, 0xe5, 0xf7, 0xf1, 0x7b, 0x45, 0x29, 0x27, 0xbb, 0x7f, - 0x76, 0xcf, 0x6b, 0xf6, 0xf1, 0x67, 0x16, 0x3a, 0x92, 0x5c, 0x7f, 0xc1, 0xf7, 0xf3, 0x6c, 0xc8, - 0xea, 0x84, 0xe4, 0xd9, 0x90, 0xd9, 0xd3, 0x20, 0x37, 0x84, 0x0d, 0x57, 0xf1, 0xe5, 0x17, 0xb3, - 0x01, 0x7f, 0x62, 0xa1, 0x92, 0xa8, 0x03, 0xdf, 0xca, 0xd6, 0x6e, 0xf4, 0x24, 0xaa, 0x67, 0x76, - 0x82, 0x01, 0xaf, 0xeb, 0x82, 0xd7, 0x65, 0x3c, 0x57, 0x90, 0x17, 0xff, 0x65, 0xf7, 0xe4, 0xbd, - 0xe8, 0xe3, 0x9f, 0x5b, 0xa8, 0xc4, 0x1f, 0xe9, 0x3c, 0x56, 0x46, 0xc3, 0x22, 0x8f, 0x95, 0xd9, - 0xa9, 0x20, 0xef, 0x0b, 0x56, 0x57, 0xf0, 0xa5, 0x82, 0xac, 0x3a, 0x31, 0x8d, 0xec, 0x1e, 0xc4, - 0xd0, 0x3e, 0xfe, 0x85, 0x85, 0xc6, 0xe5, 0x23, 0xb6, 0xc3, 0x36, 0xe8, 0x33, 0x3d, 0xbb, 0x23, - 0xee, 0x25, 0xf6, 0x2b, 0xb6, 0x7b, 0xe2, 0xf1, 0xec, 0xe3, 0x5f, 0x5a, 0x68, 0x5c, 0x44, 0x86, - 0x3c, 0x62, 0x66, 0x71, 0x9c, 0x47, 0x2c, 0x51, 0x15, 0xef, 0xda, 0xc1, 0x44, 0xf8, 0xb1, 0x7b, - 0x10, 0x85, 0xfa, 0xf8, 0x27, 0x16, 0xda, 0xbb, 0x4a, 0x19, 0x3e, 0x9d, 0xad, 0x70, 0x50, 0x3e, - 0x57, 0xdf, 0xda, 0x01, 0x05, 0xa4, 0xae, 0x09, 0x52, 0x73, 0x78, 0xa6, 0x20, 0xa9, 0x98, 0x32, - 0xbb, 0x27, 0x82, 0x47, 0x1f, 0xff, 0xd1, 0x42, 0x65, 0x5d, 0xc2, 0xe2, 0x73, 0x79, 0x0a, 0x93, - 0xd5, 0x75, 0xf5, 0x9d, 0x42, 0x58, 0xa0, 0x78, 0x5b, 0x50, 0x5c, 0xc0, 0x5f, 0x2d, 0x4c, 0x51, - 0x35, 0xd6, 0x39, 0x53, 0x5d, 0xb0, 0xf7, 0xf1, 0x6f, 0x2c, 0x34, 0x09, 0x95, 0x2e, 0xce, 0x79, - 0x8e, 0x93, 0x85, 0x77, 0xf5, 0xed, 0x02, 0x48, 0x60, 0xba, 0x28, 0x98, 0x5e, 0xc7, 0xd7, 0x8a, - 0xba, 0x9e, 0x94, 0xb7, 0x7b, 0xba, 0x90, 0xef, 0xe3, 0x5f, 0x59, 0x68, 0x42, 0x96, 0xc3, 0x79, - 0xb1, 0x25, 0x51, 0x97, 0xe7, 0xc5, 0x96, 0x64, 0x39, 0x4e, 0x3e, 0x10, 0x0c, 0xaf, 0xe1, 0xab, - 0x85, 0xf7, 0x92, 0x8b, 0xf3, 0x7d, 0x94, 0x65, 0x7e, 0x1f, 0xff, 0xc1, 0x42, 0x65, 0x5d, 0x9a, - 0xe5, 0x1d, 0xfa, 0x70, 0xf1, 0x9e, 0x77, 0xe8, 0x23, 0xd5, 0x3a, 0xb9, 0x25, 0x88, 0x7e, 0x80, - 0x6f, 0x14, 0x24, 0xaa, 0x2b, 0x43, 0xbb, 0x67, 0xb4, 0x03, 0xc4, 0x99, 0xa3, 0x41, 0x3d, 0x8a, - 0x8b, 0x70, 0xd0, 0x4f, 0xce, 0xf9, 0x62, 0x60, 0x60, 0x3c, 0x2f, 0x18, 0xcf, 0xe2, 0x8b, 0xbb, - 0x65, 0x1c, 0xe3, 0xbf, 0x5a, 0x08, 0x8f, 0x96, 0xbb, 0x78, 0xb6, 0x80, 0xfe, 0xe1, 0x22, 0xbc, - 0x3a, 0xb7, 0x3b, 0xa1, 0x17, 0x0c, 0xe0, 0x69, 0x7f, 0x2c, 0xc2, 0x4f, 0x2d, 0x74, 0x34, 0xa5, - 0xf6, 0xc7, 0x45, 0x28, 0x8d, 0x74, 0x13, 0xaa, 0x97, 0x76, 0x29, 0x05, 0x96, 0x2c, 0x0b, 0x4b, - 0x6e, 0xe0, 0xeb, 0xbb, 0x3e, 0x06, 0xd3, 0x94, 0x3f, 0x59, 0xe8, 0x60, 0xa2, 0x77, 0x80, 0xeb, - 0xf9, 0xf1, 0x67, 0xb8, 0x05, 0x51, 0xb5, 0x0b, 0xe3, 0x5f, 0x30, 0xa2, 0xea, 0x5f, 0x6b, 0x1e, - 0xe7, 0xf7, 0x85, 0x85, 0x5e, 0x4d, 0xad, 0xaf, 0xf1, 0xe5, 0xfc, 0x48, 0x90, 0x55, 0xcb, 0x57, - 0xaf, 0xec, 0x5a, 0x0e, 0x2c, 0xb9, 0x2f, 0x2c, 0xf9, 0x1a, 0xbe, 0x55, 0x3c, 0xa6, 0xac, 0x89, - 0xc6, 0x76, 0x77, 0xad, 0x69, 0xac, 0xa7, 0xe3, 0xcc, 0xdf, 0x2c, 0x74, 0x78, 0xb8, 0x50, 0xc7, - 0x17, 0x73, 0x72, 0xbc, 0xf4, 0x76, 0x40, 0x75, 0x66, 0x37, 0x22, 0x60, 0xcb, 0x5d, 0x61, 0xcb, - 0x4d, 0xbc, 0x54, 0xd0, 0x16, 0x57, 0x2e, 0xb4, 0xb6, 0x11, 0x85, 0xad, 0x35, 0xd1, 0x6d, 0xb0, - 0x7b, 0xd0, 0x74, 0xe8, 0x0b, 0xaf, 0x4a, 0xd4, 0xef, 0x79, 0x5e, 0x95, 0xd6, 0x5f, 0xc8, 0xf3, - 0xaa, 0xd4, 0x96, 0xc3, 0xae, 0xbd, 0x2a, 0xf9, 0x57, 0x5b, 0xfc, 0x5f, 0x0b, 0x4d, 0x42, 0x7d, - 0x9d, 0x17, 0x32, 0x93, 0xdd, 0x87, 0xbc, 0x90, 0x39, 0x54, 0xac, 0x93, 0x1f, 0x5b, 0x82, 0xe0, - 0x0f, 0x2d, 0xfc, 0x83, 0xdd, 0xa4, 0x45, 0x34, 0xb6, 0x7b, 0x89, 0x5e, 0x46, 0xdf, 0x18, 0x3f, - 0x6c, 0xf7, 0x79, 0x48, 0x35, 0x3a, 0x14, 0x7d, 0xbb, 0xa7, 0x1a, 0x12, 0x7d, 0xbb, 0x07, 0x2d, - 0x86, 0xbe, 0xcc, 0x92, 0xa1, 0x9d, 0xd0, 0xc7, 0x7f, 0xb6, 0x50, 0x49, 0x74, 0xec, 0xf2, 0x53, - 0xa7, 0xb8, 0x40, 0xaa, 0x6c, 0xd6, 0xde, 0xa4, 0x21, 0x2c, 0xfc, 0x0e, 0xfe, 0x76, 0xf1, 0xeb, - 0x10, 0xdb, 0x3d, 0xd9, 0x2d, 0x00, 0x43, 0x54, 0x63, 0xc0, 0xb0, 0x4b, 0x24, 0xbd, 0x7d, 0x9d, - 0xb7, 0x7e, 0x6a, 0xa1, 0xfd, 0x46, 0xe9, 0x8a, 0xcf, 0xe7, 0x3f, 0x3f, 0xc9, 0x5a, 0xbf, 0x7a, - 0xa1, 0x20, 0xfa, 0x05, 0xdf, 0x58, 0xf3, 0x0f, 0xfc, 0x83, 0xd2, 0xe4, 0xf7, 0x16, 0x3a, 0x60, - 0x96, 0xeb, 0xb8, 0x18, 0x0b, 0xbd, 0xff, 0xf5, 0xa2, 0xf0, 0x97, 0x28, 0x0c, 0x14, 0xeb, 0x78, - 0xd1, 0x79, 0xfa, 0xac, 0x66, 0x7d, 0xfe, 0xac, 0x66, 0xfd, 0xeb, 0x59, 0xcd, 0xfa, 0xe9, 0xf3, - 0xda, 0x9e, 0xcf, 0x9f, 0xd7, 0xf6, 0x7c, 0xf1, 0xbc, 0xb6, 0xe7, 0xa3, 0xab, 0x9b, 0x1e, 0xdb, - 0xea, 0xac, 0xd7, 0x1b, 0x61, 0x2b, 0x77, 0xe5, 0xef, 0x19, 0xbf, 0x59, 0xb7, 0x4d, 0xe3, 0xf5, - 0x09, 0xf1, 0x9f, 0x1d, 0x66, 0xbf, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x50, 0xdc, 0xda, 0xc2, 0xed, - 0x23, 0x00, 0x00, + 0xd6, 0x18, 0xa6, 0xcd, 0xee, 0xf2, 0xb1, 0x18, 0x88, 0xf7, 0x03, 0x08, 0x41, 0xc0, 0xba, 0x37, + 0x10, 0xc5, 0x51, 0xb2, 0xea, 0x9d, 0x29, 0x76, 0x5b, 0xf4, 0x74, 0x8f, 0xbb, 0x6b, 0xd8, 0x4c, + 0x46, 0xa3, 0x28, 0x39, 0xe5, 0x14, 0x45, 0x76, 0x14, 0xe5, 0x12, 0x29, 0x1f, 0x97, 0x28, 0x1f, + 0x8a, 0xcf, 0x91, 0x95, 0x53, 0x14, 0x71, 0x74, 0x94, 0x8b, 0x4f, 0x51, 0x04, 0x91, 0xa2, 0xfc, + 0x09, 0xb9, 0x59, 0x55, 0xf5, 0xaa, 0xba, 0x7a, 0xa6, 0xa7, 0xb7, 0x17, 0x2e, 0xab, 0xae, 0xea, + 0xdf, 0xab, 0xfa, 0xbd, 0xaa, 0x57, 0xf5, 0x7e, 0xfd, 0x66, 0xd1, 0xf1, 0x86, 0x1b, 0x35, 0x1b, + 0x9b, 0xae, 0x17, 0xd8, 0xc9, 0xd3, 0x47, 0x1d, 0x1a, 0x75, 0xeb, 0xed, 0x28, 0x64, 0x21, 0x3e, + 0xac, 0xbb, 0xeb, 0xfa, 0xa9, 0x7a, 0xc8, 0x6d, 0x79, 0x41, 0x68, 0x8b, 0xbf, 0x12, 0x57, 0x3d, + 0xb2, 0x11, 0x6e, 0x84, 0xe2, 0xd1, 0xe6, 0x4f, 0xd0, 0x7b, 0x74, 0x23, 0x0c, 0x37, 0x7c, 0x6a, + 0xbb, 0x6d, 0xcf, 0x76, 0x83, 0x20, 0x64, 0x2e, 0xf3, 0xc2, 0x20, 0x86, 0xb7, 0x67, 0x1a, 0x61, + 0xdc, 0x0a, 0x63, 0x7b, 0xdd, 0x8d, 0xa9, 0x9c, 0xd4, 0x7e, 0x72, 0x7e, 0x9d, 0x32, 0xf7, 0xbc, + 0xdd, 0x76, 0x37, 0xbc, 0x40, 0x80, 0x01, 0x3b, 0x95, 0x45, 0xb4, 0xed, 0x46, 0x6e, 0x4b, 0x8d, + 0xf6, 0x76, 0x26, 0x22, 0x0a, 0x9b, 0x9d, 0x06, 0x5b, 0x6b, 0x52, 0xe6, 0x7a, 0x7e, 0x2e, 0x94, + 0x3f, 0xad, 0x6d, 0x79, 0x6c, 0x73, 0xcd, 0x6b, 0xb9, 0x1b, 0x14, 0xa0, 0xb5, 0x2c, 0x68, 0x27, + 0xa6, 0x51, 0xde, 0x7b, 0xfe, 0x04, 0xef, 0x33, 0x17, 0xb8, 0xe5, 0xb2, 0xc6, 0x26, 0x00, 0x8e, + 0x65, 0x01, 0x62, 0xca, 0xf4, 0x1a, 0x65, 0xbf, 0x96, 0x4c, 0xdd, 0x88, 0x6d, 0x85, 0xd1, 0x63, + 0xc0, 0x9e, 0xcc, 0xc6, 0xfa, 0xfe, 0x5a, 0xf8, 0xe8, 0x91, 0x66, 0x7c, 0x22, 0x93, 0x71, 0xd8, + 0x09, 0x1a, 0x9e, 0x9f, 0xb7, 0xd8, 0x31, 0x8d, 0x9e, 0xe8, 0x41, 0xde, 0xcc, 0x42, 0xd0, 0x80, + 0x0f, 0xc3, 0x34, 0xa8, 0x9e, 0x0b, 0xca, 0x5a, 0x6b, 0x23, 0x1e, 0x54, 0x24, 0x34, 0x42, 0x4f, + 0xc5, 0xc0, 0x74, 0xd6, 0x78, 0x4f, 0x42, 0xe6, 0x05, 0x1b, 0x6b, 0x11, 0x8d, 0x3b, 0x3e, 0x53, + 0x1b, 0x7c, 0x6a, 0xe4, 0x06, 0x37, 0xc2, 0x80, 0xd1, 0x00, 0x56, 0x97, 0x1c, 0x41, 0xf8, 0x03, + 0x1e, 0x77, 0x2b, 0x22, 0x90, 0x1c, 0xfa, 0x51, 0x87, 0xc6, 0x8c, 0x3c, 0x40, 0x87, 0x53, 0xbd, + 0x71, 0x3b, 0x0c, 0x62, 0x8a, 0xaf, 0xa3, 0x09, 0x19, 0x70, 0x15, 0x6b, 0xca, 0x9a, 0xde, 0x3b, + 0xf3, 0x46, 0x3d, 0xe3, 0x6c, 0xd4, 0xa5, 0xd1, 0x62, 0xf9, 0xe9, 0xbf, 0x8e, 0xef, 0xfa, 0xdd, + 0x7f, 0x3f, 0x3d, 0x63, 0x39, 0x60, 0x45, 0x6c, 0x74, 0x4c, 0x0c, 0x7b, 0x8b, 0xb2, 0x15, 0x19, + 0x96, 0xcb, 0x32, 0x2a, 0x61, 0x5e, 0x7c, 0x00, 0x8d, 0x79, 0x4d, 0x31, 0x78, 0xc9, 0x19, 0xf3, + 0x9a, 0x24, 0x46, 0xb5, 0x51, 0x06, 0x40, 0xe9, 0x03, 0x74, 0x20, 0xfd, 0x06, 0xa8, 0xbd, 0x99, + 0x4d, 0x2d, 0x05, 0x5d, 0x2c, 0x71, 0x8a, 0xce, 0xc0, 0x00, 0x64, 0x03, 0x58, 0x2e, 0xf8, 0x7e, + 0x36, 0xcb, 0x9b, 0x08, 0x25, 0xa7, 0x13, 0xe6, 0x3b, 0x55, 0x97, 0x5b, 0x57, 0xe7, 0x5b, 0x57, + 0x97, 0xf7, 0x07, 0x6c, 0x60, 0x7d, 0xc5, 0xdd, 0xa0, 0x60, 0xeb, 0x18, 0x96, 0xe4, 0x33, 0x0b, + 0xdc, 0xcb, 0x98, 0x29, 0xc7, 0xbd, 0xdd, 0x2f, 0xe5, 0x1e, 0xbe, 0x95, 0x62, 0x3f, 0x26, 0xd8, + 0x9f, 0xde, 0x96, 0xbd, 0xe4, 0x93, 0xa2, 0x7f, 0x06, 0x1d, 0x14, 0xec, 0x97, 0xdc, 0xa8, 0xa9, + 0x96, 0xe6, 0x35, 0x34, 0xc1, 0xe9, 0xdc, 0x56, 0x9b, 0x08, 0x2d, 0x72, 0x07, 0x1d, 0x32, 0xb0, + 0xe0, 0xdc, 0x45, 0x54, 0xe2, 0xaf, 0x61, 0x05, 0x49, 0xa6, 0x4b, 0xdc, 0xe0, 0x9b, 0x1e, 0xdb, + 0xbc, 0xcd, 0x4f, 0x89, 0x23, 0xf0, 0xe4, 0x2c, 0x4c, 0xfc, 0x20, 0xa6, 0x91, 0x9a, 0xb8, 0x82, + 0x26, 0xdd, 0x66, 0x33, 0xa2, 0xb1, 0x0c, 0x80, 0xb2, 0xa3, 0x9a, 0x64, 0x11, 0xa6, 0x96, 0x68, + 0x98, 0xfa, 0x1c, 0x2a, 0xf1, 0x2b, 0x0c, 0xa6, 0x7e, 0x3d, 0x73, 0x6a, 0x61, 0x20, 0x60, 0xe4, + 0x57, 0x25, 0x83, 0xbf, 0x8e, 0x83, 0x23, 0x68, 0x3c, 0xdc, 0x0a, 0x60, 0x94, 0xb2, 0x23, 0x1b, + 0xf8, 0x12, 0x9a, 0x88, 0x99, 0xcb, 0x3a, 0x71, 0x65, 0x6c, 0x6a, 0xf7, 0xf4, 0x81, 0x99, 0xe3, + 0x23, 0xfd, 0x5a, 0x15, 0x30, 0x07, 0xe0, 0x78, 0x1e, 0xed, 0xe1, 0xef, 0xbf, 0xd1, 0x6d, 0xd3, + 0xca, 0x6e, 0x61, 0x7a, 0x6c, 0xa4, 0x29, 0x07, 0x39, 0x1a, 0x8e, 0xe7, 0xd0, 0x78, 0xc3, 0x77, + 0xe3, 0xb8, 0x52, 0x12, 0x76, 0xb5, 0x91, 0x76, 0x4b, 0x1c, 0xe5, 0x48, 0x30, 0xdf, 0xac, 0x38, + 0x8c, 0xd8, 0x62, 0xb7, 0x32, 0x2e, 0x1c, 0x80, 0x16, 0x26, 0x68, 0x5f, 0xe0, 0xb6, 0xe8, 0x52, + 0x18, 0x30, 0xd7, 0x0b, 0xe2, 0xca, 0x84, 0x78, 0x9b, 0xea, 0xc3, 0x67, 0xd0, 0xc1, 0xc7, 0xb4, + 0xbb, 0x15, 0x46, 0xcd, 0x58, 0xe3, 0x26, 0x05, 0x6e, 0xa8, 0x1f, 0x9f, 0x44, 0xfb, 0x83, 0x90, + 0xd1, 0x04, 0xb8, 0x47, 0x00, 0xd3, 0x9d, 0x78, 0x1a, 0xbd, 0x12, 0x06, 0x7e, 0x77, 0x95, 0xb9, + 0x11, 0xa3, 0x11, 0x27, 0x5b, 0x29, 0x4f, 0x59, 0xd3, 0x7b, 0x9c, 0xc1, 0x6e, 0x5c, 0x47, 0x98, + 0x77, 0x2d, 0xba, 0xbe, 0x1b, 0x34, 0xe8, 0x42, 0xd0, 0xd8, 0x0c, 0xa3, 0xb8, 0x82, 0x04, 0x38, + 0xe3, 0x0d, 0x7e, 0x0f, 0xed, 0x89, 0xdc, 0xc8, 0x63, 0x1e, 0x8d, 0x2b, 0x7b, 0xb7, 0xd9, 0x13, + 0x87, 0x03, 0xbb, 0x8e, 0x36, 0xc0, 0xa7, 0xd0, 0x81, 0x56, 0xc7, 0x67, 0x9e, 0x58, 0xb9, 0xfb, + 0x81, 0xdf, 0xad, 0xec, 0x13, 0x13, 0x0d, 0xf4, 0x92, 0x3a, 0x5c, 0xa4, 0x10, 0x21, 0x10, 0x67, + 0x15, 0x34, 0x29, 0x4f, 0x80, 0x3c, 0xb8, 0x25, 0x47, 0x35, 0xc9, 0x39, 0x88, 0xa8, 0xbb, 0x3c, + 0x13, 0x1a, 0x51, 0x2c, 0x32, 0xa3, 0x3e, 0x3f, 0xaa, 0x49, 0x6e, 0xc2, 0xf0, 0x00, 0x87, 0xe1, + 0xdf, 0x45, 0xe3, 0x02, 0x00, 0x71, 0x5c, 0xcd, 0x74, 0x4b, 0x9a, 0x48, 0x20, 0x39, 0x8d, 0x5e, + 0x11, 0xe3, 0xac, 0x52, 0x66, 0x84, 0x71, 0x4c, 0x99, 0x9e, 0x52, 0x36, 0xc8, 0x5d, 0x38, 0x64, + 0x02, 0x08, 0xd3, 0xcd, 0xa7, 0xa7, 0xcb, 0xbe, 0x84, 0x56, 0x29, 0xe3, 0x07, 0x76, 0x41, 0x26, + 0x66, 0x35, 0xef, 0x3c, 0x7a, 0x15, 0x86, 0xf3, 0xfd, 0xfb, 0x3c, 0x17, 0xab, 0xd9, 0xa7, 0xd0, + 0xde, 0x58, 0xf5, 0x69, 0x0e, 0x66, 0x17, 0x79, 0x88, 0x5e, 0x1b, 0x34, 0x05, 0x3e, 0x57, 0x51, + 0x59, 0x03, 0x81, 0x53, 0x6d, 0x04, 0x27, 0x65, 0x9a, 0x18, 0x90, 0x59, 0x48, 0x72, 0x4b, 0x32, + 0xf3, 0x2b, 0x42, 0x47, 0x51, 0x19, 0xb4, 0x80, 0xa6, 0x93, 0x74, 0x90, 0x7b, 0xe8, 0x48, 0xda, + 0x48, 0xdf, 0x65, 0x93, 0x00, 0x02, 0x22, 0x47, 0xb3, 0x43, 0x0c, 0xcc, 0x14, 0x98, 0xbc, 0x0b, + 0xfb, 0xba, 0x2a, 0xb4, 0x85, 0xe2, 0x50, 0x45, 0x7b, 0xa4, 0xd8, 0xd0, 0x14, 0x74, 0x9b, 0x7c, + 0x1d, 0x68, 0x2b, 0x0b, 0x20, 0x30, 0x8b, 0x26, 0x24, 0x24, 0x37, 0x37, 0x83, 0x11, 0x40, 0xf5, + 0xae, 0xdc, 0x50, 0x92, 0xc4, 0xd8, 0x15, 0x2d, 0x53, 0x92, 0x5d, 0x31, 0xba, 0xf4, 0xae, 0x18, + 0xa6, 0xc9, 0xae, 0x68, 0x60, 0xee, 0xae, 0x24, 0xa6, 0x89, 0x01, 0xa9, 0x0c, 0x8e, 0xab, 0x45, + 0xc9, 0xb7, 0xd0, 0x57, 0x86, 0xde, 0x68, 0x61, 0x82, 0xf4, 0x08, 0x2a, 0x45, 0x6e, 0x37, 0xa7, + 0x61, 0x41, 0xa6, 0x20, 0x11, 0xeb, 0xb7, 0x49, 0xca, 0x81, 0xc9, 0x37, 0xd1, 0xf1, 0x91, 0x08, + 0x20, 0x71, 0x63, 0xd8, 0xef, 0xd3, 0xf9, 0x1c, 0x92, 0x31, 0x8c, 0x05, 0x38, 0x31, 0x38, 0x53, + 0x3c, 0x44, 0xe6, 0x31, 0x9a, 0x1a, 0x0d, 0x01, 0x36, 0xb7, 0x32, 0x96, 0xa4, 0x30, 0x1d, 0x73, + 0x6d, 0xde, 0x40, 0xaf, 0xeb, 0x8b, 0x4d, 0x18, 0xdc, 0x0e, 0x1e, 0x85, 0x8a, 0xc9, 0x3f, 0xc6, + 0x50, 0x35, 0xeb, 0x2d, 0x90, 0xb8, 0x83, 0x0e, 0xf2, 0x79, 0x16, 0x3a, 0x0d, 0xae, 0x18, 0x56, + 0x22, 0xaf, 0x41, 0x93, 0x94, 0x6b, 0x28, 0x0e, 0xa5, 0x35, 0x96, 0x42, 0x2f, 0x00, 0xd9, 0x32, + 0x64, 0x88, 0x6b, 0x08, 0xb9, 0x0d, 0xe6, 0x3d, 0xa1, 0xab, 0x94, 0xc9, 0xe4, 0x5a, 0x72, 0x8c, + 0x1e, 0x1e, 0xb3, 0xdc, 0x26, 0xbe, 0xd7, 0x69, 0xad, 0xd3, 0xa8, 0xb2, 0x5b, 0xc6, 0xac, 0xd1, + 0xc5, 0x13, 0x91, 0xb8, 0x8d, 0xa8, 0xc2, 0x94, 0x04, 0x26, 0xdd, 0xc9, 0x53, 0x9b, 0xbe, 0x24, + 0x14, 0x70, 0x5c, 0x00, 0x87, 0xfa, 0x79, 0x76, 0x80, 0x93, 0xac, 0x90, 0x13, 0x02, 0x39, 0xd0, + 0xcb, 0xc7, 0xf4, 0xdd, 0x98, 0xf1, 0x55, 0xba, 0x1b, 0x36, 0xbd, 0x47, 0x1e, 0x6d, 0x8a, 0x74, + 0x59, 0x72, 0x86, 0xfa, 0xc9, 0x3c, 0x3a, 0xa1, 0x6f, 0x5e, 0x91, 0x8d, 0x96, 0xbd, 0x98, 0x45, + 0xde, 0x7a, 0x87, 0x2f, 0x45, 0xe6, 0xa5, 0x5d, 0x56, 0x97, 0xf6, 0x43, 0x44, 0xf2, 0x4c, 0x8d, + 0xa4, 0xd4, 0x89, 0x22, 0x1a, 0x30, 0x9d, 0x94, 0x64, 0x93, 0x2b, 0x82, 0x2d, 0x37, 0x60, 0xb4, + 0x09, 0xcb, 0x0b, 0x2d, 0x72, 0x19, 0x1d, 0x95, 0x42, 0xb5, 0x21, 0xc2, 0xe2, 0x66, 0x14, 0xb6, + 0x3e, 0xa4, 0xae, 0xdf, 0x35, 0xf2, 0xd6, 0xf7, 0x79, 0x5b, 0xf3, 0x51, 0x4d, 0x32, 0xaf, 0xc4, + 0xf4, 0x90, 0x65, 0x42, 0x66, 0x84, 0x70, 0x53, 0x81, 0xf7, 0x50, 0x7c, 0xdf, 0x38, 0xf2, 0xf3, + 0x46, 0x05, 0x5e, 0x00, 0x71, 0x37, 0xf0, 0x12, 0x06, 0x5d, 0x41, 0x87, 0xf8, 0xb2, 0xa6, 0x5e, + 0xe6, 0xca, 0xcc, 0xf4, 0x30, 0xc3, 0xc6, 0xe4, 0xff, 0x16, 0x5c, 0xbb, 0x77, 0x65, 0xac, 0x28, + 0xcf, 0x4f, 0xa2, 0xfd, 0xcc, 0x6b, 0xd1, 0x98, 0xb9, 0xad, 0xf6, 0x72, 0xb8, 0x15, 0xc0, 0x55, + 0x99, 0xee, 0xe4, 0xa1, 0xa9, 0x3b, 0x1e, 0xb4, 0x85, 0xe8, 0x2e, 0x39, 0x66, 0x17, 0x1f, 0xa7, + 0x01, 0x4a, 0x88, 0xeb, 0xce, 0x58, 0x28, 0xc0, 0xb2, 0x93, 0xee, 0xe4, 0x79, 0x21, 0xa2, 0xed, + 0x90, 0x2b, 0x21, 0x11, 0xbb, 0x65, 0x47, 0xb7, 0x79, 0x06, 0x0a, 0x3b, 0xac, 0x11, 0xb6, 0xa8, + 0x88, 0xd6, 0x03, 0x23, 0x32, 0xd0, 0x7d, 0x89, 0x71, 0x14, 0x58, 0x1f, 0x9b, 0x15, 0xdf, 0xed, + 0xd2, 0x66, 0x65, 0x42, 0x6c, 0xbc, 0xd9, 0x45, 0x36, 0x21, 0xe7, 0x69, 0xd7, 0x61, 0x95, 0xe7, + 0x40, 0xad, 0x50, 0x75, 0xbf, 0xe4, 0xe9, 0x0f, 0x05, 0xe5, 0x3e, 0x80, 0xa8, 0x51, 0x87, 0x58, + 0xb7, 0xc9, 0xef, 0xad, 0x44, 0x75, 0xe8, 0x25, 0xbe, 0xa8, 0x05, 0xb5, 0x25, 0xfc, 0x1a, 0x95, + 0xe2, 0xd9, 0x80, 0x9e, 0x26, 0x68, 0x1f, 0x5f, 0x3d, 0x11, 0xfe, 0x5c, 0x20, 0x8e, 0x89, 0x15, + 0x4d, 0xf5, 0x99, 0xcb, 0x2e, 0x84, 0x9b, 0x58, 0xf6, 0x92, 0x93, 0xee, 0x4c, 0x84, 0x7e, 0xc9, + 0x10, 0xfa, 0xe4, 0x1d, 0x50, 0x70, 0x92, 0x2b, 0xac, 0x09, 0xd7, 0xd4, 0xfc, 0x28, 0x2a, 0xbd, + 0x07, 0x2d, 0x72, 0x1e, 0x92, 0x97, 0x10, 0xe1, 0xf2, 0x0b, 0x7c, 0xbb, 0x6f, 0xa6, 0xef, 0xa2, + 0xca, 0xb0, 0x09, 0x4c, 0xb3, 0x28, 0x37, 0x0d, 0xba, 0x21, 0xb4, 0xa7, 0x46, 0xcb, 0x7e, 0x30, + 0x37, 0x8d, 0xc8, 0xdc, 0xf0, 0xf8, 0xb1, 0x71, 0xa0, 0x47, 0xe8, 0x56, 0xd7, 0x48, 0x07, 0x89, + 0x15, 0xd0, 0x5a, 0x46, 0xfb, 0x8c, 0x19, 0x54, 0x58, 0x6c, 0xcf, 0x2b, 0x65, 0x45, 0x3e, 0x1e, + 0x1b, 0x54, 0x7c, 0x9a, 0xd7, 0x35, 0x54, 0x6e, 0xf3, 0x64, 0xa0, 0x8f, 0x5a, 0x81, 0x4c, 0x92, + 0x58, 0xe0, 0x79, 0x34, 0x29, 0x1a, 0x70, 0x06, 0x0b, 0x18, 0x2b, 0xbc, 0xdc, 0x58, 0xdf, 0x87, + 0xc4, 0xc2, 0x3f, 0x96, 0x44, 0x8b, 0xc7, 0xc6, 0x7a, 0xa7, 0x9b, 0xc4, 0x86, 0x68, 0x60, 0x0c, + 0x9f, 0xb6, 0x32, 0x6f, 0x88, 0x67, 0x7c, 0x55, 0xc7, 0xf1, 0x84, 0x88, 0xe3, 0x93, 0xf9, 0x52, + 0x35, 0x1d, 0xcd, 0xa4, 0x0f, 0x01, 0x64, 0xae, 0x49, 0xa2, 0x7e, 0x92, 0xc4, 0x94, 0xab, 0x7e, + 0x12, 0x1d, 0x6c, 0x58, 0xf0, 0x83, 0x62, 0xe8, 0x6d, 0x75, 0x2a, 0x53, 0x7d, 0x33, 0xbf, 0x3e, + 0x81, 0xc6, 0xc5, 0xfc, 0xf8, 0x63, 0x0b, 0x4d, 0xc8, 0x12, 0x0f, 0xce, 0xd6, 0x13, 0xc3, 0xf5, + 0xa4, 0xea, 0xf4, 0xf6, 0x40, 0xe9, 0x0b, 0xb9, 0xf0, 0xa3, 0x7f, 0xfe, 0xe7, 0x93, 0x31, 0x1b, + 0x9f, 0xb3, 0x97, 0x69, 0x83, 0x06, 0x2c, 0x72, 0x7d, 0x1e, 0x28, 0xb7, 0xdc, 0x16, 0xb5, 0x47, + 0x17, 0x40, 0xf1, 0x5f, 0xad, 0xc1, 0x42, 0x09, 0x9e, 0x19, 0x3d, 0xe7, 0xa8, 0xfa, 0x53, 0x75, + 0x76, 0x47, 0x36, 0x40, 0x79, 0x49, 0x50, 0xbe, 0x86, 0xdf, 0x2b, 0x4a, 0x39, 0x5d, 0x91, 0xb5, + 0x7b, 0x5e, 0xb3, 0x8f, 0x3f, 0xb3, 0xd0, 0xa1, 0xf4, 0xf8, 0x0b, 0xbe, 0x9f, 0xe7, 0xc3, 0xa8, + 0xea, 0x54, 0x9e, 0x0f, 0x23, 0xeb, 0x4c, 0xe4, 0xba, 0xf0, 0xe1, 0x32, 0xbe, 0xf8, 0x62, 0x3e, + 0xe0, 0x4f, 0x2c, 0x54, 0x12, 0xdf, 0xe6, 0x6f, 0x8d, 0x9e, 0xdd, 0xa8, 0x13, 0x55, 0x4f, 0x6d, + 0x07, 0x03, 0x5e, 0x57, 0x05, 0xaf, 0x8b, 0x78, 0xae, 0x20, 0x2f, 0xfe, 0x64, 0xf7, 0xe4, 0x5d, + 0xd5, 0xc7, 0x3f, 0xb3, 0x50, 0x89, 0x27, 0xce, 0x3c, 0x56, 0x46, 0x11, 0x29, 0x8f, 0x95, 0x59, + 0x3d, 0x22, 0xd7, 0x04, 0xab, 0x4b, 0xf8, 0x42, 0x41, 0x56, 0x9d, 0x98, 0x46, 0x76, 0x0f, 0x74, + 0x4d, 0x1f, 0xff, 0xdc, 0x42, 0xe3, 0x32, 0xb1, 0x6c, 0xb3, 0x0c, 0x7a, 0x4f, 0x4f, 0x6f, 0x8b, + 0x7b, 0x89, 0xf5, 0x8a, 0xed, 0x9e, 0x48, 0x68, 0x7d, 0xfc, 0x0b, 0x0b, 0x8d, 0x8b, 0x6c, 0x9d, + 0x47, 0xcc, 0x2c, 0x58, 0xe4, 0x11, 0x4b, 0x55, 0x2a, 0x76, 0x1c, 0x60, 0x42, 0x12, 0xd8, 0x3d, + 0x50, 0x06, 0x7d, 0xfc, 0x13, 0x0b, 0xed, 0x5e, 0xa5, 0x0c, 0x9f, 0x1c, 0x3d, 0x61, 0x52, 0xd2, + 0xa8, 0xbe, 0xb5, 0x0d, 0x0a, 0x48, 0x5d, 0x11, 0xa4, 0xe6, 0xf0, 0x4c, 0x41, 0x52, 0x31, 0x65, + 0x76, 0x4f, 0x24, 0xf4, 0x3e, 0xfe, 0x93, 0x85, 0xca, 0xfa, 0x3a, 0xc5, 0x67, 0xf2, 0x26, 0x4c, + 0x57, 0x3c, 0xaa, 0xef, 0x14, 0xc2, 0x02, 0xc5, 0x5b, 0x82, 0xe2, 0x02, 0xfe, 0x6a, 0x61, 0x8a, + 0xea, 0xc7, 0x0e, 0xce, 0x54, 0x5f, 0xe0, 0x7d, 0xfc, 0x1b, 0x0b, 0x4d, 0x42, 0xf5, 0x01, 0xe7, + 0x5c, 0xc7, 0xe9, 0x62, 0x48, 0xf5, 0xed, 0x02, 0x48, 0x60, 0xba, 0x28, 0x98, 0x5e, 0xc5, 0x57, + 0x8a, 0x86, 0x9e, 0xb4, 0xb7, 0x7b, 0xba, 0xb8, 0xd2, 0xc7, 0xbf, 0xb4, 0xd0, 0x84, 0x2c, 0x51, + 0xe4, 0xe5, 0x96, 0x54, 0xad, 0x24, 0x2f, 0xb7, 0xa4, 0x4b, 0x24, 0xe4, 0x7d, 0xc1, 0xf0, 0x0a, + 0xbe, 0x5c, 0x78, 0x2d, 0xb9, 0x39, 0x5f, 0x47, 0x59, 0x7a, 0xe9, 0xe3, 0x3f, 0x5a, 0xa8, 0xac, + 0x3f, 0x97, 0xf3, 0x36, 0x7d, 0xb0, 0xa0, 0x92, 0xb7, 0xe9, 0x43, 0x15, 0x14, 0x72, 0x53, 0x10, + 0x7d, 0x1f, 0x5f, 0x2f, 0x48, 0x54, 0x7f, 0xad, 0xdb, 0x3d, 0xa3, 0x44, 0x23, 0xf6, 0x1c, 0x25, + 0x35, 0x02, 0x5c, 0x84, 0x83, 0xbe, 0x72, 0xce, 0x16, 0x03, 0x03, 0xe3, 0x79, 0xc1, 0x78, 0x16, + 0x9f, 0xdf, 0x29, 0xe3, 0x18, 0xff, 0xcd, 0x42, 0x78, 0xb8, 0x04, 0x81, 0x67, 0x0b, 0xcc, 0x3f, + 0x58, 0x18, 0xa9, 0xce, 0xed, 0xcc, 0xe8, 0x05, 0x13, 0x78, 0xd6, 0x0f, 0x78, 0xf8, 0xa9, 0x85, + 0x0e, 0x67, 0xd4, 0x63, 0x70, 0x11, 0x4a, 0x43, 0x15, 0x9e, 0xea, 0x85, 0x1d, 0x5a, 0x81, 0x27, + 0xcb, 0xc2, 0x93, 0xeb, 0xf8, 0xea, 0x8e, 0xb7, 0xc1, 0x74, 0xe5, 0xcf, 0x16, 0xda, 0x9f, 0xaa, + 0xe7, 0xe0, 0x7a, 0x7e, 0xfe, 0x19, 0x2c, 0x0b, 0x55, 0xed, 0xc2, 0xf8, 0x17, 0xcc, 0xa8, 0xfa, + 0x69, 0xcd, 0xe3, 0xfc, 0xbe, 0xb0, 0xd0, 0xab, 0x99, 0x35, 0x0f, 0x7c, 0x31, 0x3f, 0x13, 0x8c, + 0xaa, 0xaf, 0x54, 0x2f, 0xed, 0xd8, 0x0e, 0x3c, 0xb9, 0x27, 0x3c, 0xf9, 0x1a, 0xbe, 0x59, 0x3c, + 0xa7, 0xac, 0x89, 0x1f, 0x1b, 0xba, 0x6b, 0x4d, 0x63, 0x3c, 0x9d, 0x67, 0xfe, 0x6e, 0xa1, 0x83, + 0x83, 0xc5, 0x13, 0x7c, 0x3e, 0x47, 0xe3, 0x65, 0x97, 0x68, 0xaa, 0x33, 0x3b, 0x31, 0x01, 0x5f, + 0xee, 0x08, 0x5f, 0x6e, 0xe0, 0xa5, 0x82, 0xbe, 0xb8, 0x72, 0xa0, 0xb5, 0x47, 0x51, 0xd8, 0x5a, + 0x13, 0x15, 0x20, 0xbb, 0x07, 0x85, 0xa0, 0xbe, 0x88, 0xaa, 0x54, 0x4d, 0x25, 0x2f, 0xaa, 0xb2, + 0x6a, 0x3e, 0x79, 0x51, 0x95, 0x59, 0x06, 0xda, 0x71, 0x54, 0xa5, 0x7f, 0x49, 0xc7, 0xff, 0xb3, + 0xd0, 0x24, 0xd4, 0x3c, 0xf2, 0x52, 0x66, 0xba, 0x22, 0x94, 0x97, 0x32, 0x07, 0x0a, 0x28, 0xe4, + 0xc7, 0x96, 0x20, 0xf8, 0x43, 0x0b, 0xff, 0x60, 0x27, 0xb2, 0x88, 0xc6, 0x76, 0x2f, 0x55, 0x5f, + 0xea, 0x1b, 0xed, 0x07, 0xed, 0x3e, 0x4f, 0xa9, 0x46, 0xd5, 0xa8, 0x6f, 0xf7, 0x54, 0x91, 0xa8, + 0x6f, 0xf7, 0xa0, 0xec, 0xd3, 0x97, 0x2a, 0x19, 0x4a, 0x3c, 0x7d, 0xfc, 0x17, 0x0b, 0x95, 0x44, + 0x15, 0x35, 0x5f, 0x3a, 0xc5, 0x05, 0xa4, 0xb2, 0x59, 0x0f, 0x21, 0x0d, 0xe1, 0xe1, 0x77, 0xf0, + 0xb7, 0x8b, 0x1f, 0x87, 0xd8, 0xee, 0xc9, 0x6f, 0x5e, 0x70, 0x44, 0x15, 0x6b, 0x0c, 0xbf, 0x84, + 0xe8, 0xed, 0x6b, 0xdd, 0xfa, 0xa9, 0x85, 0xf6, 0x1a, 0xe5, 0x04, 0x7c, 0x36, 0xff, 0xfa, 0x49, + 0xd7, 0x5f, 0xaa, 0xe7, 0x0a, 0xa2, 0x5f, 0xf0, 0x8e, 0x35, 0xff, 0xe9, 0x22, 0xf9, 0x34, 0xf9, + 0x83, 0x85, 0xf6, 0x99, 0x25, 0x14, 0x5c, 0x8c, 0x85, 0x5e, 0xff, 0x7a, 0x51, 0xf8, 0x4b, 0x7c, + 0x18, 0x28, 0xd6, 0x31, 0xfe, 0xad, 0x85, 0x50, 0x52, 0x78, 0xc0, 0x45, 0x14, 0x6c, 0x11, 0x21, + 0x31, 0x5c, 0xcb, 0x78, 0x01, 0x49, 0xae, 0xf4, 0x6e, 0xbc, 0xe8, 0x3c, 0x7d, 0x56, 0xb3, 0x3e, + 0x7f, 0x56, 0xb3, 0xfe, 0xfd, 0xac, 0x66, 0xfd, 0xf4, 0x79, 0x6d, 0xd7, 0xe7, 0xcf, 0x6b, 0xbb, + 0xbe, 0x78, 0x5e, 0xdb, 0xf5, 0xe1, 0xe5, 0x0d, 0x8f, 0x6d, 0x76, 0xd6, 0xeb, 0x8d, 0xb0, 0x95, + 0x3b, 0xee, 0xf7, 0x8c, 0x67, 0xd6, 0x6d, 0xd3, 0x78, 0x7d, 0x42, 0xfc, 0x9b, 0xcc, 0xec, 0x97, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x90, 0xdc, 0xa0, 0x46, 0x27, 0x26, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2501,6 +2646,8 @@ type QueryClient interface { CardContent(ctx context.Context, in *QueryCardContentRequest, opts ...grpc.CallOption) (*QueryCardContentResponse, error) // Queries a list of CardContents items. CardContents(ctx context.Context, in *QueryCardContentsRequest, opts ...grpc.CallOption) (*QueryCardContentsResponse, error) + // Queries a list of SellOffers items. + SellOffers(ctx context.Context, in *QuerySellOffersRequest, opts ...grpc.CallOption) (*QuerySellOffersResponse, error) } type queryClient struct { @@ -2718,6 +2865,15 @@ func (c *queryClient) CardContents(ctx context.Context, in *QueryCardContentsReq return out, nil } +func (c *queryClient) SellOffers(ctx context.Context, in *QuerySellOffersRequest, opts ...grpc.CallOption) (*QuerySellOffersResponse, error) { + out := new(QuerySellOffersResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/SellOffers", 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. @@ -2765,6 +2921,8 @@ type QueryServer interface { CardContent(context.Context, *QueryCardContentRequest) (*QueryCardContentResponse, error) // Queries a list of CardContents items. CardContents(context.Context, *QueryCardContentsRequest) (*QueryCardContentsResponse, error) + // Queries a list of SellOffers items. + SellOffers(context.Context, *QuerySellOffersRequest) (*QuerySellOffersResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -2840,6 +2998,9 @@ func (*UnimplementedQueryServer) CardContent(ctx context.Context, req *QueryCard func (*UnimplementedQueryServer) CardContents(ctx context.Context, req *QueryCardContentsRequest) (*QueryCardContentsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CardContents not implemented") } +func (*UnimplementedQueryServer) SellOffers(ctx context.Context, req *QuerySellOffersRequest) (*QuerySellOffersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SellOffers not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -3259,6 +3420,24 @@ func _Query_CardContents_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Query_SellOffers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QuerySellOffersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).SellOffers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Query/SellOffers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).SellOffers(ctx, req.(*QuerySellOffersRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Query", @@ -3356,6 +3535,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "CardContents", Handler: _Query_CardContents_Handler, }, + { + MethodName: "SellOffers", + Handler: _Query_SellOffers_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -5124,6 +5307,128 @@ func (m *QueryCardContentsResponse) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } +func (m *QuerySellOffersRequest) 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 *QuerySellOffersRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QuerySellOffersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Status != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x30 + } + if m.Card != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Card)) + i-- + dAtA[i] = 0x28 + } + if len(m.Buyer) > 0 { + i -= len(m.Buyer) + copy(dAtA[i:], m.Buyer) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Buyer))) + i-- + dAtA[i] = 0x22 + } + if len(m.Seller) > 0 { + i -= len(m.Seller) + copy(dAtA[i:], m.Seller) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Seller))) + i-- + dAtA[i] = 0x1a + } + { + size, err := m.PriceUp.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.PriceDown.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 *QuerySellOffersResponse) 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 *QuerySellOffersResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QuerySellOffersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SellOfferIds) > 0 { + dAtA46 := make([]byte, len(m.SellOfferIds)*10) + var j45 int + for _, num := range m.SellOfferIds { + for num >= 1<<7 { + dAtA46[j45] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j45++ + } + dAtA46[j45] = uint8(num) + j45++ + } + i -= j45 + copy(dAtA[i:], dAtA46[:j45]) + i = encodeVarintQuery(dAtA, i, uint64(j45)) + i-- + dAtA[i] = 0x12 + } + if len(m.SellOffers) > 0 { + for iNdEx := len(m.SellOffers) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.SellOffers[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 @@ -5847,6 +6152,55 @@ func (m *QueryCardContentsResponse) Size() (n int) { return n } +func (m *QuerySellOffersRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.PriceDown.Size() + n += 1 + l + sovQuery(uint64(l)) + l = m.PriceUp.Size() + n += 1 + l + sovQuery(uint64(l)) + l = len(m.Seller) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Buyer) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Card != 0 { + n += 1 + sovQuery(uint64(m.Card)) + } + if m.Status != 0 { + n += 1 + sovQuery(uint64(m.Status)) + } + return n +} + +func (m *QuerySellOffersResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.SellOffers) > 0 { + for _, e := range m.SellOffers { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if len(m.SellOfferIds) > 0 { + l = 0 + for _, e := range m.SellOfferIds { + l += sovQuery(uint64(e)) + } + n += 1 + sovQuery(uint64(l)) + l + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -10668,6 +11022,384 @@ func (m *QueryCardContentsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QuerySellOffersRequest) 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: QuerySellOffersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QuerySellOffersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PriceDown", 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.PriceDown.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PriceUp", 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.PriceUp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Seller", 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.Seller = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Buyer", 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.Buyer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) + } + m.Card = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Card |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= SellOfferStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 *QuerySellOffersResponse) 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: QuerySellOffersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QuerySellOffersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SellOffers", 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.SellOffers = append(m.SellOffers, &SellOffer{}) + if err := m.SellOffers[len(m.SellOffers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SellOfferIds = append(m.SellOfferIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + 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.SellOfferIds) == 0 { + m.SellOfferIds = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SellOfferIds = append(m.SellOfferIds, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field SellOfferIds", wireType) + } + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 98637ee3..4fb678ee 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -1229,6 +1229,42 @@ func local_request_Query_CardContents_0(ctx context.Context, marshaler runtime.M } +var ( + filter_Query_SellOffers_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Query_SellOffers_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QuerySellOffersRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_SellOffers_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SellOffers(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_SellOffers_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QuerySellOffersRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_SellOffers_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SellOffers(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. @@ -1764,6 +1800,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_SellOffers_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_SellOffers_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_SellOffers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -2265,6 +2324,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_SellOffers_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_SellOffers_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_SellOffers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -2314,6 +2393,8 @@ var ( pattern_Query_CardContent_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "card_content", "cardId"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_CardContents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "card_contents"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_SellOffers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "sell_offers"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -2362,4 +2443,6 @@ var ( forward_Query_CardContent_0 = runtime.ForwardResponseMessage forward_Query_CardContents_0 = runtime.ForwardResponseMessage + + forward_Query_SellOffers_0 = runtime.ForwardResponseMessage ) diff --git a/x/cardchain/types/sell_offer.pb.go b/x/cardchain/types/sell_offer.pb.go index 32a2be10..0460e6da 100644 --- a/x/cardchain/types/sell_offer.pb.go +++ b/x/cardchain/types/sell_offer.pb.go @@ -27,21 +27,24 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type SellOfferStatus int32 const ( - SellOfferStatus_open SellOfferStatus = 0 - SellOfferStatus_sold SellOfferStatus = 1 - SellOfferStatus_removed SellOfferStatus = 2 + SellOfferStatus_empty SellOfferStatus = 0 + SellOfferStatus_open SellOfferStatus = 1 + SellOfferStatus_sold SellOfferStatus = 2 + SellOfferStatus_removed SellOfferStatus = 3 ) var SellOfferStatus_name = map[int32]string{ - 0: "open", - 1: "sold", - 2: "removed", + 0: "empty", + 1: "open", + 2: "sold", + 3: "removed", } var SellOfferStatus_value = map[string]int32{ - "open": 0, - "sold": 1, - "removed": 2, + "empty": 0, + "open": 1, + "sold": 2, + "removed": 3, } func (x SellOfferStatus) String() string { @@ -125,7 +128,7 @@ func (m *SellOffer) GetStatus() SellOfferStatus { if m != nil { return m.Status } - return SellOfferStatus_open + return SellOfferStatus_empty } func init() { @@ -138,28 +141,29 @@ func init() { } var fileDescriptor_18dbd9a8240e28bf = []byte{ - // 330 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0x3f, 0x4f, 0xc2, 0x40, - 0x18, 0xc6, 0x7b, 0x58, 0x50, 0x8e, 0x44, 0xc9, 0x49, 0x4c, 0x65, 0x38, 0x1b, 0xc3, 0xd0, 0x38, - 0x5c, 0x03, 0xc6, 0xc4, 0xc1, 0x09, 0x4c, 0x1c, 0x4d, 0xca, 0xe6, 0x62, 0xae, 0xd7, 0x17, 0x68, - 0xd2, 0xf6, 0x9a, 0xbb, 0x83, 0xc8, 0xb7, 0xf0, 0x33, 0x39, 0x31, 0x32, 0x3a, 0x19, 0x03, 0x5f, - 0xc4, 0xb4, 0x25, 0x48, 0x8c, 0xdb, 0xef, 0xed, 0xf3, 0xf4, 0x7e, 0xf7, 0x07, 0xf7, 0x04, 0x57, - 0x91, 0x98, 0xf1, 0x38, 0xf3, 0x7f, 0x49, 0x43, 0x92, 0xbc, 0xca, 0xc9, 0x04, 0x14, 0xcb, 0x95, - 0x34, 0x92, 0x9c, 0xef, 0x33, 0xb6, 0xa7, 0x6e, 0x67, 0x2a, 0xa7, 0xb2, 0xcc, 0xfd, 0x82, 0xaa, - 0x6a, 0x97, 0x0a, 0xa9, 0x53, 0xa9, 0xfd, 0x90, 0x6b, 0xf0, 0x17, 0xfd, 0x10, 0x0c, 0xef, 0xfb, - 0x42, 0xc6, 0x59, 0x95, 0x5f, 0x7f, 0x20, 0xdc, 0x1c, 0x43, 0x92, 0x3c, 0x17, 0xcb, 0x93, 0x0b, - 0xdc, 0x28, 0x64, 0xa0, 0x1c, 0xe4, 0x22, 0xaf, 0x19, 0xec, 0x26, 0xd2, 0xc1, 0xf5, 0x70, 0xbe, - 0x04, 0xe5, 0xd4, 0xca, 0xcf, 0xd5, 0x40, 0x08, 0xb6, 0x0b, 0xbd, 0x73, 0xe4, 0x22, 0xcf, 0x0e, - 0x4a, 0x26, 0x77, 0xb8, 0x9e, 0xab, 0x58, 0x80, 0x63, 0xbb, 0xc8, 0x6b, 0x0d, 0x2e, 0x59, 0xe5, - 0x67, 0x85, 0x9f, 0xed, 0xfc, 0x6c, 0x24, 0xe3, 0x6c, 0x68, 0xaf, 0xbe, 0xae, 0xac, 0xa0, 0x6a, - 0x93, 0x07, 0xdc, 0xd0, 0x86, 0x9b, 0xb9, 0x76, 0xea, 0x2e, 0xf2, 0x4e, 0x07, 0x3d, 0xf6, 0xcf, - 0x11, 0xd9, 0x7e, 0xa3, 0xe3, 0xb2, 0x1b, 0xec, 0xfe, 0xb9, 0x19, 0xe0, 0xb3, 0x3f, 0x11, 0x39, - 0xc1, 0xb6, 0xcc, 0x21, 0x6b, 0x5b, 0x05, 0x69, 0x99, 0x44, 0x6d, 0x44, 0x5a, 0xf8, 0x58, 0x41, - 0x2a, 0x17, 0x10, 0xb5, 0x6b, 0xc3, 0x60, 0xb5, 0xa1, 0x68, 0xbd, 0xa1, 0xe8, 0x7b, 0x43, 0xd1, - 0xfb, 0x96, 0x5a, 0xeb, 0x2d, 0xb5, 0x3e, 0xb7, 0xd4, 0x7a, 0xb9, 0x9f, 0xc6, 0x66, 0x36, 0x0f, - 0x99, 0x90, 0xa9, 0xff, 0x08, 0x02, 0x32, 0xa3, 0x78, 0x32, 0xe2, 0x2a, 0x7a, 0xe2, 0x29, 0x1c, - 0x3c, 0xcb, 0xdb, 0x01, 0x9b, 0x65, 0x0e, 0x3a, 0x6c, 0x94, 0x77, 0x7a, 0xfb, 0x13, 0x00, 0x00, - 0xff, 0xff, 0x07, 0xeb, 0x06, 0xee, 0xc6, 0x01, 0x00, 0x00, + // 342 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0xcd, 0x4a, 0xeb, 0x40, + 0x18, 0x86, 0x33, 0x6d, 0xd2, 0x73, 0x3a, 0x85, 0x73, 0xc2, 0x58, 0x24, 0x76, 0x11, 0x83, 0x74, + 0x11, 0x5c, 0x4c, 0x68, 0x45, 0x70, 0xa1, 0x9b, 0x56, 0x70, 0x29, 0xa4, 0x3b, 0x37, 0x32, 0x99, + 0x7c, 0x6d, 0x03, 0x49, 0x26, 0xcc, 0x4c, 0x8b, 0xbd, 0x0b, 0xaf, 0xc9, 0x55, 0x97, 0x5d, 0xba, + 0x12, 0x69, 0x6f, 0x44, 0x92, 0x94, 0x5a, 0xc4, 0xdd, 0xf3, 0xe5, 0x7d, 0x33, 0xcf, 0xfc, 0xe0, + 0x3e, 0x67, 0x32, 0xe6, 0x73, 0x96, 0xe4, 0xc1, 0x37, 0x29, 0x48, 0xd3, 0x67, 0x31, 0x9d, 0x82, + 0xa4, 0x85, 0x14, 0x5a, 0x90, 0x93, 0x43, 0x46, 0x0f, 0xd4, 0xeb, 0xce, 0xc4, 0x4c, 0x54, 0x79, + 0x50, 0x52, 0x5d, 0xed, 0xb9, 0x5c, 0xa8, 0x4c, 0xa8, 0x20, 0x62, 0x0a, 0x82, 0xe5, 0x20, 0x02, + 0xcd, 0x06, 0x01, 0x17, 0x49, 0x5e, 0xe7, 0x17, 0x6f, 0x08, 0xb7, 0x27, 0x90, 0xa6, 0x8f, 0xe5, + 0xf2, 0xe4, 0x14, 0xb7, 0x4a, 0x19, 0x48, 0x07, 0x79, 0xc8, 0x6f, 0x87, 0xfb, 0x89, 0x74, 0xb1, + 0x15, 0x2d, 0x56, 0x20, 0x9d, 0x46, 0xf5, 0xb9, 0x1e, 0x08, 0xc1, 0x66, 0xa9, 0x77, 0x9a, 0x1e, + 0xf2, 0xcd, 0xb0, 0x62, 0x72, 0x8d, 0xad, 0x42, 0x26, 0x1c, 0x1c, 0xd3, 0x43, 0x7e, 0x67, 0x78, + 0x46, 0x6b, 0x3f, 0x2d, 0xfd, 0x74, 0xef, 0xa7, 0x63, 0x91, 0xe4, 0x23, 0x73, 0xfd, 0x71, 0x6e, + 0x84, 0x75, 0x9b, 0xdc, 0xe2, 0x96, 0xd2, 0x4c, 0x2f, 0x94, 0x63, 0x79, 0xc8, 0xff, 0x37, 0xec, + 0xd3, 0x5f, 0x8e, 0x48, 0x0f, 0x1b, 0x9d, 0x54, 0xdd, 0x70, 0xff, 0xcf, 0xe5, 0x1d, 0xfe, 0xff, + 0x23, 0x22, 0x6d, 0x6c, 0x41, 0x56, 0xe8, 0x95, 0x6d, 0x90, 0xbf, 0xd8, 0x14, 0x05, 0xe4, 0x36, + 0x2a, 0x49, 0x89, 0x34, 0xb6, 0x1b, 0xa4, 0x83, 0xff, 0x48, 0xc8, 0xc4, 0x12, 0x62, 0xbb, 0x39, + 0x0a, 0xd7, 0x5b, 0x17, 0x6d, 0xb6, 0x2e, 0xfa, 0xdc, 0xba, 0xe8, 0x75, 0xe7, 0x1a, 0x9b, 0x9d, + 0x6b, 0xbc, 0xef, 0x5c, 0xe3, 0xe9, 0x66, 0x96, 0xe8, 0xf9, 0x22, 0xa2, 0x5c, 0x64, 0xc1, 0x3d, + 0x70, 0xc8, 0xb5, 0x64, 0xe9, 0x98, 0xc9, 0xf8, 0x81, 0x65, 0x70, 0xf4, 0x42, 0x2f, 0x47, 0xac, + 0x57, 0x05, 0xa8, 0xa8, 0x55, 0x5d, 0xef, 0xd5, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb4, 0xfd, + 0x2d, 0x83, 0xd1, 0x01, 0x00, 0x00, } func (m *SellOffer) Marshal() (dAtA []byte, err error) { From 83260937c8a0607d18f139fb386eea0d993131af Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 16 Feb 2025 20:04:26 +0100 Subject: [PATCH 59/99] feat(#242): Added last queries, so i hope --- api/cardchain/cardchain/query.pulsar.go | 1069 +++++++++-------- docs/static/openapi.yml | 2 +- proto/cardchain/cardchain/query.proto | 6 +- x/cardchain/keeper/keeper.go | 80 +- .../keeper/query_account_from_zealy.go | 9 +- x/cardchain/keeper/query_encounter.go | 5 +- .../keeper/query_encounter_with_image.go | 8 +- x/cardchain/keeper/query_encounters.go | 5 +- .../keeper/query_encounters_with_image.go | 14 +- x/cardchain/keeper/query_server.go | 5 +- x/cardchain/keeper/query_set.go | 9 +- .../keeper/query_set_rarity_distribution.go | 7 +- x/cardchain/keeper/query_sets.go | 50 +- x/cardchain/keeper/query_user.go | 9 +- x/cardchain/keeper/query_voting_results.go | 5 +- x/cardchain/keeper/set.go | 12 +- x/cardchain/types/query.pb.go | 420 ++++--- x/cardchain/types/query.pb.gw.go | 22 +- 18 files changed, 938 insertions(+), 799 deletions(-) diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index aafd3f83..71b9feb0 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -7663,14 +7663,14 @@ func (x *fastReflection_QuerySetRequest) ProtoMethods() *protoiface.Methods { } var ( - md_QuerySetResponse protoreflect.MessageDescriptor - fd_QuerySetResponse_match protoreflect.FieldDescriptor + md_QuerySetResponse protoreflect.MessageDescriptor + fd_QuerySetResponse_set protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_query_proto_init() md_QuerySetResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QuerySetResponse") - fd_QuerySetResponse_match = md_QuerySetResponse.Fields().ByName("match") + fd_QuerySetResponse_set = md_QuerySetResponse.Fields().ByName("set") } var _ protoreflect.Message = (*fastReflection_QuerySetResponse)(nil) @@ -7738,9 +7738,9 @@ func (x *fastReflection_QuerySetResponse) Interface() protoreflect.ProtoMessage // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_QuerySetResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Match != nil { - value := protoreflect.ValueOfMessage(x.Match.ProtoReflect()) - if !f(fd_QuerySetResponse_match, value) { + if x.Set_ != nil { + value := protoreflect.ValueOfMessage(x.Set_.ProtoReflect()) + if !f(fd_QuerySetResponse_set, value) { return } } @@ -7759,8 +7759,8 @@ func (x *fastReflection_QuerySetResponse) Range(f func(protoreflect.FieldDescrip // a repeated field is populated if it is non-empty. func (x *fastReflection_QuerySetResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cardchain.cardchain.QuerySetResponse.match": - return x.Match != nil + case "cardchain.cardchain.QuerySetResponse.set": + return x.Set_ != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetResponse")) @@ -7777,8 +7777,8 @@ func (x *fastReflection_QuerySetResponse) Has(fd protoreflect.FieldDescriptor) b // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QuerySetResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cardchain.cardchain.QuerySetResponse.match": - x.Match = nil + case "cardchain.cardchain.QuerySetResponse.set": + x.Set_ = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetResponse")) @@ -7795,8 +7795,8 @@ func (x *fastReflection_QuerySetResponse) Clear(fd protoreflect.FieldDescriptor) // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_QuerySetResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cardchain.cardchain.QuerySetResponse.match": - value := x.Match + case "cardchain.cardchain.QuerySetResponse.set": + value := x.Set_ return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { @@ -7818,8 +7818,8 @@ func (x *fastReflection_QuerySetResponse) Get(descriptor protoreflect.FieldDescr // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QuerySetResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cardchain.cardchain.QuerySetResponse.match": - x.Match = value.Message().Interface().(*SetWithArtwork) + case "cardchain.cardchain.QuerySetResponse.set": + x.Set_ = value.Message().Interface().(*SetWithArtwork) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetResponse")) @@ -7840,11 +7840,11 @@ func (x *fastReflection_QuerySetResponse) Set(fd protoreflect.FieldDescriptor, v // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QuerySetResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QuerySetResponse.match": - if x.Match == nil { - x.Match = new(SetWithArtwork) + case "cardchain.cardchain.QuerySetResponse.set": + if x.Set_ == nil { + x.Set_ = new(SetWithArtwork) } - return protoreflect.ValueOfMessage(x.Match.ProtoReflect()) + return protoreflect.ValueOfMessage(x.Set_.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetResponse")) @@ -7858,7 +7858,7 @@ func (x *fastReflection_QuerySetResponse) Mutable(fd protoreflect.FieldDescripto // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_QuerySetResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QuerySetResponse.match": + case "cardchain.cardchain.QuerySetResponse.set": m := new(SetWithArtwork) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: @@ -7930,8 +7930,8 @@ func (x *fastReflection_QuerySetResponse) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - if x.Match != nil { - l = options.Size(x.Match) + if x.Set_ != nil { + l = options.Size(x.Set_) n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -7963,8 +7963,8 @@ func (x *fastReflection_QuerySetResponse) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Match != nil { - encoded, err := options.Marshal(x.Match) + if x.Set_ != nil { + encoded, err := options.Marshal(x.Set_) if err != nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8028,7 +8028,7 @@ func (x *fastReflection_QuerySetResponse) ProtoMethods() *protoiface.Methods { switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Match", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Set_", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8055,10 +8055,10 @@ func (x *fastReflection_QuerySetResponse) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.Match == nil { - x.Match = &SetWithArtwork{} + if x.Set_ == nil { + x.Set_ = &SetWithArtwork{} } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Match); err != nil { + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Set_); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex @@ -12304,12 +12304,14 @@ func (x *fastReflection_QueryEncountersResponse) ProtoMethods() *protoiface.Meth } var ( - md_QueryEncounterWithImageRequest protoreflect.MessageDescriptor + md_QueryEncounterWithImageRequest protoreflect.MessageDescriptor + fd_QueryEncounterWithImageRequest_encounterId protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_query_proto_init() md_QueryEncounterWithImageRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryEncounterWithImageRequest") + fd_QueryEncounterWithImageRequest_encounterId = md_QueryEncounterWithImageRequest.Fields().ByName("encounterId") } var _ protoreflect.Message = (*fastReflection_QueryEncounterWithImageRequest)(nil) @@ -12377,6 +12379,12 @@ func (x *fastReflection_QueryEncounterWithImageRequest) Interface() protoreflect // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_QueryEncounterWithImageRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.EncounterId != uint64(0) { + value := protoreflect.ValueOfUint64(x.EncounterId) + if !f(fd_QueryEncounterWithImageRequest_encounterId, value) { + return + } + } } // Has reports whether a field is populated. @@ -12392,6 +12400,8 @@ func (x *fastReflection_QueryEncounterWithImageRequest) Range(f func(protoreflec // a repeated field is populated if it is non-empty. func (x *fastReflection_QueryEncounterWithImageRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterWithImageRequest.encounterId": + return x.EncounterId != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageRequest")) @@ -12408,6 +12418,8 @@ func (x *fastReflection_QueryEncounterWithImageRequest) Has(fd protoreflect.Fiel // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryEncounterWithImageRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterWithImageRequest.encounterId": + x.EncounterId = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageRequest")) @@ -12424,6 +12436,9 @@ func (x *fastReflection_QueryEncounterWithImageRequest) Clear(fd protoreflect.Fi // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_QueryEncounterWithImageRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { + case "cardchain.cardchain.QueryEncounterWithImageRequest.encounterId": + value := x.EncounterId + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageRequest")) @@ -12444,6 +12459,8 @@ func (x *fastReflection_QueryEncounterWithImageRequest) Get(descriptor protorefl // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryEncounterWithImageRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterWithImageRequest.encounterId": + x.EncounterId = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageRequest")) @@ -12464,6 +12481,8 @@ func (x *fastReflection_QueryEncounterWithImageRequest) Set(fd protoreflect.Fiel // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryEncounterWithImageRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterWithImageRequest.encounterId": + panic(fmt.Errorf("field encounterId of message cardchain.cardchain.QueryEncounterWithImageRequest is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageRequest")) @@ -12477,6 +12496,8 @@ func (x *fastReflection_QueryEncounterWithImageRequest) Mutable(fd protoreflect. // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_QueryEncounterWithImageRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "cardchain.cardchain.QueryEncounterWithImageRequest.encounterId": + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryEncounterWithImageRequest")) @@ -12546,6 +12567,9 @@ func (x *fastReflection_QueryEncounterWithImageRequest) ProtoMethods() *protoifa var n int var l int _ = l + if x.EncounterId != 0 { + n += 1 + runtime.Sov(uint64(x.EncounterId)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -12575,6 +12599,11 @@ func (x *fastReflection_QueryEncounterWithImageRequest) ProtoMethods() *protoifa i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.EncounterId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.EncounterId)) + i-- + dAtA[i] = 0x8 + } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -12624,6 +12653,25 @@ func (x *fastReflection_QueryEncounterWithImageRequest) ProtoMethods() *protoifa return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryEncounterWithImageRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EncounterId", wireType) + } + x.EncounterId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.EncounterId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -15231,8 +15279,8 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) Interface() protorefl // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_QuerySetRarityDistributionRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.SetId != "" { - value := protoreflect.ValueOfString(x.SetId) + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) if !f(fd_QuerySetRarityDistributionRequest_setId, value) { return } @@ -15253,7 +15301,7 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) Range(f func(protoref func (x *fastReflection_QuerySetRarityDistributionRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": - return x.SetId != "" + return x.SetId != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) @@ -15271,7 +15319,7 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) Has(fd protoreflect.F func (x *fastReflection_QuerySetRarityDistributionRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": - x.SetId = "" + x.SetId = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) @@ -15290,7 +15338,7 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) Get(descriptor protor switch descriptor.FullName() { case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": value := x.SetId - return protoreflect.ValueOfString(value) + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) @@ -15312,7 +15360,7 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) Get(descriptor protor func (x *fastReflection_QuerySetRarityDistributionRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": - x.SetId = value.Interface().(string) + x.SetId = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) @@ -15349,7 +15397,7 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) Mutable(fd protorefle func (x *fastReflection_QuerySetRarityDistributionRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { case "cardchain.cardchain.QuerySetRarityDistributionRequest.setId": - return protoreflect.ValueOfString("") + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QuerySetRarityDistributionRequest")) @@ -15419,9 +15467,8 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) ProtoMethods() *proto var n int var l int _ = l - l = len(x.SetId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -15452,12 +15499,10 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) ProtoMethods() *proto i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.SetId) > 0 { - i -= len(x.SetId) - copy(dAtA[i:], x.SetId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SetId))) + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x8 } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) @@ -15509,10 +15554,10 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) ProtoMethods() *proto } switch fieldNum { case 1: - if wireType != 2 { + if wireType != 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - var stringLen uint64 + x.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -15522,24 +15567,11 @@ func (x *fastReflection_QuerySetRarityDistributionRequest) ProtoMethods() *proto } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + x.SetId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.SetId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -24686,7 +24718,7 @@ type QuerySetResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Match *SetWithArtwork `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` + Set_ *SetWithArtwork `protobuf:"bytes,1,opt,name=set,proto3" json:"set,omitempty"` } func (x *QuerySetResponse) Reset() { @@ -24709,9 +24741,9 @@ func (*QuerySetResponse) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{15} } -func (x *QuerySetResponse) GetMatch() *SetWithArtwork { +func (x *QuerySetResponse) GetSet_() *SetWithArtwork { if x != nil { - return x.Match + return x.Set_ } return nil } @@ -25061,6 +25093,8 @@ type QueryEncounterWithImageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + EncounterId uint64 `protobuf:"varint,1,opt,name=encounterId,proto3" json:"encounterId,omitempty"` } func (x *QueryEncounterWithImageRequest) Reset() { @@ -25083,6 +25117,13 @@ func (*QueryEncounterWithImageRequest) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{26} } +func (x *QueryEncounterWithImageRequest) GetEncounterId() uint64 { + if x != nil { + return x.EncounterId + } + return 0 +} + type QueryEncounterWithImageResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -25293,7 +25334,7 @@ type QuerySetRarityDistributionRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SetId string `protobuf:"bytes,1,opt,name=setId,proto3" json:"setId,omitempty"` + SetId uint64 `protobuf:"varint,1,opt,name=setId,proto3" json:"setId,omitempty"` } func (x *QuerySetRarityDistributionRequest) Reset() { @@ -25316,11 +25357,11 @@ func (*QuerySetRarityDistributionRequest) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{32} } -func (x *QuerySetRarityDistributionRequest) GetSetId() string { +func (x *QuerySetRarityDistributionRequest) GetSetId() uint64 { if x != nil { return x.SetId } - return "" + return 0 } type QuerySetRarityDistributionResponse struct { @@ -26115,480 +26156,482 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, + 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x49, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x03, + 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x03, + 0x73, 0x65, 0x74, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, + 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, + 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, - 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, - 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, - 0x4e, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x22, - 0x30, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, - 0x64, 0x22, 0x4a, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x39, 0x0a, - 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x14, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x22, 0x30, 0x0a, 0x12, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4a, 0x0a, + 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, + 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x18, 0x0a, 0x16, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x22, 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, 0x17, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x22, 0x42, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x68, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, - 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, - 0x02, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, - 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, - 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, - 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, - 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, - 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x22, 0x39, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, - 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x56, 0x0a, - 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x77, - 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x38, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x22, - 0x39, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, - 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6e, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xf9, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x24, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, - 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x64, 0x22, 0x68, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x73, 0x22, 0xaa, 0x01, - 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x24, - 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, - 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x2b, 0x0a, 0x11, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, - 0x06, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x31, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x18, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x63, - 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x34, 0x0a, 0x18, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, - 0x22, 0x61, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, - 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x22, 0x92, 0x02, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, - 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, - 0x1f, 0x00, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x39, 0x0a, - 0x07, 0x70, 0x72, 0x69, 0x63, 0x65, 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, - 0x07, 0x70, 0x72, 0x69, 0x63, 0x65, 0x55, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x6c, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x61, 0x72, + 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, + 0x21, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7d, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x73, 0x32, 0xa1, 0x21, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, + 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, 0x02, 0x0a, + 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x63, + 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, + 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, + 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, + 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, + 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, + 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, + 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x22, 0x39, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x22, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x04, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, + 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x77, 0x61, 0x6e, + 0x74, 0x65, 0x64, 0x22, 0x38, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x22, 0x39, 0x0a, + 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, + 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6e, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xf9, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, + 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, + 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x55, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, + 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x64, 0x22, 0x68, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x04, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x10, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, + 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x2b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x31, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, + 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x63, 0x61, 0x72, + 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x34, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x61, + 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x63, + 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x73, 0x22, 0x92, 0x02, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x09, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, + 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x39, 0x0a, 0x07, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x07, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x55, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, + 0x75, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7d, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x49, 0x64, 0x73, 0x32, 0xa1, 0x21, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, + 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, + 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, + 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, + 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, + 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, - 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, + 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, - 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, + 0xc4, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, + 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, - 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, - 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, - 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, - 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, - 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, - 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, - 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, - 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, - 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, - 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, - 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, - 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, - 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, - 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, + 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, + 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, + 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, + 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, + 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, - 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, - 0x7b, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x55, 0x70, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, - 0x7b, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, - 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, + 0x6f, 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, + 0x70, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6f, + 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, 0x12, 0x25, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, + 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x7b, - 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0xab, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, - 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, - 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0xab, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, + 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, + 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, + 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -26690,7 +26733,7 @@ var file_cardchain_cardchain_query_proto_depIdxs = []int32{ 56, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass 57, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity 58, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match - 59, // 12: cardchain.cardchain.QuerySetResponse.match:type_name -> cardchain.cardchain.SetWithArtwork + 59, // 12: cardchain.cardchain.QuerySetResponse.set:type_name -> cardchain.cardchain.SetWithArtwork 60, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer 61, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council 62, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 2d410134..4edcdfb8 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers/{priceDown}/{priceUp}/{seller}/{buyer}/{card}/{status}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown","in":"path","required":true},{"type":"string","name":"priceUp","in":"path","required":true},{"type":"string","name":"seller","in":"path","required":true},{"type":"string","name":"buyer","in":"path","required":true},{"type":"string","format":"uint64","name":"card","in":"path","required":true},{"type":"string","name":"status","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin25","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin26","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"string"}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"open","enum":["open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin25","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin26","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 634dabc1..b6360375 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -238,7 +238,7 @@ message QueryMatchResponse { Match match = 1; } message QuerySetRequest { uint64 setId = 1; } -message QuerySetResponse { SetWithArtwork match = 1; } +message QuerySetResponse { SetWithArtwork set = 1; } message QuerySellOfferRequest { uint64 sellOfferId = 1; } @@ -260,7 +260,7 @@ message QueryEncountersRequest {} message QueryEncountersResponse { repeated Encounter encounters = 1; } -message QueryEncounterWithImageRequest {} +message QueryEncounterWithImageRequest { uint64 encounterId = 1; } message QueryEncounterWithImageResponse { EncounterWithImage encounter = 1; } @@ -283,7 +283,7 @@ message QueryCardchainInfoResponse { uint64 lastCardModified = 7; } -message QuerySetRarityDistributionRequest { string setId = 1; } +message QuerySetRarityDistributionRequest { uint64 setId = 1; } message QuerySetRarityDistributionResponse { repeated uint64 current = 1; diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index f4defe88..f8791dad 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -13,35 +13,34 @@ import ( ffKeeper "github.com/DecentralCardGame/cardchain/x/featureflag/keeper" ) -type ( - Keeper struct { - cdc codec.BinaryCodec - storeService store.KVStoreService - logger log.Logger +type Keeper struct { + cdc codec.BinaryCodec + storeService store.KVStoreService + logger log.Logger - cards gtk.GenericUint64TypeKeeper[*types.Card] - councils gtk.GenericUint64TypeKeeper[*types.Council] - sellOffers gtk.GenericUint64TypeKeeper[*types.SellOffer] - sets gtk.GenericUint64TypeKeeper[*types.Set] - matches gtk.GenericUint64TypeKeeper[*types.Match] - servers gtk.GenericUint64TypeKeeper[*types.Server] - RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] - Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] - images gtk.GenericUint64TypeKeeper[*types.Image] - encounters gtk.GenericUint64TypeKeeper[*types.Encounter] - users gtk.GenericAddressTypeKeeper[*types.User] - zealy gtk.GenericStringTypeKeeper[*types.Zealy] - lastCardModified gtk.SingleValueGenericTypeKeeper[*types.TimeStamp] - cardAuctionPrice gtk.SingleValueGenericTypeKeeper[*sdk.Coin] + cards gtk.GenericUint64TypeKeeper[*types.Card] + councils gtk.GenericUint64TypeKeeper[*types.Council] + sellOffers gtk.GenericUint64TypeKeeper[*types.SellOffer] + sets gtk.GenericUint64TypeKeeper[*types.Set] + matches gtk.GenericUint64TypeKeeper[*types.Match] + servers gtk.GenericUint64TypeKeeper[*types.Server] + RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] + Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] + images gtk.GenericUint64TypeKeeper[*types.Image] + encounters gtk.GenericUint64TypeKeeper[*types.Encounter] + users gtk.GenericAddressTypeKeeper[*types.User] + zealy gtk.GenericStringTypeKeeper[*types.Zealy] + lastCardModified gtk.SingleValueGenericTypeKeeper[*types.TimeStamp] + cardAuctionPrice gtk.SingleValueGenericTypeKeeper[*sdk.Coin] + lastVotingResults gtk.SingleValueGenericTypeKeeper[*types.VotingResults] - // the address capable of executing a MsgUpdateParams message. Typically, this - // should be the x/gov module account. - authority string + // the address capable of executing a MsgUpdateParams message. Typically, this + // should be the x/gov module account. + authority string - BankKeeper types.BankKeeper - FeatureFlagModuleInstance ffKeeper.ModuleInstance - } -) + BankKeeper types.BankKeeper + FeatureFlagModuleInstance ffKeeper.ModuleInstance +} func NewKeeper( cdc codec.BinaryCodec, @@ -62,20 +61,21 @@ func NewKeeper( authority: authority, logger: logger, - cards: gtk.NewUintGTK[*types.Card]("Cards", storeService, cdc, gtk.GetEmpty[types.Card]), - councils: gtk.NewUintGTK[*types.Council]("Councils", storeService, cdc, gtk.GetEmpty[types.Council]), - sellOffers: gtk.NewUintGTK[*types.SellOffer]("SellOffers", storeService, cdc, gtk.GetEmpty[types.SellOffer]), - sets: gtk.NewUintGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), - matches: gtk.NewUintGTK[*types.Match]("Matches", storeService, cdc, gtk.GetEmpty[types.Match]), - RunningAverages: gtk.NewKGTK[*types.RunningAverage]("RunningAverages", storeService, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), - Pools: gtk.NewKGTK[*sdk.Coin]("Pools", storeService, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), - images: gtk.NewUintGTK[*types.Image]("Images", storeService, cdc, gtk.GetEmpty[types.Image]), - servers: gtk.NewUintGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), - encounters: gtk.NewUintGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), - users: gtk.NewAddressGTK[*types.User]("Users", storeService, cdc, gtk.GetEmpty[types.User]), - zealy: gtk.NewStringGTK[*types.Zealy]("Zealy", storeService, cdc, gtk.GetEmpty[types.Zealy]), - lastCardModified: gtk.NewSingleValueGenericTypeKeeper[*types.TimeStamp]("LastCardModified", storeService, cdc, gtk.GetEmpty[types.TimeStamp]), - cardAuctionPrice: gtk.NewSingleValueGenericTypeKeeper[*sdk.Coin]("CardAuctionPrice", storeService, cdc, gtk.GetEmpty[sdk.Coin]), + cards: gtk.NewUintGTK[*types.Card]("Cards", storeService, cdc, gtk.GetEmpty[types.Card]), + councils: gtk.NewUintGTK[*types.Council]("Councils", storeService, cdc, gtk.GetEmpty[types.Council]), + sellOffers: gtk.NewUintGTK[*types.SellOffer]("SellOffers", storeService, cdc, gtk.GetEmpty[types.SellOffer]), + sets: gtk.NewUintGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), + matches: gtk.NewUintGTK[*types.Match]("Matches", storeService, cdc, gtk.GetEmpty[types.Match]), + RunningAverages: gtk.NewKGTK[*types.RunningAverage]("RunningAverages", storeService, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), + Pools: gtk.NewKGTK[*sdk.Coin]("Pools", storeService, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), + images: gtk.NewUintGTK[*types.Image]("Images", storeService, cdc, gtk.GetEmpty[types.Image]), + servers: gtk.NewUintGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), + encounters: gtk.NewUintGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), + users: gtk.NewAddressGTK[*types.User]("Users", storeService, cdc, gtk.GetEmpty[types.User]), + zealy: gtk.NewStringGTK[*types.Zealy]("Zealy", storeService, cdc, gtk.GetEmpty[types.Zealy]), + lastCardModified: gtk.NewSingleValueGenericTypeKeeper[*types.TimeStamp]("LastCardModified", storeService, cdc, gtk.GetEmpty[types.TimeStamp]), + cardAuctionPrice: gtk.NewSingleValueGenericTypeKeeper[*sdk.Coin]("CardAuctionPrice", storeService, cdc, gtk.GetEmpty[sdk.Coin]), + lastVotingResults: gtk.NewSingleValueGenericTypeKeeper[*types.VotingResults]("LastVotingResults", storeService, cdc, gtk.GetEmpty[types.VotingResults]), FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), BankKeeper: bankKeeper, diff --git a/x/cardchain/keeper/query_account_from_zealy.go b/x/cardchain/keeper/query_account_from_zealy.go index f1ce6aeb..164aaf88 100644 --- a/x/cardchain/keeper/query_account_from_zealy.go +++ b/x/cardchain/keeper/query_account_from_zealy.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "fmt" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -16,8 +17,10 @@ func (k Keeper) AccountFromZealy(goCtx context.Context, req *types.QueryAccountF ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + zealy := k.zealy.Get(ctx, req.ZealyId) + if zealy == nil { + return nil, fmt.Errorf("zealyId `%s` not in store", req.ZealyId) + } - return &types.QueryAccountFromZealyResponse{}, nil + return &types.QueryAccountFromZealyResponse{Address: zealy.Address}, nil } diff --git a/x/cardchain/keeper/query_encounter.go b/x/cardchain/keeper/query_encounter.go index 26a3d383..bb1a3715 100644 --- a/x/cardchain/keeper/query_encounter.go +++ b/x/cardchain/keeper/query_encounter.go @@ -16,8 +16,7 @@ func (k Keeper) Encounter(goCtx context.Context, req *types.QueryEncounterReques ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + encounter := k.encounters.Get(ctx, req.EncounterId) - return &types.QueryEncounterResponse{}, nil + return &types.QueryEncounterResponse{Encounter: encounter}, nil } diff --git a/x/cardchain/keeper/query_encounter_with_image.go b/x/cardchain/keeper/query_encounter_with_image.go index fbb2ef67..04d224d4 100644 --- a/x/cardchain/keeper/query_encounter_with_image.go +++ b/x/cardchain/keeper/query_encounter_with_image.go @@ -16,8 +16,10 @@ func (k Keeper) EncounterWithImage(goCtx context.Context, req *types.QueryEncoun ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + encounter := k.encounters.Get(ctx, req.EncounterId) - return &types.QueryEncounterWithImageResponse{}, nil + return &types.QueryEncounterWithImageResponse{Encounter: &types.EncounterWithImage{ + Encounter: encounter, + Image: k.images.Get(ctx, encounter.ImageId).Image, + }}, nil } diff --git a/x/cardchain/keeper/query_encounters.go b/x/cardchain/keeper/query_encounters.go index 447e1bd7..4fb8b1db 100644 --- a/x/cardchain/keeper/query_encounters.go +++ b/x/cardchain/keeper/query_encounters.go @@ -16,8 +16,7 @@ func (k Keeper) Encounters(goCtx context.Context, req *types.QueryEncountersRequ ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + encounters := k.encounters.GetAll(ctx) - return &types.QueryEncountersResponse{}, nil + return &types.QueryEncountersResponse{Encounters: encounters}, nil } diff --git a/x/cardchain/keeper/query_encounters_with_image.go b/x/cardchain/keeper/query_encounters_with_image.go index 8476213a..83696a62 100644 --- a/x/cardchain/keeper/query_encounters_with_image.go +++ b/x/cardchain/keeper/query_encounters_with_image.go @@ -16,8 +16,16 @@ func (k Keeper) EncountersWithImage(goCtx context.Context, req *types.QueryEncou ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + var encountersWithImage []*types.EncounterWithImage - return &types.QueryEncountersWithImageResponse{}, nil + encounters := k.encounters.GetAll(ctx) + + for _, encounter := range encounters { + encountersWithImage = append(encountersWithImage, &types.EncounterWithImage{ + Encounter: encounter, + Image: k.images.Get(ctx, encounter.ImageId).Image, + }) + } + + return &types.QueryEncountersWithImageResponse{Encounters: encountersWithImage}, nil } diff --git a/x/cardchain/keeper/query_server.go b/x/cardchain/keeper/query_server.go index 0cf3c885..735620d2 100644 --- a/x/cardchain/keeper/query_server.go +++ b/x/cardchain/keeper/query_server.go @@ -16,8 +16,7 @@ func (k Keeper) Server(goCtx context.Context, req *types.QueryServerRequest) (*t ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + server := k.servers.Get(ctx, req.ServerId) - return &types.QueryServerResponse{}, nil + return &types.QueryServerResponse{Server: server}, nil } diff --git a/x/cardchain/keeper/query_set.go b/x/cardchain/keeper/query_set.go index 670b2e0f..a26ac0b1 100644 --- a/x/cardchain/keeper/query_set.go +++ b/x/cardchain/keeper/query_set.go @@ -16,8 +16,11 @@ func (k Keeper) Set(goCtx context.Context, req *types.QuerySetRequest) (*types.Q ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + set := k.sets.Get(ctx, req.SetId) + image := k.images.Get(ctx, set.ArtworkId) - return &types.QuerySetResponse{}, nil + return &types.QuerySetResponse{Set: &types.SetWithArtwork{ + Set: set, + Artwork: image.Image, + }}, nil } diff --git a/x/cardchain/keeper/query_set_rarity_distribution.go b/x/cardchain/keeper/query_set_rarity_distribution.go index 3e4e2642..72b9a540 100644 --- a/x/cardchain/keeper/query_set_rarity_distribution.go +++ b/x/cardchain/keeper/query_set_rarity_distribution.go @@ -16,8 +16,9 @@ func (k Keeper) SetRarityDistribution(goCtx context.Context, req *types.QuerySet ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + setSize := k.GetParams(ctx).SetSize + set := k.sets.Get(ctx, req.SetId) + dist, err := k.GetRarityDistribution(ctx, *set, uint32(setSize)) - return &types.QuerySetRarityDistributionResponse{}, nil + return &types.QuerySetRarityDistributionResponse{Current: dist[0][:], Wanted: dist[1][:]}, err } diff --git a/x/cardchain/keeper/query_sets.go b/x/cardchain/keeper/query_sets.go index 285af44e..2b973077 100644 --- a/x/cardchain/keeper/query_sets.go +++ b/x/cardchain/keeper/query_sets.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "slices" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -16,8 +17,51 @@ func (k Keeper) Sets(goCtx context.Context, req *types.QuerySetsRequest) (*types ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + var ( + setIds []uint64 + allUsersInSet bool = true + allCardsInSet bool = true + ) - return &types.QuerySetsResponse{}, nil + iter := k.sets.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + idx, set := iter.Value() + + // Checks for status + if req.Status != types.SetStatus_undefined { + 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.QuerySetsResponse{SetIds: setIds}, nil } diff --git a/x/cardchain/keeper/query_user.go b/x/cardchain/keeper/query_user.go index 98d31a39..0217f3f1 100644 --- a/x/cardchain/keeper/query_user.go +++ b/x/cardchain/keeper/query_user.go @@ -16,8 +16,9 @@ func (k Keeper) User(goCtx context.Context, req *types.QueryUserRequest) (*types ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx - - return &types.QueryUserResponse{}, nil + user, err := k.GetUserFromString(ctx, req.Address) + if err != nil { + return nil, err + } + return &types.QueryUserResponse{User: user.User}, nil } diff --git a/x/cardchain/keeper/query_voting_results.go b/x/cardchain/keeper/query_voting_results.go index 2db01f8d..67c64ee0 100644 --- a/x/cardchain/keeper/query_voting_results.go +++ b/x/cardchain/keeper/query_voting_results.go @@ -16,8 +16,7 @@ func (k Keeper) VotingResults(goCtx context.Context, req *types.QueryVotingResul ctx := sdk.UnwrapSDKContext(goCtx) - // TODO: Process the query - _ = ctx + votingResults := k.lastVotingResults.Get(ctx) - return &types.QueryVotingResultsResponse{}, nil + return &types.QueryVotingResultsResponse{LastVotingResults: votingResults}, nil } diff --git a/x/cardchain/keeper/set.go b/x/cardchain/keeper/set.go index ca4dacfa..e62f29a6 100644 --- a/x/cardchain/keeper/set.go +++ b/x/cardchain/keeper/set.go @@ -77,14 +77,14 @@ func (k Keeper) GetActiveSets(ctx sdk.Context) (activeSets []uint64) { return } -func (k Keeper) GetRarityDistribution(ctx sdk.Context, set types.Set, setSize uint32) (dist [2][3]uint32, err error) { +func (k Keeper) GetRarityDistribution(ctx sdk.Context, set types.Set, setSize uint32) (dist [2][3]uint64, err error) { var ( - unCommons, rares, commons, commonsAll, unCommonsAll, raresAll uint32 + unCommons, rares, commons, commonsAll, unCommonsAll, raresAll uint64 ) - unCommonsAll = uint32(setSize / 3) - raresAll = uint32(setSize / 3) - commonsAll = uint32(setSize - raresAll - unCommonsAll) + unCommonsAll = uint64(setSize / 3) + raresAll = uint64(setSize / 3) + commonsAll = uint64(setSize) - raresAll - unCommonsAll for _, cardId := range set.Cards { card := k.cards.Get(ctx, cardId) @@ -101,7 +101,7 @@ func (k Keeper) GetRarityDistribution(ctx sdk.Context, set types.Set, setSize ui } } - return [2][3]uint32{ + return [2][3]uint64{ {commons, unCommons, rares}, {commonsAll, unCommonsAll, raresAll}, }, nil diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 7e7b53f1..cb9d215c 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -784,7 +784,7 @@ func (m *QuerySetRequest) GetSetId() uint64 { } type QuerySetResponse struct { - Match *SetWithArtwork `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` + Set *SetWithArtwork `protobuf:"bytes,1,opt,name=set,proto3" json:"set,omitempty"` } func (m *QuerySetResponse) Reset() { *m = QuerySetResponse{} } @@ -820,9 +820,9 @@ func (m *QuerySetResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QuerySetResponse proto.InternalMessageInfo -func (m *QuerySetResponse) GetMatch() *SetWithArtwork { +func (m *QuerySetResponse) GetSet() *SetWithArtwork { if m != nil { - return m.Match + return m.Set } return nil } @@ -1260,6 +1260,7 @@ func (m *QueryEncountersResponse) GetEncounters() []*Encounter { } type QueryEncounterWithImageRequest struct { + EncounterId uint64 `protobuf:"varint,1,opt,name=encounterId,proto3" json:"encounterId,omitempty"` } func (m *QueryEncounterWithImageRequest) Reset() { *m = QueryEncounterWithImageRequest{} } @@ -1295,6 +1296,13 @@ func (m *QueryEncounterWithImageRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryEncounterWithImageRequest proto.InternalMessageInfo +func (m *QueryEncounterWithImageRequest) GetEncounterId() uint64 { + if m != nil { + return m.EncounterId + } + return 0 +} + type QueryEncounterWithImageResponse struct { Encounter *EncounterWithImage `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` } @@ -1548,7 +1556,7 @@ func (m *QueryCardchainInfoResponse) GetLastCardModified() uint64 { } type QuerySetRarityDistributionRequest struct { - SetId string `protobuf:"bytes,1,opt,name=setId,proto3" json:"setId,omitempty"` + SetId uint64 `protobuf:"varint,1,opt,name=setId,proto3" json:"setId,omitempty"` } func (m *QuerySetRarityDistributionRequest) Reset() { *m = QuerySetRarityDistributionRequest{} } @@ -1584,11 +1592,11 @@ func (m *QuerySetRarityDistributionRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QuerySetRarityDistributionRequest proto.InternalMessageInfo -func (m *QuerySetRarityDistributionRequest) GetSetId() string { +func (m *QuerySetRarityDistributionRequest) GetSetId() uint64 { if m != nil { return m.SetId } - return "" + return 0 } type QuerySetRarityDistributionResponse struct { @@ -2425,168 +2433,169 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2573 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x5a, 0xcd, 0x8f, 0x14, 0xc7, - 0x15, 0xa7, 0x97, 0xd9, 0x5d, 0xa6, 0xf8, 0x30, 0x14, 0xd8, 0x19, 0x8f, 0x61, 0x58, 0xca, 0x18, - 0xd6, 0x18, 0xa6, 0xcd, 0xee, 0xf2, 0xb1, 0x18, 0x88, 0xf7, 0x03, 0x08, 0x41, 0xc0, 0xba, 0x37, - 0x10, 0xc5, 0x51, 0xb2, 0xea, 0x9d, 0x29, 0x76, 0x5b, 0xf4, 0x74, 0x8f, 0xbb, 0x6b, 0xd8, 0x4c, - 0x46, 0xa3, 0x28, 0x39, 0xe5, 0x14, 0x45, 0x76, 0x14, 0xe5, 0x12, 0x29, 0x1f, 0x97, 0x28, 0x1f, - 0x8a, 0xcf, 0x91, 0x95, 0x53, 0x14, 0x71, 0x74, 0x94, 0x8b, 0x4f, 0x51, 0x04, 0x91, 0xa2, 0xfc, - 0x09, 0xb9, 0x59, 0x55, 0xf5, 0xaa, 0xba, 0x7a, 0xa6, 0xa7, 0xb7, 0x17, 0x2e, 0xab, 0xae, 0xea, - 0xdf, 0xab, 0xfa, 0xbd, 0xaa, 0x57, 0xf5, 0x7e, 0xfd, 0x66, 0xd1, 0xf1, 0x86, 0x1b, 0x35, 0x1b, - 0x9b, 0xae, 0x17, 0xd8, 0xc9, 0xd3, 0x47, 0x1d, 0x1a, 0x75, 0xeb, 0xed, 0x28, 0x64, 0x21, 0x3e, - 0xac, 0xbb, 0xeb, 0xfa, 0xa9, 0x7a, 0xc8, 0x6d, 0x79, 0x41, 0x68, 0x8b, 0xbf, 0x12, 0x57, 0x3d, - 0xb2, 0x11, 0x6e, 0x84, 0xe2, 0xd1, 0xe6, 0x4f, 0xd0, 0x7b, 0x74, 0x23, 0x0c, 0x37, 0x7c, 0x6a, - 0xbb, 0x6d, 0xcf, 0x76, 0x83, 0x20, 0x64, 0x2e, 0xf3, 0xc2, 0x20, 0x86, 0xb7, 0x67, 0x1a, 0x61, - 0xdc, 0x0a, 0x63, 0x7b, 0xdd, 0x8d, 0xa9, 0x9c, 0xd4, 0x7e, 0x72, 0x7e, 0x9d, 0x32, 0xf7, 0xbc, - 0xdd, 0x76, 0x37, 0xbc, 0x40, 0x80, 0x01, 0x3b, 0x95, 0x45, 0xb4, 0xed, 0x46, 0x6e, 0x4b, 0x8d, - 0xf6, 0x76, 0x26, 0x22, 0x0a, 0x9b, 0x9d, 0x06, 0x5b, 0x6b, 0x52, 0xe6, 0x7a, 0x7e, 0x2e, 0x94, - 0x3f, 0xad, 0x6d, 0x79, 0x6c, 0x73, 0xcd, 0x6b, 0xb9, 0x1b, 0x14, 0xa0, 0xb5, 0x2c, 0x68, 0x27, - 0xa6, 0x51, 0xde, 0x7b, 0xfe, 0x04, 0xef, 0x33, 0x17, 0xb8, 0xe5, 0xb2, 0xc6, 0x26, 0x00, 0x8e, - 0x65, 0x01, 0x62, 0xca, 0xf4, 0x1a, 0x65, 0xbf, 0x96, 0x4c, 0xdd, 0x88, 0x6d, 0x85, 0xd1, 0x63, - 0xc0, 0x9e, 0xcc, 0xc6, 0xfa, 0xfe, 0x5a, 0xf8, 0xe8, 0x91, 0x66, 0x7c, 0x22, 0x93, 0x71, 0xd8, - 0x09, 0x1a, 0x9e, 0x9f, 0xb7, 0xd8, 0x31, 0x8d, 0x9e, 0xe8, 0x41, 0xde, 0xcc, 0x42, 0xd0, 0x80, - 0x0f, 0xc3, 0x34, 0xa8, 0x9e, 0x0b, 0xca, 0x5a, 0x6b, 0x23, 0x1e, 0x54, 0x24, 0x34, 0x42, 0x4f, - 0xc5, 0xc0, 0x74, 0xd6, 0x78, 0x4f, 0x42, 0xe6, 0x05, 0x1b, 0x6b, 0x11, 0x8d, 0x3b, 0x3e, 0x53, - 0x1b, 0x7c, 0x6a, 0xe4, 0x06, 0x37, 0xc2, 0x80, 0xd1, 0x00, 0x56, 0x97, 0x1c, 0x41, 0xf8, 0x03, - 0x1e, 0x77, 0x2b, 0x22, 0x90, 0x1c, 0xfa, 0x51, 0x87, 0xc6, 0x8c, 0x3c, 0x40, 0x87, 0x53, 0xbd, - 0x71, 0x3b, 0x0c, 0x62, 0x8a, 0xaf, 0xa3, 0x09, 0x19, 0x70, 0x15, 0x6b, 0xca, 0x9a, 0xde, 0x3b, - 0xf3, 0x46, 0x3d, 0xe3, 0x6c, 0xd4, 0xa5, 0xd1, 0x62, 0xf9, 0xe9, 0xbf, 0x8e, 0xef, 0xfa, 0xdd, - 0x7f, 0x3f, 0x3d, 0x63, 0x39, 0x60, 0x45, 0x6c, 0x74, 0x4c, 0x0c, 0x7b, 0x8b, 0xb2, 0x15, 0x19, - 0x96, 0xcb, 0x32, 0x2a, 0x61, 0x5e, 0x7c, 0x00, 0x8d, 0x79, 0x4d, 0x31, 0x78, 0xc9, 0x19, 0xf3, - 0x9a, 0x24, 0x46, 0xb5, 0x51, 0x06, 0x40, 0xe9, 0x03, 0x74, 0x20, 0xfd, 0x06, 0xa8, 0xbd, 0x99, - 0x4d, 0x2d, 0x05, 0x5d, 0x2c, 0x71, 0x8a, 0xce, 0xc0, 0x00, 0x64, 0x03, 0x58, 0x2e, 0xf8, 0x7e, - 0x36, 0xcb, 0x9b, 0x08, 0x25, 0xa7, 0x13, 0xe6, 0x3b, 0x55, 0x97, 0x5b, 0x57, 0xe7, 0x5b, 0x57, - 0x97, 0xf7, 0x07, 0x6c, 0x60, 0x7d, 0xc5, 0xdd, 0xa0, 0x60, 0xeb, 0x18, 0x96, 0xe4, 0x33, 0x0b, - 0xdc, 0xcb, 0x98, 0x29, 0xc7, 0xbd, 0xdd, 0x2f, 0xe5, 0x1e, 0xbe, 0x95, 0x62, 0x3f, 0x26, 0xd8, - 0x9f, 0xde, 0x96, 0xbd, 0xe4, 0x93, 0xa2, 0x7f, 0x06, 0x1d, 0x14, 0xec, 0x97, 0xdc, 0xa8, 0xa9, - 0x96, 0xe6, 0x35, 0x34, 0xc1, 0xe9, 0xdc, 0x56, 0x9b, 0x08, 0x2d, 0x72, 0x07, 0x1d, 0x32, 0xb0, - 0xe0, 0xdc, 0x45, 0x54, 0xe2, 0xaf, 0x61, 0x05, 0x49, 0xa6, 0x4b, 0xdc, 0xe0, 0x9b, 0x1e, 0xdb, - 0xbc, 0xcd, 0x4f, 0x89, 0x23, 0xf0, 0xe4, 0x2c, 0x4c, 0xfc, 0x20, 0xa6, 0x91, 0x9a, 0xb8, 0x82, - 0x26, 0xdd, 0x66, 0x33, 0xa2, 0xb1, 0x0c, 0x80, 0xb2, 0xa3, 0x9a, 0x64, 0x11, 0xa6, 0x96, 0x68, - 0x98, 0xfa, 0x1c, 0x2a, 0xf1, 0x2b, 0x0c, 0xa6, 0x7e, 0x3d, 0x73, 0x6a, 0x61, 0x20, 0x60, 0xe4, - 0x57, 0x25, 0x83, 0xbf, 0x8e, 0x83, 0x23, 0x68, 0x3c, 0xdc, 0x0a, 0x60, 0x94, 0xb2, 0x23, 0x1b, - 0xf8, 0x12, 0x9a, 0x88, 0x99, 0xcb, 0x3a, 0x71, 0x65, 0x6c, 0x6a, 0xf7, 0xf4, 0x81, 0x99, 0xe3, - 0x23, 0xfd, 0x5a, 0x15, 0x30, 0x07, 0xe0, 0x78, 0x1e, 0xed, 0xe1, 0xef, 0xbf, 0xd1, 0x6d, 0xd3, - 0xca, 0x6e, 0x61, 0x7a, 0x6c, 0xa4, 0x29, 0x07, 0x39, 0x1a, 0x8e, 0xe7, 0xd0, 0x78, 0xc3, 0x77, - 0xe3, 0xb8, 0x52, 0x12, 0x76, 0xb5, 0x91, 0x76, 0x4b, 0x1c, 0xe5, 0x48, 0x30, 0xdf, 0xac, 0x38, - 0x8c, 0xd8, 0x62, 0xb7, 0x32, 0x2e, 0x1c, 0x80, 0x16, 0x26, 0x68, 0x5f, 0xe0, 0xb6, 0xe8, 0x52, - 0x18, 0x30, 0xd7, 0x0b, 0xe2, 0xca, 0x84, 0x78, 0x9b, 0xea, 0xc3, 0x67, 0xd0, 0xc1, 0xc7, 0xb4, - 0xbb, 0x15, 0x46, 0xcd, 0x58, 0xe3, 0x26, 0x05, 0x6e, 0xa8, 0x1f, 0x9f, 0x44, 0xfb, 0x83, 0x90, - 0xd1, 0x04, 0xb8, 0x47, 0x00, 0xd3, 0x9d, 0x78, 0x1a, 0xbd, 0x12, 0x06, 0x7e, 0x77, 0x95, 0xb9, - 0x11, 0xa3, 0x11, 0x27, 0x5b, 0x29, 0x4f, 0x59, 0xd3, 0x7b, 0x9c, 0xc1, 0x6e, 0x5c, 0x47, 0x98, - 0x77, 0x2d, 0xba, 0xbe, 0x1b, 0x34, 0xe8, 0x42, 0xd0, 0xd8, 0x0c, 0xa3, 0xb8, 0x82, 0x04, 0x38, - 0xe3, 0x0d, 0x7e, 0x0f, 0xed, 0x89, 0xdc, 0xc8, 0x63, 0x1e, 0x8d, 0x2b, 0x7b, 0xb7, 0xd9, 0x13, - 0x87, 0x03, 0xbb, 0x8e, 0x36, 0xc0, 0xa7, 0xd0, 0x81, 0x56, 0xc7, 0x67, 0x9e, 0x58, 0xb9, 0xfb, - 0x81, 0xdf, 0xad, 0xec, 0x13, 0x13, 0x0d, 0xf4, 0x92, 0x3a, 0x5c, 0xa4, 0x10, 0x21, 0x10, 0x67, - 0x15, 0x34, 0x29, 0x4f, 0x80, 0x3c, 0xb8, 0x25, 0x47, 0x35, 0xc9, 0x39, 0x88, 0xa8, 0xbb, 0x3c, - 0x13, 0x1a, 0x51, 0x2c, 0x32, 0xa3, 0x3e, 0x3f, 0xaa, 0x49, 0x6e, 0xc2, 0xf0, 0x00, 0x87, 0xe1, - 0xdf, 0x45, 0xe3, 0x02, 0x00, 0x71, 0x5c, 0xcd, 0x74, 0x4b, 0x9a, 0x48, 0x20, 0x39, 0x8d, 0x5e, - 0x11, 0xe3, 0xac, 0x52, 0x66, 0x84, 0x71, 0x4c, 0x99, 0x9e, 0x52, 0x36, 0xc8, 0x5d, 0x38, 0x64, - 0x02, 0x08, 0xd3, 0xcd, 0xa7, 0xa7, 0xcb, 0xbe, 0x84, 0x56, 0x29, 0xe3, 0x07, 0x76, 0x41, 0x26, - 0x66, 0x35, 0xef, 0x3c, 0x7a, 0x15, 0x86, 0xf3, 0xfd, 0xfb, 0x3c, 0x17, 0xab, 0xd9, 0xa7, 0xd0, - 0xde, 0x58, 0xf5, 0x69, 0x0e, 0x66, 0x17, 0x79, 0x88, 0x5e, 0x1b, 0x34, 0x05, 0x3e, 0x57, 0x51, - 0x59, 0x03, 0x81, 0x53, 0x6d, 0x04, 0x27, 0x65, 0x9a, 0x18, 0x90, 0x59, 0x48, 0x72, 0x4b, 0x32, - 0xf3, 0x2b, 0x42, 0x47, 0x51, 0x19, 0xb4, 0x80, 0xa6, 0x93, 0x74, 0x90, 0x7b, 0xe8, 0x48, 0xda, - 0x48, 0xdf, 0x65, 0x93, 0x00, 0x02, 0x22, 0x47, 0xb3, 0x43, 0x0c, 0xcc, 0x14, 0x98, 0xbc, 0x0b, - 0xfb, 0xba, 0x2a, 0xb4, 0x85, 0xe2, 0x50, 0x45, 0x7b, 0xa4, 0xd8, 0xd0, 0x14, 0x74, 0x9b, 0x7c, - 0x1d, 0x68, 0x2b, 0x0b, 0x20, 0x30, 0x8b, 0x26, 0x24, 0x24, 0x37, 0x37, 0x83, 0x11, 0x40, 0xf5, - 0xae, 0xdc, 0x50, 0x92, 0xc4, 0xd8, 0x15, 0x2d, 0x53, 0x92, 0x5d, 0x31, 0xba, 0xf4, 0xae, 0x18, - 0xa6, 0xc9, 0xae, 0x68, 0x60, 0xee, 0xae, 0x24, 0xa6, 0x89, 0x01, 0xa9, 0x0c, 0x8e, 0xab, 0x45, - 0xc9, 0xb7, 0xd0, 0x57, 0x86, 0xde, 0x68, 0x61, 0x82, 0xf4, 0x08, 0x2a, 0x45, 0x6e, 0x37, 0xa7, - 0x61, 0x41, 0xa6, 0x20, 0x11, 0xeb, 0xb7, 0x49, 0xca, 0x81, 0xc9, 0x37, 0xd1, 0xf1, 0x91, 0x08, - 0x20, 0x71, 0x63, 0xd8, 0xef, 0xd3, 0xf9, 0x1c, 0x92, 0x31, 0x8c, 0x05, 0x38, 0x31, 0x38, 0x53, - 0x3c, 0x44, 0xe6, 0x31, 0x9a, 0x1a, 0x0d, 0x01, 0x36, 0xb7, 0x32, 0x96, 0xa4, 0x30, 0x1d, 0x73, - 0x6d, 0xde, 0x40, 0xaf, 0xeb, 0x8b, 0x4d, 0x18, 0xdc, 0x0e, 0x1e, 0x85, 0x8a, 0xc9, 0x3f, 0xc6, - 0x50, 0x35, 0xeb, 0x2d, 0x90, 0xb8, 0x83, 0x0e, 0xf2, 0x79, 0x16, 0x3a, 0x0d, 0xae, 0x18, 0x56, - 0x22, 0xaf, 0x41, 0x93, 0x94, 0x6b, 0x28, 0x0e, 0xa5, 0x35, 0x96, 0x42, 0x2f, 0x00, 0xd9, 0x32, - 0x64, 0x88, 0x6b, 0x08, 0xb9, 0x0d, 0xe6, 0x3d, 0xa1, 0xab, 0x94, 0xc9, 0xe4, 0x5a, 0x72, 0x8c, - 0x1e, 0x1e, 0xb3, 0xdc, 0x26, 0xbe, 0xd7, 0x69, 0xad, 0xd3, 0xa8, 0xb2, 0x5b, 0xc6, 0xac, 0xd1, - 0xc5, 0x13, 0x91, 0xb8, 0x8d, 0xa8, 0xc2, 0x94, 0x04, 0x26, 0xdd, 0xc9, 0x53, 0x9b, 0xbe, 0x24, - 0x14, 0x70, 0x5c, 0x00, 0x87, 0xfa, 0x79, 0x76, 0x80, 0x93, 0xac, 0x90, 0x13, 0x02, 0x39, 0xd0, - 0xcb, 0xc7, 0xf4, 0xdd, 0x98, 0xf1, 0x55, 0xba, 0x1b, 0x36, 0xbd, 0x47, 0x1e, 0x6d, 0x8a, 0x74, - 0x59, 0x72, 0x86, 0xfa, 0xc9, 0x3c, 0x3a, 0xa1, 0x6f, 0x5e, 0x91, 0x8d, 0x96, 0xbd, 0x98, 0x45, - 0xde, 0x7a, 0x87, 0x2f, 0x45, 0xe6, 0xa5, 0x5d, 0x56, 0x97, 0xf6, 0x43, 0x44, 0xf2, 0x4c, 0x8d, - 0xa4, 0xd4, 0x89, 0x22, 0x1a, 0x30, 0x9d, 0x94, 0x64, 0x93, 0x2b, 0x82, 0x2d, 0x37, 0x60, 0xb4, - 0x09, 0xcb, 0x0b, 0x2d, 0x72, 0x19, 0x1d, 0x95, 0x42, 0xb5, 0x21, 0xc2, 0xe2, 0x66, 0x14, 0xb6, - 0x3e, 0xa4, 0xae, 0xdf, 0x35, 0xf2, 0xd6, 0xf7, 0x79, 0x5b, 0xf3, 0x51, 0x4d, 0x32, 0xaf, 0xc4, - 0xf4, 0x90, 0x65, 0x42, 0x66, 0x84, 0x70, 0x53, 0x81, 0xf7, 0x50, 0x7c, 0xdf, 0x38, 0xf2, 0xf3, - 0x46, 0x05, 0x5e, 0x00, 0x71, 0x37, 0xf0, 0x12, 0x06, 0x5d, 0x41, 0x87, 0xf8, 0xb2, 0xa6, 0x5e, - 0xe6, 0xca, 0xcc, 0xf4, 0x30, 0xc3, 0xc6, 0xe4, 0xff, 0x16, 0x5c, 0xbb, 0x77, 0x65, 0xac, 0x28, - 0xcf, 0x4f, 0xa2, 0xfd, 0xcc, 0x6b, 0xd1, 0x98, 0xb9, 0xad, 0xf6, 0x72, 0xb8, 0x15, 0xc0, 0x55, - 0x99, 0xee, 0xe4, 0xa1, 0xa9, 0x3b, 0x1e, 0xb4, 0x85, 0xe8, 0x2e, 0x39, 0x66, 0x17, 0x1f, 0xa7, - 0x01, 0x4a, 0x88, 0xeb, 0xce, 0x58, 0x28, 0xc0, 0xb2, 0x93, 0xee, 0xe4, 0x79, 0x21, 0xa2, 0xed, - 0x90, 0x2b, 0x21, 0x11, 0xbb, 0x65, 0x47, 0xb7, 0x79, 0x06, 0x0a, 0x3b, 0xac, 0x11, 0xb6, 0xa8, - 0x88, 0xd6, 0x03, 0x23, 0x32, 0xd0, 0x7d, 0x89, 0x71, 0x14, 0x58, 0x1f, 0x9b, 0x15, 0xdf, 0xed, - 0xd2, 0x66, 0x65, 0x42, 0x6c, 0xbc, 0xd9, 0x45, 0x36, 0x21, 0xe7, 0x69, 0xd7, 0x61, 0x95, 0xe7, - 0x40, 0xad, 0x50, 0x75, 0xbf, 0xe4, 0xe9, 0x0f, 0x05, 0xe5, 0x3e, 0x80, 0xa8, 0x51, 0x87, 0x58, - 0xb7, 0xc9, 0xef, 0xad, 0x44, 0x75, 0xe8, 0x25, 0xbe, 0xa8, 0x05, 0xb5, 0x25, 0xfc, 0x1a, 0x95, - 0xe2, 0xd9, 0x80, 0x9e, 0x26, 0x68, 0x1f, 0x5f, 0x3d, 0x11, 0xfe, 0x5c, 0x20, 0x8e, 0x89, 0x15, - 0x4d, 0xf5, 0x99, 0xcb, 0x2e, 0x84, 0x9b, 0x58, 0xf6, 0x92, 0x93, 0xee, 0x4c, 0x84, 0x7e, 0xc9, - 0x10, 0xfa, 0xe4, 0x1d, 0x50, 0x70, 0x92, 0x2b, 0xac, 0x09, 0xd7, 0xd4, 0xfc, 0x28, 0x2a, 0xbd, - 0x07, 0x2d, 0x72, 0x1e, 0x92, 0x97, 0x10, 0xe1, 0xf2, 0x0b, 0x7c, 0xbb, 0x6f, 0xa6, 0xef, 0xa2, - 0xca, 0xb0, 0x09, 0x4c, 0xb3, 0x28, 0x37, 0x0d, 0xba, 0x21, 0xb4, 0xa7, 0x46, 0xcb, 0x7e, 0x30, - 0x37, 0x8d, 0xc8, 0xdc, 0xf0, 0xf8, 0xb1, 0x71, 0xa0, 0x47, 0xe8, 0x56, 0xd7, 0x48, 0x07, 0x89, - 0x15, 0xd0, 0x5a, 0x46, 0xfb, 0x8c, 0x19, 0x54, 0x58, 0x6c, 0xcf, 0x2b, 0x65, 0x45, 0x3e, 0x1e, - 0x1b, 0x54, 0x7c, 0x9a, 0xd7, 0x35, 0x54, 0x6e, 0xf3, 0x64, 0xa0, 0x8f, 0x5a, 0x81, 0x4c, 0x92, - 0x58, 0xe0, 0x79, 0x34, 0x29, 0x1a, 0x70, 0x06, 0x0b, 0x18, 0x2b, 0xbc, 0xdc, 0x58, 0xdf, 0x87, - 0xc4, 0xc2, 0x3f, 0x96, 0x44, 0x8b, 0xc7, 0xc6, 0x7a, 0xa7, 0x9b, 0xc4, 0x86, 0x68, 0x60, 0x0c, - 0x9f, 0xb6, 0x32, 0x6f, 0x88, 0x67, 0x7c, 0x55, 0xc7, 0xf1, 0x84, 0x88, 0xe3, 0x93, 0xf9, 0x52, - 0x35, 0x1d, 0xcd, 0xa4, 0x0f, 0x01, 0x64, 0xae, 0x49, 0xa2, 0x7e, 0x92, 0xc4, 0x94, 0xab, 0x7e, - 0x12, 0x1d, 0x6c, 0x58, 0xf0, 0x83, 0x62, 0xe8, 0x6d, 0x75, 0x2a, 0x53, 0x7d, 0x33, 0xbf, 0x3e, - 0x81, 0xc6, 0xc5, 0xfc, 0xf8, 0x63, 0x0b, 0x4d, 0xc8, 0x12, 0x0f, 0xce, 0xd6, 0x13, 0xc3, 0xf5, - 0xa4, 0xea, 0xf4, 0xf6, 0x40, 0xe9, 0x0b, 0xb9, 0xf0, 0xa3, 0x7f, 0xfe, 0xe7, 0x93, 0x31, 0x1b, - 0x9f, 0xb3, 0x97, 0x69, 0x83, 0x06, 0x2c, 0x72, 0x7d, 0x1e, 0x28, 0xb7, 0xdc, 0x16, 0xb5, 0x47, - 0x17, 0x40, 0xf1, 0x5f, 0xad, 0xc1, 0x42, 0x09, 0x9e, 0x19, 0x3d, 0xe7, 0xa8, 0xfa, 0x53, 0x75, - 0x76, 0x47, 0x36, 0x40, 0x79, 0x49, 0x50, 0xbe, 0x86, 0xdf, 0x2b, 0x4a, 0x39, 0x5d, 0x91, 0xb5, - 0x7b, 0x5e, 0xb3, 0x8f, 0x3f, 0xb3, 0xd0, 0xa1, 0xf4, 0xf8, 0x0b, 0xbe, 0x9f, 0xe7, 0xc3, 0xa8, - 0xea, 0x54, 0x9e, 0x0f, 0x23, 0xeb, 0x4c, 0xe4, 0xba, 0xf0, 0xe1, 0x32, 0xbe, 0xf8, 0x62, 0x3e, - 0xe0, 0x4f, 0x2c, 0x54, 0x12, 0xdf, 0xe6, 0x6f, 0x8d, 0x9e, 0xdd, 0xa8, 0x13, 0x55, 0x4f, 0x6d, - 0x07, 0x03, 0x5e, 0x57, 0x05, 0xaf, 0x8b, 0x78, 0xae, 0x20, 0x2f, 0xfe, 0x64, 0xf7, 0xe4, 0x5d, - 0xd5, 0xc7, 0x3f, 0xb3, 0x50, 0x89, 0x27, 0xce, 0x3c, 0x56, 0x46, 0x11, 0x29, 0x8f, 0x95, 0x59, - 0x3d, 0x22, 0xd7, 0x04, 0xab, 0x4b, 0xf8, 0x42, 0x41, 0x56, 0x9d, 0x98, 0x46, 0x76, 0x0f, 0x74, - 0x4d, 0x1f, 0xff, 0xdc, 0x42, 0xe3, 0x32, 0xb1, 0x6c, 0xb3, 0x0c, 0x7a, 0x4f, 0x4f, 0x6f, 0x8b, - 0x7b, 0x89, 0xf5, 0x8a, 0xed, 0x9e, 0x48, 0x68, 0x7d, 0xfc, 0x0b, 0x0b, 0x8d, 0x8b, 0x6c, 0x9d, - 0x47, 0xcc, 0x2c, 0x58, 0xe4, 0x11, 0x4b, 0x55, 0x2a, 0x76, 0x1c, 0x60, 0x42, 0x12, 0xd8, 0x3d, - 0x50, 0x06, 0x7d, 0xfc, 0x13, 0x0b, 0xed, 0x5e, 0xa5, 0x0c, 0x9f, 0x1c, 0x3d, 0x61, 0x52, 0xd2, - 0xa8, 0xbe, 0xb5, 0x0d, 0x0a, 0x48, 0x5d, 0x11, 0xa4, 0xe6, 0xf0, 0x4c, 0x41, 0x52, 0x31, 0x65, - 0x76, 0x4f, 0x24, 0xf4, 0x3e, 0xfe, 0x93, 0x85, 0xca, 0xfa, 0x3a, 0xc5, 0x67, 0xf2, 0x26, 0x4c, - 0x57, 0x3c, 0xaa, 0xef, 0x14, 0xc2, 0x02, 0xc5, 0x5b, 0x82, 0xe2, 0x02, 0xfe, 0x6a, 0x61, 0x8a, - 0xea, 0xc7, 0x0e, 0xce, 0x54, 0x5f, 0xe0, 0x7d, 0xfc, 0x1b, 0x0b, 0x4d, 0x42, 0xf5, 0x01, 0xe7, - 0x5c, 0xc7, 0xe9, 0x62, 0x48, 0xf5, 0xed, 0x02, 0x48, 0x60, 0xba, 0x28, 0x98, 0x5e, 0xc5, 0x57, - 0x8a, 0x86, 0x9e, 0xb4, 0xb7, 0x7b, 0xba, 0xb8, 0xd2, 0xc7, 0xbf, 0xb4, 0xd0, 0x84, 0x2c, 0x51, - 0xe4, 0xe5, 0x96, 0x54, 0xad, 0x24, 0x2f, 0xb7, 0xa4, 0x4b, 0x24, 0xe4, 0x7d, 0xc1, 0xf0, 0x0a, - 0xbe, 0x5c, 0x78, 0x2d, 0xb9, 0x39, 0x5f, 0x47, 0x59, 0x7a, 0xe9, 0xe3, 0x3f, 0x5a, 0xa8, 0xac, - 0x3f, 0x97, 0xf3, 0x36, 0x7d, 0xb0, 0xa0, 0x92, 0xb7, 0xe9, 0x43, 0x15, 0x14, 0x72, 0x53, 0x10, - 0x7d, 0x1f, 0x5f, 0x2f, 0x48, 0x54, 0x7f, 0xad, 0xdb, 0x3d, 0xa3, 0x44, 0x23, 0xf6, 0x1c, 0x25, - 0x35, 0x02, 0x5c, 0x84, 0x83, 0xbe, 0x72, 0xce, 0x16, 0x03, 0x03, 0xe3, 0x79, 0xc1, 0x78, 0x16, - 0x9f, 0xdf, 0x29, 0xe3, 0x18, 0xff, 0xcd, 0x42, 0x78, 0xb8, 0x04, 0x81, 0x67, 0x0b, 0xcc, 0x3f, - 0x58, 0x18, 0xa9, 0xce, 0xed, 0xcc, 0xe8, 0x05, 0x13, 0x78, 0xd6, 0x0f, 0x78, 0xf8, 0xa9, 0x85, - 0x0e, 0x67, 0xd4, 0x63, 0x70, 0x11, 0x4a, 0x43, 0x15, 0x9e, 0xea, 0x85, 0x1d, 0x5a, 0x81, 0x27, - 0xcb, 0xc2, 0x93, 0xeb, 0xf8, 0xea, 0x8e, 0xb7, 0xc1, 0x74, 0xe5, 0xcf, 0x16, 0xda, 0x9f, 0xaa, - 0xe7, 0xe0, 0x7a, 0x7e, 0xfe, 0x19, 0x2c, 0x0b, 0x55, 0xed, 0xc2, 0xf8, 0x17, 0xcc, 0xa8, 0xfa, - 0x69, 0xcd, 0xe3, 0xfc, 0xbe, 0xb0, 0xd0, 0xab, 0x99, 0x35, 0x0f, 0x7c, 0x31, 0x3f, 0x13, 0x8c, - 0xaa, 0xaf, 0x54, 0x2f, 0xed, 0xd8, 0x0e, 0x3c, 0xb9, 0x27, 0x3c, 0xf9, 0x1a, 0xbe, 0x59, 0x3c, - 0xa7, 0xac, 0x89, 0x1f, 0x1b, 0xba, 0x6b, 0x4d, 0x63, 0x3c, 0x9d, 0x67, 0xfe, 0x6e, 0xa1, 0x83, - 0x83, 0xc5, 0x13, 0x7c, 0x3e, 0x47, 0xe3, 0x65, 0x97, 0x68, 0xaa, 0x33, 0x3b, 0x31, 0x01, 0x5f, - 0xee, 0x08, 0x5f, 0x6e, 0xe0, 0xa5, 0x82, 0xbe, 0xb8, 0x72, 0xa0, 0xb5, 0x47, 0x51, 0xd8, 0x5a, - 0x13, 0x15, 0x20, 0xbb, 0x07, 0x85, 0xa0, 0xbe, 0x88, 0xaa, 0x54, 0x4d, 0x25, 0x2f, 0xaa, 0xb2, - 0x6a, 0x3e, 0x79, 0x51, 0x95, 0x59, 0x06, 0xda, 0x71, 0x54, 0xa5, 0x7f, 0x49, 0xc7, 0xff, 0xb3, - 0xd0, 0x24, 0xd4, 0x3c, 0xf2, 0x52, 0x66, 0xba, 0x22, 0x94, 0x97, 0x32, 0x07, 0x0a, 0x28, 0xe4, - 0xc7, 0x96, 0x20, 0xf8, 0x43, 0x0b, 0xff, 0x60, 0x27, 0xb2, 0x88, 0xc6, 0x76, 0x2f, 0x55, 0x5f, - 0xea, 0x1b, 0xed, 0x07, 0xed, 0x3e, 0x4f, 0xa9, 0x46, 0xd5, 0xa8, 0x6f, 0xf7, 0x54, 0x91, 0xa8, - 0x6f, 0xf7, 0xa0, 0xec, 0xd3, 0x97, 0x2a, 0x19, 0x4a, 0x3c, 0x7d, 0xfc, 0x17, 0x0b, 0x95, 0x44, - 0x15, 0x35, 0x5f, 0x3a, 0xc5, 0x05, 0xa4, 0xb2, 0x59, 0x0f, 0x21, 0x0d, 0xe1, 0xe1, 0x77, 0xf0, - 0xb7, 0x8b, 0x1f, 0x87, 0xd8, 0xee, 0xc9, 0x6f, 0x5e, 0x70, 0x44, 0x15, 0x6b, 0x0c, 0xbf, 0x84, - 0xe8, 0xed, 0x6b, 0xdd, 0xfa, 0xa9, 0x85, 0xf6, 0x1a, 0xe5, 0x04, 0x7c, 0x36, 0xff, 0xfa, 0x49, - 0xd7, 0x5f, 0xaa, 0xe7, 0x0a, 0xa2, 0x5f, 0xf0, 0x8e, 0x35, 0xff, 0xe9, 0x22, 0xf9, 0x34, 0xf9, - 0x83, 0x85, 0xf6, 0x99, 0x25, 0x14, 0x5c, 0x8c, 0x85, 0x5e, 0xff, 0x7a, 0x51, 0xf8, 0x4b, 0x7c, - 0x18, 0x28, 0xd6, 0x31, 0xfe, 0xad, 0x85, 0x50, 0x52, 0x78, 0xc0, 0x45, 0x14, 0x6c, 0x11, 0x21, - 0x31, 0x5c, 0xcb, 0x78, 0x01, 0x49, 0xae, 0xf4, 0x6e, 0xbc, 0xe8, 0x3c, 0x7d, 0x56, 0xb3, 0x3e, - 0x7f, 0x56, 0xb3, 0xfe, 0xfd, 0xac, 0x66, 0xfd, 0xf4, 0x79, 0x6d, 0xd7, 0xe7, 0xcf, 0x6b, 0xbb, - 0xbe, 0x78, 0x5e, 0xdb, 0xf5, 0xe1, 0xe5, 0x0d, 0x8f, 0x6d, 0x76, 0xd6, 0xeb, 0x8d, 0xb0, 0x95, - 0x3b, 0xee, 0xf7, 0x8c, 0x67, 0xd6, 0x6d, 0xd3, 0x78, 0x7d, 0x42, 0xfc, 0x9b, 0xcc, 0xec, 0x97, - 0x01, 0x00, 0x00, 0xff, 0xff, 0x90, 0xdc, 0xa0, 0x46, 0x27, 0x26, 0x00, 0x00, + // 2578 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x5a, 0xcd, 0x6f, 0x14, 0xc9, + 0xf9, 0xa6, 0xed, 0xb1, 0xcd, 0x14, 0x2c, 0x0b, 0x05, 0xbb, 0xbf, 0xd9, 0x59, 0x18, 0x4c, 0x2d, + 0x0b, 0x5e, 0x16, 0xa6, 0x17, 0xdb, 0x7c, 0x98, 0x05, 0x7e, 0xeb, 0x0f, 0x20, 0x04, 0x01, 0xde, + 0x76, 0x20, 0xca, 0x46, 0x89, 0xd5, 0x9e, 0x29, 0xec, 0x16, 0x3d, 0xdd, 0xb3, 0x5d, 0x35, 0x38, + 0x93, 0xd1, 0x28, 0x4a, 0x4e, 0x39, 0x45, 0xd1, 0x6e, 0x14, 0xe5, 0x12, 0x29, 0x1f, 0x97, 0x28, + 0x1f, 0xca, 0x9e, 0xa3, 0x55, 0x4e, 0x51, 0xc4, 0x71, 0xa3, 0x5c, 0xf6, 0x14, 0x45, 0x10, 0x29, + 0xca, 0x9f, 0x90, 0x5b, 0x54, 0x55, 0x6f, 0x57, 0x57, 0xcf, 0xf4, 0xb4, 0xdb, 0x70, 0xb1, 0xba, + 0xaa, 0x9f, 0xb7, 0xea, 0xa9, 0xb7, 0xde, 0xaa, 0xf7, 0xed, 0x67, 0x8c, 0x8e, 0x37, 0xdc, 0xa8, + 0xd9, 0xd8, 0x72, 0xbd, 0xc0, 0x4e, 0x9e, 0x3e, 0xee, 0xd0, 0xa8, 0x5b, 0x6f, 0x47, 0x21, 0x0f, + 0xf1, 0x61, 0xdd, 0x5d, 0xd7, 0x4f, 0xd5, 0x43, 0x6e, 0xcb, 0x0b, 0x42, 0x5b, 0xfe, 0x55, 0xb8, + 0xea, 0x91, 0xcd, 0x70, 0x33, 0x94, 0x8f, 0xb6, 0x78, 0x82, 0xde, 0xa3, 0x9b, 0x61, 0xb8, 0xe9, + 0x53, 0xdb, 0x6d, 0x7b, 0xb6, 0x1b, 0x04, 0x21, 0x77, 0xb9, 0x17, 0x06, 0x0c, 0xde, 0x9e, 0x69, + 0x84, 0xac, 0x15, 0x32, 0x7b, 0xc3, 0x65, 0x54, 0x4d, 0x6a, 0x3f, 0x39, 0xbf, 0x41, 0xb9, 0x7b, + 0xde, 0x6e, 0xbb, 0x9b, 0x5e, 0x20, 0xc1, 0x80, 0x9d, 0xce, 0x22, 0xda, 0x76, 0x23, 0xb7, 0x15, + 0x8f, 0xf6, 0x4e, 0x26, 0x22, 0x0a, 0x9b, 0x9d, 0x06, 0x5f, 0x6f, 0x52, 0xee, 0x7a, 0x7e, 0x2e, + 0x54, 0x3c, 0xad, 0x6f, 0x7b, 0x7c, 0x6b, 0xdd, 0x6b, 0xb9, 0x9b, 0x14, 0xa0, 0xb5, 0x2c, 0x68, + 0x87, 0xd1, 0x28, 0xef, 0xbd, 0x78, 0x82, 0xf7, 0x99, 0x0e, 0x6e, 0xb9, 0xbc, 0xb1, 0x05, 0x80, + 0x63, 0x59, 0x00, 0x46, 0xb9, 0xf6, 0x51, 0xf6, 0x6b, 0xc5, 0xd4, 0x8d, 0xf8, 0x76, 0x18, 0x3d, + 0x06, 0xec, 0xc9, 0x6c, 0xac, 0xef, 0xaf, 0x87, 0x8f, 0x1e, 0x69, 0xc6, 0x27, 0x32, 0x19, 0x87, + 0x9d, 0xa0, 0xe1, 0xf9, 0x79, 0xce, 0x66, 0x34, 0x7a, 0xa2, 0x07, 0x79, 0x2b, 0x0b, 0x41, 0x03, + 0x31, 0x0c, 0xd7, 0xa0, 0x7a, 0x2e, 0x28, 0xcb, 0xd7, 0x46, 0x3c, 0xc4, 0x91, 0xd0, 0x08, 0xbd, + 0x38, 0x06, 0x66, 0xb2, 0xc6, 0x7b, 0x12, 0x72, 0x2f, 0xd8, 0x5c, 0x8f, 0x28, 0xeb, 0xf8, 0x3c, + 0xde, 0xe0, 0x53, 0x23, 0x37, 0xb8, 0x11, 0x06, 0x9c, 0x06, 0xe0, 0x5d, 0x72, 0x04, 0xe1, 0x0f, + 0x45, 0xdc, 0xad, 0xca, 0x40, 0x72, 0xe8, 0xc7, 0x1d, 0xca, 0x38, 0x79, 0x80, 0x0e, 0xa7, 0x7a, + 0x59, 0x3b, 0x0c, 0x18, 0xc5, 0xd7, 0xd1, 0xa4, 0x0a, 0xb8, 0x8a, 0x35, 0x6d, 0xcd, 0xec, 0x9b, + 0x7d, 0xb3, 0x9e, 0x71, 0x36, 0xea, 0xca, 0x68, 0xa9, 0xfc, 0xf4, 0x1f, 0xc7, 0xf7, 0xfc, 0xe6, + 0xdf, 0x9f, 0x9d, 0xb1, 0x1c, 0xb0, 0x22, 0x36, 0x3a, 0x26, 0x87, 0xbd, 0x45, 0xf9, 0xaa, 0x0a, + 0xcb, 0x15, 0x15, 0x95, 0x30, 0x2f, 0x3e, 0x80, 0xc6, 0xbc, 0xa6, 0x1c, 0xbc, 0xe4, 0x8c, 0x79, + 0x4d, 0xc2, 0x50, 0x6d, 0x94, 0x01, 0x50, 0xfa, 0x10, 0x1d, 0x48, 0xbf, 0x01, 0x6a, 0x6f, 0x65, + 0x53, 0x4b, 0x41, 0x97, 0x4a, 0x82, 0xa2, 0x33, 0x30, 0x00, 0xd9, 0x04, 0x96, 0x8b, 0xbe, 0x9f, + 0xcd, 0xf2, 0x26, 0x42, 0xc9, 0xe9, 0x84, 0xf9, 0x4e, 0xd5, 0xd5, 0xd6, 0xd5, 0xc5, 0xd6, 0xd5, + 0xd5, 0xfd, 0x01, 0x1b, 0x58, 0x5f, 0x75, 0x37, 0x29, 0xd8, 0x3a, 0x86, 0x25, 0xf9, 0xdc, 0x82, + 0xe5, 0x65, 0xcc, 0x94, 0xb3, 0xbc, 0xf1, 0x97, 0x5a, 0x1e, 0xbe, 0x95, 0x62, 0x3f, 0x26, 0xd9, + 0x9f, 0xde, 0x91, 0xbd, 0xe2, 0x93, 0xa2, 0x7f, 0x06, 0x1d, 0x94, 0xec, 0x97, 0xdd, 0xa8, 0x19, + 0xbb, 0xe6, 0x75, 0x34, 0x29, 0xe8, 0xdc, 0x8e, 0x37, 0x11, 0x5a, 0xe4, 0x0e, 0x3a, 0x64, 0x60, + 0x61, 0x71, 0x17, 0x51, 0x49, 0xbc, 0x06, 0x0f, 0x92, 0xcc, 0x25, 0x09, 0x83, 0xaf, 0x7b, 0x7c, + 0xeb, 0xb6, 0x38, 0x25, 0x8e, 0xc4, 0x93, 0xb3, 0x30, 0xf1, 0x03, 0x46, 0xa3, 0x78, 0xe2, 0x0a, + 0x9a, 0x72, 0x9b, 0xcd, 0x88, 0x32, 0x15, 0x00, 0x65, 0x27, 0x6e, 0x92, 0x25, 0x98, 0x5a, 0xa1, + 0x61, 0xea, 0x73, 0xa8, 0x24, 0xae, 0x30, 0x98, 0xfa, 0x8d, 0xcc, 0xa9, 0xa5, 0x81, 0x84, 0x91, + 0x5f, 0x94, 0x0c, 0xfe, 0x3a, 0x0e, 0x8e, 0xa0, 0x89, 0x70, 0x3b, 0x80, 0x51, 0xca, 0x8e, 0x6a, + 0xe0, 0x4b, 0x68, 0x92, 0x71, 0x97, 0x77, 0x58, 0x65, 0x6c, 0x7a, 0x7c, 0xe6, 0xc0, 0xec, 0xf1, + 0x91, 0xeb, 0x5a, 0x93, 0x30, 0x07, 0xe0, 0x78, 0x01, 0xed, 0x15, 0xef, 0xbf, 0xd6, 0x6d, 0xd3, + 0xca, 0xb8, 0x34, 0x3d, 0x36, 0xd2, 0x54, 0x80, 0x1c, 0x0d, 0xc7, 0xf3, 0x68, 0xa2, 0xe1, 0xbb, + 0x8c, 0x55, 0x4a, 0xd2, 0xae, 0x36, 0xd2, 0x6e, 0x59, 0xa0, 0x1c, 0x05, 0x16, 0x9b, 0xc5, 0xc2, + 0x88, 0x2f, 0x75, 0x2b, 0x13, 0x72, 0x01, 0xd0, 0xc2, 0x04, 0xed, 0x0f, 0xdc, 0x16, 0x5d, 0x0e, + 0x03, 0xee, 0x7a, 0x01, 0xab, 0x4c, 0xca, 0xb7, 0xa9, 0x3e, 0x7c, 0x06, 0x1d, 0x7c, 0x4c, 0xbb, + 0xdb, 0x61, 0xd4, 0x64, 0x1a, 0x37, 0x25, 0x71, 0x43, 0xfd, 0xf8, 0x24, 0x7a, 0x25, 0x08, 0x39, + 0x4d, 0x80, 0x7b, 0x25, 0x30, 0xdd, 0x89, 0x67, 0xd0, 0xab, 0x61, 0xe0, 0x77, 0xd7, 0xb8, 0x1b, + 0x71, 0x1a, 0x09, 0xb2, 0x95, 0xf2, 0xb4, 0x35, 0xb3, 0xd7, 0x19, 0xec, 0xc6, 0x75, 0x84, 0x45, + 0xd7, 0x92, 0xeb, 0xbb, 0x41, 0x83, 0x2e, 0x06, 0x8d, 0xad, 0x30, 0x62, 0x15, 0x24, 0xc1, 0x19, + 0x6f, 0xf0, 0xfb, 0x68, 0x6f, 0xe4, 0x46, 0x1e, 0xf7, 0x28, 0xab, 0xec, 0xdb, 0x61, 0x4f, 0x1c, + 0x01, 0xec, 0x3a, 0xda, 0x00, 0x9f, 0x42, 0x07, 0x5a, 0x1d, 0x9f, 0x7b, 0xd2, 0x73, 0xf7, 0x03, + 0xbf, 0x5b, 0xd9, 0x2f, 0x27, 0x1a, 0xe8, 0x25, 0x75, 0xb8, 0x48, 0x21, 0x42, 0x20, 0xce, 0x2a, + 0x68, 0x4a, 0x9d, 0x00, 0x75, 0x70, 0x4b, 0x4e, 0xdc, 0x24, 0xe7, 0x20, 0xa2, 0xee, 0x8a, 0x4c, + 0x68, 0x44, 0xb1, 0xcc, 0x8c, 0xfa, 0xfc, 0xc4, 0x4d, 0x72, 0x13, 0x86, 0x07, 0x38, 0x0c, 0xff, + 0x1e, 0x9a, 0x90, 0x00, 0x88, 0xe3, 0x6a, 0xe6, 0xb2, 0x94, 0x89, 0x02, 0x92, 0xd3, 0xe8, 0x55, + 0x39, 0xce, 0x1a, 0xe5, 0x46, 0x18, 0x33, 0xca, 0xf5, 0x94, 0xaa, 0x41, 0x6e, 0xc3, 0x21, 0x93, + 0x40, 0x98, 0xee, 0x02, 0x1a, 0x67, 0x94, 0xe7, 0xde, 0xb0, 0x6b, 0x94, 0x8b, 0xe3, 0xba, 0xa8, + 0xd2, 0xb2, 0x23, 0xf0, 0x64, 0x01, 0xbd, 0x06, 0x43, 0xf9, 0xfe, 0x7d, 0x91, 0x87, 0xe3, 0x99, + 0xa7, 0xd1, 0x3e, 0x16, 0xf7, 0xe9, 0xf9, 0xcd, 0x2e, 0xf2, 0x10, 0xbd, 0x3e, 0x68, 0x0a, 0x5c, + 0xae, 0xa2, 0xb2, 0x06, 0x02, 0xa3, 0xda, 0x08, 0x46, 0xb1, 0x69, 0x62, 0x40, 0xe6, 0x20, 0xc1, + 0x2d, 0xab, 0xac, 0x1f, 0x13, 0x3a, 0x8a, 0xca, 0x50, 0x07, 0x68, 0x3a, 0x49, 0x07, 0xb9, 0x87, + 0x8e, 0xa4, 0x8d, 0xf4, 0x3d, 0x36, 0x05, 0x20, 0x20, 0x72, 0x34, 0x3b, 0xbc, 0xc0, 0x2c, 0x06, + 0x93, 0xf7, 0x60, 0x4f, 0xd7, 0x64, 0x5d, 0x11, 0x73, 0xa8, 0xa2, 0xbd, 0xaa, 0xd0, 0xd0, 0x14, + 0x74, 0x9b, 0x7c, 0x15, 0x68, 0xc7, 0x16, 0x40, 0x60, 0x0e, 0x4d, 0x2a, 0x48, 0x6e, 0x5e, 0x06, + 0x23, 0x80, 0xea, 0x5d, 0xb9, 0x11, 0x97, 0x23, 0xc6, 0xae, 0xe8, 0x12, 0x25, 0xd9, 0x15, 0xa3, + 0x4b, 0xef, 0x8a, 0x61, 0x9a, 0xec, 0x8a, 0x06, 0xe6, 0xee, 0x4a, 0x62, 0x9a, 0x18, 0x90, 0xca, + 0xe0, 0xb8, 0xba, 0x20, 0xf9, 0x06, 0xfa, 0xbf, 0xa1, 0x37, 0xba, 0x28, 0x41, 0x7a, 0x84, 0x38, + 0x3d, 0xee, 0x34, 0xa7, 0x61, 0x41, 0x96, 0x20, 0x09, 0xeb, 0xb7, 0x49, 0xba, 0x29, 0xec, 0x90, + 0x2d, 0x74, 0x7c, 0xe4, 0x18, 0x40, 0xf3, 0xc6, 0xb0, 0x67, 0x4e, 0xe7, 0xb3, 0x4c, 0xc6, 0x30, + 0x5c, 0x74, 0x62, 0x70, 0x26, 0x36, 0x48, 0x97, 0x3c, 0x46, 0xd3, 0xa3, 0x21, 0xc0, 0xe6, 0x56, + 0x86, 0xd3, 0x0a, 0xd3, 0x31, 0xbd, 0xf7, 0x26, 0x7a, 0x43, 0x5f, 0x7b, 0xd2, 0xe0, 0x76, 0xf0, + 0x28, 0x8c, 0x99, 0xfc, 0x6d, 0x0c, 0x55, 0xb3, 0xde, 0x02, 0x89, 0x3b, 0xe8, 0xa0, 0x98, 0x67, + 0xb1, 0xd3, 0x10, 0xf5, 0xc4, 0x6a, 0xe4, 0x35, 0x68, 0x92, 0x90, 0x8d, 0x7a, 0x24, 0xae, 0x44, + 0x96, 0x43, 0x2f, 0x80, 0xa2, 0x66, 0xc8, 0x10, 0xd7, 0x10, 0x72, 0x1b, 0xdc, 0x7b, 0x42, 0xd7, + 0x28, 0x57, 0xa9, 0xb7, 0xe4, 0x18, 0x3d, 0x62, 0x13, 0x85, 0x0d, 0xbb, 0xd7, 0x69, 0x6d, 0xd0, + 0xa8, 0x32, 0xae, 0x36, 0xd1, 0xe8, 0x12, 0x69, 0x4a, 0xde, 0x91, 0x34, 0xc6, 0x94, 0x24, 0x26, + 0xdd, 0x29, 0x12, 0x9f, 0xbe, 0x46, 0x62, 0xe0, 0x84, 0x04, 0x0e, 0xf5, 0x8b, 0xdc, 0x01, 0x67, + 0x3d, 0x46, 0x4e, 0x4a, 0xe4, 0x40, 0xaf, 0x18, 0xd3, 0x77, 0x19, 0x17, 0x5e, 0xba, 0x1b, 0x36, + 0xbd, 0x47, 0x1e, 0x6d, 0xca, 0x64, 0x5a, 0x72, 0x86, 0xfa, 0xc9, 0x02, 0x3a, 0xa1, 0xef, 0x65, + 0x99, 0xab, 0x56, 0x3c, 0xc6, 0x23, 0x6f, 0xa3, 0x23, 0x5c, 0x91, 0x7f, 0xa5, 0x3f, 0x44, 0x24, + 0xcf, 0xd4, 0x48, 0x59, 0x9d, 0x28, 0xa2, 0x01, 0xd7, 0x29, 0x4b, 0x35, 0x45, 0xbd, 0xb0, 0xed, + 0x06, 0x9c, 0x36, 0xc1, 0xbd, 0xd0, 0x22, 0x97, 0xd1, 0x51, 0x55, 0xc6, 0x36, 0x64, 0x58, 0xdc, + 0x8c, 0xc2, 0xd6, 0x47, 0xd4, 0xf5, 0xbb, 0x46, 0x56, 0xfb, 0xae, 0x68, 0x03, 0x9f, 0xb2, 0x13, + 0x37, 0xc9, 0x42, 0x5c, 0x6a, 0x0f, 0x59, 0x26, 0x64, 0x46, 0x94, 0x75, 0x71, 0xe0, 0x3d, 0x94, + 0x5f, 0x3f, 0x8e, 0xfa, 0xf8, 0x89, 0x03, 0x2f, 0x80, 0xb8, 0x1b, 0x78, 0x09, 0x83, 0xae, 0xa2, + 0x43, 0xc2, 0xad, 0xa9, 0x97, 0xb9, 0x45, 0x68, 0x7a, 0x98, 0x61, 0x63, 0xf2, 0x5f, 0x0b, 0x2e, + 0xe6, 0xbb, 0x2a, 0x56, 0xe2, 0x95, 0x9f, 0x44, 0xaf, 0x70, 0xaf, 0x45, 0x19, 0x77, 0x5b, 0xed, + 0x95, 0x70, 0x3b, 0x80, 0xfd, 0x48, 0x77, 0x8a, 0xd0, 0xd4, 0x1d, 0x0f, 0xda, 0xb2, 0x24, 0x2f, + 0x39, 0x66, 0x97, 0x18, 0xa7, 0x01, 0x75, 0x92, 0xa8, 0x4a, 0x99, 0xac, 0x0f, 0xcb, 0x4e, 0xba, + 0x53, 0x64, 0x8e, 0x88, 0xb6, 0x43, 0x51, 0x27, 0xc9, 0xd8, 0x2d, 0x3b, 0xba, 0x2d, 0x72, 0x54, + 0xd8, 0xe1, 0x8d, 0xb0, 0x45, 0x65, 0xb4, 0x1e, 0x18, 0x91, 0xa3, 0xee, 0x2b, 0x8c, 0x13, 0x83, + 0xf5, 0xb1, 0x59, 0xf5, 0xdd, 0x2e, 0x6d, 0x56, 0x26, 0xe5, 0xc6, 0x9b, 0x5d, 0x64, 0x0b, 0xb2, + 0xa2, 0x5e, 0x3a, 0x78, 0x79, 0x1e, 0x6a, 0x19, 0x1a, 0xdf, 0x2f, 0x79, 0xd5, 0x49, 0x0c, 0x15, + 0x6b, 0x80, 0x92, 0x27, 0x3e, 0xc4, 0xba, 0x4d, 0x7e, 0x6b, 0x25, 0x35, 0x89, 0x76, 0xf1, 0x45, + 0x5d, 0x6e, 0x5b, 0x72, 0x5d, 0xa3, 0x8a, 0x00, 0x3e, 0x50, 0x6d, 0x13, 0xb4, 0x5f, 0x78, 0x4f, + 0x86, 0xbf, 0x28, 0x1f, 0xc7, 0xa4, 0x47, 0x53, 0x7d, 0xa6, 0xdb, 0x65, 0x59, 0x27, 0xdd, 0x5e, + 0x72, 0xd2, 0x9d, 0xc9, 0x67, 0x40, 0xc9, 0xf8, 0x0c, 0x20, 0xef, 0x42, 0x7d, 0xa7, 0xb8, 0x82, + 0x4f, 0x44, 0xc5, 0x2d, 0x8e, 0x62, 0x5c, 0x0d, 0x42, 0x8b, 0x9c, 0x87, 0xf4, 0x26, 0x4b, 0x74, + 0xf5, 0x7d, 0xbe, 0xd3, 0x17, 0xd5, 0xb7, 0x51, 0x65, 0xd8, 0x04, 0xa6, 0x59, 0x52, 0x9b, 0x06, + 0xdd, 0x10, 0xda, 0xd3, 0xa3, 0x3f, 0x0a, 0xc0, 0xdc, 0x34, 0x22, 0xf3, 0xc3, 0xe3, 0x33, 0xe3, + 0x40, 0x8f, 0xa8, 0x6a, 0x5d, 0x23, 0x1d, 0x24, 0x56, 0x40, 0x6b, 0x05, 0xed, 0x37, 0x66, 0x88, + 0xc3, 0x62, 0x67, 0x5e, 0x29, 0x2b, 0xf2, 0xc9, 0xd8, 0x60, 0x4d, 0xa8, 0x79, 0x5d, 0x43, 0xe5, + 0xb6, 0x48, 0x06, 0xfa, 0xa8, 0x15, 0xc8, 0x24, 0x89, 0x05, 0x5e, 0x40, 0x53, 0xb2, 0x01, 0x67, + 0xb0, 0x80, 0x71, 0x8c, 0x57, 0x1b, 0xeb, 0xfb, 0x90, 0x58, 0xc4, 0xa7, 0x94, 0x6c, 0x89, 0xd8, + 0xd8, 0xe8, 0x74, 0x93, 0xd8, 0x90, 0x0d, 0x8c, 0xe1, 0xc3, 0x57, 0xe5, 0x0d, 0xf9, 0x8c, 0xaf, + 0xea, 0x38, 0x9e, 0x94, 0x71, 0x7c, 0x32, 0xbf, 0x98, 0x4d, 0x47, 0x33, 0xe9, 0x43, 0x00, 0x99, + 0x3e, 0x49, 0xea, 0xa3, 0x24, 0x31, 0xe5, 0xd6, 0x47, 0x49, 0xa5, 0x6c, 0x58, 0x88, 0x83, 0x62, + 0x54, 0xe4, 0xf1, 0xa9, 0x4c, 0xf5, 0xcd, 0xfe, 0xf2, 0x04, 0x9a, 0x90, 0xf3, 0xe3, 0x4f, 0x2c, + 0x34, 0xa9, 0x04, 0x20, 0x9c, 0x5d, 0x4f, 0x0c, 0xab, 0x4d, 0xd5, 0x99, 0x9d, 0x81, 0x6a, 0x2d, + 0xe4, 0xc2, 0x0f, 0xfe, 0xfe, 0xaf, 0x4f, 0xc7, 0x6c, 0x7c, 0xce, 0x5e, 0xa1, 0x0d, 0x1a, 0xf0, + 0xc8, 0xf5, 0x45, 0xa0, 0xdc, 0x72, 0x5b, 0xd4, 0x1e, 0x2d, 0x8f, 0xe2, 0x3f, 0x5b, 0x83, 0x32, + 0x0a, 0x9e, 0x1d, 0x3d, 0xe7, 0x28, 0x75, 0xaa, 0x3a, 0xb7, 0x2b, 0x1b, 0xa0, 0xbc, 0x2c, 0x29, + 0x5f, 0xc3, 0xef, 0x17, 0xa5, 0x9c, 0xd6, 0x6b, 0xed, 0x9e, 0xd7, 0xec, 0xe3, 0xcf, 0x2d, 0x74, + 0x28, 0x3d, 0xfe, 0xa2, 0xef, 0xe7, 0xad, 0x61, 0x94, 0x76, 0x95, 0xb7, 0x86, 0x91, 0x2a, 0x14, + 0xb9, 0x2e, 0xd7, 0x70, 0x19, 0x5f, 0x7c, 0xb1, 0x35, 0xe0, 0x4f, 0x2d, 0x54, 0x92, 0x5f, 0xee, + 0x6f, 0x8f, 0x9e, 0xdd, 0x50, 0x91, 0xaa, 0xa7, 0x76, 0x82, 0x01, 0xaf, 0xab, 0x92, 0xd7, 0x45, + 0x3c, 0x5f, 0x90, 0x97, 0x78, 0xb2, 0x7b, 0xea, 0xae, 0xea, 0xe3, 0x9f, 0x58, 0xa8, 0x24, 0x12, + 0x67, 0x1e, 0x2b, 0x43, 0x62, 0xca, 0x63, 0x65, 0x6a, 0x4b, 0xe4, 0x9a, 0x64, 0x75, 0x09, 0x5f, + 0x28, 0xc8, 0xaa, 0xc3, 0x68, 0x64, 0xf7, 0xa0, 0xae, 0xe9, 0xe3, 0x9f, 0x5a, 0x68, 0x42, 0x25, + 0x96, 0x1d, 0xdc, 0xa0, 0xf7, 0xf4, 0xf4, 0x8e, 0xb8, 0x97, 0xf0, 0x17, 0xb3, 0x7b, 0x32, 0xa1, + 0xf5, 0xf1, 0xcf, 0x2c, 0x34, 0x21, 0xb3, 0x75, 0x1e, 0x31, 0x53, 0xce, 0xc8, 0x23, 0x96, 0xd2, + 0x31, 0x76, 0x1d, 0x60, 0xb2, 0x24, 0xb0, 0x7b, 0x50, 0x19, 0xf4, 0xf1, 0x8f, 0x2c, 0x34, 0xbe, + 0x46, 0x39, 0x3e, 0x39, 0x7a, 0xc2, 0x44, 0xf0, 0xa8, 0xbe, 0xbd, 0x03, 0x0a, 0x48, 0x5d, 0x91, + 0xa4, 0xe6, 0xf1, 0x6c, 0x41, 0x52, 0x8c, 0x72, 0xbb, 0x27, 0x13, 0x7a, 0x1f, 0xff, 0xc1, 0x42, + 0x65, 0x7d, 0x9d, 0xe2, 0x33, 0x79, 0x13, 0xa6, 0x35, 0x91, 0xea, 0xbb, 0x85, 0xb0, 0x40, 0xf1, + 0x96, 0xa4, 0xb8, 0x88, 0xff, 0xbf, 0x30, 0xc5, 0xf8, 0xa7, 0x10, 0xc1, 0x54, 0x5f, 0xe0, 0x7d, + 0xfc, 0x2b, 0x0b, 0x4d, 0x81, 0x3e, 0x81, 0x73, 0xae, 0xe3, 0xb4, 0x5c, 0x52, 0x7d, 0xa7, 0x00, + 0x12, 0x98, 0x2e, 0x49, 0xa6, 0x57, 0xf1, 0x95, 0xa2, 0xa1, 0xa7, 0xec, 0xed, 0x9e, 0x96, 0x5f, + 0xfa, 0xf8, 0xe7, 0x16, 0x9a, 0x54, 0x22, 0x46, 0x5e, 0x6e, 0x49, 0xa9, 0x29, 0x79, 0xb9, 0x25, + 0x2d, 0xa2, 0x90, 0x0f, 0x24, 0xc3, 0x2b, 0xf8, 0x72, 0x61, 0x5f, 0x0a, 0x73, 0xe1, 0x47, 0x25, + 0xce, 0xf4, 0xf1, 0xef, 0x2d, 0x54, 0xd6, 0x9f, 0xcb, 0x79, 0x9b, 0x3e, 0x28, 0xb9, 0xe4, 0x6d, + 0xfa, 0x90, 0xc6, 0x42, 0x6e, 0x4a, 0xa2, 0x1f, 0xe0, 0xeb, 0x05, 0x89, 0xea, 0xaf, 0x75, 0xbb, + 0x67, 0x68, 0x16, 0x72, 0xcf, 0x51, 0xa2, 0x11, 0xe0, 0x22, 0x1c, 0xf4, 0x95, 0x73, 0xb6, 0x18, + 0x18, 0x18, 0x2f, 0x48, 0xc6, 0x73, 0xf8, 0xfc, 0x6e, 0x19, 0x33, 0xfc, 0x17, 0x0b, 0xe1, 0x61, + 0x09, 0x02, 0xcf, 0x15, 0x98, 0x7f, 0x50, 0x18, 0xa9, 0xce, 0xef, 0xce, 0xe8, 0x05, 0x13, 0x78, + 0xd6, 0xcf, 0x7b, 0xf8, 0xa9, 0x85, 0x0e, 0x67, 0xe8, 0x31, 0xb8, 0x08, 0xa5, 0x21, 0x85, 0xa7, + 0x7a, 0x61, 0x97, 0x56, 0xb0, 0x92, 0x15, 0xb9, 0x92, 0xeb, 0xf8, 0xea, 0xae, 0xb7, 0xc1, 0x5c, + 0xca, 0x1f, 0x2d, 0xf4, 0x4a, 0x4a, 0xcf, 0xc1, 0xf5, 0xfc, 0xfc, 0x33, 0x28, 0x0b, 0x55, 0xed, + 0xc2, 0xf8, 0x17, 0xcc, 0xa8, 0xfa, 0x69, 0xdd, 0x13, 0xfc, 0xbe, 0xb4, 0xd0, 0x6b, 0x99, 0x9a, + 0x07, 0xbe, 0x98, 0x9f, 0x09, 0x46, 0xe9, 0x2b, 0xd5, 0x4b, 0xbb, 0xb6, 0x83, 0x95, 0xdc, 0x93, + 0x2b, 0xf9, 0x0a, 0xbe, 0x59, 0x3c, 0xa7, 0xac, 0xcb, 0x9f, 0x22, 0xba, 0xeb, 0x4d, 0x63, 0x3c, + 0x9d, 0x67, 0xfe, 0x6a, 0xa1, 0x83, 0x83, 0xe2, 0x09, 0x3e, 0x9f, 0x53, 0xe3, 0x65, 0x4b, 0x34, + 0xd5, 0xd9, 0xdd, 0x98, 0xc0, 0x5a, 0xee, 0xc8, 0xb5, 0xdc, 0xc0, 0xcb, 0x05, 0xd7, 0xe2, 0xaa, + 0x81, 0xd6, 0x1f, 0x45, 0x61, 0x6b, 0x5d, 0x2a, 0x40, 0x76, 0x0f, 0x84, 0xa0, 0xbe, 0x8c, 0xaa, + 0x94, 0xa6, 0x92, 0x17, 0x55, 0x59, 0x9a, 0x4f, 0x5e, 0x54, 0x65, 0xca, 0x40, 0xbb, 0x8e, 0xaa, + 0xf4, 0xef, 0xec, 0xf8, 0x3f, 0x16, 0x9a, 0x02, 0xcd, 0x23, 0x2f, 0x65, 0xa6, 0x15, 0xa1, 0xbc, + 0x94, 0x39, 0x20, 0xa0, 0x90, 0x1f, 0x5a, 0x92, 0xe0, 0xf7, 0x2d, 0xfc, 0xbd, 0xdd, 0x94, 0x45, + 0x94, 0xd9, 0xbd, 0x94, 0xbe, 0xd4, 0x37, 0xda, 0x0f, 0xda, 0x7d, 0x91, 0x52, 0x0d, 0xd5, 0xa8, + 0x6f, 0xf7, 0x62, 0x91, 0xa8, 0x6f, 0xf7, 0x40, 0xf6, 0xe9, 0xab, 0x2a, 0x19, 0x24, 0x9e, 0x3e, + 0xfe, 0x93, 0x85, 0x4a, 0x52, 0x45, 0xcd, 0x2f, 0x9d, 0x58, 0x81, 0x52, 0xd9, 0xd4, 0x43, 0x48, + 0x43, 0xae, 0xf0, 0x5b, 0xf8, 0x9b, 0xc5, 0x8f, 0x03, 0xb3, 0x7b, 0xea, 0x9b, 0x17, 0x16, 0x12, + 0x8b, 0x35, 0xc6, 0xba, 0x64, 0xd1, 0xdb, 0xd7, 0x75, 0xeb, 0x67, 0x16, 0xda, 0x67, 0xc8, 0x09, + 0xf8, 0x6c, 0xfe, 0xf5, 0x93, 0xd6, 0x5f, 0xaa, 0xe7, 0x0a, 0xa2, 0x5f, 0xf0, 0x8e, 0x35, 0xff, + 0x25, 0x23, 0xf9, 0x34, 0xf9, 0x9d, 0x85, 0xf6, 0x9b, 0x12, 0x0a, 0x2e, 0xc6, 0x42, 0xfb, 0xbf, + 0x5e, 0x14, 0xfe, 0x12, 0x1f, 0x06, 0x31, 0x6b, 0x86, 0x7f, 0x6d, 0x21, 0x94, 0x08, 0x0f, 0xb8, + 0x48, 0x05, 0x5b, 0xa4, 0x90, 0x18, 0xd6, 0x32, 0x5e, 0xa0, 0x24, 0x8f, 0xeb, 0x5d, 0xb6, 0xe4, + 0x3c, 0x7d, 0x56, 0xb3, 0xbe, 0x78, 0x56, 0xb3, 0xfe, 0xf9, 0xac, 0x66, 0xfd, 0xf8, 0x79, 0x6d, + 0xcf, 0x17, 0xcf, 0x6b, 0x7b, 0xbe, 0x7c, 0x5e, 0xdb, 0xf3, 0xd1, 0xe5, 0x4d, 0x8f, 0x6f, 0x75, + 0x36, 0xea, 0x8d, 0xb0, 0x95, 0x3b, 0xee, 0x77, 0x8c, 0x67, 0xde, 0x6d, 0x53, 0xb6, 0x31, 0x29, + 0xff, 0x89, 0x66, 0xee, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x64, 0xff, 0x70, 0x6d, 0x45, 0x26, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -4185,9 +4194,9 @@ func (m *QuerySetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.Match != nil { + if m.Set != nil { { - size, err := m.Match.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Set.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -4532,6 +4541,11 @@ func (m *QueryEncounterWithImageRequest) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l + if m.EncounterId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.EncounterId)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } @@ -4749,12 +4763,10 @@ func (m *QuerySetRarityDistributionRequest) MarshalToSizedBuffer(dAtA []byte) (i _ = i var l int _ = l - if len(m.SetId) > 0 { - i -= len(m.SetId) - copy(dAtA[i:], m.SetId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.SetId))) + if m.SetId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.SetId)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x8 } return len(dAtA) - i, nil } @@ -5691,8 +5703,8 @@ func (m *QuerySetResponse) Size() (n int) { } var l int _ = l - if m.Match != nil { - l = m.Match.Size() + if m.Set != nil { + l = m.Set.Size() n += 1 + l + sovQuery(uint64(l)) } return n @@ -5828,6 +5840,9 @@ func (m *QueryEncounterWithImageRequest) Size() (n int) { } var l int _ = l + if m.EncounterId != 0 { + n += 1 + sovQuery(uint64(m.EncounterId)) + } return n } @@ -5916,9 +5931,8 @@ func (m *QuerySetRarityDistributionRequest) Size() (n int) { } var l int _ = l - l = len(m.SetId) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if m.SetId != 0 { + n += 1 + sovQuery(uint64(m.SetId)) } return n } @@ -7948,7 +7962,7 @@ func (m *QuerySetResponse) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Match", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Set", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7975,10 +7989,10 @@ func (m *QuerySetResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Match == nil { - m.Match = &SetWithArtwork{} + if m.Set == nil { + m.Set = &SetWithArtwork{} } - if err := m.Match.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Set.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -8786,6 +8800,25 @@ func (m *QueryEncounterWithImageRequest) Unmarshal(dAtA []byte) error { return fmt.Errorf("proto: QueryEncounterWithImageRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EncounterId", wireType) + } + m.EncounterId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.EncounterId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -9361,10 +9394,10 @@ func (m *QuerySetRarityDistributionRequest) Unmarshal(dAtA []byte) error { } switch fieldNum { case 1: - if wireType != 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 ErrIntOverflowQuery @@ -9374,24 +9407,11 @@ func (m *QuerySetRarityDistributionRequest) 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 ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SetId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 4fb678ee..76d644c9 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -663,10 +663,21 @@ func local_request_Query_Encounters_0(ctx context.Context, marshaler runtime.Mar } +var ( + filter_Query_EncounterWithImage_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + func request_Query_EncounterWithImage_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryEncounterWithImageRequest var metadata runtime.ServerMetadata + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_EncounterWithImage_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.EncounterWithImage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err @@ -676,6 +687,13 @@ func local_request_Query_EncounterWithImage_0(ctx context.Context, marshaler run var protoReq QueryEncounterWithImageRequest var metadata runtime.ServerMetadata + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_EncounterWithImage_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.EncounterWithImage(ctx, &protoReq) return msg, metadata, err @@ -733,7 +751,7 @@ func request_Query_SetRarityDistribution_0(ctx context.Context, marshaler runtim return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") } - protoReq.SetId, err = runtime.String(val) + protoReq.SetId, err = runtime.Uint64(val) if err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) @@ -760,7 +778,7 @@ func local_request_Query_SetRarityDistribution_0(ctx context.Context, marshaler return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") } - protoReq.SetId, err = runtime.String(val) + protoReq.SetId, err = runtime.Uint64(val) if err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) From 11ec505574ed71d571e1c69b4b2a326cdd3fccf7 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 17 Feb 2025 15:20:52 +0100 Subject: [PATCH 60/99] feat(#242): Removed product details, because --- api/cardchain/cardchain/genesis.pulsar.go | 276 +- .../cardchain/product_details.pulsar.go | 774 --- api/cardchain/cardchain/query.pulsar.go | 4301 ++++----------- api/cardchain/cardchain/query_grpc.pb.go | 76 - api/cardchain/cardchain/tx.pulsar.go | 4757 +++-------------- api/cardchain/cardchain/tx_grpc.pb.go | 111 - docs/static/openapi.yml | 2 +- proto/cardchain/cardchain/genesis.proto | 9 +- .../cardchain/cardchain/product_details.proto | 11 - proto/cardchain/cardchain/query.proto | 28 - proto/cardchain/cardchain/tx.proto | 34 - x/cardchain/keeper/keeper.go | 1 - .../keeper/msg_server_product_details.go | 75 - .../keeper/msg_server_product_details_test.go | 104 - x/cardchain/keeper/product_details.go | 111 - x/cardchain/keeper/product_details_test.go | 59 - x/cardchain/keeper/query_product_details.go | 53 - .../keeper/query_product_details_test.go | 115 - x/cardchain/module/autocli.go | 31 +- x/cardchain/module/genesis.go | 9 - x/cardchain/module/genesis_test.go | 12 - x/cardchain/module/simulation.go | 80 - x/cardchain/simulation/product_details.go | 131 - x/cardchain/types/codec.go | 5 - x/cardchain/types/genesis.go | 17 - x/cardchain/types/genesis.pb.go | 125 +- x/cardchain/types/genesis_test.go | 38 +- x/cardchain/types/messages_product_details.go | 61 - .../types/messages_product_details_test.go | 102 - x/cardchain/types/product_details.pb.go | 457 -- x/cardchain/types/query.pb.go | 1505 ++---- x/cardchain/types/query.pb.gw.go | 184 - x/cardchain/types/tx.pb.go | 1647 +----- 33 files changed, 2481 insertions(+), 12820 deletions(-) delete mode 100644 api/cardchain/cardchain/product_details.pulsar.go delete mode 100644 proto/cardchain/cardchain/product_details.proto delete mode 100644 x/cardchain/keeper/msg_server_product_details.go delete mode 100644 x/cardchain/keeper/msg_server_product_details_test.go delete mode 100644 x/cardchain/keeper/product_details.go delete mode 100644 x/cardchain/keeper/product_details_test.go delete mode 100644 x/cardchain/keeper/query_product_details.go delete mode 100644 x/cardchain/keeper/query_product_details_test.go delete mode 100644 x/cardchain/simulation/product_details.go delete mode 100644 x/cardchain/types/messages_product_details.go delete mode 100644 x/cardchain/types/messages_product_details_test.go delete mode 100644 x/cardchain/types/product_details.pb.go diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index c48c933d..95f741db 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -14,70 +14,15 @@ import ( sync "sync" ) -var _ protoreflect.List = (*_GenesisState_2_list)(nil) - -type _GenesisState_2_list struct { - list *[]*ProductDetails -} - -func (x *_GenesisState_2_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_GenesisState_2_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_GenesisState_2_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ProductDetails) - (*x.list)[i] = concreteValue -} - -func (x *_GenesisState_2_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ProductDetails) - *x.list = append(*x.list, concreteValue) -} - -func (x *_GenesisState_2_list) AppendMutable() protoreflect.Value { - v := new(ProductDetails) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_GenesisState_2_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_GenesisState_2_list) NewElement() protoreflect.Value { - v := new(ProductDetails) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_GenesisState_2_list) IsValid() bool { - return x.list != nil -} - var ( - md_GenesisState protoreflect.MessageDescriptor - fd_GenesisState_params protoreflect.FieldDescriptor - fd_GenesisState_productDetailsList protoreflect.FieldDescriptor - fd_GenesisState_productDetailsCount protoreflect.FieldDescriptor + md_GenesisState protoreflect.MessageDescriptor + fd_GenesisState_params protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_genesis_proto_init() md_GenesisState = File_cardchain_cardchain_genesis_proto.Messages().ByName("GenesisState") fd_GenesisState_params = md_GenesisState.Fields().ByName("params") - fd_GenesisState_productDetailsList = md_GenesisState.Fields().ByName("productDetailsList") - fd_GenesisState_productDetailsCount = md_GenesisState.Fields().ByName("productDetailsCount") } var _ protoreflect.Message = (*fastReflection_GenesisState)(nil) @@ -151,18 +96,6 @@ func (x *fastReflection_GenesisState) Range(f func(protoreflect.FieldDescriptor, return } } - if len(x.ProductDetailsList) != 0 { - value := protoreflect.ValueOfList(&_GenesisState_2_list{list: &x.ProductDetailsList}) - if !f(fd_GenesisState_productDetailsList, value) { - return - } - } - if x.ProductDetailsCount != uint64(0) { - value := protoreflect.ValueOfUint64(x.ProductDetailsCount) - if !f(fd_GenesisState_productDetailsCount, value) { - return - } - } } // Has reports whether a field is populated. @@ -180,10 +113,6 @@ func (x *fastReflection_GenesisState) Has(fd protoreflect.FieldDescriptor) bool switch fd.FullName() { case "cardchain.cardchain.GenesisState.params": return x.Params != nil - case "cardchain.cardchain.GenesisState.productDetailsList": - return len(x.ProductDetailsList) != 0 - case "cardchain.cardchain.GenesisState.productDetailsCount": - return x.ProductDetailsCount != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -202,10 +131,6 @@ func (x *fastReflection_GenesisState) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { case "cardchain.cardchain.GenesisState.params": x.Params = nil - case "cardchain.cardchain.GenesisState.productDetailsList": - x.ProductDetailsList = nil - case "cardchain.cardchain.GenesisState.productDetailsCount": - x.ProductDetailsCount = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -225,15 +150,6 @@ func (x *fastReflection_GenesisState) Get(descriptor protoreflect.FieldDescripto case "cardchain.cardchain.GenesisState.params": value := x.Params return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "cardchain.cardchain.GenesisState.productDetailsList": - if len(x.ProductDetailsList) == 0 { - return protoreflect.ValueOfList(&_GenesisState_2_list{}) - } - listValue := &_GenesisState_2_list{list: &x.ProductDetailsList} - return protoreflect.ValueOfList(listValue) - case "cardchain.cardchain.GenesisState.productDetailsCount": - value := x.ProductDetailsCount - return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -256,12 +172,6 @@ func (x *fastReflection_GenesisState) Set(fd protoreflect.FieldDescriptor, value switch fd.FullName() { case "cardchain.cardchain.GenesisState.params": x.Params = value.Message().Interface().(*Params) - case "cardchain.cardchain.GenesisState.productDetailsList": - lv := value.List() - clv := lv.(*_GenesisState_2_list) - x.ProductDetailsList = *clv.list - case "cardchain.cardchain.GenesisState.productDetailsCount": - x.ProductDetailsCount = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -287,14 +197,6 @@ func (x *fastReflection_GenesisState) Mutable(fd protoreflect.FieldDescriptor) p x.Params = new(Params) } return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) - case "cardchain.cardchain.GenesisState.productDetailsList": - if x.ProductDetailsList == nil { - x.ProductDetailsList = []*ProductDetails{} - } - value := &_GenesisState_2_list{list: &x.ProductDetailsList} - return protoreflect.ValueOfList(value) - case "cardchain.cardchain.GenesisState.productDetailsCount": - panic(fmt.Errorf("field productDetailsCount of message cardchain.cardchain.GenesisState is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -311,11 +213,6 @@ func (x *fastReflection_GenesisState) NewField(fd protoreflect.FieldDescriptor) case "cardchain.cardchain.GenesisState.params": m := new(Params) return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "cardchain.cardchain.GenesisState.productDetailsList": - list := []*ProductDetails{} - return protoreflect.ValueOfList(&_GenesisState_2_list{list: &list}) - case "cardchain.cardchain.GenesisState.productDetailsCount": - return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -389,15 +286,6 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { l = options.Size(x.Params) n += 1 + l + runtime.Sov(uint64(l)) } - if len(x.ProductDetailsList) > 0 { - for _, e := range x.ProductDetailsList { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if x.ProductDetailsCount != 0 { - n += 1 + runtime.Sov(uint64(x.ProductDetailsCount)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -427,27 +315,6 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.ProductDetailsCount != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.ProductDetailsCount)) - i-- - dAtA[i] = 0x18 - } - if len(x.ProductDetailsList) > 0 { - for iNdEx := len(x.ProductDetailsList) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.ProductDetailsList[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x12 - } - } if x.Params != nil { encoded, err := options.Marshal(x.Params) if err != nil { @@ -547,59 +414,6 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProductDetailsList", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.ProductDetailsList = append(x.ProductDetailsList, &ProductDetails{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ProductDetailsList[len(x.ProductDetailsList)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 3: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProductDetailsCount", wireType) - } - x.ProductDetailsCount = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.ProductDetailsCount |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -655,9 +469,7 @@ type GenesisState struct { unknownFields protoimpl.UnknownFields // params defines all the parameters of the module. - Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` - ProductDetailsList []*ProductDetails `protobuf:"bytes,2,rep,name=productDetailsList,proto3" json:"productDetailsList,omitempty"` - ProductDetailsCount uint64 `protobuf:"varint,3,opt,name=productDetailsCount,proto3" json:"productDetailsCount,omitempty"` + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` } func (x *GenesisState) Reset() { @@ -687,20 +499,6 @@ func (x *GenesisState) GetParams() *Params { return nil } -func (x *GenesisState) GetProductDetailsList() []*ProductDetails { - if x != nil { - return x.ProductDetailsList - } - return nil -} - -func (x *GenesisState) GetProductDetailsCount() uint64 { - if x != nil { - return x.ProductDetailsCount - } - return 0 -} - var File_cardchain_cardchain_genesis_proto protoreflect.FileDescriptor var file_cardchain_cardchain_genesis_proto_rawDesc = []byte{ @@ -712,37 +510,26 @@ var file_cardchain_cardchain_genesis_proto_rawDesc = []byte{ 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, - 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, - 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x59, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0xd4, 0x01, 0x0a, - 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, - 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, - 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x42, 0xd4, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, + 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, + 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, + 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -759,18 +546,16 @@ func file_cardchain_cardchain_genesis_proto_rawDescGZIP() []byte { var file_cardchain_cardchain_genesis_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_cardchain_cardchain_genesis_proto_goTypes = []interface{}{ - (*GenesisState)(nil), // 0: cardchain.cardchain.GenesisState - (*Params)(nil), // 1: cardchain.cardchain.Params - (*ProductDetails)(nil), // 2: cardchain.cardchain.ProductDetails + (*GenesisState)(nil), // 0: cardchain.cardchain.GenesisState + (*Params)(nil), // 1: cardchain.cardchain.Params } var file_cardchain_cardchain_genesis_proto_depIdxs = []int32{ 1, // 0: cardchain.cardchain.GenesisState.params:type_name -> cardchain.cardchain.Params - 2, // 1: cardchain.cardchain.GenesisState.productDetailsList:type_name -> cardchain.cardchain.ProductDetails - 2, // [2:2] is the sub-list for method output_type - 2, // [2:2] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name } func init() { file_cardchain_cardchain_genesis_proto_init() } @@ -779,7 +564,6 @@ func file_cardchain_cardchain_genesis_proto_init() { return } file_cardchain_cardchain_params_proto_init() - file_cardchain_cardchain_product_details_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_genesis_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenesisState); i { diff --git a/api/cardchain/cardchain/product_details.pulsar.go b/api/cardchain/cardchain/product_details.pulsar.go deleted file mode 100644 index 4217d854..00000000 --- a/api/cardchain/cardchain/product_details.pulsar.go +++ /dev/null @@ -1,774 +0,0 @@ -// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. -package cardchain - -import ( - fmt "fmt" - runtime "github.com/cosmos/cosmos-proto/runtime" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoiface "google.golang.org/protobuf/runtime/protoiface" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - io "io" - reflect "reflect" - sync "sync" -) - -var ( - md_ProductDetails protoreflect.MessageDescriptor - fd_ProductDetails_id protoreflect.FieldDescriptor - fd_ProductDetails_name protoreflect.FieldDescriptor - fd_ProductDetails_desc protoreflect.FieldDescriptor - fd_ProductDetails_creator protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_product_details_proto_init() - md_ProductDetails = File_cardchain_cardchain_product_details_proto.Messages().ByName("ProductDetails") - fd_ProductDetails_id = md_ProductDetails.Fields().ByName("id") - fd_ProductDetails_name = md_ProductDetails.Fields().ByName("name") - fd_ProductDetails_desc = md_ProductDetails.Fields().ByName("desc") - fd_ProductDetails_creator = md_ProductDetails.Fields().ByName("creator") -} - -var _ protoreflect.Message = (*fastReflection_ProductDetails)(nil) - -type fastReflection_ProductDetails ProductDetails - -func (x *ProductDetails) ProtoReflect() protoreflect.Message { - return (*fastReflection_ProductDetails)(x) -} - -func (x *ProductDetails) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_product_details_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_ProductDetails_messageType fastReflection_ProductDetails_messageType -var _ protoreflect.MessageType = fastReflection_ProductDetails_messageType{} - -type fastReflection_ProductDetails_messageType struct{} - -func (x fastReflection_ProductDetails_messageType) Zero() protoreflect.Message { - return (*fastReflection_ProductDetails)(nil) -} -func (x fastReflection_ProductDetails_messageType) New() protoreflect.Message { - return new(fastReflection_ProductDetails) -} -func (x fastReflection_ProductDetails_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ProductDetails -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_ProductDetails) Descriptor() protoreflect.MessageDescriptor { - return md_ProductDetails -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_ProductDetails) Type() protoreflect.MessageType { - return _fastReflection_ProductDetails_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_ProductDetails) New() protoreflect.Message { - return new(fastReflection_ProductDetails) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_ProductDetails) Interface() protoreflect.ProtoMessage { - return (*ProductDetails)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_ProductDetails) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != uint64(0) { - value := protoreflect.ValueOfUint64(x.Id) - if !f(fd_ProductDetails_id, value) { - return - } - } - if x.Name != "" { - value := protoreflect.ValueOfString(x.Name) - if !f(fd_ProductDetails_name, value) { - return - } - } - if x.Desc != "" { - value := protoreflect.ValueOfString(x.Desc) - if !f(fd_ProductDetails_desc, value) { - return - } - } - if x.Creator != "" { - value := protoreflect.ValueOfString(x.Creator) - if !f(fd_ProductDetails_creator, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_ProductDetails) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.ProductDetails.id": - return x.Id != uint64(0) - case "cardchain.cardchain.ProductDetails.name": - return x.Name != "" - case "cardchain.cardchain.ProductDetails.desc": - return x.Desc != "" - case "cardchain.cardchain.ProductDetails.creator": - return x.Creator != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.ProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.ProductDetails does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ProductDetails) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.ProductDetails.id": - x.Id = uint64(0) - case "cardchain.cardchain.ProductDetails.name": - x.Name = "" - case "cardchain.cardchain.ProductDetails.desc": - x.Desc = "" - case "cardchain.cardchain.ProductDetails.creator": - x.Creator = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.ProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.ProductDetails does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ProductDetails) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.ProductDetails.id": - value := x.Id - return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.ProductDetails.name": - value := x.Name - return protoreflect.ValueOfString(value) - case "cardchain.cardchain.ProductDetails.desc": - value := x.Desc - return protoreflect.ValueOfString(value) - case "cardchain.cardchain.ProductDetails.creator": - value := x.Creator - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.ProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.ProductDetails does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ProductDetails) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.ProductDetails.id": - x.Id = value.Uint() - case "cardchain.cardchain.ProductDetails.name": - x.Name = value.Interface().(string) - case "cardchain.cardchain.ProductDetails.desc": - x.Desc = value.Interface().(string) - case "cardchain.cardchain.ProductDetails.creator": - x.Creator = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.ProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.ProductDetails does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ProductDetails) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.ProductDetails.id": - panic(fmt.Errorf("field id of message cardchain.cardchain.ProductDetails is not mutable")) - case "cardchain.cardchain.ProductDetails.name": - panic(fmt.Errorf("field name of message cardchain.cardchain.ProductDetails is not mutable")) - case "cardchain.cardchain.ProductDetails.desc": - panic(fmt.Errorf("field desc of message cardchain.cardchain.ProductDetails is not mutable")) - case "cardchain.cardchain.ProductDetails.creator": - panic(fmt.Errorf("field creator of message cardchain.cardchain.ProductDetails is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.ProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.ProductDetails does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_ProductDetails) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.ProductDetails.id": - return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.ProductDetails.name": - return protoreflect.ValueOfString("") - case "cardchain.cardchain.ProductDetails.desc": - return protoreflect.ValueOfString("") - case "cardchain.cardchain.ProductDetails.creator": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.ProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.ProductDetails does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_ProductDetails) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.ProductDetails", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ProductDetails) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ProductDetails) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_ProductDetails) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_ProductDetails) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ProductDetails) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Id != 0 { - n += 1 + runtime.Sov(uint64(x.Id)) - } - l = len(x.Name) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Desc) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Creator) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ProductDetails) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Creator) > 0 { - i -= len(x.Creator) - copy(dAtA[i:], x.Creator) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) - i-- - dAtA[i] = 0x22 - } - if len(x.Desc) > 0 { - i -= len(x.Desc) - copy(dAtA[i:], x.Desc) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Desc))) - i-- - dAtA[i] = 0x1a - } - if len(x.Name) > 0 { - i -= len(x.Name) - copy(dAtA[i:], x.Name) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) - i-- - dAtA[i] = 0x12 - } - if x.Id != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) - i-- - dAtA[i] = 0x8 - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ProductDetails) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProductDetails: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - x.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Desc = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: cardchain/cardchain/product_details.proto - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type ProductDetails struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` - Creator string `protobuf:"bytes,4,opt,name=creator,proto3" json:"creator,omitempty"` -} - -func (x *ProductDetails) Reset() { - *x = ProductDetails{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_product_details_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProductDetails) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProductDetails) ProtoMessage() {} - -// Deprecated: Use ProductDetails.ProtoReflect.Descriptor instead. -func (*ProductDetails) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_product_details_proto_rawDescGZIP(), []int{0} -} - -func (x *ProductDetails) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *ProductDetails) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ProductDetails) GetDesc() string { - if x != nil { - return x.Desc - } - return "" -} - -func (x *ProductDetails) GetCreator() string { - if x != nil { - return x.Creator - } - return "" -} - -var File_cardchain_cardchain_product_details_proto protoreflect.FileDescriptor - -var file_cardchain_cardchain_product_details_proto_rawDesc = []byte{ - 0x0a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x22, 0x62, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x42, 0xdb, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x42, 0x13, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_cardchain_cardchain_product_details_proto_rawDescOnce sync.Once - file_cardchain_cardchain_product_details_proto_rawDescData = file_cardchain_cardchain_product_details_proto_rawDesc -) - -func file_cardchain_cardchain_product_details_proto_rawDescGZIP() []byte { - file_cardchain_cardchain_product_details_proto_rawDescOnce.Do(func() { - file_cardchain_cardchain_product_details_proto_rawDescData = protoimpl.X.CompressGZIP(file_cardchain_cardchain_product_details_proto_rawDescData) - }) - return file_cardchain_cardchain_product_details_proto_rawDescData -} - -var file_cardchain_cardchain_product_details_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_cardchain_cardchain_product_details_proto_goTypes = []interface{}{ - (*ProductDetails)(nil), // 0: cardchain.cardchain.ProductDetails -} -var file_cardchain_cardchain_product_details_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_cardchain_cardchain_product_details_proto_init() } -func file_cardchain_cardchain_product_details_proto_init() { - if File_cardchain_cardchain_product_details_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_cardchain_cardchain_product_details_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProductDetails); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_cardchain_cardchain_product_details_proto_rawDesc, - NumEnums: 0, - NumMessages: 1, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_cardchain_cardchain_product_details_proto_goTypes, - DependencyIndexes: file_cardchain_cardchain_product_details_proto_depIdxs, - MessageInfos: file_cardchain_cardchain_product_details_proto_msgTypes, - }.Build() - File_cardchain_cardchain_product_details_proto = out.File - file_cardchain_cardchain_product_details_proto_rawDesc = nil - file_cardchain_cardchain_product_details_proto_goTypes = nil - file_cardchain_cardchain_product_details_proto_depIdxs = nil -} diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 71b9feb0..3e358caf 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -3,8 +3,8 @@ package cardchain import ( _ "cosmossdk.io/api/amino" - v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" - v1beta11 "cosmossdk.io/api/cosmos/base/v1beta1" + _ "cosmossdk.io/api/cosmos/base/query/v1beta1" + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" @@ -809,25 +809,25 @@ func (x *fastReflection_QueryParamsResponse) ProtoMethods() *protoiface.Methods } var ( - md_QueryGetProductDetailsRequest protoreflect.MessageDescriptor - fd_QueryGetProductDetailsRequest_id protoreflect.FieldDescriptor + md_QueryCardRequest protoreflect.MessageDescriptor + fd_QueryCardRequest_cardId protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_query_proto_init() - md_QueryGetProductDetailsRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryGetProductDetailsRequest") - fd_QueryGetProductDetailsRequest_id = md_QueryGetProductDetailsRequest.Fields().ByName("id") + md_QueryCardRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardRequest") + fd_QueryCardRequest_cardId = md_QueryCardRequest.Fields().ByName("cardId") } -var _ protoreflect.Message = (*fastReflection_QueryGetProductDetailsRequest)(nil) +var _ protoreflect.Message = (*fastReflection_QueryCardRequest)(nil) -type fastReflection_QueryGetProductDetailsRequest QueryGetProductDetailsRequest +type fastReflection_QueryCardRequest QueryCardRequest -func (x *QueryGetProductDetailsRequest) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryGetProductDetailsRequest)(x) +func (x *QueryCardRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCardRequest)(x) } -func (x *QueryGetProductDetailsRequest) slowProtoReflect() protoreflect.Message { +func (x *QueryCardRequest) slowProtoReflect() protoreflect.Message { mi := &file_cardchain_cardchain_query_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -839,43 +839,43 @@ func (x *QueryGetProductDetailsRequest) slowProtoReflect() protoreflect.Message return mi.MessageOf(x) } -var _fastReflection_QueryGetProductDetailsRequest_messageType fastReflection_QueryGetProductDetailsRequest_messageType -var _ protoreflect.MessageType = fastReflection_QueryGetProductDetailsRequest_messageType{} +var _fastReflection_QueryCardRequest_messageType fastReflection_QueryCardRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryCardRequest_messageType{} -type fastReflection_QueryGetProductDetailsRequest_messageType struct{} +type fastReflection_QueryCardRequest_messageType struct{} -func (x fastReflection_QueryGetProductDetailsRequest_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryGetProductDetailsRequest)(nil) +func (x fastReflection_QueryCardRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCardRequest)(nil) } -func (x fastReflection_QueryGetProductDetailsRequest_messageType) New() protoreflect.Message { - return new(fastReflection_QueryGetProductDetailsRequest) +func (x fastReflection_QueryCardRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCardRequest) } -func (x fastReflection_QueryGetProductDetailsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryGetProductDetailsRequest +func (x fastReflection_QueryCardRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardRequest } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryGetProductDetailsRequest) Descriptor() protoreflect.MessageDescriptor { - return md_QueryGetProductDetailsRequest +func (x *fastReflection_QueryCardRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardRequest } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryGetProductDetailsRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryGetProductDetailsRequest_messageType +func (x *fastReflection_QueryCardRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryCardRequest_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryGetProductDetailsRequest) New() protoreflect.Message { - return new(fastReflection_QueryGetProductDetailsRequest) +func (x *fastReflection_QueryCardRequest) New() protoreflect.Message { + return new(fastReflection_QueryCardRequest) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryGetProductDetailsRequest) Interface() protoreflect.ProtoMessage { - return (*QueryGetProductDetailsRequest)(x) +func (x *fastReflection_QueryCardRequest) Interface() protoreflect.ProtoMessage { + return (*QueryCardRequest)(x) } // Range iterates over every populated field in an undefined order, @@ -883,10 +883,10 @@ func (x *fastReflection_QueryGetProductDetailsRequest) Interface() protoreflect. // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryGetProductDetailsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != uint64(0) { - value := protoreflect.ValueOfUint64(x.Id) - if !f(fd_QueryGetProductDetailsRequest_id, value) { +func (x *fastReflection_QueryCardRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_QueryCardRequest_cardId, value) { return } } @@ -903,15 +903,15 @@ func (x *fastReflection_QueryGetProductDetailsRequest) Range(f func(protoreflect // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryGetProductDetailsRequest) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryCardRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cardchain.cardchain.QueryGetProductDetailsRequest.id": - return x.Id != uint64(0) + case "cardchain.cardchain.QueryCardRequest.cardId": + return x.CardId != uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) } } @@ -921,15 +921,15 @@ func (x *fastReflection_QueryGetProductDetailsRequest) Has(fd protoreflect.Field // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryGetProductDetailsRequest) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryCardRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cardchain.cardchain.QueryGetProductDetailsRequest.id": - x.Id = uint64(0) + case "cardchain.cardchain.QueryCardRequest.cardId": + x.CardId = uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) } } @@ -939,16 +939,16 @@ func (x *fastReflection_QueryGetProductDetailsRequest) Clear(fd protoreflect.Fie // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryGetProductDetailsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryCardRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cardchain.cardchain.QueryGetProductDetailsRequest.id": - value := x.Id + case "cardchain.cardchain.QueryCardRequest.cardId": + value := x.CardId return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsRequest does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", descriptor.FullName())) } } @@ -962,15 +962,15 @@ func (x *fastReflection_QueryGetProductDetailsRequest) Get(descriptor protorefle // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryGetProductDetailsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryCardRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cardchain.cardchain.QueryGetProductDetailsRequest.id": - x.Id = value.Uint() + case "cardchain.cardchain.QueryCardRequest.cardId": + x.CardId = value.Uint() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) } } @@ -984,40 +984,40 @@ func (x *fastReflection_QueryGetProductDetailsRequest) Set(fd protoreflect.Field // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryGetProductDetailsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryCardRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QueryGetProductDetailsRequest.id": - panic(fmt.Errorf("field id of message cardchain.cardchain.QueryGetProductDetailsRequest is not mutable")) + case "cardchain.cardchain.QueryCardRequest.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.QueryCardRequest is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryGetProductDetailsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryCardRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QueryGetProductDetailsRequest.id": + case "cardchain.cardchain.QueryCardRequest.cardId": return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryGetProductDetailsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryCardRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryGetProductDetailsRequest", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardRequest", d.FullName())) } panic("unreachable") } @@ -1025,7 +1025,7 @@ func (x *fastReflection_QueryGetProductDetailsRequest) WhichOneof(d protoreflect // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryGetProductDetailsRequest) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryCardRequest) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -1036,7 +1036,7 @@ func (x *fastReflection_QueryGetProductDetailsRequest) GetUnknown() protoreflect // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryGetProductDetailsRequest) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryCardRequest) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -1048,7 +1048,7 @@ func (x *fastReflection_QueryGetProductDetailsRequest) SetUnknown(fields protore // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryGetProductDetailsRequest) IsValid() bool { +func (x *fastReflection_QueryCardRequest) IsValid() bool { return x != nil } @@ -1058,9 +1058,9 @@ func (x *fastReflection_QueryGetProductDetailsRequest) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryGetProductDetailsRequest) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryCardRequest) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryGetProductDetailsRequest) + x := input.Message.Interface().(*QueryCardRequest) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1072,8 +1072,8 @@ func (x *fastReflection_QueryGetProductDetailsRequest) ProtoMethods() *protoifac var n int var l int _ = l - if x.Id != 0 { - n += 1 + runtime.Sov(uint64(x.Id)) + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -1085,7 +1085,7 @@ func (x *fastReflection_QueryGetProductDetailsRequest) ProtoMethods() *protoifac } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryGetProductDetailsRequest) + x := input.Message.Interface().(*QueryCardRequest) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1104,8 +1104,8 @@ func (x *fastReflection_QueryGetProductDetailsRequest) ProtoMethods() *protoifac i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Id != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) i-- dAtA[i] = 0x8 } @@ -1120,7 +1120,7 @@ func (x *fastReflection_QueryGetProductDetailsRequest) ProtoMethods() *protoifac }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryGetProductDetailsRequest) + x := input.Message.Interface().(*QueryCardRequest) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1152,17 +1152,17 @@ func (x *fastReflection_QueryGetProductDetailsRequest) ProtoMethods() *protoifac fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetProductDetailsRequest: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetProductDetailsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) } - x.Id = 0 + x.CardId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -1172,7 +1172,7 @@ func (x *fastReflection_QueryGetProductDetailsRequest) ProtoMethods() *protoifac } b := dAtA[iNdEx] iNdEx++ - x.Id |= uint64(b&0x7F) << shift + x.CardId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1213,25 +1213,25 @@ func (x *fastReflection_QueryGetProductDetailsRequest) ProtoMethods() *protoifac } var ( - md_QueryGetProductDetailsResponse protoreflect.MessageDescriptor - fd_QueryGetProductDetailsResponse_ProductDetails protoreflect.FieldDescriptor + md_QueryCardResponse protoreflect.MessageDescriptor + fd_QueryCardResponse_card protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_query_proto_init() - md_QueryGetProductDetailsResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryGetProductDetailsResponse") - fd_QueryGetProductDetailsResponse_ProductDetails = md_QueryGetProductDetailsResponse.Fields().ByName("ProductDetails") + md_QueryCardResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardResponse") + fd_QueryCardResponse_card = md_QueryCardResponse.Fields().ByName("card") } -var _ protoreflect.Message = (*fastReflection_QueryGetProductDetailsResponse)(nil) +var _ protoreflect.Message = (*fastReflection_QueryCardResponse)(nil) -type fastReflection_QueryGetProductDetailsResponse QueryGetProductDetailsResponse +type fastReflection_QueryCardResponse QueryCardResponse -func (x *QueryGetProductDetailsResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryGetProductDetailsResponse)(x) +func (x *QueryCardResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryCardResponse)(x) } -func (x *QueryGetProductDetailsResponse) slowProtoReflect() protoreflect.Message { +func (x *QueryCardResponse) slowProtoReflect() protoreflect.Message { mi := &file_cardchain_cardchain_query_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1243,43 +1243,43 @@ func (x *QueryGetProductDetailsResponse) slowProtoReflect() protoreflect.Message return mi.MessageOf(x) } -var _fastReflection_QueryGetProductDetailsResponse_messageType fastReflection_QueryGetProductDetailsResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryGetProductDetailsResponse_messageType{} +var _fastReflection_QueryCardResponse_messageType fastReflection_QueryCardResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryCardResponse_messageType{} -type fastReflection_QueryGetProductDetailsResponse_messageType struct{} +type fastReflection_QueryCardResponse_messageType struct{} -func (x fastReflection_QueryGetProductDetailsResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryGetProductDetailsResponse)(nil) +func (x fastReflection_QueryCardResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryCardResponse)(nil) } -func (x fastReflection_QueryGetProductDetailsResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryGetProductDetailsResponse) +func (x fastReflection_QueryCardResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryCardResponse) } -func (x fastReflection_QueryGetProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryGetProductDetailsResponse +func (x fastReflection_QueryCardResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryGetProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryGetProductDetailsResponse +func (x *fastReflection_QueryCardResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryCardResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryGetProductDetailsResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryGetProductDetailsResponse_messageType +func (x *fastReflection_QueryCardResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryCardResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryGetProductDetailsResponse) New() protoreflect.Message { - return new(fastReflection_QueryGetProductDetailsResponse) +func (x *fastReflection_QueryCardResponse) New() protoreflect.Message { + return new(fastReflection_QueryCardResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryGetProductDetailsResponse) Interface() protoreflect.ProtoMessage { - return (*QueryGetProductDetailsResponse)(x) +func (x *fastReflection_QueryCardResponse) Interface() protoreflect.ProtoMessage { + return (*QueryCardResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -1287,10 +1287,10 @@ func (x *fastReflection_QueryGetProductDetailsResponse) Interface() protoreflect // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryGetProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.ProductDetails != nil { - value := protoreflect.ValueOfMessage(x.ProductDetails.ProtoReflect()) - if !f(fd_QueryGetProductDetailsResponse_ProductDetails, value) { +func (x *fastReflection_QueryCardResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Card != nil { + value := protoreflect.ValueOfMessage(x.Card.ProtoReflect()) + if !f(fd_QueryCardResponse_card, value) { return } } @@ -1307,15 +1307,15 @@ func (x *fastReflection_QueryGetProductDetailsResponse) Range(f func(protoreflec // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryGetProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryCardResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails": - return x.ProductDetails != nil + case "cardchain.cardchain.QueryCardResponse.card": + return x.Card != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) } } @@ -1325,15 +1325,15 @@ func (x *fastReflection_QueryGetProductDetailsResponse) Has(fd protoreflect.Fiel // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryGetProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryCardResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails": - x.ProductDetails = nil + case "cardchain.cardchain.QueryCardResponse.card": + x.Card = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) } } @@ -1343,16 +1343,16 @@ func (x *fastReflection_QueryGetProductDetailsResponse) Clear(fd protoreflect.Fi // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryGetProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryCardResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails": - value := x.ProductDetails + case "cardchain.cardchain.QueryCardResponse.card": + value := x.Card return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", descriptor.FullName())) } } @@ -1366,15 +1366,15 @@ func (x *fastReflection_QueryGetProductDetailsResponse) Get(descriptor protorefl // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryGetProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryCardResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails": - x.ProductDetails = value.Message().Interface().(*ProductDetails) + case "cardchain.cardchain.QueryCardResponse.card": + x.Card = value.Message().Interface().(*CardWithImage) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) } } @@ -1388,44 +1388,44 @@ func (x *fastReflection_QueryGetProductDetailsResponse) Set(fd protoreflect.Fiel // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryGetProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryCardResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails": - if x.ProductDetails == nil { - x.ProductDetails = new(ProductDetails) + case "cardchain.cardchain.QueryCardResponse.card": + if x.Card == nil { + x.Card = new(CardWithImage) } - return protoreflect.ValueOfMessage(x.ProductDetails.ProtoReflect()) + return protoreflect.ValueOfMessage(x.Card.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryGetProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryCardResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails": - m := new(ProductDetails) + case "cardchain.cardchain.QueryCardResponse.card": + m := new(CardWithImage) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryGetProductDetailsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryGetProductDetailsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryGetProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryCardResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryGetProductDetailsResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardResponse", d.FullName())) } panic("unreachable") } @@ -1433,7 +1433,7 @@ func (x *fastReflection_QueryGetProductDetailsResponse) WhichOneof(d protoreflec // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryGetProductDetailsResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryCardResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -1444,7 +1444,7 @@ func (x *fastReflection_QueryGetProductDetailsResponse) GetUnknown() protoreflec // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryGetProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryCardResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -1456,7 +1456,7 @@ func (x *fastReflection_QueryGetProductDetailsResponse) SetUnknown(fields protor // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryGetProductDetailsResponse) IsValid() bool { +func (x *fastReflection_QueryCardResponse) IsValid() bool { return x != nil } @@ -1466,9 +1466,9 @@ func (x *fastReflection_QueryGetProductDetailsResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryGetProductDetailsResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryCardResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryGetProductDetailsResponse) + x := input.Message.Interface().(*QueryCardResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1480,8 +1480,8 @@ func (x *fastReflection_QueryGetProductDetailsResponse) ProtoMethods() *protoifa var n int var l int _ = l - if x.ProductDetails != nil { - l = options.Size(x.ProductDetails) + if x.Card != nil { + l = options.Size(x.Card) n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -1494,7 +1494,7 @@ func (x *fastReflection_QueryGetProductDetailsResponse) ProtoMethods() *protoifa } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryGetProductDetailsResponse) + x := input.Message.Interface().(*QueryCardResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1513,8 +1513,8 @@ func (x *fastReflection_QueryGetProductDetailsResponse) ProtoMethods() *protoifa i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.ProductDetails != nil { - encoded, err := options.Marshal(x.ProductDetails) + if x.Card != nil { + encoded, err := options.Marshal(x.Card) if err != nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1538,7 +1538,7 @@ func (x *fastReflection_QueryGetProductDetailsResponse) ProtoMethods() *protoifa }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryGetProductDetailsResponse) + x := input.Message.Interface().(*QueryCardResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1570,15 +1570,15 @@ func (x *fastReflection_QueryGetProductDetailsResponse) ProtoMethods() *protoifa fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetProductDetailsResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryGetProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProductDetails", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1605,10 +1605,10 @@ func (x *fastReflection_QueryGetProductDetailsResponse) ProtoMethods() *protoifa if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.ProductDetails == nil { - x.ProductDetails = &ProductDetails{} + if x.Card == nil { + x.Card = &CardWithImage{} } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ProductDetails); err != nil { + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Card); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex @@ -1648,25 +1648,25 @@ func (x *fastReflection_QueryGetProductDetailsResponse) ProtoMethods() *protoifa } var ( - md_QueryAllProductDetailsRequest protoreflect.MessageDescriptor - fd_QueryAllProductDetailsRequest_pagination protoreflect.FieldDescriptor + md_QueryUserRequest protoreflect.MessageDescriptor + fd_QueryUserRequest_address protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_query_proto_init() - md_QueryAllProductDetailsRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryAllProductDetailsRequest") - fd_QueryAllProductDetailsRequest_pagination = md_QueryAllProductDetailsRequest.Fields().ByName("pagination") + md_QueryUserRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryUserRequest") + fd_QueryUserRequest_address = md_QueryUserRequest.Fields().ByName("address") } -var _ protoreflect.Message = (*fastReflection_QueryAllProductDetailsRequest)(nil) +var _ protoreflect.Message = (*fastReflection_QueryUserRequest)(nil) -type fastReflection_QueryAllProductDetailsRequest QueryAllProductDetailsRequest +type fastReflection_QueryUserRequest QueryUserRequest -func (x *QueryAllProductDetailsRequest) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryAllProductDetailsRequest)(x) +func (x *QueryUserRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryUserRequest)(x) } -func (x *QueryAllProductDetailsRequest) slowProtoReflect() protoreflect.Message { +func (x *QueryUserRequest) slowProtoReflect() protoreflect.Message { mi := &file_cardchain_cardchain_query_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1678,43 +1678,43 @@ func (x *QueryAllProductDetailsRequest) slowProtoReflect() protoreflect.Message return mi.MessageOf(x) } -var _fastReflection_QueryAllProductDetailsRequest_messageType fastReflection_QueryAllProductDetailsRequest_messageType -var _ protoreflect.MessageType = fastReflection_QueryAllProductDetailsRequest_messageType{} +var _fastReflection_QueryUserRequest_messageType fastReflection_QueryUserRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryUserRequest_messageType{} -type fastReflection_QueryAllProductDetailsRequest_messageType struct{} +type fastReflection_QueryUserRequest_messageType struct{} -func (x fastReflection_QueryAllProductDetailsRequest_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryAllProductDetailsRequest)(nil) +func (x fastReflection_QueryUserRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryUserRequest)(nil) } -func (x fastReflection_QueryAllProductDetailsRequest_messageType) New() protoreflect.Message { - return new(fastReflection_QueryAllProductDetailsRequest) +func (x fastReflection_QueryUserRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryUserRequest) } -func (x fastReflection_QueryAllProductDetailsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryAllProductDetailsRequest +func (x fastReflection_QueryUserRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryUserRequest } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryAllProductDetailsRequest) Descriptor() protoreflect.MessageDescriptor { - return md_QueryAllProductDetailsRequest +func (x *fastReflection_QueryUserRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryUserRequest } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryAllProductDetailsRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryAllProductDetailsRequest_messageType +func (x *fastReflection_QueryUserRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryUserRequest_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryAllProductDetailsRequest) New() protoreflect.Message { - return new(fastReflection_QueryAllProductDetailsRequest) +func (x *fastReflection_QueryUserRequest) New() protoreflect.Message { + return new(fastReflection_QueryUserRequest) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryAllProductDetailsRequest) Interface() protoreflect.ProtoMessage { - return (*QueryAllProductDetailsRequest)(x) +func (x *fastReflection_QueryUserRequest) Interface() protoreflect.ProtoMessage { + return (*QueryUserRequest)(x) } // Range iterates over every populated field in an undefined order, @@ -1722,10 +1722,10 @@ func (x *fastReflection_QueryAllProductDetailsRequest) Interface() protoreflect. // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryAllProductDetailsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Pagination != nil { - value := protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) - if !f(fd_QueryAllProductDetailsRequest_pagination, value) { +func (x *fastReflection_QueryUserRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Address != "" { + value := protoreflect.ValueOfString(x.Address) + if !f(fd_QueryUserRequest_address, value) { return } } @@ -1742,15 +1742,15 @@ func (x *fastReflection_QueryAllProductDetailsRequest) Range(f func(protoreflect // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryAllProductDetailsRequest) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryUserRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cardchain.cardchain.QueryAllProductDetailsRequest.pagination": - return x.Pagination != nil + case "cardchain.cardchain.QueryUserRequest.address": + return x.Address != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) } } @@ -1760,15 +1760,15 @@ func (x *fastReflection_QueryAllProductDetailsRequest) Has(fd protoreflect.Field // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryAllProductDetailsRequest) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryUserRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cardchain.cardchain.QueryAllProductDetailsRequest.pagination": - x.Pagination = nil + case "cardchain.cardchain.QueryUserRequest.address": + x.Address = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) } } @@ -1778,16 +1778,16 @@ func (x *fastReflection_QueryAllProductDetailsRequest) Clear(fd protoreflect.Fie // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryAllProductDetailsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryUserRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cardchain.cardchain.QueryAllProductDetailsRequest.pagination": - value := x.Pagination - return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.QueryUserRequest.address": + value := x.Address + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsRequest does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", descriptor.FullName())) } } @@ -1801,15 +1801,15 @@ func (x *fastReflection_QueryAllProductDetailsRequest) Get(descriptor protorefle // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryAllProductDetailsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryUserRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cardchain.cardchain.QueryAllProductDetailsRequest.pagination": - x.Pagination = value.Message().Interface().(*v1beta1.PageRequest) + case "cardchain.cardchain.QueryUserRequest.address": + x.Address = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) } } @@ -1823,44 +1823,40 @@ func (x *fastReflection_QueryAllProductDetailsRequest) Set(fd protoreflect.Field // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryAllProductDetailsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryUserRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QueryAllProductDetailsRequest.pagination": - if x.Pagination == nil { - x.Pagination = new(v1beta1.PageRequest) - } - return protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + case "cardchain.cardchain.QueryUserRequest.address": + panic(fmt.Errorf("field address of message cardchain.cardchain.QueryUserRequest is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryAllProductDetailsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryUserRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.QueryAllProductDetailsRequest.pagination": - m := new(v1beta1.PageRequest) - return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.QueryUserRequest.address": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) } - panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryAllProductDetailsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryUserRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryAllProductDetailsRequest", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryUserRequest", d.FullName())) } panic("unreachable") } @@ -1868,7 +1864,7 @@ func (x *fastReflection_QueryAllProductDetailsRequest) WhichOneof(d protoreflect // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryAllProductDetailsRequest) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryUserRequest) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -1879,7 +1875,7 @@ func (x *fastReflection_QueryAllProductDetailsRequest) GetUnknown() protoreflect // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryAllProductDetailsRequest) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryUserRequest) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -1891,7 +1887,7 @@ func (x *fastReflection_QueryAllProductDetailsRequest) SetUnknown(fields protore // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_QueryAllProductDetailsRequest) IsValid() bool { +func (x *fastReflection_QueryUserRequest) IsValid() bool { return x != nil } @@ -1901,9 +1897,9 @@ func (x *fastReflection_QueryAllProductDetailsRequest) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryAllProductDetailsRequest) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryUserRequest) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryAllProductDetailsRequest) + x := input.Message.Interface().(*QueryUserRequest) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1915,8 +1911,8 @@ func (x *fastReflection_QueryAllProductDetailsRequest) ProtoMethods() *protoifac var n int var l int _ = l - if x.Pagination != nil { - l = options.Size(x.Pagination) + l = len(x.Address) + if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -1929,7 +1925,7 @@ func (x *fastReflection_QueryAllProductDetailsRequest) ProtoMethods() *protoifac } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryAllProductDetailsRequest) + x := input.Message.Interface().(*QueryUserRequest) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1948,17 +1944,10 @@ func (x *fastReflection_QueryAllProductDetailsRequest) ProtoMethods() *protoifac i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Pagination != nil { - encoded, err := options.Marshal(x.Pagination) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + if len(x.Address) > 0 { + i -= len(x.Address) + copy(dAtA[i:], x.Address) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address))) i-- dAtA[i] = 0xa } @@ -1973,7 +1962,7 @@ func (x *fastReflection_QueryAllProductDetailsRequest) ProtoMethods() *protoifac }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryAllProductDetailsRequest) + x := input.Message.Interface().(*QueryUserRequest) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -2005,17 +1994,17 @@ func (x *fastReflection_QueryAllProductDetailsRequest) ProtoMethods() *protoifac fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAllProductDetailsRequest: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryUserRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAllProductDetailsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryUserRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -2025,1849 +2014,13 @@ func (x *fastReflection_QueryAllProductDetailsRequest) ProtoMethods() *protoifac } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Pagination == nil { - x.Pagination = &v1beta1.PageRequest{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pagination); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var _ protoreflect.List = (*_QueryAllProductDetailsResponse_1_list)(nil) - -type _QueryAllProductDetailsResponse_1_list struct { - list *[]*ProductDetails -} - -func (x *_QueryAllProductDetailsResponse_1_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_QueryAllProductDetailsResponse_1_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_QueryAllProductDetailsResponse_1_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ProductDetails) - (*x.list)[i] = concreteValue -} - -func (x *_QueryAllProductDetailsResponse_1_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ProductDetails) - *x.list = append(*x.list, concreteValue) -} - -func (x *_QueryAllProductDetailsResponse_1_list) AppendMutable() protoreflect.Value { - v := new(ProductDetails) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_QueryAllProductDetailsResponse_1_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_QueryAllProductDetailsResponse_1_list) NewElement() protoreflect.Value { - v := new(ProductDetails) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_QueryAllProductDetailsResponse_1_list) IsValid() bool { - return x.list != nil -} - -var ( - md_QueryAllProductDetailsResponse protoreflect.MessageDescriptor - fd_QueryAllProductDetailsResponse_ProductDetails protoreflect.FieldDescriptor - fd_QueryAllProductDetailsResponse_pagination protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_query_proto_init() - md_QueryAllProductDetailsResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryAllProductDetailsResponse") - fd_QueryAllProductDetailsResponse_ProductDetails = md_QueryAllProductDetailsResponse.Fields().ByName("ProductDetails") - fd_QueryAllProductDetailsResponse_pagination = md_QueryAllProductDetailsResponse.Fields().ByName("pagination") -} - -var _ protoreflect.Message = (*fastReflection_QueryAllProductDetailsResponse)(nil) - -type fastReflection_QueryAllProductDetailsResponse QueryAllProductDetailsResponse - -func (x *QueryAllProductDetailsResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryAllProductDetailsResponse)(x) -} - -func (x *QueryAllProductDetailsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_QueryAllProductDetailsResponse_messageType fastReflection_QueryAllProductDetailsResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryAllProductDetailsResponse_messageType{} - -type fastReflection_QueryAllProductDetailsResponse_messageType struct{} - -func (x fastReflection_QueryAllProductDetailsResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryAllProductDetailsResponse)(nil) -} -func (x fastReflection_QueryAllProductDetailsResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryAllProductDetailsResponse) -} -func (x fastReflection_QueryAllProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryAllProductDetailsResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_QueryAllProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryAllProductDetailsResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryAllProductDetailsResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryAllProductDetailsResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryAllProductDetailsResponse) New() protoreflect.Message { - return new(fastReflection_QueryAllProductDetailsResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryAllProductDetailsResponse) Interface() protoreflect.ProtoMessage { - return (*QueryAllProductDetailsResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_QueryAllProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if len(x.ProductDetails) != 0 { - value := protoreflect.ValueOfList(&_QueryAllProductDetailsResponse_1_list{list: &x.ProductDetails}) - if !f(fd_QueryAllProductDetailsResponse_ProductDetails, value) { - return - } - } - if x.Pagination != nil { - value := protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) - if !f(fd_QueryAllProductDetailsResponse_pagination, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryAllProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails": - return len(x.ProductDetails) != 0 - case "cardchain.cardchain.QueryAllProductDetailsResponse.pagination": - return x.Pagination != nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryAllProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails": - x.ProductDetails = nil - case "cardchain.cardchain.QueryAllProductDetailsResponse.pagination": - x.Pagination = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryAllProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails": - if len(x.ProductDetails) == 0 { - return protoreflect.ValueOfList(&_QueryAllProductDetailsResponse_1_list{}) - } - listValue := &_QueryAllProductDetailsResponse_1_list{list: &x.ProductDetails} - return protoreflect.ValueOfList(listValue) - case "cardchain.cardchain.QueryAllProductDetailsResponse.pagination": - value := x.Pagination - return protoreflect.ValueOfMessage(value.ProtoReflect()) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryAllProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails": - lv := value.List() - clv := lv.(*_QueryAllProductDetailsResponse_1_list) - x.ProductDetails = *clv.list - case "cardchain.cardchain.QueryAllProductDetailsResponse.pagination": - x.Pagination = value.Message().Interface().(*v1beta1.PageResponse) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryAllProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails": - if x.ProductDetails == nil { - x.ProductDetails = []*ProductDetails{} - } - value := &_QueryAllProductDetailsResponse_1_list{list: &x.ProductDetails} - return protoreflect.ValueOfList(value) - case "cardchain.cardchain.QueryAllProductDetailsResponse.pagination": - if x.Pagination == nil { - x.Pagination = new(v1beta1.PageResponse) - } - return protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryAllProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails": - list := []*ProductDetails{} - return protoreflect.ValueOfList(&_QueryAllProductDetailsResponse_1_list{list: &list}) - case "cardchain.cardchain.QueryAllProductDetailsResponse.pagination": - m := new(v1beta1.PageResponse) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryAllProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryAllProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryAllProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryAllProductDetailsResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryAllProductDetailsResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryAllProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_QueryAllProductDetailsResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_QueryAllProductDetailsResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryAllProductDetailsResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if len(x.ProductDetails) > 0 { - for _, e := range x.ProductDetails { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if x.Pagination != nil { - l = options.Size(x.Pagination) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryAllProductDetailsResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.Pagination != nil { - encoded, err := options.Marshal(x.Pagination) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x12 - } - if len(x.ProductDetails) > 0 { - for iNdEx := len(x.ProductDetails) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.ProductDetails[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0xa - } - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryAllProductDetailsResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAllProductDetailsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAllProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProductDetails", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.ProductDetails = append(x.ProductDetails, &ProductDetails{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ProductDetails[len(x.ProductDetails)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Pagination == nil { - x.Pagination = &v1beta1.PageResponse{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pagination); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_QueryCardRequest protoreflect.MessageDescriptor - fd_QueryCardRequest_cardId protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_query_proto_init() - md_QueryCardRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardRequest") - fd_QueryCardRequest_cardId = md_QueryCardRequest.Fields().ByName("cardId") -} - -var _ protoreflect.Message = (*fastReflection_QueryCardRequest)(nil) - -type fastReflection_QueryCardRequest QueryCardRequest - -func (x *QueryCardRequest) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryCardRequest)(x) -} - -func (x *QueryCardRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_QueryCardRequest_messageType fastReflection_QueryCardRequest_messageType -var _ protoreflect.MessageType = fastReflection_QueryCardRequest_messageType{} - -type fastReflection_QueryCardRequest_messageType struct{} - -func (x fastReflection_QueryCardRequest_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryCardRequest)(nil) -} -func (x fastReflection_QueryCardRequest_messageType) New() protoreflect.Message { - return new(fastReflection_QueryCardRequest) -} -func (x fastReflection_QueryCardRequest_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryCardRequest -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_QueryCardRequest) Descriptor() protoreflect.MessageDescriptor { - return md_QueryCardRequest -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryCardRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryCardRequest_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryCardRequest) New() protoreflect.Message { - return new(fastReflection_QueryCardRequest) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryCardRequest) Interface() protoreflect.ProtoMessage { - return (*QueryCardRequest)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_QueryCardRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.CardId != uint64(0) { - value := protoreflect.ValueOfUint64(x.CardId) - if !f(fd_QueryCardRequest_cardId, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryCardRequest) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.QueryCardRequest.cardId": - return x.CardId != uint64(0) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryCardRequest) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.QueryCardRequest.cardId": - x.CardId = uint64(0) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryCardRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.QueryCardRequest.cardId": - value := x.CardId - return protoreflect.ValueOfUint64(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryCardRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.QueryCardRequest.cardId": - x.CardId = value.Uint() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryCardRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.QueryCardRequest.cardId": - panic(fmt.Errorf("field cardId of message cardchain.cardchain.QueryCardRequest is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryCardRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.QueryCardRequest.cardId": - return protoreflect.ValueOfUint64(uint64(0)) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardRequest")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryCardRequest does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryCardRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardRequest", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryCardRequest) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryCardRequest) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_QueryCardRequest) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_QueryCardRequest) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryCardRequest) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.CardId != 0 { - n += 1 + runtime.Sov(uint64(x.CardId)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryCardRequest) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.CardId != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) - i-- - dAtA[i] = 0x8 - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryCardRequest) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) - } - x.CardId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.CardId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_QueryCardResponse protoreflect.MessageDescriptor - fd_QueryCardResponse_card protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_query_proto_init() - md_QueryCardResponse = File_cardchain_cardchain_query_proto.Messages().ByName("QueryCardResponse") - fd_QueryCardResponse_card = md_QueryCardResponse.Fields().ByName("card") -} - -var _ protoreflect.Message = (*fastReflection_QueryCardResponse)(nil) - -type fastReflection_QueryCardResponse QueryCardResponse - -func (x *QueryCardResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryCardResponse)(x) -} - -func (x *QueryCardResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_QueryCardResponse_messageType fastReflection_QueryCardResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryCardResponse_messageType{} - -type fastReflection_QueryCardResponse_messageType struct{} - -func (x fastReflection_QueryCardResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryCardResponse)(nil) -} -func (x fastReflection_QueryCardResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryCardResponse) -} -func (x fastReflection_QueryCardResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryCardResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_QueryCardResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryCardResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryCardResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryCardResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryCardResponse) New() protoreflect.Message { - return new(fastReflection_QueryCardResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryCardResponse) Interface() protoreflect.ProtoMessage { - return (*QueryCardResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_QueryCardResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Card != nil { - value := protoreflect.ValueOfMessage(x.Card.ProtoReflect()) - if !f(fd_QueryCardResponse_card, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryCardResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.QueryCardResponse.card": - return x.Card != nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryCardResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.QueryCardResponse.card": - x.Card = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryCardResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.QueryCardResponse.card": - value := x.Card - return protoreflect.ValueOfMessage(value.ProtoReflect()) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryCardResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.QueryCardResponse.card": - x.Card = value.Message().Interface().(*CardWithImage) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryCardResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.QueryCardResponse.card": - if x.Card == nil { - x.Card = new(CardWithImage) - } - return protoreflect.ValueOfMessage(x.Card.ProtoReflect()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryCardResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.QueryCardResponse.card": - m := new(CardWithImage) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryCardResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryCardResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryCardResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryCardResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryCardResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryCardResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_QueryCardResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_QueryCardResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryCardResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Card != nil { - l = options.Size(x.Card) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryCardResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.Card != nil { - encoded, err := options.Marshal(x.Card) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryCardResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Card == nil { - x.Card = &CardWithImage{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Card); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_QueryUserRequest protoreflect.MessageDescriptor - fd_QueryUserRequest_address protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_query_proto_init() - md_QueryUserRequest = File_cardchain_cardchain_query_proto.Messages().ByName("QueryUserRequest") - fd_QueryUserRequest_address = md_QueryUserRequest.Fields().ByName("address") -} - -var _ protoreflect.Message = (*fastReflection_QueryUserRequest)(nil) - -type fastReflection_QueryUserRequest QueryUserRequest - -func (x *QueryUserRequest) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryUserRequest)(x) -} - -func (x *QueryUserRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_QueryUserRequest_messageType fastReflection_QueryUserRequest_messageType -var _ protoreflect.MessageType = fastReflection_QueryUserRequest_messageType{} - -type fastReflection_QueryUserRequest_messageType struct{} - -func (x fastReflection_QueryUserRequest_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryUserRequest)(nil) -} -func (x fastReflection_QueryUserRequest_messageType) New() protoreflect.Message { - return new(fastReflection_QueryUserRequest) -} -func (x fastReflection_QueryUserRequest_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryUserRequest -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_QueryUserRequest) Descriptor() protoreflect.MessageDescriptor { - return md_QueryUserRequest -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_QueryUserRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryUserRequest_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryUserRequest) New() protoreflect.Message { - return new(fastReflection_QueryUserRequest) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryUserRequest) Interface() protoreflect.ProtoMessage { - return (*QueryUserRequest)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_QueryUserRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Address != "" { - value := protoreflect.ValueOfString(x.Address) - if !f(fd_QueryUserRequest_address, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_QueryUserRequest) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.QueryUserRequest.address": - return x.Address != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryUserRequest) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.QueryUserRequest.address": - x.Address = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_QueryUserRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.QueryUserRequest.address": - value := x.Address - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryUserRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.QueryUserRequest.address": - x.Address = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryUserRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.QueryUserRequest.address": - panic(fmt.Errorf("field address of message cardchain.cardchain.QueryUserRequest is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_QueryUserRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.QueryUserRequest.address": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.QueryUserRequest")) - } - panic(fmt.Errorf("message cardchain.cardchain.QueryUserRequest does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_QueryUserRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.QueryUserRequest", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_QueryUserRequest) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryUserRequest) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_QueryUserRequest) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_QueryUserRequest) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryUserRequest) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Address) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryUserRequest) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Address) > 0 { - i -= len(x.Address) - copy(dAtA[i:], x.Address) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryUserRequest) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryUserRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryUserRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } postIndex := iNdEx + intStringLen @@ -3934,7 +2087,7 @@ func (x *QueryUserResponse) ProtoReflect() protoreflect.Message { } func (x *QueryUserResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[9] + mi := &file_cardchain_cardchain_query_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4575,7 +2728,7 @@ func (x *QueryCardsRequest) ProtoReflect() protoreflect.Message { } func (x *QueryCardsRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[10] + mi := &file_cardchain_cardchain_query_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5949,7 +4102,7 @@ func (x *QueryCardsResponse) ProtoReflect() protoreflect.Message { } func (x *QueryCardsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[11] + mi := &file_cardchain_cardchain_query_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6439,7 +4592,7 @@ func (x *QueryMatchRequest) ProtoReflect() protoreflect.Message { } func (x *QueryMatchRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[12] + mi := &file_cardchain_cardchain_query_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6843,7 +4996,7 @@ func (x *QueryMatchResponse) ProtoReflect() protoreflect.Message { } func (x *QueryMatchResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[13] + mi := &file_cardchain_cardchain_query_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7278,7 +5431,7 @@ func (x *QuerySetRequest) ProtoReflect() protoreflect.Message { } func (x *QuerySetRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[14] + mi := &file_cardchain_cardchain_query_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7682,7 +5835,7 @@ func (x *QuerySetResponse) ProtoReflect() protoreflect.Message { } func (x *QuerySetResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[15] + mi := &file_cardchain_cardchain_query_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8117,7 +6270,7 @@ func (x *QuerySellOfferRequest) ProtoReflect() protoreflect.Message { } func (x *QuerySellOfferRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[16] + mi := &file_cardchain_cardchain_query_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8521,7 +6674,7 @@ func (x *QuerySellOfferResponse) ProtoReflect() protoreflect.Message { } func (x *QuerySellOfferResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[17] + mi := &file_cardchain_cardchain_query_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8956,7 +7109,7 @@ func (x *QueryCouncilRequest) ProtoReflect() protoreflect.Message { } func (x *QueryCouncilRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[18] + mi := &file_cardchain_cardchain_query_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9360,7 +7513,7 @@ func (x *QueryCouncilResponse) ProtoReflect() protoreflect.Message { } func (x *QueryCouncilResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[19] + mi := &file_cardchain_cardchain_query_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9795,7 +7948,7 @@ func (x *QueryServerRequest) ProtoReflect() protoreflect.Message { } func (x *QueryServerRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[20] + mi := &file_cardchain_cardchain_query_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10199,7 +8352,7 @@ func (x *QueryServerResponse) ProtoReflect() protoreflect.Message { } func (x *QueryServerResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[21] + mi := &file_cardchain_cardchain_query_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10634,7 +8787,7 @@ func (x *QueryEncounterRequest) ProtoReflect() protoreflect.Message { } func (x *QueryEncounterRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[22] + mi := &file_cardchain_cardchain_query_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11038,7 +9191,7 @@ func (x *QueryEncounterResponse) ProtoReflect() protoreflect.Message { } func (x *QueryEncounterResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[23] + mi := &file_cardchain_cardchain_query_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11471,7 +9624,7 @@ func (x *QueryEncountersRequest) ProtoReflect() protoreflect.Message { } func (x *QueryEncountersRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[24] + mi := &file_cardchain_cardchain_query_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11880,7 +10033,7 @@ func (x *QueryEncountersResponse) ProtoReflect() protoreflect.Message { } func (x *QueryEncountersResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[25] + mi := &file_cardchain_cardchain_query_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12323,7 +10476,7 @@ func (x *QueryEncounterWithImageRequest) ProtoReflect() protoreflect.Message { } func (x *QueryEncounterWithImageRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[26] + mi := &file_cardchain_cardchain_query_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12727,7 +10880,7 @@ func (x *QueryEncounterWithImageResponse) ProtoReflect() protoreflect.Message { } func (x *QueryEncounterWithImageResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[27] + mi := &file_cardchain_cardchain_query_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13160,7 +11313,7 @@ func (x *QueryEncountersWithImageRequest) ProtoReflect() protoreflect.Message { } func (x *QueryEncountersWithImageRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[28] + mi := &file_cardchain_cardchain_query_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13569,7 +11722,7 @@ func (x *QueryEncountersWithImageResponse) ProtoReflect() protoreflect.Message { } func (x *QueryEncountersWithImageResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[29] + mi := &file_cardchain_cardchain_query_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14010,7 +12163,7 @@ func (x *QueryCardchainInfoRequest) ProtoReflect() protoreflect.Message { } func (x *QueryCardchainInfoRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[30] + mi := &file_cardchain_cardchain_query_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14426,7 +12579,7 @@ func (x *QueryCardchainInfoResponse) ProtoReflect() protoreflect.Message { } func (x *QueryCardchainInfoResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[31] + mi := &file_cardchain_cardchain_query_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14644,7 +12797,7 @@ func (x *fastReflection_QueryCardchainInfoResponse) Get(descriptor protoreflect. func (x *fastReflection_QueryCardchainInfoResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": - x.CardAuctionPrice = value.Message().Interface().(*v1beta11.Coin) + x.CardAuctionPrice = value.Message().Interface().(*v1beta1.Coin) case "cardchain.cardchain.QueryCardchainInfoResponse.activeSets": lv := value.List() clv := lv.(*_QueryCardchainInfoResponse_2_list) @@ -14681,7 +12834,7 @@ func (x *fastReflection_QueryCardchainInfoResponse) Mutable(fd protoreflect.Fiel switch fd.FullName() { case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": if x.CardAuctionPrice == nil { - x.CardAuctionPrice = new(v1beta11.Coin) + x.CardAuctionPrice = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.CardAuctionPrice.ProtoReflect()) case "cardchain.cardchain.QueryCardchainInfoResponse.activeSets": @@ -14714,7 +12867,7 @@ func (x *fastReflection_QueryCardchainInfoResponse) Mutable(fd protoreflect.Fiel func (x *fastReflection_QueryCardchainInfoResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { case "cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice": - m := new(v1beta11.Coin) + m := new(v1beta1.Coin) return protoreflect.ValueOfMessage(m.ProtoReflect()) case "cardchain.cardchain.QueryCardchainInfoResponse.activeSets": list := []uint64{} @@ -14991,7 +13144,7 @@ func (x *fastReflection_QueryCardchainInfoResponse) ProtoMethods() *protoiface.M return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } if x.CardAuctionPrice == nil { - x.CardAuctionPrice = &v1beta11.Coin{} + x.CardAuctionPrice = &v1beta1.Coin{} } if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CardAuctionPrice); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err @@ -15223,7 +13376,7 @@ func (x *QuerySetRarityDistributionRequest) ProtoReflect() protoreflect.Message } func (x *QuerySetRarityDistributionRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[32] + mi := &file_cardchain_cardchain_query_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15721,7 +13874,7 @@ func (x *QuerySetRarityDistributionResponse) ProtoReflect() protoreflect.Message } func (x *QuerySetRarityDistributionResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[33] + mi := &file_cardchain_cardchain_query_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16343,7 +14496,7 @@ func (x *QueryAccountFromZealyRequest) ProtoReflect() protoreflect.Message { } func (x *QueryAccountFromZealyRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[34] + mi := &file_cardchain_cardchain_query_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16763,7 +14916,7 @@ func (x *QueryAccountFromZealyResponse) ProtoReflect() protoreflect.Message { } func (x *QueryAccountFromZealyResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[35] + mi := &file_cardchain_cardchain_query_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17181,7 +15334,7 @@ func (x *QueryVotingResultsRequest) ProtoReflect() protoreflect.Message { } func (x *QueryVotingResultsRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[36] + mi := &file_cardchain_cardchain_query_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17539,7 +15692,7 @@ func (x *QueryVotingResultsResponse) ProtoReflect() protoreflect.Message { } func (x *QueryVotingResultsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[37] + mi := &file_cardchain_cardchain_query_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18076,7 +16229,7 @@ func (x *QueryMatchesRequest) ProtoReflect() protoreflect.Message { } func (x *QueryMatchesRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[38] + mi := &file_cardchain_cardchain_query_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18941,7 +17094,7 @@ func (x *QueryMatchesResponse) ProtoReflect() protoreflect.Message { } func (x *QueryMatchesResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[39] + mi := &file_cardchain_cardchain_query_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19614,7 +17767,7 @@ func (x *QuerySetsRequest) ProtoReflect() protoreflect.Message { } func (x *QuerySetsRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[40] + mi := &file_cardchain_cardchain_query_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20334,7 +18487,7 @@ func (x *QuerySetsResponse) ProtoReflect() protoreflect.Message { } func (x *QuerySetsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[41] + mi := &file_cardchain_cardchain_query_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20824,7 +18977,7 @@ func (x *QueryCardContentRequest) ProtoReflect() protoreflect.Message { } func (x *QueryCardContentRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[42] + mi := &file_cardchain_cardchain_query_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21228,7 +19381,7 @@ func (x *QueryCardContentResponse) ProtoReflect() protoreflect.Message { } func (x *QueryCardContentResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[43] + mi := &file_cardchain_cardchain_query_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21709,7 +19862,7 @@ func (x *QueryCardContentsRequest) ProtoReflect() protoreflect.Message { } func (x *QueryCardContentsRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[44] + mi := &file_cardchain_cardchain_query_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22250,7 +20403,7 @@ func (x *QueryCardContentsResponse) ProtoReflect() protoreflect.Message { } func (x *QueryCardContentsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[45] + mi := &file_cardchain_cardchain_query_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22703,7 +20856,7 @@ func (x *QuerySellOffersRequest) ProtoReflect() protoreflect.Message { } func (x *QuerySellOffersRequest) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[46] + mi := &file_cardchain_cardchain_query_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22905,9 +21058,9 @@ func (x *fastReflection_QuerySellOffersRequest) Get(descriptor protoreflect.Fiel func (x *fastReflection_QuerySellOffersRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { case "cardchain.cardchain.QuerySellOffersRequest.priceDown": - x.PriceDown = value.Message().Interface().(*v1beta11.Coin) + x.PriceDown = value.Message().Interface().(*v1beta1.Coin) case "cardchain.cardchain.QuerySellOffersRequest.priceUp": - x.PriceUp = value.Message().Interface().(*v1beta11.Coin) + x.PriceUp = value.Message().Interface().(*v1beta1.Coin) case "cardchain.cardchain.QuerySellOffersRequest.seller": x.Seller = value.Interface().(string) case "cardchain.cardchain.QuerySellOffersRequest.buyer": @@ -22938,12 +21091,12 @@ func (x *fastReflection_QuerySellOffersRequest) Mutable(fd protoreflect.FieldDes switch fd.FullName() { case "cardchain.cardchain.QuerySellOffersRequest.priceDown": if x.PriceDown == nil { - x.PriceDown = new(v1beta11.Coin) + x.PriceDown = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.PriceDown.ProtoReflect()) case "cardchain.cardchain.QuerySellOffersRequest.priceUp": if x.PriceUp == nil { - x.PriceUp = new(v1beta11.Coin) + x.PriceUp = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.PriceUp.ProtoReflect()) case "cardchain.cardchain.QuerySellOffersRequest.seller": @@ -22968,10 +21121,10 @@ func (x *fastReflection_QuerySellOffersRequest) Mutable(fd protoreflect.FieldDes func (x *fastReflection_QuerySellOffersRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { case "cardchain.cardchain.QuerySellOffersRequest.priceDown": - m := new(v1beta11.Coin) + m := new(v1beta1.Coin) return protoreflect.ValueOfMessage(m.ProtoReflect()) case "cardchain.cardchain.QuerySellOffersRequest.priceUp": - m := new(v1beta11.Coin) + m := new(v1beta1.Coin) return protoreflect.ValueOfMessage(m.ProtoReflect()) case "cardchain.cardchain.QuerySellOffersRequest.seller": return protoreflect.ValueOfString("") @@ -23232,7 +21385,7 @@ func (x *fastReflection_QuerySellOffersRequest) ProtoMethods() *protoiface.Metho return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } if x.PriceDown == nil { - x.PriceDown = &v1beta11.Coin{} + x.PriceDown = &v1beta1.Coin{} } if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.PriceDown); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err @@ -23268,7 +21421,7 @@ func (x *fastReflection_QuerySellOffersRequest) ProtoMethods() *protoiface.Metho return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } if x.PriceUp == nil { - x.PriceUp = &v1beta11.Coin{} + x.PriceUp = &v1beta1.Coin{} } if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.PriceUp); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err @@ -23530,7 +21683,7 @@ func (x *QuerySellOffersResponse) ProtoReflect() protoreflect.Message { } func (x *QuerySellOffersResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_query_proto_msgTypes[47] + mi := &file_cardchain_cardchain_query_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24162,154 +22315,6 @@ func (x *QueryParamsResponse) GetParams() *Params { return nil } -type QueryGetProductDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *QueryGetProductDetailsRequest) Reset() { - *x = QueryGetProductDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryGetProductDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryGetProductDetailsRequest) ProtoMessage() {} - -// Deprecated: Use QueryGetProductDetailsRequest.ProtoReflect.Descriptor instead. -func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} -} - -func (x *QueryGetProductDetailsRequest) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -type QueryGetProductDetailsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProductDetails *ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` -} - -func (x *QueryGetProductDetailsResponse) Reset() { - *x = QueryGetProductDetailsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryGetProductDetailsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryGetProductDetailsResponse) ProtoMessage() {} - -// Deprecated: Use QueryGetProductDetailsResponse.ProtoReflect.Descriptor instead. -func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} -} - -func (x *QueryGetProductDetailsResponse) GetProductDetails() *ProductDetails { - if x != nil { - return x.ProductDetails - } - return nil -} - -type QueryAllProductDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` -} - -func (x *QueryAllProductDetailsRequest) Reset() { - *x = QueryAllProductDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryAllProductDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryAllProductDetailsRequest) ProtoMessage() {} - -// Deprecated: Use QueryAllProductDetailsRequest.ProtoReflect.Descriptor instead. -func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} -} - -func (x *QueryAllProductDetailsRequest) GetPagination() *v1beta1.PageRequest { - if x != nil { - return x.Pagination - } - return nil -} - -type QueryAllProductDetailsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProductDetails []*ProductDetails `protobuf:"bytes,1,rep,name=ProductDetails,proto3" json:"ProductDetails,omitempty"` - Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` -} - -func (x *QueryAllProductDetailsResponse) Reset() { - *x = QueryAllProductDetailsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryAllProductDetailsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryAllProductDetailsResponse) ProtoMessage() {} - -// Deprecated: Use QueryAllProductDetailsResponse.ProtoReflect.Descriptor instead. -func (*QueryAllProductDetailsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{5} -} - -func (x *QueryAllProductDetailsResponse) GetProductDetails() []*ProductDetails { - if x != nil { - return x.ProductDetails - } - return nil -} - -func (x *QueryAllProductDetailsResponse) GetPagination() *v1beta1.PageResponse { - if x != nil { - return x.Pagination - } - return nil -} - type QueryCardRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -24321,7 +22326,7 @@ type QueryCardRequest struct { func (x *QueryCardRequest) Reset() { *x = QueryCardRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[6] + mi := &file_cardchain_cardchain_query_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24335,7 +22340,7 @@ func (*QueryCardRequest) ProtoMessage() {} // Deprecated: Use QueryCardRequest.ProtoReflect.Descriptor instead. func (*QueryCardRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{6} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{2} } func (x *QueryCardRequest) GetCardId() uint64 { @@ -24356,7 +22361,7 @@ type QueryCardResponse struct { func (x *QueryCardResponse) Reset() { *x = QueryCardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[7] + mi := &file_cardchain_cardchain_query_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24370,7 +22375,7 @@ func (*QueryCardResponse) ProtoMessage() {} // Deprecated: Use QueryCardResponse.ProtoReflect.Descriptor instead. func (*QueryCardResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{7} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{3} } func (x *QueryCardResponse) GetCard() *CardWithImage { @@ -24391,7 +22396,7 @@ type QueryUserRequest struct { func (x *QueryUserRequest) Reset() { *x = QueryUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[8] + mi := &file_cardchain_cardchain_query_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24405,7 +22410,7 @@ func (*QueryUserRequest) ProtoMessage() {} // Deprecated: Use QueryUserRequest.ProtoReflect.Descriptor instead. func (*QueryUserRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{8} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{4} } func (x *QueryUserRequest) GetAddress() string { @@ -24426,7 +22431,7 @@ type QueryUserResponse struct { func (x *QueryUserResponse) Reset() { *x = QueryUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[9] + mi := &file_cardchain_cardchain_query_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24440,7 +22445,7 @@ func (*QueryUserResponse) ProtoMessage() {} // Deprecated: Use QueryUserResponse.ProtoReflect.Descriptor instead. func (*QueryUserResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{9} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{5} } func (x *QueryUserResponse) GetUser() *User { @@ -24472,7 +22477,7 @@ type QueryCardsRequest struct { func (x *QueryCardsRequest) Reset() { *x = QueryCardsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[10] + mi := &file_cardchain_cardchain_query_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24486,7 +22491,7 @@ func (*QueryCardsRequest) ProtoMessage() {} // Deprecated: Use QueryCardsRequest.ProtoReflect.Descriptor instead. func (*QueryCardsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{10} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{6} } func (x *QueryCardsRequest) GetOwner() string { @@ -24584,7 +22589,7 @@ type QueryCardsResponse struct { func (x *QueryCardsResponse) Reset() { *x = QueryCardsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[11] + mi := &file_cardchain_cardchain_query_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24598,7 +22603,7 @@ func (*QueryCardsResponse) ProtoMessage() {} // Deprecated: Use QueryCardsResponse.ProtoReflect.Descriptor instead. func (*QueryCardsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{11} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{7} } func (x *QueryCardsResponse) GetCardIds() []uint64 { @@ -24619,7 +22624,7 @@ type QueryMatchRequest struct { func (x *QueryMatchRequest) Reset() { *x = QueryMatchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[12] + mi := &file_cardchain_cardchain_query_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24633,7 +22638,7 @@ func (*QueryMatchRequest) ProtoMessage() {} // Deprecated: Use QueryMatchRequest.ProtoReflect.Descriptor instead. func (*QueryMatchRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{12} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{8} } func (x *QueryMatchRequest) GetMatchId() uint64 { @@ -24654,7 +22659,7 @@ type QueryMatchResponse struct { func (x *QueryMatchResponse) Reset() { *x = QueryMatchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[13] + mi := &file_cardchain_cardchain_query_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24668,7 +22673,7 @@ func (*QueryMatchResponse) ProtoMessage() {} // Deprecated: Use QueryMatchResponse.ProtoReflect.Descriptor instead. func (*QueryMatchResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{13} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{9} } func (x *QueryMatchResponse) GetMatch() *Match { @@ -24689,7 +22694,7 @@ type QuerySetRequest struct { func (x *QuerySetRequest) Reset() { *x = QuerySetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[14] + mi := &file_cardchain_cardchain_query_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24703,7 +22708,7 @@ func (*QuerySetRequest) ProtoMessage() {} // Deprecated: Use QuerySetRequest.ProtoReflect.Descriptor instead. func (*QuerySetRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{14} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{10} } func (x *QuerySetRequest) GetSetId() uint64 { @@ -24724,7 +22729,7 @@ type QuerySetResponse struct { func (x *QuerySetResponse) Reset() { *x = QuerySetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[15] + mi := &file_cardchain_cardchain_query_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24738,7 +22743,7 @@ func (*QuerySetResponse) ProtoMessage() {} // Deprecated: Use QuerySetResponse.ProtoReflect.Descriptor instead. func (*QuerySetResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{15} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{11} } func (x *QuerySetResponse) GetSet_() *SetWithArtwork { @@ -24759,7 +22764,7 @@ type QuerySellOfferRequest struct { func (x *QuerySellOfferRequest) Reset() { *x = QuerySellOfferRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[16] + mi := &file_cardchain_cardchain_query_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24773,7 +22778,7 @@ func (*QuerySellOfferRequest) ProtoMessage() {} // Deprecated: Use QuerySellOfferRequest.ProtoReflect.Descriptor instead. func (*QuerySellOfferRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{16} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{12} } func (x *QuerySellOfferRequest) GetSellOfferId() uint64 { @@ -24794,7 +22799,7 @@ type QuerySellOfferResponse struct { func (x *QuerySellOfferResponse) Reset() { *x = QuerySellOfferResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[17] + mi := &file_cardchain_cardchain_query_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24808,7 +22813,7 @@ func (*QuerySellOfferResponse) ProtoMessage() {} // Deprecated: Use QuerySellOfferResponse.ProtoReflect.Descriptor instead. func (*QuerySellOfferResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{17} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{13} } func (x *QuerySellOfferResponse) GetSellOffer() *SellOffer { @@ -24829,7 +22834,7 @@ type QueryCouncilRequest struct { func (x *QueryCouncilRequest) Reset() { *x = QueryCouncilRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[18] + mi := &file_cardchain_cardchain_query_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24843,7 +22848,7 @@ func (*QueryCouncilRequest) ProtoMessage() {} // Deprecated: Use QueryCouncilRequest.ProtoReflect.Descriptor instead. func (*QueryCouncilRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{18} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{14} } func (x *QueryCouncilRequest) GetCouncilId() uint64 { @@ -24864,7 +22869,7 @@ type QueryCouncilResponse struct { func (x *QueryCouncilResponse) Reset() { *x = QueryCouncilResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[19] + mi := &file_cardchain_cardchain_query_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24878,7 +22883,7 @@ func (*QueryCouncilResponse) ProtoMessage() {} // Deprecated: Use QueryCouncilResponse.ProtoReflect.Descriptor instead. func (*QueryCouncilResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{19} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{15} } func (x *QueryCouncilResponse) GetCouncil() *Council { @@ -24899,7 +22904,7 @@ type QueryServerRequest struct { func (x *QueryServerRequest) Reset() { *x = QueryServerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[20] + mi := &file_cardchain_cardchain_query_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24913,7 +22918,7 @@ func (*QueryServerRequest) ProtoMessage() {} // Deprecated: Use QueryServerRequest.ProtoReflect.Descriptor instead. func (*QueryServerRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{20} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{16} } func (x *QueryServerRequest) GetServerId() uint64 { @@ -24934,7 +22939,7 @@ type QueryServerResponse struct { func (x *QueryServerResponse) Reset() { *x = QueryServerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[21] + mi := &file_cardchain_cardchain_query_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24948,7 +22953,7 @@ func (*QueryServerResponse) ProtoMessage() {} // Deprecated: Use QueryServerResponse.ProtoReflect.Descriptor instead. func (*QueryServerResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{21} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{17} } func (x *QueryServerResponse) GetServer() *Server { @@ -24969,7 +22974,7 @@ type QueryEncounterRequest struct { func (x *QueryEncounterRequest) Reset() { *x = QueryEncounterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[22] + mi := &file_cardchain_cardchain_query_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24983,7 +22988,7 @@ func (*QueryEncounterRequest) ProtoMessage() {} // Deprecated: Use QueryEncounterRequest.ProtoReflect.Descriptor instead. func (*QueryEncounterRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{22} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{18} } func (x *QueryEncounterRequest) GetEncounterId() uint64 { @@ -25004,7 +23009,7 @@ type QueryEncounterResponse struct { func (x *QueryEncounterResponse) Reset() { *x = QueryEncounterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[23] + mi := &file_cardchain_cardchain_query_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25018,7 +23023,7 @@ func (*QueryEncounterResponse) ProtoMessage() {} // Deprecated: Use QueryEncounterResponse.ProtoReflect.Descriptor instead. func (*QueryEncounterResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{23} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{19} } func (x *QueryEncounterResponse) GetEncounter() *Encounter { @@ -25037,7 +23042,7 @@ type QueryEncountersRequest struct { func (x *QueryEncountersRequest) Reset() { *x = QueryEncountersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[24] + mi := &file_cardchain_cardchain_query_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25051,7 +23056,7 @@ func (*QueryEncountersRequest) ProtoMessage() {} // Deprecated: Use QueryEncountersRequest.ProtoReflect.Descriptor instead. func (*QueryEncountersRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{24} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{20} } type QueryEncountersResponse struct { @@ -25065,7 +23070,7 @@ type QueryEncountersResponse struct { func (x *QueryEncountersResponse) Reset() { *x = QueryEncountersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[25] + mi := &file_cardchain_cardchain_query_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25079,7 +23084,7 @@ func (*QueryEncountersResponse) ProtoMessage() {} // Deprecated: Use QueryEncountersResponse.ProtoReflect.Descriptor instead. func (*QueryEncountersResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{25} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{21} } func (x *QueryEncountersResponse) GetEncounters() []*Encounter { @@ -25100,7 +23105,7 @@ type QueryEncounterWithImageRequest struct { func (x *QueryEncounterWithImageRequest) Reset() { *x = QueryEncounterWithImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[26] + mi := &file_cardchain_cardchain_query_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25114,7 +23119,7 @@ func (*QueryEncounterWithImageRequest) ProtoMessage() {} // Deprecated: Use QueryEncounterWithImageRequest.ProtoReflect.Descriptor instead. func (*QueryEncounterWithImageRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{26} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{22} } func (x *QueryEncounterWithImageRequest) GetEncounterId() uint64 { @@ -25135,7 +23140,7 @@ type QueryEncounterWithImageResponse struct { func (x *QueryEncounterWithImageResponse) Reset() { *x = QueryEncounterWithImageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[27] + mi := &file_cardchain_cardchain_query_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25149,7 +23154,7 @@ func (*QueryEncounterWithImageResponse) ProtoMessage() {} // Deprecated: Use QueryEncounterWithImageResponse.ProtoReflect.Descriptor instead. func (*QueryEncounterWithImageResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{27} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{23} } func (x *QueryEncounterWithImageResponse) GetEncounter() *EncounterWithImage { @@ -25168,7 +23173,7 @@ type QueryEncountersWithImageRequest struct { func (x *QueryEncountersWithImageRequest) Reset() { *x = QueryEncountersWithImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[28] + mi := &file_cardchain_cardchain_query_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25182,7 +23187,7 @@ func (*QueryEncountersWithImageRequest) ProtoMessage() {} // Deprecated: Use QueryEncountersWithImageRequest.ProtoReflect.Descriptor instead. func (*QueryEncountersWithImageRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{28} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{24} } type QueryEncountersWithImageResponse struct { @@ -25196,7 +23201,7 @@ type QueryEncountersWithImageResponse struct { func (x *QueryEncountersWithImageResponse) Reset() { *x = QueryEncountersWithImageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[29] + mi := &file_cardchain_cardchain_query_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25210,7 +23215,7 @@ func (*QueryEncountersWithImageResponse) ProtoMessage() {} // Deprecated: Use QueryEncountersWithImageResponse.ProtoReflect.Descriptor instead. func (*QueryEncountersWithImageResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{29} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{25} } func (x *QueryEncountersWithImageResponse) GetEncounters() []*EncounterWithImage { @@ -25229,7 +23234,7 @@ type QueryCardchainInfoRequest struct { func (x *QueryCardchainInfoRequest) Reset() { *x = QueryCardchainInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[30] + mi := &file_cardchain_cardchain_query_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25243,7 +23248,7 @@ func (*QueryCardchainInfoRequest) ProtoMessage() {} // Deprecated: Use QueryCardchainInfoRequest.ProtoReflect.Descriptor instead. func (*QueryCardchainInfoRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{30} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{26} } type QueryCardchainInfoResponse struct { @@ -25251,19 +23256,19 @@ type QueryCardchainInfoResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CardAuctionPrice *v1beta11.Coin `protobuf:"bytes,1,opt,name=cardAuctionPrice,proto3" json:"cardAuctionPrice,omitempty"` - 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"` + CardAuctionPrice *v1beta1.Coin `protobuf:"bytes,1,opt,name=cardAuctionPrice,proto3" json:"cardAuctionPrice,omitempty"` + 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 (x *QueryCardchainInfoResponse) Reset() { *x = QueryCardchainInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[31] + mi := &file_cardchain_cardchain_query_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25277,10 +23282,10 @@ func (*QueryCardchainInfoResponse) ProtoMessage() {} // Deprecated: Use QueryCardchainInfoResponse.ProtoReflect.Descriptor instead. func (*QueryCardchainInfoResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{31} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{27} } -func (x *QueryCardchainInfoResponse) GetCardAuctionPrice() *v1beta11.Coin { +func (x *QueryCardchainInfoResponse) GetCardAuctionPrice() *v1beta1.Coin { if x != nil { return x.CardAuctionPrice } @@ -25340,7 +23345,7 @@ type QuerySetRarityDistributionRequest struct { func (x *QuerySetRarityDistributionRequest) Reset() { *x = QuerySetRarityDistributionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[32] + mi := &file_cardchain_cardchain_query_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25354,7 +23359,7 @@ func (*QuerySetRarityDistributionRequest) ProtoMessage() {} // Deprecated: Use QuerySetRarityDistributionRequest.ProtoReflect.Descriptor instead. func (*QuerySetRarityDistributionRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{32} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{28} } func (x *QuerySetRarityDistributionRequest) GetSetId() uint64 { @@ -25376,7 +23381,7 @@ type QuerySetRarityDistributionResponse struct { func (x *QuerySetRarityDistributionResponse) Reset() { *x = QuerySetRarityDistributionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[33] + mi := &file_cardchain_cardchain_query_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25390,7 +23395,7 @@ func (*QuerySetRarityDistributionResponse) ProtoMessage() {} // Deprecated: Use QuerySetRarityDistributionResponse.ProtoReflect.Descriptor instead. func (*QuerySetRarityDistributionResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{33} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{29} } func (x *QuerySetRarityDistributionResponse) GetCurrent() []uint64 { @@ -25418,7 +23423,7 @@ type QueryAccountFromZealyRequest struct { func (x *QueryAccountFromZealyRequest) Reset() { *x = QueryAccountFromZealyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[34] + mi := &file_cardchain_cardchain_query_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25432,7 +23437,7 @@ func (*QueryAccountFromZealyRequest) ProtoMessage() {} // Deprecated: Use QueryAccountFromZealyRequest.ProtoReflect.Descriptor instead. func (*QueryAccountFromZealyRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{34} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{30} } func (x *QueryAccountFromZealyRequest) GetZealyId() string { @@ -25453,7 +23458,7 @@ type QueryAccountFromZealyResponse struct { func (x *QueryAccountFromZealyResponse) Reset() { *x = QueryAccountFromZealyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[35] + mi := &file_cardchain_cardchain_query_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25467,7 +23472,7 @@ func (*QueryAccountFromZealyResponse) ProtoMessage() {} // Deprecated: Use QueryAccountFromZealyResponse.ProtoReflect.Descriptor instead. func (*QueryAccountFromZealyResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{35} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{31} } func (x *QueryAccountFromZealyResponse) GetAddress() string { @@ -25486,7 +23491,7 @@ type QueryVotingResultsRequest struct { func (x *QueryVotingResultsRequest) Reset() { *x = QueryVotingResultsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[36] + mi := &file_cardchain_cardchain_query_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25500,7 +23505,7 @@ func (*QueryVotingResultsRequest) ProtoMessage() {} // Deprecated: Use QueryVotingResultsRequest.ProtoReflect.Descriptor instead. func (*QueryVotingResultsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{36} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{32} } type QueryVotingResultsResponse struct { @@ -25514,7 +23519,7 @@ type QueryVotingResultsResponse struct { func (x *QueryVotingResultsResponse) Reset() { *x = QueryVotingResultsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[37] + mi := &file_cardchain_cardchain_query_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25528,7 +23533,7 @@ func (*QueryVotingResultsResponse) ProtoMessage() {} // Deprecated: Use QueryVotingResultsResponse.ProtoReflect.Descriptor instead. func (*QueryVotingResultsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{37} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{33} } func (x *QueryVotingResultsResponse) GetLastVotingResults() *VotingResults { @@ -25554,7 +23559,7 @@ type QueryMatchesRequest struct { func (x *QueryMatchesRequest) Reset() { *x = QueryMatchesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[38] + mi := &file_cardchain_cardchain_query_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25568,7 +23573,7 @@ func (*QueryMatchesRequest) ProtoMessage() {} // Deprecated: Use QueryMatchesRequest.ProtoReflect.Descriptor instead. func (*QueryMatchesRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{38} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{34} } func (x *QueryMatchesRequest) GetTimestampDown() uint64 { @@ -25625,7 +23630,7 @@ type QueryMatchesResponse struct { func (x *QueryMatchesResponse) Reset() { *x = QueryMatchesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[39] + mi := &file_cardchain_cardchain_query_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25639,7 +23644,7 @@ func (*QueryMatchesResponse) ProtoMessage() {} // Deprecated: Use QueryMatchesResponse.ProtoReflect.Descriptor instead. func (*QueryMatchesResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{39} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{35} } func (x *QueryMatchesResponse) GetMatches() []*Match { @@ -25670,7 +23675,7 @@ type QuerySetsRequest struct { func (x *QuerySetsRequest) Reset() { *x = QuerySetsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[40] + mi := &file_cardchain_cardchain_query_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25684,7 +23689,7 @@ func (*QuerySetsRequest) ProtoMessage() {} // Deprecated: Use QuerySetsRequest.ProtoReflect.Descriptor instead. func (*QuerySetsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{40} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{36} } func (x *QuerySetsRequest) GetStatus() SetStatus { @@ -25726,7 +23731,7 @@ type QuerySetsResponse struct { func (x *QuerySetsResponse) Reset() { *x = QuerySetsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[41] + mi := &file_cardchain_cardchain_query_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25740,7 +23745,7 @@ func (*QuerySetsResponse) ProtoMessage() {} // Deprecated: Use QuerySetsResponse.ProtoReflect.Descriptor instead. func (*QuerySetsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{41} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{37} } func (x *QuerySetsResponse) GetSetIds() []uint64 { @@ -25761,7 +23766,7 @@ type QueryCardContentRequest struct { func (x *QueryCardContentRequest) Reset() { *x = QueryCardContentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[42] + mi := &file_cardchain_cardchain_query_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25775,7 +23780,7 @@ func (*QueryCardContentRequest) ProtoMessage() {} // Deprecated: Use QueryCardContentRequest.ProtoReflect.Descriptor instead. func (*QueryCardContentRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{42} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{38} } func (x *QueryCardContentRequest) GetCardId() uint64 { @@ -25796,7 +23801,7 @@ type QueryCardContentResponse struct { func (x *QueryCardContentResponse) Reset() { *x = QueryCardContentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[43] + mi := &file_cardchain_cardchain_query_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25810,7 +23815,7 @@ func (*QueryCardContentResponse) ProtoMessage() {} // Deprecated: Use QueryCardContentResponse.ProtoReflect.Descriptor instead. func (*QueryCardContentResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{43} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{39} } func (x *QueryCardContentResponse) GetCardContent() *CardContent { @@ -25831,7 +23836,7 @@ type QueryCardContentsRequest struct { func (x *QueryCardContentsRequest) Reset() { *x = QueryCardContentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[44] + mi := &file_cardchain_cardchain_query_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25845,7 +23850,7 @@ func (*QueryCardContentsRequest) ProtoMessage() {} // Deprecated: Use QueryCardContentsRequest.ProtoReflect.Descriptor instead. func (*QueryCardContentsRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{44} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{40} } func (x *QueryCardContentsRequest) GetCardIds() []uint64 { @@ -25866,7 +23871,7 @@ type QueryCardContentsResponse struct { func (x *QueryCardContentsResponse) Reset() { *x = QueryCardContentsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[45] + mi := &file_cardchain_cardchain_query_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25880,7 +23885,7 @@ func (*QueryCardContentsResponse) ProtoMessage() {} // Deprecated: Use QueryCardContentsResponse.ProtoReflect.Descriptor instead. func (*QueryCardContentsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{45} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{41} } func (x *QueryCardContentsResponse) GetCardContents() []*CardContent { @@ -25895,8 +23900,8 @@ type QuerySellOffersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PriceDown *v1beta11.Coin `protobuf:"bytes,1,opt,name=priceDown,proto3" json:"priceDown,omitempty"` - PriceUp *v1beta11.Coin `protobuf:"bytes,2,opt,name=priceUp,proto3" json:"priceUp,omitempty"` + PriceDown *v1beta1.Coin `protobuf:"bytes,1,opt,name=priceDown,proto3" json:"priceDown,omitempty"` + PriceUp *v1beta1.Coin `protobuf:"bytes,2,opt,name=priceUp,proto3" json:"priceUp,omitempty"` Seller string `protobuf:"bytes,3,opt,name=seller,proto3" json:"seller,omitempty"` Buyer string `protobuf:"bytes,4,opt,name=buyer,proto3" json:"buyer,omitempty"` Card uint64 `protobuf:"varint,5,opt,name=card,proto3" json:"card,omitempty"` @@ -25906,7 +23911,7 @@ type QuerySellOffersRequest struct { func (x *QuerySellOffersRequest) Reset() { *x = QuerySellOffersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[46] + mi := &file_cardchain_cardchain_query_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25920,17 +23925,17 @@ func (*QuerySellOffersRequest) ProtoMessage() {} // Deprecated: Use QuerySellOffersRequest.ProtoReflect.Descriptor instead. func (*QuerySellOffersRequest) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{46} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{42} } -func (x *QuerySellOffersRequest) GetPriceDown() *v1beta11.Coin { +func (x *QuerySellOffersRequest) GetPriceDown() *v1beta1.Coin { if x != nil { return x.PriceDown } return nil } -func (x *QuerySellOffersRequest) GetPriceUp() *v1beta11.Coin { +func (x *QuerySellOffersRequest) GetPriceUp() *v1beta1.Coin { if x != nil { return x.PriceUp } @@ -25977,7 +23982,7 @@ type QuerySellOffersResponse struct { func (x *QuerySellOffersResponse) Reset() { *x = QuerySellOffersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_query_proto_msgTypes[47] + mi := &file_cardchain_cardchain_query_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25991,7 +23996,7 @@ func (*QuerySellOffersResponse) ProtoMessage() {} // Deprecated: Use QuerySellOffersResponse.ProtoReflect.Descriptor instead. func (*QuerySellOffersResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{47} + return file_cardchain_cardchain_query_proto_rawDescGZIP(), []int{43} } func (x *QuerySellOffersResponse) GetSellOffers() []*SellOffer { @@ -26025,613 +24030,557 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x2a, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, - 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, - 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x63, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, + 0x77, 0x69, 0x74, 0x68, 0x5f, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x24, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, + 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x1d, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a, - 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x51, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, - 0x1f, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x22, 0x67, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x1e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, - 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, - 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, - 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, - 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, - 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, - 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, - 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, - 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, - 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, - 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, - 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, - 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, - 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, - 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x72, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, - 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, - 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, - 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, + 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x28, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, + 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x22, 0x2a, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, 0x0a, + 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x42, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xa0, 0x04, 0x0a, + 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x61, + 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2a, + 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, + 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, + 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, + 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, + 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x6e, + 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x61, + 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, - 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x49, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x03, - 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x03, - 0x73, 0x65, 0x74, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, - 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, - 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, + 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x72, + 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, + 0x2e, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, + 0x2d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x46, + 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, + 0x49, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x03, 0x73, 0x65, 0x74, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x22, 0x33, 0x0a, + 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x14, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x22, 0x30, 0x0a, 0x12, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4a, 0x0a, - 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, - 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x18, 0x0a, 0x16, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x22, 0x42, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, + 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x22, 0x30, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, - 0x21, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x6e, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x22, 0x39, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, + 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, + 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x42, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x1f, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, + 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x45, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x20, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, + 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x22, 0xd1, 0x02, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x10, 0x63, + 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x6c, + 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x39, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, + 0x49, 0x64, 0x22, 0x56, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, + 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x04, 0x52, 0x06, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x38, 0x0a, 0x1c, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, + 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, + 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, + 0x6c, 0x79, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, + 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6e, 0x0a, 0x1a, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x6c, 0x61, + 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x56, 0x6f, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, + 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xf9, 0x01, 0x0a, + 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x12, 0x24, 0x0a, 0x0d, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x36, + 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, + 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, + 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x22, 0x68, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x64, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x6f, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, + 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, + 0x2b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x31, 0x0a, 0x17, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, + 0x5e, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x63, + 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, + 0x34, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x61, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x92, 0x02, 0x0a, 0x16, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x44, 0x6f, 0x77, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, + 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x44, 0x6f, + 0x77, 0x6e, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x63, 0x65, 0x55, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, + 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x07, 0x70, 0x72, 0x69, 0x63, 0x65, 0x55, 0x70, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, + 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, + 0x3c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7d, 0x0a, + 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, + 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x73, 0x32, 0xa1, 0x1e, 0x0a, + 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, - 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, 0x02, 0x0a, - 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x63, - 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, - 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, - 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, - 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, - 0x61, 0x72, 0x64, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, - 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, - 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, - 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x22, 0x39, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, - 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x22, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x04, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, - 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x77, 0x61, 0x6e, - 0x74, 0x65, 0x64, 0x22, 0x38, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x22, 0x39, 0x0a, - 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, - 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6e, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xf9, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, - 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, - 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x55, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, - 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, - 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x64, 0x22, 0x68, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, + 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x04, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x10, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, - 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x2b, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x73, - 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x31, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x63, 0x61, 0x72, - 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x34, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x61, - 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x63, - 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x22, 0x92, 0x02, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x09, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, - 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x39, 0x0a, 0x07, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x07, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x55, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, - 0x75, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7d, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x49, 0x64, 0x73, 0x32, 0xa1, 0x21, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, - 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, + 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x61, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x61, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, + 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, + 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, + 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, + 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, + 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x04, 0x55, - 0x73, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, + 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, + 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, + 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, + 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, + 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, + 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, + 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, + 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, - 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, + 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, + 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, - 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, - 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, + 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, + 0x04, 0x53, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, + 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, - 0xc4, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, - 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, + 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, + 0x7d, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, + 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0xab, 0x01, 0x0a, + 0x0c, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x0a, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, - 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, + 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, - 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, - 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, - 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, - 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, - 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, - 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, - 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, + 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, - 0x6f, 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, - 0x70, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6f, - 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, 0x12, 0x25, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, - 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0xab, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, - 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, - 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, - 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, + 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -26646,165 +24595,150 @@ func file_cardchain_cardchain_query_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_query_proto_rawDescData } -var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 48) +var file_cardchain_cardchain_query_proto_msgTypes = make([]protoimpl.MessageInfo, 44) var file_cardchain_cardchain_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.cardchain.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.cardchain.QueryParamsResponse - (*QueryGetProductDetailsRequest)(nil), // 2: cardchain.cardchain.QueryGetProductDetailsRequest - (*QueryGetProductDetailsResponse)(nil), // 3: cardchain.cardchain.QueryGetProductDetailsResponse - (*QueryAllProductDetailsRequest)(nil), // 4: cardchain.cardchain.QueryAllProductDetailsRequest - (*QueryAllProductDetailsResponse)(nil), // 5: cardchain.cardchain.QueryAllProductDetailsResponse - (*QueryCardRequest)(nil), // 6: cardchain.cardchain.QueryCardRequest - (*QueryCardResponse)(nil), // 7: cardchain.cardchain.QueryCardResponse - (*QueryUserRequest)(nil), // 8: cardchain.cardchain.QueryUserRequest - (*QueryUserResponse)(nil), // 9: cardchain.cardchain.QueryUserResponse - (*QueryCardsRequest)(nil), // 10: cardchain.cardchain.QueryCardsRequest - (*QueryCardsResponse)(nil), // 11: cardchain.cardchain.QueryCardsResponse - (*QueryMatchRequest)(nil), // 12: cardchain.cardchain.QueryMatchRequest - (*QueryMatchResponse)(nil), // 13: cardchain.cardchain.QueryMatchResponse - (*QuerySetRequest)(nil), // 14: cardchain.cardchain.QuerySetRequest - (*QuerySetResponse)(nil), // 15: cardchain.cardchain.QuerySetResponse - (*QuerySellOfferRequest)(nil), // 16: cardchain.cardchain.QuerySellOfferRequest - (*QuerySellOfferResponse)(nil), // 17: cardchain.cardchain.QuerySellOfferResponse - (*QueryCouncilRequest)(nil), // 18: cardchain.cardchain.QueryCouncilRequest - (*QueryCouncilResponse)(nil), // 19: cardchain.cardchain.QueryCouncilResponse - (*QueryServerRequest)(nil), // 20: cardchain.cardchain.QueryServerRequest - (*QueryServerResponse)(nil), // 21: cardchain.cardchain.QueryServerResponse - (*QueryEncounterRequest)(nil), // 22: cardchain.cardchain.QueryEncounterRequest - (*QueryEncounterResponse)(nil), // 23: cardchain.cardchain.QueryEncounterResponse - (*QueryEncountersRequest)(nil), // 24: cardchain.cardchain.QueryEncountersRequest - (*QueryEncountersResponse)(nil), // 25: cardchain.cardchain.QueryEncountersResponse - (*QueryEncounterWithImageRequest)(nil), // 26: cardchain.cardchain.QueryEncounterWithImageRequest - (*QueryEncounterWithImageResponse)(nil), // 27: cardchain.cardchain.QueryEncounterWithImageResponse - (*QueryEncountersWithImageRequest)(nil), // 28: cardchain.cardchain.QueryEncountersWithImageRequest - (*QueryEncountersWithImageResponse)(nil), // 29: cardchain.cardchain.QueryEncountersWithImageResponse - (*QueryCardchainInfoRequest)(nil), // 30: cardchain.cardchain.QueryCardchainInfoRequest - (*QueryCardchainInfoResponse)(nil), // 31: cardchain.cardchain.QueryCardchainInfoResponse - (*QuerySetRarityDistributionRequest)(nil), // 32: cardchain.cardchain.QuerySetRarityDistributionRequest - (*QuerySetRarityDistributionResponse)(nil), // 33: cardchain.cardchain.QuerySetRarityDistributionResponse - (*QueryAccountFromZealyRequest)(nil), // 34: cardchain.cardchain.QueryAccountFromZealyRequest - (*QueryAccountFromZealyResponse)(nil), // 35: cardchain.cardchain.QueryAccountFromZealyResponse - (*QueryVotingResultsRequest)(nil), // 36: cardchain.cardchain.QueryVotingResultsRequest - (*QueryVotingResultsResponse)(nil), // 37: cardchain.cardchain.QueryVotingResultsResponse - (*QueryMatchesRequest)(nil), // 38: cardchain.cardchain.QueryMatchesRequest - (*QueryMatchesResponse)(nil), // 39: cardchain.cardchain.QueryMatchesResponse - (*QuerySetsRequest)(nil), // 40: cardchain.cardchain.QuerySetsRequest - (*QuerySetsResponse)(nil), // 41: cardchain.cardchain.QuerySetsResponse - (*QueryCardContentRequest)(nil), // 42: cardchain.cardchain.QueryCardContentRequest - (*QueryCardContentResponse)(nil), // 43: cardchain.cardchain.QueryCardContentResponse - (*QueryCardContentsRequest)(nil), // 44: cardchain.cardchain.QueryCardContentsRequest - (*QueryCardContentsResponse)(nil), // 45: cardchain.cardchain.QueryCardContentsResponse - (*QuerySellOffersRequest)(nil), // 46: cardchain.cardchain.QuerySellOffersRequest - (*QuerySellOffersResponse)(nil), // 47: cardchain.cardchain.QuerySellOffersResponse - (*Params)(nil), // 48: cardchain.cardchain.Params - (*ProductDetails)(nil), // 49: cardchain.cardchain.ProductDetails - (*v1beta1.PageRequest)(nil), // 50: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 51: cosmos.base.query.v1beta1.PageResponse - (*CardWithImage)(nil), // 52: cardchain.cardchain.CardWithImage - (*User)(nil), // 53: cardchain.cardchain.User - (CardStatus)(0), // 54: cardchain.cardchain.CardStatus - (CardType)(0), // 55: cardchain.cardchain.CardType - (CardClass)(0), // 56: cardchain.cardchain.CardClass - (CardRarity)(0), // 57: cardchain.cardchain.CardRarity - (*Match)(nil), // 58: cardchain.cardchain.Match - (*SetWithArtwork)(nil), // 59: cardchain.cardchain.SetWithArtwork - (*SellOffer)(nil), // 60: cardchain.cardchain.SellOffer - (*Council)(nil), // 61: cardchain.cardchain.Council - (*Server)(nil), // 62: cardchain.cardchain.Server - (*Encounter)(nil), // 63: cardchain.cardchain.Encounter - (*EncounterWithImage)(nil), // 64: cardchain.cardchain.EncounterWithImage - (*v1beta11.Coin)(nil), // 65: cosmos.base.v1beta1.Coin - (*VotingResults)(nil), // 66: cardchain.cardchain.VotingResults - (Outcome)(0), // 67: cardchain.cardchain.Outcome - (SetStatus)(0), // 68: cardchain.cardchain.SetStatus - (*CardContent)(nil), // 69: cardchain.cardchain.CardContent - (SellOfferStatus)(0), // 70: cardchain.cardchain.SellOfferStatus + (*QueryCardRequest)(nil), // 2: cardchain.cardchain.QueryCardRequest + (*QueryCardResponse)(nil), // 3: cardchain.cardchain.QueryCardResponse + (*QueryUserRequest)(nil), // 4: cardchain.cardchain.QueryUserRequest + (*QueryUserResponse)(nil), // 5: cardchain.cardchain.QueryUserResponse + (*QueryCardsRequest)(nil), // 6: cardchain.cardchain.QueryCardsRequest + (*QueryCardsResponse)(nil), // 7: cardchain.cardchain.QueryCardsResponse + (*QueryMatchRequest)(nil), // 8: cardchain.cardchain.QueryMatchRequest + (*QueryMatchResponse)(nil), // 9: cardchain.cardchain.QueryMatchResponse + (*QuerySetRequest)(nil), // 10: cardchain.cardchain.QuerySetRequest + (*QuerySetResponse)(nil), // 11: cardchain.cardchain.QuerySetResponse + (*QuerySellOfferRequest)(nil), // 12: cardchain.cardchain.QuerySellOfferRequest + (*QuerySellOfferResponse)(nil), // 13: cardchain.cardchain.QuerySellOfferResponse + (*QueryCouncilRequest)(nil), // 14: cardchain.cardchain.QueryCouncilRequest + (*QueryCouncilResponse)(nil), // 15: cardchain.cardchain.QueryCouncilResponse + (*QueryServerRequest)(nil), // 16: cardchain.cardchain.QueryServerRequest + (*QueryServerResponse)(nil), // 17: cardchain.cardchain.QueryServerResponse + (*QueryEncounterRequest)(nil), // 18: cardchain.cardchain.QueryEncounterRequest + (*QueryEncounterResponse)(nil), // 19: cardchain.cardchain.QueryEncounterResponse + (*QueryEncountersRequest)(nil), // 20: cardchain.cardchain.QueryEncountersRequest + (*QueryEncountersResponse)(nil), // 21: cardchain.cardchain.QueryEncountersResponse + (*QueryEncounterWithImageRequest)(nil), // 22: cardchain.cardchain.QueryEncounterWithImageRequest + (*QueryEncounterWithImageResponse)(nil), // 23: cardchain.cardchain.QueryEncounterWithImageResponse + (*QueryEncountersWithImageRequest)(nil), // 24: cardchain.cardchain.QueryEncountersWithImageRequest + (*QueryEncountersWithImageResponse)(nil), // 25: cardchain.cardchain.QueryEncountersWithImageResponse + (*QueryCardchainInfoRequest)(nil), // 26: cardchain.cardchain.QueryCardchainInfoRequest + (*QueryCardchainInfoResponse)(nil), // 27: cardchain.cardchain.QueryCardchainInfoResponse + (*QuerySetRarityDistributionRequest)(nil), // 28: cardchain.cardchain.QuerySetRarityDistributionRequest + (*QuerySetRarityDistributionResponse)(nil), // 29: cardchain.cardchain.QuerySetRarityDistributionResponse + (*QueryAccountFromZealyRequest)(nil), // 30: cardchain.cardchain.QueryAccountFromZealyRequest + (*QueryAccountFromZealyResponse)(nil), // 31: cardchain.cardchain.QueryAccountFromZealyResponse + (*QueryVotingResultsRequest)(nil), // 32: cardchain.cardchain.QueryVotingResultsRequest + (*QueryVotingResultsResponse)(nil), // 33: cardchain.cardchain.QueryVotingResultsResponse + (*QueryMatchesRequest)(nil), // 34: cardchain.cardchain.QueryMatchesRequest + (*QueryMatchesResponse)(nil), // 35: cardchain.cardchain.QueryMatchesResponse + (*QuerySetsRequest)(nil), // 36: cardchain.cardchain.QuerySetsRequest + (*QuerySetsResponse)(nil), // 37: cardchain.cardchain.QuerySetsResponse + (*QueryCardContentRequest)(nil), // 38: cardchain.cardchain.QueryCardContentRequest + (*QueryCardContentResponse)(nil), // 39: cardchain.cardchain.QueryCardContentResponse + (*QueryCardContentsRequest)(nil), // 40: cardchain.cardchain.QueryCardContentsRequest + (*QueryCardContentsResponse)(nil), // 41: cardchain.cardchain.QueryCardContentsResponse + (*QuerySellOffersRequest)(nil), // 42: cardchain.cardchain.QuerySellOffersRequest + (*QuerySellOffersResponse)(nil), // 43: cardchain.cardchain.QuerySellOffersResponse + (*Params)(nil), // 44: cardchain.cardchain.Params + (*CardWithImage)(nil), // 45: cardchain.cardchain.CardWithImage + (*User)(nil), // 46: cardchain.cardchain.User + (CardStatus)(0), // 47: cardchain.cardchain.CardStatus + (CardType)(0), // 48: cardchain.cardchain.CardType + (CardClass)(0), // 49: cardchain.cardchain.CardClass + (CardRarity)(0), // 50: cardchain.cardchain.CardRarity + (*Match)(nil), // 51: cardchain.cardchain.Match + (*SetWithArtwork)(nil), // 52: cardchain.cardchain.SetWithArtwork + (*SellOffer)(nil), // 53: cardchain.cardchain.SellOffer + (*Council)(nil), // 54: cardchain.cardchain.Council + (*Server)(nil), // 55: cardchain.cardchain.Server + (*Encounter)(nil), // 56: cardchain.cardchain.Encounter + (*EncounterWithImage)(nil), // 57: cardchain.cardchain.EncounterWithImage + (*v1beta1.Coin)(nil), // 58: cosmos.base.v1beta1.Coin + (*VotingResults)(nil), // 59: cardchain.cardchain.VotingResults + (Outcome)(0), // 60: cardchain.cardchain.Outcome + (SetStatus)(0), // 61: cardchain.cardchain.SetStatus + (*CardContent)(nil), // 62: cardchain.cardchain.CardContent + (SellOfferStatus)(0), // 63: cardchain.cardchain.SellOfferStatus } var file_cardchain_cardchain_query_proto_depIdxs = []int32{ - 48, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params - 49, // 1: cardchain.cardchain.QueryGetProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 50, // 2: cardchain.cardchain.QueryAllProductDetailsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 49, // 3: cardchain.cardchain.QueryAllProductDetailsResponse.ProductDetails:type_name -> cardchain.cardchain.ProductDetails - 51, // 4: cardchain.cardchain.QueryAllProductDetailsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 52, // 5: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage - 53, // 6: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User - 54, // 7: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus - 55, // 8: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType - 56, // 9: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass - 57, // 10: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity - 58, // 11: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match - 59, // 12: cardchain.cardchain.QuerySetResponse.set:type_name -> cardchain.cardchain.SetWithArtwork - 60, // 13: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer - 61, // 14: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council - 62, // 15: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server - 63, // 16: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter - 63, // 17: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter - 64, // 18: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage - 64, // 19: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage - 65, // 20: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin - 66, // 21: cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults:type_name -> cardchain.cardchain.VotingResults - 67, // 22: cardchain.cardchain.QueryMatchesRequest.outcome:type_name -> cardchain.cardchain.Outcome - 58, // 23: cardchain.cardchain.QueryMatchesResponse.matches:type_name -> cardchain.cardchain.Match - 68, // 24: cardchain.cardchain.QuerySetsRequest.status:type_name -> cardchain.cardchain.SetStatus - 69, // 25: cardchain.cardchain.QueryCardContentResponse.cardContent:type_name -> cardchain.cardchain.CardContent - 69, // 26: cardchain.cardchain.QueryCardContentsResponse.cardContents:type_name -> cardchain.cardchain.CardContent - 65, // 27: cardchain.cardchain.QuerySellOffersRequest.priceDown:type_name -> cosmos.base.v1beta1.Coin - 65, // 28: cardchain.cardchain.QuerySellOffersRequest.priceUp:type_name -> cosmos.base.v1beta1.Coin - 70, // 29: cardchain.cardchain.QuerySellOffersRequest.status:type_name -> cardchain.cardchain.SellOfferStatus - 60, // 30: cardchain.cardchain.QuerySellOffersResponse.sellOffers:type_name -> cardchain.cardchain.SellOffer - 0, // 31: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest - 2, // 32: cardchain.cardchain.Query.ProductDetails:input_type -> cardchain.cardchain.QueryGetProductDetailsRequest - 4, // 33: cardchain.cardchain.Query.ProductDetailsAll:input_type -> cardchain.cardchain.QueryAllProductDetailsRequest - 6, // 34: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest - 8, // 35: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest - 10, // 36: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest - 12, // 37: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest - 14, // 38: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest - 16, // 39: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest - 18, // 40: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest - 20, // 41: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest - 22, // 42: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest - 24, // 43: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest - 26, // 44: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest - 28, // 45: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest - 30, // 46: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest - 32, // 47: cardchain.cardchain.Query.SetRarityDistribution:input_type -> cardchain.cardchain.QuerySetRarityDistributionRequest - 34, // 48: cardchain.cardchain.Query.AccountFromZealy:input_type -> cardchain.cardchain.QueryAccountFromZealyRequest - 36, // 49: cardchain.cardchain.Query.VotingResults:input_type -> cardchain.cardchain.QueryVotingResultsRequest - 38, // 50: cardchain.cardchain.Query.Matches:input_type -> cardchain.cardchain.QueryMatchesRequest - 40, // 51: cardchain.cardchain.Query.Sets:input_type -> cardchain.cardchain.QuerySetsRequest - 42, // 52: cardchain.cardchain.Query.CardContent:input_type -> cardchain.cardchain.QueryCardContentRequest - 44, // 53: cardchain.cardchain.Query.CardContents:input_type -> cardchain.cardchain.QueryCardContentsRequest - 46, // 54: cardchain.cardchain.Query.SellOffers:input_type -> cardchain.cardchain.QuerySellOffersRequest - 1, // 55: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse - 3, // 56: cardchain.cardchain.Query.ProductDetails:output_type -> cardchain.cardchain.QueryGetProductDetailsResponse - 5, // 57: cardchain.cardchain.Query.ProductDetailsAll:output_type -> cardchain.cardchain.QueryAllProductDetailsResponse - 7, // 58: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse - 9, // 59: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse - 11, // 60: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse - 13, // 61: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse - 15, // 62: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse - 17, // 63: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse - 19, // 64: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse - 21, // 65: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse - 23, // 66: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse - 25, // 67: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse - 27, // 68: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse - 29, // 69: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse - 31, // 70: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse - 33, // 71: cardchain.cardchain.Query.SetRarityDistribution:output_type -> cardchain.cardchain.QuerySetRarityDistributionResponse - 35, // 72: cardchain.cardchain.Query.AccountFromZealy:output_type -> cardchain.cardchain.QueryAccountFromZealyResponse - 37, // 73: cardchain.cardchain.Query.VotingResults:output_type -> cardchain.cardchain.QueryVotingResultsResponse - 39, // 74: cardchain.cardchain.Query.Matches:output_type -> cardchain.cardchain.QueryMatchesResponse - 41, // 75: cardchain.cardchain.Query.Sets:output_type -> cardchain.cardchain.QuerySetsResponse - 43, // 76: cardchain.cardchain.Query.CardContent:output_type -> cardchain.cardchain.QueryCardContentResponse - 45, // 77: cardchain.cardchain.Query.CardContents:output_type -> cardchain.cardchain.QueryCardContentsResponse - 47, // 78: cardchain.cardchain.Query.SellOffers:output_type -> cardchain.cardchain.QuerySellOffersResponse - 55, // [55:79] is the sub-list for method output_type - 31, // [31:55] is the sub-list for method input_type - 31, // [31:31] is the sub-list for extension type_name - 31, // [31:31] is the sub-list for extension extendee - 0, // [0:31] is the sub-list for field type_name + 44, // 0: cardchain.cardchain.QueryParamsResponse.params:type_name -> cardchain.cardchain.Params + 45, // 1: cardchain.cardchain.QueryCardResponse.card:type_name -> cardchain.cardchain.CardWithImage + 46, // 2: cardchain.cardchain.QueryUserResponse.user:type_name -> cardchain.cardchain.User + 47, // 3: cardchain.cardchain.QueryCardsRequest.status:type_name -> cardchain.cardchain.CardStatus + 48, // 4: cardchain.cardchain.QueryCardsRequest.cardType:type_name -> cardchain.cardchain.CardType + 49, // 5: cardchain.cardchain.QueryCardsRequest.class:type_name -> cardchain.cardchain.CardClass + 50, // 6: cardchain.cardchain.QueryCardsRequest.rarities:type_name -> cardchain.cardchain.CardRarity + 51, // 7: cardchain.cardchain.QueryMatchResponse.match:type_name -> cardchain.cardchain.Match + 52, // 8: cardchain.cardchain.QuerySetResponse.set:type_name -> cardchain.cardchain.SetWithArtwork + 53, // 9: cardchain.cardchain.QuerySellOfferResponse.sellOffer:type_name -> cardchain.cardchain.SellOffer + 54, // 10: cardchain.cardchain.QueryCouncilResponse.council:type_name -> cardchain.cardchain.Council + 55, // 11: cardchain.cardchain.QueryServerResponse.server:type_name -> cardchain.cardchain.Server + 56, // 12: cardchain.cardchain.QueryEncounterResponse.encounter:type_name -> cardchain.cardchain.Encounter + 56, // 13: cardchain.cardchain.QueryEncountersResponse.encounters:type_name -> cardchain.cardchain.Encounter + 57, // 14: cardchain.cardchain.QueryEncounterWithImageResponse.encounter:type_name -> cardchain.cardchain.EncounterWithImage + 57, // 15: cardchain.cardchain.QueryEncountersWithImageResponse.encounters:type_name -> cardchain.cardchain.EncounterWithImage + 58, // 16: cardchain.cardchain.QueryCardchainInfoResponse.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin + 59, // 17: cardchain.cardchain.QueryVotingResultsResponse.lastVotingResults:type_name -> cardchain.cardchain.VotingResults + 60, // 18: cardchain.cardchain.QueryMatchesRequest.outcome:type_name -> cardchain.cardchain.Outcome + 51, // 19: cardchain.cardchain.QueryMatchesResponse.matches:type_name -> cardchain.cardchain.Match + 61, // 20: cardchain.cardchain.QuerySetsRequest.status:type_name -> cardchain.cardchain.SetStatus + 62, // 21: cardchain.cardchain.QueryCardContentResponse.cardContent:type_name -> cardchain.cardchain.CardContent + 62, // 22: cardchain.cardchain.QueryCardContentsResponse.cardContents:type_name -> cardchain.cardchain.CardContent + 58, // 23: cardchain.cardchain.QuerySellOffersRequest.priceDown:type_name -> cosmos.base.v1beta1.Coin + 58, // 24: cardchain.cardchain.QuerySellOffersRequest.priceUp:type_name -> cosmos.base.v1beta1.Coin + 63, // 25: cardchain.cardchain.QuerySellOffersRequest.status:type_name -> cardchain.cardchain.SellOfferStatus + 53, // 26: cardchain.cardchain.QuerySellOffersResponse.sellOffers:type_name -> cardchain.cardchain.SellOffer + 0, // 27: cardchain.cardchain.Query.Params:input_type -> cardchain.cardchain.QueryParamsRequest + 2, // 28: cardchain.cardchain.Query.Card:input_type -> cardchain.cardchain.QueryCardRequest + 4, // 29: cardchain.cardchain.Query.User:input_type -> cardchain.cardchain.QueryUserRequest + 6, // 30: cardchain.cardchain.Query.Cards:input_type -> cardchain.cardchain.QueryCardsRequest + 8, // 31: cardchain.cardchain.Query.Match:input_type -> cardchain.cardchain.QueryMatchRequest + 10, // 32: cardchain.cardchain.Query.Set:input_type -> cardchain.cardchain.QuerySetRequest + 12, // 33: cardchain.cardchain.Query.SellOffer:input_type -> cardchain.cardchain.QuerySellOfferRequest + 14, // 34: cardchain.cardchain.Query.Council:input_type -> cardchain.cardchain.QueryCouncilRequest + 16, // 35: cardchain.cardchain.Query.Server:input_type -> cardchain.cardchain.QueryServerRequest + 18, // 36: cardchain.cardchain.Query.Encounter:input_type -> cardchain.cardchain.QueryEncounterRequest + 20, // 37: cardchain.cardchain.Query.Encounters:input_type -> cardchain.cardchain.QueryEncountersRequest + 22, // 38: cardchain.cardchain.Query.EncounterWithImage:input_type -> cardchain.cardchain.QueryEncounterWithImageRequest + 24, // 39: cardchain.cardchain.Query.EncountersWithImage:input_type -> cardchain.cardchain.QueryEncountersWithImageRequest + 26, // 40: cardchain.cardchain.Query.CardchainInfo:input_type -> cardchain.cardchain.QueryCardchainInfoRequest + 28, // 41: cardchain.cardchain.Query.SetRarityDistribution:input_type -> cardchain.cardchain.QuerySetRarityDistributionRequest + 30, // 42: cardchain.cardchain.Query.AccountFromZealy:input_type -> cardchain.cardchain.QueryAccountFromZealyRequest + 32, // 43: cardchain.cardchain.Query.VotingResults:input_type -> cardchain.cardchain.QueryVotingResultsRequest + 34, // 44: cardchain.cardchain.Query.Matches:input_type -> cardchain.cardchain.QueryMatchesRequest + 36, // 45: cardchain.cardchain.Query.Sets:input_type -> cardchain.cardchain.QuerySetsRequest + 38, // 46: cardchain.cardchain.Query.CardContent:input_type -> cardchain.cardchain.QueryCardContentRequest + 40, // 47: cardchain.cardchain.Query.CardContents:input_type -> cardchain.cardchain.QueryCardContentsRequest + 42, // 48: cardchain.cardchain.Query.SellOffers:input_type -> cardchain.cardchain.QuerySellOffersRequest + 1, // 49: cardchain.cardchain.Query.Params:output_type -> cardchain.cardchain.QueryParamsResponse + 3, // 50: cardchain.cardchain.Query.Card:output_type -> cardchain.cardchain.QueryCardResponse + 5, // 51: cardchain.cardchain.Query.User:output_type -> cardchain.cardchain.QueryUserResponse + 7, // 52: cardchain.cardchain.Query.Cards:output_type -> cardchain.cardchain.QueryCardsResponse + 9, // 53: cardchain.cardchain.Query.Match:output_type -> cardchain.cardchain.QueryMatchResponse + 11, // 54: cardchain.cardchain.Query.Set:output_type -> cardchain.cardchain.QuerySetResponse + 13, // 55: cardchain.cardchain.Query.SellOffer:output_type -> cardchain.cardchain.QuerySellOfferResponse + 15, // 56: cardchain.cardchain.Query.Council:output_type -> cardchain.cardchain.QueryCouncilResponse + 17, // 57: cardchain.cardchain.Query.Server:output_type -> cardchain.cardchain.QueryServerResponse + 19, // 58: cardchain.cardchain.Query.Encounter:output_type -> cardchain.cardchain.QueryEncounterResponse + 21, // 59: cardchain.cardchain.Query.Encounters:output_type -> cardchain.cardchain.QueryEncountersResponse + 23, // 60: cardchain.cardchain.Query.EncounterWithImage:output_type -> cardchain.cardchain.QueryEncounterWithImageResponse + 25, // 61: cardchain.cardchain.Query.EncountersWithImage:output_type -> cardchain.cardchain.QueryEncountersWithImageResponse + 27, // 62: cardchain.cardchain.Query.CardchainInfo:output_type -> cardchain.cardchain.QueryCardchainInfoResponse + 29, // 63: cardchain.cardchain.Query.SetRarityDistribution:output_type -> cardchain.cardchain.QuerySetRarityDistributionResponse + 31, // 64: cardchain.cardchain.Query.AccountFromZealy:output_type -> cardchain.cardchain.QueryAccountFromZealyResponse + 33, // 65: cardchain.cardchain.Query.VotingResults:output_type -> cardchain.cardchain.QueryVotingResultsResponse + 35, // 66: cardchain.cardchain.Query.Matches:output_type -> cardchain.cardchain.QueryMatchesResponse + 37, // 67: cardchain.cardchain.Query.Sets:output_type -> cardchain.cardchain.QuerySetsResponse + 39, // 68: cardchain.cardchain.Query.CardContent:output_type -> cardchain.cardchain.QueryCardContentResponse + 41, // 69: cardchain.cardchain.Query.CardContents:output_type -> cardchain.cardchain.QueryCardContentsResponse + 43, // 70: cardchain.cardchain.Query.SellOffers:output_type -> cardchain.cardchain.QuerySellOffersResponse + 49, // [49:71] is the sub-list for method output_type + 27, // [27:49] is the sub-list for method input_type + 27, // [27:27] is the sub-list for extension type_name + 27, // [27:27] is the sub-list for extension extendee + 0, // [0:27] is the sub-list for field type_name } func init() { file_cardchain_cardchain_query_proto_init() } @@ -26813,7 +24747,6 @@ func file_cardchain_cardchain_query_proto_init() { return } file_cardchain_cardchain_params_proto_init() - file_cardchain_cardchain_product_details_proto_init() file_cardchain_cardchain_card_with_image_proto_init() file_cardchain_cardchain_user_proto_init() file_cardchain_cardchain_card_proto_init() @@ -26853,54 +24786,6 @@ func file_cardchain_cardchain_query_proto_init() { } } file_cardchain_cardchain_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryGetProductDetailsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryGetProductDetailsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryAllProductDetailsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryAllProductDetailsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryCardRequest); i { case 0: return &v.state @@ -26912,7 +24797,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryCardResponse); i { case 0: return &v.state @@ -26924,7 +24809,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryUserRequest); i { case 0: return &v.state @@ -26936,7 +24821,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryUserResponse); i { case 0: return &v.state @@ -26948,7 +24833,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryCardsRequest); i { case 0: return &v.state @@ -26960,7 +24845,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryCardsResponse); i { case 0: return &v.state @@ -26972,7 +24857,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryMatchRequest); i { case 0: return &v.state @@ -26984,7 +24869,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryMatchResponse); i { case 0: return &v.state @@ -26996,7 +24881,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuerySetRequest); i { case 0: return &v.state @@ -27008,7 +24893,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuerySetResponse); i { case 0: return &v.state @@ -27020,7 +24905,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuerySellOfferRequest); i { case 0: return &v.state @@ -27032,7 +24917,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuerySellOfferResponse); i { case 0: return &v.state @@ -27044,7 +24929,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryCouncilRequest); i { case 0: return &v.state @@ -27056,7 +24941,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryCouncilResponse); i { case 0: return &v.state @@ -27068,7 +24953,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryServerRequest); i { case 0: return &v.state @@ -27080,7 +24965,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryServerResponse); i { case 0: return &v.state @@ -27092,7 +24977,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryEncounterRequest); i { case 0: return &v.state @@ -27104,7 +24989,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryEncounterResponse); i { case 0: return &v.state @@ -27116,7 +25001,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryEncountersRequest); i { case 0: return &v.state @@ -27128,7 +25013,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryEncountersResponse); i { case 0: return &v.state @@ -27140,7 +25025,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryEncounterWithImageRequest); i { case 0: return &v.state @@ -27152,7 +25037,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryEncounterWithImageResponse); i { case 0: return &v.state @@ -27164,7 +25049,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryEncountersWithImageRequest); i { case 0: return &v.state @@ -27176,7 +25061,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryEncountersWithImageResponse); i { case 0: return &v.state @@ -27188,7 +25073,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryCardchainInfoRequest); i { case 0: return &v.state @@ -27200,7 +25085,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryCardchainInfoResponse); i { case 0: return &v.state @@ -27212,7 +25097,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuerySetRarityDistributionRequest); i { case 0: return &v.state @@ -27224,7 +25109,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuerySetRarityDistributionResponse); i { case 0: return &v.state @@ -27236,7 +25121,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryAccountFromZealyRequest); i { case 0: return &v.state @@ -27248,7 +25133,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryAccountFromZealyResponse); i { case 0: return &v.state @@ -27260,7 +25145,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryVotingResultsRequest); i { case 0: return &v.state @@ -27272,7 +25157,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryVotingResultsResponse); i { case 0: return &v.state @@ -27284,7 +25169,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryMatchesRequest); i { case 0: return &v.state @@ -27296,7 +25181,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryMatchesResponse); i { case 0: return &v.state @@ -27308,7 +25193,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuerySetsRequest); i { case 0: return &v.state @@ -27320,7 +25205,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuerySetsResponse); i { case 0: return &v.state @@ -27332,7 +25217,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryCardContentRequest); i { case 0: return &v.state @@ -27344,7 +25229,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryCardContentResponse); i { case 0: return &v.state @@ -27356,7 +25241,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryCardContentsRequest); i { case 0: return &v.state @@ -27368,7 +25253,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryCardContentsResponse); i { case 0: return &v.state @@ -27380,7 +25265,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuerySellOffersRequest); i { case 0: return &v.state @@ -27392,7 +25277,7 @@ func file_cardchain_cardchain_query_proto_init() { return nil } } - file_cardchain_cardchain_query_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_query_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuerySellOffersResponse); i { case 0: return &v.state @@ -27411,7 +25296,7 @@ func file_cardchain_cardchain_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_query_proto_rawDesc, NumEnums: 0, - NumMessages: 48, + NumMessages: 44, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/query_grpc.pb.go b/api/cardchain/cardchain/query_grpc.pb.go index 21b61c46..3a682e4b 100644 --- a/api/cardchain/cardchain/query_grpc.pb.go +++ b/api/cardchain/cardchain/query_grpc.pb.go @@ -20,8 +20,6 @@ const _ = grpc.SupportPackageIsVersion7 const ( Query_Params_FullMethodName = "/cardchain.cardchain.Query/Params" - Query_ProductDetails_FullMethodName = "/cardchain.cardchain.Query/ProductDetails" - Query_ProductDetailsAll_FullMethodName = "/cardchain.cardchain.Query/ProductDetailsAll" Query_Card_FullMethodName = "/cardchain.cardchain.Query/Card" Query_User_FullMethodName = "/cardchain.cardchain.Query/User" Query_Cards_FullMethodName = "/cardchain.cardchain.Query/Cards" @@ -51,9 +49,6 @@ const ( 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 ProductDetails items. - ProductDetails(ctx context.Context, in *QueryGetProductDetailsRequest, opts ...grpc.CallOption) (*QueryGetProductDetailsResponse, error) - ProductDetailsAll(ctx context.Context, in *QueryAllProductDetailsRequest, opts ...grpc.CallOption) (*QueryAllProductDetailsResponse, error) // Queries a list of Card items. Card(ctx context.Context, in *QueryCardRequest, opts ...grpc.CallOption) (*QueryCardResponse, error) // Queries a list of User items. @@ -115,24 +110,6 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . return out, nil } -func (c *queryClient) ProductDetails(ctx context.Context, in *QueryGetProductDetailsRequest, opts ...grpc.CallOption) (*QueryGetProductDetailsResponse, error) { - out := new(QueryGetProductDetailsResponse) - err := c.cc.Invoke(ctx, Query_ProductDetails_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) ProductDetailsAll(ctx context.Context, in *QueryAllProductDetailsRequest, opts ...grpc.CallOption) (*QueryAllProductDetailsResponse, error) { - out := new(QueryAllProductDetailsResponse) - err := c.cc.Invoke(ctx, Query_ProductDetailsAll_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *queryClient) Card(ctx context.Context, in *QueryCardRequest, opts ...grpc.CallOption) (*QueryCardResponse, error) { out := new(QueryCardResponse) err := c.cc.Invoke(ctx, Query_Card_FullMethodName, in, out, opts...) @@ -328,9 +305,6 @@ func (c *queryClient) SellOffers(ctx context.Context, in *QuerySellOffersRequest type QueryServer interface { // Parameters queries the parameters of the module. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) - // Queries a list of ProductDetails items. - ProductDetails(context.Context, *QueryGetProductDetailsRequest) (*QueryGetProductDetailsResponse, error) - ProductDetailsAll(context.Context, *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) // Queries a list of Card items. Card(context.Context, *QueryCardRequest) (*QueryCardResponse, error) // Queries a list of User items. @@ -383,12 +357,6 @@ type UnimplementedQueryServer struct { func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } -func (UnimplementedQueryServer) ProductDetails(context.Context, *QueryGetProductDetailsRequest) (*QueryGetProductDetailsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProductDetails not implemented") -} -func (UnimplementedQueryServer) ProductDetailsAll(context.Context, *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProductDetailsAll not implemented") -} func (UnimplementedQueryServer) Card(context.Context, *QueryCardRequest) (*QueryCardResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Card not implemented") } @@ -483,42 +451,6 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } -func _Query_ProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryGetProductDetailsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ProductDetails(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Query_ProductDetails_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProductDetails(ctx, req.(*QueryGetProductDetailsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_ProductDetailsAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryAllProductDetailsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ProductDetailsAll(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Query_ProductDetailsAll_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProductDetailsAll(ctx, req.(*QueryAllProductDetailsRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _Query_Card_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryCardRequest) if err := dec(in); err != nil { @@ -908,14 +840,6 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Params", Handler: _Query_Params_Handler, }, - { - MethodName: "ProductDetails", - Handler: _Query_ProductDetails_Handler, - }, - { - MethodName: "ProductDetailsAll", - Handler: _Query_ProductDetailsAll_Handler, - }, { MethodName: "Card", Handler: _Query_Card_Handler, diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index 770d294f..9a6a1903 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -43151,2734 +43151,6 @@ func (x *fastReflection_MsgEncounterCloseResponse) ProtoMethods() *protoiface.Me } } -var ( - md_MsgCreateProductDetails protoreflect.MessageDescriptor - fd_MsgCreateProductDetails_creator protoreflect.FieldDescriptor - fd_MsgCreateProductDetails_name protoreflect.FieldDescriptor - fd_MsgCreateProductDetails_desc protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_tx_proto_init() - md_MsgCreateProductDetails = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCreateProductDetails") - fd_MsgCreateProductDetails_creator = md_MsgCreateProductDetails.Fields().ByName("creator") - fd_MsgCreateProductDetails_name = md_MsgCreateProductDetails.Fields().ByName("name") - fd_MsgCreateProductDetails_desc = md_MsgCreateProductDetails.Fields().ByName("desc") -} - -var _ protoreflect.Message = (*fastReflection_MsgCreateProductDetails)(nil) - -type fastReflection_MsgCreateProductDetails MsgCreateProductDetails - -func (x *MsgCreateProductDetails) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgCreateProductDetails)(x) -} - -func (x *MsgCreateProductDetails) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[94] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_MsgCreateProductDetails_messageType fastReflection_MsgCreateProductDetails_messageType -var _ protoreflect.MessageType = fastReflection_MsgCreateProductDetails_messageType{} - -type fastReflection_MsgCreateProductDetails_messageType struct{} - -func (x fastReflection_MsgCreateProductDetails_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgCreateProductDetails)(nil) -} -func (x fastReflection_MsgCreateProductDetails_messageType) New() protoreflect.Message { - return new(fastReflection_MsgCreateProductDetails) -} -func (x fastReflection_MsgCreateProductDetails_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgCreateProductDetails -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgCreateProductDetails) Descriptor() protoreflect.MessageDescriptor { - return md_MsgCreateProductDetails -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgCreateProductDetails) Type() protoreflect.MessageType { - return _fastReflection_MsgCreateProductDetails_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgCreateProductDetails) New() protoreflect.Message { - return new(fastReflection_MsgCreateProductDetails) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgCreateProductDetails) Interface() protoreflect.ProtoMessage { - return (*MsgCreateProductDetails)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgCreateProductDetails) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Creator != "" { - value := protoreflect.ValueOfString(x.Creator) - if !f(fd_MsgCreateProductDetails_creator, value) { - return - } - } - if x.Name != "" { - value := protoreflect.ValueOfString(x.Name) - if !f(fd_MsgCreateProductDetails_name, value) { - return - } - } - if x.Desc != "" { - value := protoreflect.ValueOfString(x.Desc) - if !f(fd_MsgCreateProductDetails_desc, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgCreateProductDetails) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.MsgCreateProductDetails.creator": - return x.Creator != "" - case "cardchain.cardchain.MsgCreateProductDetails.name": - return x.Name != "" - case "cardchain.cardchain.MsgCreateProductDetails.desc": - return x.Desc != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetails does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateProductDetails) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.MsgCreateProductDetails.creator": - x.Creator = "" - case "cardchain.cardchain.MsgCreateProductDetails.name": - x.Name = "" - case "cardchain.cardchain.MsgCreateProductDetails.desc": - x.Desc = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetails does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgCreateProductDetails) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.MsgCreateProductDetails.creator": - value := x.Creator - return protoreflect.ValueOfString(value) - case "cardchain.cardchain.MsgCreateProductDetails.name": - value := x.Name - return protoreflect.ValueOfString(value) - case "cardchain.cardchain.MsgCreateProductDetails.desc": - value := x.Desc - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetails does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateProductDetails) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.MsgCreateProductDetails.creator": - x.Creator = value.Interface().(string) - case "cardchain.cardchain.MsgCreateProductDetails.name": - x.Name = value.Interface().(string) - case "cardchain.cardchain.MsgCreateProductDetails.desc": - x.Desc = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetails does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateProductDetails) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.MsgCreateProductDetails.creator": - panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgCreateProductDetails is not mutable")) - case "cardchain.cardchain.MsgCreateProductDetails.name": - panic(fmt.Errorf("field name of message cardchain.cardchain.MsgCreateProductDetails is not mutable")) - case "cardchain.cardchain.MsgCreateProductDetails.desc": - panic(fmt.Errorf("field desc of message cardchain.cardchain.MsgCreateProductDetails is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetails does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgCreateProductDetails) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.MsgCreateProductDetails.creator": - return protoreflect.ValueOfString("") - case "cardchain.cardchain.MsgCreateProductDetails.name": - return protoreflect.ValueOfString("") - case "cardchain.cardchain.MsgCreateProductDetails.desc": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetails does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgCreateProductDetails) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCreateProductDetails", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgCreateProductDetails) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateProductDetails) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgCreateProductDetails) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgCreateProductDetails) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgCreateProductDetails) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Creator) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Name) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Desc) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgCreateProductDetails) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Desc) > 0 { - i -= len(x.Desc) - copy(dAtA[i:], x.Desc) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Desc))) - i-- - dAtA[i] = 0x1a - } - if len(x.Name) > 0 { - i -= len(x.Name) - copy(dAtA[i:], x.Name) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) - i-- - dAtA[i] = 0x12 - } - if len(x.Creator) > 0 { - i -= len(x.Creator) - copy(dAtA[i:], x.Creator) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgCreateProductDetails) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateProductDetails: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Desc = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgCreateProductDetailsResponse protoreflect.MessageDescriptor - fd_MsgCreateProductDetailsResponse_id protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_tx_proto_init() - md_MsgCreateProductDetailsResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCreateProductDetailsResponse") - fd_MsgCreateProductDetailsResponse_id = md_MsgCreateProductDetailsResponse.Fields().ByName("id") -} - -var _ protoreflect.Message = (*fastReflection_MsgCreateProductDetailsResponse)(nil) - -type fastReflection_MsgCreateProductDetailsResponse MsgCreateProductDetailsResponse - -func (x *MsgCreateProductDetailsResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgCreateProductDetailsResponse)(x) -} - -func (x *MsgCreateProductDetailsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[95] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_MsgCreateProductDetailsResponse_messageType fastReflection_MsgCreateProductDetailsResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgCreateProductDetailsResponse_messageType{} - -type fastReflection_MsgCreateProductDetailsResponse_messageType struct{} - -func (x fastReflection_MsgCreateProductDetailsResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgCreateProductDetailsResponse)(nil) -} -func (x fastReflection_MsgCreateProductDetailsResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgCreateProductDetailsResponse) -} -func (x fastReflection_MsgCreateProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgCreateProductDetailsResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgCreateProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgCreateProductDetailsResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgCreateProductDetailsResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgCreateProductDetailsResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgCreateProductDetailsResponse) New() protoreflect.Message { - return new(fastReflection_MsgCreateProductDetailsResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgCreateProductDetailsResponse) Interface() protoreflect.ProtoMessage { - return (*MsgCreateProductDetailsResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgCreateProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != uint64(0) { - value := protoreflect.ValueOfUint64(x.Id) - if !f(fd_MsgCreateProductDetailsResponse_id, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgCreateProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.MsgCreateProductDetailsResponse.id": - return x.Id != uint64(0) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.MsgCreateProductDetailsResponse.id": - x.Id = uint64(0) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgCreateProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.MsgCreateProductDetailsResponse.id": - value := x.Id - return protoreflect.ValueOfUint64(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetailsResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.MsgCreateProductDetailsResponse.id": - x.Id = value.Uint() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.MsgCreateProductDetailsResponse.id": - panic(fmt.Errorf("field id of message cardchain.cardchain.MsgCreateProductDetailsResponse is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgCreateProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.MsgCreateProductDetailsResponse.id": - return protoreflect.ValueOfUint64(uint64(0)) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCreateProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgCreateProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgCreateProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCreateProductDetailsResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgCreateProductDetailsResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgCreateProductDetailsResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgCreateProductDetailsResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgCreateProductDetailsResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.Id != 0 { - n += 1 + runtime.Sov(uint64(x.Id)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgCreateProductDetailsResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.Id != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) - i-- - dAtA[i] = 0x8 - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgCreateProductDetailsResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateProductDetailsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - x.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgUpdateProductDetails protoreflect.MessageDescriptor - fd_MsgUpdateProductDetails_creator protoreflect.FieldDescriptor - fd_MsgUpdateProductDetails_id protoreflect.FieldDescriptor - fd_MsgUpdateProductDetails_name protoreflect.FieldDescriptor - fd_MsgUpdateProductDetails_desc protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_tx_proto_init() - md_MsgUpdateProductDetails = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgUpdateProductDetails") - fd_MsgUpdateProductDetails_creator = md_MsgUpdateProductDetails.Fields().ByName("creator") - fd_MsgUpdateProductDetails_id = md_MsgUpdateProductDetails.Fields().ByName("id") - fd_MsgUpdateProductDetails_name = md_MsgUpdateProductDetails.Fields().ByName("name") - fd_MsgUpdateProductDetails_desc = md_MsgUpdateProductDetails.Fields().ByName("desc") -} - -var _ protoreflect.Message = (*fastReflection_MsgUpdateProductDetails)(nil) - -type fastReflection_MsgUpdateProductDetails MsgUpdateProductDetails - -func (x *MsgUpdateProductDetails) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateProductDetails)(x) -} - -func (x *MsgUpdateProductDetails) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[96] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_MsgUpdateProductDetails_messageType fastReflection_MsgUpdateProductDetails_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateProductDetails_messageType{} - -type fastReflection_MsgUpdateProductDetails_messageType struct{} - -func (x fastReflection_MsgUpdateProductDetails_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateProductDetails)(nil) -} -func (x fastReflection_MsgUpdateProductDetails_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProductDetails) -} -func (x fastReflection_MsgUpdateProductDetails_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProductDetails -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgUpdateProductDetails) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProductDetails -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgUpdateProductDetails) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateProductDetails_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateProductDetails) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProductDetails) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateProductDetails) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateProductDetails)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgUpdateProductDetails) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Creator != "" { - value := protoreflect.ValueOfString(x.Creator) - if !f(fd_MsgUpdateProductDetails_creator, value) { - return - } - } - if x.Id != uint64(0) { - value := protoreflect.ValueOfUint64(x.Id) - if !f(fd_MsgUpdateProductDetails_id, value) { - return - } - } - if x.Name != "" { - value := protoreflect.ValueOfString(x.Name) - if !f(fd_MsgUpdateProductDetails_name, value) { - return - } - } - if x.Desc != "" { - value := protoreflect.ValueOfString(x.Desc) - if !f(fd_MsgUpdateProductDetails_desc, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgUpdateProductDetails) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.MsgUpdateProductDetails.creator": - return x.Creator != "" - case "cardchain.cardchain.MsgUpdateProductDetails.id": - return x.Id != uint64(0) - case "cardchain.cardchain.MsgUpdateProductDetails.name": - return x.Name != "" - case "cardchain.cardchain.MsgUpdateProductDetails.desc": - return x.Desc != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetails does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProductDetails) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.MsgUpdateProductDetails.creator": - x.Creator = "" - case "cardchain.cardchain.MsgUpdateProductDetails.id": - x.Id = uint64(0) - case "cardchain.cardchain.MsgUpdateProductDetails.name": - x.Name = "" - case "cardchain.cardchain.MsgUpdateProductDetails.desc": - x.Desc = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetails does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgUpdateProductDetails) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.MsgUpdateProductDetails.creator": - value := x.Creator - return protoreflect.ValueOfString(value) - case "cardchain.cardchain.MsgUpdateProductDetails.id": - value := x.Id - return protoreflect.ValueOfUint64(value) - case "cardchain.cardchain.MsgUpdateProductDetails.name": - value := x.Name - return protoreflect.ValueOfString(value) - case "cardchain.cardchain.MsgUpdateProductDetails.desc": - value := x.Desc - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetails does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProductDetails) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.MsgUpdateProductDetails.creator": - x.Creator = value.Interface().(string) - case "cardchain.cardchain.MsgUpdateProductDetails.id": - x.Id = value.Uint() - case "cardchain.cardchain.MsgUpdateProductDetails.name": - x.Name = value.Interface().(string) - case "cardchain.cardchain.MsgUpdateProductDetails.desc": - x.Desc = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetails does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProductDetails) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.MsgUpdateProductDetails.creator": - panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgUpdateProductDetails is not mutable")) - case "cardchain.cardchain.MsgUpdateProductDetails.id": - panic(fmt.Errorf("field id of message cardchain.cardchain.MsgUpdateProductDetails is not mutable")) - case "cardchain.cardchain.MsgUpdateProductDetails.name": - panic(fmt.Errorf("field name of message cardchain.cardchain.MsgUpdateProductDetails is not mutable")) - case "cardchain.cardchain.MsgUpdateProductDetails.desc": - panic(fmt.Errorf("field desc of message cardchain.cardchain.MsgUpdateProductDetails is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetails does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgUpdateProductDetails) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.MsgUpdateProductDetails.creator": - return protoreflect.ValueOfString("") - case "cardchain.cardchain.MsgUpdateProductDetails.id": - return protoreflect.ValueOfUint64(uint64(0)) - case "cardchain.cardchain.MsgUpdateProductDetails.name": - return protoreflect.ValueOfString("") - case "cardchain.cardchain.MsgUpdateProductDetails.desc": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetails does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgUpdateProductDetails) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgUpdateProductDetails", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgUpdateProductDetails) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProductDetails) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgUpdateProductDetails) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateProductDetails) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateProductDetails) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Creator) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.Id != 0 { - n += 1 + runtime.Sov(uint64(x.Id)) - } - l = len(x.Name) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Desc) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProductDetails) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if len(x.Desc) > 0 { - i -= len(x.Desc) - copy(dAtA[i:], x.Desc) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Desc))) - i-- - dAtA[i] = 0x22 - } - if len(x.Name) > 0 { - i -= len(x.Name) - copy(dAtA[i:], x.Name) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) - i-- - dAtA[i] = 0x1a - } - if x.Id != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) - i-- - dAtA[i] = 0x10 - } - if len(x.Creator) > 0 { - i -= len(x.Creator) - copy(dAtA[i:], x.Creator) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProductDetails) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProductDetails: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - x.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Desc = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgUpdateProductDetailsResponse protoreflect.MessageDescriptor -) - -func init() { - file_cardchain_cardchain_tx_proto_init() - md_MsgUpdateProductDetailsResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgUpdateProductDetailsResponse") -} - -var _ protoreflect.Message = (*fastReflection_MsgUpdateProductDetailsResponse)(nil) - -type fastReflection_MsgUpdateProductDetailsResponse MsgUpdateProductDetailsResponse - -func (x *MsgUpdateProductDetailsResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateProductDetailsResponse)(x) -} - -func (x *MsgUpdateProductDetailsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[97] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_MsgUpdateProductDetailsResponse_messageType fastReflection_MsgUpdateProductDetailsResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateProductDetailsResponse_messageType{} - -type fastReflection_MsgUpdateProductDetailsResponse_messageType struct{} - -func (x fastReflection_MsgUpdateProductDetailsResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateProductDetailsResponse)(nil) -} -func (x fastReflection_MsgUpdateProductDetailsResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProductDetailsResponse) -} -func (x fastReflection_MsgUpdateProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProductDetailsResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProductDetailsResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateProductDetailsResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateProductDetailsResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProductDetailsResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateProductDetailsResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgUpdateProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgUpdateProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgUpdateProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgUpdateProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgUpdateProductDetailsResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgUpdateProductDetailsResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgUpdateProductDetailsResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateProductDetailsResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateProductDetailsResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProductDetailsResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProductDetailsResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProductDetailsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgDeleteProductDetails protoreflect.MessageDescriptor - fd_MsgDeleteProductDetails_creator protoreflect.FieldDescriptor - fd_MsgDeleteProductDetails_id protoreflect.FieldDescriptor -) - -func init() { - file_cardchain_cardchain_tx_proto_init() - md_MsgDeleteProductDetails = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgDeleteProductDetails") - fd_MsgDeleteProductDetails_creator = md_MsgDeleteProductDetails.Fields().ByName("creator") - fd_MsgDeleteProductDetails_id = md_MsgDeleteProductDetails.Fields().ByName("id") -} - -var _ protoreflect.Message = (*fastReflection_MsgDeleteProductDetails)(nil) - -type fastReflection_MsgDeleteProductDetails MsgDeleteProductDetails - -func (x *MsgDeleteProductDetails) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgDeleteProductDetails)(x) -} - -func (x *MsgDeleteProductDetails) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[98] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_MsgDeleteProductDetails_messageType fastReflection_MsgDeleteProductDetails_messageType -var _ protoreflect.MessageType = fastReflection_MsgDeleteProductDetails_messageType{} - -type fastReflection_MsgDeleteProductDetails_messageType struct{} - -func (x fastReflection_MsgDeleteProductDetails_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgDeleteProductDetails)(nil) -} -func (x fastReflection_MsgDeleteProductDetails_messageType) New() protoreflect.Message { - return new(fastReflection_MsgDeleteProductDetails) -} -func (x fastReflection_MsgDeleteProductDetails_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgDeleteProductDetails -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgDeleteProductDetails) Descriptor() protoreflect.MessageDescriptor { - return md_MsgDeleteProductDetails -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgDeleteProductDetails) Type() protoreflect.MessageType { - return _fastReflection_MsgDeleteProductDetails_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgDeleteProductDetails) New() protoreflect.Message { - return new(fastReflection_MsgDeleteProductDetails) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgDeleteProductDetails) Interface() protoreflect.ProtoMessage { - return (*MsgDeleteProductDetails)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgDeleteProductDetails) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Creator != "" { - value := protoreflect.ValueOfString(x.Creator) - if !f(fd_MsgDeleteProductDetails_creator, value) { - return - } - } - if x.Id != uint64(0) { - value := protoreflect.ValueOfUint64(x.Id) - if !f(fd_MsgDeleteProductDetails_id, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgDeleteProductDetails) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "cardchain.cardchain.MsgDeleteProductDetails.creator": - return x.Creator != "" - case "cardchain.cardchain.MsgDeleteProductDetails.id": - return x.Id != uint64(0) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetails) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "cardchain.cardchain.MsgDeleteProductDetails.creator": - x.Creator = "" - case "cardchain.cardchain.MsgDeleteProductDetails.id": - x.Id = uint64(0) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgDeleteProductDetails) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "cardchain.cardchain.MsgDeleteProductDetails.creator": - value := x.Creator - return protoreflect.ValueOfString(value) - case "cardchain.cardchain.MsgDeleteProductDetails.id": - value := x.Id - return protoreflect.ValueOfUint64(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetails) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "cardchain.cardchain.MsgDeleteProductDetails.creator": - x.Creator = value.Interface().(string) - case "cardchain.cardchain.MsgDeleteProductDetails.id": - x.Id = value.Uint() - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetails) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.MsgDeleteProductDetails.creator": - panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgDeleteProductDetails is not mutable")) - case "cardchain.cardchain.MsgDeleteProductDetails.id": - panic(fmt.Errorf("field id of message cardchain.cardchain.MsgDeleteProductDetails is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgDeleteProductDetails) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "cardchain.cardchain.MsgDeleteProductDetails.creator": - return protoreflect.ValueOfString("") - case "cardchain.cardchain.MsgDeleteProductDetails.id": - return protoreflect.ValueOfUint64(uint64(0)) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetails")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetails does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgDeleteProductDetails) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgDeleteProductDetails", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgDeleteProductDetails) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetails) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgDeleteProductDetails) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgDeleteProductDetails) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgDeleteProductDetails) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Creator) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.Id != 0 { - n += 1 + runtime.Sov(uint64(x.Id)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgDeleteProductDetails) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.Id != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) - i-- - dAtA[i] = 0x10 - } - if len(x.Creator) > 0 { - i -= len(x.Creator) - copy(dAtA[i:], x.Creator) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgDeleteProductDetails) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetails: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - x.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgDeleteProductDetailsResponse protoreflect.MessageDescriptor -) - -func init() { - file_cardchain_cardchain_tx_proto_init() - md_MsgDeleteProductDetailsResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgDeleteProductDetailsResponse") -} - -var _ protoreflect.Message = (*fastReflection_MsgDeleteProductDetailsResponse)(nil) - -type fastReflection_MsgDeleteProductDetailsResponse MsgDeleteProductDetailsResponse - -func (x *MsgDeleteProductDetailsResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgDeleteProductDetailsResponse)(x) -} - -func (x *MsgDeleteProductDetailsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[99] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_MsgDeleteProductDetailsResponse_messageType fastReflection_MsgDeleteProductDetailsResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgDeleteProductDetailsResponse_messageType{} - -type fastReflection_MsgDeleteProductDetailsResponse_messageType struct{} - -func (x fastReflection_MsgDeleteProductDetailsResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgDeleteProductDetailsResponse)(nil) -} -func (x fastReflection_MsgDeleteProductDetailsResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgDeleteProductDetailsResponse) -} -func (x fastReflection_MsgDeleteProductDetailsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgDeleteProductDetailsResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgDeleteProductDetailsResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgDeleteProductDetailsResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgDeleteProductDetailsResponse) New() protoreflect.Message { - return new(fastReflection_MsgDeleteProductDetailsResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Interface() protoreflect.ProtoMessage { - return (*MsgDeleteProductDetailsResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetailsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgDeleteProductDetailsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgDeleteProductDetailsResponse")) - } - panic(fmt.Errorf("message cardchain.cardchain.MsgDeleteProductDetailsResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgDeleteProductDetailsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgDeleteProductDetailsResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgDeleteProductDetailsResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgDeleteProductDetailsResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgDeleteProductDetailsResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgDeleteProductDetailsResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgDeleteProductDetailsResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgDeleteProductDetailsResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgDeleteProductDetailsResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetailsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDeleteProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - var ( md_MsgEarlyAccessDisinvite protoreflect.MessageDescriptor fd_MsgEarlyAccessDisinvite_creator protoreflect.FieldDescriptor @@ -45901,7 +43173,7 @@ func (x *MsgEarlyAccessDisinvite) ProtoReflect() protoreflect.Message { } func (x *MsgEarlyAccessDisinvite) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[100] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46381,7 +43653,7 @@ func (x *MsgEarlyAccessDisinviteResponse) ProtoReflect() protoreflect.Message { } func (x *MsgEarlyAccessDisinviteResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[101] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50380,246 +47652,6 @@ func (*MsgEncounterCloseResponse) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{93} } -type MsgCreateProductDetails struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` -} - -func (x *MsgCreateProductDetails) Reset() { - *x = MsgCreateProductDetails{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[94] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgCreateProductDetails) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgCreateProductDetails) ProtoMessage() {} - -// Deprecated: Use MsgCreateProductDetails.ProtoReflect.Descriptor instead. -func (*MsgCreateProductDetails) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{94} -} - -func (x *MsgCreateProductDetails) GetCreator() string { - if x != nil { - return x.Creator - } - return "" -} - -func (x *MsgCreateProductDetails) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *MsgCreateProductDetails) GetDesc() string { - if x != nil { - return x.Desc - } - return "" -} - -type MsgCreateProductDetailsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *MsgCreateProductDetailsResponse) Reset() { - *x = MsgCreateProductDetailsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgCreateProductDetailsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgCreateProductDetailsResponse) ProtoMessage() {} - -// Deprecated: Use MsgCreateProductDetailsResponse.ProtoReflect.Descriptor instead. -func (*MsgCreateProductDetailsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{95} -} - -func (x *MsgCreateProductDetailsResponse) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -type MsgUpdateProductDetails struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Desc string `protobuf:"bytes,4,opt,name=desc,proto3" json:"desc,omitempty"` -} - -func (x *MsgUpdateProductDetails) Reset() { - *x = MsgUpdateProductDetails{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[96] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgUpdateProductDetails) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgUpdateProductDetails) ProtoMessage() {} - -// Deprecated: Use MsgUpdateProductDetails.ProtoReflect.Descriptor instead. -func (*MsgUpdateProductDetails) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{96} -} - -func (x *MsgUpdateProductDetails) GetCreator() string { - if x != nil { - return x.Creator - } - return "" -} - -func (x *MsgUpdateProductDetails) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *MsgUpdateProductDetails) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *MsgUpdateProductDetails) GetDesc() string { - if x != nil { - return x.Desc - } - return "" -} - -type MsgUpdateProductDetailsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *MsgUpdateProductDetailsResponse) Reset() { - *x = MsgUpdateProductDetailsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[97] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgUpdateProductDetailsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgUpdateProductDetailsResponse) ProtoMessage() {} - -// Deprecated: Use MsgUpdateProductDetailsResponse.ProtoReflect.Descriptor instead. -func (*MsgUpdateProductDetailsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{97} -} - -type MsgDeleteProductDetails struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *MsgDeleteProductDetails) Reset() { - *x = MsgDeleteProductDetails{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[98] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgDeleteProductDetails) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgDeleteProductDetails) ProtoMessage() {} - -// Deprecated: Use MsgDeleteProductDetails.ProtoReflect.Descriptor instead. -func (*MsgDeleteProductDetails) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{98} -} - -func (x *MsgDeleteProductDetails) GetCreator() string { - if x != nil { - return x.Creator - } - return "" -} - -func (x *MsgDeleteProductDetails) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -type MsgDeleteProductDetailsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *MsgDeleteProductDetailsResponse) Reset() { - *x = MsgDeleteProductDetailsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[99] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgDeleteProductDetailsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgDeleteProductDetailsResponse) ProtoMessage() {} - -// Deprecated: Use MsgDeleteProductDetailsResponse.ProtoReflect.Descriptor instead. -func (*MsgDeleteProductDetailsResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{99} -} - type MsgEarlyAccessDisinvite struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -50632,7 +47664,7 @@ type MsgEarlyAccessDisinvite struct { func (x *MsgEarlyAccessDisinvite) Reset() { *x = MsgEarlyAccessDisinvite{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[100] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50646,7 +47678,7 @@ func (*MsgEarlyAccessDisinvite) ProtoMessage() {} // Deprecated: Use MsgEarlyAccessDisinvite.ProtoReflect.Descriptor instead. func (*MsgEarlyAccessDisinvite) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{100} + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{94} } func (x *MsgEarlyAccessDisinvite) GetCreator() string { @@ -50672,7 +47704,7 @@ type MsgEarlyAccessDisinviteResponse struct { func (x *MsgEarlyAccessDisinviteResponse) Reset() { *x = MsgEarlyAccessDisinviteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cardchain_cardchain_tx_proto_msgTypes[101] + mi := &file_cardchain_cardchain_tx_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50686,7 +47718,7 @@ func (*MsgEarlyAccessDisinviteResponse) ProtoMessage() {} // Deprecated: Use MsgEarlyAccessDisinviteResponse.ProtoReflect.Descriptor instead. func (*MsgEarlyAccessDisinviteResponse) Descriptor() ([]byte, []int) { - return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{101} + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{95} } var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor @@ -50713,857 +47745,803 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, - 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, - 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, - 0x38, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, - 0xe7, 0xb0, 0x2a, 0x25, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, - 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, - 0x15, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x38, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x25, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, + 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0d, 0x4d, 0x73, 0x67, + 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, - 0x1f, 0x00, 0x52, 0x03, 0x62, 0x69, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0xc2, 0x01, 0x0a, 0x12, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x10, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x03, 0x62, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, + 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x03, 0x62, 0x69, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x18, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0xc2, + 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, + 0x24, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, + 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x44, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, + 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, + 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, + 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x0b, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, + 0x65, 0x52, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x3d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, + 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, + 0x69, 0x6d, 0x65, 0x64, 0x22, 0x6d, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, + 0x01, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, - 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x44, - 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, - 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, - 0x69, 0x6d, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, - 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x33, 0x0a, - 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x04, 0x76, 0x6f, - 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x3d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, - 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, - 0x6d, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x49, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, + 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, + 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3e, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xd2, 0x01, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x41, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x41, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, + 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x12, 0x36, + 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, + 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, + 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, - 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x0d, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x37, 0x0a, - 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, - 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, - 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, - 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, - 0x75, 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x75, - 0x6c, 0x6c, 0x41, 0x72, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x6d, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, + 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, + 0x1f, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xa8, 0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, + 0x64, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x68, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, + 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, - 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0c, - 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x14, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x0e, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, - 0x41, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, - 0x61, 0x72, 0x64, 0x73, 0x41, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, - 0x61, 0x72, 0x64, 0x73, 0x42, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x42, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, - 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, - 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x10, 0x4d, 0x73, 0x67, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, - 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x17, 0x4d, 0x73, 0x67, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, - 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x0c, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, - 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, - 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, - 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, - 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, - 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6b, - 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, - 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, - 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x0e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x18, + 0x18, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x0a, 0x14, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x6b, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, - 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x11, - 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, - 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, + 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, + 0x10, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x43, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, - 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, - 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, - 0x69, 0x6d, 0x65, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x35, 0x0a, - 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x05, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x5b, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x64, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, + 0x41, 0x64, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x51, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, + 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x43, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, + 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, + 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x12, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x12, 0x35, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, + 0x1f, 0x00, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x0a, + 0x12, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, - 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, - 0x72, 0x69, 0x74, 0x79, 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, - 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x67, 0x67, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x67, - 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x18, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x39, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x59, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, + 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x10, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x18, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, - 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x0f, - 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, - 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x76, - 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, - 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, - 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb3, + 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, + 0x6f, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x12, 0x3f, 0x0a, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, + 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, + 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x11, 0x4d, 0x73, + 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, - 0x73, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, - 0x69, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, - 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x4c, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, - 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x10, 0x0a, 0x03, 0x62, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, - 0x6f, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x4d, - 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, - 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x62, - 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, + 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x36, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, - 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, - 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x42, - 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, - 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x3a, 0x0c, - 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x0a, 0x1e, - 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, - 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x14, + 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, + 0x65, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x62, 0x69, 0x6f, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x62, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, + 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x0a, 0x10, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x18, + 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x36, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, + 0x16, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, + 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0f, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x6f, 0x74, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x42, 0x0a, - 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x69, 0x72, - 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, - 0x64, 0x22, 0xae, 0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, - 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x42, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, - 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x44, 0x65, 0x63, 0x6b, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x44, 0x65, - 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x44, 0x65, 0x63, - 0x6b, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, - 0x44, 0x65, 0x63, 0x6b, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x30, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, - 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x52, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, - 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x52, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x71, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, + 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, + 0x6f, 0x74, 0x65, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x42, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, + 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, + 0x0a, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x43, + 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x12, 0x18, 0x0a, 0x07, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x42, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, + 0x44, 0x65, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x41, 0x44, 0x65, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x42, 0x44, 0x65, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x42, 0x44, 0x65, 0x63, 0x6b, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x30, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x0d, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x0c, + 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, + 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x45, 0x61, + 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, + 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x0f, 0x4d, + 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, + 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, + 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x02, 0x0a, 0x12, + 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x04, 0x52, 0x08, 0x64, 0x72, 0x61, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0a, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, - 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, - 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, - 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x02, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, - 0x72, 0x61, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x64, - 0x72, 0x61, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x61, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x77, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x03, 0x77, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x55, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, + 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xe6, 0x27, + 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x6e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x44, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, - 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, - 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x65, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x12, 0x10, 0x0a, 0x03, 0x77, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, - 0x77, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, - 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x31, 0x0a, 0x1f, 0x4d, 0x73, 0x67, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x17, - 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x4d, 0x73, - 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, - 0x1f, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x55, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x45, 0x61, - 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xda, 0x2a, 0x0a, 0x03, 0x4d, - 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, - 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, + 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, + 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, + 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, + 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, + 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, + 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, + 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, - 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, - 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, - 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, - 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, + 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, - 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, + 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, + 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, + 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, + 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, - 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, + 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, - 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, + 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, + 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, + 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, - 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, + 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, + 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, + 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, - 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, + 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, + 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, + 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, + 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, + 0x6f, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, - 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, - 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x42, 0x6f, + 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x27, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, + 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, - 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, - 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, - 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, + 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, - 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, + 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, - 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, - 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, + 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x56, + 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, - 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, + 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, + 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, - 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, - 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, - 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x1a, 0x2e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, - 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, - 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, - 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, - 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, - 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x73, 0x74, - 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, - 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, - 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, - 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, + 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, - 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, - 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, - 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, + 0x53, 0x65, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, + 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, 0x6c, 0x79, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, - 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x2d, 0x2e, 0x63, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, - 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x29, 0x2e, 0x63, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, - 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, - 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, - 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, + 0x6f, 0x73, 0x65, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7a, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x34, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x63, + 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, + 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, + 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, - 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, - 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, + 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, + 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -51578,7 +48556,7 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 103) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 97) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse @@ -51674,35 +48652,29 @@ var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgEncounterDoResponse)(nil), // 91: cardchain.cardchain.MsgEncounterDoResponse (*MsgEncounterClose)(nil), // 92: cardchain.cardchain.MsgEncounterClose (*MsgEncounterCloseResponse)(nil), // 93: cardchain.cardchain.MsgEncounterCloseResponse - (*MsgCreateProductDetails)(nil), // 94: cardchain.cardchain.MsgCreateProductDetails - (*MsgCreateProductDetailsResponse)(nil), // 95: cardchain.cardchain.MsgCreateProductDetailsResponse - (*MsgUpdateProductDetails)(nil), // 96: cardchain.cardchain.MsgUpdateProductDetails - (*MsgUpdateProductDetailsResponse)(nil), // 97: cardchain.cardchain.MsgUpdateProductDetailsResponse - (*MsgDeleteProductDetails)(nil), // 98: cardchain.cardchain.MsgDeleteProductDetails - (*MsgDeleteProductDetailsResponse)(nil), // 99: cardchain.cardchain.MsgDeleteProductDetailsResponse - (*MsgEarlyAccessDisinvite)(nil), // 100: cardchain.cardchain.MsgEarlyAccessDisinvite - (*MsgEarlyAccessDisinviteResponse)(nil), // 101: cardchain.cardchain.MsgEarlyAccessDisinviteResponse - nil, // 102: cardchain.cardchain.MsgEncounterCreate.ParametersEntry - (*Params)(nil), // 103: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 104: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 105: cardchain.cardchain.SingleVote - (Outcome)(0), // 106: cardchain.cardchain.Outcome - (CardRarity)(0), // 107: cardchain.cardchain.CardRarity - (Response)(0), // 108: cardchain.cardchain.Response + (*MsgEarlyAccessDisinvite)(nil), // 94: cardchain.cardchain.MsgEarlyAccessDisinvite + (*MsgEarlyAccessDisinviteResponse)(nil), // 95: cardchain.cardchain.MsgEarlyAccessDisinviteResponse + nil, // 96: cardchain.cardchain.MsgEncounterCreate.ParametersEntry + (*Params)(nil), // 97: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 98: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 99: cardchain.cardchain.SingleVote + (Outcome)(0), // 100: cardchain.cardchain.Outcome + (CardRarity)(0), // 101: cardchain.cardchain.CardRarity + (Response)(0), // 102: cardchain.cardchain.Response } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 103, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 104, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 105, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 104, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 106, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome - 104, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin - 107, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity - 108, // 7: cardchain.cardchain.MsgCouncilResponseReveal.response:type_name -> cardchain.cardchain.Response - 106, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome - 105, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote - 105, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote - 102, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry + 97, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 98, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 99, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 98, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 100, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 98, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin + 101, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity + 102, // 7: cardchain.cardchain.MsgCouncilResponseReveal.response:type_name -> cardchain.cardchain.Response + 100, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome + 99, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote + 99, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote + 96, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry 0, // 12: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams 2, // 13: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate 4, // 14: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy @@ -51750,63 +48722,57 @@ var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ 88, // 56: cardchain.cardchain.Msg.EncounterCreate:input_type -> cardchain.cardchain.MsgEncounterCreate 90, // 57: cardchain.cardchain.Msg.EncounterDo:input_type -> cardchain.cardchain.MsgEncounterDo 92, // 58: cardchain.cardchain.Msg.EncounterClose:input_type -> cardchain.cardchain.MsgEncounterClose - 94, // 59: cardchain.cardchain.Msg.CreateProductDetails:input_type -> cardchain.cardchain.MsgCreateProductDetails - 96, // 60: cardchain.cardchain.Msg.UpdateProductDetails:input_type -> cardchain.cardchain.MsgUpdateProductDetails - 98, // 61: cardchain.cardchain.Msg.DeleteProductDetails:input_type -> cardchain.cardchain.MsgDeleteProductDetails - 100, // 62: cardchain.cardchain.Msg.EarlyAccessDisinvite:input_type -> cardchain.cardchain.MsgEarlyAccessDisinvite - 1, // 63: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 64: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 65: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 66: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 67: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 68: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 69: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 70: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 71: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 72: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 73: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 74: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 25, // 75: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse - 27, // 76: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse - 29, // 77: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse - 31, // 78: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse - 33, // 79: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse - 35, // 80: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse - 37, // 81: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse - 39, // 82: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse - 41, // 83: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse - 43, // 84: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse - 45, // 85: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse - 47, // 86: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse - 49, // 87: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse - 51, // 88: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse - 53, // 89: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse - 55, // 90: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse - 57, // 91: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse - 59, // 92: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse - 61, // 93: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse - 63, // 94: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse - 65, // 95: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse - 67, // 96: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse - 69, // 97: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse - 71, // 98: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse - 73, // 99: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse - 75, // 100: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse - 77, // 101: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse - 79, // 102: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse - 81, // 103: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse - 83, // 104: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse - 85, // 105: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse - 87, // 106: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse - 89, // 107: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse - 91, // 108: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse - 93, // 109: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse - 95, // 110: cardchain.cardchain.Msg.CreateProductDetails:output_type -> cardchain.cardchain.MsgCreateProductDetailsResponse - 97, // 111: cardchain.cardchain.Msg.UpdateProductDetails:output_type -> cardchain.cardchain.MsgUpdateProductDetailsResponse - 99, // 112: cardchain.cardchain.Msg.DeleteProductDetails:output_type -> cardchain.cardchain.MsgDeleteProductDetailsResponse - 101, // 113: cardchain.cardchain.Msg.EarlyAccessDisinvite:output_type -> cardchain.cardchain.MsgEarlyAccessDisinviteResponse - 63, // [63:114] is the sub-list for method output_type - 12, // [12:63] is the sub-list for method input_type + 94, // 59: cardchain.cardchain.Msg.EarlyAccessDisinvite:input_type -> cardchain.cardchain.MsgEarlyAccessDisinvite + 1, // 60: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 61: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 62: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 63: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 64: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 65: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 66: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 67: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 68: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 69: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 70: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 71: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 25, // 72: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse + 27, // 73: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse + 29, // 74: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse + 31, // 75: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse + 33, // 76: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse + 35, // 77: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse + 37, // 78: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse + 39, // 79: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse + 41, // 80: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse + 43, // 81: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse + 45, // 82: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse + 47, // 83: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse + 49, // 84: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse + 51, // 85: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse + 53, // 86: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse + 55, // 87: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse + 57, // 88: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse + 59, // 89: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse + 61, // 90: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse + 63, // 91: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse + 65, // 92: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse + 67, // 93: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse + 69, // 94: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse + 71, // 95: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse + 73, // 96: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse + 75, // 97: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse + 77, // 98: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse + 79, // 99: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse + 81, // 100: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse + 83, // 101: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse + 85, // 102: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse + 87, // 103: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse + 89, // 104: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse + 91, // 105: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse + 93, // 106: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse + 95, // 107: cardchain.cardchain.Msg.EarlyAccessDisinvite:output_type -> cardchain.cardchain.MsgEarlyAccessDisinviteResponse + 60, // [60:108] is the sub-list for method output_type + 12, // [12:60] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name @@ -51822,7 +48788,6 @@ func file_cardchain_cardchain_tx_proto_init() { file_cardchain_cardchain_match_proto_init() file_cardchain_cardchain_council_proto_init() file_cardchain_cardchain_card_proto_init() - file_cardchain_cardchain_product_details_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_tx_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateParams); i { @@ -52953,78 +49918,6 @@ func file_cardchain_cardchain_tx_proto_init() { } } file_cardchain_cardchain_tx_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCreateProductDetails); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_tx_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCreateProductDetailsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_tx_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateProductDetails); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_tx_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateProductDetailsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_tx_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgDeleteProductDetails); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_tx_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgDeleteProductDetailsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cardchain_cardchain_tx_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgEarlyAccessDisinvite); i { case 0: return &v.state @@ -53036,7 +49929,7 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } - file_cardchain_cardchain_tx_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + file_cardchain_cardchain_tx_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgEarlyAccessDisinviteResponse); i { case 0: return &v.state @@ -53055,7 +49948,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 103, + NumMessages: 97, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 3dd8f52f..b850d62a 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -66,9 +66,6 @@ const ( Msg_EncounterCreate_FullMethodName = "/cardchain.cardchain.Msg/EncounterCreate" Msg_EncounterDo_FullMethodName = "/cardchain.cardchain.Msg/EncounterDo" Msg_EncounterClose_FullMethodName = "/cardchain.cardchain.Msg/EncounterClose" - Msg_CreateProductDetails_FullMethodName = "/cardchain.cardchain.Msg/CreateProductDetails" - Msg_UpdateProductDetails_FullMethodName = "/cardchain.cardchain.Msg/UpdateProductDetails" - Msg_DeleteProductDetails_FullMethodName = "/cardchain.cardchain.Msg/DeleteProductDetails" Msg_EarlyAccessDisinvite_FullMethodName = "/cardchain.cardchain.Msg/EarlyAccessDisinvite" ) @@ -125,9 +122,6 @@ type MsgClient interface { EncounterCreate(ctx context.Context, in *MsgEncounterCreate, opts ...grpc.CallOption) (*MsgEncounterCreateResponse, error) EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) - CreateProductDetails(ctx context.Context, in *MsgCreateProductDetails, opts ...grpc.CallOption) (*MsgCreateProductDetailsResponse, error) - UpdateProductDetails(ctx context.Context, in *MsgUpdateProductDetails, opts ...grpc.CallOption) (*MsgUpdateProductDetailsResponse, error) - DeleteProductDetails(ctx context.Context, in *MsgDeleteProductDetails, opts ...grpc.CallOption) (*MsgDeleteProductDetailsResponse, error) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) } @@ -562,33 +556,6 @@ func (c *msgClient) EncounterClose(ctx context.Context, in *MsgEncounterClose, o return out, nil } -func (c *msgClient) CreateProductDetails(ctx context.Context, in *MsgCreateProductDetails, opts ...grpc.CallOption) (*MsgCreateProductDetailsResponse, error) { - out := new(MsgCreateProductDetailsResponse) - err := c.cc.Invoke(ctx, Msg_CreateProductDetails_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) UpdateProductDetails(ctx context.Context, in *MsgUpdateProductDetails, opts ...grpc.CallOption) (*MsgUpdateProductDetailsResponse, error) { - out := new(MsgUpdateProductDetailsResponse) - err := c.cc.Invoke(ctx, Msg_UpdateProductDetails_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) DeleteProductDetails(ctx context.Context, in *MsgDeleteProductDetails, opts ...grpc.CallOption) (*MsgDeleteProductDetailsResponse, error) { - out := new(MsgDeleteProductDetailsResponse) - err := c.cc.Invoke(ctx, Msg_DeleteProductDetails_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *msgClient) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) { out := new(MsgEarlyAccessDisinviteResponse) err := c.cc.Invoke(ctx, Msg_EarlyAccessDisinvite_FullMethodName, in, out, opts...) @@ -651,9 +618,6 @@ type MsgServer interface { EncounterCreate(context.Context, *MsgEncounterCreate) (*MsgEncounterCreateResponse, error) EncounterDo(context.Context, *MsgEncounterDo) (*MsgEncounterDoResponse, error) EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) - CreateProductDetails(context.Context, *MsgCreateProductDetails) (*MsgCreateProductDetailsResponse, error) - UpdateProductDetails(context.Context, *MsgUpdateProductDetails) (*MsgUpdateProductDetailsResponse, error) - DeleteProductDetails(context.Context, *MsgDeleteProductDetails) (*MsgDeleteProductDetailsResponse, error) EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) mustEmbedUnimplementedMsgServer() } @@ -803,15 +767,6 @@ func (UnimplementedMsgServer) EncounterDo(context.Context, *MsgEncounterDo) (*Ms func (UnimplementedMsgServer) EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EncounterClose not implemented") } -func (UnimplementedMsgServer) CreateProductDetails(context.Context, *MsgCreateProductDetails) (*MsgCreateProductDetailsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateProductDetails not implemented") -} -func (UnimplementedMsgServer) UpdateProductDetails(context.Context, *MsgUpdateProductDetails) (*MsgUpdateProductDetailsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateProductDetails not implemented") -} -func (UnimplementedMsgServer) DeleteProductDetails(context.Context, *MsgDeleteProductDetails) (*MsgDeleteProductDetailsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteProductDetails not implemented") -} func (UnimplementedMsgServer) EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessDisinvite not implemented") } @@ -1674,60 +1629,6 @@ func _Msg_EncounterClose_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } -func _Msg_CreateProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCreateProductDetails) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CreateProductDetails(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Msg_CreateProductDetails_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CreateProductDetails(ctx, req.(*MsgCreateProductDetails)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_UpdateProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateProductDetails) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UpdateProductDetails(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Msg_UpdateProductDetails_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateProductDetails(ctx, req.(*MsgUpdateProductDetails)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_DeleteProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgDeleteProductDetails) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).DeleteProductDetails(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Msg_DeleteProductDetails_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).DeleteProductDetails(ctx, req.(*MsgDeleteProductDetails)) - } - return interceptor(ctx, in, info, handler) -} - func _Msg_EarlyAccessDisinvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgEarlyAccessDisinvite) if err := dec(in); err != nil { @@ -1941,18 +1842,6 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "EncounterClose", Handler: _Msg_EncounterClose_Handler, }, - { - MethodName: "CreateProductDetails", - Handler: _Msg_CreateProductDetails_Handler, - }, - { - MethodName: "UpdateProductDetails", - Handler: _Msg_UpdateProductDetails_Handler, - }, - { - MethodName: "DeleteProductDetails", - Handler: _Msg_DeleteProductDetails_Handler, - }, { MethodName: "EarlyAccessDisinvite", Handler: _Msg_EarlyAccessDisinvite_Handler, diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 4edcdfb8..3acf0a08 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details":{"get":{"tags":["Query"],"operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetailsAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAllProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/product_details/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of ProductDetails items.","operationId":"GithubComDecentralCardGamecardchainQuery_ProductDetails","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryGetProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin25","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CreateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CreateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCreateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/DeleteProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_DeleteProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgDeleteProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateProductDetails":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UpdateProductDetails","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetails"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateProductDetailsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin26","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgCreateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"name":{"type":"string"}}},"cardchain.cardchain.MsgCreateProductDetailsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgDeleteProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUpdateProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.MsgUpdateProductDetailsResponse":{"type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.ProductDetails":{"type":"object","properties":{"creator":{"type":"string"},"desc":{"type":"string"},"id":{"type":"string","format":"uint64"},"name":{"type":"string"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryAllProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.ProductDetails"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryGetProductDetailsResponse":{"type":"object","properties":{"ProductDetails":{"$ref":"#/definitions/cardchain.cardchain.ProductDetails"}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto index 56a95537..b2c37f20 100644 --- a/proto/cardchain/cardchain/genesis.proto +++ b/proto/cardchain/cardchain/genesis.proto @@ -5,16 +5,13 @@ package cardchain.cardchain; import "amino/amino.proto"; import "gogoproto/gogo.proto"; import "cardchain/cardchain/params.proto"; -import "cardchain/cardchain/product_details.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // GenesisState defines the cardchain module's genesis state. message GenesisState { - + // params defines all the parameters of the module. - Params params = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; - repeated ProductDetails productDetailsList = 2 [(gogoproto.nullable) = false] ; - uint64 productDetailsCount = 3; + Params params = 1 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; } - diff --git a/proto/cardchain/cardchain/product_details.proto b/proto/cardchain/cardchain/product_details.proto deleted file mode 100644 index 7907599a..00000000 --- a/proto/cardchain/cardchain/product_details.proto +++ /dev/null @@ -1,11 +0,0 @@ -syntax = "proto3"; -package cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; - -message ProductDetails { - uint64 id = 1; - string name = 2; - string desc = 3; - string creator = 4; -} diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index b6360375..f862836a 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -7,7 +7,6 @@ import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; import "cardchain/cardchain/params.proto"; -import "cardchain/cardchain/product_details.proto"; import "cardchain/cardchain/card_with_image.proto"; import "cardchain/cardchain/user.proto"; import "cardchain/cardchain/card.proto"; @@ -34,18 +33,6 @@ service Query { "/DecentralCardGame/cardchain/cardchain/params"; } - // Queries a list of ProductDetails items. - rpc ProductDetails(QueryGetProductDetailsRequest) - returns (QueryGetProductDetailsResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/product_details/{id}"; - } - rpc ProductDetailsAll(QueryAllProductDetailsRequest) - returns (QueryAllProductDetailsResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/product_details"; - } - // Queries a list of Card items. rpc Card(QueryCardRequest) returns (QueryCardResponse) { option (google.api.http).get = @@ -192,21 +179,6 @@ message QueryParamsResponse { [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; } -message QueryGetProductDetailsRequest { uint64 id = 1; } - -message QueryGetProductDetailsResponse { - ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; -} - -message QueryAllProductDetailsRequest { - cosmos.base.query.v1beta1.PageRequest pagination = 1; -} - -message QueryAllProductDetailsResponse { - repeated ProductDetails ProductDetails = 1 [ (gogoproto.nullable) = false ]; - cosmos.base.query.v1beta1.PageResponse pagination = 2; -} - message QueryCardRequest { uint64 cardId = 1; } message QueryCardResponse { CardWithImage card = 1; } diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 0a5adc21..3bc53475 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -12,7 +12,6 @@ import "cardchain/cardchain/voting.proto"; import "cardchain/cardchain/match.proto"; import "cardchain/cardchain/council.proto"; import "cardchain/cardchain/card.proto"; -import "cardchain/cardchain/product_details.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; @@ -80,12 +79,6 @@ service Msg { rpc EncounterCreate(MsgEncounterCreate) returns (MsgEncounterCreateResponse); rpc EncounterDo(MsgEncounterDo) returns (MsgEncounterDoResponse); rpc EncounterClose(MsgEncounterClose) returns (MsgEncounterCloseResponse); - rpc CreateProductDetails(MsgCreateProductDetails) - returns (MsgCreateProductDetailsResponse); - rpc UpdateProductDetails(MsgUpdateProductDetails) - returns (MsgUpdateProductDetailsResponse); - rpc DeleteProductDetails(MsgDeleteProductDetails) - returns (MsgDeleteProductDetailsResponse); rpc EarlyAccessDisinvite(MsgEarlyAccessDisinvite) returns (MsgEarlyAccessDisinviteResponse); } @@ -519,33 +512,6 @@ message MsgEncounterClose { message MsgEncounterCloseResponse {} -message MsgCreateProductDetails { - option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - string name = 2; - string desc = 3; -} - -message MsgCreateProductDetailsResponse { uint64 id = 1; } - -message MsgUpdateProductDetails { - option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 id = 2; - string name = 3; - string desc = 4; -} - -message MsgUpdateProductDetailsResponse {} - -message MsgDeleteProductDetails { - option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; - uint64 id = 2; -} - -message MsgDeleteProductDetailsResponse {} - message MsgEarlyAccessDisinvite { option (cosmos.msg.v1.signer) = "creator"; string creator = 1; diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index f8791dad..ecb71f18 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -49,7 +49,6 @@ func NewKeeper( authority string, bankKeeper types.BankKeeper, featureFlagKeeper types.FeatureFlagKeeper, - ) Keeper { if _, err := sdk.AccAddressFromBech32(authority); err != nil { panic(fmt.Sprintf("invalid authority address: %s", authority)) diff --git a/x/cardchain/keeper/msg_server_product_details.go b/x/cardchain/keeper/msg_server_product_details.go deleted file mode 100644 index 6bfc9311..00000000 --- a/x/cardchain/keeper/msg_server_product_details.go +++ /dev/null @@ -1,75 +0,0 @@ -package keeper - -import ( - "context" - "fmt" - - errorsmod "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) CreateProductDetails(goCtx context.Context, msg *types.MsgCreateProductDetails) (*types.MsgCreateProductDetailsResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - var productDetails = types.ProductDetails{ - Creator: msg.Creator, - Name: msg.Name, - Desc: msg.Desc, - } - - id := k.AppendProductDetails( - ctx, - productDetails, - ) - - return &types.MsgCreateProductDetailsResponse{ - Id: id, - }, nil -} - -func (k msgServer) UpdateProductDetails(goCtx context.Context, msg *types.MsgUpdateProductDetails) (*types.MsgUpdateProductDetailsResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - var productDetails = types.ProductDetails{ - Creator: msg.Creator, - Id: msg.Id, - Name: msg.Name, - Desc: msg.Desc, - } - - // Checks that the element exists - val, found := k.GetProductDetails(ctx, msg.Id) - if !found { - return nil, errorsmod.Wrap(sdkerrors.ErrKeyNotFound, fmt.Sprintf("key %d doesn't exist", msg.Id)) - } - - // Checks if the msg creator is the same as the current owner - if msg.Creator != val.Creator { - return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "incorrect owner") - } - - k.SetProductDetails(ctx, productDetails) - - return &types.MsgUpdateProductDetailsResponse{}, nil -} - -func (k msgServer) DeleteProductDetails(goCtx context.Context, msg *types.MsgDeleteProductDetails) (*types.MsgDeleteProductDetailsResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - // Checks that the element exists - val, found := k.GetProductDetails(ctx, msg.Id) - if !found { - return nil, errorsmod.Wrap(sdkerrors.ErrKeyNotFound, fmt.Sprintf("key %d doesn't exist", msg.Id)) - } - - // Checks if the msg creator is the same as the current owner - if msg.Creator != val.Creator { - return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "incorrect owner") - } - - k.RemoveProductDetails(ctx, msg.Id) - - return &types.MsgDeleteProductDetailsResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_product_details_test.go b/x/cardchain/keeper/msg_server_product_details_test.go deleted file mode 100644 index 290e9cb5..00000000 --- a/x/cardchain/keeper/msg_server_product_details_test.go +++ /dev/null @@ -1,104 +0,0 @@ -package keeper_test - -import ( - "testing" - - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" - - "github.com/DecentralCardGame/cardchain/x/cardchain/types" -) - -func TestProductDetailsMsgServerCreate(t *testing.T) { - _, srv, ctx := setupMsgServer(t) - wctx := sdk.UnwrapSDKContext(ctx) - - creator := "A" - for i := 0; i < 5; i++ { - resp, err := srv.CreateProductDetails(wctx, &types.MsgCreateProductDetails{Creator: creator}) - require.NoError(t, err) - require.Equal(t, i, int(resp.Id)) - } -} - -func TestProductDetailsMsgServerUpdate(t *testing.T) { - creator := "A" - - tests := []struct { - desc string - request *types.MsgUpdateProductDetails - err error - }{ - { - desc: "Completed", - request: &types.MsgUpdateProductDetails{Creator: creator}, - }, - { - desc: "Unauthorized", - request: &types.MsgUpdateProductDetails{Creator: "B"}, - err: sdkerrors.ErrUnauthorized, - }, - { - desc: "Unauthorized", - request: &types.MsgUpdateProductDetails{Creator: creator, Id: 10}, - err: sdkerrors.ErrKeyNotFound, - }, - } - for _, tc := range tests { - t.Run(tc.desc, func(t *testing.T) { - _, srv, ctx := setupMsgServer(t) - wctx := sdk.UnwrapSDKContext(ctx) - - _, err := srv.CreateProductDetails(wctx, &types.MsgCreateProductDetails{Creator: creator}) - require.NoError(t, err) - - _, err = srv.UpdateProductDetails(wctx, tc.request) - if tc.err != nil { - require.ErrorIs(t, err, tc.err) - } else { - require.NoError(t, err) - } - }) - } -} - -func TestProductDetailsMsgServerDelete(t *testing.T) { - creator := "A" - - tests := []struct { - desc string - request *types.MsgDeleteProductDetails - err error - }{ - { - desc: "Completed", - request: &types.MsgDeleteProductDetails{Creator: creator}, - }, - { - desc: "Unauthorized", - request: &types.MsgDeleteProductDetails{Creator: "B"}, - err: sdkerrors.ErrUnauthorized, - }, - { - desc: "KeyNotFound", - request: &types.MsgDeleteProductDetails{Creator: creator, Id: 10}, - err: sdkerrors.ErrKeyNotFound, - }, - } - for _, tc := range tests { - t.Run(tc.desc, func(t *testing.T) { - _, srv, ctx := setupMsgServer(t) - wctx := sdk.UnwrapSDKContext(ctx) - - _, err := srv.CreateProductDetails(wctx, &types.MsgCreateProductDetails{Creator: creator}) - require.NoError(t, err) - _, err = srv.DeleteProductDetails(wctx, tc.request) - if tc.err != nil { - require.ErrorIs(t, err, tc.err) - } else { - require.NoError(t, err) - } - }) - } -} diff --git a/x/cardchain/keeper/product_details.go b/x/cardchain/keeper/product_details.go deleted file mode 100644 index 8f791498..00000000 --- a/x/cardchain/keeper/product_details.go +++ /dev/null @@ -1,111 +0,0 @@ -package keeper - -import ( - "context" - "encoding/binary" - - "cosmossdk.io/store/prefix" - storetypes "cosmossdk.io/store/types" - "github.com/DecentralCardGame/cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/runtime" -) - -// GetProductDetailsCount get the total number of productDetails -func (k Keeper) GetProductDetailsCount(ctx context.Context) uint64 { - storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) - store := prefix.NewStore(storeAdapter, []byte{}) - byteKey := types.KeyPrefix(types.ProductDetailsCountKey) - bz := store.Get(byteKey) - - // Count doesn't exist: no element - if bz == nil { - return 0 - } - - // Parse bytes - return binary.BigEndian.Uint64(bz) -} - -// SetProductDetailsCount set the total number of productDetails -func (k Keeper) SetProductDetailsCount(ctx context.Context, count uint64) { - storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) - store := prefix.NewStore(storeAdapter, []byte{}) - byteKey := types.KeyPrefix(types.ProductDetailsCountKey) - bz := make([]byte, 8) - binary.BigEndian.PutUint64(bz, count) - store.Set(byteKey, bz) -} - -// AppendProductDetails appends a productDetails in the store with a new id and update the count -func (k Keeper) AppendProductDetails( - ctx context.Context, - productDetails types.ProductDetails, -) uint64 { - // Create the productDetails - count := k.GetProductDetailsCount(ctx) - - // Set the ID of the appended value - productDetails.Id = count - - storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) - store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.ProductDetailsKey)) - appendedValue := k.cdc.MustMarshal(&productDetails) - store.Set(GetProductDetailsIDBytes(productDetails.Id), appendedValue) - - // Update productDetails count - k.SetProductDetailsCount(ctx, count+1) - - return count -} - -// SetProductDetails set a specific productDetails in the store -func (k Keeper) SetProductDetails(ctx context.Context, productDetails types.ProductDetails) { - storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) - store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.ProductDetailsKey)) - b := k.cdc.MustMarshal(&productDetails) - store.Set(GetProductDetailsIDBytes(productDetails.Id), b) -} - -// GetProductDetails returns a productDetails from its id -func (k Keeper) GetProductDetails(ctx context.Context, id uint64) (val types.ProductDetails, found bool) { - storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) - store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.ProductDetailsKey)) - b := store.Get(GetProductDetailsIDBytes(id)) - if b == nil { - return val, false - } - k.cdc.MustUnmarshal(b, &val) - return val, true -} - -// RemoveProductDetails removes a productDetails from the store -func (k Keeper) RemoveProductDetails(ctx context.Context, id uint64) { - storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) - store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.ProductDetailsKey)) - store.Delete(GetProductDetailsIDBytes(id)) -} - -// GetAllProductDetails returns all productDetails -func (k Keeper) GetAllProductDetails(ctx context.Context) (list []types.ProductDetails) { - storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) - store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.ProductDetailsKey)) - iterator := storetypes.KVStorePrefixIterator(store, []byte{}) - - defer iterator.Close() - - for ; iterator.Valid(); iterator.Next() { - var val types.ProductDetails - k.cdc.MustUnmarshal(iterator.Value(), &val) - list = append(list, val) - } - - return -} - -// GetProductDetailsIDBytes returns the byte representation of the ID -func GetProductDetailsIDBytes(id uint64) []byte { - bz := types.KeyPrefix(types.ProductDetailsKey) - bz = append(bz, []byte("/")...) - bz = binary.BigEndian.AppendUint64(bz, id) - return bz -} diff --git a/x/cardchain/keeper/product_details_test.go b/x/cardchain/keeper/product_details_test.go deleted file mode 100644 index ed5ba113..00000000 --- a/x/cardchain/keeper/product_details_test.go +++ /dev/null @@ -1,59 +0,0 @@ -package keeper_test - -import ( - "context" - "testing" - - keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" - "github.com/DecentralCardGame/cardchain/testutil/nullify" - "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/cardchain/x/cardchain/types" - "github.com/stretchr/testify/require" -) - -func createNProductDetails(keeper keeper.Keeper, ctx context.Context, n int) []types.ProductDetails { - items := make([]types.ProductDetails, n) - for i := range items { - items[i].Id = keeper.AppendProductDetails(ctx, items[i]) - } - return items -} - -func TestProductDetailsGet(t *testing.T) { - keeper, ctx := keepertest.CardchainKeeper(t) - items := createNProductDetails(keeper, ctx, 10) - for _, item := range items { - got, found := keeper.GetProductDetails(ctx, item.Id) - require.True(t, found) - require.Equal(t, - nullify.Fill(&item), - nullify.Fill(&got), - ) - } -} - -func TestProductDetailsRemove(t *testing.T) { - keeper, ctx := keepertest.CardchainKeeper(t) - items := createNProductDetails(keeper, ctx, 10) - for _, item := range items { - keeper.RemoveProductDetails(ctx, item.Id) - _, found := keeper.GetProductDetails(ctx, item.Id) - require.False(t, found) - } -} - -func TestProductDetailsGetAll(t *testing.T) { - keeper, ctx := keepertest.CardchainKeeper(t) - items := createNProductDetails(keeper, ctx, 10) - require.ElementsMatch(t, - nullify.Fill(items), - nullify.Fill(keeper.GetAllProductDetails(ctx)), - ) -} - -func TestProductDetailsCount(t *testing.T) { - keeper, ctx := keepertest.CardchainKeeper(t) - items := createNProductDetails(keeper, ctx, 10) - count := uint64(len(items)) - require.Equal(t, count, keeper.GetProductDetailsCount(ctx)) -} diff --git a/x/cardchain/keeper/query_product_details.go b/x/cardchain/keeper/query_product_details.go deleted file mode 100644 index b6e36e35..00000000 --- a/x/cardchain/keeper/query_product_details.go +++ /dev/null @@ -1,53 +0,0 @@ -package keeper - -import ( - "context" - - "cosmossdk.io/store/prefix" - "github.com/DecentralCardGame/cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/runtime" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/cosmos-sdk/types/query" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -func (k Keeper) ProductDetailsAll(ctx context.Context, req *types.QueryAllProductDetailsRequest) (*types.QueryAllProductDetailsResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - var productDetailss []types.ProductDetails - - store := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) - productDetailsStore := prefix.NewStore(store, types.KeyPrefix(types.ProductDetailsKey)) - - pageRes, err := query.Paginate(productDetailsStore, req.Pagination, func(key []byte, value []byte) error { - var productDetails types.ProductDetails - if err := k.cdc.Unmarshal(value, &productDetails); err != nil { - return err - } - - productDetailss = append(productDetailss, productDetails) - return nil - }) - - if err != nil { - return nil, status.Error(codes.Internal, err.Error()) - } - - return &types.QueryAllProductDetailsResponse{ProductDetails: productDetailss, Pagination: pageRes}, nil -} - -func (k Keeper) ProductDetails(ctx context.Context, req *types.QueryGetProductDetailsRequest) (*types.QueryGetProductDetailsResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - productDetails, found := k.GetProductDetails(ctx, req.Id) - if !found { - return nil, sdkerrors.ErrKeyNotFound - } - - return &types.QueryGetProductDetailsResponse{ProductDetails: productDetails}, nil -} diff --git a/x/cardchain/keeper/query_product_details_test.go b/x/cardchain/keeper/query_product_details_test.go deleted file mode 100644 index 45727176..00000000 --- a/x/cardchain/keeper/query_product_details_test.go +++ /dev/null @@ -1,115 +0,0 @@ -package keeper_test - -import ( - "testing" - - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/cosmos-sdk/types/query" - "github.com/stretchr/testify/require" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - keepertest "github.com/DecentralCardGame/cardchain/testutil/keeper" - "github.com/DecentralCardGame/cardchain/testutil/nullify" - "github.com/DecentralCardGame/cardchain/x/cardchain/types" -) - -func TestProductDetailsQuerySingle(t *testing.T) { - keeper, ctx := keepertest.CardchainKeeper(t) - msgs := createNProductDetails(keeper, ctx, 2) - tests := []struct { - desc string - request *types.QueryGetProductDetailsRequest - response *types.QueryGetProductDetailsResponse - err error - }{ - { - desc: "First", - request: &types.QueryGetProductDetailsRequest{Id: msgs[0].Id}, - response: &types.QueryGetProductDetailsResponse{ProductDetails: msgs[0]}, - }, - { - desc: "Second", - request: &types.QueryGetProductDetailsRequest{Id: msgs[1].Id}, - response: &types.QueryGetProductDetailsResponse{ProductDetails: msgs[1]}, - }, - { - desc: "KeyNotFound", - request: &types.QueryGetProductDetailsRequest{Id: uint64(len(msgs))}, - err: sdkerrors.ErrKeyNotFound, - }, - { - desc: "InvalidRequest", - err: status.Error(codes.InvalidArgument, "invalid request"), - }, - } - for _, tc := range tests { - t.Run(tc.desc, func(t *testing.T) { - response, err := keeper.ProductDetails(ctx, tc.request) - if tc.err != nil { - require.ErrorIs(t, err, tc.err) - } else { - require.NoError(t, err) - require.Equal(t, - nullify.Fill(tc.response), - nullify.Fill(response), - ) - } - }) - } -} - -func TestProductDetailsQueryPaginated(t *testing.T) { - keeper, ctx := keepertest.CardchainKeeper(t) - msgs := createNProductDetails(keeper, ctx, 5) - - request := func(next []byte, offset, limit uint64, total bool) *types.QueryAllProductDetailsRequest { - return &types.QueryAllProductDetailsRequest{ - Pagination: &query.PageRequest{ - Key: next, - Offset: offset, - Limit: limit, - CountTotal: total, - }, - } - } - t.Run("ByOffset", func(t *testing.T) { - step := 2 - for i := 0; i < len(msgs); i += step { - resp, err := keeper.ProductDetailsAll(ctx, request(nil, uint64(i), uint64(step), false)) - require.NoError(t, err) - require.LessOrEqual(t, len(resp.ProductDetails), step) - require.Subset(t, - nullify.Fill(msgs), - nullify.Fill(resp.ProductDetails), - ) - } - }) - t.Run("ByKey", func(t *testing.T) { - step := 2 - var next []byte - for i := 0; i < len(msgs); i += step { - resp, err := keeper.ProductDetailsAll(ctx, request(next, 0, uint64(step), false)) - require.NoError(t, err) - require.LessOrEqual(t, len(resp.ProductDetails), step) - require.Subset(t, - nullify.Fill(msgs), - nullify.Fill(resp.ProductDetails), - ) - next = resp.Pagination.NextKey - } - }) - t.Run("Total", func(t *testing.T) { - resp, err := keeper.ProductDetailsAll(ctx, request(nil, 0, 0, true)) - require.NoError(t, err) - require.Equal(t, len(msgs), int(resp.Pagination.Total)) - require.ElementsMatch(t, - nullify.Fill(msgs), - nullify.Fill(resp.ProductDetails), - ) - }) - t.Run("InvalidRequest", func(t *testing.T) { - _, err := keeper.ProductDetailsAll(ctx, nil) - require.ErrorIs(t, err, status.Error(codes.InvalidArgument, "invalid request")) - }) -} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index de49091e..41ab2428 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -17,17 +17,7 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Use: "params", Short: "Shows the parameters of the module", }, - { - RpcMethod: "ProductDetailsAll", - Use: "list-product-details", - Short: "List all product-details", - }, - { - RpcMethod: "ProductDetails", - Use: "show-product-details [id]", - Short: "Shows a product-details by id", - PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "id"}}, - }, + { RpcMethod: "Card", Use: "card [card-id]", @@ -462,24 +452,7 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Send a EncounterClose tx", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "encounterId"}, {ProtoField: "user"}, {ProtoField: "won"}}, }, - { - RpcMethod: "CreateProductDetails", - Use: "create-product-details [name] [desc]", - Short: "Create product-details", - PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "name"}, {ProtoField: "desc"}}, - }, - { - RpcMethod: "UpdateProductDetails", - Use: "update-product-details [id] [name] [desc]", - Short: "Update product-details", - PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "id"}, {ProtoField: "name"}, {ProtoField: "desc"}}, - }, - { - RpcMethod: "DeleteProductDetails", - Use: "delete-product-details [id]", - Short: "Delete product-details", - PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "id"}}, - }, + { RpcMethod: "EarlyAccessDisinvite", Use: "early-access-disinvite [user]", diff --git a/x/cardchain/module/genesis.go b/x/cardchain/module/genesis.go index 72c3b17d..38de003f 100644 --- a/x/cardchain/module/genesis.go +++ b/x/cardchain/module/genesis.go @@ -9,13 +9,6 @@ import ( // InitGenesis initializes the module's state from a provided genesis state. func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) { - // Set all the productDetails - for _, elem := range genState.ProductDetailsList { - k.SetProductDetails(ctx, elem) - } - - // Set productDetails count - k.SetProductDetailsCount(ctx, genState.ProductDetailsCount) // this line is used by starport scaffolding # genesis/module/init if err := k.SetParams(ctx, genState.Params); err != nil { panic(err) @@ -27,8 +20,6 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { genesis := types.DefaultGenesis() genesis.Params = k.GetParams(ctx) - genesis.ProductDetailsList = k.GetAllProductDetails(ctx) - genesis.ProductDetailsCount = k.GetProductDetailsCount(ctx) // this line is used by starport scaffolding # genesis/module/export return genesis diff --git a/x/cardchain/module/genesis_test.go b/x/cardchain/module/genesis_test.go index ae49cc36..7b84d68d 100644 --- a/x/cardchain/module/genesis_test.go +++ b/x/cardchain/module/genesis_test.go @@ -13,16 +13,6 @@ import ( func TestGenesis(t *testing.T) { genesisState := types.GenesisState{ Params: types.DefaultParams(), - - ProductDetailsList: []types.ProductDetails{ - { - Id: 0, - }, - { - Id: 1, - }, - }, - ProductDetailsCount: 2, // this line is used by starport scaffolding # genesis/test/state } @@ -34,7 +24,5 @@ func TestGenesis(t *testing.T) { nullify.Fill(&genesisState) nullify.Fill(got) - require.ElementsMatch(t, genesisState.ProductDetailsList, got.ProductDetailsList) - require.Equal(t, genesisState.ProductDetailsCount, got.ProductDetailsCount) // this line is used by starport scaffolding # genesis/test/assert } diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index 319ec800..cedf63b8 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -207,18 +207,6 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgEncounterClose int = 100 - opWeightMsgCreateProductDetails = "op_weight_msg_product_details" - // TODO: Determine the simulation weight value - defaultWeightMsgCreateProductDetails int = 100 - - opWeightMsgUpdateProductDetails = "op_weight_msg_product_details" - // TODO: Determine the simulation weight value - defaultWeightMsgUpdateProductDetails int = 100 - - opWeightMsgDeleteProductDetails = "op_weight_msg_product_details" - // TODO: Determine the simulation weight value - defaultWeightMsgDeleteProductDetails int = 100 - opWeightMsgEarlyAccessDisinvite = "op_weight_msg_early_access_disinvite" // TODO: Determine the simulation weight value defaultWeightMsgEarlyAccessDisinvite int = 100 @@ -234,17 +222,6 @@ func (AppModule) GenerateGenesisState(simState *module.SimulationState) { } cardchainGenesis := types.GenesisState{ Params: types.DefaultParams(), - ProductDetailsList: []types.ProductDetails{ - { - Id: 0, - Creator: sample.AccAddress(), - }, - { - Id: 1, - Creator: sample.AccAddress(), - }, - }, - ProductDetailsCount: 2, // this line is used by starport scaffolding # simapp/module/genesisState } simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&cardchainGenesis) @@ -763,39 +740,6 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgEncounterClose(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgCreateProductDetails int - simState.AppParams.GetOrGenerate(opWeightMsgCreateProductDetails, &weightMsgCreateProductDetails, nil, - func(_ *rand.Rand) { - weightMsgCreateProductDetails = defaultWeightMsgCreateProductDetails - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgCreateProductDetails, - cardchainsimulation.SimulateMsgCreateProductDetails(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgUpdateProductDetails int - simState.AppParams.GetOrGenerate(opWeightMsgUpdateProductDetails, &weightMsgUpdateProductDetails, nil, - func(_ *rand.Rand) { - weightMsgUpdateProductDetails = defaultWeightMsgUpdateProductDetails - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgUpdateProductDetails, - cardchainsimulation.SimulateMsgUpdateProductDetails(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgDeleteProductDetails int - simState.AppParams.GetOrGenerate(opWeightMsgDeleteProductDetails, &weightMsgDeleteProductDetails, nil, - func(_ *rand.Rand) { - weightMsgDeleteProductDetails = defaultWeightMsgDeleteProductDetails - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgDeleteProductDetails, - cardchainsimulation.SimulateMsgDeleteProductDetails(am.accountKeeper, am.bankKeeper, am.keeper), - )) - var weightMsgEarlyAccessDisinvite int simState.AppParams.GetOrGenerate(opWeightMsgEarlyAccessDisinvite, &weightMsgEarlyAccessDisinvite, nil, func(_ *rand.Rand) { @@ -1183,30 +1127,6 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei return nil }, ), - simulation.NewWeightedProposalMsg( - opWeightMsgCreateProductDetails, - defaultWeightMsgCreateProductDetails, - func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { - cardchainsimulation.SimulateMsgCreateProductDetails(am.accountKeeper, am.bankKeeper, am.keeper) - return nil - }, - ), - simulation.NewWeightedProposalMsg( - opWeightMsgUpdateProductDetails, - defaultWeightMsgUpdateProductDetails, - func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { - cardchainsimulation.SimulateMsgUpdateProductDetails(am.accountKeeper, am.bankKeeper, am.keeper) - return nil - }, - ), - simulation.NewWeightedProposalMsg( - opWeightMsgDeleteProductDetails, - defaultWeightMsgDeleteProductDetails, - func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { - cardchainsimulation.SimulateMsgDeleteProductDetails(am.accountKeeper, am.bankKeeper, am.keeper) - return nil - }, - ), simulation.NewWeightedProposalMsg( opWeightMsgEarlyAccessDisinvite, defaultWeightMsgEarlyAccessDisinvite, diff --git a/x/cardchain/simulation/product_details.go b/x/cardchain/simulation/product_details.go deleted file mode 100644 index d68cbe3a..00000000 --- a/x/cardchain/simulation/product_details.go +++ /dev/null @@ -1,131 +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" - moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/cosmos-sdk/x/simulation" -) - -func SimulateMsgCreateProductDetails( - 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.MsgCreateProductDetails{ - Creator: simAccount.Address.String(), - } - - txCtx := simulation.OperationInput{ - R: r, - App: app, - TxGen: moduletestutil.MakeTestEncodingConfig().TxConfig, - Cdc: nil, - Msg: msg, - Context: ctx, - SimAccount: simAccount, - ModuleName: types.ModuleName, - CoinsSpentInMsg: sdk.NewCoins(), - AccountKeeper: ak, - Bankkeeper: bk, - } - return simulation.GenAndDeliverTxWithRandFees(txCtx) - } -} - -func SimulateMsgUpdateProductDetails( - 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) { - var ( - simAccount = simtypes.Account{} - productDetails = types.ProductDetails{} - msg = &types.MsgUpdateProductDetails{} - allProductDetails = k.GetAllProductDetails(ctx) - found = false - ) - for _, obj := range allProductDetails { - simAccount, found = FindAccount(accs, obj.Creator) - if found { - productDetails = obj - break - } - } - if !found { - return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "productDetails creator not found"), nil, nil - } - msg.Creator = simAccount.Address.String() - msg.Id = productDetails.Id - - txCtx := simulation.OperationInput{ - R: r, - App: app, - TxGen: moduletestutil.MakeTestEncodingConfig().TxConfig, - Cdc: nil, - Msg: msg, - Context: ctx, - SimAccount: simAccount, - ModuleName: types.ModuleName, - CoinsSpentInMsg: sdk.NewCoins(), - AccountKeeper: ak, - Bankkeeper: bk, - } - return simulation.GenAndDeliverTxWithRandFees(txCtx) - } -} - -func SimulateMsgDeleteProductDetails( - 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) { - var ( - simAccount = simtypes.Account{} - productDetails = types.ProductDetails{} - msg = &types.MsgDeleteProductDetails{} - allProductDetails = k.GetAllProductDetails(ctx) - found = false - ) - for _, obj := range allProductDetails { - simAccount, found = FindAccount(accs, obj.Creator) - if found { - productDetails = obj - break - } - } - if !found { - return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "productDetails creator not found"), nil, nil - } - msg.Creator = simAccount.Address.String() - msg.Id = productDetails.Id - - txCtx := simulation.OperationInput{ - R: r, - App: app, - TxGen: moduletestutil.MakeTestEncodingConfig().TxConfig, - Cdc: nil, - Msg: msg, - Context: ctx, - SimAccount: simAccount, - ModuleName: types.ModuleName, - CoinsSpentInMsg: sdk.NewCoins(), - AccountKeeper: ak, - Bankkeeper: bk, - } - return simulation.GenAndDeliverTxWithRandFees(txCtx) - } -} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 54b49da2..40d2343c 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -146,11 +146,6 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgEncounterClose{}, ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgCreateProductDetails{}, - &MsgUpdateProductDetails{}, - &MsgDeleteProductDetails{}, - ) registry.RegisterImplementations((*sdk.Msg)(nil), &MsgEarlyAccessDisinvite{}, ) diff --git a/x/cardchain/types/genesis.go b/x/cardchain/types/genesis.go index 188b81b7..f2689b73 100644 --- a/x/cardchain/types/genesis.go +++ b/x/cardchain/types/genesis.go @@ -1,16 +1,11 @@ package types -import ( - "fmt" -) - // DefaultIndex is the default global index const DefaultIndex uint64 = 1 // DefaultGenesis returns the default genesis state func DefaultGenesis() *GenesisState { return &GenesisState{ - ProductDetailsList: []ProductDetails{}, // this line is used by starport scaffolding # genesis/types/default Params: DefaultParams(), } @@ -19,18 +14,6 @@ func DefaultGenesis() *GenesisState { // Validate performs basic genesis state validation returning an error upon any // failure. func (gs GenesisState) Validate() error { - // Check for duplicated ID in productDetails - productDetailsIdMap := make(map[uint64]bool) - productDetailsCount := gs.GetProductDetailsCount() - for _, elem := range gs.ProductDetailsList { - if _, ok := productDetailsIdMap[elem.Id]; ok { - return fmt.Errorf("duplicated id for productDetails") - } - if elem.Id >= productDetailsCount { - return fmt.Errorf("productDetails id should be lower or equal than the last id") - } - productDetailsIdMap[elem.Id] = true - } // this line is used by starport scaffolding # genesis/types/validate return gs.Params.Validate() diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 4306f207..0ea89648 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -27,9 +27,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // GenesisState defines the cardchain module's genesis state. type GenesisState struct { // params defines all the parameters of the module. - Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` - ProductDetailsList []ProductDetails `protobuf:"bytes,2,rep,name=productDetailsList,proto3" json:"productDetailsList"` - ProductDetailsCount uint64 `protobuf:"varint,3,opt,name=productDetailsCount,proto3" json:"productDetailsCount,omitempty"` + Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -72,20 +70,6 @@ func (m *GenesisState) GetParams() Params { return Params{} } -func (m *GenesisState) GetProductDetailsList() []ProductDetails { - if m != nil { - return m.ProductDetailsList - } - return nil -} - -func (m *GenesisState) GetProductDetailsCount() uint64 { - if m != nil { - return m.ProductDetailsCount - } - return 0 -} - func init() { proto.RegisterType((*GenesisState)(nil), "cardchain.cardchain.GenesisState") } @@ -93,25 +77,21 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/genesis.proto", fileDescriptor_c4e78aa6e403ddd4) } var fileDescriptor_c4e78aa6e403ddd4 = []byte{ - // 287 bytes of a gzipped FileDescriptorProto + // 213 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4c, 0x4e, 0x2c, 0x4a, 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xd2, 0x53, 0xf3, 0x52, 0x8b, 0x33, 0x8b, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0x12, 0x7a, 0x70, 0x96, 0x94, 0x60, 0x62, 0x6e, 0x66, 0x5e, 0xbe, 0x3e, 0x98, 0x84, 0xa8, 0x93, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x33, 0xf5, - 0x41, 0x2c, 0xa8, 0xa8, 0x02, 0x36, 0x0b, 0x0a, 0x12, 0x8b, 0x12, 0x73, 0xa1, 0xe6, 0x4b, 0x69, - 0x62, 0x55, 0x51, 0x94, 0x9f, 0x52, 0x9a, 0x5c, 0x12, 0x9f, 0x92, 0x5a, 0x92, 0x98, 0x99, 0x03, - 0x55, 0xaa, 0x74, 0x9b, 0x91, 0x8b, 0xc7, 0x1d, 0xe2, 0xb8, 0xe0, 0x92, 0xc4, 0x92, 0x54, 0x21, - 0x3b, 0x2e, 0x36, 0x88, 0x59, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xdc, 0x46, 0xd2, 0x7a, 0x58, 0x1c, - 0xab, 0x17, 0x00, 0x56, 0xe2, 0xc4, 0x79, 0xe2, 0x9e, 0x3c, 0xc3, 0x8a, 0xe7, 0x1b, 0xb4, 0x18, - 0x83, 0xa0, 0xba, 0x84, 0x22, 0xb9, 0x84, 0xa0, 0x36, 0xb9, 0x40, 0x2c, 0xf2, 0xc9, 0x2c, 0x2e, - 0x91, 0x60, 0x52, 0x60, 0xd6, 0xe0, 0x36, 0x52, 0xc6, 0x6e, 0x16, 0x8a, 0x72, 0x27, 0x16, 0x90, - 0x99, 0x41, 0x58, 0x0c, 0x11, 0x32, 0xe0, 0x12, 0x46, 0x15, 0x75, 0xce, 0x2f, 0xcd, 0x2b, 0x91, - 0x60, 0x56, 0x60, 0xd4, 0x60, 0x09, 0xc2, 0x26, 0xe5, 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, 0x2e, 0xa9, 0xc9, 0xa9, 0x79, 0x25, 0x45, 0x89, 0x39, 0xce, 0x89, 0x45, 0x29, 0xee, 0x89, - 0xb9, 0xa9, 0x48, 0xa1, 0x56, 0x81, 0xc4, 0x2e, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, 0x07, - 0x9c, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x9b, 0x7f, 0xd4, 0x01, 0xe8, 0x01, 0x00, 0x00, + 0x41, 0x2c, 0xa8, 0xa8, 0x02, 0x36, 0x0b, 0x0a, 0x12, 0x8b, 0x12, 0x73, 0xa1, 0xe6, 0x2b, 0xf9, + 0x71, 0xf1, 0xb8, 0x43, 0x2c, 0x0c, 0x2e, 0x49, 0x2c, 0x49, 0x15, 0xb2, 0xe3, 0x62, 0x83, 0xc8, + 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x1b, 0x49, 0xeb, 0x61, 0x71, 0x80, 0x5e, 0x00, 0x58, 0x89, + 0x13, 0xe7, 0x89, 0x7b, 0xf2, 0x0c, 0x2b, 0x9e, 0x6f, 0xd0, 0x62, 0x0c, 0x82, 0xea, 0x72, 0x0a, + 0x3a, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, + 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x28, 0x8b, 0xf4, 0xcc, 0x92, 0x8c, + 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0x7d, 0x97, 0xd4, 0xe4, 0xd4, 0xbc, 0x92, 0xa2, 0xc4, 0x1c, + 0xe7, 0xc4, 0xa2, 0x14, 0xf7, 0xc4, 0xdc, 0x54, 0x24, 0xe7, 0x55, 0x20, 0xb1, 0x4b, 0x2a, 0x0b, + 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x4e, 0x35, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x5c, 0x2a, + 0xef, 0x2f, 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -134,25 +114,6 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.ProductDetailsCount != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.ProductDetailsCount)) - i-- - dAtA[i] = 0x18 - } - if len(m.ProductDetailsList) > 0 { - for iNdEx := len(m.ProductDetailsList) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.ProductDetailsList[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } { size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -185,15 +146,6 @@ func (m *GenesisState) Size() (n int) { _ = l l = m.Params.Size() n += 1 + l + sovGenesis(uint64(l)) - if len(m.ProductDetailsList) > 0 { - for _, e := range m.ProductDetailsList { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if m.ProductDetailsCount != 0 { - n += 1 + sovGenesis(uint64(m.ProductDetailsCount)) - } return n } @@ -265,59 +217,6 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProductDetailsList", 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 - } - m.ProductDetailsList = append(m.ProductDetailsList, ProductDetails{}) - if err := m.ProductDetailsList[len(m.ProductDetailsList)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ProductDetailsCount", wireType) - } - m.ProductDetailsCount = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ProductDetailsCount |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/x/cardchain/types/genesis_test.go b/x/cardchain/types/genesis_test.go index 0fa8d038..47da0da8 100644 --- a/x/cardchain/types/genesis_test.go +++ b/x/cardchain/types/genesis_test.go @@ -19,48 +19,12 @@ func TestGenesisState_Validate(t *testing.T) { valid: true, }, { - desc: "valid genesis state", + desc: "valid genesis state", genState: &types.GenesisState{ - - ProductDetailsList: []types.ProductDetails{ - { - Id: 0, - }, - { - Id: 1, - }, - }, - ProductDetailsCount: 2, // this line is used by starport scaffolding # types/genesis/validField }, valid: true, }, - { - desc: "duplicated productDetails", - genState: &types.GenesisState{ - ProductDetailsList: []types.ProductDetails{ - { - Id: 0, - }, - { - Id: 0, - }, - }, - }, - valid: false, - }, - { - desc: "invalid productDetails count", - genState: &types.GenesisState{ - ProductDetailsList: []types.ProductDetails{ - { - Id: 1, - }, - }, - ProductDetailsCount: 0, - }, - valid: false, - }, // this line is used by starport scaffolding # types/genesis/testcase } for _, tc := range tests { diff --git a/x/cardchain/types/messages_product_details.go b/x/cardchain/types/messages_product_details.go deleted file mode 100644 index c251fe2b..00000000 --- a/x/cardchain/types/messages_product_details.go +++ /dev/null @@ -1,61 +0,0 @@ -package types - -import ( - errorsmod "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -var _ sdk.Msg = &MsgCreateProductDetails{} - -func NewMsgCreateProductDetails(creator string, name string, desc string) *MsgCreateProductDetails { - return &MsgCreateProductDetails{ - Creator: creator, - Name: name, - Desc: desc, - } -} - -func (msg *MsgCreateProductDetails) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} - -var _ sdk.Msg = &MsgUpdateProductDetails{} - -func NewMsgUpdateProductDetails(creator string, id uint64, name string, desc string) *MsgUpdateProductDetails { - return &MsgUpdateProductDetails{ - Id: id, - Creator: creator, - Name: name, - Desc: desc, - } -} - -func (msg *MsgUpdateProductDetails) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} - -var _ sdk.Msg = &MsgDeleteProductDetails{} - -func NewMsgDeleteProductDetails(creator string, id uint64) *MsgDeleteProductDetails { - return &MsgDeleteProductDetails{ - Id: id, - Creator: creator, - } -} - -func (msg *MsgDeleteProductDetails) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/messages_product_details_test.go b/x/cardchain/types/messages_product_details_test.go deleted file mode 100644 index e42d4109..00000000 --- a/x/cardchain/types/messages_product_details_test.go +++ /dev/null @@ -1,102 +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 TestMsgCreateProductDetails_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgCreateProductDetails - err error - }{ - { - name: "invalid address", - msg: MsgCreateProductDetails{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgCreateProductDetails{ - 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) - }) - } -} - -func TestMsgUpdateProductDetails_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgUpdateProductDetails - err error - }{ - { - name: "invalid address", - msg: MsgUpdateProductDetails{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgUpdateProductDetails{ - 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) - }) - } -} - -func TestMsgDeleteProductDetails_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgDeleteProductDetails - err error - }{ - { - name: "invalid address", - msg: MsgDeleteProductDetails{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgDeleteProductDetails{ - 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/product_details.pb.go b/x/cardchain/types/product_details.pb.go deleted file mode 100644 index 11fdabcb..00000000 --- a/x/cardchain/types/product_details.pb.go +++ /dev/null @@ -1,457 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/product_details.proto - -package types - -import ( - fmt "fmt" - proto "github.com/cosmos/gogoproto/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 ProductDetails struct { - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` - Creator string `protobuf:"bytes,4,opt,name=creator,proto3" json:"creator,omitempty"` -} - -func (m *ProductDetails) Reset() { *m = ProductDetails{} } -func (m *ProductDetails) String() string { return proto.CompactTextString(m) } -func (*ProductDetails) ProtoMessage() {} -func (*ProductDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_6e8972558ee0ad96, []int{0} -} -func (m *ProductDetails) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ProductDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ProductDetails.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 *ProductDetails) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProductDetails.Merge(m, src) -} -func (m *ProductDetails) XXX_Size() int { - return m.Size() -} -func (m *ProductDetails) XXX_DiscardUnknown() { - xxx_messageInfo_ProductDetails.DiscardUnknown(m) -} - -var xxx_messageInfo_ProductDetails proto.InternalMessageInfo - -func (m *ProductDetails) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} - -func (m *ProductDetails) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *ProductDetails) GetDesc() string { - if m != nil { - return m.Desc - } - return "" -} - -func (m *ProductDetails) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func init() { - proto.RegisterType((*ProductDetails)(nil), "cardchain.cardchain.ProductDetails") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/product_details.proto", fileDescriptor_6e8972558ee0ad96) -} - -var fileDescriptor_6e8972558ee0ad96 = []byte{ - // 209 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4c, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x0a, 0x8a, 0xf2, 0x53, 0x4a, 0x93, 0x4b, 0xe2, - 0x53, 0x52, 0x4b, 0x12, 0x33, 0x73, 0x8a, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, - 0x0a, 0xf4, 0xe0, 0x2c, 0xa5, 0x24, 0x2e, 0xbe, 0x00, 0x88, 0x6a, 0x17, 0x88, 0x62, 0x21, 0x3e, - 0x2e, 0xa6, 0xcc, 0x14, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x96, 0x20, 0xa6, 0xcc, 0x14, 0x21, 0x21, - 0x2e, 0x96, 0xbc, 0xc4, 0xdc, 0x54, 0x09, 0x26, 0x05, 0x46, 0x0d, 0xce, 0x20, 0x30, 0x1b, 0x24, - 0x96, 0x92, 0x5a, 0x9c, 0x2c, 0xc1, 0x0c, 0x11, 0x03, 0xb1, 0x85, 0x24, 0xb8, 0xd8, 0x93, 0x8b, - 0x52, 0x13, 0x4b, 0xf2, 0x8b, 0x24, 0x58, 0xc0, 0xc2, 0x30, 0xae, 0x53, 0xd0, 0x89, 0x47, 0x72, - 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, - 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x59, 0xa4, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, - 0xe7, 0xe7, 0xea, 0xbb, 0xa4, 0x26, 0xa7, 0xe6, 0x95, 0x14, 0x25, 0xe6, 0x38, 0x27, 0x16, 0xa5, - 0xb8, 0x27, 0xe6, 0xa6, 0x22, 0x79, 0xa8, 0x02, 0x89, 0x5d, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, - 0x06, 0xf6, 0x93, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x9b, 0xaf, 0x49, 0x05, 0x00, 0x01, 0x00, - 0x00, -} - -func (m *ProductDetails) 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 *ProductDetails) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ProductDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintProductDetails(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0x22 - } - if len(m.Desc) > 0 { - i -= len(m.Desc) - copy(dAtA[i:], m.Desc) - i = encodeVarintProductDetails(dAtA, i, uint64(len(m.Desc))) - i-- - dAtA[i] = 0x1a - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarintProductDetails(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0x12 - } - if m.Id != 0 { - i = encodeVarintProductDetails(dAtA, i, uint64(m.Id)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintProductDetails(dAtA []byte, offset int, v uint64) int { - offset -= sovProductDetails(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *ProductDetails) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Id != 0 { - n += 1 + sovProductDetails(uint64(m.Id)) - } - l = len(m.Name) - if l > 0 { - n += 1 + l + sovProductDetails(uint64(l)) - } - l = len(m.Desc) - if l > 0 { - n += 1 + l + sovProductDetails(uint64(l)) - } - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovProductDetails(uint64(l)) - } - return n -} - -func sovProductDetails(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozProductDetails(x uint64) (n int) { - return sovProductDetails(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *ProductDetails) 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 ErrIntOverflowProductDetails - } - 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: ProductDetails: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - m.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProductDetails - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 ErrIntOverflowProductDetails - } - 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 ErrInvalidLengthProductDetails - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProductDetails - } - 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 Desc", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProductDetails - } - 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 ErrInvalidLengthProductDetails - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProductDetails - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Desc = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProductDetails - } - 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 ErrInvalidLengthProductDetails - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProductDetails - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProductDetails(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProductDetails - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipProductDetails(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, ErrIntOverflowProductDetails - } - 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, ErrIntOverflowProductDetails - } - 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, ErrIntOverflowProductDetails - } - 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, ErrInvalidLengthProductDetails - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupProductDetails - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthProductDetails - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthProductDetails = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowProductDetails = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupProductDetails = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index cb9d215c..c008916a 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -7,7 +7,7 @@ import ( context "context" fmt "fmt" types "github.com/cosmos/cosmos-sdk/types" - query "github.com/cosmos/cosmos-sdk/types/query" + _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" @@ -115,190 +115,6 @@ func (m *QueryParamsResponse) GetParams() Params { return Params{} } -type QueryGetProductDetailsRequest struct { - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (m *QueryGetProductDetailsRequest) Reset() { *m = QueryGetProductDetailsRequest{} } -func (m *QueryGetProductDetailsRequest) String() string { return proto.CompactTextString(m) } -func (*QueryGetProductDetailsRequest) ProtoMessage() {} -func (*QueryGetProductDetailsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{2} -} -func (m *QueryGetProductDetailsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryGetProductDetailsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryGetProductDetailsRequest.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 *QueryGetProductDetailsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryGetProductDetailsRequest.Merge(m, src) -} -func (m *QueryGetProductDetailsRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryGetProductDetailsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryGetProductDetailsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryGetProductDetailsRequest proto.InternalMessageInfo - -func (m *QueryGetProductDetailsRequest) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} - -type QueryGetProductDetailsResponse struct { - ProductDetails ProductDetails `protobuf:"bytes,1,opt,name=ProductDetails,proto3" json:"ProductDetails"` -} - -func (m *QueryGetProductDetailsResponse) Reset() { *m = QueryGetProductDetailsResponse{} } -func (m *QueryGetProductDetailsResponse) String() string { return proto.CompactTextString(m) } -func (*QueryGetProductDetailsResponse) ProtoMessage() {} -func (*QueryGetProductDetailsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{3} -} -func (m *QueryGetProductDetailsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryGetProductDetailsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryGetProductDetailsResponse.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 *QueryGetProductDetailsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryGetProductDetailsResponse.Merge(m, src) -} -func (m *QueryGetProductDetailsResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryGetProductDetailsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryGetProductDetailsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryGetProductDetailsResponse proto.InternalMessageInfo - -func (m *QueryGetProductDetailsResponse) GetProductDetails() ProductDetails { - if m != nil { - return m.ProductDetails - } - return ProductDetails{} -} - -type QueryAllProductDetailsRequest struct { - Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` -} - -func (m *QueryAllProductDetailsRequest) Reset() { *m = QueryAllProductDetailsRequest{} } -func (m *QueryAllProductDetailsRequest) String() string { return proto.CompactTextString(m) } -func (*QueryAllProductDetailsRequest) ProtoMessage() {} -func (*QueryAllProductDetailsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{4} -} -func (m *QueryAllProductDetailsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryAllProductDetailsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryAllProductDetailsRequest.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 *QueryAllProductDetailsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryAllProductDetailsRequest.Merge(m, src) -} -func (m *QueryAllProductDetailsRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryAllProductDetailsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryAllProductDetailsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryAllProductDetailsRequest proto.InternalMessageInfo - -func (m *QueryAllProductDetailsRequest) GetPagination() *query.PageRequest { - if m != nil { - return m.Pagination - } - return nil -} - -type QueryAllProductDetailsResponse struct { - ProductDetails []ProductDetails `protobuf:"bytes,1,rep,name=ProductDetails,proto3" json:"ProductDetails"` - Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` -} - -func (m *QueryAllProductDetailsResponse) Reset() { *m = QueryAllProductDetailsResponse{} } -func (m *QueryAllProductDetailsResponse) String() string { return proto.CompactTextString(m) } -func (*QueryAllProductDetailsResponse) ProtoMessage() {} -func (*QueryAllProductDetailsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{5} -} -func (m *QueryAllProductDetailsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryAllProductDetailsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryAllProductDetailsResponse.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 *QueryAllProductDetailsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryAllProductDetailsResponse.Merge(m, src) -} -func (m *QueryAllProductDetailsResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryAllProductDetailsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryAllProductDetailsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryAllProductDetailsResponse proto.InternalMessageInfo - -func (m *QueryAllProductDetailsResponse) GetProductDetails() []ProductDetails { - if m != nil { - return m.ProductDetails - } - return nil -} - -func (m *QueryAllProductDetailsResponse) GetPagination() *query.PageResponse { - if m != nil { - return m.Pagination - } - return nil -} - type QueryCardRequest struct { CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` } @@ -307,7 +123,7 @@ func (m *QueryCardRequest) Reset() { *m = QueryCardRequest{} } func (m *QueryCardRequest) String() string { return proto.CompactTextString(m) } func (*QueryCardRequest) ProtoMessage() {} func (*QueryCardRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{6} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{2} } func (m *QueryCardRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -351,7 +167,7 @@ func (m *QueryCardResponse) Reset() { *m = QueryCardResponse{} } func (m *QueryCardResponse) String() string { return proto.CompactTextString(m) } func (*QueryCardResponse) ProtoMessage() {} func (*QueryCardResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{7} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{3} } func (m *QueryCardResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -395,7 +211,7 @@ func (m *QueryUserRequest) Reset() { *m = QueryUserRequest{} } func (m *QueryUserRequest) String() string { return proto.CompactTextString(m) } func (*QueryUserRequest) ProtoMessage() {} func (*QueryUserRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{8} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{4} } func (m *QueryUserRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -439,7 +255,7 @@ func (m *QueryUserResponse) Reset() { *m = QueryUserResponse{} } func (m *QueryUserResponse) String() string { return proto.CompactTextString(m) } func (*QueryUserResponse) ProtoMessage() {} func (*QueryUserResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{9} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{5} } func (m *QueryUserResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -494,7 +310,7 @@ func (m *QueryCardsRequest) Reset() { *m = QueryCardsRequest{} } func (m *QueryCardsRequest) String() string { return proto.CompactTextString(m) } func (*QueryCardsRequest) ProtoMessage() {} func (*QueryCardsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{10} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{6} } func (m *QueryCardsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -615,7 +431,7 @@ func (m *QueryCardsResponse) Reset() { *m = QueryCardsResponse{} } func (m *QueryCardsResponse) String() string { return proto.CompactTextString(m) } func (*QueryCardsResponse) ProtoMessage() {} func (*QueryCardsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{11} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{7} } func (m *QueryCardsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -659,7 +475,7 @@ func (m *QueryMatchRequest) Reset() { *m = QueryMatchRequest{} } func (m *QueryMatchRequest) String() string { return proto.CompactTextString(m) } func (*QueryMatchRequest) ProtoMessage() {} func (*QueryMatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{12} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{8} } func (m *QueryMatchRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -703,7 +519,7 @@ func (m *QueryMatchResponse) Reset() { *m = QueryMatchResponse{} } func (m *QueryMatchResponse) String() string { return proto.CompactTextString(m) } func (*QueryMatchResponse) ProtoMessage() {} func (*QueryMatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{13} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{9} } func (m *QueryMatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -747,7 +563,7 @@ func (m *QuerySetRequest) Reset() { *m = QuerySetRequest{} } func (m *QuerySetRequest) String() string { return proto.CompactTextString(m) } func (*QuerySetRequest) ProtoMessage() {} func (*QuerySetRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{14} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{10} } func (m *QuerySetRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -791,7 +607,7 @@ func (m *QuerySetResponse) Reset() { *m = QuerySetResponse{} } func (m *QuerySetResponse) String() string { return proto.CompactTextString(m) } func (*QuerySetResponse) ProtoMessage() {} func (*QuerySetResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{15} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{11} } func (m *QuerySetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -835,7 +651,7 @@ func (m *QuerySellOfferRequest) Reset() { *m = QuerySellOfferRequest{} } func (m *QuerySellOfferRequest) String() string { return proto.CompactTextString(m) } func (*QuerySellOfferRequest) ProtoMessage() {} func (*QuerySellOfferRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{16} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{12} } func (m *QuerySellOfferRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -879,7 +695,7 @@ func (m *QuerySellOfferResponse) Reset() { *m = QuerySellOfferResponse{} func (m *QuerySellOfferResponse) String() string { return proto.CompactTextString(m) } func (*QuerySellOfferResponse) ProtoMessage() {} func (*QuerySellOfferResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{17} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{13} } func (m *QuerySellOfferResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -923,7 +739,7 @@ func (m *QueryCouncilRequest) Reset() { *m = QueryCouncilRequest{} } func (m *QueryCouncilRequest) String() string { return proto.CompactTextString(m) } func (*QueryCouncilRequest) ProtoMessage() {} func (*QueryCouncilRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{18} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{14} } func (m *QueryCouncilRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -967,7 +783,7 @@ func (m *QueryCouncilResponse) Reset() { *m = QueryCouncilResponse{} } func (m *QueryCouncilResponse) String() string { return proto.CompactTextString(m) } func (*QueryCouncilResponse) ProtoMessage() {} func (*QueryCouncilResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{19} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{15} } func (m *QueryCouncilResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1011,7 +827,7 @@ func (m *QueryServerRequest) Reset() { *m = QueryServerRequest{} } func (m *QueryServerRequest) String() string { return proto.CompactTextString(m) } func (*QueryServerRequest) ProtoMessage() {} func (*QueryServerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{20} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{16} } func (m *QueryServerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1055,7 +871,7 @@ func (m *QueryServerResponse) Reset() { *m = QueryServerResponse{} } func (m *QueryServerResponse) String() string { return proto.CompactTextString(m) } func (*QueryServerResponse) ProtoMessage() {} func (*QueryServerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{21} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{17} } func (m *QueryServerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1099,7 +915,7 @@ func (m *QueryEncounterRequest) Reset() { *m = QueryEncounterRequest{} } func (m *QueryEncounterRequest) String() string { return proto.CompactTextString(m) } func (*QueryEncounterRequest) ProtoMessage() {} func (*QueryEncounterRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{22} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{18} } func (m *QueryEncounterRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1143,7 +959,7 @@ func (m *QueryEncounterResponse) Reset() { *m = QueryEncounterResponse{} func (m *QueryEncounterResponse) String() string { return proto.CompactTextString(m) } func (*QueryEncounterResponse) ProtoMessage() {} func (*QueryEncounterResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{23} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{19} } func (m *QueryEncounterResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1186,7 +1002,7 @@ func (m *QueryEncountersRequest) Reset() { *m = QueryEncountersRequest{} func (m *QueryEncountersRequest) String() string { return proto.CompactTextString(m) } func (*QueryEncountersRequest) ProtoMessage() {} func (*QueryEncountersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{24} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{20} } func (m *QueryEncountersRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1223,7 +1039,7 @@ func (m *QueryEncountersResponse) Reset() { *m = QueryEncountersResponse func (m *QueryEncountersResponse) String() string { return proto.CompactTextString(m) } func (*QueryEncountersResponse) ProtoMessage() {} func (*QueryEncountersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{25} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{21} } func (m *QueryEncountersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1267,7 +1083,7 @@ func (m *QueryEncounterWithImageRequest) Reset() { *m = QueryEncounterWi func (m *QueryEncounterWithImageRequest) String() string { return proto.CompactTextString(m) } func (*QueryEncounterWithImageRequest) ProtoMessage() {} func (*QueryEncounterWithImageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{26} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{22} } func (m *QueryEncounterWithImageRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1311,7 +1127,7 @@ func (m *QueryEncounterWithImageResponse) Reset() { *m = QueryEncounterW func (m *QueryEncounterWithImageResponse) String() string { return proto.CompactTextString(m) } func (*QueryEncounterWithImageResponse) ProtoMessage() {} func (*QueryEncounterWithImageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{27} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{23} } func (m *QueryEncounterWithImageResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1354,7 +1170,7 @@ func (m *QueryEncountersWithImageRequest) Reset() { *m = QueryEncounters func (m *QueryEncountersWithImageRequest) String() string { return proto.CompactTextString(m) } func (*QueryEncountersWithImageRequest) ProtoMessage() {} func (*QueryEncountersWithImageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{28} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{24} } func (m *QueryEncountersWithImageRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1391,7 +1207,7 @@ func (m *QueryEncountersWithImageResponse) Reset() { *m = QueryEncounter func (m *QueryEncountersWithImageResponse) String() string { return proto.CompactTextString(m) } func (*QueryEncountersWithImageResponse) ProtoMessage() {} func (*QueryEncountersWithImageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{29} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{25} } func (m *QueryEncountersWithImageResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1434,7 +1250,7 @@ func (m *QueryCardchainInfoRequest) Reset() { *m = QueryCardchainInfoReq func (m *QueryCardchainInfoRequest) String() string { return proto.CompactTextString(m) } func (*QueryCardchainInfoRequest) ProtoMessage() {} func (*QueryCardchainInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{30} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{26} } func (m *QueryCardchainInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1477,7 +1293,7 @@ func (m *QueryCardchainInfoResponse) Reset() { *m = QueryCardchainInfoRe func (m *QueryCardchainInfoResponse) String() string { return proto.CompactTextString(m) } func (*QueryCardchainInfoResponse) ProtoMessage() {} func (*QueryCardchainInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{31} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{27} } func (m *QueryCardchainInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1563,7 +1379,7 @@ func (m *QuerySetRarityDistributionRequest) Reset() { *m = QuerySetRarit func (m *QuerySetRarityDistributionRequest) String() string { return proto.CompactTextString(m) } func (*QuerySetRarityDistributionRequest) ProtoMessage() {} func (*QuerySetRarityDistributionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{32} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{28} } func (m *QuerySetRarityDistributionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1608,7 +1424,7 @@ func (m *QuerySetRarityDistributionResponse) Reset() { *m = QuerySetRari func (m *QuerySetRarityDistributionResponse) String() string { return proto.CompactTextString(m) } func (*QuerySetRarityDistributionResponse) ProtoMessage() {} func (*QuerySetRarityDistributionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{33} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{29} } func (m *QuerySetRarityDistributionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1659,7 +1475,7 @@ func (m *QueryAccountFromZealyRequest) Reset() { *m = QueryAccountFromZe func (m *QueryAccountFromZealyRequest) String() string { return proto.CompactTextString(m) } func (*QueryAccountFromZealyRequest) ProtoMessage() {} func (*QueryAccountFromZealyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{34} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{30} } func (m *QueryAccountFromZealyRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1703,7 +1519,7 @@ func (m *QueryAccountFromZealyResponse) Reset() { *m = QueryAccountFromZ func (m *QueryAccountFromZealyResponse) String() string { return proto.CompactTextString(m) } func (*QueryAccountFromZealyResponse) ProtoMessage() {} func (*QueryAccountFromZealyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{35} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{31} } func (m *QueryAccountFromZealyResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1746,7 +1562,7 @@ func (m *QueryVotingResultsRequest) Reset() { *m = QueryVotingResultsReq func (m *QueryVotingResultsRequest) String() string { return proto.CompactTextString(m) } func (*QueryVotingResultsRequest) ProtoMessage() {} func (*QueryVotingResultsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{36} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{32} } func (m *QueryVotingResultsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1783,7 +1599,7 @@ func (m *QueryVotingResultsResponse) Reset() { *m = QueryVotingResultsRe func (m *QueryVotingResultsResponse) String() string { return proto.CompactTextString(m) } func (*QueryVotingResultsResponse) ProtoMessage() {} func (*QueryVotingResultsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{37} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{33} } func (m *QueryVotingResultsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1832,7 +1648,7 @@ func (m *QueryMatchesRequest) Reset() { *m = QueryMatchesRequest{} } func (m *QueryMatchesRequest) String() string { return proto.CompactTextString(m) } func (*QueryMatchesRequest) ProtoMessage() {} func (*QueryMatchesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{38} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{34} } func (m *QueryMatchesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1912,7 +1728,7 @@ func (m *QueryMatchesResponse) Reset() { *m = QueryMatchesResponse{} } func (m *QueryMatchesResponse) String() string { return proto.CompactTextString(m) } func (*QueryMatchesResponse) ProtoMessage() {} func (*QueryMatchesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{39} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{35} } func (m *QueryMatchesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1966,7 +1782,7 @@ func (m *QuerySetsRequest) Reset() { *m = QuerySetsRequest{} } func (m *QuerySetsRequest) String() string { return proto.CompactTextString(m) } func (*QuerySetsRequest) ProtoMessage() {} func (*QuerySetsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{40} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{36} } func (m *QuerySetsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2031,7 +1847,7 @@ func (m *QuerySetsResponse) Reset() { *m = QuerySetsResponse{} } func (m *QuerySetsResponse) String() string { return proto.CompactTextString(m) } func (*QuerySetsResponse) ProtoMessage() {} func (*QuerySetsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{41} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{37} } func (m *QuerySetsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2075,7 +1891,7 @@ func (m *QueryCardContentRequest) Reset() { *m = QueryCardContentRequest func (m *QueryCardContentRequest) String() string { return proto.CompactTextString(m) } func (*QueryCardContentRequest) ProtoMessage() {} func (*QueryCardContentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{42} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{38} } func (m *QueryCardContentRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2119,7 +1935,7 @@ func (m *QueryCardContentResponse) Reset() { *m = QueryCardContentRespon func (m *QueryCardContentResponse) String() string { return proto.CompactTextString(m) } func (*QueryCardContentResponse) ProtoMessage() {} func (*QueryCardContentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{43} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{39} } func (m *QueryCardContentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2163,7 +1979,7 @@ func (m *QueryCardContentsRequest) Reset() { *m = QueryCardContentsReque func (m *QueryCardContentsRequest) String() string { return proto.CompactTextString(m) } func (*QueryCardContentsRequest) ProtoMessage() {} func (*QueryCardContentsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{44} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{40} } func (m *QueryCardContentsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2207,7 +2023,7 @@ func (m *QueryCardContentsResponse) Reset() { *m = QueryCardContentsResp func (m *QueryCardContentsResponse) String() string { return proto.CompactTextString(m) } func (*QueryCardContentsResponse) ProtoMessage() {} func (*QueryCardContentsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{45} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{41} } func (m *QueryCardContentsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2256,7 +2072,7 @@ func (m *QuerySellOffersRequest) Reset() { *m = QuerySellOffersRequest{} func (m *QuerySellOffersRequest) String() string { return proto.CompactTextString(m) } func (*QuerySellOffersRequest) ProtoMessage() {} func (*QuerySellOffersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{46} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{42} } func (m *QuerySellOffersRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2336,7 +2152,7 @@ func (m *QuerySellOffersResponse) Reset() { *m = QuerySellOffersResponse func (m *QuerySellOffersResponse) String() string { return proto.CompactTextString(m) } func (*QuerySellOffersResponse) ProtoMessage() {} func (*QuerySellOffersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_e1bdbfeb9d7f6cfd, []int{47} + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{43} } func (m *QuerySellOffersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2382,10 +2198,6 @@ func (m *QuerySellOffersResponse) GetSellOfferIds() []uint64 { func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.cardchain.QueryParamsResponse") - proto.RegisterType((*QueryGetProductDetailsRequest)(nil), "cardchain.cardchain.QueryGetProductDetailsRequest") - proto.RegisterType((*QueryGetProductDetailsResponse)(nil), "cardchain.cardchain.QueryGetProductDetailsResponse") - proto.RegisterType((*QueryAllProductDetailsRequest)(nil), "cardchain.cardchain.QueryAllProductDetailsRequest") - proto.RegisterType((*QueryAllProductDetailsResponse)(nil), "cardchain.cardchain.QueryAllProductDetailsResponse") proto.RegisterType((*QueryCardRequest)(nil), "cardchain.cardchain.QueryCardRequest") proto.RegisterType((*QueryCardResponse)(nil), "cardchain.cardchain.QueryCardResponse") proto.RegisterType((*QueryUserRequest)(nil), "cardchain.cardchain.QueryUserRequest") @@ -2433,169 +2245,158 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2578 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x5a, 0xcd, 0x6f, 0x14, 0xc9, - 0xf9, 0xa6, 0xed, 0xb1, 0xcd, 0x14, 0x2c, 0x0b, 0x05, 0xbb, 0xbf, 0xd9, 0x59, 0x18, 0x4c, 0x2d, - 0x0b, 0x5e, 0x16, 0xa6, 0x17, 0xdb, 0x7c, 0x98, 0x05, 0x7e, 0xeb, 0x0f, 0x20, 0x04, 0x01, 0xde, - 0x76, 0x20, 0xca, 0x46, 0x89, 0xd5, 0x9e, 0x29, 0xec, 0x16, 0x3d, 0xdd, 0xb3, 0x5d, 0x35, 0x38, - 0x93, 0xd1, 0x28, 0x4a, 0x4e, 0x39, 0x45, 0xd1, 0x6e, 0x14, 0xe5, 0x12, 0x29, 0x1f, 0x97, 0x28, - 0x1f, 0xca, 0x9e, 0xa3, 0x55, 0x4e, 0x51, 0xc4, 0x71, 0xa3, 0x5c, 0xf6, 0x14, 0x45, 0x10, 0x29, - 0xca, 0x9f, 0x90, 0x5b, 0x54, 0x55, 0x6f, 0x57, 0x57, 0xcf, 0xf4, 0xb4, 0xdb, 0x70, 0xb1, 0xba, - 0xaa, 0x9f, 0xb7, 0xea, 0xa9, 0xb7, 0xde, 0xaa, 0xf7, 0xed, 0x67, 0x8c, 0x8e, 0x37, 0xdc, 0xa8, - 0xd9, 0xd8, 0x72, 0xbd, 0xc0, 0x4e, 0x9e, 0x3e, 0xee, 0xd0, 0xa8, 0x5b, 0x6f, 0x47, 0x21, 0x0f, - 0xf1, 0x61, 0xdd, 0x5d, 0xd7, 0x4f, 0xd5, 0x43, 0x6e, 0xcb, 0x0b, 0x42, 0x5b, 0xfe, 0x55, 0xb8, - 0xea, 0x91, 0xcd, 0x70, 0x33, 0x94, 0x8f, 0xb6, 0x78, 0x82, 0xde, 0xa3, 0x9b, 0x61, 0xb8, 0xe9, - 0x53, 0xdb, 0x6d, 0x7b, 0xb6, 0x1b, 0x04, 0x21, 0x77, 0xb9, 0x17, 0x06, 0x0c, 0xde, 0x9e, 0x69, - 0x84, 0xac, 0x15, 0x32, 0x7b, 0xc3, 0x65, 0x54, 0x4d, 0x6a, 0x3f, 0x39, 0xbf, 0x41, 0xb9, 0x7b, - 0xde, 0x6e, 0xbb, 0x9b, 0x5e, 0x20, 0xc1, 0x80, 0x9d, 0xce, 0x22, 0xda, 0x76, 0x23, 0xb7, 0x15, - 0x8f, 0xf6, 0x4e, 0x26, 0x22, 0x0a, 0x9b, 0x9d, 0x06, 0x5f, 0x6f, 0x52, 0xee, 0x7a, 0x7e, 0x2e, - 0x54, 0x3c, 0xad, 0x6f, 0x7b, 0x7c, 0x6b, 0xdd, 0x6b, 0xb9, 0x9b, 0x14, 0xa0, 0xb5, 0x2c, 0x68, - 0x87, 0xd1, 0x28, 0xef, 0xbd, 0x78, 0x82, 0xf7, 0x99, 0x0e, 0x6e, 0xb9, 0xbc, 0xb1, 0x05, 0x80, - 0x63, 0x59, 0x00, 0x46, 0xb9, 0xf6, 0x51, 0xf6, 0x6b, 0xc5, 0xd4, 0x8d, 0xf8, 0x76, 0x18, 0x3d, - 0x06, 0xec, 0xc9, 0x6c, 0xac, 0xef, 0xaf, 0x87, 0x8f, 0x1e, 0x69, 0xc6, 0x27, 0x32, 0x19, 0x87, - 0x9d, 0xa0, 0xe1, 0xf9, 0x79, 0xce, 0x66, 0x34, 0x7a, 0xa2, 0x07, 0x79, 0x2b, 0x0b, 0x41, 0x03, - 0x31, 0x0c, 0xd7, 0xa0, 0x7a, 0x2e, 0x28, 0xcb, 0xd7, 0x46, 0x3c, 0xc4, 0x91, 0xd0, 0x08, 0xbd, - 0x38, 0x06, 0x66, 0xb2, 0xc6, 0x7b, 0x12, 0x72, 0x2f, 0xd8, 0x5c, 0x8f, 0x28, 0xeb, 0xf8, 0x3c, - 0xde, 0xe0, 0x53, 0x23, 0x37, 0xb8, 0x11, 0x06, 0x9c, 0x06, 0xe0, 0x5d, 0x72, 0x04, 0xe1, 0x0f, - 0x45, 0xdc, 0xad, 0xca, 0x40, 0x72, 0xe8, 0xc7, 0x1d, 0xca, 0x38, 0x79, 0x80, 0x0e, 0xa7, 0x7a, - 0x59, 0x3b, 0x0c, 0x18, 0xc5, 0xd7, 0xd1, 0xa4, 0x0a, 0xb8, 0x8a, 0x35, 0x6d, 0xcd, 0xec, 0x9b, - 0x7d, 0xb3, 0x9e, 0x71, 0x36, 0xea, 0xca, 0x68, 0xa9, 0xfc, 0xf4, 0x1f, 0xc7, 0xf7, 0xfc, 0xe6, - 0xdf, 0x9f, 0x9d, 0xb1, 0x1c, 0xb0, 0x22, 0x36, 0x3a, 0x26, 0x87, 0xbd, 0x45, 0xf9, 0xaa, 0x0a, - 0xcb, 0x15, 0x15, 0x95, 0x30, 0x2f, 0x3e, 0x80, 0xc6, 0xbc, 0xa6, 0x1c, 0xbc, 0xe4, 0x8c, 0x79, - 0x4d, 0xc2, 0x50, 0x6d, 0x94, 0x01, 0x50, 0xfa, 0x10, 0x1d, 0x48, 0xbf, 0x01, 0x6a, 0x6f, 0x65, - 0x53, 0x4b, 0x41, 0x97, 0x4a, 0x82, 0xa2, 0x33, 0x30, 0x00, 0xd9, 0x04, 0x96, 0x8b, 0xbe, 0x9f, - 0xcd, 0xf2, 0x26, 0x42, 0xc9, 0xe9, 0x84, 0xf9, 0x4e, 0xd5, 0xd5, 0xd6, 0xd5, 0xc5, 0xd6, 0xd5, - 0xd5, 0xfd, 0x01, 0x1b, 0x58, 0x5f, 0x75, 0x37, 0x29, 0xd8, 0x3a, 0x86, 0x25, 0xf9, 0xdc, 0x82, - 0xe5, 0x65, 0xcc, 0x94, 0xb3, 0xbc, 0xf1, 0x97, 0x5a, 0x1e, 0xbe, 0x95, 0x62, 0x3f, 0x26, 0xd9, - 0x9f, 0xde, 0x91, 0xbd, 0xe2, 0x93, 0xa2, 0x7f, 0x06, 0x1d, 0x94, 0xec, 0x97, 0xdd, 0xa8, 0x19, - 0xbb, 0xe6, 0x75, 0x34, 0x29, 0xe8, 0xdc, 0x8e, 0x37, 0x11, 0x5a, 0xe4, 0x0e, 0x3a, 0x64, 0x60, - 0x61, 0x71, 0x17, 0x51, 0x49, 0xbc, 0x06, 0x0f, 0x92, 0xcc, 0x25, 0x09, 0x83, 0xaf, 0x7b, 0x7c, - 0xeb, 0xb6, 0x38, 0x25, 0x8e, 0xc4, 0x93, 0xb3, 0x30, 0xf1, 0x03, 0x46, 0xa3, 0x78, 0xe2, 0x0a, - 0x9a, 0x72, 0x9b, 0xcd, 0x88, 0x32, 0x15, 0x00, 0x65, 0x27, 0x6e, 0x92, 0x25, 0x98, 0x5a, 0xa1, - 0x61, 0xea, 0x73, 0xa8, 0x24, 0xae, 0x30, 0x98, 0xfa, 0x8d, 0xcc, 0xa9, 0xa5, 0x81, 0x84, 0x91, - 0x5f, 0x94, 0x0c, 0xfe, 0x3a, 0x0e, 0x8e, 0xa0, 0x89, 0x70, 0x3b, 0x80, 0x51, 0xca, 0x8e, 0x6a, - 0xe0, 0x4b, 0x68, 0x92, 0x71, 0x97, 0x77, 0x58, 0x65, 0x6c, 0x7a, 0x7c, 0xe6, 0xc0, 0xec, 0xf1, - 0x91, 0xeb, 0x5a, 0x93, 0x30, 0x07, 0xe0, 0x78, 0x01, 0xed, 0x15, 0xef, 0xbf, 0xd6, 0x6d, 0xd3, - 0xca, 0xb8, 0x34, 0x3d, 0x36, 0xd2, 0x54, 0x80, 0x1c, 0x0d, 0xc7, 0xf3, 0x68, 0xa2, 0xe1, 0xbb, - 0x8c, 0x55, 0x4a, 0xd2, 0xae, 0x36, 0xd2, 0x6e, 0x59, 0xa0, 0x1c, 0x05, 0x16, 0x9b, 0xc5, 0xc2, - 0x88, 0x2f, 0x75, 0x2b, 0x13, 0x72, 0x01, 0xd0, 0xc2, 0x04, 0xed, 0x0f, 0xdc, 0x16, 0x5d, 0x0e, - 0x03, 0xee, 0x7a, 0x01, 0xab, 0x4c, 0xca, 0xb7, 0xa9, 0x3e, 0x7c, 0x06, 0x1d, 0x7c, 0x4c, 0xbb, - 0xdb, 0x61, 0xd4, 0x64, 0x1a, 0x37, 0x25, 0x71, 0x43, 0xfd, 0xf8, 0x24, 0x7a, 0x25, 0x08, 0x39, - 0x4d, 0x80, 0x7b, 0x25, 0x30, 0xdd, 0x89, 0x67, 0xd0, 0xab, 0x61, 0xe0, 0x77, 0xd7, 0xb8, 0x1b, - 0x71, 0x1a, 0x09, 0xb2, 0x95, 0xf2, 0xb4, 0x35, 0xb3, 0xd7, 0x19, 0xec, 0xc6, 0x75, 0x84, 0x45, - 0xd7, 0x92, 0xeb, 0xbb, 0x41, 0x83, 0x2e, 0x06, 0x8d, 0xad, 0x30, 0x62, 0x15, 0x24, 0xc1, 0x19, - 0x6f, 0xf0, 0xfb, 0x68, 0x6f, 0xe4, 0x46, 0x1e, 0xf7, 0x28, 0xab, 0xec, 0xdb, 0x61, 0x4f, 0x1c, - 0x01, 0xec, 0x3a, 0xda, 0x00, 0x9f, 0x42, 0x07, 0x5a, 0x1d, 0x9f, 0x7b, 0xd2, 0x73, 0xf7, 0x03, - 0xbf, 0x5b, 0xd9, 0x2f, 0x27, 0x1a, 0xe8, 0x25, 0x75, 0xb8, 0x48, 0x21, 0x42, 0x20, 0xce, 0x2a, - 0x68, 0x4a, 0x9d, 0x00, 0x75, 0x70, 0x4b, 0x4e, 0xdc, 0x24, 0xe7, 0x20, 0xa2, 0xee, 0x8a, 0x4c, - 0x68, 0x44, 0xb1, 0xcc, 0x8c, 0xfa, 0xfc, 0xc4, 0x4d, 0x72, 0x13, 0x86, 0x07, 0x38, 0x0c, 0xff, - 0x1e, 0x9a, 0x90, 0x00, 0x88, 0xe3, 0x6a, 0xe6, 0xb2, 0x94, 0x89, 0x02, 0x92, 0xd3, 0xe8, 0x55, - 0x39, 0xce, 0x1a, 0xe5, 0x46, 0x18, 0x33, 0xca, 0xf5, 0x94, 0xaa, 0x41, 0x6e, 0xc3, 0x21, 0x93, - 0x40, 0x98, 0xee, 0x02, 0x1a, 0x67, 0x94, 0xe7, 0xde, 0xb0, 0x6b, 0x94, 0x8b, 0xe3, 0xba, 0xa8, - 0xd2, 0xb2, 0x23, 0xf0, 0x64, 0x01, 0xbd, 0x06, 0x43, 0xf9, 0xfe, 0x7d, 0x91, 0x87, 0xe3, 0x99, - 0xa7, 0xd1, 0x3e, 0x16, 0xf7, 0xe9, 0xf9, 0xcd, 0x2e, 0xf2, 0x10, 0xbd, 0x3e, 0x68, 0x0a, 0x5c, - 0xae, 0xa2, 0xb2, 0x06, 0x02, 0xa3, 0xda, 0x08, 0x46, 0xb1, 0x69, 0x62, 0x40, 0xe6, 0x20, 0xc1, - 0x2d, 0xab, 0xac, 0x1f, 0x13, 0x3a, 0x8a, 0xca, 0x50, 0x07, 0x68, 0x3a, 0x49, 0x07, 0xb9, 0x87, - 0x8e, 0xa4, 0x8d, 0xf4, 0x3d, 0x36, 0x05, 0x20, 0x20, 0x72, 0x34, 0x3b, 0xbc, 0xc0, 0x2c, 0x06, - 0x93, 0xf7, 0x60, 0x4f, 0xd7, 0x64, 0x5d, 0x11, 0x73, 0xa8, 0xa2, 0xbd, 0xaa, 0xd0, 0xd0, 0x14, - 0x74, 0x9b, 0x7c, 0x15, 0x68, 0xc7, 0x16, 0x40, 0x60, 0x0e, 0x4d, 0x2a, 0x48, 0x6e, 0x5e, 0x06, - 0x23, 0x80, 0xea, 0x5d, 0xb9, 0x11, 0x97, 0x23, 0xc6, 0xae, 0xe8, 0x12, 0x25, 0xd9, 0x15, 0xa3, - 0x4b, 0xef, 0x8a, 0x61, 0x9a, 0xec, 0x8a, 0x06, 0xe6, 0xee, 0x4a, 0x62, 0x9a, 0x18, 0x90, 0xca, - 0xe0, 0xb8, 0xba, 0x20, 0xf9, 0x06, 0xfa, 0xbf, 0xa1, 0x37, 0xba, 0x28, 0x41, 0x7a, 0x84, 0x38, - 0x3d, 0xee, 0x34, 0xa7, 0x61, 0x41, 0x96, 0x20, 0x09, 0xeb, 0xb7, 0x49, 0xba, 0x29, 0xec, 0x90, - 0x2d, 0x74, 0x7c, 0xe4, 0x18, 0x40, 0xf3, 0xc6, 0xb0, 0x67, 0x4e, 0xe7, 0xb3, 0x4c, 0xc6, 0x30, - 0x5c, 0x74, 0x62, 0x70, 0x26, 0x36, 0x48, 0x97, 0x3c, 0x46, 0xd3, 0xa3, 0x21, 0xc0, 0xe6, 0x56, - 0x86, 0xd3, 0x0a, 0xd3, 0x31, 0xbd, 0xf7, 0x26, 0x7a, 0x43, 0x5f, 0x7b, 0xd2, 0xe0, 0x76, 0xf0, - 0x28, 0x8c, 0x99, 0xfc, 0x6d, 0x0c, 0x55, 0xb3, 0xde, 0x02, 0x89, 0x3b, 0xe8, 0xa0, 0x98, 0x67, - 0xb1, 0xd3, 0x10, 0xf5, 0xc4, 0x6a, 0xe4, 0x35, 0x68, 0x92, 0x90, 0x8d, 0x7a, 0x24, 0xae, 0x44, - 0x96, 0x43, 0x2f, 0x80, 0xa2, 0x66, 0xc8, 0x10, 0xd7, 0x10, 0x72, 0x1b, 0xdc, 0x7b, 0x42, 0xd7, - 0x28, 0x57, 0xa9, 0xb7, 0xe4, 0x18, 0x3d, 0x62, 0x13, 0x85, 0x0d, 0xbb, 0xd7, 0x69, 0x6d, 0xd0, - 0xa8, 0x32, 0xae, 0x36, 0xd1, 0xe8, 0x12, 0x69, 0x4a, 0xde, 0x91, 0x34, 0xc6, 0x94, 0x24, 0x26, - 0xdd, 0x29, 0x12, 0x9f, 0xbe, 0x46, 0x62, 0xe0, 0x84, 0x04, 0x0e, 0xf5, 0x8b, 0xdc, 0x01, 0x67, - 0x3d, 0x46, 0x4e, 0x4a, 0xe4, 0x40, 0xaf, 0x18, 0xd3, 0x77, 0x19, 0x17, 0x5e, 0xba, 0x1b, 0x36, - 0xbd, 0x47, 0x1e, 0x6d, 0xca, 0x64, 0x5a, 0x72, 0x86, 0xfa, 0xc9, 0x02, 0x3a, 0xa1, 0xef, 0x65, - 0x99, 0xab, 0x56, 0x3c, 0xc6, 0x23, 0x6f, 0xa3, 0x23, 0x5c, 0x91, 0x7f, 0xa5, 0x3f, 0x44, 0x24, - 0xcf, 0xd4, 0x48, 0x59, 0x9d, 0x28, 0xa2, 0x01, 0xd7, 0x29, 0x4b, 0x35, 0x45, 0xbd, 0xb0, 0xed, - 0x06, 0x9c, 0x36, 0xc1, 0xbd, 0xd0, 0x22, 0x97, 0xd1, 0x51, 0x55, 0xc6, 0x36, 0x64, 0x58, 0xdc, - 0x8c, 0xc2, 0xd6, 0x47, 0xd4, 0xf5, 0xbb, 0x46, 0x56, 0xfb, 0xae, 0x68, 0x03, 0x9f, 0xb2, 0x13, - 0x37, 0xc9, 0x42, 0x5c, 0x6a, 0x0f, 0x59, 0x26, 0x64, 0x46, 0x94, 0x75, 0x71, 0xe0, 0x3d, 0x94, - 0x5f, 0x3f, 0x8e, 0xfa, 0xf8, 0x89, 0x03, 0x2f, 0x80, 0xb8, 0x1b, 0x78, 0x09, 0x83, 0xae, 0xa2, - 0x43, 0xc2, 0xad, 0xa9, 0x97, 0xb9, 0x45, 0x68, 0x7a, 0x98, 0x61, 0x63, 0xf2, 0x5f, 0x0b, 0x2e, - 0xe6, 0xbb, 0x2a, 0x56, 0xe2, 0x95, 0x9f, 0x44, 0xaf, 0x70, 0xaf, 0x45, 0x19, 0x77, 0x5b, 0xed, - 0x95, 0x70, 0x3b, 0x80, 0xfd, 0x48, 0x77, 0x8a, 0xd0, 0xd4, 0x1d, 0x0f, 0xda, 0xb2, 0x24, 0x2f, - 0x39, 0x66, 0x97, 0x18, 0xa7, 0x01, 0x75, 0x92, 0xa8, 0x4a, 0x99, 0xac, 0x0f, 0xcb, 0x4e, 0xba, - 0x53, 0x64, 0x8e, 0x88, 0xb6, 0x43, 0x51, 0x27, 0xc9, 0xd8, 0x2d, 0x3b, 0xba, 0x2d, 0x72, 0x54, - 0xd8, 0xe1, 0x8d, 0xb0, 0x45, 0x65, 0xb4, 0x1e, 0x18, 0x91, 0xa3, 0xee, 0x2b, 0x8c, 0x13, 0x83, - 0xf5, 0xb1, 0x59, 0xf5, 0xdd, 0x2e, 0x6d, 0x56, 0x26, 0xe5, 0xc6, 0x9b, 0x5d, 0x64, 0x0b, 0xb2, - 0xa2, 0x5e, 0x3a, 0x78, 0x79, 0x1e, 0x6a, 0x19, 0x1a, 0xdf, 0x2f, 0x79, 0xd5, 0x49, 0x0c, 0x15, - 0x6b, 0x80, 0x92, 0x27, 0x3e, 0xc4, 0xba, 0x4d, 0x7e, 0x6b, 0x25, 0x35, 0x89, 0x76, 0xf1, 0x45, - 0x5d, 0x6e, 0x5b, 0x72, 0x5d, 0xa3, 0x8a, 0x00, 0x3e, 0x50, 0x6d, 0x13, 0xb4, 0x5f, 0x78, 0x4f, - 0x86, 0xbf, 0x28, 0x1f, 0xc7, 0xa4, 0x47, 0x53, 0x7d, 0xa6, 0xdb, 0x65, 0x59, 0x27, 0xdd, 0x5e, - 0x72, 0xd2, 0x9d, 0xc9, 0x67, 0x40, 0xc9, 0xf8, 0x0c, 0x20, 0xef, 0x42, 0x7d, 0xa7, 0xb8, 0x82, - 0x4f, 0x44, 0xc5, 0x2d, 0x8e, 0x62, 0x5c, 0x0d, 0x42, 0x8b, 0x9c, 0x87, 0xf4, 0x26, 0x4b, 0x74, - 0xf5, 0x7d, 0xbe, 0xd3, 0x17, 0xd5, 0xb7, 0x51, 0x65, 0xd8, 0x04, 0xa6, 0x59, 0x52, 0x9b, 0x06, - 0xdd, 0x10, 0xda, 0xd3, 0xa3, 0x3f, 0x0a, 0xc0, 0xdc, 0x34, 0x22, 0xf3, 0xc3, 0xe3, 0x33, 0xe3, - 0x40, 0x8f, 0xa8, 0x6a, 0x5d, 0x23, 0x1d, 0x24, 0x56, 0x40, 0x6b, 0x05, 0xed, 0x37, 0x66, 0x88, - 0xc3, 0x62, 0x67, 0x5e, 0x29, 0x2b, 0xf2, 0xc9, 0xd8, 0x60, 0x4d, 0xa8, 0x79, 0x5d, 0x43, 0xe5, - 0xb6, 0x48, 0x06, 0xfa, 0xa8, 0x15, 0xc8, 0x24, 0x89, 0x05, 0x5e, 0x40, 0x53, 0xb2, 0x01, 0x67, - 0xb0, 0x80, 0x71, 0x8c, 0x57, 0x1b, 0xeb, 0xfb, 0x90, 0x58, 0xc4, 0xa7, 0x94, 0x6c, 0x89, 0xd8, - 0xd8, 0xe8, 0x74, 0x93, 0xd8, 0x90, 0x0d, 0x8c, 0xe1, 0xc3, 0x57, 0xe5, 0x0d, 0xf9, 0x8c, 0xaf, - 0xea, 0x38, 0x9e, 0x94, 0x71, 0x7c, 0x32, 0xbf, 0x98, 0x4d, 0x47, 0x33, 0xe9, 0x43, 0x00, 0x99, - 0x3e, 0x49, 0xea, 0xa3, 0x24, 0x31, 0xe5, 0xd6, 0x47, 0x49, 0xa5, 0x6c, 0x58, 0x88, 0x83, 0x62, - 0x54, 0xe4, 0xf1, 0xa9, 0x4c, 0xf5, 0xcd, 0xfe, 0xf2, 0x04, 0x9a, 0x90, 0xf3, 0xe3, 0x4f, 0x2c, - 0x34, 0xa9, 0x04, 0x20, 0x9c, 0x5d, 0x4f, 0x0c, 0xab, 0x4d, 0xd5, 0x99, 0x9d, 0x81, 0x6a, 0x2d, - 0xe4, 0xc2, 0x0f, 0xfe, 0xfe, 0xaf, 0x4f, 0xc7, 0x6c, 0x7c, 0xce, 0x5e, 0xa1, 0x0d, 0x1a, 0xf0, - 0xc8, 0xf5, 0x45, 0xa0, 0xdc, 0x72, 0x5b, 0xd4, 0x1e, 0x2d, 0x8f, 0xe2, 0x3f, 0x5b, 0x83, 0x32, - 0x0a, 0x9e, 0x1d, 0x3d, 0xe7, 0x28, 0x75, 0xaa, 0x3a, 0xb7, 0x2b, 0x1b, 0xa0, 0xbc, 0x2c, 0x29, - 0x5f, 0xc3, 0xef, 0x17, 0xa5, 0x9c, 0xd6, 0x6b, 0xed, 0x9e, 0xd7, 0xec, 0xe3, 0xcf, 0x2d, 0x74, - 0x28, 0x3d, 0xfe, 0xa2, 0xef, 0xe7, 0xad, 0x61, 0x94, 0x76, 0x95, 0xb7, 0x86, 0x91, 0x2a, 0x14, - 0xb9, 0x2e, 0xd7, 0x70, 0x19, 0x5f, 0x7c, 0xb1, 0x35, 0xe0, 0x4f, 0x2d, 0x54, 0x92, 0x5f, 0xee, - 0x6f, 0x8f, 0x9e, 0xdd, 0x50, 0x91, 0xaa, 0xa7, 0x76, 0x82, 0x01, 0xaf, 0xab, 0x92, 0xd7, 0x45, - 0x3c, 0x5f, 0x90, 0x97, 0x78, 0xb2, 0x7b, 0xea, 0xae, 0xea, 0xe3, 0x9f, 0x58, 0xa8, 0x24, 0x12, - 0x67, 0x1e, 0x2b, 0x43, 0x62, 0xca, 0x63, 0x65, 0x6a, 0x4b, 0xe4, 0x9a, 0x64, 0x75, 0x09, 0x5f, - 0x28, 0xc8, 0xaa, 0xc3, 0x68, 0x64, 0xf7, 0xa0, 0xae, 0xe9, 0xe3, 0x9f, 0x5a, 0x68, 0x42, 0x25, - 0x96, 0x1d, 0xdc, 0xa0, 0xf7, 0xf4, 0xf4, 0x8e, 0xb8, 0x97, 0xf0, 0x17, 0xb3, 0x7b, 0x32, 0xa1, - 0xf5, 0xf1, 0xcf, 0x2c, 0x34, 0x21, 0xb3, 0x75, 0x1e, 0x31, 0x53, 0xce, 0xc8, 0x23, 0x96, 0xd2, - 0x31, 0x76, 0x1d, 0x60, 0xb2, 0x24, 0xb0, 0x7b, 0x50, 0x19, 0xf4, 0xf1, 0x8f, 0x2c, 0x34, 0xbe, - 0x46, 0x39, 0x3e, 0x39, 0x7a, 0xc2, 0x44, 0xf0, 0xa8, 0xbe, 0xbd, 0x03, 0x0a, 0x48, 0x5d, 0x91, - 0xa4, 0xe6, 0xf1, 0x6c, 0x41, 0x52, 0x8c, 0x72, 0xbb, 0x27, 0x13, 0x7a, 0x1f, 0xff, 0xc1, 0x42, - 0x65, 0x7d, 0x9d, 0xe2, 0x33, 0x79, 0x13, 0xa6, 0x35, 0x91, 0xea, 0xbb, 0x85, 0xb0, 0x40, 0xf1, - 0x96, 0xa4, 0xb8, 0x88, 0xff, 0xbf, 0x30, 0xc5, 0xf8, 0xa7, 0x10, 0xc1, 0x54, 0x5f, 0xe0, 0x7d, - 0xfc, 0x2b, 0x0b, 0x4d, 0x81, 0x3e, 0x81, 0x73, 0xae, 0xe3, 0xb4, 0x5c, 0x52, 0x7d, 0xa7, 0x00, - 0x12, 0x98, 0x2e, 0x49, 0xa6, 0x57, 0xf1, 0x95, 0xa2, 0xa1, 0xa7, 0xec, 0xed, 0x9e, 0x96, 0x5f, - 0xfa, 0xf8, 0xe7, 0x16, 0x9a, 0x54, 0x22, 0x46, 0x5e, 0x6e, 0x49, 0xa9, 0x29, 0x79, 0xb9, 0x25, - 0x2d, 0xa2, 0x90, 0x0f, 0x24, 0xc3, 0x2b, 0xf8, 0x72, 0x61, 0x5f, 0x0a, 0x73, 0xe1, 0x47, 0x25, - 0xce, 0xf4, 0xf1, 0xef, 0x2d, 0x54, 0xd6, 0x9f, 0xcb, 0x79, 0x9b, 0x3e, 0x28, 0xb9, 0xe4, 0x6d, - 0xfa, 0x90, 0xc6, 0x42, 0x6e, 0x4a, 0xa2, 0x1f, 0xe0, 0xeb, 0x05, 0x89, 0xea, 0xaf, 0x75, 0xbb, - 0x67, 0x68, 0x16, 0x72, 0xcf, 0x51, 0xa2, 0x11, 0xe0, 0x22, 0x1c, 0xf4, 0x95, 0x73, 0xb6, 0x18, - 0x18, 0x18, 0x2f, 0x48, 0xc6, 0x73, 0xf8, 0xfc, 0x6e, 0x19, 0x33, 0xfc, 0x17, 0x0b, 0xe1, 0x61, - 0x09, 0x02, 0xcf, 0x15, 0x98, 0x7f, 0x50, 0x18, 0xa9, 0xce, 0xef, 0xce, 0xe8, 0x05, 0x13, 0x78, - 0xd6, 0xcf, 0x7b, 0xf8, 0xa9, 0x85, 0x0e, 0x67, 0xe8, 0x31, 0xb8, 0x08, 0xa5, 0x21, 0x85, 0xa7, - 0x7a, 0x61, 0x97, 0x56, 0xb0, 0x92, 0x15, 0xb9, 0x92, 0xeb, 0xf8, 0xea, 0xae, 0xb7, 0xc1, 0x5c, - 0xca, 0x1f, 0x2d, 0xf4, 0x4a, 0x4a, 0xcf, 0xc1, 0xf5, 0xfc, 0xfc, 0x33, 0x28, 0x0b, 0x55, 0xed, - 0xc2, 0xf8, 0x17, 0xcc, 0xa8, 0xfa, 0x69, 0xdd, 0x13, 0xfc, 0xbe, 0xb4, 0xd0, 0x6b, 0x99, 0x9a, - 0x07, 0xbe, 0x98, 0x9f, 0x09, 0x46, 0xe9, 0x2b, 0xd5, 0x4b, 0xbb, 0xb6, 0x83, 0x95, 0xdc, 0x93, - 0x2b, 0xf9, 0x0a, 0xbe, 0x59, 0x3c, 0xa7, 0xac, 0xcb, 0x9f, 0x22, 0xba, 0xeb, 0x4d, 0x63, 0x3c, - 0x9d, 0x67, 0xfe, 0x6a, 0xa1, 0x83, 0x83, 0xe2, 0x09, 0x3e, 0x9f, 0x53, 0xe3, 0x65, 0x4b, 0x34, - 0xd5, 0xd9, 0xdd, 0x98, 0xc0, 0x5a, 0xee, 0xc8, 0xb5, 0xdc, 0xc0, 0xcb, 0x05, 0xd7, 0xe2, 0xaa, - 0x81, 0xd6, 0x1f, 0x45, 0x61, 0x6b, 0x5d, 0x2a, 0x40, 0x76, 0x0f, 0x84, 0xa0, 0xbe, 0x8c, 0xaa, - 0x94, 0xa6, 0x92, 0x17, 0x55, 0x59, 0x9a, 0x4f, 0x5e, 0x54, 0x65, 0xca, 0x40, 0xbb, 0x8e, 0xaa, - 0xf4, 0xef, 0xec, 0xf8, 0x3f, 0x16, 0x9a, 0x02, 0xcd, 0x23, 0x2f, 0x65, 0xa6, 0x15, 0xa1, 0xbc, - 0x94, 0x39, 0x20, 0xa0, 0x90, 0x1f, 0x5a, 0x92, 0xe0, 0xf7, 0x2d, 0xfc, 0xbd, 0xdd, 0x94, 0x45, - 0x94, 0xd9, 0xbd, 0x94, 0xbe, 0xd4, 0x37, 0xda, 0x0f, 0xda, 0x7d, 0x91, 0x52, 0x0d, 0xd5, 0xa8, - 0x6f, 0xf7, 0x62, 0x91, 0xa8, 0x6f, 0xf7, 0x40, 0xf6, 0xe9, 0xab, 0x2a, 0x19, 0x24, 0x9e, 0x3e, - 0xfe, 0x93, 0x85, 0x4a, 0x52, 0x45, 0xcd, 0x2f, 0x9d, 0x58, 0x81, 0x52, 0xd9, 0xd4, 0x43, 0x48, - 0x43, 0xae, 0xf0, 0x5b, 0xf8, 0x9b, 0xc5, 0x8f, 0x03, 0xb3, 0x7b, 0xea, 0x9b, 0x17, 0x16, 0x12, - 0x8b, 0x35, 0xc6, 0xba, 0x64, 0xd1, 0xdb, 0xd7, 0x75, 0xeb, 0x67, 0x16, 0xda, 0x67, 0xc8, 0x09, - 0xf8, 0x6c, 0xfe, 0xf5, 0x93, 0xd6, 0x5f, 0xaa, 0xe7, 0x0a, 0xa2, 0x5f, 0xf0, 0x8e, 0x35, 0xff, - 0x25, 0x23, 0xf9, 0x34, 0xf9, 0x9d, 0x85, 0xf6, 0x9b, 0x12, 0x0a, 0x2e, 0xc6, 0x42, 0xfb, 0xbf, - 0x5e, 0x14, 0xfe, 0x12, 0x1f, 0x06, 0x31, 0x6b, 0x86, 0x7f, 0x6d, 0x21, 0x94, 0x08, 0x0f, 0xb8, - 0x48, 0x05, 0x5b, 0xa4, 0x90, 0x18, 0xd6, 0x32, 0x5e, 0xa0, 0x24, 0x8f, 0xeb, 0x5d, 0xb6, 0xe4, - 0x3c, 0x7d, 0x56, 0xb3, 0xbe, 0x78, 0x56, 0xb3, 0xfe, 0xf9, 0xac, 0x66, 0xfd, 0xf8, 0x79, 0x6d, - 0xcf, 0x17, 0xcf, 0x6b, 0x7b, 0xbe, 0x7c, 0x5e, 0xdb, 0xf3, 0xd1, 0xe5, 0x4d, 0x8f, 0x6f, 0x75, - 0x36, 0xea, 0x8d, 0xb0, 0x95, 0x3b, 0xee, 0x77, 0x8c, 0x67, 0xde, 0x6d, 0x53, 0xb6, 0x31, 0x29, - 0xff, 0x89, 0x66, 0xee, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x64, 0xff, 0x70, 0x6d, 0x45, 0x26, - 0x00, 0x00, + // 2409 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xdb, 0x6f, 0x1b, 0xc7, + 0xd5, 0xf7, 0x4a, 0x14, 0x65, 0x8e, 0x2f, 0xb1, 0xc7, 0x4e, 0x3e, 0x86, 0xb1, 0x69, 0x79, 0xe2, + 0xd8, 0x8a, 0x63, 0x73, 0xa3, 0x8b, 0x65, 0xcb, 0x91, 0xfd, 0x45, 0x17, 0xdb, 0x75, 0x0d, 0x5f, + 0xba, 0xaa, 0x5d, 0x34, 0x45, 0x2b, 0xac, 0xc8, 0x91, 0xb4, 0x30, 0xb9, 0xcb, 0xec, 0x0c, 0xad, + 0xb2, 0x04, 0x51, 0xb4, 0x4f, 0x7d, 0x2a, 0x8a, 0xa4, 0x28, 0xfa, 0x52, 0xa0, 0x97, 0x97, 0xa2, + 0x17, 0x34, 0xcf, 0x7d, 0x2e, 0x0a, 0x3f, 0xa6, 0xe8, 0x4b, 0x9e, 0x8a, 0xc2, 0x2e, 0x50, 0xf4, + 0x4f, 0xe8, 0x5b, 0x31, 0x33, 0x67, 0x67, 0x67, 0xc9, 0xe5, 0x6a, 0xe5, 0xbc, 0x08, 0x9c, 0xb3, + 0xbf, 0x33, 0xe7, 0x37, 0x67, 0xce, 0xcc, 0x39, 0x67, 0x84, 0xce, 0xd4, 0xdd, 0xb0, 0x51, 0xdf, + 0x71, 0x3d, 0xdf, 0x8e, 0x7f, 0x7d, 0xdc, 0xa1, 0x61, 0xb7, 0xd6, 0x0e, 0x03, 0x1e, 0xe0, 0x13, + 0x5a, 0x5c, 0xd3, 0xbf, 0x2a, 0xc7, 0xdd, 0x96, 0xe7, 0x07, 0xb6, 0xfc, 0xab, 0x70, 0x95, 0x93, + 0xdb, 0xc1, 0x76, 0x20, 0x7f, 0xda, 0xe2, 0x17, 0x48, 0x4f, 0x6d, 0x07, 0xc1, 0x76, 0x93, 0xda, + 0x6e, 0xdb, 0xb3, 0x5d, 0xdf, 0x0f, 0xb8, 0xcb, 0xbd, 0xc0, 0x67, 0xf0, 0xf5, 0x62, 0x3d, 0x60, + 0xad, 0x80, 0xd9, 0x9b, 0x2e, 0xa3, 0xca, 0xa8, 0xfd, 0x6c, 0x66, 0x93, 0x72, 0x77, 0xc6, 0x6e, + 0xbb, 0xdb, 0x9e, 0x2f, 0xc1, 0x80, 0x9d, 0x4a, 0x23, 0xda, 0x76, 0x43, 0xb7, 0x15, 0xcd, 0xf6, + 0x6e, 0x1a, 0x42, 0xfc, 0xda, 0xd8, 0xf5, 0xf8, 0xce, 0x86, 0xd7, 0x72, 0xb7, 0x29, 0x40, 0xab, + 0x69, 0xd0, 0x0e, 0xa3, 0x61, 0xd6, 0x77, 0xf1, 0x0b, 0xbe, 0xa7, 0x7a, 0xad, 0xe5, 0xf2, 0xfa, + 0x0e, 0x00, 0x4e, 0xa7, 0x01, 0x18, 0xe5, 0x7a, 0xe1, 0xe9, 0x9f, 0x15, 0x53, 0x37, 0xe4, 0xbb, + 0x41, 0xf8, 0x14, 0xb0, 0xe7, 0xd2, 0xb1, 0xcd, 0xe6, 0x46, 0xb0, 0xb5, 0xa5, 0x19, 0x9f, 0x4d, + 0x65, 0x1c, 0x74, 0xfc, 0xba, 0xd7, 0xcc, 0xf2, 0x20, 0xa3, 0xe1, 0x33, 0x3d, 0xc9, 0xdb, 0x69, + 0x08, 0xea, 0x8b, 0x69, 0xb8, 0x06, 0xd5, 0x32, 0x41, 0x69, 0xbe, 0x36, 0x36, 0x39, 0xda, 0xde, + 0x7a, 0xe0, 0x45, 0x1b, 0x3b, 0x9d, 0x36, 0xdf, 0xb3, 0x80, 0x7b, 0xfe, 0xf6, 0x46, 0x48, 0x59, + 0xa7, 0xc9, 0xa3, 0x0d, 0x3e, 0x3f, 0x72, 0x83, 0xeb, 0x81, 0xcf, 0xa9, 0x0f, 0xde, 0x25, 0x27, + 0x11, 0xfe, 0x9a, 0x08, 0xa6, 0x47, 0x32, 0x3a, 0x1c, 0xfa, 0x71, 0x87, 0x32, 0x4e, 0x1e, 0xa3, + 0x13, 0x09, 0x29, 0x6b, 0x07, 0x3e, 0xa3, 0xf8, 0x26, 0x2a, 0xaa, 0x28, 0x2a, 0x5b, 0x53, 0xd6, + 0xf4, 0xa1, 0xd9, 0xb7, 0x6a, 0x29, 0x01, 0x5f, 0x53, 0x4a, 0x2b, 0xa5, 0xe7, 0xff, 0x38, 0x73, + 0xe0, 0xb7, 0xff, 0xfe, 0xec, 0xa2, 0xe5, 0x80, 0x16, 0xb9, 0x88, 0x8e, 0xc9, 0x69, 0x57, 0xdd, + 0xb0, 0x01, 0xa6, 0xf0, 0x1b, 0xa8, 0x28, 0x54, 0xef, 0x36, 0xe4, 0x9c, 0x05, 0x07, 0x46, 0xe4, + 0x1e, 0x3a, 0x6e, 0x60, 0x81, 0xc0, 0x02, 0x2a, 0x88, 0xcf, 0x60, 0x9e, 0xa4, 0x9a, 0x17, 0x0a, + 0xdf, 0xf0, 0xf8, 0xce, 0x5d, 0xe1, 0x57, 0x47, 0xe2, 0xc9, 0x25, 0x30, 0xfc, 0x98, 0xd1, 0x30, + 0x32, 0x5c, 0x46, 0x93, 0x6e, 0xa3, 0x11, 0x52, 0xa6, 0x56, 0x53, 0x72, 0xa2, 0x21, 0x59, 0x01, + 0xd3, 0x0a, 0x0d, 0xa6, 0x2f, 0xa3, 0x82, 0x08, 0x7a, 0x30, 0xfd, 0x66, 0xaa, 0x69, 0xa9, 0x20, + 0x61, 0xe4, 0x97, 0x05, 0x83, 0x7f, 0xe4, 0x57, 0x7c, 0x12, 0x4d, 0x04, 0xbb, 0x3e, 0xcc, 0x52, + 0x72, 0xd4, 0x00, 0x5f, 0x45, 0x45, 0xc6, 0x5d, 0xde, 0x61, 0xe5, 0xb1, 0xa9, 0xf1, 0xe9, 0xa3, + 0xb3, 0x67, 0x46, 0xae, 0x6b, 0x5d, 0xc2, 0x1c, 0x80, 0xe3, 0x45, 0x74, 0x50, 0x7c, 0xff, 0x7a, + 0xb7, 0x4d, 0xcb, 0xe3, 0x52, 0xf5, 0xf4, 0x48, 0x55, 0x01, 0x72, 0x34, 0x1c, 0xcf, 0xa3, 0x89, + 0x7a, 0xd3, 0x65, 0xac, 0x5c, 0x90, 0x7a, 0xd5, 0x91, 0x7a, 0xab, 0x02, 0xe5, 0x28, 0xb0, 0xd8, + 0x2c, 0x16, 0x84, 0x7c, 0xa5, 0x5b, 0x9e, 0x90, 0x0b, 0x80, 0x11, 0x26, 0xe8, 0xb0, 0xef, 0xb6, + 0xe8, 0x6a, 0xe0, 0x73, 0xd7, 0xf3, 0x59, 0xb9, 0x28, 0xbf, 0x26, 0x64, 0xf8, 0x22, 0x3a, 0xf6, + 0x94, 0x76, 0x77, 0x83, 0xb0, 0xc1, 0x34, 0x6e, 0x52, 0xe2, 0x86, 0xe4, 0xf8, 0x1c, 0x3a, 0xe2, + 0x07, 0x9c, 0xc6, 0xc0, 0x83, 0x12, 0x98, 0x14, 0xe2, 0x69, 0xf4, 0x5a, 0xe0, 0x37, 0xbb, 0xeb, + 0xdc, 0x0d, 0x39, 0x0d, 0x05, 0xd9, 0x72, 0x69, 0xca, 0x9a, 0x3e, 0xe8, 0x0c, 0x8a, 0x71, 0x0d, + 0x61, 0x21, 0x5a, 0x71, 0x9b, 0xae, 0x5f, 0xa7, 0xcb, 0x7e, 0x7d, 0x27, 0x08, 0x59, 0x19, 0x49, + 0x70, 0xca, 0x17, 0xfc, 0x01, 0x3a, 0x18, 0xba, 0xa1, 0xc7, 0x3d, 0xca, 0xca, 0x87, 0xf6, 0xd8, + 0x13, 0x47, 0x00, 0xbb, 0x8e, 0x56, 0xc0, 0xe7, 0xd1, 0xd1, 0x56, 0xa7, 0xc9, 0x3d, 0xe9, 0xb9, + 0x87, 0x7e, 0xb3, 0x5b, 0x3e, 0x2c, 0x0d, 0x0d, 0x48, 0x49, 0x0d, 0x8e, 0x1e, 0x44, 0x08, 0xc4, + 0x59, 0x19, 0x4d, 0xaa, 0x13, 0x20, 0xc2, 0x72, 0x7c, 0xba, 0xe0, 0x44, 0x43, 0x72, 0x19, 0x22, + 0xea, 0xbe, 0xb8, 0x3b, 0x8d, 0x28, 0x96, 0x77, 0xa9, 0x3e, 0x3f, 0xd1, 0x90, 0xdc, 0x86, 0xe9, + 0x01, 0x0e, 0xd3, 0xbf, 0x8f, 0x26, 0x24, 0x00, 0xe2, 0xb8, 0x92, 0xba, 0x2c, 0xa5, 0xa2, 0x80, + 0xe4, 0x02, 0x7a, 0x4d, 0xce, 0xb3, 0x4e, 0xb9, 0x11, 0xc6, 0x8c, 0x72, 0x6d, 0x52, 0x0d, 0xc8, + 0x5d, 0x38, 0x64, 0x12, 0x08, 0xe6, 0xae, 0xa0, 0x71, 0x46, 0x39, 0x18, 0x7b, 0x3b, 0xd5, 0xd8, + 0x3a, 0xe5, 0xe2, 0xb8, 0x2e, 0xab, 0x8b, 0xdc, 0x11, 0x78, 0xb2, 0x88, 0x5e, 0x87, 0xa9, 0x9a, + 0xcd, 0x87, 0xe2, 0xe6, 0x8e, 0x2c, 0x4f, 0xa1, 0x43, 0x2c, 0x92, 0x69, 0xfb, 0xa6, 0x88, 0x3c, + 0x41, 0x6f, 0x0c, 0xaa, 0x02, 0x97, 0x25, 0x54, 0xd2, 0x40, 0x60, 0x54, 0x1d, 0xc1, 0x28, 0x52, + 0x8d, 0x15, 0xc8, 0x1c, 0x5c, 0x89, 0xab, 0x2a, 0x4f, 0x44, 0x84, 0x4e, 0xa1, 0x12, 0x64, 0x0e, + 0x4d, 0x27, 0x16, 0x90, 0x07, 0xe8, 0x64, 0x52, 0x49, 0xdf, 0x63, 0x93, 0x00, 0x02, 0x22, 0xa7, + 0xd2, 0xc3, 0x0b, 0xd4, 0x22, 0x30, 0x79, 0x1f, 0xf6, 0x74, 0x5d, 0x66, 0xa2, 0x88, 0x43, 0x05, + 0x1d, 0x54, 0xa9, 0x49, 0x53, 0xd0, 0x63, 0xf2, 0x55, 0xa0, 0x1d, 0x69, 0x00, 0x81, 0x39, 0x54, + 0x54, 0x90, 0xcc, 0x9b, 0x1c, 0x94, 0x00, 0xaa, 0x77, 0xe5, 0x56, 0x94, 0xc0, 0x8c, 0x5d, 0xd1, + 0x49, 0x2d, 0xde, 0x15, 0x43, 0xa4, 0x77, 0xc5, 0x50, 0x8d, 0x77, 0x45, 0x03, 0x33, 0x77, 0x25, + 0x56, 0x8d, 0x15, 0x48, 0x79, 0x70, 0x5e, 0x9d, 0xc2, 0xbe, 0x89, 0xfe, 0x6f, 0xe8, 0x8b, 0x4e, + 0x63, 0x48, 0xcf, 0xa0, 0x4e, 0xd9, 0xde, 0x36, 0x0d, 0x0d, 0xb2, 0x82, 0xaa, 0xc9, 0xa9, 0xe3, + 0x74, 0x93, 0xdb, 0x21, 0x3b, 0xe8, 0xcc, 0xc8, 0x39, 0x80, 0xe6, 0xad, 0x61, 0xcf, 0x5c, 0xc8, + 0x66, 0x19, 0xcf, 0x61, 0xb8, 0xe8, 0xec, 0xa0, 0x25, 0x36, 0x48, 0x97, 0x3c, 0x45, 0x53, 0xa3, + 0x21, 0xc0, 0xe6, 0x4e, 0x8a, 0xd3, 0x72, 0xd3, 0x31, 0xbd, 0xf7, 0x16, 0x7a, 0x53, 0x5f, 0x7b, + 0x52, 0xe1, 0xae, 0xbf, 0x15, 0x44, 0x4c, 0xfe, 0x36, 0x86, 0x2a, 0x69, 0x5f, 0x81, 0xc4, 0x3d, + 0x74, 0x4c, 0xd8, 0x59, 0xee, 0xd4, 0x45, 0xb5, 0xfb, 0x28, 0xf4, 0xea, 0x34, 0x4e, 0xc8, 0xb2, + 0x74, 0xaa, 0x89, 0xd2, 0xa9, 0x06, 0xa5, 0x53, 0x6d, 0x35, 0xf0, 0xfc, 0x95, 0x82, 0x28, 0x44, + 0x9c, 0x21, 0x45, 0x5c, 0x45, 0xc8, 0xad, 0x73, 0xef, 0x19, 0x5d, 0xa7, 0x5c, 0xa5, 0xde, 0x82, + 0x63, 0x48, 0xc4, 0x26, 0x0a, 0x1d, 0xf6, 0xa0, 0xd3, 0xda, 0xa4, 0x61, 0x79, 0x5c, 0x6d, 0xa2, + 0x21, 0x12, 0x69, 0x4a, 0xde, 0x91, 0x34, 0xc2, 0x14, 0x24, 0x26, 0x29, 0x14, 0x89, 0x4f, 0x5f, + 0x23, 0x11, 0x70, 0x42, 0x02, 0x87, 0xe4, 0x22, 0x77, 0xc0, 0x59, 0x8f, 0x90, 0x45, 0x89, 0x1c, + 0x90, 0x8a, 0x39, 0x9b, 0x2e, 0xe3, 0xc2, 0x4b, 0xf7, 0x83, 0x86, 0xb7, 0xe5, 0xd1, 0x86, 0x4c, + 0xa6, 0x05, 0x67, 0x48, 0x4e, 0x16, 0xd1, 0x59, 0x7d, 0x2f, 0xcb, 0x5c, 0xb5, 0xe6, 0x31, 0x1e, + 0x7a, 0x9b, 0x1d, 0xe1, 0x8a, 0xec, 0x2b, 0xfd, 0x09, 0x22, 0x59, 0xaa, 0x46, 0xca, 0xea, 0x84, + 0x21, 0xf5, 0xb9, 0x4e, 0x59, 0x6a, 0x28, 0xea, 0x85, 0x5d, 0xd7, 0xe7, 0xb4, 0x01, 0xee, 0x85, + 0x11, 0xb9, 0x86, 0x4e, 0xc9, 0x79, 0x97, 0xeb, 0x32, 0x2c, 0x6e, 0x87, 0x41, 0xeb, 0x23, 0xea, + 0x36, 0xbb, 0x46, 0x56, 0xfb, 0x9e, 0x18, 0x03, 0x9f, 0x92, 0x13, 0x0d, 0xc9, 0x22, 0x3a, 0x3d, + 0x42, 0x33, 0x26, 0x33, 0xa2, 0xac, 0x8b, 0x02, 0xef, 0x89, 0xac, 0x97, 0x1d, 0x55, 0x2e, 0x47, + 0x81, 0xe7, 0x43, 0xdc, 0x0d, 0x7c, 0x84, 0x49, 0x1f, 0xa1, 0xe3, 0xc2, 0xad, 0x89, 0x8f, 0x99, + 0x45, 0x68, 0x72, 0x9a, 0x61, 0x65, 0xf2, 0x5f, 0x0b, 0x2e, 0xe6, 0xfb, 0x2a, 0x56, 0xa2, 0x95, + 0x9f, 0x43, 0x47, 0xb8, 0xd7, 0xa2, 0x8c, 0xbb, 0xad, 0xf6, 0x5a, 0xb0, 0xeb, 0xc3, 0x7e, 0x24, + 0x85, 0x22, 0x34, 0xb5, 0xe0, 0x71, 0xbb, 0x3c, 0xa6, 0x42, 0xd3, 0x10, 0x89, 0x79, 0xea, 0x50, + 0x27, 0x89, 0xaa, 0x94, 0xc9, 0xfa, 0xb0, 0xe4, 0x24, 0x85, 0x22, 0x73, 0x84, 0xb4, 0x1d, 0x88, + 0x3a, 0x49, 0xc6, 0x6e, 0xc9, 0xd1, 0x63, 0x91, 0xa3, 0x82, 0x0e, 0xaf, 0x07, 0x2d, 0x2a, 0xa3, + 0xf5, 0xe8, 0x88, 0x1c, 0xf5, 0x50, 0x61, 0x9c, 0x08, 0xac, 0x8f, 0xcd, 0xa3, 0xa6, 0xdb, 0xa5, + 0x8d, 0x72, 0x51, 0x6e, 0xbc, 0x29, 0x22, 0x3b, 0x90, 0x15, 0xf5, 0xd2, 0xc1, 0xcb, 0xf3, 0x50, + 0xcb, 0xd0, 0xe8, 0x7e, 0xc9, 0xaa, 0x4e, 0x22, 0xa8, 0x58, 0x03, 0x94, 0x3c, 0xd1, 0x21, 0xd6, + 0x63, 0xf2, 0x3b, 0x2b, 0xae, 0x49, 0xb4, 0x8b, 0x17, 0x74, 0xb9, 0x6d, 0xc9, 0x75, 0x8d, 0x2a, + 0x02, 0xf8, 0x40, 0xb5, 0x4d, 0xd0, 0x61, 0xe1, 0x3d, 0x19, 0xfe, 0xa2, 0x7c, 0x1c, 0x93, 0x1e, + 0x4d, 0xc8, 0x4c, 0xb7, 0xcb, 0xb2, 0x4e, 0xba, 0xbd, 0xe0, 0x24, 0x85, 0x71, 0x1b, 0x50, 0x30, + 0xda, 0x00, 0xf2, 0x1e, 0xd4, 0x77, 0x8a, 0x2b, 0xf8, 0x44, 0x54, 0xdc, 0xe2, 0x28, 0x46, 0xd5, + 0x20, 0x8c, 0xc8, 0x0c, 0xa4, 0x37, 0x59, 0xa2, 0xab, 0x8e, 0x6e, 0xaf, 0x8e, 0xea, 0x3b, 0xa8, + 0x3c, 0xac, 0x02, 0x66, 0x56, 0xd4, 0xa6, 0x81, 0x18, 0x42, 0x7b, 0x6a, 0x74, 0x53, 0x00, 0xea, + 0xa6, 0x12, 0x99, 0x1f, 0x9e, 0x9f, 0x19, 0x07, 0x7a, 0x44, 0x55, 0xeb, 0x1a, 0xe9, 0x20, 0xd6, + 0x02, 0x5a, 0x6b, 0xe8, 0xb0, 0x61, 0x21, 0x0a, 0x8b, 0xbd, 0x79, 0x25, 0xb4, 0xc8, 0x27, 0x63, + 0x83, 0x35, 0xa1, 0xe6, 0x75, 0x03, 0x95, 0xda, 0x22, 0x19, 0xe8, 0xa3, 0x96, 0x23, 0x93, 0xc4, + 0x1a, 0x78, 0x11, 0x4d, 0xca, 0x01, 0x9c, 0xc1, 0x1c, 0xca, 0x11, 0x5e, 0x6d, 0x6c, 0xb3, 0x09, + 0x89, 0x45, 0xb4, 0x52, 0x72, 0x24, 0x62, 0x63, 0xb3, 0xd3, 0x8d, 0x63, 0x43, 0x0e, 0x30, 0x86, + 0xc6, 0x57, 0xe5, 0x0d, 0xf9, 0x1b, 0x2f, 0xe9, 0x38, 0x2e, 0xca, 0x38, 0x3e, 0x97, 0x5d, 0xcc, + 0x26, 0xa3, 0x99, 0xf4, 0x21, 0x80, 0x4c, 0x9f, 0xc4, 0xf5, 0x51, 0x9c, 0x98, 0x32, 0xeb, 0xa3, + 0xb8, 0x52, 0x36, 0x34, 0xc4, 0x41, 0x31, 0x2a, 0xf2, 0xe8, 0x54, 0x26, 0x64, 0xb3, 0xbf, 0xaa, + 0xa2, 0x09, 0x69, 0x1f, 0x7f, 0x62, 0xa1, 0xa2, 0x7a, 0x32, 0xc0, 0xe9, 0xf5, 0xc4, 0xf0, 0xfb, + 0x44, 0x65, 0x7a, 0x6f, 0xa0, 0x5a, 0x0b, 0xb9, 0xf2, 0xc3, 0xbf, 0xff, 0xeb, 0xd3, 0x31, 0x1b, + 0x5f, 0xb6, 0xd7, 0x68, 0x9d, 0xfa, 0x3c, 0x74, 0x9b, 0x22, 0x50, 0xee, 0xb8, 0x2d, 0x6a, 0x8f, + 0x7e, 0x25, 0xc3, 0x9f, 0x5a, 0xa8, 0x20, 0x3b, 0xc7, 0x77, 0x46, 0x5b, 0x32, 0x5e, 0x31, 0x2a, + 0xe7, 0xf7, 0x82, 0x01, 0x9d, 0x25, 0x49, 0x67, 0x01, 0xcf, 0xe7, 0xa4, 0x23, 0x7e, 0xd9, 0x3d, + 0x75, 0x56, 0xfa, 0xf8, 0xa7, 0x16, 0x2a, 0x88, 0x8b, 0x3b, 0x8b, 0x95, 0xf1, 0xc4, 0x91, 0xc5, + 0xca, 0x7c, 0xdb, 0x20, 0x37, 0x24, 0xab, 0xab, 0xf8, 0x4a, 0x4e, 0x56, 0x1d, 0x46, 0x43, 0xbb, + 0x07, 0x79, 0xb5, 0x8f, 0x7f, 0x66, 0xa1, 0x09, 0x75, 0xb1, 0xed, 0xe1, 0x06, 0xbd, 0x7f, 0x17, + 0xf6, 0xc4, 0x7d, 0x09, 0x7f, 0x31, 0xbb, 0x27, 0x2f, 0xd4, 0x3e, 0xfe, 0xb9, 0x85, 0x26, 0x64, + 0xb6, 0xc8, 0x22, 0x66, 0xb6, 0xd3, 0x59, 0xc4, 0x12, 0x7d, 0x34, 0xb9, 0x29, 0x89, 0x5d, 0xc3, + 0x0b, 0x39, 0x89, 0xc9, 0x94, 0x64, 0xf7, 0x20, 0x33, 0xf5, 0xf1, 0x8f, 0x2d, 0x34, 0xbe, 0x4e, + 0x39, 0x3e, 0x37, 0xda, 0x60, 0xdc, 0x70, 0x57, 0xde, 0xd9, 0x03, 0x05, 0xa4, 0xae, 0x4b, 0x52, + 0xf3, 0x78, 0x36, 0x27, 0x29, 0x46, 0xb9, 0xdd, 0x93, 0x09, 0xa5, 0x8f, 0xff, 0x68, 0xa1, 0x92, + 0x3e, 0xce, 0xf8, 0x62, 0x96, 0xc1, 0x64, 0x4f, 0x5e, 0x79, 0x2f, 0x17, 0x16, 0x28, 0xde, 0x91, + 0x14, 0x97, 0xf1, 0xff, 0xe7, 0xa6, 0x18, 0x3d, 0xde, 0x0a, 0xa6, 0xfa, 0x02, 0xe9, 0xe3, 0x5f, + 0x5b, 0x68, 0x12, 0xfa, 0x63, 0x9c, 0x71, 0x1d, 0x24, 0xdb, 0xf5, 0xca, 0xbb, 0x39, 0x90, 0xc0, + 0x74, 0x45, 0x32, 0x5d, 0xc2, 0xd7, 0xf3, 0x86, 0x9e, 0xd2, 0xb7, 0x7b, 0xba, 0xfd, 0xef, 0xe3, + 0x5f, 0x58, 0xa8, 0xa8, 0x9a, 0xe8, 0xac, 0xbb, 0x2d, 0xd1, 0xcd, 0x67, 0xdd, 0x6d, 0xc9, 0x26, + 0x9e, 0x7c, 0x28, 0x19, 0x5e, 0xc7, 0xd7, 0x72, 0xfb, 0x52, 0xa8, 0x0b, 0x3f, 0xaa, 0xc7, 0x81, + 0x3e, 0xfe, 0x83, 0x85, 0x4a, 0xba, 0x5d, 0xcb, 0xda, 0xf4, 0xc1, 0x96, 0x3f, 0x6b, 0xd3, 0x87, + 0x7a, 0x7c, 0x72, 0x5b, 0x12, 0xfd, 0x10, 0xdf, 0xcc, 0x49, 0x54, 0x77, 0x8b, 0x76, 0xcf, 0xe8, + 0x99, 0xe5, 0x9e, 0xa3, 0xb8, 0x47, 0xc5, 0x79, 0x38, 0xe8, 0x2b, 0xe7, 0x52, 0x3e, 0x30, 0x30, + 0x5e, 0x94, 0x8c, 0xe7, 0xf0, 0xcc, 0x7e, 0x19, 0x33, 0xfc, 0x17, 0x0b, 0xe1, 0xe1, 0x16, 0x18, + 0xcf, 0xe5, 0xb0, 0x3f, 0xd8, 0x98, 0x57, 0xe6, 0xf7, 0xa7, 0x04, 0xe4, 0x57, 0x25, 0xf9, 0x1b, + 0xf8, 0x83, 0xfd, 0x92, 0x37, 0xfe, 0x21, 0x81, 0x9f, 0x5b, 0xe8, 0x44, 0xca, 0x7b, 0x00, 0xce, + 0x43, 0x69, 0xe8, 0x85, 0xa1, 0x72, 0x65, 0x9f, 0x5a, 0xb0, 0x92, 0x35, 0xb9, 0x92, 0x9b, 0x78, + 0x69, 0xdf, 0xdb, 0x60, 0x2e, 0xe5, 0x4f, 0x16, 0x3a, 0x92, 0x78, 0x4f, 0xc0, 0xb5, 0xec, 0xfc, + 0x33, 0xf8, 0x2c, 0x51, 0xb1, 0x73, 0xe3, 0x5f, 0x31, 0xa3, 0xea, 0x5f, 0x1b, 0x9e, 0xe0, 0xf7, + 0x85, 0x85, 0x5e, 0x4f, 0xed, 0xb9, 0xf1, 0x42, 0x76, 0x26, 0x18, 0xd5, 0xdf, 0x57, 0xae, 0xee, + 0x5b, 0x0f, 0x56, 0xf2, 0x40, 0xae, 0xe4, 0x2b, 0xf8, 0x76, 0xfe, 0x9c, 0xb2, 0x21, 0x9f, 0xc2, + 0xbb, 0x1b, 0x0d, 0x63, 0x3e, 0x9d, 0x67, 0xfe, 0x6a, 0xa1, 0x63, 0x83, 0xcd, 0x3b, 0x9e, 0x19, + 0xcd, 0x6e, 0xc4, 0x13, 0x41, 0x65, 0x76, 0x3f, 0x2a, 0xb0, 0x96, 0x7b, 0x72, 0x2d, 0xb7, 0xf0, + 0x6a, 0xce, 0xb5, 0xb8, 0x6a, 0xa2, 0x8d, 0xad, 0x30, 0x68, 0x6d, 0xc8, 0x17, 0x08, 0xbb, 0x07, + 0x0f, 0x11, 0x7d, 0x19, 0x55, 0x89, 0x9e, 0x3e, 0x2b, 0xaa, 0xd2, 0xde, 0x1c, 0xb2, 0xa2, 0x2a, + 0xf5, 0x19, 0x62, 0xdf, 0x51, 0x95, 0xfc, 0xcf, 0x20, 0xfe, 0x8f, 0x85, 0x26, 0xa1, 0xe7, 0xce, + 0x4a, 0x99, 0xc9, 0x17, 0x89, 0xac, 0x94, 0x39, 0xd0, 0xc0, 0x93, 0x1f, 0x59, 0x92, 0xe0, 0x0f, + 0x2c, 0xfc, 0xfd, 0xfd, 0x94, 0x45, 0x94, 0xd9, 0xbd, 0xc4, 0xfb, 0x46, 0xdf, 0x18, 0x3f, 0x6e, + 0xf7, 0x45, 0x4a, 0x35, 0x5e, 0x2d, 0xfa, 0x76, 0x2f, 0x7a, 0xa4, 0xe8, 0xdb, 0x3d, 0x78, 0x76, + 0xe8, 0xab, 0x2a, 0x19, 0x9e, 0x18, 0xfa, 0xf8, 0xcf, 0x16, 0x2a, 0xc8, 0x57, 0xbc, 0xec, 0xd2, + 0x89, 0xe5, 0x28, 0x95, 0xcd, 0x7e, 0x9c, 0xd4, 0xe5, 0x0a, 0xbf, 0x8d, 0xbf, 0x95, 0xff, 0x38, + 0x30, 0xbb, 0xa7, 0x7a, 0x2e, 0x58, 0x48, 0xf4, 0x58, 0x60, 0xac, 0x4b, 0x16, 0xbd, 0x7d, 0x5d, + 0xb7, 0x7e, 0x66, 0xa1, 0x43, 0x46, 0x3b, 0x8b, 0x2f, 0x65, 0x5f, 0x3f, 0xc9, 0xfe, 0xbf, 0x72, + 0x39, 0x27, 0xfa, 0x15, 0xef, 0x58, 0xf3, 0x9f, 0xc8, 0x71, 0x6b, 0xf2, 0x7b, 0x0b, 0x1d, 0x36, + 0x5b, 0x78, 0x9c, 0x8f, 0x85, 0xf6, 0x7f, 0x2d, 0x2f, 0xfc, 0x4b, 0x34, 0x06, 0x11, 0x6b, 0x86, + 0x7f, 0x63, 0x21, 0x14, 0x37, 0xbe, 0x38, 0x4f, 0x05, 0x9b, 0xa7, 0x90, 0x18, 0xee, 0xa5, 0x5f, + 0xa1, 0x24, 0x8f, 0xea, 0x5d, 0xb6, 0xe2, 0x3c, 0x7f, 0x51, 0xb5, 0x3e, 0x7f, 0x51, 0xb5, 0xfe, + 0xf9, 0xa2, 0x6a, 0xfd, 0xe4, 0x65, 0xf5, 0xc0, 0xe7, 0x2f, 0xab, 0x07, 0xbe, 0x78, 0x59, 0x3d, + 0xf0, 0xd1, 0xb5, 0x6d, 0x8f, 0xef, 0x74, 0x36, 0x6b, 0xf5, 0xa0, 0x95, 0x39, 0xef, 0x77, 0x8d, + 0xdf, 0xbc, 0xdb, 0xa6, 0x6c, 0xb3, 0x28, 0xff, 0xed, 0x3f, 0xf7, 0xbf, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xbd, 0x53, 0xf8, 0xfd, 0xcc, 0x22, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2612,9 +2413,6 @@ const _ = grpc.SupportPackageIsVersion4 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 ProductDetails items. - ProductDetails(ctx context.Context, in *QueryGetProductDetailsRequest, opts ...grpc.CallOption) (*QueryGetProductDetailsResponse, error) - ProductDetailsAll(ctx context.Context, in *QueryAllProductDetailsRequest, opts ...grpc.CallOption) (*QueryAllProductDetailsResponse, error) // Queries a list of Card items. Card(ctx context.Context, in *QueryCardRequest, opts ...grpc.CallOption) (*QueryCardResponse, error) // Queries a list of User items. @@ -2676,24 +2474,6 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . return out, nil } -func (c *queryClient) ProductDetails(ctx context.Context, in *QueryGetProductDetailsRequest, opts ...grpc.CallOption) (*QueryGetProductDetailsResponse, error) { - out := new(QueryGetProductDetailsResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/ProductDetails", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *queryClient) ProductDetailsAll(ctx context.Context, in *QueryAllProductDetailsRequest, opts ...grpc.CallOption) (*QueryAllProductDetailsResponse, error) { - out := new(QueryAllProductDetailsResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/ProductDetailsAll", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *queryClient) Card(ctx context.Context, in *QueryCardRequest, opts ...grpc.CallOption) (*QueryCardResponse, error) { out := new(QueryCardResponse) err := c.cc.Invoke(ctx, "/cardchain.cardchain.Query/Card", in, out, opts...) @@ -2887,9 +2667,6 @@ func (c *queryClient) SellOffers(ctx context.Context, in *QuerySellOffersRequest type QueryServer interface { // Parameters queries the parameters of the module. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) - // Queries a list of ProductDetails items. - ProductDetails(context.Context, *QueryGetProductDetailsRequest) (*QueryGetProductDetailsResponse, error) - ProductDetailsAll(context.Context, *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) // Queries a list of Card items. Card(context.Context, *QueryCardRequest) (*QueryCardResponse, error) // Queries a list of User items. @@ -2941,12 +2718,6 @@ 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) ProductDetails(ctx context.Context, req *QueryGetProductDetailsRequest) (*QueryGetProductDetailsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProductDetails not implemented") -} -func (*UnimplementedQueryServer) ProductDetailsAll(ctx context.Context, req *QueryAllProductDetailsRequest) (*QueryAllProductDetailsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProductDetailsAll not implemented") -} func (*UnimplementedQueryServer) Card(ctx context.Context, req *QueryCardRequest) (*QueryCardResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Card not implemented") } @@ -3033,42 +2804,6 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } -func _Query_ProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryGetProductDetailsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ProductDetails(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Query/ProductDetails", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProductDetails(ctx, req.(*QueryGetProductDetailsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Query_ProductDetailsAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryAllProductDetailsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ProductDetailsAll(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Query/ProductDetailsAll", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProductDetailsAll(ctx, req.(*QueryAllProductDetailsRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _Query_Card_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryCardRequest) if err := dec(in); err != nil { @@ -3456,14 +3191,6 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Params", Handler: _Query_Params_Handler, }, - { - MethodName: "ProductDetails", - Handler: _Query_ProductDetails_Handler, - }, - { - MethodName: "ProductDetailsAll", - Handler: _Query_ProductDetailsAll_Handler, - }, { MethodName: "Card", Handler: _Query_Card_Handler, @@ -3609,7 +3336,7 @@ func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *QueryGetProductDetailsRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryCardRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3619,25 +3346,25 @@ func (m *QueryGetProductDetailsRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryGetProductDetailsRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryCardRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryGetProductDetailsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryCardRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Id != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Id)) + if m.CardId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.CardId)) i-- dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *QueryGetProductDetailsResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryCardResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3647,169 +3374,24 @@ func (m *QueryGetProductDetailsResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryGetProductDetailsResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryCardResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryGetProductDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryCardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - { - size, err := m.ProductDetails.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 *QueryAllProductDetailsRequest) 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 *QueryAllProductDetailsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryAllProductDetailsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.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 *QueryAllProductDetailsResponse) 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 *QueryAllProductDetailsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryAllProductDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.ProductDetails) > 0 { - for iNdEx := len(m.ProductDetails) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.ProductDetails[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 (m *QueryCardRequest) 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 *QueryCardRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryCardRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CardId != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *QueryCardResponse) 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 *QueryCardResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryCardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Card != nil { - { - size, err := m.Card.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + if m.Card != nil { + { + size, err := m.Card.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } i-- dAtA[i] = 0xa @@ -3913,20 +3495,20 @@ func (m *QueryCardsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x60 } if len(m.Rarities) > 0 { - dAtA8 := make([]byte, len(m.Rarities)*10) - var j7 int + dAtA5 := make([]byte, len(m.Rarities)*10) + var j4 int for _, num := range m.Rarities { for num >= 1<<7 { - dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) + dAtA5[j4] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j7++ + j4++ } - dAtA8[j7] = uint8(num) - j7++ + dAtA5[j4] = uint8(num) + j4++ } - i -= j7 - copy(dAtA[i:], dAtA8[:j7]) - i = encodeVarintQuery(dAtA, i, uint64(j7)) + i -= j4 + copy(dAtA[i:], dAtA5[:j4]) + i = encodeVarintQuery(dAtA, i, uint64(j4)) i-- dAtA[i] = 0x5a } @@ -3979,56 +3561,56 @@ func (m *QueryCardsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x2a } if len(m.Class) > 0 { - dAtA10 := make([]byte, len(m.Class)*10) - var j9 int + dAtA7 := make([]byte, len(m.Class)*10) + var j6 int for _, num := range m.Class { for num >= 1<<7 { - dAtA10[j9] = uint8(uint64(num)&0x7f | 0x80) + dAtA7[j6] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j9++ + j6++ } - dAtA10[j9] = uint8(num) - j9++ + dAtA7[j6] = uint8(num) + j6++ } - i -= j9 - copy(dAtA[i:], dAtA10[:j9]) - i = encodeVarintQuery(dAtA, i, uint64(j9)) + i -= j6 + copy(dAtA[i:], dAtA7[:j6]) + i = encodeVarintQuery(dAtA, i, uint64(j6)) i-- dAtA[i] = 0x22 } if len(m.CardType) > 0 { - dAtA12 := make([]byte, len(m.CardType)*10) - var j11 int + dAtA9 := make([]byte, len(m.CardType)*10) + var j8 int for _, num := range m.CardType { for num >= 1<<7 { - dAtA12[j11] = uint8(uint64(num)&0x7f | 0x80) + dAtA9[j8] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j11++ + j8++ } - dAtA12[j11] = uint8(num) - j11++ + dAtA9[j8] = uint8(num) + j8++ } - i -= j11 - copy(dAtA[i:], dAtA12[:j11]) - i = encodeVarintQuery(dAtA, i, uint64(j11)) + i -= j8 + copy(dAtA[i:], dAtA9[:j8]) + i = encodeVarintQuery(dAtA, i, uint64(j8)) i-- dAtA[i] = 0x1a } if len(m.Status) > 0 { - dAtA14 := make([]byte, len(m.Status)*10) - var j13 int + dAtA11 := make([]byte, len(m.Status)*10) + var j10 int for _, num := range m.Status { for num >= 1<<7 { - dAtA14[j13] = uint8(uint64(num)&0x7f | 0x80) + dAtA11[j10] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j13++ + j10++ } - dAtA14[j13] = uint8(num) - j13++ + dAtA11[j10] = uint8(num) + j10++ } - i -= j13 - copy(dAtA[i:], dAtA14[:j13]) - i = encodeVarintQuery(dAtA, i, uint64(j13)) + i -= j10 + copy(dAtA[i:], dAtA11[:j10]) + i = encodeVarintQuery(dAtA, i, uint64(j10)) i-- dAtA[i] = 0x12 } @@ -4063,20 +3645,20 @@ func (m *QueryCardsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.CardIds) > 0 { - dAtA16 := make([]byte, len(m.CardIds)*10) - var j15 int + dAtA13 := make([]byte, len(m.CardIds)*10) + var j12 int for _, num := range m.CardIds { for num >= 1<<7 { - dAtA16[j15] = uint8(uint64(num)&0x7f | 0x80) + dAtA13[j12] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j15++ + j12++ } - dAtA16[j15] = uint8(num) - j15++ + dAtA13[j12] = uint8(num) + j12++ } - i -= j15 - copy(dAtA[i:], dAtA16[:j15]) - i = encodeVarintQuery(dAtA, i, uint64(j15)) + i -= j12 + copy(dAtA[i:], dAtA13[:j12]) + i = encodeVarintQuery(dAtA, i, uint64(j12)) i-- dAtA[i] = 0xa } @@ -4713,20 +4295,20 @@ func (m *QueryCardchainInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, err dAtA[i] = 0x18 } if len(m.ActiveSets) > 0 { - dAtA25 := make([]byte, len(m.ActiveSets)*10) - var j24 int + dAtA22 := make([]byte, len(m.ActiveSets)*10) + var j21 int for _, num := range m.ActiveSets { for num >= 1<<7 { - dAtA25[j24] = uint8(uint64(num)&0x7f | 0x80) + dAtA22[j21] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j24++ + j21++ } - dAtA25[j24] = uint8(num) - j24++ + dAtA22[j21] = uint8(num) + j21++ } - i -= j24 - copy(dAtA[i:], dAtA25[:j24]) - i = encodeVarintQuery(dAtA, i, uint64(j24)) + i -= j21 + copy(dAtA[i:], dAtA22[:j21]) + i = encodeVarintQuery(dAtA, i, uint64(j21)) i-- dAtA[i] = 0x12 } @@ -4792,38 +4374,38 @@ func (m *QuerySetRarityDistributionResponse) MarshalToSizedBuffer(dAtA []byte) ( var l int _ = l if len(m.Wanted) > 0 { - dAtA28 := make([]byte, len(m.Wanted)*10) - var j27 int + dAtA25 := make([]byte, len(m.Wanted)*10) + var j24 int for _, num := range m.Wanted { for num >= 1<<7 { - dAtA28[j27] = uint8(uint64(num)&0x7f | 0x80) + dAtA25[j24] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j27++ + j24++ } - dAtA28[j27] = uint8(num) - j27++ + dAtA25[j24] = uint8(num) + j24++ } - i -= j27 - copy(dAtA[i:], dAtA28[:j27]) - i = encodeVarintQuery(dAtA, i, uint64(j27)) + i -= j24 + copy(dAtA[i:], dAtA25[:j24]) + i = encodeVarintQuery(dAtA, i, uint64(j24)) i-- dAtA[i] = 0x12 } if len(m.Current) > 0 { - dAtA30 := make([]byte, len(m.Current)*10) - var j29 int + dAtA27 := make([]byte, len(m.Current)*10) + var j26 int for _, num := range m.Current { for num >= 1<<7 { - dAtA30[j29] = uint8(uint64(num)&0x7f | 0x80) + dAtA27[j26] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j29++ + j26++ } - dAtA30[j29] = uint8(num) - j29++ + dAtA27[j26] = uint8(num) + j26++ } - i -= j29 - copy(dAtA[i:], dAtA30[:j29]) - i = encodeVarintQuery(dAtA, i, uint64(j29)) + i -= j26 + copy(dAtA[i:], dAtA27[:j26]) + i = encodeVarintQuery(dAtA, i, uint64(j26)) i-- dAtA[i] = 0xa } @@ -4969,20 +4551,20 @@ func (m *QueryMatchesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.CardsPlayed) > 0 { - dAtA33 := make([]byte, len(m.CardsPlayed)*10) - var j32 int + dAtA30 := make([]byte, len(m.CardsPlayed)*10) + var j29 int for _, num := range m.CardsPlayed { for num >= 1<<7 { - dAtA33[j32] = uint8(uint64(num)&0x7f | 0x80) + dAtA30[j29] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j32++ + j29++ } - dAtA33[j32] = uint8(num) - j32++ + dAtA30[j29] = uint8(num) + j29++ } - i -= j32 - copy(dAtA[i:], dAtA33[:j32]) - i = encodeVarintQuery(dAtA, i, uint64(j32)) + i -= j29 + copy(dAtA[i:], dAtA30[:j29]) + i = encodeVarintQuery(dAtA, i, uint64(j29)) i-- dAtA[i] = 0x32 } @@ -5041,20 +4623,20 @@ func (m *QueryMatchesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.MatchIds) > 0 { - dAtA35 := make([]byte, len(m.MatchIds)*10) - var j34 int + dAtA32 := make([]byte, len(m.MatchIds)*10) + var j31 int for _, num := range m.MatchIds { for num >= 1<<7 { - dAtA35[j34] = uint8(uint64(num)&0x7f | 0x80) + dAtA32[j31] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j34++ + j31++ } - dAtA35[j34] = uint8(num) - j34++ + dAtA32[j31] = uint8(num) + j31++ } - i -= j34 - copy(dAtA[i:], dAtA35[:j34]) - i = encodeVarintQuery(dAtA, i, uint64(j34)) + i -= j31 + copy(dAtA[i:], dAtA32[:j31]) + i = encodeVarintQuery(dAtA, i, uint64(j31)) i-- dAtA[i] = 0x12 } @@ -5103,20 +4685,20 @@ func (m *QuerySetsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x22 } if len(m.ContainsCards) > 0 { - dAtA37 := make([]byte, len(m.ContainsCards)*10) - var j36 int + dAtA34 := make([]byte, len(m.ContainsCards)*10) + var j33 int for _, num := range m.ContainsCards { for num >= 1<<7 { - dAtA37[j36] = uint8(uint64(num)&0x7f | 0x80) + dAtA34[j33] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j36++ + j33++ } - dAtA37[j36] = uint8(num) - j36++ + dAtA34[j33] = uint8(num) + j33++ } - i -= j36 - copy(dAtA[i:], dAtA37[:j36]) - i = encodeVarintQuery(dAtA, i, uint64(j36)) + i -= j33 + copy(dAtA[i:], dAtA34[:j33]) + i = encodeVarintQuery(dAtA, i, uint64(j33)) i-- dAtA[i] = 0x1a } @@ -5158,20 +4740,20 @@ func (m *QuerySetsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.SetIds) > 0 { - dAtA39 := make([]byte, len(m.SetIds)*10) - var j38 int + dAtA36 := make([]byte, len(m.SetIds)*10) + var j35 int for _, num := range m.SetIds { for num >= 1<<7 { - dAtA39[j38] = uint8(uint64(num)&0x7f | 0x80) + dAtA36[j35] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j38++ + j35++ } - dAtA39[j38] = uint8(num) - j38++ + dAtA36[j35] = uint8(num) + j35++ } - i -= j38 - copy(dAtA[i:], dAtA39[:j38]) - i = encodeVarintQuery(dAtA, i, uint64(j38)) + i -= j35 + copy(dAtA[i:], dAtA36[:j35]) + i = encodeVarintQuery(dAtA, i, uint64(j35)) i-- dAtA[i] = 0xa } @@ -5262,20 +4844,20 @@ func (m *QueryCardContentsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error var l int _ = l if len(m.CardIds) > 0 { - dAtA42 := make([]byte, len(m.CardIds)*10) - var j41 int + dAtA39 := make([]byte, len(m.CardIds)*10) + var j38 int for _, num := range m.CardIds { for num >= 1<<7 { - dAtA42[j41] = uint8(uint64(num)&0x7f | 0x80) + dAtA39[j38] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j41++ + j38++ } - dAtA42[j41] = uint8(num) - j41++ + dAtA39[j38] = uint8(num) + j38++ } - i -= j41 - copy(dAtA[i:], dAtA42[:j41]) - i = encodeVarintQuery(dAtA, i, uint64(j41)) + i -= j38 + copy(dAtA[i:], dAtA39[:j38]) + i = encodeVarintQuery(dAtA, i, uint64(j38)) i-- dAtA[i] = 0xa } @@ -5407,20 +4989,20 @@ func (m *QuerySellOffersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) var l int _ = l if len(m.SellOfferIds) > 0 { - dAtA46 := make([]byte, len(m.SellOfferIds)*10) - var j45 int + dAtA43 := make([]byte, len(m.SellOfferIds)*10) + var j42 int for _, num := range m.SellOfferIds { for num >= 1<<7 { - dAtA46[j45] = uint8(uint64(num)&0x7f | 0x80) + dAtA43[j42] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j45++ + j42++ } - dAtA46[j45] = uint8(num) - j45++ + dAtA43[j42] = uint8(num) + j42++ } - i -= j45 - copy(dAtA[i:], dAtA46[:j45]) - i = encodeVarintQuery(dAtA, i, uint64(j45)) + i -= j42 + copy(dAtA[i:], dAtA43[:j42]) + i = encodeVarintQuery(dAtA, i, uint64(j42)) i-- dAtA[i] = 0x12 } @@ -5472,61 +5054,6 @@ func (m *QueryParamsResponse) Size() (n int) { return n } -func (m *QueryGetProductDetailsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Id != 0 { - n += 1 + sovQuery(uint64(m.Id)) - } - return n -} - -func (m *QueryGetProductDetailsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.ProductDetails.Size() - n += 1 + l + sovQuery(uint64(l)) - return n -} - -func (m *QueryAllProductDetailsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - -func (m *QueryAllProductDetailsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ProductDetails) > 0 { - for _, e := range m.ProductDetails { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} - func (m *QueryCardRequest) Size() (n int) { if m == nil { return 0 @@ -6354,364 +5881,6 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryGetProductDetailsRequest) 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: QueryGetProductDetailsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetProductDetailsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - m.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 *QueryGetProductDetailsResponse) 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: QueryGetProductDetailsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryGetProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProductDetails", 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.ProductDetails.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 *QueryAllProductDetailsRequest) 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: QueryAllProductDetailsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAllProductDetailsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", 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.Pagination == nil { - m.Pagination = &query.PageRequest{} - } - if err := m.Pagination.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 *QueryAllProductDetailsResponse) 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: QueryAllProductDetailsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryAllProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProductDetails", 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.ProductDetails = append(m.ProductDetails, ProductDetails{}) - if err := m.ProductDetails[len(m.ProductDetails)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", 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.Pagination == nil { - m.Pagination = &query.PageResponse{} - } - if err := m.Pagination.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 *QueryCardRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 76d644c9..0aa15d7e 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -51,96 +51,6 @@ func local_request_Query_Params_0(ctx context.Context, marshaler runtime.Marshal } -func request_Query_ProductDetails_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryGetProductDetailsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := client.ProductDetails(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_ProductDetails_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryGetProductDetailsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := server.ProductDetails(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Query_ProductDetailsAll_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Query_ProductDetailsAll_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryAllProductDetailsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProductDetailsAll_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ProductDetailsAll(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_ProductDetailsAll_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryAllProductDetailsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProductDetailsAll_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ProductDetailsAll(ctx, &protoReq) - return msg, metadata, err - -} - func request_Query_Card_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryCardRequest var metadata runtime.ServerMetadata @@ -1312,52 +1222,6 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) - mux.Handle("GET", pattern_Query_ProductDetails_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_ProductDetails_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_ProductDetails_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_ProductDetailsAll_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_ProductDetailsAll_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_ProductDetailsAll_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_Query_Card_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1902,46 +1766,6 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) - mux.Handle("GET", pattern_Query_ProductDetails_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_ProductDetails_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_ProductDetails_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Query_ProductDetailsAll_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_ProductDetailsAll_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_ProductDetailsAll_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_Query_Card_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -2368,10 +2192,6 @@ 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(false))) - pattern_Query_ProductDetails_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "product_details", "id"}, "", runtime.AssumeColonVerbOpt(false))) - - pattern_Query_ProductDetailsAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "product_details"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_Card_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "card", "cardId"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_User_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "user", "address"}, "", runtime.AssumeColonVerbOpt(false))) @@ -2418,10 +2238,6 @@ var ( var ( forward_Query_Params_0 = runtime.ForwardResponseMessage - forward_Query_ProductDetails_0 = runtime.ForwardResponseMessage - - forward_Query_ProductDetailsAll_0 = runtime.ForwardResponseMessage - forward_Query_Card_0 = runtime.ForwardResponseMessage forward_Query_User_0 = runtime.ForwardResponseMessage diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index bcff9954..e6fcd1a3 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -4566,302 +4566,6 @@ func (m *MsgEncounterCloseResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgEncounterCloseResponse proto.InternalMessageInfo -type MsgCreateProductDetails 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"` - Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` -} - -func (m *MsgCreateProductDetails) Reset() { *m = MsgCreateProductDetails{} } -func (m *MsgCreateProductDetails) String() string { return proto.CompactTextString(m) } -func (*MsgCreateProductDetails) ProtoMessage() {} -func (*MsgCreateProductDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{94} -} -func (m *MsgCreateProductDetails) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCreateProductDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCreateProductDetails.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 *MsgCreateProductDetails) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateProductDetails.Merge(m, src) -} -func (m *MsgCreateProductDetails) XXX_Size() int { - return m.Size() -} -func (m *MsgCreateProductDetails) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateProductDetails.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCreateProductDetails proto.InternalMessageInfo - -func (m *MsgCreateProductDetails) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgCreateProductDetails) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *MsgCreateProductDetails) GetDesc() string { - if m != nil { - return m.Desc - } - return "" -} - -type MsgCreateProductDetailsResponse struct { - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (m *MsgCreateProductDetailsResponse) Reset() { *m = MsgCreateProductDetailsResponse{} } -func (m *MsgCreateProductDetailsResponse) String() string { return proto.CompactTextString(m) } -func (*MsgCreateProductDetailsResponse) ProtoMessage() {} -func (*MsgCreateProductDetailsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{95} -} -func (m *MsgCreateProductDetailsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCreateProductDetailsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCreateProductDetailsResponse.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 *MsgCreateProductDetailsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateProductDetailsResponse.Merge(m, src) -} -func (m *MsgCreateProductDetailsResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgCreateProductDetailsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateProductDetailsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCreateProductDetailsResponse proto.InternalMessageInfo - -func (m *MsgCreateProductDetailsResponse) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} - -type MsgUpdateProductDetails struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Desc string `protobuf:"bytes,4,opt,name=desc,proto3" json:"desc,omitempty"` -} - -func (m *MsgUpdateProductDetails) Reset() { *m = MsgUpdateProductDetails{} } -func (m *MsgUpdateProductDetails) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateProductDetails) ProtoMessage() {} -func (*MsgUpdateProductDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{96} -} -func (m *MsgUpdateProductDetails) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgUpdateProductDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgUpdateProductDetails.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 *MsgUpdateProductDetails) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateProductDetails.Merge(m, src) -} -func (m *MsgUpdateProductDetails) XXX_Size() int { - return m.Size() -} -func (m *MsgUpdateProductDetails) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateProductDetails.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgUpdateProductDetails proto.InternalMessageInfo - -func (m *MsgUpdateProductDetails) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgUpdateProductDetails) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} - -func (m *MsgUpdateProductDetails) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *MsgUpdateProductDetails) GetDesc() string { - if m != nil { - return m.Desc - } - return "" -} - -type MsgUpdateProductDetailsResponse struct { -} - -func (m *MsgUpdateProductDetailsResponse) Reset() { *m = MsgUpdateProductDetailsResponse{} } -func (m *MsgUpdateProductDetailsResponse) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateProductDetailsResponse) ProtoMessage() {} -func (*MsgUpdateProductDetailsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{97} -} -func (m *MsgUpdateProductDetailsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgUpdateProductDetailsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgUpdateProductDetailsResponse.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 *MsgUpdateProductDetailsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateProductDetailsResponse.Merge(m, src) -} -func (m *MsgUpdateProductDetailsResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgUpdateProductDetailsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateProductDetailsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgUpdateProductDetailsResponse proto.InternalMessageInfo - -type MsgDeleteProductDetails struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` -} - -func (m *MsgDeleteProductDetails) Reset() { *m = MsgDeleteProductDetails{} } -func (m *MsgDeleteProductDetails) String() string { return proto.CompactTextString(m) } -func (*MsgDeleteProductDetails) ProtoMessage() {} -func (*MsgDeleteProductDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{98} -} -func (m *MsgDeleteProductDetails) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgDeleteProductDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgDeleteProductDetails.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 *MsgDeleteProductDetails) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgDeleteProductDetails.Merge(m, src) -} -func (m *MsgDeleteProductDetails) XXX_Size() int { - return m.Size() -} -func (m *MsgDeleteProductDetails) XXX_DiscardUnknown() { - xxx_messageInfo_MsgDeleteProductDetails.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgDeleteProductDetails proto.InternalMessageInfo - -func (m *MsgDeleteProductDetails) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgDeleteProductDetails) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} - -type MsgDeleteProductDetailsResponse struct { -} - -func (m *MsgDeleteProductDetailsResponse) Reset() { *m = MsgDeleteProductDetailsResponse{} } -func (m *MsgDeleteProductDetailsResponse) String() string { return proto.CompactTextString(m) } -func (*MsgDeleteProductDetailsResponse) ProtoMessage() {} -func (*MsgDeleteProductDetailsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{99} -} -func (m *MsgDeleteProductDetailsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgDeleteProductDetailsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgDeleteProductDetailsResponse.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 *MsgDeleteProductDetailsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgDeleteProductDetailsResponse.Merge(m, src) -} -func (m *MsgDeleteProductDetailsResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgDeleteProductDetailsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgDeleteProductDetailsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgDeleteProductDetailsResponse proto.InternalMessageInfo - type MsgEarlyAccessDisinvite struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` @@ -4871,7 +4575,7 @@ func (m *MsgEarlyAccessDisinvite) Reset() { *m = MsgEarlyAccessDisinvite func (m *MsgEarlyAccessDisinvite) String() string { return proto.CompactTextString(m) } func (*MsgEarlyAccessDisinvite) ProtoMessage() {} func (*MsgEarlyAccessDisinvite) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{100} + return fileDescriptor_3b4a3aba0ac94bc8, []int{94} } func (m *MsgEarlyAccessDisinvite) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4921,7 +4625,7 @@ func (m *MsgEarlyAccessDisinviteResponse) Reset() { *m = MsgEarlyAccessD func (m *MsgEarlyAccessDisinviteResponse) String() string { return proto.CompactTextString(m) } func (*MsgEarlyAccessDisinviteResponse) ProtoMessage() {} func (*MsgEarlyAccessDisinviteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{101} + return fileDescriptor_3b4a3aba0ac94bc8, []int{95} } func (m *MsgEarlyAccessDisinviteResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5046,12 +4750,6 @@ func init() { proto.RegisterType((*MsgEncounterDoResponse)(nil), "cardchain.cardchain.MsgEncounterDoResponse") proto.RegisterType((*MsgEncounterClose)(nil), "cardchain.cardchain.MsgEncounterClose") proto.RegisterType((*MsgEncounterCloseResponse)(nil), "cardchain.cardchain.MsgEncounterCloseResponse") - proto.RegisterType((*MsgCreateProductDetails)(nil), "cardchain.cardchain.MsgCreateProductDetails") - proto.RegisterType((*MsgCreateProductDetailsResponse)(nil), "cardchain.cardchain.MsgCreateProductDetailsResponse") - proto.RegisterType((*MsgUpdateProductDetails)(nil), "cardchain.cardchain.MsgUpdateProductDetails") - proto.RegisterType((*MsgUpdateProductDetailsResponse)(nil), "cardchain.cardchain.MsgUpdateProductDetailsResponse") - proto.RegisterType((*MsgDeleteProductDetails)(nil), "cardchain.cardchain.MsgDeleteProductDetails") - proto.RegisterType((*MsgDeleteProductDetailsResponse)(nil), "cardchain.cardchain.MsgDeleteProductDetailsResponse") proto.RegisterType((*MsgEarlyAccessDisinvite)(nil), "cardchain.cardchain.MsgEarlyAccessDisinvite") proto.RegisterType((*MsgEarlyAccessDisinviteResponse)(nil), "cardchain.cardchain.MsgEarlyAccessDisinviteResponse") } @@ -5059,190 +4757,181 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2914 bytes of a gzipped FileDescriptorProto + // 2777 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0x37, 0x45, 0x49, 0x96, 0xc6, 0xb2, 0x6c, 0xd3, 0x8a, 0x4d, 0xd3, 0x8e, 0x2c, 0xd3, 0x92, - 0x2d, 0x29, 0xb2, 0x14, 0xd9, 0xf1, 0x47, 0x8d, 0x26, 0x85, 0x28, 0xb9, 0x45, 0x80, 0x2a, 0x76, - 0x57, 0x4d, 0x5c, 0xa7, 0x1f, 0xc6, 0x72, 0x39, 0xa2, 0xb6, 0x5a, 0xee, 0x30, 0xbb, 0x43, 0x2a, - 0x32, 0x50, 0xa0, 0x48, 0x2f, 0x45, 0x7b, 0xe9, 0xb9, 0xe8, 0xa5, 0xb7, 0x9c, 0x0a, 0x03, 0xed, - 0x5f, 0xd0, 0x5e, 0x72, 0xe8, 0x21, 0xc8, 0xa9, 0xe8, 0xa1, 0x28, 0xec, 0x83, 0xff, 0x8d, 0x62, - 0x3e, 0x76, 0x76, 0x76, 0x38, 0x33, 0xbb, 0x64, 0xdb, 0x8b, 0xcd, 0xd9, 0xfd, 0xcd, 0xfb, 0xda, - 0x37, 0xef, 0xbd, 0x79, 0x0f, 0x02, 0x57, 0x3c, 0x37, 0x6a, 0x79, 0x07, 0xae, 0x1f, 0x6e, 0xa4, - 0xbf, 0xf0, 0xe7, 0xeb, 0xdd, 0x08, 0x61, 0x54, 0x39, 0x2f, 0x9e, 0xad, 0x8b, 0x5f, 0xb5, 0x73, - 0x6e, 0xc7, 0x0f, 0xd1, 0x06, 0xfd, 0x97, 0xe1, 0x6a, 0x17, 0x3d, 0x14, 0x77, 0x50, 0xbc, 0xd1, - 0x89, 0xdb, 0x1b, 0xfd, 0x4d, 0xf2, 0x1f, 0x7f, 0x71, 0x89, 0xbd, 0x78, 0x4e, 0x57, 0x1b, 0x6c, - 0xc1, 0x5f, 0xcd, 0xb5, 0x51, 0x1b, 0xb1, 0xe7, 0xe4, 0x17, 0x7f, 0xba, 0xa0, 0x93, 0xa7, 0xeb, - 0x46, 0x6e, 0x27, 0xd9, 0x37, 0xcf, 0x79, 0x35, 0xdd, 0x18, 0x6e, 0xf4, 0x37, 0x9b, 0x10, 0xbb, - 0x9b, 0x1b, 0x1e, 0xf2, 0x43, 0x1b, 0x85, 0x3e, 0xc2, 0x7e, 0x98, 0x08, 0x75, 0x55, 0x87, 0xe8, - 0xb8, 0xd8, 0x3b, 0xe0, 0x80, 0x6b, 0x3a, 0x80, 0x87, 0x7a, 0xa1, 0xe7, 0x07, 0x42, 0x0a, 0x1d, - 0xc4, 0x8d, 0x5a, 0xfc, 0xfd, 0x8a, 0x56, 0x8f, 0x08, 0xb5, 0x7a, 0x1e, 0x7e, 0xde, 0x82, 0xd8, - 0xf5, 0x03, 0xae, 0x50, 0xfd, 0x6f, 0x25, 0x70, 0x66, 0x37, 0x6e, 0x7f, 0xdc, 0x6d, 0xb9, 0x18, - 0x3e, 0xa1, 0xaa, 0x56, 0xee, 0x81, 0x69, 0xb7, 0x87, 0x0f, 0x50, 0xe4, 0xe3, 0xe3, 0x6a, 0x69, - 0xa1, 0xb4, 0x3c, 0xdd, 0xa8, 0x7e, 0xf3, 0x97, 0x5b, 0x73, 0xdc, 0x82, 0x5b, 0xad, 0x56, 0x04, - 0xe3, 0x78, 0x0f, 0x47, 0x7e, 0xd8, 0x76, 0x52, 0x68, 0xe5, 0x03, 0x30, 0xc9, 0x8c, 0x55, 0x1d, - 0x5b, 0x28, 0x2d, 0x9f, 0xba, 0x7d, 0x79, 0x5d, 0xf3, 0x05, 0xd7, 0x19, 0x93, 0xc6, 0xf4, 0x57, - 0xff, 0xba, 0x7a, 0xe2, 0xcb, 0x37, 0x2f, 0x57, 0x4b, 0x0e, 0xdf, 0xf5, 0xf0, 0xc1, 0x17, 0x6f, - 0x5e, 0xae, 0xa6, 0xf4, 0x7e, 0xf3, 0xe6, 0xe5, 0xea, 0x52, 0x2a, 0xff, 0xe7, 0x92, 0x2e, 0x8a, - 0xc4, 0xf5, 0x4b, 0xe0, 0xa2, 0xf2, 0xc8, 0x81, 0x71, 0x17, 0x85, 0x31, 0xac, 0xb7, 0xc1, 0x69, - 0xf2, 0x2a, 0x86, 0xd1, 0x76, 0x04, 0x5d, 0x0c, 0x2b, 0x55, 0x70, 0xd2, 0x23, 0xbf, 0x50, 0xc4, - 0x74, 0x73, 0x92, 0x25, 0x79, 0x13, 0xc2, 0x23, 0x02, 0xa5, 0x0a, 0x4c, 0x3b, 0xc9, 0xb2, 0x32, - 0x07, 0x26, 0xdc, 0xc0, 0x77, 0xe3, 0x6a, 0x99, 0x3e, 0x67, 0x8b, 0x87, 0x33, 0x44, 0xde, 0x64, - 0x77, 0xfd, 0x22, 0x78, 0x2b, 0xc3, 0x48, 0x48, 0xd0, 0x01, 0x67, 0x77, 0xe3, 0xf6, 0xb6, 0x1b, - 0xb5, 0xf6, 0xbc, 0x03, 0xd8, 0x81, 0x8d, 0xde, 0xb1, 0x45, 0x88, 0x4d, 0x50, 0x6e, 0xfa, 0x2d, - 0x6e, 0xc1, 0x4b, 0xeb, 0xdc, 0xe6, 0xc4, 0xdf, 0xd6, 0xb9, 0xbf, 0xad, 0x6f, 0x23, 0x3f, 0x6c, - 0x8c, 0x13, 0xfb, 0x39, 0x04, 0xab, 0xc8, 0x71, 0x1b, 0x54, 0x55, 0x76, 0x89, 0x28, 0x95, 0x0b, - 0x60, 0x92, 0x18, 0xf1, 0xc3, 0x16, 0xe5, 0x3a, 0xee, 0xf0, 0x55, 0xfd, 0xaf, 0x25, 0x50, 0x49, - 0x36, 0xb9, 0x7d, 0xb8, 0x8d, 0x42, 0x0c, 0x43, 0x6c, 0x91, 0x32, 0x25, 0x34, 0x26, 0x13, 0xa2, - 0x3b, 0xd8, 0x66, 0x6a, 0xaa, 0x19, 0x27, 0x59, 0x12, 0x13, 0x86, 0x08, 0xc3, 0xb8, 0x3a, 0xce, - 0x4c, 0x48, 0x17, 0x84, 0x8e, 0x1b, 0x61, 0x3f, 0xc6, 0xd5, 0x09, 0xfa, 0x98, 0xaf, 0x2a, 0x8b, - 0xe0, 0x74, 0xd3, 0x0d, 0xdc, 0xd0, 0x83, 0x5b, 0xa1, 0x77, 0x80, 0xa2, 0xea, 0xe4, 0x42, 0x69, - 0x79, 0xca, 0xc9, 0x3e, 0x54, 0x14, 0xdf, 0x01, 0xb5, 0x41, 0x1d, 0x84, 0xea, 0x37, 0xc0, 0xac, - 0xeb, 0x47, 0xad, 0x08, 0x75, 0xb7, 0x03, 0xd7, 0xef, 0x40, 0x66, 0x82, 0x29, 0x47, 0x79, 0x5a, - 0xff, 0x39, 0x38, 0xc5, 0xa9, 0x7c, 0x82, 0xac, 0xde, 0x72, 0x07, 0x8c, 0xf7, 0x11, 0x86, 0xfc, - 0x4b, 0x5d, 0xd5, 0xfa, 0xfa, 0x9e, 0x1f, 0xb6, 0x03, 0x48, 0x08, 0x39, 0x14, 0xac, 0x48, 0xfc, - 0x3e, 0x38, 0x2f, 0xf1, 0x1a, 0x5a, 0xd4, 0x0e, 0x3d, 0xba, 0x64, 0xfb, 0x0f, 0x23, 0x37, 0x8c, - 0xf7, 0x61, 0x34, 0xc2, 0x17, 0xab, 0x81, 0xa9, 0x08, 0x7a, 0xd0, 0xef, 0xc3, 0x88, 0x7b, 0xb7, - 0x58, 0x2b, 0xd2, 0xb2, 0x43, 0x26, 0xb3, 0x13, 0x2e, 0xfe, 0xeb, 0x12, 0x3d, 0x65, 0xe4, 0xdd, - 0x0e, 0x0a, 0xed, 0xa7, 0xcc, 0x24, 0xc8, 0x7d, 0x30, 0xe9, 0x76, 0x50, 0x8f, 0x7b, 0x4e, 0x01, - 0xdf, 0xe7, 0x70, 0xed, 0x31, 0x4c, 0x25, 0x11, 0x32, 0xfe, 0xaa, 0x04, 0xce, 0xf1, 0x37, 0x5b, - 0x11, 0x3e, 0x42, 0xd1, 0xe1, 0x56, 0xab, 0x35, 0x82, 0x9c, 0x73, 0x60, 0xc2, 0xef, 0xb8, 0x6d, - 0xc8, 0x1d, 0x9c, 0x2d, 0x08, 0x9d, 0xfd, 0x5e, 0x10, 0x6c, 0x45, 0x98, 0x3a, 0xf8, 0x94, 0x93, - 0x2c, 0x15, 0xf1, 0x2e, 0x83, 0x4b, 0x03, 0x42, 0x48, 0x91, 0xe2, 0x7c, 0xfa, 0xd2, 0x8f, 0xf1, - 0xf6, 0x81, 0x1b, 0xb6, 0x47, 0xb1, 0x65, 0x7a, 0xac, 0xca, 0xf2, 0xb1, 0x52, 0x64, 0x79, 0x1b, - 0x5c, 0xd6, 0xb0, 0x13, 0xd2, 0x7c, 0x9b, 0xc5, 0x04, 0x96, 0x79, 0x1c, 0xd8, 0xf6, 0x63, 0x6c, - 0xf3, 0x30, 0x85, 0xf8, 0x15, 0x76, 0x1a, 0xb3, 0xbb, 0x05, 0xed, 0x0f, 0xc0, 0x5c, 0xfa, 0x76, - 0x07, 0x46, 0xc3, 0x52, 0x9f, 0x07, 0x57, 0x74, 0xfb, 0x05, 0xfd, 0x6f, 0x4a, 0x60, 0x76, 0x37, - 0x6e, 0xef, 0x92, 0xbc, 0xea, 0xc0, 0x2e, 0x8a, 0xb0, 0x3d, 0xee, 0xd3, 0x04, 0x2c, 0xcc, 0x98, - 0x2c, 0x2b, 0x75, 0x30, 0xd3, 0x0d, 0xdc, 0x63, 0xd8, 0x22, 0x46, 0x8a, 0xb7, 0xaa, 0xe5, 0x85, - 0xf2, 0xf2, 0xb8, 0x93, 0x79, 0xa6, 0x60, 0x1a, 0xd5, 0xf1, 0x01, 0x4c, 0xa3, 0x72, 0x0f, 0x9c, - 0x44, 0x3d, 0xec, 0xa1, 0x0e, 0xa4, 0x71, 0x6e, 0xf6, 0xf6, 0x15, 0x6d, 0xb8, 0x78, 0xcc, 0x30, - 0x4e, 0x02, 0x56, 0x94, 0xae, 0x82, 0x0b, 0x59, 0x9d, 0x84, 0xba, 0x0e, 0x4b, 0x31, 0xcc, 0x1c, - 0xb9, 0x79, 0xce, 0xe0, 0x35, 0x0a, 0xb7, 0x1a, 0xcb, 0x23, 0x32, 0x4d, 0xc1, 0xef, 0xa7, 0x34, - 0x14, 0x48, 0x92, 0xc0, 0x68, 0xab, 0xdb, 0x45, 0xbe, 0x35, 0x67, 0xd0, 0x48, 0xc3, 0xc0, 0x3c, - 0xbf, 0x8a, 0xb5, 0xc2, 0xfa, 0x1a, 0xb8, 0x6a, 0x20, 0x2f, 0x24, 0xf8, 0xb2, 0x04, 0x66, 0x76, - 0xe3, 0xf6, 0x1e, 0xc4, 0xb9, 0xea, 0x56, 0xc0, 0x78, 0xe8, 0x76, 0x20, 0xe7, 0x49, 0x7f, 0x9b, - 0x0e, 0x48, 0x65, 0x01, 0x9c, 0x8a, 0x31, 0x8a, 0x8e, 0x9f, 0x46, 0x3e, 0x11, 0x93, 0xe5, 0x2a, - 0xf9, 0x11, 0xf9, 0xdc, 0x24, 0xa5, 0x45, 0x7e, 0xb3, 0x87, 0x51, 0x14, 0x57, 0x27, 0x16, 0xca, - 0xcb, 0xd3, 0x4e, 0xe6, 0x99, 0xa2, 0xcd, 0x05, 0xea, 0xeb, 0x42, 0x52, 0xa1, 0x02, 0xa4, 0x31, - 0x93, 0x3c, 0x27, 0x27, 0xd0, 0x1a, 0x8b, 0xe6, 0xc0, 0x44, 0x0c, 0xb1, 0xf8, 0x60, 0x6c, 0x21, - 0x7d, 0xc7, 0xb2, 0xe5, 0x3b, 0xb2, 0x80, 0x98, 0xb2, 0x11, 0xfc, 0x0f, 0xa8, 0xd3, 0xf0, 0x17, - 0x0e, 0xec, 0xa0, 0x3e, 0xfc, 0x3f, 0x89, 0xc0, 0x5c, 0x29, 0xc3, 0x49, 0x92, 0x22, 0xb1, 0x4e, - 0x6a, 0xc1, 0x51, 0x8c, 0x51, 0x01, 0xe3, 0xbd, 0x58, 0xe4, 0x30, 0xfa, 0x5b, 0x1b, 0x33, 0x06, - 0x38, 0x09, 0x49, 0x0e, 0xa9, 0x53, 0x67, 0xdf, 0x8f, 0x68, 0x96, 0x7c, 0x61, 0x98, 0x8b, 0xeb, - 0x98, 0x09, 0x79, 0x3e, 0xa2, 0x21, 0x6c, 0x0f, 0xe2, 0xef, 0xfa, 0xa1, 0x1b, 0xf8, 0x2f, 0x86, - 0x16, 0x43, 0x1b, 0x3e, 0x24, 0x7a, 0x82, 0xd3, 0x7e, 0xe2, 0x09, 0x85, 0x12, 0xa3, 0x5e, 0x65, - 0x6d, 0x5a, 0x34, 0xf9, 0x81, 0x26, 0xf7, 0xb5, 0x12, 0x6d, 0xf7, 0xc8, 0x61, 0x1b, 0x51, 0x02, - 0x7a, 0x50, 0x93, 0x22, 0x9d, 0x2e, 0x4c, 0x36, 0x48, 0xb8, 0x08, 0xfe, 0x3f, 0xa0, 0xd5, 0x41, - 0x03, 0x21, 0x92, 0x47, 0x9e, 0xb8, 0xde, 0xa1, 0xbd, 0x4c, 0x2f, 0x62, 0xf0, 0x6d, 0x9a, 0xeb, - 0xb3, 0x24, 0x87, 0x2e, 0xf2, 0x7e, 0xcb, 0x4a, 0xf3, 0x3d, 0x18, 0x04, 0x8f, 0xf7, 0xf7, 0x0b, - 0xdc, 0x62, 0x4c, 0x35, 0xc1, 0x5d, 0x30, 0xd1, 0x8d, 0x7c, 0x0f, 0x16, 0x2d, 0xaf, 0x18, 0x5a, - 0x9b, 0xd5, 0x15, 0x61, 0x84, 0x0d, 0x7f, 0x4c, 0x0b, 0x52, 0xf1, 0xd6, 0x6e, 0x41, 0x12, 0x6a, - 0x13, 0xa4, 0x10, 0x56, 0x7e, 0xa4, 0x2d, 0x3f, 0x65, 0xe2, 0x82, 0xef, 0xcf, 0xb2, 0x26, 0xca, - 0x3d, 0xb4, 0xc3, 0xb2, 0x56, 0xb4, 0x56, 0xce, 0xe9, 0x1f, 0x4b, 0xe2, 0x82, 0xe7, 0xb8, 0xe4, - 0xe2, 0xba, 0x07, 0xf1, 0x68, 0x75, 0x25, 0xf3, 0xa8, 0xb2, 0xec, 0xd4, 0xf7, 0xc1, 0x64, 0x44, - 0x89, 0xd2, 0x5c, 0x34, 0x6b, 0xb8, 0x67, 0xa4, 0xbc, 0x1d, 0x0e, 0xd7, 0x27, 0x73, 0x59, 0x44, - 0x21, 0xff, 0x1f, 0x4a, 0x72, 0xa6, 0x4f, 0x1e, 0x6f, 0xa3, 0x4e, 0xc7, 0xb7, 0xe9, 0x71, 0x05, - 0x4c, 0xf3, 0xae, 0x84, 0x50, 0x25, 0x7d, 0xc0, 0x92, 0x3d, 0xa3, 0x94, 0x5e, 0x2b, 0xb8, 0xeb, - 0xcf, 0x03, 0x10, 0xf7, 0xda, 0x6d, 0x18, 0x63, 0x1f, 0x85, 0x3c, 0xc7, 0x4a, 0x4f, 0x14, 0xd1, - 0xeb, 0x60, 0xc1, 0x24, 0x9d, 0x50, 0xe1, 0xcf, 0x5a, 0x15, 0x1c, 0xd8, 0x87, 0x6e, 0x30, 0xb2, - 0x0a, 0xdf, 0x52, 0x54, 0x98, 0xbd, 0xfd, 0xb6, 0xd6, 0xf8, 0x82, 0x5d, 0xaa, 0xe1, 0x05, 0x30, - 0x19, 0x43, 0x2f, 0x82, 0x98, 0x6b, 0xc7, 0x57, 0x45, 0x34, 0x63, 0x42, 0x0b, 0xcd, 0x9e, 0xb1, - 0x4b, 0x8b, 0xc0, 0x60, 0x37, 0x1a, 0xf9, 0xa3, 0xe8, 0xaf, 0x22, 0x19, 0xd2, 0x82, 0xef, 0xdf, - 0x59, 0x5f, 0x88, 0xd6, 0x60, 0xdb, 0x28, 0xdc, 0xf7, 0xa3, 0xce, 0x48, 0x15, 0xb4, 0x54, 0xf9, - 0x96, 0x87, 0xa8, 0x7c, 0x2b, 0xdf, 0x01, 0x80, 0x5c, 0x98, 0x59, 0x01, 0x4d, 0x6b, 0xea, 0x02, - 0x77, 0x6c, 0x69, 0x8b, 0x36, 0x78, 0xc8, 0xda, 0x08, 0x4d, 0xf7, 0xa8, 0x85, 0x9f, 0x44, 0x68, - 0xdf, 0x0f, 0x20, 0xed, 0x1e, 0x8c, 0x72, 0x7c, 0xb5, 0xb6, 0xcd, 0x12, 0x15, 0x1c, 0x7f, 0x44, - 0x4b, 0x1e, 0xfe, 0xf2, 0x29, 0x6c, 0xc6, 0x3e, 0x86, 0x76, 0xa6, 0x55, 0x70, 0xf2, 0x88, 0xe1, - 0x92, 0xce, 0x14, 0x5f, 0x6a, 0x4b, 0x9c, 0x01, 0xca, 0x82, 0xf3, 0xf7, 0x69, 0xa4, 0xe2, 0xef, - 0x1b, 0x3e, 0xb2, 0x73, 0x3d, 0x0b, 0xca, 0x4d, 0x1f, 0x71, 0x8e, 0xe4, 0xa7, 0x36, 0xa8, 0x64, - 0xa8, 0x09, 0x4e, 0x4d, 0x1a, 0x92, 0xa5, 0xdc, 0xf7, 0xb8, 0x0b, 0x43, 0x0b, 0xaf, 0x45, 0x70, - 0xba, 0x99, 0x82, 0x85, 0x75, 0xb3, 0x0f, 0x15, 0xfe, 0xf7, 0x68, 0x58, 0x56, 0x78, 0x88, 0x04, - 0x4b, 0x78, 0xd1, 0x4f, 0x13, 0x57, 0x4b, 0xf4, 0x4a, 0x96, 0x2c, 0xeb, 0x5f, 0x94, 0x68, 0x15, - 0x20, 0x6d, 0x2c, 0xd0, 0x3f, 0x29, 0x24, 0xe0, 0x10, 0xdd, 0x94, 0x05, 0x30, 0xaf, 0x97, 0x41, - 0x98, 0xb0, 0x9f, 0x54, 0xc6, 0x7b, 0xe9, 0xf5, 0xc3, 0xfe, 0xc1, 0xf4, 0x75, 0x91, 0x72, 0xa7, - 0x29, 0x0f, 0xdc, 0x69, 0x4c, 0x75, 0x72, 0x96, 0xaf, 0xd4, 0x51, 0x3d, 0x23, 0xaa, 0x38, 0x3f, - 0xc6, 0xa3, 0x88, 0x54, 0xac, 0x3f, 0x91, 0x64, 0xfc, 0x94, 0x91, 0x90, 0xe1, 0x33, 0x91, 0x72, - 0xc9, 0xc1, 0xdf, 0xed, 0x05, 0xd8, 0xb7, 0x08, 0x71, 0x17, 0x4c, 0xf4, 0x69, 0xef, 0x71, 0xac, - 0x58, 0x1c, 0x61, 0x68, 0x45, 0x9a, 0x86, 0x48, 0xa1, 0x82, 0xe5, 0xd0, 0xc5, 0xdc, 0x9f, 0xd8, - 0xad, 0x95, 0xc6, 0xa1, 0x9c, 0x03, 0x51, 0x05, 0x27, 0x69, 0x0b, 0x21, 0xda, 0x4a, 0x8e, 0x3c, - 0x5f, 0xa6, 0x6f, 0x1a, 0xdc, 0x7a, 0xc9, 0x92, 0x7c, 0x69, 0x0e, 0xda, 0x81, 0xde, 0x21, 0xef, - 0x44, 0xc8, 0x8f, 0x52, 0x44, 0x83, 0x22, 0x26, 0x64, 0x04, 0x7d, 0xa4, 0x28, 0xfd, 0x2e, 0xf5, - 0x41, 0x21, 0xaf, 0x7c, 0xb8, 0x92, 0x80, 0x5f, 0xca, 0x04, 0xfc, 0xba, 0x9b, 0xdc, 0x6a, 0x3f, - 0x72, 0x3b, 0x70, 0x14, 0xdf, 0x48, 0xae, 0xeb, 0xe5, 0xf4, 0xba, 0x6e, 0xba, 0xd1, 0x72, 0x16, - 0x52, 0x1b, 0xa4, 0x92, 0x06, 0xa4, 0xad, 0xc0, 0x77, 0xe3, 0x5c, 0x01, 0x58, 0x5b, 0x7f, 0xcc, - 0xdc, 0xd6, 0x67, 0xb5, 0x9f, 0x42, 0x53, 0xe2, 0x48, 0xec, 0xf3, 0xc8, 0x8d, 0x82, 0xe3, 0x2d, - 0xcf, 0x83, 0x71, 0xfc, 0x61, 0xd8, 0xf7, 0xf3, 0xba, 0x11, 0xbd, 0x74, 0xc2, 0x60, 0xbe, 0xa7, - 0x0e, 0xd0, 0x94, 0x12, 0x16, 0x39, 0x7f, 0x9f, 0x42, 0x37, 0x38, 0xde, 0x46, 0x61, 0x08, 0xbd, - 0x9c, 0xcc, 0xf1, 0x82, 0x20, 0xb9, 0x95, 0xa7, 0x9d, 0x64, 0xa9, 0x3d, 0x6b, 0x32, 0x51, 0xc1, - 0xef, 0xf7, 0x63, 0xd4, 0xac, 0x8f, 0x42, 0x52, 0x48, 0xe0, 0x02, 0x37, 0x10, 0x5d, 0xc3, 0xa5, - 0x06, 0xa6, 0x5a, 0x91, 0x7b, 0x14, 0xb0, 0x33, 0x4f, 0xbc, 0x4e, 0xac, 0x2b, 0x4f, 0x01, 0xa0, - 0x13, 0x20, 0x88, 0x61, 0x94, 0xe4, 0xfa, 0xfb, 0xda, 0x33, 0x3a, 0x28, 0x06, 0x1b, 0x27, 0xd1, - 0x9d, 0x8f, 0x42, 0x1c, 0x1d, 0x3b, 0x12, 0xa9, 0xf4, 0x4e, 0x3a, 0x21, 0xdd, 0x49, 0x6b, 0xef, - 0x83, 0x33, 0xca, 0x26, 0x92, 0xe9, 0x0e, 0x21, 0x9f, 0x75, 0x39, 0xe4, 0x27, 0xd9, 0xda, 0x77, - 0x83, 0x5e, 0xa2, 0x04, 0x5b, 0x3c, 0x1c, 0x7b, 0x50, 0xd2, 0xba, 0x87, 0x22, 0x94, 0x30, 0x5d, - 0x48, 0x2f, 0xb5, 0xe2, 0xed, 0x0e, 0xb2, 0x5f, 0x4a, 0x60, 0x02, 0x4c, 0x2f, 0x25, 0xd2, 0xa3, - 0x02, 0x5d, 0x05, 0x76, 0xbd, 0x95, 0xf8, 0xa9, 0xdd, 0xef, 0x54, 0xd0, 0x00, 0xc5, 0xf0, 0x7f, - 0x2d, 0x0d, 0xb1, 0xe3, 0x11, 0x2f, 0xe9, 0xa7, 0x1c, 0xf2, 0x53, 0x5b, 0x16, 0x65, 0x85, 0x10, - 0x22, 0xfa, 0x6c, 0xbe, 0x40, 0x2d, 0xf8, 0x84, 0x0d, 0x2b, 0x77, 0xd8, 0xac, 0x72, 0x48, 0x5f, - 0xab, 0x80, 0xf1, 0x16, 0x8c, 0xbd, 0x44, 0x32, 0xf2, 0x5b, 0x91, 0x63, 0x93, 0x76, 0x5f, 0x74, - 0xac, 0x44, 0x84, 0x9b, 0x05, 0x63, 0x7e, 0x12, 0xdc, 0xc6, 0xfc, 0x56, 0xfd, 0x58, 0x1e, 0x31, - 0x16, 0x95, 0x8e, 0x11, 0x19, 0x4b, 0x88, 0xe8, 0x62, 0x9b, 0x90, 0x76, 0xdc, 0x28, 0x2d, 0xeb, - 0x15, 0xe9, 0x58, 0x4b, 0xdd, 0x0b, 0x22, 0xdd, 0x0e, 0x0c, 0xe0, 0xe8, 0xd2, 0x69, 0xb9, 0xea, - 0x48, 0x0a, 0xae, 0x1f, 0x53, 0xae, 0x52, 0xa4, 0xda, 0xf1, 0x63, 0xff, 0xbf, 0x0f, 0x80, 0x8c, - 0xb3, 0x8e, 0x6c, 0xc2, 0xf9, 0xf6, 0x3f, 0x57, 0x41, 0x79, 0x37, 0x6e, 0x57, 0x9a, 0x60, 0x26, - 0x33, 0xba, 0x5e, 0x34, 0x85, 0x0d, 0x19, 0x55, 0x5b, 0x2b, 0x82, 0x12, 0x9e, 0xf0, 0x13, 0x00, - 0xa4, 0xf1, 0x71, 0xdd, 0xb8, 0x57, 0x60, 0x6a, 0xab, 0xf9, 0x18, 0x41, 0x1d, 0x82, 0xd3, 0xd9, - 0xd1, 0xf0, 0x92, 0x69, 0x73, 0x06, 0x56, 0xbb, 0x55, 0x08, 0x26, 0xd8, 0x1c, 0x82, 0x33, 0xea, - 0x74, 0xf7, 0xa6, 0x95, 0x42, 0x0a, 0xac, 0x6d, 0x14, 0x04, 0x0a, 0x66, 0x9f, 0x80, 0x29, 0x31, - 0x40, 0x5d, 0xb0, 0x6d, 0x26, 0x88, 0xda, 0x72, 0x1e, 0x42, 0xd0, 0x6d, 0x82, 0x99, 0xcc, 0xb4, - 0x73, 0xd1, 0xb6, 0x33, 0x41, 0x99, 0xbf, 0xb6, 0x6e, 0x94, 0x49, 0xbe, 0xb6, 0x34, 0xc6, 0xac, - 0xdb, 0xf6, 0x32, 0x8c, 0xf9, 0x6b, 0x0f, 0x0e, 0x21, 0x2b, 0x07, 0x60, 0x56, 0x19, 0x40, 0xde, - 0xb0, 0xed, 0x4e, 0x71, 0xb5, 0xf5, 0x62, 0x38, 0xc1, 0x29, 0x04, 0x67, 0x07, 0x06, 0x89, 0xcb, - 0x39, 0x34, 0x04, 0xb2, 0xf6, 0x6e, 0x51, 0x64, 0xc6, 0xc1, 0x94, 0x51, 0xa1, 0xd9, 0xc1, 0xb2, - 0x40, 0x8b, 0x83, 0xe9, 0xc7, 0x87, 0x95, 0xcf, 0xc0, 0xb9, 0xc1, 0xd9, 0xe1, 0x4a, 0x0e, 0x95, - 0x14, 0x5a, 0xdb, 0x2c, 0x0c, 0x15, 0x2c, 0x9f, 0x83, 0x53, 0xf2, 0x34, 0xf1, 0xba, 0x89, 0x82, - 0x04, 0xaa, 0xbd, 0x53, 0x00, 0x94, 0x09, 0x04, 0x99, 0x01, 0xde, 0x52, 0x8e, 0x90, 0x3c, 0xd8, - 0xdc, 0x2a, 0x04, 0x13, 0x6c, 0x5e, 0x80, 0x39, 0xed, 0xdc, 0x6e, 0xad, 0x80, 0xac, 0x02, 0x5d, - 0x7b, 0x6f, 0x18, 0xb4, 0xe0, 0xfd, 0x0c, 0x4c, 0xa7, 0x03, 0xbb, 0x6b, 0x26, 0x12, 0x02, 0x52, - 0x5b, 0xc9, 0x85, 0xc8, 0xc7, 0x56, 0x9a, 0xa4, 0xd5, 0x6d, 0x1b, 0x19, 0xc6, 0x7c, 0x6c, 0x07, - 0x47, 0x65, 0xe4, 0xdb, 0x64, 0xe7, 0x64, 0x4b, 0x39, 0x9b, 0x19, 0xcc, 0xfc, 0x6d, 0xb4, 0xb3, - 0x30, 0xe2, 0xd6, 0x83, 0x83, 0x30, 0xab, 0x11, 0x32, 0x50, 0xb3, 0x5b, 0x1b, 0x87, 0x5e, 0xc4, - 0x1d, 0xb4, 0x13, 0xaf, 0xb5, 0x62, 0xa4, 0xb8, 0x9e, 0xef, 0x0d, 0x83, 0x96, 0x8f, 0x94, 0x3c, - 0xdd, 0xba, 0x6e, 0x21, 0x92, 0x80, 0xcc, 0x47, 0x4a, 0x33, 0xd7, 0xe2, 0x9f, 0x4d, 0x0a, 0xb6, - 0xb6, 0xcf, 0x26, 0xc5, 0xda, 0x5b, 0x85, 0x60, 0x8a, 0x1e, 0x62, 0x6e, 0x65, 0xd3, 0x23, 0x01, - 0x59, 0xf5, 0x50, 0x67, 0x53, 0x24, 0x6b, 0x28, 0x83, 0x29, 0x63, 0xd6, 0xc8, 0xe2, 0xcc, 0x59, - 0xc3, 0x30, 0x95, 0x3a, 0x04, 0x67, 0xd4, 0x49, 0xd3, 0x4d, 0xb3, 0xa4, 0x19, 0xa0, 0x39, 0x8a, - 0x1b, 0xc6, 0x45, 0x24, 0x9d, 0x67, 0x66, 0x45, 0x8b, 0xb9, 0x04, 0x88, 0x4a, 0x6b, 0x45, 0x50, - 0x5a, 0x85, 0xb8, 0x6b, 0xe7, 0x2b, 0xc4, 0xbd, 0x7a, 0xa3, 0x20, 0x50, 0xad, 0xe5, 0xd2, 0x29, - 0x90, 0xb5, 0x96, 0x13, 0x30, 0x7b, 0x2d, 0x37, 0x30, 0xb0, 0xa9, 0xfc, 0x02, 0xbc, 0xa5, 0x1f, - 0xd6, 0xdc, 0xca, 0xcd, 0xa3, 0x32, 0xbc, 0x76, 0x77, 0x28, 0xb8, 0x85, 0x3d, 0x1f, 0xb4, 0x14, - 0x65, 0xcf, 0xe0, 0x85, 0xd9, 0x67, 0x27, 0x22, 0xb4, 0x84, 0xca, 0x8e, 0x43, 0x6e, 0xe4, 0x13, - 0x22, 0x38, 0x4b, 0x09, 0xa5, 0x9d, 0x81, 0x10, 0xff, 0xcc, 0xcc, 0x3f, 0x16, 0xad, 0x49, 0x8f, - 0xa3, 0x6a, 0x6b, 0x45, 0x50, 0xb2, 0x36, 0xca, 0xe8, 0xc1, 0xa8, 0x4d, 0x16, 0x67, 0xd6, 0x46, - 0x3f, 0x75, 0x20, 0xc9, 0x65, 0x70, 0xe4, 0xb0, 0x92, 0x43, 0x24, 0x85, 0x9a, 0x93, 0x8b, 0x71, - 0xdc, 0x40, 0xce, 0x43, 0x76, 0xd6, 0xb0, 0x94, 0x43, 0x83, 0xc1, 0xcc, 0xe7, 0x41, 0x3b, 0x6b, - 0x20, 0x67, 0x5c, 0x1d, 0x34, 0xdc, 0x2c, 0x10, 0xf7, 0x08, 0xd0, 0x7c, 0xc6, 0x4d, 0x63, 0x85, - 0x23, 0x70, 0x5e, 0x37, 0x38, 0x78, 0xa7, 0x00, 0x1d, 0x71, 0x23, 0xb9, 0x33, 0x04, 0x58, 0x29, - 0x0e, 0x94, 0x59, 0xc0, 0x4a, 0x5e, 0x1a, 0x11, 0x50, 0x6b, 0x71, 0xa0, 0xef, 0xf4, 0xb3, 0x00, - 0x2d, 0xb5, 0xf9, 0x17, 0xed, 0x79, 0x91, 0xa1, 0x6c, 0x01, 0x7a, 0xb0, 0x93, 0x9f, 0xc4, 0xcc, - 0xb4, 0x8d, 0xbf, 0x94, 0x77, 0x1d, 0xa4, 0x30, 0x7b, 0xcc, 0x1c, 0xec, 0xd0, 0x3f, 0x03, 0xd3, - 0x69, 0xd7, 0xfd, 0x9a, 0xf5, 0x88, 0x52, 0xbf, 0x58, 0xc9, 0x85, 0x28, 0xa5, 0x67, 0xd2, 0xee, - 0xb6, 0x95, 0x9e, 0x1c, 0x63, 0x2d, 0x3d, 0x95, 0x9e, 0x36, 0x71, 0x6e, 0xb5, 0xa1, 0x7d, 0x33, - 0xe7, 0x78, 0x24, 0x40, 0xb3, 0x73, 0x1b, 0xda, 0xd9, 0xc4, 0xc7, 0x06, 0x7b, 0xd9, 0x46, 0x53, - 0x0c, 0x40, 0xcd, 0x3e, 0x66, 0xec, 0x66, 0x13, 0x1f, 0xcb, 0xb4, 0xb2, 0x8d, 0x3e, 0x26, 0xa3, - 0xcc, 0x3e, 0xa6, 0xeb, 0x60, 0x13, 0x1b, 0xaa, 0xdd, 0xeb, 0x9b, 0x05, 0xfb, 0xcb, 0x66, 0x1b, - 0x1a, 0x7a, 0xbe, 0xa4, 0x1a, 0x94, 0x1b, 0xbe, 0xd7, 0x73, 0xf7, 0xef, 0x20, 0x73, 0x35, 0xa8, - 0x69, 0xe5, 0x92, 0x94, 0xa1, 0xb4, 0x71, 0x6f, 0xe4, 0xcb, 0x48, 0x70, 0xe6, 0x94, 0xa1, 0xef, - 0xc8, 0x92, 0xcb, 0x81, 0xb6, 0x1d, 0x6b, 0xee, 0xa8, 0x68, 0xd0, 0xe6, 0xcb, 0x81, 0xb5, 0xff, - 0xfa, 0x02, 0xcc, 0x69, 0x9b, 0xad, 0x79, 0xbd, 0xbb, 0x82, 0xbc, 0x6d, 0xdd, 0x54, 0xc2, 0x5b, - 0xdb, 0x4a, 0x35, 0xf2, 0xd6, 0xa1, 0xcd, 0xbc, 0x6d, 0x3d, 0x55, 0xc2, 0x5b, 0xdb, 0x50, 0x5d, - 0x2b, 0x70, 0xb4, 0x04, 0xda, 0xcc, 0xdb, 0xd6, 0x55, 0xad, 0x4d, 0xfc, 0xf2, 0xcd, 0xcb, 0xd5, - 0x52, 0xc3, 0xf9, 0xea, 0xd5, 0x7c, 0xe9, 0xeb, 0x57, 0xf3, 0xa5, 0x7f, 0xbf, 0x9a, 0x2f, 0xfd, - 0xee, 0xf5, 0xfc, 0x89, 0xaf, 0x5f, 0xcf, 0x9f, 0xf8, 0xc7, 0xeb, 0xf9, 0x13, 0x9f, 0x3e, 0x68, - 0xfb, 0xf8, 0xa0, 0xd7, 0x5c, 0xf7, 0x50, 0x67, 0x63, 0x07, 0x7a, 0x30, 0xc4, 0x91, 0x1b, 0x90, - 0x80, 0xfb, 0x3d, 0xb7, 0x03, 0x37, 0xf4, 0x7f, 0xab, 0x83, 0x8f, 0xbb, 0x30, 0x6e, 0x4e, 0xd2, - 0x3f, 0x37, 0xba, 0xf3, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9e, 0xc8, 0x75, 0xcf, 0xf3, 0x35, - 0x00, 0x00, + 0x15, 0xf7, 0x8a, 0x92, 0x2c, 0x8d, 0x65, 0x39, 0xa6, 0x15, 0x9b, 0x5e, 0x3b, 0xb2, 0x4c, 0x4b, + 0x96, 0xec, 0xc8, 0x62, 0x2c, 0xc7, 0x1f, 0x35, 0x9a, 0x14, 0xa2, 0xe4, 0x16, 0x01, 0xaa, 0xd8, + 0x5d, 0x35, 0x71, 0x9d, 0x7e, 0x04, 0xcb, 0xe5, 0x88, 0xda, 0x6a, 0xb9, 0xc3, 0xec, 0x2e, 0xa9, + 0xc8, 0x40, 0x81, 0x22, 0xbd, 0x14, 0xed, 0xa5, 0xe7, 0xa2, 0x97, 0xde, 0x72, 0x2a, 0x0c, 0xb4, + 0x7f, 0x41, 0x7b, 0xc9, 0xa1, 0x87, 0x20, 0xa7, 0x9e, 0x8a, 0xc2, 0x06, 0xea, 0x7f, 0xa3, 0x98, + 0x8f, 0x9d, 0x9d, 0x1d, 0xce, 0xcc, 0x2e, 0xd9, 0xf6, 0x62, 0x73, 0x66, 0x7f, 0xf3, 0xbe, 0xe6, + 0xcd, 0xbc, 0x37, 0xef, 0x41, 0xe0, 0xb2, 0xe7, 0x46, 0x6d, 0xef, 0xc0, 0xf5, 0xc3, 0x46, 0xf6, + 0x2b, 0xf9, 0x7c, 0xa3, 0x17, 0xa1, 0x04, 0x55, 0xcf, 0xf1, 0xb9, 0x0d, 0xfe, 0xcb, 0x3e, 0xeb, + 0x76, 0xfd, 0x10, 0x35, 0xc8, 0xbf, 0x14, 0x67, 0x5f, 0xf0, 0x50, 0xdc, 0x45, 0x71, 0xa3, 0x1b, + 0x77, 0x1a, 0x83, 0xdb, 0xf8, 0x3f, 0xf6, 0xe1, 0x22, 0xfd, 0xf0, 0x29, 0x19, 0x35, 0xe8, 0x80, + 0x7d, 0x5a, 0xe8, 0xa0, 0x0e, 0xa2, 0xf3, 0xf8, 0x17, 0x9b, 0x5d, 0x52, 0xc9, 0xd3, 0x73, 0x23, + 0xb7, 0x9b, 0xae, 0x5b, 0x64, 0xbc, 0x5a, 0x6e, 0x0c, 0x1b, 0x83, 0xdb, 0x2d, 0x98, 0xb8, 0xb7, + 0x1b, 0x1e, 0xf2, 0x43, 0x13, 0x85, 0x01, 0x4a, 0xfc, 0x30, 0x15, 0xea, 0x8a, 0x0a, 0xd1, 0x75, + 0x13, 0xef, 0x80, 0x01, 0xae, 0xaa, 0x00, 0x1e, 0xea, 0x87, 0x9e, 0x1f, 0x70, 0x29, 0x54, 0x10, + 0x37, 0x6a, 0xd3, 0xef, 0xf5, 0xbf, 0x59, 0xe0, 0xcc, 0x6e, 0xdc, 0xf9, 0xa8, 0xd7, 0x76, 0x13, + 0xf8, 0x84, 0xc8, 0x5f, 0xbd, 0x07, 0x66, 0xdd, 0x7e, 0x72, 0x80, 0x22, 0x3f, 0x39, 0xae, 0x59, + 0x4b, 0xd6, 0xda, 0x6c, 0xb3, 0xf6, 0xcd, 0x5f, 0x6e, 0x2d, 0x30, 0xb3, 0x6c, 0xb5, 0xdb, 0x11, + 0x8c, 0xe3, 0xbd, 0x24, 0xf2, 0xc3, 0x8e, 0x93, 0x41, 0xab, 0xef, 0x83, 0x69, 0x6a, 0x81, 0xda, + 0xc4, 0x92, 0xb5, 0x76, 0x6a, 0xf3, 0xd2, 0x86, 0x62, 0x5b, 0x36, 0x28, 0x93, 0xe6, 0xec, 0x57, + 0xff, 0xbc, 0x72, 0xe2, 0xcb, 0xd7, 0x2f, 0x6e, 0x5a, 0x0e, 0x5b, 0xf5, 0xf0, 0xc1, 0x17, 0xaf, + 0x5f, 0xdc, 0xcc, 0xe8, 0xfd, 0xe6, 0xf5, 0x8b, 0x9b, 0x2b, 0x99, 0xd0, 0x9f, 0x0b, 0x0a, 0x48, + 0x12, 0xd7, 0x2f, 0x82, 0x0b, 0xd2, 0x94, 0x03, 0xe3, 0x1e, 0x0a, 0x63, 0x58, 0xef, 0x80, 0xd3, + 0xf8, 0x53, 0x0c, 0xa3, 0xed, 0x08, 0xba, 0x09, 0xac, 0xd6, 0xc0, 0x49, 0x0f, 0xff, 0x42, 0x11, + 0xd5, 0xcd, 0x49, 0x87, 0xf8, 0x4b, 0x08, 0x8f, 0x30, 0x94, 0x28, 0x30, 0xeb, 0xa4, 0xc3, 0xea, + 0x02, 0x98, 0x72, 0x03, 0xdf, 0x8d, 0x6b, 0x15, 0x32, 0x4f, 0x07, 0x0f, 0xe7, 0xb0, 0xbc, 0xe9, + 0xea, 0xfa, 0x05, 0xf0, 0x66, 0x8e, 0x11, 0x97, 0xa0, 0x0b, 0xde, 0xd8, 0x8d, 0x3b, 0xdb, 0x6e, + 0xd4, 0xde, 0xf3, 0x0e, 0x60, 0x17, 0x36, 0xfb, 0xc7, 0x06, 0x21, 0x6e, 0x83, 0x4a, 0xcb, 0x6f, + 0x33, 0x0b, 0x5e, 0xdc, 0x60, 0x36, 0xc7, 0x4e, 0xb4, 0xc1, 0x9c, 0x68, 0x63, 0x1b, 0xf9, 0x61, + 0x73, 0x12, 0xdb, 0xcf, 0xc1, 0x58, 0x49, 0x8e, 0x4d, 0x50, 0x93, 0xd9, 0xa5, 0xa2, 0x54, 0xcf, + 0x83, 0x69, 0x6c, 0xc4, 0x0f, 0xda, 0x84, 0xeb, 0xa4, 0xc3, 0x46, 0xf5, 0xbf, 0x5a, 0xa0, 0x9a, + 0x2e, 0x72, 0x07, 0x70, 0x1b, 0x85, 0x09, 0x0c, 0x13, 0x83, 0x94, 0x19, 0xa1, 0x09, 0x91, 0x10, + 0x59, 0x41, 0x17, 0x13, 0x53, 0xcd, 0x39, 0xe9, 0x10, 0x9b, 0x30, 0x44, 0x09, 0x8c, 0x6b, 0x93, + 0xd4, 0x84, 0x64, 0x80, 0xe9, 0xb8, 0x51, 0xe2, 0xc7, 0x49, 0x6d, 0x8a, 0x4c, 0xb3, 0x51, 0x75, + 0x19, 0x9c, 0x6e, 0xb9, 0x81, 0x1b, 0x7a, 0x70, 0x2b, 0xf4, 0x0e, 0x50, 0x54, 0x9b, 0x5e, 0xb2, + 0xd6, 0x66, 0x9c, 0xfc, 0xa4, 0xa4, 0xf8, 0x0e, 0xb0, 0x87, 0x75, 0xe0, 0xaa, 0x5f, 0x07, 0xf3, + 0xae, 0x1f, 0xb5, 0x23, 0xd4, 0xdb, 0x0e, 0x5c, 0xbf, 0x0b, 0xa9, 0x09, 0x66, 0x1c, 0x69, 0xb6, + 0xfe, 0x73, 0x70, 0x8a, 0x51, 0xf9, 0x18, 0x19, 0xbd, 0xe5, 0x0e, 0x98, 0x1c, 0xa0, 0x04, 0xb2, + 0x9d, 0xba, 0xa2, 0xf4, 0xf5, 0x3d, 0x3f, 0xec, 0x04, 0x10, 0x13, 0x72, 0x08, 0x58, 0x92, 0xf8, + 0x3d, 0x70, 0x4e, 0xe0, 0x35, 0xb2, 0xa8, 0x5d, 0x72, 0x74, 0xf1, 0xf2, 0x1f, 0x46, 0x6e, 0x18, + 0xef, 0xc3, 0x68, 0x8c, 0x1d, 0xb3, 0xc1, 0x4c, 0x04, 0x3d, 0xe8, 0x0f, 0x60, 0xc4, 0xbc, 0x9b, + 0x8f, 0x25, 0x69, 0xe9, 0x21, 0x13, 0xd9, 0x71, 0x17, 0xff, 0xb5, 0x45, 0x4e, 0x19, 0xfe, 0xb6, + 0x83, 0x42, 0xf3, 0x29, 0xd3, 0x09, 0x72, 0x1f, 0x4c, 0xbb, 0x5d, 0xd4, 0x67, 0x9e, 0x53, 0xc2, + 0xf7, 0x19, 0x5c, 0x79, 0x0c, 0x33, 0x49, 0xb8, 0x8c, 0xbf, 0xb2, 0xc0, 0x59, 0xf6, 0x65, 0x2b, + 0x4a, 0x8e, 0x50, 0x74, 0xb8, 0xd5, 0x6e, 0x8f, 0x21, 0xe7, 0x02, 0x98, 0xf2, 0xbb, 0x6e, 0x07, + 0x32, 0x07, 0xa7, 0x03, 0x4c, 0x67, 0xbf, 0x1f, 0x04, 0x5b, 0x51, 0x42, 0x1c, 0x7c, 0xc6, 0x49, + 0x87, 0x92, 0x78, 0x97, 0xc0, 0xc5, 0x21, 0x21, 0x84, 0x9b, 0xe2, 0x5c, 0xf6, 0xd1, 0x8f, 0x93, + 0xed, 0x03, 0x37, 0xec, 0x8c, 0x63, 0xcb, 0xec, 0x58, 0x55, 0xc4, 0x63, 0x25, 0xc9, 0xf2, 0x16, + 0xb8, 0xa4, 0x60, 0xc7, 0xa5, 0xf9, 0x36, 0xbd, 0x13, 0x68, 0x38, 0x71, 0x60, 0xc7, 0x8f, 0x13, + 0x93, 0x87, 0x49, 0xc4, 0x2f, 0xd3, 0xd3, 0x98, 0x5f, 0xcd, 0x69, 0xbf, 0x0f, 0x16, 0xb2, 0xaf, + 0x3b, 0x30, 0x1a, 0x95, 0xfa, 0x22, 0xb8, 0xac, 0x5a, 0xcf, 0xe9, 0x7f, 0x63, 0x81, 0xf9, 0xdd, + 0xb8, 0xb3, 0x8b, 0x83, 0xa5, 0x03, 0x7b, 0x28, 0x4a, 0xcc, 0xf7, 0x3e, 0x89, 0xaa, 0xdc, 0x8c, + 0xe9, 0xb0, 0x5a, 0x07, 0x73, 0xbd, 0xc0, 0x3d, 0x86, 0x6d, 0x6c, 0xa4, 0x78, 0xab, 0x56, 0x59, + 0xaa, 0xac, 0x4d, 0x3a, 0xb9, 0x39, 0x09, 0xd3, 0xac, 0x4d, 0x0e, 0x61, 0x9a, 0xd5, 0x7b, 0xe0, + 0x24, 0xea, 0x27, 0x1e, 0xea, 0x42, 0x72, 0xcf, 0xcd, 0x6f, 0x5e, 0x56, 0x5e, 0x17, 0x8f, 0x29, + 0xc6, 0x49, 0xc1, 0x92, 0xd2, 0x35, 0x70, 0x3e, 0xaf, 0x13, 0x57, 0xd7, 0xa1, 0x21, 0x86, 0x9a, + 0xa3, 0x30, 0xce, 0x69, 0xbc, 0x46, 0xe2, 0x66, 0xd3, 0x38, 0x22, 0xd2, 0xe4, 0xfc, 0x7e, 0x4a, + 0xae, 0x02, 0x41, 0x12, 0x18, 0x6d, 0xf5, 0x7a, 0xc8, 0x37, 0xc6, 0x0c, 0x72, 0xd3, 0x50, 0x30, + 0x8b, 0xaf, 0x7c, 0x2c, 0xb1, 0xbe, 0x0a, 0xae, 0x68, 0xc8, 0x73, 0x09, 0xbe, 0xb4, 0xc0, 0xdc, + 0x6e, 0xdc, 0xd9, 0x83, 0x49, 0xa1, 0xba, 0x55, 0x30, 0x19, 0xba, 0x5d, 0xc8, 0x78, 0x92, 0xdf, + 0xba, 0x03, 0x52, 0x5d, 0x02, 0xa7, 0xe2, 0x04, 0x45, 0xc7, 0x4f, 0x23, 0x1f, 0x8b, 0x49, 0x63, + 0x95, 0x38, 0x85, 0xb7, 0x1b, 0x87, 0xb4, 0xc8, 0x6f, 0xf5, 0x13, 0x14, 0xc5, 0xb5, 0xa9, 0xa5, + 0xca, 0xda, 0xac, 0x93, 0x9b, 0x93, 0xb4, 0x39, 0x4f, 0x7c, 0x9d, 0x4b, 0xca, 0x55, 0x80, 0xe4, + 0xce, 0xc4, 0xf3, 0xf8, 0x04, 0x1a, 0xef, 0xa2, 0x05, 0x30, 0x15, 0xc3, 0x84, 0x6f, 0x18, 0x1d, + 0x08, 0xfb, 0x58, 0x31, 0xec, 0x23, 0xbd, 0x10, 0x33, 0x36, 0x9c, 0xff, 0x01, 0x71, 0x1a, 0xf6, + 0xc1, 0x81, 0x5d, 0x34, 0x80, 0xff, 0x27, 0x11, 0xa8, 0x2b, 0xe5, 0x38, 0x09, 0x52, 0xa4, 0xd6, + 0xc9, 0x2c, 0x38, 0x8e, 0x31, 0xaa, 0x60, 0xb2, 0x1f, 0xf3, 0x18, 0x46, 0x7e, 0x2b, 0xef, 0x8c, + 0x21, 0x4e, 0x5c, 0x92, 0x43, 0xe2, 0xd4, 0xf9, 0xef, 0x63, 0x9a, 0xa5, 0x58, 0x18, 0xea, 0xe2, + 0x2a, 0x66, 0x5c, 0x9e, 0x0f, 0xc9, 0x15, 0xb6, 0x07, 0x93, 0xef, 0xfa, 0xa1, 0x1b, 0xf8, 0xcf, + 0x47, 0x16, 0x43, 0x79, 0x7d, 0x08, 0xf4, 0x38, 0xa7, 0xfd, 0xd4, 0x13, 0x4a, 0x05, 0x46, 0xb5, + 0xca, 0xca, 0xb0, 0xa8, 0xf3, 0x03, 0x45, 0xec, 0x6b, 0xa7, 0xda, 0xee, 0xe1, 0xc3, 0x36, 0xa6, + 0x04, 0xe4, 0xa0, 0xa6, 0x49, 0x3a, 0x19, 0xe8, 0x6c, 0x90, 0x72, 0xe1, 0xfc, 0x7f, 0x40, 0xb2, + 0x83, 0x26, 0x42, 0x38, 0x8e, 0x3c, 0x71, 0xbd, 0x43, 0x73, 0x9a, 0x5e, 0xc6, 0xe0, 0xdb, 0x24, + 0xd6, 0xe7, 0x49, 0x8e, 0x9c, 0xe4, 0xfd, 0x96, 0xa6, 0xe6, 0x7b, 0x30, 0x08, 0x1e, 0xef, 0xef, + 0x97, 0x78, 0xc5, 0xe8, 0x72, 0x82, 0xbb, 0x60, 0xaa, 0x17, 0xf9, 0x1e, 0x2c, 0x9b, 0x5e, 0x51, + 0xb4, 0x32, 0xaa, 0x4b, 0xc2, 0x70, 0x1b, 0xfe, 0x98, 0x24, 0xa4, 0xfc, 0xab, 0xd9, 0x82, 0xf8, + 0xaa, 0x4d, 0x91, 0x5c, 0x58, 0x71, 0x4a, 0x99, 0x7e, 0x8a, 0xc4, 0x39, 0xdf, 0x9f, 0xe5, 0x4d, + 0x54, 0x78, 0x68, 0x47, 0x65, 0x2d, 0x69, 0x2d, 0x9d, 0xd3, 0x3f, 0x5a, 0xfc, 0x81, 0xe7, 0xb8, + 0xf8, 0xe1, 0xba, 0x07, 0x93, 0xf1, 0xf2, 0x4a, 0xea, 0x51, 0x15, 0xd1, 0xa9, 0xef, 0x83, 0xe9, + 0x88, 0x10, 0x25, 0xb1, 0x68, 0x5e, 0xf3, 0xce, 0xc8, 0x78, 0x3b, 0x0c, 0xae, 0x0e, 0xe6, 0xa2, + 0x88, 0x5c, 0xfe, 0x3f, 0x58, 0x62, 0xa4, 0x4f, 0xa7, 0xb7, 0x51, 0xb7, 0xeb, 0x9b, 0xf4, 0xb8, + 0x0c, 0x66, 0x59, 0xa9, 0x81, 0xab, 0x92, 0x4d, 0xd0, 0x60, 0x4f, 0x29, 0x65, 0xcf, 0x0a, 0xe6, + 0xfa, 0x8b, 0x00, 0xc4, 0xfd, 0x4e, 0x07, 0xc6, 0x89, 0x8f, 0x42, 0x16, 0x63, 0x85, 0x19, 0x49, + 0xf4, 0x3a, 0x58, 0xd2, 0x49, 0xc7, 0x55, 0xf8, 0xb3, 0x52, 0x05, 0x07, 0x0e, 0xa0, 0x1b, 0x8c, + 0xad, 0xc2, 0xb7, 0x24, 0x15, 0xe6, 0x37, 0xdf, 0x52, 0x1a, 0x9f, 0xb3, 0xcb, 0x34, 0x3c, 0x0f, + 0xa6, 0x63, 0xe8, 0x45, 0x30, 0x61, 0xda, 0xb1, 0x51, 0x19, 0xcd, 0xa8, 0xd0, 0x5c, 0xb3, 0x67, + 0xf4, 0xd1, 0xc2, 0x31, 0x89, 0x1b, 0x8d, 0xbd, 0x29, 0xea, 0xa7, 0x48, 0x8e, 0x34, 0xe7, 0xfb, + 0x77, 0x5a, 0x17, 0x22, 0x39, 0xd8, 0x36, 0x0a, 0xf7, 0xfd, 0xa8, 0x3b, 0x56, 0x06, 0x2d, 0x64, + 0xbe, 0x95, 0x11, 0x32, 0xdf, 0xea, 0x77, 0x00, 0xc0, 0x0f, 0x66, 0x9a, 0x40, 0x93, 0x9c, 0xba, + 0xc4, 0x1b, 0x5b, 0x58, 0xa2, 0xbc, 0x3c, 0x44, 0x6d, 0xb8, 0xa6, 0x7b, 0xc4, 0xc2, 0x4f, 0x22, + 0xb4, 0xef, 0x07, 0x90, 0x54, 0x0f, 0xc6, 0x39, 0xbe, 0x4a, 0xdb, 0xe6, 0x89, 0x72, 0x8e, 0x3f, + 0x22, 0x29, 0x0f, 0xfb, 0xf8, 0x14, 0xb6, 0x62, 0x3f, 0x81, 0x66, 0xa6, 0x35, 0x70, 0xf2, 0x88, + 0xe2, 0xd2, 0xca, 0x14, 0x1b, 0x2a, 0x53, 0x9c, 0x21, 0xca, 0x9c, 0xf3, 0xf7, 0xc9, 0x4d, 0xc5, + 0xbe, 0x37, 0x7d, 0x64, 0xe6, 0xfa, 0x06, 0xa8, 0xb4, 0x7c, 0xc4, 0x38, 0xe2, 0x9f, 0xca, 0x4b, + 0x25, 0x47, 0x8d, 0x73, 0x6a, 0x91, 0x2b, 0x59, 0x88, 0x7d, 0x8f, 0x7b, 0x30, 0x34, 0xf0, 0x5a, + 0x06, 0xa7, 0x5b, 0x19, 0x98, 0x5b, 0x37, 0x3f, 0x29, 0xf1, 0xbf, 0x47, 0xae, 0x65, 0x89, 0x07, + 0x0f, 0xb0, 0x98, 0x17, 0xd9, 0x9a, 0xb8, 0x66, 0x91, 0x27, 0x59, 0x3a, 0xac, 0x7f, 0x61, 0x91, + 0x2c, 0x40, 0x58, 0x58, 0xa2, 0x7e, 0x52, 0x4a, 0xc0, 0x11, 0xaa, 0x29, 0x4b, 0x60, 0x51, 0x2d, + 0x03, 0x37, 0xe1, 0x20, 0xcd, 0x8c, 0xf7, 0xb2, 0xe7, 0x87, 0x79, 0xc3, 0xd4, 0x79, 0x91, 0xf4, + 0xa6, 0xa9, 0x0c, 0xbd, 0x69, 0x74, 0x79, 0x72, 0x9e, 0xaf, 0x50, 0x51, 0x3d, 0xc3, 0xb3, 0x38, + 0x3f, 0x4e, 0xc6, 0x11, 0xa9, 0x5c, 0x7d, 0x22, 0x8d, 0xf8, 0x19, 0x23, 0x2e, 0xc3, 0x67, 0x3c, + 0xe4, 0xe2, 0x83, 0xbf, 0xdb, 0x0f, 0x12, 0xdf, 0x20, 0xc4, 0x5d, 0x30, 0x35, 0x20, 0xb5, 0xc7, + 0x89, 0x72, 0xf7, 0x08, 0x45, 0x4b, 0xd2, 0x34, 0x79, 0x08, 0xe5, 0x2c, 0x47, 0x4e, 0xe6, 0xfe, + 0x44, 0x5f, 0xad, 0xe4, 0x1e, 0x2a, 0x38, 0x10, 0x35, 0x70, 0x92, 0x94, 0x10, 0xa2, 0xad, 0xf4, + 0xc8, 0xb3, 0x61, 0xf6, 0xa5, 0xc9, 0xac, 0x97, 0x0e, 0xf1, 0x4e, 0x33, 0xd0, 0x0e, 0xf4, 0x0e, + 0x59, 0x25, 0x42, 0x9c, 0xca, 0x10, 0x4d, 0x82, 0x98, 0x12, 0x11, 0x64, 0x4a, 0x52, 0xfa, 0x1d, + 0xe2, 0x83, 0x5c, 0x5e, 0xf1, 0x70, 0xa5, 0x17, 0xbe, 0x95, 0xbb, 0xf0, 0xeb, 0x6e, 0xfa, 0xaa, + 0xfd, 0xd0, 0xed, 0xc2, 0x71, 0x7c, 0x23, 0x7d, 0xae, 0x57, 0xb2, 0xe7, 0xba, 0xee, 0x45, 0xcb, + 0x58, 0x08, 0x65, 0x90, 0x6a, 0x76, 0x21, 0x6d, 0x05, 0xbe, 0x1b, 0x17, 0x0a, 0x40, 0xcb, 0xfa, + 0x13, 0xfa, 0xb2, 0x3e, 0xcd, 0xfd, 0x24, 0x9a, 0x02, 0x47, 0x6c, 0x9f, 0x47, 0x6e, 0x14, 0x1c, + 0x6f, 0x79, 0x1e, 0x8c, 0xe3, 0x0f, 0xc2, 0x81, 0x5f, 0x54, 0x8d, 0xe8, 0x67, 0x1d, 0x06, 0xfd, + 0x3b, 0x75, 0x88, 0xa6, 0x10, 0xb0, 0xf0, 0xf9, 0xfb, 0x04, 0xba, 0xc1, 0xf1, 0x36, 0x0a, 0x43, + 0xe8, 0x15, 0x44, 0x8e, 0xe7, 0x18, 0xc9, 0xac, 0x3c, 0xeb, 0xa4, 0x43, 0xe5, 0x59, 0x13, 0x89, + 0x72, 0x7e, 0xbf, 0x9f, 0x20, 0x66, 0x7d, 0x14, 0xe2, 0x44, 0x22, 0x29, 0xf1, 0x02, 0x51, 0x15, + 0x5c, 0x6c, 0x30, 0xd3, 0x8e, 0xdc, 0xa3, 0x80, 0x9e, 0x79, 0xec, 0x75, 0x7c, 0x5c, 0x7d, 0x0a, + 0x00, 0xe9, 0x00, 0xc1, 0x04, 0x46, 0x69, 0xac, 0xbf, 0xaf, 0x3c, 0xa3, 0xc3, 0x62, 0xd0, 0x76, + 0x12, 0x59, 0xf9, 0x28, 0x4c, 0xa2, 0x63, 0x47, 0x20, 0x95, 0xbd, 0x49, 0xa7, 0x84, 0x37, 0xa9, + 0xfd, 0x1e, 0x38, 0x23, 0x2d, 0xc2, 0x91, 0xee, 0x10, 0xb2, 0x5e, 0x97, 0x83, 0x7f, 0xe2, 0xa5, + 0x03, 0x37, 0xe8, 0xa7, 0x4a, 0xd0, 0xc1, 0xc3, 0x89, 0x07, 0x96, 0xd2, 0x3d, 0x24, 0xa1, 0xb8, + 0xe9, 0x42, 0xf2, 0xa8, 0xe5, 0x5f, 0x77, 0x90, 0xf9, 0x51, 0x02, 0x53, 0x60, 0xf6, 0x28, 0x11, + 0xa6, 0x4a, 0x54, 0x15, 0xe8, 0xf3, 0x56, 0xe0, 0x27, 0x57, 0xbf, 0x33, 0x41, 0x03, 0x14, 0xc3, + 0xff, 0xb5, 0x34, 0xd8, 0x8e, 0x47, 0x2c, 0xa5, 0x9f, 0x71, 0xf0, 0x4f, 0x65, 0x5a, 0x94, 0x17, + 0x82, 0x8b, 0xf8, 0x11, 0x71, 0x41, 0xc1, 0xef, 0x77, 0xfc, 0xd8, 0xff, 0xef, 0x8f, 0x13, 0xad, + 0xb4, 0xa8, 0xc8, 0xa6, 0x9c, 0x37, 0xff, 0xbd, 0x0a, 0x2a, 0xbb, 0x71, 0xa7, 0xda, 0x02, 0x73, + 0xb9, 0x46, 0xe8, 0xb2, 0xce, 0x09, 0x45, 0x94, 0xbd, 0x5e, 0x06, 0xc5, 0x6f, 0xce, 0x9f, 0x00, + 0x20, 0x34, 0x23, 0xeb, 0xda, 0xb5, 0x1c, 0x63, 0xdf, 0x2c, 0xc6, 0x70, 0xea, 0x10, 0x9c, 0xce, + 0x37, 0x1a, 0x57, 0x74, 0x8b, 0x73, 0x30, 0xfb, 0x56, 0x29, 0x18, 0x67, 0x73, 0x08, 0xce, 0xc8, + 0xbd, 0xc2, 0x55, 0x23, 0x85, 0x0c, 0x68, 0x37, 0x4a, 0x02, 0x39, 0xb3, 0x8f, 0xc1, 0x0c, 0x6f, + 0xc7, 0x2d, 0x99, 0x16, 0x63, 0x84, 0xbd, 0x56, 0x84, 0xe0, 0x74, 0x5b, 0x60, 0x2e, 0xd7, 0x3b, + 0x5b, 0x36, 0xad, 0x4c, 0x51, 0xfa, 0xdd, 0x56, 0x35, 0xc6, 0xf0, 0x6e, 0x0b, 0x4d, 0xb1, 0xba, + 0x69, 0x2d, 0xc5, 0xe8, 0x77, 0x7b, 0xb8, 0xa5, 0x55, 0x3d, 0x00, 0xf3, 0x52, 0x3b, 0xeb, 0xba, + 0x69, 0x75, 0x86, 0xb3, 0x37, 0xca, 0xe1, 0x38, 0xa7, 0x10, 0xbc, 0x31, 0xd4, 0x96, 0x5a, 0x2b, + 0xa0, 0xc1, 0x91, 0xf6, 0x3b, 0x65, 0x91, 0x39, 0x07, 0x93, 0x1a, 0x4f, 0x7a, 0x07, 0xcb, 0x03, + 0x0d, 0x0e, 0xa6, 0x6e, 0x46, 0x55, 0x3f, 0x03, 0x67, 0x87, 0x3b, 0x51, 0x37, 0x0a, 0xa8, 0x64, + 0x50, 0xfb, 0x76, 0x69, 0x28, 0x67, 0xf9, 0x29, 0x38, 0x25, 0xf6, 0xa6, 0xae, 0xe9, 0x28, 0x08, + 0x20, 0xfb, 0xed, 0x12, 0xa0, 0xdc, 0x45, 0x90, 0x6b, 0x07, 0xad, 0x14, 0x08, 0xc9, 0x2e, 0x9b, + 0x5b, 0xa5, 0x60, 0x9c, 0xcd, 0x73, 0xb0, 0xa0, 0xec, 0x02, 0xad, 0x97, 0x90, 0x95, 0xa3, 0xed, + 0x77, 0x47, 0x41, 0x73, 0xde, 0xcf, 0xc0, 0x6c, 0xd6, 0xfe, 0xb9, 0xaa, 0x23, 0xc1, 0x21, 0xf6, + 0x8d, 0x42, 0x88, 0x78, 0x6c, 0x85, 0xbe, 0x4c, 0xdd, 0xb4, 0x90, 0x62, 0xf4, 0xc7, 0x76, 0xb8, + 0xf1, 0x82, 0xf7, 0x26, 0xdf, 0x75, 0x59, 0x29, 0x58, 0x4c, 0x61, 0xfa, 0xbd, 0x51, 0x76, 0x56, + 0xb0, 0x5b, 0x0f, 0xb7, 0x55, 0x8c, 0x46, 0xc8, 0x41, 0xf5, 0x6e, 0xad, 0x6d, 0xa1, 0x60, 0x77, + 0x50, 0xf6, 0x4f, 0xd6, 0xcb, 0x91, 0x62, 0x7a, 0xbe, 0x3b, 0x0a, 0x5a, 0x3c, 0x52, 0x62, 0xaf, + 0xe4, 0x9a, 0x81, 0x48, 0x0a, 0xd2, 0x1f, 0x29, 0x45, 0x97, 0x84, 0x6d, 0x9b, 0x70, 0xd9, 0x9a, + 0xb6, 0x4d, 0xb8, 0x6b, 0x6f, 0x95, 0x82, 0x49, 0x7a, 0xf0, 0x2e, 0x88, 0x49, 0x8f, 0x14, 0x64, + 0xd4, 0x43, 0xee, 0x74, 0xe0, 0xa8, 0x21, 0xb5, 0x39, 0xb4, 0x51, 0x23, 0x8f, 0xd3, 0x47, 0x0d, + 0x4d, 0x8f, 0xe3, 0x10, 0x9c, 0x91, 0xfb, 0x16, 0xab, 0x7a, 0x49, 0x73, 0x40, 0xfd, 0x2d, 0xae, + 0x69, 0x3e, 0xe0, 0x70, 0x9e, 0xeb, 0x3c, 0x2c, 0x17, 0x12, 0xc0, 0x2a, 0xad, 0x97, 0x41, 0x29, + 0x15, 0x62, 0xae, 0x5d, 0xac, 0x10, 0xf3, 0xea, 0x46, 0x49, 0xa0, 0x9c, 0xcb, 0x65, 0x3d, 0x05, + 0x63, 0x2e, 0xc7, 0x61, 0xe6, 0x5c, 0x6e, 0xa8, 0xfc, 0x5f, 0xfd, 0x05, 0x78, 0x53, 0x5d, 0xfa, + 0xbf, 0x55, 0x18, 0x47, 0x45, 0xb8, 0x7d, 0x77, 0x24, 0xb8, 0x81, 0x3d, 0x2b, 0xdb, 0x97, 0x65, + 0x4f, 0xe1, 0xa5, 0xd9, 0xe7, 0xeb, 0xeb, 0x24, 0x85, 0xca, 0x17, 0xd7, 0xaf, 0x17, 0x13, 0xc2, + 0x38, 0x43, 0x0a, 0xa5, 0xac, 0xa8, 0x63, 0xff, 0xcc, 0x55, 0xd3, 0x97, 0x8d, 0x41, 0x8f, 0xa1, + 0xec, 0xf5, 0x32, 0x28, 0x51, 0x1b, 0xa9, 0x90, 0xad, 0xd5, 0x26, 0x8f, 0xd3, 0x6b, 0xa3, 0xae, + 0x61, 0xe3, 0xe0, 0x32, 0x5c, 0xc0, 0xbe, 0x51, 0x40, 0x24, 0x83, 0xea, 0x83, 0x8b, 0xb6, 0x78, + 0x8d, 0xcf, 0x43, 0xbe, 0x72, 0xbd, 0x52, 0x40, 0x83, 0xc2, 0xf4, 0xe7, 0x41, 0x59, 0xb9, 0xc6, + 0x67, 0x5c, 0x2e, 0x5b, 0xaf, 0x96, 0xb8, 0xf7, 0x30, 0x50, 0x7f, 0xc6, 0x75, 0x45, 0xea, 0x23, + 0x70, 0x4e, 0x55, 0x86, 0x7e, 0xbb, 0x04, 0x1d, 0xfe, 0x22, 0xb9, 0x33, 0x02, 0x58, 0x4a, 0x0e, + 0xa4, 0xca, 0xf2, 0x8d, 0xa2, 0x30, 0xc2, 0xa1, 0xc6, 0xe4, 0x40, 0x5d, 0x37, 0xa6, 0x17, 0xb4, + 0x50, 0x34, 0x5e, 0x36, 0xc7, 0x45, 0x8a, 0x32, 0x5d, 0xd0, 0xc3, 0x75, 0xe1, 0xf4, 0xce, 0xcc, + 0x8a, 0xc2, 0x2b, 0x45, 0xcf, 0x41, 0x02, 0x33, 0xdf, 0x99, 0xc3, 0xf5, 0xde, 0x67, 0x60, 0x36, + 0xab, 0xe1, 0x5e, 0x35, 0x1e, 0x51, 0xe2, 0x17, 0x37, 0x0a, 0x21, 0x52, 0xea, 0x99, 0x16, 0x4f, + 0x4d, 0xa9, 0x27, 0xc3, 0x18, 0x53, 0x4f, 0xa9, 0x42, 0x8a, 0x9d, 0x5b, 0x2e, 0x8f, 0xae, 0x16, + 0x1c, 0x8f, 0x14, 0xa8, 0x77, 0x6e, 0x4d, 0x71, 0x14, 0xfb, 0xd8, 0x70, 0x65, 0x54, 0x6b, 0x8a, + 0x21, 0xa8, 0xde, 0xc7, 0xb4, 0xb5, 0x51, 0xec, 0x63, 0xb9, 0xc2, 0xa8, 0xd6, 0xc7, 0x44, 0x94, + 0xde, 0xc7, 0x54, 0xf5, 0x50, 0x6c, 0x43, 0xb9, 0x16, 0xba, 0x5a, 0xb2, 0x5a, 0xa9, 0xb7, 0xa1, + 0xa6, 0x82, 0x88, 0xb3, 0x41, 0xb1, 0x7c, 0x78, 0xad, 0x70, 0xfd, 0x0e, 0xd2, 0x67, 0x83, 0x8a, + 0xc2, 0x20, 0x0e, 0x19, 0x52, 0x51, 0xf0, 0x7a, 0xb1, 0x8c, 0x18, 0xa7, 0x0f, 0x19, 0xea, 0xfa, + 0x1e, 0x7e, 0x1c, 0x28, 0x8b, 0x7b, 0xeb, 0x25, 0xb6, 0x99, 0xa3, 0xf5, 0x8f, 0x03, 0x53, 0x85, + 0xcf, 0x9e, 0xfa, 0xe5, 0xeb, 0x17, 0x37, 0xad, 0xa6, 0xf3, 0xd5, 0xcb, 0x45, 0xeb, 0xeb, 0x97, + 0x8b, 0xd6, 0xbf, 0x5e, 0x2e, 0x5a, 0xbf, 0x7b, 0xb5, 0x78, 0xe2, 0xeb, 0x57, 0x8b, 0x27, 0xfe, + 0xf1, 0x6a, 0xf1, 0xc4, 0x27, 0x0f, 0x3a, 0x7e, 0x72, 0xd0, 0x6f, 0x6d, 0x78, 0xa8, 0xdb, 0xd8, + 0x81, 0x1e, 0x0c, 0x93, 0xc8, 0x0d, 0xf0, 0xe1, 0xff, 0x9e, 0xdb, 0x85, 0x0d, 0xf5, 0x5f, 0x21, + 0x24, 0xc7, 0x3d, 0x18, 0xb7, 0xa6, 0xc9, 0x1f, 0x52, 0xdc, 0xf9, 0x4f, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x4c, 0xbb, 0x31, 0x0c, 0xa2, 0x32, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5306,9 +4995,6 @@ type MsgClient interface { EncounterCreate(ctx context.Context, in *MsgEncounterCreate, opts ...grpc.CallOption) (*MsgEncounterCreateResponse, error) EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) - CreateProductDetails(ctx context.Context, in *MsgCreateProductDetails, opts ...grpc.CallOption) (*MsgCreateProductDetailsResponse, error) - UpdateProductDetails(ctx context.Context, in *MsgUpdateProductDetails, opts ...grpc.CallOption) (*MsgUpdateProductDetailsResponse, error) - DeleteProductDetails(ctx context.Context, in *MsgDeleteProductDetails, opts ...grpc.CallOption) (*MsgDeleteProductDetailsResponse, error) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) } @@ -5743,33 +5429,6 @@ func (c *msgClient) EncounterClose(ctx context.Context, in *MsgEncounterClose, o return out, nil } -func (c *msgClient) CreateProductDetails(ctx context.Context, in *MsgCreateProductDetails, opts ...grpc.CallOption) (*MsgCreateProductDetailsResponse, error) { - out := new(MsgCreateProductDetailsResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CreateProductDetails", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) UpdateProductDetails(ctx context.Context, in *MsgUpdateProductDetails, opts ...grpc.CallOption) (*MsgUpdateProductDetailsResponse, error) { - out := new(MsgUpdateProductDetailsResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/UpdateProductDetails", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) DeleteProductDetails(ctx context.Context, in *MsgDeleteProductDetails, opts ...grpc.CallOption) (*MsgDeleteProductDetailsResponse, error) { - out := new(MsgDeleteProductDetailsResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/DeleteProductDetails", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *msgClient) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) { out := new(MsgEarlyAccessDisinviteResponse) err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/EarlyAccessDisinvite", in, out, opts...) @@ -5830,9 +5489,6 @@ type MsgServer interface { EncounterCreate(context.Context, *MsgEncounterCreate) (*MsgEncounterCreateResponse, error) EncounterDo(context.Context, *MsgEncounterDo) (*MsgEncounterDoResponse, error) EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) - CreateProductDetails(context.Context, *MsgCreateProductDetails) (*MsgCreateProductDetailsResponse, error) - UpdateProductDetails(context.Context, *MsgUpdateProductDetails) (*MsgUpdateProductDetailsResponse, error) - DeleteProductDetails(context.Context, *MsgDeleteProductDetails) (*MsgDeleteProductDetailsResponse, error) EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) } @@ -5981,15 +5637,6 @@ func (*UnimplementedMsgServer) EncounterDo(ctx context.Context, req *MsgEncounte func (*UnimplementedMsgServer) EncounterClose(ctx context.Context, req *MsgEncounterClose) (*MsgEncounterCloseResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EncounterClose not implemented") } -func (*UnimplementedMsgServer) CreateProductDetails(ctx context.Context, req *MsgCreateProductDetails) (*MsgCreateProductDetailsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateProductDetails not implemented") -} -func (*UnimplementedMsgServer) UpdateProductDetails(ctx context.Context, req *MsgUpdateProductDetails) (*MsgUpdateProductDetailsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateProductDetails not implemented") -} -func (*UnimplementedMsgServer) DeleteProductDetails(ctx context.Context, req *MsgDeleteProductDetails) (*MsgDeleteProductDetailsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteProductDetails not implemented") -} func (*UnimplementedMsgServer) EarlyAccessDisinvite(ctx context.Context, req *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessDisinvite not implemented") } @@ -6844,60 +6491,6 @@ func _Msg_EncounterClose_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } -func _Msg_CreateProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCreateProductDetails) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CreateProductDetails(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/CreateProductDetails", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CreateProductDetails(ctx, req.(*MsgCreateProductDetails)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_UpdateProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateProductDetails) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UpdateProductDetails(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/UpdateProductDetails", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateProductDetails(ctx, req.(*MsgUpdateProductDetails)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_DeleteProductDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgDeleteProductDetails) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).DeleteProductDetails(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cardchain.cardchain.Msg/DeleteProductDetails", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).DeleteProductDetails(ctx, req.(*MsgDeleteProductDetails)) - } - return interceptor(ctx, in, info, handler) -} - func _Msg_EarlyAccessDisinvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgEarlyAccessDisinvite) if err := dec(in); err != nil { @@ -7109,18 +6702,6 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "EncounterClose", Handler: _Msg_EncounterClose_Handler, }, - { - MethodName: "CreateProductDetails", - Handler: _Msg_CreateProductDetails_Handler, - }, - { - MethodName: "UpdateProductDetails", - Handler: _Msg_UpdateProductDetails_Handler, - }, - { - MethodName: "DeleteProductDetails", - Handler: _Msg_DeleteProductDetails_Handler, - }, { MethodName: "EarlyAccessDisinvite", Handler: _Msg_EarlyAccessDisinvite_Handler, @@ -10345,209 +9926,7 @@ func (m *MsgEncounterCloseResponse) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *MsgCreateProductDetails) 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 *MsgCreateProductDetails) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateProductDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Desc) > 0 { - i -= len(m.Desc) - copy(dAtA[i:], m.Desc) - i = encodeVarintTx(dAtA, i, uint64(len(m.Desc))) - i-- - dAtA[i] = 0x1a - } - 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 - } - 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 *MsgCreateProductDetailsResponse) 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 *MsgCreateProductDetailsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateProductDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Id != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Id)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *MsgUpdateProductDetails) 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 *MsgUpdateProductDetails) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgUpdateProductDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Desc) > 0 { - i -= len(m.Desc) - copy(dAtA[i:], m.Desc) - i = encodeVarintTx(dAtA, i, uint64(len(m.Desc))) - i-- - dAtA[i] = 0x22 - } - 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] = 0x1a - } - if m.Id != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Id)) - 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 *MsgUpdateProductDetailsResponse) 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 *MsgUpdateProductDetailsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgUpdateProductDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgDeleteProductDetails) 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 *MsgDeleteProductDetails) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgDeleteProductDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Id != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Id)) - 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 *MsgDeleteProductDetailsResponse) 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 *MsgDeleteProductDetailsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgDeleteProductDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgEarlyAccessDisinvite) Marshal() (dAtA []byte, err error) { +func (m *MsgEarlyAccessDisinvite) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12009,97 +11388,6 @@ func (m *MsgEncounterCloseResponse) Size() (n int) { return n } -func (m *MsgCreateProductDetails) 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.Name) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Desc) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgCreateProductDetailsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Id != 0 { - n += 1 + sovTx(uint64(m.Id)) - } - return n -} - -func (m *MsgUpdateProductDetails) 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.Id != 0 { - n += 1 + sovTx(uint64(m.Id)) - } - l = len(m.Name) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Desc) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgUpdateProductDetailsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgDeleteProductDetails) 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.Id != 0 { - n += 1 + sovTx(uint64(m.Id)) - } - return n -} - -func (m *MsgDeleteProductDetailsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - func (m *MsgEarlyAccessDisinvite) Size() (n int) { if m == nil { return 0 @@ -21183,587 +20471,6 @@ func (m *MsgEncounterCloseResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateProductDetails) 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: MsgCreateProductDetails: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = 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 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.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Desc", 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.Desc = 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 *MsgCreateProductDetailsResponse) 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: MsgCreateProductDetailsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - m.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 *MsgUpdateProductDetails) 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: MsgUpdateProductDetails: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - m.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - 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 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.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Desc", 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.Desc = 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 *MsgUpdateProductDetailsResponse) 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: MsgUpdateProductDetailsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgDeleteProductDetails) 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: MsgDeleteProductDetails: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDeleteProductDetails: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - m.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - 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 *MsgDeleteProductDetailsResponse) 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: MsgDeleteProductDetailsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDeleteProductDetailsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *MsgEarlyAccessDisinvite) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 From e00949a495979bcde699c82e6df407bbc782b227 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 17 Feb 2025 15:35:03 +0100 Subject: [PATCH 61/99] fix: encounter list validation --- proto/cardchain/cardchain/genesis.proto | 17 +++++++++++++++++ .../keeper/msg_server_encounter_create.go | 12 +++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto index b2c37f20..27ab3915 100644 --- a/proto/cardchain/cardchain/genesis.proto +++ b/proto/cardchain/cardchain/genesis.proto @@ -14,4 +14,21 @@ message GenesisState { // params defines all the parameters of the module. Params params = 1 [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; + repeated Card cardRecords = 2; + repeated User users = 3; + repeated string addresses = 4; + repeated Match matches = 6; + 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" + ]; + repeated Council councils = 12; + repeated RunningAverage RunningAverages = 13; + repeated Image images = 14; + repeated Server Servers = 15; + TimeStamp lastCardModified = 16; + repeated Zealy zealys = 17; } diff --git a/x/cardchain/keeper/msg_server_encounter_create.go b/x/cardchain/keeper/msg_server_encounter_create.go index e2c8fd2a..aac1a42e 100644 --- a/x/cardchain/keeper/msg_server_encounter_create.go +++ b/x/cardchain/keeper/msg_server_encounter_create.go @@ -63,11 +63,13 @@ func (k Keeper) validateDrawlist(ctx sdk.Context, msg *types.MsgEncounterCreate, return err } - if idx == 0 && cardObj.GetType() != cardobject.HEADQUARTERTYPE { - return errorsmod.Wrapf( - types.ErrInvalidData, - "first card has to be Headquarter but is: %s", cardObj.GetType(), - ) + if idx == 0 { + if cardObj.GetType() != cardobject.HEADQUARTERTYPE { + return errorsmod.Wrapf( + types.ErrInvalidData, + "first card has to be Headquarter but is: %s", cardObj.GetType(), + ) + } } else if cardObj.GetType() == cardobject.HEADQUARTERTYPE { return errorsmod.Wrapf( types.ErrInvalidData, From daedaf18e110c6a5c0b8cdeca4b10fe4abfafe21 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 17 Feb 2025 23:10:50 +0100 Subject: [PATCH 62/99] feat: renamed stuff because yes --- api/cardchain/cardchain/genesis.pulsar.go | 2140 ++++++++++++++++- proto/cardchain/cardchain/genesis.proto | 20 +- x/cardchain/keeper/card.go | 6 +- x/cardchain/keeper/council.go | 10 +- x/cardchain/keeper/keeper.go | 52 +- x/cardchain/keeper/match.go | 10 +- .../keeper/msg_server_booster_pack_buy.go | 2 +- .../keeper/msg_server_booster_pack_open.go | 2 +- .../keeper/msg_server_card_artist_change.go | 4 +- .../keeper/msg_server_card_artwork_add.go | 8 +- x/cardchain/keeper/msg_server_card_donate.go | 4 +- .../keeper/msg_server_card_rarity_set.go | 6 +- .../keeper/msg_server_card_save_content.go | 4 +- .../keeper/msg_server_card_scheme_buy.go | 12 +- .../keeper/msg_server_card_transfer.go | 4 +- .../keeper/msg_server_council_create.go | 6 +- .../keeper/msg_server_council_register.go | 4 +- .../msg_server_council_response_commit.go | 4 +- .../msg_server_council_response_reveal.go | 4 +- .../keeper/msg_server_council_restart.go | 6 +- .../keeper/msg_server_encounter_close.go | 4 +- .../keeper/msg_server_encounter_create.go | 10 +- x/cardchain/keeper/msg_server_encounter_do.go | 2 +- .../keeper/msg_server_match_confirm.go | 4 +- x/cardchain/keeper/msg_server_match_open.go | 4 +- x/cardchain/keeper/msg_server_match_report.go | 4 +- .../keeper/msg_server_profile_card_set.go | 2 +- .../keeper/msg_server_sell_offer_buy.go | 4 +- .../keeper/msg_server_sell_offer_create.go | 6 +- .../keeper/msg_server_sell_offer_remove.go | 4 +- .../keeper/msg_server_set_artist_set.go | 4 +- .../keeper/msg_server_set_artwork_add.go | 6 +- x/cardchain/keeper/msg_server_set_card_add.go | 8 +- .../keeper/msg_server_set_card_remove.go | 4 +- .../keeper/msg_server_set_contributor_add.go | 4 +- .../msg_server_set_contributor_remove.go | 4 +- x/cardchain/keeper/msg_server_set_create.go | 6 +- x/cardchain/keeper/msg_server_set_finalize.go | 8 +- x/cardchain/keeper/msg_server_set_name_set.go | 4 +- .../keeper/msg_server_set_story_add.go | 4 +- .../keeper/msg_server_set_story_writer_set.go | 4 +- .../keeper/msg_server_zealy_connect.go | 6 +- .../keeper/query_account_from_zealy.go | 2 +- x/cardchain/keeper/query_card.go | 4 +- x/cardchain/keeper/query_card_content.go | 4 +- x/cardchain/keeper/query_cardchain_info.go | 12 +- x/cardchain/keeper/query_cards.go | 2 +- x/cardchain/keeper/query_council.go | 2 +- x/cardchain/keeper/query_encounter.go | 2 +- .../keeper/query_encounter_with_image.go | 4 +- x/cardchain/keeper/query_encounters.go | 2 +- .../keeper/query_encounters_with_image.go | 4 +- x/cardchain/keeper/query_match.go | 2 +- x/cardchain/keeper/query_matches.go | 2 +- x/cardchain/keeper/query_sell_offer.go | 2 +- x/cardchain/keeper/query_sell_offers.go | 2 +- x/cardchain/keeper/query_server.go | 2 +- x/cardchain/keeper/query_set.go | 4 +- .../keeper/query_set_rarity_distribution.go | 2 +- x/cardchain/keeper/query_sets.go | 2 +- x/cardchain/keeper/query_voting_results.go | 2 +- x/cardchain/keeper/server.go | 10 +- x/cardchain/keeper/set.go | 6 +- x/cardchain/keeper/user.go | 6 +- x/cardchain/keeper/vote_right.go | 12 +- x/cardchain/keeper/voting.go | 4 +- x/cardchain/types/genesis.pb.go | 905 ++++++- 67 files changed, 3161 insertions(+), 254 deletions(-) diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index 95f741db..73114ba3 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -3,6 +3,7 @@ package cardchain import ( _ "cosmossdk.io/api/amino" + v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" @@ -14,15 +15,650 @@ import ( sync "sync" ) +var _ protoreflect.List = (*_GenesisState_2_list)(nil) + +type _GenesisState_2_list struct { + list *[]*Card +} + +func (x *_GenesisState_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Card) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Card) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_2_list) AppendMutable() protoreflect.Value { + v := new(Card) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_2_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_2_list) NewElement() protoreflect.Value { + v := new(Card) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_2_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_3_list)(nil) + +type _GenesisState_3_list struct { + list *[]*User +} + +func (x *_GenesisState_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*User) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*User) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_3_list) AppendMutable() protoreflect.Value { + v := new(User) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_3_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_3_list) NewElement() protoreflect.Value { + v := new(User) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_3_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_4_list)(nil) + +type _GenesisState_4_list struct { + list *[]string +} + +func (x *_GenesisState_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_GenesisState_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_4_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message GenesisState at list field Addresses as it is not of Message kind")) +} + +func (x *_GenesisState_4_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_4_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_GenesisState_4_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_6_list)(nil) + +type _GenesisState_6_list struct { + list *[]*Match +} + +func (x *_GenesisState_6_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_6_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_6_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Match) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_6_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Match) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_6_list) AppendMutable() protoreflect.Value { + v := new(Match) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_6_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_6_list) NewElement() protoreflect.Value { + v := new(Match) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_6_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_7_list)(nil) + +type _GenesisState_7_list struct { + list *[]*Set +} + +func (x *_GenesisState_7_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_7_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_7_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Set) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_7_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Set) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_7_list) AppendMutable() protoreflect.Value { + v := new(Set) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_7_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_7_list) NewElement() protoreflect.Value { + v := new(Set) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_7_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_8_list)(nil) + +type _GenesisState_8_list struct { + list *[]*SellOffer +} + +func (x *_GenesisState_8_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_8_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_8_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*SellOffer) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_8_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*SellOffer) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_8_list) AppendMutable() protoreflect.Value { + v := new(SellOffer) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_8_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_8_list) NewElement() protoreflect.Value { + v := new(SellOffer) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_8_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_9_list)(nil) + +type _GenesisState_9_list struct { + list *[]*v1beta1.Coin +} + +func (x *_GenesisState_9_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_9_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_9_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*v1beta1.Coin) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_9_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*v1beta1.Coin) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_9_list) AppendMutable() protoreflect.Value { + v := new(v1beta1.Coin) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_9_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_9_list) NewElement() protoreflect.Value { + v := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_9_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_12_list)(nil) + +type _GenesisState_12_list struct { + list *[]*Council +} + +func (x *_GenesisState_12_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_12_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_12_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Council) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_12_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Council) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_12_list) AppendMutable() protoreflect.Value { + v := new(Council) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_12_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_12_list) NewElement() protoreflect.Value { + v := new(Council) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_12_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_13_list)(nil) + +type _GenesisState_13_list struct { + list *[]*RunningAverage +} + +func (x *_GenesisState_13_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_13_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_13_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*RunningAverage) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_13_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*RunningAverage) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_13_list) AppendMutable() protoreflect.Value { + v := new(RunningAverage) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_13_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_13_list) NewElement() protoreflect.Value { + v := new(RunningAverage) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_13_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_14_list)(nil) + +type _GenesisState_14_list struct { + list *[]*Image +} + +func (x *_GenesisState_14_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_14_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_14_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Image) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_14_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Image) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_14_list) AppendMutable() protoreflect.Value { + v := new(Image) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_14_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_14_list) NewElement() protoreflect.Value { + v := new(Image) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_14_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_15_list)(nil) + +type _GenesisState_15_list struct { + list *[]*Server +} + +func (x *_GenesisState_15_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_15_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_15_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Server) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_15_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Server) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_15_list) AppendMutable() protoreflect.Value { + v := new(Server) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_15_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_15_list) NewElement() protoreflect.Value { + v := new(Server) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_15_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_17_list)(nil) + +type _GenesisState_17_list struct { + list *[]*Zealy +} + +func (x *_GenesisState_17_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_17_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_17_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Zealy) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_17_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Zealy) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_17_list) AppendMutable() protoreflect.Value { + v := new(Zealy) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_17_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_17_list) NewElement() protoreflect.Value { + v := new(Zealy) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_17_list) IsValid() bool { + return x.list != nil +} + var ( - md_GenesisState protoreflect.MessageDescriptor - fd_GenesisState_params protoreflect.FieldDescriptor + md_GenesisState protoreflect.MessageDescriptor + fd_GenesisState_params protoreflect.FieldDescriptor + fd_GenesisState_cardRecords protoreflect.FieldDescriptor + fd_GenesisState_users protoreflect.FieldDescriptor + fd_GenesisState_addresses protoreflect.FieldDescriptor + fd_GenesisState_matches protoreflect.FieldDescriptor + fd_GenesisState_sets protoreflect.FieldDescriptor + fd_GenesisState_sellOffers protoreflect.FieldDescriptor + fd_GenesisState_pools protoreflect.FieldDescriptor + fd_GenesisState_cardAuctionPrice protoreflect.FieldDescriptor + fd_GenesisState_councils protoreflect.FieldDescriptor + fd_GenesisState_RunningAverages protoreflect.FieldDescriptor + fd_GenesisState_images protoreflect.FieldDescriptor + fd_GenesisState_Servers protoreflect.FieldDescriptor + fd_GenesisState_lastCardModified protoreflect.FieldDescriptor + fd_GenesisState_zealys protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_genesis_proto_init() md_GenesisState = File_cardchain_cardchain_genesis_proto.Messages().ByName("GenesisState") fd_GenesisState_params = md_GenesisState.Fields().ByName("params") + fd_GenesisState_cardRecords = md_GenesisState.Fields().ByName("cardRecords") + fd_GenesisState_users = md_GenesisState.Fields().ByName("users") + fd_GenesisState_addresses = md_GenesisState.Fields().ByName("addresses") + fd_GenesisState_matches = md_GenesisState.Fields().ByName("matches") + fd_GenesisState_sets = md_GenesisState.Fields().ByName("sets") + fd_GenesisState_sellOffers = md_GenesisState.Fields().ByName("sellOffers") + fd_GenesisState_pools = md_GenesisState.Fields().ByName("pools") + fd_GenesisState_cardAuctionPrice = md_GenesisState.Fields().ByName("cardAuctionPrice") + fd_GenesisState_councils = md_GenesisState.Fields().ByName("councils") + fd_GenesisState_RunningAverages = md_GenesisState.Fields().ByName("RunningAverages") + fd_GenesisState_images = md_GenesisState.Fields().ByName("images") + fd_GenesisState_Servers = md_GenesisState.Fields().ByName("Servers") + fd_GenesisState_lastCardModified = md_GenesisState.Fields().ByName("lastCardModified") + fd_GenesisState_zealys = md_GenesisState.Fields().ByName("zealys") } var _ protoreflect.Message = (*fastReflection_GenesisState)(nil) @@ -96,11 +732,95 @@ func (x *fastReflection_GenesisState) Range(f func(protoreflect.FieldDescriptor, return } } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to + if len(x.CardRecords) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_2_list{list: &x.CardRecords}) + if !f(fd_GenesisState_cardRecords, value) { + return + } + } + if len(x.Users) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_3_list{list: &x.Users}) + if !f(fd_GenesisState_users, value) { + return + } + } + if len(x.Addresses) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_4_list{list: &x.Addresses}) + if !f(fd_GenesisState_addresses, value) { + return + } + } + if len(x.Matches) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_6_list{list: &x.Matches}) + if !f(fd_GenesisState_matches, value) { + return + } + } + if len(x.Sets) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_7_list{list: &x.Sets}) + if !f(fd_GenesisState_sets, value) { + return + } + } + if len(x.SellOffers) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_8_list{list: &x.SellOffers}) + if !f(fd_GenesisState_sellOffers, value) { + return + } + } + if len(x.Pools) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_9_list{list: &x.Pools}) + if !f(fd_GenesisState_pools, value) { + return + } + } + if x.CardAuctionPrice != nil { + value := protoreflect.ValueOfMessage(x.CardAuctionPrice.ProtoReflect()) + if !f(fd_GenesisState_cardAuctionPrice, value) { + return + } + } + if len(x.Councils) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_12_list{list: &x.Councils}) + if !f(fd_GenesisState_councils, value) { + return + } + } + if len(x.RunningAverages) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_13_list{list: &x.RunningAverages}) + if !f(fd_GenesisState_RunningAverages, value) { + return + } + } + if len(x.Images) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_14_list{list: &x.Images}) + if !f(fd_GenesisState_images, value) { + return + } + } + if len(x.Servers) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_15_list{list: &x.Servers}) + if !f(fd_GenesisState_Servers, value) { + return + } + } + if x.LastCardModified != nil { + value := protoreflect.ValueOfMessage(x.LastCardModified.ProtoReflect()) + if !f(fd_GenesisState_lastCardModified, value) { + return + } + } + if len(x.Zealys) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_17_list{list: &x.Zealys}) + if !f(fd_GenesisState_zealys, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to // distinguish between the default value of a field and whether the field // was explicitly populated with the default value. Singular message fields, // member fields of a oneof, and proto2 scalar fields are nullable. Such @@ -113,6 +833,34 @@ func (x *fastReflection_GenesisState) Has(fd protoreflect.FieldDescriptor) bool switch fd.FullName() { case "cardchain.cardchain.GenesisState.params": return x.Params != nil + case "cardchain.cardchain.GenesisState.cardRecords": + return len(x.CardRecords) != 0 + case "cardchain.cardchain.GenesisState.users": + return len(x.Users) != 0 + case "cardchain.cardchain.GenesisState.addresses": + return len(x.Addresses) != 0 + case "cardchain.cardchain.GenesisState.matches": + return len(x.Matches) != 0 + case "cardchain.cardchain.GenesisState.sets": + return len(x.Sets) != 0 + case "cardchain.cardchain.GenesisState.sellOffers": + return len(x.SellOffers) != 0 + case "cardchain.cardchain.GenesisState.pools": + return len(x.Pools) != 0 + case "cardchain.cardchain.GenesisState.cardAuctionPrice": + return x.CardAuctionPrice != nil + case "cardchain.cardchain.GenesisState.councils": + return len(x.Councils) != 0 + case "cardchain.cardchain.GenesisState.RunningAverages": + return len(x.RunningAverages) != 0 + case "cardchain.cardchain.GenesisState.images": + return len(x.Images) != 0 + case "cardchain.cardchain.GenesisState.Servers": + return len(x.Servers) != 0 + case "cardchain.cardchain.GenesisState.lastCardModified": + return x.LastCardModified != nil + case "cardchain.cardchain.GenesisState.zealys": + return len(x.Zealys) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -131,6 +879,34 @@ func (x *fastReflection_GenesisState) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { case "cardchain.cardchain.GenesisState.params": x.Params = nil + case "cardchain.cardchain.GenesisState.cardRecords": + x.CardRecords = nil + case "cardchain.cardchain.GenesisState.users": + x.Users = nil + case "cardchain.cardchain.GenesisState.addresses": + x.Addresses = nil + case "cardchain.cardchain.GenesisState.matches": + x.Matches = nil + case "cardchain.cardchain.GenesisState.sets": + x.Sets = nil + case "cardchain.cardchain.GenesisState.sellOffers": + x.SellOffers = nil + case "cardchain.cardchain.GenesisState.pools": + x.Pools = nil + case "cardchain.cardchain.GenesisState.cardAuctionPrice": + x.CardAuctionPrice = nil + case "cardchain.cardchain.GenesisState.councils": + x.Councils = nil + case "cardchain.cardchain.GenesisState.RunningAverages": + x.RunningAverages = nil + case "cardchain.cardchain.GenesisState.images": + x.Images = nil + case "cardchain.cardchain.GenesisState.Servers": + x.Servers = nil + case "cardchain.cardchain.GenesisState.lastCardModified": + x.LastCardModified = nil + case "cardchain.cardchain.GenesisState.zealys": + x.Zealys = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -150,6 +926,84 @@ func (x *fastReflection_GenesisState) Get(descriptor protoreflect.FieldDescripto case "cardchain.cardchain.GenesisState.params": value := x.Params return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.GenesisState.cardRecords": + if len(x.CardRecords) == 0 { + return protoreflect.ValueOfList(&_GenesisState_2_list{}) + } + listValue := &_GenesisState_2_list{list: &x.CardRecords} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.users": + if len(x.Users) == 0 { + return protoreflect.ValueOfList(&_GenesisState_3_list{}) + } + listValue := &_GenesisState_3_list{list: &x.Users} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.addresses": + if len(x.Addresses) == 0 { + return protoreflect.ValueOfList(&_GenesisState_4_list{}) + } + listValue := &_GenesisState_4_list{list: &x.Addresses} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.matches": + if len(x.Matches) == 0 { + return protoreflect.ValueOfList(&_GenesisState_6_list{}) + } + listValue := &_GenesisState_6_list{list: &x.Matches} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.sets": + if len(x.Sets) == 0 { + return protoreflect.ValueOfList(&_GenesisState_7_list{}) + } + listValue := &_GenesisState_7_list{list: &x.Sets} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.sellOffers": + if len(x.SellOffers) == 0 { + return protoreflect.ValueOfList(&_GenesisState_8_list{}) + } + listValue := &_GenesisState_8_list{list: &x.SellOffers} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.pools": + if len(x.Pools) == 0 { + return protoreflect.ValueOfList(&_GenesisState_9_list{}) + } + listValue := &_GenesisState_9_list{list: &x.Pools} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.cardAuctionPrice": + value := x.CardAuctionPrice + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.GenesisState.councils": + if len(x.Councils) == 0 { + return protoreflect.ValueOfList(&_GenesisState_12_list{}) + } + listValue := &_GenesisState_12_list{list: &x.Councils} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.RunningAverages": + if len(x.RunningAverages) == 0 { + return protoreflect.ValueOfList(&_GenesisState_13_list{}) + } + listValue := &_GenesisState_13_list{list: &x.RunningAverages} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.images": + if len(x.Images) == 0 { + return protoreflect.ValueOfList(&_GenesisState_14_list{}) + } + listValue := &_GenesisState_14_list{list: &x.Images} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.Servers": + if len(x.Servers) == 0 { + return protoreflect.ValueOfList(&_GenesisState_15_list{}) + } + listValue := &_GenesisState_15_list{list: &x.Servers} + return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.lastCardModified": + value := x.LastCardModified + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cardchain.cardchain.GenesisState.zealys": + if len(x.Zealys) == 0 { + return protoreflect.ValueOfList(&_GenesisState_17_list{}) + } + listValue := &_GenesisState_17_list{list: &x.Zealys} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -172,6 +1026,58 @@ func (x *fastReflection_GenesisState) Set(fd protoreflect.FieldDescriptor, value switch fd.FullName() { case "cardchain.cardchain.GenesisState.params": x.Params = value.Message().Interface().(*Params) + case "cardchain.cardchain.GenesisState.cardRecords": + lv := value.List() + clv := lv.(*_GenesisState_2_list) + x.CardRecords = *clv.list + case "cardchain.cardchain.GenesisState.users": + lv := value.List() + clv := lv.(*_GenesisState_3_list) + x.Users = *clv.list + case "cardchain.cardchain.GenesisState.addresses": + lv := value.List() + clv := lv.(*_GenesisState_4_list) + x.Addresses = *clv.list + case "cardchain.cardchain.GenesisState.matches": + lv := value.List() + clv := lv.(*_GenesisState_6_list) + x.Matches = *clv.list + case "cardchain.cardchain.GenesisState.sets": + lv := value.List() + clv := lv.(*_GenesisState_7_list) + x.Sets = *clv.list + case "cardchain.cardchain.GenesisState.sellOffers": + lv := value.List() + clv := lv.(*_GenesisState_8_list) + x.SellOffers = *clv.list + case "cardchain.cardchain.GenesisState.pools": + lv := value.List() + clv := lv.(*_GenesisState_9_list) + x.Pools = *clv.list + case "cardchain.cardchain.GenesisState.cardAuctionPrice": + x.CardAuctionPrice = value.Message().Interface().(*v1beta1.Coin) + case "cardchain.cardchain.GenesisState.councils": + lv := value.List() + clv := lv.(*_GenesisState_12_list) + x.Councils = *clv.list + case "cardchain.cardchain.GenesisState.RunningAverages": + lv := value.List() + clv := lv.(*_GenesisState_13_list) + x.RunningAverages = *clv.list + case "cardchain.cardchain.GenesisState.images": + lv := value.List() + clv := lv.(*_GenesisState_14_list) + x.Images = *clv.list + case "cardchain.cardchain.GenesisState.Servers": + lv := value.List() + clv := lv.(*_GenesisState_15_list) + x.Servers = *clv.list + case "cardchain.cardchain.GenesisState.lastCardModified": + x.LastCardModified = value.Message().Interface().(*TimeStamp) + case "cardchain.cardchain.GenesisState.zealys": + lv := value.List() + clv := lv.(*_GenesisState_17_list) + x.Zealys = *clv.list default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -197,6 +1103,88 @@ func (x *fastReflection_GenesisState) Mutable(fd protoreflect.FieldDescriptor) p x.Params = new(Params) } return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + case "cardchain.cardchain.GenesisState.cardRecords": + if x.CardRecords == nil { + x.CardRecords = []*Card{} + } + value := &_GenesisState_2_list{list: &x.CardRecords} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.users": + if x.Users == nil { + x.Users = []*User{} + } + value := &_GenesisState_3_list{list: &x.Users} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.addresses": + if x.Addresses == nil { + x.Addresses = []string{} + } + value := &_GenesisState_4_list{list: &x.Addresses} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.matches": + if x.Matches == nil { + x.Matches = []*Match{} + } + value := &_GenesisState_6_list{list: &x.Matches} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.sets": + if x.Sets == nil { + x.Sets = []*Set{} + } + value := &_GenesisState_7_list{list: &x.Sets} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.sellOffers": + if x.SellOffers == nil { + x.SellOffers = []*SellOffer{} + } + value := &_GenesisState_8_list{list: &x.SellOffers} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.pools": + if x.Pools == nil { + x.Pools = []*v1beta1.Coin{} + } + value := &_GenesisState_9_list{list: &x.Pools} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.cardAuctionPrice": + if x.CardAuctionPrice == nil { + x.CardAuctionPrice = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.CardAuctionPrice.ProtoReflect()) + case "cardchain.cardchain.GenesisState.councils": + if x.Councils == nil { + x.Councils = []*Council{} + } + value := &_GenesisState_12_list{list: &x.Councils} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.RunningAverages": + if x.RunningAverages == nil { + x.RunningAverages = []*RunningAverage{} + } + value := &_GenesisState_13_list{list: &x.RunningAverages} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.images": + if x.Images == nil { + x.Images = []*Image{} + } + value := &_GenesisState_14_list{list: &x.Images} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.Servers": + if x.Servers == nil { + x.Servers = []*Server{} + } + value := &_GenesisState_15_list{list: &x.Servers} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.lastCardModified": + if x.LastCardModified == nil { + x.LastCardModified = new(TimeStamp) + } + return protoreflect.ValueOfMessage(x.LastCardModified.ProtoReflect()) + case "cardchain.cardchain.GenesisState.zealys": + if x.Zealys == nil { + x.Zealys = []*Zealy{} + } + value := &_GenesisState_17_list{list: &x.Zealys} + return protoreflect.ValueOfList(value) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -213,6 +1201,48 @@ func (x *fastReflection_GenesisState) NewField(fd protoreflect.FieldDescriptor) case "cardchain.cardchain.GenesisState.params": m := new(Params) return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.GenesisState.cardRecords": + list := []*Card{} + return protoreflect.ValueOfList(&_GenesisState_2_list{list: &list}) + case "cardchain.cardchain.GenesisState.users": + list := []*User{} + return protoreflect.ValueOfList(&_GenesisState_3_list{list: &list}) + case "cardchain.cardchain.GenesisState.addresses": + list := []string{} + return protoreflect.ValueOfList(&_GenesisState_4_list{list: &list}) + case "cardchain.cardchain.GenesisState.matches": + list := []*Match{} + return protoreflect.ValueOfList(&_GenesisState_6_list{list: &list}) + case "cardchain.cardchain.GenesisState.sets": + list := []*Set{} + return protoreflect.ValueOfList(&_GenesisState_7_list{list: &list}) + case "cardchain.cardchain.GenesisState.sellOffers": + list := []*SellOffer{} + return protoreflect.ValueOfList(&_GenesisState_8_list{list: &list}) + case "cardchain.cardchain.GenesisState.pools": + list := []*v1beta1.Coin{} + return protoreflect.ValueOfList(&_GenesisState_9_list{list: &list}) + case "cardchain.cardchain.GenesisState.cardAuctionPrice": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.GenesisState.councils": + list := []*Council{} + return protoreflect.ValueOfList(&_GenesisState_12_list{list: &list}) + case "cardchain.cardchain.GenesisState.RunningAverages": + list := []*RunningAverage{} + return protoreflect.ValueOfList(&_GenesisState_13_list{list: &list}) + case "cardchain.cardchain.GenesisState.images": + list := []*Image{} + return protoreflect.ValueOfList(&_GenesisState_14_list{list: &list}) + case "cardchain.cardchain.GenesisState.Servers": + list := []*Server{} + return protoreflect.ValueOfList(&_GenesisState_15_list{list: &list}) + case "cardchain.cardchain.GenesisState.lastCardModified": + m := new(TimeStamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cardchain.cardchain.GenesisState.zealys": + list := []*Zealy{} + return protoreflect.ValueOfList(&_GenesisState_17_list{list: &list}) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -286,6 +1316,86 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { l = options.Size(x.Params) n += 1 + l + runtime.Sov(uint64(l)) } + if len(x.CardRecords) > 0 { + for _, e := range x.CardRecords { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.Users) > 0 { + for _, e := range x.Users { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.Addresses) > 0 { + for _, s := range x.Addresses { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.Matches) > 0 { + for _, e := range x.Matches { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.Sets) > 0 { + for _, e := range x.Sets { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.SellOffers) > 0 { + for _, e := range x.SellOffers { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.Pools) > 0 { + for _, e := range x.Pools { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.CardAuctionPrice != nil { + l = options.Size(x.CardAuctionPrice) + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Councils) > 0 { + for _, e := range x.Councils { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.RunningAverages) > 0 { + for _, e := range x.RunningAverages { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.Images) > 0 { + for _, e := range x.Images { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.Servers) > 0 { + for _, e := range x.Servers { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.LastCardModified != nil { + l = options.Size(x.LastCardModified) + n += 2 + l + runtime.Sov(uint64(l)) + } + if len(x.Zealys) > 0 { + for _, e := range x.Zealys { + l = options.Size(e) + n += 2 + l + runtime.Sov(uint64(l)) + } + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -315,6 +1425,223 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.Zealys) > 0 { + for iNdEx := len(x.Zealys) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Zealys[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + } + if x.LastCardModified != nil { + encoded, err := options.Marshal(x.LastCardModified) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + if len(x.Servers) > 0 { + for iNdEx := len(x.Servers) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Servers[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x7a + } + } + if len(x.Images) > 0 { + for iNdEx := len(x.Images) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Images[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x72 + } + } + if len(x.RunningAverages) > 0 { + for iNdEx := len(x.RunningAverages) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.RunningAverages[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x6a + } + } + if len(x.Councils) > 0 { + for iNdEx := len(x.Councils) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Councils[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x62 + } + } + if x.CardAuctionPrice != nil { + encoded, err := options.Marshal(x.CardAuctionPrice) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x5a + } + if len(x.Pools) > 0 { + for iNdEx := len(x.Pools) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Pools[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x4a + } + } + if len(x.SellOffers) > 0 { + for iNdEx := len(x.SellOffers) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.SellOffers[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x42 + } + } + if len(x.Sets) > 0 { + for iNdEx := len(x.Sets) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Sets[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x3a + } + } + if len(x.Matches) > 0 { + for iNdEx := len(x.Matches) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Matches[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x32 + } + } + if len(x.Addresses) > 0 { + for iNdEx := len(x.Addresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Addresses[iNdEx]) + copy(dAtA[i:], x.Addresses[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Addresses[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } + if len(x.Users) > 0 { + for iNdEx := len(x.Users) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Users[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + } + if len(x.CardRecords) > 0 { + for iNdEx := len(x.CardRecords) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.CardRecords[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + } if x.Params != nil { encoded, err := options.Marshal(x.Params) if err != nil { @@ -359,28 +1686,336 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow } - if iNdEx >= l { + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GenesisState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GenesisState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Params == nil { + x.Params = &Params{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardRecords", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.CardRecords = append(x.CardRecords, &Card{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CardRecords[len(x.CardRecords)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Users", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Users = append(x.Users, &User{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Users[len(x.Users)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Addresses = append(x.Addresses, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Matches", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Matches = append(x.Matches, &Match{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Matches[len(x.Matches)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Sets", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Sets = append(x.Sets, &Set{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Sets[len(x.Sets)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SellOffers", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.SellOffers = append(x.SellOffers, &SellOffer{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.SellOffers[len(x.SellOffers)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pools", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Pools = append(x.Pools, &v1beta1.Coin{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pools[len(x.Pools)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardAuctionPrice", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if x.CardAuctionPrice == nil { + x.CardAuctionPrice = &v1beta1.Coin{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GenesisState: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: GenesisState: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CardAuctionPrice); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 12: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Councils", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -407,10 +2042,180 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.Params == nil { - x.Params = &Params{} + x.Councils = append(x.Councils, &Council{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Councils[len(x.Councils)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { + iNdEx = postIndex + case 13: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RunningAverages", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.RunningAverages = append(x.RunningAverages, &RunningAverage{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.RunningAverages[len(x.RunningAverages)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Images", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Images = append(x.Images, &Image{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Images[len(x.Images)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 15: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Servers", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Servers = append(x.Servers, &Server{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Servers[len(x.Servers)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 16: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field LastCardModified", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.LastCardModified == nil { + x.LastCardModified = &TimeStamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.LastCardModified); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Zealys", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Zealys = append(x.Zealys, &Zealy{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Zealys[len(x.Zealys)-1]); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex @@ -469,7 +2274,21 @@ type GenesisState struct { unknownFields protoimpl.UnknownFields // params defines all the parameters of the module. - Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` + CardRecords []*Card `protobuf:"bytes,2,rep,name=cardRecords,proto3" json:"cardRecords,omitempty"` + 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"` + 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 []*v1beta1.Coin `protobuf:"bytes,9,rep,name=pools,proto3" json:"pools,omitempty"` + CardAuctionPrice *v1beta1.Coin `protobuf:"bytes,11,opt,name=cardAuctionPrice,proto3" json:"cardAuctionPrice,omitempty"` + Councils []*Council `protobuf:"bytes,12,rep,name=councils,proto3" json:"councils,omitempty"` + 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"` + Zealys []*Zealy `protobuf:"bytes,17,rep,name=zealys,proto3" json:"zealys,omitempty"` } func (x *GenesisState) Reset() { @@ -499,6 +2318,104 @@ func (x *GenesisState) GetParams() *Params { return nil } +func (x *GenesisState) GetCardRecords() []*Card { + if x != nil { + return x.CardRecords + } + return nil +} + +func (x *GenesisState) GetUsers() []*User { + if x != nil { + return x.Users + } + return nil +} + +func (x *GenesisState) GetAddresses() []string { + if x != nil { + return x.Addresses + } + return nil +} + +func (x *GenesisState) GetMatches() []*Match { + if x != nil { + return x.Matches + } + return nil +} + +func (x *GenesisState) GetSets() []*Set { + if x != nil { + return x.Sets + } + return nil +} + +func (x *GenesisState) GetSellOffers() []*SellOffer { + if x != nil { + return x.SellOffers + } + return nil +} + +func (x *GenesisState) GetPools() []*v1beta1.Coin { + if x != nil { + return x.Pools + } + return nil +} + +func (x *GenesisState) GetCardAuctionPrice() *v1beta1.Coin { + if x != nil { + return x.CardAuctionPrice + } + return nil +} + +func (x *GenesisState) GetCouncils() []*Council { + if x != nil { + return x.Councils + } + return nil +} + +func (x *GenesisState) GetRunningAverages() []*RunningAverage { + if x != nil { + return x.RunningAverages + } + return nil +} + +func (x *GenesisState) GetImages() []*Image { + if x != nil { + return x.Images + } + return nil +} + +func (x *GenesisState) GetServers() []*Server { + if x != nil { + return x.Servers + } + return nil +} + +func (x *GenesisState) GetLastCardModified() *TimeStamp { + if x != nil { + return x.LastCardModified + } + return nil +} + +func (x *GenesisState) GetZealys() []*Zealy { + if x != nil { + return x.Zealys + } + return nil +} + var File_cardchain_cardchain_genesis_proto protoreflect.FileDescriptor var file_cardchain_cardchain_genesis_proto_rawDesc = []byte{ @@ -510,26 +2427,100 @@ var file_cardchain_cardchain_genesis_proto_rawDesc = []byte{ 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x42, 0xd4, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, - 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, - 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, - 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6, 0x06, 0x0a, 0x0c, + 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, + 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3b, 0x0a, 0x0b, + 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x63, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x75, 0x73, 0x65, + 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x2c, + 0x0a, 0x04, 0x73, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x04, 0x73, 0x65, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0a, + 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x05, + 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x05, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x4b, 0x0a, + 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x63, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x52, 0x0f, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0e, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x07, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x50, + 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x10, + 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x12, 0x32, 0x0a, 0x06, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x06, 0x7a, 0x65, + 0x61, 0x6c, 0x79, 0x73, 0x42, 0xd4, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -546,16 +2537,41 @@ func file_cardchain_cardchain_genesis_proto_rawDescGZIP() []byte { var file_cardchain_cardchain_genesis_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_cardchain_cardchain_genesis_proto_goTypes = []interface{}{ - (*GenesisState)(nil), // 0: cardchain.cardchain.GenesisState - (*Params)(nil), // 1: cardchain.cardchain.Params + (*GenesisState)(nil), // 0: cardchain.cardchain.GenesisState + (*Params)(nil), // 1: cardchain.cardchain.Params + (*Card)(nil), // 2: cardchain.cardchain.Card + (*User)(nil), // 3: cardchain.cardchain.User + (*Match)(nil), // 4: cardchain.cardchain.Match + (*Set)(nil), // 5: cardchain.cardchain.Set + (*SellOffer)(nil), // 6: cardchain.cardchain.SellOffer + (*v1beta1.Coin)(nil), // 7: cosmos.base.v1beta1.Coin + (*Council)(nil), // 8: cardchain.cardchain.Council + (*RunningAverage)(nil), // 9: cardchain.cardchain.RunningAverage + (*Image)(nil), // 10: cardchain.cardchain.Image + (*Server)(nil), // 11: cardchain.cardchain.Server + (*TimeStamp)(nil), // 12: cardchain.cardchain.TimeStamp + (*Zealy)(nil), // 13: cardchain.cardchain.Zealy } var file_cardchain_cardchain_genesis_proto_depIdxs = []int32{ - 1, // 0: cardchain.cardchain.GenesisState.params:type_name -> cardchain.cardchain.Params - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name + 1, // 0: cardchain.cardchain.GenesisState.params:type_name -> cardchain.cardchain.Params + 2, // 1: cardchain.cardchain.GenesisState.cardRecords:type_name -> cardchain.cardchain.Card + 3, // 2: cardchain.cardchain.GenesisState.users:type_name -> cardchain.cardchain.User + 4, // 3: cardchain.cardchain.GenesisState.matches:type_name -> cardchain.cardchain.Match + 5, // 4: cardchain.cardchain.GenesisState.sets:type_name -> cardchain.cardchain.Set + 6, // 5: cardchain.cardchain.GenesisState.sellOffers:type_name -> cardchain.cardchain.SellOffer + 7, // 6: cardchain.cardchain.GenesisState.pools:type_name -> cosmos.base.v1beta1.Coin + 7, // 7: cardchain.cardchain.GenesisState.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin + 8, // 8: cardchain.cardchain.GenesisState.councils:type_name -> cardchain.cardchain.Council + 9, // 9: cardchain.cardchain.GenesisState.RunningAverages:type_name -> cardchain.cardchain.RunningAverage + 10, // 10: cardchain.cardchain.GenesisState.images:type_name -> cardchain.cardchain.Image + 11, // 11: cardchain.cardchain.GenesisState.Servers:type_name -> cardchain.cardchain.Server + 12, // 12: cardchain.cardchain.GenesisState.lastCardModified:type_name -> cardchain.cardchain.TimeStamp + 13, // 13: cardchain.cardchain.GenesisState.zealys:type_name -> cardchain.cardchain.Zealy + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_cardchain_cardchain_genesis_proto_init() } @@ -564,6 +2580,16 @@ func file_cardchain_cardchain_genesis_proto_init() { return } file_cardchain_cardchain_params_proto_init() + file_cardchain_cardchain_card_proto_init() + file_cardchain_cardchain_user_proto_init() + file_cardchain_cardchain_match_proto_init() + file_cardchain_cardchain_set_proto_init() + file_cardchain_cardchain_sell_offer_proto_init() + file_cardchain_cardchain_running_average_proto_init() + file_cardchain_cardchain_council_proto_init() + file_cardchain_cardchain_image_proto_init() + file_cardchain_cardchain_server_proto_init() + file_cardchain_cardchain_zealy_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_genesis_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenesisState); i { diff --git a/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto index 27ab3915..6350eb9b 100644 --- a/proto/cardchain/cardchain/genesis.proto +++ b/proto/cardchain/cardchain/genesis.proto @@ -5,12 +5,22 @@ package cardchain.cardchain; import "amino/amino.proto"; import "gogoproto/gogo.proto"; import "cardchain/cardchain/params.proto"; +import "cardchain/cardchain/card.proto"; +import "cardchain/cardchain/user.proto"; +import "cardchain/cardchain/match.proto"; +import "cardchain/cardchain/set.proto"; +import "cardchain/cardchain/sell_offer.proto"; +import "cardchain/cardchain/running_average.proto"; +import "cardchain/cardchain/council.proto"; +import "cardchain/cardchain/image.proto"; +import "cardchain/cardchain/server.proto"; +import "cardchain/cardchain/zealy.proto"; +import "cosmos/base/v1beta1/coin.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; // GenesisState defines the cardchain module's genesis state. message GenesisState { - // params defines all the parameters of the module. Params params = 1 [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; @@ -21,14 +31,12 @@ message GenesisState { 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" - ]; + cosmos.base.v1beta1.Coin cardAuctionPrice = 11 + [ (gogoproto.nullable) = false ]; repeated Council councils = 12; repeated RunningAverage RunningAverages = 13; repeated Image images = 14; repeated Server Servers = 15; - TimeStamp lastCardModified = 16; + TimeStamp lastCardModified = 16 [ (gogoproto.nullable) = false ]; repeated Zealy zealys = 17; } diff --git a/x/cardchain/keeper/card.go b/x/cardchain/keeper/card.go index 96fad301..572097e2 100644 --- a/x/cardchain/keeper/card.go +++ b/x/cardchain/keeper/card.go @@ -8,15 +8,15 @@ import ( // 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.lastCardModified.Set(ctx, &timeStamp) + k.LastCardModified.Set(ctx, &timeStamp) } // SetCardToTrial Sets a card to trial func (k Keeper) SetCardToTrial(ctx sdk.Context, cardId uint64, votePool sdk.Coin) { - card := k.cards.Get(ctx, cardId) + card := k.CardK.Get(ctx, cardId) card.ResetVotes() card.VotePool = card.VotePool.Add(votePool) card.Status = types.CardStatus_trial - k.cards.Set(ctx, cardId, card) + k.CardK.Set(ctx, cardId, card) k.SetLastCardModifiedNow(ctx) } diff --git a/x/cardchain/keeper/council.go b/x/cardchain/keeper/council.go index 5da16e2a..12ba8e5e 100644 --- a/x/cardchain/keeper/council.go +++ b/x/cardchain/keeper/council.go @@ -77,12 +77,12 @@ func (k Keeper) TryEvaluate(ctx sdk.Context, council *types.Council) error { // CheckTrial Checks for councils that shouldn't be in trial anymore func (k Keeper) CheckTrial(ctx sdk.Context) error { collateralDeposit := k.GetParams(ctx).CollateralDeposit - iter := k.councils.GetItemIterator(ctx) + iter := k.Councils.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, council := iter.Value() if council.Status == types.CouncelingStatus_revealed { if council.TrialStart+k.GetParams(ctx).TrialPeriod <= uint64(ctx.BlockHeight()) { - card := k.cards.Get(ctx, council.CardId) + card := k.CardK.Get(ctx, council.CardId) var ( group []string @@ -97,7 +97,7 @@ func (k Keeper) CheckTrial(ctx sdk.Context) error { }) if votes[len(votes)-1] == 0 { council.TrialStart = uint64(ctx.BlockHeight()) - k.councils.Set(ctx, idx, council) + k.Councils.Set(ctx, idx, council) continue } if card.FairEnoughVotes == votes[len(votes)-1] { @@ -133,8 +133,8 @@ func (k Keeper) CheckTrial(ctx sdk.Context) error { card.VotePool = card.VotePool.Sub(card.VotePool) council.Status = types.CouncelingStatus_councilClosed - k.councils.Set(ctx, idx, council) - k.cards.Set(ctx, council.CardId, card) + k.Councils.Set(ctx, idx, council) + k.CardK.Set(ctx, council.CardId, card) } } } diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index ecb71f18..e904d825 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -18,21 +18,21 @@ type Keeper struct { storeService store.KVStoreService logger log.Logger - cards gtk.GenericUint64TypeKeeper[*types.Card] - councils gtk.GenericUint64TypeKeeper[*types.Council] - sellOffers gtk.GenericUint64TypeKeeper[*types.SellOffer] - sets gtk.GenericUint64TypeKeeper[*types.Set] - matches gtk.GenericUint64TypeKeeper[*types.Match] - servers gtk.GenericUint64TypeKeeper[*types.Server] + CardK gtk.GenericUint64TypeKeeper[*types.Card] + Councils gtk.GenericUint64TypeKeeper[*types.Council] + SellOfferK gtk.GenericUint64TypeKeeper[*types.SellOffer] + Setk gtk.GenericUint64TypeKeeper[*types.Set] + MatchK gtk.GenericUint64TypeKeeper[*types.Match] + Servers gtk.GenericUint64TypeKeeper[*types.Server] RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] - images gtk.GenericUint64TypeKeeper[*types.Image] - encounters gtk.GenericUint64TypeKeeper[*types.Encounter] - users gtk.GenericAddressTypeKeeper[*types.User] - zealy gtk.GenericStringTypeKeeper[*types.Zealy] - lastCardModified gtk.SingleValueGenericTypeKeeper[*types.TimeStamp] - cardAuctionPrice gtk.SingleValueGenericTypeKeeper[*sdk.Coin] - lastVotingResults gtk.SingleValueGenericTypeKeeper[*types.VotingResults] + Images gtk.GenericUint64TypeKeeper[*types.Image] + Encounterk gtk.GenericUint64TypeKeeper[*types.Encounter] + Users gtk.GenericAddressTypeKeeper[*types.User] + Zealy gtk.GenericStringTypeKeeper[*types.Zealy] + LastCardModified gtk.SingleValueGenericTypeKeeper[*types.TimeStamp] + CardAuctionPrice gtk.SingleValueGenericTypeKeeper[*sdk.Coin] + LastVotingResults gtk.SingleValueGenericTypeKeeper[*types.VotingResults] // the address capable of executing a MsgUpdateParams message. Typically, this // should be the x/gov module account. @@ -60,21 +60,21 @@ func NewKeeper( authority: authority, logger: logger, - cards: gtk.NewUintGTK[*types.Card]("Cards", storeService, cdc, gtk.GetEmpty[types.Card]), - councils: gtk.NewUintGTK[*types.Council]("Councils", storeService, cdc, gtk.GetEmpty[types.Council]), - sellOffers: gtk.NewUintGTK[*types.SellOffer]("SellOffers", storeService, cdc, gtk.GetEmpty[types.SellOffer]), - sets: gtk.NewUintGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), - matches: gtk.NewUintGTK[*types.Match]("Matches", storeService, cdc, gtk.GetEmpty[types.Match]), + CardK: gtk.NewUintGTK[*types.Card]("Cards", storeService, cdc, gtk.GetEmpty[types.Card]), + Councils: gtk.NewUintGTK[*types.Council]("Councils", storeService, cdc, gtk.GetEmpty[types.Council]), + SellOfferK: gtk.NewUintGTK[*types.SellOffer]("SellOffers", storeService, cdc, gtk.GetEmpty[types.SellOffer]), + Setk: gtk.NewUintGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), + MatchK: gtk.NewUintGTK[*types.Match]("Matches", storeService, cdc, gtk.GetEmpty[types.Match]), RunningAverages: gtk.NewKGTK[*types.RunningAverage]("RunningAverages", storeService, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), Pools: gtk.NewKGTK[*sdk.Coin]("Pools", storeService, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), - images: gtk.NewUintGTK[*types.Image]("Images", storeService, cdc, gtk.GetEmpty[types.Image]), - servers: gtk.NewUintGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), - encounters: gtk.NewUintGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), - users: gtk.NewAddressGTK[*types.User]("Users", storeService, cdc, gtk.GetEmpty[types.User]), - zealy: gtk.NewStringGTK[*types.Zealy]("Zealy", storeService, cdc, gtk.GetEmpty[types.Zealy]), - lastCardModified: gtk.NewSingleValueGenericTypeKeeper[*types.TimeStamp]("LastCardModified", storeService, cdc, gtk.GetEmpty[types.TimeStamp]), - cardAuctionPrice: gtk.NewSingleValueGenericTypeKeeper[*sdk.Coin]("CardAuctionPrice", storeService, cdc, gtk.GetEmpty[sdk.Coin]), - lastVotingResults: gtk.NewSingleValueGenericTypeKeeper[*types.VotingResults]("LastVotingResults", storeService, cdc, gtk.GetEmpty[types.VotingResults]), + Images: gtk.NewUintGTK[*types.Image]("Images", storeService, cdc, gtk.GetEmpty[types.Image]), + Servers: gtk.NewUintGTK[*types.Server]("Servers", storeService, cdc, gtk.GetEmpty[types.Server]), + Encounterk: gtk.NewUintGTK[*types.Encounter]("Encounters", storeService, cdc, gtk.GetEmpty[types.Encounter]), + Users: gtk.NewAddressGTK[*types.User]("Users", storeService, cdc, gtk.GetEmpty[types.User]), + Zealy: gtk.NewStringGTK[*types.Zealy]("Zealy", storeService, cdc, gtk.GetEmpty[types.Zealy]), + LastCardModified: gtk.NewSingleValueGenericTypeKeeper[*types.TimeStamp]("LastCardModified", storeService, cdc, gtk.GetEmpty[types.TimeStamp]), + CardAuctionPrice: gtk.NewSingleValueGenericTypeKeeper[*sdk.Coin]("CardAuctionPrice", storeService, cdc, gtk.GetEmpty[sdk.Coin]), + LastVotingResults: gtk.NewSingleValueGenericTypeKeeper[*types.VotingResults]("LastVotingResults", storeService, cdc, gtk.GetEmpty[types.VotingResults]), FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), BankKeeper: bankKeeper, diff --git a/x/cardchain/keeper/match.go b/x/cardchain/keeper/match.go index aa34bb22..ec6d986c 100644 --- a/x/cardchain/keeper/match.go +++ b/x/cardchain/keeper/match.go @@ -82,7 +82,7 @@ func (k Keeper) distributeCoins(ctx sdk.Context, match *types.Match, outcome typ } k.SubPoolCredits(ctx, WinnersPoolKey, amounts[idx]) - user := k.users.Get(ctx, address) + user := k.Users.Get(ctx, address) userObj := User{Addr: address, User: user} k.ClaimAirDrop(ctx, &userObj, types.AirDrop_play) k.SetUserFromUser(ctx, userObj) @@ -97,9 +97,9 @@ func (k Keeper) distributeCoins(ctx sdk.Context, match *types.Match, outcome typ if outcome != types.Outcome_Aborted { for _, address := range addresses { - user := k.users.Get(ctx, address) + user := k.Users.Get(ctx, address) // TODO: Whats going on here - k.users.Set(ctx, address, user) + k.Users.Set(ctx, address, user) } } @@ -199,7 +199,7 @@ func (k Keeper) MatchWorker(ctx sdk.Context) { now := uint64(ctx.BlockHeight()) matchWorkerDelay := k.GetParams(ctx).MatchWorkerDelay if ctx.BlockHeight()%20 == 0 { - matchIter := k.matches.GetItemIterator(ctx) + matchIter := k.MatchK.GetItemIterator(ctx) for ; matchIter.Valid(); matchIter.Next() { id, match := matchIter.Value() if !match.CoinsDistributed && match.Timestamp != 0 && match.Timestamp+matchWorkerDelay < now { @@ -209,7 +209,7 @@ func (k Keeper) MatchWorker(ctx sdk.Context) { match.Outcome = types.Outcome_Aborted match.CoinsDistributed = true } - k.matches.Set(ctx, id, match) + k.MatchK.Set(ctx, id, match) } } } diff --git a/x/cardchain/keeper/msg_server_booster_pack_buy.go b/x/cardchain/keeper/msg_server_booster_pack_buy.go index d30784e2..16696a0e 100644 --- a/x/cardchain/keeper/msg_server_booster_pack_buy.go +++ b/x/cardchain/keeper/msg_server_booster_pack_buy.go @@ -22,7 +22,7 @@ func (k msgServer) BoosterPackBuy(goCtx context.Context, msg *types.MsgBoosterPa return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - set := k.sets.Get(ctx, msg.SetId) + set := k.Setk.Get(ctx, msg.SetId) if set.Status != types.SetStatus_active { return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invalid set status: %s", set.Status) diff --git a/x/cardchain/keeper/msg_server_booster_pack_open.go b/x/cardchain/keeper/msg_server_booster_pack_open.go index a4e47c20..c13803bb 100644 --- a/x/cardchain/keeper/msg_server_booster_pack_open.go +++ b/x/cardchain/keeper/msg_server_booster_pack_open.go @@ -34,7 +34,7 @@ func (k msgServer) BoosterPackOpen(goCtx context.Context, msg *types.MsgBoosterP cleanedRatios [3]uint64 ) pack := creator.BoosterPacks[msg.BoosterPackId] - set := k.sets.Get(ctx, pack.SetId) + set := k.Setk.Get(ctx, pack.SetId) for idx, ratio := range pack.DropRatiosPerPack { if len(set.Rarities[idx+2].R) == 0 { diff --git a/x/cardchain/keeper/msg_server_card_artist_change.go b/x/cardchain/keeper/msg_server_card_artist_change.go index 15b096a1..a256dcbc 100644 --- a/x/cardchain/keeper/msg_server_card_artist_change.go +++ b/x/cardchain/keeper/msg_server_card_artist_change.go @@ -12,7 +12,7 @@ import ( func (k msgServer) CardArtistChange(goCtx context.Context, msg *types.MsgCardArtistChange) (*types.MsgCardArtistChangeResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - card := k.cards.Get(ctx, msg.CardId) + card := k.CardK.Get(ctx, msg.CardId) if card.Status != types.CardStatus_prototype { return nil, errorsmod.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype to be changeable") @@ -29,7 +29,7 @@ func (k msgServer) CardArtistChange(goCtx context.Context, msg *types.MsgCardArt card.Artist = newArtist.String() - k.cards.Set(ctx, msg.CardId, card) + k.CardK.Set(ctx, msg.CardId, card) return &types.MsgCardArtistChangeResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_artwork_add.go b/x/cardchain/keeper/msg_server_card_artwork_add.go index 685542aa..0a733e31 100644 --- a/x/cardchain/keeper/msg_server_card_artwork_add.go +++ b/x/cardchain/keeper/msg_server_card_artwork_add.go @@ -12,8 +12,8 @@ import ( func (k msgServer) CardArtworkAdd(goCtx context.Context, msg *types.MsgCardArtworkAdd) (*types.MsgCardArtworkAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - card := k.cards.Get(ctx, msg.CardId) - image := k.images.Get(ctx, card.ImageId) + card := k.CardK.Get(ctx, msg.CardId) + image := k.Images.Get(ctx, card.ImageId) councilEnabled, err := k.FeatureFlagModuleInstance.Get(ctx, string(types.FeatureFlagName_Council)) if err != nil { @@ -35,8 +35,8 @@ func (k msgServer) CardArtworkAdd(goCtx context.Context, msg *types.MsgCardArtwo card.Status = types.CardStatus_permanent } - k.cards.Set(ctx, msg.CardId, card) - k.images.Set(ctx, card.ImageId, image) + k.CardK.Set(ctx, msg.CardId, card) + k.Images.Set(ctx, card.ImageId, image) return &types.MsgCardArtworkAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_donate.go b/x/cardchain/keeper/msg_server_card_donate.go index 21b4f960..58fe4092 100644 --- a/x/cardchain/keeper/msg_server_card_donate.go +++ b/x/cardchain/keeper/msg_server_card_donate.go @@ -17,9 +17,9 @@ func (k msgServer) CardDonate(goCtx context.Context, msg *types.MsgCardDonate) ( return nil, errorsmod.Wrap(sdkerrors.ErrInsufficientFunds, "Donator does not have enough coins") } - card := k.cards.Get(ctx, msg.CardId) + card := k.CardK.Get(ctx, msg.CardId) card.VotePool = card.VotePool.Add(msg.Amount) - k.cards.Set(ctx, msg.CardId, card) + k.CardK.Set(ctx, msg.CardId, card) return &types.MsgCardDonateResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_rarity_set.go b/x/cardchain/keeper/msg_server_card_rarity_set.go index cdc13afe..ce66538b 100644 --- a/x/cardchain/keeper/msg_server_card_rarity_set.go +++ b/x/cardchain/keeper/msg_server_card_rarity_set.go @@ -13,15 +13,15 @@ import ( func (k msgServer) CardRaritySet(goCtx context.Context, msg *types.MsgCardRaritySet) (*types.MsgCardRaritySetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - card := k.cards.Get(ctx, msg.CardId) - set := k.sets.Get(ctx, msg.SetId) + card := k.CardK.Get(ctx, msg.CardId) + set := k.Setk.Get(ctx, msg.SetId) if set.Contributors[0] != msg.Creator || !slices.Contains(set.Cards, msg.CardId) { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Creator") } card.Rarity = msg.Rarity - k.cards.Set(ctx, msg.CardId, card) + k.CardK.Set(ctx, msg.CardId, card) return &types.MsgCardRaritySetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_card_save_content.go b/x/cardchain/keeper/msg_server_card_save_content.go index 4380c81a..f2d92483 100644 --- a/x/cardchain/keeper/msg_server_card_save_content.go +++ b/x/cardchain/keeper/msg_server_card_save_content.go @@ -14,7 +14,7 @@ import ( func (k msgServer) CardSaveContent(goCtx context.Context, msg *types.MsgCardSaveContent) (*types.MsgCardSaveContentResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - card := k.cards.Get(ctx, msg.CardId) + card := k.CardK.Get(ctx, msg.CardId) councilEnabled, err := k.FeatureFlagModuleInstance.Get(ctx, string(types.FeatureFlagName_Council)) if err != nil { return nil, err @@ -66,7 +66,7 @@ func (k msgServer) CardSaveContent(goCtx context.Context, msg *types.MsgCardSave } else { card.Status = types.CardStatus_permanent } - k.cards.Set(ctx, msg.CardId, card) + k.CardK.Set(ctx, msg.CardId, card) k.SetLastCardModifiedNow(ctx) return &types.MsgCardSaveContentResponse{AirdropClaimed: claimedAirdrop}, nil diff --git a/x/cardchain/keeper/msg_server_card_scheme_buy.go b/x/cardchain/keeper/msg_server_card_scheme_buy.go index 32029a82..b0b0a183 100644 --- a/x/cardchain/keeper/msg_server_card_scheme_buy.go +++ b/x/cardchain/keeper/msg_server_card_scheme_buy.go @@ -14,8 +14,8 @@ import ( func (k msgServer) CardSchemeBuy(goCtx context.Context, msg *types.MsgCardSchemeBuy) (*types.MsgCardSchemeBuyResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - currId := k.cards.GetNum(ctx) - price := *k.cardAuctionPrice.Get(ctx) + currId := k.CardK.GetNum(ctx) + price := *k.CardAuctionPrice.Get(ctx) bid := msg.Bid buyer, err := k.GetUserFromString(ctx, msg.Creator) @@ -35,18 +35,18 @@ func (k msgServer) CardSchemeBuy(goCtx context.Context, msg *types.MsgCardScheme k.AddPoolCredits(ctx, PublicPoolKey, price) if price.Amount.Mul(sdkmath.NewInt(2)).LT(sdkmath.NewInt(int64(math.Pow(10, 12)))) { newPrice := price.Add(price) - k.cardAuctionPrice.Set(ctx, &newPrice) + k.CardAuctionPrice.Set(ctx, &newPrice) } newCard := types.NewCard(buyer.Addr) - newCard.ImageId = k.images.GetNum(ctx) + newCard.ImageId = k.Images.GetNum(ctx) image := types.Image{} buyer.OwnedCardSchemes = append(buyer.OwnedCardSchemes, currId) k.SetUserFromUser(ctx, buyer) - k.cards.Set(ctx, currId, &newCard) - k.images.Set(ctx, newCard.ImageId, &image) + k.CardK.Set(ctx, currId, &newCard) + k.Images.Set(ctx, newCard.ImageId, &image) return &types.MsgCardSchemeBuyResponse{CardId: currId}, nil } diff --git a/x/cardchain/keeper/msg_server_card_transfer.go b/x/cardchain/keeper/msg_server_card_transfer.go index 486ae2f4..dcb15912 100644 --- a/x/cardchain/keeper/msg_server_card_transfer.go +++ b/x/cardchain/keeper/msg_server_card_transfer.go @@ -14,7 +14,7 @@ func (k msgServer) CardTransfer(goCtx context.Context, msg *types.MsgCardTransfe ctx := sdk.UnwrapSDKContext(goCtx) // if the vote right is valid, get the Card - card := k.cards.Get(ctx, msg.CardId) + card := k.CardK.Get(ctx, msg.CardId) creator, err := k.GetUserFromString(ctx, msg.Creator) if err != nil { return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) @@ -45,7 +45,7 @@ func (k msgServer) CardTransfer(goCtx context.Context, msg *types.MsgCardTransfe } card.Owner = msg.Receiver - k.cards.Set(ctx, msg.CardId, card) + k.CardK.Set(ctx, msg.CardId, card) k.SetUserFromUser(ctx, creator) k.SetUserFromUser(ctx, receiver) diff --git a/x/cardchain/keeper/msg_server_council_create.go b/x/cardchain/keeper/msg_server_council_create.go index 86012cac..a770c519 100644 --- a/x/cardchain/keeper/msg_server_council_create.go +++ b/x/cardchain/keeper/msg_server_council_create.go @@ -20,7 +20,7 @@ func (k msgServer) CouncilCreate(goCtx context.Context, msg *types.MsgCouncilCre return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - card := k.cards.Get(ctx, msg.CardId) + card := k.CardK.Get(ctx, msg.CardId) //if card.Status != types.CardStatus_prototype { // return nil, sdkerrors.Wrapf(types.ErrInvalidCardStatus, "%s", card.Status.String()) //} else @@ -34,7 +34,7 @@ func (k msgServer) CouncilCreate(goCtx context.Context, msg *types.MsgCouncilCre var status types.CouncelingStatus collateralDeposit := k.GetParams(ctx).CollateralDeposit treasury := MulCoin(collateralDeposit, 10) - councilId := k.councils.GetNum(ctx) + councilId := k.Councils.GetNum(ctx) users, addresses := k.GetAllUsers(ctx) for idx, user := range users { @@ -77,7 +77,7 @@ func (k msgServer) CouncilCreate(goCtx context.Context, msg *types.MsgCouncilCre Status: status, } - k.councils.Set(ctx, councilId, &council) + k.Councils.Set(ctx, councilId, &council) return &types.MsgCouncilCreateResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_council_register.go b/x/cardchain/keeper/msg_server_council_register.go index f44fb966..f9f9df2e 100644 --- a/x/cardchain/keeper/msg_server_council_register.go +++ b/x/cardchain/keeper/msg_server_council_register.go @@ -21,7 +21,7 @@ func (k msgServer) CouncilRegister(goCtx context.Context, msg *types.MsgCouncilR return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invalid council status %s", user.CouncilStatus.String()) } - iter := k.councils.GetItemIterator(ctx) + iter := k.Councils.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, council := iter.Value() if council.Status == types.CouncelingStatus_councilOpen { @@ -41,7 +41,7 @@ func (k msgServer) CouncilRegister(goCtx context.Context, msg *types.MsgCouncilR } k.SetUserFromUser(ctx, usr) } - k.councils.Set(ctx, idx, council) + k.Councils.Set(ctx, idx, council) break } } diff --git a/x/cardchain/keeper/msg_server_council_response_commit.go b/x/cardchain/keeper/msg_server_council_response_commit.go index 334d1ccf..c40c4155 100644 --- a/x/cardchain/keeper/msg_server_council_response_commit.go +++ b/x/cardchain/keeper/msg_server_council_response_commit.go @@ -21,7 +21,7 @@ func (k msgServer) CouncilResponseCommit(goCtx context.Context, msg *types.MsgCo return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - council := k.councils.Get(ctx, msg.CouncilId) + council := k.Councils.Get(ctx, msg.CouncilId) if !slices.Contains(council.Voters, msg.Creator) { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid Voter") } @@ -68,7 +68,7 @@ func (k msgServer) CouncilResponseCommit(goCtx context.Context, msg *types.MsgCo return nil, err } - k.councils.Set(ctx, msg.CouncilId, council) + k.Councils.Set(ctx, msg.CouncilId, council) return &types.MsgCouncilResponseCommitResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_council_response_reveal.go b/x/cardchain/keeper/msg_server_council_response_reveal.go index d2e6467f..b5638ec6 100644 --- a/x/cardchain/keeper/msg_server_council_response_reveal.go +++ b/x/cardchain/keeper/msg_server_council_response_reveal.go @@ -20,7 +20,7 @@ func (k msgServer) CouncilResponseReveal(goCtx context.Context, msg *types.MsgCo return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - council := k.councils.Get(ctx, msg.CouncilId) + council := k.Councils.Get(ctx, msg.CouncilId) if !slices.Contains(council.Voters, msg.Creator) { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid Voter") } @@ -70,7 +70,7 @@ func (k msgServer) CouncilResponseReveal(goCtx context.Context, msg *types.MsgCo return nil, err } - k.councils.Set(ctx, msg.CouncilId, council) + k.Councils.Set(ctx, msg.CouncilId, council) return &types.MsgCouncilResponseRevealResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_council_restart.go b/x/cardchain/keeper/msg_server_council_restart.go index 6d1fa64e..1a2b092f 100644 --- a/x/cardchain/keeper/msg_server_council_restart.go +++ b/x/cardchain/keeper/msg_server_council_restart.go @@ -12,8 +12,8 @@ import ( func (k msgServer) CouncilRestart(goCtx context.Context, msg *types.MsgCouncilRestart) (*types.MsgCouncilRestartResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - council := k.councils.Get(ctx, msg.CouncilId) - card := k.cards.Get(ctx, council.CardId) + council := k.Councils.Get(ctx, msg.CouncilId) + card := k.CardK.Get(ctx, council.CardId) if card.Owner != msg.Creator { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid Owner") } @@ -26,6 +26,6 @@ func (k msgServer) CouncilRestart(goCtx context.Context, msg *types.MsgCouncilRe council.HashResponses = []*types.WrapHashResponse{} council.Status = types.CouncelingStatus_councilCreated - k.councils.Set(ctx, msg.CouncilId, council) + k.Councils.Set(ctx, msg.CouncilId, council) return &types.MsgCouncilRestartResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_encounter_close.go b/x/cardchain/keeper/msg_server_encounter_close.go index 603b39b2..dba87640 100644 --- a/x/cardchain/keeper/msg_server_encounter_close.go +++ b/x/cardchain/keeper/msg_server_encounter_close.go @@ -39,10 +39,10 @@ func (k msgServer) EncounterClose(goCtx context.Context, msg *types.MsgEncounter user.WonEncounters = append(user.WonEncounters, msg.EncounterId) // TODO: Treasury reward here - encounter := k.encounters.Get(ctx, msg.EncounterId) + encounter := k.Encounterk.Get(ctx, msg.EncounterId) if !encounter.Proven { encounter.Proven = true - k.encounters.Set(ctx, msg.EncounterId, encounter) + k.Encounterk.Set(ctx, msg.EncounterId, encounter) } } diff --git a/x/cardchain/keeper/msg_server_encounter_create.go b/x/cardchain/keeper/msg_server_encounter_create.go index aac1a42e..a10df1f0 100644 --- a/x/cardchain/keeper/msg_server_encounter_create.go +++ b/x/cardchain/keeper/msg_server_encounter_create.go @@ -24,8 +24,8 @@ func (k msgServer) EncounterCreate(goCtx context.Context, msg *types.MsgEncounte return nil, err } - id := k.encounters.GetNum(ctx) - imageId := k.images.GetNum(ctx) + id := k.Encounterk.GetNum(ctx) + imageId := k.Images.GetNum(ctx) encounter := types.Encounter{ Id: id, @@ -36,15 +36,15 @@ func (k msgServer) EncounterCreate(goCtx context.Context, msg *types.MsgEncounte ImageId: imageId, } - k.images.Set(ctx, imageId, &types.Image{Image: msg.Image}) - k.encounters.Set(ctx, id, &encounter) + k.Images.Set(ctx, imageId, &types.Image{Image: msg.Image}) + k.Encounterk.Set(ctx, id, &encounter) k.SetUserFromUser(ctx, creator) return &types.MsgEncounterCreateResponse{}, nil } func (k Keeper) validateDrawlist(ctx sdk.Context, msg *types.MsgEncounterCreate, creator *User) error { for idx, cardId := range msg.Drawlist { - card := k.cards.Get(ctx, cardId) + card := k.CardK.Get(ctx, cardId) if card.Owner != msg.Creator { index := slices.Index(creator.Cards, cardId) diff --git a/x/cardchain/keeper/msg_server_encounter_do.go b/x/cardchain/keeper/msg_server_encounter_do.go index ad2a4578..79777dba 100644 --- a/x/cardchain/keeper/msg_server_encounter_do.go +++ b/x/cardchain/keeper/msg_server_encounter_do.go @@ -21,7 +21,7 @@ func (k msgServer) EncounterDo(goCtx context.Context, msg *types.MsgEncounterDo) return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "unauthorized reporter") } - maxId := k.encounters.GetNum(ctx) + maxId := k.Encounterk.GetNum(ctx) if msg.EncounterId >= maxId { return nil, errorsmod.Wrap(types.ErrInvalidData, "encounter doesnt exist") } diff --git a/x/cardchain/keeper/msg_server_match_confirm.go b/x/cardchain/keeper/msg_server_match_confirm.go index 64633b59..9eb415c5 100644 --- a/x/cardchain/keeper/msg_server_match_confirm.go +++ b/x/cardchain/keeper/msg_server_match_confirm.go @@ -16,7 +16,7 @@ func (k msgServer) MatchConfirm(goCtx context.Context, msg *types.MsgMatchConfir player *types.MatchPlayer ) - match := k.matches.Get(ctx, msg.MatchId) + match := k.MatchK.Get(ctx, msg.MatchId) switch msg.Creator { case match.PlayerA.Addr: @@ -44,7 +44,7 @@ func (k msgServer) MatchConfirm(goCtx context.Context, msg *types.MsgMatchConfir return nil, err } - k.matches.Set(ctx, msg.MatchId, match) + k.MatchK.Set(ctx, msg.MatchId, match) return &types.MsgMatchConfirmResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_match_open.go b/x/cardchain/keeper/msg_server_match_open.go index 7f15ca61..1c598477 100644 --- a/x/cardchain/keeper/msg_server_match_open.go +++ b/x/cardchain/keeper/msg_server_match_open.go @@ -20,7 +20,7 @@ func (k msgServer) MatchOpen(goCtx context.Context, msg *types.MsgMatchOpen) (*t return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Reporter") } - matchId := k.matches.GetNum(ctx) + matchId := k.MatchK.GetNum(ctx) match := types.Match{ Reporter: msg.Creator, @@ -29,7 +29,7 @@ func (k msgServer) MatchOpen(goCtx context.Context, msg *types.MsgMatchOpen) (*t CoinsDistributed: false, } - k.matches.Set(ctx, matchId, &match) + k.MatchK.Set(ctx, matchId, &match) return &types.MsgMatchOpenResponse{MatchId: matchId}, nil } diff --git a/x/cardchain/keeper/msg_server_match_report.go b/x/cardchain/keeper/msg_server_match_report.go index 7448668d..d3117cd1 100644 --- a/x/cardchain/keeper/msg_server_match_report.go +++ b/x/cardchain/keeper/msg_server_match_report.go @@ -12,7 +12,7 @@ import ( func (k msgServer) MatchReport(goCtx context.Context, msg *types.MsgMatchReport) (*types.MsgMatchReportResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - match := k.matches.Get(ctx, msg.MatchId) + match := k.MatchK.Get(ctx, msg.MatchId) creator, err := k.GetUserFromString(ctx, msg.Creator) if err != nil { @@ -39,7 +39,7 @@ func (k msgServer) MatchReport(goCtx context.Context, msg *types.MsgMatchReport) return nil, err } - k.matches.Set(ctx, msg.MatchId, match) + k.MatchK.Set(ctx, msg.MatchId, match) return &types.MsgMatchReportResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_profile_card_set.go b/x/cardchain/keeper/msg_server_profile_card_set.go index 68692f3d..4279bc24 100644 --- a/x/cardchain/keeper/msg_server_profile_card_set.go +++ b/x/cardchain/keeper/msg_server_profile_card_set.go @@ -18,7 +18,7 @@ func (k msgServer) ProfileCardSet(goCtx context.Context, msg *types.MsgProfileCa return nil, err } - card := k.cards.Get(ctx, msg.CardId) + card := k.CardK.Get(ctx, msg.CardId) if card.Owner != msg.Creator { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "You have to own the card") } else if !slices.Contains([]types.CardStatus{types.CardStatus_trial, types.CardStatus_permanent}, card.Status) { diff --git a/x/cardchain/keeper/msg_server_sell_offer_buy.go b/x/cardchain/keeper/msg_server_sell_offer_buy.go index 808ad169..bf5ae749 100644 --- a/x/cardchain/keeper/msg_server_sell_offer_buy.go +++ b/x/cardchain/keeper/msg_server_sell_offer_buy.go @@ -17,7 +17,7 @@ func (k msgServer) SellOfferBuy(goCtx context.Context, msg *types.MsgSellOfferBu return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - sellOffer := k.sellOffers.Get(ctx, msg.SellOfferId) + sellOffer := k.SellOfferK.Get(ctx, msg.SellOfferId) sellerAddr, err := sdk.AccAddressFromBech32(sellOffer.Seller) if err != nil { @@ -37,7 +37,7 @@ func (k msgServer) SellOfferBuy(goCtx context.Context, msg *types.MsgSellOfferBu sellOffer.Buyer = msg.Creator sellOffer.Status = types.SellOfferStatus_sold - k.sellOffers.Set(ctx, msg.SellOfferId, sellOffer) + k.SellOfferK.Set(ctx, msg.SellOfferId, sellOffer) k.SetUserFromUser(ctx, buyer) return &types.MsgSellOfferBuyResponse{}, nil diff --git a/x/cardchain/keeper/msg_server_sell_offer_create.go b/x/cardchain/keeper/msg_server_sell_offer_create.go index ba2f9eee..3a83bd5e 100644 --- a/x/cardchain/keeper/msg_server_sell_offer_create.go +++ b/x/cardchain/keeper/msg_server_sell_offer_create.go @@ -19,7 +19,7 @@ func (k msgServer) SellOfferCreate(goCtx context.Context, msg *types.MsgSellOffe } // Check if card is startercard - card := k.cards.Get(ctx, msg.CardId) + card := k.CardK.Get(ctx, msg.CardId) if card.StarterCard { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Card is startercard and therefore not sellable") } @@ -30,7 +30,7 @@ func (k msgServer) SellOfferCreate(goCtx context.Context, msg *types.MsgSellOffe } creator.Cards = newCards - sellOfferId := k.sellOffers.GetNum(ctx) + sellOfferId := k.SellOfferK.GetNum(ctx) sellOffer := types.SellOffer{ Seller: msg.Creator, Buyer: "", @@ -39,7 +39,7 @@ func (k msgServer) SellOfferCreate(goCtx context.Context, msg *types.MsgSellOffe Status: types.SellOfferStatus_open, } - k.sellOffers.Set(ctx, sellOfferId, &sellOffer) + k.SellOfferK.Set(ctx, sellOfferId, &sellOffer) k.SetUserFromUser(ctx, creator) return &types.MsgSellOfferCreateResponse{}, nil diff --git a/x/cardchain/keeper/msg_server_sell_offer_remove.go b/x/cardchain/keeper/msg_server_sell_offer_remove.go index d907c7e2..59a71b3d 100644 --- a/x/cardchain/keeper/msg_server_sell_offer_remove.go +++ b/x/cardchain/keeper/msg_server_sell_offer_remove.go @@ -17,7 +17,7 @@ func (k msgServer) SellOfferRemove(goCtx context.Context, msg *types.MsgSellOffe return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - sellOffer := k.sellOffers.Get(ctx, msg.SellOfferId) + sellOffer := k.SellOfferK.Get(ctx, msg.SellOfferId) if sellOffer.Seller != msg.Creator { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Seller") @@ -30,7 +30,7 @@ func (k msgServer) SellOfferRemove(goCtx context.Context, msg *types.MsgSellOffe sellOffer.Status = types.SellOfferStatus_removed creator.Cards = append(creator.Cards, sellOffer.Card) - k.sellOffers.Set(ctx, msg.SellOfferId, sellOffer) + k.SellOfferK.Set(ctx, msg.SellOfferId, sellOffer) k.SetUserFromUser(ctx, creator) return &types.MsgSellOfferRemoveResponse{}, nil diff --git a/x/cardchain/keeper/msg_server_set_artist_set.go b/x/cardchain/keeper/msg_server_set_artist_set.go index 354d497d..38d6eead 100644 --- a/x/cardchain/keeper/msg_server_set_artist_set.go +++ b/x/cardchain/keeper/msg_server_set_artist_set.go @@ -10,7 +10,7 @@ import ( func (k msgServer) SetArtistSet(goCtx context.Context, msg *types.MsgSetArtistSet) (*types.MsgSetArtistSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.sets.Get(ctx, msg.SetId) + set := k.Setk.Get(ctx, msg.SetId) err := checkSetEditable(set, msg.Creator) if err != nil { return nil, err @@ -18,7 +18,7 @@ func (k msgServer) SetArtistSet(goCtx context.Context, msg *types.MsgSetArtistSe set.Artist = msg.Artist - k.sets.Set(ctx, msg.SetId, set) + k.Setk.Set(ctx, msg.SetId, set) return &types.MsgSetArtistSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_artwork_add.go b/x/cardchain/keeper/msg_server_set_artwork_add.go index d45d70e5..2117e05e 100644 --- a/x/cardchain/keeper/msg_server_set_artwork_add.go +++ b/x/cardchain/keeper/msg_server_set_artwork_add.go @@ -12,8 +12,8 @@ import ( func (k msgServer) SetArtworkAdd(goCtx context.Context, msg *types.MsgSetArtworkAdd) (*types.MsgSetArtworkAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.sets.Get(ctx, msg.SetId) - image := k.images.Get(ctx, set.ArtworkId) + set := k.Setk.Get(ctx, msg.SetId) + image := k.Images.Get(ctx, set.ArtworkId) if set.Artist != msg.Creator { return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Incorrect Artist") @@ -29,7 +29,7 @@ func (k msgServer) SetArtworkAdd(goCtx context.Context, msg *types.MsgSetArtwork image.Image = msg.Image - k.images.Set(ctx, set.ArtworkId, image) + k.Images.Set(ctx, set.ArtworkId, image) return &types.MsgSetArtworkAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_card_add.go b/x/cardchain/keeper/msg_server_set_card_add.go index 05039f42..46b94b53 100644 --- a/x/cardchain/keeper/msg_server_set_card_add.go +++ b/x/cardchain/keeper/msg_server_set_card_add.go @@ -15,7 +15,7 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( setSize := int(k.GetParams(ctx).SetSize) - set := k.sets.Get(ctx, msg.SetId) + set := k.Setk.Get(ctx, msg.SetId) if !slices.Contains(set.Contributors, msg.Creator) { return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Invalid contributor") } @@ -23,7 +23,7 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( return nil, errorsmod.Wrapf(errors.ErrUnauthorized, "Invalid set status is: %s", set.Status.String()) } - iter := k.sets.GetItemIterator(ctx) + iter := k.Setk.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, coll := iter.Value() if coll.Status != types.SetStatus_archived && slices.Contains(coll.Cards, msg.CardId) { @@ -31,7 +31,7 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( } } - card := k.cards.Get(ctx, msg.CardId) + card := k.CardK.Get(ctx, msg.CardId) if card.Status != types.CardStatus_permanent { return nil, errorsmod.Wrap(types.ErrCardDoesNotExist, "Card is not permanent or does not exist") } @@ -55,7 +55,7 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( set.Cards = append(set.Cards, msg.CardId) - k.sets.Set(ctx, msg.SetId, set) + k.Setk.Set(ctx, msg.SetId, set) return &types.MsgSetCardAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_card_remove.go b/x/cardchain/keeper/msg_server_set_card_remove.go index e0087463..acf135a1 100644 --- a/x/cardchain/keeper/msg_server_set_card_remove.go +++ b/x/cardchain/keeper/msg_server_set_card_remove.go @@ -14,7 +14,7 @@ import ( func (k msgServer) SetCardRemove(goCtx context.Context, msg *types.MsgSetCardRemove) (*types.MsgSetCardRemoveResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.sets.Get(ctx, msg.SetId) + set := k.Setk.Get(ctx, msg.SetId) if !slices.Contains(set.Contributors, msg.Creator) { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid contributor") } @@ -29,6 +29,6 @@ func (k msgServer) SetCardRemove(goCtx context.Context, msg *types.MsgSetCardRem set.Cards = newCards - k.sets.Set(ctx, msg.SetId, set) + k.Setk.Set(ctx, msg.SetId, set) return &types.MsgSetCardRemoveResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_contributor_add.go b/x/cardchain/keeper/msg_server_set_contributor_add.go index 8452b6ea..0f91f98d 100644 --- a/x/cardchain/keeper/msg_server_set_contributor_add.go +++ b/x/cardchain/keeper/msg_server_set_contributor_add.go @@ -13,7 +13,7 @@ import ( func (k msgServer) SetContributorAdd(goCtx context.Context, msg *types.MsgSetContributorAdd) (*types.MsgSetContributorAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.sets.Get(ctx, msg.SetId) + set := k.Setk.Get(ctx, msg.SetId) if err := checkSetEditable(set, msg.Creator); err != nil { return nil, err } @@ -28,7 +28,7 @@ func (k msgServer) SetContributorAdd(goCtx context.Context, msg *types.MsgSetCon set.Contributors = append(set.Contributors, msg.User) - k.sets.Set(ctx, msg.SetId, set) + k.Setk.Set(ctx, msg.SetId, set) return &types.MsgSetContributorAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_contributor_remove.go b/x/cardchain/keeper/msg_server_set_contributor_remove.go index 0d44bdba..de9a99fb 100644 --- a/x/cardchain/keeper/msg_server_set_contributor_remove.go +++ b/x/cardchain/keeper/msg_server_set_contributor_remove.go @@ -12,7 +12,7 @@ import ( func (k msgServer) SetContributorRemove(goCtx context.Context, msg *types.MsgSetContributorRemove) (*types.MsgSetContributorRemoveResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.sets.Get(ctx, msg.SetId) + set := k.Setk.Get(ctx, msg.SetId) if err := checkSetEditable(set, msg.Creator); err != nil { return nil, err } @@ -24,7 +24,7 @@ func (k msgServer) SetContributorRemove(goCtx context.Context, msg *types.MsgSet set.Contributors = newContributors - k.sets.Set(ctx, msg.SetId, set) + k.Setk.Set(ctx, msg.SetId, set) return &types.MsgSetContributorRemoveResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_create.go b/x/cardchain/keeper/msg_server_set_create.go index a5372d6a..ba4fe533 100644 --- a/x/cardchain/keeper/msg_server_set_create.go +++ b/x/cardchain/keeper/msg_server_set_create.go @@ -25,13 +25,13 @@ func (k msgServer) SetCreate(goCtx context.Context, msg *types.MsgSetCreate) (*t StoryWriter: msg.StoryWriter, Status: types.SetStatus_design, TimeStamp: 0, - ArtworkId: k.images.GetNum(ctx), + ArtworkId: k.Images.GetNum(ctx), } image := types.Image{} - k.images.Set(ctx, set.ArtworkId, &image) - k.sets.Append(ctx, &set) + k.Images.Set(ctx, set.ArtworkId, &image) + k.Setk.Append(ctx, &set) return &types.MsgSetCreateResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_finalize.go b/x/cardchain/keeper/msg_server_set_finalize.go index f9462835..719c54f5 100644 --- a/x/cardchain/keeper/msg_server_set_finalize.go +++ b/x/cardchain/keeper/msg_server_set_finalize.go @@ -14,13 +14,13 @@ func (k msgServer) SetFinalize(goCtx context.Context, msg *types.MsgSetFinalize) setSize := int(k.GetParams(ctx).SetSize) - set := k.sets.Get(ctx, msg.SetId) + set := k.Setk.Get(ctx, msg.SetId) err := checkSetEditable(set, msg.Creator) if err != nil { return nil, err } - image := k.images.Get(ctx, set.ArtworkId) + image := k.Images.Get(ctx, set.ArtworkId) if len(image.Image) == 0 { return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "Set artwork is needed") @@ -44,7 +44,7 @@ func (k msgServer) SetFinalize(goCtx context.Context, msg *types.MsgSetFinalize) set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) set.Rarities = k.GetCardRaritiesInSet(ctx, set) - k.sets.Set(ctx, msg.SetId, set) + k.Setk.Set(ctx, msg.SetId, set) return &types.MsgSetFinalizeResponse{}, nil } @@ -55,7 +55,7 @@ func (k Keeper) GetCardRaritiesInSet(ctx sdk.Context, set *types.Set) []*types.I rarityNums[idx] = &types.InnerRarities{} } for _, cardId := range set.Cards { - card := k.cards.Get(ctx, cardId) + card := k.CardK.Get(ctx, cardId) rarityNums[int(card.Rarity)].R = append(rarityNums[int(card.Rarity)].R, cardId) } return rarityNums[:] diff --git a/x/cardchain/keeper/msg_server_set_name_set.go b/x/cardchain/keeper/msg_server_set_name_set.go index de9e902b..d2323cfd 100644 --- a/x/cardchain/keeper/msg_server_set_name_set.go +++ b/x/cardchain/keeper/msg_server_set_name_set.go @@ -10,7 +10,7 @@ import ( func (k msgServer) SetNameSet(goCtx context.Context, msg *types.MsgSetNameSet) (*types.MsgSetNameSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.sets.Get(ctx, msg.SetId) + set := k.Setk.Get(ctx, msg.SetId) err := checkSetEditable(set, msg.Creator) if err != nil { return nil, err @@ -18,7 +18,7 @@ func (k msgServer) SetNameSet(goCtx context.Context, msg *types.MsgSetNameSet) ( set.Name = msg.Name - k.sets.Set(ctx, msg.SetId, set) + k.Setk.Set(ctx, msg.SetId, set) return &types.MsgSetNameSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_story_add.go b/x/cardchain/keeper/msg_server_set_story_add.go index 0e0d680d..4ad23d99 100644 --- a/x/cardchain/keeper/msg_server_set_story_add.go +++ b/x/cardchain/keeper/msg_server_set_story_add.go @@ -12,7 +12,7 @@ import ( func (k msgServer) SetStoryAdd(goCtx context.Context, msg *types.MsgSetStoryAdd) (*types.MsgSetStoryAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.sets.Get(ctx, msg.SetId) + set := k.Setk.Get(ctx, msg.SetId) if set.StoryWriter != msg.Creator { return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Incorrect StoryWriter") } @@ -27,6 +27,6 @@ func (k msgServer) SetStoryAdd(goCtx context.Context, msg *types.MsgSetStoryAdd) set.Story = msg.Story - k.sets.Set(ctx, msg.SetId, set) + k.Setk.Set(ctx, msg.SetId, set) return &types.MsgSetStoryAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_story_writer_set.go b/x/cardchain/keeper/msg_server_set_story_writer_set.go index 61e1049a..48def1de 100644 --- a/x/cardchain/keeper/msg_server_set_story_writer_set.go +++ b/x/cardchain/keeper/msg_server_set_story_writer_set.go @@ -10,7 +10,7 @@ import ( func (k msgServer) SetStoryWriterSet(goCtx context.Context, msg *types.MsgSetStoryWriterSet) (*types.MsgSetStoryWriterSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.sets.Get(ctx, msg.SetId) + set := k.Setk.Get(ctx, msg.SetId) err := checkSetEditable(set, msg.Creator) if err != nil { return nil, err @@ -18,7 +18,7 @@ func (k msgServer) SetStoryWriterSet(goCtx context.Context, msg *types.MsgSetSto set.StoryWriter = msg.StoryWriter - k.sets.Set(ctx, msg.SetId, set) + k.Setk.Set(ctx, msg.SetId, set) return &types.MsgSetStoryWriterSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_zealy_connect.go b/x/cardchain/keeper/msg_server_zealy_connect.go index e18d32aa..66490ac7 100644 --- a/x/cardchain/keeper/msg_server_zealy_connect.go +++ b/x/cardchain/keeper/msg_server_zealy_connect.go @@ -17,12 +17,12 @@ func (k msgServer) ZealyConnect(goCtx context.Context, msg *types.MsgZealyConnec return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, msg.Creator) } - zealy := k.zealy.Get(ctx, msg.ZealyId) + zealy := k.Zealy.Get(ctx, msg.ZealyId) if zealy.ZealyId == msg.ZealyId { return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "ZealyId `%s` is already registered", msg.ZealyId) } - iterator := k.zealy.GetIterator(ctx) + iterator := k.Zealy.GetIterator(ctx) for ; iterator.Valid(); iterator.Next() { var gotten types.Zealy @@ -33,7 +33,7 @@ func (k msgServer) ZealyConnect(goCtx context.Context, msg *types.MsgZealyConnec } } - k.zealy.Set(ctx, msg.ZealyId, &types.Zealy{Address: msg.Creator, ZealyId: msg.ZealyId}) + k.Zealy.Set(ctx, msg.ZealyId, &types.Zealy{Address: msg.Creator, ZealyId: msg.ZealyId}) return &types.MsgZealyConnectResponse{}, nil } diff --git a/x/cardchain/keeper/query_account_from_zealy.go b/x/cardchain/keeper/query_account_from_zealy.go index 164aaf88..09bbcb61 100644 --- a/x/cardchain/keeper/query_account_from_zealy.go +++ b/x/cardchain/keeper/query_account_from_zealy.go @@ -17,7 +17,7 @@ func (k Keeper) AccountFromZealy(goCtx context.Context, req *types.QueryAccountF ctx := sdk.UnwrapSDKContext(goCtx) - zealy := k.zealy.Get(ctx, req.ZealyId) + zealy := k.Zealy.Get(ctx, req.ZealyId) if zealy == nil { return nil, fmt.Errorf("zealyId `%s` not in store", req.ZealyId) } diff --git a/x/cardchain/keeper/query_card.go b/x/cardchain/keeper/query_card.go index b0794cf7..939e9413 100644 --- a/x/cardchain/keeper/query_card.go +++ b/x/cardchain/keeper/query_card.go @@ -18,12 +18,12 @@ func (k Keeper) Card(goCtx context.Context, req *types.QueryCardRequest) (*types ctx := sdk.UnwrapSDKContext(goCtx) - card := k.cards.Get(ctx, req.CardId) + card := k.CardK.Get(ctx, req.CardId) if card == nil { return nil, errorsmod.Wrap(errors.ErrUnknownRequest, "cardId does not represent a card") } - image := k.images.Get(ctx, card.ImageId) + image := k.Images.Get(ctx, card.ImageId) return &types.QueryCardResponse{Card: &types.CardWithImage{ Card: card, Image: string(image.Image), Hash: image.GetHash(), diff --git a/x/cardchain/keeper/query_card_content.go b/x/cardchain/keeper/query_card_content.go index 4dbd8964..71bad43d 100644 --- a/x/cardchain/keeper/query_card_content.go +++ b/x/cardchain/keeper/query_card_content.go @@ -24,12 +24,12 @@ func (k Keeper) CardContent(goCtx context.Context, req *types.QueryCardContentRe } func (k Keeper) getCardContentFromId(ctx sdk.Context, id uint64) (resp *types.CardContent, err error) { - card := k.cards.Get(ctx, id) + card := k.CardK.Get(ctx, id) if card == nil { return nil, errorsmod.Wrap(errors.ErrUnknownRequest, "cardId does not represent a card") } - image := k.images.Get(ctx, card.ImageId) + image := k.Images.Get(ctx, card.ImageId) return &types.CardContent{ Content: string(card.Content), diff --git a/x/cardchain/keeper/query_cardchain_info.go b/x/cardchain/keeper/query_cardchain_info.go index f191d619..890ece8f 100644 --- a/x/cardchain/keeper/query_cardchain_info.go +++ b/x/cardchain/keeper/query_cardchain_info.go @@ -17,12 +17,12 @@ func (k Keeper) CardchainInfo(goCtx context.Context, req *types.QueryCardchainIn ctx := sdk.UnwrapSDKContext(goCtx) return &types.QueryCardchainInfoResponse{ - CardAuctionPrice: *k.cardAuctionPrice.Get(ctx), + CardAuctionPrice: *k.CardAuctionPrice.Get(ctx), 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.lastCardModified.Get(ctx).TimeStamp, + CardsNumber: k.CardK.GetNum(ctx), + MatchesNumber: k.MatchK.GetNum(ctx), + SellOffersNumber: k.SellOfferK.GetNum(ctx), + CouncilsNumber: k.Councils.GetNum(ctx), + LastCardModified: k.LastCardModified.Get(ctx).TimeStamp, }, nil } diff --git a/x/cardchain/keeper/query_cards.go b/x/cardchain/keeper/query_cards.go index fd61c1f0..da80b69d 100644 --- a/x/cardchain/keeper/query_cards.go +++ b/x/cardchain/keeper/query_cards.go @@ -83,7 +83,7 @@ func (k Keeper) Cards(goCtx context.Context, req *types.QueryCardsRequest) (*typ } } - iterator := k.cards.GetItemIterator(ctx) + iterator := k.CardK.GetItemIterator(ctx) for ; iterator.Valid(); iterator.Next() { idx, gottenCard := iterator.Value() diff --git a/x/cardchain/keeper/query_council.go b/x/cardchain/keeper/query_council.go index 63b0a0bd..7f8b6e70 100644 --- a/x/cardchain/keeper/query_council.go +++ b/x/cardchain/keeper/query_council.go @@ -16,7 +16,7 @@ func (k Keeper) Council(goCtx context.Context, req *types.QueryCouncilRequest) ( ctx := sdk.UnwrapSDKContext(goCtx) - council := k.councils.Get(ctx, req.CouncilId) + council := k.Councils.Get(ctx, req.CouncilId) return &types.QueryCouncilResponse{Council: council}, nil } diff --git a/x/cardchain/keeper/query_encounter.go b/x/cardchain/keeper/query_encounter.go index bb1a3715..f411987b 100644 --- a/x/cardchain/keeper/query_encounter.go +++ b/x/cardchain/keeper/query_encounter.go @@ -16,7 +16,7 @@ func (k Keeper) Encounter(goCtx context.Context, req *types.QueryEncounterReques ctx := sdk.UnwrapSDKContext(goCtx) - encounter := k.encounters.Get(ctx, req.EncounterId) + encounter := k.Encounterk.Get(ctx, req.EncounterId) return &types.QueryEncounterResponse{Encounter: encounter}, nil } diff --git a/x/cardchain/keeper/query_encounter_with_image.go b/x/cardchain/keeper/query_encounter_with_image.go index 04d224d4..a7bbd669 100644 --- a/x/cardchain/keeper/query_encounter_with_image.go +++ b/x/cardchain/keeper/query_encounter_with_image.go @@ -16,10 +16,10 @@ func (k Keeper) EncounterWithImage(goCtx context.Context, req *types.QueryEncoun ctx := sdk.UnwrapSDKContext(goCtx) - encounter := k.encounters.Get(ctx, req.EncounterId) + encounter := k.Encounterk.Get(ctx, req.EncounterId) return &types.QueryEncounterWithImageResponse{Encounter: &types.EncounterWithImage{ Encounter: encounter, - Image: k.images.Get(ctx, encounter.ImageId).Image, + Image: k.Images.Get(ctx, encounter.ImageId).Image, }}, nil } diff --git a/x/cardchain/keeper/query_encounters.go b/x/cardchain/keeper/query_encounters.go index 4fb8b1db..b7718757 100644 --- a/x/cardchain/keeper/query_encounters.go +++ b/x/cardchain/keeper/query_encounters.go @@ -16,7 +16,7 @@ func (k Keeper) Encounters(goCtx context.Context, req *types.QueryEncountersRequ ctx := sdk.UnwrapSDKContext(goCtx) - encounters := k.encounters.GetAll(ctx) + encounters := k.Encounterk.GetAll(ctx) return &types.QueryEncountersResponse{Encounters: encounters}, nil } diff --git a/x/cardchain/keeper/query_encounters_with_image.go b/x/cardchain/keeper/query_encounters_with_image.go index 83696a62..c0c006a2 100644 --- a/x/cardchain/keeper/query_encounters_with_image.go +++ b/x/cardchain/keeper/query_encounters_with_image.go @@ -18,12 +18,12 @@ func (k Keeper) EncountersWithImage(goCtx context.Context, req *types.QueryEncou var encountersWithImage []*types.EncounterWithImage - encounters := k.encounters.GetAll(ctx) + encounters := k.Encounterk.GetAll(ctx) for _, encounter := range encounters { encountersWithImage = append(encountersWithImage, &types.EncounterWithImage{ Encounter: encounter, - Image: k.images.Get(ctx, encounter.ImageId).Image, + Image: k.Images.Get(ctx, encounter.ImageId).Image, }) } diff --git a/x/cardchain/keeper/query_match.go b/x/cardchain/keeper/query_match.go index bc56694a..a831be41 100644 --- a/x/cardchain/keeper/query_match.go +++ b/x/cardchain/keeper/query_match.go @@ -16,7 +16,7 @@ func (k Keeper) Match(goCtx context.Context, req *types.QueryMatchRequest) (*typ ctx := sdk.UnwrapSDKContext(goCtx) - match := k.matches.Get(ctx, req.MatchId) + match := k.MatchK.Get(ctx, req.MatchId) return &types.QueryMatchResponse{Match: match}, nil } diff --git a/x/cardchain/keeper/query_matches.go b/x/cardchain/keeper/query_matches.go index 0beae285..d8fb0d30 100644 --- a/x/cardchain/keeper/query_matches.go +++ b/x/cardchain/keeper/query_matches.go @@ -22,7 +22,7 @@ func (k Keeper) Matches(goCtx context.Context, req *types.QueryMatchesRequest) ( ctx := sdk.UnwrapSDKContext(goCtx) - iter := k.matches.GetItemIterator(ctx) + iter := k.MatchK.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { allUsersInMatch := true allCardsInMatch := true diff --git a/x/cardchain/keeper/query_sell_offer.go b/x/cardchain/keeper/query_sell_offer.go index 2e9ead24..a2fe6e1b 100644 --- a/x/cardchain/keeper/query_sell_offer.go +++ b/x/cardchain/keeper/query_sell_offer.go @@ -16,7 +16,7 @@ func (k Keeper) SellOffer(goCtx context.Context, req *types.QuerySellOfferReques ctx := sdk.UnwrapSDKContext(goCtx) - sellOffer := k.sellOffers.Get(ctx, req.SellOfferId) + sellOffer := k.SellOfferK.Get(ctx, req.SellOfferId) return &types.QuerySellOfferResponse{SellOffer: sellOffer}, nil } diff --git a/x/cardchain/keeper/query_sell_offers.go b/x/cardchain/keeper/query_sell_offers.go index ddec0932..b14adf73 100644 --- a/x/cardchain/keeper/query_sell_offers.go +++ b/x/cardchain/keeper/query_sell_offers.go @@ -21,7 +21,7 @@ func (k Keeper) SellOffers(goCtx context.Context, req *types.QuerySellOffersRequ sellOffersList []*types.SellOffer ) - iter := k.sellOffers.GetItemIterator(ctx) + iter := k.SellOfferK.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, sellOffer := iter.Value() // Checks for price diff --git a/x/cardchain/keeper/query_server.go b/x/cardchain/keeper/query_server.go index 735620d2..7e90bacc 100644 --- a/x/cardchain/keeper/query_server.go +++ b/x/cardchain/keeper/query_server.go @@ -16,7 +16,7 @@ func (k Keeper) Server(goCtx context.Context, req *types.QueryServerRequest) (*t ctx := sdk.UnwrapSDKContext(goCtx) - server := k.servers.Get(ctx, req.ServerId) + server := k.Servers.Get(ctx, req.ServerId) return &types.QueryServerResponse{Server: server}, nil } diff --git a/x/cardchain/keeper/query_set.go b/x/cardchain/keeper/query_set.go index a26ac0b1..c9e3e9f3 100644 --- a/x/cardchain/keeper/query_set.go +++ b/x/cardchain/keeper/query_set.go @@ -16,8 +16,8 @@ func (k Keeper) Set(goCtx context.Context, req *types.QuerySetRequest) (*types.Q ctx := sdk.UnwrapSDKContext(goCtx) - set := k.sets.Get(ctx, req.SetId) - image := k.images.Get(ctx, set.ArtworkId) + set := k.Setk.Get(ctx, req.SetId) + image := k.Images.Get(ctx, set.ArtworkId) return &types.QuerySetResponse{Set: &types.SetWithArtwork{ Set: set, diff --git a/x/cardchain/keeper/query_set_rarity_distribution.go b/x/cardchain/keeper/query_set_rarity_distribution.go index 72b9a540..81ce9290 100644 --- a/x/cardchain/keeper/query_set_rarity_distribution.go +++ b/x/cardchain/keeper/query_set_rarity_distribution.go @@ -17,7 +17,7 @@ func (k Keeper) SetRarityDistribution(goCtx context.Context, req *types.QuerySet ctx := sdk.UnwrapSDKContext(goCtx) setSize := k.GetParams(ctx).SetSize - set := k.sets.Get(ctx, req.SetId) + set := k.Setk.Get(ctx, req.SetId) dist, err := k.GetRarityDistribution(ctx, *set, uint32(setSize)) return &types.QuerySetRarityDistributionResponse{Current: dist[0][:], Wanted: dist[1][:]}, err diff --git a/x/cardchain/keeper/query_sets.go b/x/cardchain/keeper/query_sets.go index 2b973077..e40d5ff3 100644 --- a/x/cardchain/keeper/query_sets.go +++ b/x/cardchain/keeper/query_sets.go @@ -23,7 +23,7 @@ func (k Keeper) Sets(goCtx context.Context, req *types.QuerySetsRequest) (*types allCardsInSet bool = true ) - iter := k.sets.GetItemIterator(ctx) + iter := k.Setk.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, set := iter.Value() diff --git a/x/cardchain/keeper/query_voting_results.go b/x/cardchain/keeper/query_voting_results.go index 67c64ee0..c13c2dc3 100644 --- a/x/cardchain/keeper/query_voting_results.go +++ b/x/cardchain/keeper/query_voting_results.go @@ -16,7 +16,7 @@ func (k Keeper) VotingResults(goCtx context.Context, req *types.QueryVotingResul ctx := sdk.UnwrapSDKContext(goCtx) - votingResults := k.lastVotingResults.Get(ctx) + votingResults := k.LastVotingResults.Get(ctx) return &types.QueryVotingResultsResponse{LastVotingResults: votingResults}, nil } diff --git a/x/cardchain/keeper/server.go b/x/cardchain/keeper/server.go index f91c6c9d..2b465d53 100644 --- a/x/cardchain/keeper/server.go +++ b/x/cardchain/keeper/server.go @@ -7,26 +7,26 @@ import ( // GetServerId Gets the number of a certain server by it's reporters address func (k Keeper) GetServerId(ctx sdk.Context, addr string) uint64 { - for idx, server := range k.servers.GetAll(ctx) { + for idx, server := range k.Servers.GetAll(ctx) { if server.Reporter == addr { return uint64(idx) } } - id := k.servers.GetNumber(ctx) + id := k.Servers.GetNumber(ctx) server := types.Server{Reporter: addr} - k.servers.Set(ctx, id, &server) + k.Servers.Set(ctx, id, &server) return id } // ReportServerMatch Adds a number of reports to the server record func (k Keeper) ReportServerMatch(ctx sdk.Context, addr string, num uint64, isValid bool) { id := k.GetServerId(ctx, addr) - server := k.servers.Get(ctx, id) + server := k.Servers.Get(ctx, id) switch isValid { case true: server.ValidReports += num case false: server.InvalidReports += num } - k.servers.Set(ctx, id, server) + k.Servers.Set(ctx, id, server) } diff --git a/x/cardchain/keeper/set.go b/x/cardchain/keeper/set.go index e62f29a6..81b56b3d 100644 --- a/x/cardchain/keeper/set.go +++ b/x/cardchain/keeper/set.go @@ -33,7 +33,7 @@ func (k Keeper) GetContributorDistribution(ctx sdk.Context, set types.Set) []*ty params := k.GetParams(ctx) contribs := []*types.AddrWithQuantity{{Addr: set.StoryWriter, Q: 2}, {Addr: set.Artist, Q: 2}, {Addr: set.Contributors[0], Q: 4}} for _, cardId := range set.Cards { - var card = k.cards.Get(ctx, cardId) + var card = k.CardK.Get(ctx, cardId) if card.Owner != "" { for _, addr := range []string{card.Owner, card.Artist} { incQ(&contribs, addr) @@ -67,7 +67,7 @@ func incQ(addrsWithQ *[]*types.AddrWithQuantity, addr string) { // GetActiveSets Return a list of all active sets ids func (k Keeper) GetActiveSets(ctx sdk.Context) (activeSets []uint64) { - iter := k.sets.GetItemIterator(ctx) + iter := k.Setk.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, set := iter.Value() if set.Status == types.SetStatus_active { @@ -87,7 +87,7 @@ func (k Keeper) GetRarityDistribution(ctx sdk.Context, set types.Set, setSize ui commonsAll = uint64(setSize) - raresAll - unCommonsAll for _, cardId := range set.Cards { - card := k.cards.Get(ctx, cardId) + card := k.CardK.Get(ctx, cardId) switch card.Rarity { case types.CardRarity_common, types.CardRarity_unique, types.CardRarity_exceptional: diff --git a/x/cardchain/keeper/user.go b/x/cardchain/keeper/user.go index 8baee4f6..9800bdec 100644 --- a/x/cardchain/keeper/user.go +++ b/x/cardchain/keeper/user.go @@ -46,7 +46,7 @@ func (k Keeper) GetUserFromString(ctx sdk.Context, addr string) (user User, err if err != nil { return user, sdkerrors.Wrap(errors.ErrInvalidAddress, "Unable to convert to AccAddress") } - user.User = k.users.Get(ctx, user.Addr) + user.User = k.Users.Get(ctx, user.Addr) if err != nil { return } @@ -55,12 +55,12 @@ func (k Keeper) GetUserFromString(ctx sdk.Context, addr string) (user User, err // SetUserFromUser Sets a user in store, but takes a User struct as defined above func (k Keeper) SetUserFromUser(ctx sdk.Context, user User) { - k.users.Set(ctx, user.Addr, user.User) + k.Users.Set(ctx, user.Addr, user.User) } // GetAllUsers Gets all users from store func (k Keeper) GetAllUsers(ctx sdk.Context) (allUsers []*types.User, allAddresses []sdk.AccAddress) { - iterator := k.users.GetIterator(ctx) + iterator := k.Users.GetIterator(ctx) for ; iterator.Valid(); iterator.Next() { var gottenUser types.User diff --git a/x/cardchain/keeper/vote_right.go b/x/cardchain/keeper/vote_right.go index 712cd6e6..f219fbea 100644 --- a/x/cardchain/keeper/vote_right.go +++ b/x/cardchain/keeper/vote_right.go @@ -24,7 +24,7 @@ func (k Keeper) GetVoteReward(ctx sdk.Context) sdk.Coin { // AddVoteRightToUser Adds a voteright for a certain card to a certain user func (k Keeper) AddVoteRightToUser(ctx sdk.Context, user *types.User, cardId uint64) { - card := k.cards.Get(ctx, cardId) + card := k.CardK.Get(ctx, cardId) if !card.BalanceAnchor { if !slices.Contains(user.VotableCards, cardId) && !slices.Contains(user.VotedCards, cardId) { user.VotableCards = append(user.VotableCards, cardId) @@ -38,7 +38,7 @@ func (k Keeper) AddVoteRightsToAllUsers(ctx sdk.Context) { allUsers, allAddrs := k.GetAllUsers(ctx) for idx, user := range allUsers { user.VotableCards = votables - k.users.Set(ctx, allAddrs[idx], user) + k.Users.Set(ctx, allAddrs[idx], user) } } @@ -57,7 +57,7 @@ func (k Keeper) RegisterVote(voter *User, cardId uint64) error { // GetAllVotableCards Gets the voterights to all cards func (k Keeper) GetAllVotableCards(ctx sdk.Context) (votables []uint64) { - iter := k.cards.GetItemIterator(ctx) + iter := k.CardK.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { // here only give right if card is not a scheme or banished @@ -79,19 +79,19 @@ func (k Keeper) RemoveExpiredVoteRights(ctx sdk.Context) { for idx, user := range allUsers { user.VotableCards = []uint64{} user.VotedCards = []uint64{} - k.users.Set(ctx, allAddrs[idx], user) + k.Users.Set(ctx, allAddrs[idx], user) } } // ResetAllVotes Resets all cards votes func (k Keeper) ResetAllVotes(ctx sdk.Context) { - iter := k.cards.GetItemIterator(ctx) + iter := k.CardK.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, resetCard := iter.Value() if resetCard.Status != types.CardStatus_trial { resetCard.ResetVotes() } - k.cards.Set(ctx, uint64(idx), resetCard) + k.CardK.Set(ctx, uint64(idx), resetCard) } } diff --git a/x/cardchain/keeper/voting.go b/x/cardchain/keeper/voting.go index 8ede7c71..fb967e09 100644 --- a/x/cardchain/keeper/voting.go +++ b/x/cardchain/keeper/voting.go @@ -16,7 +16,7 @@ func (k Keeper) voteCard( voteType types.VoteType, ) error { // if the vote right is valid, get the Card - card := k.cards.Get(ctx, cardId) + card := k.CardK.Get(ctx, cardId) // check if card status is valid if card.Status != types.CardStatus_permanent && card.Status != types.CardStatus_trial { @@ -59,7 +59,7 @@ func (k Keeper) voteCard( return err } k.SubPoolCredits(ctx, BalancersPoolKey, amount) - k.cards.Set(ctx, cardId, card) + k.CardK.Set(ctx, cardId, card) return nil } diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 0ea89648..bae76a3f 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -5,6 +5,7 @@ package types import ( fmt "fmt" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" @@ -27,7 +28,21 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // GenesisState defines the cardchain module's genesis state. type GenesisState struct { // params defines all the parameters of the module. - Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` + Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` + CardRecords []*Card `protobuf:"bytes,2,rep,name=cardRecords,proto3" json:"cardRecords,omitempty"` + 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"` + 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 types.Coin `protobuf:"bytes,11,opt,name=cardAuctionPrice,proto3" json:"cardAuctionPrice"` + Councils []*Council `protobuf:"bytes,12,rep,name=councils,proto3" json:"councils,omitempty"` + 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"` + Zealys []*Zealy `protobuf:"bytes,17,rep,name=zealys,proto3" json:"zealys,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -70,6 +85,104 @@ func (m *GenesisState) GetParams() Params { return Params{} } +func (m *GenesisState) GetCardRecords() []*Card { + if m != nil { + return m.CardRecords + } + return nil +} + +func (m *GenesisState) GetUsers() []*User { + if m != nil { + return m.Users + } + return nil +} + +func (m *GenesisState) GetAddresses() []string { + if m != nil { + return m.Addresses + } + return nil +} + +func (m *GenesisState) GetMatches() []*Match { + if m != nil { + return m.Matches + } + return nil +} + +func (m *GenesisState) GetSets() []*Set { + if m != nil { + return m.Sets + } + return nil +} + +func (m *GenesisState) GetSellOffers() []*SellOffer { + if m != nil { + return m.SellOffers + } + return nil +} + +func (m *GenesisState) GetPools() []*types.Coin { + if m != nil { + return m.Pools + } + return nil +} + +func (m *GenesisState) GetCardAuctionPrice() types.Coin { + if m != nil { + return m.CardAuctionPrice + } + return types.Coin{} +} + +func (m *GenesisState) GetCouncils() []*Council { + if m != nil { + return m.Councils + } + return nil +} + +func (m *GenesisState) GetRunningAverages() []*RunningAverage { + if m != nil { + return m.RunningAverages + } + return nil +} + +func (m *GenesisState) GetImages() []*Image { + if m != nil { + return m.Images + } + return nil +} + +func (m *GenesisState) GetServers() []*Server { + if m != nil { + return m.Servers + } + return nil +} + +func (m *GenesisState) GetLastCardModified() TimeStamp { + if m != nil { + return m.LastCardModified + } + return TimeStamp{} +} + +func (m *GenesisState) GetZealys() []*Zealy { + if m != nil { + return m.Zealys + } + return nil +} + func init() { proto.RegisterType((*GenesisState)(nil), "cardchain.cardchain.GenesisState") } @@ -77,21 +190,46 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/genesis.proto", fileDescriptor_c4e78aa6e403ddd4) } var fileDescriptor_c4e78aa6e403ddd4 = []byte{ - // 213 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4c, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xd2, 0x53, 0xf3, 0x52, 0x8b, 0x33, 0x8b, 0xf5, - 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0x12, 0x7a, 0x70, 0x96, 0x94, 0x60, 0x62, 0x6e, - 0x66, 0x5e, 0xbe, 0x3e, 0x98, 0x84, 0xa8, 0x93, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x33, 0xf5, - 0x41, 0x2c, 0xa8, 0xa8, 0x02, 0x36, 0x0b, 0x0a, 0x12, 0x8b, 0x12, 0x73, 0xa1, 0xe6, 0x2b, 0xf9, - 0x71, 0xf1, 0xb8, 0x43, 0x2c, 0x0c, 0x2e, 0x49, 0x2c, 0x49, 0x15, 0xb2, 0xe3, 0x62, 0x83, 0xc8, - 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x1b, 0x49, 0xeb, 0x61, 0x71, 0x80, 0x5e, 0x00, 0x58, 0x89, - 0x13, 0xe7, 0x89, 0x7b, 0xf2, 0x0c, 0x2b, 0x9e, 0x6f, 0xd0, 0x62, 0x0c, 0x82, 0xea, 0x72, 0x0a, - 0x3a, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, - 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x28, 0x8b, 0xf4, 0xcc, 0x92, 0x8c, - 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0x7d, 0x97, 0xd4, 0xe4, 0xd4, 0xbc, 0x92, 0xa2, 0xc4, 0x1c, - 0xe7, 0xc4, 0xa2, 0x14, 0xf7, 0xc4, 0xdc, 0x54, 0x24, 0xe7, 0x55, 0x20, 0xb1, 0x4b, 0x2a, 0x0b, - 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x4e, 0x35, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x5c, 0x2a, - 0xef, 0x2f, 0x01, 0x00, 0x00, + // 619 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x93, 0xcf, 0x4e, 0x14, 0x41, + 0x10, 0xc6, 0x77, 0x05, 0x17, 0xb6, 0x17, 0x05, 0x5a, 0x0f, 0xed, 0x82, 0xc3, 0xfa, 0xe7, 0x80, + 0xc6, 0xcc, 0x04, 0xd4, 0x84, 0xc4, 0x84, 0x04, 0x30, 0x21, 0xc6, 0x10, 0x49, 0xaf, 0x5e, 0xb8, + 0x90, 0xde, 0xd9, 0x62, 0xe9, 0x64, 0x66, 0x7a, 0xd3, 0xd5, 0x4b, 0xc4, 0xa7, 0xf0, 0x31, 0x3c, + 0xfa, 0x18, 0x1c, 0x39, 0x7a, 0x32, 0x06, 0x0e, 0xbe, 0x81, 0x67, 0xd3, 0x3d, 0xbd, 0xcb, 0x8a, + 0xcd, 0x5e, 0x26, 0x95, 0xa9, 0xdf, 0x57, 0x5d, 0x5d, 0x5f, 0x35, 0x79, 0x94, 0x0a, 0xdd, 0x4d, + 0x8f, 0x85, 0x2c, 0x92, 0xab, 0xa8, 0x07, 0x05, 0xa0, 0xc4, 0xb8, 0xaf, 0x95, 0x51, 0xf4, 0xde, + 0x28, 0x11, 0x8f, 0xa2, 0xe6, 0xa2, 0xc8, 0x65, 0xa1, 0x12, 0xf7, 0x2d, 0xb9, 0xe6, 0xfd, 0x9e, + 0xea, 0x29, 0x17, 0x26, 0x36, 0xf2, 0x7f, 0x5b, 0xa1, 0x03, 0xfa, 0x42, 0x8b, 0xdc, 0xd7, 0x6f, + 0x46, 0x21, 0xc2, 0x46, 0x93, 0xf2, 0x03, 0x04, 0xed, 0xf3, 0x2b, 0xa1, 0x7c, 0x2e, 0x4c, 0x7a, + 0xec, 0x81, 0x87, 0x21, 0x00, 0xc1, 0xf8, 0xf4, 0xd3, 0x70, 0x3a, 0xcb, 0x0e, 0xd5, 0xd1, 0xd1, + 0xe8, 0x94, 0x67, 0x21, 0x4a, 0x0f, 0x8a, 0x42, 0x16, 0xbd, 0x43, 0x71, 0x02, 0x5a, 0xf4, 0xc0, + 0xa3, 0xc1, 0x99, 0xa6, 0x6a, 0x50, 0xa4, 0x32, 0x9b, 0xd4, 0xb3, 0xcc, 0xaf, 0x6a, 0xb4, 0xc2, + 0x4d, 0xe9, 0x93, 0xc9, 0xd7, 0xfe, 0x02, 0x22, 0x3b, 0x1d, 0xcd, 0x4d, 0x61, 0xae, 0x30, 0xe9, + 0x08, 0x84, 0xe4, 0x64, 0xad, 0x03, 0x46, 0xac, 0x25, 0xa9, 0x92, 0x45, 0x99, 0x7f, 0xfc, 0xa7, + 0x46, 0xe6, 0x76, 0x4b, 0xa7, 0xdb, 0x46, 0x18, 0xa0, 0x9b, 0xa4, 0x56, 0x1a, 0xc3, 0xaa, 0xad, + 0xea, 0x6a, 0x63, 0x7d, 0x29, 0x0e, 0x38, 0x1f, 0xef, 0x3b, 0x64, 0xbb, 0x7e, 0xf6, 0x73, 0xa5, + 0xf2, 0xed, 0xf7, 0xf7, 0xe7, 0x55, 0xee, 0x55, 0xf4, 0x0d, 0x69, 0x58, 0x8c, 0x43, 0xaa, 0x74, + 0x17, 0xd9, 0xad, 0xd6, 0xd4, 0x6a, 0x63, 0xfd, 0x41, 0xb0, 0xc8, 0x8e, 0xe5, 0xc6, 0x69, 0x9a, + 0x90, 0xdb, 0xd6, 0x53, 0x64, 0x53, 0x13, 0x64, 0x9f, 0x10, 0x34, 0x2f, 0x39, 0xba, 0x4c, 0xea, + 0xa2, 0xdb, 0xd5, 0x80, 0x08, 0xc8, 0xa6, 0x5b, 0x53, 0xab, 0x75, 0x7e, 0xf5, 0x83, 0xbe, 0x22, + 0x33, 0x6e, 0x05, 0x00, 0x59, 0xcd, 0x15, 0x6c, 0x06, 0x0b, 0xee, 0x59, 0x86, 0x0f, 0x51, 0xfa, + 0x82, 0x4c, 0x23, 0x18, 0x64, 0x33, 0x4e, 0xc2, 0x82, 0x92, 0x36, 0x18, 0xee, 0x28, 0xba, 0x49, + 0x88, 0x5d, 0x93, 0x0f, 0x76, 0x4b, 0x90, 0xcd, 0x3a, 0x4d, 0x74, 0x83, 0xc6, 0x63, 0x7c, 0x4c, + 0x61, 0xaf, 0xdc, 0x57, 0x2a, 0x43, 0x56, 0x1f, 0x5e, 0xd9, 0x19, 0x16, 0x5b, 0xc3, 0x62, 0x6f, + 0x58, 0xbc, 0xa3, 0x64, 0xc1, 0x4b, 0x8e, 0xbe, 0x27, 0x0b, 0xb6, 0xe6, 0xd6, 0x20, 0x35, 0x52, + 0x15, 0xfb, 0x5a, 0xa6, 0xc0, 0x1a, 0xce, 0xaa, 0x9b, 0xb5, 0xdb, 0xd3, 0xd6, 0x28, 0xfe, 0x9f, + 0x90, 0x6e, 0x90, 0x59, 0xbf, 0x93, 0xc8, 0xe6, 0x5c, 0x03, 0xcb, 0x61, 0xab, 0x4a, 0x88, 0x8f, + 0x68, 0xba, 0x47, 0xe6, 0x79, 0xb9, 0xf8, 0x5b, 0xe5, 0xde, 0x23, 0xbb, 0xe3, 0x0a, 0x3c, 0x09, + 0x16, 0xf8, 0x97, 0xe5, 0xd7, 0xb5, 0x74, 0x9d, 0xd4, 0xdc, 0xe6, 0x23, 0xbb, 0x3b, 0xc1, 0xa9, + 0x77, 0x16, 0xe1, 0x9e, 0xa4, 0xaf, 0xc9, 0x4c, 0xdb, 0x3d, 0x06, 0x64, 0xf3, 0x4e, 0xb4, 0x74, + 0xc3, 0xdc, 0x2d, 0xc3, 0x87, 0x2c, 0xdd, 0x27, 0x0b, 0x99, 0x40, 0x63, 0xb7, 0x6f, 0x4f, 0x75, + 0xe5, 0x91, 0x84, 0x2e, 0x5b, 0x70, 0x03, 0x0c, 0xfb, 0xf6, 0x51, 0xe6, 0xd0, 0x36, 0x22, 0xef, + 0x0f, 0xa7, 0x78, 0x5d, 0x6d, 0x9b, 0x77, 0x6f, 0x0e, 0xd9, 0xe2, 0x84, 0xe6, 0x0f, 0x2c, 0xc2, + 0x3d, 0xb9, 0xcd, 0xcf, 0x2e, 0xa2, 0xea, 0xf9, 0x45, 0x54, 0xfd, 0x75, 0x11, 0x55, 0xbf, 0x5e, + 0x46, 0x95, 0xf3, 0xcb, 0xa8, 0xf2, 0xe3, 0x32, 0xaa, 0x1c, 0x6c, 0xf4, 0xa4, 0x39, 0x1e, 0x74, + 0xe2, 0x54, 0xe5, 0xc9, 0x5b, 0x48, 0xa1, 0x30, 0x5a, 0x64, 0xf6, 0xbc, 0x5d, 0x91, 0xc3, 0xd8, + 0x33, 0xff, 0x3c, 0x16, 0x9b, 0xd3, 0x3e, 0x60, 0xa7, 0xe6, 0xde, 0xf4, 0xcb, 0xbf, 0x01, 0x00, + 0x00, 0xff, 0xff, 0xfc, 0x84, 0x35, 0xb9, 0xd0, 0x05, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -114,6 +252,193 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Zealys) > 0 { + for iNdEx := len(m.Zealys) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Zealys[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + } + { + 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-- { + { + size, err := m.Servers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x7a + } + } + if len(m.Images) > 0 { + for iNdEx := len(m.Images) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Images[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x72 + } + } + if len(m.RunningAverages) > 0 { + for iNdEx := len(m.RunningAverages) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.RunningAverages[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x6a + } + } + if len(m.Councils) > 0 { + for iNdEx := len(m.Councils) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Councils[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x62 + } + } + { + size, err := m.CardAuctionPrice.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a + if len(m.Pools) > 0 { + for iNdEx := len(m.Pools) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Pools[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4a + } + } + if len(m.SellOffers) > 0 { + for iNdEx := len(m.SellOffers) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.SellOffers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + } + } + if len(m.Sets) > 0 { + for iNdEx := len(m.Sets) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Sets[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a + } + } + if len(m.Matches) > 0 { + for iNdEx := len(m.Matches) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Matches[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + } + if len(m.Addresses) > 0 { + for iNdEx := len(m.Addresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Addresses[iNdEx]) + copy(dAtA[i:], m.Addresses[iNdEx]) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Addresses[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } + if len(m.Users) > 0 { + for iNdEx := len(m.Users) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Users[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if len(m.CardRecords) > 0 { + for iNdEx := len(m.CardRecords) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.CardRecords[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } { size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -146,6 +471,82 @@ func (m *GenesisState) Size() (n int) { _ = l l = m.Params.Size() n += 1 + l + sovGenesis(uint64(l)) + if len(m.CardRecords) > 0 { + for _, e := range m.CardRecords { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.Users) > 0 { + for _, e := range m.Users { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.Addresses) > 0 { + for _, s := range m.Addresses { + l = len(s) + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.Matches) > 0 { + for _, e := range m.Matches { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.Sets) > 0 { + for _, e := range m.Sets { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.SellOffers) > 0 { + for _, e := range m.SellOffers { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.Pools) > 0 { + for _, e := range m.Pools { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + l = m.CardAuctionPrice.Size() + n += 1 + l + sovGenesis(uint64(l)) + if len(m.Councils) > 0 { + for _, e := range m.Councils { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.RunningAverages) > 0 { + for _, e := range m.RunningAverages { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.Images) > 0 { + for _, e := range m.Images { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.Servers) > 0 { + for _, e := range m.Servers { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + l = m.LastCardModified.Size() + n += 2 + l + sovGenesis(uint64(l)) + if len(m.Zealys) > 0 { + for _, e := range m.Zealys { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } return n } @@ -217,6 +618,478 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CardRecords", 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 + } + m.CardRecords = append(m.CardRecords, &Card{}) + if err := m.CardRecords[len(m.CardRecords)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Users", 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 + } + m.Users = append(m.Users, &User{}) + if err := m.Users[len(m.Users)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + 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 ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Addresses = append(m.Addresses, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Matches", 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 + } + m.Matches = append(m.Matches, &Match{}) + if err := m.Matches[len(m.Matches)-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 Sets", 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 + } + m.Sets = append(m.Sets, &Set{}) + if err := m.Sets[len(m.Sets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SellOffers", 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 + } + m.SellOffers = append(m.SellOffers, &SellOffer{}) + if err := m.SellOffers[len(m.SellOffers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pools", 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 + } + m.Pools = append(m.Pools, &types.Coin{}) + if err := m.Pools[len(m.Pools)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CardAuctionPrice", 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.CardAuctionPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Councils", 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 + } + m.Councils = append(m.Councils, &Council{}) + if err := m.Councils[len(m.Councils)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RunningAverages", 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 + } + m.RunningAverages = append(m.RunningAverages, &RunningAverage{}) + if err := m.RunningAverages[len(m.RunningAverages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Images", 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 + } + m.Images = append(m.Images, &Image{}) + if err := m.Images[len(m.Images)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Servers", 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 + } + m.Servers = append(m.Servers, &Server{}) + if err := m.Servers[len(m.Servers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + 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 err := m.LastCardModified.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Zealys", 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 + } + m.Zealys = append(m.Zealys, &Zealy{}) + if err := m.Zealys[len(m.Zealys)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) From 80cae9d5ef7538e7ac9dee103e60b498215cf71c Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 17 Feb 2025 23:29:09 +0100 Subject: [PATCH 63/99] feat(#242): Added genesis and params --- x/cardchain/keeper/keeper.go | 4 +- .../keeper/msg_server_booster_pack_buy.go | 2 +- .../keeper/msg_server_booster_pack_open.go | 2 +- .../keeper/msg_server_card_rarity_set.go | 2 +- .../keeper/msg_server_set_artist_set.go | 4 +- .../keeper/msg_server_set_artwork_add.go | 2 +- x/cardchain/keeper/msg_server_set_card_add.go | 6 +- .../keeper/msg_server_set_card_remove.go | 4 +- .../keeper/msg_server_set_contributor_add.go | 4 +- .../msg_server_set_contributor_remove.go | 4 +- x/cardchain/keeper/msg_server_set_create.go | 2 +- x/cardchain/keeper/msg_server_set_finalize.go | 4 +- x/cardchain/keeper/msg_server_set_name_set.go | 4 +- .../keeper/msg_server_set_story_add.go | 4 +- .../keeper/msg_server_set_story_writer_set.go | 4 +- x/cardchain/keeper/query_set.go | 2 +- .../keeper/query_set_rarity_distribution.go | 2 +- x/cardchain/keeper/query_sets.go | 2 +- x/cardchain/keeper/set.go | 2 +- x/cardchain/module/genesis.go | 101 +++++++++++++++++- x/cardchain/types/params.go | 32 +++++- 21 files changed, 161 insertions(+), 32 deletions(-) diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index e904d825..9d5e5cb9 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -21,7 +21,7 @@ type Keeper struct { CardK gtk.GenericUint64TypeKeeper[*types.Card] Councils gtk.GenericUint64TypeKeeper[*types.Council] SellOfferK gtk.GenericUint64TypeKeeper[*types.SellOffer] - Setk gtk.GenericUint64TypeKeeper[*types.Set] + SetK gtk.GenericUint64TypeKeeper[*types.Set] MatchK gtk.GenericUint64TypeKeeper[*types.Match] Servers gtk.GenericUint64TypeKeeper[*types.Server] RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] @@ -63,7 +63,7 @@ func NewKeeper( CardK: gtk.NewUintGTK[*types.Card]("Cards", storeService, cdc, gtk.GetEmpty[types.Card]), Councils: gtk.NewUintGTK[*types.Council]("Councils", storeService, cdc, gtk.GetEmpty[types.Council]), SellOfferK: gtk.NewUintGTK[*types.SellOffer]("SellOffers", storeService, cdc, gtk.GetEmpty[types.SellOffer]), - Setk: gtk.NewUintGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), + SetK: gtk.NewUintGTK[*types.Set]("Sets", storeService, cdc, gtk.GetEmpty[types.Set]), MatchK: gtk.NewUintGTK[*types.Match]("Matches", storeService, cdc, gtk.GetEmpty[types.Match]), RunningAverages: gtk.NewKGTK[*types.RunningAverage]("RunningAverages", storeService, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), Pools: gtk.NewKGTK[*sdk.Coin]("Pools", storeService, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), diff --git a/x/cardchain/keeper/msg_server_booster_pack_buy.go b/x/cardchain/keeper/msg_server_booster_pack_buy.go index 16696a0e..4bb30a2a 100644 --- a/x/cardchain/keeper/msg_server_booster_pack_buy.go +++ b/x/cardchain/keeper/msg_server_booster_pack_buy.go @@ -22,7 +22,7 @@ func (k msgServer) BoosterPackBuy(goCtx context.Context, msg *types.MsgBoosterPa return nil, errorsmod.Wrap(types.ErrUserDoesNotExist, err.Error()) } - set := k.Setk.Get(ctx, msg.SetId) + set := k.SetK.Get(ctx, msg.SetId) if set.Status != types.SetStatus_active { return nil, errorsmod.Wrapf(sdkerrors.ErrUnauthorized, "invalid set status: %s", set.Status) diff --git a/x/cardchain/keeper/msg_server_booster_pack_open.go b/x/cardchain/keeper/msg_server_booster_pack_open.go index c13803bb..4d26937c 100644 --- a/x/cardchain/keeper/msg_server_booster_pack_open.go +++ b/x/cardchain/keeper/msg_server_booster_pack_open.go @@ -34,7 +34,7 @@ func (k msgServer) BoosterPackOpen(goCtx context.Context, msg *types.MsgBoosterP cleanedRatios [3]uint64 ) pack := creator.BoosterPacks[msg.BoosterPackId] - set := k.Setk.Get(ctx, pack.SetId) + set := k.SetK.Get(ctx, pack.SetId) for idx, ratio := range pack.DropRatiosPerPack { if len(set.Rarities[idx+2].R) == 0 { diff --git a/x/cardchain/keeper/msg_server_card_rarity_set.go b/x/cardchain/keeper/msg_server_card_rarity_set.go index ce66538b..004865fc 100644 --- a/x/cardchain/keeper/msg_server_card_rarity_set.go +++ b/x/cardchain/keeper/msg_server_card_rarity_set.go @@ -14,7 +14,7 @@ func (k msgServer) CardRaritySet(goCtx context.Context, msg *types.MsgCardRarity ctx := sdk.UnwrapSDKContext(goCtx) card := k.CardK.Get(ctx, msg.CardId) - set := k.Setk.Get(ctx, msg.SetId) + set := k.SetK.Get(ctx, msg.SetId) if set.Contributors[0] != msg.Creator || !slices.Contains(set.Cards, msg.CardId) { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Creator") diff --git a/x/cardchain/keeper/msg_server_set_artist_set.go b/x/cardchain/keeper/msg_server_set_artist_set.go index 38d6eead..03c3d21a 100644 --- a/x/cardchain/keeper/msg_server_set_artist_set.go +++ b/x/cardchain/keeper/msg_server_set_artist_set.go @@ -10,7 +10,7 @@ import ( func (k msgServer) SetArtistSet(goCtx context.Context, msg *types.MsgSetArtistSet) (*types.MsgSetArtistSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Setk.Get(ctx, msg.SetId) + set := k.SetK.Get(ctx, msg.SetId) err := checkSetEditable(set, msg.Creator) if err != nil { return nil, err @@ -18,7 +18,7 @@ func (k msgServer) SetArtistSet(goCtx context.Context, msg *types.MsgSetArtistSe set.Artist = msg.Artist - k.Setk.Set(ctx, msg.SetId, set) + k.SetK.Set(ctx, msg.SetId, set) return &types.MsgSetArtistSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_artwork_add.go b/x/cardchain/keeper/msg_server_set_artwork_add.go index 2117e05e..a602a61c 100644 --- a/x/cardchain/keeper/msg_server_set_artwork_add.go +++ b/x/cardchain/keeper/msg_server_set_artwork_add.go @@ -12,7 +12,7 @@ import ( func (k msgServer) SetArtworkAdd(goCtx context.Context, msg *types.MsgSetArtworkAdd) (*types.MsgSetArtworkAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Setk.Get(ctx, msg.SetId) + set := k.SetK.Get(ctx, msg.SetId) image := k.Images.Get(ctx, set.ArtworkId) if set.Artist != msg.Creator { diff --git a/x/cardchain/keeper/msg_server_set_card_add.go b/x/cardchain/keeper/msg_server_set_card_add.go index 46b94b53..29ff80b2 100644 --- a/x/cardchain/keeper/msg_server_set_card_add.go +++ b/x/cardchain/keeper/msg_server_set_card_add.go @@ -15,7 +15,7 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( setSize := int(k.GetParams(ctx).SetSize) - set := k.Setk.Get(ctx, msg.SetId) + set := k.SetK.Get(ctx, msg.SetId) if !slices.Contains(set.Contributors, msg.Creator) { return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Invalid contributor") } @@ -23,7 +23,7 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( return nil, errorsmod.Wrapf(errors.ErrUnauthorized, "Invalid set status is: %s", set.Status.String()) } - iter := k.Setk.GetItemIterator(ctx) + iter := k.SetK.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, coll := iter.Value() if coll.Status != types.SetStatus_archived && slices.Contains(coll.Cards, msg.CardId) { @@ -55,7 +55,7 @@ func (k msgServer) SetCardAdd(goCtx context.Context, msg *types.MsgSetCardAdd) ( set.Cards = append(set.Cards, msg.CardId) - k.Setk.Set(ctx, msg.SetId, set) + k.SetK.Set(ctx, msg.SetId, set) return &types.MsgSetCardAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_card_remove.go b/x/cardchain/keeper/msg_server_set_card_remove.go index acf135a1..744b412d 100644 --- a/x/cardchain/keeper/msg_server_set_card_remove.go +++ b/x/cardchain/keeper/msg_server_set_card_remove.go @@ -14,7 +14,7 @@ import ( func (k msgServer) SetCardRemove(goCtx context.Context, msg *types.MsgSetCardRemove) (*types.MsgSetCardRemoveResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Setk.Get(ctx, msg.SetId) + set := k.SetK.Get(ctx, msg.SetId) if !slices.Contains(set.Contributors, msg.Creator) { return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Invalid contributor") } @@ -29,6 +29,6 @@ func (k msgServer) SetCardRemove(goCtx context.Context, msg *types.MsgSetCardRem set.Cards = newCards - k.Setk.Set(ctx, msg.SetId, set) + k.SetK.Set(ctx, msg.SetId, set) return &types.MsgSetCardRemoveResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_contributor_add.go b/x/cardchain/keeper/msg_server_set_contributor_add.go index 0f91f98d..fa2c679d 100644 --- a/x/cardchain/keeper/msg_server_set_contributor_add.go +++ b/x/cardchain/keeper/msg_server_set_contributor_add.go @@ -13,7 +13,7 @@ import ( func (k msgServer) SetContributorAdd(goCtx context.Context, msg *types.MsgSetContributorAdd) (*types.MsgSetContributorAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Setk.Get(ctx, msg.SetId) + set := k.SetK.Get(ctx, msg.SetId) if err := checkSetEditable(set, msg.Creator); err != nil { return nil, err } @@ -28,7 +28,7 @@ func (k msgServer) SetContributorAdd(goCtx context.Context, msg *types.MsgSetCon set.Contributors = append(set.Contributors, msg.User) - k.Setk.Set(ctx, msg.SetId, set) + k.SetK.Set(ctx, msg.SetId, set) return &types.MsgSetContributorAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_contributor_remove.go b/x/cardchain/keeper/msg_server_set_contributor_remove.go index de9a99fb..b7f5a91e 100644 --- a/x/cardchain/keeper/msg_server_set_contributor_remove.go +++ b/x/cardchain/keeper/msg_server_set_contributor_remove.go @@ -12,7 +12,7 @@ import ( func (k msgServer) SetContributorRemove(goCtx context.Context, msg *types.MsgSetContributorRemove) (*types.MsgSetContributorRemoveResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Setk.Get(ctx, msg.SetId) + set := k.SetK.Get(ctx, msg.SetId) if err := checkSetEditable(set, msg.Creator); err != nil { return nil, err } @@ -24,7 +24,7 @@ func (k msgServer) SetContributorRemove(goCtx context.Context, msg *types.MsgSet set.Contributors = newContributors - k.Setk.Set(ctx, msg.SetId, set) + k.SetK.Set(ctx, msg.SetId, set) return &types.MsgSetContributorRemoveResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_create.go b/x/cardchain/keeper/msg_server_set_create.go index ba4fe533..5f86dc1d 100644 --- a/x/cardchain/keeper/msg_server_set_create.go +++ b/x/cardchain/keeper/msg_server_set_create.go @@ -31,7 +31,7 @@ func (k msgServer) SetCreate(goCtx context.Context, msg *types.MsgSetCreate) (*t image := types.Image{} k.Images.Set(ctx, set.ArtworkId, &image) - k.Setk.Append(ctx, &set) + k.SetK.Append(ctx, &set) return &types.MsgSetCreateResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_finalize.go b/x/cardchain/keeper/msg_server_set_finalize.go index 719c54f5..b6f9ac3a 100644 --- a/x/cardchain/keeper/msg_server_set_finalize.go +++ b/x/cardchain/keeper/msg_server_set_finalize.go @@ -14,7 +14,7 @@ func (k msgServer) SetFinalize(goCtx context.Context, msg *types.MsgSetFinalize) setSize := int(k.GetParams(ctx).SetSize) - set := k.Setk.Get(ctx, msg.SetId) + set := k.SetK.Get(ctx, msg.SetId) err := checkSetEditable(set, msg.Creator) if err != nil { return nil, err @@ -44,7 +44,7 @@ func (k msgServer) SetFinalize(goCtx context.Context, msg *types.MsgSetFinalize) set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) set.Rarities = k.GetCardRaritiesInSet(ctx, set) - k.Setk.Set(ctx, msg.SetId, set) + k.SetK.Set(ctx, msg.SetId, set) return &types.MsgSetFinalizeResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_name_set.go b/x/cardchain/keeper/msg_server_set_name_set.go index d2323cfd..8decb078 100644 --- a/x/cardchain/keeper/msg_server_set_name_set.go +++ b/x/cardchain/keeper/msg_server_set_name_set.go @@ -10,7 +10,7 @@ import ( func (k msgServer) SetNameSet(goCtx context.Context, msg *types.MsgSetNameSet) (*types.MsgSetNameSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Setk.Get(ctx, msg.SetId) + set := k.SetK.Get(ctx, msg.SetId) err := checkSetEditable(set, msg.Creator) if err != nil { return nil, err @@ -18,7 +18,7 @@ func (k msgServer) SetNameSet(goCtx context.Context, msg *types.MsgSetNameSet) ( set.Name = msg.Name - k.Setk.Set(ctx, msg.SetId, set) + k.SetK.Set(ctx, msg.SetId, set) return &types.MsgSetNameSetResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_story_add.go b/x/cardchain/keeper/msg_server_set_story_add.go index 4ad23d99..1664c6d6 100644 --- a/x/cardchain/keeper/msg_server_set_story_add.go +++ b/x/cardchain/keeper/msg_server_set_story_add.go @@ -12,7 +12,7 @@ import ( func (k msgServer) SetStoryAdd(goCtx context.Context, msg *types.MsgSetStoryAdd) (*types.MsgSetStoryAddResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Setk.Get(ctx, msg.SetId) + set := k.SetK.Get(ctx, msg.SetId) if set.StoryWriter != msg.Creator { return nil, errorsmod.Wrap(errors.ErrUnauthorized, "Incorrect StoryWriter") } @@ -27,6 +27,6 @@ func (k msgServer) SetStoryAdd(goCtx context.Context, msg *types.MsgSetStoryAdd) set.Story = msg.Story - k.Setk.Set(ctx, msg.SetId, set) + k.SetK.Set(ctx, msg.SetId, set) return &types.MsgSetStoryAddResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_set_story_writer_set.go b/x/cardchain/keeper/msg_server_set_story_writer_set.go index 48def1de..362ccf36 100644 --- a/x/cardchain/keeper/msg_server_set_story_writer_set.go +++ b/x/cardchain/keeper/msg_server_set_story_writer_set.go @@ -10,7 +10,7 @@ import ( func (k msgServer) SetStoryWriterSet(goCtx context.Context, msg *types.MsgSetStoryWriterSet) (*types.MsgSetStoryWriterSetResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Setk.Get(ctx, msg.SetId) + set := k.SetK.Get(ctx, msg.SetId) err := checkSetEditable(set, msg.Creator) if err != nil { return nil, err @@ -18,7 +18,7 @@ func (k msgServer) SetStoryWriterSet(goCtx context.Context, msg *types.MsgSetSto set.StoryWriter = msg.StoryWriter - k.Setk.Set(ctx, msg.SetId, set) + k.SetK.Set(ctx, msg.SetId, set) return &types.MsgSetStoryWriterSetResponse{}, nil } diff --git a/x/cardchain/keeper/query_set.go b/x/cardchain/keeper/query_set.go index c9e3e9f3..238b4f4f 100644 --- a/x/cardchain/keeper/query_set.go +++ b/x/cardchain/keeper/query_set.go @@ -16,7 +16,7 @@ func (k Keeper) Set(goCtx context.Context, req *types.QuerySetRequest) (*types.Q ctx := sdk.UnwrapSDKContext(goCtx) - set := k.Setk.Get(ctx, req.SetId) + set := k.SetK.Get(ctx, req.SetId) image := k.Images.Get(ctx, set.ArtworkId) return &types.QuerySetResponse{Set: &types.SetWithArtwork{ diff --git a/x/cardchain/keeper/query_set_rarity_distribution.go b/x/cardchain/keeper/query_set_rarity_distribution.go index 81ce9290..52e1a74c 100644 --- a/x/cardchain/keeper/query_set_rarity_distribution.go +++ b/x/cardchain/keeper/query_set_rarity_distribution.go @@ -17,7 +17,7 @@ func (k Keeper) SetRarityDistribution(goCtx context.Context, req *types.QuerySet ctx := sdk.UnwrapSDKContext(goCtx) setSize := k.GetParams(ctx).SetSize - set := k.Setk.Get(ctx, req.SetId) + set := k.SetK.Get(ctx, req.SetId) dist, err := k.GetRarityDistribution(ctx, *set, uint32(setSize)) return &types.QuerySetRarityDistributionResponse{Current: dist[0][:], Wanted: dist[1][:]}, err diff --git a/x/cardchain/keeper/query_sets.go b/x/cardchain/keeper/query_sets.go index e40d5ff3..2e87fb6a 100644 --- a/x/cardchain/keeper/query_sets.go +++ b/x/cardchain/keeper/query_sets.go @@ -23,7 +23,7 @@ func (k Keeper) Sets(goCtx context.Context, req *types.QuerySetsRequest) (*types allCardsInSet bool = true ) - iter := k.Setk.GetItemIterator(ctx) + iter := k.SetK.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, set := iter.Value() diff --git a/x/cardchain/keeper/set.go b/x/cardchain/keeper/set.go index 81b56b3d..e8ff1e43 100644 --- a/x/cardchain/keeper/set.go +++ b/x/cardchain/keeper/set.go @@ -67,7 +67,7 @@ func incQ(addrsWithQ *[]*types.AddrWithQuantity, addr string) { // GetActiveSets Return a list of all active sets ids func (k Keeper) GetActiveSets(ctx sdk.Context) (activeSets []uint64) { - iter := k.Setk.GetItemIterator(ctx) + iter := k.SetK.GetItemIterator(ctx) for ; iter.Valid(); iter.Next() { idx, set := iter.Value() if set.Status == types.SetStatus_active { diff --git a/x/cardchain/module/genesis.go b/x/cardchain/module/genesis.go index 38de003f..fc343509 100644 --- a/x/cardchain/module/genesis.go +++ b/x/cardchain/module/genesis.go @@ -1,15 +1,96 @@ package cardchain import ( + "encoding/json" + "fmt" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardobject/cardobject" + "github.com/DecentralCardGame/cardobject/keywords" ) // 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 + for id := range genState.Users { + address, _ := sdk.AccAddressFromBech32(genState.Addresses[id]) + k.Users.Set(ctx, address, genState.Users[id]) + } + for id, match := range genState.Matches { + k.MatchK.Set(ctx, uint64(id), match) + } + for id, council := range genState.Councils { + k.Councils.Set(ctx, uint64(id), council) + } + for id, sellOffer := range genState.SellOffers { + k.SellOfferK.Set(ctx, uint64(id), sellOffer) + } + for id, image := range genState.Images { + k.Images.Set(ctx, uint64(id), image) + } + for id, server := range genState.Servers { + k.Servers.Set(ctx, uint64(id), server) + } + for id, pool := range genState.Pools { + k.Pools.Set(ctx, k.Pools.KeyWords[id], pool) + } + for idx, average := range genState.RunningAverages { + k.RunningAverages.Set(ctx, k.RunningAverages.KeyWords[idx], average) + } + if genState.CardAuctionPrice.Denom != "" { + k.CardAuctionPrice.Set(ctx, &genState.CardAuctionPrice) + } + k.LastCardModified.Set(ctx, &genState.LastCardModified) + for _, zealy := range genState.Zealys { + k.Zealy.Set(ctx, zealy.ZealyId, zealy) + } + k.Logger().Info("reading cards with id:") + for currId, record := range genState.CardRecords { + if len(record.Content) != 0 { + _, err := keywords.Unmarshal(record.Content) + + if err != nil { + k.Logger().Info(fmt.Sprintf("Failed to read %d :\n\t%s\n\t%s\n-----", currId, err.Error(), record.Content)) + var card keywords.Card + json.Unmarshal(record.Content, &card) + + switch card.GetType() { + case cardobject.ENTITYTYPE: + card.Entity.Abilities.Clear() + case cardobject.PLACETYPE: + card.Place.Abilities.Clear() + case cardobject.HEADQUARTERTYPE: + card.Headquarter.Abilities.Clear() + case cardobject.ACTIONTYPE: + card.Action.Effects.Clear() + } + jsonBytes, _ := json.Marshal(card) + record.Content = jsonBytes + } + } + + k.CardK.Set(ctx, uint64(currId), record) + } + k.Logger().Info("Params", genState.Params) + if genState.Params.AirDropValue.Denom == "" { + defaultParams := types.DefaultParams() + genState.Params.AirDropValue = defaultParams.AirDropValue + genState.Params.AirDropMaxBlockHeight = defaultParams.AirDropMaxBlockHeight + } + if genState.Params.MatchWorkerDelay == 0 { + genState.Params.MatchWorkerDelay = types.DefaultMatchWorkerDelay + } + for id, set := range genState.Sets { + if set.Status == types.SetStatus_active || set.Status == types.SetStatus_finalized { + set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) + set.Rarities = k.GetCardRaritiesInSet(ctx, set) + } + k.SetK.Set(ctx, uint64(id), set) + } + if err := k.SetParams(ctx, genState.Params); err != nil { panic(err) } @@ -18,8 +99,26 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) // 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) + genesis.Params = k.GetParams(ctx) + genesis.CardAuctionPrice = *k.CardAuctionPrice.Get(ctx) + genesis.LastCardModified = *k.LastCardModified.Get(ctx) + genesis.SellOffers = k.SellOfferK.GetAll(ctx) + genesis.Pools = k.Pools.GetAll(ctx) + genesis.CardRecords = k.CardK.GetAll(ctx) + genesis.Matches = k.MatchK.GetAll(ctx) + genesis.Councils = k.Councils.GetAll(ctx) + genesis.RunningAverages = k.RunningAverages.GetAll(ctx) + genesis.Sets = k.SetK.GetAll(ctx) + genesis.Images = k.Images.GetAll(ctx) + genesis.Servers = k.Servers.GetAll(ctx) + users, accAddresses := k.GetAllUsers(ctx) + genesis.Zealys = k.Zealy.GetAll(ctx) + var addresses []string + for _, addr := range accAddresses { + addresses = append(addresses, addr.String()) + } + genesis.Users = users // this line is used by starport scaffolding # genesis/module/export return genesis diff --git a/x/cardchain/types/params.go b/x/cardchain/types/params.go index 4f3215e3..b4d8b521 100644 --- a/x/cardchain/types/params.go +++ b/x/cardchain/types/params.go @@ -1,11 +1,16 @@ package types import ( + math "math" + + sdk "github.com/cosmos/cosmos-sdk/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ) var _ paramtypes.ParamSet = (*Params)(nil) +const DefaultMatchWorkerDelay = 170 + // ParamKeyTable the param key table for launch module func ParamKeyTable() paramtypes.KeyTable { return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) @@ -13,7 +18,32 @@ func ParamKeyTable() paramtypes.KeyTable { // NewParams creates a new Params instance func NewParams() Params { - return Params{} + return Params{ + VotingRightsExpirationTime: 86000, + 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))), + WinnerReward: int64(math.Pow(10, 6)), + VotePoolFraction: 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, + CommonsPerPack: 9, + UnCommonsPerPack: 3, + TrialPeriod: 14 * 24 * 500, + GameVoteRatio: 20, // This is a fixed point number and will be devided by 100 when used + CardAuctionPriceReductionPeriod: 20, + AirDropValue: sdk.NewInt64Coin("ubpf", int64(5*math.Pow(10, 6))), + AirDropMaxBlockHeight: 5000000, + MatchWorkerDelay: DefaultMatchWorkerDelay, + RareDropRatio: 150, + ExceptionalDropRatio: 50, + UniqueDropRatio: 1, + } } // DefaultParams returns a default set of parameters From 528c4675ce4449216a09822e416857e80626cec5 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 18 Feb 2025 00:36:35 +0100 Subject: [PATCH 64/99] feat(#242): Added Endblocker --- api/cardchain/cardchain/genesis.pulsar.go | 52 ++-- app/app.go | 2 +- config.yml | 128 +++++++-- proto/cardchain/cardchain/genesis.proto | 4 +- util/coin.go | 37 +++ x/cardchain/keeper/balancing.go | 266 ++++++++++++++++++ x/cardchain/keeper/coin.go | 32 --- x/cardchain/keeper/council.go | 9 +- x/cardchain/keeper/match.go | 7 +- .../keeper/msg_server_booster_pack_buy.go | 3 +- .../keeper/msg_server_council_create.go | 3 +- x/cardchain/keeper/set.go | 5 +- x/cardchain/keeper/vote_right.go | 3 +- x/cardchain/module/module.go | 64 ++++- x/cardchain/types/genesis.pb.go | 80 +++--- x/cardchain/types/voting_results.go | 14 + 16 files changed, 573 insertions(+), 136 deletions(-) create mode 100644 util/coin.go create mode 100644 x/cardchain/keeper/balancing.go create mode 100644 x/cardchain/types/voting_results.go diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index 73114ba3..aef8d221 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -634,9 +634,9 @@ var ( fd_GenesisState_pools protoreflect.FieldDescriptor fd_GenesisState_cardAuctionPrice protoreflect.FieldDescriptor fd_GenesisState_councils protoreflect.FieldDescriptor - fd_GenesisState_RunningAverages protoreflect.FieldDescriptor + fd_GenesisState_runningAverages protoreflect.FieldDescriptor fd_GenesisState_images protoreflect.FieldDescriptor - fd_GenesisState_Servers protoreflect.FieldDescriptor + fd_GenesisState_servers protoreflect.FieldDescriptor fd_GenesisState_lastCardModified protoreflect.FieldDescriptor fd_GenesisState_zealys protoreflect.FieldDescriptor ) @@ -654,9 +654,9 @@ func init() { fd_GenesisState_pools = md_GenesisState.Fields().ByName("pools") fd_GenesisState_cardAuctionPrice = md_GenesisState.Fields().ByName("cardAuctionPrice") fd_GenesisState_councils = md_GenesisState.Fields().ByName("councils") - fd_GenesisState_RunningAverages = md_GenesisState.Fields().ByName("RunningAverages") + fd_GenesisState_runningAverages = md_GenesisState.Fields().ByName("runningAverages") fd_GenesisState_images = md_GenesisState.Fields().ByName("images") - fd_GenesisState_Servers = md_GenesisState.Fields().ByName("Servers") + fd_GenesisState_servers = md_GenesisState.Fields().ByName("servers") fd_GenesisState_lastCardModified = md_GenesisState.Fields().ByName("lastCardModified") fd_GenesisState_zealys = md_GenesisState.Fields().ByName("zealys") } @@ -788,7 +788,7 @@ func (x *fastReflection_GenesisState) Range(f func(protoreflect.FieldDescriptor, } if len(x.RunningAverages) != 0 { value := protoreflect.ValueOfList(&_GenesisState_13_list{list: &x.RunningAverages}) - if !f(fd_GenesisState_RunningAverages, value) { + if !f(fd_GenesisState_runningAverages, value) { return } } @@ -800,7 +800,7 @@ func (x *fastReflection_GenesisState) Range(f func(protoreflect.FieldDescriptor, } if len(x.Servers) != 0 { value := protoreflect.ValueOfList(&_GenesisState_15_list{list: &x.Servers}) - if !f(fd_GenesisState_Servers, value) { + if !f(fd_GenesisState_servers, value) { return } } @@ -851,11 +851,11 @@ func (x *fastReflection_GenesisState) Has(fd protoreflect.FieldDescriptor) bool return x.CardAuctionPrice != nil case "cardchain.cardchain.GenesisState.councils": return len(x.Councils) != 0 - case "cardchain.cardchain.GenesisState.RunningAverages": + case "cardchain.cardchain.GenesisState.runningAverages": return len(x.RunningAverages) != 0 case "cardchain.cardchain.GenesisState.images": return len(x.Images) != 0 - case "cardchain.cardchain.GenesisState.Servers": + case "cardchain.cardchain.GenesisState.servers": return len(x.Servers) != 0 case "cardchain.cardchain.GenesisState.lastCardModified": return x.LastCardModified != nil @@ -897,11 +897,11 @@ func (x *fastReflection_GenesisState) Clear(fd protoreflect.FieldDescriptor) { x.CardAuctionPrice = nil case "cardchain.cardchain.GenesisState.councils": x.Councils = nil - case "cardchain.cardchain.GenesisState.RunningAverages": + case "cardchain.cardchain.GenesisState.runningAverages": x.RunningAverages = nil case "cardchain.cardchain.GenesisState.images": x.Images = nil - case "cardchain.cardchain.GenesisState.Servers": + case "cardchain.cardchain.GenesisState.servers": x.Servers = nil case "cardchain.cardchain.GenesisState.lastCardModified": x.LastCardModified = nil @@ -977,7 +977,7 @@ func (x *fastReflection_GenesisState) Get(descriptor protoreflect.FieldDescripto } listValue := &_GenesisState_12_list{list: &x.Councils} return protoreflect.ValueOfList(listValue) - case "cardchain.cardchain.GenesisState.RunningAverages": + case "cardchain.cardchain.GenesisState.runningAverages": if len(x.RunningAverages) == 0 { return protoreflect.ValueOfList(&_GenesisState_13_list{}) } @@ -989,7 +989,7 @@ func (x *fastReflection_GenesisState) Get(descriptor protoreflect.FieldDescripto } listValue := &_GenesisState_14_list{list: &x.Images} return protoreflect.ValueOfList(listValue) - case "cardchain.cardchain.GenesisState.Servers": + case "cardchain.cardchain.GenesisState.servers": if len(x.Servers) == 0 { return protoreflect.ValueOfList(&_GenesisState_15_list{}) } @@ -1060,7 +1060,7 @@ func (x *fastReflection_GenesisState) Set(fd protoreflect.FieldDescriptor, value lv := value.List() clv := lv.(*_GenesisState_12_list) x.Councils = *clv.list - case "cardchain.cardchain.GenesisState.RunningAverages": + case "cardchain.cardchain.GenesisState.runningAverages": lv := value.List() clv := lv.(*_GenesisState_13_list) x.RunningAverages = *clv.list @@ -1068,7 +1068,7 @@ func (x *fastReflection_GenesisState) Set(fd protoreflect.FieldDescriptor, value lv := value.List() clv := lv.(*_GenesisState_14_list) x.Images = *clv.list - case "cardchain.cardchain.GenesisState.Servers": + case "cardchain.cardchain.GenesisState.servers": lv := value.List() clv := lv.(*_GenesisState_15_list) x.Servers = *clv.list @@ -1156,7 +1156,7 @@ func (x *fastReflection_GenesisState) Mutable(fd protoreflect.FieldDescriptor) p } value := &_GenesisState_12_list{list: &x.Councils} return protoreflect.ValueOfList(value) - case "cardchain.cardchain.GenesisState.RunningAverages": + case "cardchain.cardchain.GenesisState.runningAverages": if x.RunningAverages == nil { x.RunningAverages = []*RunningAverage{} } @@ -1168,7 +1168,7 @@ func (x *fastReflection_GenesisState) Mutable(fd protoreflect.FieldDescriptor) p } value := &_GenesisState_14_list{list: &x.Images} return protoreflect.ValueOfList(value) - case "cardchain.cardchain.GenesisState.Servers": + case "cardchain.cardchain.GenesisState.servers": if x.Servers == nil { x.Servers = []*Server{} } @@ -1228,13 +1228,13 @@ func (x *fastReflection_GenesisState) NewField(fd protoreflect.FieldDescriptor) case "cardchain.cardchain.GenesisState.councils": list := []*Council{} return protoreflect.ValueOfList(&_GenesisState_12_list{list: &list}) - case "cardchain.cardchain.GenesisState.RunningAverages": + case "cardchain.cardchain.GenesisState.runningAverages": list := []*RunningAverage{} return protoreflect.ValueOfList(&_GenesisState_13_list{list: &list}) case "cardchain.cardchain.GenesisState.images": list := []*Image{} return protoreflect.ValueOfList(&_GenesisState_14_list{list: &list}) - case "cardchain.cardchain.GenesisState.Servers": + case "cardchain.cardchain.GenesisState.servers": list := []*Server{} return protoreflect.ValueOfList(&_GenesisState_15_list{list: &list}) case "cardchain.cardchain.GenesisState.lastCardModified": @@ -2284,9 +2284,9 @@ type GenesisState struct { Pools []*v1beta1.Coin `protobuf:"bytes,9,rep,name=pools,proto3" json:"pools,omitempty"` CardAuctionPrice *v1beta1.Coin `protobuf:"bytes,11,opt,name=cardAuctionPrice,proto3" json:"cardAuctionPrice,omitempty"` Councils []*Council `protobuf:"bytes,12,rep,name=councils,proto3" json:"councils,omitempty"` - RunningAverages []*RunningAverage `protobuf:"bytes,13,rep,name=RunningAverages,proto3" json:"RunningAverages,omitempty"` + 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"` + Servers []*Server `protobuf:"bytes,15,rep,name=servers,proto3" json:"servers,omitempty"` LastCardModified *TimeStamp `protobuf:"bytes,16,opt,name=lastCardModified,proto3" json:"lastCardModified,omitempty"` Zealys []*Zealy `protobuf:"bytes,17,rep,name=zealys,proto3" json:"zealys,omitempty"` } @@ -2486,18 +2486,18 @@ var file_cardchain_cardchain_genesis_proto_rawDesc = []byte{ 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, + 0x63, 0x69, 0x6c, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x65, 0x72, 0x61, - 0x67, 0x65, 0x52, 0x0f, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x07, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x50, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x50, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x54, @@ -2562,9 +2562,9 @@ var file_cardchain_cardchain_genesis_proto_depIdxs = []int32{ 7, // 6: cardchain.cardchain.GenesisState.pools:type_name -> cosmos.base.v1beta1.Coin 7, // 7: cardchain.cardchain.GenesisState.cardAuctionPrice:type_name -> cosmos.base.v1beta1.Coin 8, // 8: cardchain.cardchain.GenesisState.councils:type_name -> cardchain.cardchain.Council - 9, // 9: cardchain.cardchain.GenesisState.RunningAverages:type_name -> cardchain.cardchain.RunningAverage + 9, // 9: cardchain.cardchain.GenesisState.runningAverages:type_name -> cardchain.cardchain.RunningAverage 10, // 10: cardchain.cardchain.GenesisState.images:type_name -> cardchain.cardchain.Image - 11, // 11: cardchain.cardchain.GenesisState.Servers:type_name -> cardchain.cardchain.Server + 11, // 11: cardchain.cardchain.GenesisState.servers:type_name -> cardchain.cardchain.Server 12, // 12: cardchain.cardchain.GenesisState.lastCardModified:type_name -> cardchain.cardchain.TimeStamp 13, // 13: cardchain.cardchain.GenesisState.zealys:type_name -> cardchain.cardchain.Zealy 14, // [14:14] is the sub-list for method output_type diff --git a/app/app.go b/app/app.go index ffadeaca..db3b00eb 100644 --- a/app/app.go +++ b/app/app.go @@ -84,7 +84,7 @@ import ( ) const ( - AccountAddressPrefix = "cosmos" + AccountAddressPrefix = "cc" Name = "cardchain" ) diff --git a/config.yml b/config.yml index e6c00d47..e6851cec 100644 --- a/config.yml +++ b/config.yml @@ -1,28 +1,112 @@ version: 1 -validation: sovereign -accounts: -- name: alice - coins: - - 20000token - - 200000000stake -- name: bob +accounts: + - name: alice + coins: + - 1000000000000ucredits + - 1000000000ubpf + - name: bob + coins: + - 10000000000000ucredits + - 10000000000ubpf +faucet: + name: bob coins: - - 10000token - - 100000000stake + - 5000000ucredits + - 5000000ubpf + coins_max: + - 5000000ucredits + - 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 -faucet: - name: bob - coins: - - 5token - - 100000stake +genesis: + app_state: + bank: + denom_metadata: + - base: ubpf + denom_units: + - aliases: [microbpf] + denom: ubpf + exponent: 0 + - aliases: [millibpf] + denom: mbpf + exponent: 3 + - aliases: [] + denom: bpf + exponent: 6 + description: The native staking token of the CrowdControlNetwork. + display: bpf + name: Burning Pitchfork + symbol: BPF + cardchain: + params: + airDropMaxBlockHeight: "10000000" + cardAuctionPrice: + amount: "10000000" + denom: ucredits + pools: + - amount: "1000000000" + denom: ucredits + - amount: "1000000000" + denom: ucredits + - amount: "1000000000" + denom: ucredits + runningAverages: + - arr: [0] + - arr: [0] + crisis: + constant_fee: + amount: "1000" + denom: ubpf + distribution: + params: + community_tax: "0.020000000000000000" + gov: + deposit_params: + max_deposit_period: 172800s + min_deposit: + - amount: "10000000" + denom: ubpf + tally_params: + quorum: "0.100000000000000000" + threshold: "0.500000000000000000" + veto_threshold: "0.334000000000000000" + voting_params: + voting_period: 300s + mint: + params: + mint_denom: ubpf + slashing: + params: + min_signed_per_window: "0.05" + signed_blocks_window: "30000" + slash_fraction_downtime: "0" + staking: + params: + bond_denom: ubpf + chain_id: carddevnet-12 validators: -- name: alice - bonded: 100000000stake -- name: validator1 - bonded: 100000000stake -- name: validator2 - bonded: 200000000stake -- name: validator3 - bonded: 300000000stake \ No newline at end of file + - name: alice + bonded: 5000000ubpf + app: + api: + address: 0.0.0.0:1317 + grpc: + address: :9090 + config: + consensus: + create_empty_blocks: "false" + timeout_commit: 5s + moniker: yesyoulikeCC + p2p: + laddr: 0.0.0.0:26656 + rpc: + laddr: 0.0.0.0:26657 + pprof_laddr: :6061 diff --git a/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto index 6350eb9b..2cee1528 100644 --- a/proto/cardchain/cardchain/genesis.proto +++ b/proto/cardchain/cardchain/genesis.proto @@ -34,9 +34,9 @@ message GenesisState { cosmos.base.v1beta1.Coin cardAuctionPrice = 11 [ (gogoproto.nullable) = false ]; repeated Council councils = 12; - repeated RunningAverage RunningAverages = 13; + repeated RunningAverage runningAverages = 13; repeated Image images = 14; - repeated Server Servers = 15; + repeated Server servers = 15; TimeStamp lastCardModified = 16 [ (gogoproto.nullable) = false ]; repeated Zealy zealys = 17; } diff --git a/util/coin.go b/util/coin.go new file mode 100644 index 00000000..97a0cd55 --- /dev/null +++ b/util/coin.go @@ -0,0 +1,37 @@ +package util + +import ( + "math/big" + + "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// 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(math.NewInt(amt)), + } +} + +// MulCoinFloat multiplies a Coin with a float +func MulCoinFloat(coin sdk.Coin, amt float64) sdk.Coin { + amount := big.NewFloat(amt) + oldAmount := new(big.Float).SetInt(coin.Amount.BigInt()) + oldAmount.Mul(amount, oldAmount) + var newAmount big.Int + oldAmount.Int(&newAmount) + return sdk.Coin{ + Denom: coin.Denom, + Amount: math.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(math.NewInt(amt)), + } +} diff --git a/x/cardchain/keeper/balancing.go b/x/cardchain/keeper/balancing.go new file mode 100644 index 00000000..f0077566 --- /dev/null +++ b/x/cardchain/keeper/balancing.go @@ -0,0 +1,266 @@ +package keeper + +import ( + "encoding/json" + "fmt" + "sort" + + "github.com/DecentralCardGame/cardchain/util" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardobject/cardobject" + "github.com/DecentralCardGame/cardobject/keywords" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +type candidate struct { + id uint64 + votes int64 +} + +func (k Keeper) UpdateNerfLevels(ctx sdk.Context) { + buffbois, nerfbois, _, banbois := k.GetOPandUPCards(ctx) + k.NerfBuffCards(ctx, buffbois, true) + k.NerfBuffCards(ctx, nerfbois, false) + k.UpdateBanStatus(ctx, banbois) + + k.ResetAllVotes(ctx) + k.RemoveExpiredVoteRights(ctx) +} + +// 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.CardK.Get(ctx, val) + + cardobj, err := keywords.Unmarshal(buffCard.Content) + if err != nil { + k.Logger().Error("error on card content:", err, "with card", buffCard.Content) + } + + if buffCard.BalanceAnchor { + continue + } + + buffnerfCost := func(cost *cardobject.CastingCost) { + update := *cost + if buff { + update -= 1 + } else { + update += 1 + } + // only apply the buffed/nerfed value if the new value validates without error + if update.ValidateType(nil) == nil { + *cost = update + } + } + + if cardobj.Action != nil { + buffnerfCost(&cardobj.Action.CastingCost) + } + if cardobj.Entity != nil { + buffnerfCost(&cardobj.Entity.CastingCost) + } + if cardobj.Place != nil { + buffnerfCost(&cardobj.Place.CastingCost) + } + if cardobj.Headquarter != nil { + updateHealth := cardobj.Headquarter.Health + updateDelay := cardobj.Headquarter.Delay + if buff { + updateDelay -= 1 + updateHealth += 1 + } else { + updateDelay += 1 + updateHealth -= 1 + } + if updateDelay.ValidateType(nil) == nil { + cardobj.Headquarter.Delay = updateDelay + } + if updateHealth.ValidateType(nil) == nil { + cardobj.Headquarter.Health = updateHealth + } + } + + cardJSON, _ := json.Marshal(cardobj) + buffCard.Content = cardJSON + + if buff { + buffCard.Nerflevel -= 1 + } else { + buffCard.Nerflevel += 1 + } + + k.CardK.Set(ctx, val, buffCard) + } +} + +// UpdateBanStatus Bans cards +func (k Keeper) UpdateBanStatus(ctx sdk.Context, newBannedIds []uint64) { + var err error + // go through all cards and find already marked cards + iter := k.CardK.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + idx, gottenCard := iter.Value() + if gottenCard.Status == types.CardStatus_bannedVerySoon { + gottenUser, _ := k.GetUserFromString(ctx, gottenCard.Owner) + + // remove the card from the Cards store + var emptyCard types.Card + k.CardK.Set(ctx, idx, &emptyCard) + + // remove the card from the ownedCards of the owner + gottenUser.OwnedPrototypes, err = util.PopItemFromArr(idx, gottenUser.OwnedPrototypes) + if err == nil { + k.SetUserFromUser(ctx, gottenUser) + } else { + k.Logger().Error(fmt.Sprintf("trying to delete card id: %d of owner %s but does not exist", idx, gottenUser.Addr)) + } + } else if gottenCard.Status == types.CardStatus_bannedSoon { + gottenCard.Status = types.CardStatus_bannedVerySoon + k.CardK.Set(ctx, idx, gottenCard) + } + } + + // mark freshly banned cards + for _, id := range newBannedIds { + banCard := k.CardK.Get(ctx, id) + banCard.Status = types.CardStatus_bannedSoon + k.CardK.Set(ctx, id, banCard) + } + + if len(newBannedIds) > 0 { + k.SetLastCardModifiedNow(ctx) + } +} + +// GetOPandUPCards Gets OP and UP cards +func (k Keeper) GetOPandUPCards(ctx sdk.Context) (buffbois []uint64, nerfbois []uint64, fairbois []uint64, banbois []uint64) { + var OPcandidates []candidate + var UPcandidates []candidate + var IAcandidates []candidate + + //var votingResults VotingResults + votingResults := types.NewVotingResults() + + var uUP float64 = 0 + var uOP float64 = 0 + + // go through all cards and collect candidates + iter := k.CardK.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + id, gottenCard := iter.Value() + + nettoOP := int64(gottenCard.OverpoweredVotes - gottenCard.FairEnoughVotes - gottenCard.UnderpoweredVotes) + nettoUP := int64(gottenCard.UnderpoweredVotes - gottenCard.FairEnoughVotes - gottenCard.OverpoweredVotes) + nettoIA := int64(gottenCard.InappropriateVotes - gottenCard.FairEnoughVotes - gottenCard.OverpoweredVotes - gottenCard.UnderpoweredVotes) + + votingResults.TotalFairEnoughVotes += gottenCard.FairEnoughVotes + votingResults.TotalOverpoweredVotes += gottenCard.OverpoweredVotes + votingResults.TotalUnderpoweredVotes += gottenCard.UnderpoweredVotes + votingResults.TotalInappropriateVotes += gottenCard.InappropriateVotes + votingResults.TotalVotes += gottenCard.FairEnoughVotes + gottenCard.OverpoweredVotes + gottenCard.UnderpoweredVotes + gottenCard.InappropriateVotes + + // all candidates are added to the results log + if nettoIA > 0 || nettoOP > 0 || nettoUP > 0 { + votingResults.CardResults = append(votingResults.CardResults, &types.VotingResult{ + CardId: id, + FairEnoughVotes: gottenCard.FairEnoughVotes, + OverpoweredVotes: gottenCard.OverpoweredVotes, + UnderpoweredVotes: gottenCard.UnderpoweredVotes, + InappropriateVotes: gottenCard.InappropriateVotes, + Result: "fair_enough", + }) + + // sort candidates into the specific arrays + if nettoIA > 1 { + IAcandidates = append(IAcandidates, candidate{id: id, votes: nettoIA}) + } else if nettoOP > 0 { + uOP += float64(nettoOP) + OPcandidates = append(OPcandidates, candidate{id: id, votes: nettoOP}) + } else if nettoUP > 0 { + uUP += float64(nettoUP) + UPcandidates = append(UPcandidates, candidate{id: id, votes: nettoUP}) + } + } + } + + // go through all OP candidates and calculate the cutoff value and collect all above this value + if len(OPcandidates) > 0 { + // µ is the average, so it must be divided by n, but we can do this only after all cards are counted + uOP /= float64(len(OPcandidates)) + + sort.Slice(OPcandidates, func(i, j int) bool { + return OPcandidates[i].votes < OPcandidates[j].votes + }) + + var giniOPsum float64 + for i := 1; i <= len(OPcandidates); i++ { + giniOPsum += float64(OPcandidates[i-1].votes) * float64(2*i-len(OPcandidates)-1) + } + + giniOP := giniOPsum / float64(len(OPcandidates)*len(OPcandidates)) / uOP + cutvalue := giniOP * float64(OPcandidates[len(OPcandidates)-1].votes) + + for i := 0; i < len(OPcandidates); i++ { + if float64(OPcandidates[i].votes) > cutvalue { + nerfbois = append(nerfbois, OPcandidates[i].id) + } else { + fairbois = append(fairbois, OPcandidates[i].id) + } + } + } + // go through all UP candidates and calculate the cutoff value and collect all above this value + if len(UPcandidates) > 0 { + uUP /= float64(len(UPcandidates)) + + sort.Slice(UPcandidates, func(i, j int) bool { + return UPcandidates[i].votes < UPcandidates[j].votes + }) + + var giniUPsum float64 + for i := 1; i <= len(UPcandidates); i++ { + giniUPsum += float64(UPcandidates[i-1].votes) * float64(2*i-len(UPcandidates)-1) + } + + giniUP := giniUPsum / float64(len(UPcandidates)*len(UPcandidates)) / uUP + cutvalue := giniUP * float64(UPcandidates[len(UPcandidates)-1].votes) + + for i := 0; i < len(UPcandidates); i++ { + if float64(UPcandidates[i].votes) > cutvalue { + buffbois = append(buffbois, UPcandidates[i].id) + } else { + fairbois = append(fairbois, UPcandidates[i].id) + } + } + } + // go through all IA candidates and collect them (there is no cutoff here) + if len(IAcandidates) > 0 { + for i := 0; i < len(IAcandidates); i++ { + banbois = append(banbois, IAcandidates[i].id) + } + } + + // add the result to the voting log + allBois := [][]uint64{buffbois, nerfbois, banbois} + boisCodes := []string{"buff", "nerf", "ban"} + + for i := 0; i < len(votingResults.CardResults); i++ { + for idx, boisCode := range boisCodes { + for _, bois := range allBois[idx] { + if votingResults.CardResults[i].CardId == bois { + votingResults.CardResults[i].Result = boisCode + } + } + } + } + + // and save the log + k.LastVotingResults.Set(ctx, &votingResults) + + return +} diff --git a/x/cardchain/keeper/coin.go b/x/cardchain/keeper/coin.go index 2bb26e25..502f0e7c 100644 --- a/x/cardchain/keeper/coin.go +++ b/x/cardchain/keeper/coin.go @@ -1,44 +1,12 @@ package keeper import ( - "math/big" - errorsmod "cosmossdk.io/errors" - "cosmossdk.io/math" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) -// 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(math.NewInt(amt)), - } -} - -// MulCoinFloat multiplies a Coin with a float -func MulCoinFloat(coin sdk.Coin, amt float64) sdk.Coin { - amount := big.NewFloat(amt) - oldAmount := new(big.Float).SetInt(coin.Amount.BigInt()) - oldAmount.Mul(amount, oldAmount) - var newAmount big.Int - oldAmount.Int(&newAmount) - return sdk.Coin{ - Denom: coin.Denom, - Amount: math.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(math.NewInt(amt)), - } -} - // MintCoinsToAddr adds coins to an Account func (k Keeper) MintCoinsToAddr(ctx sdk.Context, addr sdk.AccAddress, amounts sdk.Coins) error { coinMint := types.ModuleName diff --git a/x/cardchain/keeper/council.go b/x/cardchain/keeper/council.go index 12ba8e5e..44f822aa 100644 --- a/x/cardchain/keeper/council.go +++ b/x/cardchain/keeper/council.go @@ -6,6 +6,7 @@ import ( "fmt" "sort" + "github.com/DecentralCardGame/cardchain/util" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -36,8 +37,8 @@ func GetCouncilPartiedVoters(responses []*types.WrapClearResponse) (approvers [] // TryEvaluate Tries to evaluate the council decision func (k Keeper) TryEvaluate(ctx sdk.Context, council *types.Council) error { collateralDeposit := k.GetParams(ctx).CollateralDeposit - bounty := MulCoin(collateralDeposit, 2) - votePool := MulCoin(collateralDeposit, 5) + bounty := util.MulCoin(collateralDeposit, 2) + votePool := util.MulCoin(collateralDeposit, 5) if len(council.ClearResponses) == 5 { approvers, deniers, suggestors := GetCouncilPartiedVoters(council.ClearResponses) @@ -113,7 +114,7 @@ func (k Keeper) CheckTrial(ctx sdk.Context) error { k.Logger().Debug(fmt.Sprintf(":: Card Set to %s", card.Status.String())) - bounty := MulCoin(collateralDeposit, amt) + bounty := util.MulCoin(collateralDeposit, amt) for _, user := range group { err := k.TransferFromCoin(ctx, user, &council.Treasury, bounty) if err != nil { @@ -123,7 +124,7 @@ func (k Keeper) CheckTrial(ctx sdk.Context) error { k.AddPoolCredits(ctx, PublicPoolKey, council.Treasury) council.Treasury = council.Treasury.Sub(council.Treasury) - incentive := QuoCoin(card.VotePool, int64(len(card.Voters))) + incentive := util.QuoCoin(card.VotePool, int64(len(card.Voters))) for _, user := range card.Voters { err := k.MintCoinsToString(ctx, user, sdk.Coins{incentive}) if err != nil { diff --git a/x/cardchain/keeper/match.go b/x/cardchain/keeper/match.go index ec6d986c..a55bddb0 100644 --- a/x/cardchain/keeper/match.go +++ b/x/cardchain/keeper/match.go @@ -6,6 +6,7 @@ import ( sdkerrors "cosmossdk.io/errors" "cosmossdk.io/math" + "github.com/DecentralCardGame/cardchain/util" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/errors" @@ -34,8 +35,8 @@ func (k Keeper) calculateMatchReward(ctx sdk.Context, outcome types.Outcome) (am } else if outcome == types.Outcome_BWon { amountB = reward } else if outcome == types.Outcome_Draw { - amountA = QuoCoin(reward, 2) - amountB = QuoCoin(reward, 2) + amountA = util.QuoCoin(reward, 2) + amountB = util.QuoCoin(reward, 2) } if outcome != types.Outcome_Aborted { k.SubPoolCredits(ctx, WinnersPoolKey, reward) @@ -46,7 +47,7 @@ func (k Keeper) calculateMatchReward(ctx sdk.Context, outcome types.Outcome) (am // 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) + reward := util.QuoCoin(*pool, k.GetParams(ctx).WinnerReward) if reward.Amount.GTE(math.NewInt(1000000)) { return sdk.NewInt64Coin(reward.Denom, 1000000) } diff --git a/x/cardchain/keeper/msg_server_booster_pack_buy.go b/x/cardchain/keeper/msg_server_booster_pack_buy.go index 4bb30a2a..19051433 100644 --- a/x/cardchain/keeper/msg_server_booster_pack_buy.go +++ b/x/cardchain/keeper/msg_server_booster_pack_buy.go @@ -6,6 +6,7 @@ import ( "strconv" errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardchain/util" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/errors" @@ -55,7 +56,7 @@ func (k msgServer) BoosterPackBuy(goCtx context.Context, msg *types.MsgBoosterPa inflationRate, err := strconv.ParseFloat(params.InflationRate, 8) pPool := k.Pools.Get(ctx, PublicPoolKey) - newPool := MulCoinFloat(*pPool, inflationRate) + newPool := util.MulCoinFloat(*pPool, inflationRate) k.Pools.Set(ctx, PublicPoolKey, &newPool) k.Logger().Info(fmt.Sprintf(":: PublicPool: %s", newPool)) diff --git a/x/cardchain/keeper/msg_server_council_create.go b/x/cardchain/keeper/msg_server_council_create.go index a770c519..be9b99f5 100644 --- a/x/cardchain/keeper/msg_server_council_create.go +++ b/x/cardchain/keeper/msg_server_council_create.go @@ -4,6 +4,7 @@ import ( "context" errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardchain/util" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/errors" @@ -33,7 +34,7 @@ func (k msgServer) CouncilCreate(goCtx context.Context, msg *types.MsgCouncilCre var voters []string var status types.CouncelingStatus collateralDeposit := k.GetParams(ctx).CollateralDeposit - treasury := MulCoin(collateralDeposit, 10) + treasury := util.MulCoin(collateralDeposit, 10) councilId := k.Councils.GetNum(ctx) users, addresses := k.GetAllUsers(ctx) diff --git a/x/cardchain/keeper/set.go b/x/cardchain/keeper/set.go index e8ff1e43..596297b3 100644 --- a/x/cardchain/keeper/set.go +++ b/x/cardchain/keeper/set.go @@ -4,6 +4,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/errors" errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardchain/util" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -46,9 +47,9 @@ func (k Keeper) GetContributorDistribution(ctx sdk.Context, set types.Set) []*ty amount += contrib.Q } - var payment = QuoCoin(params.SetPrice, int64(amount)) + var payment = util.QuoCoin(params.SetPrice, int64(amount)) for _, contrib := range contribs { - p := MulCoin(payment, int64(contrib.Q)) + p := util.MulCoin(payment, int64(contrib.Q)) contrib.Payment = &p } diff --git a/x/cardchain/keeper/vote_right.go b/x/cardchain/keeper/vote_right.go index f219fbea..83257f31 100644 --- a/x/cardchain/keeper/vote_right.go +++ b/x/cardchain/keeper/vote_right.go @@ -5,6 +5,7 @@ import ( sdkerrors "cosmossdk.io/errors" "cosmossdk.io/math" + "github.com/DecentralCardGame/cardchain/util" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/errors" @@ -15,7 +16,7 @@ func (k Keeper) GetVoteReward(ctx sdk.Context) sdk.Coin { params := k.GetParams(ctx) pool := k.Pools.Get(ctx, BalancersPoolKey) - reward := QuoCoin(*pool, params.VotePoolFraction) + reward := util.QuoCoin(*pool, params.VotePoolFraction) if reward.Amount.GTE(math.NewInt(params.VotingRewardCap)) { return sdk.NewInt64Coin(reward.Denom, params.VotingRewardCap) } diff --git a/x/cardchain/module/module.go b/x/cardchain/module/module.go index dedf9ced..ef9455a6 100644 --- a/x/cardchain/module/module.go +++ b/x/cardchain/module/module.go @@ -21,6 +21,7 @@ import ( // this line is used by starport scaffolding # 1 modulev1 "github.com/DecentralCardGame/cardchain/api/cardchain/cardchain/module" + "github.com/DecentralCardGame/cardchain/util" "github.com/DecentralCardGame/cardchain/x/cardchain/keeper" "github.com/DecentralCardGame/cardchain/x/cardchain/types" ) @@ -37,6 +38,8 @@ var ( _ appmodule.HasEndBlocker = (*AppModule)(nil) ) +const epochBlockTime = 120000 + // ---------------------------------------------------------------------------- // AppModuleBasic // ---------------------------------------------------------------------------- @@ -151,7 +154,66 @@ func (am AppModule) BeginBlock(_ context.Context) error { // EndBlock contains the logic that is automatically triggered at the end of each block. // The end block implementation is optional. -func (am AppModule) EndBlock(_ context.Context) error { +func (am AppModule) EndBlock(goCtx context.Context) error { + ctx := sdk.UnwrapSDKContext(goCtx) + if ctx.BlockHeight()%am.keeper.GetParams(ctx).CardAuctionPriceReductionPeriod == 0 { + price := am.keeper.CardAuctionPrice.Get(ctx) + newprice := price.Sub(util.QuoCoin(*price, 100)) + if !newprice.IsLT(sdk.NewInt64Coin("ucredits", 1000000)) { // stop at 1 credit + am.keeper.CardAuctionPrice.Set(ctx, &newprice) + } + am.keeper.Logger().Info(fmt.Sprintf(":: CardAuctionPrice: %s", am.keeper.CardAuctionPrice.Get(ctx))) + } + + // automated nerf/buff happens here + if ctx.BlockHeight()%epochBlockTime == 0 { + am.keeper.UpdateNerfLevels(ctx) + matchesEnabled, _ := am.keeper.FeatureFlagModuleInstance.Get(ctx, string(types.FeatureFlagName_Matches)) + if matchesEnabled { // Only give voterigths to all users, when matches are not anabled + am.keeper.AddVoteRightsToAllUsers(ctx) + } + } + + if ctx.BlockHeight()%500 == 0 { //HourlyFaucet + am.keeper.DistributeHourlyFaucet(ctx) + + incentives := util.QuoCoin(*am.keeper.Pools.Get(ctx, keeper.PublicPoolKey), 10) + am.keeper.SubPoolCredits(ctx, keeper.PublicPoolKey, incentives) + winnersIncentives := util.MulCoinFloat(incentives, float64(am.keeper.GetWinnerIncentives(ctx))) + balancersIncentives := util.MulCoinFloat(incentives, float64(am.keeper.GetBalancerIncentives(ctx))) + am.keeper.Logger().Info(fmt.Sprintf(":: Incentives (w, b): %s, %s", winnersIncentives, balancersIncentives)) + am.keeper.AddPoolCredits(ctx, keeper.WinnersPoolKey, winnersIncentives) + am.keeper.AddPoolCredits(ctx, keeper.BalancersPoolKey, balancersIncentives) + am.keeper.Logger().Info(fmt.Sprintf(":: PublicPool: %s", am.keeper.Pools.Get(ctx, keeper.PublicPoolKey))) + } + + // Setting running averages + if ctx.BlockHeight()%500 == 0 { + iter := am.keeper.RunningAverages.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + idx, average := iter.Value() + average.Arr = append(average.Arr, 0) + if len(average.Arr) > 24 { + average.Arr = average.Arr[1:] + } + am.keeper.RunningAverages.Set(ctx, am.keeper.RunningAverages.KeyWords[idx], average) + } + } + + err := am.keeper.CheckTrial(ctx) + if err != nil { + am.keeper.Logger().Error(fmt.Sprintf("%s", err)) + } + + // Checks for empty pools + for idx, coin := range am.keeper.Pools.GetAll(ctx) { + if coin.IsLT(sdk.NewInt64Coin(coin.Denom, 0)) { + am.keeper.Logger().Error(fmt.Sprintf(":: %s: %v", am.keeper.Pools.KeyWords[idx], coin)) + } + } + + am.keeper.MatchWorker(ctx) + return nil } diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index bae76a3f..bc822751 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -38,9 +38,9 @@ type GenesisState struct { Pools []*types.Coin `protobuf:"bytes,9,rep,name=pools,proto3" json:"pools,omitempty"` CardAuctionPrice types.Coin `protobuf:"bytes,11,opt,name=cardAuctionPrice,proto3" json:"cardAuctionPrice"` Councils []*Council `protobuf:"bytes,12,rep,name=councils,proto3" json:"councils,omitempty"` - RunningAverages []*RunningAverage `protobuf:"bytes,13,rep,name=RunningAverages,proto3" json:"RunningAverages,omitempty"` + 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"` + Servers []*Server `protobuf:"bytes,15,rep,name=servers,proto3" json:"servers,omitempty"` LastCardModified TimeStamp `protobuf:"bytes,16,opt,name=lastCardModified,proto3" json:"lastCardModified"` Zealys []*Zealy `protobuf:"bytes,17,rep,name=zealys,proto3" json:"zealys,omitempty"` } @@ -190,46 +190,46 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/genesis.proto", fileDescriptor_c4e78aa6e403ddd4) } var fileDescriptor_c4e78aa6e403ddd4 = []byte{ - // 619 bytes of a gzipped FileDescriptorProto + // 618 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x93, 0xcf, 0x4e, 0x14, 0x41, 0x10, 0xc6, 0x77, 0x05, 0x17, 0xb6, 0x17, 0x05, 0x5a, 0x0f, 0xed, 0x82, 0xc3, 0xfa, 0xe7, 0x80, - 0xc6, 0xcc, 0x04, 0xd4, 0x84, 0xc4, 0x84, 0x04, 0x30, 0x21, 0xc6, 0x10, 0x49, 0xaf, 0x5e, 0xb8, - 0x90, 0xde, 0xd9, 0x62, 0xe9, 0x64, 0x66, 0x7a, 0xd3, 0xd5, 0x4b, 0xc4, 0xa7, 0xf0, 0x31, 0x3c, - 0xfa, 0x18, 0x1c, 0x39, 0x7a, 0x32, 0x06, 0x0e, 0xbe, 0x81, 0x67, 0xd3, 0x3d, 0xbd, 0xcb, 0x8a, - 0xcd, 0x5e, 0x26, 0x95, 0xa9, 0xdf, 0x57, 0x5d, 0x5d, 0x5f, 0x35, 0x79, 0x94, 0x0a, 0xdd, 0x4d, - 0x8f, 0x85, 0x2c, 0x92, 0xab, 0xa8, 0x07, 0x05, 0xa0, 0xc4, 0xb8, 0xaf, 0x95, 0x51, 0xf4, 0xde, - 0x28, 0x11, 0x8f, 0xa2, 0xe6, 0xa2, 0xc8, 0x65, 0xa1, 0x12, 0xf7, 0x2d, 0xb9, 0xe6, 0xfd, 0x9e, - 0xea, 0x29, 0x17, 0x26, 0x36, 0xf2, 0x7f, 0x5b, 0xa1, 0x03, 0xfa, 0x42, 0x8b, 0xdc, 0xd7, 0x6f, - 0x46, 0x21, 0xc2, 0x46, 0x93, 0xf2, 0x03, 0x04, 0xed, 0xf3, 0x2b, 0xa1, 0x7c, 0x2e, 0x4c, 0x7a, - 0xec, 0x81, 0x87, 0x21, 0x00, 0xc1, 0xf8, 0xf4, 0xd3, 0x70, 0x3a, 0xcb, 0x0e, 0xd5, 0xd1, 0xd1, - 0xe8, 0x94, 0x67, 0x21, 0x4a, 0x0f, 0x8a, 0x42, 0x16, 0xbd, 0x43, 0x71, 0x02, 0x5a, 0xf4, 0xc0, - 0xa3, 0xc1, 0x99, 0xa6, 0x6a, 0x50, 0xa4, 0x32, 0x9b, 0xd4, 0xb3, 0xcc, 0xaf, 0x6a, 0xb4, 0xc2, - 0x4d, 0xe9, 0x93, 0xc9, 0xd7, 0xfe, 0x02, 0x22, 0x3b, 0x1d, 0xcd, 0x4d, 0x61, 0xae, 0x30, 0xe9, - 0x08, 0x84, 0xe4, 0x64, 0xad, 0x03, 0x46, 0xac, 0x25, 0xa9, 0x92, 0x45, 0x99, 0x7f, 0xfc, 0xa7, - 0x46, 0xe6, 0x76, 0x4b, 0xa7, 0xdb, 0x46, 0x18, 0xa0, 0x9b, 0xa4, 0x56, 0x1a, 0xc3, 0xaa, 0xad, - 0xea, 0x6a, 0x63, 0x7d, 0x29, 0x0e, 0x38, 0x1f, 0xef, 0x3b, 0x64, 0xbb, 0x7e, 0xf6, 0x73, 0xa5, - 0xf2, 0xed, 0xf7, 0xf7, 0xe7, 0x55, 0xee, 0x55, 0xf4, 0x0d, 0x69, 0x58, 0x8c, 0x43, 0xaa, 0x74, - 0x17, 0xd9, 0xad, 0xd6, 0xd4, 0x6a, 0x63, 0xfd, 0x41, 0xb0, 0xc8, 0x8e, 0xe5, 0xc6, 0x69, 0x9a, - 0x90, 0xdb, 0xd6, 0x53, 0x64, 0x53, 0x13, 0x64, 0x9f, 0x10, 0x34, 0x2f, 0x39, 0xba, 0x4c, 0xea, - 0xa2, 0xdb, 0xd5, 0x80, 0x08, 0xc8, 0xa6, 0x5b, 0x53, 0xab, 0x75, 0x7e, 0xf5, 0x83, 0xbe, 0x22, - 0x33, 0x6e, 0x05, 0x00, 0x59, 0xcd, 0x15, 0x6c, 0x06, 0x0b, 0xee, 0x59, 0x86, 0x0f, 0x51, 0xfa, - 0x82, 0x4c, 0x23, 0x18, 0x64, 0x33, 0x4e, 0xc2, 0x82, 0x92, 0x36, 0x18, 0xee, 0x28, 0xba, 0x49, - 0x88, 0x5d, 0x93, 0x0f, 0x76, 0x4b, 0x90, 0xcd, 0x3a, 0x4d, 0x74, 0x83, 0xc6, 0x63, 0x7c, 0x4c, - 0x61, 0xaf, 0xdc, 0x57, 0x2a, 0x43, 0x56, 0x1f, 0x5e, 0xd9, 0x19, 0x16, 0x5b, 0xc3, 0x62, 0x6f, - 0x58, 0xbc, 0xa3, 0x64, 0xc1, 0x4b, 0x8e, 0xbe, 0x27, 0x0b, 0xb6, 0xe6, 0xd6, 0x20, 0x35, 0x52, - 0x15, 0xfb, 0x5a, 0xa6, 0xc0, 0x1a, 0xce, 0xaa, 0x9b, 0xb5, 0xdb, 0xd3, 0xd6, 0x28, 0xfe, 0x9f, - 0x90, 0x6e, 0x90, 0x59, 0xbf, 0x93, 0xc8, 0xe6, 0x5c, 0x03, 0xcb, 0x61, 0xab, 0x4a, 0x88, 0x8f, - 0x68, 0xba, 0x47, 0xe6, 0x79, 0xb9, 0xf8, 0x5b, 0xe5, 0xde, 0x23, 0xbb, 0xe3, 0x0a, 0x3c, 0x09, - 0x16, 0xf8, 0x97, 0xe5, 0xd7, 0xb5, 0x74, 0x9d, 0xd4, 0xdc, 0xe6, 0x23, 0xbb, 0x3b, 0xc1, 0xa9, - 0x77, 0x16, 0xe1, 0x9e, 0xa4, 0xaf, 0xc9, 0x4c, 0xdb, 0x3d, 0x06, 0x64, 0xf3, 0x4e, 0xb4, 0x74, - 0xc3, 0xdc, 0x2d, 0xc3, 0x87, 0x2c, 0xdd, 0x27, 0x0b, 0x99, 0x40, 0x63, 0xb7, 0x6f, 0x4f, 0x75, - 0xe5, 0x91, 0x84, 0x2e, 0x5b, 0x70, 0x03, 0x0c, 0xfb, 0xf6, 0x51, 0xe6, 0xd0, 0x36, 0x22, 0xef, - 0x0f, 0xa7, 0x78, 0x5d, 0x6d, 0x9b, 0x77, 0x6f, 0x0e, 0xd9, 0xe2, 0x84, 0xe6, 0x0f, 0x2c, 0xc2, - 0x3d, 0xb9, 0xcd, 0xcf, 0x2e, 0xa2, 0xea, 0xf9, 0x45, 0x54, 0xfd, 0x75, 0x11, 0x55, 0xbf, 0x5e, - 0x46, 0x95, 0xf3, 0xcb, 0xa8, 0xf2, 0xe3, 0x32, 0xaa, 0x1c, 0x6c, 0xf4, 0xa4, 0x39, 0x1e, 0x74, - 0xe2, 0x54, 0xe5, 0xc9, 0x5b, 0x48, 0xa1, 0x30, 0x5a, 0x64, 0xf6, 0xbc, 0x5d, 0x91, 0xc3, 0xd8, - 0x33, 0xff, 0x3c, 0x16, 0x9b, 0xd3, 0x3e, 0x60, 0xa7, 0xe6, 0xde, 0xf4, 0xcb, 0xbf, 0x01, 0x00, - 0x00, 0xff, 0xff, 0xfc, 0x84, 0x35, 0xb9, 0xd0, 0x05, 0x00, 0x00, + 0xc6, 0xcc, 0x04, 0xd4, 0x84, 0xc4, 0x84, 0x04, 0x30, 0x21, 0xc6, 0x10, 0x49, 0xa3, 0x17, 0x2e, + 0xa4, 0x77, 0xb6, 0x58, 0x3a, 0x99, 0x99, 0xde, 0x74, 0xf5, 0x12, 0xf1, 0x29, 0x7c, 0x0c, 0x8f, + 0x3e, 0x06, 0x47, 0x8e, 0x9e, 0x8c, 0x81, 0x83, 0x6f, 0xe0, 0xd9, 0x74, 0x4f, 0xef, 0xb2, 0x62, + 0xef, 0x5e, 0x26, 0x95, 0xa9, 0xdf, 0x57, 0x5d, 0x5d, 0x5f, 0x35, 0x79, 0x94, 0x0a, 0xdd, 0x49, + 0x4f, 0x84, 0x2c, 0x92, 0xeb, 0xa8, 0x0b, 0x05, 0xa0, 0xc4, 0xb8, 0xa7, 0x95, 0x51, 0xf4, 0xde, + 0x30, 0x11, 0x0f, 0xa3, 0xe6, 0xa2, 0xc8, 0x65, 0xa1, 0x12, 0xf7, 0x2d, 0xb9, 0xe6, 0xfd, 0xae, + 0xea, 0x2a, 0x17, 0x26, 0x36, 0xf2, 0x7f, 0x5b, 0xa1, 0x03, 0x7a, 0x42, 0x8b, 0xdc, 0xd7, 0x6f, + 0x46, 0x21, 0xc2, 0x46, 0x93, 0xf2, 0x7d, 0x04, 0xed, 0xf3, 0x2b, 0xa1, 0x7c, 0x2e, 0x4c, 0x7a, + 0xe2, 0x81, 0x87, 0x21, 0x00, 0xc1, 0xf8, 0xf4, 0xd3, 0x70, 0x3a, 0xcb, 0x8e, 0xd4, 0xf1, 0xf1, + 0xf0, 0x94, 0x67, 0x21, 0x4a, 0xf7, 0x8b, 0x42, 0x16, 0xdd, 0x23, 0x71, 0x0a, 0x5a, 0x74, 0xc1, + 0xa3, 0xc1, 0x99, 0xa6, 0xaa, 0x5f, 0xa4, 0x32, 0x9b, 0xd4, 0xb3, 0xcc, 0xaf, 0x6b, 0xb4, 0xc2, + 0x4d, 0xe9, 0xd3, 0xc9, 0xd7, 0xfe, 0x02, 0x22, 0x3b, 0x1b, 0xce, 0x4d, 0x61, 0xae, 0x30, 0x69, + 0x0b, 0x84, 0xe4, 0x74, 0xad, 0x0d, 0x46, 0xac, 0x25, 0xa9, 0x92, 0x45, 0x99, 0x7f, 0xfc, 0xa7, + 0x46, 0xe6, 0x76, 0x4b, 0xa7, 0x0f, 0x8c, 0x30, 0x40, 0x37, 0x49, 0xad, 0x34, 0x86, 0x55, 0x5b, + 0xd5, 0xd5, 0xc6, 0xfa, 0x52, 0x1c, 0x70, 0x3e, 0xde, 0x77, 0xc8, 0x76, 0xfd, 0xfc, 0xe7, 0x4a, + 0xe5, 0xdb, 0xef, 0xef, 0xcf, 0xab, 0xdc, 0xab, 0xe8, 0x1b, 0xd2, 0xb0, 0x18, 0x87, 0x54, 0xe9, + 0x0e, 0xb2, 0x5b, 0xad, 0xa9, 0xd5, 0xc6, 0xfa, 0x83, 0x60, 0x91, 0x1d, 0xcb, 0x8d, 0xd2, 0x34, + 0x21, 0xb7, 0xad, 0xa7, 0xc8, 0xa6, 0x26, 0xc8, 0x3e, 0x21, 0x68, 0x5e, 0x72, 0x74, 0x99, 0xd4, + 0x45, 0xa7, 0xa3, 0x01, 0x11, 0x90, 0x4d, 0xb7, 0xa6, 0x56, 0xeb, 0xfc, 0xfa, 0x07, 0x7d, 0x45, + 0x66, 0xdc, 0x0a, 0x00, 0xb2, 0x9a, 0x2b, 0xd8, 0x0c, 0x16, 0xdc, 0xb3, 0x0c, 0x1f, 0xa0, 0xf4, + 0x05, 0x99, 0x46, 0x30, 0xc8, 0x66, 0x9c, 0x84, 0x05, 0x25, 0x07, 0x60, 0xb8, 0xa3, 0xe8, 0x26, + 0x21, 0x76, 0x4d, 0x3e, 0xd8, 0x2d, 0x41, 0x36, 0xeb, 0x34, 0xd1, 0x18, 0x8d, 0xc7, 0xf8, 0x88, + 0xc2, 0x5e, 0xb9, 0xa7, 0x54, 0x86, 0xac, 0x3e, 0xb8, 0xb2, 0x33, 0x2c, 0xb6, 0x86, 0xc5, 0xde, + 0xb0, 0x78, 0x47, 0xc9, 0x82, 0x97, 0x1c, 0x7d, 0x4f, 0x16, 0x6c, 0xcd, 0xad, 0x7e, 0x6a, 0xa4, + 0x2a, 0xf6, 0xb5, 0x4c, 0x81, 0x35, 0x9c, 0x55, 0xe3, 0xb5, 0xdb, 0xd3, 0xd6, 0x28, 0xfe, 0x9f, + 0x90, 0x6e, 0x90, 0x59, 0xbf, 0x93, 0xc8, 0xe6, 0x5c, 0x03, 0xcb, 0x61, 0xab, 0x4a, 0x88, 0x0f, + 0x69, 0xba, 0x47, 0xe6, 0xfd, 0xe2, 0x6f, 0x95, 0x7b, 0x8f, 0xec, 0x8e, 0x2b, 0xf0, 0x24, 0x58, + 0x80, 0xff, 0xc3, 0xf2, 0x9b, 0x5a, 0xba, 0x4e, 0x6a, 0x6e, 0xf3, 0x91, 0xdd, 0x9d, 0xe0, 0xd4, + 0x3b, 0x8b, 0x70, 0x4f, 0xd2, 0xd7, 0x64, 0xa6, 0x7c, 0x0c, 0xc8, 0xe6, 0x9d, 0x68, 0x69, 0xcc, + 0xdc, 0x2d, 0xc3, 0x07, 0x2c, 0xdd, 0x27, 0x0b, 0x99, 0x40, 0x63, 0xb7, 0x6f, 0x4f, 0x75, 0xe4, + 0xb1, 0x84, 0x0e, 0x5b, 0x70, 0x03, 0x0c, 0xfb, 0xf6, 0x51, 0xe6, 0x70, 0x60, 0x44, 0xde, 0x1b, + 0x4c, 0xf1, 0xa6, 0xda, 0x36, 0xef, 0xde, 0x1c, 0xb2, 0xc5, 0x09, 0xcd, 0x1f, 0x5a, 0x84, 0x7b, + 0x72, 0x9b, 0x9f, 0x5f, 0x46, 0xd5, 0x8b, 0xcb, 0xa8, 0xfa, 0xeb, 0x32, 0xaa, 0x7e, 0xbd, 0x8a, + 0x2a, 0x17, 0x57, 0x51, 0xe5, 0xc7, 0x55, 0x54, 0x39, 0xdc, 0xe8, 0x4a, 0x73, 0xd2, 0x6f, 0xc7, + 0xa9, 0xca, 0x93, 0xb7, 0x90, 0x42, 0x61, 0xb4, 0xc8, 0xec, 0x79, 0xbb, 0x22, 0x87, 0x91, 0x67, + 0xfe, 0x79, 0x24, 0x36, 0x67, 0x3d, 0xc0, 0x76, 0xcd, 0xbd, 0xe9, 0x97, 0x7f, 0x03, 0x00, 0x00, + 0xff, 0xff, 0x34, 0xe1, 0xfe, 0xac, 0xd0, 0x05, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/cardchain/types/voting_results.go b/x/cardchain/types/voting_results.go new file mode 100644 index 00000000..641a9cdd --- /dev/null +++ b/x/cardchain/types/voting_results.go @@ -0,0 +1,14 @@ +package types + +// NewVotingResults Constructor for VoteResults +func NewVotingResults() VotingResults { + return VotingResults{ + TotalVotes: 0, + TotalFairEnoughVotes: 0, + TotalOverpoweredVotes: 0, + TotalUnderpoweredVotes: 0, + TotalInappropriateVotes: 0, + CardResults: []*VotingResult{}, + Notes: "none", + } +} From bc13fa792b88bf03e0a9581aa38b2253e2af3de9 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 18 Feb 2025 12:12:34 +0100 Subject: [PATCH 65/99] feat(#242): Updated gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index c4ba55dc..3a2d02df 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ release/ *.dot *.log *.ign +/vue +/goat/node_modules From 6bec7692e6329956de219c27c970ef63a835fb5e Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 18 Feb 2025 12:27:48 +0100 Subject: [PATCH 66/99] feat(#242): Added banCard --- api/cardchain/cardchain/tx.pulsar.go | 1683 +++++++++++++++----- api/cardchain/cardchain/tx_grpc.pb.go | 37 + docs/static/openapi.yml | 2 +- gen.sh | 3 +- proto/cardchain/cardchain/tx.proto | 10 + x/cardchain/keeper/msg_server_ban_card.go | 29 + x/cardchain/module/autocli.go | 6 + x/cardchain/module/simulation.go | 23 + x/cardchain/simulation/ban_card.go | 29 + x/cardchain/types/codec.go | 3 + x/cardchain/types/message_ban_card.go | 24 + x/cardchain/types/message_ban_card_test.go | 40 + x/cardchain/types/tx.pb.go | 703 ++++++-- 13 files changed, 2046 insertions(+), 546 deletions(-) create mode 100644 x/cardchain/keeper/msg_server_ban_card.go create mode 100644 x/cardchain/simulation/ban_card.go create mode 100644 x/cardchain/types/message_ban_card.go create mode 100644 x/cardchain/types/message_ban_card_test.go diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index 9a6a1903..f3539f41 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -43991,6 +43991,830 @@ func (x *fastReflection_MsgEarlyAccessDisinviteResponse) ProtoMethods() *protoif } } +var ( + md_MsgBanCard protoreflect.MessageDescriptor + fd_MsgBanCard_authority protoreflect.FieldDescriptor + fd_MsgBanCard_cardId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgBanCard = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgBanCard") + fd_MsgBanCard_authority = md_MsgBanCard.Fields().ByName("authority") + fd_MsgBanCard_cardId = md_MsgBanCard.Fields().ByName("cardId") +} + +var _ protoreflect.Message = (*fastReflection_MsgBanCard)(nil) + +type fastReflection_MsgBanCard MsgBanCard + +func (x *MsgBanCard) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBanCard)(x) +} + +func (x *MsgBanCard) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[96] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgBanCard_messageType fastReflection_MsgBanCard_messageType +var _ protoreflect.MessageType = fastReflection_MsgBanCard_messageType{} + +type fastReflection_MsgBanCard_messageType struct{} + +func (x fastReflection_MsgBanCard_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBanCard)(nil) +} +func (x fastReflection_MsgBanCard_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBanCard) +} +func (x fastReflection_MsgBanCard_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBanCard +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgBanCard) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBanCard +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgBanCard) Type() protoreflect.MessageType { + return _fastReflection_MsgBanCard_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgBanCard) New() protoreflect.Message { + return new(fastReflection_MsgBanCard) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgBanCard) Interface() protoreflect.ProtoMessage { + return (*MsgBanCard)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgBanCard) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgBanCard_authority, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgBanCard_cardId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgBanCard) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgBanCard.authority": + return x.Authority != "" + case "cardchain.cardchain.MsgBanCard.cardId": + return x.CardId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCard")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBanCard does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBanCard) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgBanCard.authority": + x.Authority = "" + case "cardchain.cardchain.MsgBanCard.cardId": + x.CardId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCard")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBanCard does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgBanCard) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgBanCard.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgBanCard.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCard")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBanCard does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBanCard) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgBanCard.authority": + x.Authority = value.Interface().(string) + case "cardchain.cardchain.MsgBanCard.cardId": + x.CardId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCard")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBanCard does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBanCard) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgBanCard.authority": + panic(fmt.Errorf("field authority of message cardchain.cardchain.MsgBanCard is not mutable")) + case "cardchain.cardchain.MsgBanCard.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgBanCard is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCard")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBanCard does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgBanCard) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgBanCard.authority": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgBanCard.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCard")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBanCard does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgBanCard) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgBanCard", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgBanCard) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBanCard) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgBanCard) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgBanCard) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgBanCard) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgBanCard) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgBanCard) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBanCard: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBanCard: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgBanCardResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgBanCardResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgBanCardResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgBanCardResponse)(nil) + +type fastReflection_MsgBanCardResponse MsgBanCardResponse + +func (x *MsgBanCardResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBanCardResponse)(x) +} + +func (x *MsgBanCardResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[97] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgBanCardResponse_messageType fastReflection_MsgBanCardResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgBanCardResponse_messageType{} + +type fastReflection_MsgBanCardResponse_messageType struct{} + +func (x fastReflection_MsgBanCardResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBanCardResponse)(nil) +} +func (x fastReflection_MsgBanCardResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBanCardResponse) +} +func (x fastReflection_MsgBanCardResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBanCardResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgBanCardResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBanCardResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgBanCardResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgBanCardResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgBanCardResponse) New() protoreflect.Message { + return new(fastReflection_MsgBanCardResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgBanCardResponse) Interface() protoreflect.ProtoMessage { + return (*MsgBanCardResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgBanCardResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgBanCardResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCardResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBanCardResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBanCardResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCardResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBanCardResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgBanCardResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCardResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBanCardResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBanCardResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCardResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBanCardResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBanCardResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCardResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBanCardResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgBanCardResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCardResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgBanCardResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgBanCardResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgBanCardResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgBanCardResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgBanCardResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgBanCardResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgBanCardResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgBanCardResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgBanCardResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgBanCardResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBanCardResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBanCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -47721,6 +48545,75 @@ func (*MsgEarlyAccessDisinviteResponse) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{95} } +type MsgBanCard struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (x *MsgBanCard) Reset() { + *x = MsgBanCard{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgBanCard) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgBanCard) ProtoMessage() {} + +// Deprecated: Use MsgBanCard.ProtoReflect.Descriptor instead. +func (*MsgBanCard) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{96} +} + +func (x *MsgBanCard) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgBanCard) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +type MsgBanCardResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgBanCardResponse) Reset() { + *x = MsgBanCardResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgBanCardResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgBanCardResponse) ProtoMessage() {} + +// Deprecated: Use MsgBanCardResponse.ProtoReflect.Descriptor instead. +func (*MsgBanCardResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{97} +} + var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ @@ -48209,339 +49102,353 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xe6, 0x27, - 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x0a, + 0x0a, 0x4d, 0x73, 0x67, 0x42, 0x61, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x09, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, + 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, + 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x14, 0x0a, 0x12, 0x4d, + 0x73, 0x67, 0x42, 0x61, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x32, 0xbb, 0x28, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, + 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, + 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, - 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, + 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, + 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, - 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, - 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, - 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, - 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, + 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, + 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, - 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, + 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, - 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, + 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, - 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, - 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, + 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, - 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, - 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, - 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, - 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, - 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, - 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, - 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, - 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, - 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, - 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, - 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, - 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, - 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, + 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, + 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, - 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, - 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, - 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, - 0x6f, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x42, 0x6f, - 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x27, 0x2e, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, + 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, + 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, + 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, + 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, + 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, + 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, - 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, + 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, + 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, + 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, + 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x73, 0x74, - 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x2b, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, + 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, - 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, - 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, - 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, - 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, + 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x56, - 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, + 0x65, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x1a, + 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, - 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, - 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x29, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, + 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, + 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, - 0x53, 0x65, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, + 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, + 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, + 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, + 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, - 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, 0x6c, 0x79, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, + 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, + 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, + 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, + 0x65, 0x6e, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, + 0x0a, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, + 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, + 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, + 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, + 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, + 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x6b, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, - 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, - 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, - 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, - 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, + 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, + 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, + 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x45, 0x61, 0x72, 0x6c, 0x79, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, + 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x34, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x42, 0x61, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1f, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x61, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x1a, + 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x61, 0x6e, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, + 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -48556,7 +49463,7 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 97) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 99) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse @@ -48654,27 +49561,29 @@ var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgEncounterCloseResponse)(nil), // 93: cardchain.cardchain.MsgEncounterCloseResponse (*MsgEarlyAccessDisinvite)(nil), // 94: cardchain.cardchain.MsgEarlyAccessDisinvite (*MsgEarlyAccessDisinviteResponse)(nil), // 95: cardchain.cardchain.MsgEarlyAccessDisinviteResponse - nil, // 96: cardchain.cardchain.MsgEncounterCreate.ParametersEntry - (*Params)(nil), // 97: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 98: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 99: cardchain.cardchain.SingleVote - (Outcome)(0), // 100: cardchain.cardchain.Outcome - (CardRarity)(0), // 101: cardchain.cardchain.CardRarity - (Response)(0), // 102: cardchain.cardchain.Response + (*MsgBanCard)(nil), // 96: cardchain.cardchain.MsgBanCard + (*MsgBanCardResponse)(nil), // 97: cardchain.cardchain.MsgBanCardResponse + nil, // 98: cardchain.cardchain.MsgEncounterCreate.ParametersEntry + (*Params)(nil), // 99: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 100: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 101: cardchain.cardchain.SingleVote + (Outcome)(0), // 102: cardchain.cardchain.Outcome + (CardRarity)(0), // 103: cardchain.cardchain.CardRarity + (Response)(0), // 104: cardchain.cardchain.Response } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 97, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 98, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 99, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 98, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 100, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome - 98, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin - 101, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity - 102, // 7: cardchain.cardchain.MsgCouncilResponseReveal.response:type_name -> cardchain.cardchain.Response - 100, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome - 99, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote - 99, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote - 96, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry + 99, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 100, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 101, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 100, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 102, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 100, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin + 103, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity + 104, // 7: cardchain.cardchain.MsgCouncilResponseReveal.response:type_name -> cardchain.cardchain.Response + 102, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome + 101, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote + 101, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote + 98, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry 0, // 12: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams 2, // 13: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate 4, // 14: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy @@ -48723,56 +49632,58 @@ var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ 90, // 57: cardchain.cardchain.Msg.EncounterDo:input_type -> cardchain.cardchain.MsgEncounterDo 92, // 58: cardchain.cardchain.Msg.EncounterClose:input_type -> cardchain.cardchain.MsgEncounterClose 94, // 59: cardchain.cardchain.Msg.EarlyAccessDisinvite:input_type -> cardchain.cardchain.MsgEarlyAccessDisinvite - 1, // 60: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 61: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 62: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 63: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 64: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 65: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 66: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 67: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 68: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 69: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 70: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 71: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 25, // 72: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse - 27, // 73: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse - 29, // 74: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse - 31, // 75: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse - 33, // 76: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse - 35, // 77: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse - 37, // 78: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse - 39, // 79: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse - 41, // 80: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse - 43, // 81: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse - 45, // 82: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse - 47, // 83: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse - 49, // 84: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse - 51, // 85: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse - 53, // 86: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse - 55, // 87: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse - 57, // 88: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse - 59, // 89: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse - 61, // 90: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse - 63, // 91: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse - 65, // 92: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse - 67, // 93: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse - 69, // 94: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse - 71, // 95: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse - 73, // 96: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse - 75, // 97: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse - 77, // 98: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse - 79, // 99: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse - 81, // 100: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse - 83, // 101: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse - 85, // 102: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse - 87, // 103: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse - 89, // 104: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse - 91, // 105: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse - 93, // 106: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse - 95, // 107: cardchain.cardchain.Msg.EarlyAccessDisinvite:output_type -> cardchain.cardchain.MsgEarlyAccessDisinviteResponse - 60, // [60:108] is the sub-list for method output_type - 12, // [12:60] is the sub-list for method input_type + 96, // 60: cardchain.cardchain.Msg.BanCard:input_type -> cardchain.cardchain.MsgBanCard + 1, // 61: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 62: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 63: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 64: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 65: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 66: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 67: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 68: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 69: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 70: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 71: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 72: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 25, // 73: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse + 27, // 74: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse + 29, // 75: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse + 31, // 76: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse + 33, // 77: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse + 35, // 78: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse + 37, // 79: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse + 39, // 80: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse + 41, // 81: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse + 43, // 82: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse + 45, // 83: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse + 47, // 84: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse + 49, // 85: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse + 51, // 86: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse + 53, // 87: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse + 55, // 88: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse + 57, // 89: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse + 59, // 90: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse + 61, // 91: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse + 63, // 92: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse + 65, // 93: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse + 67, // 94: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse + 69, // 95: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse + 71, // 96: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse + 73, // 97: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse + 75, // 98: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse + 77, // 99: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse + 79, // 100: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse + 81, // 101: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse + 83, // 102: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse + 85, // 103: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse + 87, // 104: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse + 89, // 105: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse + 91, // 106: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse + 93, // 107: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse + 95, // 108: cardchain.cardchain.Msg.EarlyAccessDisinvite:output_type -> cardchain.cardchain.MsgEarlyAccessDisinviteResponse + 97, // 109: cardchain.cardchain.Msg.BanCard:output_type -> cardchain.cardchain.MsgBanCardResponse + 61, // [61:110] is the sub-list for method output_type + 12, // [12:61] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name @@ -49941,6 +50852,30 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } + file_cardchain_cardchain_tx_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgBanCard); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgBanCardResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -49948,7 +50883,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 97, + NumMessages: 99, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index b850d62a..91190d3d 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -67,6 +67,7 @@ const ( Msg_EncounterDo_FullMethodName = "/cardchain.cardchain.Msg/EncounterDo" Msg_EncounterClose_FullMethodName = "/cardchain.cardchain.Msg/EncounterClose" Msg_EarlyAccessDisinvite_FullMethodName = "/cardchain.cardchain.Msg/EarlyAccessDisinvite" + Msg_BanCard_FullMethodName = "/cardchain.cardchain.Msg/BanCard" ) // MsgClient is the client API for Msg service. @@ -123,6 +124,7 @@ type MsgClient interface { EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) + BanCard(ctx context.Context, in *MsgBanCard, opts ...grpc.CallOption) (*MsgBanCardResponse, error) } type msgClient struct { @@ -565,6 +567,15 @@ func (c *msgClient) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccess return out, nil } +func (c *msgClient) BanCard(ctx context.Context, in *MsgBanCard, opts ...grpc.CallOption) (*MsgBanCardResponse, error) { + out := new(MsgBanCardResponse) + err := c.cc.Invoke(ctx, Msg_BanCard_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -619,6 +630,7 @@ type MsgServer interface { EncounterDo(context.Context, *MsgEncounterDo) (*MsgEncounterDoResponse, error) EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) + BanCard(context.Context, *MsgBanCard) (*MsgBanCardResponse, error) mustEmbedUnimplementedMsgServer() } @@ -770,6 +782,9 @@ func (UnimplementedMsgServer) EncounterClose(context.Context, *MsgEncounterClose func (UnimplementedMsgServer) EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessDisinvite not implemented") } +func (UnimplementedMsgServer) BanCard(context.Context, *MsgBanCard) (*MsgBanCardResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BanCard not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -1647,6 +1662,24 @@ func _Msg_EarlyAccessDisinvite_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Msg_BanCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBanCard) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).BanCard(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_BanCard_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BanCard(ctx, req.(*MsgBanCard)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1846,6 +1879,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "EarlyAccessDisinvite", Handler: _Msg_EarlyAccessDisinvite_Handler, }, + { + MethodName: "BanCard", + Handler: _Msg_BanCard_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 3acf0a08..60a9c995 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Msg"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh index 4a6b4327..506593a3 100755 --- a/gen.sh +++ b/gen.sh @@ -44,8 +44,9 @@ #ignite scaffold message SetNameSet setId:uint name #ignite scaffold message ProfileAliasSet alias #ignite scaffold message EarlyAccessInvite user -ignite scaffold message EarlyAccessDisinvite user +#ignite scaffold message EarlyAccessDisinvite user #ignite scaffold message ZealyConnect zealyId #ignite scaffold message EncounterCreate name drawlist:uints parameters image #ignite scaffold message EncounterDo encounterId:uint user #ignite scaffold message EncounterClose encounterId:uint user won:bool +ignite scaffold message BanCard cardId:uint --signer authority -y diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 3bc53475..911f3894 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -81,6 +81,7 @@ service Msg { rpc EncounterClose(MsgEncounterClose) returns (MsgEncounterCloseResponse); rpc EarlyAccessDisinvite(MsgEarlyAccessDisinvite) returns (MsgEarlyAccessDisinviteResponse); + rpc BanCard(MsgBanCard) returns (MsgBanCardResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -519,3 +520,12 @@ message MsgEarlyAccessDisinvite { } message MsgEarlyAccessDisinviteResponse {} + +message MsgBanCard { + option (cosmos.msg.v1.signer) = "authority"; + + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + uint64 cardId = 2; +} + +message MsgBanCardResponse {} diff --git a/x/cardchain/keeper/msg_server_ban_card.go b/x/cardchain/keeper/msg_server_ban_card.go new file mode 100644 index 00000000..2f19f65d --- /dev/null +++ b/x/cardchain/keeper/msg_server_ban_card.go @@ -0,0 +1,29 @@ +package keeper + +import ( + "context" + + errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) BanCard(goCtx context.Context, msg *types.MsgBanCard) (*types.MsgBanCardResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + if k.authority != msg.Authority { + return nil, errorsmod.Wrapf(types.ErrInvalidSigner, "expected %s got %s", k.authority, msg.Authority) + } + + card := k.CardK.Get(ctx, msg.CardId) + + if card.Status == types.CardStatus_none { + return nil, errorsmod.Wrapf(types.ErrCardDoesNotExist, "cardstatus is none") + } + + card.Status = types.CardStatus_banned + + k.CardK.Set(ctx, msg.CardId, card) + + return &types.MsgBanCardResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 41ab2428..63b03a16 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -459,6 +459,12 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Send a EarlyAccessDisinvite tx", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "user"}}, }, + { + RpcMethod: "BanCard", + Use: "ban-card [card-id]", + Short: "Send a BanCard tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}}, + }, // this line is used by ignite scaffolding # autocli/tx }, }, diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index cedf63b8..675d2f5d 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -211,6 +211,10 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgEarlyAccessDisinvite int = 100 + opWeightMsgBanCard = "op_weight_msg_ban_card" + // TODO: Determine the simulation weight value + defaultWeightMsgBanCard int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -751,6 +755,17 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgEarlyAccessDisinvite(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgBanCard int + simState.AppParams.GetOrGenerate(opWeightMsgBanCard, &weightMsgBanCard, nil, + func(_ *rand.Rand) { + weightMsgBanCard = defaultWeightMsgBanCard + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgBanCard, + cardchainsimulation.SimulateMsgBanCard(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -1135,6 +1150,14 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei return nil }, ), + simulation.NewWeightedProposalMsg( + opWeightMsgBanCard, + defaultWeightMsgBanCard, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgBanCard(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/ban_card.go b/x/cardchain/simulation/ban_card.go new file mode 100644 index 00000000..e13214aa --- /dev/null +++ b/x/cardchain/simulation/ban_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 SimulateMsgBanCard( + 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.MsgBanCard{ + Authority: simAccount.Address.String(), + } + + // TODO: Handling the BanCard simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "BanCard simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 40d2343c..aea78f8d 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -149,6 +149,9 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgEarlyAccessDisinvite{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgBanCard{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/cardchain/types/message_ban_card.go b/x/cardchain/types/message_ban_card.go new file mode 100644 index 00000000..a2ecca68 --- /dev/null +++ b/x/cardchain/types/message_ban_card.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgBanCard{} + +func NewMsgBanCard(authority string, cardId uint64) *MsgBanCard { + return &MsgBanCard{ + Authority: authority, + CardId: cardId, + } +} + +func (msg *MsgBanCard) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Authority) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid authority address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_ban_card_test.go b/x/cardchain/types/message_ban_card_test.go new file mode 100644 index 00000000..0186a4b8 --- /dev/null +++ b/x/cardchain/types/message_ban_card_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgBanCard_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgBanCard + err error + }{ + { + name: "invalid address", + msg: MsgBanCard{ + Authority: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgBanCard{ + Authority: 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/tx.pb.go b/x/cardchain/types/tx.pb.go index e6fcd1a3..43ca94ea 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -4654,6 +4654,94 @@ func (m *MsgEarlyAccessDisinviteResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgEarlyAccessDisinviteResponse proto.InternalMessageInfo +type MsgBanCard struct { + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (m *MsgBanCard) Reset() { *m = MsgBanCard{} } +func (m *MsgBanCard) String() string { return proto.CompactTextString(m) } +func (*MsgBanCard) ProtoMessage() {} +func (*MsgBanCard) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{96} +} +func (m *MsgBanCard) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBanCard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBanCard.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 *MsgBanCard) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBanCard.Merge(m, src) +} +func (m *MsgBanCard) XXX_Size() int { + return m.Size() +} +func (m *MsgBanCard) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBanCard.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgBanCard proto.InternalMessageInfo + +func (m *MsgBanCard) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgBanCard) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +type MsgBanCardResponse struct { +} + +func (m *MsgBanCardResponse) Reset() { *m = MsgBanCardResponse{} } +func (m *MsgBanCardResponse) String() string { return proto.CompactTextString(m) } +func (*MsgBanCardResponse) ProtoMessage() {} +func (*MsgBanCardResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{97} +} +func (m *MsgBanCardResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBanCardResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBanCardResponse.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 *MsgBanCardResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBanCardResponse.Merge(m, src) +} +func (m *MsgBanCardResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgBanCardResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBanCardResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgBanCardResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") @@ -4752,186 +4840,191 @@ func init() { proto.RegisterType((*MsgEncounterCloseResponse)(nil), "cardchain.cardchain.MsgEncounterCloseResponse") proto.RegisterType((*MsgEarlyAccessDisinvite)(nil), "cardchain.cardchain.MsgEarlyAccessDisinvite") proto.RegisterType((*MsgEarlyAccessDisinviteResponse)(nil), "cardchain.cardchain.MsgEarlyAccessDisinviteResponse") + proto.RegisterType((*MsgBanCard)(nil), "cardchain.cardchain.MsgBanCard") + proto.RegisterType((*MsgBanCardResponse)(nil), "cardchain.cardchain.MsgBanCardResponse") } func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2777 bytes of a gzipped FileDescriptorProto + // 2819 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0xf7, 0x8a, 0x92, 0x2c, 0x8d, 0x65, 0x39, 0xa6, 0x15, 0x9b, 0x5e, 0x3b, 0xb2, 0x4c, 0x4b, - 0x96, 0xec, 0xc8, 0x62, 0x2c, 0xc7, 0x1f, 0x35, 0x9a, 0x14, 0xa2, 0xe4, 0x16, 0x01, 0xaa, 0xd8, - 0x5d, 0x35, 0x71, 0x9d, 0x7e, 0x04, 0xcb, 0xe5, 0x88, 0xda, 0x6a, 0xb9, 0xc3, 0xec, 0x2e, 0xa9, + 0x15, 0x37, 0x45, 0x49, 0x96, 0xc6, 0xb2, 0x9c, 0xac, 0x15, 0x87, 0x5e, 0x3b, 0xb2, 0x4c, 0x4b, + 0x96, 0xec, 0xc8, 0x62, 0x6c, 0xc7, 0x1f, 0x35, 0x9a, 0x14, 0xa2, 0xe4, 0x16, 0x01, 0xaa, 0xd8, + 0x5d, 0x36, 0x71, 0x9d, 0x7e, 0x04, 0xcb, 0xe5, 0x88, 0xda, 0x6a, 0xb9, 0xc3, 0xec, 0x2e, 0xa9, 0xc8, 0x40, 0x81, 0x22, 0xbd, 0x14, 0xed, 0xa5, 0xe7, 0xa2, 0x97, 0xde, 0x72, 0x2a, 0x0c, 0xb4, - 0x7f, 0x41, 0x7b, 0xc9, 0xa1, 0x87, 0x20, 0xa7, 0x9e, 0x8a, 0xc2, 0x06, 0xea, 0x7f, 0xa3, 0x98, - 0x8f, 0x9d, 0x9d, 0x1d, 0xce, 0xcc, 0x2e, 0xd9, 0xf6, 0x62, 0x73, 0x66, 0x7f, 0xf3, 0xbe, 0xe6, - 0xcd, 0xbc, 0x37, 0xef, 0x41, 0xe0, 0xb2, 0xe7, 0x46, 0x6d, 0xef, 0xc0, 0xf5, 0xc3, 0x46, 0xf6, - 0x2b, 0xf9, 0x7c, 0xa3, 0x17, 0xa1, 0x04, 0x55, 0xcf, 0xf1, 0xb9, 0x0d, 0xfe, 0xcb, 0x3e, 0xeb, - 0x76, 0xfd, 0x10, 0x35, 0xc8, 0xbf, 0x14, 0x67, 0x5f, 0xf0, 0x50, 0xdc, 0x45, 0x71, 0xa3, 0x1b, - 0x77, 0x1a, 0x83, 0xdb, 0xf8, 0x3f, 0xf6, 0xe1, 0x22, 0xfd, 0xf0, 0x29, 0x19, 0x35, 0xe8, 0x80, - 0x7d, 0x5a, 0xe8, 0xa0, 0x0e, 0xa2, 0xf3, 0xf8, 0x17, 0x9b, 0x5d, 0x52, 0xc9, 0xd3, 0x73, 0x23, - 0xb7, 0x9b, 0xae, 0x5b, 0x64, 0xbc, 0x5a, 0x6e, 0x0c, 0x1b, 0x83, 0xdb, 0x2d, 0x98, 0xb8, 0xb7, - 0x1b, 0x1e, 0xf2, 0x43, 0x13, 0x85, 0x01, 0x4a, 0xfc, 0x30, 0x15, 0xea, 0x8a, 0x0a, 0xd1, 0x75, - 0x13, 0xef, 0x80, 0x01, 0xae, 0xaa, 0x00, 0x1e, 0xea, 0x87, 0x9e, 0x1f, 0x70, 0x29, 0x54, 0x10, - 0x37, 0x6a, 0xd3, 0xef, 0xf5, 0xbf, 0x59, 0xe0, 0xcc, 0x6e, 0xdc, 0xf9, 0xa8, 0xd7, 0x76, 0x13, - 0xf8, 0x84, 0xc8, 0x5f, 0xbd, 0x07, 0x66, 0xdd, 0x7e, 0x72, 0x80, 0x22, 0x3f, 0x39, 0xae, 0x59, - 0x4b, 0xd6, 0xda, 0x6c, 0xb3, 0xf6, 0xcd, 0x5f, 0x6e, 0x2d, 0x30, 0xb3, 0x6c, 0xb5, 0xdb, 0x11, - 0x8c, 0xe3, 0xbd, 0x24, 0xf2, 0xc3, 0x8e, 0x93, 0x41, 0xab, 0xef, 0x83, 0x69, 0x6a, 0x81, 0xda, - 0xc4, 0x92, 0xb5, 0x76, 0x6a, 0xf3, 0xd2, 0x86, 0x62, 0x5b, 0x36, 0x28, 0x93, 0xe6, 0xec, 0x57, - 0xff, 0xbc, 0x72, 0xe2, 0xcb, 0xd7, 0x2f, 0x6e, 0x5a, 0x0e, 0x5b, 0xf5, 0xf0, 0xc1, 0x17, 0xaf, - 0x5f, 0xdc, 0xcc, 0xe8, 0xfd, 0xe6, 0xf5, 0x8b, 0x9b, 0x2b, 0x99, 0xd0, 0x9f, 0x0b, 0x0a, 0x48, - 0x12, 0xd7, 0x2f, 0x82, 0x0b, 0xd2, 0x94, 0x03, 0xe3, 0x1e, 0x0a, 0x63, 0x58, 0xef, 0x80, 0xd3, - 0xf8, 0x53, 0x0c, 0xa3, 0xed, 0x08, 0xba, 0x09, 0xac, 0xd6, 0xc0, 0x49, 0x0f, 0xff, 0x42, 0x11, - 0xd5, 0xcd, 0x49, 0x87, 0xf8, 0x4b, 0x08, 0x8f, 0x30, 0x94, 0x28, 0x30, 0xeb, 0xa4, 0xc3, 0xea, - 0x02, 0x98, 0x72, 0x03, 0xdf, 0x8d, 0x6b, 0x15, 0x32, 0x4f, 0x07, 0x0f, 0xe7, 0xb0, 0xbc, 0xe9, - 0xea, 0xfa, 0x05, 0xf0, 0x66, 0x8e, 0x11, 0x97, 0xa0, 0x0b, 0xde, 0xd8, 0x8d, 0x3b, 0xdb, 0x6e, - 0xd4, 0xde, 0xf3, 0x0e, 0x60, 0x17, 0x36, 0xfb, 0xc7, 0x06, 0x21, 0x6e, 0x83, 0x4a, 0xcb, 0x6f, - 0x33, 0x0b, 0x5e, 0xdc, 0x60, 0x36, 0xc7, 0x4e, 0xb4, 0xc1, 0x9c, 0x68, 0x63, 0x1b, 0xf9, 0x61, - 0x73, 0x12, 0xdb, 0xcf, 0xc1, 0x58, 0x49, 0x8e, 0x4d, 0x50, 0x93, 0xd9, 0xa5, 0xa2, 0x54, 0xcf, - 0x83, 0x69, 0x6c, 0xc4, 0x0f, 0xda, 0x84, 0xeb, 0xa4, 0xc3, 0x46, 0xf5, 0xbf, 0x5a, 0xa0, 0x9a, - 0x2e, 0x72, 0x07, 0x70, 0x1b, 0x85, 0x09, 0x0c, 0x13, 0x83, 0x94, 0x19, 0xa1, 0x09, 0x91, 0x10, - 0x59, 0x41, 0x17, 0x13, 0x53, 0xcd, 0x39, 0xe9, 0x10, 0x9b, 0x30, 0x44, 0x09, 0x8c, 0x6b, 0x93, - 0xd4, 0x84, 0x64, 0x80, 0xe9, 0xb8, 0x51, 0xe2, 0xc7, 0x49, 0x6d, 0x8a, 0x4c, 0xb3, 0x51, 0x75, - 0x19, 0x9c, 0x6e, 0xb9, 0x81, 0x1b, 0x7a, 0x70, 0x2b, 0xf4, 0x0e, 0x50, 0x54, 0x9b, 0x5e, 0xb2, - 0xd6, 0x66, 0x9c, 0xfc, 0xa4, 0xa4, 0xf8, 0x0e, 0xb0, 0x87, 0x75, 0xe0, 0xaa, 0x5f, 0x07, 0xf3, - 0xae, 0x1f, 0xb5, 0x23, 0xd4, 0xdb, 0x0e, 0x5c, 0xbf, 0x0b, 0xa9, 0x09, 0x66, 0x1c, 0x69, 0xb6, - 0xfe, 0x73, 0x70, 0x8a, 0x51, 0xf9, 0x18, 0x19, 0xbd, 0xe5, 0x0e, 0x98, 0x1c, 0xa0, 0x04, 0xb2, - 0x9d, 0xba, 0xa2, 0xf4, 0xf5, 0x3d, 0x3f, 0xec, 0x04, 0x10, 0x13, 0x72, 0x08, 0x58, 0x92, 0xf8, - 0x3d, 0x70, 0x4e, 0xe0, 0x35, 0xb2, 0xa8, 0x5d, 0x72, 0x74, 0xf1, 0xf2, 0x1f, 0x46, 0x6e, 0x18, - 0xef, 0xc3, 0x68, 0x8c, 0x1d, 0xb3, 0xc1, 0x4c, 0x04, 0x3d, 0xe8, 0x0f, 0x60, 0xc4, 0xbc, 0x9b, - 0x8f, 0x25, 0x69, 0xe9, 0x21, 0x13, 0xd9, 0x71, 0x17, 0xff, 0xb5, 0x45, 0x4e, 0x19, 0xfe, 0xb6, - 0x83, 0x42, 0xf3, 0x29, 0xd3, 0x09, 0x72, 0x1f, 0x4c, 0xbb, 0x5d, 0xd4, 0x67, 0x9e, 0x53, 0xc2, - 0xf7, 0x19, 0x5c, 0x79, 0x0c, 0x33, 0x49, 0xb8, 0x8c, 0xbf, 0xb2, 0xc0, 0x59, 0xf6, 0x65, 0x2b, - 0x4a, 0x8e, 0x50, 0x74, 0xb8, 0xd5, 0x6e, 0x8f, 0x21, 0xe7, 0x02, 0x98, 0xf2, 0xbb, 0x6e, 0x07, - 0x32, 0x07, 0xa7, 0x03, 0x4c, 0x67, 0xbf, 0x1f, 0x04, 0x5b, 0x51, 0x42, 0x1c, 0x7c, 0xc6, 0x49, - 0x87, 0x92, 0x78, 0x97, 0xc0, 0xc5, 0x21, 0x21, 0x84, 0x9b, 0xe2, 0x5c, 0xf6, 0xd1, 0x8f, 0x93, - 0xed, 0x03, 0x37, 0xec, 0x8c, 0x63, 0xcb, 0xec, 0x58, 0x55, 0xc4, 0x63, 0x25, 0xc9, 0xf2, 0x16, - 0xb8, 0xa4, 0x60, 0xc7, 0xa5, 0xf9, 0x36, 0xbd, 0x13, 0x68, 0x38, 0x71, 0x60, 0xc7, 0x8f, 0x13, - 0x93, 0x87, 0x49, 0xc4, 0x2f, 0xd3, 0xd3, 0x98, 0x5f, 0xcd, 0x69, 0xbf, 0x0f, 0x16, 0xb2, 0xaf, - 0x3b, 0x30, 0x1a, 0x95, 0xfa, 0x22, 0xb8, 0xac, 0x5a, 0xcf, 0xe9, 0x7f, 0x63, 0x81, 0xf9, 0xdd, - 0xb8, 0xb3, 0x8b, 0x83, 0xa5, 0x03, 0x7b, 0x28, 0x4a, 0xcc, 0xf7, 0x3e, 0x89, 0xaa, 0xdc, 0x8c, - 0xe9, 0xb0, 0x5a, 0x07, 0x73, 0xbd, 0xc0, 0x3d, 0x86, 0x6d, 0x6c, 0xa4, 0x78, 0xab, 0x56, 0x59, - 0xaa, 0xac, 0x4d, 0x3a, 0xb9, 0x39, 0x09, 0xd3, 0xac, 0x4d, 0x0e, 0x61, 0x9a, 0xd5, 0x7b, 0xe0, - 0x24, 0xea, 0x27, 0x1e, 0xea, 0x42, 0x72, 0xcf, 0xcd, 0x6f, 0x5e, 0x56, 0x5e, 0x17, 0x8f, 0x29, - 0xc6, 0x49, 0xc1, 0x92, 0xd2, 0x35, 0x70, 0x3e, 0xaf, 0x13, 0x57, 0xd7, 0xa1, 0x21, 0x86, 0x9a, - 0xa3, 0x30, 0xce, 0x69, 0xbc, 0x46, 0xe2, 0x66, 0xd3, 0x38, 0x22, 0xd2, 0xe4, 0xfc, 0x7e, 0x4a, - 0xae, 0x02, 0x41, 0x12, 0x18, 0x6d, 0xf5, 0x7a, 0xc8, 0x37, 0xc6, 0x0c, 0x72, 0xd3, 0x50, 0x30, - 0x8b, 0xaf, 0x7c, 0x2c, 0xb1, 0xbe, 0x0a, 0xae, 0x68, 0xc8, 0x73, 0x09, 0xbe, 0xb4, 0xc0, 0xdc, - 0x6e, 0xdc, 0xd9, 0x83, 0x49, 0xa1, 0xba, 0x55, 0x30, 0x19, 0xba, 0x5d, 0xc8, 0x78, 0x92, 0xdf, - 0xba, 0x03, 0x52, 0x5d, 0x02, 0xa7, 0xe2, 0x04, 0x45, 0xc7, 0x4f, 0x23, 0x1f, 0x8b, 0x49, 0x63, - 0x95, 0x38, 0x85, 0xb7, 0x1b, 0x87, 0xb4, 0xc8, 0x6f, 0xf5, 0x13, 0x14, 0xc5, 0xb5, 0xa9, 0xa5, - 0xca, 0xda, 0xac, 0x93, 0x9b, 0x93, 0xb4, 0x39, 0x4f, 0x7c, 0x9d, 0x4b, 0xca, 0x55, 0x80, 0xe4, - 0xce, 0xc4, 0xf3, 0xf8, 0x04, 0x1a, 0xef, 0xa2, 0x05, 0x30, 0x15, 0xc3, 0x84, 0x6f, 0x18, 0x1d, - 0x08, 0xfb, 0x58, 0x31, 0xec, 0x23, 0xbd, 0x10, 0x33, 0x36, 0x9c, 0xff, 0x01, 0x71, 0x1a, 0xf6, - 0xc1, 0x81, 0x5d, 0x34, 0x80, 0xff, 0x27, 0x11, 0xa8, 0x2b, 0xe5, 0x38, 0x09, 0x52, 0xa4, 0xd6, - 0xc9, 0x2c, 0x38, 0x8e, 0x31, 0xaa, 0x60, 0xb2, 0x1f, 0xf3, 0x18, 0x46, 0x7e, 0x2b, 0xef, 0x8c, - 0x21, 0x4e, 0x5c, 0x92, 0x43, 0xe2, 0xd4, 0xf9, 0xef, 0x63, 0x9a, 0xa5, 0x58, 0x18, 0xea, 0xe2, - 0x2a, 0x66, 0x5c, 0x9e, 0x0f, 0xc9, 0x15, 0xb6, 0x07, 0x93, 0xef, 0xfa, 0xa1, 0x1b, 0xf8, 0xcf, - 0x47, 0x16, 0x43, 0x79, 0x7d, 0x08, 0xf4, 0x38, 0xa7, 0xfd, 0xd4, 0x13, 0x4a, 0x05, 0x46, 0xb5, - 0xca, 0xca, 0xb0, 0xa8, 0xf3, 0x03, 0x45, 0xec, 0x6b, 0xa7, 0xda, 0xee, 0xe1, 0xc3, 0x36, 0xa6, - 0x04, 0xe4, 0xa0, 0xa6, 0x49, 0x3a, 0x19, 0xe8, 0x6c, 0x90, 0x72, 0xe1, 0xfc, 0x7f, 0x40, 0xb2, - 0x83, 0x26, 0x42, 0x38, 0x8e, 0x3c, 0x71, 0xbd, 0x43, 0x73, 0x9a, 0x5e, 0xc6, 0xe0, 0xdb, 0x24, - 0xd6, 0xe7, 0x49, 0x8e, 0x9c, 0xe4, 0xfd, 0x96, 0xa6, 0xe6, 0x7b, 0x30, 0x08, 0x1e, 0xef, 0xef, - 0x97, 0x78, 0xc5, 0xe8, 0x72, 0x82, 0xbb, 0x60, 0xaa, 0x17, 0xf9, 0x1e, 0x2c, 0x9b, 0x5e, 0x51, + 0xb7, 0xde, 0xda, 0x4b, 0x0e, 0x3d, 0x04, 0x39, 0xf5, 0x54, 0x14, 0xf6, 0xc1, 0xff, 0x46, 0x31, + 0x1f, 0x3b, 0x3b, 0x3b, 0x9c, 0x99, 0x5d, 0xb2, 0xed, 0xc5, 0xe6, 0xcc, 0xfe, 0xe6, 0x7d, 0xcd, + 0x9b, 0x79, 0x6f, 0xde, 0x83, 0xc0, 0x45, 0xcf, 0x8d, 0x3a, 0xde, 0x81, 0xeb, 0x87, 0x8d, 0xec, + 0x57, 0xf2, 0xf9, 0x56, 0x3f, 0x42, 0x09, 0xb2, 0xce, 0xf2, 0xb9, 0x2d, 0xfe, 0xcb, 0x7e, 0xdd, + 0xed, 0xf9, 0x21, 0x6a, 0x90, 0x7f, 0x29, 0xce, 0x7e, 0xd3, 0x43, 0x71, 0x0f, 0xc5, 0x8d, 0x5e, + 0xdc, 0x6d, 0x0c, 0x6f, 0xe2, 0xff, 0xd8, 0x87, 0xf3, 0xf4, 0xc3, 0xa7, 0x64, 0xd4, 0xa0, 0x03, + 0xf6, 0x69, 0xa9, 0x8b, 0xba, 0x88, 0xce, 0xe3, 0x5f, 0x6c, 0x76, 0x45, 0x25, 0x4f, 0xdf, 0x8d, + 0xdc, 0x5e, 0xba, 0x6e, 0x99, 0xf1, 0x6a, 0xbb, 0x31, 0x6c, 0x0c, 0x6f, 0xb6, 0x61, 0xe2, 0xde, + 0x6c, 0x78, 0xc8, 0x0f, 0x4d, 0x14, 0x86, 0x28, 0xf1, 0xc3, 0x54, 0xa8, 0x4b, 0x2a, 0x44, 0xcf, + 0x4d, 0xbc, 0x03, 0x06, 0xb8, 0xac, 0x02, 0x78, 0x68, 0x10, 0x7a, 0x7e, 0xc0, 0xa5, 0x50, 0x41, + 0xdc, 0xa8, 0x43, 0xbf, 0xd7, 0xff, 0x5e, 0x01, 0x67, 0xf6, 0xe2, 0xee, 0x47, 0xfd, 0x8e, 0x9b, + 0xc0, 0xc7, 0x44, 0x7e, 0xeb, 0x2e, 0x98, 0x77, 0x07, 0xc9, 0x01, 0x8a, 0xfc, 0xe4, 0xb8, 0x56, + 0x59, 0xa9, 0x6c, 0xcc, 0x37, 0x6b, 0xdf, 0xfc, 0xe5, 0xc6, 0x12, 0x33, 0xcb, 0x76, 0xa7, 0x13, + 0xc1, 0x38, 0x6e, 0x25, 0x91, 0x1f, 0x76, 0x9d, 0x0c, 0x6a, 0xbd, 0x0f, 0x66, 0xa9, 0x05, 0x6a, + 0x53, 0x2b, 0x95, 0x8d, 0x53, 0xb7, 0x2e, 0x6c, 0x29, 0xb6, 0x65, 0x8b, 0x32, 0x69, 0xce, 0x7f, + 0xf5, 0xaf, 0x4b, 0x27, 0xbe, 0x7c, 0xf5, 0xfc, 0x7a, 0xc5, 0x61, 0xab, 0x1e, 0xdc, 0xff, 0xe2, + 0xd5, 0xf3, 0xeb, 0x19, 0xbd, 0xdf, 0xbc, 0x7a, 0x7e, 0x7d, 0x2d, 0x13, 0xfa, 0x73, 0x41, 0x01, + 0x49, 0xe2, 0xfa, 0x79, 0xf0, 0xa6, 0x34, 0xe5, 0xc0, 0xb8, 0x8f, 0xc2, 0x18, 0xd6, 0xbb, 0xe0, + 0x34, 0xfe, 0x14, 0xc3, 0x68, 0x27, 0x82, 0x6e, 0x02, 0xad, 0x1a, 0x38, 0xe9, 0xe1, 0x5f, 0x28, + 0xa2, 0xba, 0x39, 0xe9, 0x10, 0x7f, 0x09, 0xe1, 0x11, 0x86, 0x12, 0x05, 0xe6, 0x9d, 0x74, 0x68, + 0x2d, 0x81, 0x19, 0x37, 0xf0, 0xdd, 0xb8, 0x56, 0x25, 0xf3, 0x74, 0xf0, 0x60, 0x01, 0xcb, 0x9b, + 0xae, 0xae, 0xbf, 0x09, 0xde, 0xc8, 0x31, 0xe2, 0x12, 0xf4, 0xc0, 0x6b, 0x7b, 0x71, 0x77, 0xc7, + 0x8d, 0x3a, 0x2d, 0xef, 0x00, 0xf6, 0x60, 0x73, 0x70, 0x6c, 0x10, 0xe2, 0x26, 0xa8, 0xb6, 0xfd, + 0x0e, 0xb3, 0xe0, 0xf9, 0x2d, 0x66, 0x73, 0xec, 0x44, 0x5b, 0xcc, 0x89, 0xb6, 0x76, 0x90, 0x1f, + 0x36, 0xa7, 0xb1, 0xfd, 0x1c, 0x8c, 0x95, 0xe4, 0xb8, 0x05, 0x6a, 0x32, 0xbb, 0x54, 0x14, 0xeb, + 0x1c, 0x98, 0xc5, 0x46, 0xfc, 0xa0, 0x43, 0xb8, 0x4e, 0x3b, 0x6c, 0x54, 0xff, 0x5b, 0x05, 0x58, + 0xe9, 0x22, 0x77, 0x08, 0x77, 0x50, 0x98, 0xc0, 0x30, 0x31, 0x48, 0x99, 0x11, 0x9a, 0x12, 0x09, + 0x91, 0x15, 0x74, 0x31, 0x31, 0xd5, 0x82, 0x93, 0x0e, 0xb1, 0x09, 0x43, 0x94, 0xc0, 0xb8, 0x36, + 0x4d, 0x4d, 0x48, 0x06, 0x98, 0x8e, 0x1b, 0x25, 0x7e, 0x9c, 0xd4, 0x66, 0xc8, 0x34, 0x1b, 0x59, + 0xab, 0xe0, 0x74, 0xdb, 0x0d, 0xdc, 0xd0, 0x83, 0xdb, 0xa1, 0x77, 0x80, 0xa2, 0xda, 0xec, 0x4a, + 0x65, 0x63, 0xce, 0xc9, 0x4f, 0x4a, 0x8a, 0xef, 0x02, 0x7b, 0x54, 0x07, 0xae, 0xfa, 0x55, 0xb0, + 0xe8, 0xfa, 0x51, 0x27, 0x42, 0xfd, 0x9d, 0xc0, 0xf5, 0x7b, 0x90, 0x9a, 0x60, 0xce, 0x91, 0x66, + 0xeb, 0x3f, 0x07, 0xa7, 0x18, 0x95, 0x8f, 0x91, 0xd1, 0x5b, 0x6e, 0x83, 0xe9, 0x21, 0x4a, 0x20, + 0xdb, 0xa9, 0x4b, 0x4a, 0x5f, 0x6f, 0xf9, 0x61, 0x37, 0x80, 0x98, 0x90, 0x43, 0xc0, 0x92, 0xc4, + 0xef, 0x81, 0xb3, 0x02, 0xaf, 0xb1, 0x45, 0xed, 0x91, 0xa3, 0x8b, 0x97, 0xff, 0x30, 0x72, 0xc3, + 0x78, 0x1f, 0x46, 0x13, 0xec, 0x98, 0x0d, 0xe6, 0x22, 0xe8, 0x41, 0x7f, 0x08, 0x23, 0xe6, 0xdd, + 0x7c, 0x2c, 0x49, 0x4b, 0x0f, 0x99, 0xc8, 0x8e, 0xbb, 0xf8, 0xaf, 0x2b, 0xe4, 0x94, 0xe1, 0x6f, + 0xbb, 0x28, 0x34, 0x9f, 0x32, 0x9d, 0x20, 0xf7, 0xc0, 0xac, 0xdb, 0x43, 0x03, 0xe6, 0x39, 0x25, + 0x7c, 0x9f, 0xc1, 0x95, 0xc7, 0x30, 0x93, 0x84, 0xcb, 0xf8, 0xab, 0x0a, 0x78, 0x9d, 0x7d, 0xd9, + 0x8e, 0x92, 0x23, 0x14, 0x1d, 0x6e, 0x77, 0x3a, 0x13, 0xc8, 0xb9, 0x04, 0x66, 0xfc, 0x9e, 0xdb, + 0x85, 0xcc, 0xc1, 0xe9, 0x00, 0xd3, 0xd9, 0x1f, 0x04, 0xc1, 0x76, 0x94, 0x10, 0x07, 0x9f, 0x73, + 0xd2, 0xa1, 0x24, 0xde, 0x05, 0x70, 0x7e, 0x44, 0x08, 0xe1, 0xa6, 0x38, 0x9b, 0x7d, 0xf4, 0xe3, + 0x64, 0xe7, 0xc0, 0x0d, 0xbb, 0x93, 0xd8, 0x32, 0x3b, 0x56, 0x55, 0xf1, 0x58, 0x49, 0xb2, 0xbc, + 0x05, 0x2e, 0x28, 0xd8, 0x71, 0x69, 0xbe, 0x4d, 0xef, 0x04, 0x1a, 0x4e, 0x1c, 0xd8, 0xf5, 0xe3, + 0xc4, 0xe4, 0x61, 0x12, 0xf1, 0x8b, 0xf4, 0x34, 0xe6, 0x57, 0x73, 0xda, 0xef, 0x83, 0xa5, 0xec, + 0xeb, 0x2e, 0x8c, 0xc6, 0xa5, 0xbe, 0x0c, 0x2e, 0xaa, 0xd6, 0x73, 0xfa, 0xdf, 0x54, 0xc0, 0xe2, + 0x5e, 0xdc, 0xdd, 0xc3, 0xc1, 0xd2, 0x81, 0x7d, 0x14, 0x25, 0xe6, 0x7b, 0x9f, 0x44, 0x55, 0x6e, + 0xc6, 0x74, 0x68, 0xd5, 0xc1, 0x42, 0x3f, 0x70, 0x8f, 0x61, 0x07, 0x1b, 0x29, 0xde, 0xae, 0x55, + 0x57, 0xaa, 0x1b, 0xd3, 0x4e, 0x6e, 0x4e, 0xc2, 0x34, 0x6b, 0xd3, 0x23, 0x98, 0xa6, 0x75, 0x17, + 0x9c, 0x44, 0x83, 0xc4, 0x43, 0x3d, 0x48, 0xee, 0xb9, 0xc5, 0x5b, 0x17, 0x95, 0xd7, 0xc5, 0x23, + 0x8a, 0x71, 0x52, 0xb0, 0xa4, 0x74, 0x0d, 0x9c, 0xcb, 0xeb, 0xc4, 0xd5, 0x75, 0x68, 0x88, 0xa1, + 0xe6, 0x28, 0x8c, 0x73, 0x1a, 0xaf, 0x91, 0xb8, 0xd9, 0x34, 0x8e, 0x88, 0x34, 0x39, 0xbf, 0x9f, + 0x92, 0xab, 0x40, 0x90, 0x04, 0x46, 0xdb, 0xfd, 0x3e, 0xf2, 0x8d, 0x31, 0x83, 0xdc, 0x34, 0x14, + 0xcc, 0xe2, 0x2b, 0x1f, 0x4b, 0xac, 0x2f, 0x83, 0x4b, 0x1a, 0xf2, 0x5c, 0x82, 0x2f, 0x2b, 0x60, + 0x61, 0x2f, 0xee, 0xb6, 0x60, 0x52, 0xa8, 0xae, 0x05, 0xa6, 0x43, 0xb7, 0x07, 0x19, 0x4f, 0xf2, + 0x5b, 0x77, 0x40, 0xac, 0x15, 0x70, 0x2a, 0x4e, 0x50, 0x74, 0xfc, 0x24, 0xf2, 0xb1, 0x98, 0x34, + 0x56, 0x89, 0x53, 0x78, 0xbb, 0x71, 0x48, 0x8b, 0xfc, 0xf6, 0x20, 0x41, 0x51, 0x5c, 0x9b, 0x59, + 0xa9, 0x6e, 0xcc, 0x3b, 0xb9, 0x39, 0x49, 0x9b, 0x73, 0xc4, 0xd7, 0xb9, 0xa4, 0x5c, 0x05, 0x48, + 0xee, 0x4c, 0x3c, 0x8f, 0x4f, 0xa0, 0xf1, 0x2e, 0x5a, 0x02, 0x33, 0x31, 0x4c, 0xf8, 0x86, 0xd1, + 0x81, 0xb0, 0x8f, 0x55, 0xc3, 0x3e, 0xd2, 0x0b, 0x31, 0x63, 0xc3, 0xf9, 0x1f, 0x10, 0xa7, 0x61, + 0x1f, 0x1c, 0xd8, 0x43, 0x43, 0xf8, 0x7f, 0x12, 0x81, 0xba, 0x52, 0x8e, 0x93, 0x20, 0x45, 0x6a, + 0x9d, 0xcc, 0x82, 0x93, 0x18, 0xc3, 0x02, 0xd3, 0x83, 0x98, 0xc7, 0x30, 0xf2, 0x5b, 0x79, 0x67, + 0x8c, 0x70, 0xe2, 0x92, 0x1c, 0x12, 0xa7, 0xce, 0x7f, 0x9f, 0xd0, 0x2c, 0xc5, 0xc2, 0x50, 0x17, + 0x57, 0x31, 0xe3, 0xf2, 0x7c, 0x48, 0xae, 0xb0, 0x16, 0x4c, 0xbe, 0xeb, 0x87, 0x6e, 0xe0, 0x3f, + 0x1b, 0x5b, 0x0c, 0xe5, 0xf5, 0x21, 0xd0, 0xe3, 0x9c, 0xf6, 0x53, 0x4f, 0x28, 0x15, 0x18, 0xd5, + 0x2a, 0x2b, 0xc3, 0xa2, 0xce, 0x0f, 0x14, 0xb1, 0xaf, 0x93, 0x6a, 0xdb, 0xc2, 0x87, 0x6d, 0x42, + 0x09, 0xc8, 0x41, 0x4d, 0x93, 0x74, 0x32, 0xd0, 0xd9, 0x20, 0xe5, 0xc2, 0xf9, 0xff, 0x80, 0x64, + 0x07, 0x4d, 0x84, 0x70, 0x1c, 0x79, 0xec, 0x7a, 0x87, 0xe6, 0x34, 0xbd, 0x8c, 0xc1, 0x77, 0x48, + 0xac, 0xcf, 0x93, 0x1c, 0x3b, 0xc9, 0xfb, 0x2d, 0x4d, 0xcd, 0x5b, 0x30, 0x08, 0x1e, 0xed, 0xef, + 0x97, 0x78, 0xc5, 0xe8, 0x72, 0x82, 0x3b, 0x60, 0xa6, 0x1f, 0xf9, 0x1e, 0x2c, 0x9b, 0x5e, 0x51, 0xb4, 0x32, 0xaa, 0x4b, 0xc2, 0x70, 0x1b, 0xfe, 0x98, 0x24, 0xa4, 0xfc, 0xab, 0xd9, 0x82, 0xf8, 0xaa, 0x4d, 0x91, 0x5c, 0x58, 0x71, 0x4a, 0x99, 0x7e, 0x8a, 0xc4, 0x39, 0xdf, 0x9f, 0xe5, 0x4d, - 0x54, 0x78, 0x68, 0x47, 0x65, 0x2d, 0x69, 0x2d, 0x9d, 0xd3, 0x3f, 0x5a, 0xfc, 0x81, 0xe7, 0xb8, - 0xf8, 0xe1, 0xba, 0x07, 0x93, 0xf1, 0xf2, 0x4a, 0xea, 0x51, 0x15, 0xd1, 0xa9, 0xef, 0x83, 0xe9, - 0x88, 0x10, 0x25, 0xb1, 0x68, 0x5e, 0xf3, 0xce, 0xc8, 0x78, 0x3b, 0x0c, 0xae, 0x0e, 0xe6, 0xa2, - 0x88, 0x5c, 0xfe, 0x3f, 0x58, 0x62, 0xa4, 0x4f, 0xa7, 0xb7, 0x51, 0xb7, 0xeb, 0x9b, 0xf4, 0xb8, - 0x0c, 0x66, 0x59, 0xa9, 0x81, 0xab, 0x92, 0x4d, 0xd0, 0x60, 0x4f, 0x29, 0x65, 0xcf, 0x0a, 0xe6, - 0xfa, 0x8b, 0x00, 0xc4, 0xfd, 0x4e, 0x07, 0xc6, 0x89, 0x8f, 0x42, 0x16, 0x63, 0x85, 0x19, 0x49, - 0xf4, 0x3a, 0x58, 0xd2, 0x49, 0xc7, 0x55, 0xf8, 0xb3, 0x52, 0x05, 0x07, 0x0e, 0xa0, 0x1b, 0x8c, - 0xad, 0xc2, 0xb7, 0x24, 0x15, 0xe6, 0x37, 0xdf, 0x52, 0x1a, 0x9f, 0xb3, 0xcb, 0x34, 0x3c, 0x0f, - 0xa6, 0x63, 0xe8, 0x45, 0x30, 0x61, 0xda, 0xb1, 0x51, 0x19, 0xcd, 0xa8, 0xd0, 0x5c, 0xb3, 0x67, - 0xf4, 0xd1, 0xc2, 0x31, 0x89, 0x1b, 0x8d, 0xbd, 0x29, 0xea, 0xa7, 0x48, 0x8e, 0x34, 0xe7, 0xfb, - 0x77, 0x5a, 0x17, 0x22, 0x39, 0xd8, 0x36, 0x0a, 0xf7, 0xfd, 0xa8, 0x3b, 0x56, 0x06, 0x2d, 0x64, - 0xbe, 0x95, 0x11, 0x32, 0xdf, 0xea, 0x77, 0x00, 0xc0, 0x0f, 0x66, 0x9a, 0x40, 0x93, 0x9c, 0xba, - 0xc4, 0x1b, 0x5b, 0x58, 0xa2, 0xbc, 0x3c, 0x44, 0x6d, 0xb8, 0xa6, 0x7b, 0xc4, 0xc2, 0x4f, 0x22, - 0xb4, 0xef, 0x07, 0x90, 0x54, 0x0f, 0xc6, 0x39, 0xbe, 0x4a, 0xdb, 0xe6, 0x89, 0x72, 0x8e, 0x3f, - 0x22, 0x29, 0x0f, 0xfb, 0xf8, 0x14, 0xb6, 0x62, 0x3f, 0x81, 0x66, 0xa6, 0x35, 0x70, 0xf2, 0x88, - 0xe2, 0xd2, 0xca, 0x14, 0x1b, 0x2a, 0x53, 0x9c, 0x21, 0xca, 0x9c, 0xf3, 0xf7, 0xc9, 0x4d, 0xc5, - 0xbe, 0x37, 0x7d, 0x64, 0xe6, 0xfa, 0x06, 0xa8, 0xb4, 0x7c, 0xc4, 0x38, 0xe2, 0x9f, 0xca, 0x4b, - 0x25, 0x47, 0x8d, 0x73, 0x6a, 0x91, 0x2b, 0x59, 0x88, 0x7d, 0x8f, 0x7b, 0x30, 0x34, 0xf0, 0x5a, - 0x06, 0xa7, 0x5b, 0x19, 0x98, 0x5b, 0x37, 0x3f, 0x29, 0xf1, 0xbf, 0x47, 0xae, 0x65, 0x89, 0x07, - 0x0f, 0xb0, 0x98, 0x17, 0xd9, 0x9a, 0xb8, 0x66, 0x91, 0x27, 0x59, 0x3a, 0xac, 0x7f, 0x61, 0x91, - 0x2c, 0x40, 0x58, 0x58, 0xa2, 0x7e, 0x52, 0x4a, 0xc0, 0x11, 0xaa, 0x29, 0x4b, 0x60, 0x51, 0x2d, - 0x03, 0x37, 0xe1, 0x20, 0xcd, 0x8c, 0xf7, 0xb2, 0xe7, 0x87, 0x79, 0xc3, 0xd4, 0x79, 0x91, 0xf4, - 0xa6, 0xa9, 0x0c, 0xbd, 0x69, 0x74, 0x79, 0x72, 0x9e, 0xaf, 0x50, 0x51, 0x3d, 0xc3, 0xb3, 0x38, - 0x3f, 0x4e, 0xc6, 0x11, 0xa9, 0x5c, 0x7d, 0x22, 0x8d, 0xf8, 0x19, 0x23, 0x2e, 0xc3, 0x67, 0x3c, - 0xe4, 0xe2, 0x83, 0xbf, 0xdb, 0x0f, 0x12, 0xdf, 0x20, 0xc4, 0x5d, 0x30, 0x35, 0x20, 0xb5, 0xc7, - 0x89, 0x72, 0xf7, 0x08, 0x45, 0x4b, 0xd2, 0x34, 0x79, 0x08, 0xe5, 0x2c, 0x47, 0x4e, 0xe6, 0xfe, - 0x44, 0x5f, 0xad, 0xe4, 0x1e, 0x2a, 0x38, 0x10, 0x35, 0x70, 0x92, 0x94, 0x10, 0xa2, 0xad, 0xf4, - 0xc8, 0xb3, 0x61, 0xf6, 0xa5, 0xc9, 0xac, 0x97, 0x0e, 0xf1, 0x4e, 0x33, 0xd0, 0x0e, 0xf4, 0x0e, - 0x59, 0x25, 0x42, 0x9c, 0xca, 0x10, 0x4d, 0x82, 0x98, 0x12, 0x11, 0x64, 0x4a, 0x52, 0xfa, 0x1d, - 0xe2, 0x83, 0x5c, 0x5e, 0xf1, 0x70, 0xa5, 0x17, 0xbe, 0x95, 0xbb, 0xf0, 0xeb, 0x6e, 0xfa, 0xaa, - 0xfd, 0xd0, 0xed, 0xc2, 0x71, 0x7c, 0x23, 0x7d, 0xae, 0x57, 0xb2, 0xe7, 0xba, 0xee, 0x45, 0xcb, - 0x58, 0x08, 0x65, 0x90, 0x6a, 0x76, 0x21, 0x6d, 0x05, 0xbe, 0x1b, 0x17, 0x0a, 0x40, 0xcb, 0xfa, - 0x13, 0xfa, 0xb2, 0x3e, 0xcd, 0xfd, 0x24, 0x9a, 0x02, 0x47, 0x6c, 0x9f, 0x47, 0x6e, 0x14, 0x1c, - 0x6f, 0x79, 0x1e, 0x8c, 0xe3, 0x0f, 0xc2, 0x81, 0x5f, 0x54, 0x8d, 0xe8, 0x67, 0x1d, 0x06, 0xfd, - 0x3b, 0x75, 0x88, 0xa6, 0x10, 0xb0, 0xf0, 0xf9, 0xfb, 0x04, 0xba, 0xc1, 0xf1, 0x36, 0x0a, 0x43, - 0xe8, 0x15, 0x44, 0x8e, 0xe7, 0x18, 0xc9, 0xac, 0x3c, 0xeb, 0xa4, 0x43, 0xe5, 0x59, 0x13, 0x89, - 0x72, 0x7e, 0xbf, 0x9f, 0x20, 0x66, 0x7d, 0x14, 0xe2, 0x44, 0x22, 0x29, 0xf1, 0x02, 0x51, 0x15, - 0x5c, 0x6c, 0x30, 0xd3, 0x8e, 0xdc, 0xa3, 0x80, 0x9e, 0x79, 0xec, 0x75, 0x7c, 0x5c, 0x7d, 0x0a, - 0x00, 0xe9, 0x00, 0xc1, 0x04, 0x46, 0x69, 0xac, 0xbf, 0xaf, 0x3c, 0xa3, 0xc3, 0x62, 0xd0, 0x76, - 0x12, 0x59, 0xf9, 0x28, 0x4c, 0xa2, 0x63, 0x47, 0x20, 0x95, 0xbd, 0x49, 0xa7, 0x84, 0x37, 0xa9, + 0x54, 0x78, 0x68, 0xc7, 0x65, 0x2d, 0x69, 0x2d, 0x9d, 0xd3, 0x3f, 0x56, 0xf8, 0x03, 0xcf, 0x71, + 0xf1, 0xc3, 0xb5, 0x05, 0x93, 0xc9, 0xf2, 0x4a, 0xea, 0x51, 0x55, 0xd1, 0xa9, 0xef, 0x81, 0xd9, + 0x88, 0x10, 0x25, 0xb1, 0x68, 0x51, 0xf3, 0xce, 0xc8, 0x78, 0x3b, 0x0c, 0xae, 0x0e, 0xe6, 0xa2, + 0x88, 0x5c, 0xfe, 0x3f, 0x54, 0xc4, 0x48, 0x9f, 0x4e, 0xef, 0xa0, 0x5e, 0xcf, 0x37, 0xe9, 0x71, + 0x11, 0xcc, 0xb3, 0x52, 0x03, 0x57, 0x25, 0x9b, 0xa0, 0xc1, 0x9e, 0x52, 0xca, 0x9e, 0x15, 0xcc, + 0xf5, 0x97, 0x01, 0x88, 0x07, 0xdd, 0x2e, 0x8c, 0x13, 0x1f, 0x85, 0x2c, 0xc6, 0x0a, 0x33, 0x92, + 0xe8, 0x75, 0xb0, 0xa2, 0x93, 0x8e, 0xab, 0xf0, 0x67, 0xa5, 0x0a, 0x0e, 0x1c, 0x42, 0x37, 0x98, + 0x58, 0x85, 0x6f, 0x49, 0x2a, 0x2c, 0xde, 0x7a, 0x4b, 0x69, 0x7c, 0xce, 0x2e, 0xd3, 0xf0, 0x1c, + 0x98, 0x8d, 0xa1, 0x17, 0xc1, 0x84, 0x69, 0xc7, 0x46, 0x65, 0x34, 0xa3, 0x42, 0x73, 0xcd, 0x9e, + 0xd2, 0x47, 0x0b, 0xc7, 0x24, 0x6e, 0x34, 0xf1, 0xa6, 0xa8, 0x9f, 0x22, 0x39, 0xd2, 0x9c, 0xef, + 0x3f, 0x68, 0x5d, 0x88, 0xe4, 0x60, 0x3b, 0x28, 0xdc, 0xf7, 0xa3, 0xde, 0x44, 0x19, 0xb4, 0x90, + 0xf9, 0x56, 0xc7, 0xc8, 0x7c, 0xad, 0xef, 0x00, 0x80, 0x1f, 0xcc, 0x34, 0x81, 0x26, 0x39, 0x75, + 0x89, 0x37, 0xb6, 0xb0, 0x44, 0x79, 0x79, 0x88, 0xda, 0x70, 0x4d, 0x5b, 0xc4, 0xc2, 0x8f, 0x23, + 0xb4, 0xef, 0x07, 0x90, 0x54, 0x0f, 0x26, 0x39, 0xbe, 0x4a, 0xdb, 0xe6, 0x89, 0x72, 0x8e, 0x3f, + 0x22, 0x29, 0x0f, 0xfb, 0xf8, 0x04, 0xb6, 0x63, 0x3f, 0x81, 0x66, 0xa6, 0x35, 0x70, 0xf2, 0x88, + 0xe2, 0xd2, 0xca, 0x14, 0x1b, 0x2a, 0x53, 0x9c, 0x11, 0xca, 0x9c, 0xf3, 0xf7, 0xc9, 0x4d, 0xc5, + 0xbe, 0x37, 0x7d, 0x64, 0xe6, 0xfa, 0x1a, 0xa8, 0xb6, 0x7d, 0xc4, 0x38, 0xe2, 0x9f, 0xca, 0x4b, + 0x25, 0x47, 0x8d, 0x73, 0x6a, 0x93, 0x2b, 0x59, 0x88, 0x7d, 0x8f, 0xfa, 0x30, 0x34, 0xf0, 0x5a, + 0x05, 0xa7, 0xdb, 0x19, 0x98, 0x5b, 0x37, 0x3f, 0x29, 0xf1, 0xbf, 0x4b, 0xae, 0x65, 0x89, 0x07, + 0x0f, 0xb0, 0x98, 0x17, 0xd9, 0x9a, 0xb8, 0x56, 0x21, 0x4f, 0xb2, 0x74, 0x58, 0xff, 0xa2, 0x42, + 0xb2, 0x00, 0x61, 0x61, 0x89, 0xfa, 0x49, 0x29, 0x01, 0xc7, 0xa8, 0xa6, 0xac, 0x80, 0x65, 0xb5, + 0x0c, 0xdc, 0x84, 0xc3, 0x34, 0x33, 0x6e, 0x65, 0xcf, 0x0f, 0xf3, 0x86, 0xa9, 0xf3, 0x22, 0xe9, + 0x4d, 0x53, 0x1d, 0x79, 0xd3, 0xe8, 0xf2, 0xe4, 0x3c, 0x5f, 0xa1, 0xa2, 0x7a, 0x86, 0x67, 0x71, + 0x7e, 0x9c, 0x4c, 0x22, 0x52, 0xb9, 0xfa, 0x44, 0x1a, 0xf1, 0x33, 0x46, 0x5c, 0x86, 0xcf, 0x78, + 0xc8, 0xc5, 0x07, 0x7f, 0x6f, 0x10, 0x24, 0xbe, 0x41, 0x88, 0x3b, 0x60, 0x66, 0x48, 0x6a, 0x8f, + 0x53, 0xe5, 0xee, 0x11, 0x8a, 0x96, 0xa4, 0x69, 0xf2, 0x10, 0xca, 0x59, 0x8e, 0x9d, 0xcc, 0xfd, + 0x89, 0xbe, 0x5a, 0xc9, 0x3d, 0x54, 0x70, 0x20, 0x6a, 0xe0, 0x24, 0x29, 0x21, 0x44, 0xdb, 0xe9, + 0x91, 0x67, 0xc3, 0xec, 0x4b, 0x93, 0x59, 0x2f, 0x1d, 0xe2, 0x9d, 0x66, 0xa0, 0x5d, 0xe8, 0x1d, + 0xb2, 0x4a, 0x84, 0x38, 0x95, 0x21, 0x9a, 0x04, 0x31, 0x23, 0x22, 0xc8, 0x94, 0xa4, 0xf4, 0x3b, + 0xc4, 0x07, 0xb9, 0xbc, 0xe2, 0xe1, 0x4a, 0x2f, 0xfc, 0x4a, 0xee, 0xc2, 0xaf, 0xbb, 0xe9, 0xab, + 0xf6, 0x43, 0xb7, 0x07, 0x27, 0xf1, 0x8d, 0xf4, 0xb9, 0x5e, 0xcd, 0x9e, 0xeb, 0xba, 0x17, 0x2d, + 0x63, 0x21, 0x94, 0x41, 0xac, 0xec, 0x42, 0xda, 0x0e, 0x7c, 0x37, 0x2e, 0x14, 0x80, 0x96, 0xf5, + 0xa7, 0xf4, 0x65, 0x7d, 0x9a, 0xfb, 0x49, 0x34, 0x05, 0x8e, 0xd8, 0x3e, 0x0f, 0xdd, 0x28, 0x38, + 0xde, 0xf6, 0x3c, 0x18, 0xc7, 0x1f, 0x84, 0x43, 0xbf, 0xa8, 0x1a, 0x31, 0xc8, 0x3a, 0x0c, 0xfa, + 0x77, 0xea, 0x08, 0x4d, 0x21, 0x60, 0xe1, 0xf3, 0xf7, 0x09, 0x74, 0x83, 0xe3, 0x1d, 0x14, 0x86, + 0xd0, 0x2b, 0x88, 0x1c, 0xcf, 0x30, 0x92, 0x59, 0x79, 0xde, 0x49, 0x87, 0xca, 0xb3, 0x26, 0x12, + 0xe5, 0xfc, 0x7e, 0x3f, 0x45, 0xcc, 0xfa, 0x30, 0xc4, 0x89, 0x44, 0x52, 0xe2, 0x05, 0xa2, 0x2a, + 0xb8, 0xd8, 0x60, 0xae, 0x13, 0xb9, 0x47, 0x01, 0x3d, 0xf3, 0xd8, 0xeb, 0xf8, 0xd8, 0x7a, 0x02, + 0x00, 0xe9, 0x00, 0xc1, 0x04, 0x46, 0x69, 0xac, 0xbf, 0xa7, 0x3c, 0xa3, 0xa3, 0x62, 0xd0, 0x76, + 0x12, 0x59, 0xf9, 0x30, 0x4c, 0xa2, 0x63, 0x47, 0x20, 0x95, 0xbd, 0x49, 0x67, 0x84, 0x37, 0xa9, 0xfd, 0x1e, 0x38, 0x23, 0x2d, 0xc2, 0x91, 0xee, 0x10, 0xb2, 0x5e, 0x97, 0x83, 0x7f, 0xe2, 0xa5, - 0x03, 0x37, 0xe8, 0xa7, 0x4a, 0xd0, 0xc1, 0xc3, 0x89, 0x07, 0x96, 0xd2, 0x3d, 0x24, 0xa1, 0xb8, - 0xe9, 0x42, 0xf2, 0xa8, 0xe5, 0x5f, 0x77, 0x90, 0xf9, 0x51, 0x02, 0x53, 0x60, 0xf6, 0x28, 0x11, - 0xa6, 0x4a, 0x54, 0x15, 0xe8, 0xf3, 0x56, 0xe0, 0x27, 0x57, 0xbf, 0x33, 0x41, 0x03, 0x14, 0xc3, - 0xff, 0xb5, 0x34, 0xd8, 0x8e, 0x47, 0x2c, 0xa5, 0x9f, 0x71, 0xf0, 0x4f, 0x65, 0x5a, 0x94, 0x17, - 0x82, 0x8b, 0xf8, 0x11, 0x71, 0x41, 0xc1, 0xef, 0x77, 0xfc, 0xd8, 0xff, 0xef, 0x8f, 0x13, 0xad, - 0xb4, 0xa8, 0xc8, 0xa6, 0x9c, 0x37, 0xff, 0xbd, 0x0a, 0x2a, 0xbb, 0x71, 0xa7, 0xda, 0x02, 0x73, - 0xb9, 0x46, 0xe8, 0xb2, 0xce, 0x09, 0x45, 0x94, 0xbd, 0x5e, 0x06, 0xc5, 0x6f, 0xce, 0x9f, 0x00, - 0x20, 0x34, 0x23, 0xeb, 0xda, 0xb5, 0x1c, 0x63, 0xdf, 0x2c, 0xc6, 0x70, 0xea, 0x10, 0x9c, 0xce, - 0x37, 0x1a, 0x57, 0x74, 0x8b, 0x73, 0x30, 0xfb, 0x56, 0x29, 0x18, 0x67, 0x73, 0x08, 0xce, 0xc8, - 0xbd, 0xc2, 0x55, 0x23, 0x85, 0x0c, 0x68, 0x37, 0x4a, 0x02, 0x39, 0xb3, 0x8f, 0xc1, 0x0c, 0x6f, - 0xc7, 0x2d, 0x99, 0x16, 0x63, 0x84, 0xbd, 0x56, 0x84, 0xe0, 0x74, 0x5b, 0x60, 0x2e, 0xd7, 0x3b, - 0x5b, 0x36, 0xad, 0x4c, 0x51, 0xfa, 0xdd, 0x56, 0x35, 0xc6, 0xf0, 0x6e, 0x0b, 0x4d, 0xb1, 0xba, - 0x69, 0x2d, 0xc5, 0xe8, 0x77, 0x7b, 0xb8, 0xa5, 0x55, 0x3d, 0x00, 0xf3, 0x52, 0x3b, 0xeb, 0xba, - 0x69, 0x75, 0x86, 0xb3, 0x37, 0xca, 0xe1, 0x38, 0xa7, 0x10, 0xbc, 0x31, 0xd4, 0x96, 0x5a, 0x2b, - 0xa0, 0xc1, 0x91, 0xf6, 0x3b, 0x65, 0x91, 0x39, 0x07, 0x93, 0x1a, 0x4f, 0x7a, 0x07, 0xcb, 0x03, - 0x0d, 0x0e, 0xa6, 0x6e, 0x46, 0x55, 0x3f, 0x03, 0x67, 0x87, 0x3b, 0x51, 0x37, 0x0a, 0xa8, 0x64, - 0x50, 0xfb, 0x76, 0x69, 0x28, 0x67, 0xf9, 0x29, 0x38, 0x25, 0xf6, 0xa6, 0xae, 0xe9, 0x28, 0x08, - 0x20, 0xfb, 0xed, 0x12, 0xa0, 0xdc, 0x45, 0x90, 0x6b, 0x07, 0xad, 0x14, 0x08, 0xc9, 0x2e, 0x9b, - 0x5b, 0xa5, 0x60, 0x9c, 0xcd, 0x73, 0xb0, 0xa0, 0xec, 0x02, 0xad, 0x97, 0x90, 0x95, 0xa3, 0xed, - 0x77, 0x47, 0x41, 0x73, 0xde, 0xcf, 0xc0, 0x6c, 0xd6, 0xfe, 0xb9, 0xaa, 0x23, 0xc1, 0x21, 0xf6, - 0x8d, 0x42, 0x88, 0x78, 0x6c, 0x85, 0xbe, 0x4c, 0xdd, 0xb4, 0x90, 0x62, 0xf4, 0xc7, 0x76, 0xb8, - 0xf1, 0x82, 0xf7, 0x26, 0xdf, 0x75, 0x59, 0x29, 0x58, 0x4c, 0x61, 0xfa, 0xbd, 0x51, 0x76, 0x56, - 0xb0, 0x5b, 0x0f, 0xb7, 0x55, 0x8c, 0x46, 0xc8, 0x41, 0xf5, 0x6e, 0xad, 0x6d, 0xa1, 0x60, 0x77, - 0x50, 0xf6, 0x4f, 0xd6, 0xcb, 0x91, 0x62, 0x7a, 0xbe, 0x3b, 0x0a, 0x5a, 0x3c, 0x52, 0x62, 0xaf, - 0xe4, 0x9a, 0x81, 0x48, 0x0a, 0xd2, 0x1f, 0x29, 0x45, 0x97, 0x84, 0x6d, 0x9b, 0x70, 0xd9, 0x9a, - 0xb6, 0x4d, 0xb8, 0x6b, 0x6f, 0x95, 0x82, 0x49, 0x7a, 0xf0, 0x2e, 0x88, 0x49, 0x8f, 0x14, 0x64, - 0xd4, 0x43, 0xee, 0x74, 0xe0, 0xa8, 0x21, 0xb5, 0x39, 0xb4, 0x51, 0x23, 0x8f, 0xd3, 0x47, 0x0d, - 0x4d, 0x8f, 0xe3, 0x10, 0x9c, 0x91, 0xfb, 0x16, 0xab, 0x7a, 0x49, 0x73, 0x40, 0xfd, 0x2d, 0xae, - 0x69, 0x3e, 0xe0, 0x70, 0x9e, 0xeb, 0x3c, 0x2c, 0x17, 0x12, 0xc0, 0x2a, 0xad, 0x97, 0x41, 0x29, - 0x15, 0x62, 0xae, 0x5d, 0xac, 0x10, 0xf3, 0xea, 0x46, 0x49, 0xa0, 0x9c, 0xcb, 0x65, 0x3d, 0x05, - 0x63, 0x2e, 0xc7, 0x61, 0xe6, 0x5c, 0x6e, 0xa8, 0xfc, 0x5f, 0xfd, 0x05, 0x78, 0x53, 0x5d, 0xfa, - 0xbf, 0x55, 0x18, 0x47, 0x45, 0xb8, 0x7d, 0x77, 0x24, 0xb8, 0x81, 0x3d, 0x2b, 0xdb, 0x97, 0x65, - 0x4f, 0xe1, 0xa5, 0xd9, 0xe7, 0xeb, 0xeb, 0x24, 0x85, 0xca, 0x17, 0xd7, 0xaf, 0x17, 0x13, 0xc2, - 0x38, 0x43, 0x0a, 0xa5, 0xac, 0xa8, 0x63, 0xff, 0xcc, 0x55, 0xd3, 0x97, 0x8d, 0x41, 0x8f, 0xa1, - 0xec, 0xf5, 0x32, 0x28, 0x51, 0x1b, 0xa9, 0x90, 0xad, 0xd5, 0x26, 0x8f, 0xd3, 0x6b, 0xa3, 0xae, - 0x61, 0xe3, 0xe0, 0x32, 0x5c, 0xc0, 0xbe, 0x51, 0x40, 0x24, 0x83, 0xea, 0x83, 0x8b, 0xb6, 0x78, - 0x8d, 0xcf, 0x43, 0xbe, 0x72, 0xbd, 0x52, 0x40, 0x83, 0xc2, 0xf4, 0xe7, 0x41, 0x59, 0xb9, 0xc6, - 0x67, 0x5c, 0x2e, 0x5b, 0xaf, 0x96, 0xb8, 0xf7, 0x30, 0x50, 0x7f, 0xc6, 0x75, 0x45, 0xea, 0x23, - 0x70, 0x4e, 0x55, 0x86, 0x7e, 0xbb, 0x04, 0x1d, 0xfe, 0x22, 0xb9, 0x33, 0x02, 0x58, 0x4a, 0x0e, - 0xa4, 0xca, 0xf2, 0x8d, 0xa2, 0x30, 0xc2, 0xa1, 0xc6, 0xe4, 0x40, 0x5d, 0x37, 0xa6, 0x17, 0xb4, - 0x50, 0x34, 0x5e, 0x36, 0xc7, 0x45, 0x8a, 0x32, 0x5d, 0xd0, 0xc3, 0x75, 0xe1, 0xf4, 0xce, 0xcc, - 0x8a, 0xc2, 0x2b, 0x45, 0xcf, 0x41, 0x02, 0x33, 0xdf, 0x99, 0xc3, 0xf5, 0xde, 0x67, 0x60, 0x36, - 0xab, 0xe1, 0x5e, 0x35, 0x1e, 0x51, 0xe2, 0x17, 0x37, 0x0a, 0x21, 0x52, 0xea, 0x99, 0x16, 0x4f, - 0x4d, 0xa9, 0x27, 0xc3, 0x18, 0x53, 0x4f, 0xa9, 0x42, 0x8a, 0x9d, 0x5b, 0x2e, 0x8f, 0xae, 0x16, - 0x1c, 0x8f, 0x14, 0xa8, 0x77, 0x6e, 0x4d, 0x71, 0x14, 0xfb, 0xd8, 0x70, 0x65, 0x54, 0x6b, 0x8a, - 0x21, 0xa8, 0xde, 0xc7, 0xb4, 0xb5, 0x51, 0xec, 0x63, 0xb9, 0xc2, 0xa8, 0xd6, 0xc7, 0x44, 0x94, - 0xde, 0xc7, 0x54, 0xf5, 0x50, 0x6c, 0x43, 0xb9, 0x16, 0xba, 0x5a, 0xb2, 0x5a, 0xa9, 0xb7, 0xa1, - 0xa6, 0x82, 0x88, 0xb3, 0x41, 0xb1, 0x7c, 0x78, 0xad, 0x70, 0xfd, 0x0e, 0xd2, 0x67, 0x83, 0x8a, - 0xc2, 0x20, 0x0e, 0x19, 0x52, 0x51, 0xf0, 0x7a, 0xb1, 0x8c, 0x18, 0xa7, 0x0f, 0x19, 0xea, 0xfa, - 0x1e, 0x7e, 0x1c, 0x28, 0x8b, 0x7b, 0xeb, 0x25, 0xb6, 0x99, 0xa3, 0xf5, 0x8f, 0x03, 0x53, 0x85, - 0xcf, 0x9e, 0xfa, 0xe5, 0xeb, 0x17, 0x37, 0xad, 0xa6, 0xf3, 0xd5, 0xcb, 0x45, 0xeb, 0xeb, 0x97, - 0x8b, 0xd6, 0xbf, 0x5e, 0x2e, 0x5a, 0xbf, 0x7b, 0xb5, 0x78, 0xe2, 0xeb, 0x57, 0x8b, 0x27, 0xfe, - 0xf1, 0x6a, 0xf1, 0xc4, 0x27, 0x0f, 0x3a, 0x7e, 0x72, 0xd0, 0x6f, 0x6d, 0x78, 0xa8, 0xdb, 0xd8, - 0x81, 0x1e, 0x0c, 0x93, 0xc8, 0x0d, 0xf0, 0xe1, 0xff, 0x9e, 0xdb, 0x85, 0x0d, 0xf5, 0x5f, 0x21, - 0x24, 0xc7, 0x3d, 0x18, 0xb7, 0xa6, 0xc9, 0x1f, 0x52, 0xdc, 0xf9, 0x4f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x4c, 0xbb, 0x31, 0x0c, 0xa2, 0x32, 0x00, 0x00, + 0x43, 0x37, 0x18, 0xa4, 0x4a, 0xd0, 0xc1, 0x83, 0xa9, 0xfb, 0x15, 0xa5, 0x7b, 0x48, 0x42, 0x71, + 0xd3, 0x85, 0xe4, 0x51, 0xcb, 0xbf, 0xee, 0x22, 0xf3, 0xa3, 0x04, 0xa6, 0xc0, 0xec, 0x51, 0x22, + 0x4c, 0x95, 0xa8, 0x2a, 0xd0, 0xe7, 0xad, 0xc0, 0x4f, 0xae, 0x7e, 0x67, 0x82, 0x06, 0x28, 0x86, + 0xff, 0x6b, 0x69, 0xb0, 0x1d, 0x8f, 0x58, 0x4a, 0x3f, 0xe7, 0xe0, 0x9f, 0xca, 0xb4, 0x28, 0x2f, + 0x04, 0x17, 0xf1, 0x23, 0xe2, 0x82, 0x82, 0xdf, 0xef, 0xfa, 0xb1, 0xff, 0xdf, 0x1f, 0x27, 0x5a, + 0x69, 0x51, 0x91, 0xe5, 0x9c, 0x03, 0x00, 0x70, 0x2c, 0x76, 0x43, 0x7c, 0xbb, 0x4f, 0xdc, 0xfe, + 0xd4, 0x65, 0x86, 0x8b, 0xf9, 0xb6, 0x66, 0x7d, 0x89, 0xa6, 0x46, 0x94, 0x5b, 0x2a, 0xc3, 0xad, + 0xbf, 0x6e, 0x80, 0xea, 0x5e, 0xdc, 0xb5, 0xda, 0x60, 0x21, 0xd7, 0x8c, 0x5d, 0xd5, 0x1d, 0x04, + 0x11, 0x65, 0x6f, 0x96, 0x41, 0xf1, 0xdb, 0xfb, 0x27, 0x00, 0x08, 0x0d, 0xd1, 0xba, 0x76, 0x2d, + 0xc7, 0xd8, 0xd7, 0x8b, 0x31, 0x9c, 0x3a, 0x04, 0xa7, 0xf3, 0xcd, 0xce, 0x35, 0xdd, 0xe2, 0x1c, + 0xcc, 0xbe, 0x51, 0x0a, 0xc6, 0xd9, 0x1c, 0x82, 0x33, 0x72, 0xbf, 0x72, 0xdd, 0x48, 0x21, 0x03, + 0xda, 0x8d, 0x92, 0x40, 0xce, 0xec, 0x63, 0x30, 0xc7, 0x5b, 0x82, 0x2b, 0xa6, 0xc5, 0x18, 0x61, + 0x6f, 0x14, 0x21, 0x38, 0xdd, 0x36, 0x58, 0xc8, 0xf5, 0xef, 0x56, 0x4d, 0x2b, 0x53, 0x94, 0x7e, + 0xb7, 0x55, 0xcd, 0x39, 0xbc, 0xdb, 0x42, 0x63, 0xae, 0x6e, 0x5a, 0x4b, 0x31, 0xfa, 0xdd, 0x1e, + 0x6d, 0xab, 0x59, 0x07, 0x60, 0x51, 0x6a, 0xa9, 0x5d, 0x35, 0xad, 0xce, 0x70, 0xf6, 0x56, 0x39, + 0x1c, 0xe7, 0x14, 0x82, 0xd7, 0x46, 0x5a, 0x63, 0x1b, 0x05, 0x34, 0x38, 0xd2, 0x7e, 0xa7, 0x2c, + 0x32, 0xe7, 0x60, 0x52, 0xf3, 0x4b, 0xef, 0x60, 0x79, 0xa0, 0xc1, 0xc1, 0xd4, 0x0d, 0x31, 0xeb, + 0x33, 0xf0, 0xfa, 0x68, 0x37, 0xec, 0x5a, 0x01, 0x95, 0x0c, 0x6a, 0xdf, 0x2c, 0x0d, 0xe5, 0x2c, + 0x3f, 0x05, 0xa7, 0xc4, 0xfe, 0xd8, 0x15, 0x1d, 0x05, 0x01, 0x64, 0xbf, 0x5d, 0x02, 0x94, 0xbb, + 0x08, 0x72, 0x2d, 0xa9, 0xb5, 0x02, 0x21, 0xd9, 0x65, 0x73, 0xa3, 0x14, 0x8c, 0xb3, 0x79, 0x06, + 0x96, 0x94, 0x9d, 0xa8, 0xcd, 0x12, 0xb2, 0x72, 0xb4, 0xfd, 0xee, 0x38, 0x68, 0xce, 0xfb, 0x29, + 0x98, 0xcf, 0x5a, 0x50, 0x97, 0x75, 0x24, 0x38, 0xc4, 0xbe, 0x56, 0x08, 0x11, 0x8f, 0xad, 0xd0, + 0x1b, 0xaa, 0x9b, 0x16, 0x52, 0x8c, 0xfe, 0xd8, 0x8e, 0x36, 0x7f, 0xf0, 0xde, 0xe4, 0x3b, 0x3f, + 0x6b, 0x05, 0x8b, 0x29, 0x4c, 0xbf, 0x37, 0xca, 0xee, 0x0e, 0x76, 0xeb, 0xd1, 0xd6, 0x8e, 0xd1, + 0x08, 0x39, 0xa8, 0xde, 0xad, 0xb5, 0x6d, 0x1c, 0xec, 0x0e, 0xca, 0x1e, 0xce, 0x66, 0x39, 0x52, + 0x4c, 0xcf, 0x77, 0xc7, 0x41, 0x8b, 0x47, 0x4a, 0xec, 0xd7, 0x5c, 0x31, 0x10, 0x49, 0x41, 0xfa, + 0x23, 0xa5, 0xe8, 0xd4, 0xb0, 0x6d, 0x13, 0x2e, 0x5b, 0xd3, 0xb6, 0x09, 0x77, 0xed, 0x8d, 0x52, + 0x30, 0x49, 0x0f, 0xde, 0x89, 0x31, 0xe9, 0x91, 0x82, 0x8c, 0x7a, 0xc8, 0xdd, 0x16, 0x1c, 0x35, + 0xa4, 0x56, 0x8b, 0x36, 0x6a, 0xe4, 0x71, 0xfa, 0xa8, 0xa1, 0xe9, 0xb3, 0x1c, 0x82, 0x33, 0x72, + 0xef, 0x64, 0x5d, 0x2f, 0x69, 0x0e, 0xa8, 0xbf, 0xc5, 0x35, 0x0d, 0x10, 0x1c, 0xce, 0x73, 0xdd, + 0x8f, 0xd5, 0x42, 0x02, 0x58, 0xa5, 0xcd, 0x32, 0x28, 0xa5, 0x42, 0xcc, 0xb5, 0x8b, 0x15, 0x62, + 0x5e, 0xdd, 0x28, 0x09, 0x94, 0x73, 0xb9, 0xac, 0xaf, 0x61, 0xcc, 0xe5, 0x38, 0xcc, 0x9c, 0xcb, + 0x8d, 0xb4, 0x20, 0xac, 0x5f, 0x80, 0x37, 0xd4, 0xed, 0x87, 0x1b, 0x85, 0x71, 0x54, 0x84, 0xdb, + 0x77, 0xc6, 0x82, 0x1b, 0xd8, 0xb3, 0xd6, 0x41, 0x59, 0xf6, 0x14, 0x5e, 0x9a, 0x7d, 0xbe, 0xc6, + 0x4f, 0x52, 0xa8, 0x7c, 0x81, 0xff, 0x6a, 0x31, 0x21, 0x8c, 0x33, 0xa4, 0x50, 0xca, 0xaa, 0x3e, + 0xf6, 0xcf, 0x5c, 0x45, 0x7f, 0xd5, 0x18, 0xf4, 0x18, 0xca, 0xde, 0x2c, 0x83, 0x12, 0xb5, 0x91, + 0x8a, 0xe9, 0x5a, 0x6d, 0xf2, 0x38, 0xbd, 0x36, 0xea, 0x3a, 0x3a, 0x0e, 0x2e, 0xa3, 0x45, 0xf4, + 0x6b, 0x05, 0x44, 0x32, 0xa8, 0x3e, 0xb8, 0x68, 0x0b, 0xe8, 0xf8, 0x3c, 0xe4, 0xab, 0xe7, 0x6b, + 0x05, 0x34, 0x28, 0x4c, 0x7f, 0x1e, 0x94, 0xd5, 0x73, 0x7c, 0xc6, 0xe5, 0xd2, 0xf9, 0x7a, 0x89, + 0x7b, 0x0f, 0x03, 0xf5, 0x67, 0x5c, 0x57, 0x28, 0x3f, 0x02, 0x67, 0x55, 0xa5, 0xf0, 0xb7, 0x4b, + 0xd0, 0xe1, 0x2f, 0x92, 0xdb, 0x63, 0x80, 0xa5, 0xe4, 0x40, 0xaa, 0x6e, 0x5f, 0x2b, 0x0a, 0x23, + 0x1c, 0x6a, 0x4c, 0x0e, 0xd4, 0xb5, 0x6b, 0x7a, 0x41, 0x0b, 0x85, 0xeb, 0x55, 0x73, 0x5c, 0xa4, + 0x28, 0xd3, 0x05, 0x3d, 0x5a, 0x9b, 0x4e, 0xef, 0xcc, 0xac, 0x30, 0xbd, 0x56, 0xf4, 0x1c, 0x24, + 0x30, 0xf3, 0x9d, 0x39, 0x5a, 0x73, 0x7e, 0x0a, 0xe6, 0xb3, 0x3a, 0xf2, 0x65, 0xe3, 0x11, 0x25, + 0x7e, 0x71, 0xad, 0x10, 0x22, 0xa5, 0x9e, 0x69, 0x01, 0xd7, 0x94, 0x7a, 0x32, 0x8c, 0x31, 0xf5, + 0x94, 0xaa, 0xb4, 0xd8, 0xb9, 0xe5, 0x12, 0xed, 0x7a, 0xc1, 0xf1, 0x48, 0x81, 0x7a, 0xe7, 0xd6, + 0x14, 0x68, 0xb1, 0x8f, 0x8d, 0x56, 0x67, 0xb5, 0xa6, 0x18, 0x81, 0xea, 0x7d, 0x4c, 0x5b, 0x9f, + 0xc5, 0x3e, 0x96, 0x2b, 0xce, 0x6a, 0x7d, 0x4c, 0x44, 0xe9, 0x7d, 0x4c, 0x55, 0x93, 0xc5, 0x36, + 0x94, 0xeb, 0xb1, 0xeb, 0x25, 0x2b, 0xa6, 0x7a, 0x1b, 0x6a, 0xaa, 0x98, 0x38, 0x1b, 0x14, 0x4b, + 0x98, 0x57, 0x0a, 0xd7, 0xef, 0x22, 0x7d, 0x36, 0xa8, 0x28, 0x4e, 0xe2, 0x90, 0x21, 0x15, 0x26, + 0xaf, 0x16, 0xcb, 0x88, 0x71, 0xfa, 0x90, 0xa1, 0xae, 0x31, 0xe2, 0xc7, 0x81, 0xb2, 0xc0, 0xb8, + 0x59, 0x62, 0x9b, 0x39, 0x5a, 0xff, 0x38, 0x30, 0x55, 0x19, 0xad, 0x16, 0x38, 0x99, 0x96, 0x18, + 0x2f, 0x69, 0xaf, 0x4b, 0x0a, 0xb0, 0xd7, 0x0b, 0x00, 0x29, 0x51, 0x7b, 0xe6, 0x97, 0xaf, 0x9e, + 0x5f, 0xaf, 0x34, 0x9d, 0xaf, 0x5e, 0x2c, 0x57, 0xbe, 0x7e, 0xb1, 0x5c, 0xf9, 0xf7, 0x8b, 0xe5, + 0xca, 0xef, 0x5e, 0x2e, 0x9f, 0xf8, 0xfa, 0xe5, 0xf2, 0x89, 0x7f, 0xbe, 0x5c, 0x3e, 0xf1, 0xc9, + 0xfd, 0xae, 0x9f, 0x1c, 0x0c, 0xda, 0x5b, 0x1e, 0xea, 0x35, 0x76, 0xa1, 0x07, 0xc3, 0x24, 0x72, + 0x03, 0x4c, 0xe2, 0x7b, 0x6e, 0x0f, 0x36, 0xd4, 0x7f, 0x5e, 0x91, 0x1c, 0xf7, 0x61, 0xdc, 0x9e, + 0x25, 0x7f, 0x21, 0x72, 0xfb, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x46, 0xbf, 0xd5, 0x61, 0x7b, + 0x33, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -4996,6 +5089,7 @@ type MsgClient interface { EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) + BanCard(ctx context.Context, in *MsgBanCard, opts ...grpc.CallOption) (*MsgBanCardResponse, error) } type msgClient struct { @@ -5438,6 +5532,15 @@ func (c *msgClient) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccess return out, nil } +func (c *msgClient) BanCard(ctx context.Context, in *MsgBanCard, opts ...grpc.CallOption) (*MsgBanCardResponse, error) { + out := new(MsgBanCardResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BanCard", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module @@ -5490,6 +5593,7 @@ type MsgServer interface { EncounterDo(context.Context, *MsgEncounterDo) (*MsgEncounterDoResponse, error) EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) + BanCard(context.Context, *MsgBanCard) (*MsgBanCardResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -5640,6 +5744,9 @@ func (*UnimplementedMsgServer) EncounterClose(ctx context.Context, req *MsgEncou func (*UnimplementedMsgServer) EarlyAccessDisinvite(ctx context.Context, req *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessDisinvite not implemented") } +func (*UnimplementedMsgServer) BanCard(ctx context.Context, req *MsgBanCard) (*MsgBanCardResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BanCard not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -6509,6 +6616,24 @@ func _Msg_EarlyAccessDisinvite_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Msg_BanCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBanCard) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).BanCard(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/BanCard", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BanCard(ctx, req.(*MsgBanCard)) + } + return interceptor(ctx, in, info, handler) +} + var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Msg", @@ -6706,6 +6831,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "EarlyAccessDisinvite", Handler: _Msg_EarlyAccessDisinvite_Handler, }, + { + MethodName: "BanCard", + Handler: _Msg_BanCard_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", @@ -9986,6 +10115,64 @@ func (m *MsgEarlyAccessDisinviteResponse) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } +func (m *MsgBanCard) 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 *MsgBanCard) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBanCard) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgBanCardResponse) 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 *MsgBanCardResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBanCardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -11414,6 +11601,31 @@ func (m *MsgEarlyAccessDisinviteResponse) Size() (n int) { return n } +func (m *MsgBanCard) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgBanCardResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -20635,6 +20847,157 @@ func (m *MsgEarlyAccessDisinviteResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgBanCard) 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: MsgBanCard: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBanCard: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 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:]) + 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 *MsgBanCardResponse) 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: MsgBanCardResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBanCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From 08b1f1549e00d44eda7cd4617039078012bb10a7 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 18 Feb 2025 12:33:52 +0100 Subject: [PATCH 67/99] feat(#242): Renamed banCard to CardBan --- api/cardchain/cardchain/tx.pulsar.go | 310 ++++++------ api/cardchain/cardchain/tx_grpc.pb.go | 30 +- gen.sh | 3 +- proto/cardchain/cardchain/tx.proto | 6 +- x/cardchain/keeper/balancing.go | 6 +- ...ver_ban_card.go => msg_server_card_ban.go} | 4 +- x/cardchain/module/autocli.go | 4 +- x/cardchain/module/simulation.go | 20 +- x/cardchain/simulation/ban_card.go | 8 +- x/cardchain/types/codec.go | 2 +- ...essage_ban_card.go => message_card_ban.go} | 8 +- ..._card_test.go => message_card_ban_test.go} | 8 +- x/cardchain/types/tx.pb.go | 476 +++++++++--------- 13 files changed, 443 insertions(+), 442 deletions(-) rename x/cardchain/keeper/{msg_server_ban_card.go => msg_server_card_ban.go} (79%) rename x/cardchain/types/{message_ban_card.go => message_card_ban.go} (70%) rename x/cardchain/types/{message_ban_card_test.go => message_card_ban_test.go} (85%) diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index f3539f41..a8f22541 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -43992,27 +43992,27 @@ func (x *fastReflection_MsgEarlyAccessDisinviteResponse) ProtoMethods() *protoif } var ( - md_MsgBanCard protoreflect.MessageDescriptor - fd_MsgBanCard_authority protoreflect.FieldDescriptor - fd_MsgBanCard_cardId protoreflect.FieldDescriptor + md_MsgCardBan protoreflect.MessageDescriptor + fd_MsgCardBan_authority protoreflect.FieldDescriptor + fd_MsgCardBan_cardId protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_tx_proto_init() - md_MsgBanCard = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgBanCard") - fd_MsgBanCard_authority = md_MsgBanCard.Fields().ByName("authority") - fd_MsgBanCard_cardId = md_MsgBanCard.Fields().ByName("cardId") + md_MsgCardBan = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardBan") + fd_MsgCardBan_authority = md_MsgCardBan.Fields().ByName("authority") + fd_MsgCardBan_cardId = md_MsgCardBan.Fields().ByName("cardId") } -var _ protoreflect.Message = (*fastReflection_MsgBanCard)(nil) +var _ protoreflect.Message = (*fastReflection_MsgCardBan)(nil) -type fastReflection_MsgBanCard MsgBanCard +type fastReflection_MsgCardBan MsgCardBan -func (x *MsgBanCard) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgBanCard)(x) +func (x *MsgCardBan) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardBan)(x) } -func (x *MsgBanCard) slowProtoReflect() protoreflect.Message { +func (x *MsgCardBan) slowProtoReflect() protoreflect.Message { mi := &file_cardchain_cardchain_tx_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -44024,43 +44024,43 @@ func (x *MsgBanCard) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgBanCard_messageType fastReflection_MsgBanCard_messageType -var _ protoreflect.MessageType = fastReflection_MsgBanCard_messageType{} +var _fastReflection_MsgCardBan_messageType fastReflection_MsgCardBan_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardBan_messageType{} -type fastReflection_MsgBanCard_messageType struct{} +type fastReflection_MsgCardBan_messageType struct{} -func (x fastReflection_MsgBanCard_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgBanCard)(nil) +func (x fastReflection_MsgCardBan_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardBan)(nil) } -func (x fastReflection_MsgBanCard_messageType) New() protoreflect.Message { - return new(fastReflection_MsgBanCard) +func (x fastReflection_MsgCardBan_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardBan) } -func (x fastReflection_MsgBanCard_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBanCard +func (x fastReflection_MsgCardBan_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardBan } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgBanCard) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBanCard +func (x *fastReflection_MsgCardBan) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardBan } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgBanCard) Type() protoreflect.MessageType { - return _fastReflection_MsgBanCard_messageType +func (x *fastReflection_MsgCardBan) Type() protoreflect.MessageType { + return _fastReflection_MsgCardBan_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgBanCard) New() protoreflect.Message { - return new(fastReflection_MsgBanCard) +func (x *fastReflection_MsgCardBan) New() protoreflect.Message { + return new(fastReflection_MsgCardBan) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgBanCard) Interface() protoreflect.ProtoMessage { - return (*MsgBanCard)(x) +func (x *fastReflection_MsgCardBan) Interface() protoreflect.ProtoMessage { + return (*MsgCardBan)(x) } // Range iterates over every populated field in an undefined order, @@ -44068,16 +44068,16 @@ func (x *fastReflection_MsgBanCard) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgBanCard) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgCardBan) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Authority != "" { value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgBanCard_authority, value) { + if !f(fd_MsgCardBan_authority, value) { return } } if x.CardId != uint64(0) { value := protoreflect.ValueOfUint64(x.CardId) - if !f(fd_MsgBanCard_cardId, value) { + if !f(fd_MsgCardBan_cardId, value) { return } } @@ -44094,17 +44094,17 @@ func (x *fastReflection_MsgBanCard) Range(f func(protoreflect.FieldDescriptor, p // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgBanCard) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgCardBan) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cardchain.cardchain.MsgBanCard.authority": + case "cardchain.cardchain.MsgCardBan.authority": return x.Authority != "" - case "cardchain.cardchain.MsgBanCard.cardId": + case "cardchain.cardchain.MsgCardBan.cardId": return x.CardId != uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCard")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardBan")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgBanCard does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgCardBan does not contain field %s", fd.FullName())) } } @@ -44114,17 +44114,17 @@ func (x *fastReflection_MsgBanCard) Has(fd protoreflect.FieldDescriptor) bool { // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBanCard) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgCardBan) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cardchain.cardchain.MsgBanCard.authority": + case "cardchain.cardchain.MsgCardBan.authority": x.Authority = "" - case "cardchain.cardchain.MsgBanCard.cardId": + case "cardchain.cardchain.MsgCardBan.cardId": x.CardId = uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCard")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardBan")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgBanCard does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgCardBan does not contain field %s", fd.FullName())) } } @@ -44134,19 +44134,19 @@ func (x *fastReflection_MsgBanCard) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgBanCard) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCardBan) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cardchain.cardchain.MsgBanCard.authority": + case "cardchain.cardchain.MsgCardBan.authority": value := x.Authority return protoreflect.ValueOfString(value) - case "cardchain.cardchain.MsgBanCard.cardId": + case "cardchain.cardchain.MsgCardBan.cardId": value := x.CardId return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCard")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardBan")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgBanCard does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgCardBan does not contain field %s", descriptor.FullName())) } } @@ -44160,17 +44160,17 @@ func (x *fastReflection_MsgBanCard) Get(descriptor protoreflect.FieldDescriptor) // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBanCard) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgCardBan) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cardchain.cardchain.MsgBanCard.authority": + case "cardchain.cardchain.MsgCardBan.authority": x.Authority = value.Interface().(string) - case "cardchain.cardchain.MsgBanCard.cardId": + case "cardchain.cardchain.MsgCardBan.cardId": x.CardId = value.Uint() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCard")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardBan")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgBanCard does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgCardBan does not contain field %s", fd.FullName())) } } @@ -44184,44 +44184,44 @@ func (x *fastReflection_MsgBanCard) Set(fd protoreflect.FieldDescriptor, value p // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBanCard) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCardBan) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.MsgBanCard.authority": - panic(fmt.Errorf("field authority of message cardchain.cardchain.MsgBanCard is not mutable")) - case "cardchain.cardchain.MsgBanCard.cardId": - panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgBanCard is not mutable")) + case "cardchain.cardchain.MsgCardBan.authority": + panic(fmt.Errorf("field authority of message cardchain.cardchain.MsgCardBan is not mutable")) + case "cardchain.cardchain.MsgCardBan.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgCardBan is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCard")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardBan")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgBanCard does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgCardBan does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgBanCard) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCardBan) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.MsgBanCard.authority": + case "cardchain.cardchain.MsgCardBan.authority": return protoreflect.ValueOfString("") - case "cardchain.cardchain.MsgBanCard.cardId": + case "cardchain.cardchain.MsgCardBan.cardId": return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCard")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardBan")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgBanCard does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgCardBan does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgBanCard) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgCardBan) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgBanCard", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardBan", d.FullName())) } panic("unreachable") } @@ -44229,7 +44229,7 @@ func (x *fastReflection_MsgBanCard) WhichOneof(d protoreflect.OneofDescriptor) p // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgBanCard) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgCardBan) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -44240,7 +44240,7 @@ func (x *fastReflection_MsgBanCard) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBanCard) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgCardBan) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -44252,7 +44252,7 @@ func (x *fastReflection_MsgBanCard) SetUnknown(fields protoreflect.RawFields) { // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgBanCard) IsValid() bool { +func (x *fastReflection_MsgCardBan) IsValid() bool { return x != nil } @@ -44262,9 +44262,9 @@ func (x *fastReflection_MsgBanCard) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgBanCard) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgCardBan) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgBanCard) + x := input.Message.Interface().(*MsgCardBan) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -44293,7 +44293,7 @@ func (x *fastReflection_MsgBanCard) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgBanCard) + x := input.Message.Interface().(*MsgCardBan) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -44335,7 +44335,7 @@ func (x *fastReflection_MsgBanCard) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgBanCard) + x := input.Message.Interface().(*MsgCardBan) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -44367,10 +44367,10 @@ func (x *fastReflection_MsgBanCard) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBanCard: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardBan: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBanCard: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardBan: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -44460,23 +44460,23 @@ func (x *fastReflection_MsgBanCard) ProtoMethods() *protoiface.Methods { } var ( - md_MsgBanCardResponse protoreflect.MessageDescriptor + md_MsgCardBanResponse protoreflect.MessageDescriptor ) func init() { file_cardchain_cardchain_tx_proto_init() - md_MsgBanCardResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgBanCardResponse") + md_MsgCardBanResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardBanResponse") } -var _ protoreflect.Message = (*fastReflection_MsgBanCardResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgCardBanResponse)(nil) -type fastReflection_MsgBanCardResponse MsgBanCardResponse +type fastReflection_MsgCardBanResponse MsgCardBanResponse -func (x *MsgBanCardResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgBanCardResponse)(x) +func (x *MsgCardBanResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardBanResponse)(x) } -func (x *MsgBanCardResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgCardBanResponse) slowProtoReflect() protoreflect.Message { mi := &file_cardchain_cardchain_tx_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -44488,43 +44488,43 @@ func (x *MsgBanCardResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgBanCardResponse_messageType fastReflection_MsgBanCardResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgBanCardResponse_messageType{} +var _fastReflection_MsgCardBanResponse_messageType fastReflection_MsgCardBanResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardBanResponse_messageType{} -type fastReflection_MsgBanCardResponse_messageType struct{} +type fastReflection_MsgCardBanResponse_messageType struct{} -func (x fastReflection_MsgBanCardResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgBanCardResponse)(nil) +func (x fastReflection_MsgCardBanResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardBanResponse)(nil) } -func (x fastReflection_MsgBanCardResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgBanCardResponse) +func (x fastReflection_MsgCardBanResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardBanResponse) } -func (x fastReflection_MsgBanCardResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBanCardResponse +func (x fastReflection_MsgCardBanResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardBanResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgBanCardResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBanCardResponse +func (x *fastReflection_MsgCardBanResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardBanResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgBanCardResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgBanCardResponse_messageType +func (x *fastReflection_MsgCardBanResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCardBanResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgBanCardResponse) New() protoreflect.Message { - return new(fastReflection_MsgBanCardResponse) +func (x *fastReflection_MsgCardBanResponse) New() protoreflect.Message { + return new(fastReflection_MsgCardBanResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgBanCardResponse) Interface() protoreflect.ProtoMessage { - return (*MsgBanCardResponse)(x) +func (x *fastReflection_MsgCardBanResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCardBanResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -44532,7 +44532,7 @@ func (x *fastReflection_MsgBanCardResponse) Interface() protoreflect.ProtoMessag // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgBanCardResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgCardBanResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -44546,13 +44546,13 @@ func (x *fastReflection_MsgBanCardResponse) Range(f func(protoreflect.FieldDescr // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgBanCardResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgCardBanResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCardResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardBanResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgBanCardResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgCardBanResponse does not contain field %s", fd.FullName())) } } @@ -44562,13 +44562,13 @@ func (x *fastReflection_MsgBanCardResponse) Has(fd protoreflect.FieldDescriptor) // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBanCardResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgCardBanResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCardResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardBanResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgBanCardResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgCardBanResponse does not contain field %s", fd.FullName())) } } @@ -44578,13 +44578,13 @@ func (x *fastReflection_MsgBanCardResponse) Clear(fd protoreflect.FieldDescripto // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgBanCardResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCardBanResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCardResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardBanResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgBanCardResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgCardBanResponse does not contain field %s", descriptor.FullName())) } } @@ -44598,13 +44598,13 @@ func (x *fastReflection_MsgBanCardResponse) Get(descriptor protoreflect.FieldDes // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBanCardResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgCardBanResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCardResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardBanResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgBanCardResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgCardBanResponse does not contain field %s", fd.FullName())) } } @@ -44618,36 +44618,36 @@ func (x *fastReflection_MsgBanCardResponse) Set(fd protoreflect.FieldDescriptor, // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBanCardResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCardBanResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCardResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardBanResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgBanCardResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgCardBanResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgBanCardResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCardBanResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgBanCardResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardBanResponse")) } - panic(fmt.Errorf("message cardchain.cardchain.MsgBanCardResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cardchain.cardchain.MsgCardBanResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgBanCardResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgCardBanResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgBanCardResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardBanResponse", d.FullName())) } panic("unreachable") } @@ -44655,7 +44655,7 @@ func (x *fastReflection_MsgBanCardResponse) WhichOneof(d protoreflect.OneofDescr // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgBanCardResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgCardBanResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -44666,7 +44666,7 @@ func (x *fastReflection_MsgBanCardResponse) GetUnknown() protoreflect.RawFields // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBanCardResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgCardBanResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -44678,7 +44678,7 @@ func (x *fastReflection_MsgBanCardResponse) SetUnknown(fields protoreflect.RawFi // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgBanCardResponse) IsValid() bool { +func (x *fastReflection_MsgCardBanResponse) IsValid() bool { return x != nil } @@ -44688,9 +44688,9 @@ func (x *fastReflection_MsgBanCardResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgBanCardResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgCardBanResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgBanCardResponse) + x := input.Message.Interface().(*MsgCardBanResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -44712,7 +44712,7 @@ func (x *fastReflection_MsgBanCardResponse) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgBanCardResponse) + x := input.Message.Interface().(*MsgCardBanResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -44742,7 +44742,7 @@ func (x *fastReflection_MsgBanCardResponse) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgBanCardResponse) + x := input.Message.Interface().(*MsgCardBanResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -44774,10 +44774,10 @@ func (x *fastReflection_MsgBanCardResponse) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBanCardResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardBanResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBanCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardBanResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -48545,7 +48545,7 @@ func (*MsgEarlyAccessDisinviteResponse) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{95} } -type MsgBanCard struct { +type MsgCardBan struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -48554,8 +48554,8 @@ type MsgBanCard struct { CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` } -func (x *MsgBanCard) Reset() { - *x = MsgBanCard{} +func (x *MsgCardBan) Reset() { + *x = MsgCardBan{} if protoimpl.UnsafeEnabled { mi := &file_cardchain_cardchain_tx_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -48563,39 +48563,39 @@ func (x *MsgBanCard) Reset() { } } -func (x *MsgBanCard) String() string { +func (x *MsgCardBan) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgBanCard) ProtoMessage() {} +func (*MsgCardBan) ProtoMessage() {} -// Deprecated: Use MsgBanCard.ProtoReflect.Descriptor instead. -func (*MsgBanCard) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgCardBan.ProtoReflect.Descriptor instead. +func (*MsgCardBan) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{96} } -func (x *MsgBanCard) GetAuthority() string { +func (x *MsgCardBan) GetAuthority() string { if x != nil { return x.Authority } return "" } -func (x *MsgBanCard) GetCardId() uint64 { +func (x *MsgCardBan) GetCardId() uint64 { if x != nil { return x.CardId } return 0 } -type MsgBanCardResponse struct { +type MsgCardBanResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgBanCardResponse) Reset() { - *x = MsgBanCardResponse{} +func (x *MsgCardBanResponse) Reset() { + *x = MsgCardBanResponse{} if protoimpl.UnsafeEnabled { mi := &file_cardchain_cardchain_tx_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -48603,14 +48603,14 @@ func (x *MsgBanCardResponse) Reset() { } } -func (x *MsgBanCardResponse) String() string { +func (x *MsgCardBanResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgBanCardResponse) ProtoMessage() {} +func (*MsgCardBanResponse) ProtoMessage() {} -// Deprecated: Use MsgBanCardResponse.ProtoReflect.Descriptor instead. -func (*MsgBanCardResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgCardBanResponse.ProtoReflect.Descriptor instead. +func (*MsgCardBanResponse) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{97} } @@ -49103,14 +49103,14 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x0a, - 0x0a, 0x4d, 0x73, 0x67, 0x42, 0x61, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x09, 0x61, + 0x0a, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x14, 0x0a, 0x12, 0x4d, - 0x73, 0x67, 0x42, 0x61, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xbb, 0x28, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, @@ -49429,11 +49429,11 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x42, 0x61, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1f, + 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x12, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x61, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x1a, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x61, 0x6e, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, @@ -49561,8 +49561,8 @@ var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgEncounterCloseResponse)(nil), // 93: cardchain.cardchain.MsgEncounterCloseResponse (*MsgEarlyAccessDisinvite)(nil), // 94: cardchain.cardchain.MsgEarlyAccessDisinvite (*MsgEarlyAccessDisinviteResponse)(nil), // 95: cardchain.cardchain.MsgEarlyAccessDisinviteResponse - (*MsgBanCard)(nil), // 96: cardchain.cardchain.MsgBanCard - (*MsgBanCardResponse)(nil), // 97: cardchain.cardchain.MsgBanCardResponse + (*MsgCardBan)(nil), // 96: cardchain.cardchain.MsgCardBan + (*MsgCardBanResponse)(nil), // 97: cardchain.cardchain.MsgCardBanResponse nil, // 98: cardchain.cardchain.MsgEncounterCreate.ParametersEntry (*Params)(nil), // 99: cardchain.cardchain.Params (*v1beta1.Coin)(nil), // 100: cosmos.base.v1beta1.Coin @@ -49632,7 +49632,7 @@ var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ 90, // 57: cardchain.cardchain.Msg.EncounterDo:input_type -> cardchain.cardchain.MsgEncounterDo 92, // 58: cardchain.cardchain.Msg.EncounterClose:input_type -> cardchain.cardchain.MsgEncounterClose 94, // 59: cardchain.cardchain.Msg.EarlyAccessDisinvite:input_type -> cardchain.cardchain.MsgEarlyAccessDisinvite - 96, // 60: cardchain.cardchain.Msg.BanCard:input_type -> cardchain.cardchain.MsgBanCard + 96, // 60: cardchain.cardchain.Msg.CardBan:input_type -> cardchain.cardchain.MsgCardBan 1, // 61: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse 3, // 62: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse 5, // 63: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse @@ -49681,7 +49681,7 @@ var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ 91, // 106: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse 93, // 107: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse 95, // 108: cardchain.cardchain.Msg.EarlyAccessDisinvite:output_type -> cardchain.cardchain.MsgEarlyAccessDisinviteResponse - 97, // 109: cardchain.cardchain.Msg.BanCard:output_type -> cardchain.cardchain.MsgBanCardResponse + 97, // 109: cardchain.cardchain.Msg.CardBan:output_type -> cardchain.cardchain.MsgCardBanResponse 61, // [61:110] is the sub-list for method output_type 12, // [12:61] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name @@ -50853,7 +50853,7 @@ func file_cardchain_cardchain_tx_proto_init() { } } file_cardchain_cardchain_tx_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgBanCard); i { + switch v := v.(*MsgCardBan); i { case 0: return &v.state case 1: @@ -50865,7 +50865,7 @@ func file_cardchain_cardchain_tx_proto_init() { } } file_cardchain_cardchain_tx_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgBanCardResponse); i { + switch v := v.(*MsgCardBanResponse); i { case 0: return &v.state case 1: diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 91190d3d..f2947f6a 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -67,7 +67,7 @@ const ( Msg_EncounterDo_FullMethodName = "/cardchain.cardchain.Msg/EncounterDo" Msg_EncounterClose_FullMethodName = "/cardchain.cardchain.Msg/EncounterClose" Msg_EarlyAccessDisinvite_FullMethodName = "/cardchain.cardchain.Msg/EarlyAccessDisinvite" - Msg_BanCard_FullMethodName = "/cardchain.cardchain.Msg/BanCard" + Msg_CardBan_FullMethodName = "/cardchain.cardchain.Msg/CardBan" ) // MsgClient is the client API for Msg service. @@ -124,7 +124,7 @@ type MsgClient interface { EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) - BanCard(ctx context.Context, in *MsgBanCard, opts ...grpc.CallOption) (*MsgBanCardResponse, error) + CardBan(ctx context.Context, in *MsgCardBan, opts ...grpc.CallOption) (*MsgCardBanResponse, error) } type msgClient struct { @@ -567,9 +567,9 @@ func (c *msgClient) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccess return out, nil } -func (c *msgClient) BanCard(ctx context.Context, in *MsgBanCard, opts ...grpc.CallOption) (*MsgBanCardResponse, error) { - out := new(MsgBanCardResponse) - err := c.cc.Invoke(ctx, Msg_BanCard_FullMethodName, in, out, opts...) +func (c *msgClient) CardBan(ctx context.Context, in *MsgCardBan, opts ...grpc.CallOption) (*MsgCardBanResponse, error) { + out := new(MsgCardBanResponse) + err := c.cc.Invoke(ctx, Msg_CardBan_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -630,7 +630,7 @@ type MsgServer interface { EncounterDo(context.Context, *MsgEncounterDo) (*MsgEncounterDoResponse, error) EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) - BanCard(context.Context, *MsgBanCard) (*MsgBanCardResponse, error) + CardBan(context.Context, *MsgCardBan) (*MsgCardBanResponse, error) mustEmbedUnimplementedMsgServer() } @@ -782,8 +782,8 @@ func (UnimplementedMsgServer) EncounterClose(context.Context, *MsgEncounterClose func (UnimplementedMsgServer) EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessDisinvite not implemented") } -func (UnimplementedMsgServer) BanCard(context.Context, *MsgBanCard) (*MsgBanCardResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BanCard not implemented") +func (UnimplementedMsgServer) CardBan(context.Context, *MsgCardBan) (*MsgCardBanResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardBan not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} @@ -1662,20 +1662,20 @@ func _Msg_EarlyAccessDisinvite_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Msg_BanCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgBanCard) +func _Msg_CardBan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardBan) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).BanCard(ctx, in) + return srv.(MsgServer).CardBan(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Msg_BanCard_FullMethodName, + FullMethod: Msg_CardBan_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).BanCard(ctx, req.(*MsgBanCard)) + return srv.(MsgServer).CardBan(ctx, req.(*MsgCardBan)) } return interceptor(ctx, in, info, handler) } @@ -1880,8 +1880,8 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ Handler: _Msg_EarlyAccessDisinvite_Handler, }, { - MethodName: "BanCard", - Handler: _Msg_BanCard_Handler, + MethodName: "CardBan", + Handler: _Msg_CardBan_Handler, }, }, Streams: []grpc.StreamDesc{}, diff --git a/gen.sh b/gen.sh index 506593a3..d83db7c3 100755 --- a/gen.sh +++ b/gen.sh @@ -49,4 +49,5 @@ #ignite scaffold message EncounterCreate name drawlist:uints parameters image #ignite scaffold message EncounterDo encounterId:uint user #ignite scaffold message EncounterClose encounterId:uint user won:bool -ignite scaffold message BanCard cardId:uint --signer authority -y +#ignite scaffold message CardBan cardId:uint --signer authority -y +#ignite scaffold message CardBan cardId:uint --signer authority -y diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 911f3894..5ca27a2e 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -81,7 +81,7 @@ service Msg { rpc EncounterClose(MsgEncounterClose) returns (MsgEncounterCloseResponse); rpc EarlyAccessDisinvite(MsgEarlyAccessDisinvite) returns (MsgEarlyAccessDisinviteResponse); - rpc BanCard(MsgBanCard) returns (MsgBanCardResponse); + rpc CardBan(MsgCardBan) returns (MsgCardBanResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -521,11 +521,11 @@ message MsgEarlyAccessDisinvite { message MsgEarlyAccessDisinviteResponse {} -message MsgBanCard { +message MsgCardBan { option (cosmos.msg.v1.signer) = "authority"; string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; uint64 cardId = 2; } -message MsgBanCardResponse {} +message MsgCardBanResponse {} diff --git a/x/cardchain/keeper/balancing.go b/x/cardchain/keeper/balancing.go index f0077566..fbbc033e 100644 --- a/x/cardchain/keeper/balancing.go +++ b/x/cardchain/keeper/balancing.go @@ -128,9 +128,9 @@ func (k Keeper) UpdateBanStatus(ctx sdk.Context, newBannedIds []uint64) { // mark freshly banned cards for _, id := range newBannedIds { - banCard := k.CardK.Get(ctx, id) - banCard.Status = types.CardStatus_bannedSoon - k.CardK.Set(ctx, id, banCard) + CardBan := k.CardK.Get(ctx, id) + CardBan.Status = types.CardStatus_bannedSoon + k.CardK.Set(ctx, id, CardBan) } if len(newBannedIds) > 0 { diff --git a/x/cardchain/keeper/msg_server_ban_card.go b/x/cardchain/keeper/msg_server_card_ban.go similarity index 79% rename from x/cardchain/keeper/msg_server_ban_card.go rename to x/cardchain/keeper/msg_server_card_ban.go index 2f19f65d..fb7a9462 100644 --- a/x/cardchain/keeper/msg_server_ban_card.go +++ b/x/cardchain/keeper/msg_server_card_ban.go @@ -8,7 +8,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" ) -func (k msgServer) BanCard(goCtx context.Context, msg *types.MsgBanCard) (*types.MsgBanCardResponse, error) { +func (k msgServer) CardBan(goCtx context.Context, msg *types.MsgCardBan) (*types.MsgCardBanResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) if k.authority != msg.Authority { @@ -25,5 +25,5 @@ func (k msgServer) BanCard(goCtx context.Context, msg *types.MsgBanCard) (*types k.CardK.Set(ctx, msg.CardId, card) - return &types.MsgBanCardResponse{}, nil + return &types.MsgCardBanResponse{}, nil } diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 63b03a16..c73a8113 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -460,9 +460,9 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "user"}}, }, { - RpcMethod: "BanCard", + RpcMethod: "CardBan", Use: "ban-card [card-id]", - Short: "Send a BanCard tx", + Short: "Send a CardBan tx", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}}, }, // this line is used by ignite scaffolding # autocli/tx diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index 675d2f5d..d746fcb4 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -211,9 +211,9 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgEarlyAccessDisinvite int = 100 - opWeightMsgBanCard = "op_weight_msg_ban_card" + opWeightMsgCardBan = "op_weight_msg_ban_card" // TODO: Determine the simulation weight value - defaultWeightMsgBanCard int = 100 + defaultWeightMsgCardBan int = 100 // this line is used by starport scaffolding # simapp/module/const ) @@ -755,15 +755,15 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgEarlyAccessDisinvite(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgBanCard int - simState.AppParams.GetOrGenerate(opWeightMsgBanCard, &weightMsgBanCard, nil, + var weightMsgCardBan int + simState.AppParams.GetOrGenerate(opWeightMsgCardBan, &weightMsgCardBan, nil, func(_ *rand.Rand) { - weightMsgBanCard = defaultWeightMsgBanCard + weightMsgCardBan = defaultWeightMsgCardBan }, ) operations = append(operations, simulation.NewWeightedOperation( - weightMsgBanCard, - cardchainsimulation.SimulateMsgBanCard(am.accountKeeper, am.bankKeeper, am.keeper), + weightMsgCardBan, + cardchainsimulation.SimulateMsgCardBan(am.accountKeeper, am.bankKeeper, am.keeper), )) // this line is used by starport scaffolding # simapp/module/operation @@ -1151,10 +1151,10 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei }, ), simulation.NewWeightedProposalMsg( - opWeightMsgBanCard, - defaultWeightMsgBanCard, + opWeightMsgCardBan, + defaultWeightMsgCardBan, func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { - cardchainsimulation.SimulateMsgBanCard(am.accountKeeper, am.bankKeeper, am.keeper) + cardchainsimulation.SimulateMsgCardBan(am.accountKeeper, am.bankKeeper, am.keeper) return nil }, ), diff --git a/x/cardchain/simulation/ban_card.go b/x/cardchain/simulation/ban_card.go index e13214aa..52c85622 100644 --- a/x/cardchain/simulation/ban_card.go +++ b/x/cardchain/simulation/ban_card.go @@ -10,7 +10,7 @@ import ( simtypes "github.com/cosmos/cosmos-sdk/types/simulation" ) -func SimulateMsgBanCard( +func SimulateMsgCardBan( ak types.AccountKeeper, bk types.BankKeeper, k keeper.Keeper, @@ -18,12 +18,12 @@ func SimulateMsgBanCard( 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.MsgBanCard{ + msg := &types.MsgCardBan{ Authority: simAccount.Address.String(), } - // TODO: Handling the BanCard simulation + // TODO: Handling the CardBan simulation - return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "BanCard simulation not implemented"), nil, nil + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CardBan simulation not implemented"), nil, nil } } diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index aea78f8d..4a884cc0 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -150,7 +150,7 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { &MsgEarlyAccessDisinvite{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgBanCard{}, + &MsgCardBan{}, ) // this line is used by starport scaffolding # 3 diff --git a/x/cardchain/types/message_ban_card.go b/x/cardchain/types/message_card_ban.go similarity index 70% rename from x/cardchain/types/message_ban_card.go rename to x/cardchain/types/message_card_ban.go index a2ecca68..b288d5f1 100644 --- a/x/cardchain/types/message_ban_card.go +++ b/x/cardchain/types/message_card_ban.go @@ -6,16 +6,16 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) -var _ sdk.Msg = &MsgBanCard{} +var _ sdk.Msg = &MsgCardBan{} -func NewMsgBanCard(authority string, cardId uint64) *MsgBanCard { - return &MsgBanCard{ +func NewMsgCardBan(authority string, cardId uint64) *MsgCardBan { + return &MsgCardBan{ Authority: authority, CardId: cardId, } } -func (msg *MsgBanCard) ValidateBasic() error { +func (msg *MsgCardBan) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Authority) if err != nil { return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid authority address (%s)", err) diff --git a/x/cardchain/types/message_ban_card_test.go b/x/cardchain/types/message_card_ban_test.go similarity index 85% rename from x/cardchain/types/message_ban_card_test.go rename to x/cardchain/types/message_card_ban_test.go index 0186a4b8..98d3e121 100644 --- a/x/cardchain/types/message_ban_card_test.go +++ b/x/cardchain/types/message_card_ban_test.go @@ -8,21 +8,21 @@ import ( "github.com/stretchr/testify/require" ) -func TestMsgBanCard_ValidateBasic(t *testing.T) { +func TestMsgCardBan_ValidateBasic(t *testing.T) { tests := []struct { name string - msg MsgBanCard + msg MsgCardBan err error }{ { name: "invalid address", - msg: MsgBanCard{ + msg: MsgCardBan{ Authority: "invalid_address", }, err: sdkerrors.ErrInvalidAddress, }, { name: "valid address", - msg: MsgBanCard{ + msg: MsgCardBan{ Authority: sample.AccAddress(), }, }, diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index 43ca94ea..46b29b52 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -4654,23 +4654,23 @@ func (m *MsgEarlyAccessDisinviteResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgEarlyAccessDisinviteResponse proto.InternalMessageInfo -type MsgBanCard struct { +type MsgCardBan struct { Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` } -func (m *MsgBanCard) Reset() { *m = MsgBanCard{} } -func (m *MsgBanCard) String() string { return proto.CompactTextString(m) } -func (*MsgBanCard) ProtoMessage() {} -func (*MsgBanCard) Descriptor() ([]byte, []int) { +func (m *MsgCardBan) Reset() { *m = MsgCardBan{} } +func (m *MsgCardBan) String() string { return proto.CompactTextString(m) } +func (*MsgCardBan) ProtoMessage() {} +func (*MsgCardBan) Descriptor() ([]byte, []int) { return fileDescriptor_3b4a3aba0ac94bc8, []int{96} } -func (m *MsgBanCard) XXX_Unmarshal(b []byte) error { +func (m *MsgCardBan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgBanCard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCardBan) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgBanCard.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCardBan.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -4680,47 +4680,47 @@ func (m *MsgBanCard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (m *MsgBanCard) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBanCard.Merge(m, src) +func (m *MsgCardBan) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardBan.Merge(m, src) } -func (m *MsgBanCard) XXX_Size() int { +func (m *MsgCardBan) XXX_Size() int { return m.Size() } -func (m *MsgBanCard) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBanCard.DiscardUnknown(m) +func (m *MsgCardBan) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardBan.DiscardUnknown(m) } -var xxx_messageInfo_MsgBanCard proto.InternalMessageInfo +var xxx_messageInfo_MsgCardBan proto.InternalMessageInfo -func (m *MsgBanCard) GetAuthority() string { +func (m *MsgCardBan) GetAuthority() string { if m != nil { return m.Authority } return "" } -func (m *MsgBanCard) GetCardId() uint64 { +func (m *MsgCardBan) GetCardId() uint64 { if m != nil { return m.CardId } return 0 } -type MsgBanCardResponse struct { +type MsgCardBanResponse struct { } -func (m *MsgBanCardResponse) Reset() { *m = MsgBanCardResponse{} } -func (m *MsgBanCardResponse) String() string { return proto.CompactTextString(m) } -func (*MsgBanCardResponse) ProtoMessage() {} -func (*MsgBanCardResponse) Descriptor() ([]byte, []int) { +func (m *MsgCardBanResponse) Reset() { *m = MsgCardBanResponse{} } +func (m *MsgCardBanResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardBanResponse) ProtoMessage() {} +func (*MsgCardBanResponse) Descriptor() ([]byte, []int) { return fileDescriptor_3b4a3aba0ac94bc8, []int{97} } -func (m *MsgBanCardResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgCardBanResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgBanCardResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCardBanResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgBanCardResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCardBanResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -4730,17 +4730,17 @@ func (m *MsgBanCardResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (m *MsgBanCardResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBanCardResponse.Merge(m, src) +func (m *MsgCardBanResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardBanResponse.Merge(m, src) } -func (m *MsgBanCardResponse) XXX_Size() int { +func (m *MsgCardBanResponse) XXX_Size() int { return m.Size() } -func (m *MsgBanCardResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBanCardResponse.DiscardUnknown(m) +func (m *MsgCardBanResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardBanResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgBanCardResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgCardBanResponse proto.InternalMessageInfo func init() { proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") @@ -4840,191 +4840,191 @@ func init() { proto.RegisterType((*MsgEncounterCloseResponse)(nil), "cardchain.cardchain.MsgEncounterCloseResponse") proto.RegisterType((*MsgEarlyAccessDisinvite)(nil), "cardchain.cardchain.MsgEarlyAccessDisinvite") proto.RegisterType((*MsgEarlyAccessDisinviteResponse)(nil), "cardchain.cardchain.MsgEarlyAccessDisinviteResponse") - proto.RegisterType((*MsgBanCard)(nil), "cardchain.cardchain.MsgBanCard") - proto.RegisterType((*MsgBanCardResponse)(nil), "cardchain.cardchain.MsgBanCardResponse") + proto.RegisterType((*MsgCardBan)(nil), "cardchain.cardchain.MsgCardBan") + proto.RegisterType((*MsgCardBanResponse)(nil), "cardchain.cardchain.MsgCardBanResponse") } func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2819 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0x37, 0x45, 0x49, 0x96, 0xc6, 0xb2, 0x9c, 0xac, 0x15, 0x87, 0x5e, 0x3b, 0xb2, 0x4c, 0x4b, - 0x96, 0xec, 0xc8, 0x62, 0x6c, 0xc7, 0x1f, 0x35, 0x9a, 0x14, 0xa2, 0xe4, 0x16, 0x01, 0xaa, 0xd8, - 0x5d, 0x36, 0x71, 0x9d, 0x7e, 0x04, 0xcb, 0xe5, 0x88, 0xda, 0x6a, 0xb9, 0xc3, 0xec, 0x2e, 0xa9, - 0xc8, 0x40, 0x81, 0x22, 0xbd, 0x14, 0xed, 0xa5, 0xe7, 0xa2, 0x97, 0xde, 0x72, 0x2a, 0x0c, 0xb4, - 0xb7, 0xde, 0xda, 0x4b, 0x0e, 0x3d, 0x04, 0x39, 0xf5, 0x54, 0x14, 0xf6, 0xc1, 0xff, 0x46, 0x31, - 0x1f, 0x3b, 0x3b, 0x3b, 0x9c, 0x99, 0x5d, 0xb2, 0xed, 0xc5, 0xe6, 0xcc, 0xfe, 0xe6, 0x7d, 0xcd, - 0x9b, 0x79, 0x6f, 0xde, 0x83, 0xc0, 0x45, 0xcf, 0x8d, 0x3a, 0xde, 0x81, 0xeb, 0x87, 0x8d, 0xec, - 0x57, 0xf2, 0xf9, 0x56, 0x3f, 0x42, 0x09, 0xb2, 0xce, 0xf2, 0xb9, 0x2d, 0xfe, 0xcb, 0x7e, 0xdd, - 0xed, 0xf9, 0x21, 0x6a, 0x90, 0x7f, 0x29, 0xce, 0x7e, 0xd3, 0x43, 0x71, 0x0f, 0xc5, 0x8d, 0x5e, - 0xdc, 0x6d, 0x0c, 0x6f, 0xe2, 0xff, 0xd8, 0x87, 0xf3, 0xf4, 0xc3, 0xa7, 0x64, 0xd4, 0xa0, 0x03, - 0xf6, 0x69, 0xa9, 0x8b, 0xba, 0x88, 0xce, 0xe3, 0x5f, 0x6c, 0x76, 0x45, 0x25, 0x4f, 0xdf, 0x8d, - 0xdc, 0x5e, 0xba, 0x6e, 0x99, 0xf1, 0x6a, 0xbb, 0x31, 0x6c, 0x0c, 0x6f, 0xb6, 0x61, 0xe2, 0xde, - 0x6c, 0x78, 0xc8, 0x0f, 0x4d, 0x14, 0x86, 0x28, 0xf1, 0xc3, 0x54, 0xa8, 0x4b, 0x2a, 0x44, 0xcf, - 0x4d, 0xbc, 0x03, 0x06, 0xb8, 0xac, 0x02, 0x78, 0x68, 0x10, 0x7a, 0x7e, 0xc0, 0xa5, 0x50, 0x41, - 0xdc, 0xa8, 0x43, 0xbf, 0xd7, 0xff, 0x5e, 0x01, 0x67, 0xf6, 0xe2, 0xee, 0x47, 0xfd, 0x8e, 0x9b, - 0xc0, 0xc7, 0x44, 0x7e, 0xeb, 0x2e, 0x98, 0x77, 0x07, 0xc9, 0x01, 0x8a, 0xfc, 0xe4, 0xb8, 0x56, - 0x59, 0xa9, 0x6c, 0xcc, 0x37, 0x6b, 0xdf, 0xfc, 0xe5, 0xc6, 0x12, 0x33, 0xcb, 0x76, 0xa7, 0x13, - 0xc1, 0x38, 0x6e, 0x25, 0x91, 0x1f, 0x76, 0x9d, 0x0c, 0x6a, 0xbd, 0x0f, 0x66, 0xa9, 0x05, 0x6a, - 0x53, 0x2b, 0x95, 0x8d, 0x53, 0xb7, 0x2e, 0x6c, 0x29, 0xb6, 0x65, 0x8b, 0x32, 0x69, 0xce, 0x7f, - 0xf5, 0xaf, 0x4b, 0x27, 0xbe, 0x7c, 0xf5, 0xfc, 0x7a, 0xc5, 0x61, 0xab, 0x1e, 0xdc, 0xff, 0xe2, - 0xd5, 0xf3, 0xeb, 0x19, 0xbd, 0xdf, 0xbc, 0x7a, 0x7e, 0x7d, 0x2d, 0x13, 0xfa, 0x73, 0x41, 0x01, - 0x49, 0xe2, 0xfa, 0x79, 0xf0, 0xa6, 0x34, 0xe5, 0xc0, 0xb8, 0x8f, 0xc2, 0x18, 0xd6, 0xbb, 0xe0, - 0x34, 0xfe, 0x14, 0xc3, 0x68, 0x27, 0x82, 0x6e, 0x02, 0xad, 0x1a, 0x38, 0xe9, 0xe1, 0x5f, 0x28, - 0xa2, 0xba, 0x39, 0xe9, 0x10, 0x7f, 0x09, 0xe1, 0x11, 0x86, 0x12, 0x05, 0xe6, 0x9d, 0x74, 0x68, - 0x2d, 0x81, 0x19, 0x37, 0xf0, 0xdd, 0xb8, 0x56, 0x25, 0xf3, 0x74, 0xf0, 0x60, 0x01, 0xcb, 0x9b, - 0xae, 0xae, 0xbf, 0x09, 0xde, 0xc8, 0x31, 0xe2, 0x12, 0xf4, 0xc0, 0x6b, 0x7b, 0x71, 0x77, 0xc7, - 0x8d, 0x3a, 0x2d, 0xef, 0x00, 0xf6, 0x60, 0x73, 0x70, 0x6c, 0x10, 0xe2, 0x26, 0xa8, 0xb6, 0xfd, - 0x0e, 0xb3, 0xe0, 0xf9, 0x2d, 0x66, 0x73, 0xec, 0x44, 0x5b, 0xcc, 0x89, 0xb6, 0x76, 0x90, 0x1f, - 0x36, 0xa7, 0xb1, 0xfd, 0x1c, 0x8c, 0x95, 0xe4, 0xb8, 0x05, 0x6a, 0x32, 0xbb, 0x54, 0x14, 0xeb, - 0x1c, 0x98, 0xc5, 0x46, 0xfc, 0xa0, 0x43, 0xb8, 0x4e, 0x3b, 0x6c, 0x54, 0xff, 0x5b, 0x05, 0x58, - 0xe9, 0x22, 0x77, 0x08, 0x77, 0x50, 0x98, 0xc0, 0x30, 0x31, 0x48, 0x99, 0x11, 0x9a, 0x12, 0x09, - 0x91, 0x15, 0x74, 0x31, 0x31, 0xd5, 0x82, 0x93, 0x0e, 0xb1, 0x09, 0x43, 0x94, 0xc0, 0xb8, 0x36, - 0x4d, 0x4d, 0x48, 0x06, 0x98, 0x8e, 0x1b, 0x25, 0x7e, 0x9c, 0xd4, 0x66, 0xc8, 0x34, 0x1b, 0x59, - 0xab, 0xe0, 0x74, 0xdb, 0x0d, 0xdc, 0xd0, 0x83, 0xdb, 0xa1, 0x77, 0x80, 0xa2, 0xda, 0xec, 0x4a, - 0x65, 0x63, 0xce, 0xc9, 0x4f, 0x4a, 0x8a, 0xef, 0x02, 0x7b, 0x54, 0x07, 0xae, 0xfa, 0x55, 0xb0, - 0xe8, 0xfa, 0x51, 0x27, 0x42, 0xfd, 0x9d, 0xc0, 0xf5, 0x7b, 0x90, 0x9a, 0x60, 0xce, 0x91, 0x66, - 0xeb, 0x3f, 0x07, 0xa7, 0x18, 0x95, 0x8f, 0x91, 0xd1, 0x5b, 0x6e, 0x83, 0xe9, 0x21, 0x4a, 0x20, - 0xdb, 0xa9, 0x4b, 0x4a, 0x5f, 0x6f, 0xf9, 0x61, 0x37, 0x80, 0x98, 0x90, 0x43, 0xc0, 0x92, 0xc4, - 0xef, 0x81, 0xb3, 0x02, 0xaf, 0xb1, 0x45, 0xed, 0x91, 0xa3, 0x8b, 0x97, 0xff, 0x30, 0x72, 0xc3, - 0x78, 0x1f, 0x46, 0x13, 0xec, 0x98, 0x0d, 0xe6, 0x22, 0xe8, 0x41, 0x7f, 0x08, 0x23, 0xe6, 0xdd, - 0x7c, 0x2c, 0x49, 0x4b, 0x0f, 0x99, 0xc8, 0x8e, 0xbb, 0xf8, 0xaf, 0x2b, 0xe4, 0x94, 0xe1, 0x6f, - 0xbb, 0x28, 0x34, 0x9f, 0x32, 0x9d, 0x20, 0xf7, 0xc0, 0xac, 0xdb, 0x43, 0x03, 0xe6, 0x39, 0x25, - 0x7c, 0x9f, 0xc1, 0x95, 0xc7, 0x30, 0x93, 0x84, 0xcb, 0xf8, 0xab, 0x0a, 0x78, 0x9d, 0x7d, 0xd9, - 0x8e, 0x92, 0x23, 0x14, 0x1d, 0x6e, 0x77, 0x3a, 0x13, 0xc8, 0xb9, 0x04, 0x66, 0xfc, 0x9e, 0xdb, - 0x85, 0xcc, 0xc1, 0xe9, 0x00, 0xd3, 0xd9, 0x1f, 0x04, 0xc1, 0x76, 0x94, 0x10, 0x07, 0x9f, 0x73, - 0xd2, 0xa1, 0x24, 0xde, 0x05, 0x70, 0x7e, 0x44, 0x08, 0xe1, 0xa6, 0x38, 0x9b, 0x7d, 0xf4, 0xe3, - 0x64, 0xe7, 0xc0, 0x0d, 0xbb, 0x93, 0xd8, 0x32, 0x3b, 0x56, 0x55, 0xf1, 0x58, 0x49, 0xb2, 0xbc, - 0x05, 0x2e, 0x28, 0xd8, 0x71, 0x69, 0xbe, 0x4d, 0xef, 0x04, 0x1a, 0x4e, 0x1c, 0xd8, 0xf5, 0xe3, - 0xc4, 0xe4, 0x61, 0x12, 0xf1, 0x8b, 0xf4, 0x34, 0xe6, 0x57, 0x73, 0xda, 0xef, 0x83, 0xa5, 0xec, - 0xeb, 0x2e, 0x8c, 0xc6, 0xa5, 0xbe, 0x0c, 0x2e, 0xaa, 0xd6, 0x73, 0xfa, 0xdf, 0x54, 0xc0, 0xe2, - 0x5e, 0xdc, 0xdd, 0xc3, 0xc1, 0xd2, 0x81, 0x7d, 0x14, 0x25, 0xe6, 0x7b, 0x9f, 0x44, 0x55, 0x6e, - 0xc6, 0x74, 0x68, 0xd5, 0xc1, 0x42, 0x3f, 0x70, 0x8f, 0x61, 0x07, 0x1b, 0x29, 0xde, 0xae, 0x55, - 0x57, 0xaa, 0x1b, 0xd3, 0x4e, 0x6e, 0x4e, 0xc2, 0x34, 0x6b, 0xd3, 0x23, 0x98, 0xa6, 0x75, 0x17, - 0x9c, 0x44, 0x83, 0xc4, 0x43, 0x3d, 0x48, 0xee, 0xb9, 0xc5, 0x5b, 0x17, 0x95, 0xd7, 0xc5, 0x23, - 0x8a, 0x71, 0x52, 0xb0, 0xa4, 0x74, 0x0d, 0x9c, 0xcb, 0xeb, 0xc4, 0xd5, 0x75, 0x68, 0x88, 0xa1, - 0xe6, 0x28, 0x8c, 0x73, 0x1a, 0xaf, 0x91, 0xb8, 0xd9, 0x34, 0x8e, 0x88, 0x34, 0x39, 0xbf, 0x9f, - 0x92, 0xab, 0x40, 0x90, 0x04, 0x46, 0xdb, 0xfd, 0x3e, 0xf2, 0x8d, 0x31, 0x83, 0xdc, 0x34, 0x14, - 0xcc, 0xe2, 0x2b, 0x1f, 0x4b, 0xac, 0x2f, 0x83, 0x4b, 0x1a, 0xf2, 0x5c, 0x82, 0x2f, 0x2b, 0x60, - 0x61, 0x2f, 0xee, 0xb6, 0x60, 0x52, 0xa8, 0xae, 0x05, 0xa6, 0x43, 0xb7, 0x07, 0x19, 0x4f, 0xf2, - 0x5b, 0x77, 0x40, 0xac, 0x15, 0x70, 0x2a, 0x4e, 0x50, 0x74, 0xfc, 0x24, 0xf2, 0xb1, 0x98, 0x34, - 0x56, 0x89, 0x53, 0x78, 0xbb, 0x71, 0x48, 0x8b, 0xfc, 0xf6, 0x20, 0x41, 0x51, 0x5c, 0x9b, 0x59, - 0xa9, 0x6e, 0xcc, 0x3b, 0xb9, 0x39, 0x49, 0x9b, 0x73, 0xc4, 0xd7, 0xb9, 0xa4, 0x5c, 0x05, 0x48, - 0xee, 0x4c, 0x3c, 0x8f, 0x4f, 0xa0, 0xf1, 0x2e, 0x5a, 0x02, 0x33, 0x31, 0x4c, 0xf8, 0x86, 0xd1, - 0x81, 0xb0, 0x8f, 0x55, 0xc3, 0x3e, 0xd2, 0x0b, 0x31, 0x63, 0xc3, 0xf9, 0x1f, 0x10, 0xa7, 0x61, - 0x1f, 0x1c, 0xd8, 0x43, 0x43, 0xf8, 0x7f, 0x12, 0x81, 0xba, 0x52, 0x8e, 0x93, 0x20, 0x45, 0x6a, - 0x9d, 0xcc, 0x82, 0x93, 0x18, 0xc3, 0x02, 0xd3, 0x83, 0x98, 0xc7, 0x30, 0xf2, 0x5b, 0x79, 0x67, - 0x8c, 0x70, 0xe2, 0x92, 0x1c, 0x12, 0xa7, 0xce, 0x7f, 0x9f, 0xd0, 0x2c, 0xc5, 0xc2, 0x50, 0x17, - 0x57, 0x31, 0xe3, 0xf2, 0x7c, 0x48, 0xae, 0xb0, 0x16, 0x4c, 0xbe, 0xeb, 0x87, 0x6e, 0xe0, 0x3f, - 0x1b, 0x5b, 0x0c, 0xe5, 0xf5, 0x21, 0xd0, 0xe3, 0x9c, 0xf6, 0x53, 0x4f, 0x28, 0x15, 0x18, 0xd5, - 0x2a, 0x2b, 0xc3, 0xa2, 0xce, 0x0f, 0x14, 0xb1, 0xaf, 0x93, 0x6a, 0xdb, 0xc2, 0x87, 0x6d, 0x42, - 0x09, 0xc8, 0x41, 0x4d, 0x93, 0x74, 0x32, 0xd0, 0xd9, 0x20, 0xe5, 0xc2, 0xf9, 0xff, 0x80, 0x64, - 0x07, 0x4d, 0x84, 0x70, 0x1c, 0x79, 0xec, 0x7a, 0x87, 0xe6, 0x34, 0xbd, 0x8c, 0xc1, 0x77, 0x48, - 0xac, 0xcf, 0x93, 0x1c, 0x3b, 0xc9, 0xfb, 0x2d, 0x4d, 0xcd, 0x5b, 0x30, 0x08, 0x1e, 0xed, 0xef, - 0x97, 0x78, 0xc5, 0xe8, 0x72, 0x82, 0x3b, 0x60, 0xa6, 0x1f, 0xf9, 0x1e, 0x2c, 0x9b, 0x5e, 0x51, - 0xb4, 0x32, 0xaa, 0x4b, 0xc2, 0x70, 0x1b, 0xfe, 0x98, 0x24, 0xa4, 0xfc, 0xab, 0xd9, 0x82, 0xf8, - 0xaa, 0x4d, 0x91, 0x5c, 0x58, 0x71, 0x4a, 0x99, 0x7e, 0x8a, 0xc4, 0x39, 0xdf, 0x9f, 0xe5, 0x4d, - 0x54, 0x78, 0x68, 0xc7, 0x65, 0x2d, 0x69, 0x2d, 0x9d, 0xd3, 0x3f, 0x56, 0xf8, 0x03, 0xcf, 0x71, - 0xf1, 0xc3, 0xb5, 0x05, 0x93, 0xc9, 0xf2, 0x4a, 0xea, 0x51, 0x55, 0xd1, 0xa9, 0xef, 0x81, 0xd9, - 0x88, 0x10, 0x25, 0xb1, 0x68, 0x51, 0xf3, 0xce, 0xc8, 0x78, 0x3b, 0x0c, 0xae, 0x0e, 0xe6, 0xa2, - 0x88, 0x5c, 0xfe, 0x3f, 0x54, 0xc4, 0x48, 0x9f, 0x4e, 0xef, 0xa0, 0x5e, 0xcf, 0x37, 0xe9, 0x71, - 0x11, 0xcc, 0xb3, 0x52, 0x03, 0x57, 0x25, 0x9b, 0xa0, 0xc1, 0x9e, 0x52, 0xca, 0x9e, 0x15, 0xcc, - 0xf5, 0x97, 0x01, 0x88, 0x07, 0xdd, 0x2e, 0x8c, 0x13, 0x1f, 0x85, 0x2c, 0xc6, 0x0a, 0x33, 0x92, - 0xe8, 0x75, 0xb0, 0xa2, 0x93, 0x8e, 0xab, 0xf0, 0x67, 0xa5, 0x0a, 0x0e, 0x1c, 0x42, 0x37, 0x98, - 0x58, 0x85, 0x6f, 0x49, 0x2a, 0x2c, 0xde, 0x7a, 0x4b, 0x69, 0x7c, 0xce, 0x2e, 0xd3, 0xf0, 0x1c, - 0x98, 0x8d, 0xa1, 0x17, 0xc1, 0x84, 0x69, 0xc7, 0x46, 0x65, 0x34, 0xa3, 0x42, 0x73, 0xcd, 0x9e, - 0xd2, 0x47, 0x0b, 0xc7, 0x24, 0x6e, 0x34, 0xf1, 0xa6, 0xa8, 0x9f, 0x22, 0x39, 0xd2, 0x9c, 0xef, - 0x3f, 0x68, 0x5d, 0x88, 0xe4, 0x60, 0x3b, 0x28, 0xdc, 0xf7, 0xa3, 0xde, 0x44, 0x19, 0xb4, 0x90, - 0xf9, 0x56, 0xc7, 0xc8, 0x7c, 0xad, 0xef, 0x00, 0x80, 0x1f, 0xcc, 0x34, 0x81, 0x26, 0x39, 0x75, - 0x89, 0x37, 0xb6, 0xb0, 0x44, 0x79, 0x79, 0x88, 0xda, 0x70, 0x4d, 0x5b, 0xc4, 0xc2, 0x8f, 0x23, - 0xb4, 0xef, 0x07, 0x90, 0x54, 0x0f, 0x26, 0x39, 0xbe, 0x4a, 0xdb, 0xe6, 0x89, 0x72, 0x8e, 0x3f, - 0x22, 0x29, 0x0f, 0xfb, 0xf8, 0x04, 0xb6, 0x63, 0x3f, 0x81, 0x66, 0xa6, 0x35, 0x70, 0xf2, 0x88, - 0xe2, 0xd2, 0xca, 0x14, 0x1b, 0x2a, 0x53, 0x9c, 0x11, 0xca, 0x9c, 0xf3, 0xf7, 0xc9, 0x4d, 0xc5, - 0xbe, 0x37, 0x7d, 0x64, 0xe6, 0xfa, 0x1a, 0xa8, 0xb6, 0x7d, 0xc4, 0x38, 0xe2, 0x9f, 0xca, 0x4b, - 0x25, 0x47, 0x8d, 0x73, 0x6a, 0x93, 0x2b, 0x59, 0x88, 0x7d, 0x8f, 0xfa, 0x30, 0x34, 0xf0, 0x5a, - 0x05, 0xa7, 0xdb, 0x19, 0x98, 0x5b, 0x37, 0x3f, 0x29, 0xf1, 0xbf, 0x4b, 0xae, 0x65, 0x89, 0x07, - 0x0f, 0xb0, 0x98, 0x17, 0xd9, 0x9a, 0xb8, 0x56, 0x21, 0x4f, 0xb2, 0x74, 0x58, 0xff, 0xa2, 0x42, - 0xb2, 0x00, 0x61, 0x61, 0x89, 0xfa, 0x49, 0x29, 0x01, 0xc7, 0xa8, 0xa6, 0xac, 0x80, 0x65, 0xb5, - 0x0c, 0xdc, 0x84, 0xc3, 0x34, 0x33, 0x6e, 0x65, 0xcf, 0x0f, 0xf3, 0x86, 0xa9, 0xf3, 0x22, 0xe9, - 0x4d, 0x53, 0x1d, 0x79, 0xd3, 0xe8, 0xf2, 0xe4, 0x3c, 0x5f, 0xa1, 0xa2, 0x7a, 0x86, 0x67, 0x71, - 0x7e, 0x9c, 0x4c, 0x22, 0x52, 0xb9, 0xfa, 0x44, 0x1a, 0xf1, 0x33, 0x46, 0x5c, 0x86, 0xcf, 0x78, - 0xc8, 0xc5, 0x07, 0x7f, 0x6f, 0x10, 0x24, 0xbe, 0x41, 0x88, 0x3b, 0x60, 0x66, 0x48, 0x6a, 0x8f, - 0x53, 0xe5, 0xee, 0x11, 0x8a, 0x96, 0xa4, 0x69, 0xf2, 0x10, 0xca, 0x59, 0x8e, 0x9d, 0xcc, 0xfd, - 0x89, 0xbe, 0x5a, 0xc9, 0x3d, 0x54, 0x70, 0x20, 0x6a, 0xe0, 0x24, 0x29, 0x21, 0x44, 0xdb, 0xe9, - 0x91, 0x67, 0xc3, 0xec, 0x4b, 0x93, 0x59, 0x2f, 0x1d, 0xe2, 0x9d, 0x66, 0xa0, 0x5d, 0xe8, 0x1d, - 0xb2, 0x4a, 0x84, 0x38, 0x95, 0x21, 0x9a, 0x04, 0x31, 0x23, 0x22, 0xc8, 0x94, 0xa4, 0xf4, 0x3b, - 0xc4, 0x07, 0xb9, 0xbc, 0xe2, 0xe1, 0x4a, 0x2f, 0xfc, 0x4a, 0xee, 0xc2, 0xaf, 0xbb, 0xe9, 0xab, - 0xf6, 0x43, 0xb7, 0x07, 0x27, 0xf1, 0x8d, 0xf4, 0xb9, 0x5e, 0xcd, 0x9e, 0xeb, 0xba, 0x17, 0x2d, - 0x63, 0x21, 0x94, 0x41, 0xac, 0xec, 0x42, 0xda, 0x0e, 0x7c, 0x37, 0x2e, 0x14, 0x80, 0x96, 0xf5, - 0xa7, 0xf4, 0x65, 0x7d, 0x9a, 0xfb, 0x49, 0x34, 0x05, 0x8e, 0xd8, 0x3e, 0x0f, 0xdd, 0x28, 0x38, - 0xde, 0xf6, 0x3c, 0x18, 0xc7, 0x1f, 0x84, 0x43, 0xbf, 0xa8, 0x1a, 0x31, 0xc8, 0x3a, 0x0c, 0xfa, - 0x77, 0xea, 0x08, 0x4d, 0x21, 0x60, 0xe1, 0xf3, 0xf7, 0x09, 0x74, 0x83, 0xe3, 0x1d, 0x14, 0x86, - 0xd0, 0x2b, 0x88, 0x1c, 0xcf, 0x30, 0x92, 0x59, 0x79, 0xde, 0x49, 0x87, 0xca, 0xb3, 0x26, 0x12, - 0xe5, 0xfc, 0x7e, 0x3f, 0x45, 0xcc, 0xfa, 0x30, 0xc4, 0x89, 0x44, 0x52, 0xe2, 0x05, 0xa2, 0x2a, - 0xb8, 0xd8, 0x60, 0xae, 0x13, 0xb9, 0x47, 0x01, 0x3d, 0xf3, 0xd8, 0xeb, 0xf8, 0xd8, 0x7a, 0x02, - 0x00, 0xe9, 0x00, 0xc1, 0x04, 0x46, 0x69, 0xac, 0xbf, 0xa7, 0x3c, 0xa3, 0xa3, 0x62, 0xd0, 0x76, - 0x12, 0x59, 0xf9, 0x30, 0x4c, 0xa2, 0x63, 0x47, 0x20, 0x95, 0xbd, 0x49, 0x67, 0x84, 0x37, 0xa9, - 0xfd, 0x1e, 0x38, 0x23, 0x2d, 0xc2, 0x91, 0xee, 0x10, 0xb2, 0x5e, 0x97, 0x83, 0x7f, 0xe2, 0xa5, - 0x43, 0x37, 0x18, 0xa4, 0x4a, 0xd0, 0xc1, 0x83, 0xa9, 0xfb, 0x15, 0xa5, 0x7b, 0x48, 0x42, 0x71, - 0xd3, 0x85, 0xe4, 0x51, 0xcb, 0xbf, 0xee, 0x22, 0xf3, 0xa3, 0x04, 0xa6, 0xc0, 0xec, 0x51, 0x22, - 0x4c, 0x95, 0xa8, 0x2a, 0xd0, 0xe7, 0xad, 0xc0, 0x4f, 0xae, 0x7e, 0x67, 0x82, 0x06, 0x28, 0x86, - 0xff, 0x6b, 0x69, 0xb0, 0x1d, 0x8f, 0x58, 0x4a, 0x3f, 0xe7, 0xe0, 0x9f, 0xca, 0xb4, 0x28, 0x2f, - 0x04, 0x17, 0xf1, 0x23, 0xe2, 0x82, 0x82, 0xdf, 0xef, 0xfa, 0xb1, 0xff, 0xdf, 0x1f, 0x27, 0x5a, - 0x69, 0x51, 0x91, 0xe5, 0x9c, 0x03, 0x00, 0x70, 0x2c, 0x76, 0x43, 0x7c, 0xbb, 0x4f, 0xdc, 0xfe, - 0xd4, 0x65, 0x86, 0x8b, 0xf9, 0xb6, 0x66, 0x7d, 0x89, 0xa6, 0x46, 0x94, 0x5b, 0x2a, 0xc3, 0xad, - 0xbf, 0x6e, 0x80, 0xea, 0x5e, 0xdc, 0xb5, 0xda, 0x60, 0x21, 0xd7, 0x8c, 0x5d, 0xd5, 0x1d, 0x04, - 0x11, 0x65, 0x6f, 0x96, 0x41, 0xf1, 0xdb, 0xfb, 0x27, 0x00, 0x08, 0x0d, 0xd1, 0xba, 0x76, 0x2d, - 0xc7, 0xd8, 0xd7, 0x8b, 0x31, 0x9c, 0x3a, 0x04, 0xa7, 0xf3, 0xcd, 0xce, 0x35, 0xdd, 0xe2, 0x1c, - 0xcc, 0xbe, 0x51, 0x0a, 0xc6, 0xd9, 0x1c, 0x82, 0x33, 0x72, 0xbf, 0x72, 0xdd, 0x48, 0x21, 0x03, - 0xda, 0x8d, 0x92, 0x40, 0xce, 0xec, 0x63, 0x30, 0xc7, 0x5b, 0x82, 0x2b, 0xa6, 0xc5, 0x18, 0x61, - 0x6f, 0x14, 0x21, 0x38, 0xdd, 0x36, 0x58, 0xc8, 0xf5, 0xef, 0x56, 0x4d, 0x2b, 0x53, 0x94, 0x7e, - 0xb7, 0x55, 0xcd, 0x39, 0xbc, 0xdb, 0x42, 0x63, 0xae, 0x6e, 0x5a, 0x4b, 0x31, 0xfa, 0xdd, 0x1e, - 0x6d, 0xab, 0x59, 0x07, 0x60, 0x51, 0x6a, 0xa9, 0x5d, 0x35, 0xad, 0xce, 0x70, 0xf6, 0x56, 0x39, - 0x1c, 0xe7, 0x14, 0x82, 0xd7, 0x46, 0x5a, 0x63, 0x1b, 0x05, 0x34, 0x38, 0xd2, 0x7e, 0xa7, 0x2c, - 0x32, 0xe7, 0x60, 0x52, 0xf3, 0x4b, 0xef, 0x60, 0x79, 0xa0, 0xc1, 0xc1, 0xd4, 0x0d, 0x31, 0xeb, - 0x33, 0xf0, 0xfa, 0x68, 0x37, 0xec, 0x5a, 0x01, 0x95, 0x0c, 0x6a, 0xdf, 0x2c, 0x0d, 0xe5, 0x2c, - 0x3f, 0x05, 0xa7, 0xc4, 0xfe, 0xd8, 0x15, 0x1d, 0x05, 0x01, 0x64, 0xbf, 0x5d, 0x02, 0x94, 0xbb, - 0x08, 0x72, 0x2d, 0xa9, 0xb5, 0x02, 0x21, 0xd9, 0x65, 0x73, 0xa3, 0x14, 0x8c, 0xb3, 0x79, 0x06, - 0x96, 0x94, 0x9d, 0xa8, 0xcd, 0x12, 0xb2, 0x72, 0xb4, 0xfd, 0xee, 0x38, 0x68, 0xce, 0xfb, 0x29, - 0x98, 0xcf, 0x5a, 0x50, 0x97, 0x75, 0x24, 0x38, 0xc4, 0xbe, 0x56, 0x08, 0x11, 0x8f, 0xad, 0xd0, - 0x1b, 0xaa, 0x9b, 0x16, 0x52, 0x8c, 0xfe, 0xd8, 0x8e, 0x36, 0x7f, 0xf0, 0xde, 0xe4, 0x3b, 0x3f, - 0x6b, 0x05, 0x8b, 0x29, 0x4c, 0xbf, 0x37, 0xca, 0xee, 0x0e, 0x76, 0xeb, 0xd1, 0xd6, 0x8e, 0xd1, - 0x08, 0x39, 0xa8, 0xde, 0xad, 0xb5, 0x6d, 0x1c, 0xec, 0x0e, 0xca, 0x1e, 0xce, 0x66, 0x39, 0x52, - 0x4c, 0xcf, 0x77, 0xc7, 0x41, 0x8b, 0x47, 0x4a, 0xec, 0xd7, 0x5c, 0x31, 0x10, 0x49, 0x41, 0xfa, - 0x23, 0xa5, 0xe8, 0xd4, 0xb0, 0x6d, 0x13, 0x2e, 0x5b, 0xd3, 0xb6, 0x09, 0x77, 0xed, 0x8d, 0x52, - 0x30, 0x49, 0x0f, 0xde, 0x89, 0x31, 0xe9, 0x91, 0x82, 0x8c, 0x7a, 0xc8, 0xdd, 0x16, 0x1c, 0x35, - 0xa4, 0x56, 0x8b, 0x36, 0x6a, 0xe4, 0x71, 0xfa, 0xa8, 0xa1, 0xe9, 0xb3, 0x1c, 0x82, 0x33, 0x72, - 0xef, 0x64, 0x5d, 0x2f, 0x69, 0x0e, 0xa8, 0xbf, 0xc5, 0x35, 0x0d, 0x10, 0x1c, 0xce, 0x73, 0xdd, - 0x8f, 0xd5, 0x42, 0x02, 0x58, 0xa5, 0xcd, 0x32, 0x28, 0xa5, 0x42, 0xcc, 0xb5, 0x8b, 0x15, 0x62, - 0x5e, 0xdd, 0x28, 0x09, 0x94, 0x73, 0xb9, 0xac, 0xaf, 0x61, 0xcc, 0xe5, 0x38, 0xcc, 0x9c, 0xcb, - 0x8d, 0xb4, 0x20, 0xac, 0x5f, 0x80, 0x37, 0xd4, 0xed, 0x87, 0x1b, 0x85, 0x71, 0x54, 0x84, 0xdb, - 0x77, 0xc6, 0x82, 0x1b, 0xd8, 0xb3, 0xd6, 0x41, 0x59, 0xf6, 0x14, 0x5e, 0x9a, 0x7d, 0xbe, 0xc6, - 0x4f, 0x52, 0xa8, 0x7c, 0x81, 0xff, 0x6a, 0x31, 0x21, 0x8c, 0x33, 0xa4, 0x50, 0xca, 0xaa, 0x3e, - 0xf6, 0xcf, 0x5c, 0x45, 0x7f, 0xd5, 0x18, 0xf4, 0x18, 0xca, 0xde, 0x2c, 0x83, 0x12, 0xb5, 0x91, - 0x8a, 0xe9, 0x5a, 0x6d, 0xf2, 0x38, 0xbd, 0x36, 0xea, 0x3a, 0x3a, 0x0e, 0x2e, 0xa3, 0x45, 0xf4, - 0x6b, 0x05, 0x44, 0x32, 0xa8, 0x3e, 0xb8, 0x68, 0x0b, 0xe8, 0xf8, 0x3c, 0xe4, 0xab, 0xe7, 0x6b, - 0x05, 0x34, 0x28, 0x4c, 0x7f, 0x1e, 0x94, 0xd5, 0x73, 0x7c, 0xc6, 0xe5, 0xd2, 0xf9, 0x7a, 0x89, - 0x7b, 0x0f, 0x03, 0xf5, 0x67, 0x5c, 0x57, 0x28, 0x3f, 0x02, 0x67, 0x55, 0xa5, 0xf0, 0xb7, 0x4b, - 0xd0, 0xe1, 0x2f, 0x92, 0xdb, 0x63, 0x80, 0xa5, 0xe4, 0x40, 0xaa, 0x6e, 0x5f, 0x2b, 0x0a, 0x23, - 0x1c, 0x6a, 0x4c, 0x0e, 0xd4, 0xb5, 0x6b, 0x7a, 0x41, 0x0b, 0x85, 0xeb, 0x55, 0x73, 0x5c, 0xa4, - 0x28, 0xd3, 0x05, 0x3d, 0x5a, 0x9b, 0x4e, 0xef, 0xcc, 0xac, 0x30, 0xbd, 0x56, 0xf4, 0x1c, 0x24, - 0x30, 0xf3, 0x9d, 0x39, 0x5a, 0x73, 0x7e, 0x0a, 0xe6, 0xb3, 0x3a, 0xf2, 0x65, 0xe3, 0x11, 0x25, - 0x7e, 0x71, 0xad, 0x10, 0x22, 0xa5, 0x9e, 0x69, 0x01, 0xd7, 0x94, 0x7a, 0x32, 0x8c, 0x31, 0xf5, - 0x94, 0xaa, 0xb4, 0xd8, 0xb9, 0xe5, 0x12, 0xed, 0x7a, 0xc1, 0xf1, 0x48, 0x81, 0x7a, 0xe7, 0xd6, - 0x14, 0x68, 0xb1, 0x8f, 0x8d, 0x56, 0x67, 0xb5, 0xa6, 0x18, 0x81, 0xea, 0x7d, 0x4c, 0x5b, 0x9f, - 0xc5, 0x3e, 0x96, 0x2b, 0xce, 0x6a, 0x7d, 0x4c, 0x44, 0xe9, 0x7d, 0x4c, 0x55, 0x93, 0xc5, 0x36, - 0x94, 0xeb, 0xb1, 0xeb, 0x25, 0x2b, 0xa6, 0x7a, 0x1b, 0x6a, 0xaa, 0x98, 0x38, 0x1b, 0x14, 0x4b, - 0x98, 0x57, 0x0a, 0xd7, 0xef, 0x22, 0x7d, 0x36, 0xa8, 0x28, 0x4e, 0xe2, 0x90, 0x21, 0x15, 0x26, - 0xaf, 0x16, 0xcb, 0x88, 0x71, 0xfa, 0x90, 0xa1, 0xae, 0x31, 0xe2, 0xc7, 0x81, 0xb2, 0xc0, 0xb8, - 0x59, 0x62, 0x9b, 0x39, 0x5a, 0xff, 0x38, 0x30, 0x55, 0x19, 0xad, 0x16, 0x38, 0x99, 0x96, 0x18, - 0x2f, 0x69, 0xaf, 0x4b, 0x0a, 0xb0, 0xd7, 0x0b, 0x00, 0x29, 0x51, 0x7b, 0xe6, 0x97, 0xaf, 0x9e, - 0x5f, 0xaf, 0x34, 0x9d, 0xaf, 0x5e, 0x2c, 0x57, 0xbe, 0x7e, 0xb1, 0x5c, 0xf9, 0xf7, 0x8b, 0xe5, - 0xca, 0xef, 0x5e, 0x2e, 0x9f, 0xf8, 0xfa, 0xe5, 0xf2, 0x89, 0x7f, 0xbe, 0x5c, 0x3e, 0xf1, 0xc9, - 0xfd, 0xae, 0x9f, 0x1c, 0x0c, 0xda, 0x5b, 0x1e, 0xea, 0x35, 0x76, 0xa1, 0x07, 0xc3, 0x24, 0x72, - 0x03, 0x4c, 0xe2, 0x7b, 0x6e, 0x0f, 0x36, 0xd4, 0x7f, 0x5e, 0x91, 0x1c, 0xf7, 0x61, 0xdc, 0x9e, - 0x25, 0x7f, 0x21, 0x72, 0xfb, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x46, 0xbf, 0xd5, 0x61, 0x7b, - 0x33, 0x00, 0x00, + // 2818 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcd, 0x6f, 0x1c, 0xb7, + 0x15, 0xf7, 0x6a, 0x25, 0x59, 0xa2, 0x65, 0x39, 0x59, 0x2b, 0xce, 0x7a, 0xec, 0xc8, 0xf2, 0x5a, + 0xb2, 0x64, 0x47, 0x96, 0x62, 0x3b, 0xfe, 0xa8, 0xd1, 0xa4, 0xd0, 0x4a, 0x6e, 0x11, 0xa0, 0x8a, + 0xdd, 0x51, 0x13, 0xd7, 0xe9, 0x47, 0xc0, 0x9d, 0xa5, 0x56, 0x53, 0xcd, 0x0e, 0x37, 0x33, 0xb3, + 0xab, 0xc8, 0x40, 0x81, 0x22, 0xbd, 0x14, 0xed, 0xa5, 0xe7, 0xa2, 0x97, 0xde, 0x72, 0x2a, 0x0c, + 0xb4, 0xb7, 0xde, 0xda, 0x4b, 0x0e, 0x3d, 0x04, 0x39, 0xf5, 0x54, 0x14, 0xf6, 0xc1, 0xff, 0x46, + 0xc1, 0x8f, 0xe1, 0x70, 0xb8, 0x24, 0x67, 0x76, 0xdb, 0x5e, 0xec, 0x25, 0xe7, 0xc7, 0xf7, 0xc5, + 0x47, 0xbe, 0xc7, 0xf7, 0x20, 0x70, 0xd1, 0x83, 0x51, 0xdb, 0x3b, 0x80, 0x7e, 0xb8, 0x99, 0xfd, + 0x4a, 0x3e, 0xdf, 0xe8, 0x45, 0x38, 0xc1, 0xb5, 0xb3, 0x62, 0x6e, 0x43, 0xfc, 0x72, 0x5e, 0x87, + 0x5d, 0x3f, 0xc4, 0x9b, 0xf4, 0x5f, 0x86, 0x73, 0xde, 0xf4, 0x70, 0xdc, 0xc5, 0xf1, 0x66, 0x37, + 0xee, 0x6c, 0x0e, 0x6e, 0x92, 0xff, 0xf8, 0x87, 0xf3, 0xec, 0xc3, 0xa7, 0x74, 0xb4, 0xc9, 0x06, + 0xfc, 0xd3, 0x42, 0x07, 0x77, 0x30, 0x9b, 0x27, 0xbf, 0xf8, 0xec, 0x92, 0x4e, 0x9e, 0x1e, 0x8c, + 0x60, 0x37, 0x5d, 0xb7, 0xc8, 0x79, 0xb5, 0x60, 0x8c, 0x36, 0x07, 0x37, 0x5b, 0x28, 0x81, 0x37, + 0x37, 0x3d, 0xec, 0x87, 0x36, 0x0a, 0x03, 0x9c, 0xf8, 0x61, 0x2a, 0xd4, 0x25, 0x1d, 0xa2, 0x0b, + 0x13, 0xef, 0x80, 0x03, 0x2e, 0xeb, 0x00, 0x1e, 0xee, 0x87, 0x9e, 0x1f, 0x08, 0x29, 0x74, 0x10, + 0x18, 0xb5, 0xd9, 0xf7, 0xc6, 0xdf, 0x2b, 0xe0, 0xcc, 0x6e, 0xdc, 0xf9, 0xa8, 0xd7, 0x86, 0x09, + 0x7a, 0x4c, 0xe5, 0xaf, 0xdd, 0x05, 0xb3, 0xb0, 0x9f, 0x1c, 0xe0, 0xc8, 0x4f, 0x8e, 0xeb, 0x95, + 0xa5, 0xca, 0xda, 0x6c, 0xb3, 0xfe, 0xcd, 0x5f, 0x6e, 0x2c, 0x70, 0xb3, 0x6c, 0xb5, 0xdb, 0x11, + 0x8a, 0xe3, 0xbd, 0x24, 0xf2, 0xc3, 0x8e, 0x9b, 0x41, 0x6b, 0xef, 0x83, 0x69, 0x66, 0x81, 0xfa, + 0xc4, 0x52, 0x65, 0xed, 0xd4, 0xad, 0x0b, 0x1b, 0x9a, 0x6d, 0xd9, 0x60, 0x4c, 0x9a, 0xb3, 0x5f, + 0xfd, 0xeb, 0xd2, 0x89, 0x2f, 0x5f, 0x3d, 0xbf, 0x5e, 0x71, 0xf9, 0xaa, 0x07, 0xf7, 0xbf, 0x78, + 0xf5, 0xfc, 0x7a, 0x46, 0xef, 0x37, 0xaf, 0x9e, 0x5f, 0x5f, 0xc9, 0x84, 0xfe, 0x5c, 0x52, 0x40, + 0x91, 0xb8, 0x71, 0x1e, 0xbc, 0xa9, 0x4c, 0xb9, 0x28, 0xee, 0xe1, 0x30, 0x46, 0x8d, 0x0e, 0x38, + 0x4d, 0x3e, 0xc5, 0x28, 0xda, 0x8e, 0x10, 0x4c, 0x50, 0xad, 0x0e, 0x4e, 0x7a, 0xe4, 0x17, 0x8e, + 0x98, 0x6e, 0x6e, 0x3a, 0x24, 0x5f, 0x42, 0x74, 0x44, 0xa0, 0x54, 0x81, 0x59, 0x37, 0x1d, 0xd6, + 0x16, 0xc0, 0x14, 0x0c, 0x7c, 0x18, 0xd7, 0xab, 0x74, 0x9e, 0x0d, 0x1e, 0xcc, 0x11, 0x79, 0xd3, + 0xd5, 0x8d, 0x37, 0xc1, 0x1b, 0x39, 0x46, 0x42, 0x82, 0x2e, 0x78, 0x6d, 0x37, 0xee, 0x6c, 0xc3, + 0xa8, 0xbd, 0xe7, 0x1d, 0xa0, 0x2e, 0x6a, 0xf6, 0x8f, 0x2d, 0x42, 0xdc, 0x04, 0xd5, 0x96, 0xdf, + 0xe6, 0x16, 0x3c, 0xbf, 0xc1, 0x6d, 0x4e, 0x9c, 0x68, 0x83, 0x3b, 0xd1, 0xc6, 0x36, 0xf6, 0xc3, + 0xe6, 0x24, 0xb1, 0x9f, 0x4b, 0xb0, 0x8a, 0x1c, 0xb7, 0x40, 0x5d, 0x65, 0x97, 0x8a, 0x52, 0x3b, + 0x07, 0xa6, 0x89, 0x11, 0x3f, 0x68, 0x53, 0xae, 0x93, 0x2e, 0x1f, 0x35, 0xfe, 0x56, 0x01, 0xb5, + 0x74, 0x11, 0x1c, 0xa0, 0x6d, 0x1c, 0x26, 0x28, 0x4c, 0x2c, 0x52, 0x66, 0x84, 0x26, 0x64, 0x42, + 0x74, 0x05, 0x5b, 0x4c, 0x4d, 0x35, 0xe7, 0xa6, 0x43, 0x62, 0xc2, 0x10, 0x27, 0x28, 0xae, 0x4f, + 0x32, 0x13, 0xd2, 0x01, 0xa1, 0x03, 0xa3, 0xc4, 0x8f, 0x93, 0xfa, 0x14, 0x9d, 0xe6, 0xa3, 0xda, + 0x32, 0x38, 0xdd, 0x82, 0x01, 0x0c, 0x3d, 0xb4, 0x15, 0x7a, 0x07, 0x38, 0xaa, 0x4f, 0x2f, 0x55, + 0xd6, 0x66, 0xdc, 0xfc, 0xa4, 0xa2, 0xf8, 0x0e, 0x70, 0x86, 0x75, 0x10, 0xaa, 0x5f, 0x05, 0xf3, + 0xd0, 0x8f, 0xda, 0x11, 0xee, 0x6d, 0x07, 0xd0, 0xef, 0x22, 0x66, 0x82, 0x19, 0x57, 0x99, 0x6d, + 0xfc, 0x1c, 0x9c, 0xe2, 0x54, 0x3e, 0xc6, 0x56, 0x6f, 0xb9, 0x0d, 0x26, 0x07, 0x38, 0x41, 0x7c, + 0xa7, 0x2e, 0x69, 0x7d, 0x7d, 0xcf, 0x0f, 0x3b, 0x01, 0x22, 0x84, 0x5c, 0x0a, 0x56, 0x24, 0x7e, + 0x0f, 0x9c, 0x95, 0x78, 0x8d, 0x2c, 0x6a, 0x97, 0x1e, 0x5d, 0xb2, 0xfc, 0x87, 0x11, 0x0c, 0xe3, + 0x7d, 0x14, 0x8d, 0xb1, 0x63, 0x0e, 0x98, 0x89, 0x90, 0x87, 0xfc, 0x01, 0x8a, 0xb8, 0x77, 0x8b, + 0xb1, 0x22, 0x2d, 0x3b, 0x64, 0x32, 0x3b, 0xe1, 0xe2, 0xbf, 0xae, 0xd0, 0x53, 0x46, 0xbe, 0xed, + 0xe0, 0xd0, 0x7e, 0xca, 0x4c, 0x82, 0xdc, 0x03, 0xd3, 0xb0, 0x8b, 0xfb, 0xdc, 0x73, 0x4a, 0xf8, + 0x3e, 0x87, 0x6b, 0x8f, 0x61, 0x26, 0x89, 0x90, 0xf1, 0x57, 0x15, 0xf0, 0x3a, 0xff, 0xb2, 0x15, + 0x25, 0x47, 0x38, 0x3a, 0xdc, 0x6a, 0xb7, 0xc7, 0x90, 0x73, 0x01, 0x4c, 0xf9, 0x5d, 0xd8, 0x41, + 0xdc, 0xc1, 0xd9, 0x80, 0xd0, 0xd9, 0xef, 0x07, 0xc1, 0x56, 0x94, 0x50, 0x07, 0x9f, 0x71, 0xd3, + 0xa1, 0x22, 0xde, 0x05, 0x70, 0x7e, 0x48, 0x08, 0xe9, 0xa6, 0x38, 0x9b, 0x7d, 0xf4, 0xe3, 0x64, + 0xfb, 0x00, 0x86, 0x9d, 0x71, 0x6c, 0x99, 0x1d, 0xab, 0xaa, 0x7c, 0xac, 0x14, 0x59, 0xde, 0x02, + 0x17, 0x34, 0xec, 0x84, 0x34, 0xdf, 0x66, 0x77, 0x02, 0x0b, 0x27, 0x2e, 0xea, 0xf8, 0x71, 0x62, + 0xf3, 0x30, 0x85, 0xf8, 0x45, 0x76, 0x1a, 0xf3, 0xab, 0x05, 0xed, 0xf7, 0xc1, 0x42, 0xf6, 0x75, + 0x07, 0x45, 0xa3, 0x52, 0x5f, 0x04, 0x17, 0x75, 0xeb, 0x05, 0xfd, 0x6f, 0x2a, 0x60, 0x7e, 0x37, + 0xee, 0xec, 0x92, 0x60, 0xe9, 0xa2, 0x1e, 0x8e, 0x12, 0xfb, 0xbd, 0x4f, 0xa3, 0xaa, 0x30, 0x63, + 0x3a, 0xac, 0x35, 0xc0, 0x5c, 0x2f, 0x80, 0xc7, 0xa8, 0x4d, 0x8c, 0x14, 0x6f, 0xd5, 0xab, 0x4b, + 0xd5, 0xb5, 0x49, 0x37, 0x37, 0xa7, 0x60, 0x9a, 0xf5, 0xc9, 0x21, 0x4c, 0xb3, 0x76, 0x17, 0x9c, + 0xc4, 0xfd, 0xc4, 0xc3, 0x5d, 0x44, 0xef, 0xb9, 0xf9, 0x5b, 0x17, 0xb5, 0xd7, 0xc5, 0x23, 0x86, + 0x71, 0x53, 0xb0, 0xa2, 0x74, 0x1d, 0x9c, 0xcb, 0xeb, 0x24, 0xd4, 0x75, 0x59, 0x88, 0x61, 0xe6, + 0x28, 0x8c, 0x73, 0x06, 0xaf, 0x51, 0xb8, 0x39, 0x2c, 0x8e, 0xc8, 0x34, 0x05, 0xbf, 0x9f, 0xd2, + 0xab, 0x40, 0x92, 0x04, 0x45, 0x5b, 0xbd, 0x1e, 0xf6, 0xad, 0x31, 0x83, 0xde, 0x34, 0x0c, 0xcc, + 0xe3, 0xab, 0x18, 0x2b, 0xac, 0x2f, 0x83, 0x4b, 0x06, 0xf2, 0x42, 0x82, 0x2f, 0x2b, 0x60, 0x6e, + 0x37, 0xee, 0xec, 0xa1, 0xa4, 0x50, 0xdd, 0x1a, 0x98, 0x0c, 0x61, 0x17, 0x71, 0x9e, 0xf4, 0xb7, + 0xe9, 0x80, 0xd4, 0x96, 0xc0, 0xa9, 0x38, 0xc1, 0xd1, 0xf1, 0x93, 0xc8, 0x27, 0x62, 0xb2, 0x58, + 0x25, 0x4f, 0x91, 0xed, 0x26, 0x21, 0x2d, 0xf2, 0x5b, 0xfd, 0x04, 0x47, 0x71, 0x7d, 0x6a, 0xa9, + 0xba, 0x36, 0xeb, 0xe6, 0xe6, 0x14, 0x6d, 0xce, 0x51, 0x5f, 0x17, 0x92, 0x0a, 0x15, 0x10, 0xbd, + 0x33, 0xc9, 0x3c, 0x39, 0x81, 0xd6, 0xbb, 0x68, 0x01, 0x4c, 0xc5, 0x28, 0x11, 0x1b, 0xc6, 0x06, + 0xd2, 0x3e, 0x56, 0x2d, 0xfb, 0xc8, 0x2e, 0xc4, 0x8c, 0x8d, 0xe0, 0x7f, 0x40, 0x9d, 0x86, 0x7f, + 0x70, 0x51, 0x17, 0x0f, 0xd0, 0xff, 0x49, 0x04, 0xe6, 0x4a, 0x39, 0x4e, 0x92, 0x14, 0xa9, 0x75, + 0x32, 0x0b, 0x8e, 0x63, 0x8c, 0x1a, 0x98, 0xec, 0xc7, 0x22, 0x86, 0xd1, 0xdf, 0xda, 0x3b, 0x63, + 0x88, 0x93, 0x90, 0xe4, 0x90, 0x3a, 0x75, 0xfe, 0xfb, 0x98, 0x66, 0x29, 0x16, 0x86, 0xb9, 0xb8, + 0x8e, 0x99, 0x90, 0xe7, 0x43, 0x7a, 0x85, 0xed, 0xa1, 0xe4, 0xbb, 0x7e, 0x08, 0x03, 0xff, 0xd9, + 0xc8, 0x62, 0x68, 0xaf, 0x0f, 0x89, 0x9e, 0xe0, 0xb4, 0x9f, 0x7a, 0x42, 0xa9, 0xc0, 0xa8, 0x57, + 0x59, 0x1b, 0x16, 0x4d, 0x7e, 0xa0, 0x89, 0x7d, 0xed, 0x54, 0xdb, 0x3d, 0x72, 0xd8, 0xc6, 0x94, + 0x80, 0x1e, 0xd4, 0x34, 0x49, 0xa7, 0x03, 0x93, 0x0d, 0x52, 0x2e, 0x82, 0xff, 0x0f, 0x68, 0x76, + 0xd0, 0xc4, 0x98, 0xc4, 0x91, 0xc7, 0xd0, 0x3b, 0xb4, 0xa7, 0xe9, 0x65, 0x0c, 0xbe, 0x4d, 0x63, + 0x7d, 0x9e, 0xe4, 0xc8, 0x49, 0xde, 0x6f, 0x59, 0x6a, 0xbe, 0x87, 0x82, 0xe0, 0xd1, 0xfe, 0x7e, + 0x89, 0x57, 0x8c, 0x29, 0x27, 0xb8, 0x03, 0xa6, 0x7a, 0x91, 0xef, 0xa1, 0xb2, 0xe9, 0x15, 0x43, + 0x6b, 0xa3, 0xba, 0x22, 0x8c, 0xb0, 0xe1, 0x8f, 0x69, 0x42, 0x2a, 0xbe, 0xda, 0x2d, 0x48, 0xae, + 0xda, 0x14, 0x29, 0x84, 0x95, 0xa7, 0xb4, 0xe9, 0xa7, 0x4c, 0x5c, 0xf0, 0xfd, 0x59, 0xde, 0x44, + 0x85, 0x87, 0x76, 0x54, 0xd6, 0x8a, 0xd6, 0xca, 0x39, 0xfd, 0x63, 0x45, 0x3c, 0xf0, 0x5c, 0x48, + 0x1e, 0xae, 0x7b, 0x28, 0x19, 0x2f, 0xaf, 0x64, 0x1e, 0x55, 0x95, 0x9d, 0xfa, 0x1e, 0x98, 0x8e, + 0x28, 0x51, 0x1a, 0x8b, 0xe6, 0x0d, 0xef, 0x8c, 0x8c, 0xb7, 0xcb, 0xe1, 0xfa, 0x60, 0x2e, 0x8b, + 0x28, 0xe4, 0xff, 0x43, 0x45, 0x8e, 0xf4, 0xe9, 0xf4, 0x36, 0xee, 0x76, 0x7d, 0x9b, 0x1e, 0x17, + 0xc1, 0x2c, 0x2f, 0x35, 0x08, 0x55, 0xb2, 0x09, 0x16, 0xec, 0x19, 0xa5, 0xec, 0x59, 0xc1, 0x5d, + 0x7f, 0x11, 0x80, 0xb8, 0xdf, 0xe9, 0xa0, 0x38, 0xf1, 0x71, 0xc8, 0x63, 0xac, 0x34, 0xa3, 0x88, + 0xde, 0x00, 0x4b, 0x26, 0xe9, 0x84, 0x0a, 0x7f, 0xd6, 0xaa, 0xe0, 0xa2, 0x01, 0x82, 0xc1, 0xd8, + 0x2a, 0x7c, 0x4b, 0x51, 0x61, 0xfe, 0xd6, 0x5b, 0x5a, 0xe3, 0x0b, 0x76, 0x99, 0x86, 0xe7, 0xc0, + 0x74, 0x8c, 0xbc, 0x08, 0x25, 0x5c, 0x3b, 0x3e, 0x2a, 0xa3, 0x19, 0x13, 0x5a, 0x68, 0xf6, 0x94, + 0x3d, 0x5a, 0x04, 0x26, 0x81, 0xd1, 0xd8, 0x9b, 0xa2, 0x7f, 0x8a, 0xe4, 0x48, 0x0b, 0xbe, 0xff, + 0x60, 0x75, 0x21, 0x9a, 0x83, 0x6d, 0xe3, 0x70, 0xdf, 0x8f, 0xba, 0x63, 0x65, 0xd0, 0x52, 0xe6, + 0x5b, 0x1d, 0x21, 0xf3, 0xad, 0x7d, 0x07, 0x00, 0xf2, 0x60, 0x66, 0x09, 0x34, 0xcd, 0xa9, 0x4b, + 0xbc, 0xb1, 0xa5, 0x25, 0xda, 0xcb, 0x43, 0xd6, 0x46, 0x68, 0xba, 0x47, 0x2d, 0xfc, 0x38, 0xc2, + 0xfb, 0x7e, 0x80, 0x68, 0xf5, 0x60, 0x9c, 0xe3, 0xab, 0xb5, 0x6d, 0x9e, 0xa8, 0xe0, 0xf8, 0x23, + 0x9a, 0xf2, 0xf0, 0x8f, 0x4f, 0x50, 0x2b, 0xf6, 0x13, 0x64, 0x67, 0x5a, 0x07, 0x27, 0x8f, 0x18, + 0x2e, 0xad, 0x4c, 0xf1, 0xa1, 0x36, 0xc5, 0x19, 0xa2, 0x2c, 0x38, 0x7f, 0x9f, 0xde, 0x54, 0xfc, + 0x7b, 0xd3, 0xc7, 0x76, 0xae, 0xaf, 0x81, 0x6a, 0xcb, 0xc7, 0x9c, 0x23, 0xf9, 0xa9, 0xbd, 0x54, + 0x72, 0xd4, 0x04, 0xa7, 0x16, 0xbd, 0x92, 0xa5, 0xd8, 0xf7, 0xa8, 0x87, 0x42, 0x0b, 0xaf, 0x65, + 0x70, 0xba, 0x95, 0x81, 0x85, 0x75, 0xf3, 0x93, 0x0a, 0xff, 0xbb, 0xf4, 0x5a, 0x56, 0x78, 0x88, + 0x00, 0x4b, 0x78, 0xd1, 0xad, 0x89, 0xeb, 0x15, 0xfa, 0x24, 0x4b, 0x87, 0x8d, 0x2f, 0x2a, 0x34, + 0x0b, 0x90, 0x16, 0x96, 0xa8, 0x9f, 0x94, 0x12, 0x70, 0x84, 0x6a, 0xca, 0x12, 0x58, 0xd4, 0xcb, + 0x20, 0x4c, 0x38, 0x48, 0x33, 0xe3, 0xbd, 0xec, 0xf9, 0x61, 0xdf, 0x30, 0x7d, 0x5e, 0xa4, 0xbc, + 0x69, 0xaa, 0x43, 0x6f, 0x1a, 0x53, 0x9e, 0x9c, 0xe7, 0x2b, 0x55, 0x54, 0xcf, 0x88, 0x2c, 0xce, + 0x8f, 0x93, 0x71, 0x44, 0x2a, 0x57, 0x9f, 0x48, 0x23, 0x7e, 0xc6, 0x48, 0xc8, 0xf0, 0x99, 0x08, + 0xb9, 0xe4, 0xe0, 0xef, 0xf6, 0x83, 0xc4, 0xb7, 0x08, 0x71, 0x07, 0x4c, 0x0d, 0x68, 0xed, 0x71, + 0xa2, 0xdc, 0x3d, 0xc2, 0xd0, 0x8a, 0x34, 0x4d, 0x11, 0x42, 0x05, 0xcb, 0x91, 0x93, 0xb9, 0x3f, + 0xb1, 0x57, 0x2b, 0xbd, 0x87, 0x0a, 0x0e, 0x44, 0x1d, 0x9c, 0xa4, 0x25, 0x84, 0x68, 0x2b, 0x3d, + 0xf2, 0x7c, 0x98, 0x7d, 0x69, 0x72, 0xeb, 0xa5, 0x43, 0xb2, 0xd3, 0x1c, 0xb4, 0x83, 0xbc, 0x43, + 0x5e, 0x89, 0x90, 0xa7, 0x32, 0x44, 0x93, 0x22, 0xa6, 0x64, 0x04, 0x9d, 0x52, 0x94, 0x7e, 0x87, + 0xfa, 0xa0, 0x90, 0x57, 0x3e, 0x5c, 0xe9, 0x85, 0x5f, 0xc9, 0x5d, 0xf8, 0x0d, 0x98, 0xbe, 0x6a, + 0x3f, 0x84, 0x5d, 0x34, 0x8e, 0x6f, 0xa4, 0xcf, 0xf5, 0x6a, 0xf6, 0x5c, 0x37, 0xbd, 0x68, 0x39, + 0x0b, 0xa9, 0x0c, 0x52, 0xcb, 0x2e, 0xa4, 0xad, 0xc0, 0x87, 0x71, 0xa1, 0x00, 0xac, 0xac, 0x3f, + 0x61, 0x2e, 0xeb, 0xb3, 0xdc, 0x4f, 0xa1, 0x29, 0x71, 0x24, 0xf6, 0x79, 0x08, 0xa3, 0xe0, 0x78, + 0xcb, 0xf3, 0x50, 0x1c, 0x7f, 0x10, 0x0e, 0xfc, 0xa2, 0x6a, 0x44, 0x3f, 0xeb, 0x30, 0x98, 0xdf, + 0xa9, 0x43, 0x34, 0xa5, 0x80, 0x45, 0xce, 0xdf, 0x27, 0x08, 0x06, 0xc7, 0xdb, 0x38, 0x0c, 0x91, + 0x57, 0x10, 0x39, 0x9e, 0x11, 0x24, 0xb7, 0xf2, 0xac, 0x9b, 0x0e, 0xb5, 0x67, 0x4d, 0x26, 0x2a, + 0xf8, 0xfd, 0x7e, 0x82, 0x9a, 0xf5, 0x61, 0x48, 0x12, 0x89, 0xa4, 0xc4, 0x0b, 0x44, 0x57, 0x70, + 0x71, 0xc0, 0x4c, 0x3b, 0x82, 0x47, 0x01, 0x3b, 0xf3, 0xc4, 0xeb, 0xc4, 0xb8, 0xf6, 0x04, 0x00, + 0xda, 0x01, 0x42, 0x09, 0x8a, 0xd2, 0x58, 0x7f, 0x4f, 0x7b, 0x46, 0x87, 0xc5, 0x60, 0xed, 0x24, + 0xba, 0xf2, 0x61, 0x98, 0x44, 0xc7, 0xae, 0x44, 0x2a, 0x7b, 0x93, 0x4e, 0x49, 0x6f, 0x52, 0xe7, + 0x3d, 0x70, 0x46, 0x59, 0x44, 0x22, 0xdd, 0x21, 0xe2, 0xbd, 0x2e, 0x97, 0xfc, 0x24, 0x4b, 0x07, + 0x30, 0xe8, 0xa7, 0x4a, 0xb0, 0xc1, 0x83, 0x89, 0xfb, 0x15, 0xad, 0x7b, 0x28, 0x42, 0x09, 0xd3, + 0x85, 0xf4, 0x51, 0x2b, 0xbe, 0xee, 0x60, 0xfb, 0xa3, 0x04, 0xa5, 0xc0, 0xec, 0x51, 0x22, 0x4d, + 0x95, 0xa8, 0x2a, 0xb0, 0xe7, 0xad, 0xc4, 0x4f, 0xad, 0x7e, 0x67, 0x82, 0x06, 0x38, 0x46, 0xff, + 0x6b, 0x69, 0x88, 0x1d, 0x8f, 0x78, 0x4a, 0x3f, 0xe3, 0x92, 0x9f, 0xda, 0xb4, 0x28, 0x2f, 0x84, + 0x10, 0xf1, 0x23, 0xea, 0x82, 0x92, 0xdf, 0xef, 0xf8, 0xb1, 0xff, 0xdf, 0x1f, 0x27, 0x56, 0x69, + 0xd1, 0x91, 0x15, 0x9c, 0x03, 0x00, 0xf8, 0xd5, 0xde, 0x84, 0xe1, 0xd8, 0xed, 0x4f, 0x53, 0x66, + 0x38, 0x9f, 0x6f, 0x6b, 0x36, 0x16, 0x44, 0xaf, 0xad, 0x09, 0xc5, 0x8d, 0x7a, 0xeb, 0xaf, 0x6b, + 0xa0, 0xba, 0x1b, 0x77, 0x6a, 0x2d, 0x30, 0x97, 0x6b, 0xc6, 0x2e, 0x9b, 0x0e, 0x82, 0x8c, 0x72, + 0xd6, 0xcb, 0xa0, 0xc4, 0xed, 0xfd, 0x13, 0x00, 0xa4, 0x86, 0x68, 0xc3, 0xb8, 0x56, 0x60, 0x9c, + 0xeb, 0xc5, 0x18, 0x41, 0x1d, 0x81, 0xd3, 0xf9, 0x66, 0xe7, 0x8a, 0x69, 0x71, 0x0e, 0xe6, 0xdc, + 0x28, 0x05, 0x13, 0x6c, 0x0e, 0xc1, 0x19, 0xb5, 0x5f, 0xb9, 0x6a, 0xa5, 0x90, 0x01, 0x9d, 0xcd, + 0x92, 0x40, 0xc1, 0xec, 0x63, 0x30, 0x23, 0x5a, 0x82, 0x4b, 0xb6, 0xc5, 0x04, 0xe1, 0xac, 0x15, + 0x21, 0x04, 0xdd, 0x16, 0x98, 0xcb, 0xf5, 0xef, 0x96, 0x6d, 0x2b, 0x53, 0x94, 0x79, 0xb7, 0x75, + 0xcd, 0x39, 0xb2, 0xdb, 0x52, 0x63, 0xae, 0x61, 0x5b, 0xcb, 0x30, 0xe6, 0xdd, 0x1e, 0x6e, 0xab, + 0xd5, 0x0e, 0xc0, 0xbc, 0xd2, 0x52, 0xbb, 0x6a, 0x5b, 0x9d, 0xe1, 0x9c, 0x8d, 0x72, 0x38, 0xc1, + 0x29, 0x04, 0xaf, 0x0d, 0xb5, 0xc6, 0xd6, 0x0a, 0x68, 0x08, 0xa4, 0xf3, 0x4e, 0x59, 0x64, 0xce, + 0xc1, 0x94, 0xe6, 0x97, 0xd9, 0xc1, 0xf2, 0x40, 0x8b, 0x83, 0xe9, 0x1b, 0x62, 0xb5, 0xcf, 0xc0, + 0xeb, 0xc3, 0xdd, 0xb0, 0x6b, 0x05, 0x54, 0x32, 0xa8, 0x73, 0xb3, 0x34, 0x54, 0xb0, 0xfc, 0x14, + 0x9c, 0x92, 0xfb, 0x63, 0x57, 0x4c, 0x14, 0x24, 0x90, 0xf3, 0x76, 0x09, 0x50, 0xee, 0x22, 0xc8, + 0xb5, 0xa4, 0x56, 0x0a, 0x84, 0xe4, 0x97, 0xcd, 0x8d, 0x52, 0x30, 0xc1, 0xe6, 0x19, 0x58, 0xd0, + 0x76, 0xa2, 0xd6, 0x4b, 0xc8, 0x2a, 0xd0, 0xce, 0xbb, 0xa3, 0xa0, 0x05, 0xef, 0xa7, 0x60, 0x36, + 0x6b, 0x41, 0x5d, 0x36, 0x91, 0x10, 0x10, 0xe7, 0x5a, 0x21, 0x44, 0x3e, 0xb6, 0x52, 0x6f, 0xa8, + 0x61, 0x5b, 0xc8, 0x30, 0xe6, 0x63, 0x3b, 0xdc, 0xfc, 0x21, 0x7b, 0x93, 0xef, 0xfc, 0xac, 0x14, + 0x2c, 0x66, 0x30, 0xf3, 0xde, 0x68, 0xbb, 0x3b, 0xc4, 0xad, 0x87, 0x5b, 0x3b, 0x56, 0x23, 0xe4, + 0xa0, 0x66, 0xb7, 0x36, 0xb6, 0x71, 0x88, 0x3b, 0x68, 0x7b, 0x38, 0xeb, 0xe5, 0x48, 0x71, 0x3d, + 0xdf, 0x1d, 0x05, 0x2d, 0x1f, 0x29, 0xb9, 0x5f, 0x73, 0xc5, 0x42, 0x24, 0x05, 0x99, 0x8f, 0x94, + 0xa6, 0x53, 0xc3, 0xb7, 0x4d, 0xba, 0x6c, 0x6d, 0xdb, 0x26, 0xdd, 0xb5, 0x37, 0x4a, 0xc1, 0x14, + 0x3d, 0x44, 0x27, 0xc6, 0xa6, 0x47, 0x0a, 0xb2, 0xea, 0xa1, 0x76, 0x5b, 0x48, 0xd4, 0x50, 0x5a, + 0x2d, 0xc6, 0xa8, 0x91, 0xc7, 0x99, 0xa3, 0x86, 0xa1, 0xcf, 0x72, 0x08, 0xce, 0xa8, 0xbd, 0x93, + 0x55, 0xb3, 0xa4, 0x39, 0xa0, 0xf9, 0x16, 0x37, 0x34, 0x40, 0x48, 0x38, 0xcf, 0x75, 0x3f, 0x96, + 0x0b, 0x09, 0x10, 0x95, 0xd6, 0xcb, 0xa0, 0xb4, 0x0a, 0x71, 0xd7, 0x2e, 0x56, 0x88, 0x7b, 0xf5, + 0x66, 0x49, 0xa0, 0x9a, 0xcb, 0x65, 0x7d, 0x0d, 0x6b, 0x2e, 0x27, 0x60, 0xf6, 0x5c, 0x6e, 0xa8, + 0x05, 0x51, 0xfb, 0x05, 0x78, 0x43, 0xdf, 0x7e, 0xb8, 0x51, 0x18, 0x47, 0x65, 0xb8, 0x73, 0x67, + 0x24, 0xb8, 0x85, 0x3d, 0x6f, 0x1d, 0x94, 0x65, 0xcf, 0xe0, 0xa5, 0xd9, 0xe7, 0x6b, 0xfc, 0x34, + 0x85, 0xca, 0x17, 0xf8, 0xaf, 0x16, 0x13, 0x22, 0x38, 0x4b, 0x0a, 0xa5, 0xad, 0xea, 0x13, 0xff, + 0xcc, 0x55, 0xf4, 0x97, 0xad, 0x41, 0x8f, 0xa3, 0x9c, 0xf5, 0x32, 0x28, 0x59, 0x1b, 0xa5, 0x98, + 0x6e, 0xd4, 0x26, 0x8f, 0x33, 0x6b, 0xa3, 0xaf, 0xa3, 0x93, 0xe0, 0x32, 0x5c, 0x44, 0xbf, 0x56, + 0x40, 0x24, 0x83, 0x9a, 0x83, 0x8b, 0xb1, 0x80, 0x4e, 0xce, 0x43, 0xbe, 0x7a, 0xbe, 0x52, 0x40, + 0x83, 0xc1, 0xcc, 0xe7, 0x41, 0x5b, 0x3d, 0x27, 0x67, 0x5c, 0x2d, 0x9d, 0xaf, 0x96, 0xb8, 0xf7, + 0x08, 0xd0, 0x7c, 0xc6, 0x4d, 0x85, 0xf2, 0x23, 0x70, 0x56, 0x57, 0x0a, 0x7f, 0xbb, 0x04, 0x1d, + 0xf1, 0x22, 0xb9, 0x3d, 0x02, 0x58, 0x49, 0x0e, 0x94, 0xea, 0xf6, 0xb5, 0xa2, 0x30, 0x22, 0xa0, + 0xd6, 0xe4, 0x40, 0x5f, 0xbb, 0x66, 0x17, 0xb4, 0x54, 0xb8, 0x5e, 0xb6, 0xc7, 0x45, 0x86, 0xb2, + 0x5d, 0xd0, 0xc3, 0xb5, 0xe9, 0xf4, 0xce, 0xcc, 0x0a, 0xd3, 0x2b, 0x45, 0xcf, 0x41, 0x0a, 0xb3, + 0xdf, 0x99, 0xc3, 0x35, 0xe7, 0xa7, 0x60, 0x36, 0xab, 0x23, 0x5f, 0xb6, 0x1e, 0x51, 0xea, 0x17, + 0xd7, 0x0a, 0x21, 0x4a, 0xea, 0x99, 0x16, 0x70, 0x6d, 0xa9, 0x27, 0xc7, 0x58, 0x53, 0x4f, 0xa5, + 0x4a, 0x4b, 0x9c, 0x5b, 0x2d, 0xd1, 0xae, 0x16, 0x1c, 0x8f, 0x14, 0x68, 0x76, 0x6e, 0x43, 0x81, + 0x96, 0xf8, 0xd8, 0x70, 0x75, 0xd6, 0x68, 0x8a, 0x21, 0xa8, 0xd9, 0xc7, 0x8c, 0xf5, 0x59, 0xe2, + 0x63, 0xb9, 0xe2, 0xac, 0xd1, 0xc7, 0x64, 0x94, 0xd9, 0xc7, 0x74, 0x35, 0x59, 0x62, 0x43, 0xb5, + 0x1e, 0xbb, 0x5a, 0xb2, 0x62, 0x6a, 0xb6, 0xa1, 0xa1, 0x8a, 0x49, 0xb2, 0x41, 0xb9, 0x84, 0x79, + 0xa5, 0x70, 0xfd, 0x0e, 0x36, 0x67, 0x83, 0x9a, 0xe2, 0x24, 0x09, 0x19, 0x4a, 0x61, 0xf2, 0x6a, + 0xb1, 0x8c, 0x04, 0x67, 0x0e, 0x19, 0xfa, 0x1a, 0x23, 0x79, 0x1c, 0x68, 0x0b, 0x8c, 0xeb, 0x25, + 0xb6, 0x59, 0xa0, 0xcd, 0x8f, 0x03, 0x5b, 0x95, 0xb1, 0xb6, 0x07, 0x4e, 0xa6, 0x25, 0xc6, 0x4b, + 0xb6, 0xa3, 0xde, 0x84, 0xa1, 0xb3, 0x5a, 0x00, 0x48, 0x89, 0x3a, 0x53, 0xbf, 0x7c, 0xf5, 0xfc, + 0x7a, 0xa5, 0xe9, 0x7e, 0xf5, 0x62, 0xb1, 0xf2, 0xf5, 0x8b, 0xc5, 0xca, 0xbf, 0x5f, 0x2c, 0x56, + 0x7e, 0xf7, 0x72, 0xf1, 0xc4, 0xd7, 0x2f, 0x17, 0x4f, 0xfc, 0xf3, 0xe5, 0xe2, 0x89, 0x4f, 0xee, + 0x77, 0xfc, 0xe4, 0xa0, 0xdf, 0xda, 0xf0, 0x70, 0x77, 0x73, 0x07, 0x79, 0x28, 0x4c, 0x22, 0x18, + 0x10, 0x2a, 0xdf, 0x83, 0x5d, 0xb4, 0xa9, 0xff, 0xf3, 0x8a, 0xe4, 0xb8, 0x87, 0xe2, 0xd6, 0x34, + 0xfd, 0x0b, 0x91, 0xdb, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x7c, 0x2c, 0xf7, 0xbf, 0x7b, 0x33, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5089,7 +5089,7 @@ type MsgClient interface { EncounterDo(ctx context.Context, in *MsgEncounterDo, opts ...grpc.CallOption) (*MsgEncounterDoResponse, error) EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) - BanCard(ctx context.Context, in *MsgBanCard, opts ...grpc.CallOption) (*MsgBanCardResponse, error) + CardBan(ctx context.Context, in *MsgCardBan, opts ...grpc.CallOption) (*MsgCardBanResponse, error) } type msgClient struct { @@ -5532,9 +5532,9 @@ func (c *msgClient) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccess return out, nil } -func (c *msgClient) BanCard(ctx context.Context, in *MsgBanCard, opts ...grpc.CallOption) (*MsgBanCardResponse, error) { - out := new(MsgBanCardResponse) - err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/BanCard", in, out, opts...) +func (c *msgClient) CardBan(ctx context.Context, in *MsgCardBan, opts ...grpc.CallOption) (*MsgCardBanResponse, error) { + out := new(MsgCardBanResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardBan", in, out, opts...) if err != nil { return nil, err } @@ -5593,7 +5593,7 @@ type MsgServer interface { EncounterDo(context.Context, *MsgEncounterDo) (*MsgEncounterDoResponse, error) EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) - BanCard(context.Context, *MsgBanCard) (*MsgBanCardResponse, error) + CardBan(context.Context, *MsgCardBan) (*MsgCardBanResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -5744,8 +5744,8 @@ func (*UnimplementedMsgServer) EncounterClose(ctx context.Context, req *MsgEncou func (*UnimplementedMsgServer) EarlyAccessDisinvite(ctx context.Context, req *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessDisinvite not implemented") } -func (*UnimplementedMsgServer) BanCard(ctx context.Context, req *MsgBanCard) (*MsgBanCardResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BanCard not implemented") +func (*UnimplementedMsgServer) CardBan(ctx context.Context, req *MsgCardBan) (*MsgCardBanResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardBan not implemented") } func RegisterMsgServer(s grpc1.Server, srv MsgServer) { @@ -6616,20 +6616,20 @@ func _Msg_EarlyAccessDisinvite_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Msg_BanCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgBanCard) +func _Msg_CardBan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardBan) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).BanCard(ctx, in) + return srv.(MsgServer).CardBan(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cardchain.cardchain.Msg/BanCard", + FullMethod: "/cardchain.cardchain.Msg/CardBan", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).BanCard(ctx, req.(*MsgBanCard)) + return srv.(MsgServer).CardBan(ctx, req.(*MsgCardBan)) } return interceptor(ctx, in, info, handler) } @@ -6832,8 +6832,8 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Handler: _Msg_EarlyAccessDisinvite_Handler, }, { - MethodName: "BanCard", - Handler: _Msg_BanCard_Handler, + MethodName: "CardBan", + Handler: _Msg_CardBan_Handler, }, }, Streams: []grpc.StreamDesc{}, @@ -10115,7 +10115,7 @@ func (m *MsgEarlyAccessDisinviteResponse) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } -func (m *MsgBanCard) Marshal() (dAtA []byte, err error) { +func (m *MsgCardBan) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -10125,12 +10125,12 @@ func (m *MsgBanCard) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBanCard) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardBan) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBanCard) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardBan) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -10150,7 +10150,7 @@ func (m *MsgBanCard) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgBanCardResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCardBanResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -10160,12 +10160,12 @@ func (m *MsgBanCardResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBanCardResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCardBanResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBanCardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCardBanResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -11601,7 +11601,7 @@ func (m *MsgEarlyAccessDisinviteResponse) Size() (n int) { return n } -func (m *MsgBanCard) Size() (n int) { +func (m *MsgCardBan) Size() (n int) { if m == nil { return 0 } @@ -11617,7 +11617,7 @@ func (m *MsgBanCard) Size() (n int) { return n } -func (m *MsgBanCardResponse) Size() (n int) { +func (m *MsgCardBanResponse) Size() (n int) { if m == nil { return 0 } @@ -20847,7 +20847,7 @@ func (m *MsgEarlyAccessDisinviteResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBanCard) Unmarshal(dAtA []byte) error { +func (m *MsgCardBan) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20870,10 +20870,10 @@ func (m *MsgBanCard) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBanCard: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardBan: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBanCard: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardBan: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -20948,7 +20948,7 @@ func (m *MsgBanCard) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBanCardResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCardBanResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20971,10 +20971,10 @@ func (m *MsgBanCardResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBanCardResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCardBanResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBanCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCardBanResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: From b826549522881e7fed61cd085672e45b6e1655a1 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 18 Feb 2025 13:05:23 +0100 Subject: [PATCH 68/99] feat(#242): Added EarlyAccessGrant --- api/cardchain/cardchain/tx.pulsar.go | 1773 +++++++++++++---- api/cardchain/cardchain/tx_grpc.pb.go | 37 + docs/static/openapi.yml | 2 +- gen.sh | 2 +- proto/cardchain/cardchain/tx.proto | 11 +- .../keeper/msg_server_early_access_grant.go | 29 + x/cardchain/module/autocli.go | 6 + x/cardchain/module/simulation.go | 23 + x/cardchain/simulation/early_access_grant.go | 29 + x/cardchain/types/codec.go | 3 + .../types/message_early_access_grant.go | 24 + .../types/message_early_access_grant_test.go | 40 + x/cardchain/types/tx.pb.go | 737 +++++-- 13 files changed, 2156 insertions(+), 560 deletions(-) create mode 100644 x/cardchain/keeper/msg_server_early_access_grant.go create mode 100644 x/cardchain/simulation/early_access_grant.go create mode 100644 x/cardchain/types/message_early_access_grant.go create mode 100644 x/cardchain/types/message_early_access_grant_test.go diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index a8f22541..d92e1c57 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -44815,6 +44815,906 @@ func (x *fastReflection_MsgCardBanResponse) ProtoMethods() *protoiface.Methods { } } +var _ protoreflect.List = (*_MsgEarlyAccessGrant_2_list)(nil) + +type _MsgEarlyAccessGrant_2_list struct { + list *[]string +} + +func (x *_MsgEarlyAccessGrant_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgEarlyAccessGrant_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_MsgEarlyAccessGrant_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_MsgEarlyAccessGrant_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgEarlyAccessGrant_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgEarlyAccessGrant at list field Users as it is not of Message kind")) +} + +func (x *_MsgEarlyAccessGrant_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_MsgEarlyAccessGrant_2_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_MsgEarlyAccessGrant_2_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MsgEarlyAccessGrant protoreflect.MessageDescriptor + fd_MsgEarlyAccessGrant_authority protoreflect.FieldDescriptor + fd_MsgEarlyAccessGrant_users protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgEarlyAccessGrant = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgEarlyAccessGrant") + fd_MsgEarlyAccessGrant_authority = md_MsgEarlyAccessGrant.Fields().ByName("authority") + fd_MsgEarlyAccessGrant_users = md_MsgEarlyAccessGrant.Fields().ByName("users") +} + +var _ protoreflect.Message = (*fastReflection_MsgEarlyAccessGrant)(nil) + +type fastReflection_MsgEarlyAccessGrant MsgEarlyAccessGrant + +func (x *MsgEarlyAccessGrant) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEarlyAccessGrant)(x) +} + +func (x *MsgEarlyAccessGrant) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[98] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgEarlyAccessGrant_messageType fastReflection_MsgEarlyAccessGrant_messageType +var _ protoreflect.MessageType = fastReflection_MsgEarlyAccessGrant_messageType{} + +type fastReflection_MsgEarlyAccessGrant_messageType struct{} + +func (x fastReflection_MsgEarlyAccessGrant_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEarlyAccessGrant)(nil) +} +func (x fastReflection_MsgEarlyAccessGrant_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEarlyAccessGrant) +} +func (x fastReflection_MsgEarlyAccessGrant_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEarlyAccessGrant +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgEarlyAccessGrant) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEarlyAccessGrant +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgEarlyAccessGrant) Type() protoreflect.MessageType { + return _fastReflection_MsgEarlyAccessGrant_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgEarlyAccessGrant) New() protoreflect.Message { + return new(fastReflection_MsgEarlyAccessGrant) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgEarlyAccessGrant) Interface() protoreflect.ProtoMessage { + return (*MsgEarlyAccessGrant)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgEarlyAccessGrant) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgEarlyAccessGrant_authority, value) { + return + } + } + if len(x.Users) != 0 { + value := protoreflect.ValueOfList(&_MsgEarlyAccessGrant_2_list{list: &x.Users}) + if !f(fd_MsgEarlyAccessGrant_users, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgEarlyAccessGrant) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgEarlyAccessGrant.authority": + return x.Authority != "" + case "cardchain.cardchain.MsgEarlyAccessGrant.users": + return len(x.Users) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessGrant")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessGrant does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessGrant) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgEarlyAccessGrant.authority": + x.Authority = "" + case "cardchain.cardchain.MsgEarlyAccessGrant.users": + x.Users = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessGrant")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessGrant does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgEarlyAccessGrant) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgEarlyAccessGrant.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgEarlyAccessGrant.users": + if len(x.Users) == 0 { + return protoreflect.ValueOfList(&_MsgEarlyAccessGrant_2_list{}) + } + listValue := &_MsgEarlyAccessGrant_2_list{list: &x.Users} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessGrant")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessGrant does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessGrant) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgEarlyAccessGrant.authority": + x.Authority = value.Interface().(string) + case "cardchain.cardchain.MsgEarlyAccessGrant.users": + lv := value.List() + clv := lv.(*_MsgEarlyAccessGrant_2_list) + x.Users = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessGrant")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessGrant does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessGrant) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgEarlyAccessGrant.users": + if x.Users == nil { + x.Users = []string{} + } + value := &_MsgEarlyAccessGrant_2_list{list: &x.Users} + return protoreflect.ValueOfList(value) + case "cardchain.cardchain.MsgEarlyAccessGrant.authority": + panic(fmt.Errorf("field authority of message cardchain.cardchain.MsgEarlyAccessGrant is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessGrant")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessGrant does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgEarlyAccessGrant) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgEarlyAccessGrant.authority": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgEarlyAccessGrant.users": + list := []string{} + return protoreflect.ValueOfList(&_MsgEarlyAccessGrant_2_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessGrant")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessGrant does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgEarlyAccessGrant) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgEarlyAccessGrant", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgEarlyAccessGrant) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessGrant) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgEarlyAccessGrant) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgEarlyAccessGrant) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgEarlyAccessGrant) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Users) > 0 { + for _, s := range x.Users { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgEarlyAccessGrant) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Users) > 0 { + for iNdEx := len(x.Users) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Users[iNdEx]) + copy(dAtA[i:], x.Users[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Users[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgEarlyAccessGrant) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEarlyAccessGrant: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEarlyAccessGrant: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Users", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Users = append(x.Users, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgEarlyAccessGrantResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgEarlyAccessGrantResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgEarlyAccessGrantResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgEarlyAccessGrantResponse)(nil) + +type fastReflection_MsgEarlyAccessGrantResponse MsgEarlyAccessGrantResponse + +func (x *MsgEarlyAccessGrantResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEarlyAccessGrantResponse)(x) +} + +func (x *MsgEarlyAccessGrantResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[99] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgEarlyAccessGrantResponse_messageType fastReflection_MsgEarlyAccessGrantResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgEarlyAccessGrantResponse_messageType{} + +type fastReflection_MsgEarlyAccessGrantResponse_messageType struct{} + +func (x fastReflection_MsgEarlyAccessGrantResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEarlyAccessGrantResponse)(nil) +} +func (x fastReflection_MsgEarlyAccessGrantResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEarlyAccessGrantResponse) +} +func (x fastReflection_MsgEarlyAccessGrantResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEarlyAccessGrantResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgEarlyAccessGrantResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEarlyAccessGrantResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgEarlyAccessGrantResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgEarlyAccessGrantResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgEarlyAccessGrantResponse) New() protoreflect.Message { + return new(fastReflection_MsgEarlyAccessGrantResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgEarlyAccessGrantResponse) Interface() protoreflect.ProtoMessage { + return (*MsgEarlyAccessGrantResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgEarlyAccessGrantResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgEarlyAccessGrantResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessGrantResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessGrantResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessGrantResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessGrantResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessGrantResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgEarlyAccessGrantResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessGrantResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessGrantResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessGrantResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessGrantResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessGrantResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessGrantResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessGrantResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessGrantResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgEarlyAccessGrantResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgEarlyAccessGrantResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgEarlyAccessGrantResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgEarlyAccessGrantResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgEarlyAccessGrantResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgEarlyAccessGrantResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEarlyAccessGrantResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgEarlyAccessGrantResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgEarlyAccessGrantResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgEarlyAccessGrantResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgEarlyAccessGrantResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgEarlyAccessGrantResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEarlyAccessGrantResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEarlyAccessGrantResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -48614,6 +49514,75 @@ func (*MsgCardBanResponse) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{97} } +type MsgEarlyAccessGrant struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + Users []string `protobuf:"bytes,2,rep,name=users,proto3" json:"users,omitempty"` +} + +func (x *MsgEarlyAccessGrant) Reset() { + *x = MsgEarlyAccessGrant{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgEarlyAccessGrant) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgEarlyAccessGrant) ProtoMessage() {} + +// Deprecated: Use MsgEarlyAccessGrant.ProtoReflect.Descriptor instead. +func (*MsgEarlyAccessGrant) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{98} +} + +func (x *MsgEarlyAccessGrant) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgEarlyAccessGrant) GetUsers() []string { + if x != nil { + return x.Users + } + return nil +} + +type MsgEarlyAccessGrantResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgEarlyAccessGrantResponse) Reset() { + *x = MsgEarlyAccessGrantResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgEarlyAccessGrantResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgEarlyAccessGrantResponse) ProtoMessage() {} + +// Deprecated: Use MsgEarlyAccessGrantResponse.ProtoReflect.Descriptor instead. +func (*MsgEarlyAccessGrantResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{99} +} + var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ @@ -49111,344 +50080,360 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x14, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x32, 0xbb, 0x28, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, - 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, - 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, - 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, - 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, - 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, + 0x65, 0x22, 0x73, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, + 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, + 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xab, 0x29, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, + 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, + 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, + 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, + 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, - 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, + 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, + 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, + 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, + 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, + 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, - 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, + 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, + 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, + 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, - 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, + 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, + 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, - 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, - 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, + 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, + 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, - 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, + 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, - 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, - 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, - 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, - 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, - 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, - 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, + 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, + 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, + 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, + 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, + 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, - 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, + 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, + 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, + 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, - 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, - 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, - 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, - 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, - 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, - 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, - 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, + 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, + 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, - 0x65, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, - 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, - 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, - 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, - 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, - 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, - 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, - 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, - 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, - 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, - 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x72, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, - 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, + 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, + 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, + 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, - 0x6c, 0x74, 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, - 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, - 0x65, 0x6e, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, - 0x0a, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, + 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, - 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, + 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, + 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, + 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, + 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, + 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, + 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, - 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, - 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, + 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, + 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, + 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, - 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, + 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6b, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, + 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, + 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, + 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, + 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, - 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, - 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, - 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, + 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, + 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, + 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, + 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, + 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x45, 0x61, 0x72, 0x6c, 0x79, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, - 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x34, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x12, 0x1f, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x1a, - 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, - 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, + 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, + 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x2e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, + 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x45, + 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, + 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x42, + 0x61, 0x6e, 0x12, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, + 0x42, 0x61, 0x6e, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x42, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, + 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, + 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, + 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, + 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -49463,7 +50448,7 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 99) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 101) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse @@ -49563,27 +50548,29 @@ var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgEarlyAccessDisinviteResponse)(nil), // 95: cardchain.cardchain.MsgEarlyAccessDisinviteResponse (*MsgCardBan)(nil), // 96: cardchain.cardchain.MsgCardBan (*MsgCardBanResponse)(nil), // 97: cardchain.cardchain.MsgCardBanResponse - nil, // 98: cardchain.cardchain.MsgEncounterCreate.ParametersEntry - (*Params)(nil), // 99: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 100: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 101: cardchain.cardchain.SingleVote - (Outcome)(0), // 102: cardchain.cardchain.Outcome - (CardRarity)(0), // 103: cardchain.cardchain.CardRarity - (Response)(0), // 104: cardchain.cardchain.Response + (*MsgEarlyAccessGrant)(nil), // 98: cardchain.cardchain.MsgEarlyAccessGrant + (*MsgEarlyAccessGrantResponse)(nil), // 99: cardchain.cardchain.MsgEarlyAccessGrantResponse + nil, // 100: cardchain.cardchain.MsgEncounterCreate.ParametersEntry + (*Params)(nil), // 101: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 102: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 103: cardchain.cardchain.SingleVote + (Outcome)(0), // 104: cardchain.cardchain.Outcome + (CardRarity)(0), // 105: cardchain.cardchain.CardRarity + (Response)(0), // 106: cardchain.cardchain.Response } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 99, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 100, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 101, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 100, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 102, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome - 100, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin - 103, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity - 104, // 7: cardchain.cardchain.MsgCouncilResponseReveal.response:type_name -> cardchain.cardchain.Response - 102, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome - 101, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote - 101, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote - 98, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry + 101, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 102, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 103, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 102, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 104, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 102, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin + 105, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity + 106, // 7: cardchain.cardchain.MsgCouncilResponseReveal.response:type_name -> cardchain.cardchain.Response + 104, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome + 103, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote + 103, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote + 100, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry 0, // 12: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams 2, // 13: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate 4, // 14: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy @@ -49633,57 +50620,59 @@ var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ 92, // 58: cardchain.cardchain.Msg.EncounterClose:input_type -> cardchain.cardchain.MsgEncounterClose 94, // 59: cardchain.cardchain.Msg.EarlyAccessDisinvite:input_type -> cardchain.cardchain.MsgEarlyAccessDisinvite 96, // 60: cardchain.cardchain.Msg.CardBan:input_type -> cardchain.cardchain.MsgCardBan - 1, // 61: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 62: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 63: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 64: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 65: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 66: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 67: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 68: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 69: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 70: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 71: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 72: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 25, // 73: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse - 27, // 74: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse - 29, // 75: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse - 31, // 76: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse - 33, // 77: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse - 35, // 78: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse - 37, // 79: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse - 39, // 80: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse - 41, // 81: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse - 43, // 82: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse - 45, // 83: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse - 47, // 84: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse - 49, // 85: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse - 51, // 86: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse - 53, // 87: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse - 55, // 88: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse - 57, // 89: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse - 59, // 90: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse - 61, // 91: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse - 63, // 92: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse - 65, // 93: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse - 67, // 94: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse - 69, // 95: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse - 71, // 96: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse - 73, // 97: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse - 75, // 98: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse - 77, // 99: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse - 79, // 100: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse - 81, // 101: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse - 83, // 102: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse - 85, // 103: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse - 87, // 104: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse - 89, // 105: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse - 91, // 106: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse - 93, // 107: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse - 95, // 108: cardchain.cardchain.Msg.EarlyAccessDisinvite:output_type -> cardchain.cardchain.MsgEarlyAccessDisinviteResponse - 97, // 109: cardchain.cardchain.Msg.CardBan:output_type -> cardchain.cardchain.MsgCardBanResponse - 61, // [61:110] is the sub-list for method output_type - 12, // [12:61] is the sub-list for method input_type + 98, // 61: cardchain.cardchain.Msg.EarlyAccessGrant:input_type -> cardchain.cardchain.MsgEarlyAccessGrant + 1, // 62: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 63: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 64: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 65: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 66: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 67: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 68: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 69: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 70: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 71: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 72: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 73: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 25, // 74: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse + 27, // 75: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse + 29, // 76: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse + 31, // 77: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse + 33, // 78: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse + 35, // 79: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse + 37, // 80: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse + 39, // 81: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse + 41, // 82: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse + 43, // 83: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse + 45, // 84: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse + 47, // 85: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse + 49, // 86: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse + 51, // 87: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse + 53, // 88: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse + 55, // 89: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse + 57, // 90: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse + 59, // 91: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse + 61, // 92: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse + 63, // 93: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse + 65, // 94: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse + 67, // 95: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse + 69, // 96: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse + 71, // 97: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse + 73, // 98: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse + 75, // 99: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse + 77, // 100: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse + 79, // 101: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse + 81, // 102: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse + 83, // 103: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse + 85, // 104: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse + 87, // 105: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse + 89, // 106: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse + 91, // 107: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse + 93, // 108: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse + 95, // 109: cardchain.cardchain.Msg.EarlyAccessDisinvite:output_type -> cardchain.cardchain.MsgEarlyAccessDisinviteResponse + 97, // 110: cardchain.cardchain.Msg.CardBan:output_type -> cardchain.cardchain.MsgCardBanResponse + 99, // 111: cardchain.cardchain.Msg.EarlyAccessGrant:output_type -> cardchain.cardchain.MsgEarlyAccessGrantResponse + 62, // [62:112] is the sub-list for method output_type + 12, // [12:62] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name @@ -50876,6 +51865,30 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } + file_cardchain_cardchain_tx_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEarlyAccessGrant); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEarlyAccessGrantResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -50883,7 +51896,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 99, + NumMessages: 101, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index f2947f6a..f101c641 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -68,6 +68,7 @@ const ( Msg_EncounterClose_FullMethodName = "/cardchain.cardchain.Msg/EncounterClose" Msg_EarlyAccessDisinvite_FullMethodName = "/cardchain.cardchain.Msg/EarlyAccessDisinvite" Msg_CardBan_FullMethodName = "/cardchain.cardchain.Msg/CardBan" + Msg_EarlyAccessGrant_FullMethodName = "/cardchain.cardchain.Msg/EarlyAccessGrant" ) // MsgClient is the client API for Msg service. @@ -125,6 +126,7 @@ type MsgClient interface { EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) CardBan(ctx context.Context, in *MsgCardBan, opts ...grpc.CallOption) (*MsgCardBanResponse, error) + EarlyAccessGrant(ctx context.Context, in *MsgEarlyAccessGrant, opts ...grpc.CallOption) (*MsgEarlyAccessGrantResponse, error) } type msgClient struct { @@ -576,6 +578,15 @@ func (c *msgClient) CardBan(ctx context.Context, in *MsgCardBan, opts ...grpc.Ca return out, nil } +func (c *msgClient) EarlyAccessGrant(ctx context.Context, in *MsgEarlyAccessGrant, opts ...grpc.CallOption) (*MsgEarlyAccessGrantResponse, error) { + out := new(MsgEarlyAccessGrantResponse) + err := c.cc.Invoke(ctx, Msg_EarlyAccessGrant_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -631,6 +642,7 @@ type MsgServer interface { EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) CardBan(context.Context, *MsgCardBan) (*MsgCardBanResponse, error) + EarlyAccessGrant(context.Context, *MsgEarlyAccessGrant) (*MsgEarlyAccessGrantResponse, error) mustEmbedUnimplementedMsgServer() } @@ -785,6 +797,9 @@ func (UnimplementedMsgServer) EarlyAccessDisinvite(context.Context, *MsgEarlyAcc func (UnimplementedMsgServer) CardBan(context.Context, *MsgCardBan) (*MsgCardBanResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CardBan not implemented") } +func (UnimplementedMsgServer) EarlyAccessGrant(context.Context, *MsgEarlyAccessGrant) (*MsgEarlyAccessGrantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessGrant not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -1680,6 +1695,24 @@ func _Msg_CardBan_Handler(srv interface{}, ctx context.Context, dec func(interfa return interceptor(ctx, in, info, handler) } +func _Msg_EarlyAccessGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEarlyAccessGrant) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).EarlyAccessGrant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_EarlyAccessGrant_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EarlyAccessGrant(ctx, req.(*MsgEarlyAccessGrant)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1883,6 +1916,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "CardBan", Handler: _Msg_CardBan_Handler, }, + { + MethodName: "EarlyAccessGrant", + Handler: _Msg_EarlyAccessGrant_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 60a9c995..6c2915f5 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh index d83db7c3..bbba6f9c 100755 --- a/gen.sh +++ b/gen.sh @@ -50,4 +50,4 @@ #ignite scaffold message EncounterDo encounterId:uint user #ignite scaffold message EncounterClose encounterId:uint user won:bool #ignite scaffold message CardBan cardId:uint --signer authority -y -#ignite scaffold message CardBan cardId:uint --signer authority -y +ignite scaffold message EarlyAccessGrant user --signer authority -y diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 5ca27a2e..498518bc 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -82,6 +82,8 @@ service Msg { rpc EarlyAccessDisinvite(MsgEarlyAccessDisinvite) returns (MsgEarlyAccessDisinviteResponse); rpc CardBan(MsgCardBan) returns (MsgCardBanResponse); + rpc EarlyAccessGrant(MsgEarlyAccessGrant) + returns (MsgEarlyAccessGrantResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -523,9 +525,16 @@ message MsgEarlyAccessDisinviteResponse {} message MsgCardBan { option (cosmos.msg.v1.signer) = "authority"; - string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; uint64 cardId = 2; } message MsgCardBanResponse {} + +message MsgEarlyAccessGrant { + option (cosmos.msg.v1.signer) = "authority"; + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + repeated string users = 2; +} + +message MsgEarlyAccessGrantResponse {} diff --git a/x/cardchain/keeper/msg_server_early_access_grant.go b/x/cardchain/keeper/msg_server_early_access_grant.go new file mode 100644 index 00000000..50a3dc39 --- /dev/null +++ b/x/cardchain/keeper/msg_server_early_access_grant.go @@ -0,0 +1,29 @@ +package keeper + +import ( + "context" + + errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) EarlyAccessGrant(goCtx context.Context, msg *types.MsgEarlyAccessGrant) (*types.MsgEarlyAccessGrantResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + if k.authority != msg.Authority { + return nil, errorsmod.Wrapf(types.ErrInvalidSigner, "expected %s got %s", k.authority, msg.Authority) + } + + for _, addr := range msg.Users { + user, err := k.GetUserFromString(ctx, addr) + if err != nil { + return nil, err + } + + user.AddEarlyAccess(msg.Authority) + + k.SetUserFromUser(ctx, user) + } + return &types.MsgEarlyAccessGrantResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index c73a8113..7ff9f33b 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -465,6 +465,12 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Send a CardBan tx", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}}, }, + { + RpcMethod: "EarlyAccessGrant", + Use: "early-access-grant [users]", + Short: "Send a EarlyAccessGrant tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "users"}}, + }, // this line is used by ignite scaffolding # autocli/tx }, }, diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index d746fcb4..ec170c13 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -215,6 +215,10 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgCardBan int = 100 + opWeightMsgEarlyAccessGrant = "op_weight_msg_early_access_grant" + // TODO: Determine the simulation weight value + defaultWeightMsgEarlyAccessGrant int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -766,6 +770,17 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgCardBan(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgEarlyAccessGrant int + simState.AppParams.GetOrGenerate(opWeightMsgEarlyAccessGrant, &weightMsgEarlyAccessGrant, nil, + func(_ *rand.Rand) { + weightMsgEarlyAccessGrant = defaultWeightMsgEarlyAccessGrant + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgEarlyAccessGrant, + cardchainsimulation.SimulateMsgEarlyAccessGrant(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -1158,6 +1173,14 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei return nil }, ), + simulation.NewWeightedProposalMsg( + opWeightMsgEarlyAccessGrant, + defaultWeightMsgEarlyAccessGrant, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgEarlyAccessGrant(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/early_access_grant.go b/x/cardchain/simulation/early_access_grant.go new file mode 100644 index 00000000..d88030e5 --- /dev/null +++ b/x/cardchain/simulation/early_access_grant.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 SimulateMsgEarlyAccessGrant( + 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.MsgEarlyAccessGrant{ + Authority: simAccount.Address.String(), + } + + // TODO: Handling the EarlyAccessGrant simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "EarlyAccessGrant simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 4a884cc0..81a30750 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -152,6 +152,9 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgCardBan{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgEarlyAccessGrant{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/cardchain/types/message_early_access_grant.go b/x/cardchain/types/message_early_access_grant.go new file mode 100644 index 00000000..44224be2 --- /dev/null +++ b/x/cardchain/types/message_early_access_grant.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgEarlyAccessGrant{} + +func NewMsgEarlyAccessGrant(authority string, users []string) *MsgEarlyAccessGrant { + return &MsgEarlyAccessGrant{ + Authority: authority, + Users: users, + } +} + +func (msg *MsgEarlyAccessGrant) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Authority) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid authority address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_early_access_grant_test.go b/x/cardchain/types/message_early_access_grant_test.go new file mode 100644 index 00000000..089cabbd --- /dev/null +++ b/x/cardchain/types/message_early_access_grant_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgEarlyAccessGrant_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgEarlyAccessGrant + err error + }{ + { + name: "invalid address", + msg: MsgEarlyAccessGrant{ + Authority: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgEarlyAccessGrant{ + Authority: 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/tx.pb.go b/x/cardchain/types/tx.pb.go index 46b29b52..54255f34 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -4742,6 +4742,94 @@ func (m *MsgCardBanResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCardBanResponse proto.InternalMessageInfo +type MsgEarlyAccessGrant struct { + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + Users []string `protobuf:"bytes,2,rep,name=users,proto3" json:"users,omitempty"` +} + +func (m *MsgEarlyAccessGrant) Reset() { *m = MsgEarlyAccessGrant{} } +func (m *MsgEarlyAccessGrant) String() string { return proto.CompactTextString(m) } +func (*MsgEarlyAccessGrant) ProtoMessage() {} +func (*MsgEarlyAccessGrant) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{98} +} +func (m *MsgEarlyAccessGrant) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgEarlyAccessGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEarlyAccessGrant.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 *MsgEarlyAccessGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEarlyAccessGrant.Merge(m, src) +} +func (m *MsgEarlyAccessGrant) XXX_Size() int { + return m.Size() +} +func (m *MsgEarlyAccessGrant) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEarlyAccessGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgEarlyAccessGrant proto.InternalMessageInfo + +func (m *MsgEarlyAccessGrant) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgEarlyAccessGrant) GetUsers() []string { + if m != nil { + return m.Users + } + return nil +} + +type MsgEarlyAccessGrantResponse struct { +} + +func (m *MsgEarlyAccessGrantResponse) Reset() { *m = MsgEarlyAccessGrantResponse{} } +func (m *MsgEarlyAccessGrantResponse) String() string { return proto.CompactTextString(m) } +func (*MsgEarlyAccessGrantResponse) ProtoMessage() {} +func (*MsgEarlyAccessGrantResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{99} +} +func (m *MsgEarlyAccessGrantResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgEarlyAccessGrantResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEarlyAccessGrantResponse.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 *MsgEarlyAccessGrantResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEarlyAccessGrantResponse.Merge(m, src) +} +func (m *MsgEarlyAccessGrantResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgEarlyAccessGrantResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEarlyAccessGrantResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgEarlyAccessGrantResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") @@ -4842,188 +4930,193 @@ func init() { proto.RegisterType((*MsgEarlyAccessDisinviteResponse)(nil), "cardchain.cardchain.MsgEarlyAccessDisinviteResponse") proto.RegisterType((*MsgCardBan)(nil), "cardchain.cardchain.MsgCardBan") proto.RegisterType((*MsgCardBanResponse)(nil), "cardchain.cardchain.MsgCardBanResponse") + proto.RegisterType((*MsgEarlyAccessGrant)(nil), "cardchain.cardchain.MsgEarlyAccessGrant") + proto.RegisterType((*MsgEarlyAccessGrantResponse)(nil), "cardchain.cardchain.MsgEarlyAccessGrantResponse") } func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2818 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcd, 0x6f, 0x1c, 0xb7, - 0x15, 0xf7, 0x6a, 0x25, 0x59, 0xa2, 0x65, 0x39, 0x59, 0x2b, 0xce, 0x7a, 0xec, 0xc8, 0xf2, 0x5a, - 0xb2, 0x64, 0x47, 0x96, 0x62, 0x3b, 0xfe, 0xa8, 0xd1, 0xa4, 0xd0, 0x4a, 0x6e, 0x11, 0xa0, 0x8a, - 0xdd, 0x51, 0x13, 0xd7, 0xe9, 0x47, 0xc0, 0x9d, 0xa5, 0x56, 0x53, 0xcd, 0x0e, 0x37, 0x33, 0xb3, - 0xab, 0xc8, 0x40, 0x81, 0x22, 0xbd, 0x14, 0xed, 0xa5, 0xe7, 0xa2, 0x97, 0xde, 0x72, 0x2a, 0x0c, - 0xb4, 0xb7, 0xde, 0xda, 0x4b, 0x0e, 0x3d, 0x04, 0x39, 0xf5, 0x54, 0x14, 0xf6, 0xc1, 0xff, 0x46, - 0xc1, 0x8f, 0xe1, 0x70, 0xb8, 0x24, 0x67, 0x76, 0xdb, 0x5e, 0xec, 0x25, 0xe7, 0xc7, 0xf7, 0xc5, - 0x47, 0xbe, 0xc7, 0xf7, 0x20, 0x70, 0xd1, 0x83, 0x51, 0xdb, 0x3b, 0x80, 0x7e, 0xb8, 0x99, 0xfd, - 0x4a, 0x3e, 0xdf, 0xe8, 0x45, 0x38, 0xc1, 0xb5, 0xb3, 0x62, 0x6e, 0x43, 0xfc, 0x72, 0x5e, 0x87, - 0x5d, 0x3f, 0xc4, 0x9b, 0xf4, 0x5f, 0x86, 0x73, 0xde, 0xf4, 0x70, 0xdc, 0xc5, 0xf1, 0x66, 0x37, - 0xee, 0x6c, 0x0e, 0x6e, 0x92, 0xff, 0xf8, 0x87, 0xf3, 0xec, 0xc3, 0xa7, 0x74, 0xb4, 0xc9, 0x06, - 0xfc, 0xd3, 0x42, 0x07, 0x77, 0x30, 0x9b, 0x27, 0xbf, 0xf8, 0xec, 0x92, 0x4e, 0x9e, 0x1e, 0x8c, - 0x60, 0x37, 0x5d, 0xb7, 0xc8, 0x79, 0xb5, 0x60, 0x8c, 0x36, 0x07, 0x37, 0x5b, 0x28, 0x81, 0x37, - 0x37, 0x3d, 0xec, 0x87, 0x36, 0x0a, 0x03, 0x9c, 0xf8, 0x61, 0x2a, 0xd4, 0x25, 0x1d, 0xa2, 0x0b, - 0x13, 0xef, 0x80, 0x03, 0x2e, 0xeb, 0x00, 0x1e, 0xee, 0x87, 0x9e, 0x1f, 0x08, 0x29, 0x74, 0x10, - 0x18, 0xb5, 0xd9, 0xf7, 0xc6, 0xdf, 0x2b, 0xe0, 0xcc, 0x6e, 0xdc, 0xf9, 0xa8, 0xd7, 0x86, 0x09, - 0x7a, 0x4c, 0xe5, 0xaf, 0xdd, 0x05, 0xb3, 0xb0, 0x9f, 0x1c, 0xe0, 0xc8, 0x4f, 0x8e, 0xeb, 0x95, - 0xa5, 0xca, 0xda, 0x6c, 0xb3, 0xfe, 0xcd, 0x5f, 0x6e, 0x2c, 0x70, 0xb3, 0x6c, 0xb5, 0xdb, 0x11, - 0x8a, 0xe3, 0xbd, 0x24, 0xf2, 0xc3, 0x8e, 0x9b, 0x41, 0x6b, 0xef, 0x83, 0x69, 0x66, 0x81, 0xfa, - 0xc4, 0x52, 0x65, 0xed, 0xd4, 0xad, 0x0b, 0x1b, 0x9a, 0x6d, 0xd9, 0x60, 0x4c, 0x9a, 0xb3, 0x5f, - 0xfd, 0xeb, 0xd2, 0x89, 0x2f, 0x5f, 0x3d, 0xbf, 0x5e, 0x71, 0xf9, 0xaa, 0x07, 0xf7, 0xbf, 0x78, - 0xf5, 0xfc, 0x7a, 0x46, 0xef, 0x37, 0xaf, 0x9e, 0x5f, 0x5f, 0xc9, 0x84, 0xfe, 0x5c, 0x52, 0x40, - 0x91, 0xb8, 0x71, 0x1e, 0xbc, 0xa9, 0x4c, 0xb9, 0x28, 0xee, 0xe1, 0x30, 0x46, 0x8d, 0x0e, 0x38, - 0x4d, 0x3e, 0xc5, 0x28, 0xda, 0x8e, 0x10, 0x4c, 0x50, 0xad, 0x0e, 0x4e, 0x7a, 0xe4, 0x17, 0x8e, - 0x98, 0x6e, 0x6e, 0x3a, 0x24, 0x5f, 0x42, 0x74, 0x44, 0xa0, 0x54, 0x81, 0x59, 0x37, 0x1d, 0xd6, - 0x16, 0xc0, 0x14, 0x0c, 0x7c, 0x18, 0xd7, 0xab, 0x74, 0x9e, 0x0d, 0x1e, 0xcc, 0x11, 0x79, 0xd3, - 0xd5, 0x8d, 0x37, 0xc1, 0x1b, 0x39, 0x46, 0x42, 0x82, 0x2e, 0x78, 0x6d, 0x37, 0xee, 0x6c, 0xc3, - 0xa8, 0xbd, 0xe7, 0x1d, 0xa0, 0x2e, 0x6a, 0xf6, 0x8f, 0x2d, 0x42, 0xdc, 0x04, 0xd5, 0x96, 0xdf, - 0xe6, 0x16, 0x3c, 0xbf, 0xc1, 0x6d, 0x4e, 0x9c, 0x68, 0x83, 0x3b, 0xd1, 0xc6, 0x36, 0xf6, 0xc3, - 0xe6, 0x24, 0xb1, 0x9f, 0x4b, 0xb0, 0x8a, 0x1c, 0xb7, 0x40, 0x5d, 0x65, 0x97, 0x8a, 0x52, 0x3b, - 0x07, 0xa6, 0x89, 0x11, 0x3f, 0x68, 0x53, 0xae, 0x93, 0x2e, 0x1f, 0x35, 0xfe, 0x56, 0x01, 0xb5, - 0x74, 0x11, 0x1c, 0xa0, 0x6d, 0x1c, 0x26, 0x28, 0x4c, 0x2c, 0x52, 0x66, 0x84, 0x26, 0x64, 0x42, - 0x74, 0x05, 0x5b, 0x4c, 0x4d, 0x35, 0xe7, 0xa6, 0x43, 0x62, 0xc2, 0x10, 0x27, 0x28, 0xae, 0x4f, - 0x32, 0x13, 0xd2, 0x01, 0xa1, 0x03, 0xa3, 0xc4, 0x8f, 0x93, 0xfa, 0x14, 0x9d, 0xe6, 0xa3, 0xda, - 0x32, 0x38, 0xdd, 0x82, 0x01, 0x0c, 0x3d, 0xb4, 0x15, 0x7a, 0x07, 0x38, 0xaa, 0x4f, 0x2f, 0x55, - 0xd6, 0x66, 0xdc, 0xfc, 0xa4, 0xa2, 0xf8, 0x0e, 0x70, 0x86, 0x75, 0x10, 0xaa, 0x5f, 0x05, 0xf3, - 0xd0, 0x8f, 0xda, 0x11, 0xee, 0x6d, 0x07, 0xd0, 0xef, 0x22, 0x66, 0x82, 0x19, 0x57, 0x99, 0x6d, - 0xfc, 0x1c, 0x9c, 0xe2, 0x54, 0x3e, 0xc6, 0x56, 0x6f, 0xb9, 0x0d, 0x26, 0x07, 0x38, 0x41, 0x7c, - 0xa7, 0x2e, 0x69, 0x7d, 0x7d, 0xcf, 0x0f, 0x3b, 0x01, 0x22, 0x84, 0x5c, 0x0a, 0x56, 0x24, 0x7e, - 0x0f, 0x9c, 0x95, 0x78, 0x8d, 0x2c, 0x6a, 0x97, 0x1e, 0x5d, 0xb2, 0xfc, 0x87, 0x11, 0x0c, 0xe3, - 0x7d, 0x14, 0x8d, 0xb1, 0x63, 0x0e, 0x98, 0x89, 0x90, 0x87, 0xfc, 0x01, 0x8a, 0xb8, 0x77, 0x8b, - 0xb1, 0x22, 0x2d, 0x3b, 0x64, 0x32, 0x3b, 0xe1, 0xe2, 0xbf, 0xae, 0xd0, 0x53, 0x46, 0xbe, 0xed, - 0xe0, 0xd0, 0x7e, 0xca, 0x4c, 0x82, 0xdc, 0x03, 0xd3, 0xb0, 0x8b, 0xfb, 0xdc, 0x73, 0x4a, 0xf8, - 0x3e, 0x87, 0x6b, 0x8f, 0x61, 0x26, 0x89, 0x90, 0xf1, 0x57, 0x15, 0xf0, 0x3a, 0xff, 0xb2, 0x15, - 0x25, 0x47, 0x38, 0x3a, 0xdc, 0x6a, 0xb7, 0xc7, 0x90, 0x73, 0x01, 0x4c, 0xf9, 0x5d, 0xd8, 0x41, - 0xdc, 0xc1, 0xd9, 0x80, 0xd0, 0xd9, 0xef, 0x07, 0xc1, 0x56, 0x94, 0x50, 0x07, 0x9f, 0x71, 0xd3, - 0xa1, 0x22, 0xde, 0x05, 0x70, 0x7e, 0x48, 0x08, 0xe9, 0xa6, 0x38, 0x9b, 0x7d, 0xf4, 0xe3, 0x64, - 0xfb, 0x00, 0x86, 0x9d, 0x71, 0x6c, 0x99, 0x1d, 0xab, 0xaa, 0x7c, 0xac, 0x14, 0x59, 0xde, 0x02, - 0x17, 0x34, 0xec, 0x84, 0x34, 0xdf, 0x66, 0x77, 0x02, 0x0b, 0x27, 0x2e, 0xea, 0xf8, 0x71, 0x62, - 0xf3, 0x30, 0x85, 0xf8, 0x45, 0x76, 0x1a, 0xf3, 0xab, 0x05, 0xed, 0xf7, 0xc1, 0x42, 0xf6, 0x75, - 0x07, 0x45, 0xa3, 0x52, 0x5f, 0x04, 0x17, 0x75, 0xeb, 0x05, 0xfd, 0x6f, 0x2a, 0x60, 0x7e, 0x37, - 0xee, 0xec, 0x92, 0x60, 0xe9, 0xa2, 0x1e, 0x8e, 0x12, 0xfb, 0xbd, 0x4f, 0xa3, 0xaa, 0x30, 0x63, - 0x3a, 0xac, 0x35, 0xc0, 0x5c, 0x2f, 0x80, 0xc7, 0xa8, 0x4d, 0x8c, 0x14, 0x6f, 0xd5, 0xab, 0x4b, - 0xd5, 0xb5, 0x49, 0x37, 0x37, 0xa7, 0x60, 0x9a, 0xf5, 0xc9, 0x21, 0x4c, 0xb3, 0x76, 0x17, 0x9c, - 0xc4, 0xfd, 0xc4, 0xc3, 0x5d, 0x44, 0xef, 0xb9, 0xf9, 0x5b, 0x17, 0xb5, 0xd7, 0xc5, 0x23, 0x86, - 0x71, 0x53, 0xb0, 0xa2, 0x74, 0x1d, 0x9c, 0xcb, 0xeb, 0x24, 0xd4, 0x75, 0x59, 0x88, 0x61, 0xe6, - 0x28, 0x8c, 0x73, 0x06, 0xaf, 0x51, 0xb8, 0x39, 0x2c, 0x8e, 0xc8, 0x34, 0x05, 0xbf, 0x9f, 0xd2, - 0xab, 0x40, 0x92, 0x04, 0x45, 0x5b, 0xbd, 0x1e, 0xf6, 0xad, 0x31, 0x83, 0xde, 0x34, 0x0c, 0xcc, - 0xe3, 0xab, 0x18, 0x2b, 0xac, 0x2f, 0x83, 0x4b, 0x06, 0xf2, 0x42, 0x82, 0x2f, 0x2b, 0x60, 0x6e, - 0x37, 0xee, 0xec, 0xa1, 0xa4, 0x50, 0xdd, 0x1a, 0x98, 0x0c, 0x61, 0x17, 0x71, 0x9e, 0xf4, 0xb7, - 0xe9, 0x80, 0xd4, 0x96, 0xc0, 0xa9, 0x38, 0xc1, 0xd1, 0xf1, 0x93, 0xc8, 0x27, 0x62, 0xb2, 0x58, - 0x25, 0x4f, 0x91, 0xed, 0x26, 0x21, 0x2d, 0xf2, 0x5b, 0xfd, 0x04, 0x47, 0x71, 0x7d, 0x6a, 0xa9, - 0xba, 0x36, 0xeb, 0xe6, 0xe6, 0x14, 0x6d, 0xce, 0x51, 0x5f, 0x17, 0x92, 0x0a, 0x15, 0x10, 0xbd, - 0x33, 0xc9, 0x3c, 0x39, 0x81, 0xd6, 0xbb, 0x68, 0x01, 0x4c, 0xc5, 0x28, 0x11, 0x1b, 0xc6, 0x06, - 0xd2, 0x3e, 0x56, 0x2d, 0xfb, 0xc8, 0x2e, 0xc4, 0x8c, 0x8d, 0xe0, 0x7f, 0x40, 0x9d, 0x86, 0x7f, - 0x70, 0x51, 0x17, 0x0f, 0xd0, 0xff, 0x49, 0x04, 0xe6, 0x4a, 0x39, 0x4e, 0x92, 0x14, 0xa9, 0x75, - 0x32, 0x0b, 0x8e, 0x63, 0x8c, 0x1a, 0x98, 0xec, 0xc7, 0x22, 0x86, 0xd1, 0xdf, 0xda, 0x3b, 0x63, - 0x88, 0x93, 0x90, 0xe4, 0x90, 0x3a, 0x75, 0xfe, 0xfb, 0x98, 0x66, 0x29, 0x16, 0x86, 0xb9, 0xb8, - 0x8e, 0x99, 0x90, 0xe7, 0x43, 0x7a, 0x85, 0xed, 0xa1, 0xe4, 0xbb, 0x7e, 0x08, 0x03, 0xff, 0xd9, - 0xc8, 0x62, 0x68, 0xaf, 0x0f, 0x89, 0x9e, 0xe0, 0xb4, 0x9f, 0x7a, 0x42, 0xa9, 0xc0, 0xa8, 0x57, - 0x59, 0x1b, 0x16, 0x4d, 0x7e, 0xa0, 0x89, 0x7d, 0xed, 0x54, 0xdb, 0x3d, 0x72, 0xd8, 0xc6, 0x94, - 0x80, 0x1e, 0xd4, 0x34, 0x49, 0xa7, 0x03, 0x93, 0x0d, 0x52, 0x2e, 0x82, 0xff, 0x0f, 0x68, 0x76, - 0xd0, 0xc4, 0x98, 0xc4, 0x91, 0xc7, 0xd0, 0x3b, 0xb4, 0xa7, 0xe9, 0x65, 0x0c, 0xbe, 0x4d, 0x63, - 0x7d, 0x9e, 0xe4, 0xc8, 0x49, 0xde, 0x6f, 0x59, 0x6a, 0xbe, 0x87, 0x82, 0xe0, 0xd1, 0xfe, 0x7e, - 0x89, 0x57, 0x8c, 0x29, 0x27, 0xb8, 0x03, 0xa6, 0x7a, 0x91, 0xef, 0xa1, 0xb2, 0xe9, 0x15, 0x43, - 0x6b, 0xa3, 0xba, 0x22, 0x8c, 0xb0, 0xe1, 0x8f, 0x69, 0x42, 0x2a, 0xbe, 0xda, 0x2d, 0x48, 0xae, - 0xda, 0x14, 0x29, 0x84, 0x95, 0xa7, 0xb4, 0xe9, 0xa7, 0x4c, 0x5c, 0xf0, 0xfd, 0x59, 0xde, 0x44, - 0x85, 0x87, 0x76, 0x54, 0xd6, 0x8a, 0xd6, 0xca, 0x39, 0xfd, 0x63, 0x45, 0x3c, 0xf0, 0x5c, 0x48, - 0x1e, 0xae, 0x7b, 0x28, 0x19, 0x2f, 0xaf, 0x64, 0x1e, 0x55, 0x95, 0x9d, 0xfa, 0x1e, 0x98, 0x8e, - 0x28, 0x51, 0x1a, 0x8b, 0xe6, 0x0d, 0xef, 0x8c, 0x8c, 0xb7, 0xcb, 0xe1, 0xfa, 0x60, 0x2e, 0x8b, - 0x28, 0xe4, 0xff, 0x43, 0x45, 0x8e, 0xf4, 0xe9, 0xf4, 0x36, 0xee, 0x76, 0x7d, 0x9b, 0x1e, 0x17, - 0xc1, 0x2c, 0x2f, 0x35, 0x08, 0x55, 0xb2, 0x09, 0x16, 0xec, 0x19, 0xa5, 0xec, 0x59, 0xc1, 0x5d, - 0x7f, 0x11, 0x80, 0xb8, 0xdf, 0xe9, 0xa0, 0x38, 0xf1, 0x71, 0xc8, 0x63, 0xac, 0x34, 0xa3, 0x88, - 0xde, 0x00, 0x4b, 0x26, 0xe9, 0x84, 0x0a, 0x7f, 0xd6, 0xaa, 0xe0, 0xa2, 0x01, 0x82, 0xc1, 0xd8, - 0x2a, 0x7c, 0x4b, 0x51, 0x61, 0xfe, 0xd6, 0x5b, 0x5a, 0xe3, 0x0b, 0x76, 0x99, 0x86, 0xe7, 0xc0, - 0x74, 0x8c, 0xbc, 0x08, 0x25, 0x5c, 0x3b, 0x3e, 0x2a, 0xa3, 0x19, 0x13, 0x5a, 0x68, 0xf6, 0x94, - 0x3d, 0x5a, 0x04, 0x26, 0x81, 0xd1, 0xd8, 0x9b, 0xa2, 0x7f, 0x8a, 0xe4, 0x48, 0x0b, 0xbe, 0xff, - 0x60, 0x75, 0x21, 0x9a, 0x83, 0x6d, 0xe3, 0x70, 0xdf, 0x8f, 0xba, 0x63, 0x65, 0xd0, 0x52, 0xe6, - 0x5b, 0x1d, 0x21, 0xf3, 0xad, 0x7d, 0x07, 0x00, 0xf2, 0x60, 0x66, 0x09, 0x34, 0xcd, 0xa9, 0x4b, - 0xbc, 0xb1, 0xa5, 0x25, 0xda, 0xcb, 0x43, 0xd6, 0x46, 0x68, 0xba, 0x47, 0x2d, 0xfc, 0x38, 0xc2, - 0xfb, 0x7e, 0x80, 0x68, 0xf5, 0x60, 0x9c, 0xe3, 0xab, 0xb5, 0x6d, 0x9e, 0xa8, 0xe0, 0xf8, 0x23, - 0x9a, 0xf2, 0xf0, 0x8f, 0x4f, 0x50, 0x2b, 0xf6, 0x13, 0x64, 0x67, 0x5a, 0x07, 0x27, 0x8f, 0x18, - 0x2e, 0xad, 0x4c, 0xf1, 0xa1, 0x36, 0xc5, 0x19, 0xa2, 0x2c, 0x38, 0x7f, 0x9f, 0xde, 0x54, 0xfc, - 0x7b, 0xd3, 0xc7, 0x76, 0xae, 0xaf, 0x81, 0x6a, 0xcb, 0xc7, 0x9c, 0x23, 0xf9, 0xa9, 0xbd, 0x54, - 0x72, 0xd4, 0x04, 0xa7, 0x16, 0xbd, 0x92, 0xa5, 0xd8, 0xf7, 0xa8, 0x87, 0x42, 0x0b, 0xaf, 0x65, - 0x70, 0xba, 0x95, 0x81, 0x85, 0x75, 0xf3, 0x93, 0x0a, 0xff, 0xbb, 0xf4, 0x5a, 0x56, 0x78, 0x88, - 0x00, 0x4b, 0x78, 0xd1, 0xad, 0x89, 0xeb, 0x15, 0xfa, 0x24, 0x4b, 0x87, 0x8d, 0x2f, 0x2a, 0x34, - 0x0b, 0x90, 0x16, 0x96, 0xa8, 0x9f, 0x94, 0x12, 0x70, 0x84, 0x6a, 0xca, 0x12, 0x58, 0xd4, 0xcb, - 0x20, 0x4c, 0x38, 0x48, 0x33, 0xe3, 0xbd, 0xec, 0xf9, 0x61, 0xdf, 0x30, 0x7d, 0x5e, 0xa4, 0xbc, - 0x69, 0xaa, 0x43, 0x6f, 0x1a, 0x53, 0x9e, 0x9c, 0xe7, 0x2b, 0x55, 0x54, 0xcf, 0x88, 0x2c, 0xce, - 0x8f, 0x93, 0x71, 0x44, 0x2a, 0x57, 0x9f, 0x48, 0x23, 0x7e, 0xc6, 0x48, 0xc8, 0xf0, 0x99, 0x08, - 0xb9, 0xe4, 0xe0, 0xef, 0xf6, 0x83, 0xc4, 0xb7, 0x08, 0x71, 0x07, 0x4c, 0x0d, 0x68, 0xed, 0x71, - 0xa2, 0xdc, 0x3d, 0xc2, 0xd0, 0x8a, 0x34, 0x4d, 0x11, 0x42, 0x05, 0xcb, 0x91, 0x93, 0xb9, 0x3f, - 0xb1, 0x57, 0x2b, 0xbd, 0x87, 0x0a, 0x0e, 0x44, 0x1d, 0x9c, 0xa4, 0x25, 0x84, 0x68, 0x2b, 0x3d, - 0xf2, 0x7c, 0x98, 0x7d, 0x69, 0x72, 0xeb, 0xa5, 0x43, 0xb2, 0xd3, 0x1c, 0xb4, 0x83, 0xbc, 0x43, - 0x5e, 0x89, 0x90, 0xa7, 0x32, 0x44, 0x93, 0x22, 0xa6, 0x64, 0x04, 0x9d, 0x52, 0x94, 0x7e, 0x87, - 0xfa, 0xa0, 0x90, 0x57, 0x3e, 0x5c, 0xe9, 0x85, 0x5f, 0xc9, 0x5d, 0xf8, 0x0d, 0x98, 0xbe, 0x6a, - 0x3f, 0x84, 0x5d, 0x34, 0x8e, 0x6f, 0xa4, 0xcf, 0xf5, 0x6a, 0xf6, 0x5c, 0x37, 0xbd, 0x68, 0x39, - 0x0b, 0xa9, 0x0c, 0x52, 0xcb, 0x2e, 0xa4, 0xad, 0xc0, 0x87, 0x71, 0xa1, 0x00, 0xac, 0xac, 0x3f, - 0x61, 0x2e, 0xeb, 0xb3, 0xdc, 0x4f, 0xa1, 0x29, 0x71, 0x24, 0xf6, 0x79, 0x08, 0xa3, 0xe0, 0x78, - 0xcb, 0xf3, 0x50, 0x1c, 0x7f, 0x10, 0x0e, 0xfc, 0xa2, 0x6a, 0x44, 0x3f, 0xeb, 0x30, 0x98, 0xdf, - 0xa9, 0x43, 0x34, 0xa5, 0x80, 0x45, 0xce, 0xdf, 0x27, 0x08, 0x06, 0xc7, 0xdb, 0x38, 0x0c, 0x91, - 0x57, 0x10, 0x39, 0x9e, 0x11, 0x24, 0xb7, 0xf2, 0xac, 0x9b, 0x0e, 0xb5, 0x67, 0x4d, 0x26, 0x2a, - 0xf8, 0xfd, 0x7e, 0x82, 0x9a, 0xf5, 0x61, 0x48, 0x12, 0x89, 0xa4, 0xc4, 0x0b, 0x44, 0x57, 0x70, - 0x71, 0xc0, 0x4c, 0x3b, 0x82, 0x47, 0x01, 0x3b, 0xf3, 0xc4, 0xeb, 0xc4, 0xb8, 0xf6, 0x04, 0x00, - 0xda, 0x01, 0x42, 0x09, 0x8a, 0xd2, 0x58, 0x7f, 0x4f, 0x7b, 0x46, 0x87, 0xc5, 0x60, 0xed, 0x24, - 0xba, 0xf2, 0x61, 0x98, 0x44, 0xc7, 0xae, 0x44, 0x2a, 0x7b, 0x93, 0x4e, 0x49, 0x6f, 0x52, 0xe7, - 0x3d, 0x70, 0x46, 0x59, 0x44, 0x22, 0xdd, 0x21, 0xe2, 0xbd, 0x2e, 0x97, 0xfc, 0x24, 0x4b, 0x07, - 0x30, 0xe8, 0xa7, 0x4a, 0xb0, 0xc1, 0x83, 0x89, 0xfb, 0x15, 0xad, 0x7b, 0x28, 0x42, 0x09, 0xd3, - 0x85, 0xf4, 0x51, 0x2b, 0xbe, 0xee, 0x60, 0xfb, 0xa3, 0x04, 0xa5, 0xc0, 0xec, 0x51, 0x22, 0x4d, - 0x95, 0xa8, 0x2a, 0xb0, 0xe7, 0xad, 0xc4, 0x4f, 0xad, 0x7e, 0x67, 0x82, 0x06, 0x38, 0x46, 0xff, - 0x6b, 0x69, 0x88, 0x1d, 0x8f, 0x78, 0x4a, 0x3f, 0xe3, 0x92, 0x9f, 0xda, 0xb4, 0x28, 0x2f, 0x84, - 0x10, 0xf1, 0x23, 0xea, 0x82, 0x92, 0xdf, 0xef, 0xf8, 0xb1, 0xff, 0xdf, 0x1f, 0x27, 0x56, 0x69, - 0xd1, 0x91, 0x15, 0x9c, 0x03, 0x00, 0xf8, 0xd5, 0xde, 0x84, 0xe1, 0xd8, 0xed, 0x4f, 0x53, 0x66, - 0x38, 0x9f, 0x6f, 0x6b, 0x36, 0x16, 0x44, 0xaf, 0xad, 0x09, 0xc5, 0x8d, 0x7a, 0xeb, 0xaf, 0x6b, - 0xa0, 0xba, 0x1b, 0x77, 0x6a, 0x2d, 0x30, 0x97, 0x6b, 0xc6, 0x2e, 0x9b, 0x0e, 0x82, 0x8c, 0x72, - 0xd6, 0xcb, 0xa0, 0xc4, 0xed, 0xfd, 0x13, 0x00, 0xa4, 0x86, 0x68, 0xc3, 0xb8, 0x56, 0x60, 0x9c, - 0xeb, 0xc5, 0x18, 0x41, 0x1d, 0x81, 0xd3, 0xf9, 0x66, 0xe7, 0x8a, 0x69, 0x71, 0x0e, 0xe6, 0xdc, - 0x28, 0x05, 0x13, 0x6c, 0x0e, 0xc1, 0x19, 0xb5, 0x5f, 0xb9, 0x6a, 0xa5, 0x90, 0x01, 0x9d, 0xcd, - 0x92, 0x40, 0xc1, 0xec, 0x63, 0x30, 0x23, 0x5a, 0x82, 0x4b, 0xb6, 0xc5, 0x04, 0xe1, 0xac, 0x15, - 0x21, 0x04, 0xdd, 0x16, 0x98, 0xcb, 0xf5, 0xef, 0x96, 0x6d, 0x2b, 0x53, 0x94, 0x79, 0xb7, 0x75, - 0xcd, 0x39, 0xb2, 0xdb, 0x52, 0x63, 0xae, 0x61, 0x5b, 0xcb, 0x30, 0xe6, 0xdd, 0x1e, 0x6e, 0xab, - 0xd5, 0x0e, 0xc0, 0xbc, 0xd2, 0x52, 0xbb, 0x6a, 0x5b, 0x9d, 0xe1, 0x9c, 0x8d, 0x72, 0x38, 0xc1, - 0x29, 0x04, 0xaf, 0x0d, 0xb5, 0xc6, 0xd6, 0x0a, 0x68, 0x08, 0xa4, 0xf3, 0x4e, 0x59, 0x64, 0xce, - 0xc1, 0x94, 0xe6, 0x97, 0xd9, 0xc1, 0xf2, 0x40, 0x8b, 0x83, 0xe9, 0x1b, 0x62, 0xb5, 0xcf, 0xc0, - 0xeb, 0xc3, 0xdd, 0xb0, 0x6b, 0x05, 0x54, 0x32, 0xa8, 0x73, 0xb3, 0x34, 0x54, 0xb0, 0xfc, 0x14, - 0x9c, 0x92, 0xfb, 0x63, 0x57, 0x4c, 0x14, 0x24, 0x90, 0xf3, 0x76, 0x09, 0x50, 0xee, 0x22, 0xc8, - 0xb5, 0xa4, 0x56, 0x0a, 0x84, 0xe4, 0x97, 0xcd, 0x8d, 0x52, 0x30, 0xc1, 0xe6, 0x19, 0x58, 0xd0, - 0x76, 0xa2, 0xd6, 0x4b, 0xc8, 0x2a, 0xd0, 0xce, 0xbb, 0xa3, 0xa0, 0x05, 0xef, 0xa7, 0x60, 0x36, - 0x6b, 0x41, 0x5d, 0x36, 0x91, 0x10, 0x10, 0xe7, 0x5a, 0x21, 0x44, 0x3e, 0xb6, 0x52, 0x6f, 0xa8, - 0x61, 0x5b, 0xc8, 0x30, 0xe6, 0x63, 0x3b, 0xdc, 0xfc, 0x21, 0x7b, 0x93, 0xef, 0xfc, 0xac, 0x14, - 0x2c, 0x66, 0x30, 0xf3, 0xde, 0x68, 0xbb, 0x3b, 0xc4, 0xad, 0x87, 0x5b, 0x3b, 0x56, 0x23, 0xe4, - 0xa0, 0x66, 0xb7, 0x36, 0xb6, 0x71, 0x88, 0x3b, 0x68, 0x7b, 0x38, 0xeb, 0xe5, 0x48, 0x71, 0x3d, - 0xdf, 0x1d, 0x05, 0x2d, 0x1f, 0x29, 0xb9, 0x5f, 0x73, 0xc5, 0x42, 0x24, 0x05, 0x99, 0x8f, 0x94, - 0xa6, 0x53, 0xc3, 0xb7, 0x4d, 0xba, 0x6c, 0x6d, 0xdb, 0x26, 0xdd, 0xb5, 0x37, 0x4a, 0xc1, 0x14, - 0x3d, 0x44, 0x27, 0xc6, 0xa6, 0x47, 0x0a, 0xb2, 0xea, 0xa1, 0x76, 0x5b, 0x48, 0xd4, 0x50, 0x5a, - 0x2d, 0xc6, 0xa8, 0x91, 0xc7, 0x99, 0xa3, 0x86, 0xa1, 0xcf, 0x72, 0x08, 0xce, 0xa8, 0xbd, 0x93, - 0x55, 0xb3, 0xa4, 0x39, 0xa0, 0xf9, 0x16, 0x37, 0x34, 0x40, 0x48, 0x38, 0xcf, 0x75, 0x3f, 0x96, - 0x0b, 0x09, 0x10, 0x95, 0xd6, 0xcb, 0xa0, 0xb4, 0x0a, 0x71, 0xd7, 0x2e, 0x56, 0x88, 0x7b, 0xf5, - 0x66, 0x49, 0xa0, 0x9a, 0xcb, 0x65, 0x7d, 0x0d, 0x6b, 0x2e, 0x27, 0x60, 0xf6, 0x5c, 0x6e, 0xa8, - 0x05, 0x51, 0xfb, 0x05, 0x78, 0x43, 0xdf, 0x7e, 0xb8, 0x51, 0x18, 0x47, 0x65, 0xb8, 0x73, 0x67, - 0x24, 0xb8, 0x85, 0x3d, 0x6f, 0x1d, 0x94, 0x65, 0xcf, 0xe0, 0xa5, 0xd9, 0xe7, 0x6b, 0xfc, 0x34, - 0x85, 0xca, 0x17, 0xf8, 0xaf, 0x16, 0x13, 0x22, 0x38, 0x4b, 0x0a, 0xa5, 0xad, 0xea, 0x13, 0xff, - 0xcc, 0x55, 0xf4, 0x97, 0xad, 0x41, 0x8f, 0xa3, 0x9c, 0xf5, 0x32, 0x28, 0x59, 0x1b, 0xa5, 0x98, - 0x6e, 0xd4, 0x26, 0x8f, 0x33, 0x6b, 0xa3, 0xaf, 0xa3, 0x93, 0xe0, 0x32, 0x5c, 0x44, 0xbf, 0x56, - 0x40, 0x24, 0x83, 0x9a, 0x83, 0x8b, 0xb1, 0x80, 0x4e, 0xce, 0x43, 0xbe, 0x7a, 0xbe, 0x52, 0x40, - 0x83, 0xc1, 0xcc, 0xe7, 0x41, 0x5b, 0x3d, 0x27, 0x67, 0x5c, 0x2d, 0x9d, 0xaf, 0x96, 0xb8, 0xf7, - 0x08, 0xd0, 0x7c, 0xc6, 0x4d, 0x85, 0xf2, 0x23, 0x70, 0x56, 0x57, 0x0a, 0x7f, 0xbb, 0x04, 0x1d, - 0xf1, 0x22, 0xb9, 0x3d, 0x02, 0x58, 0x49, 0x0e, 0x94, 0xea, 0xf6, 0xb5, 0xa2, 0x30, 0x22, 0xa0, - 0xd6, 0xe4, 0x40, 0x5f, 0xbb, 0x66, 0x17, 0xb4, 0x54, 0xb8, 0x5e, 0xb6, 0xc7, 0x45, 0x86, 0xb2, - 0x5d, 0xd0, 0xc3, 0xb5, 0xe9, 0xf4, 0xce, 0xcc, 0x0a, 0xd3, 0x2b, 0x45, 0xcf, 0x41, 0x0a, 0xb3, - 0xdf, 0x99, 0xc3, 0x35, 0xe7, 0xa7, 0x60, 0x36, 0xab, 0x23, 0x5f, 0xb6, 0x1e, 0x51, 0xea, 0x17, - 0xd7, 0x0a, 0x21, 0x4a, 0xea, 0x99, 0x16, 0x70, 0x6d, 0xa9, 0x27, 0xc7, 0x58, 0x53, 0x4f, 0xa5, - 0x4a, 0x4b, 0x9c, 0x5b, 0x2d, 0xd1, 0xae, 0x16, 0x1c, 0x8f, 0x14, 0x68, 0x76, 0x6e, 0x43, 0x81, - 0x96, 0xf8, 0xd8, 0x70, 0x75, 0xd6, 0x68, 0x8a, 0x21, 0xa8, 0xd9, 0xc7, 0x8c, 0xf5, 0x59, 0xe2, - 0x63, 0xb9, 0xe2, 0xac, 0xd1, 0xc7, 0x64, 0x94, 0xd9, 0xc7, 0x74, 0x35, 0x59, 0x62, 0x43, 0xb5, - 0x1e, 0xbb, 0x5a, 0xb2, 0x62, 0x6a, 0xb6, 0xa1, 0xa1, 0x8a, 0x49, 0xb2, 0x41, 0xb9, 0x84, 0x79, - 0xa5, 0x70, 0xfd, 0x0e, 0x36, 0x67, 0x83, 0x9a, 0xe2, 0x24, 0x09, 0x19, 0x4a, 0x61, 0xf2, 0x6a, - 0xb1, 0x8c, 0x04, 0x67, 0x0e, 0x19, 0xfa, 0x1a, 0x23, 0x79, 0x1c, 0x68, 0x0b, 0x8c, 0xeb, 0x25, - 0xb6, 0x59, 0xa0, 0xcd, 0x8f, 0x03, 0x5b, 0x95, 0xb1, 0xb6, 0x07, 0x4e, 0xa6, 0x25, 0xc6, 0x4b, - 0xb6, 0xa3, 0xde, 0x84, 0xa1, 0xb3, 0x5a, 0x00, 0x48, 0x89, 0x3a, 0x53, 0xbf, 0x7c, 0xf5, 0xfc, - 0x7a, 0xa5, 0xe9, 0x7e, 0xf5, 0x62, 0xb1, 0xf2, 0xf5, 0x8b, 0xc5, 0xca, 0xbf, 0x5f, 0x2c, 0x56, - 0x7e, 0xf7, 0x72, 0xf1, 0xc4, 0xd7, 0x2f, 0x17, 0x4f, 0xfc, 0xf3, 0xe5, 0xe2, 0x89, 0x4f, 0xee, - 0x77, 0xfc, 0xe4, 0xa0, 0xdf, 0xda, 0xf0, 0x70, 0x77, 0x73, 0x07, 0x79, 0x28, 0x4c, 0x22, 0x18, - 0x10, 0x2a, 0xdf, 0x83, 0x5d, 0xb4, 0xa9, 0xff, 0xf3, 0x8a, 0xe4, 0xb8, 0x87, 0xe2, 0xd6, 0x34, - 0xfd, 0x0b, 0x91, 0xdb, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x7c, 0x2c, 0xf7, 0xbf, 0x7b, 0x33, + // 2866 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcf, 0x6f, 0x1b, 0xc7, + 0xf5, 0x37, 0x45, 0x51, 0x96, 0xc6, 0xb2, 0x1c, 0xd3, 0x8a, 0x4d, 0xaf, 0x1d, 0x59, 0xa6, 0x25, + 0x4b, 0x72, 0x64, 0x31, 0xb6, 0xe3, 0x1f, 0x5f, 0xe3, 0x9b, 0x14, 0xa2, 0xe4, 0x06, 0x01, 0xaa, + 0xd8, 0x5d, 0x36, 0x71, 0x9d, 0xfe, 0x08, 0x86, 0xcb, 0x11, 0xb5, 0xd5, 0x72, 0x97, 0xd9, 0x5d, + 0x52, 0x91, 0x81, 0x02, 0x45, 0x7a, 0x29, 0xda, 0x4b, 0xcf, 0x45, 0x2f, 0xbd, 0x05, 0x28, 0x50, + 0x18, 0x68, 0xff, 0x82, 0xf6, 0x92, 0x43, 0x0f, 0x41, 0x4e, 0x3d, 0x15, 0x85, 0x7d, 0xf0, 0xbf, + 0x51, 0xcc, 0x8f, 0x9d, 0x9d, 0x1d, 0xce, 0xcc, 0x2e, 0xd9, 0xf6, 0x62, 0x73, 0x66, 0x3f, 0xf3, + 0x7e, 0xcd, 0x9b, 0x79, 0x6f, 0xde, 0x83, 0xc0, 0x65, 0x07, 0x86, 0x1d, 0xe7, 0x00, 0xba, 0x7e, + 0x23, 0xfd, 0x15, 0x7f, 0xb1, 0xd5, 0x0f, 0x83, 0x38, 0xa8, 0x9e, 0xe3, 0x73, 0x5b, 0xfc, 0x97, + 0x75, 0x16, 0xf6, 0x5c, 0x3f, 0x68, 0x90, 0x7f, 0x29, 0xce, 0xba, 0xe0, 0x04, 0x51, 0x2f, 0x88, + 0x1a, 0xbd, 0xa8, 0xdb, 0x18, 0xde, 0xc2, 0xff, 0xb1, 0x0f, 0x17, 0xe9, 0x87, 0xcf, 0xc8, 0xa8, + 0x41, 0x07, 0xec, 0xd3, 0x62, 0x37, 0xe8, 0x06, 0x74, 0x1e, 0xff, 0x62, 0xb3, 0xcb, 0x2a, 0x79, + 0xfa, 0x30, 0x84, 0xbd, 0x64, 0xdd, 0x12, 0xe3, 0xd5, 0x86, 0x11, 0x6a, 0x0c, 0x6f, 0xb5, 0x51, + 0x0c, 0x6f, 0x35, 0x9c, 0xc0, 0xf5, 0x4d, 0x14, 0x86, 0x41, 0xec, 0xfa, 0x89, 0x50, 0x57, 0x54, + 0x88, 0x1e, 0x8c, 0x9d, 0x03, 0x06, 0xb8, 0xaa, 0x02, 0x38, 0xc1, 0xc0, 0x77, 0x5c, 0x8f, 0x4b, + 0xa1, 0x82, 0xc0, 0xb0, 0x43, 0xbf, 0xd7, 0xff, 0x56, 0x02, 0x67, 0xf6, 0xa2, 0xee, 0xc7, 0xfd, + 0x0e, 0x8c, 0xd1, 0x13, 0x22, 0x7f, 0xf5, 0x1e, 0x98, 0x83, 0x83, 0xf8, 0x20, 0x08, 0xdd, 0xf8, + 0xb8, 0x56, 0x5a, 0x2e, 0xad, 0xcf, 0x35, 0x6b, 0xdf, 0xfe, 0xe5, 0xe6, 0x22, 0x33, 0xcb, 0x76, + 0xa7, 0x13, 0xa2, 0x28, 0x6a, 0xc5, 0xa1, 0xeb, 0x77, 0xed, 0x14, 0x5a, 0x7d, 0x1f, 0xcc, 0x50, + 0x0b, 0xd4, 0xa6, 0x96, 0x4b, 0xeb, 0xa7, 0x6e, 0x5f, 0xda, 0x52, 0x6c, 0xcb, 0x16, 0x65, 0xd2, + 0x9c, 0xfb, 0xfa, 0x9f, 0x57, 0x4e, 0x7c, 0xf5, 0xfa, 0xc5, 0x8d, 0x92, 0xcd, 0x56, 0x3d, 0x7c, + 0xf0, 0xe5, 0xeb, 0x17, 0x37, 0x52, 0x7a, 0xbf, 0x7e, 0xfd, 0xe2, 0xc6, 0x6a, 0x2a, 0xf4, 0x17, + 0x82, 0x02, 0x92, 0xc4, 0xf5, 0x8b, 0xe0, 0x82, 0x34, 0x65, 0xa3, 0xa8, 0x1f, 0xf8, 0x11, 0xaa, + 0x77, 0xc1, 0x69, 0xfc, 0x29, 0x42, 0xe1, 0x4e, 0x88, 0x60, 0x8c, 0xaa, 0x35, 0x70, 0xd2, 0xc1, + 0xbf, 0x82, 0x90, 0xea, 0x66, 0x27, 0x43, 0xfc, 0xc5, 0x47, 0x47, 0x18, 0x4a, 0x14, 0x98, 0xb3, + 0x93, 0x61, 0x75, 0x11, 0x54, 0xa0, 0xe7, 0xc2, 0xa8, 0x56, 0x26, 0xf3, 0x74, 0xf0, 0x70, 0x1e, + 0xcb, 0x9b, 0xac, 0xae, 0x5f, 0x00, 0x6f, 0x66, 0x18, 0x71, 0x09, 0x7a, 0xe0, 0x8d, 0xbd, 0xa8, + 0xbb, 0x03, 0xc3, 0x4e, 0xcb, 0x39, 0x40, 0x3d, 0xd4, 0x1c, 0x1c, 0x1b, 0x84, 0xb8, 0x05, 0xca, + 0x6d, 0xb7, 0xc3, 0x2c, 0x78, 0x71, 0x8b, 0xd9, 0x1c, 0x3b, 0xd1, 0x16, 0x73, 0xa2, 0xad, 0x9d, + 0xc0, 0xf5, 0x9b, 0xd3, 0xd8, 0x7e, 0x36, 0xc6, 0x4a, 0x72, 0xdc, 0x06, 0x35, 0x99, 0x5d, 0x22, + 0x4a, 0xf5, 0x3c, 0x98, 0xc1, 0x46, 0xfc, 0xb0, 0x43, 0xb8, 0x4e, 0xdb, 0x6c, 0x54, 0xff, 0x6b, + 0x09, 0x54, 0x93, 0x45, 0x70, 0x88, 0x76, 0x02, 0x3f, 0x46, 0x7e, 0x6c, 0x90, 0x32, 0x25, 0x34, + 0x25, 0x12, 0x22, 0x2b, 0xe8, 0x62, 0x62, 0xaa, 0x79, 0x3b, 0x19, 0x62, 0x13, 0xfa, 0x41, 0x8c, + 0xa2, 0xda, 0x34, 0x35, 0x21, 0x19, 0x60, 0x3a, 0x30, 0x8c, 0xdd, 0x28, 0xae, 0x55, 0xc8, 0x34, + 0x1b, 0x55, 0x57, 0xc0, 0xe9, 0x36, 0xf4, 0xa0, 0xef, 0xa0, 0x6d, 0xdf, 0x39, 0x08, 0xc2, 0xda, + 0xcc, 0x72, 0x69, 0x7d, 0xd6, 0xce, 0x4e, 0x4a, 0x8a, 0xef, 0x02, 0x6b, 0x54, 0x07, 0xae, 0xfa, + 0x75, 0xb0, 0x00, 0xdd, 0xb0, 0x13, 0x06, 0xfd, 0x1d, 0x0f, 0xba, 0x3d, 0x44, 0x4d, 0x30, 0x6b, + 0x4b, 0xb3, 0xf5, 0x9f, 0x81, 0x53, 0x8c, 0xca, 0x27, 0x81, 0xd1, 0x5b, 0xee, 0x80, 0xe9, 0x61, + 0x10, 0x23, 0xb6, 0x53, 0x57, 0x94, 0xbe, 0xde, 0x72, 0xfd, 0xae, 0x87, 0x30, 0x21, 0x9b, 0x80, + 0x25, 0x89, 0xdf, 0x03, 0xe7, 0x04, 0x5e, 0x63, 0x8b, 0xda, 0x23, 0x47, 0x17, 0x2f, 0xff, 0x41, + 0x08, 0xfd, 0x68, 0x1f, 0x85, 0x13, 0xec, 0x98, 0x05, 0x66, 0x43, 0xe4, 0x20, 0x77, 0x88, 0x42, + 0xe6, 0xdd, 0x7c, 0x2c, 0x49, 0x4b, 0x0f, 0x99, 0xc8, 0x8e, 0xbb, 0xf8, 0xaf, 0x4a, 0xe4, 0x94, + 0xe1, 0x6f, 0xbb, 0x81, 0x6f, 0x3e, 0x65, 0x3a, 0x41, 0xee, 0x83, 0x19, 0xd8, 0x0b, 0x06, 0xcc, + 0x73, 0x0a, 0xf8, 0x3e, 0x83, 0x2b, 0x8f, 0x61, 0x2a, 0x09, 0x97, 0xf1, 0x97, 0x25, 0x70, 0x96, + 0x7d, 0xd9, 0x0e, 0xe3, 0xa3, 0x20, 0x3c, 0xdc, 0xee, 0x74, 0x26, 0x90, 0x73, 0x11, 0x54, 0xdc, + 0x1e, 0xec, 0x22, 0xe6, 0xe0, 0x74, 0x80, 0xe9, 0xec, 0x0f, 0x3c, 0x6f, 0x3b, 0x8c, 0x89, 0x83, + 0xcf, 0xda, 0xc9, 0x50, 0x12, 0xef, 0x12, 0xb8, 0x38, 0x22, 0x84, 0x70, 0x53, 0x9c, 0x4b, 0x3f, + 0xba, 0x51, 0xbc, 0x73, 0x00, 0xfd, 0xee, 0x24, 0xb6, 0x4c, 0x8f, 0x55, 0x59, 0x3c, 0x56, 0x92, + 0x2c, 0x6f, 0x81, 0x4b, 0x0a, 0x76, 0x5c, 0x9a, 0xff, 0xa7, 0x77, 0x02, 0x0d, 0x27, 0x36, 0xea, + 0xba, 0x51, 0x6c, 0xf2, 0x30, 0x89, 0xf8, 0x65, 0x7a, 0x1a, 0xb3, 0xab, 0x39, 0xed, 0xf7, 0xc1, + 0x62, 0xfa, 0x75, 0x17, 0x85, 0xe3, 0x52, 0x5f, 0x02, 0x97, 0x55, 0xeb, 0x39, 0xfd, 0x6f, 0x4b, + 0x60, 0x61, 0x2f, 0xea, 0xee, 0xe1, 0x60, 0x69, 0xa3, 0x7e, 0x10, 0xc6, 0xe6, 0x7b, 0x9f, 0x44, + 0x55, 0x6e, 0xc6, 0x64, 0x58, 0xad, 0x83, 0xf9, 0xbe, 0x07, 0x8f, 0x51, 0x07, 0x1b, 0x29, 0xda, + 0xae, 0x95, 0x97, 0xcb, 0xeb, 0xd3, 0x76, 0x66, 0x4e, 0xc2, 0x34, 0x6b, 0xd3, 0x23, 0x98, 0x66, + 0xf5, 0x1e, 0x38, 0x19, 0x0c, 0x62, 0x27, 0xe8, 0x21, 0x72, 0xcf, 0x2d, 0xdc, 0xbe, 0xac, 0xbc, + 0x2e, 0x1e, 0x53, 0x8c, 0x9d, 0x80, 0x25, 0xa5, 0x6b, 0xe0, 0x7c, 0x56, 0x27, 0xae, 0xae, 0x4d, + 0x43, 0x0c, 0x35, 0x47, 0x6e, 0x9c, 0xd3, 0x78, 0x8d, 0xc4, 0xcd, 0xa2, 0x71, 0x44, 0xa4, 0xc9, + 0xf9, 0xfd, 0x84, 0x5c, 0x05, 0x82, 0x24, 0x28, 0xdc, 0xee, 0xf7, 0x03, 0xd7, 0x18, 0x33, 0xc8, + 0x4d, 0x43, 0xc1, 0x2c, 0xbe, 0xf2, 0xb1, 0xc4, 0xfa, 0x2a, 0xb8, 0xa2, 0x21, 0xcf, 0x25, 0xf8, + 0xaa, 0x04, 0xe6, 0xf7, 0xa2, 0x6e, 0x0b, 0xc5, 0xb9, 0xea, 0x56, 0xc1, 0xb4, 0x0f, 0x7b, 0x88, + 0xf1, 0x24, 0xbf, 0x75, 0x07, 0xa4, 0xba, 0x0c, 0x4e, 0x45, 0x71, 0x10, 0x1e, 0x3f, 0x0d, 0x5d, + 0x2c, 0x26, 0x8d, 0x55, 0xe2, 0x14, 0xde, 0x6e, 0x1c, 0xd2, 0x42, 0xb7, 0x3d, 0x88, 0x83, 0x30, + 0xaa, 0x55, 0x96, 0xcb, 0xeb, 0x73, 0x76, 0x66, 0x4e, 0xd2, 0xe6, 0x3c, 0xf1, 0x75, 0x2e, 0x29, + 0x57, 0x01, 0x91, 0x3b, 0x13, 0xcf, 0xe3, 0x13, 0x68, 0xbc, 0x8b, 0x16, 0x41, 0x25, 0x42, 0x31, + 0xdf, 0x30, 0x3a, 0x10, 0xf6, 0xb1, 0x6c, 0xd8, 0x47, 0x7a, 0x21, 0xa6, 0x6c, 0x38, 0xff, 0x03, + 0xe2, 0x34, 0xec, 0x83, 0x8d, 0x7a, 0xc1, 0x10, 0xfd, 0x8f, 0x44, 0xa0, 0xae, 0x94, 0xe1, 0x24, + 0x48, 0x91, 0x58, 0x27, 0xb5, 0xe0, 0x24, 0xc6, 0xa8, 0x82, 0xe9, 0x41, 0xc4, 0x63, 0x18, 0xf9, + 0xad, 0xbc, 0x33, 0x46, 0x38, 0x71, 0x49, 0x0e, 0x89, 0x53, 0x67, 0xbf, 0x4f, 0x68, 0x96, 0x7c, + 0x61, 0xa8, 0x8b, 0xab, 0x98, 0x71, 0x79, 0x3e, 0x22, 0x57, 0x58, 0x0b, 0xc5, 0xdf, 0x75, 0x7d, + 0xe8, 0xb9, 0xcf, 0xc7, 0x16, 0x43, 0x79, 0x7d, 0x08, 0xf4, 0x38, 0xa7, 0xfd, 0xc4, 0x13, 0x0a, + 0x05, 0x46, 0xb5, 0xca, 0xca, 0xb0, 0xa8, 0xf3, 0x03, 0x45, 0xec, 0xeb, 0x24, 0xda, 0xb6, 0xf0, + 0x61, 0x9b, 0x50, 0x02, 0x72, 0x50, 0x93, 0x24, 0x9d, 0x0c, 0x74, 0x36, 0x48, 0xb8, 0x70, 0xfe, + 0xdf, 0x27, 0xd9, 0x41, 0x33, 0x08, 0x70, 0x1c, 0x79, 0x02, 0x9d, 0x43, 0x73, 0x9a, 0x5e, 0xc4, + 0xe0, 0x3b, 0x24, 0xd6, 0x67, 0x49, 0x8e, 0x9d, 0xe4, 0xfd, 0x86, 0xa6, 0xe6, 0x2d, 0xe4, 0x79, + 0x8f, 0xf7, 0xf7, 0x0b, 0xbc, 0x62, 0x74, 0x39, 0xc1, 0x5d, 0x50, 0xe9, 0x87, 0xae, 0x83, 0x8a, + 0xa6, 0x57, 0x14, 0xad, 0x8c, 0xea, 0x92, 0x30, 0xdc, 0x86, 0x3f, 0x22, 0x09, 0x29, 0xff, 0x6a, + 0xb6, 0x20, 0xbe, 0x6a, 0x13, 0x24, 0x17, 0x56, 0x9c, 0x52, 0xa6, 0x9f, 0x22, 0x71, 0xce, 0xf7, + 0xa7, 0x59, 0x13, 0xe5, 0x1e, 0xda, 0x71, 0x59, 0x4b, 0x5a, 0x4b, 0xe7, 0xf4, 0x0f, 0x25, 0xfe, + 0xc0, 0xb3, 0x21, 0x7e, 0xb8, 0xb6, 0x50, 0x3c, 0x59, 0x5e, 0x49, 0x3d, 0xaa, 0x2c, 0x3a, 0xf5, + 0x7d, 0x30, 0x13, 0x12, 0xa2, 0x24, 0x16, 0x2d, 0x68, 0xde, 0x19, 0x29, 0x6f, 0x9b, 0xc1, 0xd5, + 0xc1, 0x5c, 0x14, 0x91, 0xcb, 0xff, 0xfb, 0x92, 0x18, 0xe9, 0x93, 0xe9, 0x9d, 0xa0, 0xd7, 0x73, + 0x4d, 0x7a, 0x5c, 0x06, 0x73, 0xac, 0xd4, 0xc0, 0x55, 0x49, 0x27, 0x68, 0xb0, 0xa7, 0x94, 0xd2, + 0x67, 0x05, 0x73, 0xfd, 0x25, 0x00, 0xa2, 0x41, 0xb7, 0x8b, 0xa2, 0xd8, 0x0d, 0x7c, 0x16, 0x63, + 0x85, 0x19, 0x49, 0xf4, 0x3a, 0x58, 0xd6, 0x49, 0xc7, 0x55, 0xf8, 0xb3, 0x52, 0x05, 0x1b, 0x0d, + 0x11, 0xf4, 0x26, 0x56, 0xe1, 0xff, 0x24, 0x15, 0x16, 0x6e, 0xbf, 0xa5, 0x34, 0x3e, 0x67, 0x97, + 0x6a, 0x78, 0x1e, 0xcc, 0x44, 0xc8, 0x09, 0x51, 0xcc, 0xb4, 0x63, 0xa3, 0x22, 0x9a, 0x51, 0xa1, + 0xb9, 0x66, 0xcf, 0xe8, 0xa3, 0x85, 0x63, 0x62, 0x18, 0x4e, 0xbc, 0x29, 0xea, 0xa7, 0x48, 0x86, + 0x34, 0xe7, 0xfb, 0x77, 0x5a, 0x17, 0x22, 0x39, 0xd8, 0x4e, 0xe0, 0xef, 0xbb, 0x61, 0x6f, 0xa2, + 0x0c, 0x5a, 0xc8, 0x7c, 0xcb, 0x63, 0x64, 0xbe, 0xd5, 0xef, 0x00, 0x80, 0x1f, 0xcc, 0x34, 0x81, + 0x26, 0x39, 0x75, 0x81, 0x37, 0xb6, 0xb0, 0x44, 0x79, 0x79, 0x88, 0xda, 0x70, 0x4d, 0x5b, 0xc4, + 0xc2, 0x4f, 0xc2, 0x60, 0xdf, 0xf5, 0x10, 0xa9, 0x1e, 0x4c, 0x72, 0x7c, 0x95, 0xb6, 0xcd, 0x12, + 0xe5, 0x1c, 0x7f, 0x48, 0x52, 0x1e, 0xf6, 0xf1, 0x29, 0x6a, 0x47, 0x6e, 0x8c, 0xcc, 0x4c, 0x6b, + 0xe0, 0xe4, 0x11, 0xc5, 0x25, 0x95, 0x29, 0x36, 0x54, 0xa6, 0x38, 0x23, 0x94, 0x39, 0xe7, 0xef, + 0x91, 0x9b, 0x8a, 0x7d, 0x6f, 0xba, 0x81, 0x99, 0xeb, 0x1b, 0xa0, 0xdc, 0x76, 0x03, 0xc6, 0x11, + 0xff, 0x54, 0x5e, 0x2a, 0x19, 0x6a, 0x9c, 0x53, 0x9b, 0x5c, 0xc9, 0x42, 0xec, 0x7b, 0xdc, 0x47, + 0xbe, 0x81, 0xd7, 0x0a, 0x38, 0xdd, 0x4e, 0xc1, 0xdc, 0xba, 0xd9, 0x49, 0x89, 0xff, 0x3d, 0x72, + 0x2d, 0x4b, 0x3c, 0x78, 0x80, 0xc5, 0xbc, 0xc8, 0xd6, 0x44, 0xb5, 0x12, 0x79, 0x92, 0x25, 0xc3, + 0xfa, 0x97, 0x25, 0x92, 0x05, 0x08, 0x0b, 0x0b, 0xd4, 0x4f, 0x0a, 0x09, 0x38, 0x46, 0x35, 0x65, + 0x19, 0x2c, 0xa9, 0x65, 0xe0, 0x26, 0x1c, 0x26, 0x99, 0x71, 0x2b, 0x7d, 0x7e, 0x98, 0x37, 0x4c, + 0x9d, 0x17, 0x49, 0x6f, 0x9a, 0xf2, 0xc8, 0x9b, 0x46, 0x97, 0x27, 0x67, 0xf9, 0x0a, 0x15, 0xd5, + 0x33, 0x3c, 0x8b, 0x73, 0xa3, 0x78, 0x12, 0x91, 0x8a, 0xd5, 0x27, 0x92, 0x88, 0x9f, 0x32, 0xe2, + 0x32, 0x7c, 0xce, 0x43, 0x2e, 0x3e, 0xf8, 0x7b, 0x03, 0x2f, 0x76, 0x0d, 0x42, 0xdc, 0x05, 0x95, + 0x21, 0xa9, 0x3d, 0x4e, 0x15, 0xbb, 0x47, 0x28, 0x5a, 0x92, 0xa6, 0xc9, 0x43, 0x28, 0x67, 0x39, + 0x76, 0x32, 0xf7, 0x27, 0xfa, 0x6a, 0x25, 0xf7, 0x50, 0xce, 0x81, 0xa8, 0x81, 0x93, 0xa4, 0x84, + 0x10, 0x6e, 0x27, 0x47, 0x9e, 0x0d, 0xd3, 0x2f, 0x4d, 0x66, 0xbd, 0x64, 0x88, 0x77, 0x9a, 0x81, + 0x76, 0x91, 0x73, 0xc8, 0x2a, 0x11, 0xe2, 0x54, 0x8a, 0x68, 0x12, 0x44, 0x45, 0x44, 0x90, 0x29, + 0x49, 0xe9, 0x77, 0x88, 0x0f, 0x72, 0x79, 0xc5, 0xc3, 0x95, 0x5c, 0xf8, 0xa5, 0xcc, 0x85, 0x5f, + 0x87, 0xc9, 0xab, 0xf6, 0x23, 0xd8, 0x43, 0x93, 0xf8, 0x46, 0xf2, 0x5c, 0x2f, 0xa7, 0xcf, 0x75, + 0xdd, 0x8b, 0x96, 0xb1, 0x10, 0xca, 0x20, 0xd5, 0xf4, 0x42, 0xda, 0xf6, 0x5c, 0x18, 0xe5, 0x0a, + 0x40, 0xcb, 0xfa, 0x53, 0xfa, 0xb2, 0x3e, 0xcd, 0xfd, 0x24, 0x9a, 0x02, 0x47, 0x6c, 0x9f, 0x47, + 0x30, 0xf4, 0x8e, 0xb7, 0x1d, 0x07, 0x45, 0xd1, 0x87, 0xfe, 0xd0, 0xcd, 0xab, 0x46, 0x0c, 0xd2, + 0x0e, 0x83, 0xfe, 0x9d, 0x3a, 0x42, 0x53, 0x08, 0x58, 0xf8, 0xfc, 0x7d, 0x8a, 0xa0, 0x77, 0xbc, + 0x13, 0xf8, 0x3e, 0x72, 0x72, 0x22, 0xc7, 0x73, 0x8c, 0x64, 0x56, 0x9e, 0xb3, 0x93, 0xa1, 0xf2, + 0xac, 0x89, 0x44, 0x39, 0xbf, 0xdf, 0x4d, 0x11, 0xb3, 0x3e, 0xf2, 0x71, 0x22, 0x11, 0x17, 0x78, + 0x81, 0xa8, 0x0a, 0x2e, 0x16, 0x98, 0xed, 0x84, 0xf0, 0xc8, 0xa3, 0x67, 0x1e, 0x7b, 0x1d, 0x1f, + 0x57, 0x9f, 0x02, 0x40, 0x3a, 0x40, 0x28, 0x46, 0x61, 0x12, 0xeb, 0xef, 0x2b, 0xcf, 0xe8, 0xa8, + 0x18, 0xb4, 0x9d, 0x44, 0x56, 0x3e, 0xf2, 0xe3, 0xf0, 0xd8, 0x16, 0x48, 0xa5, 0x6f, 0xd2, 0x8a, + 0xf0, 0x26, 0xb5, 0xde, 0x03, 0x67, 0xa4, 0x45, 0x38, 0xd2, 0x1d, 0x22, 0xd6, 0xeb, 0xb2, 0xf1, + 0x4f, 0xbc, 0x74, 0x08, 0xbd, 0x41, 0xa2, 0x04, 0x1d, 0x3c, 0x9c, 0x7a, 0x50, 0x52, 0xba, 0x87, + 0x24, 0x14, 0x37, 0x9d, 0x4f, 0x1e, 0xb5, 0xfc, 0xeb, 0x6e, 0x60, 0x7e, 0x94, 0xa0, 0x04, 0x98, + 0x3e, 0x4a, 0x84, 0xa9, 0x02, 0x55, 0x05, 0xfa, 0xbc, 0x15, 0xf8, 0xc9, 0xd5, 0xef, 0x54, 0x50, + 0x2f, 0x88, 0xd0, 0x7f, 0x5b, 0x1a, 0x6c, 0xc7, 0x23, 0x96, 0xd2, 0xcf, 0xda, 0xf8, 0xa7, 0x32, + 0x2d, 0xca, 0x0a, 0xc1, 0x45, 0xfc, 0x98, 0xb8, 0xa0, 0xe0, 0xf7, 0xbb, 0x6e, 0xe4, 0xfe, 0xe7, + 0xc7, 0x89, 0x56, 0x5a, 0x54, 0x64, 0x39, 0x67, 0x0f, 0x00, 0x76, 0xb5, 0x37, 0xa1, 0x3f, 0x71, + 0xfb, 0x53, 0x97, 0x19, 0x2e, 0x64, 0xdb, 0x9a, 0xf5, 0x45, 0xde, 0x6b, 0x6b, 0x42, 0x7e, 0xa3, + 0xd6, 0x23, 0x52, 0xfb, 0x17, 0xc4, 0xfc, 0x20, 0x84, 0x7e, 0x3c, 0xb1, 0x30, 0x8b, 0xa0, 0x82, + 0x6d, 0x41, 0x43, 0xde, 0x9c, 0x4d, 0x07, 0x23, 0xa2, 0xd0, 0x0e, 0x80, 0xcc, 0x34, 0x91, 0xe9, + 0xf6, 0x1f, 0x37, 0x40, 0x79, 0x2f, 0xea, 0x56, 0xdb, 0x60, 0x3e, 0xd3, 0x20, 0x5e, 0xd1, 0x1d, + 0x4e, 0x11, 0x65, 0x6d, 0x16, 0x41, 0xf1, 0x88, 0xf2, 0x63, 0x00, 0x84, 0x26, 0x6d, 0x5d, 0xbb, + 0x96, 0x63, 0xac, 0x1b, 0xf9, 0x18, 0x4e, 0x1d, 0x81, 0xd3, 0xd9, 0x06, 0xec, 0xaa, 0x6e, 0x71, + 0x06, 0x66, 0xdd, 0x2c, 0x04, 0xe3, 0x6c, 0x0e, 0xc1, 0x19, 0xb9, 0x87, 0xba, 0x66, 0xa4, 0x90, + 0x02, 0xad, 0x46, 0x41, 0x20, 0x67, 0xf6, 0x09, 0x98, 0xe5, 0x6d, 0xca, 0x65, 0xd3, 0x62, 0x8c, + 0xb0, 0xd6, 0xf3, 0x10, 0x9c, 0x6e, 0x1b, 0xcc, 0x67, 0x7a, 0x8a, 0x2b, 0xa6, 0x95, 0x09, 0x4a, + 0xbf, 0xdb, 0xaa, 0x86, 0x21, 0xde, 0x6d, 0xa1, 0x59, 0x58, 0x37, 0xad, 0xa5, 0x18, 0xfd, 0x6e, + 0x8f, 0xb6, 0xfa, 0xaa, 0x07, 0x60, 0x41, 0x6a, 0xf3, 0x5d, 0x37, 0xad, 0x4e, 0x71, 0xd6, 0x56, + 0x31, 0x1c, 0xe7, 0xe4, 0x83, 0x37, 0x46, 0xda, 0x75, 0xeb, 0x39, 0x34, 0x38, 0xd2, 0x7a, 0xa7, + 0x28, 0x32, 0xe3, 0x60, 0x52, 0x43, 0x4e, 0xef, 0x60, 0x59, 0xa0, 0xc1, 0xc1, 0xd4, 0x4d, 0xba, + 0xea, 0xe7, 0xe0, 0xec, 0x68, 0x87, 0x6e, 0x23, 0x87, 0x4a, 0x0a, 0xb5, 0x6e, 0x15, 0x86, 0x72, + 0x96, 0x9f, 0x81, 0x53, 0x62, 0xcf, 0xee, 0x9a, 0x8e, 0x82, 0x00, 0xb2, 0xde, 0x2e, 0x00, 0xca, + 0x5c, 0x04, 0x99, 0x36, 0xd9, 0x6a, 0x8e, 0x90, 0xec, 0xb2, 0xb9, 0x59, 0x08, 0xc6, 0xd9, 0x3c, + 0x07, 0x8b, 0xca, 0xee, 0xd8, 0x66, 0x01, 0x59, 0x39, 0xda, 0x7a, 0x77, 0x1c, 0x34, 0xe7, 0xfd, + 0x0c, 0xcc, 0xa5, 0x6d, 0xb1, 0xab, 0x3a, 0x12, 0x1c, 0x62, 0x6d, 0xe4, 0x42, 0xc4, 0x63, 0x2b, + 0xf4, 0xab, 0xea, 0xa6, 0x85, 0x14, 0xa3, 0x3f, 0xb6, 0xa3, 0x0d, 0x29, 0xbc, 0x37, 0xd9, 0x6e, + 0xd4, 0x6a, 0xce, 0x62, 0x0a, 0xd3, 0xef, 0x8d, 0xb2, 0xe3, 0x84, 0xdd, 0x7a, 0xb4, 0xdd, 0x64, + 0x34, 0x42, 0x06, 0xaa, 0x77, 0x6b, 0x6d, 0x6b, 0x09, 0xbb, 0x83, 0xb2, 0xaf, 0xb4, 0x59, 0x8c, + 0x14, 0xd3, 0xf3, 0xdd, 0x71, 0xd0, 0xe2, 0x91, 0x12, 0x7b, 0x48, 0xd7, 0x0c, 0x44, 0x12, 0x90, + 0xfe, 0x48, 0x29, 0xba, 0x47, 0x6c, 0xdb, 0x84, 0xcb, 0xd6, 0xb4, 0x6d, 0xc2, 0x5d, 0x7b, 0xb3, + 0x10, 0x4c, 0xd2, 0x83, 0x77, 0x87, 0x4c, 0x7a, 0x24, 0x20, 0xa3, 0x1e, 0x72, 0x07, 0x08, 0x47, + 0x0d, 0xa9, 0xfd, 0xa3, 0x8d, 0x1a, 0x59, 0x9c, 0x3e, 0x6a, 0x68, 0x7a, 0x3f, 0x87, 0xe0, 0x8c, + 0xdc, 0xcf, 0x59, 0xd3, 0x4b, 0x9a, 0x01, 0xea, 0x6f, 0x71, 0x4d, 0x53, 0x06, 0x87, 0xf3, 0x4c, + 0x47, 0x66, 0x25, 0x97, 0x00, 0x56, 0x69, 0xb3, 0x08, 0x4a, 0xa9, 0x10, 0x73, 0xed, 0x7c, 0x85, + 0x98, 0x57, 0x37, 0x0a, 0x02, 0xe5, 0x5c, 0x2e, 0xed, 0xb5, 0x18, 0x73, 0x39, 0x0e, 0x33, 0xe7, + 0x72, 0x23, 0x6d, 0x91, 0xea, 0xcf, 0xc1, 0x9b, 0xea, 0x96, 0xc8, 0xcd, 0xdc, 0x38, 0x2a, 0xc2, + 0xad, 0xbb, 0x63, 0xc1, 0x0d, 0xec, 0x59, 0x3b, 0xa3, 0x28, 0x7b, 0x0a, 0x2f, 0xcc, 0x3e, 0xdb, + 0x77, 0x20, 0x29, 0x54, 0xb6, 0xe9, 0x70, 0x3d, 0x9f, 0x10, 0xc6, 0x19, 0x52, 0x28, 0x65, 0xa7, + 0x01, 0xfb, 0x67, 0xa6, 0xcb, 0xb0, 0x62, 0x0c, 0x7a, 0x0c, 0x65, 0x6d, 0x16, 0x41, 0x89, 0xda, + 0x48, 0x05, 0x7e, 0xad, 0x36, 0x59, 0x9c, 0x5e, 0x1b, 0x75, 0x6d, 0x1f, 0x07, 0x97, 0xd1, 0xc2, + 0xfe, 0x46, 0x0e, 0x91, 0x14, 0xaa, 0x0f, 0x2e, 0xda, 0xa2, 0x3e, 0x3e, 0x0f, 0xd9, 0x8a, 0xfe, + 0x6a, 0x0e, 0x0d, 0x0a, 0xd3, 0x9f, 0x07, 0x65, 0x45, 0x1f, 0x9f, 0x71, 0xb9, 0x9c, 0xbf, 0x56, + 0xe0, 0xde, 0xc3, 0x40, 0xfd, 0x19, 0xd7, 0x15, 0xef, 0x8f, 0xc0, 0x39, 0x55, 0x79, 0xfe, 0xed, + 0x02, 0x74, 0xf8, 0x8b, 0xe4, 0xce, 0x18, 0x60, 0x29, 0x39, 0x90, 0x2a, 0xee, 0x1b, 0x79, 0x61, + 0x84, 0x43, 0x8d, 0xc9, 0x81, 0xba, 0x9e, 0x4e, 0x2f, 0x68, 0xa1, 0x98, 0xbe, 0x62, 0x8e, 0x8b, + 0x14, 0x65, 0xba, 0xa0, 0x47, 0xeb, 0xe5, 0xc9, 0x9d, 0x99, 0x16, 0xcb, 0x57, 0xf3, 0x9e, 0x83, + 0x04, 0x66, 0xbe, 0x33, 0x47, 0xeb, 0xe0, 0xcf, 0xc0, 0x5c, 0x5a, 0xdb, 0xbe, 0x6a, 0x3c, 0xa2, + 0xc4, 0x2f, 0x36, 0x72, 0x21, 0x52, 0xea, 0x99, 0x14, 0x95, 0x4d, 0xa9, 0x27, 0xc3, 0x18, 0x53, + 0x4f, 0xa9, 0x72, 0x8c, 0x9d, 0x5b, 0x2e, 0x1b, 0xaf, 0xe5, 0x1c, 0x8f, 0x04, 0xa8, 0x77, 0x6e, + 0x4d, 0xd1, 0x18, 0xfb, 0xd8, 0x68, 0xc5, 0x58, 0x6b, 0x8a, 0x11, 0xa8, 0xde, 0xc7, 0xb4, 0x35, + 0x63, 0xec, 0x63, 0x99, 0x82, 0xb1, 0xd6, 0xc7, 0x44, 0x94, 0xde, 0xc7, 0x54, 0x75, 0x62, 0x6c, + 0x43, 0xb9, 0x46, 0xbc, 0x56, 0xb0, 0x8a, 0xab, 0xb7, 0xa1, 0xa6, 0xb2, 0x8a, 0xb3, 0x41, 0xb1, + 0xac, 0x7a, 0x2d, 0x77, 0xfd, 0x6e, 0xa0, 0xcf, 0x06, 0x15, 0x05, 0x53, 0x1c, 0x32, 0xa4, 0x62, + 0xe9, 0xf5, 0x7c, 0x19, 0x31, 0x4e, 0x1f, 0x32, 0xd4, 0x75, 0x4f, 0xfc, 0x38, 0x50, 0x16, 0x3d, + 0x37, 0x0b, 0x6c, 0x33, 0x47, 0xeb, 0x1f, 0x07, 0xa6, 0xca, 0x67, 0xb5, 0x05, 0x4e, 0x26, 0x65, + 0xcf, 0x2b, 0xa6, 0xa3, 0xde, 0x84, 0xbe, 0xb5, 0x96, 0x03, 0x10, 0x8b, 0x22, 0x23, 0x75, 0xcc, + 0xf5, 0x02, 0xe2, 0x11, 0xa4, 0xbe, 0x28, 0xa2, 0x2b, 0x53, 0x5a, 0x95, 0x5f, 0xbc, 0x7e, 0x71, + 0xa3, 0xd4, 0xb4, 0xbf, 0x7e, 0xb9, 0x54, 0xfa, 0xe6, 0xe5, 0x52, 0xe9, 0x5f, 0x2f, 0x97, 0x4a, + 0xbf, 0x7d, 0xb5, 0x74, 0xe2, 0x9b, 0x57, 0x4b, 0x27, 0xfe, 0xf1, 0x6a, 0xe9, 0xc4, 0xa7, 0x0f, + 0xba, 0x6e, 0x7c, 0x30, 0x68, 0x6f, 0x39, 0x41, 0xaf, 0xb1, 0x8b, 0x1c, 0xe4, 0xc7, 0x21, 0xf4, + 0xb0, 0xd4, 0x1f, 0xc0, 0x1e, 0x6a, 0xa8, 0xff, 0xc4, 0x24, 0x3e, 0xee, 0xa3, 0xa8, 0x3d, 0x43, + 0xfe, 0x4a, 0xe6, 0xce, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x66, 0x02, 0x85, 0x7a, 0x7f, 0x34, 0x00, 0x00, } @@ -5090,6 +5183,7 @@ type MsgClient interface { EncounterClose(ctx context.Context, in *MsgEncounterClose, opts ...grpc.CallOption) (*MsgEncounterCloseResponse, error) EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) CardBan(ctx context.Context, in *MsgCardBan, opts ...grpc.CallOption) (*MsgCardBanResponse, error) + EarlyAccessGrant(ctx context.Context, in *MsgEarlyAccessGrant, opts ...grpc.CallOption) (*MsgEarlyAccessGrantResponse, error) } type msgClient struct { @@ -5541,6 +5635,15 @@ func (c *msgClient) CardBan(ctx context.Context, in *MsgCardBan, opts ...grpc.Ca return out, nil } +func (c *msgClient) EarlyAccessGrant(ctx context.Context, in *MsgEarlyAccessGrant, opts ...grpc.CallOption) (*MsgEarlyAccessGrantResponse, error) { + out := new(MsgEarlyAccessGrantResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/EarlyAccessGrant", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module @@ -5594,6 +5697,7 @@ type MsgServer interface { EncounterClose(context.Context, *MsgEncounterClose) (*MsgEncounterCloseResponse, error) EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) CardBan(context.Context, *MsgCardBan) (*MsgCardBanResponse, error) + EarlyAccessGrant(context.Context, *MsgEarlyAccessGrant) (*MsgEarlyAccessGrantResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -5747,6 +5851,9 @@ func (*UnimplementedMsgServer) EarlyAccessDisinvite(ctx context.Context, req *Ms func (*UnimplementedMsgServer) CardBan(ctx context.Context, req *MsgCardBan) (*MsgCardBanResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CardBan not implemented") } +func (*UnimplementedMsgServer) EarlyAccessGrant(ctx context.Context, req *MsgEarlyAccessGrant) (*MsgEarlyAccessGrantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessGrant not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -6634,6 +6741,24 @@ func _Msg_CardBan_Handler(srv interface{}, ctx context.Context, dec func(interfa return interceptor(ctx, in, info, handler) } +func _Msg_EarlyAccessGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEarlyAccessGrant) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).EarlyAccessGrant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/EarlyAccessGrant", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EarlyAccessGrant(ctx, req.(*MsgEarlyAccessGrant)) + } + return interceptor(ctx, in, info, handler) +} + var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Msg", @@ -6835,6 +6960,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "CardBan", Handler: _Msg_CardBan_Handler, }, + { + MethodName: "EarlyAccessGrant", + Handler: _Msg_EarlyAccessGrant_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", @@ -10173,6 +10302,68 @@ func (m *MsgCardBanResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *MsgEarlyAccessGrant) 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 *MsgEarlyAccessGrant) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEarlyAccessGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Users) > 0 { + for iNdEx := len(m.Users) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Users[iNdEx]) + copy(dAtA[i:], m.Users[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.Users[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgEarlyAccessGrantResponse) 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 *MsgEarlyAccessGrantResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEarlyAccessGrantResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -11626,6 +11817,34 @@ func (m *MsgCardBanResponse) Size() (n int) { return n } +func (m *MsgEarlyAccessGrant) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Users) > 0 { + for _, s := range m.Users { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgEarlyAccessGrantResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -20998,6 +21217,170 @@ func (m *MsgCardBanResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgEarlyAccessGrant) 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: MsgEarlyAccessGrant: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgEarlyAccessGrant: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Users", 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.Users = append(m.Users, 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 *MsgEarlyAccessGrantResponse) 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: MsgEarlyAccessGrantResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgEarlyAccessGrantResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From 67a087edd9efff7c8c1dbd4c0d87a5dcc4fb36a5 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 18 Feb 2025 13:16:19 +0100 Subject: [PATCH 69/99] feat(#242): Apointing Matchreporter is now a proposal --- api/cardchain/cardchain/tx.pulsar.go | 72 ++-- gen.sh | 1 + proto/cardchain/cardchain/tx.proto | 4 +- .../msg_server_match_reporter_appoint.go | 5 + .../simulation/match_reporter_appoint.go | 2 +- .../types/message_match_reporter_appoint.go | 8 +- .../message_match_reporter_appoint_test.go | 4 +- x/cardchain/types/tx.pb.go | 380 +++++++++--------- 8 files changed, 242 insertions(+), 234 deletions(-) diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index d92e1c57..9a924802 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -11947,15 +11947,15 @@ func (x *fastReflection_MsgCouncilCreateResponse) ProtoMethods() *protoiface.Met } var ( - md_MsgMatchReporterAppoint protoreflect.MessageDescriptor - fd_MsgMatchReporterAppoint_creator protoreflect.FieldDescriptor - fd_MsgMatchReporterAppoint_reporter protoreflect.FieldDescriptor + md_MsgMatchReporterAppoint protoreflect.MessageDescriptor + fd_MsgMatchReporterAppoint_authority protoreflect.FieldDescriptor + fd_MsgMatchReporterAppoint_reporter protoreflect.FieldDescriptor ) func init() { file_cardchain_cardchain_tx_proto_init() md_MsgMatchReporterAppoint = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgMatchReporterAppoint") - fd_MsgMatchReporterAppoint_creator = md_MsgMatchReporterAppoint.Fields().ByName("creator") + fd_MsgMatchReporterAppoint_authority = md_MsgMatchReporterAppoint.Fields().ByName("authority") fd_MsgMatchReporterAppoint_reporter = md_MsgMatchReporterAppoint.Fields().ByName("reporter") } @@ -12024,9 +12024,9 @@ func (x *fastReflection_MsgMatchReporterAppoint) Interface() protoreflect.ProtoM // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_MsgMatchReporterAppoint) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Creator != "" { - value := protoreflect.ValueOfString(x.Creator) - if !f(fd_MsgMatchReporterAppoint_creator, value) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgMatchReporterAppoint_authority, value) { return } } @@ -12051,8 +12051,8 @@ func (x *fastReflection_MsgMatchReporterAppoint) Range(f func(protoreflect.Field // a repeated field is populated if it is non-empty. func (x *fastReflection_MsgMatchReporterAppoint) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cardchain.cardchain.MsgMatchReporterAppoint.creator": - return x.Creator != "" + case "cardchain.cardchain.MsgMatchReporterAppoint.authority": + return x.Authority != "" case "cardchain.cardchain.MsgMatchReporterAppoint.reporter": return x.Reporter != "" default: @@ -12071,8 +12071,8 @@ func (x *fastReflection_MsgMatchReporterAppoint) Has(fd protoreflect.FieldDescri // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgMatchReporterAppoint) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cardchain.cardchain.MsgMatchReporterAppoint.creator": - x.Creator = "" + case "cardchain.cardchain.MsgMatchReporterAppoint.authority": + x.Authority = "" case "cardchain.cardchain.MsgMatchReporterAppoint.reporter": x.Reporter = "" default: @@ -12091,8 +12091,8 @@ func (x *fastReflection_MsgMatchReporterAppoint) Clear(fd protoreflect.FieldDesc // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_MsgMatchReporterAppoint) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cardchain.cardchain.MsgMatchReporterAppoint.creator": - value := x.Creator + case "cardchain.cardchain.MsgMatchReporterAppoint.authority": + value := x.Authority return protoreflect.ValueOfString(value) case "cardchain.cardchain.MsgMatchReporterAppoint.reporter": value := x.Reporter @@ -12117,8 +12117,8 @@ func (x *fastReflection_MsgMatchReporterAppoint) Get(descriptor protoreflect.Fie // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgMatchReporterAppoint) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cardchain.cardchain.MsgMatchReporterAppoint.creator": - x.Creator = value.Interface().(string) + case "cardchain.cardchain.MsgMatchReporterAppoint.authority": + x.Authority = value.Interface().(string) case "cardchain.cardchain.MsgMatchReporterAppoint.reporter": x.Reporter = value.Interface().(string) default: @@ -12141,8 +12141,8 @@ func (x *fastReflection_MsgMatchReporterAppoint) Set(fd protoreflect.FieldDescri // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgMatchReporterAppoint) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.MsgMatchReporterAppoint.creator": - panic(fmt.Errorf("field creator of message cardchain.cardchain.MsgMatchReporterAppoint is not mutable")) + case "cardchain.cardchain.MsgMatchReporterAppoint.authority": + panic(fmt.Errorf("field authority of message cardchain.cardchain.MsgMatchReporterAppoint is not mutable")) case "cardchain.cardchain.MsgMatchReporterAppoint.reporter": panic(fmt.Errorf("field reporter of message cardchain.cardchain.MsgMatchReporterAppoint is not mutable")) default: @@ -12158,7 +12158,7 @@ func (x *fastReflection_MsgMatchReporterAppoint) Mutable(fd protoreflect.FieldDe // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_MsgMatchReporterAppoint) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cardchain.cardchain.MsgMatchReporterAppoint.creator": + case "cardchain.cardchain.MsgMatchReporterAppoint.authority": return protoreflect.ValueOfString("") case "cardchain.cardchain.MsgMatchReporterAppoint.reporter": return protoreflect.ValueOfString("") @@ -12231,7 +12231,7 @@ func (x *fastReflection_MsgMatchReporterAppoint) ProtoMethods() *protoiface.Meth var n int var l int _ = l - l = len(x.Creator) + l = len(x.Authority) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -12275,10 +12275,10 @@ func (x *fastReflection_MsgMatchReporterAppoint) ProtoMethods() *protoiface.Meth i-- dAtA[i] = 0x12 } - if len(x.Creator) > 0 { - i -= len(x.Creator) - copy(dAtA[i:], x.Creator) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) i-- dAtA[i] = 0xa } @@ -12333,7 +12333,7 @@ func (x *fastReflection_MsgMatchReporterAppoint) ProtoMethods() *protoiface.Meth switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12361,7 +12361,7 @@ func (x *fastReflection_MsgMatchReporterAppoint) ProtoMethods() *protoiface.Meth if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Creator = string(dAtA[iNdEx:postIndex]) + x.Authority = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { @@ -46751,8 +46751,8 @@ type MsgMatchReporterAppoint struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"` + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"` } func (x *MsgMatchReporterAppoint) Reset() { @@ -46775,9 +46775,9 @@ func (*MsgMatchReporterAppoint) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{26} } -func (x *MsgMatchReporterAppoint) GetCreator() string { +func (x *MsgMatchReporterAppoint) GetAuthority() string { if x != nil { - return x.Creator + return x.Authority } return "" } @@ -49738,13 +49738,15 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7d, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x21, 0x0a, + 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, + 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, 0x0e, 0x82, + 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, diff --git a/gen.sh b/gen.sh index bbba6f9c..53e46ef1 100755 --- a/gen.sh +++ b/gen.sh @@ -50,4 +50,5 @@ #ignite scaffold message EncounterDo encounterId:uint user #ignite scaffold message EncounterClose encounterId:uint user won:bool #ignite scaffold message CardBan cardId:uint --signer authority -y +#ignite scaffold message EarlyAccessGrant user --signer authority -y ignite scaffold message EarlyAccessGrant user --signer authority -y diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 498518bc..ede6a1e2 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -213,8 +213,8 @@ message MsgCouncilCreate { message MsgCouncilCreateResponse {} message MsgMatchReporterAppoint { - option (cosmos.msg.v1.signer) = "creator"; - string creator = 1; + option (cosmos.msg.v1.signer) = "authority"; + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; string reporter = 2; } diff --git a/x/cardchain/keeper/msg_server_match_reporter_appoint.go b/x/cardchain/keeper/msg_server_match_reporter_appoint.go index 6f7e1fba..1b643824 100644 --- a/x/cardchain/keeper/msg_server_match_reporter_appoint.go +++ b/x/cardchain/keeper/msg_server_match_reporter_appoint.go @@ -3,6 +3,7 @@ package keeper import ( "context" + errorsmod "cosmossdk.io/errors" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -10,5 +11,9 @@ import ( func (k msgServer) MatchReporterAppoint(goCtx context.Context, msg *types.MsgMatchReporterAppoint) (*types.MsgMatchReporterAppointResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) + if k.authority != msg.Authority { + return nil, errorsmod.Wrapf(types.ErrInvalidSigner, "expected %s got %s", k.authority, msg.Authority) + } + return &types.MsgMatchReporterAppointResponse{}, k.SetMatchReporter(ctx, msg.Reporter) } diff --git a/x/cardchain/simulation/match_reporter_appoint.go b/x/cardchain/simulation/match_reporter_appoint.go index a8db61c4..b57e7eed 100644 --- a/x/cardchain/simulation/match_reporter_appoint.go +++ b/x/cardchain/simulation/match_reporter_appoint.go @@ -19,7 +19,7 @@ func SimulateMsgMatchReporterAppoint( ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { simAccount, _ := simtypes.RandomAcc(r, accs) msg := &types.MsgMatchReporterAppoint{ - Creator: simAccount.Address.String(), + Authority: simAccount.Address.String(), } // TODO: Handling the MatchReporterAppoint simulation diff --git a/x/cardchain/types/message_match_reporter_appoint.go b/x/cardchain/types/message_match_reporter_appoint.go index ef3c226a..0b770a4a 100644 --- a/x/cardchain/types/message_match_reporter_appoint.go +++ b/x/cardchain/types/message_match_reporter_appoint.go @@ -8,15 +8,15 @@ import ( var _ sdk.Msg = &MsgMatchReporterAppoint{} -func NewMsgMatchReporterAppoint(creator string, reporter string) *MsgMatchReporterAppoint { +func NewMsgMatchReporterAppoint(authority string, reporter string) *MsgMatchReporterAppoint { return &MsgMatchReporterAppoint{ - Creator: creator, - Reporter: reporter, + Authority: authority, + Reporter: reporter, } } func (msg *MsgMatchReporterAppoint) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) + _, err := sdk.AccAddressFromBech32(msg.Authority) if err != nil { return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) } diff --git a/x/cardchain/types/message_match_reporter_appoint_test.go b/x/cardchain/types/message_match_reporter_appoint_test.go index 8e28c611..518a61c0 100644 --- a/x/cardchain/types/message_match_reporter_appoint_test.go +++ b/x/cardchain/types/message_match_reporter_appoint_test.go @@ -17,13 +17,13 @@ func TestMsgMatchReporterAppoint_ValidateBasic(t *testing.T) { { name: "invalid address", msg: MsgMatchReporterAppoint{ - Creator: "invalid_address", + Authority: "invalid_address", }, err: sdkerrors.ErrInvalidAddress, }, { name: "valid address", msg: MsgMatchReporterAppoint{ - Creator: sample.AccAddress(), + Authority: sample.AccAddress(), }, }, } diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index 54255f34..e36f970b 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -1295,8 +1295,8 @@ func (m *MsgCouncilCreateResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCouncilCreateResponse proto.InternalMessageInfo type MsgMatchReporterAppoint 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"` + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"` } func (m *MsgMatchReporterAppoint) Reset() { *m = MsgMatchReporterAppoint{} } @@ -1332,9 +1332,9 @@ func (m *MsgMatchReporterAppoint) XXX_DiscardUnknown() { var xxx_messageInfo_MsgMatchReporterAppoint proto.InternalMessageInfo -func (m *MsgMatchReporterAppoint) GetCreator() string { +func (m *MsgMatchReporterAppoint) GetAuthority() string { if m != nil { - return m.Creator + return m.Authority } return "" } @@ -4937,187 +4937,187 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2866 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcf, 0x6f, 0x1b, 0xc7, - 0xf5, 0x37, 0x45, 0x51, 0x96, 0xc6, 0xb2, 0x1c, 0xd3, 0x8a, 0x4d, 0xaf, 0x1d, 0x59, 0xa6, 0x25, - 0x4b, 0x72, 0x64, 0x31, 0xb6, 0xe3, 0x1f, 0x5f, 0xe3, 0x9b, 0x14, 0xa2, 0xe4, 0x06, 0x01, 0xaa, - 0xd8, 0x5d, 0x36, 0x71, 0x9d, 0xfe, 0x08, 0x86, 0xcb, 0x11, 0xb5, 0xd5, 0x72, 0x97, 0xd9, 0x5d, - 0x52, 0x91, 0x81, 0x02, 0x45, 0x7a, 0x29, 0xda, 0x4b, 0xcf, 0x45, 0x2f, 0xbd, 0x05, 0x28, 0x50, - 0x18, 0x68, 0xff, 0x82, 0xf6, 0x92, 0x43, 0x0f, 0x41, 0x4e, 0x3d, 0x15, 0x85, 0x7d, 0xf0, 0xbf, - 0x51, 0xcc, 0x8f, 0x9d, 0x9d, 0x1d, 0xce, 0xcc, 0x2e, 0xd9, 0xf6, 0x62, 0x73, 0x66, 0x3f, 0xf3, - 0x7e, 0xcd, 0x9b, 0x79, 0x6f, 0xde, 0x83, 0xc0, 0x65, 0x07, 0x86, 0x1d, 0xe7, 0x00, 0xba, 0x7e, - 0x23, 0xfd, 0x15, 0x7f, 0xb1, 0xd5, 0x0f, 0x83, 0x38, 0xa8, 0x9e, 0xe3, 0x73, 0x5b, 0xfc, 0x97, - 0x75, 0x16, 0xf6, 0x5c, 0x3f, 0x68, 0x90, 0x7f, 0x29, 0xce, 0xba, 0xe0, 0x04, 0x51, 0x2f, 0x88, - 0x1a, 0xbd, 0xa8, 0xdb, 0x18, 0xde, 0xc2, 0xff, 0xb1, 0x0f, 0x17, 0xe9, 0x87, 0xcf, 0xc8, 0xa8, - 0x41, 0x07, 0xec, 0xd3, 0x62, 0x37, 0xe8, 0x06, 0x74, 0x1e, 0xff, 0x62, 0xb3, 0xcb, 0x2a, 0x79, - 0xfa, 0x30, 0x84, 0xbd, 0x64, 0xdd, 0x12, 0xe3, 0xd5, 0x86, 0x11, 0x6a, 0x0c, 0x6f, 0xb5, 0x51, - 0x0c, 0x6f, 0x35, 0x9c, 0xc0, 0xf5, 0x4d, 0x14, 0x86, 0x41, 0xec, 0xfa, 0x89, 0x50, 0x57, 0x54, - 0x88, 0x1e, 0x8c, 0x9d, 0x03, 0x06, 0xb8, 0xaa, 0x02, 0x38, 0xc1, 0xc0, 0x77, 0x5c, 0x8f, 0x4b, - 0xa1, 0x82, 0xc0, 0xb0, 0x43, 0xbf, 0xd7, 0xff, 0x56, 0x02, 0x67, 0xf6, 0xa2, 0xee, 0xc7, 0xfd, - 0x0e, 0x8c, 0xd1, 0x13, 0x22, 0x7f, 0xf5, 0x1e, 0x98, 0x83, 0x83, 0xf8, 0x20, 0x08, 0xdd, 0xf8, - 0xb8, 0x56, 0x5a, 0x2e, 0xad, 0xcf, 0x35, 0x6b, 0xdf, 0xfe, 0xe5, 0xe6, 0x22, 0x33, 0xcb, 0x76, - 0xa7, 0x13, 0xa2, 0x28, 0x6a, 0xc5, 0xa1, 0xeb, 0x77, 0xed, 0x14, 0x5a, 0x7d, 0x1f, 0xcc, 0x50, - 0x0b, 0xd4, 0xa6, 0x96, 0x4b, 0xeb, 0xa7, 0x6e, 0x5f, 0xda, 0x52, 0x6c, 0xcb, 0x16, 0x65, 0xd2, - 0x9c, 0xfb, 0xfa, 0x9f, 0x57, 0x4e, 0x7c, 0xf5, 0xfa, 0xc5, 0x8d, 0x92, 0xcd, 0x56, 0x3d, 0x7c, - 0xf0, 0xe5, 0xeb, 0x17, 0x37, 0x52, 0x7a, 0xbf, 0x7e, 0xfd, 0xe2, 0xc6, 0x6a, 0x2a, 0xf4, 0x17, - 0x82, 0x02, 0x92, 0xc4, 0xf5, 0x8b, 0xe0, 0x82, 0x34, 0x65, 0xa3, 0xa8, 0x1f, 0xf8, 0x11, 0xaa, - 0x77, 0xc1, 0x69, 0xfc, 0x29, 0x42, 0xe1, 0x4e, 0x88, 0x60, 0x8c, 0xaa, 0x35, 0x70, 0xd2, 0xc1, - 0xbf, 0x82, 0x90, 0xea, 0x66, 0x27, 0x43, 0xfc, 0xc5, 0x47, 0x47, 0x18, 0x4a, 0x14, 0x98, 0xb3, - 0x93, 0x61, 0x75, 0x11, 0x54, 0xa0, 0xe7, 0xc2, 0xa8, 0x56, 0x26, 0xf3, 0x74, 0xf0, 0x70, 0x1e, - 0xcb, 0x9b, 0xac, 0xae, 0x5f, 0x00, 0x6f, 0x66, 0x18, 0x71, 0x09, 0x7a, 0xe0, 0x8d, 0xbd, 0xa8, - 0xbb, 0x03, 0xc3, 0x4e, 0xcb, 0x39, 0x40, 0x3d, 0xd4, 0x1c, 0x1c, 0x1b, 0x84, 0xb8, 0x05, 0xca, - 0x6d, 0xb7, 0xc3, 0x2c, 0x78, 0x71, 0x8b, 0xd9, 0x1c, 0x3b, 0xd1, 0x16, 0x73, 0xa2, 0xad, 0x9d, - 0xc0, 0xf5, 0x9b, 0xd3, 0xd8, 0x7e, 0x36, 0xc6, 0x4a, 0x72, 0xdc, 0x06, 0x35, 0x99, 0x5d, 0x22, - 0x4a, 0xf5, 0x3c, 0x98, 0xc1, 0x46, 0xfc, 0xb0, 0x43, 0xb8, 0x4e, 0xdb, 0x6c, 0x54, 0xff, 0x6b, - 0x09, 0x54, 0x93, 0x45, 0x70, 0x88, 0x76, 0x02, 0x3f, 0x46, 0x7e, 0x6c, 0x90, 0x32, 0x25, 0x34, - 0x25, 0x12, 0x22, 0x2b, 0xe8, 0x62, 0x62, 0xaa, 0x79, 0x3b, 0x19, 0x62, 0x13, 0xfa, 0x41, 0x8c, - 0xa2, 0xda, 0x34, 0x35, 0x21, 0x19, 0x60, 0x3a, 0x30, 0x8c, 0xdd, 0x28, 0xae, 0x55, 0xc8, 0x34, - 0x1b, 0x55, 0x57, 0xc0, 0xe9, 0x36, 0xf4, 0xa0, 0xef, 0xa0, 0x6d, 0xdf, 0x39, 0x08, 0xc2, 0xda, - 0xcc, 0x72, 0x69, 0x7d, 0xd6, 0xce, 0x4e, 0x4a, 0x8a, 0xef, 0x02, 0x6b, 0x54, 0x07, 0xae, 0xfa, - 0x75, 0xb0, 0x00, 0xdd, 0xb0, 0x13, 0x06, 0xfd, 0x1d, 0x0f, 0xba, 0x3d, 0x44, 0x4d, 0x30, 0x6b, - 0x4b, 0xb3, 0xf5, 0x9f, 0x81, 0x53, 0x8c, 0xca, 0x27, 0x81, 0xd1, 0x5b, 0xee, 0x80, 0xe9, 0x61, - 0x10, 0x23, 0xb6, 0x53, 0x57, 0x94, 0xbe, 0xde, 0x72, 0xfd, 0xae, 0x87, 0x30, 0x21, 0x9b, 0x80, - 0x25, 0x89, 0xdf, 0x03, 0xe7, 0x04, 0x5e, 0x63, 0x8b, 0xda, 0x23, 0x47, 0x17, 0x2f, 0xff, 0x41, - 0x08, 0xfd, 0x68, 0x1f, 0x85, 0x13, 0xec, 0x98, 0x05, 0x66, 0x43, 0xe4, 0x20, 0x77, 0x88, 0x42, - 0xe6, 0xdd, 0x7c, 0x2c, 0x49, 0x4b, 0x0f, 0x99, 0xc8, 0x8e, 0xbb, 0xf8, 0xaf, 0x4a, 0xe4, 0x94, - 0xe1, 0x6f, 0xbb, 0x81, 0x6f, 0x3e, 0x65, 0x3a, 0x41, 0xee, 0x83, 0x19, 0xd8, 0x0b, 0x06, 0xcc, - 0x73, 0x0a, 0xf8, 0x3e, 0x83, 0x2b, 0x8f, 0x61, 0x2a, 0x09, 0x97, 0xf1, 0x97, 0x25, 0x70, 0x96, - 0x7d, 0xd9, 0x0e, 0xe3, 0xa3, 0x20, 0x3c, 0xdc, 0xee, 0x74, 0x26, 0x90, 0x73, 0x11, 0x54, 0xdc, - 0x1e, 0xec, 0x22, 0xe6, 0xe0, 0x74, 0x80, 0xe9, 0xec, 0x0f, 0x3c, 0x6f, 0x3b, 0x8c, 0x89, 0x83, - 0xcf, 0xda, 0xc9, 0x50, 0x12, 0xef, 0x12, 0xb8, 0x38, 0x22, 0x84, 0x70, 0x53, 0x9c, 0x4b, 0x3f, - 0xba, 0x51, 0xbc, 0x73, 0x00, 0xfd, 0xee, 0x24, 0xb6, 0x4c, 0x8f, 0x55, 0x59, 0x3c, 0x56, 0x92, - 0x2c, 0x6f, 0x81, 0x4b, 0x0a, 0x76, 0x5c, 0x9a, 0xff, 0xa7, 0x77, 0x02, 0x0d, 0x27, 0x36, 0xea, - 0xba, 0x51, 0x6c, 0xf2, 0x30, 0x89, 0xf8, 0x65, 0x7a, 0x1a, 0xb3, 0xab, 0x39, 0xed, 0xf7, 0xc1, - 0x62, 0xfa, 0x75, 0x17, 0x85, 0xe3, 0x52, 0x5f, 0x02, 0x97, 0x55, 0xeb, 0x39, 0xfd, 0x6f, 0x4b, + // 2870 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0x4f, 0x6f, 0x1b, 0xc7, + 0x15, 0x37, 0x45, 0x51, 0x96, 0xc6, 0xb2, 0x9c, 0xd0, 0x8a, 0x4d, 0xaf, 0x1d, 0x59, 0xa6, 0x25, + 0x4b, 0x72, 0x64, 0x31, 0xb6, 0xe3, 0x3f, 0x35, 0x9a, 0x14, 0xa2, 0xe4, 0x06, 0x01, 0xaa, 0xd8, + 0x5d, 0x36, 0x71, 0x9d, 0x16, 0x0d, 0x86, 0xcb, 0x11, 0xb5, 0xd5, 0x72, 0x97, 0xd9, 0x5d, 0x52, + 0x91, 0x81, 0x00, 0x45, 0x7a, 0x29, 0xda, 0x4b, 0xcf, 0x45, 0x2f, 0xbd, 0x05, 0x28, 0x50, 0x18, + 0x68, 0x3f, 0x41, 0x7b, 0xc9, 0xa1, 0x87, 0x20, 0xa7, 0x9e, 0x8a, 0xc2, 0x3e, 0xf8, 0x6b, 0x14, + 0xf3, 0x67, 0x67, 0x67, 0x87, 0x33, 0xb3, 0x4b, 0xa6, 0xbd, 0xd8, 0x9c, 0xd9, 0xdf, 0xbc, 0xf7, + 0xe6, 0xcd, 0x7b, 0xf3, 0xde, 0xbc, 0x07, 0x81, 0x4b, 0x0e, 0x0c, 0x3b, 0xce, 0x01, 0x74, 0xfd, + 0x46, 0xfa, 0x2b, 0xfe, 0x7c, 0xab, 0x1f, 0x06, 0x71, 0x50, 0x3d, 0xcb, 0xe7, 0xb6, 0xf8, 0x2f, + 0xeb, 0x75, 0xd8, 0x73, 0xfd, 0xa0, 0x41, 0xfe, 0xa5, 0x38, 0xeb, 0xbc, 0x13, 0x44, 0xbd, 0x20, + 0x6a, 0xf4, 0xa2, 0x6e, 0x63, 0x78, 0x13, 0xff, 0xc7, 0x3e, 0x5c, 0xa0, 0x1f, 0x3e, 0x25, 0xa3, + 0x06, 0x1d, 0xb0, 0x4f, 0x8b, 0xdd, 0xa0, 0x1b, 0xd0, 0x79, 0xfc, 0x8b, 0xcd, 0x2e, 0xab, 0xe4, + 0xe9, 0xc3, 0x10, 0xf6, 0x92, 0x75, 0x4b, 0x8c, 0x57, 0x1b, 0x46, 0xa8, 0x31, 0xbc, 0xd9, 0x46, + 0x31, 0xbc, 0xd9, 0x70, 0x02, 0xd7, 0x37, 0x51, 0x18, 0x06, 0xb1, 0xeb, 0x27, 0x42, 0x5d, 0x56, + 0x21, 0x7a, 0x30, 0x76, 0x0e, 0x18, 0xe0, 0x8a, 0x0a, 0xe0, 0x04, 0x03, 0xdf, 0x71, 0x3d, 0x2e, + 0x85, 0x0a, 0x02, 0xc3, 0x0e, 0xfd, 0x5e, 0xff, 0x47, 0x09, 0x9c, 0xd9, 0x8b, 0xba, 0x1f, 0xf5, + 0x3b, 0x30, 0x46, 0x8f, 0x89, 0xfc, 0xd5, 0xbb, 0x60, 0x0e, 0x0e, 0xe2, 0x83, 0x20, 0x74, 0xe3, + 0xe3, 0x5a, 0x69, 0xb9, 0xb4, 0x3e, 0xd7, 0xac, 0x7d, 0xfb, 0xb7, 0x1b, 0x8b, 0x4c, 0x2d, 0xdb, + 0x9d, 0x4e, 0x88, 0xa2, 0xa8, 0x15, 0x87, 0xae, 0xdf, 0xb5, 0x53, 0x68, 0xf5, 0x3d, 0x30, 0x43, + 0x35, 0x50, 0x9b, 0x5a, 0x2e, 0xad, 0x9f, 0xba, 0x75, 0x71, 0x4b, 0x71, 0x2c, 0x5b, 0x94, 0x49, + 0x73, 0xee, 0xeb, 0x7f, 0x5f, 0x3e, 0xf1, 0xd5, 0xab, 0xe7, 0xd7, 0x4b, 0x36, 0x5b, 0xf5, 0xe0, + 0xfe, 0x97, 0xaf, 0x9e, 0x5f, 0x4f, 0xe9, 0xfd, 0xf6, 0xd5, 0xf3, 0xeb, 0xab, 0xa9, 0xd0, 0x9f, + 0x0b, 0x1b, 0x90, 0x24, 0xae, 0x5f, 0x00, 0xe7, 0xa5, 0x29, 0x1b, 0x45, 0xfd, 0xc0, 0x8f, 0x50, + 0xbd, 0x0b, 0x4e, 0xe3, 0x4f, 0x11, 0x0a, 0x77, 0x42, 0x04, 0x63, 0x54, 0xad, 0x81, 0x93, 0x0e, + 0xfe, 0x15, 0x84, 0x74, 0x6f, 0x76, 0x32, 0xc4, 0x5f, 0x7c, 0x74, 0x84, 0xa1, 0x64, 0x03, 0x73, + 0x76, 0x32, 0xac, 0x2e, 0x82, 0x0a, 0xf4, 0x5c, 0x18, 0xd5, 0xca, 0x64, 0x9e, 0x0e, 0x1e, 0xcc, + 0x63, 0x79, 0x93, 0xd5, 0xf5, 0xf3, 0xe0, 0x8d, 0x0c, 0x23, 0x2e, 0x41, 0x0f, 0xbc, 0xb6, 0x17, + 0x75, 0x77, 0x60, 0xd8, 0x69, 0x39, 0x07, 0xa8, 0x87, 0x9a, 0x83, 0x63, 0x83, 0x10, 0x37, 0x41, + 0xb9, 0xed, 0x76, 0x98, 0x06, 0x2f, 0x6c, 0x31, 0x9d, 0x63, 0x23, 0xda, 0x62, 0x46, 0xb4, 0xb5, + 0x13, 0xb8, 0x7e, 0x73, 0x1a, 0xeb, 0xcf, 0xc6, 0x58, 0x49, 0x8e, 0x5b, 0xa0, 0x26, 0xb3, 0x4b, + 0x44, 0xa9, 0x9e, 0x03, 0x33, 0x58, 0x89, 0x1f, 0x74, 0x08, 0xd7, 0x69, 0x9b, 0x8d, 0xea, 0x7f, + 0x2f, 0x81, 0x6a, 0xb2, 0x08, 0x0e, 0xd1, 0x4e, 0xe0, 0xc7, 0xc8, 0x8f, 0x0d, 0x52, 0xa6, 0x84, + 0xa6, 0x44, 0x42, 0x64, 0x05, 0x5d, 0x4c, 0x54, 0x35, 0x6f, 0x27, 0x43, 0xac, 0x42, 0x3f, 0x88, + 0x51, 0x54, 0x9b, 0xa6, 0x2a, 0x24, 0x03, 0x4c, 0x07, 0x86, 0xb1, 0x1b, 0xc5, 0xb5, 0x0a, 0x99, + 0x66, 0xa3, 0xea, 0x0a, 0x38, 0xdd, 0x86, 0x1e, 0xf4, 0x1d, 0xb4, 0xed, 0x3b, 0x07, 0x41, 0x58, + 0x9b, 0x59, 0x2e, 0xad, 0xcf, 0xda, 0xd9, 0x49, 0x69, 0xe3, 0xbb, 0xc0, 0x1a, 0xdd, 0x03, 0xdf, + 0xfa, 0x35, 0xb0, 0x00, 0xdd, 0xb0, 0x13, 0x06, 0xfd, 0x1d, 0x0f, 0xba, 0x3d, 0x44, 0x55, 0x30, + 0x6b, 0x4b, 0xb3, 0xf5, 0x5f, 0x82, 0x53, 0x8c, 0xca, 0xc7, 0x81, 0xd1, 0x5a, 0x6e, 0x83, 0xe9, + 0x61, 0x10, 0x23, 0x76, 0x52, 0x97, 0x95, 0xb6, 0xde, 0x72, 0xfd, 0xae, 0x87, 0x30, 0x21, 0x9b, + 0x80, 0x25, 0x89, 0xdf, 0x05, 0x67, 0x05, 0x5e, 0x63, 0x8b, 0xda, 0x23, 0xae, 0x8b, 0x97, 0xff, + 0x24, 0x84, 0x7e, 0xb4, 0x8f, 0xc2, 0x09, 0x4e, 0xcc, 0x02, 0xb3, 0x21, 0x72, 0x90, 0x3b, 0x44, + 0x21, 0xb3, 0x6e, 0x3e, 0x96, 0xa4, 0xa5, 0x4e, 0x26, 0xb2, 0xe3, 0x26, 0xfe, 0x9b, 0x12, 0xf1, + 0x32, 0xfc, 0x6d, 0x37, 0xf0, 0xcd, 0x5e, 0xa6, 0x13, 0xe4, 0x1e, 0x98, 0x81, 0xbd, 0x60, 0xc0, + 0x2c, 0xa7, 0x80, 0xed, 0x33, 0xb8, 0xd2, 0x0d, 0x53, 0x49, 0xb8, 0x8c, 0xbf, 0x2e, 0x81, 0xd7, + 0xd9, 0x97, 0xed, 0x30, 0x3e, 0x0a, 0xc2, 0xc3, 0xed, 0x4e, 0x67, 0x02, 0x39, 0x17, 0x41, 0xc5, + 0xed, 0xc1, 0x2e, 0x62, 0x06, 0x4e, 0x07, 0x98, 0xce, 0xfe, 0xc0, 0xf3, 0xb6, 0xc3, 0x98, 0x18, + 0xf8, 0xac, 0x9d, 0x0c, 0x25, 0xf1, 0x2e, 0x82, 0x0b, 0x23, 0x42, 0x08, 0x37, 0xc5, 0xd9, 0xf4, + 0xa3, 0x1b, 0xc5, 0x3b, 0x07, 0xd0, 0xef, 0x4e, 0xa2, 0xcb, 0xd4, 0xad, 0xca, 0xa2, 0x5b, 0x49, + 0xb2, 0xbc, 0x09, 0x2e, 0x2a, 0xd8, 0x71, 0x69, 0xbe, 0x4f, 0xef, 0x04, 0x1a, 0x4e, 0x6c, 0xd4, + 0x75, 0xa3, 0xd8, 0x64, 0x61, 0x12, 0xf1, 0x4b, 0xd4, 0x1b, 0xb3, 0xab, 0x39, 0xed, 0xf7, 0xc0, + 0x62, 0xfa, 0x75, 0x17, 0x85, 0xe3, 0x52, 0x5f, 0x02, 0x97, 0x54, 0xeb, 0x39, 0xfd, 0x6f, 0x4b, 0x60, 0x61, 0x2f, 0xea, 0xee, 0xe1, 0x60, 0x69, 0xa3, 0x7e, 0x10, 0xc6, 0xe6, 0x7b, 0x9f, 0x44, - 0x55, 0x6e, 0xc6, 0x64, 0x58, 0xad, 0x83, 0xf9, 0xbe, 0x07, 0x8f, 0x51, 0x07, 0x1b, 0x29, 0xda, + 0x55, 0xae, 0xc6, 0x64, 0x58, 0xad, 0x83, 0xf9, 0xbe, 0x07, 0x8f, 0x51, 0x07, 0x2b, 0x29, 0xda, 0xae, 0x95, 0x97, 0xcb, 0xeb, 0xd3, 0x76, 0x66, 0x4e, 0xc2, 0x34, 0x6b, 0xd3, 0x23, 0x98, 0x66, - 0xf5, 0x1e, 0x38, 0x19, 0x0c, 0x62, 0x27, 0xe8, 0x21, 0x72, 0xcf, 0x2d, 0xdc, 0xbe, 0xac, 0xbc, - 0x2e, 0x1e, 0x53, 0x8c, 0x9d, 0x80, 0x25, 0xa5, 0x6b, 0xe0, 0x7c, 0x56, 0x27, 0xae, 0xae, 0x4d, - 0x43, 0x0c, 0x35, 0x47, 0x6e, 0x9c, 0xd3, 0x78, 0x8d, 0xc4, 0xcd, 0xa2, 0x71, 0x44, 0xa4, 0xc9, - 0xf9, 0xfd, 0x84, 0x5c, 0x05, 0x82, 0x24, 0x28, 0xdc, 0xee, 0xf7, 0x03, 0xd7, 0x18, 0x33, 0xc8, - 0x4d, 0x43, 0xc1, 0x2c, 0xbe, 0xf2, 0xb1, 0xc4, 0xfa, 0x2a, 0xb8, 0xa2, 0x21, 0xcf, 0x25, 0xf8, - 0xaa, 0x04, 0xe6, 0xf7, 0xa2, 0x6e, 0x0b, 0xc5, 0xb9, 0xea, 0x56, 0xc1, 0xb4, 0x0f, 0x7b, 0x88, - 0xf1, 0x24, 0xbf, 0x75, 0x07, 0xa4, 0xba, 0x0c, 0x4e, 0x45, 0x71, 0x10, 0x1e, 0x3f, 0x0d, 0x5d, - 0x2c, 0x26, 0x8d, 0x55, 0xe2, 0x14, 0xde, 0x6e, 0x1c, 0xd2, 0x42, 0xb7, 0x3d, 0x88, 0x83, 0x30, - 0xaa, 0x55, 0x96, 0xcb, 0xeb, 0x73, 0x76, 0x66, 0x4e, 0xd2, 0xe6, 0x3c, 0xf1, 0x75, 0x2e, 0x29, - 0x57, 0x01, 0x91, 0x3b, 0x13, 0xcf, 0xe3, 0x13, 0x68, 0xbc, 0x8b, 0x16, 0x41, 0x25, 0x42, 0x31, - 0xdf, 0x30, 0x3a, 0x10, 0xf6, 0xb1, 0x6c, 0xd8, 0x47, 0x7a, 0x21, 0xa6, 0x6c, 0x38, 0xff, 0x03, - 0xe2, 0x34, 0xec, 0x83, 0x8d, 0x7a, 0xc1, 0x10, 0xfd, 0x8f, 0x44, 0xa0, 0xae, 0x94, 0xe1, 0x24, - 0x48, 0x91, 0x58, 0x27, 0xb5, 0xe0, 0x24, 0xc6, 0xa8, 0x82, 0xe9, 0x41, 0xc4, 0x63, 0x18, 0xf9, - 0xad, 0xbc, 0x33, 0x46, 0x38, 0x71, 0x49, 0x0e, 0x89, 0x53, 0x67, 0xbf, 0x4f, 0x68, 0x96, 0x7c, - 0x61, 0xa8, 0x8b, 0xab, 0x98, 0x71, 0x79, 0x3e, 0x22, 0x57, 0x58, 0x0b, 0xc5, 0xdf, 0x75, 0x7d, - 0xe8, 0xb9, 0xcf, 0xc7, 0x16, 0x43, 0x79, 0x7d, 0x08, 0xf4, 0x38, 0xa7, 0xfd, 0xc4, 0x13, 0x0a, - 0x05, 0x46, 0xb5, 0xca, 0xca, 0xb0, 0xa8, 0xf3, 0x03, 0x45, 0xec, 0xeb, 0x24, 0xda, 0xb6, 0xf0, - 0x61, 0x9b, 0x50, 0x02, 0x72, 0x50, 0x93, 0x24, 0x9d, 0x0c, 0x74, 0x36, 0x48, 0xb8, 0x70, 0xfe, - 0xdf, 0x27, 0xd9, 0x41, 0x33, 0x08, 0x70, 0x1c, 0x79, 0x02, 0x9d, 0x43, 0x73, 0x9a, 0x5e, 0xc4, - 0xe0, 0x3b, 0x24, 0xd6, 0x67, 0x49, 0x8e, 0x9d, 0xe4, 0xfd, 0x86, 0xa6, 0xe6, 0x2d, 0xe4, 0x79, - 0x8f, 0xf7, 0xf7, 0x0b, 0xbc, 0x62, 0x74, 0x39, 0xc1, 0x5d, 0x50, 0xe9, 0x87, 0xae, 0x83, 0x8a, - 0xa6, 0x57, 0x14, 0xad, 0x8c, 0xea, 0x92, 0x30, 0xdc, 0x86, 0x3f, 0x22, 0x09, 0x29, 0xff, 0x6a, - 0xb6, 0x20, 0xbe, 0x6a, 0x13, 0x24, 0x17, 0x56, 0x9c, 0x52, 0xa6, 0x9f, 0x22, 0x71, 0xce, 0xf7, - 0xa7, 0x59, 0x13, 0xe5, 0x1e, 0xda, 0x71, 0x59, 0x4b, 0x5a, 0x4b, 0xe7, 0xf4, 0x0f, 0x25, 0xfe, - 0xc0, 0xb3, 0x21, 0x7e, 0xb8, 0xb6, 0x50, 0x3c, 0x59, 0x5e, 0x49, 0x3d, 0xaa, 0x2c, 0x3a, 0xf5, - 0x7d, 0x30, 0x13, 0x12, 0xa2, 0x24, 0x16, 0x2d, 0x68, 0xde, 0x19, 0x29, 0x6f, 0x9b, 0xc1, 0xd5, - 0xc1, 0x5c, 0x14, 0x91, 0xcb, 0xff, 0xfb, 0x92, 0x18, 0xe9, 0x93, 0xe9, 0x9d, 0xa0, 0xd7, 0x73, - 0x4d, 0x7a, 0x5c, 0x06, 0x73, 0xac, 0xd4, 0xc0, 0x55, 0x49, 0x27, 0x68, 0xb0, 0xa7, 0x94, 0xd2, - 0x67, 0x05, 0x73, 0xfd, 0x25, 0x00, 0xa2, 0x41, 0xb7, 0x8b, 0xa2, 0xd8, 0x0d, 0x7c, 0x16, 0x63, - 0x85, 0x19, 0x49, 0xf4, 0x3a, 0x58, 0xd6, 0x49, 0xc7, 0x55, 0xf8, 0xb3, 0x52, 0x05, 0x1b, 0x0d, - 0x11, 0xf4, 0x26, 0x56, 0xe1, 0xff, 0x24, 0x15, 0x16, 0x6e, 0xbf, 0xa5, 0x34, 0x3e, 0x67, 0x97, - 0x6a, 0x78, 0x1e, 0xcc, 0x44, 0xc8, 0x09, 0x51, 0xcc, 0xb4, 0x63, 0xa3, 0x22, 0x9a, 0x51, 0xa1, - 0xb9, 0x66, 0xcf, 0xe8, 0xa3, 0x85, 0x63, 0x62, 0x18, 0x4e, 0xbc, 0x29, 0xea, 0xa7, 0x48, 0x86, - 0x34, 0xe7, 0xfb, 0x77, 0x5a, 0x17, 0x22, 0x39, 0xd8, 0x4e, 0xe0, 0xef, 0xbb, 0x61, 0x6f, 0xa2, - 0x0c, 0x5a, 0xc8, 0x7c, 0xcb, 0x63, 0x64, 0xbe, 0xd5, 0xef, 0x00, 0x80, 0x1f, 0xcc, 0x34, 0x81, - 0x26, 0x39, 0x75, 0x81, 0x37, 0xb6, 0xb0, 0x44, 0x79, 0x79, 0x88, 0xda, 0x70, 0x4d, 0x5b, 0xc4, - 0xc2, 0x4f, 0xc2, 0x60, 0xdf, 0xf5, 0x10, 0xa9, 0x1e, 0x4c, 0x72, 0x7c, 0x95, 0xb6, 0xcd, 0x12, - 0xe5, 0x1c, 0x7f, 0x48, 0x52, 0x1e, 0xf6, 0xf1, 0x29, 0x6a, 0x47, 0x6e, 0x8c, 0xcc, 0x4c, 0x6b, - 0xe0, 0xe4, 0x11, 0xc5, 0x25, 0x95, 0x29, 0x36, 0x54, 0xa6, 0x38, 0x23, 0x94, 0x39, 0xe7, 0xef, - 0x91, 0x9b, 0x8a, 0x7d, 0x6f, 0xba, 0x81, 0x99, 0xeb, 0x1b, 0xa0, 0xdc, 0x76, 0x03, 0xc6, 0x11, - 0xff, 0x54, 0x5e, 0x2a, 0x19, 0x6a, 0x9c, 0x53, 0x9b, 0x5c, 0xc9, 0x42, 0xec, 0x7b, 0xdc, 0x47, - 0xbe, 0x81, 0xd7, 0x0a, 0x38, 0xdd, 0x4e, 0xc1, 0xdc, 0xba, 0xd9, 0x49, 0x89, 0xff, 0x3d, 0x72, - 0x2d, 0x4b, 0x3c, 0x78, 0x80, 0xc5, 0xbc, 0xc8, 0xd6, 0x44, 0xb5, 0x12, 0x79, 0x92, 0x25, 0xc3, - 0xfa, 0x97, 0x25, 0x92, 0x05, 0x08, 0x0b, 0x0b, 0xd4, 0x4f, 0x0a, 0x09, 0x38, 0x46, 0x35, 0x65, - 0x19, 0x2c, 0xa9, 0x65, 0xe0, 0x26, 0x1c, 0x26, 0x99, 0x71, 0x2b, 0x7d, 0x7e, 0x98, 0x37, 0x4c, - 0x9d, 0x17, 0x49, 0x6f, 0x9a, 0xf2, 0xc8, 0x9b, 0x46, 0x97, 0x27, 0x67, 0xf9, 0x0a, 0x15, 0xd5, - 0x33, 0x3c, 0x8b, 0x73, 0xa3, 0x78, 0x12, 0x91, 0x8a, 0xd5, 0x27, 0x92, 0x88, 0x9f, 0x32, 0xe2, - 0x32, 0x7c, 0xce, 0x43, 0x2e, 0x3e, 0xf8, 0x7b, 0x03, 0x2f, 0x76, 0x0d, 0x42, 0xdc, 0x05, 0x95, - 0x21, 0xa9, 0x3d, 0x4e, 0x15, 0xbb, 0x47, 0x28, 0x5a, 0x92, 0xa6, 0xc9, 0x43, 0x28, 0x67, 0x39, - 0x76, 0x32, 0xf7, 0x27, 0xfa, 0x6a, 0x25, 0xf7, 0x50, 0xce, 0x81, 0xa8, 0x81, 0x93, 0xa4, 0x84, - 0x10, 0x6e, 0x27, 0x47, 0x9e, 0x0d, 0xd3, 0x2f, 0x4d, 0x66, 0xbd, 0x64, 0x88, 0x77, 0x9a, 0x81, - 0x76, 0x91, 0x73, 0xc8, 0x2a, 0x11, 0xe2, 0x54, 0x8a, 0x68, 0x12, 0x44, 0x45, 0x44, 0x90, 0x29, - 0x49, 0xe9, 0x77, 0x88, 0x0f, 0x72, 0x79, 0xc5, 0xc3, 0x95, 0x5c, 0xf8, 0xa5, 0xcc, 0x85, 0x5f, - 0x87, 0xc9, 0xab, 0xf6, 0x23, 0xd8, 0x43, 0x93, 0xf8, 0x46, 0xf2, 0x5c, 0x2f, 0xa7, 0xcf, 0x75, - 0xdd, 0x8b, 0x96, 0xb1, 0x10, 0xca, 0x20, 0xd5, 0xf4, 0x42, 0xda, 0xf6, 0x5c, 0x18, 0xe5, 0x0a, - 0x40, 0xcb, 0xfa, 0x53, 0xfa, 0xb2, 0x3e, 0xcd, 0xfd, 0x24, 0x9a, 0x02, 0x47, 0x6c, 0x9f, 0x47, - 0x30, 0xf4, 0x8e, 0xb7, 0x1d, 0x07, 0x45, 0xd1, 0x87, 0xfe, 0xd0, 0xcd, 0xab, 0x46, 0x0c, 0xd2, - 0x0e, 0x83, 0xfe, 0x9d, 0x3a, 0x42, 0x53, 0x08, 0x58, 0xf8, 0xfc, 0x7d, 0x8a, 0xa0, 0x77, 0xbc, - 0x13, 0xf8, 0x3e, 0x72, 0x72, 0x22, 0xc7, 0x73, 0x8c, 0x64, 0x56, 0x9e, 0xb3, 0x93, 0xa1, 0xf2, - 0xac, 0x89, 0x44, 0x39, 0xbf, 0xdf, 0x4d, 0x11, 0xb3, 0x3e, 0xf2, 0x71, 0x22, 0x11, 0x17, 0x78, - 0x81, 0xa8, 0x0a, 0x2e, 0x16, 0x98, 0xed, 0x84, 0xf0, 0xc8, 0xa3, 0x67, 0x1e, 0x7b, 0x1d, 0x1f, - 0x57, 0x9f, 0x02, 0x40, 0x3a, 0x40, 0x28, 0x46, 0x61, 0x12, 0xeb, 0xef, 0x2b, 0xcf, 0xe8, 0xa8, - 0x18, 0xb4, 0x9d, 0x44, 0x56, 0x3e, 0xf2, 0xe3, 0xf0, 0xd8, 0x16, 0x48, 0xa5, 0x6f, 0xd2, 0x8a, - 0xf0, 0x26, 0xb5, 0xde, 0x03, 0x67, 0xa4, 0x45, 0x38, 0xd2, 0x1d, 0x22, 0xd6, 0xeb, 0xb2, 0xf1, - 0x4f, 0xbc, 0x74, 0x08, 0xbd, 0x41, 0xa2, 0x04, 0x1d, 0x3c, 0x9c, 0x7a, 0x50, 0x52, 0xba, 0x87, - 0x24, 0x14, 0x37, 0x9d, 0x4f, 0x1e, 0xb5, 0xfc, 0xeb, 0x6e, 0x60, 0x7e, 0x94, 0xa0, 0x04, 0x98, - 0x3e, 0x4a, 0x84, 0xa9, 0x02, 0x55, 0x05, 0xfa, 0xbc, 0x15, 0xf8, 0xc9, 0xd5, 0xef, 0x54, 0x50, - 0x2f, 0x88, 0xd0, 0x7f, 0x5b, 0x1a, 0x6c, 0xc7, 0x23, 0x96, 0xd2, 0xcf, 0xda, 0xf8, 0xa7, 0x32, - 0x2d, 0xca, 0x0a, 0xc1, 0x45, 0xfc, 0x98, 0xb8, 0xa0, 0xe0, 0xf7, 0xbb, 0x6e, 0xe4, 0xfe, 0xe7, - 0xc7, 0x89, 0x56, 0x5a, 0x54, 0x64, 0x39, 0x67, 0x0f, 0x00, 0x76, 0xb5, 0x37, 0xa1, 0x3f, 0x71, - 0xfb, 0x53, 0x97, 0x19, 0x2e, 0x64, 0xdb, 0x9a, 0xf5, 0x45, 0xde, 0x6b, 0x6b, 0x42, 0x7e, 0xa3, - 0xd6, 0x23, 0x52, 0xfb, 0x17, 0xc4, 0xfc, 0x20, 0x84, 0x7e, 0x3c, 0xb1, 0x30, 0x8b, 0xa0, 0x82, - 0x6d, 0x41, 0x43, 0xde, 0x9c, 0x4d, 0x07, 0x23, 0xa2, 0xd0, 0x0e, 0x80, 0xcc, 0x34, 0x91, 0xe9, - 0xf6, 0x1f, 0x37, 0x40, 0x79, 0x2f, 0xea, 0x56, 0xdb, 0x60, 0x3e, 0xd3, 0x20, 0x5e, 0xd1, 0x1d, - 0x4e, 0x11, 0x65, 0x6d, 0x16, 0x41, 0xf1, 0x88, 0xf2, 0x63, 0x00, 0x84, 0x26, 0x6d, 0x5d, 0xbb, - 0x96, 0x63, 0xac, 0x1b, 0xf9, 0x18, 0x4e, 0x1d, 0x81, 0xd3, 0xd9, 0x06, 0xec, 0xaa, 0x6e, 0x71, - 0x06, 0x66, 0xdd, 0x2c, 0x04, 0xe3, 0x6c, 0x0e, 0xc1, 0x19, 0xb9, 0x87, 0xba, 0x66, 0xa4, 0x90, - 0x02, 0xad, 0x46, 0x41, 0x20, 0x67, 0xf6, 0x09, 0x98, 0xe5, 0x6d, 0xca, 0x65, 0xd3, 0x62, 0x8c, - 0xb0, 0xd6, 0xf3, 0x10, 0x9c, 0x6e, 0x1b, 0xcc, 0x67, 0x7a, 0x8a, 0x2b, 0xa6, 0x95, 0x09, 0x4a, - 0xbf, 0xdb, 0xaa, 0x86, 0x21, 0xde, 0x6d, 0xa1, 0x59, 0x58, 0x37, 0xad, 0xa5, 0x18, 0xfd, 0x6e, - 0x8f, 0xb6, 0xfa, 0xaa, 0x07, 0x60, 0x41, 0x6a, 0xf3, 0x5d, 0x37, 0xad, 0x4e, 0x71, 0xd6, 0x56, - 0x31, 0x1c, 0xe7, 0xe4, 0x83, 0x37, 0x46, 0xda, 0x75, 0xeb, 0x39, 0x34, 0x38, 0xd2, 0x7a, 0xa7, - 0x28, 0x32, 0xe3, 0x60, 0x52, 0x43, 0x4e, 0xef, 0x60, 0x59, 0xa0, 0xc1, 0xc1, 0xd4, 0x4d, 0xba, - 0xea, 0xe7, 0xe0, 0xec, 0x68, 0x87, 0x6e, 0x23, 0x87, 0x4a, 0x0a, 0xb5, 0x6e, 0x15, 0x86, 0x72, - 0x96, 0x9f, 0x81, 0x53, 0x62, 0xcf, 0xee, 0x9a, 0x8e, 0x82, 0x00, 0xb2, 0xde, 0x2e, 0x00, 0xca, - 0x5c, 0x04, 0x99, 0x36, 0xd9, 0x6a, 0x8e, 0x90, 0xec, 0xb2, 0xb9, 0x59, 0x08, 0xc6, 0xd9, 0x3c, - 0x07, 0x8b, 0xca, 0xee, 0xd8, 0x66, 0x01, 0x59, 0x39, 0xda, 0x7a, 0x77, 0x1c, 0x34, 0xe7, 0xfd, - 0x0c, 0xcc, 0xa5, 0x6d, 0xb1, 0xab, 0x3a, 0x12, 0x1c, 0x62, 0x6d, 0xe4, 0x42, 0xc4, 0x63, 0x2b, - 0xf4, 0xab, 0xea, 0xa6, 0x85, 0x14, 0xa3, 0x3f, 0xb6, 0xa3, 0x0d, 0x29, 0xbc, 0x37, 0xd9, 0x6e, - 0xd4, 0x6a, 0xce, 0x62, 0x0a, 0xd3, 0xef, 0x8d, 0xb2, 0xe3, 0x84, 0xdd, 0x7a, 0xb4, 0xdd, 0x64, - 0x34, 0x42, 0x06, 0xaa, 0x77, 0x6b, 0x6d, 0x6b, 0x09, 0xbb, 0x83, 0xb2, 0xaf, 0xb4, 0x59, 0x8c, - 0x14, 0xd3, 0xf3, 0xdd, 0x71, 0xd0, 0xe2, 0x91, 0x12, 0x7b, 0x48, 0xd7, 0x0c, 0x44, 0x12, 0x90, - 0xfe, 0x48, 0x29, 0xba, 0x47, 0x6c, 0xdb, 0x84, 0xcb, 0xd6, 0xb4, 0x6d, 0xc2, 0x5d, 0x7b, 0xb3, - 0x10, 0x4c, 0xd2, 0x83, 0x77, 0x87, 0x4c, 0x7a, 0x24, 0x20, 0xa3, 0x1e, 0x72, 0x07, 0x08, 0x47, - 0x0d, 0xa9, 0xfd, 0xa3, 0x8d, 0x1a, 0x59, 0x9c, 0x3e, 0x6a, 0x68, 0x7a, 0x3f, 0x87, 0xe0, 0x8c, - 0xdc, 0xcf, 0x59, 0xd3, 0x4b, 0x9a, 0x01, 0xea, 0x6f, 0x71, 0x4d, 0x53, 0x06, 0x87, 0xf3, 0x4c, - 0x47, 0x66, 0x25, 0x97, 0x00, 0x56, 0x69, 0xb3, 0x08, 0x4a, 0xa9, 0x10, 0x73, 0xed, 0x7c, 0x85, - 0x98, 0x57, 0x37, 0x0a, 0x02, 0xe5, 0x5c, 0x2e, 0xed, 0xb5, 0x18, 0x73, 0x39, 0x0e, 0x33, 0xe7, - 0x72, 0x23, 0x6d, 0x91, 0xea, 0xcf, 0xc1, 0x9b, 0xea, 0x96, 0xc8, 0xcd, 0xdc, 0x38, 0x2a, 0xc2, - 0xad, 0xbb, 0x63, 0xc1, 0x0d, 0xec, 0x59, 0x3b, 0xa3, 0x28, 0x7b, 0x0a, 0x2f, 0xcc, 0x3e, 0xdb, - 0x77, 0x20, 0x29, 0x54, 0xb6, 0xe9, 0x70, 0x3d, 0x9f, 0x10, 0xc6, 0x19, 0x52, 0x28, 0x65, 0xa7, - 0x01, 0xfb, 0x67, 0xa6, 0xcb, 0xb0, 0x62, 0x0c, 0x7a, 0x0c, 0x65, 0x6d, 0x16, 0x41, 0x89, 0xda, - 0x48, 0x05, 0x7e, 0xad, 0x36, 0x59, 0x9c, 0x5e, 0x1b, 0x75, 0x6d, 0x1f, 0x07, 0x97, 0xd1, 0xc2, - 0xfe, 0x46, 0x0e, 0x91, 0x14, 0xaa, 0x0f, 0x2e, 0xda, 0xa2, 0x3e, 0x3e, 0x0f, 0xd9, 0x8a, 0xfe, - 0x6a, 0x0e, 0x0d, 0x0a, 0xd3, 0x9f, 0x07, 0x65, 0x45, 0x1f, 0x9f, 0x71, 0xb9, 0x9c, 0xbf, 0x56, - 0xe0, 0xde, 0xc3, 0x40, 0xfd, 0x19, 0xd7, 0x15, 0xef, 0x8f, 0xc0, 0x39, 0x55, 0x79, 0xfe, 0xed, - 0x02, 0x74, 0xf8, 0x8b, 0xe4, 0xce, 0x18, 0x60, 0x29, 0x39, 0x90, 0x2a, 0xee, 0x1b, 0x79, 0x61, - 0x84, 0x43, 0x8d, 0xc9, 0x81, 0xba, 0x9e, 0x4e, 0x2f, 0x68, 0xa1, 0x98, 0xbe, 0x62, 0x8e, 0x8b, - 0x14, 0x65, 0xba, 0xa0, 0x47, 0xeb, 0xe5, 0xc9, 0x9d, 0x99, 0x16, 0xcb, 0x57, 0xf3, 0x9e, 0x83, - 0x04, 0x66, 0xbe, 0x33, 0x47, 0xeb, 0xe0, 0xcf, 0xc0, 0x5c, 0x5a, 0xdb, 0xbe, 0x6a, 0x3c, 0xa2, - 0xc4, 0x2f, 0x36, 0x72, 0x21, 0x52, 0xea, 0x99, 0x14, 0x95, 0x4d, 0xa9, 0x27, 0xc3, 0x18, 0x53, - 0x4f, 0xa9, 0x72, 0x8c, 0x9d, 0x5b, 0x2e, 0x1b, 0xaf, 0xe5, 0x1c, 0x8f, 0x04, 0xa8, 0x77, 0x6e, - 0x4d, 0xd1, 0x18, 0xfb, 0xd8, 0x68, 0xc5, 0x58, 0x6b, 0x8a, 0x11, 0xa8, 0xde, 0xc7, 0xb4, 0x35, - 0x63, 0xec, 0x63, 0x99, 0x82, 0xb1, 0xd6, 0xc7, 0x44, 0x94, 0xde, 0xc7, 0x54, 0x75, 0x62, 0x6c, - 0x43, 0xb9, 0x46, 0xbc, 0x56, 0xb0, 0x8a, 0xab, 0xb7, 0xa1, 0xa6, 0xb2, 0x8a, 0xb3, 0x41, 0xb1, - 0xac, 0x7a, 0x2d, 0x77, 0xfd, 0x6e, 0xa0, 0xcf, 0x06, 0x15, 0x05, 0x53, 0x1c, 0x32, 0xa4, 0x62, - 0xe9, 0xf5, 0x7c, 0x19, 0x31, 0x4e, 0x1f, 0x32, 0xd4, 0x75, 0x4f, 0xfc, 0x38, 0x50, 0x16, 0x3d, - 0x37, 0x0b, 0x6c, 0x33, 0x47, 0xeb, 0x1f, 0x07, 0xa6, 0xca, 0x67, 0xb5, 0x05, 0x4e, 0x26, 0x65, - 0xcf, 0x2b, 0xa6, 0xa3, 0xde, 0x84, 0xbe, 0xb5, 0x96, 0x03, 0x10, 0x8b, 0x22, 0x23, 0x75, 0xcc, - 0xf5, 0x02, 0xe2, 0x11, 0xa4, 0xbe, 0x28, 0xa2, 0x2b, 0x53, 0x5a, 0x95, 0x5f, 0xbc, 0x7e, 0x71, - 0xa3, 0xd4, 0xb4, 0xbf, 0x7e, 0xb9, 0x54, 0xfa, 0xe6, 0xe5, 0x52, 0xe9, 0x5f, 0x2f, 0x97, 0x4a, - 0xbf, 0x7d, 0xb5, 0x74, 0xe2, 0x9b, 0x57, 0x4b, 0x27, 0xfe, 0xf1, 0x6a, 0xe9, 0xc4, 0xa7, 0x0f, - 0xba, 0x6e, 0x7c, 0x30, 0x68, 0x6f, 0x39, 0x41, 0xaf, 0xb1, 0x8b, 0x1c, 0xe4, 0xc7, 0x21, 0xf4, - 0xb0, 0xd4, 0x1f, 0xc0, 0x1e, 0x6a, 0xa8, 0xff, 0xc4, 0x24, 0x3e, 0xee, 0xa3, 0xa8, 0x3d, 0x43, - 0xfe, 0x4a, 0xe6, 0xce, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x66, 0x02, 0x85, 0x7a, 0x7f, 0x34, - 0x00, 0x00, + 0xf5, 0x2e, 0x38, 0x19, 0x0c, 0x62, 0x27, 0xe8, 0x21, 0x72, 0xcf, 0x2d, 0xdc, 0xba, 0xa4, 0xbc, + 0x2e, 0x1e, 0x51, 0x8c, 0x9d, 0x80, 0xa5, 0x4d, 0xd7, 0xc0, 0xb9, 0xec, 0x9e, 0xf8, 0x76, 0x6d, + 0x1a, 0x62, 0xa8, 0x3a, 0x72, 0xe3, 0x9c, 0xc6, 0x6a, 0x24, 0x6e, 0x16, 0x8d, 0x23, 0x22, 0x4d, + 0xce, 0xef, 0x0b, 0x72, 0x15, 0x08, 0x92, 0xa0, 0x70, 0xbb, 0xdf, 0x0f, 0x5c, 0x3f, 0x9e, 0x38, + 0x79, 0x20, 0xf7, 0x10, 0x25, 0xc5, 0xa2, 0x2f, 0x1f, 0x3f, 0x58, 0xc8, 0x26, 0x06, 0xf5, 0x2b, + 0xe0, 0xb2, 0x86, 0x3d, 0x97, 0xf0, 0xab, 0x12, 0x98, 0xdf, 0x8b, 0xba, 0x2d, 0x14, 0xe7, 0xaa, + 0xa3, 0x0a, 0xa6, 0x7d, 0xd8, 0x43, 0x8c, 0x2b, 0xf9, 0xad, 0x73, 0xa0, 0xea, 0x32, 0x38, 0x15, + 0xc5, 0x41, 0x78, 0xfc, 0x24, 0x74, 0xb1, 0xa0, 0x34, 0x96, 0x89, 0x53, 0xd8, 0x1c, 0x70, 0xc8, + 0x0b, 0xdd, 0xf6, 0x20, 0x0e, 0xc2, 0xa8, 0x56, 0x59, 0x2e, 0xaf, 0xcf, 0xd9, 0x99, 0x39, 0x49, + 0xd1, 0xe7, 0x88, 0x2f, 0x70, 0x49, 0xf9, 0x16, 0x10, 0xb9, 0x53, 0xf1, 0x3c, 0xf6, 0x50, 0xe3, + 0x5d, 0xb5, 0x08, 0x2a, 0x11, 0x8a, 0xf9, 0x81, 0xd2, 0x81, 0x70, 0xce, 0x65, 0xc3, 0x39, 0xd3, + 0x0b, 0x33, 0x65, 0xc3, 0xf9, 0x1f, 0x10, 0xa3, 0x62, 0x1f, 0x6c, 0xd4, 0x0b, 0x86, 0xe8, 0xff, + 0x24, 0x02, 0x35, 0xb5, 0x0c, 0x27, 0x41, 0x8a, 0x44, 0x3b, 0xa9, 0x06, 0x27, 0x51, 0x46, 0x15, + 0x4c, 0x0f, 0x22, 0x1e, 0xe3, 0xc8, 0x6f, 0xe5, 0x9d, 0x32, 0xc2, 0x89, 0x4b, 0x72, 0x48, 0x8c, + 0x3e, 0xfb, 0x7d, 0x42, 0xb5, 0xe4, 0x0b, 0x43, 0x4d, 0x5c, 0xc5, 0x8c, 0xcb, 0xf3, 0x21, 0xb9, + 0xe2, 0x5a, 0x28, 0xfe, 0xa1, 0xeb, 0x43, 0xcf, 0x7d, 0x36, 0xb6, 0x18, 0xca, 0xeb, 0x45, 0xa0, + 0xc7, 0x39, 0xed, 0x27, 0x96, 0x50, 0x28, 0x70, 0xaa, 0xb7, 0xac, 0x0c, 0x9b, 0x3a, 0x3b, 0x50, + 0xc4, 0xc6, 0x4e, 0xb2, 0xdb, 0x16, 0x76, 0xb6, 0x09, 0x25, 0x20, 0x8e, 0x9a, 0x24, 0xf1, 0x64, + 0xa0, 0xd3, 0x41, 0xc2, 0x85, 0xf3, 0xff, 0x31, 0xc9, 0x1e, 0x9a, 0x41, 0x80, 0xe3, 0xcc, 0x63, + 0xe8, 0x1c, 0x9a, 0xd3, 0xf8, 0x22, 0x0a, 0xdf, 0x21, 0xb9, 0x40, 0x96, 0xe4, 0xd8, 0x49, 0xe0, + 0xef, 0x68, 0xea, 0xde, 0x42, 0x9e, 0xf7, 0x68, 0x7f, 0xbf, 0xc0, 0x2b, 0x47, 0x97, 0x33, 0xdc, + 0x01, 0x95, 0x7e, 0xe8, 0x3a, 0xa8, 0x68, 0xfa, 0x45, 0xd1, 0xca, 0xa8, 0x2f, 0x09, 0xc3, 0x75, + 0xf8, 0x33, 0x92, 0xb0, 0xf2, 0xaf, 0x66, 0x0d, 0xe2, 0xab, 0x36, 0x41, 0x72, 0x61, 0xc5, 0x29, + 0x65, 0x7a, 0x2a, 0x12, 0xe7, 0x7c, 0x7f, 0x91, 0x55, 0x51, 0xae, 0xd3, 0x8e, 0xcb, 0x5a, 0xda, + 0xb5, 0xe4, 0xa7, 0x7f, 0x2a, 0xf1, 0x07, 0xa0, 0x0d, 0x71, 0xfc, 0x6a, 0xa1, 0x78, 0xb2, 0xbc, + 0x93, 0x5a, 0x54, 0x59, 0x34, 0xea, 0x7b, 0x60, 0x26, 0x24, 0x44, 0x49, 0x2c, 0x5a, 0xd0, 0xbc, + 0x43, 0x52, 0xde, 0x36, 0x83, 0xab, 0x83, 0xbd, 0x28, 0x22, 0x97, 0xff, 0x8f, 0x25, 0x31, 0x13, + 0x48, 0xa6, 0x77, 0x82, 0x5e, 0xcf, 0x35, 0xed, 0xe3, 0x12, 0x98, 0x63, 0xa5, 0x08, 0xbe, 0x95, + 0x74, 0x82, 0x86, 0x7b, 0x4a, 0x29, 0x7d, 0x76, 0x30, 0xd3, 0x5f, 0x02, 0x20, 0x1a, 0x74, 0xbb, + 0x28, 0x8a, 0xdd, 0xc0, 0x67, 0x31, 0x56, 0x98, 0x91, 0x44, 0xaf, 0x83, 0x65, 0x9d, 0x74, 0x7c, + 0x0b, 0x7f, 0x55, 0x6e, 0xc1, 0x46, 0x43, 0x04, 0xbd, 0x89, 0xb7, 0xf0, 0x3d, 0x69, 0x0b, 0x0b, + 0xb7, 0xde, 0x54, 0x2a, 0x9f, 0xb3, 0x4b, 0x77, 0x78, 0x0e, 0xcc, 0x44, 0xc8, 0x09, 0x51, 0xcc, + 0x76, 0xc7, 0x46, 0x45, 0x76, 0x46, 0x85, 0xe6, 0x3b, 0x7b, 0x4a, 0x1f, 0x35, 0x1c, 0x13, 0xc3, + 0x70, 0xe2, 0x43, 0x51, 0x3f, 0x55, 0x32, 0xa4, 0x39, 0xdf, 0x7f, 0xd2, 0xba, 0x11, 0xc9, 0xc1, + 0x76, 0x02, 0x7f, 0xdf, 0x0d, 0x7b, 0x13, 0x65, 0xd8, 0x42, 0x66, 0x5c, 0x1e, 0x23, 0x33, 0xae, + 0xfe, 0x00, 0x00, 0xfc, 0xa0, 0xa6, 0x09, 0x36, 0xc9, 0xb9, 0x0b, 0xbc, 0xc1, 0x85, 0x25, 0xca, + 0xcb, 0x43, 0xdc, 0x0d, 0xdf, 0x69, 0x8b, 0x68, 0xf8, 0x71, 0x18, 0xec, 0xbb, 0x1e, 0x22, 0xd5, + 0x85, 0x49, 0xdc, 0x57, 0xa9, 0xdb, 0x2c, 0x51, 0xce, 0xf1, 0xa7, 0x24, 0xe5, 0x61, 0x1f, 0x9f, + 0xa0, 0x76, 0xe4, 0xc6, 0xc8, 0xcc, 0xb4, 0x06, 0x4e, 0x1e, 0x51, 0x5c, 0x52, 0xb9, 0x62, 0x43, + 0x65, 0x8a, 0x33, 0x42, 0x99, 0x73, 0xfe, 0x11, 0xb9, 0xa9, 0xd8, 0xf7, 0xa6, 0x1b, 0x98, 0xb9, + 0xbe, 0x06, 0xca, 0x6d, 0x37, 0x60, 0x1c, 0xf1, 0x4f, 0xe5, 0xa5, 0x92, 0xa1, 0xc6, 0x39, 0xb5, + 0xc9, 0x95, 0x2c, 0xc4, 0xbe, 0x47, 0x7d, 0xe4, 0x1b, 0x78, 0xad, 0x80, 0xd3, 0xed, 0x14, 0xcc, + 0xb5, 0x9b, 0x9d, 0x94, 0xf8, 0xdf, 0x25, 0xd7, 0xb2, 0xc4, 0x83, 0x07, 0x58, 0xcc, 0x8b, 0x1c, + 0x4d, 0x54, 0x2b, 0x91, 0x27, 0x5b, 0x32, 0xac, 0x7f, 0x59, 0x22, 0x59, 0x80, 0xb0, 0xb0, 0x40, + 0x7d, 0xa5, 0x90, 0x80, 0x63, 0x54, 0x5b, 0x96, 0xc1, 0x92, 0x5a, 0x06, 0xae, 0xc2, 0x61, 0x92, + 0x19, 0xb7, 0xd2, 0xe7, 0x87, 0xf9, 0xc0, 0xd4, 0x79, 0x91, 0xf4, 0xa6, 0x29, 0x8f, 0xbc, 0x69, + 0x74, 0x79, 0x72, 0x96, 0xaf, 0x50, 0x71, 0x3d, 0xc3, 0xb3, 0x38, 0x37, 0x8a, 0x27, 0x11, 0xa9, + 0x58, 0xfd, 0x22, 0x89, 0xf8, 0x29, 0x23, 0x2e, 0xc3, 0x67, 0x3c, 0xe4, 0x62, 0xc7, 0xdf, 0x1b, + 0x78, 0xb1, 0x6b, 0x10, 0xe2, 0x0e, 0xa8, 0x0c, 0x49, 0x6d, 0x72, 0xaa, 0xd8, 0x3d, 0x42, 0xd1, + 0x92, 0x34, 0x4d, 0x1e, 0x42, 0x39, 0xcb, 0xb1, 0x93, 0xb9, 0xbf, 0xd0, 0x57, 0x2b, 0xb9, 0x87, + 0x72, 0x1c, 0xa2, 0x06, 0x4e, 0x92, 0x12, 0x43, 0xb8, 0x9d, 0xb8, 0x3c, 0x1b, 0xa6, 0x5f, 0x9a, + 0x4c, 0x7b, 0xc9, 0x10, 0x9f, 0x34, 0x03, 0xed, 0x22, 0xe7, 0x90, 0x55, 0x2a, 0xc4, 0xa9, 0x14, + 0xd1, 0x24, 0x88, 0x8a, 0x88, 0x20, 0x53, 0xd2, 0xa6, 0xdf, 0x26, 0x36, 0xc8, 0xe5, 0x15, 0x9d, + 0x2b, 0xb9, 0xf0, 0x4b, 0x99, 0x0b, 0xbf, 0x0e, 0x93, 0x57, 0xed, 0x87, 0xb0, 0x87, 0x26, 0xb1, + 0x8d, 0xe4, 0xb9, 0x5e, 0x4e, 0x9f, 0xeb, 0xba, 0x17, 0x2d, 0x63, 0x21, 0x94, 0x49, 0xaa, 0xe9, + 0x85, 0xb4, 0xed, 0xb9, 0x30, 0xca, 0x15, 0x80, 0x96, 0xfd, 0xa7, 0xf4, 0x65, 0x7f, 0x9a, 0xfb, + 0x49, 0x34, 0x05, 0x8e, 0x58, 0x3f, 0x0f, 0x61, 0xe8, 0x1d, 0x6f, 0x3b, 0x0e, 0x8a, 0xa2, 0x0f, + 0xfc, 0xa1, 0x9b, 0x57, 0x8d, 0x18, 0xa4, 0x1d, 0x08, 0xfd, 0x3b, 0x75, 0x84, 0xa6, 0x10, 0xb0, + 0xb0, 0xff, 0x7d, 0x82, 0xa0, 0x77, 0xbc, 0x13, 0xf8, 0x3e, 0x72, 0x72, 0x22, 0xc7, 0x33, 0x8c, + 0x64, 0x5a, 0x9e, 0xb3, 0x93, 0xa1, 0xd2, 0xd7, 0x44, 0xa2, 0x9c, 0xdf, 0x1f, 0xa6, 0x88, 0x5a, + 0x1f, 0xfa, 0x38, 0x91, 0x88, 0x0b, 0xbc, 0x40, 0x54, 0x05, 0x17, 0x0b, 0xcc, 0x76, 0x42, 0x78, + 0xe4, 0x51, 0x9f, 0xc7, 0x56, 0xc7, 0xc7, 0xd5, 0x27, 0x00, 0x90, 0x0e, 0x11, 0x8a, 0x51, 0x98, + 0xc4, 0xfa, 0x7b, 0x4a, 0x1f, 0x1d, 0x15, 0x83, 0xb6, 0x9b, 0xc8, 0xca, 0x87, 0x7e, 0x1c, 0x1e, + 0xdb, 0x02, 0xa9, 0xf4, 0x4d, 0x5a, 0x11, 0xde, 0xa4, 0xd6, 0xbb, 0xe0, 0x8c, 0xb4, 0x08, 0x47, + 0xba, 0x43, 0xc4, 0xca, 0x59, 0x36, 0xfe, 0x89, 0x97, 0x0e, 0xa1, 0x37, 0x48, 0x36, 0x41, 0x07, + 0x0f, 0xa6, 0xee, 0x97, 0x94, 0xe6, 0x21, 0x09, 0xc5, 0x55, 0xe7, 0x93, 0x47, 0x2d, 0xff, 0xba, + 0x1b, 0x98, 0x1f, 0x25, 0x28, 0x01, 0xa6, 0x8f, 0x12, 0x61, 0xaa, 0x40, 0x55, 0x81, 0x3e, 0x6f, + 0x05, 0x7e, 0x72, 0x75, 0x3c, 0x15, 0xd4, 0x0b, 0x22, 0xf4, 0xbf, 0x96, 0x06, 0xeb, 0xf1, 0x88, + 0xa5, 0xf4, 0xb3, 0x36, 0xfe, 0xa9, 0x4c, 0x8b, 0xb2, 0x42, 0x70, 0x11, 0x3f, 0x22, 0x26, 0x28, + 0xd8, 0xfd, 0xae, 0x1b, 0xb9, 0xdf, 0xdd, 0x9d, 0x68, 0xa5, 0x45, 0x45, 0x96, 0x73, 0xf6, 0x00, + 0x60, 0x57, 0x7b, 0x13, 0xfa, 0x13, 0x57, 0x38, 0x75, 0x99, 0xa1, 0x5c, 0xdd, 0x5c, 0xe4, 0xbd, + 0xb8, 0x26, 0xe4, 0x37, 0x6a, 0x3d, 0x22, 0xbd, 0x01, 0x41, 0xcc, 0xf7, 0x43, 0xf8, 0x1d, 0xca, + 0xad, 0x8b, 0xa0, 0x82, 0x75, 0x41, 0x43, 0xde, 0x9c, 0x4d, 0x07, 0x23, 0xa2, 0xd0, 0x0e, 0x81, + 0xcc, 0x34, 0x91, 0xe9, 0xd6, 0x9f, 0x37, 0x40, 0x79, 0x2f, 0xea, 0x56, 0xdb, 0x60, 0x3e, 0xd3, + 0x40, 0x5e, 0xd1, 0x39, 0xa7, 0x88, 0xb2, 0x36, 0x8b, 0xa0, 0x78, 0x44, 0xf9, 0x39, 0x00, 0x42, + 0x13, 0xb7, 0xae, 0x5d, 0xcb, 0x31, 0xd6, 0xf5, 0x7c, 0x0c, 0xa7, 0x8e, 0xc0, 0xe9, 0x6c, 0x83, + 0x76, 0x55, 0xb7, 0x38, 0x03, 0xb3, 0x6e, 0x14, 0x82, 0x71, 0x36, 0x87, 0xe0, 0x8c, 0xdc, 0x63, + 0x5d, 0x33, 0x52, 0x48, 0x81, 0x56, 0xa3, 0x20, 0x90, 0x33, 0xfb, 0x18, 0xcc, 0xf2, 0x36, 0xe6, + 0xb2, 0x69, 0x31, 0x46, 0x58, 0xeb, 0x79, 0x08, 0x4e, 0xb7, 0x0d, 0xe6, 0x33, 0x3d, 0xc7, 0x15, + 0xd3, 0xca, 0x04, 0xa5, 0x3f, 0x6d, 0x55, 0x43, 0x11, 0x9f, 0xb6, 0xd0, 0x4c, 0xac, 0x9b, 0xd6, + 0x52, 0x8c, 0xfe, 0xb4, 0x47, 0x5b, 0x81, 0xd5, 0x03, 0xb0, 0x20, 0xb5, 0x01, 0xaf, 0x99, 0x56, + 0xa7, 0x38, 0x6b, 0xab, 0x18, 0x8e, 0x73, 0xf2, 0xc1, 0x6b, 0x23, 0xed, 0xbc, 0xf5, 0x1c, 0x1a, + 0x1c, 0x69, 0xbd, 0x5d, 0x14, 0x99, 0x31, 0x30, 0xa9, 0x61, 0xa7, 0x37, 0xb0, 0x2c, 0xd0, 0x60, + 0x60, 0xea, 0x26, 0x5e, 0xf5, 0x33, 0xf0, 0xfa, 0x68, 0x07, 0x6f, 0x23, 0x87, 0x4a, 0x0a, 0xb5, + 0x6e, 0x16, 0x86, 0x72, 0x96, 0x9f, 0x82, 0x53, 0x62, 0x4f, 0xef, 0xaa, 0x8e, 0x82, 0x00, 0xb2, + 0xde, 0x2a, 0x00, 0xca, 0x5c, 0x04, 0x99, 0x36, 0xda, 0x6a, 0x8e, 0x90, 0xec, 0xb2, 0xb9, 0x51, + 0x08, 0xc6, 0xd9, 0x3c, 0x03, 0x8b, 0xca, 0xee, 0xd9, 0x66, 0x01, 0x59, 0x39, 0xda, 0x7a, 0x67, + 0x1c, 0x34, 0xe7, 0xfd, 0x14, 0xcc, 0xa5, 0x6d, 0xb1, 0x2b, 0x3a, 0x12, 0x1c, 0x62, 0x6d, 0xe4, + 0x42, 0x44, 0xb7, 0x15, 0xfa, 0x55, 0x75, 0xd3, 0x42, 0x8a, 0xd1, 0xbb, 0xed, 0x68, 0x43, 0x0a, + 0x9f, 0x4d, 0xb6, 0x1b, 0xb5, 0x9a, 0xb3, 0x98, 0xc2, 0xf4, 0x67, 0xa3, 0xec, 0x38, 0x61, 0xb3, + 0x1e, 0x6d, 0x37, 0x19, 0x95, 0x90, 0x81, 0xea, 0xcd, 0x5a, 0xdb, 0x5a, 0xc2, 0xe6, 0xa0, 0xec, + 0x2b, 0x6d, 0x16, 0x23, 0xc5, 0xf6, 0xf9, 0xce, 0x38, 0x68, 0xd1, 0xa5, 0xc4, 0x1e, 0xd2, 0x55, + 0x03, 0x91, 0x04, 0xa4, 0x77, 0x29, 0x45, 0xf7, 0x88, 0x1d, 0x9b, 0x70, 0xd9, 0x9a, 0x8e, 0x4d, + 0xb8, 0x6b, 0x6f, 0x14, 0x82, 0x49, 0xfb, 0xe0, 0xdd, 0x21, 0xd3, 0x3e, 0x12, 0x90, 0x71, 0x1f, + 0x72, 0x07, 0x08, 0x47, 0x0d, 0xa9, 0xfd, 0xa3, 0x8d, 0x1a, 0x59, 0x9c, 0x3e, 0x6a, 0x68, 0x7a, + 0x3f, 0x87, 0xe0, 0x8c, 0xdc, 0xcf, 0x59, 0xd3, 0x4b, 0x9a, 0x01, 0xea, 0x6f, 0x71, 0x4d, 0x53, + 0x06, 0x87, 0xf3, 0x4c, 0x47, 0x66, 0x25, 0x97, 0x00, 0xde, 0xd2, 0x66, 0x11, 0x94, 0x72, 0x43, + 0xcc, 0xb4, 0xf3, 0x37, 0xc4, 0xac, 0xba, 0x51, 0x10, 0x28, 0xe7, 0x72, 0x69, 0xaf, 0xc5, 0x98, + 0xcb, 0x71, 0x98, 0x39, 0x97, 0x1b, 0x69, 0x8b, 0x54, 0xbf, 0x00, 0x6f, 0xa8, 0x5b, 0x22, 0x37, + 0x72, 0xe3, 0xa8, 0x08, 0xb7, 0xee, 0x8c, 0x05, 0x37, 0xb0, 0x67, 0xed, 0x8c, 0xa2, 0xec, 0x29, + 0xbc, 0x30, 0xfb, 0x6c, 0xdf, 0x81, 0xa4, 0x50, 0xd9, 0xa6, 0xc3, 0xb5, 0x7c, 0x42, 0x18, 0x67, + 0x48, 0xa1, 0x94, 0x9d, 0x06, 0x6c, 0x9f, 0x99, 0x2e, 0xc3, 0x8a, 0x31, 0xe8, 0x31, 0x94, 0xb5, + 0x59, 0x04, 0x25, 0xee, 0x46, 0x2a, 0xf0, 0x6b, 0x77, 0x93, 0xc5, 0xe9, 0x77, 0xa3, 0xae, 0xed, + 0xe3, 0xe0, 0x32, 0x5a, 0xd8, 0xdf, 0xc8, 0x21, 0x92, 0x42, 0xf5, 0xc1, 0x45, 0x5b, 0xd4, 0xc7, + 0xfe, 0x90, 0xad, 0xe8, 0xaf, 0xe6, 0xd0, 0xa0, 0x30, 0xbd, 0x3f, 0x28, 0x2b, 0xfa, 0xd8, 0xc7, + 0xe5, 0x72, 0xfe, 0x5a, 0x81, 0x7b, 0x0f, 0x03, 0xf5, 0x3e, 0xae, 0x2b, 0xde, 0x1f, 0x81, 0xb3, + 0xaa, 0xf2, 0xfc, 0x5b, 0x05, 0xe8, 0xf0, 0x17, 0xc9, 0xed, 0x31, 0xc0, 0x52, 0x72, 0x20, 0x55, + 0xdc, 0x37, 0xf2, 0xc2, 0x08, 0x87, 0x1a, 0x93, 0x03, 0x75, 0x3d, 0x9d, 0x5e, 0xd0, 0x42, 0x31, + 0x7d, 0xc5, 0x1c, 0x17, 0x29, 0xca, 0x74, 0x41, 0x8f, 0xd6, 0xcb, 0x93, 0x3b, 0x33, 0x2d, 0x96, + 0xaf, 0xe6, 0x3d, 0x07, 0x09, 0xcc, 0x7c, 0x67, 0x8e, 0xd6, 0xc1, 0x9f, 0x82, 0xb9, 0xb4, 0xb6, + 0x7d, 0xc5, 0xe8, 0xa2, 0xc4, 0x2e, 0x36, 0x72, 0x21, 0x52, 0xea, 0x99, 0x14, 0x95, 0x4d, 0xa9, + 0x27, 0xc3, 0x18, 0x53, 0x4f, 0xa9, 0x72, 0x8c, 0x8d, 0x5b, 0x2e, 0x1b, 0xaf, 0xe5, 0xb8, 0x47, + 0x02, 0xd4, 0x1b, 0xb7, 0xa6, 0x68, 0x8c, 0x6d, 0x6c, 0xb4, 0x62, 0xac, 0x55, 0xc5, 0x08, 0x54, + 0x6f, 0x63, 0xda, 0x9a, 0x31, 0xb6, 0xb1, 0x4c, 0xc1, 0x58, 0x6b, 0x63, 0x22, 0x4a, 0x6f, 0x63, + 0xaa, 0x3a, 0x31, 0xd6, 0xa1, 0x5c, 0x23, 0x5e, 0x2b, 0x58, 0xc5, 0xd5, 0xeb, 0x50, 0x53, 0x59, + 0xc5, 0xd9, 0xa0, 0x58, 0x56, 0xbd, 0x9a, 0xbb, 0x7e, 0x37, 0xd0, 0x67, 0x83, 0x8a, 0x82, 0x29, + 0x0e, 0x19, 0x52, 0xb1, 0xf4, 0x5a, 0xbe, 0x8c, 0x18, 0xa7, 0x0f, 0x19, 0xea, 0xba, 0x27, 0x7e, + 0x1c, 0x28, 0x8b, 0x9e, 0x9b, 0x05, 0x8e, 0x99, 0xa3, 0xf5, 0x8f, 0x03, 0x53, 0xe5, 0xb3, 0xda, + 0x02, 0x27, 0x93, 0xb2, 0xe7, 0x65, 0x93, 0xab, 0x37, 0xa1, 0x6f, 0xad, 0xe5, 0x00, 0xc4, 0xa2, + 0xc8, 0x48, 0x1d, 0x73, 0xbd, 0x80, 0x78, 0x04, 0xa9, 0x2f, 0x8a, 0xe8, 0xca, 0x94, 0x56, 0xe5, + 0x57, 0xaf, 0x9e, 0x5f, 0x2f, 0x35, 0xed, 0xaf, 0x5f, 0x2c, 0x95, 0xbe, 0x79, 0xb1, 0x54, 0xfa, + 0xcf, 0x8b, 0xa5, 0xd2, 0xef, 0x5f, 0x2e, 0x9d, 0xf8, 0xe6, 0xe5, 0xd2, 0x89, 0x7f, 0xbd, 0x5c, + 0x3a, 0xf1, 0xc9, 0xfd, 0xae, 0x1b, 0x1f, 0x0c, 0xda, 0x5b, 0x4e, 0xd0, 0x6b, 0xec, 0x22, 0x07, + 0xf9, 0x71, 0x08, 0x3d, 0x2c, 0xf5, 0xfb, 0xb0, 0x87, 0x1a, 0xea, 0x3f, 0x41, 0x89, 0x8f, 0xfb, + 0x28, 0x6a, 0xcf, 0x90, 0xbf, 0xa2, 0xb9, 0xfd, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x20, 0xfe, + 0x96, 0x73, 0x9f, 0x34, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -7904,10 +7904,10 @@ func (m *MsgMatchReporterAppoint) MarshalToSizedBuffer(dAtA []byte) (int, error) 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))) + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) i-- dAtA[i] = 0xa } @@ -10762,7 +10762,7 @@ func (m *MsgMatchReporterAppoint) Size() (n int) { } var l int _ = l - l = len(m.Creator) + l = len(m.Authority) if l > 0 { n += 1 + l + sovTx(uint64(l)) } @@ -14396,7 +14396,7 @@ func (m *MsgMatchReporterAppoint) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14424,7 +14424,7 @@ func (m *MsgMatchReporterAppoint) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Creator = string(dAtA[iNdEx:postIndex]) + m.Authority = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { From 1f5b0ada1ed55a2554f2281b3e23671645fb0784 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 18 Feb 2025 13:26:50 +0100 Subject: [PATCH 70/99] feat(#242): Added SetActivate --- api/cardchain/cardchain/tx.pulsar.go | 1704 +++++++++++++---- api/cardchain/cardchain/tx_grpc.pb.go | 37 + docs/static/openapi.yml | 2 +- gen.sh | 2 +- proto/cardchain/cardchain/tx.proto | 9 + .../keeper/msg_server_early_access_grant.go | 2 +- x/cardchain/keeper/msg_server_set_activate.go | 53 + x/cardchain/module/autocli.go | 6 + x/cardchain/module/simulation.go | 23 + x/cardchain/simulation/set_activate.go | 29 + x/cardchain/types/codec.go | 3 + x/cardchain/types/message_set_activate.go | 24 + .../types/message_set_activate_test.go | 40 + x/cardchain/types/tx.pb.go | 712 +++++-- 14 files changed, 2084 insertions(+), 562 deletions(-) create mode 100644 x/cardchain/keeper/msg_server_set_activate.go create mode 100644 x/cardchain/simulation/set_activate.go create mode 100644 x/cardchain/types/message_set_activate.go create mode 100644 x/cardchain/types/message_set_activate_test.go diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index 9a924802..7d6ab84b 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -45715,6 +45715,830 @@ func (x *fastReflection_MsgEarlyAccessGrantResponse) ProtoMethods() *protoiface. } } +var ( + md_MsgSetActivate protoreflect.MessageDescriptor + fd_MsgSetActivate_authority protoreflect.FieldDescriptor + fd_MsgSetActivate_setId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetActivate = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetActivate") + fd_MsgSetActivate_authority = md_MsgSetActivate.Fields().ByName("authority") + fd_MsgSetActivate_setId = md_MsgSetActivate.Fields().ByName("setId") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetActivate)(nil) + +type fastReflection_MsgSetActivate MsgSetActivate + +func (x *MsgSetActivate) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetActivate)(x) +} + +func (x *MsgSetActivate) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[100] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetActivate_messageType fastReflection_MsgSetActivate_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetActivate_messageType{} + +type fastReflection_MsgSetActivate_messageType struct{} + +func (x fastReflection_MsgSetActivate_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetActivate)(nil) +} +func (x fastReflection_MsgSetActivate_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetActivate) +} +func (x fastReflection_MsgSetActivate_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetActivate +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetActivate) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetActivate +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetActivate) Type() protoreflect.MessageType { + return _fastReflection_MsgSetActivate_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetActivate) New() protoreflect.Message { + return new(fastReflection_MsgSetActivate) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetActivate) Interface() protoreflect.ProtoMessage { + return (*MsgSetActivate)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetActivate) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgSetActivate_authority, value) { + return + } + } + if x.SetId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SetId) + if !f(fd_MsgSetActivate_setId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetActivate) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetActivate.authority": + return x.Authority != "" + case "cardchain.cardchain.MsgSetActivate.setId": + return x.SetId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetActivate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetActivate does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetActivate) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetActivate.authority": + x.Authority = "" + case "cardchain.cardchain.MsgSetActivate.setId": + x.SetId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetActivate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetActivate does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetActivate) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgSetActivate.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgSetActivate.setId": + value := x.SetId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetActivate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetActivate does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetActivate) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetActivate.authority": + x.Authority = value.Interface().(string) + case "cardchain.cardchain.MsgSetActivate.setId": + x.SetId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetActivate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetActivate does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetActivate) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetActivate.authority": + panic(fmt.Errorf("field authority of message cardchain.cardchain.MsgSetActivate is not mutable")) + case "cardchain.cardchain.MsgSetActivate.setId": + panic(fmt.Errorf("field setId of message cardchain.cardchain.MsgSetActivate is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetActivate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetActivate does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetActivate) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgSetActivate.authority": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgSetActivate.setId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetActivate")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetActivate does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetActivate) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetActivate", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetActivate) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetActivate) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetActivate) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetActivate) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetActivate) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.SetId != 0 { + n += 1 + runtime.Sov(uint64(x.SetId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetActivate) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.SetId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetActivate) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetActivate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetActivate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + x.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetActivateResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgSetActivateResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgSetActivateResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetActivateResponse)(nil) + +type fastReflection_MsgSetActivateResponse MsgSetActivateResponse + +func (x *MsgSetActivateResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetActivateResponse)(x) +} + +func (x *MsgSetActivateResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[101] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetActivateResponse_messageType fastReflection_MsgSetActivateResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetActivateResponse_messageType{} + +type fastReflection_MsgSetActivateResponse_messageType struct{} + +func (x fastReflection_MsgSetActivateResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetActivateResponse)(nil) +} +func (x fastReflection_MsgSetActivateResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetActivateResponse) +} +func (x fastReflection_MsgSetActivateResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetActivateResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetActivateResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetActivateResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetActivateResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetActivateResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetActivateResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetActivateResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetActivateResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetActivateResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetActivateResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetActivateResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetActivateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetActivateResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetActivateResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetActivateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetActivateResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetActivateResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetActivateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetActivateResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetActivateResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetActivateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetActivateResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetActivateResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetActivateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetActivateResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetActivateResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgSetActivateResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgSetActivateResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetActivateResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgSetActivateResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetActivateResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetActivateResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetActivateResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetActivateResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetActivateResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetActivateResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetActivateResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetActivateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetActivateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -49583,6 +50407,75 @@ func (*MsgEarlyAccessGrantResponse) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{99} } +type MsgSetActivate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` +} + +func (x *MsgSetActivate) Reset() { + *x = MsgSetActivate{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSetActivate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSetActivate) ProtoMessage() {} + +// Deprecated: Use MsgSetActivate.ProtoReflect.Descriptor instead. +func (*MsgSetActivate) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{100} +} + +func (x *MsgSetActivate) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgSetActivate) GetSetId() uint64 { + if x != nil { + return x.SetId + } + return 0 +} + +type MsgSetActivateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgSetActivateResponse) Reset() { + *x = MsgSetActivateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSetActivateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSetActivateResponse) ProtoMessage() {} + +// Deprecated: Use MsgSetActivateResponse.ProtoReflect.Descriptor instead. +func (*MsgSetActivateResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{101} +} + var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ @@ -50091,351 +50984,366 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xab, 0x29, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, - 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, + 0x8c, 0x2a, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, - 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, - 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, - 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, - 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, + 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, - 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, - 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, - 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, - 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, + 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, + 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, + 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, - 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, - 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, - 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, - 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, + 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, - 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, - 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, + 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, + 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, - 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, + 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, + 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, - 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, - 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, + 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, + 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, + 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, + 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, - 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, - 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, - 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, - 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, - 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, - 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, - 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, - 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, + 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, - 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, - 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, - 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, - 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, - 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, - 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, + 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, + 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, + 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, + 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, + 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, + 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, + 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, + 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, - 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, - 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, + 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, + 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, + 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, - 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, + 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, + 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, + 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, - 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, - 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, - 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, - 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, + 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, - 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, + 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, - 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, + 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, + 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, + 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, - 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, - 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, - 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, - 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, - 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, - 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, + 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, + 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x59, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, + 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, + 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, + 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x53, 0x65, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, - 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, - 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, + 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, + 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, - 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, - 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, - 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x2e, 0x2e, 0x63, 0x61, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, + 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x45, - 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, - 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x42, - 0x61, 0x6e, 0x12, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, - 0x42, 0x61, 0x6e, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x42, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, - 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x53, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x12, 0x1f, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x1a, 0x27, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, - 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, - 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, - 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, + 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, + 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -50450,7 +51358,7 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 101) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 103) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse @@ -50552,27 +51460,29 @@ var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgCardBanResponse)(nil), // 97: cardchain.cardchain.MsgCardBanResponse (*MsgEarlyAccessGrant)(nil), // 98: cardchain.cardchain.MsgEarlyAccessGrant (*MsgEarlyAccessGrantResponse)(nil), // 99: cardchain.cardchain.MsgEarlyAccessGrantResponse - nil, // 100: cardchain.cardchain.MsgEncounterCreate.ParametersEntry - (*Params)(nil), // 101: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 102: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 103: cardchain.cardchain.SingleVote - (Outcome)(0), // 104: cardchain.cardchain.Outcome - (CardRarity)(0), // 105: cardchain.cardchain.CardRarity - (Response)(0), // 106: cardchain.cardchain.Response + (*MsgSetActivate)(nil), // 100: cardchain.cardchain.MsgSetActivate + (*MsgSetActivateResponse)(nil), // 101: cardchain.cardchain.MsgSetActivateResponse + nil, // 102: cardchain.cardchain.MsgEncounterCreate.ParametersEntry + (*Params)(nil), // 103: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 104: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 105: cardchain.cardchain.SingleVote + (Outcome)(0), // 106: cardchain.cardchain.Outcome + (CardRarity)(0), // 107: cardchain.cardchain.CardRarity + (Response)(0), // 108: cardchain.cardchain.Response } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 101, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 102, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 103, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 102, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 104, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome - 102, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin - 105, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity - 106, // 7: cardchain.cardchain.MsgCouncilResponseReveal.response:type_name -> cardchain.cardchain.Response - 104, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome - 103, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote - 103, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote - 100, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry + 103, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 104, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 105, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 104, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 106, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 104, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin + 107, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity + 108, // 7: cardchain.cardchain.MsgCouncilResponseReveal.response:type_name -> cardchain.cardchain.Response + 106, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome + 105, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote + 105, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote + 102, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry 0, // 12: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams 2, // 13: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate 4, // 14: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy @@ -50623,58 +51533,60 @@ var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ 94, // 59: cardchain.cardchain.Msg.EarlyAccessDisinvite:input_type -> cardchain.cardchain.MsgEarlyAccessDisinvite 96, // 60: cardchain.cardchain.Msg.CardBan:input_type -> cardchain.cardchain.MsgCardBan 98, // 61: cardchain.cardchain.Msg.EarlyAccessGrant:input_type -> cardchain.cardchain.MsgEarlyAccessGrant - 1, // 62: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 63: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 64: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 65: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 66: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 67: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 68: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 69: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 70: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 71: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 72: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 73: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 25, // 74: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse - 27, // 75: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse - 29, // 76: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse - 31, // 77: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse - 33, // 78: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse - 35, // 79: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse - 37, // 80: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse - 39, // 81: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse - 41, // 82: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse - 43, // 83: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse - 45, // 84: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse - 47, // 85: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse - 49, // 86: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse - 51, // 87: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse - 53, // 88: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse - 55, // 89: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse - 57, // 90: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse - 59, // 91: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse - 61, // 92: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse - 63, // 93: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse - 65, // 94: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse - 67, // 95: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse - 69, // 96: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse - 71, // 97: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse - 73, // 98: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse - 75, // 99: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse - 77, // 100: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse - 79, // 101: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse - 81, // 102: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse - 83, // 103: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse - 85, // 104: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse - 87, // 105: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse - 89, // 106: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse - 91, // 107: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse - 93, // 108: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse - 95, // 109: cardchain.cardchain.Msg.EarlyAccessDisinvite:output_type -> cardchain.cardchain.MsgEarlyAccessDisinviteResponse - 97, // 110: cardchain.cardchain.Msg.CardBan:output_type -> cardchain.cardchain.MsgCardBanResponse - 99, // 111: cardchain.cardchain.Msg.EarlyAccessGrant:output_type -> cardchain.cardchain.MsgEarlyAccessGrantResponse - 62, // [62:112] is the sub-list for method output_type - 12, // [12:62] is the sub-list for method input_type + 100, // 62: cardchain.cardchain.Msg.SetActivate:input_type -> cardchain.cardchain.MsgSetActivate + 1, // 63: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 64: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 65: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 66: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 67: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 68: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 69: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 70: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 71: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 72: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 73: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 74: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 25, // 75: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse + 27, // 76: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse + 29, // 77: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse + 31, // 78: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse + 33, // 79: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse + 35, // 80: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse + 37, // 81: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse + 39, // 82: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse + 41, // 83: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse + 43, // 84: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse + 45, // 85: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse + 47, // 86: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse + 49, // 87: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse + 51, // 88: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse + 53, // 89: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse + 55, // 90: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse + 57, // 91: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse + 59, // 92: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse + 61, // 93: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse + 63, // 94: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse + 65, // 95: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse + 67, // 96: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse + 69, // 97: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse + 71, // 98: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse + 73, // 99: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse + 75, // 100: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse + 77, // 101: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse + 79, // 102: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse + 81, // 103: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse + 83, // 104: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse + 85, // 105: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse + 87, // 106: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse + 89, // 107: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse + 91, // 108: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse + 93, // 109: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse + 95, // 110: cardchain.cardchain.Msg.EarlyAccessDisinvite:output_type -> cardchain.cardchain.MsgEarlyAccessDisinviteResponse + 97, // 111: cardchain.cardchain.Msg.CardBan:output_type -> cardchain.cardchain.MsgCardBanResponse + 99, // 112: cardchain.cardchain.Msg.EarlyAccessGrant:output_type -> cardchain.cardchain.MsgEarlyAccessGrantResponse + 101, // 113: cardchain.cardchain.Msg.SetActivate:output_type -> cardchain.cardchain.MsgSetActivateResponse + 63, // [63:114] is the sub-list for method output_type + 12, // [12:63] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name @@ -51891,6 +52803,30 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } + file_cardchain_cardchain_tx_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetActivate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetActivateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -51898,7 +52834,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 101, + NumMessages: 103, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index f101c641..1273acad 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -69,6 +69,7 @@ const ( Msg_EarlyAccessDisinvite_FullMethodName = "/cardchain.cardchain.Msg/EarlyAccessDisinvite" Msg_CardBan_FullMethodName = "/cardchain.cardchain.Msg/CardBan" Msg_EarlyAccessGrant_FullMethodName = "/cardchain.cardchain.Msg/EarlyAccessGrant" + Msg_SetActivate_FullMethodName = "/cardchain.cardchain.Msg/SetActivate" ) // MsgClient is the client API for Msg service. @@ -127,6 +128,7 @@ type MsgClient interface { EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) CardBan(ctx context.Context, in *MsgCardBan, opts ...grpc.CallOption) (*MsgCardBanResponse, error) EarlyAccessGrant(ctx context.Context, in *MsgEarlyAccessGrant, opts ...grpc.CallOption) (*MsgEarlyAccessGrantResponse, error) + SetActivate(ctx context.Context, in *MsgSetActivate, opts ...grpc.CallOption) (*MsgSetActivateResponse, error) } type msgClient struct { @@ -587,6 +589,15 @@ func (c *msgClient) EarlyAccessGrant(ctx context.Context, in *MsgEarlyAccessGran return out, nil } +func (c *msgClient) SetActivate(ctx context.Context, in *MsgSetActivate, opts ...grpc.CallOption) (*MsgSetActivateResponse, error) { + out := new(MsgSetActivateResponse) + err := c.cc.Invoke(ctx, Msg_SetActivate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -643,6 +654,7 @@ type MsgServer interface { EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) CardBan(context.Context, *MsgCardBan) (*MsgCardBanResponse, error) EarlyAccessGrant(context.Context, *MsgEarlyAccessGrant) (*MsgEarlyAccessGrantResponse, error) + SetActivate(context.Context, *MsgSetActivate) (*MsgSetActivateResponse, error) mustEmbedUnimplementedMsgServer() } @@ -800,6 +812,9 @@ func (UnimplementedMsgServer) CardBan(context.Context, *MsgCardBan) (*MsgCardBan func (UnimplementedMsgServer) EarlyAccessGrant(context.Context, *MsgEarlyAccessGrant) (*MsgEarlyAccessGrantResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessGrant not implemented") } +func (UnimplementedMsgServer) SetActivate(context.Context, *MsgSetActivate) (*MsgSetActivateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetActivate not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -1713,6 +1728,24 @@ func _Msg_EarlyAccessGrant_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Msg_SetActivate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetActivate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetActivate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetActivate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetActivate(ctx, req.(*MsgSetActivate)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1920,6 +1953,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "EarlyAccessGrant", Handler: _Msg_EarlyAccessGrant_Handler, }, + { + MethodName: "SetActivate", + Handler: _Msg_SetActivate_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 6c2915f5..d885ca14 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"creator":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh index 53e46ef1..fcd3b962 100755 --- a/gen.sh +++ b/gen.sh @@ -51,4 +51,4 @@ #ignite scaffold message EncounterClose encounterId:uint user won:bool #ignite scaffold message CardBan cardId:uint --signer authority -y #ignite scaffold message EarlyAccessGrant user --signer authority -y -ignite scaffold message EarlyAccessGrant user --signer authority -y +ignite scaffold message SetActivate setId:uint --signer authority -y diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index ede6a1e2..81895b1d 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -84,6 +84,7 @@ service Msg { rpc CardBan(MsgCardBan) returns (MsgCardBanResponse); rpc EarlyAccessGrant(MsgEarlyAccessGrant) returns (MsgEarlyAccessGrantResponse); + rpc SetActivate(MsgSetActivate) returns (MsgSetActivateResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -538,3 +539,11 @@ message MsgEarlyAccessGrant { } message MsgEarlyAccessGrantResponse {} + +message MsgSetActivate { + option (cosmos.msg.v1.signer) = "authority"; + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + uint64 setId = 2; +} + +message MsgSetActivateResponse {} diff --git a/x/cardchain/keeper/msg_server_early_access_grant.go b/x/cardchain/keeper/msg_server_early_access_grant.go index 50a3dc39..e42d5c5f 100644 --- a/x/cardchain/keeper/msg_server_early_access_grant.go +++ b/x/cardchain/keeper/msg_server_early_access_grant.go @@ -21,7 +21,7 @@ func (k msgServer) EarlyAccessGrant(goCtx context.Context, msg *types.MsgEarlyAc return nil, err } - user.AddEarlyAccess(msg.Authority) + user.AddEarlyAccess("") k.SetUserFromUser(ctx, user) } diff --git a/x/cardchain/keeper/msg_server_set_activate.go b/x/cardchain/keeper/msg_server_set_activate.go new file mode 100644 index 00000000..883ea5fc --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_activate.go @@ -0,0 +1,53 @@ +package keeper + +import ( + "context" + "sort" + + errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +type sortStruct struct { + Id uint64 + Set *types.Set +} + +func (k msgServer) SetActivate(goCtx context.Context, msg *types.MsgSetActivate) (*types.MsgSetActivateResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + if k.authority != msg.Authority { + return nil, errorsmod.Wrapf(types.ErrInvalidSigner, "expected %s got %s", k.authority, msg.Authority) + } + + set := k.SetK.Get(ctx, msg.SetId) + + if set.Status != types.SetStatus_finalized { + return nil, errorsmod.Wrapf(errors.ErrUnauthorized, "Set status is %s but should be finalized", set.Status) + } + + activeSetsIds := k.GetActiveSets(ctx) + var activeSets []sortStruct + if len(activeSets) >= int(k.GetParams(ctx).ActiveSetsAmount) { + for _, id := range activeSetsIds { + var set = k.SetK.Get(ctx, id) + activeSets = append(activeSets, sortStruct{id, set}) + } + sort.SliceStable(activeSets, func(i, j int) bool { + return activeSets[i].Set.TimeStamp < activeSets[j].Set.TimeStamp + }, + ) + yeetStruct := activeSets[0] + yeetStruct.Set.Status = types.SetStatus_archived + k.SetK.Set(ctx, yeetStruct.Id, yeetStruct.Set) + } + + set.Status = types.SetStatus_active + set.TimeStamp = ctx.BlockHeight() + + k.SetK.Set(ctx, msg.SetId, set) + + return &types.MsgSetActivateResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 7ff9f33b..1ab0b79d 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -471,6 +471,12 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Send a EarlyAccessGrant tx", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "users"}}, }, + { + RpcMethod: "SetActivate", + Use: "set-activate [set-id]", + Short: "Send a SetActivate tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}}, + }, // this line is used by ignite scaffolding # autocli/tx }, }, diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index ec170c13..e69bc21c 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -219,6 +219,10 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgEarlyAccessGrant int = 100 + opWeightMsgSetActivate = "op_weight_msg_set_activate" + // TODO: Determine the simulation weight value + defaultWeightMsgSetActivate int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -781,6 +785,17 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgEarlyAccessGrant(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgSetActivate int + simState.AppParams.GetOrGenerate(opWeightMsgSetActivate, &weightMsgSetActivate, nil, + func(_ *rand.Rand) { + weightMsgSetActivate = defaultWeightMsgSetActivate + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetActivate, + cardchainsimulation.SimulateMsgSetActivate(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -1181,6 +1196,14 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei return nil }, ), + simulation.NewWeightedProposalMsg( + opWeightMsgSetActivate, + defaultWeightMsgSetActivate, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgSetActivate(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/set_activate.go b/x/cardchain/simulation/set_activate.go new file mode 100644 index 00000000..7bfe1210 --- /dev/null +++ b/x/cardchain/simulation/set_activate.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 SimulateMsgSetActivate( + 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.MsgSetActivate{ + Authority: simAccount.Address.String(), + } + + // TODO: Handling the SetActivate simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "SetActivate simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 81a30750..c628eeee 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -155,6 +155,9 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgEarlyAccessGrant{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetActivate{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/cardchain/types/message_set_activate.go b/x/cardchain/types/message_set_activate.go new file mode 100644 index 00000000..764783e8 --- /dev/null +++ b/x/cardchain/types/message_set_activate.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSetActivate{} + +func NewMsgSetActivate(authority string, setId uint64) *MsgSetActivate { + return &MsgSetActivate{ + Authority: authority, + SetId: setId, + } +} + +func (msg *MsgSetActivate) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Authority) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid authority address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_activate_test.go b/x/cardchain/types/message_set_activate_test.go new file mode 100644 index 00000000..cbcded52 --- /dev/null +++ b/x/cardchain/types/message_set_activate_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetActivate_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetActivate + err error + }{ + { + name: "invalid address", + msg: MsgSetActivate{ + Authority: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetActivate{ + Authority: 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/tx.pb.go b/x/cardchain/types/tx.pb.go index e36f970b..080abcb3 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -4830,6 +4830,94 @@ func (m *MsgEarlyAccessGrantResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgEarlyAccessGrantResponse proto.InternalMessageInfo +type MsgSetActivate struct { + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` +} + +func (m *MsgSetActivate) Reset() { *m = MsgSetActivate{} } +func (m *MsgSetActivate) String() string { return proto.CompactTextString(m) } +func (*MsgSetActivate) ProtoMessage() {} +func (*MsgSetActivate) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{100} +} +func (m *MsgSetActivate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetActivate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetActivate.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 *MsgSetActivate) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetActivate.Merge(m, src) +} +func (m *MsgSetActivate) XXX_Size() int { + return m.Size() +} +func (m *MsgSetActivate) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetActivate.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSetActivate proto.InternalMessageInfo + +func (m *MsgSetActivate) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgSetActivate) GetSetId() uint64 { + if m != nil { + return m.SetId + } + return 0 +} + +type MsgSetActivateResponse struct { +} + +func (m *MsgSetActivateResponse) Reset() { *m = MsgSetActivateResponse{} } +func (m *MsgSetActivateResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetActivateResponse) ProtoMessage() {} +func (*MsgSetActivateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{101} +} +func (m *MsgSetActivateResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetActivateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetActivateResponse.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 *MsgSetActivateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetActivateResponse.Merge(m, src) +} +func (m *MsgSetActivateResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetActivateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetActivateResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSetActivateResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") @@ -4932,192 +5020,196 @@ func init() { proto.RegisterType((*MsgCardBanResponse)(nil), "cardchain.cardchain.MsgCardBanResponse") proto.RegisterType((*MsgEarlyAccessGrant)(nil), "cardchain.cardchain.MsgEarlyAccessGrant") proto.RegisterType((*MsgEarlyAccessGrantResponse)(nil), "cardchain.cardchain.MsgEarlyAccessGrantResponse") + proto.RegisterType((*MsgSetActivate)(nil), "cardchain.cardchain.MsgSetActivate") + proto.RegisterType((*MsgSetActivateResponse)(nil), "cardchain.cardchain.MsgSetActivateResponse") } func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2870 bytes of a gzipped FileDescriptorProto + // 2906 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0x4f, 0x6f, 0x1b, 0xc7, - 0x15, 0x37, 0x45, 0x51, 0x96, 0xc6, 0xb2, 0x9c, 0xd0, 0x8a, 0x4d, 0xaf, 0x1d, 0x59, 0xa6, 0x25, - 0x4b, 0x72, 0x64, 0x31, 0xb6, 0xe3, 0x3f, 0x35, 0x9a, 0x14, 0xa2, 0xe4, 0x06, 0x01, 0xaa, 0xd8, + 0x15, 0x37, 0x45, 0x51, 0x96, 0xc6, 0xb2, 0x9c, 0xd0, 0x8a, 0x43, 0xaf, 0x1d, 0x59, 0xa6, 0x25, + 0x4b, 0x56, 0x64, 0x31, 0xb6, 0xe3, 0x3f, 0x35, 0x9a, 0x14, 0xa2, 0xe4, 0x06, 0x01, 0xaa, 0xd8, 0x5d, 0x36, 0x71, 0x9d, 0x16, 0x0d, 0x86, 0xcb, 0x11, 0xb5, 0xd5, 0x72, 0x97, 0xd9, 0x5d, 0x52, - 0x91, 0x81, 0x00, 0x45, 0x7a, 0x29, 0xda, 0x4b, 0xcf, 0x45, 0x2f, 0xbd, 0x05, 0x28, 0x50, 0x18, - 0x68, 0x3f, 0x41, 0x7b, 0xc9, 0xa1, 0x87, 0x20, 0xa7, 0x9e, 0x8a, 0xc2, 0x3e, 0xf8, 0x6b, 0x14, - 0xf3, 0x67, 0x67, 0x67, 0x87, 0x33, 0xb3, 0x4b, 0xa6, 0xbd, 0xd8, 0x9c, 0xd9, 0xdf, 0xbc, 0xf7, - 0xe6, 0xcd, 0x7b, 0xf3, 0xde, 0xbc, 0x07, 0x81, 0x4b, 0x0e, 0x0c, 0x3b, 0xce, 0x01, 0x74, 0xfd, - 0x46, 0xfa, 0x2b, 0xfe, 0x7c, 0xab, 0x1f, 0x06, 0x71, 0x50, 0x3d, 0xcb, 0xe7, 0xb6, 0xf8, 0x2f, - 0xeb, 0x75, 0xd8, 0x73, 0xfd, 0xa0, 0x41, 0xfe, 0xa5, 0x38, 0xeb, 0xbc, 0x13, 0x44, 0xbd, 0x20, - 0x6a, 0xf4, 0xa2, 0x6e, 0x63, 0x78, 0x13, 0xff, 0xc7, 0x3e, 0x5c, 0xa0, 0x1f, 0x3e, 0x25, 0xa3, - 0x06, 0x1d, 0xb0, 0x4f, 0x8b, 0xdd, 0xa0, 0x1b, 0xd0, 0x79, 0xfc, 0x8b, 0xcd, 0x2e, 0xab, 0xe4, - 0xe9, 0xc3, 0x10, 0xf6, 0x92, 0x75, 0x4b, 0x8c, 0x57, 0x1b, 0x46, 0xa8, 0x31, 0xbc, 0xd9, 0x46, - 0x31, 0xbc, 0xd9, 0x70, 0x02, 0xd7, 0x37, 0x51, 0x18, 0x06, 0xb1, 0xeb, 0x27, 0x42, 0x5d, 0x56, - 0x21, 0x7a, 0x30, 0x76, 0x0e, 0x18, 0xe0, 0x8a, 0x0a, 0xe0, 0x04, 0x03, 0xdf, 0x71, 0x3d, 0x2e, - 0x85, 0x0a, 0x02, 0xc3, 0x0e, 0xfd, 0x5e, 0xff, 0x47, 0x09, 0x9c, 0xd9, 0x8b, 0xba, 0x1f, 0xf5, - 0x3b, 0x30, 0x46, 0x8f, 0x89, 0xfc, 0xd5, 0xbb, 0x60, 0x0e, 0x0e, 0xe2, 0x83, 0x20, 0x74, 0xe3, - 0xe3, 0x5a, 0x69, 0xb9, 0xb4, 0x3e, 0xd7, 0xac, 0x7d, 0xfb, 0xb7, 0x1b, 0x8b, 0x4c, 0x2d, 0xdb, - 0x9d, 0x4e, 0x88, 0xa2, 0xa8, 0x15, 0x87, 0xae, 0xdf, 0xb5, 0x53, 0x68, 0xf5, 0x3d, 0x30, 0x43, - 0x35, 0x50, 0x9b, 0x5a, 0x2e, 0xad, 0x9f, 0xba, 0x75, 0x71, 0x4b, 0x71, 0x2c, 0x5b, 0x94, 0x49, - 0x73, 0xee, 0xeb, 0x7f, 0x5f, 0x3e, 0xf1, 0xd5, 0xab, 0xe7, 0xd7, 0x4b, 0x36, 0x5b, 0xf5, 0xe0, - 0xfe, 0x97, 0xaf, 0x9e, 0x5f, 0x4f, 0xe9, 0xfd, 0xf6, 0xd5, 0xf3, 0xeb, 0xab, 0xa9, 0xd0, 0x9f, - 0x0b, 0x1b, 0x90, 0x24, 0xae, 0x5f, 0x00, 0xe7, 0xa5, 0x29, 0x1b, 0x45, 0xfd, 0xc0, 0x8f, 0x50, - 0xbd, 0x0b, 0x4e, 0xe3, 0x4f, 0x11, 0x0a, 0x77, 0x42, 0x04, 0x63, 0x54, 0xad, 0x81, 0x93, 0x0e, - 0xfe, 0x15, 0x84, 0x74, 0x6f, 0x76, 0x32, 0xc4, 0x5f, 0x7c, 0x74, 0x84, 0xa1, 0x64, 0x03, 0x73, - 0x76, 0x32, 0xac, 0x2e, 0x82, 0x0a, 0xf4, 0x5c, 0x18, 0xd5, 0xca, 0x64, 0x9e, 0x0e, 0x1e, 0xcc, - 0x63, 0x79, 0x93, 0xd5, 0xf5, 0xf3, 0xe0, 0x8d, 0x0c, 0x23, 0x2e, 0x41, 0x0f, 0xbc, 0xb6, 0x17, - 0x75, 0x77, 0x60, 0xd8, 0x69, 0x39, 0x07, 0xa8, 0x87, 0x9a, 0x83, 0x63, 0x83, 0x10, 0x37, 0x41, - 0xb9, 0xed, 0x76, 0x98, 0x06, 0x2f, 0x6c, 0x31, 0x9d, 0x63, 0x23, 0xda, 0x62, 0x46, 0xb4, 0xb5, - 0x13, 0xb8, 0x7e, 0x73, 0x1a, 0xeb, 0xcf, 0xc6, 0x58, 0x49, 0x8e, 0x5b, 0xa0, 0x26, 0xb3, 0x4b, - 0x44, 0xa9, 0x9e, 0x03, 0x33, 0x58, 0x89, 0x1f, 0x74, 0x08, 0xd7, 0x69, 0x9b, 0x8d, 0xea, 0x7f, - 0x2f, 0x81, 0x6a, 0xb2, 0x08, 0x0e, 0xd1, 0x4e, 0xe0, 0xc7, 0xc8, 0x8f, 0x0d, 0x52, 0xa6, 0x84, - 0xa6, 0x44, 0x42, 0x64, 0x05, 0x5d, 0x4c, 0x54, 0x35, 0x6f, 0x27, 0x43, 0xac, 0x42, 0x3f, 0x88, - 0x51, 0x54, 0x9b, 0xa6, 0x2a, 0x24, 0x03, 0x4c, 0x07, 0x86, 0xb1, 0x1b, 0xc5, 0xb5, 0x0a, 0x99, - 0x66, 0xa3, 0xea, 0x0a, 0x38, 0xdd, 0x86, 0x1e, 0xf4, 0x1d, 0xb4, 0xed, 0x3b, 0x07, 0x41, 0x58, - 0x9b, 0x59, 0x2e, 0xad, 0xcf, 0xda, 0xd9, 0x49, 0x69, 0xe3, 0xbb, 0xc0, 0x1a, 0xdd, 0x03, 0xdf, - 0xfa, 0x35, 0xb0, 0x00, 0xdd, 0xb0, 0x13, 0x06, 0xfd, 0x1d, 0x0f, 0xba, 0x3d, 0x44, 0x55, 0x30, - 0x6b, 0x4b, 0xb3, 0xf5, 0x5f, 0x82, 0x53, 0x8c, 0xca, 0xc7, 0x81, 0xd1, 0x5a, 0x6e, 0x83, 0xe9, - 0x61, 0x10, 0x23, 0x76, 0x52, 0x97, 0x95, 0xb6, 0xde, 0x72, 0xfd, 0xae, 0x87, 0x30, 0x21, 0x9b, - 0x80, 0x25, 0x89, 0xdf, 0x05, 0x67, 0x05, 0x5e, 0x63, 0x8b, 0xda, 0x23, 0xae, 0x8b, 0x97, 0xff, - 0x24, 0x84, 0x7e, 0xb4, 0x8f, 0xc2, 0x09, 0x4e, 0xcc, 0x02, 0xb3, 0x21, 0x72, 0x90, 0x3b, 0x44, - 0x21, 0xb3, 0x6e, 0x3e, 0x96, 0xa4, 0xa5, 0x4e, 0x26, 0xb2, 0xe3, 0x26, 0xfe, 0x9b, 0x12, 0xf1, - 0x32, 0xfc, 0x6d, 0x37, 0xf0, 0xcd, 0x5e, 0xa6, 0x13, 0xe4, 0x1e, 0x98, 0x81, 0xbd, 0x60, 0xc0, - 0x2c, 0xa7, 0x80, 0xed, 0x33, 0xb8, 0xd2, 0x0d, 0x53, 0x49, 0xb8, 0x8c, 0xbf, 0x2e, 0x81, 0xd7, + 0x91, 0x81, 0x00, 0x45, 0x7a, 0x29, 0xda, 0x1e, 0x7a, 0x2e, 0x7a, 0xe9, 0x2d, 0xa7, 0xc2, 0x40, + 0xfb, 0x09, 0xda, 0x4b, 0x0e, 0x3d, 0x04, 0x39, 0xf5, 0x54, 0x14, 0xf6, 0xc1, 0x5f, 0xa3, 0x98, + 0x3f, 0x3b, 0x3b, 0x3b, 0x9c, 0x99, 0x5d, 0xd2, 0xed, 0xc5, 0xe6, 0xcc, 0xfe, 0xe6, 0xbd, 0x37, + 0x6f, 0xde, 0xbc, 0xf7, 0xe6, 0x3d, 0x08, 0x5c, 0x74, 0x60, 0xd8, 0x71, 0x0e, 0xa0, 0xeb, 0x37, + 0xd2, 0x5f, 0xf1, 0x17, 0x5b, 0xfd, 0x30, 0x88, 0x83, 0xea, 0x59, 0x3e, 0xb7, 0xc5, 0x7f, 0x59, + 0xaf, 0xc3, 0x9e, 0xeb, 0x07, 0x0d, 0xf2, 0x2f, 0xc5, 0x59, 0x6f, 0x3a, 0x41, 0xd4, 0x0b, 0xa2, + 0x46, 0x2f, 0xea, 0x36, 0x86, 0x37, 0xf0, 0x7f, 0xec, 0xc3, 0x79, 0xfa, 0xe1, 0x33, 0x32, 0x6a, + 0xd0, 0x01, 0xfb, 0xb4, 0xd8, 0x0d, 0xba, 0x01, 0x9d, 0xc7, 0xbf, 0xd8, 0xec, 0xb2, 0x4a, 0x9e, + 0x3e, 0x0c, 0x61, 0x2f, 0x59, 0xb7, 0xc4, 0x78, 0xb5, 0x61, 0x84, 0x1a, 0xc3, 0x1b, 0x6d, 0x14, + 0xc3, 0x1b, 0x0d, 0x27, 0x70, 0x7d, 0x13, 0x85, 0x61, 0x10, 0xbb, 0x7e, 0x22, 0xd4, 0x25, 0x15, + 0xa2, 0x07, 0x63, 0xe7, 0x80, 0x01, 0x2e, 0xab, 0x00, 0x4e, 0x30, 0xf0, 0x1d, 0xd7, 0xe3, 0x52, + 0xa8, 0x20, 0x30, 0xec, 0xd0, 0xef, 0xf5, 0x7f, 0x94, 0xc0, 0x99, 0xbd, 0xa8, 0xfb, 0x71, 0xbf, + 0x03, 0x63, 0xf4, 0x88, 0xc8, 0x5f, 0xbd, 0x03, 0xe6, 0xe0, 0x20, 0x3e, 0x08, 0x42, 0x37, 0x3e, + 0xae, 0x95, 0x96, 0x4b, 0xeb, 0x73, 0xcd, 0xda, 0x77, 0x7f, 0xbb, 0xbe, 0xc8, 0xd4, 0xb2, 0xdd, + 0xe9, 0x84, 0x28, 0x8a, 0x5a, 0x71, 0xe8, 0xfa, 0x5d, 0x3b, 0x85, 0x56, 0xdf, 0x07, 0x33, 0x54, + 0x03, 0xb5, 0xa9, 0xe5, 0xd2, 0xfa, 0xa9, 0x9b, 0x17, 0xb6, 0x14, 0xc7, 0xb2, 0x45, 0x99, 0x34, + 0xe7, 0xbe, 0xf9, 0xf7, 0xa5, 0x13, 0x5f, 0xbf, 0x7c, 0xb6, 0x51, 0xb2, 0xd9, 0xaa, 0xfb, 0xf7, + 0xbe, 0x7a, 0xf9, 0x6c, 0x23, 0xa5, 0xf7, 0xdb, 0x97, 0xcf, 0x36, 0x56, 0x53, 0xa1, 0xbf, 0x10, + 0x36, 0x20, 0x49, 0x5c, 0x3f, 0x0f, 0xde, 0x94, 0xa6, 0x6c, 0x14, 0xf5, 0x03, 0x3f, 0x42, 0xf5, + 0x2e, 0x38, 0x8d, 0x3f, 0x45, 0x28, 0xdc, 0x09, 0x11, 0x8c, 0x51, 0xb5, 0x06, 0x4e, 0x3a, 0xf8, + 0x57, 0x10, 0xd2, 0xbd, 0xd9, 0xc9, 0x10, 0x7f, 0xf1, 0xd1, 0x11, 0x86, 0x92, 0x0d, 0xcc, 0xd9, + 0xc9, 0xb0, 0xba, 0x08, 0x2a, 0xd0, 0x73, 0x61, 0x54, 0x2b, 0x93, 0x79, 0x3a, 0xb8, 0x3f, 0x8f, + 0xe5, 0x4d, 0x56, 0xd7, 0xdf, 0x04, 0x6f, 0x64, 0x18, 0x71, 0x09, 0x7a, 0xe0, 0xb5, 0xbd, 0xa8, + 0xbb, 0x03, 0xc3, 0x4e, 0xcb, 0x39, 0x40, 0x3d, 0xd4, 0x1c, 0x1c, 0x1b, 0x84, 0xb8, 0x01, 0xca, + 0x6d, 0xb7, 0xc3, 0x34, 0x78, 0x7e, 0x8b, 0xe9, 0x1c, 0x1b, 0xd1, 0x16, 0x33, 0xa2, 0xad, 0x9d, + 0xc0, 0xf5, 0x9b, 0xd3, 0x58, 0x7f, 0x36, 0xc6, 0x4a, 0x72, 0xdc, 0x04, 0x35, 0x99, 0x5d, 0x22, + 0x4a, 0xf5, 0x1c, 0x98, 0xc1, 0x4a, 0xfc, 0xb0, 0x43, 0xb8, 0x4e, 0xdb, 0x6c, 0x54, 0xff, 0x7b, + 0x09, 0x54, 0x93, 0x45, 0x70, 0x88, 0x76, 0x02, 0x3f, 0x46, 0x7e, 0x6c, 0x90, 0x32, 0x25, 0x34, + 0x25, 0x12, 0x22, 0x2b, 0xe8, 0x62, 0xa2, 0xaa, 0x79, 0x3b, 0x19, 0x62, 0x15, 0xfa, 0x41, 0x8c, + 0xa2, 0xda, 0x34, 0x55, 0x21, 0x19, 0x60, 0x3a, 0x30, 0x8c, 0xdd, 0x28, 0xae, 0x55, 0xc8, 0x34, + 0x1b, 0x55, 0x57, 0xc0, 0xe9, 0x36, 0xf4, 0xa0, 0xef, 0xa0, 0x6d, 0xdf, 0x39, 0x08, 0xc2, 0xda, + 0xcc, 0x72, 0x69, 0x7d, 0xd6, 0xce, 0x4e, 0x4a, 0x1b, 0xdf, 0x05, 0xd6, 0xe8, 0x1e, 0xf8, 0xd6, + 0xaf, 0x82, 0x05, 0xe8, 0x86, 0x9d, 0x30, 0xe8, 0xef, 0x78, 0xd0, 0xed, 0x21, 0xaa, 0x82, 0x59, + 0x5b, 0x9a, 0xad, 0xff, 0x12, 0x9c, 0x62, 0x54, 0x3e, 0x09, 0x8c, 0xd6, 0x72, 0x0b, 0x4c, 0x0f, + 0x83, 0x18, 0xb1, 0x93, 0xba, 0xa4, 0xb4, 0xf5, 0x96, 0xeb, 0x77, 0x3d, 0x84, 0x09, 0xd9, 0x04, + 0x2c, 0x49, 0xfc, 0x1e, 0x38, 0x2b, 0xf0, 0x1a, 0x5b, 0xd4, 0x1e, 0xb9, 0xba, 0x78, 0xf9, 0x4f, + 0x42, 0xe8, 0x47, 0xfb, 0x28, 0x9c, 0xe0, 0xc4, 0x2c, 0x30, 0x1b, 0x22, 0x07, 0xb9, 0x43, 0x14, + 0x32, 0xeb, 0xe6, 0x63, 0x49, 0x5a, 0x7a, 0xc9, 0x44, 0x76, 0xdc, 0xc4, 0x7f, 0x53, 0x22, 0xb7, + 0x0c, 0x7f, 0xdb, 0x0d, 0x7c, 0xf3, 0x2d, 0xd3, 0x09, 0x72, 0x17, 0xcc, 0xc0, 0x5e, 0x30, 0x60, + 0x96, 0x53, 0xc0, 0xf6, 0x19, 0x5c, 0x79, 0x0d, 0x53, 0x49, 0xb8, 0x8c, 0xbf, 0x2e, 0x81, 0xd7, 0xd9, 0x97, 0xed, 0x30, 0x3e, 0x0a, 0xc2, 0xc3, 0xed, 0x4e, 0x67, 0x02, 0x39, 0x17, 0x41, 0xc5, 0xed, 0xc1, 0x2e, 0x62, 0x06, 0x4e, 0x07, 0x98, 0xce, 0xfe, 0xc0, 0xf3, 0xb6, 0xc3, 0x98, 0x18, - 0xf8, 0xac, 0x9d, 0x0c, 0x25, 0xf1, 0x2e, 0x82, 0x0b, 0x23, 0x42, 0x08, 0x37, 0xc5, 0xd9, 0xf4, - 0xa3, 0x1b, 0xc5, 0x3b, 0x07, 0xd0, 0xef, 0x4e, 0xa2, 0xcb, 0xd4, 0xad, 0xca, 0xa2, 0x5b, 0x49, - 0xb2, 0xbc, 0x09, 0x2e, 0x2a, 0xd8, 0x71, 0x69, 0xbe, 0x4f, 0xef, 0x04, 0x1a, 0x4e, 0x6c, 0xd4, - 0x75, 0xa3, 0xd8, 0x64, 0x61, 0x12, 0xf1, 0x4b, 0xd4, 0x1b, 0xb3, 0xab, 0x39, 0xed, 0xf7, 0xc0, - 0x62, 0xfa, 0x75, 0x17, 0x85, 0xe3, 0x52, 0x5f, 0x02, 0x97, 0x54, 0xeb, 0x39, 0xfd, 0x6f, 0x4b, - 0x60, 0x61, 0x2f, 0xea, 0xee, 0xe1, 0x60, 0x69, 0xa3, 0x7e, 0x10, 0xc6, 0xe6, 0x7b, 0x9f, 0x44, + 0xf8, 0xac, 0x9d, 0x0c, 0x25, 0xf1, 0x2e, 0x80, 0xf3, 0x23, 0x42, 0x08, 0x9e, 0xe2, 0x6c, 0xfa, + 0xd1, 0x8d, 0xe2, 0x9d, 0x03, 0xe8, 0x77, 0x27, 0xd1, 0x65, 0x7a, 0xad, 0xca, 0xe2, 0xb5, 0x92, + 0x64, 0x79, 0x0b, 0x5c, 0x50, 0xb0, 0xe3, 0xd2, 0x7c, 0x9f, 0xfa, 0x04, 0x1a, 0x4e, 0x6c, 0xd4, + 0x75, 0xa3, 0xd8, 0x64, 0x61, 0x12, 0xf1, 0x8b, 0xf4, 0x36, 0x66, 0x57, 0x73, 0xda, 0xef, 0x83, + 0xc5, 0xf4, 0xeb, 0x2e, 0x0a, 0xc7, 0xa5, 0xbe, 0x04, 0x2e, 0xaa, 0xd6, 0x73, 0xfa, 0xdf, 0x95, + 0xc0, 0xc2, 0x5e, 0xd4, 0xdd, 0xc3, 0xc1, 0xd2, 0x46, 0xfd, 0x20, 0x8c, 0xcd, 0x7e, 0x9f, 0x44, 0x55, 0xae, 0xc6, 0x64, 0x58, 0xad, 0x83, 0xf9, 0xbe, 0x07, 0x8f, 0x51, 0x07, 0x2b, 0x29, 0xda, 0xae, 0x95, 0x97, 0xcb, 0xeb, 0xd3, 0x76, 0x66, 0x4e, 0xc2, 0x34, 0x6b, 0xd3, 0x23, 0x98, 0x66, - 0xf5, 0x2e, 0x38, 0x19, 0x0c, 0x62, 0x27, 0xe8, 0x21, 0x72, 0xcf, 0x2d, 0xdc, 0xba, 0xa4, 0xbc, - 0x2e, 0x1e, 0x51, 0x8c, 0x9d, 0x80, 0xa5, 0x4d, 0xd7, 0xc0, 0xb9, 0xec, 0x9e, 0xf8, 0x76, 0x6d, - 0x1a, 0x62, 0xa8, 0x3a, 0x72, 0xe3, 0x9c, 0xc6, 0x6a, 0x24, 0x6e, 0x16, 0x8d, 0x23, 0x22, 0x4d, - 0xce, 0xef, 0x0b, 0x72, 0x15, 0x08, 0x92, 0xa0, 0x70, 0xbb, 0xdf, 0x0f, 0x5c, 0x3f, 0x9e, 0x38, - 0x79, 0x20, 0xf7, 0x10, 0x25, 0xc5, 0xa2, 0x2f, 0x1f, 0x3f, 0x58, 0xc8, 0x26, 0x06, 0xf5, 0x2b, - 0xe0, 0xb2, 0x86, 0x3d, 0x97, 0xf0, 0xab, 0x12, 0x98, 0xdf, 0x8b, 0xba, 0x2d, 0x14, 0xe7, 0xaa, - 0xa3, 0x0a, 0xa6, 0x7d, 0xd8, 0x43, 0x8c, 0x2b, 0xf9, 0xad, 0x73, 0xa0, 0xea, 0x32, 0x38, 0x15, - 0xc5, 0x41, 0x78, 0xfc, 0x24, 0x74, 0xb1, 0xa0, 0x34, 0x96, 0x89, 0x53, 0xd8, 0x1c, 0x70, 0xc8, - 0x0b, 0xdd, 0xf6, 0x20, 0x0e, 0xc2, 0xa8, 0x56, 0x59, 0x2e, 0xaf, 0xcf, 0xd9, 0x99, 0x39, 0x49, - 0xd1, 0xe7, 0x88, 0x2f, 0x70, 0x49, 0xf9, 0x16, 0x10, 0xb9, 0x53, 0xf1, 0x3c, 0xf6, 0x50, 0xe3, - 0x5d, 0xb5, 0x08, 0x2a, 0x11, 0x8a, 0xf9, 0x81, 0xd2, 0x81, 0x70, 0xce, 0x65, 0xc3, 0x39, 0xd3, - 0x0b, 0x33, 0x65, 0xc3, 0xf9, 0x1f, 0x10, 0xa3, 0x62, 0x1f, 0x6c, 0xd4, 0x0b, 0x86, 0xe8, 0xff, - 0x24, 0x02, 0x35, 0xb5, 0x0c, 0x27, 0x41, 0x8a, 0x44, 0x3b, 0xa9, 0x06, 0x27, 0x51, 0x46, 0x15, - 0x4c, 0x0f, 0x22, 0x1e, 0xe3, 0xc8, 0x6f, 0xe5, 0x9d, 0x32, 0xc2, 0x89, 0x4b, 0x72, 0x48, 0x8c, - 0x3e, 0xfb, 0x7d, 0x42, 0xb5, 0xe4, 0x0b, 0x43, 0x4d, 0x5c, 0xc5, 0x8c, 0xcb, 0xf3, 0x21, 0xb9, - 0xe2, 0x5a, 0x28, 0xfe, 0xa1, 0xeb, 0x43, 0xcf, 0x7d, 0x36, 0xb6, 0x18, 0xca, 0xeb, 0x45, 0xa0, - 0xc7, 0x39, 0xed, 0x27, 0x96, 0x50, 0x28, 0x70, 0xaa, 0xb7, 0xac, 0x0c, 0x9b, 0x3a, 0x3b, 0x50, - 0xc4, 0xc6, 0x4e, 0xb2, 0xdb, 0x16, 0x76, 0xb6, 0x09, 0x25, 0x20, 0x8e, 0x9a, 0x24, 0xf1, 0x64, - 0xa0, 0xd3, 0x41, 0xc2, 0x85, 0xf3, 0xff, 0x31, 0xc9, 0x1e, 0x9a, 0x41, 0x80, 0xe3, 0xcc, 0x63, - 0xe8, 0x1c, 0x9a, 0xd3, 0xf8, 0x22, 0x0a, 0xdf, 0x21, 0xb9, 0x40, 0x96, 0xe4, 0xd8, 0x49, 0xe0, - 0xef, 0x68, 0xea, 0xde, 0x42, 0x9e, 0xf7, 0x68, 0x7f, 0xbf, 0xc0, 0x2b, 0x47, 0x97, 0x33, 0xdc, - 0x01, 0x95, 0x7e, 0xe8, 0x3a, 0xa8, 0x68, 0xfa, 0x45, 0xd1, 0xca, 0xa8, 0x2f, 0x09, 0xc3, 0x75, - 0xf8, 0x33, 0x92, 0xb0, 0xf2, 0xaf, 0x66, 0x0d, 0xe2, 0xab, 0x36, 0x41, 0x72, 0x61, 0xc5, 0x29, - 0x65, 0x7a, 0x2a, 0x12, 0xe7, 0x7c, 0x7f, 0x91, 0x55, 0x51, 0xae, 0xd3, 0x8e, 0xcb, 0x5a, 0xda, - 0xb5, 0xe4, 0xa7, 0x7f, 0x2a, 0xf1, 0x07, 0xa0, 0x0d, 0x71, 0xfc, 0x6a, 0xa1, 0x78, 0xb2, 0xbc, - 0x93, 0x5a, 0x54, 0x59, 0x34, 0xea, 0x7b, 0x60, 0x26, 0x24, 0x44, 0x49, 0x2c, 0x5a, 0xd0, 0xbc, - 0x43, 0x52, 0xde, 0x36, 0x83, 0xab, 0x83, 0xbd, 0x28, 0x22, 0x97, 0xff, 0x8f, 0x25, 0x31, 0x13, - 0x48, 0xa6, 0x77, 0x82, 0x5e, 0xcf, 0x35, 0xed, 0xe3, 0x12, 0x98, 0x63, 0xa5, 0x08, 0xbe, 0x95, - 0x74, 0x82, 0x86, 0x7b, 0x4a, 0x29, 0x7d, 0x76, 0x30, 0xd3, 0x5f, 0x02, 0x20, 0x1a, 0x74, 0xbb, - 0x28, 0x8a, 0xdd, 0xc0, 0x67, 0x31, 0x56, 0x98, 0x91, 0x44, 0xaf, 0x83, 0x65, 0x9d, 0x74, 0x7c, - 0x0b, 0x7f, 0x55, 0x6e, 0xc1, 0x46, 0x43, 0x04, 0xbd, 0x89, 0xb7, 0xf0, 0x3d, 0x69, 0x0b, 0x0b, - 0xb7, 0xde, 0x54, 0x2a, 0x9f, 0xb3, 0x4b, 0x77, 0x78, 0x0e, 0xcc, 0x44, 0xc8, 0x09, 0x51, 0xcc, - 0x76, 0xc7, 0x46, 0x45, 0x76, 0x46, 0x85, 0xe6, 0x3b, 0x7b, 0x4a, 0x1f, 0x35, 0x1c, 0x13, 0xc3, - 0x70, 0xe2, 0x43, 0x51, 0x3f, 0x55, 0x32, 0xa4, 0x39, 0xdf, 0x7f, 0xd2, 0xba, 0x11, 0xc9, 0xc1, - 0x76, 0x02, 0x7f, 0xdf, 0x0d, 0x7b, 0x13, 0x65, 0xd8, 0x42, 0x66, 0x5c, 0x1e, 0x23, 0x33, 0xae, - 0xfe, 0x00, 0x00, 0xfc, 0xa0, 0xa6, 0x09, 0x36, 0xc9, 0xb9, 0x0b, 0xbc, 0xc1, 0x85, 0x25, 0xca, - 0xcb, 0x43, 0xdc, 0x0d, 0xdf, 0x69, 0x8b, 0x68, 0xf8, 0x71, 0x18, 0xec, 0xbb, 0x1e, 0x22, 0xd5, - 0x85, 0x49, 0xdc, 0x57, 0xa9, 0xdb, 0x2c, 0x51, 0xce, 0xf1, 0xa7, 0x24, 0xe5, 0x61, 0x1f, 0x9f, - 0xa0, 0x76, 0xe4, 0xc6, 0xc8, 0xcc, 0xb4, 0x06, 0x4e, 0x1e, 0x51, 0x5c, 0x52, 0xb9, 0x62, 0x43, - 0x65, 0x8a, 0x33, 0x42, 0x99, 0x73, 0xfe, 0x11, 0xb9, 0xa9, 0xd8, 0xf7, 0xa6, 0x1b, 0x98, 0xb9, - 0xbe, 0x06, 0xca, 0x6d, 0x37, 0x60, 0x1c, 0xf1, 0x4f, 0xe5, 0xa5, 0x92, 0xa1, 0xc6, 0x39, 0xb5, - 0xc9, 0x95, 0x2c, 0xc4, 0xbe, 0x47, 0x7d, 0xe4, 0x1b, 0x78, 0xad, 0x80, 0xd3, 0xed, 0x14, 0xcc, - 0xb5, 0x9b, 0x9d, 0x94, 0xf8, 0xdf, 0x25, 0xd7, 0xb2, 0xc4, 0x83, 0x07, 0x58, 0xcc, 0x8b, 0x1c, - 0x4d, 0x54, 0x2b, 0x91, 0x27, 0x5b, 0x32, 0xac, 0x7f, 0x59, 0x22, 0x59, 0x80, 0xb0, 0xb0, 0x40, - 0x7d, 0xa5, 0x90, 0x80, 0x63, 0x54, 0x5b, 0x96, 0xc1, 0x92, 0x5a, 0x06, 0xae, 0xc2, 0x61, 0x92, - 0x19, 0xb7, 0xd2, 0xe7, 0x87, 0xf9, 0xc0, 0xd4, 0x79, 0x91, 0xf4, 0xa6, 0x29, 0x8f, 0xbc, 0x69, - 0x74, 0x79, 0x72, 0x96, 0xaf, 0x50, 0x71, 0x3d, 0xc3, 0xb3, 0x38, 0x37, 0x8a, 0x27, 0x11, 0xa9, - 0x58, 0xfd, 0x22, 0x89, 0xf8, 0x29, 0x23, 0x2e, 0xc3, 0x67, 0x3c, 0xe4, 0x62, 0xc7, 0xdf, 0x1b, - 0x78, 0xb1, 0x6b, 0x10, 0xe2, 0x0e, 0xa8, 0x0c, 0x49, 0x6d, 0x72, 0xaa, 0xd8, 0x3d, 0x42, 0xd1, - 0x92, 0x34, 0x4d, 0x1e, 0x42, 0x39, 0xcb, 0xb1, 0x93, 0xb9, 0xbf, 0xd0, 0x57, 0x2b, 0xb9, 0x87, - 0x72, 0x1c, 0xa2, 0x06, 0x4e, 0x92, 0x12, 0x43, 0xb8, 0x9d, 0xb8, 0x3c, 0x1b, 0xa6, 0x5f, 0x9a, - 0x4c, 0x7b, 0xc9, 0x10, 0x9f, 0x34, 0x03, 0xed, 0x22, 0xe7, 0x90, 0x55, 0x2a, 0xc4, 0xa9, 0x14, - 0xd1, 0x24, 0x88, 0x8a, 0x88, 0x20, 0x53, 0xd2, 0xa6, 0xdf, 0x26, 0x36, 0xc8, 0xe5, 0x15, 0x9d, - 0x2b, 0xb9, 0xf0, 0x4b, 0x99, 0x0b, 0xbf, 0x0e, 0x93, 0x57, 0xed, 0x87, 0xb0, 0x87, 0x26, 0xb1, - 0x8d, 0xe4, 0xb9, 0x5e, 0x4e, 0x9f, 0xeb, 0xba, 0x17, 0x2d, 0x63, 0x21, 0x94, 0x49, 0xaa, 0xe9, - 0x85, 0xb4, 0xed, 0xb9, 0x30, 0xca, 0x15, 0x80, 0x96, 0xfd, 0xa7, 0xf4, 0x65, 0x7f, 0x9a, 0xfb, - 0x49, 0x34, 0x05, 0x8e, 0x58, 0x3f, 0x0f, 0x61, 0xe8, 0x1d, 0x6f, 0x3b, 0x0e, 0x8a, 0xa2, 0x0f, - 0xfc, 0xa1, 0x9b, 0x57, 0x8d, 0x18, 0xa4, 0x1d, 0x08, 0xfd, 0x3b, 0x75, 0x84, 0xa6, 0x10, 0xb0, - 0xb0, 0xff, 0x7d, 0x82, 0xa0, 0x77, 0xbc, 0x13, 0xf8, 0x3e, 0x72, 0x72, 0x22, 0xc7, 0x33, 0x8c, - 0x64, 0x5a, 0x9e, 0xb3, 0x93, 0xa1, 0xd2, 0xd7, 0x44, 0xa2, 0x9c, 0xdf, 0x1f, 0xa6, 0x88, 0x5a, - 0x1f, 0xfa, 0x38, 0x91, 0x88, 0x0b, 0xbc, 0x40, 0x54, 0x05, 0x17, 0x0b, 0xcc, 0x76, 0x42, 0x78, - 0xe4, 0x51, 0x9f, 0xc7, 0x56, 0xc7, 0xc7, 0xd5, 0x27, 0x00, 0x90, 0x0e, 0x11, 0x8a, 0x51, 0x98, - 0xc4, 0xfa, 0x7b, 0x4a, 0x1f, 0x1d, 0x15, 0x83, 0xb6, 0x9b, 0xc8, 0xca, 0x87, 0x7e, 0x1c, 0x1e, - 0xdb, 0x02, 0xa9, 0xf4, 0x4d, 0x5a, 0x11, 0xde, 0xa4, 0xd6, 0xbb, 0xe0, 0x8c, 0xb4, 0x08, 0x47, - 0xba, 0x43, 0xc4, 0xca, 0x59, 0x36, 0xfe, 0x89, 0x97, 0x0e, 0xa1, 0x37, 0x48, 0x36, 0x41, 0x07, - 0x0f, 0xa6, 0xee, 0x97, 0x94, 0xe6, 0x21, 0x09, 0xc5, 0x55, 0xe7, 0x93, 0x47, 0x2d, 0xff, 0xba, - 0x1b, 0x98, 0x1f, 0x25, 0x28, 0x01, 0xa6, 0x8f, 0x12, 0x61, 0xaa, 0x40, 0x55, 0x81, 0x3e, 0x6f, - 0x05, 0x7e, 0x72, 0x75, 0x3c, 0x15, 0xd4, 0x0b, 0x22, 0xf4, 0xbf, 0x96, 0x06, 0xeb, 0xf1, 0x88, - 0xa5, 0xf4, 0xb3, 0x36, 0xfe, 0xa9, 0x4c, 0x8b, 0xb2, 0x42, 0x70, 0x11, 0x3f, 0x22, 0x26, 0x28, - 0xd8, 0xfd, 0xae, 0x1b, 0xb9, 0xdf, 0xdd, 0x9d, 0x68, 0xa5, 0x45, 0x45, 0x96, 0x73, 0xf6, 0x00, - 0x60, 0x57, 0x7b, 0x13, 0xfa, 0x13, 0x57, 0x38, 0x75, 0x99, 0xa1, 0x5c, 0xdd, 0x5c, 0xe4, 0xbd, - 0xb8, 0x26, 0xe4, 0x37, 0x6a, 0x3d, 0x22, 0xbd, 0x01, 0x41, 0xcc, 0xf7, 0x43, 0xf8, 0x1d, 0xca, - 0xad, 0x8b, 0xa0, 0x82, 0x75, 0x41, 0x43, 0xde, 0x9c, 0x4d, 0x07, 0x23, 0xa2, 0xd0, 0x0e, 0x81, - 0xcc, 0x34, 0x91, 0xe9, 0xd6, 0x9f, 0x37, 0x40, 0x79, 0x2f, 0xea, 0x56, 0xdb, 0x60, 0x3e, 0xd3, - 0x40, 0x5e, 0xd1, 0x39, 0xa7, 0x88, 0xb2, 0x36, 0x8b, 0xa0, 0x78, 0x44, 0xf9, 0x39, 0x00, 0x42, - 0x13, 0xb7, 0xae, 0x5d, 0xcb, 0x31, 0xd6, 0xf5, 0x7c, 0x0c, 0xa7, 0x8e, 0xc0, 0xe9, 0x6c, 0x83, - 0x76, 0x55, 0xb7, 0x38, 0x03, 0xb3, 0x6e, 0x14, 0x82, 0x71, 0x36, 0x87, 0xe0, 0x8c, 0xdc, 0x63, - 0x5d, 0x33, 0x52, 0x48, 0x81, 0x56, 0xa3, 0x20, 0x90, 0x33, 0xfb, 0x18, 0xcc, 0xf2, 0x36, 0xe6, - 0xb2, 0x69, 0x31, 0x46, 0x58, 0xeb, 0x79, 0x08, 0x4e, 0xb7, 0x0d, 0xe6, 0x33, 0x3d, 0xc7, 0x15, - 0xd3, 0xca, 0x04, 0xa5, 0x3f, 0x6d, 0x55, 0x43, 0x11, 0x9f, 0xb6, 0xd0, 0x4c, 0xac, 0x9b, 0xd6, - 0x52, 0x8c, 0xfe, 0xb4, 0x47, 0x5b, 0x81, 0xd5, 0x03, 0xb0, 0x20, 0xb5, 0x01, 0xaf, 0x99, 0x56, - 0xa7, 0x38, 0x6b, 0xab, 0x18, 0x8e, 0x73, 0xf2, 0xc1, 0x6b, 0x23, 0xed, 0xbc, 0xf5, 0x1c, 0x1a, - 0x1c, 0x69, 0xbd, 0x5d, 0x14, 0x99, 0x31, 0x30, 0xa9, 0x61, 0xa7, 0x37, 0xb0, 0x2c, 0xd0, 0x60, - 0x60, 0xea, 0x26, 0x5e, 0xf5, 0x33, 0xf0, 0xfa, 0x68, 0x07, 0x6f, 0x23, 0x87, 0x4a, 0x0a, 0xb5, - 0x6e, 0x16, 0x86, 0x72, 0x96, 0x9f, 0x82, 0x53, 0x62, 0x4f, 0xef, 0xaa, 0x8e, 0x82, 0x00, 0xb2, - 0xde, 0x2a, 0x00, 0xca, 0x5c, 0x04, 0x99, 0x36, 0xda, 0x6a, 0x8e, 0x90, 0xec, 0xb2, 0xb9, 0x51, - 0x08, 0xc6, 0xd9, 0x3c, 0x03, 0x8b, 0xca, 0xee, 0xd9, 0x66, 0x01, 0x59, 0x39, 0xda, 0x7a, 0x67, - 0x1c, 0x34, 0xe7, 0xfd, 0x14, 0xcc, 0xa5, 0x6d, 0xb1, 0x2b, 0x3a, 0x12, 0x1c, 0x62, 0x6d, 0xe4, - 0x42, 0x44, 0xb7, 0x15, 0xfa, 0x55, 0x75, 0xd3, 0x42, 0x8a, 0xd1, 0xbb, 0xed, 0x68, 0x43, 0x0a, - 0x9f, 0x4d, 0xb6, 0x1b, 0xb5, 0x9a, 0xb3, 0x98, 0xc2, 0xf4, 0x67, 0xa3, 0xec, 0x38, 0x61, 0xb3, - 0x1e, 0x6d, 0x37, 0x19, 0x95, 0x90, 0x81, 0xea, 0xcd, 0x5a, 0xdb, 0x5a, 0xc2, 0xe6, 0xa0, 0xec, - 0x2b, 0x6d, 0x16, 0x23, 0xc5, 0xf6, 0xf9, 0xce, 0x38, 0x68, 0xd1, 0xa5, 0xc4, 0x1e, 0xd2, 0x55, - 0x03, 0x91, 0x04, 0xa4, 0x77, 0x29, 0x45, 0xf7, 0x88, 0x1d, 0x9b, 0x70, 0xd9, 0x9a, 0x8e, 0x4d, - 0xb8, 0x6b, 0x6f, 0x14, 0x82, 0x49, 0xfb, 0xe0, 0xdd, 0x21, 0xd3, 0x3e, 0x12, 0x90, 0x71, 0x1f, - 0x72, 0x07, 0x08, 0x47, 0x0d, 0xa9, 0xfd, 0xa3, 0x8d, 0x1a, 0x59, 0x9c, 0x3e, 0x6a, 0x68, 0x7a, - 0x3f, 0x87, 0xe0, 0x8c, 0xdc, 0xcf, 0x59, 0xd3, 0x4b, 0x9a, 0x01, 0xea, 0x6f, 0x71, 0x4d, 0x53, - 0x06, 0x87, 0xf3, 0x4c, 0x47, 0x66, 0x25, 0x97, 0x00, 0xde, 0xd2, 0x66, 0x11, 0x94, 0x72, 0x43, - 0xcc, 0xb4, 0xf3, 0x37, 0xc4, 0xac, 0xba, 0x51, 0x10, 0x28, 0xe7, 0x72, 0x69, 0xaf, 0xc5, 0x98, - 0xcb, 0x71, 0x98, 0x39, 0x97, 0x1b, 0x69, 0x8b, 0x54, 0xbf, 0x00, 0x6f, 0xa8, 0x5b, 0x22, 0x37, - 0x72, 0xe3, 0xa8, 0x08, 0xb7, 0xee, 0x8c, 0x05, 0x37, 0xb0, 0x67, 0xed, 0x8c, 0xa2, 0xec, 0x29, - 0xbc, 0x30, 0xfb, 0x6c, 0xdf, 0x81, 0xa4, 0x50, 0xd9, 0xa6, 0xc3, 0xb5, 0x7c, 0x42, 0x18, 0x67, - 0x48, 0xa1, 0x94, 0x9d, 0x06, 0x6c, 0x9f, 0x99, 0x2e, 0xc3, 0x8a, 0x31, 0xe8, 0x31, 0x94, 0xb5, - 0x59, 0x04, 0x25, 0xee, 0x46, 0x2a, 0xf0, 0x6b, 0x77, 0x93, 0xc5, 0xe9, 0x77, 0xa3, 0xae, 0xed, - 0xe3, 0xe0, 0x32, 0x5a, 0xd8, 0xdf, 0xc8, 0x21, 0x92, 0x42, 0xf5, 0xc1, 0x45, 0x5b, 0xd4, 0xc7, - 0xfe, 0x90, 0xad, 0xe8, 0xaf, 0xe6, 0xd0, 0xa0, 0x30, 0xbd, 0x3f, 0x28, 0x2b, 0xfa, 0xd8, 0xc7, - 0xe5, 0x72, 0xfe, 0x5a, 0x81, 0x7b, 0x0f, 0x03, 0xf5, 0x3e, 0xae, 0x2b, 0xde, 0x1f, 0x81, 0xb3, - 0xaa, 0xf2, 0xfc, 0x5b, 0x05, 0xe8, 0xf0, 0x17, 0xc9, 0xed, 0x31, 0xc0, 0x52, 0x72, 0x20, 0x55, - 0xdc, 0x37, 0xf2, 0xc2, 0x08, 0x87, 0x1a, 0x93, 0x03, 0x75, 0x3d, 0x9d, 0x5e, 0xd0, 0x42, 0x31, - 0x7d, 0xc5, 0x1c, 0x17, 0x29, 0xca, 0x74, 0x41, 0x8f, 0xd6, 0xcb, 0x93, 0x3b, 0x33, 0x2d, 0x96, - 0xaf, 0xe6, 0x3d, 0x07, 0x09, 0xcc, 0x7c, 0x67, 0x8e, 0xd6, 0xc1, 0x9f, 0x82, 0xb9, 0xb4, 0xb6, - 0x7d, 0xc5, 0xe8, 0xa2, 0xc4, 0x2e, 0x36, 0x72, 0x21, 0x52, 0xea, 0x99, 0x14, 0x95, 0x4d, 0xa9, - 0x27, 0xc3, 0x18, 0x53, 0x4f, 0xa9, 0x72, 0x8c, 0x8d, 0x5b, 0x2e, 0x1b, 0xaf, 0xe5, 0xb8, 0x47, - 0x02, 0xd4, 0x1b, 0xb7, 0xa6, 0x68, 0x8c, 0x6d, 0x6c, 0xb4, 0x62, 0xac, 0x55, 0xc5, 0x08, 0x54, - 0x6f, 0x63, 0xda, 0x9a, 0x31, 0xb6, 0xb1, 0x4c, 0xc1, 0x58, 0x6b, 0x63, 0x22, 0x4a, 0x6f, 0x63, - 0xaa, 0x3a, 0x31, 0xd6, 0xa1, 0x5c, 0x23, 0x5e, 0x2b, 0x58, 0xc5, 0xd5, 0xeb, 0x50, 0x53, 0x59, - 0xc5, 0xd9, 0xa0, 0x58, 0x56, 0xbd, 0x9a, 0xbb, 0x7e, 0x37, 0xd0, 0x67, 0x83, 0x8a, 0x82, 0x29, - 0x0e, 0x19, 0x52, 0xb1, 0xf4, 0x5a, 0xbe, 0x8c, 0x18, 0xa7, 0x0f, 0x19, 0xea, 0xba, 0x27, 0x7e, - 0x1c, 0x28, 0x8b, 0x9e, 0x9b, 0x05, 0x8e, 0x99, 0xa3, 0xf5, 0x8f, 0x03, 0x53, 0xe5, 0xb3, 0xda, - 0x02, 0x27, 0x93, 0xb2, 0xe7, 0x65, 0x93, 0xab, 0x37, 0xa1, 0x6f, 0xad, 0xe5, 0x00, 0xc4, 0xa2, - 0xc8, 0x48, 0x1d, 0x73, 0xbd, 0x80, 0x78, 0x04, 0xa9, 0x2f, 0x8a, 0xe8, 0xca, 0x94, 0x56, 0xe5, - 0x57, 0xaf, 0x9e, 0x5f, 0x2f, 0x35, 0xed, 0xaf, 0x5f, 0x2c, 0x95, 0xbe, 0x79, 0xb1, 0x54, 0xfa, - 0xcf, 0x8b, 0xa5, 0xd2, 0xef, 0x5f, 0x2e, 0x9d, 0xf8, 0xe6, 0xe5, 0xd2, 0x89, 0x7f, 0xbd, 0x5c, - 0x3a, 0xf1, 0xc9, 0xfd, 0xae, 0x1b, 0x1f, 0x0c, 0xda, 0x5b, 0x4e, 0xd0, 0x6b, 0xec, 0x22, 0x07, - 0xf9, 0x71, 0x08, 0x3d, 0x2c, 0xf5, 0xfb, 0xb0, 0x87, 0x1a, 0xea, 0x3f, 0x41, 0x89, 0x8f, 0xfb, - 0x28, 0x6a, 0xcf, 0x90, 0xbf, 0xa2, 0xb9, 0xfd, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x20, 0xfe, - 0x96, 0x73, 0x9f, 0x34, 0x00, 0x00, + 0xf5, 0x0e, 0x38, 0x19, 0x0c, 0x62, 0x27, 0xe8, 0x21, 0xe2, 0xe7, 0x16, 0x6e, 0x5e, 0x54, 0xba, + 0x8b, 0x87, 0x14, 0x63, 0x27, 0x60, 0x69, 0xd3, 0x35, 0x70, 0x2e, 0xbb, 0x27, 0xbe, 0x5d, 0x9b, + 0x86, 0x18, 0xaa, 0x8e, 0xdc, 0x38, 0xa7, 0xb1, 0x1a, 0x89, 0x9b, 0x45, 0xe3, 0x88, 0x48, 0x93, + 0xf3, 0xfb, 0x92, 0xb8, 0x02, 0x41, 0x12, 0x14, 0x6e, 0xf7, 0xfb, 0x81, 0xeb, 0xc7, 0x13, 0x27, + 0x0f, 0xc4, 0x0f, 0x51, 0x52, 0x2c, 0xfa, 0xf2, 0xf1, 0xfd, 0x85, 0x6c, 0x62, 0x50, 0xbf, 0x0c, + 0x2e, 0x69, 0xd8, 0x73, 0x09, 0xbf, 0x2e, 0x81, 0xf9, 0xbd, 0xa8, 0xdb, 0x42, 0x71, 0xae, 0x3a, + 0xaa, 0x60, 0xda, 0x87, 0x3d, 0xc4, 0xb8, 0x92, 0xdf, 0xba, 0x0b, 0x54, 0x5d, 0x06, 0xa7, 0xa2, + 0x38, 0x08, 0x8f, 0x1f, 0x87, 0x2e, 0x16, 0x94, 0xc6, 0x32, 0x71, 0x0a, 0x9b, 0x03, 0x0e, 0x79, + 0xa1, 0xdb, 0x1e, 0xc4, 0x41, 0x18, 0xd5, 0x2a, 0xcb, 0xe5, 0xf5, 0x39, 0x3b, 0x33, 0x27, 0x29, + 0xfa, 0x1c, 0xb9, 0x0b, 0x5c, 0x52, 0xbe, 0x05, 0x44, 0x7c, 0x2a, 0x9e, 0xc7, 0x37, 0xd4, 0xe8, + 0xab, 0x16, 0x41, 0x25, 0x42, 0x31, 0x3f, 0x50, 0x3a, 0x10, 0xce, 0xb9, 0x6c, 0x38, 0x67, 0xea, + 0x30, 0x53, 0x36, 0x9c, 0xff, 0x01, 0x31, 0x2a, 0xf6, 0xc1, 0x46, 0xbd, 0x60, 0x88, 0xfe, 0x4f, + 0x22, 0x50, 0x53, 0xcb, 0x70, 0x12, 0xa4, 0x48, 0xb4, 0x93, 0x6a, 0x70, 0x12, 0x65, 0x54, 0xc1, + 0xf4, 0x20, 0xe2, 0x31, 0x8e, 0xfc, 0x56, 0xfa, 0x94, 0x11, 0x4e, 0x5c, 0x92, 0x43, 0x62, 0xf4, + 0xd9, 0xef, 0x13, 0xaa, 0x25, 0x5f, 0x18, 0x6a, 0xe2, 0x2a, 0x66, 0x5c, 0x9e, 0x8f, 0x88, 0x8b, + 0x6b, 0xa1, 0xf8, 0x87, 0xae, 0x0f, 0x3d, 0xf7, 0xe9, 0xd8, 0x62, 0x28, 0xdd, 0x8b, 0x40, 0x8f, + 0x73, 0xda, 0x4f, 0x2c, 0xa1, 0x50, 0xe0, 0x54, 0x6f, 0x59, 0x19, 0x36, 0x75, 0x76, 0xa0, 0x88, + 0x8d, 0x9d, 0x64, 0xb7, 0x2d, 0x7c, 0xd9, 0x26, 0x94, 0x80, 0x5c, 0xd4, 0x24, 0x89, 0x27, 0x03, + 0x9d, 0x0e, 0x12, 0x2e, 0x9c, 0xff, 0x8f, 0x49, 0xf6, 0xd0, 0x0c, 0x02, 0x1c, 0x67, 0x1e, 0x41, + 0xe7, 0xd0, 0x9c, 0xc6, 0x17, 0x51, 0xf8, 0x0e, 0xc9, 0x05, 0xb2, 0x24, 0xc7, 0x4e, 0x02, 0x7f, + 0x47, 0x53, 0xf7, 0x16, 0xf2, 0xbc, 0x87, 0xfb, 0xfb, 0x05, 0x5e, 0x39, 0xba, 0x9c, 0xe1, 0x36, + 0xa8, 0xf4, 0x43, 0xd7, 0x41, 0x45, 0xd3, 0x2f, 0x8a, 0x56, 0x46, 0x7d, 0x49, 0x18, 0xae, 0xc3, + 0x9f, 0x91, 0x84, 0x95, 0x7f, 0x35, 0x6b, 0x10, 0xbb, 0xda, 0x04, 0xc9, 0x85, 0x15, 0xa7, 0x94, + 0xe9, 0xa9, 0x48, 0x9c, 0xf3, 0xfd, 0x45, 0x56, 0x45, 0xb9, 0x97, 0x76, 0x5c, 0xd6, 0xd2, 0xae, + 0xa5, 0x7b, 0xfa, 0xe7, 0x12, 0x7f, 0x00, 0xda, 0x10, 0xc7, 0xaf, 0x16, 0x8a, 0x27, 0xcb, 0x3b, + 0xa9, 0x45, 0x95, 0x45, 0xa3, 0xbe, 0x0b, 0x66, 0x42, 0x42, 0x94, 0xc4, 0xa2, 0x05, 0xcd, 0x3b, + 0x24, 0xe5, 0x6d, 0x33, 0xb8, 0x3a, 0xd8, 0x8b, 0x22, 0x72, 0xf9, 0xff, 0x54, 0x12, 0x33, 0x81, + 0x64, 0x7a, 0x27, 0xe8, 0xf5, 0x5c, 0xd3, 0x3e, 0x2e, 0x82, 0x39, 0x56, 0x8a, 0xe0, 0x5b, 0x49, + 0x27, 0x68, 0xb8, 0xa7, 0x94, 0xd2, 0x67, 0x07, 0x33, 0xfd, 0x25, 0x00, 0xa2, 0x41, 0xb7, 0x8b, + 0xa2, 0xd8, 0x0d, 0x7c, 0x16, 0x63, 0x85, 0x19, 0x49, 0xf4, 0x3a, 0x58, 0xd6, 0x49, 0xc7, 0xb7, + 0xf0, 0x57, 0xe5, 0x16, 0x6c, 0x34, 0x44, 0xd0, 0x9b, 0x78, 0x0b, 0xdf, 0x93, 0xb6, 0xb0, 0x70, + 0xf3, 0x2d, 0xa5, 0xf2, 0x39, 0xbb, 0x74, 0x87, 0xe7, 0xc0, 0x4c, 0x84, 0x9c, 0x10, 0xc5, 0x6c, + 0x77, 0x6c, 0x54, 0x64, 0x67, 0x54, 0x68, 0xbe, 0xb3, 0x27, 0xf4, 0x51, 0xc3, 0x31, 0x31, 0x0c, + 0x27, 0x3e, 0x14, 0xf5, 0x53, 0x25, 0x43, 0x9a, 0xf3, 0xfd, 0x27, 0xad, 0x1b, 0x91, 0x1c, 0x6c, + 0x27, 0xf0, 0xf7, 0xdd, 0xb0, 0x37, 0x51, 0x86, 0x2d, 0x64, 0xc6, 0xe5, 0x31, 0x32, 0xe3, 0xea, + 0x0f, 0x00, 0xc0, 0x0f, 0x6a, 0x9a, 0x60, 0x93, 0x9c, 0xbb, 0xc0, 0x1b, 0x5c, 0x58, 0xa2, 0x74, + 0x1e, 0xe2, 0x6e, 0xf8, 0x4e, 0x5b, 0x44, 0xc3, 0x8f, 0xc2, 0x60, 0xdf, 0xf5, 0x10, 0xa9, 0x2e, + 0x4c, 0x72, 0x7d, 0x95, 0xba, 0xcd, 0x12, 0xe5, 0x1c, 0x7f, 0x4a, 0x52, 0x1e, 0xf6, 0xf1, 0x31, + 0x6a, 0x47, 0x6e, 0x8c, 0xcc, 0x4c, 0x6b, 0xe0, 0xe4, 0x11, 0xc5, 0x25, 0x95, 0x2b, 0x36, 0x54, + 0xa6, 0x38, 0x23, 0x94, 0x39, 0xe7, 0x1f, 0x11, 0x4f, 0xc5, 0xbe, 0x37, 0xdd, 0xc0, 0xcc, 0xf5, + 0x35, 0x50, 0x6e, 0xbb, 0x01, 0xe3, 0x88, 0x7f, 0x2a, 0x9d, 0x4a, 0x86, 0x1a, 0xe7, 0xd4, 0x26, + 0x2e, 0x59, 0x88, 0x7d, 0x0f, 0xfb, 0xc8, 0x37, 0xf0, 0x5a, 0x01, 0xa7, 0xdb, 0x29, 0x98, 0x6b, + 0x37, 0x3b, 0x29, 0xf1, 0xbf, 0x43, 0xdc, 0xb2, 0xc4, 0x83, 0x07, 0x58, 0xcc, 0x8b, 0x1c, 0x4d, + 0x54, 0x2b, 0x91, 0x27, 0x5b, 0x32, 0xac, 0x7f, 0x55, 0x22, 0x59, 0x80, 0xb0, 0xb0, 0x40, 0x7d, + 0xa5, 0x90, 0x80, 0x63, 0x54, 0x5b, 0x96, 0xc1, 0x92, 0x5a, 0x06, 0xae, 0xc2, 0x61, 0x92, 0x19, + 0xb7, 0xd2, 0xe7, 0x87, 0xf9, 0xc0, 0xd4, 0x79, 0x91, 0xf4, 0xa6, 0x29, 0x8f, 0xbc, 0x69, 0x74, + 0x79, 0x72, 0x96, 0xaf, 0x50, 0x71, 0x3d, 0xc3, 0xb3, 0x38, 0x37, 0x8a, 0x27, 0x11, 0xa9, 0x58, + 0xfd, 0x22, 0x89, 0xf8, 0x29, 0x23, 0x2e, 0xc3, 0xe7, 0x3c, 0xe4, 0xe2, 0x8b, 0xbf, 0x37, 0xf0, + 0x62, 0xd7, 0x20, 0xc4, 0x6d, 0x50, 0x19, 0x92, 0xda, 0xe4, 0x54, 0x31, 0x3f, 0x42, 0xd1, 0x92, + 0x34, 0x4d, 0x1e, 0x42, 0x39, 0xcb, 0xb1, 0x93, 0xb9, 0xbf, 0xd0, 0x57, 0x2b, 0xf1, 0x43, 0x39, + 0x17, 0xa2, 0x06, 0x4e, 0x92, 0x12, 0x43, 0xb8, 0x9d, 0x5c, 0x79, 0x36, 0x4c, 0xbf, 0x34, 0x99, + 0xf6, 0x92, 0x21, 0x3e, 0x69, 0x06, 0xda, 0x45, 0xce, 0x21, 0xab, 0x54, 0x88, 0x53, 0x29, 0xa2, + 0x49, 0x10, 0x15, 0x11, 0x41, 0xa6, 0xa4, 0x4d, 0xbf, 0x43, 0x6c, 0x90, 0xcb, 0x2b, 0x5e, 0xae, + 0xc4, 0xe1, 0x97, 0x32, 0x0e, 0xbf, 0x0e, 0x93, 0x57, 0xed, 0x47, 0xb0, 0x87, 0x26, 0xb1, 0x8d, + 0xe4, 0xb9, 0x5e, 0x4e, 0x9f, 0xeb, 0xba, 0x17, 0x2d, 0x63, 0x21, 0x94, 0x49, 0xaa, 0xa9, 0x43, + 0xda, 0xf6, 0x5c, 0x18, 0xe5, 0x0a, 0x40, 0xcb, 0xfe, 0x53, 0xfa, 0xb2, 0x3f, 0xcd, 0xfd, 0x24, + 0x9a, 0x02, 0x47, 0xac, 0x9f, 0x07, 0x30, 0xf4, 0x8e, 0xb7, 0x1d, 0x07, 0x45, 0xd1, 0x87, 0xfe, + 0xd0, 0xcd, 0xab, 0x46, 0x0c, 0xd2, 0x0e, 0x84, 0xfe, 0x9d, 0x3a, 0x42, 0x53, 0x08, 0x58, 0xf8, + 0xfe, 0x7d, 0x8a, 0xa0, 0x77, 0xbc, 0x13, 0xf8, 0x3e, 0x72, 0x72, 0x22, 0xc7, 0x53, 0x8c, 0x64, + 0x5a, 0x9e, 0xb3, 0x93, 0xa1, 0xf2, 0xae, 0x89, 0x44, 0x39, 0xbf, 0x3f, 0x4e, 0x11, 0xb5, 0x3e, + 0xf0, 0x71, 0x22, 0x11, 0x17, 0x78, 0x81, 0xa8, 0x0a, 0x2e, 0x16, 0x98, 0xed, 0x84, 0xf0, 0xc8, + 0xa3, 0x77, 0x1e, 0x5b, 0x1d, 0x1f, 0x57, 0x1f, 0x03, 0x40, 0x3a, 0x44, 0x28, 0x46, 0x61, 0x12, + 0xeb, 0xef, 0x2a, 0xef, 0xe8, 0xa8, 0x18, 0xb4, 0xdd, 0x44, 0x56, 0x3e, 0xf0, 0xe3, 0xf0, 0xd8, + 0x16, 0x48, 0xa5, 0x6f, 0xd2, 0x8a, 0xf0, 0x26, 0xb5, 0xde, 0x03, 0x67, 0xa4, 0x45, 0x38, 0xd2, + 0x1d, 0x22, 0x56, 0xce, 0xb2, 0xf1, 0x4f, 0xbc, 0x74, 0x08, 0xbd, 0x41, 0xb2, 0x09, 0x3a, 0xb8, + 0x3f, 0x75, 0xaf, 0xa4, 0x34, 0x0f, 0x49, 0x28, 0xae, 0x3a, 0x9f, 0x3c, 0x6a, 0xf9, 0xd7, 0xdd, + 0xc0, 0xfc, 0x28, 0x41, 0x09, 0x30, 0x7d, 0x94, 0x08, 0x53, 0x05, 0xaa, 0x0a, 0xf4, 0x79, 0x2b, + 0xf0, 0x93, 0xab, 0xe3, 0xa9, 0xa0, 0x5e, 0x10, 0xa1, 0xff, 0xb5, 0x34, 0x58, 0x8f, 0x47, 0x2c, + 0xa5, 0x9f, 0xb5, 0xf1, 0x4f, 0x65, 0x5a, 0x94, 0x15, 0x82, 0x8b, 0xf8, 0x31, 0x31, 0x41, 0xc1, + 0xee, 0x77, 0xdd, 0xc8, 0x7d, 0xf5, 0xeb, 0x44, 0x2b, 0x2d, 0x2a, 0xb2, 0x9c, 0xb3, 0x07, 0x00, + 0x73, 0xed, 0x4d, 0xe8, 0x4f, 0x5c, 0xe1, 0xd4, 0x65, 0x86, 0x72, 0x75, 0x73, 0x91, 0xf7, 0xe2, + 0x9a, 0x90, 0x7b, 0xd4, 0x7a, 0x44, 0x7a, 0x03, 0x82, 0x98, 0x1f, 0x84, 0xf0, 0x15, 0xca, 0xad, + 0x8b, 0xa0, 0x82, 0x75, 0x41, 0x43, 0xde, 0x9c, 0x4d, 0x07, 0x23, 0xa2, 0xd0, 0x0e, 0x81, 0xcc, + 0x54, 0x32, 0x5f, 0x1c, 0x80, 0x9d, 0xd8, 0x1d, 0xe2, 0x4b, 0xff, 0x0a, 0xe2, 0x28, 0xca, 0x25, + 0xb2, 0x38, 0xbc, 0x3a, 0x93, 0xf0, 0x4b, 0x24, 0xb9, 0xf9, 0xfb, 0x0d, 0x50, 0xde, 0x8b, 0xba, + 0xd5, 0x36, 0x98, 0xcf, 0xb4, 0xb2, 0x57, 0x74, 0x6e, 0x42, 0x44, 0x59, 0x9b, 0x45, 0x50, 0x3c, + 0xb6, 0xfd, 0x1c, 0x00, 0xa1, 0x9d, 0x5c, 0xd7, 0xae, 0xe5, 0x18, 0x6b, 0x23, 0x1f, 0xc3, 0xa9, + 0x23, 0x70, 0x3a, 0xdb, 0x2a, 0x5e, 0xd5, 0x2d, 0xce, 0xc0, 0xac, 0xeb, 0x85, 0x60, 0x9c, 0xcd, + 0x21, 0x38, 0x23, 0x77, 0x7b, 0xd7, 0x8c, 0x14, 0x52, 0xa0, 0xd5, 0x28, 0x08, 0xe4, 0xcc, 0x3e, + 0x01, 0xb3, 0xbc, 0xa1, 0xba, 0x6c, 0x5a, 0x8c, 0x11, 0xd6, 0x7a, 0x1e, 0x82, 0xd3, 0x6d, 0x83, + 0xf9, 0x4c, 0xf7, 0x73, 0xc5, 0xb4, 0x32, 0x41, 0xe9, 0x4f, 0x5b, 0xd5, 0xda, 0xc4, 0xa7, 0x2d, + 0xb4, 0x35, 0xeb, 0xa6, 0xb5, 0x14, 0xa3, 0x3f, 0xed, 0xd1, 0xa6, 0x64, 0xf5, 0x00, 0x2c, 0x48, + 0x0d, 0xc9, 0xab, 0xa6, 0xd5, 0x29, 0xce, 0xda, 0x2a, 0x86, 0xe3, 0x9c, 0x7c, 0xf0, 0xda, 0x48, + 0x63, 0x71, 0x3d, 0x87, 0x06, 0x47, 0x5a, 0xef, 0x14, 0x45, 0x66, 0x0c, 0x4c, 0x6a, 0x1d, 0xea, + 0x0d, 0x2c, 0x0b, 0x34, 0x18, 0x98, 0xba, 0x9d, 0x58, 0xfd, 0x1c, 0xbc, 0x3e, 0xda, 0x4b, 0xbc, + 0x96, 0x43, 0x25, 0x85, 0x5a, 0x37, 0x0a, 0x43, 0x39, 0xcb, 0xcf, 0xc0, 0x29, 0xb1, 0xbb, 0x78, + 0x45, 0x47, 0x41, 0x00, 0x59, 0x6f, 0x17, 0x00, 0x65, 0x1c, 0x41, 0xa6, 0xa1, 0xb7, 0x9a, 0x23, + 0x24, 0x73, 0x36, 0xd7, 0x0b, 0xc1, 0x38, 0x9b, 0xa7, 0x60, 0x51, 0xd9, 0xc7, 0xdb, 0x2c, 0x20, + 0x2b, 0x47, 0x5b, 0xef, 0x8e, 0x83, 0xe6, 0xbc, 0x9f, 0x80, 0xb9, 0xb4, 0x41, 0x77, 0x59, 0x47, + 0x82, 0x43, 0xac, 0x6b, 0xb9, 0x10, 0xf1, 0xda, 0x0a, 0x9d, 0xb3, 0xba, 0x69, 0x21, 0xc5, 0xe8, + 0xaf, 0xed, 0x68, 0x6b, 0x0c, 0x9f, 0x4d, 0xb6, 0x2f, 0xb6, 0x9a, 0xb3, 0x98, 0xc2, 0xf4, 0x67, + 0xa3, 0xec, 0x7d, 0x61, 0xb3, 0x1e, 0x6d, 0x7c, 0x19, 0x95, 0x90, 0x81, 0xea, 0xcd, 0x5a, 0xdb, + 0xe4, 0xc2, 0xe6, 0xa0, 0xec, 0x70, 0x6d, 0x16, 0x23, 0xc5, 0xf6, 0xf9, 0xee, 0x38, 0x68, 0xf1, + 0x4a, 0x89, 0xdd, 0xac, 0x2b, 0x06, 0x22, 0x09, 0x48, 0x7f, 0xa5, 0x14, 0x7d, 0x2c, 0x76, 0x6c, + 0x82, 0xb3, 0x35, 0x1d, 0x9b, 0xe0, 0x6b, 0xaf, 0x17, 0x82, 0x49, 0xfb, 0xe0, 0x7d, 0x2a, 0xd3, + 0x3e, 0x12, 0x90, 0x71, 0x1f, 0x72, 0x2f, 0x0a, 0x47, 0x0d, 0xa9, 0x11, 0xa5, 0x8d, 0x1a, 0x59, + 0x9c, 0x3e, 0x6a, 0x68, 0xba, 0x50, 0x87, 0xe0, 0x8c, 0xdc, 0x59, 0x5a, 0xd3, 0x4b, 0x9a, 0x01, + 0xea, 0xbd, 0xb8, 0xa6, 0x3d, 0x84, 0xc3, 0x79, 0xa6, 0x37, 0xb4, 0x92, 0x4b, 0x00, 0x6f, 0x69, + 0xb3, 0x08, 0x4a, 0xb9, 0x21, 0x66, 0xda, 0xf9, 0x1b, 0x62, 0x56, 0xdd, 0x28, 0x08, 0x94, 0x73, + 0xb9, 0xb4, 0xeb, 0x63, 0xcc, 0xe5, 0x38, 0xcc, 0x9c, 0xcb, 0x8d, 0x34, 0x68, 0xaa, 0x5f, 0x82, + 0x37, 0xd4, 0xcd, 0x99, 0xeb, 0xb9, 0x71, 0x54, 0x84, 0x5b, 0xb7, 0xc7, 0x82, 0x1b, 0xd8, 0xb3, + 0xc6, 0x4a, 0x51, 0xf6, 0x14, 0x5e, 0x98, 0x7d, 0xb6, 0x03, 0x42, 0x52, 0xa8, 0x6c, 0xfb, 0xe3, + 0x6a, 0x3e, 0x21, 0x8c, 0x33, 0xa4, 0x50, 0xca, 0x9e, 0x07, 0xb6, 0xcf, 0x4c, 0xbf, 0x63, 0xc5, + 0x18, 0xf4, 0x18, 0xca, 0xda, 0x2c, 0x82, 0x12, 0x77, 0x23, 0xb5, 0x1a, 0xb4, 0xbb, 0xc9, 0xe2, + 0xf4, 0xbb, 0x51, 0x77, 0x19, 0x70, 0x70, 0x19, 0x6d, 0x31, 0x5c, 0xcb, 0x21, 0x92, 0x42, 0xf5, + 0xc1, 0x45, 0xdb, 0x5e, 0xc0, 0xf7, 0x21, 0xdb, 0x5b, 0x58, 0xcd, 0xa1, 0x41, 0x61, 0xfa, 0xfb, + 0xa0, 0xec, 0x2d, 0xe0, 0x3b, 0x2e, 0x37, 0x16, 0xd6, 0x0a, 0xf8, 0x3d, 0x0c, 0xd4, 0xdf, 0x71, + 0x5d, 0x1b, 0xe1, 0x08, 0x9c, 0x55, 0x35, 0x0a, 0xde, 0x2e, 0x40, 0x87, 0xbf, 0x48, 0x6e, 0x8d, + 0x01, 0x96, 0x92, 0x03, 0xa9, 0xf6, 0x7f, 0x2d, 0x2f, 0x8c, 0x70, 0xa8, 0x31, 0x39, 0x50, 0x57, + 0xf6, 0xa9, 0x83, 0x16, 0xca, 0xfa, 0x2b, 0xe6, 0xb8, 0x48, 0x51, 0x26, 0x07, 0x3d, 0x5a, 0xb9, + 0x4f, 0x7c, 0x66, 0x5a, 0xb6, 0x5f, 0xcd, 0x7b, 0x0e, 0x12, 0x98, 0xd9, 0x67, 0x8e, 0x56, 0xe4, + 0x9f, 0x80, 0xb9, 0xb4, 0xca, 0x7e, 0xd9, 0x78, 0x45, 0x89, 0x5d, 0x5c, 0xcb, 0x85, 0x48, 0xa9, + 0x67, 0x52, 0xde, 0x36, 0xa5, 0x9e, 0x0c, 0x63, 0x4c, 0x3d, 0xa5, 0x1a, 0x36, 0x36, 0x6e, 0xb9, + 0x80, 0xbd, 0x96, 0x73, 0x3d, 0x12, 0xa0, 0xde, 0xb8, 0x35, 0xe5, 0x6b, 0x6c, 0x63, 0xa3, 0xb5, + 0x6b, 0xad, 0x2a, 0x46, 0xa0, 0x7a, 0x1b, 0xd3, 0x56, 0xaf, 0xb1, 0x8d, 0x65, 0x4a, 0xd7, 0x5a, + 0x1b, 0x13, 0x51, 0x7a, 0x1b, 0x53, 0x55, 0xac, 0xb1, 0x0e, 0xe5, 0x6a, 0xf5, 0x5a, 0xc1, 0x7a, + 0xb2, 0x5e, 0x87, 0x9a, 0x1a, 0x2f, 0xce, 0x06, 0xc5, 0x02, 0xef, 0x95, 0xdc, 0xf5, 0xbb, 0x81, + 0x3e, 0x1b, 0x54, 0x94, 0x6e, 0x71, 0xc8, 0x90, 0xca, 0xb6, 0x57, 0xf3, 0x65, 0xc4, 0x38, 0x7d, + 0xc8, 0x50, 0x57, 0x60, 0xf1, 0xe3, 0x40, 0x59, 0x7e, 0xdd, 0x2c, 0x70, 0xcc, 0x1c, 0xad, 0x7f, + 0x1c, 0x98, 0x6a, 0xb0, 0xd5, 0x16, 0x38, 0x99, 0x14, 0x60, 0x2f, 0x99, 0xae, 0x7a, 0x13, 0xfa, + 0xd6, 0x5a, 0x0e, 0x40, 0x2c, 0x8a, 0x8c, 0x54, 0x54, 0xd7, 0x0b, 0x88, 0x47, 0x90, 0xfa, 0xa2, + 0x88, 0xae, 0x60, 0xca, 0x5e, 0x06, 0xbc, 0x5a, 0x6a, 0x7a, 0x19, 0x24, 0x20, 0xe3, 0xcb, 0x40, + 0xae, 0x83, 0x5a, 0x95, 0x5f, 0xbd, 0x7c, 0xb6, 0x51, 0x6a, 0xda, 0xdf, 0x3c, 0x5f, 0x2a, 0x7d, + 0xfb, 0x7c, 0xa9, 0xf4, 0x9f, 0xe7, 0x4b, 0xa5, 0x3f, 0xbc, 0x58, 0x3a, 0xf1, 0xed, 0x8b, 0xa5, + 0x13, 0xff, 0x7a, 0xb1, 0x74, 0xe2, 0xd3, 0x7b, 0x5d, 0x37, 0x3e, 0x18, 0xb4, 0xb7, 0x9c, 0xa0, + 0xd7, 0xd8, 0x45, 0x0e, 0xf2, 0xe3, 0x10, 0x7a, 0x58, 0x2d, 0x1f, 0xc0, 0x1e, 0x6a, 0xa8, 0xff, + 0xda, 0x26, 0x3e, 0xee, 0xa3, 0xa8, 0x3d, 0x43, 0xfe, 0x60, 0xe8, 0xd6, 0x7f, 0x03, 0x00, 0x00, + 0xff, 0xff, 0x12, 0x5f, 0xd6, 0x84, 0x8a, 0x35, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5184,6 +5276,7 @@ type MsgClient interface { EarlyAccessDisinvite(ctx context.Context, in *MsgEarlyAccessDisinvite, opts ...grpc.CallOption) (*MsgEarlyAccessDisinviteResponse, error) CardBan(ctx context.Context, in *MsgCardBan, opts ...grpc.CallOption) (*MsgCardBanResponse, error) EarlyAccessGrant(ctx context.Context, in *MsgEarlyAccessGrant, opts ...grpc.CallOption) (*MsgEarlyAccessGrantResponse, error) + SetActivate(ctx context.Context, in *MsgSetActivate, opts ...grpc.CallOption) (*MsgSetActivateResponse, error) } type msgClient struct { @@ -5644,6 +5737,15 @@ func (c *msgClient) EarlyAccessGrant(ctx context.Context, in *MsgEarlyAccessGran return out, nil } +func (c *msgClient) SetActivate(ctx context.Context, in *MsgSetActivate, opts ...grpc.CallOption) (*MsgSetActivateResponse, error) { + out := new(MsgSetActivateResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/SetActivate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module @@ -5698,6 +5800,7 @@ type MsgServer interface { EarlyAccessDisinvite(context.Context, *MsgEarlyAccessDisinvite) (*MsgEarlyAccessDisinviteResponse, error) CardBan(context.Context, *MsgCardBan) (*MsgCardBanResponse, error) EarlyAccessGrant(context.Context, *MsgEarlyAccessGrant) (*MsgEarlyAccessGrantResponse, error) + SetActivate(context.Context, *MsgSetActivate) (*MsgSetActivateResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -5854,6 +5957,9 @@ func (*UnimplementedMsgServer) CardBan(ctx context.Context, req *MsgCardBan) (*M func (*UnimplementedMsgServer) EarlyAccessGrant(ctx context.Context, req *MsgEarlyAccessGrant) (*MsgEarlyAccessGrantResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EarlyAccessGrant not implemented") } +func (*UnimplementedMsgServer) SetActivate(ctx context.Context, req *MsgSetActivate) (*MsgSetActivateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetActivate not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -6759,6 +6865,24 @@ func _Msg_EarlyAccessGrant_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Msg_SetActivate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetActivate) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetActivate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/SetActivate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetActivate(ctx, req.(*MsgSetActivate)) + } + return interceptor(ctx, in, info, handler) +} + var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Msg", @@ -6964,6 +7088,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "EarlyAccessGrant", Handler: _Msg_EarlyAccessGrant_Handler, }, + { + MethodName: "SetActivate", + Handler: _Msg_SetActivate_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", @@ -10364,6 +10492,64 @@ func (m *MsgEarlyAccessGrantResponse) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } +func (m *MsgSetActivate) 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 *MsgSetActivate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetActivate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x10 + } + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgSetActivateResponse) 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 *MsgSetActivateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetActivateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -11845,6 +12031,31 @@ func (m *MsgEarlyAccessGrantResponse) Size() (n int) { return n } +func (m *MsgSetActivate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + return n +} + +func (m *MsgSetActivateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -21381,6 +21592,157 @@ func (m *MsgEarlyAccessGrantResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgSetActivate) 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: MsgSetActivate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetActivate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 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 + } + } + 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 *MsgSetActivateResponse) 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: MsgSetActivateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetActivateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From 502bdcb62ad99a706c6000986a7eded7f54a55c3 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 18 Feb 2025 13:35:31 +0100 Subject: [PATCH 71/99] feat(#242): Added CardCopyrightClaim --- api/cardchain/cardchain/tx.pulsar.go | 1704 +++++++++++++---- api/cardchain/cardchain/tx_grpc.pb.go | 37 + docs/static/openapi.yml | 2 +- gen.sh | 3 +- proto/cardchain/cardchain/tx.proto | 10 + .../keeper/msg_server_card_copyright_claim.go | 34 + x/cardchain/module/autocli.go | 6 + x/cardchain/module/simulation.go | 23 + .../simulation/card_copyright_claim.go | 29 + x/cardchain/types/codec.go | 3 + .../types/message_card_copyright_claim.go | 24 + .../message_card_copyright_claim_test.go | 40 + x/cardchain/types/tx.pb.go | 728 +++++-- 13 files changed, 2075 insertions(+), 568 deletions(-) create mode 100644 x/cardchain/keeper/msg_server_card_copyright_claim.go create mode 100644 x/cardchain/simulation/card_copyright_claim.go create mode 100644 x/cardchain/types/message_card_copyright_claim.go create mode 100644 x/cardchain/types/message_card_copyright_claim_test.go diff --git a/api/cardchain/cardchain/tx.pulsar.go b/api/cardchain/cardchain/tx.pulsar.go index 7d6ab84b..58df7ff6 100644 --- a/api/cardchain/cardchain/tx.pulsar.go +++ b/api/cardchain/cardchain/tx.pulsar.go @@ -46539,6 +46539,830 @@ func (x *fastReflection_MsgSetActivateResponse) ProtoMethods() *protoiface.Metho } } +var ( + md_MsgCardCopyrightClaim protoreflect.MessageDescriptor + fd_MsgCardCopyrightClaim_authority protoreflect.FieldDescriptor + fd_MsgCardCopyrightClaim_cardId protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardCopyrightClaim = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardCopyrightClaim") + fd_MsgCardCopyrightClaim_authority = md_MsgCardCopyrightClaim.Fields().ByName("authority") + fd_MsgCardCopyrightClaim_cardId = md_MsgCardCopyrightClaim.Fields().ByName("cardId") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardCopyrightClaim)(nil) + +type fastReflection_MsgCardCopyrightClaim MsgCardCopyrightClaim + +func (x *MsgCardCopyrightClaim) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardCopyrightClaim)(x) +} + +func (x *MsgCardCopyrightClaim) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[102] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardCopyrightClaim_messageType fastReflection_MsgCardCopyrightClaim_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardCopyrightClaim_messageType{} + +type fastReflection_MsgCardCopyrightClaim_messageType struct{} + +func (x fastReflection_MsgCardCopyrightClaim_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardCopyrightClaim)(nil) +} +func (x fastReflection_MsgCardCopyrightClaim_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardCopyrightClaim) +} +func (x fastReflection_MsgCardCopyrightClaim_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardCopyrightClaim +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardCopyrightClaim) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardCopyrightClaim +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardCopyrightClaim) Type() protoreflect.MessageType { + return _fastReflection_MsgCardCopyrightClaim_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardCopyrightClaim) New() protoreflect.Message { + return new(fastReflection_MsgCardCopyrightClaim) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardCopyrightClaim) Interface() protoreflect.ProtoMessage { + return (*MsgCardCopyrightClaim)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardCopyrightClaim) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgCardCopyrightClaim_authority, value) { + return + } + } + if x.CardId != uint64(0) { + value := protoreflect.ValueOfUint64(x.CardId) + if !f(fd_MsgCardCopyrightClaim_cardId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardCopyrightClaim) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardCopyrightClaim.authority": + return x.Authority != "" + case "cardchain.cardchain.MsgCardCopyrightClaim.cardId": + return x.CardId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardCopyrightClaim")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardCopyrightClaim does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardCopyrightClaim) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardCopyrightClaim.authority": + x.Authority = "" + case "cardchain.cardchain.MsgCardCopyrightClaim.cardId": + x.CardId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardCopyrightClaim")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardCopyrightClaim does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardCopyrightClaim) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.cardchain.MsgCardCopyrightClaim.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "cardchain.cardchain.MsgCardCopyrightClaim.cardId": + value := x.CardId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardCopyrightClaim")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardCopyrightClaim does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardCopyrightClaim) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardCopyrightClaim.authority": + x.Authority = value.Interface().(string) + case "cardchain.cardchain.MsgCardCopyrightClaim.cardId": + x.CardId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardCopyrightClaim")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardCopyrightClaim does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardCopyrightClaim) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardCopyrightClaim.authority": + panic(fmt.Errorf("field authority of message cardchain.cardchain.MsgCardCopyrightClaim is not mutable")) + case "cardchain.cardchain.MsgCardCopyrightClaim.cardId": + panic(fmt.Errorf("field cardId of message cardchain.cardchain.MsgCardCopyrightClaim is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardCopyrightClaim")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardCopyrightClaim does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardCopyrightClaim) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.cardchain.MsgCardCopyrightClaim.authority": + return protoreflect.ValueOfString("") + case "cardchain.cardchain.MsgCardCopyrightClaim.cardId": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardCopyrightClaim")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardCopyrightClaim does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardCopyrightClaim) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardCopyrightClaim", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardCopyrightClaim) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardCopyrightClaim) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardCopyrightClaim) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardCopyrightClaim) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardCopyrightClaim) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CardId != 0 { + n += 1 + runtime.Sov(uint64(x.CardId)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardCopyrightClaim) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CardId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardCopyrightClaim) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardCopyrightClaim: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardCopyrightClaim: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + x.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCardCopyrightClaimResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_cardchain_tx_proto_init() + md_MsgCardCopyrightClaimResponse = File_cardchain_cardchain_tx_proto.Messages().ByName("MsgCardCopyrightClaimResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCardCopyrightClaimResponse)(nil) + +type fastReflection_MsgCardCopyrightClaimResponse MsgCardCopyrightClaimResponse + +func (x *MsgCardCopyrightClaimResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCardCopyrightClaimResponse)(x) +} + +func (x *MsgCardCopyrightClaimResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[103] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCardCopyrightClaimResponse_messageType fastReflection_MsgCardCopyrightClaimResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCardCopyrightClaimResponse_messageType{} + +type fastReflection_MsgCardCopyrightClaimResponse_messageType struct{} + +func (x fastReflection_MsgCardCopyrightClaimResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCardCopyrightClaimResponse)(nil) +} +func (x fastReflection_MsgCardCopyrightClaimResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCardCopyrightClaimResponse) +} +func (x fastReflection_MsgCardCopyrightClaimResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardCopyrightClaimResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCardCopyrightClaimResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCardCopyrightClaimResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCardCopyrightClaimResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCardCopyrightClaimResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCardCopyrightClaimResponse) New() protoreflect.Message { + return new(fastReflection_MsgCardCopyrightClaimResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCardCopyrightClaimResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCardCopyrightClaimResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCardCopyrightClaimResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCardCopyrightClaimResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardCopyrightClaimResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardCopyrightClaimResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardCopyrightClaimResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardCopyrightClaimResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardCopyrightClaimResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCardCopyrightClaimResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardCopyrightClaimResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardCopyrightClaimResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardCopyrightClaimResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardCopyrightClaimResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardCopyrightClaimResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardCopyrightClaimResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardCopyrightClaimResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardCopyrightClaimResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCardCopyrightClaimResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.MsgCardCopyrightClaimResponse")) + } + panic(fmt.Errorf("message cardchain.cardchain.MsgCardCopyrightClaimResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCardCopyrightClaimResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.cardchain.MsgCardCopyrightClaimResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCardCopyrightClaimResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCardCopyrightClaimResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCardCopyrightClaimResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCardCopyrightClaimResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCardCopyrightClaimResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCardCopyrightClaimResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCardCopyrightClaimResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardCopyrightClaimResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCardCopyrightClaimResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -50476,6 +51300,75 @@ func (*MsgSetActivateResponse) Descriptor() ([]byte, []int) { return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{101} } +type MsgCardCopyrightClaim struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (x *MsgCardCopyrightClaim) Reset() { + *x = MsgCardCopyrightClaim{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardCopyrightClaim) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardCopyrightClaim) ProtoMessage() {} + +// Deprecated: Use MsgCardCopyrightClaim.ProtoReflect.Descriptor instead. +func (*MsgCardCopyrightClaim) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{102} +} + +func (x *MsgCardCopyrightClaim) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgCardCopyrightClaim) GetCardId() uint64 { + if x != nil { + return x.CardId + } + return 0 +} + +type MsgCardCopyrightClaimResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCardCopyrightClaimResponse) Reset() { + *x = MsgCardCopyrightClaimResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_cardchain_tx_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCardCopyrightClaimResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCardCopyrightClaimResponse) ProtoMessage() {} + +// Deprecated: Use MsgCardCopyrightClaimResponse.ProtoReflect.Descriptor instead. +func (*MsgCardCopyrightClaimResponse) Descriptor() ([]byte, []int) { + return file_cardchain_cardchain_tx_proto_rawDescGZIP(), []int{103} +} + var File_cardchain_cardchain_tx_proto protoreflect.FileDescriptor var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ @@ -50992,343 +51885,360 @@ var file_cardchain_cardchain_tx_proto_rawDesc = []byte{ 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, - 0x8c, 0x2a, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x77, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, + 0x67, 0x68, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, + 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6c, 0x61, 0x69, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x82, 0x2b, 0x0a, 0x03, 0x4d, 0x73, + 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, - 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, + 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, + 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, + 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, - 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, + 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x2f, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, - 0x08, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x64, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, - 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, - 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x62, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, + 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, + 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x44, + 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, - 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x61, 0x72, 0x64, 0x44, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x41, 0x64, 0x64, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x43, + 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, + 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, - 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, + 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x43, + 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, - 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, + 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, - 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, + 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, - 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, - 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, - 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, - 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x59, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, + 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, + 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x1a, 0x2a, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, + 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x61, 0x72, + 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, + 0x72, 0x41, 0x64, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, + 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x6f, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, + 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, - 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, - 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, - 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, - 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, - 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, - 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x46, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x65, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, + 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, + 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x79, 0x41, 0x64, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, + 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, + 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x12, 0x24, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x42, 0x75, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, - 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, + 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x2f, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, + 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, + 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, + 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, - 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, - 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x15, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, - 0x76, 0x65, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, - 0x65, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, - 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x1a, 0x2e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, + 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x24, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, - 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, - 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x74, 0x1a, 0x2e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, + 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, + 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, + 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, - 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x1a, 0x2d, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, - 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, - 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, - 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, - 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, - 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, - 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, - 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, - 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, + 0x65, 0x6e, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, + 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, + 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, - 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, - 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, + 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, + 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, + 0x6f, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, + 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, + 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x61, 0x72, - 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, + 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x56, - 0x6f, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x59, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, - 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, - 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, - 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, - 0x61, 0x73, 0x53, 0x65, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x53, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, + 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, - 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, - 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, - 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, - 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x1a, + 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x71, 0x0a, 0x11, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x14, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x53, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x12, 0x1f, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x1a, 0x27, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, + 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0c, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, + 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x44, 0x6f, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, + 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x1a, + 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x7a, 0x0a, 0x14, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, + 0x73, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, + 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x43, + 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x12, 0x1f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6e, 0x0a, 0x10, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, - 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, + 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x30, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, + 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x74, 0x0a, 0x12, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, + 0x68, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6c, + 0x61, 0x69, 0x6d, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, + 0x64, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, @@ -51358,7 +52268,7 @@ func file_cardchain_cardchain_tx_proto_rawDescGZIP() []byte { return file_cardchain_cardchain_tx_proto_rawDescData } -var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 103) +var file_cardchain_cardchain_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 105) var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: cardchain.cardchain.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: cardchain.cardchain.MsgUpdateParamsResponse @@ -51462,27 +52372,29 @@ var file_cardchain_cardchain_tx_proto_goTypes = []interface{}{ (*MsgEarlyAccessGrantResponse)(nil), // 99: cardchain.cardchain.MsgEarlyAccessGrantResponse (*MsgSetActivate)(nil), // 100: cardchain.cardchain.MsgSetActivate (*MsgSetActivateResponse)(nil), // 101: cardchain.cardchain.MsgSetActivateResponse - nil, // 102: cardchain.cardchain.MsgEncounterCreate.ParametersEntry - (*Params)(nil), // 103: cardchain.cardchain.Params - (*v1beta1.Coin)(nil), // 104: cosmos.base.v1beta1.Coin - (*SingleVote)(nil), // 105: cardchain.cardchain.SingleVote - (Outcome)(0), // 106: cardchain.cardchain.Outcome - (CardRarity)(0), // 107: cardchain.cardchain.CardRarity - (Response)(0), // 108: cardchain.cardchain.Response + (*MsgCardCopyrightClaim)(nil), // 102: cardchain.cardchain.MsgCardCopyrightClaim + (*MsgCardCopyrightClaimResponse)(nil), // 103: cardchain.cardchain.MsgCardCopyrightClaimResponse + nil, // 104: cardchain.cardchain.MsgEncounterCreate.ParametersEntry + (*Params)(nil), // 105: cardchain.cardchain.Params + (*v1beta1.Coin)(nil), // 106: cosmos.base.v1beta1.Coin + (*SingleVote)(nil), // 107: cardchain.cardchain.SingleVote + (Outcome)(0), // 108: cardchain.cardchain.Outcome + (CardRarity)(0), // 109: cardchain.cardchain.CardRarity + (Response)(0), // 110: cardchain.cardchain.Response } var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ - 103, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params - 104, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin - 105, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote - 104, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin - 106, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome - 104, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin - 107, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity - 108, // 7: cardchain.cardchain.MsgCouncilResponseReveal.response:type_name -> cardchain.cardchain.Response - 106, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome - 105, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote - 105, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote - 102, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry + 105, // 0: cardchain.cardchain.MsgUpdateParams.params:type_name -> cardchain.cardchain.Params + 106, // 1: cardchain.cardchain.MsgCardSchemeBuy.bid:type_name -> cosmos.base.v1beta1.Coin + 107, // 2: cardchain.cardchain.MsgCardVote.vote:type_name -> cardchain.cardchain.SingleVote + 106, // 3: cardchain.cardchain.MsgCardDonate.amount:type_name -> cosmos.base.v1beta1.Coin + 108, // 4: cardchain.cardchain.MsgMatchReport.outcome:type_name -> cardchain.cardchain.Outcome + 106, // 5: cardchain.cardchain.MsgSellOfferCreate.price:type_name -> cosmos.base.v1beta1.Coin + 109, // 6: cardchain.cardchain.MsgCardRaritySet.rarity:type_name -> cardchain.cardchain.CardRarity + 110, // 7: cardchain.cardchain.MsgCouncilResponseReveal.response:type_name -> cardchain.cardchain.Response + 108, // 8: cardchain.cardchain.MsgMatchConfirm.outcome:type_name -> cardchain.cardchain.Outcome + 107, // 9: cardchain.cardchain.MsgMatchConfirm.votedCards:type_name -> cardchain.cardchain.SingleVote + 107, // 10: cardchain.cardchain.MsgCardVoteMulti.votes:type_name -> cardchain.cardchain.SingleVote + 104, // 11: cardchain.cardchain.MsgEncounterCreate.parameters:type_name -> cardchain.cardchain.MsgEncounterCreate.ParametersEntry 0, // 12: cardchain.cardchain.Msg.UpdateParams:input_type -> cardchain.cardchain.MsgUpdateParams 2, // 13: cardchain.cardchain.Msg.UserCreate:input_type -> cardchain.cardchain.MsgUserCreate 4, // 14: cardchain.cardchain.Msg.CardSchemeBuy:input_type -> cardchain.cardchain.MsgCardSchemeBuy @@ -51534,59 +52446,61 @@ var file_cardchain_cardchain_tx_proto_depIdxs = []int32{ 96, // 60: cardchain.cardchain.Msg.CardBan:input_type -> cardchain.cardchain.MsgCardBan 98, // 61: cardchain.cardchain.Msg.EarlyAccessGrant:input_type -> cardchain.cardchain.MsgEarlyAccessGrant 100, // 62: cardchain.cardchain.Msg.SetActivate:input_type -> cardchain.cardchain.MsgSetActivate - 1, // 63: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse - 3, // 64: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse - 5, // 65: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse - 7, // 66: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse - 9, // 67: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse - 11, // 68: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse - 13, // 69: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse - 15, // 70: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse - 17, // 71: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse - 19, // 72: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse - 21, // 73: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse - 23, // 74: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse - 25, // 75: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse - 27, // 76: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse - 29, // 77: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse - 31, // 78: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse - 33, // 79: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse - 35, // 80: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse - 37, // 81: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse - 39, // 82: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse - 41, // 83: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse - 43, // 84: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse - 45, // 85: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse - 47, // 86: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse - 49, // 87: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse - 51, // 88: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse - 53, // 89: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse - 55, // 90: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse - 57, // 91: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse - 59, // 92: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse - 61, // 93: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse - 63, // 94: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse - 65, // 95: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse - 67, // 96: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse - 69, // 97: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse - 71, // 98: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse - 73, // 99: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse - 75, // 100: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse - 77, // 101: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse - 79, // 102: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse - 81, // 103: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse - 83, // 104: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse - 85, // 105: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse - 87, // 106: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse - 89, // 107: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse - 91, // 108: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse - 93, // 109: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse - 95, // 110: cardchain.cardchain.Msg.EarlyAccessDisinvite:output_type -> cardchain.cardchain.MsgEarlyAccessDisinviteResponse - 97, // 111: cardchain.cardchain.Msg.CardBan:output_type -> cardchain.cardchain.MsgCardBanResponse - 99, // 112: cardchain.cardchain.Msg.EarlyAccessGrant:output_type -> cardchain.cardchain.MsgEarlyAccessGrantResponse - 101, // 113: cardchain.cardchain.Msg.SetActivate:output_type -> cardchain.cardchain.MsgSetActivateResponse - 63, // [63:114] is the sub-list for method output_type - 12, // [12:63] is the sub-list for method input_type + 102, // 63: cardchain.cardchain.Msg.CardCopyrightClaim:input_type -> cardchain.cardchain.MsgCardCopyrightClaim + 1, // 64: cardchain.cardchain.Msg.UpdateParams:output_type -> cardchain.cardchain.MsgUpdateParamsResponse + 3, // 65: cardchain.cardchain.Msg.UserCreate:output_type -> cardchain.cardchain.MsgUserCreateResponse + 5, // 66: cardchain.cardchain.Msg.CardSchemeBuy:output_type -> cardchain.cardchain.MsgCardSchemeBuyResponse + 7, // 67: cardchain.cardchain.Msg.CardSaveContent:output_type -> cardchain.cardchain.MsgCardSaveContentResponse + 9, // 68: cardchain.cardchain.Msg.CardVote:output_type -> cardchain.cardchain.MsgCardVoteResponse + 11, // 69: cardchain.cardchain.Msg.CardTransfer:output_type -> cardchain.cardchain.MsgCardTransferResponse + 13, // 70: cardchain.cardchain.Msg.CardDonate:output_type -> cardchain.cardchain.MsgCardDonateResponse + 15, // 71: cardchain.cardchain.Msg.CardArtworkAdd:output_type -> cardchain.cardchain.MsgCardArtworkAddResponse + 17, // 72: cardchain.cardchain.Msg.CardArtistChange:output_type -> cardchain.cardchain.MsgCardArtistChangeResponse + 19, // 73: cardchain.cardchain.Msg.CouncilRegister:output_type -> cardchain.cardchain.MsgCouncilRegisterResponse + 21, // 74: cardchain.cardchain.Msg.CouncilDeregister:output_type -> cardchain.cardchain.MsgCouncilDeregisterResponse + 23, // 75: cardchain.cardchain.Msg.MatchReport:output_type -> cardchain.cardchain.MsgMatchReportResponse + 25, // 76: cardchain.cardchain.Msg.CouncilCreate:output_type -> cardchain.cardchain.MsgCouncilCreateResponse + 27, // 77: cardchain.cardchain.Msg.MatchReporterAppoint:output_type -> cardchain.cardchain.MsgMatchReporterAppointResponse + 29, // 78: cardchain.cardchain.Msg.SetCreate:output_type -> cardchain.cardchain.MsgSetCreateResponse + 31, // 79: cardchain.cardchain.Msg.SetCardAdd:output_type -> cardchain.cardchain.MsgSetCardAddResponse + 33, // 80: cardchain.cardchain.Msg.SetCardRemove:output_type -> cardchain.cardchain.MsgSetCardRemoveResponse + 35, // 81: cardchain.cardchain.Msg.SetContributorAdd:output_type -> cardchain.cardchain.MsgSetContributorAddResponse + 37, // 82: cardchain.cardchain.Msg.SetContributorRemove:output_type -> cardchain.cardchain.MsgSetContributorRemoveResponse + 39, // 83: cardchain.cardchain.Msg.SetFinalize:output_type -> cardchain.cardchain.MsgSetFinalizeResponse + 41, // 84: cardchain.cardchain.Msg.SetArtworkAdd:output_type -> cardchain.cardchain.MsgSetArtworkAddResponse + 43, // 85: cardchain.cardchain.Msg.SetStoryAdd:output_type -> cardchain.cardchain.MsgSetStoryAddResponse + 45, // 86: cardchain.cardchain.Msg.BoosterPackBuy:output_type -> cardchain.cardchain.MsgBoosterPackBuyResponse + 47, // 87: cardchain.cardchain.Msg.SellOfferCreate:output_type -> cardchain.cardchain.MsgSellOfferCreateResponse + 49, // 88: cardchain.cardchain.Msg.SellOfferBuy:output_type -> cardchain.cardchain.MsgSellOfferBuyResponse + 51, // 89: cardchain.cardchain.Msg.SellOfferRemove:output_type -> cardchain.cardchain.MsgSellOfferRemoveResponse + 53, // 90: cardchain.cardchain.Msg.CardRaritySet:output_type -> cardchain.cardchain.MsgCardRaritySetResponse + 55, // 91: cardchain.cardchain.Msg.CouncilResponseCommit:output_type -> cardchain.cardchain.MsgCouncilResponseCommitResponse + 57, // 92: cardchain.cardchain.Msg.CouncilResponseReveal:output_type -> cardchain.cardchain.MsgCouncilResponseRevealResponse + 59, // 93: cardchain.cardchain.Msg.CouncilRestart:output_type -> cardchain.cardchain.MsgCouncilRestartResponse + 61, // 94: cardchain.cardchain.Msg.MatchConfirm:output_type -> cardchain.cardchain.MsgMatchConfirmResponse + 63, // 95: cardchain.cardchain.Msg.ProfileCardSet:output_type -> cardchain.cardchain.MsgProfileCardSetResponse + 65, // 96: cardchain.cardchain.Msg.ProfileWebsiteSet:output_type -> cardchain.cardchain.MsgProfileWebsiteSetResponse + 67, // 97: cardchain.cardchain.Msg.ProfileBioSet:output_type -> cardchain.cardchain.MsgProfileBioSetResponse + 69, // 98: cardchain.cardchain.Msg.BoosterPackOpen:output_type -> cardchain.cardchain.MsgBoosterPackOpenResponse + 71, // 99: cardchain.cardchain.Msg.BoosterPackTransfer:output_type -> cardchain.cardchain.MsgBoosterPackTransferResponse + 73, // 100: cardchain.cardchain.Msg.SetStoryWriterSet:output_type -> cardchain.cardchain.MsgSetStoryWriterSetResponse + 75, // 101: cardchain.cardchain.Msg.SetArtistSet:output_type -> cardchain.cardchain.MsgSetArtistSetResponse + 77, // 102: cardchain.cardchain.Msg.CardVoteMulti:output_type -> cardchain.cardchain.MsgCardVoteMultiResponse + 79, // 103: cardchain.cardchain.Msg.MatchOpen:output_type -> cardchain.cardchain.MsgMatchOpenResponse + 81, // 104: cardchain.cardchain.Msg.SetNameSet:output_type -> cardchain.cardchain.MsgSetNameSetResponse + 83, // 105: cardchain.cardchain.Msg.ProfileAliasSet:output_type -> cardchain.cardchain.MsgProfileAliasSetResponse + 85, // 106: cardchain.cardchain.Msg.EarlyAccessInvite:output_type -> cardchain.cardchain.MsgEarlyAccessInviteResponse + 87, // 107: cardchain.cardchain.Msg.ZealyConnect:output_type -> cardchain.cardchain.MsgZealyConnectResponse + 89, // 108: cardchain.cardchain.Msg.EncounterCreate:output_type -> cardchain.cardchain.MsgEncounterCreateResponse + 91, // 109: cardchain.cardchain.Msg.EncounterDo:output_type -> cardchain.cardchain.MsgEncounterDoResponse + 93, // 110: cardchain.cardchain.Msg.EncounterClose:output_type -> cardchain.cardchain.MsgEncounterCloseResponse + 95, // 111: cardchain.cardchain.Msg.EarlyAccessDisinvite:output_type -> cardchain.cardchain.MsgEarlyAccessDisinviteResponse + 97, // 112: cardchain.cardchain.Msg.CardBan:output_type -> cardchain.cardchain.MsgCardBanResponse + 99, // 113: cardchain.cardchain.Msg.EarlyAccessGrant:output_type -> cardchain.cardchain.MsgEarlyAccessGrantResponse + 101, // 114: cardchain.cardchain.Msg.SetActivate:output_type -> cardchain.cardchain.MsgSetActivateResponse + 103, // 115: cardchain.cardchain.Msg.CardCopyrightClaim:output_type -> cardchain.cardchain.MsgCardCopyrightClaimResponse + 64, // [64:116] is the sub-list for method output_type + 12, // [12:64] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name @@ -52827,6 +53741,30 @@ func file_cardchain_cardchain_tx_proto_init() { return nil } } + file_cardchain_cardchain_tx_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardCopyrightClaim); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_cardchain_tx_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCardCopyrightClaimResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -52834,7 +53772,7 @@ func file_cardchain_cardchain_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_cardchain_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 103, + NumMessages: 105, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/cardchain/tx_grpc.pb.go b/api/cardchain/cardchain/tx_grpc.pb.go index 1273acad..8f2ec309 100644 --- a/api/cardchain/cardchain/tx_grpc.pb.go +++ b/api/cardchain/cardchain/tx_grpc.pb.go @@ -70,6 +70,7 @@ const ( Msg_CardBan_FullMethodName = "/cardchain.cardchain.Msg/CardBan" Msg_EarlyAccessGrant_FullMethodName = "/cardchain.cardchain.Msg/EarlyAccessGrant" Msg_SetActivate_FullMethodName = "/cardchain.cardchain.Msg/SetActivate" + Msg_CardCopyrightClaim_FullMethodName = "/cardchain.cardchain.Msg/CardCopyrightClaim" ) // MsgClient is the client API for Msg service. @@ -129,6 +130,7 @@ type MsgClient interface { CardBan(ctx context.Context, in *MsgCardBan, opts ...grpc.CallOption) (*MsgCardBanResponse, error) EarlyAccessGrant(ctx context.Context, in *MsgEarlyAccessGrant, opts ...grpc.CallOption) (*MsgEarlyAccessGrantResponse, error) SetActivate(ctx context.Context, in *MsgSetActivate, opts ...grpc.CallOption) (*MsgSetActivateResponse, error) + CardCopyrightClaim(ctx context.Context, in *MsgCardCopyrightClaim, opts ...grpc.CallOption) (*MsgCardCopyrightClaimResponse, error) } type msgClient struct { @@ -598,6 +600,15 @@ func (c *msgClient) SetActivate(ctx context.Context, in *MsgSetActivate, opts .. return out, nil } +func (c *msgClient) CardCopyrightClaim(ctx context.Context, in *MsgCardCopyrightClaim, opts ...grpc.CallOption) (*MsgCardCopyrightClaimResponse, error) { + out := new(MsgCardCopyrightClaimResponse) + err := c.cc.Invoke(ctx, Msg_CardCopyrightClaim_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -655,6 +666,7 @@ type MsgServer interface { CardBan(context.Context, *MsgCardBan) (*MsgCardBanResponse, error) EarlyAccessGrant(context.Context, *MsgEarlyAccessGrant) (*MsgEarlyAccessGrantResponse, error) SetActivate(context.Context, *MsgSetActivate) (*MsgSetActivateResponse, error) + CardCopyrightClaim(context.Context, *MsgCardCopyrightClaim) (*MsgCardCopyrightClaimResponse, error) mustEmbedUnimplementedMsgServer() } @@ -815,6 +827,9 @@ func (UnimplementedMsgServer) EarlyAccessGrant(context.Context, *MsgEarlyAccessG func (UnimplementedMsgServer) SetActivate(context.Context, *MsgSetActivate) (*MsgSetActivateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetActivate not implemented") } +func (UnimplementedMsgServer) CardCopyrightClaim(context.Context, *MsgCardCopyrightClaim) (*MsgCardCopyrightClaimResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardCopyrightClaim not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -1746,6 +1761,24 @@ func _Msg_SetActivate_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +func _Msg_CardCopyrightClaim_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardCopyrightClaim) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardCopyrightClaim(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CardCopyrightClaim_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardCopyrightClaim(ctx, req.(*MsgCardCopyrightClaim)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1957,6 +1990,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "SetActivate", Handler: _Msg_SetActivate_Handler, }, + { + MethodName: "CardCopyrightClaim", + Handler: _Msg_CardCopyrightClaim_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index d885ca14..f343a6d1 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh index fcd3b962..a0c6712e 100755 --- a/gen.sh +++ b/gen.sh @@ -51,4 +51,5 @@ #ignite scaffold message EncounterClose encounterId:uint user won:bool #ignite scaffold message CardBan cardId:uint --signer authority -y #ignite scaffold message EarlyAccessGrant user --signer authority -y -ignite scaffold message SetActivate setId:uint --signer authority -y +#ignite scaffold message SetActivate setId:uint --signer authority -y +ignite scaffold message CardCopyrightClaim cardId:uint --signer authority -y diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 81895b1d..ce1871d5 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -85,6 +85,8 @@ service Msg { rpc EarlyAccessGrant(MsgEarlyAccessGrant) returns (MsgEarlyAccessGrantResponse); rpc SetActivate(MsgSetActivate) returns (MsgSetActivateResponse); + rpc CardCopyrightClaim(MsgCardCopyrightClaim) + returns (MsgCardCopyrightClaimResponse); } // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { @@ -547,3 +549,11 @@ message MsgSetActivate { } message MsgSetActivateResponse {} + +message MsgCardCopyrightClaim { + option (cosmos.msg.v1.signer) = "authority"; + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + uint64 cardId = 2; +} + +message MsgCardCopyrightClaimResponse {} diff --git a/x/cardchain/keeper/msg_server_card_copyright_claim.go b/x/cardchain/keeper/msg_server_card_copyright_claim.go new file mode 100644 index 00000000..1e31aca8 --- /dev/null +++ b/x/cardchain/keeper/msg_server_card_copyright_claim.go @@ -0,0 +1,34 @@ +package keeper + +import ( + "context" + + errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) CardCopyrightClaim(goCtx context.Context, msg *types.MsgCardCopyrightClaim) (*types.MsgCardCopyrightClaimResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + if k.authority != msg.Authority { + return nil, errorsmod.Wrapf(types.ErrInvalidSigner, "expected %s got %s", k.authority, msg.Authority) + } + + card := k.CardK.Get(ctx, msg.CardId) + if card.Status == types.CardStatus_none { + return nil, errorsmod.Wrapf(types.ErrCardDoesNotExist, "cardstatus is none") + } + + image := k.Images.Get(ctx, card.ImageId) + + image.Image = []byte{} + card.Artist = card.Owner + card.Status = types.CardStatus_suspended + + k.SetLastCardModifiedNow(ctx) + k.CardK.Set(ctx, msg.CardId, card) + k.Images.Set(ctx, card.ImageId, image) + + return &types.MsgCardCopyrightClaimResponse{}, nil +} diff --git a/x/cardchain/module/autocli.go b/x/cardchain/module/autocli.go index 1ab0b79d..360402ad 100644 --- a/x/cardchain/module/autocli.go +++ b/x/cardchain/module/autocli.go @@ -477,6 +477,12 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Short: "Send a SetActivate tx", PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "setId"}}, }, + { + RpcMethod: "CardCopyrightClaim", + Use: "card-copyright-claim [card-id]", + Short: "Send a CardCopyrightClaim tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "cardId"}}, + }, // this line is used by ignite scaffolding # autocli/tx }, }, diff --git a/x/cardchain/module/simulation.go b/x/cardchain/module/simulation.go index e69bc21c..1611f7f6 100644 --- a/x/cardchain/module/simulation.go +++ b/x/cardchain/module/simulation.go @@ -223,6 +223,10 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgSetActivate int = 100 + opWeightMsgCardCopyrightClaim = "op_weight_msg_card_copyright_claim" + // TODO: Determine the simulation weight value + defaultWeightMsgCardCopyrightClaim int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -796,6 +800,17 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgSetActivate(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgCardCopyrightClaim int + simState.AppParams.GetOrGenerate(opWeightMsgCardCopyrightClaim, &weightMsgCardCopyrightClaim, nil, + func(_ *rand.Rand) { + weightMsgCardCopyrightClaim = defaultWeightMsgCardCopyrightClaim + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgCardCopyrightClaim, + cardchainsimulation.SimulateMsgCardCopyrightClaim(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -1204,6 +1219,14 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei return nil }, ), + simulation.NewWeightedProposalMsg( + opWeightMsgCardCopyrightClaim, + defaultWeightMsgCardCopyrightClaim, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + cardchainsimulation.SimulateMsgCardCopyrightClaim(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/cardchain/simulation/card_copyright_claim.go b/x/cardchain/simulation/card_copyright_claim.go new file mode 100644 index 00000000..174da405 --- /dev/null +++ b/x/cardchain/simulation/card_copyright_claim.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 SimulateMsgCardCopyrightClaim( + 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.MsgCardCopyrightClaim{ + Authority: simAccount.Address.String(), + } + + // TODO: Handling the CardCopyrightClaim simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "CardCopyrightClaim simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index c628eeee..d71ade5f 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -158,6 +158,9 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgSetActivate{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgCardCopyrightClaim{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/cardchain/types/message_card_copyright_claim.go b/x/cardchain/types/message_card_copyright_claim.go new file mode 100644 index 00000000..7e32506b --- /dev/null +++ b/x/cardchain/types/message_card_copyright_claim.go @@ -0,0 +1,24 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgCardCopyrightClaim{} + +func NewMsgCardCopyrightClaim(authority string, cardId uint64) *MsgCardCopyrightClaim { + return &MsgCardCopyrightClaim{ + Authority: authority, + CardId: cardId, + } +} + +func (msg *MsgCardCopyrightClaim) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Authority) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid authority address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_card_copyright_claim_test.go b/x/cardchain/types/message_card_copyright_claim_test.go new file mode 100644 index 00000000..c1014d67 --- /dev/null +++ b/x/cardchain/types/message_card_copyright_claim_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCardCopyrightClaim_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCardCopyrightClaim + err error + }{ + { + name: "invalid address", + msg: MsgCardCopyrightClaim{ + Authority: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCardCopyrightClaim{ + Authority: 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/tx.pb.go b/x/cardchain/types/tx.pb.go index 080abcb3..dd6b6f0c 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -4918,6 +4918,94 @@ func (m *MsgSetActivateResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgSetActivateResponse proto.InternalMessageInfo +type MsgCardCopyrightClaim struct { + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` +} + +func (m *MsgCardCopyrightClaim) Reset() { *m = MsgCardCopyrightClaim{} } +func (m *MsgCardCopyrightClaim) String() string { return proto.CompactTextString(m) } +func (*MsgCardCopyrightClaim) ProtoMessage() {} +func (*MsgCardCopyrightClaim) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{102} +} +func (m *MsgCardCopyrightClaim) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardCopyrightClaim) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardCopyrightClaim.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 *MsgCardCopyrightClaim) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardCopyrightClaim.Merge(m, src) +} +func (m *MsgCardCopyrightClaim) XXX_Size() int { + return m.Size() +} +func (m *MsgCardCopyrightClaim) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardCopyrightClaim.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardCopyrightClaim proto.InternalMessageInfo + +func (m *MsgCardCopyrightClaim) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgCardCopyrightClaim) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +type MsgCardCopyrightClaimResponse struct { +} + +func (m *MsgCardCopyrightClaimResponse) Reset() { *m = MsgCardCopyrightClaimResponse{} } +func (m *MsgCardCopyrightClaimResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCardCopyrightClaimResponse) ProtoMessage() {} +func (*MsgCardCopyrightClaimResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{103} +} +func (m *MsgCardCopyrightClaimResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCardCopyrightClaimResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCardCopyrightClaimResponse.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 *MsgCardCopyrightClaimResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCardCopyrightClaimResponse.Merge(m, src) +} +func (m *MsgCardCopyrightClaimResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCardCopyrightClaimResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCardCopyrightClaimResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCardCopyrightClaimResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.cardchain.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.cardchain.MsgUpdateParamsResponse") @@ -5022,194 +5110,198 @@ func init() { proto.RegisterType((*MsgEarlyAccessGrantResponse)(nil), "cardchain.cardchain.MsgEarlyAccessGrantResponse") proto.RegisterType((*MsgSetActivate)(nil), "cardchain.cardchain.MsgSetActivate") proto.RegisterType((*MsgSetActivateResponse)(nil), "cardchain.cardchain.MsgSetActivateResponse") + proto.RegisterType((*MsgCardCopyrightClaim)(nil), "cardchain.cardchain.MsgCardCopyrightClaim") + proto.RegisterType((*MsgCardCopyrightClaimResponse)(nil), "cardchain.cardchain.MsgCardCopyrightClaimResponse") } func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2906 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0x4f, 0x6f, 0x1b, 0xc7, - 0x15, 0x37, 0x45, 0x51, 0x96, 0xc6, 0xb2, 0x9c, 0xd0, 0x8a, 0x43, 0xaf, 0x1d, 0x59, 0xa6, 0x25, - 0x4b, 0x56, 0x64, 0x31, 0xb6, 0xe3, 0x3f, 0x35, 0x9a, 0x14, 0xa2, 0xe4, 0x06, 0x01, 0xaa, 0xd8, - 0x5d, 0x36, 0x71, 0x9d, 0x16, 0x0d, 0x86, 0xcb, 0x11, 0xb5, 0xd5, 0x72, 0x97, 0xd9, 0x5d, 0x52, - 0x91, 0x81, 0x00, 0x45, 0x7a, 0x29, 0xda, 0x1e, 0x7a, 0x2e, 0x7a, 0xe9, 0x2d, 0xa7, 0xc2, 0x40, - 0xfb, 0x09, 0xda, 0x4b, 0x0e, 0x3d, 0x04, 0x39, 0xf5, 0x54, 0x14, 0xf6, 0xc1, 0x5f, 0xa3, 0x98, - 0x3f, 0x3b, 0x3b, 0x3b, 0x9c, 0x99, 0x5d, 0xd2, 0xed, 0xc5, 0xe6, 0xcc, 0xfe, 0xe6, 0xbd, 0x37, - 0x6f, 0xde, 0xbc, 0xf7, 0xe6, 0x3d, 0x08, 0x5c, 0x74, 0x60, 0xd8, 0x71, 0x0e, 0xa0, 0xeb, 0x37, - 0xd2, 0x5f, 0xf1, 0x17, 0x5b, 0xfd, 0x30, 0x88, 0x83, 0xea, 0x59, 0x3e, 0xb7, 0xc5, 0x7f, 0x59, - 0xaf, 0xc3, 0x9e, 0xeb, 0x07, 0x0d, 0xf2, 0x2f, 0xc5, 0x59, 0x6f, 0x3a, 0x41, 0xd4, 0x0b, 0xa2, - 0x46, 0x2f, 0xea, 0x36, 0x86, 0x37, 0xf0, 0x7f, 0xec, 0xc3, 0x79, 0xfa, 0xe1, 0x33, 0x32, 0x6a, - 0xd0, 0x01, 0xfb, 0xb4, 0xd8, 0x0d, 0xba, 0x01, 0x9d, 0xc7, 0xbf, 0xd8, 0xec, 0xb2, 0x4a, 0x9e, - 0x3e, 0x0c, 0x61, 0x2f, 0x59, 0xb7, 0xc4, 0x78, 0xb5, 0x61, 0x84, 0x1a, 0xc3, 0x1b, 0x6d, 0x14, - 0xc3, 0x1b, 0x0d, 0x27, 0x70, 0x7d, 0x13, 0x85, 0x61, 0x10, 0xbb, 0x7e, 0x22, 0xd4, 0x25, 0x15, - 0xa2, 0x07, 0x63, 0xe7, 0x80, 0x01, 0x2e, 0xab, 0x00, 0x4e, 0x30, 0xf0, 0x1d, 0xd7, 0xe3, 0x52, - 0xa8, 0x20, 0x30, 0xec, 0xd0, 0xef, 0xf5, 0x7f, 0x94, 0xc0, 0x99, 0xbd, 0xa8, 0xfb, 0x71, 0xbf, - 0x03, 0x63, 0xf4, 0x88, 0xc8, 0x5f, 0xbd, 0x03, 0xe6, 0xe0, 0x20, 0x3e, 0x08, 0x42, 0x37, 0x3e, - 0xae, 0x95, 0x96, 0x4b, 0xeb, 0x73, 0xcd, 0xda, 0x77, 0x7f, 0xbb, 0xbe, 0xc8, 0xd4, 0xb2, 0xdd, - 0xe9, 0x84, 0x28, 0x8a, 0x5a, 0x71, 0xe8, 0xfa, 0x5d, 0x3b, 0x85, 0x56, 0xdf, 0x07, 0x33, 0x54, - 0x03, 0xb5, 0xa9, 0xe5, 0xd2, 0xfa, 0xa9, 0x9b, 0x17, 0xb6, 0x14, 0xc7, 0xb2, 0x45, 0x99, 0x34, - 0xe7, 0xbe, 0xf9, 0xf7, 0xa5, 0x13, 0x5f, 0xbf, 0x7c, 0xb6, 0x51, 0xb2, 0xd9, 0xaa, 0xfb, 0xf7, - 0xbe, 0x7a, 0xf9, 0x6c, 0x23, 0xa5, 0xf7, 0xdb, 0x97, 0xcf, 0x36, 0x56, 0x53, 0xa1, 0xbf, 0x10, - 0x36, 0x20, 0x49, 0x5c, 0x3f, 0x0f, 0xde, 0x94, 0xa6, 0x6c, 0x14, 0xf5, 0x03, 0x3f, 0x42, 0xf5, - 0x2e, 0x38, 0x8d, 0x3f, 0x45, 0x28, 0xdc, 0x09, 0x11, 0x8c, 0x51, 0xb5, 0x06, 0x4e, 0x3a, 0xf8, - 0x57, 0x10, 0xd2, 0xbd, 0xd9, 0xc9, 0x10, 0x7f, 0xf1, 0xd1, 0x11, 0x86, 0x92, 0x0d, 0xcc, 0xd9, - 0xc9, 0xb0, 0xba, 0x08, 0x2a, 0xd0, 0x73, 0x61, 0x54, 0x2b, 0x93, 0x79, 0x3a, 0xb8, 0x3f, 0x8f, - 0xe5, 0x4d, 0x56, 0xd7, 0xdf, 0x04, 0x6f, 0x64, 0x18, 0x71, 0x09, 0x7a, 0xe0, 0xb5, 0xbd, 0xa8, - 0xbb, 0x03, 0xc3, 0x4e, 0xcb, 0x39, 0x40, 0x3d, 0xd4, 0x1c, 0x1c, 0x1b, 0x84, 0xb8, 0x01, 0xca, - 0x6d, 0xb7, 0xc3, 0x34, 0x78, 0x7e, 0x8b, 0xe9, 0x1c, 0x1b, 0xd1, 0x16, 0x33, 0xa2, 0xad, 0x9d, - 0xc0, 0xf5, 0x9b, 0xd3, 0x58, 0x7f, 0x36, 0xc6, 0x4a, 0x72, 0xdc, 0x04, 0x35, 0x99, 0x5d, 0x22, - 0x4a, 0xf5, 0x1c, 0x98, 0xc1, 0x4a, 0xfc, 0xb0, 0x43, 0xb8, 0x4e, 0xdb, 0x6c, 0x54, 0xff, 0x7b, - 0x09, 0x54, 0x93, 0x45, 0x70, 0x88, 0x76, 0x02, 0x3f, 0x46, 0x7e, 0x6c, 0x90, 0x32, 0x25, 0x34, - 0x25, 0x12, 0x22, 0x2b, 0xe8, 0x62, 0xa2, 0xaa, 0x79, 0x3b, 0x19, 0x62, 0x15, 0xfa, 0x41, 0x8c, - 0xa2, 0xda, 0x34, 0x55, 0x21, 0x19, 0x60, 0x3a, 0x30, 0x8c, 0xdd, 0x28, 0xae, 0x55, 0xc8, 0x34, - 0x1b, 0x55, 0x57, 0xc0, 0xe9, 0x36, 0xf4, 0xa0, 0xef, 0xa0, 0x6d, 0xdf, 0x39, 0x08, 0xc2, 0xda, - 0xcc, 0x72, 0x69, 0x7d, 0xd6, 0xce, 0x4e, 0x4a, 0x1b, 0xdf, 0x05, 0xd6, 0xe8, 0x1e, 0xf8, 0xd6, - 0xaf, 0x82, 0x05, 0xe8, 0x86, 0x9d, 0x30, 0xe8, 0xef, 0x78, 0xd0, 0xed, 0x21, 0xaa, 0x82, 0x59, - 0x5b, 0x9a, 0xad, 0xff, 0x12, 0x9c, 0x62, 0x54, 0x3e, 0x09, 0x8c, 0xd6, 0x72, 0x0b, 0x4c, 0x0f, - 0x83, 0x18, 0xb1, 0x93, 0xba, 0xa4, 0xb4, 0xf5, 0x96, 0xeb, 0x77, 0x3d, 0x84, 0x09, 0xd9, 0x04, - 0x2c, 0x49, 0xfc, 0x1e, 0x38, 0x2b, 0xf0, 0x1a, 0x5b, 0xd4, 0x1e, 0xb9, 0xba, 0x78, 0xf9, 0x4f, - 0x42, 0xe8, 0x47, 0xfb, 0x28, 0x9c, 0xe0, 0xc4, 0x2c, 0x30, 0x1b, 0x22, 0x07, 0xb9, 0x43, 0x14, - 0x32, 0xeb, 0xe6, 0x63, 0x49, 0x5a, 0x7a, 0xc9, 0x44, 0x76, 0xdc, 0xc4, 0x7f, 0x53, 0x22, 0xb7, - 0x0c, 0x7f, 0xdb, 0x0d, 0x7c, 0xf3, 0x2d, 0xd3, 0x09, 0x72, 0x17, 0xcc, 0xc0, 0x5e, 0x30, 0x60, - 0x96, 0x53, 0xc0, 0xf6, 0x19, 0x5c, 0x79, 0x0d, 0x53, 0x49, 0xb8, 0x8c, 0xbf, 0x2e, 0x81, 0xd7, - 0xd9, 0x97, 0xed, 0x30, 0x3e, 0x0a, 0xc2, 0xc3, 0xed, 0x4e, 0x67, 0x02, 0x39, 0x17, 0x41, 0xc5, - 0xed, 0xc1, 0x2e, 0x62, 0x06, 0x4e, 0x07, 0x98, 0xce, 0xfe, 0xc0, 0xf3, 0xb6, 0xc3, 0x98, 0x18, - 0xf8, 0xac, 0x9d, 0x0c, 0x25, 0xf1, 0x2e, 0x80, 0xf3, 0x23, 0x42, 0x08, 0x9e, 0xe2, 0x6c, 0xfa, - 0xd1, 0x8d, 0xe2, 0x9d, 0x03, 0xe8, 0x77, 0x27, 0xd1, 0x65, 0x7a, 0xad, 0xca, 0xe2, 0xb5, 0x92, - 0x64, 0x79, 0x0b, 0x5c, 0x50, 0xb0, 0xe3, 0xd2, 0x7c, 0x9f, 0xfa, 0x04, 0x1a, 0x4e, 0x6c, 0xd4, - 0x75, 0xa3, 0xd8, 0x64, 0x61, 0x12, 0xf1, 0x8b, 0xf4, 0x36, 0x66, 0x57, 0x73, 0xda, 0xef, 0x83, - 0xc5, 0xf4, 0xeb, 0x2e, 0x0a, 0xc7, 0xa5, 0xbe, 0x04, 0x2e, 0xaa, 0xd6, 0x73, 0xfa, 0xdf, 0x95, - 0xc0, 0xc2, 0x5e, 0xd4, 0xdd, 0xc3, 0xc1, 0xd2, 0x46, 0xfd, 0x20, 0x8c, 0xcd, 0x7e, 0x9f, 0x44, - 0x55, 0xae, 0xc6, 0x64, 0x58, 0xad, 0x83, 0xf9, 0xbe, 0x07, 0x8f, 0x51, 0x07, 0x2b, 0x29, 0xda, - 0xae, 0x95, 0x97, 0xcb, 0xeb, 0xd3, 0x76, 0x66, 0x4e, 0xc2, 0x34, 0x6b, 0xd3, 0x23, 0x98, 0x66, - 0xf5, 0x0e, 0x38, 0x19, 0x0c, 0x62, 0x27, 0xe8, 0x21, 0xe2, 0xe7, 0x16, 0x6e, 0x5e, 0x54, 0xba, - 0x8b, 0x87, 0x14, 0x63, 0x27, 0x60, 0x69, 0xd3, 0x35, 0x70, 0x2e, 0xbb, 0x27, 0xbe, 0x5d, 0x9b, - 0x86, 0x18, 0xaa, 0x8e, 0xdc, 0x38, 0xa7, 0xb1, 0x1a, 0x89, 0x9b, 0x45, 0xe3, 0x88, 0x48, 0x93, - 0xf3, 0xfb, 0x92, 0xb8, 0x02, 0x41, 0x12, 0x14, 0x6e, 0xf7, 0xfb, 0x81, 0xeb, 0xc7, 0x13, 0x27, - 0x0f, 0xc4, 0x0f, 0x51, 0x52, 0x2c, 0xfa, 0xf2, 0xf1, 0xfd, 0x85, 0x6c, 0x62, 0x50, 0xbf, 0x0c, - 0x2e, 0x69, 0xd8, 0x73, 0x09, 0xbf, 0x2e, 0x81, 0xf9, 0xbd, 0xa8, 0xdb, 0x42, 0x71, 0xae, 0x3a, - 0xaa, 0x60, 0xda, 0x87, 0x3d, 0xc4, 0xb8, 0x92, 0xdf, 0xba, 0x0b, 0x54, 0x5d, 0x06, 0xa7, 0xa2, - 0x38, 0x08, 0x8f, 0x1f, 0x87, 0x2e, 0x16, 0x94, 0xc6, 0x32, 0x71, 0x0a, 0x9b, 0x03, 0x0e, 0x79, - 0xa1, 0xdb, 0x1e, 0xc4, 0x41, 0x18, 0xd5, 0x2a, 0xcb, 0xe5, 0xf5, 0x39, 0x3b, 0x33, 0x27, 0x29, - 0xfa, 0x1c, 0xb9, 0x0b, 0x5c, 0x52, 0xbe, 0x05, 0x44, 0x7c, 0x2a, 0x9e, 0xc7, 0x37, 0xd4, 0xe8, - 0xab, 0x16, 0x41, 0x25, 0x42, 0x31, 0x3f, 0x50, 0x3a, 0x10, 0xce, 0xb9, 0x6c, 0x38, 0x67, 0xea, - 0x30, 0x53, 0x36, 0x9c, 0xff, 0x01, 0x31, 0x2a, 0xf6, 0xc1, 0x46, 0xbd, 0x60, 0x88, 0xfe, 0x4f, - 0x22, 0x50, 0x53, 0xcb, 0x70, 0x12, 0xa4, 0x48, 0xb4, 0x93, 0x6a, 0x70, 0x12, 0x65, 0x54, 0xc1, - 0xf4, 0x20, 0xe2, 0x31, 0x8e, 0xfc, 0x56, 0xfa, 0x94, 0x11, 0x4e, 0x5c, 0x92, 0x43, 0x62, 0xf4, - 0xd9, 0xef, 0x13, 0xaa, 0x25, 0x5f, 0x18, 0x6a, 0xe2, 0x2a, 0x66, 0x5c, 0x9e, 0x8f, 0x88, 0x8b, - 0x6b, 0xa1, 0xf8, 0x87, 0xae, 0x0f, 0x3d, 0xf7, 0xe9, 0xd8, 0x62, 0x28, 0xdd, 0x8b, 0x40, 0x8f, - 0x73, 0xda, 0x4f, 0x2c, 0xa1, 0x50, 0xe0, 0x54, 0x6f, 0x59, 0x19, 0x36, 0x75, 0x76, 0xa0, 0x88, - 0x8d, 0x9d, 0x64, 0xb7, 0x2d, 0x7c, 0xd9, 0x26, 0x94, 0x80, 0x5c, 0xd4, 0x24, 0x89, 0x27, 0x03, - 0x9d, 0x0e, 0x12, 0x2e, 0x9c, 0xff, 0x8f, 0x49, 0xf6, 0xd0, 0x0c, 0x02, 0x1c, 0x67, 0x1e, 0x41, - 0xe7, 0xd0, 0x9c, 0xc6, 0x17, 0x51, 0xf8, 0x0e, 0xc9, 0x05, 0xb2, 0x24, 0xc7, 0x4e, 0x02, 0x7f, - 0x47, 0x53, 0xf7, 0x16, 0xf2, 0xbc, 0x87, 0xfb, 0xfb, 0x05, 0x5e, 0x39, 0xba, 0x9c, 0xe1, 0x36, - 0xa8, 0xf4, 0x43, 0xd7, 0x41, 0x45, 0xd3, 0x2f, 0x8a, 0x56, 0x46, 0x7d, 0x49, 0x18, 0xae, 0xc3, - 0x9f, 0x91, 0x84, 0x95, 0x7f, 0x35, 0x6b, 0x10, 0xbb, 0xda, 0x04, 0xc9, 0x85, 0x15, 0xa7, 0x94, - 0xe9, 0xa9, 0x48, 0x9c, 0xf3, 0xfd, 0x45, 0x56, 0x45, 0xb9, 0x97, 0x76, 0x5c, 0xd6, 0xd2, 0xae, - 0xa5, 0x7b, 0xfa, 0xe7, 0x12, 0x7f, 0x00, 0xda, 0x10, 0xc7, 0xaf, 0x16, 0x8a, 0x27, 0xcb, 0x3b, - 0xa9, 0x45, 0x95, 0x45, 0xa3, 0xbe, 0x0b, 0x66, 0x42, 0x42, 0x94, 0xc4, 0xa2, 0x05, 0xcd, 0x3b, - 0x24, 0xe5, 0x6d, 0x33, 0xb8, 0x3a, 0xd8, 0x8b, 0x22, 0x72, 0xf9, 0xff, 0x54, 0x12, 0x33, 0x81, - 0x64, 0x7a, 0x27, 0xe8, 0xf5, 0x5c, 0xd3, 0x3e, 0x2e, 0x82, 0x39, 0x56, 0x8a, 0xe0, 0x5b, 0x49, - 0x27, 0x68, 0xb8, 0xa7, 0x94, 0xd2, 0x67, 0x07, 0x33, 0xfd, 0x25, 0x00, 0xa2, 0x41, 0xb7, 0x8b, - 0xa2, 0xd8, 0x0d, 0x7c, 0x16, 0x63, 0x85, 0x19, 0x49, 0xf4, 0x3a, 0x58, 0xd6, 0x49, 0xc7, 0xb7, - 0xf0, 0x57, 0xe5, 0x16, 0x6c, 0x34, 0x44, 0xd0, 0x9b, 0x78, 0x0b, 0xdf, 0x93, 0xb6, 0xb0, 0x70, - 0xf3, 0x2d, 0xa5, 0xf2, 0x39, 0xbb, 0x74, 0x87, 0xe7, 0xc0, 0x4c, 0x84, 0x9c, 0x10, 0xc5, 0x6c, - 0x77, 0x6c, 0x54, 0x64, 0x67, 0x54, 0x68, 0xbe, 0xb3, 0x27, 0xf4, 0x51, 0xc3, 0x31, 0x31, 0x0c, - 0x27, 0x3e, 0x14, 0xf5, 0x53, 0x25, 0x43, 0x9a, 0xf3, 0xfd, 0x27, 0xad, 0x1b, 0x91, 0x1c, 0x6c, - 0x27, 0xf0, 0xf7, 0xdd, 0xb0, 0x37, 0x51, 0x86, 0x2d, 0x64, 0xc6, 0xe5, 0x31, 0x32, 0xe3, 0xea, - 0x0f, 0x00, 0xc0, 0x0f, 0x6a, 0x9a, 0x60, 0x93, 0x9c, 0xbb, 0xc0, 0x1b, 0x5c, 0x58, 0xa2, 0x74, - 0x1e, 0xe2, 0x6e, 0xf8, 0x4e, 0x5b, 0x44, 0xc3, 0x8f, 0xc2, 0x60, 0xdf, 0xf5, 0x10, 0xa9, 0x2e, - 0x4c, 0x72, 0x7d, 0x95, 0xba, 0xcd, 0x12, 0xe5, 0x1c, 0x7f, 0x4a, 0x52, 0x1e, 0xf6, 0xf1, 0x31, - 0x6a, 0x47, 0x6e, 0x8c, 0xcc, 0x4c, 0x6b, 0xe0, 0xe4, 0x11, 0xc5, 0x25, 0x95, 0x2b, 0x36, 0x54, - 0xa6, 0x38, 0x23, 0x94, 0x39, 0xe7, 0x1f, 0x11, 0x4f, 0xc5, 0xbe, 0x37, 0xdd, 0xc0, 0xcc, 0xf5, - 0x35, 0x50, 0x6e, 0xbb, 0x01, 0xe3, 0x88, 0x7f, 0x2a, 0x9d, 0x4a, 0x86, 0x1a, 0xe7, 0xd4, 0x26, - 0x2e, 0x59, 0x88, 0x7d, 0x0f, 0xfb, 0xc8, 0x37, 0xf0, 0x5a, 0x01, 0xa7, 0xdb, 0x29, 0x98, 0x6b, - 0x37, 0x3b, 0x29, 0xf1, 0xbf, 0x43, 0xdc, 0xb2, 0xc4, 0x83, 0x07, 0x58, 0xcc, 0x8b, 0x1c, 0x4d, - 0x54, 0x2b, 0x91, 0x27, 0x5b, 0x32, 0xac, 0x7f, 0x55, 0x22, 0x59, 0x80, 0xb0, 0xb0, 0x40, 0x7d, - 0xa5, 0x90, 0x80, 0x63, 0x54, 0x5b, 0x96, 0xc1, 0x92, 0x5a, 0x06, 0xae, 0xc2, 0x61, 0x92, 0x19, - 0xb7, 0xd2, 0xe7, 0x87, 0xf9, 0xc0, 0xd4, 0x79, 0x91, 0xf4, 0xa6, 0x29, 0x8f, 0xbc, 0x69, 0x74, - 0x79, 0x72, 0x96, 0xaf, 0x50, 0x71, 0x3d, 0xc3, 0xb3, 0x38, 0x37, 0x8a, 0x27, 0x11, 0xa9, 0x58, - 0xfd, 0x22, 0x89, 0xf8, 0x29, 0x23, 0x2e, 0xc3, 0xe7, 0x3c, 0xe4, 0xe2, 0x8b, 0xbf, 0x37, 0xf0, - 0x62, 0xd7, 0x20, 0xc4, 0x6d, 0x50, 0x19, 0x92, 0xda, 0xe4, 0x54, 0x31, 0x3f, 0x42, 0xd1, 0x92, - 0x34, 0x4d, 0x1e, 0x42, 0x39, 0xcb, 0xb1, 0x93, 0xb9, 0xbf, 0xd0, 0x57, 0x2b, 0xf1, 0x43, 0x39, - 0x17, 0xa2, 0x06, 0x4e, 0x92, 0x12, 0x43, 0xb8, 0x9d, 0x5c, 0x79, 0x36, 0x4c, 0xbf, 0x34, 0x99, - 0xf6, 0x92, 0x21, 0x3e, 0x69, 0x06, 0xda, 0x45, 0xce, 0x21, 0xab, 0x54, 0x88, 0x53, 0x29, 0xa2, - 0x49, 0x10, 0x15, 0x11, 0x41, 0xa6, 0xa4, 0x4d, 0xbf, 0x43, 0x6c, 0x90, 0xcb, 0x2b, 0x5e, 0xae, - 0xc4, 0xe1, 0x97, 0x32, 0x0e, 0xbf, 0x0e, 0x93, 0x57, 0xed, 0x47, 0xb0, 0x87, 0x26, 0xb1, 0x8d, - 0xe4, 0xb9, 0x5e, 0x4e, 0x9f, 0xeb, 0xba, 0x17, 0x2d, 0x63, 0x21, 0x94, 0x49, 0xaa, 0xa9, 0x43, - 0xda, 0xf6, 0x5c, 0x18, 0xe5, 0x0a, 0x40, 0xcb, 0xfe, 0x53, 0xfa, 0xb2, 0x3f, 0xcd, 0xfd, 0x24, - 0x9a, 0x02, 0x47, 0xac, 0x9f, 0x07, 0x30, 0xf4, 0x8e, 0xb7, 0x1d, 0x07, 0x45, 0xd1, 0x87, 0xfe, - 0xd0, 0xcd, 0xab, 0x46, 0x0c, 0xd2, 0x0e, 0x84, 0xfe, 0x9d, 0x3a, 0x42, 0x53, 0x08, 0x58, 0xf8, - 0xfe, 0x7d, 0x8a, 0xa0, 0x77, 0xbc, 0x13, 0xf8, 0x3e, 0x72, 0x72, 0x22, 0xc7, 0x53, 0x8c, 0x64, - 0x5a, 0x9e, 0xb3, 0x93, 0xa1, 0xf2, 0xae, 0x89, 0x44, 0x39, 0xbf, 0x3f, 0x4e, 0x11, 0xb5, 0x3e, - 0xf0, 0x71, 0x22, 0x11, 0x17, 0x78, 0x81, 0xa8, 0x0a, 0x2e, 0x16, 0x98, 0xed, 0x84, 0xf0, 0xc8, - 0xa3, 0x77, 0x1e, 0x5b, 0x1d, 0x1f, 0x57, 0x1f, 0x03, 0x40, 0x3a, 0x44, 0x28, 0x46, 0x61, 0x12, - 0xeb, 0xef, 0x2a, 0xef, 0xe8, 0xa8, 0x18, 0xb4, 0xdd, 0x44, 0x56, 0x3e, 0xf0, 0xe3, 0xf0, 0xd8, - 0x16, 0x48, 0xa5, 0x6f, 0xd2, 0x8a, 0xf0, 0x26, 0xb5, 0xde, 0x03, 0x67, 0xa4, 0x45, 0x38, 0xd2, - 0x1d, 0x22, 0x56, 0xce, 0xb2, 0xf1, 0x4f, 0xbc, 0x74, 0x08, 0xbd, 0x41, 0xb2, 0x09, 0x3a, 0xb8, - 0x3f, 0x75, 0xaf, 0xa4, 0x34, 0x0f, 0x49, 0x28, 0xae, 0x3a, 0x9f, 0x3c, 0x6a, 0xf9, 0xd7, 0xdd, - 0xc0, 0xfc, 0x28, 0x41, 0x09, 0x30, 0x7d, 0x94, 0x08, 0x53, 0x05, 0xaa, 0x0a, 0xf4, 0x79, 0x2b, - 0xf0, 0x93, 0xab, 0xe3, 0xa9, 0xa0, 0x5e, 0x10, 0xa1, 0xff, 0xb5, 0x34, 0x58, 0x8f, 0x47, 0x2c, - 0xa5, 0x9f, 0xb5, 0xf1, 0x4f, 0x65, 0x5a, 0x94, 0x15, 0x82, 0x8b, 0xf8, 0x31, 0x31, 0x41, 0xc1, - 0xee, 0x77, 0xdd, 0xc8, 0x7d, 0xf5, 0xeb, 0x44, 0x2b, 0x2d, 0x2a, 0xb2, 0x9c, 0xb3, 0x07, 0x00, - 0x73, 0xed, 0x4d, 0xe8, 0x4f, 0x5c, 0xe1, 0xd4, 0x65, 0x86, 0x72, 0x75, 0x73, 0x91, 0xf7, 0xe2, - 0x9a, 0x90, 0x7b, 0xd4, 0x7a, 0x44, 0x7a, 0x03, 0x82, 0x98, 0x1f, 0x84, 0xf0, 0x15, 0xca, 0xad, - 0x8b, 0xa0, 0x82, 0x75, 0x41, 0x43, 0xde, 0x9c, 0x4d, 0x07, 0x23, 0xa2, 0xd0, 0x0e, 0x81, 0xcc, - 0x54, 0x32, 0x5f, 0x1c, 0x80, 0x9d, 0xd8, 0x1d, 0xe2, 0x4b, 0xff, 0x0a, 0xe2, 0x28, 0xca, 0x25, - 0xb2, 0x38, 0xbc, 0x3a, 0x93, 0xf0, 0x4b, 0x24, 0xb9, 0xf9, 0xfb, 0x0d, 0x50, 0xde, 0x8b, 0xba, - 0xd5, 0x36, 0x98, 0xcf, 0xb4, 0xb2, 0x57, 0x74, 0x6e, 0x42, 0x44, 0x59, 0x9b, 0x45, 0x50, 0x3c, - 0xb6, 0xfd, 0x1c, 0x00, 0xa1, 0x9d, 0x5c, 0xd7, 0xae, 0xe5, 0x18, 0x6b, 0x23, 0x1f, 0xc3, 0xa9, - 0x23, 0x70, 0x3a, 0xdb, 0x2a, 0x5e, 0xd5, 0x2d, 0xce, 0xc0, 0xac, 0xeb, 0x85, 0x60, 0x9c, 0xcd, - 0x21, 0x38, 0x23, 0x77, 0x7b, 0xd7, 0x8c, 0x14, 0x52, 0xa0, 0xd5, 0x28, 0x08, 0xe4, 0xcc, 0x3e, - 0x01, 0xb3, 0xbc, 0xa1, 0xba, 0x6c, 0x5a, 0x8c, 0x11, 0xd6, 0x7a, 0x1e, 0x82, 0xd3, 0x6d, 0x83, - 0xf9, 0x4c, 0xf7, 0x73, 0xc5, 0xb4, 0x32, 0x41, 0xe9, 0x4f, 0x5b, 0xd5, 0xda, 0xc4, 0xa7, 0x2d, - 0xb4, 0x35, 0xeb, 0xa6, 0xb5, 0x14, 0xa3, 0x3f, 0xed, 0xd1, 0xa6, 0x64, 0xf5, 0x00, 0x2c, 0x48, - 0x0d, 0xc9, 0xab, 0xa6, 0xd5, 0x29, 0xce, 0xda, 0x2a, 0x86, 0xe3, 0x9c, 0x7c, 0xf0, 0xda, 0x48, - 0x63, 0x71, 0x3d, 0x87, 0x06, 0x47, 0x5a, 0xef, 0x14, 0x45, 0x66, 0x0c, 0x4c, 0x6a, 0x1d, 0xea, - 0x0d, 0x2c, 0x0b, 0x34, 0x18, 0x98, 0xba, 0x9d, 0x58, 0xfd, 0x1c, 0xbc, 0x3e, 0xda, 0x4b, 0xbc, - 0x96, 0x43, 0x25, 0x85, 0x5a, 0x37, 0x0a, 0x43, 0x39, 0xcb, 0xcf, 0xc0, 0x29, 0xb1, 0xbb, 0x78, - 0x45, 0x47, 0x41, 0x00, 0x59, 0x6f, 0x17, 0x00, 0x65, 0x1c, 0x41, 0xa6, 0xa1, 0xb7, 0x9a, 0x23, - 0x24, 0x73, 0x36, 0xd7, 0x0b, 0xc1, 0x38, 0x9b, 0xa7, 0x60, 0x51, 0xd9, 0xc7, 0xdb, 0x2c, 0x20, - 0x2b, 0x47, 0x5b, 0xef, 0x8e, 0x83, 0xe6, 0xbc, 0x9f, 0x80, 0xb9, 0xb4, 0x41, 0x77, 0x59, 0x47, - 0x82, 0x43, 0xac, 0x6b, 0xb9, 0x10, 0xf1, 0xda, 0x0a, 0x9d, 0xb3, 0xba, 0x69, 0x21, 0xc5, 0xe8, - 0xaf, 0xed, 0x68, 0x6b, 0x0c, 0x9f, 0x4d, 0xb6, 0x2f, 0xb6, 0x9a, 0xb3, 0x98, 0xc2, 0xf4, 0x67, - 0xa3, 0xec, 0x7d, 0x61, 0xb3, 0x1e, 0x6d, 0x7c, 0x19, 0x95, 0x90, 0x81, 0xea, 0xcd, 0x5a, 0xdb, - 0xe4, 0xc2, 0xe6, 0xa0, 0xec, 0x70, 0x6d, 0x16, 0x23, 0xc5, 0xf6, 0xf9, 0xee, 0x38, 0x68, 0xf1, - 0x4a, 0x89, 0xdd, 0xac, 0x2b, 0x06, 0x22, 0x09, 0x48, 0x7f, 0xa5, 0x14, 0x7d, 0x2c, 0x76, 0x6c, - 0x82, 0xb3, 0x35, 0x1d, 0x9b, 0xe0, 0x6b, 0xaf, 0x17, 0x82, 0x49, 0xfb, 0xe0, 0x7d, 0x2a, 0xd3, - 0x3e, 0x12, 0x90, 0x71, 0x1f, 0x72, 0x2f, 0x0a, 0x47, 0x0d, 0xa9, 0x11, 0xa5, 0x8d, 0x1a, 0x59, - 0x9c, 0x3e, 0x6a, 0x68, 0xba, 0x50, 0x87, 0xe0, 0x8c, 0xdc, 0x59, 0x5a, 0xd3, 0x4b, 0x9a, 0x01, - 0xea, 0xbd, 0xb8, 0xa6, 0x3d, 0x84, 0xc3, 0x79, 0xa6, 0x37, 0xb4, 0x92, 0x4b, 0x00, 0x6f, 0x69, - 0xb3, 0x08, 0x4a, 0xb9, 0x21, 0x66, 0xda, 0xf9, 0x1b, 0x62, 0x56, 0xdd, 0x28, 0x08, 0x94, 0x73, - 0xb9, 0xb4, 0xeb, 0x63, 0xcc, 0xe5, 0x38, 0xcc, 0x9c, 0xcb, 0x8d, 0x34, 0x68, 0xaa, 0x5f, 0x82, - 0x37, 0xd4, 0xcd, 0x99, 0xeb, 0xb9, 0x71, 0x54, 0x84, 0x5b, 0xb7, 0xc7, 0x82, 0x1b, 0xd8, 0xb3, - 0xc6, 0x4a, 0x51, 0xf6, 0x14, 0x5e, 0x98, 0x7d, 0xb6, 0x03, 0x42, 0x52, 0xa8, 0x6c, 0xfb, 0xe3, - 0x6a, 0x3e, 0x21, 0x8c, 0x33, 0xa4, 0x50, 0xca, 0x9e, 0x07, 0xb6, 0xcf, 0x4c, 0xbf, 0x63, 0xc5, - 0x18, 0xf4, 0x18, 0xca, 0xda, 0x2c, 0x82, 0x12, 0x77, 0x23, 0xb5, 0x1a, 0xb4, 0xbb, 0xc9, 0xe2, - 0xf4, 0xbb, 0x51, 0x77, 0x19, 0x70, 0x70, 0x19, 0x6d, 0x31, 0x5c, 0xcb, 0x21, 0x92, 0x42, 0xf5, - 0xc1, 0x45, 0xdb, 0x5e, 0xc0, 0xf7, 0x21, 0xdb, 0x5b, 0x58, 0xcd, 0xa1, 0x41, 0x61, 0xfa, 0xfb, - 0xa0, 0xec, 0x2d, 0xe0, 0x3b, 0x2e, 0x37, 0x16, 0xd6, 0x0a, 0xf8, 0x3d, 0x0c, 0xd4, 0xdf, 0x71, - 0x5d, 0x1b, 0xe1, 0x08, 0x9c, 0x55, 0x35, 0x0a, 0xde, 0x2e, 0x40, 0x87, 0xbf, 0x48, 0x6e, 0x8d, - 0x01, 0x96, 0x92, 0x03, 0xa9, 0xf6, 0x7f, 0x2d, 0x2f, 0x8c, 0x70, 0xa8, 0x31, 0x39, 0x50, 0x57, - 0xf6, 0xa9, 0x83, 0x16, 0xca, 0xfa, 0x2b, 0xe6, 0xb8, 0x48, 0x51, 0x26, 0x07, 0x3d, 0x5a, 0xb9, - 0x4f, 0x7c, 0x66, 0x5a, 0xb6, 0x5f, 0xcd, 0x7b, 0x0e, 0x12, 0x98, 0xd9, 0x67, 0x8e, 0x56, 0xe4, - 0x9f, 0x80, 0xb9, 0xb4, 0xca, 0x7e, 0xd9, 0x78, 0x45, 0x89, 0x5d, 0x5c, 0xcb, 0x85, 0x48, 0xa9, - 0x67, 0x52, 0xde, 0x36, 0xa5, 0x9e, 0x0c, 0x63, 0x4c, 0x3d, 0xa5, 0x1a, 0x36, 0x36, 0x6e, 0xb9, - 0x80, 0xbd, 0x96, 0x73, 0x3d, 0x12, 0xa0, 0xde, 0xb8, 0x35, 0xe5, 0x6b, 0x6c, 0x63, 0xa3, 0xb5, - 0x6b, 0xad, 0x2a, 0x46, 0xa0, 0x7a, 0x1b, 0xd3, 0x56, 0xaf, 0xb1, 0x8d, 0x65, 0x4a, 0xd7, 0x5a, - 0x1b, 0x13, 0x51, 0x7a, 0x1b, 0x53, 0x55, 0xac, 0xb1, 0x0e, 0xe5, 0x6a, 0xf5, 0x5a, 0xc1, 0x7a, - 0xb2, 0x5e, 0x87, 0x9a, 0x1a, 0x2f, 0xce, 0x06, 0xc5, 0x02, 0xef, 0x95, 0xdc, 0xf5, 0xbb, 0x81, - 0x3e, 0x1b, 0x54, 0x94, 0x6e, 0x71, 0xc8, 0x90, 0xca, 0xb6, 0x57, 0xf3, 0x65, 0xc4, 0x38, 0x7d, - 0xc8, 0x50, 0x57, 0x60, 0xf1, 0xe3, 0x40, 0x59, 0x7e, 0xdd, 0x2c, 0x70, 0xcc, 0x1c, 0xad, 0x7f, - 0x1c, 0x98, 0x6a, 0xb0, 0xd5, 0x16, 0x38, 0x99, 0x14, 0x60, 0x2f, 0x99, 0xae, 0x7a, 0x13, 0xfa, - 0xd6, 0x5a, 0x0e, 0x40, 0x2c, 0x8a, 0x8c, 0x54, 0x54, 0xd7, 0x0b, 0x88, 0x47, 0x90, 0xfa, 0xa2, - 0x88, 0xae, 0x60, 0xca, 0x5e, 0x06, 0xbc, 0x5a, 0x6a, 0x7a, 0x19, 0x24, 0x20, 0xe3, 0xcb, 0x40, - 0xae, 0x83, 0x5a, 0x95, 0x5f, 0xbd, 0x7c, 0xb6, 0x51, 0x6a, 0xda, 0xdf, 0x3c, 0x5f, 0x2a, 0x7d, - 0xfb, 0x7c, 0xa9, 0xf4, 0x9f, 0xe7, 0x4b, 0xa5, 0x3f, 0xbc, 0x58, 0x3a, 0xf1, 0xed, 0x8b, 0xa5, - 0x13, 0xff, 0x7a, 0xb1, 0x74, 0xe2, 0xd3, 0x7b, 0x5d, 0x37, 0x3e, 0x18, 0xb4, 0xb7, 0x9c, 0xa0, - 0xd7, 0xd8, 0x45, 0x0e, 0xf2, 0xe3, 0x10, 0x7a, 0x58, 0x2d, 0x1f, 0xc0, 0x1e, 0x6a, 0xa8, 0xff, - 0xda, 0x26, 0x3e, 0xee, 0xa3, 0xa8, 0x3d, 0x43, 0xfe, 0x60, 0xe8, 0xd6, 0x7f, 0x03, 0x00, 0x00, - 0xff, 0xff, 0x12, 0x5f, 0xd6, 0x84, 0x8a, 0x35, 0x00, 0x00, + // 2944 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0x4f, 0x6f, 0x14, 0xc9, + 0x15, 0x67, 0x3c, 0xb6, 0xb1, 0x0b, 0x63, 0xa0, 0xf1, 0xc2, 0xd0, 0x80, 0x6d, 0x06, 0x1b, 0x1b, + 0x30, 0xf6, 0x62, 0x96, 0x3f, 0x41, 0xd9, 0x8d, 0x3c, 0x36, 0x59, 0xad, 0x14, 0x2f, 0xa4, 0x27, + 0xbb, 0x84, 0x4d, 0x94, 0x55, 0x4d, 0x4f, 0x79, 0xdc, 0xf1, 0x4c, 0xf7, 0x6c, 0x77, 0xcf, 0x78, + 0x8d, 0xb4, 0x52, 0x44, 0x2e, 0x51, 0x72, 0xc9, 0x39, 0xca, 0x25, 0xb7, 0x3d, 0x45, 0x48, 0xc9, + 0x27, 0x48, 0x2e, 0x7b, 0xc8, 0x61, 0xb5, 0xa7, 0x9c, 0xa2, 0x08, 0x0e, 0x7c, 0x8d, 0xa8, 0xfe, + 0x74, 0x75, 0x75, 0x4d, 0x55, 0x75, 0xcf, 0x90, 0xbd, 0xc0, 0x54, 0xf5, 0xaf, 0xde, 0x7b, 0xf5, + 0xea, 0xd5, 0x7b, 0xaf, 0xde, 0x93, 0xc1, 0x25, 0x17, 0x86, 0x4d, 0x77, 0x1f, 0x7a, 0xfe, 0x46, + 0xfa, 0x2b, 0xfe, 0x72, 0xbd, 0x1b, 0x06, 0x71, 0x60, 0x9d, 0xe5, 0x73, 0xeb, 0xfc, 0x97, 0x7d, + 0x06, 0x76, 0x3c, 0x3f, 0xd8, 0x20, 0xff, 0x52, 0x9c, 0x7d, 0xde, 0x0d, 0xa2, 0x4e, 0x10, 0x6d, + 0x74, 0xa2, 0xd6, 0x46, 0xff, 0x36, 0xfe, 0x8f, 0x7d, 0xb8, 0x40, 0x3f, 0x7c, 0x4e, 0x46, 0x1b, + 0x74, 0xc0, 0x3e, 0xcd, 0xb5, 0x82, 0x56, 0x40, 0xe7, 0xf1, 0x2f, 0x36, 0xbb, 0xa8, 0x92, 0xa7, + 0x0b, 0x43, 0xd8, 0x49, 0xd6, 0xcd, 0x33, 0x5e, 0x0d, 0x18, 0xa1, 0x8d, 0xfe, 0xed, 0x06, 0x8a, + 0xe1, 0xed, 0x0d, 0x37, 0xf0, 0x7c, 0x13, 0x85, 0x7e, 0x10, 0x7b, 0x7e, 0x22, 0xd4, 0x82, 0x0a, + 0xd1, 0x81, 0xb1, 0xbb, 0xcf, 0x00, 0x57, 0x54, 0x00, 0x37, 0xe8, 0xf9, 0xae, 0xd7, 0xe6, 0x52, + 0xa8, 0x20, 0x30, 0x6c, 0xd2, 0xef, 0xd5, 0x7f, 0x96, 0xc0, 0xa9, 0xdd, 0xa8, 0xf5, 0x49, 0xb7, + 0x09, 0x63, 0xf4, 0x84, 0xc8, 0x6f, 0xdd, 0x03, 0xd3, 0xb0, 0x17, 0xef, 0x07, 0xa1, 0x17, 0x1f, + 0x55, 0x4a, 0x8b, 0xa5, 0xd5, 0xe9, 0x5a, 0xe5, 0xbb, 0xbf, 0xdf, 0x9a, 0x63, 0x6a, 0xd9, 0x6a, + 0x36, 0x43, 0x14, 0x45, 0xf5, 0x38, 0xf4, 0xfc, 0x96, 0x93, 0x42, 0xad, 0x0f, 0xc0, 0x24, 0xd5, + 0x40, 0x65, 0x6c, 0xb1, 0xb4, 0x7a, 0x62, 0xf3, 0xe2, 0xba, 0xe2, 0x58, 0xd6, 0x29, 0x93, 0xda, + 0xf4, 0x37, 0xff, 0x59, 0x38, 0xf6, 0xf5, 0x9b, 0x97, 0x37, 0x4a, 0x0e, 0x5b, 0xf5, 0xf0, 0xc1, + 0x8b, 0x37, 0x2f, 0x6f, 0xa4, 0xf4, 0x7e, 0xff, 0xe6, 0xe5, 0x8d, 0xe5, 0x54, 0xe8, 0x2f, 0x85, + 0x0d, 0x48, 0x12, 0x57, 0x2f, 0x80, 0xf3, 0xd2, 0x94, 0x83, 0xa2, 0x6e, 0xe0, 0x47, 0xa8, 0xda, + 0x02, 0x27, 0xf1, 0xa7, 0x08, 0x85, 0xdb, 0x21, 0x82, 0x31, 0xb2, 0x2a, 0xe0, 0xb8, 0x8b, 0x7f, + 0x05, 0x21, 0xdd, 0x9b, 0x93, 0x0c, 0xf1, 0x17, 0x1f, 0x1d, 0x62, 0x28, 0xd9, 0xc0, 0xb4, 0x93, + 0x0c, 0xad, 0x39, 0x30, 0x01, 0xdb, 0x1e, 0x8c, 0x2a, 0x65, 0x32, 0x4f, 0x07, 0x0f, 0x67, 0xb0, + 0xbc, 0xc9, 0xea, 0xea, 0x79, 0xf0, 0x4e, 0x86, 0x11, 0x97, 0xa0, 0x03, 0x4e, 0xef, 0x46, 0xad, + 0x6d, 0x18, 0x36, 0xeb, 0xee, 0x3e, 0xea, 0xa0, 0x5a, 0xef, 0xc8, 0x20, 0xc4, 0x6d, 0x50, 0x6e, + 0x78, 0x4d, 0xa6, 0xc1, 0x0b, 0xeb, 0x4c, 0xe7, 0xd8, 0x88, 0xd6, 0x99, 0x11, 0xad, 0x6f, 0x07, + 0x9e, 0x5f, 0x1b, 0xc7, 0xfa, 0x73, 0x30, 0x56, 0x92, 0x63, 0x13, 0x54, 0x64, 0x76, 0x89, 0x28, + 0xd6, 0x39, 0x30, 0x89, 0x95, 0xf8, 0x51, 0x93, 0x70, 0x1d, 0x77, 0xd8, 0xa8, 0xfa, 0x8f, 0x12, + 0xb0, 0x92, 0x45, 0xb0, 0x8f, 0xb6, 0x03, 0x3f, 0x46, 0x7e, 0x6c, 0x90, 0x32, 0x25, 0x34, 0x26, + 0x12, 0x22, 0x2b, 0xe8, 0x62, 0xa2, 0xaa, 0x19, 0x27, 0x19, 0x62, 0x15, 0xfa, 0x41, 0x8c, 0xa2, + 0xca, 0x38, 0x55, 0x21, 0x19, 0x60, 0x3a, 0x30, 0x8c, 0xbd, 0x28, 0xae, 0x4c, 0x90, 0x69, 0x36, + 0xb2, 0x96, 0xc0, 0xc9, 0x06, 0x6c, 0x43, 0xdf, 0x45, 0x5b, 0xbe, 0xbb, 0x1f, 0x84, 0x95, 0xc9, + 0xc5, 0xd2, 0xea, 0x94, 0x93, 0x9d, 0x94, 0x36, 0xbe, 0x03, 0xec, 0xc1, 0x3d, 0xf0, 0xad, 0x5f, + 0x03, 0xb3, 0xd0, 0x0b, 0x9b, 0x61, 0xd0, 0xdd, 0x6e, 0x43, 0xaf, 0x83, 0xa8, 0x0a, 0xa6, 0x1c, + 0x69, 0xb6, 0xfa, 0x6b, 0x70, 0x82, 0x51, 0xf9, 0x34, 0x30, 0x5a, 0xcb, 0x1d, 0x30, 0xde, 0x0f, + 0x62, 0xc4, 0x4e, 0x6a, 0x41, 0x69, 0xeb, 0x75, 0xcf, 0x6f, 0xb5, 0x11, 0x26, 0xe4, 0x10, 0xb0, + 0x24, 0xf1, 0xfb, 0xe0, 0xac, 0xc0, 0x6b, 0x68, 0x51, 0x3b, 0xe4, 0xea, 0xe2, 0xe5, 0x3f, 0x0b, + 0xa1, 0x1f, 0xed, 0xa1, 0x70, 0x84, 0x13, 0xb3, 0xc1, 0x54, 0x88, 0x5c, 0xe4, 0xf5, 0x51, 0xc8, + 0xac, 0x9b, 0x8f, 0x25, 0x69, 0xe9, 0x25, 0x13, 0xd9, 0x71, 0x13, 0xff, 0x5d, 0x89, 0xdc, 0x32, + 0xfc, 0x6d, 0x27, 0xf0, 0xcd, 0xb7, 0x4c, 0x27, 0xc8, 0x7d, 0x30, 0x09, 0x3b, 0x41, 0x8f, 0x59, + 0x4e, 0x01, 0xdb, 0x67, 0x70, 0xe5, 0x35, 0x4c, 0x25, 0xe1, 0x32, 0xfe, 0xb6, 0x04, 0xce, 0xb0, + 0x2f, 0x5b, 0x61, 0x7c, 0x18, 0x84, 0x07, 0x5b, 0xcd, 0xe6, 0x08, 0x72, 0xce, 0x81, 0x09, 0xaf, + 0x03, 0x5b, 0x88, 0x19, 0x38, 0x1d, 0x60, 0x3a, 0x7b, 0xbd, 0x76, 0x7b, 0x2b, 0x8c, 0x89, 0x81, + 0x4f, 0x39, 0xc9, 0x50, 0x12, 0xef, 0x22, 0xb8, 0x30, 0x20, 0x84, 0xe0, 0x29, 0xce, 0xa6, 0x1f, + 0xbd, 0x28, 0xde, 0xde, 0x87, 0x7e, 0x6b, 0x14, 0x5d, 0xa6, 0xd7, 0xaa, 0x2c, 0x5e, 0x2b, 0x49, + 0x96, 0xcb, 0xe0, 0xa2, 0x82, 0x1d, 0x97, 0xe6, 0x87, 0xd4, 0x27, 0xd0, 0x70, 0xe2, 0xa0, 0x96, + 0x17, 0xc5, 0x26, 0x0b, 0x93, 0x88, 0x5f, 0xa2, 0xb7, 0x31, 0xbb, 0x9a, 0xd3, 0xfe, 0x00, 0xcc, + 0xa5, 0x5f, 0x77, 0x50, 0x38, 0x2c, 0xf5, 0x79, 0x70, 0x49, 0xb5, 0x9e, 0xd3, 0xff, 0xae, 0x04, + 0x66, 0x77, 0xa3, 0xd6, 0x2e, 0x0e, 0x96, 0x0e, 0xea, 0x06, 0x61, 0x6c, 0xf6, 0xfb, 0x24, 0xaa, + 0x72, 0x35, 0x26, 0x43, 0xab, 0x0a, 0x66, 0xba, 0x6d, 0x78, 0x84, 0x9a, 0x58, 0x49, 0xd1, 0x56, + 0xa5, 0xbc, 0x58, 0x5e, 0x1d, 0x77, 0x32, 0x73, 0x12, 0xa6, 0x56, 0x19, 0x1f, 0xc0, 0xd4, 0xac, + 0x7b, 0xe0, 0x78, 0xd0, 0x8b, 0xdd, 0xa0, 0x83, 0x88, 0x9f, 0x9b, 0xdd, 0xbc, 0xa4, 0x74, 0x17, + 0x8f, 0x29, 0xc6, 0x49, 0xc0, 0xd2, 0xa6, 0x2b, 0xe0, 0x5c, 0x76, 0x4f, 0x7c, 0xbb, 0x0e, 0x0d, + 0x31, 0x54, 0x1d, 0xb9, 0x71, 0x4e, 0x63, 0x35, 0x12, 0x37, 0x9b, 0xc6, 0x11, 0x91, 0x26, 0xe7, + 0xf7, 0x15, 0x71, 0x05, 0x82, 0x24, 0x28, 0xdc, 0xea, 0x76, 0x03, 0xcf, 0x8f, 0x47, 0x4e, 0x1e, + 0x88, 0x1f, 0xa2, 0xa4, 0x58, 0xf4, 0xe5, 0xe3, 0x87, 0xb3, 0xd9, 0xc4, 0xa0, 0x7a, 0x05, 0x2c, + 0x68, 0xd8, 0x73, 0x09, 0xbf, 0x2e, 0x81, 0x99, 0xdd, 0xa8, 0x55, 0x47, 0x71, 0xae, 0x3a, 0x2c, + 0x30, 0xee, 0xc3, 0x0e, 0x62, 0x5c, 0xc9, 0x6f, 0xdd, 0x05, 0xb2, 0x16, 0xc1, 0x89, 0x28, 0x0e, + 0xc2, 0xa3, 0xa7, 0xa1, 0x87, 0x05, 0xa5, 0xb1, 0x4c, 0x9c, 0xc2, 0xe6, 0x80, 0x43, 0x5e, 0xe8, + 0x35, 0x7a, 0x71, 0x10, 0x46, 0x95, 0x89, 0xc5, 0xf2, 0xea, 0xb4, 0x93, 0x99, 0x93, 0x14, 0x7d, + 0x8e, 0xdc, 0x05, 0x2e, 0x29, 0xdf, 0x02, 0x22, 0x3e, 0x15, 0xcf, 0xe3, 0x1b, 0x6a, 0xf4, 0x55, + 0x73, 0x60, 0x22, 0x42, 0x31, 0x3f, 0x50, 0x3a, 0x10, 0xce, 0xb9, 0x6c, 0x38, 0x67, 0xea, 0x30, + 0x53, 0x36, 0x9c, 0xff, 0x3e, 0x31, 0x2a, 0xf6, 0xc1, 0x41, 0x9d, 0xa0, 0x8f, 0xbe, 0x27, 0x11, + 0xa8, 0xa9, 0x65, 0x38, 0x09, 0x52, 0x24, 0xda, 0x49, 0x35, 0x38, 0x8a, 0x32, 0x2c, 0x30, 0xde, + 0x8b, 0x78, 0x8c, 0x23, 0xbf, 0x95, 0x3e, 0x65, 0x80, 0x13, 0x97, 0xe4, 0x80, 0x18, 0x7d, 0xf6, + 0xfb, 0x88, 0x6a, 0xc9, 0x17, 0x86, 0x9a, 0xb8, 0x8a, 0x19, 0x97, 0xe7, 0x63, 0xe2, 0xe2, 0xea, + 0x28, 0xfe, 0xb1, 0xe7, 0xc3, 0xb6, 0xf7, 0x7c, 0x68, 0x31, 0x94, 0xee, 0x45, 0xa0, 0xc7, 0x39, + 0xed, 0x25, 0x96, 0x50, 0x28, 0x70, 0xaa, 0xb7, 0xac, 0x0c, 0x9b, 0x3a, 0x3b, 0x50, 0xc4, 0xc6, + 0x66, 0xb2, 0xdb, 0x3a, 0xbe, 0x6c, 0x23, 0x4a, 0x40, 0x2e, 0x6a, 0x92, 0xc4, 0x93, 0x81, 0x4e, + 0x07, 0x09, 0x17, 0xce, 0xff, 0xa7, 0x24, 0x7b, 0xa8, 0x05, 0x01, 0x8e, 0x33, 0x4f, 0xa0, 0x7b, + 0x60, 0x4e, 0xe3, 0x8b, 0x28, 0x7c, 0x9b, 0xe4, 0x02, 0x59, 0x92, 0x43, 0x27, 0x81, 0x7f, 0xa0, + 0xa9, 0x7b, 0x1d, 0xb5, 0xdb, 0x8f, 0xf7, 0xf6, 0x0a, 0xbc, 0x72, 0x74, 0x39, 0xc3, 0x5d, 0x30, + 0xd1, 0x0d, 0x3d, 0x17, 0x15, 0x4d, 0xbf, 0x28, 0x5a, 0x19, 0xf5, 0x25, 0x61, 0xb8, 0x0e, 0x7f, + 0x41, 0x12, 0x56, 0xfe, 0xd5, 0xac, 0x41, 0xec, 0x6a, 0x13, 0x24, 0x17, 0x56, 0x9c, 0x52, 0xa6, + 0xa7, 0x22, 0x71, 0xce, 0xf7, 0x57, 0x59, 0x15, 0xe5, 0x5e, 0xda, 0x61, 0x59, 0x4b, 0xbb, 0x96, + 0xee, 0xe9, 0x5f, 0x4a, 0xfc, 0x01, 0xe8, 0x40, 0x1c, 0xbf, 0xea, 0x28, 0x1e, 0x2d, 0xef, 0xa4, + 0x16, 0x55, 0x16, 0x8d, 0xfa, 0x3e, 0x98, 0x0c, 0x09, 0x51, 0x12, 0x8b, 0x66, 0x35, 0xef, 0x90, + 0x94, 0xb7, 0xc3, 0xe0, 0xea, 0x60, 0x2f, 0x8a, 0xc8, 0xe5, 0xff, 0x73, 0x49, 0xcc, 0x04, 0x92, + 0xe9, 0xed, 0xa0, 0xd3, 0xf1, 0x4c, 0xfb, 0xb8, 0x04, 0xa6, 0x59, 0x29, 0x82, 0x6f, 0x25, 0x9d, + 0xa0, 0xe1, 0x9e, 0x52, 0x4a, 0x9f, 0x1d, 0xcc, 0xf4, 0xe7, 0x01, 0x88, 0x7a, 0xad, 0x16, 0x8a, + 0x62, 0x2f, 0xf0, 0x59, 0x8c, 0x15, 0x66, 0x24, 0xd1, 0xab, 0x60, 0x51, 0x27, 0x1d, 0xdf, 0xc2, + 0xdf, 0x94, 0x5b, 0x70, 0x50, 0x1f, 0xc1, 0xf6, 0xc8, 0x5b, 0xf8, 0x81, 0xb4, 0x85, 0xd9, 0xcd, + 0xcb, 0x4a, 0xe5, 0x73, 0x76, 0xe9, 0x0e, 0xcf, 0x81, 0xc9, 0x08, 0xb9, 0x21, 0x8a, 0xd9, 0xee, + 0xd8, 0xa8, 0xc8, 0xce, 0xa8, 0xd0, 0x7c, 0x67, 0xcf, 0xe8, 0xa3, 0x86, 0x63, 0x62, 0x18, 0x8e, + 0x7c, 0x28, 0xea, 0xa7, 0x4a, 0x86, 0x34, 0xe7, 0xfb, 0x2f, 0x5a, 0x37, 0x22, 0x39, 0xd8, 0x76, + 0xe0, 0xef, 0x79, 0x61, 0x67, 0xa4, 0x0c, 0x5b, 0xc8, 0x8c, 0xcb, 0x43, 0x64, 0xc6, 0xd6, 0x8f, + 0x00, 0xc0, 0x0f, 0x6a, 0x9a, 0x60, 0x93, 0x9c, 0xbb, 0xc0, 0x1b, 0x5c, 0x58, 0xa2, 0x74, 0x1e, + 0xe2, 0x6e, 0xf8, 0x4e, 0xeb, 0x44, 0xc3, 0x4f, 0xc2, 0x60, 0xcf, 0x6b, 0x23, 0x52, 0x5d, 0x18, + 0xe5, 0xfa, 0x2a, 0x75, 0x9b, 0x25, 0xca, 0x39, 0xfe, 0x9c, 0xa4, 0x3c, 0xec, 0xe3, 0x53, 0xd4, + 0x88, 0xbc, 0x18, 0x99, 0x99, 0x56, 0xc0, 0xf1, 0x43, 0x8a, 0x4b, 0x2a, 0x57, 0x6c, 0xa8, 0x4c, + 0x71, 0x06, 0x28, 0x73, 0xce, 0x3f, 0x21, 0x9e, 0x8a, 0x7d, 0xaf, 0x79, 0x81, 0x99, 0xeb, 0x69, + 0x50, 0x6e, 0x78, 0x01, 0xe3, 0x88, 0x7f, 0x2a, 0x9d, 0x4a, 0x86, 0x1a, 0xe7, 0xd4, 0x20, 0x2e, + 0x59, 0x88, 0x7d, 0x8f, 0xbb, 0xc8, 0x37, 0xf0, 0x5a, 0x02, 0x27, 0x1b, 0x29, 0x98, 0x6b, 0x37, + 0x3b, 0x29, 0xf1, 0xbf, 0x47, 0xdc, 0xb2, 0xc4, 0x83, 0x07, 0x58, 0xcc, 0x8b, 0x1c, 0x4d, 0x54, + 0x29, 0x91, 0x27, 0x5b, 0x32, 0xac, 0xbe, 0x28, 0x91, 0x2c, 0x40, 0x58, 0x58, 0xa0, 0xbe, 0x52, + 0x48, 0xc0, 0x21, 0xaa, 0x2d, 0x8b, 0x60, 0x5e, 0x2d, 0x03, 0x57, 0x61, 0x3f, 0xc9, 0x8c, 0xeb, + 0xe9, 0xf3, 0xc3, 0x7c, 0x60, 0xea, 0xbc, 0x48, 0x7a, 0xd3, 0x94, 0x07, 0xde, 0x34, 0xba, 0x3c, + 0x39, 0xcb, 0x57, 0xa8, 0xb8, 0x9e, 0xe2, 0x59, 0x9c, 0x17, 0xc5, 0xa3, 0x88, 0x54, 0xac, 0x7e, + 0x91, 0x44, 0xfc, 0x94, 0x11, 0x97, 0xe1, 0x0b, 0x1e, 0x72, 0xf1, 0xc5, 0xdf, 0xed, 0xb5, 0x63, + 0xcf, 0x20, 0xc4, 0x5d, 0x30, 0xd1, 0x27, 0xb5, 0xc9, 0xb1, 0x62, 0x7e, 0x84, 0xa2, 0x25, 0x69, + 0x6a, 0x3c, 0x84, 0x72, 0x96, 0x43, 0x27, 0x73, 0x7f, 0xa5, 0xaf, 0x56, 0xe2, 0x87, 0x72, 0x2e, + 0x44, 0x05, 0x1c, 0x27, 0x25, 0x86, 0x70, 0x2b, 0xb9, 0xf2, 0x6c, 0x98, 0x7e, 0xa9, 0x31, 0xed, + 0x25, 0x43, 0x7c, 0xd2, 0x0c, 0xb4, 0x83, 0xdc, 0x03, 0x56, 0xa9, 0x10, 0xa7, 0x52, 0x44, 0x8d, + 0x20, 0x26, 0x44, 0x04, 0x99, 0x92, 0x36, 0xfd, 0x2e, 0xb1, 0x41, 0x2e, 0xaf, 0x78, 0xb9, 0x12, + 0x87, 0x5f, 0xca, 0x38, 0xfc, 0x2a, 0x4c, 0x5e, 0xb5, 0x1f, 0xc3, 0x0e, 0x1a, 0xc5, 0x36, 0x92, + 0xe7, 0x7a, 0x39, 0x7d, 0xae, 0xeb, 0x5e, 0xb4, 0x8c, 0x85, 0x50, 0x26, 0xb1, 0x52, 0x87, 0xb4, + 0xd5, 0xf6, 0x60, 0x94, 0x2b, 0x00, 0x2d, 0xfb, 0x8f, 0xe9, 0xcb, 0xfe, 0x34, 0xf7, 0x93, 0x68, + 0x0a, 0x1c, 0xb1, 0x7e, 0x1e, 0xc1, 0xb0, 0x7d, 0xb4, 0xe5, 0xba, 0x28, 0x8a, 0x3e, 0xf2, 0xfb, + 0x5e, 0x5e, 0x35, 0xa2, 0x97, 0x76, 0x20, 0xf4, 0xef, 0xd4, 0x01, 0x9a, 0x42, 0xc0, 0xc2, 0xf7, + 0xef, 0x33, 0x04, 0xdb, 0x47, 0xdb, 0x81, 0xef, 0x23, 0x37, 0x27, 0x72, 0x3c, 0xc7, 0x48, 0xa6, + 0xe5, 0x69, 0x27, 0x19, 0x2a, 0xef, 0x9a, 0x48, 0x94, 0xf3, 0xfb, 0xd3, 0x18, 0x51, 0xeb, 0x23, + 0x1f, 0x27, 0x12, 0x71, 0x81, 0x17, 0x88, 0xaa, 0xe0, 0x62, 0x83, 0xa9, 0x66, 0x08, 0x0f, 0xdb, + 0xf4, 0xce, 0x63, 0xab, 0xe3, 0x63, 0xeb, 0x29, 0x00, 0xa4, 0x43, 0x84, 0x62, 0x14, 0x26, 0xb1, + 0xfe, 0xbe, 0xf2, 0x8e, 0x0e, 0x8a, 0x41, 0xdb, 0x4d, 0x64, 0xe5, 0x23, 0x3f, 0x0e, 0x8f, 0x1c, + 0x81, 0x54, 0xfa, 0x26, 0x9d, 0x10, 0xde, 0xa4, 0xf6, 0xfb, 0xe0, 0x94, 0xb4, 0x08, 0x47, 0xba, + 0x03, 0xc4, 0xca, 0x59, 0x0e, 0xfe, 0x89, 0x97, 0xf6, 0x61, 0xbb, 0x97, 0x6c, 0x82, 0x0e, 0x1e, + 0x8e, 0x3d, 0x28, 0x29, 0xcd, 0x43, 0x12, 0x8a, 0xab, 0xce, 0x27, 0x8f, 0x5a, 0xfe, 0x75, 0x27, + 0x30, 0x3f, 0x4a, 0x50, 0x02, 0x4c, 0x1f, 0x25, 0xc2, 0x54, 0x81, 0xaa, 0x02, 0x7d, 0xde, 0x0a, + 0xfc, 0xe4, 0xea, 0x78, 0x2a, 0x68, 0x3b, 0x88, 0xd0, 0xff, 0x5b, 0x1a, 0xac, 0xc7, 0x43, 0x96, + 0xd2, 0x4f, 0x39, 0xf8, 0xa7, 0x32, 0x2d, 0xca, 0x0a, 0xc1, 0x45, 0xfc, 0x84, 0x98, 0xa0, 0x60, + 0xf7, 0x3b, 0x5e, 0xe4, 0xbd, 0xfd, 0x75, 0xa2, 0x95, 0x16, 0x15, 0x59, 0xce, 0xb9, 0x0d, 0x00, + 0x73, 0xed, 0x35, 0xe8, 0x8f, 0x5c, 0xe1, 0xd4, 0x65, 0x86, 0x72, 0x75, 0x73, 0x8e, 0xf7, 0xe2, + 0x6a, 0x90, 0x7b, 0xd4, 0x6a, 0x44, 0x7a, 0x03, 0x82, 0x98, 0x1f, 0x86, 0xf0, 0x2d, 0xca, 0xad, + 0x73, 0x60, 0x02, 0xeb, 0x82, 0x86, 0xbc, 0x69, 0x87, 0x0e, 0x06, 0x44, 0xa1, 0x1d, 0x02, 0x99, + 0xa9, 0x64, 0xbe, 0x38, 0x00, 0xbb, 0xb1, 0xd7, 0xc7, 0x97, 0xfe, 0x2d, 0xc4, 0x51, 0x94, 0x4b, + 0x64, 0x71, 0x78, 0x75, 0x26, 0xe1, 0xc7, 0x25, 0x39, 0xe4, 0x5d, 0x9f, 0xed, 0xa0, 0x7b, 0x14, + 0x7a, 0xad, 0xfd, 0x98, 0xc4, 0xd4, 0xef, 0xfd, 0xb0, 0x16, 0xc0, 0x65, 0x25, 0xe3, 0x44, 0xb2, + 0xcd, 0x17, 0x37, 0x41, 0x79, 0x37, 0x6a, 0x59, 0x0d, 0x30, 0x93, 0x69, 0xb2, 0x2f, 0xe9, 0x1c, + 0x98, 0x88, 0xb2, 0xd7, 0x8a, 0xa0, 0x78, 0xd4, 0xfd, 0x25, 0x00, 0x42, 0xa3, 0xbb, 0xaa, 0x5d, + 0xcb, 0x31, 0xf6, 0x8d, 0x7c, 0x0c, 0xa7, 0x8e, 0xc0, 0xc9, 0x6c, 0x13, 0x7b, 0x59, 0xb7, 0x38, + 0x03, 0xb3, 0x6f, 0x15, 0x82, 0x71, 0x36, 0x07, 0xe0, 0x94, 0xdc, 0x87, 0x5e, 0x31, 0x52, 0x48, + 0x81, 0xf6, 0x46, 0x41, 0x20, 0x67, 0xf6, 0x29, 0x98, 0xe2, 0xad, 0xde, 0x45, 0xd3, 0x62, 0x8c, + 0xb0, 0x57, 0xf3, 0x10, 0x9c, 0x6e, 0x03, 0xcc, 0x64, 0xfa, 0xb2, 0x4b, 0xa6, 0x95, 0x09, 0x4a, + 0x7f, 0xda, 0xaa, 0xa6, 0x2b, 0x3e, 0x6d, 0xa1, 0xe1, 0x5a, 0x35, 0xad, 0xa5, 0x18, 0xfd, 0x69, + 0x0f, 0xb6, 0x4b, 0xad, 0x7d, 0x30, 0x2b, 0xb5, 0x4a, 0xaf, 0x99, 0x56, 0xa7, 0x38, 0x7b, 0xbd, + 0x18, 0x8e, 0x73, 0xf2, 0xc1, 0xe9, 0x81, 0x96, 0xe7, 0x6a, 0x0e, 0x0d, 0x8e, 0xb4, 0xdf, 0x2d, + 0x8a, 0xcc, 0x18, 0x98, 0xd4, 0xd4, 0xd4, 0x1b, 0x58, 0x16, 0x68, 0x30, 0x30, 0x75, 0xa3, 0xd3, + 0xfa, 0x02, 0x9c, 0x19, 0xec, 0x72, 0x5e, 0xcf, 0xa1, 0x92, 0x42, 0xed, 0xdb, 0x85, 0xa1, 0x9c, + 0xe5, 0xe7, 0xe0, 0x84, 0xd8, 0xf7, 0xbc, 0xaa, 0xa3, 0x20, 0x80, 0xec, 0x9b, 0x05, 0x40, 0x19, + 0x47, 0x90, 0x69, 0x35, 0x2e, 0xe7, 0x08, 0xc9, 0x9c, 0xcd, 0xad, 0x42, 0x30, 0xce, 0xe6, 0x39, + 0x98, 0x53, 0x76, 0x18, 0xd7, 0x0a, 0xc8, 0xca, 0xd1, 0xf6, 0x7b, 0xc3, 0xa0, 0x39, 0xef, 0x67, + 0x60, 0x3a, 0x6d, 0x1d, 0x5e, 0xd1, 0x91, 0xe0, 0x10, 0xfb, 0x7a, 0x2e, 0x44, 0xbc, 0xb6, 0x42, + 0x4f, 0xaf, 0x6a, 0x5a, 0x48, 0x31, 0xfa, 0x6b, 0x3b, 0xd8, 0xb4, 0xc3, 0x67, 0x93, 0xed, 0xd8, + 0x2d, 0xe7, 0x2c, 0xa6, 0x30, 0xfd, 0xd9, 0x28, 0xbb, 0x72, 0xd8, 0xac, 0x07, 0x5b, 0x72, 0x46, + 0x25, 0x64, 0xa0, 0x7a, 0xb3, 0xd6, 0xb6, 0xdf, 0xb0, 0x39, 0x28, 0x7b, 0x6f, 0x6b, 0xc5, 0x48, + 0xb1, 0x7d, 0xbe, 0x37, 0x0c, 0x5a, 0xbc, 0x52, 0x62, 0x9f, 0xed, 0xaa, 0x81, 0x48, 0x02, 0xd2, + 0x5f, 0x29, 0x45, 0x87, 0x8d, 0x1d, 0x9b, 0xe0, 0x6c, 0x4d, 0xc7, 0x26, 0xf8, 0xda, 0x5b, 0x85, + 0x60, 0xd2, 0x3e, 0x78, 0x07, 0xcd, 0xb4, 0x8f, 0x04, 0x64, 0xdc, 0x87, 0xdc, 0x25, 0xc3, 0x51, + 0x43, 0x6a, 0x91, 0x69, 0xa3, 0x46, 0x16, 0xa7, 0x8f, 0x1a, 0x9a, 0xfe, 0xd8, 0x01, 0x38, 0x25, + 0xf7, 0xbc, 0x56, 0xf4, 0x92, 0x66, 0x80, 0x7a, 0x2f, 0xae, 0x69, 0x5c, 0xe1, 0x70, 0x9e, 0xe9, + 0x5a, 0x2d, 0xe5, 0x12, 0xc0, 0x5b, 0x5a, 0x2b, 0x82, 0x52, 0x6e, 0x88, 0x99, 0x76, 0xfe, 0x86, + 0x98, 0x55, 0x6f, 0x14, 0x04, 0xca, 0xb9, 0x5c, 0xda, 0x8f, 0x32, 0xe6, 0x72, 0x1c, 0x66, 0xce, + 0xe5, 0x06, 0x5a, 0x47, 0xd6, 0x57, 0xe0, 0x1d, 0x75, 0xdb, 0xe8, 0x56, 0x6e, 0x1c, 0x15, 0xe1, + 0xf6, 0xdd, 0xa1, 0xe0, 0x06, 0xf6, 0xac, 0xe5, 0x53, 0x94, 0x3d, 0x85, 0x17, 0x66, 0x9f, 0xed, + 0xcd, 0x90, 0x14, 0x2a, 0xdb, 0x98, 0xb9, 0x96, 0x4f, 0x08, 0xe3, 0x0c, 0x29, 0x94, 0xb2, 0x1b, + 0x83, 0xed, 0x33, 0xd3, 0x89, 0x59, 0x32, 0x06, 0x3d, 0x86, 0xb2, 0xd7, 0x8a, 0xa0, 0xc4, 0xdd, + 0x48, 0x4d, 0x10, 0xed, 0x6e, 0xb2, 0x38, 0xfd, 0x6e, 0xd4, 0xfd, 0x0f, 0x1c, 0x5c, 0x06, 0x9b, + 0x1f, 0xd7, 0x73, 0x88, 0xa4, 0x50, 0x7d, 0x70, 0xd1, 0x36, 0x3e, 0xf0, 0x7d, 0xc8, 0x76, 0x3d, + 0x96, 0x73, 0x68, 0x50, 0x98, 0xfe, 0x3e, 0x28, 0xbb, 0x1e, 0xf8, 0x8e, 0xcb, 0x2d, 0x8f, 0x95, + 0x02, 0x7e, 0x0f, 0x03, 0xf5, 0x77, 0x5c, 0xd7, 0xe0, 0x38, 0x04, 0x67, 0x55, 0x2d, 0x8c, 0x9b, + 0x05, 0xe8, 0xf0, 0x17, 0xc9, 0x9d, 0x21, 0xc0, 0x52, 0x72, 0x20, 0x75, 0x25, 0xae, 0xe7, 0x85, + 0x11, 0x0e, 0x35, 0x26, 0x07, 0xea, 0x9e, 0x03, 0x75, 0xd0, 0x42, 0xc3, 0x61, 0xc9, 0x1c, 0x17, + 0x29, 0xca, 0xe4, 0xa0, 0x07, 0x7b, 0x0a, 0x89, 0xcf, 0x4c, 0x1b, 0x0a, 0xcb, 0x79, 0xcf, 0x41, + 0x02, 0x33, 0xfb, 0xcc, 0xc1, 0x5e, 0xc1, 0x33, 0x30, 0x9d, 0xd6, 0xff, 0xaf, 0x18, 0xaf, 0x28, + 0xb1, 0x8b, 0xeb, 0xb9, 0x10, 0x29, 0xf5, 0x4c, 0x0a, 0xef, 0xa6, 0xd4, 0x93, 0x61, 0x8c, 0xa9, + 0xa7, 0x54, 0x5d, 0xc7, 0xc6, 0x2d, 0x97, 0xd6, 0x57, 0x72, 0xae, 0x47, 0x02, 0xd4, 0x1b, 0xb7, + 0xa6, 0xb0, 0x8e, 0x6d, 0x6c, 0xb0, 0xaa, 0xae, 0x55, 0xc5, 0x00, 0x54, 0x6f, 0x63, 0xda, 0xba, + 0x3a, 0xb6, 0xb1, 0x4c, 0x51, 0x5d, 0x6b, 0x63, 0x22, 0x4a, 0x6f, 0x63, 0xaa, 0x5a, 0x3a, 0xd6, + 0xa1, 0x5c, 0x47, 0x5f, 0x29, 0x58, 0xe9, 0xd6, 0xeb, 0x50, 0x53, 0x7d, 0xc6, 0xd9, 0xa0, 0x58, + 0x7a, 0xbe, 0x9a, 0xbb, 0x7e, 0x27, 0xd0, 0x67, 0x83, 0x8a, 0xa2, 0x32, 0x0e, 0x19, 0x52, 0x41, + 0xf9, 0x5a, 0xbe, 0x8c, 0x18, 0xa7, 0x0f, 0x19, 0xea, 0xda, 0x30, 0x7e, 0x1c, 0x28, 0x0b, 0xc3, + 0x6b, 0x05, 0x8e, 0x99, 0xa3, 0xf5, 0x8f, 0x03, 0x53, 0x75, 0xd8, 0xaa, 0x83, 0xe3, 0x49, 0x69, + 0x78, 0xc1, 0x74, 0xd5, 0x6b, 0xd0, 0xb7, 0x57, 0x72, 0x00, 0x62, 0x51, 0x64, 0xa0, 0xd6, 0xbb, + 0x5a, 0x40, 0x3c, 0x82, 0xd4, 0x17, 0x45, 0x74, 0xa5, 0x5c, 0xf6, 0x32, 0xe0, 0x75, 0x5c, 0xd3, + 0xcb, 0x20, 0x01, 0x19, 0x5f, 0x06, 0x72, 0x85, 0xd6, 0x8a, 0x81, 0xa5, 0x28, 0xcf, 0x1a, 0x2b, + 0x52, 0x59, 0xac, 0xbd, 0x59, 0x1c, 0x9b, 0x70, 0xb5, 0x27, 0x7e, 0xf3, 0xe6, 0xe5, 0x8d, 0x52, + 0xcd, 0xf9, 0xe6, 0xd5, 0x7c, 0xe9, 0xdb, 0x57, 0xf3, 0xa5, 0xff, 0xbe, 0x9a, 0x2f, 0xfd, 0xf1, + 0xf5, 0xfc, 0xb1, 0x6f, 0x5f, 0xcf, 0x1f, 0xfb, 0xf7, 0xeb, 0xf9, 0x63, 0x9f, 0x3d, 0x68, 0x79, + 0xf1, 0x7e, 0xaf, 0xb1, 0xee, 0x06, 0x9d, 0x8d, 0x1d, 0xe4, 0x22, 0x3f, 0x0e, 0x61, 0x1b, 0x13, + 0xfc, 0x10, 0x76, 0xd0, 0x86, 0xfa, 0xaf, 0x8f, 0xe2, 0xa3, 0x2e, 0x8a, 0x1a, 0x93, 0xe4, 0x0f, + 0xa8, 0xee, 0xfc, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x70, 0x83, 0x42, 0xec, 0x9a, 0x36, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5277,6 +5369,7 @@ type MsgClient interface { CardBan(ctx context.Context, in *MsgCardBan, opts ...grpc.CallOption) (*MsgCardBanResponse, error) EarlyAccessGrant(ctx context.Context, in *MsgEarlyAccessGrant, opts ...grpc.CallOption) (*MsgEarlyAccessGrantResponse, error) SetActivate(ctx context.Context, in *MsgSetActivate, opts ...grpc.CallOption) (*MsgSetActivateResponse, error) + CardCopyrightClaim(ctx context.Context, in *MsgCardCopyrightClaim, opts ...grpc.CallOption) (*MsgCardCopyrightClaimResponse, error) } type msgClient struct { @@ -5746,6 +5839,15 @@ func (c *msgClient) SetActivate(ctx context.Context, in *MsgSetActivate, opts .. return out, nil } +func (c *msgClient) CardCopyrightClaim(ctx context.Context, in *MsgCardCopyrightClaim, opts ...grpc.CallOption) (*MsgCardCopyrightClaimResponse, error) { + out := new(MsgCardCopyrightClaimResponse) + err := c.cc.Invoke(ctx, "/cardchain.cardchain.Msg/CardCopyrightClaim", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module @@ -5801,6 +5903,7 @@ type MsgServer interface { CardBan(context.Context, *MsgCardBan) (*MsgCardBanResponse, error) EarlyAccessGrant(context.Context, *MsgEarlyAccessGrant) (*MsgEarlyAccessGrantResponse, error) SetActivate(context.Context, *MsgSetActivate) (*MsgSetActivateResponse, error) + CardCopyrightClaim(context.Context, *MsgCardCopyrightClaim) (*MsgCardCopyrightClaimResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -5960,6 +6063,9 @@ func (*UnimplementedMsgServer) EarlyAccessGrant(ctx context.Context, req *MsgEar func (*UnimplementedMsgServer) SetActivate(ctx context.Context, req *MsgSetActivate) (*MsgSetActivateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetActivate not implemented") } +func (*UnimplementedMsgServer) CardCopyrightClaim(ctx context.Context, req *MsgCardCopyrightClaim) (*MsgCardCopyrightClaimResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CardCopyrightClaim not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -6883,6 +6989,24 @@ func _Msg_SetActivate_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +func _Msg_CardCopyrightClaim_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCardCopyrightClaim) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CardCopyrightClaim(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.cardchain.Msg/CardCopyrightClaim", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CardCopyrightClaim(ctx, req.(*MsgCardCopyrightClaim)) + } + return interceptor(ctx, in, info, handler) +} + var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.cardchain.Msg", @@ -7092,6 +7216,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "SetActivate", Handler: _Msg_SetActivate_Handler, }, + { + MethodName: "CardCopyrightClaim", + Handler: _Msg_CardCopyrightClaim_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", @@ -10550,6 +10678,64 @@ func (m *MsgSetActivateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *MsgCardCopyrightClaim) 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 *MsgCardCopyrightClaim) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardCopyrightClaim) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x10 + } + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgCardCopyrightClaimResponse) 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 *MsgCardCopyrightClaimResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCardCopyrightClaimResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -12056,6 +12242,31 @@ func (m *MsgSetActivateResponse) Size() (n int) { return n } +func (m *MsgCardCopyrightClaim) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } + return n +} + +func (m *MsgCardCopyrightClaimResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -21743,6 +21954,157 @@ func (m *MsgSetActivateResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgCardCopyrightClaim) 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: MsgCardCopyrightClaim: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardCopyrightClaim: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 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:]) + 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 *MsgCardCopyrightClaimResponse) 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: MsgCardCopyrightClaimResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCardCopyrightClaimResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From 41907f8437e38c5af27c3ccccd6887ad7ee8dcaf Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 18 Feb 2025 13:45:55 +0100 Subject: [PATCH 72/99] feat(#242): Added ff queries --- api/cardchain/featureflag/query.pulsar.go | 2062 +++++++++++++++++++- api/cardchain/featureflag/query_grpc.pb.go | 78 + docs/static/openapi.yml | 2 +- gen_queries.sh | 4 +- proto/cardchain/featureflag/query.proto | 39 +- x/featureflag/keeper/query_flag.go | 22 + x/featureflag/keeper/query_flags.go | 22 + x/featureflag/module/autocli.go | 14 + x/featureflag/module/genesis.go | 9 + x/featureflag/types/query.pb.go | 852 +++++++- x/featureflag/types/query.pb.gw.go | 188 ++ 11 files changed, 3221 insertions(+), 71 deletions(-) create mode 100644 x/featureflag/keeper/query_flag.go create mode 100644 x/featureflag/keeper/query_flags.go diff --git a/api/cardchain/featureflag/query.pulsar.go b/api/cardchain/featureflag/query.pulsar.go index 3419d3a4..c59dbb7d 100644 --- a/api/cardchain/featureflag/query.pulsar.go +++ b/api/cardchain/featureflag/query.pulsar.go @@ -807,6 +807,1775 @@ func (x *fastReflection_QueryParamsResponse) ProtoMethods() *protoiface.Methods } } +var ( + md_QueryFlagRequest protoreflect.MessageDescriptor + fd_QueryFlagRequest_module protoreflect.FieldDescriptor + fd_QueryFlagRequest_name protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_featureflag_query_proto_init() + md_QueryFlagRequest = File_cardchain_featureflag_query_proto.Messages().ByName("QueryFlagRequest") + fd_QueryFlagRequest_module = md_QueryFlagRequest.Fields().ByName("module") + fd_QueryFlagRequest_name = md_QueryFlagRequest.Fields().ByName("name") +} + +var _ protoreflect.Message = (*fastReflection_QueryFlagRequest)(nil) + +type fastReflection_QueryFlagRequest QueryFlagRequest + +func (x *QueryFlagRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryFlagRequest)(x) +} + +func (x *QueryFlagRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_query_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryFlagRequest_messageType fastReflection_QueryFlagRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryFlagRequest_messageType{} + +type fastReflection_QueryFlagRequest_messageType struct{} + +func (x fastReflection_QueryFlagRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryFlagRequest)(nil) +} +func (x fastReflection_QueryFlagRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryFlagRequest) +} +func (x fastReflection_QueryFlagRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryFlagRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryFlagRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryFlagRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryFlagRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryFlagRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryFlagRequest) New() protoreflect.Message { + return new(fastReflection_QueryFlagRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryFlagRequest) Interface() protoreflect.ProtoMessage { + return (*QueryFlagRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryFlagRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Module != "" { + value := protoreflect.ValueOfString(x.Module) + if !f(fd_QueryFlagRequest_module, value) { + return + } + } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_QueryFlagRequest_name, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryFlagRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagRequest.module": + return x.Module != "" + case "cardchain.featureflag.QueryFlagRequest.name": + return x.Name != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagRequest.module": + x.Module = "" + case "cardchain.featureflag.QueryFlagRequest.name": + x.Name = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryFlagRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.featureflag.QueryFlagRequest.module": + value := x.Module + return protoreflect.ValueOfString(value) + case "cardchain.featureflag.QueryFlagRequest.name": + value := x.Name + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagRequest.module": + x.Module = value.Interface().(string) + case "cardchain.featureflag.QueryFlagRequest.name": + x.Name = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagRequest.module": + panic(fmt.Errorf("field module of message cardchain.featureflag.QueryFlagRequest is not mutable")) + case "cardchain.featureflag.QueryFlagRequest.name": + panic(fmt.Errorf("field name of message cardchain.featureflag.QueryFlagRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryFlagRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagRequest.module": + return protoreflect.ValueOfString("") + case "cardchain.featureflag.QueryFlagRequest.name": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryFlagRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.QueryFlagRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryFlagRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryFlagRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryFlagRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryFlagRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Module) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryFlagRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0x12 + } + if len(x.Module) > 0 { + i -= len(x.Module) + copy(dAtA[i:], x.Module) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Module))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryFlagRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryFlagRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryFlagRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Module", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Module = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryFlagResponse protoreflect.MessageDescriptor + fd_QueryFlagResponse_flag protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_featureflag_query_proto_init() + md_QueryFlagResponse = File_cardchain_featureflag_query_proto.Messages().ByName("QueryFlagResponse") + fd_QueryFlagResponse_flag = md_QueryFlagResponse.Fields().ByName("flag") +} + +var _ protoreflect.Message = (*fastReflection_QueryFlagResponse)(nil) + +type fastReflection_QueryFlagResponse QueryFlagResponse + +func (x *QueryFlagResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryFlagResponse)(x) +} + +func (x *QueryFlagResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_query_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryFlagResponse_messageType fastReflection_QueryFlagResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryFlagResponse_messageType{} + +type fastReflection_QueryFlagResponse_messageType struct{} + +func (x fastReflection_QueryFlagResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryFlagResponse)(nil) +} +func (x fastReflection_QueryFlagResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryFlagResponse) +} +func (x fastReflection_QueryFlagResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryFlagResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryFlagResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryFlagResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryFlagResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryFlagResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryFlagResponse) New() protoreflect.Message { + return new(fastReflection_QueryFlagResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryFlagResponse) Interface() protoreflect.ProtoMessage { + return (*QueryFlagResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryFlagResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Flag != nil { + value := protoreflect.ValueOfMessage(x.Flag.ProtoReflect()) + if !f(fd_QueryFlagResponse_flag, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryFlagResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagResponse.flag": + return x.Flag != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagResponse.flag": + x.Flag = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryFlagResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.featureflag.QueryFlagResponse.flag": + value := x.Flag + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagResponse.flag": + x.Flag = value.Message().Interface().(*Flag) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagResponse.flag": + if x.Flag == nil { + x.Flag = new(Flag) + } + return protoreflect.ValueOfMessage(x.Flag.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryFlagResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagResponse.flag": + m := new(Flag) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryFlagResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.QueryFlagResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryFlagResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryFlagResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryFlagResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryFlagResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Flag != nil { + l = options.Size(x.Flag) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryFlagResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Flag != nil { + encoded, err := options.Marshal(x.Flag) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryFlagResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryFlagResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryFlagResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Flag", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Flag == nil { + x.Flag = &Flag{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Flag); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryFlagsRequest protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_featureflag_query_proto_init() + md_QueryFlagsRequest = File_cardchain_featureflag_query_proto.Messages().ByName("QueryFlagsRequest") +} + +var _ protoreflect.Message = (*fastReflection_QueryFlagsRequest)(nil) + +type fastReflection_QueryFlagsRequest QueryFlagsRequest + +func (x *QueryFlagsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryFlagsRequest)(x) +} + +func (x *QueryFlagsRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_query_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryFlagsRequest_messageType fastReflection_QueryFlagsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryFlagsRequest_messageType{} + +type fastReflection_QueryFlagsRequest_messageType struct{} + +func (x fastReflection_QueryFlagsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryFlagsRequest)(nil) +} +func (x fastReflection_QueryFlagsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryFlagsRequest) +} +func (x fastReflection_QueryFlagsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryFlagsRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryFlagsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryFlagsRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryFlagsRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryFlagsRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryFlagsRequest) New() protoreflect.Message { + return new(fastReflection_QueryFlagsRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryFlagsRequest) Interface() protoreflect.ProtoMessage { + return (*QueryFlagsRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryFlagsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryFlagsRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagsRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagsRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagsRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagsRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagsRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryFlagsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagsRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagsRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagsRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagsRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagsRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagsRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryFlagsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagsRequest")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagsRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryFlagsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.QueryFlagsRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryFlagsRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagsRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryFlagsRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryFlagsRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryFlagsRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryFlagsRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryFlagsRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryFlagsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryFlagsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QueryFlagsResponse_1_list)(nil) + +type _QueryFlagsResponse_1_list struct { + list *[]*Flag +} + +func (x *_QueryFlagsResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryFlagsResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_QueryFlagsResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Flag) + (*x.list)[i] = concreteValue +} + +func (x *_QueryFlagsResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Flag) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryFlagsResponse_1_list) AppendMutable() protoreflect.Value { + v := new(Flag) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryFlagsResponse_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_QueryFlagsResponse_1_list) NewElement() protoreflect.Value { + v := new(Flag) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryFlagsResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryFlagsResponse protoreflect.MessageDescriptor + fd_QueryFlagsResponse_flags protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_featureflag_query_proto_init() + md_QueryFlagsResponse = File_cardchain_featureflag_query_proto.Messages().ByName("QueryFlagsResponse") + fd_QueryFlagsResponse_flags = md_QueryFlagsResponse.Fields().ByName("flags") +} + +var _ protoreflect.Message = (*fastReflection_QueryFlagsResponse)(nil) + +type fastReflection_QueryFlagsResponse QueryFlagsResponse + +func (x *QueryFlagsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryFlagsResponse)(x) +} + +func (x *QueryFlagsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_query_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryFlagsResponse_messageType fastReflection_QueryFlagsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryFlagsResponse_messageType{} + +type fastReflection_QueryFlagsResponse_messageType struct{} + +func (x fastReflection_QueryFlagsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryFlagsResponse)(nil) +} +func (x fastReflection_QueryFlagsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryFlagsResponse) +} +func (x fastReflection_QueryFlagsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryFlagsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryFlagsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryFlagsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryFlagsResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryFlagsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryFlagsResponse) New() protoreflect.Message { + return new(fastReflection_QueryFlagsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryFlagsResponse) Interface() protoreflect.ProtoMessage { + return (*QueryFlagsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryFlagsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Flags) != 0 { + value := protoreflect.ValueOfList(&_QueryFlagsResponse_1_list{list: &x.Flags}) + if !f(fd_QueryFlagsResponse_flags, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryFlagsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagsResponse.flags": + return len(x.Flags) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagsResponse.flags": + x.Flags = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryFlagsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.featureflag.QueryFlagsResponse.flags": + if len(x.Flags) == 0 { + return protoreflect.ValueOfList(&_QueryFlagsResponse_1_list{}) + } + listValue := &_QueryFlagsResponse_1_list{list: &x.Flags} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagsResponse.flags": + lv := value.List() + clv := lv.(*_QueryFlagsResponse_1_list) + x.Flags = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagsResponse.flags": + if x.Flags == nil { + x.Flags = []*Flag{} + } + value := &_QueryFlagsResponse_1_list{list: &x.Flags} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryFlagsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.QueryFlagsResponse.flags": + list := []*Flag{} + return protoreflect.ValueOfList(&_QueryFlagsResponse_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.QueryFlagsResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.QueryFlagsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryFlagsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.QueryFlagsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryFlagsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryFlagsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryFlagsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryFlagsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryFlagsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Flags) > 0 { + for _, e := range x.Flags { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryFlagsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Flags) > 0 { + for iNdEx := len(x.Flags) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Flags[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryFlagsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryFlagsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryFlagsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Flags", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Flags = append(x.Flags, &Flag{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Flags[len(x.Flags)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -884,6 +2653,145 @@ func (x *QueryParamsResponse) GetParams() *Params { return nil } +type QueryFlagRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 (x *QueryFlagRequest) Reset() { + *x = QueryFlagRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_query_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryFlagRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryFlagRequest) ProtoMessage() {} + +// Deprecated: Use QueryFlagRequest.ProtoReflect.Descriptor instead. +func (*QueryFlagRequest) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_query_proto_rawDescGZIP(), []int{2} +} + +func (x *QueryFlagRequest) GetModule() string { + if x != nil { + return x.Module + } + return "" +} + +func (x *QueryFlagRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type QueryFlagResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Flag *Flag `protobuf:"bytes,1,opt,name=flag,proto3" json:"flag,omitempty"` +} + +func (x *QueryFlagResponse) Reset() { + *x = QueryFlagResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_query_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryFlagResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryFlagResponse) ProtoMessage() {} + +// Deprecated: Use QueryFlagResponse.ProtoReflect.Descriptor instead. +func (*QueryFlagResponse) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_query_proto_rawDescGZIP(), []int{3} +} + +func (x *QueryFlagResponse) GetFlag() *Flag { + if x != nil { + return x.Flag + } + return nil +} + +type QueryFlagsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryFlagsRequest) Reset() { + *x = QueryFlagsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_query_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryFlagsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryFlagsRequest) ProtoMessage() {} + +// Deprecated: Use QueryFlagsRequest.ProtoReflect.Descriptor instead. +func (*QueryFlagsRequest) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_query_proto_rawDescGZIP(), []int{4} +} + +type QueryFlagsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Flags []*Flag `protobuf:"bytes,1,rep,name=flags,proto3" json:"flags,omitempty"` +} + +func (x *QueryFlagsResponse) Reset() { + *x = QueryFlagsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_query_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryFlagsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryFlagsResponse) ProtoMessage() {} + +// Deprecated: Use QueryFlagsResponse.ProtoReflect.Descriptor instead. +func (*QueryFlagsResponse) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_query_proto_rawDescGZIP(), []int{5} +} + +func (x *QueryFlagsResponse) GetFlags() []*Flag { + if x != nil { + return x.Flags + } + return nil +} + var File_cardchain_featureflag_query_proto protoreflect.FileDescriptor var file_cardchain_featureflag_query_proto_rawDesc = []byte{ @@ -900,24 +2808,60 @@ var file_cardchain_featureflag_query_proto_rawDesc = []byte{ 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x57, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, - 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, - 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x32, 0xa2, 0x01, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x98, 0x01, 0x0a, 0x06, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0xde, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, + 0x6f, 0x1a, 0x20, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x57, 0x0a, 0x13, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, + 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0x3e, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x44, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x46, 0x6c, + 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x13, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x47, 0x0a, + 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x32, 0xdc, 0x03, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x12, 0x98, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, + 0x6c, 0x61, 0x67, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x44, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xa0, 0x01, 0x0a, 0x04, + 0x46, 0x6c, 0x61, 0x67, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, + 0x3d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x7b, + 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x7d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x94, + 0x01, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, + 0x66, 0x6c, 0x61, 0x67, 0x73, 0x42, 0xde, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, @@ -946,21 +2890,32 @@ func file_cardchain_featureflag_query_proto_rawDescGZIP() []byte { return file_cardchain_featureflag_query_proto_rawDescData } -var file_cardchain_featureflag_query_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_cardchain_featureflag_query_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_cardchain_featureflag_query_proto_goTypes = []interface{}{ (*QueryParamsRequest)(nil), // 0: cardchain.featureflag.QueryParamsRequest (*QueryParamsResponse)(nil), // 1: cardchain.featureflag.QueryParamsResponse - (*Params)(nil), // 2: cardchain.featureflag.Params + (*QueryFlagRequest)(nil), // 2: cardchain.featureflag.QueryFlagRequest + (*QueryFlagResponse)(nil), // 3: cardchain.featureflag.QueryFlagResponse + (*QueryFlagsRequest)(nil), // 4: cardchain.featureflag.QueryFlagsRequest + (*QueryFlagsResponse)(nil), // 5: cardchain.featureflag.QueryFlagsResponse + (*Params)(nil), // 6: cardchain.featureflag.Params + (*Flag)(nil), // 7: cardchain.featureflag.Flag } var file_cardchain_featureflag_query_proto_depIdxs = []int32{ - 2, // 0: cardchain.featureflag.QueryParamsResponse.params:type_name -> cardchain.featureflag.Params - 0, // 1: cardchain.featureflag.Query.Params:input_type -> cardchain.featureflag.QueryParamsRequest - 1, // 2: cardchain.featureflag.Query.Params:output_type -> cardchain.featureflag.QueryParamsResponse - 2, // [2:3] is the sub-list for method output_type - 1, // [1:2] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name + 6, // 0: cardchain.featureflag.QueryParamsResponse.params:type_name -> cardchain.featureflag.Params + 7, // 1: cardchain.featureflag.QueryFlagResponse.flag:type_name -> cardchain.featureflag.Flag + 7, // 2: cardchain.featureflag.QueryFlagsResponse.flags:type_name -> cardchain.featureflag.Flag + 0, // 3: cardchain.featureflag.Query.Params:input_type -> cardchain.featureflag.QueryParamsRequest + 2, // 4: cardchain.featureflag.Query.Flag:input_type -> cardchain.featureflag.QueryFlagRequest + 4, // 5: cardchain.featureflag.Query.Flags:input_type -> cardchain.featureflag.QueryFlagsRequest + 1, // 6: cardchain.featureflag.Query.Params:output_type -> cardchain.featureflag.QueryParamsResponse + 3, // 7: cardchain.featureflag.Query.Flag:output_type -> cardchain.featureflag.QueryFlagResponse + 5, // 8: cardchain.featureflag.Query.Flags:output_type -> cardchain.featureflag.QueryFlagsResponse + 6, // [6:9] is the sub-list for method output_type + 3, // [3:6] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name } func init() { file_cardchain_featureflag_query_proto_init() } @@ -969,6 +2924,7 @@ func file_cardchain_featureflag_query_proto_init() { return } file_cardchain_featureflag_params_proto_init() + file_cardchain_featureflag_flag_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_featureflag_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsRequest); i { @@ -994,6 +2950,54 @@ func file_cardchain_featureflag_query_proto_init() { return nil } } + file_cardchain_featureflag_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryFlagRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_featureflag_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryFlagResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_featureflag_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryFlagsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_featureflag_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryFlagsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1001,7 +3005,7 @@ func file_cardchain_featureflag_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_featureflag_query_proto_rawDesc, NumEnums: 0, - NumMessages: 2, + NumMessages: 6, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/featureflag/query_grpc.pb.go b/api/cardchain/featureflag/query_grpc.pb.go index f7957337..e78920c8 100644 --- a/api/cardchain/featureflag/query_grpc.pb.go +++ b/api/cardchain/featureflag/query_grpc.pb.go @@ -20,6 +20,8 @@ const _ = grpc.SupportPackageIsVersion7 const ( Query_Params_FullMethodName = "/cardchain.featureflag.Query/Params" + Query_Flag_FullMethodName = "/cardchain.featureflag.Query/Flag" + Query_Flags_FullMethodName = "/cardchain.featureflag.Query/Flags" ) // QueryClient is the client API for Query service. @@ -28,6 +30,10 @@ const ( 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 Flag items. + Flag(ctx context.Context, in *QueryFlagRequest, opts ...grpc.CallOption) (*QueryFlagResponse, error) + // Queries a list of Flags items. + Flags(ctx context.Context, in *QueryFlagsRequest, opts ...grpc.CallOption) (*QueryFlagsResponse, error) } type queryClient struct { @@ -47,12 +53,34 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . return out, nil } +func (c *queryClient) Flag(ctx context.Context, in *QueryFlagRequest, opts ...grpc.CallOption) (*QueryFlagResponse, error) { + out := new(QueryFlagResponse) + err := c.cc.Invoke(ctx, Query_Flag_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) Flags(ctx context.Context, in *QueryFlagsRequest, opts ...grpc.CallOption) (*QueryFlagsResponse, error) { + out := new(QueryFlagsResponse) + err := c.cc.Invoke(ctx, Query_Flags_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility type QueryServer interface { // Parameters queries the parameters of the module. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + // Queries a list of Flag items. + Flag(context.Context, *QueryFlagRequest) (*QueryFlagResponse, error) + // Queries a list of Flags items. + Flags(context.Context, *QueryFlagsRequest) (*QueryFlagsResponse, error) mustEmbedUnimplementedQueryServer() } @@ -63,6 +91,12 @@ type UnimplementedQueryServer struct { func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } +func (UnimplementedQueryServer) Flag(context.Context, *QueryFlagRequest) (*QueryFlagResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Flag not implemented") +} +func (UnimplementedQueryServer) Flags(context.Context, *QueryFlagsRequest) (*QueryFlagsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Flags not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -94,6 +128,42 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +func _Query_Flag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryFlagRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Flag(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Flag_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Flag(ctx, req.(*QueryFlagRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_Flags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryFlagsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Flags(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Flags_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Flags(ctx, req.(*QueryFlagsRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -105,6 +175,14 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Params", Handler: _Query_Params_Handler, }, + { + MethodName: "Flag", + Handler: _Query_Flag_Handler, + }, + { + MethodName: "Flags", + Handler: _Query_Flags_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/featureflag/query.proto", diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index f343a6d1..8f0261a5 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"type":"string"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"string"}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen_queries.sh b/gen_queries.sh index c300ca64..13c1c15c 100755 --- a/gen_queries.sh +++ b/gen_queries.sh @@ -23,4 +23,6 @@ set -o pipefail #ignite scaffold query sets status contributors:strings containsCards:uints owner --response sets #ignite scaffold query cardContent cardId:uint --response cardContent:CardContent #ignite scaffold query cardContents cardId:uints --response cardContents -ignite scaffold query sellOffers priceDown priceUp seller buyer card:uint status --response sellOffers --response sellOfferIds:uints +#ignite scaffold query sellOffers priceDown priceUp seller buyer card:uint status --response sellOffers --response sellOfferIds:uints +#ignite scaffold query flag module name --response flag --module featureflag -y +#ignite scaffold query flags --response flags --module featureflag -y diff --git a/proto/cardchain/featureflag/query.proto b/proto/cardchain/featureflag/query.proto index bb9d652b..9201ffaa 100644 --- a/proto/cardchain/featureflag/query.proto +++ b/proto/cardchain/featureflag/query.proto @@ -1,4 +1,5 @@ syntax = "proto3"; + package cardchain.featureflag; import "amino/amino.proto"; @@ -6,25 +7,49 @@ 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"; + option (google.api.http).get = + "/DecentralCardGame/cardchain/featureflag/params"; } -} + // Queries a list of Flag items. + rpc Flag(QueryFlagRequest) returns (QueryFlagResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}"; + } + + // Queries a list of Flags items. + rpc Flags(QueryFlagsRequest) returns (QueryFlagsResponse) { + option (google.api.http).get = + "/DecentralCardGame/cardchain/featureflag/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, - (amino.dont_omitempty) = true - ]; -} \ No newline at end of file + Params params = 1 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; +} + +message QueryFlagRequest { + string module = 1; + string name = 2; +} + +message QueryFlagResponse { Flag flag = 1; } + +message QueryFlagsRequest {} + +message QueryFlagsResponse { repeated Flag flags = 1; } diff --git a/x/featureflag/keeper/query_flag.go b/x/featureflag/keeper/query_flag.go new file mode 100644 index 00000000..f481b5b9 --- /dev/null +++ b/x/featureflag/keeper/query_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) Flag(goCtx context.Context, req *types.QueryFlagRequest) (*types.QueryFlagResponse, 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.QueryFlagResponse{Flag: &flag}, nil +} diff --git a/x/featureflag/keeper/query_flags.go b/x/featureflag/keeper/query_flags.go new file mode 100644 index 00000000..61c0341c --- /dev/null +++ b/x/featureflag/keeper/query_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) Flags(goCtx context.Context, req *types.QueryFlagsRequest) (*types.QueryFlagsResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + flags, _ := k.GetAllFlags(ctx) + + return &types.QueryFlagsResponse{Flags: flags}, nil +} diff --git a/x/featureflag/module/autocli.go b/x/featureflag/module/autocli.go index 0572b5e4..13363d10 100644 --- a/x/featureflag/module/autocli.go +++ b/x/featureflag/module/autocli.go @@ -17,6 +17,20 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Use: "params", Short: "Shows the parameters of the module", }, + { + RpcMethod: "Flag", + Use: "flag [module] [name]", + Short: "Query flag", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "module"}, {ProtoField: "name"}}, + }, + + { + RpcMethod: "Flags", + Use: "flags", + Short: "Query flags", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{}, + }, + // this line is used by ignite scaffolding # autocli/query }, }, diff --git a/x/featureflag/module/genesis.go b/x/featureflag/module/genesis.go index 7f41a4c6..24b0478e 100644 --- a/x/featureflag/module/genesis.go +++ b/x/featureflag/module/genesis.go @@ -13,6 +13,10 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) if err := k.SetParams(ctx, genState.Params); err != nil { panic(err) } + k.InitAllStores(ctx) + for key, val := range genState.Flags { + k.SetFlag(ctx, []byte(key), *val) + } } // ExportGenesis returns the module's exported genesis. @@ -20,6 +24,11 @@ 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/types/query.pb.go b/x/featureflag/types/query.pb.go index 2ec990b9..8a86fb67 100644 --- a/x/featureflag/types/query.pb.go +++ b/x/featureflag/types/query.pb.go @@ -114,36 +114,226 @@ func (m *QueryParamsResponse) GetParams() Params { return Params{} } +type QueryFlagRequest 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 *QueryFlagRequest) Reset() { *m = QueryFlagRequest{} } +func (m *QueryFlagRequest) String() string { return proto.CompactTextString(m) } +func (*QueryFlagRequest) ProtoMessage() {} +func (*QueryFlagRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_fb461e75899978b4, []int{2} +} +func (m *QueryFlagRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryFlagRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryFlagRequest.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 *QueryFlagRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryFlagRequest.Merge(m, src) +} +func (m *QueryFlagRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryFlagRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryFlagRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryFlagRequest proto.InternalMessageInfo + +func (m *QueryFlagRequest) GetModule() string { + if m != nil { + return m.Module + } + return "" +} + +func (m *QueryFlagRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +type QueryFlagResponse struct { + Flag *Flag `protobuf:"bytes,1,opt,name=flag,proto3" json:"flag,omitempty"` +} + +func (m *QueryFlagResponse) Reset() { *m = QueryFlagResponse{} } +func (m *QueryFlagResponse) String() string { return proto.CompactTextString(m) } +func (*QueryFlagResponse) ProtoMessage() {} +func (*QueryFlagResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_fb461e75899978b4, []int{3} +} +func (m *QueryFlagResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryFlagResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryFlagResponse.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 *QueryFlagResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryFlagResponse.Merge(m, src) +} +func (m *QueryFlagResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryFlagResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryFlagResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryFlagResponse proto.InternalMessageInfo + +func (m *QueryFlagResponse) GetFlag() *Flag { + if m != nil { + return m.Flag + } + return nil +} + +type QueryFlagsRequest struct { +} + +func (m *QueryFlagsRequest) Reset() { *m = QueryFlagsRequest{} } +func (m *QueryFlagsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryFlagsRequest) ProtoMessage() {} +func (*QueryFlagsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_fb461e75899978b4, []int{4} +} +func (m *QueryFlagsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryFlagsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryFlagsRequest.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 *QueryFlagsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryFlagsRequest.Merge(m, src) +} +func (m *QueryFlagsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryFlagsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryFlagsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryFlagsRequest proto.InternalMessageInfo + +type QueryFlagsResponse struct { + Flags []*Flag `protobuf:"bytes,1,rep,name=flags,proto3" json:"flags,omitempty"` +} + +func (m *QueryFlagsResponse) Reset() { *m = QueryFlagsResponse{} } +func (m *QueryFlagsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryFlagsResponse) ProtoMessage() {} +func (*QueryFlagsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_fb461e75899978b4, []int{5} +} +func (m *QueryFlagsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryFlagsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryFlagsResponse.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 *QueryFlagsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryFlagsResponse.Merge(m, src) +} +func (m *QueryFlagsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryFlagsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryFlagsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryFlagsResponse proto.InternalMessageInfo + +func (m *QueryFlagsResponse) GetFlags() []*Flag { + if m != nil { + return m.Flags + } + return nil +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "cardchain.featureflag.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "cardchain.featureflag.QueryParamsResponse") + proto.RegisterType((*QueryFlagRequest)(nil), "cardchain.featureflag.QueryFlagRequest") + proto.RegisterType((*QueryFlagResponse)(nil), "cardchain.featureflag.QueryFlagResponse") + proto.RegisterType((*QueryFlagsRequest)(nil), "cardchain.featureflag.QueryFlagsRequest") + proto.RegisterType((*QueryFlagsResponse)(nil), "cardchain.featureflag.QueryFlagsResponse") } func init() { proto.RegisterFile("cardchain/featureflag/query.proto", fileDescriptor_fb461e75899978b4) } var fileDescriptor_fb461e75899978b4 = []byte{ - // 335 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0x31, 0x4b, 0xc3, 0x40, - 0x14, 0xc7, 0x73, 0x82, 0x05, 0xe3, 0x64, 0xac, 0x20, 0x45, 0xa3, 0x66, 0xd2, 0x0e, 0x39, 0x5a, - 0x07, 0xc1, 0x49, 0xaa, 0xe0, 0xaa, 0x45, 0x10, 0xdc, 0x5e, 0xd2, 0xd7, 0x6b, 0xa0, 0xb9, 0x97, - 0xde, 0x5d, 0xc4, 0xae, 0x7e, 0x02, 0xc1, 0xc5, 0xd9, 0xc9, 0xd1, 0x8f, 0xd1, 0xb1, 0xe0, 0xe2, - 0x24, 0xd2, 0x0a, 0x7e, 0x0d, 0x69, 0x12, 0xc4, 0x62, 0x2d, 0x2e, 0xc7, 0xe3, 0xdd, 0xef, 0xfd, - 0xee, 0x7f, 0xcf, 0xde, 0x09, 0x41, 0xb5, 0xc2, 0x0e, 0x44, 0x92, 0xb7, 0x11, 0x4c, 0xaa, 0xb0, - 0xdd, 0x05, 0xc1, 0x7b, 0x29, 0xaa, 0xbe, 0x9f, 0x28, 0x32, 0xe4, 0xac, 0x7d, 0x23, 0xfe, 0x0f, - 0xa4, 0xb2, 0x02, 0x71, 0x24, 0x89, 0x67, 0x67, 0x4e, 0x56, 0xca, 0x82, 0x04, 0x65, 0x25, 0x9f, - 0x54, 0x45, 0x77, 0x43, 0x10, 0x89, 0x2e, 0x72, 0x48, 0x22, 0x0e, 0x52, 0x92, 0x01, 0x13, 0x91, - 0xd4, 0xc5, 0x6d, 0x35, 0x24, 0x1d, 0x93, 0xe6, 0x01, 0x68, 0xcc, 0x9f, 0xe5, 0xd7, 0xb5, 0x00, - 0x0d, 0xd4, 0x78, 0x02, 0x22, 0x92, 0x19, 0x5c, 0xb0, 0xde, 0xec, 0xb0, 0x09, 0x28, 0x88, 0x0b, - 0x9f, 0x57, 0xb6, 0x9d, 0xf3, 0x89, 0xe5, 0x2c, 0x6b, 0x36, 0xb1, 0x97, 0xa2, 0x36, 0xde, 0xa5, - 0xbd, 0x3a, 0xd5, 0xd5, 0x09, 0x49, 0x8d, 0xce, 0x91, 0x5d, 0xca, 0x87, 0xd7, 0xd9, 0x36, 0xdb, - 0x5d, 0xae, 0x6f, 0xfa, 0x33, 0xff, 0xea, 0xe7, 0x63, 0x8d, 0xa5, 0xc1, 0xdb, 0x96, 0xf5, 0xf4, - 0xf9, 0x5c, 0x65, 0xcd, 0x62, 0xae, 0xfe, 0xc8, 0xec, 0xc5, 0xcc, 0xec, 0x3c, 0x30, 0xbb, 0x94, - 0x73, 0xce, 0xde, 0x1f, 0x9a, 0xdf, 0xc1, 0x2a, 0xd5, 0xff, 0xa0, 0x79, 0x5a, 0xef, 0xe0, 0xf6, - 0xe5, 0xe3, 0x7e, 0xa1, 0xe6, 0x70, 0x7e, 0x82, 0x21, 0x4a, 0xa3, 0xa0, 0x7b, 0x0c, 0xaa, 0x75, - 0x0a, 0x31, 0xf2, 0x79, 0x9b, 0x69, 0x5c, 0x0c, 0x46, 0x2e, 0x1b, 0x8e, 0x5c, 0xf6, 0x3e, 0x72, - 0xd9, 0xdd, 0xd8, 0xb5, 0x86, 0x63, 0xd7, 0x7a, 0x1d, 0xbb, 0xd6, 0xd5, 0xa1, 0x88, 0x4c, 0x27, - 0x0d, 0xfc, 0x90, 0xe2, 0xb9, 0xd2, 0x9b, 0x29, 0xad, 0xe9, 0x27, 0xa8, 0x83, 0x52, 0xb6, 0xf0, - 0xfd, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x78, 0xc7, 0xde, 0x6c, 0x43, 0x02, 0x00, 0x00, + // 493 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0x4f, 0x6b, 0x13, 0x41, + 0x14, 0xcf, 0xb4, 0x49, 0xa0, 0xe3, 0xc5, 0x4e, 0xab, 0x94, 0xa8, 0x6b, 0xdd, 0x8b, 0x6d, 0x0e, + 0x3b, 0xa6, 0x82, 0x82, 0xe0, 0x1f, 0x6a, 0xb5, 0x57, 0x0d, 0x82, 0xe0, 0xed, 0x65, 0x33, 0xdd, + 0x2e, 0xec, 0xce, 0x6c, 0x77, 0x66, 0xc5, 0x52, 0x7a, 0xf1, 0x13, 0x08, 0x7a, 0xf0, 0xe8, 0xd1, + 0xa3, 0x1f, 0xa3, 0xc7, 0x82, 0x17, 0x0f, 0x22, 0x92, 0x08, 0x7e, 0x0d, 0x99, 0x37, 0x63, 0x48, + 0x31, 0x4d, 0xe2, 0x65, 0x78, 0xfb, 0xf6, 0xf7, 0x6f, 0xde, 0xdb, 0xa5, 0x37, 0x62, 0x28, 0xfb, + 0xf1, 0x3e, 0xa4, 0x92, 0xef, 0x09, 0x30, 0x55, 0x29, 0xf6, 0x32, 0x48, 0xf8, 0x41, 0x25, 0xca, + 0xc3, 0xa8, 0x28, 0x95, 0x51, 0xec, 0xd2, 0x08, 0x12, 0x8d, 0x41, 0x5a, 0xcb, 0x90, 0xa7, 0x52, + 0x71, 0x3c, 0x1d, 0xb2, 0xb5, 0x9a, 0xa8, 0x44, 0x61, 0xc9, 0x6d, 0xe5, 0xbb, 0x57, 0x13, 0xa5, + 0x92, 0x4c, 0x70, 0x28, 0x52, 0x0e, 0x52, 0x2a, 0x03, 0x26, 0x55, 0x52, 0xfb, 0xb7, 0xed, 0x58, + 0xe9, 0x5c, 0x69, 0xde, 0x03, 0x2d, 0x9c, 0x2d, 0x7f, 0xdd, 0xe9, 0x09, 0x03, 0x1d, 0x5e, 0x40, + 0x92, 0x4a, 0x04, 0x7b, 0x6c, 0x38, 0x39, 0x6c, 0x01, 0x25, 0xe4, 0x7f, 0xf5, 0xd6, 0x27, 0x63, + 0xec, 0xe1, 0x10, 0xe1, 0x2a, 0x65, 0xcf, 0xad, 0xcf, 0x33, 0xa4, 0x75, 0xc5, 0x41, 0x25, 0xb4, + 0x09, 0x5f, 0xd2, 0x95, 0x33, 0x5d, 0x5d, 0x28, 0xa9, 0x05, 0x7b, 0x44, 0x9b, 0x4e, 0x7e, 0x8d, + 0xac, 0x93, 0x8d, 0x0b, 0x5b, 0xd7, 0xa2, 0x89, 0xd3, 0x88, 0x1c, 0x6d, 0x7b, 0xe9, 0xe4, 0xc7, + 0xf5, 0xda, 0xe7, 0xdf, 0x5f, 0xda, 0xa4, 0xeb, 0x79, 0xe1, 0x03, 0x7a, 0x11, 0x85, 0x9f, 0x66, + 0x90, 0x78, 0x33, 0x76, 0x99, 0x36, 0x73, 0xd5, 0xaf, 0x32, 0x81, 0xaa, 0x4b, 0x5d, 0xff, 0xc4, + 0x18, 0xad, 0x4b, 0xc8, 0xc5, 0xda, 0x02, 0x76, 0xb1, 0x0e, 0x77, 0xe8, 0xf2, 0x18, 0xdf, 0xc7, + 0xe2, 0xb4, 0x6e, 0x6d, 0x7d, 0xa8, 0x2b, 0xe7, 0x84, 0x42, 0x0a, 0x02, 0xc3, 0x95, 0x31, 0x95, + 0xd1, 0x9d, 0x77, 0xfd, 0x24, 0x7c, 0xd3, 0x6b, 0x77, 0x68, 0xc3, 0x52, 0xec, 0x8d, 0x17, 0x67, + 0x89, 0x3b, 0xe4, 0xd6, 0xf7, 0x45, 0xda, 0x40, 0x25, 0xf6, 0x91, 0xd0, 0xa6, 0x9b, 0x05, 0xdb, + 0x3c, 0x87, 0xf8, 0xef, 0xf0, 0x5b, 0xed, 0x79, 0xa0, 0x2e, 0x5e, 0x78, 0xf7, 0xed, 0xd7, 0x5f, + 0xef, 0x17, 0x3a, 0x8c, 0xf3, 0x1d, 0x11, 0x0b, 0x69, 0x4a, 0xc8, 0x1e, 0x43, 0xd9, 0xdf, 0x85, + 0x5c, 0xf0, 0x69, 0xdf, 0x07, 0xfb, 0x44, 0x68, 0xdd, 0x86, 0x66, 0x37, 0xa7, 0xb9, 0x8d, 0xad, + 0xa9, 0xb5, 0x31, 0x1b, 0xe8, 0x43, 0x3d, 0xc1, 0x50, 0x0f, 0xd9, 0xfd, 0xb9, 0x43, 0xe1, 0x71, + 0xe4, 0xf6, 0x7e, 0xcc, 0x8f, 0xec, 0xaa, 0x8f, 0xd9, 0x07, 0x42, 0x1b, 0xb8, 0x0c, 0x36, 0xd3, + 0x7a, 0x34, 0xbb, 0xcd, 0x39, 0x90, 0x3e, 0xe5, 0x1d, 0x4c, 0x79, 0x8b, 0x45, 0xff, 0x95, 0x52, + 0x6f, 0xbf, 0x38, 0x19, 0x04, 0xe4, 0x74, 0x10, 0x90, 0x9f, 0x83, 0x80, 0xbc, 0x1b, 0x06, 0xb5, + 0xd3, 0x61, 0x50, 0xfb, 0x36, 0x0c, 0x6a, 0xaf, 0xee, 0x25, 0xa9, 0xd9, 0xaf, 0x7a, 0x51, 0xac, + 0xf2, 0xa9, 0x9a, 0x6f, 0xce, 0xa8, 0x9a, 0xc3, 0x42, 0xe8, 0x5e, 0x13, 0x7f, 0xc7, 0xdb, 0x7f, + 0x02, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x17, 0x52, 0x86, 0x83, 0x04, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -160,6 +350,10 @@ const _ = grpc.SupportPackageIsVersion4 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 Flag items. + Flag(ctx context.Context, in *QueryFlagRequest, opts ...grpc.CallOption) (*QueryFlagResponse, error) + // Queries a list of Flags items. + Flags(ctx context.Context, in *QueryFlagsRequest, opts ...grpc.CallOption) (*QueryFlagsResponse, error) } type queryClient struct { @@ -179,10 +373,32 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . return out, nil } +func (c *queryClient) Flag(ctx context.Context, in *QueryFlagRequest, opts ...grpc.CallOption) (*QueryFlagResponse, error) { + out := new(QueryFlagResponse) + err := c.cc.Invoke(ctx, "/cardchain.featureflag.Query/Flag", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) Flags(ctx context.Context, in *QueryFlagsRequest, opts ...grpc.CallOption) (*QueryFlagsResponse, error) { + out := new(QueryFlagsResponse) + err := c.cc.Invoke(ctx, "/cardchain.featureflag.Query/Flags", 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 Flag items. + Flag(context.Context, *QueryFlagRequest) (*QueryFlagResponse, error) + // Queries a list of Flags items. + Flags(context.Context, *QueryFlagsRequest) (*QueryFlagsResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -192,6 +408,12 @@ 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) Flag(ctx context.Context, req *QueryFlagRequest) (*QueryFlagResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Flag not implemented") +} +func (*UnimplementedQueryServer) Flags(ctx context.Context, req *QueryFlagsRequest) (*QueryFlagsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Flags not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -215,6 +437,42 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +func _Query_Flag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryFlagRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Flag(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.featureflag.Query/Flag", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Flag(ctx, req.(*QueryFlagRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_Flags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryFlagsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Flags(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.featureflag.Query/Flags", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Flags(ctx, req.(*QueryFlagsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.featureflag.Query", @@ -224,6 +482,14 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Params", Handler: _Query_Params_Handler, }, + { + MethodName: "Flag", + Handler: _Query_Flag_Handler, + }, + { + MethodName: "Flags", + Handler: _Query_Flags_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/featureflag/query.proto", @@ -285,6 +551,138 @@ func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *QueryFlagRequest) 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 *QueryFlagRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryFlagRequest) 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 *QueryFlagResponse) 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 *QueryFlagResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryFlagResponse) 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 *QueryFlagsRequest) 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 *QueryFlagsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryFlagsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryFlagsResponse) 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 *QueryFlagsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryFlagsResponse) 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 @@ -316,18 +714,72 @@ func (m *QueryParamsResponse) Size() (n int) { 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 *QueryFlagRequest) 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 *QueryParamsRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 + +func (m *QueryFlagResponse) 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 *QueryFlagsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryFlagsResponse) 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 @@ -455,6 +907,340 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryFlagRequest) 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: QueryFlagRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryFlagRequest: 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 *QueryFlagResponse) 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: QueryFlagResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryFlagResponse: 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 *QueryFlagsRequest) 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: QueryFlagsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryFlagsRequest: 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 *QueryFlagsResponse) 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: QueryFlagsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryFlagsResponse: 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 diff --git a/x/featureflag/types/query.pb.gw.go b/x/featureflag/types/query.pb.gw.go index 61698ff0..7087e344 100644 --- a/x/featureflag/types/query.pb.gw.go +++ b/x/featureflag/types/query.pb.gw.go @@ -51,6 +51,100 @@ func local_request_Query_Params_0(ctx context.Context, marshaler runtime.Marshal } +func request_Query_Flag_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryFlagRequest + 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.Flag(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Flag_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryFlagRequest + 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.Flag(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_Flags_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryFlagsRequest + var metadata runtime.ServerMetadata + + msg, err := client.Flags(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Flags_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryFlagsRequest + var metadata runtime.ServerMetadata + + msg, err := server.Flags(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. @@ -80,6 +174,52 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_Flag_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_Flag_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_Flag_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Flags_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_Flags_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_Flags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -141,13 +281,61 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_Flag_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_Flag_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_Flag_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Flags_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_Flags_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_Flags_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(false))) + + pattern_Query_Flag_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", "flag", "module", "name"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_Flags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"DecentralCardGame", "cardchain", "featureflag", "flags"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( forward_Query_Params_0 = runtime.ForwardResponseMessage + + forward_Query_Flag_0 = runtime.ForwardResponseMessage + + forward_Query_Flags_0 = runtime.ForwardResponseMessage ) From 6db94c3b074ecaf49853b875f1e0fa365e2b7813 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 18 Feb 2025 14:07:21 +0100 Subject: [PATCH 73/99] feat(#242): Added ff proposal --- api/cardchain/featureflag/tx.pulsar.go | 1147 ++++++++++++++++++++++- api/cardchain/featureflag/tx_grpc.pb.go | 37 + config.yml | 6 + docs/static/openapi.yml | 2 +- gen.sh | 3 +- proto/cardchain/featureflag/tx.proto | 28 +- x/featureflag/keeper/msg_server_set.go | 30 + x/featureflag/module/autocli.go | 6 + x/featureflag/module/simulation.go | 25 +- x/featureflag/simulation/set.go | 29 + x/featureflag/types/codec.go | 3 + x/featureflag/types/message_set.go | 26 + x/featureflag/types/message_set_test.go | 40 + x/featureflag/types/tx.pb.go | 497 +++++++++- 14 files changed, 1824 insertions(+), 55 deletions(-) create mode 100644 x/featureflag/keeper/msg_server_set.go create mode 100644 x/featureflag/simulation/set.go create mode 100644 x/featureflag/types/message_set.go create mode 100644 x/featureflag/types/message_set_test.go diff --git a/api/cardchain/featureflag/tx.pulsar.go b/api/cardchain/featureflag/tx.pulsar.go index 0cef5f49..170d9381 100644 --- a/api/cardchain/featureflag/tx.pulsar.go +++ b/api/cardchain/featureflag/tx.pulsar.go @@ -871,6 +871,964 @@ func (x *fastReflection_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Meth } } +var ( + md_MsgSet protoreflect.MessageDescriptor + fd_MsgSet_authority protoreflect.FieldDescriptor + fd_MsgSet_module protoreflect.FieldDescriptor + fd_MsgSet_name protoreflect.FieldDescriptor + fd_MsgSet_value protoreflect.FieldDescriptor +) + +func init() { + file_cardchain_featureflag_tx_proto_init() + md_MsgSet = File_cardchain_featureflag_tx_proto.Messages().ByName("MsgSet") + fd_MsgSet_authority = md_MsgSet.Fields().ByName("authority") + fd_MsgSet_module = md_MsgSet.Fields().ByName("module") + fd_MsgSet_name = md_MsgSet.Fields().ByName("name") + fd_MsgSet_value = md_MsgSet.Fields().ByName("value") +} + +var _ protoreflect.Message = (*fastReflection_MsgSet)(nil) + +type fastReflection_MsgSet MsgSet + +func (x *MsgSet) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSet)(x) +} + +func (x *MsgSet) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_tx_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSet_messageType fastReflection_MsgSet_messageType +var _ protoreflect.MessageType = fastReflection_MsgSet_messageType{} + +type fastReflection_MsgSet_messageType struct{} + +func (x fastReflection_MsgSet_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSet)(nil) +} +func (x fastReflection_MsgSet_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSet) +} +func (x fastReflection_MsgSet_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSet +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSet) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSet +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSet) Type() protoreflect.MessageType { + return _fastReflection_MsgSet_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSet) New() protoreflect.Message { + return new(fastReflection_MsgSet) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSet) Interface() protoreflect.ProtoMessage { + return (*MsgSet)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSet) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgSet_authority, value) { + return + } + } + if x.Module != "" { + value := protoreflect.ValueOfString(x.Module) + if !f(fd_MsgSet_module, value) { + return + } + } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_MsgSet_name, value) { + return + } + } + if x.Value != false { + value := protoreflect.ValueOfBool(x.Value) + if !f(fd_MsgSet_value, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSet) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cardchain.featureflag.MsgSet.authority": + return x.Authority != "" + case "cardchain.featureflag.MsgSet.module": + return x.Module != "" + case "cardchain.featureflag.MsgSet.name": + return x.Name != "" + case "cardchain.featureflag.MsgSet.value": + return x.Value != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgSet")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgSet does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSet) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cardchain.featureflag.MsgSet.authority": + x.Authority = "" + case "cardchain.featureflag.MsgSet.module": + x.Module = "" + case "cardchain.featureflag.MsgSet.name": + x.Name = "" + case "cardchain.featureflag.MsgSet.value": + x.Value = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgSet")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgSet does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSet) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cardchain.featureflag.MsgSet.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "cardchain.featureflag.MsgSet.module": + value := x.Module + return protoreflect.ValueOfString(value) + case "cardchain.featureflag.MsgSet.name": + value := x.Name + return protoreflect.ValueOfString(value) + case "cardchain.featureflag.MsgSet.value": + value := x.Value + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgSet")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgSet does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSet) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cardchain.featureflag.MsgSet.authority": + x.Authority = value.Interface().(string) + case "cardchain.featureflag.MsgSet.module": + x.Module = value.Interface().(string) + case "cardchain.featureflag.MsgSet.name": + x.Name = value.Interface().(string) + case "cardchain.featureflag.MsgSet.value": + x.Value = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgSet")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgSet does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSet) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.MsgSet.authority": + panic(fmt.Errorf("field authority of message cardchain.featureflag.MsgSet is not mutable")) + case "cardchain.featureflag.MsgSet.module": + panic(fmt.Errorf("field module of message cardchain.featureflag.MsgSet is not mutable")) + case "cardchain.featureflag.MsgSet.name": + panic(fmt.Errorf("field name of message cardchain.featureflag.MsgSet is not mutable")) + case "cardchain.featureflag.MsgSet.value": + panic(fmt.Errorf("field value of message cardchain.featureflag.MsgSet is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgSet")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgSet does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSet) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cardchain.featureflag.MsgSet.authority": + return protoreflect.ValueOfString("") + case "cardchain.featureflag.MsgSet.module": + return protoreflect.ValueOfString("") + case "cardchain.featureflag.MsgSet.name": + return protoreflect.ValueOfString("") + case "cardchain.featureflag.MsgSet.value": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgSet")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgSet does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSet) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.MsgSet", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSet) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSet) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSet) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSet) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSet) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Module) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Value { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSet) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Value { + i-- + if x.Value { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0x1a + } + if len(x.Module) > 0 { + i -= len(x.Module) + copy(dAtA[i:], x.Module) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Module))) + i-- + dAtA[i] = 0x12 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSet) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Module", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Module = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Value = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgSetResponse protoreflect.MessageDescriptor +) + +func init() { + file_cardchain_featureflag_tx_proto_init() + md_MsgSetResponse = File_cardchain_featureflag_tx_proto.Messages().ByName("MsgSetResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetResponse)(nil) + +type fastReflection_MsgSetResponse MsgSetResponse + +func (x *MsgSetResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetResponse)(x) +} + +func (x *MsgSetResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cardchain_featureflag_tx_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgSetResponse_messageType fastReflection_MsgSetResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetResponse_messageType{} + +type fastReflection_MsgSetResponse_messageType struct{} + +func (x fastReflection_MsgSetResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetResponse)(nil) +} +func (x fastReflection_MsgSetResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetResponse) +} +func (x fastReflection_MsgSetResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgSetResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgSetResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgSetResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgSetResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgSetResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgSetResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgSetResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgSetResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgSetResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgSetResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgSetResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgSetResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgSetResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgSetResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgSetResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.featureflag.MsgSetResponse")) + } + panic(fmt.Errorf("message cardchain.featureflag.MsgSetResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgSetResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cardchain.featureflag.MsgSetResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgSetResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgSetResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgSetResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgSetResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgSetResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgSetResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -890,10 +1848,9 @@ type MsgUpdateParams struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // authority is the address that controls the module (defaults to x/gov unless overwritten). + // authority is the address that controls the module (defaults to x/gov unless + // overwritten). Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // params defines the module parameters to update. - // // NOTE: All parameters must be supplied. Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` } @@ -960,6 +1917,91 @@ func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { return file_cardchain_featureflag_tx_proto_rawDescGZIP(), []int{1} } +type MsgSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + Module string `protobuf:"bytes,2,opt,name=module,proto3" json:"module,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Value bool `protobuf:"varint,4,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *MsgSet) Reset() { + *x = MsgSet{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_tx_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSet) ProtoMessage() {} + +// Deprecated: Use MsgSet.ProtoReflect.Descriptor instead. +func (*MsgSet) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_tx_proto_rawDescGZIP(), []int{2} +} + +func (x *MsgSet) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgSet) GetModule() string { + if x != nil { + return x.Module + } + return "" +} + +func (x *MsgSet) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MsgSet) GetValue() bool { + if x != nil { + return x.Value + } + return false +} + +type MsgSetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgSetResponse) Reset() { + *x = MsgSetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cardchain_featureflag_tx_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSetResponse) ProtoMessage() {} + +// Deprecated: Use MsgSetResponse.ProtoReflect.Descriptor instead. +func (*MsgSetResponse) Descriptor() ([]byte, []int) { + return file_cardchain_featureflag_tx_proto_rawDescGZIP(), []int{3} +} + var File_cardchain_featureflag_tx_proto protoreflect.FileDescriptor var file_cardchain_featureflag_tx_proto_rawDesc = []byte{ @@ -988,29 +2030,44 @@ var file_cardchain_featureflag_tx_proto_rawDesc = []byte{ 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x74, 0x0a, - 0x03, 0x4d, 0x73, 0x67, 0x12, 0x66, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2e, 0x2e, 0x63, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x01, + 0x0a, 0x06, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, + 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x22, 0x10, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xc1, 0x01, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x66, 0x0a, 0x0c, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, - 0xb0, 0x2a, 0x01, 0x42, 0xdb, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, - 0x67, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xa2, 0x02, - 0x03, 0x43, 0x46, 0x58, 0xaa, 0x02, 0x15, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xca, 0x02, 0x15, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x66, 0x6c, 0x61, 0x67, 0xe2, 0x02, 0x21, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x43, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, - 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x2e, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x1d, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, + 0x6c, 0x61, 0x67, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, + 0x61, 0x67, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xdb, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, + 0x6c, 0x61, 0x67, 0xa2, 0x02, 0x03, 0x43, 0x46, 0x58, 0xaa, 0x02, 0x15, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, + 0x67, 0xca, 0x02, 0x15, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xe2, 0x02, 0x21, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x66, 0x6c, 0x61, + 0x67, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, + 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1025,18 +2082,22 @@ func file_cardchain_featureflag_tx_proto_rawDescGZIP() []byte { return file_cardchain_featureflag_tx_proto_rawDescData } -var file_cardchain_featureflag_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_cardchain_featureflag_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_cardchain_featureflag_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: cardchain.featureflag.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: cardchain.featureflag.MsgUpdateParamsResponse - (*Params)(nil), // 2: cardchain.featureflag.Params + (*MsgSet)(nil), // 2: cardchain.featureflag.MsgSet + (*MsgSetResponse)(nil), // 3: cardchain.featureflag.MsgSetResponse + (*Params)(nil), // 4: cardchain.featureflag.Params } var file_cardchain_featureflag_tx_proto_depIdxs = []int32{ - 2, // 0: cardchain.featureflag.MsgUpdateParams.params:type_name -> cardchain.featureflag.Params + 4, // 0: cardchain.featureflag.MsgUpdateParams.params:type_name -> cardchain.featureflag.Params 0, // 1: cardchain.featureflag.Msg.UpdateParams:input_type -> cardchain.featureflag.MsgUpdateParams - 1, // 2: cardchain.featureflag.Msg.UpdateParams:output_type -> cardchain.featureflag.MsgUpdateParamsResponse - 2, // [2:3] is the sub-list for method output_type - 1, // [1:2] is the sub-list for method input_type + 2, // 2: cardchain.featureflag.Msg.Set:input_type -> cardchain.featureflag.MsgSet + 1, // 3: cardchain.featureflag.Msg.UpdateParams:output_type -> cardchain.featureflag.MsgUpdateParamsResponse + 3, // 4: cardchain.featureflag.Msg.Set:output_type -> cardchain.featureflag.MsgSetResponse + 3, // [3:5] is the sub-list for method output_type + 1, // [1:3] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name @@ -1073,6 +2134,30 @@ func file_cardchain_featureflag_tx_proto_init() { return nil } } + file_cardchain_featureflag_tx_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cardchain_featureflag_tx_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1080,7 +2165,7 @@ func file_cardchain_featureflag_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cardchain_featureflag_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 2, + NumMessages: 4, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cardchain/featureflag/tx_grpc.pb.go b/api/cardchain/featureflag/tx_grpc.pb.go index 95442cac..b0fc826f 100644 --- a/api/cardchain/featureflag/tx_grpc.pb.go +++ b/api/cardchain/featureflag/tx_grpc.pb.go @@ -20,6 +20,7 @@ const _ = grpc.SupportPackageIsVersion7 const ( Msg_UpdateParams_FullMethodName = "/cardchain.featureflag.Msg/UpdateParams" + Msg_Set_FullMethodName = "/cardchain.featureflag.Msg/Set" ) // MsgClient is the client API for Msg service. @@ -29,6 +30,7 @@ type MsgClient interface { // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + Set(ctx context.Context, in *MsgSet, opts ...grpc.CallOption) (*MsgSetResponse, error) } type msgClient struct { @@ -48,6 +50,15 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts return out, nil } +func (c *msgClient) Set(ctx context.Context, in *MsgSet, opts ...grpc.CallOption) (*MsgSetResponse, error) { + out := new(MsgSetResponse) + err := c.cc.Invoke(ctx, Msg_Set_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -55,6 +66,7 @@ type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + Set(context.Context, *MsgSet) (*MsgSetResponse, error) mustEmbedUnimplementedMsgServer() } @@ -65,6 +77,9 @@ type UnimplementedMsgServer struct { func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } +func (UnimplementedMsgServer) Set(context.Context, *MsgSet) (*MsgSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Set not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -96,6 +111,24 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Msg_Set_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).Set(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_Set_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).Set(ctx, req.(*MsgSet)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -107,6 +140,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "Set", + Handler: _Msg_Set_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/featureflag/tx.proto", diff --git a/config.yml b/config.yml index e6851cec..8149f376 100644 --- a/config.yml +++ b/config.yml @@ -61,6 +61,12 @@ genesis: runningAverages: - arr: [0] - arr: [0] + featureflag: + flags: + cardchain-council: + { "Module": "cardchain", "Name": "council", "Set": true } + cardchain-matches: + { "Module": "cardchain", "Name": "matches", "Set": true } crisis: constant_fee: amount: "1000" diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 8f0261a5..1d9a16a9 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"type":"string"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"string"}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/gen.sh b/gen.sh index a0c6712e..9cc594e0 100755 --- a/gen.sh +++ b/gen.sh @@ -52,4 +52,5 @@ #ignite scaffold message CardBan cardId:uint --signer authority -y #ignite scaffold message EarlyAccessGrant user --signer authority -y #ignite scaffold message SetActivate setId:uint --signer authority -y -ignite scaffold message CardCopyrightClaim cardId:uint --signer authority -y +#ignite scaffold message CardCopyrightClaim cardId:uint --signer authority -y +ignite scaffold message Set module name value:bool --signer authority --module featureflag -y diff --git a/proto/cardchain/featureflag/tx.proto b/proto/cardchain/featureflag/tx.proto index 636a7189..150e579b 100644 --- a/proto/cardchain/featureflag/tx.proto +++ b/proto/cardchain/featureflag/tx.proto @@ -1,4 +1,5 @@ syntax = "proto3"; + package cardchain.featureflag; import "amino/amino.proto"; @@ -16,25 +17,34 @@ service Msg { // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); + rpc Set(MsgSet) returns (MsgSetResponse); } - // MsgUpdateParams is the Msg/UpdateParams request type. message MsgUpdateParams { option (cosmos.msg.v1.signer) = "authority"; option (amino.name) = "cardchain/x/featureflag/MsgUpdateParams"; - // authority is the address that controls the module (defaults to x/gov unless overwritten). - string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + // authority is the address that controls the module (defaults to x/gov unless + // overwritten). + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; // params defines the module parameters to update. - // + // NOTE: All parameters must be supplied. - Params params = 2 [ - (gogoproto.nullable) = false, - (amino.dont_omitempty) = true - ]; + Params params = 2 + [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; } // MsgUpdateParamsResponse defines the response structure for executing a // MsgUpdateParams message. -message MsgUpdateParamsResponse {} \ No newline at end of file +message MsgUpdateParamsResponse {} + +message MsgSet { + option (cosmos.msg.v1.signer) = "authority"; + string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + string module = 2; + string name = 3; + bool value = 4; +} + +message MsgSetResponse {} diff --git a/x/featureflag/keeper/msg_server_set.go b/x/featureflag/keeper/msg_server_set.go new file mode 100644 index 00000000..72cb4d73 --- /dev/null +++ b/x/featureflag/keeper/msg_server_set.go @@ -0,0 +1,30 @@ +package keeper + +import ( + "context" + + errorsmod "cosmossdk.io/errors" + "github.com/DecentralCardGame/cardchain/x/featureflag/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) Set(goCtx context.Context, msg *types.MsgSet) (*types.MsgSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + if k.authority != msg.Authority { + return nil, errorsmod.Wrapf(types.ErrInvalidSigner, "expected %s got %s", k.authority, msg.Authority) + } + + err := k.FlagExists(msg.Module, msg.Name) + if err != nil { + return nil, err + } + + key := GetKey(msg.Module, msg.Name) + + flag := k.GetFlag(ctx, key) + flag.Set = msg.Value + k.SetFlag(ctx, key, flag) + + return &types.MsgSetResponse{}, nil +} diff --git a/x/featureflag/module/autocli.go b/x/featureflag/module/autocli.go index 13363d10..e4dbeb1d 100644 --- a/x/featureflag/module/autocli.go +++ b/x/featureflag/module/autocli.go @@ -42,6 +42,12 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { RpcMethod: "UpdateParams", Skip: true, // skipped because authority gated }, + { + RpcMethod: "Set", + Use: "set [module] [name] [value]", + Short: "Send a Set tx", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "module"}, {ProtoField: "name"}, {ProtoField: "value"}}, + }, // this line is used by ignite scaffolding # autocli/tx }, }, diff --git a/x/featureflag/module/simulation.go b/x/featureflag/module/simulation.go index 0b26081d..23f25eb6 100644 --- a/x/featureflag/module/simulation.go +++ b/x/featureflag/module/simulation.go @@ -23,7 +23,11 @@ var ( ) const ( -// this line is used by starport scaffolding # simapp/module/const + opWeightMsgSet = "op_weight_msg_set" + // TODO: Determine the simulation weight value + defaultWeightMsgSet int = 100 + + // this line is used by starport scaffolding # simapp/module/const ) // GenerateGenesisState creates a randomized GenState of the module. @@ -46,6 +50,17 @@ func (am AppModule) RegisterStoreDecoder(_ simtypes.StoreDecoderRegistry) {} func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation { operations := make([]simtypes.WeightedOperation, 0) + var weightMsgSet int + simState.AppParams.GetOrGenerate(opWeightMsgSet, &weightMsgSet, nil, + func(_ *rand.Rand) { + weightMsgSet = defaultWeightMsgSet + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSet, + featureflagsimulation.SimulateMsgSet(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations @@ -54,6 +69,14 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp // ProposalMsgs returns msgs used for governance proposals for simulations. func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.WeightedProposalMsg { return []simtypes.WeightedProposalMsg{ + simulation.NewWeightedProposalMsg( + opWeightMsgSet, + defaultWeightMsgSet, + func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg { + featureflagsimulation.SimulateMsgSet(am.accountKeeper, am.bankKeeper, am.keeper) + return nil + }, + ), // this line is used by starport scaffolding # simapp/module/OpMsg } } diff --git a/x/featureflag/simulation/set.go b/x/featureflag/simulation/set.go new file mode 100644 index 00000000..75f8d2a7 --- /dev/null +++ b/x/featureflag/simulation/set.go @@ -0,0 +1,29 @@ +package simulation + +import ( + "math/rand" + + "github.com/DecentralCardGame/cardchain/x/featureflag/keeper" + "github.com/DecentralCardGame/cardchain/x/featureflag/types" + "github.com/cosmos/cosmos-sdk/baseapp" + sdk "github.com/cosmos/cosmos-sdk/types" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" +) + +func SimulateMsgSet( + 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.MsgSet{ + Authority: simAccount.Address.String(), + } + + // TODO: Handling the Set simulation + + return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "Set simulation not implemented"), nil, nil + } +} diff --git a/x/featureflag/types/codec.go b/x/featureflag/types/codec.go index ac552637..f599bbf1 100644 --- a/x/featureflag/types/codec.go +++ b/x/featureflag/types/codec.go @@ -8,6 +8,9 @@ import ( ) func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSet{}, + ) // this line is used by starport scaffolding # 3 registry.RegisterImplementations((*sdk.Msg)(nil), diff --git a/x/featureflag/types/message_set.go b/x/featureflag/types/message_set.go new file mode 100644 index 00000000..04316f1f --- /dev/null +++ b/x/featureflag/types/message_set.go @@ -0,0 +1,26 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgSet{} + +func NewMsgSet(authority string, module string, name string, value bool) *MsgSet { + return &MsgSet{ + Authority: authority, + Module: module, + Name: name, + Value: value, + } +} + +func (msg *MsgSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Authority) + if err != nil { + return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid authority address (%s)", err) + } + return nil +} diff --git a/x/featureflag/types/message_set_test.go b/x/featureflag/types/message_set_test.go new file mode 100644 index 00000000..e95c104e --- /dev/null +++ b/x/featureflag/types/message_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSet + err error + }{ + { + name: "invalid address", + msg: MsgSet{ + Authority: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSet{ + Authority: 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/featureflag/types/tx.pb.go b/x/featureflag/types/tx.pb.go index af61eaab..1c71bd2f 100644 --- a/x/featureflag/types/tx.pb.go +++ b/x/featureflag/types/tx.pb.go @@ -33,10 +33,9 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // MsgUpdateParams is the Msg/UpdateParams request type. type MsgUpdateParams struct { - // authority is the address that controls the module (defaults to x/gov unless overwritten). + // authority is the address that controls the module (defaults to x/gov unless + // overwritten). Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // params defines the module parameters to update. - // // NOTE: All parameters must be supplied. Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` } @@ -126,15 +125,121 @@ func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo +type MsgSet struct { + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + Module string `protobuf:"bytes,2,opt,name=module,proto3" json:"module,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Value bool `protobuf:"varint,4,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *MsgSet) Reset() { *m = MsgSet{} } +func (m *MsgSet) String() string { return proto.CompactTextString(m) } +func (*MsgSet) ProtoMessage() {} +func (*MsgSet) Descriptor() ([]byte, []int) { + return fileDescriptor_b6585a6310f99dc0, []int{2} +} +func (m *MsgSet) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSet.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 *MsgSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSet.Merge(m, src) +} +func (m *MsgSet) XXX_Size() int { + return m.Size() +} +func (m *MsgSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSet.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSet proto.InternalMessageInfo + +func (m *MsgSet) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgSet) GetModule() string { + if m != nil { + return m.Module + } + return "" +} + +func (m *MsgSet) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *MsgSet) GetValue() bool { + if m != nil { + return m.Value + } + return false +} + +type MsgSetResponse struct { +} + +func (m *MsgSetResponse) Reset() { *m = MsgSetResponse{} } +func (m *MsgSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetResponse) ProtoMessage() {} +func (*MsgSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_b6585a6310f99dc0, []int{3} +} +func (m *MsgSetResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetResponse.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 *MsgSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetResponse.Merge(m, src) +} +func (m *MsgSetResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSetResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgUpdateParams)(nil), "cardchain.featureflag.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cardchain.featureflag.MsgUpdateParamsResponse") + proto.RegisterType((*MsgSet)(nil), "cardchain.featureflag.MsgSet") + proto.RegisterType((*MsgSetResponse)(nil), "cardchain.featureflag.MsgSetResponse") } func init() { proto.RegisterFile("cardchain/featureflag/tx.proto", fileDescriptor_b6585a6310f99dc0) } var fileDescriptor_b6585a6310f99dc0 = []byte{ - // 358 bytes of a gzipped FileDescriptorProto + // 452 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, 0x12, 0x85, 0xcb, 0xeb, 0x21, @@ -150,14 +255,20 @@ var fileDescriptor_b6585a6310f99dc0 = []byte{ 0x13, 0xe7, 0x89, 0x7b, 0xf2, 0x0c, 0x2b, 0x9e, 0x6f, 0xd0, 0x62, 0x0c, 0x82, 0xea, 0xb3, 0xb2, 0x6a, 0x7a, 0xbe, 0x41, 0x0b, 0x61, 0x62, 0xd7, 0xf3, 0x0d, 0x5a, 0xea, 0x08, 0x4f, 0x54, 0xa0, 0x78, 0x03, 0xcd, 0xd5, 0x4a, 0x92, 0x5c, 0xe2, 0x68, 0x42, 0x41, 0xa9, 0xc5, 0x05, 0xf9, 0x79, - 0xc5, 0xa9, 0x46, 0x25, 0x5c, 0xcc, 0xbe, 0xc5, 0xe9, 0x42, 0x69, 0x5c, 0x3c, 0x28, 0xfe, 0x54, - 0xc3, 0xe1, 0x3e, 0x34, 0x63, 0xa4, 0xf4, 0x88, 0x53, 0x07, 0xb3, 0x4e, 0x8a, 0xb5, 0x01, 0xe4, - 0x29, 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, 0x77, 0x49, 0x4d, 0x4e, 0xcd, 0x2b, 0x29, - 0x4a, 0xcc, 0x71, 0x4e, 0x2c, 0x4a, 0x71, 0x4f, 0xcc, 0x4d, 0xd5, 0xc7, 0xe5, 0xe1, 0x92, 0xca, - 0x82, 0xd4, 0xe2, 0x24, 0x36, 0x70, 0xbc, 0x19, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xc8, 0x68, - 0x9e, 0x27, 0x71, 0x02, 0x00, 0x00, + 0xc5, 0xa9, 0x4a, 0x93, 0x18, 0xb9, 0xd8, 0x7c, 0x8b, 0xd3, 0x83, 0x53, 0x4b, 0xc8, 0xf6, 0x9b, + 0x18, 0x17, 0x5b, 0x6e, 0x7e, 0x4a, 0x69, 0x4e, 0x2a, 0xd8, 0x6f, 0x9c, 0x41, 0x50, 0x9e, 0x90, + 0x10, 0x17, 0x4b, 0x5e, 0x62, 0x6e, 0xaa, 0x04, 0x33, 0x58, 0x14, 0xcc, 0x16, 0x12, 0xe1, 0x62, + 0x2d, 0x4b, 0xcc, 0x29, 0x4d, 0x95, 0x60, 0x51, 0x60, 0xd4, 0xe0, 0x08, 0x82, 0x70, 0xac, 0xf8, + 0x50, 0xfd, 0xa6, 0x24, 0xc0, 0xc5, 0x07, 0x71, 0x13, 0xcc, 0x99, 0x46, 0x07, 0x19, 0xb9, 0x98, + 0x7d, 0x8b, 0xd3, 0x85, 0xd2, 0xb8, 0x78, 0x50, 0xe2, 0x43, 0x0d, 0x47, 0x38, 0xa2, 0x79, 0x57, + 0x4a, 0x8f, 0x38, 0x75, 0x30, 0xfb, 0x84, 0xbc, 0xb9, 0x98, 0x41, 0x41, 0x22, 0x8b, 0x5b, 0x5b, + 0x70, 0x6a, 0x89, 0x94, 0x2a, 0x5e, 0x69, 0x98, 0x61, 0x52, 0xac, 0x0d, 0xa0, 0x98, 0x74, 0x0a, + 0x39, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, + 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x28, 0xab, 0xf4, 0xcc, 0x92, 0x8c, + 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0x7d, 0x97, 0xd4, 0xe4, 0xd4, 0xbc, 0x92, 0xa2, 0xc4, 0x1c, + 0xe7, 0xc4, 0xa2, 0x14, 0xf7, 0xc4, 0xdc, 0x54, 0x7d, 0x5c, 0xb1, 0x5c, 0x52, 0x59, 0x90, 0x5a, + 0x9c, 0xc4, 0x06, 0x4e, 0xac, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd6, 0x41, 0xf8, 0x6d, + 0x66, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -175,6 +286,7 @@ type MsgClient interface { // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + Set(ctx context.Context, in *MsgSet, opts ...grpc.CallOption) (*MsgSetResponse, error) } type msgClient struct { @@ -194,11 +306,21 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts return out, nil } +func (c *msgClient) Set(ctx context.Context, in *MsgSet, opts ...grpc.CallOption) (*MsgSetResponse, error) { + out := new(MsgSetResponse) + err := c.cc.Invoke(ctx, "/cardchain.featureflag.Msg/Set", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // UpdateParams defines a (governance) operation for updating the module // parameters. The authority defaults to the x/gov module account. UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + Set(context.Context, *MsgSet) (*MsgSetResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -208,6 +330,9 @@ type UnimplementedMsgServer struct { func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } +func (*UnimplementedMsgServer) Set(ctx context.Context, req *MsgSet) (*MsgSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Set not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -231,6 +356,24 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Msg_Set_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSet) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).Set(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cardchain.featureflag.Msg/Set", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).Set(ctx, req.(*MsgSet)) + } + return interceptor(ctx, in, info, handler) +} + var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cardchain.featureflag.Msg", @@ -240,6 +383,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "Set", + Handler: _Msg_Set_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/featureflag/tx.proto", @@ -308,6 +455,83 @@ func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *MsgSet) 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 *MsgSet) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Value { + i-- + if m.Value { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + 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] = 0x1a + } + if len(m.Module) > 0 { + i -= len(m.Module) + copy(dAtA[i:], m.Module) + i = encodeVarintTx(dAtA, i, uint64(len(m.Module))) + i-- + dAtA[i] = 0x12 + } + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgSetResponse) 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 *MsgSetResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -343,6 +567,39 @@ func (m *MsgUpdateParamsResponse) Size() (n int) { return n } +func (m *MsgSet) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Module) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.Value { + n += 2 + } + return n +} + +func (m *MsgSetResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -514,6 +771,222 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgSet) 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: MsgSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Module", 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.Module = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + 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 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.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", 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.Value = 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 *MsgSetResponse) 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: MsgSetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From f03e458a4c51eb8c0885b7853f950cc65e3f2c2d Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 18 Feb 2025 16:03:01 +0100 Subject: [PATCH 74/99] fix: Added name to encounters, yes --- x/cardchain/keeper/msg_server_encounter_create.go | 1 + 1 file changed, 1 insertion(+) diff --git a/x/cardchain/keeper/msg_server_encounter_create.go b/x/cardchain/keeper/msg_server_encounter_create.go index a10df1f0..2c94be88 100644 --- a/x/cardchain/keeper/msg_server_encounter_create.go +++ b/x/cardchain/keeper/msg_server_encounter_create.go @@ -30,6 +30,7 @@ func (k msgServer) EncounterCreate(goCtx context.Context, msg *types.MsgEncounte encounter := types.Encounter{ Id: id, Drawlist: msg.Drawlist, + Name: msg.Name, Proven: false, Owner: msg.Creator, Parameters: msg.Parameters, From dc29b9a5e3cb703324be6e6087c51a94f4c12f05 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 18 Feb 2025 16:43:01 +0100 Subject: [PATCH 75/99] fix: Maybe fixed encouter picture --- .../cardchain/encounter_with_image.pulsar.go | 36 +- api/cardchain/cardchain/genesis.pulsar.go | 311 +++++++++++++----- docs/static/openapi.yml | 2 +- .../cardchain/encounter_with_image.proto | 2 +- proto/cardchain/cardchain/genesis.proto | 3 + .../keeper/query_encounter_with_image.go | 2 +- .../keeper/query_encounters_with_image.go | 2 +- x/cardchain/module/genesis.go | 4 + x/cardchain/types/encounter_with_image.pb.go | 26 +- x/cardchain/types/genesis.pb.go | 146 +++++--- 10 files changed, 380 insertions(+), 154 deletions(-) diff --git a/api/cardchain/cardchain/encounter_with_image.pulsar.go b/api/cardchain/cardchain/encounter_with_image.pulsar.go index 10ddcaa6..cff87a07 100644 --- a/api/cardchain/cardchain/encounter_with_image.pulsar.go +++ b/api/cardchain/cardchain/encounter_with_image.pulsar.go @@ -97,8 +97,8 @@ func (x *fastReflection_EncounterWithImage) Range(f func(protoreflect.FieldDescr return } } - if len(x.Image) != 0 { - value := protoreflect.ValueOfBytes(x.Image) + if x.Image != "" { + value := protoreflect.ValueOfString(x.Image) if !f(fd_EncounterWithImage_image, value) { return } @@ -121,7 +121,7 @@ func (x *fastReflection_EncounterWithImage) Has(fd protoreflect.FieldDescriptor) case "cardchain.cardchain.EncounterWithImage.encounter": return x.Encounter != nil case "cardchain.cardchain.EncounterWithImage.image": - return len(x.Image) != 0 + return x.Image != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) @@ -141,7 +141,7 @@ func (x *fastReflection_EncounterWithImage) Clear(fd protoreflect.FieldDescripto case "cardchain.cardchain.EncounterWithImage.encounter": x.Encounter = nil case "cardchain.cardchain.EncounterWithImage.image": - x.Image = nil + x.Image = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) @@ -163,7 +163,7 @@ func (x *fastReflection_EncounterWithImage) Get(descriptor protoreflect.FieldDes return protoreflect.ValueOfMessage(value.ProtoReflect()) case "cardchain.cardchain.EncounterWithImage.image": value := x.Image - return protoreflect.ValueOfBytes(value) + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) @@ -187,7 +187,7 @@ func (x *fastReflection_EncounterWithImage) Set(fd protoreflect.FieldDescriptor, case "cardchain.cardchain.EncounterWithImage.encounter": x.Encounter = value.Message().Interface().(*Encounter) case "cardchain.cardchain.EncounterWithImage.image": - x.Image = value.Bytes() + x.Image = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) @@ -232,7 +232,7 @@ func (x *fastReflection_EncounterWithImage) NewField(fd protoreflect.FieldDescri m := new(Encounter) return protoreflect.ValueOfMessage(m.ProtoReflect()) case "cardchain.cardchain.EncounterWithImage.image": - return protoreflect.ValueOfBytes(nil) + return protoreflect.ValueOfString("") default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.EncounterWithImage")) @@ -449,7 +449,7 @@ func (x *fastReflection_EncounterWithImage) ProtoMethods() *protoiface.Methods { if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) } - var byteLen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -459,25 +459,23 @@ func (x *fastReflection_EncounterWithImage) ProtoMethods() *protoiface.Methods { } 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + byteLen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Image = append(x.Image[:0], dAtA[iNdEx:postIndex]...) - if x.Image == nil { - x.Image = []byte{} - } + x.Image = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -533,7 +531,7 @@ type EncounterWithImage struct { unknownFields protoimpl.UnknownFields Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` - Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` } func (x *EncounterWithImage) Reset() { @@ -563,11 +561,11 @@ func (x *EncounterWithImage) GetEncounter() *Encounter { return nil } -func (x *EncounterWithImage) GetImage() []byte { +func (x *EncounterWithImage) GetImage() string { if x != nil { return x.Image } - return nil + return "" } var File_cardchain_cardchain_encounter_with_image_proto protoreflect.FileDescriptor @@ -587,7 +585,7 @@ var file_cardchain_cardchain_encounter_with_image_proto_rawDesc = []byte{ 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0xdf, 0x01, 0x0a, 0x17, 0x63, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0xdf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x17, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, diff --git a/api/cardchain/cardchain/genesis.pulsar.go b/api/cardchain/cardchain/genesis.pulsar.go index aef8d221..07d8b7d0 100644 --- a/api/cardchain/cardchain/genesis.pulsar.go +++ b/api/cardchain/cardchain/genesis.pulsar.go @@ -622,6 +622,57 @@ func (x *_GenesisState_17_list) IsValid() bool { return x.list != nil } +var _ protoreflect.List = (*_GenesisState_18_list)(nil) + +type _GenesisState_18_list struct { + list *[]*Encounter +} + +func (x *_GenesisState_18_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_18_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_18_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Encounter) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_18_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Encounter) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_18_list) AppendMutable() protoreflect.Value { + v := new(Encounter) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_18_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_18_list) NewElement() protoreflect.Value { + v := new(Encounter) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_18_list) IsValid() bool { + return x.list != nil +} + var ( md_GenesisState protoreflect.MessageDescriptor fd_GenesisState_params protoreflect.FieldDescriptor @@ -639,6 +690,7 @@ var ( fd_GenesisState_servers protoreflect.FieldDescriptor fd_GenesisState_lastCardModified protoreflect.FieldDescriptor fd_GenesisState_zealys protoreflect.FieldDescriptor + fd_GenesisState_encounters protoreflect.FieldDescriptor ) func init() { @@ -659,6 +711,7 @@ func init() { fd_GenesisState_servers = md_GenesisState.Fields().ByName("servers") fd_GenesisState_lastCardModified = md_GenesisState.Fields().ByName("lastCardModified") fd_GenesisState_zealys = md_GenesisState.Fields().ByName("zealys") + fd_GenesisState_encounters = md_GenesisState.Fields().ByName("encounters") } var _ protoreflect.Message = (*fastReflection_GenesisState)(nil) @@ -816,6 +869,12 @@ func (x *fastReflection_GenesisState) Range(f func(protoreflect.FieldDescriptor, return } } + if len(x.Encounters) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_18_list{list: &x.Encounters}) + if !f(fd_GenesisState_encounters, value) { + return + } + } } // Has reports whether a field is populated. @@ -861,6 +920,8 @@ func (x *fastReflection_GenesisState) Has(fd protoreflect.FieldDescriptor) bool return x.LastCardModified != nil case "cardchain.cardchain.GenesisState.zealys": return len(x.Zealys) != 0 + case "cardchain.cardchain.GenesisState.encounters": + return len(x.Encounters) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -907,6 +968,8 @@ func (x *fastReflection_GenesisState) Clear(fd protoreflect.FieldDescriptor) { x.LastCardModified = nil case "cardchain.cardchain.GenesisState.zealys": x.Zealys = nil + case "cardchain.cardchain.GenesisState.encounters": + x.Encounters = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -1004,6 +1067,12 @@ func (x *fastReflection_GenesisState) Get(descriptor protoreflect.FieldDescripto } listValue := &_GenesisState_17_list{list: &x.Zealys} return protoreflect.ValueOfList(listValue) + case "cardchain.cardchain.GenesisState.encounters": + if len(x.Encounters) == 0 { + return protoreflect.ValueOfList(&_GenesisState_18_list{}) + } + listValue := &_GenesisState_18_list{list: &x.Encounters} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -1078,6 +1147,10 @@ func (x *fastReflection_GenesisState) Set(fd protoreflect.FieldDescriptor, value lv := value.List() clv := lv.(*_GenesisState_17_list) x.Zealys = *clv.list + case "cardchain.cardchain.GenesisState.encounters": + lv := value.List() + clv := lv.(*_GenesisState_18_list) + x.Encounters = *clv.list default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -1185,6 +1258,12 @@ func (x *fastReflection_GenesisState) Mutable(fd protoreflect.FieldDescriptor) p } value := &_GenesisState_17_list{list: &x.Zealys} return protoreflect.ValueOfList(value) + case "cardchain.cardchain.GenesisState.encounters": + if x.Encounters == nil { + x.Encounters = []*Encounter{} + } + value := &_GenesisState_18_list{list: &x.Encounters} + return protoreflect.ValueOfList(value) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -1243,6 +1322,9 @@ func (x *fastReflection_GenesisState) NewField(fd protoreflect.FieldDescriptor) case "cardchain.cardchain.GenesisState.zealys": list := []*Zealy{} return protoreflect.ValueOfList(&_GenesisState_17_list{list: &list}) + case "cardchain.cardchain.GenesisState.encounters": + list := []*Encounter{} + return protoreflect.ValueOfList(&_GenesisState_18_list{list: &list}) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cardchain.cardchain.GenesisState")) @@ -1396,6 +1478,12 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { n += 2 + l + runtime.Sov(uint64(l)) } } + if len(x.Encounters) > 0 { + for _, e := range x.Encounters { + l = options.Size(e) + n += 2 + l + runtime.Sov(uint64(l)) + } + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -1425,6 +1513,24 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.Encounters) > 0 { + for iNdEx := len(x.Encounters) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Encounters[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + } if len(x.Zealys) > 0 { for iNdEx := len(x.Zealys) - 1; iNdEx >= 0; iNdEx-- { encoded, err := options.Marshal(x.Zealys[iNdEx]) @@ -2219,6 +2325,40 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex + case 18: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Encounters", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Encounters = append(x.Encounters, &Encounter{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Encounters[len(x.Encounters)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -2289,6 +2429,7 @@ type GenesisState struct { Servers []*Server `protobuf:"bytes,15,rep,name=servers,proto3" json:"servers,omitempty"` LastCardModified *TimeStamp `protobuf:"bytes,16,opt,name=lastCardModified,proto3" json:"lastCardModified,omitempty"` Zealys []*Zealy `protobuf:"bytes,17,rep,name=zealys,proto3" json:"zealys,omitempty"` + Encounters []*Encounter `protobuf:"bytes,18,rep,name=encounters,proto3" json:"encounters,omitempty"` // this line is used by starport scaffolding # genesis/proto/state } func (x *GenesisState) Reset() { @@ -2416,6 +2557,13 @@ func (x *GenesisState) GetZealys() []*Zealy { return nil } +func (x *GenesisState) GetEncounters() []*Encounter { + if x != nil { + return x.Encounters + } + return nil +} + var File_cardchain_cardchain_genesis_proto protoreflect.FileDescriptor var file_cardchain_cardchain_genesis_proto_rawDesc = []byte{ @@ -2448,79 +2596,85 @@ var file_cardchain_cardchain_genesis_proto_rawDesc = []byte{ 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6, 0x06, 0x0a, 0x0c, - 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x06, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3b, 0x0a, 0x0b, - 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x63, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x75, 0x73, 0x65, - 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x2c, - 0x0a, 0x04, 0x73, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x04, 0x73, 0x65, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0a, - 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x05, - 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x05, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x4b, 0x0a, - 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, - 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x63, 0x6f, - 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, - 0x63, 0x69, 0x6c, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x65, 0x72, 0x61, - 0x67, 0x65, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x65, 0x72, 0x61, - 0x67, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0e, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x50, - 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x10, - 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x12, 0x32, 0x0a, 0x06, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x06, 0x7a, 0x65, - 0x61, 0x6c, 0x79, 0x73, 0x42, 0xd4, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, + 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xb6, 0x07, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, + 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, + 0x64, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x2f, + 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x34, 0x0a, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x04, 0x73, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x04, 0x73, 0x65, 0x74, + 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x05, 0x70, 0x6f, 0x6f, + 0x6c, 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x63, 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x10, 0x63, + 0x61, 0x72, 0x64, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, + 0x38, 0x0a, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, + 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, + 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, + 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x07, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x73, 0x12, 0x50, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x04, 0xc8, + 0xde, 0x1f, 0x00, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x73, 0x18, + 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x5a, 0x65, 0x61, 0x6c, + 0x79, 0x52, 0x06, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x65, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x65, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x42, 0xd4, 0x01, 0x0a, 0x17, 0x63, 0x6f, + 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, + 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2551,6 +2705,7 @@ var file_cardchain_cardchain_genesis_proto_goTypes = []interface{}{ (*Server)(nil), // 11: cardchain.cardchain.Server (*TimeStamp)(nil), // 12: cardchain.cardchain.TimeStamp (*Zealy)(nil), // 13: cardchain.cardchain.Zealy + (*Encounter)(nil), // 14: cardchain.cardchain.Encounter } var file_cardchain_cardchain_genesis_proto_depIdxs = []int32{ 1, // 0: cardchain.cardchain.GenesisState.params:type_name -> cardchain.cardchain.Params @@ -2567,11 +2722,12 @@ var file_cardchain_cardchain_genesis_proto_depIdxs = []int32{ 11, // 11: cardchain.cardchain.GenesisState.servers:type_name -> cardchain.cardchain.Server 12, // 12: cardchain.cardchain.GenesisState.lastCardModified:type_name -> cardchain.cardchain.TimeStamp 13, // 13: cardchain.cardchain.GenesisState.zealys:type_name -> cardchain.cardchain.Zealy - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 14, // 14: cardchain.cardchain.GenesisState.encounters:type_name -> cardchain.cardchain.Encounter + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_cardchain_cardchain_genesis_proto_init() } @@ -2590,6 +2746,7 @@ func file_cardchain_cardchain_genesis_proto_init() { file_cardchain_cardchain_image_proto_init() file_cardchain_cardchain_server_proto_init() file_cardchain_cardchain_zealy_proto_init() + file_cardchain_cardchain_encounter_proto_init() if !protoimpl.UnsafeEnabled { file_cardchain_cardchain_genesis_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenesisState); i { diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 1d9a16a9..dbaecb4d 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/encounter_with_image.proto b/proto/cardchain/cardchain/encounter_with_image.proto index 35c52c18..0a35f44f 100644 --- a/proto/cardchain/cardchain/encounter_with_image.proto +++ b/proto/cardchain/cardchain/encounter_with_image.proto @@ -8,5 +8,5 @@ option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; message EncounterWithImage { Encounter encounter = 1; - bytes image = 2; + string image = 2; } diff --git a/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto index 2cee1528..eeadf881 100644 --- a/proto/cardchain/cardchain/genesis.proto +++ b/proto/cardchain/cardchain/genesis.proto @@ -15,6 +15,7 @@ import "cardchain/cardchain/council.proto"; import "cardchain/cardchain/image.proto"; import "cardchain/cardchain/server.proto"; import "cardchain/cardchain/zealy.proto"; +import "cardchain/cardchain/encounter.proto"; import "cosmos/base/v1beta1/coin.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; @@ -39,4 +40,6 @@ message GenesisState { repeated Server servers = 15; TimeStamp lastCardModified = 16 [ (gogoproto.nullable) = false ]; repeated Zealy zealys = 17; + repeated Encounter encounters = 18; + // this line is used by starport scaffolding # genesis/proto/state } diff --git a/x/cardchain/keeper/query_encounter_with_image.go b/x/cardchain/keeper/query_encounter_with_image.go index a7bbd669..f3a395c3 100644 --- a/x/cardchain/keeper/query_encounter_with_image.go +++ b/x/cardchain/keeper/query_encounter_with_image.go @@ -20,6 +20,6 @@ func (k Keeper) EncounterWithImage(goCtx context.Context, req *types.QueryEncoun return &types.QueryEncounterWithImageResponse{Encounter: &types.EncounterWithImage{ Encounter: encounter, - Image: k.Images.Get(ctx, encounter.ImageId).Image, + Image: string(k.Images.Get(ctx, encounter.ImageId).Image), }}, nil } diff --git a/x/cardchain/keeper/query_encounters_with_image.go b/x/cardchain/keeper/query_encounters_with_image.go index c0c006a2..d0bc4ce2 100644 --- a/x/cardchain/keeper/query_encounters_with_image.go +++ b/x/cardchain/keeper/query_encounters_with_image.go @@ -23,7 +23,7 @@ func (k Keeper) EncountersWithImage(goCtx context.Context, req *types.QueryEncou for _, encounter := range encounters { encountersWithImage = append(encountersWithImage, &types.EncounterWithImage{ Encounter: encounter, - Image: k.Images.Get(ctx, encounter.ImageId).Image, + Image: string(k.Images.Get(ctx, encounter.ImageId).Image), }) } diff --git a/x/cardchain/module/genesis.go b/x/cardchain/module/genesis.go index fc343509..89b6f059 100644 --- a/x/cardchain/module/genesis.go +++ b/x/cardchain/module/genesis.go @@ -40,6 +40,9 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) for idx, average := range genState.RunningAverages { k.RunningAverages.Set(ctx, k.RunningAverages.KeyWords[idx], average) } + for idx, encounter := range genState.Encounters { + k.Encounterk.Set(ctx, uint64(idx), encounter) + } if genState.CardAuctionPrice.Denom != "" { k.CardAuctionPrice.Set(ctx, &genState.CardAuctionPrice) } @@ -114,6 +117,7 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { genesis.Servers = k.Servers.GetAll(ctx) users, accAddresses := k.GetAllUsers(ctx) genesis.Zealys = k.Zealy.GetAll(ctx) + genesis.Encounters = k.Encounterk.GetAll(ctx) var addresses []string for _, addr := range accAddresses { addresses = append(addresses, addr.String()) diff --git a/x/cardchain/types/encounter_with_image.pb.go b/x/cardchain/types/encounter_with_image.pb.go index 8e33d62b..1ab697ce 100644 --- a/x/cardchain/types/encounter_with_image.pb.go +++ b/x/cardchain/types/encounter_with_image.pb.go @@ -25,7 +25,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type EncounterWithImage struct { Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` - Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` } func (m *EncounterWithImage) Reset() { *m = EncounterWithImage{} } @@ -68,11 +68,11 @@ func (m *EncounterWithImage) GetEncounter() *Encounter { return nil } -func (m *EncounterWithImage) GetImage() []byte { +func (m *EncounterWithImage) GetImage() string { if m != nil { return m.Image } - return nil + return "" } func init() { @@ -92,13 +92,13 @@ var fileDescriptor_7885039e5cdeedd4 = []byte{ 0xfa, 0x20, 0x16, 0x44, 0xa9, 0x94, 0x32, 0x5e, 0xa3, 0x21, 0x8a, 0x94, 0x32, 0xb8, 0x84, 0x5c, 0x61, 0x42, 0xe1, 0x99, 0x25, 0x19, 0x9e, 0x20, 0xbb, 0x84, 0x6c, 0xb8, 0x38, 0xe1, 0x0a, 0x25, 0x18, 0x15, 0x18, 0x35, 0xb8, 0x8d, 0xe4, 0xf4, 0xb0, 0xd8, 0xac, 0x07, 0xd7, 0x1b, 0x84, 0xd0, - 0x20, 0x24, 0xc2, 0xc5, 0x0a, 0x76, 0xb2, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x4f, 0x10, 0x84, 0xe3, + 0x20, 0x24, 0xc2, 0xc5, 0x0a, 0x76, 0xb2, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x67, 0x10, 0x84, 0xe3, 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, 0x2e, 0xa9, 0xc9, 0xa9, 0x79, 0x25, 0x45, 0x89, 0x39, 0xce, 0x89, 0x45, 0x29, 0xee, 0x89, 0xb9, 0xa9, 0x48, 0x6e, 0xaf, 0x40, 0x62, 0x97, 0x54, - 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, 0x3d, 0x61, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x93, 0x54, - 0xcb, 0x2a, 0x46, 0x01, 0x00, 0x00, + 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, 0x3d, 0x61, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x3b, 0x8e, + 0x5a, 0x52, 0x46, 0x01, 0x00, 0x00, } func (m *EncounterWithImage) Marshal() (dAtA []byte, err error) { @@ -246,7 +246,7 @@ func (m *EncounterWithImage) Unmarshal(dAtA []byte) error { if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) } - var byteLen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEncounterWithImage @@ -256,25 +256,23 @@ func (m *EncounterWithImage) 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 ErrInvalidLengthEncounterWithImage } - postIndex := iNdEx + byteLen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthEncounterWithImage } if postIndex > l { return io.ErrUnexpectedEOF } - m.Image = append(m.Image[:0], dAtA[iNdEx:postIndex]...) - if m.Image == nil { - m.Image = []byte{} - } + m.Image = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index bc822751..55ccd9d8 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -43,6 +43,7 @@ type GenesisState struct { Servers []*Server `protobuf:"bytes,15,rep,name=servers,proto3" json:"servers,omitempty"` LastCardModified TimeStamp `protobuf:"bytes,16,opt,name=lastCardModified,proto3" json:"lastCardModified"` Zealys []*Zealy `protobuf:"bytes,17,rep,name=zealys,proto3" json:"zealys,omitempty"` + Encounters []*Encounter `protobuf:"bytes,18,rep,name=encounters,proto3" json:"encounters,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -183,6 +184,13 @@ func (m *GenesisState) GetZealys() []*Zealy { return nil } +func (m *GenesisState) GetEncounters() []*Encounter { + if m != nil { + return m.Encounters + } + return nil +} + func init() { proto.RegisterType((*GenesisState)(nil), "cardchain.cardchain.GenesisState") } @@ -190,46 +198,48 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/genesis.proto", fileDescriptor_c4e78aa6e403ddd4) } var fileDescriptor_c4e78aa6e403ddd4 = []byte{ - // 618 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x93, 0xcf, 0x4e, 0x14, 0x41, - 0x10, 0xc6, 0x77, 0x05, 0x17, 0xb6, 0x17, 0x05, 0x5a, 0x0f, 0xed, 0x82, 0xc3, 0xfa, 0xe7, 0x80, - 0xc6, 0xcc, 0x04, 0xd4, 0x84, 0xc4, 0x84, 0x04, 0x30, 0x21, 0xc6, 0x10, 0x49, 0xa3, 0x17, 0x2e, - 0xa4, 0x77, 0xb6, 0x58, 0x3a, 0x99, 0x99, 0xde, 0x74, 0xf5, 0x12, 0xf1, 0x29, 0x7c, 0x0c, 0x8f, - 0x3e, 0x06, 0x47, 0x8e, 0x9e, 0x8c, 0x81, 0x83, 0x6f, 0xe0, 0xd9, 0x74, 0x4f, 0xef, 0xb2, 0x62, - 0xef, 0x5e, 0x26, 0x95, 0xa9, 0xdf, 0x57, 0x5d, 0x5d, 0x5f, 0x35, 0x79, 0x94, 0x0a, 0xdd, 0x49, - 0x4f, 0x84, 0x2c, 0x92, 0xeb, 0xa8, 0x0b, 0x05, 0xa0, 0xc4, 0xb8, 0xa7, 0x95, 0x51, 0xf4, 0xde, - 0x30, 0x11, 0x0f, 0xa3, 0xe6, 0xa2, 0xc8, 0x65, 0xa1, 0x12, 0xf7, 0x2d, 0xb9, 0xe6, 0xfd, 0xae, - 0xea, 0x2a, 0x17, 0x26, 0x36, 0xf2, 0x7f, 0x5b, 0xa1, 0x03, 0x7a, 0x42, 0x8b, 0xdc, 0xd7, 0x6f, - 0x46, 0x21, 0xc2, 0x46, 0x93, 0xf2, 0x7d, 0x04, 0xed, 0xf3, 0x2b, 0xa1, 0x7c, 0x2e, 0x4c, 0x7a, - 0xe2, 0x81, 0x87, 0x21, 0x00, 0xc1, 0xf8, 0xf4, 0xd3, 0x70, 0x3a, 0xcb, 0x8e, 0xd4, 0xf1, 0xf1, - 0xf0, 0x94, 0x67, 0x21, 0x4a, 0xf7, 0x8b, 0x42, 0x16, 0xdd, 0x23, 0x71, 0x0a, 0x5a, 0x74, 0xc1, - 0xa3, 0xc1, 0x99, 0xa6, 0xaa, 0x5f, 0xa4, 0x32, 0x9b, 0xd4, 0xb3, 0xcc, 0xaf, 0x6b, 0xb4, 0xc2, - 0x4d, 0xe9, 0xd3, 0xc9, 0xd7, 0xfe, 0x02, 0x22, 0x3b, 0x1b, 0xce, 0x4d, 0x61, 0xae, 0x30, 0x69, - 0x0b, 0x84, 0xe4, 0x74, 0xad, 0x0d, 0x46, 0xac, 0x25, 0xa9, 0x92, 0x45, 0x99, 0x7f, 0xfc, 0xa7, - 0x46, 0xe6, 0x76, 0x4b, 0xa7, 0x0f, 0x8c, 0x30, 0x40, 0x37, 0x49, 0xad, 0x34, 0x86, 0x55, 0x5b, - 0xd5, 0xd5, 0xc6, 0xfa, 0x52, 0x1c, 0x70, 0x3e, 0xde, 0x77, 0xc8, 0x76, 0xfd, 0xfc, 0xe7, 0x4a, - 0xe5, 0xdb, 0xef, 0xef, 0xcf, 0xab, 0xdc, 0xab, 0xe8, 0x1b, 0xd2, 0xb0, 0x18, 0x87, 0x54, 0xe9, - 0x0e, 0xb2, 0x5b, 0xad, 0xa9, 0xd5, 0xc6, 0xfa, 0x83, 0x60, 0x91, 0x1d, 0xcb, 0x8d, 0xd2, 0x34, - 0x21, 0xb7, 0xad, 0xa7, 0xc8, 0xa6, 0x26, 0xc8, 0x3e, 0x21, 0x68, 0x5e, 0x72, 0x74, 0x99, 0xd4, - 0x45, 0xa7, 0xa3, 0x01, 0x11, 0x90, 0x4d, 0xb7, 0xa6, 0x56, 0xeb, 0xfc, 0xfa, 0x07, 0x7d, 0x45, - 0x66, 0xdc, 0x0a, 0x00, 0xb2, 0x9a, 0x2b, 0xd8, 0x0c, 0x16, 0xdc, 0xb3, 0x0c, 0x1f, 0xa0, 0xf4, - 0x05, 0x99, 0x46, 0x30, 0xc8, 0x66, 0x9c, 0x84, 0x05, 0x25, 0x07, 0x60, 0xb8, 0xa3, 0xe8, 0x26, - 0x21, 0x76, 0x4d, 0x3e, 0xd8, 0x2d, 0x41, 0x36, 0xeb, 0x34, 0xd1, 0x18, 0x8d, 0xc7, 0xf8, 0x88, - 0xc2, 0x5e, 0xb9, 0xa7, 0x54, 0x86, 0xac, 0x3e, 0xb8, 0xb2, 0x33, 0x2c, 0xb6, 0x86, 0xc5, 0xde, - 0xb0, 0x78, 0x47, 0xc9, 0x82, 0x97, 0x1c, 0x7d, 0x4f, 0x16, 0x6c, 0xcd, 0xad, 0x7e, 0x6a, 0xa4, - 0x2a, 0xf6, 0xb5, 0x4c, 0x81, 0x35, 0x9c, 0x55, 0xe3, 0xb5, 0xdb, 0xd3, 0xd6, 0x28, 0xfe, 0x9f, - 0x90, 0x6e, 0x90, 0x59, 0xbf, 0x93, 0xc8, 0xe6, 0x5c, 0x03, 0xcb, 0x61, 0xab, 0x4a, 0x88, 0x0f, - 0x69, 0xba, 0x47, 0xe6, 0xfd, 0xe2, 0x6f, 0x95, 0x7b, 0x8f, 0xec, 0x8e, 0x2b, 0xf0, 0x24, 0x58, - 0x80, 0xff, 0xc3, 0xf2, 0x9b, 0x5a, 0xba, 0x4e, 0x6a, 0x6e, 0xf3, 0x91, 0xdd, 0x9d, 0xe0, 0xd4, - 0x3b, 0x8b, 0x70, 0x4f, 0xd2, 0xd7, 0x64, 0xa6, 0x7c, 0x0c, 0xc8, 0xe6, 0x9d, 0x68, 0x69, 0xcc, - 0xdc, 0x2d, 0xc3, 0x07, 0x2c, 0xdd, 0x27, 0x0b, 0x99, 0x40, 0x63, 0xb7, 0x6f, 0x4f, 0x75, 0xe4, - 0xb1, 0x84, 0x0e, 0x5b, 0x70, 0x03, 0x0c, 0xfb, 0xf6, 0x51, 0xe6, 0x70, 0x60, 0x44, 0xde, 0x1b, - 0x4c, 0xf1, 0xa6, 0xda, 0x36, 0xef, 0xde, 0x1c, 0xb2, 0xc5, 0x09, 0xcd, 0x1f, 0x5a, 0x84, 0x7b, - 0x72, 0x9b, 0x9f, 0x5f, 0x46, 0xd5, 0x8b, 0xcb, 0xa8, 0xfa, 0xeb, 0x32, 0xaa, 0x7e, 0xbd, 0x8a, - 0x2a, 0x17, 0x57, 0x51, 0xe5, 0xc7, 0x55, 0x54, 0x39, 0xdc, 0xe8, 0x4a, 0x73, 0xd2, 0x6f, 0xc7, - 0xa9, 0xca, 0x93, 0xb7, 0x90, 0x42, 0x61, 0xb4, 0xc8, 0xec, 0x79, 0xbb, 0x22, 0x87, 0x91, 0x67, - 0xfe, 0x79, 0x24, 0x36, 0x67, 0x3d, 0xc0, 0x76, 0xcd, 0xbd, 0xe9, 0x97, 0x7f, 0x03, 0x00, 0x00, - 0xff, 0xff, 0x34, 0xe1, 0xfe, 0xac, 0xd0, 0x05, 0x00, 0x00, + // 643 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0x41, 0x4f, 0x13, 0x41, + 0x14, 0xc7, 0x5b, 0xc1, 0x96, 0x4e, 0x51, 0x60, 0xf4, 0x30, 0x16, 0x5c, 0xaa, 0x78, 0x40, 0x63, + 0x76, 0x03, 0x6a, 0x42, 0x62, 0x42, 0x02, 0x68, 0x88, 0x31, 0x44, 0x32, 0xe8, 0x85, 0x0b, 0x99, + 0x6e, 0x1f, 0x65, 0x92, 0xdd, 0x9d, 0x66, 0xdf, 0x94, 0x88, 0x9f, 0xc2, 0x8f, 0xe1, 0xd1, 0x93, + 0x9f, 0x81, 0x23, 0x47, 0x4f, 0xc6, 0xc0, 0xc1, 0xaf, 0x61, 0x66, 0x76, 0x5a, 0x2a, 0x4e, 0xf7, + 0xb2, 0x79, 0xd9, 0xf7, 0xfb, 0xbf, 0x7d, 0x33, 0xff, 0xf7, 0x96, 0x3c, 0x8a, 0x45, 0xde, 0x8d, + 0x4f, 0x84, 0xcc, 0xa2, 0xeb, 0xa8, 0x07, 0x19, 0xa0, 0xc4, 0xb0, 0x9f, 0x2b, 0xad, 0xe8, 0xbd, + 0x51, 0x22, 0x1c, 0x45, 0xad, 0x05, 0x91, 0xca, 0x4c, 0x45, 0xf6, 0x59, 0x70, 0xad, 0xfb, 0x3d, + 0xd5, 0x53, 0x36, 0x8c, 0x4c, 0xe4, 0xde, 0xb6, 0x7d, 0x1f, 0xe8, 0x8b, 0x5c, 0xa4, 0xae, 0x7e, + 0x2b, 0xf0, 0x11, 0x26, 0x2a, 0xcb, 0x0f, 0x10, 0x72, 0x97, 0x5f, 0xf6, 0xe5, 0x53, 0xa1, 0xe3, + 0x13, 0x07, 0x3c, 0xf4, 0x01, 0x08, 0xda, 0xa5, 0x9f, 0xf8, 0xd3, 0x49, 0x72, 0xa4, 0x8e, 0x8f, + 0x47, 0x5f, 0x79, 0xea, 0xa3, 0xf2, 0x41, 0x96, 0xc9, 0xac, 0x77, 0x24, 0x4e, 0x21, 0x17, 0x3d, + 0x70, 0xa8, 0xf7, 0x4e, 0x63, 0x35, 0xc8, 0x62, 0x99, 0x94, 0xf5, 0x2c, 0xd3, 0xeb, 0x1a, 0x6d, + 0x7f, 0x53, 0xf9, 0x69, 0xf9, 0xb1, 0xbf, 0x80, 0x48, 0xce, 0x1c, 0xb0, 0xe2, 0x03, 0x20, 0x33, + 0x8d, 0xe8, 0x51, 0x95, 0x20, 0x56, 0x98, 0x2a, 0x8c, 0x3a, 0x02, 0x21, 0x3a, 0x5d, 0xeb, 0x80, + 0x16, 0x6b, 0x51, 0xac, 0x64, 0x56, 0xe4, 0x1f, 0xff, 0xa8, 0x93, 0xd9, 0xdd, 0x62, 0x1c, 0x0e, + 0xb4, 0xd0, 0x40, 0x37, 0x49, 0xad, 0x70, 0x8f, 0x55, 0xdb, 0xd5, 0xd5, 0xe6, 0xfa, 0x62, 0xe8, + 0x19, 0x8f, 0x70, 0xdf, 0x22, 0xdb, 0x8d, 0xf3, 0x5f, 0xcb, 0x95, 0x6f, 0x7f, 0xbe, 0x3f, 0xab, + 0x72, 0xa7, 0xa2, 0xaf, 0x49, 0xd3, 0x60, 0x1c, 0x62, 0x95, 0x77, 0x91, 0xdd, 0x6a, 0x4f, 0xad, + 0x36, 0xd7, 0x1f, 0x78, 0x8b, 0xec, 0x18, 0x6e, 0x9c, 0xa6, 0x11, 0xb9, 0x6d, 0x8c, 0x47, 0x36, + 0x55, 0x22, 0xfb, 0x84, 0x90, 0xf3, 0x82, 0xa3, 0x4b, 0xa4, 0x21, 0xba, 0xdd, 0x1c, 0x10, 0x01, + 0xd9, 0x74, 0x7b, 0x6a, 0xb5, 0xc1, 0xaf, 0x5f, 0xd0, 0x97, 0xa4, 0x6e, 0xe7, 0x04, 0x90, 0xd5, + 0x6c, 0xc1, 0x96, 0xb7, 0xe0, 0x9e, 0x61, 0xf8, 0x10, 0xa5, 0xcf, 0xc9, 0x34, 0x82, 0x46, 0x56, + 0xb7, 0x12, 0xe6, 0x95, 0x1c, 0x80, 0xe6, 0x96, 0xa2, 0x9b, 0x84, 0x98, 0x59, 0xfa, 0x60, 0x46, + 0x09, 0xd9, 0x8c, 0xd5, 0x04, 0x13, 0x34, 0x0e, 0xe3, 0x63, 0x0a, 0x73, 0xe4, 0xbe, 0x52, 0x09, + 0xb2, 0xc6, 0xf0, 0xc8, 0xd6, 0xb0, 0xd0, 0x18, 0x16, 0x3a, 0xc3, 0xc2, 0x1d, 0x25, 0x33, 0x5e, + 0x70, 0xf4, 0x3d, 0x99, 0x37, 0x35, 0xb7, 0x06, 0xb1, 0x96, 0x2a, 0xdb, 0xcf, 0x65, 0x0c, 0xac, + 0x69, 0xad, 0x9a, 0xac, 0xdd, 0x9e, 0x36, 0x46, 0xf1, 0xff, 0x84, 0x74, 0x83, 0xcc, 0xb8, 0xc1, + 0x45, 0x36, 0x6b, 0x1b, 0x58, 0xf2, 0x5b, 0x55, 0x40, 0x7c, 0x44, 0xd3, 0x3d, 0x32, 0xe7, 0xb6, + 0x63, 0xab, 0x58, 0x0e, 0x64, 0x77, 0x6c, 0x81, 0x15, 0x6f, 0x01, 0xfe, 0x0f, 0xcb, 0x6f, 0x6a, + 0xe9, 0x3a, 0xa9, 0xd9, 0xf5, 0x40, 0x76, 0xb7, 0xc4, 0xa9, 0x77, 0x06, 0xe1, 0x8e, 0xa4, 0xaf, + 0x48, 0xbd, 0xd8, 0x18, 0x64, 0x73, 0x56, 0xb4, 0x38, 0xe1, 0xde, 0x0d, 0xc3, 0x87, 0x2c, 0xdd, + 0x27, 0xf3, 0x89, 0x40, 0x6d, 0xa6, 0x6f, 0x4f, 0x75, 0xe5, 0xb1, 0x84, 0x2e, 0x9b, 0xb7, 0x17, + 0xe8, 0xf7, 0xed, 0xa3, 0x4c, 0xe1, 0x40, 0x8b, 0xb4, 0x3f, 0xbc, 0xc5, 0x9b, 0x6a, 0xd3, 0xbc, + 0x5d, 0x4c, 0x64, 0x0b, 0x25, 0xcd, 0x1f, 0x1a, 0x84, 0x3b, 0xd2, 0xcc, 0xcd, 0x68, 0x57, 0x91, + 0xd1, 0x92, 0xb9, 0x79, 0x3b, 0xc4, 0xf8, 0x98, 0x62, 0x9b, 0x9f, 0x5f, 0x06, 0xd5, 0x8b, 0xcb, + 0xa0, 0xfa, 0xfb, 0x32, 0xa8, 0x7e, 0xbd, 0x0a, 0x2a, 0x17, 0x57, 0x41, 0xe5, 0xe7, 0x55, 0x50, + 0x39, 0xdc, 0xe8, 0x49, 0x7d, 0x32, 0xe8, 0x84, 0xb1, 0x4a, 0xa3, 0x37, 0x10, 0x43, 0xa6, 0x73, + 0x91, 0x98, 0x7e, 0x77, 0x45, 0x0a, 0x63, 0xbf, 0x8a, 0xcf, 0x63, 0xb1, 0x3e, 0xeb, 0x03, 0x76, + 0x6a, 0xf6, 0x9f, 0xf0, 0xe2, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x66, 0x6f, 0x56, 0x07, 0x35, + 0x06, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -252,6 +262,22 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Encounters) > 0 { + for iNdEx := len(m.Encounters) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Encounters[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + } if len(m.Zealys) > 0 { for iNdEx := len(m.Zealys) - 1; iNdEx >= 0; iNdEx-- { { @@ -547,6 +573,12 @@ func (m *GenesisState) Size() (n int) { n += 2 + l + sovGenesis(uint64(l)) } } + if len(m.Encounters) > 0 { + for _, e := range m.Encounters { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } return n } @@ -1090,6 +1122,40 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Encounters", 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 + } + m.Encounters = append(m.Encounters, &Encounter{}) + if err := m.Encounters[len(m.Encounters)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) From 13a442092ca4f52cca4de503a7141153dfd7f1c9 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Fri, 21 Feb 2025 00:38:57 +0100 Subject: [PATCH 76/99] feat: Fixed genesis imort --- scripts/backupGenesis.sh | 4 + scripts/buildlaunch-node.sh | 9 + scripts/card_rarities.tsv | 121 +++++++++++ scripts/card_starters.tsv | 72 +++++++ scripts/cardchaindconfig-testnet.json | 7 + scripts/createUser.sh | 7 + scripts/download_genesis.py | 15 ++ scripts/genesis_balances.tsv | 201 ++++++++++++++++++ scripts/keys/exporthex.sh | 3 + scripts/migrate_with_data.py | 183 ++++++++++++++++ scripts/old/full_setup.sh | 3 + scripts/old/import_old_genesis.py | 67 ++++++ scripts/paramchange.json | 12 ++ scripts/paramchange/paramchange.json | 12 ++ scripts/paramchange/submitproposal.sh | 8 + scripts/paramchange/vote.sh | 9 + scripts/register_faucet.sh | 27 +++ scripts/sets/add-artwork.sh | 7 + scripts/sets/add-cards.sh | 153 +++++++++++++ scripts/sets/buy-booster-pack.sh | 7 + scripts/sets/card-rarity.sh | 153 +++++++++++++ scripts/sets/create-set.sh | 3 + scripts/sets/finalize-set.sh | 11 + scripts/sets/howto.txt | 27 +++ scripts/sets/story.sh | 7 + scripts/sets/vote.sh | 9 + scripts/tests/test_council.sh | 29 +++ scripts/tests/test_reporting.sh | 11 + scripts/tests/test_setup.sh | 17 ++ scripts/validators/craft_genesis_balances.js | 30 +++ scripts/validators/genesis_balances.tsv | 1 + scripts/validators/get_delegators.sh | 12 ++ .../validators/merged_genesis_balances.tsv | 201 ++++++++++++++++++ scripts/validators/package-lock.json | 21 ++ scripts/validators/package.json | 5 + .../validators/snapshots/airdrop05.01.24.tsv | 57 +++++ .../validators/snapshots/airdrop16.04.24.tsv | 66 ++++++ .../validators/snapshots/airdrop28.02.24.tsv | 67 ++++++ .../validators/snapshots/genesis_balances.tsv | 162 ++++++++++++++ scripts/validators/validator_snapshot.py | 111 ++++++++++ scripts/zealy.tsv | 68 ++++++ x/cardchain/module/genesis.go | 10 +- 42 files changed, 2000 insertions(+), 5 deletions(-) create mode 100755 scripts/backupGenesis.sh create mode 100644 scripts/buildlaunch-node.sh create mode 100644 scripts/card_rarities.tsv create mode 100644 scripts/card_starters.tsv create mode 100644 scripts/cardchaindconfig-testnet.json create mode 100755 scripts/createUser.sh create mode 100644 scripts/download_genesis.py create mode 100644 scripts/genesis_balances.tsv create mode 100644 scripts/keys/exporthex.sh create mode 100755 scripts/migrate_with_data.py create mode 100755 scripts/old/full_setup.sh create mode 100755 scripts/old/import_old_genesis.py create mode 100644 scripts/paramchange.json create mode 100644 scripts/paramchange/paramchange.json create mode 100644 scripts/paramchange/submitproposal.sh create mode 100644 scripts/paramchange/vote.sh create mode 100644 scripts/register_faucet.sh create mode 100644 scripts/sets/add-artwork.sh create mode 100644 scripts/sets/add-cards.sh create mode 100644 scripts/sets/buy-booster-pack.sh create mode 100644 scripts/sets/card-rarity.sh create mode 100644 scripts/sets/create-set.sh create mode 100644 scripts/sets/finalize-set.sh create mode 100644 scripts/sets/howto.txt create mode 100644 scripts/sets/story.sh create mode 100644 scripts/sets/vote.sh create mode 100755 scripts/tests/test_council.sh create mode 100755 scripts/tests/test_reporting.sh create mode 100755 scripts/tests/test_setup.sh create mode 100644 scripts/validators/craft_genesis_balances.js create mode 100644 scripts/validators/genesis_balances.tsv create mode 100644 scripts/validators/get_delegators.sh create mode 100644 scripts/validators/merged_genesis_balances.tsv create mode 100644 scripts/validators/package-lock.json create mode 100644 scripts/validators/package.json create mode 100644 scripts/validators/snapshots/airdrop05.01.24.tsv create mode 100644 scripts/validators/snapshots/airdrop16.04.24.tsv create mode 100644 scripts/validators/snapshots/airdrop28.02.24.tsv create mode 100644 scripts/validators/snapshots/genesis_balances.tsv create mode 100644 scripts/validators/validator_snapshot.py create mode 100755 scripts/zealy.tsv diff --git a/scripts/backupGenesis.sh b/scripts/backupGenesis.sh new file mode 100755 index 00000000..ccd72c36 --- /dev/null +++ b/scripts/backupGenesis.sh @@ -0,0 +1,4 @@ +now=$(date +"%d.%m.%Y") + +mkdir ~/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..2718baec --- /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 --no-cache +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/cardchaindconfig-testnet.json b/scripts/cardchaindconfig-testnet.json new file mode 100644 index 00000000..d7f7a0e2 --- /dev/null +++ b/scripts/cardchaindconfig-testnet.json @@ -0,0 +1,7 @@ +{ + "chain-id": "carddevnet-2", + "keyring-backend": "test", + "output": "text", + "node": "tcp://lxgr.xyz:26657", + "broadcast-mode": "block" +} diff --git a/scripts/createUser.sh b/scripts/createUser.sh new file mode 100755 index 00000000..8d0ab6f5 --- /dev/null +++ b/scripts/createUser.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +ARGS="--node tcp://localhost:26657 --gas auto" + +cardchaind keys add $1 + +cardchaind tx cardchain createuser $(cardchaind keys show $1 --address) $1 --from alice $ARGS diff --git a/scripts/download_genesis.py b/scripts/download_genesis.py new file mode 100644 index 00000000..da526c26 --- /dev/null +++ b/scripts/download_genesis.py @@ -0,0 +1,15 @@ +import json +import requests +import tendermint_chunked_genesis_download as tcgd + +with open('peer_nodes.json', 'r') as f: + data = json.load(f) + +for url in data['rpcs']: + try: + page = requests.get(url) + print(url, page.status_code) + tcgd.download_genesis(url) + break + except (requests.exceptions.HTTPError, requests.exceptions.ConnectionError): + print("Error") \ No newline at end of file diff --git a/scripts/genesis_balances.tsv b/scripts/genesis_balances.tsv new file mode 100644 index 00000000..d03e835e --- /dev/null +++ b/scripts/genesis_balances.tsv @@ -0,0 +1,201 @@ +Address Balance +cc1pfhx45ajlpk85sfn3mwyfvznct2tdeuv7vv7v6 100 +cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 500 +cc1p3kejss5t4zugkaffpdm65h0lvv4847rpfhdwt 200 +cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 800 +cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 1100 +cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 1200 +cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 1000 +cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 600 +cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 1000 +cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 600 +cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 600 +cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 1000 +cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 400 +cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 1000 +cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 1000 +cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 600 +cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 1000 +cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 400 +cc1v32ggu70yw6mwh7zeyaz7a9n0znkk34ypsc59h 100 +cc1vnyum3ntr4ejhhekfd5ke5ul74rcgcx5ku5xes 100 +cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 900 +cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 800 +cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 700 +cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 1000 +cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 300 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 4100 +cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 1100 +cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 300 +cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 1000 +cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 500 +cc1r9zywgy53xg093ssdfkr9agudnyfzpmmc5hdhu 100 +cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 400 +cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 400 +cc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v 400 +cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 1000 +cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 1000 +cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 700 +cc1cve8ft5d7hmccz7ehc8qxzrc0cq9s6egg5zd9k 200 +cc1cey5d65p9k5y66e8vttur4mn9cr0nmc9jfde4y 100 +cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 300 +cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 600 +cc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt 300 +cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 1000 +cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 800 +cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 1000 +cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 800 +cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 900 +cc1un7clms2rsg99842ywkacjg4y6duspqp4u5vze 100 +cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 1000 +cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 800 +cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 900 +cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 300 +cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 900 +cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 1000 +cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 800 +cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 900 +cc1lcd6ueqfq2h934vhzxclzzgla3nrd646m3v0hv 100 +cc198ppn5ezf3zt90a6uawcskvy407vrduzzfzqh0 100 +cc1x3xdfj8gsam2872y7ykrn4q9u2l64n2mx6x3ud 100 +cc1xe80y8xsse2ty60cgaetny443tmr95thj2whsf 100 +cc1895x9k0yz7fwqe69dgkz8m9wuajn9wz42hap4t 100 +cc18xuf9hngrey0xe2dljxt9mjwksr42qcsz00ytn 100 +cc1gfvfexqjhz660fwqfpyhutenzk788un29zh2xe 100 +cc1ga6vrq6tw3lgvs7z5lr76j4mv6wt745cf2mr6v 100 +cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 300 +cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk 200 +cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 200 +cc1dn50kpwc8vxajpllam4l62zk4g37x2m0c7qgs9 100 +cc1whlxz73h8t22ytsdzm04aknlxm2gz04ugcy4eq 200 +cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 300 +cc139rf2wl9mxa348tnr957ev7c4x85jjln9am59l 100 +cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 700 +cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 500 +cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 300 +cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 700 +cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha 200 +cc15lwe6hczz9czh2msktksn7mvjsl5t8gz9zzl3l 200 +cc1has2wgz58xw0sfaa60z437dl3vs7u52gmury3y 100 +cc1e7rmfv2vlkn830396tl07jhqh822z0wd8x7k6j 100 +cc1m2gy6xkjdwyk6dkvkryckzg5emhmmnxpqxcgez 100 +cc1mv33hfvvu5pkajc6ear846yclcewceynehj2uj 100 +cc17d4ua8vww2znmzg2w0h65qy7fpqpa25ktmflyg 100 +cc19z20ne3ef575dgfk5ff67xtu0uup8yuj36629j 100 +cc1xaxmxvrhtsnemgcw2lc3mh3lwffk5h730wqacy 100 +cc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m 200 +cc1se7v7c8gslwckfnzmj8halgd67fqfgnnjhzuey 100 +cc1n485ndjsz04nka8q79u3e79u3k5tp5ltfhk2nl 100 +cc1k2g0l077raf7jyn5phqkh8y30eah6lgscv0x8z 100 +cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 400 +cc1cdcsjndsm8ddmd6av7f4zwwn6fqtq34pls4t40 100 +cc16mm2pqdtts8rttlgwg74zcnwg7jfhvxcawn0md 100 +cc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq 200 +cc1axcus06j2k6e359pgplu7w69pp276tgpzra5tf 100 +cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz 357759 +cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn 56000 +cc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur 21850 +cc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86 4900 +cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 500 +cc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4 18850 +cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk 82350 +cc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f 5000 +cc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k 1000 +cc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8 10000 +cc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3 1500 +cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s 48000 +cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 3100 +cc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c 1400 +cc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7 100 +cc1vuzh99j2ggdf3c2rzkwursvp2jx9r4u7mvuj8h 100 +cc1mp77nu88lx3760lzpqf868s49ezdpg7gfljkun 300 +cc1uzvzgt04gg4t70jquhdxa9mgyzkc88m3czxdps 100 +cc1x4yvn76pveqwej9gy3pcxqst5z66p4e2wzg70a 100 +cc1jdxal827zlmpjpdu75v9zcuda4gfudryxql2ze 200 +cc1w6sdrxkys6qq94mdm5eawk2aqfhcs55hld7tad 100 +cc1k4xdq5n5t0wmlttn3n05rlk2wrftfp3vs8997n 300 +cc1vh452a3zyyqkngfffsf9cvj8nzhrf0a8zxu6hn 100 +cc12j8wxashnunc7pvh8ep383sy55rk086wn6m62l 100 +cc177vpk4unx4d5pwsrwj4kd2jqq0xya9k9ztk8u7 100 +cc1qa8t2ed87x8tgdwyw2tcgxpsg4stvn4w64rtna 100 +cc1ekdz6rlnh4sx02wnwhdzheqq4l7pgvptjn2yu9 300 +cc1nfn9yev2ry0nmh0r5akpym58udmevt75pume5s 300 +cc1dwjsqp2psjyyaujxmwv76e6dk767tuamhxx0t2 600 +cc147zd6esmydn05pjwghzxmp2lztk0562gal3qnp 300 +cc19u8dpw8jp4mcelpelhp3pkam2sxzr6gdz8y3zt 200 +cc18dnnlpy3l6j7v0pekf73xxm6kh3z7chhpp6xev 400 +cc1ehad6hausea0qc8t3amxlpqs5rx2c05zmds3k9 200 +cc1tnxxhkf3s8apvf34270vde7t9u59t6xxq9xsac 100 +cc1fss98cftj6g8h24yzxfhq2q0hr06n3u5ca62zf 100 +cc1wwg5f8x6c6dsucm22xkfppus6ul76ck9w3m7mc 100 +cc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h 100 +cc1ep8qq32hh7ndtdcztgd2rrzlq8dcmvmmantevt 100 +cc1wkuexd8n4lvd6032p4yuwnuf4cctd8m9cph6j5 300 +cc1cy0ulsvus9ar70xst9x75cy4grxheqj88fk6vx 200 +cc1jwavmmr75p25ay6atyaw4yw2pveywag8yz0rrw 100 +cc1unulf3ezmkwjdgcmvskkc3anf3phw8fh8krxv7 100 +cc13rvr4c369rhw63pjxcjvjpjy5ck9mm6pajz87r 200 +cc1klpp6q7dzd3mafjve3f3ejt4c5y5nfeldt57j7 100 +cc1g76zzp0neeulx9p7cvfh00vz2eq5d04v26ntsg 200 +cc1vwg80fptuqmn0e3tnnqcgd0sm3u3a2s09qtq5m 400 +cc13ycv4yp4u58xk9gghwlfjkey2y9smezpezd4x4 100 +cc1c4smhzxtlzarjgrnueetdcjm3kjq3kx4sfkk3j 500 +cc1q8zrfyv7muv7aflr5xzn069zfumy4xs8w6a3xn 100 +cc14jzqhuk7s0c2ytspgrnq3ljqfxq5fjynr5q2zm 100 +cc1prnmjqvp2080lgugjle0492ratxa387npjgz37 200 +cc1qrjt6rsmn9qvs52suyujhuu8qp7a3520es7xy4 300 +cc1slj7amnmemt0t0f8uahnnyv2ztdwuc30sxgdku 100 +cc10zh0cdzdzxz8449v0pg4a2f32yueq8szrkw9qc 100 +cc12jwxqch0xv6yn5e5jlyszqae43vzsag7xemygj 100 +cc12jzf6x8qe77ephgx0cs0q276g2ptapzlr4k2ew 100 +cc12l3zzykqyuunf9nlh2kkmugr09euy5hd5lcgws 100 +cc13h9d5z77sfksv6uweheg38669g270puzkw5pwx 100 +cc13p9cvq5atl2cagnjsxsm72vnyfkfnngulj28g3 100 +cc13sany3heekznx5d2yur3v7rxj3f00ma6jv5eqq 100 +cc146dmvlqxrcwa2h6ulg34l84wg07pmycyfsr0mq 100 +cc14va4c3sfpxyapjjgl9mguwr82zc6v4f4tzellx 100 +cc154pwgwvec6m3746wdgqwct7qw7vw3ujvw6uw0r 100 +cc15nxn2qs00y367qw3789dc089kv2dmdakcva2ud 100 +cc17p0qlp5j6de7tjr0fuu8xyp708d292tvx8wrek 200 +cc18cpvvupy2xd8s6xurnzfh7z7c3ystll8kplyxc 100 +cc19hwl8xvvk0fsu5lyakum22wstkdclfh82nlt3t 100 +cc1a9kvywsn2fpuvtsjq4yk0p048ds7ejv4xdk23x 300 +cc1cqd0ka6td2tr7ulfd3ynggk0njspcp5827x3hn 300 +cc1cvaf96kz8jz8u4435p0yrjgel0t8zgz33p2cpe 100 +cc1d5cpaahz23nanxd69aeag44xecp0fu0a5flfus 100 +cc1dwx5cq7q53mlvkyjpgpwafyktk76qnxtaxm9j3 100 +cc1f6u85enm6dfq8y7rqyfq2550eztcjh9ud7vjr6 100 +cc1f8s69xmkm9e0uxjr9ylg0rfxukfzgwldphv5y9 200 +cc1fse4rke7mvveasnss47ztngwl4hwg7gm7egl5u 100 +cc1h5ejeeas7v85q80k7p6hxaqyu8c8kn6lnav72k 100 +cc1h7upe2prq8hdhzukyhpg9ec7njmmw3e5u8dmts 100 +cc1hjjv4h3l2x77vrv0ypvcu6twuy0tfnx8s8yj6k 100 +cc1hmsev8vpg60h67plrwvx2tmx3xzwfednjvl2fz 100 +cc1jjenfqlk00swjpn8vwd93rzx0guxg3tmrgsw90 200 +cc1jpucyzqw96sdpkqqkhz2k6qqte08ev88yy3jja 100 +cc1jxqhq2kskfzyhhm4acy8cd68ph5az54t0tdyud 200 +cc1kg85kh7pamfnj2j3k4g0y93nwkpj4txfvxk86d 100 +cc1m8lsz20hms79we5yn5ckml30kgg5mu6deslxym 100 +cc1mjqmlxa8aze6mduq4ucyvtdjttc78dgtt0secn 200 +cc1n44vc78vjmuvpfcaxarzta8wsutrh08cy36u3v 100 +cc1pjpaf9af7kh83kk7z4wgxyaw6772qggajzkt7x 100 +cc1py6acxj4d2l4694kyqj34mwhgr5f04pyn2wac5 100 +cc1qu6hwj678c5tm0j7q52rda8w8ftjes5cw9axu5 100 +cc1rhdpj0vrfmdfxwntj8evmncdhc35xp0edsnczk 100 +cc1u7wrw08y8wm0m8ev9c5tu62fk9jwa2vst6ajfa 100 +cc1vg2kwnamjp0q0rdcsq2n8wkp0sx7c042ehuwek 100 +cc1vknmv3g5vfg96276m3nuzg3temqthz0exru50z 100 +cc1wlmkgs6mckzphx42pxm8xaxwd9q997y2dzcphp 200 +cc1x2m6chcf68ujqqcsm8smu2ycfltf3cf486t2x8 100 +cc1xwcl8277d39q75q6eear3y8m8ymrapmtsf5wty 100 +cc1yc2zwyh6v545nv5sgh7gv340nlc7x5wf0kyu53 100 +cc1yll7qpdep4h7vg8na8jfwvfluy50j5damm6ua2 100 +cc13v8pucmwnnmhlkh2ajyhdezh3ktap3uuzradg0 100 +cc182n9vgjdqjxc59lluf599s07m0ptlr0effrapu 100 +cc1jxyvvt3kym3paa6v0j7jlp3ldtfcsgsltvd79t 100 +cc1lghgn9xghujw82jy3fskpzzd9faxkse2dkejfh 100 +cc1p9653c8puaum26fxnmm85xumflakn22uj4sxqt 100 +cc1s9arxcl3y57aeavu0qx4v97720wm4cpudte0g4 100 +cc1zvgued20j7ltucwduwe2tsvhfwxdpu4lcla2tz 100 +cc10xzsrcxr6y0e52nvwxrf30892mnsc8zsges8fy 100 +cc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0 200 \ No newline at end of file diff --git a/scripts/keys/exporthex.sh b/scripts/keys/exporthex.sh new file mode 100644 index 00000000..1d8a929e --- /dev/null +++ b/scripts/keys/exporthex.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +cardchaind keys export $1 --unsafe --unarmored-hex \ No newline at end of file diff --git a/scripts/migrate_with_data.py b/scripts/migrate_with_data.py new file mode 100755 index 00000000..f3110ac3 --- /dev/null +++ b/scripts/migrate_with_data.py @@ -0,0 +1,183 @@ +#!/usr/bin/env python3 + +import sys +import json +import csv +import os + +args = sys.argv + +assert len(args) == 3, f"Error: Syntax: {args[0]} [old_genesis] [new_genesis]" + +__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] + + +# early access, boosterpacks, airdrop from zealy + +airdrop_accs = [] +boosterpack_accs = [] +early_access_addr = ["cc14km80077s0hch3sh38wh2hfk7kxfau4456r3ej", "cc1tmhtms6ahkrxltx3hkmmf2dteqj4pv0thwhdxa"] +with open(os.path.join(__location__, "./zealy.tsv"), "r", encoding="utf8") as zealy_file: + tsv_reader = csv.DictReader(zealy_file, delimiter="\t") + for entry in tsv_reader: + airdrop_accs.append((entry["CCAddress"], entry["Airdrop"])) + boosterpack_accs.append([entry["CCAddress"], entry["BoosterPacks"]]) + if entry["EarlyAccessToGame"] == "TRUE": + early_access_addr.append(entry["CCAddress"]) + +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.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) + +# 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"] = [] + +if "RunningAverages" in new_dict["app_state"]["cardchain"]: + new_dict["app_state"]["cardchain"]["runningAverages"] = new_dict["app_state"]["cardchain"]["RunningAverages"].copy() + del new_dict["app_state"]["cardchain"]["RunningAverages"] +if "Servers" in new_dict["app_state"]["cardchain"]: + new_dict["app_state"]["cardchain"]["servers"] = new_dict["app_state"]["cardchain"]["Servers"].copy() + del new_dict["app_state"]["cardchain"]["Servers"] + +for card in del_cards: + new_dict["app_state"]["cardchain"]["cardRecords"][card] = {} + +if new_dict["app_state"]["cardchain"]["cardRecords"]: + # 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] +new_dict["app_state"]["cardchain"]["params"] = params + +# set balanceAnchor, for alpha creator true, for all others false, deactivated because already fine for most cards +# 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"]): + # 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": + bpf = 0 + # use real bpf value for genesisAddresses + for acc in genesisAccs: + if acc[0] == addr: + bpf += int(acc[1]) * 1000000 + # zealy airdrop + for acc in airdrop_accs: + if acc[0] == addr: + bpf += int(acc[1]) * 1000000 + + # use flat value for all others (TODO ON LAUNCH THIS SHOULD BE 0) + if bpf < 5000000: + bpf = 5000000 + + i["coins"][idx]["amount"] = str(bpf) + + # 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 + +# Remove deprecated voteRights from users and more shenanigans like booster packs and early access +for addr, user in zip(new_dict["app_state"]["cardchain"]["addresses"], new_dict["app_state"]["cardchain"]["users"]): + + if "voteRights" in user: + del user["voteRights"] + + for entry in boosterpack_accs: + if entry[0] == addr: + num_packs = int(entry[1]) + for x in range(num_packs): + user["boosterPacks"].append({'dropRatiosPerPack': ['150', '50', '1'], 'raritiesPerPack': ['4', '2', '1'], 'setId': '1', 'timeStamp': '0'}) + + user["earlyAccess"] = user.get( + "earlyAccess", + {"active": False, "invitedUser": "", "invitedByUser": ""} + ) # add earlyAccess + if addr in early_access_addr: + user["earlyAccess"]["active"] = True + + +coinMap = {} +for account in new_dict["app_state"]["bank"]["balances"]: + for coin in account["coins"]: + coinMap[coin["denom"]] = coinMap.get(coin["denom"], 0) + int(coin["amount"]) + +new_dict["app_state"]["bank"]["supply"] = [{"denom": denom, "amount": str(amount)} for denom, amount in coinMap.items()] + +with open(file_path_new, "w") as file: + json.dump(new_dict, file, indent=2) diff --git a/scripts/old/full_setup.sh b/scripts/old/full_setup.sh new file mode 100755 index 00000000..de0f266b --- /dev/null +++ b/scripts/old/full_setup.sh @@ -0,0 +1,3 @@ +yes | ./test_council.sh +yes | cardchaind tx bank send alice $(cardchaind keys show "Cooler Typ" --address) 2000000000000000000000000000000000000000000000000000000ucredits +./import_old_genesis.py ./genesis9mar.json diff --git a/scripts/old/import_old_genesis.py b/scripts/old/import_old_genesis.py new file mode 100755 index 00000000..1ab5b361 --- /dev/null +++ b/scripts/old/import_old_genesis.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +""" +Imports a old genesis' cards into cardchain +get_card_content has to be build first +""" + +import json +import sys +import os +import ctypes +from requester import requester + +artist = "Cooler Artist".encode("utf-8") +creator = "Cooler Typ".encode("utf-8") + +noah_jannik = { + "cosmos1aka9p2tc2td923044ve0508xnn8zuaftc2knxd": "cc13jx3az0ajw938t4k0kw2gtyw0vnjs54spedvky".encode("utf-8"), # noah + "cosmos15ymvugyn9r0h5e44627aclzp9se3dstnwm9syg": "cc14km80077s0hch3sh38wh2hfk7kxfau4456r3ej".encode("utf-8") # jannik +} + +def register_cards(card_records, address_records): + bid = "80000000000000000000000000000000ucredits".encode("utf-8") + cards = [c for c in card_records if c["Content"] not in ["", "e30=", None] and c["Image"] not in ["", None]] + for i, card in enumerate(cards): + # artist = address_records[card["Owner"]].strip().encode("utf-8") + requester.make_buy_card_scheme_request(creator, bid) + + content = card["Content"].encode('utf-8') + notes = card['Notes'].encode("utf-8") + id = i+8 + requester.make_save_card_content_request(creator, id, content, notes, artist) + + artwork = card["Image"].encode("utf-8") + full_art = card["FullArt"] + requester.make_add_artwork_request(artist, id, artwork, full_art) + + transfer_user = noah_jannik.get(card["Owner"]) + + if transfer_user is not None: + requester.make_transfer_card_request(creator, id, transfer_user) + + # requester.make_transfer_card_request(creator, i+1, artist) + + +def register_users(user_records, address_records): + user_aliases = [""] + for user in user_records: + alias = user["Alias"].strip() + if alias in user_aliases: + continue + os.system(f"Cardchaind keys add '{alias}'") + print("") + requester.make_create_user_request("alice".encode("utf-8"), alias.encode("utf-8")) + user_aliases.append(alias) + + +if __name__ == "__main__": + with open(sys.argv[1], "r") as file: + records = json.load(file)["app_state"]["cardservice"] + + card_records = records["card_records"] + user_records = records["users"] + address_records = records["addresses"] + user_dict = {address_records[i]: user["Alias"] for i, user in enumerate(user_records)} + + #register_users(user_records, address_records) + register_cards(card_records, user_dict) diff --git a/scripts/paramchange.json b/scripts/paramchange.json new file mode 100644 index 00000000..180197ba --- /dev/null +++ b/scripts/paramchange.json @@ -0,0 +1,12 @@ +{ + "title": "Param change commonsPerPack: 4", + "description": "We want to change the commonsPerPack", + "changes": [ + { + "subspace": "cardchain", + "key": "CommonsPerPack", + "value": "4" + } + ], + "deposit": "10000000ubpf" +} diff --git a/scripts/paramchange/paramchange.json b/scripts/paramchange/paramchange.json new file mode 100644 index 00000000..4fba0645 --- /dev/null +++ b/scripts/paramchange/paramchange.json @@ -0,0 +1,12 @@ +{ + "title": "Param change setSize: 135", + "description": "We want to change the set size", + "changes": [ + { + "subspace": "cardchain", + "key": "SetSize", + "value": "135" + } + ], + "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..c04dc237 --- /dev/null +++ b/scripts/paramchange/submitproposal.sh @@ -0,0 +1,8 @@ +#!/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 + +cardchaind q gov proposals \ No newline at end of file diff --git a/scripts/paramchange/vote.sh b/scripts/paramchange/vote.sh new file mode 100644 index 00000000..8b794a8b --- /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..df40de5b --- /dev/null +++ b/scripts/register_faucet.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P ) + +cd "$parent_path" + +mapfile -t rpcs < <( + jq -r '.rpcs[]' ../peer_nodes.json +) + +for i in "${!rpcs[@]}"; do + if curl --output /dev/null --silent --head --fail --connect-timeout 5 ${rpcs[$i]}; then + echo "URL exists: ${rpcs[$i]}" + RPC=${rpcs[$i]} + + break + else + echo "not reachable $i" + fi +done +if [ -z "$RPC" ] +then + echo -e "\033[0;31mNo RPC available\033[0m" + exit +fi + +cardchaind tx cardchain createuser $(cat ../backup/faucetaddress.txt) faucet --from jannik --gas auto --node $RPC + diff --git a/scripts/sets/add-artwork.sh b/scripts/sets/add-artwork.sh new file mode 100644 index 00000000..7ed61547 --- /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..d23a3a15 --- /dev/null +++ b/scripts/sets/add-cards.sh @@ -0,0 +1,153 @@ +#!/usr/bin/env bash +if [ $# -lt 1 ]; then + echo 1>&2 "Please specify set id via argument" + exit 2 +fi + +#technology +cardchaind tx cardchain add-card-to-set $1 71 --from jannik +cardchaind tx cardchain add-card-to-set $1 44 --from jannik +cardchaind tx cardchain add-card-to-set $1 142 --from jannik +cardchaind tx cardchain add-card-to-set $1 143 --from jannik +cardchaind tx cardchain add-card-to-set $1 252 --from jannik +cardchaind tx cardchain add-card-to-set $1 45 --from jannik +cardchaind tx cardchain add-card-to-set $1 25 --from jannik +cardchaind tx cardchain add-card-to-set $1 27 --from jannik +cardchaind tx cardchain add-card-to-set $1 51 --from jannik +cardchaind tx cardchain add-card-to-set $1 54 --from jannik +cardchaind tx cardchain add-card-to-set $1 225 --from jannik +cardchaind tx cardchain add-card-to-set $1 140 --from jannik +cardchaind tx cardchain add-card-to-set $1 46 --from jannik +cardchaind tx cardchain add-card-to-set $1 53 --from jannik +cardchaind tx cardchain add-card-to-set $1 55 --from jannik +cardchaind tx cardchain add-card-to-set $1 56 --from jannik +cardchaind tx cardchain add-card-to-set $1 67 --from jannik +cardchaind tx cardchain add-card-to-set $1 85 --from jannik +cardchaind tx cardchain add-card-to-set $1 299 --from jannik +cardchaind tx cardchain add-card-to-set $1 167 --from jannik +cardchaind tx cardchain add-card-to-set $1 191 --from jannik +cardchaind tx cardchain add-card-to-set $1 52 --from jannik +cardchaind tx cardchain add-card-to-set $1 247 --from jannik +cardchaind tx cardchain add-card-to-set $1 43 --from jannik +cardchaind tx cardchain add-card-to-set $1 62 --from jannik +cardchaind tx cardchain add-card-to-set $1 284 --from jannik +cardchaind tx cardchain add-card-to-set $1 59 --from jannik +cardchaind tx cardchain add-card-to-set $1 139 --from jannik +cardchaind tx cardchain add-card-to-set $1 253 --from jannik +cardchaind tx cardchain add-card-to-set $1 381 --from jannik +cardchaind tx cardchain add-card-to-set $1 412 --from jannik +#nature +cardchaind tx cardchain add-card-to-set $1 407 --from jannik +cardchaind tx cardchain add-card-to-set $1 73 --from jannik +cardchaind tx cardchain add-card-to-set $1 411 --from jannik +cardchaind tx cardchain add-card-to-set $1 154 --from jannik +cardchaind tx cardchain add-card-to-set $1 147 --from jannik +cardchaind tx cardchain add-card-to-set $1 156 --from jannik +cardchaind tx cardchain add-card-to-set $1 0 --from jannik +cardchaind tx cardchain add-card-to-set $1 155 --from jannik +cardchaind tx cardchain add-card-to-set $1 122 --from jannik +cardchaind tx cardchain add-card-to-set $1 464 --from jannik +cardchaind tx cardchain add-card-to-set $1 77 --from jannik +cardchaind tx cardchain add-card-to-set $1 246 --from jannik +cardchaind tx cardchain add-card-to-set $1 119 --from jannik +cardchaind tx cardchain add-card-to-set $1 75 --from jannik +cardchaind tx cardchain add-card-to-set $1 149 --from jannik +cardchaind tx cardchain add-card-to-set $1 112 --from jannik +cardchaind tx cardchain add-card-to-set $1 380 --from jannik +cardchaind tx cardchain add-card-to-set $1 227 --from jannik +cardchaind tx cardchain add-card-to-set $1 63 --from jannik +cardchaind tx cardchain add-card-to-set $1 64 --from jannik +cardchaind tx cardchain add-card-to-set $1 21 --from jannik +cardchaind tx cardchain add-card-to-set $1 254 --from jannik +cardchaind tx cardchain add-card-to-set $1 108 --from jannik +cardchaind tx cardchain add-card-to-set $1 74 --from jannik +cardchaind tx cardchain add-card-to-set $1 28 --from jannik +cardchaind tx cardchain add-card-to-set $1 125 --from jannik +cardchaind tx cardchain add-card-to-set $1 397 --from jannik +cardchaind tx cardchain add-card-to-set $1 159 --from jannik +cardchaind tx cardchain add-card-to-set $1 410 --from jannik +cardchaind tx cardchain add-card-to-set $1 158 --from jannik +#mysticism +cardchaind tx cardchain add-card-to-set $1 47 --from jannik +cardchaind tx cardchain add-card-to-set $1 36 --from jannik +cardchaind tx cardchain add-card-to-set $1 65 --from jannik +cardchaind tx cardchain add-card-to-set $1 95 --from jannik +cardchaind tx cardchain add-card-to-set $1 100 --from jannik +cardchaind tx cardchain add-card-to-set $1 17 --from jannik +cardchaind tx cardchain add-card-to-set $1 23 --from jannik +cardchaind tx cardchain add-card-to-set $1 216 --from jannik +cardchaind tx cardchain add-card-to-set $1 101 --from jannik +cardchaind tx cardchain add-card-to-set $1 103 --from jannik +cardchaind tx cardchain add-card-to-set $1 18 --from jannik +cardchaind tx cardchain add-card-to-set $1 223 --from jannik +cardchaind tx cardchain add-card-to-set $1 12 --from jannik +cardchaind tx cardchain add-card-to-set $1 222 --from jannik +cardchaind tx cardchain add-card-to-set $1 232 --from jannik +cardchaind tx cardchain add-card-to-set $1 97 --from jannik +cardchaind tx cardchain add-card-to-set $1 33 --from jannik +cardchaind tx cardchain add-card-to-set $1 98 --from jannik +cardchaind tx cardchain add-card-to-set $1 150 --from jannik +cardchaind tx cardchain add-card-to-set $1 66 --from jannik +cardchaind tx cardchain add-card-to-set $1 42 --from jannik +cardchaind tx cardchain add-card-to-set $1 114 --from jannik +cardchaind tx cardchain add-card-to-set $1 151 --from jannik +cardchaind tx cardchain add-card-to-set $1 168 --from jannik +cardchaind tx cardchain add-card-to-set $1 135 --from jannik +cardchaind tx cardchain add-card-to-set $1 99 --from jannik +cardchaind tx cardchain add-card-to-set $1 24 --from jannik +cardchaind tx cardchain add-card-to-set $1 102 --from jannik +cardchaind tx cardchain add-card-to-set $1 104 --from jannik +cardchaind tx cardchain add-card-to-set $1 224 --from jannik +#culture +cardchaind tx cardchain add-card-to-set $1 255 --from jannik +cardchaind tx cardchain add-card-to-set $1 41 --from jannik +cardchaind tx cardchain add-card-to-set $1 8 --from jannik +cardchaind tx cardchain add-card-to-set $1 84 --from jannik +cardchaind tx cardchain add-card-to-set $1 83 --from jannik +cardchaind tx cardchain add-card-to-set $1 15 --from jannik +cardchaind tx cardchain add-card-to-set $1 256 --from jannik +cardchaind tx cardchain add-card-to-set $1 107 --from jannik +cardchaind tx cardchain add-card-to-set $1 50 --from jannik +cardchaind tx cardchain add-card-to-set $1 170 --from jannik +cardchaind tx cardchain add-card-to-set $1 109 --from jannik +cardchaind tx cardchain add-card-to-set $1 105 --from jannik +cardchaind tx cardchain add-card-to-set $1 372 --from jannik +cardchaind tx cardchain add-card-to-set $1 9 --from jannik +cardchaind tx cardchain add-card-to-set $1 10 --from jannik +cardchaind tx cardchain add-card-to-set $1 49 --from jannik +cardchaind tx cardchain add-card-to-set $1 110 --from jannik +cardchaind tx cardchain add-card-to-set $1 248 --from jannik +cardchaind tx cardchain add-card-to-set $1 38 --from jannik +cardchaind tx cardchain add-card-to-set $1 86 --from jannik +cardchaind tx cardchain add-card-to-set $1 19 --from jannik +cardchaind tx cardchain add-card-to-set $1 14 --from jannik +cardchaind tx cardchain add-card-to-set $1 123 --from jannik +cardchaind tx cardchain add-card-to-set $1 31 --from jannik +cardchaind tx cardchain add-card-to-set $1 20 --from jannik +cardchaind tx cardchain add-card-to-set $1 141 --from jannik +cardchaind tx cardchain add-card-to-set $1 257 --from jannik +cardchaind tx cardchain add-card-to-set $1 16 --from jannik +cardchaind tx cardchain add-card-to-set $1 138 --from jannik +# multi class +cardchaind tx cardchain add-card-to-set $1 562 --from jannik +cardchaind tx cardchain add-card-to-set $1 189 --from jannik +cardchaind tx cardchain add-card-to-set $1 152 --from jannik +cardchaind tx cardchain add-card-to-set $1 126 --from jannik +cardchaind tx cardchain add-card-to-set $1 514 --from jannik +cardchaind tx cardchain add-card-to-set $1 379 --from jannik +cardchaind tx cardchain add-card-to-set $1 238 --from jannik +cardchaind tx cardchain add-card-to-set $1 128 --from jannik +cardchaind tx cardchain add-card-to-set $1 118 --from jannik +cardchaind tx cardchain add-card-to-set $1 13 --from jannik +cardchaind tx cardchain add-card-to-set $1 132 --from jannik +cardchaind tx cardchain add-card-to-set $1 87 --from jannik +cardchaind tx cardchain add-card-to-set $1 29 --from jannik +cardchaind tx cardchain add-card-to-set $1 1 --from jannik +cardchaind tx cardchain add-card-to-set $1 397 --from jannik +cardchaind tx cardchain add-card-to-set $1 131 --from jannik +cardchaind tx cardchain add-card-to-set $1 129 --from jannik +cardchaind tx cardchain add-card-to-set $1 120 --from jannik +cardchaind tx cardchain add-card-to-set $1 507 --from jannik +cardchaind tx cardchain add-card-to-set $1 215 --from jannik +cardchaind tx cardchain add-card-to-set $1 124 --from jannik +cardchaind tx cardchain add-card-to-set $1 115 --from jannik \ No newline at end of file diff --git a/scripts/sets/buy-booster-pack.sh b/scripts/sets/buy-booster-pack.sh new file mode 100644 index 00000000..aa27fbfa --- /dev/null +++ b/scripts/sets/buy-booster-pack.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 buy-booster-pack 1 --from jannik --gas auto \ No newline at end of file diff --git a/scripts/sets/card-rarity.sh b/scripts/sets/card-rarity.sh new file mode 100644 index 00000000..377739ed --- /dev/null +++ b/scripts/sets/card-rarity.sh @@ -0,0 +1,153 @@ +#!/usr/bin/env bash +if [ $# -lt 1 ]; then + echo 1>&2 "Please specify set id via argument" + exit 2 +fi + +#technology +cardchaind tx cardchain set-card-rarity 71 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 44 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 142 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 143 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 252 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 45 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 25 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 27 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 51 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 54 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 225 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 140 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 46 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 53 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 55 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 56 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 67 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 85 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 299 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 167 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 191 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 52 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 247 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 43 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 62 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 284 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 59 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 139 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 253 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 381 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 412 $1 rare --from jannik +#nature +cardchaind tx cardchain set-card-rarity 407 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 73 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 411 $1 common --from jannik SHIT +cardchaind tx cardchain set-card-rarity 154 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 147 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 156 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 0 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 155 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 122 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 464 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 77 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 246 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 119 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 75 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 149 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 112 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 380 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 227 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 63 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 64 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 21 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 254 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 108 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 74 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 28 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 125 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 397 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 159 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 410 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 158 $1 uncommon --from jannik +#mysticism +cardchaind tx cardchain set-card-rarity 47 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 36 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 65 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 95 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 100 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 17 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 23 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 216 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 101 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 103 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 18 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 223 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 12 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 222 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 232 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 97 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 33 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 98 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 150 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 66 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 42 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 114 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 151 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 168 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 135 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 99 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 24 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 102 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 104 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 224 $1 rare --from jannik +#culture +cardchaind tx cardchain set-card-rarity 255 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 41 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 8 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 84 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 83 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 15 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 256 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 107 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 50 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 170 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 109 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 105 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 372 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 9 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 10 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 49 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 110 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 248 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 38 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 86 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 19 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 14 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 123 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 31 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 20 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 141 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 257 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 16 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 138 $1 uncommon --from jannik +# multi class +cardchaind tx cardchain set-card-rarity 562 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 189 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 152 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 126 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 514 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 379 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 238 $1 common --from jannik +cardchaind tx cardchain set-card-rarity 128 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 118 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 13 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 132 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 87 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 29 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 1 $1 uncommon --from jannik +cardchaind tx cardchain set-card-rarity 397 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 131 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 129 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 120 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 507 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 215 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 124 $1 rare --from jannik +cardchaind tx cardchain set-card-rarity 115 $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..cb3b97af --- /dev/null +++ b/scripts/sets/create-set.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +cardchaind tx cardchain create-set alpha 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..8a47be13 --- /dev/null +++ b/scripts/sets/finalize-set.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 finalize-set $1 --from jannik --gas auto + +cardchaind tx gov submit-legacy-proposal set-proposal 1 10000000ubpf --from jannik --gas auto + +cardchaind q gov proposals \ No newline at end of file diff --git a/scripts/sets/howto.txt b/scripts/sets/howto.txt new file mode 100644 index 00000000..26363f9b --- /dev/null +++ b/scripts/sets/howto.txt @@ -0,0 +1,27 @@ +1. voting power to jannik -> delegate to validator +cardchaind q staking validators +cardchaind tx staking delegate ccvaloper1c2htcglks224ua32qd4p95p4ydumd0zaq9y3sj 5000000ubpf --from jannik + +2. set size adjust? => paramchange folder + +3. +bash create-set.sh +cardchaind query cardchain q-sets design "[]" "[]" "" + +4. +yes | bash add-cards.sh 1 + +5. +yes | bash card-rarity.sh 1 + +6. +bash story.sh + +7. +bash add-artwork.sh + +8. +bash finalize-set.sh + +9. +bash vote.sh \ No newline at end of file diff --git a/scripts/sets/story.sh b/scripts/sets/story.sh new file mode 100644 index 00000000..4b918b4c --- /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..ec1013bc --- /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/tests/test_council.sh b/scripts/tests/test_council.sh new file mode 100755 index 00000000..a1fc54ee --- /dev/null +++ b/scripts/tests/test_council.sh @@ -0,0 +1,29 @@ +./test_setup.sh + +ARGS="--node tcp://localhost:26659 --gas 8000000" + +for i in {0..5} +do +./createUser.sh $i +done + +cardchaind tx cardchain create-council 0 --from "Cooler Typ" $ARGS + +for i in {0..5} +do +cardchaind tx cardchain register-for-council --from $i $ARGS +done + +for i in {0..5} +do +cardchaind tx cardchain commit-council-response 0 Yes $i "" --from $i $ARGS +done + +cardchaind q cardchain q-council 0 $ARGS + +for i in {0..5} +do +cardchaind tx cardchain reveal-council-response 0 Yes $i --from $i $ARGS +done + +cardchaind q cardchain q-council 0 $ARGS diff --git a/scripts/tests/test_reporting.sh b/scripts/tests/test_reporting.sh new file mode 100755 index 00000000..0b93a866 --- /dev/null +++ b/scripts/tests/test_reporting.sh @@ -0,0 +1,11 @@ +#./createUser.sh player1 +#./createUser.sh player2 +#./createUser.sh reporter1 + +NUM=43 + +cardchaind tx cardchain open-match `cardchaind keys show player1 --address` `cardchaind keys show player2 --address` "[1,2,3,7,8,624]" "[4,5,6,10,11,12,672]" --from reporter1 --gas auto + +cardchaind tx cardchain confirm-match $NUM BWon "[{\"cardId\": 672, \"voteType\": 3}]" --from player1 --gas auto +cardchaind tx cardchain confirm-match $NUM BWon "[{\"cardId\": 624, \"voteType\": 2}]" --from player2 --gas auto +cardchaind tx cardchain report-match $NUM "[2,3,8,624]" "[4,5,6,12,672]" BWon --from reporter1 --gas auto \ No newline at end of file diff --git a/scripts/tests/test_setup.sh b/scripts/tests/test_setup.sh new file mode 100755 index 00000000..8d7b7d45 --- /dev/null +++ b/scripts/tests/test_setup.sh @@ -0,0 +1,17 @@ +#!/usr/bin/bash + +ARGS="--node tcp://localhost:26659" + +cardchaind keys add "Cooler Typ" + +cardchaind keys add "Cooler Artist" + +cardchaind tx cardchain createuser $(cardchaind keys show "Cooler Typ" --address) "Cooler Typ" --from alice $ARGS + +cardchaind tx cardchain createuser $(cardchaind keys show "Cooler Artist" --address) "Cooler Artist" --from alice $ARGS + +cardchaind tx cardchain buy-card-scheme 8000000000ucredits --from "Cooler Typ" $ARGS + +cardchaind tx cardchain save-card-content 0 '{"Entity":{"CardName":"Yees","CastingCost":13,"Class":{"Nature":false,"Mysticism":false,"Technology":true,"Culture":true},"Abilities":[{"Pay":{"ManaAmount":2,"Effects":[{"Arm":{"Target":"RANDOM","Amount":{"SimpleIntValue":3}}}]}}],"Attack":10,"Health":10,"FlavourText":"-.-","Tags":["SPIRIT"],"Keywords":["[\"Periodic\", \"Ravage\"]"],"RulesTexts":["This could be your RulesText",""]}}' "no notes" "$(cardchaind keys show "Cooler Artist" --address)" --from "Cooler Typ" --gas 99000000 $ARGS + +cardchaind tx cardchain add-artwork 0 "data:image/jpeg;base64,$(base64 ./pic.jpg)" true --from "Cooler Artist" --gas 990000000 $ARGS diff --git a/scripts/validators/craft_genesis_balances.js b/scripts/validators/craft_genesis_balances.js new file mode 100644 index 00000000..a1f4f957 --- /dev/null +++ b/scripts/validators/craft_genesis_balances.js @@ -0,0 +1,30 @@ +const fs = require('node:fs'); +const R = require('ramda'); + + +const testFolder = './snapshots/'; +let files = fs.readdirSync(testFolder); + +let data = []; +files.forEach(file => { + let content = fs.readFileSync('snapshots/'+file, "utf8"); + let contentArray = R.map(R.split('\t'), R.split('\n', content)) + data = R.append(contentArray, data) +}); + +let dataObj = {} +data.forEach(file => { + let fileObj = {} + file.forEach(entry => { + if (dataObj[entry[0]]) dataObj[entry[0]] += parseInt(entry[1]) + else dataObj[entry[0]] = parseInt(entry[1]) + }) +}) + +saveableData = [] +R.mapObjIndexed((val, key) => saveableData.push(key+"\t"+val), dataObj) +saveableData = saveableData.join("\n") + +console.log(saveableData) +fs.writeFileSync("merged_genesis_balances.tsv", saveableData); + diff --git a/scripts/validators/genesis_balances.tsv b/scripts/validators/genesis_balances.tsv new file mode 100644 index 00000000..8264dff2 --- /dev/null +++ b/scripts/validators/genesis_balances.tsv @@ -0,0 +1 @@ +"cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn\t56000\ncc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur\t21850\ncc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86\t4900\ncc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2\t500\ncc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4\t18850\ncc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk\t82350\ncc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f\t5000\ncc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k\t1000\ncc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8\t10000\ncc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3\t1500\ncc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s\t48000\ncc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys\t3000\ncc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c\t1400\ncc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j\t100\ncc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw\t600\ncc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7\t100\ncc1vuzh99j2ggdf3c2rzkwursvp2jx9r4u7mvuj8h\t100\ncc1mp77nu88lx3760lzpqf868s49ezdpg7gfljkun\t300\ncc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy\t700\ncc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q\t800\ncc1uzvzgt04gg4t70jquhdxa9mgyzkc88m3czxdps\t100\ncc1x4yvn76pveqwej9gy3pcxqst5z66p4e2wzg70a\t100\ncc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx\t700\ncc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64\t500\ncc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8\t100\ncc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d\t700\ncc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp\t700\ncc1jdxal827zlmpjpdu75v9zcuda4gfudryxql2ze\t200\ncc1w6sdrxkys6qq94mdm5eawk2aqfhcs55hld7tad\t100\ncc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x\t200\ncc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp\t500\ncc1k4xdq5n5t0wmlttn3n05rlk2wrftfp3vs8997n\t300\ncc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj\t300\ncc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06\t500\ncc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk\t700\ncc1vh452a3zyyqkngfffsf9cvj8nzhrf0a8zxu6hn\t100\ncc12j8wxashnunc7pvh8ep383sy55rk086wn6m62l\t100\ncc177vpk4unx4d5pwsrwj4kd2jqq0xya9k9ztk8u7\t100\ncc1qa8t2ed87x8tgdwyw2tcgxpsg4stvn4w64rtna\t100\ncc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq\t100\ncc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4\t500\ncc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w\t700\ncc1ekdz6rlnh4sx02wnwhdzheqq4l7pgvptjn2yu9\t300\ncc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r\t600\ncc1nfn9yev2ry0nmh0r5akpym58udmevt75pume5s\t300\ncc1dwjsqp2psjyyaujxmwv76e6dk767tuamhxx0t2\t600\ncc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele\t700\ncc147zd6esmydn05pjwghzxmp2lztk0562gal3qnp\t300\ncc19u8dpw8jp4mcelpelhp3pkam2sxzr6gdz8y3zt\t200\ncc18dnnlpy3l6j7v0pekf73xxm6kh3z7chhpp6xev\t400\ncc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe\t300\ncc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla\t700\ncc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j\t700\ncc1ehad6hausea0qc8t3amxlpqs5rx2c05zmds3k9\t200\ncc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa\t1000\ncc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl\t100\ncc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys\t100\ncc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj\t800\ncc1tnxxhkf3s8apvf34270vde7t9u59t6xxq9xsac\t100\ncc1fss98cftj6g8h24yzxfhq2q0hr06n3u5ca62zf\t100\ncc1wwg5f8x6c6dsucm22xkfppus6ul76ck9w3m7mc\t100\ncc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf\t500\ncc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23\t500\ncc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk\t400\ncc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h\t100\ncc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8\t700\ncc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu\t700\ncc1ep8qq32hh7ndtdcztgd2rrzlq8dcmvmmantevt\t100\ncc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57\t400\ncc1wkuexd8n4lvd6032p4yuwnuf4cctd8m9cph6j5\t300\ncc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g\t700\ncc1cy0ulsvus9ar70xst9x75cy4grxheqj88fk6vx\t200\ncc1jwavmmr75p25ay6atyaw4yw2pveywag8yz0rrw\t100\ncc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25\t600\ncc1unulf3ezmkwjdgcmvskkc3anf3phw8fh8krxv7\t100\ncc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k\t3800\ncc13rvr4c369rhw63pjxcjvjpjy5ck9mm6pajz87r\t200\ncc1klpp6q7dzd3mafjve3f3ejt4c5y5nfeldt57j7\t100\ncc1g76zzp0neeulx9p7cvfh00vz2eq5d04v26ntsg\t200\ncc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x\t600\ncc1vwg80fptuqmn0e3tnnqcgd0sm3u3a2s09qtq5m\t400\ncc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k\t700\ncc13ycv4yp4u58xk9gghwlfjkey2y9smezpezd4x4\t100\ncc1c4smhzxtlzarjgrnueetdcjm3kjq3kx4sfkk3j\t500\ncc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz\t700\ncc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz\t600\ncc1q8zrfyv7muv7aflr5xzn069zfumy4xs8w6a3xn\t100\ncc14jzqhuk7s0c2ytspgrnq3ljqfxq5fjynr5q2zm\t100\ncc1prnmjqvp2080lgugjle0492ratxa387npjgz37\t200\ncc1qrjt6rsmn9qvs52suyujhuu8qp7a3520es7xy4\t300\ncc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y\t500\ncc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz\t700\ncc1slj7amnmemt0t0f8uahnnyv2ztdwuc30sxgdku\t100\ncc10zh0cdzdzxz8449v0pg4a2f32yueq8szrkw9qc\t100\ncc12jwxqch0xv6yn5e5jlyszqae43vzsag7xemygj\t100\ncc12jzf6x8qe77ephgx0cs0q276g2ptapzlr4k2ew\t100\ncc12l3zzykqyuunf9nlh2kkmugr09euy5hd5lcgws\t100\ncc13h9d5z77sfksv6uweheg38669g270puzkw5pwx\t100\ncc13p9cvq5atl2cagnjsxsm72vnyfkfnngulj28g3\t100\ncc13sany3heekznx5d2yur3v7rxj3f00ma6jv5eqq\t100\ncc146dmvlqxrcwa2h6ulg34l84wg07pmycyfsr0mq\t100\ncc14va4c3sfpxyapjjgl9mguwr82zc6v4f4tzellx\t100\ncc154pwgwvec6m3746wdgqwct7qw7vw3ujvw6uw0r\t100\ncc15nxn2qs00y367qw3789dc089kv2dmdakcva2ud\t100\ncc17p0qlp5j6de7tjr0fuu8xyp708d292tvx8wrek\t200\ncc18cpvvupy2xd8s6xurnzfh7z7c3ystll8kplyxc\t100\ncc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk\t300\ncc19hwl8xvvk0fsu5lyakum22wstkdclfh82nlt3t\t100\ncc1a9kvywsn2fpuvtsjq4yk0p048ds7ejv4xdk23x\t300\ncc1cqd0ka6td2tr7ulfd3ynggk0njspcp5827x3hn\t300\ncc1cvaf96kz8jz8u4435p0yrjgel0t8zgz33p2cpe\t100\ncc1d5cpaahz23nanxd69aeag44xecp0fu0a5flfus\t100\ncc1dwx5cq7q53mlvkyjpgpwafyktk76qnxtaxm9j3\t100\ncc1f6u85enm6dfq8y7rqyfq2550eztcjh9ud7vjr6\t100\ncc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr\t200\ncc1f8s69xmkm9e0uxjr9ylg0rfxukfzgwldphv5y9\t200\ncc1fse4rke7mvveasnss47ztngwl4hwg7gm7egl5u\t100\ncc1h5ejeeas7v85q80k7p6hxaqyu8c8kn6lnav72k\t100\ncc1h7upe2prq8hdhzukyhpg9ec7njmmw3e5u8dmts\t100\ncc1hjjv4h3l2x77vrv0ypvcu6twuy0tfnx8s8yj6k\t100\ncc1hmsev8vpg60h67plrwvx2tmx3xzwfednjvl2fz\t100\ncc1jjenfqlk00swjpn8vwd93rzx0guxg3tmrgsw90\t200\ncc1jpucyzqw96sdpkqqkhz2k6qqte08ev88yy3jja\t100\ncc1jxqhq2kskfzyhhm4acy8cd68ph5az54t0tdyud\t200\ncc1kg85kh7pamfnj2j3k4g0y93nwkpj4txfvxk86d\t100\ncc1m8lsz20hms79we5yn5ckml30kgg5mu6deslxym\t100\ncc1mjqmlxa8aze6mduq4ucyvtdjttc78dgtt0secn\t200\ncc1n44vc78vjmuvpfcaxarzta8wsutrh08cy36u3v\t100\ncc1pjpaf9af7kh83kk7z4wgxyaw6772qggajzkt7x\t100\ncc1py6acxj4d2l4694kyqj34mwhgr5f04pyn2wac5\t100\ncc1qu6hwj678c5tm0j7q52rda8w8ftjes5cw9axu5\t100\ncc1rhdpj0vrfmdfxwntj8evmncdhc35xp0edsnczk\t100\ncc1u7wrw08y8wm0m8ev9c5tu62fk9jwa2vst6ajfa\t100\ncc1vg2kwnamjp0q0rdcsq2n8wkp0sx7c042ehuwek\t100\ncc1vknmv3g5vfg96276m3nuzg3temqthz0exru50z\t100\ncc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz\t200\ncc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z\t100\ncc1wlmkgs6mckzphx42pxm8xaxwd9q997y2dzcphp\t200\ncc1x2m6chcf68ujqqcsm8smu2ycfltf3cf486t2x8\t100\ncc1xwcl8277d39q75q6eear3y8m8ymrapmtsf5wty\t100\ncc1yc2zwyh6v545nv5sgh7gv340nlc7x5wf0kyu53\t100\ncc1yll7qpdep4h7vg8na8jfwvfluy50j5damm6ua2\t100\ncc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn\t300\ncc13v8pucmwnnmhlkh2ajyhdezh3ktap3uuzradg0\t100\ncc182n9vgjdqjxc59lluf599s07m0ptlr0effrapu\t100\ncc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv\t300\ncc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g\t400\ncc1jxyvvt3kym3paa6v0j7jlp3ldtfcsgsltvd79t\t100\ncc1lghgn9xghujw82jy3fskpzzd9faxkse2dkejfh\t100\ncc1p9653c8puaum26fxnmm85xumflakn22uj4sxqt\t100\ncc1s9arxcl3y57aeavu0qx4v97720wm4cpudte0g4\t100\ncc1zvgued20j7ltucwduwe2tsvhfwxdpu4lcla2tz\t100\ncc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf\t300\ncc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m\t100\ncc10xzsrcxr6y0e52nvwxrf30892mnsc8zsges8fy\t100\ncc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v\t200\ncc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5\t200\ncc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt\t200\ncc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92\t200\ncc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f\t200\ncc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0\t200" \ No newline at end of file diff --git a/scripts/validators/get_delegators.sh b/scripts/validators/get_delegators.sh new file mode 100644 index 00000000..ec5b2c3e --- /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/scripts/validators/merged_genesis_balances.tsv b/scripts/validators/merged_genesis_balances.tsv new file mode 100644 index 00000000..d03e835e --- /dev/null +++ b/scripts/validators/merged_genesis_balances.tsv @@ -0,0 +1,201 @@ +Address Balance +cc1pfhx45ajlpk85sfn3mwyfvznct2tdeuv7vv7v6 100 +cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 500 +cc1p3kejss5t4zugkaffpdm65h0lvv4847rpfhdwt 200 +cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 800 +cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 1100 +cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 1200 +cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 1000 +cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 600 +cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 1000 +cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 600 +cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 600 +cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 1000 +cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 400 +cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 1000 +cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 1000 +cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 600 +cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 1000 +cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 400 +cc1v32ggu70yw6mwh7zeyaz7a9n0znkk34ypsc59h 100 +cc1vnyum3ntr4ejhhekfd5ke5ul74rcgcx5ku5xes 100 +cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 900 +cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 800 +cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 700 +cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 1000 +cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 300 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 4100 +cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 1100 +cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 300 +cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 1000 +cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 500 +cc1r9zywgy53xg093ssdfkr9agudnyfzpmmc5hdhu 100 +cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 400 +cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 400 +cc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v 400 +cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 1000 +cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 1000 +cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 700 +cc1cve8ft5d7hmccz7ehc8qxzrc0cq9s6egg5zd9k 200 +cc1cey5d65p9k5y66e8vttur4mn9cr0nmc9jfde4y 100 +cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 300 +cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 600 +cc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt 300 +cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 1000 +cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 800 +cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 1000 +cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 800 +cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 900 +cc1un7clms2rsg99842ywkacjg4y6duspqp4u5vze 100 +cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 1000 +cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 800 +cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 900 +cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 300 +cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 900 +cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 1000 +cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 800 +cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 900 +cc1lcd6ueqfq2h934vhzxclzzgla3nrd646m3v0hv 100 +cc198ppn5ezf3zt90a6uawcskvy407vrduzzfzqh0 100 +cc1x3xdfj8gsam2872y7ykrn4q9u2l64n2mx6x3ud 100 +cc1xe80y8xsse2ty60cgaetny443tmr95thj2whsf 100 +cc1895x9k0yz7fwqe69dgkz8m9wuajn9wz42hap4t 100 +cc18xuf9hngrey0xe2dljxt9mjwksr42qcsz00ytn 100 +cc1gfvfexqjhz660fwqfpyhutenzk788un29zh2xe 100 +cc1ga6vrq6tw3lgvs7z5lr76j4mv6wt745cf2mr6v 100 +cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 300 +cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk 200 +cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 200 +cc1dn50kpwc8vxajpllam4l62zk4g37x2m0c7qgs9 100 +cc1whlxz73h8t22ytsdzm04aknlxm2gz04ugcy4eq 200 +cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 300 +cc139rf2wl9mxa348tnr957ev7c4x85jjln9am59l 100 +cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 700 +cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 500 +cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 300 +cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 700 +cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha 200 +cc15lwe6hczz9czh2msktksn7mvjsl5t8gz9zzl3l 200 +cc1has2wgz58xw0sfaa60z437dl3vs7u52gmury3y 100 +cc1e7rmfv2vlkn830396tl07jhqh822z0wd8x7k6j 100 +cc1m2gy6xkjdwyk6dkvkryckzg5emhmmnxpqxcgez 100 +cc1mv33hfvvu5pkajc6ear846yclcewceynehj2uj 100 +cc17d4ua8vww2znmzg2w0h65qy7fpqpa25ktmflyg 100 +cc19z20ne3ef575dgfk5ff67xtu0uup8yuj36629j 100 +cc1xaxmxvrhtsnemgcw2lc3mh3lwffk5h730wqacy 100 +cc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m 200 +cc1se7v7c8gslwckfnzmj8halgd67fqfgnnjhzuey 100 +cc1n485ndjsz04nka8q79u3e79u3k5tp5ltfhk2nl 100 +cc1k2g0l077raf7jyn5phqkh8y30eah6lgscv0x8z 100 +cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 400 +cc1cdcsjndsm8ddmd6av7f4zwwn6fqtq34pls4t40 100 +cc16mm2pqdtts8rttlgwg74zcnwg7jfhvxcawn0md 100 +cc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq 200 +cc1axcus06j2k6e359pgplu7w69pp276tgpzra5tf 100 +cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz 357759 +cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn 56000 +cc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur 21850 +cc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86 4900 +cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 500 +cc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4 18850 +cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk 82350 +cc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f 5000 +cc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k 1000 +cc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8 10000 +cc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3 1500 +cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s 48000 +cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 3100 +cc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c 1400 +cc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7 100 +cc1vuzh99j2ggdf3c2rzkwursvp2jx9r4u7mvuj8h 100 +cc1mp77nu88lx3760lzpqf868s49ezdpg7gfljkun 300 +cc1uzvzgt04gg4t70jquhdxa9mgyzkc88m3czxdps 100 +cc1x4yvn76pveqwej9gy3pcxqst5z66p4e2wzg70a 100 +cc1jdxal827zlmpjpdu75v9zcuda4gfudryxql2ze 200 +cc1w6sdrxkys6qq94mdm5eawk2aqfhcs55hld7tad 100 +cc1k4xdq5n5t0wmlttn3n05rlk2wrftfp3vs8997n 300 +cc1vh452a3zyyqkngfffsf9cvj8nzhrf0a8zxu6hn 100 +cc12j8wxashnunc7pvh8ep383sy55rk086wn6m62l 100 +cc177vpk4unx4d5pwsrwj4kd2jqq0xya9k9ztk8u7 100 +cc1qa8t2ed87x8tgdwyw2tcgxpsg4stvn4w64rtna 100 +cc1ekdz6rlnh4sx02wnwhdzheqq4l7pgvptjn2yu9 300 +cc1nfn9yev2ry0nmh0r5akpym58udmevt75pume5s 300 +cc1dwjsqp2psjyyaujxmwv76e6dk767tuamhxx0t2 600 +cc147zd6esmydn05pjwghzxmp2lztk0562gal3qnp 300 +cc19u8dpw8jp4mcelpelhp3pkam2sxzr6gdz8y3zt 200 +cc18dnnlpy3l6j7v0pekf73xxm6kh3z7chhpp6xev 400 +cc1ehad6hausea0qc8t3amxlpqs5rx2c05zmds3k9 200 +cc1tnxxhkf3s8apvf34270vde7t9u59t6xxq9xsac 100 +cc1fss98cftj6g8h24yzxfhq2q0hr06n3u5ca62zf 100 +cc1wwg5f8x6c6dsucm22xkfppus6ul76ck9w3m7mc 100 +cc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h 100 +cc1ep8qq32hh7ndtdcztgd2rrzlq8dcmvmmantevt 100 +cc1wkuexd8n4lvd6032p4yuwnuf4cctd8m9cph6j5 300 +cc1cy0ulsvus9ar70xst9x75cy4grxheqj88fk6vx 200 +cc1jwavmmr75p25ay6atyaw4yw2pveywag8yz0rrw 100 +cc1unulf3ezmkwjdgcmvskkc3anf3phw8fh8krxv7 100 +cc13rvr4c369rhw63pjxcjvjpjy5ck9mm6pajz87r 200 +cc1klpp6q7dzd3mafjve3f3ejt4c5y5nfeldt57j7 100 +cc1g76zzp0neeulx9p7cvfh00vz2eq5d04v26ntsg 200 +cc1vwg80fptuqmn0e3tnnqcgd0sm3u3a2s09qtq5m 400 +cc13ycv4yp4u58xk9gghwlfjkey2y9smezpezd4x4 100 +cc1c4smhzxtlzarjgrnueetdcjm3kjq3kx4sfkk3j 500 +cc1q8zrfyv7muv7aflr5xzn069zfumy4xs8w6a3xn 100 +cc14jzqhuk7s0c2ytspgrnq3ljqfxq5fjynr5q2zm 100 +cc1prnmjqvp2080lgugjle0492ratxa387npjgz37 200 +cc1qrjt6rsmn9qvs52suyujhuu8qp7a3520es7xy4 300 +cc1slj7amnmemt0t0f8uahnnyv2ztdwuc30sxgdku 100 +cc10zh0cdzdzxz8449v0pg4a2f32yueq8szrkw9qc 100 +cc12jwxqch0xv6yn5e5jlyszqae43vzsag7xemygj 100 +cc12jzf6x8qe77ephgx0cs0q276g2ptapzlr4k2ew 100 +cc12l3zzykqyuunf9nlh2kkmugr09euy5hd5lcgws 100 +cc13h9d5z77sfksv6uweheg38669g270puzkw5pwx 100 +cc13p9cvq5atl2cagnjsxsm72vnyfkfnngulj28g3 100 +cc13sany3heekznx5d2yur3v7rxj3f00ma6jv5eqq 100 +cc146dmvlqxrcwa2h6ulg34l84wg07pmycyfsr0mq 100 +cc14va4c3sfpxyapjjgl9mguwr82zc6v4f4tzellx 100 +cc154pwgwvec6m3746wdgqwct7qw7vw3ujvw6uw0r 100 +cc15nxn2qs00y367qw3789dc089kv2dmdakcva2ud 100 +cc17p0qlp5j6de7tjr0fuu8xyp708d292tvx8wrek 200 +cc18cpvvupy2xd8s6xurnzfh7z7c3ystll8kplyxc 100 +cc19hwl8xvvk0fsu5lyakum22wstkdclfh82nlt3t 100 +cc1a9kvywsn2fpuvtsjq4yk0p048ds7ejv4xdk23x 300 +cc1cqd0ka6td2tr7ulfd3ynggk0njspcp5827x3hn 300 +cc1cvaf96kz8jz8u4435p0yrjgel0t8zgz33p2cpe 100 +cc1d5cpaahz23nanxd69aeag44xecp0fu0a5flfus 100 +cc1dwx5cq7q53mlvkyjpgpwafyktk76qnxtaxm9j3 100 +cc1f6u85enm6dfq8y7rqyfq2550eztcjh9ud7vjr6 100 +cc1f8s69xmkm9e0uxjr9ylg0rfxukfzgwldphv5y9 200 +cc1fse4rke7mvveasnss47ztngwl4hwg7gm7egl5u 100 +cc1h5ejeeas7v85q80k7p6hxaqyu8c8kn6lnav72k 100 +cc1h7upe2prq8hdhzukyhpg9ec7njmmw3e5u8dmts 100 +cc1hjjv4h3l2x77vrv0ypvcu6twuy0tfnx8s8yj6k 100 +cc1hmsev8vpg60h67plrwvx2tmx3xzwfednjvl2fz 100 +cc1jjenfqlk00swjpn8vwd93rzx0guxg3tmrgsw90 200 +cc1jpucyzqw96sdpkqqkhz2k6qqte08ev88yy3jja 100 +cc1jxqhq2kskfzyhhm4acy8cd68ph5az54t0tdyud 200 +cc1kg85kh7pamfnj2j3k4g0y93nwkpj4txfvxk86d 100 +cc1m8lsz20hms79we5yn5ckml30kgg5mu6deslxym 100 +cc1mjqmlxa8aze6mduq4ucyvtdjttc78dgtt0secn 200 +cc1n44vc78vjmuvpfcaxarzta8wsutrh08cy36u3v 100 +cc1pjpaf9af7kh83kk7z4wgxyaw6772qggajzkt7x 100 +cc1py6acxj4d2l4694kyqj34mwhgr5f04pyn2wac5 100 +cc1qu6hwj678c5tm0j7q52rda8w8ftjes5cw9axu5 100 +cc1rhdpj0vrfmdfxwntj8evmncdhc35xp0edsnczk 100 +cc1u7wrw08y8wm0m8ev9c5tu62fk9jwa2vst6ajfa 100 +cc1vg2kwnamjp0q0rdcsq2n8wkp0sx7c042ehuwek 100 +cc1vknmv3g5vfg96276m3nuzg3temqthz0exru50z 100 +cc1wlmkgs6mckzphx42pxm8xaxwd9q997y2dzcphp 200 +cc1x2m6chcf68ujqqcsm8smu2ycfltf3cf486t2x8 100 +cc1xwcl8277d39q75q6eear3y8m8ymrapmtsf5wty 100 +cc1yc2zwyh6v545nv5sgh7gv340nlc7x5wf0kyu53 100 +cc1yll7qpdep4h7vg8na8jfwvfluy50j5damm6ua2 100 +cc13v8pucmwnnmhlkh2ajyhdezh3ktap3uuzradg0 100 +cc182n9vgjdqjxc59lluf599s07m0ptlr0effrapu 100 +cc1jxyvvt3kym3paa6v0j7jlp3ldtfcsgsltvd79t 100 +cc1lghgn9xghujw82jy3fskpzzd9faxkse2dkejfh 100 +cc1p9653c8puaum26fxnmm85xumflakn22uj4sxqt 100 +cc1s9arxcl3y57aeavu0qx4v97720wm4cpudte0g4 100 +cc1zvgued20j7ltucwduwe2tsvhfwxdpu4lcla2tz 100 +cc10xzsrcxr6y0e52nvwxrf30892mnsc8zsges8fy 100 +cc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0 200 \ No newline at end of file diff --git a/scripts/validators/package-lock.json b/scripts/validators/package-lock.json new file mode 100644 index 00000000..301d0bbe --- /dev/null +++ b/scripts/validators/package-lock.json @@ -0,0 +1,21 @@ +{ + "name": "validators", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "ramda": "^0.30.1" + } + }, + "node_modules/ramda": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", + "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" + } + } + } +} diff --git a/scripts/validators/package.json b/scripts/validators/package.json new file mode 100644 index 00000000..0c5a99ba --- /dev/null +++ b/scripts/validators/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "ramda": "^0.30.1" + } +} diff --git a/scripts/validators/snapshots/airdrop05.01.24.tsv b/scripts/validators/snapshots/airdrop05.01.24.tsv new file mode 100644 index 00000000..baa39f0c --- /dev/null +++ b/scripts/validators/snapshots/airdrop05.01.24.tsv @@ -0,0 +1,57 @@ +cc1pfhx45ajlpk85sfn3mwyfvznct2tdeuv7vv7v6 100 +cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 100 +cc1p3kejss5t4zugkaffpdm65h0lvv4847rpfhdwt 100 +cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 100 +cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 100 +cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 100 +cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 100 +cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 100 +cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 100 +cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 100 +cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 100 +cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 100 +cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 100 +cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 100 +cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 100 +cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 100 +cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 100 +cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 100 +cc1v32ggu70yw6mwh7zeyaz7a9n0znkk34ypsc59h 100 +cc1vnyum3ntr4ejhhekfd5ke5ul74rcgcx5ku5xes 100 +cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 100 +cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 100 +cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 100 +cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 100 +cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 100 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 100 +cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 100 +cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 100 +cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 100 +cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 100 +cc1r9zywgy53xg093ssdfkr9agudnyfzpmmc5hdhu 100 +cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 100 +cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 100 +cc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v 100 +cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 100 +cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 100 +cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 100 +cc1cve8ft5d7hmccz7ehc8qxzrc0cq9s6egg5zd9k 100 +cc1cey5d65p9k5y66e8vttur4mn9cr0nmc9jfde4y 100 +cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 100 +cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 100 +cc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt 100 +cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 100 +cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 100 +cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 100 +cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 100 +cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 100 +cc1un7clms2rsg99842ywkacjg4y6duspqp4u5vze 100 +cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 100 +cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 100 +cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 100 +cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 100 +cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 100 +cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 100 +cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 100 +cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 100 +cc1lcd6ueqfq2h934vhzxclzzgla3nrd646m3v0hv 100 \ No newline at end of file diff --git a/scripts/validators/snapshots/airdrop16.04.24.tsv b/scripts/validators/snapshots/airdrop16.04.24.tsv new file mode 100644 index 00000000..c423be77 --- /dev/null +++ b/scripts/validators/snapshots/airdrop16.04.24.tsv @@ -0,0 +1,66 @@ +cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 100 +cc1p3kejss5t4zugkaffpdm65h0lvv4847rpfhdwt 100 +cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 100 +cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 100 +cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 100 +cc198ppn5ezf3zt90a6uawcskvy407vrduzzfzqh0 100 +cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 100 +cc1x3xdfj8gsam2872y7ykrn4q9u2l64n2mx6x3ud 100 +cc1xe80y8xsse2ty60cgaetny443tmr95thj2whsf 100 +cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 100 +cc1895x9k0yz7fwqe69dgkz8m9wuajn9wz42hap4t 100 +cc18xuf9hngrey0xe2dljxt9mjwksr42qcsz00ytn 100 +cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 100 +cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 100 +cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 100 +cc1gfvfexqjhz660fwqfpyhutenzk788un29zh2xe 100 +cc1ga6vrq6tw3lgvs7z5lr76j4mv6wt745cf2mr6v 100 +cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 100 +cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 100 +cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 100 +cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 100 +cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 100 +cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk 100 +cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 100 +cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 100 +cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 100 +cc1dn50kpwc8vxajpllam4l62zk4g37x2m0c7qgs9 100 +cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 100 +cc1whlxz73h8t22ytsdzm04aknlxm2gz04ugcy4eq 100 +cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 100 +cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 100 +cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 100 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 100 +cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 100 +cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 100 +cc139rf2wl9mxa348tnr957ev7c4x85jjln9am59l 100 +cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 100 +cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 100 +cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 100 +cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 100 +cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 100 +cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 100 +cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha 100 +cc15lwe6hczz9czh2msktksn7mvjsl5t8gz9zzl3l 100 +cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 100 +cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 100 +cc1has2wgz58xw0sfaa60z437dl3vs7u52gmury3y 100 +cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 100 +cc1cve8ft5d7hmccz7ehc8qxzrc0cq9s6egg5zd9k 100 +cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 100 +cc1e7rmfv2vlkn830396tl07jhqh822z0wd8x7k6j 100 +cc1m2gy6xkjdwyk6dkvkryckzg5emhmmnxpqxcgez 100 +cc1mv33hfvvu5pkajc6ear846yclcewceynehj2uj 100 +cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 100 +cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 100 +cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 100 +cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 100 +cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 100 +cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 100 +cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 100 +cc17d4ua8vww2znmzg2w0h65qy7fpqpa25ktmflyg 100 +cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 100 +cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 100 +cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 100 +cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 100 +cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 100 \ No newline at end of file diff --git a/scripts/validators/snapshots/airdrop28.02.24.tsv b/scripts/validators/snapshots/airdrop28.02.24.tsv new file mode 100644 index 00000000..d7f300b5 --- /dev/null +++ b/scripts/validators/snapshots/airdrop28.02.24.tsv @@ -0,0 +1,67 @@ +cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 100 +cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 100 +cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 100 +cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 100 +cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 100 +cc19z20ne3ef575dgfk5ff67xtu0uup8yuj36629j 100 +cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 100 +cc1xaxmxvrhtsnemgcw2lc3mh3lwffk5h730wqacy 100 +cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 100 +cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 100 +cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 100 +cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 100 +cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 100 +cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 100 +cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 100 +cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 100 +cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 100 +cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 100 +cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk 100 +cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 100 +cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 100 +cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 100 +cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 100 +cc1whlxz73h8t22ytsdzm04aknlxm2gz04ugcy4eq 100 +cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 100 +cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 100 +cc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m 100 +cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks 100 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 100 +cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 100 +cc1se7v7c8gslwckfnzmj8halgd67fqfgnnjhzuey 100 +cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu 100 +cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 100 +cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 100 +cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 100 +cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 100 +cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 100 +cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 100 +cc1n485ndjsz04nka8q79u3e79u3k5tp5ltfhk2nl 100 +cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha 100 +cc15lwe6hczz9czh2msktksn7mvjsl5t8gz9zzl3l 100 +cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 100 +cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 100 +cc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v 100 +cc1k2g0l077raf7jyn5phqkh8y30eah6lgscv0x8z 100 +cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 100 +cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 100 +cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 100 +cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 100 +cc1cdcsjndsm8ddmd6av7f4zwwn6fqtq34pls4t40 100 +cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy 100 +cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 100 +cc16mm2pqdtts8rttlgwg74zcnwg7jfhvxcawn0md 100 +cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 100 +cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 100 +cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 100 +cc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq 100 +cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 100 +cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 100 +cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 100 +cc1axcus06j2k6e359pgplu7w69pp276tgpzra5tf 100 +cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 100 +cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 100 +cc174n8dykfuuh3wl3fzgy8sqfj04kyu9tms3kc2g 100 +cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 100 +cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 100 +cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 100 \ No newline at end of file diff --git a/scripts/validators/snapshots/genesis_balances.tsv b/scripts/validators/snapshots/genesis_balances.tsv new file mode 100644 index 00000000..0eddf814 --- /dev/null +++ b/scripts/validators/snapshots/genesis_balances.tsv @@ -0,0 +1,162 @@ +cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz 357759 +cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn 56000 +cc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur 21850 +cc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86 4900 +cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 500 +cc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4 18850 +cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk 82350 +cc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f 5000 +cc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k 1000 +cc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8 10000 +cc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3 1500 +cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s 48000 +cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 3000 +cc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c 1400 +cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 100 +cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 600 +cc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7 100 +cc1vuzh99j2ggdf3c2rzkwursvp2jx9r4u7mvuj8h 100 +cc1mp77nu88lx3760lzpqf868s49ezdpg7gfljkun 300 +cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 700 +cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 800 +cc1uzvzgt04gg4t70jquhdxa9mgyzkc88m3czxdps 100 +cc1x4yvn76pveqwej9gy3pcxqst5z66p4e2wzg70a 100 +cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 700 +cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 500 +cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 100 +cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 700 +cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 700 +cc1jdxal827zlmpjpdu75v9zcuda4gfudryxql2ze 200 +cc1w6sdrxkys6qq94mdm5eawk2aqfhcs55hld7tad 100 +cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 200 +cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 500 +cc1k4xdq5n5t0wmlttn3n05rlk2wrftfp3vs8997n 300 +cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 300 +cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 500 +cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 700 +cc1vh452a3zyyqkngfffsf9cvj8nzhrf0a8zxu6hn 100 +cc12j8wxashnunc7pvh8ep383sy55rk086wn6m62l 100 +cc177vpk4unx4d5pwsrwj4kd2jqq0xya9k9ztk8u7 100 +cc1qa8t2ed87x8tgdwyw2tcgxpsg4stvn4w64rtna 100 +cc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq 100 +cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 500 +cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 700 +cc1ekdz6rlnh4sx02wnwhdzheqq4l7pgvptjn2yu9 300 +cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 600 +cc1nfn9yev2ry0nmh0r5akpym58udmevt75pume5s 300 +cc1dwjsqp2psjyyaujxmwv76e6dk767tuamhxx0t2 600 +cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 700 +cc147zd6esmydn05pjwghzxmp2lztk0562gal3qnp 300 +cc19u8dpw8jp4mcelpelhp3pkam2sxzr6gdz8y3zt 200 +cc18dnnlpy3l6j7v0pekf73xxm6kh3z7chhpp6xev 400 +cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 300 +cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 700 +cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 700 +cc1ehad6hausea0qc8t3amxlpqs5rx2c05zmds3k9 200 +cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 1000 +cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 100 +cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 100 +cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 800 +cc1tnxxhkf3s8apvf34270vde7t9u59t6xxq9xsac 100 +cc1fss98cftj6g8h24yzxfhq2q0hr06n3u5ca62zf 100 +cc1wwg5f8x6c6dsucm22xkfppus6ul76ck9w3m7mc 100 +cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 500 +cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 500 +cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 400 +cc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h 100 +cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 700 +cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 700 +cc1ep8qq32hh7ndtdcztgd2rrzlq8dcmvmmantevt 100 +cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 400 +cc1wkuexd8n4lvd6032p4yuwnuf4cctd8m9cph6j5 300 +cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 700 +cc1cy0ulsvus9ar70xst9x75cy4grxheqj88fk6vx 200 +cc1jwavmmr75p25ay6atyaw4yw2pveywag8yz0rrw 100 +cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 600 +cc1unulf3ezmkwjdgcmvskkc3anf3phw8fh8krxv7 100 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 3800 +cc13rvr4c369rhw63pjxcjvjpjy5ck9mm6pajz87r 200 +cc1klpp6q7dzd3mafjve3f3ejt4c5y5nfeldt57j7 100 +cc1g76zzp0neeulx9p7cvfh00vz2eq5d04v26ntsg 200 +cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 600 +cc1vwg80fptuqmn0e3tnnqcgd0sm3u3a2s09qtq5m 400 +cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 700 +cc13ycv4yp4u58xk9gghwlfjkey2y9smezpezd4x4 100 +cc1c4smhzxtlzarjgrnueetdcjm3kjq3kx4sfkk3j 500 +cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 700 +cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 600 +cc1q8zrfyv7muv7aflr5xzn069zfumy4xs8w6a3xn 100 +cc14jzqhuk7s0c2ytspgrnq3ljqfxq5fjynr5q2zm 100 +cc1prnmjqvp2080lgugjle0492ratxa387npjgz37 200 +cc1qrjt6rsmn9qvs52suyujhuu8qp7a3520es7xy4 300 +cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 500 +cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 700 +cc1slj7amnmemt0t0f8uahnnyv2ztdwuc30sxgdku 100 +cc10zh0cdzdzxz8449v0pg4a2f32yueq8szrkw9qc 100 +cc12jwxqch0xv6yn5e5jlyszqae43vzsag7xemygj 100 +cc12jzf6x8qe77ephgx0cs0q276g2ptapzlr4k2ew 100 +cc12l3zzykqyuunf9nlh2kkmugr09euy5hd5lcgws 100 +cc13h9d5z77sfksv6uweheg38669g270puzkw5pwx 100 +cc13p9cvq5atl2cagnjsxsm72vnyfkfnngulj28g3 100 +cc13sany3heekznx5d2yur3v7rxj3f00ma6jv5eqq 100 +cc146dmvlqxrcwa2h6ulg34l84wg07pmycyfsr0mq 100 +cc14va4c3sfpxyapjjgl9mguwr82zc6v4f4tzellx 100 +cc154pwgwvec6m3746wdgqwct7qw7vw3ujvw6uw0r 100 +cc15nxn2qs00y367qw3789dc089kv2dmdakcva2ud 100 +cc17p0qlp5j6de7tjr0fuu8xyp708d292tvx8wrek 200 +cc18cpvvupy2xd8s6xurnzfh7z7c3ystll8kplyxc 100 +cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 300 +cc19hwl8xvvk0fsu5lyakum22wstkdclfh82nlt3t 100 +cc1a9kvywsn2fpuvtsjq4yk0p048ds7ejv4xdk23x 300 +cc1cqd0ka6td2tr7ulfd3ynggk0njspcp5827x3hn 300 +cc1cvaf96kz8jz8u4435p0yrjgel0t8zgz33p2cpe 100 +cc1d5cpaahz23nanxd69aeag44xecp0fu0a5flfus 100 +cc1dwx5cq7q53mlvkyjpgpwafyktk76qnxtaxm9j3 100 +cc1f6u85enm6dfq8y7rqyfq2550eztcjh9ud7vjr6 100 +cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 200 +cc1f8s69xmkm9e0uxjr9ylg0rfxukfzgwldphv5y9 200 +cc1fse4rke7mvveasnss47ztngwl4hwg7gm7egl5u 100 +cc1h5ejeeas7v85q80k7p6hxaqyu8c8kn6lnav72k 100 +cc1h7upe2prq8hdhzukyhpg9ec7njmmw3e5u8dmts 100 +cc1hjjv4h3l2x77vrv0ypvcu6twuy0tfnx8s8yj6k 100 +cc1hmsev8vpg60h67plrwvx2tmx3xzwfednjvl2fz 100 +cc1jjenfqlk00swjpn8vwd93rzx0guxg3tmrgsw90 200 +cc1jpucyzqw96sdpkqqkhz2k6qqte08ev88yy3jja 100 +cc1jxqhq2kskfzyhhm4acy8cd68ph5az54t0tdyud 200 +cc1kg85kh7pamfnj2j3k4g0y93nwkpj4txfvxk86d 100 +cc1m8lsz20hms79we5yn5ckml30kgg5mu6deslxym 100 +cc1mjqmlxa8aze6mduq4ucyvtdjttc78dgtt0secn 200 +cc1n44vc78vjmuvpfcaxarzta8wsutrh08cy36u3v 100 +cc1pjpaf9af7kh83kk7z4wgxyaw6772qggajzkt7x 100 +cc1py6acxj4d2l4694kyqj34mwhgr5f04pyn2wac5 100 +cc1qu6hwj678c5tm0j7q52rda8w8ftjes5cw9axu5 100 +cc1rhdpj0vrfmdfxwntj8evmncdhc35xp0edsnczk 100 +cc1u7wrw08y8wm0m8ev9c5tu62fk9jwa2vst6ajfa 100 +cc1vg2kwnamjp0q0rdcsq2n8wkp0sx7c042ehuwek 100 +cc1vknmv3g5vfg96276m3nuzg3temqthz0exru50z 100 +cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 200 +cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 100 +cc1wlmkgs6mckzphx42pxm8xaxwd9q997y2dzcphp 200 +cc1x2m6chcf68ujqqcsm8smu2ycfltf3cf486t2x8 100 +cc1xwcl8277d39q75q6eear3y8m8ymrapmtsf5wty 100 +cc1yc2zwyh6v545nv5sgh7gv340nlc7x5wf0kyu53 100 +cc1yll7qpdep4h7vg8na8jfwvfluy50j5damm6ua2 100 +cc126erf9dmm4e3fs0suk9lnv24wudswkm3egnpgn 300 +cc13v8pucmwnnmhlkh2ajyhdezh3ktap3uuzradg0 100 +cc182n9vgjdqjxc59lluf599s07m0ptlr0effrapu 100 +cc19t92n5x7tqe47umqn8gjynnsyp3748f4rh9fsv 300 +cc1h7hvgrlw87xjt2afwjtvwac4nnlgpdg54ss27g 400 +cc1jxyvvt3kym3paa6v0j7jlp3ldtfcsgsltvd79t 100 +cc1lghgn9xghujw82jy3fskpzzd9faxkse2dkejfh 100 +cc1p9653c8puaum26fxnmm85xumflakn22uj4sxqt 100 +cc1s9arxcl3y57aeavu0qx4v97720wm4cpudte0g4 100 +cc1zvgued20j7ltucwduwe2tsvhfwxdpu4lcla2tz 100 +cc182rjm0k682kjramysj7dwrvmznktx5kdpnjydf 300 +cc10vszh4m9hrlu3ejrzgxrt2tpzdcyu63akn5s3m 100 +cc10xzsrcxr6y0e52nvwxrf30892mnsc8zsges8fy 100 +cc14la3tkfuzwyr6ve7q0wnr4rtly0s02ufp5mq8v 200 +cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 200 +cc16ts55ed7856zntn7xlty6ak4rd0gkjqvm6tyzt 200 +cc1n598l66my3w90ccp5z2d3qg8k4qfq0xfffhw92 200 +cc1pdd0nmuj0xfwhfyt7h3wkx9zgjvs3hzl8p464f 200 +cc1z2v32c04etpkhag8ffzhajpfzx6yyh9tdl87m0 200 \ No newline at end of file diff --git a/scripts/validators/validator_snapshot.py b/scripts/validators/validator_snapshot.py new file mode 100644 index 00000000..0bd76f74 --- /dev/null +++ b/scripts/validators/validator_snapshot.py @@ -0,0 +1,111 @@ +import requests +import bech32 +import csv +import hashlib +import base64 +import bech32 +from datetime import datetime + +api = "http://202.61.225.157:1317/" +pagination_limit = 150 +uptime_percentage = 0.8 +signing_window = 30000 + +def get_validator_info(api_url, params, signing_info): + try: + response = requests.get(api_url, params=params) + + # Check if the request was successful (status code 200) + if response.status_code == 200: + data = response.json() + + # Extract ccvaloper and pubkey and convert them to address and ccvalcons + validators_info = [] + for validator in data.get("validators", []): + valoperaddress = validator.get("operator_address") + address = convert_valoper_address(valoperaddress) + consensus_pubkey = validator.get("consensus_pubkey", {}).get("key") + valconsaddress = convert_pubkey_valcons(consensus_pubkey) + + # filter validators by uptime by matching signing_info to validator_info + for validator in signing_info: + if valconsaddress == validator[0] and ((1 - int(validator[1])/signing_window)> uptime_percentage): + validators_info.append([valoperaddress, address, consensus_pubkey, valconsaddress, (1 - int(validator[1])/signing_window)]) + + + return validators_info + else: + print(f"Error: {response.status_code} - {response.text}") + return None + + except requests.RequestException as e: + print(f"An error occurred: {e}") + return None + +def get_signing_info(api_url, params): + try: + response = requests.get(api_url, params=params) + + # Check if the request was successful (status code 200) + if response.status_code == 200: + data = response.json() + + # Extracting ccvalcons and missed blocks, this is needed to evaluate uptime of validators + signing_info = [] + for validator in data.get("info", []): + address = validator.get("address") + missed_blocks_counter = validator.get("missed_blocks_counter") + signing_info.append([address, missed_blocks_counter]) + + return signing_info + else: + print(f"Error: {response.status_code} - {response.text}") + return None + + except requests.RequestException as e: + print(f"An error occurred while getting the validator signing info: {e}") + return None + +# Convert ccvaloper to cc address +def convert_valoper_address(address): + _, data = bech32.bech32_decode(address) + return bech32.bech32_encode("cc", data) + +# Convert pubkey to ccvalcons +def convert_pubkey_valcons(pubkey): + data = hashlib.sha256(base64.b64decode(pubkey)).digest()[:20] + return bech32.bech32_encode("ccvalcons", bech32.convertbits(data, 8, 5)) + +def main(): + api_url_sign = api + "cosmos/slashing/v1beta1/signing_infos" + params_sign = { + "pagination.limit": pagination_limit + } + + api_url_val = api + "cosmos/staking/v1beta1/validators" + params_val = { + "status": "BOND_STATUS_BONDED", + "pagination.limit": pagination_limit + } + + signing_info = get_signing_info(api_url_sign, params_sign) + + validator_info = get_validator_info(api_url_val, params_val, signing_info) + + if validator_info is not None: + + # Append the current date to the file name + current_date = datetime.now().strftime("%Y_%m_%d") + file_name = f"validator_info_{current_date}.tsv" + + # Write the converted addresses to a TSV file + with open(file_name, mode="w", newline="") as tsv_file: + tsv_writer = csv.writer(tsv_file, delimiter='\t') + + for validator in validator_info: + tsv_writer.writerow(validator) + + print(f"Snapshot written to {file_name}") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/scripts/zealy.tsv b/scripts/zealy.tsv new file mode 100755 index 00000000..9e649420 --- /dev/null +++ b/scripts/zealy.tsv @@ -0,0 +1,68 @@ +CCAddress EarlyAccessToGame BoosterPacks Airdrop Credits +cc10ssdxk9zje7nqpeh7qgwl9jam7nywrzr62f0ks TRUE 0 20 +cc10vl2ma5mnsalf3nmq3a50njlcccdxzkthpyw6a TRUE 2 100 20 +cc12qv7fl840uekmvvxc745048p4ngrn2dyms8j5n TRUE 0 0 10 +cc12r9ftz68ze7c7s9ywewy8ug3harnfpy25auj8s TRUE 2 150 20 +cc13yxz7e07kllz9hzsghrutmvggem9m8xqfajyuh TRUE 1 80 20 +cc140zwm203xeu885hckvurz46mu00ugsk4cg6wnf TRUE 1 80 20 +cc1484f0rayg6ackhjqtc786r96sd46fnwgyvgvsp TRUE 0 0 10 +cc14vsg3gz8q4yvmx3hnuqvh658z6vkyp3z3k03z5 TRUE 0 0 10 +cc15rhmyuqj2a3qtufcw7zk45wx9gvge07c8585ha TRUE 0 0 10 +cc183ret5jld325hj0kpsm08wq9nu0nvfl6y3wspa TRUE 0 0 10 +cc18htpt4u8ttyxwy090yxjaw27vq2qxfs7lng77d TRUE 2 150 20 +cc18jd8x7wvewadpcgkhafy9x2vf9zupzdvcs5v0p TRUE 3 200 20 +cc1cawrg807fk0esn3j8g7dlrraks7ffx9rfp07xy TRUE 0 0 10 +cc1dn50kpwc8vxajpllam4l62zk4g37x2m0c7qgs9 TRUE 0 20 10 +cc1f283sl8q27j45qskshrysy6n3m9t656ayfl5v5 TRUE 3 250 20 +cc1fa3uq6t3stngjpzz8406ygl6jdvayk56j3kyu3 TRUE 1 80 20 +cc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h TRUE 0 30 10 +cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp TRUE 1 50 10 +cc1fys60cv37pkga725vctp7gekch5jc94w8xnme3 TRUE 1 80 20 +cc1gpzff8zagwcauacgez9fehcwaveewlm2u96tnh TRUE 1 50 10 +cc1has2wgz58xw0sfaa60z437dl3vs7u52gmury3y TRUE 1 50 20 +cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k TRUE 0 30 10 +cc1lp7kkawahs5779zqxm78u26x5nyxaddats3l0f TRUE 2 100 20 +cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys TRUE 0 30 20 +cc1mkqsckk0qavvnskshfgwhuq0hvd9vrwzzta4vc TRUE 0 30 10 +cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d TRUE 2 180 20 +cc1nd37jcen8j7q9kkaf7w852ew3wlmf3s0uxz8nj TRUE 1 50 20 +cc1nd40jtjv5w463jgl9g6cfpyd3y6aws644p6gjp TRUE 1 80 20 +cc1nvmkqttunypn96qk4yx4eyfepkfppxf7kzrrcc TRUE 1 80 20 +cc1pm0c5d2fjn9tvd7cpwc28t4xhjuqxvlreg2ml5 TRUE 2 150 20 +cc1pxwlx23n5taxttz6x8lkfl3nmvhkp3p77cfzyz TRUE 0 30 10 +cc1q29qepu2ywsyjghg3vh9nljmkzc4mux2lnlcjz TRUE 1 80 20 +cc1rcxy6kk828m48utyyauxg29umxgn6s5pvn0674 TRUE 1 50 20 +cc1smcvnxuvy3w2xe3r42w9g0pvusngv97l27krqu TRUE 0 30 20 +cc1svkkpzsqs6h897emc2q2agnlf2c05a5wuxhtu6 TRUE 3 200 20 +cc1symmz8dn7usd5js5uddf4wfa0g4w3dt9pklnfu TRUE 1 80 20 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k TRUE 1 50 10 +cc1szw62mcf646hzj60qxlrfsrx3j57wdz5yvgz7 TRUE 0 50 10 +cc1thed02lmuf9jw60t7090ndp4d96c5q8h24ecjk TRUE 1 50 10 +cc1vsknh04kly7lntt8lt909qjwfsa7k7hhwn9rxz TRUE 1 130 20 +cc1w86yyvxvdzdh2fl296g9v0mvwqdx66d0l0jr92 TRUE 1 80 20 +cc1wjvl60fy6x39amqfyqnu607sn0f8998a0euvw8 TRUE 2 100 20 +cc1x6ftcjwljlt7rh03j93wtzazqzqeqwc2tlzpas TRUE 0 0 10 +cc1xngsk4kdhhaev9mqezzpgqxejcus5xrk8486ay TRUE 2 150 10 +cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz TRUE 3 200 10 +cc1yyc302aevlh8egsvy7fse22ssu3tp7dyuvalsu TRUE 2 150 10 +cc1txttg5jrm4d6cvfrulnahz6lvukrgstdhkwvnz TRUE 0 0 0 +cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn TRUE 0 0 0 +cc1dg6wsr2hlkvys5vna2jdkd6flgphh4sy66c3ur TRUE 0 0 0 +cc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86 TRUE 0 0 0 +cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 TRUE 0 0 0 +cc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4 TRUE 0 0 0 +cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk TRUE 0 0 0 +cc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f TRUE 0 0 0 +cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa TRUE 0 0 0 +cc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k TRUE 0 0 0 +cc17dvcqfszu4znjhrznqpw3u9q2jxyaur4ax6af8 TRUE 0 0 0 +cc1nedlyyjmf9cc6ckgy26v6j22gm95qwa9q9y0p3 TRUE 0 0 0 +cc1nt9qag8mly5yq4432vdv9v3my8ytfrl3yd375s TRUE 0 0 0 +cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys TRUE 0 0 0 +cc1s7lyem4w7nldj0swawmddjwe0anpglfa7sxr0c TRUE 0 0 0 +cc1qcs945m3w63jt2j3gzyruf0hn6uxyz794pq7kp TRUE 0 0 0 +cc1srje7py2jx3auvr2xtxm5987m6zy2q4ymzuclp TRUE 0 0 0 +cc1lkalq9k0xanaucgpzg9qaxsur4t6rdxz2vaw4s TRUE 0 0 0 +cc1kj43gk60acq6afycz8q902472vttfwvtxsdlxj TRUE 0 0 0 +cc14km80077s0hch3sh38wh2hfk7kxfau4456r3ej TRUE 0 0 0 +cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk TRUE 0 0 0 \ No newline at end of file diff --git a/x/cardchain/module/genesis.go b/x/cardchain/module/genesis.go index 89b6f059..eb53f381 100644 --- a/x/cardchain/module/genesis.go +++ b/x/cardchain/module/genesis.go @@ -77,7 +77,6 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) k.CardK.Set(ctx, uint64(currId), record) } - k.Logger().Info("Params", genState.Params) if genState.Params.AirDropValue.Denom == "" { defaultParams := types.DefaultParams() genState.Params.AirDropValue = defaultParams.AirDropValue @@ -86,6 +85,11 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) if genState.Params.MatchWorkerDelay == 0 { genState.Params.MatchWorkerDelay = types.DefaultMatchWorkerDelay } + + if err := k.SetParams(ctx, genState.Params); err != nil { + panic(err) + } + for id, set := range genState.Sets { if set.Status == types.SetStatus_active || set.Status == types.SetStatus_finalized { set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) @@ -93,10 +97,6 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) } k.SetK.Set(ctx, uint64(id), set) } - - if err := k.SetParams(ctx, genState.Params); err != nil { - panic(err) - } } // ExportGenesis returns the module's exported genesis. From b93dafbfea96a4c3e40f18b84f672a4172d97367 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Fri, 21 Feb 2025 13:53:48 +0100 Subject: [PATCH 77/99] fix: QueryCards --- api/cardchain/cardchain/query.pulsar.go | 406 ++++++++++++------------ docs/static/openapi.yml | 2 +- proto/cardchain/cardchain/query.proto | 2 +- x/cardchain/keeper/query_cards.go | 2 +- x/cardchain/types/query.pb.go | 304 +++++++++--------- x/cardchain/types/query.pb.gw.go | 40 +-- 6 files changed, 360 insertions(+), 396 deletions(-) diff --git a/api/cardchain/cardchain/query.pulsar.go b/api/cardchain/cardchain/query.pulsar.go index 3e358caf..07407748 100644 --- a/api/cardchain/cardchain/query.pulsar.go +++ b/api/cardchain/cardchain/query.pulsar.go @@ -24324,7 +24324,7 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, - 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x73, 0x32, 0xa1, 0x1e, 0x0a, + 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x73, 0x32, 0x99, 0x1e, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, @@ -24353,234 +24353,234 @@ var file_cardchain_cardchain_query_proto_rawDesc = []byte{ 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, + 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x12, 0x98, 0x01, 0x0a, 0x05, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, - 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, - 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, - 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, - 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, - 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, - 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, - 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, - 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x2f, 0x7b, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, + 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, + 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, + 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, - 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, - 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, + 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x2f, 0x7b, + 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x49, 0x64, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x06, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, + 0x12, 0x38, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, + 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, - 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, - 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, - 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, - 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, - 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, - 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, - 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, - 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, - 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, + 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x65, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, - 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, - 0x04, 0x53, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0xc4, + 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, - 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, - 0x7d, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, - 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, - 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, - 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x7d, 0x12, 0xab, 0x01, 0x0a, - 0x0c, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, + 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x57, + 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, + 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x12, 0xd8, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x74, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, + 0x74, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x49, 0x64, 0x7d, 0x12, 0xc6, 0x01, + 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, + 0x6c, 0x79, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x5a, 0x65, 0x61, 0x6c, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x45, 0x12, 0x43, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x7a, 0x65, 0x61, 0x6c, 0x79, 0x2f, 0x7b, 0x7a, 0x65, + 0x61, 0x6c, 0x79, 0x49, 0x64, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x56, 0x6f, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x37, 0x12, 0x35, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x81, 0x01, 0x12, 0x7f, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, + 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x6f, + 0x77, 0x6e, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x55, 0x70, + 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x7d, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x6f, 0x75, + 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x64, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, + 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, - 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x0a, 0x53, - 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x74, + 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x43, 0x61, 0x72, 0x64, 0x73, 0x7d, 0x2f, 0x7b, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x63, 0x61, 0x72, + 0x64, 0x49, 0x64, 0x7d, 0x12, 0xab, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, - 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, + 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x44, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, - 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, - 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, - 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x73, 0x65, 0x6c, + 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x42, 0xd2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, + 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0xca, 0x02, + 0x13, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0xe2, 0x02, 0x1f, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5c, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index dbaecb4d..6c93a317 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"path","required":true},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"query"},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index f862836a..54d7906d 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -48,7 +48,7 @@ service Query { // Queries a list of Cards items. rpc Cards(QueryCardsRequest) returns (QueryCardsResponse) { option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/cards/{owner}"; + "/DecentralCardGame/cardchain/cardchain/cards"; } // Queries a list of Match items. diff --git a/x/cardchain/keeper/query_cards.go b/x/cardchain/keeper/query_cards.go index da80b69d..c57cde0a 100644 --- a/x/cardchain/keeper/query_cards.go +++ b/x/cardchain/keeper/query_cards.go @@ -256,5 +256,5 @@ func (k Keeper) Cards(goCtx context.Context, req *types.QueryCardsRequest) (*typ } } - return &types.QueryCardsResponse{}, nil + return &types.QueryCardsResponse{CardIds: cardsList}, nil } diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index c008916a..1bb94253 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -2245,158 +2245,158 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2409 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xdb, 0x6f, 0x1b, 0xc7, - 0xd5, 0xf7, 0x4a, 0x14, 0x65, 0x8e, 0x2f, 0xb1, 0xc7, 0x4e, 0x3e, 0x86, 0xb1, 0x69, 0x79, 0xe2, - 0xd8, 0x8a, 0x63, 0x73, 0xa3, 0x8b, 0x65, 0xcb, 0x91, 0xfd, 0x45, 0x17, 0xdb, 0x75, 0x0d, 0x5f, - 0xba, 0xaa, 0x5d, 0x34, 0x45, 0x2b, 0xac, 0xc8, 0x91, 0xb4, 0x30, 0xb9, 0xcb, 0xec, 0x0c, 0xad, - 0xb2, 0x04, 0x51, 0xb4, 0x4f, 0x7d, 0x2a, 0x8a, 0xa4, 0x28, 0xfa, 0x52, 0xa0, 0x97, 0x97, 0xa2, - 0x17, 0x34, 0xcf, 0x7d, 0x2e, 0x0a, 0x3f, 0xa6, 0xe8, 0x4b, 0x9e, 0x8a, 0xc2, 0x2e, 0x50, 0xf4, - 0x4f, 0xe8, 0x5b, 0x31, 0x33, 0x67, 0x67, 0x67, 0xc9, 0xe5, 0x6a, 0xe5, 0xbc, 0x08, 0x9c, 0xb3, - 0xbf, 0x33, 0xe7, 0x37, 0x67, 0xce, 0xcc, 0x39, 0x67, 0x84, 0xce, 0xd4, 0xdd, 0xb0, 0x51, 0xdf, - 0x71, 0x3d, 0xdf, 0x8e, 0x7f, 0x7d, 0xdc, 0xa1, 0x61, 0xb7, 0xd6, 0x0e, 0x03, 0x1e, 0xe0, 0x13, - 0x5a, 0x5c, 0xd3, 0xbf, 0x2a, 0xc7, 0xdd, 0x96, 0xe7, 0x07, 0xb6, 0xfc, 0xab, 0x70, 0x95, 0x93, - 0xdb, 0xc1, 0x76, 0x20, 0x7f, 0xda, 0xe2, 0x17, 0x48, 0x4f, 0x6d, 0x07, 0xc1, 0x76, 0x93, 0xda, - 0x6e, 0xdb, 0xb3, 0x5d, 0xdf, 0x0f, 0xb8, 0xcb, 0xbd, 0xc0, 0x67, 0xf0, 0xf5, 0x62, 0x3d, 0x60, - 0xad, 0x80, 0xd9, 0x9b, 0x2e, 0xa3, 0xca, 0xa8, 0xfd, 0x6c, 0x66, 0x93, 0x72, 0x77, 0xc6, 0x6e, - 0xbb, 0xdb, 0x9e, 0x2f, 0xc1, 0x80, 0x9d, 0x4a, 0x23, 0xda, 0x76, 0x43, 0xb7, 0x15, 0xcd, 0xf6, - 0x6e, 0x1a, 0x42, 0xfc, 0xda, 0xd8, 0xf5, 0xf8, 0xce, 0x86, 0xd7, 0x72, 0xb7, 0x29, 0x40, 0xab, - 0x69, 0xd0, 0x0e, 0xa3, 0x61, 0xd6, 0x77, 0xf1, 0x0b, 0xbe, 0xa7, 0x7a, 0xad, 0xe5, 0xf2, 0xfa, - 0x0e, 0x00, 0x4e, 0xa7, 0x01, 0x18, 0xe5, 0x7a, 0xe1, 0xe9, 0x9f, 0x15, 0x53, 0x37, 0xe4, 0xbb, - 0x41, 0xf8, 0x14, 0xb0, 0xe7, 0xd2, 0xb1, 0xcd, 0xe6, 0x46, 0xb0, 0xb5, 0xa5, 0x19, 0x9f, 0x4d, - 0x65, 0x1c, 0x74, 0xfc, 0xba, 0xd7, 0xcc, 0xf2, 0x20, 0xa3, 0xe1, 0x33, 0x3d, 0xc9, 0xdb, 0x69, - 0x08, 0xea, 0x8b, 0x69, 0xb8, 0x06, 0xd5, 0x32, 0x41, 0x69, 0xbe, 0x36, 0x36, 0x39, 0xda, 0xde, - 0x7a, 0xe0, 0x45, 0x1b, 0x3b, 0x9d, 0x36, 0xdf, 0xb3, 0x80, 0x7b, 0xfe, 0xf6, 0x46, 0x48, 0x59, - 0xa7, 0xc9, 0xa3, 0x0d, 0x3e, 0x3f, 0x72, 0x83, 0xeb, 0x81, 0xcf, 0xa9, 0x0f, 0xde, 0x25, 0x27, - 0x11, 0xfe, 0x9a, 0x08, 0xa6, 0x47, 0x32, 0x3a, 0x1c, 0xfa, 0x71, 0x87, 0x32, 0x4e, 0x1e, 0xa3, - 0x13, 0x09, 0x29, 0x6b, 0x07, 0x3e, 0xa3, 0xf8, 0x26, 0x2a, 0xaa, 0x28, 0x2a, 0x5b, 0x53, 0xd6, - 0xf4, 0xa1, 0xd9, 0xb7, 0x6a, 0x29, 0x01, 0x5f, 0x53, 0x4a, 0x2b, 0xa5, 0xe7, 0xff, 0x38, 0x73, - 0xe0, 0xb7, 0xff, 0xfe, 0xec, 0xa2, 0xe5, 0x80, 0x16, 0xb9, 0x88, 0x8e, 0xc9, 0x69, 0x57, 0xdd, - 0xb0, 0x01, 0xa6, 0xf0, 0x1b, 0xa8, 0x28, 0x54, 0xef, 0x36, 0xe4, 0x9c, 0x05, 0x07, 0x46, 0xe4, - 0x1e, 0x3a, 0x6e, 0x60, 0x81, 0xc0, 0x02, 0x2a, 0x88, 0xcf, 0x60, 0x9e, 0xa4, 0x9a, 0x17, 0x0a, - 0xdf, 0xf0, 0xf8, 0xce, 0x5d, 0xe1, 0x57, 0x47, 0xe2, 0xc9, 0x25, 0x30, 0xfc, 0x98, 0xd1, 0x30, - 0x32, 0x5c, 0x46, 0x93, 0x6e, 0xa3, 0x11, 0x52, 0xa6, 0x56, 0x53, 0x72, 0xa2, 0x21, 0x59, 0x01, - 0xd3, 0x0a, 0x0d, 0xa6, 0x2f, 0xa3, 0x82, 0x08, 0x7a, 0x30, 0xfd, 0x66, 0xaa, 0x69, 0xa9, 0x20, - 0x61, 0xe4, 0x97, 0x05, 0x83, 0x7f, 0xe4, 0x57, 0x7c, 0x12, 0x4d, 0x04, 0xbb, 0x3e, 0xcc, 0x52, - 0x72, 0xd4, 0x00, 0x5f, 0x45, 0x45, 0xc6, 0x5d, 0xde, 0x61, 0xe5, 0xb1, 0xa9, 0xf1, 0xe9, 0xa3, - 0xb3, 0x67, 0x46, 0xae, 0x6b, 0x5d, 0xc2, 0x1c, 0x80, 0xe3, 0x45, 0x74, 0x50, 0x7c, 0xff, 0x7a, - 0xb7, 0x4d, 0xcb, 0xe3, 0x52, 0xf5, 0xf4, 0x48, 0x55, 0x01, 0x72, 0x34, 0x1c, 0xcf, 0xa3, 0x89, - 0x7a, 0xd3, 0x65, 0xac, 0x5c, 0x90, 0x7a, 0xd5, 0x91, 0x7a, 0xab, 0x02, 0xe5, 0x28, 0xb0, 0xd8, - 0x2c, 0x16, 0x84, 0x7c, 0xa5, 0x5b, 0x9e, 0x90, 0x0b, 0x80, 0x11, 0x26, 0xe8, 0xb0, 0xef, 0xb6, - 0xe8, 0x6a, 0xe0, 0x73, 0xd7, 0xf3, 0x59, 0xb9, 0x28, 0xbf, 0x26, 0x64, 0xf8, 0x22, 0x3a, 0xf6, - 0x94, 0x76, 0x77, 0x83, 0xb0, 0xc1, 0x34, 0x6e, 0x52, 0xe2, 0x86, 0xe4, 0xf8, 0x1c, 0x3a, 0xe2, - 0x07, 0x9c, 0xc6, 0xc0, 0x83, 0x12, 0x98, 0x14, 0xe2, 0x69, 0xf4, 0x5a, 0xe0, 0x37, 0xbb, 0xeb, - 0xdc, 0x0d, 0x39, 0x0d, 0x05, 0xd9, 0x72, 0x69, 0xca, 0x9a, 0x3e, 0xe8, 0x0c, 0x8a, 0x71, 0x0d, - 0x61, 0x21, 0x5a, 0x71, 0x9b, 0xae, 0x5f, 0xa7, 0xcb, 0x7e, 0x7d, 0x27, 0x08, 0x59, 0x19, 0x49, - 0x70, 0xca, 0x17, 0xfc, 0x01, 0x3a, 0x18, 0xba, 0xa1, 0xc7, 0x3d, 0xca, 0xca, 0x87, 0xf6, 0xd8, - 0x13, 0x47, 0x00, 0xbb, 0x8e, 0x56, 0xc0, 0xe7, 0xd1, 0xd1, 0x56, 0xa7, 0xc9, 0x3d, 0xe9, 0xb9, - 0x87, 0x7e, 0xb3, 0x5b, 0x3e, 0x2c, 0x0d, 0x0d, 0x48, 0x49, 0x0d, 0x8e, 0x1e, 0x44, 0x08, 0xc4, - 0x59, 0x19, 0x4d, 0xaa, 0x13, 0x20, 0xc2, 0x72, 0x7c, 0xba, 0xe0, 0x44, 0x43, 0x72, 0x19, 0x22, - 0xea, 0xbe, 0xb8, 0x3b, 0x8d, 0x28, 0x96, 0x77, 0xa9, 0x3e, 0x3f, 0xd1, 0x90, 0xdc, 0x86, 0xe9, - 0x01, 0x0e, 0xd3, 0xbf, 0x8f, 0x26, 0x24, 0x00, 0xe2, 0xb8, 0x92, 0xba, 0x2c, 0xa5, 0xa2, 0x80, - 0xe4, 0x02, 0x7a, 0x4d, 0xce, 0xb3, 0x4e, 0xb9, 0x11, 0xc6, 0x8c, 0x72, 0x6d, 0x52, 0x0d, 0xc8, - 0x5d, 0x38, 0x64, 0x12, 0x08, 0xe6, 0xae, 0xa0, 0x71, 0x46, 0x39, 0x18, 0x7b, 0x3b, 0xd5, 0xd8, - 0x3a, 0xe5, 0xe2, 0xb8, 0x2e, 0xab, 0x8b, 0xdc, 0x11, 0x78, 0xb2, 0x88, 0x5e, 0x87, 0xa9, 0x9a, - 0xcd, 0x87, 0xe2, 0xe6, 0x8e, 0x2c, 0x4f, 0xa1, 0x43, 0x2c, 0x92, 0x69, 0xfb, 0xa6, 0x88, 0x3c, - 0x41, 0x6f, 0x0c, 0xaa, 0x02, 0x97, 0x25, 0x54, 0xd2, 0x40, 0x60, 0x54, 0x1d, 0xc1, 0x28, 0x52, - 0x8d, 0x15, 0xc8, 0x1c, 0x5c, 0x89, 0xab, 0x2a, 0x4f, 0x44, 0x84, 0x4e, 0xa1, 0x12, 0x64, 0x0e, - 0x4d, 0x27, 0x16, 0x90, 0x07, 0xe8, 0x64, 0x52, 0x49, 0xdf, 0x63, 0x93, 0x00, 0x02, 0x22, 0xa7, - 0xd2, 0xc3, 0x0b, 0xd4, 0x22, 0x30, 0x79, 0x1f, 0xf6, 0x74, 0x5d, 0x66, 0xa2, 0x88, 0x43, 0x05, - 0x1d, 0x54, 0xa9, 0x49, 0x53, 0xd0, 0x63, 0xf2, 0x55, 0xa0, 0x1d, 0x69, 0x00, 0x81, 0x39, 0x54, - 0x54, 0x90, 0xcc, 0x9b, 0x1c, 0x94, 0x00, 0xaa, 0x77, 0xe5, 0x56, 0x94, 0xc0, 0x8c, 0x5d, 0xd1, - 0x49, 0x2d, 0xde, 0x15, 0x43, 0xa4, 0x77, 0xc5, 0x50, 0x8d, 0x77, 0x45, 0x03, 0x33, 0x77, 0x25, - 0x56, 0x8d, 0x15, 0x48, 0x79, 0x70, 0x5e, 0x9d, 0xc2, 0xbe, 0x89, 0xfe, 0x6f, 0xe8, 0x8b, 0x4e, - 0x63, 0x48, 0xcf, 0xa0, 0x4e, 0xd9, 0xde, 0x36, 0x0d, 0x0d, 0xb2, 0x82, 0xaa, 0xc9, 0xa9, 0xe3, - 0x74, 0x93, 0xdb, 0x21, 0x3b, 0xe8, 0xcc, 0xc8, 0x39, 0x80, 0xe6, 0xad, 0x61, 0xcf, 0x5c, 0xc8, - 0x66, 0x19, 0xcf, 0x61, 0xb8, 0xe8, 0xec, 0xa0, 0x25, 0x36, 0x48, 0x97, 0x3c, 0x45, 0x53, 0xa3, - 0x21, 0xc0, 0xe6, 0x4e, 0x8a, 0xd3, 0x72, 0xd3, 0x31, 0xbd, 0xf7, 0x16, 0x7a, 0x53, 0x5f, 0x7b, - 0x52, 0xe1, 0xae, 0xbf, 0x15, 0x44, 0x4c, 0xfe, 0x36, 0x86, 0x2a, 0x69, 0x5f, 0x81, 0xc4, 0x3d, - 0x74, 0x4c, 0xd8, 0x59, 0xee, 0xd4, 0x45, 0xb5, 0xfb, 0x28, 0xf4, 0xea, 0x34, 0x4e, 0xc8, 0xb2, - 0x74, 0xaa, 0x89, 0xd2, 0xa9, 0x06, 0xa5, 0x53, 0x6d, 0x35, 0xf0, 0xfc, 0x95, 0x82, 0x28, 0x44, - 0x9c, 0x21, 0x45, 0x5c, 0x45, 0xc8, 0xad, 0x73, 0xef, 0x19, 0x5d, 0xa7, 0x5c, 0xa5, 0xde, 0x82, - 0x63, 0x48, 0xc4, 0x26, 0x0a, 0x1d, 0xf6, 0xa0, 0xd3, 0xda, 0xa4, 0x61, 0x79, 0x5c, 0x6d, 0xa2, - 0x21, 0x12, 0x69, 0x4a, 0xde, 0x91, 0x34, 0xc2, 0x14, 0x24, 0x26, 0x29, 0x14, 0x89, 0x4f, 0x5f, - 0x23, 0x11, 0x70, 0x42, 0x02, 0x87, 0xe4, 0x22, 0x77, 0xc0, 0x59, 0x8f, 0x90, 0x45, 0x89, 0x1c, - 0x90, 0x8a, 0x39, 0x9b, 0x2e, 0xe3, 0xc2, 0x4b, 0xf7, 0x83, 0x86, 0xb7, 0xe5, 0xd1, 0x86, 0x4c, - 0xa6, 0x05, 0x67, 0x48, 0x4e, 0x16, 0xd1, 0x59, 0x7d, 0x2f, 0xcb, 0x5c, 0xb5, 0xe6, 0x31, 0x1e, - 0x7a, 0x9b, 0x1d, 0xe1, 0x8a, 0xec, 0x2b, 0xfd, 0x09, 0x22, 0x59, 0xaa, 0x46, 0xca, 0xea, 0x84, - 0x21, 0xf5, 0xb9, 0x4e, 0x59, 0x6a, 0x28, 0xea, 0x85, 0x5d, 0xd7, 0xe7, 0xb4, 0x01, 0xee, 0x85, - 0x11, 0xb9, 0x86, 0x4e, 0xc9, 0x79, 0x97, 0xeb, 0x32, 0x2c, 0x6e, 0x87, 0x41, 0xeb, 0x23, 0xea, - 0x36, 0xbb, 0x46, 0x56, 0xfb, 0x9e, 0x18, 0x03, 0x9f, 0x92, 0x13, 0x0d, 0xc9, 0x22, 0x3a, 0x3d, - 0x42, 0x33, 0x26, 0x33, 0xa2, 0xac, 0x8b, 0x02, 0xef, 0x89, 0xac, 0x97, 0x1d, 0x55, 0x2e, 0x47, - 0x81, 0xe7, 0x43, 0xdc, 0x0d, 0x7c, 0x84, 0x49, 0x1f, 0xa1, 0xe3, 0xc2, 0xad, 0x89, 0x8f, 0x99, - 0x45, 0x68, 0x72, 0x9a, 0x61, 0x65, 0xf2, 0x5f, 0x0b, 0x2e, 0xe6, 0xfb, 0x2a, 0x56, 0xa2, 0x95, - 0x9f, 0x43, 0x47, 0xb8, 0xd7, 0xa2, 0x8c, 0xbb, 0xad, 0xf6, 0x5a, 0xb0, 0xeb, 0xc3, 0x7e, 0x24, - 0x85, 0x22, 0x34, 0xb5, 0xe0, 0x71, 0xbb, 0x3c, 0xa6, 0x42, 0xd3, 0x10, 0x89, 0x79, 0xea, 0x50, - 0x27, 0x89, 0xaa, 0x94, 0xc9, 0xfa, 0xb0, 0xe4, 0x24, 0x85, 0x22, 0x73, 0x84, 0xb4, 0x1d, 0x88, - 0x3a, 0x49, 0xc6, 0x6e, 0xc9, 0xd1, 0x63, 0x91, 0xa3, 0x82, 0x0e, 0xaf, 0x07, 0x2d, 0x2a, 0xa3, - 0xf5, 0xe8, 0x88, 0x1c, 0xf5, 0x50, 0x61, 0x9c, 0x08, 0xac, 0x8f, 0xcd, 0xa3, 0xa6, 0xdb, 0xa5, - 0x8d, 0x72, 0x51, 0x6e, 0xbc, 0x29, 0x22, 0x3b, 0x90, 0x15, 0xf5, 0xd2, 0xc1, 0xcb, 0xf3, 0x50, - 0xcb, 0xd0, 0xe8, 0x7e, 0xc9, 0xaa, 0x4e, 0x22, 0xa8, 0x58, 0x03, 0x94, 0x3c, 0xd1, 0x21, 0xd6, - 0x63, 0xf2, 0x3b, 0x2b, 0xae, 0x49, 0xb4, 0x8b, 0x17, 0x74, 0xb9, 0x6d, 0xc9, 0x75, 0x8d, 0x2a, - 0x02, 0xf8, 0x40, 0xb5, 0x4d, 0xd0, 0x61, 0xe1, 0x3d, 0x19, 0xfe, 0xa2, 0x7c, 0x1c, 0x93, 0x1e, - 0x4d, 0xc8, 0x4c, 0xb7, 0xcb, 0xb2, 0x4e, 0xba, 0xbd, 0xe0, 0x24, 0x85, 0x71, 0x1b, 0x50, 0x30, - 0xda, 0x00, 0xf2, 0x1e, 0xd4, 0x77, 0x8a, 0x2b, 0xf8, 0x44, 0x54, 0xdc, 0xe2, 0x28, 0x46, 0xd5, - 0x20, 0x8c, 0xc8, 0x0c, 0xa4, 0x37, 0x59, 0xa2, 0xab, 0x8e, 0x6e, 0xaf, 0x8e, 0xea, 0x3b, 0xa8, - 0x3c, 0xac, 0x02, 0x66, 0x56, 0xd4, 0xa6, 0x81, 0x18, 0x42, 0x7b, 0x6a, 0x74, 0x53, 0x00, 0xea, - 0xa6, 0x12, 0x99, 0x1f, 0x9e, 0x9f, 0x19, 0x07, 0x7a, 0x44, 0x55, 0xeb, 0x1a, 0xe9, 0x20, 0xd6, - 0x02, 0x5a, 0x6b, 0xe8, 0xb0, 0x61, 0x21, 0x0a, 0x8b, 0xbd, 0x79, 0x25, 0xb4, 0xc8, 0x27, 0x63, - 0x83, 0x35, 0xa1, 0xe6, 0x75, 0x03, 0x95, 0xda, 0x22, 0x19, 0xe8, 0xa3, 0x96, 0x23, 0x93, 0xc4, - 0x1a, 0x78, 0x11, 0x4d, 0xca, 0x01, 0x9c, 0xc1, 0x1c, 0xca, 0x11, 0x5e, 0x6d, 0x6c, 0xb3, 0x09, - 0x89, 0x45, 0xb4, 0x52, 0x72, 0x24, 0x62, 0x63, 0xb3, 0xd3, 0x8d, 0x63, 0x43, 0x0e, 0x30, 0x86, - 0xc6, 0x57, 0xe5, 0x0d, 0xf9, 0x1b, 0x2f, 0xe9, 0x38, 0x2e, 0xca, 0x38, 0x3e, 0x97, 0x5d, 0xcc, - 0x26, 0xa3, 0x99, 0xf4, 0x21, 0x80, 0x4c, 0x9f, 0xc4, 0xf5, 0x51, 0x9c, 0x98, 0x32, 0xeb, 0xa3, - 0xb8, 0x52, 0x36, 0x34, 0xc4, 0x41, 0x31, 0x2a, 0xf2, 0xe8, 0x54, 0x26, 0x64, 0xb3, 0xbf, 0xaa, - 0xa2, 0x09, 0x69, 0x1f, 0x7f, 0x62, 0xa1, 0xa2, 0x7a, 0x32, 0xc0, 0xe9, 0xf5, 0xc4, 0xf0, 0xfb, - 0x44, 0x65, 0x7a, 0x6f, 0xa0, 0x5a, 0x0b, 0xb9, 0xf2, 0xc3, 0xbf, 0xff, 0xeb, 0xd3, 0x31, 0x1b, - 0x5f, 0xb6, 0xd7, 0x68, 0x9d, 0xfa, 0x3c, 0x74, 0x9b, 0x22, 0x50, 0xee, 0xb8, 0x2d, 0x6a, 0x8f, - 0x7e, 0x25, 0xc3, 0x9f, 0x5a, 0xa8, 0x20, 0x3b, 0xc7, 0x77, 0x46, 0x5b, 0x32, 0x5e, 0x31, 0x2a, - 0xe7, 0xf7, 0x82, 0x01, 0x9d, 0x25, 0x49, 0x67, 0x01, 0xcf, 0xe7, 0xa4, 0x23, 0x7e, 0xd9, 0x3d, - 0x75, 0x56, 0xfa, 0xf8, 0xa7, 0x16, 0x2a, 0x88, 0x8b, 0x3b, 0x8b, 0x95, 0xf1, 0xc4, 0x91, 0xc5, - 0xca, 0x7c, 0xdb, 0x20, 0x37, 0x24, 0xab, 0xab, 0xf8, 0x4a, 0x4e, 0x56, 0x1d, 0x46, 0x43, 0xbb, - 0x07, 0x79, 0xb5, 0x8f, 0x7f, 0x66, 0xa1, 0x09, 0x75, 0xb1, 0xed, 0xe1, 0x06, 0xbd, 0x7f, 0x17, - 0xf6, 0xc4, 0x7d, 0x09, 0x7f, 0x31, 0xbb, 0x27, 0x2f, 0xd4, 0x3e, 0xfe, 0xb9, 0x85, 0x26, 0x64, - 0xb6, 0xc8, 0x22, 0x66, 0xb6, 0xd3, 0x59, 0xc4, 0x12, 0x7d, 0x34, 0xb9, 0x29, 0x89, 0x5d, 0xc3, - 0x0b, 0x39, 0x89, 0xc9, 0x94, 0x64, 0xf7, 0x20, 0x33, 0xf5, 0xf1, 0x8f, 0x2d, 0x34, 0xbe, 0x4e, - 0x39, 0x3e, 0x37, 0xda, 0x60, 0xdc, 0x70, 0x57, 0xde, 0xd9, 0x03, 0x05, 0xa4, 0xae, 0x4b, 0x52, - 0xf3, 0x78, 0x36, 0x27, 0x29, 0x46, 0xb9, 0xdd, 0x93, 0x09, 0xa5, 0x8f, 0xff, 0x68, 0xa1, 0x92, - 0x3e, 0xce, 0xf8, 0x62, 0x96, 0xc1, 0x64, 0x4f, 0x5e, 0x79, 0x2f, 0x17, 0x16, 0x28, 0xde, 0x91, - 0x14, 0x97, 0xf1, 0xff, 0xe7, 0xa6, 0x18, 0x3d, 0xde, 0x0a, 0xa6, 0xfa, 0x02, 0xe9, 0xe3, 0x5f, - 0x5b, 0x68, 0x12, 0xfa, 0x63, 0x9c, 0x71, 0x1d, 0x24, 0xdb, 0xf5, 0xca, 0xbb, 0x39, 0x90, 0xc0, - 0x74, 0x45, 0x32, 0x5d, 0xc2, 0xd7, 0xf3, 0x86, 0x9e, 0xd2, 0xb7, 0x7b, 0xba, 0xfd, 0xef, 0xe3, - 0x5f, 0x58, 0xa8, 0xa8, 0x9a, 0xe8, 0xac, 0xbb, 0x2d, 0xd1, 0xcd, 0x67, 0xdd, 0x6d, 0xc9, 0x26, - 0x9e, 0x7c, 0x28, 0x19, 0x5e, 0xc7, 0xd7, 0x72, 0xfb, 0x52, 0xa8, 0x0b, 0x3f, 0xaa, 0xc7, 0x81, - 0x3e, 0xfe, 0x83, 0x85, 0x4a, 0xba, 0x5d, 0xcb, 0xda, 0xf4, 0xc1, 0x96, 0x3f, 0x6b, 0xd3, 0x87, - 0x7a, 0x7c, 0x72, 0x5b, 0x12, 0xfd, 0x10, 0xdf, 0xcc, 0x49, 0x54, 0x77, 0x8b, 0x76, 0xcf, 0xe8, - 0x99, 0xe5, 0x9e, 0xa3, 0xb8, 0x47, 0xc5, 0x79, 0x38, 0xe8, 0x2b, 0xe7, 0x52, 0x3e, 0x30, 0x30, - 0x5e, 0x94, 0x8c, 0xe7, 0xf0, 0xcc, 0x7e, 0x19, 0x33, 0xfc, 0x17, 0x0b, 0xe1, 0xe1, 0x16, 0x18, - 0xcf, 0xe5, 0xb0, 0x3f, 0xd8, 0x98, 0x57, 0xe6, 0xf7, 0xa7, 0x04, 0xe4, 0x57, 0x25, 0xf9, 0x1b, - 0xf8, 0x83, 0xfd, 0x92, 0x37, 0xfe, 0x21, 0x81, 0x9f, 0x5b, 0xe8, 0x44, 0xca, 0x7b, 0x00, 0xce, - 0x43, 0x69, 0xe8, 0x85, 0xa1, 0x72, 0x65, 0x9f, 0x5a, 0xb0, 0x92, 0x35, 0xb9, 0x92, 0x9b, 0x78, - 0x69, 0xdf, 0xdb, 0x60, 0x2e, 0xe5, 0x4f, 0x16, 0x3a, 0x92, 0x78, 0x4f, 0xc0, 0xb5, 0xec, 0xfc, - 0x33, 0xf8, 0x2c, 0x51, 0xb1, 0x73, 0xe3, 0x5f, 0x31, 0xa3, 0xea, 0x5f, 0x1b, 0x9e, 0xe0, 0xf7, - 0x85, 0x85, 0x5e, 0x4f, 0xed, 0xb9, 0xf1, 0x42, 0x76, 0x26, 0x18, 0xd5, 0xdf, 0x57, 0xae, 0xee, - 0x5b, 0x0f, 0x56, 0xf2, 0x40, 0xae, 0xe4, 0x2b, 0xf8, 0x76, 0xfe, 0x9c, 0xb2, 0x21, 0x9f, 0xc2, - 0xbb, 0x1b, 0x0d, 0x63, 0x3e, 0x9d, 0x67, 0xfe, 0x6a, 0xa1, 0x63, 0x83, 0xcd, 0x3b, 0x9e, 0x19, - 0xcd, 0x6e, 0xc4, 0x13, 0x41, 0x65, 0x76, 0x3f, 0x2a, 0xb0, 0x96, 0x7b, 0x72, 0x2d, 0xb7, 0xf0, - 0x6a, 0xce, 0xb5, 0xb8, 0x6a, 0xa2, 0x8d, 0xad, 0x30, 0x68, 0x6d, 0xc8, 0x17, 0x08, 0xbb, 0x07, - 0x0f, 0x11, 0x7d, 0x19, 0x55, 0x89, 0x9e, 0x3e, 0x2b, 0xaa, 0xd2, 0xde, 0x1c, 0xb2, 0xa2, 0x2a, - 0xf5, 0x19, 0x62, 0xdf, 0x51, 0x95, 0xfc, 0xcf, 0x20, 0xfe, 0x8f, 0x85, 0x26, 0xa1, 0xe7, 0xce, - 0x4a, 0x99, 0xc9, 0x17, 0x89, 0xac, 0x94, 0x39, 0xd0, 0xc0, 0x93, 0x1f, 0x59, 0x92, 0xe0, 0x0f, - 0x2c, 0xfc, 0xfd, 0xfd, 0x94, 0x45, 0x94, 0xd9, 0xbd, 0xc4, 0xfb, 0x46, 0xdf, 0x18, 0x3f, 0x6e, - 0xf7, 0x45, 0x4a, 0x35, 0x5e, 0x2d, 0xfa, 0x76, 0x2f, 0x7a, 0xa4, 0xe8, 0xdb, 0x3d, 0x78, 0x76, - 0xe8, 0xab, 0x2a, 0x19, 0x9e, 0x18, 0xfa, 0xf8, 0xcf, 0x16, 0x2a, 0xc8, 0x57, 0xbc, 0xec, 0xd2, - 0x89, 0xe5, 0x28, 0x95, 0xcd, 0x7e, 0x9c, 0xd4, 0xe5, 0x0a, 0xbf, 0x8d, 0xbf, 0x95, 0xff, 0x38, - 0x30, 0xbb, 0xa7, 0x7a, 0x2e, 0x58, 0x48, 0xf4, 0x58, 0x60, 0xac, 0x4b, 0x16, 0xbd, 0x7d, 0x5d, - 0xb7, 0x7e, 0x66, 0xa1, 0x43, 0x46, 0x3b, 0x8b, 0x2f, 0x65, 0x5f, 0x3f, 0xc9, 0xfe, 0xbf, 0x72, - 0x39, 0x27, 0xfa, 0x15, 0xef, 0x58, 0xf3, 0x9f, 0xc8, 0x71, 0x6b, 0xf2, 0x7b, 0x0b, 0x1d, 0x36, - 0x5b, 0x78, 0x9c, 0x8f, 0x85, 0xf6, 0x7f, 0x2d, 0x2f, 0xfc, 0x4b, 0x34, 0x06, 0x11, 0x6b, 0x86, - 0x7f, 0x63, 0x21, 0x14, 0x37, 0xbe, 0x38, 0x4f, 0x05, 0x9b, 0xa7, 0x90, 0x18, 0xee, 0xa5, 0x5f, - 0xa1, 0x24, 0x8f, 0xea, 0x5d, 0xb6, 0xe2, 0x3c, 0x7f, 0x51, 0xb5, 0x3e, 0x7f, 0x51, 0xb5, 0xfe, - 0xf9, 0xa2, 0x6a, 0xfd, 0xe4, 0x65, 0xf5, 0xc0, 0xe7, 0x2f, 0xab, 0x07, 0xbe, 0x78, 0x59, 0x3d, - 0xf0, 0xd1, 0xb5, 0x6d, 0x8f, 0xef, 0x74, 0x36, 0x6b, 0xf5, 0xa0, 0x95, 0x39, 0xef, 0x77, 0x8d, - 0xdf, 0xbc, 0xdb, 0xa6, 0x6c, 0xb3, 0x28, 0xff, 0xed, 0x3f, 0xf7, 0xbf, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xbd, 0x53, 0xf8, 0xfd, 0xcc, 0x22, 0x00, 0x00, + // 2410 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xcd, 0x6f, 0x1c, 0x49, + 0x15, 0x4f, 0xdb, 0xe3, 0x71, 0xa6, 0xf2, 0xb1, 0x49, 0x25, 0xbb, 0xcc, 0xce, 0x26, 0x13, 0xa7, + 0x36, 0x9b, 0x78, 0xb3, 0xc9, 0xf4, 0x26, 0x76, 0x9c, 0x38, 0xeb, 0x84, 0xf5, 0x47, 0x12, 0x42, + 0x94, 0x0f, 0xda, 0x24, 0x88, 0x45, 0x60, 0xb5, 0x67, 0xca, 0x76, 0x2b, 0x33, 0xdd, 0xb3, 0x5d, + 0x35, 0x31, 0xc3, 0x68, 0x84, 0xe0, 0xc4, 0x09, 0xa1, 0x5d, 0x0e, 0x70, 0x40, 0x42, 0x70, 0x41, + 0x7c, 0x88, 0x3d, 0x73, 0x46, 0x28, 0xc7, 0x45, 0x5c, 0xf6, 0x84, 0x50, 0x82, 0x84, 0xf8, 0x13, + 0xb8, 0xa1, 0xaa, 0x7a, 0x5d, 0x5d, 0x3d, 0xd3, 0xd3, 0xee, 0xc9, 0x5e, 0xac, 0xa9, 0xd7, 0xbf, + 0x57, 0xef, 0x57, 0xaf, 0x5e, 0xd5, 0x7b, 0xaf, 0x8c, 0x4e, 0xd5, 0xdd, 0xb0, 0x51, 0xdf, 0x71, + 0x3d, 0xdf, 0x8e, 0x7f, 0x7d, 0xdc, 0xa1, 0x61, 0xb7, 0xd6, 0x0e, 0x03, 0x1e, 0xe0, 0x63, 0x5a, + 0x5c, 0xd3, 0xbf, 0x2a, 0x47, 0xdd, 0x96, 0xe7, 0x07, 0xb6, 0xfc, 0xab, 0x70, 0x95, 0xe3, 0xdb, + 0xc1, 0x76, 0x20, 0x7f, 0xda, 0xe2, 0x17, 0x48, 0x4f, 0x6c, 0x07, 0xc1, 0x76, 0x93, 0xda, 0x6e, + 0xdb, 0xb3, 0x5d, 0xdf, 0x0f, 0xb8, 0xcb, 0xbd, 0xc0, 0x67, 0xf0, 0xf5, 0x7c, 0x3d, 0x60, 0xad, + 0x80, 0xd9, 0x9b, 0x2e, 0xa3, 0xca, 0xa8, 0xfd, 0xec, 0xd2, 0x26, 0xe5, 0xee, 0x25, 0xbb, 0xed, + 0x6e, 0x7b, 0xbe, 0x04, 0x03, 0x76, 0x26, 0x8d, 0x68, 0xdb, 0x0d, 0xdd, 0x56, 0x34, 0xdb, 0xbb, + 0x69, 0x08, 0xf1, 0x6b, 0x63, 0xd7, 0xe3, 0x3b, 0x1b, 0x5e, 0xcb, 0xdd, 0xa6, 0x00, 0xad, 0xa6, + 0x41, 0x3b, 0x8c, 0x86, 0x59, 0xdf, 0xc5, 0x2f, 0xf8, 0x9e, 0xea, 0xb5, 0x96, 0xcb, 0xeb, 0x3b, + 0x00, 0x38, 0x99, 0x06, 0x60, 0x94, 0xeb, 0x85, 0xa7, 0x7f, 0x56, 0x4c, 0xdd, 0x90, 0xef, 0x06, + 0xe1, 0x53, 0xc0, 0x9e, 0x49, 0xc7, 0x36, 0x9b, 0x1b, 0xc1, 0xd6, 0x96, 0x66, 0x7c, 0x3a, 0x95, + 0x71, 0xd0, 0xf1, 0xeb, 0x5e, 0x33, 0xcb, 0x83, 0x8c, 0x86, 0xcf, 0xf4, 0x24, 0x6f, 0xa7, 0x21, + 0xa8, 0x2f, 0xa6, 0xe1, 0x1a, 0x54, 0xcb, 0x04, 0xa5, 0xf9, 0xda, 0xd8, 0xe4, 0x68, 0x7b, 0xeb, + 0x81, 0x17, 0x6d, 0xec, 0x6c, 0xda, 0x7c, 0xcf, 0x02, 0xee, 0xf9, 0xdb, 0x1b, 0x21, 0x65, 0x9d, + 0x26, 0x8f, 0x36, 0xf8, 0xec, 0xc8, 0x0d, 0xae, 0x07, 0x3e, 0xa7, 0x3e, 0x78, 0x97, 0x1c, 0x47, + 0xf8, 0x1b, 0x22, 0x98, 0x1e, 0xc9, 0xe8, 0x70, 0xe8, 0xc7, 0x1d, 0xca, 0x38, 0x79, 0x8c, 0x8e, + 0x25, 0xa4, 0xac, 0x1d, 0xf8, 0x8c, 0xe2, 0x9b, 0xa8, 0xa8, 0xa2, 0xa8, 0x6c, 0xcd, 0x58, 0xb3, + 0x07, 0x2e, 0xbf, 0x55, 0x4b, 0x09, 0xf8, 0x9a, 0x52, 0x5a, 0x29, 0x3d, 0xff, 0xe7, 0xa9, 0x7d, + 0xbf, 0xfb, 0xcf, 0x67, 0xe7, 0x2d, 0x07, 0xb4, 0xc8, 0x79, 0x74, 0x44, 0x4e, 0xbb, 0xea, 0x86, + 0x0d, 0x30, 0x85, 0xdf, 0x40, 0x45, 0xa1, 0x7a, 0xb7, 0x21, 0xe7, 0x2c, 0x38, 0x30, 0x22, 0xf7, + 0xd0, 0x51, 0x03, 0x0b, 0x04, 0x16, 0x50, 0x41, 0x7c, 0x06, 0xf3, 0x24, 0xd5, 0xbc, 0x50, 0xf8, + 0x96, 0xc7, 0x77, 0xee, 0x0a, 0xbf, 0x3a, 0x12, 0x4f, 0x2e, 0x80, 0xe1, 0xc7, 0x8c, 0x86, 0x91, + 0xe1, 0x32, 0x9a, 0x76, 0x1b, 0x8d, 0x90, 0x32, 0xb5, 0x9a, 0x92, 0x13, 0x0d, 0xc9, 0x0a, 0x98, + 0x56, 0x68, 0x30, 0x7d, 0x11, 0x15, 0x44, 0xd0, 0x83, 0xe9, 0x37, 0x53, 0x4d, 0x4b, 0x05, 0x09, + 0x23, 0xbf, 0x2e, 0x18, 0xfc, 0x23, 0xbf, 0xe2, 0xe3, 0x68, 0x2a, 0xd8, 0xf5, 0x61, 0x96, 0x92, + 0xa3, 0x06, 0xf8, 0x2a, 0x2a, 0x32, 0xee, 0xf2, 0x0e, 0x2b, 0x4f, 0xcc, 0x4c, 0xce, 0x1e, 0xbe, + 0x7c, 0x6a, 0xe4, 0xba, 0xd6, 0x25, 0xcc, 0x01, 0x38, 0x5e, 0x44, 0xfb, 0xc5, 0xf7, 0x6f, 0x76, + 0xdb, 0xb4, 0x3c, 0x29, 0x55, 0x4f, 0x8e, 0x54, 0x15, 0x20, 0x47, 0xc3, 0xf1, 0x3c, 0x9a, 0xaa, + 0x37, 0x5d, 0xc6, 0xca, 0x05, 0xa9, 0x57, 0x1d, 0xa9, 0xb7, 0x2a, 0x50, 0x8e, 0x02, 0x8b, 0xcd, + 0x62, 0x41, 0xc8, 0x57, 0xba, 0xe5, 0x29, 0xb9, 0x00, 0x18, 0x61, 0x82, 0x0e, 0xfa, 0x6e, 0x8b, + 0xae, 0x06, 0x3e, 0x77, 0x3d, 0x9f, 0x95, 0x8b, 0xf2, 0x6b, 0x42, 0x86, 0xcf, 0xa3, 0x23, 0x4f, + 0x69, 0x77, 0x37, 0x08, 0x1b, 0x4c, 0xe3, 0xa6, 0x25, 0x6e, 0x48, 0x8e, 0xcf, 0xa0, 0x43, 0x7e, + 0xc0, 0x69, 0x0c, 0xdc, 0x2f, 0x81, 0x49, 0x21, 0x9e, 0x45, 0xaf, 0x05, 0x7e, 0xb3, 0xbb, 0xce, + 0xdd, 0x90, 0xd3, 0x50, 0x90, 0x2d, 0x97, 0x66, 0xac, 0xd9, 0xfd, 0xce, 0xa0, 0x18, 0xd7, 0x10, + 0x16, 0xa2, 0x15, 0xb7, 0xe9, 0xfa, 0x75, 0xba, 0xec, 0xd7, 0x77, 0x82, 0x90, 0x95, 0x91, 0x04, + 0xa7, 0x7c, 0xc1, 0x1f, 0xa0, 0xfd, 0xa1, 0x1b, 0x7a, 0xdc, 0xa3, 0xac, 0x7c, 0x60, 0x8f, 0x3d, + 0x71, 0x04, 0xb0, 0xeb, 0x68, 0x05, 0x7c, 0x16, 0x1d, 0x6e, 0x75, 0x9a, 0xdc, 0x93, 0x9e, 0x7b, + 0xe8, 0x37, 0xbb, 0xe5, 0x83, 0xd2, 0xd0, 0x80, 0x94, 0xd4, 0xe0, 0xe8, 0x41, 0x84, 0x40, 0x9c, + 0x95, 0xd1, 0xb4, 0x3a, 0x01, 0x22, 0x2c, 0x27, 0x67, 0x0b, 0x4e, 0x34, 0x24, 0x17, 0x21, 0xa2, + 0xee, 0x8b, 0xbb, 0xd3, 0x88, 0x62, 0x79, 0x97, 0xea, 0xf3, 0x13, 0x0d, 0xc9, 0x6d, 0x98, 0x1e, + 0xe0, 0x30, 0xfd, 0xfb, 0x68, 0x4a, 0x02, 0x20, 0x8e, 0x2b, 0xa9, 0xcb, 0x52, 0x2a, 0x0a, 0x48, + 0xce, 0xa1, 0xd7, 0xe4, 0x3c, 0xeb, 0x94, 0x1b, 0x61, 0xcc, 0x28, 0xd7, 0x26, 0xd5, 0x80, 0xdc, + 0x85, 0x43, 0x26, 0x81, 0x60, 0xee, 0x0a, 0x9a, 0x64, 0x94, 0x83, 0xb1, 0xb7, 0x53, 0x8d, 0xad, + 0x53, 0x2e, 0x8e, 0xeb, 0xb2, 0xba, 0xc8, 0x1d, 0x81, 0x27, 0x8b, 0xe8, 0x75, 0x98, 0xaa, 0xd9, + 0x7c, 0x28, 0x6e, 0xee, 0xc8, 0xf2, 0x0c, 0x3a, 0xc0, 0x22, 0x99, 0xb6, 0x6f, 0x8a, 0xc8, 0x13, + 0xf4, 0xc6, 0xa0, 0x2a, 0x70, 0x59, 0x42, 0x25, 0x0d, 0x04, 0x46, 0xd5, 0x11, 0x8c, 0x22, 0xd5, + 0x58, 0x81, 0xcc, 0xc1, 0x95, 0xb8, 0xaa, 0xf2, 0x44, 0x44, 0xe8, 0x04, 0x2a, 0x41, 0xe6, 0xd0, + 0x74, 0x62, 0x01, 0x79, 0x80, 0x8e, 0x27, 0x95, 0xf4, 0x3d, 0x36, 0x0d, 0x20, 0x20, 0x72, 0x22, + 0x3d, 0xbc, 0x40, 0x2d, 0x02, 0x93, 0xf7, 0x61, 0x4f, 0xd7, 0x65, 0x26, 0x8a, 0x38, 0x54, 0xd0, + 0x7e, 0x95, 0x9a, 0x34, 0x05, 0x3d, 0x26, 0x5f, 0x07, 0xda, 0x91, 0x06, 0x10, 0x98, 0x43, 0x45, + 0x05, 0xc9, 0xbc, 0xc9, 0x41, 0x09, 0xa0, 0x7a, 0x57, 0x6e, 0x45, 0x09, 0xcc, 0xd8, 0x15, 0x9d, + 0xd4, 0xe2, 0x5d, 0x31, 0x44, 0x7a, 0x57, 0x0c, 0xd5, 0x78, 0x57, 0x34, 0x30, 0x73, 0x57, 0x62, + 0xd5, 0x58, 0x81, 0x94, 0x07, 0xe7, 0xd5, 0x29, 0xec, 0xdb, 0xe8, 0x2b, 0x43, 0x5f, 0x74, 0x1a, + 0x43, 0x7a, 0x06, 0x75, 0xca, 0xf6, 0xb6, 0x69, 0x68, 0x90, 0x15, 0x54, 0x4d, 0x4e, 0x1d, 0xa7, + 0x9b, 0xdc, 0x0e, 0xd9, 0x41, 0xa7, 0x46, 0xce, 0x01, 0x34, 0x6f, 0x0d, 0x7b, 0xe6, 0x5c, 0x36, + 0xcb, 0x78, 0x0e, 0xc3, 0x45, 0xa7, 0x07, 0x2d, 0xb1, 0x41, 0xba, 0xe4, 0x29, 0x9a, 0x19, 0x0d, + 0x01, 0x36, 0x77, 0x52, 0x9c, 0x96, 0x9b, 0x8e, 0xe9, 0xbd, 0xb7, 0xd0, 0x9b, 0xfa, 0xda, 0x93, + 0x0a, 0x77, 0xfd, 0xad, 0x20, 0x62, 0xf2, 0xf7, 0x09, 0x54, 0x49, 0xfb, 0x0a, 0x24, 0xee, 0xa1, + 0x23, 0xc2, 0xce, 0x72, 0xa7, 0x2e, 0xaa, 0xdd, 0x47, 0xa1, 0x57, 0xa7, 0x71, 0x42, 0x96, 0xa5, + 0x53, 0x4d, 0x94, 0x4e, 0x35, 0x28, 0x9d, 0x6a, 0xab, 0x81, 0xe7, 0xaf, 0x14, 0x44, 0x21, 0xe2, + 0x0c, 0x29, 0xe2, 0x2a, 0x42, 0x6e, 0x9d, 0x7b, 0xcf, 0xe8, 0x3a, 0xe5, 0x2a, 0xf5, 0x16, 0x1c, + 0x43, 0x22, 0x36, 0x51, 0xe8, 0xb0, 0x07, 0x9d, 0xd6, 0x26, 0x0d, 0xcb, 0x93, 0x6a, 0x13, 0x0d, + 0x91, 0x48, 0x53, 0xf2, 0x8e, 0xa4, 0x11, 0xa6, 0x20, 0x31, 0x49, 0xa1, 0x48, 0x7c, 0xfa, 0x1a, + 0x89, 0x80, 0x53, 0x12, 0x38, 0x24, 0x17, 0xb9, 0x03, 0xce, 0x7a, 0x84, 0x2c, 0x4a, 0xe4, 0x80, + 0x54, 0xcc, 0xd9, 0x74, 0x19, 0x17, 0x5e, 0xba, 0x1f, 0x34, 0xbc, 0x2d, 0x8f, 0x36, 0x64, 0x32, + 0x2d, 0x38, 0x43, 0x72, 0xb2, 0x88, 0x4e, 0xeb, 0x7b, 0x59, 0xe6, 0xaa, 0x35, 0x8f, 0xf1, 0xd0, + 0xdb, 0xec, 0x08, 0x57, 0x64, 0x5f, 0xe9, 0x4f, 0x10, 0xc9, 0x52, 0x35, 0x52, 0x56, 0x27, 0x0c, + 0xa9, 0xcf, 0x75, 0xca, 0x52, 0x43, 0x51, 0x2f, 0xec, 0xba, 0x3e, 0xa7, 0x0d, 0x70, 0x2f, 0x8c, + 0xc8, 0x35, 0x74, 0x42, 0xce, 0xbb, 0x5c, 0x97, 0x61, 0x71, 0x3b, 0x0c, 0x5a, 0x1f, 0x51, 0xb7, + 0xd9, 0x35, 0xb2, 0xda, 0x0f, 0xc4, 0x18, 0xf8, 0x94, 0x9c, 0x68, 0x48, 0x16, 0xd1, 0xc9, 0x11, + 0x9a, 0x31, 0x99, 0x11, 0x65, 0x5d, 0x14, 0x78, 0x4f, 0x64, 0xbd, 0xec, 0xa8, 0x72, 0x39, 0x0a, + 0x3c, 0x1f, 0xe2, 0x6e, 0xe0, 0x23, 0x4c, 0xfa, 0x08, 0x1d, 0x15, 0x6e, 0x4d, 0x7c, 0xcc, 0x2c, + 0x42, 0x93, 0xd3, 0x0c, 0x2b, 0x93, 0xff, 0x59, 0x70, 0x31, 0xdf, 0x57, 0xb1, 0x12, 0xad, 0xfc, + 0x0c, 0x3a, 0xc4, 0xbd, 0x16, 0x65, 0xdc, 0x6d, 0xb5, 0xd7, 0x82, 0x5d, 0x1f, 0xf6, 0x23, 0x29, + 0x14, 0xa1, 0xa9, 0x05, 0x8f, 0xdb, 0xe5, 0x09, 0x15, 0x9a, 0x86, 0x48, 0xcc, 0x53, 0x87, 0x3a, + 0x49, 0x54, 0xa5, 0x4c, 0xd6, 0x87, 0x25, 0x27, 0x29, 0x14, 0x99, 0x23, 0xa4, 0xed, 0x40, 0xd4, + 0x49, 0x32, 0x76, 0x4b, 0x8e, 0x1e, 0x8b, 0x1c, 0x15, 0x74, 0x78, 0x3d, 0x68, 0x51, 0x19, 0xad, + 0x87, 0x47, 0xe4, 0xa8, 0x87, 0x0a, 0xe3, 0x44, 0x60, 0x7d, 0x6c, 0x1e, 0x35, 0xdd, 0x2e, 0x6d, + 0x94, 0x8b, 0x72, 0xe3, 0x4d, 0x11, 0xd9, 0x81, 0xac, 0xa8, 0x97, 0x0e, 0x5e, 0x9e, 0x87, 0x5a, + 0x86, 0x46, 0xf7, 0x4b, 0x56, 0x75, 0x12, 0x41, 0xc5, 0x1a, 0xa0, 0xe4, 0x89, 0x0e, 0xb1, 0x1e, + 0x93, 0xdf, 0x5b, 0x71, 0x4d, 0xa2, 0x5d, 0xbc, 0xa0, 0xcb, 0x6d, 0x4b, 0xae, 0x6b, 0x54, 0x11, + 0xc0, 0x07, 0xaa, 0x6d, 0x82, 0x0e, 0x0a, 0xef, 0xc9, 0xf0, 0x17, 0xe5, 0xe3, 0x84, 0xf4, 0x68, + 0x42, 0x66, 0xba, 0x5d, 0x96, 0x75, 0xd2, 0xed, 0x05, 0x27, 0x29, 0x8c, 0xdb, 0x80, 0x82, 0xd1, + 0x06, 0x90, 0xf7, 0xa0, 0xbe, 0x53, 0x5c, 0xc1, 0x27, 0xa2, 0xe2, 0x16, 0x47, 0x31, 0xaa, 0x06, + 0x61, 0x44, 0x2e, 0x41, 0x7a, 0x93, 0x25, 0xba, 0xea, 0xe8, 0xf6, 0xea, 0xa8, 0xbe, 0x87, 0xca, + 0xc3, 0x2a, 0x60, 0x66, 0x45, 0x6d, 0x1a, 0x88, 0x21, 0xb4, 0x67, 0x46, 0x37, 0x05, 0xa0, 0x6e, + 0x2a, 0x91, 0xf9, 0xe1, 0xf9, 0x99, 0x71, 0xa0, 0x47, 0x54, 0xb5, 0xae, 0x91, 0x0e, 0x62, 0x2d, + 0xa0, 0xb5, 0x86, 0x0e, 0x1a, 0x16, 0xa2, 0xb0, 0xd8, 0x9b, 0x57, 0x42, 0x8b, 0x7c, 0x32, 0x31, + 0x58, 0x13, 0x6a, 0x5e, 0x37, 0x50, 0xa9, 0x2d, 0x92, 0x81, 0x3e, 0x6a, 0x39, 0x32, 0x49, 0xac, + 0x81, 0x17, 0xd1, 0xb4, 0x1c, 0xc0, 0x19, 0xcc, 0xa1, 0x1c, 0xe1, 0xd5, 0xc6, 0x36, 0x9b, 0x90, + 0x58, 0x44, 0x2b, 0x25, 0x47, 0x22, 0x36, 0x36, 0x3b, 0xdd, 0x38, 0x36, 0xe4, 0x00, 0x63, 0x68, + 0x7c, 0x55, 0xde, 0x90, 0xbf, 0xf1, 0x92, 0x8e, 0xe3, 0xa2, 0x8c, 0xe3, 0x33, 0xd9, 0xc5, 0x6c, + 0x32, 0x9a, 0x49, 0x1f, 0x02, 0xc8, 0xf4, 0x49, 0x5c, 0x1f, 0xc5, 0x89, 0x29, 0xb3, 0x3e, 0x8a, + 0x2b, 0x65, 0x43, 0x43, 0x1c, 0x14, 0xa3, 0x22, 0x8f, 0x4e, 0x65, 0x42, 0x76, 0xf9, 0x97, 0x55, + 0x34, 0x25, 0xed, 0xe3, 0x4f, 0x2c, 0x54, 0x54, 0x4f, 0x06, 0x38, 0xbd, 0x9e, 0x18, 0x7e, 0x9f, + 0xa8, 0xcc, 0xee, 0x0d, 0x54, 0x6b, 0x21, 0x57, 0x7e, 0xfc, 0x8f, 0x7f, 0x7f, 0x3a, 0x61, 0xe3, + 0x8b, 0xf6, 0x1a, 0xad, 0x53, 0x9f, 0x87, 0x6e, 0x53, 0x04, 0xca, 0x1d, 0xb7, 0x45, 0xed, 0xd1, + 0xaf, 0x64, 0xf8, 0x53, 0x0b, 0x15, 0x64, 0xe7, 0xf8, 0xce, 0x68, 0x4b, 0xc6, 0x2b, 0x46, 0xe5, + 0xec, 0x5e, 0x30, 0xa0, 0xb3, 0x24, 0xe9, 0x2c, 0xe0, 0xf9, 0x9c, 0x74, 0xc4, 0x2f, 0xbb, 0xa7, + 0xce, 0x4a, 0x1f, 0xff, 0xdc, 0x42, 0x05, 0x71, 0x71, 0x67, 0xb1, 0x32, 0x9e, 0x38, 0xb2, 0x58, + 0x99, 0x6f, 0x1b, 0xe4, 0x86, 0x64, 0x75, 0x15, 0x5f, 0xc9, 0xc9, 0xaa, 0xc3, 0x68, 0x68, 0xf7, + 0x20, 0xaf, 0xf6, 0xf1, 0x4f, 0x2d, 0x34, 0xa5, 0x2e, 0xb6, 0x3d, 0xdc, 0xa0, 0xf7, 0xef, 0xdc, + 0x9e, 0x38, 0x60, 0x36, 0x2f, 0x99, 0xd5, 0xf0, 0x85, 0x31, 0xfc, 0xc5, 0xf0, 0x2f, 0x2c, 0x34, + 0x25, 0xb3, 0x44, 0x16, 0x21, 0xb3, 0x8d, 0xce, 0x22, 0x94, 0xe8, 0x9f, 0xc9, 0x4d, 0x49, 0xe8, + 0x1a, 0x5e, 0xc8, 0x49, 0x48, 0xa6, 0x22, 0xbb, 0x07, 0x19, 0x49, 0xfa, 0x6a, 0x72, 0x9d, 0x72, + 0x7c, 0x66, 0xb4, 0xc1, 0xb8, 0xd1, 0xae, 0xbc, 0xb3, 0x07, 0x0a, 0x48, 0x5d, 0x97, 0xa4, 0xe6, + 0xf1, 0xe5, 0x9c, 0xa4, 0x18, 0xe5, 0x76, 0x4f, 0x26, 0x92, 0x3e, 0xfe, 0x93, 0x85, 0x4a, 0xfa, + 0x18, 0xe3, 0xf3, 0x59, 0x06, 0x93, 0xbd, 0x78, 0xe5, 0xbd, 0x5c, 0x58, 0xa0, 0x78, 0x47, 0x52, + 0x5c, 0xc6, 0x5f, 0xcd, 0x4d, 0x31, 0x7a, 0xb4, 0x15, 0x4c, 0xf5, 0xc5, 0xd1, 0xc7, 0xbf, 0xb1, + 0xd0, 0x34, 0xf4, 0xc5, 0x38, 0xe3, 0x1a, 0x48, 0xb6, 0xe9, 0x95, 0x77, 0x73, 0x20, 0x81, 0xe9, + 0x8a, 0x64, 0xba, 0x84, 0xaf, 0xe7, 0x0d, 0x39, 0xa5, 0x6f, 0xf7, 0x74, 0xdb, 0xdf, 0xc7, 0xbf, + 0xb2, 0x50, 0x51, 0x35, 0xcf, 0x59, 0x77, 0x5a, 0xa2, 0x8b, 0xcf, 0xba, 0xd3, 0x92, 0xcd, 0x3b, + 0xf9, 0x50, 0x32, 0xbc, 0x8e, 0xaf, 0xe5, 0xf6, 0xa5, 0x50, 0x17, 0x7e, 0x54, 0x8f, 0x02, 0x7d, + 0xfc, 0x47, 0x0b, 0x95, 0x74, 0x9b, 0x96, 0xb5, 0xe9, 0x83, 0xad, 0x7e, 0xd6, 0xa6, 0x0f, 0xf5, + 0xf6, 0xe4, 0xb6, 0x24, 0xfa, 0x21, 0xbe, 0x99, 0x93, 0xa8, 0xee, 0x12, 0xed, 0x9e, 0xd1, 0x2b, + 0xcb, 0x3d, 0x47, 0x71, 0x6f, 0x8a, 0xf3, 0x70, 0xd0, 0x57, 0xcd, 0x85, 0x7c, 0x60, 0x60, 0xbc, + 0x28, 0x19, 0xcf, 0xe1, 0x4b, 0xe3, 0x32, 0x66, 0xf8, 0xaf, 0x16, 0xc2, 0xc3, 0xad, 0x2f, 0x9e, + 0xcb, 0x61, 0x7f, 0xb0, 0x21, 0xaf, 0xcc, 0x8f, 0xa7, 0x04, 0xe4, 0x57, 0x25, 0xf9, 0x1b, 0xf8, + 0x83, 0x71, 0xc9, 0x1b, 0xff, 0x88, 0xc0, 0xcf, 0x2d, 0x74, 0x2c, 0xe5, 0x1d, 0x00, 0xe7, 0xa1, + 0x34, 0xf4, 0xb2, 0x50, 0xb9, 0x32, 0xa6, 0x16, 0xac, 0x64, 0x4d, 0xae, 0xe4, 0x26, 0x5e, 0x1a, + 0x7b, 0x1b, 0xcc, 0xa5, 0xfc, 0xd9, 0x42, 0x87, 0x12, 0xef, 0x08, 0xb8, 0x96, 0x9d, 0x77, 0x06, + 0x9f, 0x23, 0x2a, 0x76, 0x6e, 0xfc, 0x2b, 0x66, 0x52, 0xfd, 0x6b, 0xc3, 0x13, 0xfc, 0xbe, 0xb0, + 0xd0, 0xeb, 0xa9, 0xbd, 0x36, 0x5e, 0xc8, 0xce, 0x04, 0xa3, 0xfa, 0xfa, 0xca, 0xd5, 0xb1, 0xf5, + 0x60, 0x25, 0x0f, 0xe4, 0x4a, 0xbe, 0x86, 0x6f, 0xe7, 0xcf, 0x29, 0x1b, 0xf2, 0x09, 0xbc, 0xbb, + 0xd1, 0x30, 0xe6, 0xd3, 0x79, 0xe6, 0x6f, 0x16, 0x3a, 0x32, 0xd8, 0xb4, 0xe3, 0x4b, 0xa3, 0xd9, + 0x8d, 0x78, 0x1a, 0xa8, 0x5c, 0x1e, 0x47, 0x05, 0xd6, 0x72, 0x4f, 0xae, 0xe5, 0x16, 0x5e, 0xcd, + 0xb9, 0x16, 0x57, 0x4d, 0xb4, 0xb1, 0x15, 0x06, 0xad, 0x0d, 0xf9, 0xf2, 0x60, 0xf7, 0xe0, 0x01, + 0xa2, 0x2f, 0xa3, 0x2a, 0xd1, 0xcb, 0x67, 0x45, 0x55, 0xda, 0x5b, 0x43, 0x56, 0x54, 0xa5, 0x3e, + 0x3f, 0x8c, 0x1d, 0x55, 0xc9, 0xff, 0x08, 0xe2, 0xff, 0x5a, 0x68, 0x1a, 0x7a, 0xed, 0xac, 0x94, + 0x99, 0x7c, 0x89, 0xc8, 0x4a, 0x99, 0x03, 0x8d, 0x3b, 0xf9, 0x89, 0x25, 0x09, 0xfe, 0xc8, 0xc2, + 0x3f, 0x1c, 0xa7, 0x2c, 0xa2, 0xcc, 0xee, 0x25, 0xde, 0x35, 0xfa, 0xc6, 0xf8, 0x71, 0xbb, 0x2f, + 0x52, 0xaa, 0xf1, 0x5a, 0xd1, 0xb7, 0x7b, 0xd1, 0xe3, 0x44, 0xdf, 0xee, 0xc1, 0x73, 0x43, 0x5f, + 0x55, 0xc7, 0xf0, 0xb4, 0xd0, 0xc7, 0x7f, 0xb1, 0x50, 0x41, 0xbe, 0xde, 0x65, 0x97, 0x4e, 0x2c, + 0x47, 0x89, 0x6c, 0xf6, 0xe1, 0xa4, 0x2e, 0x57, 0xf8, 0x5d, 0xfc, 0x9d, 0xfc, 0xc7, 0x81, 0xd9, + 0x3d, 0xd5, 0x6b, 0xc1, 0x42, 0xa2, 0x47, 0x02, 0x63, 0x5d, 0xb2, 0xd8, 0x15, 0x8b, 0xd9, 0xf5, + 0x69, 0xd8, 0xc7, 0x9f, 0x59, 0xe8, 0x80, 0xd1, 0xc6, 0xe2, 0x0b, 0xd9, 0xd7, 0x4f, 0xb2, 0xef, + 0xaf, 0x5c, 0xcc, 0x89, 0x7e, 0xc5, 0x3b, 0xd6, 0xfc, 0xe7, 0x71, 0xdc, 0x92, 0xfc, 0xc1, 0x42, + 0x07, 0xcd, 0xd6, 0x1d, 0xe7, 0x63, 0xa1, 0xfd, 0x5f, 0xcb, 0x0b, 0xff, 0x12, 0x0d, 0x54, 0xc4, + 0x9a, 0xe1, 0xdf, 0x5a, 0x08, 0xc5, 0x0d, 0x2f, 0xce, 0x53, 0xc1, 0xe6, 0x29, 0x24, 0x86, 0x7b, + 0xe8, 0x57, 0x28, 0xc9, 0xa3, 0x7a, 0x97, 0xad, 0x38, 0xcf, 0x5f, 0x54, 0xad, 0xcf, 0x5f, 0x54, + 0xad, 0x7f, 0xbd, 0xa8, 0x5a, 0x3f, 0x7b, 0x59, 0xdd, 0xf7, 0xf9, 0xcb, 0xea, 0xbe, 0x2f, 0x5e, + 0x56, 0xf7, 0x7d, 0x74, 0x6d, 0xdb, 0xe3, 0x3b, 0x9d, 0xcd, 0x5a, 0x3d, 0x68, 0x65, 0xce, 0xfb, + 0x7d, 0xe3, 0x37, 0xef, 0xb6, 0x29, 0xdb, 0x2c, 0xca, 0x7f, 0xf7, 0xcf, 0xfd, 0x3f, 0x00, 0x00, + 0xff, 0xff, 0x03, 0x9b, 0x72, 0x07, 0xc4, 0x22, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 0aa15d7e..bfbc9a54 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -160,31 +160,13 @@ func local_request_Query_User_0(ctx context.Context, marshaler runtime.Marshaler } var ( - filter_Query_Cards_0 = &utilities.DoubleArray{Encoding: map[string]int{"owner": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + filter_Query_Cards_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) func request_Query_Cards_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryCardsRequest var metadata runtime.ServerMetadata - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["owner"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "owner") - } - - protoReq.Owner, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) - } - if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -201,24 +183,6 @@ func local_request_Query_Cards_0(ctx context.Context, marshaler runtime.Marshale var protoReq QueryCardsRequest var metadata runtime.ServerMetadata - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["owner"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "owner") - } - - protoReq.Owner, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) - } - if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -2196,7 +2160,7 @@ var ( pattern_Query_User_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "user", "address"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_Cards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "cards", "owner"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_Cards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "cards"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_Match_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "match", "matchId"}, "", runtime.AssumeColonVerbOpt(false))) From 4b15597fc6258572d19d66dac56ea0f1a3f1d48b Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Fri, 21 Feb 2025 15:18:24 +0100 Subject: [PATCH 78/99] feat(#247): Made encounters override --- .../keeper/msg_server_encounter_create.go | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/x/cardchain/keeper/msg_server_encounter_create.go b/x/cardchain/keeper/msg_server_encounter_create.go index 2c94be88..1e5d9ff9 100644 --- a/x/cardchain/keeper/msg_server_encounter_create.go +++ b/x/cardchain/keeper/msg_server_encounter_create.go @@ -8,6 +8,7 @@ import ( "github.com/DecentralCardGame/cardchain/x/cardchain/types" "github.com/DecentralCardGame/cardobject/cardobject" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) @@ -19,14 +20,35 @@ func (k msgServer) EncounterCreate(goCtx context.Context, msg *types.MsgEncounte return nil, err } + var ( + id, imageId uint64 + override bool = false + ) + + iter := k.Encounterk.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + encounterId, encounter := iter.Value() + + if encounter.Name == msg.Name { + if encounter.Owner != msg.Creator { + return nil, errorsmod.Wrapf(errors.ErrUnauthorized, "encounter with same name already exists and is owned by '%s'", encounter.Owner) + } + id = encounterId + imageId = encounter.ImageId + override = true + } + } + + if !override { + id = k.Encounterk.GetNum(ctx) + imageId = k.Images.GetNum(ctx) + } + err = k.validateDrawlist(ctx, msg, &creator) if err != nil { return nil, err } - id := k.Encounterk.GetNum(ctx) - imageId := k.Images.GetNum(ctx) - encounter := types.Encounter{ Id: id, Drawlist: msg.Drawlist, From 05d97f3798177cb186fa113ce617db6f3786d222 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Fri, 21 Feb 2025 15:22:49 +0100 Subject: [PATCH 79/99] fix(#245): Updated ecnounter drawlist length --- x/cardchain/types/message_encounter_create.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/x/cardchain/types/message_encounter_create.go b/x/cardchain/types/message_encounter_create.go index de82f190..3ed5d64e 100644 --- a/x/cardchain/types/message_encounter_create.go +++ b/x/cardchain/types/message_encounter_create.go @@ -1,6 +1,8 @@ package types import ( + fmt "fmt" + errorsmod "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -23,5 +25,18 @@ func (msg *MsgEncounterCreate) ValidateBasic() error { if err != nil { return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) } + + if len(msg.Drawlist) > 40 || len(msg.Drawlist) < 1 { + return errorsmod.Wrapf(ErrInvalidData, "invalid drawlist length, max 40 is '%d'", len(msg.Drawlist)) + } + + if msg.Name == "" { + return errorsmod.Wrap(ErrInvalidData, "encounter needs a name") + } + + if len(msg.Image) > ArtworkMaxSize { + return errorsmod.Wrap(ErrImageSizeExceeded, fmt.Sprint(len(msg.Image))) + } + return nil } From ea67a65452cf9e9c56d5199276a925a80777908b Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Fri, 21 Feb 2025 15:24:36 +0100 Subject: [PATCH 80/99] feat(#247): Formating --- x/cardchain/keeper/msg_server_encounter_create.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/x/cardchain/keeper/msg_server_encounter_create.go b/x/cardchain/keeper/msg_server_encounter_create.go index 1e5d9ff9..e00befba 100644 --- a/x/cardchain/keeper/msg_server_encounter_create.go +++ b/x/cardchain/keeper/msg_server_encounter_create.go @@ -31,7 +31,11 @@ func (k msgServer) EncounterCreate(goCtx context.Context, msg *types.MsgEncounte if encounter.Name == msg.Name { if encounter.Owner != msg.Creator { - return nil, errorsmod.Wrapf(errors.ErrUnauthorized, "encounter with same name already exists and is owned by '%s'", encounter.Owner) + return nil, errorsmod.Wrapf( + errors.ErrUnauthorized, + "encounter with same name already exists and is owned by '%s'", + encounter.Owner, + ) } id = encounterId imageId = encounter.ImageId From 9f6ba57e8b003d00f4c5ccbb84710e4efc53c0ef Mon Sep 17 00:00:00 2001 From: Patrick Wieth Date: Tue, 1 Jul 2025 11:14:40 +0200 Subject: [PATCH 81/99] update peer nodes, cc node --- peer_nodes.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/peer_nodes.json b/peer_nodes.json index 3091d67f..bdbdd7ec 100644 --- a/peer_nodes.json +++ b/peer_nodes.json @@ -1,18 +1,18 @@ { "rpcs": [ - "http://202.61.225.157:20057", + "http://152.53.103.89:32057", "https://cardchain-testnet-rpc.itrocket.net", "http://crowd.rpc.t.stavr.tech:21207", "https://rpc-testnet-cardchain.nodeist.net" ], "peers": [ - "202.61.225.157:20056", + "152.53.103.89:32056", "cardchain-testnet-peer.itrocket.net:31656", "crowd.peer.stavr.tech:21206", "rpc-testnet-cardchain.nodeist.net:26656" ], "snap_rpcs": [ - "http://202.61.225.157:26657", + "http://152.53.103.89:32057", "https://cardchain-testnet-rpc.itrocket.net:443", "http://crowd.rpc.t.stavr.tech:21207", "https://rpc-testnet-cardchain.nodeist.net:443" From 3d85d97bc85009005b469ca63cbb186faf15c2c7 Mon Sep 17 00:00:00 2001 From: Patrick Wieth Date: Mon, 7 Jul 2025 17:07:56 +0200 Subject: [PATCH 82/99] new docker build --- Dockerfile | 60 +++++------ config/faucetmnemonic.txt | 1 + docker-compose.yml | 12 +-- docker-run.sh | 130 +++++++++++++---------- go.mod | 76 +++++++++---- scripts/validators/validator_snapshot.py | 2 +- 6 files changed, 159 insertions(+), 122 deletions(-) create mode 100644 config/faucetmnemonic.txt diff --git a/Dockerfile b/Dockerfile index eb227214..6502cdf8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,40 +1,37 @@ +# Use Go 1.23 bookworm as base image +FROM golang:1.23-bookworm AS base -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 - + apt-get install -y -qq apt-transport-https curl wget unzip screen bash jq python3 python3-pip python3-venv && \ + rm -rf /var/lib/apt/lists/* # install python script to download genesis +RUN python3 -m venv /opt/venv +ENV PATH="/opt/venv/bin:$PATH" RUN pip install tendermint-chunked-genesis-download +RUN pip install tendermint-chunked-genesis-download -# install correct go version -RUN if [ $(uname -m) = "x86_64" ]; then \ - wget https://go.dev/dl/go1.23.6.linux-amd64.tar.gz; \ - tar -xvf go1.23.6.linux-amd64.tar.gz; \ - rm /usr/local/go -rf; \ - mv go /usr/local; \ - elif [ $(uname -m) = "aarch64" ]; then \ - wget https://go.dev/dl/go1.23.6.linux-arm64.tar.gz; \ - tar -xvf go1.23.6.linux-arm64.tar.gz; \ - rm /usr/local/go -rf; \ - mv go /usr/local; \ - else \ - echo "what the hell is your OS? Go will not work that way."; \ - fi - +# Move to working directory /build +WORKDIR /build -USER tendermint -WORKDIR /home/tendermint +# Copy the go.mod and go.sum files to the /build directory +COPY . . -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 +# Install dependencies +RUN go install github.com/lxgr-linux/ignite-vm@latest + +# Build the application +RUN ignite-vm install v0.26.2 +RUN ignite-vm set v0.26.2 + +RUN ~/.local/bin/ignite chain init --home /build/.cardchaind +RUN ~/.local/bin/ignite chain build + +# Document the port that may need to be published EXPOSE 1317 EXPOSE 26657 EXPOSE 26658 @@ -42,17 +39,10 @@ EXPOSE 9090 EXPOSE 9091 EXPOSE 4500 -COPY --chown=tendermint:tendermint . . - -RUN ignite chain build --skip-proto -RUN ignite chain init --skip-proto - -RUN mv $HOME/.Cardchain $HOME/.cardchaind - COPY scripts/download_genesis.py download_genesis.py RUN python3 download_genesis.py -RUN cp genesis.json files/ -RUN mv genesis.json $HOME/.cardchaind/config/genesis.json +RUN mv genesis.json /build/.cardchaind/config/genesis.json +# Start the application RUN chmod +x ./docker-run.sh -ENTRYPOINT bash docker-run.sh +ENTRYPOINT bash docker-run.sh \ No newline at end of file diff --git a/config/faucetmnemonic.txt b/config/faucetmnemonic.txt new file mode 100644 index 00000000..e72bba5f --- /dev/null +++ b/config/faucetmnemonic.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 09547827..ece1201b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,10 +5,10 @@ services: build: . command: ./docker-run.sh volumes: - - ./backup:/backup - - ./docker-run.sh:/home/tendermint/docker-run.sh - - ./peer_nodes.json:/home/tendermint/peer_nodes.json - - ./files/:/home/tendermint/files/ + - ./backup:/build/backup + - ./docker-run.sh:/build/docker-run.sh + - ./peer_nodes.json:/build/peer_nodes.json + - ./files/:/build/files/ ports: - 26657:26657 - 26658:26658 @@ -36,6 +36,6 @@ services: - 81:81 - 443:443 command: /bin/bash -c "exec nginx -g 'daemon off;'" - depends_on: + depends_on: - blockchain - - goat + - goat \ No newline at end of file diff --git a/docker-run.sh b/docker-run.sh index f31ccb03..e737515c 100755 --- a/docker-run.sh +++ b/docker-run.sh @@ -2,19 +2,21 @@ #set -eo pipefail +WORKDIR="/build" + echo -e "\033[0;32mfasten your seatbelts\033[0m" FAUCET_SECRET_KEY="0x6F1f5bd93f3D59d6eed1d5ec40E29C1821029759" -USE_SNAP=false +USE_SNAP=true if [ -z "$FAUCET_SECRET_KEY" ] then - echo -e "\033[0;31mNO SECRET KEY FOR FAUCET CONFIGURED! \033[0m" - exit 1 + echo -e "\033[0;31mNO SECRET KEY FOR FAUCET CONFIGURED! \033[0m" + exit 1 fi #we can derive the peer id from the rpc mapfile -t peers < <( - jq -r '.peers[]' peer_nodes.json + jq -r '.peers[]' peer_nodes.json ) for item in "${peers[@]}"; do @@ -22,69 +24,68 @@ for item in "${peers[@]}"; do done mapfile -t rpcs < <( - jq -r '.rpcs[]' peer_nodes.json + jq -r '.rpcs[]' peer_nodes.json ) echo "peers" $peers for i in "${!rpcs[@]}"; do - if curl --output /dev/null --silent --head --fail --connect-timeout 5 ${rpcs[$i]}; then - echo "URL exists: ${rpcs[$i]}" - PEER_ID=$(curl -s ${rpcs[$i]}"/status" | jq -r .result.node_info.id) - - PEERS=$PEER_ID"@"${peers[$i]} - break - else - echo "not reachable $i" - fi + if curl --output /dev/null --silent --head --fail --connect-timeout 5 ${rpcs[$i]}; then + echo "URL exists: ${rpcs[$i]}" + PEER_ID=$(curl -s ${rpcs[$i]}"/status" | jq -r .result.node_info.id) + + PEERS=$PEER_ID"@"${peers[$i]} + break + else + echo "not reachable $i" + fi done if [ -z "$PEERS" ] then - echo -e "\033[0;31mNo PEERS available\033[0m" - exit + echo -e "\033[0;31mNo PEERS available\033[0m" + exit fi SEEDS="" echo "peers is:" $PEERS -sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.cardchaind/config/config.toml +sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $WORKDIR/.cardchaind/config/config.toml -if [ -z $USE_SNAP ] +if $USE_SNAP then - mapfile -t snap_rpcs < <( - jq -r '.snap_rpcs[]' peer_nodes.json - ) - - 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" - exit - fi - - 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/.cardchaind/config/config.toml ; \ - + mapfile -t snap_rpcs < <( + jq -r '.snap_rpcs[]' peer_nodes.json + ) + + 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" + exit + fi + + 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\"|" $WORKDIR/.cardchaind/config/config.toml ; \ fi # copy genesis.json to nginx server -cp $HOME/.cardchaind/config/genesis.json $HOME/files/genesis.json +cp $WORKDIR/.cardchaind/config/genesis.json $WORKDIR/files/genesis.json # config pruning indexer="kv" @@ -93,24 +94,35 @@ pruning_keep_recent="100" pruning_keep_every="0" pruning_interval="10" -sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.cardchaind/config/config.toml -sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.cardchaind/config/app.toml -sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.cardchaind/config/app.toml -sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.cardchaind/config/app.toml -sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.cardchaind/config/app.toml +sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $WORKDIR/.cardchaind/config/config.toml +sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $WORKDIR/.cardchaind/config/app.toml +sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $WORKDIR/.cardchaind/config/app.toml +sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $WORKDIR/.cardchaind/config/app.toml +sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $WORKDIR/.cardchaind/config/app.toml + echo -e "\033[0;32mstarting faucet \033[0m" +KEYS=$(cardchaind keys list --keyring-backend test) +echo -e "$KEYS" +EXPECTED_KEY="cc164axafcd2pxeuumu9zm72nmdyfa65qpx4hdh52" + +# Check if key exists +if echo "$KEYS" | grep -q "$EXPECTED_KEY"; then + echo "Key already exists. Skipping 'keys add'." +else + echo "Key not found. Importing from mnemonic..." + cat "$WORKDIR/config/faucetmnemonic.txt" | cardchaind keys add alice --recover --keyring-backend test +fi + 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 echo -e "\033[0;32mstarting Blockchain\033[0m" -cardchaind start +cardchaind start --home $WORKDIR/.cardchaind # backup area (this will be executed if the cardchaind process is killed) now=$(date +"%d.%m.%Y") -cardchaind export > /backup/genesis$now.json +cardchaind export > $WORKDIR/backup/genesis$now.json --home $WORKDIR/.cardchaind 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)" +echo "fail? is backup folder owned by root? (no idea how this happens though)" \ No newline at end of file diff --git a/go.mod b/go.mod index c8d532c9..b947edc9 100644 --- a/go.mod +++ b/go.mod @@ -1,41 +1,48 @@ module github.com/DecentralCardGame/Cardchain -go 1.23.0 - -toolchain go1.24.3 +go 1.23 require ( cosmossdk.io/errors v1.0.0-beta.7 github.com/DecentralCardGame/cardobject v0.5.3 + github.com/bufbuild/buf v1.9.0 + github.com/cosmos/cosmos-proto v1.0.0-alpha8 github.com/cosmos/cosmos-sdk v0.46.15 + github.com/cosmos/gogoproto v1.7.0 github.com/cosmos/ibc-go/v6 v6.1.0 github.com/gogo/protobuf v1.3.3 github.com/golang/protobuf v1.5.4 github.com/gorilla/mux v1.8.0 github.com/grpc-ecosystem/grpc-gateway v1.16.0 + github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 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.9.0 + github.com/stretchr/testify v1.10.0 github.com/tendermint/spm v0.1.9 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-20250303144028-a0af3efb3deb - google.golang.org/grpc v1.70.0 + golang.org/x/tools v0.33.0 + google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 + google.golang.org/grpc v1.73.0 + google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 + google.golang.org/protobuf v1.36.6 gopkg.in/yaml.v2 v2.4.0 ) require ( cloud.google.com/go v0.112.1 // indirect - cloud.google.com/go/compute/metadata v0.5.2 // indirect + cloud.google.com/go/compute/metadata v0.6.0 // indirect cloud.google.com/go/iam v1.1.6 // indirect cloud.google.com/go/storage v1.38.0 // 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/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/ChainSafe/go-schnorrkel v1.0.0 // indirect + github.com/Microsoft/go-winio v0.6.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 @@ -43,6 +50,8 @@ require ( github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.0 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect + github.com/bufbuild/connect-go v1.0.0 // indirect + github.com/bufbuild/protocompile v0.1.0 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -51,12 +60,14 @@ require ( 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/containerd/containerd v1.6.8 // indirect + github.com/containerd/typeurl v1.0.2 // 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/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/cpuguy83/go-md2man/v2 v2.0.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 @@ -65,11 +76,17 @@ require ( 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/docker/distribution v2.8.1+incompatible // indirect + github.com/docker/docker v20.10.19+incompatible // indirect + github.com/docker/go-connections v0.4.0 // indirect + github.com/docker/go-units v0.5.0 // 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.4 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/ghodss/yaml v1.0.0 // indirect + github.com/go-chi/chi/v5 v5.0.7 // 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 @@ -77,8 +94,10 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/go-playground/validator/v10 v10.4.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect + github.com/gofrs/flock v0.8.1 // indirect + github.com/gofrs/uuid v4.3.0+incompatible // indirect github.com/gogo/gateway v1.1.0 // indirect - github.com/golang/glog v1.2.3 // indirect + github.com/golang/glog v1.2.4 // 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 @@ -105,9 +124,11 @@ require ( github.com/iancoleman/orderedmap v0.2.0 // indirect github.com/improbable-eng/grpc-web v0.15.0 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect + github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/klauspost/compress v1.16.0 // indirect + github.com/klauspost/pgzip v1.2.5 // 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 @@ -120,11 +141,18 @@ require ( github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/moby/buildkit v0.10.4 // indirect + github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae // indirect + github.com/morikuni/aec v1.0.0 // indirect github.com/mtibben/percent v0.2.1 // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect + github.com/opencontainers/image-spec v1.1.0-rc2 // 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/browser v0.0.0-20210911075715-681adbf594b8 // indirect github.com/pkg/errors v0.9.1 // indirect + github.com/pkg/profile v1.6.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.14.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect @@ -135,7 +163,9 @@ require ( github.com/regen-network/cosmos-proto v0.3.1 // indirect github.com/rs/cors v1.8.2 // indirect github.com/rs/zerolog v1.29.1 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect + github.com/sirupsen/logrus v1.9.0 // indirect github.com/spf13/afero v1.9.2 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/viper v1.14.0 // indirect @@ -149,23 +179,27 @@ require ( github.com/zondax/ledger-go v0.14.1 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.32.0 // indirect - go.opentelemetry.io/otel/metric v1.32.0 // indirect - go.opentelemetry.io/otel/trace v1.32.0 // indirect - golang.org/x/crypto v0.33.0 // indirect - golang.org/x/net v0.35.0 // indirect - golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sync v0.11.0 // indirect - golang.org/x/sys v0.30.0 // indirect - golang.org/x/term v0.29.0 // indirect - golang.org/x/text v0.22.0 // indirect + go.opentelemetry.io/otel v1.35.0 // indirect + go.opentelemetry.io/otel/metric v1.35.0 // indirect + go.opentelemetry.io/otel/trace v1.35.0 // indirect + go.uber.org/atomic v1.10.0 // indirect + go.uber.org/multierr v1.8.0 // indirect + go.uber.org/zap v1.23.0 // indirect + golang.org/x/crypto v0.38.0 // indirect + golang.org/x/mod v0.25.0 // indirect + golang.org/x/net v0.40.0 // indirect + golang.org/x/oauth2 v0.30.0 // indirect + golang.org/x/sync v0.15.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/term v0.32.0 // indirect + golang.org/x/text v0.26.0 // indirect golang.org/x/time v0.5.0 // indirect google.golang.org/api v0.169.0 // indirect google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb // indirect - google.golang.org/protobuf v1.36.5 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect nhooyr.io/websocket v1.8.7 // indirect diff --git a/scripts/validators/validator_snapshot.py b/scripts/validators/validator_snapshot.py index 0bd76f74..67175e79 100644 --- a/scripts/validators/validator_snapshot.py +++ b/scripts/validators/validator_snapshot.py @@ -6,7 +6,7 @@ import bech32 from datetime import datetime -api = "http://202.61.225.157:1317/" +api = "http://152.53.103.89:1317" pagination_limit = 150 uptime_percentage = 0.8 signing_window = 30000 From 746f8757982557e52302ea6fd1612d68d2d42a6d Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sat, 12 Jul 2025 11:21:48 +0200 Subject: [PATCH 83/99] feat(#242): Upped ingnite to v29 --- buf.work.yaml | 3 - go.mod | 147 +++++++++++++++- go.sum | 334 +++++++++++++++++++++++++++++++++++++ proto/buf.gen.gogo.yaml | 14 +- proto/buf.gen.pulsar.yaml | 32 ++-- proto/buf.gen.sta.yaml | 9 +- proto/buf.gen.swagger.yaml | 11 +- proto/buf.gen.ts.yaml | 4 +- proto/buf.lock | 43 ----- proto/buf.yaml | 25 --- tools/tools.go | 14 -- 11 files changed, 520 insertions(+), 116 deletions(-) delete mode 100644 buf.work.yaml delete mode 100644 proto/buf.lock delete mode 100644 proto/buf.yaml delete mode 100644 tools/tools.go diff --git a/buf.work.yaml b/buf.work.yaml deleted file mode 100644 index 1878b341..00000000 --- a/buf.work.yaml +++ /dev/null @@ -1,3 +0,0 @@ -version: v1 -directories: - - proto diff --git a/go.mod b/go.mod index 21835be7..ce531255 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,6 @@ require ( cosmossdk.io/x/nft v0.1.0 cosmossdk.io/x/upgrade v0.1.4 github.com/DecentralCardGame/cardobject v0.5.3 - github.com/bufbuild/buf v1.34.0 github.com/cometbft/cometbft v0.38.12 github.com/cosmos/cosmos-db v1.1.0 github.com/cosmos/cosmos-proto v1.0.0-beta.5 @@ -38,21 +37,20 @@ require ( github.com/golang/protobuf v1.5.4 github.com/gorilla/mux v1.8.1 github.com/grpc-ecosystem/grpc-gateway v1.16.0 - github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 github.com/spf13/cast v1.7.0 github.com/spf13/cobra v1.8.1 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.10.0 golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 - golang.org/x/tools v0.22.0 google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697 google.golang.org/grpc v1.68.0 - google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 google.golang.org/protobuf v1.35.2 ) require ( + 4d63.com/gocheckcompilerdirectives v1.2.1 // indirect + 4d63.com/gochecknoglobals v0.2.1 // indirect buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.2-20240508200655-46a4cf4ba109.2 // indirect buf.build/gen/go/bufbuild/registry/connectrpc/go v1.16.2-20240610164129-660609bc46d3.1 // indirect buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.34.2-20240610164129-660609bc46d3.2 // indirect @@ -69,24 +67,45 @@ require ( filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect + github.com/Abirdcfly/dupword v0.0.11 // indirect + github.com/Antonboom/errname v0.1.9 // indirect + github.com/Antonboom/nilnil v0.1.3 // indirect github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect + github.com/BurntSushi/toml v1.4.0 // indirect github.com/DataDog/datadog-go v3.2.0+incompatible // indirect github.com/DataDog/zstd v1.5.5 // indirect + github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect + github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 // indirect + github.com/Masterminds/semver v1.5.0 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/OpenPeeDeeP/depguard v1.1.1 // indirect + github.com/alexkohler/prealloc v1.0.0 // indirect + github.com/alingse/asasalint v0.0.11 // indirect github.com/antlr4-go/antlr/v4 v4.13.0 // indirect + github.com/ashanbrown/forbidigo v1.5.1 // indirect + github.com/ashanbrown/makezero v1.1.1 // indirect github.com/aws/aws-sdk-go v1.44.224 // 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.1-0.20220910012023-760eaf8b6816 // indirect github.com/bits-and-blooms/bitset v1.8.0 // indirect + github.com/bkielbasa/cyclop v1.2.0 // indirect + github.com/blizzy78/varnamelen v0.8.0 // indirect + github.com/bombsimon/wsl/v3 v3.4.0 // indirect + github.com/breml/bidichk v0.2.4 // indirect + github.com/breml/errchkjson v0.3.1 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.4 // indirect + github.com/bufbuild/buf v1.34.0 // indirect github.com/bufbuild/protocompile v0.14.0 // indirect github.com/bufbuild/protoplugin v0.0.0-20240323223605-e2735f6c31ee // indirect github.com/bufbuild/protovalidate-go v0.6.2 // indirect github.com/bufbuild/protoyaml-go v0.1.9 // indirect + github.com/butuzov/ireturn v0.1.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/charithe/durationcheck v0.0.10 // indirect + github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8 // indirect github.com/chzyer/readline v1.5.1 // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect github.com/cockroachdb/errors v1.11.3 // indirect @@ -106,9 +125,12 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect github.com/creachadair/atomicfile v0.3.1 // indirect github.com/creachadair/tomledit v0.0.24 // indirect + github.com/curioswitch/go-reassign v0.2.0 // indirect + github.com/daixiang0/gci v0.10.1 // indirect github.com/danieljoos/wincred v1.2.1 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect + github.com/denis-tingaikin/go-header v0.4.3 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect github.com/dgraph-io/ristretto v0.1.1 // indirect @@ -123,20 +145,36 @@ require ( github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.6.0 // indirect github.com/emicklei/dot v1.6.2 // indirect + github.com/esimonov/ifshort v1.0.4 // indirect + github.com/ettle/strcase v0.1.1 // indirect github.com/fatih/camelcase v1.0.0 // indirect github.com/fatih/color v1.15.0 // indirect + github.com/fatih/structtag v1.2.0 // indirect github.com/felixge/fgprof v0.9.4 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/firefart/nonamedreturns v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/fzipp/gocyclo v0.6.0 // indirect github.com/getsentry/sentry-go v0.27.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-chi/chi/v5 v5.0.13 // indirect + github.com/go-critic/go-critic v0.7.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.6.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-toolsmith/astcast v1.1.0 // indirect + github.com/go-toolsmith/astcopy v1.1.0 // indirect + github.com/go-toolsmith/astequal v1.1.0 // indirect + github.com/go-toolsmith/astfmt v1.1.0 // indirect + github.com/go-toolsmith/astp v1.1.0 // indirect + github.com/go-toolsmith/strparse v1.1.0 // indirect + github.com/go-toolsmith/typep v1.1.0 // indirect + github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect + github.com/gobwas/glob v0.2.3 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect + github.com/gofrs/flock v0.8.1 // indirect github.com/gofrs/uuid/v5 v5.2.0 // indirect github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect @@ -144,6 +182,16 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/mock v1.6.0 // indirect github.com/golang/snappy v0.0.4 // indirect + github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect + github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect + github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe // indirect + github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 // indirect + github.com/golangci/golangci-lint v1.52.0 // indirect + github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 // indirect + github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca // indirect + github.com/golangci/misspell v0.4.0 // indirect + github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 // indirect + github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect github.com/google/btree v1.1.3 // indirect github.com/google/cel-go v0.20.1 // indirect github.com/google/go-cmp v0.6.0 // indirect @@ -154,15 +202,23 @@ require ( github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect github.com/googleapis/gax-go/v2 v2.12.5 // indirect + github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28 // indirect github.com/gorilla/handlers v1.5.2 // indirect github.com/gorilla/websocket v1.5.3 // indirect + github.com/gostaticanalysis/analysisutil v0.7.1 // indirect + github.com/gostaticanalysis/comment v1.4.2 // indirect + github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect + github.com/gostaticanalysis/nilerr v0.1.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-getter v1.7.4 // indirect github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-metrics v0.5.3 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-plugin v1.5.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-version v1.6.0 // indirect @@ -171,35 +227,64 @@ require ( github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/yamux v0.1.1 // indirect github.com/hdevalence/ed25519consensus v0.1.0 // indirect + github.com/hexops/gotextdiff v1.0.3 // indirect github.com/huandu/skiplist v1.2.0 // indirect github.com/iancoleman/orderedmap v0.2.0 // indirect github.com/iancoleman/strcase v0.3.0 // indirect github.com/improbable-eng/grpc-web v0.15.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jdx/go-netrc v1.0.0 // indirect + github.com/jgautheron/goconst v1.5.1 // indirect + github.com/jingyugao/rowserrcheck v1.1.1 // indirect + github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect + github.com/julz/importas v0.1.0 // indirect + github.com/junk1tm/musttag v0.5.0 // indirect + github.com/kisielk/errcheck v1.6.3 // indirect + github.com/kisielk/gotool v1.0.0 // indirect + github.com/kkHAIKE/contextcheck v1.1.4 // indirect github.com/klauspost/compress v1.17.9 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect + github.com/kulti/thelper v0.6.3 // indirect + github.com/kunwardeep/paralleltest v1.0.6 // indirect + github.com/kyoh86/exportloopref v0.1.11 // indirect + github.com/ldez/gomoddirectives v0.2.3 // indirect + github.com/ldez/tagliatelle v0.4.0 // indirect + github.com/leonklingele/grouper v1.1.1 // indirect github.com/lib/pq v1.10.7 // indirect github.com/linxGnu/grocksdb v1.8.14 // indirect + github.com/lufeee/execinquery v1.2.1 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect + github.com/maratori/testableexamples v1.0.0 // indirect + github.com/maratori/testpackage v1.1.1 // indirect + github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.9 // indirect + github.com/mbilski/exhaustivestruct v1.2.0 // indirect + github.com/mgechev/revive v1.3.1 // indirect github.com/minio/highwayhash v1.0.2 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/term v0.5.0 // indirect + github.com/moricho/tparallel v0.3.0 // indirect github.com/morikuni/aec v1.0.0 // indirect github.com/mtibben/percent v0.2.1 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/nakabonne/nestif v0.3.1 // indirect + github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 // indirect + github.com/nishanths/exhaustive v0.9.5 // indirect + github.com/nishanths/predeclared v0.2.2 // indirect + github.com/nunnatsa/ginkgolinter v0.9.0 // indirect github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a // indirect github.com/oklog/run v1.1.0 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect github.com/pelletier/go-toml/v2 v2.2.2 // indirect @@ -208,30 +293,63 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pkg/profile v1.7.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/polyfloyd/go-errorlint v1.4.5 // indirect github.com/prometheus/client_golang v1.20.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/common v0.55.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect + github.com/quasilyte/go-ruleguard v0.4.0 // indirect + github.com/quasilyte/gogrep v0.5.0 // indirect + github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect + github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.13.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/rs/zerolog v1.33.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/ryancurrah/gomodguard v1.3.0 // indirect + github.com/ryanrolds/sqlclosecheck v0.4.0 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect + github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect + github.com/sashamelentyev/interfacebloat v1.1.0 // indirect + github.com/sashamelentyev/usestdlibvars v1.23.0 // indirect + github.com/securego/gosec/v2 v2.15.0 // indirect + github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect github.com/sirupsen/logrus v1.9.3 // indirect + github.com/sivchari/containedctx v1.0.2 // indirect + github.com/sivchari/nosnakecase v1.7.0 // indirect + github.com/sivchari/tenv v1.7.1 // indirect + github.com/sonatard/noctx v0.0.2 // indirect github.com/sourcegraph/conc v0.3.0 // indirect + github.com/sourcegraph/go-diff v0.7.0 // indirect github.com/spf13/afero v1.11.0 // indirect + github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect + github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect github.com/stoewer/go-strcase v1.3.0 // indirect + github.com/stretchr/objx v0.5.2 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect + github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c // indirect + github.com/tdakkota/asciicheck v0.2.0 // indirect github.com/tendermint/go-amino v0.16.0 // indirect + github.com/tetafro/godot v1.4.11 // indirect github.com/tidwall/btree v1.7.0 // indirect + github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e // indirect + github.com/timonwong/loggercheck v0.9.4 // indirect + github.com/tomarrell/wrapcheck/v2 v2.8.1 // indirect + github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect github.com/ulikunitz/xz v0.5.11 // indirect + github.com/ultraware/funlen v0.0.3 // indirect + github.com/ultraware/whitespace v0.0.5 // indirect + github.com/uudashr/gocognit v1.0.6 // indirect github.com/vbatts/tar-split v0.11.5 // indirect + github.com/yagipy/maintidx v1.0.0 // indirect + github.com/yeya24/promlinter v0.2.0 // indirect github.com/zondax/hid v0.9.2 // indirect github.com/zondax/ledger-go v0.14.3 // indirect + gitlab.com/bosi/decorder v0.2.3 // indirect go.etcd.io/bbolt v1.3.10 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect @@ -247,6 +365,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/crypto v0.29.0 // indirect + golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833 // indirect golang.org/x/mod v0.18.0 // indirect golang.org/x/net v0.31.0 // indirect golang.org/x/oauth2 v0.24.0 // indirect @@ -255,14 +374,34 @@ require ( golang.org/x/term v0.26.0 // indirect golang.org/x/text v0.20.0 // indirect golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.22.0 // indirect google.golang.org/api v0.186.0 // indirect google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 // indirect + google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gotest.tools/v3 v3.5.1 // indirect + honnef.co/go/tools v0.4.3 // indirect + mvdan.cc/gofumpt v0.4.0 // indirect + mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect + mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect + mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d // indirect nhooyr.io/websocket v1.8.6 // indirect pgregory.net/rapid v1.1.0 // indirect sigs.k8s.io/yaml v1.4.0 // indirect ) + +tool ( + github.com/bufbuild/buf/cmd/buf + github.com/cosmos/cosmos-proto/cmd/protoc-gen-go-pulsar + github.com/cosmos/gogoproto/protoc-gen-gocosmos + github.com/cosmos/gogoproto/protoc-gen-gogo + github.com/golangci/golangci-lint/cmd/golangci-lint + github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway + github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2 + golang.org/x/tools/cmd/goimports + google.golang.org/grpc/cmd/protoc-gen-go-grpc + google.golang.org/protobuf/cmd/protoc-gen-go +) diff --git a/go.sum b/go.sum index 735c0209..379fc693 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,7 @@ +4d63.com/gocheckcompilerdirectives v1.2.1 h1:AHcMYuw56NPjq/2y615IGg2kYkBdTvOaojYCBcRE7MA= +4d63.com/gocheckcompilerdirectives v1.2.1/go.mod h1:yjDJSxmDTtIHHCqX0ufRYZDL6vQtMG7tJdKVeWwsqvs= +4d63.com/gochecknoglobals v0.2.1 h1:1eiorGsgHOFOuoOiJDy2psSrQbRdIHrlge0IJIkUgDc= +4d63.com/gochecknoglobals v0.2.1/go.mod h1:KRE8wtJB3CXCsb1xy421JfTHIIbmT3U5ruxw2Qu8fSU= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.2-20240508200655-46a4cf4ba109.2 h1:cFrEG/pJch6t62+jqndcPXeTNkYcztS4tBRgNkR+drw= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.2-20240508200655-46a4cf4ba109.2/go.mod h1:ylS4c28ACSI59oJrOdW4pHS4n0Hw4TgSPHn8rpHl4Yw= buf.build/gen/go/bufbuild/registry/connectrpc/go v1.16.2-20240610164129-660609bc46d3.1 h1:PmSlGbLLyhKIAm46ROmzdGVaaYgDdFsQNA+VftjuCLs= @@ -235,9 +239,17 @@ github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMb github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= 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.11 h1:z6v8rMETchZXUIuHxYNmlUAuKuB21PeaSymTed16wgU= +github.com/Abirdcfly/dupword v0.0.11/go.mod h1:wH8mVGuf3CP5fsBTkfWwwwKTjDnVVCxtU8d8rgeVYXA= +github.com/Antonboom/errname v0.1.9 h1:BZDX4r3l4TBZxZ2o2LNrlGxSHran4d1u4veZdoORTT4= +github.com/Antonboom/errname v0.1.9/go.mod h1:nLTcJzevREuAsgTbG85UsuiWpMpAqbKD1HNZ29OzE58= +github.com/Antonboom/nilnil v0.1.3 h1:6RTbx3d2mcEu3Zwq9TowQpQMVpP75zugwOtqY1RTtcE= +github.com/Antonboom/nilnil v0.1.3/go.mod h1:iOov/7gRcXkeEU+EMGpBu2ORih3iyVEiWjeste1SJm8= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= +github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= @@ -245,13 +257,21 @@ github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/DecentralCardGame/cardobject v0.5.3 h1:Ama1q0ij7iFV6ZcOtaH3n4DbmmPojlC6QR7G+Md5sPE= github.com/DecentralCardGame/cardobject v0.5.3/go.mod h1:waAoRvDCDVTBlPjEroIIfXpX2PQnJvgUssRN4Ji4VFM= +github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= +github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= +github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts= +github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= 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.1.1 h1:TSUznLjvp/4IUP+OQ0t/4jF4QUyxIcVX8YnghZdunyA= +github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= 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/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= @@ -264,6 +284,10 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy 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/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw= +github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= +github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= +github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= @@ -274,6 +298,10 @@ github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5 github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/ashanbrown/forbidigo v1.5.1 h1:WXhzLjOlnuDYPYQo/eFlcFMi8X/kLfvWLYu6CSoebis= +github.com/ashanbrown/forbidigo v1.5.1/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU= +github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s= +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.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= @@ -292,6 +320,16 @@ github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2 github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/bkielbasa/cyclop v1.2.0 h1:7Jmnh0yL2DjKfw28p86YTd/B4lRGcNuu12sKE35sM7A= +github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= +github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M= +github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= +github.com/bombsimon/wsl/v3 v3.4.0 h1:RkSxjT3tmlptwfgEgTgU+KYKLI35p/tviNXNXiL2aNU= +github.com/bombsimon/wsl/v3 v3.4.0/go.mod h1:KkIB+TXkqy6MvK9BDZVbZxKNYsE1/oLRJbIFtf14qqo= +github.com/breml/bidichk v0.2.4 h1:i3yedFWWQ7YzjdZJHnPo9d/xURinSq3OM+gyM43K4/8= +github.com/breml/bidichk v0.2.4/go.mod h1:7Zk0kRFt1LIZxtQdl9W9JwGAcLTTkOs+tN7wuEYGJ3s= +github.com/breml/errchkjson v0.3.1 h1:hlIeXuspTyt8Y/UmP5qy1JocGNR00KQHgfaNtRAjoxQ= +github.com/breml/errchkjson v0.3.1/go.mod h1:XroxrzKjdiutFyW3nWhw34VGg7kiMsDQox73yWCGI2U= github.com/btcsuite/btcd/btcec/v2 v2.3.4 h1:3EJjcN70HCu/mwqlUsGK8GcNVyLVxFDlWurTXGPFfiQ= github.com/btcsuite/btcd/btcec/v2 v2.3.4/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= github.com/btcsuite/btcd/btcutil v1.1.6 h1:zFL2+c3Lb9gEgqKNzowKUPQNb8jV7v5Oaodi/AYFd6c= @@ -308,6 +346,8 @@ github.com/bufbuild/protovalidate-go v0.6.2 h1:U/V3CGF0kPlR12v41rjO4DrYZtLcS4ZON github.com/bufbuild/protovalidate-go v0.6.2/go.mod h1:4BR3rKEJiUiTy+sqsusFn2ladOf0kYmA2Reo6BHSBgQ= github.com/bufbuild/protoyaml-go v0.1.9 h1:anV5UtF1Mlvkkgp4NWA6U/zOnJFng8Orq4Vf3ZUQHBU= github.com/bufbuild/protoyaml-go v0.1.9/go.mod h1:KCBItkvZOK/zwGueLdH1Wx1RLyFn5rCH7YjQrdty2Wc= +github.com/butuzov/ireturn v0.1.1 h1:QvrO2QF2+/Cx1WA/vETCIYBKtRjc30vesdoPUNo1EbY= +github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -318,8 +358,13 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA 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/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/charithe/durationcheck v0.0.10 h1:wgw73BiocdBDQPik+zcEoBG/ob8uyBHf2iyoHGPf5w4= +github.com/charithe/durationcheck v0.0.10/go.mod h1:bCWXb7gYRysD1CU3C+u4ceO49LoGOY1C1L6uouGNreQ= +github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8 h1:W9o46d2kbNL06lq7UNDPV0zYLzkrde/bjIqO02eoll0= +github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8/go.mod h1:gakxgyXaaPkxvLw1XQxNGK4I37ys9iBRzNUx/B7pUCo= github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= github.com/chromedp/chromedp v0.9.2/go.mod h1:LkSXJKONWTCHAfQasKFUZI+mxqS4tZqhmtGzzhLsnLs= @@ -417,6 +462,10 @@ github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7Do github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= +github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo= +github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= +github.com/daixiang0/gci v0.10.1 h1:eheNA3ljF6SxnPD/vE4lCBusVHmV3Rs3dkKvFrJ7MR0= +github.com/daixiang0/gci v0.10.1/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiEfiNNAI= github.com/danieljoos/wincred v1.2.1 h1:dl9cBrupW8+r5250DYkYxocLeZ1Y4vB1kxgtjxw8GQs= github.com/danieljoos/wincred v1.2.1/go.mod h1:uGaFL9fDn3OLTvzCGulzE+SzjEe5NGlh5FdCcyfPwps= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -427,6 +476,8 @@ github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5il github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= +github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU= +github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= 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.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= @@ -477,17 +528,25 @@ github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go. github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= +github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= +github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= +github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= +github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= 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.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= +github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= +github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw= github.com/felixge/fgprof v0.9.4 h1:ocDNwMFlnA0NU0zSB3I52xkO4sFXk80VK9lXjLClu88= github.com/felixge/fgprof v0.9.4/go.mod h1:yKl+ERSa++RYOs32d8K6WEXCB4uXdLls4ZaZPpayhMM= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= +github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= 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= @@ -498,6 +557,8 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= +github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= @@ -508,6 +569,8 @@ 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/go-chi/chi/v5 v5.0.13 h1:JlH2F2M8qnwl0N1+JFFzlX9TlKJYas3aPXdiuTmJL+w= github.com/go-chi/chi/v5 v5.0.13/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-critic/go-critic v0.7.0 h1:tqbKzB8pqi0NsRZ+1pyU4aweAF7A7QN0Pi4Q02+rYnQ= +github.com/go-critic/go-critic v0.7.0/go.mod h1:moYzd7GdVXE2C2hYTwd7h0CPcqlUeclsyBRwMa38v64= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -543,6 +606,28 @@ github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJ github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8= +github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU= +github.com/go-toolsmith/astcopy v1.1.0 h1:YGwBN0WM+ekI/6SS6+52zLDEf8Yvp3n2seZITCUBt5s= +github.com/go-toolsmith/astcopy v1.1.0/go.mod h1:hXM6gan18VA1T/daUEHCFcYiW8Ai1tIwIzHY6srfEAw= +github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= +github.com/go-toolsmith/astequal v1.1.0 h1:kHKm1AWqClYn15R0K1KKE4RG614D46n+nqUQ06E1dTw= +github.com/go-toolsmith/astequal v1.1.0/go.mod h1:sedf7VIdCL22LD8qIvv7Nn9MuWJruQA/ysswh64lffQ= +github.com/go-toolsmith/astfmt v1.1.0 h1:iJVPDPp6/7AaeLJEruMsBUlOYCmvg0MoCfJprsOmcco= +github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlNMV634mhwuQ4= +github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA= +github.com/go-toolsmith/astp v1.1.0/go.mod h1:0T1xFGz9hicKs8Z5MfAqSUitoUYS30pDMsRVIDHs8CA= +github.com/go-toolsmith/pkgload v1.2.2 h1:0CtmHq/02QhxcF7E9N5LIFcYFsMR5rdovfqTtRKkgIk= +github.com/go-toolsmith/pkgload v1.2.2/go.mod h1:R2hxLNRKuAsiXCo2i5J6ZQPhnPMOVtU+f0arbFPWCus= +github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= +github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQiyP2Bvw= +github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ= +github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus= +github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig= +github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U= +github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= @@ -612,6 +697,26 @@ github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8l 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 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= +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 h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= +github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6J5HIP8ZtyMdiDscjMLfRBSPuzVVeo= +github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= +github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 h1:amWTbTGqOZ71ruzrdA+Nx5WA3tV1N0goTspwmKCQvBY= +github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs= +github.com/golangci/golangci-lint v1.52.0 h1:T7w3tuF1goz64qGV+ML4MgysSl/yUfA3UZJK92oE48A= +github.com/golangci/golangci-lint v1.52.0/go.mod h1:wlTh+d/oVlgZC2yCe6nlxrxNAnuhEQC0Zdygoh72Uak= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= +github.com/golangci/misspell v0.4.0 h1:KtVB/hTK4bbL/S6bs64rYyk8adjmh1BygbBiaAiX+a0= +github.com/golangci/misspell v0.4.0/go.mod h1:W6O/bwV6lGDxUCChm2ykw9NQdd5bYd1Xkjo88UcWyJc= +github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 h1:DIPQnGy2Gv2FSA4B/hh8Q7xx3B7AIDk3DAMeHclH1vQ= +github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= +github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= +github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= @@ -694,6 +799,8 @@ github.com/googleapis/gax-go/v2 v2.12.5 h1:8gw9KZK8TiVKB6q3zHY3SBzLnrGp6HQjyfYBY github.com/googleapis/gax-go/v2 v2.12.5/go.mod h1:BUDKcWo+RaKq5SC9vVYL0wLADa3VcfswbOMMRmB9H3E= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28 h1:9alfqbrhuD+9fLZ4iaAVwhlp5PEhmnBt7yvK2Oy5C1U= +github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= @@ -705,6 +812,18 @@ github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk= +github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc= +github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= +github.com/gostaticanalysis/comment v1.4.2 h1:hlnx5+S2fY9Zo9ePo4AhgYsYHbM2+eAv8m/s1JiCd6Q= +github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM= +github.com/gostaticanalysis/forcetypeassert v0.1.0 h1:6eUflI3DiGusXGK6X7cCcIgVCpZ2CiZ1Q7jl6ZxNV70= +github.com/gostaticanalysis/forcetypeassert v0.1.0/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= +github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3Uqrmrcpk= +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 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY= +github.com/gostaticanalysis/testutil v0.4.0/go.mod h1:bLIoPefWXrRi/ssLFWX1dx7Repi5x3CuviD3dgAZaBU= 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.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= @@ -720,6 +839,8 @@ github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NM github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.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 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= @@ -735,6 +856,8 @@ github.com/hashicorp/go-metrics v0.5.3 h1:M5uADWMOGCTUNU1YuC4hfknOeHNaX54LDm4oYS github.com/hashicorp/go-metrics v0.5.3/go.mod h1:KEjodfebIOuBYSAe/bHTm+HChmKSxAOXPBieMLYozDE= 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.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-plugin v1.5.2 h1:aWv8eimFqWlsEiMrYZdPYl+FdHaBJSN4AWwGWfT1G2Y= github.com/hashicorp/go-plugin v1.5.2/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= @@ -748,6 +871,7 @@ github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= github.com/hashicorp/go-uuid v1.0.2/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= @@ -767,6 +891,8 @@ github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= +github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= @@ -789,8 +915,14 @@ github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLf github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/jdx/go-netrc v1.0.0 h1:QbLMLyCZGj0NA8glAhxUpf1zDg6cxnWgMBbjq40W0gQ= github.com/jdx/go-netrc v1.0.0/go.mod h1:Gh9eFQJnoTNIRHXl2j5bJXA1u84hQWJWgGh569zF3v8= +github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= +github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jhump/protoreflect v1.16.0 h1:54fZg+49widqXYQ0b+usAFHbMkBGR4PpXrsHc8+TBDg= github.com/jhump/protoreflect v1.16.0/go.mod h1:oYPd7nPvcBw/5wlDfm/AVmU9zH9BgqGCI469pGxfj/8= +github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= +github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= +github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= +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-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= 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= @@ -806,6 +938,7 @@ github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u 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 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= @@ -813,10 +946,19 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= 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.1.0 h1:F78HnrsjY3cR7j0etXy5+TU1Zuy7Xt08X/1aJnH5xXY= +github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= +github.com/junk1tm/musttag v0.5.0 h1:bV1DTdi38Hi4pG4OVWa7Kap0hi0o7EczuK6wQt9zPOM= +github.com/junk1tm/musttag v0.5.0/go.mod h1:PcR7BA+oREQYvHwgjIDmw3exJeds5JzRcvEJTfjrA0M= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/errcheck v1.6.3 h1:dEKh+GLHcWm2oN34nMvDzn1sqI0i0WxPvrgiJA5JuM8= +github.com/kisielk/errcheck v1.6.3/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= +github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kkHAIKE/contextcheck v1.1.4 h1:B6zAaLhOEEcjvUgIYEqystmnFk1Oemn8bvJhbt0GMb8= +github.com/kkHAIKE/contextcheck v1.1.4/go.mod h1:1+i/gWqokIa+dm31mqGLZhZJ7Uh44DJGZVmr6QRBNJg= 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.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= @@ -835,18 +977,32 @@ 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/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs= +github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= +github.com/kunwardeep/paralleltest v1.0.6 h1:FCKYMF1OF2+RveWlABsdnmsvJrei5aoyZoaGS+Ugg8g= +github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/kyoh86/exportloopref v0.1.11 h1:1Z0bcmTypkL3Q4k+IDHMWTcnCliEZcaPiIe0/ymEyhQ= +github.com/kyoh86/exportloopref v0.1.11/go.mod h1:qkV4UF1zGl6EkF1ox8L5t9SwyeBAZ3qLMd6up458uqA= +github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUcJwlhA= +github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= +github.com/ldez/tagliatelle v0.4.0 h1:sylp7d9kh6AdXN2DpVGHBRb5guTVAgOxqNGhbqc4b1c= +github.com/ldez/tagliatelle v0.4.0/go.mod h1:mNtTfrHy2haaBAw+VT7IBV6VXBThS7TCreYWbBcJ87I= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +github.com/leonklingele/grouper v1.1.1 h1:suWXRU57D4/Enn6pXR0QVqqWWrnJ9Osrz+5rjt8ivzU= +github.com/leonklingele/grouper v1.1.1/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= 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/linxGnu/grocksdb v1.8.14 h1:HTgyYalNwBSG/1qCQUIott44wU5b2Y9Kr3z7SK5OfGQ= github.com/linxGnu/grocksdb v1.8.14/go.mod h1:QYiYypR2d4v63Wj1adOOfzglnoII0gLj3PNh4fZkcFA= +github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= +github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= 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.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= @@ -854,6 +1010,14 @@ github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3v github.com/mailru/easyjson v0.7.7/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 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI= +github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= +github.com/maratori/testpackage v1.1.1 h1:S58XVV5AD7HADMmD0fNnziNHqKvSdDuEKdPD1rNTU04= +github.com/maratori/testpackage v1.1.1/go.mod h1:s4gRK/ym6AMrqpOa/kEbQTV4Q4jb7WeLZzVhVVVOQMc= +github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 h1:gWg6ZQ4JhDfJPqlo2srm/LN17lpybq15AryXIRcWYLE= +github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= +github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE= +github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= 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= @@ -869,7 +1033,13 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/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.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= +github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= +github.com/mgechev/revive v1.3.1 h1:OlQkcH40IB2cGuprTPcjB0iIUddgVZgGmDX3IAMR8D4= +github.com/mgechev/revive v1.3.1/go.mod h1:YlD6TTWl2B8A103R9KWJSPVI9DrEf+oqr15q21Ld+5I= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= @@ -897,6 +1067,8 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN 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/moricho/tparallel v0.3.0 h1:8dDx3S3e+jA+xiQXC7O3dvfRTe/J+FYlTDDW01Y7z/Q= +github.com/moricho/tparallel v0.3.0/go.mod h1:leENX2cUv7Sv2qDgdi0D0fCftN8fRC67Bcn8pqzeYNI= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= @@ -907,6 +1079,8 @@ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRW 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/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= +github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U= +github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= 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/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= @@ -914,7 +1088,15 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE 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/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 h1:4kuARK6Y6FxaNu/BnU2OAaLF86eTVhP2hjTB6iMvItA= +github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nishanths/exhaustive v0.9.5 h1:TzssWan6orBiLYVqewCG8faud9qlFntJE30ACpzmGME= +github.com/nishanths/exhaustive v0.9.5/go.mod h1:IbwrGdVMizvDcIxPYGVdQn5BqWJaOwpCvg4RGb8r/TA= +github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk= +github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= +github.com/nunnatsa/ginkgolinter v0.9.0 h1:Sm0zX5QfjJzkeCjEp+t6d3Ha0jwvoDjleP9XCsrEzOA= +github.com/nunnatsa/ginkgolinter v0.9.0/go.mod h1:FHaMLURXP7qImeH6bvxWJUpyH+2tuqe5j4rW1gxJRmI= 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= @@ -925,12 +1107,16 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= 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.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo/v2 v2.8.0 h1:pAM+oBNPrpXRs+E/8spkeGx9QgekbRVyr74EUvRVOUI= +github.com/onsi/ginkgo/v2 v2.8.0/go.mod h1:6JsQiECmxCa3V5st74AL/AmsV482EDdVrGaVW6z3oYU= 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= @@ -954,6 +1140,12 @@ github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnh github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= 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.2.0 h1:HvG945u96iNadPoG2/Ja2+AUJeW5YuFQMixq9yirC+k= +github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= +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/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= @@ -983,6 +1175,8 @@ github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDj github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/polyfloyd/go-errorlint v1.4.5 h1:70YWmMy4FgRHehGNOUask3HtSFSOLKgmDn7ryNe7LqI= +github.com/polyfloyd/go-errorlint v1.4.5/go.mod h1:sIZEbFoDOCnTYYZoVkjc4hTnM459tuWA9H/EkdXwsKk= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= 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= @@ -990,6 +1184,8 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn 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.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.20.1 h1:IMJXHOD6eARkQpxo8KkhgEVFlBNm+nkrFUyGlIu7Na8= github.com/prometheus/client_golang v1.20.1/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= @@ -1006,6 +1202,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.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.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -1014,8 +1212,18 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT 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.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/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= +github.com/quasilyte/go-ruleguard v0.4.0 h1:DyM6r+TKL+xbKB4Nm7Afd1IQh9kEUKQs2pboWGKtvQo= +github.com/quasilyte/go-ruleguard v0.4.0/go.mod h1:Eu76Z/R8IXtViWUIHkE3p8gdH3/PKk1eh3YGfaEof10= +github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo= +github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= +github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl980XxGFEZSS6KlBGIV0diGdySzxATTWoqaU= +github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= +github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= +github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/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= @@ -1035,15 +1243,31 @@ github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryancurrah/gomodguard v1.3.0 h1:q15RT/pd6UggBXVBuLps8BXRvl5GPBcwVA7BJHMLuTw= +github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28XeGnid8dnni50= +github.com/ryanrolds/sqlclosecheck v0.4.0 h1:i8SX60Rppc1wRuyQjMciLqIzV3xnoHB7/tXbr6RGYNI= +github.com/ryanrolds/sqlclosecheck v0.4.0/go.mod h1:TBRRjzL31JONc9i4XMinicuo+s+E8yKZ5FN8X3G6CKQ= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +github.com/sanposhiho/wastedassign/v2 v2.0.7 h1:J+6nrY4VW+gC9xFzUc+XjPD3g3wF3je/NsJFwFK7Uxc= +github.com/sanposhiho/wastedassign/v2 v2.0.7/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= 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 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw= +github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= +github.com/sashamelentyev/usestdlibvars v1.23.0 h1:01h+/2Kd+NblNItNeux0veSL5cBF1jbEOPrEhDzGYq0= +github.com/sashamelentyev/usestdlibvars v1.23.0/go.mod h1:YPwr/Y1LATzHI93CqoPUN/2BzGQ/6N/cl/KwgR0B/aU= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/securego/gosec/v2 v2.15.0 h1:v4Ym7FF58/jlykYmmhZ7mTm7FQvN/setNm++0fgIAtw= +github.com/securego/gosec/v2 v2.15.0/go.mod h1:VOjTrZOkUtSDt2QLSJmQBMWnvwiQPEjg0l+5juIqGk8= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= +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.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= @@ -1051,12 +1275,22 @@ github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrf github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sivchari/containedctx v1.0.2 h1:0hLQKpgC53OVF1VT7CeoFHk9YKstur1XOgfYIc1yrHI= +github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= +github.com/sivchari/nosnakecase v1.7.0 h1:7QkpWIRMe8x25gckkFd2A5Pi6Ymo0qgr4JrhGt95do8= +github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= +github.com/sivchari/tenv v1.7.1 h1:PSpuD4bu6fSmtWMxSGWcvqUUgIn7k3yOJhOIzVWn8Ak= +github.com/sivchari/tenv v1.7.1/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= 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/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sonatard/noctx v0.0.2 h1:L7Dz4De2zDQhW8S0t+KUjY0MAQJd6SgVwhzNIc4ok00= +github.com/sonatard/noctx v0.0.2/go.mod h1:kzFz+CzWSjQ2OzIm46uJZoXuBpa2+0y3T36U18dWqIo= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= +github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0= +github.com/sourcegraph/go-diff v0.7.0/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= @@ -1078,6 +1312,10 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= +github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0= +github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= +github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc= +github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -1089,6 +1327,7 @@ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSS github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.1.4/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= @@ -1099,6 +1338,7 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= 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.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= @@ -1107,11 +1347,29 @@ github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8 github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= 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/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c h1:+aPplBwWcHBo6q9xrfWdMrT9o4kltkmmvpemgIjep/8= +github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c/go.mod h1:SbErYREK7xXdsRiigaQiQkI9McGRzYMvlKYaP3Nimdk= +github.com/tdakkota/asciicheck v0.2.0 h1:o8jvnUANo0qXtnslk2d3nMKTFNlOnJjRrNcj0j9qkHM= +github.com/tdakkota/asciicheck v0.2.0/go.mod h1:Qb7Y9EgjCLJGup51gDHFzbI08/gbGhL/UVhYIPWG2rg= 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/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA= +github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= +github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag= +github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= +github.com/tetafro/godot v1.4.11 h1:BVoBIqAf/2QdbFmSwAWnaIqDivZdOV0ZRwEm6jivLKw= +github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e h1:MV6KaVu/hzByHP0UvJ4HcMGE/8a6A4Rggc/0wx2AvJo= +github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e/go.mod h1:27bSVNWSBOHm+qRp1T9qzaIpsWEP6TbUnei/43HK+PQ= +github.com/timonwong/loggercheck v0.9.4 h1:HKKhqrjcVj8sxL7K77beXh0adEm6DLjV/QOGeMXEVi4= +github.com/timonwong/loggercheck v0.9.4/go.mod h1:caz4zlPcgvpEkXgVnAJGowHAMW2NwHaNlpS8xDbVhTg= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tomarrell/wrapcheck/v2 v2.8.1 h1:HxSqDSN0sAt0yJYsrcYVoEeyM4aI9yAm3KQpIXDJRhQ= +github.com/tomarrell/wrapcheck/v2 v2.8.1/go.mod h1:/n2Q3NZ4XFT50ho6Hbxg+RV1uyo2Uow/Vdm9NQcl5SE= +github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw= +github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= @@ -1122,22 +1380,35 @@ github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZ github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA= +github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= +github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqzi/CzI= +github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= 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/uudashr/gocognit v1.0.6 h1:2Cgi6MweCsdB6kpcVQp7EW4U23iBFQWfTXiWlyp842Y= +github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= github.com/vbatts/tar-split v0.11.5 h1:3bHCTIheBm1qFTcgh9oPu+nNBtX+XJIupG/vacinCts= github.com/vbatts/tar-split v0.11.5/go.mod h1:yZbwRsSeGjusneWgA781EKej9HF8vme8okylkAeNKLk= 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/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= +github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= +github.com/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o= +github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= 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/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/zondax/hid v0.9.2 h1:WCJFnEDMiqGF64nlZz28E9qLVZ0KSJ7xpc5DLEyma2U= github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= github.com/zondax/ledger-go v0.14.3 h1:wEpJt2CEcBJ428md/5MgSLsXLBos98sBOyxNmCjfUCw= github.com/zondax/ledger-go v0.14.3/go.mod h1:IKKaoxupuB43g4NxeQmbLXv7T9AlQyie1UpHb342ycI= +gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0= +gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0= go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ= @@ -1207,6 +1478,7 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U 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-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ= golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1222,6 +1494,10 @@ golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMk golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY= golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= +golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833 h1:jWGQJV4niP+CCmFW9ekjA9Zx8vYORzOUH2/Nl5WPuLQ= +golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= 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= @@ -1247,7 +1523,12 @@ 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.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/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1296,7 +1577,9 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v 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-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-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/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= @@ -1309,6 +1592,10 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= 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.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.31.0 h1:68CPQngjLL0r2AlUKiSxtQFKvzRVbnzLwMUn5SzcLHo= golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1352,6 +1639,7 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ 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-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.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1409,6 +1697,7 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w 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-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-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1417,6 +1706,7 @@ golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/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= @@ -1427,10 +1717,13 @@ golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/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-20211124211545-fe61309f8881/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= @@ -1444,12 +1737,17 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc 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-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-20221010170243-090e33056c14/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/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= @@ -1457,6 +1755,10 @@ golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/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.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU= golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1469,6 +1771,9 @@ 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/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/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.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1478,6 +1783,7 @@ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= 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-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1486,6 +1792,7 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3 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-20190321232350-e250d351ecad/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= @@ -1494,6 +1801,7 @@ golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgw 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-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-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1517,28 +1825,44 @@ golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapK 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-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-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-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-20200724022722-7017fd6b1305/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-20200820010801-b793a1359eac/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-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-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-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-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.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= golang.org/x/tools v0.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.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= +golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= +golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1827,6 +2151,16 @@ 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.4.3 h1:o/n5/K5gXqk8Gozvs2cnL0F2S1/g1vcGCAx2vETjITw= +honnef.co/go/tools v0.4.3/go.mod h1:36ZgoUOrqOk1GxwHhyryEkq8FQWkUO2xGuSMhUCcdvA= +mvdan.cc/gofumpt v0.4.0 h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM= +mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= +mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d h1:3rvTIIM22r9pvXk+q3swxUQAQOxksVMGK7sml4nG57w= +mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d/go.mod h1:IeHQjmn6TOD+e4Z3RFiZMMsLVL+A96Nvptar8Fj71is= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= diff --git a/proto/buf.gen.gogo.yaml b/proto/buf.gen.gogo.yaml index 8d2c1460..1f6ecfe5 100644 --- a/proto/buf.gen.gogo.yaml +++ b/proto/buf.gen.gogo.yaml @@ -3,15 +3,21 @@ # # buf.gen.gogo.yaml # -version: v1 +version: v2 plugins: - - name: gocosmos + - local: ["go", "tool", "github.com/cosmos/gogoproto/protoc-gen-gocosmos"] out: . opt: - plugins=grpc - - Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + - Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - Mcosmos/orm/v1/orm.proto=cosmossdk.io/orm - - name: grpc-gateway + - Mcosmos/app/v1alpha1/module.proto=cosmossdk.io/api/cosmos/app/v1alpha1 + - local: + [ + "go", + "tool", + "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway", + ] out: . opt: - logtostderr=true diff --git a/proto/buf.gen.pulsar.yaml b/proto/buf.gen.pulsar.yaml index f74e31e4..080cdbb6 100644 --- a/proto/buf.gen.pulsar.yaml +++ b/proto/buf.gen.pulsar.yaml @@ -1,23 +1,23 @@ -# This file is auto-generated from Ignite. You can edit -# the file content but do not change the file name or path. -# -# buf.gen.pulsar.yaml -# -version: v1 +version: v2 managed: enabled: true - go_package_prefix: - default: github.com/DecentralCardGame/cardchain/api - except: - - buf.build/googleapis/googleapis - - buf.build/cosmos/gogo-proto - - buf.build/cosmos/cosmos-proto - override: - buf.build/cosmos/cosmos-sdk: cosmossdk.io/api + disable: + - file_option: go_package + module: buf.build/googleapis/googleapis + - file_option: go_package + module: buf.build/cosmos/gogo-proto + - file_option: go_package + module: buf.build/cosmos/cosmos-proto + override: + - file_option: go_package_prefix + value: github.com/DecentralCardGame/cardchain/api + - file_option: go_package_prefix + module: buf.build/cosmos/cosmos-sdk + value: cosmossdk.io/api plugins: - - name: go-pulsar + - local: protoc-gen-go-pulsar out: ./api opt: paths=source_relative - - name: go-grpc + - local: protoc-gen-go-grpc out: ./api opt: paths=source_relative diff --git a/proto/buf.gen.sta.yaml b/proto/buf.gen.sta.yaml index 4444f5e7..215d950d 100644 --- a/proto/buf.gen.sta.yaml +++ b/proto/buf.gen.sta.yaml @@ -3,9 +3,14 @@ # # buf.gen.sta.yaml # -version: v1 +version: v2 plugins: - - name: openapiv2 + - local: + [ + "go", + "tool", + "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2", + ] out: . opt: - logtostderr=true diff --git a/proto/buf.gen.swagger.yaml b/proto/buf.gen.swagger.yaml index 58d30d86..0061ef29 100644 --- a/proto/buf.gen.swagger.yaml +++ b/proto/buf.gen.swagger.yaml @@ -3,12 +3,17 @@ # # buf.gen.swagger.yaml # -version: v1 +version: v2 plugins: - - name: openapiv2 + - local: + [ + "go", + "tool", + "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2", + ] out: . opt: - logtostderr=true - openapi_naming_strategy=fqn - json_names_for_fields=false - - generate_unbound_methods=true \ No newline at end of file + - generate_unbound_methods=true diff --git a/proto/buf.gen.ts.yaml b/proto/buf.gen.ts.yaml index c484fb3a..bc2f01b9 100644 --- a/proto/buf.gen.ts.yaml +++ b/proto/buf.gen.ts.yaml @@ -3,11 +3,11 @@ # # buf.gen.ts.yaml # -version: v1 +version: v2 managed: enabled: true plugins: - - plugin: buf.build/community/stephenh-ts-proto + - remote: buf.build/community/stephenh-ts-proto out: . opt: - logtostderr=true diff --git a/proto/buf.lock b/proto/buf.lock deleted file mode 100644 index 7a02b10a..00000000 --- a/proto/buf.lock +++ /dev/null @@ -1,43 +0,0 @@ -# Generated by buf. DO NOT EDIT. -version: v1 -deps: - - remote: buf.build - owner: cosmos - repository: cosmos-proto - commit: 04467658e59e44bbb22fe568206e1f70 - digest: shake256:73a640bd60e0c523b0f8237ff34eab67c45a38b64bbbde1d80224819d272dbf316ac183526bd245f994af6608b025f5130483d0133c5edd385531326b5990466 - - remote: buf.build - owner: cosmos - repository: cosmos-sdk - commit: 05419252bcc241ea8023acf1ed4cadc5 - digest: shake256:1e54a48c19a8b59d35e0a7efa76402939f515f2d8005df099856f24c37c20a52800308f025abb8cffcd014d437b49707388aaca4865d9d063d8f25d5d4eb77d5 - - remote: buf.build - owner: cosmos - repository: gogo-proto - commit: 88ef6483f90f478fb938c37dde52ece3 - digest: shake256:89c45df2aa11e0cff97b0d695436713db3d993d76792e9f8dc1ae90e6ab9a9bec55503d48ceedd6b86069ab07d3041b32001b2bfe0227fa725dd515ff381e5ba - - remote: buf.build - owner: cosmos - repository: ibc - commit: e587235c5f964e93ab25889de137dc1f - digest: shake256:21b86553b7f5e0517af826b1bb460d8e8d3a764211d9fa9f53c10c2dba238752b7271a6f892a5ae623c63a2faeeb7d4b8732570cec053e930822a31dc76ac973 - - remote: buf.build - owner: cosmos - repository: ics23 - commit: dc427cb4519143d8996361c045a29ad7 - digest: shake256:f6611c56170e2cb6354fa6e367a225fed7b8b0defca3252f05e842fe311be46997680ebf57d8644b52c1f2cca49b366ffe89ce5e8db5fd055a15259c88e4e41e - - remote: buf.build - owner: googleapis - repository: googleapis - commit: 546238c53f7340c6a2a6099fb863bc1b - digest: shake256:8d75c12f391e392b24c076d05117b47aeddb090add99c70247a8f4389b906a65f61a933c68e54ed8b73a050b967b6b712ba194348b67c3ab3ee26cc2cb25852c - - remote: buf.build - owner: protocolbuffers - repository: wellknowntypes - commit: d4f14e5e0a9c40889c90d373c74e95eb - digest: shake256:c9824714afd6cc432c2e1fafa20df47c87a8a0aca9e27192cd5732619453997af1721c2eac5c0fbbe7b29a741af5b8d7ba4ee89c85903e782d9c725d7b9436b5 - - remote: buf.build - owner: tendermint - repository: tendermint - commit: 33ed361a90514289beabf3189e1d7665 - digest: shake256:038267e06294714fd883610626554b04a127b576b4e253befb4206cb72d5d3c1eeccacd4b9ec8e3fb891f7c14e1cb0f770c077d2989638995b0a61c85afedb1d diff --git a/proto/buf.yaml b/proto/buf.yaml deleted file mode 100644 index bc581b15..00000000 --- a/proto/buf.yaml +++ /dev/null @@ -1,25 +0,0 @@ -breaking: - use: - - FILE -deps: -- buf.build/protocolbuffers/wellknowntypes -- buf.build/cosmos/cosmos-sdk -- buf.build/cosmos/cosmos-proto -- buf.build/cosmos/gogo-proto -- buf.build/googleapis/googleapis -- buf.build/cosmos/ics23 -- buf.build/cosmos/ibc -lint: - except: - - UNARY_RPC - - COMMENT_FIELD - - SERVICE_SUFFIX - - PACKAGE_VERSION_SUFFIX - - RPC_REQUEST_STANDARD_NAME - ignore: - - tendermint - use: - - DEFAULT - - COMMENTS - - FILE_LOWER_SNAKE_CASE -version: v1 diff --git a/tools/tools.go b/tools/tools.go deleted file mode 100644 index 04e44843..00000000 --- a/tools/tools.go +++ /dev/null @@ -1,14 +0,0 @@ -//go:build tools - -package tools - -import ( - _ "github.com/bufbuild/buf/cmd/buf" - _ "github.com/cosmos/cosmos-proto/cmd/protoc-gen-go-pulsar" - _ "github.com/cosmos/gogoproto/protoc-gen-gocosmos" - _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway" - _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2" - _ "golang.org/x/tools/cmd/goimports" - _ "google.golang.org/grpc/cmd/protoc-gen-go-grpc" - _ "google.golang.org/protobuf/cmd/protoc-gen-go" -) From 7dc8961b0f02efb0b5460b3c3e5d0953a7a43f1c Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sat, 12 Jul 2025 11:22:07 +0200 Subject: [PATCH 84/99] feat(#242): Upped ingnite to v29 --- buf.lock | 24 ++++++++++++++++++++++++ buf.yaml | 29 +++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 buf.lock create mode 100644 buf.yaml diff --git a/buf.lock b/buf.lock new file mode 100644 index 00000000..9693267c --- /dev/null +++ b/buf.lock @@ -0,0 +1,24 @@ +# Generated by buf. DO NOT EDIT. +version: v2 +deps: + - name: buf.build/cosmos/cosmos-proto + commit: 04467658e59e44bbb22fe568206e1f70 + digest: b5:8058c0aadbee8c9af67a9cefe86492c6c0b0bd5b4526b0ec820507b91fc9b0b5efbebca97331854576d2d279b0b3f5ed6a7abb0640cb640c4186532239c48fc4 + - name: buf.build/cosmos/cosmos-sdk + commit: 05419252bcc241ea8023acf1ed4cadc5 + digest: b5:bec474e46596bf183fa85eb5c33106d432992ae696785c1c5fc1ce2a8f8819cab80c89d0b11557f3e916fd65133451fca4471a05f75ed163c688a8964ecb97b8 + - name: buf.build/cosmos/gogo-proto + commit: 88ef6483f90f478fb938c37dde52ece3 + digest: b5:f0c69202c9bca9672dc72a9737ea9bc83744daaed2b3da77e3a95b0e53b86dee76b5a7405b993181d6c863fd64afaca0976a302f700d6c4912eb1692a1782c0a + - name: buf.build/cosmos/ics23 + commit: dc427cb4519143d8996361c045a29ad7 + digest: b5:8693e72e230bfaf58a88a47a4093ba99f6252c1957a45582567959b38a8563e2abd11443372283d75f4f2306a7e3cc9bf63604d284a016c11966fca4b74b7a28 + - name: buf.build/googleapis/googleapis + commit: acd896313c55464b993332136ded1b6e + digest: b5:025d83e25193feb8dac5e5576113c8737006218b3b09fbc0d0ff652614da5424b336edb15bea139eb90d14eba656774a979d1fbdae81cbab2013932b84b98f53 + - name: buf.build/protocolbuffers/wellknowntypes + commit: 384f8deef6ae4110b57d996aad0032c4 + digest: b5:8b023f5c2a872028738eef7ca2323d17379d05332f95fad1d3db3d356ad29f0644bf5868a14069f350bb967a7c8f4bd010228d2deb482e05f56ffd1a5bfc79b3 + - name: buf.build/tendermint/tendermint + commit: 33ed361a90514289beabf3189e1d7665 + digest: b5:72e7b167e6a474c8ed7763e3fc811d756d48dd0e70d897c1d3b661656aa4ad3cf2adabadf1fa9a8fd644567678a1acd27bec139895b0469258cfa4c3ebae7aab diff --git a/buf.yaml b/buf.yaml new file mode 100644 index 00000000..7b932916 --- /dev/null +++ b/buf.yaml @@ -0,0 +1,29 @@ +version: v2 +modules: + - path: proto +deps: + - buf.build/cosmos/cosmos-proto + - buf.build/cosmos/cosmos-sdk + - buf.build/cosmos/gogo-proto + - buf.build/cosmos/ics23 + - buf.build/googleapis/googleapis + - buf.build/protocolbuffers/wellknowntypes +lint: + use: + - COMMENTS + - STANDARD + - FILE_LOWER_SNAKE_CASE + except: + - COMMENT_FIELD + - RPC_REQUEST_STANDARD_NAME + - RPC_RESPONSE_STANDARD_NAME + - SERVICE_SUFFIX + ignore: + - proto/tendermint + disallow_comment_ignores: true +breaking: + use: + - FILE + except: + - EXTENSION_NO_DELETE + - FIELD_SAME_DEFAULT From 2f6cbb84cf32eeba26dd3957aab2f6337efb3c6c Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 14 Jul 2025 16:24:19 +0200 Subject: [PATCH 85/99] fix(#242): Removed positional params from queries --- proto/cardchain/cardchain/query.proto | 6 +- x/cardchain/types/query.pb.go | 300 +++++++++++++------------- x/cardchain/types/query.pb.gw.go | 234 +++----------------- 3 files changed, 176 insertions(+), 364 deletions(-) diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 54d7906d..37f1975d 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -138,15 +138,13 @@ service Query { // Queries a list of Matches items. rpc Matches(QueryMatchesRequest) returns (QueryMatchesResponse) { option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/" - "{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}"; + "/DecentralCardGame/cardchain/cardchain/matches"; } // Queries a list of Sets items. rpc Sets(QuerySetsRequest) returns (QuerySetsResponse) { option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/" - "{containsCards}/{owner}"; + "/DecentralCardGame/cardchain/cardchain/sets/{status}"; } // Queries a list of CardContent items. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 1bb94253..caaa2692 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -2245,158 +2245,154 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2410 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xcd, 0x6f, 0x1c, 0x49, - 0x15, 0x4f, 0xdb, 0xe3, 0x71, 0xa6, 0xf2, 0xb1, 0x49, 0x25, 0xbb, 0xcc, 0xce, 0x26, 0x13, 0xa7, - 0x36, 0x9b, 0x78, 0xb3, 0xc9, 0xf4, 0x26, 0x76, 0x9c, 0x38, 0xeb, 0x84, 0xf5, 0x47, 0x12, 0x42, - 0x94, 0x0f, 0xda, 0x24, 0x88, 0x45, 0x60, 0xb5, 0x67, 0xca, 0x76, 0x2b, 0x33, 0xdd, 0xb3, 0x5d, - 0x35, 0x31, 0xc3, 0x68, 0x84, 0xe0, 0xc4, 0x09, 0xa1, 0x5d, 0x0e, 0x70, 0x40, 0x42, 0x70, 0x41, - 0x7c, 0x88, 0x3d, 0x73, 0x46, 0x28, 0xc7, 0x45, 0x5c, 0xf6, 0x84, 0x50, 0x82, 0x84, 0xf8, 0x13, - 0xb8, 0xa1, 0xaa, 0x7a, 0x5d, 0x5d, 0x3d, 0xd3, 0xd3, 0xee, 0xc9, 0x5e, 0xac, 0xa9, 0xd7, 0xbf, - 0x57, 0xef, 0x57, 0xaf, 0x5e, 0xd5, 0x7b, 0xaf, 0x8c, 0x4e, 0xd5, 0xdd, 0xb0, 0x51, 0xdf, 0x71, - 0x3d, 0xdf, 0x8e, 0x7f, 0x7d, 0xdc, 0xa1, 0x61, 0xb7, 0xd6, 0x0e, 0x03, 0x1e, 0xe0, 0x63, 0x5a, - 0x5c, 0xd3, 0xbf, 0x2a, 0x47, 0xdd, 0x96, 0xe7, 0x07, 0xb6, 0xfc, 0xab, 0x70, 0x95, 0xe3, 0xdb, - 0xc1, 0x76, 0x20, 0x7f, 0xda, 0xe2, 0x17, 0x48, 0x4f, 0x6c, 0x07, 0xc1, 0x76, 0x93, 0xda, 0x6e, - 0xdb, 0xb3, 0x5d, 0xdf, 0x0f, 0xb8, 0xcb, 0xbd, 0xc0, 0x67, 0xf0, 0xf5, 0x7c, 0x3d, 0x60, 0xad, - 0x80, 0xd9, 0x9b, 0x2e, 0xa3, 0xca, 0xa8, 0xfd, 0xec, 0xd2, 0x26, 0xe5, 0xee, 0x25, 0xbb, 0xed, - 0x6e, 0x7b, 0xbe, 0x04, 0x03, 0x76, 0x26, 0x8d, 0x68, 0xdb, 0x0d, 0xdd, 0x56, 0x34, 0xdb, 0xbb, - 0x69, 0x08, 0xf1, 0x6b, 0x63, 0xd7, 0xe3, 0x3b, 0x1b, 0x5e, 0xcb, 0xdd, 0xa6, 0x00, 0xad, 0xa6, - 0x41, 0x3b, 0x8c, 0x86, 0x59, 0xdf, 0xc5, 0x2f, 0xf8, 0x9e, 0xea, 0xb5, 0x96, 0xcb, 0xeb, 0x3b, - 0x00, 0x38, 0x99, 0x06, 0x60, 0x94, 0xeb, 0x85, 0xa7, 0x7f, 0x56, 0x4c, 0xdd, 0x90, 0xef, 0x06, - 0xe1, 0x53, 0xc0, 0x9e, 0x49, 0xc7, 0x36, 0x9b, 0x1b, 0xc1, 0xd6, 0x96, 0x66, 0x7c, 0x3a, 0x95, - 0x71, 0xd0, 0xf1, 0xeb, 0x5e, 0x33, 0xcb, 0x83, 0x8c, 0x86, 0xcf, 0xf4, 0x24, 0x6f, 0xa7, 0x21, - 0xa8, 0x2f, 0xa6, 0xe1, 0x1a, 0x54, 0xcb, 0x04, 0xa5, 0xf9, 0xda, 0xd8, 0xe4, 0x68, 0x7b, 0xeb, - 0x81, 0x17, 0x6d, 0xec, 0x6c, 0xda, 0x7c, 0xcf, 0x02, 0xee, 0xf9, 0xdb, 0x1b, 0x21, 0x65, 0x9d, - 0x26, 0x8f, 0x36, 0xf8, 0xec, 0xc8, 0x0d, 0xae, 0x07, 0x3e, 0xa7, 0x3e, 0x78, 0x97, 0x1c, 0x47, - 0xf8, 0x1b, 0x22, 0x98, 0x1e, 0xc9, 0xe8, 0x70, 0xe8, 0xc7, 0x1d, 0xca, 0x38, 0x79, 0x8c, 0x8e, - 0x25, 0xa4, 0xac, 0x1d, 0xf8, 0x8c, 0xe2, 0x9b, 0xa8, 0xa8, 0xa2, 0xa8, 0x6c, 0xcd, 0x58, 0xb3, - 0x07, 0x2e, 0xbf, 0x55, 0x4b, 0x09, 0xf8, 0x9a, 0x52, 0x5a, 0x29, 0x3d, 0xff, 0xe7, 0xa9, 0x7d, - 0xbf, 0xfb, 0xcf, 0x67, 0xe7, 0x2d, 0x07, 0xb4, 0xc8, 0x79, 0x74, 0x44, 0x4e, 0xbb, 0xea, 0x86, - 0x0d, 0x30, 0x85, 0xdf, 0x40, 0x45, 0xa1, 0x7a, 0xb7, 0x21, 0xe7, 0x2c, 0x38, 0x30, 0x22, 0xf7, - 0xd0, 0x51, 0x03, 0x0b, 0x04, 0x16, 0x50, 0x41, 0x7c, 0x06, 0xf3, 0x24, 0xd5, 0xbc, 0x50, 0xf8, - 0x96, 0xc7, 0x77, 0xee, 0x0a, 0xbf, 0x3a, 0x12, 0x4f, 0x2e, 0x80, 0xe1, 0xc7, 0x8c, 0x86, 0x91, - 0xe1, 0x32, 0x9a, 0x76, 0x1b, 0x8d, 0x90, 0x32, 0xb5, 0x9a, 0x92, 0x13, 0x0d, 0xc9, 0x0a, 0x98, - 0x56, 0x68, 0x30, 0x7d, 0x11, 0x15, 0x44, 0xd0, 0x83, 0xe9, 0x37, 0x53, 0x4d, 0x4b, 0x05, 0x09, - 0x23, 0xbf, 0x2e, 0x18, 0xfc, 0x23, 0xbf, 0xe2, 0xe3, 0x68, 0x2a, 0xd8, 0xf5, 0x61, 0x96, 0x92, - 0xa3, 0x06, 0xf8, 0x2a, 0x2a, 0x32, 0xee, 0xf2, 0x0e, 0x2b, 0x4f, 0xcc, 0x4c, 0xce, 0x1e, 0xbe, - 0x7c, 0x6a, 0xe4, 0xba, 0xd6, 0x25, 0xcc, 0x01, 0x38, 0x5e, 0x44, 0xfb, 0xc5, 0xf7, 0x6f, 0x76, - 0xdb, 0xb4, 0x3c, 0x29, 0x55, 0x4f, 0x8e, 0x54, 0x15, 0x20, 0x47, 0xc3, 0xf1, 0x3c, 0x9a, 0xaa, - 0x37, 0x5d, 0xc6, 0xca, 0x05, 0xa9, 0x57, 0x1d, 0xa9, 0xb7, 0x2a, 0x50, 0x8e, 0x02, 0x8b, 0xcd, - 0x62, 0x41, 0xc8, 0x57, 0xba, 0xe5, 0x29, 0xb9, 0x00, 0x18, 0x61, 0x82, 0x0e, 0xfa, 0x6e, 0x8b, - 0xae, 0x06, 0x3e, 0x77, 0x3d, 0x9f, 0x95, 0x8b, 0xf2, 0x6b, 0x42, 0x86, 0xcf, 0xa3, 0x23, 0x4f, - 0x69, 0x77, 0x37, 0x08, 0x1b, 0x4c, 0xe3, 0xa6, 0x25, 0x6e, 0x48, 0x8e, 0xcf, 0xa0, 0x43, 0x7e, - 0xc0, 0x69, 0x0c, 0xdc, 0x2f, 0x81, 0x49, 0x21, 0x9e, 0x45, 0xaf, 0x05, 0x7e, 0xb3, 0xbb, 0xce, - 0xdd, 0x90, 0xd3, 0x50, 0x90, 0x2d, 0x97, 0x66, 0xac, 0xd9, 0xfd, 0xce, 0xa0, 0x18, 0xd7, 0x10, - 0x16, 0xa2, 0x15, 0xb7, 0xe9, 0xfa, 0x75, 0xba, 0xec, 0xd7, 0x77, 0x82, 0x90, 0x95, 0x91, 0x04, - 0xa7, 0x7c, 0xc1, 0x1f, 0xa0, 0xfd, 0xa1, 0x1b, 0x7a, 0xdc, 0xa3, 0xac, 0x7c, 0x60, 0x8f, 0x3d, - 0x71, 0x04, 0xb0, 0xeb, 0x68, 0x05, 0x7c, 0x16, 0x1d, 0x6e, 0x75, 0x9a, 0xdc, 0x93, 0x9e, 0x7b, - 0xe8, 0x37, 0xbb, 0xe5, 0x83, 0xd2, 0xd0, 0x80, 0x94, 0xd4, 0xe0, 0xe8, 0x41, 0x84, 0x40, 0x9c, - 0x95, 0xd1, 0xb4, 0x3a, 0x01, 0x22, 0x2c, 0x27, 0x67, 0x0b, 0x4e, 0x34, 0x24, 0x17, 0x21, 0xa2, - 0xee, 0x8b, 0xbb, 0xd3, 0x88, 0x62, 0x79, 0x97, 0xea, 0xf3, 0x13, 0x0d, 0xc9, 0x6d, 0x98, 0x1e, - 0xe0, 0x30, 0xfd, 0xfb, 0x68, 0x4a, 0x02, 0x20, 0x8e, 0x2b, 0xa9, 0xcb, 0x52, 0x2a, 0x0a, 0x48, - 0xce, 0xa1, 0xd7, 0xe4, 0x3c, 0xeb, 0x94, 0x1b, 0x61, 0xcc, 0x28, 0xd7, 0x26, 0xd5, 0x80, 0xdc, - 0x85, 0x43, 0x26, 0x81, 0x60, 0xee, 0x0a, 0x9a, 0x64, 0x94, 0x83, 0xb1, 0xb7, 0x53, 0x8d, 0xad, - 0x53, 0x2e, 0x8e, 0xeb, 0xb2, 0xba, 0xc8, 0x1d, 0x81, 0x27, 0x8b, 0xe8, 0x75, 0x98, 0xaa, 0xd9, - 0x7c, 0x28, 0x6e, 0xee, 0xc8, 0xf2, 0x0c, 0x3a, 0xc0, 0x22, 0x99, 0xb6, 0x6f, 0x8a, 0xc8, 0x13, - 0xf4, 0xc6, 0xa0, 0x2a, 0x70, 0x59, 0x42, 0x25, 0x0d, 0x04, 0x46, 0xd5, 0x11, 0x8c, 0x22, 0xd5, - 0x58, 0x81, 0xcc, 0xc1, 0x95, 0xb8, 0xaa, 0xf2, 0x44, 0x44, 0xe8, 0x04, 0x2a, 0x41, 0xe6, 0xd0, - 0x74, 0x62, 0x01, 0x79, 0x80, 0x8e, 0x27, 0x95, 0xf4, 0x3d, 0x36, 0x0d, 0x20, 0x20, 0x72, 0x22, - 0x3d, 0xbc, 0x40, 0x2d, 0x02, 0x93, 0xf7, 0x61, 0x4f, 0xd7, 0x65, 0x26, 0x8a, 0x38, 0x54, 0xd0, - 0x7e, 0x95, 0x9a, 0x34, 0x05, 0x3d, 0x26, 0x5f, 0x07, 0xda, 0x91, 0x06, 0x10, 0x98, 0x43, 0x45, - 0x05, 0xc9, 0xbc, 0xc9, 0x41, 0x09, 0xa0, 0x7a, 0x57, 0x6e, 0x45, 0x09, 0xcc, 0xd8, 0x15, 0x9d, - 0xd4, 0xe2, 0x5d, 0x31, 0x44, 0x7a, 0x57, 0x0c, 0xd5, 0x78, 0x57, 0x34, 0x30, 0x73, 0x57, 0x62, - 0xd5, 0x58, 0x81, 0x94, 0x07, 0xe7, 0xd5, 0x29, 0xec, 0xdb, 0xe8, 0x2b, 0x43, 0x5f, 0x74, 0x1a, - 0x43, 0x7a, 0x06, 0x75, 0xca, 0xf6, 0xb6, 0x69, 0x68, 0x90, 0x15, 0x54, 0x4d, 0x4e, 0x1d, 0xa7, - 0x9b, 0xdc, 0x0e, 0xd9, 0x41, 0xa7, 0x46, 0xce, 0x01, 0x34, 0x6f, 0x0d, 0x7b, 0xe6, 0x5c, 0x36, - 0xcb, 0x78, 0x0e, 0xc3, 0x45, 0xa7, 0x07, 0x2d, 0xb1, 0x41, 0xba, 0xe4, 0x29, 0x9a, 0x19, 0x0d, - 0x01, 0x36, 0x77, 0x52, 0x9c, 0x96, 0x9b, 0x8e, 0xe9, 0xbd, 0xb7, 0xd0, 0x9b, 0xfa, 0xda, 0x93, - 0x0a, 0x77, 0xfd, 0xad, 0x20, 0x62, 0xf2, 0xf7, 0x09, 0x54, 0x49, 0xfb, 0x0a, 0x24, 0xee, 0xa1, - 0x23, 0xc2, 0xce, 0x72, 0xa7, 0x2e, 0xaa, 0xdd, 0x47, 0xa1, 0x57, 0xa7, 0x71, 0x42, 0x96, 0xa5, - 0x53, 0x4d, 0x94, 0x4e, 0x35, 0x28, 0x9d, 0x6a, 0xab, 0x81, 0xe7, 0xaf, 0x14, 0x44, 0x21, 0xe2, - 0x0c, 0x29, 0xe2, 0x2a, 0x42, 0x6e, 0x9d, 0x7b, 0xcf, 0xe8, 0x3a, 0xe5, 0x2a, 0xf5, 0x16, 0x1c, - 0x43, 0x22, 0x36, 0x51, 0xe8, 0xb0, 0x07, 0x9d, 0xd6, 0x26, 0x0d, 0xcb, 0x93, 0x6a, 0x13, 0x0d, - 0x91, 0x48, 0x53, 0xf2, 0x8e, 0xa4, 0x11, 0xa6, 0x20, 0x31, 0x49, 0xa1, 0x48, 0x7c, 0xfa, 0x1a, - 0x89, 0x80, 0x53, 0x12, 0x38, 0x24, 0x17, 0xb9, 0x03, 0xce, 0x7a, 0x84, 0x2c, 0x4a, 0xe4, 0x80, - 0x54, 0xcc, 0xd9, 0x74, 0x19, 0x17, 0x5e, 0xba, 0x1f, 0x34, 0xbc, 0x2d, 0x8f, 0x36, 0x64, 0x32, - 0x2d, 0x38, 0x43, 0x72, 0xb2, 0x88, 0x4e, 0xeb, 0x7b, 0x59, 0xe6, 0xaa, 0x35, 0x8f, 0xf1, 0xd0, - 0xdb, 0xec, 0x08, 0x57, 0x64, 0x5f, 0xe9, 0x4f, 0x10, 0xc9, 0x52, 0x35, 0x52, 0x56, 0x27, 0x0c, - 0xa9, 0xcf, 0x75, 0xca, 0x52, 0x43, 0x51, 0x2f, 0xec, 0xba, 0x3e, 0xa7, 0x0d, 0x70, 0x2f, 0x8c, - 0xc8, 0x35, 0x74, 0x42, 0xce, 0xbb, 0x5c, 0x97, 0x61, 0x71, 0x3b, 0x0c, 0x5a, 0x1f, 0x51, 0xb7, - 0xd9, 0x35, 0xb2, 0xda, 0x0f, 0xc4, 0x18, 0xf8, 0x94, 0x9c, 0x68, 0x48, 0x16, 0xd1, 0xc9, 0x11, - 0x9a, 0x31, 0x99, 0x11, 0x65, 0x5d, 0x14, 0x78, 0x4f, 0x64, 0xbd, 0xec, 0xa8, 0x72, 0x39, 0x0a, - 0x3c, 0x1f, 0xe2, 0x6e, 0xe0, 0x23, 0x4c, 0xfa, 0x08, 0x1d, 0x15, 0x6e, 0x4d, 0x7c, 0xcc, 0x2c, - 0x42, 0x93, 0xd3, 0x0c, 0x2b, 0x93, 0xff, 0x59, 0x70, 0x31, 0xdf, 0x57, 0xb1, 0x12, 0xad, 0xfc, - 0x0c, 0x3a, 0xc4, 0xbd, 0x16, 0x65, 0xdc, 0x6d, 0xb5, 0xd7, 0x82, 0x5d, 0x1f, 0xf6, 0x23, 0x29, - 0x14, 0xa1, 0xa9, 0x05, 0x8f, 0xdb, 0xe5, 0x09, 0x15, 0x9a, 0x86, 0x48, 0xcc, 0x53, 0x87, 0x3a, - 0x49, 0x54, 0xa5, 0x4c, 0xd6, 0x87, 0x25, 0x27, 0x29, 0x14, 0x99, 0x23, 0xa4, 0xed, 0x40, 0xd4, - 0x49, 0x32, 0x76, 0x4b, 0x8e, 0x1e, 0x8b, 0x1c, 0x15, 0x74, 0x78, 0x3d, 0x68, 0x51, 0x19, 0xad, - 0x87, 0x47, 0xe4, 0xa8, 0x87, 0x0a, 0xe3, 0x44, 0x60, 0x7d, 0x6c, 0x1e, 0x35, 0xdd, 0x2e, 0x6d, - 0x94, 0x8b, 0x72, 0xe3, 0x4d, 0x11, 0xd9, 0x81, 0xac, 0xa8, 0x97, 0x0e, 0x5e, 0x9e, 0x87, 0x5a, - 0x86, 0x46, 0xf7, 0x4b, 0x56, 0x75, 0x12, 0x41, 0xc5, 0x1a, 0xa0, 0xe4, 0x89, 0x0e, 0xb1, 0x1e, - 0x93, 0xdf, 0x5b, 0x71, 0x4d, 0xa2, 0x5d, 0xbc, 0xa0, 0xcb, 0x6d, 0x4b, 0xae, 0x6b, 0x54, 0x11, - 0xc0, 0x07, 0xaa, 0x6d, 0x82, 0x0e, 0x0a, 0xef, 0xc9, 0xf0, 0x17, 0xe5, 0xe3, 0x84, 0xf4, 0x68, - 0x42, 0x66, 0xba, 0x5d, 0x96, 0x75, 0xd2, 0xed, 0x05, 0x27, 0x29, 0x8c, 0xdb, 0x80, 0x82, 0xd1, - 0x06, 0x90, 0xf7, 0xa0, 0xbe, 0x53, 0x5c, 0xc1, 0x27, 0xa2, 0xe2, 0x16, 0x47, 0x31, 0xaa, 0x06, - 0x61, 0x44, 0x2e, 0x41, 0x7a, 0x93, 0x25, 0xba, 0xea, 0xe8, 0xf6, 0xea, 0xa8, 0xbe, 0x87, 0xca, - 0xc3, 0x2a, 0x60, 0x66, 0x45, 0x6d, 0x1a, 0x88, 0x21, 0xb4, 0x67, 0x46, 0x37, 0x05, 0xa0, 0x6e, - 0x2a, 0x91, 0xf9, 0xe1, 0xf9, 0x99, 0x71, 0xa0, 0x47, 0x54, 0xb5, 0xae, 0x91, 0x0e, 0x62, 0x2d, - 0xa0, 0xb5, 0x86, 0x0e, 0x1a, 0x16, 0xa2, 0xb0, 0xd8, 0x9b, 0x57, 0x42, 0x8b, 0x7c, 0x32, 0x31, - 0x58, 0x13, 0x6a, 0x5e, 0x37, 0x50, 0xa9, 0x2d, 0x92, 0x81, 0x3e, 0x6a, 0x39, 0x32, 0x49, 0xac, - 0x81, 0x17, 0xd1, 0xb4, 0x1c, 0xc0, 0x19, 0xcc, 0xa1, 0x1c, 0xe1, 0xd5, 0xc6, 0x36, 0x9b, 0x90, - 0x58, 0x44, 0x2b, 0x25, 0x47, 0x22, 0x36, 0x36, 0x3b, 0xdd, 0x38, 0x36, 0xe4, 0x00, 0x63, 0x68, - 0x7c, 0x55, 0xde, 0x90, 0xbf, 0xf1, 0x92, 0x8e, 0xe3, 0xa2, 0x8c, 0xe3, 0x33, 0xd9, 0xc5, 0x6c, - 0x32, 0x9a, 0x49, 0x1f, 0x02, 0xc8, 0xf4, 0x49, 0x5c, 0x1f, 0xc5, 0x89, 0x29, 0xb3, 0x3e, 0x8a, - 0x2b, 0x65, 0x43, 0x43, 0x1c, 0x14, 0xa3, 0x22, 0x8f, 0x4e, 0x65, 0x42, 0x76, 0xf9, 0x97, 0x55, - 0x34, 0x25, 0xed, 0xe3, 0x4f, 0x2c, 0x54, 0x54, 0x4f, 0x06, 0x38, 0xbd, 0x9e, 0x18, 0x7e, 0x9f, - 0xa8, 0xcc, 0xee, 0x0d, 0x54, 0x6b, 0x21, 0x57, 0x7e, 0xfc, 0x8f, 0x7f, 0x7f, 0x3a, 0x61, 0xe3, - 0x8b, 0xf6, 0x1a, 0xad, 0x53, 0x9f, 0x87, 0x6e, 0x53, 0x04, 0xca, 0x1d, 0xb7, 0x45, 0xed, 0xd1, - 0xaf, 0x64, 0xf8, 0x53, 0x0b, 0x15, 0x64, 0xe7, 0xf8, 0xce, 0x68, 0x4b, 0xc6, 0x2b, 0x46, 0xe5, - 0xec, 0x5e, 0x30, 0xa0, 0xb3, 0x24, 0xe9, 0x2c, 0xe0, 0xf9, 0x9c, 0x74, 0xc4, 0x2f, 0xbb, 0xa7, - 0xce, 0x4a, 0x1f, 0xff, 0xdc, 0x42, 0x05, 0x71, 0x71, 0x67, 0xb1, 0x32, 0x9e, 0x38, 0xb2, 0x58, - 0x99, 0x6f, 0x1b, 0xe4, 0x86, 0x64, 0x75, 0x15, 0x5f, 0xc9, 0xc9, 0xaa, 0xc3, 0x68, 0x68, 0xf7, - 0x20, 0xaf, 0xf6, 0xf1, 0x4f, 0x2d, 0x34, 0xa5, 0x2e, 0xb6, 0x3d, 0xdc, 0xa0, 0xf7, 0xef, 0xdc, - 0x9e, 0x38, 0x60, 0x36, 0x2f, 0x99, 0xd5, 0xf0, 0x85, 0x31, 0xfc, 0xc5, 0xf0, 0x2f, 0x2c, 0x34, - 0x25, 0xb3, 0x44, 0x16, 0x21, 0xb3, 0x8d, 0xce, 0x22, 0x94, 0xe8, 0x9f, 0xc9, 0x4d, 0x49, 0xe8, - 0x1a, 0x5e, 0xc8, 0x49, 0x48, 0xa6, 0x22, 0xbb, 0x07, 0x19, 0x49, 0xfa, 0x6a, 0x72, 0x9d, 0x72, - 0x7c, 0x66, 0xb4, 0xc1, 0xb8, 0xd1, 0xae, 0xbc, 0xb3, 0x07, 0x0a, 0x48, 0x5d, 0x97, 0xa4, 0xe6, - 0xf1, 0xe5, 0x9c, 0xa4, 0x18, 0xe5, 0x76, 0x4f, 0x26, 0x92, 0x3e, 0xfe, 0x93, 0x85, 0x4a, 0xfa, - 0x18, 0xe3, 0xf3, 0x59, 0x06, 0x93, 0xbd, 0x78, 0xe5, 0xbd, 0x5c, 0x58, 0xa0, 0x78, 0x47, 0x52, - 0x5c, 0xc6, 0x5f, 0xcd, 0x4d, 0x31, 0x7a, 0xb4, 0x15, 0x4c, 0xf5, 0xc5, 0xd1, 0xc7, 0xbf, 0xb1, - 0xd0, 0x34, 0xf4, 0xc5, 0x38, 0xe3, 0x1a, 0x48, 0xb6, 0xe9, 0x95, 0x77, 0x73, 0x20, 0x81, 0xe9, - 0x8a, 0x64, 0xba, 0x84, 0xaf, 0xe7, 0x0d, 0x39, 0xa5, 0x6f, 0xf7, 0x74, 0xdb, 0xdf, 0xc7, 0xbf, - 0xb2, 0x50, 0x51, 0x35, 0xcf, 0x59, 0x77, 0x5a, 0xa2, 0x8b, 0xcf, 0xba, 0xd3, 0x92, 0xcd, 0x3b, - 0xf9, 0x50, 0x32, 0xbc, 0x8e, 0xaf, 0xe5, 0xf6, 0xa5, 0x50, 0x17, 0x7e, 0x54, 0x8f, 0x02, 0x7d, - 0xfc, 0x47, 0x0b, 0x95, 0x74, 0x9b, 0x96, 0xb5, 0xe9, 0x83, 0xad, 0x7e, 0xd6, 0xa6, 0x0f, 0xf5, - 0xf6, 0xe4, 0xb6, 0x24, 0xfa, 0x21, 0xbe, 0x99, 0x93, 0xa8, 0xee, 0x12, 0xed, 0x9e, 0xd1, 0x2b, - 0xcb, 0x3d, 0x47, 0x71, 0x6f, 0x8a, 0xf3, 0x70, 0xd0, 0x57, 0xcd, 0x85, 0x7c, 0x60, 0x60, 0xbc, - 0x28, 0x19, 0xcf, 0xe1, 0x4b, 0xe3, 0x32, 0x66, 0xf8, 0xaf, 0x16, 0xc2, 0xc3, 0xad, 0x2f, 0x9e, - 0xcb, 0x61, 0x7f, 0xb0, 0x21, 0xaf, 0xcc, 0x8f, 0xa7, 0x04, 0xe4, 0x57, 0x25, 0xf9, 0x1b, 0xf8, - 0x83, 0x71, 0xc9, 0x1b, 0xff, 0x88, 0xc0, 0xcf, 0x2d, 0x74, 0x2c, 0xe5, 0x1d, 0x00, 0xe7, 0xa1, - 0x34, 0xf4, 0xb2, 0x50, 0xb9, 0x32, 0xa6, 0x16, 0xac, 0x64, 0x4d, 0xae, 0xe4, 0x26, 0x5e, 0x1a, - 0x7b, 0x1b, 0xcc, 0xa5, 0xfc, 0xd9, 0x42, 0x87, 0x12, 0xef, 0x08, 0xb8, 0x96, 0x9d, 0x77, 0x06, - 0x9f, 0x23, 0x2a, 0x76, 0x6e, 0xfc, 0x2b, 0x66, 0x52, 0xfd, 0x6b, 0xc3, 0x13, 0xfc, 0xbe, 0xb0, - 0xd0, 0xeb, 0xa9, 0xbd, 0x36, 0x5e, 0xc8, 0xce, 0x04, 0xa3, 0xfa, 0xfa, 0xca, 0xd5, 0xb1, 0xf5, - 0x60, 0x25, 0x0f, 0xe4, 0x4a, 0xbe, 0x86, 0x6f, 0xe7, 0xcf, 0x29, 0x1b, 0xf2, 0x09, 0xbc, 0xbb, - 0xd1, 0x30, 0xe6, 0xd3, 0x79, 0xe6, 0x6f, 0x16, 0x3a, 0x32, 0xd8, 0xb4, 0xe3, 0x4b, 0xa3, 0xd9, - 0x8d, 0x78, 0x1a, 0xa8, 0x5c, 0x1e, 0x47, 0x05, 0xd6, 0x72, 0x4f, 0xae, 0xe5, 0x16, 0x5e, 0xcd, - 0xb9, 0x16, 0x57, 0x4d, 0xb4, 0xb1, 0x15, 0x06, 0xad, 0x0d, 0xf9, 0xf2, 0x60, 0xf7, 0xe0, 0x01, - 0xa2, 0x2f, 0xa3, 0x2a, 0xd1, 0xcb, 0x67, 0x45, 0x55, 0xda, 0x5b, 0x43, 0x56, 0x54, 0xa5, 0x3e, - 0x3f, 0x8c, 0x1d, 0x55, 0xc9, 0xff, 0x08, 0xe2, 0xff, 0x5a, 0x68, 0x1a, 0x7a, 0xed, 0xac, 0x94, - 0x99, 0x7c, 0x89, 0xc8, 0x4a, 0x99, 0x03, 0x8d, 0x3b, 0xf9, 0x89, 0x25, 0x09, 0xfe, 0xc8, 0xc2, - 0x3f, 0x1c, 0xa7, 0x2c, 0xa2, 0xcc, 0xee, 0x25, 0xde, 0x35, 0xfa, 0xc6, 0xf8, 0x71, 0xbb, 0x2f, - 0x52, 0xaa, 0xf1, 0x5a, 0xd1, 0xb7, 0x7b, 0xd1, 0xe3, 0x44, 0xdf, 0xee, 0xc1, 0x73, 0x43, 0x5f, - 0x55, 0xc7, 0xf0, 0xb4, 0xd0, 0xc7, 0x7f, 0xb1, 0x50, 0x41, 0xbe, 0xde, 0x65, 0x97, 0x4e, 0x2c, - 0x47, 0x89, 0x6c, 0xf6, 0xe1, 0xa4, 0x2e, 0x57, 0xf8, 0x5d, 0xfc, 0x9d, 0xfc, 0xc7, 0x81, 0xd9, - 0x3d, 0xd5, 0x6b, 0xc1, 0x42, 0xa2, 0x47, 0x02, 0x63, 0x5d, 0xb2, 0xd8, 0x15, 0x8b, 0xd9, 0xf5, - 0x69, 0xd8, 0xc7, 0x9f, 0x59, 0xe8, 0x80, 0xd1, 0xc6, 0xe2, 0x0b, 0xd9, 0xd7, 0x4f, 0xb2, 0xef, - 0xaf, 0x5c, 0xcc, 0x89, 0x7e, 0xc5, 0x3b, 0xd6, 0xfc, 0xe7, 0x71, 0xdc, 0x92, 0xfc, 0xc1, 0x42, - 0x07, 0xcd, 0xd6, 0x1d, 0xe7, 0x63, 0xa1, 0xfd, 0x5f, 0xcb, 0x0b, 0xff, 0x12, 0x0d, 0x54, 0xc4, - 0x9a, 0xe1, 0xdf, 0x5a, 0x08, 0xc5, 0x0d, 0x2f, 0xce, 0x53, 0xc1, 0xe6, 0x29, 0x24, 0x86, 0x7b, - 0xe8, 0x57, 0x28, 0xc9, 0xa3, 0x7a, 0x97, 0xad, 0x38, 0xcf, 0x5f, 0x54, 0xad, 0xcf, 0x5f, 0x54, - 0xad, 0x7f, 0xbd, 0xa8, 0x5a, 0x3f, 0x7b, 0x59, 0xdd, 0xf7, 0xf9, 0xcb, 0xea, 0xbe, 0x2f, 0x5e, - 0x56, 0xf7, 0x7d, 0x74, 0x6d, 0xdb, 0xe3, 0x3b, 0x9d, 0xcd, 0x5a, 0x3d, 0x68, 0x65, 0xce, 0xfb, - 0x7d, 0xe3, 0x37, 0xef, 0xb6, 0x29, 0xdb, 0x2c, 0xca, 0x7f, 0xf7, 0xcf, 0xfd, 0x3f, 0x00, 0x00, - 0xff, 0xff, 0x03, 0x9b, 0x72, 0x07, 0xc4, 0x22, 0x00, 0x00, + // 2351 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xcd, 0x6f, 0x14, 0xc9, + 0x15, 0xa7, 0xed, 0xf1, 0x98, 0x29, 0x0c, 0x0b, 0x05, 0xbb, 0x99, 0x9d, 0x85, 0xc1, 0xd4, 0x7a, + 0xc1, 0xeb, 0x85, 0x69, 0xfc, 0x81, 0xc1, 0xac, 0x21, 0xeb, 0x0f, 0x20, 0x04, 0xf1, 0x91, 0x76, + 0x20, 0xca, 0x1e, 0x62, 0xb5, 0x67, 0xca, 0x76, 0x8b, 0x99, 0xee, 0xd9, 0xae, 0x1a, 0x9c, 0x89, + 0xe5, 0x4b, 0xfe, 0x80, 0x28, 0xda, 0x8d, 0xa2, 0x5c, 0xa2, 0x44, 0xc9, 0x25, 0xca, 0x87, 0xb2, + 0x7f, 0x44, 0x14, 0x71, 0xdc, 0x28, 0x97, 0x3d, 0x45, 0x11, 0x44, 0xca, 0xdf, 0x90, 0x5b, 0x54, + 0x55, 0xaf, 0xab, 0xab, 0x67, 0x7a, 0xda, 0x3d, 0xec, 0xc5, 0x9a, 0x7a, 0xfd, 0x7b, 0xf5, 0x7e, + 0xf5, 0xea, 0x55, 0xbd, 0xf7, 0xca, 0xe8, 0x7c, 0xdd, 0x0d, 0x1b, 0xf5, 0x5d, 0xd7, 0xf3, 0xed, + 0xf8, 0xd7, 0x67, 0x1d, 0x1a, 0x76, 0x6b, 0xed, 0x30, 0xe0, 0x01, 0x3e, 0xad, 0xc5, 0x35, 0xfd, + 0xab, 0x72, 0xca, 0x6d, 0x79, 0x7e, 0x60, 0xcb, 0xbf, 0x0a, 0x57, 0x39, 0xb3, 0x13, 0xec, 0x04, + 0xf2, 0xa7, 0x2d, 0x7e, 0x81, 0xf4, 0xec, 0x4e, 0x10, 0xec, 0x34, 0xa9, 0xed, 0xb6, 0x3d, 0xdb, + 0xf5, 0xfd, 0x80, 0xbb, 0xdc, 0x0b, 0x7c, 0x06, 0x5f, 0x67, 0xea, 0x01, 0x6b, 0x05, 0xcc, 0xde, + 0x72, 0x19, 0x55, 0x46, 0xed, 0x17, 0xb3, 0x5b, 0x94, 0xbb, 0xb3, 0x76, 0xdb, 0xdd, 0xf1, 0x7c, + 0x09, 0x06, 0xec, 0x64, 0x1a, 0xd1, 0xb6, 0x1b, 0xba, 0xad, 0x68, 0xb6, 0x0f, 0xd3, 0x10, 0xe2, + 0xd7, 0xe6, 0x9e, 0xc7, 0x77, 0x37, 0xbd, 0x96, 0xbb, 0x43, 0x01, 0x5a, 0x4d, 0x83, 0x76, 0x18, + 0x0d, 0xb3, 0xbe, 0x8b, 0x5f, 0xf0, 0x3d, 0xd5, 0x6b, 0x2d, 0x97, 0xd7, 0x77, 0x01, 0x70, 0x2e, + 0x0d, 0xc0, 0x28, 0xd7, 0x0b, 0x4f, 0xff, 0xac, 0x98, 0xba, 0x21, 0xdf, 0x0b, 0xc2, 0xe7, 0x80, + 0x9d, 0x4a, 0xc7, 0x36, 0x9b, 0x9b, 0xc1, 0xf6, 0xb6, 0x66, 0x7c, 0x21, 0x95, 0x71, 0xd0, 0xf1, + 0xeb, 0x5e, 0x33, 0xcb, 0x83, 0x8c, 0x86, 0x2f, 0xf4, 0x24, 0xef, 0xa7, 0x21, 0xa8, 0x2f, 0xa6, + 0xe1, 0x1a, 0x54, 0xcb, 0x04, 0xa5, 0xf9, 0xda, 0xd8, 0xe4, 0x68, 0x7b, 0xeb, 0x81, 0x17, 0x6d, + 0xec, 0x74, 0xda, 0x7c, 0x2f, 0x02, 0xee, 0xf9, 0x3b, 0x9b, 0x21, 0x65, 0x9d, 0x26, 0x8f, 0x36, + 0xf8, 0xe2, 0xc0, 0x0d, 0xae, 0x07, 0x3e, 0xa7, 0x3e, 0x78, 0x97, 0x9c, 0x41, 0xf8, 0x7b, 0x22, + 0x98, 0x9e, 0xc8, 0xe8, 0x70, 0xe8, 0x67, 0x1d, 0xca, 0x38, 0x79, 0x8a, 0x4e, 0x27, 0xa4, 0xac, + 0x1d, 0xf8, 0x8c, 0xe2, 0xdb, 0xa8, 0xa8, 0xa2, 0xa8, 0x6c, 0x4d, 0x5a, 0xd3, 0xc7, 0xe6, 0xde, + 0xab, 0xa5, 0x04, 0x7c, 0x4d, 0x29, 0xad, 0x96, 0x5e, 0xfe, 0xeb, 0xfc, 0x91, 0x3f, 0xfc, 0xf7, + 0xcb, 0x19, 0xcb, 0x01, 0x2d, 0x32, 0x83, 0x4e, 0xca, 0x69, 0xd7, 0xdc, 0xb0, 0x01, 0xa6, 0xf0, + 0x3b, 0xa8, 0x28, 0x54, 0xef, 0x37, 0xe4, 0x9c, 0x05, 0x07, 0x46, 0xe4, 0x01, 0x3a, 0x65, 0x60, + 0x81, 0xc0, 0x22, 0x2a, 0x88, 0xcf, 0x60, 0x9e, 0xa4, 0x9a, 0x17, 0x0a, 0x3f, 0xf0, 0xf8, 0xee, + 0x7d, 0xe1, 0x57, 0x47, 0xe2, 0xc9, 0x65, 0x30, 0xfc, 0x94, 0xd1, 0x30, 0x32, 0x5c, 0x46, 0xe3, + 0x6e, 0xa3, 0x11, 0x52, 0xa6, 0x56, 0x53, 0x72, 0xa2, 0x21, 0x59, 0x05, 0xd3, 0x0a, 0x0d, 0xa6, + 0xaf, 0xa0, 0x82, 0x08, 0x7a, 0x30, 0xfd, 0x6e, 0xaa, 0x69, 0xa9, 0x20, 0x61, 0xe4, 0xb7, 0x05, + 0x83, 0x7f, 0xe4, 0x57, 0x7c, 0x06, 0x8d, 0x05, 0x7b, 0x3e, 0xcc, 0x52, 0x72, 0xd4, 0x00, 0x5f, + 0x47, 0x45, 0xc6, 0x5d, 0xde, 0x61, 0xe5, 0x91, 0xc9, 0xd1, 0xe9, 0x13, 0x73, 0xe7, 0x07, 0xae, + 0x6b, 0x43, 0xc2, 0x1c, 0x80, 0xe3, 0x25, 0x74, 0x54, 0x7c, 0xff, 0x7e, 0xb7, 0x4d, 0xcb, 0xa3, + 0x52, 0xf5, 0xdc, 0x40, 0x55, 0x01, 0x72, 0x34, 0x1c, 0x2f, 0xa0, 0xb1, 0x7a, 0xd3, 0x65, 0xac, + 0x5c, 0x90, 0x7a, 0xd5, 0x81, 0x7a, 0x6b, 0x02, 0xe5, 0x28, 0xb0, 0xd8, 0x2c, 0x16, 0x84, 0x7c, + 0xb5, 0x5b, 0x1e, 0x93, 0x0b, 0x80, 0x11, 0x26, 0x68, 0xc2, 0x77, 0x5b, 0x74, 0x2d, 0xf0, 0xb9, + 0xeb, 0xf9, 0xac, 0x5c, 0x94, 0x5f, 0x13, 0x32, 0x3c, 0x83, 0x4e, 0x3e, 0xa7, 0xdd, 0xbd, 0x20, + 0x6c, 0x30, 0x8d, 0x1b, 0x97, 0xb8, 0x3e, 0x39, 0x9e, 0x42, 0xc7, 0xfd, 0x80, 0xd3, 0x18, 0x78, + 0x54, 0x02, 0x93, 0x42, 0x3c, 0x8d, 0xde, 0x0a, 0xfc, 0x66, 0x77, 0x83, 0xbb, 0x21, 0xa7, 0xa1, + 0x20, 0x5b, 0x2e, 0x4d, 0x5a, 0xd3, 0x47, 0x9d, 0x5e, 0x31, 0xae, 0x21, 0x2c, 0x44, 0xab, 0x6e, + 0xd3, 0xf5, 0xeb, 0x74, 0xc5, 0xaf, 0xef, 0x06, 0x21, 0x2b, 0x23, 0x09, 0x4e, 0xf9, 0x82, 0x3f, + 0x46, 0x47, 0x43, 0x37, 0xf4, 0xb8, 0x47, 0x59, 0xf9, 0xd8, 0x21, 0x7b, 0xe2, 0x08, 0x60, 0xd7, + 0xd1, 0x0a, 0xf8, 0x22, 0x3a, 0xd1, 0xea, 0x34, 0xb9, 0x27, 0x3d, 0xf7, 0xd8, 0x6f, 0x76, 0xcb, + 0x13, 0xd2, 0x50, 0x8f, 0x94, 0xd4, 0xe0, 0xe8, 0x41, 0x84, 0x40, 0x9c, 0x95, 0xd1, 0xb8, 0x3a, + 0x01, 0x22, 0x2c, 0x47, 0xa7, 0x0b, 0x4e, 0x34, 0x24, 0x57, 0x20, 0xa2, 0x1e, 0x8a, 0xbb, 0xd3, + 0x88, 0x62, 0x79, 0x97, 0xea, 0xf3, 0x13, 0x0d, 0xc9, 0x5d, 0x98, 0x1e, 0xe0, 0x30, 0xfd, 0x55, + 0x34, 0x26, 0x01, 0x10, 0xc7, 0x95, 0xd4, 0x65, 0x29, 0x15, 0x05, 0x24, 0x97, 0xd0, 0x5b, 0x72, + 0x9e, 0x0d, 0xca, 0x8d, 0x30, 0x66, 0x94, 0x6b, 0x93, 0x6a, 0x40, 0xee, 0xc3, 0x21, 0x93, 0x40, + 0x30, 0x77, 0x0d, 0x8d, 0x32, 0xca, 0xc1, 0xd8, 0xfb, 0xa9, 0xc6, 0x36, 0x28, 0x17, 0xc7, 0x75, + 0x45, 0x5d, 0xe4, 0x8e, 0xc0, 0x93, 0x25, 0xf4, 0x36, 0x4c, 0xd5, 0x6c, 0x3e, 0x16, 0x37, 0x77, + 0x64, 0x79, 0x12, 0x1d, 0x63, 0x91, 0x4c, 0xdb, 0x37, 0x45, 0xe4, 0x19, 0x7a, 0xa7, 0x57, 0x15, + 0xb8, 0x2c, 0xa3, 0x92, 0x06, 0x02, 0xa3, 0xea, 0x00, 0x46, 0x91, 0x6a, 0xac, 0x40, 0xe6, 0xe1, + 0x4a, 0x5c, 0x53, 0x79, 0x22, 0x22, 0x74, 0x16, 0x95, 0x20, 0x73, 0x68, 0x3a, 0xb1, 0x80, 0x3c, + 0x42, 0x67, 0x92, 0x4a, 0xfa, 0x1e, 0x1b, 0x07, 0x10, 0x10, 0x39, 0x9b, 0x1e, 0x5e, 0xa0, 0x16, + 0x81, 0xc9, 0x55, 0xd8, 0xd3, 0x0d, 0x99, 0x89, 0x22, 0x0e, 0x15, 0x74, 0x54, 0xa5, 0x26, 0x4d, + 0x41, 0x8f, 0xc9, 0x77, 0x81, 0x76, 0xa4, 0x01, 0x04, 0xe6, 0x51, 0x51, 0x41, 0x32, 0x6f, 0x72, + 0x50, 0x02, 0xa8, 0xde, 0x95, 0x3b, 0x51, 0x02, 0x33, 0x76, 0x45, 0x27, 0xb5, 0x78, 0x57, 0x0c, + 0x91, 0xde, 0x15, 0x43, 0x35, 0xde, 0x15, 0x0d, 0xcc, 0xdc, 0x95, 0x58, 0x35, 0x56, 0x20, 0xe5, + 0xde, 0x79, 0x75, 0x0a, 0xfb, 0x21, 0xfa, 0x56, 0xdf, 0x17, 0x9d, 0xc6, 0x90, 0x9e, 0x41, 0x9d, + 0xb2, 0xc3, 0x6d, 0x1a, 0x1a, 0x64, 0x15, 0x55, 0x93, 0x53, 0xc7, 0xe9, 0x26, 0xb7, 0x43, 0x76, + 0xd1, 0xf9, 0x81, 0x73, 0x00, 0xcd, 0x3b, 0xfd, 0x9e, 0xb9, 0x94, 0xcd, 0x32, 0x9e, 0xc3, 0x70, + 0xd1, 0x85, 0x5e, 0x4b, 0xac, 0x97, 0x2e, 0x79, 0x8e, 0x26, 0x07, 0x43, 0x80, 0xcd, 0xbd, 0x14, + 0xa7, 0xe5, 0xa6, 0x63, 0x7a, 0xef, 0x3d, 0xf4, 0xae, 0xbe, 0xf6, 0xa4, 0xc2, 0x7d, 0x7f, 0x3b, + 0x88, 0x98, 0xfc, 0x63, 0x04, 0x55, 0xd2, 0xbe, 0x02, 0x89, 0x07, 0xe8, 0xa4, 0xb0, 0xb3, 0xd2, + 0xa9, 0x8b, 0x6a, 0xf7, 0x49, 0xe8, 0xd5, 0x69, 0x9c, 0x90, 0x65, 0xe9, 0x54, 0x13, 0xa5, 0x53, + 0x0d, 0x4a, 0xa7, 0xda, 0x5a, 0xe0, 0xf9, 0xab, 0x05, 0x51, 0x88, 0x38, 0x7d, 0x8a, 0xb8, 0x8a, + 0x90, 0x5b, 0xe7, 0xde, 0x0b, 0xba, 0x41, 0xb9, 0x4a, 0xbd, 0x05, 0xc7, 0x90, 0x88, 0x4d, 0x14, + 0x3a, 0xec, 0x51, 0xa7, 0xb5, 0x45, 0xc3, 0xf2, 0xa8, 0xda, 0x44, 0x43, 0x24, 0xd2, 0x94, 0xbc, + 0x23, 0x69, 0x84, 0x29, 0x48, 0x4c, 0x52, 0x28, 0x12, 0x9f, 0xbe, 0x46, 0x22, 0xe0, 0x98, 0x04, + 0xf6, 0xc9, 0x45, 0xee, 0x80, 0xb3, 0x1e, 0x21, 0x8b, 0x12, 0xd9, 0x23, 0x15, 0x73, 0x36, 0x5d, + 0xc6, 0x85, 0x97, 0x1e, 0x06, 0x0d, 0x6f, 0xdb, 0xa3, 0x0d, 0x99, 0x4c, 0x0b, 0x4e, 0x9f, 0x9c, + 0x2c, 0xa1, 0x0b, 0xfa, 0x5e, 0x96, 0xb9, 0x6a, 0xdd, 0x63, 0x3c, 0xf4, 0xb6, 0x3a, 0xc2, 0x15, + 0xd9, 0x57, 0xfa, 0x33, 0x44, 0xb2, 0x54, 0x8d, 0x94, 0xd5, 0x09, 0x43, 0xea, 0x73, 0x9d, 0xb2, + 0xd4, 0x50, 0xd4, 0x0b, 0x7b, 0xae, 0xcf, 0x69, 0x03, 0xdc, 0x0b, 0x23, 0x72, 0x03, 0x9d, 0x95, + 0xf3, 0xae, 0xd4, 0x65, 0x58, 0xdc, 0x0d, 0x83, 0xd6, 0xa7, 0xd4, 0x6d, 0x76, 0x8d, 0xac, 0xf6, + 0x13, 0x31, 0x06, 0x3e, 0x25, 0x27, 0x1a, 0x92, 0x25, 0x74, 0x6e, 0x80, 0x66, 0x4c, 0x66, 0x40, + 0x59, 0x17, 0x05, 0xde, 0x33, 0x59, 0x2f, 0x3b, 0xaa, 0x5c, 0x8e, 0x02, 0xcf, 0x87, 0xb8, 0xeb, + 0xf9, 0x08, 0x93, 0x3e, 0x41, 0xa7, 0x84, 0x5b, 0x13, 0x1f, 0x33, 0x8b, 0xd0, 0xe4, 0x34, 0xfd, + 0xca, 0xe4, 0x7f, 0x16, 0x5c, 0xcc, 0x0f, 0x55, 0xac, 0x44, 0x2b, 0x9f, 0x42, 0xc7, 0xb9, 0xd7, + 0xa2, 0x8c, 0xbb, 0xad, 0xf6, 0x7a, 0xb0, 0xe7, 0xc3, 0x7e, 0x24, 0x85, 0x22, 0x34, 0xb5, 0xe0, + 0x69, 0xbb, 0x3c, 0xa2, 0x42, 0xd3, 0x10, 0x89, 0x79, 0xea, 0x50, 0x27, 0x89, 0xaa, 0x94, 0xc9, + 0xfa, 0xb0, 0xe4, 0x24, 0x85, 0x22, 0x73, 0x84, 0xb4, 0x1d, 0x88, 0x3a, 0x49, 0xc6, 0x6e, 0xc9, + 0xd1, 0x63, 0x91, 0xa3, 0x82, 0x0e, 0xaf, 0x07, 0x2d, 0x2a, 0xa3, 0xf5, 0xc4, 0x80, 0x1c, 0xf5, + 0x58, 0x61, 0x9c, 0x08, 0xac, 0x8f, 0xcd, 0x93, 0xa6, 0xdb, 0xa5, 0x8d, 0x72, 0x51, 0x6e, 0xbc, + 0x29, 0x22, 0xbb, 0x90, 0x15, 0xf5, 0xd2, 0xc1, 0xcb, 0x0b, 0x50, 0xcb, 0xd0, 0xe8, 0x7e, 0xc9, + 0xaa, 0x4e, 0x22, 0xa8, 0x58, 0x03, 0x94, 0x3c, 0xd1, 0x21, 0xd6, 0x63, 0xf2, 0x47, 0x2b, 0xae, + 0x49, 0xb4, 0x8b, 0x17, 0x75, 0xb9, 0x6d, 0xc9, 0x75, 0x0d, 0x2a, 0x02, 0x78, 0x4f, 0xb5, 0x4d, + 0xd0, 0x84, 0xf0, 0x9e, 0x0c, 0x7f, 0x51, 0x3e, 0x8e, 0x48, 0x8f, 0x26, 0x64, 0xa6, 0xdb, 0x65, + 0x59, 0x27, 0xdd, 0x5e, 0x70, 0x92, 0xc2, 0xb8, 0x0d, 0x28, 0x18, 0x6d, 0x00, 0xf9, 0x08, 0xea, + 0x3b, 0xc5, 0x15, 0x7c, 0x22, 0x2a, 0x6e, 0x71, 0x14, 0xa3, 0x6a, 0x10, 0x46, 0x64, 0x16, 0xd2, + 0x9b, 0x2c, 0xd1, 0x55, 0x47, 0x77, 0x58, 0x47, 0xf5, 0x23, 0x54, 0xee, 0x57, 0x01, 0x33, 0xab, + 0x6a, 0xd3, 0x40, 0x0c, 0xa1, 0x3d, 0x39, 0xb8, 0x29, 0x00, 0x75, 0x53, 0x89, 0x2c, 0xf4, 0xcf, + 0xcf, 0x8c, 0x03, 0x3d, 0xa0, 0xaa, 0x75, 0x8d, 0x74, 0x10, 0x6b, 0x01, 0xad, 0x75, 0x34, 0x61, + 0x58, 0x88, 0xc2, 0xe2, 0x70, 0x5e, 0x09, 0x2d, 0xf2, 0xf9, 0x48, 0x6f, 0x4d, 0xa8, 0x79, 0xdd, + 0x42, 0xa5, 0xb6, 0x48, 0x06, 0xfa, 0xa8, 0xe5, 0xc8, 0x24, 0xb1, 0x06, 0x5e, 0x42, 0xe3, 0x72, + 0x00, 0x67, 0x30, 0x87, 0x72, 0x84, 0x57, 0x1b, 0xdb, 0x6c, 0x42, 0x62, 0x11, 0xad, 0x94, 0x1c, + 0x89, 0xd8, 0xd8, 0xea, 0x74, 0xe3, 0xd8, 0x90, 0x03, 0x8c, 0xa1, 0xf1, 0x55, 0x79, 0x43, 0xfe, + 0xc6, 0xcb, 0x3a, 0x8e, 0x8b, 0x32, 0x8e, 0xa7, 0xb2, 0x8b, 0xd9, 0x64, 0x34, 0x93, 0x03, 0x08, + 0x20, 0xd3, 0x27, 0x71, 0x7d, 0x14, 0x27, 0xa6, 0xcc, 0xfa, 0x28, 0xae, 0x94, 0x0d, 0x0d, 0x71, + 0x50, 0x8c, 0x8a, 0x3c, 0x3a, 0x95, 0x09, 0xd9, 0xdc, 0x6f, 0xce, 0xa1, 0x31, 0x69, 0x1f, 0x7f, + 0x6e, 0xa1, 0xa2, 0x7a, 0x32, 0xc0, 0xe9, 0xf5, 0x44, 0xff, 0xfb, 0x44, 0x65, 0xfa, 0x70, 0xa0, + 0x5a, 0x0b, 0xb9, 0xf6, 0xd3, 0x7f, 0xfe, 0xe7, 0x8b, 0x11, 0x1b, 0x5f, 0xb1, 0xd7, 0x69, 0x9d, + 0xfa, 0x3c, 0x74, 0x9b, 0x22, 0x50, 0xee, 0xb9, 0x2d, 0x6a, 0x0f, 0x7e, 0x25, 0xc3, 0x5f, 0x58, + 0xa8, 0x20, 0x3b, 0xc7, 0x0f, 0x06, 0x5b, 0x32, 0x5e, 0x31, 0x2a, 0x17, 0x0f, 0x83, 0x01, 0x9d, + 0x65, 0x49, 0x67, 0x11, 0x2f, 0xe4, 0xa4, 0x23, 0x7e, 0xd9, 0xfb, 0xea, 0xac, 0x1c, 0xe0, 0x5f, + 0x58, 0xa8, 0x20, 0x2e, 0xee, 0x2c, 0x56, 0xc6, 0x13, 0x47, 0x16, 0x2b, 0xf3, 0x6d, 0x83, 0xdc, + 0x92, 0xac, 0xae, 0xe3, 0x6b, 0x39, 0x59, 0x75, 0x18, 0x0d, 0xed, 0x7d, 0xc8, 0xab, 0x07, 0xf8, + 0x67, 0x16, 0x1a, 0x53, 0x17, 0xdb, 0x21, 0x6e, 0xd0, 0xfb, 0x77, 0xe9, 0x50, 0x1c, 0x30, 0x5b, + 0x90, 0xcc, 0x6a, 0xf8, 0xf2, 0x10, 0xfe, 0x62, 0xf8, 0x57, 0x16, 0x1a, 0x93, 0x59, 0x22, 0x8b, + 0x90, 0xd9, 0x46, 0x67, 0x11, 0x4a, 0xf4, 0xcf, 0xe4, 0xb6, 0x24, 0x74, 0x03, 0x2f, 0xe6, 0x24, + 0x24, 0x53, 0x91, 0xbd, 0x0f, 0x19, 0x49, 0xfa, 0x6a, 0x74, 0x83, 0x72, 0x3c, 0x35, 0xd8, 0x60, + 0xdc, 0x68, 0x57, 0x3e, 0x38, 0x04, 0x05, 0xa4, 0x6e, 0x4a, 0x52, 0x0b, 0x78, 0x2e, 0x27, 0x29, + 0x46, 0xb9, 0xbd, 0x2f, 0x13, 0xc9, 0x01, 0xfe, 0x8b, 0x85, 0x4a, 0xfa, 0x18, 0xe3, 0x99, 0x2c, + 0x83, 0xc9, 0x5e, 0xbc, 0xf2, 0x51, 0x2e, 0x2c, 0x50, 0xbc, 0x27, 0x29, 0xae, 0xe0, 0x6f, 0xe7, + 0xa6, 0x18, 0x3d, 0xda, 0x0a, 0xa6, 0xfa, 0xe2, 0x38, 0xc0, 0xbf, 0xb3, 0xd0, 0x38, 0xf4, 0xc5, + 0x38, 0xe3, 0x1a, 0x48, 0xb6, 0xe9, 0x95, 0x0f, 0x73, 0x20, 0x81, 0xe9, 0xaa, 0x64, 0xba, 0x8c, + 0x6f, 0xe6, 0x0d, 0x39, 0xa5, 0x6f, 0xef, 0xeb, 0xb6, 0xff, 0x00, 0xff, 0xda, 0x42, 0x45, 0xd5, + 0x3c, 0x67, 0xdd, 0x69, 0x89, 0x2e, 0x3e, 0xeb, 0x4e, 0x4b, 0x36, 0xef, 0xe4, 0x13, 0xc9, 0xf0, + 0x26, 0xbe, 0x91, 0xdb, 0x97, 0x42, 0x5d, 0xf8, 0x51, 0x3d, 0x0a, 0x1c, 0xe0, 0x3f, 0x5b, 0xa8, + 0xa4, 0xdb, 0xb4, 0xac, 0x4d, 0xef, 0x6d, 0xf5, 0xb3, 0x36, 0xbd, 0xaf, 0xb7, 0x27, 0x77, 0x25, + 0xd1, 0x4f, 0xf0, 0xed, 0x9c, 0x44, 0x75, 0x97, 0x68, 0xef, 0x1b, 0xbd, 0xb2, 0xdc, 0x73, 0x14, + 0xf7, 0xa6, 0x38, 0x0f, 0x07, 0x7d, 0xd5, 0x5c, 0xce, 0x07, 0x06, 0xc6, 0x4b, 0x92, 0xf1, 0x3c, + 0x9e, 0x1d, 0x96, 0x31, 0xc3, 0x7f, 0xb3, 0x10, 0xee, 0x6f, 0x7d, 0xf1, 0x7c, 0x0e, 0xfb, 0xbd, + 0x0d, 0x79, 0x65, 0x61, 0x38, 0x25, 0x20, 0xbf, 0x26, 0xc9, 0xdf, 0xc2, 0x1f, 0x0f, 0x4b, 0xde, + 0xf8, 0x47, 0x04, 0x7e, 0x69, 0xa1, 0xd3, 0x29, 0xef, 0x00, 0x38, 0x0f, 0xa5, 0xbe, 0x97, 0x85, + 0xca, 0xb5, 0x21, 0xb5, 0x60, 0x25, 0xeb, 0x72, 0x25, 0xb7, 0xf1, 0xf2, 0xd0, 0xdb, 0x60, 0x2e, + 0xe5, 0xaf, 0x16, 0x3a, 0x9e, 0x78, 0x47, 0xc0, 0xb5, 0xec, 0xbc, 0xd3, 0xfb, 0x1c, 0x51, 0xb1, + 0x73, 0xe3, 0xdf, 0x30, 0x93, 0xea, 0x5f, 0x9b, 0x9e, 0xe0, 0xf7, 0xb5, 0x85, 0xde, 0x4e, 0xed, + 0xb5, 0xf1, 0x62, 0x76, 0x26, 0x18, 0xd4, 0xd7, 0x57, 0xae, 0x0f, 0xad, 0x07, 0x2b, 0x79, 0x24, + 0x57, 0xf2, 0x1d, 0x7c, 0x37, 0x7f, 0x4e, 0xd9, 0x94, 0x4f, 0xe0, 0xdd, 0xcd, 0x86, 0x31, 0x9f, + 0xce, 0x33, 0x7f, 0xb7, 0xd0, 0xc9, 0xde, 0xa6, 0x1d, 0xcf, 0x0e, 0x66, 0x37, 0xe0, 0x69, 0xa0, + 0x32, 0x37, 0x8c, 0x0a, 0xac, 0xe5, 0x81, 0x5c, 0xcb, 0x1d, 0xbc, 0x96, 0x73, 0x2d, 0xae, 0x9a, + 0x68, 0x73, 0x3b, 0x0c, 0x5a, 0x9b, 0xf2, 0xe5, 0xc1, 0xde, 0x87, 0x07, 0x88, 0x03, 0x19, 0x55, + 0x89, 0x5e, 0x3e, 0x2b, 0xaa, 0xd2, 0xde, 0x1a, 0xb2, 0xa2, 0x2a, 0xf5, 0xf9, 0x61, 0xe8, 0xa8, + 0x4a, 0xfe, 0x47, 0x10, 0xff, 0xd2, 0x42, 0xe3, 0xd0, 0x6b, 0x67, 0xa5, 0xcc, 0xe4, 0x4b, 0x44, + 0x56, 0xca, 0xec, 0x69, 0xdc, 0xc9, 0xa2, 0xe4, 0x77, 0x15, 0xd7, 0x86, 0x29, 0x8a, 0xa8, 0xaa, + 0xb2, 0xe5, 0x53, 0x5b, 0x76, 0x9d, 0xc3, 0x72, 0xd4, 0xb3, 0x66, 0xd3, 0x3c, 0x74, 0x95, 0xcd, + 0x28, 0x67, 0xf6, 0xbe, 0x6a, 0x8c, 0x0e, 0xf0, 0x97, 0x16, 0x3a, 0x66, 0x34, 0x93, 0xf8, 0x72, + 0xf6, 0x25, 0x90, 0xec, 0xbe, 0x2b, 0x57, 0x72, 0xa2, 0xdf, 0xf0, 0xa6, 0x33, 0xff, 0x85, 0x1b, + 0x37, 0x06, 0x7f, 0xb2, 0xd0, 0x84, 0xd9, 0x40, 0xe3, 0x7c, 0x2c, 0xb4, 0x63, 0x6b, 0x79, 0xe1, + 0xdf, 0xa0, 0x8d, 0x89, 0x58, 0x33, 0xfc, 0x7b, 0x0b, 0xa1, 0xb8, 0xed, 0xc4, 0x79, 0xea, 0xc8, + 0x3c, 0xe9, 0xbc, 0xbf, 0x93, 0x7d, 0x83, 0xc2, 0x38, 0xaa, 0x3a, 0xd9, 0xaa, 0xf3, 0xf2, 0x55, + 0xd5, 0xfa, 0xea, 0x55, 0xd5, 0xfa, 0xf7, 0xab, 0xaa, 0xf5, 0xf3, 0xd7, 0xd5, 0x23, 0x5f, 0xbd, + 0xae, 0x1e, 0xf9, 0xfa, 0x75, 0xf5, 0xc8, 0xa7, 0x37, 0x76, 0x3c, 0xbe, 0xdb, 0xd9, 0xaa, 0xd5, + 0x83, 0x56, 0xe6, 0xbc, 0x3f, 0x36, 0x7e, 0xf3, 0x6e, 0x9b, 0xb2, 0xad, 0xa2, 0xfc, 0xa7, 0xfb, + 0xfc, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x93, 0x35, 0x56, 0x53, 0x4a, 0x22, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index bfbc9a54..9f9fbd27 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -735,84 +735,19 @@ func local_request_Query_VotingResults_0(ctx context.Context, marshaler runtime. } +var ( + filter_Query_Matches_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + func request_Query_Matches_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryMatchesRequest var metadata runtime.ServerMetadata - var ( - val string - e int32 - ok bool - err error - _ = err - ) - - val, ok = pathParams["timestampDown"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "timestampDown") - } - - protoReq.TimestampDown, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "timestampDown", err) - } - - val, ok = pathParams["timestampUp"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "timestampUp") - } - - protoReq.TimestampUp, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "timestampUp", err) - } - - val, ok = pathParams["containsUsers"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "containsUsers") - } - - protoReq.ContainsUsers, err = runtime.StringSlice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "containsUsers", err) - } - - val, ok = pathParams["reporter"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "reporter") - } - - protoReq.Reporter, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "reporter", err) - } - - val, ok = pathParams["outcome"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "outcome") - } - - e, err = runtime.Enum(val, Outcome_value) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "outcome", err) - } - - protoReq.Outcome = Outcome(e) - - val, ok = pathParams["cardsPlayed"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardsPlayed") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - - protoReq.CardsPlayed, err = runtime.Uint64Slice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardsPlayed", err) + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_Matches_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } msg, err := client.Matches(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) @@ -824,80 +759,11 @@ func local_request_Query_Matches_0(ctx context.Context, marshaler runtime.Marsha var protoReq QueryMatchesRequest var metadata runtime.ServerMetadata - var ( - val string - e int32 - ok bool - err error - _ = err - ) - - val, ok = pathParams["timestampDown"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "timestampDown") - } - - protoReq.TimestampDown, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "timestampDown", err) - } - - val, ok = pathParams["timestampUp"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "timestampUp") - } - - protoReq.TimestampUp, err = runtime.Uint64(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "timestampUp", err) - } - - val, ok = pathParams["containsUsers"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "containsUsers") - } - - protoReq.ContainsUsers, err = runtime.StringSlice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "containsUsers", err) - } - - val, ok = pathParams["reporter"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "reporter") - } - - protoReq.Reporter, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "reporter", err) - } - - val, ok = pathParams["outcome"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "outcome") - } - - e, err = runtime.Enum(val, Outcome_value) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "outcome", err) - } - - protoReq.Outcome = Outcome(e) - - val, ok = pathParams["cardsPlayed"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cardsPlayed") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - - protoReq.CardsPlayed, err = runtime.Uint64Slice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cardsPlayed", err) + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_Matches_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } msg, err := server.Matches(ctx, &protoReq) @@ -905,6 +771,10 @@ func local_request_Query_Matches_0(ctx context.Context, marshaler runtime.Marsha } +var ( + filter_Query_Sets_0 = &utilities.DoubleArray{Encoding: map[string]int{"status": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + func request_Query_Sets_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QuerySetsRequest var metadata runtime.ServerMetadata @@ -930,37 +800,11 @@ func request_Query_Sets_0(ctx context.Context, marshaler runtime.Marshaler, clie protoReq.Status = SetStatus(e) - val, ok = pathParams["contributors"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "contributors") - } - - protoReq.Contributors, err = runtime.StringSlice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "contributors", err) - } - - val, ok = pathParams["containsCards"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "containsCards") - } - - protoReq.ContainsCards, err = runtime.Uint64Slice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "containsCards", err) - } - - val, ok = pathParams["owner"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "owner") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - - protoReq.Owner, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_Sets_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } msg, err := client.Sets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) @@ -993,37 +837,11 @@ func local_request_Query_Sets_0(ctx context.Context, marshaler runtime.Marshaler protoReq.Status = SetStatus(e) - val, ok = pathParams["contributors"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "contributors") - } - - protoReq.Contributors, err = runtime.StringSlice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "contributors", err) - } - - val, ok = pathParams["containsCards"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "containsCards") - } - - protoReq.ContainsCards, err = runtime.Uint64Slice(val, ",") - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "containsCards", err) - } - - val, ok = pathParams["owner"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "owner") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - - protoReq.Owner, err = runtime.String(val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_Sets_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } msg, err := server.Sets(ctx, &protoReq) @@ -2188,9 +2006,9 @@ var ( pattern_Query_VotingResults_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "voting_results"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_Matches_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"DecentralCardGame", "cardchain", "matches", "timestampDown", "timestampUp", "containsUsers", "reporter", "outcome", "cardsPlayed"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_Matches_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "matches"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_Sets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"DecentralCardGame", "cardchain", "sets", "status", "contributors", "containsCards", "owner"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_Sets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "sets", "status"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_CardContent_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "card_content", "cardId"}, "", runtime.AssumeColonVerbOpt(false))) From 9ec43ae7a417ed2ab645f4e046696f2226be3773 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 14 Jul 2025 16:24:36 +0200 Subject: [PATCH 86/99] fix(#242): fixed counting in gtk --- docs/static/openapi.yml | 2 +- types/generic_type_keeper/uint_gtk.go | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 6c93a317..40324384 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"query"},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches/{timestampDown}/{timestampUp}/{containsUsers}/{reporter}/{outcome}/{cardsPlayed}":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"path","required":true},{"type":"string","format":"uint64","name":"timestampUp","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"containsUsers","in":"path","required":true},{"type":"string","name":"reporter","in":"path","required":true},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","name":"outcome","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"cardsPlayed","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}/{contributors}/{containsCards}/{owner}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string"},"collectionFormat":"csv","name":"contributors","in":"path","required":true},{"minItems":1,"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"csv","name":"containsCards","in":"path","required":true},{"type":"string","name":"owner","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"query"},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"query"},{"type":"string","format":"uint64","name":"timestampUp","in":"query"},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"containsUsers","in":"query"},{"type":"string","name":"reporter","in":"query"},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","default":"Undefined","name":"outcome","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardsPlayed","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"contributors","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"containsCards","in":"query"},{"type":"string","name":"owner","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/types/generic_type_keeper/uint_gtk.go b/types/generic_type_keeper/uint_gtk.go index 903ed8b3..1f8d8058 100644 --- a/types/generic_type_keeper/uint_gtk.go +++ b/types/generic_type_keeper/uint_gtk.go @@ -43,6 +43,15 @@ func (gtk GenericUint64TypeKeeper[T]) Append(ctx sdk.Context, new T) (count uint return } +func (gtk GenericUint64TypeKeeper[T]) Set(ctx sdk.Context, id uint64, new T) { + gtk.GenericTypeKeeper.Set(ctx, id, new) + + num := gtk.GetNum(ctx) + if id == num { + gtk.setNum(ctx, num+1) + } +} + // GetNum Returns the number of items stored, way more performant than GetNumber func (gtk GenericUint64TypeKeeper[T]) GetNum(ctx sdk.Context) uint64 { store := gtk.getCountStore(ctx) From ec2e181e41a5833048cd94148b0aa7a289cf60fc Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 14 Jul 2025 16:32:29 +0200 Subject: [PATCH 87/99] fix(#242): fixed coin minting module permissions --- app/app_config.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/app_config.go b/app/app_config.go index fd75a098..dd720ea2 100644 --- a/app/app_config.go +++ b/app/app_config.go @@ -164,6 +164,8 @@ var ( {Account: ibctransfertypes.ModuleName, Permissions: []string{authtypes.Minter, authtypes.Burner}}, {Account: ibcfeetypes.ModuleName}, {Account: icatypes.ModuleName}, + {Account: cardchainmoduletypes.ModuleName, Permissions: []string{authtypes.Minter, authtypes.Burner}}, + // this line is used by starport scaffolding # stargate/app/maccPerms } From 12a3454e3b01c995ffc334af53fd366c4401eb67 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 15 Jul 2025 12:43:08 +0200 Subject: [PATCH 88/99] feat(#242): Added existance checks to queryWithImage --- docs/static/openapi.yml | 2 +- .../cardchain/cardchain/card_with_image.proto | 2 +- .../cardchain/encounter_with_image.proto | 2 +- proto/cardchain/cardchain/set.proto | 2 +- .../cardchain/set_with_artwork.proto | 3 +- proto/cardchain/cardchain/user.proto | 8 +- x/cardchain/keeper/query_card.go | 4 +- .../keeper/query_encounter_with_image.go | 7 +- .../keeper/query_encounters_with_image.go | 2 +- x/cardchain/keeper/query_set.go | 8 +- x/cardchain/types/card_with_image.pb.go | 56 +++++------ x/cardchain/types/encounter_with_image.pb.go | 57 +++++------ x/cardchain/types/set.pb.go | 62 ++++++------ x/cardchain/types/set_with_artwork.pb.go | 57 +++++------ x/cardchain/types/user.pb.go | 94 +++++++++---------- 15 files changed, 180 insertions(+), 186 deletions(-) diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 40324384..4f74b089 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"query"},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"query"},{"type":"string","format":"uint64","name":"timestampUp","in":"query"},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"containsUsers","in":"query"},{"type":"string","name":"reporter","in":"query"},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","default":"Undefined","name":"outcome","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardsPlayed","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"contributors","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"containsCards","in":"query"},{"type":"string","name":"owner","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"Rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"CouncilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"OpenEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ReportMatches":{"type":"boolean"},"WonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"query"},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"query"},{"type":"string","format":"uint64","name":"timestampUp","in":"query"},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"containsUsers","in":"query"},{"type":"string","name":"reporter","in":"query"},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","default":"Undefined","name":"outcome","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardsPlayed","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"contributors","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"containsCards","in":"query"},{"type":"string","name":"owner","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"councilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"openEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"reportMatches":{"type":"boolean"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"},"wonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/card_with_image.proto b/proto/cardchain/cardchain/card_with_image.proto index 8433d04f..2e083c1d 100644 --- a/proto/cardchain/cardchain/card_with_image.proto +++ b/proto/cardchain/cardchain/card_with_image.proto @@ -7,7 +7,7 @@ import "cardchain/cardchain/card.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; message CardWithImage { - Card card = 1; + Card card = 1 [ (gogoproto.nullable) = false ]; string image = 2; string hash = 3; } diff --git a/proto/cardchain/cardchain/encounter_with_image.proto b/proto/cardchain/cardchain/encounter_with_image.proto index 0a35f44f..c84f1e61 100644 --- a/proto/cardchain/cardchain/encounter_with_image.proto +++ b/proto/cardchain/cardchain/encounter_with_image.proto @@ -7,6 +7,6 @@ import "cardchain/cardchain/encounter.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; message EncounterWithImage { - Encounter encounter = 1; + Encounter encounter = 1 [ (gogoproto.nullable) = false ]; string image = 2; } diff --git a/proto/cardchain/cardchain/set.proto b/proto/cardchain/cardchain/set.proto index 1ccdb0a0..9043e41b 100644 --- a/proto/cardchain/cardchain/set.proto +++ b/proto/cardchain/cardchain/set.proto @@ -16,7 +16,7 @@ message Set { SetStatus status = 8; int64 timeStamp = 9; repeated AddrWithQuantity contributorsDistribution = 10; - repeated InnerRarities Rarities = 11; + repeated InnerRarities rarities = 11; } message InnerRarities { repeated uint64 R = 1; } diff --git a/proto/cardchain/cardchain/set_with_artwork.proto b/proto/cardchain/cardchain/set_with_artwork.proto index 8e5886ff..f3b490c6 100644 --- a/proto/cardchain/cardchain/set_with_artwork.proto +++ b/proto/cardchain/cardchain/set_with_artwork.proto @@ -1,11 +1,12 @@ syntax = "proto3"; package cardchain.cardchain; +import "gogoproto/gogo.proto"; import "cardchain/cardchain/set.proto"; option go_package = "github.com/DecentralCardGame/cardchain/x/cardchain/types"; message SetWithArtwork { - Set set = 1; + Set set = 1 [ (gogoproto.nullable) = false ]; bytes artwork = 2; } diff --git a/proto/cardchain/cardchain/user.proto b/proto/cardchain/cardchain/user.proto index 5d35140e..854935cc 100644 --- a/proto/cardchain/cardchain/user.proto +++ b/proto/cardchain/cardchain/user.proto @@ -9,8 +9,8 @@ message User { repeated uint64 ownedCardSchemes = 2; repeated uint64 ownedPrototypes = 3; repeated uint64 cards = 4; - CouncilStatus CouncilStatus = 6; - bool ReportMatches = 7; + CouncilStatus councilStatus = 6; + bool reportMatches = 7; uint64 profileCard = 8; AirDrops airDrops = 9; repeated BoosterPack boosterPacks = 10; @@ -19,8 +19,8 @@ message User { repeated uint64 votableCards = 13; repeated uint64 votedCards = 14; EarlyAccess earlyAccess = 15; - repeated uint64 OpenEncounters = 16; - repeated uint64 WonEncounters = 17; + repeated uint64 openEncounters = 16; + repeated uint64 wonEncounters = 17; } enum CouncilStatus { diff --git a/x/cardchain/keeper/query_card.go b/x/cardchain/keeper/query_card.go index 939e9413..f19a1da5 100644 --- a/x/cardchain/keeper/query_card.go +++ b/x/cardchain/keeper/query_card.go @@ -20,12 +20,12 @@ func (k Keeper) Card(goCtx context.Context, req *types.QueryCardRequest) (*types card := k.CardK.Get(ctx, req.CardId) if card == nil { - return nil, errorsmod.Wrap(errors.ErrUnknownRequest, "cardId does not represent a card") + return nil, errorsmod.Wrap(errors.ErrInvalidRequest, "cardId does not represent a card") } image := k.Images.Get(ctx, card.ImageId) return &types.QueryCardResponse{Card: &types.CardWithImage{ - Card: card, Image: string(image.Image), Hash: image.GetHash(), + Card: *card, Image: string(image.Image), Hash: image.GetHash(), }}, nil } diff --git a/x/cardchain/keeper/query_encounter_with_image.go b/x/cardchain/keeper/query_encounter_with_image.go index f3a395c3..877d490e 100644 --- a/x/cardchain/keeper/query_encounter_with_image.go +++ b/x/cardchain/keeper/query_encounter_with_image.go @@ -3,8 +3,10 @@ package keeper import ( "context" + errorsmod "cosmossdk.io/errors" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -17,9 +19,12 @@ func (k Keeper) EncounterWithImage(goCtx context.Context, req *types.QueryEncoun ctx := sdk.UnwrapSDKContext(goCtx) encounter := k.Encounterk.Get(ctx, req.EncounterId) + if encounter == nil { + return nil, errorsmod.Wrap(errors.ErrInvalidRequest, "encounterId does not represent an encounter") + } return &types.QueryEncounterWithImageResponse{Encounter: &types.EncounterWithImage{ - Encounter: encounter, + Encounter: *encounter, Image: string(k.Images.Get(ctx, encounter.ImageId).Image), }}, nil } diff --git a/x/cardchain/keeper/query_encounters_with_image.go b/x/cardchain/keeper/query_encounters_with_image.go index d0bc4ce2..486a21dc 100644 --- a/x/cardchain/keeper/query_encounters_with_image.go +++ b/x/cardchain/keeper/query_encounters_with_image.go @@ -22,7 +22,7 @@ func (k Keeper) EncountersWithImage(goCtx context.Context, req *types.QueryEncou for _, encounter := range encounters { encountersWithImage = append(encountersWithImage, &types.EncounterWithImage{ - Encounter: encounter, + Encounter: *encounter, Image: string(k.Images.Get(ctx, encounter.ImageId).Image), }) } diff --git a/x/cardchain/keeper/query_set.go b/x/cardchain/keeper/query_set.go index 238b4f4f..e5f839af 100644 --- a/x/cardchain/keeper/query_set.go +++ b/x/cardchain/keeper/query_set.go @@ -3,8 +3,10 @@ package keeper import ( "context" + errorsmod "cosmossdk.io/errors" "github.com/DecentralCardGame/cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -17,10 +19,14 @@ func (k Keeper) Set(goCtx context.Context, req *types.QuerySetRequest) (*types.Q ctx := sdk.UnwrapSDKContext(goCtx) set := k.SetK.Get(ctx, req.SetId) + if set == nil { + return nil, errorsmod.Wrap(errors.ErrInvalidRequest, "setId does not represent a set") + } + image := k.Images.Get(ctx, set.ArtworkId) return &types.QuerySetResponse{Set: &types.SetWithArtwork{ - Set: set, + Set: *set, Artwork: image.Image, }}, nil } diff --git a/x/cardchain/types/card_with_image.pb.go b/x/cardchain/types/card_with_image.pb.go index 39e731f0..975d3be7 100644 --- a/x/cardchain/types/card_with_image.pb.go +++ b/x/cardchain/types/card_with_image.pb.go @@ -24,7 +24,7 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type CardWithImage struct { - Card *Card `protobuf:"bytes,1,opt,name=card,proto3" json:"card,omitempty"` + Card Card `protobuf:"bytes,1,opt,name=card,proto3" json:"card"` Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` } @@ -62,11 +62,11 @@ func (m *CardWithImage) XXX_DiscardUnknown() { var xxx_messageInfo_CardWithImage proto.InternalMessageInfo -func (m *CardWithImage) GetCard() *Card { +func (m *CardWithImage) GetCard() Card { if m != nil { return m.Card } - return nil + return Card{} } func (m *CardWithImage) GetImage() string { @@ -92,21 +92,22 @@ func init() { } var fileDescriptor_ce46ddf1ce794b2c = []byte{ - // 219 bytes of a gzipped FileDescriptorProto + // 225 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4c, 0x4e, 0x2c, 0x4a, 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0x65, 0xc5, 0x97, 0x67, 0x96, 0x64, 0xc4, 0x67, 0xe6, 0x26, 0xa6, 0xa7, 0xea, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0x09, 0xc3, 0x15, 0xe8, 0xc1, 0x59, 0x52, 0x22, 0xe9, 0xf9, 0xe9, 0xf9, 0x60, 0x79, 0x7d, 0x10, 0x0b, 0xa2, 0x54, 0x4a, 0x0e, 0x97, - 0xa9, 0x10, 0x79, 0xa5, 0x0c, 0x2e, 0x5e, 0xe7, 0xc4, 0xa2, 0x94, 0xf0, 0xcc, 0x92, 0x0c, 0x4f, - 0x90, 0x0d, 0x42, 0xba, 0x5c, 0x2c, 0x20, 0x69, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x6e, 0x23, 0x49, - 0x3d, 0x2c, 0x56, 0xe9, 0x81, 0x74, 0x04, 0x81, 0x95, 0x09, 0x89, 0x70, 0xb1, 0x82, 0x5d, 0x26, - 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0x19, 0x04, 0xe1, 0x08, 0x09, 0x71, 0xb1, 0x64, 0x24, 0x16, 0x67, - 0x48, 0x30, 0x83, 0x05, 0xc1, 0x6c, 0xa7, 0xa0, 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, 0x48, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x77, 0x49, - 0x4d, 0x4e, 0xcd, 0x2b, 0x29, 0x4a, 0xcc, 0x01, 0xd9, 0xe1, 0x9e, 0x98, 0x9b, 0x8a, 0xe4, 0xec, - 0x0a, 0x24, 0x76, 0x49, 0x65, 0x41, 0x6a, 0x71, 0x12, 0x1b, 0xd8, 0x13, 0xc6, 0x80, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xa0, 0x4d, 0xa9, 0x97, 0x3c, 0x01, 0x00, 0x00, + 0xa9, 0x10, 0x79, 0xa5, 0x3c, 0x2e, 0x5e, 0xe7, 0xc4, 0xa2, 0x94, 0xf0, 0xcc, 0x92, 0x0c, 0x4f, + 0x90, 0x0d, 0x42, 0xc6, 0x5c, 0x2c, 0x20, 0x69, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x6e, 0x23, 0x49, + 0x3d, 0x2c, 0x56, 0xe9, 0x81, 0x74, 0x38, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x10, 0x04, 0x56, 0x2c, + 0x24, 0xc2, 0xc5, 0x0a, 0x76, 0x9f, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x67, 0x10, 0x84, 0x23, 0x24, + 0xc4, 0xc5, 0x92, 0x91, 0x58, 0x9c, 0x21, 0xc1, 0x0c, 0x16, 0x04, 0xb3, 0x9d, 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, 0xdf, 0x25, 0x35, 0x39, 0x35, 0xaf, 0xa4, 0x28, 0x31, 0x07, 0x64, 0x93, + 0x7b, 0x62, 0x6e, 0x2a, 0x92, 0xe3, 0x2b, 0x90, 0xd8, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, + 0x60, 0xaf, 0x18, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xd2, 0xd6, 0x18, 0x4a, 0x42, 0x01, 0x00, + 0x00, } func (m *CardWithImage) Marshal() (dAtA []byte, err error) { @@ -143,18 +144,16 @@ func (m *CardWithImage) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - if m.Card != nil { - { - size, err := m.Card.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintCardWithImage(dAtA, i, uint64(size)) + { + size, err := m.Card.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err } - i-- - dAtA[i] = 0xa + i -= size + i = encodeVarintCardWithImage(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa return len(dAtA) - i, nil } @@ -175,10 +174,8 @@ func (m *CardWithImage) Size() (n int) { } var l int _ = l - if m.Card != nil { - l = m.Card.Size() - n += 1 + l + sovCardWithImage(uint64(l)) - } + l = m.Card.Size() + n += 1 + l + sovCardWithImage(uint64(l)) l = len(m.Image) if l > 0 { n += 1 + l + sovCardWithImage(uint64(l)) @@ -254,9 +251,6 @@ func (m *CardWithImage) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Card == nil { - m.Card = &Card{} - } if err := m.Card.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/cardchain/types/encounter_with_image.pb.go b/x/cardchain/types/encounter_with_image.pb.go index 1ab697ce..4c085aed 100644 --- a/x/cardchain/types/encounter_with_image.pb.go +++ b/x/cardchain/types/encounter_with_image.pb.go @@ -24,8 +24,8 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type EncounterWithImage struct { - Encounter *Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter,omitempty"` - Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` + Encounter Encounter `protobuf:"bytes,1,opt,name=encounter,proto3" json:"encounter"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` } func (m *EncounterWithImage) Reset() { *m = EncounterWithImage{} } @@ -61,11 +61,11 @@ func (m *EncounterWithImage) XXX_DiscardUnknown() { var xxx_messageInfo_EncounterWithImage proto.InternalMessageInfo -func (m *EncounterWithImage) GetEncounter() *Encounter { +func (m *EncounterWithImage) GetEncounter() Encounter { if m != nil { return m.Encounter } - return nil + return Encounter{} } func (m *EncounterWithImage) GetImage() string { @@ -84,21 +84,21 @@ func init() { } var fileDescriptor_7885039e5cdeedd4 = []byte{ - // 214 bytes of a gzipped FileDescriptorProto + // 220 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4b, 0x4e, 0x2c, 0x4a, 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x52, 0xf3, 0x92, 0xf3, 0x4b, 0xf3, 0x4a, 0x52, 0x8b, 0xe2, 0xcb, 0x33, 0x4b, 0x32, 0xe2, 0x33, 0x73, 0x13, 0xd3, 0x53, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0xe1, 0xaa, 0x10, 0x3a, 0xa5, 0x44, 0xd2, 0xf3, 0xd3, 0xf3, 0xc1, 0xf2, - 0xfa, 0x20, 0x16, 0x44, 0xa9, 0x94, 0x32, 0x5e, 0xa3, 0x21, 0x8a, 0x94, 0x32, 0xb8, 0x84, 0x5c, - 0x61, 0x42, 0xe1, 0x99, 0x25, 0x19, 0x9e, 0x20, 0xbb, 0x84, 0x6c, 0xb8, 0x38, 0xe1, 0x0a, 0x25, - 0x18, 0x15, 0x18, 0x35, 0xb8, 0x8d, 0xe4, 0xf4, 0xb0, 0xd8, 0xac, 0x07, 0xd7, 0x1b, 0x84, 0xd0, - 0x20, 0x24, 0xc2, 0xc5, 0x0a, 0x76, 0xb2, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x67, 0x10, 0x84, 0xe3, - 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, 0x2e, 0xa9, 0xc9, 0xa9, 0x79, 0x25, 0x45, 0x89, - 0x39, 0xce, 0x89, 0x45, 0x29, 0xee, 0x89, 0xb9, 0xa9, 0x48, 0x6e, 0xaf, 0x40, 0x62, 0x97, 0x54, - 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, 0x3d, 0x61, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x3b, 0x8e, - 0x5a, 0x52, 0x46, 0x01, 0x00, 0x00, + 0xfa, 0x20, 0x16, 0x44, 0xa9, 0x94, 0x32, 0x5e, 0xa3, 0x21, 0x8a, 0x94, 0xf2, 0xb8, 0x84, 0x5c, + 0x61, 0x42, 0xe1, 0x99, 0x25, 0x19, 0x9e, 0x20, 0xbb, 0x84, 0x9c, 0xb8, 0x38, 0xe1, 0x0a, 0x25, + 0x18, 0x15, 0x18, 0x35, 0xb8, 0x8d, 0xe4, 0xf4, 0xb0, 0xd8, 0xac, 0x07, 0xd7, 0xeb, 0xc4, 0x72, + 0xe2, 0x9e, 0x3c, 0x43, 0x10, 0x42, 0x9b, 0x90, 0x08, 0x17, 0x2b, 0xd8, 0xe1, 0x12, 0x4c, 0x0a, + 0x8c, 0x1a, 0x9c, 0x41, 0x10, 0x8e, 0x53, 0xd0, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, + 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, + 0x31, 0x44, 0x59, 0xa4, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xbb, 0xa4, + 0x26, 0xa7, 0xe6, 0x95, 0x14, 0x25, 0xe6, 0x38, 0x27, 0x16, 0xa5, 0xb8, 0x27, 0xe6, 0xa6, 0x22, + 0xf9, 0xa0, 0x02, 0x89, 0x5d, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, 0x06, 0xf6, 0x8a, 0x31, 0x20, + 0x00, 0x00, 0xff, 0xff, 0x6c, 0x50, 0xd1, 0x4d, 0x4c, 0x01, 0x00, 0x00, } func (m *EncounterWithImage) Marshal() (dAtA []byte, err error) { @@ -128,18 +128,16 @@ func (m *EncounterWithImage) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - if m.Encounter != nil { - { - size, err := m.Encounter.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEncounterWithImage(dAtA, i, uint64(size)) + { + size, err := m.Encounter.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err } - i-- - dAtA[i] = 0xa + i -= size + i = encodeVarintEncounterWithImage(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa return len(dAtA) - i, nil } @@ -160,10 +158,8 @@ func (m *EncounterWithImage) Size() (n int) { } var l int _ = l - if m.Encounter != nil { - l = m.Encounter.Size() - n += 1 + l + sovEncounterWithImage(uint64(l)) - } + l = m.Encounter.Size() + n += 1 + l + sovEncounterWithImage(uint64(l)) l = len(m.Image) if l > 0 { n += 1 + l + sovEncounterWithImage(uint64(l)) @@ -235,9 +231,6 @@ func (m *EncounterWithImage) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Encounter == nil { - m.Encounter = &Encounter{} - } if err := m.Encounter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/cardchain/types/set.pb.go b/x/cardchain/types/set.pb.go index 9b795e35..5f58d7cd 100644 --- a/x/cardchain/types/set.pb.go +++ b/x/cardchain/types/set.pb.go @@ -68,7 +68,7 @@ type Set struct { Status SetStatus `protobuf:"varint,8,opt,name=status,proto3,enum=cardchain.cardchain.SetStatus" json:"status,omitempty"` TimeStamp int64 `protobuf:"varint,9,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` ContributorsDistribution []*AddrWithQuantity `protobuf:"bytes,10,rep,name=contributorsDistribution,proto3" json:"contributorsDistribution,omitempty"` - Rarities []*InnerRarities `protobuf:"bytes,11,rep,name=Rarities,proto3" json:"Rarities,omitempty"` + Rarities []*InnerRarities `protobuf:"bytes,11,rep,name=rarities,proto3" json:"rarities,omitempty"` } func (m *Set) Reset() { *m = Set{} } @@ -295,39 +295,39 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/set.proto", fileDescriptor_4433f04964645edd) } var fileDescriptor_4433f04964645edd = []byte{ - // 508 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0x4d, 0x6f, 0x13, 0x31, - 0x10, 0x8d, 0xbb, 0x69, 0xda, 0x75, 0x12, 0xb4, 0x32, 0x08, 0x19, 0x44, 0x57, 0xab, 0x48, 0x48, + // 509 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0xc1, 0x6e, 0x13, 0x31, + 0x10, 0x8d, 0xbb, 0x69, 0x9a, 0x75, 0x12, 0xb4, 0x32, 0x08, 0x19, 0x44, 0x57, 0xab, 0x48, 0x48, 0x2b, 0x0e, 0x1b, 0x35, 0x95, 0x10, 0x27, 0x24, 0x68, 0x25, 0xd4, 0x13, 0xc2, 0x39, 0x54, 0xe2, - 0xe6, 0xac, 0xdd, 0x66, 0x44, 0xd7, 0x4e, 0xed, 0x49, 0x20, 0xfc, 0x0a, 0x7e, 0x0f, 0xbf, 0x80, - 0x63, 0x8f, 0x1c, 0x51, 0xf2, 0x47, 0xd0, 0xee, 0xe6, 0xab, 0x28, 0xdc, 0xde, 0xbc, 0x79, 0xef, - 0xd9, 0xf2, 0x8c, 0xe9, 0x49, 0x2e, 0x9d, 0xca, 0xc7, 0x12, 0x4c, 0x7f, 0x8b, 0xbc, 0xc6, 0x6c, - 0xe2, 0x2c, 0x5a, 0xf6, 0x78, 0x43, 0x66, 0x1b, 0xf4, 0x3c, 0xce, 0xad, 0x2f, 0xac, 0xef, 0x8f, - 0xa4, 0xd7, 0xfd, 0xd9, 0xe9, 0x48, 0xa3, 0x3c, 0xed, 0xe7, 0x16, 0x4c, 0x6d, 0xea, 0xfd, 0x0c, - 0x68, 0x30, 0xd4, 0xc8, 0x18, 0x6d, 0x1a, 0x59, 0x68, 0x4e, 0x12, 0x92, 0x86, 0xa2, 0xc2, 0xec, + 0xe6, 0xac, 0xdd, 0x66, 0x44, 0xd7, 0x4e, 0xed, 0x49, 0x20, 0x7c, 0x05, 0xdf, 0xc3, 0x17, 0x70, + 0xec, 0x91, 0x23, 0x4a, 0x7e, 0x04, 0xed, 0x6e, 0x9a, 0xa4, 0x28, 0xdc, 0xde, 0xbc, 0x79, 0xef, + 0xd9, 0xf2, 0x8c, 0xe9, 0x71, 0x2e, 0x9d, 0xca, 0x27, 0x12, 0xcc, 0x60, 0x8b, 0xbc, 0xc6, 0x6c, + 0xea, 0x2c, 0x5a, 0xf6, 0x78, 0x43, 0x66, 0x1b, 0xf4, 0x3c, 0xce, 0xad, 0x2f, 0xac, 0x1f, 0x8c, + 0xa5, 0xd7, 0x83, 0xf9, 0xc9, 0x58, 0xa3, 0x3c, 0x19, 0xe4, 0x16, 0x4c, 0x6d, 0xea, 0xff, 0x0c, + 0x68, 0x30, 0xd2, 0xc8, 0x18, 0x6d, 0x1a, 0x59, 0x68, 0x4e, 0x12, 0x92, 0x86, 0xa2, 0xc2, 0xec, 0x09, 0x3d, 0x2c, 0x83, 0x3c, 0x3f, 0x48, 0x82, 0xb4, 0x29, 0xea, 0x82, 0x3d, 0xa5, 0x2d, 0xe9, - 0x10, 0x3c, 0xf2, 0xa0, 0xd2, 0xae, 0x2a, 0x96, 0xd0, 0xb6, 0x47, 0xeb, 0xe6, 0x57, 0x0e, 0x50, - 0x3b, 0xde, 0xac, 0x9a, 0xbb, 0x14, 0xeb, 0xd1, 0x4e, 0x6e, 0x0d, 0x3a, 0x18, 0x4d, 0xd1, 0x3a, + 0x10, 0x3c, 0xf2, 0xa0, 0xd2, 0xae, 0x2b, 0x96, 0xd0, 0x8e, 0x47, 0xeb, 0x16, 0x97, 0x0e, 0x50, + 0x3b, 0xde, 0xac, 0x9a, 0xbb, 0x14, 0xeb, 0xd3, 0x6e, 0x6e, 0x0d, 0x3a, 0x18, 0xcf, 0xd0, 0x3a, 0xcf, 0x0f, 0x93, 0x20, 0x0d, 0xc5, 0x03, 0xae, 0x3c, 0xb3, 0xb2, 0xf0, 0x56, 0xe5, 0xaf, 0x0b, - 0xf6, 0x82, 0x86, 0xd2, 0xe1, 0x57, 0xeb, 0xbe, 0x5c, 0x2a, 0x7e, 0x94, 0x90, 0xb4, 0x29, 0xb6, - 0x04, 0x7b, 0x4d, 0x5b, 0x1e, 0x25, 0x4e, 0x3d, 0x3f, 0x4e, 0x48, 0xfa, 0x68, 0x10, 0x67, 0x7b, - 0x5e, 0x22, 0x1b, 0x6a, 0x1c, 0x56, 0x2a, 0xb1, 0x52, 0x97, 0xa9, 0x08, 0x85, 0x1e, 0xa2, 0x2c, - 0x26, 0x3c, 0x4c, 0x48, 0x1a, 0x88, 0x2d, 0xc1, 0x24, 0xe5, 0xbb, 0x37, 0xbb, 0x00, 0x5f, 0x63, - 0xb0, 0x86, 0xd3, 0x24, 0x48, 0xdb, 0x83, 0x97, 0x7b, 0xcf, 0x79, 0xa7, 0x94, 0xbb, 0x02, 0x1c, - 0x7f, 0x9a, 0x4a, 0x83, 0x80, 0x73, 0xf1, 0xdf, 0x18, 0xf6, 0x96, 0x1e, 0x0b, 0xe9, 0x00, 0x41, - 0x7b, 0xde, 0xae, 0x22, 0x7b, 0x7b, 0x23, 0x2f, 0x8d, 0xd1, 0x6e, 0xad, 0x14, 0x1b, 0x4f, 0xef, - 0x84, 0x76, 0x1f, 0xb4, 0x58, 0x87, 0x12, 0xc1, 0x49, 0x35, 0x2d, 0x22, 0x7a, 0x40, 0xa3, 0x7f, - 0x2f, 0x53, 0xce, 0x59, 0x2a, 0xe5, 0xd6, 0x73, 0x2e, 0x71, 0xe9, 0xba, 0xe3, 0x07, 0x09, 0x49, - 0xbb, 0x82, 0xdc, 0xb1, 0x33, 0x7a, 0x34, 0x91, 0xf3, 0x42, 0x9b, 0x7a, 0xc0, 0xed, 0xc1, 0xb3, - 0xac, 0xde, 0xa1, 0xac, 0xdc, 0xa1, 0x6c, 0xb5, 0x43, 0xd9, 0xb9, 0x05, 0x23, 0xd6, 0xca, 0x57, - 0x1f, 0x69, 0xb8, 0x79, 0x5f, 0xd6, 0xa5, 0xe1, 0xd4, 0x28, 0x7d, 0x0d, 0x46, 0xab, 0xa8, 0xc1, - 0x28, 0x6d, 0x29, 0xed, 0xe1, 0xc6, 0x44, 0xa4, 0x6c, 0x5d, 0x83, 0x91, 0xb7, 0xf0, 0x5d, 0xab, - 0xe8, 0xa0, 0x6c, 0xc9, 0x1c, 0x61, 0xa6, 0xa3, 0x80, 0x75, 0xe8, 0xb1, 0x74, 0xf9, 0x18, 0x66, - 0x5a, 0x45, 0xcd, 0xf7, 0xe2, 0xd7, 0x22, 0x26, 0xf7, 0x8b, 0x98, 0xfc, 0x59, 0xc4, 0xe4, 0xc7, - 0x32, 0x6e, 0xdc, 0x2f, 0xe3, 0xc6, 0xef, 0x65, 0xdc, 0xf8, 0xfc, 0xe6, 0x06, 0x70, 0x3c, 0x1d, - 0x65, 0xb9, 0x2d, 0xfa, 0x17, 0x3a, 0xd7, 0x06, 0x9d, 0xbc, 0x3d, 0x97, 0x4e, 0x7d, 0x90, 0x85, - 0xde, 0xf9, 0x18, 0xdf, 0x76, 0x30, 0xce, 0x27, 0xda, 0x8f, 0x5a, 0xd5, 0xca, 0x9f, 0xfd, 0x0d, - 0x00, 0x00, 0xff, 0xff, 0x36, 0x7b, 0xc5, 0x6c, 0x48, 0x03, 0x00, 0x00, + 0xf6, 0x82, 0x86, 0xd2, 0xe1, 0x57, 0xeb, 0xbe, 0x5c, 0x28, 0x7e, 0x94, 0x90, 0xb4, 0x29, 0xb6, + 0x04, 0x7b, 0x4d, 0x5b, 0x1e, 0x25, 0xce, 0x3c, 0x6f, 0x27, 0x24, 0x7d, 0x34, 0x8c, 0xb3, 0x3d, + 0x2f, 0x91, 0x8d, 0x34, 0x8e, 0x2a, 0x95, 0x58, 0xab, 0xcb, 0x54, 0x84, 0x42, 0x8f, 0x50, 0x16, + 0x53, 0x1e, 0x26, 0x24, 0x0d, 0xc4, 0x96, 0x60, 0x92, 0xf2, 0xdd, 0x9b, 0x9d, 0x83, 0xaf, 0x31, + 0x58, 0xc3, 0x69, 0x12, 0xa4, 0x9d, 0xe1, 0xcb, 0xbd, 0xe7, 0xbc, 0x53, 0xca, 0x5d, 0x02, 0x4e, + 0x3e, 0xcd, 0xa4, 0x41, 0xc0, 0x85, 0xf8, 0x6f, 0x0c, 0x7b, 0x4b, 0xdb, 0x4e, 0x3a, 0x40, 0xd0, + 0x9e, 0x77, 0xaa, 0xc8, 0xfe, 0xde, 0xc8, 0x0b, 0x63, 0xb4, 0x13, 0x6b, 0xa5, 0xd8, 0x78, 0xfa, + 0xc7, 0xb4, 0xf7, 0xa0, 0xc5, 0xba, 0x94, 0x08, 0x4e, 0xaa, 0x69, 0x11, 0xd1, 0x07, 0x1a, 0xfd, + 0x7b, 0x99, 0x72, 0xce, 0x52, 0x29, 0x77, 0x3f, 0xe7, 0x12, 0x97, 0xae, 0x5b, 0x7e, 0x90, 0x90, + 0xb4, 0x27, 0xc8, 0x2d, 0x3b, 0xa5, 0x47, 0x53, 0xb9, 0x28, 0xb4, 0xa9, 0x07, 0xdc, 0x19, 0x3e, + 0xcb, 0xea, 0x1d, 0xca, 0xca, 0x1d, 0xca, 0xd6, 0x3b, 0x94, 0x9d, 0x59, 0x30, 0xe2, 0x5e, 0xf9, + 0xea, 0x23, 0x0d, 0x37, 0xef, 0xcb, 0x7a, 0x34, 0x9c, 0x19, 0xa5, 0xaf, 0xc0, 0x68, 0x15, 0x35, + 0x18, 0xa5, 0x2d, 0xa5, 0x3d, 0x5c, 0x9b, 0x88, 0x94, 0xad, 0x2b, 0x30, 0xf2, 0x06, 0xbe, 0x6b, + 0x15, 0x1d, 0x94, 0x2d, 0x99, 0x23, 0xcc, 0x75, 0x14, 0xb0, 0x2e, 0x6d, 0x4b, 0x97, 0x4f, 0x60, + 0xae, 0x55, 0xd4, 0x7c, 0x2f, 0x7e, 0x2d, 0x63, 0x72, 0xb7, 0x8c, 0xc9, 0x9f, 0x65, 0x4c, 0x7e, + 0xac, 0xe2, 0xc6, 0xdd, 0x2a, 0x6e, 0xfc, 0x5e, 0xc5, 0x8d, 0xcf, 0x6f, 0xae, 0x01, 0x27, 0xb3, + 0x71, 0x96, 0xdb, 0x62, 0x70, 0xae, 0x73, 0x6d, 0xd0, 0xc9, 0x9b, 0x33, 0xe9, 0xd4, 0x07, 0x59, + 0xe8, 0x9d, 0x8f, 0xf1, 0x6d, 0x07, 0xe3, 0x62, 0xaa, 0xfd, 0xb8, 0x55, 0xad, 0xfc, 0xe9, 0xdf, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x02, 0xcf, 0x33, 0xed, 0x48, 0x03, 0x00, 0x00, } func (m *Set) Marshal() (dAtA []byte, err error) { diff --git a/x/cardchain/types/set_with_artwork.pb.go b/x/cardchain/types/set_with_artwork.pb.go index 04e0c25e..f8d87340 100644 --- a/x/cardchain/types/set_with_artwork.pb.go +++ b/x/cardchain/types/set_with_artwork.pb.go @@ -5,6 +5,7 @@ package types import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" math "math" @@ -23,7 +24,7 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type SetWithArtwork struct { - Set *Set `protobuf:"bytes,1,opt,name=set,proto3" json:"set,omitempty"` + Set Set `protobuf:"bytes,1,opt,name=set,proto3" json:"set"` Artwork []byte `protobuf:"bytes,2,opt,name=artwork,proto3" json:"artwork,omitempty"` } @@ -60,11 +61,11 @@ func (m *SetWithArtwork) XXX_DiscardUnknown() { var xxx_messageInfo_SetWithArtwork proto.InternalMessageInfo -func (m *SetWithArtwork) GetSet() *Set { +func (m *SetWithArtwork) GetSet() Set { if m != nil { return m.Set } - return nil + return Set{} } func (m *SetWithArtwork) GetArtwork() []byte { @@ -83,20 +84,21 @@ func init() { } var fileDescriptor_e1aba62f65953858 = []byte{ - // 200 bytes of a gzipped FileDescriptorProto + // 219 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4a, 0x4e, 0x2c, 0x4a, 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x8a, 0x53, 0x4b, 0xe2, 0xcb, 0x33, 0x4b, 0x32, 0xe2, 0x13, 0x8b, 0x4a, 0xca, 0xf3, 0x8b, 0xb2, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, - 0xe1, 0x2a, 0xf4, 0xe0, 0x2c, 0x29, 0x59, 0x1c, 0x06, 0x40, 0xf4, 0x28, 0x85, 0x71, 0xf1, 0x05, - 0xa7, 0x96, 0x84, 0x67, 0x96, 0x64, 0x38, 0x42, 0xcc, 0x12, 0xd2, 0xe2, 0x62, 0x2e, 0x4e, 0x2d, - 0x91, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x36, 0x92, 0xd0, 0xc3, 0x62, 0xa6, 0x5e, 0x70, 0x6a, 0x49, - 0x10, 0x48, 0x91, 0x90, 0x04, 0x17, 0x3b, 0xd4, 0x09, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0x3c, 0x41, - 0x30, 0xae, 0x53, 0xd0, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, - 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x59, 0xa4, - 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xbb, 0xa4, 0x26, 0xa7, 0xe6, 0x95, - 0x14, 0x25, 0xe6, 0x38, 0x27, 0x16, 0xa5, 0xb8, 0x27, 0xe6, 0xa6, 0x22, 0xb9, 0xb1, 0x02, 0x89, - 0x5d, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, 0x06, 0x76, 0xb2, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, - 0x04, 0xf7, 0x03, 0x96, 0x14, 0x01, 0x00, 0x00, + 0xe1, 0x2a, 0xf4, 0xe0, 0x2c, 0x29, 0x91, 0xf4, 0xfc, 0xf4, 0x7c, 0xb0, 0xbc, 0x3e, 0x88, 0x05, + 0x51, 0x2a, 0x25, 0x8b, 0xc3, 0x58, 0x88, 0xb4, 0x52, 0x0c, 0x17, 0x5f, 0x70, 0x6a, 0x49, 0x78, + 0x66, 0x49, 0x86, 0x23, 0xc4, 0x06, 0x21, 0x03, 0x2e, 0xe6, 0xe2, 0xd4, 0x12, 0x09, 0x46, 0x05, + 0x46, 0x0d, 0x6e, 0x23, 0x09, 0x3d, 0x2c, 0x36, 0xe9, 0x05, 0xa7, 0x96, 0x38, 0xb1, 0x9c, 0xb8, + 0x27, 0xcf, 0x10, 0x04, 0x52, 0x2a, 0x24, 0xc1, 0xc5, 0x0e, 0x75, 0x9e, 0x04, 0x93, 0x02, 0xa3, + 0x06, 0x4f, 0x10, 0x8c, 0xeb, 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, 0x2e, 0xa9, 0xc9, + 0xa9, 0x79, 0x25, 0x45, 0x89, 0x39, 0xce, 0x89, 0x45, 0x29, 0xee, 0x89, 0xb9, 0xa9, 0x48, 0x2e, + 0xad, 0x40, 0x62, 0x97, 0x54, 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, 0x1d, 0x6e, 0x0c, 0x08, 0x00, + 0x00, 0xff, 0xff, 0xe8, 0xd8, 0xe0, 0xd5, 0x30, 0x01, 0x00, 0x00, } func (m *SetWithArtwork) Marshal() (dAtA []byte, err error) { @@ -126,18 +128,16 @@ func (m *SetWithArtwork) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - if m.Set != nil { - { - size, err := m.Set.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintSetWithArtwork(dAtA, i, uint64(size)) + { + size, err := m.Set.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err } - i-- - dAtA[i] = 0xa + i -= size + i = encodeVarintSetWithArtwork(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa return len(dAtA) - i, nil } @@ -158,10 +158,8 @@ func (m *SetWithArtwork) Size() (n int) { } var l int _ = l - if m.Set != nil { - l = m.Set.Size() - n += 1 + l + sovSetWithArtwork(uint64(l)) - } + l = m.Set.Size() + n += 1 + l + sovSetWithArtwork(uint64(l)) l = len(m.Artwork) if l > 0 { n += 1 + l + sovSetWithArtwork(uint64(l)) @@ -233,9 +231,6 @@ func (m *SetWithArtwork) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Set == nil { - m.Set = &Set{} - } if err := m.Set.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index f70e234d..b5079001 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -92,8 +92,8 @@ type User struct { OwnedCardSchemes []uint64 `protobuf:"varint,2,rep,packed,name=ownedCardSchemes,proto3" json:"ownedCardSchemes,omitempty"` OwnedPrototypes []uint64 `protobuf:"varint,3,rep,packed,name=ownedPrototypes,proto3" json:"ownedPrototypes,omitempty"` Cards []uint64 `protobuf:"varint,4,rep,packed,name=cards,proto3" json:"cards,omitempty"` - CouncilStatus CouncilStatus `protobuf:"varint,6,opt,name=CouncilStatus,proto3,enum=cardchain.cardchain.CouncilStatus" json:"CouncilStatus,omitempty"` - ReportMatches bool `protobuf:"varint,7,opt,name=ReportMatches,proto3" json:"ReportMatches,omitempty"` + CouncilStatus CouncilStatus `protobuf:"varint,6,opt,name=councilStatus,proto3,enum=cardchain.cardchain.CouncilStatus" json:"councilStatus,omitempty"` + ReportMatches bool `protobuf:"varint,7,opt,name=reportMatches,proto3" json:"reportMatches,omitempty"` ProfileCard uint64 `protobuf:"varint,8,opt,name=profileCard,proto3" json:"profileCard,omitempty"` AirDrops *AirDrops `protobuf:"bytes,9,opt,name=airDrops,proto3" json:"airDrops,omitempty"` BoosterPacks []*BoosterPack `protobuf:"bytes,10,rep,name=boosterPacks,proto3" json:"boosterPacks,omitempty"` @@ -102,8 +102,8 @@ type User struct { VotableCards []uint64 `protobuf:"varint,13,rep,packed,name=votableCards,proto3" json:"votableCards,omitempty"` VotedCards []uint64 `protobuf:"varint,14,rep,packed,name=votedCards,proto3" json:"votedCards,omitempty"` EarlyAccess *EarlyAccess `protobuf:"bytes,15,opt,name=earlyAccess,proto3" json:"earlyAccess,omitempty"` - OpenEncounters []uint64 `protobuf:"varint,16,rep,packed,name=OpenEncounters,proto3" json:"OpenEncounters,omitempty"` - WonEncounters []uint64 `protobuf:"varint,17,rep,packed,name=WonEncounters,proto3" json:"WonEncounters,omitempty"` + OpenEncounters []uint64 `protobuf:"varint,16,rep,packed,name=openEncounters,proto3" json:"openEncounters,omitempty"` + WonEncounters []uint64 `protobuf:"varint,17,rep,packed,name=wonEncounters,proto3" json:"wonEncounters,omitempty"` } func (m *User) Reset() { *m = User{} } @@ -469,51 +469,51 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/user.proto", fileDescriptor_eb1a13ac65ffc756) } var fileDescriptor_eb1a13ac65ffc756 = []byte{ - // 695 bytes of a gzipped FileDescriptorProto + // 694 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x94, 0x41, 0x6f, 0xd3, 0x30, 0x14, 0xc7, 0x9b, 0x26, 0x5b, 0xd3, 0x97, 0xb5, 0xcb, 0x0c, 0x42, 0x16, 0x82, 0x28, 0xaa, 0x10, - 0x8a, 0x26, 0xd4, 0x49, 0xe3, 0x02, 0x12, 0x97, 0x75, 0x9b, 0x80, 0x03, 0x62, 0xf2, 0x40, 0x48, - 0xdc, 0xdc, 0xd4, 0xac, 0x16, 0x6d, 0x1c, 0xd9, 0x6e, 0x47, 0xbf, 0x05, 0x57, 0x3e, 0x02, 0xdf, - 0x84, 0xe3, 0x8e, 0x1c, 0xd1, 0xf6, 0x45, 0x90, 0x9d, 0xb4, 0x4d, 0xba, 0xde, 0xde, 0xfb, 0xf9, - 0xff, 0xec, 0xf7, 0xfc, 0x9e, 0x0d, 0x51, 0x4a, 0xe5, 0x28, 0x1d, 0x53, 0x9e, 0x1d, 0xad, 0xad, - 0x99, 0x62, 0xb2, 0x9f, 0x4b, 0xa1, 0x05, 0x7a, 0xb0, 0xa2, 0xfd, 0x95, 0xf5, 0x38, 0xde, 0x16, - 0x34, 0x17, 0x9a, 0x67, 0x57, 0x45, 0x58, 0xef, 0xf7, 0x0e, 0x78, 0x9f, 0x15, 0x93, 0xe8, 0x21, - 0xec, 0xd0, 0x09, 0xa7, 0x0a, 0x3b, 0xb1, 0x93, 0xb4, 0x49, 0xe1, 0xa0, 0x43, 0x08, 0xc5, 0x75, - 0xc6, 0x46, 0xa7, 0x54, 0x8e, 0x2e, 0xd3, 0x31, 0x9b, 0x32, 0x85, 0x9b, 0xb1, 0x9b, 0x78, 0xe4, - 0x1e, 0x47, 0x09, 0xec, 0x5b, 0x76, 0x61, 0x36, 0xd6, 0x8b, 0x9c, 0x29, 0xec, 0x5a, 0xe9, 0x26, - 0x36, 0x67, 0x99, 0x74, 0x14, 0xf6, 0xec, 0x7a, 0xe1, 0xa0, 0x77, 0xd0, 0x39, 0x15, 0xb3, 0x2c, - 0xe5, 0x93, 0x4b, 0x4d, 0xf5, 0x4c, 0xe1, 0xdd, 0xd8, 0x49, 0xba, 0xc7, 0xbd, 0xfe, 0x96, 0xca, - 0xfa, 0x35, 0x25, 0xa9, 0x07, 0xa2, 0x67, 0xd0, 0x21, 0x2c, 0x17, 0x52, 0x7f, 0xa0, 0x3a, 0x1d, - 0x33, 0x85, 0x5b, 0xb1, 0x93, 0xf8, 0xa4, 0x0e, 0x51, 0x0c, 0x41, 0x2e, 0xc5, 0x37, 0x3e, 0x61, - 0xa6, 0x0a, 0xec, 0xc7, 0x4e, 0xe2, 0x91, 0x2a, 0x42, 0xaf, 0xc1, 0xa7, 0x5c, 0x9e, 0x49, 0x91, - 0x2b, 0xdc, 0x8e, 0x9d, 0x24, 0x38, 0x7e, 0xba, 0x35, 0x99, 0x93, 0x52, 0x44, 0x56, 0x72, 0x74, - 0x06, 0x7b, 0x43, 0x21, 0x94, 0x66, 0xf2, 0x82, 0xa6, 0xdf, 0x15, 0x86, 0xd8, 0x4d, 0x82, 0xe3, - 0x78, 0x6b, 0xf8, 0x60, 0x2d, 0x24, 0xb5, 0x28, 0x84, 0xa1, 0x75, 0xcd, 0x86, 0x8a, 0x6b, 0x86, - 0x03, 0xdb, 0x96, 0xa5, 0x8b, 0x9e, 0x40, 0x7b, 0xc8, 0xc5, 0x95, 0xa4, 0xf9, 0x78, 0x81, 0xf7, - 0xec, 0xda, 0x1a, 0xa0, 0x1e, 0xec, 0xcd, 0x85, 0xa6, 0xc3, 0xa2, 0x0e, 0x85, 0x3b, 0xf6, 0x9e, - 0x6b, 0x0c, 0x45, 0x00, 0x73, 0xa1, 0x8b, 0x16, 0x2a, 0xdc, 0xb5, 0x8a, 0x0a, 0x41, 0x03, 0x08, - 0x18, 0x95, 0x93, 0xc5, 0x49, 0x9a, 0x32, 0xa5, 0xf0, 0xbe, 0xad, 0x7f, 0x7b, 0x01, 0xe7, 0x6b, - 0x1d, 0xa9, 0x06, 0xa1, 0xe7, 0xd0, 0xfd, 0x98, 0xb3, 0xec, 0x3c, 0x4b, 0xc5, 0x2c, 0xd3, 0x4c, - 0x2a, 0x1c, 0xda, 0x73, 0x36, 0xa8, 0x69, 0xd8, 0x17, 0x51, 0x95, 0x1d, 0x58, 0x59, 0x1d, 0xf6, - 0xa6, 0x10, 0x54, 0x4e, 0x42, 0x8f, 0x60, 0x97, 0xa6, 0x9a, 0xcf, 0x99, 0x1d, 0x59, 0x9f, 0x94, - 0x9e, 0xd9, 0x8c, 0x67, 0x73, 0xae, 0xd9, 0x68, 0xb0, 0x30, 0xa3, 0x8d, 0x9b, 0xf6, 0x7a, 0xea, - 0xd0, 0x74, 0xbf, 0x04, 0x56, 0xe3, 0x5a, 0x4d, 0x15, 0xf5, 0x7e, 0x39, 0x10, 0x54, 0x5a, 0x63, - 0xa6, 0x56, 0x31, 0xfd, 0x7e, 0x64, 0x8f, 0xf3, 0x48, 0xe1, 0x98, 0x46, 0x68, 0x3e, 0x65, 0x97, - 0x9a, 0x4e, 0x73, 0x7b, 0x92, 0x4b, 0xd6, 0xc0, 0xbc, 0x09, 0x49, 0x25, 0xd7, 0x9c, 0xa9, 0x8b, - 0x62, 0x9b, 0xe5, 0x9b, 0xd8, 0xc0, 0xe8, 0x05, 0x1c, 0x8c, 0xa4, 0xc8, 0x09, 0xd5, 0x5c, 0xac, - 0xb4, 0xc5, 0xfb, 0xb8, 0xbf, 0xd0, 0xcb, 0xc1, 0x5f, 0x0e, 0x1d, 0x42, 0xe0, 0x99, 0xb6, 0x95, - 0xb7, 0x60, 0x6d, 0x73, 0x37, 0xa9, 0x64, 0x54, 0x33, 0x9b, 0x92, 0x4f, 0x4a, 0x0f, 0x85, 0xe0, - 0x0e, 0x67, 0x0b, 0x5b, 0xad, 0x4f, 0x8c, 0x69, 0xa2, 0xf3, 0x09, 0x5d, 0x60, 0xaf, 0x88, 0x36, - 0xb6, 0x61, 0xe6, 0x67, 0xc1, 0x3b, 0x05, 0x33, 0xf6, 0xe1, 0xa7, 0x8d, 0xd7, 0x89, 0x3a, 0xd0, - 0xa6, 0x73, 0xca, 0x27, 0x66, 0xa2, 0xc2, 0x06, 0xda, 0x87, 0x60, 0x96, 0xad, 0x81, 0x63, 0x80, - 0xc8, 0x59, 0x56, 0x06, 0x85, 0x4d, 0x84, 0xa0, 0xab, 0x34, 0x95, 0x66, 0xc0, 0x4a, 0xe6, 0x1e, - 0xbe, 0x81, 0x56, 0x59, 0x07, 0xf2, 0x8b, 0x44, 0xc2, 0x86, 0xb1, 0x4c, 0x11, 0xa1, 0x83, 0x60, - 0x59, 0x46, 0xd8, 0x44, 0x2d, 0x9b, 0x7a, 0xe8, 0x9a, 0x65, 0x93, 0x51, 0xe8, 0x0d, 0xc8, 0x9f, - 0xdb, 0xc8, 0xb9, 0xb9, 0x8d, 0x9c, 0x7f, 0xb7, 0x91, 0xf3, 0xf3, 0x2e, 0x6a, 0xdc, 0xdc, 0x45, - 0x8d, 0xbf, 0x77, 0x51, 0xe3, 0xeb, 0xab, 0x2b, 0xae, 0xc7, 0xb3, 0x61, 0x3f, 0x15, 0xd3, 0xa3, - 0x33, 0x96, 0xb2, 0x4c, 0x4b, 0x3a, 0x31, 0x73, 0xfd, 0x96, 0x4e, 0x59, 0xe5, 0x2f, 0xfc, 0x51, - 0xb1, 0xed, 0xdf, 0x34, 0xdc, 0xb5, 0xff, 0xe2, 0xcb, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x97, - 0x39, 0xc7, 0xaf, 0x70, 0x05, 0x00, 0x00, + 0x8a, 0x26, 0xd4, 0x49, 0xe3, 0x02, 0x12, 0x97, 0x75, 0x9b, 0x80, 0x03, 0xd2, 0x94, 0xc1, 0x85, + 0x9b, 0x9b, 0x9a, 0xd5, 0xa2, 0x8d, 0x23, 0xdb, 0xed, 0xe8, 0xb7, 0xe0, 0xca, 0x47, 0xe0, 0x9b, + 0x70, 0xdc, 0x91, 0x23, 0xda, 0xbe, 0x08, 0x7a, 0x4e, 0xda, 0xa6, 0x5b, 0x6f, 0xef, 0xfd, 0xfc, + 0x7f, 0xf6, 0x7b, 0x7e, 0xcf, 0x86, 0x28, 0x63, 0x6a, 0x94, 0x8d, 0x99, 0xc8, 0x8f, 0xd6, 0xd6, + 0x4c, 0x73, 0xd5, 0x2f, 0x94, 0x34, 0x92, 0x3c, 0x5a, 0xd1, 0xfe, 0xca, 0x7a, 0x1a, 0x6f, 0x0b, + 0x9a, 0x4b, 0x23, 0xf2, 0xab, 0x32, 0xac, 0xf7, 0x7b, 0x07, 0xbc, 0x2f, 0x9a, 0x2b, 0xf2, 0x18, + 0x76, 0xd8, 0x44, 0x30, 0x4d, 0x9d, 0xd8, 0x49, 0xda, 0x69, 0xe9, 0x90, 0x43, 0x08, 0xe5, 0x75, + 0xce, 0x47, 0xa7, 0x4c, 0x8d, 0x2e, 0xb3, 0x31, 0x9f, 0x72, 0x4d, 0x9b, 0xb1, 0x9b, 0x78, 0xe9, + 0x03, 0x4e, 0x12, 0xd8, 0xb7, 0xec, 0x02, 0x37, 0x36, 0x8b, 0x82, 0x6b, 0xea, 0x5a, 0xe9, 0x7d, + 0x8c, 0x67, 0x61, 0x3a, 0x9a, 0x7a, 0x76, 0xbd, 0x74, 0xc8, 0x07, 0xe8, 0x64, 0x72, 0x96, 0x67, + 0x62, 0x72, 0x69, 0x98, 0x99, 0x69, 0xba, 0x1b, 0x3b, 0x49, 0xf7, 0xb8, 0xd7, 0xdf, 0x52, 0x59, + 0xff, 0xb4, 0xae, 0x4c, 0x37, 0x03, 0xc9, 0x0b, 0xe8, 0x28, 0x5e, 0x48, 0x65, 0x3e, 0x31, 0x93, + 0x8d, 0xb9, 0xa6, 0xad, 0xd8, 0x49, 0xfc, 0x74, 0x13, 0x92, 0x18, 0x82, 0x42, 0xc9, 0x6f, 0x62, + 0xc2, 0xb1, 0x0a, 0xea, 0xc7, 0x4e, 0xe2, 0xa5, 0x75, 0x44, 0xde, 0x82, 0xcf, 0x84, 0x3a, 0x53, + 0xb2, 0xd0, 0xb4, 0x1d, 0x3b, 0x49, 0x70, 0xfc, 0x7c, 0x6b, 0x32, 0x27, 0x95, 0x28, 0x5d, 0xc9, + 0xc9, 0x19, 0xec, 0x0d, 0xa5, 0xd4, 0x86, 0xab, 0x0b, 0x96, 0x7d, 0xd7, 0x14, 0x62, 0x37, 0x09, + 0x8e, 0xe3, 0xad, 0xe1, 0x83, 0xb5, 0x30, 0xdd, 0x88, 0x22, 0x14, 0x5a, 0xd7, 0x7c, 0xa8, 0x85, + 0xe1, 0x34, 0xb0, 0x6d, 0x59, 0xba, 0xe4, 0x19, 0xb4, 0x87, 0x42, 0x5e, 0x29, 0x56, 0x8c, 0x17, + 0x74, 0xcf, 0xae, 0xad, 0x01, 0xe9, 0xc1, 0xde, 0x5c, 0x1a, 0x36, 0x2c, 0xeb, 0xd0, 0xb4, 0x63, + 0xef, 0x79, 0x83, 0x91, 0x08, 0x60, 0x2e, 0x4d, 0xd9, 0x42, 0x4d, 0xbb, 0x56, 0x51, 0x23, 0x64, + 0x00, 0x01, 0x67, 0x6a, 0xb2, 0x38, 0xc9, 0x32, 0xae, 0x35, 0xdd, 0xb7, 0xf5, 0x6f, 0x2f, 0xe0, + 0x7c, 0xad, 0x4b, 0xeb, 0x41, 0xe4, 0x25, 0x74, 0x65, 0xc1, 0xf3, 0xf3, 0x1c, 0xfb, 0x63, 0xb8, + 0xd2, 0x34, 0xb4, 0xe7, 0xdc, 0xa3, 0xd8, 0xb0, 0x6b, 0x59, 0x97, 0x1d, 0x58, 0xd9, 0x26, 0xec, + 0x4d, 0x21, 0xa8, 0x9d, 0x44, 0x9e, 0xc0, 0x2e, 0xcb, 0x8c, 0x98, 0x73, 0x3b, 0xb2, 0x7e, 0x5a, + 0x79, 0xb8, 0x99, 0xc8, 0xe7, 0xc2, 0xf0, 0xd1, 0x60, 0x81, 0xa3, 0x4d, 0x9b, 0xf6, 0x7a, 0x36, + 0x21, 0x76, 0xbf, 0x02, 0x56, 0xe3, 0x5a, 0x4d, 0x1d, 0xf5, 0x7e, 0x39, 0x10, 0xd4, 0x5a, 0x83, + 0x53, 0xab, 0xb9, 0xf9, 0x38, 0xb2, 0xc7, 0x79, 0x69, 0xe9, 0x60, 0x23, 0x8c, 0x98, 0xf2, 0x4b, + 0xc3, 0xa6, 0x85, 0x3d, 0xc9, 0x4d, 0xd7, 0x00, 0xdf, 0x84, 0x62, 0x4a, 0x18, 0xc1, 0xf5, 0x45, + 0xb9, 0xcd, 0xf2, 0x4d, 0xdc, 0xc3, 0xe4, 0x15, 0x1c, 0x8c, 0x94, 0x2c, 0x52, 0x66, 0x84, 0x5c, + 0x69, 0xcb, 0xf7, 0xf1, 0x70, 0xa1, 0x57, 0x80, 0xbf, 0x1c, 0x3a, 0x42, 0xc0, 0xc3, 0xb6, 0x55, + 0xb7, 0x60, 0x6d, 0xbc, 0x9b, 0x4c, 0x71, 0x66, 0xb8, 0x4d, 0xc9, 0x4f, 0x2b, 0x8f, 0x84, 0xe0, + 0x0e, 0x67, 0x0b, 0x5b, 0xad, 0x9f, 0xa2, 0x89, 0xd1, 0xc5, 0x84, 0x2d, 0xa8, 0x57, 0x46, 0xa3, + 0x8d, 0x0c, 0x7f, 0x16, 0xba, 0x53, 0x32, 0xb4, 0x0f, 0x3f, 0x43, 0x67, 0xe3, 0xcd, 0x91, 0x0e, + 0xb4, 0xd9, 0x9c, 0x89, 0x09, 0x4e, 0x54, 0xd8, 0x20, 0xfb, 0x10, 0xcc, 0xf2, 0x35, 0x70, 0x10, + 0x60, 0x97, 0xab, 0xa0, 0xb0, 0x49, 0x08, 0x74, 0xb5, 0x61, 0x0a, 0x07, 0xac, 0x62, 0xee, 0xe1, + 0x3b, 0x68, 0x55, 0x75, 0x10, 0xbf, 0x4c, 0x24, 0x6c, 0xa0, 0x85, 0x45, 0x84, 0x0e, 0x81, 0x65, + 0x19, 0x61, 0x93, 0xb4, 0x6c, 0xea, 0xa1, 0x8b, 0xcb, 0x98, 0x51, 0xe8, 0x0d, 0xd2, 0x3f, 0xb7, + 0x91, 0x73, 0x73, 0x1b, 0x39, 0xff, 0x6e, 0x23, 0xe7, 0xe7, 0x5d, 0xd4, 0xb8, 0xb9, 0x8b, 0x1a, + 0x7f, 0xef, 0xa2, 0xc6, 0xd7, 0x37, 0x57, 0xc2, 0x8c, 0x67, 0xc3, 0x7e, 0x26, 0xa7, 0x47, 0x67, + 0x3c, 0xe3, 0xb9, 0x51, 0x6c, 0x82, 0x73, 0xfd, 0x9e, 0x4d, 0x79, 0xed, 0x2f, 0xfc, 0x51, 0xb3, + 0xed, 0xdf, 0x34, 0xdc, 0xb5, 0xff, 0xe2, 0xeb, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x98, 0x4c, + 0x9b, 0x68, 0x70, 0x05, 0x00, 0x00, } func (m *User) Marshal() (dAtA []byte, err error) { From 05095e22940c44c8c70b931a9e846d4dc45a4dfb Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 15 Jul 2025 21:35:07 +0200 Subject: [PATCH 89/99] feat(#242): Added ignite script --- ignite | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 ignite diff --git a/ignite b/ignite new file mode 100755 index 00000000..f7c16e70 --- /dev/null +++ b/ignite @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +# Ingite wrapper to ensure ignite version compatibility +# 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="v29.1.0-dev" + + +if [[ $1 == "--path" ]]; then + path=$2 + + if ! [ -f $path ]; then + echo "[Wrapper] Path '$path' was not found" + exit 1 + fi + + args=${@:3} +else + path=$(which ignite) + if [[ $? != 0 ]]; then + echo "[Wrapper] Error: No ignite binary found" + exit 1 + fi + args=$@ +fi + +version=$($path version 2>&1 | grep -E "Ignite CLI version:" | awk '{print $NF}') +if [[ $version != $IGNITE_VERSION ]]; then + echo "[Wrapper] Error: No matching ignite version found, required is $IGNITE_VERSION but $version was found" + exit 1 +fi + +echo "[Wrapper] Using $path $IGNITE_VERSION" + +$path $args From d8f19cd3861de0a2daa0f3098ff322467f78872b Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Tue, 15 Jul 2025 21:46:54 +0200 Subject: [PATCH 90/99] feat(#242): maybe fixed script --- ignite | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ignite b/ignite index f7c16e70..8f40d170 100755 --- a/ignite +++ b/ignite @@ -25,7 +25,7 @@ else args=$@ fi -version=$($path version 2>&1 | grep -E "Ignite CLI version:" | awk '{print $NF}') +version=$(yes | $path version 2>&1 | grep -E "Ignite CLI version:" | awk '{print $NF}') if [[ $version != $IGNITE_VERSION ]]; then echo "[Wrapper] Error: No matching ignite version found, required is $IGNITE_VERSION but $version was found" exit 1 From 94d1d2007d5c52cbee4e26163a2d14d1ab0b1ed5 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Wed, 16 Jul 2025 14:39:26 +0200 Subject: [PATCH 91/99] feat(#242): fixed version --- ignite | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ignite b/ignite index 8f40d170..4b7c3839 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="v29.1.0-dev" +IGNITE_VERSION="v29.2.0-dev" if [[ $1 == "--path" ]]; then From 2bf71f5d914a6af8e410b1e764e6af22558e5af5 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Wed, 16 Jul 2025 14:49:36 +0200 Subject: [PATCH 92/99] feat(#242): fixed script for encounters --- scripts/migrate_with_data.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/migrate_with_data.py b/scripts/migrate_with_data.py index 6929dc11..09335e85 100755 --- a/scripts/migrate_with_data.py +++ b/scripts/migrate_with_data.py @@ -237,6 +237,11 @@ (key[0].lower() + key[1:]): value for key, value in set.items() } +for idx, enc in enumerate(new_dict["app_state"]["cardchain"]["encounters"]): + new_dict["app_state"]["cardchain"]["encounters"][idx] = { + (key[0].lower() + key[1:]): value for key, value in enc.items() + } + coinMap = {} for account in new_dict["app_state"]["bank"]["balances"]: for coin in account["coins"]: From a458ab626db0b33ff18c768fc10d1c5c4f778c6c Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Thu, 17 Jul 2025 12:26:07 +0200 Subject: [PATCH 93/99] fix(#242): Fixed address prefixes in chain --- scripts/migrate_with_data.py | 1 + types/generic_type_keeper/address_gtk.go | 7 +++++++ types/generic_type_keeper/generic_type_keeper.go | 2 +- x/cardchain/keeper/user.go | 2 +- x/cardchain/module/genesis.go | 1 + 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/migrate_with_data.py b/scripts/migrate_with_data.py index 09335e85..76a3354d 100755 --- a/scripts/migrate_with_data.py +++ b/scripts/migrate_with_data.py @@ -163,6 +163,7 @@ 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) diff --git a/types/generic_type_keeper/address_gtk.go b/types/generic_type_keeper/address_gtk.go index 97ee6e63..1edbda36 100644 --- a/types/generic_type_keeper/address_gtk.go +++ b/types/generic_type_keeper/address_gtk.go @@ -1,7 +1,10 @@ package generic_type_keeper import ( + "bytes" + "cosmossdk.io/core/store" + "github.com/DecentralCardGame/cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/gogoproto/proto" @@ -11,6 +14,10 @@ type GenericAddressTypeKeeper[T proto.Message] struct { GenericTypeKeeper[T, sdk.AccAddress] } +func (gtk GenericAddressTypeKeeper[T]) NormalizeAddress(address []byte) sdk.AccAddress { + return bytes.TrimPrefix(address, append(types.KeyPrefix(gtk.valueKey()), []byte("/")...)) +} + func NewAddressGTK[T proto.Message](key string, storeService store.KVStoreService, cdc codec.BinaryCodec, getEmpty func() T) GenericAddressTypeKeeper[T] { gtk := GenericAddressTypeKeeper[T]{ GenericTypeKeeper[T, sdk.AccAddress]{ diff --git a/types/generic_type_keeper/generic_type_keeper.go b/types/generic_type_keeper/generic_type_keeper.go index 6aff2b84..defdedd2 100644 --- a/types/generic_type_keeper/generic_type_keeper.go +++ b/types/generic_type_keeper/generic_type_keeper.go @@ -66,7 +66,7 @@ func (gtk GenericTypeKeeper[T, K]) Set(ctx sdk.Context, id K, new T) { // GetIterator Returns an iterator for all objects func (gtk GenericTypeKeeper[T, K]) GetIterator(ctx sdk.Context) db.Iterator { store := gtk.getValueStore(ctx) - return storetypes.KVStorePrefixIterator(store, []byte{}) + return storetypes.KVStorePrefixIterator(store, types.KeyPrefix(gtk.valueKey())) } // GetAll Gets all objs from store -- use GetItemIterator instead diff --git a/x/cardchain/keeper/user.go b/x/cardchain/keeper/user.go index 9800bdec..00d98aa7 100644 --- a/x/cardchain/keeper/user.go +++ b/x/cardchain/keeper/user.go @@ -67,7 +67,7 @@ func (k Keeper) GetAllUsers(ctx sdk.Context) (allUsers []*types.User, allAddress k.cdc.MustUnmarshal(iterator.Value(), &gottenUser) allUsers = append(allUsers, &gottenUser) - allAddresses = append(allAddresses, iterator.Key()) + allAddresses = append(allAddresses, k.Users.NormalizeAddress(iterator.Key())) } return } diff --git a/x/cardchain/module/genesis.go b/x/cardchain/module/genesis.go index eb53f381..14b0e57b 100644 --- a/x/cardchain/module/genesis.go +++ b/x/cardchain/module/genesis.go @@ -123,6 +123,7 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { addresses = append(addresses, addr.String()) } genesis.Users = users + genesis.Addresses = addresses // this line is used by starport scaffolding # genesis/module/export return genesis From 8da3e27c98eee7bc8c3f4b64252cb6979362abef Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Thu, 17 Jul 2025 14:06:47 +0200 Subject: [PATCH 94/99] fix(#242): Upped to v53 --- app/app_config.go | 1 + docs/static/openapi.yml | 2 +- go.mod | 217 +++++++++-------- go.sum | 510 +++++++++++++++++++++------------------- 4 files changed, 388 insertions(+), 342 deletions(-) diff --git a/app/app_config.go b/app/app_config.go index dd720ea2..d80bc0ec 100644 --- a/app/app_config.go +++ b/app/app_config.go @@ -149,6 +149,7 @@ var ( preBlockers = []string{ upgradetypes.ModuleName, + authtypes.ModuleName, // this line is used by starport scaffolding # stargate/app/preBlockers } diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index bd77af82..2bab2592 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"query"},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"query"},{"type":"string","format":"uint64","name":"timestampUp","in":"query"},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"containsUsers","in":"query"},{"type":"string","name":"reporter","in":"query"},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","default":"Undefined","name":"outcome","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardsPlayed","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"contributors","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"containsCards","in":"query"},{"type":"string","name":"owner","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Parameter"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Parameter"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Parameter":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"councilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"openEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"reportMatches":{"type":"boolean"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"},"wonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.auth.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the x/auth module\nparameters. The authority defaults to the x/gov module account.","operationId":"UpgradeMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","operationId":"UpgradeMsg_Exec","parameters":[{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Grant":{"post":{"tags":["Msg"],"summary":"Grant grants the provided authorization to the grantee on the granter's\naccount with the provided expiration time. If there is already a grant\nfor the given (granter, grantee, Authorization) triple, then the grant\nwill be overwritten.","operationId":"UpgradeMsg_Grant","parameters":[{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Revoke":{"post":{"tags":["Msg"],"summary":"Revoke revokes any authorization corresponding to the provided method name on the\ngranter's account that has been granted to the grantee.","operationId":"UpgradeMsg_Revoke","parameters":[{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevokeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.autocli.v1.Query/AppOptions":{"post":{"tags":["Query"],"summary":"AppOptions returns the autocli options for all of the modules in an app.","operationId":"UpgradeQuery_AppOptions","parameters":[{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/MultiSend":{"post":{"tags":["Msg"],"summary":"MultiSend defines a method for sending coins from some accounts to other accounts.","operationId":"UpgradeMsg_MultiSend","parameters":[{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method for sending coins from one account to another account.","operationId":"UpgradeMsg_Send","parameters":[{"description":"MsgSend represents a message to send coins from one account to another.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/SetSendEnabled":{"post":{"tags":["Msg"],"summary":"SetSendEnabled is a governance operation for setting the SendEnabled flag\non any number of Denoms. Only the entries to add or update should be\nincluded. Entries that already exist in the store, but that aren't\nincluded in this message, will be left unchanged.","operationId":"UpgradeMsg_SetSendEnabled","parameters":[{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabled"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/bank module parameters.\nThe authority is defined in the keeper.","operationId":"UpgradeMsg_UpdateParamsMixin17","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.benchmark.v1.Msg/LoadTest":{"post":{"tags":["Msg"],"summary":"LoadTest defines a method for executing a sequence of load test operations.","operationId":"UpgradeMsg_LoadTest","parameters":[{"description":"MsgLoadTestOps defines a message containing a sequence of load test operations.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.benchmark.v1.MsgLoadTest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.benchmark.v1.MsgLoadTestResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/AuthorizeCircuitBreaker":{"post":{"tags":["Msg"],"summary":"AuthorizeCircuitBreaker allows a super-admin to grant (or revoke) another\naccount's circuit breaker permissions.","operationId":"UpgradeMsg_AuthorizeCircuitBreaker","parameters":[{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/ResetCircuitBreaker":{"post":{"tags":["Msg"],"summary":"ResetCircuitBreaker resumes processing of Msg's in the state machine that\nhave been been paused using TripCircuitBreaker.","operationId":"UpgradeMsg_ResetCircuitBreaker","parameters":[{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/TripCircuitBreaker":{"post":{"tags":["Msg"],"summary":"TripCircuitBreaker pauses processing of Msg's in the state machine.","operationId":"UpgradeMsg_TripCircuitBreaker","parameters":[{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.consensus.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/consensus module parameters.\nThe authority is defined in the keeper.","operationId":"UpgradeMsg_UpdateParamsMixin32","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.counter.v1.Msg/IncreaseCount":{"post":{"tags":["Msg"],"summary":"IncreaseCount increments the counter by the specified amount.","operationId":"UpgradeMsg_IncreaseCount","parameters":[{"description":"MsgIncreaseCounter defines a count Msg service counter.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.counter.v1.MsgIncreaseCounter"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.counter.v1.MsgIncreaseCountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.counter.v1.Query/GetCount":{"post":{"tags":["Query"],"summary":"GetCount queries the parameters of x/Counter module.","operationId":"UpgradeQuery_GetCount","parameters":[{"description":"QueryGetCountRequest defines the request type for querying x/mock count.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.counter.v1.QueryGetCountRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.counter.v1.QueryGetCountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/crisis module\nparameters. The authority is defined in the keeper.","operationId":"UpgradeMsg_UpdateParamsMixin36","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/VerifyInvariant":{"post":{"tags":["Msg"],"summary":"VerifyInvariant defines a method to verify a particular invariant.","operationId":"UpgradeMsg_VerifyInvariant","parameters":[{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/CommunityPoolSpend":{"post":{"description":"WARNING: This method will fail if an external community pool is used.","tags":["Msg"],"summary":"CommunityPoolSpend defines a governance operation for sending tokens from\nthe community pool in the x/distribution module to another account, which\ncould be the governance module itself. The authority is defined in the\nkeeper.","operationId":"UpgradeMsg_CommunityPoolSpend","parameters":[{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/DepositValidatorRewardsPool":{"post":{"tags":["Msg"],"summary":"DepositValidatorRewardsPool defines a method to provide additional rewards\nto delegators to a specific validator.","operationId":"UpgradeMsg_DepositValidatorRewardsPool","parameters":[{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/FundCommunityPool":{"post":{"description":"WARNING: This method will fail if an external community pool is used.","tags":["Msg"],"summary":"FundCommunityPool defines a method to allow an account to directly\nfund the community pool.","operationId":"UpgradeMsg_FundCommunityPool","parameters":[{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/SetWithdrawAddress":{"post":{"tags":["Msg"],"summary":"SetWithdrawAddress defines a method to change the withdraw address\nfor a delegator (or validator self-delegation).","operationId":"UpgradeMsg_SetWithdrawAddress","parameters":[{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/distribution\nmodule parameters. The authority is defined in the keeper.","operationId":"UpgradeMsg_UpdateParamsMixin47","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward":{"post":{"tags":["Msg"],"summary":"WithdrawDelegatorReward defines a method to withdraw rewards of delegator\nfrom a single validator.","operationId":"UpgradeMsg_WithdrawDelegatorReward","parameters":[{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission":{"post":{"tags":["Msg"],"summary":"WithdrawValidatorCommission defines a method to withdraw the\nfull commission to the validator address.","operationId":"UpgradeMsg_WithdrawValidatorCommission","parameters":[{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.evidence.v1beta1.Msg/SubmitEvidence":{"post":{"tags":["Msg"],"summary":"SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or\ncounterfactual signing.","operationId":"UpgradeMsg_SubmitEvidence","parameters":[{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidence"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/GrantAllowance":{"post":{"tags":["Msg"],"summary":"GrantAllowance grants fee allowance to the grantee on the granter's\naccount with the provided expiration time.","operationId":"UpgradeMsg_GrantAllowance","parameters":[{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/PruneAllowances":{"post":{"tags":["Msg"],"summary":"PruneAllowances prunes expired fee allowances, currently up to 75 at a time.","operationId":"UpgradeMsg_PruneAllowances","parameters":[{"description":"MsgPruneAllowances prunes expired fee allowances.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowances"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/RevokeAllowance":{"post":{"tags":["Msg"],"summary":"RevokeAllowance revokes any fee allowance of granter's account that\nhas been granted to the grantee.","operationId":"UpgradeMsg_RevokeAllowance","parameters":[{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/CancelProposal":{"post":{"tags":["Msg"],"summary":"CancelProposal defines a method to cancel governance proposal","operationId":"UpgradeMsg_CancelProposal","parameters":[{"description":"MsgCancelProposal is the Msg/CancelProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"UpgradeMsg_Deposit","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/ExecLegacyContent":{"post":{"tags":["Msg"],"summary":"ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal\nto execute a legacy content-based proposal.","operationId":"UpgradeMsg_ExecLegacyContent","parameters":[{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given the messages.","operationId":"UpgradeMsg_SubmitProposal","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/gov module\nparameters. The authority is defined in the keeper.","operationId":"UpgradeMsg_UpdateParamsMixin63","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"UpgradeMsg_Vote","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/VoteWeighted":{"post":{"tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"UpgradeMsg_VoteWeighted","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"UpgradeMsg_DepositMixin67","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given a content.","operationId":"UpgradeMsg_SubmitProposalMixin67","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"UpgradeMsg_VoteMixin67","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/VoteWeighted":{"post":{"tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"UpgradeMsg_VoteWeightedMixin67","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroup":{"post":{"tags":["Msg"],"summary":"CreateGroup creates a new group with an admin account address, a list of members and some optional metadata.","operationId":"UpgradeMsg_CreateGroup","parameters":[{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupPolicy creates a new group policy using given DecisionPolicy.","operationId":"UpgradeMsg_CreateGroupPolicy","parameters":[{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupWithPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupWithPolicy creates a new group with policy.","operationId":"UpgradeMsg_CreateGroupWithPolicy","parameters":[{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec executes a proposal.","operationId":"UpgradeMsg_ExecMixin71","parameters":[{"description":"MsgExec is the Msg/Exec request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/LeaveGroup":{"post":{"tags":["Msg"],"summary":"LeaveGroup allows a group member to leave the group.","operationId":"UpgradeMsg_LeaveGroup","parameters":[{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal submits a new proposal.","operationId":"UpgradeMsg_SubmitProposalMixin71","parameters":[{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupAdmin updates the group admin with given group id and previous admin address.","operationId":"UpgradeMsg_UpdateGroupAdmin","parameters":[{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMembers":{"post":{"tags":["Msg"],"summary":"UpdateGroupMembers updates the group members with given group id and admin address.","operationId":"UpgradeMsg_UpdateGroupMembers","parameters":[{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembers"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupMetadata updates the group metadata with given group id and admin address.","operationId":"UpgradeMsg_UpdateGroupMetadata","parameters":[{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyAdmin updates a group policy admin.","operationId":"UpgradeMsg_UpdateGroupPolicyAdmin","parameters":[{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyDecisionPolicy":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyDecisionPolicy allows a group policy's decision policy to be updated.","operationId":"UpgradeMsg_UpdateGroupPolicyDecisionPolicy","parameters":[{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyMetadata updates a group policy metadata.","operationId":"UpgradeMsg_UpdateGroupPolicyMetadata","parameters":[{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote allows a voter to vote on a proposal.","operationId":"UpgradeMsg_VoteMixin71","parameters":[{"description":"MsgVote is the Msg/Vote request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/WithdrawProposal":{"post":{"tags":["Msg"],"summary":"WithdrawProposal withdraws a proposal.","operationId":"UpgradeMsg_WithdrawProposal","parameters":[{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.mint.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/mint module\nparameters. The authority is defaults to the x/gov module account.","operationId":"UpgradeMsg_UpdateParamsMixin76","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.nft.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method to send a nft from one account to another account.","operationId":"UpgradeMsg_SendMixin82","parameters":[{"description":"MsgSend represents a message to send a nft from one account to another account.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.protocolpool.v1.Msg/CancelContinuousFund":{"post":{"tags":["Msg"],"summary":"CancelContinuousFund defines a method for cancelling continuous fund.","operationId":"UpgradeMsg_CancelContinuousFund","parameters":[{"description":"MsgCancelContinuousFund defines a message to cancel continuous funds for a specific recipient.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgCancelContinuousFund"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgCancelContinuousFundResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.protocolpool.v1.Msg/CommunityPoolSpend":{"post":{"tags":["Msg"],"summary":"CommunityPoolSpend defines a governance operation for sending tokens from\nthe community pool in the x/protocolpool module to another account, which\ncould be the governance module itself. The authority is defined in the\nkeeper.","operationId":"UpgradeMsg_CommunityPoolSpendMixin87","parameters":[{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgCommunityPoolSpend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgCommunityPoolSpendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.protocolpool.v1.Msg/CreateContinuousFund":{"post":{"tags":["Msg"],"summary":"CreateContinuousFund defines a method to distribute a percentage of funds to an address continuously.\nThis ContinuousFund can be indefinite or run until a given expiry time.\nFunds come from validator block rewards from x/distribution, but may also come from\nany user who funds the ProtocolPoolEscrow module account directly through x/bank.","operationId":"UpgradeMsg_CreateContinuousFund","parameters":[{"description":"MsgCreateContinuousFund defines a message for adding continuous funds.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgCreateContinuousFund"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgCreateContinuousFundResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.protocolpool.v1.Msg/FundCommunityPool":{"post":{"tags":["Msg"],"summary":"FundCommunityPool defines a method to allow an account to directly\nfund the community pool.","operationId":"UpgradeMsg_FundCommunityPoolMixin87","parameters":[{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgFundCommunityPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgFundCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.protocolpool.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/protocolpool module parameters.\nThe authority is defined in the keeper.","operationId":"UpgradeMsg_UpdateParamsMixin87","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/Unjail":{"post":{"tags":["Msg"],"summary":"Unjail defines a method for unjailing a jailed validator, thus returning\nthem into the bonded validator set, so they can begin receiving provisions\nand rewards again.","operationId":"UpgradeMsg_Unjail","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjail"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjailResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/slashing module\nparameters. The authority defaults to the x/gov module account.","operationId":"UpgradeMsg_UpdateParamsMixin93","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/BeginRedelegate":{"post":{"tags":["Msg"],"summary":"BeginRedelegate defines a method for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","operationId":"UpgradeMsg_BeginRedelegate","parameters":[{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation":{"post":{"tags":["Msg"],"summary":"CancelUnbondingDelegation defines a method for performing canceling the unbonding delegation\nand delegate back to previous validator.","operationId":"UpgradeMsg_CancelUnbondingDelegation","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CreateValidator":{"post":{"tags":["Msg"],"summary":"CreateValidator defines a method for creating a new validator.","operationId":"UpgradeMsg_CreateValidator","parameters":[{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Delegate":{"post":{"tags":["Msg"],"summary":"Delegate defines a method for performing a delegation of coins\nfrom a delegator to a validator.","operationId":"UpgradeMsg_Delegate","parameters":[{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/EditValidator":{"post":{"tags":["Msg"],"summary":"EditValidator defines a method for editing an existing validator.","operationId":"UpgradeMsg_EditValidator","parameters":[{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Undelegate":{"post":{"tags":["Msg"],"summary":"Undelegate defines a method for performing an undelegation from a\ndelegate and a validator.","operationId":"UpgradeMsg_Undelegate","parameters":[{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines an operation for updating the x/staking module\nparameters.","operationId":"UpgradeMsg_UpdateParamsMixin98","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenCommit":{"post":{"tags":["ABCIListenerService"],"summary":"ListenCommit is the corresponding endpoint for ABCIListener.ListenCommit","operationId":"UpgradeABCIListenerService_ListenCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenFinalizeBlock":{"post":{"tags":["ABCIListenerService"],"summary":"ListenFinalizeBlock is the corresponding endpoint for ABCIListener.ListenEndBlock","operationId":"UpgradeABCIListenerService_ListenFinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/CancelUpgrade":{"post":{"tags":["Msg"],"summary":"CancelUpgrade is a governance operation for cancelling a previously\napproved software upgrade.","operationId":"UpgradeMsg_CancelUpgrade","parameters":[{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/SoftwareUpgrade":{"post":{"tags":["Msg"],"summary":"SoftwareUpgrade is a governance operation for initiating a software upgrade.","operationId":"UpgradeMsg_SoftwareUpgrade","parameters":[{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePeriodicVestingAccount":{"post":{"tags":["Msg"],"summary":"CreatePeriodicVestingAccount defines a method that enables creating a\nperiodic vesting account.","operationId":"UpgradeMsg_CreatePeriodicVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePermanentLockedAccount":{"post":{"tags":["Msg"],"summary":"CreatePermanentLockedAccount defines a method that enables creating a permanent\nlocked account.","operationId":"UpgradeMsg_CreatePermanentLockedAccount","parameters":[{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreateVestingAccount":{"post":{"tags":["Msg"],"summary":"CreateVestingAccount defines a method that enables creating a vesting\naccount.","operationId":"UpgradeMsg_CreateVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/account_info/{address}":{"get":{"tags":["Query"],"summary":"AccountInfo queries account info which is common to all account types.","operationId":"UpgradeQuery_AccountInfo","parameters":[{"type":"string","description":"address is the account address string.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Accounts returns all the existing accounts.","operationId":"UpgradeQuery_Accounts","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account details based on address.","operationId":"UpgradeQuery_Account","parameters":[{"type":"string","description":"address defines the address to query for.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/address_by_id/{id}":{"get":{"tags":["Query"],"summary":"AccountAddressByID returns account address based on account number.","operationId":"UpgradeQuery_AccountAddressByID","parameters":[{"type":"string","format":"int64","description":"Deprecated, use account_id instead\n\nid is the account number of the address to be queried. This field\nshould have been an uint64 (like all account numbers), and will be\nupdated to uint64 in a future version of the auth query.","name":"id","in":"path","required":true},{"type":"string","format":"uint64","description":"account_id is the account number of the address to be queried.","name":"account_id","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountAddressByIDResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32":{"get":{"tags":["Query"],"summary":"Bech32Prefix queries bech32Prefix","operationId":"UpgradeQuery_Bech32Prefix","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.Bech32PrefixResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_bytes}":{"get":{"tags":["Query"],"summary":"AddressBytesToString converts Account Address bytes to string","operationId":"UpgradeQuery_AddressBytesToString","parameters":[{"type":"string","format":"byte","name":"address_bytes","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressBytesToStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_string}":{"get":{"tags":["Query"],"summary":"AddressStringToBytes converts Address string to bytes","operationId":"UpgradeQuery_AddressStringToBytes","parameters":[{"type":"string","name":"address_string","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressStringToBytesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts":{"get":{"tags":["Query"],"summary":"ModuleAccounts returns all the existing module accounts.","operationId":"UpgradeQuery_ModuleAccounts","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts/{name}":{"get":{"tags":["Query"],"summary":"ModuleAccountByName returns the module account info by module name","operationId":"UpgradeQuery_ModuleAccountByName","parameters":[{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountByNameResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters.","operationId":"UpgradeQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants":{"get":{"tags":["Query"],"summary":"Returns list of `Authorization`, granted to the grantee by the granter.","operationId":"UpgradeQuery_Grants","parameters":[{"type":"string","name":"granter","in":"query"},{"type":"string","name":"grantee","in":"query"},{"type":"string","description":"Optional, msg_type_url, when set, will query only grants matching given msg type.","name":"msg_type_url","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/grantee/{grantee}":{"get":{"tags":["Query"],"summary":"GranteeGrants returns a list of `GrantAuthorization` by grantee.","operationId":"UpgradeQuery_GranteeGrants","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranteeGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/granter/{granter}":{"get":{"tags":["Query"],"summary":"GranterGrants returns list of `GrantAuthorization`, granted by granter.","operationId":"UpgradeQuery_GranterGrants","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranterGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"AllBalances queries the balance of all coins for a single account.","operationId":"UpgradeQuery_AllBalances","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"},{"type":"boolean","description":"resolve_denom is the flag to resolve the denom into a human-readable form from the metadata.","name":"resolve_denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryAllBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}/by_denom":{"get":{"tags":["Query"],"summary":"Balance queries the balance of a single coin for a single account.","operationId":"UpgradeQuery_Balance","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners/{denom}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DenomOwners queries for all account addresses that own a particular token\ndenomination.","operationId":"UpgradeQuery_DenomOwners","parameters":[{"pattern":".+","type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners_by_query":{"get":{"tags":["Query"],"summary":"DenomOwnersByQuery queries for all account addresses that own a particular token\ndenomination.","operationId":"UpgradeQuery_DenomOwnersByQuery","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata":{"get":{"tags":["Query"],"summary":"DenomsMetadata queries the client metadata for all registered coin\ndenominations.","operationId":"UpgradeQuery_DenomsMetadata","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomsMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata/{denom}":{"get":{"tags":["Query"],"summary":"DenomMetadata queries the client metadata of a given coin denomination.","operationId":"UpgradeQuery_DenomMetadata","parameters":[{"pattern":".+","type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata_by_query_string":{"get":{"tags":["Query"],"summary":"DenomMetadataByQueryString queries the client metadata of a given coin denomination.","operationId":"UpgradeQuery_DenomMetadataByQueryString","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/bank module.","operationId":"UpgradeQuery_ParamsMixin16","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/send_enabled":{"get":{"description":"This query only returns denominations that have specific SendEnabled settings.\nAny denomination that does not have a specific setting will use the default\nparams.default_send_enabled, and will not be returned by this query.","tags":["Query"],"summary":"SendEnabled queries for SendEnabled entries.","operationId":"UpgradeQuery_SendEnabled","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"denoms is the specific denoms you want look up. Leave empty to get all entries.","name":"denoms","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"SpendableBalances queries the spendable balance of all coins for a single\naccount.","operationId":"UpgradeQuery_SpendableBalances","parameters":[{"type":"string","description":"address is the address to query spendable balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"SpendableBalanceByDenom queries the spendable balance of a single denom for\na single account.","operationId":"UpgradeQuery_SpendableBalanceByDenom","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"TotalSupply queries the total supply of all coins.","operationId":"UpgradeQuery_TotalSupply","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryTotalSupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"SupplyOf queries the supply of a single coin.","operationId":"UpgradeQuery_SupplyOf","parameters":[{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySupplyOfResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/config":{"get":{"tags":["Service"],"summary":"Config queries for the operator configuration.","operationId":"UpgradeService_Config","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.ConfigResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/status":{"get":{"tags":["Service"],"summary":"Status queries for the node status.","operationId":"UpgradeService_Status","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.StatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/authn":{"get":{"tags":["ReflectionService"],"summary":"GetAuthnDescriptor returns information on how to authenticate transactions in the application\nNOTE: this RPC is still experimental and might be subject to breaking changes or removal in\nfuture releases of the cosmos-sdk.","operationId":"UpgradeReflectionService_GetAuthnDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/chain":{"get":{"tags":["ReflectionService"],"summary":"GetChainDescriptor returns the description of the chain","operationId":"UpgradeReflectionService_GetChainDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/codec":{"get":{"tags":["ReflectionService"],"summary":"GetCodecDescriptor returns the descriptor of the codec of the application","operationId":"UpgradeReflectionService_GetCodecDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/configuration":{"get":{"tags":["ReflectionService"],"summary":"GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application","operationId":"UpgradeReflectionService_GetConfigurationDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/query_services":{"get":{"tags":["ReflectionService"],"summary":"GetQueryServicesDescriptor returns the available gRPC queryable services of the application","operationId":"UpgradeReflectionService_GetQueryServicesDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/tx_descriptor":{"get":{"tags":["ReflectionService"],"summary":"GetTxDescriptor returns information on the used transaction object and available msgs that can be used","operationId":"UpgradeReflectionService_GetTxDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces":{"get":{"tags":["ReflectionService"],"summary":"ListAllInterfaces lists all the interfaces registered in the interface\nregistry.","operationId":"UpgradeReflectionService_ListAllInterfaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListAllInterfacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces/{interface_name}/implementations":{"get":{"tags":["ReflectionService"],"summary":"ListImplementations list all the concrete types that implement a given\ninterface.","operationId":"UpgradeReflectionService_ListImplementations","parameters":[{"type":"string","description":"interface_name defines the interface to query the implementations for.","name":"interface_name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListImplementationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/abci_query":{"get":{"tags":["Service"],"summary":"ABCIQuery defines a query handler that supports ABCI queries directly to the\napplication, bypassing Tendermint completely. The ABCI query must contain\na valid and supported path, including app, custom, p2p, and store.","operationId":"UpgradeService_ABCIQuery","parameters":[{"type":"string","format":"byte","name":"data","in":"query"},{"type":"string","name":"path","in":"query"},{"type":"string","format":"int64","name":"height","in":"query"},{"type":"boolean","name":"prove","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ABCIQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/latest":{"get":{"tags":["Service"],"summary":"GetLatestBlock returns the latest block.","operationId":"UpgradeService_GetLatestBlock","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/{height}":{"get":{"tags":["Service"],"summary":"GetBlockByHeight queries block for given height.","operationId":"UpgradeService_GetBlockByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/node_info":{"get":{"tags":["Service"],"summary":"GetNodeInfo queries the current node info.","operationId":"UpgradeService_GetNodeInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetNodeInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/syncing":{"get":{"tags":["Service"],"summary":"GetSyncing queries node syncing.","operationId":"UpgradeService_GetSyncing","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetSyncingResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/latest":{"get":{"tags":["Service"],"summary":"GetLatestValidatorSet queries latest validator-set.","operationId":"UpgradeService_GetLatestValidatorSet","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/{height}":{"get":{"tags":["Service"],"summary":"GetValidatorSetByHeight queries validator-set at a given height.","operationId":"UpgradeService_GetValidatorSetByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"UpgradeQuery_AccountsMixin28","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"UpgradeQuery_AccountMixin28","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/disable_list":{"get":{"tags":["Query"],"summary":"DisabledList returns a list of disabled message urls","operationId":"UpgradeQuery_DisabledList","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.DisabledListResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/consensus/v1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/consensus module.","operationId":"UpgradeQuery_ParamsMixin31","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/community_pool":{"get":{"description":"WARNING: This query will fail if an external community pool is used.","tags":["Query"],"summary":"CommunityPool queries the community pool coins.","operationId":"UpgradeQuery_CommunityPool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards":{"get":{"tags":["Query"],"summary":"DelegationTotalRewards queries the total rewards accrued by each\nvalidator.","operationId":"UpgradeQuery_DelegationTotalRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}":{"get":{"tags":["Query"],"summary":"DelegationRewards queries the total rewards accrued by a delegation.","operationId":"UpgradeQuery_DelegationRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true},{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators":{"get":{"tags":["Query"],"summary":"DelegatorValidators queries the validators of a delegator.","operationId":"UpgradeQuery_DelegatorValidators","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address":{"get":{"tags":["Query"],"summary":"DelegatorWithdrawAddress queries withdraw address of a delegator.","operationId":"UpgradeQuery_DelegatorWithdrawAddress","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries params of the distribution module.","operationId":"UpgradeQuery_ParamsMixin46","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}":{"get":{"tags":["Query"],"summary":"ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator","operationId":"UpgradeQuery_ValidatorDistributionInfo","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/commission":{"get":{"tags":["Query"],"summary":"ValidatorCommission queries accumulated commission for a validator.","operationId":"UpgradeQuery_ValidatorCommission","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards":{"get":{"tags":["Query"],"summary":"ValidatorOutstandingRewards queries rewards of a validator address.","operationId":"UpgradeQuery_ValidatorOutstandingRewards","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/slashes":{"get":{"tags":["Query"],"summary":"ValidatorSlashes queries slash events of a validator.","operationId":"UpgradeQuery_ValidatorSlashes","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true},{"type":"string","format":"uint64","description":"starting_height defines the optional starting height to query the slashes.","name":"starting_height","in":"query"},{"type":"string","format":"uint64","description":"starting_height defines the optional ending height to query the slashes.","name":"ending_height","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorSlashesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/epochs/v1beta1/current_epoch":{"get":{"tags":["Query"],"summary":"CurrentEpoch provide current epoch of specified identifier","operationId":"UpgradeQuery_CurrentEpoch","parameters":[{"type":"string","name":"identifier","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.epochs.v1beta1.QueryCurrentEpochResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/epochs/v1beta1/epochs":{"get":{"tags":["Query"],"summary":"EpochInfos provide running epochInfos","operationId":"UpgradeQuery_EpochInfos","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.epochs.v1beta1.QueryEpochInfosResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence":{"get":{"tags":["Query"],"summary":"AllEvidence queries all evidence.","operationId":"UpgradeQuery_AllEvidence","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryAllEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence/{hash}":{"get":{"tags":["Query"],"summary":"Evidence queries evidence based on evidence hash.","operationId":"UpgradeQuery_Evidence","parameters":[{"type":"string","description":"hash defines the evidence hash of the requested evidence.","name":"hash","in":"path","required":true},{"type":"string","format":"byte","description":"evidence_hash defines the hash of the requested evidence.\nDeprecated: Use hash, a HEX encoded string, instead.","name":"evidence_hash","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}":{"get":{"tags":["Query"],"summary":"Allowance returns granted allwance to the grantee by the granter.","operationId":"UpgradeQuery_Allowance","parameters":[{"type":"string","description":"granter is the address of the user granting an allowance of their funds.","name":"granter","in":"path","required":true},{"type":"string","description":"grantee is the address of the user being granted an allowance of another user's funds.","name":"grantee","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowances/{grantee}":{"get":{"tags":["Query"],"summary":"Allowances returns all the grants for the given grantee address.","operationId":"UpgradeQuery_Allowances","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/issued/{granter}":{"get":{"tags":["Query"],"summary":"AllowancesByGranter returns all the grants given by an address","operationId":"UpgradeQuery_AllowancesByGranter","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/constitution":{"get":{"tags":["Query"],"summary":"Constitution queries the chain's constitution.","operationId":"UpgradeQuery_Constitution","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryConstitutionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"UpgradeQuery_ParamsMixin62","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"UpgradeQuery_Proposals","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"UpgradeQuery_Proposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"UpgradeQuery_Deposits","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositAddr.","operationId":"UpgradeQuery_Deposit","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"UpgradeQuery_TallyResult","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"UpgradeQuery_Votes","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"UpgradeQuery_Vote","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"UpgradeQuery_ParamsMixin66","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"UpgradeQuery_ProposalsMixin66","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"UpgradeQuery_ProposalMixin66","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"UpgradeQuery_DepositsMixin66","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositor address.","operationId":"UpgradeQuery_DepositMixin66","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"UpgradeQuery_TallyResultMixin66","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"UpgradeQuery_VotesMixin66","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"UpgradeQuery_VoteMixin66","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_info/{group_id}":{"get":{"tags":["Query"],"summary":"GroupInfo queries group info based on group id.","operationId":"UpgradeQuery_GroupInfo","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_members/{group_id}":{"get":{"tags":["Query"],"summary":"GroupMembers queries members of a group by group id.","operationId":"UpgradeQuery_GroupMembers","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByAdmin queries group policies by admin address.","operationId":"UpgradeQuery_GroupPoliciesByAdmin","parameters":[{"type":"string","description":"admin is the admin address of the group policy.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_group/{group_id}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByGroup queries group policies by group id.","operationId":"UpgradeQuery_GroupPoliciesByGroup","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group policy's group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policy_info/{address}":{"get":{"tags":["Query"],"summary":"GroupPolicyInfo queries group policy info based on account address of group policy.","operationId":"UpgradeQuery_GroupPolicyInfo","parameters":[{"type":"string","description":"address is the account address of the group policy.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPolicyInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups":{"get":{"tags":["Query"],"summary":"Groups queries all groups in state.","operationId":"UpgradeQuery_Groups","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupsByAdmin queries groups by admin address.","operationId":"UpgradeQuery_GroupsByAdmin","parameters":[{"type":"string","description":"admin is the account address of a group's admin.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_member/{address}":{"get":{"tags":["Query"],"summary":"GroupsByMember queries groups by member address.","operationId":"UpgradeQuery_GroupsByMember","parameters":[{"type":"string","description":"address is the group member address.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByMemberResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries a proposal based on proposal id.","operationId":"UpgradeQuery_ProposalMixin70","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult returns the tally result of a proposal. If the proposal is\nstill in voting period, then this query computes the current tally state,\nwhich might not be final. On the other hand, if the proposal is final,\nthen it simply returns the `final_tally_result` state stored in the\nproposal itself.","operationId":"UpgradeQuery_TallyResultMixin70","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique id of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals_by_group_policy/{address}":{"get":{"tags":["Query"],"summary":"ProposalsByGroupPolicy queries proposals based on account address of group policy.","operationId":"UpgradeQuery_ProposalsByGroupPolicy","parameters":[{"type":"string","description":"address is the account address of the group policy related to proposals.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalsByGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/vote_by_proposal_voter/{proposal_id}/{voter}":{"get":{"tags":["Query"],"summary":"VoteByProposalVoter queries a vote by proposal id and voter.","operationId":"UpgradeQuery_VoteByProposalVoter","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVoteByProposalVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"VotesByProposal queries a vote by proposal id.","operationId":"UpgradeQuery_VotesByProposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_voter/{voter}":{"get":{"tags":["Query"],"summary":"VotesByVoter queries a vote by voter.","operationId":"UpgradeQuery_VotesByVoter","parameters":[{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/annual_provisions":{"get":{"tags":["Query"],"summary":"AnnualProvisions current minting annual provisions value.","operationId":"UpgradeQuery_AnnualProvisions","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryAnnualProvisionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/inflation":{"get":{"tags":["Query"],"summary":"Inflation returns the current minting inflation value.","operationId":"UpgradeQuery_Inflation","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryInflationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params returns the total set of minting parameters.","operationId":"UpgradeQuery_ParamsMixin75","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/balance/{owner}/{class_id}":{"get":{"tags":["Query"],"summary":"Balance queries the number of NFTs of a given class owned by the owner, same as balanceOf in ERC721","operationId":"UpgradeQuery_BalanceMixin81","parameters":[{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"path","required":true},{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes":{"get":{"tags":["Query"],"summary":"Classes queries all NFT classes","operationId":"UpgradeQuery_Classes","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes/{class_id}":{"get":{"tags":["Query"],"summary":"Class queries an NFT class based on its id","operationId":"UpgradeQuery_Class","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts":{"get":{"tags":["Query"],"summary":"NFTs queries all NFTs of a given class or owner,choose at least one of the two, similar to tokenByIndex in\nERC721Enumerable","operationId":"UpgradeQuery_NFTs","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"query"},{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"NFT queries an NFT based on its class and id.","operationId":"UpgradeQuery_NFT","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/owner/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"Owner queries the owner of the NFT based on its class and id, same as ownerOf in ERC721","operationId":"UpgradeQuery_Owner","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryOwnerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/supply/{class_id}":{"get":{"tags":["Query"],"summary":"Supply queries the number of NFTs from the given class, same as totalSupply of ERC721.","operationId":"UpgradeQuery_Supply","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QuerySupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries a specific parameter of a module, given its subspace and\nkey.","operationId":"UpgradeQuery_ParamsMixin84","parameters":[{"type":"string","description":"subspace defines the module to query the parameter for.","name":"subspace","in":"query"},{"type":"string","description":"key defines the key of the parameter in the subspace.","name":"key","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/subspaces":{"get":{"tags":["Query"],"summary":"Subspaces queries for all registered subspaces and all keys for a subspace.","operationId":"UpgradeQuery_Subspaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QuerySubspacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/protocolpool/v1/community_pool":{"get":{"tags":["Query"],"summary":"CommunityPool queries the community pool coins.","operationId":"UpgradeQuery_CommunityPoolMixin86","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.QueryCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/protocolpool/v1/continuous_funds":{"get":{"tags":["Query"],"summary":"ContinuousFunds queries all continuous funds in the store.","operationId":"UpgradeQuery_ContinuousFunds","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.QueryContinuousFundsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/protocolpool/v1/continuous_funds/{recipient}":{"get":{"tags":["Query"],"summary":"ContinuousFund queries a continuous fund by the recipient is is associated with.","operationId":"UpgradeQuery_ContinuousFund","parameters":[{"type":"string","description":"recipient is the recipient address to query unclaimed budget amount for.","name":"recipient","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.QueryContinuousFundResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/protocolpool/v1/params":{"get":{"tags":["Query"],"summary":"Params returns the total set of x/protocolpool parameters.","operationId":"UpgradeQuery_ParamsMixin86","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of slashing module","operationId":"UpgradeQuery_ParamsMixin91","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos":{"get":{"tags":["Query"],"summary":"SigningInfos queries signing info of all validators","operationId":"UpgradeQuery_SigningInfos","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfosResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos/{cons_address}":{"get":{"tags":["Query"],"summary":"SigningInfo queries the signing info of given cons address","operationId":"UpgradeQuery_SigningInfo","parameters":[{"type":"string","description":"cons_address is the address to query signing info of","name":"cons_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegations/{delegator_addr}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorDelegations queries all delegations of a given delegator address.","operationId":"UpgradeQuery_DelegatorDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Redelegations queries redelegations of given address.","operationId":"UpgradeQuery_Redelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"src_validator_addr defines the validator address to redelegate from.","name":"src_validator_addr","in":"query"},{"type":"string","description":"dst_validator_addr defines the validator address to redelegate to.","name":"dst_validator_addr","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryRedelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorUnbondingDelegations queries all unbonding delegations of a given\ndelegator address.","operationId":"UpgradeQuery_DelegatorUnbondingDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorValidators queries all validators info for given delegator\naddress.","operationId":"UpgradeQuery_DelegatorValidatorsMixin96","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"DelegatorValidator queries validator info for given delegator validator\npair.","operationId":"UpgradeQuery_DelegatorValidator","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/historical_info/{height}":{"get":{"tags":["Query"],"summary":"HistoricalInfo queries the historical info for given height.","operationId":"UpgradeQuery_HistoricalInfo","parameters":[{"type":"string","format":"int64","description":"height defines at which height to query the historical info.","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryHistoricalInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/params":{"get":{"tags":["Query"],"summary":"Parameters queries the staking parameters.","operationId":"UpgradeQuery_ParamsMixin96","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/pool":{"get":{"tags":["Query"],"summary":"Pool queries the pool info.","operationId":"UpgradeQuery_Pool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Validators queries all validators that match the given status.","operationId":"UpgradeQuery_Validators","parameters":[{"type":"string","description":"status enables to query for validators matching a given status.","name":"status","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"Validator queries validator info for given validator address.","operationId":"UpgradeQuery_Validator","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorDelegations queries delegate info for given validator.","operationId":"UpgradeQuery_ValidatorDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}":{"get":{"tags":["Query"],"summary":"Delegation queries delegate info for given validator delegator pair.","operationId":"UpgradeQuery_Delegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation":{"get":{"tags":["Query"],"summary":"UnbondingDelegation queries unbonding info for given validator delegator\npair.","operationId":"UpgradeQuery_UnbondingDelegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorUnbondingDelegations queries unbonding delegations of a validator.","operationId":"UpgradeQuery_ValidatorUnbondingDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode":{"post":{"tags":["Service"],"summary":"TxDecode decodes the transaction.","operationId":"UpgradeService_TxDecode","parameters":[{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode/amino":{"post":{"tags":["Service"],"summary":"TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON.","operationId":"UpgradeService_TxDecodeAmino","parameters":[{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode":{"post":{"tags":["Service"],"summary":"TxEncode encodes the transaction.","operationId":"UpgradeService_TxEncode","parameters":[{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode/amino":{"post":{"tags":["Service"],"summary":"TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes.","operationId":"UpgradeService_TxEncodeAmino","parameters":[{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/simulate":{"post":{"tags":["Service"],"summary":"Simulate simulates executing a transaction for estimating gas usage.","operationId":"UpgradeService_Simulate","parameters":[{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs":{"get":{"tags":["Service"],"summary":"GetTxsEvent fetches txs by event.","operationId":"UpgradeService_GetTxsEvent","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"events is the list of transaction event type.\nDeprecated post v0.47.x: use query instead, which should contain a valid\nevents query.","name":"events","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"},{"enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"],"type":"string","default":"ORDER_BY_UNSPECIFIED","description":" - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","name":"order_by","in":"query"},{"type":"string","format":"uint64","description":"page is the page number to query, starts at 1. If not provided, will\ndefault to first page.","name":"page","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"limit","in":"query"},{"type":"string","description":"query defines the transaction event query that is proxied to Tendermint's\nTxSearch RPC method. The query must be valid.","name":"query","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}},"post":{"tags":["Service"],"summary":"BroadcastTx broadcast transaction.","operationId":"UpgradeService_BroadcastTx","parameters":[{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/block/{height}":{"get":{"tags":["Service"],"summary":"GetBlockWithTxs fetches a block with decoded txs.","operationId":"UpgradeService_GetBlockWithTxs","parameters":[{"type":"string","format":"int64","description":"height is the height of the block to query.","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetBlockWithTxsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/{hash}":{"get":{"tags":["Service"],"summary":"GetTx fetches a tx by hash.","operationId":"UpgradeService_GetTx","parameters":[{"type":"string","description":"hash is the tx hash to query, encoded as a hex string.","name":"hash","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/applied_plan/{name}":{"get":{"tags":["Query"],"summary":"AppliedPlan queries a previously applied upgrade plan by its name.","operationId":"UpgradeQuery_AppliedPlan","parameters":[{"type":"string","description":"name is the name of the applied plan to query for.","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAppliedPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/authority":{"get":{"tags":["Query"],"summary":"Returns the account with authority to conduct upgrades","operationId":"UpgradeQuery_Authority","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAuthorityResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/current_plan":{"get":{"tags":["Query"],"summary":"CurrentPlan queries the current upgrade plan.","operationId":"UpgradeQuery_CurrentPlan","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryCurrentPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/module_versions":{"get":{"tags":["Query"],"summary":"ModuleVersions queries the list of module versions from state.","operationId":"UpgradeQuery_ModuleVersions","parameters":[{"type":"string","description":"module_name is a field to query a specific module\nconsensus version from state. Leaving this empty will\nfetch the full list of module versions from state","name":"module_name","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryModuleVersionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}":{"get":{"tags":["Query"],"summary":"UpgradedConsensusState queries the consensus state that will serve\nas a trusted kernel for the next version of this chain. It will only be\nstored at the last height of this chain.\nUpgradedConsensusState RPC not supported with legacy querier\nThis rpc is deprecated now that IBC has its own replacement\n(https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54)","operationId":"UpgradeQuery_UpgradedConsensusState","parameters":[{"type":"string","format":"int64","description":"last height of the current chain must be sent in request\nas this is the height under which next consensus state is stored","name":"last_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ApplySnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_ApplySnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestApplySnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/CheckTx":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_CheckTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCheckTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCheckTx"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Commit":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_Commit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Echo":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_Echo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestEcho"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseEcho"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ExtendVote":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_ExtendVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestExtendVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseExtendVote"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/FinalizeBlock":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_FinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Flush":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_Flush","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFlush"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFlush"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Info":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_Info","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInfo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInfo"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/InitChain":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_InitChain","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInitChain"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInitChain"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ListSnapshots":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_ListSnapshots","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestListSnapshots"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseListSnapshots"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/LoadSnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_LoadSnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestLoadSnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseLoadSnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/OfferSnapshot":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_OfferSnapshot","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestOfferSnapshot"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/PrepareProposal":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_PrepareProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestPrepareProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponsePrepareProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ProcessProposal":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_ProcessProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestProcessProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Query":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_Query","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestQuery"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseQuery"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/VerifyVoteExtension":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_VerifyVoteExtension","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestVerifyVoteExtension"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cosmos.auth.v1beta1.AddressBytesToStringResponse":{"description":"AddressBytesToStringResponse is the response type for AddressString rpc method.","type":"object","properties":{"address_string":{"type":"string"}}},"cosmos.auth.v1beta1.AddressStringToBytesResponse":{"description":"AddressStringToBytesResponse is the response type for AddressBytes rpc method.","type":"object","properties":{"address_bytes":{"type":"string","format":"byte"}}},"cosmos.auth.v1beta1.BaseAccount":{"description":"BaseAccount defines a base account type. It contains all the necessary fields\nfor basic account functionality. Any custom account type should extend this\ntype for additional functionality (e.g. vesting).","type":"object","properties":{"account_number":{"type":"string","format":"uint64"},"address":{"type":"string"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"sequence":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.Bech32PrefixResponse":{"description":"Bech32PrefixResponse is the response type for Bech32Prefix rpc method.","type":"object","properties":{"bech32_prefix":{"type":"string"}}},"cosmos.auth.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/auth parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.auth.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.auth.v1beta1.Params":{"description":"Params defines the parameters for the auth module.","type":"object","properties":{"max_memo_characters":{"type":"string","format":"uint64"},"sig_verify_cost_ed25519":{"type":"string","format":"uint64"},"sig_verify_cost_secp256k1":{"type":"string","format":"uint64"},"tx_sig_limit":{"type":"string","format":"uint64"},"tx_size_cost_per_byte":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.QueryAccountAddressByIDResponse":{"type":"object","title":"QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method","properties":{"account_address":{"type":"string"}}},"cosmos.auth.v1beta1.QueryAccountInfoResponse":{"description":"QueryAccountInfoResponse is the Query/AccountInfo response type.","type":"object","properties":{"info":{"description":"info is the account info which is represented by BaseAccount.","$ref":"#/definitions/cosmos.auth.v1beta1.BaseAccount"}}},"cosmos.auth.v1beta1.QueryAccountResponse":{"description":"QueryAccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"account":{"description":"account defines the account of the corresponding address.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryAccountsResponse":{"description":"QueryAccountsResponse is the response type for the Query/Accounts RPC method.","type":"object","properties":{"accounts":{"type":"array","title":"accounts are the existing accounts","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.auth.v1beta1.QueryModuleAccountByNameResponse":{"description":"QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method.","type":"object","properties":{"account":{"$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryModuleAccountsResponse":{"description":"QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method.","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.auth.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.authz.v1beta1.Grant":{"description":"Grant gives permissions to execute\nthe provide method with expiration time.","type":"object","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time","title":"time when the grant will expire and will be pruned. If null, then the grant\ndoesn't have a time expiration (other conditions in `authorization`\nmay apply to invalidate the grant)"}}},"cosmos.authz.v1beta1.GrantAuthorization":{"type":"object","title":"GrantAuthorization extends a grant with both the addresses of the grantee and granter.\nIt is used in genesis.proto and query.proto","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgExec":{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","type":"object","properties":{"grantee":{"type":"string"},"msgs":{"description":"Execute Msg.\nThe x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg))\ntriple and validate it.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.authz.v1beta1.MsgExecResponse":{"description":"MsgExecResponse defines the Msg/MsgExecResponse response type.","type":"object","properties":{"results":{"type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.authz.v1beta1.MsgGrant":{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","type":"object","properties":{"grant":{"$ref":"#/definitions/cosmos.authz.v1beta1.Grant"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgGrantResponse":{"description":"MsgGrantResponse defines the Msg/MsgGrant response type.","type":"object"},"cosmos.authz.v1beta1.MsgRevoke":{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","type":"object","properties":{"grantee":{"type":"string"},"granter":{"type":"string"},"msg_type_url":{"type":"string"}}},"cosmos.authz.v1beta1.MsgRevokeResponse":{"description":"MsgRevokeResponse defines the Msg/MsgRevokeResponse response type.","type":"object"},"cosmos.authz.v1beta1.QueryGranteeGrantsResponse":{"description":"QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted to the grantee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGranterGrantsResponse":{"description":"QueryGranterGrantsResponse is the response type for the Query/GranterGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGrantsResponse":{"description":"QueryGrantsResponse is the response type for the Query/Authorizations RPC method.","type":"object","properties":{"grants":{"description":"authorizations is a list of grants granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.autocli.v1.AppOptionsRequest":{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","type":"object"},"cosmos.autocli.v1.AppOptionsResponse":{"description":"AppOptionsResponse is the RemoteInfoService/AppOptions response type.","type":"object","properties":{"module_options":{"description":"module_options is a map of module name to autocli module options.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ModuleOptions"}}}},"cosmos.autocli.v1.FlagOptions":{"description":"FlagOptions are options for flags generated from rpc request fields.\nBy default, all request fields are configured as flags based on the\nkebab-case name of the field. Fields can be turned into positional arguments\ninstead by using RpcCommandOptions.positional_args.","type":"object","properties":{"default_value":{"description":"default_value is the default value as text.","type":"string"},"deprecated":{"description":"deprecated is the usage text to show if this flag is deprecated.","type":"string"},"hidden":{"type":"boolean","title":"hidden hides the flag from help/usage text"},"name":{"description":"name is an alternate name to use for the field flag.","type":"string"},"shorthand":{"description":"shorthand is a one-letter abbreviated flag.","type":"string"},"shorthand_deprecated":{"description":"shorthand_deprecated is the usage text to show if the shorthand of this flag is deprecated.","type":"string"},"usage":{"description":"usage is the help message.","type":"string"}}},"cosmos.autocli.v1.ModuleOptions":{"description":"ModuleOptions describes the CLI options for a Cosmos SDK module.","type":"object","properties":{"query":{"description":"query describes the queries commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"},"tx":{"description":"tx describes the tx commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}},"cosmos.autocli.v1.PositionalArgDescriptor":{"description":"PositionalArgDescriptor describes a positional argument.","type":"object","properties":{"optional":{"description":"optional makes the last positional parameter optional.\nNote: It is mutually exclusive with varargs.","type":"boolean"},"proto_field":{"description":"proto_field specifies the proto field to use as the positional arg. Any\nfields used as positional args will not have a flag generated.","type":"string"},"varargs":{"description":"varargs makes a positional parameter a varargs parameter. This can only be\napplied to last positional parameter and the proto_field must a repeated\nfield. Note: It is mutually exclusive with optional.","type":"boolean"}}},"cosmos.autocli.v1.RpcCommandOptions":{"description":"RpcCommandOptions specifies options for commands generated from protobuf\nrpc methods.","type":"object","properties":{"alias":{"description":"alias is an array of aliases that can be used instead of the first word in Use.","type":"array","items":{"type":"string"}},"deprecated":{"description":"deprecated defines, if this command is deprecated and should print this string when used.","type":"string"},"example":{"description":"example is examples of how to use the command.","type":"string"},"flag_options":{"description":"flag_options are options for flags generated from rpc request fields.\nBy default all request fields are configured as flags. They can\nalso be configured as positional args instead using positional_args.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.FlagOptions"}},"gov_proposal":{"description":"gov_proposal specifies whether autocli should generate a gov proposal transaction for this rpc method.\nNormally autocli generates a transaction containing the message and broadcast it.\nHowever, when true, autocli generates a proposal transaction containing the message and broadcast it.\nThis option is ineffective for query commands.","type":"boolean"},"long":{"description":"long is the long message shown in the 'help \u003cthis-command\u003e' output.","type":"string"},"positional_args":{"description":"positional_args specifies positional arguments for the command.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.PositionalArgDescriptor"}},"rpc_method":{"description":"rpc_method is short name of the protobuf rpc method that this command is\ngenerated from.","type":"string"},"short":{"description":"short is the short description shown in the 'help' output.","type":"string"},"skip":{"description":"skip specifies whether to skip this rpc method when generating commands.","type":"boolean"},"suggest_for":{"description":"suggest_for is an array of command names for which this command will be suggested -\nsimilar to aliases but only suggests.","type":"array","items":{"type":"string"}},"use":{"description":"use is the one-line usage method. It also allows specifying an alternate\nname for the command as the first word of the usage text.\n\nBy default the name of an rpc command is the kebab-case short name of the\nrpc method.","type":"string"},"version":{"description":"version defines the version for this command. If this value is non-empty and the command does not\ndefine a \"version\" flag, a \"version\" boolean flag will be added to the command and, if specified,\nwill print content of the \"Version\" variable. A shorthand \"v\" flag will also be added if the\ncommand does not define one.","type":"string"}}},"cosmos.autocli.v1.ServiceCommandDescriptor":{"description":"ServiceCommandDescriptor describes a CLI command based on a protobuf service.","type":"object","properties":{"enhance_custom_command":{"description":"enhance_custom_commands specifies whether to skip the service when generating commands, if a custom command already\nexists, or enhance the existing command. If set to true, the custom command will be enhanced with the services from\ngRPC. otherwise when a custom command exists, no commands will be generated for the service.","type":"boolean"},"rpc_command_options":{"description":"rpc_command_options are options for commands generated from rpc methods.\nIf no options are specified for a given rpc method on the service, a\ncommand will be generated for that method with the default options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.RpcCommandOptions"}},"service":{"description":"service is the fully qualified name of the protobuf service to build\nthe command from. It can be left empty if sub_commands are used instead\nwhich may be the case if a module provides multiple tx and/or query services.","type":"string"},"short":{"description":"short is an optional parameter used to override the short description of the auto generated command.","type":"string"},"sub_commands":{"description":"sub_commands is a map of optional sub-commands for this command based on\ndifferent protobuf services. The map key is used as the name of the\nsub-command.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}}},"cosmos.bank.v1beta1.DenomOwner":{"description":"DenomOwner defines structure representing an account that owns or holds a\nparticular denominated token. It contains the account address and account\nbalance of the denominated token.","type":"object","properties":{"address":{"description":"address defines the address that owns a particular denomination.","type":"string"},"balance":{"description":"balance is the balance of the denominated coin for an account.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.DenomUnit":{"description":"DenomUnit represents a struct that describes a given\ndenomination unit of the basic token.","type":"object","properties":{"aliases":{"type":"array","title":"aliases is a list of string aliases for the given denom","items":{"type":"string"}},"denom":{"description":"denom represents the string name of the given denom unit (e.g uatom).","type":"string"},"exponent":{"description":"exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom).","type":"integer","format":"int64"}}},"cosmos.bank.v1beta1.Input":{"description":"Input models transaction input.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Metadata":{"description":"Metadata represents a struct that describes\na basic token.","type":"object","properties":{"base":{"description":"base represents the base denom (should be the DenomUnit with exponent = 0).","type":"string"},"denom_units":{"type":"array","title":"denom_units represents the list of DenomUnit's for a given coin","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomUnit"}},"description":{"type":"string"},"display":{"description":"display indicates the suggested denom that should be\ndisplayed in clients.","type":"string"},"name":{"type":"string","title":"name defines the name of the token (eg: Cosmos Atom)"},"symbol":{"description":"symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.","type":"string"},"uri":{"description":"URI to a document (on or off-chain) that contains additional information. Optional.","type":"string"},"uri_hash":{"description":"URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.","type":"string"}}},"cosmos.bank.v1beta1.MsgMultiSend":{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","type":"object","properties":{"inputs":{"description":"Inputs, despite being `repeated`, only allows one sender input. This is\nchecked in MsgMultiSend's ValidateBasic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Input"}},"outputs":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Output"}}}},"cosmos.bank.v1beta1.MsgMultiSendResponse":{"description":"MsgMultiSendResponse defines the Msg/MultiSend response type.","type":"object"},"cosmos.bank.v1beta1.MsgSend":{"description":"MsgSend represents a message to send coins from one account to another.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.bank.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.bank.v1beta1.MsgSetSendEnabled":{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module.","type":"string"},"send_enabled":{"description":"send_enabled is the list of entries to add or update.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}},"use_default_for":{"description":"use_default_for is a list of denoms that should use the params.default_send_enabled value.\nDenoms listed here will have their SendEnabled entries deleted.\nIf a denom is included that doesn't have a SendEnabled entry,\nit will be ignored.","type":"array","items":{"type":"string"}}}},"cosmos.bank.v1beta1.MsgSetSendEnabledResponse":{"description":"MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type.","type":"object"},"cosmos.bank.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/bank parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.bank.v1beta1.Output":{"description":"Output models transaction outputs.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Params":{"description":"Params defines the parameters for the bank module.","type":"object","properties":{"default_send_enabled":{"type":"boolean"},"send_enabled":{"description":"Deprecated: Use of SendEnabled in params is deprecated.\nFor genesis, use the newly added send_enabled field in the genesis object.\nStorage, lookup, and manipulation of this information is now in the keeper.\n\nAs of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QueryAllBalancesResponse":{"description":"QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod.","type":"object","properties":{"balances":{"description":"balances is the balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryBalanceResponse":{"description":"QueryBalanceResponse is the response type for the Query/Balance RPC method.","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse":{"description":"QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC\nmethod. Identical with QueryDenomMetadataResponse but receives denom as query string in request.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomMetadataResponse":{"description":"QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC\nmethod.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse":{"description":"QueryDenomOwnersByQueryResponse defines the RPC response of a DenomOwnersByQuery RPC query.","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomOwnersResponse":{"description":"QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomsMetadataResponse":{"description":"QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC\nmethod.","type":"object","properties":{"metadatas":{"description":"metadata provides the client information for all the registered tokens.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/bank parameters.","type":"object","properties":{"params":{"description":"params provides the parameters of the bank module.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.QuerySendEnabledResponse":{"description":"QuerySendEnabledResponse defines the RPC response of a SendEnable query.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response. This field is only\npopulated if the denoms field in the request is empty.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"send_enabled":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse":{"description":"QuerySpendableBalanceByDenomResponse defines the gRPC response structure for\nquerying an account's spendable balance for a specific denom.","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QuerySpendableBalancesResponse":{"description":"QuerySpendableBalancesResponse defines the gRPC response structure for querying\nan account's spendable balances.","type":"object","properties":{"balances":{"description":"balances is the spendable balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QuerySupplyOfResponse":{"description":"QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method.","type":"object","properties":{"amount":{"description":"amount is the supply of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryTotalSupplyResponse":{"type":"object","title":"QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC\nmethod","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"supply":{"type":"array","title":"supply is the supply of the coins","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.SendEnabled":{"description":"SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable).","type":"object","properties":{"denom":{"type":"string"},"enabled":{"type":"boolean"}}},"cosmos.base.abci.v1beta1.ABCIMessageLog":{"description":"ABCIMessageLog defines a structure containing an indexed tx ABCI message log.","type":"object","properties":{"events":{"description":"Events contains a slice of Event objects that were emitted during some\nexecution.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.StringEvent"}},"log":{"type":"string"},"msg_index":{"type":"integer","format":"int64"}}},"cosmos.base.abci.v1beta1.Attribute":{"description":"Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes.","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"cosmos.base.abci.v1beta1.GasInfo":{"description":"GasInfo defines tx execution gas context.","type":"object","properties":{"gas_used":{"description":"GasUsed is the amount of gas actually consumed.","type":"string","format":"uint64"},"gas_wanted":{"description":"GasWanted is the maximum units of work we allow this tx to perform.","type":"string","format":"uint64"}}},"cosmos.base.abci.v1beta1.Result":{"description":"Result is the union of ResponseFormat and ResponseCheckTx.","type":"object","properties":{"data":{"description":"Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL.","type":"string","format":"byte"},"events":{"description":"Events contains a slice of Event objects that were emitted during message\nor handler execution.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"log":{"description":"Log contains the log information from message or handler execution.","type":"string"},"msg_responses":{"description":"msg_responses contains the Msg handler responses type packed in Anys.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.base.abci.v1beta1.StringEvent":{"description":"StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.Attribute"}},"type":{"type":"string"}}},"cosmos.base.abci.v1beta1.TxResponse":{"description":"TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded.","type":"object","properties":{"code":{"description":"Response code.","type":"integer","format":"int64"},"codespace":{"type":"string","title":"Namespace for the Code"},"data":{"description":"Result bytes, if any.","type":"string"},"events":{"description":"Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"description":"Amount of gas consumed by transaction.","type":"string","format":"int64"},"gas_wanted":{"description":"Amount of gas requested for transaction.","type":"string","format":"int64"},"height":{"type":"string","format":"int64","title":"The block height"},"info":{"description":"Additional information. May be non-deterministic.","type":"string"},"logs":{"description":"The output of the application's logger (typed). May be non-deterministic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.ABCIMessageLog"}},"raw_log":{"description":"The output of the application's logger (raw string). May be\nnon-deterministic.","type":"string"},"timestamp":{"description":"Time of the previous block. For heights \u003e 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time.","type":"string"},"tx":{"description":"The request transaction bytes.","$ref":"#/definitions/google.protobuf.Any"},"txhash":{"description":"The transaction hash.","type":"string"}}},"cosmos.base.node.v1beta1.ConfigResponse":{"description":"ConfigResponse defines the response structure for the Config gRPC query.","type":"object","properties":{"halt_height":{"type":"string","format":"uint64"},"minimum_gas_price":{"type":"string"},"pruning_interval":{"type":"string"},"pruning_keep_recent":{"type":"string"}}},"cosmos.base.node.v1beta1.StatusResponse":{"description":"StateResponse defines the response structure for the status of a node.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"app hash of the current block"},"earliest_store_height":{"type":"string","format":"uint64","title":"earliest block height available in the store"},"height":{"type":"string","format":"uint64","title":"current block height"},"timestamp":{"type":"string","format":"date-time","title":"block height timestamp"},"validator_hash":{"type":"string","format":"byte","title":"validator hash provided by the consensus header"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.reflection.v1beta1.ListAllInterfacesResponse":{"description":"ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC.","type":"object","properties":{"interface_names":{"description":"interface_names is an array of all the registered interfaces.","type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v1beta1.ListImplementationsResponse":{"description":"ListImplementationsResponse is the response type of the ListImplementations\nRPC.","type":"object","properties":{"implementation_message_names":{"type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v2alpha1.AuthnDescriptor":{"type":"object","title":"AuthnDescriptor provides information on how to sign transactions without relying\non the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures","properties":{"sign_modes":{"type":"array","title":"sign_modes defines the supported signature algorithm","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.SigningModeDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ChainDescriptor":{"type":"object","title":"ChainDescriptor describes chain information of the application","properties":{"id":{"type":"string","title":"id is the chain id"}}},"cosmos.base.reflection.v2alpha1.CodecDescriptor":{"type":"object","title":"CodecDescriptor describes the registered interfaces and provides metadata information on the types","properties":{"interfaces":{"type":"array","title":"interfaces is a list of the registerted interfaces descriptors","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ConfigurationDescriptor":{"type":"object","title":"ConfigurationDescriptor contains metadata information on the sdk.Config","properties":{"bech32_account_address_prefix":{"type":"string","title":"bech32_account_address_prefix is the account address prefix"}}},"cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse":{"type":"object","title":"GetAuthnDescriptorResponse is the response returned by the GetAuthnDescriptor RPC","properties":{"authn":{"title":"authn describes how to authenticate to the application when sending transactions","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.AuthnDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse":{"type":"object","title":"GetChainDescriptorResponse is the response returned by the GetChainDescriptor RPC","properties":{"chain":{"title":"chain describes application chain information","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ChainDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse":{"type":"object","title":"GetCodecDescriptorResponse is the response returned by the GetCodecDescriptor RPC","properties":{"codec":{"title":"codec describes the application codec such as registered interfaces and implementations","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.CodecDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse":{"type":"object","title":"GetConfigurationDescriptorResponse is the response returned by the GetConfigurationDescriptor RPC","properties":{"config":{"title":"config describes the application's sdk.Config","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ConfigurationDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse":{"type":"object","title":"GetQueryServicesDescriptorResponse is the response returned by the GetQueryServicesDescriptor RPC","properties":{"queries":{"title":"queries provides information on the available queryable services","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServicesDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse":{"type":"object","title":"GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC","properties":{"tx":{"title":"tx provides information on msgs that can be forwarded to the application\nalongside the accepted transaction protobuf type","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.TxDescriptor"}}},"cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor":{"type":"object","title":"InterfaceAcceptingMessageDescriptor describes a protobuf message which contains\nan interface represented as a google.protobuf.Any","properties":{"field_descriptor_names":{"type":"array","title":"field_descriptor_names is a list of the protobuf name (not fullname) of the field\nwhich contains the interface as google.protobuf.Any (the interface is the same, but\nit can be in multiple fields of the same proto message)","items":{"type":"string"}},"fullname":{"type":"string","title":"fullname is the protobuf fullname of the type containing the interface"}}},"cosmos.base.reflection.v2alpha1.InterfaceDescriptor":{"type":"object","title":"InterfaceDescriptor describes the implementation of an interface","properties":{"fullname":{"type":"string","title":"fullname is the name of the interface"},"interface_accepting_messages":{"type":"array","title":"interface_accepting_messages contains information regarding the proto messages which contain the interface as\ngoogle.protobuf.Any field","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor"}},"interface_implementers":{"type":"array","title":"interface_implementers is a list of the descriptors of the interface implementers","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor"}}}},"cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor":{"type":"object","title":"InterfaceImplementerDescriptor describes an interface implementer","properties":{"fullname":{"type":"string","title":"fullname is the protobuf queryable name of the interface implementer"},"type_url":{"type":"string","title":"type_url defines the type URL used when marshalling the type as any\nthis is required so we can provide type safe google.protobuf.Any marshalling and\nunmarshalling, making sure that we don't accept just 'any' type\nin our interface fields"}}},"cosmos.base.reflection.v2alpha1.MsgDescriptor":{"type":"object","title":"MsgDescriptor describes a cosmos-sdk message that can be delivered with a transaction","properties":{"msg_type_url":{"description":"msg_type_url contains the TypeURL of a sdk.Msg.","type":"string"}}},"cosmos.base.reflection.v2alpha1.QueryMethodDescriptor":{"type":"object","title":"QueryMethodDescriptor describes a queryable method of a query service\nno other info is provided beside method name and tendermint queryable path\nbecause it would be redundant with the grpc reflection service","properties":{"full_query_path":{"type":"string","title":"full_query_path is the path that can be used to query\nthis method via tendermint abci.Query"},"name":{"type":"string","title":"name is the protobuf name (not fullname) of the method"}}},"cosmos.base.reflection.v2alpha1.QueryServiceDescriptor":{"type":"object","title":"QueryServiceDescriptor describes a cosmos-sdk queryable service","properties":{"fullname":{"type":"string","title":"fullname is the protobuf fullname of the service descriptor"},"is_module":{"type":"boolean","title":"is_module describes if this service is actually exposed by an application's module"},"methods":{"type":"array","title":"methods provides a list of query service methods","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryMethodDescriptor"}}}},"cosmos.base.reflection.v2alpha1.QueryServicesDescriptor":{"type":"object","title":"QueryServicesDescriptor contains the list of cosmos-sdk queriable services","properties":{"query_services":{"type":"array","title":"query_services is a list of cosmos-sdk QueryServiceDescriptor","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServiceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.SigningModeDescriptor":{"type":"object","title":"SigningModeDescriptor provides information on a signing flow of the application\nNOTE(fdymylja): here we could go as far as providing an entire flow on how\nto sign a message given a SigningModeDescriptor, but it's better to think about\nthis another time","properties":{"authn_info_provider_method_fullname":{"type":"string","title":"authn_info_provider_method_fullname defines the fullname of the method to call to get\nthe metadata required to authenticate using the provided sign_modes"},"name":{"type":"string","title":"name defines the unique name of the signing mode"},"number":{"type":"integer","format":"int32","title":"number is the unique int32 identifier for the sign_mode enum"}}},"cosmos.base.reflection.v2alpha1.TxDescriptor":{"type":"object","title":"TxDescriptor describes the accepted transaction type","properties":{"fullname":{"description":"fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type)\nit is not meant to support polymorphism of transaction types, it is supposed to be used by\nreflection clients to understand if they can handle a specific transaction type in an application.","type":"string"},"msgs":{"type":"array","title":"msgs lists the accepted application messages (sdk.Msg)","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.MsgDescriptor"}}}},"cosmos.base.tendermint.v1beta1.ABCIQueryResponse":{"description":"ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint.","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"type":"string","title":"nondeterministic"},"proof_ops":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOps"},"value":{"type":"string","format":"byte"}}},"cosmos.base.tendermint.v1beta1.Block":{"description":"Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string.","type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse":{"description":"GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestBlockResponse":{"description":"GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse":{"description":"GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.GetNodeInfoResponse":{"description":"GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method.","type":"object","properties":{"application_version":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.VersionInfo"},"default_node_info":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfo"}}},"cosmos.base.tendermint.v1beta1.GetSyncingResponse":{"description":"GetSyncingResponse is the response type for the Query/GetSyncing RPC method.","type":"object","properties":{"syncing":{"type":"boolean"}}},"cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse":{"description":"GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.Header":{"description":"Header defines the structure of a Tendermint block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"description":"proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX.\n\noriginal proposer of the block","type":"string"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"cosmos.base.tendermint.v1beta1.Module":{"type":"object","title":"Module is the type for VersionInfo","properties":{"path":{"type":"string","title":"module path"},"sum":{"type":"string","title":"checksum"},"version":{"type":"string","title":"module version"}}},"cosmos.base.tendermint.v1beta1.ProofOp":{"description":"ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint.","type":"object","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"cosmos.base.tendermint.v1beta1.ProofOps":{"description":"ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint.","type":"object","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOp"}}}},"cosmos.base.tendermint.v1beta1.Validator":{"description":"Validator is the type for the validator-set.","type":"object","properties":{"address":{"type":"string"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"voting_power":{"type":"string","format":"int64"}}},"cosmos.base.tendermint.v1beta1.VersionInfo":{"description":"VersionInfo is the type for the GetNodeInfoResponse message.","type":"object","properties":{"app_name":{"type":"string"},"build_deps":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Module"}},"build_tags":{"type":"string"},"cosmos_sdk_version":{"type":"string"},"git_commit":{"type":"string"},"go_version":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.base.v1beta1.DecCoin":{"description":"DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.benchmark.v1.MsgLoadTest":{"description":"MsgLoadTestOps defines a message containing a sequence of load test operations.","type":"object","properties":{"caller":{"type":"string","format":"byte"},"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.benchmark.v1.Op"}}}},"cosmos.benchmark.v1.MsgLoadTestResponse":{"description":"MsgLoadTestResponse defines a message containing the results of a load test operation.","type":"object","properties":{"total_errors":{"type":"string","format":"uint64"},"total_time":{"type":"string","format":"uint64"}}},"cosmos.benchmark.v1.Op":{"description":"Op is a message describing a benchmark operation.","type":"object","properties":{"actor":{"type":"string"},"delete":{"type":"boolean"},"exists":{"type":"boolean"},"iterations":{"type":"integer","format":"int64"},"key_length":{"type":"string","format":"uint64"},"seed":{"type":"string","format":"uint64"},"value_length":{"type":"string","format":"uint64"}}},"cosmos.circuit.v1.AccountResponse":{"description":"AccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"permission":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.AccountsResponse":{"description":"AccountsResponse is the response type for the Query/Accounts RPC method.","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.circuit.v1.GenesisAccountPermissions"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.circuit.v1.DisabledListResponse":{"description":"DisabledListResponse is the response type for the Query/DisabledList RPC method.","type":"object","properties":{"disabled_list":{"type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.GenesisAccountPermissions":{"type":"object","title":"GenesisAccountPermissions is the account permissions for the circuit breaker in genesis","properties":{"address":{"type":"string"},"permissions":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreaker":{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","type":"object","properties":{"grantee":{"description":"grantee is the account authorized with the provided permissions.","type":"string"},"granter":{"description":"granter is the granter of the circuit breaker permissions and must have\nLEVEL_SUPER_ADMIN.","type":"string"},"permissions":{"description":"permissions are the circuit breaker permissions that the grantee receives.\nThese will overwrite any existing permissions. LEVEL_NONE_UNSPECIFIED can\nbe specified to revoke all permissions.","$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse":{"description":"MsgAuthorizeCircuitBreakerResponse defines the Msg/AuthorizeCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgResetCircuitBreaker":{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip or reset the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of Msg type URLs to resume processing. If\nit is left empty all Msg processing for type URLs that the account is\nauthorized to trip will resume.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgResetCircuitBreakerResponse":{"description":"MsgResetCircuitBreakerResponse defines the Msg/ResetCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgTripCircuitBreaker":{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of type URLs to immediately stop processing.\nIF IT IS LEFT EMPTY, ALL MSG PROCESSING WILL STOP IMMEDIATELY.\nThis value is validated against the authority's permissions and if the\nauthority does not have permissions to trip the specified msg type URLs\n(or all URLs), the operation will fail.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgTripCircuitBreakerResponse":{"description":"MsgTripCircuitBreakerResponse defines the Msg/TripCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.Permissions":{"description":"Permissions are the permissions that an account has to trip\nor reset the circuit breaker.","type":"object","properties":{"level":{"description":"level is the level of permissions granted to this account.","$ref":"#/definitions/cosmos.circuit.v1.Permissions.Level"},"limit_type_urls":{"description":"limit_type_urls is used with LEVEL_SOME_MSGS to limit the lists of Msg type\nURLs that the account can trip. It is an error to use limit_type_urls with\na level other than LEVEL_SOME_MSGS.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.Permissions.Level":{"description":"Level is the permission level.\n\n - LEVEL_NONE_UNSPECIFIED: LEVEL_NONE_UNSPECIFIED indicates that the account will have no circuit\nbreaker permissions.\n - LEVEL_SOME_MSGS: LEVEL_SOME_MSGS indicates that the account will have permission to\ntrip or reset the circuit breaker for some Msg type URLs. If this level\nis chosen, a non-empty list of Msg type URLs must be provided in\nlimit_type_urls.\n - LEVEL_ALL_MSGS: LEVEL_ALL_MSGS indicates that the account can trip or reset the circuit\nbreaker for Msg's of all type URLs.\n - LEVEL_SUPER_ADMIN: LEVEL_SUPER_ADMIN indicates that the account can take all circuit breaker\nactions and can grant permissions to other accounts.","type":"string","default":"LEVEL_NONE_UNSPECIFIED","enum":["LEVEL_NONE_UNSPECIFIED","LEVEL_SOME_MSGS","LEVEL_ALL_MSGS","LEVEL_SUPER_ADMIN"]},"cosmos.consensus.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"abci":{"$ref":"#/definitions/tendermint.types.ABCIParams"},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"block":{"description":"params defines the x/consensus parameters to update.\nVersionsParams is not included in this Msg because it is tracked\nsepararately in x/upgrade.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"}}},"cosmos.consensus.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.consensus.v1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/consensus parameters.","type":"object","properties":{"params":{"description":"params are the tendermint consensus params stored in the consensus module.\nPlease note that `params.version` is not populated in this response, it is\ntracked separately in the x/upgrade module.","$ref":"#/definitions/tendermint.types.ConsensusParams"}}},"cosmos.counter.v1.MsgIncreaseCountResponse":{"description":"MsgIncreaseCountResponse is the Msg/Counter response type.","type":"object","properties":{"new_count":{"description":"new_count is the number of times the counter was incremented.","type":"string","format":"int64"}}},"cosmos.counter.v1.MsgIncreaseCounter":{"description":"MsgIncreaseCounter defines a count Msg service counter.","type":"object","properties":{"count":{"description":"count is the number of times to increment the counter.","type":"string","format":"int64"},"signer":{"description":"signer is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"}}},"cosmos.counter.v1.QueryGetCountRequest":{"description":"QueryGetCountRequest defines the request type for querying x/mock count.","type":"object"},"cosmos.counter.v1.QueryGetCountResponse":{"description":"QueryGetCountResponse defines the response type for querying x/mock count.","type":"object","properties":{"total_count":{"type":"string","format":"int64"}}},"cosmos.crisis.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"constant_fee":{"description":"constant_fee defines the x/crisis parameter.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.crisis.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.crisis.v1beta1.MsgVerifyInvariant":{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","type":"object","properties":{"invariant_module_name":{"description":"name of the invariant module.","type":"string"},"invariant_route":{"description":"invariant_route is the msg's invariant route.","type":"string"},"sender":{"description":"sender is the account address of private key to send coins to fee collector account.","type":"string"}}},"cosmos.crisis.v1beta1.MsgVerifyInvariantResponse":{"description":"MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type.","type":"object"},"cosmos.crypto.multisig.v1beta1.CompactBitArray":{"description":"CompactBitArray is an implementation of a space efficient bit array.\nThis is used to ensure that the encoded data takes up a minimal amount of\nspace after proto encoding.\nThis is not thread safe, and is not intended for concurrent usage.","type":"object","properties":{"elems":{"type":"string","format":"byte"},"extra_bits_stored":{"type":"integer","format":"int64"}}},"cosmos.distribution.v1beta1.DelegationDelegatorReward":{"description":"DelegationDelegatorReward represents the properties\nof a delegator's delegation reward.","type":"object","properties":{"reward":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpend":{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"recipient":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse":{"description":"MsgCommunityPoolSpendResponse defines the response to executing a\nMsgCommunityPoolSpend message.","type":"object"},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool":{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse":{"description":"MsgDepositValidatorRewardsPoolResponse defines the response to executing a\nMsgDepositValidatorRewardsPool message.","type":"object"},"cosmos.distribution.v1beta1.MsgFundCommunityPool":{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse":{"description":"MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.","type":"object"},"cosmos.distribution.v1beta1.MsgSetWithdrawAddress":{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","type":"object","properties":{"delegator_address":{"type":"string"},"withdraw_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse":{"description":"MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response\ntype.","type":"object"},"cosmos.distribution.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/distribution parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward":{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","type":"object","properties":{"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse":{"description":"MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward\nresponse type.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission":{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","type":"object","properties":{"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse":{"description":"MsgWithdrawValidatorCommissionResponse defines the\nMsg/WithdrawValidatorCommission response type.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.Params":{"description":"Params defines the set of params for the distribution module.","type":"object","properties":{"base_proposer_reward":{"description":"Deprecated: The base_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"bonus_proposer_reward":{"description":"Deprecated: The bonus_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"community_tax":{"type":"string"},"withdraw_addr_enabled":{"type":"boolean"}}},"cosmos.distribution.v1beta1.QueryCommunityPoolResponse":{"description":"QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method.","type":"object","properties":{"pool":{"description":"pool defines community pool's coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationRewardsResponse":{"description":"QueryDelegationRewardsResponse is the response type for the\nQuery/DelegationRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines the rewards accrued by a delegation.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse":{"description":"QueryDelegationTotalRewardsResponse is the response type for the\nQuery/DelegationTotalRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines all the rewards accrued by a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.DelegationDelegatorReward"}},"total":{"description":"total defines the sum of all the rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is the response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"validators":{"description":"validators defines the validators a delegator is delegating for.","type":"array","items":{"type":"string"}}}},"cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse":{"description":"QueryDelegatorWithdrawAddressResponse is the response type for the\nQuery/DelegatorWithdrawAddress RPC method.","type":"object","properties":{"withdraw_address":{"description":"withdraw_address defines the delegator address to query for.","type":"string"}}},"cosmos.distribution.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.QueryValidatorCommissionResponse":{"type":"object","title":"QueryValidatorCommissionResponse is the response type for the\nQuery/ValidatorCommission RPC method","properties":{"commission":{"description":"commission defines the commission the validator received.","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission"}}},"cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse":{"description":"QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method.","type":"object","properties":{"commission":{"description":"commission defines the commission the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"operator_address":{"description":"operator_address defines the validator operator address.","type":"string"},"self_bond_rewards":{"description":"self_bond_rewards defines the self delegations rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse":{"description":"QueryValidatorOutstandingRewardsResponse is the response type for the\nQuery/ValidatorOutstandingRewards RPC method.","type":"object","properties":{"rewards":{"$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorOutstandingRewards"}}},"cosmos.distribution.v1beta1.QueryValidatorSlashesResponse":{"description":"QueryValidatorSlashesResponse is the response type for the\nQuery/ValidatorSlashes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"slashes":{"description":"slashes defines the slashes the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorSlashEvent"}}}},"cosmos.distribution.v1beta1.ValidatorAccumulatedCommission":{"description":"ValidatorAccumulatedCommission represents accumulated commission\nfor a validator kept as a running counter, can be withdrawn at any time.","type":"object","properties":{"commission":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorOutstandingRewards":{"description":"ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards\nfor a validator inexpensive to track, allows simple sanity checks.","type":"object","properties":{"rewards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorSlashEvent":{"description":"ValidatorSlashEvent represents a validator slash event.\nHeight is implicit within the store key.\nThis is needed to calculate appropriate amount of staking tokens\nfor delegations which are withdrawn after a slash has occurred.","type":"object","properties":{"fraction":{"type":"string"},"validator_period":{"type":"string","format":"uint64"}}},"cosmos.epochs.v1beta1.EpochInfo":{"description":"EpochInfo is a struct that describes the data going into\na timer defined by the x/epochs module.","type":"object","properties":{"current_epoch":{"description":"current_epoch is the current epoch number, or in other words,\nhow many times has the timer 'ticked'.\nThe first tick (current_epoch=1) is defined as\nthe first block whose blocktime is greater than the EpochInfo start_time.","type":"string","format":"int64"},"current_epoch_start_height":{"type":"string","format":"int64","title":"current_epoch_start_height is the block height at which the current epoch\nstarted. (The block height at which the timer last ticked)"},"current_epoch_start_time":{"description":"current_epoch_start_time describes the start time of the current timer\ninterval. The interval is (current_epoch_start_time,\ncurrent_epoch_start_time + duration] When the timer ticks, this is set to\ncurrent_epoch_start_time = last_epoch_start_time + duration only one timer\ntick for a given identifier can occur per block.\n\nNOTE! The current_epoch_start_time may diverge significantly from the\nwall-clock time the epoch began at. Wall-clock time of epoch start may be\n\u003e\u003e current_epoch_start_time. Suppose current_epoch_start_time = 10,\nduration = 5. Suppose the chain goes offline at t=14, and comes back online\nat t=30, and produces blocks at every successive time. (t=31, 32, etc.)\n* The t=30 block will start the epoch for (10, 15]\n* The t=31 block will start the epoch for (15, 20]\n* The t=32 block will start the epoch for (20, 25]\n* The t=33 block will start the epoch for (25, 30]\n* The t=34 block will start the epoch for (30, 35]\n* The **t=36** block will start the epoch for (35, 40]","type":"string","format":"date-time"},"duration":{"description":"duration is the time in between epoch ticks.\nIn order for intended behavior to be met, duration should\nbe greater than the chains expected block time.\nDuration must be non-zero.","type":"string"},"epoch_counting_started":{"description":"epoch_counting_started is a boolean, that indicates whether this\nepoch timer has began yet.","type":"boolean"},"identifier":{"description":"identifier is a unique reference to this particular timer.","type":"string"},"start_time":{"description":"start_time is the time at which the timer first ever ticks.\nIf start_time is in the future, the epoch will not begin until the start\ntime.","type":"string","format":"date-time"}}},"cosmos.epochs.v1beta1.QueryCurrentEpochResponse":{"description":"QueryCurrentEpochResponse defines the gRPC response structure for\nquerying an epoch by its identifier.","type":"object","properties":{"current_epoch":{"type":"string","format":"int64"}}},"cosmos.epochs.v1beta1.QueryEpochInfosResponse":{"description":"QueryEpochInfosRequest defines the gRPC response structure for\nquerying all epoch info.","type":"object","properties":{"epochs":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.epochs.v1beta1.EpochInfo"}}}},"cosmos.evidence.v1beta1.MsgSubmitEvidence":{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","type":"object","properties":{"evidence":{"description":"evidence defines the evidence of misbehavior.","$ref":"#/definitions/google.protobuf.Any"},"submitter":{"description":"submitter is the signer account address of evidence.","type":"string"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse":{"description":"MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.","type":"object","properties":{"hash":{"description":"hash defines the hash of the evidence.","type":"string","format":"byte"}}},"cosmos.evidence.v1beta1.QueryAllEvidenceResponse":{"description":"QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod.","type":"object","properties":{"evidence":{"description":"evidence returns all evidences.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.evidence.v1beta1.QueryEvidenceResponse":{"description":"QueryEvidenceResponse is the response type for the Query/Evidence RPC method.","type":"object","properties":{"evidence":{"description":"evidence returns the requested evidence.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.feegrant.v1beta1.Grant":{"type":"object","title":"Grant is stored in the KVStore to record a grant with full context","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowance":{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","type":"object","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse":{"description":"MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.MsgPruneAllowances":{"description":"MsgPruneAllowances prunes expired fee allowances.","type":"object","properties":{"pruner":{"description":"pruner is the address of the user pruning expired allowances.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse":{"description":"MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.MsgRevokeAllowance":{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","type":"object","properties":{"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse":{"description":"MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.QueryAllowanceResponse":{"description":"QueryAllowanceResponse is the response type for the Query/Allowance RPC method.","type":"object","properties":{"allowance":{"description":"allowance is a allowance granted for grantee by granter.","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}}},"cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse":{"description":"QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.","type":"object","properties":{"allowances":{"description":"allowances that have been issued by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.feegrant.v1beta1.QueryAllowancesResponse":{"description":"QueryAllowancesResponse is the response type for the Query/Allowances RPC method.","type":"object","properties":{"allowances":{"description":"allowances are allowance's granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1.MsgCancelProposal":{"description":"MsgCancelProposal is the Msg/CancelProposal request type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1.MsgCancelProposalResponse":{"description":"MsgCancelProposalResponse defines the response structure for executing a\nMsgCancelProposal message.","type":"object","properties":{"canceled_height":{"description":"canceled_height defines the block height at which the proposal is canceled.","type":"string","format":"uint64"},"canceled_time":{"description":"canceled_time is the time when proposal is canceled.","type":"string","format":"date-time"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1.MsgExecLegacyContent":{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","type":"object","properties":{"authority":{"description":"authority must be the gov module address.","type":"string"},"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.gov.v1.MsgExecLegacyContentResponse":{"description":"MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type.","type":"object"},"cosmos.gov.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"expedited":{"type":"boolean","title":"expedited defines if the proposal is expedited or not"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"messages":{"description":"messages are the arbitrary messages to be executed if proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"},"summary":{"type":"string","title":"summary is the summary of the proposal"},"title":{"description":"title is the title of the proposal.","type":"string"}}},"cosmos.gov.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/gov parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.gov.v1.Params"}}},"cosmos.gov.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.gov.v1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the Vote.","type":"string"},"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the VoteWeighted.","type":"string"},"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.","type":"object"},"cosmos.gov.v1.Params":{"description":"Params defines the parameters for the x/gov module.","type":"object","properties":{"burn_proposal_deposit_prevote":{"type":"boolean","title":"burn deposits if the proposal does not enter voting period"},"burn_vote_quorum":{"type":"boolean","title":"burn deposits if a proposal does not meet quorum"},"burn_vote_veto":{"type":"boolean","title":"burn deposits if quorum with vote type no_veto is met"},"expedited_min_deposit":{"description":"Minimum expedited deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"expedited_threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.","type":"string"},"expedited_voting_period":{"description":"Duration of the voting period of an expedited proposal.","type":"string"},"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"min_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.\nDefault value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be\nrequired.","type":"string"},"min_initial_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value that must be paid at proposal submission.","type":"string"},"proposal_cancel_dest":{"description":"The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.\nIf empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.","type":"string"},"proposal_cancel_ratio":{"description":"The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.","type":"string"},"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\n considered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3.","type":"string"},"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"expedited":{"type":"boolean","title":"expedited defines if the proposal is expedited"},"failed_reason":{"type":"string","title":"failed_reason defines the reason why the proposal failed"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"},"id":{"description":"id defines the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages are the arbitrary messages to be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3"},"proposer":{"type":"string","title":"proposer is the address of the proposal sumbitter"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"summary":{"type":"string","title":"summary is a short summary of the proposal"},"title":{"type":"string","title":"title is the title of the proposal"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1.QueryConstitutionResponse":{"type":"object","title":"QueryConstitutionResponse is the response type for the Query/Constitution RPC method","properties":{"constitution":{"type":"string"}}},"cosmos.gov.v1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1.Deposit"}}},"cosmos.gov.v1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1.DepositParams"},"params":{"description":"params defines all the paramaters of x/gov module.","$ref":"#/definitions/cosmos.gov.v1.Params"},"tally_params":{"description":"Deprecated: Prefer to use `params` instead.\ntally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1.TallyParams"},"voting_params":{"description":"Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1.VotingParams"}}},"cosmos.gov.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"description":"proposal is the requested governance proposal.","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}},"cosmos.gov.v1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}}},"cosmos.gov.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"}}},"cosmos.gov.v1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1.Vote"}}},"cosmos.gov.v1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Vote"}}}},"cosmos.gov.v1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string"}}},"cosmos.gov.v1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the number of abstain votes on a proposal.","type":"string"},"no_count":{"description":"no_count is the number of no votes on a proposal.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the number of no with veto votes on a proposal.","type":"string"},"yes_count":{"description":"yes_count is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5"},"options":{"description":"options is the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.gov.v1beta1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1beta1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1beta1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1beta1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1beta1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.","type":"object","properties":{"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.","type":"object"},"cosmos.gov.v1beta1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1beta1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1beta1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1beta1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}}},"cosmos.gov.v1beta1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"deposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.DepositParams"},"tally_params":{"description":"tally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyParams"},"voting_params":{"description":"voting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1beta1.VotingParams"}}},"cosmos.gov.v1beta1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}},"cosmos.gov.v1beta1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}}},"cosmos.gov.v1beta1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"}}},"cosmos.gov.v1beta1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}},"cosmos.gov.v1beta1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}}},"cosmos.gov.v1beta1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string","format":"byte"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string","format":"byte"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string","format":"byte"}}},"cosmos.gov.v1beta1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain":{"description":"abstain is the number of abstain votes on a proposal.","type":"string"},"no":{"description":"no is the number of no votes on a proposal.","type":"string"},"no_with_veto":{"description":"no_with_veto is the number of no with veto votes on a proposal.","type":"string"},"yes":{"description":"yes is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1beta1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"option":{"description":"Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"options":{"description":"options is the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1beta1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1beta1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1beta1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.group.v1.Exec":{"description":"Exec defines modes of execution of a proposal on creation or on new vote.\n\n - EXEC_UNSPECIFIED: An empty value means that there should be a separate\nMsgExec request for the proposal to execute.\n - EXEC_TRY: Try to execute the proposal immediately.\nIf the proposal is not allowed per the DecisionPolicy,\nthe proposal will still be open and could\nbe executed at a later point.","type":"string","default":"EXEC_UNSPECIFIED","enum":["EXEC_UNSPECIFIED","EXEC_TRY"]},"cosmos.group.v1.GroupInfo":{"description":"GroupInfo represents the high-level on-chain information for a group.","type":"object","properties":{"admin":{"description":"admin is the account address of the group's admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group was created.","type":"string","format":"date-time"},"id":{"description":"id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata to attached to the group.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#group-1"},"total_weight":{"description":"total_weight is the sum of the group members' weights.","type":"string"},"version":{"type":"string","format":"uint64","title":"version is used to track changes to a group's membership structure that\nwould break existing proposals. Whenever any members weight is changed,\nor any member is added or removed this version is incremented and will\ncause proposals based on older versions of this group to fail"}}},"cosmos.group.v1.GroupMember":{"description":"GroupMember represents the relationship between a group and a member.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member":{"description":"member is the member data.","$ref":"#/definitions/cosmos.group.v1.Member"}}},"cosmos.group.v1.GroupPolicyInfo":{"description":"GroupPolicyInfo represents the high-level on-chain information for a group policy.","type":"object","properties":{"address":{"description":"address is the account address of group policy.","type":"string"},"admin":{"description":"admin is the account address of the group admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group policy was created.","type":"string","format":"date-time"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the group policy.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#decision-policy-1"},"version":{"description":"version is used to track changes to a group's GroupPolicyInfo structure that\nwould create a different result on a running proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.Member":{"description":"Member represents a group member with an account address,\nnon-zero weight, metadata and added_at timestamp.","type":"object","properties":{"added_at":{"description":"added_at is a timestamp specifying when a member was added.","type":"string","format":"date-time"},"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MemberRequest":{"description":"MemberRequest represents a group member to be used in Msg server requests.\nContrary to `Member`, it doesn't have any `added_at` field\nsince this field cannot be set as part of requests.","type":"object","properties":{"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MsgCreateGroup":{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}},"metadata":{"description":"metadata is any arbitrary metadata to attached to the group.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicy":{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is any arbitrary metadata attached to the group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicyResponse":{"description":"MsgCreateGroupPolicyResponse is the Msg/CreateGroupPolicy response type.","type":"object","properties":{"address":{"description":"address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupResponse":{"description":"MsgCreateGroupResponse is the Msg/CreateGroup response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgCreateGroupWithPolicy":{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group and group policy admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_metadata":{"description":"group_metadata is any arbitrary metadata attached to the group.","type":"string"},"group_policy_as_admin":{"description":"group_policy_as_admin is a boolean field, if set to true, the group policy account address will be used as group\nand group policy admin.","type":"boolean"},"group_policy_metadata":{"description":"group_policy_metadata is any arbitrary metadata attached to the group policy.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgCreateGroupWithPolicyResponse":{"description":"MsgCreateGroupWithPolicyResponse is the Msg/CreateGroupWithPolicy response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group with policy.","type":"string","format":"uint64"},"group_policy_address":{"description":"group_policy_address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgExec":{"description":"MsgExec is the Msg/Exec request type.","type":"object","properties":{"executor":{"description":"executor is the account address used to execute the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgExecResponse":{"description":"MsgExecResponse is the Msg/Exec request type.","type":"object","properties":{"result":{"description":"result is the final result of the proposal execution.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"}}},"cosmos.group.v1.MsgLeaveGroup":{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","type":"object","properties":{"address":{"description":"address is the account address of the group member.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgLeaveGroupResponse":{"description":"MsgLeaveGroupResponse is the Msg/LeaveGroup response type.","type":"object"},"cosmos.group.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","type":"object","properties":{"exec":{"description":"exec defines the mode of execution of the proposal,\nwhether it should be executed immediately on creation or not.\nIf so, proposers signatures are considered as Yes votes.","$ref":"#/definitions/cosmos.group.v1.Exec"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposers":{"description":"proposers are the account addresses of the proposers.\nProposers signatures will be counted as yes votes.","type":"array","items":{"type":"string"}},"summary":{"description":"summary is the summary of the proposal.","type":"string"},"title":{"description":"title is the title of the proposal.","type":"string"}}},"cosmos.group.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse is the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgUpdateGroupAdmin":{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the current account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"new_admin":{"description":"new_admin is the group new admin account address.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupAdminResponse":{"description":"MsgUpdateGroupAdminResponse is the Msg/UpdateGroupAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMembers":{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member_updates":{"description":"member_updates is the list of members to update,\nset weight to 0 to remove a member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgUpdateGroupMembersResponse":{"description":"MsgUpdateGroupMembersResponse is the Msg/UpdateGroupMembers response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMetadata":{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is the updated group's metadata.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupMetadataResponse":{"description":"MsgUpdateGroupMetadataResponse is the Msg/UpdateGroupMetadata response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyAdmin":{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of the group policy.","type":"string"},"new_admin":{"description":"new_admin is the new group policy admin.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse":{"description":"MsgUpdateGroupPolicyAdminResponse is the Msg/UpdateGroupPolicyAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy":{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy is the updated group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse":{"description":"MsgUpdateGroupPolicyDecisionPolicyResponse is the Msg/UpdateGroupPolicyDecisionPolicy response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyMetadata":{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"metadata":{"description":"metadata is the group policy metadata to be updated.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse":{"description":"MsgUpdateGroupPolicyMetadataResponse is the Msg/UpdateGroupPolicyMetadata response type.","type":"object"},"cosmos.group.v1.MsgVote":{"description":"MsgVote is the Msg/Vote request type.","type":"object","properties":{"exec":{"description":"exec defines whether the proposal should be executed\nimmediately after voting or not.","$ref":"#/definitions/cosmos.group.v1.Exec"},"metadata":{"description":"metadata is any arbitrary metadata attached to the vote.","type":"string"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter account address.","type":"string"}}},"cosmos.group.v1.MsgVoteResponse":{"description":"MsgVoteResponse is the Msg/Vote response type.","type":"object"},"cosmos.group.v1.MsgWithdrawProposal":{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","type":"object","properties":{"address":{"description":"address is the admin of the group policy or one of the proposer of the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgWithdrawProposalResponse":{"description":"MsgWithdrawProposalResponse is the Msg/WithdrawProposal response type.","type":"object"},"cosmos.group.v1.Proposal":{"description":"Proposal defines a group proposal. Any member of a group can submit a proposal\nfor a group policy to decide upon.\nA proposal consists of a set of `sdk.Msg`s that will be executed if the proposal\npasses as well as some optional metadata associated with the proposal.","type":"object","properties":{"executor_result":{"description":"executor_result is the final result of the proposal execution. Initial value is NotRun.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"},"final_tally_result":{"description":"final_tally_result contains the sums of all weighted votes for this\nproposal for each vote option. It is empty at submission, and only\npopulated after tallying, at voting period end or at proposal execution,\nwhichever happens first.","$ref":"#/definitions/cosmos.group.v1.TallyResult"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"group_policy_version":{"description":"group_policy_version tracks the version of the group policy at proposal submission.\nWhen a decision policy is changed, existing proposals from previous policy\nversions will become invalid with the `ABORTED` status.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"group_version":{"description":"group_version tracks the version of the group at proposal submission.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"id":{"description":"id is the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#proposal-4"},"proposers":{"description":"proposers are the account addresses of the proposers.","type":"array","items":{"type":"string"}},"status":{"description":"status represents the high level position in the life cycle of the proposal. Initial value is Submitted.","$ref":"#/definitions/cosmos.group.v1.ProposalStatus"},"submit_time":{"description":"submit_time is a timestamp specifying when a proposal was submitted.","type":"string","format":"date-time"},"summary":{"type":"string","title":"summary is a short summary of the proposal"},"title":{"type":"string","title":"title is the title of the proposal"},"voting_period_end":{"description":"voting_period_end is the timestamp before which voting must be done.\nUnless a successful MsgExec is called before (to execute a proposal whose\ntally is successful before the voting period ends), tallying will be done\nat this point, and the `final_tally_result`and `status` fields will be\naccordingly updated.","type":"string","format":"date-time"}}},"cosmos.group.v1.ProposalExecutorResult":{"description":"ProposalExecutorResult defines types of proposal executor results.\n\n - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: An empty value is not allowed.\n - PROPOSAL_EXECUTOR_RESULT_NOT_RUN: We have not yet run the executor.\n - PROPOSAL_EXECUTOR_RESULT_SUCCESS: The executor was successful and proposed action updated state.\n - PROPOSAL_EXECUTOR_RESULT_FAILURE: The executor returned an error and proposed action didn't update state.","type":"string","default":"PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","enum":["PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","PROPOSAL_EXECUTOR_RESULT_NOT_RUN","PROPOSAL_EXECUTOR_RESULT_SUCCESS","PROPOSAL_EXECUTOR_RESULT_FAILURE"]},"cosmos.group.v1.ProposalStatus":{"description":"ProposalStatus defines proposal statuses.\n\n - PROPOSAL_STATUS_UNSPECIFIED: An empty value is invalid and not allowed.\n - PROPOSAL_STATUS_SUBMITTED: Initial status of a proposal when submitted.\n - PROPOSAL_STATUS_ACCEPTED: Final status of a proposal when the final tally is done and the outcome\npasses the group policy's decision policy.\n - PROPOSAL_STATUS_REJECTED: Final status of a proposal when the final tally is done and the outcome\nis rejected by the group policy's decision policy.\n - PROPOSAL_STATUS_ABORTED: Final status of a proposal when the group policy is modified before the\nfinal tally.\n - PROPOSAL_STATUS_WITHDRAWN: A proposal can be withdrawn before the voting start time by the owner.\nWhen this happens the final status is Withdrawn.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_SUBMITTED","PROPOSAL_STATUS_ACCEPTED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_ABORTED","PROPOSAL_STATUS_WITHDRAWN"]},"cosmos.group.v1.QueryGroupInfoResponse":{"description":"QueryGroupInfoResponse is the Query/GroupInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupInfo of the group.","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}}},"cosmos.group.v1.QueryGroupMembersResponse":{"description":"QueryGroupMembersResponse is the Query/GroupMembersResponse response type.","type":"object","properties":{"members":{"description":"members are the members of the group with given group_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupMember"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByAdminResponse":{"description":"QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info with provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByGroupResponse":{"description":"QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info associated with the provided group.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPolicyInfoResponse":{"description":"QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupPolicyInfo of the group policy.","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}}},"cosmos.group.v1.QueryGroupsByAdminResponse":{"description":"QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsByMemberResponse":{"description":"QueryGroupsByMemberResponse is the Query/GroupsByMember response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided group member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsResponse":{"description":"QueryGroupsResponse is the Query/Groups response type.","type":"object","properties":{"groups":{"description":"`groups` is all the groups present in state.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the Query/Proposal response type.","type":"object","properties":{"proposal":{"description":"proposal is the proposal info.","$ref":"#/definitions/cosmos.group.v1.Proposal"}}},"cosmos.group.v1.QueryProposalsByGroupPolicyResponse":{"description":"QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals are the proposals with given group policy.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Proposal"}}}},"cosmos.group.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the Query/TallyResult response type.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.group.v1.TallyResult"}}},"cosmos.group.v1.QueryVoteByProposalVoterResponse":{"description":"QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter response type.","type":"object","properties":{"vote":{"description":"vote is the vote with given proposal_id and voter.","$ref":"#/definitions/cosmos.group.v1.Vote"}}},"cosmos.group.v1.QueryVotesByProposalResponse":{"description":"QueryVotesByProposalResponse is the Query/VotesByProposal response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes for given proposal_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.QueryVotesByVoterResponse":{"description":"QueryVotesByVoterResponse is the Query/VotesByVoter response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes by given voter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.TallyResult":{"description":"TallyResult represents the sum of weighted votes for each vote option.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the weighted sum of abstainers.","type":"string"},"no_count":{"description":"no_count is the weighted sum of no votes.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the weighted sum of veto.","type":"string"},"yes_count":{"description":"yes_count is the weighted sum of yes votes.","type":"string"}}},"cosmos.group.v1.Vote":{"type":"object","title":"Vote represents a vote for a proposal.string metadata","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#vote-2"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"submit_time":{"description":"submit_time is the timestamp when the vote was submitted.","type":"string","format":"date-time"},"voter":{"description":"voter is the account address of the voter.","type":"string"}}},"cosmos.group.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will\nreturn an error.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.mint.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/mint parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.mint.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.mint.v1beta1.Params":{"description":"Params defines the parameters for the x/mint module.","type":"object","properties":{"blocks_per_year":{"type":"string","format":"uint64","title":"expected blocks per year"},"goal_bonded":{"type":"string","title":"goal of percent bonded atoms"},"inflation_max":{"type":"string","title":"maximum inflation rate"},"inflation_min":{"type":"string","title":"minimum inflation rate"},"inflation_rate_change":{"type":"string","title":"maximum annual change in inflation rate"},"mint_denom":{"type":"string","title":"type of coin to mint"}}},"cosmos.mint.v1beta1.QueryAnnualProvisionsResponse":{"description":"QueryAnnualProvisionsResponse is the response type for the\nQuery/AnnualProvisions RPC method.","type":"object","properties":{"annual_provisions":{"description":"annual_provisions is the current minting annual provisions value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryInflationResponse":{"description":"QueryInflationResponse is the response type for the Query/Inflation RPC\nmethod.","type":"object","properties":{"inflation":{"description":"inflation is the current minting inflation value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.nft.v1beta1.Class":{"description":"Class defines the class of the nft type.","type":"object","properties":{"data":{"title":"data is the app specific metadata of the NFT class. Optional","$ref":"#/definitions/google.protobuf.Any"},"description":{"type":"string","title":"description is a brief description of nft classification. Optional"},"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"},"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"}}},"cosmos.nft.v1beta1.MsgSend":{"description":"MsgSend represents a message to send a nft from one account to another account.","type":"object","properties":{"class_id":{"type":"string","title":"class_id defines the unique identifier of the nft classification, similar to the contract address of ERC721"},"id":{"type":"string","title":"id defines the unique identification of nft"},"receiver":{"type":"string","title":"receiver is the receiver address of nft"},"sender":{"type":"string","title":"sender is the address of the owner of nft"}}},"cosmos.nft.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.nft.v1beta1.NFT":{"description":"NFT defines the NFT.","type":"object","properties":{"class_id":{"type":"string","title":"class_id associated with the NFT, similar to the contract address of ERC721"},"data":{"title":"data is an app specific data of the NFT. Optional","$ref":"#/definitions/google.protobuf.Any"},"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"}}},"cosmos.nft.v1beta1.QueryBalanceResponse":{"type":"object","title":"QueryBalanceResponse is the response type for the Query/Balance RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs of a given class owned by the owner"}}},"cosmos.nft.v1beta1.QueryClassResponse":{"type":"object","title":"QueryClassResponse is the response type for the Query/Class RPC method","properties":{"class":{"description":"class defines the class of the nft type.","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}}},"cosmos.nft.v1beta1.QueryClassesResponse":{"type":"object","title":"QueryClassesResponse is the response type for the Query/Classes RPC method","properties":{"classes":{"description":"class defines the class of the nft type.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryNFTResponse":{"type":"object","title":"QueryNFTResponse is the response type for the Query/NFT RPC method","properties":{"nft":{"title":"owner is the owner address of the nft","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}}},"cosmos.nft.v1beta1.QueryNFTsResponse":{"type":"object","title":"QueryNFTsResponse is the response type for the Query/NFTs RPC methods","properties":{"nfts":{"type":"array","title":"NFT defines the NFT","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryOwnerResponse":{"type":"object","title":"QueryOwnerResponse is the response type for the Query/Owner RPC method","properties":{"owner":{"type":"string","title":"owner is the owner address of the nft"}}},"cosmos.nft.v1beta1.QuerySupplyResponse":{"type":"object","title":"QuerySupplyResponse is the response type for the Query/Supply RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs from the given class"}}},"cosmos.params.v1beta1.ParamChange":{"description":"ParamChange defines an individual parameter change, for use in\nParameterChangeProposal.","type":"object","properties":{"key":{"type":"string"},"subspace":{"type":"string"},"value":{"type":"string"}}},"cosmos.params.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"param":{"description":"param defines the queried parameter.","$ref":"#/definitions/cosmos.params.v1beta1.ParamChange"}}},"cosmos.params.v1beta1.QuerySubspacesResponse":{"description":"QuerySubspacesResponse defines the response types for querying for all\nregistered subspaces and all keys for a subspace.","type":"object","properties":{"subspaces":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.params.v1beta1.Subspace"}}}},"cosmos.params.v1beta1.Subspace":{"description":"Subspace defines a parameter subspace name and all the keys that exist for\nthe subspace.","type":"object","properties":{"keys":{"type":"array","items":{"type":"string"}},"subspace":{"type":"string"}}},"cosmos.protocolpool.v1.ContinuousFund":{"description":"ContinuousFund defines the fields of continuous fund proposal.","type":"object","properties":{"expiry":{"description":"Optional, if expiry is set, removes the state object when expired.","type":"string","format":"date-time"},"percentage":{"description":"Percentage is the percentage of funds to be allocated from Community pool.","type":"string"},"recipient":{"description":"Recipient is the address string of the account receiving funds.","type":"string"}}},"cosmos.protocolpool.v1.MsgCancelContinuousFund":{"description":"MsgCancelContinuousFund defines a message to cancel continuous funds for a specific recipient.","type":"object","properties":{"authority":{"description":"Authority is the account address of authority.","type":"string"},"recipient":{"description":"Recipient is the account address string of the recipient whose funds are to be cancelled.","type":"string"}}},"cosmos.protocolpool.v1.MsgCancelContinuousFundResponse":{"description":"MsgCancelContinuousFundResponse defines the response to executing a\nMsgCancelContinuousFund message.","type":"object","properties":{"canceled_height":{"description":"CanceledHeight defines the canceled block height.","type":"string","format":"uint64"},"canceled_time":{"description":"CanceledTime is the canceled time.","type":"string","format":"date-time"},"recipient":{"description":"Recipient is the account address string of the recipient whose funds are cancelled.","type":"string"}}},"cosmos.protocolpool.v1.MsgCommunityPoolSpend":{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"authority":{"description":"Authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"recipient":{"type":"string"}}},"cosmos.protocolpool.v1.MsgCommunityPoolSpendResponse":{"description":"MsgCommunityPoolSpendResponse defines the response to executing a\nMsgCommunityPoolSpend message.","type":"object"},"cosmos.protocolpool.v1.MsgCreateContinuousFund":{"description":"MsgCreateContinuousFund defines a message for adding continuous funds.","type":"object","properties":{"authority":{"description":"Authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"expiry":{"description":"Optional, if expiry is set, removes the state object when expired.","type":"string","format":"date-time"},"percentage":{"description":"Percentage is the percentage of funds to be allocated from Community pool.","type":"string"},"recipient":{"description":"Recipient address of the account receiving funds.","type":"string"}}},"cosmos.protocolpool.v1.MsgCreateContinuousFundResponse":{"description":"MsgCreateContinuousFundResponse defines the response to executing a\nMsgCreateContinuousFund message.","type":"object"},"cosmos.protocolpool.v1.MsgFundCommunityPool":{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"}}},"cosmos.protocolpool.v1.MsgFundCommunityPoolResponse":{"description":"MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.","type":"object"},"cosmos.protocolpool.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/protocolpool parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.protocolpool.v1.Params"}}},"cosmos.protocolpool.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.protocolpool.v1.Params":{"description":"Params defines the parameters for the protocolpool module.","type":"object","properties":{"distribution_frequency":{"description":"DistributionFrequency is the frequency (in terms of blocks) that funds are distributed out from the\nx/protocolpool module.","type":"string","format":"uint64"},"enabled_distribution_denoms":{"description":"EnabledDistributionDenoms lists the denoms that are allowed to be distributed.\nThis is to avoid spending time distributing undesired tokens to continuous funds and budgets.","type":"array","items":{"type":"string"}}}},"cosmos.protocolpool.v1.QueryCommunityPoolResponse":{"description":"QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method.","type":"object","properties":{"pool":{"description":"pool defines community pool's coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.protocolpool.v1.QueryContinuousFundResponse":{"description":"QueryUnclaimedBudgetResponse is the response type for the Query/ContinuousFund\nRPC method.","type":"object","properties":{"continuous_fund":{"description":"ContinuousFunds is the given continuous fund returned in the query.","$ref":"#/definitions/cosmos.protocolpool.v1.ContinuousFund"}}},"cosmos.protocolpool.v1.QueryContinuousFundsResponse":{"description":"QueryUnclaimedBudgetResponse is the response type for the Query/ContinuousFunds\nRPC method.","type":"object","properties":{"continuous_funds":{"description":"ContinuousFunds defines all continuous funds in state.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.protocolpool.v1.ContinuousFund"}}}},"cosmos.protocolpool.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"$ref":"#/definitions/cosmos.protocolpool.v1.Params"}}},"cosmos.slashing.v1beta1.MsgUnjail":{"type":"object","title":"MsgUnjail defines the Msg/Unjail request type","properties":{"validator_addr":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjailResponse":{"type":"object","title":"MsgUnjailResponse defines the Msg/Unjail response type"},"cosmos.slashing.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/slashing parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.slashing.v1beta1.Params":{"description":"Params represents the parameters used for by the slashing module.","type":"object","properties":{"downtime_jail_duration":{"type":"string"},"min_signed_per_window":{"type":"string","format":"byte"},"signed_blocks_window":{"type":"string","format":"int64"},"slash_fraction_double_sign":{"type":"string","format":"byte"},"slash_fraction_downtime":{"type":"string","format":"byte"}}},"cosmos.slashing.v1beta1.QueryParamsResponse":{"type":"object","title":"QueryParamsResponse is the response type for the Query/Params RPC method","properties":{"params":{"$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.QuerySigningInfoResponse":{"type":"object","title":"QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod","properties":{"val_signing_info":{"title":"val_signing_info is the signing info of requested val cons address","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}}},"cosmos.slashing.v1beta1.QuerySigningInfosResponse":{"type":"object","title":"QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod","properties":{"info":{"type":"array","title":"info is the signing info of all validators","items":{"type":"object","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.slashing.v1beta1.ValidatorSigningInfo":{"description":"ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity.","type":"object","properties":{"address":{"type":"string"},"index_offset":{"description":"Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap.","type":"string","format":"int64"},"jailed_until":{"description":"Timestamp until which the validator is jailed due to liveness downtime.","type":"string","format":"date-time"},"missed_blocks_counter":{"description":"A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap.","type":"string","format":"int64"},"start_height":{"type":"string","format":"int64","title":"Height at which validator was first a candidate OR was un-jailed"},"tombstoned":{"description":"Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior.","type":"boolean"}}},"cosmos.staking.v1beta1.BondStatus":{"description":"BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded.","type":"string","default":"BOND_STATUS_UNSPECIFIED","enum":["BOND_STATUS_UNSPECIFIED","BOND_STATUS_UNBONDED","BOND_STATUS_UNBONDING","BOND_STATUS_BONDED"]},"cosmos.staking.v1beta1.Commission":{"description":"Commission defines commission parameters for a given validator.","type":"object","properties":{"commission_rates":{"description":"commission_rates defines the initial commission rates to be used for creating a validator.","$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"update_time":{"description":"update_time is the last time the commission rate was changed.","type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.CommissionRates":{"description":"CommissionRates defines the initial commission rates to be used for creating\na validator.","type":"object","properties":{"max_change_rate":{"description":"max_change_rate defines the maximum daily increase of the validator commission, as a fraction.","type":"string"},"max_rate":{"description":"max_rate defines the maximum commission rate which validator can ever charge, as a fraction.","type":"string"},"rate":{"description":"rate is the commission rate charged to delegators, as a fraction.","type":"string"}}},"cosmos.staking.v1beta1.Delegation":{"description":"Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"shares":{"description":"shares define the delegation shares received.","type":"string"},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.DelegationResponse":{"description":"DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses.","type":"object","properties":{"balance":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Delegation"}}},"cosmos.staking.v1beta1.Description":{"description":"Description defines a validator description.","type":"object","properties":{"details":{"description":"details define other optional details.","type":"string"},"identity":{"description":"identity defines an optional identity signature (ex. UPort or Keybase).","type":"string"},"moniker":{"description":"moniker defines a human-readable name for the validator.","type":"string"},"security_contact":{"description":"security_contact defines an optional email for security contact.","type":"string"},"website":{"description":"website defines an optional website link.","type":"string"}}},"cosmos.staking.v1beta1.HistoricalInfo":{"description":"HistoricalInfo contains header and validator information for a given block.\nIt is stored as part of staking module's state, which persists the `n` most\nrecent HistoricalInfo\n(`n` is set by the staking module's `historical_entries` parameter).","type":"object","properties":{"header":{"$ref":"#/definitions/tendermint.types.Header"},"valset":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.MsgBeginRedelegate":{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_dst_address":{"type":"string"},"validator_src_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgBeginRedelegateResponse":{"description":"MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type.","type":"object","properties":{"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegation":{"type":"object","title":"MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator","properties":{"amount":{"title":"amount is always less than or equal to unbonding delegation entry balance","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse":{"type":"object","title":"MsgCancelUnbondingDelegationResponse"},"cosmos.staking.v1beta1.MsgCreateValidator":{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","type":"object","properties":{"commission":{"$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"delegator_address":{"description":"Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated.\nThe validator address bytes and delegator address bytes refer to the same account while creating validator (defer\nonly in bech32 notation).","type":"string"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"pubkey":{"$ref":"#/definitions/google.protobuf.Any"},"validator_address":{"type":"string"},"value":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.staking.v1beta1.MsgCreateValidatorResponse":{"description":"MsgCreateValidatorResponse defines the Msg/CreateValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgDelegate":{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgDelegateResponse":{"description":"MsgDelegateResponse defines the Msg/Delegate response type.","type":"object"},"cosmos.staking.v1beta1.MsgEditValidator":{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","type":"object","properties":{"commission_rate":{"type":"string","title":"We pass a reference to the new commission rate and min self delegation as\nit's not mandatory to update. If not updated, the deserialized rate will be\nzero with no way to distinguish if an update was intended.\nREF: #2373"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgEditValidatorResponse":{"description":"MsgEditValidatorResponse defines the Msg/EditValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgUndelegate":{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgUndelegateResponse":{"description":"MsgUndelegateResponse defines the Msg/Undelegate response type.","type":"object","properties":{"amount":{"title":"amount returns the amount of undelegated coins","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/staking parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.staking.v1beta1.Params":{"description":"Params defines the parameters for the x/staking module.","type":"object","properties":{"bond_denom":{"description":"bond_denom defines the bondable coin denomination.","type":"string"},"historical_entries":{"description":"historical_entries is the number of historical entries to persist.","type":"integer","format":"int64"},"max_entries":{"description":"max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).","type":"integer","format":"int64"},"max_validators":{"description":"max_validators is the maximum number of validators.","type":"integer","format":"int64"},"min_commission_rate":{"type":"string","title":"min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators"},"unbonding_time":{"description":"unbonding_time is the time duration of unbonding.","type":"string"}}},"cosmos.staking.v1beta1.Pool":{"description":"Pool is used for tracking bonded and not-bonded token supply of the bond\ndenomination.","type":"object","properties":{"bonded_tokens":{"type":"string"},"not_bonded_tokens":{"type":"string"}}},"cosmos.staking.v1beta1.QueryDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/Delegation RPC method.","type":"object","properties":{"delegation_response":{"description":"delegation_responses defines the delegation info of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse":{"description":"QueryDelegatorDelegationsResponse is response type for the\nQuery/DelegatorDelegations RPC method.","type":"object","properties":{"delegation_responses":{"description":"delegation_responses defines all the delegations' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse":{"description":"QueryUnbondingDelegatorDelegationsResponse is response type for the\nQuery/UnbondingDelegatorDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorResponse":{"description":"QueryDelegatorValidatorResponse response type for the\nQuery/DelegatorValidator RPC method.","type":"object","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators defines the validators' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.QueryHistoricalInfoResponse":{"description":"QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC\nmethod.","type":"object","properties":{"hist":{"description":"hist defines the historical info at the given height.","$ref":"#/definitions/cosmos.staking.v1beta1.HistoricalInfo"}}},"cosmos.staking.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.QueryPoolResponse":{"description":"QueryPoolResponse is response type for the Query/Pool RPC method.","type":"object","properties":{"pool":{"description":"pool defines the pool info.","$ref":"#/definitions/cosmos.staking.v1beta1.Pool"}}},"cosmos.staking.v1beta1.QueryRedelegationsResponse":{"description":"QueryRedelegationsResponse is response type for the Query/Redelegations RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"redelegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationResponse"}}}},"cosmos.staking.v1beta1.QueryUnbondingDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/UnbondingDelegation\nRPC method.","type":"object","properties":{"unbond":{"description":"unbond defines the unbonding information of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}},"cosmos.staking.v1beta1.QueryValidatorDelegationsResponse":{"type":"object","title":"QueryValidatorDelegationsResponse is response type for the\nQuery/ValidatorDelegations RPC method","properties":{"delegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryValidatorResponse":{"type":"object","title":"QueryValidatorResponse is response type for the Query/Validator RPC method","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse":{"description":"QueryValidatorUnbondingDelegationsResponse is response type for the\nQuery/ValidatorUnbondingDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryValidatorsResponse":{"type":"object","title":"QueryValidatorsResponse is response type for the Query/Validators RPC method","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators contains all the queried validators.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.Redelegation":{"description":"Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the bech32-encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the redelegation entries.\n\nredelegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}},"validator_dst_address":{"description":"validator_dst_address is the validator redelegation destination operator address.","type":"string"},"validator_src_address":{"description":"validator_src_address is the validator redelegation source operator address.","type":"string"}}},"cosmos.staking.v1beta1.RedelegationEntry":{"description":"RedelegationEntry defines a redelegation object with relevant metadata.","type":"object","properties":{"completion_time":{"description":"completion_time defines the unix time for redelegation completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height defines the height which the redelegation took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the initial balance when redelegation started.","type":"string"},"shares_dst":{"description":"shares_dst is the amount of destination-validator shares created by redelegation.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.RedelegationEntryResponse":{"description":"RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"balance":{"type":"string"},"redelegation_entry":{"$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}}},"cosmos.staking.v1beta1.RedelegationResponse":{"description":"RedelegationResponse is equivalent to a Redelegation except that its entries\ncontain a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"entries":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntryResponse"}},"redelegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Redelegation"}}},"cosmos.staking.v1beta1.UnbondingDelegation":{"description":"UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the unbonding delegation entries.\n\nunbonding delegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegationEntry"}},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.UnbondingDelegationEntry":{"description":"UnbondingDelegationEntry defines an unbonding object with relevant metadata.","type":"object","properties":{"balance":{"description":"balance defines the tokens to receive at completion.","type":"string"},"completion_time":{"description":"completion_time is the unix time for unbonding completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the tokens initially scheduled to receive at completion.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.Validator":{"description":"Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate.","type":"object","properties":{"commission":{"description":"commission defines the commission parameters.","$ref":"#/definitions/cosmos.staking.v1beta1.Commission"},"consensus_pubkey":{"description":"consensus_pubkey is the consensus public key of the validator, as a Protobuf Any.","$ref":"#/definitions/google.protobuf.Any"},"delegator_shares":{"description":"delegator_shares defines total shares issued to a validator's delegators.","type":"string"},"description":{"description":"description defines the description terms for the validator.","$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"jailed":{"description":"jailed defined whether the validator has been jailed from bonded status or not.","type":"boolean"},"min_self_delegation":{"description":"min_self_delegation is the validator's self declared minimum self delegation.","type":"string"},"operator_address":{"description":"operator_address defines the address of the validator's operator; bech encoded in JSON.","type":"string"},"status":{"description":"status is the validator status (bonded/unbonding/unbonded).","$ref":"#/definitions/cosmos.staking.v1beta1.BondStatus"},"tokens":{"description":"tokens define the delegated tokens (incl. self-delegation).","type":"string"},"unbonding_height":{"description":"unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.","type":"string","format":"int64"},"unbonding_ids":{"type":"array","title":"list of unbonding ids, each uniquely identifing an unbonding of this validator","items":{"type":"string","format":"uint64"}},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"strictly positive if this validator's unbonding has been stopped by external modules"},"unbonding_time":{"description":"unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.","type":"string","format":"date-time"}}},"cosmos.store.streaming.abci.ListenCommitRequest":{"type":"object","title":"ListenCommitRequest is the request type for the ListenCommit RPC method","properties":{"block_height":{"type":"string","format":"int64","title":"explicitly pass in block height as ResponseCommit does not contain this info"},"change_set":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.store.v1beta1.StoreKVPair"}},"res":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}}},"cosmos.store.streaming.abci.ListenCommitResponse":{"type":"object","title":"ListenCommitResponse is the response type for the ListenCommit RPC method"},"cosmos.store.streaming.abci.ListenFinalizeBlockRequest":{"type":"object","title":"ListenEndBlockRequest is the request type for the ListenEndBlock RPC method","properties":{"req":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"},"res":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}}},"cosmos.store.streaming.abci.ListenFinalizeBlockResponse":{"type":"object","title":"ListenEndBlockResponse is the response type for the ListenEndBlock RPC method"},"cosmos.store.v1beta1.StoreKVPair":{"type":"object","title":"StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes)\nIt optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and\nDeletes","properties":{"delete":{"type":"boolean","title":"true indicates a delete operation, false indicates a set operation"},"key":{"type":"string","format":"byte"},"store_key":{"type":"string","title":"the store key for the KVStore this pair originates from"},"value":{"type":"string","format":"byte"}}},"cosmos.tx.signing.v1beta1.SignMode":{"description":"SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT.\n\nSince: cosmos-sdk 0.50\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2","type":"string","default":"SIGN_MODE_UNSPECIFIED","enum":["SIGN_MODE_UNSPECIFIED","SIGN_MODE_DIRECT","SIGN_MODE_TEXTUAL","SIGN_MODE_DIRECT_AUX","SIGN_MODE_LEGACY_AMINO_JSON","SIGN_MODE_EIP_191"]},"cosmos.tx.v1beta1.AuthInfo":{"description":"AuthInfo describes the fee and signer modes that are used to sign a\ntransaction.","type":"object","properties":{"fee":{"description":"Fee is the fee and gas limit for the transaction. The first signer is the\nprimary signer and the one which pays the fee. The fee can be calculated\nbased on the cost of evaluating the body and doing signature verification\nof the signers. This can be estimated via simulation.","$ref":"#/definitions/cosmos.tx.v1beta1.Fee"},"signer_infos":{"description":"signer_infos defines the signing modes for the required signers. The number\nand order of elements must match the required signers from TxBody's\nmessages. The first element is the primary signer and the one which pays\nthe fee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.SignerInfo"}},"tip":{"description":"Tip is the optional tip used for transactions fees paid in another denom.\n\nThis field is ignored if the chain didn't enable tips, i.e. didn't add the\n`TipDecorator` in its posthandler.","$ref":"#/definitions/cosmos.tx.v1beta1.Tip"}}},"cosmos.tx.v1beta1.BroadcastMode":{"description":"BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC\nmethod.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits\nfor a CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client\nreturns immediately.","type":"string","default":"BROADCAST_MODE_UNSPECIFIED","enum":["BROADCAST_MODE_UNSPECIFIED","BROADCAST_MODE_BLOCK","BROADCAST_MODE_SYNC","BROADCAST_MODE_ASYNC"]},"cosmos.tx.v1beta1.BroadcastTxRequest":{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","type":"object","properties":{"mode":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastMode"},"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.BroadcastTxResponse":{"description":"BroadcastTxResponse is the response type for the\nService.BroadcastTx method.","type":"object","properties":{"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.Fee":{"description":"Fee includes the amount of coins paid in fees and the maximum\ngas to be used by the transaction. The ratio yields an effective \"gasprice\",\nwhich must be above some miminum to be accepted into the mempool.","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of coins to be paid as a fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"gas_limit":{"type":"string","format":"uint64","title":"gas_limit is the maximum gas that can be used in transaction processing\nbefore an out of gas error occurs"},"granter":{"type":"string","title":"if set, the fee payer (either the first signer or the value of the payer\nfield) requests that a fee grant be used to pay fees instead of the fee\npayer's own balance. If an appropriate fee grant does not exist or the\nchain does not support fee grants, this will fail"},"payer":{"description":"if unset, the first signer is responsible for paying the fees. If set, the\nspecified account must pay the fees. the payer must be a tx signer (and\nthus have signed this field in AuthInfo). setting this field does *not*\nchange the ordering of required signers for the transaction.","type":"string"}}},"cosmos.tx.v1beta1.GetBlockWithTxsResponse":{"description":"GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs\nmethod.","type":"object","properties":{"block":{"$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"pagination":{"description":"pagination defines a pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"txs":{"description":"txs are the transactions in the block.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.GetTxResponse":{"description":"GetTxResponse is the response type for the Service.GetTx method.","type":"object","properties":{"tx":{"description":"tx is the queried transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.GetTxsEventResponse":{"description":"GetTxsEventResponse is the response type for the Service.TxsByEvents\nRPC method.","type":"object","properties":{"pagination":{"description":"pagination defines a pagination for the response.\nDeprecated post v0.46.x: use total instead.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64","title":"total is total number of results available"},"tx_responses":{"description":"tx_responses is the list of queried TxResponses.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}},"txs":{"description":"txs is the list of queried transactions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.ModeInfo":{"description":"ModeInfo describes the signing mode of a single or nested multisig signer.","type":"object","properties":{"multi":{"title":"multi represents a nested multisig signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi"},"single":{"title":"single represents a single signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Single"}}},"cosmos.tx.v1beta1.ModeInfo.Multi":{"type":"object","title":"Multi is the mode info for a multisig public key","properties":{"bitarray":{"title":"bitarray specifies which keys within the multisig are signing","$ref":"#/definitions/cosmos.crypto.multisig.v1beta1.CompactBitArray"},"mode_infos":{"type":"array","title":"mode_infos is the corresponding modes of the signers of the multisig\nwhich could include nested multisig public keys","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"}}}},"cosmos.tx.v1beta1.ModeInfo.Single":{"type":"object","title":"Single is the mode info for a single signer. It is structured as a message\nto allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the\nfuture","properties":{"mode":{"title":"mode is the signing mode of the single signer","$ref":"#/definitions/cosmos.tx.signing.v1beta1.SignMode"}}},"cosmos.tx.v1beta1.OrderBy":{"description":"- ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","type":"string","title":"OrderBy defines the sorting order","default":"ORDER_BY_UNSPECIFIED","enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"]},"cosmos.tx.v1beta1.SignerInfo":{"description":"SignerInfo describes the public key and signing mode of a single top-level\nsigner.","type":"object","properties":{"mode_info":{"title":"mode_info describes the signing mode of the signer and is a nested\nstructure to support nested multisig pubkey's","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"},"public_key":{"description":"public_key is the public key of the signer. It is optional for accounts\nthat already exist in state. If unset, the verifier can use the required \\\nsigner address for this position and lookup the public key.","$ref":"#/definitions/google.protobuf.Any"},"sequence":{"description":"sequence is the sequence of the account, which describes the\nnumber of committed transactions signed by a given address. It is used to\nprevent replay attacks.","type":"string","format":"uint64"}}},"cosmos.tx.v1beta1.SimulateRequest":{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","type":"object","properties":{"tx":{"description":"tx is the transaction to simulate.\nDeprecated. Send raw tx bytes instead.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.SimulateResponse":{"description":"SimulateResponse is the response type for the\nService.SimulateRPC method.","type":"object","properties":{"gas_info":{"description":"gas_info is the information about gas used in the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.GasInfo"},"result":{"description":"result is the result of the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.Result"}}},"cosmos.tx.v1beta1.Tip":{"description":"Tip is the tip used for meta-transactions.","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of the tip","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"tipper":{"type":"string","title":"tipper is the address of the account paying for the tip"}}},"cosmos.tx.v1beta1.Tx":{"description":"Tx is the standard type used for broadcasting transactions.","type":"object","properties":{"auth_info":{"title":"auth_info is the authorization related content of the transaction,\nspecifically signers, signer modes and fee","$ref":"#/definitions/cosmos.tx.v1beta1.AuthInfo"},"body":{"title":"body is the processable content of the transaction","$ref":"#/definitions/cosmos.tx.v1beta1.TxBody"},"signatures":{"description":"signatures is a list of signatures that matches the length and order of\nAuthInfo's signer_infos to allow connecting signature meta information like\npublic key and signing mode by position.","type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.tx.v1beta1.TxBody":{"description":"TxBody is the body of a transaction that all signers sign over.","type":"object","properties":{"extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, the transaction will be rejected","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"memo":{"description":"memo is any arbitrary note/comment to be added to the transaction.\nWARNING: in clients, any publicly exposed text should not be called memo,\nbut should be called `note` instead (see\nhttps://github.com/cosmos/cosmos-sdk/issues/9122).","type":"string"},"messages":{"description":"messages is a list of messages to be executed. The required signers of\nthose messages define the number and order of elements in AuthInfo's\nsigner_infos and Tx's signatures. Each required signer address is added to\nthe list only the first time it occurs.\nBy convention, the first required signer (usually from the first message)\nis referred to as the primary signer and pays the fee for the whole\ntransaction.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"non_critical_extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, they will be ignored","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"timeout_height":{"description":"timeout_height is the block height after which this transaction will not\nbe processed by the chain.","type":"string","format":"uint64"},"timeout_timestamp":{"description":"timeout_timestamp is the block time after which this transaction will not\nbe processed by the chain.\n\nNote, if unordered=true this value MUST be set\nand will act as a short-lived TTL in which the transaction is deemed valid\nand kept in memory to prevent duplicates.","type":"string","format":"date-time"},"unordered":{"description":"unordered, when set to true, indicates that the transaction signer(s)\nintend for the transaction to be evaluated and executed in an un-ordered\nfashion. Specifically, the account's nonce will NOT be checked or\nincremented, which allows for fire-and-forget as well as concurrent\ntransaction execution.\n\nNote, when set to true, the existing 'timeout_timestamp' value must\nbe set and will be used to correspond to a timestamp in which the transaction is deemed\nvalid.\n\nWhen true, the sequence value MUST be 0, and any transaction with unordered=true and a non-zero sequence value will\nbe rejected.\nExternal services that make assumptions about sequence values may need to be updated because of this.","type":"boolean"}}},"cosmos.tx.v1beta1.TxDecodeAminoRequest":{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeAminoResponse":{"description":"TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method.","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxDecodeRequest":{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeResponse":{"description":"TxDecodeResponse is the response type for the\nService.TxDecode method.","type":"object","properties":{"tx":{"description":"tx is the decoded transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeAminoRequest":{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxEncodeAminoResponse":{"description":"TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method.","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxEncodeRequest":{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.","type":"object","properties":{"tx":{"description":"tx is the transaction to encode.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeResponse":{"description":"TxEncodeResponse is the response type for the\nService.TxEncode method.","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the encoded transaction bytes.","type":"string","format":"byte"}}},"cosmos.upgrade.v1beta1.ModuleVersion":{"description":"ModuleVersion specifies a module and its consensus version.","type":"object","properties":{"name":{"type":"string","title":"name of the app module"},"version":{"type":"string","format":"uint64","title":"consensus version of the app module"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgrade":{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse":{"description":"MsgCancelUpgradeResponse is the Msg/CancelUpgrade response type.","type":"object"},"cosmos.upgrade.v1beta1.MsgSoftwareUpgrade":{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"plan":{"description":"plan is the upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse":{"description":"MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type.","type":"object"},"cosmos.upgrade.v1beta1.Plan":{"description":"Plan specifies information about a planned upgrade and when it should occur.","type":"object","properties":{"height":{"description":"The height at which the upgrade must be performed.","type":"string","format":"int64"},"info":{"type":"string","title":"Any application specific upgrade info to be included on-chain\nsuch as a git commit that validators could automatically upgrade to"},"name":{"description":"Sets the name for the upgrade. This name will be used by the upgraded\nversion of the software to apply any special \"on-upgrade\" commands during\nthe first BeginBlock method after the upgrade is applied. It is also used\nto detect whether a software version can handle a given upgrade. If no\nupgrade handler with this name has been set in the software, it will be\nassumed that the software is out-of-date when the upgrade Time or Height is\nreached and the software will exit.","type":"string"},"time":{"description":"Deprecated: Time based upgrades have been deprecated. Time based upgrade logic\nhas been removed from the SDK.\nIf this field is not empty, an error will be thrown.","type":"string","format":"date-time"},"upgraded_client_state":{"description":"Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been\nmoved to the IBC module in the sub module 02-client.\nIf this field is not empty, an error will be thrown.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.upgrade.v1beta1.QueryAppliedPlanResponse":{"description":"QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC\nmethod.","type":"object","properties":{"height":{"description":"height is the block height at which the plan was applied.","type":"string","format":"int64"}}},"cosmos.upgrade.v1beta1.QueryAuthorityResponse":{"type":"object","title":"QueryAuthorityResponse is the response type for Query/Authority","properties":{"address":{"type":"string"}}},"cosmos.upgrade.v1beta1.QueryCurrentPlanResponse":{"description":"QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC\nmethod.","type":"object","properties":{"plan":{"description":"plan is the current upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.QueryModuleVersionsResponse":{"description":"QueryModuleVersionsResponse is the response type for the Query/ModuleVersions\nRPC method.","type":"object","properties":{"module_versions":{"description":"module_versions is a list of module names with their consensus versions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.upgrade.v1beta1.ModuleVersion"}}}},"cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse":{"description":"QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState\nRPC method.","type":"object","properties":{"upgraded_consensus_state":{"type":"string","format":"byte"}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","type":"object","properties":{"from_address":{"type":"string"},"start_time":{"description":"start of vesting as unix time (in seconds).","type":"string","format":"int64"},"to_address":{"type":"string"},"vesting_periods":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.vesting.v1beta1.Period"}}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreatePeriodicVestingAccount\nresponse type.","type":"object"},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount":{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse":{"description":"MsgCreatePermanentLockedAccountResponse defines the Msg/CreatePermanentLockedAccount response type.","type":"object"},"cosmos.vesting.v1beta1.MsgCreateVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"delayed":{"type":"boolean"},"end_time":{"description":"end of vesting as unix time (in seconds).","type":"string","format":"int64"},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type.","type":"object"},"cosmos.vesting.v1beta1.Period":{"description":"Period defines a length of time and amount of coins that will vest.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"length":{"description":"Period duration in seconds.","type":"string","format":"int64"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}},"tendermint.abci.CheckTxType":{"type":"string","default":"NEW","enum":["NEW","RECHECK"]},"tendermint.abci.CommitInfo":{"type":"object","properties":{"round":{"type":"integer","format":"int32"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.VoteInfo"}}}},"tendermint.abci.Event":{"description":"Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.EventAttribute"}},"type":{"type":"string"}}},"tendermint.abci.EventAttribute":{"description":"EventAttribute is a single key-value pair, associated with an event.","type":"object","properties":{"index":{"type":"boolean","title":"nondeterministic"},"key":{"type":"string"},"value":{"type":"string"}}},"tendermint.abci.ExecTxResult":{"description":"ExecTxResult contains results of executing one individual transaction.\n\n* Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","title":"nondeterministic","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ExtendedCommitInfo":{"description":"ExtendedCommitInfo is similar to CommitInfo except that it is only used in\nthe PrepareProposal request such that CometBFT can provide vote extensions\nto the application.","type":"object","properties":{"round":{"description":"The round at which the block proposer decided in the previous height.","type":"integer","format":"int32"},"votes":{"description":"List of validators' addresses in the last validator set with their voting\ninformation, including vote extensions.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExtendedVoteInfo"}}}},"tendermint.abci.ExtendedVoteInfo":{"type":"object","properties":{"block_id_flag":{"title":"block_id_flag indicates whether the validator voted for a block, nil, or did not vote at all","$ref":"#/definitions/tendermint.types.BlockIDFlag"},"extension_signature":{"type":"string","format":"byte","title":"Vote extension signature created by CometBFT"},"validator":{"description":"The validator that sent the vote.","$ref":"#/definitions/tendermint.abci.Validator"},"vote_extension":{"description":"Non-deterministic extension provided by the sending validator's application.","type":"string","format":"byte"}}},"tendermint.abci.Misbehavior":{"type":"object","properties":{"height":{"type":"string","format":"int64","title":"The height when the offense occurred"},"time":{"type":"string","format":"date-time","title":"The corresponding time where the offense occurred"},"total_voting_power":{"type":"string","format":"int64","title":"Total voting power of the validator set in case the ABCI application does\nnot store historical validators.\nhttps://github.com/tendermint/tendermint/issues/4581"},"type":{"$ref":"#/definitions/tendermint.abci.MisbehaviorType"},"validator":{"title":"The offending validator","$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.abci.MisbehaviorType":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","DUPLICATE_VOTE","LIGHT_CLIENT_ATTACK"]},"tendermint.abci.RequestApplySnapshotChunk":{"type":"object","title":"Applies a snapshot chunk","properties":{"chunk":{"type":"string","format":"byte"},"index":{"type":"integer","format":"int64"},"sender":{"type":"string"}}},"tendermint.abci.RequestCheckTx":{"type":"object","properties":{"tx":{"type":"string","format":"byte"},"type":{"$ref":"#/definitions/tendermint.abci.CheckTxType"}}},"tendermint.abci.RequestCommit":{"type":"object"},"tendermint.abci.RequestEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.RequestExtendVote":{"type":"object","title":"Extends a vote with application-injected data","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this vote may be referring to"},"height":{"type":"string","format":"int64","title":"the height of the extended vote"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time","title":"info of the block that this vote may be referring to"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFinalizeBlock":{"type":"object","properties":{"decided_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"hash":{"description":"hash is the merkle root hash of the fields of the decided block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"proposer_address is the address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFlush":{"type":"object"},"tendermint.abci.RequestInfo":{"type":"object","properties":{"abci_version":{"type":"string"},"block_version":{"type":"string","format":"uint64"},"p2p_version":{"type":"string","format":"uint64"},"version":{"type":"string"}}},"tendermint.abci.RequestInitChain":{"type":"object","properties":{"app_state_bytes":{"type":"string","format":"byte"},"chain_id":{"type":"string"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"initial_height":{"type":"string","format":"int64"},"time":{"type":"string","format":"date-time"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.RequestListSnapshots":{"type":"object","title":"lists available snapshots"},"tendermint.abci.RequestLoadSnapshotChunk":{"type":"object","title":"loads a snapshot chunk","properties":{"chunk":{"type":"integer","format":"int64"},"format":{"type":"integer","format":"int64"},"height":{"type":"string","format":"uint64"}}},"tendermint.abci.RequestOfferSnapshot":{"type":"object","title":"offers a snapshot to the application","properties":{"app_hash":{"type":"string","format":"byte","title":"light client-verified app hash for snapshot height"},"snapshot":{"title":"snapshot offered by peers","$ref":"#/definitions/tendermint.abci.Snapshot"}}},"tendermint.abci.RequestPrepareProposal":{"type":"object","properties":{"height":{"type":"string","format":"int64"},"local_last_commit":{"$ref":"#/definitions/tendermint.abci.ExtendedCommitInfo"},"max_tx_bytes":{"description":"the modified transactions cannot exceed this size.","type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"address of the public key of the validator proposing the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"description":"txs is an array of transactions that will be included in a block,\nsent to the app for possible modifications.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestProcessProposal":{"type":"object","properties":{"hash":{"description":"hash is the merkle root hash of the fields of the proposed block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestQuery":{"type":"object","properties":{"data":{"type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"path":{"type":"string"},"prove":{"type":"boolean"}}},"tendermint.abci.RequestVerifyVoteExtension":{"type":"object","title":"Verify the vote extension","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this received vote corresponds to"},"height":{"type":"string","format":"int64"},"validator_address":{"type":"string","format":"byte","title":"the validator that signed the vote extension"},"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseApplySnapshotChunk":{"type":"object","properties":{"refetch_chunks":{"type":"array","title":"Chunks to refetch and reapply","items":{"type":"integer","format":"int64"}},"reject_senders":{"type":"array","title":"Chunk senders to reject and ban","items":{"type":"string"}},"result":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk.Result"}}},"tendermint.abci.ResponseApplySnapshotChunk.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Chunk successfully accepted\n - ABORT: Abort all snapshot restoration\n - RETRY: Retry chunk (combine with refetch and reject)\n - RETRY_SNAPSHOT: Retry snapshot (combine with refetch and reject)\n - REJECT_SNAPSHOT: Reject this snapshot, try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","RETRY","RETRY_SNAPSHOT","REJECT_SNAPSHOT"]},"tendermint.abci.ResponseCheckTx":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ResponseCommit":{"type":"object","properties":{"retain_height":{"type":"string","format":"int64"}}},"tendermint.abci.ResponseEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.ResponseExtendVote":{"type":"object","properties":{"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseFinalizeBlock":{"type":"object","properties":{"app_hash":{"description":"app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was\ndeterministic. It is up to the application to decide which algorithm to use.","type":"string","format":"byte"},"consensus_param_updates":{"description":"updates to the consensus params, if any.","$ref":"#/definitions/tendermint.types.ConsensusParams"},"events":{"type":"array","title":"set of block events emmitted as part of executing the block","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"tx_results":{"type":"array","title":"the result of executing each transaction including the events\nthe particular transction emitted. This should match the order\nof the transactions delivered in the block itself","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExecTxResult"}},"validator_updates":{"description":"a list of updates to the validator set. These will reflect the validator set at current height + 2.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseFlush":{"type":"object"},"tendermint.abci.ResponseInfo":{"type":"object","properties":{"app_version":{"type":"string","format":"uint64"},"data":{"type":"string"},"last_block_app_hash":{"type":"string","format":"byte"},"last_block_height":{"type":"string","format":"int64"},"version":{"type":"string"}}},"tendermint.abci.ResponseInitChain":{"type":"object","properties":{"app_hash":{"type":"string","format":"byte"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseListSnapshots":{"type":"object","properties":{"snapshots":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Snapshot"}}}},"tendermint.abci.ResponseLoadSnapshotChunk":{"type":"object","properties":{"chunk":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseOfferSnapshot":{"type":"object","properties":{"result":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot.Result"}}},"tendermint.abci.ResponseOfferSnapshot.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Snapshot accepted, apply chunks\n - ABORT: Abort all snapshot restoration\n - REJECT: Reject this specific snapshot, try others\n - REJECT_FORMAT: Reject all snapshots of this format, try others\n - REJECT_SENDER: Reject all snapshots from the sender(s), try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","REJECT","REJECT_FORMAT","REJECT_SENDER"]},"tendermint.abci.ResponsePrepareProposal":{"type":"object","properties":{"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.ResponseProcessProposal":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal.ProposalStatus"}}},"tendermint.abci.ResponseProcessProposal.ProposalStatus":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.ResponseQuery":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"description":"bytes data = 2; // use \"value\" instead.\n\nnondeterministic","type":"string"},"proof_ops":{"$ref":"#/definitions/tendermint.crypto.ProofOps"},"value":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseVerifyVoteExtension":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus"}}},"tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus":{"description":" - REJECT: Rejecting the vote extension will reject the entire precommit by the sender.\nIncorrectly implementing this thus has liveness implications as it may affect\nCometBFT's ability to receive 2/3+ valid votes to finalize the block.\nHonest nodes should never be rejected.","type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.Snapshot":{"type":"object","properties":{"chunks":{"type":"integer","format":"int64","title":"Number of chunks in the snapshot"},"format":{"type":"integer","format":"int64","title":"The application-specific snapshot format"},"hash":{"type":"string","format":"byte","title":"Arbitrary snapshot hash, equal only if identical"},"height":{"type":"string","format":"uint64","title":"The height at which the snapshot was taken"},"metadata":{"type":"string","format":"byte","title":"Arbitrary application metadata"}}},"tendermint.abci.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte","title":"The first 20 bytes of SHA256(public key)"},"power":{"description":"The voting power","type":"string","format":"int64","title":"PubKey pub_key = 2 [(gogoproto.nullable)=false];"}}},"tendermint.abci.ValidatorUpdate":{"type":"object","properties":{"power":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"}}},"tendermint.abci.VoteInfo":{"type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"validator":{"$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.crypto.ProofOp":{"type":"object","title":"ProofOp defines an operation used for calculating Merkle root\nThe data could be arbitrary format, providing nessecary data\nfor example neighbouring node hash","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"tendermint.crypto.ProofOps":{"type":"object","title":"ProofOps is Merkle proof defined by the list of ProofOps","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.crypto.ProofOp"}}}},"tendermint.crypto.PublicKey":{"type":"object","title":"PublicKey defines the keys available for use with Validators","properties":{"ed25519":{"type":"string","format":"byte"},"secp256k1":{"type":"string","format":"byte"}}},"tendermint.p2p.DefaultNodeInfo":{"type":"object","properties":{"channels":{"type":"string","format":"byte"},"default_node_id":{"type":"string"},"listen_addr":{"type":"string"},"moniker":{"type":"string"},"network":{"type":"string"},"other":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfoOther"},"protocol_version":{"$ref":"#/definitions/tendermint.p2p.ProtocolVersion"},"version":{"type":"string"}}},"tendermint.p2p.DefaultNodeInfoOther":{"type":"object","properties":{"rpc_address":{"type":"string"},"tx_index":{"type":"string"}}},"tendermint.p2p.ProtocolVersion":{"type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"},"p2p":{"type":"string","format":"uint64"}}},"tendermint.types.ABCIParams":{"description":"ABCIParams configure functionality specific to the Application Blockchain Interface.","type":"object","properties":{"vote_extensions_enable_height":{"description":"vote_extensions_enable_height configures the first height during which\nvote extensions will be enabled. During this specified height, and for all\nsubsequent heights, precommit messages that do not contain valid extension data\nwill be considered invalid. Prior to this height, vote extensions will not\nbe used or accepted by validators on the network.\n\nOnce enabled, vote extensions will be created by the application in ExtendVote,\npassed to the application for validation in VerifyVoteExtension and given\nto the application to use when proposing a block during PrepareProposal.","type":"string","format":"int64"}}},"tendermint.types.Block":{"type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/tendermint.types.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"tendermint.types.BlockID":{"type":"object","title":"BlockID","properties":{"hash":{"type":"string","format":"byte"},"part_set_header":{"$ref":"#/definitions/tendermint.types.PartSetHeader"}}},"tendermint.types.BlockIDFlag":{"description":"- BLOCK_ID_FLAG_UNKNOWN: indicates an error condition\n - BLOCK_ID_FLAG_ABSENT: the vote was not received\n - BLOCK_ID_FLAG_COMMIT: voted for the block that received the majority\n - BLOCK_ID_FLAG_NIL: voted for nil","type":"string","title":"BlockIdFlag indicates which BlockID the signature is for","default":"BLOCK_ID_FLAG_UNKNOWN","enum":["BLOCK_ID_FLAG_UNKNOWN","BLOCK_ID_FLAG_ABSENT","BLOCK_ID_FLAG_COMMIT","BLOCK_ID_FLAG_NIL"]},"tendermint.types.BlockParams":{"description":"BlockParams contains limits on the block size.","type":"object","properties":{"max_bytes":{"type":"string","format":"int64","title":"Max block size, in bytes.\nNote: must be greater than 0"},"max_gas":{"type":"string","format":"int64","title":"Max gas per block.\nNote: must be greater or equal to -1"}}},"tendermint.types.Commit":{"description":"Commit contains the evidence that a block was committed by a set of validators.","type":"object","properties":{"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signatures":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.CommitSig"}}}},"tendermint.types.CommitSig":{"description":"CommitSig is a part of the Vote included in a Commit.","type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"signature":{"type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"validator_address":{"type":"string","format":"byte"}}},"tendermint.types.ConsensusParams":{"description":"ConsensusParams contains consensus critical parameters that determine the\nvalidity of blocks.","type":"object","properties":{"abci":{"$ref":"#/definitions/tendermint.types.ABCIParams"},"block":{"$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"},"version":{"$ref":"#/definitions/tendermint.types.VersionParams"}}},"tendermint.types.Data":{"type":"object","title":"Data contains the set of transactions included in the block","properties":{"txs":{"description":"Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.types.DuplicateVoteEvidence":{"description":"DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.","type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"},"validator_power":{"type":"string","format":"int64"},"vote_a":{"$ref":"#/definitions/tendermint.types.Vote"},"vote_b":{"$ref":"#/definitions/tendermint.types.Vote"}}},"tendermint.types.Evidence":{"type":"object","properties":{"duplicate_vote_evidence":{"$ref":"#/definitions/tendermint.types.DuplicateVoteEvidence"},"light_client_attack_evidence":{"$ref":"#/definitions/tendermint.types.LightClientAttackEvidence"}}},"tendermint.types.EvidenceList":{"type":"object","properties":{"evidence":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Evidence"}}}},"tendermint.types.EvidenceParams":{"description":"EvidenceParams determine how we handle evidence of malfeasance.","type":"object","properties":{"max_age_duration":{"description":"Max age of evidence, in time.\n\nIt should correspond with an app's \"unbonding period\" or other similar\nmechanism for handling [Nothing-At-Stake\nattacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).","type":"string"},"max_age_num_blocks":{"description":"Max age of evidence, in blocks.\n\nThe basic formula for calculating this is: MaxAgeDuration / {average block\ntime}.","type":"string","format":"int64"},"max_bytes":{"type":"string","format":"int64","title":"This sets the maximum size of total evidence in bytes that can be committed in a single block.\nand should fall comfortably under the max block bytes.\nDefault is 1048576 or 1MB"}}},"tendermint.types.Header":{"description":"Header defines the structure of a block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"type":"string","format":"byte","title":"original proposer of the block"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"tendermint.types.LightBlock":{"type":"object","properties":{"signed_header":{"$ref":"#/definitions/tendermint.types.SignedHeader"},"validator_set":{"$ref":"#/definitions/tendermint.types.ValidatorSet"}}},"tendermint.types.LightClientAttackEvidence":{"description":"LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.","type":"object","properties":{"byzantine_validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}},"common_height":{"type":"string","format":"int64"},"conflicting_block":{"$ref":"#/definitions/tendermint.types.LightBlock"},"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"}}},"tendermint.types.PartSetHeader":{"type":"object","title":"PartsetHeader","properties":{"hash":{"type":"string","format":"byte"},"total":{"type":"integer","format":"int64"}}},"tendermint.types.SignedHeader":{"type":"object","properties":{"commit":{"$ref":"#/definitions/tendermint.types.Commit"},"header":{"$ref":"#/definitions/tendermint.types.Header"}}},"tendermint.types.SignedMsgType":{"description":"SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals","type":"string","default":"SIGNED_MSG_TYPE_UNKNOWN","enum":["SIGNED_MSG_TYPE_UNKNOWN","SIGNED_MSG_TYPE_PREVOTE","SIGNED_MSG_TYPE_PRECOMMIT","SIGNED_MSG_TYPE_PROPOSAL"]},"tendermint.types.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"},"voting_power":{"type":"string","format":"int64"}}},"tendermint.types.ValidatorParams":{"description":"ValidatorParams restrict the public key types validators can use.\nNOTE: uses ABCI pubkey naming, not Amino names.","type":"object","properties":{"pub_key_types":{"type":"array","items":{"type":"string"}}}},"tendermint.types.ValidatorSet":{"type":"object","properties":{"proposer":{"$ref":"#/definitions/tendermint.types.Validator"},"total_voting_power":{"type":"string","format":"int64"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}}}},"tendermint.types.VersionParams":{"description":"VersionParams contains the ABCI application version.","type":"object","properties":{"app":{"type":"string","format":"uint64"}}},"tendermint.types.Vote":{"description":"Vote represents a prevote or precommit vote from validators for\nconsensus.","type":"object","properties":{"block_id":{"description":"zero if vote is nil.","$ref":"#/definitions/tendermint.types.BlockID"},"extension":{"description":"Vote extension provided by the application. Only valid for precommit\nmessages.","type":"string","format":"byte"},"extension_signature":{"description":"Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signature":{"description":"Vote signature by the validator if they participated in consensus for the\nassociated block.","type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"type":{"$ref":"#/definitions/tendermint.types.SignedMsgType"},"validator_address":{"type":"string","format":"byte"},"validator_index":{"type":"integer","format":"int32"}}},"tendermint.version.Consensus":{"description":"Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine.","type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"}}}},"tags":[{"name":"Msg"},{"name":"Query"},{"name":"Service"},{"name":"ReflectionService"},{"name":"ABCIListenerService"},{"name":"ABCI"}]} \ No newline at end of file diff --git a/go.mod b/go.mod index ce531255..af05a2a3 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,8 @@ module github.com/DecentralCardGame/cardchain -go 1.22.7 +go 1.23.2 -toolchain go1.23.4 +toolchain go1.24.5 replace ( // fix upstream GHSA-h395-qcrw-5vmq vulnerability. @@ -12,14 +12,14 @@ replace ( ) require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.9.2 cosmossdk.io/client/v2 v2.0.0-beta.5 - cosmossdk.io/core v0.11.1 - cosmossdk.io/depinject v1.1.0 - cosmossdk.io/errors v1.0.1 - cosmossdk.io/log v1.4.1 - cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1 + cosmossdk.io/core v0.11.3 + cosmossdk.io/depinject v1.2.1 + cosmossdk.io/errors v1.0.2 + cosmossdk.io/log v1.6.0 + cosmossdk.io/math v1.5.3 + cosmossdk.io/store v1.1.2 cosmossdk.io/tools/confix v0.1.2 cosmossdk.io/x/circuit v0.1.1 cosmossdk.io/x/evidence v0.1.1 @@ -27,25 +27,25 @@ require ( cosmossdk.io/x/nft v0.1.0 cosmossdk.io/x/upgrade v0.1.4 github.com/DecentralCardGame/cardobject v0.5.3 - github.com/cometbft/cometbft v0.38.12 - github.com/cosmos/cosmos-db v1.1.0 + github.com/cometbft/cometbft v0.38.17 + github.com/cosmos/cosmos-db v1.1.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/cosmos-sdk v0.50.11 + github.com/cosmos/cosmos-sdk v0.53.3 github.com/cosmos/gogoproto v1.7.0 github.com/cosmos/ibc-go/modules/capability v1.0.1 github.com/cosmos/ibc-go/v8 v8.5.1 github.com/golang/protobuf v1.5.4 github.com/gorilla/mux v1.8.1 github.com/grpc-ecosystem/grpc-gateway v1.16.0 - github.com/spf13/cast v1.7.0 - github.com/spf13/cobra v1.8.1 - github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.19.0 + github.com/spf13/cast v1.8.0 + github.com/spf13/cobra v1.9.1 + github.com/spf13/pflag v1.0.6 + github.com/spf13/viper v1.20.1 github.com/stretchr/testify v1.10.0 - golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 - google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697 - google.golang.org/grpc v1.68.0 - google.golang.org/protobuf v1.35.2 + golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 + google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a + google.golang.org/grpc v1.72.2 + google.golang.org/protobuf v1.36.6 ) require ( @@ -54,16 +54,19 @@ require ( buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.2-20240508200655-46a4cf4ba109.2 // indirect buf.build/gen/go/bufbuild/registry/connectrpc/go v1.16.2-20240610164129-660609bc46d3.1 // indirect buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.34.2-20240610164129-660609bc46d3.2 // indirect - cloud.google.com/go v0.115.0 // indirect - cloud.google.com/go/auth v0.6.0 // indirect - cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect - cloud.google.com/go/compute/metadata v0.5.0 // indirect - cloud.google.com/go/iam v1.1.9 // indirect - cloud.google.com/go/storage v1.41.0 // indirect + cel.dev/expr v0.20.0 // indirect + cloud.google.com/go v0.116.0 // indirect + cloud.google.com/go/auth v0.13.0 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.6 // indirect + cloud.google.com/go/compute/metadata v0.6.0 // indirect + cloud.google.com/go/iam v1.2.2 // indirect + cloud.google.com/go/monitoring v1.21.2 // indirect + cloud.google.com/go/storage v1.49.0 // indirect connectrpc.com/connect v1.16.2 // indirect connectrpc.com/otelconnect v0.7.0 // indirect - cosmossdk.io/collections v0.4.0 // indirect - cosmossdk.io/x/tx v0.13.7 // indirect + cosmossdk.io/collections v1.2.1 // indirect + cosmossdk.io/schema v1.1.0 // indirect + cosmossdk.io/x/tx v0.14.0 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect @@ -73,11 +76,14 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect github.com/BurntSushi/toml v1.4.0 // indirect github.com/DataDog/datadog-go v3.2.0+incompatible // indirect - github.com/DataDog/zstd v1.5.5 // indirect + github.com/DataDog/zstd v1.5.7 // indirect github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 // indirect github.com/Masterminds/semver v1.5.0 // indirect - github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/Microsoft/go-winio v0.6.2 // indirect github.com/OpenPeeDeeP/depguard v1.1.1 // indirect github.com/alexkohler/prealloc v1.0.0 // indirect github.com/alingse/asasalint v0.0.11 // indirect @@ -87,54 +93,55 @@ require ( github.com/aws/aws-sdk-go v1.44.224 // 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.1-0.20220910012023-760eaf8b6816 // indirect - github.com/bits-and-blooms/bitset v1.8.0 // indirect + github.com/bgentry/speakeasy v0.2.0 // indirect + github.com/bits-and-blooms/bitset v1.22.0 // indirect github.com/bkielbasa/cyclop v1.2.0 // indirect github.com/blizzy78/varnamelen v0.8.0 // indirect github.com/bombsimon/wsl/v3 v3.4.0 // indirect github.com/breml/bidichk v0.2.4 // indirect github.com/breml/errchkjson v0.3.1 // indirect - github.com/btcsuite/btcd/btcec/v2 v2.3.4 // indirect github.com/bufbuild/buf v1.34.0 // indirect - github.com/bufbuild/protocompile v0.14.0 // indirect + github.com/bufbuild/protocompile v0.14.1 // indirect github.com/bufbuild/protoplugin v0.0.0-20240323223605-e2735f6c31ee // indirect github.com/bufbuild/protovalidate-go v0.6.2 // indirect github.com/bufbuild/protoyaml-go v0.1.9 // indirect github.com/butuzov/ireturn v0.1.1 // indirect + github.com/bytedance/sonic v1.13.2 // indirect + github.com/bytedance/sonic/loader v0.2.4 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/charithe/durationcheck v0.0.10 // indirect github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8 // indirect github.com/chzyer/readline v1.5.1 // indirect + github.com/cloudwego/base64x v0.1.5 // indirect + github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect - github.com/cockroachdb/errors v1.11.3 // indirect + github.com/cockroachdb/errors v1.12.0 // indirect github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect - github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect - github.com/cockroachdb/pebble v1.1.2 // indirect - github.com/cockroachdb/redact v1.1.5 // indirect + github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 // indirect + github.com/cockroachdb/pebble v1.1.5 // indirect + github.com/cockroachdb/redact v1.1.6 // indirect github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect - github.com/cometbft/cometbft-db v0.11.0 // indirect + github.com/cometbft/cometbft-db v0.14.1 // indirect github.com/containerd/stargz-snapshotter/estargz v0.15.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect github.com/cosmos/iavl v1.2.2 // indirect github.com/cosmos/ics23/go v0.11.0 // indirect - github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect + github.com/cosmos/ledger-cosmos-go v0.14.0 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect github.com/creachadair/atomicfile v0.3.1 // indirect github.com/creachadair/tomledit v0.0.24 // indirect github.com/curioswitch/go-reassign v0.2.0 // indirect github.com/daixiang0/gci v0.10.1 // indirect github.com/danieljoos/wincred v1.2.1 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect github.com/denis-tingaikin/go-header v0.4.3 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect - github.com/dgraph-io/badger/v2 v2.2007.4 // indirect + github.com/dgraph-io/badger/v4 v4.2.0 // indirect github.com/dgraph-io/ristretto v0.1.1 // indirect - github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/cli v26.1.4+incompatible // indirect github.com/docker/distribution v2.8.3+incompatible // indirect @@ -145,6 +152,8 @@ require ( github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.6.0 // indirect github.com/emicklei/dot v1.6.2 // indirect + github.com/envoyproxy/go-control-plane/envoy v1.32.4 // indirect + github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect github.com/esimonov/ifshort v1.0.4 // indirect github.com/ettle/strcase v0.1.1 // indirect github.com/fatih/camelcase v1.0.0 // indirect @@ -153,13 +162,14 @@ require ( github.com/felixge/fgprof v0.9.4 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/firefart/nonamedreturns v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/fzipp/gocyclo v0.6.0 // indirect - github.com/getsentry/sentry-go v0.27.0 // indirect + github.com/getsentry/sentry-go v0.32.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-chi/chi/v5 v5.0.13 // indirect github.com/go-critic/go-critic v0.7.0 // indirect - github.com/go-kit/kit v0.12.0 // indirect + github.com/go-jose/go-jose/v4 v4.0.4 // indirect + github.com/go-kit/kit v0.13.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-logr/logr v1.4.2 // indirect @@ -171,6 +181,7 @@ require ( github.com/go-toolsmith/astp v1.1.0 // indirect github.com/go-toolsmith/strparse v1.1.0 // indirect github.com/go-toolsmith/typep v1.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect @@ -178,9 +189,8 @@ require ( github.com/gofrs/uuid/v5 v5.2.0 // indirect github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v1.2.2 // indirect + github.com/golang/glog v1.2.4 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/mock v1.6.0 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect @@ -194,14 +204,15 @@ require ( github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect github.com/google/btree v1.1.3 // indirect github.com/google/cel-go v0.20.1 // indirect - github.com/google/go-cmp v0.6.0 // indirect + github.com/google/flatbuffers v1.12.1 // indirect + github.com/google/go-cmp v0.7.0 // indirect github.com/google/go-containerregistry v0.19.2 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/pprof v0.0.0-20240618054019-d3b898a103f8 // indirect - github.com/google/s2a-go v0.1.7 // indirect + github.com/google/s2a-go v0.1.8 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.5 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect + github.com/googleapis/gax-go/v2 v2.14.1 // indirect github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28 // indirect github.com/gorilla/handlers v1.5.2 // indirect github.com/gorilla/websocket v1.5.3 // indirect @@ -215,20 +226,19 @@ require ( github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-getter v1.7.4 // indirect - github.com/hashicorp/go-hclog v1.5.0 // indirect + github.com/hashicorp/go-hclog v1.6.3 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/go-metrics v0.5.3 // indirect + github.com/hashicorp/go-metrics v0.5.4 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.5.2 // indirect + github.com/hashicorp/go-plugin v1.6.3 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hashicorp/yamux v0.1.1 // indirect - github.com/hdevalence/ed25519consensus v0.1.0 // indirect + github.com/hashicorp/yamux v0.1.2 // indirect + github.com/hdevalence/ed25519consensus v0.2.0 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect - github.com/huandu/skiplist v1.2.0 // indirect + github.com/huandu/skiplist v1.2.1 // indirect github.com/iancoleman/orderedmap v0.2.0 // indirect github.com/iancoleman/strcase v0.3.0 // indirect github.com/improbable-eng/grpc-web v0.15.0 // indirect @@ -244,7 +254,8 @@ require ( github.com/kisielk/errcheck v1.6.3 // indirect github.com/kisielk/gotool v1.0.0 // indirect github.com/kkHAIKE/contextcheck v1.1.4 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.18.0 // indirect + github.com/klauspost/cpuid/v2 v2.2.10 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect @@ -254,23 +265,22 @@ require ( github.com/ldez/gomoddirectives v0.2.3 // indirect github.com/ldez/tagliatelle v0.4.0 // indirect github.com/leonklingele/grouper v1.1.1 // indirect - github.com/lib/pq v1.10.7 // indirect + github.com/lib/pq v1.10.9 // indirect github.com/linxGnu/grocksdb v1.8.14 // indirect github.com/lufeee/execinquery v1.2.1 // indirect - github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect github.com/maratori/testableexamples v1.0.0 // indirect github.com/maratori/testpackage v1.1.1 // indirect github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect github.com/mbilski/exhaustivestruct v1.2.0 // indirect + github.com/mdp/qrterminal/v3 v3.2.1 // indirect github.com/mgechev/revive v1.3.1 // indirect - github.com/minio/highwayhash v1.0.2 // indirect + github.com/minio/highwayhash v1.0.3 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/term v0.5.0 // indirect github.com/moricho/tparallel v0.3.0 // indirect @@ -287,32 +297,32 @@ require ( github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect - github.com/pelletier/go-toml/v2 v2.2.2 // indirect - github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 // indirect + github.com/pelletier/go-toml/v2 v2.2.4 // indirect + github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pkg/profile v1.7.0 // indirect + github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/polyfloyd/go-errorlint v1.4.5 // indirect - github.com/prometheus/client_golang v1.20.1 // indirect + github.com/prometheus/client_golang v1.22.0 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.55.0 // indirect + github.com/prometheus/common v0.63.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/quasilyte/go-ruleguard v0.4.0 // indirect github.com/quasilyte/gogrep v0.5.0 // indirect github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/rogpeppe/go-internal v1.13.1 // indirect + github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/rs/cors v1.11.1 // indirect - github.com/rs/zerolog v1.33.0 // indirect + github.com/rs/zerolog v1.34.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/ryancurrah/gomodguard v1.3.0 // indirect github.com/ryanrolds/sqlclosecheck v0.4.0 // indirect - github.com/sagikazarmark/locafero v0.4.0 // indirect - github.com/sagikazarmark/slog-shim v0.1.0 // indirect + github.com/sagikazarmark/locafero v0.7.0 // indirect github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect - github.com/sasha-s/go-deadlock v0.3.1 // indirect + github.com/sasha-s/go-deadlock v0.3.5 // indirect github.com/sashamelentyev/interfacebloat v1.1.0 // indirect github.com/sashamelentyev/usestdlibvars v1.23.0 // indirect github.com/securego/gosec/v2 v2.15.0 // indirect @@ -324,7 +334,8 @@ require ( github.com/sonatard/noctx v0.0.2 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/sourcegraph/go-diff v0.7.0 // indirect - github.com/spf13/afero v1.11.0 // indirect + github.com/spf13/afero v1.12.0 // indirect + github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect github.com/stoewer/go-strcase v1.3.0 // indirect @@ -340,6 +351,7 @@ require ( github.com/timonwong/loggercheck v0.9.4 // indirect github.com/tomarrell/wrapcheck/v2 v2.8.1 // indirect github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ulikunitz/xz v0.5.11 // indirect github.com/ultraware/funlen v0.0.3 // indirect github.com/ultraware/whitespace v0.0.5 // indirect @@ -347,49 +359,54 @@ require ( github.com/vbatts/tar-split v0.11.5 // indirect github.com/yagipy/maintidx v1.0.0 // indirect github.com/yeya24/promlinter v0.2.0 // indirect + github.com/zeebo/errs v1.4.0 // indirect github.com/zondax/hid v0.9.2 // indirect github.com/zondax/ledger-go v0.14.3 // indirect gitlab.com/bosi/decorder v0.2.3 // indirect - go.etcd.io/bbolt v1.3.10 // indirect + go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.33.0 // indirect + go.opentelemetry.io/contrib/detectors/gcp v1.34.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect + go.opentelemetry.io/otel v1.34.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 // indirect - go.opentelemetry.io/otel/metric v1.33.0 // indirect - go.opentelemetry.io/otel/sdk v1.33.0 // indirect - go.opentelemetry.io/otel/trace v1.33.0 // indirect + go.opentelemetry.io/otel/metric v1.34.0 // indirect + go.opentelemetry.io/otel/sdk v1.34.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect + go.opentelemetry.io/otel/trace v1.34.0 // indirect go.opentelemetry.io/proto/otlp v1.4.0 // indirect go.uber.org/atomic v1.11.0 // indirect + go.uber.org/mock v0.5.2 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/crypto v0.29.0 // indirect + golang.org/x/arch v0.15.0 // indirect + golang.org/x/crypto v0.38.0 // indirect golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833 // indirect - golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.31.0 // indirect - golang.org/x/oauth2 v0.24.0 // indirect - golang.org/x/sync v0.9.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/term v0.26.0 // indirect - golang.org/x/text v0.20.0 // indirect - golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.22.0 // indirect - google.golang.org/api v0.186.0 // indirect - google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 // indirect + golang.org/x/mod v0.24.0 // indirect + golang.org/x/net v0.40.0 // indirect + golang.org/x/oauth2 v0.26.0 // indirect + golang.org/x/sync v0.14.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/term v0.32.0 // indirect + golang.org/x/text v0.25.0 // indirect + golang.org/x/time v0.8.0 // indirect + golang.org/x/tools v0.31.0 // indirect + google.golang.org/api v0.215.0 // indirect + google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 // indirect - gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - gotest.tools/v3 v3.5.1 // indirect + gotest.tools/v3 v3.5.2 // indirect honnef.co/go/tools v0.4.3 // indirect mvdan.cc/gofumpt v0.4.0 // indirect mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d // indirect nhooyr.io/websocket v1.8.6 // indirect - pgregory.net/rapid v1.1.0 // indirect + pgregory.net/rapid v1.2.0 // indirect + rsc.io/qr v0.2.0 // indirect sigs.k8s.io/yaml v1.4.0 // indirect ) diff --git a/go.sum b/go.sum index 379fc693..86caefe0 100644 --- a/go.sum +++ b/go.sum @@ -8,6 +8,8 @@ buf.build/gen/go/bufbuild/registry/connectrpc/go v1.16.2-20240610164129-660609bc buf.build/gen/go/bufbuild/registry/connectrpc/go v1.16.2-20240610164129-660609bc46d3.1/go.mod h1:4ptL49VoWyYwajT6j4zu5vmQ/k/om4tGMB9atY2FhEo= buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.34.2-20240610164129-660609bc46d3.2 h1:y1+UxFIWzj/eF2RCPqt9egR7Rt9vgQkXNUzSdmR6iEU= buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.34.2-20240610164129-660609bc46d3.2/go.mod h1:psseUmlKRo9v5LZJtR/aTpdTLuyp9o3X7rnLT87SZEo= +cel.dev/expr v0.20.0 h1:OunBvVCfvpWlt4dN7zg3FM6TDkzOePe1+foGJ9AXeeI= +cel.dev/expr v0.20.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= 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= @@ -40,8 +42,8 @@ cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w9 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.115.0 h1:CnFSK6Xo3lDYRoBKEcAtia6VSC837/ZkJuRduSFnr14= -cloud.google.com/go v0.115.0/go.mod h1:8jIM5vVgoAEoiVxQ/O4BFTfHqulPZgs/ufEzMcFMdWU= +cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= +cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= 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/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= @@ -56,10 +58,10 @@ cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjby 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/auth v0.6.0 h1:5x+d6b5zdezZ7gmLWD1m/xNjnaQ2YDhmIz/HH3doy1g= -cloud.google.com/go/auth v0.6.0/go.mod h1:b4acV+jLQDyjwm4OXHYjNvRi4jvGBzHWJRtJcy+2P4g= -cloud.google.com/go/auth/oauth2adapt v0.2.2 h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4= -cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= +cloud.google.com/go/auth v0.13.0 h1:8Fu8TZy167JkW8Tj3q7dIkr2v4cndv41ouecJx0PAHs= +cloud.google.com/go/auth v0.13.0/go.mod h1:COOjD9gwfKNKz+IIduatIhYJQIc0mG3H102r/EMxX6Q= +cloud.google.com/go/auth/oauth2adapt v0.2.6 h1:V6a6XDu2lTwPZWOawrAa9HUK+DB2zfJyTuciBG5hFkU= +cloud.google.com/go/auth/oauth2adapt v0.2.6/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8= 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/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= @@ -82,8 +84,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz 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/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= -cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= +cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I= +cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg= 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/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= @@ -121,18 +123,24 @@ cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y97 cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= 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 v1.1.9 h1:oSkYLVtVme29uGYrOcKcvJRht7cHJpYD09GM9JaR0TE= -cloud.google.com/go/iam v1.1.9/go.mod h1:Nt1eDWNYH9nGQg3d/mY7U1hvfGmsaG9o/kLGoLoLXjQ= +cloud.google.com/go/iam v1.2.2 h1:ozUSofHUGf/F4tCNy/mu9tHLTaxZFLOUiKzjcgWHGIA= +cloud.google.com/go/iam v1.2.2/go.mod h1:0Ys8ccaZHdI1dEUilwzqng/6ps2YB6vRsjIe00/+6JY= 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/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/logging v1.12.0 h1:ex1igYcGFd4S/RZWOCU51StlIEuey5bjqwH9ZYjHibk= +cloud.google.com/go/logging v1.12.0/go.mod h1:wwYBt5HlYP1InnrtYI0wtwttpVU1rifnMT7RejksUAM= +cloud.google.com/go/longrunning v0.6.2 h1:xjDfh1pQcWPEvnfjZmwjKQEcHnpz6lHjfy7Fo0MK+hc= +cloud.google.com/go/longrunning v0.6.2/go.mod h1:k/vIs83RN4bE3YCswdXC5PFfWVILjm3hpEUlSko4PiI= 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/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= 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/monitoring v1.21.2 h1:FChwVtClH19E7pJ+e0xUhJPGksctZNVOk2UhMmblmdU= +cloud.google.com/go/monitoring v1.21.2/go.mod h1:hS3pXvaG8KgWTSz+dAdyzPrGUYmi2Q+WFX8g2hqVEZU= 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/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= @@ -183,10 +191,12 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 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.41.0 h1:RusiwatSu6lHeEXe3kglxakAmAbfV+rhtPqA6i8RBx0= -cloud.google.com/go/storage v1.41.0/go.mod h1:J1WCa/Z2FcgdEDuPUY8DxT5I+d9mFKsCepp5vR6Sq80= +cloud.google.com/go/storage v1.49.0 h1:zenOPBOWHCnojRd9aJZAyQXBYqkJkdQS42dxL55CIMw= +cloud.google.com/go/storage v1.49.0/go.mod h1:k1eHhhpLvrPjVGfo0mOUPEJ4Y2+a/Hv5PiwehZI9qGU= 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/trace v1.11.2 h1:4ZmaBdL8Ng/ajrgKqY5jfvzqMXbrDcBsUGXOT9aqTtI= +cloud.google.com/go/trace v1.11.2/go.mod h1:bn7OwXd4pd5rFuAnTrzBuoZ4ax2XQeG3qNgYmfCy0Io= 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/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= @@ -200,24 +210,26 @@ connectrpc.com/connect v1.16.2 h1:ybd6y+ls7GOlb7Bh5C8+ghA6SvCBajHwxssO2CGFjqE= connectrpc.com/connect v1.16.2/go.mod h1:n2kgwskMHXC+lVqb18wngEpF95ldBHXjZYJussz5FRc= connectrpc.com/otelconnect v0.7.0 h1:ZH55ZZtcJOTKWWLy3qmL4Pam4RzRWBJFOqTPyAqCXkY= connectrpc.com/otelconnect v0.7.0/go.mod h1:Bt2ivBymHZHqxvo4HkJ0EwHuUzQN6k2l0oH+mp/8nwc= -cosmossdk.io/api v0.7.6 h1:PC20PcXy1xYKH2KU4RMurVoFjjKkCgYRbVAD4PdqUuY= -cosmossdk.io/api v0.7.6/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/api v0.9.2 h1:9i9ptOBdmoIEVEVWLtYYHjxZonlF/aOVODLFaxpmNtg= +cosmossdk.io/api v0.9.2/go.mod h1:CWt31nVohvoPMTlPv+mMNCtC0a7BqRdESjCsstHcTkU= cosmossdk.io/client/v2 v2.0.0-beta.5 h1:0LVv3nEByn//hFDIrYLs2WvsEU3HodOelh4SDHnA/1I= cosmossdk.io/client/v2 v2.0.0-beta.5/go.mod h1:4p0P6o0ro+FizakJUYS9SeM94RNbv0thLmkHRw5o5as= -cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= -cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= -cosmossdk.io/core v0.11.1 h1:h9WfBey7NAiFfIcUhDVNS503I2P2HdZLebJlUIs8LPA= -cosmossdk.io/core v0.11.1/go.mod h1:OJzxcdC+RPrgGF8NJZR2uoQr56tc7gfBKhiKeDO7hH0= -cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= -cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= -cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= -cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= -cosmossdk.io/log v1.4.1 h1:wKdjfDRbDyZRuWa8M+9nuvpVYxrEOwbD/CA8hvhU8QM= -cosmossdk.io/log v1.4.1/go.mod h1:k08v0Pyq+gCP6phvdI6RCGhLf/r425UT6Rk/m+o74rU= -cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= -cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/store v1.1.1 h1:NA3PioJtWDVU7cHHeyvdva5J/ggyLDkyH0hGHl2804Y= -cosmossdk.io/store v1.1.1/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM= +cosmossdk.io/collections v1.2.1 h1:mAlNMs5vJwkda4TA+k5q/43p24RVAQ/qyDrjANu3BXE= +cosmossdk.io/collections v1.2.1/go.mod h1:PSsEJ/fqny0VPsHLFT6gXDj/2C1tBOTS9eByK0+PBFU= +cosmossdk.io/core v0.11.3 h1:mei+MVDJOwIjIniaKelE3jPDqShCc/F4LkNNHh+4yfo= +cosmossdk.io/core v0.11.3/go.mod h1:9rL4RE1uDt5AJ4Tg55sYyHWXA16VmpHgbe0PbJc6N2Y= +cosmossdk.io/depinject v1.2.1 h1:eD6FxkIjlVaNZT+dXTQuwQTKZrFZ4UrfCq1RKgzyhMw= +cosmossdk.io/depinject v1.2.1/go.mod h1:lqQEycz0H2JXqvOgVwTsjEdMI0plswI7p6KX+MVqFOM= +cosmossdk.io/errors v1.0.2 h1:wcYiJz08HThbWxd/L4jObeLaLySopyyuUFB5w4AGpCo= +cosmossdk.io/errors v1.0.2/go.mod h1:0rjgiHkftRYPj//3DrD6y8hcm40HcPv/dR4R/4efr0k= +cosmossdk.io/log v1.6.0 h1:SJIOmJ059wi1piyRgNRXKXhlDXGqnB5eQwhcZKv2tOk= +cosmossdk.io/log v1.6.0/go.mod h1:5cXXBvfBkR2/BcXmosdCSLXllvgSjphrrDVdfVRmBGM= +cosmossdk.io/math v1.5.3 h1:WH6tu6Z3AUCeHbeOSHg2mt9rnoiUWVWaQ2t6Gkll96U= +cosmossdk.io/math v1.5.3/go.mod h1:uqcZv7vexnhMFJF+6zh9EWdm/+Ylyln34IvPnBauPCQ= +cosmossdk.io/schema v1.1.0 h1:mmpuz3dzouCoyjjcMcA/xHBEmMChN+EHh8EHxHRHhzE= +cosmossdk.io/schema v1.1.0/go.mod h1:Gb7pqO+tpR+jLW5qDcNOSv0KtppYs7881kfzakguhhI= +cosmossdk.io/store v1.1.2 h1:3HOZG8+CuThREKv6cn3WSohAc6yccxO3hLzwK6rBC7o= +cosmossdk.io/store v1.1.2/go.mod h1:60rAGzTHevGm592kFhiUVkNC9w7gooSEn5iUBPzHQ6A= cosmossdk.io/tools/confix v0.1.2 h1:2hoM1oFCNisd0ltSAAZw2i4ponARPmlhuNu3yy0VwI4= cosmossdk.io/tools/confix v0.1.2/go.mod h1:7XfcbK9sC/KNgVGxgLM0BrFbVcR/+6Dg7MFfpx7duYo= cosmossdk.io/x/circuit v0.1.1 h1:KPJCnLChWrxD4jLwUiuQaf5mFD/1m7Omyo7oooefBVQ= @@ -228,8 +240,8 @@ cosmossdk.io/x/feegrant v0.1.1 h1:EKFWOeo/pup0yF0svDisWWKAA9Zags6Zd0P3nRvVvw8= cosmossdk.io/x/feegrant v0.1.1/go.mod h1:2GjVVxX6G2fta8LWj7pC/ytHjryA6MHAJroBWHFNiEQ= cosmossdk.io/x/nft v0.1.0 h1:VhcsFiEK33ODN27kxKLa0r/CeFd8laBfbDBwYqCyYCM= cosmossdk.io/x/nft v0.1.0/go.mod h1:ec4j4QAO4mJZ+45jeYRnW7awLHby1JZANqe1hNZ4S3g= -cosmossdk.io/x/tx v0.13.7 h1:8WSk6B/OHJLYjiZeMKhq7DK7lHDMyK0UfDbBMxVmeOI= -cosmossdk.io/x/tx v0.13.7/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= +cosmossdk.io/x/tx v0.14.0 h1:hB3O25kIcyDW/7kMTLMaO8Ripj3yqs5imceVd6c/heA= +cosmossdk.io/x/tx v0.14.0/go.mod h1:Tn30rSRA1PRfdGB3Yz55W4Sn6EIutr9xtMKSHij+9PM= cosmossdk.io/x/upgrade v0.1.4 h1:/BWJim24QHoXde8Bc64/2BSEB6W4eTydq0X/2f8+g38= cosmossdk.io/x/upgrade v0.1.4/go.mod h1:9v0Aj+fs97O+Ztw+tG3/tp5JSlrmT7IcFhAebQHmOPo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= @@ -253,22 +265,29 @@ github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= -github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/DataDog/zstd v1.5.7 h1:ybO8RBeh29qrxIhCA9E8gKY6xfONU9T6G6aP9DTKfLE= +github.com/DataDog/zstd v1.5.7/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/DecentralCardGame/cardobject v0.5.3 h1:Ama1q0ij7iFV6ZcOtaH3n4DbmmPojlC6QR7G+Md5sPE= github.com/DecentralCardGame/cardobject v0.5.3/go.mod h1:waAoRvDCDVTBlPjEroIIfXpX2PQnJvgUssRN4Ji4VFM= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0 h1:f2Qw/Ehhimh5uO1fayV0QIW7DShEQqhtUfhYc+cBPlw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0/go.mod h1:2bIszWvQRlJVmJLiuLhukLImRjKPcYdzzsx6darK02A= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 h1:UQ0AhxogsIRZDkElkblfnwjc3IaltCm2HUMvezQaL7s= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1/go.mod h1:jyqM3eLpJ3IbIFDTKVz2rF9T/xWGW0rIriGwnz8l9Tk= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1 h1:oTX4vsorBZo/Zdum6OKPA4o7544hm6smoRv1QjpTwGo= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1/go.mod h1:0wEl7vrAD8mehJyohS9HZy+WyEOaQO2mJx86Cvh93kM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 h1:8nn+rsCvTq9axyEh382S0PFLBeaFwNsT43IrPWzctRU= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1/go.mod h1:viRWSEhtMZqz1rhwmOVKkWl6SwmVowfL9O2YR5gI2PE= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= -github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= +github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= 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.1.1 h1:TSUznLjvp/4IUP+OQ0t/4jF4QUyxIcVX8YnghZdunyA= github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= @@ -276,8 +295,8 @@ github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWX github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= 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/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= -github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= +github.com/adlio/schema v1.3.6 h1:k1/zc2jNfeiZBA5aFTRy37jlBIuCkXCm0XmvpzCKI9I= +github.com/adlio/schema v1.3.6/go.mod h1:qkxwLgPBd1FgLRHYVCmQT/rrBr3JH38J9LjmVzWNudg= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= 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= @@ -294,8 +313,8 @@ github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9 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/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.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/ashanbrown/forbidigo v1.5.1 h1:WXhzLjOlnuDYPYQo/eFlcFMi8X/kLfvWLYu6CSoebis= @@ -316,10 +335,10 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r 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/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2gVpmOtVTJZNodLdLQLn/KsJqFvXwnd/s= -github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= -github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/bgentry/speakeasy v0.2.0 h1:tgObeVOf8WAvtuAX6DhJ4xks4CFNwPDZiqzGqIHE51E= +github.com/bgentry/speakeasy v0.2.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bits-and-blooms/bitset v1.22.0 h1:Tquv9S8+SGaS3EhyA+up3FXzmkhxPGjQQCkcs2uw7w4= +github.com/bits-and-blooms/bitset v1.22.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/bkielbasa/cyclop v1.2.0 h1:7Jmnh0yL2DjKfw28p86YTd/B4lRGcNuu12sKE35sM7A= github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M= @@ -334,12 +353,10 @@ github.com/btcsuite/btcd/btcec/v2 v2.3.4 h1:3EJjcN70HCu/mwqlUsGK8GcNVyLVxFDlWurT github.com/btcsuite/btcd/btcec/v2 v2.3.4/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= github.com/btcsuite/btcd/btcutil v1.1.6 h1:zFL2+c3Lb9gEgqKNzowKUPQNb8jV7v5Oaodi/AYFd6c= github.com/btcsuite/btcd/btcutil v1.1.6/go.mod h1:9dFymx8HpuLqBnsPELrImQeTQfKBQqzqGbbV3jK55aE= -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/bufbuild/buf v1.34.0 h1:rZSVfYS5SakOe6ds9PDjbHVwOc+vBGVWNW9Ei+Rg/+c= github.com/bufbuild/buf v1.34.0/go.mod h1:Fj+KBmY2ODYD2Ld02w4LH9Y3WiRH2203IjGJbKYK5Hc= -github.com/bufbuild/protocompile v0.14.0 h1:z3DW4IvXE5G/uTOnSQn+qwQQxvhckkTWLS/0No/o7KU= -github.com/bufbuild/protocompile v0.14.0/go.mod h1:N6J1NYzkspJo3ZwyL4Xjvli86XOj1xq4qAasUFxGups= +github.com/bufbuild/protocompile v0.14.1 h1:iA73zAf/fyljNjQKwYzUHD6AD4R8KMasmwa/FBatYVw= +github.com/bufbuild/protocompile v0.14.1/go.mod h1:ppVdAIhbr2H8asPk6k4pY7t9zB1OU5DoEw9xY/FUi1c= github.com/bufbuild/protoplugin v0.0.0-20240323223605-e2735f6c31ee h1:E6ET8YUcYJ1lAe6ctR3as7yqzW2BNItDFnaB5zQq/8M= github.com/bufbuild/protoplugin v0.0.0-20240323223605-e2735f6c31ee/go.mod h1:HjGFxsck9RObrTJp2hXQZfWhPgZqnR6sR1U5fCA/Kus= github.com/bufbuild/protovalidate-go v0.6.2 h1:U/V3CGF0kPlR12v41rjO4DrYZtLcS4ZONLmWN+rJVCQ= @@ -348,6 +365,11 @@ github.com/bufbuild/protoyaml-go v0.1.9 h1:anV5UtF1Mlvkkgp4NWA6U/zOnJFng8Orq4Vf3 github.com/bufbuild/protoyaml-go v0.1.9/go.mod h1:KCBItkvZOK/zwGueLdH1Wx1RLyFn5rCH7YjQrdty2Wc= github.com/butuzov/ireturn v0.1.1 h1:QvrO2QF2+/Cx1WA/vETCIYBKtRjc30vesdoPUNo1EbY= github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= +github.com/bytedance/sonic v1.13.2 h1:8/H1FempDZqC4VqjptGo14QQlJx8VdZJegxs6wwfqpQ= +github.com/bytedance/sonic v1.13.2/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4= +github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= +github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY= +github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -355,7 +377,6 @@ github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -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/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -382,6 +403,9 @@ github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6D github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= 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/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCyP4= +github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= +github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY= 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= @@ -391,48 +415,48 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH 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-20250121191232-2f005788dc42 h1:Om6kYQYDUk5wWbT0t0q6pvyM49i9XZAv9dDrkDA7gjk= +github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= 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 v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= -github.com/cockroachdb/errors v1.11.3 h1:5bA+k2Y6r+oz/6Z/RFlNeVCesGARKuC6YymtcDrbC/I= -github.com/cockroachdb/errors v1.11.3/go.mod h1:m4UIW4CDjx+R5cybPsNrRbreomiFqt8o1h1wUVazSd8= +github.com/cockroachdb/errors v1.12.0 h1:d7oCs6vuIMUQRVbi6jWWWEJZahLCfJpnJSVobd1/sUo= +github.com/cockroachdb/errors v1.12.0/go.mod h1:SvzfYNNBshAVbZ8wzNc/UPK3w1vf0dKDUP41ucAIf7g= github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce h1:giXvy4KSc/6g/esnpM7Geqxka4WSqI1SZc7sMJFd3y4= github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce/go.mod h1:9/y3cnZ5GKakj/H4y9r9GTjCvAFta7KLgSHPJJYc52M= -github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= -github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= -github.com/cockroachdb/pebble v1.1.2 h1:CUh2IPtR4swHlEj48Rhfzw6l/d0qA31fItcIszQVIsA= -github.com/cockroachdb/pebble v1.1.2/go.mod h1:4exszw1r40423ZsmkG/09AFEG83I0uDgfujJdbL6kYU= -github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= -github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 h1:ASDL+UJcILMqgNeV5jiqR4j+sTuvQNHdf2chuKj1M5k= +github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506/go.mod h1:Mw7HqKr2kdtu6aYGn3tPmAftiP3QPX63LdK/zcariIo= +github.com/cockroachdb/pebble v1.1.5 h1:5AAWCBWbat0uE0blr8qzufZP5tBjkRyy/jWe1QWLnvw= +github.com/cockroachdb/pebble v1.1.5/go.mod h1:17wO9el1YEigxkP/YtV8NtCivQDgoCyBg5c4VR/eOWo= +github.com/cockroachdb/redact v1.1.6 h1:zXJBwDZ84xJNlHl1rMyCojqyIxv+7YUpQiJLQ7n4314= +github.com/cockroachdb/redact v1.1.6/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/cometbft/cometbft v0.38.12 h1:OWsLZN2KcSSFe8bet9xCn07VwhBnavPea3VyPnNq1bg= -github.com/cometbft/cometbft v0.38.12/go.mod h1:GPHp3/pehPqgX1930HmK1BpBLZPxB75v/dZg8Viwy+o= -github.com/cometbft/cometbft-db v0.11.0 h1:M3Lscmpogx5NTbb1EGyGDaFRdsoLWrUWimFEyf7jej8= -github.com/cometbft/cometbft-db v0.11.0/go.mod h1:GDPJAC/iFHNjmZZPN8V8C1yr/eyityhi2W1hz2MGKSc= +github.com/cometbft/cometbft v0.38.17 h1:FkrQNbAjiFqXydeAO81FUzriL4Bz0abYxN/eOHrQGOk= +github.com/cometbft/cometbft v0.38.17/go.mod h1:5l0SkgeLRXi6bBfQuevXjKqML1jjfJJlvI1Ulp02/o4= +github.com/cometbft/cometbft-db v0.14.1 h1:SxoamPghqICBAIcGpleHbmoPqy+crij/++eZz3DlerQ= +github.com/cometbft/cometbft-db v0.14.1/go.mod h1:KHP1YghilyGV/xjD5DP3+2hyigWx0WTp9X+0Gnx0RxQ= 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/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/stargz-snapshotter/estargz v0.15.1 h1:eXJjw9RbkLFgioVaTG+G/ZW/0kEe2oEKCdS/ZxIyoCU= github.com/containerd/stargz-snapshotter/estargz v0.15.1/go.mod h1:gr2RNwukQ/S9Nv33Lt6UC7xEx58C+LHRdoqbEKjz1Kk= -github.com/coreos/etcd v3.3.10+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-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= 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/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= -github.com/cosmos/cosmos-db v1.1.0 h1:KLHNVQ73h7vawXTpj9UJ7ZR2IXv51tsEHkQJJ9EBDzI= -github.com/cosmos/cosmos-db v1.1.0/go.mod h1:t7c4A6cfGdpUwwVxrQ0gQLeRQqGUBJu0yvE4F/26REg= +github.com/cosmos/cosmos-db v1.1.1 h1:FezFSU37AlBC8S98NlSagL76oqBRWq/prTPvFcEJNCM= +github.com/cosmos/cosmos-db v1.1.1/go.mod h1:AghjcIPqdhSLP/2Z0yha5xPH3nLnskz81pBx3tcVSAw= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.50.11 h1:LxR1aAc8kixdrs3itO+3a44sFoc+vjxVAOyPFx22yjk= -github.com/cosmos/cosmos-sdk v0.50.11/go.mod h1:gt14Meok2IDCjbDtjwkbUcgVNEpUBDN/4hg9cCUtLgw= +github.com/cosmos/cosmos-sdk v0.53.3 h1:GbDJNUP9OD0gGDVnjecZVZr0ZReD1BtIIxmtgrAsWiw= +github.com/cosmos/cosmos-sdk v0.53.3/go.mod h1:90S054hIbadFB1MlXVZVC5w0QbKfd1P4b79zT+vvJxw= 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/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= @@ -448,12 +472,11 @@ github.com/cosmos/ibc-go/v8 v8.5.1 h1:3JleEMKBjRKa3FeTKt4fjg22za/qygLBo7mDkoYTNB github.com/cosmos/ibc-go/v8 v8.5.1/go.mod h1:P5hkAvq0Qbg0h18uLxDVA9q1kOJ0l36htMsskiNwXbo= github.com/cosmos/ics23/go v0.11.0 h1:jk5skjT0TqX5e5QJbEnwXIS2yI2vnmLOgpQPeM5RtnU= github.com/cosmos/ics23/go v0.11.0/go.mod h1:A8OjxPE67hHST4Icw94hOxxFEJMBG031xIGF/JHNIY0= -github.com/cosmos/ledger-cosmos-go v0.13.3 h1:7ehuBGuyIytsXbd4MP43mLeoN2LTOEnk5nvue4rK+yM= -github.com/cosmos/ledger-cosmos-go v0.13.3/go.mod h1:HENcEP+VtahZFw38HZ3+LS3Iv5XV6svsnkk9vdJtLr8= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cosmos/ledger-cosmos-go v0.14.0 h1:WfCHricT3rPbkPSVKRH+L4fQGKYHuGOK9Edpel8TYpE= +github.com/cosmos/ledger-cosmos-go v0.14.0/go.mod h1:E07xCWSBl3mTGofZ2QnL4cIUzMbbGVyik84QYKbX3RA= 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.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= -github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0= +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creachadair/atomicfile v0.3.1 h1:yQORkHjSYySh/tv5th1dkKcn02NEW5JleB84sjt+W4Q= github.com/creachadair/atomicfile v0.3.1/go.mod h1:mwfrkRxFKwpNAflYZzytbSwxvbK6fdGRRlp0KEQc0qU= github.com/creachadair/tomledit v0.0.24 h1:5Xjr25R2esu1rKCbQEmjZYlrhFkDspoAbAKb6QKQDhQ= @@ -472,17 +495,16 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= -github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= +github.com/decred/dcrd/crypto/blake256 v1.1.0 h1:zPMNGQCm0g4QTY27fOCorQW7EryeQ/U0x++OzVrdms8= +github.com/decred/dcrd/crypto/blake256 v1.1.0/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 h1:NMZiJj8QnKe1LgsbDayM4UoHwbvwDRwnI3hwNaAHRnc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod h1:ZXNYxsqcloTdSy/rNShjYzMhyjf0LaoftYK0p+A3h40= github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU= github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= 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.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/badger/v4 v4.2.0 h1:kJrlajbXXL9DFTNuhhu9yCx7JJa4qpYWxtE8BzuWsEs= +github.com/dgraph-io/badger/v4 v4.2.0/go.mod h1:qfCqhPoWDFJRx1gp5QwwyGo8xk1lbHUxvK9nK0OGAak= github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= @@ -525,9 +547,15 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m 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.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.13.4 h1:zEqyPVyku6IvWCFwux4x9RxkLOMUL+1vC9xUFv5l2/M= +github.com/envoyproxy/go-control-plane v0.13.4/go.mod h1:kDfuBlDVsSj2MjrLEtRWtHlsWIFcGyB2RMO44Dc5GZA= +github.com/envoyproxy/go-control-plane/envoy v1.32.4 h1:jb83lalDRZSpPWW2Z7Mck/8kXZ5CQAFYVjQcdVIr83A= +github.com/envoyproxy/go-control-plane/envoy v1.32.4/go.mod h1:Gzjc5k8JcJswLjAx1Zm+wSYE20UrLtt7JZMWiWQXQEw= +github.com/envoyproxy/go-control-plane/ratelimit v0.1.0 h1:/G9QYbddjL25KvtKTv3an9lx6VBE2cnb8wp1vEGNYGI= +github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= -github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= +github.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8= +github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= @@ -555,12 +583,12 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= 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.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= -github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= -github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= -github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= +github.com/getsentry/sentry-go v0.32.0 h1:YKs+//QmwE3DcYtfKRH8/KyOOF/I6Qnx7qYGNHCGmCY= +github.com/getsentry/sentry-go v0.32.0/go.mod h1:CYNcMMz73YigoHljQRG+qPF+eMq8gG72XcGN/p71BAY= 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 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= @@ -576,11 +604,13 @@ github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3Bop 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-jose/go-jose/v4 v4.0.4 h1:VsjPI33J0SB9vQM6PLmNjoHqMQNGPiZ0rHL7Ni7Q6/E= +github.com/go-jose/go-jose/v4 v4.0.4/go.mod h1:NKb5HO1EZccyMpiZNbdUw/14tiXNyUJh188dfnMCAfc= 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/kit v0.13.0 h1:OoneCcHKHQ03LfBpoQCUfCluwd2Vt3ohz+kvbJneZAU= +github.com/go-kit/kit v0.13.0/go.mod h1:phqEHMMUbyrCFCTgH48JueqrM3md2HcAZ8N3XE4FKDg= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= 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= @@ -595,15 +625,12 @@ github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ4 github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= 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/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= -github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= +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/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= -github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +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-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= -github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8= @@ -624,6 +651,8 @@ github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQi github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ= github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus= github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U= github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= @@ -655,8 +684,8 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= -github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.4 h1:CNNw5U8lSiiBk7druxtSHHTsRWcxKoac6kZKm2peBBc= +github.com/golang/glog v1.2.4/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/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= @@ -723,6 +752,8 @@ github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= github.com/google/cel-go v0.20.1 h1:nDx9r8S3L4pE61eDdt8igGj8rf5kjYR3ILxWIpWNi84= github.com/google/cel-go v0.20.1/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u4dOYLg= +github.com/google/flatbuffers v1.12.1 h1:MVlul7pQNoDzWRLTw5imwYsl+usrS1TXG2H4jg6ImGw= +github.com/google/flatbuffers v1.12.1/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= @@ -738,8 +769,8 @@ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ 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/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/go-containerregistry v0.19.2 h1:TannFKE1QSajsP6hPWb5oJNgKe1IKjHukIKDUmvsV6w= github.com/google/go-containerregistry v0.19.2/go.mod h1:YCMFNQeeXeLF+dnhhWkqDItx/JSkH01j1Kis4PsjzFI= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= @@ -774,8 +805,8 @@ github.com/google/pprof v0.0.0-20240227163752-401108e1b7e7/go.mod h1:czg5+yv1E0Z github.com/google/pprof v0.0.0-20240618054019-d3b898a103f8 h1:ASJ/LAqdCHOyMYI+dwNxn7Rd8FscNkMyTr1KZU1JI/M= github.com/google/pprof v0.0.0-20240618054019-d3b898a103f8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= -github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM= +github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA= github.com/google/uuid v1.0.0/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.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -784,8 +815,8 @@ github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ 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.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= -github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= +github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= 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= @@ -795,8 +826,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 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.12.5 h1:8gw9KZK8TiVKB6q3zHY3SBzLnrGp6HQjyfYBYGmXdxA= -github.com/googleapis/gax-go/v2 v2.12.5/go.mod h1:BUDKcWo+RaKq5SC9vVYL0wLADa3VcfswbOMMRmB9H3E= +github.com/googleapis/gax-go/v2 v2.14.1 h1:hb0FFeiPaQskmvakKu5EbCbpntQn48jyHuvrkurSS/Q= +github.com/googleapis/gax-go/v2 v2.14.1/go.mod h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEPqouaLeN2IUxoA= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28 h1:9alfqbrhuD+9fLZ4iaAVwhlp5PEhmnBt7yvK2Oy5C1U= @@ -847,19 +878,19 @@ github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9n github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-getter v1.7.4 h1:3yQjWuxICvSpYwqSayAdKRFcvBl1y/vogCxczWSmix0= github.com/hashicorp/go-getter v1.7.4/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= -github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= -github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= +github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= 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-metrics v0.5.3 h1:M5uADWMOGCTUNU1YuC4hfknOeHNaX54LDm4oYSucoNE= -github.com/hashicorp/go-metrics v0.5.3/go.mod h1:KEjodfebIOuBYSAe/bHTm+HChmKSxAOXPBieMLYozDE= +github.com/hashicorp/go-metrics v0.5.4 h1:8mmPiIJkTPPEbAiV97IxdAGNdRdaWwVap1BU6elejKY= +github.com/hashicorp/go-metrics v0.5.4/go.mod h1:CG5yz4NZ/AI/aQt9Ucm/vdBnbh7fvmv4lxZ350i+QQI= 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.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-plugin v1.5.2 h1:aWv8eimFqWlsEiMrYZdPYl+FdHaBJSN4AWwGWfT1G2Y= -github.com/hashicorp/go-plugin v1.5.2/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= +github.com/hashicorp/go-plugin v1.6.3 h1:xgHB+ZUSYeuJi96WtxEjzi23uh7YQpznjGh0U0UUrwg= +github.com/hashicorp/go-plugin v1.6.3/go.mod h1:MRobyh+Wc/nYy1V4KAXUiYfzxoYhs7V1mlH1Z7iY2h0= 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-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= @@ -881,23 +912,21 @@ github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iP github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -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/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= -github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= -github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= -github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= +github.com/hashicorp/yamux v0.1.2 h1:XtB8kyFOyHXYVFnwT5C3+Bdo8gArse7j2AQ0DA0Uey8= +github.com/hashicorp/yamux v0.1.2/go.mod h1:C+zze2n6e/7wshOZep2A70/aQU6QBRWJO/G6FT1wIns= +github.com/hdevalence/ed25519consensus v0.2.0 h1:37ICyZqdyj0lAZ8P4D1d1id3HqbbG1N3iBb1Tb4rdcU= +github.com/hdevalence/ed25519consensus v0.2.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= -github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= -github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= +github.com/huandu/skiplist v1.2.1 h1:dTi93MgjwErA/8idWTzIw4Y1kZsMWx35fmI2c8Rij7w= +github.com/huandu/skiplist v1.2.1/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/iancoleman/orderedmap v0.2.0 h1:sq1N/TFpYH++aViPcaKjys3bDClUEU7s5B+z6jq8pNA= github.com/iancoleman/orderedmap v0.2.0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA= @@ -917,8 +946,8 @@ github.com/jdx/go-netrc v1.0.0 h1:QbLMLyCZGj0NA8glAhxUpf1zDg6cxnWgMBbjq40W0gQ= github.com/jdx/go-netrc v1.0.0/go.mod h1:Gh9eFQJnoTNIRHXl2j5bJXA1u84hQWJWgGh569zF3v8= github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= -github.com/jhump/protoreflect v1.16.0 h1:54fZg+49widqXYQ0b+usAFHbMkBGR4PpXrsHc8+TBDg= -github.com/jhump/protoreflect v1.16.0/go.mod h1:oYPd7nPvcBw/5wlDfm/AVmU9zH9BgqGCI469pGxfj/8= +github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94= +github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8= github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= @@ -961,12 +990,15 @@ github.com/kkHAIKE/contextcheck v1.1.4 h1:B6zAaLhOEEcjvUgIYEqystmnFk1Oemn8bvJhbt github.com/kkHAIKE/contextcheck v1.1.4/go.mod h1:1+i/gWqokIa+dm31mqGLZhZJ7Uh44DJGZVmr6QRBNJg= 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.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= +github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE= +github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= 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/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -990,13 +1022,12 @@ github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdB github.com/ldez/tagliatelle v0.4.0 h1:sylp7d9kh6AdXN2DpVGHBRb5guTVAgOxqNGhbqc4b1c= github.com/ldez/tagliatelle v0.4.0/go.mod h1:mNtTfrHy2haaBAw+VT7IBV6VXBThS7TCreYWbBcJ87I= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= +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/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= -github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/leonklingele/grouper v1.1.1 h1:suWXRU57D4/Enn6pXR0QVqqWWrnJ9Osrz+5rjt8ivzU= github.com/leonklingele/grouper v1.1.1/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= -github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= -github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= +github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= 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/linxGnu/grocksdb v1.8.14 h1:HTgyYalNwBSG/1qCQUIott44wU5b2Y9Kr3z7SK5OfGQ= @@ -1004,9 +1035,8 @@ github.com/linxGnu/grocksdb v1.8.14/go.mod h1:QYiYypR2d4v63Wj1adOOfzglnoII0gLj3P github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= 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.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= -github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8SYxI99mE= +github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= @@ -1021,8 +1051,9 @@ github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwM github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= 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-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= 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.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= @@ -1038,11 +1069,13 @@ github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= +github.com/mdp/qrterminal/v3 v3.2.1 h1:6+yQjiiOsSuXT5n9/m60E54vdgFsw0zhADHhHLrFet4= +github.com/mdp/qrterminal/v3 v3.2.1/go.mod h1:jOTmXvnBsMy5xqLniO0R++Jmjs2sTm9dFSuQ5kpz/SU= github.com/mgechev/revive v1.3.1 h1:OlQkcH40IB2cGuprTPcjB0iIUddgVZgGmDX3IAMR8D4= github.com/mgechev/revive v1.3.1/go.mod h1:YlD6TTWl2B8A103R9KWJSPVI9DrEf+oqr15q21Ld+5I= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -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/minio/highwayhash v1.0.3 h1:kbnuUMoHYyVl7szWjSxJnxw11k2U709jqFPPmIUyD6Q= +github.com/minio/highwayhash v1.0.3/go.mod h1:GGYsuwP/fPD6Y9hMiXuapVvlIUEhFhMTh0rxU3ik1LQ= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= @@ -1054,8 +1087,6 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4 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.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= @@ -1098,8 +1129,8 @@ github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3L github.com/nunnatsa/ginkgolinter v0.9.0 h1:Sm0zX5QfjJzkeCjEp+t6d3Ha0jwvoDjleP9XCsrEzOA= github.com/nunnatsa/ginkgolinter v0.9.0/go.mod h1:FHaMLURXP7qImeH6bvxWJUpyH+2tuqe5j4rW1gxJRmI= 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/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= +github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a h1:dlRvE5fWabOchtH7znfiFCcOvmIYgOeAS5ifBXBlh9Q= github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a/go.mod h1:hVoHR2EVESiICEMbg137etN/Lx+lSrHPTD39Z/uE+2s= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= @@ -1127,8 +1158,8 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= -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/runc v1.1.12 h1:BOIssBaW1La0/qbNZHXOOa71dZfZEQOzW7dqQf3phss= +github.com/opencontainers/runc v1.1.12/go.mod h1:S+lQwSfncpBha7XTy/5lBwWgm5+y5Ma/O44Ekby9FK8= 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= @@ -1151,13 +1182,11 @@ github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FI github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= 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/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= -github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= +github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 h1:jik8PHtAIsPlCRJjJzl4udgEf7hawInF9texMeO2jrU= -github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7 h1:Dx7Ovyv/SFnMFw3fD4oEoeorXc6saIiQ23LrGLth0Gw= +github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= 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/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= @@ -1172,6 +1201,8 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/profile v1.7.0 h1:hnbDkaNWPCLMO9wGLdBFTIZvzDrDfBM2072E1S9gJkA= github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -1185,9 +1216,10 @@ github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeD 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.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.20.1 h1:IMJXHOD6eARkQpxo8KkhgEVFlBNm+nkrFUyGlIu7Na8= -github.com/prometheus/client_golang v1.20.1/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= +github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= 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= @@ -1204,8 +1236,8 @@ github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB8 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.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= -github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= +github.com/prometheus/common v0.63.0 h1:YR/EIY1o3mEFP/kZCD7iDMnLPlGyuU2Gb3HIcXnA98k= +github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18= 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.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= @@ -1231,15 +1263,14 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So 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.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8= -github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0= +github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY= +github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -1248,15 +1279,13 @@ github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28 github.com/ryanrolds/sqlclosecheck v0.4.0 h1:i8SX60Rppc1wRuyQjMciLqIzV3xnoHB7/tXbr6RGYNI= github.com/ryanrolds/sqlclosecheck v0.4.0/go.mod h1:TBRRjzL31JONc9i4XMinicuo+s+E8yKZ5FN8X3G6CKQ= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= -github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= -github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= -github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= +github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo= +github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sanposhiho/wastedassign/v2 v2.0.7 h1:J+6nrY4VW+gC9xFzUc+XjPD3g3wF3je/NsJFwFK7Uxc= github.com/sanposhiho/wastedassign/v2 v2.0.7/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= -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/sasha-s/go-deadlock v0.3.5 h1:tNCOEEDG6tBqrNDOX35j/7hL5FcFViG6awUGROb2NsU= +github.com/sasha-s/go-deadlock v0.3.5/go.mod h1:bugP6EGbdGYObIlx7pUZtWqlvo8k9H6vCBBsiChJQ5U= github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw= github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= github.com/sashamelentyev/usestdlibvars v1.23.0 h1:01h+/2Kd+NblNItNeux0veSL5cBF1jbEOPrEhDzGYq0= @@ -1292,26 +1321,21 @@ github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIK github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0= github.com/sourcegraph/go-diff v0.7.0/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.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= -github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w= -github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= +github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= +github.com/spf13/cast v1.8.0 h1:gEN9K4b8Xws4EX0+a0reLmhq8moKn7ntRlQYgjPeCDk= +github.com/spf13/cast v1.8.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= 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.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= -github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= +github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= 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.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= -github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= +github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= +github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= +github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= +github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8WS0hE= +github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g= github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0= github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc= @@ -1339,8 +1363,6 @@ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1F 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.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= @@ -1371,9 +1393,10 @@ github.com/tomarrell/wrapcheck/v2 v2.8.1/go.mod h1:/n2Q3NZ4XFT50ho6Hbxg+RV1uyo2U github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw= github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= 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/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= @@ -1391,7 +1414,6 @@ github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Usc github.com/vbatts/tar-split v0.11.5 h1:3bHCTIheBm1qFTcgh9oPu+nNBtX+XJIupG/vacinCts= github.com/vbatts/tar-split v0.11.5/go.mod h1:yZbwRsSeGjusneWgA781EKej9HF8vme8okylkAeNKLk= 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/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= github.com/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o= @@ -1403,6 +1425,8 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.3.5/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/zeebo/errs v1.4.0 h1:XNdoD/RRMKP7HD0UhJnIzUy74ISdGGxURlYG8HSWSfM= +github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= github.com/zondax/hid v0.9.2 h1:WCJFnEDMiqGF64nlZz28E9qLVZ0KSJ7xpc5DLEyma2U= github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= github.com/zondax/ledger-go v0.14.3 h1:wEpJt2CEcBJ428md/5MgSLsXLBos98sBOyxNmCjfUCw= @@ -1410,8 +1434,8 @@ github.com/zondax/ledger-go v0.14.3/go.mod h1:IKKaoxupuB43g4NxeQmbLXv7T9AlQyie1U gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0= gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0= -go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ= +go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 h1:qxen9oVGzDdIRP6ejyAJc760RwW4SnVDiTYTzwnXuxo= +go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5/go.mod h1:eW0HG9/oHQhvRCvb1/pIXW4cOvtDqeQK+XSi3TnwaXY= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1426,24 +1450,28 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.33.0 h1:/FerN9bax5LoK51X/sI0SVYrjSE0/yUL7DpxW4K3FWw= -go.opentelemetry.io/otel v1.33.0/go.mod h1:SUUkR6csvUQl+yjReHu5uM3EtVV7MBm5FHKRlNx4I8I= +go.opentelemetry.io/contrib/detectors/gcp v1.34.0 h1:JRxssobiPg23otYU5SbWtQC//snGVIM3Tx6QRzlQBao= +go.opentelemetry.io/contrib/detectors/gcp v1.34.0/go.mod h1:cV4BMFcscUR/ckqLkbfQmF0PRsq8w/lMGzdbCSveBHo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 h1:Vh5HayB/0HHfOQA7Ctx69E/Y/DcQSMPpKANYVMQ7fBA= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 h1:Xw8U6u2f8DK2XAkGRFV7BBLENgnTGX9i4rQRxJf+/vs= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0/go.mod h1:6KW1Fm6R/s6Z3PGXwSJN2K4eT6wQB3vXX6CVnYX9NmM= -go.opentelemetry.io/otel/metric v1.33.0 h1:r+JOocAyeRVXD8lZpjdQjzMadVZp2M4WmQ+5WtEnklQ= -go.opentelemetry.io/otel/metric v1.33.0/go.mod h1:L9+Fyctbp6HFTddIxClbQkjtubW6O9QS3Ann/M82u6M= -go.opentelemetry.io/otel/sdk v1.33.0 h1:iax7M131HuAm9QkZotNHEfstof92xM+N8sr3uHXc2IM= -go.opentelemetry.io/otel/sdk v1.33.0/go.mod h1:A1Q5oi7/9XaMlIWzPSxLRWOI8nG3FnzHJNbiENQuihM= -go.opentelemetry.io/otel/sdk/metric v1.19.0 h1:EJoTO5qysMsYCa+w4UghwFV/ptQgqSL/8Ni+hx+8i1k= -go.opentelemetry.io/otel/sdk/metric v1.19.0/go.mod h1:XjG0jQyFJrv2PbMvwND7LwCEhsJzCzV5210euduKcKY= -go.opentelemetry.io/otel/trace v1.33.0 h1:cCJuF7LRjUFso9LPnEAHJDB2pqzp+hbO8eu1qqW2d/s= -go.opentelemetry.io/otel/trace v1.33.0/go.mod h1:uIcdVUZMpTAmz0tI1z04GoVSezK37CbGV4fr1f2nBck= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v1.4.0 h1:TA9WRvW6zMwP+Ssb6fLoUIuirti1gGbP28GcKG1jgeg= go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= @@ -1456,6 +1484,8 @@ go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0 go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/mock v0.5.2 h1:LbtPTcP8A5k9WPXj54PPPbjcI4Y6lhyOZXn+VS7wNko= +go.uber.org/mock v0.5.2/go.mod h1:wLlUxC2vVTPTaE3UD51E0BGOAElKrILxhVSDYQLld5o= 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= @@ -1467,9 +1497,10 @@ go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +golang.org/x/arch v0.15.0 h1:QtOrQd0bTUnhNVNndMpLHNWrDmYzZ2KDqSrEymqInZw= +golang.org/x/arch v0.15.0/go.mod h1:JmwW7aLIoRUKgaTzhkiEFxvcEiQGyOg9BMonBJUS7EE= 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-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -1479,8 +1510,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ= -golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/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= @@ -1492,8 +1523,8 @@ 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-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY= -golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= +golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw= +golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833 h1:jWGQJV4niP+CCmFW9ekjA9Zx8vYORzOUH2/Nl5WPuLQ= @@ -1529,8 +1560,8 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 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/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= -golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= +golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= 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= @@ -1596,8 +1627,8 @@ 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.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.31.0 h1:68CPQngjLL0r2AlUKiSxtQFKvzRVbnzLwMUn5SzcLHo= -golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= 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= @@ -1623,8 +1654,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/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.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= -golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE= +golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= 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= @@ -1640,8 +1671,8 @@ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/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.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= 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= @@ -1650,8 +1681,6 @@ golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5h 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-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1660,7 +1689,6 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w 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-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-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= @@ -1750,8 +1778,9 @@ 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/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1759,8 +1788,8 @@ 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.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU= -golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E= +golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= +golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= 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= @@ -1774,14 +1803,14 @@ 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.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= 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.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= -golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= +golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= 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= @@ -1863,8 +1892,8 @@ golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= -golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= +golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU= +golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ= 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= @@ -1873,8 +1902,6 @@ golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8T 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/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= -golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= 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= @@ -1924,8 +1951,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ 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.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.186.0 h1:n2OPp+PPXX0Axh4GuSsL5QL8xQCTb2oDwyzPnQvqUug= -google.golang.org/api v0.186.0/go.mod h1:hvRbBmgoje49RV3xqVXrmP6w93n6ehGgIVPYrGtBFFc= +google.golang.org/api v0.215.0 h1:jdYF4qnyczlEz2ReWIsosNLDuzXyvFHJtI5gcr0J7t0= +google.golang.org/api v0.215.0/go.mod h1:fta3CVtuJYOEdugLNWm6WodzOS8KdFckABwN4I40hzY= 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= @@ -2040,12 +2067,12 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw 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-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094 h1:6whtk83KtD3FkGrVb2hFXuQ+ZMbCNdakARIn/aHMmG8= -google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094/go.mod h1:Zs4wYw8z1zr6RNF4cwYb31mvN/EGaKAdQjNCF3DW6K4= -google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697 h1:pgr/4QbFyktUv9CtQ/Fq4gzEE6/Xs7iCXbktaGzLHbQ= -google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697/go.mod h1:+D9ySVjN8nY8YCVjc5O7PZDIdZporIDY3KaGfJunh88= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 h1:LWZqQOEjDyONlF1H6afSWpAL/znlREo2tHfLoe+8LMA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk= +google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= +google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a h1:SGktgSolFCo75dnHJF2yMvnns6jCmHFJ0vE4Vn2JKvQ= +google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a/go.mod h1:a77HrdMjoeKbnd2jmgcWdaS++ZLZAEq3orIOAEIKiVw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= 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.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -2087,8 +2114,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu 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.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= -google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= +google.golang.org/grpc v1.72.2 h1:TdbGzwb82ty4OusHWepvFWGLgIbNo1/SUynEN0ssqv8= +google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y= @@ -2107,8 +2134,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= 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.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= -google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= 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= @@ -2121,8 +2148,6 @@ gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qS 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.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= -gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= 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= @@ -2141,8 +2166,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/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/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= -gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= +gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= +gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA= 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= @@ -2163,9 +2188,12 @@ mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d h1:3rvTIIM22r9pvXk+q3swxUQAQ mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d/go.mod h1:IeHQjmn6TOD+e4Z3RFiZMMsLVL+A96Nvptar8Fj71is= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= -pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= +pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk= +pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/qr v0.2.0 h1:6vBLea5/NRMVTz8V66gipeLycZMl/+UlFmk8DvqQ6WY= +rsc.io/qr v0.2.0/go.mod h1:IF+uZjkb9fqyeF/4tlBoynqmQxUoPfWEKh921coOuXs= 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= From f0050331cccebdd5c4fc7756ea1471bcb695cfe0 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Fri, 18 Jul 2025 17:04:06 +0200 Subject: [PATCH 95/99] feat(#242): gitignore deugger --- .gitignore | 1 + docs/static/openapi.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 53145bc4..373bb0c1 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ vue/dist release/ .idea/ .vscode/ +.zed/ .DS_Store *.dot *.log diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 2bab2592..bd77af82 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.auth.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the x/auth module\nparameters. The authority defaults to the x/gov module account.","operationId":"UpgradeMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","operationId":"UpgradeMsg_Exec","parameters":[{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Grant":{"post":{"tags":["Msg"],"summary":"Grant grants the provided authorization to the grantee on the granter's\naccount with the provided expiration time. If there is already a grant\nfor the given (granter, grantee, Authorization) triple, then the grant\nwill be overwritten.","operationId":"UpgradeMsg_Grant","parameters":[{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.authz.v1beta1.Msg/Revoke":{"post":{"tags":["Msg"],"summary":"Revoke revokes any authorization corresponding to the provided method name on the\ngranter's account that has been granted to the grantee.","operationId":"UpgradeMsg_Revoke","parameters":[{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.MsgRevokeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.autocli.v1.Query/AppOptions":{"post":{"tags":["Query"],"summary":"AppOptions returns the autocli options for all of the modules in an app.","operationId":"UpgradeQuery_AppOptions","parameters":[{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.autocli.v1.AppOptionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/MultiSend":{"post":{"tags":["Msg"],"summary":"MultiSend defines a method for sending coins from some accounts to other accounts.","operationId":"UpgradeMsg_MultiSend","parameters":[{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgMultiSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method for sending coins from one account to another account.","operationId":"UpgradeMsg_Send","parameters":[{"description":"MsgSend represents a message to send coins from one account to another.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/SetSendEnabled":{"post":{"tags":["Msg"],"summary":"SetSendEnabled is a governance operation for setting the SendEnabled flag\non any number of Denoms. Only the entries to add or update should be\nincluded. Entries that already exist in the store, but that aren't\nincluded in this message, will be left unchanged.","operationId":"UpgradeMsg_SetSendEnabled","parameters":[{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabled"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgSetSendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.bank.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/bank module parameters.\nThe authority is defined in the keeper.","operationId":"UpgradeMsg_UpdateParamsMixin17","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.benchmark.v1.Msg/LoadTest":{"post":{"tags":["Msg"],"summary":"LoadTest defines a method for executing a sequence of load test operations.","operationId":"UpgradeMsg_LoadTest","parameters":[{"description":"MsgLoadTestOps defines a message containing a sequence of load test operations.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.benchmark.v1.MsgLoadTest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.benchmark.v1.MsgLoadTestResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/AuthorizeCircuitBreaker":{"post":{"tags":["Msg"],"summary":"AuthorizeCircuitBreaker allows a super-admin to grant (or revoke) another\naccount's circuit breaker permissions.","operationId":"UpgradeMsg_AuthorizeCircuitBreaker","parameters":[{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/ResetCircuitBreaker":{"post":{"tags":["Msg"],"summary":"ResetCircuitBreaker resumes processing of Msg's in the state machine that\nhave been been paused using TripCircuitBreaker.","operationId":"UpgradeMsg_ResetCircuitBreaker","parameters":[{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgResetCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.circuit.v1.Msg/TripCircuitBreaker":{"post":{"tags":["Msg"],"summary":"TripCircuitBreaker pauses processing of Msg's in the state machine.","operationId":"UpgradeMsg_TripCircuitBreaker","parameters":[{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreaker"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.MsgTripCircuitBreakerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.consensus.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/consensus module parameters.\nThe authority is defined in the keeper.","operationId":"UpgradeMsg_UpdateParamsMixin32","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.counter.v1.Msg/IncreaseCount":{"post":{"tags":["Msg"],"summary":"IncreaseCount increments the counter by the specified amount.","operationId":"UpgradeMsg_IncreaseCount","parameters":[{"description":"MsgIncreaseCounter defines a count Msg service counter.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.counter.v1.MsgIncreaseCounter"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.counter.v1.MsgIncreaseCountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.counter.v1.Query/GetCount":{"post":{"tags":["Query"],"summary":"GetCount queries the parameters of x/Counter module.","operationId":"UpgradeQuery_GetCount","parameters":[{"description":"QueryGetCountRequest defines the request type for querying x/mock count.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.counter.v1.QueryGetCountRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.counter.v1.QueryGetCountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/crisis module\nparameters. The authority is defined in the keeper.","operationId":"UpgradeMsg_UpdateParamsMixin36","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.crisis.v1beta1.Msg/VerifyInvariant":{"post":{"tags":["Msg"],"summary":"VerifyInvariant defines a method to verify a particular invariant.","operationId":"UpgradeMsg_VerifyInvariant","parameters":[{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.crisis.v1beta1.MsgVerifyInvariantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/CommunityPoolSpend":{"post":{"description":"WARNING: This method will fail if an external community pool is used.","tags":["Msg"],"summary":"CommunityPoolSpend defines a governance operation for sending tokens from\nthe community pool in the x/distribution module to another account, which\ncould be the governance module itself. The authority is defined in the\nkeeper.","operationId":"UpgradeMsg_CommunityPoolSpend","parameters":[{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/DepositValidatorRewardsPool":{"post":{"tags":["Msg"],"summary":"DepositValidatorRewardsPool defines a method to provide additional rewards\nto delegators to a specific validator.","operationId":"UpgradeMsg_DepositValidatorRewardsPool","parameters":[{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/FundCommunityPool":{"post":{"description":"WARNING: This method will fail if an external community pool is used.","tags":["Msg"],"summary":"FundCommunityPool defines a method to allow an account to directly\nfund the community pool.","operationId":"UpgradeMsg_FundCommunityPool","parameters":[{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/SetWithdrawAddress":{"post":{"tags":["Msg"],"summary":"SetWithdrawAddress defines a method to change the withdraw address\nfor a delegator (or validator self-delegation).","operationId":"UpgradeMsg_SetWithdrawAddress","parameters":[{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/distribution\nmodule parameters. The authority is defined in the keeper.","operationId":"UpgradeMsg_UpdateParamsMixin47","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward":{"post":{"tags":["Msg"],"summary":"WithdrawDelegatorReward defines a method to withdraw rewards of delegator\nfrom a single validator.","operationId":"UpgradeMsg_WithdrawDelegatorReward","parameters":[{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission":{"post":{"tags":["Msg"],"summary":"WithdrawValidatorCommission defines a method to withdraw the\nfull commission to the validator address.","operationId":"UpgradeMsg_WithdrawValidatorCommission","parameters":[{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.evidence.v1beta1.Msg/SubmitEvidence":{"post":{"tags":["Msg"],"summary":"SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or\ncounterfactual signing.","operationId":"UpgradeMsg_SubmitEvidence","parameters":[{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidence"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/GrantAllowance":{"post":{"tags":["Msg"],"summary":"GrantAllowance grants fee allowance to the grantee on the granter's\naccount with the provided expiration time.","operationId":"UpgradeMsg_GrantAllowance","parameters":[{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/PruneAllowances":{"post":{"tags":["Msg"],"summary":"PruneAllowances prunes expired fee allowances, currently up to 75 at a time.","operationId":"UpgradeMsg_PruneAllowances","parameters":[{"description":"MsgPruneAllowances prunes expired fee allowances.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowances"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.feegrant.v1beta1.Msg/RevokeAllowance":{"post":{"tags":["Msg"],"summary":"RevokeAllowance revokes any fee allowance of granter's account that\nhas been granted to the grantee.","operationId":"UpgradeMsg_RevokeAllowance","parameters":[{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/CancelProposal":{"post":{"tags":["Msg"],"summary":"CancelProposal defines a method to cancel governance proposal","operationId":"UpgradeMsg_CancelProposal","parameters":[{"description":"MsgCancelProposal is the Msg/CancelProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgCancelProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"UpgradeMsg_Deposit","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/ExecLegacyContent":{"post":{"tags":["Msg"],"summary":"ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal\nto execute a legacy content-based proposal.","operationId":"UpgradeMsg_ExecLegacyContent","parameters":[{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgExecLegacyContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given the messages.","operationId":"UpgradeMsg_SubmitProposal","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/gov module\nparameters. The authority is defined in the keeper.","operationId":"UpgradeMsg_UpdateParamsMixin63","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"UpgradeMsg_Vote","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1.Msg/VoteWeighted":{"post":{"tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"UpgradeMsg_VoteWeighted","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Deposit":{"post":{"tags":["Msg"],"summary":"Deposit defines a method to add deposit on a specific proposal.","operationId":"UpgradeMsg_DepositMixin67","parameters":[{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDeposit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal defines a method to create new proposal given a content.","operationId":"UpgradeMsg_SubmitProposalMixin67","parameters":[{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote defines a method to add a vote on a specific proposal.","operationId":"UpgradeMsg_VoteMixin67","parameters":[{"description":"MsgVote defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.gov.v1beta1.Msg/VoteWeighted":{"post":{"tags":["Msg"],"summary":"VoteWeighted defines a method to add a weighted vote on a specific proposal.","operationId":"UpgradeMsg_VoteWeightedMixin67","parameters":[{"description":"MsgVoteWeighted defines a message to cast a vote.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeighted"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.MsgVoteWeightedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroup":{"post":{"tags":["Msg"],"summary":"CreateGroup creates a new group with an admin account address, a list of members and some optional metadata.","operationId":"UpgradeMsg_CreateGroup","parameters":[{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupPolicy creates a new group policy using given DecisionPolicy.","operationId":"UpgradeMsg_CreateGroupPolicy","parameters":[{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/CreateGroupWithPolicy":{"post":{"tags":["Msg"],"summary":"CreateGroupWithPolicy creates a new group with policy.","operationId":"UpgradeMsg_CreateGroupWithPolicy","parameters":[{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgCreateGroupWithPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Exec":{"post":{"tags":["Msg"],"summary":"Exec executes a proposal.","operationId":"UpgradeMsg_ExecMixin71","parameters":[{"description":"MsgExec is the Msg/Exec request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExec"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgExecResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/LeaveGroup":{"post":{"tags":["Msg"],"summary":"LeaveGroup allows a group member to leave the group.","operationId":"UpgradeMsg_LeaveGroup","parameters":[{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroup"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgLeaveGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/SubmitProposal":{"post":{"tags":["Msg"],"summary":"SubmitProposal submits a new proposal.","operationId":"UpgradeMsg_SubmitProposalMixin71","parameters":[{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgSubmitProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupAdmin updates the group admin with given group id and previous admin address.","operationId":"UpgradeMsg_UpdateGroupAdmin","parameters":[{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMembers":{"post":{"tags":["Msg"],"summary":"UpdateGroupMembers updates the group members with given group id and admin address.","operationId":"UpgradeMsg_UpdateGroupMembers","parameters":[{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembers"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupMetadata updates the group metadata with given group id and admin address.","operationId":"UpgradeMsg_UpdateGroupMetadata","parameters":[{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyAdmin":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyAdmin updates a group policy admin.","operationId":"UpgradeMsg_UpdateGroupPolicyAdmin","parameters":[{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdmin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyDecisionPolicy":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyDecisionPolicy allows a group policy's decision policy to be updated.","operationId":"UpgradeMsg_UpdateGroupPolicyDecisionPolicy","parameters":[{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/UpdateGroupPolicyMetadata":{"post":{"tags":["Msg"],"summary":"UpdateGroupPolicyMetadata updates a group policy metadata.","operationId":"UpgradeMsg_UpdateGroupPolicyMetadata","parameters":[{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadata"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/Vote":{"post":{"tags":["Msg"],"summary":"Vote allows a voter to vote on a proposal.","operationId":"UpgradeMsg_VoteMixin71","parameters":[{"description":"MsgVote is the Msg/Vote request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.group.v1.Msg/WithdrawProposal":{"post":{"tags":["Msg"],"summary":"WithdrawProposal withdraws a proposal.","operationId":"UpgradeMsg_WithdrawProposal","parameters":[{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.MsgWithdrawProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.mint.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/mint module\nparameters. The authority is defaults to the x/gov module account.","operationId":"UpgradeMsg_UpdateParamsMixin76","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.nft.v1beta1.Msg/Send":{"post":{"tags":["Msg"],"summary":"Send defines a method to send a nft from one account to another account.","operationId":"UpgradeMsg_SendMixin82","parameters":[{"description":"MsgSend represents a message to send a nft from one account to another account.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.MsgSendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.protocolpool.v1.Msg/CancelContinuousFund":{"post":{"tags":["Msg"],"summary":"CancelContinuousFund defines a method for cancelling continuous fund.","operationId":"UpgradeMsg_CancelContinuousFund","parameters":[{"description":"MsgCancelContinuousFund defines a message to cancel continuous funds for a specific recipient.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgCancelContinuousFund"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgCancelContinuousFundResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.protocolpool.v1.Msg/CommunityPoolSpend":{"post":{"tags":["Msg"],"summary":"CommunityPoolSpend defines a governance operation for sending tokens from\nthe community pool in the x/protocolpool module to another account, which\ncould be the governance module itself. The authority is defined in the\nkeeper.","operationId":"UpgradeMsg_CommunityPoolSpendMixin87","parameters":[{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgCommunityPoolSpend"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgCommunityPoolSpendResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.protocolpool.v1.Msg/CreateContinuousFund":{"post":{"tags":["Msg"],"summary":"CreateContinuousFund defines a method to distribute a percentage of funds to an address continuously.\nThis ContinuousFund can be indefinite or run until a given expiry time.\nFunds come from validator block rewards from x/distribution, but may also come from\nany user who funds the ProtocolPoolEscrow module account directly through x/bank.","operationId":"UpgradeMsg_CreateContinuousFund","parameters":[{"description":"MsgCreateContinuousFund defines a message for adding continuous funds.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgCreateContinuousFund"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgCreateContinuousFundResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.protocolpool.v1.Msg/FundCommunityPool":{"post":{"tags":["Msg"],"summary":"FundCommunityPool defines a method to allow an account to directly\nfund the community pool.","operationId":"UpgradeMsg_FundCommunityPoolMixin87","parameters":[{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgFundCommunityPool"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgFundCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.protocolpool.v1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/protocolpool module parameters.\nThe authority is defined in the keeper.","operationId":"UpgradeMsg_UpdateParamsMixin87","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/Unjail":{"post":{"tags":["Msg"],"summary":"Unjail defines a method for unjailing a jailed validator, thus returning\nthem into the bonded validator set, so they can begin receiving provisions\nand rewards again.","operationId":"UpgradeMsg_Unjail","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjail"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUnjailResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.slashing.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a governance operation for updating the x/slashing module\nparameters. The authority defaults to the x/gov module account.","operationId":"UpgradeMsg_UpdateParamsMixin93","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/BeginRedelegate":{"post":{"tags":["Msg"],"summary":"BeginRedelegate defines a method for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","operationId":"UpgradeMsg_BeginRedelegate","parameters":[{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgBeginRedelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation":{"post":{"tags":["Msg"],"summary":"CancelUnbondingDelegation defines a method for performing canceling the unbonding delegation\nand delegate back to previous validator.","operationId":"UpgradeMsg_CancelUnbondingDelegation","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/CreateValidator":{"post":{"tags":["Msg"],"summary":"CreateValidator defines a method for creating a new validator.","operationId":"UpgradeMsg_CreateValidator","parameters":[{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgCreateValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Delegate":{"post":{"tags":["Msg"],"summary":"Delegate defines a method for performing a delegation of coins\nfrom a delegator to a validator.","operationId":"UpgradeMsg_Delegate","parameters":[{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgDelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/EditValidator":{"post":{"tags":["Msg"],"summary":"EditValidator defines a method for editing an existing validator.","operationId":"UpgradeMsg_EditValidator","parameters":[{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidator"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgEditValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/Undelegate":{"post":{"tags":["Msg"],"summary":"Undelegate defines a method for performing an undelegation from a\ndelegate and a validator.","operationId":"UpgradeMsg_Undelegate","parameters":[{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUndelegateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.staking.v1beta1.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines an operation for updating the x/staking module\nparameters.","operationId":"UpgradeMsg_UpdateParamsMixin98","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenCommit":{"post":{"tags":["ABCIListenerService"],"summary":"ListenCommit is the corresponding endpoint for ABCIListener.ListenCommit","operationId":"UpgradeABCIListenerService_ListenCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.store.streaming.abci.ABCIListenerService/ListenFinalizeBlock":{"post":{"tags":["ABCIListenerService"],"summary":"ListenFinalizeBlock is the corresponding endpoint for ABCIListener.ListenEndBlock","operationId":"UpgradeABCIListenerService_ListenFinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.store.streaming.abci.ListenFinalizeBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/CancelUpgrade":{"post":{"tags":["Msg"],"summary":"CancelUpgrade is a governance operation for cancelling a previously\napproved software upgrade.","operationId":"UpgradeMsg_CancelUpgrade","parameters":[{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.upgrade.v1beta1.Msg/SoftwareUpgrade":{"post":{"tags":["Msg"],"summary":"SoftwareUpgrade is a governance operation for initiating a software upgrade.","operationId":"UpgradeMsg_SoftwareUpgrade","parameters":[{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePeriodicVestingAccount":{"post":{"tags":["Msg"],"summary":"CreatePeriodicVestingAccount defines a method that enables creating a\nperiodic vesting account.","operationId":"UpgradeMsg_CreatePeriodicVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreatePermanentLockedAccount":{"post":{"tags":["Msg"],"summary":"CreatePermanentLockedAccount defines a method that enables creating a permanent\nlocked account.","operationId":"UpgradeMsg_CreatePermanentLockedAccount","parameters":[{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos.vesting.v1beta1.Msg/CreateVestingAccount":{"post":{"tags":["Msg"],"summary":"CreateVestingAccount defines a method that enables creating a vesting\naccount.","operationId":"UpgradeMsg_CreateVestingAccount","parameters":[{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccount"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/account_info/{address}":{"get":{"tags":["Query"],"summary":"AccountInfo queries account info which is common to all account types.","operationId":"UpgradeQuery_AccountInfo","parameters":[{"type":"string","description":"address is the account address string.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Accounts returns all the existing accounts.","operationId":"UpgradeQuery_Accounts","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account details based on address.","operationId":"UpgradeQuery_Account","parameters":[{"type":"string","description":"address defines the address to query for.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/address_by_id/{id}":{"get":{"tags":["Query"],"summary":"AccountAddressByID returns account address based on account number.","operationId":"UpgradeQuery_AccountAddressByID","parameters":[{"type":"string","format":"int64","description":"Deprecated, use account_id instead\n\nid is the account number of the address to be queried. This field\nshould have been an uint64 (like all account numbers), and will be\nupdated to uint64 in a future version of the auth query.","name":"id","in":"path","required":true},{"type":"string","format":"uint64","description":"account_id is the account number of the address to be queried.","name":"account_id","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryAccountAddressByIDResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32":{"get":{"tags":["Query"],"summary":"Bech32Prefix queries bech32Prefix","operationId":"UpgradeQuery_Bech32Prefix","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.Bech32PrefixResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_bytes}":{"get":{"tags":["Query"],"summary":"AddressBytesToString converts Account Address bytes to string","operationId":"UpgradeQuery_AddressBytesToString","parameters":[{"type":"string","format":"byte","name":"address_bytes","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressBytesToStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/bech32/{address_string}":{"get":{"tags":["Query"],"summary":"AddressStringToBytes converts Address string to bytes","operationId":"UpgradeQuery_AddressStringToBytes","parameters":[{"type":"string","name":"address_string","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.AddressStringToBytesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts":{"get":{"tags":["Query"],"summary":"ModuleAccounts returns all the existing module accounts.","operationId":"UpgradeQuery_ModuleAccounts","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/module_accounts/{name}":{"get":{"tags":["Query"],"summary":"ModuleAccountByName returns the module account info by module name","operationId":"UpgradeQuery_ModuleAccountByName","parameters":[{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryModuleAccountByNameResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/auth/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries all parameters.","operationId":"UpgradeQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.auth.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants":{"get":{"tags":["Query"],"summary":"Returns list of `Authorization`, granted to the grantee by the granter.","operationId":"UpgradeQuery_Grants","parameters":[{"type":"string","name":"granter","in":"query"},{"type":"string","name":"grantee","in":"query"},{"type":"string","description":"Optional, msg_type_url, when set, will query only grants matching given msg type.","name":"msg_type_url","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/grantee/{grantee}":{"get":{"tags":["Query"],"summary":"GranteeGrants returns a list of `GrantAuthorization` by grantee.","operationId":"UpgradeQuery_GranteeGrants","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranteeGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/authz/v1beta1/grants/granter/{granter}":{"get":{"tags":["Query"],"summary":"GranterGrants returns list of `GrantAuthorization`, granted by granter.","operationId":"UpgradeQuery_GranterGrants","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.authz.v1beta1.QueryGranterGrantsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"AllBalances queries the balance of all coins for a single account.","operationId":"UpgradeQuery_AllBalances","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"},{"type":"boolean","description":"resolve_denom is the flag to resolve the denom into a human-readable form from the metadata.","name":"resolve_denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryAllBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/balances/{address}/by_denom":{"get":{"tags":["Query"],"summary":"Balance queries the balance of a single coin for a single account.","operationId":"UpgradeQuery_Balance","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners/{denom}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DenomOwners queries for all account addresses that own a particular token\ndenomination.","operationId":"UpgradeQuery_DenomOwners","parameters":[{"pattern":".+","type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denom_owners_by_query":{"get":{"tags":["Query"],"summary":"DenomOwnersByQuery queries for all account addresses that own a particular token\ndenomination.","operationId":"UpgradeQuery_DenomOwnersByQuery","parameters":[{"type":"string","description":"denom defines the coin denomination to query all account holders for.","name":"denom","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata":{"get":{"tags":["Query"],"summary":"DenomsMetadata queries the client metadata for all registered coin\ndenominations.","operationId":"UpgradeQuery_DenomsMetadata","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomsMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata/{denom}":{"get":{"tags":["Query"],"summary":"DenomMetadata queries the client metadata of a given coin denomination.","operationId":"UpgradeQuery_DenomMetadata","parameters":[{"pattern":".+","type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/denoms_metadata_by_query_string":{"get":{"tags":["Query"],"summary":"DenomMetadataByQueryString queries the client metadata of a given coin denomination.","operationId":"UpgradeQuery_DenomMetadataByQueryString","parameters":[{"type":"string","description":"denom is the coin denom to query the metadata for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/bank module.","operationId":"UpgradeQuery_ParamsMixin16","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/send_enabled":{"get":{"description":"This query only returns denominations that have specific SendEnabled settings.\nAny denomination that does not have a specific setting will use the default\nparams.default_send_enabled, and will not be returned by this query.","tags":["Query"],"summary":"SendEnabled queries for SendEnabled entries.","operationId":"UpgradeQuery_SendEnabled","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"denoms is the specific denoms you want look up. Leave empty to get all entries.","name":"denoms","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySendEnabledResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"SpendableBalances queries the spendable balance of all coins for a single\naccount.","operationId":"UpgradeQuery_SpendableBalances","parameters":[{"type":"string","description":"address is the address to query spendable balances for.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/spendable_balances/{address}/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"SpendableBalanceByDenom queries the spendable balance of a single denom for\na single account.","operationId":"UpgradeQuery_SpendableBalanceByDenom","parameters":[{"type":"string","description":"address is the address to query balances for.","name":"address","in":"path","required":true},{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"TotalSupply queries the total supply of all coins.","operationId":"UpgradeQuery_TotalSupply","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QueryTotalSupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/bank/v1beta1/supply/by_denom":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"SupplyOf queries the supply of a single coin.","operationId":"UpgradeQuery_SupplyOf","parameters":[{"type":"string","description":"denom is the coin denom to query balances for.","name":"denom","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.bank.v1beta1.QuerySupplyOfResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/config":{"get":{"tags":["Service"],"summary":"Config queries for the operator configuration.","operationId":"UpgradeService_Config","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.ConfigResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/node/v1beta1/status":{"get":{"tags":["Service"],"summary":"Status queries for the node status.","operationId":"UpgradeService_Status","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.node.v1beta1.StatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/authn":{"get":{"tags":["ReflectionService"],"summary":"GetAuthnDescriptor returns information on how to authenticate transactions in the application\nNOTE: this RPC is still experimental and might be subject to breaking changes or removal in\nfuture releases of the cosmos-sdk.","operationId":"UpgradeReflectionService_GetAuthnDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/chain":{"get":{"tags":["ReflectionService"],"summary":"GetChainDescriptor returns the description of the chain","operationId":"UpgradeReflectionService_GetChainDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/codec":{"get":{"tags":["ReflectionService"],"summary":"GetCodecDescriptor returns the descriptor of the codec of the application","operationId":"UpgradeReflectionService_GetCodecDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/configuration":{"get":{"tags":["ReflectionService"],"summary":"GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application","operationId":"UpgradeReflectionService_GetConfigurationDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/query_services":{"get":{"tags":["ReflectionService"],"summary":"GetQueryServicesDescriptor returns the available gRPC queryable services of the application","operationId":"UpgradeReflectionService_GetQueryServicesDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/app_descriptor/tx_descriptor":{"get":{"tags":["ReflectionService"],"summary":"GetTxDescriptor returns information on the used transaction object and available msgs that can be used","operationId":"UpgradeReflectionService_GetTxDescriptor","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces":{"get":{"tags":["ReflectionService"],"summary":"ListAllInterfaces lists all the interfaces registered in the interface\nregistry.","operationId":"UpgradeReflectionService_ListAllInterfaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListAllInterfacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/reflection/v1beta1/interfaces/{interface_name}/implementations":{"get":{"tags":["ReflectionService"],"summary":"ListImplementations list all the concrete types that implement a given\ninterface.","operationId":"UpgradeReflectionService_ListImplementations","parameters":[{"type":"string","description":"interface_name defines the interface to query the implementations for.","name":"interface_name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.reflection.v1beta1.ListImplementationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/abci_query":{"get":{"tags":["Service"],"summary":"ABCIQuery defines a query handler that supports ABCI queries directly to the\napplication, bypassing Tendermint completely. The ABCI query must contain\na valid and supported path, including app, custom, p2p, and store.","operationId":"UpgradeService_ABCIQuery","parameters":[{"type":"string","format":"byte","name":"data","in":"query"},{"type":"string","name":"path","in":"query"},{"type":"string","format":"int64","name":"height","in":"query"},{"type":"boolean","name":"prove","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ABCIQueryResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/latest":{"get":{"tags":["Service"],"summary":"GetLatestBlock returns the latest block.","operationId":"UpgradeService_GetLatestBlock","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestBlockResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/blocks/{height}":{"get":{"tags":["Service"],"summary":"GetBlockByHeight queries block for given height.","operationId":"UpgradeService_GetBlockByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/node_info":{"get":{"tags":["Service"],"summary":"GetNodeInfo queries the current node info.","operationId":"UpgradeService_GetNodeInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetNodeInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/syncing":{"get":{"tags":["Service"],"summary":"GetSyncing queries node syncing.","operationId":"UpgradeService_GetSyncing","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetSyncingResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/latest":{"get":{"tags":["Service"],"summary":"GetLatestValidatorSet queries latest validator-set.","operationId":"UpgradeService_GetLatestValidatorSet","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/base/tendermint/v1beta1/validatorsets/{height}":{"get":{"tags":["Service"],"summary":"GetValidatorSetByHeight queries validator-set at a given height.","operationId":"UpgradeService_GetValidatorSetByHeight","parameters":[{"type":"string","format":"int64","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"UpgradeQuery_AccountsMixin28","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/accounts/{address}":{"get":{"tags":["Query"],"summary":"Account returns account permissions.","operationId":"UpgradeQuery_AccountMixin28","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.AccountResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/circuit/v1/disable_list":{"get":{"tags":["Query"],"summary":"DisabledList returns a list of disabled message urls","operationId":"UpgradeQuery_DisabledList","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.circuit.v1.DisabledListResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/consensus/v1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of x/consensus module.","operationId":"UpgradeQuery_ParamsMixin31","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.consensus.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/community_pool":{"get":{"description":"WARNING: This query will fail if an external community pool is used.","tags":["Query"],"summary":"CommunityPool queries the community pool coins.","operationId":"UpgradeQuery_CommunityPool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards":{"get":{"tags":["Query"],"summary":"DelegationTotalRewards queries the total rewards accrued by each\nvalidator.","operationId":"UpgradeQuery_DelegationTotalRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}":{"get":{"tags":["Query"],"summary":"DelegationRewards queries the total rewards accrued by a delegation.","operationId":"UpgradeQuery_DelegationRewards","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true},{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegationRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators":{"get":{"tags":["Query"],"summary":"DelegatorValidators queries the validators of a delegator.","operationId":"UpgradeQuery_DelegatorValidators","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address":{"get":{"tags":["Query"],"summary":"DelegatorWithdrawAddress queries withdraw address of a delegator.","operationId":"UpgradeQuery_DelegatorWithdrawAddress","parameters":[{"type":"string","description":"delegator_address defines the delegator address to query for.","name":"delegator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries params of the distribution module.","operationId":"UpgradeQuery_ParamsMixin46","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}":{"get":{"tags":["Query"],"summary":"ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator","operationId":"UpgradeQuery_ValidatorDistributionInfo","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/commission":{"get":{"tags":["Query"],"summary":"ValidatorCommission queries accumulated commission for a validator.","operationId":"UpgradeQuery_ValidatorCommission","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorCommissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards":{"get":{"tags":["Query"],"summary":"ValidatorOutstandingRewards queries rewards of a validator address.","operationId":"UpgradeQuery_ValidatorOutstandingRewards","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/distribution/v1beta1/validators/{validator_address}/slashes":{"get":{"tags":["Query"],"summary":"ValidatorSlashes queries slash events of a validator.","operationId":"UpgradeQuery_ValidatorSlashes","parameters":[{"type":"string","description":"validator_address defines the validator address to query for.","name":"validator_address","in":"path","required":true},{"type":"string","format":"uint64","description":"starting_height defines the optional starting height to query the slashes.","name":"starting_height","in":"query"},{"type":"string","format":"uint64","description":"starting_height defines the optional ending height to query the slashes.","name":"ending_height","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.distribution.v1beta1.QueryValidatorSlashesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/epochs/v1beta1/current_epoch":{"get":{"tags":["Query"],"summary":"CurrentEpoch provide current epoch of specified identifier","operationId":"UpgradeQuery_CurrentEpoch","parameters":[{"type":"string","name":"identifier","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.epochs.v1beta1.QueryCurrentEpochResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/epochs/v1beta1/epochs":{"get":{"tags":["Query"],"summary":"EpochInfos provide running epochInfos","operationId":"UpgradeQuery_EpochInfos","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.epochs.v1beta1.QueryEpochInfosResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence":{"get":{"tags":["Query"],"summary":"AllEvidence queries all evidence.","operationId":"UpgradeQuery_AllEvidence","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryAllEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/evidence/v1beta1/evidence/{hash}":{"get":{"tags":["Query"],"summary":"Evidence queries evidence based on evidence hash.","operationId":"UpgradeQuery_Evidence","parameters":[{"type":"string","description":"hash defines the evidence hash of the requested evidence.","name":"hash","in":"path","required":true},{"type":"string","format":"byte","description":"evidence_hash defines the hash of the requested evidence.\nDeprecated: Use hash, a HEX encoded string, instead.","name":"evidence_hash","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.evidence.v1beta1.QueryEvidenceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}":{"get":{"tags":["Query"],"summary":"Allowance returns granted allwance to the grantee by the granter.","operationId":"UpgradeQuery_Allowance","parameters":[{"type":"string","description":"granter is the address of the user granting an allowance of their funds.","name":"granter","in":"path","required":true},{"type":"string","description":"grantee is the address of the user being granted an allowance of another user's funds.","name":"grantee","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/allowances/{grantee}":{"get":{"tags":["Query"],"summary":"Allowances returns all the grants for the given grantee address.","operationId":"UpgradeQuery_Allowances","parameters":[{"type":"string","name":"grantee","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/feegrant/v1beta1/issued/{granter}":{"get":{"tags":["Query"],"summary":"AllowancesByGranter returns all the grants given by an address","operationId":"UpgradeQuery_AllowancesByGranter","parameters":[{"type":"string","name":"granter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/constitution":{"get":{"tags":["Query"],"summary":"Constitution queries the chain's constitution.","operationId":"UpgradeQuery_Constitution","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryConstitutionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"UpgradeQuery_ParamsMixin62","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"UpgradeQuery_Proposals","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"UpgradeQuery_Proposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"UpgradeQuery_Deposits","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositAddr.","operationId":"UpgradeQuery_Deposit","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"UpgradeQuery_TallyResult","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"UpgradeQuery_Votes","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"UpgradeQuery_Vote","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/params/{params_type}":{"get":{"tags":["Query"],"summary":"Params queries all parameters of the gov module.","operationId":"UpgradeQuery_ParamsMixin66","parameters":[{"type":"string","description":"params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".","name":"params_type","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals":{"get":{"tags":["Query"],"summary":"Proposals queries all proposals based on given status.","operationId":"UpgradeQuery_ProposalsMixin66","parameters":[{"enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"],"type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","description":"proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","name":"proposal_status","in":"query"},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"query"},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries proposal details based on ProposalID.","operationId":"UpgradeQuery_ProposalMixin66","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits":{"get":{"tags":["Query"],"summary":"Deposits queries all deposits of a single proposal.","operationId":"UpgradeQuery_DepositsMixin66","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}":{"get":{"tags":["Query"],"summary":"Deposit queries single deposit information based on proposalID, depositor address.","operationId":"UpgradeQuery_DepositMixin66","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"depositor defines the deposit addresses from the proposals.","name":"depositor","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryDepositResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult queries the tally of a proposal vote.","operationId":"UpgradeQuery_TallyResultMixin66","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes":{"get":{"tags":["Query"],"summary":"Votes queries votes of a given proposal.","operationId":"UpgradeQuery_VotesMixin66","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVotesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}":{"get":{"tags":["Query"],"summary":"Vote queries voted information based on proposalID, voterAddr.","operationId":"UpgradeQuery_VoteMixin66","parameters":[{"type":"string","format":"uint64","description":"proposal_id defines the unique id of the proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter defines the voter address for the proposals.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.gov.v1beta1.QueryVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_info/{group_id}":{"get":{"tags":["Query"],"summary":"GroupInfo queries group info based on group id.","operationId":"UpgradeQuery_GroupInfo","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_members/{group_id}":{"get":{"tags":["Query"],"summary":"GroupMembers queries members of a group by group id.","operationId":"UpgradeQuery_GroupMembers","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupMembersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByAdmin queries group policies by admin address.","operationId":"UpgradeQuery_GroupPoliciesByAdmin","parameters":[{"type":"string","description":"admin is the admin address of the group policy.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policies_by_group/{group_id}":{"get":{"tags":["Query"],"summary":"GroupPoliciesByGroup queries group policies by group id.","operationId":"UpgradeQuery_GroupPoliciesByGroup","parameters":[{"type":"string","format":"uint64","description":"group_id is the unique ID of the group policy's group.","name":"group_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPoliciesByGroupResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/group_policy_info/{address}":{"get":{"tags":["Query"],"summary":"GroupPolicyInfo queries group policy info based on account address of group policy.","operationId":"UpgradeQuery_GroupPolicyInfo","parameters":[{"type":"string","description":"address is the account address of the group policy.","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupPolicyInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups":{"get":{"tags":["Query"],"summary":"Groups queries all groups in state.","operationId":"UpgradeQuery_Groups","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_admin/{admin}":{"get":{"tags":["Query"],"summary":"GroupsByAdmin queries groups by admin address.","operationId":"UpgradeQuery_GroupsByAdmin","parameters":[{"type":"string","description":"admin is the account address of a group's admin.","name":"admin","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByAdminResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/groups_by_member/{address}":{"get":{"tags":["Query"],"summary":"GroupsByMember queries groups by member address.","operationId":"UpgradeQuery_GroupsByMember","parameters":[{"type":"string","description":"address is the group member address.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryGroupsByMemberResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"Proposal queries a proposal based on proposal id.","operationId":"UpgradeQuery_ProposalMixin70","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals/{proposal_id}/tally":{"get":{"tags":["Query"],"summary":"TallyResult returns the tally result of a proposal. If the proposal is\nstill in voting period, then this query computes the current tally state,\nwhich might not be final. On the other hand, if the proposal is final,\nthen it simply returns the `final_tally_result` state stored in the\nproposal itself.","operationId":"UpgradeQuery_TallyResultMixin70","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique id of a proposal.","name":"proposal_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryTallyResultResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/proposals_by_group_policy/{address}":{"get":{"tags":["Query"],"summary":"ProposalsByGroupPolicy queries proposals based on account address of group policy.","operationId":"UpgradeQuery_ProposalsByGroupPolicy","parameters":[{"type":"string","description":"address is the account address of the group policy related to proposals.","name":"address","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryProposalsByGroupPolicyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/vote_by_proposal_voter/{proposal_id}/{voter}":{"get":{"tags":["Query"],"summary":"VoteByProposalVoter queries a vote by proposal id and voter.","operationId":"UpgradeQuery_VoteByProposalVoter","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVoteByProposalVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_proposal/{proposal_id}":{"get":{"tags":["Query"],"summary":"VotesByProposal queries a vote by proposal id.","operationId":"UpgradeQuery_VotesByProposal","parameters":[{"type":"string","format":"uint64","description":"proposal_id is the unique ID of a proposal.","name":"proposal_id","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByProposalResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/group/v1/votes_by_voter/{voter}":{"get":{"tags":["Query"],"summary":"VotesByVoter queries a vote by voter.","operationId":"UpgradeQuery_VotesByVoter","parameters":[{"type":"string","description":"voter is a proposal voter account address.","name":"voter","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.group.v1.QueryVotesByVoterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/annual_provisions":{"get":{"tags":["Query"],"summary":"AnnualProvisions current minting annual provisions value.","operationId":"UpgradeQuery_AnnualProvisions","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryAnnualProvisionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/inflation":{"get":{"tags":["Query"],"summary":"Inflation returns the current minting inflation value.","operationId":"UpgradeQuery_Inflation","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryInflationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/mint/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params returns the total set of minting parameters.","operationId":"UpgradeQuery_ParamsMixin75","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.mint.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/balance/{owner}/{class_id}":{"get":{"tags":["Query"],"summary":"Balance queries the number of NFTs of a given class owned by the owner, same as balanceOf in ERC721","operationId":"UpgradeQuery_BalanceMixin81","parameters":[{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"path","required":true},{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryBalanceResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes":{"get":{"tags":["Query"],"summary":"Classes queries all NFT classes","operationId":"UpgradeQuery_Classes","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/classes/{class_id}":{"get":{"tags":["Query"],"summary":"Class queries an NFT class based on its id","operationId":"UpgradeQuery_Class","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryClassResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts":{"get":{"tags":["Query"],"summary":"NFTs queries all NFTs of a given class or owner,choose at least one of the two, similar to tokenByIndex in\nERC721Enumerable","operationId":"UpgradeQuery_NFTs","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"query"},{"type":"string","description":"owner is the owner address of the nft","name":"owner","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/nfts/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"NFT queries an NFT based on its class and id.","operationId":"UpgradeQuery_NFT","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryNFTResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/owner/{class_id}/{id}":{"get":{"tags":["Query"],"summary":"Owner queries the owner of the NFT based on its class and id, same as ownerOf in ERC721","operationId":"UpgradeQuery_Owner","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true},{"type":"string","description":"id is a unique identifier of the NFT","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QueryOwnerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/nft/v1beta1/supply/{class_id}":{"get":{"tags":["Query"],"summary":"Supply queries the number of NFTs from the given class, same as totalSupply of ERC721.","operationId":"UpgradeQuery_Supply","parameters":[{"type":"string","description":"class_id associated with the nft","name":"class_id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.nft.v1beta1.QuerySupplyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries a specific parameter of a module, given its subspace and\nkey.","operationId":"UpgradeQuery_ParamsMixin84","parameters":[{"type":"string","description":"subspace defines the module to query the parameter for.","name":"subspace","in":"query"},{"type":"string","description":"key defines the key of the parameter in the subspace.","name":"key","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/params/v1beta1/subspaces":{"get":{"tags":["Query"],"summary":"Subspaces queries for all registered subspaces and all keys for a subspace.","operationId":"UpgradeQuery_Subspaces","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.params.v1beta1.QuerySubspacesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/protocolpool/v1/community_pool":{"get":{"tags":["Query"],"summary":"CommunityPool queries the community pool coins.","operationId":"UpgradeQuery_CommunityPoolMixin86","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.QueryCommunityPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/protocolpool/v1/continuous_funds":{"get":{"tags":["Query"],"summary":"ContinuousFunds queries all continuous funds in the store.","operationId":"UpgradeQuery_ContinuousFunds","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.QueryContinuousFundsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/protocolpool/v1/continuous_funds/{recipient}":{"get":{"tags":["Query"],"summary":"ContinuousFund queries a continuous fund by the recipient is is associated with.","operationId":"UpgradeQuery_ContinuousFund","parameters":[{"type":"string","description":"recipient is the recipient address to query unclaimed budget amount for.","name":"recipient","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.QueryContinuousFundResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/protocolpool/v1/params":{"get":{"tags":["Query"],"summary":"Params returns the total set of x/protocolpool parameters.","operationId":"UpgradeQuery_ParamsMixin86","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.protocolpool.v1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/params":{"get":{"tags":["Query"],"summary":"Params queries the parameters of slashing module","operationId":"UpgradeQuery_ParamsMixin91","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos":{"get":{"tags":["Query"],"summary":"SigningInfos queries signing info of all validators","operationId":"UpgradeQuery_SigningInfos","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfosResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/slashing/v1beta1/signing_infos/{cons_address}":{"get":{"tags":["Query"],"summary":"SigningInfo queries the signing info of given cons address","operationId":"UpgradeQuery_SigningInfo","parameters":[{"type":"string","description":"cons_address is the address to query signing info of","name":"cons_address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.slashing.v1beta1.QuerySigningInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegations/{delegator_addr}":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorDelegations queries all delegations of a given delegator address.","operationId":"UpgradeQuery_DelegatorDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Redelegations queries redelegations of given address.","operationId":"UpgradeQuery_Redelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"src_validator_addr defines the validator address to redelegate from.","name":"src_validator_addr","in":"query"},{"type":"string","description":"dst_validator_addr defines the validator address to redelegate to.","name":"dst_validator_addr","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryRedelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorUnbondingDelegations queries all unbonding delegations of a given\ndelegator address.","operationId":"UpgradeQuery_DelegatorUnbondingDelegations","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"DelegatorValidators queries all validators info for given delegator\naddress.","operationId":"UpgradeQuery_DelegatorValidatorsMixin96","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"DelegatorValidator queries validator info for given delegator validator\npair.","operationId":"UpgradeQuery_DelegatorValidator","parameters":[{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true},{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/historical_info/{height}":{"get":{"tags":["Query"],"summary":"HistoricalInfo queries the historical info for given height.","operationId":"UpgradeQuery_HistoricalInfo","parameters":[{"type":"string","format":"int64","description":"height defines at which height to query the historical info.","name":"height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryHistoricalInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/params":{"get":{"tags":["Query"],"summary":"Parameters queries the staking parameters.","operationId":"UpgradeQuery_ParamsMixin96","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/pool":{"get":{"tags":["Query"],"summary":"Pool queries the pool info.","operationId":"UpgradeQuery_Pool","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryPoolResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"Validators queries all validators that match the given status.","operationId":"UpgradeQuery_Validators","parameters":[{"type":"string","description":"status enables to query for validators matching a given status.","name":"status","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}":{"get":{"tags":["Query"],"summary":"Validator queries validator info for given validator address.","operationId":"UpgradeQuery_Validator","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorDelegations queries delegate info for given validator.","operationId":"UpgradeQuery_ValidatorDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}":{"get":{"tags":["Query"],"summary":"Delegation queries delegate info for given validator delegator pair.","operationId":"UpgradeQuery_Delegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation":{"get":{"tags":["Query"],"summary":"UnbondingDelegation queries unbonding info for given validator delegator\npair.","operationId":"UpgradeQuery_UnbondingDelegation","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","description":"delegator_addr defines the delegator address to query for.","name":"delegator_addr","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryUnbondingDelegationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations":{"get":{"description":"When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.","tags":["Query"],"summary":"ValidatorUnbondingDelegations queries unbonding delegations of a validator.","operationId":"UpgradeQuery_ValidatorUnbondingDelegations","parameters":[{"type":"string","description":"validator_addr defines the validator address to query for.","name":"validator_addr","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode":{"post":{"tags":["Service"],"summary":"TxDecode decodes the transaction.","operationId":"UpgradeService_TxDecode","parameters":[{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/decode/amino":{"post":{"tags":["Service"],"summary":"TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON.","operationId":"UpgradeService_TxDecodeAmino","parameters":[{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxDecodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode":{"post":{"tags":["Service"],"summary":"TxEncode encodes the transaction.","operationId":"UpgradeService_TxEncode","parameters":[{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/encode/amino":{"post":{"tags":["Service"],"summary":"TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes.","operationId":"UpgradeService_TxEncodeAmino","parameters":[{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.TxEncodeAminoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/simulate":{"post":{"tags":["Service"],"summary":"Simulate simulates executing a transaction for estimating gas usage.","operationId":"UpgradeService_Simulate","parameters":[{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.SimulateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs":{"get":{"tags":["Service"],"summary":"GetTxsEvent fetches txs by event.","operationId":"UpgradeService_GetTxsEvent","parameters":[{"type":"array","items":{"type":"string"},"collectionFormat":"multi","description":"events is the list of transaction event type.\nDeprecated post v0.47.x: use query instead, which should contain a valid\nevents query.","name":"events","in":"query"},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"},{"enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"],"type":"string","default":"ORDER_BY_UNSPECIFIED","description":" - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","name":"order_by","in":"query"},{"type":"string","format":"uint64","description":"page is the page number to query, starts at 1. If not provided, will\ndefault to first page.","name":"page","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"limit","in":"query"},{"type":"string","description":"query defines the transaction event query that is proxied to Tendermint's\nTxSearch RPC method. The query must be valid.","name":"query","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}},"post":{"tags":["Service"],"summary":"BroadcastTx broadcast transaction.","operationId":"UpgradeService_BroadcastTx","parameters":[{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/block/{height}":{"get":{"tags":["Service"],"summary":"GetBlockWithTxs fetches a block with decoded txs.","operationId":"UpgradeService_GetBlockWithTxs","parameters":[{"type":"string","format":"int64","description":"height is the height of the block to query.","name":"height","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetBlockWithTxsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/tx/v1beta1/txs/{hash}":{"get":{"tags":["Service"],"summary":"GetTx fetches a tx by hash.","operationId":"UpgradeService_GetTx","parameters":[{"type":"string","description":"hash is the tx hash to query, encoded as a hex string.","name":"hash","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.tx.v1beta1.GetTxResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/applied_plan/{name}":{"get":{"tags":["Query"],"summary":"AppliedPlan queries a previously applied upgrade plan by its name.","operationId":"UpgradeQuery_AppliedPlan","parameters":[{"type":"string","description":"name is the name of the applied plan to query for.","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAppliedPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/authority":{"get":{"tags":["Query"],"summary":"Returns the account with authority to conduct upgrades","operationId":"UpgradeQuery_Authority","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryAuthorityResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/current_plan":{"get":{"tags":["Query"],"summary":"CurrentPlan queries the current upgrade plan.","operationId":"UpgradeQuery_CurrentPlan","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryCurrentPlanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/module_versions":{"get":{"tags":["Query"],"summary":"ModuleVersions queries the list of module versions from state.","operationId":"UpgradeQuery_ModuleVersions","parameters":[{"type":"string","description":"module_name is a field to query a specific module\nconsensus version from state. Leaving this empty will\nfetch the full list of module versions from state","name":"module_name","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryModuleVersionsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}":{"get":{"tags":["Query"],"summary":"UpgradedConsensusState queries the consensus state that will serve\nas a trusted kernel for the next version of this chain. It will only be\nstored at the last height of this chain.\nUpgradedConsensusState RPC not supported with legacy querier\nThis rpc is deprecated now that IBC has its own replacement\n(https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54)","operationId":"UpgradeQuery_UpgradedConsensusState","parameters":[{"type":"string","format":"int64","description":"last height of the current chain must be sent in request\nas this is the height under which next consensus state is stored","name":"last_height","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ApplySnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_ApplySnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestApplySnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/CheckTx":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_CheckTx","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCheckTx"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCheckTx"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Commit":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_Commit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Echo":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_Echo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestEcho"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseEcho"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ExtendVote":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_ExtendVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestExtendVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseExtendVote"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/FinalizeBlock":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_FinalizeBlock","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Flush":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_Flush","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestFlush"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseFlush"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Info":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_Info","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInfo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInfo"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/InitChain":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_InitChain","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestInitChain"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseInitChain"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ListSnapshots":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_ListSnapshots","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestListSnapshots"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseListSnapshots"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/LoadSnapshotChunk":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_LoadSnapshotChunk","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestLoadSnapshotChunk"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseLoadSnapshotChunk"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/OfferSnapshot":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_OfferSnapshot","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestOfferSnapshot"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/PrepareProposal":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_PrepareProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestPrepareProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponsePrepareProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/ProcessProposal":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_ProcessProposal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestProcessProposal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/Query":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_Query","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestQuery"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseQuery"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/tendermint.abci.ABCI/VerifyVoteExtension":{"post":{"tags":["ABCI"],"operationId":"UpgradeABCI_VerifyVoteExtension","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/tendermint.abci.RequestVerifyVoteExtension"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cosmos.auth.v1beta1.AddressBytesToStringResponse":{"description":"AddressBytesToStringResponse is the response type for AddressString rpc method.","type":"object","properties":{"address_string":{"type":"string"}}},"cosmos.auth.v1beta1.AddressStringToBytesResponse":{"description":"AddressStringToBytesResponse is the response type for AddressBytes rpc method.","type":"object","properties":{"address_bytes":{"type":"string","format":"byte"}}},"cosmos.auth.v1beta1.BaseAccount":{"description":"BaseAccount defines a base account type. It contains all the necessary fields\nfor basic account functionality. Any custom account type should extend this\ntype for additional functionality (e.g. vesting).","type":"object","properties":{"account_number":{"type":"string","format":"uint64"},"address":{"type":"string"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"sequence":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.Bech32PrefixResponse":{"description":"Bech32PrefixResponse is the response type for Bech32Prefix rpc method.","type":"object","properties":{"bech32_prefix":{"type":"string"}}},"cosmos.auth.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/auth parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.auth.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.auth.v1beta1.Params":{"description":"Params defines the parameters for the auth module.","type":"object","properties":{"max_memo_characters":{"type":"string","format":"uint64"},"sig_verify_cost_ed25519":{"type":"string","format":"uint64"},"sig_verify_cost_secp256k1":{"type":"string","format":"uint64"},"tx_sig_limit":{"type":"string","format":"uint64"},"tx_size_cost_per_byte":{"type":"string","format":"uint64"}}},"cosmos.auth.v1beta1.QueryAccountAddressByIDResponse":{"type":"object","title":"QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method","properties":{"account_address":{"type":"string"}}},"cosmos.auth.v1beta1.QueryAccountInfoResponse":{"description":"QueryAccountInfoResponse is the Query/AccountInfo response type.","type":"object","properties":{"info":{"description":"info is the account info which is represented by BaseAccount.","$ref":"#/definitions/cosmos.auth.v1beta1.BaseAccount"}}},"cosmos.auth.v1beta1.QueryAccountResponse":{"description":"QueryAccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"account":{"description":"account defines the account of the corresponding address.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryAccountsResponse":{"description":"QueryAccountsResponse is the response type for the Query/Accounts RPC method.","type":"object","properties":{"accounts":{"type":"array","title":"accounts are the existing accounts","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.auth.v1beta1.QueryModuleAccountByNameResponse":{"description":"QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method.","type":"object","properties":{"account":{"$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.auth.v1beta1.QueryModuleAccountsResponse":{"description":"QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method.","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.auth.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.auth.v1beta1.Params"}}},"cosmos.authz.v1beta1.Grant":{"description":"Grant gives permissions to execute\nthe provide method with expiration time.","type":"object","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time","title":"time when the grant will expire and will be pruned. If null, then the grant\ndoesn't have a time expiration (other conditions in `authorization`\nmay apply to invalidate the grant)"}}},"cosmos.authz.v1beta1.GrantAuthorization":{"type":"object","title":"GrantAuthorization extends a grant with both the addresses of the grantee and granter.\nIt is used in genesis.proto and query.proto","properties":{"authorization":{"$ref":"#/definitions/google.protobuf.Any"},"expiration":{"type":"string","format":"date-time"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgExec":{"description":"MsgExec attempts to execute the provided messages using\nauthorizations granted to the grantee. Each message should have only\none signer corresponding to the granter of the authorization.","type":"object","properties":{"grantee":{"type":"string"},"msgs":{"description":"Execute Msg.\nThe x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg))\ntriple and validate it.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.authz.v1beta1.MsgExecResponse":{"description":"MsgExecResponse defines the Msg/MsgExecResponse response type.","type":"object","properties":{"results":{"type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.authz.v1beta1.MsgGrant":{"description":"MsgGrant is a request type for Grant method. It declares authorization to the grantee\non behalf of the granter with the provided expiration time.","type":"object","properties":{"grant":{"$ref":"#/definitions/cosmos.authz.v1beta1.Grant"},"grantee":{"type":"string"},"granter":{"type":"string"}}},"cosmos.authz.v1beta1.MsgGrantResponse":{"description":"MsgGrantResponse defines the Msg/MsgGrant response type.","type":"object"},"cosmos.authz.v1beta1.MsgRevoke":{"description":"MsgRevoke revokes any authorization with the provided sdk.Msg type on the\ngranter's account with that has been granted to the grantee.","type":"object","properties":{"grantee":{"type":"string"},"granter":{"type":"string"},"msg_type_url":{"type":"string"}}},"cosmos.authz.v1beta1.MsgRevokeResponse":{"description":"MsgRevokeResponse defines the Msg/MsgRevokeResponse response type.","type":"object"},"cosmos.authz.v1beta1.QueryGranteeGrantsResponse":{"description":"QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted to the grantee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGranterGrantsResponse":{"description":"QueryGranterGrantsResponse is the response type for the Query/GranterGrants RPC method.","type":"object","properties":{"grants":{"description":"grants is a list of grants granted by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.GrantAuthorization"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.authz.v1beta1.QueryGrantsResponse":{"description":"QueryGrantsResponse is the response type for the Query/Authorizations RPC method.","type":"object","properties":{"grants":{"description":"authorizations is a list of grants granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.authz.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.autocli.v1.AppOptionsRequest":{"description":"AppOptionsRequest is the RemoteInfoService/AppOptions request type.","type":"object"},"cosmos.autocli.v1.AppOptionsResponse":{"description":"AppOptionsResponse is the RemoteInfoService/AppOptions response type.","type":"object","properties":{"module_options":{"description":"module_options is a map of module name to autocli module options.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ModuleOptions"}}}},"cosmos.autocli.v1.FlagOptions":{"description":"FlagOptions are options for flags generated from rpc request fields.\nBy default, all request fields are configured as flags based on the\nkebab-case name of the field. Fields can be turned into positional arguments\ninstead by using RpcCommandOptions.positional_args.","type":"object","properties":{"default_value":{"description":"default_value is the default value as text.","type":"string"},"deprecated":{"description":"deprecated is the usage text to show if this flag is deprecated.","type":"string"},"hidden":{"type":"boolean","title":"hidden hides the flag from help/usage text"},"name":{"description":"name is an alternate name to use for the field flag.","type":"string"},"shorthand":{"description":"shorthand is a one-letter abbreviated flag.","type":"string"},"shorthand_deprecated":{"description":"shorthand_deprecated is the usage text to show if the shorthand of this flag is deprecated.","type":"string"},"usage":{"description":"usage is the help message.","type":"string"}}},"cosmos.autocli.v1.ModuleOptions":{"description":"ModuleOptions describes the CLI options for a Cosmos SDK module.","type":"object","properties":{"query":{"description":"query describes the queries commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"},"tx":{"description":"tx describes the tx commands for the module.","$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}},"cosmos.autocli.v1.PositionalArgDescriptor":{"description":"PositionalArgDescriptor describes a positional argument.","type":"object","properties":{"optional":{"description":"optional makes the last positional parameter optional.\nNote: It is mutually exclusive with varargs.","type":"boolean"},"proto_field":{"description":"proto_field specifies the proto field to use as the positional arg. Any\nfields used as positional args will not have a flag generated.","type":"string"},"varargs":{"description":"varargs makes a positional parameter a varargs parameter. This can only be\napplied to last positional parameter and the proto_field must a repeated\nfield. Note: It is mutually exclusive with optional.","type":"boolean"}}},"cosmos.autocli.v1.RpcCommandOptions":{"description":"RpcCommandOptions specifies options for commands generated from protobuf\nrpc methods.","type":"object","properties":{"alias":{"description":"alias is an array of aliases that can be used instead of the first word in Use.","type":"array","items":{"type":"string"}},"deprecated":{"description":"deprecated defines, if this command is deprecated and should print this string when used.","type":"string"},"example":{"description":"example is examples of how to use the command.","type":"string"},"flag_options":{"description":"flag_options are options for flags generated from rpc request fields.\nBy default all request fields are configured as flags. They can\nalso be configured as positional args instead using positional_args.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.FlagOptions"}},"gov_proposal":{"description":"gov_proposal specifies whether autocli should generate a gov proposal transaction for this rpc method.\nNormally autocli generates a transaction containing the message and broadcast it.\nHowever, when true, autocli generates a proposal transaction containing the message and broadcast it.\nThis option is ineffective for query commands.","type":"boolean"},"long":{"description":"long is the long message shown in the 'help \u003cthis-command\u003e' output.","type":"string"},"positional_args":{"description":"positional_args specifies positional arguments for the command.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.PositionalArgDescriptor"}},"rpc_method":{"description":"rpc_method is short name of the protobuf rpc method that this command is\ngenerated from.","type":"string"},"short":{"description":"short is the short description shown in the 'help' output.","type":"string"},"skip":{"description":"skip specifies whether to skip this rpc method when generating commands.","type":"boolean"},"suggest_for":{"description":"suggest_for is an array of command names for which this command will be suggested -\nsimilar to aliases but only suggests.","type":"array","items":{"type":"string"}},"use":{"description":"use is the one-line usage method. It also allows specifying an alternate\nname for the command as the first word of the usage text.\n\nBy default the name of an rpc command is the kebab-case short name of the\nrpc method.","type":"string"},"version":{"description":"version defines the version for this command. If this value is non-empty and the command does not\ndefine a \"version\" flag, a \"version\" boolean flag will be added to the command and, if specified,\nwill print content of the \"Version\" variable. A shorthand \"v\" flag will also be added if the\ncommand does not define one.","type":"string"}}},"cosmos.autocli.v1.ServiceCommandDescriptor":{"description":"ServiceCommandDescriptor describes a CLI command based on a protobuf service.","type":"object","properties":{"enhance_custom_command":{"description":"enhance_custom_commands specifies whether to skip the service when generating commands, if a custom command already\nexists, or enhance the existing command. If set to true, the custom command will be enhanced with the services from\ngRPC. otherwise when a custom command exists, no commands will be generated for the service.","type":"boolean"},"rpc_command_options":{"description":"rpc_command_options are options for commands generated from rpc methods.\nIf no options are specified for a given rpc method on the service, a\ncommand will be generated for that method with the default options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.autocli.v1.RpcCommandOptions"}},"service":{"description":"service is the fully qualified name of the protobuf service to build\nthe command from. It can be left empty if sub_commands are used instead\nwhich may be the case if a module provides multiple tx and/or query services.","type":"string"},"short":{"description":"short is an optional parameter used to override the short description of the auto generated command.","type":"string"},"sub_commands":{"description":"sub_commands is a map of optional sub-commands for this command based on\ndifferent protobuf services. The map key is used as the name of the\nsub-command.","type":"object","additionalProperties":{"$ref":"#/definitions/cosmos.autocli.v1.ServiceCommandDescriptor"}}}},"cosmos.bank.v1beta1.DenomOwner":{"description":"DenomOwner defines structure representing an account that owns or holds a\nparticular denominated token. It contains the account address and account\nbalance of the denominated token.","type":"object","properties":{"address":{"description":"address defines the address that owns a particular denomination.","type":"string"},"balance":{"description":"balance is the balance of the denominated coin for an account.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.DenomUnit":{"description":"DenomUnit represents a struct that describes a given\ndenomination unit of the basic token.","type":"object","properties":{"aliases":{"type":"array","title":"aliases is a list of string aliases for the given denom","items":{"type":"string"}},"denom":{"description":"denom represents the string name of the given denom unit (e.g uatom).","type":"string"},"exponent":{"description":"exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom).","type":"integer","format":"int64"}}},"cosmos.bank.v1beta1.Input":{"description":"Input models transaction input.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Metadata":{"description":"Metadata represents a struct that describes\na basic token.","type":"object","properties":{"base":{"description":"base represents the base denom (should be the DenomUnit with exponent = 0).","type":"string"},"denom_units":{"type":"array","title":"denom_units represents the list of DenomUnit's for a given coin","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomUnit"}},"description":{"type":"string"},"display":{"description":"display indicates the suggested denom that should be\ndisplayed in clients.","type":"string"},"name":{"type":"string","title":"name defines the name of the token (eg: Cosmos Atom)"},"symbol":{"description":"symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.","type":"string"},"uri":{"description":"URI to a document (on or off-chain) that contains additional information. Optional.","type":"string"},"uri_hash":{"description":"URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.","type":"string"}}},"cosmos.bank.v1beta1.MsgMultiSend":{"description":"MsgMultiSend represents an arbitrary multi-in, multi-out send message.","type":"object","properties":{"inputs":{"description":"Inputs, despite being `repeated`, only allows one sender input. This is\nchecked in MsgMultiSend's ValidateBasic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Input"}},"outputs":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Output"}}}},"cosmos.bank.v1beta1.MsgMultiSendResponse":{"description":"MsgMultiSendResponse defines the Msg/MultiSend response type.","type":"object"},"cosmos.bank.v1beta1.MsgSend":{"description":"MsgSend represents a message to send coins from one account to another.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.bank.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.bank.v1beta1.MsgSetSendEnabled":{"description":"MsgSetSendEnabled is the Msg/SetSendEnabled request type.\n\nOnly entries to add/update/delete need to be included.\nExisting SendEnabled entries that are not included in this\nmessage are left unchanged.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module.","type":"string"},"send_enabled":{"description":"send_enabled is the list of entries to add or update.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}},"use_default_for":{"description":"use_default_for is a list of denoms that should use the params.default_send_enabled value.\nDenoms listed here will have their SendEnabled entries deleted.\nIf a denom is included that doesn't have a SendEnabled entry,\nit will be ignored.","type":"array","items":{"type":"string"}}}},"cosmos.bank.v1beta1.MsgSetSendEnabledResponse":{"description":"MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type.","type":"object"},"cosmos.bank.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/bank parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.bank.v1beta1.Output":{"description":"Output models transaction outputs.","type":"object","properties":{"address":{"type":"string"},"coins":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.Params":{"description":"Params defines the parameters for the bank module.","type":"object","properties":{"default_send_enabled":{"type":"boolean"},"send_enabled":{"description":"Deprecated: Use of SendEnabled in params is deprecated.\nFor genesis, use the newly added send_enabled field in the genesis object.\nStorage, lookup, and manipulation of this information is now in the keeper.\n\nAs of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QueryAllBalancesResponse":{"description":"QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod.","type":"object","properties":{"balances":{"description":"balances is the balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryBalanceResponse":{"description":"QueryBalanceResponse is the response type for the Query/Balance RPC method.","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse":{"description":"QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC\nmethod. Identical with QueryDenomMetadataResponse but receives denom as query string in request.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomMetadataResponse":{"description":"QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC\nmethod.","type":"object","properties":{"metadata":{"description":"metadata describes and provides all the client information for the requested token.","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}}},"cosmos.bank.v1beta1.QueryDenomOwnersByQueryResponse":{"description":"QueryDenomOwnersByQueryResponse defines the RPC response of a DenomOwnersByQuery RPC query.","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomOwnersResponse":{"description":"QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.","type":"object","properties":{"denom_owners":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.DenomOwner"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryDenomsMetadataResponse":{"description":"QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC\nmethod.","type":"object","properties":{"metadatas":{"description":"metadata provides the client information for all the registered tokens.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.Metadata"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/bank parameters.","type":"object","properties":{"params":{"description":"params provides the parameters of the bank module.","$ref":"#/definitions/cosmos.bank.v1beta1.Params"}}},"cosmos.bank.v1beta1.QuerySendEnabledResponse":{"description":"QuerySendEnabledResponse defines the RPC response of a SendEnable query.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response. This field is only\npopulated if the denoms field in the request is empty.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"send_enabled":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.bank.v1beta1.SendEnabled"}}}},"cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse":{"description":"QuerySpendableBalanceByDenomResponse defines the gRPC response structure for\nquerying an account's spendable balance for a specific denom.","type":"object","properties":{"balance":{"description":"balance is the balance of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QuerySpendableBalancesResponse":{"description":"QuerySpendableBalancesResponse defines the gRPC response structure for querying\nan account's spendable balances.","type":"object","properties":{"balances":{"description":"balances is the spendable balances of all the coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.bank.v1beta1.QuerySupplyOfResponse":{"description":"QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method.","type":"object","properties":{"amount":{"description":"amount is the supply of the coin.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.bank.v1beta1.QueryTotalSupplyResponse":{"type":"object","title":"QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC\nmethod","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"supply":{"type":"array","title":"supply is the supply of the coins","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.bank.v1beta1.SendEnabled":{"description":"SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable).","type":"object","properties":{"denom":{"type":"string"},"enabled":{"type":"boolean"}}},"cosmos.base.abci.v1beta1.ABCIMessageLog":{"description":"ABCIMessageLog defines a structure containing an indexed tx ABCI message log.","type":"object","properties":{"events":{"description":"Events contains a slice of Event objects that were emitted during some\nexecution.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.StringEvent"}},"log":{"type":"string"},"msg_index":{"type":"integer","format":"int64"}}},"cosmos.base.abci.v1beta1.Attribute":{"description":"Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes.","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"cosmos.base.abci.v1beta1.GasInfo":{"description":"GasInfo defines tx execution gas context.","type":"object","properties":{"gas_used":{"description":"GasUsed is the amount of gas actually consumed.","type":"string","format":"uint64"},"gas_wanted":{"description":"GasWanted is the maximum units of work we allow this tx to perform.","type":"string","format":"uint64"}}},"cosmos.base.abci.v1beta1.Result":{"description":"Result is the union of ResponseFormat and ResponseCheckTx.","type":"object","properties":{"data":{"description":"Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL.","type":"string","format":"byte"},"events":{"description":"Events contains a slice of Event objects that were emitted during message\nor handler execution.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"log":{"description":"Log contains the log information from message or handler execution.","type":"string"},"msg_responses":{"description":"msg_responses contains the Msg handler responses type packed in Anys.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}}}},"cosmos.base.abci.v1beta1.StringEvent":{"description":"StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.Attribute"}},"type":{"type":"string"}}},"cosmos.base.abci.v1beta1.TxResponse":{"description":"TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded.","type":"object","properties":{"code":{"description":"Response code.","type":"integer","format":"int64"},"codespace":{"type":"string","title":"Namespace for the Code"},"data":{"description":"Result bytes, if any.","type":"string"},"events":{"description":"Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"description":"Amount of gas consumed by transaction.","type":"string","format":"int64"},"gas_wanted":{"description":"Amount of gas requested for transaction.","type":"string","format":"int64"},"height":{"type":"string","format":"int64","title":"The block height"},"info":{"description":"Additional information. May be non-deterministic.","type":"string"},"logs":{"description":"The output of the application's logger (typed). May be non-deterministic.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.ABCIMessageLog"}},"raw_log":{"description":"The output of the application's logger (raw string). May be\nnon-deterministic.","type":"string"},"timestamp":{"description":"Time of the previous block. For heights \u003e 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time.","type":"string"},"tx":{"description":"The request transaction bytes.","$ref":"#/definitions/google.protobuf.Any"},"txhash":{"description":"The transaction hash.","type":"string"}}},"cosmos.base.node.v1beta1.ConfigResponse":{"description":"ConfigResponse defines the response structure for the Config gRPC query.","type":"object","properties":{"halt_height":{"type":"string","format":"uint64"},"minimum_gas_price":{"type":"string"},"pruning_interval":{"type":"string"},"pruning_keep_recent":{"type":"string"}}},"cosmos.base.node.v1beta1.StatusResponse":{"description":"StateResponse defines the response structure for the status of a node.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"app hash of the current block"},"earliest_store_height":{"type":"string","format":"uint64","title":"earliest block height available in the store"},"height":{"type":"string","format":"uint64","title":"current block height"},"timestamp":{"type":"string","format":"date-time","title":"block height timestamp"},"validator_hash":{"type":"string","format":"byte","title":"validator hash provided by the consensus header"}}},"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.reflection.v1beta1.ListAllInterfacesResponse":{"description":"ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC.","type":"object","properties":{"interface_names":{"description":"interface_names is an array of all the registered interfaces.","type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v1beta1.ListImplementationsResponse":{"description":"ListImplementationsResponse is the response type of the ListImplementations\nRPC.","type":"object","properties":{"implementation_message_names":{"type":"array","items":{"type":"string"}}}},"cosmos.base.reflection.v2alpha1.AuthnDescriptor":{"type":"object","title":"AuthnDescriptor provides information on how to sign transactions without relying\non the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures","properties":{"sign_modes":{"type":"array","title":"sign_modes defines the supported signature algorithm","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.SigningModeDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ChainDescriptor":{"type":"object","title":"ChainDescriptor describes chain information of the application","properties":{"id":{"type":"string","title":"id is the chain id"}}},"cosmos.base.reflection.v2alpha1.CodecDescriptor":{"type":"object","title":"CodecDescriptor describes the registered interfaces and provides metadata information on the types","properties":{"interfaces":{"type":"array","title":"interfaces is a list of the registerted interfaces descriptors","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.ConfigurationDescriptor":{"type":"object","title":"ConfigurationDescriptor contains metadata information on the sdk.Config","properties":{"bech32_account_address_prefix":{"type":"string","title":"bech32_account_address_prefix is the account address prefix"}}},"cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse":{"type":"object","title":"GetAuthnDescriptorResponse is the response returned by the GetAuthnDescriptor RPC","properties":{"authn":{"title":"authn describes how to authenticate to the application when sending transactions","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.AuthnDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse":{"type":"object","title":"GetChainDescriptorResponse is the response returned by the GetChainDescriptor RPC","properties":{"chain":{"title":"chain describes application chain information","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ChainDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse":{"type":"object","title":"GetCodecDescriptorResponse is the response returned by the GetCodecDescriptor RPC","properties":{"codec":{"title":"codec describes the application codec such as registered interfaces and implementations","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.CodecDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse":{"type":"object","title":"GetConfigurationDescriptorResponse is the response returned by the GetConfigurationDescriptor RPC","properties":{"config":{"title":"config describes the application's sdk.Config","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.ConfigurationDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse":{"type":"object","title":"GetQueryServicesDescriptorResponse is the response returned by the GetQueryServicesDescriptor RPC","properties":{"queries":{"title":"queries provides information on the available queryable services","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServicesDescriptor"}}},"cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse":{"type":"object","title":"GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC","properties":{"tx":{"title":"tx provides information on msgs that can be forwarded to the application\nalongside the accepted transaction protobuf type","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.TxDescriptor"}}},"cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor":{"type":"object","title":"InterfaceAcceptingMessageDescriptor describes a protobuf message which contains\nan interface represented as a google.protobuf.Any","properties":{"field_descriptor_names":{"type":"array","title":"field_descriptor_names is a list of the protobuf name (not fullname) of the field\nwhich contains the interface as google.protobuf.Any (the interface is the same, but\nit can be in multiple fields of the same proto message)","items":{"type":"string"}},"fullname":{"type":"string","title":"fullname is the protobuf fullname of the type containing the interface"}}},"cosmos.base.reflection.v2alpha1.InterfaceDescriptor":{"type":"object","title":"InterfaceDescriptor describes the implementation of an interface","properties":{"fullname":{"type":"string","title":"fullname is the name of the interface"},"interface_accepting_messages":{"type":"array","title":"interface_accepting_messages contains information regarding the proto messages which contain the interface as\ngoogle.protobuf.Any field","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor"}},"interface_implementers":{"type":"array","title":"interface_implementers is a list of the descriptors of the interface implementers","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor"}}}},"cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor":{"type":"object","title":"InterfaceImplementerDescriptor describes an interface implementer","properties":{"fullname":{"type":"string","title":"fullname is the protobuf queryable name of the interface implementer"},"type_url":{"type":"string","title":"type_url defines the type URL used when marshalling the type as any\nthis is required so we can provide type safe google.protobuf.Any marshalling and\nunmarshalling, making sure that we don't accept just 'any' type\nin our interface fields"}}},"cosmos.base.reflection.v2alpha1.MsgDescriptor":{"type":"object","title":"MsgDescriptor describes a cosmos-sdk message that can be delivered with a transaction","properties":{"msg_type_url":{"description":"msg_type_url contains the TypeURL of a sdk.Msg.","type":"string"}}},"cosmos.base.reflection.v2alpha1.QueryMethodDescriptor":{"type":"object","title":"QueryMethodDescriptor describes a queryable method of a query service\nno other info is provided beside method name and tendermint queryable path\nbecause it would be redundant with the grpc reflection service","properties":{"full_query_path":{"type":"string","title":"full_query_path is the path that can be used to query\nthis method via tendermint abci.Query"},"name":{"type":"string","title":"name is the protobuf name (not fullname) of the method"}}},"cosmos.base.reflection.v2alpha1.QueryServiceDescriptor":{"type":"object","title":"QueryServiceDescriptor describes a cosmos-sdk queryable service","properties":{"fullname":{"type":"string","title":"fullname is the protobuf fullname of the service descriptor"},"is_module":{"type":"boolean","title":"is_module describes if this service is actually exposed by an application's module"},"methods":{"type":"array","title":"methods provides a list of query service methods","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryMethodDescriptor"}}}},"cosmos.base.reflection.v2alpha1.QueryServicesDescriptor":{"type":"object","title":"QueryServicesDescriptor contains the list of cosmos-sdk queriable services","properties":{"query_services":{"type":"array","title":"query_services is a list of cosmos-sdk QueryServiceDescriptor","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.QueryServiceDescriptor"}}}},"cosmos.base.reflection.v2alpha1.SigningModeDescriptor":{"type":"object","title":"SigningModeDescriptor provides information on a signing flow of the application\nNOTE(fdymylja): here we could go as far as providing an entire flow on how\nto sign a message given a SigningModeDescriptor, but it's better to think about\nthis another time","properties":{"authn_info_provider_method_fullname":{"type":"string","title":"authn_info_provider_method_fullname defines the fullname of the method to call to get\nthe metadata required to authenticate using the provided sign_modes"},"name":{"type":"string","title":"name defines the unique name of the signing mode"},"number":{"type":"integer","format":"int32","title":"number is the unique int32 identifier for the sign_mode enum"}}},"cosmos.base.reflection.v2alpha1.TxDescriptor":{"type":"object","title":"TxDescriptor describes the accepted transaction type","properties":{"fullname":{"description":"fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type)\nit is not meant to support polymorphism of transaction types, it is supposed to be used by\nreflection clients to understand if they can handle a specific transaction type in an application.","type":"string"},"msgs":{"type":"array","title":"msgs lists the accepted application messages (sdk.Msg)","items":{"type":"object","$ref":"#/definitions/cosmos.base.reflection.v2alpha1.MsgDescriptor"}}}},"cosmos.base.tendermint.v1beta1.ABCIQueryResponse":{"description":"ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint.","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"type":"string","title":"nondeterministic"},"proof_ops":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOps"},"value":{"type":"string","format":"byte"}}},"cosmos.base.tendermint.v1beta1.Block":{"description":"Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string.","type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse":{"description":"GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestBlockResponse":{"description":"GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method.","type":"object","properties":{"block":{"title":"Deprecated: please use `sdk_block` instead","$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"sdk_block":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Block"}}},"cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse":{"description":"GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.GetNodeInfoResponse":{"description":"GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method.","type":"object","properties":{"application_version":{"$ref":"#/definitions/cosmos.base.tendermint.v1beta1.VersionInfo"},"default_node_info":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfo"}}},"cosmos.base.tendermint.v1beta1.GetSyncingResponse":{"description":"GetSyncingResponse is the response type for the Query/GetSyncing RPC method.","type":"object","properties":{"syncing":{"type":"boolean"}}},"cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse":{"description":"GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method.","type":"object","properties":{"block_height":{"type":"string","format":"int64"},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Validator"}}}},"cosmos.base.tendermint.v1beta1.Header":{"description":"Header defines the structure of a Tendermint block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"description":"proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX.\n\noriginal proposer of the block","type":"string"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"cosmos.base.tendermint.v1beta1.Module":{"type":"object","title":"Module is the type for VersionInfo","properties":{"path":{"type":"string","title":"module path"},"sum":{"type":"string","title":"checksum"},"version":{"type":"string","title":"module version"}}},"cosmos.base.tendermint.v1beta1.ProofOp":{"description":"ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint.","type":"object","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"cosmos.base.tendermint.v1beta1.ProofOps":{"description":"ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint.","type":"object","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.ProofOp"}}}},"cosmos.base.tendermint.v1beta1.Validator":{"description":"Validator is the type for the validator-set.","type":"object","properties":{"address":{"type":"string"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/google.protobuf.Any"},"voting_power":{"type":"string","format":"int64"}}},"cosmos.base.tendermint.v1beta1.VersionInfo":{"description":"VersionInfo is the type for the GetNodeInfoResponse message.","type":"object","properties":{"app_name":{"type":"string"},"build_deps":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.tendermint.v1beta1.Module"}},"build_tags":{"type":"string"},"cosmos_sdk_version":{"type":"string"},"git_commit":{"type":"string"},"go_version":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.base.v1beta1.DecCoin":{"description":"DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"cosmos.benchmark.v1.MsgLoadTest":{"description":"MsgLoadTestOps defines a message containing a sequence of load test operations.","type":"object","properties":{"caller":{"type":"string","format":"byte"},"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.benchmark.v1.Op"}}}},"cosmos.benchmark.v1.MsgLoadTestResponse":{"description":"MsgLoadTestResponse defines a message containing the results of a load test operation.","type":"object","properties":{"total_errors":{"type":"string","format":"uint64"},"total_time":{"type":"string","format":"uint64"}}},"cosmos.benchmark.v1.Op":{"description":"Op is a message describing a benchmark operation.","type":"object","properties":{"actor":{"type":"string"},"delete":{"type":"boolean"},"exists":{"type":"boolean"},"iterations":{"type":"integer","format":"int64"},"key_length":{"type":"string","format":"uint64"},"seed":{"type":"string","format":"uint64"},"value_length":{"type":"string","format":"uint64"}}},"cosmos.circuit.v1.AccountResponse":{"description":"AccountResponse is the response type for the Query/Account RPC method.","type":"object","properties":{"permission":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.AccountsResponse":{"description":"AccountsResponse is the response type for the Query/Accounts RPC method.","type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.circuit.v1.GenesisAccountPermissions"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.circuit.v1.DisabledListResponse":{"description":"DisabledListResponse is the response type for the Query/DisabledList RPC method.","type":"object","properties":{"disabled_list":{"type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.GenesisAccountPermissions":{"type":"object","title":"GenesisAccountPermissions is the account permissions for the circuit breaker in genesis","properties":{"address":{"type":"string"},"permissions":{"$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreaker":{"description":"MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type.","type":"object","properties":{"grantee":{"description":"grantee is the account authorized with the provided permissions.","type":"string"},"granter":{"description":"granter is the granter of the circuit breaker permissions and must have\nLEVEL_SUPER_ADMIN.","type":"string"},"permissions":{"description":"permissions are the circuit breaker permissions that the grantee receives.\nThese will overwrite any existing permissions. LEVEL_NONE_UNSPECIFIED can\nbe specified to revoke all permissions.","$ref":"#/definitions/cosmos.circuit.v1.Permissions"}}},"cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse":{"description":"MsgAuthorizeCircuitBreakerResponse defines the Msg/AuthorizeCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgResetCircuitBreaker":{"description":"MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip or reset the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of Msg type URLs to resume processing. If\nit is left empty all Msg processing for type URLs that the account is\nauthorized to trip will resume.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgResetCircuitBreakerResponse":{"description":"MsgResetCircuitBreakerResponse defines the Msg/ResetCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.MsgTripCircuitBreaker":{"description":"MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type.","type":"object","properties":{"authority":{"description":"authority is the account authorized to trip the circuit breaker.","type":"string"},"msg_type_urls":{"description":"msg_type_urls specifies a list of type URLs to immediately stop processing.\nIF IT IS LEFT EMPTY, ALL MSG PROCESSING WILL STOP IMMEDIATELY.\nThis value is validated against the authority's permissions and if the\nauthority does not have permissions to trip the specified msg type URLs\n(or all URLs), the operation will fail.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.MsgTripCircuitBreakerResponse":{"description":"MsgTripCircuitBreakerResponse defines the Msg/TripCircuitBreaker response type.","type":"object","properties":{"success":{"type":"boolean"}}},"cosmos.circuit.v1.Permissions":{"description":"Permissions are the permissions that an account has to trip\nor reset the circuit breaker.","type":"object","properties":{"level":{"description":"level is the level of permissions granted to this account.","$ref":"#/definitions/cosmos.circuit.v1.Permissions.Level"},"limit_type_urls":{"description":"limit_type_urls is used with LEVEL_SOME_MSGS to limit the lists of Msg type\nURLs that the account can trip. It is an error to use limit_type_urls with\na level other than LEVEL_SOME_MSGS.","type":"array","items":{"type":"string"}}}},"cosmos.circuit.v1.Permissions.Level":{"description":"Level is the permission level.\n\n - LEVEL_NONE_UNSPECIFIED: LEVEL_NONE_UNSPECIFIED indicates that the account will have no circuit\nbreaker permissions.\n - LEVEL_SOME_MSGS: LEVEL_SOME_MSGS indicates that the account will have permission to\ntrip or reset the circuit breaker for some Msg type URLs. If this level\nis chosen, a non-empty list of Msg type URLs must be provided in\nlimit_type_urls.\n - LEVEL_ALL_MSGS: LEVEL_ALL_MSGS indicates that the account can trip or reset the circuit\nbreaker for Msg's of all type URLs.\n - LEVEL_SUPER_ADMIN: LEVEL_SUPER_ADMIN indicates that the account can take all circuit breaker\nactions and can grant permissions to other accounts.","type":"string","default":"LEVEL_NONE_UNSPECIFIED","enum":["LEVEL_NONE_UNSPECIFIED","LEVEL_SOME_MSGS","LEVEL_ALL_MSGS","LEVEL_SUPER_ADMIN"]},"cosmos.consensus.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"abci":{"$ref":"#/definitions/tendermint.types.ABCIParams"},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"block":{"description":"params defines the x/consensus parameters to update.\nVersionsParams is not included in this Msg because it is tracked\nsepararately in x/upgrade.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"}}},"cosmos.consensus.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.consensus.v1.QueryParamsResponse":{"description":"QueryParamsResponse defines the response type for querying x/consensus parameters.","type":"object","properties":{"params":{"description":"params are the tendermint consensus params stored in the consensus module.\nPlease note that `params.version` is not populated in this response, it is\ntracked separately in the x/upgrade module.","$ref":"#/definitions/tendermint.types.ConsensusParams"}}},"cosmos.counter.v1.MsgIncreaseCountResponse":{"description":"MsgIncreaseCountResponse is the Msg/Counter response type.","type":"object","properties":{"new_count":{"description":"new_count is the number of times the counter was incremented.","type":"string","format":"int64"}}},"cosmos.counter.v1.MsgIncreaseCounter":{"description":"MsgIncreaseCounter defines a count Msg service counter.","type":"object","properties":{"count":{"description":"count is the number of times to increment the counter.","type":"string","format":"int64"},"signer":{"description":"signer is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"}}},"cosmos.counter.v1.QueryGetCountRequest":{"description":"QueryGetCountRequest defines the request type for querying x/mock count.","type":"object"},"cosmos.counter.v1.QueryGetCountResponse":{"description":"QueryGetCountResponse defines the response type for querying x/mock count.","type":"object","properties":{"total_count":{"type":"string","format":"int64"}}},"cosmos.crisis.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"constant_fee":{"description":"constant_fee defines the x/crisis parameter.","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.crisis.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.crisis.v1beta1.MsgVerifyInvariant":{"description":"MsgVerifyInvariant represents a message to verify a particular invariance.","type":"object","properties":{"invariant_module_name":{"description":"name of the invariant module.","type":"string"},"invariant_route":{"description":"invariant_route is the msg's invariant route.","type":"string"},"sender":{"description":"sender is the account address of private key to send coins to fee collector account.","type":"string"}}},"cosmos.crisis.v1beta1.MsgVerifyInvariantResponse":{"description":"MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type.","type":"object"},"cosmos.crypto.multisig.v1beta1.CompactBitArray":{"description":"CompactBitArray is an implementation of a space efficient bit array.\nThis is used to ensure that the encoded data takes up a minimal amount of\nspace after proto encoding.\nThis is not thread safe, and is not intended for concurrent usage.","type":"object","properties":{"elems":{"type":"string","format":"byte"},"extra_bits_stored":{"type":"integer","format":"int64"}}},"cosmos.distribution.v1beta1.DelegationDelegatorReward":{"description":"DelegationDelegatorReward represents the properties\nof a delegator's delegation reward.","type":"object","properties":{"reward":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpend":{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"recipient":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse":{"description":"MsgCommunityPoolSpendResponse defines the response to executing a\nMsgCommunityPoolSpend message.","type":"object"},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool":{"description":"DepositValidatorRewardsPool defines the request structure to provide\nadditional rewards to delegators from a specific validator.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse":{"description":"MsgDepositValidatorRewardsPoolResponse defines the response to executing a\nMsgDepositValidatorRewardsPool message.","type":"object"},"cosmos.distribution.v1beta1.MsgFundCommunityPool":{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse":{"description":"MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.","type":"object"},"cosmos.distribution.v1beta1.MsgSetWithdrawAddress":{"description":"MsgSetWithdrawAddress sets the withdraw address for\na delegator (or validator self-delegation).","type":"object","properties":{"delegator_address":{"type":"string"},"withdraw_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse":{"description":"MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response\ntype.","type":"object"},"cosmos.distribution.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/distribution parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward":{"description":"MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator\nfrom a single validator.","type":"object","properties":{"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse":{"description":"MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward\nresponse type.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission":{"description":"MsgWithdrawValidatorCommission withdraws the full commission to the validator\naddress.","type":"object","properties":{"validator_address":{"type":"string"}}},"cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse":{"description":"MsgWithdrawValidatorCommissionResponse defines the\nMsg/WithdrawValidatorCommission response type.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.distribution.v1beta1.Params":{"description":"Params defines the set of params for the distribution module.","type":"object","properties":{"base_proposer_reward":{"description":"Deprecated: The base_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"bonus_proposer_reward":{"description":"Deprecated: The bonus_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism.","type":"string"},"community_tax":{"type":"string"},"withdraw_addr_enabled":{"type":"boolean"}}},"cosmos.distribution.v1beta1.QueryCommunityPoolResponse":{"description":"QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method.","type":"object","properties":{"pool":{"description":"pool defines community pool's coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationRewardsResponse":{"description":"QueryDelegationRewardsResponse is the response type for the\nQuery/DelegationRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines the rewards accrued by a delegation.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse":{"description":"QueryDelegationTotalRewardsResponse is the response type for the\nQuery/DelegationTotalRewards RPC method.","type":"object","properties":{"rewards":{"description":"rewards defines all the rewards accrued by a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.DelegationDelegatorReward"}},"total":{"description":"total defines the sum of all the rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is the response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"validators":{"description":"validators defines the validators a delegator is delegating for.","type":"array","items":{"type":"string"}}}},"cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse":{"description":"QueryDelegatorWithdrawAddressResponse is the response type for the\nQuery/DelegatorWithdrawAddress RPC method.","type":"object","properties":{"withdraw_address":{"description":"withdraw_address defines the delegator address to query for.","type":"string"}}},"cosmos.distribution.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.distribution.v1beta1.Params"}}},"cosmos.distribution.v1beta1.QueryValidatorCommissionResponse":{"type":"object","title":"QueryValidatorCommissionResponse is the response type for the\nQuery/ValidatorCommission RPC method","properties":{"commission":{"description":"commission defines the commission the validator received.","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission"}}},"cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse":{"description":"QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method.","type":"object","properties":{"commission":{"description":"commission defines the commission the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}},"operator_address":{"description":"operator_address defines the validator operator address.","type":"string"},"self_bond_rewards":{"description":"self_bond_rewards defines the self delegations rewards.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse":{"description":"QueryValidatorOutstandingRewardsResponse is the response type for the\nQuery/ValidatorOutstandingRewards RPC method.","type":"object","properties":{"rewards":{"$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorOutstandingRewards"}}},"cosmos.distribution.v1beta1.QueryValidatorSlashesResponse":{"description":"QueryValidatorSlashesResponse is the response type for the\nQuery/ValidatorSlashes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"slashes":{"description":"slashes defines the slashes the validator received.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.distribution.v1beta1.ValidatorSlashEvent"}}}},"cosmos.distribution.v1beta1.ValidatorAccumulatedCommission":{"description":"ValidatorAccumulatedCommission represents accumulated commission\nfor a validator kept as a running counter, can be withdrawn at any time.","type":"object","properties":{"commission":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorOutstandingRewards":{"description":"ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards\nfor a validator inexpensive to track, allows simple sanity checks.","type":"object","properties":{"rewards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.DecCoin"}}}},"cosmos.distribution.v1beta1.ValidatorSlashEvent":{"description":"ValidatorSlashEvent represents a validator slash event.\nHeight is implicit within the store key.\nThis is needed to calculate appropriate amount of staking tokens\nfor delegations which are withdrawn after a slash has occurred.","type":"object","properties":{"fraction":{"type":"string"},"validator_period":{"type":"string","format":"uint64"}}},"cosmos.epochs.v1beta1.EpochInfo":{"description":"EpochInfo is a struct that describes the data going into\na timer defined by the x/epochs module.","type":"object","properties":{"current_epoch":{"description":"current_epoch is the current epoch number, or in other words,\nhow many times has the timer 'ticked'.\nThe first tick (current_epoch=1) is defined as\nthe first block whose blocktime is greater than the EpochInfo start_time.","type":"string","format":"int64"},"current_epoch_start_height":{"type":"string","format":"int64","title":"current_epoch_start_height is the block height at which the current epoch\nstarted. (The block height at which the timer last ticked)"},"current_epoch_start_time":{"description":"current_epoch_start_time describes the start time of the current timer\ninterval. The interval is (current_epoch_start_time,\ncurrent_epoch_start_time + duration] When the timer ticks, this is set to\ncurrent_epoch_start_time = last_epoch_start_time + duration only one timer\ntick for a given identifier can occur per block.\n\nNOTE! The current_epoch_start_time may diverge significantly from the\nwall-clock time the epoch began at. Wall-clock time of epoch start may be\n\u003e\u003e current_epoch_start_time. Suppose current_epoch_start_time = 10,\nduration = 5. Suppose the chain goes offline at t=14, and comes back online\nat t=30, and produces blocks at every successive time. (t=31, 32, etc.)\n* The t=30 block will start the epoch for (10, 15]\n* The t=31 block will start the epoch for (15, 20]\n* The t=32 block will start the epoch for (20, 25]\n* The t=33 block will start the epoch for (25, 30]\n* The t=34 block will start the epoch for (30, 35]\n* The **t=36** block will start the epoch for (35, 40]","type":"string","format":"date-time"},"duration":{"description":"duration is the time in between epoch ticks.\nIn order for intended behavior to be met, duration should\nbe greater than the chains expected block time.\nDuration must be non-zero.","type":"string"},"epoch_counting_started":{"description":"epoch_counting_started is a boolean, that indicates whether this\nepoch timer has began yet.","type":"boolean"},"identifier":{"description":"identifier is a unique reference to this particular timer.","type":"string"},"start_time":{"description":"start_time is the time at which the timer first ever ticks.\nIf start_time is in the future, the epoch will not begin until the start\ntime.","type":"string","format":"date-time"}}},"cosmos.epochs.v1beta1.QueryCurrentEpochResponse":{"description":"QueryCurrentEpochResponse defines the gRPC response structure for\nquerying an epoch by its identifier.","type":"object","properties":{"current_epoch":{"type":"string","format":"int64"}}},"cosmos.epochs.v1beta1.QueryEpochInfosResponse":{"description":"QueryEpochInfosRequest defines the gRPC response structure for\nquerying all epoch info.","type":"object","properties":{"epochs":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.epochs.v1beta1.EpochInfo"}}}},"cosmos.evidence.v1beta1.MsgSubmitEvidence":{"description":"MsgSubmitEvidence represents a message that supports submitting arbitrary\nEvidence of misbehavior such as equivocation or counterfactual signing.","type":"object","properties":{"evidence":{"description":"evidence defines the evidence of misbehavior.","$ref":"#/definitions/google.protobuf.Any"},"submitter":{"description":"submitter is the signer account address of evidence.","type":"string"}}},"cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse":{"description":"MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.","type":"object","properties":{"hash":{"description":"hash defines the hash of the evidence.","type":"string","format":"byte"}}},"cosmos.evidence.v1beta1.QueryAllEvidenceResponse":{"description":"QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod.","type":"object","properties":{"evidence":{"description":"evidence returns all evidences.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.evidence.v1beta1.QueryEvidenceResponse":{"description":"QueryEvidenceResponse is the response type for the Query/Evidence RPC method.","type":"object","properties":{"evidence":{"description":"evidence returns the requested evidence.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.feegrant.v1beta1.Grant":{"type":"object","title":"Grant is stored in the KVStore to record a grant with full context","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowance":{"description":"MsgGrantAllowance adds permission for Grantee to spend up to Allowance\nof fees from the account of Granter.","type":"object","properties":{"allowance":{"description":"allowance can be any of basic, periodic, allowed fee allowance.","$ref":"#/definitions/google.protobuf.Any"},"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse":{"description":"MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.MsgPruneAllowances":{"description":"MsgPruneAllowances prunes expired fee allowances.","type":"object","properties":{"pruner":{"description":"pruner is the address of the user pruning expired allowances.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse":{"description":"MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.MsgRevokeAllowance":{"description":"MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.","type":"object","properties":{"grantee":{"description":"grantee is the address of the user being granted an allowance of another user's funds.","type":"string"},"granter":{"description":"granter is the address of the user granting an allowance of their funds.","type":"string"}}},"cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse":{"description":"MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse response type.","type":"object"},"cosmos.feegrant.v1beta1.QueryAllowanceResponse":{"description":"QueryAllowanceResponse is the response type for the Query/Allowance RPC method.","type":"object","properties":{"allowance":{"description":"allowance is a allowance granted for grantee by granter.","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}}},"cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse":{"description":"QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.","type":"object","properties":{"allowances":{"description":"allowances that have been issued by the granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.feegrant.v1beta1.QueryAllowancesResponse":{"description":"QueryAllowancesResponse is the response type for the Query/Allowances RPC method.","type":"object","properties":{"allowances":{"description":"allowances are allowance's granted for grantee by granter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.feegrant.v1beta1.Grant"}},"pagination":{"description":"pagination defines an pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1.MsgCancelProposal":{"description":"MsgCancelProposal is the Msg/CancelProposal request type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1.MsgCancelProposalResponse":{"description":"MsgCancelProposalResponse defines the response structure for executing a\nMsgCancelProposal message.","type":"object","properties":{"canceled_height":{"description":"canceled_height defines the block height at which the proposal is canceled.","type":"string","format":"uint64"},"canceled_time":{"description":"canceled_time is the time when proposal is canceled.","type":"string","format":"date-time"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1.MsgExecLegacyContent":{"description":"MsgExecLegacyContent is used to wrap the legacy content field into a message.\nThis ensures backwards compatibility with v1beta1.MsgSubmitProposal.","type":"object","properties":{"authority":{"description":"authority must be the gov module address.","type":"string"},"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.gov.v1.MsgExecLegacyContentResponse":{"description":"MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type.","type":"object"},"cosmos.gov.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"expedited":{"type":"boolean","title":"expedited defines if the proposal is expedited or not"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"messages":{"description":"messages are the arbitrary messages to be executed if proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"},"summary":{"type":"string","title":"summary is the summary of the proposal"},"title":{"description":"title is the title of the proposal.","type":"string"}}},"cosmos.gov.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/gov parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.gov.v1.Params"}}},"cosmos.gov.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.gov.v1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the Vote.","type":"string"},"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.","type":"object","properties":{"metadata":{"description":"metadata is any arbitrary metadata attached to the VoteWeighted.","type":"string"},"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.","type":"object"},"cosmos.gov.v1.Params":{"description":"Params defines the parameters for the x/gov module.","type":"object","properties":{"burn_proposal_deposit_prevote":{"type":"boolean","title":"burn deposits if the proposal does not enter voting period"},"burn_vote_quorum":{"type":"boolean","title":"burn deposits if a proposal does not meet quorum"},"burn_vote_veto":{"type":"boolean","title":"burn deposits if quorum with vote type no_veto is met"},"expedited_min_deposit":{"description":"Minimum expedited deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"expedited_threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.","type":"string"},"expedited_voting_period":{"description":"Duration of the voting period of an expedited proposal.","type":"string"},"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"min_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.\nDefault value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be\nrequired.","type":"string"},"min_initial_deposit_ratio":{"description":"The ratio representing the proportion of the deposit value that must be paid at proposal submission.","type":"string"},"proposal_cancel_dest":{"description":"The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.\nIf empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.","type":"string"},"proposal_cancel_ratio":{"description":"The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.","type":"string"},"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\n considered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3.","type":"string"},"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"expedited":{"type":"boolean","title":"expedited defines if the proposal is expedited"},"failed_reason":{"type":"string","title":"failed_reason defines the reason why the proposal failed"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"},"id":{"description":"id defines the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages are the arbitrary messages to be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3"},"proposer":{"type":"string","title":"proposer is the address of the proposal sumbitter"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"summary":{"type":"string","title":"summary is a short summary of the proposal"},"title":{"type":"string","title":"title is the title of the proposal"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1.QueryConstitutionResponse":{"type":"object","title":"QueryConstitutionResponse is the response type for the Query/Constitution RPC method","properties":{"constitution":{"type":"string"}}},"cosmos.gov.v1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1.Deposit"}}},"cosmos.gov.v1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1.DepositParams"},"params":{"description":"params defines all the paramaters of x/gov module.","$ref":"#/definitions/cosmos.gov.v1.Params"},"tally_params":{"description":"Deprecated: Prefer to use `params` instead.\ntally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1.TallyParams"},"voting_params":{"description":"Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1.VotingParams"}}},"cosmos.gov.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"description":"proposal is the requested governance proposal.","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}},"cosmos.gov.v1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Proposal"}}}},"cosmos.gov.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1.TallyResult"}}},"cosmos.gov.v1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1.Vote"}}},"cosmos.gov.v1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.Vote"}}}},"cosmos.gov.v1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string"}}},"cosmos.gov.v1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the number of abstain votes on a proposal.","type":"string"},"no_count":{"description":"no_count is the number of no votes on a proposal.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the number of no with veto votes on a proposal.","type":"string"},"yes_count":{"description":"yes_count is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5"},"options":{"description":"options is the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.gov.v1beta1.Deposit":{"description":"Deposit defines an amount deposited by an account address to an active\nproposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.DepositParams":{"description":"DepositParams defines the params for deposits on governance proposals.","type":"object","properties":{"max_deposit_period":{"description":"Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths.","type":"string"},"min_deposit":{"description":"Minimum deposit for a proposal to enter voting period.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.gov.v1beta1.MsgDeposit":{"description":"MsgDeposit defines a message to submit a deposit to an existing proposal.","type":"object","properties":{"amount":{"description":"amount to be deposited by depositor.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"description":"depositor defines the deposit addresses from the proposals.","type":"string"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgDepositResponse":{"description":"MsgDepositResponse defines the Msg/Deposit response type.","type":"object"},"cosmos.gov.v1beta1.MsgSubmitProposal":{"description":"MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary\nproposal Content.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"initial_deposit":{"description":"initial_deposit is the deposit value that must be paid at proposal submission.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"proposer":{"description":"proposer is the account address of the proposer.","type":"string"}}},"cosmos.gov.v1beta1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"}}},"cosmos.gov.v1beta1.MsgVote":{"description":"MsgVote defines a message to cast a vote.","type":"object","properties":{"option":{"description":"option defines the vote option.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteResponse":{"description":"MsgVoteResponse defines the Msg/Vote response type.","type":"object"},"cosmos.gov.v1beta1.MsgVoteWeighted":{"description":"MsgVoteWeighted defines a message to cast a vote.","type":"object","properties":{"options":{"description":"options defines the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address for the proposal.","type":"string"}}},"cosmos.gov.v1beta1.MsgVoteWeightedResponse":{"description":"MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.","type":"object"},"cosmos.gov.v1beta1.Proposal":{"description":"Proposal defines the core field members of a governance proposal.","type":"object","properties":{"content":{"description":"content is the proposal's content.","$ref":"#/definitions/google.protobuf.Any"},"deposit_end_time":{"description":"deposit_end_time is the end time for deposition.","type":"string","format":"date-time"},"final_tally_result":{"description":"final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"status":{"description":"status defines the proposal status.","$ref":"#/definitions/cosmos.gov.v1beta1.ProposalStatus"},"submit_time":{"description":"submit_time is the time of proposal submission.","type":"string","format":"date-time"},"total_deposit":{"description":"total_deposit is the total deposit on the proposal.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"voting_end_time":{"description":"voting_end_time is the end time of voting on a proposal.","type":"string","format":"date-time"},"voting_start_time":{"description":"voting_start_time is the starting time to vote on a proposal.","type":"string","format":"date-time"}}},"cosmos.gov.v1beta1.ProposalStatus":{"description":"ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_DEPOSIT_PERIOD","PROPOSAL_STATUS_VOTING_PERIOD","PROPOSAL_STATUS_PASSED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_FAILED"]},"cosmos.gov.v1beta1.QueryDepositResponse":{"description":"QueryDepositResponse is the response type for the Query/Deposit RPC method.","type":"object","properties":{"deposit":{"description":"deposit defines the requested deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}}},"cosmos.gov.v1beta1.QueryDepositsResponse":{"description":"QueryDepositsResponse is the response type for the Query/Deposits RPC method.","type":"object","properties":{"deposits":{"description":"deposits defines the requested deposits.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Deposit"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.gov.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"deposit_params":{"description":"deposit_params defines the parameters related to deposit.","$ref":"#/definitions/cosmos.gov.v1beta1.DepositParams"},"tally_params":{"description":"tally_params defines the parameters related to tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyParams"},"voting_params":{"description":"voting_params defines the parameters related to voting.","$ref":"#/definitions/cosmos.gov.v1beta1.VotingParams"}}},"cosmos.gov.v1beta1.QueryProposalResponse":{"description":"QueryProposalResponse is the response type for the Query/Proposal RPC method.","type":"object","properties":{"proposal":{"$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}},"cosmos.gov.v1beta1.QueryProposalsResponse":{"description":"QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals defines all the requested governance proposals.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Proposal"}}}},"cosmos.gov.v1beta1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the response type for the Query/Tally RPC method.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.gov.v1beta1.TallyResult"}}},"cosmos.gov.v1beta1.QueryVoteResponse":{"description":"QueryVoteResponse is the response type for the Query/Vote RPC method.","type":"object","properties":{"vote":{"description":"vote defines the queried vote.","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}},"cosmos.gov.v1beta1.QueryVotesResponse":{"description":"QueryVotesResponse is the response type for the Query/Votes RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes defines the queried votes.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.Vote"}}}},"cosmos.gov.v1beta1.TallyParams":{"description":"TallyParams defines the params for tallying votes on governance proposals.","type":"object","properties":{"quorum":{"description":"Minimum percentage of total stake needed to vote for a result to be\nconsidered valid.","type":"string","format":"byte"},"threshold":{"description":"Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.","type":"string","format":"byte"},"veto_threshold":{"description":"Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3.","type":"string","format":"byte"}}},"cosmos.gov.v1beta1.TallyResult":{"description":"TallyResult defines a standard tally for a governance proposal.","type":"object","properties":{"abstain":{"description":"abstain is the number of abstain votes on a proposal.","type":"string"},"no":{"description":"no is the number of no votes on a proposal.","type":"string"},"no_with_veto":{"description":"no_with_veto is the number of no with veto votes on a proposal.","type":"string"},"yes":{"description":"yes is the number of yes votes on a proposal.","type":"string"}}},"cosmos.gov.v1beta1.Vote":{"description":"Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option.","type":"object","properties":{"option":{"description":"Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"options":{"description":"options is the weighted vote options.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.gov.v1beta1.WeightedVoteOption"}},"proposal_id":{"description":"proposal_id defines the unique id of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter address of the proposal.","type":"string"}}},"cosmos.gov.v1beta1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.gov.v1beta1.VotingParams":{"description":"VotingParams defines the params for voting on governance proposals.","type":"object","properties":{"voting_period":{"description":"Duration of the voting period.","type":"string"}}},"cosmos.gov.v1beta1.WeightedVoteOption":{"description":"WeightedVoteOption defines a unit of vote for vote split.","type":"object","properties":{"option":{"description":"option defines the valid vote options, it must not contain duplicate vote options.","$ref":"#/definitions/cosmos.gov.v1beta1.VoteOption"},"weight":{"description":"weight is the vote weight associated with the vote option.","type":"string"}}},"cosmos.group.v1.Exec":{"description":"Exec defines modes of execution of a proposal on creation or on new vote.\n\n - EXEC_UNSPECIFIED: An empty value means that there should be a separate\nMsgExec request for the proposal to execute.\n - EXEC_TRY: Try to execute the proposal immediately.\nIf the proposal is not allowed per the DecisionPolicy,\nthe proposal will still be open and could\nbe executed at a later point.","type":"string","default":"EXEC_UNSPECIFIED","enum":["EXEC_UNSPECIFIED","EXEC_TRY"]},"cosmos.group.v1.GroupInfo":{"description":"GroupInfo represents the high-level on-chain information for a group.","type":"object","properties":{"admin":{"description":"admin is the account address of the group's admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group was created.","type":"string","format":"date-time"},"id":{"description":"id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata to attached to the group.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#group-1"},"total_weight":{"description":"total_weight is the sum of the group members' weights.","type":"string"},"version":{"type":"string","format":"uint64","title":"version is used to track changes to a group's membership structure that\nwould break existing proposals. Whenever any members weight is changed,\nor any member is added or removed this version is incremented and will\ncause proposals based on older versions of this group to fail"}}},"cosmos.group.v1.GroupMember":{"description":"GroupMember represents the relationship between a group and a member.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member":{"description":"member is the member data.","$ref":"#/definitions/cosmos.group.v1.Member"}}},"cosmos.group.v1.GroupPolicyInfo":{"description":"GroupPolicyInfo represents the high-level on-chain information for a group policy.","type":"object","properties":{"address":{"description":"address is the account address of group policy.","type":"string"},"admin":{"description":"admin is the account address of the group admin.","type":"string"},"created_at":{"description":"created_at is a timestamp specifying when a group policy was created.","type":"string","format":"date-time"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the group policy.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#decision-policy-1"},"version":{"description":"version is used to track changes to a group's GroupPolicyInfo structure that\nwould create a different result on a running proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.Member":{"description":"Member represents a group member with an account address,\nnon-zero weight, metadata and added_at timestamp.","type":"object","properties":{"added_at":{"description":"added_at is a timestamp specifying when a member was added.","type":"string","format":"date-time"},"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MemberRequest":{"description":"MemberRequest represents a group member to be used in Msg server requests.\nContrary to `Member`, it doesn't have any `added_at` field\nsince this field cannot be set as part of requests.","type":"object","properties":{"address":{"description":"address is the member's account address.","type":"string"},"metadata":{"description":"metadata is any arbitrary metadata attached to the member.","type":"string"},"weight":{"description":"weight is the member's voting weight that should be greater than 0.","type":"string"}}},"cosmos.group.v1.MsgCreateGroup":{"description":"MsgCreateGroup is the Msg/CreateGroup request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}},"metadata":{"description":"metadata is any arbitrary metadata to attached to the group.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicy":{"description":"MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is any arbitrary metadata attached to the group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupPolicyResponse":{"description":"MsgCreateGroupPolicyResponse is the Msg/CreateGroupPolicy response type.","type":"object","properties":{"address":{"description":"address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgCreateGroupResponse":{"description":"MsgCreateGroupResponse is the Msg/CreateGroup response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgCreateGroupWithPolicy":{"description":"MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group and group policy admin.","type":"string"},"decision_policy":{"description":"decision_policy specifies the group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_metadata":{"description":"group_metadata is any arbitrary metadata attached to the group.","type":"string"},"group_policy_as_admin":{"description":"group_policy_as_admin is a boolean field, if set to true, the group policy account address will be used as group\nand group policy admin.","type":"boolean"},"group_policy_metadata":{"description":"group_policy_metadata is any arbitrary metadata attached to the group policy.","type":"string"},"members":{"description":"members defines the group members.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgCreateGroupWithPolicyResponse":{"description":"MsgCreateGroupWithPolicyResponse is the Msg/CreateGroupWithPolicy response type.","type":"object","properties":{"group_id":{"description":"group_id is the unique ID of the newly created group with policy.","type":"string","format":"uint64"},"group_policy_address":{"description":"group_policy_address is the account address of the newly created group policy.","type":"string"}}},"cosmos.group.v1.MsgExec":{"description":"MsgExec is the Msg/Exec request type.","type":"object","properties":{"executor":{"description":"executor is the account address used to execute the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgExecResponse":{"description":"MsgExecResponse is the Msg/Exec request type.","type":"object","properties":{"result":{"description":"result is the final result of the proposal execution.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"}}},"cosmos.group.v1.MsgLeaveGroup":{"description":"MsgLeaveGroup is the Msg/LeaveGroup request type.","type":"object","properties":{"address":{"description":"address is the account address of the group member.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgLeaveGroupResponse":{"description":"MsgLeaveGroupResponse is the Msg/LeaveGroup response type.","type":"object"},"cosmos.group.v1.MsgSubmitProposal":{"description":"MsgSubmitProposal is the Msg/SubmitProposal request type.","type":"object","properties":{"exec":{"description":"exec defines the mode of execution of the proposal,\nwhether it should be executed immediately on creation or not.\nIf so, proposers signatures are considered as Yes votes.","$ref":"#/definitions/cosmos.group.v1.Exec"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"description":"metadata is any arbitrary metadata attached to the proposal.","type":"string"},"proposers":{"description":"proposers are the account addresses of the proposers.\nProposers signatures will be counted as yes votes.","type":"array","items":{"type":"string"}},"summary":{"description":"summary is the summary of the proposal.","type":"string"},"title":{"description":"title is the title of the proposal.","type":"string"}}},"cosmos.group.v1.MsgSubmitProposalResponse":{"description":"MsgSubmitProposalResponse is the Msg/SubmitProposal response type.","type":"object","properties":{"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgUpdateGroupAdmin":{"description":"MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the current account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"new_admin":{"description":"new_admin is the group new admin account address.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupAdminResponse":{"description":"MsgUpdateGroupAdminResponse is the Msg/UpdateGroupAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMembers":{"description":"MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"member_updates":{"description":"member_updates is the list of members to update,\nset weight to 0 to remove a member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.MemberRequest"}}}},"cosmos.group.v1.MsgUpdateGroupMembersResponse":{"description":"MsgUpdateGroupMembersResponse is the Msg/UpdateGroupMembers response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupMetadata":{"description":"MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_id":{"description":"group_id is the unique ID of the group.","type":"string","format":"uint64"},"metadata":{"description":"metadata is the updated group's metadata.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupMetadataResponse":{"description":"MsgUpdateGroupMetadataResponse is the Msg/UpdateGroupMetadata response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyAdmin":{"description":"MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of the group policy.","type":"string"},"new_admin":{"description":"new_admin is the new group policy admin.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse":{"description":"MsgUpdateGroupPolicyAdminResponse is the Msg/UpdateGroupPolicyAdmin response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy":{"description":"MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"decision_policy":{"description":"decision_policy is the updated group policy's decision policy.","$ref":"#/definitions/google.protobuf.Any"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse":{"description":"MsgUpdateGroupPolicyDecisionPolicyResponse is the Msg/UpdateGroupPolicyDecisionPolicy response type.","type":"object"},"cosmos.group.v1.MsgUpdateGroupPolicyMetadata":{"description":"MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type.","type":"object","properties":{"admin":{"description":"admin is the account address of the group admin.","type":"string"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"metadata":{"description":"metadata is the group policy metadata to be updated.","type":"string"}}},"cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse":{"description":"MsgUpdateGroupPolicyMetadataResponse is the Msg/UpdateGroupPolicyMetadata response type.","type":"object"},"cosmos.group.v1.MsgVote":{"description":"MsgVote is the Msg/Vote request type.","type":"object","properties":{"exec":{"description":"exec defines whether the proposal should be executed\nimmediately after voting or not.","$ref":"#/definitions/cosmos.group.v1.Exec"},"metadata":{"description":"metadata is any arbitrary metadata attached to the vote.","type":"string"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"voter":{"description":"voter is the voter account address.","type":"string"}}},"cosmos.group.v1.MsgVoteResponse":{"description":"MsgVoteResponse is the Msg/Vote response type.","type":"object"},"cosmos.group.v1.MsgWithdrawProposal":{"description":"MsgWithdrawProposal is the Msg/WithdrawProposal request type.","type":"object","properties":{"address":{"description":"address is the admin of the group policy or one of the proposer of the proposal.","type":"string"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"}}},"cosmos.group.v1.MsgWithdrawProposalResponse":{"description":"MsgWithdrawProposalResponse is the Msg/WithdrawProposal response type.","type":"object"},"cosmos.group.v1.Proposal":{"description":"Proposal defines a group proposal. Any member of a group can submit a proposal\nfor a group policy to decide upon.\nA proposal consists of a set of `sdk.Msg`s that will be executed if the proposal\npasses as well as some optional metadata associated with the proposal.","type":"object","properties":{"executor_result":{"description":"executor_result is the final result of the proposal execution. Initial value is NotRun.","$ref":"#/definitions/cosmos.group.v1.ProposalExecutorResult"},"final_tally_result":{"description":"final_tally_result contains the sums of all weighted votes for this\nproposal for each vote option. It is empty at submission, and only\npopulated after tallying, at voting period end or at proposal execution,\nwhichever happens first.","$ref":"#/definitions/cosmos.group.v1.TallyResult"},"group_policy_address":{"description":"group_policy_address is the account address of group policy.","type":"string"},"group_policy_version":{"description":"group_policy_version tracks the version of the group policy at proposal submission.\nWhen a decision policy is changed, existing proposals from previous policy\nversions will become invalid with the `ABORTED` status.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"group_version":{"description":"group_version tracks the version of the group at proposal submission.\nThis field is here for informational purposes only.","type":"string","format":"uint64"},"id":{"description":"id is the unique id of the proposal.","type":"string","format":"uint64"},"messages":{"description":"messages is a list of `sdk.Msg`s that will be executed if the proposal passes.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/group#proposal-4"},"proposers":{"description":"proposers are the account addresses of the proposers.","type":"array","items":{"type":"string"}},"status":{"description":"status represents the high level position in the life cycle of the proposal. Initial value is Submitted.","$ref":"#/definitions/cosmos.group.v1.ProposalStatus"},"submit_time":{"description":"submit_time is a timestamp specifying when a proposal was submitted.","type":"string","format":"date-time"},"summary":{"type":"string","title":"summary is a short summary of the proposal"},"title":{"type":"string","title":"title is the title of the proposal"},"voting_period_end":{"description":"voting_period_end is the timestamp before which voting must be done.\nUnless a successful MsgExec is called before (to execute a proposal whose\ntally is successful before the voting period ends), tallying will be done\nat this point, and the `final_tally_result`and `status` fields will be\naccordingly updated.","type":"string","format":"date-time"}}},"cosmos.group.v1.ProposalExecutorResult":{"description":"ProposalExecutorResult defines types of proposal executor results.\n\n - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: An empty value is not allowed.\n - PROPOSAL_EXECUTOR_RESULT_NOT_RUN: We have not yet run the executor.\n - PROPOSAL_EXECUTOR_RESULT_SUCCESS: The executor was successful and proposed action updated state.\n - PROPOSAL_EXECUTOR_RESULT_FAILURE: The executor returned an error and proposed action didn't update state.","type":"string","default":"PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","enum":["PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED","PROPOSAL_EXECUTOR_RESULT_NOT_RUN","PROPOSAL_EXECUTOR_RESULT_SUCCESS","PROPOSAL_EXECUTOR_RESULT_FAILURE"]},"cosmos.group.v1.ProposalStatus":{"description":"ProposalStatus defines proposal statuses.\n\n - PROPOSAL_STATUS_UNSPECIFIED: An empty value is invalid and not allowed.\n - PROPOSAL_STATUS_SUBMITTED: Initial status of a proposal when submitted.\n - PROPOSAL_STATUS_ACCEPTED: Final status of a proposal when the final tally is done and the outcome\npasses the group policy's decision policy.\n - PROPOSAL_STATUS_REJECTED: Final status of a proposal when the final tally is done and the outcome\nis rejected by the group policy's decision policy.\n - PROPOSAL_STATUS_ABORTED: Final status of a proposal when the group policy is modified before the\nfinal tally.\n - PROPOSAL_STATUS_WITHDRAWN: A proposal can be withdrawn before the voting start time by the owner.\nWhen this happens the final status is Withdrawn.","type":"string","default":"PROPOSAL_STATUS_UNSPECIFIED","enum":["PROPOSAL_STATUS_UNSPECIFIED","PROPOSAL_STATUS_SUBMITTED","PROPOSAL_STATUS_ACCEPTED","PROPOSAL_STATUS_REJECTED","PROPOSAL_STATUS_ABORTED","PROPOSAL_STATUS_WITHDRAWN"]},"cosmos.group.v1.QueryGroupInfoResponse":{"description":"QueryGroupInfoResponse is the Query/GroupInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupInfo of the group.","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}}},"cosmos.group.v1.QueryGroupMembersResponse":{"description":"QueryGroupMembersResponse is the Query/GroupMembersResponse response type.","type":"object","properties":{"members":{"description":"members are the members of the group with given group_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupMember"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByAdminResponse":{"description":"QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info with provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPoliciesByGroupResponse":{"description":"QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup response type.","type":"object","properties":{"group_policies":{"description":"group_policies are the group policies info associated with the provided group.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupPolicyInfoResponse":{"description":"QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response type.","type":"object","properties":{"info":{"description":"info is the GroupPolicyInfo of the group policy.","$ref":"#/definitions/cosmos.group.v1.GroupPolicyInfo"}}},"cosmos.group.v1.QueryGroupsByAdminResponse":{"description":"QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided admin.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsByMemberResponse":{"description":"QueryGroupsByMemberResponse is the Query/GroupsByMember response type.","type":"object","properties":{"groups":{"description":"groups are the groups info with the provided group member.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryGroupsResponse":{"description":"QueryGroupsResponse is the Query/Groups response type.","type":"object","properties":{"groups":{"description":"`groups` is all the groups present in state.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.GroupInfo"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.group.v1.QueryProposalResponse":{"description":"QueryProposalResponse is the Query/Proposal response type.","type":"object","properties":{"proposal":{"description":"proposal is the proposal info.","$ref":"#/definitions/cosmos.group.v1.Proposal"}}},"cosmos.group.v1.QueryProposalsByGroupPolicyResponse":{"description":"QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"proposals":{"description":"proposals are the proposals with given group policy.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Proposal"}}}},"cosmos.group.v1.QueryTallyResultResponse":{"description":"QueryTallyResultResponse is the Query/TallyResult response type.","type":"object","properties":{"tally":{"description":"tally defines the requested tally.","$ref":"#/definitions/cosmos.group.v1.TallyResult"}}},"cosmos.group.v1.QueryVoteByProposalVoterResponse":{"description":"QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter response type.","type":"object","properties":{"vote":{"description":"vote is the vote with given proposal_id and voter.","$ref":"#/definitions/cosmos.group.v1.Vote"}}},"cosmos.group.v1.QueryVotesByProposalResponse":{"description":"QueryVotesByProposalResponse is the Query/VotesByProposal response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes for given proposal_id.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.QueryVotesByVoterResponse":{"description":"QueryVotesByVoterResponse is the Query/VotesByVoter response type.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"votes":{"description":"votes are the list of votes by given voter.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.group.v1.Vote"}}}},"cosmos.group.v1.TallyResult":{"description":"TallyResult represents the sum of weighted votes for each vote option.","type":"object","properties":{"abstain_count":{"description":"abstain_count is the weighted sum of abstainers.","type":"string"},"no_count":{"description":"no_count is the weighted sum of no votes.","type":"string"},"no_with_veto_count":{"description":"no_with_veto_count is the weighted sum of veto.","type":"string"},"yes_count":{"description":"yes_count is the weighted sum of yes votes.","type":"string"}}},"cosmos.group.v1.Vote":{"type":"object","title":"Vote represents a vote for a proposal.string metadata","properties":{"metadata":{"type":"string","title":"metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/group#vote-2"},"option":{"description":"option is the voter's choice on the proposal.","$ref":"#/definitions/cosmos.group.v1.VoteOption"},"proposal_id":{"description":"proposal is the unique ID of the proposal.","type":"string","format":"uint64"},"submit_time":{"description":"submit_time is the timestamp when the vote was submitted.","type":"string","format":"date-time"},"voter":{"description":"voter is the account address of the voter.","type":"string"}}},"cosmos.group.v1.VoteOption":{"description":"VoteOption enumerates the valid vote options for a given proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will\nreturn an error.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.","type":"string","default":"VOTE_OPTION_UNSPECIFIED","enum":["VOTE_OPTION_UNSPECIFIED","VOTE_OPTION_YES","VOTE_OPTION_ABSTAIN","VOTE_OPTION_NO","VOTE_OPTION_NO_WITH_VETO"]},"cosmos.mint.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/mint parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.mint.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.mint.v1beta1.Params":{"description":"Params defines the parameters for the x/mint module.","type":"object","properties":{"blocks_per_year":{"type":"string","format":"uint64","title":"expected blocks per year"},"goal_bonded":{"type":"string","title":"goal of percent bonded atoms"},"inflation_max":{"type":"string","title":"maximum inflation rate"},"inflation_min":{"type":"string","title":"minimum inflation rate"},"inflation_rate_change":{"type":"string","title":"maximum annual change in inflation rate"},"mint_denom":{"type":"string","title":"type of coin to mint"}}},"cosmos.mint.v1beta1.QueryAnnualProvisionsResponse":{"description":"QueryAnnualProvisionsResponse is the response type for the\nQuery/AnnualProvisions RPC method.","type":"object","properties":{"annual_provisions":{"description":"annual_provisions is the current minting annual provisions value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryInflationResponse":{"description":"QueryInflationResponse is the response type for the Query/Inflation RPC\nmethod.","type":"object","properties":{"inflation":{"description":"inflation is the current minting inflation value.","type":"string","format":"byte"}}},"cosmos.mint.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params defines the parameters of the module.","$ref":"#/definitions/cosmos.mint.v1beta1.Params"}}},"cosmos.nft.v1beta1.Class":{"description":"Class defines the class of the nft type.","type":"object","properties":{"data":{"title":"data is the app specific metadata of the NFT class. Optional","$ref":"#/definitions/google.protobuf.Any"},"description":{"type":"string","title":"description is a brief description of nft classification. Optional"},"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"},"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"}}},"cosmos.nft.v1beta1.MsgSend":{"description":"MsgSend represents a message to send a nft from one account to another account.","type":"object","properties":{"class_id":{"type":"string","title":"class_id defines the unique identifier of the nft classification, similar to the contract address of ERC721"},"id":{"type":"string","title":"id defines the unique identification of nft"},"receiver":{"type":"string","title":"receiver is the receiver address of nft"},"sender":{"type":"string","title":"sender is the address of the owner of nft"}}},"cosmos.nft.v1beta1.MsgSendResponse":{"description":"MsgSendResponse defines the Msg/Send response type.","type":"object"},"cosmos.nft.v1beta1.NFT":{"description":"NFT defines the NFT.","type":"object","properties":{"class_id":{"type":"string","title":"class_id associated with the NFT, similar to the contract address of ERC721"},"data":{"title":"data is an app specific data of the NFT. Optional","$ref":"#/definitions/google.protobuf.Any"},"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"}}},"cosmos.nft.v1beta1.QueryBalanceResponse":{"type":"object","title":"QueryBalanceResponse is the response type for the Query/Balance RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs of a given class owned by the owner"}}},"cosmos.nft.v1beta1.QueryClassResponse":{"type":"object","title":"QueryClassResponse is the response type for the Query/Class RPC method","properties":{"class":{"description":"class defines the class of the nft type.","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}}},"cosmos.nft.v1beta1.QueryClassesResponse":{"type":"object","title":"QueryClassesResponse is the response type for the Query/Classes RPC method","properties":{"classes":{"description":"class defines the class of the nft type.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.Class"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryNFTResponse":{"type":"object","title":"QueryNFTResponse is the response type for the Query/NFT RPC method","properties":{"nft":{"title":"owner is the owner address of the nft","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}}},"cosmos.nft.v1beta1.QueryNFTsResponse":{"type":"object","title":"QueryNFTsResponse is the response type for the Query/NFTs RPC methods","properties":{"nfts":{"type":"array","title":"NFT defines the NFT","items":{"type":"object","$ref":"#/definitions/cosmos.nft.v1beta1.NFT"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.nft.v1beta1.QueryOwnerResponse":{"type":"object","title":"QueryOwnerResponse is the response type for the Query/Owner RPC method","properties":{"owner":{"type":"string","title":"owner is the owner address of the nft"}}},"cosmos.nft.v1beta1.QuerySupplyResponse":{"type":"object","title":"QuerySupplyResponse is the response type for the Query/Supply RPC method","properties":{"amount":{"type":"string","format":"uint64","title":"amount is the number of all NFTs from the given class"}}},"cosmos.params.v1beta1.ParamChange":{"description":"ParamChange defines an individual parameter change, for use in\nParameterChangeProposal.","type":"object","properties":{"key":{"type":"string"},"subspace":{"type":"string"},"value":{"type":"string"}}},"cosmos.params.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"param":{"description":"param defines the queried parameter.","$ref":"#/definitions/cosmos.params.v1beta1.ParamChange"}}},"cosmos.params.v1beta1.QuerySubspacesResponse":{"description":"QuerySubspacesResponse defines the response types for querying for all\nregistered subspaces and all keys for a subspace.","type":"object","properties":{"subspaces":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.params.v1beta1.Subspace"}}}},"cosmos.params.v1beta1.Subspace":{"description":"Subspace defines a parameter subspace name and all the keys that exist for\nthe subspace.","type":"object","properties":{"keys":{"type":"array","items":{"type":"string"}},"subspace":{"type":"string"}}},"cosmos.protocolpool.v1.ContinuousFund":{"description":"ContinuousFund defines the fields of continuous fund proposal.","type":"object","properties":{"expiry":{"description":"Optional, if expiry is set, removes the state object when expired.","type":"string","format":"date-time"},"percentage":{"description":"Percentage is the percentage of funds to be allocated from Community pool.","type":"string"},"recipient":{"description":"Recipient is the address string of the account receiving funds.","type":"string"}}},"cosmos.protocolpool.v1.MsgCancelContinuousFund":{"description":"MsgCancelContinuousFund defines a message to cancel continuous funds for a specific recipient.","type":"object","properties":{"authority":{"description":"Authority is the account address of authority.","type":"string"},"recipient":{"description":"Recipient is the account address string of the recipient whose funds are to be cancelled.","type":"string"}}},"cosmos.protocolpool.v1.MsgCancelContinuousFundResponse":{"description":"MsgCancelContinuousFundResponse defines the response to executing a\nMsgCancelContinuousFund message.","type":"object","properties":{"canceled_height":{"description":"CanceledHeight defines the canceled block height.","type":"string","format":"uint64"},"canceled_time":{"description":"CanceledTime is the canceled time.","type":"string","format":"date-time"},"recipient":{"description":"Recipient is the account address string of the recipient whose funds are cancelled.","type":"string"}}},"cosmos.protocolpool.v1.MsgCommunityPoolSpend":{"description":"MsgCommunityPoolSpend defines a message for sending tokens from the community\npool to another account. This message is typically executed via a governance\nproposal with the governance module being the executing authority.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"authority":{"description":"Authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"recipient":{"type":"string"}}},"cosmos.protocolpool.v1.MsgCommunityPoolSpendResponse":{"description":"MsgCommunityPoolSpendResponse defines the response to executing a\nMsgCommunityPoolSpend message.","type":"object"},"cosmos.protocolpool.v1.MsgCreateContinuousFund":{"description":"MsgCreateContinuousFund defines a message for adding continuous funds.","type":"object","properties":{"authority":{"description":"Authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"expiry":{"description":"Optional, if expiry is set, removes the state object when expired.","type":"string","format":"date-time"},"percentage":{"description":"Percentage is the percentage of funds to be allocated from Community pool.","type":"string"},"recipient":{"description":"Recipient address of the account receiving funds.","type":"string"}}},"cosmos.protocolpool.v1.MsgCreateContinuousFundResponse":{"description":"MsgCreateContinuousFundResponse defines the response to executing a\nMsgCreateContinuousFund message.","type":"object"},"cosmos.protocolpool.v1.MsgFundCommunityPool":{"description":"MsgFundCommunityPool allows an account to directly\nfund the community pool.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"depositor":{"type":"string"}}},"cosmos.protocolpool.v1.MsgFundCommunityPoolResponse":{"description":"MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.","type":"object"},"cosmos.protocolpool.v1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/protocolpool parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.protocolpool.v1.Params"}}},"cosmos.protocolpool.v1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.protocolpool.v1.Params":{"description":"Params defines the parameters for the protocolpool module.","type":"object","properties":{"distribution_frequency":{"description":"DistributionFrequency is the frequency (in terms of blocks) that funds are distributed out from the\nx/protocolpool module.","type":"string","format":"uint64"},"enabled_distribution_denoms":{"description":"EnabledDistributionDenoms lists the denoms that are allowed to be distributed.\nThis is to avoid spending time distributing undesired tokens to continuous funds and budgets.","type":"array","items":{"type":"string"}}}},"cosmos.protocolpool.v1.QueryCommunityPoolResponse":{"description":"QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method.","type":"object","properties":{"pool":{"description":"pool defines community pool's coins.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}}},"cosmos.protocolpool.v1.QueryContinuousFundResponse":{"description":"QueryUnclaimedBudgetResponse is the response type for the Query/ContinuousFund\nRPC method.","type":"object","properties":{"continuous_fund":{"description":"ContinuousFunds is the given continuous fund returned in the query.","$ref":"#/definitions/cosmos.protocolpool.v1.ContinuousFund"}}},"cosmos.protocolpool.v1.QueryContinuousFundsResponse":{"description":"QueryUnclaimedBudgetResponse is the response type for the Query/ContinuousFunds\nRPC method.","type":"object","properties":{"continuous_funds":{"description":"ContinuousFunds defines all continuous funds in state.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.protocolpool.v1.ContinuousFund"}}}},"cosmos.protocolpool.v1.QueryParamsResponse":{"description":"QueryParamsResponse is the response type for the Query/Params RPC method.","type":"object","properties":{"params":{"$ref":"#/definitions/cosmos.protocolpool.v1.Params"}}},"cosmos.slashing.v1beta1.MsgUnjail":{"type":"object","title":"MsgUnjail defines the Msg/Unjail request type","properties":{"validator_addr":{"type":"string"}}},"cosmos.slashing.v1beta1.MsgUnjailResponse":{"type":"object","title":"MsgUnjailResponse defines the Msg/Unjail response type"},"cosmos.slashing.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/slashing parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.slashing.v1beta1.Params":{"description":"Params represents the parameters used for by the slashing module.","type":"object","properties":{"downtime_jail_duration":{"type":"string"},"min_signed_per_window":{"type":"string","format":"byte"},"signed_blocks_window":{"type":"string","format":"int64"},"slash_fraction_double_sign":{"type":"string","format":"byte"},"slash_fraction_downtime":{"type":"string","format":"byte"}}},"cosmos.slashing.v1beta1.QueryParamsResponse":{"type":"object","title":"QueryParamsResponse is the response type for the Query/Params RPC method","properties":{"params":{"$ref":"#/definitions/cosmos.slashing.v1beta1.Params"}}},"cosmos.slashing.v1beta1.QuerySigningInfoResponse":{"type":"object","title":"QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod","properties":{"val_signing_info":{"title":"val_signing_info is the signing info of requested val cons address","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}}},"cosmos.slashing.v1beta1.QuerySigningInfosResponse":{"type":"object","title":"QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod","properties":{"info":{"type":"array","title":"info is the signing info of all validators","items":{"type":"object","$ref":"#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.slashing.v1beta1.ValidatorSigningInfo":{"description":"ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity.","type":"object","properties":{"address":{"type":"string"},"index_offset":{"description":"Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap.","type":"string","format":"int64"},"jailed_until":{"description":"Timestamp until which the validator is jailed due to liveness downtime.","type":"string","format":"date-time"},"missed_blocks_counter":{"description":"A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap.","type":"string","format":"int64"},"start_height":{"type":"string","format":"int64","title":"Height at which validator was first a candidate OR was un-jailed"},"tombstoned":{"description":"Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior.","type":"boolean"}}},"cosmos.staking.v1beta1.BondStatus":{"description":"BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded.","type":"string","default":"BOND_STATUS_UNSPECIFIED","enum":["BOND_STATUS_UNSPECIFIED","BOND_STATUS_UNBONDED","BOND_STATUS_UNBONDING","BOND_STATUS_BONDED"]},"cosmos.staking.v1beta1.Commission":{"description":"Commission defines commission parameters for a given validator.","type":"object","properties":{"commission_rates":{"description":"commission_rates defines the initial commission rates to be used for creating a validator.","$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"update_time":{"description":"update_time is the last time the commission rate was changed.","type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.CommissionRates":{"description":"CommissionRates defines the initial commission rates to be used for creating\na validator.","type":"object","properties":{"max_change_rate":{"description":"max_change_rate defines the maximum daily increase of the validator commission, as a fraction.","type":"string"},"max_rate":{"description":"max_rate defines the maximum commission rate which validator can ever charge, as a fraction.","type":"string"},"rate":{"description":"rate is the commission rate charged to delegators, as a fraction.","type":"string"}}},"cosmos.staking.v1beta1.Delegation":{"description":"Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"shares":{"description":"shares define the delegation shares received.","type":"string"},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.DelegationResponse":{"description":"DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses.","type":"object","properties":{"balance":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Delegation"}}},"cosmos.staking.v1beta1.Description":{"description":"Description defines a validator description.","type":"object","properties":{"details":{"description":"details define other optional details.","type":"string"},"identity":{"description":"identity defines an optional identity signature (ex. UPort or Keybase).","type":"string"},"moniker":{"description":"moniker defines a human-readable name for the validator.","type":"string"},"security_contact":{"description":"security_contact defines an optional email for security contact.","type":"string"},"website":{"description":"website defines an optional website link.","type":"string"}}},"cosmos.staking.v1beta1.HistoricalInfo":{"description":"HistoricalInfo contains header and validator information for a given block.\nIt is stored as part of staking module's state, which persists the `n` most\nrecent HistoricalInfo\n(`n` is set by the staking module's `historical_entries` parameter).","type":"object","properties":{"header":{"$ref":"#/definitions/tendermint.types.Header"},"valset":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.MsgBeginRedelegate":{"description":"MsgBeginRedelegate defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_dst_address":{"type":"string"},"validator_src_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgBeginRedelegateResponse":{"description":"MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type.","type":"object","properties":{"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegation":{"type":"object","title":"MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator","properties":{"amount":{"title":"amount is always less than or equal to unbonding delegation entry balance","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse":{"type":"object","title":"MsgCancelUnbondingDelegationResponse"},"cosmos.staking.v1beta1.MsgCreateValidator":{"description":"MsgCreateValidator defines a SDK message for creating a new validator.","type":"object","properties":{"commission":{"$ref":"#/definitions/cosmos.staking.v1beta1.CommissionRates"},"delegator_address":{"description":"Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated.\nThe validator address bytes and delegator address bytes refer to the same account while creating validator (defer\nonly in bech32 notation).","type":"string"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"pubkey":{"$ref":"#/definitions/google.protobuf.Any"},"validator_address":{"type":"string"},"value":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cosmos.staking.v1beta1.MsgCreateValidatorResponse":{"description":"MsgCreateValidatorResponse defines the Msg/CreateValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgDelegate":{"description":"MsgDelegate defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgDelegateResponse":{"description":"MsgDelegateResponse defines the Msg/Delegate response type.","type":"object"},"cosmos.staking.v1beta1.MsgEditValidator":{"description":"MsgEditValidator defines a SDK message for editing an existing validator.","type":"object","properties":{"commission_rate":{"type":"string","title":"We pass a reference to the new commission rate and min self delegation as\nit's not mandatory to update. If not updated, the deserialized rate will be\nzero with no way to distinguish if an update was intended.\nREF: #2373"},"description":{"$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"min_self_delegation":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgEditValidatorResponse":{"description":"MsgEditValidatorResponse defines the Msg/EditValidator response type.","type":"object"},"cosmos.staking.v1beta1.MsgUndelegate":{"description":"MsgUndelegate defines a SDK message for performing an undelegation from a\ndelegate and a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"cosmos.staking.v1beta1.MsgUndelegateResponse":{"description":"MsgUndelegateResponse defines the Msg/Undelegate response type.","type":"object","properties":{"amount":{"title":"amount returns the amount of undelegated coins","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"completion_time":{"type":"string","format":"date-time"}}},"cosmos.staking.v1beta1.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the x/staking parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cosmos.staking.v1beta1.Params":{"description":"Params defines the parameters for the x/staking module.","type":"object","properties":{"bond_denom":{"description":"bond_denom defines the bondable coin denomination.","type":"string"},"historical_entries":{"description":"historical_entries is the number of historical entries to persist.","type":"integer","format":"int64"},"max_entries":{"description":"max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).","type":"integer","format":"int64"},"max_validators":{"description":"max_validators is the maximum number of validators.","type":"integer","format":"int64"},"min_commission_rate":{"type":"string","title":"min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators"},"unbonding_time":{"description":"unbonding_time is the time duration of unbonding.","type":"string"}}},"cosmos.staking.v1beta1.Pool":{"description":"Pool is used for tracking bonded and not-bonded token supply of the bond\ndenomination.","type":"object","properties":{"bonded_tokens":{"type":"string"},"not_bonded_tokens":{"type":"string"}}},"cosmos.staking.v1beta1.QueryDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/Delegation RPC method.","type":"object","properties":{"delegation_response":{"description":"delegation_responses defines the delegation info of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse":{"description":"QueryDelegatorDelegationsResponse is response type for the\nQuery/DelegatorDelegations RPC method.","type":"object","properties":{"delegation_responses":{"description":"delegation_responses defines all the delegations' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse":{"description":"QueryUnbondingDelegatorDelegationsResponse is response type for the\nQuery/UnbondingDelegatorDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorResponse":{"description":"QueryDelegatorValidatorResponse response type for the\nQuery/DelegatorValidator RPC method.","type":"object","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse":{"description":"QueryDelegatorValidatorsResponse is response type for the\nQuery/DelegatorValidators RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators defines the validators' info of a delegator.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.QueryHistoricalInfoResponse":{"description":"QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC\nmethod.","type":"object","properties":{"hist":{"description":"hist defines the historical info at the given height.","$ref":"#/definitions/cosmos.staking.v1beta1.HistoricalInfo"}}},"cosmos.staking.v1beta1.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cosmos.staking.v1beta1.Params"}}},"cosmos.staking.v1beta1.QueryPoolResponse":{"description":"QueryPoolResponse is response type for the Query/Pool RPC method.","type":"object","properties":{"pool":{"description":"pool defines the pool info.","$ref":"#/definitions/cosmos.staking.v1beta1.Pool"}}},"cosmos.staking.v1beta1.QueryRedelegationsResponse":{"description":"QueryRedelegationsResponse is response type for the Query/Redelegations RPC\nmethod.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"redelegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationResponse"}}}},"cosmos.staking.v1beta1.QueryUnbondingDelegationResponse":{"description":"QueryDelegationResponse is response type for the Query/UnbondingDelegation\nRPC method.","type":"object","properties":{"unbond":{"description":"unbond defines the unbonding information of a delegation.","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}},"cosmos.staking.v1beta1.QueryValidatorDelegationsResponse":{"type":"object","title":"QueryValidatorDelegationsResponse is response type for the\nQuery/ValidatorDelegations RPC method","properties":{"delegation_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.DelegationResponse"}},"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"cosmos.staking.v1beta1.QueryValidatorResponse":{"type":"object","title":"QueryValidatorResponse is response type for the Query/Validator RPC method","properties":{"validator":{"description":"validator defines the validator info.","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}},"cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse":{"description":"QueryValidatorUnbondingDelegationsResponse is response type for the\nQuery/ValidatorUnbondingDelegations RPC method.","type":"object","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"unbonding_responses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegation"}}}},"cosmos.staking.v1beta1.QueryValidatorsResponse":{"type":"object","title":"QueryValidatorsResponse is response type for the Query/Validators RPC method","properties":{"pagination":{"description":"pagination defines the pagination in the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"validators":{"description":"validators contains all the queried validators.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.Validator"}}}},"cosmos.staking.v1beta1.Redelegation":{"description":"Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the bech32-encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the redelegation entries.\n\nredelegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}},"validator_dst_address":{"description":"validator_dst_address is the validator redelegation destination operator address.","type":"string"},"validator_src_address":{"description":"validator_src_address is the validator redelegation source operator address.","type":"string"}}},"cosmos.staking.v1beta1.RedelegationEntry":{"description":"RedelegationEntry defines a redelegation object with relevant metadata.","type":"object","properties":{"completion_time":{"description":"completion_time defines the unix time for redelegation completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height defines the height which the redelegation took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the initial balance when redelegation started.","type":"string"},"shares_dst":{"description":"shares_dst is the amount of destination-validator shares created by redelegation.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.RedelegationEntryResponse":{"description":"RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"balance":{"type":"string"},"redelegation_entry":{"$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntry"}}},"cosmos.staking.v1beta1.RedelegationResponse":{"description":"RedelegationResponse is equivalent to a Redelegation except that its entries\ncontain a balance in addition to shares which is more suitable for client\nresponses.","type":"object","properties":{"entries":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.RedelegationEntryResponse"}},"redelegation":{"$ref":"#/definitions/cosmos.staking.v1beta1.Redelegation"}}},"cosmos.staking.v1beta1.UnbondingDelegation":{"description":"UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list.","type":"object","properties":{"delegator_address":{"description":"delegator_address is the encoded address of the delegator.","type":"string"},"entries":{"description":"entries are the unbonding delegation entries.\n\nunbonding delegation entries","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.staking.v1beta1.UnbondingDelegationEntry"}},"validator_address":{"description":"validator_address is the encoded address of the validator.","type":"string"}}},"cosmos.staking.v1beta1.UnbondingDelegationEntry":{"description":"UnbondingDelegationEntry defines an unbonding object with relevant metadata.","type":"object","properties":{"balance":{"description":"balance defines the tokens to receive at completion.","type":"string"},"completion_time":{"description":"completion_time is the unix time for unbonding completion.","type":"string","format":"date-time"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"initial_balance":{"description":"initial_balance defines the tokens initially scheduled to receive at completion.","type":"string"},"unbonding_id":{"type":"string","format":"uint64","title":"Incrementing id that uniquely identifies this entry"},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"Strictly positive if this entry's unbonding has been stopped by external modules"}}},"cosmos.staking.v1beta1.Validator":{"description":"Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate.","type":"object","properties":{"commission":{"description":"commission defines the commission parameters.","$ref":"#/definitions/cosmos.staking.v1beta1.Commission"},"consensus_pubkey":{"description":"consensus_pubkey is the consensus public key of the validator, as a Protobuf Any.","$ref":"#/definitions/google.protobuf.Any"},"delegator_shares":{"description":"delegator_shares defines total shares issued to a validator's delegators.","type":"string"},"description":{"description":"description defines the description terms for the validator.","$ref":"#/definitions/cosmos.staking.v1beta1.Description"},"jailed":{"description":"jailed defined whether the validator has been jailed from bonded status or not.","type":"boolean"},"min_self_delegation":{"description":"min_self_delegation is the validator's self declared minimum self delegation.","type":"string"},"operator_address":{"description":"operator_address defines the address of the validator's operator; bech encoded in JSON.","type":"string"},"status":{"description":"status is the validator status (bonded/unbonding/unbonded).","$ref":"#/definitions/cosmos.staking.v1beta1.BondStatus"},"tokens":{"description":"tokens define the delegated tokens (incl. self-delegation).","type":"string"},"unbonding_height":{"description":"unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.","type":"string","format":"int64"},"unbonding_ids":{"type":"array","title":"list of unbonding ids, each uniquely identifing an unbonding of this validator","items":{"type":"string","format":"uint64"}},"unbonding_on_hold_ref_count":{"type":"string","format":"int64","title":"strictly positive if this validator's unbonding has been stopped by external modules"},"unbonding_time":{"description":"unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.","type":"string","format":"date-time"}}},"cosmos.store.streaming.abci.ListenCommitRequest":{"type":"object","title":"ListenCommitRequest is the request type for the ListenCommit RPC method","properties":{"block_height":{"type":"string","format":"int64","title":"explicitly pass in block height as ResponseCommit does not contain this info"},"change_set":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.store.v1beta1.StoreKVPair"}},"res":{"$ref":"#/definitions/tendermint.abci.ResponseCommit"}}},"cosmos.store.streaming.abci.ListenCommitResponse":{"type":"object","title":"ListenCommitResponse is the response type for the ListenCommit RPC method"},"cosmos.store.streaming.abci.ListenFinalizeBlockRequest":{"type":"object","title":"ListenEndBlockRequest is the request type for the ListenEndBlock RPC method","properties":{"req":{"$ref":"#/definitions/tendermint.abci.RequestFinalizeBlock"},"res":{"$ref":"#/definitions/tendermint.abci.ResponseFinalizeBlock"}}},"cosmos.store.streaming.abci.ListenFinalizeBlockResponse":{"type":"object","title":"ListenEndBlockResponse is the response type for the ListenEndBlock RPC method"},"cosmos.store.v1beta1.StoreKVPair":{"type":"object","title":"StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes)\nIt optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and\nDeletes","properties":{"delete":{"type":"boolean","title":"true indicates a delete operation, false indicates a set operation"},"key":{"type":"string","format":"byte"},"store_key":{"type":"string","title":"the store key for the KVStore this pair originates from"},"value":{"type":"string","format":"byte"}}},"cosmos.tx.signing.v1beta1.SignMode":{"description":"SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT.\n\nSince: cosmos-sdk 0.50\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2","type":"string","default":"SIGN_MODE_UNSPECIFIED","enum":["SIGN_MODE_UNSPECIFIED","SIGN_MODE_DIRECT","SIGN_MODE_TEXTUAL","SIGN_MODE_DIRECT_AUX","SIGN_MODE_LEGACY_AMINO_JSON","SIGN_MODE_EIP_191"]},"cosmos.tx.v1beta1.AuthInfo":{"description":"AuthInfo describes the fee and signer modes that are used to sign a\ntransaction.","type":"object","properties":{"fee":{"description":"Fee is the fee and gas limit for the transaction. The first signer is the\nprimary signer and the one which pays the fee. The fee can be calculated\nbased on the cost of evaluating the body and doing signature verification\nof the signers. This can be estimated via simulation.","$ref":"#/definitions/cosmos.tx.v1beta1.Fee"},"signer_infos":{"description":"signer_infos defines the signing modes for the required signers. The number\nand order of elements must match the required signers from TxBody's\nmessages. The first element is the primary signer and the one which pays\nthe fee.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.SignerInfo"}},"tip":{"description":"Tip is the optional tip used for transactions fees paid in another denom.\n\nThis field is ignored if the chain didn't enable tips, i.e. didn't add the\n`TipDecorator` in its posthandler.","$ref":"#/definitions/cosmos.tx.v1beta1.Tip"}}},"cosmos.tx.v1beta1.BroadcastMode":{"description":"BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC\nmethod.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits\nfor a CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client\nreturns immediately.","type":"string","default":"BROADCAST_MODE_UNSPECIFIED","enum":["BROADCAST_MODE_UNSPECIFIED","BROADCAST_MODE_BLOCK","BROADCAST_MODE_SYNC","BROADCAST_MODE_ASYNC"]},"cosmos.tx.v1beta1.BroadcastTxRequest":{"description":"BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method.","type":"object","properties":{"mode":{"$ref":"#/definitions/cosmos.tx.v1beta1.BroadcastMode"},"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.BroadcastTxResponse":{"description":"BroadcastTxResponse is the response type for the\nService.BroadcastTx method.","type":"object","properties":{"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.Fee":{"description":"Fee includes the amount of coins paid in fees and the maximum\ngas to be used by the transaction. The ratio yields an effective \"gasprice\",\nwhich must be above some miminum to be accepted into the mempool.","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of coins to be paid as a fee","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"gas_limit":{"type":"string","format":"uint64","title":"gas_limit is the maximum gas that can be used in transaction processing\nbefore an out of gas error occurs"},"granter":{"type":"string","title":"if set, the fee payer (either the first signer or the value of the payer\nfield) requests that a fee grant be used to pay fees instead of the fee\npayer's own balance. If an appropriate fee grant does not exist or the\nchain does not support fee grants, this will fail"},"payer":{"description":"if unset, the first signer is responsible for paying the fees. If set, the\nspecified account must pay the fees. the payer must be a tx signer (and\nthus have signed this field in AuthInfo). setting this field does *not*\nchange the ordering of required signers for the transaction.","type":"string"}}},"cosmos.tx.v1beta1.GetBlockWithTxsResponse":{"description":"GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs\nmethod.","type":"object","properties":{"block":{"$ref":"#/definitions/tendermint.types.Block"},"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"pagination":{"description":"pagination defines a pagination for the response.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"txs":{"description":"txs are the transactions in the block.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.GetTxResponse":{"description":"GetTxResponse is the response type for the Service.GetTx method.","type":"object","properties":{"tx":{"description":"tx is the queried transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_response":{"description":"tx_response is the queried TxResponses.","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}}},"cosmos.tx.v1beta1.GetTxsEventResponse":{"description":"GetTxsEventResponse is the response type for the Service.TxsByEvents\nRPC method.","type":"object","properties":{"pagination":{"description":"pagination defines a pagination for the response.\nDeprecated post v0.46.x: use total instead.","$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"total":{"type":"string","format":"uint64","title":"total is total number of results available"},"tx_responses":{"description":"tx_responses is the list of queried TxResponses.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.abci.v1beta1.TxResponse"}},"txs":{"description":"txs is the list of queried transactions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}}},"cosmos.tx.v1beta1.ModeInfo":{"description":"ModeInfo describes the signing mode of a single or nested multisig signer.","type":"object","properties":{"multi":{"title":"multi represents a nested multisig signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi"},"single":{"title":"single represents a single signer","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo.Single"}}},"cosmos.tx.v1beta1.ModeInfo.Multi":{"type":"object","title":"Multi is the mode info for a multisig public key","properties":{"bitarray":{"title":"bitarray specifies which keys within the multisig are signing","$ref":"#/definitions/cosmos.crypto.multisig.v1beta1.CompactBitArray"},"mode_infos":{"type":"array","title":"mode_infos is the corresponding modes of the signers of the multisig\nwhich could include nested multisig public keys","items":{"type":"object","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"}}}},"cosmos.tx.v1beta1.ModeInfo.Single":{"type":"object","title":"Single is the mode info for a single signer. It is structured as a message\nto allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the\nfuture","properties":{"mode":{"title":"mode is the signing mode of the single signer","$ref":"#/definitions/cosmos.tx.signing.v1beta1.SignMode"}}},"cosmos.tx.v1beta1.OrderBy":{"description":"- ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order","type":"string","title":"OrderBy defines the sorting order","default":"ORDER_BY_UNSPECIFIED","enum":["ORDER_BY_UNSPECIFIED","ORDER_BY_ASC","ORDER_BY_DESC"]},"cosmos.tx.v1beta1.SignerInfo":{"description":"SignerInfo describes the public key and signing mode of a single top-level\nsigner.","type":"object","properties":{"mode_info":{"title":"mode_info describes the signing mode of the signer and is a nested\nstructure to support nested multisig pubkey's","$ref":"#/definitions/cosmos.tx.v1beta1.ModeInfo"},"public_key":{"description":"public_key is the public key of the signer. It is optional for accounts\nthat already exist in state. If unset, the verifier can use the required \\\nsigner address for this position and lookup the public key.","$ref":"#/definitions/google.protobuf.Any"},"sequence":{"description":"sequence is the sequence of the account, which describes the\nnumber of committed transactions signed by a given address. It is used to\nprevent replay attacks.","type":"string","format":"uint64"}}},"cosmos.tx.v1beta1.SimulateRequest":{"description":"SimulateRequest is the request type for the Service.Simulate\nRPC method.","type":"object","properties":{"tx":{"description":"tx is the transaction to simulate.\nDeprecated. Send raw tx bytes instead.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"},"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.SimulateResponse":{"description":"SimulateResponse is the response type for the\nService.SimulateRPC method.","type":"object","properties":{"gas_info":{"description":"gas_info is the information about gas used in the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.GasInfo"},"result":{"description":"result is the result of the simulation.","$ref":"#/definitions/cosmos.base.abci.v1beta1.Result"}}},"cosmos.tx.v1beta1.Tip":{"description":"Tip is the tip used for meta-transactions.","type":"object","properties":{"amount":{"type":"array","title":"amount is the amount of the tip","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"tipper":{"type":"string","title":"tipper is the address of the account paying for the tip"}}},"cosmos.tx.v1beta1.Tx":{"description":"Tx is the standard type used for broadcasting transactions.","type":"object","properties":{"auth_info":{"title":"auth_info is the authorization related content of the transaction,\nspecifically signers, signer modes and fee","$ref":"#/definitions/cosmos.tx.v1beta1.AuthInfo"},"body":{"title":"body is the processable content of the transaction","$ref":"#/definitions/cosmos.tx.v1beta1.TxBody"},"signatures":{"description":"signatures is a list of signatures that matches the length and order of\nAuthInfo's signer_infos to allow connecting signature meta information like\npublic key and signing mode by position.","type":"array","items":{"type":"string","format":"byte"}}}},"cosmos.tx.v1beta1.TxBody":{"description":"TxBody is the body of a transaction that all signers sign over.","type":"object","properties":{"extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, the transaction will be rejected","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"memo":{"description":"memo is any arbitrary note/comment to be added to the transaction.\nWARNING: in clients, any publicly exposed text should not be called memo,\nbut should be called `note` instead (see\nhttps://github.com/cosmos/cosmos-sdk/issues/9122).","type":"string"},"messages":{"description":"messages is a list of messages to be executed. The required signers of\nthose messages define the number and order of elements in AuthInfo's\nsigner_infos and Tx's signatures. Each required signer address is added to\nthe list only the first time it occurs.\nBy convention, the first required signer (usually from the first message)\nis referred to as the primary signer and pays the fee for the whole\ntransaction.","type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"non_critical_extension_options":{"type":"array","title":"extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, they will be ignored","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"timeout_height":{"description":"timeout_height is the block height after which this transaction will not\nbe processed by the chain.","type":"string","format":"uint64"},"timeout_timestamp":{"description":"timeout_timestamp is the block time after which this transaction will not\nbe processed by the chain.\n\nNote, if unordered=true this value MUST be set\nand will act as a short-lived TTL in which the transaction is deemed valid\nand kept in memory to prevent duplicates.","type":"string","format":"date-time"},"unordered":{"description":"unordered, when set to true, indicates that the transaction signer(s)\nintend for the transaction to be evaluated and executed in an un-ordered\nfashion. Specifically, the account's nonce will NOT be checked or\nincremented, which allows for fire-and-forget as well as concurrent\ntransaction execution.\n\nNote, when set to true, the existing 'timeout_timestamp' value must\nbe set and will be used to correspond to a timestamp in which the transaction is deemed\nvalid.\n\nWhen true, the sequence value MUST be 0, and any transaction with unordered=true and a non-zero sequence value will\nbe rejected.\nExternal services that make assumptions about sequence values may need to be updated because of this.","type":"boolean"}}},"cosmos.tx.v1beta1.TxDecodeAminoRequest":{"description":"TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeAminoResponse":{"description":"TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method.","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxDecodeRequest":{"description":"TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the raw transaction.","type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxDecodeResponse":{"description":"TxDecodeResponse is the response type for the\nService.TxDecode method.","type":"object","properties":{"tx":{"description":"tx is the decoded transaction.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeAminoRequest":{"description":"TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.","type":"object","properties":{"amino_json":{"type":"string"}}},"cosmos.tx.v1beta1.TxEncodeAminoResponse":{"description":"TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method.","type":"object","properties":{"amino_binary":{"type":"string","format":"byte"}}},"cosmos.tx.v1beta1.TxEncodeRequest":{"description":"TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.","type":"object","properties":{"tx":{"description":"tx is the transaction to encode.","$ref":"#/definitions/cosmos.tx.v1beta1.Tx"}}},"cosmos.tx.v1beta1.TxEncodeResponse":{"description":"TxEncodeResponse is the response type for the\nService.TxEncode method.","type":"object","properties":{"tx_bytes":{"description":"tx_bytes is the encoded transaction bytes.","type":"string","format":"byte"}}},"cosmos.upgrade.v1beta1.ModuleVersion":{"description":"ModuleVersion specifies a module and its consensus version.","type":"object","properties":{"name":{"type":"string","title":"name of the app module"},"version":{"type":"string","format":"uint64","title":"consensus version of the app module"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgrade":{"description":"MsgCancelUpgrade is the Msg/CancelUpgrade request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"}}},"cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse":{"description":"MsgCancelUpgradeResponse is the Msg/CancelUpgrade response type.","type":"object"},"cosmos.upgrade.v1beta1.MsgSoftwareUpgrade":{"description":"MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"plan":{"description":"plan is the upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse":{"description":"MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type.","type":"object"},"cosmos.upgrade.v1beta1.Plan":{"description":"Plan specifies information about a planned upgrade and when it should occur.","type":"object","properties":{"height":{"description":"The height at which the upgrade must be performed.","type":"string","format":"int64"},"info":{"type":"string","title":"Any application specific upgrade info to be included on-chain\nsuch as a git commit that validators could automatically upgrade to"},"name":{"description":"Sets the name for the upgrade. This name will be used by the upgraded\nversion of the software to apply any special \"on-upgrade\" commands during\nthe first BeginBlock method after the upgrade is applied. It is also used\nto detect whether a software version can handle a given upgrade. If no\nupgrade handler with this name has been set in the software, it will be\nassumed that the software is out-of-date when the upgrade Time or Height is\nreached and the software will exit.","type":"string"},"time":{"description":"Deprecated: Time based upgrades have been deprecated. Time based upgrade logic\nhas been removed from the SDK.\nIf this field is not empty, an error will be thrown.","type":"string","format":"date-time"},"upgraded_client_state":{"description":"Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been\nmoved to the IBC module in the sub module 02-client.\nIf this field is not empty, an error will be thrown.","$ref":"#/definitions/google.protobuf.Any"}}},"cosmos.upgrade.v1beta1.QueryAppliedPlanResponse":{"description":"QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC\nmethod.","type":"object","properties":{"height":{"description":"height is the block height at which the plan was applied.","type":"string","format":"int64"}}},"cosmos.upgrade.v1beta1.QueryAuthorityResponse":{"type":"object","title":"QueryAuthorityResponse is the response type for Query/Authority","properties":{"address":{"type":"string"}}},"cosmos.upgrade.v1beta1.QueryCurrentPlanResponse":{"description":"QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC\nmethod.","type":"object","properties":{"plan":{"description":"plan is the current upgrade plan.","$ref":"#/definitions/cosmos.upgrade.v1beta1.Plan"}}},"cosmos.upgrade.v1beta1.QueryModuleVersionsResponse":{"description":"QueryModuleVersionsResponse is the response type for the Query/ModuleVersions\nRPC method.","type":"object","properties":{"module_versions":{"description":"module_versions is a list of module names with their consensus versions.","type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.upgrade.v1beta1.ModuleVersion"}}}},"cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse":{"description":"QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState\nRPC method.","type":"object","properties":{"upgraded_consensus_state":{"type":"string","format":"byte"}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","type":"object","properties":{"from_address":{"type":"string"},"start_time":{"description":"start of vesting as unix time (in seconds).","type":"string","format":"int64"},"to_address":{"type":"string"},"vesting_periods":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.vesting.v1beta1.Period"}}}},"cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreatePeriodicVestingAccount\nresponse type.","type":"object"},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount":{"description":"MsgCreatePermanentLockedAccount defines a message that enables creating a permanent\nlocked account.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse":{"description":"MsgCreatePermanentLockedAccountResponse defines the Msg/CreatePermanentLockedAccount response type.","type":"object"},"cosmos.vesting.v1beta1.MsgCreateVestingAccount":{"description":"MsgCreateVestingAccount defines a message that enables creating a vesting\naccount.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"delayed":{"type":"boolean"},"end_time":{"description":"end of vesting as unix time (in seconds).","type":"string","format":"int64"},"from_address":{"type":"string"},"to_address":{"type":"string"}}},"cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse":{"description":"MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type.","type":"object"},"cosmos.vesting.v1beta1.Period":{"description":"Period defines a length of time and amount of coins that will vest.","type":"object","properties":{"amount":{"type":"array","items":{"type":"object","$ref":"#/definitions/cosmos.base.v1beta1.Coin"}},"length":{"description":"Period duration in seconds.","type":"string","format":"int64"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}},"tendermint.abci.CheckTxType":{"type":"string","default":"NEW","enum":["NEW","RECHECK"]},"tendermint.abci.CommitInfo":{"type":"object","properties":{"round":{"type":"integer","format":"int32"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.VoteInfo"}}}},"tendermint.abci.Event":{"description":"Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events.","type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.EventAttribute"}},"type":{"type":"string"}}},"tendermint.abci.EventAttribute":{"description":"EventAttribute is a single key-value pair, associated with an event.","type":"object","properties":{"index":{"type":"boolean","title":"nondeterministic"},"key":{"type":"string"},"value":{"type":"string"}}},"tendermint.abci.ExecTxResult":{"description":"ExecTxResult contains results of executing one individual transaction.\n\n* Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted","type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","title":"nondeterministic","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ExtendedCommitInfo":{"description":"ExtendedCommitInfo is similar to CommitInfo except that it is only used in\nthe PrepareProposal request such that CometBFT can provide vote extensions\nto the application.","type":"object","properties":{"round":{"description":"The round at which the block proposer decided in the previous height.","type":"integer","format":"int32"},"votes":{"description":"List of validators' addresses in the last validator set with their voting\ninformation, including vote extensions.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExtendedVoteInfo"}}}},"tendermint.abci.ExtendedVoteInfo":{"type":"object","properties":{"block_id_flag":{"title":"block_id_flag indicates whether the validator voted for a block, nil, or did not vote at all","$ref":"#/definitions/tendermint.types.BlockIDFlag"},"extension_signature":{"type":"string","format":"byte","title":"Vote extension signature created by CometBFT"},"validator":{"description":"The validator that sent the vote.","$ref":"#/definitions/tendermint.abci.Validator"},"vote_extension":{"description":"Non-deterministic extension provided by the sending validator's application.","type":"string","format":"byte"}}},"tendermint.abci.Misbehavior":{"type":"object","properties":{"height":{"type":"string","format":"int64","title":"The height when the offense occurred"},"time":{"type":"string","format":"date-time","title":"The corresponding time where the offense occurred"},"total_voting_power":{"type":"string","format":"int64","title":"Total voting power of the validator set in case the ABCI application does\nnot store historical validators.\nhttps://github.com/tendermint/tendermint/issues/4581"},"type":{"$ref":"#/definitions/tendermint.abci.MisbehaviorType"},"validator":{"title":"The offending validator","$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.abci.MisbehaviorType":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","DUPLICATE_VOTE","LIGHT_CLIENT_ATTACK"]},"tendermint.abci.RequestApplySnapshotChunk":{"type":"object","title":"Applies a snapshot chunk","properties":{"chunk":{"type":"string","format":"byte"},"index":{"type":"integer","format":"int64"},"sender":{"type":"string"}}},"tendermint.abci.RequestCheckTx":{"type":"object","properties":{"tx":{"type":"string","format":"byte"},"type":{"$ref":"#/definitions/tendermint.abci.CheckTxType"}}},"tendermint.abci.RequestCommit":{"type":"object"},"tendermint.abci.RequestEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.RequestExtendVote":{"type":"object","title":"Extends a vote with application-injected data","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this vote may be referring to"},"height":{"type":"string","format":"int64","title":"the height of the extended vote"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time","title":"info of the block that this vote may be referring to"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFinalizeBlock":{"type":"object","properties":{"decided_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"hash":{"description":"hash is the merkle root hash of the fields of the decided block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"proposer_address is the address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestFlush":{"type":"object"},"tendermint.abci.RequestInfo":{"type":"object","properties":{"abci_version":{"type":"string"},"block_version":{"type":"string","format":"uint64"},"p2p_version":{"type":"string","format":"uint64"},"version":{"type":"string"}}},"tendermint.abci.RequestInitChain":{"type":"object","properties":{"app_state_bytes":{"type":"string","format":"byte"},"chain_id":{"type":"string"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"initial_height":{"type":"string","format":"int64"},"time":{"type":"string","format":"date-time"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.RequestListSnapshots":{"type":"object","title":"lists available snapshots"},"tendermint.abci.RequestLoadSnapshotChunk":{"type":"object","title":"loads a snapshot chunk","properties":{"chunk":{"type":"integer","format":"int64"},"format":{"type":"integer","format":"int64"},"height":{"type":"string","format":"uint64"}}},"tendermint.abci.RequestOfferSnapshot":{"type":"object","title":"offers a snapshot to the application","properties":{"app_hash":{"type":"string","format":"byte","title":"light client-verified app hash for snapshot height"},"snapshot":{"title":"snapshot offered by peers","$ref":"#/definitions/tendermint.abci.Snapshot"}}},"tendermint.abci.RequestPrepareProposal":{"type":"object","properties":{"height":{"type":"string","format":"int64"},"local_last_commit":{"$ref":"#/definitions/tendermint.abci.ExtendedCommitInfo"},"max_tx_bytes":{"description":"the modified transactions cannot exceed this size.","type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposer_address":{"description":"address of the public key of the validator proposing the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"description":"txs is an array of transactions that will be included in a block,\nsent to the app for possible modifications.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestProcessProposal":{"type":"object","properties":{"hash":{"description":"hash is the merkle root hash of the fields of the proposed block.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"misbehavior":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Misbehavior"}},"next_validators_hash":{"type":"string","format":"byte"},"proposed_last_commit":{"$ref":"#/definitions/tendermint.abci.CommitInfo"},"proposer_address":{"description":"address of the public key of the original proposer of the block.","type":"string","format":"byte"},"time":{"type":"string","format":"date-time"},"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.RequestQuery":{"type":"object","properties":{"data":{"type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"path":{"type":"string"},"prove":{"type":"boolean"}}},"tendermint.abci.RequestVerifyVoteExtension":{"type":"object","title":"Verify the vote extension","properties":{"hash":{"type":"string","format":"byte","title":"the hash of the block that this received vote corresponds to"},"height":{"type":"string","format":"int64"},"validator_address":{"type":"string","format":"byte","title":"the validator that signed the vote extension"},"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseApplySnapshotChunk":{"type":"object","properties":{"refetch_chunks":{"type":"array","title":"Chunks to refetch and reapply","items":{"type":"integer","format":"int64"}},"reject_senders":{"type":"array","title":"Chunk senders to reject and ban","items":{"type":"string"}},"result":{"$ref":"#/definitions/tendermint.abci.ResponseApplySnapshotChunk.Result"}}},"tendermint.abci.ResponseApplySnapshotChunk.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Chunk successfully accepted\n - ABORT: Abort all snapshot restoration\n - RETRY: Retry chunk (combine with refetch and reject)\n - RETRY_SNAPSHOT: Retry snapshot (combine with refetch and reject)\n - REJECT_SNAPSHOT: Reject this snapshot, try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","RETRY","RETRY_SNAPSHOT","REJECT_SNAPSHOT"]},"tendermint.abci.ResponseCheckTx":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"data":{"type":"string","format":"byte"},"events":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"gas_used":{"type":"string","format":"int64"},"gas_wanted":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"log":{"type":"string","title":"nondeterministic"}}},"tendermint.abci.ResponseCommit":{"type":"object","properties":{"retain_height":{"type":"string","format":"int64"}}},"tendermint.abci.ResponseEcho":{"type":"object","properties":{"message":{"type":"string"}}},"tendermint.abci.ResponseExtendVote":{"type":"object","properties":{"vote_extension":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseFinalizeBlock":{"type":"object","properties":{"app_hash":{"description":"app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was\ndeterministic. It is up to the application to decide which algorithm to use.","type":"string","format":"byte"},"consensus_param_updates":{"description":"updates to the consensus params, if any.","$ref":"#/definitions/tendermint.types.ConsensusParams"},"events":{"type":"array","title":"set of block events emmitted as part of executing the block","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Event"}},"tx_results":{"type":"array","title":"the result of executing each transaction including the events\nthe particular transction emitted. This should match the order\nof the transactions delivered in the block itself","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ExecTxResult"}},"validator_updates":{"description":"a list of updates to the validator set. These will reflect the validator set at current height + 2.","type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseFlush":{"type":"object"},"tendermint.abci.ResponseInfo":{"type":"object","properties":{"app_version":{"type":"string","format":"uint64"},"data":{"type":"string"},"last_block_app_hash":{"type":"string","format":"byte"},"last_block_height":{"type":"string","format":"int64"},"version":{"type":"string"}}},"tendermint.abci.ResponseInitChain":{"type":"object","properties":{"app_hash":{"type":"string","format":"byte"},"consensus_params":{"$ref":"#/definitions/tendermint.types.ConsensusParams"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.ValidatorUpdate"}}}},"tendermint.abci.ResponseListSnapshots":{"type":"object","properties":{"snapshots":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.abci.Snapshot"}}}},"tendermint.abci.ResponseLoadSnapshotChunk":{"type":"object","properties":{"chunk":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseOfferSnapshot":{"type":"object","properties":{"result":{"$ref":"#/definitions/tendermint.abci.ResponseOfferSnapshot.Result"}}},"tendermint.abci.ResponseOfferSnapshot.Result":{"type":"string","title":"- UNKNOWN: Unknown result, abort all snapshot restoration\n - ACCEPT: Snapshot accepted, apply chunks\n - ABORT: Abort all snapshot restoration\n - REJECT: Reject this specific snapshot, try others\n - REJECT_FORMAT: Reject all snapshots of this format, try others\n - REJECT_SENDER: Reject all snapshots from the sender(s), try others","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","ABORT","REJECT","REJECT_FORMAT","REJECT_SENDER"]},"tendermint.abci.ResponsePrepareProposal":{"type":"object","properties":{"txs":{"type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.abci.ResponseProcessProposal":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseProcessProposal.ProposalStatus"}}},"tendermint.abci.ResponseProcessProposal.ProposalStatus":{"type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.ResponseQuery":{"type":"object","properties":{"code":{"type":"integer","format":"int64"},"codespace":{"type":"string"},"height":{"type":"string","format":"int64"},"index":{"type":"string","format":"int64"},"info":{"type":"string","title":"nondeterministic"},"key":{"type":"string","format":"byte"},"log":{"description":"bytes data = 2; // use \"value\" instead.\n\nnondeterministic","type":"string"},"proof_ops":{"$ref":"#/definitions/tendermint.crypto.ProofOps"},"value":{"type":"string","format":"byte"}}},"tendermint.abci.ResponseVerifyVoteExtension":{"type":"object","properties":{"status":{"$ref":"#/definitions/tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus"}}},"tendermint.abci.ResponseVerifyVoteExtension.VerifyStatus":{"description":" - REJECT: Rejecting the vote extension will reject the entire precommit by the sender.\nIncorrectly implementing this thus has liveness implications as it may affect\nCometBFT's ability to receive 2/3+ valid votes to finalize the block.\nHonest nodes should never be rejected.","type":"string","default":"UNKNOWN","enum":["UNKNOWN","ACCEPT","REJECT"]},"tendermint.abci.Snapshot":{"type":"object","properties":{"chunks":{"type":"integer","format":"int64","title":"Number of chunks in the snapshot"},"format":{"type":"integer","format":"int64","title":"The application-specific snapshot format"},"hash":{"type":"string","format":"byte","title":"Arbitrary snapshot hash, equal only if identical"},"height":{"type":"string","format":"uint64","title":"The height at which the snapshot was taken"},"metadata":{"type":"string","format":"byte","title":"Arbitrary application metadata"}}},"tendermint.abci.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte","title":"The first 20 bytes of SHA256(public key)"},"power":{"description":"The voting power","type":"string","format":"int64","title":"PubKey pub_key = 2 [(gogoproto.nullable)=false];"}}},"tendermint.abci.ValidatorUpdate":{"type":"object","properties":{"power":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"}}},"tendermint.abci.VoteInfo":{"type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"validator":{"$ref":"#/definitions/tendermint.abci.Validator"}}},"tendermint.crypto.ProofOp":{"type":"object","title":"ProofOp defines an operation used for calculating Merkle root\nThe data could be arbitrary format, providing nessecary data\nfor example neighbouring node hash","properties":{"data":{"type":"string","format":"byte"},"key":{"type":"string","format":"byte"},"type":{"type":"string"}}},"tendermint.crypto.ProofOps":{"type":"object","title":"ProofOps is Merkle proof defined by the list of ProofOps","properties":{"ops":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.crypto.ProofOp"}}}},"tendermint.crypto.PublicKey":{"type":"object","title":"PublicKey defines the keys available for use with Validators","properties":{"ed25519":{"type":"string","format":"byte"},"secp256k1":{"type":"string","format":"byte"}}},"tendermint.p2p.DefaultNodeInfo":{"type":"object","properties":{"channels":{"type":"string","format":"byte"},"default_node_id":{"type":"string"},"listen_addr":{"type":"string"},"moniker":{"type":"string"},"network":{"type":"string"},"other":{"$ref":"#/definitions/tendermint.p2p.DefaultNodeInfoOther"},"protocol_version":{"$ref":"#/definitions/tendermint.p2p.ProtocolVersion"},"version":{"type":"string"}}},"tendermint.p2p.DefaultNodeInfoOther":{"type":"object","properties":{"rpc_address":{"type":"string"},"tx_index":{"type":"string"}}},"tendermint.p2p.ProtocolVersion":{"type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"},"p2p":{"type":"string","format":"uint64"}}},"tendermint.types.ABCIParams":{"description":"ABCIParams configure functionality specific to the Application Blockchain Interface.","type":"object","properties":{"vote_extensions_enable_height":{"description":"vote_extensions_enable_height configures the first height during which\nvote extensions will be enabled. During this specified height, and for all\nsubsequent heights, precommit messages that do not contain valid extension data\nwill be considered invalid. Prior to this height, vote extensions will not\nbe used or accepted by validators on the network.\n\nOnce enabled, vote extensions will be created by the application in ExtendVote,\npassed to the application for validation in VerifyVoteExtension and given\nto the application to use when proposing a block during PrepareProposal.","type":"string","format":"int64"}}},"tendermint.types.Block":{"type":"object","properties":{"data":{"$ref":"#/definitions/tendermint.types.Data"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceList"},"header":{"$ref":"#/definitions/tendermint.types.Header"},"last_commit":{"$ref":"#/definitions/tendermint.types.Commit"}}},"tendermint.types.BlockID":{"type":"object","title":"BlockID","properties":{"hash":{"type":"string","format":"byte"},"part_set_header":{"$ref":"#/definitions/tendermint.types.PartSetHeader"}}},"tendermint.types.BlockIDFlag":{"description":"- BLOCK_ID_FLAG_UNKNOWN: indicates an error condition\n - BLOCK_ID_FLAG_ABSENT: the vote was not received\n - BLOCK_ID_FLAG_COMMIT: voted for the block that received the majority\n - BLOCK_ID_FLAG_NIL: voted for nil","type":"string","title":"BlockIdFlag indicates which BlockID the signature is for","default":"BLOCK_ID_FLAG_UNKNOWN","enum":["BLOCK_ID_FLAG_UNKNOWN","BLOCK_ID_FLAG_ABSENT","BLOCK_ID_FLAG_COMMIT","BLOCK_ID_FLAG_NIL"]},"tendermint.types.BlockParams":{"description":"BlockParams contains limits on the block size.","type":"object","properties":{"max_bytes":{"type":"string","format":"int64","title":"Max block size, in bytes.\nNote: must be greater than 0"},"max_gas":{"type":"string","format":"int64","title":"Max gas per block.\nNote: must be greater or equal to -1"}}},"tendermint.types.Commit":{"description":"Commit contains the evidence that a block was committed by a set of validators.","type":"object","properties":{"block_id":{"$ref":"#/definitions/tendermint.types.BlockID"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signatures":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.CommitSig"}}}},"tendermint.types.CommitSig":{"description":"CommitSig is a part of the Vote included in a Commit.","type":"object","properties":{"block_id_flag":{"$ref":"#/definitions/tendermint.types.BlockIDFlag"},"signature":{"type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"validator_address":{"type":"string","format":"byte"}}},"tendermint.types.ConsensusParams":{"description":"ConsensusParams contains consensus critical parameters that determine the\nvalidity of blocks.","type":"object","properties":{"abci":{"$ref":"#/definitions/tendermint.types.ABCIParams"},"block":{"$ref":"#/definitions/tendermint.types.BlockParams"},"evidence":{"$ref":"#/definitions/tendermint.types.EvidenceParams"},"validator":{"$ref":"#/definitions/tendermint.types.ValidatorParams"},"version":{"$ref":"#/definitions/tendermint.types.VersionParams"}}},"tendermint.types.Data":{"type":"object","title":"Data contains the set of transactions included in the block","properties":{"txs":{"description":"Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs.","type":"array","items":{"type":"string","format":"byte"}}}},"tendermint.types.DuplicateVoteEvidence":{"description":"DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.","type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"},"validator_power":{"type":"string","format":"int64"},"vote_a":{"$ref":"#/definitions/tendermint.types.Vote"},"vote_b":{"$ref":"#/definitions/tendermint.types.Vote"}}},"tendermint.types.Evidence":{"type":"object","properties":{"duplicate_vote_evidence":{"$ref":"#/definitions/tendermint.types.DuplicateVoteEvidence"},"light_client_attack_evidence":{"$ref":"#/definitions/tendermint.types.LightClientAttackEvidence"}}},"tendermint.types.EvidenceList":{"type":"object","properties":{"evidence":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Evidence"}}}},"tendermint.types.EvidenceParams":{"description":"EvidenceParams determine how we handle evidence of malfeasance.","type":"object","properties":{"max_age_duration":{"description":"Max age of evidence, in time.\n\nIt should correspond with an app's \"unbonding period\" or other similar\nmechanism for handling [Nothing-At-Stake\nattacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).","type":"string"},"max_age_num_blocks":{"description":"Max age of evidence, in blocks.\n\nThe basic formula for calculating this is: MaxAgeDuration / {average block\ntime}.","type":"string","format":"int64"},"max_bytes":{"type":"string","format":"int64","title":"This sets the maximum size of total evidence in bytes that can be committed in a single block.\nand should fall comfortably under the max block bytes.\nDefault is 1048576 or 1MB"}}},"tendermint.types.Header":{"description":"Header defines the structure of a block header.","type":"object","properties":{"app_hash":{"type":"string","format":"byte","title":"state after txs from the previous block"},"chain_id":{"type":"string"},"consensus_hash":{"type":"string","format":"byte","title":"consensus params for current block"},"data_hash":{"type":"string","format":"byte","title":"transactions"},"evidence_hash":{"description":"evidence included in the block","type":"string","format":"byte","title":"consensus info"},"height":{"type":"string","format":"int64"},"last_block_id":{"title":"prev block info","$ref":"#/definitions/tendermint.types.BlockID"},"last_commit_hash":{"description":"commit from validators from the last block","type":"string","format":"byte","title":"hashes of block data"},"last_results_hash":{"type":"string","format":"byte","title":"root hash of all results from the txs from the previous block"},"next_validators_hash":{"type":"string","format":"byte","title":"validators for the next block"},"proposer_address":{"type":"string","format":"byte","title":"original proposer of the block"},"time":{"type":"string","format":"date-time"},"validators_hash":{"description":"validators for the current block","type":"string","format":"byte","title":"hashes from the app output from the prev block"},"version":{"title":"basic block info","$ref":"#/definitions/tendermint.version.Consensus"}}},"tendermint.types.LightBlock":{"type":"object","properties":{"signed_header":{"$ref":"#/definitions/tendermint.types.SignedHeader"},"validator_set":{"$ref":"#/definitions/tendermint.types.ValidatorSet"}}},"tendermint.types.LightClientAttackEvidence":{"description":"LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.","type":"object","properties":{"byzantine_validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}},"common_height":{"type":"string","format":"int64"},"conflicting_block":{"$ref":"#/definitions/tendermint.types.LightBlock"},"timestamp":{"type":"string","format":"date-time"},"total_voting_power":{"type":"string","format":"int64"}}},"tendermint.types.PartSetHeader":{"type":"object","title":"PartsetHeader","properties":{"hash":{"type":"string","format":"byte"},"total":{"type":"integer","format":"int64"}}},"tendermint.types.SignedHeader":{"type":"object","properties":{"commit":{"$ref":"#/definitions/tendermint.types.Commit"},"header":{"$ref":"#/definitions/tendermint.types.Header"}}},"tendermint.types.SignedMsgType":{"description":"SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals","type":"string","default":"SIGNED_MSG_TYPE_UNKNOWN","enum":["SIGNED_MSG_TYPE_UNKNOWN","SIGNED_MSG_TYPE_PREVOTE","SIGNED_MSG_TYPE_PRECOMMIT","SIGNED_MSG_TYPE_PROPOSAL"]},"tendermint.types.Validator":{"type":"object","properties":{"address":{"type":"string","format":"byte"},"proposer_priority":{"type":"string","format":"int64"},"pub_key":{"$ref":"#/definitions/tendermint.crypto.PublicKey"},"voting_power":{"type":"string","format":"int64"}}},"tendermint.types.ValidatorParams":{"description":"ValidatorParams restrict the public key types validators can use.\nNOTE: uses ABCI pubkey naming, not Amino names.","type":"object","properties":{"pub_key_types":{"type":"array","items":{"type":"string"}}}},"tendermint.types.ValidatorSet":{"type":"object","properties":{"proposer":{"$ref":"#/definitions/tendermint.types.Validator"},"total_voting_power":{"type":"string","format":"int64"},"validators":{"type":"array","items":{"type":"object","$ref":"#/definitions/tendermint.types.Validator"}}}},"tendermint.types.VersionParams":{"description":"VersionParams contains the ABCI application version.","type":"object","properties":{"app":{"type":"string","format":"uint64"}}},"tendermint.types.Vote":{"description":"Vote represents a prevote or precommit vote from validators for\nconsensus.","type":"object","properties":{"block_id":{"description":"zero if vote is nil.","$ref":"#/definitions/tendermint.types.BlockID"},"extension":{"description":"Vote extension provided by the application. Only valid for precommit\nmessages.","type":"string","format":"byte"},"extension_signature":{"description":"Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages.","type":"string","format":"byte"},"height":{"type":"string","format":"int64"},"round":{"type":"integer","format":"int32"},"signature":{"description":"Vote signature by the validator if they participated in consensus for the\nassociated block.","type":"string","format":"byte"},"timestamp":{"type":"string","format":"date-time"},"type":{"$ref":"#/definitions/tendermint.types.SignedMsgType"},"validator_address":{"type":"string","format":"byte"},"validator_index":{"type":"integer","format":"int32"}}},"tendermint.version.Consensus":{"description":"Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine.","type":"object","properties":{"app":{"type":"string","format":"uint64"},"block":{"type":"string","format":"uint64"}}}},"tags":[{"name":"Msg"},{"name":"Query"},{"name":"Service"},{"name":"ReflectionService"},{"name":"ABCIListenerService"},{"name":"ABCI"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"query"},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"query"},{"type":"string","format":"uint64","name":"timestampUp","in":"query"},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"containsUsers","in":"query"},{"type":"string","name":"reporter","in":"query"},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","default":"Undefined","name":"outcome","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardsPlayed","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"contributors","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"containsCards","in":"query"},{"type":"string","name":"owner","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Parameter"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Parameter"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Parameter":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"councilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"openEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"reportMatches":{"type":"boolean"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"},"wonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file From 2603bfddc1b38fb7512c3143cd7664dfe5a8b844 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Thu, 24 Jul 2025 18:42:28 +0200 Subject: [PATCH 96/99] fixed user creation --- x/cardchain/keeper/msg_server_user_create.go | 2 +- x/cardchain/keeper/query_user.go | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/x/cardchain/keeper/msg_server_user_create.go b/x/cardchain/keeper/msg_server_user_create.go index bcda5d16..911d3084 100644 --- a/x/cardchain/keeper/msg_server_user_create.go +++ b/x/cardchain/keeper/msg_server_user_create.go @@ -12,7 +12,7 @@ import ( func (k msgServer) UserCreate(goCtx context.Context, msg *types.MsgUserCreate) (*types.MsgUserCreateResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - user, err := k.GetUserFromString(ctx, msg.Creator) + user, err := k.GetUserFromString(ctx, msg.NewUser) if err != nil { return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) } diff --git a/x/cardchain/keeper/query_user.go b/x/cardchain/keeper/query_user.go index 0217f3f1..d09cd17d 100644 --- a/x/cardchain/keeper/query_user.go +++ b/x/cardchain/keeper/query_user.go @@ -3,8 +3,10 @@ package keeper import ( "context" + errorsmod "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" ) @@ -20,5 +22,10 @@ func (k Keeper) User(goCtx context.Context, req *types.QueryUserRequest) (*types if err != nil { return nil, err } + + if user.Alias == "" { + return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidRequest, "user doesnt exist") + } + return &types.QueryUserResponse{User: user.User}, nil } From 42e57beeb806adfd33b75c792687d8ab2612cfbe Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Wed, 30 Jul 2025 16:04:46 +0200 Subject: [PATCH 97/99] fix: added encounterId to encounterWithImage route --- docs/static/openapi.yml | 2 +- proto/cardchain/cardchain/query.proto | 4 +- x/cardchain/types/query.pb.go | 297 +++++++++++++------------- x/cardchain/types/query.pb.gw.go | 44 ++-- 4 files changed, 183 insertions(+), 164 deletions(-) diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index bd77af82..5d72d14a 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"query"},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"query"},{"type":"string","format":"uint64","name":"timestampUp","in":"query"},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"containsUsers","in":"query"},{"type":"string","name":"reporter","in":"query"},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","default":"Undefined","name":"outcome","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardsPlayed","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"contributors","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"containsCards","in":"query"},{"type":"string","name":"owner","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Parameter"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Parameter"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Parameter":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"councilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"openEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"reportMatches":{"type":"boolean"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"},"wonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"github.com/DecentralCardGame/cardchain","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain github.com/DecentralCardGame/cardchain REST API","title":"HTTP API Console","contact":{"name":"github.com/DecentralCardGame/cardchain"},"version":"version not set"},"paths":{"/DecentralCardGame/cardchain/cardchain/account_from_zealy/{zealyId}":{"get":{"tags":["Query"],"summary":"Queries a list of AccountFromZealy items.","operationId":"GithubComDecentralCardGamecardchainQuery_AccountFromZealy","parameters":[{"type":"string","name":"zealyId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryAccountFromZealyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of Card items.","operationId":"GithubComDecentralCardGamecardchainQuery_Card","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_content/{cardId}":{"get":{"tags":["Query"],"summary":"Queries a list of CardContent items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContent","parameters":[{"type":"string","format":"uint64","name":"cardId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/card_contents":{"get":{"tags":["Query"],"summary":"Queries a list of CardContents items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardContents","parameters":[{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardIds","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardContentsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cardchain_info":{"get":{"tags":["Query"],"summary":"Queries a list of CardchainInfo items.","operationId":"GithubComDecentralCardGamecardchainQuery_CardchainInfo","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardchainInfoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/cards":{"get":{"tags":["Query"],"summary":"Queries a list of Cards items.","operationId":"GithubComDecentralCardGamecardchainQuery_Cards","parameters":[{"type":"string","name":"owner","in":"query"},{"type":"array","items":{"enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"],"type":"string"},"collectionFormat":"multi","name":"status","in":"query"},{"type":"array","items":{"enum":["place","action","entity","headquarter"],"type":"string"},"collectionFormat":"multi","name":"cardType","in":"query"},{"type":"array","items":{"enum":["nature","culture","mysticism","technology"],"type":"string"},"collectionFormat":"multi","name":"class","in":"query"},{"type":"string","name":"sortBy","in":"query"},{"type":"string","name":"nameContains","in":"query"},{"type":"string","name":"keywordsContains","in":"query"},{"type":"string","name":"notesContains","in":"query"},{"type":"boolean","name":"onlyStarterCard","in":"query"},{"type":"boolean","name":"onlyBalanceAnchors","in":"query"},{"type":"array","items":{"enum":["common","uncommon","rare","exceptional","unique"],"type":"string"},"collectionFormat":"multi","name":"rarities","in":"query"},{"type":"boolean","name":"multiClassOnly","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCardsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/council/{councilId}":{"get":{"tags":["Query"],"summary":"Queries a list of Council items.","operationId":"GithubComDecentralCardGamecardchainQuery_Council","parameters":[{"type":"string","format":"uint64","name":"councilId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryCouncilResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of Encounter items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounter","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounter_with_image/{encounterId}":{"get":{"tags":["Query"],"summary":"Queries a list of EncounterWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncounterWithImage","parameters":[{"type":"string","format":"uint64","name":"encounterId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncounterWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters":{"get":{"tags":["Query"],"summary":"Queries a list of Encounters items.","operationId":"GithubComDecentralCardGamecardchainQuery_Encounters","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/encounters_with_image":{"get":{"tags":["Query"],"summary":"Queries a list of EncountersWithImage items.","operationId":"GithubComDecentralCardGamecardchainQuery_EncountersWithImage","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryEncountersWithImageResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/match/{matchId}":{"get":{"tags":["Query"],"summary":"Queries a list of Match items.","operationId":"GithubComDecentralCardGamecardchainQuery_Match","parameters":[{"type":"string","format":"uint64","name":"matchId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/matches":{"get":{"tags":["Query"],"summary":"Queries a list of Matches items.","operationId":"GithubComDecentralCardGamecardchainQuery_Matches","parameters":[{"type":"string","format":"uint64","name":"timestampDown","in":"query"},{"type":"string","format":"uint64","name":"timestampUp","in":"query"},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"containsUsers","in":"query"},{"type":"string","name":"reporter","in":"query"},{"enum":["Undefined","AWon","BWon","Draw","Aborted"],"type":"string","default":"Undefined","name":"outcome","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"cardsPlayed","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryMatchesResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offer/{sellOfferId}":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffer items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffer","parameters":[{"type":"string","format":"uint64","name":"sellOfferId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOfferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sell_offers":{"get":{"tags":["Query"],"summary":"Queries a list of SellOffers items.","operationId":"GithubComDecentralCardGamecardchainQuery_SellOffers","parameters":[{"type":"string","name":"priceDown.denom","in":"query"},{"type":"string","name":"priceDown.amount","in":"query"},{"type":"string","name":"priceUp.denom","in":"query"},{"type":"string","name":"priceUp.amount","in":"query"},{"type":"string","name":"seller","in":"query"},{"type":"string","name":"buyer","in":"query"},{"type":"string","format":"uint64","name":"card","in":"query"},{"enum":["empty","open","sold","removed"],"type":"string","default":"empty","name":"status","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySellOffersResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/server/{serverId}":{"get":{"tags":["Query"],"summary":"Queries a list of Server items.","operationId":"GithubComDecentralCardGamecardchainQuery_Server","parameters":[{"type":"string","format":"uint64","name":"serverId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryServerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of Set items.","operationId":"GithubComDecentralCardGamecardchainQuery_Set","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/set_rarity_distribution/{setId}":{"get":{"tags":["Query"],"summary":"Queries a list of SetRarityDistribution items.","operationId":"GithubComDecentralCardGamecardchainQuery_SetRarityDistribution","parameters":[{"type":"string","format":"uint64","name":"setId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetRarityDistributionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/sets/{status}":{"get":{"tags":["Query"],"summary":"Queries a list of Sets items.","operationId":"GithubComDecentralCardGamecardchainQuery_Sets","parameters":[{"enum":["undefined","design","finalized","active","archived"],"type":"string","name":"status","in":"path","required":true},{"type":"array","items":{"type":"string"},"collectionFormat":"multi","name":"contributors","in":"query"},{"type":"array","items":{"type":"string","format":"uint64"},"collectionFormat":"multi","name":"containsCards","in":"query"},{"type":"string","name":"owner","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QuerySetsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/user/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of User items.","operationId":"GithubComDecentralCardGamecardchainQuery_User","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryUserResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/cardchain/voting_results":{"get":{"tags":["Query"],"summary":"Queries a list of VotingResults items.","operationId":"GithubComDecentralCardGamecardchainQuery_VotingResults","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.QueryVotingResultsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flag/{module}/{name}":{"get":{"tags":["Query"],"summary":"Queries a list of Flag items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flag","parameters":[{"type":"string","name":"module","in":"path","required":true},{"type":"string","name":"name","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/flags":{"get":{"tags":["Query"],"summary":"Queries a list of Flags items.","operationId":"GithubComDecentralCardGamecardchainQuery_Flags","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryFlagsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/DecentralCardGame/cardchain/featureflag/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"GithubComDecentralCardGamecardchainQuery_ParamsMixin24","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/BoosterPackTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_BoosterPackTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgBoosterPackTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtistChange":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtistChange","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChange"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtistChangeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardBan":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardBan","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBan"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardBanResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardCopyrightClaim":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardCopyrightClaim","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaim"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardCopyrightClaimResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardDonate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardDonate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardDonateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardRaritySet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardRaritySet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardRaritySetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSaveContent":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSaveContent","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContent"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSaveContentResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardSchemeBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardSchemeBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardSchemeBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardTransfer":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVote":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVote","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVote"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CardVoteMulti":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CardVoteMulti","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMulti"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCardVoteMultiResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilDeregister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilDeregister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilDeregisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRegister":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseCommit":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseCommit","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommit"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseCommitResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilResponseReveal":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilResponseReveal","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseReveal"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilResponseRevealResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/CouncilRestart":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_CouncilRestart","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestart"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgCouncilRestartResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessDisinvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessDisinvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessDisinviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessGrant":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessGrantResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EarlyAccessInvite":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EarlyAccessInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEarlyAccessInviteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterClose":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCloseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/EncounterDo":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_EncounterDo","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDo"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgEncounterDoResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchConfirm":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchConfirm","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirm"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchConfirmResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchOpen":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchOpenResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReport":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReport","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReport"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReportResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/MatchReporterAppoint":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_MatchReporterAppoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgMatchReporterAppointResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileAliasSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileAliasSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileAliasSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileBioSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileBioSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileBioSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileCardSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileCardSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileCardSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ProfileWebsiteSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ProfileWebsiteSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgProfileWebsiteSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferBuy":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferBuy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferBuyResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SellOfferRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SellOfferRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSellOfferRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetActivate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetActivateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtistSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtistSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtistSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetArtworkAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetArtworkAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetArtworkAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCardRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCardRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCardRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetContributorRemove":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetContributorRemove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetContributorRemoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetFinalize":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetFinalize","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalize"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetFinalizeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetNameSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetNameSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetNameSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryAdd":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryAdd","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAdd"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryAddResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/SetStoryWriterSet":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_SetStoryWriterSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgSetStoryWriterSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/UserCreate":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_UserCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgUserCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.cardchain.Msg/ZealyConnect":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_ZealyConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.cardchain.MsgZealyConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/Set":{"post":{"tags":["Msg"],"operationId":"GithubComDecentralCardGamecardchainMsg_Set","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgSetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/cardchain.featureflag.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"GithubComDecentralCardGamecardchainMsg_UpdateParamsMixin25","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/cardchain.featureflag.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cardchain.cardchain.AddrWithQuantity":{"type":"object","properties":{"addr":{"type":"string"},"payment":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"q":{"type":"integer","format":"int64"}}},"cardchain.cardchain.AirDrops":{"type":"object","properties":{"buy":{"type":"boolean"},"create":{"type":"boolean"},"play":{"type":"boolean"},"user":{"type":"boolean"},"vote":{"type":"boolean"}}},"cardchain.cardchain.BoosterPack":{"type":"object","properties":{"dropRatiosPerPack":{"type":"array","title":"The chances of the rare beeing a normal rare, an exceptional or a unique","items":{"type":"string","format":"uint64"}},"raritiesPerPack":{"type":"array","title":"How often the different rarities will appear in a BoosterPack","items":{"type":"string","format":"uint64"}},"setId":{"type":"string","format":"uint64"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.Card":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"content":{"type":"string","format":"byte"},"fairEnoughVotes":{"type":"string","format":"uint64"},"fullArt":{"type":"boolean"},"image_id":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"nerflevel":{"type":"string","format":"int64"},"notes":{"type":"string"},"overpoweredVotes":{"type":"string","format":"uint64"},"owner":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"starterCard":{"type":"boolean"},"status":{"$ref":"#/definitions/cardchain.cardchain.CardStatus"},"underpoweredVotes":{"type":"string","format":"uint64"},"votePool":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CardClass":{"type":"string","default":"nature","enum":["nature","culture","mysticism","technology"]},"cardchain.cardchain.CardContent":{"type":"object","properties":{"content":{"type":"string"},"hash":{"type":"string"}}},"cardchain.cardchain.CardRarity":{"type":"string","default":"common","enum":["common","uncommon","rare","exceptional","unique"]},"cardchain.cardchain.CardStatus":{"type":"string","default":"none","enum":["none","scheme","prototype","trial","permanent","suspended","banned","bannedSoon","bannedVerySoon","adventureItem"]},"cardchain.cardchain.CardType":{"type":"string","default":"place","enum":["place","action","entity","headquarter"]},"cardchain.cardchain.CardWithImage":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.Card"},"hash":{"type":"string"},"image":{"type":"string"}}},"cardchain.cardchain.CouncelingStatus":{"type":"string","default":"councilOpen","enum":["councilOpen","councilCreated","councilClosed","commited","revealed","suggestionsMade"]},"cardchain.cardchain.Council":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"clearResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapClearResponse"}},"hashResponses":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.WrapHashResponse"}},"status":{"$ref":"#/definitions/cardchain.cardchain.CouncelingStatus"},"treasury":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"trialStart":{"type":"string","format":"uint64"},"voters":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.CouncilStatus":{"type":"string","default":"available","enum":["available","unavailable","openCouncil","startedCouncil"]},"cardchain.cardchain.EarlyAccess":{"type":"object","properties":{"active":{"type":"boolean"},"invitedByUser":{"type":"string"},"invitedUser":{"type":"string"}}},"cardchain.cardchain.Encounter":{"type":"object","properties":{"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"id":{"type":"string","format":"uint64"},"imageId":{"type":"string","format":"uint64"},"name":{"type":"string"},"owner":{"type":"string"},"parameters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Parameter"}},"proven":{"type":"boolean"}}},"cardchain.cardchain.EncounterWithImage":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"},"image":{"type":"string"}}},"cardchain.cardchain.InnerRarities":{"type":"object","properties":{"R":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.Match":{"type":"object","properties":{"coinsDistributed":{"type":"boolean"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playerA":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"playerB":{"$ref":"#/definitions/cardchain.cardchain.MatchPlayer"},"reporter":{"type":"string"},"serverConfirmed":{"type":"boolean"},"timestamp":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MatchPlayer":{"type":"object","properties":{"addr":{"type":"string"},"confirmed":{"type":"boolean"},"deck":{"type":"array","items":{"type":"string","format":"uint64"}},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgBoosterPackBuy":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgBoosterPackBuyResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgBoosterPackOpen":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackOpenResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgBoosterPackTransfer":{"type":"object","properties":{"boosterPackId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgBoosterPackTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtistChange":{"type":"object","properties":{"artist":{"type":"string"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardArtistChangeResponse":{"type":"object"},"cardchain.cardchain.MsgCardArtworkAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"fullArt":{"type":"boolean"},"image":{"type":"string","format":"byte"}}},"cardchain.cardchain.MsgCardArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgCardBan":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardBanResponse":{"type":"object"},"cardchain.cardchain.MsgCardCopyrightClaim":{"type":"object","properties":{"authority":{"type":"string"},"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardCopyrightClaimResponse":{"type":"object"},"cardchain.cardchain.MsgCardDonate":{"type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardDonateResponse":{"type":"object"},"cardchain.cardchain.MsgCardRaritySet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"rarity":{"$ref":"#/definitions/cardchain.cardchain.CardRarity"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardRaritySetResponse":{"type":"object"},"cardchain.cardchain.MsgCardSaveContent":{"type":"object","properties":{"artist":{"type":"string"},"balanceAnchor":{"type":"boolean"},"cardId":{"type":"string","format":"uint64"},"content":{"type":"string","format":"byte"},"creator":{"type":"string"},"notes":{"type":"string"}}},"cardchain.cardchain.MsgCardSaveContentResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardSchemeBuy":{"type":"object","properties":{"bid":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCardSchemeBuyResponse":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgCardTransfer":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"receiver":{"type":"string"}}},"cardchain.cardchain.MsgCardTransferResponse":{"type":"object"},"cardchain.cardchain.MsgCardVote":{"type":"object","properties":{"creator":{"type":"string"},"vote":{"$ref":"#/definitions/cardchain.cardchain.SingleVote"}}},"cardchain.cardchain.MsgCardVoteMulti":{"type":"object","properties":{"creator":{"type":"string"},"votes":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgCardVoteMultiResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCardVoteResponse":{"type":"object","properties":{"airdropClaimed":{"type":"boolean"}}},"cardchain.cardchain.MsgCouncilCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilCreateResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilDeregister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilDeregisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRegister":{"type":"object","properties":{"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRegisterResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseCommit":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"type":"string"},"suggestion":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseCommitResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilResponseReveal":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"secret":{"type":"string"}}},"cardchain.cardchain.MsgCouncilResponseRevealResponse":{"type":"object"},"cardchain.cardchain.MsgCouncilRestart":{"type":"object","properties":{"councilId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgCouncilRestartResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessDisinvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessDisinviteResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessGrant":{"type":"object","properties":{"authority":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"cardchain.cardchain.MsgEarlyAccessGrantResponse":{"type":"object"},"cardchain.cardchain.MsgEarlyAccessInvite":{"type":"object","properties":{"creator":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEarlyAccessInviteResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterClose":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"},"won":{"type":"boolean"}}},"cardchain.cardchain.MsgEncounterCloseResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterCreate":{"type":"object","properties":{"creator":{"type":"string"},"drawlist":{"type":"array","items":{"type":"string","format":"uint64"}},"image":{"type":"string","format":"byte"},"name":{"type":"string"},"parameters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Parameter"}}}},"cardchain.cardchain.MsgEncounterCreateResponse":{"type":"object"},"cardchain.cardchain.MsgEncounterDo":{"type":"object","properties":{"creator":{"type":"string"},"encounterId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgEncounterDoResponse":{"type":"object"},"cardchain.cardchain.MsgMatchConfirm":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"votedCards":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SingleVote"}}}},"cardchain.cardchain.MsgMatchConfirmResponse":{"type":"object"},"cardchain.cardchain.MsgMatchOpen":{"type":"object","properties":{"creator":{"type":"string"},"playerA":{"type":"string"},"playerADeck":{"type":"array","items":{"type":"string","format":"uint64"}},"playerB":{"type":"string"},"playerBDeck":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchOpenResponse":{"type":"object","properties":{"matchId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgMatchReport":{"type":"object","properties":{"creator":{"type":"string"},"matchId":{"type":"string","format":"uint64"},"outcome":{"$ref":"#/definitions/cardchain.cardchain.Outcome"},"playedCardsA":{"type":"array","items":{"type":"string","format":"uint64"}},"playedCardsB":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.MsgMatchReportResponse":{"type":"object"},"cardchain.cardchain.MsgMatchReporterAppoint":{"type":"object","properties":{"authority":{"type":"string"},"reporter":{"type":"string"}}},"cardchain.cardchain.MsgMatchReporterAppointResponse":{"type":"object"},"cardchain.cardchain.MsgProfileAliasSet":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileAliasSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileBioSet":{"type":"object","properties":{"bio":{"type":"string"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileBioSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileCardSet":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"cardchain.cardchain.MsgProfileCardSetResponse":{"type":"object"},"cardchain.cardchain.MsgProfileWebsiteSet":{"type":"object","properties":{"creator":{"type":"string"},"website":{"type":"string"}}},"cardchain.cardchain.MsgProfileWebsiteSetResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferBuy":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferBuyResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferCreate":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"cardchain.cardchain.MsgSellOfferCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSellOfferRemove":{"type":"object","properties":{"creator":{"type":"string"},"sellOfferId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSellOfferRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetActivate":{"type":"object","properties":{"authority":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetActivateResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtistSet":{"type":"object","properties":{"artist":{"type":"string"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtistSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetArtworkAdd":{"type":"object","properties":{"creator":{"type":"string"},"image":{"type":"string","format":"byte"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetArtworkAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardAdd":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetCardRemove":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetCardRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetContributorRemove":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"user":{"type":"string"}}},"cardchain.cardchain.MsgSetContributorRemoveResponse":{"type":"object"},"cardchain.cardchain.MsgSetCreate":{"type":"object","properties":{"artist":{"type":"string"},"contributors":{"type":"array","items":{"type":"string"}},"creator":{"type":"string"},"name":{"type":"string"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetCreateResponse":{"type":"object"},"cardchain.cardchain.MsgSetFinalize":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetFinalizeResponse":{"type":"object"},"cardchain.cardchain.MsgSetNameSet":{"type":"object","properties":{"creator":{"type":"string"},"name":{"type":"string"},"setId":{"type":"string","format":"uint64"}}},"cardchain.cardchain.MsgSetNameSetResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryAdd":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"story":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryAddResponse":{"type":"object"},"cardchain.cardchain.MsgSetStoryWriterSet":{"type":"object","properties":{"creator":{"type":"string"},"setId":{"type":"string","format":"uint64"},"storyWriter":{"type":"string"}}},"cardchain.cardchain.MsgSetStoryWriterSetResponse":{"type":"object"},"cardchain.cardchain.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.cardchain.MsgUserCreate":{"type":"object","properties":{"alias":{"type":"string"},"creator":{"type":"string"},"newUser":{"type":"string"}}},"cardchain.cardchain.MsgUserCreateResponse":{"type":"object"},"cardchain.cardchain.MsgZealyConnect":{"type":"object","properties":{"creator":{"type":"string"},"zealyId":{"type":"string"}}},"cardchain.cardchain.MsgZealyConnectResponse":{"type":"object"},"cardchain.cardchain.Outcome":{"type":"string","default":"Undefined","enum":["Undefined","AWon","BWon","Draw","Aborted"]},"cardchain.cardchain.Parameter":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"cardchain.cardchain.Params":{"description":"Params defines the parameters for the module.","type":"object","properties":{"activeSetsAmount":{"type":"string","format":"uint64"},"airDropMaxBlockHeight":{"type":"string","format":"int64"},"airDropValue":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardAuctionPriceReductionPeriod":{"type":"string","format":"int64"},"collateralDeposit":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"commonsPerPack":{"type":"string","format":"uint64"},"exceptionalDropRatio":{"type":"string","format":"uint64"},"gameVoteRatio":{"type":"string","format":"int64"},"hourlyFaucet":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"inflationRate":{"type":"string"},"matchWorkerDelay":{"type":"string","format":"uint64"},"rareDropRatio":{"type":"string","format":"uint64"},"raresPerPack":{"type":"string","format":"uint64"},"setCreationFee":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"setSize":{"type":"string","format":"uint64"},"trialPeriod":{"type":"string","format":"uint64"},"trialVoteReward":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"unCommonsPerPack":{"type":"string","format":"uint64"},"uniqueDropRatio":{"type":"string","format":"uint64"},"votePoolFraction":{"type":"string","format":"int64"},"votingRewardCap":{"type":"string","format":"int64"},"votingRightsExpirationTime":{"type":"string","format":"int64"},"winnerReward":{"type":"string","format":"int64"}}},"cardchain.cardchain.QueryAccountFromZealyResponse":{"type":"object","properties":{"address":{"type":"string"}}},"cardchain.cardchain.QueryCardContentResponse":{"type":"object","properties":{"cardContent":{"$ref":"#/definitions/cardchain.cardchain.CardContent"}}},"cardchain.cardchain.QueryCardContentsResponse":{"type":"object","properties":{"cardContents":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.CardContent"}}}},"cardchain.cardchain.QueryCardResponse":{"type":"object","properties":{"card":{"$ref":"#/definitions/cardchain.cardchain.CardWithImage"}}},"cardchain.cardchain.QueryCardchainInfoResponse":{"type":"object","properties":{"activeSets":{"type":"array","items":{"type":"string","format":"uint64"}},"cardAuctionPrice":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"cardsNumber":{"type":"string","format":"uint64"},"councilsNumber":{"type":"string","format":"uint64"},"lastCardModified":{"type":"string","format":"uint64"},"matchesNumber":{"type":"string","format":"uint64"},"sellOffersNumber":{"type":"string","format":"uint64"}}},"cardchain.cardchain.QueryCardsResponse":{"type":"object","properties":{"cardIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryCouncilResponse":{"type":"object","properties":{"council":{"$ref":"#/definitions/cardchain.cardchain.Council"}}},"cardchain.cardchain.QueryEncounterResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.Encounter"}}},"cardchain.cardchain.QueryEncounterWithImageResponse":{"type":"object","properties":{"encounter":{"$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}},"cardchain.cardchain.QueryEncountersResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Encounter"}}}},"cardchain.cardchain.QueryEncountersWithImageResponse":{"type":"object","properties":{"encounters":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.EncounterWithImage"}}}},"cardchain.cardchain.QueryMatchResponse":{"type":"object","properties":{"match":{"$ref":"#/definitions/cardchain.cardchain.Match"}}},"cardchain.cardchain.QueryMatchesResponse":{"type":"object","properties":{"matchIds":{"type":"array","items":{"type":"string","format":"uint64"}},"matches":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.Match"}}}},"cardchain.cardchain.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.cardchain.Params"}}},"cardchain.cardchain.QuerySellOfferResponse":{"type":"object","properties":{"sellOffer":{"$ref":"#/definitions/cardchain.cardchain.SellOffer"}}},"cardchain.cardchain.QuerySellOffersResponse":{"type":"object","properties":{"sellOfferIds":{"type":"array","items":{"type":"string","format":"uint64"}},"sellOffers":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.SellOffer"}}}},"cardchain.cardchain.QueryServerResponse":{"type":"object","properties":{"server":{"$ref":"#/definitions/cardchain.cardchain.Server"}}},"cardchain.cardchain.QuerySetRarityDistributionResponse":{"type":"object","properties":{"current":{"type":"array","items":{"type":"string","format":"uint64"}},"wanted":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QuerySetResponse":{"type":"object","properties":{"set":{"$ref":"#/definitions/cardchain.cardchain.SetWithArtwork"}}},"cardchain.cardchain.QuerySetsResponse":{"type":"object","properties":{"setIds":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.QueryUserResponse":{"type":"object","properties":{"user":{"$ref":"#/definitions/cardchain.cardchain.User"}}},"cardchain.cardchain.QueryVotingResultsResponse":{"type":"object","properties":{"lastVotingResults":{"$ref":"#/definitions/cardchain.cardchain.VotingResults"}}},"cardchain.cardchain.Response":{"type":"string","default":"Yes","enum":["Yes","No","Suggestion"]},"cardchain.cardchain.SellOffer":{"type":"object","properties":{"buyer":{"type":"string"},"card":{"type":"string","format":"uint64"},"price":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"seller":{"type":"string"},"status":{"$ref":"#/definitions/cardchain.cardchain.SellOfferStatus"}}},"cardchain.cardchain.SellOfferStatus":{"type":"string","default":"empty","enum":["empty","open","sold","removed"]},"cardchain.cardchain.Server":{"type":"object","properties":{"invalidReports":{"type":"string","format":"uint64"},"reporter":{"type":"string"},"validReports":{"type":"string","format":"uint64"}}},"cardchain.cardchain.Set":{"type":"object","properties":{"artist":{"type":"string"},"artworkId":{"type":"string","format":"uint64"},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"contributors":{"type":"array","items":{"type":"string"}},"contributorsDistribution":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.AddrWithQuantity"}},"name":{"type":"string"},"rarities":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.InnerRarities"}},"status":{"$ref":"#/definitions/cardchain.cardchain.SetStatus"},"story":{"type":"string"},"storyWriter":{"type":"string"},"timeStamp":{"type":"string","format":"int64"}}},"cardchain.cardchain.SetStatus":{"type":"string","default":"undefined","enum":["undefined","design","finalized","active","archived"]},"cardchain.cardchain.SetWithArtwork":{"type":"object","properties":{"artwork":{"type":"string","format":"byte"},"set":{"$ref":"#/definitions/cardchain.cardchain.Set"}}},"cardchain.cardchain.SingleVote":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"voteType":{"$ref":"#/definitions/cardchain.cardchain.VoteType"}}},"cardchain.cardchain.User":{"type":"object","properties":{"airDrops":{"$ref":"#/definitions/cardchain.cardchain.AirDrops"},"alias":{"type":"string"},"biography":{"type":"string"},"boosterPacks":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.BoosterPack"}},"cards":{"type":"array","items":{"type":"string","format":"uint64"}},"councilStatus":{"$ref":"#/definitions/cardchain.cardchain.CouncilStatus"},"earlyAccess":{"$ref":"#/definitions/cardchain.cardchain.EarlyAccess"},"openEncounters":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedCardSchemes":{"type":"array","items":{"type":"string","format":"uint64"}},"ownedPrototypes":{"type":"array","items":{"type":"string","format":"uint64"}},"profileCard":{"type":"string","format":"uint64"},"reportMatches":{"type":"boolean"},"votableCards":{"type":"array","items":{"type":"string","format":"uint64"}},"votedCards":{"type":"array","items":{"type":"string","format":"uint64"}},"website":{"type":"string"},"wonEncounters":{"type":"array","items":{"type":"string","format":"uint64"}}}},"cardchain.cardchain.VoteType":{"type":"string","default":"fairEnough","enum":["fairEnough","inappropriate","overpowered","underpowered"]},"cardchain.cardchain.VotingResult":{"type":"object","properties":{"cardId":{"type":"string","format":"uint64"},"fairEnoughVotes":{"type":"string","format":"uint64"},"inappropriateVotes":{"type":"string","format":"uint64"},"overpoweredVotes":{"type":"string","format":"uint64"},"result":{"type":"string"},"underpoweredVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.VotingResults":{"type":"object","properties":{"cardResults":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.cardchain.VotingResult"}},"notes":{"type":"string"},"totalFairEnoughVotes":{"type":"string","format":"uint64"},"totalInappropriateVotes":{"type":"string","format":"uint64"},"totalOverpoweredVotes":{"type":"string","format":"uint64"},"totalUnderpoweredVotes":{"type":"string","format":"uint64"},"totalVotes":{"type":"string","format":"uint64"}}},"cardchain.cardchain.WrapClearResponse":{"type":"object","properties":{"response":{"$ref":"#/definitions/cardchain.cardchain.Response"},"suggestion":{"type":"string"},"user":{"type":"string"}}},"cardchain.cardchain.WrapHashResponse":{"type":"object","properties":{"hash":{"type":"string"},"user":{"type":"string"}}},"cardchain.featureflag.Flag":{"type":"object","properties":{"Module":{"type":"string"},"Name":{"type":"string"},"Set":{"type":"boolean"}}},"cardchain.featureflag.MsgSet":{"type":"object","properties":{"authority":{"type":"string"},"module":{"type":"string"},"name":{"type":"string"},"value":{"type":"boolean"}}},"cardchain.featureflag.MsgSetResponse":{"type":"object"},"cardchain.featureflag.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless\noverwritten).","type":"string"},"params":{"description":"NOTE: All parameters must be supplied.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cardchain.featureflag.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"cardchain.featureflag.Params":{"description":"Params defines the parameters for the module.","type":"object"},"cardchain.featureflag.QueryFlagResponse":{"type":"object","properties":{"flag":{"$ref":"#/definitions/cardchain.featureflag.Flag"}}},"cardchain.featureflag.QueryFlagsResponse":{"type":"object","properties":{"flags":{"type":"array","items":{"type":"object","$ref":"#/definitions/cardchain.featureflag.Flag"}}}},"cardchain.featureflag.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/cardchain.featureflag.Params"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index 37f1975d..bfcfc1a1 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -96,8 +96,8 @@ service Query { // Queries a list of EncounterWithImage items. rpc EncounterWithImage(QueryEncounterWithImageRequest) returns (QueryEncounterWithImageResponse) { - option (google.api.http).get = - "/DecentralCardGame/cardchain/cardchain/encounter_with_image"; + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/" + "encounter_with_image/{encounterId}"; } // Queries a list of EncountersWithImage items. diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index caaa2692..885a2761 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -2245,154 +2245,155 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2351 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xcd, 0x6f, 0x14, 0xc9, - 0x15, 0xa7, 0xed, 0xf1, 0x98, 0x29, 0x0c, 0x0b, 0x05, 0xbb, 0x99, 0x9d, 0x85, 0xc1, 0xd4, 0x7a, - 0xc1, 0xeb, 0x85, 0x69, 0xfc, 0x81, 0xc1, 0xac, 0x21, 0xeb, 0x0f, 0x20, 0x04, 0xf1, 0x91, 0x76, - 0x20, 0xca, 0x1e, 0x62, 0xb5, 0x67, 0xca, 0x76, 0x8b, 0x99, 0xee, 0xd9, 0xae, 0x1a, 0x9c, 0x89, - 0xe5, 0x4b, 0xfe, 0x80, 0x28, 0xda, 0x8d, 0xa2, 0x5c, 0xa2, 0x44, 0xc9, 0x25, 0xca, 0x87, 0xb2, - 0x7f, 0x44, 0x14, 0x71, 0xdc, 0x28, 0x97, 0x3d, 0x45, 0x11, 0x44, 0xca, 0xdf, 0x90, 0x5b, 0x54, - 0x55, 0xaf, 0xab, 0xab, 0x67, 0x7a, 0xda, 0x3d, 0xec, 0xc5, 0x9a, 0x7a, 0xfd, 0x7b, 0xf5, 0x7e, - 0xf5, 0xea, 0x55, 0xbd, 0xf7, 0xca, 0xe8, 0x7c, 0xdd, 0x0d, 0x1b, 0xf5, 0x5d, 0xd7, 0xf3, 0xed, - 0xf8, 0xd7, 0x67, 0x1d, 0x1a, 0x76, 0x6b, 0xed, 0x30, 0xe0, 0x01, 0x3e, 0xad, 0xc5, 0x35, 0xfd, - 0xab, 0x72, 0xca, 0x6d, 0x79, 0x7e, 0x60, 0xcb, 0xbf, 0x0a, 0x57, 0x39, 0xb3, 0x13, 0xec, 0x04, - 0xf2, 0xa7, 0x2d, 0x7e, 0x81, 0xf4, 0xec, 0x4e, 0x10, 0xec, 0x34, 0xa9, 0xed, 0xb6, 0x3d, 0xdb, - 0xf5, 0xfd, 0x80, 0xbb, 0xdc, 0x0b, 0x7c, 0x06, 0x5f, 0x67, 0xea, 0x01, 0x6b, 0x05, 0xcc, 0xde, - 0x72, 0x19, 0x55, 0x46, 0xed, 0x17, 0xb3, 0x5b, 0x94, 0xbb, 0xb3, 0x76, 0xdb, 0xdd, 0xf1, 0x7c, - 0x09, 0x06, 0xec, 0x64, 0x1a, 0xd1, 0xb6, 0x1b, 0xba, 0xad, 0x68, 0xb6, 0x0f, 0xd3, 0x10, 0xe2, - 0xd7, 0xe6, 0x9e, 0xc7, 0x77, 0x37, 0xbd, 0x96, 0xbb, 0x43, 0x01, 0x5a, 0x4d, 0x83, 0x76, 0x18, - 0x0d, 0xb3, 0xbe, 0x8b, 0x5f, 0xf0, 0x3d, 0xd5, 0x6b, 0x2d, 0x97, 0xd7, 0x77, 0x01, 0x70, 0x2e, - 0x0d, 0xc0, 0x28, 0xd7, 0x0b, 0x4f, 0xff, 0xac, 0x98, 0xba, 0x21, 0xdf, 0x0b, 0xc2, 0xe7, 0x80, - 0x9d, 0x4a, 0xc7, 0x36, 0x9b, 0x9b, 0xc1, 0xf6, 0xb6, 0x66, 0x7c, 0x21, 0x95, 0x71, 0xd0, 0xf1, - 0xeb, 0x5e, 0x33, 0xcb, 0x83, 0x8c, 0x86, 0x2f, 0xf4, 0x24, 0xef, 0xa7, 0x21, 0xa8, 0x2f, 0xa6, - 0xe1, 0x1a, 0x54, 0xcb, 0x04, 0xa5, 0xf9, 0xda, 0xd8, 0xe4, 0x68, 0x7b, 0xeb, 0x81, 0x17, 0x6d, - 0xec, 0x74, 0xda, 0x7c, 0x2f, 0x02, 0xee, 0xf9, 0x3b, 0x9b, 0x21, 0x65, 0x9d, 0x26, 0x8f, 0x36, - 0xf8, 0xe2, 0xc0, 0x0d, 0xae, 0x07, 0x3e, 0xa7, 0x3e, 0x78, 0x97, 0x9c, 0x41, 0xf8, 0x7b, 0x22, - 0x98, 0x9e, 0xc8, 0xe8, 0x70, 0xe8, 0x67, 0x1d, 0xca, 0x38, 0x79, 0x8a, 0x4e, 0x27, 0xa4, 0xac, - 0x1d, 0xf8, 0x8c, 0xe2, 0xdb, 0xa8, 0xa8, 0xa2, 0xa8, 0x6c, 0x4d, 0x5a, 0xd3, 0xc7, 0xe6, 0xde, - 0xab, 0xa5, 0x04, 0x7c, 0x4d, 0x29, 0xad, 0x96, 0x5e, 0xfe, 0xeb, 0xfc, 0x91, 0x3f, 0xfc, 0xf7, - 0xcb, 0x19, 0xcb, 0x01, 0x2d, 0x32, 0x83, 0x4e, 0xca, 0x69, 0xd7, 0xdc, 0xb0, 0x01, 0xa6, 0xf0, - 0x3b, 0xa8, 0x28, 0x54, 0xef, 0x37, 0xe4, 0x9c, 0x05, 0x07, 0x46, 0xe4, 0x01, 0x3a, 0x65, 0x60, - 0x81, 0xc0, 0x22, 0x2a, 0x88, 0xcf, 0x60, 0x9e, 0xa4, 0x9a, 0x17, 0x0a, 0x3f, 0xf0, 0xf8, 0xee, - 0x7d, 0xe1, 0x57, 0x47, 0xe2, 0xc9, 0x65, 0x30, 0xfc, 0x94, 0xd1, 0x30, 0x32, 0x5c, 0x46, 0xe3, - 0x6e, 0xa3, 0x11, 0x52, 0xa6, 0x56, 0x53, 0x72, 0xa2, 0x21, 0x59, 0x05, 0xd3, 0x0a, 0x0d, 0xa6, - 0xaf, 0xa0, 0x82, 0x08, 0x7a, 0x30, 0xfd, 0x6e, 0xaa, 0x69, 0xa9, 0x20, 0x61, 0xe4, 0xb7, 0x05, - 0x83, 0x7f, 0xe4, 0x57, 0x7c, 0x06, 0x8d, 0x05, 0x7b, 0x3e, 0xcc, 0x52, 0x72, 0xd4, 0x00, 0x5f, - 0x47, 0x45, 0xc6, 0x5d, 0xde, 0x61, 0xe5, 0x91, 0xc9, 0xd1, 0xe9, 0x13, 0x73, 0xe7, 0x07, 0xae, - 0x6b, 0x43, 0xc2, 0x1c, 0x80, 0xe3, 0x25, 0x74, 0x54, 0x7c, 0xff, 0x7e, 0xb7, 0x4d, 0xcb, 0xa3, - 0x52, 0xf5, 0xdc, 0x40, 0x55, 0x01, 0x72, 0x34, 0x1c, 0x2f, 0xa0, 0xb1, 0x7a, 0xd3, 0x65, 0xac, - 0x5c, 0x90, 0x7a, 0xd5, 0x81, 0x7a, 0x6b, 0x02, 0xe5, 0x28, 0xb0, 0xd8, 0x2c, 0x16, 0x84, 0x7c, - 0xb5, 0x5b, 0x1e, 0x93, 0x0b, 0x80, 0x11, 0x26, 0x68, 0xc2, 0x77, 0x5b, 0x74, 0x2d, 0xf0, 0xb9, - 0xeb, 0xf9, 0xac, 0x5c, 0x94, 0x5f, 0x13, 0x32, 0x3c, 0x83, 0x4e, 0x3e, 0xa7, 0xdd, 0xbd, 0x20, - 0x6c, 0x30, 0x8d, 0x1b, 0x97, 0xb8, 0x3e, 0x39, 0x9e, 0x42, 0xc7, 0xfd, 0x80, 0xd3, 0x18, 0x78, - 0x54, 0x02, 0x93, 0x42, 0x3c, 0x8d, 0xde, 0x0a, 0xfc, 0x66, 0x77, 0x83, 0xbb, 0x21, 0xa7, 0xa1, - 0x20, 0x5b, 0x2e, 0x4d, 0x5a, 0xd3, 0x47, 0x9d, 0x5e, 0x31, 0xae, 0x21, 0x2c, 0x44, 0xab, 0x6e, - 0xd3, 0xf5, 0xeb, 0x74, 0xc5, 0xaf, 0xef, 0x06, 0x21, 0x2b, 0x23, 0x09, 0x4e, 0xf9, 0x82, 0x3f, - 0x46, 0x47, 0x43, 0x37, 0xf4, 0xb8, 0x47, 0x59, 0xf9, 0xd8, 0x21, 0x7b, 0xe2, 0x08, 0x60, 0xd7, - 0xd1, 0x0a, 0xf8, 0x22, 0x3a, 0xd1, 0xea, 0x34, 0xb9, 0x27, 0x3d, 0xf7, 0xd8, 0x6f, 0x76, 0xcb, - 0x13, 0xd2, 0x50, 0x8f, 0x94, 0xd4, 0xe0, 0xe8, 0x41, 0x84, 0x40, 0x9c, 0x95, 0xd1, 0xb8, 0x3a, - 0x01, 0x22, 0x2c, 0x47, 0xa7, 0x0b, 0x4e, 0x34, 0x24, 0x57, 0x20, 0xa2, 0x1e, 0x8a, 0xbb, 0xd3, - 0x88, 0x62, 0x79, 0x97, 0xea, 0xf3, 0x13, 0x0d, 0xc9, 0x5d, 0x98, 0x1e, 0xe0, 0x30, 0xfd, 0x55, - 0x34, 0x26, 0x01, 0x10, 0xc7, 0x95, 0xd4, 0x65, 0x29, 0x15, 0x05, 0x24, 0x97, 0xd0, 0x5b, 0x72, - 0x9e, 0x0d, 0xca, 0x8d, 0x30, 0x66, 0x94, 0x6b, 0x93, 0x6a, 0x40, 0xee, 0xc3, 0x21, 0x93, 0x40, - 0x30, 0x77, 0x0d, 0x8d, 0x32, 0xca, 0xc1, 0xd8, 0xfb, 0xa9, 0xc6, 0x36, 0x28, 0x17, 0xc7, 0x75, - 0x45, 0x5d, 0xe4, 0x8e, 0xc0, 0x93, 0x25, 0xf4, 0x36, 0x4c, 0xd5, 0x6c, 0x3e, 0x16, 0x37, 0x77, - 0x64, 0x79, 0x12, 0x1d, 0x63, 0x91, 0x4c, 0xdb, 0x37, 0x45, 0xe4, 0x19, 0x7a, 0xa7, 0x57, 0x15, - 0xb8, 0x2c, 0xa3, 0x92, 0x06, 0x02, 0xa3, 0xea, 0x00, 0x46, 0x91, 0x6a, 0xac, 0x40, 0xe6, 0xe1, - 0x4a, 0x5c, 0x53, 0x79, 0x22, 0x22, 0x74, 0x16, 0x95, 0x20, 0x73, 0x68, 0x3a, 0xb1, 0x80, 0x3c, - 0x42, 0x67, 0x92, 0x4a, 0xfa, 0x1e, 0x1b, 0x07, 0x10, 0x10, 0x39, 0x9b, 0x1e, 0x5e, 0xa0, 0x16, - 0x81, 0xc9, 0x55, 0xd8, 0xd3, 0x0d, 0x99, 0x89, 0x22, 0x0e, 0x15, 0x74, 0x54, 0xa5, 0x26, 0x4d, - 0x41, 0x8f, 0xc9, 0x77, 0x81, 0x76, 0xa4, 0x01, 0x04, 0xe6, 0x51, 0x51, 0x41, 0x32, 0x6f, 0x72, - 0x50, 0x02, 0xa8, 0xde, 0x95, 0x3b, 0x51, 0x02, 0x33, 0x76, 0x45, 0x27, 0xb5, 0x78, 0x57, 0x0c, - 0x91, 0xde, 0x15, 0x43, 0x35, 0xde, 0x15, 0x0d, 0xcc, 0xdc, 0x95, 0x58, 0x35, 0x56, 0x20, 0xe5, - 0xde, 0x79, 0x75, 0x0a, 0xfb, 0x21, 0xfa, 0x56, 0xdf, 0x17, 0x9d, 0xc6, 0x90, 0x9e, 0x41, 0x9d, - 0xb2, 0xc3, 0x6d, 0x1a, 0x1a, 0x64, 0x15, 0x55, 0x93, 0x53, 0xc7, 0xe9, 0x26, 0xb7, 0x43, 0x76, - 0xd1, 0xf9, 0x81, 0x73, 0x00, 0xcd, 0x3b, 0xfd, 0x9e, 0xb9, 0x94, 0xcd, 0x32, 0x9e, 0xc3, 0x70, - 0xd1, 0x85, 0x5e, 0x4b, 0xac, 0x97, 0x2e, 0x79, 0x8e, 0x26, 0x07, 0x43, 0x80, 0xcd, 0xbd, 0x14, - 0xa7, 0xe5, 0xa6, 0x63, 0x7a, 0xef, 0x3d, 0xf4, 0xae, 0xbe, 0xf6, 0xa4, 0xc2, 0x7d, 0x7f, 0x3b, - 0x88, 0x98, 0xfc, 0x63, 0x04, 0x55, 0xd2, 0xbe, 0x02, 0x89, 0x07, 0xe8, 0xa4, 0xb0, 0xb3, 0xd2, - 0xa9, 0x8b, 0x6a, 0xf7, 0x49, 0xe8, 0xd5, 0x69, 0x9c, 0x90, 0x65, 0xe9, 0x54, 0x13, 0xa5, 0x53, - 0x0d, 0x4a, 0xa7, 0xda, 0x5a, 0xe0, 0xf9, 0xab, 0x05, 0x51, 0x88, 0x38, 0x7d, 0x8a, 0xb8, 0x8a, - 0x90, 0x5b, 0xe7, 0xde, 0x0b, 0xba, 0x41, 0xb9, 0x4a, 0xbd, 0x05, 0xc7, 0x90, 0x88, 0x4d, 0x14, - 0x3a, 0xec, 0x51, 0xa7, 0xb5, 0x45, 0xc3, 0xf2, 0xa8, 0xda, 0x44, 0x43, 0x24, 0xd2, 0x94, 0xbc, - 0x23, 0x69, 0x84, 0x29, 0x48, 0x4c, 0x52, 0x28, 0x12, 0x9f, 0xbe, 0x46, 0x22, 0xe0, 0x98, 0x04, - 0xf6, 0xc9, 0x45, 0xee, 0x80, 0xb3, 0x1e, 0x21, 0x8b, 0x12, 0xd9, 0x23, 0x15, 0x73, 0x36, 0x5d, - 0xc6, 0x85, 0x97, 0x1e, 0x06, 0x0d, 0x6f, 0xdb, 0xa3, 0x0d, 0x99, 0x4c, 0x0b, 0x4e, 0x9f, 0x9c, - 0x2c, 0xa1, 0x0b, 0xfa, 0x5e, 0x96, 0xb9, 0x6a, 0xdd, 0x63, 0x3c, 0xf4, 0xb6, 0x3a, 0xc2, 0x15, - 0xd9, 0x57, 0xfa, 0x33, 0x44, 0xb2, 0x54, 0x8d, 0x94, 0xd5, 0x09, 0x43, 0xea, 0x73, 0x9d, 0xb2, - 0xd4, 0x50, 0xd4, 0x0b, 0x7b, 0xae, 0xcf, 0x69, 0x03, 0xdc, 0x0b, 0x23, 0x72, 0x03, 0x9d, 0x95, - 0xf3, 0xae, 0xd4, 0x65, 0x58, 0xdc, 0x0d, 0x83, 0xd6, 0xa7, 0xd4, 0x6d, 0x76, 0x8d, 0xac, 0xf6, - 0x13, 0x31, 0x06, 0x3e, 0x25, 0x27, 0x1a, 0x92, 0x25, 0x74, 0x6e, 0x80, 0x66, 0x4c, 0x66, 0x40, - 0x59, 0x17, 0x05, 0xde, 0x33, 0x59, 0x2f, 0x3b, 0xaa, 0x5c, 0x8e, 0x02, 0xcf, 0x87, 0xb8, 0xeb, - 0xf9, 0x08, 0x93, 0x3e, 0x41, 0xa7, 0x84, 0x5b, 0x13, 0x1f, 0x33, 0x8b, 0xd0, 0xe4, 0x34, 0xfd, - 0xca, 0xe4, 0x7f, 0x16, 0x5c, 0xcc, 0x0f, 0x55, 0xac, 0x44, 0x2b, 0x9f, 0x42, 0xc7, 0xb9, 0xd7, - 0xa2, 0x8c, 0xbb, 0xad, 0xf6, 0x7a, 0xb0, 0xe7, 0xc3, 0x7e, 0x24, 0x85, 0x22, 0x34, 0xb5, 0xe0, - 0x69, 0xbb, 0x3c, 0xa2, 0x42, 0xd3, 0x10, 0x89, 0x79, 0xea, 0x50, 0x27, 0x89, 0xaa, 0x94, 0xc9, - 0xfa, 0xb0, 0xe4, 0x24, 0x85, 0x22, 0x73, 0x84, 0xb4, 0x1d, 0x88, 0x3a, 0x49, 0xc6, 0x6e, 0xc9, - 0xd1, 0x63, 0x91, 0xa3, 0x82, 0x0e, 0xaf, 0x07, 0x2d, 0x2a, 0xa3, 0xf5, 0xc4, 0x80, 0x1c, 0xf5, - 0x58, 0x61, 0x9c, 0x08, 0xac, 0x8f, 0xcd, 0x93, 0xa6, 0xdb, 0xa5, 0x8d, 0x72, 0x51, 0x6e, 0xbc, - 0x29, 0x22, 0xbb, 0x90, 0x15, 0xf5, 0xd2, 0xc1, 0xcb, 0x0b, 0x50, 0xcb, 0xd0, 0xe8, 0x7e, 0xc9, - 0xaa, 0x4e, 0x22, 0xa8, 0x58, 0x03, 0x94, 0x3c, 0xd1, 0x21, 0xd6, 0x63, 0xf2, 0x47, 0x2b, 0xae, - 0x49, 0xb4, 0x8b, 0x17, 0x75, 0xb9, 0x6d, 0xc9, 0x75, 0x0d, 0x2a, 0x02, 0x78, 0x4f, 0xb5, 0x4d, - 0xd0, 0x84, 0xf0, 0x9e, 0x0c, 0x7f, 0x51, 0x3e, 0x8e, 0x48, 0x8f, 0x26, 0x64, 0xa6, 0xdb, 0x65, - 0x59, 0x27, 0xdd, 0x5e, 0x70, 0x92, 0xc2, 0xb8, 0x0d, 0x28, 0x18, 0x6d, 0x00, 0xf9, 0x08, 0xea, - 0x3b, 0xc5, 0x15, 0x7c, 0x22, 0x2a, 0x6e, 0x71, 0x14, 0xa3, 0x6a, 0x10, 0x46, 0x64, 0x16, 0xd2, - 0x9b, 0x2c, 0xd1, 0x55, 0x47, 0x77, 0x58, 0x47, 0xf5, 0x23, 0x54, 0xee, 0x57, 0x01, 0x33, 0xab, - 0x6a, 0xd3, 0x40, 0x0c, 0xa1, 0x3d, 0x39, 0xb8, 0x29, 0x00, 0x75, 0x53, 0x89, 0x2c, 0xf4, 0xcf, - 0xcf, 0x8c, 0x03, 0x3d, 0xa0, 0xaa, 0x75, 0x8d, 0x74, 0x10, 0x6b, 0x01, 0xad, 0x75, 0x34, 0x61, - 0x58, 0x88, 0xc2, 0xe2, 0x70, 0x5e, 0x09, 0x2d, 0xf2, 0xf9, 0x48, 0x6f, 0x4d, 0xa8, 0x79, 0xdd, - 0x42, 0xa5, 0xb6, 0x48, 0x06, 0xfa, 0xa8, 0xe5, 0xc8, 0x24, 0xb1, 0x06, 0x5e, 0x42, 0xe3, 0x72, - 0x00, 0x67, 0x30, 0x87, 0x72, 0x84, 0x57, 0x1b, 0xdb, 0x6c, 0x42, 0x62, 0x11, 0xad, 0x94, 0x1c, - 0x89, 0xd8, 0xd8, 0xea, 0x74, 0xe3, 0xd8, 0x90, 0x03, 0x8c, 0xa1, 0xf1, 0x55, 0x79, 0x43, 0xfe, - 0xc6, 0xcb, 0x3a, 0x8e, 0x8b, 0x32, 0x8e, 0xa7, 0xb2, 0x8b, 0xd9, 0x64, 0x34, 0x93, 0x03, 0x08, - 0x20, 0xd3, 0x27, 0x71, 0x7d, 0x14, 0x27, 0xa6, 0xcc, 0xfa, 0x28, 0xae, 0x94, 0x0d, 0x0d, 0x71, - 0x50, 0x8c, 0x8a, 0x3c, 0x3a, 0x95, 0x09, 0xd9, 0xdc, 0x6f, 0xce, 0xa1, 0x31, 0x69, 0x1f, 0x7f, - 0x6e, 0xa1, 0xa2, 0x7a, 0x32, 0xc0, 0xe9, 0xf5, 0x44, 0xff, 0xfb, 0x44, 0x65, 0xfa, 0x70, 0xa0, - 0x5a, 0x0b, 0xb9, 0xf6, 0xd3, 0x7f, 0xfe, 0xe7, 0x8b, 0x11, 0x1b, 0x5f, 0xb1, 0xd7, 0x69, 0x9d, - 0xfa, 0x3c, 0x74, 0x9b, 0x22, 0x50, 0xee, 0xb9, 0x2d, 0x6a, 0x0f, 0x7e, 0x25, 0xc3, 0x5f, 0x58, - 0xa8, 0x20, 0x3b, 0xc7, 0x0f, 0x06, 0x5b, 0x32, 0x5e, 0x31, 0x2a, 0x17, 0x0f, 0x83, 0x01, 0x9d, - 0x65, 0x49, 0x67, 0x11, 0x2f, 0xe4, 0xa4, 0x23, 0x7e, 0xd9, 0xfb, 0xea, 0xac, 0x1c, 0xe0, 0x5f, - 0x58, 0xa8, 0x20, 0x2e, 0xee, 0x2c, 0x56, 0xc6, 0x13, 0x47, 0x16, 0x2b, 0xf3, 0x6d, 0x83, 0xdc, - 0x92, 0xac, 0xae, 0xe3, 0x6b, 0x39, 0x59, 0x75, 0x18, 0x0d, 0xed, 0x7d, 0xc8, 0xab, 0x07, 0xf8, - 0x67, 0x16, 0x1a, 0x53, 0x17, 0xdb, 0x21, 0x6e, 0xd0, 0xfb, 0x77, 0xe9, 0x50, 0x1c, 0x30, 0x5b, - 0x90, 0xcc, 0x6a, 0xf8, 0xf2, 0x10, 0xfe, 0x62, 0xf8, 0x57, 0x16, 0x1a, 0x93, 0x59, 0x22, 0x8b, - 0x90, 0xd9, 0x46, 0x67, 0x11, 0x4a, 0xf4, 0xcf, 0xe4, 0xb6, 0x24, 0x74, 0x03, 0x2f, 0xe6, 0x24, - 0x24, 0x53, 0x91, 0xbd, 0x0f, 0x19, 0x49, 0xfa, 0x6a, 0x74, 0x83, 0x72, 0x3c, 0x35, 0xd8, 0x60, - 0xdc, 0x68, 0x57, 0x3e, 0x38, 0x04, 0x05, 0xa4, 0x6e, 0x4a, 0x52, 0x0b, 0x78, 0x2e, 0x27, 0x29, - 0x46, 0xb9, 0xbd, 0x2f, 0x13, 0xc9, 0x01, 0xfe, 0x8b, 0x85, 0x4a, 0xfa, 0x18, 0xe3, 0x99, 0x2c, - 0x83, 0xc9, 0x5e, 0xbc, 0xf2, 0x51, 0x2e, 0x2c, 0x50, 0xbc, 0x27, 0x29, 0xae, 0xe0, 0x6f, 0xe7, - 0xa6, 0x18, 0x3d, 0xda, 0x0a, 0xa6, 0xfa, 0xe2, 0x38, 0xc0, 0xbf, 0xb3, 0xd0, 0x38, 0xf4, 0xc5, - 0x38, 0xe3, 0x1a, 0x48, 0xb6, 0xe9, 0x95, 0x0f, 0x73, 0x20, 0x81, 0xe9, 0xaa, 0x64, 0xba, 0x8c, - 0x6f, 0xe6, 0x0d, 0x39, 0xa5, 0x6f, 0xef, 0xeb, 0xb6, 0xff, 0x00, 0xff, 0xda, 0x42, 0x45, 0xd5, - 0x3c, 0x67, 0xdd, 0x69, 0x89, 0x2e, 0x3e, 0xeb, 0x4e, 0x4b, 0x36, 0xef, 0xe4, 0x13, 0xc9, 0xf0, - 0x26, 0xbe, 0x91, 0xdb, 0x97, 0x42, 0x5d, 0xf8, 0x51, 0x3d, 0x0a, 0x1c, 0xe0, 0x3f, 0x5b, 0xa8, - 0xa4, 0xdb, 0xb4, 0xac, 0x4d, 0xef, 0x6d, 0xf5, 0xb3, 0x36, 0xbd, 0xaf, 0xb7, 0x27, 0x77, 0x25, - 0xd1, 0x4f, 0xf0, 0xed, 0x9c, 0x44, 0x75, 0x97, 0x68, 0xef, 0x1b, 0xbd, 0xb2, 0xdc, 0x73, 0x14, - 0xf7, 0xa6, 0x38, 0x0f, 0x07, 0x7d, 0xd5, 0x5c, 0xce, 0x07, 0x06, 0xc6, 0x4b, 0x92, 0xf1, 0x3c, - 0x9e, 0x1d, 0x96, 0x31, 0xc3, 0x7f, 0xb3, 0x10, 0xee, 0x6f, 0x7d, 0xf1, 0x7c, 0x0e, 0xfb, 0xbd, - 0x0d, 0x79, 0x65, 0x61, 0x38, 0x25, 0x20, 0xbf, 0x26, 0xc9, 0xdf, 0xc2, 0x1f, 0x0f, 0x4b, 0xde, - 0xf8, 0x47, 0x04, 0x7e, 0x69, 0xa1, 0xd3, 0x29, 0xef, 0x00, 0x38, 0x0f, 0xa5, 0xbe, 0x97, 0x85, - 0xca, 0xb5, 0x21, 0xb5, 0x60, 0x25, 0xeb, 0x72, 0x25, 0xb7, 0xf1, 0xf2, 0xd0, 0xdb, 0x60, 0x2e, - 0xe5, 0xaf, 0x16, 0x3a, 0x9e, 0x78, 0x47, 0xc0, 0xb5, 0xec, 0xbc, 0xd3, 0xfb, 0x1c, 0x51, 0xb1, - 0x73, 0xe3, 0xdf, 0x30, 0x93, 0xea, 0x5f, 0x9b, 0x9e, 0xe0, 0xf7, 0xb5, 0x85, 0xde, 0x4e, 0xed, - 0xb5, 0xf1, 0x62, 0x76, 0x26, 0x18, 0xd4, 0xd7, 0x57, 0xae, 0x0f, 0xad, 0x07, 0x2b, 0x79, 0x24, - 0x57, 0xf2, 0x1d, 0x7c, 0x37, 0x7f, 0x4e, 0xd9, 0x94, 0x4f, 0xe0, 0xdd, 0xcd, 0x86, 0x31, 0x9f, - 0xce, 0x33, 0x7f, 0xb7, 0xd0, 0xc9, 0xde, 0xa6, 0x1d, 0xcf, 0x0e, 0x66, 0x37, 0xe0, 0x69, 0xa0, - 0x32, 0x37, 0x8c, 0x0a, 0xac, 0xe5, 0x81, 0x5c, 0xcb, 0x1d, 0xbc, 0x96, 0x73, 0x2d, 0xae, 0x9a, - 0x68, 0x73, 0x3b, 0x0c, 0x5a, 0x9b, 0xf2, 0xe5, 0xc1, 0xde, 0x87, 0x07, 0x88, 0x03, 0x19, 0x55, - 0x89, 0x5e, 0x3e, 0x2b, 0xaa, 0xd2, 0xde, 0x1a, 0xb2, 0xa2, 0x2a, 0xf5, 0xf9, 0x61, 0xe8, 0xa8, - 0x4a, 0xfe, 0x47, 0x10, 0xff, 0xd2, 0x42, 0xe3, 0xd0, 0x6b, 0x67, 0xa5, 0xcc, 0xe4, 0x4b, 0x44, - 0x56, 0xca, 0xec, 0x69, 0xdc, 0xc9, 0xa2, 0xe4, 0x77, 0x15, 0xd7, 0x86, 0x29, 0x8a, 0xa8, 0xaa, - 0xb2, 0xe5, 0x53, 0x5b, 0x76, 0x9d, 0xc3, 0x72, 0xd4, 0xb3, 0x66, 0xd3, 0x3c, 0x74, 0x95, 0xcd, - 0x28, 0x67, 0xf6, 0xbe, 0x6a, 0x8c, 0x0e, 0xf0, 0x97, 0x16, 0x3a, 0x66, 0x34, 0x93, 0xf8, 0x72, - 0xf6, 0x25, 0x90, 0xec, 0xbe, 0x2b, 0x57, 0x72, 0xa2, 0xdf, 0xf0, 0xa6, 0x33, 0xff, 0x85, 0x1b, - 0x37, 0x06, 0x7f, 0xb2, 0xd0, 0x84, 0xd9, 0x40, 0xe3, 0x7c, 0x2c, 0xb4, 0x63, 0x6b, 0x79, 0xe1, - 0xdf, 0xa0, 0x8d, 0x89, 0x58, 0x33, 0xfc, 0x7b, 0x0b, 0xa1, 0xb8, 0xed, 0xc4, 0x79, 0xea, 0xc8, - 0x3c, 0xe9, 0xbc, 0xbf, 0x93, 0x7d, 0x83, 0xc2, 0x38, 0xaa, 0x3a, 0xd9, 0xaa, 0xf3, 0xf2, 0x55, - 0xd5, 0xfa, 0xea, 0x55, 0xd5, 0xfa, 0xf7, 0xab, 0xaa, 0xf5, 0xf3, 0xd7, 0xd5, 0x23, 0x5f, 0xbd, - 0xae, 0x1e, 0xf9, 0xfa, 0x75, 0xf5, 0xc8, 0xa7, 0x37, 0x76, 0x3c, 0xbe, 0xdb, 0xd9, 0xaa, 0xd5, - 0x83, 0x56, 0xe6, 0xbc, 0x3f, 0x36, 0x7e, 0xf3, 0x6e, 0x9b, 0xb2, 0xad, 0xa2, 0xfc, 0xa7, 0xfb, - 0xfc, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x93, 0x35, 0x56, 0x53, 0x4a, 0x22, 0x00, 0x00, + // 2354 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0x5d, 0x6f, 0x1b, 0xc7, + 0xd5, 0xf6, 0x4a, 0x14, 0x65, 0x8e, 0x65, 0xc7, 0x1e, 0x3b, 0x79, 0x19, 0xc6, 0xa6, 0xe5, 0x89, + 0x62, 0x2b, 0x8a, 0xcd, 0xb5, 0x3e, 0x2c, 0x5b, 0x7e, 0x15, 0x37, 0xfa, 0xb0, 0x5d, 0xd5, 0xf0, + 0x47, 0x56, 0xb5, 0x8b, 0xe6, 0xa2, 0xc2, 0x8a, 0x1c, 0x49, 0x0b, 0x93, 0xbb, 0xcc, 0xce, 0xd0, + 0x2a, 0x2b, 0xe8, 0xa6, 0x3f, 0xa0, 0x28, 0x92, 0xa2, 0xe8, 0x4d, 0x81, 0xa2, 0xbd, 0x29, 0xda, + 0x06, 0xcd, 0xaf, 0x28, 0x7c, 0x99, 0xb6, 0x37, 0xb9, 0x2a, 0x0a, 0xbb, 0x40, 0x7f, 0x43, 0xef, + 0x8a, 0x99, 0x39, 0x3b, 0x3b, 0x4b, 0x2e, 0x57, 0x4b, 0xf7, 0x46, 0xe0, 0x9c, 0x7d, 0xce, 0x9c, + 0x67, 0xce, 0x9c, 0x99, 0x73, 0xce, 0x08, 0x5d, 0xac, 0xbb, 0x61, 0xa3, 0xbe, 0xe7, 0x7a, 0xbe, + 0x1d, 0xff, 0xfa, 0xbc, 0x43, 0xc3, 0x6e, 0xad, 0x1d, 0x06, 0x3c, 0xc0, 0x67, 0xb5, 0xb8, 0xa6, + 0x7f, 0x55, 0xce, 0xb8, 0x2d, 0xcf, 0x0f, 0x6c, 0xf9, 0x57, 0xe1, 0x2a, 0xe7, 0x76, 0x83, 0xdd, + 0x40, 0xfe, 0xb4, 0xc5, 0x2f, 0x90, 0x9e, 0xdf, 0x0d, 0x82, 0xdd, 0x26, 0xb5, 0xdd, 0xb6, 0x67, + 0xbb, 0xbe, 0x1f, 0x70, 0x97, 0x7b, 0x81, 0xcf, 0xe0, 0xeb, 0x4c, 0x3d, 0x60, 0xad, 0x80, 0xd9, + 0xdb, 0x2e, 0xa3, 0xca, 0xa8, 0xfd, 0x62, 0x76, 0x9b, 0x72, 0x77, 0xd6, 0x6e, 0xbb, 0xbb, 0x9e, + 0x2f, 0xc1, 0x80, 0x9d, 0x4c, 0x23, 0xda, 0x76, 0x43, 0xb7, 0x15, 0xcd, 0xf6, 0x61, 0x1a, 0x42, + 0xfc, 0xda, 0xda, 0xf7, 0xf8, 0xde, 0x96, 0xd7, 0x72, 0x77, 0x29, 0x40, 0xab, 0x69, 0xd0, 0x0e, + 0xa3, 0x61, 0xd6, 0x77, 0xf1, 0x0b, 0xbe, 0xa7, 0x7a, 0xad, 0xe5, 0xf2, 0xfa, 0x1e, 0x00, 0x2e, + 0xa4, 0x01, 0x18, 0xe5, 0x7a, 0xe1, 0xe9, 0x9f, 0x15, 0x53, 0x37, 0xe4, 0xfb, 0x41, 0xf8, 0x1c, + 0xb0, 0x53, 0xe9, 0xd8, 0x66, 0x73, 0x2b, 0xd8, 0xd9, 0xd1, 0x8c, 0x2f, 0xa5, 0x32, 0x0e, 0x3a, + 0x7e, 0xdd, 0x6b, 0x66, 0x79, 0x90, 0xd1, 0xf0, 0x85, 0x9e, 0xe4, 0xfd, 0x34, 0x04, 0xf5, 0xc5, + 0x34, 0x5c, 0x83, 0x6a, 0x99, 0xa0, 0x34, 0x5f, 0x1b, 0x9b, 0x1c, 0x6d, 0x6f, 0x3d, 0xf0, 0xa2, + 0x8d, 0x9d, 0x4e, 0x9b, 0xef, 0x45, 0xc0, 0x3d, 0x7f, 0x77, 0x2b, 0xa4, 0xac, 0xd3, 0xe4, 0xd1, + 0x06, 0x5f, 0x1e, 0xb8, 0xc1, 0xf5, 0xc0, 0xe7, 0xd4, 0x07, 0xef, 0x92, 0x73, 0x08, 0x7f, 0x2a, + 0x82, 0xe9, 0x89, 0x8c, 0x0e, 0x87, 0x7e, 0xde, 0xa1, 0x8c, 0x93, 0xa7, 0xe8, 0x6c, 0x42, 0xca, + 0xda, 0x81, 0xcf, 0x28, 0xbe, 0x83, 0x8a, 0x2a, 0x8a, 0xca, 0xd6, 0xa4, 0x35, 0x7d, 0x62, 0xee, + 0xbd, 0x5a, 0x4a, 0xc0, 0xd7, 0x94, 0xd2, 0x6a, 0xe9, 0xe5, 0x3f, 0x2e, 0x1e, 0xfb, 0xfd, 0xbf, + 0xbf, 0x9e, 0xb1, 0x1c, 0xd0, 0x22, 0x33, 0xe8, 0xb4, 0x9c, 0x76, 0xcd, 0x0d, 0x1b, 0x60, 0x0a, + 0xbf, 0x83, 0x8a, 0x42, 0x75, 0xa3, 0x21, 0xe7, 0x2c, 0x38, 0x30, 0x22, 0x0f, 0xd0, 0x19, 0x03, + 0x0b, 0x04, 0x16, 0x51, 0x41, 0x7c, 0x06, 0xf3, 0x24, 0xd5, 0xbc, 0x50, 0xf8, 0x81, 0xc7, 0xf7, + 0x36, 0x84, 0x5f, 0x1d, 0x89, 0x27, 0x57, 0xc1, 0xf0, 0x53, 0x46, 0xc3, 0xc8, 0x70, 0x19, 0x8d, + 0xbb, 0x8d, 0x46, 0x48, 0x99, 0x5a, 0x4d, 0xc9, 0x89, 0x86, 0x64, 0x15, 0x4c, 0x2b, 0x34, 0x98, + 0xbe, 0x86, 0x0a, 0x22, 0xe8, 0xc1, 0xf4, 0xbb, 0xa9, 0xa6, 0xa5, 0x82, 0x84, 0x91, 0xdf, 0x14, + 0x0c, 0xfe, 0x91, 0x5f, 0xf1, 0x39, 0x34, 0x16, 0xec, 0xfb, 0x30, 0x4b, 0xc9, 0x51, 0x03, 0x7c, + 0x13, 0x15, 0x19, 0x77, 0x79, 0x87, 0x95, 0x47, 0x26, 0x47, 0xa7, 0x4f, 0xcd, 0x5d, 0x1c, 0xb8, + 0xae, 0x4d, 0x09, 0x73, 0x00, 0x8e, 0x97, 0xd0, 0x71, 0xf1, 0xfd, 0xfb, 0xdd, 0x36, 0x2d, 0x8f, + 0x4a, 0xd5, 0x0b, 0x03, 0x55, 0x05, 0xc8, 0xd1, 0x70, 0xbc, 0x80, 0xc6, 0xea, 0x4d, 0x97, 0xb1, + 0x72, 0x41, 0xea, 0x55, 0x07, 0xea, 0xad, 0x09, 0x94, 0xa3, 0xc0, 0x62, 0xb3, 0x58, 0x10, 0xf2, + 0xd5, 0x6e, 0x79, 0x4c, 0x2e, 0x00, 0x46, 0x98, 0xa0, 0x09, 0xdf, 0x6d, 0xd1, 0xb5, 0xc0, 0xe7, + 0xae, 0xe7, 0xb3, 0x72, 0x51, 0x7e, 0x4d, 0xc8, 0xf0, 0x0c, 0x3a, 0xfd, 0x9c, 0x76, 0xf7, 0x83, + 0xb0, 0xc1, 0x34, 0x6e, 0x5c, 0xe2, 0xfa, 0xe4, 0x78, 0x0a, 0x9d, 0xf4, 0x03, 0x4e, 0x63, 0xe0, + 0x71, 0x09, 0x4c, 0x0a, 0xf1, 0x34, 0x7a, 0x2b, 0xf0, 0x9b, 0xdd, 0x4d, 0xee, 0x86, 0x9c, 0x86, + 0x82, 0x6c, 0xb9, 0x34, 0x69, 0x4d, 0x1f, 0x77, 0x7a, 0xc5, 0xb8, 0x86, 0xb0, 0x10, 0xad, 0xba, + 0x4d, 0xd7, 0xaf, 0xd3, 0x15, 0xbf, 0xbe, 0x17, 0x84, 0xac, 0x8c, 0x24, 0x38, 0xe5, 0x0b, 0xfe, + 0x7f, 0x74, 0x3c, 0x74, 0x43, 0x8f, 0x7b, 0x94, 0x95, 0x4f, 0x1c, 0xb1, 0x27, 0x8e, 0x00, 0x76, + 0x1d, 0xad, 0x80, 0x2f, 0xa3, 0x53, 0xad, 0x4e, 0x93, 0x7b, 0xd2, 0x73, 0x8f, 0xfd, 0x66, 0xb7, + 0x3c, 0x21, 0x0d, 0xf5, 0x48, 0x49, 0x0d, 0x8e, 0x1e, 0x44, 0x08, 0xc4, 0x59, 0x19, 0x8d, 0xab, + 0x13, 0x20, 0xc2, 0x72, 0x74, 0xba, 0xe0, 0x44, 0x43, 0x72, 0x0d, 0x22, 0xea, 0xa1, 0xb8, 0x3b, + 0x8d, 0x28, 0x96, 0x77, 0xa9, 0x3e, 0x3f, 0xd1, 0x90, 0xdc, 0x83, 0xe9, 0x01, 0x0e, 0xd3, 0x5f, + 0x47, 0x63, 0x12, 0x00, 0x71, 0x5c, 0x49, 0x5d, 0x96, 0x52, 0x51, 0x40, 0x72, 0x05, 0xbd, 0x25, + 0xe7, 0xd9, 0xa4, 0xdc, 0x08, 0x63, 0x46, 0xb9, 0x36, 0xa9, 0x06, 0x64, 0x03, 0x0e, 0x99, 0x04, + 0x82, 0xb9, 0x1b, 0x68, 0x94, 0x51, 0x0e, 0xc6, 0xde, 0x4f, 0x35, 0xb6, 0x49, 0xb9, 0x38, 0xae, + 0x2b, 0xea, 0x22, 0x77, 0x04, 0x9e, 0x2c, 0xa1, 0xb7, 0x61, 0xaa, 0x66, 0xf3, 0xb1, 0xb8, 0xb9, + 0x23, 0xcb, 0x93, 0xe8, 0x04, 0x8b, 0x64, 0xda, 0xbe, 0x29, 0x22, 0xcf, 0xd0, 0x3b, 0xbd, 0xaa, + 0xc0, 0x65, 0x19, 0x95, 0x34, 0x10, 0x18, 0x55, 0x07, 0x30, 0x8a, 0x54, 0x63, 0x05, 0x32, 0x0f, + 0x57, 0xe2, 0x9a, 0xca, 0x13, 0x11, 0xa1, 0xf3, 0xa8, 0x04, 0x99, 0x43, 0xd3, 0x89, 0x05, 0xe4, + 0x11, 0x3a, 0x97, 0x54, 0xd2, 0xf7, 0xd8, 0x38, 0x80, 0x80, 0xc8, 0xf9, 0xf4, 0xf0, 0x02, 0xb5, + 0x08, 0x4c, 0xae, 0xc3, 0x9e, 0x6e, 0xca, 0x4c, 0x14, 0x71, 0xa8, 0xa0, 0xe3, 0x2a, 0x35, 0x69, + 0x0a, 0x7a, 0x4c, 0xbe, 0x07, 0xb4, 0x23, 0x0d, 0x20, 0x30, 0x8f, 0x8a, 0x0a, 0x92, 0x79, 0x93, + 0x83, 0x12, 0x40, 0xf5, 0xae, 0xdc, 0x8d, 0x12, 0x98, 0xb1, 0x2b, 0x3a, 0xa9, 0xc5, 0xbb, 0x62, + 0x88, 0xf4, 0xae, 0x18, 0xaa, 0xf1, 0xae, 0x68, 0x60, 0xe6, 0xae, 0xc4, 0xaa, 0xb1, 0x02, 0x29, + 0xf7, 0xce, 0xab, 0x53, 0xd8, 0x0f, 0xd1, 0xff, 0xf5, 0x7d, 0xd1, 0x69, 0x0c, 0xe9, 0x19, 0xd4, + 0x29, 0x3b, 0xda, 0xa6, 0xa1, 0x41, 0x56, 0x51, 0x35, 0x39, 0x75, 0x9c, 0x6e, 0x72, 0x3b, 0x64, + 0x0f, 0x5d, 0x1c, 0x38, 0x07, 0xd0, 0xbc, 0xdb, 0xef, 0x99, 0x2b, 0xd9, 0x2c, 0xe3, 0x39, 0x0c, + 0x17, 0x5d, 0xea, 0xb5, 0xc4, 0x7a, 0xe9, 0x92, 0xe7, 0x68, 0x72, 0x30, 0x04, 0xd8, 0xdc, 0x4f, + 0x71, 0x5a, 0x6e, 0x3a, 0xa6, 0xf7, 0xde, 0x43, 0xef, 0xea, 0x6b, 0x4f, 0x2a, 0x6c, 0xf8, 0x3b, + 0x41, 0xc4, 0xe4, 0xaf, 0x23, 0xa8, 0x92, 0xf6, 0x15, 0x48, 0x3c, 0x40, 0xa7, 0x85, 0x9d, 0x95, + 0x4e, 0x5d, 0x54, 0xbb, 0x4f, 0x42, 0xaf, 0x4e, 0xe3, 0x84, 0x2c, 0x4b, 0xa7, 0x9a, 0x28, 0x9d, + 0x6a, 0x50, 0x3a, 0xd5, 0xd6, 0x02, 0xcf, 0x5f, 0x2d, 0x88, 0x42, 0xc4, 0xe9, 0x53, 0xc4, 0x55, + 0x84, 0xdc, 0x3a, 0xf7, 0x5e, 0xd0, 0x4d, 0xca, 0x55, 0xea, 0x2d, 0x38, 0x86, 0x44, 0x6c, 0xa2, + 0xd0, 0x61, 0x8f, 0x3a, 0xad, 0x6d, 0x1a, 0x96, 0x47, 0xd5, 0x26, 0x1a, 0x22, 0x91, 0xa6, 0xe4, + 0x1d, 0x49, 0x23, 0x4c, 0x41, 0x62, 0x92, 0x42, 0x91, 0xf8, 0xf4, 0x35, 0x12, 0x01, 0xc7, 0x24, + 0xb0, 0x4f, 0x2e, 0x72, 0x07, 0x9c, 0xf5, 0x08, 0x59, 0x94, 0xc8, 0x1e, 0xa9, 0x98, 0xb3, 0xe9, + 0x32, 0x2e, 0xbc, 0xf4, 0x30, 0x68, 0x78, 0x3b, 0x1e, 0x6d, 0xc8, 0x64, 0x5a, 0x70, 0xfa, 0xe4, + 0x64, 0x09, 0x5d, 0xd2, 0xf7, 0xb2, 0xcc, 0x55, 0xeb, 0x1e, 0xe3, 0xa1, 0xb7, 0xdd, 0x11, 0xae, + 0xc8, 0xbe, 0xd2, 0x9f, 0x21, 0x92, 0xa5, 0x6a, 0xa4, 0xac, 0x4e, 0x18, 0x52, 0x9f, 0xeb, 0x94, + 0xa5, 0x86, 0xa2, 0x5e, 0xd8, 0x77, 0x7d, 0x4e, 0x1b, 0xe0, 0x5e, 0x18, 0x91, 0x5b, 0xe8, 0xbc, + 0x9c, 0x77, 0xa5, 0x2e, 0xc3, 0xe2, 0x5e, 0x18, 0xb4, 0x3e, 0xa3, 0x6e, 0xb3, 0x6b, 0x64, 0xb5, + 0x9f, 0x88, 0x31, 0xf0, 0x29, 0x39, 0xd1, 0x90, 0x2c, 0xa1, 0x0b, 0x03, 0x34, 0x63, 0x32, 0x03, + 0xca, 0xba, 0x28, 0xf0, 0x9e, 0xc9, 0x7a, 0xd9, 0x51, 0xe5, 0x72, 0x14, 0x78, 0x3e, 0xc4, 0x5d, + 0xcf, 0x47, 0x98, 0xf4, 0x09, 0x3a, 0x23, 0xdc, 0x9a, 0xf8, 0x98, 0x59, 0x84, 0x26, 0xa7, 0xe9, + 0x57, 0x26, 0xff, 0xb1, 0xe0, 0x62, 0x7e, 0xa8, 0x62, 0x25, 0x5a, 0xf9, 0x14, 0x3a, 0xc9, 0xbd, + 0x16, 0x65, 0xdc, 0x6d, 0xb5, 0xd7, 0x83, 0x7d, 0x1f, 0xf6, 0x23, 0x29, 0x14, 0xa1, 0xa9, 0x05, + 0x4f, 0xdb, 0xe5, 0x11, 0x15, 0x9a, 0x86, 0x48, 0xcc, 0x53, 0x87, 0x3a, 0x49, 0x54, 0xa5, 0x4c, + 0xd6, 0x87, 0x25, 0x27, 0x29, 0x14, 0x99, 0x23, 0xa4, 0xed, 0x40, 0xd4, 0x49, 0x32, 0x76, 0x4b, + 0x8e, 0x1e, 0x8b, 0x1c, 0x15, 0x74, 0x78, 0x3d, 0x68, 0x51, 0x19, 0xad, 0xa7, 0x06, 0xe4, 0xa8, + 0xc7, 0x0a, 0xe3, 0x44, 0x60, 0x7d, 0x6c, 0x9e, 0x34, 0xdd, 0x2e, 0x6d, 0x94, 0x8b, 0x72, 0xe3, + 0x4d, 0x11, 0xd9, 0x83, 0xac, 0xa8, 0x97, 0x0e, 0x5e, 0x5e, 0x80, 0x5a, 0x86, 0x46, 0xf7, 0x4b, + 0x56, 0x75, 0x12, 0x41, 0xc5, 0x1a, 0xa0, 0xe4, 0x89, 0x0e, 0xb1, 0x1e, 0x93, 0x3f, 0x58, 0x71, + 0x4d, 0xa2, 0x5d, 0xbc, 0xa8, 0xcb, 0x6d, 0x4b, 0xae, 0x6b, 0x50, 0x11, 0xc0, 0x7b, 0xaa, 0x6d, + 0x82, 0x26, 0x84, 0xf7, 0x64, 0xf8, 0x8b, 0xf2, 0x71, 0x44, 0x7a, 0x34, 0x21, 0x33, 0xdd, 0x2e, + 0xcb, 0x3a, 0xe9, 0xf6, 0x82, 0x93, 0x14, 0xc6, 0x6d, 0x40, 0xc1, 0x68, 0x03, 0xc8, 0x47, 0x50, + 0xdf, 0x29, 0xae, 0xe0, 0x13, 0x51, 0x71, 0x8b, 0xa3, 0x18, 0x55, 0x83, 0x30, 0x22, 0xb3, 0x90, + 0xde, 0x64, 0x89, 0xae, 0x3a, 0xba, 0xa3, 0x3a, 0xaa, 0x1f, 0xa1, 0x72, 0xbf, 0x0a, 0x98, 0x59, + 0x55, 0x9b, 0x06, 0x62, 0x08, 0xed, 0xc9, 0xc1, 0x4d, 0x01, 0xa8, 0x9b, 0x4a, 0x64, 0xa1, 0x7f, + 0x7e, 0x66, 0x1c, 0xe8, 0x01, 0x55, 0xad, 0x6b, 0xa4, 0x83, 0x58, 0x0b, 0x68, 0xad, 0xa3, 0x09, + 0xc3, 0x42, 0x14, 0x16, 0x47, 0xf3, 0x4a, 0x68, 0x91, 0x2f, 0x46, 0x7a, 0x6b, 0x42, 0xcd, 0xeb, + 0x63, 0x54, 0x6a, 0x8b, 0x64, 0xa0, 0x8f, 0x5a, 0x8e, 0x4c, 0x12, 0x6b, 0xe0, 0x25, 0x34, 0x2e, + 0x07, 0x70, 0x06, 0x73, 0x28, 0x47, 0x78, 0xb5, 0xb1, 0xcd, 0x26, 0x24, 0x16, 0xd1, 0x4a, 0xc9, + 0x91, 0x88, 0x8d, 0xed, 0x4e, 0x37, 0x8e, 0x0d, 0x39, 0xc0, 0x18, 0x1a, 0x5f, 0x95, 0x37, 0xe4, + 0x6f, 0xbc, 0xac, 0xe3, 0xb8, 0x28, 0xe3, 0x78, 0x2a, 0xbb, 0x98, 0x4d, 0x46, 0x33, 0x39, 0x84, + 0x00, 0x32, 0x7d, 0x12, 0xd7, 0x47, 0x71, 0x62, 0xca, 0xac, 0x8f, 0xe2, 0x4a, 0xd9, 0xd0, 0x10, + 0x07, 0xc5, 0xa8, 0xc8, 0xa3, 0x53, 0x99, 0x90, 0xcd, 0x7d, 0x75, 0x01, 0x8d, 0x49, 0xfb, 0xf8, + 0x0b, 0x0b, 0x15, 0xd5, 0x93, 0x01, 0x4e, 0xaf, 0x27, 0xfa, 0xdf, 0x27, 0x2a, 0xd3, 0x47, 0x03, + 0xd5, 0x5a, 0xc8, 0x8d, 0x9f, 0xfe, 0xfd, 0x5f, 0x5f, 0x8e, 0xd8, 0xf8, 0x9a, 0xbd, 0x4e, 0xeb, + 0xd4, 0xe7, 0xa1, 0xdb, 0x14, 0x81, 0x72, 0xdf, 0x6d, 0x51, 0x7b, 0xf0, 0x2b, 0x19, 0xfe, 0xd2, + 0x42, 0x05, 0xd9, 0x39, 0x7e, 0x30, 0xd8, 0x92, 0xf1, 0x8a, 0x51, 0xb9, 0x7c, 0x14, 0x0c, 0xe8, + 0x2c, 0x4b, 0x3a, 0x8b, 0x78, 0x21, 0x27, 0x1d, 0xf1, 0xcb, 0x3e, 0x50, 0x67, 0xe5, 0x10, 0xff, + 0xc2, 0x42, 0x05, 0x71, 0x71, 0x67, 0xb1, 0x32, 0x9e, 0x38, 0xb2, 0x58, 0x99, 0x6f, 0x1b, 0xe4, + 0x63, 0xc9, 0xea, 0x26, 0xbe, 0x91, 0x93, 0x55, 0x87, 0xd1, 0xd0, 0x3e, 0x80, 0xbc, 0x7a, 0x88, + 0x7f, 0x66, 0xa1, 0x31, 0x75, 0xb1, 0x1d, 0xe1, 0x06, 0xbd, 0x7f, 0x57, 0x8e, 0xc4, 0x01, 0xb3, + 0x05, 0xc9, 0xac, 0x86, 0xaf, 0x0e, 0xe1, 0x2f, 0x86, 0x7f, 0x65, 0xa1, 0x31, 0x99, 0x25, 0xb2, + 0x08, 0x99, 0x6d, 0x74, 0x16, 0xa1, 0x44, 0xff, 0x4c, 0xee, 0x48, 0x42, 0xb7, 0xf0, 0x62, 0x4e, + 0x42, 0x32, 0x15, 0xd9, 0x07, 0x90, 0x91, 0xa4, 0xaf, 0x46, 0x37, 0x29, 0xc7, 0x53, 0x83, 0x0d, + 0xc6, 0x8d, 0x76, 0xe5, 0x83, 0x23, 0x50, 0x40, 0xea, 0xb6, 0x24, 0xb5, 0x80, 0xe7, 0x72, 0x92, + 0x62, 0x94, 0xdb, 0x07, 0x32, 0x91, 0x1c, 0xe2, 0xaf, 0x2c, 0x54, 0xd2, 0xc7, 0x18, 0xcf, 0x64, + 0x19, 0x4c, 0xf6, 0xe2, 0x95, 0x8f, 0x72, 0x61, 0x81, 0xe2, 0x7d, 0x49, 0x71, 0x05, 0x7f, 0x27, + 0x37, 0xc5, 0xe8, 0xd1, 0x56, 0x30, 0xd5, 0x17, 0xc7, 0x21, 0xfe, 0xad, 0x85, 0xc6, 0xa1, 0x2f, + 0xc6, 0x19, 0xd7, 0x40, 0xb2, 0x4d, 0xaf, 0x7c, 0x98, 0x03, 0x09, 0x4c, 0x57, 0x25, 0xd3, 0x65, + 0x7c, 0x3b, 0x6f, 0xc8, 0x29, 0x7d, 0xfb, 0x40, 0xb7, 0xfd, 0x87, 0xf8, 0xd7, 0x16, 0x2a, 0xaa, + 0xe6, 0x39, 0xeb, 0x4e, 0x4b, 0x74, 0xf1, 0x59, 0x77, 0x5a, 0xb2, 0x79, 0x27, 0x9f, 0x48, 0x86, + 0xb7, 0xf1, 0xad, 0xdc, 0xbe, 0x14, 0xea, 0xc2, 0x8f, 0xea, 0x51, 0xe0, 0x10, 0xff, 0xc9, 0x42, + 0x25, 0xdd, 0xa6, 0x65, 0x6d, 0x7a, 0x6f, 0xab, 0x9f, 0xb5, 0xe9, 0x7d, 0xbd, 0x3d, 0xb9, 0x27, + 0x89, 0x7e, 0x82, 0xef, 0xe4, 0x24, 0xaa, 0xbb, 0x44, 0xfb, 0xc0, 0xe8, 0x95, 0xe5, 0x9e, 0xa3, + 0xb8, 0x37, 0xc5, 0x79, 0x38, 0xe8, 0xab, 0xe6, 0x6a, 0x3e, 0x30, 0x30, 0x5e, 0x92, 0x8c, 0xe7, + 0xf1, 0xec, 0xb0, 0x8c, 0x19, 0xfe, 0x9b, 0x85, 0x70, 0x7f, 0xeb, 0x8b, 0xe7, 0x73, 0xd8, 0xef, + 0x6d, 0xc8, 0x2b, 0x0b, 0xc3, 0x29, 0x01, 0xf9, 0x4f, 0x25, 0xf9, 0x07, 0x78, 0x63, 0x58, 0xf2, + 0xc6, 0x3f, 0x22, 0x7a, 0x3c, 0xff, 0xd2, 0x42, 0x67, 0x53, 0x5e, 0x05, 0x70, 0x1e, 0x82, 0x7d, + 0xef, 0x0c, 0x95, 0x1b, 0x43, 0x6a, 0xc1, 0xba, 0xd6, 0xe5, 0xba, 0xee, 0xe0, 0xe5, 0xa1, 0x37, + 0xc5, 0x58, 0x18, 0xfe, 0xb3, 0x85, 0x4e, 0x26, 0x5e, 0x15, 0x70, 0x2d, 0x3b, 0x0b, 0xf5, 0x3e, + 0x4e, 0x54, 0xec, 0xdc, 0xf8, 0x37, 0xcc, 0xab, 0xfa, 0xd7, 0x96, 0x27, 0xf8, 0x7d, 0x6b, 0xa1, + 0xb7, 0x53, 0x3b, 0x6f, 0xbc, 0x98, 0x9d, 0x17, 0x06, 0x75, 0xf9, 0x95, 0x9b, 0x43, 0xeb, 0xc1, + 0x4a, 0x1e, 0xc9, 0x95, 0x7c, 0x17, 0xdf, 0xcb, 0x9f, 0x61, 0xb6, 0xe4, 0x83, 0x78, 0x77, 0xab, + 0x61, 0xcc, 0xa7, 0xb3, 0xce, 0x5f, 0x2c, 0x74, 0xba, 0xb7, 0x85, 0xc7, 0xb3, 0x83, 0xd9, 0x0d, + 0x78, 0x28, 0xa8, 0xcc, 0x0d, 0xa3, 0x02, 0x6b, 0x79, 0x20, 0xd7, 0x72, 0x17, 0xaf, 0xe5, 0x5c, + 0x8b, 0xab, 0x26, 0xda, 0xda, 0x09, 0x83, 0xd6, 0x96, 0x7c, 0x87, 0xb0, 0x0f, 0xe0, 0x39, 0xe2, + 0x50, 0x46, 0x55, 0xa2, 0xb3, 0xcf, 0x8a, 0xaa, 0xb4, 0x97, 0x87, 0xac, 0xa8, 0x4a, 0x7d, 0x8c, + 0x18, 0x3a, 0xaa, 0x92, 0xff, 0x1f, 0xc4, 0xbf, 0xb4, 0xd0, 0x38, 0x74, 0xde, 0x59, 0x09, 0x34, + 0xf9, 0x2e, 0x91, 0x95, 0x40, 0x7b, 0xda, 0x78, 0xb2, 0x28, 0xf9, 0x5d, 0xc7, 0xb5, 0x61, 0x4a, + 0x24, 0xaa, 0x6a, 0x6e, 0xf9, 0xf0, 0x96, 0x5d, 0xf5, 0xb0, 0x1c, 0xd5, 0xad, 0xd9, 0x42, 0x0f, + 0x5d, 0x73, 0x33, 0xca, 0x99, 0x7d, 0xa0, 0xda, 0xa4, 0x43, 0xfc, 0xb5, 0x85, 0x4e, 0x18, 0xad, + 0x25, 0xbe, 0x9a, 0x7d, 0x09, 0x24, 0x7b, 0xf1, 0xca, 0xb5, 0x9c, 0xe8, 0x37, 0xbc, 0xe9, 0xcc, + 0x7f, 0xe8, 0xc6, 0x6d, 0xc2, 0x1f, 0x2d, 0x34, 0x61, 0xb6, 0xd3, 0x38, 0x1f, 0x0b, 0xed, 0xd8, + 0x5a, 0x5e, 0xf8, 0xff, 0xd0, 0xd4, 0x44, 0xac, 0x19, 0xfe, 0x9d, 0x85, 0x50, 0xdc, 0x84, 0xe2, + 0x3c, 0x55, 0x65, 0x9e, 0xe4, 0xde, 0xdf, 0xd7, 0xbe, 0x41, 0x99, 0x1c, 0xd5, 0xa0, 0x6c, 0xd5, + 0x79, 0xf9, 0xaa, 0x6a, 0x7d, 0xf3, 0xaa, 0x6a, 0xfd, 0xf3, 0x55, 0xd5, 0xfa, 0xf9, 0xeb, 0xea, + 0xb1, 0x6f, 0x5e, 0x57, 0x8f, 0x7d, 0xfb, 0xba, 0x7a, 0xec, 0xb3, 0x5b, 0xbb, 0x1e, 0xdf, 0xeb, + 0x6c, 0xd7, 0xea, 0x41, 0x2b, 0x73, 0xde, 0x1f, 0x1b, 0xbf, 0x79, 0xb7, 0x4d, 0xd9, 0x76, 0x51, + 0xfe, 0x0b, 0x7e, 0xfe, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x18, 0x6f, 0x71, 0x83, 0x58, 0x22, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 9f9fbd27..0a3d33ae 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -537,19 +537,26 @@ func local_request_Query_Encounters_0(ctx context.Context, marshaler runtime.Mar } -var ( - filter_Query_EncounterWithImage_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - func request_Query_EncounterWithImage_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryEncounterWithImageRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["encounterId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "encounterId") } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_EncounterWithImage_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.EncounterId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "encounterId", err) } msg, err := client.EncounterWithImage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) @@ -561,11 +568,22 @@ func local_request_Query_EncounterWithImage_0(ctx context.Context, marshaler run var protoReq QueryEncounterWithImageRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["encounterId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "encounterId") } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_EncounterWithImage_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.EncounterId, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "encounterId", err) } msg, err := server.EncounterWithImage(ctx, &protoReq) @@ -1994,7 +2012,7 @@ var ( pattern_Query_Encounters_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "encounters"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_EncounterWithImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "encounter_with_image"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_EncounterWithImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "encounter_with_image", "encounterId"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_EncountersWithImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "encounters_with_image"}, "", runtime.AssumeColonVerbOpt(false))) From f13952b6aa0b8f4f381990a03b56e91d0e8f6344 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 1 Feb 2026 15:51:47 +0100 Subject: [PATCH 98/99] feat(#261): Updated to v53.5 --- go.mod | 162 +++++++++++++------------- go.sum | 357 +++++++++++++++++++++++++++++---------------------------- 2 files changed, 267 insertions(+), 252 deletions(-) diff --git a/go.mod b/go.mod index af05a2a3..e1eef871 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( cosmossdk.io/core v0.11.3 cosmossdk.io/depinject v1.2.1 cosmossdk.io/errors v1.0.2 - cosmossdk.io/log v1.6.0 + cosmossdk.io/log v1.6.1 cosmossdk.io/math v1.5.3 cosmossdk.io/store v1.1.2 cosmossdk.io/tools/confix v0.1.2 @@ -27,25 +27,25 @@ require ( cosmossdk.io/x/nft v0.1.0 cosmossdk.io/x/upgrade v0.1.4 github.com/DecentralCardGame/cardobject v0.5.3 - github.com/cometbft/cometbft v0.38.17 - github.com/cosmos/cosmos-db v1.1.1 + github.com/cometbft/cometbft v0.38.20 + github.com/cosmos/cosmos-db v1.1.3 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/cosmos-sdk v0.53.3 - github.com/cosmos/gogoproto v1.7.0 + github.com/cosmos/cosmos-sdk v0.53.5 + github.com/cosmos/gogoproto v1.7.2 github.com/cosmos/ibc-go/modules/capability v1.0.1 github.com/cosmos/ibc-go/v8 v8.5.1 github.com/golang/protobuf v1.5.4 github.com/gorilla/mux v1.8.1 github.com/grpc-ecosystem/grpc-gateway v1.16.0 - github.com/spf13/cast v1.8.0 - github.com/spf13/cobra v1.9.1 - github.com/spf13/pflag v1.0.6 - github.com/spf13/viper v1.20.1 - github.com/stretchr/testify v1.10.0 + github.com/spf13/cast v1.10.0 + github.com/spf13/cobra v1.10.1 + github.com/spf13/pflag v1.0.10 + github.com/spf13/viper v1.21.0 + github.com/stretchr/testify v1.11.1 golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 - google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a - google.golang.org/grpc v1.72.2 - google.golang.org/protobuf v1.36.6 + google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 + google.golang.org/grpc v1.75.0 + google.golang.org/protobuf v1.36.10 ) require ( @@ -54,17 +54,17 @@ require ( buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.2-20240508200655-46a4cf4ba109.2 // indirect buf.build/gen/go/bufbuild/registry/connectrpc/go v1.16.2-20240610164129-660609bc46d3.1 // indirect buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.34.2-20240610164129-660609bc46d3.2 // indirect - cel.dev/expr v0.20.0 // indirect - cloud.google.com/go v0.116.0 // indirect - cloud.google.com/go/auth v0.13.0 // indirect - cloud.google.com/go/auth/oauth2adapt v0.2.6 // indirect - cloud.google.com/go/compute/metadata v0.6.0 // indirect - cloud.google.com/go/iam v1.2.2 // indirect - cloud.google.com/go/monitoring v1.21.2 // indirect - cloud.google.com/go/storage v1.49.0 // indirect + cel.dev/expr v0.24.0 // indirect + cloud.google.com/go v0.120.0 // indirect + cloud.google.com/go/auth v0.16.4 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect + cloud.google.com/go/compute/metadata v0.8.0 // indirect + cloud.google.com/go/iam v1.5.2 // indirect + cloud.google.com/go/monitoring v1.24.2 // indirect + cloud.google.com/go/storage v1.50.0 // indirect connectrpc.com/connect v1.16.2 // indirect connectrpc.com/otelconnect v0.7.0 // indirect - cosmossdk.io/collections v1.2.1 // indirect + cosmossdk.io/collections v1.3.1 // indirect cosmossdk.io/schema v1.1.0 // indirect cosmossdk.io/x/tx v0.14.0 // indirect filippo.io/edwards25519 v1.1.0 // indirect @@ -79,9 +79,9 @@ require ( github.com/DataDog/zstd v1.5.7 // indirect github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.50.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.50.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/OpenPeeDeeP/depguard v1.1.1 // indirect @@ -94,7 +94,7 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.2.0 // indirect - github.com/bits-and-blooms/bitset v1.22.0 // indirect + github.com/bits-and-blooms/bitset v1.24.3 // indirect github.com/bkielbasa/cyclop v1.2.0 // indirect github.com/blizzy78/varnamelen v0.8.0 // indirect github.com/bombsimon/wsl/v3 v3.4.0 // indirect @@ -106,15 +106,16 @@ require ( github.com/bufbuild/protovalidate-go v0.6.2 // indirect github.com/bufbuild/protoyaml-go v0.1.9 // indirect github.com/butuzov/ireturn v0.1.1 // indirect - github.com/bytedance/sonic v1.13.2 // indirect - github.com/bytedance/sonic/loader v0.2.4 // indirect + github.com/bytedance/gopkg v0.1.3 // indirect + github.com/bytedance/sonic v1.14.2 // indirect + github.com/bytedance/sonic/loader v0.4.0 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/charithe/durationcheck v0.0.10 // indirect github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8 // indirect github.com/chzyer/readline v1.5.1 // indirect - github.com/cloudwego/base64x v0.1.5 // indirect - github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 // indirect + github.com/cloudwego/base64x v0.1.6 // indirect + github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect github.com/cockroachdb/errors v1.12.0 // indirect github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect @@ -129,7 +130,7 @@ require ( github.com/cosmos/gogogateway v1.2.0 // indirect github.com/cosmos/iavl v1.2.2 // indirect github.com/cosmos/ics23/go v0.11.0 // indirect - github.com/cosmos/ledger-cosmos-go v0.14.0 // indirect + github.com/cosmos/ledger-cosmos-go v0.16.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect github.com/creachadair/atomicfile v0.3.1 // indirect github.com/creachadair/tomledit v0.0.24 // indirect @@ -141,7 +142,7 @@ require ( github.com/denis-tingaikin/go-header v0.4.3 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v4 v4.2.0 // indirect - github.com/dgraph-io/ristretto v0.1.1 // indirect + github.com/dgraph-io/ristretto v0.2.0 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/cli v26.1.4+incompatible // indirect github.com/docker/distribution v2.8.3+incompatible // indirect @@ -150,7 +151,7 @@ require ( github.com/docker/go-connections v0.5.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/dvsekhvalnov/jose2go v1.6.0 // indirect + github.com/dvsekhvalnov/jose2go v1.7.0 // indirect github.com/emicklei/dot v1.6.2 // indirect github.com/envoyproxy/go-control-plane/envoy v1.32.4 // indirect github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect @@ -164,15 +165,15 @@ require ( github.com/firefart/nonamedreturns v1.0.4 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/fzipp/gocyclo v0.6.0 // indirect - github.com/getsentry/sentry-go v0.32.0 // indirect + github.com/getsentry/sentry-go v0.35.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect - github.com/go-chi/chi/v5 v5.0.13 // indirect + github.com/go-chi/chi/v5 v5.2.2 // indirect github.com/go-critic/go-critic v0.7.0 // indirect - github.com/go-jose/go-jose/v4 v4.0.4 // indirect + github.com/go-jose/go-jose/v4 v4.1.1 // indirect github.com/go-kit/kit v0.13.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-toolsmith/astcast v1.1.0 // indirect github.com/go-toolsmith/astcopy v1.1.0 // indirect @@ -181,7 +182,7 @@ require ( github.com/go-toolsmith/astp v1.1.0 // indirect github.com/go-toolsmith/strparse v1.1.0 // indirect github.com/go-toolsmith/typep v1.1.0 // indirect - github.com/go-viper/mapstructure/v2 v2.2.1 // indirect + github.com/go-viper/mapstructure/v2 v2.4.0 // indirect github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect @@ -189,8 +190,8 @@ require ( github.com/gofrs/uuid/v5 v5.2.0 // indirect github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v1.2.4 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/glog v1.2.5 // indirect + github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect @@ -209,10 +210,10 @@ require ( github.com/google/go-containerregistry v0.19.2 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/pprof v0.0.0-20240618054019-d3b898a103f8 // indirect - github.com/google/s2a-go v0.1.8 // indirect + github.com/google/s2a-go v0.1.9 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect - github.com/googleapis/gax-go/v2 v2.14.1 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect + github.com/googleapis/gax-go/v2 v2.15.0 // indirect github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28 // indirect github.com/gorilla/handlers v1.5.2 // indirect github.com/gorilla/websocket v1.5.3 // indirect @@ -221,7 +222,7 @@ require ( github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect github.com/gostaticanalysis/nilerr v0.1.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect @@ -232,7 +233,7 @@ require ( github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-plugin v1.6.3 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect - github.com/hashicorp/go-version v1.6.0 // indirect + github.com/hashicorp/go-version v1.7.0 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hashicorp/yamux v0.1.2 // indirect @@ -305,10 +306,10 @@ require ( github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/polyfloyd/go-errorlint v1.4.5 // indirect - github.com/prometheus/client_golang v1.22.0 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.63.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/prometheus/client_golang v1.23.0 // indirect + github.com/prometheus/client_model v0.6.2 // indirect + github.com/prometheus/common v0.65.0 // indirect + github.com/prometheus/procfs v0.16.1 // indirect github.com/quasilyte/go-ruleguard v0.4.0 // indirect github.com/quasilyte/gogrep v0.5.0 // indirect github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect @@ -320,7 +321,7 @@ require ( github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/ryancurrah/gomodguard v1.3.0 // indirect github.com/ryanrolds/sqlclosecheck v0.4.0 // indirect - github.com/sagikazarmark/locafero v0.7.0 // indirect + github.com/sagikazarmark/locafero v0.11.0 // indirect github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect github.com/sasha-s/go-deadlock v0.3.5 // indirect github.com/sashamelentyev/interfacebloat v1.1.0 // indirect @@ -332,9 +333,9 @@ require ( github.com/sivchari/nosnakecase v1.7.0 // indirect github.com/sivchari/tenv v1.7.1 // indirect github.com/sonatard/noctx v0.0.2 // indirect - github.com/sourcegraph/conc v0.3.0 // indirect + github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect github.com/sourcegraph/go-diff v0.7.0 // indirect - github.com/spf13/afero v1.12.0 // indirect + github.com/spf13/afero v1.15.0 // indirect github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect @@ -360,41 +361,44 @@ require ( github.com/yagipy/maintidx v1.0.0 // indirect github.com/yeya24/promlinter v0.2.0 // indirect github.com/zeebo/errs v1.4.0 // indirect + github.com/zondax/golem v0.27.0 // indirect github.com/zondax/hid v0.9.2 // indirect - github.com/zondax/ledger-go v0.14.3 // indirect + github.com/zondax/ledger-go v1.0.1 // indirect gitlab.com/bosi/decorder v0.2.3 // indirect go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/contrib/detectors/gcp v1.34.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.34.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 // indirect - go.opentelemetry.io/otel/metric v1.34.0 // indirect - go.opentelemetry.io/otel/sdk v1.34.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect - go.opentelemetry.io/otel/trace v1.34.0 // indirect - go.opentelemetry.io/proto/otlp v1.4.0 // indirect + go.opentelemetry.io/contrib/detectors/gcp v1.36.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 // indirect + go.opentelemetry.io/otel v1.37.0 // indirect + go.opentelemetry.io/otel/metric v1.37.0 // indirect + go.opentelemetry.io/otel/sdk v1.37.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.37.0 // indirect + go.opentelemetry.io/otel/trace v1.37.0 // indirect go.uber.org/atomic v1.11.0 // indirect - go.uber.org/mock v0.5.2 // indirect + go.uber.org/mock v0.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/arch v0.15.0 // indirect - golang.org/x/crypto v0.38.0 // indirect + go.yaml.in/yaml/v2 v2.4.2 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect + golang.org/x/arch v0.17.0 // indirect + golang.org/x/crypto v0.41.0 // indirect golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833 // indirect - golang.org/x/mod v0.24.0 // indirect - golang.org/x/net v0.40.0 // indirect - golang.org/x/oauth2 v0.26.0 // indirect - golang.org/x/sync v0.14.0 // indirect - golang.org/x/sys v0.33.0 // indirect - golang.org/x/term v0.32.0 // indirect - golang.org/x/text v0.25.0 // indirect - golang.org/x/time v0.8.0 // indirect - golang.org/x/tools v0.31.0 // indirect - google.golang.org/api v0.215.0 // indirect - google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect + golang.org/x/mod v0.27.0 // indirect + golang.org/x/net v0.43.0 // indirect + golang.org/x/oauth2 v0.30.0 // indirect + golang.org/x/sync v0.16.0 // indirect + golang.org/x/sys v0.35.0 // indirect + golang.org/x/term v0.34.0 // indirect + golang.org/x/text v0.28.0 // indirect + golang.org/x/time v0.12.0 // indirect + golang.org/x/tools v0.36.0 // indirect + golang.org/x/tools/go/expect v0.1.1-deprecated // indirect + golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated // indirect + google.golang.org/api v0.247.0 // indirect + google.golang.org/genproto v0.0.0-20250603155806-513f23925822 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c // indirect google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect @@ -407,7 +411,7 @@ require ( nhooyr.io/websocket v1.8.6 // indirect pgregory.net/rapid v1.2.0 // indirect rsc.io/qr v0.2.0 // indirect - sigs.k8s.io/yaml v1.4.0 // indirect + sigs.k8s.io/yaml v1.6.0 // indirect ) tool ( diff --git a/go.sum b/go.sum index 86caefe0..787a9474 100644 --- a/go.sum +++ b/go.sum @@ -8,8 +8,8 @@ buf.build/gen/go/bufbuild/registry/connectrpc/go v1.16.2-20240610164129-660609bc buf.build/gen/go/bufbuild/registry/connectrpc/go v1.16.2-20240610164129-660609bc46d3.1/go.mod h1:4ptL49VoWyYwajT6j4zu5vmQ/k/om4tGMB9atY2FhEo= buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.34.2-20240610164129-660609bc46d3.2 h1:y1+UxFIWzj/eF2RCPqt9egR7Rt9vgQkXNUzSdmR6iEU= buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.34.2-20240610164129-660609bc46d3.2/go.mod h1:psseUmlKRo9v5LZJtR/aTpdTLuyp9o3X7rnLT87SZEo= -cel.dev/expr v0.20.0 h1:OunBvVCfvpWlt4dN7zg3FM6TDkzOePe1+foGJ9AXeeI= -cel.dev/expr v0.20.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= +cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= +cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= 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= @@ -42,8 +42,8 @@ cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w9 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.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= -cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= +cloud.google.com/go v0.120.0 h1:wc6bgG9DHyKqF5/vQvX1CiZrtHnxJjBlKUyF9nP6meA= +cloud.google.com/go v0.120.0/go.mod h1:/beW32s8/pGRuj4IILWQNd4uuebeT4dkOhKmkfit64Q= 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/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= @@ -58,10 +58,10 @@ cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjby 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/auth v0.13.0 h1:8Fu8TZy167JkW8Tj3q7dIkr2v4cndv41ouecJx0PAHs= -cloud.google.com/go/auth v0.13.0/go.mod h1:COOjD9gwfKNKz+IIduatIhYJQIc0mG3H102r/EMxX6Q= -cloud.google.com/go/auth/oauth2adapt v0.2.6 h1:V6a6XDu2lTwPZWOawrAa9HUK+DB2zfJyTuciBG5hFkU= -cloud.google.com/go/auth/oauth2adapt v0.2.6/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8= +cloud.google.com/go/auth v0.16.4 h1:fXOAIQmkApVvcIn7Pc2+5J8QTMVbUGLscnSVNl11su8= +cloud.google.com/go/auth v0.16.4/go.mod h1:j10ncYwjX/g3cdX7GpEzsdM+d+ZNsXAbb6qXA7p1Y5M= +cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc= +cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= 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/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= @@ -84,8 +84,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz 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/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I= -cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg= +cloud.google.com/go/compute/metadata v0.8.0 h1:HxMRIbao8w17ZX6wBnjhcDkW6lTFpgcaobyVfZWqRLA= +cloud.google.com/go/compute/metadata v0.8.0/go.mod h1:sYOGTp851OV9bOFJ9CH7elVvyzopvWQFNNghtDQ/Biw= 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/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= @@ -123,24 +123,24 @@ cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y97 cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= 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 v1.2.2 h1:ozUSofHUGf/F4tCNy/mu9tHLTaxZFLOUiKzjcgWHGIA= -cloud.google.com/go/iam v1.2.2/go.mod h1:0Ys8ccaZHdI1dEUilwzqng/6ps2YB6vRsjIe00/+6JY= +cloud.google.com/go/iam v1.5.2 h1:qgFRAGEmd8z6dJ/qyEchAuL9jpswyODjA2lS+w234g8= +cloud.google.com/go/iam v1.5.2/go.mod h1:SE1vg0N81zQqLzQEwxL2WI6yhetBdbNQuTvIKCSkUHE= 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/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/logging v1.12.0 h1:ex1igYcGFd4S/RZWOCU51StlIEuey5bjqwH9ZYjHibk= -cloud.google.com/go/logging v1.12.0/go.mod h1:wwYBt5HlYP1InnrtYI0wtwttpVU1rifnMT7RejksUAM= -cloud.google.com/go/longrunning v0.6.2 h1:xjDfh1pQcWPEvnfjZmwjKQEcHnpz6lHjfy7Fo0MK+hc= -cloud.google.com/go/longrunning v0.6.2/go.mod h1:k/vIs83RN4bE3YCswdXC5PFfWVILjm3hpEUlSko4PiI= +cloud.google.com/go/logging v1.13.0 h1:7j0HgAp0B94o1YRDqiqm26w4q1rDMH7XNRU34lJXHYc= +cloud.google.com/go/logging v1.13.0/go.mod h1:36CoKh6KA/M0PbhPKMq6/qety2DCAErbhXT62TuXALA= +cloud.google.com/go/longrunning v0.6.7 h1:IGtfDWHhQCgCjwQjV9iiLnUta9LBCo8R9QmAFsS/PrE= +cloud.google.com/go/longrunning v0.6.7/go.mod h1:EAFV3IZAKmM56TyiE6VAP3VoTzhZzySwI/YI1s/nRsY= 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/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= 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/monitoring v1.21.2 h1:FChwVtClH19E7pJ+e0xUhJPGksctZNVOk2UhMmblmdU= -cloud.google.com/go/monitoring v1.21.2/go.mod h1:hS3pXvaG8KgWTSz+dAdyzPrGUYmi2Q+WFX8g2hqVEZU= +cloud.google.com/go/monitoring v1.24.2 h1:5OTsoJ1dXYIiMiuL+sYscLc9BumrL3CarVLL7dd7lHM= +cloud.google.com/go/monitoring v1.24.2/go.mod h1:x7yzPWcgDRnPEv3sI+jJGBkwl5qINf+6qY4eq0I9B4U= 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/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= @@ -191,12 +191,12 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 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.49.0 h1:zenOPBOWHCnojRd9aJZAyQXBYqkJkdQS42dxL55CIMw= -cloud.google.com/go/storage v1.49.0/go.mod h1:k1eHhhpLvrPjVGfo0mOUPEJ4Y2+a/Hv5PiwehZI9qGU= +cloud.google.com/go/storage v1.50.0 h1:3TbVkzTooBvnZsk7WaAQfOsNrdoM8QHusXA1cpk6QJs= +cloud.google.com/go/storage v1.50.0/go.mod h1:l7XeiD//vx5lfqE3RavfmU9yvk5Pp0Zhcv482poyafY= 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/trace v1.11.2 h1:4ZmaBdL8Ng/ajrgKqY5jfvzqMXbrDcBsUGXOT9aqTtI= -cloud.google.com/go/trace v1.11.2/go.mod h1:bn7OwXd4pd5rFuAnTrzBuoZ4ax2XQeG3qNgYmfCy0Io= +cloud.google.com/go/trace v1.11.6 h1:2O2zjPzqPYAHrn3OKl029qlqG6W8ZdYaOWRyr8NgMT4= +cloud.google.com/go/trace v1.11.6/go.mod h1:GA855OeDEBiBMzcckLPE2kDunIpC72N+Pq8WFieFjnI= 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/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= @@ -214,16 +214,16 @@ cosmossdk.io/api v0.9.2 h1:9i9ptOBdmoIEVEVWLtYYHjxZonlF/aOVODLFaxpmNtg= cosmossdk.io/api v0.9.2/go.mod h1:CWt31nVohvoPMTlPv+mMNCtC0a7BqRdESjCsstHcTkU= cosmossdk.io/client/v2 v2.0.0-beta.5 h1:0LVv3nEByn//hFDIrYLs2WvsEU3HodOelh4SDHnA/1I= cosmossdk.io/client/v2 v2.0.0-beta.5/go.mod h1:4p0P6o0ro+FizakJUYS9SeM94RNbv0thLmkHRw5o5as= -cosmossdk.io/collections v1.2.1 h1:mAlNMs5vJwkda4TA+k5q/43p24RVAQ/qyDrjANu3BXE= -cosmossdk.io/collections v1.2.1/go.mod h1:PSsEJ/fqny0VPsHLFT6gXDj/2C1tBOTS9eByK0+PBFU= +cosmossdk.io/collections v1.3.1 h1:09e+DUId2brWsNOQ4nrk+bprVmMUaDH9xvtZkeqIjVw= +cosmossdk.io/collections v1.3.1/go.mod h1:ynvkP0r5ruAjbmedE+vQ07MT6OtJ0ZIDKrtJHK7Q/4c= cosmossdk.io/core v0.11.3 h1:mei+MVDJOwIjIniaKelE3jPDqShCc/F4LkNNHh+4yfo= cosmossdk.io/core v0.11.3/go.mod h1:9rL4RE1uDt5AJ4Tg55sYyHWXA16VmpHgbe0PbJc6N2Y= cosmossdk.io/depinject v1.2.1 h1:eD6FxkIjlVaNZT+dXTQuwQTKZrFZ4UrfCq1RKgzyhMw= cosmossdk.io/depinject v1.2.1/go.mod h1:lqQEycz0H2JXqvOgVwTsjEdMI0plswI7p6KX+MVqFOM= cosmossdk.io/errors v1.0.2 h1:wcYiJz08HThbWxd/L4jObeLaLySopyyuUFB5w4AGpCo= cosmossdk.io/errors v1.0.2/go.mod h1:0rjgiHkftRYPj//3DrD6y8hcm40HcPv/dR4R/4efr0k= -cosmossdk.io/log v1.6.0 h1:SJIOmJ059wi1piyRgNRXKXhlDXGqnB5eQwhcZKv2tOk= -cosmossdk.io/log v1.6.0/go.mod h1:5cXXBvfBkR2/BcXmosdCSLXllvgSjphrrDVdfVRmBGM= +cosmossdk.io/log v1.6.1 h1:YXNwAgbDwMEKwDlCdH8vPcoggma48MgZrTQXCfmMBeI= +cosmossdk.io/log v1.6.1/go.mod h1:gMwsWyyDBjpdG9u2avCFdysXqxq28WJapJvu+vF1y+E= cosmossdk.io/math v1.5.3 h1:WH6tu6Z3AUCeHbeOSHg2mt9rnoiUWVWaQ2t6Gkll96U= cosmossdk.io/math v1.5.3/go.mod h1:uqcZv7vexnhMFJF+6zh9EWdm/+Ylyln34IvPnBauPCQ= cosmossdk.io/schema v1.1.0 h1:mmpuz3dzouCoyjjcMcA/xHBEmMChN+EHh8EHxHRHhzE= @@ -273,14 +273,14 @@ github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rW github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0 h1:f2Qw/Ehhimh5uO1fayV0QIW7DShEQqhtUfhYc+cBPlw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0/go.mod h1:2bIszWvQRlJVmJLiuLhukLImRjKPcYdzzsx6darK02A= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 h1:UQ0AhxogsIRZDkElkblfnwjc3IaltCm2HUMvezQaL7s= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1/go.mod h1:jyqM3eLpJ3IbIFDTKVz2rF9T/xWGW0rIriGwnz8l9Tk= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1 h1:oTX4vsorBZo/Zdum6OKPA4o7544hm6smoRv1QjpTwGo= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1/go.mod h1:0wEl7vrAD8mehJyohS9HZy+WyEOaQO2mJx86Cvh93kM= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 h1:8nn+rsCvTq9axyEh382S0PFLBeaFwNsT43IrPWzctRU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1/go.mod h1:viRWSEhtMZqz1rhwmOVKkWl6SwmVowfL9O2YR5gI2PE= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0 h1:UQUsRi8WTzhZntp5313l+CHIAT95ojUI2lpP/ExlZa4= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0/go.mod h1:Cz6ft6Dkn3Et6l2v2a9/RpN7epQ1GtDlO6lj8bEcOvw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.50.0 h1:5IT7xOdq17MtcdtL/vtl6mGfzhaq4m4vpollPRmlsBQ= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.50.0/go.mod h1:ZV4VOm0/eHR06JLrXWe09068dHpr3TRpY9Uo7T+anuA= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.50.0 h1:nNMpRpnkWDAaqcpxMJvxa/Ud98gjbYwayJY4/9bdjiU= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.50.0/go.mod h1:SZiPHWGOOk3bl8tkevxkoiwPgsIl6CwrWcbwjfHZpdM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.50.0 h1:ig/FpDD2JofP/NExKQUbn7uOSZzJAQqogfqluZK4ed4= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.50.0/go.mod h1:otE2jQekW/PqXk1Awf5lmfokJx4uwuqcj1ab5SpGeW0= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= @@ -337,8 +337,8 @@ github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bgentry/speakeasy v0.2.0 h1:tgObeVOf8WAvtuAX6DhJ4xks4CFNwPDZiqzGqIHE51E= github.com/bgentry/speakeasy v0.2.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bits-and-blooms/bitset v1.22.0 h1:Tquv9S8+SGaS3EhyA+up3FXzmkhxPGjQQCkcs2uw7w4= -github.com/bits-and-blooms/bitset v1.22.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/bits-and-blooms/bitset v1.24.3 h1:Bte86SlO3lwPQqww+7BE9ZuUCKIjfqnG5jtEyqA9y9Y= +github.com/bits-and-blooms/bitset v1.24.3/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/bkielbasa/cyclop v1.2.0 h1:7Jmnh0yL2DjKfw28p86YTd/B4lRGcNuu12sKE35sM7A= github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M= @@ -349,8 +349,8 @@ github.com/breml/bidichk v0.2.4 h1:i3yedFWWQ7YzjdZJHnPo9d/xURinSq3OM+gyM43K4/8= github.com/breml/bidichk v0.2.4/go.mod h1:7Zk0kRFt1LIZxtQdl9W9JwGAcLTTkOs+tN7wuEYGJ3s= github.com/breml/errchkjson v0.3.1 h1:hlIeXuspTyt8Y/UmP5qy1JocGNR00KQHgfaNtRAjoxQ= github.com/breml/errchkjson v0.3.1/go.mod h1:XroxrzKjdiutFyW3nWhw34VGg7kiMsDQox73yWCGI2U= -github.com/btcsuite/btcd/btcec/v2 v2.3.4 h1:3EJjcN70HCu/mwqlUsGK8GcNVyLVxFDlWurTXGPFfiQ= -github.com/btcsuite/btcd/btcec/v2 v2.3.4/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= +github.com/btcsuite/btcd/btcec/v2 v2.3.5 h1:dpAlnAwmT1yIBm3exhT1/8iUSD98RDJM5vqJVQDQLiU= +github.com/btcsuite/btcd/btcec/v2 v2.3.5/go.mod h1:m22FrOAiuxl/tht9wIqAoGHcbnCCaPWyauO8y2LGGtQ= github.com/btcsuite/btcd/btcutil v1.1.6 h1:zFL2+c3Lb9gEgqKNzowKUPQNb8jV7v5Oaodi/AYFd6c= github.com/btcsuite/btcd/btcutil v1.1.6/go.mod h1:9dFymx8HpuLqBnsPELrImQeTQfKBQqzqGbbV3jK55aE= github.com/bufbuild/buf v1.34.0 h1:rZSVfYS5SakOe6ds9PDjbHVwOc+vBGVWNW9Ei+Rg/+c= @@ -365,11 +365,12 @@ github.com/bufbuild/protoyaml-go v0.1.9 h1:anV5UtF1Mlvkkgp4NWA6U/zOnJFng8Orq4Vf3 github.com/bufbuild/protoyaml-go v0.1.9/go.mod h1:KCBItkvZOK/zwGueLdH1Wx1RLyFn5rCH7YjQrdty2Wc= github.com/butuzov/ireturn v0.1.1 h1:QvrO2QF2+/Cx1WA/vETCIYBKtRjc30vesdoPUNo1EbY= github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= -github.com/bytedance/sonic v1.13.2 h1:8/H1FempDZqC4VqjptGo14QQlJx8VdZJegxs6wwfqpQ= -github.com/bytedance/sonic v1.13.2/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4= -github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY= -github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= +github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= +github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM= +github.com/bytedance/sonic v1.14.2 h1:k1twIoe97C1DtYUo+fZQy865IuHia4PR5RPiuGPPIIE= +github.com/bytedance/sonic v1.14.2/go.mod h1:T80iDELeHiHKSc0C9tubFygiuXoGzrkjKzX2quAx980= +github.com/bytedance/sonic/loader v0.4.0 h1:olZ7lEqcxtZygCK9EKYKADnpQoYkRQxaeY2NYzevs+o= +github.com/bytedance/sonic/loader v0.4.0/go.mod h1:AR4NYCk5DdzZizZ5djGqQ92eEhCCcdf5x77udYiSJRo= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -403,9 +404,8 @@ github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6D github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= 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/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCyP4= -github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= -github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY= +github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M= +github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU= 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= @@ -415,8 +415,8 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH 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-20250121191232-2f005788dc42 h1:Om6kYQYDUk5wWbT0t0q6pvyM49i9XZAv9dDrkDA7gjk= -github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 h1:aQ3y1lwWyqYPiWZThqv1aFbZMiM9vblcSArJRf2Irls= +github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= 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= @@ -435,8 +435,8 @@ github.com/cockroachdb/redact v1.1.6/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZ github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/cometbft/cometbft v0.38.17 h1:FkrQNbAjiFqXydeAO81FUzriL4Bz0abYxN/eOHrQGOk= -github.com/cometbft/cometbft v0.38.17/go.mod h1:5l0SkgeLRXi6bBfQuevXjKqML1jjfJJlvI1Ulp02/o4= +github.com/cometbft/cometbft v0.38.20 h1:i9v9rvh3Z4CZvGSWrByAOpiqNq5WLkat3r/tE/B49RU= +github.com/cometbft/cometbft v0.38.20/go.mod h1:UCu8dlHqvkAsmAFmWDRWNZJPlu6ya2fTWZlDrWsivwo= github.com/cometbft/cometbft-db v0.14.1 h1:SxoamPghqICBAIcGpleHbmoPqy+crij/++eZz3DlerQ= github.com/cometbft/cometbft-db v0.14.1/go.mod h1:KHP1YghilyGV/xjD5DP3+2hyigWx0WTp9X+0Gnx0RxQ= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= @@ -451,19 +451,19 @@ github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= 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-db v1.1.1 h1:FezFSU37AlBC8S98NlSagL76oqBRWq/prTPvFcEJNCM= -github.com/cosmos/cosmos-db v1.1.1/go.mod h1:AghjcIPqdhSLP/2Z0yha5xPH3nLnskz81pBx3tcVSAw= +github.com/cosmos/cosmos-db v1.1.3 h1:7QNT77+vkefostcKkhrzDK9uoIEryzFrU9eoMeaQOPY= +github.com/cosmos/cosmos-db v1.1.3/go.mod h1:kN+wGsnwUJZYn8Sy5Q2O0vCYA99MJllkKASbs6Unb9U= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.53.3 h1:GbDJNUP9OD0gGDVnjecZVZr0ZReD1BtIIxmtgrAsWiw= -github.com/cosmos/cosmos-sdk v0.53.3/go.mod h1:90S054hIbadFB1MlXVZVC5w0QbKfd1P4b79zT+vvJxw= +github.com/cosmos/cosmos-sdk v0.53.5 h1:JPue+SFn2gyDzTV9TYb8mGpuIH3kGt7WbGadulkpTcU= +github.com/cosmos/cosmos-sdk v0.53.5/go.mod h1:AQJx0jpon70WAD4oOs/y+SlST4u7VIwEPR6F8S7JMdo= 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/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.7.0 h1:79USr0oyXAbxg3rspGh/m4SWNyoz/GLaAh0QlCe2fro= -github.com/cosmos/gogoproto v1.7.0/go.mod h1:yWChEv5IUEYURQasfyBW5ffkMHR/90hiHgbNgrtp4j0= +github.com/cosmos/gogoproto v1.7.2 h1:5G25McIraOC0mRFv9TVO139Uh3OklV2hczr13KKVHCA= +github.com/cosmos/gogoproto v1.7.2/go.mod h1:8S7w53P1Y1cHwND64o0BnArT6RmdgIvsBuco6uTllsk= github.com/cosmos/iavl v1.2.2 h1:qHhKW3I70w+04g5KdsdVSHRbFLgt3yY3qTMd4Xa4rC8= github.com/cosmos/iavl v1.2.2/go.mod h1:GiM43q0pB+uG53mLxLDzimxM9l/5N9UuSY3/D0huuVw= github.com/cosmos/ibc-go/modules/capability v1.0.1 h1:ibwhrpJ3SftEEZRxCRkH0fQZ9svjthrX2+oXdZvzgGI= @@ -472,8 +472,8 @@ github.com/cosmos/ibc-go/v8 v8.5.1 h1:3JleEMKBjRKa3FeTKt4fjg22za/qygLBo7mDkoYTNB github.com/cosmos/ibc-go/v8 v8.5.1/go.mod h1:P5hkAvq0Qbg0h18uLxDVA9q1kOJ0l36htMsskiNwXbo= github.com/cosmos/ics23/go v0.11.0 h1:jk5skjT0TqX5e5QJbEnwXIS2yI2vnmLOgpQPeM5RtnU= github.com/cosmos/ics23/go v0.11.0/go.mod h1:A8OjxPE67hHST4Icw94hOxxFEJMBG031xIGF/JHNIY0= -github.com/cosmos/ledger-cosmos-go v0.14.0 h1:WfCHricT3rPbkPSVKRH+L4fQGKYHuGOK9Edpel8TYpE= -github.com/cosmos/ledger-cosmos-go v0.14.0/go.mod h1:E07xCWSBl3mTGofZ2QnL4cIUzMbbGVyik84QYKbX3RA= +github.com/cosmos/ledger-cosmos-go v0.16.0 h1:YKlWPG9NnGZIEUb2bEfZ6zhON1CHlNTg0QKRRGcNEd0= +github.com/cosmos/ledger-cosmos-go v0.16.0/go.mod h1:WrM2xEa8koYoH2DgeIuZXNarF7FGuZl3mrIOnp3Dp0o= 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.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= @@ -505,10 +505,9 @@ github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= github.com/dgraph-io/badger/v4 v4.2.0 h1:kJrlajbXXL9DFTNuhhu9yCx7JJa4qpYWxtE8BzuWsEs= github.com/dgraph-io/badger/v4 v4.2.0/go.mod h1:qfCqhPoWDFJRx1gp5QwwyGo8xk1lbHUxvK9nK0OGAak= -github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= -github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= +github.com/dgraph-io/ristretto v0.2.0 h1:XAfl+7cmoUDWW/2Lx8TGZQjjxIQ2Ley9DSf52dru4WE= +github.com/dgraph-io/ristretto v0.2.0/go.mod h1:8uBHCU/PBV4Ag0CJrP47b9Ofby5dqWNh4FicAdoqFNU= 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/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= @@ -526,11 +525,10 @@ github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6 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/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 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA2EjTY= -github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/dvsekhvalnov/jose2go v1.7.0 h1:bnQc8+GMnidJZA8zc6lLEAb4xNrIqHwO+9TzqvtQZPo= +github.com/dvsekhvalnov/jose2go v1.7.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= 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= @@ -587,16 +585,16 @@ github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= -github.com/getsentry/sentry-go v0.32.0 h1:YKs+//QmwE3DcYtfKRH8/KyOOF/I6Qnx7qYGNHCGmCY= -github.com/getsentry/sentry-go v0.32.0/go.mod h1:CYNcMMz73YigoHljQRG+qPF+eMq8gG72XcGN/p71BAY= +github.com/getsentry/sentry-go v0.35.0 h1:+FJNlnjJsZMG3g0/rmmP7GiKjQoUF5EXfEtBwtPtkzY= +github.com/getsentry/sentry-go v0.35.0/go.mod h1:C55omcY9ChRQIUcVcGcs+Zdy4ZpQGvNJ7JYHIoSWOtE= 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 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.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= -github.com/go-chi/chi/v5 v5.0.13 h1:JlH2F2M8qnwl0N1+JFFzlX9TlKJYas3aPXdiuTmJL+w= -github.com/go-chi/chi/v5 v5.0.13/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-chi/chi/v5 v5.2.2 h1:CMwsvRVTbXVytCk1Wd72Zy1LAsAh9GxMmSNWLHCG618= +github.com/go-chi/chi/v5 v5.2.2/go.mod h1:L2yAIGWB3H+phAw1NxKwWM+7eUH/lU8pOMm5hHcoops= github.com/go-critic/go-critic v0.7.0 h1:tqbKzB8pqi0NsRZ+1pyU4aweAF7A7QN0Pi4Q02+rYnQ= github.com/go-critic/go-critic v0.7.0/go.mod h1:moYzd7GdVXE2C2hYTwd7h0CPcqlUeclsyBRwMa38v64= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= @@ -604,8 +602,8 @@ github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3Bop 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-jose/go-jose/v4 v4.0.4 h1:VsjPI33J0SB9vQM6PLmNjoHqMQNGPiZ0rHL7Ni7Q6/E= -github.com/go-jose/go-jose/v4 v4.0.4/go.mod h1:NKb5HO1EZccyMpiZNbdUw/14tiXNyUJh188dfnMCAfc= +github.com/go-jose/go-jose/v4 v4.1.1 h1:JYhSgy4mXXzAdF3nUx3ygx347LRXJRrpgyU3adRmkAI= +github.com/go-jose/go-jose/v4 v4.1.1/go.mod h1:BdsZGqgdO3b6tTc6LSE56wcDbMMLuPsw5d4ZD5f94kA= 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= @@ -620,8 +618,8 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= @@ -651,8 +649,8 @@ github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQi github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ= github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus= github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig= -github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= -github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= +github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U= github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= @@ -684,14 +682,15 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.4 h1:CNNw5U8lSiiBk7druxtSHHTsRWcxKoac6kZKm2peBBc= -github.com/golang/glog v1.2.4/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.5 h1:DrW6hGnjIhtvhOIiAKT6Psh/Kd/ldepEa81DKeiRJ5I= +github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/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/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= 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= @@ -805,8 +804,8 @@ github.com/google/pprof v0.0.0-20240227163752-401108e1b7e7/go.mod h1:czg5+yv1E0Z github.com/google/pprof v0.0.0-20240618054019-d3b898a103f8 h1:ASJ/LAqdCHOyMYI+dwNxn7Rd8FscNkMyTr1KZU1JI/M= github.com/google/pprof v0.0.0-20240618054019-d3b898a103f8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM= -github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA= +github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= +github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= github.com/google/uuid v1.0.0/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.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -815,8 +814,8 @@ github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ 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.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= -github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= +github.com/googleapis/enterprise-certificate-proxy v0.3.6 h1:GW/XbdyBFQ8Qe+YAmFU9uHLo7OnF5tL52HFAgMmyrf4= +github.com/googleapis/enterprise-certificate-proxy v0.3.6/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA= 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= @@ -826,8 +825,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 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.14.1 h1:hb0FFeiPaQskmvakKu5EbCbpntQn48jyHuvrkurSS/Q= -github.com/googleapis/gax-go/v2 v2.14.1/go.mod h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEPqouaLeN2IUxoA= +github.com/googleapis/gax-go/v2 v2.15.0 h1:SyjDc1mGgZU5LncH8gimWo9lW1DtIfPibOG81vgd/bo= +github.com/googleapis/gax-go/v2 v2.15.0/go.mod h1:zVVkkxAQHa1RQpg9z2AUCMnKhi0Qld9rcmyfL1OZhoc= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28 h1:9alfqbrhuD+9fLZ4iaAVwhlp5PEhmnBt7yvK2Oy5C1U= @@ -863,8 +862,8 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf 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/grpc-ecosystem/grpc-gateway/v2 v2.24.0 h1:TmHmbvxPmaegwhDubVz0lICL0J5Ka2vwTzhoePEXsGE= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0/go.mod h1:qztMSjm835F2bXf+5HKAPIS5qsmQDqZna/PgVt4rWtI= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 h1:X5VWvz21y3gzm9Nw/kaUeku/1+uBhcekkmy4IkffJww= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1/go.mod h1:Zanoh4+gvIgluNqcfMVTJueD4wSS5hT7zTt4Mrutd90= 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/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= @@ -903,8 +902,9 @@ github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2I github.com/hashicorp/go-uuid v1.0.2/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-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= +github.com/hashicorp/go-version v1.7.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= @@ -993,12 +993,10 @@ github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYs github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE= github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= -github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= 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/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -1218,16 +1216,16 @@ github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP 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.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= -github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= +github.com/prometheus/client_golang v1.23.0 h1:ust4zpdl9r4trLY/gSjlm07PuiBq2ynaXXlptpfy8Uc= +github.com/prometheus/client_golang v1.23.0/go.mod h1:i/o0R9ByOnHX0McrTMTyhYvKE4haaf2mW08I+jGAjEE= 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/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= +github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.2.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= @@ -1236,8 +1234,8 @@ github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB8 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.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.63.0 h1:YR/EIY1o3mEFP/kZCD7iDMnLPlGyuU2Gb3HIcXnA98k= -github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18= +github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE= +github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= 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.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= @@ -1246,8 +1244,8 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O 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/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= +github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= +github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/quasilyte/go-ruleguard v0.4.0 h1:DyM6r+TKL+xbKB4Nm7Afd1IQh9kEUKQs2pboWGKtvQo= github.com/quasilyte/go-ruleguard v0.4.0/go.mod h1:Eu76Z/R8IXtViWUIHkE3p8gdH3/PKk1eh3YGfaEof10= github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo= @@ -1279,8 +1277,8 @@ github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28 github.com/ryanrolds/sqlclosecheck v0.4.0 h1:i8SX60Rppc1wRuyQjMciLqIzV3xnoHB7/tXbr6RGYNI= github.com/ryanrolds/sqlclosecheck v0.4.0/go.mod h1:TBRRjzL31JONc9i4XMinicuo+s+E8yKZ5FN8X3G6CKQ= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo= -github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k= +github.com/sagikazarmark/locafero v0.11.0 h1:1iurJgmM9G3PA/I+wWYIOw/5SyBtxapeHDcg+AAIFXc= +github.com/sagikazarmark/locafero v0.11.0/go.mod h1:nVIGvgyzw595SUSUE6tvCp3YYTeHs15MvlmU87WwIik= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sanposhiho/wastedassign/v2 v2.0.7 h1:J+6nrY4VW+gC9xFzUc+XjPD3g3wF3je/NsJFwFK7Uxc= github.com/sanposhiho/wastedassign/v2 v2.0.7/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= @@ -1316,24 +1314,25 @@ github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4k github.com/sonatard/noctx v0.0.2 h1:L7Dz4De2zDQhW8S0t+KUjY0MAQJd6SgVwhzNIc4ok00= github.com/sonatard/noctx v0.0.2/go.mod h1:kzFz+CzWSjQ2OzIm46uJZoXuBpa2+0y3T36U18dWqIo= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= -github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= -github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U= github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0= github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= -github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= -github.com/spf13/cast v1.8.0 h1:gEN9K4b8Xws4EX0+a0reLmhq8moKn7ntRlQYgjPeCDk= -github.com/spf13/cast v1.8.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= +github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= +github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= +github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= -github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= +github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s= +github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= -github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= -github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU= +github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8WS0hE= github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g= github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0= @@ -1363,8 +1362,10 @@ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1F 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.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= @@ -1427,10 +1428,12 @@ github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zeebo/errs v1.4.0 h1:XNdoD/RRMKP7HD0UhJnIzUy74ISdGGxURlYG8HSWSfM= github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= +github.com/zondax/golem v0.27.0 h1:IbBjGIXF3SoGOZHsILJvIM/F/ylwJzMcHAcggiqniPw= +github.com/zondax/golem v0.27.0/go.mod h1:AmorCgJPt00L8xN1VrMBe13PSifoZksnQ1Ge906bu4A= github.com/zondax/hid v0.9.2 h1:WCJFnEDMiqGF64nlZz28E9qLVZ0KSJ7xpc5DLEyma2U= github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= -github.com/zondax/ledger-go v0.14.3 h1:wEpJt2CEcBJ428md/5MgSLsXLBos98sBOyxNmCjfUCw= -github.com/zondax/ledger-go v0.14.3/go.mod h1:IKKaoxupuB43g4NxeQmbLXv7T9AlQyie1UpHb342ycI= +github.com/zondax/ledger-go v1.0.1 h1:Ks/2tz/dOF+dbRynfZ0dEhcdL1lqw43Sa0zMXHpQ3aQ= +github.com/zondax/ledger-go v1.0.1/go.mod h1:j7IgMY39f30apthJYMd1YsHZRqdyu4KbVmUp0nU78X0= gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0= gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= @@ -1450,31 +1453,31 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/contrib/detectors/gcp v1.34.0 h1:JRxssobiPg23otYU5SbWtQC//snGVIM3Tx6QRzlQBao= -go.opentelemetry.io/contrib/detectors/gcp v1.34.0/go.mod h1:cV4BMFcscUR/ckqLkbfQmF0PRsq8w/lMGzdbCSveBHo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= -go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 h1:Vh5HayB/0HHfOQA7Ctx69E/Y/DcQSMPpKANYVMQ7fBA= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI= +go.opentelemetry.io/contrib/detectors/gcp v1.36.0 h1:F7q2tNlCaHY9nMKHR6XH9/qkp8FktLnIcy6jJNyOCQw= +go.opentelemetry.io/contrib/detectors/gcp v1.36.0/go.mod h1:IbBN8uAIIx734PTonTPxAxnjc2pQTxWNkwfstZ+6H2k= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 h1:q4XOmH/0opmeuJtPsbFNivyl7bCt7yRBbeEm2sC/XtQ= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0/go.mod h1:snMWehoOh2wsEwnvvwtDyFCxVeDAODenXHtn5vzrKjo= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 h1:Hf9xI/XLML9ElpiHVDNwvqI0hIFlzV8dgIr35kV1kRU= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0/go.mod h1:NfchwuyNoMcZ5MLHwPrODwUF1HWCXWrL31s8gSAdIKY= +go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= +go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 h1:Ahq7pZmv87yiyn3jeFz/LekZmPLLdKejuO3NcK9MssM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0/go.mod h1:MJTqhM0im3mRLw1i8uGHnCvUEeS7VwRyxlLC78PA18M= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 h1:Xw8U6u2f8DK2XAkGRFV7BBLENgnTGX9i4rQRxJf+/vs= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0/go.mod h1:6KW1Fm6R/s6Z3PGXwSJN2K4eT6wQB3vXX6CVnYX9NmM= go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= -go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= -go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= -go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= -go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= -go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= -go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= -go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= +go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= +go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= +go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI= +go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg= +go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc= +go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps= +go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= +go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v1.4.0 h1:TA9WRvW6zMwP+Ssb6fLoUIuirti1gGbP28GcKG1jgeg= -go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= +go.opentelemetry.io/proto/otlp v1.7.0 h1:jX1VolD6nHuFzOYso2E73H85i92Mv8JQYk0K9vz09os= +go.opentelemetry.io/proto/otlp v1.7.0/go.mod h1:fSKjH6YJ7HDlwzltzyMj036AJ3ejJLCgCSHGj4efDDo= 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= @@ -1484,8 +1487,8 @@ go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0 go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/mock v0.5.2 h1:LbtPTcP8A5k9WPXj54PPPbjcI4Y6lhyOZXn+VS7wNko= -go.uber.org/mock v0.5.2/go.mod h1:wLlUxC2vVTPTaE3UD51E0BGOAElKrILxhVSDYQLld5o= +go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= +go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= 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= @@ -1497,8 +1500,12 @@ go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/arch v0.15.0 h1:QtOrQd0bTUnhNVNndMpLHNWrDmYzZ2KDqSrEymqInZw= -golang.org/x/arch v0.15.0/go.mod h1:JmwW7aLIoRUKgaTzhkiEFxvcEiQGyOg9BMonBJUS7EE= +go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI= +go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU= +go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +golang.org/x/arch v0.17.0 h1:4O3dfLzd+lQewptAHqjewQZQDyEdejz3VwgeYwkZneU= +golang.org/x/arch v0.17.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= 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-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -1510,8 +1517,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= -golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/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= @@ -1560,8 +1567,8 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 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/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= -golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= 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= @@ -1627,8 +1634,8 @@ 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.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= -golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= +golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= 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= @@ -1654,8 +1661,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/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.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE= -golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= +golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= 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= @@ -1671,8 +1678,8 @@ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/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.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= -golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= 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= @@ -1770,7 +1777,6 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc 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-20221010170243-090e33056c14/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= @@ -1779,8 +1785,8 @@ 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/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= -golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1788,8 +1794,8 @@ 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.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= -golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= +golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= +golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= 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= @@ -1803,14 +1809,14 @@ 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.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= -golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= 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.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= -golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE= +golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= 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= @@ -1892,8 +1898,12 @@ golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU= -golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= +golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM= +golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= +golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM= +golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= 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= @@ -1902,6 +1912,8 @@ golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8T 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/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= +gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= 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= @@ -1951,8 +1963,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ 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.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.215.0 h1:jdYF4qnyczlEz2ReWIsosNLDuzXyvFHJtI5gcr0J7t0= -google.golang.org/api v0.215.0/go.mod h1:fta3CVtuJYOEdugLNWm6WodzOS8KdFckABwN4I40hzY= +google.golang.org/api v0.247.0 h1:tSd/e0QrUlLsrwMKmkbQhYVa109qIintOls2Wh6bngc= +google.golang.org/api v0.247.0/go.mod h1:r1qZOPmxXffXg6xS5uhx16Fa/UFY8QU/K4bfKrnvovM= 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= @@ -2067,12 +2079,12 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw 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-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk= -google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= -google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a h1:SGktgSolFCo75dnHJF2yMvnns6jCmHFJ0vE4Vn2JKvQ= -google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a/go.mod h1:a77HrdMjoeKbnd2jmgcWdaS++ZLZAEq3orIOAEIKiVw= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= +google.golang.org/genproto v0.0.0-20250603155806-513f23925822 h1:rHWScKit0gvAPuOnu87KpaYtjK5zBMLcULh7gxkCXu4= +google.golang.org/genproto v0.0.0-20250603155806-513f23925822/go.mod h1:HubltRL7rMh0LfnQPkMH4NPDFEWp0jw3vixw7jEM53s= +google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 h1:FiusG7LWj+4byqhbvmB+Q93B/mOxJLN2DTozDuZm4EU= +google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:kXqgZtrWaf6qS3jZOCnCH7WYfrvFjkC51bM8fz3RsCA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c h1:qXWI/sQtv5UKboZ/zUk7h+mrf/lXORyI+n9DKDAusdg= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c/go.mod h1:gw1tLEfykwDz2ET4a12jcXt4couGAm7IwsVaTy0Sflo= 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.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -2114,8 +2126,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu 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.72.2 h1:TdbGzwb82ty4OusHWepvFWGLgIbNo1/SUynEN0ssqv8= -google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= +google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y= @@ -2134,8 +2146,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= 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.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= -google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= +google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= 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= @@ -2188,7 +2200,6 @@ mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d h1:3rvTIIM22r9pvXk+q3swxUQAQ mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d/go.mod h1:IeHQjmn6TOD+e4Z3RFiZMMsLVL+A96Nvptar8Fj71is= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk= pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= @@ -2197,6 +2208,6 @@ rsc.io/qr v0.2.0/go.mod h1:IF+uZjkb9fqyeF/4tlBoynqmQxUoPfWEKh921coOuXs= 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.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= -sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= +sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= +sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= From 7adf85804c417d940898a7d8717e6280feebe420 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 1 Feb 2026 15:59:40 +0100 Subject: [PATCH 99/99] feat(#261): updated ignite script --- ignite | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ignite b/ignite index 4b7c3839..51ae9961 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="v29.2.0-dev" +IGNITE_VERSION="v29.7.0-dev" if [[ $1 == "--path" ]]; then